UNPKG

plotly.js

Version:

The open source javascript graphing library that powers plotly

18 lines 1.95 MB
/** * plotly.js (mapbox - minified) v3.5.0 * Copyright 2012-2026, Plotly, Inc. * All rights reserved. * Licensed under the MIT license */ ( function(root, factory) { if (typeof module === "object" && module.exports) { module.exports = factory(); } else { root.moduleName = factory(); } } (typeof self !== "undefined" ? self : this, () => { "use strict";var Plotly=(()=>{var hj=Object.defineProperty,vj=Object.defineProperties;var dj=Object.getOwnPropertyDescriptors;var A7=Object.getOwnPropertySymbols;var pj=Object.prototype.hasOwnProperty,mj=Object.prototype.propertyIsEnumerable;var M7=(e,t,r)=>t in e?hj(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,sd=(e,t)=>{for(var r in t||(t={}))pj.call(t,r)&&M7(e,r,t[r]);if(A7)for(var r of A7(t))mj.call(t,r)&&M7(e,r,t[r]);return e},e_=(e,t)=>vj(e,dj(t));var pe=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var t_=pe(S7=>{"use strict";S7.version="3.5.0"});var C7=pe((k7,r_)=>{(function(t,r,i){r[t]=r[t]||i(),typeof r_!="undefined"&&r_.exports&&(r_.exports=r[t])})("Promise",typeof window!="undefined"?window:k7,function(){"use strict";var t,r,i,a=Object.prototype.toString,s=typeof setImmediate!="undefined"?function(O){return setImmediate(O)}:setTimeout;try{Object.defineProperty({},"x",{}),t=function(O,q,z,N){return Object.defineProperty(O,q,{value:z,writable:!0,configurable:N!==!1})}}catch(I){t=function(q,z,N){return q[z]=N,q}}i=function(){var O,q,z;function N(H,V){this.fn=H,this.self=V,this.next=void 0}return{add:function(V,W){z=new N(V,W),q?q.next=z:O=z,q=z,z=void 0},drain:function(){var V=O;for(O=q=r=void 0;V;)V.fn.call(V.self),V=V.next}}}();function l(I,O){i.add(I,O),r||(r=s(i.drain))}function u(I){var O,q=typeof I;return I!=null&&(q=="object"||q=="function")&&(O=I.then),typeof O=="function"?O:!1}function h(){for(var I=0;I<this.chain.length;I++)v(this,this.state===1?this.chain[I].success:this.chain[I].failure,this.chain[I]);this.chain.length=0}function v(I,O,q){var z,N;try{O===!1?q.reject(I.msg):(O===!0?z=I.msg:z=O.call(void 0,I.msg),z===q.promise?q.reject(TypeError("Promise-chain cycle")):(N=u(z))?N.call(z,q.resolve,q.reject):q.resolve(z))}catch(H){q.reject(H)}}function m(I){var O,q=this;if(!q.triggered){q.triggered=!0,q.def&&(q=q.def);try{(O=u(I))?l(function(){var z=new M(q);try{O.call(I,function(){m.apply(z,arguments)},function(){_.apply(z,arguments)})}catch(N){_.call(z,N)}}):(q.msg=I,q.state=1,q.chain.length>0&&l(h,q))}catch(z){_.call(new M(q),z)}}}function _(I){var O=this;O.triggered||(O.triggered=!0,O.def&&(O=O.def),O.msg=I,O.state=2,O.chain.length>0&&l(h,O))}function T(I,O,q,z){for(var N=0;N<O.length;N++)(function(V){I.resolve(O[V]).then(function(J){q(V,J)},z)})(N)}function M(I){this.def=I,this.triggered=!1}function C(I){this.promise=I,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function E(I){if(typeof I!="function")throw TypeError("Not a function");if(this.__NPO__!==0)throw TypeError("Not a promise");this.__NPO__=1;var O=new C(this);this.then=function(z,N){var H={success:typeof z=="function"?z:!0,failure:typeof N=="function"?N:!1};return H.promise=new this.constructor(function(W,J){if(typeof W!="function"||typeof J!="function")throw TypeError("Not a function");H.resolve=W,H.reject=J}),O.chain.push(H),O.state!==0&&l(h,O),H.promise},this.catch=function(z){return this.then(void 0,z)};try{I.call(void 0,function(z){m.call(O,z)},function(z){_.call(O,z)})}catch(q){_.call(O,q)}}var L=t({},"constructor",E,!1);return E.prototype=L,t(L,"__NPO__",0,!1),t(E,"resolve",function(O){var q=this;return O&&typeof O=="object"&&O.__NPO__===1?O:new q(function(N,H){if(typeof N!="function"||typeof H!="function")throw TypeError("Not a function");N(O)})}),t(E,"reject",function(O){return new this(function(z,N){if(typeof z!="function"||typeof N!="function")throw TypeError("Not a function");N(O)})}),t(E,"all",function(O){var q=this;return a.call(O)!="[object Array]"?q.reject(TypeError("Not an array")):O.length===0?q.resolve([]):new q(function(N,H){if(typeof N!="function"||typeof H!="function")throw TypeError("Not a function");var V=O.length,W=Array(V),J=0;T(q,O,function(ie,oe){W[ie]=oe,++J===V&&N(W)},H)})}),t(E,"race",function(O){var q=this;return a.call(O)!="[object Array]"?q.reject(TypeError("Not an array")):new q(function(N,H){if(typeof N!="function"||typeof H!="function")throw TypeError("Not a function");T(q,O,function(W,J){N(J)},H)})}),E})});var Xa=pe((tye,a_)=>{(function(){var e={version:"3.8.2"},t=[].slice,r=function(y){return t.call(y)},i=self.document;function a(y){return y&&(y.ownerDocument||y.document||y).documentElement}function s(y){return y&&(y.ownerDocument&&y.ownerDocument.defaultView||y.document&&y||y.defaultView)}if(i)try{r(i.documentElement.childNodes)[0].nodeType}catch(y){r=function(S){for(var P=S.length,B=new Array(P);P--;)B[P]=S[P];return B}}if(Date.now||(Date.now=function(){return+new Date}),i)try{i.createElement("DIV").style.setProperty("opacity",0,"")}catch(y){var l=this.Element.prototype,u=l.setAttribute,h=l.setAttributeNS,v=this.CSSStyleDeclaration.prototype,m=v.setProperty;l.setAttribute=function(S,P){u.call(this,S,P+"")},l.setAttributeNS=function(S,P,B){h.call(this,S,P,B+"")},v.setProperty=function(S,P,B){m.call(this,S,P+"",B)}}e.ascending=_;function _(y,S){return y<S?-1:y>S?1:y>=S?0:NaN}e.descending=function(y,S){return S<y?-1:S>y?1:S>=y?0:NaN},e.min=function(y,S){var P=-1,B=y.length,U,Z;if(arguments.length===1){for(;++P<B;)if((Z=y[P])!=null&&Z>=Z){U=Z;break}for(;++P<B;)(Z=y[P])!=null&&U>Z&&(U=Z)}else{for(;++P<B;)if((Z=S.call(y,y[P],P))!=null&&Z>=Z){U=Z;break}for(;++P<B;)(Z=S.call(y,y[P],P))!=null&&U>Z&&(U=Z)}return U},e.max=function(y,S){var P=-1,B=y.length,U,Z;if(arguments.length===1){for(;++P<B;)if((Z=y[P])!=null&&Z>=Z){U=Z;break}for(;++P<B;)(Z=y[P])!=null&&Z>U&&(U=Z)}else{for(;++P<B;)if((Z=S.call(y,y[P],P))!=null&&Z>=Z){U=Z;break}for(;++P<B;)(Z=S.call(y,y[P],P))!=null&&Z>U&&(U=Z)}return U},e.extent=function(y,S){var P=-1,B=y.length,U,Z,$;if(arguments.length===1){for(;++P<B;)if((Z=y[P])!=null&&Z>=Z){U=$=Z;break}for(;++P<B;)(Z=y[P])!=null&&(U>Z&&(U=Z),$<Z&&($=Z))}else{for(;++P<B;)if((Z=S.call(y,y[P],P))!=null&&Z>=Z){U=$=Z;break}for(;++P<B;)(Z=S.call(y,y[P],P))!=null&&(U>Z&&(U=Z),$<Z&&($=Z))}return[U,$]};function T(y){return y===null?NaN:+y}function M(y){return!isNaN(y)}e.sum=function(y,S){var P=0,B=y.length,U,Z=-1;if(arguments.length===1)for(;++Z<B;)M(U=+y[Z])&&(P+=U);else for(;++Z<B;)M(U=+S.call(y,y[Z],Z))&&(P+=U);return P},e.mean=function(y,S){var P=0,B=y.length,U,Z=-1,$=B;if(arguments.length===1)for(;++Z<B;)M(U=T(y[Z]))?P+=U:--$;else for(;++Z<B;)M(U=T(S.call(y,y[Z],Z)))?P+=U:--$;if($)return P/$},e.quantile=function(y,S){var P=(y.length-1)*S+1,B=Math.floor(P),U=+y[B-1],Z=P-B;return Z?U+Z*(y[B]-U):U},e.median=function(y,S){var P=[],B=y.length,U,Z=-1;if(arguments.length===1)for(;++Z<B;)M(U=T(y[Z]))&&P.push(U);else for(;++Z<B;)M(U=T(S.call(y,y[Z],Z)))&&P.push(U);if(P.length)return e.quantile(P.sort(_),.5)},e.variance=function(y,S){var P=y.length,B=0,U,Z,$=0,X=-1,ae=0;if(arguments.length===1)for(;++X<P;)M(U=T(y[X]))&&(Z=U-B,B+=Z/++ae,$+=Z*(U-B));else for(;++X<P;)M(U=T(S.call(y,y[X],X)))&&(Z=U-B,B+=Z/++ae,$+=Z*(U-B));if(ae>1)return $/(ae-1)},e.deviation=function(){var y=e.variance.apply(this,arguments);return y&&Math.sqrt(y)};function C(y){return{left:function(S,P,B,U){for(arguments.length<3&&(B=0),arguments.length<4&&(U=S.length);B<U;){var Z=B+U>>>1;y(S[Z],P)<0?B=Z+1:U=Z}return B},right:function(S,P,B,U){for(arguments.length<3&&(B=0),arguments.length<4&&(U=S.length);B<U;){var Z=B+U>>>1;y(S[Z],P)>0?U=Z:B=Z+1}return B}}}var E=C(_);e.bisectLeft=E.left,e.bisect=e.bisectRight=E.right,e.bisector=function(y){return C(y.length===1?function(S,P){return _(y(S),P)}:y)},e.shuffle=function(y,S,P){(B=arguments.length)<3&&(P=y.length,B<2&&(S=0));for(var B=P-S,U,Z;B;)Z=Math.random()*B--|0,U=y[B+S],y[B+S]=y[Z+S],y[Z+S]=U;return y},e.permute=function(y,S){for(var P=S.length,B=new Array(P);P--;)B[P]=y[S[P]];return B},e.pairs=function(y){for(var S=0,P=y.length-1,B,U=y[0],Z=new Array(P<0?0:P);S<P;)Z[S]=[B=U,U=y[++S]];return Z},e.transpose=function(y){if(!(Z=y.length))return[];for(var S=-1,P=e.min(y,L),B=new Array(P);++S<P;)for(var U=-1,Z,$=B[S]=new Array(Z);++U<Z;)$[U]=y[U][S];return B};function L(y){return y.length}e.zip=function(){return e.transpose(arguments)},e.keys=function(y){var S=[];for(var P in y)S.push(P);return S},e.values=function(y){var S=[];for(var P in y)S.push(y[P]);return S},e.entries=function(y){var S=[];for(var P in y)S.push({key:P,value:y[P]});return S},e.merge=function(y){for(var S=y.length,P,B=-1,U=0,Z,$;++B<S;)U+=y[B].length;for(Z=new Array(U);--S>=0;)for($=y[S],P=$.length;--P>=0;)Z[--U]=$[P];return Z};var I=Math.abs;e.range=function(y,S,P){if(arguments.length<3&&(P=1,arguments.length<2&&(S=y,y=0)),(S-y)/P===1/0)throw new Error("infinite range");var B=[],U=O(I(P)),Z=-1,$;if(y*=U,S*=U,P*=U,P<0)for(;($=y+P*++Z)>S;)B.push($/U);else for(;($=y+P*++Z)<S;)B.push($/U);return B};function O(y){for(var S=1;y*S%1;)S*=10;return S}function q(y,S){for(var P in S)Object.defineProperty(y.prototype,P,{value:S[P],enumerable:!1})}e.map=function(y,S){var P=new z;if(y instanceof z)y.forEach(function(X,ae){P.set(X,ae)});else if(Array.isArray(y)){var B=-1,U=y.length,Z;if(arguments.length===1)for(;++B<U;)P.set(B,y[B]);else for(;++B<U;)P.set(S.call(y,Z=y[B],B),Z)}else for(var $ in y)P.set($,y[$]);return P};function z(){this._=Object.create(null)}var N="__proto__",H="\0";q(z,{has:J,get:function(y){return this._[V(y)]},set:function(y,S){return this._[V(y)]=S},remove:ee,keys:ie,values:function(){var y=[];for(var S in this._)y.push(this._[S]);return y},entries:function(){var y=[];for(var S in this._)y.push({key:W(S),value:this._[S]});return y},size:oe,empty:ce,forEach:function(y){for(var S in this._)y.call(this,W(S),this._[S])}});function V(y){return(y+="")===N||y[0]===H?H+y:y}function W(y){return(y+="")[0]===H?y.slice(1):y}function J(y){return V(y)in this._}function ee(y){return(y=V(y))in this._&&delete this._[y]}function ie(){var y=[];for(var S in this._)y.push(W(S));return y}function oe(){var y=0;for(var S in this._)++y;return y}function ce(){for(var y in this._)return!1;return!0}e.nest=function(){var y={},S=[],P=[],B,U;function Z(X,ae,ye){if(ye>=S.length)return U?U.call(y,ae):B?ae.sort(B):ae;for(var xe=-1,Pe=ae.length,De=S[ye++],$e,ot,Ie,He=new z,Qe;++xe<Pe;)(Qe=He.get($e=De(ot=ae[xe])))?Qe.push(ot):He.set($e,[ot]);return X?(ot=X(),Ie=function(ct,nt){ot.set(ct,Z(X,nt,ye))}):(ot={},Ie=function(ct,nt){ot[ct]=Z(X,nt,ye)}),He.forEach(Ie),ot}function $(X,ae){if(ae>=S.length)return X;var ye=[],xe=P[ae++];return X.forEach(function(Pe,De){ye.push({key:Pe,values:$(De,ae)})}),xe?ye.sort(function(Pe,De){return xe(Pe.key,De.key)}):ye}return y.map=function(X,ae){return Z(ae,X,0)},y.entries=function(X){return $(Z(e.map,X,0),0)},y.key=function(X){return S.push(X),y},y.sortKeys=function(X){return P[S.length-1]=X,y},y.sortValues=function(X){return B=X,y},y.rollup=function(X){return U=X,y},y},e.set=function(y){var S=new le;if(y)for(var P=0,B=y.length;P<B;++P)S.add(y[P]);return S};function le(){this._=Object.create(null)}q(le,{has:J,add:function(y){return this._[V(y+="")]=!0,y},remove:ee,values:ie,size:oe,empty:ce,forEach:function(y){for(var S in this._)y.call(this,W(S))}}),e.behavior={};function Te(y){return y}e.rebind=function(y,S){for(var P=1,B=arguments.length,U;++P<B;)y[U=arguments[P]]=Se(y,S,S[U]);return y};function Se(y,S,P){return function(){var B=P.apply(S,arguments);return B===S?y:B}}function Me(y,S){if(S in y)return S;S=S.charAt(0).toUpperCase()+S.slice(1);for(var P=0,B=Ae.length;P<B;++P){var U=Ae[P]+S;if(U in y)return U}}var Ae=["webkit","ms","moz","Moz","o","O"];function me(){}e.dispatch=function(){for(var y=new ke,S=-1,P=arguments.length;++S<P;)y[arguments[S]]=Ee(y);return y};function ke(){}ke.prototype.on=function(y,S){var P=y.indexOf("."),B="";if(P>=0&&(B=y.slice(P+1),y=y.slice(0,P)),y)return arguments.length<2?this[y].on(B):this[y].on(B,S);if(arguments.length===2){if(S==null)for(y in this)this.hasOwnProperty(y)&&this[y].on(B,null);return this}};function Ee(y){var S=[],P=new z;function B(){for(var U=S,Z=-1,$=U.length,X;++Z<$;)(X=U[Z].on)&&X.apply(this,arguments);return y}return B.on=function(U,Z){var $=P.get(U),X;return arguments.length<2?$&&$.on:($&&($.on=null,S=S.slice(0,X=S.indexOf($)).concat(S.slice(X+1)),P.remove(U)),Z&&S.push(P.set(U,{on:Z})),y)},B}e.event=null;function Xe(){e.event.preventDefault()}function lt(){for(var y=e.event,S;S=y.sourceEvent;)y=S;return y}function it(y){for(var S=new ke,P=0,B=arguments.length;++P<B;)S[arguments[P]]=Ee(S);return S.of=function(U,Z){return function($){try{var X=$.sourceEvent=e.event;$.target=y,e.event=$,S[$.type].apply(U,Z)}finally{e.event=X}}},S}e.requote=function(y){return y.replace(_t,"\\$&")};var _t=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,We={}.__proto__?function(y,S){y.__proto__=S}:function(y,S){for(var P in S)y[P]=S[P]};function Ct(y){return We(y,yt),y}var st=function(y,S){return S.querySelector(y)},pt=function(y,S){return S.querySelectorAll(y)},It=function(y,S){var P=y.matches||y[Me(y,"matchesSelector")];return It=function(B,U){return P.call(B,U)},It(y,S)};typeof Sizzle=="function"&&(st=function(y,S){return Sizzle(y,S)[0]||null},pt=Sizzle,It=Sizzle.matchesSelector),e.selection=function(){return e.select(i.documentElement)};var yt=e.selection.prototype=[];yt.select=function(y){var S=[],P,B,U,Z;y=de(y);for(var $=-1,X=this.length;++$<X;){S.push(P=[]),P.parentNode=(U=this[$]).parentNode;for(var ae=-1,ye=U.length;++ae<ye;)(Z=U[ae])?(P.push(B=y.call(Z,Z.__data__,ae,$)),B&&"__data__"in Z&&(B.__data__=Z.__data__)):P.push(null)}return Ct(S)};function de(y){return typeof y=="function"?y:function(){return st(y,this)}}yt.selectAll=function(y){var S=[],P,B;y=ze(y);for(var U=-1,Z=this.length;++U<Z;)for(var $=this[U],X=-1,ae=$.length;++X<ae;)(B=$[X])&&(S.push(P=r(y.call(B,B.__data__,X,U))),P.parentNode=B);return Ct(S)};function ze(y){return typeof y=="function"?y:function(){return pt(y,this)}}var _e="http://www.w3.org/1999/xhtml",Ve={svg:"http://www.w3.org/2000/svg",xhtml:_e,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};e.ns={prefix:Ve,qualify:function(y){var S=y.indexOf(":"),P=y;return S>=0&&(P=y.slice(0,S))!=="xmlns"&&(y=y.slice(S+1)),Ve.hasOwnProperty(P)?{space:Ve[P],local:y}:y}},yt.attr=function(y,S){if(arguments.length<2){if(typeof y=="string"){var P=this.node();return y=e.ns.qualify(y),y.local?P.getAttributeNS(y.space,y.local):P.getAttribute(y)}for(S in y)this.each(at(S,y[S]));return this}return this.each(at(y,S))};function at(y,S){y=e.ns.qualify(y);function P(){this.removeAttribute(y)}function B(){this.removeAttributeNS(y.space,y.local)}function U(){this.setAttribute(y,S)}function Z(){this.setAttributeNS(y.space,y.local,S)}function $(){var ae=S.apply(this,arguments);ae==null?this.removeAttribute(y):this.setAttribute(y,ae)}function X(){var ae=S.apply(this,arguments);ae==null?this.removeAttributeNS(y.space,y.local):this.setAttributeNS(y.space,y.local,ae)}return S==null?y.local?B:P:typeof S=="function"?y.local?X:$:y.local?Z:U}function Je(y){return y.trim().replace(/\s+/g," ")}yt.classed=function(y,S){if(arguments.length<2){if(typeof y=="string"){var P=this.node(),B=(y=wt(y)).length,U=-1;if(S=P.classList){for(;++U<B;)if(!S.contains(y[U]))return!1}else for(S=P.getAttribute("class");++U<B;)if(!Lt(y[U]).test(S))return!1;return!0}for(S in y)this.each(xt(S,y[S]));return this}return this.each(xt(y,S))};function Lt(y){return new RegExp("(?:^|\\s+)"+e.requote(y)+"(?:\\s+|$)","g")}function wt(y){return(y+"").trim().split(/^|\s+/)}function xt(y,S){y=wt(y).map(qt);var P=y.length;function B(){for(var Z=-1;++Z<P;)y[Z](this,S)}function U(){for(var Z=-1,$=S.apply(this,arguments);++Z<P;)y[Z](this,$)}return typeof S=="function"?U:B}function qt(y){var S=Lt(y);return function(P,B){if(U=P.classList)return B?U.add(y):U.remove(y);var U=P.getAttribute("class")||"";B?(S.lastIndex=0,S.test(U)||P.setAttribute("class",Je(U+" "+y))):P.setAttribute("class",Je(U.replace(S," ")))}}yt.style=function(y,S,P){var B=arguments.length;if(B<3){if(typeof y!="string"){B<2&&(S="");for(P in y)this.each(Ut(P,y[P],S));return this}if(B<2){var U=this.node();return s(U).getComputedStyle(U,null).getPropertyValue(y)}P=""}return this.each(Ut(y,S,P))};function Ut(y,S,P){function B(){this.style.removeProperty(y)}function U(){this.style.setProperty(y,S,P)}function Z(){var $=S.apply(this,arguments);$==null?this.style.removeProperty(y):this.style.setProperty(y,$,P)}return S==null?B:typeof S=="function"?Z:U}yt.property=function(y,S){if(arguments.length<2){if(typeof y=="string")return this.node()[y];for(S in y)this.each(Pt(S,y[S]));return this}return this.each(Pt(y,S))};function Pt(y,S){function P(){delete this[y]}function B(){this[y]=S}function U(){var Z=S.apply(this,arguments);Z==null?delete this[y]:this[y]=Z}return S==null?P:typeof S=="function"?U:B}yt.text=function(y){return arguments.length?this.each(typeof y=="function"?function(){var S=y.apply(this,arguments);this.textContent=S==null?"":S}:y==null?function(){this.textContent=""}:function(){this.textContent=y}):this.node().textContent},yt.html=function(y){return arguments.length?this.each(typeof y=="function"?function(){var S=y.apply(this,arguments);this.innerHTML=S==null?"":S}:y==null?function(){this.innerHTML=""}:function(){this.innerHTML=y}):this.node().innerHTML},yt.append=function(y){return y=Mt(y),this.select(function(){return this.appendChild(y.apply(this,arguments))})};function Mt(y){function S(){var B=this.ownerDocument,U=this.namespaceURI;return U===_e&&B.documentElement.namespaceURI===_e?B.createElement(y):B.createElementNS(U,y)}function P(){return this.ownerDocument.createElementNS(y.space,y.local)}return typeof y=="function"?y:(y=e.ns.qualify(y)).local?P:S}yt.insert=function(y,S){return y=Mt(y),S=de(S),this.select(function(){return this.insertBefore(y.apply(this,arguments),S.apply(this,arguments)||null)})},yt.remove=function(){return this.each(Gt)};function Gt(){var y=this.parentNode;y&&y.removeChild(this)}yt.data=function(y,S){var P=-1,B=this.length,U,Z;if(!arguments.length){for(y=new Array(B=(U=this[0]).length);++P<B;)(Z=U[P])&&(y[P]=Z.__data__);return y}function $(xe,Pe){var De,$e=xe.length,ot=Pe.length,Ie=Math.min($e,ot),He=new Array(ot),Qe=new Array(ot),ct=new Array($e),nt,je;if(S){var Vt=new z,or=new Array($e),cr;for(De=-1;++De<$e;)(nt=xe[De])&&(Vt.has(cr=S.call(nt,nt.__data__,De))?ct[De]=nt:Vt.set(cr,nt),or[De]=cr);for(De=-1;++De<ot;)(nt=Vt.get(cr=S.call(Pe,je=Pe[De],De)))?nt!==!0&&(He[De]=nt,nt.__data__=je):Qe[De]=Zt(je),Vt.set(cr,!0);for(De=-1;++De<$e;)De in or&&Vt.get(or[De])!==!0&&(ct[De]=xe[De])}else{for(De=-1;++De<Ie;)nt=xe[De],je=Pe[De],nt?(nt.__data__=je,He[De]=nt):Qe[De]=Zt(je);for(;De<ot;++De)Qe[De]=Zt(Pe[De]);for(;De<$e;++De)ct[De]=xe[De]}Qe.update=He,Qe.parentNode=He.parentNode=ct.parentNode=xe.parentNode,X.push(Qe),ae.push(He),ye.push(ct)}var X=Pr([]),ae=Ct([]),ye=Ct([]);if(typeof y=="function")for(;++P<B;)$(U=this[P],y.call(U,U.parentNode.__data__,P));else for(;++P<B;)$(U=this[P],y);return ae.enter=function(){return X},ae.exit=function(){return ye},ae};function Zt(y){return{__data__:y}}yt.datum=function(y){return arguments.length?this.property("__data__",y):this.property("__data__")},yt.filter=function(y){var S=[],P,B,U;typeof y!="function"&&(y=Be(y));for(var Z=0,$=this.length;Z<$;Z++){S.push(P=[]),P.parentNode=(B=this[Z]).parentNode;for(var X=0,ae=B.length;X<ae;X++)(U=B[X])&&y.call(U,U.__data__,X,Z)&&P.push(U)}return Ct(S)};function Be(y){return function(){return It(this,y)}}yt.order=function(){for(var y=-1,S=this.length;++y<S;)for(var P=this[y],B=P.length-1,U=P[B],Z;--B>=0;)(Z=P[B])&&(U&&U!==Z.nextSibling&&U.parentNode.insertBefore(Z,U),U=Z);return this},yt.sort=function(y){y=ut.apply(this,arguments);for(var S=-1,P=this.length;++S<P;)this[S].sort(y);return this.order()};function ut(y){return arguments.length||(y=_),function(S,P){return S&&P?y(S.__data__,P.__data__):!S-!P}}yt.each=function(y){return sr(this,function(S,P,B){y.call(S,S.__data__,P,B)})};function sr(y,S){for(var P=0,B=y.length;P<B;P++)for(var U=y[P],Z=0,$=U.length,X;Z<$;Z++)(X=U[Z])&&S(X,Z,P);return y}yt.call=function(y){var S=r(arguments);return y.apply(S[0]=this,S),this},yt.empty=function(){return!this.node()},yt.node=function(){for(var y=0,S=this.length;y<S;y++)for(var P=this[y],B=0,U=P.length;B<U;B++){var Z=P[B];if(Z)return Z}return null},yt.size=function(){var y=0;return sr(this,function(){++y}),y};function Pr(y){return We(y,Dt),y}var Dt=[];e.selection.enter=Pr,e.selection.enter.prototype=Dt,Dt.append=yt.append,Dt.empty=yt.empty,Dt.node=yt.node,Dt.call=yt.call,Dt.size=yt.size,Dt.select=function(y){for(var S=[],P,B,U,Z,$,X=-1,ae=this.length;++X<ae;){U=(Z=this[X]).update,S.push(P=[]),P.parentNode=Z.parentNode;for(var ye=-1,xe=Z.length;++ye<xe;)($=Z[ye])?(P.push(U[ye]=B=y.call(Z.parentNode,$.__data__,ye,X)),B.__data__=$.__data__):P.push(null)}return Ct(S)},Dt.insert=function(y,S){return arguments.length<2&&(S=vt(this)),yt.insert.call(this,y,S)};function vt(y){var S,P;return function(B,U,Z){var $=y[Z].update,X=$.length,ae;for(Z!=P&&(P=Z,S=0),U>=S&&(S=U+1);!(ae=$[S])&&++S<X;);return ae}}e.select=function(y){var S;return typeof y=="string"?(S=[st(y,i)],S.parentNode=i.documentElement):(S=[y],S.parentNode=a(y)),Ct([S])},e.selectAll=function(y){var S;return typeof y=="string"?(S=r(pt(y,i)),S.parentNode=i.documentElement):(S=r(y),S.parentNode=null),Ct([S])},yt.on=function(y,S,P){var B=arguments.length;if(B<3){if(typeof y!="string"){B<2&&(S=!1);for(P in y)this.each(dt(P,y[P],S));return this}if(B<2)return(B=this.node()["__on"+y])&&B._;P=!1}return this.each(dt(y,S,P))};function dt(y,S,P){var B="__on"+y,U=y.indexOf("."),Z=er;U>0&&(y=y.slice(0,U));var $=Bt.get(y);$&&(y=$,Z=Jt);function X(){var xe=this[B];xe&&(this.removeEventListener(y,xe,xe.$),delete this[B])}function ae(){var xe=Z(S,r(arguments));X.call(this),this.addEventListener(y,this[B]=xe,xe.$=P),xe._=S}function ye(){var xe=new RegExp("^__on([^.]+)"+e.requote(y)+"$"),Pe;for(var De in this)if(Pe=De.match(xe)){var $e=this[De];this.removeEventListener(Pe[1],$e,$e.$),delete this[De]}}return U?S?ae:X:S?me:ye}var Bt=e.map({mouseenter:"mouseover",mouseleave:"mouseout"});i&&Bt.forEach(function(y){"on"+y in i&&Bt.remove(y)});function er(y,S){return function(P){var B=e.event;e.event=P,S[0]=this.__data__;try{y.apply(this,S)}finally{e.event=B}}}function Jt(y,S){var P=er(y,S);return function(B){var U=this,Z=B.relatedTarget;(!Z||Z!==U&&!(Z.compareDocumentPosition(U)&8))&&P.call(U,B)}}var Kt,hr=0;function yr(y){var S=".dragsuppress-"+ ++hr,P="click"+S,B=e.select(s(y)).on("touchmove"+S,Xe).on("dragstart"+S,Xe).on("selectstart"+S,Xe);if(Kt==null&&(Kt="onselectstart"in y?!1:Me(y.style,"userSelect")),Kt){var U=a(y).style,Z=U[Kt];U[Kt]="none"}return function($){if(B.on(S,null),Kt&&(U[Kt]=Z),$){var X=function(){B.on(P,null)};B.on(P,function(){Xe(),X()},!0),setTimeout(X,0)}}}e.mouse=function(y){return kt(y,lt())};var mr=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function kt(y,S){S.changedTouches&&(S=S.changedTouches[0]);var P=y.ownerSVGElement||y;if(P.createSVGPoint){var B=P.createSVGPoint();if(mr<0){var U=s(y);if(U.scrollX||U.scrollY){P=e.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var Z=P[0][0].getScreenCTM();mr=!(Z.f||Z.e),P.remove()}}return mr?(B.x=S.pageX,B.y=S.pageY):(B.x=S.clientX,B.y=S.clientY),B=B.matrixTransform(y.getScreenCTM().inverse()),[B.x,B.y]}var $=y.getBoundingClientRect();return[S.clientX-$.left-y.clientLeft,S.clientY-$.top-y.clientTop]}e.touch=function(y,S,P){if(arguments.length<3&&(P=S,S=lt().changedTouches),S){for(var B=0,U=S.length,Z;B<U;++B)if((Z=S[B]).identifier===P)return kt(y,Z)}},e.behavior.drag=function(){var y=it(U,"drag","dragstart","dragend"),S=null,P=Z(me,e.mouse,s,"mousemove","mouseup"),B=Z(Fe,e.touch,Te,"touchmove","touchend");function U(){this.on("mousedown.drag",P).on("touchstart.drag",B)}function Z($,X,ae,ye,xe){return function(){var Pe=this,De=e.event.target.correspondingElement||e.event.target,$e=Pe.parentNode,ot=y.of(Pe,arguments),Ie=0,He=$(),Qe=".drag"+(He==null?"":"-"+He),ct,nt=e.select(ae(De)).on(ye+Qe,or).on(xe+Qe,cr),je=yr(De),Vt=X($e,He);S?(ct=S.apply(Pe,arguments),ct=[ct.x-Vt[0],ct.y-Vt[1]]):ct=[0,0],ot({type:"dragstart"});function or(){var ur=X($e,He),zr,Rr;ur&&(zr=ur[0]-Vt[0],Rr=ur[1]-Vt[1],Ie|=zr|Rr,Vt=ur,ot({type:"drag",x:ur[0]+ct[0],y:ur[1]+ct[1],dx:zr,dy:Rr}))}function cr(){X($e,He)&&(nt.on(ye+Qe,null).on(xe+Qe,null),je(Ie),ot({type:"dragend"}))}}}return U.origin=function($){return arguments.length?(S=$,U):S},e.rebind(U,y,"on")};function Fe(){return e.event.changedTouches[0].identifier}e.touches=function(y,S){return arguments.length<2&&(S=lt().touches),S?r(S).map(function(P){var B=kt(y,P);return B.identifier=P.identifier,B}):[]};var Oe=1e-6,bt=Oe*Oe,Tt=Math.PI,vr=2*Tt,Mr=vr-Oe,Tr=Tt/2,Gr=Tt/180,pa=180/Tt;function Aa(y){return y>0?1:y<0?-1:0}function ai(y,S,P){return(S[0]-y[0])*(P[1]-y[1])-(S[1]-y[1])*(P[0]-y[0])}function bi(y){return y>1?0:y<-1?Tt:Math.acos(y)}function hi(y){return y>1?Tr:y<-1?-Tr:Math.asin(y)}function Hi(y){return((y=Math.exp(y))-1/y)/2}function Ii(y){return((y=Math.exp(y))+1/y)/2}function _n(y){return((y=Math.exp(2*y))-1)/(y+1)}function an(y){return(y=Math.sin(y/2))*y}var Gi=Math.SQRT2,ma=2,nn=4;e.interpolateZoom=function(y,S){var P=y[0],B=y[1],U=y[2],Z=S[0],$=S[1],X=S[2],ae=Z-P,ye=$-B,xe=ae*ae+ye*ye,Pe,De;if(xe<bt)De=Math.log(X/U)/Gi,Pe=function(ct){return[P+ct*ae,B+ct*ye,U*Math.exp(Gi*ct*De)]};else{var $e=Math.sqrt(xe),ot=(X*X-U*U+nn*xe)/(2*U*ma*$e),Ie=(X*X-U*U-nn*xe)/(2*X*ma*$e),He=Math.log(Math.sqrt(ot*ot+1)-ot),Qe=Math.log(Math.sqrt(Ie*Ie+1)-Ie);De=(Qe-He)/Gi,Pe=function(ct){var nt=ct*De,je=Ii(He),Vt=U/(ma*$e)*(je*_n(Gi*nt+He)-Hi(He));return[P+Vt*ae,B+Vt*ye,U*je/Ii(Gi*nt+He)]}}return Pe.duration=De*1e3,Pe},e.behavior.zoom=function(){var y={x:0,y:0,k:1},S,P,B,U=[960,500],Z=Bi,$=250,X=0,ae="mousedown.zoom",ye="mousemove.zoom",xe="mouseup.zoom",Pe,De="touchstart.zoom",$e,ot=it(nt,"zoomstart","zoom","zoomend"),Ie,He,Qe,ct;ii||(ii="onwheel"in i?(ir=function(){return-e.event.deltaY*(e.event.deltaMode?120:1)},"wheel"):"onmousewheel"in i?(ir=function(){return e.event.wheelDelta},"mousewheel"):(ir=function(){return-e.event.detail},"MozMousePixelScroll"));function nt(Xt){Xt.on(ae,Qr).on(ii+".zoom",$a).on("dblclick.zoom",Ka).on(De,qa)}nt.event=function(Xt){Xt.each(function(){var Kr=ot.of(this,arguments),oa=y;uo?e.select(this).transition().each("start.zoom",function(){y=this.__chart__||{x:0,y:0,k:1},Rr(Kr)}).tween("zoom:zoom",function(){var sa=U[0],Ei=U[1],Ui=P?P[0]:sa/2,$i=P?P[1]:Ei/2,xi=e.interpolateZoom([(Ui-y.x)/y.k,($i-y.y)/y.k,sa/y.k],[(Ui-oa.x)/oa.k,($i-oa.y)/oa.k,sa/oa.k]);return function(wn){var Ar=xi(wn),Hr=sa/Ar[2];this.__chart__=y={x:Ui-Ar[0]*Hr,y:$i-Ar[1]*Hr,k:Hr},ta(Kr)}}).each("interrupt.zoom",function(){Vr(Kr)}).each("end.zoom",function(){Vr(Kr)}):(this.__chart__=y,Rr(Kr),ta(Kr),Vr(Kr))})},nt.translate=function(Xt){return arguments.length?(y={x:+Xt[0],y:+Xt[1],k:y.k},zr(),nt):[y.x,y.y]},nt.scale=function(Xt){return arguments.length?(y={x:y.x,y:y.y,k:null},or(+Xt),zr(),nt):y.k},nt.scaleExtent=function(Xt){return arguments.length?(Z=Xt==null?Bi:[+Xt[0],+Xt[1]],nt):Z},nt.center=function(Xt){return arguments.length?(B=Xt&&[+Xt[0],+Xt[1]],nt):B},nt.size=function(Xt){return arguments.length?(U=Xt&&[+Xt[0],+Xt[1]],nt):U},nt.duration=function(Xt){return arguments.length?($=+Xt,nt):$},nt.x=function(Xt){return arguments.length?(He=Xt,Ie=Xt.copy(),y={x:0,y:0,k:1},nt):He},nt.y=function(Xt){return arguments.length?(ct=Xt,Qe=Xt.copy(),y={x:0,y:0,k:1},nt):ct};function je(Xt){return[(Xt[0]-y.x)/y.k,(Xt[1]-y.y)/y.k]}function Vt(Xt){return[Xt[0]*y.k+y.x,Xt[1]*y.k+y.y]}function or(Xt){y.k=Math.max(Z[0],Math.min(Z[1],Xt))}function cr(Xt,Kr){Kr=Vt(Kr),y.x+=Xt[0]-Kr[0],y.y+=Xt[1]-Kr[1]}function ur(Xt,Kr,oa,sa){Xt.__chart__={x:y.x,y:y.y,k:y.k},or(Math.pow(2,sa)),cr(P=Kr,oa),Xt=e.select(Xt),$>0&&(Xt=Xt.transition().duration($)),Xt.call(nt.event)}function zr(){He&&He.domain(Ie.range().map(function(Xt){return(Xt-y.x)/y.k}).map(Ie.invert)),ct&&ct.domain(Qe.range().map(function(Xt){return(Xt-y.y)/y.k}).map(Qe.invert))}function Rr(Xt){X++||Xt({type:"zoomstart"})}function ta(Xt){zr(),Xt({type:"zoom",scale:y.k,translate:[y.x,y.y]})}function Vr(Xt){--X||(Xt({type:"zoomend"}),P=null)}function Qr(){var Xt=this,Kr=ot.of(Xt,arguments),oa=0,sa=e.select(s(Xt)).on(ye,$i).on(xe,xi),Ei=je(e.mouse(Xt)),Ui=yr(Xt);fh.call(Xt),Rr(Kr);function $i(){oa=1,cr(e.mouse(Xt),Ei),ta(Kr)}function xi(){sa.on(ye,null).on(xe,null),Ui(oa),Vr(Kr)}}function qa(){var Xt=this,Kr=ot.of(Xt,arguments),oa={},sa=0,Ei,Ui=".zoom-"+e.event.changedTouches[0].identifier,$i="touchmove"+Ui,xi="touchend"+Ui,wn=[],Ar=e.select(Xt),Hr=yr(Xt);Ti(),Rr(Kr),Ar.on(ae,null).on(De,Ti);function Fi(){var pn=e.touches(Xt);return Ei=y.k,pn.forEach(function(di){di.identifier in oa&&(oa[di.identifier]=je(di))}),pn}function Ti(){var pn=e.event.target;e.select(pn).on($i,fo).on(xi,qn),wn.push(pn);for(var di=e.event.changedTouches,Jo=0,co=di.length;Jo<co;++Jo)oa[di[Jo].identifier]=null;var fi=Fi(),xf=Date.now();if(fi.length===1){if(xf-$e<500){var Ta=fi[0];ur(Xt,Ta,oa[Ta.identifier],Math.floor(Math.log(y.k)/Math.LN2)+1),Xe()}$e=xf}else if(fi.length>1){var Ta=fi[0],li=fi[1],Bl=Ta[0]-li[0],Kv=Ta[1]-li[1];sa=Bl*Bl+Kv*Kv}}function fo(){var pn=e.touches(Xt),di,Jo,co,fi;fh.call(Xt);for(var xf=0,Ta=pn.length;xf<Ta;++xf,fi=null)if(co=pn[xf],fi=oa[co.identifier]){if(Jo)break;di=co,Jo=fi}if(fi){var li=(li=co[0]-di[0])*li+(li=co[1]-di[1])*li,Bl=sa&&Math.sqrt(li/sa);di=[(di[0]+co[0])/2,(di[1]+co[1])/2],Jo=[(Jo[0]+fi[0])/2,(Jo[1]+fi[1])/2],or(Bl*Ei)}$e=null,cr(di,Jo),ta(Kr)}function qn(){if(e.event.touches.length){for(var pn=e.event.changedTouches,di=0,Jo=pn.length;di<Jo;++di)delete oa[pn[di].identifier];for(var co in oa)return void Fi()}e.selectAll(wn).on(Ui,null),Ar.on(ae,Qr).on(De,qa),Hr(),Vr(Kr)}}function $a(){var Xt=ot.of(this,arguments);Pe?clearTimeout(Pe):(fh.call(this),S=je(P=B||e.mouse(this)),Rr(Xt)),Pe=setTimeout(function(){Pe=null,Vr(Xt)},50),Xe(),or(Math.pow(2,ir()*.002)*y.k),cr(P,S),ta(Xt)}function Ka(){var Xt=e.mouse(this),Kr=Math.log(y.k)/Math.LN2;ur(this,Xt,je(Xt),e.event.shiftKey?Math.ceil(Kr)-1:Math.floor(Kr)+1)}return e.rebind(nt,ot,"on")};var Bi=[0,1/0],ir,ii;e.color=Xr;function Xr(){}Xr.prototype.toString=function(){return this.rgb()+""},e.hsl=ue;function ue(y,S,P){return this instanceof ue?(this.h=+y,this.s=+S,void(this.l=+P)):arguments.length<2?y instanceof ue?new ue(y.h,y.s,y.l):ea(""+y,ga,ue):new ue(y,S,P)}var te=ue.prototype=new Xr;te.brighter=function(y){return y=Math.pow(.7,arguments.length?y:1),new ue(this.h,this.s,this.l/y)},te.darker=function(y){return y=Math.pow(.7,arguments.length?y:1),new ue(this.h,this.s,y*this.l)},te.rgb=function(){return se(this.h,this.s,this.l)};function se(y,S,P){var B,U;y=isNaN(y)?0:(y%=360)<0?y+360:y,S=isNaN(S)||S<0?0:S>1?1:S,P=P<0?0:P>1?1:P,U=P<=.5?P*(1+S):P+S-P*S,B=2*P-U;function Z(X){return X>360?X-=360:X<0&&(X+=360),X<60?B+(U-B)*X/60:X<180?U:X<240?B+(U-B)*(240-X)/60:B}function $(X){return Math.round(Z(X)*255)}return new ua($(y+120),$(y),$(y-120))}e.hcl=fe;function fe(y,S,P){return this instanceof fe?(this.h=+y,this.c=+S,void(this.l=+P)):arguments.length<2?y instanceof fe?new fe(y.h,y.c,y.l):y instanceof rt?Sr(y.l,y.a,y.b):Sr((y=nr((y=e.rgb(y)).r,y.g,y.b)).l,y.a,y.b):new fe(y,S,P)}var Le=fe.prototype=new Xr;Le.brighter=function(y){return new fe(this.h,this.c,Math.min(100,this.l+Ze*(arguments.length?y:1)))},Le.darker=function(y){return new fe(this.h,this.c,Math.max(0,this.l-Ze*(arguments.length?y:1)))},Le.rgb=function(){return Ne(this.h,this.c,this.l).rgb()};function Ne(y,S,P){return isNaN(y)&&(y=0),isNaN(S)&&(S=0),new rt(P,Math.cos(y*=Gr)*S,Math.sin(y)*S)}e.lab=rt;function rt(y,S,P){return this instanceof rt?(this.l=+y,this.a=+S,void(this.b=+P)):arguments.length<2?y instanceof rt?new rt(y.l,y.a,y.b):y instanceof fe?Ne(y.h,y.c,y.l):nr((y=ua(y)).r,y.g,y.b):new rt(y,S,P)}var Ze=18,mt=.95047,Et=1,Ft=1.08883,tr=rt.prototype=new Xr;tr.brighter=function(y){return new rt(Math.min(100,this.l+Ze*(arguments.length?y:1)),this.a,this.b)},tr.darker=function(y){return new rt(Math.max(0,this.l-Ze*(arguments.length?y:1)),this.a,this.b)},tr.rgb=function(){return Yt(this.l,this.a,this.b)};function Yt(y,S,P){var B=(y+16)/116,U=B+S/500,Z=B-P/200;return U=Zr(U)*mt,B=Zr(B)*Et,Z=Zr(Z)*Ft,new ua(ca(3.2404542*U-1.5371385*B-.4985314*Z),ca(-.969266*U+1.8760108*B+.041556*Z),ca(.0556434*U-.2040259*B+1.0572252*Z))}function Sr(y,S,P){return y>0?new fe(Math.atan2(P,S)*pa,Math.sqrt(S*S+P*P),y):new fe(NaN,NaN,y)}function Zr(y){return y>.206893034?y*y*y:(y-4/29)/7.787037}function Or(y){return y>.008856?Math.pow(y,1/3):7.787037*y+4/29}function ca(y){return Math.round(255*(y<=.00304?12.92*y:1.055*Math.pow(y,1/2.4)-.055))}e.rgb=ua;function ua(y,S,P){return this instanceof ua?(this.r=~~y,this.g=~~S,void(this.b=~~P)):arguments.length<2?y instanceof ua?new ua(y.r,y.g,y.b):ea(""+y,ua,se):new ua(y,S,P)}function Fa(y){return new ua(y>>16,y>>8&255,y&255)}function ti(y){return Fa(y)+""}var Yr=ua.prototype=new Xr;Yr.brighter=function(y){y=Math.pow(.7,arguments.length?y:1);var S=this.r,P=this.g,B=this.b,U=30;return!S&&!P&&!B?new ua(U,U,U):(S&&S<U&&(S=U),P&&P<U&&(P=U),B&&B<U&&(B=U),new ua(Math.min(255,S/y),Math.min(255,P/y),Math.min(255,B/y)))},Yr.darker=function(y){return y=Math.pow(.7,arguments.length?y:1),new ua(y*this.r,y*this.g,y*this.b)},Yr.hsl=function(){return ga(this.r,this.g,this.b)},Yr.toString=function(){return"#"+gr(this.r)+gr(this.g)+gr(this.b)};function gr(y){return y<16?"0"+Math.max(0,y).toString(16):Math.min(255,y).toString(16)}function ea(y,S,P){var B=0,U=0,Z=0,$,X,ae;if($=/([a-z]+)\((.*)\)/.exec(y=y.toLowerCase()),$)switch(X=$[2].split(","),$[1]){case"hsl":return P(parseFloat(X[0]),parseFloat(X[1])/100,parseFloat(X[2])/100);case"rgb":return S(Ca(X[0]),Ca(X[1]),Ca(X[2]))}return(ae=oi.get(y))?S(ae.r,ae.g,ae.b):(y!=null&&y.charAt(0)==="#"&&!isNaN(ae=parseInt(y.slice(1),16))&&(y.length===4?(B=(ae&3840)>>4,B=B>>4|B,U=ae&240,U=U>>4|U,Z=ae&15,Z=Z<<4|Z):y.length===7&&(B=(ae&16711680)>>16,U=(ae&65280)>>8,Z=ae&255)),S(B,U,Z))}function ga(y,S,P){var B=Math.min(y/=255,S/=255,P/=255),U=Math.max(y,S,P),Z=U-B,$,X,ae=(U+B)/2;return Z?(X=ae<.5?Z/(U+B):Z/(2-U-B),y==U?$=(S-P)/Z+(S<P?6:0):S==U?$=(P-y)/Z+2:$=(y-S)/Z+4,$*=60):($=NaN,X=ae>0&&ae<1?0:$),new ue($,X,ae)}function nr(y,S,P){y=wi(y),S=wi(S),P=wi(P);var B=Or((.4124564*y+.3575761*S+.1804375*P)/mt),U=Or((.2126729*y+.7151522*S+.072175*P)/Et),Z=Or((.0193339*y+.119192*S+.9503041*P)/Ft);return rt(116*U-16,500*(B-U),200*(U-Z))}function wi(y){return(y/=255)<=.04045?y/12.92:Math.pow((y+.055)/1.055,2.4)}function Ca(y){var S=parseFloat(y);return y.charAt(y.length-1)==="%"?Math.round(S*2.55):S}var oi=e.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});oi.forEach(function(y,S){oi.set(y,Fa(S))});function fa(y){return typeof y=="function"?y:function(){return y}}e.functor=fa,e.xhr=In(Te);function In(y){return function(S,P,B){return arguments.length===2&&typeof P=="function"&&(B=P,P=null),Co(S,P,y,B)}}function Co(y,S,P,B){var U={},Z=e.dispatch("beforesend","progress","load","error"),$={},X=new XMLHttpRequest,ae=null;self.XDomainRequest&&!("withCredentials"in X)&&/^(http(s)?:)?\/\//.test(y)&&(X=new XDomainRequest),"onload"in X?X.onload=X.onerror=ye:X.onreadystatechange=function(){X.readyState>3&&ye()};function ye(){var xe=X.status,Pe;if(!xe&&Ha(X)||xe>=200&&xe<300||xe===304){try{Pe=P.call(U,X)}catch(De){Z.error.call(U,De);return}Z.load.call(U,Pe)}else Z.error.call(U,X)}return X.onprogress=function(xe){var Pe=e.event;e.event=xe;try{Z.progress.call(U,X)}finally{e.event=Pe}},U.header=function(xe,Pe){return xe=(xe+"").toLowerCase(),arguments.length<2?$[xe]:(Pe==null?delete $[xe]:$[xe]=Pe+"",U)},U.mimeType=function(xe){return arguments.length?(S=xe==null?null:xe+"",U):S},U.responseType=function(xe){return arguments.length?(ae=xe,U):ae},U.response=function(xe){return P=xe,U},["get","post"].forEach(function(xe){U[xe]=function(){return U.send.apply(U,[xe].concat(r(arguments)))}}),U.send=function(xe,Pe,De){if(arguments.length===2&&typeof Pe=="function"&&(De=Pe,Pe=null),X.open(xe,y,!0),S!=null&&!("accept"in $)&&($.accept=S+",*/*"),X.setRequestHeader)for(var $e in $)X.setRequestHeader($e,$[$e]);return S!=null&&X.overrideMimeType&&X.overrideMimeType(S),ae!=null&&(X.responseType=ae),De!=null&&U.on("error",De).on("load",function(ot){De(null,ot)}),Z.beforesend.call(U,X),X.send(Pe==null?null:Pe),U},U.abort=function(){return X.abort(),U},e.rebind(U,Z,"on"),B==null?U:U.get(bs(B))}function bs(y){return y.length===1?function(S,P){y(S==null?P:null)}:y}function Ha(y){var S=y.responseType;return S&&S!=="text"?y.response:y.responseText}e.dsv=function(y,S){var P=new RegExp('["'+y+` ]`),B=y.charCodeAt(0);function U(ye,xe,Pe){arguments.length<3&&(Pe=xe,xe=null);var De=Co(ye,S,xe==null?Z:$(xe),Pe);return De.row=function($e){return arguments.length?De.response((xe=$e)==null?Z:$($e)):xe},De}function Z(ye){return U.parse(ye.responseText)}function $(ye){return function(xe){return U.parse(xe.responseText,ye)}}U.parse=function(ye,xe){var Pe;return U.parseRows(ye,function(De,$e){if(Pe)return Pe(De,$e-1);var ot=function(Ie){for(var He={},Qe=De.length,ct=0;ct<Qe;++ct)He[De[ct]]=Ie[ct];return He};Pe=xe?function(Ie,He){return xe(ot(Ie),He)}:ot})},U.parseRows=function(ye,xe){var Pe={},De={},$e=[],ot=ye.length,Ie=0,He=0,Qe,ct;function nt(){if(Ie>=ot)return De;if(ct)return ct=!1,Pe;var Vt=Ie;if(ye.charCodeAt(Vt)===34){for(var or=Vt;or++<ot;)if(ye.charCodeAt(or)===34){if(ye.charCodeAt(or+1)!==34)break;++or}Ie=or+2;var cr=ye.charCodeAt(or+1);return cr===13?(ct=!0,ye.charCodeAt(or+2)===10&&++Ie):cr===10&&(ct=!0),ye.slice(Vt+1,or).replace(/""/g,'"')}for(;Ie<ot;){var cr=ye.charCodeAt(Ie++),ur=1;if(cr===10)ct=!0;else if(cr===13)ct=!0,ye.charCodeAt(Ie)===10&&(++Ie,++ur);else if(cr!==B)continue;return ye.slice(Vt,Ie-ur)}return ye.slice(Vt)}for(;(Qe=nt())!==De;){for(var je=[];Qe!==Pe&&Qe!==De;)je.push(Qe),Qe=nt();xe&&(je=xe(je,He++))==null||$e.push(je)}return $e},U.format=function(ye){if(Array.isArray(ye[0]))return U.formatRows(ye);var xe=new le,Pe=[];return ye.forEach(function(De){for(var $e in De)xe.has($e)||Pe.push(xe.add($e))}),[Pe.map(ae).join(y)].concat(ye.map(function(De){return Pe.map(function($e){return ae(De[$e])}).join(y)})).join(` `)},U.formatRows=function(ye){return ye.map(X).join(` `)};function X(ye){return ye.map(ae).join(y)}function ae(ye){return P.test(ye)?'"'+ye.replace(/\"/g,'""')+'"':ye}return U},e.csv=e.dsv(",","text/csv"),e.tsv=e.dsv(" ","text/tab-separated-values");var Kn,du,Oi,pl,up=this[Me(this,"requestAnimationFrame")]||function(y){setTimeout(y,17)};e.timer=function(){Gc.apply(this,arguments)};function Gc(y,S,P){var B=arguments.length;B<2&&(S=0),B<3&&(P=Date.now());var U=P+S,Z={c:y,t:U,n:null};return du?du.n=Z:Kn=Z,du=Z,Oi||(pl=clearTimeout(pl),Oi=1,up(Zc)),Z}function Zc(){var y=xv(),S=bv()-y;S>24?(isFinite(S)&&(clearTimeout(pl),pl=setTimeout(Zc,S)),Oi=0):(Oi=1,up(Zc))}e.timer.flush=function(){xv(),bv()};function xv(){for(var y=Date.now(),S=Kn;S;)y>=S.t&&S.c(y-S.t)&&(S.c=null),S=S.n;return y}function bv(){for(var y,S=Kn,P=1/0;S;)S.c?(S.t<P&&(P=S.t),S=(y=S).n):S=y?y.n=S.n:Kn=S.n;return du=y,P}e.round=function(y,S){return S?Math.round(y*(S=Math.pow(10,S)))/S:Math.round(y)},e.geom={};function pu(y){return y[0]}function ml(y){return y[1]}e.geom.hull=function(y){var S=pu,P=ml;if(arguments.length)return B(y);function B(U){if(U.length<3)return[];var Z=fa(S),$=fa(P),X,ae=U.length,ye=[],xe=[];for(X=0;X<ae;X++)ye.push([+Z.call(this,U[X],X),+$.call(this,U[X],X),X]);for(ye.sort($u),X=0;X<ae;X++)xe.push([ye[X][0],-ye[X][1]]);var Pe=fp(ye),De=fp(xe),$e=De[0]===Pe[0],ot=De[De.length-1]===Pe[Pe.length-1],Ie=[];for(X=Pe.length-1;X>=0;--X)Ie.push(U[ye[Pe[X]][2]]);for(X=+$e;X<De.length-ot;++X)Ie.push(U[ye[De[X]][2]]);return Ie}return B.x=function(U){return arguments.length?(S=U,B):S},B.y=function(U){return arguments.length?(P=U,B):P},B};function fp(y){for(var S=y.length,P=[0,1],B=2,U=2;U<S;U++){for(;B>1&&ai(y[P[B-2]],y[P[B-1]],y[U])<=0;)--B;P[B++]=U}return P.slice(0,B)}function $u(y,S){return y[0]-S[0]||y[1]-S[1]}e.geom.polygon=function(y){return We(y,Kf),y};var Kf=e.geom.polygon.prototype=[];Kf.area=function(){for(var y=-1,S=this.length,P,B=this[S-1],U=0;++y<S;)P=B,B=this[y],U+=P[1]*B[0]-P[0]*B[1];return U*.5},Kf.centroid=function(y){var S=-1,P=this.length,B=0,U=0,Z,$=this[P-1],X;for(arguments.length||(y=-1/(6*this.area()));++S<P;)Z=$,$=this[S],X=Z[0]*$[1]-$[0]*Z[1],B+=(Z[0]+$[0])*X,U+=(Z[1]+$[1])*X;return[B*y,U*y]},Kf.clip=function(y){for(var S,P=mo(y),B=-1,U=this.length-mo(this),Z,$,X=this[U-1],ae,ye,xe;++B<U;){for(S=y.slice(),y.length=0,ae=this[B],ye=S[($=S.length-P)-1],Z=-1;++Z<$;)xe=S[Z],Qi(xe,X,ae)?(Qi(ye,X,ae)||y.push(Go(ye,xe,X,ae)),y.push(xe)):Qi(ye,X,ae)&&y.push(Go(ye,xe,X,ae)),ye=xe;P&&y.push(y[0]),X=ae}return y};function Qi(y,S,P){return(P[0]-S[0])*(y[1]-S[1])<(P[1]-S[1])*(y[0]-S[0])}function Go(y,S,P,B){var U=y[0],Z=P[0],$=S[0]-U,X=B[0]-Z,ae=y[1],ye=P[1],xe=S[1]-ae,Pe=B[1]-ye,De=(X*(ae-ye)-Pe*(U-Z))/(Pe*$-X*xe);return[U+De*$,ae+De*xe]}function mo(y){var S=y[0],P=y[y.length-1];return!(S[0]-P[0]||S[1]-P[1])}var yl,Zo,mu,cp=[],wv,ef,Tv=[];function Av(){ki(this),this.edge=this.site=this.circle=null}function lo(y){var S=cp.pop()||new Av;return S.site=y,S}function Wt(y){ba(y),mu.remove(y),cp.push(y),ki(y)}function Ur(y){var S=y.circle,P=S.x,B=S.cy,U={x:P,y:B},Z=y.P,$=y.N,X=[y];Wt(y);for(var ae=Z;ae.circle&&I(P-ae.circle.x)<Oe&&I(B-ae.circle.cy)<Oe;)Z=ae.P,X.unshift(ae),Wt(ae),ae=Z;X.unshift(ae),ba(ae);for(var ye=$;ye.circle&&I(P-ye.circle.x)<Oe&&I(B-ye.circle.cy)<Oe;)$=ye.N,X.push(ye),Wt(ye),ye=$;X.push(ye),ba(ye);var xe=X.length,Pe;for(Pe=1;Pe<xe;++Pe)ye=X[Pe],ae=X[Pe-1],fs(ye.edge,ae.site,ye.site,U);ae=X[0],ye=X[xe-1],ye.edge=Ws(ae.site,ye.site,null,U),Er(ae),Er(ye)}function hp(y){for(var S=y.x,P=y.y,B,U,Z,$,X=mu._;X;)if(Z=yu(X,P)-S,Z>Oe)X=X.L;else if($=S-on(X,P),$>Oe){if(!X.R){B=X;break}X=X.R}else{Z>-Oe?(B=X.P,U=X):$>-Oe?(B=X,U=X.N):B=U=X;break}var ae=lo(y);if(mu.insert(B,ae),!(!B&&!U)){if(B===U){ba(B),U=lo(B.site),mu.insert(ae,U),ae.edge=U.edge=Ws(B.site,ae.site),Er(B),Er(U);return}if(!U){ae.edge=Ws(B.site,ae.site);return}ba(B),ba(U);var ye=B.site,xe=ye.x,Pe=ye.y,De=y.x-xe,$e=y.y-Pe,ot=U.site,Ie=ot.x-xe,He=ot.y-Pe,Qe=2*(De*He-$e*Ie),ct=De*De+$e*$e,nt=Ie*Ie+He*He,je={x:(He*ct-$e*nt)/Qe+xe,y:(De*nt-Ie*ct)/Qe+Pe};fs(U.edge,ye,ot,je),ae.edge=Ws(ye,y,null,je),U.edge=Ws(y,ot,null,je),Er(B),Er(U)}}function yu(y,S){var P=y.site,B=P.x,U=P.y,Z=U-S;if(!Z)return B;var $=y.P;if(!$)return-1/0;P=$.site;var X=P.x,ae=P.y,ye=ae-S;if(!ye)return X;var xe=X-B,Pe=1/Z-1/ye,De=xe/ye;return Pe?(-De+Math.sqrt(De*De-2*Pe*(xe*xe/(-2*ye)-ae+ye/2+U-Z/2)))/Pe+B:(B+X)/2}function on(y,S){var P=y.N;if(P)return yu(P,S);var B=y.site;return B.y===S?B.x:1/0}function gl(y){this.site=y,this.edges=[]}gl.prototype.prepare=function(){for(var y=this.edges,S=y.length,P;S--;)P=y[S].edge,(!P.b||!P.a)&&y.splice(S,1);return y.sort(tf),y.length};function ws(y){for(var S=y[0][0],P=y[1][0],B=y[0][1],U=y[1][1],Z,$,X,ae,ye=Zo,xe=ye.length,Pe,De,$e,ot,Ie,He;xe--;)if(Pe=ye[xe],!(!Pe||!Pe.prepare()))for($e=Pe.edges,ot=$e.length,De=0;De<ot;)He=$e[De].end(),X=He.x,ae=He.y,Ie=$e[++De%ot].start(),Z=Ie.x,$=Ie.y,(I(X-Z)>Oe||I(ae-$)>Oe)&&($e.splice(De,0,new xl(gu(Pe.site,He,I(X-S)<Oe&&U-ae>Oe?{x:S,y:I(Z-S)<Oe?$:U}:I(ae-U)<Oe&&P-X>Oe?{x:I($-U)<Oe?Z:P,y:U}:I(X-P)<Oe&&ae-B>Oe?{x:P,y:I(Z-P)<Oe?$:B}:I(ae-B)<Oe&&X-S>Oe?{x:I($-B)<Oe?Z:S,y:B}:null),Pe.site,null)),++ot)}function tf(y,S){return S.angle-y.angle}function rf(){ki(this),this.x=this.y=this.arc=this.site=this.cy=null}function Er(y){var S=y.P,P=y.N;if(!(!S||!P)){var B=S.site,U=y.site,Z=P.site;if(B!==Z){var $=U.x,X=U.y,ae=B.x-$,ye=B.y-X,xe=Z.x-$,He=Z.y-X,Pe=2*(ae*He-ye*xe);if(!(Pe>=-bt)){var De=ae*ae+ye*ye,$e=xe*xe+He*He,ot=(He*De-ye*$e)/Pe,Ie=(ae*$e-xe*De)/Pe,He=Ie+X,Qe=Tv.pop()||new rf;Qe.arc=y,Qe.site=U,Qe.x=ot+$,Qe.y=He+Math.sqrt(ot*ot+Ie*Ie),Qe.cy=He,y.circle=Qe;for(var ct=null,nt=ef._;nt;)if(Qe.y<nt.y||Qe.y===nt.y&&Qe.x<=nt.x)if(nt.L)nt=nt.L;else{ct=nt.P;break}else if(nt.R)nt=nt.R;else{ct=nt;break}ef.insert(ct,Qe),ct||(wv=Qe)}}}}function ba(y){var S=y.circle;S&&(S.P||(wv=S.N),ef.remove(S),Tv.push(S),ki(S),y.circle=null)}function wa(y,S,P,B){return function(U){var Z=U.a,$=U.b,X=Z.x,ae=Z.y,ye=$.x,xe=$.y,Pe=0,De=1,$e=ye-X,ot=xe-ae,Ie;if(Ie=y-X,!(!$e&&Ie>0)){if(Ie/=$e,$e<0){if(Ie<Pe)return;Ie<De&&(De=Ie)}else if($e>0){if(Ie>De)return;Ie>Pe&&(Pe=Ie)}if(Ie=P-X,!(!$e&&Ie<0)){if(Ie/=$e,$e<0){if(Ie>De)return;Ie>Pe&&(Pe=Ie)}else if($e>0){if(Ie<Pe)return;Ie<De&&(De=Ie)}if(Ie=S-ae,!(!ot&&Ie>0)){if(Ie/=ot,ot<0){if(Ie<Pe)return;Ie<De&&(De=Ie)}else if(ot>0){if(Ie>De)return;Ie>Pe&&(Pe=Ie)}if(Ie=B-ae,!(!ot&&Ie<0)){if(Ie/=ot,ot<0){if(Ie>De)return;Ie>Pe&&(Pe=Ie)}else if(ot>0){if(Ie<Pe)return;Ie<De&&(De=Ie)}return Pe>0&&(U.a={x:X+Pe*$e,y:ae+Pe*ot}),De<1&&(U.b={x:X+De*$e,y:ae+De*ot}),U}}}}}}function Ts(y){for(var S=yl,P=wa(y[0][0],y[0][1],y[1][0],y[1][1]),B=S.length,U;B--;)U=S[B],(!_l(U,y)||!P(U)||I(U.a.x-U.b.x)<Oe&&I(U.a.y-U.b.y)<Oe)&&(U.a=U.b=null,S.splice(B,1))}function _l(y,S){var P=y.b;if(P)return!0;var B=y.a,U=S[0][0],Z=S[1][0],$=S[0][1],X=S[1][1],ae=y.l,ye=y.r,xe=ae.x,Pe=ae.y,De=ye.x,$e=ye.y,ot=(xe+De)/2,Ie=(Pe+$e)/2,He,Qe;if($e===Pe){if(ot<U||ot>=Z)return;if(xe>De){if(!B)B={x:ot,y:$};else if(B.y>=X)return;P={x:ot,y:X}}else{if(!B)B={x:ot,y:X};else if(B.y<$)return;P={x:ot,y:$}}}else if(He=(xe-De)/($e-Pe),Qe=Ie-He*ot,He<-1||He>1)if(xe>De){if(!B)B={x:($-Qe)/He,y:$};else if(B.y>=X)return;P={x:(X-Qe)/He,y:X}}else{if(!B)B={x:(X-Qe)/He,y:X};else if(B.y<$)return;P={x:($-Qe)/He,y:$}}else if(Pe<$e){if(!B)B={x:U,y:He*U+Qe};else if(B.x>=Z)return;P={x:Z,y:He*Z+Qe}}else{if(!B)B={x:Z,y:He*Z+Qe};else if(B.x<U)return;P={x:U,y:He*U+Qe}}return y.a=B,y.b=P,!0}function Ma(y,S){this.l=y,this.r=S,this.a=this.b=null}function Ws(y,S,P,B){var U=new Ma(y,S);return yl.push(U),P&&fs(U,y,S,P),B&&fs(U,S,y,B),Zo[y.i].edges.push(new xl(U,y,S)),Zo[S.i].edges.push(new xl(U,S,y)),U}function gu(y,S,P){var B=new Ma(y,null);return B.a=S,B.b=P,yl.push(B),B}function fs(y,S,P,B){!y.a&&!y.b?(y.a=B,y.l=S,y.r=P):y.l===P?y.b=B:y.a=B}function xl(y,S,P){var B=y.a,U=y.b;this.edge=y,this.site=S,this.angle=P?Math.atan2(P.y-S.y,P.x-S.x):y.l===S?Math.atan2(U.x-B.x,B.y-U.y):Math.atan2(B.x-U.x,U.y-B.y)}xl.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}};function yo(){this._=null}function ki(y){y.U=y.C=y.L=y.R=y.P=y.N=null}yo.prototype={insert:function(y,S){var P,B,U;if(y){if(S.P=y,S.N=y.N,y.N&&(y.N.P=S),y.N=S,y.R){for(y=y.R;y.L;)y=y.L;y.L=S}else y.R=S;P=y}else this._?(y=Yc(this._),S.P=null,S.N=y,y.P=y.L=S,P=y):(S.P=S.N=null,this._=S,P=null);for(S.L=S.R=null,S.U=P,S.C=!0,y=S;P&&P.C;)B=P.U,P===B.L?(U=B.R,U&&U.C?(P.C=U.C=!1,B.C=!0,y=B):(y===P.R&&(As(this,P),y=P,P=y.U),P.C=!1,B.C=!0,cs(this,B))):(U=B.L,U&&U.C?(P.C=U.C=!1,B.C=!0,y=B):(y===P.L&&(cs(this,P),y=P,P=y.U),P.C=!1,B.C=!0,As(this,B))),P=y.U;this._.C=!1},remove:function(y){y.N&&(y.N.P=y.P),y.P&&(y.P.N=y.N),y.N=y.P=null;var S=y.U,P,B=y.L,U=y.R,Z,$;if(B?U?Z=Yc(U):Z=B:Z=U,S?S.L===y?S.L=Z:S.R=Z:this._=Z,B&&U?($=Z.C,Z.C=y.C,Z.L=B,B.U=Z,Z!==U?(S=Z.U,Z.U=y.U,y=Z.R,S.L=y,Z.R=U,U.U=Z):(Z.U=S,S=Z,y=Z.R)):($=y.C,y=Z),y&&(y.U=S),!$){if(y&&y.C){y.C=!1;return}do{if(y===this._)break;i