Skip to content

Instantly share code, notes, and snippets.

@ricklupton
Last active October 9, 2018 10:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ricklupton/8a9a9501883a5645202cb439def65d31 to your computer and use it in GitHub Desktop.
Save ricklupton/8a9a9501883a5645202cb439def65d31 to your computer and use it in GitHub Desktop.
Wide nodes with d3-sankey-diagram
license: mit
!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("d3-array"),require("d3-collection"),require("d3-interpolate"),require("d3-selection"),require("d3-transition"),require("d3-dispatch"),require("d3-format")):"function"==typeof define&&define.amd?define(["exports","d3-array","d3-collection","d3-interpolate","d3-selection","d3-transition","d3-dispatch","d3-format"],t):t(n.d3=n.d3||{},n.d3,n.d3,n.d3,n.d3,n.d3,n.d3,n.d3)}(this,function(n,t,r,e,i,u,o,a){"use strict";function f(){throw new Error("Dynamic requires are not currently supported by rollup-plugin-commonjs")}function c(n){this._isDirected=!lt.has(n,"directed")||n.directed,this._isMultigraph=!!lt.has(n,"multigraph")&&n.multigraph,this._isCompound=!!lt.has(n,"compound")&&n.compound,this._label=void 0,this._defaultNodeLabelFn=lt.constant(void 0),this._defaultEdgeLabelFn=lt.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[pt]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function s(n,t){n[t]?n[t]++:n[t]=1}function l(n,t){--n[t]||delete n[t]}function h(n,t,r,e){var i=""+t,u=""+r;if(!n&&i>u){var o=i;i=u,u=o}return i+vt+u+vt+(lt.isUndefined(e)?dt:e)}function d(n,t,r,e){var i=""+t,u=""+r;if(!n&&i>u){var o=i;i=u,u=o}var a={v:i,w:u};return e&&(a.name=e),a}function p(n,t){return h(n,t.v,t.w,t.name)}function v(n){var t={options:{directed:n.isDirected(),multigraph:n.isMultigraph(),compound:n.isCompound()},nodes:g(n),edges:_(n)};return _t.isUndefined(n.graph())||(t.value=_t.clone(n.graph())),t}function g(n){return _t.map(n.nodes(),function(t){var r=n.node(t),e=n.parent(t),i={v:t};return _t.isUndefined(r)||(i.value=r),_t.isUndefined(e)||(i.parent=e),i})}function _(n){return _t.map(n.edges(),function(t){var r=n.edge(t),e={v:t.v,w:t.w};return _t.isUndefined(t.name)||(e.name=t.name),_t.isUndefined(r)||(e.value=r),e})}function y(n){var t=new yt(n.options).setGraph(n.value);return _t.each(n.nodes,function(n){t.setNode(n.v,n.value),n.parent&&t.setParent(n.v,n.parent)}),_t.each(n.edges,function(n){t.setEdge({v:n.v,w:n.w,name:n.name},n.value)}),t}function m(n){function t(i){wt.has(e,i)||(e[i]=!0,r.push(i),wt.each(n.successors(i),t),wt.each(n.predecessors(i),t))}var r,e={},i=[];return wt.each(n.nodes(),function(n){r=[],t(n),r.length&&i.push(r)}),i}function w(){this._arr=[],this._keyIndices={}}function b(n,t,r,e){return x(n,String(t),r||jt,e||function(t){return n.outEdges(t)})}function x(n,t,r,e){var i,u,o={},a=new Mt,f=function(n){var t=n.v!==i?n.v:n.w,e=o[t],f=r(n),c=u.distance+f;if(f<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+n+" Weight: "+f);c<e.distance&&(e.distance=c,e.predecessor=i,a.decrease(t,c))};for(n.nodes().forEach(function(n){var r=n===t?0:Number.POSITIVE_INFINITY;o[n]={distance:r},a.add(n,r)});a.size()>0&&(i=a.removeMin(),u=o[i],u.distance!==Number.POSITIVE_INFINITY);)e(i).forEach(f);return o}function E(n,t,r){return It.transform(n.nodes(),function(e,i){e[i]=Lt(n,i,t,r)},{})}function k(n){function t(o){var a=i[o]={onStack:!0,lowlink:r,index:r++};if(e.push(o),n.successors(o).forEach(function(n){Ct.has(i,n)?i[n].onStack&&(a.lowlink=Math.min(a.lowlink,i[n].index)):(t(n),a.lowlink=Math.min(a.lowlink,i[n].lowlink))}),a.lowlink===a.index){var f,c=[];do{f=e.pop(),i[f].onStack=!1,c.push(f)}while(o!==f);u.push(c)}}var r=0,e=[],i={},u=[];return n.nodes().forEach(function(n){Ct.has(i,n)||t(n)}),u}function M(n){return Pt.filter(zt(n),function(t){return t.length>1||1===t.length&&n.hasEdge(t[0],t[0])})}function A(n,t,r){return j(n,t||Ut,r||function(t){return n.outEdges(t)})}function j(n,t,r){var e={},i=n.nodes();return i.forEach(function(n){e[n]={},e[n][n]={distance:0},i.forEach(function(t){n!==t&&(e[n][t]={distance:Number.POSITIVE_INFINITY})}),r(n).forEach(function(r){var i=r.v===n?r.w:r.v,u=t(r);e[n][i]={distance:u,predecessor:n}})}),i.forEach(function(n){var t=e[n];i.forEach(function(r){var u=e[r];i.forEach(function(r){var e=u[n],i=t[r],o=u[r],a=e.distance+i.distance;a<o.distance&&(o.distance=a,o.predecessor=i.predecessor)})})}),e}function L(n){function t(u){if(Dt.has(e,u))throw new I;Dt.has(r,u)||(e[u]=!0,r[u]=!0,Dt.each(n.predecessors(u),t),delete e[u],i.push(u))}var r={},e={},i=[];if(Dt.each(n.sinks(),t),Dt.size(r)!==n.nodeCount())throw new I;return i}function I(){}function N(n){try{Bt(n)}catch(n){if(n instanceof Bt.CycleException)return!1;throw n}return!0}function C(n,t,r){$t.isArray(t)||(t=[t]);var e=(n.isDirected()?n.successors:n.neighbors).bind(n),i=[],u={};return $t.each(t,function(t){if(!n.hasNode(t))throw new Error("Graph does not have node: "+t);O(n,t,"post"===r,u,e,i)}),i}function O(n,t,r,e,i,u){$t.has(e,t)||(e[t]=!0,r||u.push(t),$t.each(i(t),function(t){O(n,t,r,e,i,u)}),r&&u.push(t))}function P(n,t){return qt(n,t,"post")}function z(n,t){return Gt(n,t,"pre")}function S(n,t){function r(n){var r=n.v===e?n.w:n.v,i=o.priority(r);if(void 0!==i){var a=t(n);a<i&&(u[r]=e,o.decrease(r,a))}}var e,i=new Jt,u={},o=new Xt;if(0===n.nodeCount())return i;Kt.each(n.nodes(),function(n){o.add(n,Number.POSITIVE_INFINITY),i.setNode(n)}),o.decrease(n.nodes()[0],0);for(var a=!1;o.size()>0;){if(e=o.removeMin(),Kt.has(u,e))i.setEdge(e,u[e]);else{if(a)throw new Error("Input graph is not connected: "+n);a=!0}n.nodeEdges(e).forEach(r)}return i}function R(n,t){void 0===t&&(t=[]);var e=new rr({directed:!0});if(0===n.nodes().length)return e;t=T(n,t);var i,u,o,a,f=r.map();for(o=0;o<t.length;++o)if(i=t[o],i.nodes&&0!==i.nodes.length){for(u=""+o,a=0;a<i.nodes.length;++a)f.set(i.nodes[a],u);e.setNode(u,{type:i.type,nodes:i.nodes})}n.nodes();return n.nodes().forEach(function(t){n.node(t);f.has(t)||(u=""+o++,i={type:"same",nodes:[t]},f.set(t,u),e.setNode(u,i))}),n.edges().forEach(function(t){var r=(n.edge(t),f.get(t.v)),i=f.get(t.w),u=e.edge(r,i)||{delta:0};r===i?(u.delta=0,e.setEdge(r,i,u)):n.node(t.v).backwards?(u.delta=Math.max(u.delta,n.node(t.w).backwards?1:0),e.setEdge(i,r,u)):(u.delta=Math.max(u.delta,n.node(t.w).backwards?0:1),e.setEdge(r,i,u))}),e}function T(n,t){for(var r=0;r<t.length;++r)if("min"===t[r].type)return t;var e=n.sources();return[{type:"min",nodes:[e.length?e[0]:n.nodes()[0]]}].concat(t)}function U(n,t){var r=D(n,t);return n.edges().forEach(function(t){if(W(r,t.v,t.w)<0){var e=n.edge(t)||{};e.reversed=!0,n.removeEdge(t),n.setEdge(t.w,t.v,e)}}),n}function D(n,t){var e=r.set(),i=new rr({directed:!0}),u=[];if(!n.hasNode(t))throw Error("node not in graph");return B(n,t,e,i,u),n.nodes().forEach(function(t){e.has(t)||B(n,t,e,i,u)}),u.forEach(function(n,t){i.node(n).thread=t+1<u.length?u[t+1]:u[0]}),i}function W(n,t,r){var e=n.node(t),i=n.node(r);if(e.depth<i.depth)for(var u=e.thread;n.node(u).depth>e.depth;){if(u===r)return 1;u=n.node(u).thread}else if(i.depth<e.depth)for(var o=i.thread;n.node(o).depth>i.depth;){if(o===t)return-1;o=n.node(o).thread}return 0}function B(n,t,r,e,i,u){if(void 0===u&&(u=0),!r.has(t)){r.add(t),i.push(t),e.setNode(t,{depth:u});n.outEdges(t).map(function(n){return n.w}).forEach(function(o,a){r.has(o)||e.setEdge(t,o,{delta:1}),B(n,o,r,e,i,u+1)})}}function F(n){var t=n.sources(),e=r.set(),i=r.set();n.edges().forEach(function(n){n.v===n.w&&i.add($(n))}),n.nodes().forEach(function(t){n.node(t).rank=0});for(;t.length>0;)!function(){var r=t.shift();e.add(r);var u=n.node(r);u||n.setNode(r,u={}),u.rank=0,n.inEdges(r).forEach(function(t){var r=void 0===n.edge(t).delta?1:n.edge(t).delta;u.rank=Math.max(u.rank,n.node(t.v).rank+r)}),n.outEdges(r).forEach(function(n){i.add($(n))}),n.nodes().forEach(function(r){t.indexOf(r)<0&&!e.has(r)&&!n.inEdges(r).some(function(n){return!i.has($(n))})&&t.push(r)})}()}function $(n){return n.v+""+n.w+""+n.name}function V(n,t){var r=R(n,t);0!==r.nodeCount()&&(q(r),U(r,"0"),F(r),Z(r),r.nodes().forEach(function(t){var e=r.node(t);e.nodes.forEach(function(t){n.node(t).rank=e.rank})}))}function q(n){n.sources().forEach(function(t){"0"!==t&&n.setEdge("0",t,{temp:!0,delta:0})})}function Z(n){function r(r){var e=n.node(r),i=t.min(n.outEdges(r),function(t){return n.node(t.w).rank-n.edge(t).delta});void 0!==i&&(e.rank=i)}n.edges().forEach(function(t){n.edge(t).temp&&r(t.w)})}function G(n,t){var e=[];if(0===t.length)return e;var i=n.sources(),u=r.map();return t.forEach(function(n,t){e.push([]),n.forEach(function(n){0===t&&i.indexOf(n)<0&&i.push(n),u.set(n,t)})}),er.preorder(n,i).forEach(function(n){e[u.get(n)].push(n)}),e}function Y(n,t,r){return K(n,t,r)}function K(n,t,r){var e,i,u;t.length>r.length?(e=t,i=r):(e=r,i=t),u=i.length;var o=[];e.forEach(function(t){i.forEach(function(r,e){(n.hasEdge(t,r)||n.hasEdge(r,t))&&o.push(e)})});for(var a=1;a<u;)a*=2;var f=2*a-1;a-=1;for(var c=new Array(f),s=0;s<f;s++)c[s]=0;var l=0;return o.forEach(function(n){var t=n+a;for(c[t]++;t>0;)t%2&&(l+=c[t+1]),t=Math.floor((t-1)/2),c[t]++}),l}function J(n,t){for(var r=!0;r;){r=!1;for(var e=0;e<t.length;++e)for(var i=0;i<t[e].length-1;++i){var u=X(n,t,e);H(t[e],i,i+1);var o=X(n,t,e);o<u?r=!0:H(t[e],i,i+1)}}}function X(n,t,r){var e=0;return r>0&&(e+=Y(n,t[r-1],t[r])),r+1<t.length&&(e+=Y(n,t[r],t[r+1])),e}function H(n,t,r){var e=n[t];n[t]=n[r],n[r]=e}function Q(n){var t=Math.floor(n.length/2);if(0===n.length)return-1;if(n.length%2==1)return n[t];if(2===n.length)return(n[0]+n[1])/2;var r=n[t-1]-n[0],e=n[n.length-1]-n[t];return(n[t-1]*e+n[t]*r)/(r+e)}function nn(n,t,r,e,i,u){void 0===u&&(u=!1);var o=t[r],a=t[e],f=[];return a.forEach(function(t,r){n.nodeEdges(t,i).length>0&&f.push(r)}),0===f.length&&u&&o.forEach(function(t,r){n.nodeEdges(t,i).length>0&&f.push(r+.5)}),f.sort(function(n,t){return n-t}),f}function tn(n,t){for(var e=r.map(n.map(function(n,t){return[n,t]}),function(n){return n[0]}),i=1;i<n.length;++i)for(var u=i;u>0;--u){for(var o=u-1,a=t.get(n[o]),f=t.get(n[u]);-1===(a=t.get(n[o]))&&o>0;)o--;if(-1===f||-1===a)break;if(a===f&&(a=e.get(n[o]),f=e.get(n[u])),f>=a)break;var c;c=[n[o],n[u]],n[u]=c[0],n[o]=c[1]}}function rn(n,t,e,i){if(void 0===e&&(e=1),void 0===i&&(i=!1),e>0)for(var u=1;u<t.length;++u)!function(e){var u=r.map();t[e].forEach(function(r){var o=Q(nn(n,t,e,e-1,r,i));u.set(r,o)}),tn(t[e],u)}(u);else for(var o=t.length-2;o>=0;--o)!function(e){var u=r.map();t[e].forEach(function(r){var o=Q(nn(n,t,e,e+1,r,i));u.set(r,o)}),tn(t[e],u)}(o)}function en(n,t){void 0===t&&(t=25);for(var r=un(n),e=G(n,r),i=e,u=0;u++<t;)rn(n,e,u%2==0),J(n,e),on(n,e)<on(n,i)&&(i=an(e));i.forEach(function(t){t.forEach(function(t,r){n.node(t).depth=r})})}function un(n){var t=[];return n.nodes().forEach(function(r){for(var e=n.node(r).rank||0;e>=t.length;)t.push([]);t[e].push(r)}),t}function on(n,t){for(var r=0,e=0;e<t.length-1;++e)r+=Y(n,t[e],t[e+1]);return r}function an(n){var t=[];return n.forEach(function(n){t.push(n.map(function(n){return n}))}),t}function fn(n){"object"!=typeof n.graph()&&n.setGraph({}),n.graph().dummyChains=[],n.edges().forEach(function(t){return cn(n,t)})}function cn(n,t){function r(r,i){var u={points:[],value:e.value,origEdge:t,origLabel:e};n.setEdge(r,i,u,t.name)}var e=n.edge(t),i=ln(n.node(t.v),n.node(t.w));if(0!==i.length){n.removeEdge(t);var u=t.v;i.forEach(function(e,i){var o="__"+t.v+"_"+t.w+"_"+i;n.hasNode(o)||(e.dummy="edge",n.setNode(o,e),0===i&&n.graph().dummyChains.push(o)),r(u,u=o)}),r(u,t.w)}}function sn(n){(n.graph().dummyChains||[]).forEach(function(t){var r=n.node(t),e=n.inEdges(t).map(function(t){return n.edge(t)});e.forEach(function(t){t.origLabel.dy=t.dy,t.origLabel.x0=t.x0,t.origLabel.y0=t.y0,t.origLabel.r0=t.r0,t.origLabel.d0=t.d0,n.setEdge(t.origEdge,t.origLabel)});for(var i,u=e.map(function(n){return n.r1});r.dummy;)e=n.outEdges(t).map(function(t){return n.edge(t)}),e.forEach(function(n,t){n.origLabel.points.push({x:(r.x0+r.x1)/2,y:n.y0,d:n.d0,ro:n.r0,ri:u[t]})}),u=e.map(function(n){return n.r1}),i=n.successors(t)[0],n.removeNode(t),r=n.node(t=i);e.forEach(function(n){n.origLabel.x1=n.x1,n.origLabel.y1=n.y1,n.origLabel.r1=n.r1,n.origLabel.d1=n.d1})})}function ln(n,t){var r=[],e=n.rank;if(e+1<=t.rank){for(n.backwards&&r.push({rank:e,backwards:!1});++e<t.rank;)r.push({rank:e,backwards:!1});t.backwards&&r.push({rank:e,backwards:!1})}else if(e>t.rank){for(n.backwards||r.push({rank:e,backwards:!0});e-- >t.rank+1;)r.push({rank:e,backwards:!0});t.backwards||r.push({rank:e,backwards:!0})}return r}function hn(n){for(var e,i=t.max(n,function(n){return n.rank||0})||0,u=t.max(n,function(n){return n.band||0})||0,o=r.nest().key(function(n){return n.rank||0}).key(function(n){return n.band||0}).sortValues(function(n,t){return n.depth-t.depth}).map(n),a=new Array(i+1),f=0;f<=i;++f)if(a[f]=new Array(u+1),e=o.get(f))for(var c=0;c<=u;++c)a[f][c]=e.get(c)||[];else for(var s=0;s<=u;++s)a[f][s]=[];return a.bandValues=dn(a),a}function dn(n){if(0===n.length||0===n[0].length)return[];for(var r=n[0].length,e=new Array(r),i=0;i<r;i++)e[i]=0;return n.forEach(function(n){n.forEach(function(n,r){var i=t.sum(n,function(n){return n.value});e[r]=Math.max(e[r],i)})}),e}function pn(n,r,e){var i=t.max(n.nodes(),function(t){return n.node(t).rank||0})||0,u=(r-e)/i;n.nodes().forEach(function(t){var r=n.node(t);r.x0=u*(r.rank||0),r.x1=r.x0+e})}function vn(n,t){return 1}function gn(){function n(e,i,u){e.forEach(function(o){var a=0;o.forEach(function(o,f){var c=e.bandValues[f]/t.sum(e.bandValues)*i,s=u*c/5,l=c-2*s,h=t.sum(o,function(n){return n.dy}),d=o.map(function(t,e){return t.value&&o[e+1]?r(o[e],o[e+1],n):0}),p=Math.max(0,l-h),v=t.sum(d)?p/t.sum(d):0,g=a+s;1===o.length&&(g+=(l-o[0].dy)/2);var _=Number.MAX_VALUE;o.forEach(function(n,t){n.y=g,n.spaceAbove=_,n.spaceBelow=d[t]*v,g+=n.dy+n.spaceBelow,_=n.spaceBelow,n.data&&void 0!==n.data.forceY&&(n.y=s+n.data.forceY*(l-n.dy))}),o.length>0&&(o[o.length-1].spaceBelow=Number.MAX_VALUE),a+=c})})}var r=vn;return n.separation=function(t){return arguments.length?(r=_n(t),n):r},n}function _n(n){if("function"!=typeof n)throw new Error;return n}function yn(n,e){n.nodes().forEach(function(i){function u(n,t){if(a.has(n))return a.get(n);var r={id:n,node:o.data,side:t,incoming:[],outgoing:[]};return a.set(n,r),r}var o=n.node(i),a=r.map();n.inEdges(i).forEach(function(t){var r=n.edge(t),e=u(r.targetPortId||"in","l"!==o.direction?"west":"east");e.incoming.push(t),r.targetPort=e}),n.outEdges(i).forEach(function(t){var r=n.edge(t),e=u(r.sourcePortId||"out","l"!==o.direction?"east":"west");e.outgoing.push(t),r.sourcePort=e}),o.ports=a.values(),o.ports.sort(e);var f={west:0,east:0},c={west:0,east:0};o.ports.forEach(function(r){r.y=f[r.side],r.index=c[r.side],r.dy=Math.max(t.sum(r.incoming,function(t){return n.edge(t).dy}),t.sum(r.outgoing,function(t){return n.edge(t).dy}));var e="west"===r.side?o.x0:o.x1;r.outgoing.forEach(function(t){var i=n.edge(t);i.x0=e,i.y0=o.y+r.y+i.dy/2}),r.incoming.forEach(function(t){var i=n.edge(t);i.x1=e,i.y1=o.y+r.y+i.dy/2}),f[r.side]+=r.dy,c[r.side]+=1})})}function mn(n,t,r){if(void 0===r&&(r=!0),t.v===t.w)return Math.PI/2*(r?1:-1);var e=n.edge(t);return Math.atan2(e.y1-e.y0,e.x1-e.x0)}function wn(n,t){n.nodes().forEach(function(t){return bn(n,t)})}function bn(n,t){var r=n.node(t);r.ports.forEach(function(t){t.incoming.sort(xn(n,r,!1)),t.outgoing.sort(xn(n,r,!0))})}function xn(n,t,r){return void 0===r&&(r=!0),function(t,e){var i=mn(n,t,r),u=mn(n,e,r),o=r?1:-1;return t.v===e.v&&t.w===e.w&&Math.abs(i-u)<.001?"number"==typeof t.name&&"number"==typeof e.name?t.name-e.name:"string"==typeof t.name&&"string"==typeof e.name?t.name.localeCompare(e.name):0:Math.abs(i-u)<.001?t.w===e.w?n.node(e.v).y-n.node(t.v).y:t.v===e.v?n.node(e.w).y-n.node(t.w).y:0:o*(i-u)}}function En(n,t){for(var r=null,e=0;e<n.length;++e)if(t(n[e])){r=e;break}return r}function kn(n,t){if(0!==n.length){for(var r,e=0,i=n.length-1;i>=0;--i)r=n[i].dy/2,n[i][t]-r<e&&(n[i][t]=Math.min(n[i].Rmax,e+r)),e=n[i][t]+r;for(var u=n[0].Rmax+n[0].dy/2,o=0;o<n.length;++o)r=n[o].dy/2,n[o][t]+r>u&&(n[o][t]=Math.max(r,u-r)),u=n[o][t]-r}}function Mn(n){return An(n),jn(n),n}function An(n){n.nodes().forEach(function(t){var r=n.node(t);r.ports.forEach(function(t){var e=r.y+t.y,i=r.y+t.y;t.outgoing.forEach(function(t){var i=n.edge(t);i.y0=e+i.dy/2,i.d0=r.backwards?"l":"r",i.dy=i.dy,e+=i.dy}),t.incoming.forEach(function(t){var e=n.edge(t);e.y1=i+e.dy/2,e.d1=r.backwards?"l":"r",e.dy=e.dy,i+=e.dy})})})}function jn(n){n.nodes().forEach(function(t){n.node(t).ports.forEach(function(t){In(n,t.outgoing,"r0"),In(n,t.incoming,"r1")})})}function Ln(n){var t=n.x1-n.x0,r=n.y1-n.y0;return n.d0!==n.d1?Math.abs(r)/2.1:0!==r?(t*t+r*r)/Math.abs(4*r):1/0}function In(n,t,r){var e=t.map(function(t){return n.edge(t)});e.forEach(function(n){n.Rmax=Ln(n),n[r]=Math.max(n.dy/2,n.d0===n.d1?.6*n.Rmax:5+n.dy/2)});var i="r0"===r?En(e,function(n){return n.y1>n.y0}):En(e,function(n){return n.y0>n.y1});if(null===i&&(i=e.length),kn(e.slice(i),r),i>0){for(var u=[],o=i-1;o>=0;o--)u.push(e[o]);kn(u,r)}}function Nn(n,t,r,e,i,u,o){var a=new rr({directed:!0,multigraph:!0});return n.nodes.forEach(function(n,e){var i=t(n,e);if(a.hasNode(i))throw new Error("duplicate: "+i);a.setNode(i,{data:n,index:e,backwards:r(n,e),x0:n.x0,x1:n.x1,y:n.y0})}),n.links.forEach(function(n,t){var r=Cn(e(n,t)),f=Cn(i(n,t)),c={data:n,sourcePortId:r.port,targetPortId:f.port,index:t,points:[],value:o(n,t)};if(!a.hasNode(r.id))throw new Error("missing: "+r.id);if(!a.hasNode(f.id))throw new Error("missing: "+f.id);a.setEdge(r.id,f.id,c,u(n,t))}),a.setGraph({}),a}function Cn(n){return"object"==typeof n?n:{id:n,port:void 0}}function On(n){return n.nodes}function Pn(n){return n.links}function zn(n){return n.id}function Sn(n){return n.direction&&"l"===n.direction.toLowerCase()}function Rn(n){return{id:"object"==typeof n.source?n.source.id:n.source,port:"object"==typeof n.sourcePort?n.sourcePort.id:n.sourcePort}}function Tn(n){return{id:"object"==typeof n.target?n.target.id:n.target,port:"object"==typeof n.targetPort?n.targetPort.id:n.targetPort}}function Un(n){return n.type}function Dn(n,t){return n.id.localeCompare(t.id)}function Wn(){function n(){var n={nodes:i.apply(null,arguments),links:u.apply(null,arguments)},t=Nn(n,o,a,f,c,s,x);if(Bn(t,x),p)t.nodes().forEach(function(n){var r=t.node(n),e=p(r.data);r.x0=e[0],r.x1=e[0]+w,r.y=e[1]}),Fn(t,b);else{null!==l?e(t,l):(V(t,h),en(t,d)),fn(t),Bn(t,x),null===l&&en(t,d);var M=hn(t.nodes().map(function(n){return t.node(n)}));r(t,M),Fn(t,b),k(M,m-_,E),pn(t,y-g,w),t.nodes().forEach(function(n){var r=t.node(n);r.x0+=g,r.x1+=g,r.y+=_})}return yn(t,v),wn(t),Mn(t),sn(t),Vn(t),qn(t,n),n}function r(n,r){if(null===b){var e=t.sum(r.bandValues);e<=0?b=1:(b=(m-_)/e,1!==E&&(b*=1-E))}}function e(n,t){t.forEach(function(t,r){t.forEach(function(t,e){if(t.forEach)t.forEach(function(t,i){var u=n.node(t);u&&(u.rank=r,u.band=e,u.depth=i)});else{var i=n.node(t);i&&(i.rank=r,i.depth=e)}})})}var i=On,u=Pn,o=zn,a=Sn,f=Rn,c=Tn,s=Un,l=null,h=[],d=25,p=null,v=Dn,g=0,_=0,y=1,m=1,w=1,b=null,x=function(n){return n.value},E=.5,k=gn();return n.update=function(n,t){var e=Nn(n,o,a,f,c,s,x);Bn(e,x);var i=hn(e.nodes().map(function(n){return e.node(n)}));return r(e,i),Fn(e,b),yn(e,v),wn(e),Mn(e),Vn(e),qn(e,n),n},n.nodes=function(t){return arguments.length?(i=$n(t),n):i},n.links=function(t){return arguments.length?(u=$n(t),n):u},n.nodeId=function(t){return arguments.length?(o=$n(t),n):o},n.nodeBackwards=function(t){return arguments.length?(a=$n(t),n):a},n.sourceId=function(t){return arguments.length?(f=$n(t),n):f},n.targetId=function(t){return arguments.length?(c=$n(t),n):c},n.linkType=function(t){return arguments.length?(s=$n(t),n):s},n.sortPorts=function(t){return arguments.length?(v=$n(t),n):v},n.ordering=function(t){return arguments.length?(l=t,n):l},n.rankSets=function(t){return arguments.length?(h=t,n):h},n.nodeWidth=function(t){return arguments.length?(w=t,n):w},n.nodePosition=function(t){return arguments.length?(p=t,n):p},n.size=function(t){return arguments.length?(g=_=0,y=+t[0],m=+t[1],n):[y-g,m-_]},n.extent=function(t){return arguments.length?(g=+t[0][0],_=+t[0][1],y=+t[1][0],m=+t[1][1],n):[[g,_],[y,m]]},n.whitespace=function(t){return arguments.length?(E=t,n):E},n.scale=function(t){return arguments.length?(b=t,n):b},n.linkValue=function(t){return arguments.length?(x=t,n):x},n.verticalLayout=function(t){return arguments.length?(k=$n(t),n):k},n}function Bn(n,r){n.nodes().forEach(function(r){var e=n.node(r),i=t.sum(n.inEdges(r),function(t){return n.edge(t).value}),u=t.sum(n.outEdges(r),function(t){return n.edge(t).value});e.value=Math.max(i,u)})}function Fn(n,t){n.edges().forEach(function(r){var e=n.edge(r);e.dy=e.value*t}),n.nodes().forEach(function(r){var e=n.node(r);e.dy=e.value*t})}function $n(n){if("function"!=typeof n)throw new Error;return n}function Vn(n){n.edges().forEach(function(t){var r=n.edge(t);r.points.unshift({x:r.x0,y:r.y0,ro:r.r0,d:r.d0}),r.points.push({x:r.x1,y:r.y1,ri:r.r1,d:r.d1})})}function qn(n,t){n.nodes().forEach(function(t){var r=n.node(t);r.data.incoming=[],r.data.outgoing=[],r.data.ports=r.ports,r.data.ports.forEach(function(n){n.incoming=[],n.outgoing=[]}),r.data.dy=r.dy,r.data.x0=r.x0,r.data.x1=r.x1,r.data.y0=r.y,r.data.y1=r.y+r.dy,r.data.rank=r.rank,r.data.band=r.band,r.data.depth=r.depth,r.data.value=r.value,r.data.spaceAbove=r.spaceAbove,r.data.spaceBelow=r.spaceBelow}),n.edges().forEach(function(t){var r=n.edge(t);r.data.source=n.node(t.v).data,r.data.target=n.node(t.w).data,r.data.sourcePort=r.sourcePort,r.data.targetPort=r.targetPort,r.data.source.outgoing.push(r.data),r.data.target.incoming.push(r.data),r.data.sourcePort&&r.data.sourcePort.outgoing.push(r.data),r.data.targetPort&&r.data.targetPort.incoming.push(r.data),r.data.dy=r.dy,r.data.points=r.points||[]})}function Zn(){function n(n,i){function u(){n.forEach(function(n){n.forEach(function(n){var t,r,u,o=0,a=n.length;for(n.sort(Kn),u=0;u<a;++u)t=n[u],r=o-t.y,r>0&&(t.y+=r),o=t.y+t.dy+e;if((r=o-e-i)>0)for(o=t.y-=r,u=a-2;u>=0;--u)t=n[u],r=t.y+t.dy+e-o,r>0&&(t.y-=r),o=t.y})})}!function(){n.forEach(function(n){var t=0;n.forEach(function(n){n.forEach(function(n){n.y=t++})})})}(),u();for(var o=1,a=r;a>0;--a)!function(r){function e(n){return Gn(n.target)*n.value}n.slice().reverse().forEach(function(n){n.forEach(function(n){n.forEach(function(n){var i=n.outgoing||n.edges;if(i.length){var u=t.sum(i,e)/t.sum(i,Yn);n.y+=(u-Gn(n))*r}})})})}(o*=.99),u(),function(r){function e(n){return Gn(n.source)*n.value}n.forEach(function(n){n.forEach(function(n){n.forEach(function(n){var i=n.incoming||n.edges;if(i.length){var u=t.sum(i,e)/t.sum(i,Yn);n.y+=(u-Gn(n))*r}})})})}(o),u()}var r=25,e=8;return n.iterations=function(t){return arguments.length?(r=+t,n):r},n.padding=function(t){return arguments.length?(e=+t,n):e},n}function Gn(n){return n.y+n.dy/2}function Yn(n){return n.value}function Kn(n,t){return n.y-t.y}function Jn(n){return 0===n.dy?0:2}function Xn(){function n(n){var t=n.x1-n.x0,r=n.y1-n.y0;return[n.dy/2,(t*t+r*r)/Math.abs(4*r)]}function t(n){for(var t,e="",i=0;i<n.points.length-1;++i)t={x0:n.points[i].x,y0:n.points[i].y,x1:n.points[i+1].x,y1:n.points[i+1].y,r0:n.points[i].ro,r1:n.points[i+1].ri,d0:n.points[i].d,d1:n.points[i+1].d,dy:n.dy},e+=r(t);return e}function r(t){function r(n,t){var r=n*(p-d)>0?1:0,e=y*n*(p-d)>0?t+s:t-s;return 0===L&&(e=t),"A"+e+" "+e+" "+Math.abs(L)+" 0 "+r+" "}var c=(t.d0||"r")+(t.d1||"r");if(t.source&&t.source===t.target)return e(t);if("rl"===c)return i(t);if("rd"===c)return u(t);if("dr"===c)return o(t);if("lr"===c)return a(t);var s=Math.max(f(t),t.dy)/2,l=t.x0,h=t.x1,d=t.y0,p=t.y1;if(h<l){var v;v=[h,l],l=v[0],h=v[1];var g;g=[p,d],d=g[0],p=g[1]}var _=p>d?1:-1,y=1,m=n(t),w=Math.max(m[0],Math.min(m[1],(h-l)/3)),b=Math.max(m[0],Math.min(m[1],t.r0||w)),x=Math.max(m[0],Math.min(m[1],t.r1||w)),E=h-l,k=p-d-_*(b+x),M=Math.sqrt(E*E+k*k),A=-_*Math.acos(Math.min(1,(b+x)/M)),j=Math.atan2(k,E),L=Math.PI/2+_*(j+A),I=s*_*Math.sin(L),N=s*Math.cos(L),C=l+y*b*Math.sin(Math.abs(L)),O=h-y*x*Math.sin(Math.abs(L)),P=d+b*_*(1-Math.cos(L)),z=p-x*_*(1-Math.cos(L));(isNaN(L)||Math.abs(L)<.001)&&(L=b=x=0,C=l,O=h,P=d,z=p,I=0,N=s);var S;return S="M"+[l,d-s]+" "+r(1,b)+[C+I,P-N]+" L"+[O+I,z-N]+" "+r(-1,x)+[h,p-s]+" L"+[h,p+s]+" "+r(1,x)+[O-I,z+N]+" L"+[C-I,P+N]+" "+r(-1,b)+[l,d+s]+" Z",/NaN/.test(S)&&console.error("path NaN",t,S),S}function e(n){function t(n){var t=n>0?1:0,u=n>0?e+r:e-r;return"A"+u+" "+u+" "+Math.abs(i)+" 1 "+t+" "}var r=Math.max(f(n),n.dy)/2,e=1.5*r,i=2*Math.PI,u=n.x0,o=n.y0;return"M"+[u+.1,o-r]+" "+t(1)+[u-.1,o-r]+" L"+[u-.1,o+r]+" "+t(-1)+[u+.1,o+r]+" Z"}function i(n){function t(n){var t=n*h>0?1:0,e=n*h>0?l+r:l-r;return 0===h&&(e=l),"A"+e+" "+e+" "+Math.abs(h)+" 0 "+t+" "}var r=Math.max(f(n),n.dy)/2,e=n.x0,i=n.x1,u=n.y0,o=n.y1,a=n.x1-n.x0,c=n.y1-n.y0,s=(n.r0+n.r1)/2||5+r,l=Math.min(Math.abs(o-u)/2.1,s),h=Math.atan2(c-2*l,a),d=(Math.sqrt(Math.max(0,a*a+(c-2*l)*(c-2*l))),n.y1>n.y0?1:-1),p=r*Math.sin(h),v=r*Math.cos(h),g=n.x0+l*Math.sin(Math.abs(h)),_=n.x1+l*Math.sin(Math.abs(h)),y=n.y0+l*d*(1-Math.cos(h)),m=n.y1-l*d*(1-Math.cos(h));return"M"+[e,u-r]+" "+t(1)+[g+p,y-v]+" L"+[_+p,m-v]+" "+t(1)+[i,o+r]+" L"+[i,o-r]+" "+t(-1)+[_-p,m+v]+" L"+[g-p,y+v]+" "+t(-1)+[e,u+r]+" Z"}function u(n){function t(n){var t=n*a>0?1:0,e=n*a>0?c+r:c-r;return 0===a&&(e=c),"A"+e+" "+e+" "+Math.abs(a)+" 0 "+t+" "}var r=Math.max(f(n),n.dy)/2,e=n.x0,i=n.x1,u=n.y0,o=n.y1,a=(n.x1,n.x0,n.y1,n.y0,Math.PI/2),c=Math.max(0,i-e),s=(n.y1,n.y0,u+c);return"M"+[e,u-r]+" "+t(1)+[i+r,s]+" L"+[i+r,o]+" "+[i-r,o]+" "+[i-r,s]+" "+t(-1)+[e,u+r]+" Z"}function o(n){function t(n){var t=n*a>0?1:0,e=n*a>0?c+r:c-r;return 0===a&&(e=c),"A"+e+" "+e+" "+Math.abs(a)+" 0 "+t+" "}var r=Math.max(f(n),n.dy)/2,e=n.x0,i=n.x1,u=n.y0,o=n.y1,a=(n.x1,n.x0,n.y1,n.y0,Math.PI/2),c=Math.max(0,i-e),s=(n.y1,n.y0,o-c);return"M"+[e-r,u]+" L"+[e+r,u]+" "+[e+r,s]+" "+t(-1)+[i,o-r]+" L"+[i,o+r]+" "+t(1)+[e-r,s]+" Z"}function a(n){function t(n){var t=n*h>0?1:0,e=-n*h>0?l+r:l-r;return 0===h&&(e=l),"A"+e+" "+e+" "+Math.abs(h)+" 0 "+t+" "}var r=Math.max(f(n),n.dy)/2,e=n.x0,i=n.x1,u=n.y0,o=n.y1,a=n.x1-n.x0,c=n.y1-n.y0,s=(n.r0+n.r1)/2||5+r,l=Math.min(Math.abs(c)/2.1,s),h=Math.atan2(c-2*l,a),d=(Math.sqrt(Math.max(0,a*a+(c-2*l)*(c-2*l))),n.y1>n.y0?1:-1),p=r*Math.sin(h),v=r*Math.cos(h),g=n.x0-l*Math.sin(Math.abs(h)),_=n.x1-l*Math.sin(Math.abs(h)),y=n.y0+l*d*(1-Math.cos(h)),m=n.y1-l*d*(1-Math.cos(h));return"M"+[e,u-r]+" "+t(-1)+[g-p,y-v]+" L"+[_-p,m-v]+" "+t(-1)+[i,o+r]+" L"+[i,o-r]+" "+t(1)+[_+p,m-v]+" L"+[g+p,y-v]+" "+t(1)+[e,u+r]+" Z"}var f=Jn;return t.minWidth=function(n){return arguments.length?(f=Hn(n),t):f},t}function Hn(n){if("function"!=typeof n)throw new Error;return n}function Qn(){function n(n){var u=n.selection?n.selection():n;u.select("text").empty()&&(u.append("title"),u.append("line").attr("x1",0).attr("x2",0),u.append("rect").attr("class","node-body"),u.append("text").attr("class","node-value").attr("dy",".35em").attr("text-anchor","middle"),u.append("text").attr("class","node-title").attr("dy",".35em"),u.append("rect").attr("class","node-click-target").attr("x",-5).attr("y",-5).attr("width",10).style("fill","none").style("visibility","hidden").style("pointer-events","all"),u.attr("transform",nt)),u.each(function(o){function a(n){var t=p,r=t.titleAbove?-10:(n.y1-n.y0)/2;return"translate("+(t.titleAbove?t.right?4:-4:t.right?-4:n.x1-n.x0+4)+","+r+")"}var f=i.select(this).select("title"),c=i.select(this).select(".node-value"),s=i.select(this).select(".node-title"),l=i.select(this).select("line"),h=i.select(this).select(".node-body"),d=i.select(this).select(".node-click-target"),p=tt(o);p.dy=o.y0===o.y1?0:Math.max(1,o.y1-o.y0);var v=o.x1-o.x0>2,g=t(o)+(!v&&r(o)?" ("+r(o)+")":"");f.text(g),c.text(r).style("display",v?"inline":"none"),s.attr("text-anchor",p.right?"end":"start").text(g).each(rt,100),n!==u&&(s=s.transition(n),l=l.transition(n),h=h.transition(n),d=d.transition(n)),n.attr("transform",nt),l.attr("y1",function(n){return p.titleAbove?-5:0}).attr("y2",function(n){return p.dy}).style("display",function(n){return n.y0!==n.y1&&e(n)?"inline":"none"}),d.attr("height",function(n){return p.dy+5}),h.attr("width",function(n){return n.x1-n.x0}).attr("height",function(n){return p.dy}),s.attr("transform",a).style("display",function(n){return n.y0!==n.y1&&e(n)?"inline":"none"}),c.style("font-size",function(n){return Math.min(n.x1-n.x0-4,n.y1-n.y0-4)+"px"}).attr("transform",function(n){var t=n.x1-n.x0,r=n.y1-n.y0;return"translate("+t/2+","+r/2+") rotate("+(t>r?0:-90)+")"})})}var t=function(n){return void 0!==n.title?n.title:n.id},r=function(n){return null},e=function(n){return!!t(n)};return n.nodeVisible=function(t){return arguments.length?(e=et(t),n):e},n.nodeTitle=function(r){return arguments.length?(t=et(r),n):t},n.nodeValue=function(t){return arguments.length?(r=et(t),n):r},n}function nt(n){return"translate("+n.x0+","+n.y0+")"}function tt(n){var t=!1,r=!1;return t=n.spaceAbove>20&&"type"!==n.style,0===n.incoming.length?(r=!0,t=!1):0===n.outgoing.length&&(r=!1,t=!1),{titleAbove:t,right:r}}function rt(n,t){var r=i.select(this),e=r.text().split(/\n/);1!==e.length&&(r.text(null),e.forEach(function(n,t){r.append("tspan").attr("x",0).attr("dy",1.1*(0===t?.7-e.length/2:1)+"em").text(n)}))}function et(n){if("function"!=typeof n)throw new Error;return n}function it(n,t){var r={top:Number.MAX_VALUE,left:Number.MAX_VALUE,bottom:0,right:0};return t.nodes.forEach(function(t){var e=n.get(t);e&&(e.x0<r.left&&(r.left=e.x0),e.x1>r.right&&(r.right=e.x1),e.y0<r.top&&(r.top=e.y0),e.y1>r.bottom&&(r.bottom=e.y1))}),t.rect=r,t}function ut(n,t,r){return function(e){var i=[],u=n(e.source),o=n(e.target),a=t(e);return i.push(u+" → "+o),a&&i.push(a),i.push(r(e.value)),i.join("\n")}}function ot(){function n(n){(n.selection?n.selection():n).each(function(e){var u=i.select(this),o=u.selectAll(".sankey").data([{type:"sankey"}]),a=o.enter().append("g").classed("sankey",!0);a.append("g").classed("groups",!0),a.append("g").classed("links",!0),a.append("g").classed("nodes",!0),a.append("g").classed("slice-titles",!0),o=o.merge(a),o.attr("transform","translate("+v.left+","+v.top+")");var s=r.map(e.nodes,function(n){return n.id}),l=(y||[]).map(function(n){return it(s,n)});t(o,n,e.nodes),f(o,n,e.links),c(u,l),u.on("click",function(){k.call("selectNode",this,null),k.call("selectLink",this,null)})})}function t(n,t,r){var e=n.select(".nodes").selectAll(".node").data(r,function(n){return n.id});e.exit().remove(),e=e.merge(e.enter().append("g").attr("class","node").call(w).on("click",p)),t instanceof u.transition?e.transition(t).call(w):e.call(w)}function f(n,t,r){var e=n.select(".links").selectAll(".link").data(r,function(n){return n.source.id+"-"+n.target.id+"-"+n.type});e.exit().remove();var o=e.enter().append("g").attr("class","link").on("click",d);o.append("path").attr("d",b).style("fill","white").each(function(n){this._current=n}),o.append("title"),e=e.merge(o),t instanceof u.transition?e.transition(t).select("path").style("fill",x).each(function(n){i.select(this).transition(t).attrTween("d",s)}):e.select("path").style("fill",x).attr("d",b),e.select("title").text(E),e.classed("selected",function(n){return n.id===_}),e.sort(h)}function c(n,t){var r=n.select(".groups").selectAll(".group").data(t);r.exit().remove();var e=r.enter().append("g").attr("class","group");e.append("rect"),e.append("text").attr("x",-10).attr("y",-25),r=r.merge(e),r.style("display",function(n){return n.title?"inline":"none"}).attr("transform",function(n){return"translate("+n.rect.left+","+n.rect.top+")"}).select("rect").attr("x",-10).attr("y",-20).attr("width",function(n){return n.rect.right-n.rect.left+20}).attr("height",function(n){return n.rect.bottom-n.rect.top+30}),r.select("text").text(function(n){return n.title})}function s(n){n.points.forEach(function(n){n.ri>1e3&&(n.ri=1e3),n.ro>1e3&&(n.ro=1e3)});var t=e.interpolate(l(this._current),n),r=this;return function(n){return r._current=t(n),b(r._current)}}function l(n){return{points:n.points,dy:n.dy}}function h(n,t){
return n.id===_?1:t.id===_?-1:!n.source||n.target&&"d"===n.target.direction?-1:!t.source||t.target&&"d"===t.target.direction?1:!n.target||n.source&&"d"===n.source.direction?-1:!t.target||t.source&&"d"===t.source.direction?1:n.dy-t.dy}function d(n){i.event.stopPropagation();var t=i.select(this).node();k.call("selectLink",t,n)}function p(n){i.event.stopPropagation();var t=i.select(this).node();k.call("selectNode",t,n)}var v={top:0,right:0,bottom:0,left:0},g=null,_=null,y=[],m=a.format(".3s"),w=Qn(),b=Xn(),x=function(n){return null},E=ut(w.nodeTitle(),function(n){return n.type},m),k=o.dispatch("selectNode","selectGroup","selectLink");return n.margins=function(n){return arguments.length?(v={top:void 0===n.top?v.top:n.top,left:void 0===n.left?v.left:n.left,bottom:void 0===n.bottom?v.bottom:n.bottom,right:void 0===n.right?v.right:n.right},this):v},n.groups=function(n){return arguments.length?(y=n,this):y},n.nodeTitle=function(n){return arguments.length?(w.nodeTitle(n),E=ut(n,function(n){return n.type},m),this):w.nodeTitle()},n.nodeValue=function(n){return arguments.length?(w.nodeValue(n),this):w.nodeValue()},n.linkTitle=function(n){return arguments.length?(E=n,this):E},n.linkColor=function(n){return arguments.length?(x=n,this):x},n.linkMinWidth=function(n){return arguments.length?(b.minWidth(n),this):b.minWidth()},n.selectNode=function(n){return g=n,this},n.selectLink=function(n){return _=n,this},n.on=function(){var t=k.on.apply(k,arguments);return t===k?n:t},n}var at,ft="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},ct=function(n,t){return t={exports:{}},n(t,t.exports),t.exports}(function(n,t){(function(){function r(n,t,r){switch(r.length){case 0:return n.call(t);case 1:return n.call(t,r[0]);case 2:return n.call(t,r[0],r[1]);case 3:return n.call(t,r[0],r[1],r[2])}return n.apply(t,r)}function e(n,t,r,e){for(var i=-1,u=null==n?0:n.length;++i<u;){var o=n[i];t(e,o,r(o),n)}return e}function i(n,t){for(var r=-1,e=null==n?0:n.length;++r<e&&!1!==t(n[r],r,n););return n}function u(n,t){for(var r=null==n?0:n.length;r--&&!1!==t(n[r],r,n););return n}function o(n,t){for(var r=-1,e=null==n?0:n.length;++r<e;)if(!t(n[r],r,n))return!1;return!0}function a(n,t){for(var r=-1,e=null==n?0:n.length,i=0,u=[];++r<e;){var o=n[r];t(o,r,n)&&(u[i++]=o)}return u}function f(n,t){return!!(null==n?0:n.length)&&m(n,t,0)>-1}function c(n,t,r){for(var e=-1,i=null==n?0:n.length;++e<i;)if(r(t,n[e]))return!0;return!1}function s(n,t){for(var r=-1,e=null==n?0:n.length,i=Array(e);++r<e;)i[r]=t(n[r],r,n);return i}function l(n,t){for(var r=-1,e=t.length,i=n.length;++r<e;)n[i+r]=t[r];return n}function h(n,t,r,e){var i=-1,u=null==n?0:n.length;for(e&&u&&(r=n[++i]);++i<u;)r=t(r,n[i],i,n);return r}function d(n,t,r,e){var i=null==n?0:n.length;for(e&&i&&(r=n[--i]);i--;)r=t(r,n[i],i,n);return r}function p(n,t){for(var r=-1,e=null==n?0:n.length;++r<e;)if(t(n[r],r,n))return!0;return!1}function v(n){return n.split("")}function g(n){return n.match(Tt)||[]}function _(n,t,r){var e;return r(n,function(n,r,i){if(t(n,r,i))return e=r,!1}),e}function y(n,t,r,e){for(var i=n.length,u=r+(e?1:-1);e?u--:++u<i;)if(t(n[u],u,n))return u;return-1}function m(n,t,r){return t===t?G(n,t,r):y(n,b,r)}function w(n,t,r,e){for(var i=r-1,u=n.length;++i<u;)if(e(n[i],t))return i;return-1}function b(n){return n!==n}function x(n,t){var r=null==n?0:n.length;return r?j(n,t)/r:On}function E(n){return function(t){return null==t?nn:t[n]}}function k(n){return function(t){return null==n?nn:n[t]}}function M(n,t,r,e,i){return i(n,function(n,i,u){r=e?(e=!1,n):t(r,n,i,u)}),r}function A(n,t){var r=n.length;for(n.sort(t);r--;)n[r]=n[r].value;return n}function j(n,t){for(var r,e=-1,i=n.length;++e<i;){var u=t(n[e]);u!==nn&&(r=r===nn?u:r+u)}return r}function L(n,t){for(var r=-1,e=Array(n);++r<n;)e[r]=t(r);return e}function I(n,t){return s(t,function(t){return[t,n[t]]})}function N(n){return function(t){return n(t)}}function C(n,t){return s(t,function(t){return n[t]})}function O(n,t){return n.has(t)}function P(n,t){for(var r=-1,e=n.length;++r<e&&m(t,n[r],0)>-1;);return r}function z(n,t){for(var r=n.length;r--&&m(t,n[r],0)>-1;);return r}function S(n,t){for(var r=n.length,e=0;r--;)n[r]===t&&++e;return e}function R(n){return"\\"+kr[n]}function T(n,t){return null==n?nn:n[t]}function U(n){return vr.test(n)}function D(n){return gr.test(n)}function W(n){for(var t,r=[];!(t=n.next()).done;)r.push(t.value);return r}function B(n){var t=-1,r=Array(n.size);return n.forEach(function(n,e){r[++t]=[e,n]}),r}function F(n,t){return function(r){return n(t(r))}}function $(n,t){for(var r=-1,e=n.length,i=0,u=[];++r<e;){var o=n[r];o!==t&&o!==an||(n[r]=an,u[i++]=r)}return u}function V(n,t){return"__proto__"==t?nn:n[t]}function q(n){var t=-1,r=Array(n.size);return n.forEach(function(n){r[++t]=n}),r}function Z(n){var t=-1,r=Array(n.size);return n.forEach(function(n){r[++t]=[n,n]}),r}function G(n,t,r){for(var e=r-1,i=n.length;++e<i;)if(n[e]===t)return e;return-1}function Y(n,t,r){for(var e=r+1;e--;)if(n[e]===t)return e;return e}function K(n){return U(n)?X(n):Br(n)}function J(n){return U(n)?H(n):v(n)}function X(n){for(var t=dr.lastIndex=0;dr.test(n);)++t;return t}function H(n){return n.match(dr)||[]}function Q(n){return n.match(pr)||[]}var nn,tn=200,rn="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",en="Expected a function",un="__lodash_hash_undefined__",on=500,an="__lodash_placeholder__",fn=1,cn=2,sn=4,ln=1,hn=2,dn=1,pn=2,vn=4,gn=8,_n=16,yn=32,mn=64,wn=128,bn=256,xn=512,En=30,kn="...",Mn=800,An=16,jn=1,Ln=2,In=1/0,Nn=9007199254740991,Cn=1.7976931348623157e308,On=NaN,Pn=4294967295,zn=Pn-1,Sn=Pn>>>1,Rn=[["ary",wn],["bind",dn],["bindKey",pn],["curry",gn],["curryRight",_n],["flip",xn],["partial",yn],["partialRight",mn],["rearg",bn]],Tn="[object Arguments]",Un="[object Array]",Dn="[object AsyncFunction]",Wn="[object Boolean]",Bn="[object Date]",Fn="[object DOMException]",$n="[object Error]",Vn="[object Function]",qn="[object GeneratorFunction]",Zn="[object Map]",Gn="[object Number]",Yn="[object Null]",Kn="[object Object]",Jn="[object Proxy]",Xn="[object RegExp]",Hn="[object Set]",Qn="[object String]",nt="[object Symbol]",tt="[object Undefined]",rt="[object WeakMap]",et="[object WeakSet]",it="[object ArrayBuffer]",ut="[object DataView]",ot="[object Float32Array]",at="[object Float64Array]",ct="[object Int8Array]",st="[object Int16Array]",lt="[object Int32Array]",ht="[object Uint8Array]",dt="[object Uint8ClampedArray]",pt="[object Uint16Array]",vt="[object Uint32Array]",gt=/\b__p \+= '';/g,_t=/\b(__p \+=) '' \+/g,yt=/(__e\(.*?\)|\b__t\)) \+\n'';/g,mt=/&(?:amp|lt|gt|quot|#39);/g,wt=/[&<>"']/g,bt=RegExp(mt.source),xt=RegExp(wt.source),Et=/<%-([\s\S]+?)%>/g,kt=/<%([\s\S]+?)%>/g,Mt=/<%=([\s\S]+?)%>/g,At=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,jt=/^\w*$/,Lt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,It=/[\\^$.*+?()[\]{}|]/g,Nt=RegExp(It.source),Ct=/^\s+|\s+$/g,Ot=/^\s+/,Pt=/\s+$/,zt=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,St=/\{\n\/\* \[wrapped with (.+)\] \*/,Rt=/,? & /,Tt=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Ut=/\\(\\)?/g,Dt=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Wt=/\w*$/,Bt=/^[-+]0x[0-9a-f]+$/i,Ft=/^0b[01]+$/i,$t=/^\[object .+?Constructor\]$/,Vt=/^0o[0-7]+$/i,qt=/^(?:0|[1-9]\d*)$/,Zt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Gt=/($^)/,Yt=/['\n\r\u2028\u2029\\]/g,Kt="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Jt="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Xt="["+Jt+"]",Ht="["+Kt+"]",Qt="[a-z\\xdf-\\xf6\\xf8-\\xff]",nr="[^\\ud800-\\udfff"+Jt+"\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",tr="\\ud83c[\\udffb-\\udfff]",rr="(?:\\ud83c[\\udde6-\\uddff]){2}",er="[\\ud800-\\udbff][\\udc00-\\udfff]",ir="[A-Z\\xc0-\\xd6\\xd8-\\xde]",ur="(?:"+Qt+"|"+nr+")",or="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?",ar="(?:\\u200d(?:"+["[^\\ud800-\\udfff]",rr,er].join("|")+")[\\ufe0e\\ufe0f]?"+or+")*",fr="[\\ufe0e\\ufe0f]?"+or+ar,cr="(?:"+["[\\u2700-\\u27bf]",rr,er].join("|")+")"+fr,sr="(?:"+["[^\\ud800-\\udfff]"+Ht+"?",Ht,rr,er,"[\\ud800-\\udfff]"].join("|")+")",lr=RegExp("['’]","g"),hr=RegExp(Ht,"g"),dr=RegExp(tr+"(?="+tr+")|"+sr+fr,"g"),pr=RegExp([ir+"?"+Qt+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[Xt,ir,"$"].join("|")+")","(?:[A-Z\\xc0-\\xd6\\xd8-\\xde]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[Xt,ir+ur,"$"].join("|")+")",ir+"?"+ur+"+(?:['’](?:d|ll|m|re|s|t|ve))?",ir+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])","\\d+",cr].join("|"),"g"),vr=RegExp("[\\u200d\\ud800-\\udfff"+Kt+"\\ufe0e\\ufe0f]"),gr=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,_r=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],yr=-1,mr={};mr[ot]=mr[at]=mr[ct]=mr[st]=mr[lt]=mr[ht]=mr[dt]=mr[pt]=mr[vt]=!0,mr[Tn]=mr[Un]=mr[it]=mr[Wn]=mr[ut]=mr[Bn]=mr[$n]=mr[Vn]=mr[Zn]=mr[Gn]=mr[Kn]=mr[Xn]=mr[Hn]=mr[Qn]=mr[rt]=!1;var wr={};wr[Tn]=wr[Un]=wr[it]=wr[ut]=wr[Wn]=wr[Bn]=wr[ot]=wr[at]=wr[ct]=wr[st]=wr[lt]=wr[Zn]=wr[Gn]=wr[Kn]=wr[Xn]=wr[Hn]=wr[Qn]=wr[nt]=wr[ht]=wr[dt]=wr[pt]=wr[vt]=!0,wr[$n]=wr[Vn]=wr[rt]=!1;var br={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"},xr={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Er={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},kr={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Mr=parseFloat,Ar=parseInt,jr="object"==typeof ft&&ft&&ft.Object===Object&&ft,Lr="object"==typeof self&&self&&self.Object===Object&&self,Ir=jr||Lr||Function("return this")(),Nr=t&&!t.nodeType&&t,Cr=Nr&&!0&&n&&!n.nodeType&&n,Or=Cr&&Cr.exports===Nr,Pr=Or&&jr.process,zr=function(){try{return Pr&&Pr.binding&&Pr.binding("util")}catch(n){}}(),Sr=zr&&zr.isArrayBuffer,Rr=zr&&zr.isDate,Tr=zr&&zr.isMap,Ur=zr&&zr.isRegExp,Dr=zr&&zr.isSet,Wr=zr&&zr.isTypedArray,Br=E("length"),Fr=k(br),$r=k(xr),Vr=k(Er),qr=function n(t){function v(n){if(tf(n)&&!dh(n)&&!(n instanceof X)){if(n instanceof G)return n;if(ds.call(n,"__wrapped__"))return Xu(n)}return new G(n)}function k(){}function G(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=nn}function X(n){this.__wrapped__=n,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Pn,this.__views__=[]}function H(){var n=new X(this.__wrapped__);return n.__actions__=Pi(this.__actions__),n.__dir__=this.__dir__,n.__filtered__=this.__filtered__,n.__iteratees__=Pi(this.__iteratees__),n.__takeCount__=this.__takeCount__,n.__views__=Pi(this.__views__),n}function ft(){if(this.__filtered__){var n=new X(this);n.__dir__=-1,n.__filtered__=!0}else n=this.clone(),n.__dir__*=-1;return n}function Tt(){var n=this.__wrapped__.value(),t=this.__dir__,r=dh(n),e=t<0,i=r?n.length:0,u=xu(0,i,this.__views__),o=u.start,a=u.end,f=a-o,c=e?a:o-1,s=this.__iteratees__,l=s.length,h=0,d=$s(f,this.__takeCount__);if(!r||!e&&i==f&&d==f)return gi(n,this.__actions__);var p=[];n:for(;f--&&h<d;){c+=t;for(var v=-1,g=n[c];++v<l;){var _=s[v],y=_.iteratee,m=_.type,w=y(g);if(m==Ln)g=w;else if(!w){if(m==jn)continue n;break n}}p[h++]=g}return p}function Kt(n){var t=this,r=-1,e=null==n?0:n.length;for(this.clear();++r<e;){var i=n[r];t.set(i[0],i[1])}}function Jt(){this.__data__=Qs?Qs(null):{},this.size=0}function Xt(n){var t=this.has(n)&&delete this.__data__[n];return this.size-=t?1:0,t}function Ht(n){var t=this.__data__;if(Qs){var r=t[n];return r===un?nn:r}return ds.call(t,n)?t[n]:nn}function Qt(n){var t=this.__data__;return Qs?t[n]!==nn:ds.call(t,n)}function nr(n,t){var r=this.__data__;return this.size+=this.has(n)?0:1,r[n]=Qs&&t===nn?un:t,this}function tr(n){var t=this,r=-1,e=null==n?0:n.length;for(this.clear();++r<e;){var i=n[r];t.set(i[0],i[1])}}function rr(){this.__data__=[],this.size=0}function er(n){var t=this.__data__,r=Yr(t,n);return!(r<0)&&(r==t.length-1?t.pop():js.call(t,r,1),--this.size,!0)}function ir(n){var t=this.__data__,r=Yr(t,n);return r<0?nn:t[r][1]}function ur(n){return Yr(this.__data__,n)>-1}function or(n,t){var r=this.__data__,e=Yr(r,n);return e<0?(++this.size,r.push([n,t])):r[e][1]=t,this}function ar(n){var t=this,r=-1,e=null==n?0:n.length;for(this.clear();++r<e;){var i=n[r];t.set(i[0],i[1])}}function fr(){this.size=0,this.__data__={hash:new Kt,map:new(Ks||tr),string:new Kt}}function cr(n){var t=yu(this,n).delete(n);return this.size-=t?1:0,t}function sr(n){return yu(this,n).get(n)}function dr(n){return yu(this,n).has(n)}function pr(n,t){var r=yu(this,n),e=r.size;return r.set(n,t),this.size+=r.size==e?0:1,this}function vr(n){var t=this,r=-1,e=null==n?0:n.length;for(this.__data__=new ar;++r<e;)t.add(n[r])}function gr(n){return this.__data__.set(n,un),this}function br(n){return this.__data__.has(n)}function xr(n){var t=this.__data__=new tr(n);this.size=t.size}function Er(){this.__data__=new tr,this.size=0}function kr(n){var t=this.__data__,r=t.delete(n);return this.size=t.size,r}function jr(n){return this.__data__.get(n)}function Lr(n){return this.__data__.has(n)}function Nr(n,t){var r=this.__data__;if(r instanceof tr){var e=r.__data__;if(!Ks||e.length<tn-1)return e.push([n,t]),this.size=++r.size,this;r=this.__data__=new ar(e)}return r.set(n,t),this.size=r.size,this}function Cr(n,t){var r=dh(n),e=!r&&hh(n),i=!r&&!e&&vh(n),u=!r&&!e&&!i&&wh(n),o=r||e||i||u,a=o?L(n.length,os):[],f=a.length;for(var c in n)!t&&!ds.call(n,c)||o&&("length"==c||i&&("offset"==c||"parent"==c)||u&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||Nu(c,f))||a.push(c);return a}function Pr(n){var t=n.length;return t?n[Xe(0,t-1)]:nn}function zr(n,t){return Gu(Pi(n),ne(t,0,n.length))}function Br(n){return Gu(Pi(n))}function Zr(n,t,r){(r===nn||Ba(n[t],r))&&(r!==nn||t in n)||Hr(n,t,r)}function Gr(n,t,r){var e=n[t];ds.call(n,t)&&Ba(e,r)&&(r!==nn||t in n)||Hr(n,t,r)}function Yr(n,t){for(var r=n.length;r--;)if(Ba(n[r][0],t))return r;return-1}function Kr(n,t,r,e){return ll(n,function(n,i,u){t(e,n,r(n),u)}),e}function Jr(n,t){return n&&zi(t,Tf(t),n)}function Xr(n,t){return n&&zi(t,Uf(t),n)}function Hr(n,t,r){"__proto__"==t&&Cs?Cs(n,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):n[t]=r}function Qr(n,t){for(var r=-1,e=t.length,i=Qc(e),u=null==n;++r<e;)i[r]=u?nn:zf(n,t[r]);return i}function ne(n,t,r){return n===n&&(r!==nn&&(n=n<=r?n:r),t!==nn&&(n=n>=t?n:t)),n}function te(n,t,r,e,u,o){var a,f=t&fn,c=t&cn,s=t&sn;if(r&&(a=u?r(n,e,u,o):r(n)),a!==nn)return a;if(!nf(n))return n;var l=dh(n);if(l){if(a=Mu(n),!f)return Pi(n,a)}else{var h=El(n),d=h==Vn||h==qn;if(vh(n))return Ei(n,f);if(h==Kn||h==Tn||d&&!u){if(a=c||d?{}:Au(n),!f)return c?Ri(n,Xr(a,n)):Si(n,Jr(a,n))}else{if(!wr[h])return u?n:{};a=ju(n,h,f)}}o||(o=new xr);var p=o.get(n);if(p)return p;if(o.set(n,a),mh(n))return n.forEach(function(e){a.add(te(e,t,r,e,n,o))}),a;if(_h(n))return n.forEach(function(e,i){a.set(i,te(e,t,r,i,n,o))}),a;var v=s?c?pu:du:c?Uf:Tf,g=l?nn:v(n);return i(g||n,function(e,i){g&&(i=e,e=n[i]),Gr(a,i,te(e,t,r,i,n,o))}),a}function re(n){var t=Tf(n);return function(r){return ee(r,n,t)}}function ee(n,t,r){var e=r.length;if(null==n)return!e;for(n=is(n);e--;){var i=r[e],u=t[i],o=n[i];if(o===nn&&!(i in n)||!u(o))return!1}return!0}function ie(n,t,r){if("function"!=typeof n)throw new as(en);return Al(function(){n.apply(nn,r)},t)}function ue(n,t,r,e){var i=-1,u=f,o=!0,a=n.length,l=[],h=t.length;if(!a)return l;r&&(t=s(t,N(r))),e?(u=c,o=!1):t.length>=tn&&(u=O,o=!1,t=new vr(t));n:for(;++i<a;){var d=n[i],p=null==r?d:r(d);if(d=e||0!==d?d:0,o&&p===p){for(var v=h;v--;)if(t[v]===p)continue n;l.push(d)}else u(t,p,e)||l.push(d)}return l}function oe(n,t){var r=!0;return ll(n,function(n,e,i){return r=!!t(n,e,i)}),r}function ae(n,t,r){for(var e=-1,i=n.length;++e<i;){var u=n[e],o=t(u);if(null!=o&&(a===nn?o===o&&!df(o):r(o,a)))var a=o,f=u}return f}function fe(n,t,r,e){var i=n.length;for(r=mf(r),r<0&&(r=-r>i?0:i+r),e=e===nn||e>i?i:mf(e),e<0&&(e+=i),e=r>e?0:wf(e);r<e;)n[r++]=t;return n}function ce(n,t){var r=[];return ll(n,function(n,e,i){t(n,e,i)&&r.push(n)}),r}function se(n,t,r,e,i){var u=-1,o=n.length;for(r||(r=Iu),i||(i=[]);++u<o;){var a=n[u];t>0&&r(a)?t>1?se(a,t-1,r,e,i):l(i,a):e||(i[i.length]=a)}return i}function le(n,t){return n&&dl(n,t,Tf)}function he(n,t){return n&&pl(n,t,Tf)}function de(n,t){return a(t,function(t){return Xa(n[t])})}function pe(n,t){t=bi(t,n);for(var r=0,e=t.length;null!=n&&r<e;)n=n[Yu(t[r++])];return r&&r==e?n:nn}function ve(n,t,r){var e=t(n);return dh(n)?e:l(e,r(n))}function ge(n){return null==n?n===nn?tt:Yn:Ns&&Ns in is(n)?bu(n):Bu(n)}function _e(n,t){return n>t}function ye(n,t){return null!=n&&ds.call(n,t)}function me(n,t){return null!=n&&t in is(n)}function we(n,t,r){return n>=$s(t,r)&&n<Fs(t,r)}function be(n,t,r){for(var e=r?c:f,i=n[0].length,u=n.length,o=u,a=Qc(u),l=1/0,h=[];o--;){var d=n[o];o&&t&&(d=s(d,N(t))),l=$s(d.length,l),a[o]=!r&&(t||i>=120&&d.length>=120)?new vr(o&&d):nn}d=n[0];var p=-1,v=a[0];n:for(;++p<i&&h.length<l;){var g=d[p],_=t?t(g):g;if(g=r||0!==g?g:0,!(v?O(v,_):e(h,_,r))){for(o=u;--o;){var y=a[o];if(!(y?O(y,_):e(n[o],_,r)))continue n}v&&v.push(_),h.push(g)}}return h}function xe(n,t,r,e){return le(n,function(n,i,u){t(e,r(n),i,u)}),e}function Ee(n,t,e){t=bi(t,n),n=$u(n,t);var i=null==n?n:n[Yu(_o(t))];return null==i?nn:r(i,n,e)}function ke(n){return tf(n)&&ge(n)==Tn}function Me(n){return tf(n)&&ge(n)==it}function Ae(n){return tf(n)&&ge(n)==Bn}function je(n,t,r,e,i){return n===t||(null==n||null==t||!tf(n)&&!tf(t)?n!==n&&t!==t:Le(n,t,r,e,je,i))}function Le(n,t,r,e,i,u){var o=dh(n),a=dh(t),f=o?Un:El(n),c=a?Un:El(t);f=f==Tn?Kn:f,c=c==Tn?Kn:c;var s=f==Kn,l=c==Kn,h=f==c;if(h&&vh(n)){if(!vh(t))return!1;o=!0,s=!1}if(h&&!s)return u||(u=new xr),o||wh(n)?cu(n,t,r,e,i,u):su(n,t,f,r,e,i,u);if(!(r&ln)){var d=s&&ds.call(n,"__wrapped__"),p=l&&ds.call(t,"__wrapped__");if(d||p){var v=d?n.value():n,g=p?t.value():t;return u||(u=new xr),i(v,g,r,e,u)}}return!!h&&(u||(u=new xr),lu(n,t,r,e,i,u))}function Ie(n){return tf(n)&&El(n)==Zn}function Ne(n,t,r,e){var i=r.length,u=i,o=!e;if(null==n)return!u;for(n=is(n);i--;){var a=r[i];if(o&&a[2]?a[1]!==n[a[0]]:!(a[0]in n))return!1}for(;++i<u;){a=r[i];var f=a[0],c=n[f],s=a[1];if(o&&a[2]){if(c===nn&&!(f in n))return!1}else{var l=new xr;if(e)var h=e(c,s,f,n,t,l);if(!(h===nn?je(s,c,ln|hn,e,l):h))return!1}}return!0}function Ce(n){return!(!nf(n)||Su(n))&&(Xa(n)?ms:$t).test(Ku(n))}function Oe(n){return tf(n)&&ge(n)==Xn}function Pe(n){return tf(n)&&El(n)==Hn}function ze(n){return tf(n)&&Qa(n.length)&&!!mr[ge(n)]}function Se(n){return"function"==typeof n?n:null==n?jc:"object"==typeof n?dh(n)?Be(n[0],n[1]):We(n):Sc(n)}function Re(n){if(!Ru(n))return Bs(n);var t=[];for(var r in is(n))ds.call(n,r)&&"constructor"!=r&&t.push(r);return t}function Te(n){if(!nf(n))return Wu(n);var t=Ru(n),r=[];for(var e in n)("constructor"!=e||!t&&ds.call(n,e))&&r.push(e);return r}function Ue(n,t){return n<t}function De(n,t){var r=-1,e=Fa(n)?Qc(n.length):[];return ll(n,function(n,i,u){e[++r]=t(n,i,u)}),e}function We(n){var t=mu(n);return 1==t.length&&t[0][2]?Uu(t[0][0],t[0][1]):function(r){return r===n||Ne(r,n,t)}}function Be(n,t){return Ou(n)&&Tu(t)?Uu(Yu(n),t):function(r){var e=zf(r,n);return e===nn&&e===t?Rf(r,n):je(t,e,ln|hn)}}function Fe(n,t,r,e,i){n!==t&&dl(t,function(u,o){if(nf(u))i||(i=new xr),$e(n,t,o,r,Fe,e,i);else{var a=e?e(V(n,o),u,o+"",n,t,i):nn;a===nn&&(a=u),Zr(n,o,a)}},Uf)}function $e(n,t,r,e,i,u,o){var a=V(n,r),f=V(t,r),c=o.get(f);if(c)return void Zr(n,r,c);var s=u?u(a,f,r+"",n,t,o):nn,l=s===nn;if(l){var h=dh(f),d=!h&&vh(f),p=!h&&!d&&wh(f);s=f,h||d||p?dh(a)?s=a:$a(a)?s=Pi(a):d?(l=!1,s=Ei(f,!0)):p?(l=!1,s=Li(f,!0)):s=[]:sf(f)||hh(f)?(s=a,hh(a)?s=xf(a):(!nf(a)||e&&Xa(a))&&(s=Au(f))):l=!1}l&&(o.set(f,s),i(s,f,e,u,o),o.delete(f)),Zr(n,r,s)}function Ve(n,t){var r=n.length;if(r)return t+=t<0?r:0,Nu(t,r)?n[t]:nn}function qe(n,t,r){var e=-1;return t=s(t.length?t:[jc],N(_u())),A(De(n,function(n,r,i){return{criteria:s(t,function(t){return t(n)}),index:++e,value:n}}),function(n,t){return Ni(n,t,r)})}function Ze(n,t){return Ge(n,t,function(t,r){return Rf(n,r)})}function Ge(n,t,r){for(var e=-1,i=t.length,u={};++e<i;){var o=t[e],a=pe(n,o);r(a,o)&&ei(u,bi(o,n),a)}return u}function Ye(n){return function(t){return pe(t,n)}}function Ke(n,t,r,e){var i=e?w:m,u=-1,o=t.length,a=n;for(n===t&&(t=Pi(t)),r&&(a=s(n,N(r)));++u<o;)for(var f=0,c=t[u],l=r?r(c):c;(f=i(a,l,f,e))>-1;)a!==n&&js.call(a,f,1),js.call(n,f,1);return n}function Je(n,t){for(var r=n?t.length:0,e=r-1;r--;){var i=t[r];if(r==e||i!==u){var u=i;Nu(i)?js.call(n,i,1):di(n,i)}}return n}function Xe(n,t){return n+Rs(Zs()*(t-n+1))}function He(n,t,r,e){for(var i=-1,u=Fs(Ss((t-n)/(r||1)),0),o=Qc(u);u--;)o[e?u:++i]=n,n+=r;return o}function Qe(n,t){var r="";if(!n||t<1||t>Nn)return r;do{t%2&&(r+=n),(t=Rs(t/2))&&(n+=n)}while(t);return r}function ni(n,t){return jl(Fu(n,t,jc),n+"")}function ti(n){return Pr(Jf(n))}function ri(n,t){var r=Jf(n);return Gu(r,ne(t,0,r.length))}function ei(n,t,r,e){if(!nf(n))return n;t=bi(t,n);for(var i=-1,u=t.length,o=u-1,a=n;null!=a&&++i<u;){var f=Yu(t[i]),c=r;if(i!=o){var s=a[f];c=e?e(s,f,a):nn,c===nn&&(c=nf(s)?s:Nu(t[i+1])?[]:{})}Gr(a,f,c),a=a[f]}return n}function ii(n){return Gu(Jf(n))}function ui(n,t,r){var e=-1,i=n.length;t<0&&(t=-t>i?0:i+t),r=r>i?i:r,r<0&&(r+=i),i=t>r?0:r-t>>>0,t>>>=0;for(var u=Qc(i);++e<i;)u[e]=n[e+t];return u}function oi(n,t){var r;return ll(n,function(n,e,i){return!(r=t(n,e,i))}),!!r}function ai(n,t,r){var e=0,i=null==n?e:n.length;if("number"==typeof t&&t===t&&i<=Sn){for(;e<i;){var u=e+i>>>1,o=n[u];null!==o&&!df(o)&&(r?o<=t:o<t)?e=u+1:i=u}return i}return fi(n,t,jc,r)}function fi(n,t,r,e){t=r(t);for(var i=0,u=null==n?0:n.length,o=t!==t,a=null===t,f=df(t),c=t===nn;i<u;){var s=Rs((i+u)/2),l=r(n[s]),h=l!==nn,d=null===l,p=l===l,v=df(l);if(o)var g=e||p;else g=c?p&&(e||h):a?p&&h&&(e||!d):f?p&&h&&!d&&(e||!v):!d&&!v&&(e?l<=t:l<t);g?i=s+1:u=s}return $s(u,zn)}function ci(n,t){for(var r=-1,e=n.length,i=0,u=[];++r<e;){var o=n[r],a=t?t(o):o;if(!r||!Ba(a,f)){var f=a;u[i++]=0===o?0:o}}return u}function si(n){return"number"==typeof n?n:df(n)?On:+n}function li(n){if("string"==typeof n)return n;if(dh(n))return s(n,li)+"";if(df(n))return cl?cl.call(n):"";var t=n+"";return"0"==t&&1/n==-In?"-0":t}function hi(n,t,r){var e=-1,i=f,u=n.length,o=!0,a=[],s=a;if(r)o=!1,i=c;else if(u>=tn){var l=t?null:ml(n);if(l)return q(l);o=!1,i=O,s=new vr}else s=t?[]:a;n:for(;++e<u;){var h=n[e],d=t?t(h):h;if(h=r||0!==h?h:0,o&&d===d){for(var p=s.length;p--;)if(s[p]===d)continue n;t&&s.push(d),a.push(h)}else i(s,d,r)||(s!==a&&s.push(d),a.push(h))}return a}function di(n,t){return t=bi(t,n),null==(n=$u(n,t))||delete n[Yu(_o(t))]}function pi(n,t,r,e){return ei(n,t,r(pe(n,t)),e)}function vi(n,t,r,e){for(var i=n.length,u=e?i:-1;(e?u--:++u<i)&&t(n[u],u,n););return r?ui(n,e?0:u,e?u+1:i):ui(n,e?u+1:0,e?i:u)}function gi(n,t){var r=n;return r instanceof X&&(r=r.value()),h(t,function(n,t){return t.func.apply(t.thisArg,l([n],t.args))},r)}function _i(n,t,r){var e=n.length;if(e<2)return e?hi(n[0]):[];for(var i=-1,u=Qc(e);++i<e;)for(var o=n[i],a=-1;++a<e;)a!=i&&(u[i]=ue(u[i]||o,n[a],t,r));return hi(se(u,1),t,r)}function yi(n,t,r){for(var e=-1,i=n.length,u=t.length,o={};++e<i;){var a=e<u?t[e]:nn;r(o,n[e],a)}return o}function mi(n){return $a(n)?n:[]}function wi(n){return"function"==typeof n?n:jc}function bi(n,t){return dh(n)?n:Ou(n,t)?[n]:Ll(kf(n))}function xi(n,t,r){var e=n.length;return r=r===nn?e:r,!t&&r>=e?n:ui(n,t,r)}function Ei(n,t){if(t)return n.slice();var r=n.length,e=Es?Es(r):new n.constructor(r);return n.copy(e),e}function ki(n){var t=new n.constructor(n.byteLength);return new xs(t).set(new xs(n)),t}function Mi(n,t){var r=t?ki(n.buffer):n.buffer;return new n.constructor(r,n.byteOffset,n.byteLength)}function Ai(n){var t=new n.constructor(n.source,Wt.exec(n));return t.lastIndex=n.lastIndex,t}function ji(n){return fl?is(fl.call(n)):{}}function Li(n,t){var r=t?ki(n.buffer):n.buffer;return new n.constructor(r,n.byteOffset,n.length)}function Ii(n,t){if(n!==t){var r=n!==nn,e=null===n,i=n===n,u=df(n),o=t!==nn,a=null===t,f=t===t,c=df(t);if(!a&&!c&&!u&&n>t||u&&o&&f&&!a&&!c||e&&o&&f||!r&&f||!i)return 1;if(!e&&!u&&!c&&n<t||c&&r&&i&&!e&&!u||a&&r&&i||!o&&i||!f)return-1}return 0}function Ni(n,t,r){for(var e=-1,i=n.criteria,u=t.criteria,o=i.length,a=r.length;++e<o;){var f=Ii(i[e],u[e]);if(f){if(e>=a)return f;return f*("desc"==r[e]?-1:1)}}return n.index-t.index}function Ci(n,t,r,e){for(var i=-1,u=n.length,o=r.length,a=-1,f=t.length,c=Fs(u-o,0),s=Qc(f+c),l=!e;++a<f;)s[a]=t[a];for(;++i<o;)(l||i<u)&&(s[r[i]]=n[i]);for(;c--;)s[a++]=n[i++];return s}function Oi(n,t,r,e){for(var i=-1,u=n.length,o=-1,a=r.length,f=-1,c=t.length,s=Fs(u-a,0),l=Qc(s+c),h=!e;++i<s;)l[i]=n[i];for(var d=i;++f<c;)l[d+f]=t[f];for(;++o<a;)(h||i<u)&&(l[d+r[o]]=n[i++]);return l}function Pi(n,t){var r=-1,e=n.length;for(t||(t=Qc(e));++r<e;)t[r]=n[r];return t}function zi(n,t,r,e){var i=!r;r||(r={});for(var u=-1,o=t.length;++u<o;){var a=t[u],f=e?e(r[a],n[a],a,r,n):nn;f===nn&&(f=n[a]),i?Hr(r,a,f):Gr(r,a,f)}return r}function Si(n,t){return zi(n,bl(n),t)}function Ri(n,t){return zi(n,xl(n),t)}function Ti(n,t){return function(r,i){var u=dh(r)?e:Kr,o=t?t():{};return u(r,n,_u(i,2),o)}}function Ui(n){return ni(function(t,r){var e=-1,i=r.length,u=i>1?r[i-1]:nn,o=i>2?r[2]:nn;for(u=n.length>3&&"function"==typeof u?(i--,u):nn,o&&Cu(r[0],r[1],o)&&(u=i<3?nn:u,i=1),t=is(t);++e<i;){var a=r[e];a&&n(t,a,e,u)}return t})}function Di(n,t){return function(r,e){if(null==r)return r;if(!Fa(r))return n(r,e);for(var i=r.length,u=t?i:-1,o=is(r);(t?u--:++u<i)&&!1!==e(o[u],u,o););return r}}function Wi(n){return function(t,r,e){for(var i=-1,u=is(t),o=e(t),a=o.length;a--;){var f=o[n?a:++i];if(!1===r(u[f],f,u))break}return t}}function Bi(n,t,r){function e(){return(this&&this!==Ir&&this instanceof e?u:n).apply(i?r:this,arguments)}var i=t&dn,u=Vi(n);return e}function Fi(n){return function(t){t=kf(t);var r=U(t)?J(t):nn,e=r?r[0]:t.charAt(0),i=r?xi(r,1).join(""):t.slice(1);return e[n]()+i}}function $i(n){return function(t){return h(xc(rc(t).replace(lr,"")),n,"")}}function Vi(n){return function(){var t=arguments;switch(t.length){case 0:return new n;case 1:return new n(t[0]);case 2:return new n(t[0],t[1]);case 3:return new n(t[0],t[1],t[2]);case 4:return new n(t[0],t[1],t[2],t[3]);case 5:return new n(t[0],t[1],t[2],t[3],t[4]);case 6:return new n(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new n(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var r=sl(n.prototype),e=n.apply(r,t);return nf(e)?e:r}}function qi(n,t,e){function i(){for(var o=arguments,a=arguments.length,f=Qc(a),c=a,s=gu(i);c--;)f[c]=o[c];var l=a<3&&f[0]!==s&&f[a-1]!==s?[]:$(f,s);return(a-=l.length)<e?ru(n,t,Yi,i.placeholder,nn,f,l,nn,nn,e-a):r(this&&this!==Ir&&this instanceof i?u:n,this,f)}var u=Vi(n);return i}function Zi(n){return function(t,r,e){var i=is(t);if(!Fa(t)){var u=_u(r,3);t=Tf(t),r=function(n){return u(i[n],n,i)}}var o=n(t,r,e);return o>-1?i[u?t[o]:o]:nn}}function Gi(n){return hu(function(t){var r=t.length,e=r,i=G.prototype.thru;for(n&&t.reverse();e--;){var u=t[e];if("function"!=typeof u)throw new as(en);if(i&&!o&&"wrapper"==vu(u))var o=new G([],!0)}for(e=o?e:r;++e<r;){u=t[e];var a=vu(u),f="wrapper"==a?wl(u):nn;o=f&&zu(f[0])&&f[1]==(wn|gn|yn|bn)&&!f[4].length&&1==f[9]?o[vu(f[0])].apply(o,f[3]):1==u.length&&zu(u)?o[a]():o.thru(u)}return function(){var n=this,e=arguments,i=e[0];if(o&&1==e.length&&dh(i))return o.plant(i).value();for(var u=0,a=r?t[u].apply(this,e):i;++u<r;)a=t[u].call(n,a);return a}})}function Yi(n,t,r,e,i,u,o,a,f,c){function s(){for(var _=arguments,y=arguments.length,m=Qc(y),w=y;w--;)m[w]=_[w];if(p)var b=gu(s),x=S(m,b);if(e&&(m=Ci(m,e,i,p)),u&&(m=Oi(m,u,o,p)),y-=x,p&&y<c){var E=$(m,b);return ru(n,t,Yi,s.placeholder,r,m,E,a,f,c-y)}var k=h?r:this,M=d?k[n]:n;return y=m.length,a?m=Vu(m,a):v&&y>1&&m.reverse(),l&&f<y&&(m.length=f),this&&this!==Ir&&this instanceof s&&(M=g||Vi(M)),M.apply(k,m)}var l=t&wn,h=t&dn,d=t&pn,p=t&(gn|_n),v=t&xn,g=d?nn:Vi(n);return s}function Ki(n,t){return function(r,e){return xe(r,n,t(e),{})}}function Ji(n,t){return function(r,e){var i;if(r===nn&&e===nn)return t;if(r!==nn&&(i=r),e!==nn){if(i===nn)return e;"string"==typeof r||"string"==typeof e?(r=li(r),e=li(e)):(r=si(r),e=si(e)),i=n(r,e)}return i}}function Xi(n){return hu(function(t){return t=s(t,N(_u())),ni(function(e){var i=this;return n(t,function(n){return r(n,i,e)})})})}function Hi(n,t){t=t===nn?" ":li(t);var r=t.length;if(r<2)return r?Qe(t,n):t;var e=Qe(t,Ss(n/K(t)));return U(t)?xi(J(e),0,n).join(""):e.slice(0,n)}function Qi(n,t,e,i){function u(){for(var t=arguments,f=-1,c=arguments.length,s=-1,l=i.length,h=Qc(l+c),d=this&&this!==Ir&&this instanceof u?a:n;++s<l;)h[s]=i[s];for(;c--;)h[s++]=t[++f];return r(d,o?e:this,h)}var o=t&dn,a=Vi(n);return u}function nu(n){return function(t,r,e){return e&&"number"!=typeof e&&Cu(t,r,e)&&(r=e=nn),t=yf(t),r===nn?(r=t,t=0):r=yf(r),e=e===nn?t<r?1:-1:yf(e),He(t,r,e,n)}}function tu(n){return function(t,r){return"string"==typeof t&&"string"==typeof r||(t=bf(t),r=bf(r)),n(t,r)}}function ru(n,t,r,e,i,u,o,a,f,c){var s=t&gn,l=s?o:nn,h=s?nn:o,d=s?u:nn,p=s?nn:u;t|=s?yn:mn,(t&=~(s?mn:yn))&vn||(t&=~(dn|pn));var v=[n,t,i,d,l,p,h,a,f,c],g=r.apply(nn,v);return zu(n)&&Ml(g,v),g.placeholder=e,qu(g,n,t)}function eu(n){var t=es[n];return function(n,r){if(n=bf(n),r=null==r?0:$s(mf(r),292)){var e=(kf(n)+"e").split("e");return e=(kf(t(e[0]+"e"+(+e[1]+r)))+"e").split("e"),+(e[0]+"e"+(+e[1]-r))}return t(n)}}function iu(n){return function(t){var r=El(t);return r==Zn?B(t):r==Hn?Z(t):I(t,n(t))}}function uu(n,t,r,e,i,u,o,a){var f=t&pn;if(!f&&"function"!=typeof n)throw new as(en);var c=e?e.length:0;if(c||(t&=~(yn|mn),e=i=nn),o=o===nn?o:Fs(mf(o),0),a=a===nn?a:mf(a),c-=i?i.length:0,t&mn){var s=e,l=i;e=i=nn}var h=f?nn:wl(n),d=[n,t,r,e,i,s,l,u,o,a];if(h&&Du(d,h),n=d[0],t=d[1],
r=d[2],e=d[3],i=d[4],a=d[9]=d[9]===nn?f?0:n.length:Fs(d[9]-c,0),!a&&t&(gn|_n)&&(t&=~(gn|_n)),t&&t!=dn)p=t==gn||t==_n?qi(n,t,a):t!=yn&&t!=(dn|yn)||i.length?Yi.apply(nn,d):Qi(n,t,r,e);else var p=Bi(n,t,r);return qu((h?vl:Ml)(p,d),n,t)}function ou(n,t,r,e){return n===nn||Ba(n,ss[r])&&!ds.call(e,r)?t:n}function au(n,t,r,e,i,u){return nf(n)&&nf(t)&&(u.set(t,n),Fe(n,t,nn,au,u),u.delete(t)),n}function fu(n){return sf(n)?nn:n}function cu(n,t,r,e,i,u){var o=r&ln,a=n.length,f=t.length;if(a!=f&&!(o&&f>a))return!1;var c=u.get(n);if(c&&u.get(t))return c==t;var s=-1,l=!0,h=r&hn?new vr:nn;for(u.set(n,t),u.set(t,n);++s<a;){var d=n[s],v=t[s];if(e)var g=o?e(v,d,s,t,n,u):e(d,v,s,n,t,u);if(g!==nn){if(g)continue;l=!1;break}if(h){if(!p(t,function(n,t){if(!O(h,t)&&(d===n||i(d,n,r,e,u)))return h.push(t)})){l=!1;break}}else if(d!==v&&!i(d,v,r,e,u)){l=!1;break}}return u.delete(n),u.delete(t),l}function su(n,t,r,e,i,u,o){switch(r){case ut:if(n.byteLength!=t.byteLength||n.byteOffset!=t.byteOffset)return!1;n=n.buffer,t=t.buffer;case it:return!(n.byteLength!=t.byteLength||!u(new xs(n),new xs(t)));case Wn:case Bn:case Gn:return Ba(+n,+t);case $n:return n.name==t.name&&n.message==t.message;case Xn:case Qn:return n==t+"";case Zn:var a=B;case Hn:var f=e&ln;if(a||(a=q),n.size!=t.size&&!f)return!1;var c=o.get(n);if(c)return c==t;e|=hn,o.set(n,t);var s=cu(a(n),a(t),e,i,u,o);return o.delete(n),s;case nt:if(fl)return fl.call(n)==fl.call(t)}return!1}function lu(n,t,r,e,i,u){var o=r&ln,a=du(n),f=a.length;if(f!=du(t).length&&!o)return!1;for(var c=f;c--;){var s=a[c];if(!(o?s in t:ds.call(t,s)))return!1}var l=u.get(n);if(l&&u.get(t))return l==t;var h=!0;u.set(n,t),u.set(t,n);for(var d=o;++c<f;){s=a[c];var p=n[s],v=t[s];if(e)var g=o?e(v,p,s,t,n,u):e(p,v,s,n,t,u);if(!(g===nn?p===v||i(p,v,r,e,u):g)){h=!1;break}d||(d="constructor"==s)}if(h&&!d){var _=n.constructor,y=t.constructor;_!=y&&"constructor"in n&&"constructor"in t&&!("function"==typeof _&&_ instanceof _&&"function"==typeof y&&y instanceof y)&&(h=!1)}return u.delete(n),u.delete(t),h}function hu(n){return jl(Fu(n,nn,fo),n+"")}function du(n){return ve(n,Tf,bl)}function pu(n){return ve(n,Uf,xl)}function vu(n){for(var t=n.name+"",r=tl[t],e=ds.call(tl,t)?r.length:0;e--;){var i=r[e],u=i.func;if(null==u||u==n)return i.name}return t}function gu(n){return(ds.call(v,"placeholder")?v:n).placeholder}function _u(){var n=v.iteratee||Lc;return n=n===Lc?Se:n,arguments.length?n(arguments[0],arguments[1]):n}function yu(n,t){var r=n.__data__;return Pu(t)?r["string"==typeof t?"string":"hash"]:r.map}function mu(n){for(var t=Tf(n),r=t.length;r--;){var e=t[r],i=n[e];t[r]=[e,i,Tu(i)]}return t}function wu(n,t){var r=T(n,t);return Ce(r)?r:nn}function bu(n){var t=ds.call(n,Ns),r=n[Ns];try{n[Ns]=nn;var e=!0}catch(n){}var i=gs.call(n);return e&&(t?n[Ns]=r:delete n[Ns]),i}function xu(n,t,r){for(var e=-1,i=r.length;++e<i;){var u=r[e],o=u.size;switch(u.type){case"drop":n+=o;break;case"dropRight":t-=o;break;case"take":t=$s(t,n+o);break;case"takeRight":n=Fs(n,t-o)}}return{start:n,end:t}}function Eu(n){var t=n.match(St);return t?t[1].split(Rt):[]}function ku(n,t,r){t=bi(t,n);for(var e=-1,i=t.length,u=!1;++e<i;){var o=Yu(t[e]);if(!(u=null!=n&&r(n,o)))break;n=n[o]}return u||++e!=i?u:!!(i=null==n?0:n.length)&&Qa(i)&&Nu(o,i)&&(dh(n)||hh(n))}function Mu(n){var t=n.length,r=new n.constructor(t);return t&&"string"==typeof n[0]&&ds.call(n,"index")&&(r.index=n.index,r.input=n.input),r}function Au(n){return"function"!=typeof n.constructor||Ru(n)?{}:sl(ks(n))}function ju(n,t,r){var e=n.constructor;switch(t){case it:return ki(n);case Wn:case Bn:return new e(+n);case ut:return Mi(n,r);case ot:case at:case ct:case st:case lt:case ht:case dt:case pt:case vt:return Li(n,r);case Zn:return new e;case Gn:case Qn:return new e(n);case Xn:return Ai(n);case Hn:return new e;case nt:return ji(n)}}function Lu(n,t){var r=t.length;if(!r)return n;var e=r-1;return t[e]=(r>1?"& ":"")+t[e],t=t.join(r>2?", ":" "),n.replace(zt,"{\n/* [wrapped with "+t+"] */\n")}function Iu(n){return dh(n)||hh(n)||!!(Ls&&n&&n[Ls])}function Nu(n,t){var r=typeof n;return!!(t=null==t?Nn:t)&&("number"==r||"symbol"!=r&&qt.test(n))&&n>-1&&n%1==0&&n<t}function Cu(n,t,r){if(!nf(r))return!1;var e=typeof t;return!!("number"==e?Fa(r)&&Nu(t,r.length):"string"==e&&t in r)&&Ba(r[t],n)}function Ou(n,t){if(dh(n))return!1;var r=typeof n;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=n&&!df(n))||(jt.test(n)||!At.test(n)||null!=t&&n in is(t))}function Pu(n){var t=typeof n;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==n:null===n}function zu(n){var t=vu(n),r=v[t];if("function"!=typeof r||!(t in X.prototype))return!1;if(n===r)return!0;var e=wl(r);return!!e&&n===e[0]}function Su(n){return!!vs&&vs in n}function Ru(n){var t=n&&n.constructor;return n===("function"==typeof t&&t.prototype||ss)}function Tu(n){return n===n&&!nf(n)}function Uu(n,t){return function(r){return null!=r&&(r[n]===t&&(t!==nn||n in is(r)))}}function Du(n,t){var r=n[1],e=t[1],i=r|e,u=i<(dn|pn|wn),o=e==wn&&r==gn||e==wn&&r==bn&&n[7].length<=t[8]||e==(wn|bn)&&t[7].length<=t[8]&&r==gn;if(!u&&!o)return n;e&dn&&(n[2]=t[2],i|=r&dn?0:vn);var a=t[3];if(a){var f=n[3];n[3]=f?Ci(f,a,t[4]):a,n[4]=f?$(n[3],an):t[4]}return a=t[5],a&&(f=n[5],n[5]=f?Oi(f,a,t[6]):a,n[6]=f?$(n[5],an):t[6]),a=t[7],a&&(n[7]=a),e&wn&&(n[8]=null==n[8]?t[8]:$s(n[8],t[8])),null==n[9]&&(n[9]=t[9]),n[0]=t[0],n[1]=i,n}function Wu(n){var t=[];if(null!=n)for(var r in is(n))t.push(r);return t}function Bu(n){return gs.call(n)}function Fu(n,t,e){return t=Fs(t===nn?n.length-1:t,0),function(){for(var i=arguments,u=-1,o=Fs(i.length-t,0),a=Qc(o);++u<o;)a[u]=i[t+u];u=-1;for(var f=Qc(t+1);++u<t;)f[u]=i[u];return f[t]=e(a),r(n,this,f)}}function $u(n,t){return t.length<2?n:pe(n,ui(t,0,-1))}function Vu(n,t){for(var r=n.length,e=$s(t.length,r),i=Pi(n);e--;){var u=t[e];n[e]=Nu(u,r)?i[u]:nn}return n}function qu(n,t,r){var e=t+"";return jl(n,Lu(e,Ju(Eu(e),r)))}function Zu(n){var t=0,r=0;return function(){var e=Vs(),i=An-(e-r);if(r=e,i>0){if(++t>=Mn)return arguments[0]}else t=0;return n.apply(nn,arguments)}}function Gu(n,t){var r=-1,e=n.length,i=e-1;for(t=t===nn?e:t;++r<t;){var u=Xe(r,i),o=n[u];n[u]=n[r],n[r]=o}return n.length=t,n}function Yu(n){if("string"==typeof n||df(n))return n;var t=n+"";return"0"==t&&1/n==-In?"-0":t}function Ku(n){if(null!=n){try{return hs.call(n)}catch(n){}try{return n+""}catch(n){}}return""}function Ju(n,t){return i(Rn,function(r){var e="_."+r[0];t&r[1]&&!f(n,e)&&n.push(e)}),n.sort()}function Xu(n){if(n instanceof X)return n.clone();var t=new G(n.__wrapped__,n.__chain__);return t.__actions__=Pi(n.__actions__),t.__index__=n.__index__,t.__values__=n.__values__,t}function Hu(n,t,r){t=(r?Cu(n,t,r):t===nn)?1:Fs(mf(t),0);var e=null==n?0:n.length;if(!e||t<1)return[];for(var i=0,u=0,o=Qc(Ss(e/t));i<e;)o[u++]=ui(n,i,i+=t);return o}function Qu(n){for(var t=-1,r=null==n?0:n.length,e=0,i=[];++t<r;){var u=n[t];u&&(i[e++]=u)}return i}function no(){var n=arguments,t=arguments.length;if(!t)return[];for(var r=Qc(t-1),e=arguments[0],i=t;i--;)r[i-1]=n[i];return l(dh(e)?Pi(e):[e],se(r,1))}function to(n,t,r){var e=null==n?0:n.length;return e?(t=r||t===nn?1:mf(t),ui(n,t<0?0:t,e)):[]}function ro(n,t,r){var e=null==n?0:n.length;return e?(t=r||t===nn?1:mf(t),t=e-t,ui(n,0,t<0?0:t)):[]}function eo(n,t){return n&&n.length?vi(n,_u(t,3),!0,!0):[]}function io(n,t){return n&&n.length?vi(n,_u(t,3),!0):[]}function uo(n,t,r,e){var i=null==n?0:n.length;return i?(r&&"number"!=typeof r&&Cu(n,t,r)&&(r=0,e=i),fe(n,t,r,e)):[]}function oo(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var i=null==r?0:mf(r);return i<0&&(i=Fs(e+i,0)),y(n,_u(t,3),i)}function ao(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var i=e-1;return r!==nn&&(i=mf(r),i=r<0?Fs(e+i,0):$s(i,e-1)),y(n,_u(t,3),i,!0)}function fo(n){return(null==n?0:n.length)?se(n,1):[]}function co(n){return(null==n?0:n.length)?se(n,In):[]}function so(n,t){return(null==n?0:n.length)?(t=t===nn?1:mf(t),se(n,t)):[]}function lo(n){for(var t=-1,r=null==n?0:n.length,e={};++t<r;){var i=n[t];e[i[0]]=i[1]}return e}function ho(n){return n&&n.length?n[0]:nn}function po(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var i=null==r?0:mf(r);return i<0&&(i=Fs(e+i,0)),m(n,t,i)}function vo(n){return(null==n?0:n.length)?ui(n,0,-1):[]}function go(n,t){return null==n?"":Ws.call(n,t)}function _o(n){var t=null==n?0:n.length;return t?n[t-1]:nn}function yo(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var i=e;return r!==nn&&(i=mf(r),i=i<0?Fs(e+i,0):$s(i,e-1)),t===t?Y(n,t,i):y(n,b,i,!0)}function mo(n,t){return n&&n.length?Ve(n,mf(t)):nn}function wo(n,t){return n&&n.length&&t&&t.length?Ke(n,t):n}function bo(n,t,r){return n&&n.length&&t&&t.length?Ke(n,t,_u(r,2)):n}function xo(n,t,r){return n&&n.length&&t&&t.length?Ke(n,t,nn,r):n}function Eo(n,t){var r=[];if(!n||!n.length)return r;var e=-1,i=[],u=n.length;for(t=_u(t,3);++e<u;){var o=n[e];t(o,e,n)&&(r.push(o),i.push(e))}return Je(n,i),r}function ko(n){return null==n?n:Gs.call(n)}function Mo(n,t,r){var e=null==n?0:n.length;return e?(r&&"number"!=typeof r&&Cu(n,t,r)?(t=0,r=e):(t=null==t?0:mf(t),r=r===nn?e:mf(r)),ui(n,t,r)):[]}function Ao(n,t){return ai(n,t)}function jo(n,t,r){return fi(n,t,_u(r,2))}function Lo(n,t){var r=null==n?0:n.length;if(r){var e=ai(n,t);if(e<r&&Ba(n[e],t))return e}return-1}function Io(n,t){return ai(n,t,!0)}function No(n,t,r){return fi(n,t,_u(r,2),!0)}function Co(n,t){if(null==n?0:n.length){var r=ai(n,t,!0)-1;if(Ba(n[r],t))return r}return-1}function Oo(n){return n&&n.length?ci(n):[]}function Po(n,t){return n&&n.length?ci(n,_u(t,2)):[]}function zo(n){var t=null==n?0:n.length;return t?ui(n,1,t):[]}function So(n,t,r){return n&&n.length?(t=r||t===nn?1:mf(t),ui(n,0,t<0?0:t)):[]}function Ro(n,t,r){var e=null==n?0:n.length;return e?(t=r||t===nn?1:mf(t),t=e-t,ui(n,t<0?0:t,e)):[]}function To(n,t){return n&&n.length?vi(n,_u(t,3),!1,!0):[]}function Uo(n,t){return n&&n.length?vi(n,_u(t,3)):[]}function Do(n){return n&&n.length?hi(n):[]}function Wo(n,t){return n&&n.length?hi(n,_u(t,2)):[]}function Bo(n,t){return t="function"==typeof t?t:nn,n&&n.length?hi(n,nn,t):[]}function Fo(n){if(!n||!n.length)return[];var t=0;return n=a(n,function(n){if($a(n))return t=Fs(n.length,t),!0}),L(t,function(t){return s(n,E(t))})}function $o(n,t){if(!n||!n.length)return[];var e=Fo(n);return null==t?e:s(e,function(n){return r(t,nn,n)})}function Vo(n,t){return yi(n||[],t||[],Gr)}function qo(n,t){return yi(n||[],t||[],ei)}function Zo(n){var t=v(n);return t.__chain__=!0,t}function Go(n,t){return t(n),n}function Yo(n,t){return t(n)}function Ko(){return Zo(this)}function Jo(){return new G(this.value(),this.__chain__)}function Xo(){this.__values__===nn&&(this.__values__=_f(this.value()));var n=this.__index__>=this.__values__.length;return{done:n,value:n?nn:this.__values__[this.__index__++]}}function Ho(){return this}function Qo(n){for(var t,r=this;r instanceof k;){var e=Xu(r);e.__index__=0,e.__values__=nn,t?i.__wrapped__=e:t=e;var i=e;r=r.__wrapped__}return i.__wrapped__=n,t}function na(){var n=this.__wrapped__;if(n instanceof X){var t=n;return this.__actions__.length&&(t=new X(this)),t=t.reverse(),t.__actions__.push({func:Yo,args:[ko],thisArg:nn}),new G(t,this.__chain__)}return this.thru(ko)}function ta(){return gi(this.__wrapped__,this.__actions__)}function ra(n,t,r){var e=dh(n)?o:oe;return r&&Cu(n,t,r)&&(t=nn),e(n,_u(t,3))}function ea(n,t){return(dh(n)?a:ce)(n,_u(t,3))}function ia(n,t){return se(sa(n,t),1)}function ua(n,t){return se(sa(n,t),In)}function oa(n,t,r){return r=r===nn?1:mf(r),se(sa(n,t),r)}function aa(n,t){return(dh(n)?i:ll)(n,_u(t,3))}function fa(n,t){return(dh(n)?u:hl)(n,_u(t,3))}function ca(n,t,r,e){n=Fa(n)?n:Jf(n),r=r&&!e?mf(r):0;var i=n.length;return r<0&&(r=Fs(i+r,0)),hf(n)?r<=i&&n.indexOf(t,r)>-1:!!i&&m(n,t,r)>-1}function sa(n,t){return(dh(n)?s:De)(n,_u(t,3))}function la(n,t,r,e){return null==n?[]:(dh(t)||(t=null==t?[]:[t]),r=e?nn:r,dh(r)||(r=null==r?[]:[r]),qe(n,t,r))}function ha(n,t,r){var e=dh(n)?h:M,i=arguments.length<3;return e(n,_u(t,4),r,i,ll)}function da(n,t,r){var e=dh(n)?d:M,i=arguments.length<3;return e(n,_u(t,4),r,i,hl)}function pa(n,t){return(dh(n)?a:ce)(n,La(_u(t,3)))}function va(n){return(dh(n)?Pr:ti)(n)}function ga(n,t,r){return t=(r?Cu(n,t,r):t===nn)?1:mf(t),(dh(n)?zr:ri)(n,t)}function _a(n){return(dh(n)?Br:ii)(n)}function ya(n){if(null==n)return 0;if(Fa(n))return hf(n)?K(n):n.length;var t=El(n);return t==Zn||t==Hn?n.size:Re(n).length}function ma(n,t,r){var e=dh(n)?p:oi;return r&&Cu(n,t,r)&&(t=nn),e(n,_u(t,3))}function wa(n,t){if("function"!=typeof t)throw new as(en);return n=mf(n),function(){if(--n<1)return t.apply(this,arguments)}}function ba(n,t,r){return t=r?nn:t,t=n&&null==t?n.length:t,uu(n,wn,nn,nn,nn,nn,t)}function xa(n,t){var r;if("function"!=typeof t)throw new as(en);return n=mf(n),function(){return--n>0&&(r=t.apply(this,arguments)),n<=1&&(t=nn),r}}function Ea(n,t,r){t=r?nn:t;var e=uu(n,gn,nn,nn,nn,nn,nn,t);return e.placeholder=Ea.placeholder,e}function ka(n,t,r){t=r?nn:t;var e=uu(n,_n,nn,nn,nn,nn,nn,t);return e.placeholder=ka.placeholder,e}function Ma(n,t,r){function e(t){var r=h,e=d;return h=d=nn,y=t,v=n.apply(e,r)}function i(n){return y=n,g=Al(a,t),m?e(n):v}function u(n){var r=n-_,e=n-y,i=t-r;return w?$s(i,p-e):i}function o(n){var r=n-_,e=n-y;return _===nn||r>=t||r<0||w&&e>=p}function a(){var n=th();if(o(n))return f(n);g=Al(a,u(n))}function f(n){return g=nn,b&&h?e(n):(h=d=nn,v)}function c(){g!==nn&&yl(g),y=0,h=_=d=g=nn}function s(){return g===nn?v:f(th())}function l(){var n=th(),r=o(n);if(h=arguments,d=this,_=n,r){if(g===nn)return i(_);if(w)return g=Al(a,t),e(_)}return g===nn&&(g=Al(a,t)),v}var h,d,p,v,g,_,y=0,m=!1,w=!1,b=!0;if("function"!=typeof n)throw new as(en);return t=bf(t)||0,nf(r)&&(m=!!r.leading,w="maxWait"in r,p=w?Fs(bf(r.maxWait)||0,t):p,b="trailing"in r?!!r.trailing:b),l.cancel=c,l.flush=s,l}function Aa(n){return uu(n,xn)}function ja(n,t){if("function"!=typeof n||null!=t&&"function"!=typeof t)throw new as(en);var r=function(){var e=arguments,i=t?t.apply(this,e):e[0],u=r.cache;if(u.has(i))return u.get(i);var o=n.apply(this,e);return r.cache=u.set(i,o)||u,o};return r.cache=new(ja.Cache||ar),r}function La(n){if("function"!=typeof n)throw new as(en);return function(){var t=arguments;switch(t.length){case 0:return!n.call(this);case 1:return!n.call(this,t[0]);case 2:return!n.call(this,t[0],t[1]);case 3:return!n.call(this,t[0],t[1],t[2])}return!n.apply(this,t)}}function Ia(n){return xa(2,n)}function Na(n,t){if("function"!=typeof n)throw new as(en);return t=t===nn?t:mf(t),ni(n,t)}function Ca(n,t){if("function"!=typeof n)throw new as(en);return t=null==t?0:Fs(mf(t),0),ni(function(e){var i=e[t],u=xi(e,0,t);return i&&l(u,i),r(n,this,u)})}function Oa(n,t,r){var e=!0,i=!0;if("function"!=typeof n)throw new as(en);return nf(r)&&(e="leading"in r?!!r.leading:e,i="trailing"in r?!!r.trailing:i),Ma(n,t,{leading:e,maxWait:t,trailing:i})}function Pa(n){return ba(n,1)}function za(n,t){return ah(wi(t),n)}function Sa(){if(!arguments.length)return[];var n=arguments[0];return dh(n)?n:[n]}function Ra(n){return te(n,sn)}function Ta(n,t){return t="function"==typeof t?t:nn,te(n,sn,t)}function Ua(n){return te(n,fn|sn)}function Da(n,t){return t="function"==typeof t?t:nn,te(n,fn|sn,t)}function Wa(n,t){return null==t||ee(n,t,Tf(t))}function Ba(n,t){return n===t||n!==n&&t!==t}function Fa(n){return null!=n&&Qa(n.length)&&!Xa(n)}function $a(n){return tf(n)&&Fa(n)}function Va(n){return!0===n||!1===n||tf(n)&&ge(n)==Wn}function qa(n){return tf(n)&&1===n.nodeType&&!sf(n)}function Za(n){if(null==n)return!0;if(Fa(n)&&(dh(n)||"string"==typeof n||"function"==typeof n.splice||vh(n)||wh(n)||hh(n)))return!n.length;var t=El(n);if(t==Zn||t==Hn)return!n.size;if(Ru(n))return!Re(n).length;for(var r in n)if(ds.call(n,r))return!1;return!0}function Ga(n,t){return je(n,t)}function Ya(n,t,r){r="function"==typeof r?r:nn;var e=r?r(n,t):nn;return e===nn?je(n,t,nn,r):!!e}function Ka(n){if(!tf(n))return!1;var t=ge(n);return t==$n||t==Fn||"string"==typeof n.message&&"string"==typeof n.name&&!sf(n)}function Ja(n){return"number"==typeof n&&Ds(n)}function Xa(n){if(!nf(n))return!1;var t=ge(n);return t==Vn||t==qn||t==Dn||t==Jn}function Ha(n){return"number"==typeof n&&n==mf(n)}function Qa(n){return"number"==typeof n&&n>-1&&n%1==0&&n<=Nn}function nf(n){var t=typeof n;return null!=n&&("object"==t||"function"==t)}function tf(n){return null!=n&&"object"==typeof n}function rf(n,t){return n===t||Ne(n,t,mu(t))}function ef(n,t,r){return r="function"==typeof r?r:nn,Ne(n,t,mu(t),r)}function uf(n){return cf(n)&&n!=+n}function of(n){if(kl(n))throw new ts(rn);return Ce(n)}function af(n){return null===n}function ff(n){return null==n}function cf(n){return"number"==typeof n||tf(n)&&ge(n)==Gn}function sf(n){if(!tf(n)||ge(n)!=Kn)return!1;var t=ks(n);if(null===t)return!0;var r=ds.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&hs.call(r)==_s}function lf(n){return Ha(n)&&n>=-Nn&&n<=Nn}function hf(n){return"string"==typeof n||!dh(n)&&tf(n)&&ge(n)==Qn}function df(n){return"symbol"==typeof n||tf(n)&&ge(n)==nt}function pf(n){return n===nn}function vf(n){return tf(n)&&El(n)==rt}function gf(n){return tf(n)&&ge(n)==et}function _f(n){if(!n)return[];if(Fa(n))return hf(n)?J(n):Pi(n);if(Is&&n[Is])return W(n[Is]());var t=El(n);return(t==Zn?B:t==Hn?q:Jf)(n)}function yf(n){if(!n)return 0===n?n:0;if((n=bf(n))===In||n===-In){return(n<0?-1:1)*Cn}return n===n?n:0}function mf(n){var t=yf(n),r=t%1;return t===t?r?t-r:t:0}function wf(n){return n?ne(mf(n),0,Pn):0}function bf(n){if("number"==typeof n)return n;if(df(n))return On;if(nf(n)){var t="function"==typeof n.valueOf?n.valueOf():n;n=nf(t)?t+"":t}if("string"!=typeof n)return 0===n?n:+n;n=n.replace(Ct,"");var r=Ft.test(n);return r||Vt.test(n)?Ar(n.slice(2),r?2:8):Bt.test(n)?On:+n}function xf(n){return zi(n,Uf(n))}function Ef(n){return n?ne(mf(n),-Nn,Nn):0===n?n:0}function kf(n){return null==n?"":li(n)}function Mf(n,t){var r=sl(n);return null==t?r:Jr(r,t)}function Af(n,t){return _(n,_u(t,3),le)}function jf(n,t){return _(n,_u(t,3),he)}function Lf(n,t){return null==n?n:dl(n,_u(t,3),Uf)}function If(n,t){return null==n?n:pl(n,_u(t,3),Uf)}function Nf(n,t){return n&&le(n,_u(t,3))}function Cf(n,t){return n&&he(n,_u(t,3))}function Of(n){return null==n?[]:de(n,Tf(n))}function Pf(n){return null==n?[]:de(n,Uf(n))}function zf(n,t,r){var e=null==n?nn:pe(n,t);return e===nn?r:e}function Sf(n,t){return null!=n&&ku(n,t,ye)}function Rf(n,t){return null!=n&&ku(n,t,me)}function Tf(n){return Fa(n)?Cr(n):Re(n)}function Uf(n){return Fa(n)?Cr(n,!0):Te(n)}function Df(n,t){var r={};return t=_u(t,3),le(n,function(n,e,i){Hr(r,t(n,e,i),n)}),r}function Wf(n,t){var r={};return t=_u(t,3),le(n,function(n,e,i){Hr(r,e,t(n,e,i))}),r}function Bf(n,t){return Ff(n,La(_u(t)))}function Ff(n,t){if(null==n)return{};var r=s(pu(n),function(n){return[n]});return t=_u(t),Ge(n,r,function(n,r){return t(n,r[0])})}function $f(n,t,r){t=bi(t,n);var e=-1,i=t.length;for(i||(i=1,n=nn);++e<i;){var u=null==n?nn:n[Yu(t[e])];u===nn&&(e=i,u=r),n=Xa(u)?u.call(n):u}return n}function Vf(n,t,r){return null==n?n:ei(n,t,r)}function qf(n,t,r,e){return e="function"==typeof e?e:nn,null==n?n:ei(n,t,r,e)}function Zf(n,t,r){var e=dh(n),u=e||vh(n)||wh(n);if(t=_u(t,4),null==r){var o=n&&n.constructor;r=u?e?new o:[]:nf(n)&&Xa(o)?sl(ks(n)):{}}return(u?i:le)(n,function(n,e,i){return t(r,n,e,i)}),r}function Gf(n,t){return null==n||di(n,t)}function Yf(n,t,r){return null==n?n:pi(n,t,wi(r))}function Kf(n,t,r,e){return e="function"==typeof e?e:nn,null==n?n:pi(n,t,wi(r),e)}function Jf(n){return null==n?[]:C(n,Tf(n))}function Xf(n){return null==n?[]:C(n,Uf(n))}function Hf(n,t,r){return r===nn&&(r=t,t=nn),r!==nn&&(r=bf(r),r=r===r?r:0),t!==nn&&(t=bf(t),t=t===t?t:0),ne(bf(n),t,r)}function Qf(n,t,r){return t=yf(t),r===nn?(r=t,t=0):r=yf(r),n=bf(n),we(n,t,r)}function nc(n,t,r){if(r&&"boolean"!=typeof r&&Cu(n,t,r)&&(t=r=nn),r===nn&&("boolean"==typeof t?(r=t,t=nn):"boolean"==typeof n&&(r=n,n=nn)),n===nn&&t===nn?(n=0,t=1):(n=yf(n),t===nn?(t=n,n=0):t=yf(t)),n>t){var e=n;n=t,t=e}if(r||n%1||t%1){var i=Zs();return $s(n+i*(t-n+Mr("1e-"+((i+"").length-1))),t)}return Xe(n,t)}function tc(n){return Zh(kf(n).toLowerCase())}function rc(n){return(n=kf(n))&&n.replace(Zt,Fr).replace(hr,"")}function ec(n,t,r){n=kf(n),t=li(t);var e=n.length;r=r===nn?e:ne(mf(r),0,e);var i=r;return(r-=t.length)>=0&&n.slice(r,i)==t}function ic(n){return n=kf(n),n&&xt.test(n)?n.replace(wt,$r):n}function uc(n){return n=kf(n),n&&Nt.test(n)?n.replace(It,"\\$&"):n}function oc(n,t,r){n=kf(n),t=mf(t);var e=t?K(n):0;if(!t||e>=t)return n;var i=(t-e)/2;return Hi(Rs(i),r)+n+Hi(Ss(i),r)}function ac(n,t,r){n=kf(n),t=mf(t);var e=t?K(n):0;return t&&e<t?n+Hi(t-e,r):n}function fc(n,t,r){n=kf(n),t=mf(t);var e=t?K(n):0;return t&&e<t?Hi(t-e,r)+n:n}function cc(n,t,r){return r||null==t?t=0:t&&(t=+t),qs(kf(n).replace(Ot,""),t||0)}function sc(n,t,r){return t=(r?Cu(n,t,r):t===nn)?1:mf(t),Qe(kf(n),t)}function lc(){var n=arguments,t=kf(n[0]);return n.length<3?t:t.replace(n[1],n[2])}function hc(n,t,r){return r&&"number"!=typeof r&&Cu(n,t,r)&&(t=r=nn),(r=r===nn?Pn:r>>>0)?(n=kf(n),n&&("string"==typeof t||null!=t&&!yh(t))&&!(t=li(t))&&U(n)?xi(J(n),0,r):n.split(t,r)):[]}function dc(n,t,r){return n=kf(n),r=null==r?0:ne(mf(r),0,n.length),t=li(t),n.slice(r,r+t.length)==t}function pc(n,t,r){var e=v.templateSettings;r&&Cu(n,t,r)&&(t=nn),n=kf(n),t=Mh({},t,e,ou);var i,u,o=Mh({},t.imports,e.imports,ou),a=Tf(o),f=C(o,a),c=0,s=t.interpolate||Gt,l="__p += '",h=us((t.escape||Gt).source+"|"+s.source+"|"+(s===Mt?Dt:Gt).source+"|"+(t.evaluate||Gt).source+"|$","g"),d="//# sourceURL="+("sourceURL"in t?t.sourceURL:"lodash.templateSources["+ ++yr+"]")+"\n";n.replace(h,function(t,r,e,o,a,f){return e||(e=o),l+=n.slice(c,f).replace(Yt,R),r&&(i=!0,l+="' +\n__e("+r+") +\n'"),a&&(u=!0,l+="';\n"+a+";\n__p += '"),e&&(l+="' +\n((__t = ("+e+")) == null ? '' : __t) +\n'"),c=f+t.length,t}),l+="';\n";var p=t.variable;p||(l="with (obj) {\n"+l+"\n}\n"),l=(u?l.replace(gt,""):l).replace(_t,"$1").replace(yt,"$1;"),l="function("+(p||"obj")+") {\n"+(p?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(i?", __e = _.escape":"")+(u?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+l+"return __p\n}";var g=Gh(function(){return rs(a,d+"return "+l).apply(nn,f)});if(g.source=l,Ka(g))throw g;return g}function vc(n){return kf(n).toLowerCase()}function gc(n){return kf(n).toUpperCase()}function _c(n,t,r){if((n=kf(n))&&(r||t===nn))return n.replace(Ct,"");if(!n||!(t=li(t)))return n;var e=J(n),i=J(t);return xi(e,P(e,i),z(e,i)+1).join("")}function yc(n,t,r){if((n=kf(n))&&(r||t===nn))return n.replace(Pt,"");if(!n||!(t=li(t)))return n;var e=J(n);return xi(e,0,z(e,J(t))+1).join("")}function mc(n,t,r){if((n=kf(n))&&(r||t===nn))return n.replace(Ot,"");if(!n||!(t=li(t)))return n;var e=J(n);return xi(e,P(e,J(t))).join("")}function wc(n,t){var r=En,e=kn;if(nf(t)){var i="separator"in t?t.separator:i;r="length"in t?mf(t.length):r,e="omission"in t?li(t.omission):e}n=kf(n);var u=n.length;if(U(n)){var o=J(n);u=o.length}if(r>=u)return n;var a=r-K(e);if(a<1)return e;var f=o?xi(o,0,a).join(""):n.slice(0,a);if(i===nn)return f+e;if(o&&(a+=f.length-a),yh(i)){if(n.slice(a).search(i)){var c,s=f;for(i.global||(i=us(i.source,kf(Wt.exec(i))+"g")),i.lastIndex=0;c=i.exec(s);)var l=c.index;f=f.slice(0,l===nn?a:l)}}else if(n.indexOf(li(i),a)!=a){var h=f.lastIndexOf(i);h>-1&&(f=f.slice(0,h))}return f+e}function bc(n){return n=kf(n),n&&bt.test(n)?n.replace(mt,Vr):n}function xc(n,t,r){return n=kf(n),t=r?nn:t,t===nn?D(n)?Q(n):g(n):n.match(t)||[]}function Ec(n){var t=null==n?0:n.length,e=_u();return n=t?s(n,function(n){if("function"!=typeof n[1])throw new as(en);return[e(n[0]),n[1]]}):[],ni(function(e){for(var i=this,u=-1;++u<t;){var o=n[u];if(r(o[0],i,e))return r(o[1],i,e)}})}function kc(n){return re(te(n,fn))}function Mc(n){return function(){return n}}function Ac(n,t){return null==n||n!==n?t:n}function jc(n){return n}function Lc(n){return Se("function"==typeof n?n:te(n,fn))}function Ic(n){return We(te(n,fn))}function Nc(n,t){return Be(n,te(t,fn))}function Cc(n,t,r){var e=Tf(t),u=de(t,e);null!=r||nf(t)&&(u.length||!e.length)||(r=t,t=n,n=this,u=de(t,Tf(t)));var o=!(nf(r)&&"chain"in r&&!r.chain),a=Xa(n);return i(u,function(r){var e=t[r];n[r]=e,a&&(n.prototype[r]=function(){var t=this.__chain__;if(o||t){var r=n(this.__wrapped__);return(r.__actions__=Pi(this.__actions__)).push({func:e,args:arguments,thisArg:n}),r.__chain__=t,r}return e.apply(n,l([this.value()],arguments))})}),n}function Oc(){return Ir._===this&&(Ir._=ys),this}function Pc(){}function zc(n){return n=mf(n),ni(function(t){return Ve(t,n)})}function Sc(n){return Ou(n)?E(Yu(n)):Ye(n)}function Rc(n){return function(t){return null==n?nn:pe(n,t)}}function Tc(){return[]}function Uc(){return!1}function Dc(){return{}}function Wc(){return""}function Bc(){return!0}function Fc(n,t){if((n=mf(n))<1||n>Nn)return[];var r=Pn,e=$s(n,Pn);t=_u(t),n-=Pn;for(var i=L(e,t);++r<n;)t(r);return i}function $c(n){return dh(n)?s(n,Yu):df(n)?[n]:Pi(Ll(kf(n)))}function Vc(n){var t=++ps;return kf(n)+t}function qc(n){return n&&n.length?ae(n,jc,_e):nn}function Zc(n,t){return n&&n.length?ae(n,_u(t,2),_e):nn}function Gc(n){return x(n,jc)}function Yc(n,t){return x(n,_u(t,2))}function Kc(n){return n&&n.length?ae(n,jc,Ue):nn}function Jc(n,t){return n&&n.length?ae(n,_u(t,2),Ue):nn}function Xc(n){return n&&n.length?j(n,jc):0}function Hc(n,t){return n&&n.length?j(n,_u(t,2)):0}t=null==t?Ir:qr.defaults(Ir.Object(),t,qr.pick(Ir,_r));var Qc=t.Array,ns=t.Date,ts=t.Error,rs=t.Function,es=t.Math,is=t.Object,us=t.RegExp,os=t.String,as=t.TypeError,fs=Qc.prototype,cs=rs.prototype,ss=is.prototype,ls=t["__core-js_shared__"],hs=cs.toString,ds=ss.hasOwnProperty,ps=0,vs=function(){var n=/[^.]+$/.exec(ls&&ls.keys&&ls.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""}(),gs=ss.toString,_s=hs.call(is),ys=Ir._,ms=us("^"+hs.call(ds).replace(It,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ws=Or?t.Buffer:nn,bs=t.Symbol,xs=t.Uint8Array,Es=ws?ws.allocUnsafe:nn,ks=F(is.getPrototypeOf,is),Ms=is.create,As=ss.propertyIsEnumerable,js=fs.splice,Ls=bs?bs.isConcatSpreadable:nn,Is=bs?bs.iterator:nn,Ns=bs?bs.toStringTag:nn,Cs=function(){try{var n=wu(is,"defineProperty");return n({},"",{}),n}catch(n){}}(),Os=t.clearTimeout!==Ir.clearTimeout&&t.clearTimeout,Ps=ns&&ns.now!==Ir.Date.now&&ns.now,zs=t.setTimeout!==Ir.setTimeout&&t.setTimeout,Ss=es.ceil,Rs=es.floor,Ts=is.getOwnPropertySymbols,Us=ws?ws.isBuffer:nn,Ds=t.isFinite,Ws=fs.join,Bs=F(is.keys,is),Fs=es.max,$s=es.min,Vs=ns.now,qs=t.parseInt,Zs=es.random,Gs=fs.reverse,Ys=wu(t,"DataView"),Ks=wu(t,"Map"),Js=wu(t,"Promise"),Xs=wu(t,"Set"),Hs=wu(t,"WeakMap"),Qs=wu(is,"create"),nl=Hs&&new Hs,tl={},rl=Ku(Ys),el=Ku(Ks),il=Ku(Js),ul=Ku(Xs),ol=Ku(Hs),al=bs?bs.prototype:nn,fl=al?al.valueOf:nn,cl=al?al.toString:nn,sl=function(){function n(){}return function(t){if(!nf(t))return{};if(Ms)return Ms(t);n.prototype=t;var r=new n;return n.prototype=nn,r}}();v.templateSettings={escape:Et,evaluate:kt,interpolate:Mt,variable:"",imports:{_:v}},v.prototype=k.prototype,v.prototype.constructor=v,G.prototype=sl(k.prototype),G.prototype.constructor=G,X.prototype=sl(k.prototype),X.prototype.constructor=X,Kt.prototype.clear=Jt,Kt.prototype.delete=Xt,Kt.prototype.get=Ht,Kt.prototype.has=Qt,Kt.prototype.set=nr,tr.prototype.clear=rr,tr.prototype.delete=er,tr.prototype.get=ir,tr.prototype.has=ur,tr.prototype.set=or,ar.prototype.clear=fr,ar.prototype.delete=cr,ar.prototype.get=sr,ar.prototype.has=dr,ar.prototype.set=pr,vr.prototype.add=vr.prototype.push=gr,vr.prototype.has=br,xr.prototype.clear=Er,xr.prototype.delete=kr,xr.prototype.get=jr,xr.prototype.has=Lr,xr.prototype.set=Nr;var ll=Di(le),hl=Di(he,!0),dl=Wi(),pl=Wi(!0),vl=nl?function(n,t){return nl.set(n,t),n}:jc,gl=Cs?function(n,t){return Cs(n,"toString",{configurable:!0,enumerable:!1,value:Mc(t),writable:!0})}:jc,_l=ni,yl=Os||function(n){return Ir.clearTimeout(n)},ml=Xs&&1/q(new Xs([,-0]))[1]==In?function(n){return new Xs(n)}:Pc,wl=nl?function(n){return nl.get(n)}:Pc,bl=Ts?function(n){return null==n?[]:(n=is(n),a(Ts(n),function(t){return As.call(n,t)}))}:Tc,xl=Ts?function(n){for(var t=[];n;)l(t,bl(n)),n=ks(n);return t}:Tc,El=ge;(Ys&&El(new Ys(new ArrayBuffer(1)))!=ut||Ks&&El(new Ks)!=Zn||Js&&"[object Promise]"!=El(Js.resolve())||Xs&&El(new Xs)!=Hn||Hs&&El(new Hs)!=rt)&&(El=function(n){var t=ge(n),r=t==Kn?n.constructor:nn,e=r?Ku(r):"";if(e)switch(e){case rl:return ut;case el:return Zn;case il:return"[object Promise]";case ul:return Hn;case ol:return rt}return t});var kl=ls?Xa:Uc,Ml=Zu(vl),Al=zs||function(n,t){return Ir.setTimeout(n,t)},jl=Zu(gl),Ll=function(n){var t=ja(n,function(n){return r.size===on&&r.clear(),n}),r=t.cache;return t}(function(n){var t=[];return 46===n.charCodeAt(0)&&t.push(""),n.replace(Lt,function(n,r,e,i){t.push(e?i.replace(Ut,"$1"):r||n)}),t}),Il=ni(function(n,t){return $a(n)?ue(n,se(t,1,$a,!0)):[]}),Nl=ni(function(n,t){var r=_o(t);return $a(r)&&(r=nn),$a(n)?ue(n,se(t,1,$a,!0),_u(r,2)):[]}),Cl=ni(function(n,t){var r=_o(t);return $a(r)&&(r=nn),$a(n)?ue(n,se(t,1,$a,!0),nn,r):[]}),Ol=ni(function(n){var t=s(n,mi);return t.length&&t[0]===n[0]?be(t):[]}),Pl=ni(function(n){var t=_o(n),r=s(n,mi);return t===_o(r)?t=nn:r.pop(),r.length&&r[0]===n[0]?be(r,_u(t,2)):[]}),zl=ni(function(n){var t=_o(n),r=s(n,mi);return t="function"==typeof t?t:nn,t&&r.pop(),r.length&&r[0]===n[0]?be(r,nn,t):[]}),Sl=ni(wo),Rl=hu(function(n,t){var r=null==n?0:n.length,e=Qr(n,t);return Je(n,s(t,function(n){return Nu(n,r)?+n:n}).sort(Ii)),e}),Tl=ni(function(n){return hi(se(n,1,$a,!0))}),Ul=ni(function(n){var t=_o(n);return $a(t)&&(t=nn),hi(se(n,1,$a,!0),_u(t,2))}),Dl=ni(function(n){var t=_o(n);return t="function"==typeof t?t:nn,hi(se(n,1,$a,!0),nn,t)}),Wl=ni(function(n,t){return $a(n)?ue(n,t):[]}),Bl=ni(function(n){return _i(a(n,$a))}),Fl=ni(function(n){var t=_o(n);return $a(t)&&(t=nn),_i(a(n,$a),_u(t,2))}),$l=ni(function(n){var t=_o(n);return t="function"==typeof t?t:nn,_i(a(n,$a),nn,t)}),Vl=ni(Fo),ql=ni(function(n){var t=n.length,r=t>1?n[t-1]:nn;return r="function"==typeof r?(n.pop(),r):nn,$o(n,r)}),Zl=hu(function(n){var t=n.length,r=t?n[0]:0,e=this.__wrapped__,i=function(t){return Qr(t,n)};return!(t>1||this.__actions__.length)&&e instanceof X&&Nu(r)?(e=e.slice(r,+r+(t?1:0)),e.__actions__.push({func:Yo,args:[i],thisArg:nn}),new G(e,this.__chain__).thru(function(n){return t&&!n.length&&n.push(nn),n})):this.thru(i)}),Gl=Ti(function(n,t,r){ds.call(n,r)?++n[r]:Hr(n,r,1)}),Yl=Zi(oo),Kl=Zi(ao),Jl=Ti(function(n,t,r){ds.call(n,r)?n[r].push(t):Hr(n,r,[t])}),Xl=ni(function(n,t,e){var i=-1,u="function"==typeof t,o=Fa(n)?Qc(n.length):[];return ll(n,function(n){o[++i]=u?r(t,n,e):Ee(n,t,e)}),o}),Hl=Ti(function(n,t,r){Hr(n,r,t)}),Ql=Ti(function(n,t,r){n[r?0:1].push(t)},function(){return[[],[]]}),nh=ni(function(n,t){if(null==n)return[];var r=t.length;return r>1&&Cu(n,t[0],t[1])?t=[]:r>2&&Cu(t[0],t[1],t[2])&&(t=[t[0]]),qe(n,se(t,1),[])}),th=Ps||function(){return Ir.Date.now()},rh=ni(function(n,t,r){var e=dn;if(r.length){var i=$(r,gu(rh));e|=yn}return uu(n,e,t,r,i)}),eh=ni(function(n,t,r){var e=dn|pn;if(r.length){var i=$(r,gu(eh));e|=yn}return uu(t,e,n,r,i)}),ih=ni(function(n,t){return ie(n,1,t)}),uh=ni(function(n,t,r){return ie(n,bf(t)||0,r)});ja.Cache=ar;var oh=_l(function(n,t){t=1==t.length&&dh(t[0])?s(t[0],N(_u())):s(se(t,1),N(_u()));var e=t.length;return ni(function(i){for(var u=this,o=-1,a=$s(i.length,e);++o<a;)i[o]=t[o].call(u,i[o]);return r(n,this,i)})}),ah=ni(function(n,t){var r=$(t,gu(ah));return uu(n,yn,nn,t,r)}),fh=ni(function(n,t){var r=$(t,gu(fh));return uu(n,mn,nn,t,r)}),ch=hu(function(n,t){return uu(n,bn,nn,nn,nn,t)}),sh=tu(_e),lh=tu(function(n,t){return n>=t}),hh=ke(function(){return arguments}())?ke:function(n){return tf(n)&&ds.call(n,"callee")&&!As.call(n,"callee")},dh=Qc.isArray,ph=Sr?N(Sr):Me,vh=Us||Uc,gh=Rr?N(Rr):Ae,_h=Tr?N(Tr):Ie,yh=Ur?N(Ur):Oe,mh=Dr?N(Dr):Pe,wh=Wr?N(Wr):ze,bh=tu(Ue),xh=tu(function(n,t){return n<=t}),Eh=Ui(function(n,t){if(Ru(t)||Fa(t))return void zi(t,Tf(t),n)
;for(var r in t)ds.call(t,r)&&Gr(n,r,t[r])}),kh=Ui(function(n,t){zi(t,Uf(t),n)}),Mh=Ui(function(n,t,r,e){zi(t,Uf(t),n,e)}),Ah=Ui(function(n,t,r,e){zi(t,Tf(t),n,e)}),jh=hu(Qr),Lh=ni(function(n,t){n=is(n);var r=-1,e=t.length,i=e>2?t[2]:nn;for(i&&Cu(t[0],t[1],i)&&(e=1);++r<e;)for(var u=t[r],o=Uf(u),a=-1,f=o.length;++a<f;){var c=o[a],s=n[c];(s===nn||Ba(s,ss[c])&&!ds.call(n,c))&&(n[c]=u[c])}return n}),Ih=ni(function(n){return n.push(nn,au),r(zh,nn,n)}),Nh=Ki(function(n,t,r){null!=t&&"function"!=typeof t.toString&&(t=gs.call(t)),n[t]=r},Mc(jc)),Ch=Ki(function(n,t,r){null!=t&&"function"!=typeof t.toString&&(t=gs.call(t)),ds.call(n,t)?n[t].push(r):n[t]=[r]},_u),Oh=ni(Ee),Ph=Ui(function(n,t,r){Fe(n,t,r)}),zh=Ui(function(n,t,r,e){Fe(n,t,r,e)}),Sh=hu(function(n,t){var r={};if(null==n)return r;var e=!1;t=s(t,function(t){return t=bi(t,n),e||(e=t.length>1),t}),zi(n,pu(n),r),e&&(r=te(r,fn|cn|sn,fu));for(var i=t.length;i--;)di(r,t[i]);return r}),Rh=hu(function(n,t){return null==n?{}:Ze(n,t)}),Th=iu(Tf),Uh=iu(Uf),Dh=$i(function(n,t,r){return t=t.toLowerCase(),n+(r?tc(t):t)}),Wh=$i(function(n,t,r){return n+(r?"-":"")+t.toLowerCase()}),Bh=$i(function(n,t,r){return n+(r?" ":"")+t.toLowerCase()}),Fh=Fi("toLowerCase"),$h=$i(function(n,t,r){return n+(r?"_":"")+t.toLowerCase()}),Vh=$i(function(n,t,r){return n+(r?" ":"")+Zh(t)}),qh=$i(function(n,t,r){return n+(r?" ":"")+t.toUpperCase()}),Zh=Fi("toUpperCase"),Gh=ni(function(n,t){try{return r(n,nn,t)}catch(n){return Ka(n)?n:new ts(n)}}),Yh=hu(function(n,t){return i(t,function(t){t=Yu(t),Hr(n,t,rh(n[t],n))}),n}),Kh=Gi(),Jh=Gi(!0),Xh=ni(function(n,t){return function(r){return Ee(r,n,t)}}),Hh=ni(function(n,t){return function(r){return Ee(n,r,t)}}),Qh=Xi(s),nd=Xi(o),td=Xi(p),rd=nu(),ed=nu(!0),id=Ji(function(n,t){return n+t},0),ud=eu("ceil"),od=Ji(function(n,t){return n/t},1),ad=eu("floor"),fd=Ji(function(n,t){return n*t},1),cd=eu("round"),sd=Ji(function(n,t){return n-t},0);return v.after=wa,v.ary=ba,v.assign=Eh,v.assignIn=kh,v.assignInWith=Mh,v.assignWith=Ah,v.at=jh,v.before=xa,v.bind=rh,v.bindAll=Yh,v.bindKey=eh,v.castArray=Sa,v.chain=Zo,v.chunk=Hu,v.compact=Qu,v.concat=no,v.cond=Ec,v.conforms=kc,v.constant=Mc,v.countBy=Gl,v.create=Mf,v.curry=Ea,v.curryRight=ka,v.debounce=Ma,v.defaults=Lh,v.defaultsDeep=Ih,v.defer=ih,v.delay=uh,v.difference=Il,v.differenceBy=Nl,v.differenceWith=Cl,v.drop=to,v.dropRight=ro,v.dropRightWhile=eo,v.dropWhile=io,v.fill=uo,v.filter=ea,v.flatMap=ia,v.flatMapDeep=ua,v.flatMapDepth=oa,v.flatten=fo,v.flattenDeep=co,v.flattenDepth=so,v.flip=Aa,v.flow=Kh,v.flowRight=Jh,v.fromPairs=lo,v.functions=Of,v.functionsIn=Pf,v.groupBy=Jl,v.initial=vo,v.intersection=Ol,v.intersectionBy=Pl,v.intersectionWith=zl,v.invert=Nh,v.invertBy=Ch,v.invokeMap=Xl,v.iteratee=Lc,v.keyBy=Hl,v.keys=Tf,v.keysIn=Uf,v.map=sa,v.mapKeys=Df,v.mapValues=Wf,v.matches=Ic,v.matchesProperty=Nc,v.memoize=ja,v.merge=Ph,v.mergeWith=zh,v.method=Xh,v.methodOf=Hh,v.mixin=Cc,v.negate=La,v.nthArg=zc,v.omit=Sh,v.omitBy=Bf,v.once=Ia,v.orderBy=la,v.over=Qh,v.overArgs=oh,v.overEvery=nd,v.overSome=td,v.partial=ah,v.partialRight=fh,v.partition=Ql,v.pick=Rh,v.pickBy=Ff,v.property=Sc,v.propertyOf=Rc,v.pull=Sl,v.pullAll=wo,v.pullAllBy=bo,v.pullAllWith=xo,v.pullAt=Rl,v.range=rd,v.rangeRight=ed,v.rearg=ch,v.reject=pa,v.remove=Eo,v.rest=Na,v.reverse=ko,v.sampleSize=ga,v.set=Vf,v.setWith=qf,v.shuffle=_a,v.slice=Mo,v.sortBy=nh,v.sortedUniq=Oo,v.sortedUniqBy=Po,v.split=hc,v.spread=Ca,v.tail=zo,v.take=So,v.takeRight=Ro,v.takeRightWhile=To,v.takeWhile=Uo,v.tap=Go,v.throttle=Oa,v.thru=Yo,v.toArray=_f,v.toPairs=Th,v.toPairsIn=Uh,v.toPath=$c,v.toPlainObject=xf,v.transform=Zf,v.unary=Pa,v.union=Tl,v.unionBy=Ul,v.unionWith=Dl,v.uniq=Do,v.uniqBy=Wo,v.uniqWith=Bo,v.unset=Gf,v.unzip=Fo,v.unzipWith=$o,v.update=Yf,v.updateWith=Kf,v.values=Jf,v.valuesIn=Xf,v.without=Wl,v.words=xc,v.wrap=za,v.xor=Bl,v.xorBy=Fl,v.xorWith=$l,v.zip=Vl,v.zipObject=Vo,v.zipObjectDeep=qo,v.zipWith=ql,v.entries=Th,v.entriesIn=Uh,v.extend=kh,v.extendWith=Mh,Cc(v,v),v.add=id,v.attempt=Gh,v.camelCase=Dh,v.capitalize=tc,v.ceil=ud,v.clamp=Hf,v.clone=Ra,v.cloneDeep=Ua,v.cloneDeepWith=Da,v.cloneWith=Ta,v.conformsTo=Wa,v.deburr=rc,v.defaultTo=Ac,v.divide=od,v.endsWith=ec,v.eq=Ba,v.escape=ic,v.escapeRegExp=uc,v.every=ra,v.find=Yl,v.findIndex=oo,v.findKey=Af,v.findLast=Kl,v.findLastIndex=ao,v.findLastKey=jf,v.floor=ad,v.forEach=aa,v.forEachRight=fa,v.forIn=Lf,v.forInRight=If,v.forOwn=Nf,v.forOwnRight=Cf,v.get=zf,v.gt=sh,v.gte=lh,v.has=Sf,v.hasIn=Rf,v.head=ho,v.identity=jc,v.includes=ca,v.indexOf=po,v.inRange=Qf,v.invoke=Oh,v.isArguments=hh,v.isArray=dh,v.isArrayBuffer=ph,v.isArrayLike=Fa,v.isArrayLikeObject=$a,v.isBoolean=Va,v.isBuffer=vh,v.isDate=gh,v.isElement=qa,v.isEmpty=Za,v.isEqual=Ga,v.isEqualWith=Ya,v.isError=Ka,v.isFinite=Ja,v.isFunction=Xa,v.isInteger=Ha,v.isLength=Qa,v.isMap=_h,v.isMatch=rf,v.isMatchWith=ef,v.isNaN=uf,v.isNative=of,v.isNil=ff,v.isNull=af,v.isNumber=cf,v.isObject=nf,v.isObjectLike=tf,v.isPlainObject=sf,v.isRegExp=yh,v.isSafeInteger=lf,v.isSet=mh,v.isString=hf,v.isSymbol=df,v.isTypedArray=wh,v.isUndefined=pf,v.isWeakMap=vf,v.isWeakSet=gf,v.join=go,v.kebabCase=Wh,v.last=_o,v.lastIndexOf=yo,v.lowerCase=Bh,v.lowerFirst=Fh,v.lt=bh,v.lte=xh,v.max=qc,v.maxBy=Zc,v.mean=Gc,v.meanBy=Yc,v.min=Kc,v.minBy=Jc,v.stubArray=Tc,v.stubFalse=Uc,v.stubObject=Dc,v.stubString=Wc,v.stubTrue=Bc,v.multiply=fd,v.nth=mo,v.noConflict=Oc,v.noop=Pc,v.now=th,v.pad=oc,v.padEnd=ac,v.padStart=fc,v.parseInt=cc,v.random=nc,v.reduce=ha,v.reduceRight=da,v.repeat=sc,v.replace=lc,v.result=$f,v.round=cd,v.runInContext=n,v.sample=va,v.size=ya,v.snakeCase=$h,v.some=ma,v.sortedIndex=Ao,v.sortedIndexBy=jo,v.sortedIndexOf=Lo,v.sortedLastIndex=Io,v.sortedLastIndexBy=No,v.sortedLastIndexOf=Co,v.startCase=Vh,v.startsWith=dc,v.subtract=sd,v.sum=Xc,v.sumBy=Hc,v.template=pc,v.times=Fc,v.toFinite=yf,v.toInteger=mf,v.toLength=wf,v.toLower=vc,v.toNumber=bf,v.toSafeInteger=Ef,v.toString=kf,v.toUpper=gc,v.trim=_c,v.trimEnd=yc,v.trimStart=mc,v.truncate=wc,v.unescape=bc,v.uniqueId=Vc,v.upperCase=qh,v.upperFirst=Zh,v.each=aa,v.eachRight=fa,v.first=ho,Cc(v,function(){var n={};return le(v,function(t,r){ds.call(v.prototype,r)||(n[r]=t)}),n}(),{chain:!1}),v.VERSION="4.17.5",i(["bind","bindKey","curry","curryRight","partial","partialRight"],function(n){v[n].placeholder=v}),i(["drop","take"],function(n,t){X.prototype[n]=function(r){r=r===nn?1:Fs(mf(r),0);var e=this.__filtered__&&!t?new X(this):this.clone();return e.__filtered__?e.__takeCount__=$s(r,e.__takeCount__):e.__views__.push({size:$s(r,Pn),type:n+(e.__dir__<0?"Right":"")}),e},X.prototype[n+"Right"]=function(t){return this.reverse()[n](t).reverse()}}),i(["filter","map","takeWhile"],function(n,t){var r=t+1,e=r==jn||3==r;X.prototype[n]=function(n){var t=this.clone();return t.__iteratees__.push({iteratee:_u(n,3),type:r}),t.__filtered__=t.__filtered__||e,t}}),i(["head","last"],function(n,t){var r="take"+(t?"Right":"");X.prototype[n]=function(){return this[r](1).value()[0]}}),i(["initial","tail"],function(n,t){var r="drop"+(t?"":"Right");X.prototype[n]=function(){return this.__filtered__?new X(this):this[r](1)}}),X.prototype.compact=function(){return this.filter(jc)},X.prototype.find=function(n){return this.filter(n).head()},X.prototype.findLast=function(n){return this.reverse().find(n)},X.prototype.invokeMap=ni(function(n,t){return"function"==typeof n?new X(this):this.map(function(r){return Ee(r,n,t)})}),X.prototype.reject=function(n){return this.filter(La(_u(n)))},X.prototype.slice=function(n,t){n=mf(n);var r=this;return r.__filtered__&&(n>0||t<0)?new X(r):(n<0?r=r.takeRight(-n):n&&(r=r.drop(n)),t!==nn&&(t=mf(t),r=t<0?r.dropRight(-t):r.take(t-n)),r)},X.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},X.prototype.toArray=function(){return this.take(Pn)},le(X.prototype,function(n,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),e=/^(?:head|last)$/.test(t),i=v[e?"take"+("last"==t?"Right":""):t],u=e||/^find/.test(t);i&&(v.prototype[t]=function(){var t=this.__wrapped__,o=e?[1]:arguments,a=t instanceof X,f=o[0],c=a||dh(t),s=function(n){var t=i.apply(v,l([n],o));return e&&h?t[0]:t};c&&r&&"function"==typeof f&&1!=f.length&&(a=c=!1);var h=this.__chain__,d=!!this.__actions__.length,p=u&&!h,g=a&&!d;if(!u&&c){t=g?t:new X(this);var _=n.apply(t,o);return _.__actions__.push({func:Yo,args:[s],thisArg:nn}),new G(_,h)}return p&&g?n.apply(this,o):(_=this.thru(s),p?e?_.value()[0]:_.value():_)})}),i(["pop","push","shift","sort","splice","unshift"],function(n){var t=fs[n],r=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",e=/^(?:pop|shift)$/.test(n);v.prototype[n]=function(){var n=arguments;if(e&&!this.__chain__){var i=this.value();return t.apply(dh(i)?i:[],n)}return this[r](function(r){return t.apply(dh(r)?r:[],n)})}}),le(X.prototype,function(n,t){var r=v[t];if(r){var e=r.name+"";(tl[e]||(tl[e]=[])).push({name:t,func:r})}}),tl[Yi(nn,pn).name]=[{name:"wrapper",func:nn}],X.prototype.clone=H,X.prototype.reverse=ft,X.prototype.value=Tt,v.prototype.at=Zl,v.prototype.chain=Ko,v.prototype.commit=Jo,v.prototype.next=Xo,v.prototype.plant=Qo,v.prototype.reverse=na,v.prototype.toJSON=v.prototype.valueOf=v.prototype.value=ta,v.prototype.first=v.prototype.head,Is&&(v.prototype[Is]=Ho),v}();"function"==typeof nn&&"object"==typeof nn.amd&&nn.amd?(Ir._=qr,nn(function(){return qr})):Cr?((Cr.exports=qr)._=qr,Nr._=qr):Ir._=qr}).call(ft)});if("function"==typeof f)try{at=ct}catch(n){}at||(at=window._);var st=at,lt=st,ht=c,dt="\0",pt="\0",vt="";c.prototype._nodeCount=0,c.prototype._edgeCount=0,c.prototype.isDirected=function(){return this._isDirected},c.prototype.isMultigraph=function(){return this._isMultigraph},c.prototype.isCompound=function(){return this._isCompound},c.prototype.setGraph=function(n){return this._label=n,this},c.prototype.graph=function(){return this._label},c.prototype.setDefaultNodeLabel=function(n){return lt.isFunction(n)||(n=lt.constant(n)),this._defaultNodeLabelFn=n,this},c.prototype.nodeCount=function(){return this._nodeCount},c.prototype.nodes=function(){return lt.keys(this._nodes)},c.prototype.sources=function(){var n=this;return lt.filter(this.nodes(),function(t){return lt.isEmpty(n._in[t])})},c.prototype.sinks=function(){var n=this;return lt.filter(this.nodes(),function(t){return lt.isEmpty(n._out[t])})},c.prototype.setNodes=function(n,t){var r=arguments,e=this;return lt.each(n,function(n){r.length>1?e.setNode(n,t):e.setNode(n)}),this},c.prototype.setNode=function(n,t){return lt.has(this._nodes,n)?(arguments.length>1&&(this._nodes[n]=t),this):(this._nodes[n]=arguments.length>1?t:this._defaultNodeLabelFn(n),this._isCompound&&(this._parent[n]=pt,this._children[n]={},this._children[pt][n]=!0),this._in[n]={},this._preds[n]={},this._out[n]={},this._sucs[n]={},++this._nodeCount,this)},c.prototype.node=function(n){return this._nodes[n]},c.prototype.hasNode=function(n){return lt.has(this._nodes,n)},c.prototype.removeNode=function(n){var t=this;if(lt.has(this._nodes,n)){var r=function(n){t.removeEdge(t._edgeObjs[n])};delete this._nodes[n],this._isCompound&&(this._removeFromParentsChildList(n),delete this._parent[n],lt.each(this.children(n),function(n){t.setParent(n)}),delete this._children[n]),lt.each(lt.keys(this._in[n]),r),delete this._in[n],delete this._preds[n],lt.each(lt.keys(this._out[n]),r),delete this._out[n],delete this._sucs[n],--this._nodeCount}return this},c.prototype.setParent=function(n,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(lt.isUndefined(t))t=pt;else{t+="";for(var r=t;!lt.isUndefined(r);r=this.parent(r))if(r===n)throw new Error("Setting "+t+" as parent of "+n+" would create a cycle");this.setNode(t)}return this.setNode(n),this._removeFromParentsChildList(n),this._parent[n]=t,this._children[t][n]=!0,this},c.prototype._removeFromParentsChildList=function(n){delete this._children[this._parent[n]][n]},c.prototype.parent=function(n){if(this._isCompound){var t=this._parent[n];if(t!==pt)return t}},c.prototype.children=function(n){if(lt.isUndefined(n)&&(n=pt),this._isCompound){var t=this._children[n];if(t)return lt.keys(t)}else{if(n===pt)return this.nodes();if(this.hasNode(n))return[]}},c.prototype.predecessors=function(n){var t=this._preds[n];if(t)return lt.keys(t)},c.prototype.successors=function(n){var t=this._sucs[n];if(t)return lt.keys(t)},c.prototype.neighbors=function(n){var t=this.predecessors(n);if(t)return lt.union(t,this.successors(n))},c.prototype.isLeaf=function(n){var t;return t=this.isDirected()?this.successors(n):this.neighbors(n),0===t.length},c.prototype.filterNodes=function(n){function t(n){var u=e.parent(n);return void 0===u||r.hasNode(u)?(i[n]=u,u):u in i?i[u]:t(u)}var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var e=this;lt.each(this._nodes,function(t,e){n(e)&&r.setNode(e,t)}),lt.each(this._edgeObjs,function(n){r.hasNode(n.v)&&r.hasNode(n.w)&&r.setEdge(n,e.edge(n))});var i={};return this._isCompound&&lt.each(r.nodes(),function(n){r.setParent(n,t(n))}),r},c.prototype.setDefaultEdgeLabel=function(n){return lt.isFunction(n)||(n=lt.constant(n)),this._defaultEdgeLabelFn=n,this},c.prototype.edgeCount=function(){return this._edgeCount},c.prototype.edges=function(){return lt.values(this._edgeObjs)},c.prototype.setPath=function(n,t){var r=this,e=arguments;return lt.reduce(n,function(n,i){return e.length>1?r.setEdge(n,i,t):r.setEdge(n,i),i}),this},c.prototype.setEdge=function(){var n,t,r,e,i=!1,u=arguments[0];"object"==typeof u&&null!==u&&"v"in u?(n=u.v,t=u.w,r=u.name,2===arguments.length&&(e=arguments[1],i=!0)):(n=u,t=arguments[1],r=arguments[3],arguments.length>2&&(e=arguments[2],i=!0)),n=""+n,t=""+t,lt.isUndefined(r)||(r=""+r);var o=h(this._isDirected,n,t,r);if(lt.has(this._edgeLabels,o))return i&&(this._edgeLabels[o]=e),this;if(!lt.isUndefined(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(n),this.setNode(t),this._edgeLabels[o]=i?e:this._defaultEdgeLabelFn(n,t,r);var a=d(this._isDirected,n,t,r);return n=a.v,t=a.w,Object.freeze(a),this._edgeObjs[o]=a,s(this._preds[t],n),s(this._sucs[n],t),this._in[t][o]=a,this._out[n][o]=a,this._edgeCount++,this},c.prototype.edge=function(n,t,r){var e=1===arguments.length?p(this._isDirected,arguments[0]):h(this._isDirected,n,t,r);return this._edgeLabels[e]},c.prototype.hasEdge=function(n,t,r){var e=1===arguments.length?p(this._isDirected,arguments[0]):h(this._isDirected,n,t,r);return lt.has(this._edgeLabels,e)},c.prototype.removeEdge=function(n,t,r){var e=1===arguments.length?p(this._isDirected,arguments[0]):h(this._isDirected,n,t,r),i=this._edgeObjs[e];return i&&(n=i.v,t=i.w,delete this._edgeLabels[e],delete this._edgeObjs[e],l(this._preds[t],n),l(this._sucs[n],t),delete this._in[t][e],delete this._out[n][e],this._edgeCount--),this},c.prototype.inEdges=function(n,t){var r=this._in[n];if(r){var e=lt.values(r);return t?lt.filter(e,function(n){return n.v===t}):e}},c.prototype.outEdges=function(n,t){var r=this._out[n];if(r){var e=lt.values(r);return t?lt.filter(e,function(n){return n.w===t}):e}},c.prototype.nodeEdges=function(n,t){var r=this.inEdges(n,t);if(r)return r.concat(this.outEdges(n,t))};var gt={Graph:ht,version:"2.1.5"},_t=st,yt=ht,mt={write:v,read:y},wt=st,bt=m,xt=st,Et=w;w.prototype.size=function(){return this._arr.length},w.prototype.keys=function(){return this._arr.map(function(n){return n.key})},w.prototype.has=function(n){return xt.has(this._keyIndices,n)},w.prototype.priority=function(n){var t=this._keyIndices[n];if(void 0!==t)return this._arr[t].priority},w.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},w.prototype.add=function(n,t){var r=this._keyIndices;if(n=String(n),!xt.has(r,n)){var e=this._arr,i=e.length;return r[n]=i,e.push({key:n,priority:t}),this._decrease(i),!0}return!1},w.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var n=this._arr.pop();return delete this._keyIndices[n.key],this._heapify(0),n.key},w.prototype.decrease=function(n,t){var r=this._keyIndices[n];if(t>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+n+" Old: "+this._arr[r].priority+" New: "+t);this._arr[r].priority=t,this._decrease(r)},w.prototype._heapify=function(n){var t=this._arr,r=2*n,e=r+1,i=n;r<t.length&&(i=t[r].priority<t[i].priority?r:i,e<t.length&&(i=t[e].priority<t[i].priority?e:i),i!==n&&(this._swap(n,i),this._heapify(i)))},w.prototype._decrease=function(n){for(var t,r=this,e=this._arr,i=e[n].priority;0!==n&&(t=n>>1,!(e[t].priority<i));)r._swap(n,t),n=t},w.prototype._swap=function(n,t){var r=this._arr,e=this._keyIndices,i=r[n],u=r[t];r[n]=u,r[t]=i,e[u.key]=n,e[i.key]=t};var kt=st,Mt=Et,At=b,jt=kt.constant(1),Lt=At,It=st,Nt=E,Ct=st,Ot=k,Pt=st,zt=Ot,St=M,Rt=st,Tt=A,Ut=Rt.constant(1),Dt=st,Wt=L;L.CycleException=I;var Bt=Wt,Ft=N,$t=st,Vt=C,qt=Vt,Zt=P,Gt=Vt,Yt=z,Kt=st,Jt=ht,Xt=Et,Ht=S,Qt={components:bt,dijkstra:At,dijkstraAll:Nt,findCycles:St,floydWarshall:Tt,isAcyclic:Ft,postorder:Zt,preorder:Yt,prim:Ht,tarjan:Ot,topsort:Wt},nr=gt,tr={Graph:nr.Graph,json:mt,alg:Qt,version:nr.version},rr=tr.Graph,er=tr.alg;n.sankey=Wn,n.sankeyPositionJustified=gn,n.sankeyPositionRelaxation=Zn,n.sankeyLink=Xn,n.sankeyNode=Qn,n.sankeyDiagram=ot,n.sankeyLinkTitle=ut,Object.defineProperty(n,"__esModule",{value:!0})});
<!DOCTYPE html>
<meta charset="utf-8">
<style>
.links path {
opacity: 0.8;
}
.nodes text {
font-family: sans-serif;
font-size: 10pt !important;
}
.node-body {
fill: #bbb;
stroke: black;
stroke-width: 0.5px;
}
.thin-sankey .node line {
stroke: black;
}
</style>
<p>
<input type="radio" name="width" value="wide" checked>Wide</input>
<input type="radio" name="width" value="thin" >Thin</input>
</p>
<p>
<input type="checkbox" name="values" checked>Show node values</input>
</p>
<svg width="500" height="200"></svg>
<script src="https://d3js.org/d3.v4.js"></script>
<script src="d3-sankey-diagram.min.js"></script>
<script>
// Data
var graph = {
nodes: [
{"id": "a", "title": "Source"},
{"id": "b", "title": "Stage 1"},
{"id": "c", "title": "Stage 2"},
{"id": "d", "title": "Output\nflow"},
{"id": "e", "title": "Losses"}
],
links: [
{"source": "a", "target": "b", "type": "x", "values": [2.0, 1.5, 1.0, 0.5, 0.0]},
{"source": "b", "target": "c", "type": "x", "values": [1.5, 1.0, 0.5, 0.3, 0.0]},
{"source": "a", "target": "c", "type": "y", "values": [1, 1, 1, 1, 1]},
{"source": "a", "target": "c", "type": "z", "values": [2, 2, 2, 2, 2]},
{"source": "c", "target": "d", "type": "0", "values": [3.0, 2.5, 2.0, 1.7, 1.5]},
{"source": "b", "target": "e", "type": "1", "values": [0.5, 0.5, 0.5, 0.2, 0.0]},
{"source": "c", "target": "e", "type": "1", "values": [1.5, 1.5, 1.5, 1.5, 1.5]},
{"source": "a", "target": "e", "type": "1", "values": [0.5, 0.5, 0.5, 0.5, 0.5]}
]
};
// Set up SVG
var svg = d3.select('svg');
var width = +svg.attr('width');
var height = +svg.attr('height');
var margin = { top: 10, left: 100, bottom: 10, right: 50 };
var i = -1;
var layout = d3.sankey()
.linkValue(function (d) { return d.values[i]; })
.nodeWidth(30)
.extent([
[margin.left, margin.top],
[width - margin.left - margin.right, height - margin.top - margin.bottom]]);
// Render
var color = d3.scaleOrdinal(d3.schemeCategory10);
var fmt = d3.format('.1f');
var diagram = d3.sankeyDiagram()
.linkMinWidth(function(d) { return 0.1; })
.nodeValue(nodeValue)
.linkColor(function(d) { return color(d.type); });
update();
var timer = d3.interval(update, 1500);
function update() {
if (++i > 4) i = 0;
layout(graph);
svg
.datum(graph)
.transition().duration(1000).ease(d3.easeCubic)
.call(diagram);
}
d3.selectAll('[name="width"]').on('click', function(d) {
timer.stop();
if (d3.event.target.value == 'thin') {
layout.nodeWidth(0);
svg.classed('thin-sankey', true);
} else {
layout.nodeWidth(30);
svg.classed('thin-sankey', false);
}
--i;
update();
timer = d3.interval(update, 1500, d3.now() + 1500);
});
d3.selectAll('[name="values"]').on('click', function(d) {
if (d3.event.target.checked) {
diagram.nodeValue(nodeValue);
} else {
diagram.nodeValue(d => null);
}
--i;
update();
});
function nodeValue(d) {
return fmt(d.value) + ' t';
}
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment