diff --git a/.gitmodules b/.gitmodules index 07f1b7c968..8fd3b3359e 100644 --- a/.gitmodules +++ b/.gitmodules @@ -3,8 +3,4 @@ url = https://github.com/Polymer/buildbot.git [submodule "tools"] path = tools - url = https://github.com/Polymer/tools.git -[submodule "platform"] - path = platform - url = https://github.com/Polymer/platform.git - branch = master + url = https://github.com/Polymer/tools.git \ No newline at end of file diff --git a/conf/karma.conf.js b/conf/karma.conf.js index dcaaad0e6d..9638ab682d 100644 --- a/conf/karma.conf.js +++ b/conf/karma.conf.js @@ -17,7 +17,6 @@ files = [ 'polymer.js', 'test/js/*.js', {pattern: 'tools/**/*.js', included: false}, - {pattern: 'platform/**/*', included: false}, {pattern: 'src/*.js', included: false}, {pattern: 'test/**/*.html', included: false}, {pattern: 'test/**/*.css', included: false}, diff --git a/gruntfile.js b/gruntfile.js index bf6c4c34fe..74b7f1ab4c 100644 --- a/gruntfile.js +++ b/gruntfile.js @@ -5,15 +5,15 @@ */ module.exports = function(grunt) { Platform = [ - 'platform/platform.min.js' + '../platform/platform.min.js' ]; PlatformNative = [ - 'platform/platform.native.min.js' + '../platform/platform.native.min.js' ]; PlatformSandbox = [ - 'platform/platform.sandbox.min.js' + '../platform/platform.sandbox.min.js' ]; Polymer = [ diff --git a/platform b/platform deleted file mode 160000 index 704bceda73..0000000000 --- a/platform +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 704bceda739a583140832385460ec45dcabfb389 diff --git a/polymer.js b/polymer.js index 0c8d1b677b..ab4829cafb 100644 --- a/polymer.js +++ b/polymer.js @@ -9,7 +9,7 @@ var thisFile = 'polymer.js'; var scopeName = 'Polymer'; var modules = [ - 'platform/platform.js', + '../platform/platform.js', 'src/lang.js', 'src/oop.js', 'src/register.js', diff --git a/polymer.min.js b/polymer.min.js index 25703793ab..0ea1d3635e 100644 --- a/polymer.min.js +++ b/polymer.min.js @@ -1,9 +1,9 @@ /* Copyright 2013 The Polymer Authors. All rights reserved. Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. */ function PointerGestureEvent(a,b){var c=b||{},d=document.createEvent("Event"),e={bubbles:!0,cancelable:!0};return Object.keys(e).forEach(function(a){a in c&&(e[a]=c[a])}),d.initEvent(a,e.bubbles,e.cancelable),Object.keys(c).forEach(function(a){d[a]=b[a]}),d.preventTap=this.preventTap,d}if(window.Platform=window.Platform||{},window.logFlags=window.logFlags||{},function(a){var b=a.flags||{};location.search.slice(1).split("&").forEach(function(a){a=a.split("="),a[0]&&(b[a[0]]=a[1]||!0)}),b.shadow=(b.shadowdom||b.shadow||b.polyfill||!HTMLElement.prototype.webkitCreateShadowRoot)&&"polyfill",a.flags=b}(Platform),"polyfill"===Platform.flags.shadow){var SideTable;"undefined"!=typeof WeakMap&&navigator.userAgent.indexOf("Firefox/")<0?SideTable=WeakMap:function(){var a=Object.defineProperty,b=Object.hasOwnProperty,c=(new Date).getTime()%1e9;SideTable=function(){this.name="__st"+(1e9*Math.random()>>>0)+(c++ +"__")},SideTable.prototype={set:function(b,c){a(b,this.name,{value:c,writable:!0})},get:function(a){return b.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}();var ShadowDOMPolyfill={};!function(a){"use strict";function b(a){if(!a)throw new Error("Assertion failed")}function c(a,b){return Object.getOwnPropertyNames(b).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))}),a}function d(a,b){return Object.getOwnPropertyNames(b).forEach(function(c){switch(c){case"arguments":case"caller":case"length":case"name":case"prototype":case"toString":return}Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))}),a}function e(a){var b=a.__proto__||Object.getPrototypeOf(a),c=y.get(b);if(c)return c;var d=e(b),f=m(d);return j(b,f,a),f}function f(a,b){h(a,b,!0)}function g(a,b){h(b,a,!1)}function h(a,b,c){Object.getOwnPropertyNames(a).forEach(function(d){if(!(d in b)){A&&a.__lookupGetter__(d);var e;try{e=Object.getOwnPropertyDescriptor(a,d)}catch(f){e=B}var g,h;if(c&&"function"==typeof e.value)return b[d]=function(){return this.impl[d].apply(this.impl,arguments)},void 0;g=function(){return this.impl[d]},(e.writable||e.set)&&(h=function(a){this.impl[d]=a}),Object.defineProperty(b,d,{get:g,set:h,configurable:e.configurable,enumerable:e.enumerable})}})}function i(a,b,c){var e=a.prototype;j(e,b,c),d(b,a)}function j(a,c,d){var e=c.prototype;b(void 0===y.get(a)),y.set(a,c),f(a,e),d&&g(e,d)}function k(a,b){return y.get(b.prototype)===a}function l(a){var b=Object.getPrototypeOf(a),c=e(b),d=m(c);return j(b,d,a),d}function m(a){function b(b){a.call(this,b)}return b.prototype=Object.create(a.prototype),b.prototype.constructor=b,b}function n(a){return a instanceof z.EventTarget||a instanceof z.Event||a instanceof z.DOMImplementation}function o(a){return a instanceof E||a instanceof D||a instanceof F||a instanceof C}function p(a){if(null===a)return null;b(o(a));var c=x.get(a);if(!c){var d=e(a);c=new d(a),x.set(a,c)}return c}function q(a){return null===a?null:(b(n(a)),a.impl)}function r(a){return a&&n(a)?q(a):a}function s(a){return a&&!n(a)?p(a):a}function t(a,c){null!==c&&(b(o(a)),b(void 0===c||n(c)),x.set(a,c))}function u(a,b,c){Object.defineProperty(a.prototype,b,{get:c,configurable:!0,enumerable:!0})}function v(a,b){u(a,b,function(){return p(this.impl[b])})}function w(a,b){a.forEach(function(a){b.forEach(function(b){a.prototype[b]=function(){var a=p(this);return a[b].apply(a,arguments)}})})}var x=new SideTable,y=new SideTable,z=Object.create(null);Object.getOwnPropertyNames(window);var A=/Firefox/.test(navigator.userAgent),B={get:function(){},set:function(){},configurable:!0,enumerable:!0},C=DOMImplementation,D=Event,E=Node,F=Window;a.assert=b,a.defineGetter=u,a.defineWrapGetter=v,a.forwardMethodsToWrapper=w,a.isWrapperFor=k,a.mixin=c,a.registerObject=l,a.registerWrapper=i,a.rewrap=t,a.unwrap=q,a.unwrapIfNeeded=r,a.wrap=p,a.wrapIfNeeded=s,a.wrappers=z}(this.ShadowDOMPolyfill),function(a){"use strict";function b(a){return a instanceof J.ShadowRoot}function c(a){var b=a.localName;return"content"===b||"shadow"===b}function d(a){return!!a.shadowRoot}function e(a){var b;return a.parentNode||(b=a.defaultView)&&I(b)||null}function f(f,g,h){if(h.length)return h.shift();if(b(f))return f.insertionParent||a.getHostForShadowRoot(f);var i=a.eventParentsTable.get(f);if(i){for(var j=1;j=0;b--)if(!c(a[b]))return a[b];return null}function i(d,e){for(var g=[];d;){for(var i=[],k=e,m=void 0;k;){var n=null;if(i.length){if(c(k)&&(n=h(i),j(m))){var o=i[i.length-1];i.push(o)}}else i.push(k);if(l(k,d))return i[i.length-1];b(k)&&i.pop(),m=k,k=f(k,n,g)}d=b(d)?a.getHostForShadowRoot(d):d.parentNode}}function j(a){return a.insertionParent}function k(a){for(var b;b=a.parentNode;)a=b;return a}function l(a,b){return k(a)===k(b)}function m(a){switch(a){case"DOMAttrModified":case"DOMAttributeNameChanged":case"DOMCharacterDataModified":case"DOMElementNameChanged":case"DOMNodeInserted":case"DOMNodeInsertedIntoDocument":case"DOMNodeRemoved":case"DOMNodeRemovedFromDocument":case"DOMSubtreeModified":return!0}return!1}function n(b){if(!L.get(b)){L.set(b,!0),m(b.type)||a.renderAllPending();var c=I(b.target),d=I(b);return o(d,c)}}function o(a,b){var c=g(b);return"load"===a.type&&2===c.length&&c[0].target instanceof J.Document&&c.shift(),p(a,c)&&q(a,c)&&r(a,c),P.set(a,u.NONE),N.set(a,null),a.defaultPrevented}function p(a,b){for(var c,d=b.length-1;d>0;d--){var e=b[d].target,f=b[d].currentTarget;if(e!==f&&(c=u.CAPTURING_PHASE,!s(b[d],a,c)))return!1}return!0}function q(a,b){var c=u.AT_TARGET;return s(b[0],a,c)}function r(a,b){for(var c,d=a.bubbles,e=1;ed;d++)b[d]=f(a[d]);return b.length=e,b}function e(a,b){a.prototype[b]=function(){return d(this.impl[b].apply(this.impl,arguments))}}var f=a.wrap;c.prototype={item:function(a){return this[a]}},b(c.prototype,"item"),a.wrappers.NodeList=c,a.addWrapNodeListMethod=e,a.wrapNodeList=d}(this.ShadowDOMPolyfill),function(a){"use strict";function b(a){j(a instanceof f)}function c(a,b,c,d){if(a.nodeType!==f.DOCUMENT_FRAGMENT_NODE)return a.parentNode&&a.parentNode.removeChild(a),a.parentNode_=b,a.previousSibling_=c,a.nextSibling_=d,c&&(c.nextSibling_=a),d&&(d.previousSibling_=a),[a];for(var e,g=[];e=a.firstChild;)a.removeChild(e),g.push(e),e.parentNode_=b;for(var h=0;h";case Node.TEXT_NODE:return c(a.nodeValue);case Node.COMMENT_NODE:return"";default:throw console.error(a),new Error("not implemented")}}function e(a){for(var b="",c=a.firstChild;c;c=c.nextSibling)b+=d(c);return b}function f(a,b,c){var d=c||"div";a.textContent="";var e=n(a.ownerDocument.createElement(d));e.innerHTML=b;for(var f;f=e.firstChild;)a.appendChild(o(f))}function g(a){j.call(this,a)}function h(b){k(g,b,function(){return a.renderAllPending(),this.impl[b]})}function i(b){Object.defineProperty(g.prototype,b,{value:function(){return a.renderAllPending(),this.impl[b].apply(this.impl,arguments)},configurable:!0,enumerable:!0})}var j=a.wrappers.Element,k=a.defineGetter,l=a.mixin,m=a.registerWrapper,n=a.unwrap,o=a.wrap,p=/&|<|"/g,q={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},r=window.HTMLElement;g.prototype=Object.create(j.prototype),l(g.prototype,{get innerHTML(){return e(this)},set innerHTML(a){f(this,a,this.tagName)},get outerHTML(){return d(this)},set outerHTML(a){if(this.invalidateShadowRenderer())throw new Error("not implemented");this.impl.outerHTML=a}}),["clientHeight","clientLeft","clientTop","clientWidth","offsetHeight","offsetLeft","offsetTop","offsetWidth","scrollHeight","scrollLeft","scrollTop","scrollWidth"].forEach(h),["getBoundingClientRect","getClientRects","scrollIntoView"].forEach(i),m(r,g,document.createElement("b")),a.wrappers.HTMLElement=g,a.getInnerHTML=e,a.setInnerHTML=f}(this.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.HTMLElement,d=a.mixin,e=a.registerWrapper,f=window.HTMLContentElement;b.prototype=Object.create(c.prototype),d(b.prototype,{get select(){return this.getAttribute("select")},set select(a){this.setAttribute("select",a)},setAttribute:function(a,b){c.prototype.setAttribute.call(this,a,b),"select"===String(a).toLowerCase()&&this.invalidateShadowRenderer(!0)}}),f&&e(f,b),a.wrappers.HTMLContentElement=b}(this.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a),this.olderShadowRoot_=null}var c=a.wrappers.HTMLElement,d=a.mixin,e=a.registerWrapper,f=window.HTMLShadowElement;b.prototype=Object.create(c.prototype),d(b.prototype,{get olderShadowRoot(){return this.olderShadowRoot_},invalidateShadowRenderer:function(){c.prototype.invalidateShadowRenderer.call(this,!0)}}),f&&e(f,b),a.wrappers.HTMLShadowElement=b}(this.ShadowDOMPolyfill),function(a){"use strict";function b(a){if(!a.defaultView)return a;var b=l.get(a);if(!b){for(b=a.implementation.createHTMLDocument("");b.lastChild;)b.removeChild(b.lastChild);l.set(a,b)}return b}function c(a){for(var c,d=b(a.ownerDocument),e=d.createDocumentFragment();c=a.firstChild;)e.appendChild(c);return e}function d(a){e.call(this,a)}var e=a.wrappers.HTMLElement,f=a.getInnerHTML,g=a.mixin,h=a.registerWrapper,i=a.setInnerHTML,j=a.wrap,k=new SideTable,l=new SideTable,m=window.HTMLTemplateElement;d.prototype=Object.create(e.prototype),g(d.prototype,{get content(){if(m)return j(this.impl.content);var a=k.get(this);return a||(a=c(this),k.set(this,a)),a},get innerHTML(){return f(this.content)},set innerHTML(a){i(this.content,a),this.invalidateShadowRenderer()}}),m&&h(m,d),a.wrappers.HTMLTemplateElement=d}(this.ShadowDOMPolyfill),function(a){"use strict";function b(a){switch(a.localName){case"content":return new c(a);case"shadow":return new e(a);case"template":return new f(a)}d.call(this,a)}var c=a.wrappers.HTMLContentElement,d=a.wrappers.HTMLElement,e=a.wrappers.HTMLShadowElement,f=a.wrappers.HTMLTemplateElement;a.mixin;var g=a.registerWrapper,h=window.HTMLUnknownElement;b.prototype=Object.create(d.prototype),g(h,b),a.wrappers.HTMLUnknownElement=b}(this.ShadowDOMPolyfill),function(a){"use strict";var b=a.GetElementsByInterface,c=a.ParentNodeInterface,d=a.SelectorsInterface,e=a.mixin,f=a.registerObject,g=f(document.createDocumentFragment());e(g.prototype,c),e(g.prototype,d),e(g.prototype,b);var h=f(document.createTextNode("")),i=f(document.createComment(""));a.wrappers.Comment=i,a.wrappers.DocumentFragment=g,a.wrappers.Text=h}(this.ShadowDOMPolyfill),function(a){"use strict";function b(b){var d=i(b.impl.ownerDocument.createDocumentFragment());c.call(this,d),g(d,this);var e=b.shadowRoot;a.nextOlderShadowTreeTable.set(this,e),j.set(this,b)}var c=a.wrappers.DocumentFragment,d=a.elementFromPoint,e=a.getInnerHTML,f=a.mixin,g=a.rewrap,h=a.setInnerHTML,i=a.unwrap,j=new SideTable;b.prototype=Object.create(c.prototype),f(b.prototype,{get innerHTML(){return e(this)},set innerHTML(a){h(this,a),this.invalidateShadowRenderer()},invalidateShadowRenderer:function(){return j.get(this).invalidateShadowRenderer()},elementFromPoint:function(a,b){return d(this,this.ownerDocument,a,b)},getElementById:function(a){return this.querySelector("#"+a)}}),a.wrappers.ShadowRoot=b,a.getHostForShadowRoot=function(a){return j.get(a)}}(this.ShadowDOMPolyfill),function(a){"use strict";function b(a){a.previousSibling_=a.previousSibling,a.nextSibling_=a.nextSibling,a.parentNode_=a.parentNode}function c(a){a.firstChild_=a.firstChild,a.lastChild_=a.lastChild}function d(a){F(a instanceof E);for(var d=a.firstChild;d;d=d.nextSibling)b(d);c(a)}function e(a){var b=H(a);d(a),b.textContent=""}function f(a,c){var e=H(a),f=H(c);f.nodeType===E.DOCUMENT_FRAGMENT_NODE?d(c):(h(c),b(c)),a.lastChild_=a.lastChild,a.lastChild===a.firstChild&&(a.firstChild_=a.firstChild);var g=I(e.lastChild);g&&(g.nextSibling_=g.nextSibling),e.appendChild(f)}function g(a,c){var d=H(a),e=H(c);b(c),c.previousSibling&&(c.previousSibling.nextSibling_=c),c.nextSibling&&(c.nextSibling.previousSibling_=c),a.lastChild===c&&(a.lastChild_=c),a.firstChild===c&&(a.firstChild_=c),d.removeChild(e)}function h(a){var b=H(a),c=b.parentNode;c&&g(I(c),a)}function i(a,b){k(b).push(a),L.set(a,b);var c=K.get(a);c||K.set(a,c=[]),c.push(b)}function j(a){J.set(a,[])}function k(a){return J.get(a)}function l(a){for(var b=[],c=0,d=a.firstChild;d;d=d.nextSibling)b[c++]=d;return b}function m(a,b,c){for(var d=l(a),e=0;e>>0)+(c++ +"__")},SideTable.prototype={set:function(b,c){a(b,this.name,{value:c,writable:!0})},get:function(a){return b.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}(),function(){window.templateContent=window.templateContent||function(a){return a.content},window.wrap=window.unwrap=function(a){return a},window.createShadowRoot=function(a){return a.webkitCreateShadowRoot()},window.templateContent=function(a){if(window.HTMLTemplateElement&&HTMLTemplateElement.bootstrap&&HTMLTemplateElement.bootstrap(a),!a.content&&!a._content){for(var b=document.createDocumentFragment();a.firstChild;)b.appendChild(a.firstChild);a._content=b}return a.content||a._content}}()}if(function(a){Function.prototype.bind||(Function.prototype.bind=function(a){var b=this,c=Array.prototype.slice.call(arguments,1);return function(){var d=c.slice();return d.push.apply(d,arguments),b.apply(a,d)}}),a.mixin=window.mixin}(window.Platform),function(a){"use strict";function b(a,b,c){var d="string"==typeof a?document.createElement(a):a.cloneNode(!0);if(d.innerHTML=b,c)for(var e in c)d.setAttribute(e,c[e]);return d}var c=DOMTokenList.prototype.add,d=DOMTokenList.prototype.remove;if(DOMTokenList.prototype.add=function(){for(var a=0;a",""," "," ShadowDOM Inspector"," "," "," ",'
    ',"
",'
'," ",""].join("\n"),d=[],e=function(){var a=b.document,c=a.querySelector("#crumbs");c.textContent="";for(var e,g=0;e=d[g];g++){var h=a.createElement("a");h.href="#",h.textContent=e.localName,h.idx=g,h.onclick=function(a){for(var b;d.length>this.idx;)b=d.pop();f(b.shadow||b,b),a.preventDefault()},c.appendChild(a.createElement("li")).appendChild(h)}},f=function(a,c){var f=b.document;k=[];var g=c||a;d.push(g),e(),f.body.querySelector("#tree").innerHTML="
"+j(a,a.childNodes)+"
"},g=Array.prototype.forEach.call.bind(Array.prototype.forEach),h={STYLE:1,SCRIPT:1,"#comment":1,TEMPLATE:1},i=function(a){return h[a.nodeName]},j=function(a,b,c){if(i(a))return"";var d=c||"";if(a.localName||11==a.nodeType){var e=a.localName||"shadow-root",f=d+l(a);"content"==e&&(b=a.getDistributedNodes()),f+="
";var h=d+"  ";g(b,function(a){f+=j(a,a.childNodes,h)}),f+=d,{br:1}[e]||(f+="</"+e+">",f+="
")}else{var k=a.textContent.trim();f=k?d+'"'+k+'"'+"
":""}return f},k=[],l=function(a){var b="<",c=a.localName||"shadow-root";return a.webkitShadowRoot||a.shadowRoot?(b+=' ",k.push(a)):b+=c||"shadow-root",a.attributes&&g(a.attributes,function(a){b+=" "+a.name+(a.value?'="'+a.value+'"':"")}),b+=">"};shadowize=function(){var a=Number(this.attributes.idx.value),b=k[a];b?f(b.webkitShadowRoot||b.shadowRoot,b):(console.log("bad shadowize node"),console.dir(this))},a.output=j}(window.Inspector),function(a){"use strict";function b(a){return+a===a>>>0}function c(a){return+a}function d(a){return a===Object(a)}function e(a,b){return a===b?0!==a||1/a===1/b:K(a)&&K(b)?!0:a!==a&&b!==b}function f(a){return"string"!=typeof a?!1:(a=a.replace(/\s/g,""),""==a?!0:"."==a[0]?!1:N.test(a))}function g(a){return""==a.trim()?this:b(a)?(this.push(String(a)),this):(a.split(/\./).filter(function(a){return a}).forEach(function(a){this.push(a)},this),void 0)}function h(a){for(var b=0;O>b&&a.check();)a.report(),b++}function i(a){for(var b in a)return!1;return!0}function j(a){return i(a.added)&&i(a.removed)&&i(a.changed)}function k(a,b){var c={},d={},e={};for(var f in b){var g=a[f];(void 0===g||g!==b[f])&&(f in a?g!==b[f]&&(e[f]=g):d[f]=void 0)}for(var f in a)f in b||(c[f]=a[f]);return Array.isArray(a)&&a.length!==b.length&&(e.length=a.length),{added:c,removed:d,changed:e}}function l(a,b){var c=b||(Array.isArray(a)?[]:{});for(var d in a)c[d]=a[d];return Array.isArray(a)&&(c.length=a.length),c}function m(a){this.callback=a,this.reporting=!0,G&&(this.boundInternalCallback=this.internalCallback.bind(this)),this.valid=!0,n(this),this.connect(),this.sync(!0)}function n(a){Q&&(P.push(a),m._allObserversCount++)}function o(a){if(Q)for(var b=0;be;e++){var f='["'+a[e]+'"]';c+=f,b+=" && "+c}return b+=") ",c+='["'+a[d-1]+'"]',b+="return "+c+"; else return undefined;",new Function("obj",b)}function u(a,b){var c=b.toString();return S[c]||(S[c]=t(b)),S[c](a)}function v(b,c,e,f,g){var h=void 0;return c.walkPropertiesFrom(b,function(b,i,j){if(j===c.length)return h=i,void 0;var k=e[j];if(!k||i!==k[0]){if(k)for(var l=0;lj;j++)i[j]=new Array(h),i[j][0]=j;for(var k=0;h>k;k++)i[0][k]=k;for(var j=1;g>j;j++)for(var k=1;h>k;k++)if(d[e+j-1]===a[b+k-1])i[j][k]=i[j-1][k-1];else{var l=i[j-1][k]+1,m=i[j][k-1]+1;i[j][k]=m>l?l:m}return i}function A(a){for(var b=a.length-1,c=a[0].length-1,d=a[b][c],e=[];b>0||c>0;)if(0!=b)if(0!=c){var f,g=a[b-1][c-1],h=a[b-1][c],i=a[b][c-1];f=i>h?g>h?h:g:g>i?i:g,f==g?(g==d?e.push(U):(e.push(V),d=g),b--,c--):f==h?(e.push(X),b--,d=h):(e.push(W),c--,d=i)}else e.push(X),b--;else e.push(W),c--;return e.reverse(),e}function B(a,b,c){for(var d=0;c>d;d++)if(a[d]!==b[d])return d;return c}function C(a,b,c){for(var d=a.length,e=b.length,f=0;c>f&&a[--d]===b[--e];)f++;return f}function D(a,b,c,d,e,f){function g(a,b,c){return{index:a,removed:b,addedCount:c}}var h=0,i=0,j=Math.min(c-b,f-e);if(0==b&&0==e&&(h=B(a,d,j)),c==a.length&&f==d.length&&(i=C(a,d,j-h)),b+=h,e+=h,c-=i,f-=i,0==c-b&&0==f-e)return[];if(b==c){for(var k=g(b,[],0);f>e;)k.removed.push(d[e++]);return[k]}if(e==f)return[g(b,[],c-b)];for(var l=A(z(a,b,c,d,e,f)),k=void 0,m=[],n=b,o=e,p=0;pe||e>=g)){var i=d[e];eg?f={index:g,removed:[],addedCount:a.length-g}:a.lengtha&&b.anyChanged);m._allObserversCount=P.length,R=!1}},Q&&(a.Platform.clearObservers=function(){P=[]}),p.prototype=L({__proto__:m.prototype,connect:function(){G&&Object.observe(this.object,this.boundInternalCallback)},sync:function(){G||(this.oldObject=l(this.object))},check:function(a){var b,c;if(G){if(!a)return!1;c={},b=y(this.object,a,c)}else c=this.oldObject,b=k(this.object,this.oldObject);return j(b)?!1:(this.reportArgs=[b.added||{},b.removed||{},b.changed||{}],this.reportArgs.push(function(a){return c[a]}),!0)},disconnect:function(){G?this.object&&Object.unobserve(this.object,this.boundInternalCallback):this.oldObject=void 0,this.object=void 0}}),q.prototype=L({__proto__:p.prototype,sync:function(){G||(this.oldObject=this.object.slice())},check:function(a){var b;if(G){if(!a)return!1;var c={},d=y(this.object,a,c);b=F(this.object,d,c)}else b=D(this.object,0,this.object.length,this.oldObject,0,this.oldObject.length);return b&&b.length?(this.reportArgs=[b],!0):!1}}),q.applySplices=function(a,b,c){c.forEach(function(c){for(var d=[c.index,c.removed.length],e=c.index;e0;){var e=c[d];ob[e.name]&&("template"!==e.name&&b.setAttribute(e.name,e.value),a.removeAttribute(e.name))}return b}function L(a,b,c){var d=a.content;if(c)return d.appendChild(b),void 0;for(var e;e=b.firstChild;)d.appendChild(e)}function M(a){"TEMPLATE"===a.tagName?qb||(tb?a.__proto__=HTMLTemplateElement.prototype:I(a,HTMLTemplateElement.prototype)):(I(a,HTMLTemplateElement.prototype),Object.defineProperty(a,"content",yb))}function N(a){var b=a.ref;return b?b.content:a.content}function O(a,b){this.type=a,this.value=b}function P(a){for(var b=[],c=a.length,d=0,e=0;c>e;){if(d=a.indexOf("{{",e),0>d){b.push(new O(Ab,a.slice(e)));break}if(d>0&&d>e&&b.push(new O(Ab,a.slice(e,d))),e=d+2,d=a.indexOf("}}",e),0>d){var f=a.slice(e-2),g=b[b.length-1];g&&g.type==Ab?g.value+=f:b.push(new O(Ab,f));break}var h=a.slice(e,d).trim();b.push(new O(Bb,h)),e=d+2}return b}function Q(a,b,c,d,e){var f,g=e&&e[mb];g&&"function"==typeof g&&(f=g(c,d,b,a),f&&(c=f,d="value")),a.bind(b,c,d)}function R(a,b,c,d,e){var f=P(c);if(f.length&&(1!=f.length||f[0].type!=Ab)){if(1==f.length&&f[0].type==Bb)return Q(a,b,d,f[0].value,e),void 0;for(var g=new Y,h=0;hc?(this.keys.push(a),this.values.push(b)):this.values[c]=b},get:function(a){var b=this.keys.indexOf(a);return 0>b?void 0:this.values[b]},"delete":function(a){var b=this.keys.indexOf(a);return 0>b?!1:(this.keys.splice(b,1),this.values.splice(b,1),!0)},forEach:function(a,b){for(var c=0;c>>0)+(c++ +"__")},cb.prototype={set:function(b,c){a(b,this.name,{value:c,writable:!0})},get:function(a){return b.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}(),Node.prototype.bind=e,Node.prototype.unbind=f,Node.prototype.unbindAll=g;var db=new cb("textContentBinding");h.prototype={dispose:function(){this.model&&"function"==typeof this.model.dispose&&this.model.dispose(),this.observer.close()},set value(a){PathObserver.setValueAtPath(this.model,this.path,a)},reset:function(){this.observer.reset()}},Text.prototype.bind=j,Text.prototype.unbind=k,Text.prototype.unbindAll=l;var eb=new cb("attributeBindings");n.prototype={add:function(a,b,c,d){a.removeAttribute(b);var e="?"==b[b.length-1];e&&(b=b.slice(0,-1)),this.remove(b);var f=new h(c,d,m(a,b,e));this.bindingMap[b]=f},remove:function(a){var b=this.bindingMap[a];b&&(b.dispose(),delete this.bindingMap[a])},removeAll:function(){Object.keys(this.bindingMap).forEach(function(a){this.remove(a)},this)}},Element.prototype.bind=o,Element.prototype.unbind=p,Element.prototype.unbindAll=q;var fb,gb=new cb("valueBinding"),hb=new cb("checkedBinding");!function(){var a=document.createElement("div"),b=a.appendChild(document.createElement("input"));b.setAttribute("type","checkbox");var c,d=0;b.addEventListener("click",function(){d++,c=c||"click"}),b.addEventListener("change",function(){d++,c=c||"change"});var e=document.createEvent("MouseEvent");e.initMouseEvent("click",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),b.dispatchEvent(e),fb=1==d?"change":c}(),s.prototype={valueChanged:function(a){this.element[this.valueProperty]=this.produceElementValue(a)},updateBinding:function(){this.binding.value=this.element[this.valueProperty],this.binding.reset(),this.postUpdateBinding&&this.postUpdateBinding(),Platform.performMicrotaskCheckpoint()},unbind:function(){this.binding.dispose(),this.element.removeEventListener(r(this.element),this.boundUpdateBinding,!0)}},t.prototype=bb({__proto__:s.prototype,produceElementValue:function(a){return String(null==a?"":a)}}),v.prototype=bb({__proto__:s.prototype,produceElementValue:function(a){return Boolean(a)},postUpdateBinding:function(){"INPUT"===this.element.tagName&&"radio"===this.element.type&&u(this.element).forEach(function(a){var b=hb.get(a);b&&(b.binding.value=!1)})}}),HTMLInputElement.prototype.bind=w,HTMLInputElement.prototype.unbind=x,HTMLInputElement.prototype.unbindAll=y,z.prototype=bb({__proto__:s.prototype,valueChanged:function(a){function b(){a>d.element.length&&c--?sb(b):d.element[d.valueProperty]=a}var a=this.produceElementValue(a);if(a<=this.element.length)return this.element[this.valueProperty]=a,void 0;var c=2,d=this;sb(b)},produceElementValue:function(a){return Number(a)}}),HTMLSelectElement.prototype.bind=A,HTMLSelectElement.prototype.unbind=B,HTMLSelectElement.prototype.unbindAll=C;var ib="bind",jb="repeat",kb="if",lb="syntax",mb="getBinding",nb="getInstanceModel",ob={template:!0,repeat:!0,bind:!0,ref:!0},pb={THEAD:!0,TBODY:!0,TFOOT:!0,TH:!0,TR:!0,TD:!0,COLGROUP:!0,COL:!0,CAPTION:!0,OPTION:!0,OPTGROUP:!0},qb="undefined"!=typeof HTMLTemplateElement,rb="template, "+Object.keys(pb).map(function(a){return a.toLowerCase()+"[template]"}).join(", "),sb=function(){function a(){var a=this;this.value=!1;var b=this.value,e=[],f=!1;this.schedule=function(c){return e.indexOf(c)>=0?!0:f?!1:(e.push(c),b===a.value&&(a.value=!a.value),!0)},new PathObserver(this,"value",function(){f=!0;for(var g=0;ge;e++)d.unshift("..");var g=d.join("/");return g},resolvePathsInHTML:function(a){var b=j.documentUrlFromNode(a.body);window.HTMLTemplateElement&&HTMLTemplateElement.bootstrap&&HTMLTemplateElement.bootstrap(a);var c=a.body;j._resolvePathsInHTML(c,b)},_resolvePathsInHTML:function(a,b){if(j.resolveAttributes(a,b),j.resolveStyleElts(a,b),window.templateContent){var c=a.querySelectorAll("template");c&&o(c,function(a){j._resolvePathsInHTML(templateContent(a),b)})}},resolvePathsInStylesheet:function(a){var b=j.nodeUrl(a);a.__resource=j.resolveCssText(a.__resource,b)},resolveStyleElts:function(a,b){var c=a.querySelectorAll("style");c&&o(c,function(a){a.textContent=j.resolveCssText(a.textContent,b)})},resolveCssText:function(a,b){return a.replace(/url\([^)]*\)/g,function(a){var c=a.replace(/["']/g,"").slice(4,-1);return c=j.resolveUrl(b,c,!0),"url("+c+")"})},resolveAttributes:function(a,b){var c=a&&a.querySelectorAll(l);c&&o(c,function(a){this.resolveNodeAttributes(a,b)},this)},resolveNodeAttributes:function(a,b){k.forEach(function(c){var d=a.attributes[c];if(d&&d.value&&d.value.search(m)<0){var e=j.resolveUrl(b,d.value,!0);d.value=e}})}},k=["href","src","action"],l="["+k.join("],[")+"]",m="{{.*}}",n=a.xhr||{async:!0,ok:function(a){return a.status>=200&&a.status<300||304===a.status||0===a.status},load:function(b,c,d){var e=new XMLHttpRequest;(a.flags.debug||a.flags.bust)&&(b+="?"+Math.random()),e.open("GET",b,n.async),e.addEventListener("readystatechange",function(){4===e.readyState&&c.call(d,!n.ok(e)&&e,e.response,b)}),e.send()}},o=Array.prototype.forEach.call.bind(Array.prototype.forEach);a.xhr=n,a.importer=h,a.getDocumentUrl=j.getDocumentUrl,"function"!=typeof window.CustomEvent&&(window.CustomEvent=function(a){var b=document.createEvent("HTMLEvents");return b.initEvent(a,!0,!0),b}),document.addEventListener("DOMContentLoaded",function(){h.load(document,function(){var a=window.ShadowDOMPolyfill?ShadowDOMPolyfill.wrap(document):document;HTMLImports.readyTime=(new Date).getTime(),a.body.dispatchEvent(new CustomEvent("HTMLImportsLoaded",{bubbles:!0}))})})}(window.HTMLImports),function(a){function b(a){u.push(a),t||(t=!0,q(d))}function c(a){return window.ShadowDOMPolyfill&&window.ShadowDOMPolyfill.wrapIfNeeded(a)||a}function d(){t=!1;var a=u;u=[],a.sort(function(a,b){return a.uid_-b.uid_});var b=!1;a.forEach(function(a){var c=a.takeRecords();e(a),c.length&&(a.callback_(c,a),b=!0)}),b&&d()}function e(a){a.nodes_.forEach(function(b){var c=p.get(b);c&&c.forEach(function(b){b.observer===a&&b.removeTransientObservers()})})}function f(a,b){for(var c=a;c;c=c.parentNode){var d=p.get(c);if(d)for(var e=0;e0){var e=c[d-1],f=n(e,a);if(f)return c[d-1]=f,void 0}else b(this.observer);c[d]=a},addListeners:function(){this.addListeners_(this.target)},addListeners_:function(a){var b=this.options;b.attributes&&a.addEventListener("DOMAttrModified",this,!0),b.characterData&&a.addEventListener("DOMCharacterDataModified",this,!0),b.childList&&a.addEventListener("DOMNodeInserted",this,!0),(b.childList||b.subtree)&&a.addEventListener("DOMNodeRemoved",this,!0)},removeListeners:function(){this.removeListeners_(this.target)},removeListeners_:function(a){var b=this.options;b.attributes&&a.removeEventListener("DOMAttrModified",this,!0),b.characterData&&a.removeEventListener("DOMCharacterDataModified",this,!0),b.childList&&a.removeEventListener("DOMNodeInserted",this,!0),(b.childList||b.subtree)&&a.removeEventListener("DOMNodeRemoved",this,!0)},addTransientObserver:function(a){if(a!==this.target){this.addListeners_(a),this.transientObservedNodes.push(a);var b=p.get(a);b||p.set(a,b=[]),b.push(this)}},removeTransientObservers:function(){var a=this.transientObservedNodes;this.transientObservedNodes=[],a.forEach(function(a){this.removeListeners_(a);for(var b=p.get(a),c=0;c1?logFlags.dom&&console.warn("inserted:",a.localName,"insert/remove count:",a.__inserted):a.insertedCallback&&(logFlags.dom&&console.log("inserted:",a.localName),a.insertedCallback())),logFlags.dom&&console.groupEnd())}function j(a){k(a),c(a,function(a){k(a)})}function k(a){(a.removedCallback||a.__upgraded__&&logFlags.dom)&&(logFlags.dom&&console.log("removed:",a.localName),l(a)||(a.__inserted=(a.__inserted||0)-1,a.__inserted>0&&(a.__inserted=0),a.__inserted<0?logFlags.dom&&console.warn("removed:",a.localName,"insert/remove count:",a.__inserted):a.removedCallback&&a.removedCallback()))}function l(a){for(var b=a;b;){if(b==a.ownerDocument)return!0;b=b.parentNode||b.host}}function m(a){a.webkitShadowRoot&&!a.webkitShadowRoot.__watched&&(logFlags.dom&&console.log("watching shadow-root for: ",a.localName),r(a.webkitShadowRoot),a.webkitShadowRoot.__watched=!0)}function n(a){m(a),c(a,function(){m(a)})}function o(a){switch(a.localName){case"style":case"script":case"template":case void 0:return!0}}function p(a){if(logFlags.dom){var b=a[0];if(b&&"childList"===b.type&&b.addedNodes&&b.addedNodes){for(var c=b.addedNodes[0];c&&c!==document&&!c.host;)c=c.parentNode;var d=c&&(c.URL||c._URL||c.host&&c.host.localName)||"";d=d.split("/?").shift().split("/").pop()}console.group("mutations (%d) [%s]",a.length,d||"")}a.forEach(function(a){"childList"===a.type&&(v(a.addedNodes,function(a){o(a)||f(a)}),v(a.removedNodes,function(a){o(a)||j(a)}))}),logFlags.dom&&console.groupEnd()}function q(){p(u.takeRecords())}function r(a){u.observe(a,{childList:!0,subtree:!0})}function s(a){r(a)}function t(a){logFlags.dom&&console.group("upgradeDocument: ",(a.URL||a._URL||"").split("/").pop()),f(a),logFlags.dom&&console.groupEnd()}var u=new MutationObserver(p),v=Array.prototype.forEach.call.bind(Array.prototype.forEach);a.watchShadow=m,a.watchAllShadows=n,a.upgradeAll=f,a.upgradeSubtree=e,a.observeDocument=s,a.upgradeDocument=t,a.takeRecords=q}(window.CustomElements),function(){function parseElementElement(a){var b={name:"","extends":null};takeAttributes(a,b);var c=HTMLElement.prototype;if(b.extends){var d=document.createElement(b.extends);c=d.__proto__||Object.getPrototypeOf(d)}b.prototype=Object.create(c),a.options=b;var e=a.querySelector("script,scripts");e&&executeComponentScript(e.textContent,a,b.name);var f=document.register(b.name,b);a.ctor=f;var g=a.getAttribute("constructor");g&&(window[g]=f)}function takeAttributes(a,b){for(var c in b){var d=a.attributes[c];d&&(b[c]=d.value)}}function executeComponentScript(inScript,inContext,inName){context=inContext;var owner=context.ownerDocument,url=owner._URL||owner.URL||owner.impl&&(owner.impl._URL||owner.impl.URL),match=url.match(/.*\/([^.]*)[.]?.*$/);if(match){var name=match[1];url+=name!=inName?":"+inName:""}var code="__componentScript('"+inName+"', function(){"+inScript+"});"+"\n//@ sourceURL="+url+"\n";eval(code)}function mixin(a){for(var b=a||{},c=1;c-1?this.pointers[c]=b:(this.ids.push(a),this.pointers.push(b))},has:function(a){return this.ids.indexOf(a)>-1},"delete":function(a){var b=this.ids.indexOf(a);b>-1&&(this.ids.splice(b,1),this.pointers.splice(b,1))},get:function(a){var b=this.ids.indexOf(a);return this.pointers[b]},get size(){return this.pointers.length},clear:function(){this.ids.length=0,this.pointers.length=0}},a.PointerMap=b}(window.PointerEventsPolyfill),function(a){var b;if("undefined"!=typeof WeakMap&&navigator.userAgent.indexOf("Firefox/")<0)b=WeakMap;else{var c=Object.defineProperty,d=Object.hasOwnProperty,e=(new Date).getTime()%1e9;b=function(){this.name="__st"+(1e9*Math.random()>>>0)+(e++ +"__")},b.prototype={set:function(a,b){c(a,this.name,{value:b,writable:!0})},get:function(a){return d.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}a.SideTable=b}(window.PointerEventsPolyfill),function(a){var b={targets:new a.SideTable,handledEvents:new a.SideTable,scrollType:new a.SideTable,pointermap:new a.PointerMap,events:[],eventMap:{},eventSources:{},registerSource:function(a,b){var c=b,d=c.events;d&&(this.events=this.events.concat(d),d.forEach(function(a){c[a]&&(this.eventMap[a]=c[a].bind(c))},this),this.eventSources[a]=c)},registerTarget:function(a,b){this.scrollType.set(a,b||"none"),this.listen(this.events,a,this.boundHandler)},unregisterTarget:function(a){this.scrollType.set(a,null),this.unlisten(this.events,a,this.boundHandler)},down:function(a){this.fireEvent("pointerdown",a)},move:function(a){this.fireEvent("pointermove",a)},up:function(a){this.fireEvent("pointerup",a)},enter:function(a){a.bubbles=!1,this.fireEvent("pointerenter",a)},leave:function(a){a.bubbles=!1,this.fireEvent("pointerleave",a)},over:function(a){a.bubbles=!0,this.fireEvent("pointerover",a)},out:function(a){a.bubbles=!0,this.fireEvent("pointerout",a)},cancel:function(a){this.fireEvent("pointercancel",a)},leaveOut:function(a){a.target.contains(a.relatedTarget)||this.leave(a),this.out(a)},enterOver:function(a){a.target.contains(a.relatedTarget)||this.enter(a),this.over(a)},eventHandler:function(a){if(!this.handledEvents.get(a)){var b=a.type,c=this.eventMap&&this.eventMap[b];c&&c(a),this.handledEvents.set(a,!0)}},listen:function(a,b,c){a.forEach(function(a){this.addEvent(a,c,!1,b)},this)},unlisten:function(a,b,c){a.forEach(function(a){this.removeEvent(a,c,!1,b)},this)},addEvent:function(a,b,c,d){d.addEventListener(a,b,c)},removeEvent:function(a,b,c,d){d.removeEventListener(a,b,c)},makeEvent:function(a,b){var c=new PointerEvent(a,b);return this.targets.set(c,this.targets.get(b)||b.target),c},fireEvent:function(a,b){var c=this.makeEvent(a,b);return this.dispatchEvent(c)},cloneEvent:function(a){var b={};for(var c in a)b[c]=a[c];return b},getTarget:function(a){return this.captureInfo&&this.captureInfo.id===a.pointerId?this.captureInfo.target:this.targets.get(a)},setCapture:function(a,b){this.captureInfo&&this.releaseCapture(this.captureInfo.id),this.captureInfo={id:a,target:b};var c=new PointerEvent("gotpointercapture",{bubbles:!0});this.implicitRelease=this.releaseCapture.bind(this,a),document.addEventListener("pointerup",this.implicitRelease),document.addEventListener("pointercancel",this.implicitRelease),this.targets.set(c,b),this.asyncDispatchEvent(c)},releaseCapture:function(a){if(this.captureInfo&&this.captureInfo.id===a){var b=new PointerEvent("lostpointercapture",{bubbles:!0}),c=this.captureInfo.target;this.captureInfo=null,document.removeEventListener("pointerup",this.implicitRelease),document.removeEventListener("pointercancel",this.implicitRelease),this.targets.set(b,c),this.asyncDispatchEvent(b)}},dispatchEvent:function(a){var b=this.getTarget(a);return b?b.dispatchEvent(a):void 0},asyncDispatchEvent:function(a){setTimeout(this.dispatchEvent.bind(this,a),0)}};b.boundHandler=b.eventHandler.bind(b),a.dispatcher=b}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher,c=Array.prototype.forEach.call.bind(Array.prototype.forEach),d=Array.prototype.map.call.bind(Array.prototype.map),e={ATTRIB:"touch-action",SELECTOR:"[touch-action]",EMITTER:"none",XSCROLLER:"pan-x",YSCROLLER:"pan-y",SCROLLER:/^(?:pan-x pan-y)|(?:pan-y pan-x)|scroll$/,OBSERVER_INIT:{subtree:!0,childList:!0,attributes:!0,attributeFilter:["touch-action"]},watchSubtree:function(b){a.targetFinding.canTarget(b)&&h.observe(b,this.OBSERVER_INIT)},enableOnSubtree:function(a){var b=a||document;this.watchSubtree(a),b===document&&"complete"!==document.readyState?this.installOnLoad():this.installNewSubtree(b)},installNewSubtree:function(a){c(this.findElements(a),this.addElement,this)},findElements:function(a){var b=a||document;return b.querySelectorAll?b.querySelectorAll(this.SELECTOR):[]},touchActionToScrollType:function(a){var b=a;return b===this.EMITTER?"none":b===this.XSCROLLER?"X":b===this.YSCROLLER?"Y":this.SCROLLER.exec(b)?"XY":void 0},removeElement:function(c){b.unregisterTarget(c);var d=a.targetFinding.shadow(c);d&&b.unregisterTarget(d)},addElement:function(c){var d=c.getAttribute&&c.getAttribute(this.ATTRIB),e=this.touchActionToScrollType(d);if(e){b.registerTarget(c,e);var f=a.targetFinding.shadow(c);f&&b.registerTarget(f,e)}},elementChanged:function(a){this.removeElement(a),this.addElement(a)},concatLists:function(a,b){for(var c,d=0,e=b.length;e>d&&(c=b[d]);d++)a.push(c);return a},installOnLoad:function(){document.addEventListener("DOMContentLoaded",this.installNewSubtree.bind(this,document))},flattenMutationTree:function(a){var b=d(a,this.findElements,this);return b.push(a),b.reduce(this.concatLists,[])},mutationWatcher:function(a){a.forEach(this.mutationHandler,this)},mutationHandler:function(a){var b=a;if("childList"===b.type){var c=this.flattenMutationTree(b.addedNodes);c.forEach(this.addElement,this);var d=this.flattenMutationTree(b.removedNodes);d.forEach(this.removeElement,this)}else"attributes"===b.type&&this.elementChanged(b.target)}},f=e.mutationWatcher.bind(e);a.installer=e,a.register=e.enableOnSubtree.bind(e),a.setTouchAction=function(a,c){var d=this.touchActionToScrollType(c);d?b.registerTarget(a,d):b.unregisterTarget(a)}.bind(e);var g=window.MutationObserver||window.WebKitMutationObserver;if(g)var h=new g(f);else e.watchSubtree=function(){console.warn("PointerEventsPolyfill: MutationObservers not found, touch-action will not be dynamically detected")}}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher,c=a.installer,d=a.findTarget,e=b.pointermap,f=b.scrollType,g=Array.prototype.map.call.bind(Array.prototype.map),h=2500,i=25,j={events:["touchstart","touchmove","touchend","touchcancel"],POINTER_TYPE:"touch",firstTouch:null,isPrimaryTouch:function(a){return this.firstTouch===a.identifier},setPrimaryTouch:function(a){null===this.firstTouch&&(this.firstTouch=a.identifier,this.firstXY={X:a.clientX,Y:a.clientY},this.scrolling=!1)},removePrimaryTouch:function(a){this.isPrimaryTouch(a)&&(this.firstTouch=null,this.firstXY=null)},touchToPointer:function(a){var c=b.cloneEvent(a);return c.pointerId=a.identifier+2,c.target=d(c),c.bubbles=!0,c.cancelable=!0,c.button=0,c.buttons=1,c.width=a.webkitRadiusX||a.radiusX,c.height=a.webkitRadiusY||a.radiusY,c.pressure=a.webkitForce||a.force,c.isPrimary=this.isPrimaryTouch(a),c.pointerType=this.POINTER_TYPE,c},processTouches:function(a,b){var c=a.changedTouches,d=g(c,this.touchToPointer,this);d.forEach(b,this)},shouldScroll:function(a){if(this.firstXY){var b,c=f.get(a.currentTarget);if("none"===c)b=!1;else if("XY"===c)b=!0; -else{var d=a.changedTouches[0],e=c,g="Y"===c?"X":"Y",h=Math.abs(d["client"+e]-this.firstXY[e]),i=Math.abs(d["client"+g]-this.firstXY[g]);b=h>=i}return this.firstXY=null,b}},findTouch:function(a,b){for(var c,d=0,e=a.length;e>d&&(c=a[d]);d++)if(c.identifier===b)return!0},vacuumTouches:function(a){var b=a.touches;if(e.size>=b.length){var c=[];e.ids.forEach(function(a){if(1!==a&&!this.findTouch(b,a-2)){var d=e.get(a).out;c.push(this.touchToPointer(d))}},this),c.forEach(this.cancelOut,this)}},touchstart:function(a){this.vacuumTouches(a),this.setPrimaryTouch(a.changedTouches[0]),this.dedupSynthMouse(a),this.scrolling||this.processTouches(a,this.overDown)},overDown:function(a){e.set(a.pointerId,{target:a.target,out:a,outTarget:a.target}),b.over(a),b.down(a)},touchmove:function(a){this.scrolling||(this.shouldScroll(a)?(this.scrolling=!0,this.touchcancel(a)):(a.preventDefault(),this.processTouches(a,this.moveOverOut)))},moveOverOut:function(a){var c=a,d=e.get(c.pointerId),f=d.out,g=d.outTarget;b.move(c),f&&g!==c.target&&(f.relatedTarget=c.target,c.relatedTarget=g,f.target=g,b.leaveOut(f),b.enterOver(c)),d.out=c,d.outTarget=c.target},touchend:function(a){this.dedupSynthMouse(a),this.processTouches(a,this.upOut)},upOut:function(a){this.scrolling||(b.up(a),b.out(a)),this.cleanUpPointer(a)},touchcancel:function(a){this.processTouches(a,this.cancelOut)},cancelOut:function(a){b.cancel(a),b.out(a),this.cleanUpPointer(a)},cleanUpPointer:function(a){e.delete(a.pointerId),this.removePrimaryTouch(a)},dedupSynthMouse:function(a){var b=k.lastTouches,c=a.changedTouches[0];if(this.isPrimaryTouch(c)){var d={x:c.clientX,y:c.clientY};b.push(d);var e=function(a,b){var c=a.indexOf(b);c>-1&&a.splice(c,1)}.bind(null,b,d);setTimeout(e,h)}}},k={POINTER_ID:1,POINTER_TYPE:"mouse",events:["mousedown","mousemove","mouseup","mouseover","mouseout"],global:["mousedown","mouseup","mouseover","mouseout"],lastTouches:[],mouseHandler:b.eventHandler.bind(b),isEventSimulatedFromTouch:function(a){for(var b,c=this.lastTouches,d=a.clientX,e=a.clientY,f=0,g=c.length;g>f&&(b=c[f]);f++){var h=Math.abs(d-b.x),j=Math.abs(e-b.y);if(i>=h&&i>=j)return!0}},prepareEvent:function(a){var c=b.cloneEvent(a);return c.pointerId=this.POINTER_ID,c.isPrimary=!0,c.pointerType=this.POINTER_TYPE,c},mousedown:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=e.has(this.POINTER_ID);if(c&&(this.cancel(a),c=!1),!c){var d=this.prepareEvent(a);e.set(this.POINTER_ID,a),b.down(d),b.listen(this.global,document,this.mouseHandler)}}},mousemove:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a);b.move(c)}},mouseup:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=e.get(this.POINTER_ID);if(c&&c.button===a.button){var d=this.prepareEvent(a);b.up(d),this.cleanupMouse()}}},mouseover:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a);b.enterOver(c)}},mouseout:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a);b.leaveOut(c)}},cancel:function(a){var c=this.prepareEvent(a);b.cancel(c),this.cleanupMouse()},cleanupMouse:function(){e.delete(this.POINTER_ID),b.unlisten(this.global,document,this.mouseHandler)}},l={events:["MSPointerDown","MSPointerMove","MSPointerUp","MSPointerOut","MSPointerOver","MSPointerCancel","MSGotPointerCapture","MSLostPointerCapture"],POINTER_TYPES:["","unavailable","touch","pen","mouse"],prepareEvent:function(a){var c=b.cloneEvent(a);return c.pointerType=this.POINTER_TYPES[a.pointerType],c},cleanup:function(a){e.delete(a)},MSPointerDown:function(a){e.set(a.pointerId,a);var c=this.prepareEvent(a);b.down(c)},MSPointerMove:function(a){var c=this.prepareEvent(a);b.move(c)},MSPointerUp:function(a){var c=this.prepareEvent(a);b.up(c),this.cleanup(a.pointerId)},MSPointerOut:function(a){var c=this.prepareEvent(a);b.leaveOut(c)},MSPointerOver:function(a){var c=this.prepareEvent(a);b.enterOver(c)},MSPointerCancel:function(a){var c=this.prepareEvent(a);b.cancel(c),this.cleanup(a.pointerId)},MSLostPointerCapture:function(a){var c=b.makeEvent("lostpointercapture",a);b.dispatchEvent(c)},MSGotPointerCapture:function(a){var c=b.makeEvent("gotpointercapture",a);b.dispatchEvent(c)}};if(void 0===window.navigator.pointerEnabled){if(window.navigator.msPointerEnabled){var m=window.navigator.msMaxTouchPoints;Object.defineProperty(window.navigator,"maxTouchPoints",{value:m,enumerable:!0}),b.registerSource("ms",l),b.registerTarget(document)}else b.registerSource("mouse",k),"ontouchstart"in window&&b.registerSource("touch",j),c.enableOnSubtree(document),b.listen(["mousemove"],document,b.boundHandler);Object.defineProperty(window.navigator,"pointerEnabled",{value:!0,enumerable:!0})}}(window.PointerEventsPolyfill),function(a){function b(a){if(!e.pointermap.has(a))throw new Error("InvalidPointerId")}var c,d,e=a.dispatcher,f=window.navigator;f.msPointerEnabled?(c=function(a){b(a),this.msSetPointerCapture(a)},d=function(a){b(a),this.msReleasePointerCapture(a)}):(c=function(a){b(a),e.setCapture(a,this)},d=function(a){b(a),e.releaseCapture(a,this)}),Element.prototype.setPointerCapture||Object.defineProperties(Element.prototype,{setPointerCapture:{value:c},releasePointerCapture:{value:d}})}(window.PointerEventsPolyfill),PointerGestureEvent.prototype.preventTap=function(){this.tapPrevented=!0},function(a){a=a||{},a.utils={LCA:{find:function(a,b){if(a===b)return a;if(a.contains){if(a.contains(b))return a;if(b.contains(a))return b}var c=this.depth(a),d=this.depth(b),e=c-d;for(e>0?a=this.walk(a,e):b=this.walk(b,-e);a&&b&&a!==b;)a=this.walk(a,1),b=this.walk(b,1);return a},walk:function(a,b){for(var c=0;b>c;c++)a=a.parentNode;return a},depth:function(a){for(var b=0;a;)b++,a=a.parentNode;return b}}},a.findLCA=function(b,c){return a.utils.LCA.find(b,c)},window.PointerGestures=a}(window.PointerGestures),function(a){var b;if("undefined"!=typeof WeakMap&&navigator.userAgent.indexOf("Firefox/")<0)b=WeakMap;else{var c=Object.defineProperty,d=Object.hasOwnProperty,e=(new Date).getTime()%1e9;b=function(){this.name="__st"+(1e9*Math.random()>>>0)+(e++ +"__")},b.prototype={set:function(a,b){c(a,this.name,{value:b,writable:!0})},get:function(a){return d.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}a.SideTable=b}(window.PointerGestures),function(a){function b(){this.ids=[],this.pointers=[]}b.prototype={set:function(a,b){var c=this.ids.indexOf(a);c>-1?this.pointers[c]=b:(this.ids.push(a),this.pointers.push(b))},has:function(a){return this.ids.indexOf(a)>-1},"delete":function(a){var b=this.ids.indexOf(a);b>-1&&(this.ids.splice(b,1),this.pointers.splice(b,1))},get:function(a){var b=this.ids.indexOf(a);return this.pointers[b]},get size(){return this.pointers.length},clear:function(){this.ids.length=0,this.pointers.length=0}},window.Map&&(b=window.Map),a.PointerMap=b}(window.PointerGestures),function(a){var b={handledEvents:new a.SideTable,targets:new a.SideTable,handlers:{},recognizers:{},events:["pointerdown","pointermove","pointerup","pointerover","pointerout","pointercancel"],registerRecognizer:function(a,b){var c=b;this.recognizers[a]=c,this.events.forEach(function(a){if(c[a]){var b=c[a].bind(c);this.addHandler(a,b)}},this)},addHandler:function(a,b){var c=a;this.handlers[c]||(this.handlers[c]=[]),this.handlers[c].push(b)},registerTarget:function(a){this.listen(this.events,a)},unregisterTarget:function(a){this.unlisten(this.events,a)},eventHandler:function(a){if(!this.handledEvents.get(a)){var b,c=a.type;(b=this.handlers[c])&&this.makeQueue(b,a),this.handledEvents.set(a,!0)}},makeQueue:function(a,b){var c=this.cloneEvent(b);setTimeout(this.runQueue.bind(this,a,c),0)},runQueue:function(a,b){this.currentPointerId=b.pointerId;for(var c,d=0,e=a.length;e>d&&(c=a[d]);d++)c(b);this.currentPointerId=0},listen:function(a,b){a.forEach(function(a){this.addEvent(a,this.boundHandler,!1,b)},this)},unlisten:function(a){a.forEach(function(a){this.removeEvent(a,this.boundHandler,!1,inTarget)},this)},addEvent:function(a,b,c,d){d.addEventListener(a,b,c)},removeEvent:function(a,b,c,d){d.removeEventListener(a,b,c)},makeEvent:function(a,b){return new PointerGestureEvent(a,b)},cloneEvent:function(a){var b={};for(var c in a)b[c]=a[c];return b},dispatchEvent:function(a,b){var c=b||this.targets.get(a);c&&(c.dispatchEvent(a),a.tapPrevented&&this.preventTap(this.currentPointerId))},asyncDispatchEvent:function(a,b){var c=function(){this.dispatchEvent(a,b)}.bind(this);setTimeout(c,0)},preventTap:function(a){var b=this.recognizers.tap;b&&b.preventTap(a)}};b.boundHandler=b.eventHandler.bind(b),a.dispatcher=b,a.register=function(b){var c=window.PointerEventsPolyfill;c&&c.register(b),a.dispatcher.registerTarget(b)},b.registerTarget(document)}(window.PointerGestures),function(a){var b=a.dispatcher,c={HOLD_DELAY:200,WIGGLE_THRESHOLD:16,events:["pointerdown","pointermove","pointerup","pointercancel"],heldPointer:null,holdJob:null,pulse:function(){var a=Date.now()-this.heldPointer.timeStamp,b=this.held?"holdpulse":"hold";this.fireHold(b,a),this.held=!0},cancel:function(){clearInterval(this.holdJob),this.held&&this.fireHold("release"),this.held=!1,this.heldPointer=null,this.target=null,this.holdJob=null},pointerdown:function(a){a.isPrimary&&!this.heldPointer&&(this.heldPointer=a,this.target=a.target,this.holdJob=setInterval(this.pulse.bind(this),this.HOLD_DELAY))},pointerup:function(a){this.heldPointer&&this.heldPointer.pointerId===a.pointerId&&this.cancel()},pointercancel:function(){this.cancel()},pointermove:function(a){if(this.heldPointer&&this.heldPointer.pointerId===a.pointerId){var b=a.clientX-this.heldPointer.clientX,c=a.clientY-this.heldPointer.clientY;b*b+c*c>this.WIGGLE_THRESHOLD&&this.cancel()}},fireHold:function(a,c){var d={pointerType:this.heldPointer.pointerType};c&&(d.holdTime=c);var e=b.makeEvent(a,d);b.dispatchEvent(e,this.target),e.tapPrevented&&b.preventTap(this.heldPointer.pointerId)}};b.registerRecognizer("hold",c)}(window.PointerGestures),function(a){var b=a.dispatcher,c=new a.PointerMap,d={events:["pointerdown","pointermove","pointerup","pointercancel"],WIGGLE_THRESHOLD:4,clampDir:function(a){return a>0?1:-1},calcPositionDelta:function(a,b){var c=0,d=0;return a&&b&&(c=b.pageX-a.pageX,d=b.pageY-a.pageY),{x:c,y:d}},fireTrack:function(a,c,d){var e=d,f=this.calcPositionDelta(e.downEvent,c),g=this.calcPositionDelta(e.lastMoveEvent,c);g.x&&(e.xDirection=this.clampDir(g.x)),g.y&&(e.yDirection=this.clampDir(g.y));var h={dx:f.x,dy:f.y,ddx:g.x,ddy:g.y,clientX:c.clientX,clientY:c.clientY,pageX:c.pageX,pageY:c.pageY,screenX:c.screenX,screenY:c.screenY,xDirection:e.xDirection,yDirection:e.yDirection,trackInfo:e.trackInfo,pointerType:c.pointerType};"trackend"===a&&(h._releaseTarget=c.target);var i=b.makeEvent(a,h);e.lastMoveEvent=c,b.dispatchEvent(i,e.downTarget)},pointerdown:function(a){if(a.isPrimary&&("mouse"===a.pointerType?1===a.buttons:!0)){var b={downEvent:a,downTarget:a.target,trackInfo:{},lastMoveEvent:null,xDirection:0,yDirection:0,tracking:!1};c.set(a.pointerId,b)}},pointermove:function(a){var b=c.get(a.pointerId);if(b)if(b.tracking)this.fireTrack("track",a,b);else{var d=this.calcPositionDelta(b.downEvent,a),e=d.x*d.x+d.y*d.y;e>this.WIGGLE_THRESHOLD&&(b.tracking=!0,this.fireTrack("trackstart",b.downEvent,b),this.fireTrack("track",a,b))}},pointerup:function(a){var b=c.get(a.pointerId);b&&(b.tracking&&this.fireTrack("trackend",a,b),c.delete(a.pointerId))},pointercancel:function(a){this.pointerup(a)}};b.registerRecognizer("track",d)}(window.PointerGestures),function(a){var b=a.dispatcher,c={MIN_VELOCITY:.5,MAX_QUEUE:4,moveQueue:[],target:null,pointerId:null,events:["pointerdown","pointermove","pointerup","pointercancel"],pointerdown:function(a){a.isPrimary&&!this.pointerId&&(this.pointerId=a.pointerId,this.target=a.target,this.addMove(a))},pointermove:function(a){a.pointerId===this.pointerId&&this.addMove(a)},pointerup:function(a){a.pointerId===this.pointerId&&this.fireFlick(a),this.cleanup()},pointercancel:function(){this.cleanup()},cleanup:function(){this.moveQueue=[],this.target=null,this.pointerId=null},addMove:function(a){this.moveQueue.length>=this.MAX_QUEUE&&this.moveQueue.shift(),this.moveQueue.push(a)},fireFlick:function(a){for(var c,d,e,f,g,h,i,j=a,k=this.moveQueue.length,l=0,m=0,n=0,o=0;k>o&&(i=this.moveQueue[o]);o++)c=j.timeStamp-i.timeStamp,d=j.clientX-i.clientX,e=j.clientY-i.clientY,f=d/c,g=e/c,h=Math.sqrt(f*f+g*g),h>n&&(l=f,m=g,n=h);var p=Math.abs(l)>Math.abs(m)?"x":"y",q=this.calcAngle(l,m);if(Math.abs(n)>=this.MIN_VELOCITY){var r=b.makeEvent("flick",{xVelocity:l,yVelocity:m,velocity:n,angle:q,majorAxis:p,pointerType:a.pointerType});b.dispatchEvent(r,this.target)}},calcAngle:function(a,b){return 180*Math.atan2(b,a)/Math.PI}};b.registerRecognizer("flick",c)}(window.PointerGestures),function(a){var b=a.dispatcher,c=new a.PointerMap,d={events:["pointerdown","pointermove","pointerup","pointercancel"],pointerdown:function(a){a.isPrimary&&!a.tapPrevented&&c.set(a.pointerId,{target:a.target,x:a.clientX,y:a.clientY})},pointermove:function(a){if(a.isPrimary){var b=c.get(a.pointerId);b&&a.tapPrevented&&c.delete(a.pointerId)}},pointerup:function(d){var e=c.get(d.pointerId);if(e&&!d.tapPrevented){var f=a.findLCA(e.target,d.target);if(f){var g=b.makeEvent("tap",{x:d.clientX,y:d.clientY,pointerType:d.pointerType});b.dispatchEvent(g,f)}}c.delete(d.pointerId)},pointercancel:function(a){c.delete(a.pointerId)},preventTap:function(a){c.delete(a)}};b.registerRecognizer("tap",d)}(window.PointerGestures),function(){var a=Array.prototype.forEach.call.bind(Array.prototype.forEach);window.forEach=a}(),function(){function a(a,c){1==arguments.length&&(c=a,a=null),c&&c.hasOwnProperty("constructor")||(c.constructor=function(){this.super()});var d=c.constructor,f=a&&a.prototype||Object.prototype;return d.prototype=b(f,c),"super"in d.prototype||(d.prototype.super=e),d}function b(a,b){return Object.create(a,c(b))}function c(a){var b={};for(var c in a)b[c]=d(a,c);return b}function d(a,b){return a&&Object.getOwnPropertyDescriptor(a,b)||d(Object.getPrototypeOf(a),b)}function e(a){var b=e.caller,c=b._nom;if(!c&&(c=b._nom=h.call(this,b),!c))return console.warn('called super() on a method not in "this"'),void 0;"_super"in b||g(b,c,Object.getPrototypeOf(this));var d=b._super;if(d){var f=d[c];return"_super"in f||g(f,c,d),f.apply(this,a||[])}}function f(a,b,c){for(var d=a;d&&(!d.hasOwnProperty(b)||d[b]==c);)d=Object.getPrototypeOf(d);return d}function g(a,b,c){a._super=f(c,b,a),a._super&&(a._super[b]._nom=b)}function h(a){for(var b in this){var c=d(this,b);if(c.value==a)return b}}window.$class=a,window.extend=b,window.$super=e}(),function(){function a(a,d){if(a!=window){if(!(a&&a instanceof HTMLElement))throw"First argument to Polymer.register must be an HTMLElement";var e=mixin({},Polymer.base,d);e.elementElement=a,Polymer.addResolvePath(e,a),e.installTemplate=function(){this.super(),c.call(this,a)},e.readyCallback=b,Polymer.parseHostEvents(a.attributes,e),Polymer.publishAttributes(a,e),Polymer.installSheets(a),Polymer.shimStyling(a),a.register({prototype:e}),logFlags.comps&&console.log("Polymer: element registered"+a.options.name)}}function b(){this.installTemplate(),e.call(this)}function c(a){var b=a.querySelector("template");if(b){b.setAttribute("syntax","Polymer");var c=this.webkitCreateShadowRoot();return c.applyAuthorStyles=this.applyAuthorStyles,CustomElements.watchShadow(this),c.host=this,c.appendChild(b.createInstance(this,"Polymer")),d.call(this,c),c}}function d(a){CustomElements.takeRecords(),Polymer.marshalNodeReferences.call(this,a);var b=Polymer.accumulateEvents(a);Polymer.bindAccumulatedLocalEvents.call(this,a,b),PointerGestures.register(a),PointerEventsPolyfill.setTouchAction(a,this.getAttribute("touch-action"))}function e(){Polymer.observeProperties.call(this),Polymer.installInstanceAttributes.call(this),Polymer.takeAttributes.call(this);var a=Polymer.accumulateHostEvents.call(this);Polymer.bindAccumulatedHostEvents.call(this,a),this.ready&&this.ready()}function f(a,b){for(var c=a;c&&c!=this;){var d=Array.prototype.indexOf.call(b,c);if(d>=0)return d;c=c.parentNode}}window.logFlags||{},window.Polymer={register:a,findDistributedTarget:f,instanceReady:e}}(),function(a){var b=window.logFlags||{},c={"super":$super,isPolymerElement:!0,bind:function(){Polymer.bind.apply(this,arguments)},unbind:function(){Polymer.unbind.apply(this,arguments)},unbindAll:function(){Polymer.unbindAll.apply(this,arguments)},job:function(){return Polymer.job.apply(this,arguments)},asyncMethod:function(a,b,c){var d=b&&b.length?b:[b],e=function(){(this[a]||a).apply(this,d)}.bind(this);return c?window.setTimeout(e,c):requestAnimationFrame(e)},dispatch:function(a,b){this[a]&&this[a].apply(this,b)},fire:function(a,c,d){var e=d||this;return b.events&&console.log("[%s]: sending [%s]",e.localName,a),e.dispatchEvent(new CustomEvent(a,{bubbles:!0,detail:c})),c},asyncFire:function(){this.asyncMethod("fire",arguments)},classFollows:function(a,b,c){b&&b.classList.remove(c),a&&a.classList.add(c)}};c.send=c.fire,c.asend=c.asyncFire,a.base=c}(window.Polymer),function(){function a(a,b,c,e){var f=d(a,b,!0);f[c.toLowerCase()]=e}function b(a,b,c){var e=d(a,b),f=c.toLowerCase();return e&&e[f]?(e[f].close(),e[f]=null,!0):void 0}function c(a,c){var e=d(a,c);e&&Object.keys(e).forEach(function(d){b(a,c,d)})}function d(a,b,c){var d=e.get(a);return c&&(d||e.set(a,d={}),d[b]||(d[b]={})),d&&d[b]}var e=new SideTable;Polymer.registerObserver=a,Polymer.unregisterObserver=b,Polymer.unregisterObserversOfType=c}(),function(){function a(a,c,d,e){b.bind&&console.log("[%s]: bindProperties: [%s] to [%s].[%s]",d.localName||"object",e,a.localName,c);var f=PathObserver.getValueAtPath(d,e);return(null===f||void 0===f)&&PathObserver.setValueAtPath(d,e,a[c]),PathObserver.defineProperty(a,c,{object:d,path:e})}var b=window.logFlags||{};Polymer.bindProperties=a}(),function(){function a(a,b,c){var d=j.get(a);d||j.set(a,d={}),d[b.toLowerCase()]=c}function b(a,b){var c=j.get(a);c&&delete c[b.toLowerCase()]}function c(c){var d=c.prototype,e=d.bind,f=d.unbind;d.bind=function(b,c,d){e.apply(this,arguments),a(this,b,d)},d.unbind=function(a){f.apply(this,arguments),b(this,a)}}function d(a){return a&&j.get(a)||k}function e(a,b){return d(a)[b.toLowerCase()]}function f(b,c,d){var e=Polymer.propertyForAttribute.call(this,b);e?(a(this,e,d),Polymer.registerObserver(this,"binding",e,Polymer.bindProperties(this,e,c,d))):HTMLElement.prototype.bind.apply(this,arguments)}function g(a){a.unbindAll();for(var b=a.firstChild;b;b=b.nextSibling)g(b)}function h(a){Polymer.unregisterObserver(this,"binding",a)||HTMLElement.prototype.unbind.apply(this,arguments)}function i(){Polymer.unregisterObserversOfType(this,"property"),HTMLElement.prototype.unbindAll.apply(this,arguments)}window.logFlags||{};var j=new SideTable;[Node,Element,Text,HTMLInputElement].forEach(c);var k={},l=/\{\{([^{}]*)}}/;Polymer.bind=f,Polymer.unbind=h,Polymer.unbindAll=i,Polymer.getBinding=e,Polymer.unbindModel=g,Polymer.bindPattern=l}(),function(){"use strict";function a(){}function b(a,b,c,g){var h,i,j=b.match(e);if(j)h=j[1],i=j[2];else{if(j=b.match(d),!j)return;h=j[2],i=j[1]}var k=new CompoundBinding(function(a){return a.value});return k.bind("value",a,i),f.set(g,{model:a,scope:h}),k}function c(a,b,c){var d=new CompoundBinding(function(a){return a.value?b:""});return d.bind("value",a,c),d}var d=/([\w\.\$]*)[\s]+as[\s]+([\w]*)/,e=/([\w]*)[\s]+in[\s]+([\w\.\$]*)/,f=new SideTable;HTMLTemplateElement.syntax.Polymer={getBinding:function(a,d,e,f){if(f.nodeType===Node.ELEMENT_NODE&&("bind"===e||"repeat"===e)&&"TEMPLATE"===f.tagName)return b(a,d,e,f);var g=d.match(/([\w]+):[\W]*([\w\.\$]*)/);return g?c(a,g[1],g[2]):void 0},getInstanceModel:function(b,c){var d=f.get(b);if(!d)return c;var e;return e=d.model?Object.create(d.model):new a,e[d.scope]=c,e}}}(this),function(){function a(a,d){b(a,d),c(a,d)}function b(a,b){var c={},d=a.getAttribute(j);if(d){var e=d.split(d.indexOf(",")>=0?",":" ");e.forEach(function(a){a=a.trim(),a&&(c[a]=null)})}var f=a.options.prototype;Object.keys(c).forEach(function(a){a in b||a in f||(b[a]=c[a])});var g=b[k];g&&(Object.keys(g).forEach(function(a){b[a]=g[a]}),c=mixin(c,g)),b[i]=mixin({},f[i],c)}function c(a,b){for(var c,d=a.options.prototype,e=a.attributes,f=b.instanceAttributes=Object.create(d.instanceAttributes||null),g=0,h=e.length;h>g&&(c=e[g]);g++)switch(c.name){case"name":case"extends":case j:break;default:"on-"!==c.name.slice(0,3)&&(f[c.name]=c.value)}}function d(){var a=this.instanceAttributes;Object.keys(a).forEach(function(b){this.setAttribute(b,a[b])},this)}function e(){forEach(this.attributes,function(a){var b=f.call(this,a.name);if(b){if(a.value.search(h)>=0)return;var c=this[b],d=g(a.value,c);d!==c&&(this[b]=d)}},this)}function f(a){var b=Object.keys(this[i]);return b[b.map(l).indexOf(a.toLowerCase())]}function g(a,b){var c=typeof b;switch(b instanceof Date&&(c="date"),c){case"string":return a;case"date":return new Date(Date.parse(a)||Date.now());case"boolean":if(""==a)return!0}switch(a){case"true":return!0;case"false":return!1}var d=parseFloat(a);return String(d)===a?d:a}var h=Polymer.bindPattern,i="__published",j="attributes",k="publish",l=String.prototype.toLowerCase.call.bind(String.prototype.toLowerCase);Polymer.takeAttributes=e,Polymer.publishAttributes=a,Polymer.propertyForAttribute=f,Polymer.installInstanceAttributes=d}(),Polymer.marshalNodeReferences=function(a){var b=this.$=this.$||{};if(a){var c=a.querySelectorAll("[id]");forEach(c,function(a){b[a.id]=a})}},function(){function a(a,b,c){var d=c.bind(this);for(var e in b)j.events&&console.log('[%s] bindAccumulatedEvents: addEventListener("%s", listen)',a.localName||"root",e),a.addEventListener(e,d)}function b(b){a.call(this,this,b,f)}function c(b,c){a.call(this,b,c,d)}function d(a){if(!a.cancelBubble){a.on=k+a.type,j.events&&console.group("[%s]: listenLocal [%s]",this.localName,a.on);var b=a.path&&a.path();if(!b||window.ShadowDOMPolyfill)e(a);else{var c=null;Array.prototype.some.call(b,function(b){return b===this?!0:(c=c===this?c:v(b),c&&h.call(c,b,a)?!0:void 0)},this)}j.events&&console.groupEnd()}}function e(a){j.events&&console.log("event.path() not supported for",a.type);for(var b=a.target,c=null;b&&b!=this;){if(c=c===this?c:v(b),c&&h.call(c,b,a))return;b=b.parentNode}}function f(a){a.cancelBubble||(j.events&&console.group("[%s]: listenHost [%s]",this.localName,a.type),i.call(this,this,a),j.events&&console.groupEnd())}function g(a){var b=x.get(a);return b||(b=[],x.set(a,b)),b}function h(a,b){if(a.attributes){var c=g(b);if(c.indexOf(a)<0){c.push(a);var d=a.getAttribute(b.on);d&&(j.events&&console.log("[%s] found handler name [%s]",this.localName,d),w(this,d,[b,b.detail,a]))}}return b.cancelBubble}function i(a,b){var c=y.call(a,b.type);return c&&(j.events&&console.log("[%s] found host handler name [%s]",a.localName,c),w(a,c,[b,b.detail,a])),b.cancelBubble}var j=window.logFlags||{},k="on-",l=function(a,b){b.eventDelegates=m(a)},m=function(a){var b={};if(a)for(var c,d=0;c=a[d];d++)c.name.slice(0,k.length)==k&&(b[c.name.slice(k.length)]=c.value);return b},n=function(a,b){var c=b||{};return o(a,c),r(a,c),s(a,c),c},o=function(a,b){var c=a.attributes;if(c)for(var d,e=0;d=c[e];e++)d.name.slice(0,k.length)===k&&q(d.name.slice(k.length),b)},p={webkitanimationstart:"webkitAnimationStart",webkitanimationend:"webkitAnimationEnd",webkittransitionend:"webkitTransitionEnd",domfocusout:"DOMFocusOut",domfocusin:"DOMFocusIn"},q=function(a,b){var c=p[a]||a;b[c]=1},r=function(a,b){for(var c,d=a.childNodes,e=0;c=d[e];e++)n(c,b)},s=function(a,b){if("template"==a.localName){var c=t(a);c&&r(c,b)}},t=function(a){return a.ref?a.ref.content:a.content},u=function(a){for(var b=a||{},c=this.__proto__;c&&c!==HTMLElement.prototype;){if(c.hasOwnProperty("eventDelegates"))for(var d in c.eventDelegates)q(d,b);c=c.__proto__}return b},v=function(a){for(var b=a;b.parentNode&&"shadow-root"!==b.localName;)b=b.parentNode;return b.host},w=function(a,b,c){a&&(j.events&&console.group("[%s] dispatch [%s]",a.localName,b),a.dispatch(b,c),j.events&&console.groupEnd())},x=new SideTable("handledList"),y=function(a){for(var b=this;b;){if(b.hasOwnProperty("eventDelegates")){var c=b.eventDelegates[a]||b.eventDelegates[a.toLowerCase()];if(c)return c}b=b.__proto__}};Polymer.parseHostEvents=l,Polymer.accumulateEvents=n,Polymer.accumulateHostEvents=u,Polymer.bindAccumulatedHostEvents=b,Polymer.bindAccumulatedLocalEvents=c}(),function(){function a(){for(var a in this)b.call(this,a)}function b(a){if(c.call(this,a)){e.observe&&console.log("["+this.localName+"] watching ["+a+"]");var b=new PathObserver(this,a,function(b,c){e.data&&console.log("[%s#%s] watch: [%s] now [%s] was [%s]",this.localName,this.node.id||"",a,this[a],c),d.call(this,a,c)}.bind(this));Polymer.registerObserver(this,"property",a,b)}}function c(a){return"_"!=a[0]&&!(a in Object.prototype)&&Boolean(this[a+f])}function d(a,b){var c=a+f;this[c]&&this[c](b)}var e=window.logFlags||{},f="Changed";Polymer.observeProperties=a}(),function(){function a(a){b(a),c(a)}function b(a){var b=j(a,r,function(a){return!a.hasAttribute(s)}),c=k(a);if(c){b.forEach(function(a){a.parentNode.removeChild(a)});var d=document.createDocumentFragment();b.forEach(function(a){var b=f(a);b&&d.appendChild(b)}),c.insertBefore(d,c.firstChild)}}function c(a){g(i(a,"global"),m.head)}function d(a,b){b.controllerStyles||(b.controllerStyles=i(b,"controller"));var c=b.controllerStyles;n.queue(function(){var b=e(a);b&&(Polymer.shimPolyfillDirectives(c,a.localName),g(c,b))})}function e(a){for(var b=a;b.parentNode&&"shadow-root"!=b.localName;)b=b.parentNode;return b==m?m.head:b}function f(a){if(a.__resource){var b=m.createElement("style");return b.textContent=a.__resource,b}console.warn("Could not find content for stylesheet",a)}function g(a,b){a.forEach(function(a){b.appendChild(a.cloneNode(!0))})}function h(a,b){return p?p.call(a,b):void 0}function i(a,b){var c=[],d="["+s+"="+b+"]",e=function(a){return h(a,d)},g=j(a,r,e);g.forEach(function(a){a.parentNode.removeChild(a),c.push(f(a))});var i=j(a,q,e);return i.forEach(function(a){a.parentNode.removeChild(a),c.push(a)}),c}function j(a,b,c){var d=l(a.querySelectorAll(b)),e=k(a);if(e){var f=l(e.querySelectorAll(b));d=d.concat(f)}return d.filter(c)}function k(a){var b=a.querySelector("template");return b&&templateContent(b)}function l(a){return Array.prototype.slice.call(a||[],0)}window.logFlags||{};var m=wrap(document),n={list:[],queue:function(a){a&&n.list.push(a),n.queueFlush()},queueFlush:function(){n.flushing||(n.flushing=!0,requestAnimationFrame(n.flush))},flush:function(){n.list.forEach(function(a){a()}),n.list=[],n.flushing=!1}},o=HTMLElement.prototype,p=o.matches||o.matchesSelector||o.webkitMatchesSelector||o.mozMatchesSelector,q="style",r="[rel=stylesheet]",s="polymer-scope";Polymer.installSheets=a,Polymer.installControllerStyles=d}(),function(){var a=Array.prototype.forEach.call.bind(Array.prototype.forEach),b=Array.prototype.concat.call.bind(Array.prototype.concat),c=Array.prototype.slice.call.bind(Array.prototype.slice),d={hostRuleRe:/@host[^{]*{(([^}]*?{[^{]*?}[\s\S]*?)+)}/gim,selectorRe:/([^{]*)({[\s\S]*?})/gim,hostFixableRe:/^[.\[:]/,cssCommentRe:/\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim,cssPolyfillCommentRe:/\/\*\s*@polyfill ([^*]*\*+([^/*][^*]*\*+)*\/)([^{]*?){/gim,selectorReSuffix:"([>\\s~+[.,{:][\\s\\S]*)?$",hostRe:/@host/gim,cache:{},shimStyling:function(a){if(window.ShadowDOMPolyfill&&a){var b=a.options.name;d.cacheDefinition(a),d.shimPolyfillDirectives(a.styles,b),d.applyShimming(d.stylesForElement(a),b)}},shimShadowDOMStyling:function(a,b){window.ShadowDOMPolyfill&&(d.shimPolyfillDirectives(a,b),d.applyShimming(a,b))},applyShimming:function(a,b){this.shimAtHost(a,b),this.shimScoping(a,b)},cacheDefinition:function(a){var b=a.options.name,e=a.querySelector("template"),f=e&&templateContent(e),g=f&&f.querySelectorAll("style");a.styles=g?c(g):[],a.templateContent=f,d.cache[b]=a},stylesForElement:function(a){var d=a.styles,e=a.templateContent&&a.templateContent.querySelector("shadow");if(e||null===a.templateContent){var f=this.findExtendee(a.options.name);if(f){var g=this.stylesForElement(f);d=b(c(g),c(d))}}return d},findExtendee:function(a){var b=this.cache[a];return b&&this.cache[b.options.extends]},shimPolyfillDirectives:function(b,c){window.ShadowDOMPolyfill&&b&&a(b,function(a){a.textContent=this.convertPolyfillDirectives(a.textContent,c)},this)},shimAtHost:function(a,b){if(a){var c=this.convertAtHostStyles(a,b);this.addCssToDocument(c)}},shimScoping:function(a,b){a&&this.applyPseudoScoping(a,b)},convertPolyfillDirectives:function(a){for(var b,c="",d=0;b=this.cssPolyfillCommentRe.exec(a);)c+=a.substring(d,b.index),c+=b[1].slice(0,-2)+"{",d=this.cssPolyfillCommentRe.lastIndex;return c+=a.substring(d,a.length)},findAtHostRules:function(a,b){return Array.prototype.filter.call(a,this.isHostRule.bind(this,b))},isHostRule:function(a,b){return b.selectorText&&b.selectorText.match(a)||b.cssRules&&this.findAtHostRules(b.cssRules,a).length||b.type==CSSRule.WEBKIT_KEYFRAMES_RULE},convertAtHostStyles:function(a,b){for(var c,d=this.stylesToCssText(a),e="",f=0;c=this.hostRuleRe.exec(d);)e+=d.substring(f,c.index),e+=this.scopeHostCss(c[1],b),f=this.hostRuleRe.lastIndex;e+=d.substring(f,d.length);var g=new RegExp("^"+b+this.selectorReSuffix,"m"),d=this.rulesToCss(this.findAtHostRules(this.cssToRules(e),g));return d},scopeHostCss:function(a,b){for(var c,d="";c=this.selectorRe.exec(a);)d+=this.scopeHostSelector(c[1],b)+" "+c[2]+"\n ";return d},scopeHostSelector:function(a,b){var c=[],d=a.split(",");return d.forEach(function(a){a=a.trim(),a.indexOf("*")>=0?a=a.replace("*",b):a.match(this.hostFixableRe)&&(a=b+a),c.push(a)},this),c.join(", ")},applyPseudoScoping:function(b,c){a(b,function(a){a.parentNode&&a.parentNode.removeChild(a)});var d=this.stylesToCssText(b).replace(this.hostRuleRe,""),e=this.cssToRules(d),d=this.pseudoScopeRules(e,c);this.addCssToDocument(d)},pseudoScopeRules:function(b,c){var d="";return a(b,function(a){a.selectorText&&a.style&&a.style.cssText?(d+=this.pseudoScopeSelector(a.selectorText,c)+" {\n ",d+=a.style.cssText+"\n}\n\n"):a.media?(d+="@media "+a.media.mediaText+" {\n",d+=this.pseudoScopeRules(a.cssRules,c),d+="\n}\n\n"):a.cssText&&(d+=a.cssText+"\n\n")},this),d},pseudoScopeSelector:function(a,b){var c=[],d=a.split(",");return d.forEach(function(a){c.push(b+" "+a.trim())}),c.join(", ")},stylesToCssText:function(b,c){var d="";return a(b,function(a){d+=a.textContent+"\n\n"}),c||(d=this.stripCssComments(d)),d},stripCssComments:function(a){return a.replace(this.cssCommentRe,"")},cssToRules:function(a){var b=document.createElement("style");b.textContent=a,document.head.appendChild(b);var c=b.sheet.cssRules;return b.parentNode.removeChild(b),c},rulesToCss:function(a){for(var b=0,c=[];b>>0)+(c++ +"__")},SideTable.prototype={set:function(b,c){a(b,this.name,{value:c,writable:!0})},get:function(a){return b.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}(),function(){window.templateContent=window.templateContent||function(a){return a.content},window.wrap=window.unwrap=function(a){return a},window.createShadowRoot=function(a){return a.webkitCreateShadowRoot()},window.templateContent=function(a){if(window.HTMLTemplateElement&&HTMLTemplateElement.bootstrap&&HTMLTemplateElement.bootstrap(a),!a.content&&!a._content){for(var b=document.createDocumentFragment();a.firstChild;)b.appendChild(a.firstChild);a._content=b}return a.content||a._content}}()}if(function(a){function b(a){for(var b=a||{},d=1;d",""," "," ShadowDOM Inspector"," "," "," ",'
    ',"
",'
'," ",""].join("\n"),d=[],e=function(){var a=b.document,c=a.querySelector("#crumbs");c.textContent="";for(var e,g=0;e=d[g];g++){var h=a.createElement("a");h.href="#",h.textContent=e.localName,h.idx=g,h.onclick=function(a){for(var b;d.length>this.idx;)b=d.pop();f(b.shadow||b,b),a.preventDefault()},c.appendChild(a.createElement("li")).appendChild(h)}},f=function(a,c){var f=b.document;k=[];var g=c||a;d.push(g),e(),f.body.querySelector("#tree").innerHTML="
"+j(a,a.childNodes)+"
"},g=Array.prototype.forEach.call.bind(Array.prototype.forEach),h={STYLE:1,SCRIPT:1,"#comment":1,TEMPLATE:1},i=function(a){return h[a.nodeName]},j=function(a,b,c){if(i(a))return"";var d=c||"";if(a.localName||11==a.nodeType){var e=a.localName||"shadow-root",f=d+l(a);"content"==e&&(b=a.getDistributedNodes()),f+="
";var h=d+"  ";g(b,function(a){f+=j(a,a.childNodes,h)}),f+=d,{br:1}[e]||(f+="</"+e+">",f+="
")}else{var k=a.textContent.trim();f=k?d+'"'+k+'"'+"
":""}return f},k=[],l=function(a){var b="<",c=a.localName||"shadow-root";return a.webkitShadowRoot||a.shadowRoot?(b+=' ",k.push(a)):b+=c||"shadow-root",a.attributes&&g(a.attributes,function(a){b+=" "+a.name+(a.value?'="'+a.value+'"':"")}),b+=">"};shadowize=function(){var a=Number(this.attributes.idx.value),b=k[a];b?f(b.webkitShadowRoot||b.shadowRoot,b):(console.log("bad shadowize node"),console.dir(this))},a.output=j}(window.Inspector),function(a){"use strict";function b(a){return+a===a>>>0}function c(a){return+a}function d(a){return a===Object(a)}function e(a,b){return a===b?0!==a||1/a===1/b:N(a)&&N(b)?!0:a!==a&&b!==b}function f(a){return"string"!=typeof a?!1:(a=a.replace(/\s/g,""),""==a?!0:"."==a[0]?!1:V.test(a))}function g(a){return""==a.trim()?this:b(a)?(this.push(String(a)),this):(a.split(/\./).filter(function(a){return a}).forEach(function(a){this.push(a)},this),void 0)}function h(a){for(var b=0;W>b&&a.check();)a.report(),b++}function i(a){for(var b in a)return!1;return!0}function j(a){return i(a.added)&&i(a.removed)&&i(a.changed)}function k(a,b){var c={},d={},e={};for(var f in b){var g=a[f];(void 0===g||g!==b[f])&&(f in a?g!==b[f]&&(e[f]=g):d[f]=void 0)}for(var f in a)f in b||(c[f]=a[f]);return Array.isArray(a)&&a.length!==b.length&&(e.length=a.length),{added:c,removed:d,changed:e}}function l(a,b){var c=b||(Array.isArray(a)?[]:{});for(var d in a)c[d]=a[d];return Array.isArray(a)&&(c.length=a.length),c}function m(a){this.callback=a,this.reporting=!0,J&&(this.boundInternalCallback=this.internalCallback.bind(this)),this.valid=!0,n(this),this.connect(),this.sync(!0)}function n(a){Y&&(X.push(a),m._allObserversCount++)}function o(a){if(Y)for(var b=0;be;e++){var f='["'+a[e]+'"]';c+=f,b+=" && "+c}return b+=") ",c+='["'+a[d-1]+'"]',b+="return "+c+"; else return undefined;",new Function("obj",b)}function u(a,b){var c=b.toString();return $[c]||($[c]=t(b)),$[c](a)}function v(b,c,e,f,g){var h=void 0;return c.walkPropertiesFrom(b,function(b,i,j){if(j===c.length)return h=i,void 0;var k=e[j];if(!k||i!==k[0]){if(k)for(var l=0;lj;j++)i[j]=new Array(h),i[j][0]=j;for(var k=0;h>k;k++)i[0][k]=k;for(var j=1;g>j;j++)for(var k=1;h>k;k++)if(d[e+j-1]===a[b+k-1])i[j][k]=i[j-1][k-1];else{var l=i[j-1][k]+1,m=i[j][k-1]+1;i[j][k]=m>l?l:m}return i}function A(a){for(var b=a.length-1,c=a[0].length-1,d=a[b][c],e=[];b>0||c>0;)if(0!=b)if(0!=c){var f,g=a[b-1][c-1],h=a[b-1][c],i=a[b][c-1];f=i>h?g>h?h:g:g>i?i:g,f==g?(g==d?e.push(ab):(e.push(bb),d=g),b--,c--):f==h?(e.push(db),b--,d=h):(e.push(cb),c--,d=i)}else e.push(db),b--;else e.push(cb),c--;return e.reverse(),e}function B(a,b,c){for(var d=0;c>d;d++)if(a[d]!==b[d])return d;return c}function C(a,b,c){for(var d=a.length,e=b.length,f=0;c>f&&a[--d]===b[--e];)f++;return f}function D(a,b,c){return{index:a,removed:b,addedCount:c}}function E(a,b,c,d,e,f){var g=0,h=0,i=Math.min(c-b,f-e);if(0==b&&0==e&&(g=B(a,d,i)),c==a.length&&f==d.length&&(h=C(a,d,i-g)),b+=g,e+=g,c-=h,f-=h,0==c-b&&0==f-e)return[];if(b==c){for(var j=D(b,[],0);f>e;)j.removed.push(d[e++]);return[j]}if(e==f)return[D(b,[],c-b)];for(var k=A(z(a,b,c,d,e,f)),j=void 0,l=[],m=b,n=e,o=0;ob||a>d?-1:b==c||d==a?0:c>a?d>b?b-c:d-c:b>d?d-a:b-a}function G(a,b,c,d){for(var e=D(b,c,d),f=!1,g=0,h=0;h=0){a.splice(h,1),h--,g-=i.addedCount-i.removed.length,e.addedCount+=i.addedCount-j;var k=e.removed.length+i.removed.length-j;if(e.addedCount||k){var c=i.removed;if(e.indexi.index+i.addedCount){var m=e.removed.slice(i.index+i.addedCount-e.index);Array.prototype.push.apply(c,m)}e.removed=c,i.indexh)continue;G(e,h,[g.oldValue],1);break;default:console.error("Unexpected record type: "+JSON.stringify(g))}}return e}function I(a,b){var c=[];return H(a,b).forEach(function(b){return 1==b.addedCount&&1==b.removed.length?(b.removed[0]!==a[b.index]&&c.push(b),void 0):(c=c.concat(E(a,b.index,b.index+b.addedCount,b.removed,0,b.removed.length)),void 0)}),c}var J="function"==typeof Object.observe,K=!1;try{var L=new Function("","return true;");K=L()}catch(M){}var N=a.Number.isNaN||function(b){return"number"==typeof b&&a.isNaN(b)},O="__proto__"in{}?function(a){return a}:function(a){var b=a.__proto__;if(!b)return a;var c=Object.create(b);return Object.getOwnPropertyNames(a).forEach(function(b){Object.defineProperty(c,b,Object.getOwnPropertyDescriptor(a,b))}),c},P="[$_a-zA-Z]",Q="[$_a-zA-Z0-9]",R=P+"+"+Q+"*",S="(?:[0-9]|[1-9]+[0-9]+)",T="(?:"+R+"|"+S+")",U="(?:"+T+")(?:\\."+T+")*",V=new RegExp("^"+U+"$");g.prototype=O({__proto__:[],toString:function(){return this.join(".")},walkPropertiesFrom:function(a,b,c){for(var d,e=0;ea&&b.anyChanged);m._allObserversCount=X.length,Z=!1}},Y&&(a.Platform.clearObservers=function(){X=[]}),p.prototype=O({__proto__:m.prototype,connect:function(){J&&Object.observe(this.object,this.boundInternalCallback)},sync:function(){J||(this.oldObject=l(this.object))},check:function(a){var b,c;if(J){if(!a)return!1;c={},b=y(this.object,a,c)}else c=this.oldObject,b=k(this.object,this.oldObject);return j(b)?!1:(this.reportArgs=[b.added||{},b.removed||{},b.changed||{}],this.reportArgs.push(function(a){return c[a]}),!0)},disconnect:function(){J?this.object&&Object.unobserve(this.object,this.boundInternalCallback):this.oldObject=void 0,this.object=void 0}}),q.prototype=O({__proto__:p.prototype,connect:function(){J&&Array.observe(this.object,this.boundInternalCallback)},sync:function(){J||(this.oldObject=this.object.slice())},check:function(a){var b;if(J){if(!a)return!1;b=I(this.object,a)}else b=E(this.object,0,this.object.length,this.oldObject,0,this.oldObject.length);return b&&b.length?(this.reportArgs=[b],!0):!1}}),q.applySplices=function(a,b,c){c.forEach(function(c){for(var d=[c.index,c.removed.length],e=c.index;e0;){var e=c[d];kb[e.name]&&("template"!==e.name&&b.setAttribute(e.name,e.value),a.removeAttribute(e.name))}return b}function I(a,b,c){var d=a.content;if(c)return d.appendChild(b),void 0;for(var e;e=b.firstChild;)d.appendChild(e)}function J(a){"TEMPLATE"===a.tagName?mb||(pb?a.__proto__=HTMLTemplateElement.prototype:F(a,HTMLTemplateElement.prototype)):(F(a,HTMLTemplateElement.prototype),Object.defineProperty(a,"content",ub))}function K(a,b){this.type=a,this.value=b}function L(a){for(var b=[],c=a.length,d=0,e=0;c>e;){if(d=a.indexOf("{{",e),0>d){b.push(new K(wb,a.slice(e)));break}if(d>0&&d>e&&b.push(new K(wb,a.slice(e,d))),e=d+2,d=a.indexOf("}}",e),0>d){var f=a.slice(e-2),g=b[b.length-1];g&&g.type==wb?g.value+=f:b.push(new K(wb,f));break}var h=a.slice(e,d).trim();b.push(new K(xb,h)),e=d+2}return b}function M(a,b,c,d,e){var f,g=e&&e[ib];g&&"function"==typeof g&&(f=g(c,d,b,a),f&&(c=f,d="value")),a.bind(b,c,d)}function N(a,b,c,d,e){var f=L(c);if(f.length&&(1!=f.length||f[0].type!=wb)){if(1==f.length&&f[0].type==xb)return M(a,b,d,f[0].value,e),void 0;for(var g=new U,h=0;hc?(this.keys.push(a),this.values.push(b)):this.values[c]=b},get:function(a){var b=this.keys.indexOf(a);return 0>b?void 0:this.values[b]},"delete":function(a){var b=this.keys.indexOf(a);return 0>b?!1:(this.keys.splice(b,1),this.values.splice(b,1),!0)},forEach:function(a,b){for(var c=0;c>>0)+(c++ +"__")},$.prototype={set:function(b,c){a(b,this.name,{value:c,writable:!0})},get:function(a){return b.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}(),Node.prototype.bind=e,Node.prototype.unbind=f,Node.prototype.unbindAll=g;var _=new $("textContentBinding");h.prototype={dispose:function(){this.model&&"function"==typeof this.model.dispose&&this.model.dispose(),this.observer.close()},set value(a){PathObserver.setValueAtPath(this.model,this.path,a)},reset:function(){this.observer.reset()}},Text.prototype.bind=j,Text.prototype.unbind=k,Text.prototype.unbindAll=l;var ab=new $("attributeBindings");n.prototype={add:function(a,b,c,d){a.removeAttribute(b);var e="?"==b[b.length-1];e&&(b=b.slice(0,-1)),this.remove(b);var f=new h(c,d,m(a,b,e));this.bindingMap[b]=f},remove:function(a){var b=this.bindingMap[a];b&&(b.dispose(),delete this.bindingMap[a])},removeAll:function(){Object.keys(this.bindingMap).forEach(function(a){this.remove(a)},this)}},Element.prototype.bind=o,Element.prototype.unbind=p,Element.prototype.unbindAll=q;var bb,cb=new $("valueBinding"),db=new $("checkedBinding");!function(){var a=document.createElement("div"),b=a.appendChild(document.createElement("input"));b.setAttribute("type","checkbox");var c,d=0;b.addEventListener("click",function(){d++,c=c||"click"}),b.addEventListener("change",function(){d++,c=c||"change"});var e=document.createEvent("MouseEvent");e.initMouseEvent("click",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),b.dispatchEvent(e),bb=1==d?"change":c}(),s.prototype={valueChanged:function(a){this.element[this.valueProperty]=this.produceElementValue(a)},updateBinding:function(){this.binding.value=this.element[this.valueProperty],this.binding.reset(),this.postUpdateBinding&&this.postUpdateBinding(),Platform.performMicrotaskCheckpoint()},unbind:function(){this.binding.dispose(),this.element.removeEventListener(r(this.element),this.boundUpdateBinding,!0)}},t.prototype=Z({__proto__:s.prototype,produceElementValue:function(a){return String(null==a?"":a)}}),v.prototype=Z({__proto__:s.prototype,produceElementValue:function(a){return Boolean(a)},postUpdateBinding:function(){"INPUT"===this.element.tagName&&"radio"===this.element.type&&u(this.element).forEach(function(a){var b=db.get(a);b&&(b.binding.value=!1)})}}),HTMLInputElement.prototype.bind=w,HTMLInputElement.prototype.unbind=x,HTMLInputElement.prototype.unbindAll=y,z.prototype=Z({__proto__:s.prototype,valueChanged:function(a){function b(){a>d.element.length&&c--?ob(b):d.element[d.valueProperty]=a}var a=this.produceElementValue(a);if(a<=this.element.length)return this.element[this.valueProperty]=a,void 0;var c=2,d=this;ob(b)},produceElementValue:function(a){return Number(a)}}),HTMLSelectElement.prototype.bind=w,HTMLSelectElement.prototype.unbind=x,HTMLSelectElement.prototype.unbindAll=y,HTMLTextAreaElement.prototype.bind=w,HTMLTextAreaElement.prototype.unbind=x,HTMLTextAreaElement.prototype.unbindAll=y;var eb="bind",fb="repeat",gb="if",hb="syntax",ib="getBinding",jb="getInstanceModel",kb={template:!0,repeat:!0,bind:!0,ref:!0},lb={THEAD:!0,TBODY:!0,TFOOT:!0,TH:!0,TR:!0,TD:!0,COLGROUP:!0,COL:!0,CAPTION:!0,OPTION:!0,OPTGROUP:!0},mb="undefined"!=typeof HTMLTemplateElement,nb="template, "+Object.keys(lb).map(function(a){return a.toLowerCase()+"[template]"}).join(", "),ob=function(){function a(){var a=this;this.value=!1;var b=this.value,e=[],f=!1;this.schedule=function(c){return e.indexOf(c)>=0?!0:f?!1:(e.push(c),b===a.value&&(a.value=!a.value),!0)},new PathObserver(this,"value",function(){f=!0;for(var g=0;ge;e++)d.unshift("..");var g=d.join("/");return g},resolvePathsInHTML:function(a){var b=k.documentUrlFromNode(a.body);window.HTMLTemplateElement&&HTMLTemplateElement.bootstrap&&HTMLTemplateElement.bootstrap(a);var c=a.body;k._resolvePathsInHTML(c,b)},_resolvePathsInHTML:function(a,b){if(k.resolveAttributes(a,b),k.resolveStyleElts(a,b),window.templateContent){var c=a.querySelectorAll("template");c&&p(c,function(a){k._resolvePathsInHTML(templateContent(a),b)})}},resolvePathsInStylesheet:function(a){var b=k.nodeUrl(a);a.__resource=k.resolveCssText(a.__resource,b)},resolveStyleElts:function(a,b){var c=a.querySelectorAll("style");c&&p(c,function(a){a.textContent=k.resolveCssText(a.textContent,b)})},resolveCssText:function(a,b){return a.replace(/url\([^)]*\)/g,function(a){var c=a.replace(/["']/g,"").slice(4,-1);return c=k.resolveUrl(b,c,!0),"url("+c+")"})},resolveAttributes:function(a,b){var c=a&&a.querySelectorAll(m);c&&p(c,function(a){this.resolveNodeAttributes(a,b)},this)},resolveNodeAttributes:function(a,b){l.forEach(function(c){var d=a.attributes[c];if(d&&d.value&&d.value.search(n)<0){var e=k.resolveUrl(b,d.value,!0);d.value=e}})}},l=["href","src","action"],m="["+l.join("],[")+"]",n="{{.*}}",o=a.xhr||{async:!0,ok:function(a){return a.status>=200&&a.status<300||304===a.status||0===a.status},load:function(b,c,d){var e=new XMLHttpRequest;(a.flags.debug||a.flags.bust)&&(b+="?"+Math.random()),e.open("GET",b,o.async),e.addEventListener("readystatechange",function(){4===e.readyState&&c.call(d,!o.ok(e)&&e,e.response,b)}),e.send()}},p=Array.prototype.forEach.call.bind(Array.prototype.forEach);a.xhr=o,a.importer=i,a.getDocumentUrl=k.getDocumentUrl,"function"!=typeof window.CustomEvent&&(window.CustomEvent=function(a){var b=document.createEvent("HTMLEvents");return b.initEvent(a,!0,!0),b}),"complete"===document.readyState||"interactive"===document.readyState?boostrap():window.addEventListener("DOMContentLoaded",f)}(window.HTMLImports),function(a){function b(a){u.push(a),t||(t=!0,q(d))}function c(a){return window.ShadowDOMPolyfill&&window.ShadowDOMPolyfill.wrapIfNeeded(a)||a}function d(){t=!1;var a=u;u=[],a.sort(function(a,b){return a.uid_-b.uid_});var b=!1;a.forEach(function(a){var c=a.takeRecords();e(a),c.length&&(a.callback_(c,a),b=!0)}),b&&d()}function e(a){a.nodes_.forEach(function(b){var c=p.get(b);c&&c.forEach(function(b){b.observer===a&&b.removeTransientObservers()})})}function f(a,b){for(var c=a;c;c=c.parentNode){var d=p.get(c);if(d)for(var e=0;e0){var e=c[d-1],f=n(e,a);if(f)return c[d-1]=f,void 0}else b(this.observer);c[d]=a},addListeners:function(){this.addListeners_(this.target)},addListeners_:function(a){var b=this.options;b.attributes&&a.addEventListener("DOMAttrModified",this,!0),b.characterData&&a.addEventListener("DOMCharacterDataModified",this,!0),b.childList&&a.addEventListener("DOMNodeInserted",this,!0),(b.childList||b.subtree)&&a.addEventListener("DOMNodeRemoved",this,!0)},removeListeners:function(){this.removeListeners_(this.target)},removeListeners_:function(a){var b=this.options;b.attributes&&a.removeEventListener("DOMAttrModified",this,!0),b.characterData&&a.removeEventListener("DOMCharacterDataModified",this,!0),b.childList&&a.removeEventListener("DOMNodeInserted",this,!0),(b.childList||b.subtree)&&a.removeEventListener("DOMNodeRemoved",this,!0)},addTransientObserver:function(a){if(a!==this.target){this.addListeners_(a),this.transientObservedNodes.push(a);var b=p.get(a);b||p.set(a,b=[]),b.push(this)}},removeTransientObservers:function(){var a=this.transientObservedNodes;this.transientObservedNodes=[],a.forEach(function(a){this.removeListeners_(a);for(var b=p.get(a),c=0;c1?logFlags.dom&&console.warn("inserted:",a.localName,"insert/remove count:",a.__inserted):a.insertedCallback&&(logFlags.dom&&console.log("inserted:",a.localName),a.insertedCallback())),logFlags.dom&&console.groupEnd())}function j(a){k(a),c(a,function(a){k(a)})}function k(a){(a.removedCallback||a.__upgraded__&&logFlags.dom)&&(logFlags.dom&&console.log("removed:",a.localName),l(a)||(a.__inserted=(a.__inserted||0)-1,a.__inserted>0&&(a.__inserted=0),a.__inserted<0?logFlags.dom&&console.warn("removed:",a.localName,"insert/remove count:",a.__inserted):a.removedCallback&&a.removedCallback()))}function l(a){for(var b=a;b;){if(b==a.ownerDocument)return!0;b=b.parentNode||b.host}}function m(a){a.webkitShadowRoot&&!a.webkitShadowRoot.__watched&&(logFlags.dom&&console.log("watching shadow-root for: ",a.localName),r(a.webkitShadowRoot),a.webkitShadowRoot.__watched=!0)}function n(a){m(a),c(a,function(){m(a)})}function o(a){switch(a.localName){case"style":case"script":case"template":case void 0:return!0}}function p(a){if(logFlags.dom){var b=a[0];if(b&&"childList"===b.type&&b.addedNodes&&b.addedNodes){for(var c=b.addedNodes[0];c&&c!==document&&!c.host;)c=c.parentNode;var d=c&&(c.URL||c._URL||c.host&&c.host.localName)||"";d=d.split("/?").shift().split("/").pop()}console.group("mutations (%d) [%s]",a.length,d||"")}a.forEach(function(a){"childList"===a.type&&(v(a.addedNodes,function(a){o(a)||f(a)}),v(a.removedNodes,function(a){o(a)||j(a)}))}),logFlags.dom&&console.groupEnd()}function q(){p(u.takeRecords())}function r(a){u.observe(a,{childList:!0,subtree:!0})}function s(a){r(a)}function t(a){logFlags.dom&&console.group("upgradeDocument: ",(a.URL||a._URL||"").split("/").pop()),f(a),logFlags.dom&&console.groupEnd()}var u=new MutationObserver(p),v=Array.prototype.forEach.call.bind(Array.prototype.forEach);a.watchShadow=m,a.watchAllShadows=n,a.upgradeAll=f,a.upgradeSubtree=e,a.observeDocument=s,a.upgradeDocument=t,a.takeRecords=q}(window.CustomElements),function(){function parseElementElement(a){var b={name:"","extends":null};takeAttributes(a,b);var c=HTMLElement.prototype;if(b.extends){var d=document.createElement(b.extends);c=d.__proto__||Object.getPrototypeOf(d)}b.prototype=Object.create(c),a.options=b;var e=a.querySelector("script,scripts");e&&executeComponentScript(e.textContent,a,b.name);var f=document.register(b.name,b);a.ctor=f;var g=a.getAttribute("constructor");g&&(window[g]=f)}function takeAttributes(a,b){for(var c in b){var d=a.attributes[c];d&&(b[c]=d.value)}}function executeComponentScript(inScript,inContext,inName){context=inContext;var owner=context.ownerDocument,url=owner._URL||owner.URL||owner.impl&&(owner.impl._URL||owner.impl.URL),match=url.match(/.*\/([^.]*)[.]?.*$/);if(match){var name=match[1];url+=name!=inName?":"+inName:""}var code="__componentScript('"+inName+"', function(){"+inScript+"});"+"\n//@ sourceURL="+url+"\n";eval(code)}function mixin(a,b){a=a||{};try{Object.getOwnPropertyNames(b).forEach(function(c){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)})}catch(c){}return a}var HTMLElementElement=function(a){return a.register=HTMLElementElement.prototype.register,parseElementElement(a),a};HTMLElementElement.prototype={register:function(a){a&&(this.options.lifecycle=a.lifecycle,a.prototype&&mixin(this.options.prototype,a.prototype))}};var context;window.__componentScript=function(a,b){b.call(context)},window.HTMLElementElement=HTMLElementElement}(),function(){function a(a){return!b(a)&&a.parentNode&&!d(a)}function b(a){return a.ownerDocument===document||a.ownerDocument.impl===document}function c(a){return"link"===a.localName&&a.getAttribute("rel")===e}function d(a){return a.parentNode&&"element"===a.parentNode.localName?!0:void 0}var e="import",f={selectors:["link[rel="+e+"]","link[rel=stylesheet]","script[src]","script","style","element"],map:{link:"parseLink",script:"parseScript",element:"parseElement",style:"parseStyle"},parse:function(a){if(!a.__parsed){a.__parsed=!0;var b=a.querySelectorAll(g.selectors);h(b,function(a){g[g.map[a.localName]](a)}),CustomElements.upgradeDocument(a),CustomElements.observeDocument(a)}},parseLink:function(b){c(b)?b.content&&g.parse(b.content):a(b)&&document.head.appendChild(b)},parseScript:function(b){if(a(b)){var c=b.__resource||b.textContent;c&&(c+="\n//@ sourceURL="+b.__nodeUrl+"\n",eval.call(window,c))}},parseStyle:function(b){a(b)&&document.head.appendChild(b)},parseElement:function(a){new HTMLElementElement(a)}},g=f,h=Array.prototype.forEach.call.bind(Array.prototype.forEach);CustomElements.parser=f}(),function(){function a(){setTimeout(function(){CustomElements.parser.parse(document),CustomElements.ready=!0,CustomElements.readyTime=(new Date).getTime(),window.HTMLImports&&(CustomElements.elapsed=CustomElements.readyTime-HTMLImports.readyTime),document.body.dispatchEvent(new CustomEvent("WebComponentsReady",{bubbles:!0}))},0)}"function"!=typeof window.CustomEvent&&(window.CustomEvent=function(a){var b=document.createEvent("HTMLEvents");return b.initEvent(a,!0,!0),b}),window.HTMLImports?document.addEventListener("HTMLImportsLoaded",a):"complete"===document.readyState||"interactive"===document.readyState?boostrap():window.addEventListener("DOMContentLoaded",a)}(),function(){function a(){}var b=document.createElement("style");b.textContent="element {display: none;} /* injected by platform.js */";var c=document.querySelector("head");if(c.insertBefore(b,c.firstChild),window.ShadowDOMPolyfill){CustomElements.watchShadow=a,CustomElements.watchAllShadows=a;var d=["upgradeAll","upgradeSubtree","observeDocument","upgradeDocument"],e={};d.forEach(function(a){e[a]=CustomElements[a]}),d.forEach(function(a){CustomElements[a]=function(b){return e[a](wrap(b))}})}}(),function(a){a=a||{};var b={shadow:function(a){return a?a.shadowRoot||a.webkitShadowRoot:void 0},canTarget:function(a){return a&&Boolean(a.elementFromPoint)},targetingShadow:function(a){var b=this.shadow(a);return this.canTarget(b)?b:void 0},searchRoot:function(a,b,c){if(a){var d,e,f,g=a.elementFromPoint(b,c);for(e=this.targetingShadow(g);e;){if(d=e.elementFromPoint(b,c)){var h=this.targetingShadow(d);return this.searchRoot(h,b,c)||d}f=e.querySelector("shadow"),e=f&&f.olderShadowRoot}return g}},findTarget:function(a){var b=a.clientX,c=a.clientY;return this.searchRoot(document,b,c)}};a.targetFinding=b,a.findTarget=b.findTarget.bind(b),window.PointerEventsPolyfill=a}(window.PointerEventsPolyfill),function(){function a(a){return'[touch-action="'+a+'"]'}function b(a){return"{ -ms-touch-action: "+a+"; touch-action: "+a+"; }"}var c=["none","pan-x","pan-y",{rule:"pan-x pan-y",selectors:["scroll","pan-x pan-y","pan-y pan-x"]}],d="";c.forEach(function(c){d+=String(c)===c?a(c)+b(c):c.selectors.map(a)+b(c.rule)});var e=document.createElement("style");e.textContent=d;var f=document.querySelector("head");f.insertBefore(e,f.firstChild)}(),function(a){function b(a,b){var b=b||{},e=b.buttons;if(void 0===e)switch(b.which){case 1:e=1;break;case 2:e=4;break;case 3:e=2;break;default:e=0}var f;if(c)f=new MouseEvent(a,b);else{f=document.createEvent("MouseEvent");var g={bubbles:!1,cancelable:!1,view:null,detail:null,screenX:0,screenY:0,clientX:0,clientY:0,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null};Object.keys(g).forEach(function(a){a in b&&(g[a]=b[a])}),f.initMouseEvent(a,g.bubbles,g.cancelable,g.view,g.detail,g.screenX,g.screenY,g.clientX,g.clientY,g.ctrlKey,g.altKey,g.shiftKey,g.metaKey,g.button,g.relatedTarget)}d||Object.defineProperty(f,"buttons",{get:function(){return e},enumerable:!0});var h=0;return h=b.pressure?b.pressure:e?.5:0,Object.defineProperties(f,{pointerId:{value:b.pointerId||0,enumerable:!0},width:{value:b.width||0,enumerable:!0},height:{value:b.height||0,enumerable:!0},pressure:{value:h,enumerable:!0},tiltX:{value:b.tiltX||0,enumerable:!0},tiltY:{value:b.tiltY||0,enumerable:!0},pointerType:{value:b.pointerType||"",enumerable:!0},hwTimestamp:{value:b.hwTimestamp||0,enumerable:!0},isPrimary:{value:b.isPrimary||!1,enumerable:!0}}),f}var c=!1,d=!1;try{var e=new MouseEvent("click",{buttons:1});c=!0,d=1===e.buttons}catch(f){}a.PointerEvent=b}(window),function(a){function b(){this.ids=[],this.pointers=[]}b.prototype={set:function(a,b){var c=this.ids.indexOf(a);c>-1?this.pointers[c]=b:(this.ids.push(a),this.pointers.push(b))},has:function(a){return this.ids.indexOf(a)>-1},"delete":function(a){var b=this.ids.indexOf(a);b>-1&&(this.ids.splice(b,1),this.pointers.splice(b,1))},get:function(a){var b=this.ids.indexOf(a);return this.pointers[b]},get size(){return this.pointers.length},clear:function(){this.ids.length=0,this.pointers.length=0}},a.PointerMap=b}(window.PointerEventsPolyfill),function(a){var b;if("undefined"!=typeof WeakMap&&navigator.userAgent.indexOf("Firefox/")<0)b=WeakMap;else{var c=Object.defineProperty,d=Object.hasOwnProperty,e=(new Date).getTime()%1e9;b=function(){this.name="__st"+(1e9*Math.random()>>>0)+(e++ +"__")},b.prototype={set:function(a,b){c(a,this.name,{value:b,writable:!0})},get:function(a){return d.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}a.SideTable=b}(window.PointerEventsPolyfill),function(a){var b={targets:new a.SideTable,handledEvents:new a.SideTable,scrollType:new a.SideTable,pointermap:new a.PointerMap,events:[],eventMap:{},eventSources:{},registerSource:function(a,b){var c=b,d=c.events;d&&(this.events=this.events.concat(d),d.forEach(function(a){c[a]&&(this.eventMap[a]=c[a].bind(c))},this),this.eventSources[a]=c)},registerTarget:function(a,b){this.scrollType.set(a,b||"none"),this.listen(this.events,a,this.boundHandler)},unregisterTarget:function(a){this.scrollType.set(a,null),this.unlisten(this.events,a,this.boundHandler)},down:function(a){this.fireEvent("pointerdown",a)},move:function(a){this.fireEvent("pointermove",a)},up:function(a){this.fireEvent("pointerup",a)},enter:function(a){a.bubbles=!1,this.fireEvent("pointerenter",a)},leave:function(a){a.bubbles=!1,this.fireEvent("pointerleave",a)},over:function(a){a.bubbles=!0,this.fireEvent("pointerover",a)},out:function(a){a.bubbles=!0,this.fireEvent("pointerout",a)},cancel:function(a){this.fireEvent("pointercancel",a)},leaveOut:function(a){a.target.contains(a.relatedTarget)||this.leave(a),this.out(a)},enterOver:function(a){a.target.contains(a.relatedTarget)||this.enter(a),this.over(a)},eventHandler:function(a){if(!this.handledEvents.get(a)){var b=a.type,c=this.eventMap&&this.eventMap[b];c&&c(a),this.handledEvents.set(a,!0)}},listen:function(a,b,c){a.forEach(function(a){this.addEvent(a,c,!1,b)},this)},unlisten:function(a,b,c){a.forEach(function(a){this.removeEvent(a,c,!1,b)},this)},addEvent:function(a,b,c,d){d.addEventListener(a,b,c)},removeEvent:function(a,b,c,d){d.removeEventListener(a,b,c)},makeEvent:function(a,b){var c=new PointerEvent(a,b);return this.targets.set(c,this.targets.get(b)||b.target),c},fireEvent:function(a,b){var c=this.makeEvent(a,b);return this.dispatchEvent(c)},cloneEvent:function(a){var b={};for(var c in a)b[c]=a[c];return b},getTarget:function(a){return this.captureInfo&&this.captureInfo.id===a.pointerId?this.captureInfo.target:this.targets.get(a)},setCapture:function(a,b){this.captureInfo&&this.releaseCapture(this.captureInfo.id),this.captureInfo={id:a,target:b};var c=new PointerEvent("gotpointercapture",{bubbles:!0});this.implicitRelease=this.releaseCapture.bind(this,a),document.addEventListener("pointerup",this.implicitRelease),document.addEventListener("pointercancel",this.implicitRelease),this.targets.set(c,b),this.asyncDispatchEvent(c)},releaseCapture:function(a){if(this.captureInfo&&this.captureInfo.id===a){var b=new PointerEvent("lostpointercapture",{bubbles:!0}),c=this.captureInfo.target;this.captureInfo=null,document.removeEventListener("pointerup",this.implicitRelease),document.removeEventListener("pointercancel",this.implicitRelease),this.targets.set(b,c),this.asyncDispatchEvent(b)}},dispatchEvent:function(a){var b=this.getTarget(a);return b?b.dispatchEvent(a):void 0},asyncDispatchEvent:function(a){setTimeout(this.dispatchEvent.bind(this,a),0)}};b.boundHandler=b.eventHandler.bind(b),a.dispatcher=b}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher,c=Array.prototype.forEach.call.bind(Array.prototype.forEach),d=Array.prototype.map.call.bind(Array.prototype.map),e={ATTRIB:"touch-action",SELECTOR:"[touch-action]",EMITTER:"none",XSCROLLER:"pan-x",YSCROLLER:"pan-y",SCROLLER:/^(?:pan-x pan-y)|(?:pan-y pan-x)|scroll$/,OBSERVER_INIT:{subtree:!0,childList:!0,attributes:!0,attributeFilter:["touch-action"]},watchSubtree:function(b){a.targetFinding.canTarget(b)&&h.observe(b,this.OBSERVER_INIT)},enableOnSubtree:function(a){var b=a||document;this.watchSubtree(a),b===document&&"complete"!==document.readyState?this.installOnLoad():this.installNewSubtree(b)},installNewSubtree:function(a){c(this.findElements(a),this.addElement,this)},findElements:function(a){var b=a||document;return b.querySelectorAll?b.querySelectorAll(this.SELECTOR):[]},touchActionToScrollType:function(a){var b=a;return b===this.EMITTER?"none":b===this.XSCROLLER?"X":b===this.YSCROLLER?"Y":this.SCROLLER.exec(b)?"XY":void 0},removeElement:function(c){b.unregisterTarget(c);var d=a.targetFinding.shadow(c);d&&b.unregisterTarget(d)},addElement:function(c){var d=c.getAttribute&&c.getAttribute(this.ATTRIB),e=this.touchActionToScrollType(d);if(e){b.registerTarget(c,e);var f=a.targetFinding.shadow(c);f&&b.registerTarget(f,e)}},elementChanged:function(a){this.removeElement(a),this.addElement(a)},concatLists:function(a,b){for(var c,d=0,e=b.length;e>d&&(c=b[d]);d++)a.push(c);return a},installOnLoad:function(){document.addEventListener("DOMContentLoaded",this.installNewSubtree.bind(this,document))},flattenMutationTree:function(a){var b=d(a,this.findElements,this);return b.push(a),b.reduce(this.concatLists,[])},mutationWatcher:function(a){a.forEach(this.mutationHandler,this)},mutationHandler:function(a){var b=a;if("childList"===b.type){var c=this.flattenMutationTree(b.addedNodes);c.forEach(this.addElement,this);var d=this.flattenMutationTree(b.removedNodes);d.forEach(this.removeElement,this)}else"attributes"===b.type&&this.elementChanged(b.target)}},f=e.mutationWatcher.bind(e);a.installer=e,a.register=e.enableOnSubtree.bind(e),a.setTouchAction=function(a,c){var d=this.touchActionToScrollType(c);d?b.registerTarget(a,d):b.unregisterTarget(a)}.bind(e);var g=window.MutationObserver||window.WebKitMutationObserver;if(g)var h=new g(f);else e.watchSubtree=function(){console.warn("PointerEventsPolyfill: MutationObservers not found, touch-action will not be dynamically detected")}}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher,c=a.installer,d=a.findTarget,e=b.pointermap,f=b.scrollType,g=Array.prototype.map.call.bind(Array.prototype.map),h=2500,i=25,j={events:["touchstart","touchmove","touchend","touchcancel"],POINTER_TYPE:"touch",firstTouch:null,isPrimaryTouch:function(a){return this.firstTouch===a.identifier +},setPrimaryTouch:function(a){null===this.firstTouch&&(this.firstTouch=a.identifier,this.firstXY={X:a.clientX,Y:a.clientY},this.scrolling=!1)},removePrimaryTouch:function(a){this.isPrimaryTouch(a)&&(this.firstTouch=null,this.firstXY=null)},touchToPointer:function(a){var c=b.cloneEvent(a);return c.pointerId=a.identifier+2,c.target=d(c),c.bubbles=!0,c.cancelable=!0,c.button=0,c.buttons=1,c.width=a.webkitRadiusX||a.radiusX,c.height=a.webkitRadiusY||a.radiusY,c.pressure=a.webkitForce||a.force,c.isPrimary=this.isPrimaryTouch(a),c.pointerType=this.POINTER_TYPE,c},processTouches:function(a,b){var c=a.changedTouches,d=g(c,this.touchToPointer,this);d.forEach(b,this)},shouldScroll:function(a){if(this.firstXY){var b,c=f.get(a.currentTarget);if("none"===c)b=!1;else if("XY"===c)b=!0;else{var d=a.changedTouches[0],e=c,g="Y"===c?"X":"Y",h=Math.abs(d["client"+e]-this.firstXY[e]),i=Math.abs(d["client"+g]-this.firstXY[g]);b=h>=i}return this.firstXY=null,b}},findTouch:function(a,b){for(var c,d=0,e=a.length;e>d&&(c=a[d]);d++)if(c.identifier===b)return!0},vacuumTouches:function(a){var b=a.touches;if(e.size>=b.length){var c=[];e.ids.forEach(function(a){if(1!==a&&!this.findTouch(b,a-2)){var d=e.get(a).out;c.push(this.touchToPointer(d))}},this),c.forEach(this.cancelOut,this)}},touchstart:function(a){this.vacuumTouches(a),this.setPrimaryTouch(a.changedTouches[0]),this.dedupSynthMouse(a),this.scrolling||this.processTouches(a,this.overDown)},overDown:function(a){e.set(a.pointerId,{target:a.target,out:a,outTarget:a.target}),b.over(a),b.down(a)},touchmove:function(a){this.scrolling||(this.shouldScroll(a)?(this.scrolling=!0,this.touchcancel(a)):(a.preventDefault(),this.processTouches(a,this.moveOverOut)))},moveOverOut:function(a){var c=a,d=e.get(c.pointerId),f=d.out,g=d.outTarget;b.move(c),f&&g!==c.target&&(f.relatedTarget=c.target,c.relatedTarget=g,f.target=g,b.leaveOut(f),b.enterOver(c)),d.out=c,d.outTarget=c.target},touchend:function(a){this.dedupSynthMouse(a),this.processTouches(a,this.upOut)},upOut:function(a){this.scrolling||(b.up(a),b.out(a)),this.cleanUpPointer(a)},touchcancel:function(a){this.processTouches(a,this.cancelOut)},cancelOut:function(a){b.cancel(a),b.out(a),this.cleanUpPointer(a)},cleanUpPointer:function(a){e.delete(a.pointerId),this.removePrimaryTouch(a)},dedupSynthMouse:function(a){var b=k.lastTouches,c=a.changedTouches[0];if(this.isPrimaryTouch(c)){var d={x:c.clientX,y:c.clientY};b.push(d);var e=function(a,b){var c=a.indexOf(b);c>-1&&a.splice(c,1)}.bind(null,b,d);setTimeout(e,h)}}},k={POINTER_ID:1,POINTER_TYPE:"mouse",events:["mousedown","mousemove","mouseup","mouseover","mouseout"],global:["mousedown","mouseup","mouseover","mouseout"],lastTouches:[],mouseHandler:b.eventHandler.bind(b),isEventSimulatedFromTouch:function(a){for(var b,c=this.lastTouches,d=a.clientX,e=a.clientY,f=0,g=c.length;g>f&&(b=c[f]);f++){var h=Math.abs(d-b.x),j=Math.abs(e-b.y);if(i>=h&&i>=j)return!0}},prepareEvent:function(a){var c=b.cloneEvent(a);return c.pointerId=this.POINTER_ID,c.isPrimary=!0,c.pointerType=this.POINTER_TYPE,c},mousedown:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=e.has(this.POINTER_ID);if(c&&(this.cancel(a),c=!1),!c){var d=this.prepareEvent(a);e.set(this.POINTER_ID,a),b.down(d),b.listen(this.global,document,this.mouseHandler)}}},mousemove:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a);b.move(c)}},mouseup:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=e.get(this.POINTER_ID);if(c&&c.button===a.button){var d=this.prepareEvent(a);b.up(d),this.cleanupMouse()}}},mouseover:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a);b.enterOver(c)}},mouseout:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a);b.leaveOut(c)}},cancel:function(a){var c=this.prepareEvent(a);b.cancel(c),this.cleanupMouse()},cleanupMouse:function(){e.delete(this.POINTER_ID),b.unlisten(this.global,document,this.mouseHandler)}},l={events:["MSPointerDown","MSPointerMove","MSPointerUp","MSPointerOut","MSPointerOver","MSPointerCancel","MSGotPointerCapture","MSLostPointerCapture"],POINTER_TYPES:["","unavailable","touch","pen","mouse"],prepareEvent:function(a){var c=b.cloneEvent(a);return c.pointerType=this.POINTER_TYPES[a.pointerType],c},cleanup:function(a){e.delete(a)},MSPointerDown:function(a){e.set(a.pointerId,a);var c=this.prepareEvent(a);b.down(c)},MSPointerMove:function(a){var c=this.prepareEvent(a);b.move(c)},MSPointerUp:function(a){var c=this.prepareEvent(a);b.up(c),this.cleanup(a.pointerId)},MSPointerOut:function(a){var c=this.prepareEvent(a);b.leaveOut(c)},MSPointerOver:function(a){var c=this.prepareEvent(a);b.enterOver(c)},MSPointerCancel:function(a){var c=this.prepareEvent(a);b.cancel(c),this.cleanup(a.pointerId)},MSLostPointerCapture:function(a){var c=b.makeEvent("lostpointercapture",a);b.dispatchEvent(c)},MSGotPointerCapture:function(a){var c=b.makeEvent("gotpointercapture",a);b.dispatchEvent(c)}};if(void 0===window.navigator.pointerEnabled){if(window.navigator.msPointerEnabled){var m=window.navigator.msMaxTouchPoints;Object.defineProperty(window.navigator,"maxTouchPoints",{value:m,enumerable:!0}),b.registerSource("ms",l),b.registerTarget(document)}else b.registerSource("mouse",k),"ontouchstart"in window&&b.registerSource("touch",j),c.enableOnSubtree(document),b.listen(["mousemove"],document,b.boundHandler);Object.defineProperty(window.navigator,"pointerEnabled",{value:!0,enumerable:!0})}}(window.PointerEventsPolyfill),function(a){function b(a){if(!e.pointermap.has(a))throw new Error("InvalidPointerId")}var c,d,e=a.dispatcher,f=window.navigator;f.msPointerEnabled?(c=function(a){b(a),this.msSetPointerCapture(a)},d=function(a){b(a),this.msReleasePointerCapture(a)}):(c=function(a){b(a),e.setCapture(a,this)},d=function(a){b(a),e.releaseCapture(a,this)}),Element.prototype.setPointerCapture||Object.defineProperties(Element.prototype,{setPointerCapture:{value:c},releasePointerCapture:{value:d}})}(window.PointerEventsPolyfill),PointerGestureEvent.prototype.preventTap=function(){this.tapPrevented=!0},function(a){a=a||{},a.utils={LCA:{find:function(a,b){if(a===b)return a;if(a.contains){if(a.contains(b))return a;if(b.contains(a))return b}var c=this.depth(a),d=this.depth(b),e=c-d;for(e>0?a=this.walk(a,e):b=this.walk(b,-e);a&&b&&a!==b;)a=this.walk(a,1),b=this.walk(b,1);return a},walk:function(a,b){for(var c=0;b>c;c++)a=a.parentNode;return a},depth:function(a){for(var b=0;a;)b++,a=a.parentNode;return b}}},a.findLCA=function(b,c){return a.utils.LCA.find(b,c)},window.PointerGestures=a}(window.PointerGestures),function(a){var b;if("undefined"!=typeof WeakMap&&navigator.userAgent.indexOf("Firefox/")<0)b=WeakMap;else{var c=Object.defineProperty,d=Object.hasOwnProperty,e=(new Date).getTime()%1e9;b=function(){this.name="__st"+(1e9*Math.random()>>>0)+(e++ +"__")},b.prototype={set:function(a,b){c(a,this.name,{value:b,writable:!0})},get:function(a){return d.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}a.SideTable=b}(window.PointerGestures),function(a){function b(){this.ids=[],this.pointers=[]}b.prototype={set:function(a,b){var c=this.ids.indexOf(a);c>-1?this.pointers[c]=b:(this.ids.push(a),this.pointers.push(b))},has:function(a){return this.ids.indexOf(a)>-1},"delete":function(a){var b=this.ids.indexOf(a);b>-1&&(this.ids.splice(b,1),this.pointers.splice(b,1))},get:function(a){var b=this.ids.indexOf(a);return this.pointers[b]},get size(){return this.pointers.length},clear:function(){this.ids.length=0,this.pointers.length=0}},window.Map&&(b=window.Map),a.PointerMap=b}(window.PointerGestures),function(a){var b={handledEvents:new a.SideTable,targets:new a.SideTable,handlers:{},recognizers:{},events:["pointerdown","pointermove","pointerup","pointerover","pointerout","pointercancel"],registerRecognizer:function(a,b){var c=b;this.recognizers[a]=c,this.events.forEach(function(a){if(c[a]){var b=c[a].bind(c);this.addHandler(a,b)}},this)},addHandler:function(a,b){var c=a;this.handlers[c]||(this.handlers[c]=[]),this.handlers[c].push(b)},registerTarget:function(a){this.listen(this.events,a)},unregisterTarget:function(a){this.unlisten(this.events,a)},eventHandler:function(a){if(!this.handledEvents.get(a)){var b,c=a.type;(b=this.handlers[c])&&this.makeQueue(b,a),this.handledEvents.set(a,!0)}},makeQueue:function(a,b){var c=this.cloneEvent(b);setTimeout(this.runQueue.bind(this,a,c),0)},runQueue:function(a,b){this.currentPointerId=b.pointerId;for(var c,d=0,e=a.length;e>d&&(c=a[d]);d++)c(b);this.currentPointerId=0},listen:function(a,b){a.forEach(function(a){this.addEvent(a,this.boundHandler,!1,b)},this)},unlisten:function(a){a.forEach(function(a){this.removeEvent(a,this.boundHandler,!1,inTarget)},this)},addEvent:function(a,b,c,d){d.addEventListener(a,b,c)},removeEvent:function(a,b,c,d){d.removeEventListener(a,b,c)},makeEvent:function(a,b){return new PointerGestureEvent(a,b)},cloneEvent:function(a){var b={};for(var c in a)b[c]=a[c];return b},dispatchEvent:function(a,b){var c=b||this.targets.get(a);c&&(c.dispatchEvent(a),a.tapPrevented&&this.preventTap(this.currentPointerId))},asyncDispatchEvent:function(a,b){var c=function(){this.dispatchEvent(a,b)}.bind(this);setTimeout(c,0)},preventTap:function(a){var b=this.recognizers.tap;b&&b.preventTap(a)}};b.boundHandler=b.eventHandler.bind(b),a.dispatcher=b,a.register=function(b){var c=window.PointerEventsPolyfill;c&&c.register(b),a.dispatcher.registerTarget(b)},b.registerTarget(document)}(window.PointerGestures),function(a){var b=a.dispatcher,c={HOLD_DELAY:200,WIGGLE_THRESHOLD:16,events:["pointerdown","pointermove","pointerup","pointercancel"],heldPointer:null,holdJob:null,pulse:function(){var a=Date.now()-this.heldPointer.timeStamp,b=this.held?"holdpulse":"hold";this.fireHold(b,a),this.held=!0},cancel:function(){clearInterval(this.holdJob),this.held&&this.fireHold("release"),this.held=!1,this.heldPointer=null,this.target=null,this.holdJob=null},pointerdown:function(a){a.isPrimary&&!this.heldPointer&&(this.heldPointer=a,this.target=a.target,this.holdJob=setInterval(this.pulse.bind(this),this.HOLD_DELAY))},pointerup:function(a){this.heldPointer&&this.heldPointer.pointerId===a.pointerId&&this.cancel()},pointercancel:function(){this.cancel()},pointermove:function(a){if(this.heldPointer&&this.heldPointer.pointerId===a.pointerId){var b=a.clientX-this.heldPointer.clientX,c=a.clientY-this.heldPointer.clientY;b*b+c*c>this.WIGGLE_THRESHOLD&&this.cancel()}},fireHold:function(a,c){var d={pointerType:this.heldPointer.pointerType};c&&(d.holdTime=c);var e=b.makeEvent(a,d);b.dispatchEvent(e,this.target),e.tapPrevented&&b.preventTap(this.heldPointer.pointerId)}};b.registerRecognizer("hold",c)}(window.PointerGestures),function(a){var b=a.dispatcher,c=new a.PointerMap,d={events:["pointerdown","pointermove","pointerup","pointercancel"],WIGGLE_THRESHOLD:4,clampDir:function(a){return a>0?1:-1},calcPositionDelta:function(a,b){var c=0,d=0;return a&&b&&(c=b.pageX-a.pageX,d=b.pageY-a.pageY),{x:c,y:d}},fireTrack:function(a,c,d){var e=d,f=this.calcPositionDelta(e.downEvent,c),g=this.calcPositionDelta(e.lastMoveEvent,c);g.x&&(e.xDirection=this.clampDir(g.x)),g.y&&(e.yDirection=this.clampDir(g.y));var h={dx:f.x,dy:f.y,ddx:g.x,ddy:g.y,clientX:c.clientX,clientY:c.clientY,pageX:c.pageX,pageY:c.pageY,screenX:c.screenX,screenY:c.screenY,xDirection:e.xDirection,yDirection:e.yDirection,trackInfo:e.trackInfo,pointerType:c.pointerType};"trackend"===a&&(h._releaseTarget=c.target);var i=b.makeEvent(a,h);e.lastMoveEvent=c,b.dispatchEvent(i,e.downTarget)},pointerdown:function(a){if(a.isPrimary&&("mouse"===a.pointerType?1===a.buttons:!0)){var b={downEvent:a,downTarget:a.target,trackInfo:{},lastMoveEvent:null,xDirection:0,yDirection:0,tracking:!1};c.set(a.pointerId,b)}},pointermove:function(a){var b=c.get(a.pointerId);if(b)if(b.tracking)this.fireTrack("track",a,b);else{var d=this.calcPositionDelta(b.downEvent,a),e=d.x*d.x+d.y*d.y;e>this.WIGGLE_THRESHOLD&&(b.tracking=!0,this.fireTrack("trackstart",b.downEvent,b),this.fireTrack("track",a,b))}},pointerup:function(a){var b=c.get(a.pointerId);b&&(b.tracking&&this.fireTrack("trackend",a,b),c.delete(a.pointerId))},pointercancel:function(a){this.pointerup(a)}};b.registerRecognizer("track",d)}(window.PointerGestures),function(a){var b=a.dispatcher,c={MIN_VELOCITY:.5,MAX_QUEUE:4,moveQueue:[],target:null,pointerId:null,events:["pointerdown","pointermove","pointerup","pointercancel"],pointerdown:function(a){a.isPrimary&&!this.pointerId&&(this.pointerId=a.pointerId,this.target=a.target,this.addMove(a))},pointermove:function(a){a.pointerId===this.pointerId&&this.addMove(a)},pointerup:function(a){a.pointerId===this.pointerId&&this.fireFlick(a),this.cleanup()},pointercancel:function(){this.cleanup()},cleanup:function(){this.moveQueue=[],this.target=null,this.pointerId=null},addMove:function(a){this.moveQueue.length>=this.MAX_QUEUE&&this.moveQueue.shift(),this.moveQueue.push(a)},fireFlick:function(a){for(var c,d,e,f,g,h,i,j=a,k=this.moveQueue.length,l=0,m=0,n=0,o=0;k>o&&(i=this.moveQueue[o]);o++)c=j.timeStamp-i.timeStamp,d=j.clientX-i.clientX,e=j.clientY-i.clientY,f=d/c,g=e/c,h=Math.sqrt(f*f+g*g),h>n&&(l=f,m=g,n=h);var p=Math.abs(l)>Math.abs(m)?"x":"y",q=this.calcAngle(l,m);if(Math.abs(n)>=this.MIN_VELOCITY){var r=b.makeEvent("flick",{xVelocity:l,yVelocity:m,velocity:n,angle:q,majorAxis:p,pointerType:a.pointerType});b.dispatchEvent(r,this.target)}},calcAngle:function(a,b){return 180*Math.atan2(b,a)/Math.PI}};b.registerRecognizer("flick",c)}(window.PointerGestures),function(a){var b=a.dispatcher,c=new a.PointerMap,d={events:["pointerdown","pointermove","pointerup","pointercancel"],pointerdown:function(a){a.isPrimary&&!a.tapPrevented&&c.set(a.pointerId,{target:a.target,x:a.clientX,y:a.clientY})},pointermove:function(a){if(a.isPrimary){var b=c.get(a.pointerId);b&&a.tapPrevented&&c.delete(a.pointerId)}},pointerup:function(d){var e=c.get(d.pointerId);if(e&&!d.tapPrevented){var f=a.findLCA(e.target,d.target);if(f){var g=b.makeEvent("tap",{x:d.clientX,y:d.clientY,pointerType:d.pointerType});b.dispatchEvent(g,f)}}c.delete(d.pointerId)},pointercancel:function(a){c.delete(a.pointerId)},preventTap:function(a){c.delete(a)}};b.registerRecognizer("tap",d)}(window.PointerGestures),function(){var a=Array.prototype.forEach.call.bind(Array.prototype.forEach);window.forEach=a}(),function(){function a(a,c){1==arguments.length&&(c=a,a=null),c&&c.hasOwnProperty("constructor")||(c.constructor=function(){this.super()});var d=c.constructor,f=a&&a.prototype||Object.prototype;return d.prototype=b(f,c),"super"in d.prototype||(d.prototype.super=e),d}function b(a,b){return Object.create(a,c(b))}function c(a){var b={};for(var c in a)b[c]=d(a,c);return b}function d(a,b){return a&&Object.getOwnPropertyDescriptor(a,b)||d(Object.getPrototypeOf(a),b)}function e(a){var b=e.caller,c=b._nom;if(!c&&(c=b._nom=h.call(this,b),!c))return console.warn('called super() on a method not in "this"'),void 0;"_super"in b||g(b,c,Object.getPrototypeOf(this));var d=b._super;if(d){var f=d[c];return"_super"in f||g(f,c,d),f.apply(this,a||[])}}function f(a,b,c){for(var d=a;d&&(!d.hasOwnProperty(b)||d[b]==c);)d=Object.getPrototypeOf(d);return d}function g(a,b,c){a._super=f(c,b,a),a._super&&(a._super[b]._nom=b)}function h(a){for(var b in this){var c=d(this,b);if(c.value==a)return b}}window.$class=a,window.extend=b,window.$super=e}(),function(){function a(a,d){if(a!=window){if(!(a&&a instanceof HTMLElement))throw"First argument to Polymer.register must be an HTMLElement";var e=Platform.mixin({},Polymer.base,d);e.elementElement=a,Polymer.addResolvePath(e,a),e.installTemplate=function(){this.super(),c.call(this,a)},e.readyCallback=b,Polymer.parseHostEvents(a.attributes,e),Polymer.publishAttributes(a,e),Polymer.installSheets(a),Polymer.shimStyling(a),a.register({prototype:e}),logFlags.comps&&console.log("Polymer: element registered"+a.options.name)}}function b(){this.installTemplate(),e.call(this)}function c(a){var b=a.querySelector("template");if(b){b.setAttribute("syntax","Polymer");var c=this.webkitCreateShadowRoot();return c.applyAuthorStyles=this.applyAuthorStyles,CustomElements.watchShadow(this),c.host=this,c.appendChild(b.createInstance(this,"Polymer")),d.call(this,c),c}}function d(a){CustomElements.takeRecords(),Polymer.marshalNodeReferences.call(this,a);var b=Polymer.accumulateEvents(a);Polymer.bindAccumulatedLocalEvents.call(this,a,b),PointerGestures.register(a),PointerEventsPolyfill.setTouchAction(a,this.getAttribute("touch-action"))}function e(){Polymer.observeProperties.call(this),Polymer.installInstanceAttributes.call(this),Polymer.takeAttributes.call(this);var a=Polymer.accumulateHostEvents.call(this);Polymer.bindAccumulatedHostEvents.call(this,a),this.ready&&this.ready()}function f(a,b){for(var c=a;c&&c!=this;){var d=Array.prototype.indexOf.call(b,c);if(d>=0)return d;c=c.parentNode}}window.logFlags||{},window.Polymer={register:a,findDistributedTarget:f,instanceReady:e}}(),function(a){var b=window.logFlags||{},c={"super":$super,isPolymerElement:!0,bind:function(){Polymer.bind.apply(this,arguments)},unbind:function(){Polymer.unbind.apply(this,arguments)},unbindAll:function(){Polymer.unbindAll.apply(this,arguments)},job:function(){return Polymer.job.apply(this,arguments)},asyncMethod:function(a,b,c){Platform.flush();var d=b&&b.length?b:[b],e=function(){(this[a]||a).apply(this,d)}.bind(this);return c?window.setTimeout(e,c):requestAnimationFrame(e)},dispatch:function(a,b){this[a]&&this[a].apply(this,b)},fire:function(a,c,d){var e=d||this;return b.events&&console.log("[%s]: sending [%s]",e.localName,a),e.dispatchEvent(new CustomEvent(a,{bubbles:!0,detail:c})),c},asyncFire:function(){this.asyncMethod("fire",arguments)},classFollows:function(a,b,c){b&&b.classList.remove(c),a&&a.classList.add(c)}};c.send=c.fire,c.asend=c.asyncFire,a.base=c}(window.Polymer),function(){function a(a,b,c,e){var f=d(a,b,!0);f[c.toLowerCase()]=e}function b(a,b,c){var e=d(a,b),f=c.toLowerCase();return e&&e[f]?(e[f].close(),e[f]=null,!0):void 0}function c(a,c){var e=d(a,c);e&&Object.keys(e).forEach(function(d){b(a,c,d)})}function d(a,b,c){var d=e.get(a);return c&&(d||e.set(a,d={}),d[b]||(d[b]={})),d&&d[b]}var e=new SideTable;Polymer.registerObserver=a,Polymer.unregisterObserver=b,Polymer.unregisterObserversOfType=c}(),function(){function a(a,c,d,e){b.bind&&console.log("[%s]: bindProperties: [%s] to [%s].[%s]",d.localName||"object",e,a.localName,c);var f=PathObserver.getValueAtPath(d,e);return(null===f||void 0===f)&&PathObserver.setValueAtPath(d,e,a[c]),PathObserver.defineProperty(a,c,{object:d,path:e})}var b=window.logFlags||{};Polymer.bindProperties=a}(),function(){function a(a,b,c){var d=j.get(a);d||j.set(a,d={}),d[b.toLowerCase()]=c}function b(a,b){var c=j.get(a);c&&delete c[b.toLowerCase()]}function c(c){var d=c.prototype,e=d.bind,f=d.unbind;d.bind=function(b,c,d){e.apply(this,arguments),a(this,b,d)},d.unbind=function(a){f.apply(this,arguments),b(this,a)}}function d(a){return a&&j.get(a)||k}function e(a,b){return d(a)[b.toLowerCase()]}function f(b,c,d){var e=Polymer.propertyForAttribute.call(this,b);e?(a(this,e,d),Polymer.registerObserver(this,"binding",e,Polymer.bindProperties(this,e,c,d))):HTMLElement.prototype.bind.apply(this,arguments)}function g(a){a.unbindAll();for(var b=a.firstChild;b;b=b.nextSibling)g(b)}function h(a){Polymer.unregisterObserver(this,"binding",a)||HTMLElement.prototype.unbind.apply(this,arguments)}function i(){Polymer.unregisterObserversOfType(this,"property"),HTMLElement.prototype.unbindAll.apply(this,arguments)}window.logFlags||{};var j=new SideTable;[Node,Element,Text,HTMLInputElement].forEach(c);var k={},l=/\{\{([^{}]*)}}/;Polymer.bind=f,Polymer.unbind=h,Polymer.unbindAll=i,Polymer.getBinding=e,Polymer.unbindModel=g,Polymer.bindPattern=l}(),function(){"use strict";function a(){}function b(a,b,c,g){var h,i,j=b.match(e);if(j)h=j[1],i=j[2];else{if(j=b.match(d),!j)return;h=j[2],i=j[1]}var k=new CompoundBinding(function(a){return a.value});return k.bind("value",a,i),f.set(g,{model:a,scope:h}),k}function c(a,b,c){var d=new CompoundBinding(function(a){return a.value?b:""});return d.bind("value",a,c),d}var d=/([\w\.\$]*)[\s]+as[\s]+([\w]*)/,e=/([\w]*)[\s]+in[\s]+([\w\.\$]*)/,f=new SideTable;HTMLTemplateElement.syntax.Polymer={getBinding:function(a,d,e,f){if(f.nodeType===Node.ELEMENT_NODE&&("bind"===e||"repeat"===e)&&"TEMPLATE"===f.tagName)return b(a,d,e,f);var g=d.match(/([\w]+):[\W]*([\w\.\$]*)/);return g?c(a,g[1],g[2]):void 0},getInstanceModel:function(b,c){var d=f.get(b);if(!d)return c;var e;return e=d.model?Object.create(d.model):new a,e[d.scope]=c,e}}}(this),function(){function a(a,d){b(a,d),c(a,d)}function b(a,b){var c={},d=a.getAttribute(j);if(d){var e=d.split(d.indexOf(",")>=0?",":" ");e.forEach(function(a){a=a.trim(),a&&(c[a]=null)})}var f=a.options.prototype;Object.keys(c).forEach(function(a){a in b||a in f||(b[a]=c[a])});var g=b[k];g&&(Object.keys(g).forEach(function(a){b[a]=g[a]}),c=Platform.mixin(c,g)),b[i]=Platform.mixin({},f[i],c)}function c(a,b){for(var d,e=a.options.prototype,f=a.attributes,g=b.instanceAttributes=Object.create(e.instanceAttributes||null),h=0,i=f.length;i>h&&(d=f[h]);h++)c.blackList[d.name]||"on-"!==d.name.slice(0,3)&&(g[d.name]=d.value)}function d(){var a=this.instanceAttributes;Object.keys(a).forEach(function(b){this.setAttribute(b,a[b])},this)}function e(){forEach(this.attributes,function(a){var b=f.call(this,a.name);if(b){if(a.value.search(h)>=0)return;var c=this[b],d=g(a.value,c);d!==c&&(this[b]=d)}},this)}function f(a){var b=Object.keys(this[i]);return b[b.map(l).indexOf(a.toLowerCase())]}function g(a,b){var c=typeof b;switch(b instanceof Date&&(c="date"),c){case"string":return a;case"date":return new Date(Date.parse(a)||Date.now());case"boolean":if(""==a)return!0}switch(a){case"true":return!0;case"false":return!1}var d=parseFloat(a);return String(d)===a?d:a}var h=Polymer.bindPattern,i="__published",j="attributes",k="publish";c.blackList={name:1,"extends":1,constructor:1},c.blackList[j]=1;var l=String.prototype.toLowerCase.call.bind(String.prototype.toLowerCase);Polymer.takeAttributes=e,Polymer.publishAttributes=a,Polymer.propertyForAttribute=f,Polymer.installInstanceAttributes=d}(),Polymer.marshalNodeReferences=function(a){var b=this.$=this.$||{};if(a){var c=a.querySelectorAll("[id]");forEach(c,function(a){b[a.id]=a})}},function(){function a(a,b,c){var d=c.bind(this);for(var e in b)j.events&&console.log('[%s] bindAccumulatedEvents: addEventListener("%s", listen)',a.localName||"root",e),a.addEventListener(e,d)}function b(b){a.call(this,this,b,f)}function c(b,c){a.call(this,b,c,d)}function d(a){if(!a.cancelBubble){if(a.on=k+a.type,j.events&&console.group("[%s]: listenLocal [%s]",this.localName,a.on),!a.path||window.ShadowDOMPolyfill)e(a);else{var b=null;Array.prototype.some.call(a.path,function(c){return c===this?!0:(b=b===this?b:v(c),b&&h.call(b,c,a)?!0:void 0)},this)}j.events&&console.groupEnd()}}function e(a){j.events&&console.log("event.path() not supported for",a.type);for(var b=a.target,c=null;b&&b!=this;){if(c=c===this?c:v(b),c&&h.call(c,b,a))return;b=b.parentNode}}function f(a){a.cancelBubble||(j.events&&console.group("[%s]: listenHost [%s]",this.localName,a.type),i.call(this,this,a),j.events&&console.groupEnd())}function g(a){var b=x.get(a);return b||(b=[],x.set(a,b)),b}function h(a,b){if(a.attributes){var c=g(b);if(c.indexOf(a)<0){c.push(a);var d=a.getAttribute(b.on);d&&(j.events&&console.log("[%s] found handler name [%s]",this.localName,d),w(this,d,[b,b.detail,a]))}}return b.cancelBubble}function i(a,b){var c=y.call(a,b.type);return c&&(j.events&&console.log("[%s] found host handler name [%s]",a.localName,c),w(a,c,[b,b.detail,a])),b.cancelBubble}var j=window.logFlags||{},k="on-",l=function(a,b){b.eventDelegates=m(a)},m=function(a){var b={};if(a)for(var c,d=0;c=a[d];d++)c.name.slice(0,k.length)==k&&(b[c.name.slice(k.length)]=c.value);return b},n=function(a,b){var c=b||{};return o(a,c),r(a,c),s(a,c),c},o=function(a,b){var c=a.attributes;if(c)for(var d,e=0;d=c[e];e++)d.name.slice(0,k.length)===k&&q(d.name.slice(k.length),b)},p={webkitanimationstart:"webkitAnimationStart",webkitanimationend:"webkitAnimationEnd",webkittransitionend:"webkitTransitionEnd",domfocusout:"DOMFocusOut",domfocusin:"DOMFocusIn"},q=function(a,b){var c=p[a]||a;b[c]=1},r=function(a,b){for(var c,d=a.childNodes,e=0;c=d[e];e++)n(c,b)},s=function(a,b){if("template"==a.localName){var c=t(a);c&&r(c,b)}},t=function(a){return a.ref?a.ref.content:a.content},u=function(a){for(var b=a||{},c=this.__proto__;c&&c!==HTMLElement.prototype;){if(c.hasOwnProperty("eventDelegates"))for(var d in c.eventDelegates)q(d,b);c=c.__proto__}return b},v=function(a){for(var b=a;b.parentNode&&"shadow-root"!==b.localName;)b=b.parentNode;return b.host},w=function(a,b,c){a&&(j.events&&console.group("[%s] dispatch [%s]",a.localName,b),a.dispatch(b,c),j.events&&console.groupEnd())},x=new SideTable("handledList"),y=function(a){for(var b=this;b;){if(b.hasOwnProperty("eventDelegates")){var c=b.eventDelegates[a]||b.eventDelegates[a.toLowerCase()];if(c)return c}b=b.__proto__}};Polymer.parseHostEvents=l,Polymer.accumulateEvents=n,Polymer.accumulateHostEvents=u,Polymer.bindAccumulatedHostEvents=b,Polymer.bindAccumulatedLocalEvents=c}(),function(){function a(){for(var a in this)b.call(this,a)}function b(a){if(c.call(this,a)){e.observe&&console.log("["+this.localName+"] watching ["+a+"]");var b=new PathObserver(this,a,function(b,c){e.data&&console.log("[%s#%s] watch: [%s] now [%s] was [%s]",this.localName,this.node.id||"",a,this[a],c),d.call(this,a,c)}.bind(this));Polymer.registerObserver(this,"property",a,b)}}function c(a){return"_"!=a[0]&&!(a in Object.prototype)&&Boolean(this[a+f])}function d(a,b){var c=a+f;this[c]&&this[c](b)}var e=window.logFlags||{},f="Changed";Polymer.observeProperties=a}(),function(){function a(a){b(a),c(a)}function b(a){var b=j(a,r,function(a){return!a.hasAttribute(s)}),c=k(a);if(c){b.forEach(function(a){a.parentNode.removeChild(a)});var d=document.createDocumentFragment();b.forEach(function(a){var b=f(a);b&&d.appendChild(b)}),c.insertBefore(d,c.firstChild)}}function c(a){g(i(a,"global"),m.head)}function d(a,b){b.controllerStyles||(b.controllerStyles=i(b,"controller"));var c=b.controllerStyles;n.queue(function(){var b=e(a);b&&(Polymer.shimPolyfillDirectives(c,a.localName),g(c,b))})}function e(a){for(var b=a;b.parentNode&&"shadow-root"!=b.localName;)b=b.parentNode;return b==m?m.head:b}function f(a){if(a.__resource){var b=m.createElement("style");return b.textContent=a.__resource,b}console.warn("Could not find content for stylesheet",a)}function g(a,b){a.forEach(function(a){b.appendChild(a.cloneNode(!0))})}function h(a,b){return p?p.call(a,b):void 0}function i(a,b){var c=[],d="["+s+"="+b+"]",e=function(a){return h(a,d)},g=j(a,r,e);g.forEach(function(a){a.parentNode.removeChild(a),c.push(f(a))});var i=j(a,q,e);return i.forEach(function(a){a.parentNode.removeChild(a),c.push(a)}),c}function j(a,b,c){var d=l(a.querySelectorAll(b)),e=k(a);if(e){var f=l(e.querySelectorAll(b));d=d.concat(f)}return d.filter(c)}function k(a){var b=a.querySelector("template");return b&&templateContent(b)}function l(a){return Array.prototype.slice.call(a||[],0)}window.logFlags||{};var m=wrap(document),n={list:[],queue:function(a){a&&n.list.push(a),n.queueFlush()},queueFlush:function(){n.flushing||(n.flushing=!0,requestAnimationFrame(n.flush))},flush:function(){n.list.forEach(function(a){a()}),n.list=[],n.flushing=!1}},o=HTMLElement.prototype,p=o.matches||o.matchesSelector||o.webkitMatchesSelector||o.mozMatchesSelector,q="style",r="[rel=stylesheet]",s="polymer-scope";Polymer.installSheets=a,Polymer.installControllerStyles=d}(),function(){var a=Array.prototype.forEach.call.bind(Array.prototype.forEach),b=Array.prototype.concat.call.bind(Array.prototype.concat),c=Array.prototype.slice.call.bind(Array.prototype.slice),d={hostRuleRe:/@host[^{]*{(([^}]*?{[^{]*?}[\s\S]*?)+)}/gim,selectorRe:/([^{]*)({[\s\S]*?})/gim,hostFixableRe:/^[.\[:]/,cssCommentRe:/\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim,cssPolyfillCommentRe:/\/\*\s*@polyfill ([^*]*\*+([^/*][^*]*\*+)*\/)([^{]*?){/gim,selectorReSuffix:"([>\\s~+[.,{:][\\s\\S]*)?$",hostRe:/@host/gim,cache:{},shimStyling:function(a){if(window.ShadowDOMPolyfill&&a){var b=a.options.name;d.cacheDefinition(a),d.shimPolyfillDirectives(a.styles,b),d.applyShimming(d.stylesForElement(a),b)}},shimShadowDOMStyling:function(a,b){window.ShadowDOMPolyfill&&(d.shimPolyfillDirectives(a,b),d.applyShimming(a,b))},applyShimming:function(a,b){this.shimAtHost(a,b),this.shimScoping(a,b)},cacheDefinition:function(a){var b=a.options.name,e=a.querySelector("template"),f=e&&templateContent(e),g=f&&f.querySelectorAll("style");a.styles=g?c(g):[],a.templateContent=f,d.cache[b]=a},stylesForElement:function(a){var d=a.styles,e=a.templateContent&&a.templateContent.querySelector("shadow");if(e||null===a.templateContent){var f=this.findExtendee(a.options.name);if(f){var g=this.stylesForElement(f);d=b(c(g),c(d))}}return d},findExtendee:function(a){var b=this.cache[a];return b&&this.cache[b.options.extends]},shimPolyfillDirectives:function(b,c){window.ShadowDOMPolyfill&&b&&a(b,function(a){a.textContent=this.convertPolyfillDirectives(a.textContent,c)},this)},shimAtHost:function(a,b){if(a){var c=this.convertAtHostStyles(a,b);this.addCssToDocument(c)}},shimScoping:function(a,b){a&&this.applyPseudoScoping(a,b)},convertPolyfillDirectives:function(a){for(var b,c="",d=0;b=this.cssPolyfillCommentRe.exec(a);)c+=a.substring(d,b.index),c+=b[1].slice(0,-2)+"{",d=this.cssPolyfillCommentRe.lastIndex;return c+=a.substring(d,a.length)},findAtHostRules:function(a,b){return Array.prototype.filter.call(a,this.isHostRule.bind(this,b))},isHostRule:function(a,b){return b.selectorText&&b.selectorText.match(a)||b.cssRules&&this.findAtHostRules(b.cssRules,a).length||b.type==CSSRule.WEBKIT_KEYFRAMES_RULE},convertAtHostStyles:function(a,b){for(var c,d=this.stylesToCssText(a),e="",f=0;c=this.hostRuleRe.exec(d);)e+=d.substring(f,c.index),e+=this.scopeHostCss(c[1],b),f=this.hostRuleRe.lastIndex;e+=d.substring(f,d.length);var g=new RegExp("^"+b+this.selectorReSuffix,"m"),d=this.rulesToCss(this.findAtHostRules(this.cssToRules(e),g));return d},scopeHostCss:function(a,b){for(var c,d="";c=this.selectorRe.exec(a);)d+=this.scopeHostSelector(c[1],b)+" "+c[2]+"\n ";return d},scopeHostSelector:function(a,b){var c=[],d=a.split(",");return d.forEach(function(a){a=a.trim(),a.indexOf("*")>=0?a=a.replace("*",b):a.match(this.hostFixableRe)&&(a=b+a),c.push(a)},this),c.join(", ")},applyPseudoScoping:function(b,c){a(b,function(a){a.parentNode&&a.parentNode.removeChild(a)});var d=this.stylesToCssText(b).replace(this.hostRuleRe,""),e=this.cssToRules(d),d=this.pseudoScopeRules(e,c);this.addCssToDocument(d)},pseudoScopeRules:function(b,c){var d="";return a(b,function(a){a.selectorText&&a.style&&a.style.cssText?(d+=this.pseudoScopeSelector(a.selectorText,c)+" {\n ",d+=a.style.cssText+"\n}\n\n"):a.media?(d+="@media "+a.media.mediaText+" {\n",d+=this.pseudoScopeRules(a.cssRules,c),d+="\n}\n\n"):a.cssText&&(d+=a.cssText+"\n\n")},this),d},pseudoScopeSelector:function(a,b){var c=[],d=a.split(",");return d.forEach(function(a){c.push(b+" "+a.trim())}),c.join(", ")},stylesToCssText:function(b,c){var d="";return a(b,function(a){d+=a.textContent+"\n\n"}),c||(d=this.stripCssComments(d)),d},stripCssComments:function(a){return a.replace(this.cssCommentRe,"")},cssToRules:function(a){var b=document.createElement("style");b.textContent=a,document.head.appendChild(b);var c=b.sheet.cssRules;return b.parentNode.removeChild(b),c},rulesToCss:function(a){for(var b=0,c=[];b>>0)+(c++ +"__")},SideTable.prototype={set:function(b,c){a(b,this.name,{value:c,writable:!0})},get:function(a){return b.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}(),function(){window.templateContent=window.templateContent||function(a){return a.content},window.wrap=window.unwrap=function(a){return a},window.createShadowRoot=function(a){return a.webkitCreateShadowRoot()},window.templateContent=function(a){if(window.HTMLTemplateElement&&HTMLTemplateElement.bootstrap&&HTMLTemplateElement.bootstrap(a),!a.content&&!a._content){for(var b=document.createDocumentFragment();a.firstChild;)b.appendChild(a.firstChild);a._content=b}return a.content||a._content}}(),function(a){Function.prototype.bind||(Function.prototype.bind=function(a){var b=this,c=Array.prototype.slice.call(arguments,1);return function(){var d=c.slice();return d.push.apply(d,arguments),b.apply(a,d)}}),a.mixin=window.mixin}(window.Platform),function(a){"use strict";function b(a,b,c){var d="string"==typeof a?document.createElement(a):a.cloneNode(!0);if(d.innerHTML=b,c)for(var e in c)d.setAttribute(e,c[e]);return d}var c=DOMTokenList.prototype.add,d=DOMTokenList.prototype.remove;if(DOMTokenList.prototype.add=function(){for(var a=0;a",""," "," ShadowDOM Inspector"," "," "," ",'
    ',"
",'
'," ",""].join("\n"),d=[],e=function(){var a=b.document,c=a.querySelector("#crumbs");c.textContent="";for(var e,g=0;e=d[g];g++){var h=a.createElement("a");h.href="#",h.textContent=e.localName,h.idx=g,h.onclick=function(a){for(var b;d.length>this.idx;)b=d.pop();f(b.shadow||b,b),a.preventDefault()},c.appendChild(a.createElement("li")).appendChild(h)}},f=function(a,c){var f=b.document;k=[];var g=c||a;d.push(g),e(),f.body.querySelector("#tree").innerHTML="
"+j(a,a.childNodes)+"
"},g=Array.prototype.forEach.call.bind(Array.prototype.forEach),h={STYLE:1,SCRIPT:1,"#comment":1,TEMPLATE:1},i=function(a){return h[a.nodeName]},j=function(a,b,c){if(i(a))return"";var d=c||"";if(a.localName||11==a.nodeType){var e=a.localName||"shadow-root",f=d+l(a);"content"==e&&(b=a.getDistributedNodes()),f+="
";var h=d+"  ";g(b,function(a){f+=j(a,a.childNodes,h)}),f+=d,{br:1}[e]||(f+="</"+e+">",f+="
")}else{var k=a.textContent.trim();f=k?d+'"'+k+'"'+"
":""}return f},k=[],l=function(a){var b="<",c=a.localName||"shadow-root";return a.webkitShadowRoot||a.shadowRoot?(b+=' ",k.push(a)):b+=c||"shadow-root",a.attributes&&g(a.attributes,function(a){b+=" "+a.name+(a.value?'="'+a.value+'"':"")}),b+=">"};shadowize=function(){var a=Number(this.attributes.idx.value),b=k[a];b?f(b.webkitShadowRoot||b.shadowRoot,b):(console.log("bad shadowize node"),console.dir(this))},a.output=j}(window.Inspector),function(a){"use strict";function b(a){return+a===a>>>0}function c(a){return+a}function d(a){return a===Object(a)}function e(a,b){return a===b?0!==a||1/a===1/b:K(a)&&K(b)?!0:a!==a&&b!==b}function f(a){return"string"!=typeof a?!1:(a=a.replace(/\s/g,""),""==a?!0:"."==a[0]?!1:N.test(a))}function g(a){return""==a.trim()?this:b(a)?(this.push(String(a)),this):(a.split(/\./).filter(function(a){return a}).forEach(function(a){this.push(a)},this),void 0)}function h(a){for(var b=0;O>b&&a.check();)a.report(),b++}function i(a){for(var b in a)return!1;return!0}function j(a){return i(a.added)&&i(a.removed)&&i(a.changed)}function k(a,b){var c={},d={},e={};for(var f in b){var g=a[f];(void 0===g||g!==b[f])&&(f in a?g!==b[f]&&(e[f]=g):d[f]=void 0)}for(var f in a)f in b||(c[f]=a[f]);return Array.isArray(a)&&a.length!==b.length&&(e.length=a.length),{added:c,removed:d,changed:e}}function l(a,b){var c=b||(Array.isArray(a)?[]:{});for(var d in a)c[d]=a[d];return Array.isArray(a)&&(c.length=a.length),c}function m(a){this.callback=a,this.reporting=!0,G&&(this.boundInternalCallback=this.internalCallback.bind(this)),this.valid=!0,n(this),this.connect(),this.sync(!0)}function n(a){Q&&(P.push(a),m._allObserversCount++)}function o(a){if(Q)for(var b=0;be;e++){var f='["'+a[e]+'"]';c+=f,b+=" && "+c}return b+=") ",c+='["'+a[d-1]+'"]',b+="return "+c+"; else return undefined;",new Function("obj",b)}function u(a,b){var c=b.toString();return S[c]||(S[c]=t(b)),S[c](a)}function v(b,c,e,f,g){var h=void 0;return c.walkPropertiesFrom(b,function(b,i,j){if(j===c.length)return h=i,void 0;var k=e[j];if(!k||i!==k[0]){if(k)for(var l=0;lj;j++)i[j]=new Array(h),i[j][0]=j;for(var k=0;h>k;k++)i[0][k]=k;for(var j=1;g>j;j++)for(var k=1;h>k;k++)if(d[e+j-1]===a[b+k-1])i[j][k]=i[j-1][k-1];else{var l=i[j-1][k]+1,m=i[j][k-1]+1;i[j][k]=m>l?l:m}return i}function A(a){for(var b=a.length-1,c=a[0].length-1,d=a[b][c],e=[];b>0||c>0;)if(0!=b)if(0!=c){var f,g=a[b-1][c-1],h=a[b-1][c],i=a[b][c-1];f=i>h?g>h?h:g:g>i?i:g,f==g?(g==d?e.push(U):(e.push(V),d=g),b--,c--):f==h?(e.push(X),b--,d=h):(e.push(W),c--,d=i)}else e.push(X),b--;else e.push(W),c--;return e.reverse(),e}function B(a,b,c){for(var d=0;c>d;d++)if(a[d]!==b[d])return d;return c}function C(a,b,c){for(var d=a.length,e=b.length,f=0;c>f&&a[--d]===b[--e];)f++;return f}function D(a,b,c,d,e,f){function g(a,b,c){return{index:a,removed:b,addedCount:c}}var h=0,i=0,j=Math.min(c-b,f-e);if(0==b&&0==e&&(h=B(a,d,j)),c==a.length&&f==d.length&&(i=C(a,d,j-h)),b+=h,e+=h,c-=i,f-=i,0==c-b&&0==f-e)return[];if(b==c){for(var k=g(b,[],0);f>e;)k.removed.push(d[e++]);return[k]}if(e==f)return[g(b,[],c-b)];for(var l=A(z(a,b,c,d,e,f)),k=void 0,m=[],n=b,o=e,p=0;pe||e>=g)){var i=d[e];eg?f={index:g,removed:[],addedCount:a.length-g}:a.lengtha&&b.anyChanged);m._allObserversCount=P.length,R=!1}},Q&&(a.Platform.clearObservers=function(){P=[]}),p.prototype=L({__proto__:m.prototype,connect:function(){G&&Object.observe(this.object,this.boundInternalCallback)},sync:function(){G||(this.oldObject=l(this.object))},check:function(a){var b,c;if(G){if(!a)return!1;c={},b=y(this.object,a,c)}else c=this.oldObject,b=k(this.object,this.oldObject);return j(b)?!1:(this.reportArgs=[b.added||{},b.removed||{},b.changed||{}],this.reportArgs.push(function(a){return c[a]}),!0)},disconnect:function(){G?this.object&&Object.unobserve(this.object,this.boundInternalCallback):this.oldObject=void 0,this.object=void 0}}),q.prototype=L({__proto__:p.prototype,sync:function(){G||(this.oldObject=this.object.slice())},check:function(a){var b;if(G){if(!a)return!1;var c={},d=y(this.object,a,c);b=F(this.object,d,c)}else b=D(this.object,0,this.object.length,this.oldObject,0,this.oldObject.length);return b&&b.length?(this.reportArgs=[b],!0):!1}}),q.applySplices=function(a,b,c){c.forEach(function(c){for(var d=[c.index,c.removed.length],e=c.index;e0;){var e=c[d];ob[e.name]&&("template"!==e.name&&b.setAttribute(e.name,e.value),a.removeAttribute(e.name))}return b}function L(a,b,c){var d=a.content;if(c)return d.appendChild(b),void 0;for(var e;e=b.firstChild;)d.appendChild(e)}function M(a){"TEMPLATE"===a.tagName?qb||(tb?a.__proto__=HTMLTemplateElement.prototype:I(a,HTMLTemplateElement.prototype)):(I(a,HTMLTemplateElement.prototype),Object.defineProperty(a,"content",yb))}function N(a){var b=a.ref;return b?b.content:a.content}function O(a,b){this.type=a,this.value=b}function P(a){for(var b=[],c=a.length,d=0,e=0;c>e;){if(d=a.indexOf("{{",e),0>d){b.push(new O(Ab,a.slice(e)));break}if(d>0&&d>e&&b.push(new O(Ab,a.slice(e,d))),e=d+2,d=a.indexOf("}}",e),0>d){var f=a.slice(e-2),g=b[b.length-1];g&&g.type==Ab?g.value+=f:b.push(new O(Ab,f));break}var h=a.slice(e,d).trim();b.push(new O(Bb,h)),e=d+2}return b}function Q(a,b,c,d,e){var f,g=e&&e[mb];g&&"function"==typeof g&&(f=g(c,d,b,a),f&&(c=f,d="value")),a.bind(b,c,d)}function R(a,b,c,d,e){var f=P(c);if(f.length&&(1!=f.length||f[0].type!=Ab)){if(1==f.length&&f[0].type==Bb)return Q(a,b,d,f[0].value,e),void 0;for(var g=new Y,h=0;hc?(this.keys.push(a),this.values.push(b)):this.values[c]=b},get:function(a){var b=this.keys.indexOf(a);return 0>b?void 0:this.values[b]},"delete":function(a){var b=this.keys.indexOf(a);return 0>b?!1:(this.keys.splice(b,1),this.values.splice(b,1),!0)},forEach:function(a,b){for(var c=0;c>>0)+(c++ +"__")},cb.prototype={set:function(b,c){a(b,this.name,{value:c,writable:!0})},get:function(a){return b.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}(),Node.prototype.bind=e,Node.prototype.unbind=f,Node.prototype.unbindAll=g;var db=new cb("textContentBinding");h.prototype={dispose:function(){this.model&&"function"==typeof this.model.dispose&&this.model.dispose(),this.observer.close()},set value(a){PathObserver.setValueAtPath(this.model,this.path,a)},reset:function(){this.observer.reset()}},Text.prototype.bind=j,Text.prototype.unbind=k,Text.prototype.unbindAll=l;var eb=new cb("attributeBindings");n.prototype={add:function(a,b,c,d){a.removeAttribute(b);var e="?"==b[b.length-1];e&&(b=b.slice(0,-1)),this.remove(b);var f=new h(c,d,m(a,b,e));this.bindingMap[b]=f},remove:function(a){var b=this.bindingMap[a];b&&(b.dispose(),delete this.bindingMap[a])},removeAll:function(){Object.keys(this.bindingMap).forEach(function(a){this.remove(a)},this)}},Element.prototype.bind=o,Element.prototype.unbind=p,Element.prototype.unbindAll=q;var fb,gb=new cb("valueBinding"),hb=new cb("checkedBinding");!function(){var a=document.createElement("div"),b=a.appendChild(document.createElement("input"));b.setAttribute("type","checkbox");var c,d=0;b.addEventListener("click",function(){d++,c=c||"click"}),b.addEventListener("change",function(){d++,c=c||"change"});var e=document.createEvent("MouseEvent");e.initMouseEvent("click",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),b.dispatchEvent(e),fb=1==d?"change":c}(),s.prototype={valueChanged:function(a){this.element[this.valueProperty]=this.produceElementValue(a)},updateBinding:function(){this.binding.value=this.element[this.valueProperty],this.binding.reset(),this.postUpdateBinding&&this.postUpdateBinding(),Platform.performMicrotaskCheckpoint()},unbind:function(){this.binding.dispose(),this.element.removeEventListener(r(this.element),this.boundUpdateBinding,!0)}},t.prototype=bb({__proto__:s.prototype,produceElementValue:function(a){return String(null==a?"":a)}}),v.prototype=bb({__proto__:s.prototype,produceElementValue:function(a){return Boolean(a)},postUpdateBinding:function(){"INPUT"===this.element.tagName&&"radio"===this.element.type&&u(this.element).forEach(function(a){var b=hb.get(a);b&&(b.binding.value=!1)})}}),HTMLInputElement.prototype.bind=w,HTMLInputElement.prototype.unbind=x,HTMLInputElement.prototype.unbindAll=y,z.prototype=bb({__proto__:s.prototype,valueChanged:function(a){function b(){a>d.element.length&&c--?sb(b):d.element[d.valueProperty]=a}var a=this.produceElementValue(a);if(a<=this.element.length)return this.element[this.valueProperty]=a,void 0;var c=2,d=this;sb(b)},produceElementValue:function(a){return Number(a)}}),HTMLSelectElement.prototype.bind=A,HTMLSelectElement.prototype.unbind=B,HTMLSelectElement.prototype.unbindAll=C;var ib="bind",jb="repeat",kb="if",lb="syntax",mb="getBinding",nb="getInstanceModel",ob={template:!0,repeat:!0,bind:!0,ref:!0},pb={THEAD:!0,TBODY:!0,TFOOT:!0,TH:!0,TR:!0,TD:!0,COLGROUP:!0,COL:!0,CAPTION:!0,OPTION:!0,OPTGROUP:!0},qb="undefined"!=typeof HTMLTemplateElement,rb="template, "+Object.keys(pb).map(function(a){return a.toLowerCase()+"[template]"}).join(", "),sb=function(){function a(){var a=this;this.value=!1;var b=this.value,e=[],f=!1;this.schedule=function(c){return e.indexOf(c)>=0?!0:f?!1:(e.push(c),b===a.value&&(a.value=!a.value),!0)},new PathObserver(this,"value",function(){f=!0;for(var g=0;ge;e++)d.unshift("..");var g=d.join("/");return g},resolvePathsInHTML:function(a){var b=j.documentUrlFromNode(a.body);window.HTMLTemplateElement&&HTMLTemplateElement.bootstrap&&HTMLTemplateElement.bootstrap(a);var c=a.body;j._resolvePathsInHTML(c,b)},_resolvePathsInHTML:function(a,b){if(j.resolveAttributes(a,b),j.resolveStyleElts(a,b),window.templateContent){var c=a.querySelectorAll("template");c&&o(c,function(a){j._resolvePathsInHTML(templateContent(a),b)})}},resolvePathsInStylesheet:function(a){var b=j.nodeUrl(a);a.__resource=j.resolveCssText(a.__resource,b)},resolveStyleElts:function(a,b){var c=a.querySelectorAll("style");c&&o(c,function(a){a.textContent=j.resolveCssText(a.textContent,b)})},resolveCssText:function(a,b){return a.replace(/url\([^)]*\)/g,function(a){var c=a.replace(/["']/g,"").slice(4,-1);return c=j.resolveUrl(b,c,!0),"url("+c+")"})},resolveAttributes:function(a,b){var c=a&&a.querySelectorAll(l);c&&o(c,function(a){this.resolveNodeAttributes(a,b)},this)},resolveNodeAttributes:function(a,b){k.forEach(function(c){var d=a.attributes[c];if(d&&d.value&&d.value.search(m)<0){var e=j.resolveUrl(b,d.value,!0);d.value=e}})}},k=["href","src","action"],l="["+k.join("],[")+"]",m="{{.*}}",n=a.xhr||{async:!0,ok:function(a){return a.status>=200&&a.status<300||304===a.status||0===a.status},load:function(b,c,d){var e=new XMLHttpRequest;(a.flags.debug||a.flags.bust)&&(b+="?"+Math.random()),e.open("GET",b,n.async),e.addEventListener("readystatechange",function(){4===e.readyState&&c.call(d,!n.ok(e)&&e,e.response,b)}),e.send()}},o=Array.prototype.forEach.call.bind(Array.prototype.forEach);a.xhr=n,a.importer=h,a.getDocumentUrl=j.getDocumentUrl,"function"!=typeof window.CustomEvent&&(window.CustomEvent=function(a){var b=document.createEvent("HTMLEvents");return b.initEvent(a,!0,!0),b}),document.addEventListener("DOMContentLoaded",function(){h.load(document,function(){var a=window.ShadowDOMPolyfill?ShadowDOMPolyfill.wrap(document):document;HTMLImports.readyTime=(new Date).getTime(),a.body.dispatchEvent(new CustomEvent("HTMLImportsLoaded",{bubbles:!0}))})})}(window.HTMLImports),function(a){function b(a){u.push(a),t||(t=!0,q(d))}function c(a){return window.ShadowDOMPolyfill&&window.ShadowDOMPolyfill.wrapIfNeeded(a)||a}function d(){t=!1;var a=u;u=[],a.sort(function(a,b){return a.uid_-b.uid_});var b=!1;a.forEach(function(a){var c=a.takeRecords();e(a),c.length&&(a.callback_(c,a),b=!0)}),b&&d()}function e(a){a.nodes_.forEach(function(b){var c=p.get(b);c&&c.forEach(function(b){b.observer===a&&b.removeTransientObservers()})})}function f(a,b){for(var c=a;c;c=c.parentNode){var d=p.get(c);if(d)for(var e=0;e0){var e=c[d-1],f=n(e,a);if(f)return c[d-1]=f,void 0}else b(this.observer);c[d]=a},addListeners:function(){this.addListeners_(this.target)},addListeners_:function(a){var b=this.options;b.attributes&&a.addEventListener("DOMAttrModified",this,!0),b.characterData&&a.addEventListener("DOMCharacterDataModified",this,!0),b.childList&&a.addEventListener("DOMNodeInserted",this,!0),(b.childList||b.subtree)&&a.addEventListener("DOMNodeRemoved",this,!0)},removeListeners:function(){this.removeListeners_(this.target)},removeListeners_:function(a){var b=this.options;b.attributes&&a.removeEventListener("DOMAttrModified",this,!0),b.characterData&&a.removeEventListener("DOMCharacterDataModified",this,!0),b.childList&&a.removeEventListener("DOMNodeInserted",this,!0),(b.childList||b.subtree)&&a.removeEventListener("DOMNodeRemoved",this,!0)},addTransientObserver:function(a){if(a!==this.target){this.addListeners_(a),this.transientObservedNodes.push(a);var b=p.get(a);b||p.set(a,b=[]),b.push(this)}},removeTransientObservers:function(){var a=this.transientObservedNodes;this.transientObservedNodes=[],a.forEach(function(a){this.removeListeners_(a);for(var b=p.get(a),c=0;c1?logFlags.dom&&console.warn("inserted:",a.localName,"insert/remove count:",a.__inserted):a.insertedCallback&&(logFlags.dom&&console.log("inserted:",a.localName),a.insertedCallback())),logFlags.dom&&console.groupEnd())}function j(a){k(a),c(a,function(a){k(a)})}function k(a){(a.removedCallback||a.__upgraded__&&logFlags.dom)&&(logFlags.dom&&console.log("removed:",a.localName),l(a)||(a.__inserted=(a.__inserted||0)-1,a.__inserted>0&&(a.__inserted=0),a.__inserted<0?logFlags.dom&&console.warn("removed:",a.localName,"insert/remove count:",a.__inserted):a.removedCallback&&a.removedCallback()))}function l(a){for(var b=a;b;){if(b==a.ownerDocument)return!0;b=b.parentNode||b.host}}function m(a){a.webkitShadowRoot&&!a.webkitShadowRoot.__watched&&(logFlags.dom&&console.log("watching shadow-root for: ",a.localName),r(a.webkitShadowRoot),a.webkitShadowRoot.__watched=!0)}function n(a){m(a),c(a,function(){m(a)})}function o(a){switch(a.localName){case"style":case"script":case"template":case void 0:return!0}}function p(a){if(logFlags.dom){var b=a[0];if(b&&"childList"===b.type&&b.addedNodes&&b.addedNodes){for(var c=b.addedNodes[0];c&&c!==document&&!c.host;)c=c.parentNode;var d=c&&(c.URL||c._URL||c.host&&c.host.localName)||"";d=d.split("/?").shift().split("/").pop()}console.group("mutations (%d) [%s]",a.length,d||"")}a.forEach(function(a){"childList"===a.type&&(v(a.addedNodes,function(a){o(a)||f(a)}),v(a.removedNodes,function(a){o(a)||j(a)}))}),logFlags.dom&&console.groupEnd()}function q(){p(u.takeRecords())}function r(a){u.observe(a,{childList:!0,subtree:!0})}function s(a){r(a)}function t(a){logFlags.dom&&console.group("upgradeDocument: ",(a.URL||a._URL||"").split("/").pop()),f(a),logFlags.dom&&console.groupEnd()}var u=new MutationObserver(p),v=Array.prototype.forEach.call.bind(Array.prototype.forEach);a.watchShadow=m,a.watchAllShadows=n,a.upgradeAll=f,a.upgradeSubtree=e,a.observeDocument=s,a.upgradeDocument=t,a.takeRecords=q}(window.CustomElements),function(){function parseElementElement(a){var b={name:"","extends":null};takeAttributes(a,b);var c=HTMLElement.prototype;if(b.extends){var d=document.createElement(b.extends);c=d.__proto__||Object.getPrototypeOf(d)}b.prototype=Object.create(c),a.options=b;var e=a.querySelector("script,scripts");e&&executeComponentScript(e.textContent,a,b.name);var f=document.register(b.name,b);a.ctor=f;var g=a.getAttribute("constructor");g&&(window[g]=f)}function takeAttributes(a,b){for(var c in b){var d=a.attributes[c];d&&(b[c]=d.value)}}function executeComponentScript(inScript,inContext,inName){context=inContext;var owner=context.ownerDocument,url=owner._URL||owner.URL||owner.impl&&(owner.impl._URL||owner.impl.URL),match=url.match(/.*\/([^.]*)[.]?.*$/);if(match){var name=match[1];url+=name!=inName?":"+inName:""}var code="__componentScript('"+inName+"', function(){"+inScript+"});"+"\n//@ sourceURL="+url+"\n";eval(code)}function mixin(a){for(var b=a||{},c=1;c-1?this.pointers[c]=b:(this.ids.push(a),this.pointers.push(b))},has:function(a){return this.ids.indexOf(a)>-1},"delete":function(a){var b=this.ids.indexOf(a);b>-1&&(this.ids.splice(b,1),this.pointers.splice(b,1))},get:function(a){var b=this.ids.indexOf(a);return this.pointers[b]},get size(){return this.pointers.length},clear:function(){this.ids.length=0,this.pointers.length=0}},a.PointerMap=b}(window.PointerEventsPolyfill),function(a){var b;if("undefined"!=typeof WeakMap&&navigator.userAgent.indexOf("Firefox/")<0)b=WeakMap;else{var c=Object.defineProperty,d=Object.hasOwnProperty,e=(new Date).getTime()%1e9;b=function(){this.name="__st"+(1e9*Math.random()>>>0)+(e++ +"__")},b.prototype={set:function(a,b){c(a,this.name,{value:b,writable:!0})},get:function(a){return d.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}a.SideTable=b}(window.PointerEventsPolyfill),function(a){var b={targets:new a.SideTable,handledEvents:new a.SideTable,scrollType:new a.SideTable,pointermap:new a.PointerMap,events:[],eventMap:{},eventSources:{},registerSource:function(a,b){var c=b,d=c.events;d&&(this.events=this.events.concat(d),d.forEach(function(a){c[a]&&(this.eventMap[a]=c[a].bind(c))},this),this.eventSources[a]=c)},registerTarget:function(a,b){this.scrollType.set(a,b||"none"),this.listen(this.events,a,this.boundHandler)},unregisterTarget:function(a){this.scrollType.set(a,null),this.unlisten(this.events,a,this.boundHandler)},down:function(a){this.fireEvent("pointerdown",a)},move:function(a){this.fireEvent("pointermove",a)},up:function(a){this.fireEvent("pointerup",a)},enter:function(a){a.bubbles=!1,this.fireEvent("pointerenter",a)},leave:function(a){a.bubbles=!1,this.fireEvent("pointerleave",a)},over:function(a){a.bubbles=!0,this.fireEvent("pointerover",a)},out:function(a){a.bubbles=!0,this.fireEvent("pointerout",a)},cancel:function(a){this.fireEvent("pointercancel",a)},leaveOut:function(a){a.target.contains(a.relatedTarget)||this.leave(a),this.out(a)},enterOver:function(a){a.target.contains(a.relatedTarget)||this.enter(a),this.over(a)},eventHandler:function(a){if(!this.handledEvents.get(a)){var b=a.type,c=this.eventMap&&this.eventMap[b];c&&c(a),this.handledEvents.set(a,!0)}},listen:function(a,b,c){a.forEach(function(a){this.addEvent(a,c,!1,b)},this)},unlisten:function(a,b,c){a.forEach(function(a){this.removeEvent(a,c,!1,b)},this)},addEvent:function(a,b,c,d){d.addEventListener(a,b,c)},removeEvent:function(a,b,c,d){d.removeEventListener(a,b,c)},makeEvent:function(a,b){var c=new PointerEvent(a,b);return this.targets.set(c,this.targets.get(b)||b.target),c},fireEvent:function(a,b){var c=this.makeEvent(a,b);return this.dispatchEvent(c)},cloneEvent:function(a){var b={};for(var c in a)b[c]=a[c];return b},getTarget:function(a){return this.captureInfo&&this.captureInfo.id===a.pointerId?this.captureInfo.target:this.targets.get(a)},setCapture:function(a,b){this.captureInfo&&this.releaseCapture(this.captureInfo.id),this.captureInfo={id:a,target:b};var c=new PointerEvent("gotpointercapture",{bubbles:!0});this.implicitRelease=this.releaseCapture.bind(this,a),document.addEventListener("pointerup",this.implicitRelease),document.addEventListener("pointercancel",this.implicitRelease),this.targets.set(c,b),this.asyncDispatchEvent(c)},releaseCapture:function(a){if(this.captureInfo&&this.captureInfo.id===a){var b=new PointerEvent("lostpointercapture",{bubbles:!0}),c=this.captureInfo.target;this.captureInfo=null,document.removeEventListener("pointerup",this.implicitRelease),document.removeEventListener("pointercancel",this.implicitRelease),this.targets.set(b,c),this.asyncDispatchEvent(b)}},dispatchEvent:function(a){var b=this.getTarget(a);return b?b.dispatchEvent(a):void 0},asyncDispatchEvent:function(a){setTimeout(this.dispatchEvent.bind(this,a),0)}};b.boundHandler=b.eventHandler.bind(b),a.dispatcher=b}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher,c=Array.prototype.forEach.call.bind(Array.prototype.forEach),d=Array.prototype.map.call.bind(Array.prototype.map),e={ATTRIB:"touch-action",SELECTOR:"[touch-action]",EMITTER:"none",XSCROLLER:"pan-x",YSCROLLER:"pan-y",SCROLLER:/^(?:pan-x pan-y)|(?:pan-y pan-x)|scroll$/,OBSERVER_INIT:{subtree:!0,childList:!0,attributes:!0,attributeFilter:["touch-action"]},watchSubtree:function(b){a.targetFinding.canTarget(b)&&h.observe(b,this.OBSERVER_INIT)},enableOnSubtree:function(a){var b=a||document;this.watchSubtree(a),b===document&&"complete"!==document.readyState?this.installOnLoad():this.installNewSubtree(b)},installNewSubtree:function(a){c(this.findElements(a),this.addElement,this)},findElements:function(a){var b=a||document;return b.querySelectorAll?b.querySelectorAll(this.SELECTOR):[]},touchActionToScrollType:function(a){var b=a;return b===this.EMITTER?"none":b===this.XSCROLLER?"X":b===this.YSCROLLER?"Y":this.SCROLLER.exec(b)?"XY":void 0},removeElement:function(c){b.unregisterTarget(c);var d=a.targetFinding.shadow(c);d&&b.unregisterTarget(d)},addElement:function(c){var d=c.getAttribute&&c.getAttribute(this.ATTRIB),e=this.touchActionToScrollType(d);if(e){b.registerTarget(c,e);var f=a.targetFinding.shadow(c);f&&b.registerTarget(f,e)}},elementChanged:function(a){this.removeElement(a),this.addElement(a)},concatLists:function(a,b){for(var c,d=0,e=b.length;e>d&&(c=b[d]);d++)a.push(c);return a},installOnLoad:function(){document.addEventListener("DOMContentLoaded",this.installNewSubtree.bind(this,document))},flattenMutationTree:function(a){var b=d(a,this.findElements,this);return b.push(a),b.reduce(this.concatLists,[])},mutationWatcher:function(a){a.forEach(this.mutationHandler,this)},mutationHandler:function(a){var b=a;if("childList"===b.type){var c=this.flattenMutationTree(b.addedNodes);c.forEach(this.addElement,this);var d=this.flattenMutationTree(b.removedNodes);d.forEach(this.removeElement,this)}else"attributes"===b.type&&this.elementChanged(b.target)}},f=e.mutationWatcher.bind(e);a.installer=e,a.register=e.enableOnSubtree.bind(e),a.setTouchAction=function(a,c){var d=this.touchActionToScrollType(c);d?b.registerTarget(a,d):b.unregisterTarget(a)}.bind(e);var g=window.MutationObserver||window.WebKitMutationObserver;if(g)var h=new g(f);else e.watchSubtree=function(){console.warn("PointerEventsPolyfill: MutationObservers not found, touch-action will not be dynamically detected")}}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher,c=a.installer,d=a.findTarget,e=b.pointermap,f=b.scrollType,g=Array.prototype.map.call.bind(Array.prototype.map),h=2500,i=25,j={events:["touchstart","touchmove","touchend","touchcancel"],POINTER_TYPE:"touch",firstTouch:null,isPrimaryTouch:function(a){return this.firstTouch===a.identifier},setPrimaryTouch:function(a){null===this.firstTouch&&(this.firstTouch=a.identifier,this.firstXY={X:a.clientX,Y:a.clientY},this.scrolling=!1)},removePrimaryTouch:function(a){this.isPrimaryTouch(a)&&(this.firstTouch=null,this.firstXY=null)},touchToPointer:function(a){var c=b.cloneEvent(a);return c.pointerId=a.identifier+2,c.target=d(c),c.bubbles=!0,c.cancelable=!0,c.button=0,c.buttons=1,c.width=a.webkitRadiusX||a.radiusX,c.height=a.webkitRadiusY||a.radiusY,c.pressure=a.webkitForce||a.force,c.isPrimary=this.isPrimaryTouch(a),c.pointerType=this.POINTER_TYPE,c},processTouches:function(a,b){var c=a.changedTouches,d=g(c,this.touchToPointer,this);d.forEach(b,this)},shouldScroll:function(a){if(this.firstXY){var b,c=f.get(a.currentTarget);if("none"===c)b=!1;else if("XY"===c)b=!0;else{var d=a.changedTouches[0],e=c,g="Y"===c?"X":"Y",h=Math.abs(d["client"+e]-this.firstXY[e]),i=Math.abs(d["client"+g]-this.firstXY[g]);b=h>=i}return this.firstXY=null,b}},findTouch:function(a,b){for(var c,d=0,e=a.length;e>d&&(c=a[d]);d++)if(c.identifier===b)return!0},vacuumTouches:function(a){var b=a.touches;if(e.size>=b.length){var c=[];e.ids.forEach(function(a){if(1!==a&&!this.findTouch(b,a-2)){var d=e.get(a).out;c.push(this.touchToPointer(d))}},this),c.forEach(this.cancelOut,this)}},touchstart:function(a){this.vacuumTouches(a),this.setPrimaryTouch(a.changedTouches[0]),this.dedupSynthMouse(a),this.scrolling||this.processTouches(a,this.overDown)},overDown:function(a){e.set(a.pointerId,{target:a.target,out:a,outTarget:a.target}),b.over(a),b.down(a)},touchmove:function(a){this.scrolling||(this.shouldScroll(a)?(this.scrolling=!0,this.touchcancel(a)):(a.preventDefault(),this.processTouches(a,this.moveOverOut)))},moveOverOut:function(a){var c=a,d=e.get(c.pointerId),f=d.out,g=d.outTarget;b.move(c),f&&g!==c.target&&(f.relatedTarget=c.target,c.relatedTarget=g,f.target=g,b.leaveOut(f),b.enterOver(c)),d.out=c,d.outTarget=c.target},touchend:function(a){this.dedupSynthMouse(a),this.processTouches(a,this.upOut)},upOut:function(a){this.scrolling||(b.up(a),b.out(a)),this.cleanUpPointer(a)},touchcancel:function(a){this.processTouches(a,this.cancelOut)},cancelOut:function(a){b.cancel(a),b.out(a),this.cleanUpPointer(a)},cleanUpPointer:function(a){e.delete(a.pointerId),this.removePrimaryTouch(a)},dedupSynthMouse:function(a){var b=k.lastTouches,c=a.changedTouches[0];if(this.isPrimaryTouch(c)){var d={x:c.clientX,y:c.clientY};b.push(d);var e=function(a,b){var c=a.indexOf(b);c>-1&&a.splice(c,1)}.bind(null,b,d);setTimeout(e,h)}}},k={POINTER_ID:1,POINTER_TYPE:"mouse",events:["mousedown","mousemove","mouseup","mouseover","mouseout"],global:["mousedown","mouseup","mouseover","mouseout"],lastTouches:[],mouseHandler:b.eventHandler.bind(b),isEventSimulatedFromTouch:function(a){for(var b,c=this.lastTouches,d=a.clientX,e=a.clientY,f=0,g=c.length;g>f&&(b=c[f]);f++){var h=Math.abs(d-b.x),j=Math.abs(e-b.y);if(i>=h&&i>=j)return!0}},prepareEvent:function(a){var c=b.cloneEvent(a);return c.pointerId=this.POINTER_ID,c.isPrimary=!0,c.pointerType=this.POINTER_TYPE,c},mousedown:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=e.has(this.POINTER_ID);if(c&&(this.cancel(a),c=!1),!c){var d=this.prepareEvent(a);e.set(this.POINTER_ID,a),b.down(d),b.listen(this.global,document,this.mouseHandler)}}},mousemove:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a); -b.move(c)}},mouseup:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=e.get(this.POINTER_ID);if(c&&c.button===a.button){var d=this.prepareEvent(a);b.up(d),this.cleanupMouse()}}},mouseover:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a);b.enterOver(c)}},mouseout:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a);b.leaveOut(c)}},cancel:function(a){var c=this.prepareEvent(a);b.cancel(c),this.cleanupMouse()},cleanupMouse:function(){e.delete(this.POINTER_ID),b.unlisten(this.global,document,this.mouseHandler)}},l={events:["MSPointerDown","MSPointerMove","MSPointerUp","MSPointerOut","MSPointerOver","MSPointerCancel","MSGotPointerCapture","MSLostPointerCapture"],POINTER_TYPES:["","unavailable","touch","pen","mouse"],prepareEvent:function(a){var c=b.cloneEvent(a);return c.pointerType=this.POINTER_TYPES[a.pointerType],c},cleanup:function(a){e.delete(a)},MSPointerDown:function(a){e.set(a.pointerId,a);var c=this.prepareEvent(a);b.down(c)},MSPointerMove:function(a){var c=this.prepareEvent(a);b.move(c)},MSPointerUp:function(a){var c=this.prepareEvent(a);b.up(c),this.cleanup(a.pointerId)},MSPointerOut:function(a){var c=this.prepareEvent(a);b.leaveOut(c)},MSPointerOver:function(a){var c=this.prepareEvent(a);b.enterOver(c)},MSPointerCancel:function(a){var c=this.prepareEvent(a);b.cancel(c),this.cleanup(a.pointerId)},MSLostPointerCapture:function(a){var c=b.makeEvent("lostpointercapture",a);b.dispatchEvent(c)},MSGotPointerCapture:function(a){var c=b.makeEvent("gotpointercapture",a);b.dispatchEvent(c)}};if(void 0===window.navigator.pointerEnabled){if(window.navigator.msPointerEnabled){var m=window.navigator.msMaxTouchPoints;Object.defineProperty(window.navigator,"maxTouchPoints",{value:m,enumerable:!0}),b.registerSource("ms",l),b.registerTarget(document)}else b.registerSource("mouse",k),"ontouchstart"in window&&b.registerSource("touch",j),c.enableOnSubtree(document),b.listen(["mousemove"],document,b.boundHandler);Object.defineProperty(window.navigator,"pointerEnabled",{value:!0,enumerable:!0})}}(window.PointerEventsPolyfill),function(a){function b(a){if(!e.pointermap.has(a))throw new Error("InvalidPointerId")}var c,d,e=a.dispatcher,f=window.navigator;f.msPointerEnabled?(c=function(a){b(a),this.msSetPointerCapture(a)},d=function(a){b(a),this.msReleasePointerCapture(a)}):(c=function(a){b(a),e.setCapture(a,this)},d=function(a){b(a),e.releaseCapture(a,this)}),Element.prototype.setPointerCapture||Object.defineProperties(Element.prototype,{setPointerCapture:{value:c},releasePointerCapture:{value:d}})}(window.PointerEventsPolyfill),PointerGestureEvent.prototype.preventTap=function(){this.tapPrevented=!0},function(a){a=a||{},a.utils={LCA:{find:function(a,b){if(a===b)return a;if(a.contains){if(a.contains(b))return a;if(b.contains(a))return b}var c=this.depth(a),d=this.depth(b),e=c-d;for(e>0?a=this.walk(a,e):b=this.walk(b,-e);a&&b&&a!==b;)a=this.walk(a,1),b=this.walk(b,1);return a},walk:function(a,b){for(var c=0;b>c;c++)a=a.parentNode;return a},depth:function(a){for(var b=0;a;)b++,a=a.parentNode;return b}}},a.findLCA=function(b,c){return a.utils.LCA.find(b,c)},window.PointerGestures=a}(window.PointerGestures),function(a){var b;if("undefined"!=typeof WeakMap&&navigator.userAgent.indexOf("Firefox/")<0)b=WeakMap;else{var c=Object.defineProperty,d=Object.hasOwnProperty,e=(new Date).getTime()%1e9;b=function(){this.name="__st"+(1e9*Math.random()>>>0)+(e++ +"__")},b.prototype={set:function(a,b){c(a,this.name,{value:b,writable:!0})},get:function(a){return d.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}a.SideTable=b}(window.PointerGestures),function(a){function b(){this.ids=[],this.pointers=[]}b.prototype={set:function(a,b){var c=this.ids.indexOf(a);c>-1?this.pointers[c]=b:(this.ids.push(a),this.pointers.push(b))},has:function(a){return this.ids.indexOf(a)>-1},"delete":function(a){var b=this.ids.indexOf(a);b>-1&&(this.ids.splice(b,1),this.pointers.splice(b,1))},get:function(a){var b=this.ids.indexOf(a);return this.pointers[b]},get size(){return this.pointers.length},clear:function(){this.ids.length=0,this.pointers.length=0}},window.Map&&(b=window.Map),a.PointerMap=b}(window.PointerGestures),function(a){var b={handledEvents:new a.SideTable,targets:new a.SideTable,handlers:{},recognizers:{},events:["pointerdown","pointermove","pointerup","pointerover","pointerout","pointercancel"],registerRecognizer:function(a,b){var c=b;this.recognizers[a]=c,this.events.forEach(function(a){if(c[a]){var b=c[a].bind(c);this.addHandler(a,b)}},this)},addHandler:function(a,b){var c=a;this.handlers[c]||(this.handlers[c]=[]),this.handlers[c].push(b)},registerTarget:function(a){this.listen(this.events,a)},unregisterTarget:function(a){this.unlisten(this.events,a)},eventHandler:function(a){if(!this.handledEvents.get(a)){var b,c=a.type;(b=this.handlers[c])&&this.makeQueue(b,a),this.handledEvents.set(a,!0)}},makeQueue:function(a,b){var c=this.cloneEvent(b);setTimeout(this.runQueue.bind(this,a,c),0)},runQueue:function(a,b){this.currentPointerId=b.pointerId;for(var c,d=0,e=a.length;e>d&&(c=a[d]);d++)c(b);this.currentPointerId=0},listen:function(a,b){a.forEach(function(a){this.addEvent(a,this.boundHandler,!1,b)},this)},unlisten:function(a){a.forEach(function(a){this.removeEvent(a,this.boundHandler,!1,inTarget)},this)},addEvent:function(a,b,c,d){d.addEventListener(a,b,c)},removeEvent:function(a,b,c,d){d.removeEventListener(a,b,c)},makeEvent:function(a,b){return new PointerGestureEvent(a,b)},cloneEvent:function(a){var b={};for(var c in a)b[c]=a[c];return b},dispatchEvent:function(a,b){var c=b||this.targets.get(a);c&&(c.dispatchEvent(a),a.tapPrevented&&this.preventTap(this.currentPointerId))},asyncDispatchEvent:function(a,b){var c=function(){this.dispatchEvent(a,b)}.bind(this);setTimeout(c,0)},preventTap:function(a){var b=this.recognizers.tap;b&&b.preventTap(a)}};b.boundHandler=b.eventHandler.bind(b),a.dispatcher=b,a.register=function(b){var c=window.PointerEventsPolyfill;c&&c.register(b),a.dispatcher.registerTarget(b)},b.registerTarget(document)}(window.PointerGestures),function(a){var b=a.dispatcher,c={HOLD_DELAY:200,WIGGLE_THRESHOLD:16,events:["pointerdown","pointermove","pointerup","pointercancel"],heldPointer:null,holdJob:null,pulse:function(){var a=Date.now()-this.heldPointer.timeStamp,b=this.held?"holdpulse":"hold";this.fireHold(b,a),this.held=!0},cancel:function(){clearInterval(this.holdJob),this.held&&this.fireHold("release"),this.held=!1,this.heldPointer=null,this.target=null,this.holdJob=null},pointerdown:function(a){a.isPrimary&&!this.heldPointer&&(this.heldPointer=a,this.target=a.target,this.holdJob=setInterval(this.pulse.bind(this),this.HOLD_DELAY))},pointerup:function(a){this.heldPointer&&this.heldPointer.pointerId===a.pointerId&&this.cancel()},pointercancel:function(){this.cancel()},pointermove:function(a){if(this.heldPointer&&this.heldPointer.pointerId===a.pointerId){var b=a.clientX-this.heldPointer.clientX,c=a.clientY-this.heldPointer.clientY;b*b+c*c>this.WIGGLE_THRESHOLD&&this.cancel()}},fireHold:function(a,c){var d={pointerType:this.heldPointer.pointerType};c&&(d.holdTime=c);var e=b.makeEvent(a,d);b.dispatchEvent(e,this.target),e.tapPrevented&&b.preventTap(this.heldPointer.pointerId)}};b.registerRecognizer("hold",c)}(window.PointerGestures),function(a){var b=a.dispatcher,c=new a.PointerMap,d={events:["pointerdown","pointermove","pointerup","pointercancel"],WIGGLE_THRESHOLD:4,clampDir:function(a){return a>0?1:-1},calcPositionDelta:function(a,b){var c=0,d=0;return a&&b&&(c=b.pageX-a.pageX,d=b.pageY-a.pageY),{x:c,y:d}},fireTrack:function(a,c,d){var e=d,f=this.calcPositionDelta(e.downEvent,c),g=this.calcPositionDelta(e.lastMoveEvent,c);g.x&&(e.xDirection=this.clampDir(g.x)),g.y&&(e.yDirection=this.clampDir(g.y));var h={dx:f.x,dy:f.y,ddx:g.x,ddy:g.y,clientX:c.clientX,clientY:c.clientY,pageX:c.pageX,pageY:c.pageY,screenX:c.screenX,screenY:c.screenY,xDirection:e.xDirection,yDirection:e.yDirection,trackInfo:e.trackInfo,pointerType:c.pointerType};"trackend"===a&&(h._releaseTarget=c.target);var i=b.makeEvent(a,h);e.lastMoveEvent=c,b.dispatchEvent(i,e.downTarget)},pointerdown:function(a){if(a.isPrimary&&("mouse"===a.pointerType?1===a.buttons:!0)){var b={downEvent:a,downTarget:a.target,trackInfo:{},lastMoveEvent:null,xDirection:0,yDirection:0,tracking:!1};c.set(a.pointerId,b)}},pointermove:function(a){var b=c.get(a.pointerId);if(b)if(b.tracking)this.fireTrack("track",a,b);else{var d=this.calcPositionDelta(b.downEvent,a),e=d.x*d.x+d.y*d.y;e>this.WIGGLE_THRESHOLD&&(b.tracking=!0,this.fireTrack("trackstart",b.downEvent,b),this.fireTrack("track",a,b))}},pointerup:function(a){var b=c.get(a.pointerId);b&&(b.tracking&&this.fireTrack("trackend",a,b),c.delete(a.pointerId))},pointercancel:function(a){this.pointerup(a)}};b.registerRecognizer("track",d)}(window.PointerGestures),function(a){var b=a.dispatcher,c={MIN_VELOCITY:.5,MAX_QUEUE:4,moveQueue:[],target:null,pointerId:null,events:["pointerdown","pointermove","pointerup","pointercancel"],pointerdown:function(a){a.isPrimary&&!this.pointerId&&(this.pointerId=a.pointerId,this.target=a.target,this.addMove(a))},pointermove:function(a){a.pointerId===this.pointerId&&this.addMove(a)},pointerup:function(a){a.pointerId===this.pointerId&&this.fireFlick(a),this.cleanup()},pointercancel:function(){this.cleanup()},cleanup:function(){this.moveQueue=[],this.target=null,this.pointerId=null},addMove:function(a){this.moveQueue.length>=this.MAX_QUEUE&&this.moveQueue.shift(),this.moveQueue.push(a)},fireFlick:function(a){for(var c,d,e,f,g,h,i,j=a,k=this.moveQueue.length,l=0,m=0,n=0,o=0;k>o&&(i=this.moveQueue[o]);o++)c=j.timeStamp-i.timeStamp,d=j.clientX-i.clientX,e=j.clientY-i.clientY,f=d/c,g=e/c,h=Math.sqrt(f*f+g*g),h>n&&(l=f,m=g,n=h);var p=Math.abs(l)>Math.abs(m)?"x":"y",q=this.calcAngle(l,m);if(Math.abs(n)>=this.MIN_VELOCITY){var r=b.makeEvent("flick",{xVelocity:l,yVelocity:m,velocity:n,angle:q,majorAxis:p,pointerType:a.pointerType});b.dispatchEvent(r,this.target)}},calcAngle:function(a,b){return 180*Math.atan2(b,a)/Math.PI}};b.registerRecognizer("flick",c)}(window.PointerGestures),function(a){var b=a.dispatcher,c=new a.PointerMap,d={events:["pointerdown","pointermove","pointerup","pointercancel"],pointerdown:function(a){a.isPrimary&&!a.tapPrevented&&c.set(a.pointerId,{target:a.target,x:a.clientX,y:a.clientY})},pointermove:function(a){if(a.isPrimary){var b=c.get(a.pointerId);b&&a.tapPrevented&&c.delete(a.pointerId)}},pointerup:function(d){var e=c.get(d.pointerId);if(e&&!d.tapPrevented){var f=a.findLCA(e.target,d.target);if(f){var g=b.makeEvent("tap",{x:d.clientX,y:d.clientY,pointerType:d.pointerType});b.dispatchEvent(g,f)}}c.delete(d.pointerId)},pointercancel:function(a){c.delete(a.pointerId)},preventTap:function(a){c.delete(a)}};b.registerRecognizer("tap",d)}(window.PointerGestures),function(){var a=Array.prototype.forEach.call.bind(Array.prototype.forEach);window.forEach=a}(),function(){function a(a,c){1==arguments.length&&(c=a,a=null),c&&c.hasOwnProperty("constructor")||(c.constructor=function(){this.super()});var d=c.constructor,f=a&&a.prototype||Object.prototype;return d.prototype=b(f,c),"super"in d.prototype||(d.prototype.super=e),d}function b(a,b){return Object.create(a,c(b))}function c(a){var b={};for(var c in a)b[c]=d(a,c);return b}function d(a,b){return a&&Object.getOwnPropertyDescriptor(a,b)||d(Object.getPrototypeOf(a),b)}function e(a){var b=e.caller,c=b._nom;if(!c&&(c=b._nom=h.call(this,b),!c))return console.warn('called super() on a method not in "this"'),void 0;"_super"in b||g(b,c,Object.getPrototypeOf(this));var d=b._super;if(d){var f=d[c];return"_super"in f||g(f,c,d),f.apply(this,a||[])}}function f(a,b,c){for(var d=a;d&&(!d.hasOwnProperty(b)||d[b]==c);)d=Object.getPrototypeOf(d);return d}function g(a,b,c){a._super=f(c,b,a),a._super&&(a._super[b]._nom=b)}function h(a){for(var b in this){var c=d(this,b);if(c.value==a)return b}}window.$class=a,window.extend=b,window.$super=e}(),function(){function a(a,d){if(a!=window){if(!(a&&a instanceof HTMLElement))throw"First argument to Polymer.register must be an HTMLElement";var e=mixin({},Polymer.base,d);e.elementElement=a,Polymer.addResolvePath(e,a),e.installTemplate=function(){this.super(),c.call(this,a)},e.readyCallback=b,Polymer.parseHostEvents(a.attributes,e),Polymer.publishAttributes(a,e),Polymer.installSheets(a),Polymer.shimStyling(a),a.register({prototype:e}),logFlags.comps&&console.log("Polymer: element registered"+a.options.name)}}function b(){this.installTemplate(),e.call(this)}function c(a){var b=a.querySelector("template");if(b){b.setAttribute("syntax","Polymer");var c=this.webkitCreateShadowRoot();return c.applyAuthorStyles=this.applyAuthorStyles,CustomElements.watchShadow(this),c.host=this,c.appendChild(b.createInstance(this,"Polymer")),d.call(this,c),c}}function d(a){CustomElements.takeRecords(),Polymer.marshalNodeReferences.call(this,a);var b=Polymer.accumulateEvents(a);Polymer.bindAccumulatedLocalEvents.call(this,a,b),PointerGestures.register(a),PointerEventsPolyfill.setTouchAction(a,this.getAttribute("touch-action"))}function e(){Polymer.observeProperties.call(this),Polymer.installInstanceAttributes.call(this),Polymer.takeAttributes.call(this);var a=Polymer.accumulateHostEvents.call(this);Polymer.bindAccumulatedHostEvents.call(this,a),this.ready&&this.ready()}function f(a,b){for(var c=a;c&&c!=this;){var d=Array.prototype.indexOf.call(b,c);if(d>=0)return d;c=c.parentNode}}window.logFlags||{},window.Polymer={register:a,findDistributedTarget:f,instanceReady:e}}(),function(a){var b=window.logFlags||{},c={"super":$super,isPolymerElement:!0,bind:function(){Polymer.bind.apply(this,arguments)},unbind:function(){Polymer.unbind.apply(this,arguments)},unbindAll:function(){Polymer.unbindAll.apply(this,arguments)},job:function(){return Polymer.job.apply(this,arguments)},asyncMethod:function(a,b,c){var d=b&&b.length?b:[b],e=function(){(this[a]||a).apply(this,d)}.bind(this);return c?window.setTimeout(e,c):requestAnimationFrame(e)},dispatch:function(a,b){this[a]&&this[a].apply(this,b)},fire:function(a,c,d){var e=d||this;return b.events&&console.log("[%s]: sending [%s]",e.localName,a),e.dispatchEvent(new CustomEvent(a,{bubbles:!0,detail:c})),c},asyncFire:function(){this.asyncMethod("fire",arguments)},classFollows:function(a,b,c){b&&b.classList.remove(c),a&&a.classList.add(c)}};c.send=c.fire,c.asend=c.asyncFire,a.base=c}(window.Polymer),function(){function a(a,b,c,e){var f=d(a,b,!0);f[c.toLowerCase()]=e}function b(a,b,c){var e=d(a,b),f=c.toLowerCase();return e&&e[f]?(e[f].close(),e[f]=null,!0):void 0}function c(a,c){var e=d(a,c);e&&Object.keys(e).forEach(function(d){b(a,c,d)})}function d(a,b,c){var d=e.get(a);return c&&(d||e.set(a,d={}),d[b]||(d[b]={})),d&&d[b]}var e=new SideTable;Polymer.registerObserver=a,Polymer.unregisterObserver=b,Polymer.unregisterObserversOfType=c}(),function(){function a(a,c,d,e){b.bind&&console.log("[%s]: bindProperties: [%s] to [%s].[%s]",d.localName||"object",e,a.localName,c);var f=PathObserver.getValueAtPath(d,e);return(null===f||void 0===f)&&PathObserver.setValueAtPath(d,e,a[c]),PathObserver.defineProperty(a,c,{object:d,path:e})}var b=window.logFlags||{};Polymer.bindProperties=a}(),function(){function a(a,b,c){var d=j.get(a);d||j.set(a,d={}),d[b.toLowerCase()]=c}function b(a,b){var c=j.get(a);c&&delete c[b.toLowerCase()]}function c(c){var d=c.prototype,e=d.bind,f=d.unbind;d.bind=function(b,c,d){e.apply(this,arguments),a(this,b,d)},d.unbind=function(a){f.apply(this,arguments),b(this,a)}}function d(a){return a&&j.get(a)||k}function e(a,b){return d(a)[b.toLowerCase()]}function f(b,c,d){var e=Polymer.propertyForAttribute.call(this,b);e?(a(this,e,d),Polymer.registerObserver(this,"binding",e,Polymer.bindProperties(this,e,c,d))):HTMLElement.prototype.bind.apply(this,arguments)}function g(a){a.unbindAll();for(var b=a.firstChild;b;b=b.nextSibling)g(b)}function h(a){Polymer.unregisterObserver(this,"binding",a)||HTMLElement.prototype.unbind.apply(this,arguments)}function i(){Polymer.unregisterObserversOfType(this,"property"),HTMLElement.prototype.unbindAll.apply(this,arguments)}window.logFlags||{};var j=new SideTable;[Node,Element,Text,HTMLInputElement].forEach(c);var k={},l=/\{\{([^{}]*)}}/;Polymer.bind=f,Polymer.unbind=h,Polymer.unbindAll=i,Polymer.getBinding=e,Polymer.unbindModel=g,Polymer.bindPattern=l}(),function(){"use strict";function a(){}function b(a,b,c,g){var h,i,j=b.match(e);if(j)h=j[1],i=j[2];else{if(j=b.match(d),!j)return;h=j[2],i=j[1]}var k=new CompoundBinding(function(a){return a.value});return k.bind("value",a,i),f.set(g,{model:a,scope:h}),k}function c(a,b,c){var d=new CompoundBinding(function(a){return a.value?b:""});return d.bind("value",a,c),d}var d=/([\w\.\$]*)[\s]+as[\s]+([\w]*)/,e=/([\w]*)[\s]+in[\s]+([\w\.\$]*)/,f=new SideTable;HTMLTemplateElement.syntax.Polymer={getBinding:function(a,d,e,f){if(f.nodeType===Node.ELEMENT_NODE&&("bind"===e||"repeat"===e)&&"TEMPLATE"===f.tagName)return b(a,d,e,f);var g=d.match(/([\w]+):[\W]*([\w\.\$]*)/);return g?c(a,g[1],g[2]):void 0},getInstanceModel:function(b,c){var d=f.get(b);if(!d)return c;var e;return e=d.model?Object.create(d.model):new a,e[d.scope]=c,e}}}(this),function(){function a(a,d){b(a,d),c(a,d)}function b(a,b){var c={},d=a.getAttribute(j);if(d){var e=d.split(d.indexOf(",")>=0?",":" ");e.forEach(function(a){a=a.trim(),a&&(c[a]=null)})}var f=a.options.prototype;Object.keys(c).forEach(function(a){a in b||a in f||(b[a]=c[a])});var g=b[k];g&&(Object.keys(g).forEach(function(a){b[a]=g[a]}),c=mixin(c,g)),b[i]=mixin({},f[i],c)}function c(a,b){for(var c,d=a.options.prototype,e=a.attributes,f=b.instanceAttributes=Object.create(d.instanceAttributes||null),g=0,h=e.length;h>g&&(c=e[g]);g++)switch(c.name){case"name":case"extends":case j:break;default:"on-"!==c.name.slice(0,3)&&(f[c.name]=c.value)}}function d(){var a=this.instanceAttributes;Object.keys(a).forEach(function(b){this.setAttribute(b,a[b])},this)}function e(){forEach(this.attributes,function(a){var b=f.call(this,a.name);if(b){if(a.value.search(h)>=0)return;var c=this[b],d=g(a.value,c);d!==c&&(this[b]=d)}},this)}function f(a){var b=Object.keys(this[i]);return b[b.map(l).indexOf(a.toLowerCase())]}function g(a,b){var c=typeof b;switch(b instanceof Date&&(c="date"),c){case"string":return a;case"date":return new Date(Date.parse(a)||Date.now());case"boolean":if(""==a)return!0}switch(a){case"true":return!0;case"false":return!1}var d=parseFloat(a);return String(d)===a?d:a}var h=Polymer.bindPattern,i="__published",j="attributes",k="publish",l=String.prototype.toLowerCase.call.bind(String.prototype.toLowerCase);Polymer.takeAttributes=e,Polymer.publishAttributes=a,Polymer.propertyForAttribute=f,Polymer.installInstanceAttributes=d}(),Polymer.marshalNodeReferences=function(a){var b=this.$=this.$||{};if(a){var c=a.querySelectorAll("[id]");forEach(c,function(a){b[a.id]=a})}},function(){function a(a,b,c){var d=c.bind(this);for(var e in b)j.events&&console.log('[%s] bindAccumulatedEvents: addEventListener("%s", listen)',a.localName||"root",e),a.addEventListener(e,d)}function b(b){a.call(this,this,b,f)}function c(b,c){a.call(this,b,c,d)}function d(a){if(!a.cancelBubble){a.on=k+a.type,j.events&&console.group("[%s]: listenLocal [%s]",this.localName,a.on);var b=a.path&&a.path();if(!b||window.ShadowDOMPolyfill)e(a);else{var c=null;Array.prototype.some.call(b,function(b){return b===this?!0:(c=c===this?c:v(b),c&&h.call(c,b,a)?!0:void 0)},this)}j.events&&console.groupEnd()}}function e(a){j.events&&console.log("event.path() not supported for",a.type);for(var b=a.target,c=null;b&&b!=this;){if(c=c===this?c:v(b),c&&h.call(c,b,a))return;b=b.parentNode}}function f(a){a.cancelBubble||(j.events&&console.group("[%s]: listenHost [%s]",this.localName,a.type),i.call(this,this,a),j.events&&console.groupEnd())}function g(a){var b=x.get(a);return b||(b=[],x.set(a,b)),b}function h(a,b){if(a.attributes){var c=g(b);if(c.indexOf(a)<0){c.push(a);var d=a.getAttribute(b.on);d&&(j.events&&console.log("[%s] found handler name [%s]",this.localName,d),w(this,d,[b,b.detail,a]))}}return b.cancelBubble}function i(a,b){var c=y.call(a,b.type);return c&&(j.events&&console.log("[%s] found host handler name [%s]",a.localName,c),w(a,c,[b,b.detail,a])),b.cancelBubble}var j=window.logFlags||{},k="on-",l=function(a,b){b.eventDelegates=m(a)},m=function(a){var b={};if(a)for(var c,d=0;c=a[d];d++)c.name.slice(0,k.length)==k&&(b[c.name.slice(k.length)]=c.value);return b},n=function(a,b){var c=b||{};return o(a,c),r(a,c),s(a,c),c},o=function(a,b){var c=a.attributes;if(c)for(var d,e=0;d=c[e];e++)d.name.slice(0,k.length)===k&&q(d.name.slice(k.length),b)},p={webkitanimationstart:"webkitAnimationStart",webkitanimationend:"webkitAnimationEnd",webkittransitionend:"webkitTransitionEnd",domfocusout:"DOMFocusOut",domfocusin:"DOMFocusIn"},q=function(a,b){var c=p[a]||a;b[c]=1},r=function(a,b){for(var c,d=a.childNodes,e=0;c=d[e];e++)n(c,b)},s=function(a,b){if("template"==a.localName){var c=t(a);c&&r(c,b)}},t=function(a){return a.ref?a.ref.content:a.content},u=function(a){for(var b=a||{},c=this.__proto__;c&&c!==HTMLElement.prototype;){if(c.hasOwnProperty("eventDelegates"))for(var d in c.eventDelegates)q(d,b);c=c.__proto__}return b},v=function(a){for(var b=a;b.parentNode&&"shadow-root"!==b.localName;)b=b.parentNode;return b.host},w=function(a,b,c){a&&(j.events&&console.group("[%s] dispatch [%s]",a.localName,b),a.dispatch(b,c),j.events&&console.groupEnd())},x=new SideTable("handledList"),y=function(a){for(var b=this;b;){if(b.hasOwnProperty("eventDelegates")){var c=b.eventDelegates[a]||b.eventDelegates[a.toLowerCase()];if(c)return c}b=b.__proto__}};Polymer.parseHostEvents=l,Polymer.accumulateEvents=n,Polymer.accumulateHostEvents=u,Polymer.bindAccumulatedHostEvents=b,Polymer.bindAccumulatedLocalEvents=c}(),function(){function a(){for(var a in this)b.call(this,a)}function b(a){if(c.call(this,a)){e.observe&&console.log("["+this.localName+"] watching ["+a+"]");var b=new PathObserver(this,a,function(b,c){e.data&&console.log("[%s#%s] watch: [%s] now [%s] was [%s]",this.localName,this.node.id||"",a,this[a],c),d.call(this,a,c)}.bind(this));Polymer.registerObserver(this,"property",a,b)}}function c(a){return"_"!=a[0]&&!(a in Object.prototype)&&Boolean(this[a+f])}function d(a,b){var c=a+f;this[c]&&this[c](b)}var e=window.logFlags||{},f="Changed";Polymer.observeProperties=a}(),function(){function a(a){b(a),c(a)}function b(a){var b=j(a,r,function(a){return!a.hasAttribute(s)}),c=k(a);if(c){b.forEach(function(a){a.parentNode.removeChild(a)});var d=document.createDocumentFragment();b.forEach(function(a){var b=f(a);b&&d.appendChild(b)}),c.insertBefore(d,c.firstChild)}}function c(a){g(i(a,"global"),m.head)}function d(a,b){b.controllerStyles||(b.controllerStyles=i(b,"controller"));var c=b.controllerStyles;n.queue(function(){var b=e(a);b&&(Polymer.shimPolyfillDirectives(c,a.localName),g(c,b))})}function e(a){for(var b=a;b.parentNode&&"shadow-root"!=b.localName;)b=b.parentNode;return b==m?m.head:b}function f(a){if(a.__resource){var b=m.createElement("style");return b.textContent=a.__resource,b}console.warn("Could not find content for stylesheet",a)}function g(a,b){a.forEach(function(a){b.appendChild(a.cloneNode(!0))})}function h(a,b){return p?p.call(a,b):void 0}function i(a,b){var c=[],d="["+s+"="+b+"]",e=function(a){return h(a,d)},g=j(a,r,e);g.forEach(function(a){a.parentNode.removeChild(a),c.push(f(a))});var i=j(a,q,e);return i.forEach(function(a){a.parentNode.removeChild(a),c.push(a)}),c}function j(a,b,c){var d=l(a.querySelectorAll(b)),e=k(a);if(e){var f=l(e.querySelectorAll(b));d=d.concat(f)}return d.filter(c)}function k(a){var b=a.querySelector("template");return b&&templateContent(b)}function l(a){return Array.prototype.slice.call(a||[],0)}window.logFlags||{};var m=wrap(document),n={list:[],queue:function(a){a&&n.list.push(a),n.queueFlush()},queueFlush:function(){n.flushing||(n.flushing=!0,requestAnimationFrame(n.flush))},flush:function(){n.list.forEach(function(a){a()}),n.list=[],n.flushing=!1}},o=HTMLElement.prototype,p=o.matches||o.matchesSelector||o.webkitMatchesSelector||o.mozMatchesSelector,q="style",r="[rel=stylesheet]",s="polymer-scope";Polymer.installSheets=a,Polymer.installControllerStyles=d}(),function(){var a=Array.prototype.forEach.call.bind(Array.prototype.forEach),b=Array.prototype.concat.call.bind(Array.prototype.concat),c=Array.prototype.slice.call.bind(Array.prototype.slice),d={hostRuleRe:/@host[^{]*{(([^}]*?{[^{]*?}[\s\S]*?)+)}/gim,selectorRe:/([^{]*)({[\s\S]*?})/gim,hostFixableRe:/^[.\[:]/,cssCommentRe:/\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim,cssPolyfillCommentRe:/\/\*\s*@polyfill ([^*]*\*+([^/*][^*]*\*+)*\/)([^{]*?){/gim,selectorReSuffix:"([>\\s~+[.,{:][\\s\\S]*)?$",hostRe:/@host/gim,cache:{},shimStyling:function(a){if(window.ShadowDOMPolyfill&&a){var b=a.options.name;d.cacheDefinition(a),d.shimPolyfillDirectives(a.styles,b),d.applyShimming(d.stylesForElement(a),b)}},shimShadowDOMStyling:function(a,b){window.ShadowDOMPolyfill&&(d.shimPolyfillDirectives(a,b),d.applyShimming(a,b))},applyShimming:function(a,b){this.shimAtHost(a,b),this.shimScoping(a,b)},cacheDefinition:function(a){var b=a.options.name,e=a.querySelector("template"),f=e&&templateContent(e),g=f&&f.querySelectorAll("style");a.styles=g?c(g):[],a.templateContent=f,d.cache[b]=a},stylesForElement:function(a){var d=a.styles,e=a.templateContent&&a.templateContent.querySelector("shadow");if(e||null===a.templateContent){var f=this.findExtendee(a.options.name);if(f){var g=this.stylesForElement(f);d=b(c(g),c(d))}}return d},findExtendee:function(a){var b=this.cache[a];return b&&this.cache[b.options.extends]},shimPolyfillDirectives:function(b,c){window.ShadowDOMPolyfill&&b&&a(b,function(a){a.textContent=this.convertPolyfillDirectives(a.textContent,c)},this)},shimAtHost:function(a,b){if(a){var c=this.convertAtHostStyles(a,b);this.addCssToDocument(c)}},shimScoping:function(a,b){a&&this.applyPseudoScoping(a,b)},convertPolyfillDirectives:function(a){for(var b,c="",d=0;b=this.cssPolyfillCommentRe.exec(a);)c+=a.substring(d,b.index),c+=b[1].slice(0,-2)+"{",d=this.cssPolyfillCommentRe.lastIndex;return c+=a.substring(d,a.length)},findAtHostRules:function(a,b){return Array.prototype.filter.call(a,this.isHostRule.bind(this,b))},isHostRule:function(a,b){return b.selectorText&&b.selectorText.match(a)||b.cssRules&&this.findAtHostRules(b.cssRules,a).length||b.type==CSSRule.WEBKIT_KEYFRAMES_RULE},convertAtHostStyles:function(a,b){for(var c,d=this.stylesToCssText(a),e="",f=0;c=this.hostRuleRe.exec(d);)e+=d.substring(f,c.index),e+=this.scopeHostCss(c[1],b),f=this.hostRuleRe.lastIndex;e+=d.substring(f,d.length);var g=new RegExp("^"+b+this.selectorReSuffix,"m"),d=this.rulesToCss(this.findAtHostRules(this.cssToRules(e),g));return d},scopeHostCss:function(a,b){for(var c,d="";c=this.selectorRe.exec(a);)d+=this.scopeHostSelector(c[1],b)+" "+c[2]+"\n ";return d},scopeHostSelector:function(a,b){var c=[],d=a.split(",");return d.forEach(function(a){a=a.trim(),a.indexOf("*")>=0?a=a.replace("*",b):a.match(this.hostFixableRe)&&(a=b+a),c.push(a)},this),c.join(", ")},applyPseudoScoping:function(b,c){a(b,function(a){a.parentNode&&a.parentNode.removeChild(a)});var d=this.stylesToCssText(b).replace(this.hostRuleRe,""),e=this.cssToRules(d),d=this.pseudoScopeRules(e,c);this.addCssToDocument(d)},pseudoScopeRules:function(b,c){var d="";return a(b,function(a){a.selectorText&&a.style&&a.style.cssText?(d+=this.pseudoScopeSelector(a.selectorText,c)+" {\n ",d+=a.style.cssText+"\n}\n\n"):a.media?(d+="@media "+a.media.mediaText+" {\n",d+=this.pseudoScopeRules(a.cssRules,c),d+="\n}\n\n"):a.cssText&&(d+=a.cssText+"\n\n")},this),d},pseudoScopeSelector:function(a,b){var c=[],d=a.split(",");return d.forEach(function(a){c.push(b+" "+a.trim())}),c.join(", ")},stylesToCssText:function(b,c){var d="";return a(b,function(a){d+=a.textContent+"\n\n"}),c||(d=this.stripCssComments(d)),d},stripCssComments:function(a){return a.replace(this.cssCommentRe,"")},cssToRules:function(a){var b=document.createElement("style");b.textContent=a,document.head.appendChild(b);var c=b.sheet.cssRules;return b.parentNode.removeChild(b),c},rulesToCss:function(a){for(var b=0,c=[];b>>0)+(c++ +"__")},SideTable.prototype={set:function(b,c){a(b,this.name,{value:c,writable:!0})},get:function(a){return b.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}(),function(){window.templateContent=window.templateContent||function(a){return a.content},window.wrap=window.unwrap=function(a){return a},window.createShadowRoot=function(a){return a.webkitCreateShadowRoot()},window.templateContent=function(a){if(window.HTMLTemplateElement&&HTMLTemplateElement.bootstrap&&HTMLTemplateElement.bootstrap(a),!a.content&&!a._content){for(var b=document.createDocumentFragment();a.firstChild;)b.appendChild(a.firstChild);a._content=b}return a.content||a._content}}(),function(a){function b(a){for(var b=a||{},d=1;d",""," "," ShadowDOM Inspector"," "," "," ",'
    ',"
",'
'," ",""].join("\n"),d=[],e=function(){var a=b.document,c=a.querySelector("#crumbs");c.textContent="";for(var e,g=0;e=d[g];g++){var h=a.createElement("a");h.href="#",h.textContent=e.localName,h.idx=g,h.onclick=function(a){for(var b;d.length>this.idx;)b=d.pop();f(b.shadow||b,b),a.preventDefault()},c.appendChild(a.createElement("li")).appendChild(h)}},f=function(a,c){var f=b.document;k=[];var g=c||a;d.push(g),e(),f.body.querySelector("#tree").innerHTML="
"+j(a,a.childNodes)+"
"},g=Array.prototype.forEach.call.bind(Array.prototype.forEach),h={STYLE:1,SCRIPT:1,"#comment":1,TEMPLATE:1},i=function(a){return h[a.nodeName]},j=function(a,b,c){if(i(a))return"";var d=c||"";if(a.localName||11==a.nodeType){var e=a.localName||"shadow-root",f=d+l(a);"content"==e&&(b=a.getDistributedNodes()),f+="
";var h=d+"  ";g(b,function(a){f+=j(a,a.childNodes,h)}),f+=d,{br:1}[e]||(f+="</"+e+">",f+="
")}else{var k=a.textContent.trim();f=k?d+'"'+k+'"'+"
":""}return f},k=[],l=function(a){var b="<",c=a.localName||"shadow-root";return a.webkitShadowRoot||a.shadowRoot?(b+=' ",k.push(a)):b+=c||"shadow-root",a.attributes&&g(a.attributes,function(a){b+=" "+a.name+(a.value?'="'+a.value+'"':"")}),b+=">"};shadowize=function(){var a=Number(this.attributes.idx.value),b=k[a];b?f(b.webkitShadowRoot||b.shadowRoot,b):(console.log("bad shadowize node"),console.dir(this))},a.output=j}(window.Inspector),function(a){"use strict";function b(a){return+a===a>>>0}function c(a){return+a}function d(a){return a===Object(a)}function e(a,b){return a===b?0!==a||1/a===1/b:N(a)&&N(b)?!0:a!==a&&b!==b}function f(a){return"string"!=typeof a?!1:(a=a.replace(/\s/g,""),""==a?!0:"."==a[0]?!1:V.test(a))}function g(a){return""==a.trim()?this:b(a)?(this.push(String(a)),this):(a.split(/\./).filter(function(a){return a}).forEach(function(a){this.push(a)},this),void 0)}function h(a){for(var b=0;W>b&&a.check();)a.report(),b++}function i(a){for(var b in a)return!1;return!0}function j(a){return i(a.added)&&i(a.removed)&&i(a.changed)}function k(a,b){var c={},d={},e={};for(var f in b){var g=a[f];(void 0===g||g!==b[f])&&(f in a?g!==b[f]&&(e[f]=g):d[f]=void 0)}for(var f in a)f in b||(c[f]=a[f]);return Array.isArray(a)&&a.length!==b.length&&(e.length=a.length),{added:c,removed:d,changed:e}}function l(a,b){var c=b||(Array.isArray(a)?[]:{});for(var d in a)c[d]=a[d];return Array.isArray(a)&&(c.length=a.length),c}function m(a){this.callback=a,this.reporting=!0,J&&(this.boundInternalCallback=this.internalCallback.bind(this)),this.valid=!0,n(this),this.connect(),this.sync(!0)}function n(a){Y&&(X.push(a),m._allObserversCount++)}function o(a){if(Y)for(var b=0;be;e++){var f='["'+a[e]+'"]';c+=f,b+=" && "+c}return b+=") ",c+='["'+a[d-1]+'"]',b+="return "+c+"; else return undefined;",new Function("obj",b)}function u(a,b){var c=b.toString();return $[c]||($[c]=t(b)),$[c](a)}function v(b,c,e,f,g){var h=void 0;return c.walkPropertiesFrom(b,function(b,i,j){if(j===c.length)return h=i,void 0;var k=e[j];if(!k||i!==k[0]){if(k)for(var l=0;lj;j++)i[j]=new Array(h),i[j][0]=j;for(var k=0;h>k;k++)i[0][k]=k;for(var j=1;g>j;j++)for(var k=1;h>k;k++)if(d[e+j-1]===a[b+k-1])i[j][k]=i[j-1][k-1];else{var l=i[j-1][k]+1,m=i[j][k-1]+1;i[j][k]=m>l?l:m}return i}function A(a){for(var b=a.length-1,c=a[0].length-1,d=a[b][c],e=[];b>0||c>0;)if(0!=b)if(0!=c){var f,g=a[b-1][c-1],h=a[b-1][c],i=a[b][c-1];f=i>h?g>h?h:g:g>i?i:g,f==g?(g==d?e.push(ab):(e.push(bb),d=g),b--,c--):f==h?(e.push(db),b--,d=h):(e.push(cb),c--,d=i)}else e.push(db),b--;else e.push(cb),c--;return e.reverse(),e}function B(a,b,c){for(var d=0;c>d;d++)if(a[d]!==b[d])return d;return c}function C(a,b,c){for(var d=a.length,e=b.length,f=0;c>f&&a[--d]===b[--e];)f++;return f}function D(a,b,c){return{index:a,removed:b,addedCount:c}}function E(a,b,c,d,e,f){var g=0,h=0,i=Math.min(c-b,f-e);if(0==b&&0==e&&(g=B(a,d,i)),c==a.length&&f==d.length&&(h=C(a,d,i-g)),b+=g,e+=g,c-=h,f-=h,0==c-b&&0==f-e)return[];if(b==c){for(var j=D(b,[],0);f>e;)j.removed.push(d[e++]);return[j]}if(e==f)return[D(b,[],c-b)];for(var k=A(z(a,b,c,d,e,f)),j=void 0,l=[],m=b,n=e,o=0;ob||a>d?-1:b==c||d==a?0:c>a?d>b?b-c:d-c:b>d?d-a:b-a}function G(a,b,c,d){for(var e=D(b,c,d),f=!1,g=0,h=0;h=0){a.splice(h,1),h--,g-=i.addedCount-i.removed.length,e.addedCount+=i.addedCount-j;var k=e.removed.length+i.removed.length-j;if(e.addedCount||k){var c=i.removed;if(e.indexi.index+i.addedCount){var m=e.removed.slice(i.index+i.addedCount-e.index);Array.prototype.push.apply(c,m)}e.removed=c,i.indexh)continue;G(e,h,[g.oldValue],1);break;default:console.error("Unexpected record type: "+JSON.stringify(g))}}return e}function I(a,b){var c=[];return H(a,b).forEach(function(b){return 1==b.addedCount&&1==b.removed.length?(b.removed[0]!==a[b.index]&&c.push(b),void 0):(c=c.concat(E(a,b.index,b.index+b.addedCount,b.removed,0,b.removed.length)),void 0)}),c}var J="function"==typeof Object.observe,K=!1;try{var L=new Function("","return true;");K=L()}catch(M){}var N=a.Number.isNaN||function(b){return"number"==typeof b&&a.isNaN(b)},O="__proto__"in{}?function(a){return a}:function(a){var b=a.__proto__;if(!b)return a;var c=Object.create(b);return Object.getOwnPropertyNames(a).forEach(function(b){Object.defineProperty(c,b,Object.getOwnPropertyDescriptor(a,b))}),c},P="[$_a-zA-Z]",Q="[$_a-zA-Z0-9]",R=P+"+"+Q+"*",S="(?:[0-9]|[1-9]+[0-9]+)",T="(?:"+R+"|"+S+")",U="(?:"+T+")(?:\\."+T+")*",V=new RegExp("^"+U+"$");g.prototype=O({__proto__:[],toString:function(){return this.join(".")},walkPropertiesFrom:function(a,b,c){for(var d,e=0;ea&&b.anyChanged);m._allObserversCount=X.length,Z=!1}},Y&&(a.Platform.clearObservers=function(){X=[]}),p.prototype=O({__proto__:m.prototype,connect:function(){J&&Object.observe(this.object,this.boundInternalCallback)},sync:function(){J||(this.oldObject=l(this.object))},check:function(a){var b,c;if(J){if(!a)return!1;c={},b=y(this.object,a,c)}else c=this.oldObject,b=k(this.object,this.oldObject);return j(b)?!1:(this.reportArgs=[b.added||{},b.removed||{},b.changed||{}],this.reportArgs.push(function(a){return c[a]}),!0)},disconnect:function(){J?this.object&&Object.unobserve(this.object,this.boundInternalCallback):this.oldObject=void 0,this.object=void 0}}),q.prototype=O({__proto__:p.prototype,connect:function(){J&&Array.observe(this.object,this.boundInternalCallback)},sync:function(){J||(this.oldObject=this.object.slice())},check:function(a){var b;if(J){if(!a)return!1;b=I(this.object,a)}else b=E(this.object,0,this.object.length,this.oldObject,0,this.oldObject.length);return b&&b.length?(this.reportArgs=[b],!0):!1}}),q.applySplices=function(a,b,c){c.forEach(function(c){for(var d=[c.index,c.removed.length],e=c.index;e0;){var e=c[d];kb[e.name]&&("template"!==e.name&&b.setAttribute(e.name,e.value),a.removeAttribute(e.name))}return b}function I(a,b,c){var d=a.content;if(c)return d.appendChild(b),void 0;for(var e;e=b.firstChild;)d.appendChild(e)}function J(a){"TEMPLATE"===a.tagName?mb||(pb?a.__proto__=HTMLTemplateElement.prototype:F(a,HTMLTemplateElement.prototype)):(F(a,HTMLTemplateElement.prototype),Object.defineProperty(a,"content",ub))}function K(a,b){this.type=a,this.value=b}function L(a){for(var b=[],c=a.length,d=0,e=0;c>e;){if(d=a.indexOf("{{",e),0>d){b.push(new K(wb,a.slice(e)));break}if(d>0&&d>e&&b.push(new K(wb,a.slice(e,d))),e=d+2,d=a.indexOf("}}",e),0>d){var f=a.slice(e-2),g=b[b.length-1];g&&g.type==wb?g.value+=f:b.push(new K(wb,f));break}var h=a.slice(e,d).trim();b.push(new K(xb,h)),e=d+2}return b}function M(a,b,c,d,e){var f,g=e&&e[ib];g&&"function"==typeof g&&(f=g(c,d,b,a),f&&(c=f,d="value")),a.bind(b,c,d)}function N(a,b,c,d,e){var f=L(c);if(f.length&&(1!=f.length||f[0].type!=wb)){if(1==f.length&&f[0].type==xb)return M(a,b,d,f[0].value,e),void 0;for(var g=new U,h=0;hc?(this.keys.push(a),this.values.push(b)):this.values[c]=b},get:function(a){var b=this.keys.indexOf(a);return 0>b?void 0:this.values[b]},"delete":function(a){var b=this.keys.indexOf(a);return 0>b?!1:(this.keys.splice(b,1),this.values.splice(b,1),!0)},forEach:function(a,b){for(var c=0;c>>0)+(c++ +"__")},$.prototype={set:function(b,c){a(b,this.name,{value:c,writable:!0})},get:function(a){return b.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}(),Node.prototype.bind=e,Node.prototype.unbind=f,Node.prototype.unbindAll=g;var _=new $("textContentBinding");h.prototype={dispose:function(){this.model&&"function"==typeof this.model.dispose&&this.model.dispose(),this.observer.close()},set value(a){PathObserver.setValueAtPath(this.model,this.path,a)},reset:function(){this.observer.reset()}},Text.prototype.bind=j,Text.prototype.unbind=k,Text.prototype.unbindAll=l;var ab=new $("attributeBindings");n.prototype={add:function(a,b,c,d){a.removeAttribute(b);var e="?"==b[b.length-1];e&&(b=b.slice(0,-1)),this.remove(b);var f=new h(c,d,m(a,b,e));this.bindingMap[b]=f},remove:function(a){var b=this.bindingMap[a];b&&(b.dispose(),delete this.bindingMap[a])},removeAll:function(){Object.keys(this.bindingMap).forEach(function(a){this.remove(a)},this)}},Element.prototype.bind=o,Element.prototype.unbind=p,Element.prototype.unbindAll=q;var bb,cb=new $("valueBinding"),db=new $("checkedBinding");!function(){var a=document.createElement("div"),b=a.appendChild(document.createElement("input"));b.setAttribute("type","checkbox");var c,d=0;b.addEventListener("click",function(){d++,c=c||"click"}),b.addEventListener("change",function(){d++,c=c||"change"});var e=document.createEvent("MouseEvent");e.initMouseEvent("click",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),b.dispatchEvent(e),bb=1==d?"change":c}(),s.prototype={valueChanged:function(a){this.element[this.valueProperty]=this.produceElementValue(a)},updateBinding:function(){this.binding.value=this.element[this.valueProperty],this.binding.reset(),this.postUpdateBinding&&this.postUpdateBinding(),Platform.performMicrotaskCheckpoint()},unbind:function(){this.binding.dispose(),this.element.removeEventListener(r(this.element),this.boundUpdateBinding,!0)}},t.prototype=Z({__proto__:s.prototype,produceElementValue:function(a){return String(null==a?"":a)}}),v.prototype=Z({__proto__:s.prototype,produceElementValue:function(a){return Boolean(a)},postUpdateBinding:function(){"INPUT"===this.element.tagName&&"radio"===this.element.type&&u(this.element).forEach(function(a){var b=db.get(a);b&&(b.binding.value=!1)})}}),HTMLInputElement.prototype.bind=w,HTMLInputElement.prototype.unbind=x,HTMLInputElement.prototype.unbindAll=y,z.prototype=Z({__proto__:s.prototype,valueChanged:function(a){function b(){a>d.element.length&&c--?ob(b):d.element[d.valueProperty]=a}var a=this.produceElementValue(a);if(a<=this.element.length)return this.element[this.valueProperty]=a,void 0;var c=2,d=this;ob(b)},produceElementValue:function(a){return Number(a)}}),HTMLSelectElement.prototype.bind=w,HTMLSelectElement.prototype.unbind=x,HTMLSelectElement.prototype.unbindAll=y,HTMLTextAreaElement.prototype.bind=w,HTMLTextAreaElement.prototype.unbind=x,HTMLTextAreaElement.prototype.unbindAll=y;var eb="bind",fb="repeat",gb="if",hb="syntax",ib="getBinding",jb="getInstanceModel",kb={template:!0,repeat:!0,bind:!0,ref:!0},lb={THEAD:!0,TBODY:!0,TFOOT:!0,TH:!0,TR:!0,TD:!0,COLGROUP:!0,COL:!0,CAPTION:!0,OPTION:!0,OPTGROUP:!0},mb="undefined"!=typeof HTMLTemplateElement,nb="template, "+Object.keys(lb).map(function(a){return a.toLowerCase()+"[template]"}).join(", "),ob=function(){function a(){var a=this;this.value=!1;var b=this.value,e=[],f=!1;this.schedule=function(c){return e.indexOf(c)>=0?!0:f?!1:(e.push(c),b===a.value&&(a.value=!a.value),!0)},new PathObserver(this,"value",function(){f=!0;for(var g=0;ge;e++)d.unshift("..");var g=d.join("/");return g},resolvePathsInHTML:function(a){var b=k.documentUrlFromNode(a.body);window.HTMLTemplateElement&&HTMLTemplateElement.bootstrap&&HTMLTemplateElement.bootstrap(a);var c=a.body;k._resolvePathsInHTML(c,b)},_resolvePathsInHTML:function(a,b){if(k.resolveAttributes(a,b),k.resolveStyleElts(a,b),window.templateContent){var c=a.querySelectorAll("template");c&&p(c,function(a){k._resolvePathsInHTML(templateContent(a),b)})}},resolvePathsInStylesheet:function(a){var b=k.nodeUrl(a);a.__resource=k.resolveCssText(a.__resource,b)},resolveStyleElts:function(a,b){var c=a.querySelectorAll("style");c&&p(c,function(a){a.textContent=k.resolveCssText(a.textContent,b)})},resolveCssText:function(a,b){return a.replace(/url\([^)]*\)/g,function(a){var c=a.replace(/["']/g,"").slice(4,-1);return c=k.resolveUrl(b,c,!0),"url("+c+")"})},resolveAttributes:function(a,b){var c=a&&a.querySelectorAll(m);c&&p(c,function(a){this.resolveNodeAttributes(a,b)},this)},resolveNodeAttributes:function(a,b){l.forEach(function(c){var d=a.attributes[c];if(d&&d.value&&d.value.search(n)<0){var e=k.resolveUrl(b,d.value,!0);d.value=e}})}},l=["href","src","action"],m="["+l.join("],[")+"]",n="{{.*}}",o=a.xhr||{async:!0,ok:function(a){return a.status>=200&&a.status<300||304===a.status||0===a.status},load:function(b,c,d){var e=new XMLHttpRequest;(a.flags.debug||a.flags.bust)&&(b+="?"+Math.random()),e.open("GET",b,o.async),e.addEventListener("readystatechange",function(){4===e.readyState&&c.call(d,!o.ok(e)&&e,e.response,b)}),e.send()}},p=Array.prototype.forEach.call.bind(Array.prototype.forEach);a.xhr=o,a.importer=i,a.getDocumentUrl=k.getDocumentUrl,"function"!=typeof window.CustomEvent&&(window.CustomEvent=function(a){var b=document.createEvent("HTMLEvents");return b.initEvent(a,!0,!0),b}),"complete"===document.readyState||"interactive"===document.readyState?boostrap():window.addEventListener("DOMContentLoaded",f)}(window.HTMLImports),function(a){function b(a){u.push(a),t||(t=!0,q(d))}function c(a){return window.ShadowDOMPolyfill&&window.ShadowDOMPolyfill.wrapIfNeeded(a)||a}function d(){t=!1;var a=u;u=[],a.sort(function(a,b){return a.uid_-b.uid_});var b=!1;a.forEach(function(a){var c=a.takeRecords();e(a),c.length&&(a.callback_(c,a),b=!0)}),b&&d()}function e(a){a.nodes_.forEach(function(b){var c=p.get(b);c&&c.forEach(function(b){b.observer===a&&b.removeTransientObservers()})})}function f(a,b){for(var c=a;c;c=c.parentNode){var d=p.get(c);if(d)for(var e=0;e0){var e=c[d-1],f=n(e,a);if(f)return c[d-1]=f,void 0}else b(this.observer);c[d]=a},addListeners:function(){this.addListeners_(this.target)},addListeners_:function(a){var b=this.options;b.attributes&&a.addEventListener("DOMAttrModified",this,!0),b.characterData&&a.addEventListener("DOMCharacterDataModified",this,!0),b.childList&&a.addEventListener("DOMNodeInserted",this,!0),(b.childList||b.subtree)&&a.addEventListener("DOMNodeRemoved",this,!0)},removeListeners:function(){this.removeListeners_(this.target)},removeListeners_:function(a){var b=this.options;b.attributes&&a.removeEventListener("DOMAttrModified",this,!0),b.characterData&&a.removeEventListener("DOMCharacterDataModified",this,!0),b.childList&&a.removeEventListener("DOMNodeInserted",this,!0),(b.childList||b.subtree)&&a.removeEventListener("DOMNodeRemoved",this,!0)},addTransientObserver:function(a){if(a!==this.target){this.addListeners_(a),this.transientObservedNodes.push(a);var b=p.get(a);b||p.set(a,b=[]),b.push(this)}},removeTransientObservers:function(){var a=this.transientObservedNodes;this.transientObservedNodes=[],a.forEach(function(a){this.removeListeners_(a);for(var b=p.get(a),c=0;c1?logFlags.dom&&console.warn("inserted:",a.localName,"insert/remove count:",a.__inserted):a.insertedCallback&&(logFlags.dom&&console.log("inserted:",a.localName),a.insertedCallback())),logFlags.dom&&console.groupEnd())}function j(a){k(a),c(a,function(a){k(a)})}function k(a){(a.removedCallback||a.__upgraded__&&logFlags.dom)&&(logFlags.dom&&console.log("removed:",a.localName),l(a)||(a.__inserted=(a.__inserted||0)-1,a.__inserted>0&&(a.__inserted=0),a.__inserted<0?logFlags.dom&&console.warn("removed:",a.localName,"insert/remove count:",a.__inserted):a.removedCallback&&a.removedCallback()))}function l(a){for(var b=a;b;){if(b==a.ownerDocument)return!0;b=b.parentNode||b.host}}function m(a){a.webkitShadowRoot&&!a.webkitShadowRoot.__watched&&(logFlags.dom&&console.log("watching shadow-root for: ",a.localName),r(a.webkitShadowRoot),a.webkitShadowRoot.__watched=!0)}function n(a){m(a),c(a,function(){m(a)})}function o(a){switch(a.localName){case"style":case"script":case"template":case void 0:return!0}}function p(a){if(logFlags.dom){var b=a[0];if(b&&"childList"===b.type&&b.addedNodes&&b.addedNodes){for(var c=b.addedNodes[0];c&&c!==document&&!c.host;)c=c.parentNode;var d=c&&(c.URL||c._URL||c.host&&c.host.localName)||"";d=d.split("/?").shift().split("/").pop()}console.group("mutations (%d) [%s]",a.length,d||"")}a.forEach(function(a){"childList"===a.type&&(v(a.addedNodes,function(a){o(a)||f(a)}),v(a.removedNodes,function(a){o(a)||j(a)}))}),logFlags.dom&&console.groupEnd()}function q(){p(u.takeRecords())}function r(a){u.observe(a,{childList:!0,subtree:!0})}function s(a){r(a)}function t(a){logFlags.dom&&console.group("upgradeDocument: ",(a.URL||a._URL||"").split("/").pop()),f(a),logFlags.dom&&console.groupEnd()}var u=new MutationObserver(p),v=Array.prototype.forEach.call.bind(Array.prototype.forEach);a.watchShadow=m,a.watchAllShadows=n,a.upgradeAll=f,a.upgradeSubtree=e,a.observeDocument=s,a.upgradeDocument=t,a.takeRecords=q}(window.CustomElements),function(){function parseElementElement(a){var b={name:"","extends":null};takeAttributes(a,b);var c=HTMLElement.prototype;if(b.extends){var d=document.createElement(b.extends);c=d.__proto__||Object.getPrototypeOf(d)}b.prototype=Object.create(c),a.options=b;var e=a.querySelector("script,scripts");e&&executeComponentScript(e.textContent,a,b.name);var f=document.register(b.name,b);a.ctor=f;var g=a.getAttribute("constructor");g&&(window[g]=f)}function takeAttributes(a,b){for(var c in b){var d=a.attributes[c];d&&(b[c]=d.value)}}function executeComponentScript(inScript,inContext,inName){context=inContext;var owner=context.ownerDocument,url=owner._URL||owner.URL||owner.impl&&(owner.impl._URL||owner.impl.URL),match=url.match(/.*\/([^.]*)[.]?.*$/);if(match){var name=match[1];url+=name!=inName?":"+inName:""}var code="__componentScript('"+inName+"', function(){"+inScript+"});"+"\n//@ sourceURL="+url+"\n";eval(code)}function mixin(a,b){a=a||{};try{Object.getOwnPropertyNames(b).forEach(function(c){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)})}catch(c){}return a}var HTMLElementElement=function(a){return a.register=HTMLElementElement.prototype.register,parseElementElement(a),a};HTMLElementElement.prototype={register:function(a){a&&(this.options.lifecycle=a.lifecycle,a.prototype&&mixin(this.options.prototype,a.prototype))}};var context;window.__componentScript=function(a,b){b.call(context)},window.HTMLElementElement=HTMLElementElement}(),function(){function a(a){return!b(a)&&a.parentNode&&!d(a)}function b(a){return a.ownerDocument===document||a.ownerDocument.impl===document}function c(a){return"link"===a.localName&&a.getAttribute("rel")===e}function d(a){return a.parentNode&&"element"===a.parentNode.localName?!0:void 0}var e="import",f={selectors:["link[rel="+e+"]","link[rel=stylesheet]","script[src]","script","style","element"],map:{link:"parseLink",script:"parseScript",element:"parseElement",style:"parseStyle"},parse:function(a){if(!a.__parsed){a.__parsed=!0;var b=a.querySelectorAll(g.selectors);h(b,function(a){g[g.map[a.localName]](a)}),CustomElements.upgradeDocument(a),CustomElements.observeDocument(a)}},parseLink:function(b){c(b)?b.content&&g.parse(b.content):a(b)&&document.head.appendChild(b)},parseScript:function(b){if(a(b)){var c=b.__resource||b.textContent;c&&(c+="\n//@ sourceURL="+b.__nodeUrl+"\n",eval.call(window,c))}},parseStyle:function(b){a(b)&&document.head.appendChild(b)},parseElement:function(a){new HTMLElementElement(a)}},g=f,h=Array.prototype.forEach.call.bind(Array.prototype.forEach);CustomElements.parser=f}(),function(){function a(){setTimeout(function(){CustomElements.parser.parse(document),CustomElements.ready=!0,CustomElements.readyTime=(new Date).getTime(),window.HTMLImports&&(CustomElements.elapsed=CustomElements.readyTime-HTMLImports.readyTime),document.body.dispatchEvent(new CustomEvent("WebComponentsReady",{bubbles:!0}))},0)}"function"!=typeof window.CustomEvent&&(window.CustomEvent=function(a){var b=document.createEvent("HTMLEvents");return b.initEvent(a,!0,!0),b}),window.HTMLImports?document.addEventListener("HTMLImportsLoaded",a):"complete"===document.readyState||"interactive"===document.readyState?boostrap():window.addEventListener("DOMContentLoaded",a)}(),function(){function a(){}var b=document.createElement("style");b.textContent="element {display: none;} /* injected by platform.js */";var c=document.querySelector("head");if(c.insertBefore(b,c.firstChild),window.ShadowDOMPolyfill){CustomElements.watchShadow=a,CustomElements.watchAllShadows=a;var d=["upgradeAll","upgradeSubtree","observeDocument","upgradeDocument"],e={};d.forEach(function(a){e[a]=CustomElements[a]}),d.forEach(function(a){CustomElements[a]=function(b){return e[a](wrap(b))}})}}(),function(a){a=a||{};var b={shadow:function(a){return a?a.shadowRoot||a.webkitShadowRoot:void 0},canTarget:function(a){return a&&Boolean(a.elementFromPoint)},targetingShadow:function(a){var b=this.shadow(a);return this.canTarget(b)?b:void 0},searchRoot:function(a,b,c){if(a){var d,e,f,g=a.elementFromPoint(b,c);for(e=this.targetingShadow(g);e;){if(d=e.elementFromPoint(b,c)){var h=this.targetingShadow(d);return this.searchRoot(h,b,c)||d}f=e.querySelector("shadow"),e=f&&f.olderShadowRoot}return g}},findTarget:function(a){var b=a.clientX,c=a.clientY;return this.searchRoot(document,b,c)}};a.targetFinding=b,a.findTarget=b.findTarget.bind(b),window.PointerEventsPolyfill=a}(window.PointerEventsPolyfill),function(){function a(a){return'[touch-action="'+a+'"]'}function b(a){return"{ -ms-touch-action: "+a+"; touch-action: "+a+"; }"}var c=["none","pan-x","pan-y",{rule:"pan-x pan-y",selectors:["scroll","pan-x pan-y","pan-y pan-x"]}],d="";c.forEach(function(c){d+=String(c)===c?a(c)+b(c):c.selectors.map(a)+b(c.rule)});var e=document.createElement("style");e.textContent=d;var f=document.querySelector("head");f.insertBefore(e,f.firstChild)}(),function(a){function b(a,b){var b=b||{},e=b.buttons;if(void 0===e)switch(b.which){case 1:e=1;break;case 2:e=4;break;case 3:e=2;break;default:e=0}var f;if(c)f=new MouseEvent(a,b);else{f=document.createEvent("MouseEvent");var g={bubbles:!1,cancelable:!1,view:null,detail:null,screenX:0,screenY:0,clientX:0,clientY:0,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null};Object.keys(g).forEach(function(a){a in b&&(g[a]=b[a])}),f.initMouseEvent(a,g.bubbles,g.cancelable,g.view,g.detail,g.screenX,g.screenY,g.clientX,g.clientY,g.ctrlKey,g.altKey,g.shiftKey,g.metaKey,g.button,g.relatedTarget)}d||Object.defineProperty(f,"buttons",{get:function(){return e},enumerable:!0});var h=0;return h=b.pressure?b.pressure:e?.5:0,Object.defineProperties(f,{pointerId:{value:b.pointerId||0,enumerable:!0},width:{value:b.width||0,enumerable:!0},height:{value:b.height||0,enumerable:!0},pressure:{value:h,enumerable:!0},tiltX:{value:b.tiltX||0,enumerable:!0},tiltY:{value:b.tiltY||0,enumerable:!0},pointerType:{value:b.pointerType||"",enumerable:!0},hwTimestamp:{value:b.hwTimestamp||0,enumerable:!0},isPrimary:{value:b.isPrimary||!1,enumerable:!0}}),f}var c=!1,d=!1;try{var e=new MouseEvent("click",{buttons:1});c=!0,d=1===e.buttons}catch(f){}a.PointerEvent=b}(window),function(a){function b(){this.ids=[],this.pointers=[]}b.prototype={set:function(a,b){var c=this.ids.indexOf(a);c>-1?this.pointers[c]=b:(this.ids.push(a),this.pointers.push(b))},has:function(a){return this.ids.indexOf(a)>-1},"delete":function(a){var b=this.ids.indexOf(a);b>-1&&(this.ids.splice(b,1),this.pointers.splice(b,1))},get:function(a){var b=this.ids.indexOf(a);return this.pointers[b]},get size(){return this.pointers.length},clear:function(){this.ids.length=0,this.pointers.length=0}},a.PointerMap=b}(window.PointerEventsPolyfill),function(a){var b;if("undefined"!=typeof WeakMap&&navigator.userAgent.indexOf("Firefox/")<0)b=WeakMap;else{var c=Object.defineProperty,d=Object.hasOwnProperty,e=(new Date).getTime()%1e9;b=function(){this.name="__st"+(1e9*Math.random()>>>0)+(e++ +"__")},b.prototype={set:function(a,b){c(a,this.name,{value:b,writable:!0})},get:function(a){return d.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}a.SideTable=b}(window.PointerEventsPolyfill),function(a){var b={targets:new a.SideTable,handledEvents:new a.SideTable,scrollType:new a.SideTable,pointermap:new a.PointerMap,events:[],eventMap:{},eventSources:{},registerSource:function(a,b){var c=b,d=c.events;d&&(this.events=this.events.concat(d),d.forEach(function(a){c[a]&&(this.eventMap[a]=c[a].bind(c))},this),this.eventSources[a]=c)},registerTarget:function(a,b){this.scrollType.set(a,b||"none"),this.listen(this.events,a,this.boundHandler)},unregisterTarget:function(a){this.scrollType.set(a,null),this.unlisten(this.events,a,this.boundHandler)},down:function(a){this.fireEvent("pointerdown",a)},move:function(a){this.fireEvent("pointermove",a)},up:function(a){this.fireEvent("pointerup",a)},enter:function(a){a.bubbles=!1,this.fireEvent("pointerenter",a)},leave:function(a){a.bubbles=!1,this.fireEvent("pointerleave",a)},over:function(a){a.bubbles=!0,this.fireEvent("pointerover",a)},out:function(a){a.bubbles=!0,this.fireEvent("pointerout",a)},cancel:function(a){this.fireEvent("pointercancel",a)},leaveOut:function(a){a.target.contains(a.relatedTarget)||this.leave(a),this.out(a)},enterOver:function(a){a.target.contains(a.relatedTarget)||this.enter(a),this.over(a)},eventHandler:function(a){if(!this.handledEvents.get(a)){var b=a.type,c=this.eventMap&&this.eventMap[b];c&&c(a),this.handledEvents.set(a,!0)}},listen:function(a,b,c){a.forEach(function(a){this.addEvent(a,c,!1,b)},this)},unlisten:function(a,b,c){a.forEach(function(a){this.removeEvent(a,c,!1,b)},this)},addEvent:function(a,b,c,d){d.addEventListener(a,b,c)},removeEvent:function(a,b,c,d){d.removeEventListener(a,b,c)},makeEvent:function(a,b){var c=new PointerEvent(a,b);return this.targets.set(c,this.targets.get(b)||b.target),c},fireEvent:function(a,b){var c=this.makeEvent(a,b);return this.dispatchEvent(c)},cloneEvent:function(a){var b={};for(var c in a)b[c]=a[c];return b},getTarget:function(a){return this.captureInfo&&this.captureInfo.id===a.pointerId?this.captureInfo.target:this.targets.get(a)},setCapture:function(a,b){this.captureInfo&&this.releaseCapture(this.captureInfo.id),this.captureInfo={id:a,target:b};var c=new PointerEvent("gotpointercapture",{bubbles:!0});this.implicitRelease=this.releaseCapture.bind(this,a),document.addEventListener("pointerup",this.implicitRelease),document.addEventListener("pointercancel",this.implicitRelease),this.targets.set(c,b),this.asyncDispatchEvent(c)},releaseCapture:function(a){if(this.captureInfo&&this.captureInfo.id===a){var b=new PointerEvent("lostpointercapture",{bubbles:!0}),c=this.captureInfo.target;this.captureInfo=null,document.removeEventListener("pointerup",this.implicitRelease),document.removeEventListener("pointercancel",this.implicitRelease),this.targets.set(b,c),this.asyncDispatchEvent(b)}},dispatchEvent:function(a){var b=this.getTarget(a);return b?b.dispatchEvent(a):void 0},asyncDispatchEvent:function(a){setTimeout(this.dispatchEvent.bind(this,a),0)}};b.boundHandler=b.eventHandler.bind(b),a.dispatcher=b}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher,c=Array.prototype.forEach.call.bind(Array.prototype.forEach),d=Array.prototype.map.call.bind(Array.prototype.map),e={ATTRIB:"touch-action",SELECTOR:"[touch-action]",EMITTER:"none",XSCROLLER:"pan-x",YSCROLLER:"pan-y",SCROLLER:/^(?:pan-x pan-y)|(?:pan-y pan-x)|scroll$/,OBSERVER_INIT:{subtree:!0,childList:!0,attributes:!0,attributeFilter:["touch-action"]},watchSubtree:function(b){a.targetFinding.canTarget(b)&&h.observe(b,this.OBSERVER_INIT)},enableOnSubtree:function(a){var b=a||document;this.watchSubtree(a),b===document&&"complete"!==document.readyState?this.installOnLoad():this.installNewSubtree(b)},installNewSubtree:function(a){c(this.findElements(a),this.addElement,this)},findElements:function(a){var b=a||document;return b.querySelectorAll?b.querySelectorAll(this.SELECTOR):[]},touchActionToScrollType:function(a){var b=a;return b===this.EMITTER?"none":b===this.XSCROLLER?"X":b===this.YSCROLLER?"Y":this.SCROLLER.exec(b)?"XY":void 0},removeElement:function(c){b.unregisterTarget(c);var d=a.targetFinding.shadow(c);d&&b.unregisterTarget(d)},addElement:function(c){var d=c.getAttribute&&c.getAttribute(this.ATTRIB),e=this.touchActionToScrollType(d);if(e){b.registerTarget(c,e);var f=a.targetFinding.shadow(c);f&&b.registerTarget(f,e)}},elementChanged:function(a){this.removeElement(a),this.addElement(a)},concatLists:function(a,b){for(var c,d=0,e=b.length;e>d&&(c=b[d]);d++)a.push(c);return a},installOnLoad:function(){document.addEventListener("DOMContentLoaded",this.installNewSubtree.bind(this,document))},flattenMutationTree:function(a){var b=d(a,this.findElements,this);return b.push(a),b.reduce(this.concatLists,[])},mutationWatcher:function(a){a.forEach(this.mutationHandler,this)},mutationHandler:function(a){var b=a;if("childList"===b.type){var c=this.flattenMutationTree(b.addedNodes);c.forEach(this.addElement,this);var d=this.flattenMutationTree(b.removedNodes);d.forEach(this.removeElement,this)}else"attributes"===b.type&&this.elementChanged(b.target)}},f=e.mutationWatcher.bind(e);a.installer=e,a.register=e.enableOnSubtree.bind(e),a.setTouchAction=function(a,c){var d=this.touchActionToScrollType(c);d?b.registerTarget(a,d):b.unregisterTarget(a)}.bind(e);var g=window.MutationObserver||window.WebKitMutationObserver;if(g)var h=new g(f);else e.watchSubtree=function(){console.warn("PointerEventsPolyfill: MutationObservers not found, touch-action will not be dynamically detected")}}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher,c=a.installer,d=a.findTarget,e=b.pointermap,f=b.scrollType,g=Array.prototype.map.call.bind(Array.prototype.map),h=2500,i=25,j={events:["touchstart","touchmove","touchend","touchcancel"],POINTER_TYPE:"touch",firstTouch:null,isPrimaryTouch:function(a){return this.firstTouch===a.identifier},setPrimaryTouch:function(a){null===this.firstTouch&&(this.firstTouch=a.identifier,this.firstXY={X:a.clientX,Y:a.clientY},this.scrolling=!1)},removePrimaryTouch:function(a){this.isPrimaryTouch(a)&&(this.firstTouch=null,this.firstXY=null)},touchToPointer:function(a){var c=b.cloneEvent(a);return c.pointerId=a.identifier+2,c.target=d(c),c.bubbles=!0,c.cancelable=!0,c.button=0,c.buttons=1,c.width=a.webkitRadiusX||a.radiusX,c.height=a.webkitRadiusY||a.radiusY,c.pressure=a.webkitForce||a.force,c.isPrimary=this.isPrimaryTouch(a),c.pointerType=this.POINTER_TYPE,c},processTouches:function(a,b){var c=a.changedTouches,d=g(c,this.touchToPointer,this);d.forEach(b,this)},shouldScroll:function(a){if(this.firstXY){var b,c=f.get(a.currentTarget);if("none"===c)b=!1;else if("XY"===c)b=!0;else{var d=a.changedTouches[0],e=c,g="Y"===c?"X":"Y",h=Math.abs(d["client"+e]-this.firstXY[e]),i=Math.abs(d["client"+g]-this.firstXY[g]);b=h>=i}return this.firstXY=null,b}},findTouch:function(a,b){for(var c,d=0,e=a.length;e>d&&(c=a[d]);d++)if(c.identifier===b)return!0},vacuumTouches:function(a){var b=a.touches;if(e.size>=b.length){var c=[];e.ids.forEach(function(a){if(1!==a&&!this.findTouch(b,a-2)){var d=e.get(a).out;c.push(this.touchToPointer(d))}},this),c.forEach(this.cancelOut,this)}},touchstart:function(a){this.vacuumTouches(a),this.setPrimaryTouch(a.changedTouches[0]),this.dedupSynthMouse(a),this.scrolling||this.processTouches(a,this.overDown)},overDown:function(a){e.set(a.pointerId,{target:a.target,out:a,outTarget:a.target}),b.over(a),b.down(a)},touchmove:function(a){this.scrolling||(this.shouldScroll(a)?(this.scrolling=!0,this.touchcancel(a)):(a.preventDefault(),this.processTouches(a,this.moveOverOut)))},moveOverOut:function(a){var c=a,d=e.get(c.pointerId),f=d.out,g=d.outTarget;b.move(c),f&&g!==c.target&&(f.relatedTarget=c.target,c.relatedTarget=g,f.target=g,b.leaveOut(f),b.enterOver(c)),d.out=c,d.outTarget=c.target},touchend:function(a){this.dedupSynthMouse(a),this.processTouches(a,this.upOut)},upOut:function(a){this.scrolling||(b.up(a),b.out(a)),this.cleanUpPointer(a)},touchcancel:function(a){this.processTouches(a,this.cancelOut)},cancelOut:function(a){b.cancel(a),b.out(a),this.cleanUpPointer(a)},cleanUpPointer:function(a){e.delete(a.pointerId),this.removePrimaryTouch(a)},dedupSynthMouse:function(a){var b=k.lastTouches,c=a.changedTouches[0]; +if(this.isPrimaryTouch(c)){var d={x:c.clientX,y:c.clientY};b.push(d);var e=function(a,b){var c=a.indexOf(b);c>-1&&a.splice(c,1)}.bind(null,b,d);setTimeout(e,h)}}},k={POINTER_ID:1,POINTER_TYPE:"mouse",events:["mousedown","mousemove","mouseup","mouseover","mouseout"],global:["mousedown","mouseup","mouseover","mouseout"],lastTouches:[],mouseHandler:b.eventHandler.bind(b),isEventSimulatedFromTouch:function(a){for(var b,c=this.lastTouches,d=a.clientX,e=a.clientY,f=0,g=c.length;g>f&&(b=c[f]);f++){var h=Math.abs(d-b.x),j=Math.abs(e-b.y);if(i>=h&&i>=j)return!0}},prepareEvent:function(a){var c=b.cloneEvent(a);return c.pointerId=this.POINTER_ID,c.isPrimary=!0,c.pointerType=this.POINTER_TYPE,c},mousedown:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=e.has(this.POINTER_ID);if(c&&(this.cancel(a),c=!1),!c){var d=this.prepareEvent(a);e.set(this.POINTER_ID,a),b.down(d),b.listen(this.global,document,this.mouseHandler)}}},mousemove:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a);b.move(c)}},mouseup:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=e.get(this.POINTER_ID);if(c&&c.button===a.button){var d=this.prepareEvent(a);b.up(d),this.cleanupMouse()}}},mouseover:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a);b.enterOver(c)}},mouseout:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a);b.leaveOut(c)}},cancel:function(a){var c=this.prepareEvent(a);b.cancel(c),this.cleanupMouse()},cleanupMouse:function(){e.delete(this.POINTER_ID),b.unlisten(this.global,document,this.mouseHandler)}},l={events:["MSPointerDown","MSPointerMove","MSPointerUp","MSPointerOut","MSPointerOver","MSPointerCancel","MSGotPointerCapture","MSLostPointerCapture"],POINTER_TYPES:["","unavailable","touch","pen","mouse"],prepareEvent:function(a){var c=b.cloneEvent(a);return c.pointerType=this.POINTER_TYPES[a.pointerType],c},cleanup:function(a){e.delete(a)},MSPointerDown:function(a){e.set(a.pointerId,a);var c=this.prepareEvent(a);b.down(c)},MSPointerMove:function(a){var c=this.prepareEvent(a);b.move(c)},MSPointerUp:function(a){var c=this.prepareEvent(a);b.up(c),this.cleanup(a.pointerId)},MSPointerOut:function(a){var c=this.prepareEvent(a);b.leaveOut(c)},MSPointerOver:function(a){var c=this.prepareEvent(a);b.enterOver(c)},MSPointerCancel:function(a){var c=this.prepareEvent(a);b.cancel(c),this.cleanup(a.pointerId)},MSLostPointerCapture:function(a){var c=b.makeEvent("lostpointercapture",a);b.dispatchEvent(c)},MSGotPointerCapture:function(a){var c=b.makeEvent("gotpointercapture",a);b.dispatchEvent(c)}};if(void 0===window.navigator.pointerEnabled){if(window.navigator.msPointerEnabled){var m=window.navigator.msMaxTouchPoints;Object.defineProperty(window.navigator,"maxTouchPoints",{value:m,enumerable:!0}),b.registerSource("ms",l),b.registerTarget(document)}else b.registerSource("mouse",k),"ontouchstart"in window&&b.registerSource("touch",j),c.enableOnSubtree(document),b.listen(["mousemove"],document,b.boundHandler);Object.defineProperty(window.navigator,"pointerEnabled",{value:!0,enumerable:!0})}}(window.PointerEventsPolyfill),function(a){function b(a){if(!e.pointermap.has(a))throw new Error("InvalidPointerId")}var c,d,e=a.dispatcher,f=window.navigator;f.msPointerEnabled?(c=function(a){b(a),this.msSetPointerCapture(a)},d=function(a){b(a),this.msReleasePointerCapture(a)}):(c=function(a){b(a),e.setCapture(a,this)},d=function(a){b(a),e.releaseCapture(a,this)}),Element.prototype.setPointerCapture||Object.defineProperties(Element.prototype,{setPointerCapture:{value:c},releasePointerCapture:{value:d}})}(window.PointerEventsPolyfill),PointerGestureEvent.prototype.preventTap=function(){this.tapPrevented=!0},function(a){a=a||{},a.utils={LCA:{find:function(a,b){if(a===b)return a;if(a.contains){if(a.contains(b))return a;if(b.contains(a))return b}var c=this.depth(a),d=this.depth(b),e=c-d;for(e>0?a=this.walk(a,e):b=this.walk(b,-e);a&&b&&a!==b;)a=this.walk(a,1),b=this.walk(b,1);return a},walk:function(a,b){for(var c=0;b>c;c++)a=a.parentNode;return a},depth:function(a){for(var b=0;a;)b++,a=a.parentNode;return b}}},a.findLCA=function(b,c){return a.utils.LCA.find(b,c)},window.PointerGestures=a}(window.PointerGestures),function(a){var b;if("undefined"!=typeof WeakMap&&navigator.userAgent.indexOf("Firefox/")<0)b=WeakMap;else{var c=Object.defineProperty,d=Object.hasOwnProperty,e=(new Date).getTime()%1e9;b=function(){this.name="__st"+(1e9*Math.random()>>>0)+(e++ +"__")},b.prototype={set:function(a,b){c(a,this.name,{value:b,writable:!0})},get:function(a){return d.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}a.SideTable=b}(window.PointerGestures),function(a){function b(){this.ids=[],this.pointers=[]}b.prototype={set:function(a,b){var c=this.ids.indexOf(a);c>-1?this.pointers[c]=b:(this.ids.push(a),this.pointers.push(b))},has:function(a){return this.ids.indexOf(a)>-1},"delete":function(a){var b=this.ids.indexOf(a);b>-1&&(this.ids.splice(b,1),this.pointers.splice(b,1))},get:function(a){var b=this.ids.indexOf(a);return this.pointers[b]},get size(){return this.pointers.length},clear:function(){this.ids.length=0,this.pointers.length=0}},window.Map&&(b=window.Map),a.PointerMap=b}(window.PointerGestures),function(a){var b={handledEvents:new a.SideTable,targets:new a.SideTable,handlers:{},recognizers:{},events:["pointerdown","pointermove","pointerup","pointerover","pointerout","pointercancel"],registerRecognizer:function(a,b){var c=b;this.recognizers[a]=c,this.events.forEach(function(a){if(c[a]){var b=c[a].bind(c);this.addHandler(a,b)}},this)},addHandler:function(a,b){var c=a;this.handlers[c]||(this.handlers[c]=[]),this.handlers[c].push(b)},registerTarget:function(a){this.listen(this.events,a)},unregisterTarget:function(a){this.unlisten(this.events,a)},eventHandler:function(a){if(!this.handledEvents.get(a)){var b,c=a.type;(b=this.handlers[c])&&this.makeQueue(b,a),this.handledEvents.set(a,!0)}},makeQueue:function(a,b){var c=this.cloneEvent(b);setTimeout(this.runQueue.bind(this,a,c),0)},runQueue:function(a,b){this.currentPointerId=b.pointerId;for(var c,d=0,e=a.length;e>d&&(c=a[d]);d++)c(b);this.currentPointerId=0},listen:function(a,b){a.forEach(function(a){this.addEvent(a,this.boundHandler,!1,b)},this)},unlisten:function(a){a.forEach(function(a){this.removeEvent(a,this.boundHandler,!1,inTarget)},this)},addEvent:function(a,b,c,d){d.addEventListener(a,b,c)},removeEvent:function(a,b,c,d){d.removeEventListener(a,b,c)},makeEvent:function(a,b){return new PointerGestureEvent(a,b)},cloneEvent:function(a){var b={};for(var c in a)b[c]=a[c];return b},dispatchEvent:function(a,b){var c=b||this.targets.get(a);c&&(c.dispatchEvent(a),a.tapPrevented&&this.preventTap(this.currentPointerId))},asyncDispatchEvent:function(a,b){var c=function(){this.dispatchEvent(a,b)}.bind(this);setTimeout(c,0)},preventTap:function(a){var b=this.recognizers.tap;b&&b.preventTap(a)}};b.boundHandler=b.eventHandler.bind(b),a.dispatcher=b,a.register=function(b){var c=window.PointerEventsPolyfill;c&&c.register(b),a.dispatcher.registerTarget(b)},b.registerTarget(document)}(window.PointerGestures),function(a){var b=a.dispatcher,c={HOLD_DELAY:200,WIGGLE_THRESHOLD:16,events:["pointerdown","pointermove","pointerup","pointercancel"],heldPointer:null,holdJob:null,pulse:function(){var a=Date.now()-this.heldPointer.timeStamp,b=this.held?"holdpulse":"hold";this.fireHold(b,a),this.held=!0},cancel:function(){clearInterval(this.holdJob),this.held&&this.fireHold("release"),this.held=!1,this.heldPointer=null,this.target=null,this.holdJob=null},pointerdown:function(a){a.isPrimary&&!this.heldPointer&&(this.heldPointer=a,this.target=a.target,this.holdJob=setInterval(this.pulse.bind(this),this.HOLD_DELAY))},pointerup:function(a){this.heldPointer&&this.heldPointer.pointerId===a.pointerId&&this.cancel()},pointercancel:function(){this.cancel()},pointermove:function(a){if(this.heldPointer&&this.heldPointer.pointerId===a.pointerId){var b=a.clientX-this.heldPointer.clientX,c=a.clientY-this.heldPointer.clientY;b*b+c*c>this.WIGGLE_THRESHOLD&&this.cancel()}},fireHold:function(a,c){var d={pointerType:this.heldPointer.pointerType};c&&(d.holdTime=c);var e=b.makeEvent(a,d);b.dispatchEvent(e,this.target),e.tapPrevented&&b.preventTap(this.heldPointer.pointerId)}};b.registerRecognizer("hold",c)}(window.PointerGestures),function(a){var b=a.dispatcher,c=new a.PointerMap,d={events:["pointerdown","pointermove","pointerup","pointercancel"],WIGGLE_THRESHOLD:4,clampDir:function(a){return a>0?1:-1},calcPositionDelta:function(a,b){var c=0,d=0;return a&&b&&(c=b.pageX-a.pageX,d=b.pageY-a.pageY),{x:c,y:d}},fireTrack:function(a,c,d){var e=d,f=this.calcPositionDelta(e.downEvent,c),g=this.calcPositionDelta(e.lastMoveEvent,c);g.x&&(e.xDirection=this.clampDir(g.x)),g.y&&(e.yDirection=this.clampDir(g.y));var h={dx:f.x,dy:f.y,ddx:g.x,ddy:g.y,clientX:c.clientX,clientY:c.clientY,pageX:c.pageX,pageY:c.pageY,screenX:c.screenX,screenY:c.screenY,xDirection:e.xDirection,yDirection:e.yDirection,trackInfo:e.trackInfo,pointerType:c.pointerType};"trackend"===a&&(h._releaseTarget=c.target);var i=b.makeEvent(a,h);e.lastMoveEvent=c,b.dispatchEvent(i,e.downTarget)},pointerdown:function(a){if(a.isPrimary&&("mouse"===a.pointerType?1===a.buttons:!0)){var b={downEvent:a,downTarget:a.target,trackInfo:{},lastMoveEvent:null,xDirection:0,yDirection:0,tracking:!1};c.set(a.pointerId,b)}},pointermove:function(a){var b=c.get(a.pointerId);if(b)if(b.tracking)this.fireTrack("track",a,b);else{var d=this.calcPositionDelta(b.downEvent,a),e=d.x*d.x+d.y*d.y;e>this.WIGGLE_THRESHOLD&&(b.tracking=!0,this.fireTrack("trackstart",b.downEvent,b),this.fireTrack("track",a,b))}},pointerup:function(a){var b=c.get(a.pointerId);b&&(b.tracking&&this.fireTrack("trackend",a,b),c.delete(a.pointerId))},pointercancel:function(a){this.pointerup(a)}};b.registerRecognizer("track",d)}(window.PointerGestures),function(a){var b=a.dispatcher,c={MIN_VELOCITY:.5,MAX_QUEUE:4,moveQueue:[],target:null,pointerId:null,events:["pointerdown","pointermove","pointerup","pointercancel"],pointerdown:function(a){a.isPrimary&&!this.pointerId&&(this.pointerId=a.pointerId,this.target=a.target,this.addMove(a))},pointermove:function(a){a.pointerId===this.pointerId&&this.addMove(a)},pointerup:function(a){a.pointerId===this.pointerId&&this.fireFlick(a),this.cleanup()},pointercancel:function(){this.cleanup()},cleanup:function(){this.moveQueue=[],this.target=null,this.pointerId=null},addMove:function(a){this.moveQueue.length>=this.MAX_QUEUE&&this.moveQueue.shift(),this.moveQueue.push(a)},fireFlick:function(a){for(var c,d,e,f,g,h,i,j=a,k=this.moveQueue.length,l=0,m=0,n=0,o=0;k>o&&(i=this.moveQueue[o]);o++)c=j.timeStamp-i.timeStamp,d=j.clientX-i.clientX,e=j.clientY-i.clientY,f=d/c,g=e/c,h=Math.sqrt(f*f+g*g),h>n&&(l=f,m=g,n=h);var p=Math.abs(l)>Math.abs(m)?"x":"y",q=this.calcAngle(l,m);if(Math.abs(n)>=this.MIN_VELOCITY){var r=b.makeEvent("flick",{xVelocity:l,yVelocity:m,velocity:n,angle:q,majorAxis:p,pointerType:a.pointerType});b.dispatchEvent(r,this.target)}},calcAngle:function(a,b){return 180*Math.atan2(b,a)/Math.PI}};b.registerRecognizer("flick",c)}(window.PointerGestures),function(a){var b=a.dispatcher,c=new a.PointerMap,d={events:["pointerdown","pointermove","pointerup","pointercancel"],pointerdown:function(a){a.isPrimary&&!a.tapPrevented&&c.set(a.pointerId,{target:a.target,x:a.clientX,y:a.clientY})},pointermove:function(a){if(a.isPrimary){var b=c.get(a.pointerId);b&&a.tapPrevented&&c.delete(a.pointerId)}},pointerup:function(d){var e=c.get(d.pointerId);if(e&&!d.tapPrevented){var f=a.findLCA(e.target,d.target);if(f){var g=b.makeEvent("tap",{x:d.clientX,y:d.clientY,pointerType:d.pointerType});b.dispatchEvent(g,f)}}c.delete(d.pointerId)},pointercancel:function(a){c.delete(a.pointerId)},preventTap:function(a){c.delete(a)}};b.registerRecognizer("tap",d)}(window.PointerGestures),function(){var a=Array.prototype.forEach.call.bind(Array.prototype.forEach);window.forEach=a}(),function(){function a(a,c){1==arguments.length&&(c=a,a=null),c&&c.hasOwnProperty("constructor")||(c.constructor=function(){this.super()});var d=c.constructor,f=a&&a.prototype||Object.prototype;return d.prototype=b(f,c),"super"in d.prototype||(d.prototype.super=e),d}function b(a,b){return Object.create(a,c(b))}function c(a){var b={};for(var c in a)b[c]=d(a,c);return b}function d(a,b){return a&&Object.getOwnPropertyDescriptor(a,b)||d(Object.getPrototypeOf(a),b)}function e(a){var b=e.caller,c=b._nom;if(!c&&(c=b._nom=h.call(this,b),!c))return console.warn('called super() on a method not in "this"'),void 0;"_super"in b||g(b,c,Object.getPrototypeOf(this));var d=b._super;if(d){var f=d[c];return"_super"in f||g(f,c,d),f.apply(this,a||[])}}function f(a,b,c){for(var d=a;d&&(!d.hasOwnProperty(b)||d[b]==c);)d=Object.getPrototypeOf(d);return d}function g(a,b,c){a._super=f(c,b,a),a._super&&(a._super[b]._nom=b)}function h(a){for(var b in this){var c=d(this,b);if(c.value==a)return b}}window.$class=a,window.extend=b,window.$super=e}(),function(){function a(a,d){if(a!=window){if(!(a&&a instanceof HTMLElement))throw"First argument to Polymer.register must be an HTMLElement";var e=Platform.mixin({},Polymer.base,d);e.elementElement=a,Polymer.addResolvePath(e,a),e.installTemplate=function(){this.super(),c.call(this,a)},e.readyCallback=b,Polymer.parseHostEvents(a.attributes,e),Polymer.publishAttributes(a,e),Polymer.installSheets(a),Polymer.shimStyling(a),a.register({prototype:e}),logFlags.comps&&console.log("Polymer: element registered"+a.options.name)}}function b(){this.installTemplate(),e.call(this)}function c(a){var b=a.querySelector("template");if(b){b.setAttribute("syntax","Polymer");var c=this.webkitCreateShadowRoot();return c.applyAuthorStyles=this.applyAuthorStyles,CustomElements.watchShadow(this),c.host=this,c.appendChild(b.createInstance(this,"Polymer")),d.call(this,c),c}}function d(a){CustomElements.takeRecords(),Polymer.marshalNodeReferences.call(this,a);var b=Polymer.accumulateEvents(a);Polymer.bindAccumulatedLocalEvents.call(this,a,b),PointerGestures.register(a),PointerEventsPolyfill.setTouchAction(a,this.getAttribute("touch-action"))}function e(){Polymer.observeProperties.call(this),Polymer.installInstanceAttributes.call(this),Polymer.takeAttributes.call(this);var a=Polymer.accumulateHostEvents.call(this);Polymer.bindAccumulatedHostEvents.call(this,a),this.ready&&this.ready()}function f(a,b){for(var c=a;c&&c!=this;){var d=Array.prototype.indexOf.call(b,c);if(d>=0)return d;c=c.parentNode}}window.logFlags||{},window.Polymer={register:a,findDistributedTarget:f,instanceReady:e}}(),function(a){var b=window.logFlags||{},c={"super":$super,isPolymerElement:!0,bind:function(){Polymer.bind.apply(this,arguments)},unbind:function(){Polymer.unbind.apply(this,arguments)},unbindAll:function(){Polymer.unbindAll.apply(this,arguments)},job:function(){return Polymer.job.apply(this,arguments)},asyncMethod:function(a,b,c){Platform.flush();var d=b&&b.length?b:[b],e=function(){(this[a]||a).apply(this,d)}.bind(this);return c?window.setTimeout(e,c):requestAnimationFrame(e)},dispatch:function(a,b){this[a]&&this[a].apply(this,b)},fire:function(a,c,d){var e=d||this;return b.events&&console.log("[%s]: sending [%s]",e.localName,a),e.dispatchEvent(new CustomEvent(a,{bubbles:!0,detail:c})),c},asyncFire:function(){this.asyncMethod("fire",arguments)},classFollows:function(a,b,c){b&&b.classList.remove(c),a&&a.classList.add(c)}};c.send=c.fire,c.asend=c.asyncFire,a.base=c}(window.Polymer),function(){function a(a,b,c,e){var f=d(a,b,!0);f[c.toLowerCase()]=e}function b(a,b,c){var e=d(a,b),f=c.toLowerCase();return e&&e[f]?(e[f].close(),e[f]=null,!0):void 0}function c(a,c){var e=d(a,c);e&&Object.keys(e).forEach(function(d){b(a,c,d)})}function d(a,b,c){var d=e.get(a);return c&&(d||e.set(a,d={}),d[b]||(d[b]={})),d&&d[b]}var e=new SideTable;Polymer.registerObserver=a,Polymer.unregisterObserver=b,Polymer.unregisterObserversOfType=c}(),function(){function a(a,c,d,e){b.bind&&console.log("[%s]: bindProperties: [%s] to [%s].[%s]",d.localName||"object",e,a.localName,c);var f=PathObserver.getValueAtPath(d,e);return(null===f||void 0===f)&&PathObserver.setValueAtPath(d,e,a[c]),PathObserver.defineProperty(a,c,{object:d,path:e})}var b=window.logFlags||{};Polymer.bindProperties=a}(),function(){function a(a,b,c){var d=j.get(a);d||j.set(a,d={}),d[b.toLowerCase()]=c}function b(a,b){var c=j.get(a);c&&delete c[b.toLowerCase()]}function c(c){var d=c.prototype,e=d.bind,f=d.unbind;d.bind=function(b,c,d){e.apply(this,arguments),a(this,b,d)},d.unbind=function(a){f.apply(this,arguments),b(this,a)}}function d(a){return a&&j.get(a)||k}function e(a,b){return d(a)[b.toLowerCase()]}function f(b,c,d){var e=Polymer.propertyForAttribute.call(this,b);e?(a(this,e,d),Polymer.registerObserver(this,"binding",e,Polymer.bindProperties(this,e,c,d))):HTMLElement.prototype.bind.apply(this,arguments)}function g(a){a.unbindAll();for(var b=a.firstChild;b;b=b.nextSibling)g(b)}function h(a){Polymer.unregisterObserver(this,"binding",a)||HTMLElement.prototype.unbind.apply(this,arguments)}function i(){Polymer.unregisterObserversOfType(this,"property"),HTMLElement.prototype.unbindAll.apply(this,arguments)}window.logFlags||{};var j=new SideTable;[Node,Element,Text,HTMLInputElement].forEach(c);var k={},l=/\{\{([^{}]*)}}/;Polymer.bind=f,Polymer.unbind=h,Polymer.unbindAll=i,Polymer.getBinding=e,Polymer.unbindModel=g,Polymer.bindPattern=l}(),function(){"use strict";function a(){}function b(a,b,c,g){var h,i,j=b.match(e);if(j)h=j[1],i=j[2];else{if(j=b.match(d),!j)return;h=j[2],i=j[1]}var k=new CompoundBinding(function(a){return a.value});return k.bind("value",a,i),f.set(g,{model:a,scope:h}),k}function c(a,b,c){var d=new CompoundBinding(function(a){return a.value?b:""});return d.bind("value",a,c),d}var d=/([\w\.\$]*)[\s]+as[\s]+([\w]*)/,e=/([\w]*)[\s]+in[\s]+([\w\.\$]*)/,f=new SideTable;HTMLTemplateElement.syntax.Polymer={getBinding:function(a,d,e,f){if(f.nodeType===Node.ELEMENT_NODE&&("bind"===e||"repeat"===e)&&"TEMPLATE"===f.tagName)return b(a,d,e,f);var g=d.match(/([\w]+):[\W]*([\w\.\$]*)/);return g?c(a,g[1],g[2]):void 0},getInstanceModel:function(b,c){var d=f.get(b);if(!d)return c;var e;return e=d.model?Object.create(d.model):new a,e[d.scope]=c,e}}}(this),function(){function a(a,d){b(a,d),c(a,d)}function b(a,b){var c={},d=a.getAttribute(j);if(d){var e=d.split(d.indexOf(",")>=0?",":" ");e.forEach(function(a){a=a.trim(),a&&(c[a]=null)})}var f=a.options.prototype;Object.keys(c).forEach(function(a){a in b||a in f||(b[a]=c[a])});var g=b[k];g&&(Object.keys(g).forEach(function(a){b[a]=g[a]}),c=Platform.mixin(c,g)),b[i]=Platform.mixin({},f[i],c)}function c(a,b){for(var d,e=a.options.prototype,f=a.attributes,g=b.instanceAttributes=Object.create(e.instanceAttributes||null),h=0,i=f.length;i>h&&(d=f[h]);h++)c.blackList[d.name]||"on-"!==d.name.slice(0,3)&&(g[d.name]=d.value)}function d(){var a=this.instanceAttributes;Object.keys(a).forEach(function(b){this.setAttribute(b,a[b])},this)}function e(){forEach(this.attributes,function(a){var b=f.call(this,a.name);if(b){if(a.value.search(h)>=0)return;var c=this[b],d=g(a.value,c);d!==c&&(this[b]=d)}},this)}function f(a){var b=Object.keys(this[i]);return b[b.map(l).indexOf(a.toLowerCase())]}function g(a,b){var c=typeof b;switch(b instanceof Date&&(c="date"),c){case"string":return a;case"date":return new Date(Date.parse(a)||Date.now());case"boolean":if(""==a)return!0}switch(a){case"true":return!0;case"false":return!1}var d=parseFloat(a);return String(d)===a?d:a}var h=Polymer.bindPattern,i="__published",j="attributes",k="publish";c.blackList={name:1,"extends":1,constructor:1},c.blackList[j]=1;var l=String.prototype.toLowerCase.call.bind(String.prototype.toLowerCase);Polymer.takeAttributes=e,Polymer.publishAttributes=a,Polymer.propertyForAttribute=f,Polymer.installInstanceAttributes=d}(),Polymer.marshalNodeReferences=function(a){var b=this.$=this.$||{};if(a){var c=a.querySelectorAll("[id]");forEach(c,function(a){b[a.id]=a})}},function(){function a(a,b,c){var d=c.bind(this);for(var e in b)j.events&&console.log('[%s] bindAccumulatedEvents: addEventListener("%s", listen)',a.localName||"root",e),a.addEventListener(e,d)}function b(b){a.call(this,this,b,f)}function c(b,c){a.call(this,b,c,d)}function d(a){if(!a.cancelBubble){if(a.on=k+a.type,j.events&&console.group("[%s]: listenLocal [%s]",this.localName,a.on),!a.path||window.ShadowDOMPolyfill)e(a);else{var b=null;Array.prototype.some.call(a.path,function(c){return c===this?!0:(b=b===this?b:v(c),b&&h.call(b,c,a)?!0:void 0)},this)}j.events&&console.groupEnd()}}function e(a){j.events&&console.log("event.path() not supported for",a.type);for(var b=a.target,c=null;b&&b!=this;){if(c=c===this?c:v(b),c&&h.call(c,b,a))return;b=b.parentNode}}function f(a){a.cancelBubble||(j.events&&console.group("[%s]: listenHost [%s]",this.localName,a.type),i.call(this,this,a),j.events&&console.groupEnd())}function g(a){var b=x.get(a);return b||(b=[],x.set(a,b)),b}function h(a,b){if(a.attributes){var c=g(b);if(c.indexOf(a)<0){c.push(a);var d=a.getAttribute(b.on);d&&(j.events&&console.log("[%s] found handler name [%s]",this.localName,d),w(this,d,[b,b.detail,a]))}}return b.cancelBubble}function i(a,b){var c=y.call(a,b.type);return c&&(j.events&&console.log("[%s] found host handler name [%s]",a.localName,c),w(a,c,[b,b.detail,a])),b.cancelBubble}var j=window.logFlags||{},k="on-",l=function(a,b){b.eventDelegates=m(a)},m=function(a){var b={};if(a)for(var c,d=0;c=a[d];d++)c.name.slice(0,k.length)==k&&(b[c.name.slice(k.length)]=c.value);return b},n=function(a,b){var c=b||{};return o(a,c),r(a,c),s(a,c),c},o=function(a,b){var c=a.attributes;if(c)for(var d,e=0;d=c[e];e++)d.name.slice(0,k.length)===k&&q(d.name.slice(k.length),b)},p={webkitanimationstart:"webkitAnimationStart",webkitanimationend:"webkitAnimationEnd",webkittransitionend:"webkitTransitionEnd",domfocusout:"DOMFocusOut",domfocusin:"DOMFocusIn"},q=function(a,b){var c=p[a]||a;b[c]=1},r=function(a,b){for(var c,d=a.childNodes,e=0;c=d[e];e++)n(c,b)},s=function(a,b){if("template"==a.localName){var c=t(a);c&&r(c,b)}},t=function(a){return a.ref?a.ref.content:a.content},u=function(a){for(var b=a||{},c=this.__proto__;c&&c!==HTMLElement.prototype;){if(c.hasOwnProperty("eventDelegates"))for(var d in c.eventDelegates)q(d,b);c=c.__proto__}return b},v=function(a){for(var b=a;b.parentNode&&"shadow-root"!==b.localName;)b=b.parentNode;return b.host},w=function(a,b,c){a&&(j.events&&console.group("[%s] dispatch [%s]",a.localName,b),a.dispatch(b,c),j.events&&console.groupEnd())},x=new SideTable("handledList"),y=function(a){for(var b=this;b;){if(b.hasOwnProperty("eventDelegates")){var c=b.eventDelegates[a]||b.eventDelegates[a.toLowerCase()];if(c)return c}b=b.__proto__}};Polymer.parseHostEvents=l,Polymer.accumulateEvents=n,Polymer.accumulateHostEvents=u,Polymer.bindAccumulatedHostEvents=b,Polymer.bindAccumulatedLocalEvents=c}(),function(){function a(){for(var a in this)b.call(this,a)}function b(a){if(c.call(this,a)){e.observe&&console.log("["+this.localName+"] watching ["+a+"]");var b=new PathObserver(this,a,function(b,c){e.data&&console.log("[%s#%s] watch: [%s] now [%s] was [%s]",this.localName,this.node.id||"",a,this[a],c),d.call(this,a,c)}.bind(this));Polymer.registerObserver(this,"property",a,b)}}function c(a){return"_"!=a[0]&&!(a in Object.prototype)&&Boolean(this[a+f])}function d(a,b){var c=a+f;this[c]&&this[c](b)}var e=window.logFlags||{},f="Changed";Polymer.observeProperties=a}(),function(){function a(a){b(a),c(a)}function b(a){var b=j(a,r,function(a){return!a.hasAttribute(s)}),c=k(a);if(c){b.forEach(function(a){a.parentNode.removeChild(a)});var d=document.createDocumentFragment();b.forEach(function(a){var b=f(a);b&&d.appendChild(b)}),c.insertBefore(d,c.firstChild)}}function c(a){g(i(a,"global"),m.head)}function d(a,b){b.controllerStyles||(b.controllerStyles=i(b,"controller"));var c=b.controllerStyles;n.queue(function(){var b=e(a);b&&(Polymer.shimPolyfillDirectives(c,a.localName),g(c,b))})}function e(a){for(var b=a;b.parentNode&&"shadow-root"!=b.localName;)b=b.parentNode;return b==m?m.head:b}function f(a){if(a.__resource){var b=m.createElement("style");return b.textContent=a.__resource,b}console.warn("Could not find content for stylesheet",a)}function g(a,b){a.forEach(function(a){b.appendChild(a.cloneNode(!0))})}function h(a,b){return p?p.call(a,b):void 0}function i(a,b){var c=[],d="["+s+"="+b+"]",e=function(a){return h(a,d)},g=j(a,r,e);g.forEach(function(a){a.parentNode.removeChild(a),c.push(f(a))});var i=j(a,q,e);return i.forEach(function(a){a.parentNode.removeChild(a),c.push(a)}),c}function j(a,b,c){var d=l(a.querySelectorAll(b)),e=k(a);if(e){var f=l(e.querySelectorAll(b));d=d.concat(f)}return d.filter(c)}function k(a){var b=a.querySelector("template");return b&&templateContent(b)}function l(a){return Array.prototype.slice.call(a||[],0)}window.logFlags||{};var m=wrap(document),n={list:[],queue:function(a){a&&n.list.push(a),n.queueFlush()},queueFlush:function(){n.flushing||(n.flushing=!0,requestAnimationFrame(n.flush))},flush:function(){n.list.forEach(function(a){a()}),n.list=[],n.flushing=!1}},o=HTMLElement.prototype,p=o.matches||o.matchesSelector||o.webkitMatchesSelector||o.mozMatchesSelector,q="style",r="[rel=stylesheet]",s="polymer-scope";Polymer.installSheets=a,Polymer.installControllerStyles=d}(),function(){var a=Array.prototype.forEach.call.bind(Array.prototype.forEach),b=Array.prototype.concat.call.bind(Array.prototype.concat),c=Array.prototype.slice.call.bind(Array.prototype.slice),d={hostRuleRe:/@host[^{]*{(([^}]*?{[^{]*?}[\s\S]*?)+)}/gim,selectorRe:/([^{]*)({[\s\S]*?})/gim,hostFixableRe:/^[.\[:]/,cssCommentRe:/\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim,cssPolyfillCommentRe:/\/\*\s*@polyfill ([^*]*\*+([^/*][^*]*\*+)*\/)([^{]*?){/gim,selectorReSuffix:"([>\\s~+[.,{:][\\s\\S]*)?$",hostRe:/@host/gim,cache:{},shimStyling:function(a){if(window.ShadowDOMPolyfill&&a){var b=a.options.name;d.cacheDefinition(a),d.shimPolyfillDirectives(a.styles,b),d.applyShimming(d.stylesForElement(a),b)}},shimShadowDOMStyling:function(a,b){window.ShadowDOMPolyfill&&(d.shimPolyfillDirectives(a,b),d.applyShimming(a,b))},applyShimming:function(a,b){this.shimAtHost(a,b),this.shimScoping(a,b)},cacheDefinition:function(a){var b=a.options.name,e=a.querySelector("template"),f=e&&templateContent(e),g=f&&f.querySelectorAll("style");a.styles=g?c(g):[],a.templateContent=f,d.cache[b]=a},stylesForElement:function(a){var d=a.styles,e=a.templateContent&&a.templateContent.querySelector("shadow");if(e||null===a.templateContent){var f=this.findExtendee(a.options.name);if(f){var g=this.stylesForElement(f);d=b(c(g),c(d))}}return d},findExtendee:function(a){var b=this.cache[a];return b&&this.cache[b.options.extends]},shimPolyfillDirectives:function(b,c){window.ShadowDOMPolyfill&&b&&a(b,function(a){a.textContent=this.convertPolyfillDirectives(a.textContent,c)},this)},shimAtHost:function(a,b){if(a){var c=this.convertAtHostStyles(a,b);this.addCssToDocument(c)}},shimScoping:function(a,b){a&&this.applyPseudoScoping(a,b)},convertPolyfillDirectives:function(a){for(var b,c="",d=0;b=this.cssPolyfillCommentRe.exec(a);)c+=a.substring(d,b.index),c+=b[1].slice(0,-2)+"{",d=this.cssPolyfillCommentRe.lastIndex;return c+=a.substring(d,a.length)},findAtHostRules:function(a,b){return Array.prototype.filter.call(a,this.isHostRule.bind(this,b))},isHostRule:function(a,b){return b.selectorText&&b.selectorText.match(a)||b.cssRules&&this.findAtHostRules(b.cssRules,a).length||b.type==CSSRule.WEBKIT_KEYFRAMES_RULE},convertAtHostStyles:function(a,b){for(var c,d=this.stylesToCssText(a),e="",f=0;c=this.hostRuleRe.exec(d);)e+=d.substring(f,c.index),e+=this.scopeHostCss(c[1],b),f=this.hostRuleRe.lastIndex;e+=d.substring(f,d.length);var g=new RegExp("^"+b+this.selectorReSuffix,"m"),d=this.rulesToCss(this.findAtHostRules(this.cssToRules(e),g));return d},scopeHostCss:function(a,b){for(var c,d="";c=this.selectorRe.exec(a);)d+=this.scopeHostSelector(c[1],b)+" "+c[2]+"\n ";return d},scopeHostSelector:function(a,b){var c=[],d=a.split(",");return d.forEach(function(a){a=a.trim(),a.indexOf("*")>=0?a=a.replace("*",b):a.match(this.hostFixableRe)&&(a=b+a),c.push(a)},this),c.join(", ")},applyPseudoScoping:function(b,c){a(b,function(a){a.parentNode&&a.parentNode.removeChild(a)});var d=this.stylesToCssText(b).replace(this.hostRuleRe,""),e=this.cssToRules(d),d=this.pseudoScopeRules(e,c);this.addCssToDocument(d)},pseudoScopeRules:function(b,c){var d="";return a(b,function(a){a.selectorText&&a.style&&a.style.cssText?(d+=this.pseudoScopeSelector(a.selectorText,c)+" {\n ",d+=a.style.cssText+"\n}\n\n"):a.media?(d+="@media "+a.media.mediaText+" {\n",d+=this.pseudoScopeRules(a.cssRules,c),d+="\n}\n\n"):a.cssText&&(d+=a.cssText+"\n\n")},this),d},pseudoScopeSelector:function(a,b){var c=[],d=a.split(",");return d.forEach(function(a){c.push(b+" "+a.trim())}),c.join(", ")},stylesToCssText:function(b,c){var d="";return a(b,function(a){d+=a.textContent+"\n\n"}),c||(d=this.stripCssComments(d)),d},stripCssComments:function(a){return a.replace(this.cssCommentRe,"")},cssToRules:function(a){var b=document.createElement("style");b.textContent=a,document.head.appendChild(b);var c=b.sheet.cssRules;return b.parentNode.removeChild(b),c},rulesToCss:function(a){for(var b=0,c=[];b b && a.check(); ) a.report(), b++; + for (var b = 0; W > b && a.check(); ) a.report(), b++; } function i(a) { for (var b in a) return !1; @@ -1638,15 +1657,15 @@ if (function(a) { return Array.isArray(a) && (c.length = a.length), c; } function m(a) { - this.callback = a, this.reporting = !0, G && (this.boundInternalCallback = this.internalCallback.bind(this)), + this.callback = a, this.reporting = !0, J && (this.boundInternalCallback = this.internalCallback.bind(this)), this.valid = !0, n(this), this.connect(), this.sync(!0); } function n(a) { - Q && (P.push(a), m._allObserversCount++); + Y && (X.push(a), m._allObserversCount++); } function o(a) { - if (Q) for (var b = 0; b < P.length; b++) if (P[b] === a) { - P[b] = void 0, m._allObserversCount--; + if (Y) for (var b = 0; b < X.length; b++) if (X[b] === a) { + X[b] = void 0, m._allObserversCount--; break; } } @@ -1660,7 +1679,7 @@ if (function(a) { function r(a, b) { if (!b.length) return a; if (d(a)) { - if (H) return u(a, b); + if (K) return u(a, b); var c; return b.walkPropertiesFrom(a, function(a, d, e) { e === b.length && (c = d); @@ -1686,7 +1705,7 @@ if (function(a) { } function u(a, b) { var c = b.toString(); - return S[c] || (S[c] = t(b)), S[c](a); + return $[c] || ($[c] = t(b)), $[c](a); } function v(b, c, e, f, g) { var h = void 0; @@ -1712,7 +1731,7 @@ if (function(a) { function w(a, b, c) { if (this.value = void 0, f(b)) { var e = new g(b); - return e.length ? (d(a) && (this.object = a, this.path = e, G ? (this.observed = new Array(e.length), + return e.length ? (d(a) && (this.object = a, this.path = e, J ? (this.observed = new Array(e.length), this.observedMap = new Map(), this.getPathValue = v) : this.getPathValue = r, m.call(this, c)), void 0) : (this.value = a, void 0); } @@ -1733,7 +1752,7 @@ if (function(a) { function y(a, b, c) { for (var d = {}, e = {}, f = 0; f < b.length; f++) { var g = b[f]; - T[g.type] ? (g.name in c || (c[g.name] = g.oldValue), "updated" != g.type && ("new" != g.type ? g.name in d ? (delete d[g.name], + _[g.type] ? (g.name in c || (c[g.name] = g.oldValue), "updated" != g.type && ("new" != g.type ? g.name in d ? (delete d[g.name], delete c[g.name]) : e[g.name] = !0 : g.name in e ? delete e[g.name] : d[g.name] = !0)) : (console.error("Unknown changeRecord type: " + g.type), console.error(g)); } @@ -1763,9 +1782,9 @@ if (function(a) { function A(a) { for (var b = a.length - 1, c = a[0].length - 1, d = a[b][c], e = []; b > 0 || c > 0; ) if (0 != b) if (0 != c) { var f, g = a[b - 1][c - 1], h = a[b - 1][c], i = a[b][c - 1]; - f = i > h ? g > h ? h : g : g > i ? i : g, f == g ? (g == d ? e.push(U) : (e.push(V), - d = g), b--, c--) : f == h ? (e.push(X), b--, d = h) : (e.push(W), c--, d = i); - } else e.push(X), b--; else e.push(W), c--; + f = i > h ? g > h ? h : g : g > i ? i : g, f == g ? (g == d ? e.push(ab) : (e.push(bb), + d = g), b--, c--) : f == h ? (e.push(db), b--, d = h) : (e.push(cb), c--, d = i); + } else e.push(db), b--; else e.push(cb), c--; return e.reverse(), e; } function B(a, b, c) { @@ -1776,96 +1795,111 @@ if (function(a) { for (var d = a.length, e = b.length, f = 0; c > f && a[--d] === b[--e]; ) f++; return f; } - function D(a, b, c, d, e, f) { - function g(a, b, c) { - return { - index: a, - removed: b, - addedCount: c - }; - } - var h = 0, i = 0, j = Math.min(c - b, f - e); - if (0 == b && 0 == e && (h = B(a, d, j)), c == a.length && f == d.length && (i = C(a, d, j - h)), - b += h, e += h, c -= i, f -= i, 0 == c - b && 0 == f - e) return []; + function D(a, b, c) { + return { + index: a, + removed: b, + addedCount: c + }; + } + function E(a, b, c, d, e, f) { + var g = 0, h = 0, i = Math.min(c - b, f - e); + if (0 == b && 0 == e && (g = B(a, d, i)), c == a.length && f == d.length && (h = C(a, d, i - g)), + b += g, e += g, c -= h, f -= h, 0 == c - b && 0 == f - e) return []; if (b == c) { - for (var k = g(b, [], 0); f > e; ) k.removed.push(d[e++]); - return [ k ]; + for (var j = D(b, [], 0); f > e; ) j.removed.push(d[e++]); + return [ j ]; } - if (e == f) return [ g(b, [], c - b) ]; - for (var l = A(z(a, b, c, d, e, f)), k = void 0, m = [], n = b, o = e, p = 0; p < l.length; p++) switch (l[p]) { - case U: - k && (m.push(k), k = void 0), n++, o++; + if (e == f) return [ D(b, [], c - b) ]; + for (var k = A(z(a, b, c, d, e, f)), j = void 0, l = [], m = b, n = e, o = 0; o < k.length; o++) switch (k[o]) { + case ab: + j && (l.push(j), j = void 0), m++, n++; break; - case V: - k || (k = g(n, [], 0)), k.addedCount++, n++, k.removed.push(d[o]), o++; + case bb: + j || (j = D(m, [], 0)), j.addedCount++, m++, j.removed.push(d[n]), n++; break; - case W: - k || (k = g(n, [], 0)), k.addedCount++, n++; + case cb: + j || (j = D(m, [], 0)), j.addedCount++, m++; break; - case X: - k || (k = g(n, [], 0)), k.removed.push(d[o]), o++; - } - return k && m.push(k), m; - } - function E(a, b, d) { - function e(b, d) { - Object.keys(b).forEach(function(b) { - var e = c(b); - if (!(isNaN(e) || 0 > e || e >= g)) { - var i = d[e]; - e < a.length ? h[e] = i : f.removed[e - a.length] = d[e]; + case db: + j || (j = D(m, [], 0)), j.removed.push(d[n]), n++; + } + return j && l.push(j), l; + } + function F(a, b, c, d) { + return c > b || a > d ? -1 : b == c || d == a ? 0 : c > a ? d > b ? b - c : d - c : b > d ? d - a : b - a; + } + function G(a, b, c, d) { + for (var e = D(b, c, d), f = !1, g = 0, h = 0; h < a.length; h++) { + var i = a[h]; + if (i.index += g, !f) { + var j = F(e.index, e.index + e.removed.length, i.index, i.index + i.addedCount); + if (j >= 0) { + a.splice(h, 1), h--, g -= i.addedCount - i.removed.length, e.addedCount += i.addedCount - j; + var k = e.removed.length + i.removed.length - j; + if (e.addedCount || k) { + var c = i.removed; + if (e.index < i.index) { + var l = e.removed.slice(0, i.index - e.index); + Array.prototype.push.apply(l, c), c = l; + } + if (e.index + e.removed.length > i.index + i.addedCount) { + var m = e.removed.slice(i.index + i.addedCount - e.index); + Array.prototype.push.apply(c, m); + } + e.removed = c, i.index < e.index && (e.index = i.index); + } else f = !0; + } else if (e.index < i.index) { + f = !0, a.splice(h, 0, e), h++; + var n = e.addedCount - e.removed.length; + i.index += n, g += n; } - }); + } } - var f, g = "length" in d ? c(d.length) : a.length; - a.length > g ? f = { - index: g, - removed: [], - addedCount: a.length - g - } : a.length < g && (f = { - index: a.length, - removed: new Array(g - a.length), - addedCount: 0 - }); - var h = []; - e(b.added, d), e(b.removed, d), e(b.changed, d); - var i, j = []; - for (var k in h) { - if (k = c(k), i) { - if (i.index + i.removed.length == k) { - i.removed.push(h[k]); - continue; - } - i.addedCount = Math.min(a.length, i.index + i.removed.length) - i.index, j.push(i), - i = void 0; + f || a.push(e); + } + function H(a, d) { + for (var e = [], f = 0; f < d.length; f++) { + var g = d[f]; + switch (g.type) { + case "splice": + G(e, g.index, g.removed.slice(), g.addedCount); + break; + + case "new": + case "updated": + case "deleted": + if (!b(g.name)) continue; + var h = c(g.name); + if (0 > h) continue; + G(e, h, [ g.oldValue ], 1); + break; + + default: + console.error("Unexpected record type: " + JSON.stringify(g)); } - i = { - index: k, - removed: [ h[k] ] - }; } - return i ? (i.addedCount = Math.min(a.length, i.index + i.removed.length) - i.index, - f ? i.index + i.removed.length == f.index ? (i.addedCount = i.addedCount + f.addedCount, - i.removed = i.removed.concat(f.removed), j.push(i)) : (j.push(i), j.push(f)) : j.push(i)) : f && j.push(f), - j; + return e; } - function F(a, b, c) { - var d = []; - return E(a, b, c).forEach(function(b) { - d = d.concat(D(a, b.index, b.index + b.addedCount, b.removed, 0, b.removed.length)); - }), d; + function I(a, b) { + var c = []; + return H(a, b).forEach(function(b) { + return 1 == b.addedCount && 1 == b.removed.length ? (b.removed[0] !== a[b.index] && c.push(b), + void 0) : (c = c.concat(E(a, b.index, b.index + b.addedCount, b.removed, 0, b.removed.length)), + void 0); + }), c; } - var G = "function" == typeof Object.observe, H = !1; + var J = "function" == typeof Object.observe, K = !1; try { - var I = new Function("", "return true;"); - H = I(); - } catch (J) {} - var K = a.Number.isNaN || function(b) { + var L = new Function("", "return true;"); + K = L(); + } catch (M) {} + var N = a.Number.isNaN || function(b) { return "number" == typeof b && a.isNaN(b); - }, L = "__proto__" in {} ? function(a) { + }, O = "__proto__" in {} ? function(a) { return a; } : function(a) { var b = a.__proto__; @@ -1874,8 +1908,8 @@ if (function(a) { return Object.getOwnPropertyNames(a).forEach(function(b) { Object.defineProperty(c, b, Object.getOwnPropertyDescriptor(a, b)); }), c; - }, M = "[$a-z0-9_]+[$a-z0-9_\\d]*", N = new RegExp("^(?:#?" + M + ")?" + "(?:" + "(?:\\." + M + ")" + ")*" + "$", "i"); - g.prototype = L({ + }, P = "[$_a-zA-Z]", Q = "[$_a-zA-Z0-9]", R = P + "+" + Q + "*", S = "(?:[0-9]|[1-9]+[0-9]+)", T = "(?:" + R + "|" + S + ")", U = "(?:" + T + ")(?:\\." + T + ")*", V = new RegExp("^" + U + "$"); + g.prototype = O({ __proto__: [], toString: function() { return this.join("."); @@ -1884,7 +1918,7 @@ if (function(a) { for (var d, e = 0; e < this.length + 1; e++) d = this[e], b.call(c, d, a, e), a = e == this.length || null === a || void 0 === a ? void 0 : a[d]; } }); - var O = 1e3; + var W = 1e3; m.prototype = { valid: !1, internalCallback: function(a) { @@ -1894,7 +1928,7 @@ if (function(a) { this.valid && (this.disconnect(), this.valid = !1, o(this)); }, deliver: function(a) { - this.valid && (G ? (this.testingResults = a, Object.deliverChangeRecords(this.boundInternalCallback), + this.valid && (J ? (this.testingResults = a, Object.deliverChangeRecords(this.boundInternalCallback), this.testingResults = void 0) : h(this)); }, report: function() { @@ -1909,42 +1943,42 @@ if (function(a) { } }, reset: function() { - this.valid && (G && (this.reporting = !1, Object.deliverChangeRecords(this.boundInternalCallback), + this.valid && (J && (this.reporting = !1, Object.deliverChangeRecords(this.boundInternalCallback), this.reporting = !0), this.sync(!0)); } }; - var P, Q = !G || a.forceCollectObservers; - Q && (P = [], m._allObserversCount = 0); - var R = !1; + var X, Y = !J || a.forceCollectObservers; + Y && (X = [], m._allObserversCount = 0); + var Z = !1; a.Platform = a.Platform || {}, a.Platform.performMicrotaskCheckpoint = function() { - if (Q && !R) { - R = !0; + if (Y && !Z) { + Z = !0; var a = 0, b = {}; do { a++; - var c = P; - P = [], b.anyChanged = !1; + var c = X; + X = [], b.anyChanged = !1; for (var d = 0; d < c.length; d++) { var e = c[d]; - e && e.valid && (G ? e.deliver(b) : e.check() && (b.anyChanged = !0, e.report()), - P.push(e)); + e && e.valid && (J ? e.deliver(b) : e.check() && (b.anyChanged = !0, e.report()), + X.push(e)); } - } while (O > a && b.anyChanged); - m._allObserversCount = P.length, R = !1; + } while (W > a && b.anyChanged); + m._allObserversCount = X.length, Z = !1; } - }, Q && (a.Platform.clearObservers = function() { - P = []; - }), p.prototype = L({ + }, Y && (a.Platform.clearObservers = function() { + X = []; + }), p.prototype = O({ __proto__: m.prototype, connect: function() { - G && Object.observe(this.object, this.boundInternalCallback); + J && Object.observe(this.object, this.boundInternalCallback); }, sync: function() { - G || (this.oldObject = l(this.object)); + J || (this.oldObject = l(this.object)); }, check: function(a) { var b, c; - if (G) { + if (J) { if (!a) return !1; c = {}, b = y(this.object, a, c); } else c = this.oldObject, b = k(this.object, this.oldObject); @@ -1954,21 +1988,23 @@ if (function(a) { }), !0); }, disconnect: function() { - G ? this.object && Object.unobserve(this.object, this.boundInternalCallback) : this.oldObject = void 0, + J ? this.object && Object.unobserve(this.object, this.boundInternalCallback) : this.oldObject = void 0, this.object = void 0; } - }), q.prototype = L({ + }), q.prototype = O({ __proto__: p.prototype, + connect: function() { + J && Array.observe(this.object, this.boundInternalCallback); + }, sync: function() { - G || (this.oldObject = this.object.slice()); + J || (this.oldObject = this.object.slice()); }, check: function(a) { var b; - if (G) { + if (J) { if (!a) return !1; - var c = {}, d = y(this.object, a, c); - b = F(this.object, d, c); - } else b = D(this.object, 0, this.object.length, this.oldObject, 0, this.oldObject.length); + b = I(this.object, a); + } else b = E(this.object, 0, this.object.length, this.oldObject, 0, this.oldObject.length); return b && b.length ? (this.reportArgs = [ b ], !0) : !1; } }), q.applySplices = function(a, b, c) { @@ -1978,8 +2014,8 @@ if (function(a) { Array.prototype.splice.apply(a, d); }); }; - var S = {}; - w.prototype = L({ + var $ = {}; + w.prototype = O({ __proto__: m.prototype, connect: function() {}, disconnect: function() { @@ -2004,7 +2040,7 @@ if (function(a) { s(a, d, c); } }; - var T = { + var _ = { "new": !0, updated: !0, deleted: !0 @@ -2027,7 +2063,7 @@ if (function(a) { } }; }; - var U = 0, V = 1, W = 2, X = 3; + var ab = 0, bb = 1, cb = 2, db = 3; a.Observer = m, a.ArrayObserver = q, a.ObjectObserver = p, a.PathObserver = w; }(this), function(a) { "use strict"; @@ -2059,12 +2095,12 @@ if (function(a) { if ("textContent" !== a) return Node.prototype.bind.call(this, a, b, c); this.unbind("textContent"); var d = new h(b, c, i(this)); - db.set(this, d); + _.set(this, d); } function k(a) { if ("textContent" != a) return Node.prototype.unbind.call(this, a); - var b = db.get(this); - b && (b.dispose(), db.delete(this)); + var b = _.get(this); + b && (b.dispose(), _.delete(this)); } function l() { this.unbind("textContent"), Node.prototype.unbindAll.call(this); @@ -2080,21 +2116,21 @@ if (function(a) { this.bindingMap = Object.create(null); } function o(a, b, c) { - var d = eb.get(this); - d || (d = new n(), eb.set(this, d)), d.add(this, a, b, c); + var d = ab.get(this); + d || (d = new n(), ab.set(this, d)), d.add(this, a, b, c); } function p(a) { - var b = eb.get(this); + var b = ab.get(this); b && b.remove(a); } function q() { - var a = eb.get(this); - a && (eb.delete(this), a.removeAll(), Node.prototype.unbindAll.call(this)); + var a = ab.get(this); + a && (ab.delete(this), a.removeAll(), Node.prototype.unbindAll.call(this)); } function r(a) { switch (a.type) { case "checkbox": - return fb; + return bb; case "radio": case "select-multiple": @@ -2115,11 +2151,11 @@ if (function(a) { } function u(a) { if (!d(a)) return []; - if (a.form) return ab(a.form.elements, function(b) { + if (a.form) return Y(a.form.elements, function(b) { return b != a && "INPUT" == b.tagName && "radio" == b.type && b.name == a.name; }); var b = a.ownerDocument.querySelectorAll('input[type="radio"][name="' + a.name + '"]'); - return ab(b, function(b) { + return Y(b, function(b) { return b != a && !b.form; }); } @@ -2127,13 +2163,18 @@ if (function(a) { s.call(this, a, "checked", b, c); } function w(a, b, c) { - switch (a) { - case "value": - this.unbind("value"), this.removeAttribute("value"), gb.set(this, new t(this, b, c)); + switch (this.tagName + "." + a.toLowerCase()) { + case "INPUT.value": + case "TEXTAREA.value": + this.unbind("value"), this.removeAttribute("value"), cb.set(this, new t(this, b, c)); + break; + + case "INPUT.checked": + this.unbind("checked"), this.removeAttribute("checked"), db.set(this, new v(this, b, c)); break; - case "checked": - this.unbind("checked"), this.removeAttribute("checked"), hb.set(this, new v(this, b, c)); + case "SELECT.selectedindex": + this.unbind("selectedindex"), this.removeAttribute("selectedindex"), cb.set(this, new z(this, b, c)); break; default: @@ -2141,15 +2182,21 @@ if (function(a) { } } function x(a) { - switch (a) { - case "value": - var b = gb.get(this); - b && (b.unbind(), gb.delete(this)); + switch (this.tagName + "." + a.toLowerCase()) { + case "INPUT.value": + case "TEXTAREA.value": + var b = cb.get(this); + b && (b.unbind(), cb.delete(this)); break; - case "checked": - var c = hb.get(this); - c && (c.unbind(), hb.delete(this)); + case "INPUT.checked": + var c = db.get(this); + c && (c.unbind(), db.delete(this)); + break; + + case "SELECT.selectedindex": + var b = cb.get(this); + b && (b.unbind(), cb.delete(this)); break; default: @@ -2157,126 +2204,109 @@ if (function(a) { } } function y() { - this.unbind("value"), this.unbind("checked"), Element.prototype.unbindAll.call(this); - } - function z(a, b, c) { - s.call(this, a, "selectedIndex", b, c); - } - function A(a, b, c) { - switch (a.toLowerCase()) { - case "selectedindex": - this.unbind("selectedindex"), this.removeAttribute("selectedindex"), gb.set(this, new z(this, b, c)); - break; + switch (this.tagName) { + case "INPUT": + this.unbind("checked"); - default: - return Element.prototype.bind.call(this, a, b, c); - } - } - function B(a) { - switch (a.toLowerCase()) { - case "selectedindex": - var b = gb.get(this); - b && (b.unbind(), gb.delete(this)); + case "TEXTAREA": + this.unbind("value"); break; - default: - return Element.prototype.unbind.call(this, a); + case "SELECT": + this.unbind("selectedindex"); } + Element.prototype.unbindAll.call(this); } - function C() { - this.unbind("selectedindex"), Element.prototype.unbindAll.call(this); + function z(a, b, c) { + s.call(this, a, "selectedIndex", b, c); } - function D(a) { - return pb[a.tagName] && a.hasAttribute("template"); + function A(a) { + return lb[a.tagName] && a.hasAttribute("template"); } - function E(a) { - return "TEMPLATE" == a.tagName || D(a); + function B(a) { + return "TEMPLATE" == a.tagName || A(a); } - function F(a) { - return qb && "TEMPLATE" == a.tagName; + function C(a) { + return mb && "TEMPLATE" == a.tagName; } - function G(a, b) { - var c = a.querySelectorAll(rb); - E(a) && b(a), _(c, b); + function D(a, b) { + var c = a.querySelectorAll(nb); + B(a) && b(a), X(c, b); } - function H(a) { + function E(a) { function b(a) { - HTMLTemplateElement.decorate(a) || H(a.content); + HTMLTemplateElement.decorate(a) || E(a.content); } - G(a, b); + D(a, b); } - function I(a, b) { + function F(a, b) { Object.getOwnPropertyNames(b).forEach(function(c) { Object.defineProperty(a, c, Object.getOwnPropertyDescriptor(b, c)); }); } - function J(a) { + function G(a) { if (!a.defaultView) return a; - var b = vb.get(a); + var b = rb.get(a); if (!b) { for (b = a.implementation.createHTMLDocument(""); b.lastChild; ) b.removeChild(b.lastChild); - vb.set(a, b); + rb.set(a, b); } return b; } - function K(a) { + function H(a) { var b = a.ownerDocument.createElement("template"); a.parentNode.insertBefore(b, a); for (var c = a.attributes, d = c.length; d-- > 0; ) { var e = c[d]; - ob[e.name] && ("template" !== e.name && b.setAttribute(e.name, e.value), a.removeAttribute(e.name)); + kb[e.name] && ("template" !== e.name && b.setAttribute(e.name, e.value), a.removeAttribute(e.name)); } return b; } - function L(a, b, c) { + function I(a, b, c) { var d = a.content; if (c) return d.appendChild(b), void 0; for (var e; e = b.firstChild; ) d.appendChild(e); } - function M(a) { - "TEMPLATE" === a.tagName ? qb || (tb ? a.__proto__ = HTMLTemplateElement.prototype : I(a, HTMLTemplateElement.prototype)) : (I(a, HTMLTemplateElement.prototype), - Object.defineProperty(a, "content", yb)); - } - function N(a) { - var b = a.ref; - return b ? b.content : a.content; + function J(a) { + "TEMPLATE" === a.tagName ? mb || (pb ? a.__proto__ = HTMLTemplateElement.prototype : F(a, HTMLTemplateElement.prototype)) : (F(a, HTMLTemplateElement.prototype), + Object.defineProperty(a, "content", ub)); } - function O(a, b) { + function K(a, b) { this.type = a, this.value = b; } - function P(a) { + function L(a) { for (var b = [], c = a.length, d = 0, e = 0; c > e; ) { if (d = a.indexOf("{{", e), 0 > d) { - b.push(new O(Ab, a.slice(e))); + b.push(new K(wb, a.slice(e))); break; } - if (d > 0 && d > e && b.push(new O(Ab, a.slice(e, d))), e = d + 2, d = a.indexOf("}}", e), + if (d > 0 && d > e && b.push(new K(wb, a.slice(e, d))), e = d + 2, d = a.indexOf("}}", e), 0 > d) { var f = a.slice(e - 2), g = b[b.length - 1]; - g && g.type == Ab ? g.value += f : b.push(new O(Ab, f)); + g && g.type == wb ? g.value += f : b.push(new K(wb, f)); break; } var h = a.slice(e, d).trim(); - b.push(new O(Bb, h)), e = d + 2; + b.push(new K(xb, h)), e = d + 2; } return b; } - function Q(a, b, c, d, e) { - var f, g = e && e[mb]; + function M(a, b, c, d, e) { + var f, g = e && e[ib]; g && "function" == typeof g && (f = g(c, d, b, a), f && (c = f, d = "value")), a.bind(b, c, d); } - function R(a, b, c, d, e) { - var f = P(c); - if (f.length && (1 != f.length || f[0].type != Ab)) { - if (1 == f.length && f[0].type == Bb) return Q(a, b, d, f[0].value, e), void 0; - for (var g = new Y(), h = 0; h < f.length; h++) { + function N(a, b, c, d, e) { + var f = L(c); + if (f.length && (1 != f.length || f[0].type != wb)) { + if (1 == f.length && f[0].type == xb) return M(a, b, d, f[0].value, e), void 0; + for (var g = new U(), h = 0; h < f.length; h++) { var i = f[h]; - i.type == Bb && Q(g, h, d, i.value, e); + i.type == xb && M(g, h, d, i.value, e); } g.combinator = function(a) { for (var b = "", c = 0; c < f.length; c++) { var d = f[c]; - if (d.type === Ab) b += d.value; else { + if (d.type === wb) b += d.value; else { var e = a[c]; void 0 !== e && (b += e); } @@ -2285,58 +2315,58 @@ if (function(a) { }, a.bind(b, g, "value"); } } - function S(a, c, d) { + function O(a, c, d) { b(a); for (var e = {}, f = 0; f < a.attributes.length; f++) { var g = a.attributes[f]; e[g.name] = g.value; } - E(a) && ("" === e[ib] && (e[ib] = "{{}}"), "" === e[jb] && (e[jb] = "{{}}")), Object.keys(e).forEach(function(b) { - R(a, b, e[b], c, d); + B(a) && ("" === e[eb] && (e[eb] = "{{}}"), "" === e[fb] && (e[fb] = "{{}}")), Object.keys(e).forEach(function(b) { + N(a, b, e[b], c, d); }); } - function T(a, c, d) { - b(a), a.nodeType === Node.ELEMENT_NODE ? S(a, c, d) : a.nodeType === Node.TEXT_NODE && R(a, "textContent", a.data, c, d); - for (var e = a.firstChild; e; e = e.nextSibling) T(e, c, d); + function P(a, c, d) { + b(a), a.nodeType === Node.ELEMENT_NODE ? O(a, c, d) : a.nodeType === Node.TEXT_NODE && N(a, "textContent", a.data, c, d); + for (var e = a.firstChild; e; e = e.nextSibling) P(e, c, d); } - function U(a) { - if (Cb.delete(a), E(a)) { - var b = Db.get(a); - b && (b.abandon(), Db.delete(a)); + function Q(a) { + if (yb.delete(a), B(a)) { + var b = zb.get(a); + b && (b.abandon(), zb.delete(a)); } a.unbindAll(); - for (var c = a.firstChild; c; c = c.nextSibling) U(c); + for (var c = a.firstChild; c; c = c.nextSibling) Q(c); } - function V(a, b) { + function R(a, b) { var c = a.cloneNode(!1); - E(c) && (HTMLTemplateElement.decorate(c, a), b && !c.hasAttribute(lb) && c.setAttribute(lb, b)); - for (var d = a.firstChild; d; d = d.nextSibling) c.appendChild(V(d, b)); + B(c) && (HTMLTemplateElement.decorate(c, a), b && !c.hasAttribute(hb) && c.setAttribute(hb, b)); + for (var d = a.firstChild; d; d = d.nextSibling) c.appendChild(R(d, b)); return c; } - function W(a, b, c) { + function S(a, b, c) { this.firstNode = a, this.lastNode = b, this.model = c; } - function X(a, b) { - if (a.firstChild) for (var c = new W(a.firstChild, a.lastChild, b), d = c.firstNode; d; ) Cb.set(d, c), + function T(a, b) { + if (a.firstChild) for (var c = new S(a.firstChild, a.lastChild, b), d = c.firstNode; d; ) yb.set(d, c), d = d.nextSibling; } - function Y(a) { + function U(a) { this.bindings = {}, this.values = {}, this.value = void 0, this.size = 0, this.combinator_ = a, this.boundResolve = this.resolve.bind(this), this.disposed = !1; } - function Z(a) { + function V(a) { this.templateElement_ = a, this.terminators = [], this.iteratedValue = void 0, this.arrayObserver = void 0, - this.boundHandleSplices = this.handleSplices.bind(this), this.inputs = new Y(this.resolveInputs.bind(this)); + this.boundHandleSplices = this.handleSplices.bind(this), this.inputs = new U(this.resolveInputs.bind(this)); var b = this.valueChanged.bind(this); Object.defineProperty(this.inputs, "value", { configurable: !0, set: b }); } - var $, _ = Array.prototype.forEach.call.bind(Array.prototype.forEach), ab = Array.prototype.filter.call.bind(Array.prototype.filter); - a.Map && "function" == typeof a.Map.prototype.forEach ? $ = a.Map : ($ = function() { + var W, X = Array.prototype.forEach.call.bind(Array.prototype.forEach), Y = Array.prototype.filter.call.bind(Array.prototype.filter); + a.Map && "function" == typeof a.Map.prototype.forEach ? W = a.Map : (W = function() { this.keys = [], this.values = []; - }, $.prototype = { + }, W.prototype = { set: function(a, b) { var c = this.keys.indexOf(a); 0 > c ? (this.keys.push(a), this.values.push(b)) : this.values[c] = b; @@ -2353,7 +2383,7 @@ if (function(a) { for (var c = 0; c < this.keys.length; c++) a.call(b || this, this.values[c], this.keys[c], this); } }); - var bb = "__proto__" in {} ? function(a) { + var Z = "__proto__" in {} ? function(a) { return a; } : function(a) { var b = a.__proto__; @@ -2366,12 +2396,12 @@ if (function(a) { "function" != typeof document.contains && (Document.prototype.contains = function(a) { return a === this || a.parentNode === this ? !0 : this.documentElement.contains(a); }); - var cb; - "undefined" != typeof WeakMap && navigator.userAgent.indexOf("Firefox/") < 0 ? cb = WeakMap : function() { + var $; + "undefined" != typeof WeakMap && navigator.userAgent.indexOf("Firefox/") < 0 ? $ = WeakMap : function() { var a = Object.defineProperty, b = Object.hasOwnProperty, c = new Date().getTime() % 1e9; - cb = function() { + $ = function() { this.name = "__st" + (1e9 * Math.random() >>> 0) + (c++ + "__"); - }, cb.prototype = { + }, $.prototype = { set: function(b, c) { a(b, this.name, { value: c, @@ -2386,7 +2416,7 @@ if (function(a) { } }; }(), Node.prototype.bind = e, Node.prototype.unbind = f, Node.prototype.unbindAll = g; - var db = new cb("textContentBinding"); + var _ = new $("textContentBinding"); h.prototype = { dispose: function() { this.model && "function" == typeof this.model.dispose && this.model.dispose(), this.observer.close(); @@ -2398,7 +2428,7 @@ if (function(a) { this.observer.reset(); } }, Text.prototype.bind = j, Text.prototype.unbind = k, Text.prototype.unbindAll = l; - var eb = new cb("attributeBindings"); + var ab = new $("attributeBindings"); n.prototype = { add: function(a, b, c, d) { a.removeAttribute(b); @@ -2417,7 +2447,7 @@ if (function(a) { }, this); } }, Element.prototype.bind = o, Element.prototype.unbind = p, Element.prototype.unbindAll = q; - var fb, gb = new cb("valueBinding"), hb = new cb("checkedBinding"); + var bb, cb = new $("valueBinding"), db = new $("checkedBinding"); !function() { var a = document.createElement("div"), b = a.appendChild(document.createElement("input")); b.setAttribute("type", "checkbox"); @@ -2429,7 +2459,7 @@ if (function(a) { }); var e = document.createEvent("MouseEvent"); e.initMouseEvent("click", !0, !0, window, 0, 0, 0, 0, 0, !1, !1, !1, !1, 0, null), - b.dispatchEvent(e), fb = 1 == d ? "change" : c; + b.dispatchEvent(e), bb = 1 == d ? "change" : c; }(), s.prototype = { valueChanged: function(a) { this.element[this.valueProperty] = this.produceElementValue(a); @@ -2441,45 +2471,46 @@ if (function(a) { unbind: function() { this.binding.dispose(), this.element.removeEventListener(r(this.element), this.boundUpdateBinding, !0); } - }, t.prototype = bb({ + }, t.prototype = Z({ __proto__: s.prototype, produceElementValue: function(a) { return String(null == a ? "" : a); } - }), v.prototype = bb({ + }), v.prototype = Z({ __proto__: s.prototype, produceElementValue: function(a) { return Boolean(a); }, postUpdateBinding: function() { "INPUT" === this.element.tagName && "radio" === this.element.type && u(this.element).forEach(function(a) { - var b = hb.get(a); + var b = db.get(a); b && (b.binding.value = !1); }); } }), HTMLInputElement.prototype.bind = w, HTMLInputElement.prototype.unbind = x, - HTMLInputElement.prototype.unbindAll = y, z.prototype = bb({ + HTMLInputElement.prototype.unbindAll = y, z.prototype = Z({ __proto__: s.prototype, valueChanged: function(a) { function b() { - a > d.element.length && c-- ? sb(b) : d.element[d.valueProperty] = a; + a > d.element.length && c-- ? ob(b) : d.element[d.valueProperty] = a; } var a = this.produceElementValue(a); if (a <= this.element.length) return this.element[this.valueProperty] = a, void 0; var c = 2, d = this; - sb(b); + ob(b); }, produceElementValue: function(a) { return Number(a); } - }), HTMLSelectElement.prototype.bind = A, HTMLSelectElement.prototype.unbind = B, - HTMLSelectElement.prototype.unbindAll = C; - var ib = "bind", jb = "repeat", kb = "if", lb = "syntax", mb = "getBinding", nb = "getInstanceModel", ob = { + }), HTMLSelectElement.prototype.bind = w, HTMLSelectElement.prototype.unbind = x, + HTMLSelectElement.prototype.unbindAll = y, HTMLTextAreaElement.prototype.bind = w, + HTMLTextAreaElement.prototype.unbind = x, HTMLTextAreaElement.prototype.unbindAll = y; + var eb = "bind", fb = "repeat", gb = "if", hb = "syntax", ib = "getBinding", jb = "getInstanceModel", kb = { template: !0, repeat: !0, bind: !0, ref: !0 - }, pb = { + }, lb = { THEAD: !0, TBODY: !0, TFOOT: !0, @@ -2491,9 +2522,9 @@ if (function(a) { CAPTION: !0, OPTION: !0, OPTGROUP: !0 - }, qb = "undefined" != typeof HTMLTemplateElement, rb = "template, " + Object.keys(pb).map(function(a) { + }, mb = "undefined" != typeof HTMLTemplateElement, nb = "template, " + Object.keys(lb).map(function(a) { return a.toLowerCase() + "[template]"; - }).join(", "), sb = function() { + }).join(", "), ob = function() { function a() { var a = this; this.value = !1; @@ -2517,39 +2548,39 @@ if (function(a) { return c = new a(), d = new a(), b; }(); document.addEventListener("DOMContentLoaded", function() { - H(document), Platform.performMicrotaskCheckpoint(); - }, !1), qb || (a.HTMLTemplateElement = function() { + E(document), Platform.performMicrotaskCheckpoint(); + }, !1), mb || (a.HTMLTemplateElement = function() { throw TypeError("Illegal constructor"); }); - var tb = "__proto__" in {}, ub = new cb("templateContents"), vb = new cb("templateContentsOwner"), wb = new cb("templateInstanceRef"); + var pb = "__proto__" in {}, qb = new $("templateContents"), rb = new $("templateContentsOwner"), sb = new $("templateInstanceRef"); HTMLTemplateElement.decorate = function(a, c) { if (a.templateIsDecorated_) return !1; - var d = a, e = F(d), f = e, g = !e, h = !1; - if (!e && D(d) && (b(!c), d = K(a), e = F(d), h = !0), d.templateIsDecorated_ = !0, + var d = a, e = C(d), f = e, g = !e, h = !1; + if (!e && A(d) && (b(!c), d = H(a), e = C(d), h = !0), d.templateIsDecorated_ = !0, !e) { - M(d); - var i = J(d.ownerDocument); - ub.set(d, i.createDocumentFragment()); + J(d); + var i = G(d.ownerDocument); + qb.set(d, i.createDocumentFragment()); } - return c ? wb.set(d, c) : g ? L(d, a, h) : f && H(d.content), !0; - }, HTMLTemplateElement.bootstrap = H; - var xb = a.HTMLUnknownElement || HTMLElement, yb = { + return c ? sb.set(d, c) : g ? I(d, a, h) : f && E(d.content), !0; + }, HTMLTemplateElement.bootstrap = E; + var tb = a.HTMLUnknownElement || HTMLElement, ub = { get: function() { - return ub.get(this); + return qb.get(this); }, enumerable: !0, configurable: !0 }; - qb || (HTMLTemplateElement.prototype = Object.create(xb.prototype), Object.defineProperty(HTMLTemplateElement.prototype, "content", yb)); - var zb = new cb("templateModel"); - I(HTMLTemplateElement.prototype, { + mb || (HTMLTemplateElement.prototype = Object.create(tb.prototype), Object.defineProperty(HTMLTemplateElement.prototype, "content", ub)); + var vb = new $("templateModel"); + F(HTMLTemplateElement.prototype, { bind: function(a, b, c) { switch (a) { - case ib: - case jb: - case kb: - var d = Db.get(this); - d || (d = new Z(this), Db.set(this, d)), d.inputs.bind(a, b, c || ""); + case eb: + case fb: + case gb: + var d = zb.get(this); + d || (d = new V(this), zb.set(this, d)), d.inputs.bind(a, b, c || ""); break; default: @@ -2558,10 +2589,10 @@ if (function(a) { }, unbind: function(a, b, c) { switch (a) { - case ib: - case jb: - case kb: - var d = Db.get(this); + case eb: + case fb: + case gb: + var d = zb.get(this); if (!d) break; d.inputs.unbind(a); break; @@ -2571,19 +2602,19 @@ if (function(a) { } }, unbindAll: function() { - this.unbind(ib), this.unbind(jb), this.unbind(kb), Element.prototype.unbindAll.call(this); + this.unbind(eb), this.unbind(fb), this.unbind(gb), Element.prototype.unbindAll.call(this); }, createInstance: function(a, b) { - var c = N(this), d = V(c, b); - return "function" == typeof HTMLTemplateElement.__instanceCreated && HTMLTemplateElement.__instanceCreated(d), - T(d, a, HTMLTemplateElement.syntax[b]), X(d, a), d; + var c = R(this.ref.content, b); + return "function" == typeof HTMLTemplateElement.__instanceCreated && HTMLTemplateElement.__instanceCreated(c), + P(c, a, HTMLTemplateElement.syntax[b]), T(c, a), c; }, get model() { - return zb.get(this); + return vb.get(this); }, set model(a) { - var b = HTMLTemplateElement.syntax[this.getAttribute(lb)]; - zb.set(this, a), T(this, a, b); + var b = HTMLTemplateElement.syntax[this.getAttribute(hb)]; + vb.set(this, a), P(this, a, b); }, get ref() { var a, b = this.getAttribute("ref"); @@ -2591,16 +2622,18 @@ if (function(a) { var d = c(this); d && (a = d.getElementById(b)); } - return a || (a = wb.get(this)), a || null; + if (a || (a = sb.get(this)), !a) return this; + var e = a.ref; + return e ? e : a; } }); - var Ab = 0, Bb = 1, Cb = new cb("templateInstance"); + var wb = 0, xb = 1, yb = new $("templateInstance"); Object.defineProperty(Node.prototype, "templateInstance", { get: function() { - var a = Cb.get(this); + var a = yb.get(this); return a ? a : this.parentNode ? this.parentNode.templateInstance : void 0; } - }), Y.prototype = { + }), U.prototype = { set combinator(a) { this.combinator_ = a, this.scheduleResolve(); }, @@ -2614,7 +2647,7 @@ if (function(a) { delete this.values[a], b || this.scheduleResolve()); }, scheduleResolve: function() { - sb(this.boundResolve); + ob(this.boundResolve); }, resolve: function() { if (!this.disposed) { @@ -2627,9 +2660,9 @@ if (function(a) { this.unbind(a, !0); }, this), this.disposed = !0, this.value = void 0; } - }, Z.prototype = { + }, V.prototype = { resolveInputs: function(a) { - return kb in a && !a[kb] ? void 0 : jb in a ? a[jb] : ib in a ? [ a[ib] ] : void 0; + return gb in a && !a[gb] ? void 0 : fb in a ? a[fb] : eb in a ? [ a[eb] ] : void 0; }, valueChanged: function(a) { var b = this.iteratedValue; @@ -2639,14 +2672,14 @@ if (function(a) { addedCount: this.iteratedValue.length, removed: Array.isArray(b) ? b : [] }; - (c.addedCount || c.removed.length) && this.handleSplices([ c ]), this.inputs.size || (Db.delete(this), + (c.addedCount || c.removed.length) && this.handleSplices([ c ]), this.inputs.size || (zb.delete(this), this.abandon()); }, getTerminatorAt: function(a) { if (-1 == a) return this.templateElement_; var b = this.terminators[a]; - if (b.nodeType !== Node.ELEMENT_NODE) return b; - var c = Db.get(b); + if (b.nodeType !== Node.ELEMENT_NODE || this.templateElement_ === b) return b; + var c = zb.get(b); return c ? c.getTerminatorAt(c.terminators.length - 1) : b; }, insertInstanceAt: function(a, b) { @@ -2664,7 +2697,7 @@ if (function(a) { return b; }, getInstanceModel: function(a, b, c) { - var d = HTMLTemplateElement.syntax[c], e = d && d[nb]; + var d = HTMLTemplateElement.syntax[c], e = d && d[jb]; return e && "function" == typeof e ? e(a, b) : b; }, getInstanceNodes: function(a, b, c) { @@ -2676,9 +2709,9 @@ if (function(a) { }, handleSplices: function(a) { var b = this.templateElement_; - if (!b.parentNode || !b.ownerDocument.defaultView) return this.abandon(), Db.delete(this), + if (!b.parentNode || !b.ownerDocument.defaultView) return this.abandon(), zb.delete(this), void 0; - var c = b.getAttribute(lb), d = new $(), e = 0; + var c = b.getAttribute(hb), d = new W(), e = 0; a.forEach(function(a) { a.removed.forEach(function(b) { var c = this.extractInstanceAt(a.index + e, c); @@ -2690,7 +2723,7 @@ if (function(a) { this.insertInstanceAt(e, g); } }, this), d.forEach(function(a) { - for (var b = 0; b < a.length; b++) U(a[b]); + for (var b = 0; b < a.length; b++) Q(a[b]); }); }, unobserve: function() { @@ -2704,12 +2737,12 @@ if (function(a) { }), this.inputs.dispose(); } }; - var Db = new cb("templateIterator"); - a.CompoundBinding = Y, Object.defineProperty(HTMLTemplateElement, lb, { + var zb = new $("templateIterator"); + a.CompoundBinding = U, Object.defineProperty(HTMLTemplateElement, hb, { value: {}, enumerable: !0 - }), HTMLTemplateElement.forAllTemplatesFrom_ = G, HTMLTemplateElement.bindAllMustachesFrom_ = T, - HTMLTemplateElement.parseAndBind_ = R; + }), HTMLTemplateElement.forAllTemplatesFrom_ = D, HTMLTemplateElement.bindAllMustachesFrom_ = P, + HTMLTemplateElement.parseAndBind_ = N; }(this), function(a) { function b() { logFlags.data && console.group("Model.dirtyCheck()"), c(), logFlags.data && console.groupEnd(); @@ -2755,7 +2788,7 @@ if (function(a) { }), a.xhr = b; }(window.HTMLImports), function(a) { function b(a) { - return d(a, g); + return d(a, h); } function c(a) { return d(a, "stylesheet"); @@ -2764,58 +2797,69 @@ if (function(a) { return "link" === a.localName && a.getAttribute("rel") === b; } function e(a, b) { - var c = document.implementation.createHTMLDocument(g); + var c = document.implementation.createHTMLDocument(h); c._URL = b; var d = c.createElement("base"); return d.setAttribute("href", document.baseURI), c.head.appendChild(d), c.body.innerHTML = a, c; } + function f() { + i.load(document, function() { + var a = window.ShadowDOMPolyfill ? ShadowDOMPolyfill.wrap(document) : document; + HTMLImports.readyTime = new Date().getTime(), a.body.dispatchEvent(new CustomEvent("HTMLImportsLoaded", { + bubbles: !0 + })); + }); + } a || (a = window.HTMLImports = { flags: {} }); - var f, g = "import", h = { + var g, h = "import", i = { documents: {}, cache: {}, - preloadSelectors: [ "link[rel=" + g + "]", "script[src]", "link[rel=stylesheet]" ].join(","), + preloadSelectors: [ "link[rel=" + h + "]", "script[src]", "link[rel=stylesheet]" ].join(","), + loader: function(a) { + return g = new j(i.loaded, a), g.cache = i.cache, g; + }, load: function(a, b) { - f = new i(h.loaded, b), f.cache = h.cache, h.preload(a); + g = i.loader(b), i.preload(a); }, preload: function(a) { - var c = a.querySelectorAll(h.preloadSelectors); + var c = a.querySelectorAll(i.preloadSelectors); a === document && (c = Array.prototype.filter.call(c, function(a) { return b(a); - })), f.addNodes(c); + })), g.addNodes(c); }, loaded: function(a, d, f) { if (b(d)) { - var g = h.documents[a]; - g || (g = e(f, a), j.resolvePathsInHTML(g), h.documents[a] = g, h.preload(g)), d.content = d.__resource = g; - } else d.__resource = f, c(d) && j.resolvePathsInStylesheet(d); + var g = i.documents[a]; + g || (g = e(f, a), k.resolvePathsInHTML(g), i.documents[a] = g, i.preload(g)), d.content = d.__resource = g; + } else d.__resource = f, c(d) && k.resolvePathsInStylesheet(d); } - }, i = function(a, b) { + }, j = function(a, b) { this.onload = a, this.oncomplete = b, this.inflight = 0, this.pending = {}, this.cache = {}; }; - i.prototype = { + j.prototype = { addNodes: function(a) { - this.inflight += a.length, o(a, this.require, this), this.checkDone(); + this.inflight += a.length, p(a, this.require, this), this.checkDone(); }, require: function(a) { - var b = j.nodeUrl(a); + var b = k.nodeUrl(a); a.__nodeUrl = b, this.dedupe(b, a) || this.fetch(b, a); }, dedupe: function(a, b) { - return this.pending[a] ? (this.pending[a].push(b), !0) : this.cache[a] ? (this.onload(a, b, f.cache[a]), + return this.pending[a] ? (this.pending[a].push(b), !0) : this.cache[a] ? (this.onload(a, b, g.cache[a]), this.tail(), !0) : (this.pending[a] = [ b ], !1); }, fetch: function(a, b) { - n.load(a, function(c, d) { + o.load(a, function(c, d) { this.receive(a, b, c, d); }.bind(this)); }, receive: function(a, b, c, d) { - c || (f.cache[a] = d), f.pending[a].forEach(function(b) { + c || (g.cache[a] = d), g.pending[a].forEach(function(b) { c || this.onload(a, b, d), this.tail(); - }, this), f.pending[a] = null; + }, this), g.pending[a] = null; }, tail: function() { --this.inflight, this.checkDone(); @@ -2824,15 +2868,15 @@ if (function(a) { this.inflight || this.oncomplete(); } }; - var j = { + var k = { nodeUrl: function(a) { - return j.resolveUrl(j.getDocumentUrl(document), j.hrefOrSrc(a)); + return k.resolveUrl(k.getDocumentUrl(document), k.hrefOrSrc(a)); }, hrefOrSrc: function(a) { return a.getAttribute("href") || a.getAttribute("src"); }, documentUrlFromNode: function(a) { - return j.getDocumentUrl(a.ownerDocument); + return k.getDocumentUrl(a.ownerDocument); }, getDocumentUrl: function(a) { var b = a && (a._URL || a.impl && a.impl._URL || a.baseURI || a.URL) || ""; @@ -2841,7 +2885,7 @@ if (function(a) { resolveUrl: function(a, b, c) { if (this.isAbsUrl(b)) return b; var d = this.compressUrl(this.urlToPath(a) + b); - return c && (d = j.makeRelPath(j.getDocumentUrl(document), d)), d; + return c && (d = k.makeRelPath(k.getDocumentUrl(document), d)), d; }, isAbsUrl: function(a) { return /(^data:)|(^http[s]?:)|(^\/)/.test(a); @@ -2864,74 +2908,67 @@ if (function(a) { return g; }, resolvePathsInHTML: function(a) { - var b = j.documentUrlFromNode(a.body); + var b = k.documentUrlFromNode(a.body); window.HTMLTemplateElement && HTMLTemplateElement.bootstrap && HTMLTemplateElement.bootstrap(a); var c = a.body; - j._resolvePathsInHTML(c, b); + k._resolvePathsInHTML(c, b); }, _resolvePathsInHTML: function(a, b) { - if (j.resolveAttributes(a, b), j.resolveStyleElts(a, b), window.templateContent) { + if (k.resolveAttributes(a, b), k.resolveStyleElts(a, b), window.templateContent) { var c = a.querySelectorAll("template"); - c && o(c, function(a) { - j._resolvePathsInHTML(templateContent(a), b); + c && p(c, function(a) { + k._resolvePathsInHTML(templateContent(a), b); }); } }, resolvePathsInStylesheet: function(a) { - var b = j.nodeUrl(a); - a.__resource = j.resolveCssText(a.__resource, b); + var b = k.nodeUrl(a); + a.__resource = k.resolveCssText(a.__resource, b); }, resolveStyleElts: function(a, b) { var c = a.querySelectorAll("style"); - c && o(c, function(a) { - a.textContent = j.resolveCssText(a.textContent, b); + c && p(c, function(a) { + a.textContent = k.resolveCssText(a.textContent, b); }); }, resolveCssText: function(a, b) { return a.replace(/url\([^)]*\)/g, function(a) { var c = a.replace(/["']/g, "").slice(4, -1); - return c = j.resolveUrl(b, c, !0), "url(" + c + ")"; + return c = k.resolveUrl(b, c, !0), "url(" + c + ")"; }); }, resolveAttributes: function(a, b) { - var c = a && a.querySelectorAll(l); - c && o(c, function(a) { + var c = a && a.querySelectorAll(m); + c && p(c, function(a) { this.resolveNodeAttributes(a, b); }, this); }, resolveNodeAttributes: function(a, b) { - k.forEach(function(c) { + l.forEach(function(c) { var d = a.attributes[c]; - if (d && d.value && d.value.search(m) < 0) { - var e = j.resolveUrl(b, d.value, !0); + if (d && d.value && d.value.search(n) < 0) { + var e = k.resolveUrl(b, d.value, !0); d.value = e; } }); } - }, k = [ "href", "src", "action" ], l = "[" + k.join("],[") + "]", m = "{{.*}}", n = a.xhr || { + }, l = [ "href", "src", "action" ], m = "[" + l.join("],[") + "]", n = "{{.*}}", o = a.xhr || { async: !0, ok: function(a) { return a.status >= 200 && a.status < 300 || 304 === a.status || 0 === a.status; }, load: function(b, c, d) { var e = new XMLHttpRequest(); - (a.flags.debug || a.flags.bust) && (b += "?" + Math.random()), e.open("GET", b, n.async), + (a.flags.debug || a.flags.bust) && (b += "?" + Math.random()), e.open("GET", b, o.async), e.addEventListener("readystatechange", function() { - 4 === e.readyState && c.call(d, !n.ok(e) && e, e.response, b); + 4 === e.readyState && c.call(d, !o.ok(e) && e, e.response, b); }), e.send(); } - }, o = Array.prototype.forEach.call.bind(Array.prototype.forEach); - a.xhr = n, a.importer = h, a.getDocumentUrl = j.getDocumentUrl, "function" != typeof window.CustomEvent && (window.CustomEvent = function(a) { + }, p = Array.prototype.forEach.call.bind(Array.prototype.forEach); + a.xhr = o, a.importer = i, a.getDocumentUrl = k.getDocumentUrl, "function" != typeof window.CustomEvent && (window.CustomEvent = function(a) { var b = document.createEvent("HTMLEvents"); return b.initEvent(a, !0, !0), b; - }), document.addEventListener("DOMContentLoaded", function() { - h.load(document, function() { - var a = window.ShadowDOMPolyfill ? ShadowDOMPolyfill.wrap(document) : document; - HTMLImports.readyTime = new Date().getTime(), a.body.dispatchEvent(new CustomEvent("HTMLImportsLoaded", { - bubbles: !0 - })); - }); - }); + }), "complete" === document.readyState || "interactive" === document.readyState ? boostrap() : window.addEventListener("DOMContentLoaded", f); }(window.HTMLImports), function(a) { function b(a) { u.push(a), t || (t = !0, q(d)); @@ -3129,12 +3166,12 @@ if (function(a) { var g = f || {}; if (!b) throw new Error("Name argument must not be empty"); if (g.name = b, !g.prototype) throw new Error("Options missing required prototype property"); - return g.lifecycle = g.lifecycle || {}, g.ancestry = c(g.extends), d(g), e(g), g.prototype.setAttribute = k, - g.prototype.removeAttribute = l, n(b, g), g.ctor = o(g), g.ctor.prototype = g.prototype, + return g.lifecycle = g.lifecycle || {}, g.ancestry = c(g.extends), d(g), e(g), k(g.prototype), + m(b, g), g.ctor = n(g), g.ctor.prototype = g.prototype, g.prototype.constructor = g.ctor, a.ready && a.upgradeAll(document), g.ctor; } function c(a) { - var b = v[a]; + var b = s[a]; return b ? c(b.extends).concat([ b ]) : []; } function d(a) { @@ -3142,11 +3179,17 @@ if (function(a) { a.tag = c || a.name, c && (a.is = a.name); } function e(a) { - if (!Object.__proto__) if (a.is) var b = document.createElement(a.tag), c = Object.getPrototypeOf(b); else c = HTMLElement.prototype; - a.native = c; + if (!Object.__proto__) { + var b = HTMLElement.prototype; + if (a.is) { + var c = document.createElement(a.tag); + b = Object.getPrototypeOf(c); + } + } + a.native = b; } function f(a) { - return g(w(a.tag), a); + return g(t(a.tag), a); } function g(b, c) { return c.is && b.setAttribute("is", c.is), h(b, c), b.__upgraded__ = !0, a.upgradeSubtree(b), @@ -3165,36 +3208,40 @@ if (function(a) { function j(a) { a.readyCallback && a.readyCallback(); } - function k(a, b) { - m.call(this, a, b, t); - } - function l(a, b) { - m.call(this, a, b, u); + function k(a) { + var b = a.setAttribute; + a.setAttribute = function(a, c) { + l.call(this, a, c, b); + }; + var c = a.removeAttribute; + a.removeAttribute = function(a, b) { + l.call(this, a, b, c); + }; } - function m(a, b, c) { + function l(a, b, c) { var d = this.getAttribute(a); c.apply(this, arguments), this.attributeChangedCallback && this.getAttribute(a) !== d && this.attributeChangedCallback(a, d); } - function n(a, b) { - v[a] = b; + function m(a, b) { + s[a] = b; } - function o(a) { + function n(a) { return function() { return f(a); }; } - function p(a) { - var b = v[a]; - return b ? new b.ctor() : w(a); + function o(a) { + var b = s[a]; + return b ? new b.ctor() : t(a); } - function q(a) { + function p(a) { if (!a.__upgraded__ && a.nodeType === Node.ELEMENT_NODE) { - var b = a.getAttribute("is") || a.localName, c = v[b]; + var b = a.getAttribute("is") || a.localName, c = s[b]; return c && g(a, c); } } - function r(b) { - var c = x.call(this, b); + function q(b) { + var c = u.call(this, b); return a.upgradeAll(c), c; } if (a || (a = window.CustomElements = { @@ -3202,12 +3249,12 @@ if (function(a) { }), a.hasNative = (document.webkitRegister || document.register) && "native" === a.flags.register, a.hasNative) { document.register = document.register || document.webkitRegister; - var s = function() {}; - a.registry = {}, a.upgradeElement = s; + var r = function() {}; + a.registry = {}, a.upgradeElement = r; } else { - var t = HTMLElement.prototype.setAttribute, u = HTMLElement.prototype.removeAttribute, v = {}, w = document.createElement.bind(document), x = Node.prototype.cloneNode; - document.register = b, document.createElement = p, Node.prototype.cloneNode = r, - a.registry = v, a.upgrade = q; + var s = {}, t = document.createElement.bind(document), u = Node.prototype.cloneNode; + document.register = b, document.createElement = o, Node.prototype.cloneNode = q, + a.registry = s, a.upgrade = p; } }(window.CustomElements), function(a) { function b(a, c, d) { @@ -3357,24 +3404,15 @@ if (function(a) { var code = "__componentScript('" + inName + "', function(){" + inScript + "});" + "\n//@ sourceURL=" + url + "\n"; eval(code); } - function mixin(a) { - for (var b = a || {}, c = 1; c < arguments.length; c++) { - var d = arguments[c]; - try { - for (var e in d) copyProperty(e, d, b); - } catch (f) {} - } - return b; - } - function copyProperty(a, b, c) { - var d = getPropertyDescriptor(b, a); - Object.defineProperty(c, a, d); - } - function getPropertyDescriptor(a, b) { - if (a) { - var c = Object.getOwnPropertyDescriptor(a, b); - return c || getPropertyDescriptor(Object.getPrototypeOf(a), b); - } + function mixin(a, b) { + a = a || {}; + try { + Object.getOwnPropertyNames(b).forEach(function(c) { + var d = Object.getOwnPropertyDescriptor(b, c); + d && Object.defineProperty(a, c, d); + }); + } catch (c) {} + return a; } var HTMLElementElement = function(a) { return a.register = HTMLElementElement.prototype.register, parseElementElement(a), @@ -3388,7 +3426,7 @@ if (function(a) { var context; window.__componentScript = function(a, b) { b.call(context); - }, window.HTMLElementElement = HTMLElementElement, window.mixin = mixin; + }, window.HTMLElementElement = HTMLElementElement; }(), function() { function a(a) { return !b(a) && a.parentNode && !d(a); @@ -3449,7 +3487,7 @@ if (function(a) { "function" != typeof window.CustomEvent && (window.CustomEvent = function(a) { var b = document.createEvent("HTMLEvents"); return b.initEvent(a, !0, !0), b; - }), window.HTMLImports ? document.addEventListener("HTMLImportsLoaded", a) : window.addEventListener("load", a); + }), window.HTMLImports ? document.addEventListener("HTMLImportsLoaded", a) : "complete" === document.readyState || "interactive" === document.readyState ? boostrap() : window.addEventListener("DOMContentLoaded", a); }(), function() { function a() {} var b = document.createElement("style"); @@ -4544,21 +4582,6 @@ if (function(a) { } } } - function mixin(inObj) { - var obj = inObj || {}; - for (var i = 1; i < arguments.length; i++) { - var p = arguments[i]; - try { - for (var n in p) { - copyProperty(n, p, obj); - } - } catch (x) {} - } - return obj; - } - function copyProperty(inName, inSource, inTarget) { - Object.defineProperty(inTarget, inName, getPropertyDescriptor(inSource, inName)); - } window.$class = $class; window.extend = extend; window.$super = $super; @@ -4573,7 +4596,7 @@ if (function(a) { if (!inElement || !(inElement instanceof HTMLElement)) { throw "First argument to Polymer.register must be an HTMLElement"; } - var prototype = mixin({}, Polymer.base, inPrototype); + var prototype = Platform.mixin({}, Polymer.base, inPrototype); prototype.elementElement = inElement; Polymer.addResolvePath(prototype, inElement); prototype.installTemplate = function() { @@ -4660,6 +4683,7 @@ if (function(a) { return Polymer.job.apply(this, arguments); }, asyncMethod: function(inMethod, inArgs, inTimeout) { + Platform.flush(); var args = inArgs && inArgs.length ? inArgs : [ inArgs ]; var fn = function() { (this[inMethod] || inMethod).apply(this, args); @@ -4915,27 +4939,28 @@ if (function(a) { Object.keys(imperative).forEach(function(p) { inPrototype[p] = imperative[p]; }); - published = mixin(published, imperative); + published = Platform.mixin(published, imperative); } - inPrototype[published$] = mixin({}, inherited[published$], published); + inPrototype[published$] = Platform.mixin({}, inherited[published$], published); } function publishInstanceAttributes(element, prototype) { - var inherited = element.options.prototype, attributes = element.attributes; + var inherited = element.options.prototype; + var attributes = element.attributes; var a$ = prototype.instanceAttributes = Object.create(inherited.instanceAttributes || null); for (var i = 0, l = attributes.length, a; i < l && (a = attributes[i]); i++) { - switch (a.name) { - case "name": - case "extends": - case attributes$: - break; - - default: + if (!publishInstanceAttributes.blackList[a.name]) { if (a.name.slice(0, 3) !== "on-") { a$[a.name] = a.value; } } } } + publishInstanceAttributes.blackList = { + name: 1, + "extends": 1, + constructor: 1 + }; + publishInstanceAttributes.blackList[attributes$] = 1; function installInstanceAttributes() { var a$ = this.instanceAttributes; Object.keys(a$).forEach(function(name) { @@ -5113,12 +5138,11 @@ Polymer.marshalNodeReferences = function(inRoot) { } inEvent.on = prefix + inEvent.type; log.events && console.group("[%s]: listenLocal [%s]", this.localName, inEvent.on); - var path = inEvent.path && inEvent.path(); - if (!path || window.ShadowDOMPolyfill) { - listenLocalPolyfill(inEvent); + if (!inEvent.path || window.ShadowDOMPolyfill) { + listenLocalNoEventPath(inEvent); } else { var c = null; - Array.prototype.some.call(path, function(t) { + Array.prototype.some.call(inEvent.path, function(t) { if (t === this) { return true; } @@ -5132,7 +5156,7 @@ Polymer.marshalNodeReferences = function(inRoot) { } log.events && console.groupEnd(); } - function listenLocalPolyfill(inEvent) { + function listenLocalNoEventPath(inEvent) { log.events && console.log("event.path() not supported for", inEvent.type); var t = inEvent.target, c = null; while (t && t != this) { diff --git a/polymer.sandbox.min.js.map b/polymer.sandbox.min.js.map index c1687a9879..48ab20092e 100644 --- a/polymer.sandbox.min.js.map +++ b/polymer.sandbox.min.js.map @@ -1 +1 @@ -{"version":3,"file":"polymer.sandbox.min.js","sources":["platform/platform.sandbox.min.js","src/lang.js","src/oop.js","src/register.js","src/base.js","src/trackObservers.js","src/bindProperties.js","src/bindMDV.js","src/polymerSyntaxMDV.js","src/attrs.js","src/marshal.js","src/events.js","src/observeProperties.js","src/styling.js","src/shimStyling.js","src/path.js","src/job.js","src/boot.js"],"names":["PointerGestureEvent","a","b","c","d","document","createEvent","e","bubbles","cancelable","Object","keys","forEach","initEvent","preventTap","this","window","Platform","logFlags","flags","location","search","slice","split","shadow","shadowdom","polyfill","HTMLElement","prototype","webkitCreateShadowRoot","SideTable","WeakMap","navigator","userAgent","indexOf","defineProperty","hasOwnProperty","Date","getTime","name","Math","random","set","value","writable","get","call","delete","ShadowDOMPolyfill","Error","getOwnPropertyNames","getOwnPropertyDescriptor","__proto__","getPrototypeOf","y","f","m","j","h","g","A","__lookupGetter__","B","impl","apply","arguments","configurable","enumerable","i","k","l","create","constructor","n","z","EventTarget","Event","DOMImplementation","o","E","D","F","C","p","x","q","r","s","t","u","v","w","test","Node","Window","assert","defineGetter","defineWrapGetter","forwardMethodsToWrapper","isWrapperFor","mixin","registerObject","registerWrapper","rewrap","unwrap","unwrapIfNeeded","wrap","wrapIfNeeded","wrappers","J","ShadowRoot","localName","shadowRoot","parentNode","defaultView","I","length","shift","insertionParent","getHostForShadowRoot","eventParentsTable","getShadowTrees","contains","push","target","currentTarget","pop","L","type","renderAllPending","Document","P","NONE","N","defaultPrevented","CAPTURING_PHASE","AT_TARGET","R","BUBBLING_PHASE","K","H","relatedTarget","O","M","removed","capture","handler","handleEvent","onerror","message","console","error","Q","Boolean","S","G","ab","_","db","eb","equals","remove","eventPhase","stopPropagation","stopImmediatePropagation","T","U","V","W","initMouseEvent","X","initFocusEvent","Y","Z","$","initMutationEvent","relatedNode","MouseEvent","bb","detail","view","screenX","screenY","clientX","clientY","ctrlKey","altKey","shiftKey","metaKey","button","cb","Element","addEventListener","addEventListener_","removeEventListener","removeEventListener_","dispatchEvent","dispatchEvent_","elementFromPoint","adjustRelatedTarget","wrapEventTargetMethods","CustomEvent","FocusEvent","MutationEvent","UIEvent","item","NodeList","addWrapNodeListMethod","wrapNodeList","nodeType","DOCUMENT_FRAGMENT_NODE","removeChild","parentNode_","previousSibling_","nextSibling_","firstChild","createDocumentFragment","appendChild","nextSibling","firstChild_","lastChild_","insertBefore","replaceChild","compareDocumentPosition","invalidateShadowRenderer","lastChild","previousSibling","hasChildNodes","parentElement","ELEMENT_NODE","textContent","ownerDocument","createTextNode","childNodes","cloneNode","querySelector","querySelectorAll","firstElementChild","matches","nextElementSibling","getElementsByTagName","getElementsByClassName","getElementsByTagNameNS","namespaceURI","GetElementsByInterface","SelectorsInterface","lastElementChild","childElementCount","children","previousElementSibling","ChildNodeInterface","ParentNodeInterface","CharacterData","data","mozMatchesSelector","msMatchesSelector","webkitMatchesSelector","createShadowRoot","getRendererForHost","setAttribute","replace","tagName","toLowerCase","attributes","TEXT_NODE","nodeValue","COMMENT_NODE","createElement","innerHTML","area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr","outerHTML","getInnerHTML","setInnerHTML","HTMLContentElement","select","getAttribute","String","olderShadowRoot_","HTMLShadowElement","olderShadowRoot","implementation","createHTMLDocument","HTMLTemplateElement","content","HTMLUnknownElement","createComment","Comment","DocumentFragment","Text","nextOlderShadowTreeTable","getElementById","filter","trim","render","host","dirty","associateNode","RegExp","join","treeComposition","removeAllChildNodes","renderNode","invalidate","renderInsertionPoint","renderShadowInsertionPoint","renderAsAnyDomTree","renderFallbackContent","getDistributedNodes","visual","adoptNode","write","HTMLBodyElement","HTMLDocument","HTMLHeadElement","getComputedStyle","map","MutationObserver","WebKitMutationObserver","MutationRecord","addedNodes","removedNodes","observe","disconnect","takeRecords","applet","audio","body","canvas","dl","datalist","dir","div","fieldset","font","form","frame","frameset","head","h1","html","iframe","li","label","legend","menu","menuitem","meter","del","ol","object","optgroup","option","output","pre","progress","script","span","style","caption","table","tr","thead","tbody","textarea","title","ul","video","knownElements","defineProperties","webkitShadowRoot","templateContent","bootstrap","_content","Function","bind","Array","DOMTokenList","add","toggle","HTMLCollection","performance","now","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","setTimeout","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","clearTimeout","createDOM","Inspector","sinspect","open","api","shadowize","href","idx","onclick","preventDefault","STYLE","SCRIPT","#comment","TEMPLATE","nodeName","Number","log","check","report","added","changed","isArray","callback","reporting","boundInternalCallback","internalCallback","valid","connect","sync","_allObserversCount","walkPropertiesFrom","toString","unobserveCount","unobserve","observeCount","path","observed","observedMap","Map","getPathValue","getNotifier","oldValue","notify","reverse","index","addedCount","min","isNaN","concat","testingResults","anyChanged","close","deliver","deliverChangeRecords","reportArgs","_errorThrownDuringCallback","reset","forceCollectObservers","performMicrotaskCheckpoint","clearObservers","oldObject","applySplices","splice","getValueAtPath","setValueAtPath","new","updated","deleted","Observer","ArrayObserver","ObjectObserver","PathObserver","model","observer","unbind","dispose","unbindAll","removeAttribute","bindingMap","removeAll","fb","element","valueProperty","boundValueChanged","valueChanged","boundUpdateBinding","updateBinding","binding","elements","gb","hb","pb","hasAttribute","qb","rb","decorate","vb","ob","tb","yb","ref","Ab","Bb","mb","combinator","ib","jb","Cb","Db","abandon","lb","firstNode","lastNode","bindings","values","size","combinator_","boundResolve","resolve","disposed","templateElement_","terminators","iteratedValue","arrayObserver","boundHandleSplices","handleSplices","inputs","resolveInputs","documentElement","produceElementValue","postUpdateBinding","HTMLInputElement","sb","HTMLSelectElement","kb","nb","template","repeat","THEAD","TBODY","TFOOT","TH","TR","TD","COLGROUP","COL","CAPTION","OPTION","OPTGROUP","schedule","TypeError","ub","wb","templateIsDecorated_","xb","zb","createInstance","__instanceCreated","syntax","templateInstance","scheduleResolve","getTerminatorAt","insertInstanceAt","extractInstanceAt","getInstanceModel","getInstanceNodes","CompoundBinding","forAllTemplatesFrom_","bindAllMustachesFrom_","parseAndBind_","group","groupEnd","CustomElements","upgradeAll","setInterval","flush","dirtyCheck","HTMLImports","callbacks","load","next","nextContext","parent","postMessage","url","bust","debug","receive","err","resource","xhr","_URL","baseURI","documents","cache","preloadSelectors","loaded","preload","addNodes","resolvePathsInHTML","__resource","resolvePathsInStylesheet","onload","oncomplete","inflight","pending","require","checkDone","nodeUrl","__nodeUrl","dedupe","fetch","tail","resolveUrl","getDocumentUrl","hrefOrSrc","documentUrlFromNode","URL","isAbsUrl","compressUrl","urlToPath","makeRelPath","unshift","_resolvePathsInHTML","resolveAttributes","resolveStyleElts","resolveCssText","resolveNodeAttributes","async","ok","status","XMLHttpRequest","readyState","response","send","importer","readyTime","sort","uid_","callback_","nodes_","removeTransientObservers","options","subtree","enqueue","records_","attributeName","attributeNamespace","transientObservedNodes","msSetImmediate","childList","characterData","attributeOldValue","attributeFilter","characterDataOldValue","SyntaxError","removeListeners","addListeners","addListeners_","removeListeners_","addTransientObserver","attrName","attrChange","ADDITION","prevValue","JsMutationObserver","lifecycle","ancestry","extends","ctor","ready","is","tag","native","__upgraded__","upgradeSubtree","readyCallback","attributeChangedCallback","hasNative","webkitRegister","register","registry","upgradeElement","upgrade","dom","insertedCallback","__inserted","warn","removedCallback","__watched","watchShadow","watchAllShadows","observeDocument","upgradeDocument","parseElementElement","takeAttributes","executeComponentScript","inScript","inContext","inName","context","owner","match","code","eval","copyProperty","getPropertyDescriptor","HTMLElementElement","__componentScript","selectors","parse","__parsed","parseLink","parseScript","parseStyle","parseElement","parser","elapsed","canTarget","targetingShadow","searchRoot","findTarget","targetFinding","PointerEventsPolyfill","rule","buttons","which","pressure","pointerId","width","height","tiltX","tiltY","pointerType","hwTimestamp","isPrimary","PointerEvent","ids","pointers","has","clear","PointerMap","targets","handledEvents","scrollType","pointermap","events","eventMap","eventSources","registerSource","registerTarget","listen","boundHandler","unregisterTarget","unlisten","down","fireEvent","move","up","enter","leave","over","out","cancel","leaveOut","enterOver","eventHandler","addEvent","removeEvent","makeEvent","cloneEvent","getTarget","captureInfo","id","setCapture","releaseCapture","implicitRelease","asyncDispatchEvent","dispatcher","ATTRIB","SELECTOR","EMITTER","XSCROLLER","YSCROLLER","SCROLLER","OBSERVER_INIT","watchSubtree","enableOnSubtree","installOnLoad","installNewSubtree","findElements","addElement","touchActionToScrollType","exec","removeElement","elementChanged","concatLists","flattenMutationTree","reduce","mutationWatcher","mutationHandler","installer","setTouchAction","POINTER_TYPE","firstTouch","isPrimaryTouch","identifier","setPrimaryTouch","firstXY","scrolling","removePrimaryTouch","touchToPointer","webkitRadiusX","radiusX","webkitRadiusY","radiusY","webkitForce","force","processTouches","changedTouches","shouldScroll","abs","findTouch","vacuumTouches","touches","cancelOut","touchstart","dedupSynthMouse","overDown","outTarget","touchmove","touchcancel","moveOverOut","touchend","upOut","cleanUpPointer","lastTouches","POINTER_ID","global","mouseHandler","isEventSimulatedFromTouch","prepareEvent","mousedown","mousemove","mouseup","cleanupMouse","mouseover","mouseout","POINTER_TYPES","cleanup","MSPointerDown","MSPointerMove","MSPointerUp","MSPointerOut","MSPointerOver","MSPointerCancel","MSLostPointerCapture","MSGotPointerCapture","pointerEnabled","msPointerEnabled","msMaxTouchPoints","msSetPointerCapture","msReleasePointerCapture","setPointerCapture","releasePointerCapture","tapPrevented","utils","LCA","find","depth","walk","findLCA","PointerGestures","handlers","recognizers","registerRecognizer","addHandler","makeQueue","runQueue","currentPointerId","inTarget","tap","HOLD_DELAY","WIGGLE_THRESHOLD","heldPointer","holdJob","pulse","timeStamp","held","fireHold","clearInterval","pointerdown","pointerup","pointercancel","pointermove","holdTime","clampDir","calcPositionDelta","pageX","pageY","fireTrack","downEvent","lastMoveEvent","xDirection","yDirection","dx","dy","ddx","ddy","trackInfo","_releaseTarget","downTarget","tracking","MIN_VELOCITY","MAX_QUEUE","moveQueue","addMove","fireFlick","sqrt","calcAngle","xVelocity","yVelocity","velocity","angle","majorAxis","atan2","PI","$class","inExtends","inProperties","super","basePrototype","extend","$super","inBasePrototype","getPropertyDescriptors","inObject","descriptors","inArgs","caller","nom","_nom","nameInThis","memoizeSuper","_super","fn","nextSuper","inProto","inCaller","proto","inMethod","inValue","inObj","obj","inSource","inElement","inPrototype","Polymer","elementElement","addResolvePath","installTemplate","staticInstallTemplate","parseHostEvents","publishAttributes","installSheets","shimStyling","comps","instanceReady","root","applyAuthorStyles","rootCreated","inRoot","marshalNodeReferences","rootEvents","accumulateEvents","bindAccumulatedLocalEvents","observeProperties","installInstanceAttributes","hostEvents","accumulateHostEvents","bindAccumulatedHostEvents","findDistributedTarget","inNodes","scope","isPolymerElement","job","asyncMethod","inTimeout","args","dispatch","inMethodName","inArguments","fire","inType","inDetail","inToNode","node","asyncFire","classFollows","anew","old","className","classList","asend","trackingTable","registerObserver","o$","getObserversOfType","unregisterObserver","$o","lcName","unregisterObserversOfType","key","b$","bindProperties","inA","inProperty","inB","inPath","undefined","registerBinding","unregisterBinding","overrideBinding","originalBind","originalUnbind","emptyBindings","getBindings","getBinding","property","propertyForAttribute","unbindModel","child","mustachePattern","bindPattern","Scope","repeatPattern","createBindRepeatBinding","scopeName","scopePath","templateScopeTable","createStringIfTruthyBinding","scopeInfo","published$","attributes$","attrProps$","publishAttributesAttributes","publishInstanceAttributes","published","names","inherited","imperative","a$","instanceAttributes","defaultValue","deserializeValue","properties","lowerCase","inferredType","float","parseFloat","nodes","prefix","inAttributes","eventDelegates","parseEvents","inNode","inEvents","accumulateNodeEvents","accumulateChildEvents","accumulateTemplatedEvents","accumulateEvent","event_translations","webkitanimationstart","webkitanimationend","webkittransitionend","domfocusout","domfocusin","cn$","getTemplateContent","inTemplate","bindAccumulatedEvents","inListener","listenHost","listenLocal","findController","inHandlerName","inEvent","cancelBubble","on","listenLocalPolyfill","some","handleHostEvent","eventHandledTable","getHandledListForEvent","handledList","findHostHandler","inEventName","OBSERVE_SUFFIX","observeProperty","isObservable","inNew","inOld","propertyChanged","inOldValue","doc","installLocalSheets","installGlobalStyles","sheets","findInElement","SHEET_SELECTOR","SCOPE_ATTR","elementTemplateContent","sheet","fragment","createStyleElementFromSheet","applyStylesToScope","findStyles","installControllerStyles","controllerStyles","styles","queue","findStyleController","shimPolyfillDirectives","list","inFn","queueFlush","flushing","eltProto","matchesSelector","inSelector","descriptor","styleList","selector","matcher","STYLE_SELECTOR","arrayFromNodeList","templateNodes","nodeList","stylizer","hostRuleRe","selectorRe","hostFixableRe","cssCommentRe","cssPolyfillCommentRe","selectorReSuffix","hostRe","cacheDefinition","applyShimming","stylesForElement","shimShadowDOMStyling","shimAtHost","shimScoping","extendee","findExtendee","extendeeStyles","convertPolyfillDirectives","cssText","convertAtHostStyles","addCssToDocument","applyPseudoScoping","substring","lastIndex","findAtHostRules","cssRules","isHostRule","cssRule","selectorText","CSSRule","WEBKIT_KEYFRAMES_RULE","stylesToCssText","scopeHostCss","rulesToCss","cssToRules","scopeHostSelector","parts","rules","pseudoScopeRules","pseudoScopeSelector","media","mediaText","preserveComments","stripCssComments","css","getSheet","calcElementPath","resolvePath","inUrl","Job","go","inCallback","inWait","handle","stop","complete","inJob","webkitTransition","opacity"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"polymer.sandbox.min.js","sources":["../platform/platform.sandbox.min.js","src/lang.js","src/oop.js","src/register.js","src/base.js","src/trackObservers.js","src/bindProperties.js","src/bindMDV.js","src/polymerSyntaxMDV.js","src/attrs.js","src/marshal.js","src/events.js","src/observeProperties.js","src/styling.js","src/shimStyling.js","src/path.js","src/job.js","src/boot.js"],"names":["PointerGestureEvent","a","b","c","d","document","createEvent","e","bubbles","cancelable","Object","keys","forEach","initEvent","preventTap","this","window","Platform","logFlags","flags","location","search","slice","split","shadow","shadowdom","polyfill","HTMLElement","prototype","webkitCreateShadowRoot","SideTable","WeakMap","navigator","userAgent","indexOf","defineProperty","hasOwnProperty","Date","getTime","name","Math","random","set","value","writable","get","call","delete","ShadowDOMPolyfill","Error","getOwnPropertyNames","getOwnPropertyDescriptor","__proto__","getPrototypeOf","y","f","m","j","h","g","A","__lookupGetter__","B","impl","apply","arguments","configurable","enumerable","i","k","l","create","constructor","n","z","EventTarget","Event","DOMImplementation","o","E","D","F","C","p","x","q","r","s","t","u","v","w","test","Node","Window","assert","defineGetter","defineWrapGetter","forwardMethodsToWrapper","isWrapperFor","mixin","registerObject","registerWrapper","rewrap","unwrap","unwrapIfNeeded","wrap","wrapIfNeeded","wrappers","J","ShadowRoot","localName","shadowRoot","parentNode","defaultView","I","length","shift","insertionParent","getHostForShadowRoot","eventParentsTable","getShadowTrees","contains","push","target","currentTarget","pop","L","type","renderAllPending","Document","P","NONE","N","defaultPrevented","CAPTURING_PHASE","AT_TARGET","R","BUBBLING_PHASE","K","H","relatedTarget","O","M","removed","capture","handler","handleEvent","onerror","message","console","error","Q","Boolean","S","G","ab","_","db","eb","equals","remove","eventPhase","stopPropagation","stopImmediatePropagation","T","U","V","W","initMouseEvent","X","initFocusEvent","Y","Z","$","initMutationEvent","relatedNode","MouseEvent","bb","detail","view","screenX","screenY","clientX","clientY","ctrlKey","altKey","shiftKey","metaKey","button","cb","Element","addEventListener","addEventListener_","removeEventListener","removeEventListener_","dispatchEvent","dispatchEvent_","elementFromPoint","adjustRelatedTarget","wrapEventTargetMethods","CustomEvent","FocusEvent","MutationEvent","UIEvent","item","NodeList","addWrapNodeListMethod","wrapNodeList","nodeType","DOCUMENT_FRAGMENT_NODE","removeChild","parentNode_","previousSibling_","nextSibling_","firstChild","createDocumentFragment","appendChild","nextSibling","firstChild_","lastChild_","insertBefore","replaceChild","compareDocumentPosition","invalidateShadowRenderer","lastChild","previousSibling","hasChildNodes","parentElement","ELEMENT_NODE","textContent","ownerDocument","createTextNode","childNodes","cloneNode","querySelector","querySelectorAll","firstElementChild","matches","nextElementSibling","getElementsByTagName","getElementsByClassName","getElementsByTagNameNS","namespaceURI","GetElementsByInterface","SelectorsInterface","lastElementChild","childElementCount","children","previousElementSibling","ChildNodeInterface","ParentNodeInterface","CharacterData","data","mozMatchesSelector","msMatchesSelector","webkitMatchesSelector","createShadowRoot","getRendererForHost","setAttribute","replace","tagName","toLowerCase","attributes","TEXT_NODE","nodeValue","COMMENT_NODE","createElement","innerHTML","area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr","outerHTML","getInnerHTML","setInnerHTML","HTMLContentElement","select","getAttribute","String","olderShadowRoot_","HTMLShadowElement","olderShadowRoot","implementation","createHTMLDocument","HTMLTemplateElement","content","HTMLUnknownElement","createComment","Comment","DocumentFragment","Text","nextOlderShadowTreeTable","getElementById","filter","trim","render","host","dirty","associateNode","RegExp","join","treeComposition","removeAllChildNodes","renderNode","invalidate","renderInsertionPoint","renderShadowInsertionPoint","renderAsAnyDomTree","renderFallbackContent","getDistributedNodes","visual","adoptNode","write","HTMLBodyElement","HTMLDocument","HTMLHeadElement","getComputedStyle","map","MutationObserver","WebKitMutationObserver","MutationRecord","addedNodes","removedNodes","observe","disconnect","takeRecords","applet","audio","body","canvas","dl","datalist","dir","div","fieldset","font","form","frame","frameset","head","h1","html","iframe","li","label","legend","menu","menuitem","meter","del","ol","object","optgroup","option","output","pre","progress","script","span","style","caption","table","tr","thead","tbody","textarea","title","ul","video","knownElements","defineProperties","webkitShadowRoot","templateContent","bootstrap","_content","Function","bind","Array","DOMTokenList","add","toggle","HTMLCollection","performance","now","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","setTimeout","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","clearTimeout","createDOM","Inspector","sinspect","open","api","shadowize","href","idx","onclick","preventDefault","STYLE","SCRIPT","#comment","TEMPLATE","nodeName","Number","log","check","report","added","changed","isArray","callback","reporting","boundInternalCallback","internalCallback","valid","connect","sync","_allObserversCount","walkPropertiesFrom","toString","unobserveCount","unobserve","observeCount","path","observed","observedMap","Map","getPathValue","getNotifier","oldValue","notify","reverse","index","addedCount","min","splice","JSON","stringify","concat","isNaN","testingResults","anyChanged","close","deliver","deliverChangeRecords","reportArgs","_errorThrownDuringCallback","reset","forceCollectObservers","performMicrotaskCheckpoint","clearObservers","oldObject","applySplices","getValueAtPath","setValueAtPath","new","updated","deleted","Observer","ArrayObserver","ObjectObserver","PathObserver","model","observer","unbind","dispose","unbindAll","removeAttribute","bindingMap","removeAll","element","valueProperty","boundValueChanged","valueChanged","boundUpdateBinding","updateBinding","binding","elements","lb","hasAttribute","mb","nb","decorate","rb","kb","pb","ub","wb","xb","ib","combinator","fb","yb","zb","abandon","hb","firstNode","lastNode","bindings","values","size","combinator_","boundResolve","resolve","disposed","templateElement_","terminators","iteratedValue","arrayObserver","boundHandleSplices","handleSplices","inputs","resolveInputs","documentElement","produceElementValue","postUpdateBinding","HTMLInputElement","ob","HTMLSelectElement","HTMLTextAreaElement","gb","jb","template","repeat","ref","THEAD","TBODY","TFOOT","TH","TR","TD","COLGROUP","COL","CAPTION","OPTION","OPTGROUP","schedule","TypeError","qb","sb","templateIsDecorated_","tb","vb","createInstance","__instanceCreated","syntax","templateInstance","scheduleResolve","getTerminatorAt","insertInstanceAt","extractInstanceAt","getInstanceModel","getInstanceNodes","CompoundBinding","forAllTemplatesFrom_","bindAllMustachesFrom_","parseAndBind_","group","groupEnd","CustomElements","upgradeAll","setInterval","flush","dirtyCheck","HTMLImports","callbacks","load","next","nextContext","parent","postMessage","url","bust","debug","receive","err","resource","xhr","_URL","baseURI","readyTime","documents","cache","preloadSelectors","loader","loaded","preload","addNodes","resolvePathsInHTML","__resource","resolvePathsInStylesheet","onload","oncomplete","inflight","pending","require","checkDone","nodeUrl","__nodeUrl","dedupe","fetch","tail","resolveUrl","getDocumentUrl","hrefOrSrc","documentUrlFromNode","URL","isAbsUrl","compressUrl","urlToPath","makeRelPath","unshift","_resolvePathsInHTML","resolveAttributes","resolveStyleElts","resolveCssText","resolveNodeAttributes","async","ok","status","XMLHttpRequest","readyState","response","send","importer","boostrap","sort","uid_","callback_","nodes_","removeTransientObservers","options","subtree","enqueue","records_","attributeName","attributeNamespace","transientObservedNodes","msSetImmediate","childList","characterData","attributeOldValue","attributeFilter","characterDataOldValue","SyntaxError","removeListeners","addListeners","addListeners_","removeListeners_","addTransientObserver","attrName","attrChange","ADDITION","prevValue","JsMutationObserver","lifecycle","ancestry","extends","ctor","ready","is","tag","native","__upgraded__","upgradeSubtree","readyCallback","attributeChangedCallback","hasNative","webkitRegister","register","registry","upgradeElement","upgrade","dom","insertedCallback","__inserted","warn","removedCallback","__watched","watchShadow","watchAllShadows","observeDocument","upgradeDocument","parseElementElement","takeAttributes","executeComponentScript","inScript","inContext","inName","context","owner","match","code","eval","HTMLElementElement","__componentScript","selectors","parse","__parsed","parseLink","parseScript","parseStyle","parseElement","parser","elapsed","canTarget","targetingShadow","searchRoot","findTarget","targetFinding","PointerEventsPolyfill","rule","buttons","which","pressure","pointerId","width","height","tiltX","tiltY","pointerType","hwTimestamp","isPrimary","PointerEvent","ids","pointers","has","clear","PointerMap","targets","handledEvents","scrollType","pointermap","events","eventMap","eventSources","registerSource","registerTarget","listen","boundHandler","unregisterTarget","unlisten","down","fireEvent","move","up","enter","leave","over","out","cancel","leaveOut","enterOver","eventHandler","addEvent","removeEvent","makeEvent","cloneEvent","getTarget","captureInfo","id","setCapture","releaseCapture","implicitRelease","asyncDispatchEvent","dispatcher","ATTRIB","SELECTOR","EMITTER","XSCROLLER","YSCROLLER","SCROLLER","OBSERVER_INIT","watchSubtree","enableOnSubtree","installOnLoad","installNewSubtree","findElements","addElement","touchActionToScrollType","exec","removeElement","elementChanged","concatLists","flattenMutationTree","reduce","mutationWatcher","mutationHandler","installer","setTouchAction","POINTER_TYPE","firstTouch","isPrimaryTouch","identifier","setPrimaryTouch","firstXY","scrolling","removePrimaryTouch","touchToPointer","webkitRadiusX","radiusX","webkitRadiusY","radiusY","webkitForce","force","processTouches","changedTouches","shouldScroll","abs","findTouch","vacuumTouches","touches","cancelOut","touchstart","dedupSynthMouse","overDown","outTarget","touchmove","touchcancel","moveOverOut","touchend","upOut","cleanUpPointer","lastTouches","POINTER_ID","global","mouseHandler","isEventSimulatedFromTouch","prepareEvent","mousedown","mousemove","mouseup","cleanupMouse","mouseover","mouseout","POINTER_TYPES","cleanup","MSPointerDown","MSPointerMove","MSPointerUp","MSPointerOut","MSPointerOver","MSPointerCancel","MSLostPointerCapture","MSGotPointerCapture","pointerEnabled","msPointerEnabled","msMaxTouchPoints","msSetPointerCapture","msReleasePointerCapture","setPointerCapture","releasePointerCapture","tapPrevented","utils","LCA","find","depth","walk","findLCA","PointerGestures","handlers","recognizers","registerRecognizer","addHandler","makeQueue","runQueue","currentPointerId","inTarget","tap","HOLD_DELAY","WIGGLE_THRESHOLD","heldPointer","holdJob","pulse","timeStamp","held","fireHold","clearInterval","pointerdown","pointerup","pointercancel","pointermove","holdTime","clampDir","calcPositionDelta","pageX","pageY","fireTrack","downEvent","lastMoveEvent","xDirection","yDirection","dx","dy","ddx","ddy","trackInfo","_releaseTarget","downTarget","tracking","MIN_VELOCITY","MAX_QUEUE","moveQueue","addMove","fireFlick","sqrt","calcAngle","xVelocity","yVelocity","velocity","angle","majorAxis","atan2","PI","$class","inExtends","inProperties","super","basePrototype","extend","$super","inBasePrototype","getPropertyDescriptors","inObject","descriptors","getPropertyDescriptor","inArgs","caller","nom","_nom","nameInThis","memoizeSuper","_super","fn","nextSuper","inProto","inCaller","proto","inMethod","inValue","inElement","inPrototype","Polymer","elementElement","addResolvePath","installTemplate","staticInstallTemplate","parseHostEvents","publishAttributes","installSheets","shimStyling","comps","instanceReady","root","applyAuthorStyles","rootCreated","inRoot","marshalNodeReferences","rootEvents","accumulateEvents","bindAccumulatedLocalEvents","observeProperties","installInstanceAttributes","hostEvents","accumulateHostEvents","bindAccumulatedHostEvents","findDistributedTarget","inNodes","scope","isPolymerElement","job","asyncMethod","inTimeout","args","dispatch","inMethodName","inArguments","fire","inType","inDetail","inToNode","node","asyncFire","classFollows","anew","old","className","classList","asend","trackingTable","registerObserver","o$","getObserversOfType","unregisterObserver","$o","lcName","unregisterObserversOfType","key","b$","bindProperties","inA","inProperty","inB","inPath","undefined","registerBinding","unregisterBinding","overrideBinding","originalBind","originalUnbind","emptyBindings","getBindings","getBinding","property","propertyForAttribute","unbindModel","child","mustachePattern","bindPattern","Scope","repeatPattern","createBindRepeatBinding","scopeName","scopePath","templateScopeTable","createStringIfTruthyBinding","scopeInfo","published$","attributes$","attrProps$","publishAttributesAttributes","publishInstanceAttributes","published","names","inherited","imperative","a$","instanceAttributes","blackList","defaultValue","deserializeValue","properties","lowerCase","inferredType","float","parseFloat","nodes","prefix","inAttributes","eventDelegates","parseEvents","inNode","inEvents","accumulateNodeEvents","accumulateChildEvents","accumulateTemplatedEvents","accumulateEvent","event_translations","webkitanimationstart","webkitanimationend","webkittransitionend","domfocusout","domfocusin","cn$","getTemplateContent","inTemplate","bindAccumulatedEvents","inListener","listenHost","listenLocal","findController","inHandlerName","inEvent","cancelBubble","on","listenLocalNoEventPath","some","handleHostEvent","eventHandledTable","getHandledListForEvent","handledList","findHostHandler","inEventName","OBSERVE_SUFFIX","observeProperty","isObservable","inNew","inOld","propertyChanged","inOldValue","doc","installLocalSheets","installGlobalStyles","sheets","findInElement","SHEET_SELECTOR","SCOPE_ATTR","elementTemplateContent","sheet","fragment","createStyleElementFromSheet","applyStylesToScope","findStyles","installControllerStyles","controllerStyles","styles","queue","findStyleController","shimPolyfillDirectives","list","inFn","queueFlush","flushing","eltProto","matchesSelector","inSelector","descriptor","styleList","selector","matcher","STYLE_SELECTOR","arrayFromNodeList","templateNodes","nodeList","stylizer","hostRuleRe","selectorRe","hostFixableRe","cssCommentRe","cssPolyfillCommentRe","selectorReSuffix","hostRe","cacheDefinition","applyShimming","stylesForElement","shimShadowDOMStyling","shimAtHost","shimScoping","extendee","findExtendee","extendeeStyles","convertPolyfillDirectives","cssText","convertAtHostStyles","addCssToDocument","applyPseudoScoping","substring","lastIndex","findAtHostRules","cssRules","isHostRule","cssRule","selectorText","CSSRule","WEBKIT_KEYFRAMES_RULE","stylesToCssText","scopeHostCss","rulesToCss","cssToRules","scopeHostSelector","parts","rules","pseudoScopeRules","pseudoScopeSelector","media","mediaText","preserveComments","stripCssComments","css","getSheet","calcElementPath","resolvePath","inUrl","Job","go","inCallback","inWait","handle","stop","complete","inJob","webkitTransition","opacity"],"mappings":"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"} \ No newline at end of file diff --git a/src/attrs.js b/src/attrs.js index ac6a325425..8a024fd140 100644 --- a/src/attrs.js +++ b/src/attrs.js @@ -39,8 +39,8 @@ } // our suffix prototype chain (inPrototype is 'own') var inherited = inElement.options.prototype; - // install 'attributes' properties on the prototype, unless they - // are already defaulted + // install 'attributes' as properties on the prototype, but don't + // override Object.keys(published).forEach(function(p) { if (!(p in inPrototype) && !(p in inherited)) { inPrototype[p] = published[p]; @@ -54,10 +54,10 @@ inPrototype[p] = imperative[p]; }); // combine declaratively and imperatively published properties - published = mixin(published, imperative); + published = Platform.mixin(published, imperative); } // combine with inherited published properties - inPrototype[published$] = mixin( + inPrototype[published$] = Platform.mixin( {}, inherited[published$], published @@ -66,22 +66,22 @@ function publishInstanceAttributes(element, prototype) { // our suffix prototype chain (prototype is 'own') - var inherited = element.options.prototype, attributes = element.attributes; - var a$ = prototype.instanceAttributes = Object.create(inherited.instanceAttributes || null); + var inherited = element.options.prototype; + var attributes = element.attributes; + var a$ = prototype.instanceAttributes = + Object.create(inherited.instanceAttributes || null); for (var i=0, l=attributes.length, a; (i +