From 00e1d51c66edcd9bce8971e0f6a85c0ab9268089 Mon Sep 17 00:00:00 2001 From: laxmanhalaki Date: Fri, 13 Feb 2026 14:46:08 +0530 Subject: [PATCH] vulnnearable comments removed and source exposing to frobrowser disabled worknote XSS fixed --- .cursor/project_setup.md | 4 +- QUICK_START.md | 4 +- README.md | 2 +- ...eld_API_Collection.postman_collection.json | 12 +- build/assets/charts-vendor-BVfwAPj-.js | 1 - build/assets/charts-vendor-BVfwAPj-.js.map | 1 - ...-DoX_H3Tk.js => conclusionApi-Cz9GiHQM.js} | 3 +- build/assets/conclusionApi-DoX_H3Tk.js.map | 1 - build/assets/index-5rjlVIR5.js | 60 +++++ build/assets/index-y_ojbF9T.js | 67 ------ build/assets/index-y_ojbF9T.js.map | 1 - build/assets/radix-vendor-CYvDqP9X.js | 1 - build/assets/radix-vendor-CYvDqP9X.js.map | 1 - build/assets/redux-vendor-tbZCm13o.js | 1 - build/assets/redux-vendor-tbZCm13o.js.map | 1 - build/assets/router-vendor-B_rK4TXr.js | 1 - build/assets/router-vendor-B_rK4TXr.js.map | 1 - build/assets/socket-vendor-TjCxX7sJ.js | 1 - build/assets/socket-vendor-TjCxX7sJ.js.map | 1 - build/assets/ui-vendor-BFJfF1vG.js | 2 + build/assets/ui-vendor-DfwWW08H.js | 3 - build/assets/ui-vendor-DfwWW08H.js.map | 1 - ...r-DNMmNUQL.js => utils-vendor-BTBPSQfW.js} | 3 +- build/assets/utils-vendor-DNMmNUQL.js.map | 1 - build/index.html | 8 +- build/robots.txt | 4 + build/sitemap.xml | 9 + docs/CLAIM_MANAGEMENT_APPROVER_MAPPING.md | 6 +- docs/DEALERS_CSV_IMPORT_GUIDE.md | 4 +- docs/DEALER_USER_ARCHITECTURE.md | 4 +- docs/DMS_WEBHOOK_API.md | 12 +- docs/FRESH_DATABASE_SETUP.md | 32 +-- docs/GCP_PRODUCTION_SETUP.md | 6 +- docs/GCP_STORAGE_SETUP.md | 6 +- docs/OKTA_USERS_API_INTEGRATION.md | 4 +- docs/RBAC_IMPLEMENTATION.md | 14 +- docs/RBAC_QUICK_START.md | 8 +- docs/SSO_IMPLEMENTATION.md | 2 +- docs/STEP3_APPROVER_ANALYSIS.md | 2 +- docs/USERNAME_PASSWORD_AUTH.md | 2 +- env.example | 4 +- scripts/assign-admin-user.sql | 2 +- scripts/assign-user-roles.sql | 12 +- setup-env.sh | 4 +- src/app.ts | 6 +- src/config/email.ts | 2 +- src/config/sso.ts | 6 +- src/controllers/auth.controller.ts | 4 +- src/controllers/user.controller.ts | 51 +++- src/emailtemplates/IMPLEMENTATION_PLAN.md | 10 +- src/emailtemplates/README.md | 6 +- src/emailtemplates/TEMPLATE_MAPPING.md | 2 +- src/emailtemplates/USAGE.md | 6 +- src/emailtemplates/branding.config.ts | 10 +- src/emailtemplates/emailPreferences.helper.ts | 38 +-- src/emailtemplates/quick-preview.ts | 4 +- src/emailtemplates/test-email.ts | 6 +- src/emailtemplates/test-real-scenario.ts | 17 +- src/middlewares/cors.middleware.ts | 12 +- src/routes/user.routes.ts | 6 + src/scripts/auto-setup.ts | 3 +- src/scripts/seed-dealers-table.ts | 4 +- src/scripts/seed-dealers.ts | 6 +- src/services/approval.service.ts | 8 +- src/services/dealerClaim.service.ts | 16 +- src/services/dealerClaimApproval.service.ts | 11 +- src/services/email.service.ts | 23 +- src/services/emailNotification.service.ts | 24 +- src/services/notification.service.ts | 18 +- src/services/pdf.service.ts | 4 +- src/services/pwcIntegration.service.ts | 4 +- src/services/tatScheduler.service.ts | 38 +-- src/services/template.service.ts | 2 +- src/services/user.service.ts | 37 +-- src/services/workflow.service.ts | 10 +- src/utils/sanitizer.ts | 9 +- src/utils/tatTimeUtils.ts | 220 +++++++++--------- 77 files changed, 499 insertions(+), 443 deletions(-) delete mode 100644 build/assets/charts-vendor-BVfwAPj-.js.map rename build/assets/{conclusionApi-DoX_H3Tk.js => conclusionApi-Cz9GiHQM.js} (76%) delete mode 100644 build/assets/conclusionApi-DoX_H3Tk.js.map create mode 100644 build/assets/index-5rjlVIR5.js delete mode 100644 build/assets/index-y_ojbF9T.js delete mode 100644 build/assets/index-y_ojbF9T.js.map delete mode 100644 build/assets/radix-vendor-CYvDqP9X.js.map delete mode 100644 build/assets/redux-vendor-tbZCm13o.js.map delete mode 100644 build/assets/router-vendor-B_rK4TXr.js.map delete mode 100644 build/assets/socket-vendor-TjCxX7sJ.js.map create mode 100644 build/assets/ui-vendor-BFJfF1vG.js delete mode 100644 build/assets/ui-vendor-DfwWW08H.js delete mode 100644 build/assets/ui-vendor-DfwWW08H.js.map rename build/assets/{utils-vendor-DNMmNUQL.js => utils-vendor-BTBPSQfW.js} (96%) delete mode 100644 build/assets/utils-vendor-DNMmNUQL.js.map create mode 100644 build/robots.txt create mode 100644 build/sitemap.xml diff --git a/.cursor/project_setup.md b/.cursor/project_setup.md index f341021..b427da1 100644 --- a/.cursor/project_setup.md +++ b/.cursor/project_setup.md @@ -1326,9 +1326,9 @@ GCP_KEY_FILE=./config/gcp-key.json SMTP_HOST=smtp.gmail.com SMTP_PORT=587 SMTP_SECURE=false -SMTP_USER=notifications@{{API_DOMAIN}} +SMTP_USER=notifications@{{APP_DOMAIN}} SMTP_PASSWORD=your_smtp_password -EMAIL_FROM=RE Workflow System +EMAIL_FROM=RE Workflow System # AI Service (for conclusion generation) AI_API_KEY=your_ai_api_key diff --git a/QUICK_START.md b/QUICK_START.md index eeaa5dc..4efa7f2 100644 --- a/QUICK_START.md +++ b/QUICK_START.md @@ -98,7 +98,7 @@ npm run dev 1. Server will start automatically 2. Log in via SSO 3. Run this SQL to make yourself admin: - UPDATE users SET role = 'ADMIN' WHERE email = 'your-email@{{API_DOMAIN}}'; + UPDATE users SET role = 'ADMIN' WHERE email = 'your-email@{{APP_DOMAIN}}'; [Config Seed] ✅ Default configurations seeded successfully (30 settings) info: ✅ Server started successfully on port 5000 @@ -112,7 +112,7 @@ psql -d royal_enfield_workflow UPDATE users SET role = 'ADMIN' -WHERE email = 'your-email@{{API_DOMAIN}}'; +WHERE email = 'your-email@{{APP_DOMAIN}}'; \q ``` diff --git a/README.md b/README.md index e930f0c..b35dfbe 100644 --- a/README.md +++ b/README.md @@ -471,7 +471,7 @@ The backend supports web push notifications via VAPID (Voluntary Application Ser ``` VAPID_PUBLIC_KEY= VAPID_PRIVATE_KEY= - VAPID_CONTACT=mailto:admin@{{API_DOMAIN}} + VAPID_CONTACT=mailto:admin@{{APP_DOMAIN}} ``` 3. **Add to Frontend `.env`:** diff --git a/Royal_Enfield_API_Collection.postman_collection.json b/Royal_Enfield_API_Collection.postman_collection.json index ff155d2..e2eb6ea 100644 --- a/Royal_Enfield_API_Collection.postman_collection.json +++ b/Royal_Enfield_API_Collection.postman_collection.json @@ -66,7 +66,7 @@ ], "body": { "mode": "raw", - "raw": "{\n // Okta username (email)\n \"username\": \"user@{{API_DOMAIN}}\",\n \n // Okta password\n \"password\": \"YourOktaPassword123\"\n}" + "raw": "{\n // Okta username (email)\n \"username\": \"user@{{APP_DOMAIN}}\",\n \n // Okta password\n \"password\": \"YourOktaPassword123\"\n}" }, "url": { "raw": "{{baseUrl}}/auth/login", @@ -498,7 +498,7 @@ ], "body": { "mode": "raw", - "raw": "{\n \"templateType\": \"CUSTOM\",\n \"title\": \"Purchase Order Approval for Office Equipment\",\n \"description\": \"Approval needed for purchasing new office equipment including laptops, monitors, and office furniture. Total budget: $50,000\",\n \"priority\": \"STANDARD\",\n \"approvalLevels\": [\n {\n \"email\": \"manager@{{API_DOMAIN}}\",\n \"tatHours\": 24\n },\n {\n \"email\": \"director@{{API_DOMAIN}}\",\n \"tatHours\": 48\n },\n {\n \"email\": \"cfo@{{API_DOMAIN}}\",\n \"tatHours\": 72\n }\n ],\n \"spectators\": [\n {\n \"email\": \"hr@{{API_DOMAIN}}\"\n },\n {\n \"email\": \"finance@{{API_DOMAIN}}\"\n }\n ]\n}" + "raw": "{\n \"templateType\": \"CUSTOM\",\n \"title\": \"Purchase Order Approval for Office Equipment\",\n \"description\": \"Approval needed for purchasing new office equipment including laptops, monitors, and office furniture. Total budget: $50,000\",\n \"priority\": \"STANDARD\",\n \"approvalLevels\": [\n {\n \"email\": \"manager@{{APP_DOMAIN}}\",\n \"tatHours\": 24\n },\n {\n \"email\": \"director@{{APP_DOMAIN}}\",\n \"tatHours\": 48\n },\n {\n \"email\": \"cfo@{{APP_DOMAIN}}\",\n \"tatHours\": 72\n }\n ],\n \"spectators\": [\n {\n \"email\": \"hr@{{APP_DOMAIN}}\"\n },\n {\n \"email\": \"finance@{{APP_DOMAIN}}\"\n }\n ]\n}" }, "url": { "raw": "{{baseUrl}}/workflows", @@ -522,7 +522,7 @@ "formdata": [ { "key": "payload", - "value": "{\"templateType\":\"CUSTOM\",\"title\":\"Purchase Order Approval with Documents\",\"description\":\"Approval needed for office equipment purchase with supporting documents\",\"priority\":\"STANDARD\",\"approvalLevels\":[{\"email\":\"manager@{{API_DOMAIN}}\",\"tatHours\":24},{\"email\":\"director@{{API_DOMAIN}}\",\"tatHours\":48}],\"spectators\":[{\"email\":\"hr@{{API_DOMAIN}}\"}]}", + "value": "{\"templateType\":\"CUSTOM\",\"title\":\"Purchase Order Approval with Documents\",\"description\":\"Approval needed for office equipment purchase with supporting documents\",\"priority\":\"STANDARD\",\"approvalLevels\":[{\"email\":\"manager@{{APP_DOMAIN}}\",\"tatHours\":24},{\"email\":\"director@{{APP_DOMAIN}}\",\"tatHours\":48}],\"spectators\":[{\"email\":\"hr@{{APP_DOMAIN}}\"}]}", "type": "text", "description": "JSON payload with simplified format (email + tatHours only)" }, @@ -719,7 +719,7 @@ ], "body": { "mode": "raw", - "raw": "{\n \"email\": \"newapprover@{{API_DOMAIN}}\",\n \"tatHours\": 24,\n \"level\": 2\n}" + "raw": "{\n \"email\": \"newapprover@{{APP_DOMAIN}}\",\n \"tatHours\": 24,\n \"level\": 2\n}" }, "url": { "raw": "{{baseUrl}}/workflows/:id/approvers/at-level", @@ -755,7 +755,7 @@ ], "body": { "mode": "raw", - "raw": "{\n \"email\": \"spectator@{{API_DOMAIN}}\"\n}" + "raw": "{\n \"email\": \"spectator@{{APP_DOMAIN}}\"\n}" }, "url": { "raw": "{{baseUrl}}/workflows/:id/participants/spectator", @@ -3038,4 +3038,4 @@ ] } ] -} +} \ No newline at end of file diff --git a/build/assets/charts-vendor-BVfwAPj-.js b/build/assets/charts-vendor-BVfwAPj-.js index c608032..3c0cfd4 100644 --- a/build/assets/charts-vendor-BVfwAPj-.js +++ b/build/assets/charts-vendor-BVfwAPj-.js @@ -70,4 +70,3 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function qG(e,t){if(e){if(typeof e=="string")return Ph(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ph(e,t)}}function XG(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function YG(e){if(Array.isArray(e))return Ph(e)}function Ph(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function yq(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function mq(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function gq(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=new Array(t);r0?o:t&&t.length&&W(i)&&W(a)?t.slice(i,a+1):[]};function BP(e){return e==="number"?[0,"auto"]:void 0}var Th=function(t,r,n,i){var a=t.graphicalItems,o=t.tooltipAxis,u=lf(r,t);return n<0||!a||!a.length||n>=u.length?null:a.reduce(function(l,s){var f,c=(f=s.props.data)!==null&&f!==void 0?f:r;c&&t.dataStartIndex+t.dataEndIndex!==0&&t.dataEndIndex-t.dataStartIndex>=n&&(c=c.slice(t.dataStartIndex,t.dataEndIndex+1));var d;if(o.dataKey&&!o.allowDuplicatedCategory){var p=c===void 0?u:c;d=Ql(p,o.dataKey,i)}else d=c&&c[n]||u[n];return d?[].concat(ba(l),[__(s,d)]):l},[])},z1=function(t,r,n,i){var a=i||{x:t.chartX,y:t.chartY},o=kq(a,n),u=t.orderedTooltipTicks,l=t.tooltipAxis,s=t.tooltipTicks,f=Y5(o,u,s,l);if(f>=0&&s){var c=s[f]&&s[f].value,d=Th(t,r,f,c),p=jq(n,u,f,a);return{activeTooltipIndex:f,activeLabel:c,activePayload:d,activeCoordinate:p}}return null},Cq=function(t,r){var n=r.axes,i=r.graphicalItems,a=r.axisType,o=r.axisIdKey,u=r.stackGroups,l=r.dataStartIndex,s=r.dataEndIndex,f=t.layout,c=t.children,d=t.stackOffset,p=g_(f,a);return n.reduce(function(m,h){var w,v=h.type.defaultProps!==void 0?j(j({},h.type.defaultProps),h.props):h.props,y=v.type,g=v.dataKey,O=v.allowDataOverflow,b=v.allowDuplicatedCategory,x=v.scale,S=v.ticks,_=v.includeHidden,A=v[o];if(m[A])return m;var $=lf(t.data,{graphicalItems:i.filter(function(U){var q,ne=o in U.props?U.props[o]:(q=U.type.defaultProps)===null||q===void 0?void 0:q[o];return ne===A}),dataStartIndex:l,dataEndIndex:s}),E=$.length,T,C,N;iq(v.domain,O,y)&&(T=Wp(v.domain,null,O),p&&(y==="number"||x!=="auto")&&(N=go($,g,"category")));var M=BP(y);if(!T||T.length===0){var D,L=(D=v.domain)!==null&&D!==void 0?D:M;if(g){if(T=go($,g,y),y==="category"&&p){var k=Bj(T);b&&k?(C=T,T=Rs(0,E)):b||(T=lb(L,T,h).reduce(function(U,q){return U.indexOf(q)>=0?U:[].concat(ba(U),[q])},[]))}else if(y==="category")b?T=T.filter(function(U){return U!==""&&!Z(U)}):T=lb(L,T,h).reduce(function(U,q){return U.indexOf(q)>=0||q===""||Z(q)?U:[].concat(ba(U),[q])},[]);else if(y==="number"){var I=t6($,i.filter(function(U){var q,ne,Oe=o in U.props?U.props[o]:(q=U.type.defaultProps)===null||q===void 0?void 0:q[o],je="hide"in U.props?U.props.hide:(ne=U.type.defaultProps)===null||ne===void 0?void 0:ne.hide;return Oe===A&&(_||!je)}),g,a,f);I&&(T=I)}p&&(y==="number"||x!=="auto")&&(N=go($,g,"category"))}else p?T=Rs(0,E):u&&u[A]&&u[A].hasStack&&y==="number"?T=d==="expand"?[0,1]:S_(u[A].stackGroups,l,s):T=m_($,i.filter(function(U){var q=o in U.props?U.props[o]:U.type.defaultProps[o],ne="hide"in U.props?U.props.hide:U.type.defaultProps.hide;return q===A&&(_||!ne)}),y,f,!0);if(y==="number")T=Ah(c,T,A,a,S),L&&(T=Wp(L,T,O));else if(y==="category"&&L){var z=L,H=T.every(function(U){return z.indexOf(U)>=0});H&&(T=z)}}return j(j({},m),{},Y({},A,j(j({},v),{},{axisType:a,domain:T,categoricalDomain:N,duplicateDomain:C,originalDomain:(w=v.domain)!==null&&w!==void 0?w:M,isCategorical:p,layout:f})))},{})},Mq=function(t,r){var n=r.graphicalItems,i=r.Axis,a=r.axisType,o=r.axisIdKey,u=r.stackGroups,l=r.dataStartIndex,s=r.dataEndIndex,f=t.layout,c=t.children,d=lf(t.data,{graphicalItems:n,dataStartIndex:l,dataEndIndex:s}),p=d.length,m=g_(f,a),h=-1;return n.reduce(function(w,v){var y=v.type.defaultProps!==void 0?j(j({},v.type.defaultProps),v.props):v.props,g=y[o],O=BP("number");if(!w[g]){h++;var b;return m?b=Rs(0,p):u&&u[g]&&u[g].hasStack?(b=S_(u[g].stackGroups,l,s),b=Ah(c,b,g,a)):(b=Wp(O,m_(d,n.filter(function(x){var S,_,A=o in x.props?x.props[o]:(S=x.type.defaultProps)===null||S===void 0?void 0:S[o],$="hide"in x.props?x.props.hide:(_=x.type.defaultProps)===null||_===void 0?void 0:_.hide;return A===g&&!$}),"number",f),i.defaultProps.allowDataOverflow),b=Ah(c,b,g,a)),j(j({},w),{},Y({},g,j(j({axisType:a},i.defaultProps),{},{hide:!0,orientation:kt($q,"".concat(a,".").concat(h%2),null),domain:b,originalDomain:O,isCategorical:m,layout:f})))}return w},{})},Iq=function(t,r){var n=r.axisType,i=n===void 0?"xAxis":n,a=r.AxisComp,o=r.graphicalItems,u=r.stackGroups,l=r.dataStartIndex,s=r.dataEndIndex,f=t.children,c="".concat(i,"Id"),d=jt(f,a),p={};return d&&d.length?p=Cq(t,{axes:d,graphicalItems:o,axisType:i,axisIdKey:c,stackGroups:u,dataStartIndex:l,dataEndIndex:s}):o&&o.length&&(p=Mq(t,{Axis:a,graphicalItems:o,axisType:i,axisIdKey:c,stackGroups:u,dataStartIndex:l,dataEndIndex:s})),p},Nq=function(t){var r=Jr(t),n=kr(r,!1,!0);return{tooltipTicks:n,orderedTooltipTicks:Gv(n,function(i){return i.coordinate}),tooltipAxis:r,tooltipAxisBandSize:Ps(r,n)}},F1=function(t){var r=t.children,n=t.defaultShowTooltip,i=Pt(r,sa),a=0,o=0;return t.data&&t.data.length!==0&&(o=t.data.length-1),i&&i.props&&(i.props.startIndex>=0&&(a=i.props.startIndex),i.props.endIndex>=0&&(o=i.props.endIndex)),{chartX:0,chartY:0,dataStartIndex:a,dataEndIndex:o,activeTooltipIndex:-1,isTooltipActive:!!n}},Dq=function(t){return!t||!t.length?!1:t.some(function(r){var n=Cr(r&&r.type);return n&&n.indexOf("Bar")>=0})},U1=function(t){return t==="horizontal"?{numericAxisName:"yAxis",cateAxisName:"xAxis"}:t==="vertical"?{numericAxisName:"xAxis",cateAxisName:"yAxis"}:t==="centric"?{numericAxisName:"radiusAxis",cateAxisName:"angleAxis"}:{numericAxisName:"angleAxis",cateAxisName:"radiusAxis"}},Lq=function(t,r){var n=t.props,i=t.graphicalItems,a=t.xAxisMap,o=a===void 0?{}:a,u=t.yAxisMap,l=u===void 0?{}:u,s=n.width,f=n.height,c=n.children,d=n.margin||{},p=Pt(c,sa),m=Pt(c,Bi),h=Object.keys(l).reduce(function(b,x){var S=l[x],_=S.orientation;return!S.mirror&&!S.hide?j(j({},b),{},Y({},_,b[_]+S.width)):b},{left:d.left||0,right:d.right||0}),w=Object.keys(o).reduce(function(b,x){var S=o[x],_=S.orientation;return!S.mirror&&!S.hide?j(j({},b),{},Y({},_,kt(b,"".concat(_))+S.height)):b},{top:d.top||0,bottom:d.bottom||0}),v=j(j({},w),h),y=v.bottom;p&&(v.bottom+=p.props.height||sa.defaultProps.height),m&&r&&(v=J5(v,i,n,r));var g=s-v.left-v.right,O=f-v.top-v.bottom;return j(j({brushBottom:y},v),{},{width:Math.max(g,0),height:Math.max(O,0)})},Rq=function(t,r){if(r==="xAxis")return t[r].width;if(r==="yAxis")return t[r].height},jy=function(t){var r=t.chartName,n=t.GraphicalChild,i=t.defaultTooltipEventType,a=i===void 0?"axis":i,o=t.validateTooltipEventTypes,u=o===void 0?["axis"]:o,l=t.axisComponents,s=t.legendContent,f=t.formatAxisMap,c=t.defaultProps,d=function(v,y){var g=y.graphicalItems,O=y.stackGroups,b=y.offset,x=y.updateId,S=y.dataStartIndex,_=y.dataEndIndex,A=v.barSize,$=v.layout,E=v.barGap,T=v.barCategoryGap,C=v.maxBarSize,N=U1($),M=N.numericAxisName,D=N.cateAxisName,L=Dq(g),k=[];return g.forEach(function(I,z){var H=lf(v.data,{graphicalItems:[I],dataStartIndex:S,dataEndIndex:_}),U=I.type.defaultProps!==void 0?j(j({},I.type.defaultProps),I.props):I.props,q=U.dataKey,ne=U.maxBarSize,Oe=U["".concat(M,"Id")],je=U["".concat(D,"Id")],Nt={},pt=l.reduce(function(Sn,_n){var sf=y["".concat(_n.axisType,"Map")],Cy=U["".concat(_n.axisType,"Id")];sf&&sf[Cy]||_n.axisType==="zAxis"||ei();var My=sf[Cy];return j(j({},Sn),{},Y(Y({},_n.axisType,My),"".concat(_n.axisType,"Ticks"),kr(My)))},Nt),K=pt[D],J=pt["".concat(D,"Ticks")],te=O&&O[Oe]&&O[Oe].hasStack&&c6(I,O[Oe].stackGroups),R=Cr(I.type).indexOf("Bar")>=0,$e=Ps(K,J),ie=[],De=L&&Q5({barSize:A,stackGroups:O,totalSize:Rq(pt,D)});if(R){var Le,ht,Vr=Z(ne)?C:ne,si=(Le=(ht=Ps(K,J,!0))!==null&&ht!==void 0?ht:Vr)!==null&&Le!==void 0?Le:0;ie=Z5({barGap:E,barCategoryGap:T,bandSize:si!==$e?si:$e,sizeList:De[je],maxBarSize:Vr}),si!==$e&&(ie=ie.map(function(Sn){return j(j({},Sn),{},{position:j(j({},Sn.position),{},{offset:Sn.position.offset-si/2})})}))}var Nu=I&&I.type&&I.type.getComposedData;Nu&&k.push({props:j(j({},Nu(j(j({},pt),{},{displayedData:H,props:v,dataKey:q,item:I,bandSize:$e,barPosition:ie,offset:b,stackedData:te,layout:$,dataStartIndex:S,dataEndIndex:_}))),{},Y(Y(Y({key:I.key||"item-".concat(z)},M,pt[M]),D,pt[D]),"animationId",x)),childIndex:Zj(I,v.children),item:I})}),k},p=function(v,y){var g=v.props,O=v.dataStartIndex,b=v.dataEndIndex,x=v.updateId;if(!tg({props:g}))return null;var S=g.children,_=g.layout,A=g.stackOffset,$=g.data,E=g.reverseStackOrder,T=U1(_),C=T.numericAxisName,N=T.cateAxisName,M=jt(S,n),D=l6($,M,"".concat(C,"Id"),"".concat(N,"Id"),A,E),L=l.reduce(function(U,q){var ne="".concat(q.axisType,"Map");return j(j({},U),{},Y({},ne,Iq(g,j(j({},q),{},{graphicalItems:M,stackGroups:q.axisType===C&&D,dataStartIndex:O,dataEndIndex:b}))))},{}),k=Lq(j(j({},L),{},{props:g,graphicalItems:M}),y==null?void 0:y.legendBBox);Object.keys(L).forEach(function(U){L[U]=f(g,L[U],k,U.replace("Map",""),r)});var I=L["".concat(N,"Map")],z=Nq(I),H=d(g,j(j({},L),{},{dataStartIndex:O,dataEndIndex:b,updateId:x,graphicalItems:M,stackGroups:D,offset:k}));return j(j({formattedGraphicalItems:H,graphicalItems:M,offset:k,stackGroups:D},z),L)},m=function(w){function v(y){var g,O,b;return mq(this,v),b=wq(this,v,[y]),Y(b,"eventEmitterSymbol",Symbol("rechartsEventEmitter")),Y(b,"accessibilityManager",new nq),Y(b,"handleLegendBBoxUpdate",function(x){if(x){var S=b.state,_=S.dataStartIndex,A=S.dataEndIndex,$=S.updateId;b.setState(j({legendBBox:x},p({props:b.props,dataStartIndex:_,dataEndIndex:A,updateId:$},j(j({},b.state),{},{legendBBox:x}))))}}),Y(b,"handleReceiveSyncEvent",function(x,S,_){if(b.props.syncId===x){if(_===b.eventEmitterSymbol&&typeof b.props.syncMethod!="function")return;b.applySyncEvent(S)}}),Y(b,"handleBrushChange",function(x){var S=x.startIndex,_=x.endIndex;if(S!==b.state.dataStartIndex||_!==b.state.dataEndIndex){var A=b.state.updateId;b.setState(function(){return j({dataStartIndex:S,dataEndIndex:_},p({props:b.props,dataStartIndex:S,dataEndIndex:_,updateId:A},b.state))}),b.triggerSyncEvent({dataStartIndex:S,dataEndIndex:_})}}),Y(b,"handleMouseEnter",function(x){var S=b.getMouseInfo(x);if(S){var _=j(j({},S),{},{isTooltipActive:!0});b.setState(_),b.triggerSyncEvent(_);var A=b.props.onMouseEnter;Q(A)&&A(_,x)}}),Y(b,"triggeredAfterMouseMove",function(x){var S=b.getMouseInfo(x),_=S?j(j({},S),{},{isTooltipActive:!0}):{isTooltipActive:!1};b.setState(_),b.triggerSyncEvent(_);var A=b.props.onMouseMove;Q(A)&&A(_,x)}),Y(b,"handleItemMouseEnter",function(x){b.setState(function(){return{isTooltipActive:!0,activeItem:x,activePayload:x.tooltipPayload,activeCoordinate:x.tooltipPosition||{x:x.cx,y:x.cy}}})}),Y(b,"handleItemMouseLeave",function(){b.setState(function(){return{isTooltipActive:!1}})}),Y(b,"handleMouseMove",function(x){x.persist(),b.throttleTriggeredAfterMouseMove(x)}),Y(b,"handleMouseLeave",function(x){b.throttleTriggeredAfterMouseMove.cancel();var S={isTooltipActive:!1};b.setState(S),b.triggerSyncEvent(S);var _=b.props.onMouseLeave;Q(_)&&_(S,x)}),Y(b,"handleOuterEvent",function(x){var S=Qj(x),_=kt(b.props,"".concat(S));if(S&&Q(_)){var A,$;/.*touch.*/i.test(S)?$=b.getMouseInfo(x.changedTouches[0]):$=b.getMouseInfo(x),_((A=$)!==null&&A!==void 0?A:{},x)}}),Y(b,"handleClick",function(x){var S=b.getMouseInfo(x);if(S){var _=j(j({},S),{},{isTooltipActive:!0});b.setState(_),b.triggerSyncEvent(_);var A=b.props.onClick;Q(A)&&A(_,x)}}),Y(b,"handleMouseDown",function(x){var S=b.props.onMouseDown;if(Q(S)){var _=b.getMouseInfo(x);S(_,x)}}),Y(b,"handleMouseUp",function(x){var S=b.props.onMouseUp;if(Q(S)){var _=b.getMouseInfo(x);S(_,x)}}),Y(b,"handleTouchMove",function(x){x.changedTouches!=null&&x.changedTouches.length>0&&b.throttleTriggeredAfterMouseMove(x.changedTouches[0])}),Y(b,"handleTouchStart",function(x){x.changedTouches!=null&&x.changedTouches.length>0&&b.handleMouseDown(x.changedTouches[0])}),Y(b,"handleTouchEnd",function(x){x.changedTouches!=null&&x.changedTouches.length>0&&b.handleMouseUp(x.changedTouches[0])}),Y(b,"handleDoubleClick",function(x){var S=b.props.onDoubleClick;if(Q(S)){var _=b.getMouseInfo(x);S(_,x)}}),Y(b,"handleContextMenu",function(x){var S=b.props.onContextMenu;if(Q(S)){var _=b.getMouseInfo(x);S(_,x)}}),Y(b,"triggerSyncEvent",function(x){b.props.syncId!==void 0&&ud.emit(ld,b.props.syncId,x,b.eventEmitterSymbol)}),Y(b,"applySyncEvent",function(x){var S=b.props,_=S.layout,A=S.syncMethod,$=b.state.updateId,E=x.dataStartIndex,T=x.dataEndIndex;if(x.dataStartIndex!==void 0||x.dataEndIndex!==void 0)b.setState(j({dataStartIndex:E,dataEndIndex:T},p({props:b.props,dataStartIndex:E,dataEndIndex:T,updateId:$},b.state)));else if(x.activeTooltipIndex!==void 0){var C=x.chartX,N=x.chartY,M=x.activeTooltipIndex,D=b.state,L=D.offset,k=D.tooltipTicks;if(!L)return;if(typeof A=="function")M=A(k,x);else if(A==="value"){M=-1;for(var I=0;I=0){var te,R;if(C.dataKey&&!C.allowDuplicatedCategory){var $e=typeof C.dataKey=="function"?J:"payload.".concat(C.dataKey.toString());te=Ql(I,$e,M),R=z&&H&&Ql(H,$e,M)}else te=I==null?void 0:I[N],R=z&&H&&H[N];if(je||Oe){var ie=x.props.activeIndex!==void 0?x.props.activeIndex:N;return[B.cloneElement(x,j(j(j({},A.props),pt),{},{activeIndex:ie})),null,null]}if(!Z(te))return[K].concat(ba(b.renderActivePoints({item:A,activePoint:te,basePoint:R,childIndex:N,isRange:z})))}else{var De,Le=(De=b.getItemByXY(b.state.activeCoordinate))!==null&&De!==void 0?De:{graphicalItem:K},ht=Le.graphicalItem,Vr=ht.item,si=Vr===void 0?x:Vr,Nu=ht.childIndex,Sn=j(j(j({},A.props),pt),{},{activeIndex:Nu});return[B.cloneElement(si,Sn),null,null]}return z?[K,null,null]:[K,null]}),Y(b,"renderCustomized",function(x,S,_){return B.cloneElement(x,j(j({key:"recharts-customized-".concat(_)},b.props),b.state))}),Y(b,"renderMap",{CartesianGrid:{handler:pl,once:!0},ReferenceArea:{handler:b.renderReferenceElement},ReferenceLine:{handler:pl},ReferenceDot:{handler:b.renderReferenceElement},XAxis:{handler:pl},YAxis:{handler:pl},Brush:{handler:b.renderBrush,once:!0},Bar:{handler:b.renderGraphicChild},Line:{handler:b.renderGraphicChild},Area:{handler:b.renderGraphicChild},Radar:{handler:b.renderGraphicChild},RadialBar:{handler:b.renderGraphicChild},Scatter:{handler:b.renderGraphicChild},Pie:{handler:b.renderGraphicChild},Funnel:{handler:b.renderGraphicChild},Tooltip:{handler:b.renderCursor,once:!0},PolarGrid:{handler:b.renderPolarGrid,once:!0},PolarAngleAxis:{handler:b.renderPolarAxis},PolarRadiusAxis:{handler:b.renderPolarAxis},Customized:{handler:b.renderCustomized}}),b.clipPathId="".concat((g=y.id)!==null&&g!==void 0?g:$a("recharts"),"-clip"),b.throttleTriggeredAfterMouseMove=hS(b.triggeredAfterMouseMove,(O=y.throttleDelay)!==null&&O!==void 0?O:1e3/60),b.state={},b}return Sq(v,w),bq(v,[{key:"componentDidMount",value:function(){var g,O;this.addListener(),this.accessibilityManager.setDetails({container:this.container,offset:{left:(g=this.props.margin.left)!==null&&g!==void 0?g:0,top:(O=this.props.margin.top)!==null&&O!==void 0?O:0},coordinateList:this.state.tooltipTicks,mouseHandlerCallback:this.triggeredAfterMouseMove,layout:this.props.layout}),this.displayDefaultTooltip()}},{key:"displayDefaultTooltip",value:function(){var g=this.props,O=g.children,b=g.data,x=g.height,S=g.layout,_=Pt(O,Sr);if(_){var A=_.props.defaultIndex;if(!(typeof A!="number"||A<0||A>this.state.tooltipTicks.length-1)){var $=this.state.tooltipTicks[A]&&this.state.tooltipTicks[A].value,E=Th(this.state,b,A,$),T=this.state.tooltipTicks[A].coordinate,C=(this.state.offset.top+x)/2,N=S==="horizontal",M=N?{x:T,y:C}:{y:T,x:C},D=this.state.formattedGraphicalItems.find(function(k){var I=k.item;return I.type.name==="Scatter"});D&&(M=j(j({},M),D.props.points[A].tooltipPosition),E=D.props.points[A].tooltipPayload);var L={activeTooltipIndex:A,isTooltipActive:!0,activeLabel:$,activePayload:E,activeCoordinate:M};this.setState(L),this.renderCursor(_),this.accessibilityManager.setIndex(A)}}}},{key:"getSnapshotBeforeUpdate",value:function(g,O){if(!this.props.accessibilityLayer)return null;if(this.state.tooltipTicks!==O.tooltipTicks&&this.accessibilityManager.setDetails({coordinateList:this.state.tooltipTicks}),this.props.layout!==g.layout&&this.accessibilityManager.setDetails({layout:this.props.layout}),this.props.margin!==g.margin){var b,x;this.accessibilityManager.setDetails({offset:{left:(b=this.props.margin.left)!==null&&b!==void 0?b:0,top:(x=this.props.margin.top)!==null&&x!==void 0?x:0}})}return null}},{key:"componentDidUpdate",value:function(g){ip([Pt(g.children,Sr)],[Pt(this.props.children,Sr)])||this.displayDefaultTooltip()}},{key:"componentWillUnmount",value:function(){this.removeListener(),this.throttleTriggeredAfterMouseMove.cancel()}},{key:"getTooltipEventType",value:function(){var g=Pt(this.props.children,Sr);if(g&&typeof g.props.shared=="boolean"){var O=g.props.shared?"axis":"item";return u.indexOf(O)>=0?O:a}return a}},{key:"getMouseInfo",value:function(g){if(!this.container)return null;var O=this.container,b=O.getBoundingClientRect(),x=_z(b),S={chartX:Math.round(g.pageX-x.left),chartY:Math.round(g.pageY-x.top)},_=b.width/O.offsetWidth||1,A=this.inRange(S.chartX,S.chartY,_);if(!A)return null;var $=this.state,E=$.xAxisMap,T=$.yAxisMap,C=this.getTooltipEventType(),N=z1(this.state,this.props.data,this.props.layout,A);if(C!=="axis"&&E&&T){var M=Jr(E).scale,D=Jr(T).scale,L=M&&M.invert?M.invert(S.chartX):null,k=D&&D.invert?D.invert(S.chartY):null;return j(j({},S),{},{xValue:L,yValue:k},N)}return N?j(j({},S),N):null}},{key:"inRange",value:function(g,O){var b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,x=this.props.layout,S=g/b,_=O/b;if(x==="horizontal"||x==="vertical"){var A=this.state.offset,$=S>=A.left&&S<=A.left+A.width&&_>=A.top&&_<=A.top+A.height;return $?{x:S,y:_}:null}var E=this.state,T=E.angleAxisMap,C=E.radiusAxisMap;if(T&&C){var N=Jr(T);return fb({x:S,y:_},N)}return null}},{key:"parseEventsOfWrapper",value:function(){var g=this.props.children,O=this.getTooltipEventType(),b=Pt(g,Sr),x={};b&&O==="axis"&&(b.props.trigger==="click"?x={onClick:this.handleClick}:x={onMouseEnter:this.handleMouseEnter,onDoubleClick:this.handleDoubleClick,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd,onContextMenu:this.handleContextMenu});var S=Zl(this.props,this.handleOuterEvent);return j(j({},S),x)}},{key:"addListener",value:function(){ud.on(ld,this.handleReceiveSyncEvent)}},{key:"removeListener",value:function(){ud.removeListener(ld,this.handleReceiveSyncEvent)}},{key:"filterFormatItem",value:function(g,O,b){for(var x=this.state.formattedGraphicalItems,S=0,_=x.length;S<_;S++){var A=x[S];if(A.item===g||A.props.key===g.key||O===Cr(A.item.type)&&b===A.childIndex)return A}return null}},{key:"renderClipPath",value:function(){var g=this.clipPathId,O=this.state.offset,b=O.left,x=O.top,S=O.height,_=O.width;return P.createElement("defs",null,P.createElement("clipPath",{id:g},P.createElement("rect",{x:b,y:x,height:S,width:_})))}},{key:"getXScales",value:function(){var g=this.state.xAxisMap;return g?Object.entries(g).reduce(function(O,b){var x=L1(b,2),S=x[0],_=x[1];return j(j({},O),{},Y({},S,_.scale))},{}):null}},{key:"getYScales",value:function(){var g=this.state.yAxisMap;return g?Object.entries(g).reduce(function(O,b){var x=L1(b,2),S=x[0],_=x[1];return j(j({},O),{},Y({},S,_.scale))},{}):null}},{key:"getXScaleByAxisId",value:function(g){var O;return(O=this.state.xAxisMap)===null||O===void 0||(O=O[g])===null||O===void 0?void 0:O.scale}},{key:"getYScaleByAxisId",value:function(g){var O;return(O=this.state.yAxisMap)===null||O===void 0||(O=O[g])===null||O===void 0?void 0:O.scale}},{key:"getItemByXY",value:function(g){var O=this.state,b=O.formattedGraphicalItems,x=O.activeItem;if(b&&b.length)for(var S=0,_=b.length;S<_;S++){var A=b[S],$=A.props,E=A.item,T=E.type.defaultProps!==void 0?j(j({},E.type.defaultProps),E.props):E.props,C=Cr(E.type);if(C==="Bar"){var N=($.data||[]).find(function(k){return uH(g,k)});if(N)return{graphicalItem:A,payload:N}}else if(C==="RadialBar"){var M=($.data||[]).find(function(k){return fb(g,k)});if(M)return{graphicalItem:A,payload:M}}else if(Qc(A,x)||Zc(A,x)||hu(A,x)){var D=X9({graphicalItem:A,activeTooltipItem:x,itemData:T.data}),L=T.activeIndex===void 0?D:T.activeIndex;return{graphicalItem:j(j({},A),{},{childIndex:L}),payload:hu(A,x)?T.data[D]:A.props.data[D]}}}return null}},{key:"render",value:function(){var g=this;if(!tg(this))return null;var O=this.props,b=O.children,x=O.className,S=O.width,_=O.height,A=O.style,$=O.compact,E=O.title,T=O.desc,C=R1(O,dq),N=X(C,!1);if($)return P.createElement(b1,{state:this.state,width:this.props.width,height:this.props.height,clipPathId:this.clipPathId},P.createElement(op,ji({},N,{width:S,height:_,title:E,desc:T}),this.renderClipPath(),ng(b,this.renderMap)));if(this.props.accessibilityLayer){var M,D;N.tabIndex=(M=this.props.tabIndex)!==null&&M!==void 0?M:0,N.role=(D=this.props.role)!==null&&D!==void 0?D:"application",N.onKeyDown=function(k){g.accessibilityManager.keyboardEvent(k)},N.onFocus=function(){g.accessibilityManager.focus()}}var L=this.parseEventsOfWrapper();return P.createElement(b1,{state:this.state,width:this.props.width,height:this.props.height,clipPathId:this.clipPathId},P.createElement("div",ji({className:ee("recharts-wrapper",x),style:j({position:"relative",cursor:"default",width:S,height:_},A)},L,{ref:function(I){g.container=I}}),P.createElement(op,ji({},N,{width:S,height:_,title:E,desc:T,style:Tq}),this.renderClipPath(),ng(b,this.renderMap)),this.renderLegend(),this.renderTooltip()))}}])}(B.Component);Y(m,"displayName",r),Y(m,"defaultProps",j({layout:"horizontal",stackOffset:"none",barCategoryGap:"10%",barGap:4,margin:{top:5,right:5,bottom:5,left:5},reverseStackOrder:!1,syncMethod:"index"},c)),Y(m,"getDerivedStateFromProps",function(w,v){var y=w.dataKey,g=w.data,O=w.children,b=w.width,x=w.height,S=w.layout,_=w.stackOffset,A=w.margin,$=v.dataStartIndex,E=v.dataEndIndex;if(v.updateId===void 0){var T=F1(w);return j(j(j({},T),{},{updateId:0},p(j(j({props:w},T),{},{updateId:0}),v)),{},{prevDataKey:y,prevData:g,prevWidth:b,prevHeight:x,prevLayout:S,prevStackOffset:_,prevMargin:A,prevChildren:O})}if(y!==v.prevDataKey||g!==v.prevData||b!==v.prevWidth||x!==v.prevHeight||S!==v.prevLayout||_!==v.prevStackOffset||!Ri(A,v.prevMargin)){var C=F1(w),N={chartX:v.chartX,chartY:v.chartY,isTooltipActive:v.isTooltipActive},M=j(j({},z1(v,g,S)),{},{updateId:v.updateId+1}),D=j(j(j({},C),N),M);return j(j(j({},D),p(j({props:w},D),v)),{},{prevDataKey:y,prevData:g,prevWidth:b,prevHeight:x,prevLayout:S,prevStackOffset:_,prevMargin:A,prevChildren:O})}if(!ip(O,v.prevChildren)){var L,k,I,z,H=Pt(O,sa),U=H&&(L=(k=H.props)===null||k===void 0?void 0:k.startIndex)!==null&&L!==void 0?L:$,q=H&&(I=(z=H.props)===null||z===void 0?void 0:z.endIndex)!==null&&I!==void 0?I:E,ne=U!==$||q!==E,Oe=!Z(g),je=Oe&&!ne?v.updateId:v.updateId+1;return j(j({updateId:je},p(j(j({props:w},v),{},{updateId:je,dataStartIndex:U,dataEndIndex:q}),v)),{},{prevChildren:O,dataStartIndex:U,dataEndIndex:q})}return null}),Y(m,"renderActiveDot",function(w,v,y){var g;return B.isValidElement(w)?g=B.cloneElement(w,v):Q(w)?g=w(v):g=P.createElement(Vc,v),P.createElement(oe,{className:"recharts-active-dot",key:y},g)});var h=B.forwardRef(function(v,y){return P.createElement(m,ji({},v,{ref:y}))});return h.displayName=m.displayName,h},Uq=jy({chartName:"LineChart",GraphicalChild:af,axisComponents:[{axisType:"xAxis",AxisComp:of},{axisType:"yAxis",AxisComp:uf}],formatAxisMap:iP}),Wq=jy({chartName:"BarChart",GraphicalChild:Na,defaultTooltipEventType:"axis",validateTooltipEventTypes:["axis","item"],axisComponents:[{axisType:"xAxis",AxisComp:of},{axisType:"yAxis",AxisComp:uf}],formatAxisMap:iP}),Hq=jy({chartName:"PieChart",GraphicalChild:On,validateTooltipEventTypes:["item"],defaultTooltipEventType:"item",legendContent:"children",axisComponents:[{axisType:"angleAxis",AxisComp:Yc},{axisType:"radiusAxis",AxisComp:qc}],formatAxisMap:w6,defaultProps:{layout:"centric",startAngle:0,endAngle:360,cx:"50%",cy:"50%",innerRadius:0,outerRadius:"80%"}});export{Wq as B,hG as C,Bi as L,Hq as P,Bq as R,Sr as T,of as X,uf as Y,o$ as a,P as b,ee as c,Fq as d,Na as e,On as f,Xv as g,Uq as h,af as i,Du as j,se as k,B as r,zq as v}; -//# sourceMappingURL=charts-vendor-BVfwAPj-.js.map diff --git a/build/assets/charts-vendor-BVfwAPj-.js.map b/build/assets/charts-vendor-BVfwAPj-.js.map deleted file mode 100644 index 964a30a..0000000 --- a/build/assets/charts-vendor-BVfwAPj-.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"charts-vendor-BVfwAPj-.js","sources":["../../node_modules/react/cjs/react.production.min.js","../../node_modules/react/index.js","../../node_modules/scheduler/cjs/scheduler.production.min.js","../../node_modules/scheduler/index.js","../../node_modules/react-dom/cjs/react-dom.production.min.js","../../node_modules/react-dom/index.js","../../node_modules/clsx/dist/clsx.mjs","../../node_modules/lodash/isArray.js","../../node_modules/lodash/_freeGlobal.js","../../node_modules/lodash/_root.js","../../node_modules/lodash/_Symbol.js","../../node_modules/lodash/_getRawTag.js","../../node_modules/lodash/_objectToString.js","../../node_modules/lodash/_baseGetTag.js","../../node_modules/lodash/isObjectLike.js","../../node_modules/lodash/isSymbol.js","../../node_modules/lodash/_isKey.js","../../node_modules/lodash/isObject.js","../../node_modules/lodash/isFunction.js","../../node_modules/lodash/_coreJsData.js","../../node_modules/lodash/_isMasked.js","../../node_modules/lodash/_toSource.js","../../node_modules/lodash/_baseIsNative.js","../../node_modules/lodash/_getValue.js","../../node_modules/lodash/_getNative.js","../../node_modules/lodash/_nativeCreate.js","../../node_modules/lodash/_hashClear.js","../../node_modules/lodash/_hashDelete.js","../../node_modules/lodash/_hashGet.js","../../node_modules/lodash/_hashHas.js","../../node_modules/lodash/_hashSet.js","../../node_modules/lodash/_Hash.js","../../node_modules/lodash/_listCacheClear.js","../../node_modules/lodash/eq.js","../../node_modules/lodash/_assocIndexOf.js","../../node_modules/lodash/_listCacheDelete.js","../../node_modules/lodash/_listCacheGet.js","../../node_modules/lodash/_listCacheHas.js","../../node_modules/lodash/_listCacheSet.js","../../node_modules/lodash/_ListCache.js","../../node_modules/lodash/_Map.js","../../node_modules/lodash/_mapCacheClear.js","../../node_modules/lodash/_isKeyable.js","../../node_modules/lodash/_getMapData.js","../../node_modules/lodash/_mapCacheDelete.js","../../node_modules/lodash/_mapCacheGet.js","../../node_modules/lodash/_mapCacheHas.js","../../node_modules/lodash/_mapCacheSet.js","../../node_modules/lodash/_MapCache.js","../../node_modules/lodash/memoize.js","../../node_modules/lodash/_memoizeCapped.js","../../node_modules/lodash/_stringToPath.js","../../node_modules/lodash/_arrayMap.js","../../node_modules/lodash/_baseToString.js","../../node_modules/lodash/toString.js","../../node_modules/lodash/_castPath.js","../../node_modules/lodash/_toKey.js","../../node_modules/lodash/_baseGet.js","../../node_modules/lodash/get.js","../../node_modules/lodash/isNil.js","../../node_modules/lodash/isString.js","../../node_modules/react-is/cjs/react-is.production.min.js","../../node_modules/react-is/index.js","../../node_modules/lodash/isNumber.js","../../node_modules/lodash/isNaN.js","../../node_modules/recharts/es6/util/DataUtils.js","../../node_modules/recharts/es6/util/ShallowEqual.js","../../node_modules/recharts/es6/util/types.js","../../node_modules/recharts/es6/util/ReactUtils.js","../../node_modules/recharts/es6/container/Surface.js","../../node_modules/recharts/es6/container/Layer.js","../../node_modules/recharts/es6/util/LogUtils.js","../../node_modules/lodash/_baseSlice.js","../../node_modules/lodash/_castSlice.js","../../node_modules/lodash/_hasUnicode.js","../../node_modules/lodash/_asciiToArray.js","../../node_modules/lodash/_unicodeToArray.js","../../node_modules/lodash/_stringToArray.js","../../node_modules/lodash/_createCaseFirst.js","../../node_modules/lodash/upperFirst.js","../../node_modules/d3-shape/src/constant.js","../../node_modules/d3-shape/src/math.js","../../node_modules/d3-path/src/path.js","../../node_modules/d3-shape/src/path.js","../../node_modules/d3-shape/src/array.js","../../node_modules/d3-shape/src/curve/linear.js","../../node_modules/d3-shape/src/point.js","../../node_modules/d3-shape/src/line.js","../../node_modules/d3-shape/src/area.js","../../node_modules/d3-shape/src/curve/bump.js","../../node_modules/d3-shape/src/symbol/circle.js","../../node_modules/d3-shape/src/symbol/cross.js","../../node_modules/d3-shape/src/symbol/diamond.js","../../node_modules/d3-shape/src/symbol/square.js","../../node_modules/d3-shape/src/symbol/star.js","../../node_modules/d3-shape/src/symbol/triangle.js","../../node_modules/d3-shape/src/symbol/wye.js","../../node_modules/d3-shape/src/symbol.js","../../node_modules/d3-shape/src/noop.js","../../node_modules/d3-shape/src/curve/basis.js","../../node_modules/d3-shape/src/curve/basisClosed.js","../../node_modules/d3-shape/src/curve/basisOpen.js","../../node_modules/d3-shape/src/curve/linearClosed.js","../../node_modules/d3-shape/src/curve/monotone.js","../../node_modules/d3-shape/src/curve/natural.js","../../node_modules/d3-shape/src/curve/step.js","../../node_modules/d3-shape/src/offset/none.js","../../node_modules/d3-shape/src/order/none.js","../../node_modules/d3-shape/src/stack.js","../../node_modules/d3-shape/src/offset/expand.js","../../node_modules/d3-shape/src/offset/silhouette.js","../../node_modules/d3-shape/src/offset/wiggle.js","../../node_modules/recharts/es6/shape/Symbols.js","../../node_modules/recharts/es6/component/DefaultLegendContent.js","../../node_modules/lodash/_stackClear.js","../../node_modules/lodash/_stackDelete.js","../../node_modules/lodash/_stackGet.js","../../node_modules/lodash/_stackHas.js","../../node_modules/lodash/_stackSet.js","../../node_modules/lodash/_Stack.js","../../node_modules/lodash/_setCacheAdd.js","../../node_modules/lodash/_setCacheHas.js","../../node_modules/lodash/_SetCache.js","../../node_modules/lodash/_arraySome.js","../../node_modules/lodash/_cacheHas.js","../../node_modules/lodash/_equalArrays.js","../../node_modules/lodash/_Uint8Array.js","../../node_modules/lodash/_mapToArray.js","../../node_modules/lodash/_setToArray.js","../../node_modules/lodash/_equalByTag.js","../../node_modules/lodash/_arrayPush.js","../../node_modules/lodash/_baseGetAllKeys.js","../../node_modules/lodash/_arrayFilter.js","../../node_modules/lodash/stubArray.js","../../node_modules/lodash/_getSymbols.js","../../node_modules/lodash/_baseTimes.js","../../node_modules/lodash/_baseIsArguments.js","../../node_modules/lodash/isArguments.js","../../node_modules/lodash/stubFalse.js","../../node_modules/lodash/isBuffer.js","../../node_modules/lodash/_isIndex.js","../../node_modules/lodash/isLength.js","../../node_modules/lodash/_baseIsTypedArray.js","../../node_modules/lodash/_baseUnary.js","../../node_modules/lodash/_nodeUtil.js","../../node_modules/lodash/isTypedArray.js","../../node_modules/lodash/_arrayLikeKeys.js","../../node_modules/lodash/_isPrototype.js","../../node_modules/lodash/_overArg.js","../../node_modules/lodash/_nativeKeys.js","../../node_modules/lodash/_baseKeys.js","../../node_modules/lodash/isArrayLike.js","../../node_modules/lodash/keys.js","../../node_modules/lodash/_getAllKeys.js","../../node_modules/lodash/_equalObjects.js","../../node_modules/lodash/_DataView.js","../../node_modules/lodash/_Promise.js","../../node_modules/lodash/_Set.js","../../node_modules/lodash/_WeakMap.js","../../node_modules/lodash/_getTag.js","../../node_modules/lodash/_baseIsEqualDeep.js","../../node_modules/lodash/_baseIsEqual.js","../../node_modules/lodash/_baseIsMatch.js","../../node_modules/lodash/_isStrictComparable.js","../../node_modules/lodash/_getMatchData.js","../../node_modules/lodash/_matchesStrictComparable.js","../../node_modules/lodash/_baseMatches.js","../../node_modules/lodash/_baseHasIn.js","../../node_modules/lodash/_hasPath.js","../../node_modules/lodash/hasIn.js","../../node_modules/lodash/_baseMatchesProperty.js","../../node_modules/lodash/identity.js","../../node_modules/lodash/_baseProperty.js","../../node_modules/lodash/_basePropertyDeep.js","../../node_modules/lodash/property.js","../../node_modules/lodash/_baseIteratee.js","../../node_modules/lodash/_baseFindIndex.js","../../node_modules/lodash/_baseIsNaN.js","../../node_modules/lodash/_strictIndexOf.js","../../node_modules/lodash/_baseIndexOf.js","../../node_modules/lodash/_arrayIncludes.js","../../node_modules/lodash/_arrayIncludesWith.js","../../node_modules/lodash/noop.js","../../node_modules/lodash/_createSet.js","../../node_modules/lodash/_baseUniq.js","../../node_modules/lodash/uniqBy.js","../../node_modules/recharts/es6/util/payload/getUniqPayload.js","../../node_modules/recharts/es6/component/Legend.js","../../node_modules/lodash/_isFlattenable.js","../../node_modules/lodash/_baseFlatten.js","../../node_modules/lodash/_createBaseFor.js","../../node_modules/lodash/_baseFor.js","../../node_modules/lodash/_baseForOwn.js","../../node_modules/lodash/_createBaseEach.js","../../node_modules/lodash/_baseEach.js","../../node_modules/lodash/_baseMap.js","../../node_modules/lodash/_baseSortBy.js","../../node_modules/lodash/_compareAscending.js","../../node_modules/lodash/_compareMultiple.js","../../node_modules/lodash/_baseOrderBy.js","../../node_modules/lodash/_apply.js","../../node_modules/lodash/_overRest.js","../../node_modules/lodash/constant.js","../../node_modules/lodash/_defineProperty.js","../../node_modules/lodash/_baseSetToString.js","../../node_modules/lodash/_shortOut.js","../../node_modules/lodash/_setToString.js","../../node_modules/lodash/_baseRest.js","../../node_modules/lodash/_isIterateeCall.js","../../node_modules/lodash/sortBy.js","../../node_modules/recharts/es6/component/DefaultTooltipContent.js","../../node_modules/recharts/es6/util/tooltip/translate.js","../../node_modules/recharts/es6/component/TooltipBoundingBox.js","../../node_modules/recharts/es6/util/Global.js","../../node_modules/recharts/es6/component/Tooltip.js","../../node_modules/lodash/now.js","../../node_modules/lodash/_trimmedEndIndex.js","../../node_modules/lodash/_baseTrim.js","../../node_modules/lodash/toNumber.js","../../node_modules/lodash/debounce.js","../../node_modules/lodash/throttle.js","../../node_modules/recharts/es6/component/ResponsiveContainer.js","../../node_modules/recharts/es6/component/Cell.js","../../node_modules/recharts/es6/util/DOMUtils.js","../../node_modules/recharts/es6/util/ReduceCSSCalc.js","../../node_modules/recharts/es6/component/Text.js","../../node_modules/d3-array/src/ascending.js","../../node_modules/d3-array/src/descending.js","../../node_modules/d3-array/src/bisector.js","../../node_modules/d3-array/src/number.js","../../node_modules/d3-array/src/bisect.js","../../node_modules/internmap/src/index.js","../../node_modules/d3-array/src/sort.js","../../node_modules/d3-array/src/ticks.js","../../node_modules/d3-array/src/max.js","../../node_modules/d3-array/src/min.js","../../node_modules/d3-array/src/quickselect.js","../../node_modules/d3-array/src/quantile.js","../../node_modules/d3-array/src/range.js","../../node_modules/d3-scale/src/init.js","../../node_modules/d3-scale/src/ordinal.js","../../node_modules/d3-scale/src/band.js","../../node_modules/d3-color/src/define.js","../../node_modules/d3-color/src/color.js","../../node_modules/d3-interpolate/src/constant.js","../../node_modules/d3-interpolate/src/color.js","../../node_modules/d3-interpolate/src/rgb.js","../../node_modules/d3-interpolate/src/numberArray.js","../../node_modules/d3-interpolate/src/array.js","../../node_modules/d3-interpolate/src/date.js","../../node_modules/d3-interpolate/src/number.js","../../node_modules/d3-interpolate/src/object.js","../../node_modules/d3-interpolate/src/string.js","../../node_modules/d3-interpolate/src/value.js","../../node_modules/d3-interpolate/src/round.js","../../node_modules/d3-interpolate/src/piecewise.js","../../node_modules/d3-scale/src/constant.js","../../node_modules/d3-scale/src/number.js","../../node_modules/d3-scale/src/continuous.js","../../node_modules/d3-format/src/formatDecimal.js","../../node_modules/d3-format/src/exponent.js","../../node_modules/d3-format/src/formatGroup.js","../../node_modules/d3-format/src/formatNumerals.js","../../node_modules/d3-format/src/formatSpecifier.js","../../node_modules/d3-format/src/formatTrim.js","../../node_modules/d3-format/src/formatPrefixAuto.js","../../node_modules/d3-format/src/formatRounded.js","../../node_modules/d3-format/src/formatTypes.js","../../node_modules/d3-format/src/identity.js","../../node_modules/d3-format/src/locale.js","../../node_modules/d3-format/src/defaultLocale.js","../../node_modules/d3-format/src/precisionFixed.js","../../node_modules/d3-format/src/precisionPrefix.js","../../node_modules/d3-format/src/precisionRound.js","../../node_modules/d3-scale/src/tickFormat.js","../../node_modules/d3-scale/src/linear.js","../../node_modules/d3-scale/src/identity.js","../../node_modules/d3-scale/src/nice.js","../../node_modules/d3-scale/src/log.js","../../node_modules/d3-scale/src/symlog.js","../../node_modules/d3-scale/src/pow.js","../../node_modules/d3-scale/src/radial.js","../../node_modules/d3-scale/src/quantile.js","../../node_modules/d3-scale/src/quantize.js","../../node_modules/d3-scale/src/threshold.js","../../node_modules/d3-time/src/interval.js","../../node_modules/d3-time/src/millisecond.js","../../node_modules/d3-time/src/duration.js","../../node_modules/d3-time/src/second.js","../../node_modules/d3-time/src/minute.js","../../node_modules/d3-time/src/hour.js","../../node_modules/d3-time/src/day.js","../../node_modules/d3-time/src/week.js","../../node_modules/d3-time/src/month.js","../../node_modules/d3-time/src/year.js","../../node_modules/d3-time/src/ticks.js","../../node_modules/d3-time-format/src/locale.js","../../node_modules/d3-time-format/src/defaultLocale.js","../../node_modules/d3-scale/src/time.js","../../node_modules/d3-scale/src/utcTime.js","../../node_modules/d3-scale/src/sequential.js","../../node_modules/d3-scale/src/sequentialQuantile.js","../../node_modules/d3-scale/src/diverging.js","../../node_modules/lodash/_baseExtremum.js","../../node_modules/lodash/_baseGt.js","../../node_modules/lodash/max.js","../../node_modules/lodash/_baseLt.js","../../node_modules/lodash/min.js","../../node_modules/lodash/map.js","../../node_modules/lodash/flatMap.js","../../node_modules/lodash/isEqual.js","../../node_modules/decimal.js-light/decimal.mjs","../../node_modules/recharts-scale/es6/util/utils.js","../../node_modules/recharts-scale/es6/util/arithmetic.js","../../node_modules/recharts-scale/es6/getNiceTickValues.js","../../node_modules/tiny-invariant/dist/esm/tiny-invariant.js","../../node_modules/recharts/es6/cartesian/ErrorBar.js","../../node_modules/recharts/es6/util/getLegendProps.js","../../node_modules/recharts/es6/util/ChartUtils.js","../../node_modules/recharts/es6/util/PolarUtils.js","../../node_modules/recharts/es6/component/Label.js","../../node_modules/lodash/last.js","../../node_modules/recharts/es6/component/LabelList.js","../../node_modules/recharts/es6/shape/Sector.js","../../node_modules/recharts/es6/shape/Curve.js","../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../node_modules/prop-types/factoryWithThrowingShims.js","../../node_modules/prop-types/index.js","../../node_modules/fast-equals/dist/esm/index.mjs","../../node_modules/react-smooth/es6/setRafTimeout.js","../../node_modules/react-smooth/es6/AnimateManager.js","../../node_modules/react-smooth/es6/util.js","../../node_modules/react-smooth/es6/easing.js","../../node_modules/react-smooth/es6/configUpdate.js","../../node_modules/react-smooth/es6/Animate.js","../../node_modules/recharts/es6/shape/Rectangle.js","../../node_modules/recharts/es6/shape/Polygon.js","../../node_modules/recharts/es6/shape/Dot.js","../../node_modules/recharts/es6/shape/Cross.js","../../node_modules/lodash/maxBy.js","../../node_modules/lodash/minBy.js","../../node_modules/recharts/es6/polar/PolarRadiusAxis.js","../../node_modules/recharts/es6/polar/PolarAngleAxis.js","../../node_modules/lodash/_getPrototype.js","../../node_modules/lodash/isPlainObject.js","../../node_modules/lodash/isBoolean.js","../../node_modules/recharts/es6/shape/Trapezoid.js","../../node_modules/recharts/es6/util/ActiveShapeUtils.js","../../node_modules/recharts/es6/polar/Pie.js","../../node_modules/lodash/_baseRange.js","../../node_modules/lodash/toFinite.js","../../node_modules/lodash/_createRange.js","../../node_modules/lodash/range.js","../../node_modules/recharts/es6/util/CssPrefixUtils.js","../../node_modules/recharts/es6/cartesian/Brush.js","../../node_modules/lodash/_baseSome.js","../../node_modules/lodash/some.js","../../node_modules/recharts/es6/util/IfOverflowMatches.js","../../node_modules/lodash/_baseAssignValue.js","../../node_modules/lodash/mapValues.js","../../node_modules/lodash/_arrayEvery.js","../../node_modules/lodash/_baseEvery.js","../../node_modules/lodash/every.js","../../node_modules/recharts/es6/util/BarUtils.js","../../node_modules/recharts/es6/cartesian/Bar.js","../../node_modules/recharts/es6/util/CartesianUtils.js","../../node_modules/lodash/_createFind.js","../../node_modules/lodash/toInteger.js","../../node_modules/lodash/findIndex.js","../../node_modules/lodash/find.js","../../node_modules/recharts/es6/util/calculateViewBox.js","../../node_modules/recharts/es6/context/chartLayoutContext.js","../../node_modules/recharts/es6/cartesian/ReferenceLine.js","../../node_modules/recharts/es6/cartesian/ReferenceDot.js","../../node_modules/recharts/es6/cartesian/ReferenceArea.js","../../node_modules/recharts/es6/util/getEveryNthWithCondition.js","../../node_modules/recharts/es6/util/TickUtils.js","../../node_modules/recharts/es6/cartesian/getEquidistantTicks.js","../../node_modules/recharts/es6/cartesian/getTicks.js","../../node_modules/recharts/es6/cartesian/CartesianAxis.js","../../node_modules/recharts/es6/cartesian/CartesianGrid.js","../../node_modules/recharts/es6/cartesian/Line.js","../../node_modules/recharts/es6/cartesian/XAxis.js","../../node_modules/recharts/es6/cartesian/YAxis.js","../../node_modules/recharts/es6/util/DetectReferenceElementsDomain.js","../../node_modules/eventemitter3/index.js","../../node_modules/recharts/es6/util/Events.js","../../node_modules/recharts/es6/chart/AccessibilityManager.js","../../node_modules/recharts/es6/util/isDomainSpecifiedByUser.js","../../node_modules/recharts/es6/util/cursor/getCursorRectangle.js","../../node_modules/recharts/es6/util/cursor/getRadialCursorPoints.js","../../node_modules/recharts/es6/util/cursor/getCursorPoints.js","../../node_modules/recharts/es6/component/Cursor.js","../../node_modules/recharts/es6/chart/generateCategoricalChart.js","../../node_modules/recharts/es6/chart/LineChart.js","../../node_modules/recharts/es6/chart/BarChart.js","../../node_modules/recharts/es6/chart/PieChart.js"],"sourcesContent":["/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&Ng(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=Lg(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Tg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Rg(f.type,f.key,f.props,null,a.mode,h),h.ref=Lg(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=Sg(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);Mg(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=Qg(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Ug=Og(!0),Vg=Og(!1),Wg=Uf(null),Xg=null,Yg=null,Zg=null;function $g(){Zg=Yg=Xg=null}function ah(a){var b=Wg.current;E(Wg);a._currentValue=b}function bh(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}\nfunction ch(a,b){Xg=a;Zg=Yg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(dh=!0),a.firstContext=null)}function eh(a){var b=a._currentValue;if(Zg!==a)if(a={context:a,memoizedValue:b,next:null},null===Yg){if(null===Xg)throw Error(p(308));Yg=a;Xg.dependencies={lanes:0,firstContext:a}}else Yg=Yg.next=a;return b}var fh=null;function gh(a){null===fh?fh=[a]:fh.push(a)}\nfunction hh(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,gh(b)):(c.next=e.next,e.next=c);b.interleaved=c;return ih(a,d)}function ih(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var jh=!1;function kh(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction lh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function mh(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction nh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return ih(a,c)}e=d.interleaved;null===e?(b.next=b,gh(d)):(b.next=e.next,e.next=b);d.interleaved=b;return ih(a,c)}function oh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction ph(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction qh(a,b,c,d){var e=a.updateQueue;jh=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:jh=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);rh|=g;a.lanes=g;a.memoizedState=q}}\nfunction sh(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;bc?c:4;a(!0);var d=Gh.transition;Gh.transition={};try{a(!1),b()}finally{C=c,Gh.transition=d}}function wi(){return Uh().memoizedState}\nfunction xi(a,b,c){var d=yi(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,c);else if(c=hh(a,b,c,d),null!==c){var e=R();gi(c,a,d,e);Bi(c,b,d)}}\nfunction ii(a,b,c){var d=yi(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,gh(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=hh(a,b,e,d);null!==c&&(e=R(),gi(c,a,d,e),Bi(c,b,d))}}\nfunction zi(a){var b=a.alternate;return a===M||null!==b&&b===M}function Ai(a,b){Jh=Ih=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Bi(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar Rh={readContext:eh,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useInsertionEffect:P,useLayoutEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useMutableSource:P,useSyncExternalStore:P,useId:P,unstable_isNewReconciler:!1},Oh={readContext:eh,useCallback:function(a,b){Th().memoizedState=[a,void 0===b?null:b];return a},useContext:eh,useEffect:mi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ki(4194308,\n4,pi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ki(4194308,4,a,b)},useInsertionEffect:function(a,b){return ki(4,2,a,b)},useMemo:function(a,b){var c=Th();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=xi.bind(null,M,a);return[d.memoizedState,a]},useRef:function(a){var b=\nTh();a={current:a};return b.memoizedState=a},useState:hi,useDebugValue:ri,useDeferredValue:function(a){return Th().memoizedState=a},useTransition:function(){var a=hi(!1),b=a[0];a=vi.bind(null,a[1]);Th().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=M,e=Th();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===Q)throw Error(p(349));0!==(Hh&30)||di(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;mi(ai.bind(null,d,\nf,a),[a]);d.flags|=2048;bi(9,ci.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=Th(),b=Q.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Kh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;zj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eGj&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304)}else{if(!d)if(a=Ch(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Dj(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Gj&&1073741824!==c&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=L.current,G(L,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Hj(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(fj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Ij(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return zh(),E(Wf),E(H),Eh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Bh(b),null;case 13:E(L);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(L),null;case 4:return zh(),null;case 10:return ah(b.type._context),null;case 22:case 23:return Hj(),\nnull;case 24:return null;default:return null}}var Jj=!1,U=!1,Kj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Lj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Mj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Nj=!1;\nfunction Oj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Ci(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Nj;Nj=!1;return n}\nfunction Pj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Mj(b,c,f)}e=e.next}while(e!==d)}}function Qj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Rj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Sj(a){var b=a.alternate;null!==b&&(a.alternate=null,Sj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Tj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Uj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Tj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Vj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Vj(a,b,c),a=a.sibling;null!==a;)Vj(a,b,c),a=a.sibling}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}var X=null,Xj=!1;function Yj(a,b,c){for(c=c.child;null!==c;)Zj(a,b,c),c=c.sibling}\nfunction Zj(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Lj(c,b);case 6:var d=X,e=Xj;X=null;Yj(a,b,c);X=d;Xj=e;null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Xj;X=c.stateNode.containerInfo;Xj=!0;\nYj(a,b,c);X=d;Xj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Mj(c,b,g):0!==(f&4)&&Mj(c,b,g));e=e.next}while(e!==d)}Yj(a,b,c);break;case 1:if(!U&&(Lj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Yj(a,b,c);break;case 21:Yj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Yj(a,b,c),U=d):Yj(a,b,c);break;default:Yj(a,b,c)}}function ak(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Kj);b.forEach(function(b){var d=bk.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction ck(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*lk(d/1960))-d;if(10a?16:a;if(null===wk)var d=!1;else{a=wk;wk=null;xk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-fk?Kk(a,0):rk|=c);Dk(a,b)}function Yk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=R();a=ih(a,b);null!==a&&(Ac(a,b,c),Dk(a,c))}function uj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Yk(a,c)}\nfunction bk(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Yk(a,c)}var Vk;\nVk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)dh=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return dh=!1,yj(a,b,c);dh=0!==(a.flags&131072)?!0:!1}else dh=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;ij(a,b);a=b.pendingProps;var e=Yf(b,H.current);ch(b,c);e=Nh(null,b,d,a,e,c);var f=Sh();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,kh(b),e.updater=Ei,b.stateNode=e,e._reactInternals=b,Ii(b,d,a,c),b=jj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Xi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{ij(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=Zk(d);a=Ci(d,a);switch(e){case 0:b=cj(null,b,d,a,c);break a;case 1:b=hj(null,b,d,a,c);break a;case 11:b=Yi(null,b,d,a,c);break a;case 14:b=$i(null,b,d,Ci(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),cj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),hj(a,b,d,e,c);case 3:a:{kj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;lh(a,b);qh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ji(Error(p(423)),b);b=lj(a,b,d,c,e);break a}else if(d!==e){e=Ji(Error(p(424)),b);b=lj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Vg(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=Zi(a,b,c);break a}Xi(a,b,d,c)}b=b.child}return b;case 5:return Ah(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\ngj(a,b),Xi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return oj(a,b,c);case 4:return yh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Ug(b,null,d,c):Xi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),Yi(a,b,d,e,c);case 7:return Xi(a,b,b.pendingProps,c),b.child;case 8:return Xi(a,b,b.pendingProps.children,c),b.child;case 12:return Xi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Wg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=Zi(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=mh(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);bh(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);bh(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Xi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,ch(b,c),e=eh(e),d=d(e),b.flags|=1,Xi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Ci(d,b.pendingProps),e=Ci(d.type,e),$i(a,b,d,e,c);case 15:return bj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),ij(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,ch(b,c),Gi(b,d,e),Ii(b,d,e,c),jj(null,b,d,!0,a,c);case 19:return xj(a,b,c);case 22:return dj(a,b,c)}throw Error(p(156,b.tag));};function Fk(a,b){return ac(a,b)}\nfunction $k(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new $k(a,b,c,d)}function aj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction Zk(a){if(\"function\"===typeof a)return aj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction Pg(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Rg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)aj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Tg(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return pj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Tg(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function pj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function Qg(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction Sg(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction al(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function bl(a,b,c,d,e,f,g,h,k){a=new al(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};kh(f);return a}function cl(a,b,c){var d=3 true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n","var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","/**\n * Checks if `value` is `null` or `undefined`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\nfunction isNil(value) {\n return value == null;\n}\n\nmodule.exports = isNil;\n","var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n","/**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar numberTag = '[object Number]';\n\n/**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n * classified as numbers, use the `_.isFinite` method.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a number, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\nfunction isNumber(value) {\n return typeof value == 'number' ||\n (isObjectLike(value) && baseGetTag(value) == numberTag);\n}\n\nmodule.exports = isNumber;\n","var isNumber = require('./isNumber');\n\n/**\n * Checks if `value` is `NaN`.\n *\n * **Note:** This method is based on\n * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as\n * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for\n * `undefined` and other non-number values.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n * @example\n *\n * _.isNaN(NaN);\n * // => true\n *\n * _.isNaN(new Number(NaN));\n * // => true\n *\n * isNaN(undefined);\n * // => true\n *\n * _.isNaN(undefined);\n * // => false\n */\nfunction isNaN(value) {\n // An `NaN` primitive is the only value that is not equal to itself.\n // Perform the `toStringTag` check first to avoid errors with some\n // ActiveX objects in IE.\n return isNumber(value) && value != +value;\n}\n\nmodule.exports = isNaN;\n","import isString from 'lodash/isString';\nimport isNan from 'lodash/isNaN';\nimport get from 'lodash/get';\nimport lodashIsNumber from 'lodash/isNumber';\nimport isNil from 'lodash/isNil';\nexport var mathSign = function mathSign(value) {\n if (value === 0) {\n return 0;\n }\n if (value > 0) {\n return 1;\n }\n return -1;\n};\nexport var isPercent = function isPercent(value) {\n return isString(value) && value.indexOf('%') === value.length - 1;\n};\nexport var isNumber = function isNumber(value) {\n return lodashIsNumber(value) && !isNan(value);\n};\nexport var isNullish = function isNullish(value) {\n return isNil(value);\n};\nexport var isNumOrStr = function isNumOrStr(value) {\n return isNumber(value) || isString(value);\n};\nvar idCounter = 0;\nexport var uniqueId = function uniqueId(prefix) {\n var id = ++idCounter;\n return \"\".concat(prefix || '').concat(id);\n};\n\n/**\n * Get percent value of a total value\n * @param {number|string} percent A percent\n * @param {number} totalValue Total value\n * @param {number} defaultValue The value returned when percent is undefined or invalid\n * @param {boolean} validate If set to be true, the result will be validated\n * @return {number} value\n */\nexport var getPercentValue = function getPercentValue(percent, totalValue) {\n var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n var validate = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n if (!isNumber(percent) && !isString(percent)) {\n return defaultValue;\n }\n var value;\n if (isPercent(percent)) {\n var index = percent.indexOf('%');\n value = totalValue * parseFloat(percent.slice(0, index)) / 100;\n } else {\n value = +percent;\n }\n if (isNan(value)) {\n value = defaultValue;\n }\n if (validate && value > totalValue) {\n value = totalValue;\n }\n return value;\n};\nexport var getAnyElementOfObject = function getAnyElementOfObject(obj) {\n if (!obj) {\n return null;\n }\n var keys = Object.keys(obj);\n if (keys && keys.length) {\n return obj[keys[0]];\n }\n return null;\n};\nexport var hasDuplicate = function hasDuplicate(ary) {\n if (!Array.isArray(ary)) {\n return false;\n }\n var len = ary.length;\n var cache = {};\n for (var i = 0; i < len; i++) {\n if (!cache[ary[i]]) {\n cache[ary[i]] = true;\n } else {\n return true;\n }\n }\n return false;\n};\n\n/* @todo consider to rename this function into `getInterpolator` */\nexport var interpolateNumber = function interpolateNumber(numberA, numberB) {\n if (isNumber(numberA) && isNumber(numberB)) {\n return function (t) {\n return numberA + t * (numberB - numberA);\n };\n }\n return function () {\n return numberB;\n };\n};\nexport function findEntryInArray(ary, specifiedKey, specifiedValue) {\n if (!ary || !ary.length) {\n return null;\n }\n return ary.find(function (entry) {\n return entry && (typeof specifiedKey === 'function' ? specifiedKey(entry) : get(entry, specifiedKey)) === specifiedValue;\n });\n}\n\n/**\n * The least square linear regression\n * @param {Array} data The array of points\n * @returns {Object} The domain of x, and the parameter of linear function\n */\nexport var getLinearRegression = function getLinearRegression(data) {\n if (!data || !data.length) {\n return null;\n }\n var len = data.length;\n var xsum = 0;\n var ysum = 0;\n var xysum = 0;\n var xxsum = 0;\n var xmin = Infinity;\n var xmax = -Infinity;\n var xcurrent = 0;\n var ycurrent = 0;\n for (var i = 0; i < len; i++) {\n xcurrent = data[i].cx || 0;\n ycurrent = data[i].cy || 0;\n xsum += xcurrent;\n ysum += ycurrent;\n xysum += xcurrent * ycurrent;\n xxsum += xcurrent * xcurrent;\n xmin = Math.min(xmin, xcurrent);\n xmax = Math.max(xmax, xcurrent);\n }\n var a = len * xxsum !== xsum * xsum ? (len * xysum - xsum * ysum) / (len * xxsum - xsum * xsum) : 0;\n return {\n xmin: xmin,\n xmax: xmax,\n a: a,\n b: (ysum - a * xsum) / len\n };\n};\n\n/**\n * Compare values.\n *\n * This function is intended to be passed to `Array.prototype.sort()`. It properly compares generic homogeneous arrays that are either `string[]`,\n * `number[]`, or `Date[]`. When comparing heterogeneous arrays or homogeneous arrays of other types, it will attempt to compare items properly but\n * will fall back to string comparison for mismatched or unsupported types.\n *\n * For some background, `Array.prototype.sort()`'s default comparator coerces each of the array's items into a string and compares the strings. This\n * often leads to undesirable behavior, especially with numerical items.\n *\n * @param {unknown} a The first item to compare\n * @param {unknown} b The second item to compare\n * @return {number} A negative number if a < b, a positive number if a > b, 0 if equal\n */\nexport var compareValues = function compareValues(a, b) {\n if (isNumber(a) && isNumber(b)) {\n return a - b;\n }\n if (isString(a) && isString(b)) {\n return a.localeCompare(b);\n }\n if (a instanceof Date && b instanceof Date) {\n return a.getTime() - b.getTime();\n }\n return String(a).localeCompare(String(b));\n};","export function shallowEqual(a, b) {\n /* eslint-disable no-restricted-syntax */\n for (var key in a) {\n if ({}.hasOwnProperty.call(a, key) && (!{}.hasOwnProperty.call(b, key) || a[key] !== b[key])) {\n return false;\n }\n }\n for (var _key in b) {\n if ({}.hasOwnProperty.call(b, _key) && !{}.hasOwnProperty.call(a, _key)) {\n return false;\n }\n }\n return true;\n}","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nimport { isValidElement } from 'react';\nimport isObject from 'lodash/isObject';\n\n/**\n * Determines how values are stacked:\n *\n * - `none` is the default, it adds values on top of each other. No smarts. Negative values will overlap.\n * - `expand` make it so that the values always add up to 1 - so the chart will look like a rectangle.\n * - `wiggle` and `silhouette` tries to keep the chart centered.\n * - `sign` stacks positive values above zero and negative values below zero. Similar to `none` but handles negatives.\n * - `positive` ignores all negative values, and then behaves like \\`none\\`.\n *\n * Also see https://d3js.org/d3-shape/stack#stack-offsets\n * (note that the `diverging` offset in d3 is named `sign` in recharts)\n */\n\n//\n// Event Handler Types -- Copied from @types/react/index.d.ts and adapted for Props.\n//\n\nvar SVGContainerPropKeys = ['viewBox', 'children'];\nexport var SVGElementPropKeys = ['aria-activedescendant', 'aria-atomic', 'aria-autocomplete', 'aria-busy', 'aria-checked', 'aria-colcount', 'aria-colindex', 'aria-colspan', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-details', 'aria-disabled', 'aria-errormessage', 'aria-expanded', 'aria-flowto', 'aria-haspopup', 'aria-hidden', 'aria-invalid', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-level', 'aria-live', 'aria-modal', 'aria-multiline', 'aria-multiselectable', 'aria-orientation', 'aria-owns', 'aria-placeholder', 'aria-posinset', 'aria-pressed', 'aria-readonly', 'aria-relevant', 'aria-required', 'aria-roledescription', 'aria-rowcount', 'aria-rowindex', 'aria-rowspan', 'aria-selected', 'aria-setsize', 'aria-sort', 'aria-valuemax', 'aria-valuemin', 'aria-valuenow', 'aria-valuetext', 'className', 'color', 'height', 'id', 'lang', 'max', 'media', 'method', 'min', 'name', 'style',\n/*\n * removed 'type' SVGElementPropKey because we do not currently use any SVG elements\n * that can use it and it conflicts with the recharts prop 'type'\n * https://github.com/recharts/recharts/pull/3327\n * https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/type\n */\n// 'type',\n'target', 'width', 'role', 'tabIndex', 'accentHeight', 'accumulate', 'additive', 'alignmentBaseline', 'allowReorder', 'alphabetic', 'amplitude', 'arabicForm', 'ascent', 'attributeName', 'attributeType', 'autoReverse', 'azimuth', 'baseFrequency', 'baselineShift', 'baseProfile', 'bbox', 'begin', 'bias', 'by', 'calcMode', 'capHeight', 'clip', 'clipPath', 'clipPathUnits', 'clipRule', 'colorInterpolation', 'colorInterpolationFilters', 'colorProfile', 'colorRendering', 'contentScriptType', 'contentStyleType', 'cursor', 'cx', 'cy', 'd', 'decelerate', 'descent', 'diffuseConstant', 'direction', 'display', 'divisor', 'dominantBaseline', 'dur', 'dx', 'dy', 'edgeMode', 'elevation', 'enableBackground', 'end', 'exponent', 'externalResourcesRequired', 'fill', 'fillOpacity', 'fillRule', 'filter', 'filterRes', 'filterUnits', 'floodColor', 'floodOpacity', 'focusable', 'fontFamily', 'fontSize', 'fontSizeAdjust', 'fontStretch', 'fontStyle', 'fontVariant', 'fontWeight', 'format', 'from', 'fx', 'fy', 'g1', 'g2', 'glyphName', 'glyphOrientationHorizontal', 'glyphOrientationVertical', 'glyphRef', 'gradientTransform', 'gradientUnits', 'hanging', 'horizAdvX', 'horizOriginX', 'href', 'ideographic', 'imageRendering', 'in2', 'in', 'intercept', 'k1', 'k2', 'k3', 'k4', 'k', 'kernelMatrix', 'kernelUnitLength', 'kerning', 'keyPoints', 'keySplines', 'keyTimes', 'lengthAdjust', 'letterSpacing', 'lightingColor', 'limitingConeAngle', 'local', 'markerEnd', 'markerHeight', 'markerMid', 'markerStart', 'markerUnits', 'markerWidth', 'mask', 'maskContentUnits', 'maskUnits', 'mathematical', 'mode', 'numOctaves', 'offset', 'opacity', 'operator', 'order', 'orient', 'orientation', 'origin', 'overflow', 'overlinePosition', 'overlineThickness', 'paintOrder', 'panose1', 'pathLength', 'patternContentUnits', 'patternTransform', 'patternUnits', 'pointerEvents', 'pointsAtX', 'pointsAtY', 'pointsAtZ', 'preserveAlpha', 'preserveAspectRatio', 'primitiveUnits', 'r', 'radius', 'refX', 'refY', 'renderingIntent', 'repeatCount', 'repeatDur', 'requiredExtensions', 'requiredFeatures', 'restart', 'result', 'rotate', 'rx', 'ry', 'seed', 'shapeRendering', 'slope', 'spacing', 'specularConstant', 'specularExponent', 'speed', 'spreadMethod', 'startOffset', 'stdDeviation', 'stemh', 'stemv', 'stitchTiles', 'stopColor', 'stopOpacity', 'strikethroughPosition', 'strikethroughThickness', 'string', 'stroke', 'strokeDasharray', 'strokeDashoffset', 'strokeLinecap', 'strokeLinejoin', 'strokeMiterlimit', 'strokeOpacity', 'strokeWidth', 'surfaceScale', 'systemLanguage', 'tableValues', 'targetX', 'targetY', 'textAnchor', 'textDecoration', 'textLength', 'textRendering', 'to', 'transform', 'u1', 'u2', 'underlinePosition', 'underlineThickness', 'unicode', 'unicodeBidi', 'unicodeRange', 'unitsPerEm', 'vAlphabetic', 'values', 'vectorEffect', 'version', 'vertAdvY', 'vertOriginX', 'vertOriginY', 'vHanging', 'vIdeographic', 'viewTarget', 'visibility', 'vMathematical', 'widths', 'wordSpacing', 'writingMode', 'x1', 'x2', 'x', 'xChannelSelector', 'xHeight', 'xlinkActuate', 'xlinkArcrole', 'xlinkHref', 'xlinkRole', 'xlinkShow', 'xlinkTitle', 'xlinkType', 'xmlBase', 'xmlLang', 'xmlns', 'xmlnsXlink', 'xmlSpace', 'y1', 'y2', 'y', 'yChannelSelector', 'z', 'zoomAndPan', 'ref', 'key', 'angle'];\nvar PolyElementKeys = ['points', 'pathLength'];\n\n/** svg element types that have specific attribute filtration requirements */\n\n/** map of svg element types to unique svg attributes that belong to that element */\nexport var FilteredElementKeyMap = {\n svg: SVGContainerPropKeys,\n polygon: PolyElementKeys,\n polyline: PolyElementKeys\n};\nexport var EventKeys = ['dangerouslySetInnerHTML', 'onCopy', 'onCopyCapture', 'onCut', 'onCutCapture', 'onPaste', 'onPasteCapture', 'onCompositionEnd', 'onCompositionEndCapture', 'onCompositionStart', 'onCompositionStartCapture', 'onCompositionUpdate', 'onCompositionUpdateCapture', 'onFocus', 'onFocusCapture', 'onBlur', 'onBlurCapture', 'onChange', 'onChangeCapture', 'onBeforeInput', 'onBeforeInputCapture', 'onInput', 'onInputCapture', 'onReset', 'onResetCapture', 'onSubmit', 'onSubmitCapture', 'onInvalid', 'onInvalidCapture', 'onLoad', 'onLoadCapture', 'onError', 'onErrorCapture', 'onKeyDown', 'onKeyDownCapture', 'onKeyPress', 'onKeyPressCapture', 'onKeyUp', 'onKeyUpCapture', 'onAbort', 'onAbortCapture', 'onCanPlay', 'onCanPlayCapture', 'onCanPlayThrough', 'onCanPlayThroughCapture', 'onDurationChange', 'onDurationChangeCapture', 'onEmptied', 'onEmptiedCapture', 'onEncrypted', 'onEncryptedCapture', 'onEnded', 'onEndedCapture', 'onLoadedData', 'onLoadedDataCapture', 'onLoadedMetadata', 'onLoadedMetadataCapture', 'onLoadStart', 'onLoadStartCapture', 'onPause', 'onPauseCapture', 'onPlay', 'onPlayCapture', 'onPlaying', 'onPlayingCapture', 'onProgress', 'onProgressCapture', 'onRateChange', 'onRateChangeCapture', 'onSeeked', 'onSeekedCapture', 'onSeeking', 'onSeekingCapture', 'onStalled', 'onStalledCapture', 'onSuspend', 'onSuspendCapture', 'onTimeUpdate', 'onTimeUpdateCapture', 'onVolumeChange', 'onVolumeChangeCapture', 'onWaiting', 'onWaitingCapture', 'onAuxClick', 'onAuxClickCapture', 'onClick', 'onClickCapture', 'onContextMenu', 'onContextMenuCapture', 'onDoubleClick', 'onDoubleClickCapture', 'onDrag', 'onDragCapture', 'onDragEnd', 'onDragEndCapture', 'onDragEnter', 'onDragEnterCapture', 'onDragExit', 'onDragExitCapture', 'onDragLeave', 'onDragLeaveCapture', 'onDragOver', 'onDragOverCapture', 'onDragStart', 'onDragStartCapture', 'onDrop', 'onDropCapture', 'onMouseDown', 'onMouseDownCapture', 'onMouseEnter', 'onMouseLeave', 'onMouseMove', 'onMouseMoveCapture', 'onMouseOut', 'onMouseOutCapture', 'onMouseOver', 'onMouseOverCapture', 'onMouseUp', 'onMouseUpCapture', 'onSelect', 'onSelectCapture', 'onTouchCancel', 'onTouchCancelCapture', 'onTouchEnd', 'onTouchEndCapture', 'onTouchMove', 'onTouchMoveCapture', 'onTouchStart', 'onTouchStartCapture', 'onPointerDown', 'onPointerDownCapture', 'onPointerMove', 'onPointerMoveCapture', 'onPointerUp', 'onPointerUpCapture', 'onPointerCancel', 'onPointerCancelCapture', 'onPointerEnter', 'onPointerEnterCapture', 'onPointerLeave', 'onPointerLeaveCapture', 'onPointerOver', 'onPointerOverCapture', 'onPointerOut', 'onPointerOutCapture', 'onGotPointerCapture', 'onGotPointerCaptureCapture', 'onLostPointerCapture', 'onLostPointerCaptureCapture', 'onScroll', 'onScrollCapture', 'onWheel', 'onWheelCapture', 'onAnimationStart', 'onAnimationStartCapture', 'onAnimationEnd', 'onAnimationEndCapture', 'onAnimationIteration', 'onAnimationIterationCapture', 'onTransitionEnd', 'onTransitionEndCapture'];\n\n/** The type of easing function to use for animations */\n\n/** Specifies the duration of animation, the unit of this option is ms. */\n\n/** the offset of a chart, which define the blank space all around */\n\n/**\n * The domain of axis.\n * This is the definition\n *\n * Numeric domain is always defined by an array of exactly two values, for the min and the max of the axis.\n * Categorical domain is defined as array of all possible values.\n *\n * Can be specified in many ways:\n * - array of numbers\n * - with special strings like 'dataMin' and 'dataMax'\n * - with special string math like 'dataMin - 100'\n * - with keyword 'auto'\n * - or a function\n * - array of functions\n * - or a combination of the above\n */\n\n/**\n * NumberDomain is an evaluated {@link AxisDomain}.\n * Unlike {@link AxisDomain}, it has no variety - it's a tuple of two number.\n * This is after all the keywords and functions were evaluated and what is left is [min, max].\n *\n * Know that the min, max values are not guaranteed to be nice numbers - values like -Infinity or NaN are possible.\n *\n * There are also `category` axes that have different things than numbers in their domain.\n */\n\n/** The props definition of base axis */\n\n/** Defines how ticks are placed and whether / how tick collisions are handled.\n * 'preserveStart' keeps the left tick on collision and ensures that the first tick is always shown.\n * 'preserveEnd' keeps the right tick on collision and ensures that the last tick is always shown.\n * 'preserveStartEnd' keeps the left tick on collision and ensures that the first and last ticks are always shown.\n * 'equidistantPreserveStart' selects a number N such that every nTh tick will be shown without collision.\n */\n\nexport var adaptEventHandlers = function adaptEventHandlers(props, newHandler) {\n if (!props || typeof props === 'function' || typeof props === 'boolean') {\n return null;\n }\n var inputProps = props;\n if ( /*#__PURE__*/isValidElement(props)) {\n inputProps = props.props;\n }\n if (!isObject(inputProps)) {\n return null;\n }\n var out = {};\n Object.keys(inputProps).forEach(function (key) {\n if (EventKeys.includes(key)) {\n out[key] = newHandler || function (e) {\n return inputProps[key](inputProps, e);\n };\n }\n });\n return out;\n};\nvar getEventHandlerOfChild = function getEventHandlerOfChild(originalHandler, data, index) {\n return function (e) {\n originalHandler(data, index, e);\n return null;\n };\n};\nexport var adaptEventsOfChild = function adaptEventsOfChild(props, data, index) {\n if (!isObject(props) || _typeof(props) !== 'object') {\n return null;\n }\n var out = null;\n Object.keys(props).forEach(function (key) {\n var item = props[key];\n if (EventKeys.includes(key) && typeof item === 'function') {\n if (!out) out = {};\n out[key] = getEventHandlerOfChild(item, data, index);\n }\n });\n return out;\n};","var _excluded = [\"children\"],\n _excluded2 = [\"children\"];\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nimport get from 'lodash/get';\nimport isNil from 'lodash/isNil';\nimport isString from 'lodash/isString';\nimport isFunction from 'lodash/isFunction';\nimport isObject from 'lodash/isObject';\nimport { Children, isValidElement } from 'react';\nimport { isFragment } from 'react-is';\nimport { isNumber } from './DataUtils';\nimport { shallowEqual } from './ShallowEqual';\nimport { FilteredElementKeyMap, SVGElementPropKeys, EventKeys } from './types';\nvar REACT_BROWSER_EVENT_MAP = {\n click: 'onClick',\n mousedown: 'onMouseDown',\n mouseup: 'onMouseUp',\n mouseover: 'onMouseOver',\n mousemove: 'onMouseMove',\n mouseout: 'onMouseOut',\n mouseenter: 'onMouseEnter',\n mouseleave: 'onMouseLeave',\n touchcancel: 'onTouchCancel',\n touchend: 'onTouchEnd',\n touchmove: 'onTouchMove',\n touchstart: 'onTouchStart',\n contextmenu: 'onContextMenu',\n dblclick: 'onDoubleClick'\n};\nexport var SCALE_TYPES = ['auto', 'linear', 'pow', 'sqrt', 'log', 'identity', 'time', 'band', 'point', 'ordinal', 'quantile', 'quantize', 'utc', 'sequential', 'threshold'];\nexport var LEGEND_TYPES = ['plainline', 'line', 'square', 'rect', 'circle', 'cross', 'diamond', 'star', 'triangle', 'wye', 'none'];\nexport var TOOLTIP_TYPES = ['none'];\n\n/**\n * Get the display name of a component\n * @param {Object} Comp Specified Component\n * @return {String} Display name of Component\n */\nexport var getDisplayName = function getDisplayName(Comp) {\n if (typeof Comp === 'string') {\n return Comp;\n }\n if (!Comp) {\n return '';\n }\n return Comp.displayName || Comp.name || 'Component';\n};\n\n// `toArray` gets called multiple times during the render\n// so we can memoize last invocation (since reference to `children` is the same)\nvar lastChildren = null;\nvar lastResult = null;\nexport var toArray = function toArray(children) {\n if (children === lastChildren && Array.isArray(lastResult)) {\n return lastResult;\n }\n var result = [];\n Children.forEach(children, function (child) {\n if (isNil(child)) return;\n if (isFragment(child)) {\n result = result.concat(toArray(child.props.children));\n } else {\n // @ts-expect-error this could still be Iterable and TS does not like that\n result.push(child);\n }\n });\n lastResult = result;\n lastChildren = children;\n return result;\n};\n\n/*\n * Find and return all matched children by type.\n * `type` must be a React.ComponentType\n */\nexport function findAllByType(children, type) {\n var result = [];\n var types = [];\n if (Array.isArray(type)) {\n types = type.map(function (t) {\n return getDisplayName(t);\n });\n } else {\n types = [getDisplayName(type)];\n }\n toArray(children).forEach(function (child) {\n var childType = get(child, 'type.displayName') || get(child, 'type.name');\n if (types.indexOf(childType) !== -1) {\n result.push(child);\n }\n });\n return result;\n}\n\n/*\n * Return the first matched child by type, return null otherwise.\n * `type` must be a React.ComponentType\n */\nexport function findChildByType(children, type) {\n var result = findAllByType(children, type);\n return result && result[0];\n}\n\n/*\n * Create a new array of children excluding the ones matched the type\n */\nexport var withoutType = function withoutType(children, type) {\n var newChildren = [];\n var types;\n if (Array.isArray(type)) {\n types = type.map(function (t) {\n return getDisplayName(t);\n });\n } else {\n types = [getDisplayName(type)];\n }\n toArray(children).forEach(function (child) {\n var displayName = get(child, 'type.displayName');\n if (displayName && types.indexOf(displayName) !== -1) {\n return;\n }\n newChildren.push(child);\n });\n return newChildren;\n};\n\n/**\n * validate the width and height props of a chart element\n * @param {Object} el A chart element\n * @return {Boolean} true If the props width and height are number, and greater than 0\n */\nexport var validateWidthHeight = function validateWidthHeight(el) {\n if (!el || !el.props) {\n return false;\n }\n var _el$props = el.props,\n width = _el$props.width,\n height = _el$props.height;\n if (!isNumber(width) || width <= 0 || !isNumber(height) || height <= 0) {\n return false;\n }\n return true;\n};\nvar SVG_TAGS = ['a', 'altGlyph', 'altGlyphDef', 'altGlyphItem', 'animate', 'animateColor', 'animateMotion', 'animateTransform', 'circle', 'clipPath', 'color-profile', 'cursor', 'defs', 'desc', 'ellipse', 'feBlend', 'feColormatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence', 'filter', 'font', 'font-face', 'font-face-format', 'font-face-name', 'font-face-url', 'foreignObject', 'g', 'glyph', 'glyphRef', 'hkern', 'image', 'line', 'lineGradient', 'marker', 'mask', 'metadata', 'missing-glyph', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'script', 'set', 'stop', 'style', 'svg', 'switch', 'symbol', 'text', 'textPath', 'title', 'tref', 'tspan', 'use', 'view', 'vkern'];\nvar isSvgElement = function isSvgElement(child) {\n return child && child.type && isString(child.type) && SVG_TAGS.indexOf(child.type) >= 0;\n};\nexport var hasClipDot = function hasClipDot(dot) {\n return dot && _typeof(dot) === 'object' && 'clipDot' in dot;\n};\n\n/**\n * Checks if the property is valid to spread onto an SVG element or onto a specific component\n * @param {unknown} property property value currently being compared\n * @param {string} key property key currently being compared\n * @param {boolean} includeEvents if events are included in spreadable props\n * @param {boolean} svgElementType checks against map of SVG element types to attributes\n * @returns {boolean} is prop valid\n */\nexport var isValidSpreadableProp = function isValidSpreadableProp(property, key, includeEvents, svgElementType) {\n var _FilteredElementKeyMa;\n /**\n * If the svg element type is explicitly included, check against the filtered element key map\n * to determine if there are attributes that should only exist on that element type.\n * @todo Add an internal cjs version of https://github.com/wooorm/svg-element-attributes for full coverage.\n */\n var matchingElementTypeKeys = (_FilteredElementKeyMa = FilteredElementKeyMap === null || FilteredElementKeyMap === void 0 ? void 0 : FilteredElementKeyMap[svgElementType]) !== null && _FilteredElementKeyMa !== void 0 ? _FilteredElementKeyMa : [];\n return key.startsWith('data-') || !isFunction(property) && (svgElementType && matchingElementTypeKeys.includes(key) || SVGElementPropKeys.includes(key)) || includeEvents && EventKeys.includes(key);\n};\n\n/**\n * Filter all the svg elements of children\n * @param {Array} children The children of a react element\n * @return {Array} All the svg elements\n */\nexport var filterSvgElements = function filterSvgElements(children) {\n var svgElements = [];\n toArray(children).forEach(function (entry) {\n if (isSvgElement(entry)) {\n svgElements.push(entry);\n }\n });\n return svgElements;\n};\nexport var filterProps = function filterProps(props, includeEvents, svgElementType) {\n if (!props || typeof props === 'function' || typeof props === 'boolean') {\n return null;\n }\n var inputProps = props;\n if ( /*#__PURE__*/isValidElement(props)) {\n inputProps = props.props;\n }\n if (!isObject(inputProps)) {\n return null;\n }\n var out = {};\n\n /**\n * Props are blindly spread onto SVG elements. This loop filters out properties that we don't want to spread.\n * Items filtered out are as follows:\n * - functions in properties that are SVG attributes (functions are included when includeEvents is true)\n * - props that are SVG attributes but don't matched the passed svgElementType\n * - any prop that is not in SVGElementPropKeys (or in EventKeys if includeEvents is true)\n */\n Object.keys(inputProps).forEach(function (key) {\n var _inputProps;\n if (isValidSpreadableProp((_inputProps = inputProps) === null || _inputProps === void 0 ? void 0 : _inputProps[key], key, includeEvents, svgElementType)) {\n out[key] = inputProps[key];\n }\n });\n return out;\n};\n\n/**\n * Wether props of children changed\n * @param {Object} nextChildren The latest children\n * @param {Object} prevChildren The prev children\n * @return {Boolean} equal or not\n */\nexport var isChildrenEqual = function isChildrenEqual(nextChildren, prevChildren) {\n if (nextChildren === prevChildren) {\n return true;\n }\n var count = Children.count(nextChildren);\n if (count !== Children.count(prevChildren)) {\n return false;\n }\n if (count === 0) {\n return true;\n }\n if (count === 1) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n return isSingleChildEqual(Array.isArray(nextChildren) ? nextChildren[0] : nextChildren, Array.isArray(prevChildren) ? prevChildren[0] : prevChildren);\n }\n for (var i = 0; i < count; i++) {\n var nextChild = nextChildren[i];\n var prevChild = prevChildren[i];\n if (Array.isArray(nextChild) || Array.isArray(prevChild)) {\n if (!isChildrenEqual(nextChild, prevChild)) {\n return false;\n }\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n } else if (!isSingleChildEqual(nextChild, prevChild)) {\n return false;\n }\n }\n return true;\n};\nexport var isSingleChildEqual = function isSingleChildEqual(nextChild, prevChild) {\n if (isNil(nextChild) && isNil(prevChild)) {\n return true;\n }\n if (!isNil(nextChild) && !isNil(prevChild)) {\n var _ref = nextChild.props || {},\n nextChildren = _ref.children,\n nextProps = _objectWithoutProperties(_ref, _excluded);\n var _ref2 = prevChild.props || {},\n prevChildren = _ref2.children,\n prevProps = _objectWithoutProperties(_ref2, _excluded2);\n if (nextChildren && prevChildren) {\n return shallowEqual(nextProps, prevProps) && isChildrenEqual(nextChildren, prevChildren);\n }\n if (!nextChildren && !prevChildren) {\n return shallowEqual(nextProps, prevProps);\n }\n return false;\n }\n return false;\n};\nexport var renderByOrder = function renderByOrder(children, renderMap) {\n var elements = [];\n var record = {};\n toArray(children).forEach(function (child, index) {\n if (isSvgElement(child)) {\n elements.push(child);\n } else if (child) {\n var displayName = getDisplayName(child.type);\n var _ref3 = renderMap[displayName] || {},\n handler = _ref3.handler,\n once = _ref3.once;\n if (handler && (!once || !record[displayName])) {\n var results = handler(child, displayName, index);\n elements.push(results);\n record[displayName] = true;\n }\n }\n });\n return elements;\n};\nexport var getReactEventByType = function getReactEventByType(e) {\n var type = e && e.type;\n if (type && REACT_BROWSER_EVENT_MAP[type]) {\n return REACT_BROWSER_EVENT_MAP[type];\n }\n return null;\n};\nexport var parseChildIndex = function parseChildIndex(child, children) {\n return toArray(children).indexOf(child);\n};","var _excluded = [\"children\", \"width\", \"height\", \"viewBox\", \"className\", \"style\", \"title\", \"desc\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\n/**\n * @fileOverview Surface\n */\nimport React from 'react';\nimport clsx from 'clsx';\nimport { filterProps } from '../util/ReactUtils';\nexport function Surface(props) {\n var children = props.children,\n width = props.width,\n height = props.height,\n viewBox = props.viewBox,\n className = props.className,\n style = props.style,\n title = props.title,\n desc = props.desc,\n others = _objectWithoutProperties(props, _excluded);\n var svgView = viewBox || {\n width: width,\n height: height,\n x: 0,\n y: 0\n };\n var layerClass = clsx('recharts-surface', className);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({}, filterProps(others, true, 'svg'), {\n className: layerClass,\n width: width,\n height: height,\n style: style,\n viewBox: \"\".concat(svgView.x, \" \").concat(svgView.y, \" \").concat(svgView.width, \" \").concat(svgView.height)\n }), /*#__PURE__*/React.createElement(\"title\", null, title), /*#__PURE__*/React.createElement(\"desc\", null, desc), children);\n}","var _excluded = [\"children\", \"className\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\nimport React from 'react';\nimport clsx from 'clsx';\nimport { filterProps } from '../util/ReactUtils';\nexport var Layer = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var children = props.children,\n className = props.className,\n others = _objectWithoutProperties(props, _excluded);\n var layerClass = clsx('recharts-layer', className);\n return /*#__PURE__*/React.createElement(\"g\", _extends({\n className: layerClass\n }, filterProps(others, true), {\n ref: ref\n }), children);\n});","/* eslint no-console: 0 */\nvar isDev = process.env.NODE_ENV !== 'production';\nexport var warn = function warn(condition, format) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n if (isDev && typeof console !== 'undefined' && console.warn) {\n if (format === undefined) {\n console.warn('LogUtils requires an error message argument');\n }\n if (!condition) {\n if (format === undefined) {\n console.warn('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var argIndex = 0;\n console.warn(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n }\n }\n }\n};","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\nmodule.exports = baseSlice;\n","var baseSlice = require('./_baseSlice');\n\n/**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\nfunction castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return (!start && end >= length) ? array : baseSlice(array, start, end);\n}\n\nmodule.exports = castSlice;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsZWJ = '\\\\u200d';\n\n/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\nvar reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');\n\n/**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\nfunction hasUnicode(string) {\n return reHasUnicode.test(string);\n}\n\nmodule.exports = hasUnicode;\n","/**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction asciiToArray(string) {\n return string.split('');\n}\n\nmodule.exports = asciiToArray;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsAstral = '[' + rsAstralRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\nvar reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n/**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction unicodeToArray(string) {\n return string.match(reUnicode) || [];\n}\n\nmodule.exports = unicodeToArray;\n","var asciiToArray = require('./_asciiToArray'),\n hasUnicode = require('./_hasUnicode'),\n unicodeToArray = require('./_unicodeToArray');\n\n/**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction stringToArray(string) {\n return hasUnicode(string)\n ? unicodeToArray(string)\n : asciiToArray(string);\n}\n\nmodule.exports = stringToArray;\n","var castSlice = require('./_castSlice'),\n hasUnicode = require('./_hasUnicode'),\n stringToArray = require('./_stringToArray'),\n toString = require('./toString');\n\n/**\n * Creates a function like `_.lowerFirst`.\n *\n * @private\n * @param {string} methodName The name of the `String` case method to use.\n * @returns {Function} Returns the new case function.\n */\nfunction createCaseFirst(methodName) {\n return function(string) {\n string = toString(string);\n\n var strSymbols = hasUnicode(string)\n ? stringToArray(string)\n : undefined;\n\n var chr = strSymbols\n ? strSymbols[0]\n : string.charAt(0);\n\n var trailing = strSymbols\n ? castSlice(strSymbols, 1).join('')\n : string.slice(1);\n\n return chr[methodName]() + trailing;\n };\n}\n\nmodule.exports = createCaseFirst;\n","var createCaseFirst = require('./_createCaseFirst');\n\n/**\n * Converts the first character of `string` to upper case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.upperFirst('fred');\n * // => 'Fred'\n *\n * _.upperFirst('FRED');\n * // => 'FRED'\n */\nvar upperFirst = createCaseFirst('toUpperCase');\n\nmodule.exports = upperFirst;\n","export default function(x) {\n return function constant() {\n return x;\n };\n}\n","export const abs = Math.abs;\nexport const atan2 = Math.atan2;\nexport const cos = Math.cos;\nexport const max = Math.max;\nexport const min = Math.min;\nexport const sin = Math.sin;\nexport const sqrt = Math.sqrt;\n\nexport const epsilon = 1e-12;\nexport const pi = Math.PI;\nexport const halfPi = pi / 2;\nexport const tau = 2 * pi;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x);\n}\n","const pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction append(strings) {\n this._ += strings[0];\n for (let i = 1, n = strings.length; i < n; ++i) {\n this._ += arguments[i] + strings[i];\n }\n}\n\nfunction appendRound(digits) {\n let d = Math.floor(digits);\n if (!(d >= 0)) throw new Error(`invalid digits: ${digits}`);\n if (d > 15) return append;\n const k = 10 ** d;\n return function(strings) {\n this._ += strings[0];\n for (let i = 1, n = strings.length; i < n; ++i) {\n this._ += Math.round(arguments[i] * k) / k + strings[i];\n }\n };\n}\n\nexport class Path {\n constructor(digits) {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n this._append = digits == null ? append : appendRound(digits);\n }\n moveTo(x, y) {\n this._append`M${this._x0 = this._x1 = +x},${this._y0 = this._y1 = +y}`;\n }\n closePath() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._append`Z`;\n }\n }\n lineTo(x, y) {\n this._append`L${this._x1 = +x},${this._y1 = +y}`;\n }\n quadraticCurveTo(x1, y1, x, y) {\n this._append`Q${+x1},${+y1},${this._x1 = +x},${this._y1 = +y}`;\n }\n bezierCurveTo(x1, y1, x2, y2, x, y) {\n this._append`C${+x1},${+y1},${+x2},${+y2},${this._x1 = +x},${this._y1 = +y}`;\n }\n arcTo(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(`negative radius: ${r}`);\n\n let x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01;\n\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._append`M${this._x1 = x1},${this._y1 = y1}`;\n }\n\n // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon));\n\n // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._append`L${this._x1 = x1},${this._y1 = y1}`;\n }\n\n // Otherwise, draw an arc!\n else {\n let x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21;\n\n // If the start tangent is not coincident with (x0,y0), line to.\n if (Math.abs(t01 - 1) > epsilon) {\n this._append`L${x1 + t01 * x01},${y1 + t01 * y01}`;\n }\n\n this._append`A${r},${r},0,0,${+(y01 * x20 > x01 * y20)},${this._x1 = x1 + t21 * x21},${this._y1 = y1 + t21 * y21}`;\n }\n }\n arc(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r, ccw = !!ccw;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(`negative radius: ${r}`);\n\n let dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0;\n\n // Is this path empty? Move to (x0,y0).\n if (this._x1 === null) {\n this._append`M${x0},${y0}`;\n }\n\n // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._append`L${x0},${y0}`;\n }\n\n // Is this arc empty? We’re done.\n if (!r) return;\n\n // Does the angle go the wrong way? Flip the direction.\n if (da < 0) da = da % tau + tau;\n\n // Is this a complete circle? Draw two arcs to complete the circle.\n if (da > tauEpsilon) {\n this._append`A${r},${r},0,1,${cw},${x - dx},${y - dy}A${r},${r},0,1,${cw},${this._x1 = x0},${this._y1 = y0}`;\n }\n\n // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._append`A${r},${r},0,${+(da >= pi)},${cw},${this._x1 = x + r * Math.cos(a1)},${this._y1 = y + r * Math.sin(a1)}`;\n }\n }\n rect(x, y, w, h) {\n this._append`M${this._x0 = this._x1 = +x},${this._y0 = this._y1 = +y}h${w = +w}v${+h}h${-w}Z`;\n }\n toString() {\n return this._;\n }\n}\n\nexport function path() {\n return new Path;\n}\n\n// Allow instanceof d3.path\npath.prototype = Path.prototype;\n\nexport function pathRound(digits = 3) {\n return new Path(+digits);\n}\n","import {Path} from \"d3-path\";\n\nexport function withPath(shape) {\n let digits = 3;\n\n shape.digits = function(_) {\n if (!arguments.length) return digits;\n if (_ == null) {\n digits = null;\n } else {\n const d = Math.floor(_);\n if (!(d >= 0)) throw new RangeError(`invalid digits: ${_}`);\n digits = d;\n }\n return shape;\n };\n\n return () => new Path(digits);\n}\n","export var slice = Array.prototype.slice;\n\nexport default function(x) {\n return typeof x === \"object\" && \"length\" in x\n ? x // Array, TypedArray, NodeList, array-like\n : Array.from(x); // Map, Set, iterable, string, or anything else\n}\n","function Linear(context) {\n this._context = context;\n}\n\nLinear.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // falls through\n default: this._context.lineTo(x, y); break;\n }\n }\n};\n\nexport default function(context) {\n return new Linear(context);\n}\n","export function x(p) {\n return p[0];\n}\n\nexport function y(p) {\n return p[1];\n}\n","import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport {withPath} from \"./path.js\";\nimport {x as pointX, y as pointY} from \"./point.js\";\n\nexport default function(x, y) {\n var defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null,\n path = withPath(line);\n\n x = typeof x === \"function\" ? x : (x === undefined) ? pointX : constant(x);\n y = typeof y === \"function\" ? y : (y === undefined) ? pointY : constant(y);\n\n function line(data) {\n var i,\n n = (data = array(data)).length,\n d,\n defined0 = false,\n buffer;\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) output.lineStart();\n else output.lineEnd();\n }\n if (defined0) output.point(+x(d, i, data), +y(d, i, data));\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n line.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), line) : x;\n };\n\n line.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), line) : y;\n };\n\n line.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), line) : defined;\n };\n\n line.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), line) : curve;\n };\n\n line.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), line) : context;\n };\n\n return line;\n}\n","import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport line from \"./line.js\";\nimport {withPath} from \"./path.js\";\nimport {x as pointX, y as pointY} from \"./point.js\";\n\nexport default function(x0, y0, y1) {\n var x1 = null,\n defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null,\n path = withPath(area);\n\n x0 = typeof x0 === \"function\" ? x0 : (x0 === undefined) ? pointX : constant(+x0);\n y0 = typeof y0 === \"function\" ? y0 : (y0 === undefined) ? constant(0) : constant(+y0);\n y1 = typeof y1 === \"function\" ? y1 : (y1 === undefined) ? pointY : constant(+y1);\n\n function area(data) {\n var i,\n j,\n k,\n n = (data = array(data)).length,\n d,\n defined0 = false,\n buffer,\n x0z = new Array(n),\n y0z = new Array(n);\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) {\n j = i;\n output.areaStart();\n output.lineStart();\n } else {\n output.lineEnd();\n output.lineStart();\n for (k = i - 1; k >= j; --k) {\n output.point(x0z[k], y0z[k]);\n }\n output.lineEnd();\n output.areaEnd();\n }\n }\n if (defined0) {\n x0z[i] = +x0(d, i, data), y0z[i] = +y0(d, i, data);\n output.point(x1 ? +x1(d, i, data) : x0z[i], y1 ? +y1(d, i, data) : y0z[i]);\n }\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n function arealine() {\n return line().defined(defined).curve(curve).context(context);\n }\n\n area.x = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), x1 = null, area) : x0;\n };\n\n area.x0 = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), area) : x0;\n };\n\n area.x1 = function(_) {\n return arguments.length ? (x1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : x1;\n };\n\n area.y = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), y1 = null, area) : y0;\n };\n\n area.y0 = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), area) : y0;\n };\n\n area.y1 = function(_) {\n return arguments.length ? (y1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : y1;\n };\n\n area.lineX0 =\n area.lineY0 = function() {\n return arealine().x(x0).y(y0);\n };\n\n area.lineY1 = function() {\n return arealine().x(x0).y(y1);\n };\n\n area.lineX1 = function() {\n return arealine().x(x1).y(y0);\n };\n\n area.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), area) : defined;\n };\n\n area.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), area) : curve;\n };\n\n area.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), area) : context;\n };\n\n return area;\n}\n","import pointRadial from \"../pointRadial.js\";\n\nclass Bump {\n constructor(context, x) {\n this._context = context;\n this._x = x;\n }\n areaStart() {\n this._line = 0;\n }\n areaEnd() {\n this._line = NaN;\n }\n lineStart() {\n this._point = 0;\n }\n lineEnd() {\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n }\n point(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: {\n this._point = 1;\n if (this._line) this._context.lineTo(x, y);\n else this._context.moveTo(x, y);\n break;\n }\n case 1: this._point = 2; // falls through\n default: {\n if (this._x) this._context.bezierCurveTo(this._x0 = (this._x0 + x) / 2, this._y0, this._x0, y, x, y);\n else this._context.bezierCurveTo(this._x0, this._y0 = (this._y0 + y) / 2, x, this._y0, x, y);\n break;\n }\n }\n this._x0 = x, this._y0 = y;\n }\n}\n\nclass BumpRadial {\n constructor(context) {\n this._context = context;\n }\n lineStart() {\n this._point = 0;\n }\n lineEnd() {}\n point(x, y) {\n x = +x, y = +y;\n if (this._point === 0) {\n this._point = 1;\n } else {\n const p0 = pointRadial(this._x0, this._y0);\n const p1 = pointRadial(this._x0, this._y0 = (this._y0 + y) / 2);\n const p2 = pointRadial(x, this._y0);\n const p3 = pointRadial(x, y);\n this._context.moveTo(...p0);\n this._context.bezierCurveTo(...p1, ...p2, ...p3);\n }\n this._x0 = x, this._y0 = y;\n }\n}\n\nexport function bumpX(context) {\n return new Bump(context, true);\n}\n\nexport function bumpY(context) {\n return new Bump(context, false);\n}\n\nexport function bumpRadial(context) {\n return new BumpRadial(context);\n}\n","import {pi, sqrt, tau} from \"../math.js\";\n\nexport default {\n draw(context, size) {\n const r = sqrt(size / pi);\n context.moveTo(r, 0);\n context.arc(0, 0, r, 0, tau);\n }\n};\n","import {sqrt} from \"../math.js\";\n\nexport default {\n draw(context, size) {\n const r = sqrt(size / 5) / 2;\n context.moveTo(-3 * r, -r);\n context.lineTo(-r, -r);\n context.lineTo(-r, -3 * r);\n context.lineTo(r, -3 * r);\n context.lineTo(r, -r);\n context.lineTo(3 * r, -r);\n context.lineTo(3 * r, r);\n context.lineTo(r, r);\n context.lineTo(r, 3 * r);\n context.lineTo(-r, 3 * r);\n context.lineTo(-r, r);\n context.lineTo(-3 * r, r);\n context.closePath();\n }\n};\n","import {sqrt} from \"../math.js\";\n\nconst tan30 = sqrt(1 / 3);\nconst tan30_2 = tan30 * 2;\n\nexport default {\n draw(context, size) {\n const y = sqrt(size / tan30_2);\n const x = y * tan30;\n context.moveTo(0, -y);\n context.lineTo(x, 0);\n context.lineTo(0, y);\n context.lineTo(-x, 0);\n context.closePath();\n }\n};\n","import {sqrt} from \"../math.js\";\n\nexport default {\n draw(context, size) {\n const w = sqrt(size);\n const x = -w / 2;\n context.rect(x, x, w, w);\n }\n};\n","import {sin, cos, sqrt, pi, tau} from \"../math.js\";\n\nconst ka = 0.89081309152928522810;\nconst kr = sin(pi / 10) / sin(7 * pi / 10);\nconst kx = sin(tau / 10) * kr;\nconst ky = -cos(tau / 10) * kr;\n\nexport default {\n draw(context, size) {\n const r = sqrt(size * ka);\n const x = kx * r;\n const y = ky * r;\n context.moveTo(0, -r);\n context.lineTo(x, y);\n for (let i = 1; i < 5; ++i) {\n const a = tau * i / 5;\n const c = cos(a);\n const s = sin(a);\n context.lineTo(s * r, -c * r);\n context.lineTo(c * x - s * y, s * x + c * y);\n }\n context.closePath();\n }\n};\n","import {sqrt} from \"../math.js\";\n\nconst sqrt3 = sqrt(3);\n\nexport default {\n draw(context, size) {\n const y = -sqrt(size / (sqrt3 * 3));\n context.moveTo(0, y * 2);\n context.lineTo(-sqrt3 * y, -y);\n context.lineTo(sqrt3 * y, -y);\n context.closePath();\n }\n};\n","import {sqrt} from \"../math.js\";\n\nconst c = -0.5;\nconst s = sqrt(3) / 2;\nconst k = 1 / sqrt(12);\nconst a = (k / 2 + 1) * 3;\n\nexport default {\n draw(context, size) {\n const r = sqrt(size / a);\n const x0 = r / 2, y0 = r * k;\n const x1 = x0, y1 = r * k + r;\n const x2 = -x1, y2 = y1;\n context.moveTo(x0, y0);\n context.lineTo(x1, y1);\n context.lineTo(x2, y2);\n context.lineTo(c * x0 - s * y0, s * x0 + c * y0);\n context.lineTo(c * x1 - s * y1, s * x1 + c * y1);\n context.lineTo(c * x2 - s * y2, s * x2 + c * y2);\n context.lineTo(c * x0 + s * y0, c * y0 - s * x0);\n context.lineTo(c * x1 + s * y1, c * y1 - s * x1);\n context.lineTo(c * x2 + s * y2, c * y2 - s * x2);\n context.closePath();\n }\n};\n","import constant from \"./constant.js\";\nimport {withPath} from \"./path.js\";\nimport asterisk from \"./symbol/asterisk.js\";\nimport circle from \"./symbol/circle.js\";\nimport cross from \"./symbol/cross.js\";\nimport diamond from \"./symbol/diamond.js\";\nimport diamond2 from \"./symbol/diamond2.js\";\nimport plus from \"./symbol/plus.js\";\nimport square from \"./symbol/square.js\";\nimport square2 from \"./symbol/square2.js\";\nimport star from \"./symbol/star.js\";\nimport triangle from \"./symbol/triangle.js\";\nimport triangle2 from \"./symbol/triangle2.js\";\nimport wye from \"./symbol/wye.js\";\nimport times from \"./symbol/times.js\";\n\n// These symbols are designed to be filled.\nexport const symbolsFill = [\n circle,\n cross,\n diamond,\n square,\n star,\n triangle,\n wye\n];\n\n// These symbols are designed to be stroked (with a width of 1.5px and round caps).\nexport const symbolsStroke = [\n circle,\n plus,\n times,\n triangle2,\n asterisk,\n square2,\n diamond2\n];\n\nexport default function Symbol(type, size) {\n let context = null,\n path = withPath(symbol);\n\n type = typeof type === \"function\" ? type : constant(type || circle);\n size = typeof size === \"function\" ? size : constant(size === undefined ? 64 : +size);\n\n function symbol() {\n let buffer;\n if (!context) context = buffer = path();\n type.apply(this, arguments).draw(context, +size.apply(this, arguments));\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n symbol.type = function(_) {\n return arguments.length ? (type = typeof _ === \"function\" ? _ : constant(_), symbol) : type;\n };\n\n symbol.size = function(_) {\n return arguments.length ? (size = typeof _ === \"function\" ? _ : constant(+_), symbol) : size;\n };\n\n symbol.context = function(_) {\n return arguments.length ? (context = _ == null ? null : _, symbol) : context;\n };\n\n return symbol;\n}\n","export default function() {}\n","export function point(that, x, y) {\n that._context.bezierCurveTo(\n (2 * that._x0 + that._x1) / 3,\n (2 * that._y0 + that._y1) / 3,\n (that._x0 + 2 * that._x1) / 3,\n (that._y0 + 2 * that._y1) / 3,\n (that._x0 + 4 * that._x1 + x) / 6,\n (that._y0 + 4 * that._y1 + y) / 6\n );\n}\n\nexport function Basis(context) {\n this._context = context;\n}\n\nBasis.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 3: point(this, this._x1, this._y1); // falls through\n case 2: this._context.lineTo(this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6); // falls through\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new Basis(context);\n}\n","import noop from \"../noop.js\";\nimport {point} from \"./basis.js\";\n\nfunction BasisClosed(context) {\n this._context = context;\n}\n\nBasisClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x2, this._y2);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3);\n this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x2, this._y2);\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._x2 = x, this._y2 = y; break;\n case 1: this._point = 2; this._x3 = x, this._y3 = y; break;\n case 2: this._point = 3; this._x4 = x, this._y4 = y; this._context.moveTo((this._x0 + 4 * this._x1 + x) / 6, (this._y0 + 4 * this._y1 + y) / 6); break;\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new BasisClosed(context);\n}\n","import {point} from \"./basis.js\";\n\nfunction BasisOpen(context) {\n this._context = context;\n}\n\nBasisOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; var x0 = (this._x0 + 4 * this._x1 + x) / 6, y0 = (this._y0 + 4 * this._y1 + y) / 6; this._line ? this._context.lineTo(x0, y0) : this._context.moveTo(x0, y0); break;\n case 3: this._point = 4; // falls through\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new BasisOpen(context);\n}\n","import noop from \"../noop.js\";\n\nfunction LinearClosed(context) {\n this._context = context;\n}\n\nLinearClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._point) this._context.closePath();\n },\n point: function(x, y) {\n x = +x, y = +y;\n if (this._point) this._context.lineTo(x, y);\n else this._point = 1, this._context.moveTo(x, y);\n }\n};\n\nexport default function(context) {\n return new LinearClosed(context);\n}\n","function sign(x) {\n return x < 0 ? -1 : 1;\n}\n\n// Calculate the slopes of the tangents (Hermite-type interpolation) based on\n// the following paper: Steffen, M. 1990. A Simple Method for Monotonic\n// Interpolation in One Dimension. Astronomy and Astrophysics, Vol. 239, NO.\n// NOV(II), P. 443, 1990.\nfunction slope3(that, x2, y2) {\n var h0 = that._x1 - that._x0,\n h1 = x2 - that._x1,\n s0 = (that._y1 - that._y0) / (h0 || h1 < 0 && -0),\n s1 = (y2 - that._y1) / (h1 || h0 < 0 && -0),\n p = (s0 * h1 + s1 * h0) / (h0 + h1);\n return (sign(s0) + sign(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0;\n}\n\n// Calculate a one-sided slope.\nfunction slope2(that, t) {\n var h = that._x1 - that._x0;\n return h ? (3 * (that._y1 - that._y0) / h - t) / 2 : t;\n}\n\n// According to https://en.wikipedia.org/wiki/Cubic_Hermite_spline#Representations\n// \"you can express cubic Hermite interpolation in terms of cubic Bézier curves\n// with respect to the four values p0, p0 + m0 / 3, p1 - m1 / 3, p1\".\nfunction point(that, t0, t1) {\n var x0 = that._x0,\n y0 = that._y0,\n x1 = that._x1,\n y1 = that._y1,\n dx = (x1 - x0) / 3;\n that._context.bezierCurveTo(x0 + dx, y0 + dx * t0, x1 - dx, y1 - dx * t1, x1, y1);\n}\n\nfunction MonotoneX(context) {\n this._context = context;\n}\n\nMonotoneX.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 =\n this._t0 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x1, this._y1); break;\n case 3: point(this, this._t0, slope2(this, this._t0)); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n var t1 = NaN;\n\n x = +x, y = +y;\n if (x === this._x1 && y === this._y1) return; // Ignore coincident points.\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; point(this, slope2(this, t1 = slope3(this, x, y)), t1); break;\n default: point(this, this._t0, t1 = slope3(this, x, y)); break;\n }\n\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n this._t0 = t1;\n }\n}\n\nfunction MonotoneY(context) {\n this._context = new ReflectContext(context);\n}\n\n(MonotoneY.prototype = Object.create(MonotoneX.prototype)).point = function(x, y) {\n MonotoneX.prototype.point.call(this, y, x);\n};\n\nfunction ReflectContext(context) {\n this._context = context;\n}\n\nReflectContext.prototype = {\n moveTo: function(x, y) { this._context.moveTo(y, x); },\n closePath: function() { this._context.closePath(); },\n lineTo: function(x, y) { this._context.lineTo(y, x); },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) { this._context.bezierCurveTo(y1, x1, y2, x2, y, x); }\n};\n\nexport function monotoneX(context) {\n return new MonotoneX(context);\n}\n\nexport function monotoneY(context) {\n return new MonotoneY(context);\n}\n","function Natural(context) {\n this._context = context;\n}\n\nNatural.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = [];\n this._y = [];\n },\n lineEnd: function() {\n var x = this._x,\n y = this._y,\n n = x.length;\n\n if (n) {\n this._line ? this._context.lineTo(x[0], y[0]) : this._context.moveTo(x[0], y[0]);\n if (n === 2) {\n this._context.lineTo(x[1], y[1]);\n } else {\n var px = controlPoints(x),\n py = controlPoints(y);\n for (var i0 = 0, i1 = 1; i1 < n; ++i0, ++i1) {\n this._context.bezierCurveTo(px[0][i0], py[0][i0], px[1][i0], py[1][i0], x[i1], y[i1]);\n }\n }\n }\n\n if (this._line || (this._line !== 0 && n === 1)) this._context.closePath();\n this._line = 1 - this._line;\n this._x = this._y = null;\n },\n point: function(x, y) {\n this._x.push(+x);\n this._y.push(+y);\n }\n};\n\n// See https://www.particleincell.com/2012/bezier-splines/ for derivation.\nfunction controlPoints(x) {\n var i,\n n = x.length - 1,\n m,\n a = new Array(n),\n b = new Array(n),\n r = new Array(n);\n a[0] = 0, b[0] = 2, r[0] = x[0] + 2 * x[1];\n for (i = 1; i < n - 1; ++i) a[i] = 1, b[i] = 4, r[i] = 4 * x[i] + 2 * x[i + 1];\n a[n - 1] = 2, b[n - 1] = 7, r[n - 1] = 8 * x[n - 1] + x[n];\n for (i = 1; i < n; ++i) m = a[i] / b[i - 1], b[i] -= m, r[i] -= m * r[i - 1];\n a[n - 1] = r[n - 1] / b[n - 1];\n for (i = n - 2; i >= 0; --i) a[i] = (r[i] - a[i + 1]) / b[i];\n b[n - 1] = (x[n] + a[n - 1]) / 2;\n for (i = 0; i < n - 1; ++i) b[i] = 2 * x[i + 1] - a[i + 1];\n return [a, b];\n}\n\nexport default function(context) {\n return new Natural(context);\n}\n","function Step(context, t) {\n this._context = context;\n this._t = t;\n}\n\nStep.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = this._y = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (0 < this._t && this._t < 1 && this._point === 2) this._context.lineTo(this._x, this._y);\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n if (this._line >= 0) this._t = 1 - this._t, this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // falls through\n default: {\n if (this._t <= 0) {\n this._context.lineTo(this._x, y);\n this._context.lineTo(x, y);\n } else {\n var x1 = this._x * (1 - this._t) + x * this._t;\n this._context.lineTo(x1, this._y);\n this._context.lineTo(x1, y);\n }\n break;\n }\n }\n this._x = x, this._y = y;\n }\n};\n\nexport default function(context) {\n return new Step(context, 0.5);\n}\n\nexport function stepBefore(context) {\n return new Step(context, 0);\n}\n\nexport function stepAfter(context) {\n return new Step(context, 1);\n}\n","export default function(series, order) {\n if (!((n = series.length) > 1)) return;\n for (var i = 1, j, s0, s1 = series[order[0]], n, m = s1.length; i < n; ++i) {\n s0 = s1, s1 = series[order[i]];\n for (j = 0; j < m; ++j) {\n s1[j][1] += s1[j][0] = isNaN(s0[j][1]) ? s0[j][0] : s0[j][1];\n }\n }\n}\n","export default function(series) {\n var n = series.length, o = new Array(n);\n while (--n >= 0) o[n] = n;\n return o;\n}\n","import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport offsetNone from \"./offset/none.js\";\nimport orderNone from \"./order/none.js\";\n\nfunction stackValue(d, key) {\n return d[key];\n}\n\nfunction stackSeries(key) {\n const series = [];\n series.key = key;\n return series;\n}\n\nexport default function() {\n var keys = constant([]),\n order = orderNone,\n offset = offsetNone,\n value = stackValue;\n\n function stack(data) {\n var sz = Array.from(keys.apply(this, arguments), stackSeries),\n i, n = sz.length, j = -1,\n oz;\n\n for (const d of data) {\n for (i = 0, ++j; i < n; ++i) {\n (sz[i][j] = [0, +value(d, sz[i].key, j, data)]).data = d;\n }\n }\n\n for (i = 0, oz = array(order(sz)); i < n; ++i) {\n sz[oz[i]].index = i;\n }\n\n offset(sz, oz);\n return sz;\n }\n\n stack.keys = function(_) {\n return arguments.length ? (keys = typeof _ === \"function\" ? _ : constant(Array.from(_)), stack) : keys;\n };\n\n stack.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), stack) : value;\n };\n\n stack.order = function(_) {\n return arguments.length ? (order = _ == null ? orderNone : typeof _ === \"function\" ? _ : constant(Array.from(_)), stack) : order;\n };\n\n stack.offset = function(_) {\n return arguments.length ? (offset = _ == null ? offsetNone : _, stack) : offset;\n };\n\n return stack;\n}\n","import none from \"./none.js\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var i, n, j = 0, m = series[0].length, y; j < m; ++j) {\n for (y = i = 0; i < n; ++i) y += series[i][j][1] || 0;\n if (y) for (i = 0; i < n; ++i) series[i][j][1] /= y;\n }\n none(series, order);\n}\n","import none from \"./none.js\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var j = 0, s0 = series[order[0]], n, m = s0.length; j < m; ++j) {\n for (var i = 0, y = 0; i < n; ++i) y += series[i][j][1] || 0;\n s0[j][1] += s0[j][0] = -y / 2;\n }\n none(series, order);\n}\n","import none from \"./none.js\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0) || !((m = (s0 = series[order[0]]).length) > 0)) return;\n for (var y = 0, j = 1, s0, m, n; j < m; ++j) {\n for (var i = 0, s1 = 0, s2 = 0; i < n; ++i) {\n var si = series[order[i]],\n sij0 = si[j][1] || 0,\n sij1 = si[j - 1][1] || 0,\n s3 = (sij0 - sij1) / 2;\n for (var k = 0; k < i; ++k) {\n var sk = series[order[k]],\n skj0 = sk[j][1] || 0,\n skj1 = sk[j - 1][1] || 0;\n s3 += skj0 - skj1;\n }\n s1 += sij0, s2 += s3 * sij0;\n }\n s0[j - 1][1] += s0[j - 1][0] = y;\n if (s1) y -= s2 / s1;\n }\n s0[j - 1][1] += s0[j - 1][0] = y;\n none(series, order);\n}\n","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nvar _excluded = [\"type\", \"size\", \"sizeType\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\n/**\n * @fileOverview Curve\n */\nimport React from 'react';\nimport upperFirst from 'lodash/upperFirst';\nimport { symbol as shapeSymbol, symbolCircle, symbolCross, symbolDiamond, symbolSquare, symbolStar, symbolTriangle, symbolWye } from 'victory-vendor/d3-shape';\nimport clsx from 'clsx';\nimport { filterProps } from '../util/ReactUtils';\nvar symbolFactories = {\n symbolCircle: symbolCircle,\n symbolCross: symbolCross,\n symbolDiamond: symbolDiamond,\n symbolSquare: symbolSquare,\n symbolStar: symbolStar,\n symbolTriangle: symbolTriangle,\n symbolWye: symbolWye\n};\nvar RADIAN = Math.PI / 180;\nvar getSymbolFactory = function getSymbolFactory(type) {\n var name = \"symbol\".concat(upperFirst(type));\n return symbolFactories[name] || symbolCircle;\n};\nvar calculateAreaSize = function calculateAreaSize(size, sizeType, type) {\n if (sizeType === 'area') {\n return size;\n }\n switch (type) {\n case 'cross':\n return 5 * size * size / 9;\n case 'diamond':\n return 0.5 * size * size / Math.sqrt(3);\n case 'square':\n return size * size;\n case 'star':\n {\n var angle = 18 * RADIAN;\n return 1.25 * size * size * (Math.tan(angle) - Math.tan(angle * 2) * Math.pow(Math.tan(angle), 2));\n }\n case 'triangle':\n return Math.sqrt(3) * size * size / 4;\n case 'wye':\n return (21 - 10 * Math.sqrt(3)) * size * size / 8;\n default:\n return Math.PI * size * size / 4;\n }\n};\nvar registerSymbol = function registerSymbol(key, factory) {\n symbolFactories[\"symbol\".concat(upperFirst(key))] = factory;\n};\nexport var Symbols = function Symbols(_ref) {\n var _ref$type = _ref.type,\n type = _ref$type === void 0 ? 'circle' : _ref$type,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 64 : _ref$size,\n _ref$sizeType = _ref.sizeType,\n sizeType = _ref$sizeType === void 0 ? 'area' : _ref$sizeType,\n rest = _objectWithoutProperties(_ref, _excluded);\n var props = _objectSpread(_objectSpread({}, rest), {}, {\n type: type,\n size: size,\n sizeType: sizeType\n });\n\n /**\n * Calculate the path of curve\n * @return {String} path\n */\n var getPath = function getPath() {\n var symbolFactory = getSymbolFactory(type);\n var symbol = shapeSymbol().type(symbolFactory).size(calculateAreaSize(size, sizeType, type));\n return symbol();\n };\n var className = props.className,\n cx = props.cx,\n cy = props.cy;\n var filteredProps = filterProps(props, true);\n if (cx === +cx && cy === +cy && size === +size) {\n return /*#__PURE__*/React.createElement(\"path\", _extends({}, filteredProps, {\n className: clsx('recharts-symbols', className),\n transform: \"translate(\".concat(cx, \", \").concat(cy, \")\"),\n d: getPath()\n }));\n }\n return null;\n};\nSymbols.registerSymbol = registerSymbol;","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview Default Legend Content\n */\nimport React, { PureComponent } from 'react';\nimport isFunction from 'lodash/isFunction';\nimport clsx from 'clsx';\nimport { warn } from '../util/LogUtils';\nimport { Surface } from '../container/Surface';\nimport { Symbols } from '../shape/Symbols';\nimport { adaptEventsOfChild } from '../util/types';\nvar SIZE = 32;\nexport var DefaultLegendContent = /*#__PURE__*/function (_PureComponent) {\n function DefaultLegendContent() {\n _classCallCheck(this, DefaultLegendContent);\n return _callSuper(this, DefaultLegendContent, arguments);\n }\n _inherits(DefaultLegendContent, _PureComponent);\n return _createClass(DefaultLegendContent, [{\n key: \"renderIcon\",\n value:\n /**\n * Render the path of icon\n * @param {Object} data Data of each legend item\n * @return {String} Path element\n */\n function renderIcon(data) {\n var inactiveColor = this.props.inactiveColor;\n var halfSize = SIZE / 2;\n var sixthSize = SIZE / 6;\n var thirdSize = SIZE / 3;\n var color = data.inactive ? inactiveColor : data.color;\n if (data.type === 'plainline') {\n return /*#__PURE__*/React.createElement(\"line\", {\n strokeWidth: 4,\n fill: \"none\",\n stroke: color,\n strokeDasharray: data.payload.strokeDasharray,\n x1: 0,\n y1: halfSize,\n x2: SIZE,\n y2: halfSize,\n className: \"recharts-legend-icon\"\n });\n }\n if (data.type === 'line') {\n return /*#__PURE__*/React.createElement(\"path\", {\n strokeWidth: 4,\n fill: \"none\",\n stroke: color,\n d: \"M0,\".concat(halfSize, \"h\").concat(thirdSize, \"\\n A\").concat(sixthSize, \",\").concat(sixthSize, \",0,1,1,\").concat(2 * thirdSize, \",\").concat(halfSize, \"\\n H\").concat(SIZE, \"M\").concat(2 * thirdSize, \",\").concat(halfSize, \"\\n A\").concat(sixthSize, \",\").concat(sixthSize, \",0,1,1,\").concat(thirdSize, \",\").concat(halfSize),\n className: \"recharts-legend-icon\"\n });\n }\n if (data.type === 'rect') {\n return /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"none\",\n fill: color,\n d: \"M0,\".concat(SIZE / 8, \"h\").concat(SIZE, \"v\").concat(SIZE * 3 / 4, \"h\").concat(-SIZE, \"z\"),\n className: \"recharts-legend-icon\"\n });\n }\n if ( /*#__PURE__*/React.isValidElement(data.legendIcon)) {\n var iconProps = _objectSpread({}, data);\n delete iconProps.legendIcon;\n return /*#__PURE__*/React.cloneElement(data.legendIcon, iconProps);\n }\n return /*#__PURE__*/React.createElement(Symbols, {\n fill: color,\n cx: halfSize,\n cy: halfSize,\n size: SIZE,\n sizeType: \"diameter\",\n type: data.type\n });\n }\n\n /**\n * Draw items of legend\n * @return {ReactElement} Items\n */\n }, {\n key: \"renderItems\",\n value: function renderItems() {\n var _this = this;\n var _this$props = this.props,\n payload = _this$props.payload,\n iconSize = _this$props.iconSize,\n layout = _this$props.layout,\n formatter = _this$props.formatter,\n inactiveColor = _this$props.inactiveColor;\n var viewBox = {\n x: 0,\n y: 0,\n width: SIZE,\n height: SIZE\n };\n var itemStyle = {\n display: layout === 'horizontal' ? 'inline-block' : 'block',\n marginRight: 10\n };\n var svgStyle = {\n display: 'inline-block',\n verticalAlign: 'middle',\n marginRight: 4\n };\n return payload.map(function (entry, i) {\n var finalFormatter = entry.formatter || formatter;\n var className = clsx(_defineProperty(_defineProperty({\n 'recharts-legend-item': true\n }, \"legend-item-\".concat(i), true), \"inactive\", entry.inactive));\n if (entry.type === 'none') {\n return null;\n }\n\n // Do not render entry.value as functions. Always require static string properties.\n var entryValue = !isFunction(entry.value) ? entry.value : null;\n warn(!isFunction(entry.value), \"The name property is also required when using a function for the dataKey of a chart's cartesian components. Ex: \" // eslint-disable-line max-len\n );\n var color = entry.inactive ? inactiveColor : entry.color;\n return /*#__PURE__*/React.createElement(\"li\", _extends({\n className: className,\n style: itemStyle\n // eslint-disable-next-line react/no-array-index-key\n ,\n key: \"legend-item-\".concat(i)\n }, adaptEventsOfChild(_this.props, entry, i)), /*#__PURE__*/React.createElement(Surface, {\n width: iconSize,\n height: iconSize,\n viewBox: viewBox,\n style: svgStyle\n }, _this.renderIcon(entry)), /*#__PURE__*/React.createElement(\"span\", {\n className: \"recharts-legend-item-text\",\n style: {\n color: color\n }\n }, finalFormatter ? finalFormatter(entryValue, entry, i) : entryValue));\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n payload = _this$props2.payload,\n layout = _this$props2.layout,\n align = _this$props2.align;\n if (!payload || !payload.length) {\n return null;\n }\n var finalStyle = {\n padding: 0,\n margin: 0,\n textAlign: layout === 'horizontal' ? align : 'left'\n };\n return /*#__PURE__*/React.createElement(\"ul\", {\n className: \"recharts-default-legend\",\n style: finalStyle\n }, this.renderItems());\n }\n }]);\n}(PureComponent);\n_defineProperty(DefaultLegendContent, \"displayName\", 'Legend');\n_defineProperty(DefaultLegendContent, \"defaultProps\", {\n iconSize: 14,\n layout: 'horizontal',\n align: 'center',\n verticalAlign: 'middle',\n inactiveColor: '#ccc'\n});","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nmodule.exports = setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;\n","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n","var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n","var Stack = require('./_Stack'),\n baseIsEqual = require('./_baseIsEqual');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nmodule.exports = baseIsMatch;\n","var isObject = require('./isObject');\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n","var isStrictComparable = require('./_isStrictComparable'),\n keys = require('./keys');\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nmodule.exports = getMatchData;\n","/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n","var baseIsMatch = require('./_baseIsMatch'),\n getMatchData = require('./_getMatchData'),\n matchesStrictComparable = require('./_matchesStrictComparable');\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nmodule.exports = baseMatches;\n","/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n","var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n","var baseHasIn = require('./_baseHasIn'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nmodule.exports = hasIn;\n","var baseIsEqual = require('./_baseIsEqual'),\n get = require('./get'),\n hasIn = require('./hasIn'),\n isKey = require('./_isKey'),\n isStrictComparable = require('./_isStrictComparable'),\n matchesStrictComparable = require('./_matchesStrictComparable'),\n toKey = require('./_toKey');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nmodule.exports = baseMatchesProperty;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n","var baseGet = require('./_baseGet');\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nmodule.exports = basePropertyDeep;\n","var baseProperty = require('./_baseProperty'),\n basePropertyDeep = require('./_basePropertyDeep'),\n isKey = require('./_isKey'),\n toKey = require('./_toKey');\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n","var baseMatches = require('./_baseMatches'),\n baseMatchesProperty = require('./_baseMatchesProperty'),\n identity = require('./identity'),\n isArray = require('./isArray'),\n property = require('./property');\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nmodule.exports = baseIteratee;\n","/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseFindIndex;\n","/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\nmodule.exports = baseIsNaN;\n","/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = strictIndexOf;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIsNaN = require('./_baseIsNaN'),\n strictIndexOf = require('./_strictIndexOf');\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nmodule.exports = baseIndexOf;\n","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\n","/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arrayIncludesWith;\n","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = noop;\n","var Set = require('./_Set'),\n noop = require('./noop'),\n setToArray = require('./_setToArray');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\nmodule.exports = createSet;\n","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n cacheHas = require('./_cacheHas'),\n createSet = require('./_createSet'),\n setToArray = require('./_setToArray');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n","var baseIteratee = require('./_baseIteratee'),\n baseUniq = require('./_baseUniq');\n\n/**\n * This method is like `_.uniq` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\nfunction uniqBy(array, iteratee) {\n return (array && array.length) ? baseUniq(array, baseIteratee(iteratee, 2)) : [];\n}\n\nmodule.exports = uniqBy;\n","import uniqBy from 'lodash/uniqBy';\nimport isFunction from 'lodash/isFunction';\n\n/**\n * This is configuration option that decides how to filter for unique values only:\n *\n * - `false` means \"no filter\"\n * - `true` means \"use recharts default filter\"\n * - function means \"use return of this function as the default key\"\n */\n\nexport function getUniqPayload(payload, option, defaultUniqBy) {\n if (option === true) {\n return uniqBy(payload, defaultUniqBy);\n }\n if (isFunction(option)) {\n return uniqBy(payload, option);\n }\n return payload;\n}","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nvar _excluded = [\"ref\"];\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\n/**\n * @fileOverview Legend\n */\nimport React, { PureComponent } from 'react';\nimport { DefaultLegendContent } from './DefaultLegendContent';\nimport { isNumber } from '../util/DataUtils';\nimport { getUniqPayload } from '../util/payload/getUniqPayload';\nfunction defaultUniqBy(entry) {\n return entry.value;\n}\nfunction renderContent(content, props) {\n if ( /*#__PURE__*/React.isValidElement(content)) {\n return /*#__PURE__*/React.cloneElement(content, props);\n }\n if (typeof content === 'function') {\n return /*#__PURE__*/React.createElement(content, props);\n }\n var ref = props.ref,\n otherProps = _objectWithoutProperties(props, _excluded);\n return /*#__PURE__*/React.createElement(DefaultLegendContent, otherProps);\n}\nvar EPS = 1;\nexport var Legend = /*#__PURE__*/function (_PureComponent) {\n function Legend() {\n var _this;\n _classCallCheck(this, Legend);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, Legend, [].concat(args));\n _defineProperty(_this, \"lastBoundingBox\", {\n width: -1,\n height: -1\n });\n return _this;\n }\n _inherits(Legend, _PureComponent);\n return _createClass(Legend, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.updateBBox();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.updateBBox();\n }\n }, {\n key: \"getBBox\",\n value: function getBBox() {\n if (this.wrapperNode && this.wrapperNode.getBoundingClientRect) {\n var box = this.wrapperNode.getBoundingClientRect();\n box.height = this.wrapperNode.offsetHeight;\n box.width = this.wrapperNode.offsetWidth;\n return box;\n }\n return null;\n }\n }, {\n key: \"updateBBox\",\n value: function updateBBox() {\n var onBBoxUpdate = this.props.onBBoxUpdate;\n var box = this.getBBox();\n if (box) {\n if (Math.abs(box.width - this.lastBoundingBox.width) > EPS || Math.abs(box.height - this.lastBoundingBox.height) > EPS) {\n this.lastBoundingBox.width = box.width;\n this.lastBoundingBox.height = box.height;\n if (onBBoxUpdate) {\n onBBoxUpdate(box);\n }\n }\n } else if (this.lastBoundingBox.width !== -1 || this.lastBoundingBox.height !== -1) {\n this.lastBoundingBox.width = -1;\n this.lastBoundingBox.height = -1;\n if (onBBoxUpdate) {\n onBBoxUpdate(null);\n }\n }\n }\n }, {\n key: \"getBBoxSnapshot\",\n value: function getBBoxSnapshot() {\n if (this.lastBoundingBox.width >= 0 && this.lastBoundingBox.height >= 0) {\n return _objectSpread({}, this.lastBoundingBox);\n }\n return {\n width: 0,\n height: 0\n };\n }\n }, {\n key: \"getDefaultPosition\",\n value: function getDefaultPosition(style) {\n var _this$props = this.props,\n layout = _this$props.layout,\n align = _this$props.align,\n verticalAlign = _this$props.verticalAlign,\n margin = _this$props.margin,\n chartWidth = _this$props.chartWidth,\n chartHeight = _this$props.chartHeight;\n var hPos, vPos;\n if (!style || (style.left === undefined || style.left === null) && (style.right === undefined || style.right === null)) {\n if (align === 'center' && layout === 'vertical') {\n var box = this.getBBoxSnapshot();\n hPos = {\n left: ((chartWidth || 0) - box.width) / 2\n };\n } else {\n hPos = align === 'right' ? {\n right: margin && margin.right || 0\n } : {\n left: margin && margin.left || 0\n };\n }\n }\n if (!style || (style.top === undefined || style.top === null) && (style.bottom === undefined || style.bottom === null)) {\n if (verticalAlign === 'middle') {\n var _box = this.getBBoxSnapshot();\n vPos = {\n top: ((chartHeight || 0) - _box.height) / 2\n };\n } else {\n vPos = verticalAlign === 'bottom' ? {\n bottom: margin && margin.bottom || 0\n } : {\n top: margin && margin.top || 0\n };\n }\n }\n return _objectSpread(_objectSpread({}, hPos), vPos);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var _this$props2 = this.props,\n content = _this$props2.content,\n width = _this$props2.width,\n height = _this$props2.height,\n wrapperStyle = _this$props2.wrapperStyle,\n payloadUniqBy = _this$props2.payloadUniqBy,\n payload = _this$props2.payload;\n var outerStyle = _objectSpread(_objectSpread({\n position: 'absolute',\n width: width || 'auto',\n height: height || 'auto'\n }, this.getDefaultPosition(wrapperStyle)), wrapperStyle);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"recharts-legend-wrapper\",\n style: outerStyle,\n ref: function ref(node) {\n _this2.wrapperNode = node;\n }\n }, renderContent(content, _objectSpread(_objectSpread({}, this.props), {}, {\n payload: getUniqPayload(payload, payloadUniqBy, defaultUniqBy)\n })));\n }\n }], [{\n key: \"getWithHeight\",\n value: function getWithHeight(item, chartWidth) {\n var _this$defaultProps$it = _objectSpread(_objectSpread({}, this.defaultProps), item.props),\n layout = _this$defaultProps$it.layout;\n if (layout === 'vertical' && isNumber(item.props.height)) {\n return {\n height: item.props.height\n };\n }\n if (layout === 'horizontal') {\n return {\n width: item.props.width || chartWidth\n };\n }\n return null;\n }\n }]);\n}(PureComponent);\n_defineProperty(Legend, \"displayName\", 'Legend');\n_defineProperty(Legend, \"defaultProps\", {\n iconSize: 14,\n layout: 'horizontal',\n align: 'center',\n verticalAlign: 'bottom'\n});","var Symbol = require('./_Symbol'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray');\n\n/** Built-in value references. */\nvar spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\nmodule.exports = isFlattenable;\n","var arrayPush = require('./_arrayPush'),\n isFlattenable = require('./_isFlattenable');\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseFlatten;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n","var baseFor = require('./_baseFor'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n","var isArrayLike = require('./isArrayLike');\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\nmodule.exports = createBaseEach;\n","var baseForOwn = require('./_baseForOwn'),\n createBaseEach = require('./_createBaseEach');\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\nmodule.exports = baseEach;\n","var baseEach = require('./_baseEach'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n}\n\nmodule.exports = baseMap;\n","/**\n * The base implementation of `_.sortBy` which uses `comparer` to define the\n * sort order of `array` and replaces criteria objects with their corresponding\n * values.\n *\n * @private\n * @param {Array} array The array to sort.\n * @param {Function} comparer The function to define sort order.\n * @returns {Array} Returns `array`.\n */\nfunction baseSortBy(array, comparer) {\n var length = array.length;\n\n array.sort(comparer);\n while (length--) {\n array[length] = array[length].value;\n }\n return array;\n}\n\nmodule.exports = baseSortBy;\n","var isSymbol = require('./isSymbol');\n\n/**\n * Compares values to sort them in ascending order.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {number} Returns the sort order indicator for `value`.\n */\nfunction compareAscending(value, other) {\n if (value !== other) {\n var valIsDefined = value !== undefined,\n valIsNull = value === null,\n valIsReflexive = value === value,\n valIsSymbol = isSymbol(value);\n\n var othIsDefined = other !== undefined,\n othIsNull = other === null,\n othIsReflexive = other === other,\n othIsSymbol = isSymbol(other);\n\n if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||\n (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||\n (valIsNull && othIsDefined && othIsReflexive) ||\n (!valIsDefined && othIsReflexive) ||\n !valIsReflexive) {\n return 1;\n }\n if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||\n (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||\n (othIsNull && valIsDefined && valIsReflexive) ||\n (!othIsDefined && valIsReflexive) ||\n !othIsReflexive) {\n return -1;\n }\n }\n return 0;\n}\n\nmodule.exports = compareAscending;\n","var compareAscending = require('./_compareAscending');\n\n/**\n * Used by `_.orderBy` to compare multiple properties of a value to another\n * and stable sort them.\n *\n * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,\n * specify an order of \"desc\" for descending or \"asc\" for ascending sort order\n * of corresponding values.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {boolean[]|string[]} orders The order to sort by for each property.\n * @returns {number} Returns the sort order indicator for `object`.\n */\nfunction compareMultiple(object, other, orders) {\n var index = -1,\n objCriteria = object.criteria,\n othCriteria = other.criteria,\n length = objCriteria.length,\n ordersLength = orders.length;\n\n while (++index < length) {\n var result = compareAscending(objCriteria[index], othCriteria[index]);\n if (result) {\n if (index >= ordersLength) {\n return result;\n }\n var order = orders[index];\n return result * (order == 'desc' ? -1 : 1);\n }\n }\n // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications\n // that causes it, under certain circumstances, to provide the same value for\n // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247\n // for more details.\n //\n // This also ensures a stable sort in V8 and other engines.\n // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.\n return object.index - other.index;\n}\n\nmodule.exports = compareMultiple;\n","var arrayMap = require('./_arrayMap'),\n baseGet = require('./_baseGet'),\n baseIteratee = require('./_baseIteratee'),\n baseMap = require('./_baseMap'),\n baseSortBy = require('./_baseSortBy'),\n baseUnary = require('./_baseUnary'),\n compareMultiple = require('./_compareMultiple'),\n identity = require('./identity'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `_.orderBy` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.\n * @param {string[]} orders The sort orders of `iteratees`.\n * @returns {Array} Returns the new sorted array.\n */\nfunction baseOrderBy(collection, iteratees, orders) {\n if (iteratees.length) {\n iteratees = arrayMap(iteratees, function(iteratee) {\n if (isArray(iteratee)) {\n return function(value) {\n return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee);\n }\n }\n return iteratee;\n });\n } else {\n iteratees = [identity];\n }\n\n var index = -1;\n iteratees = arrayMap(iteratees, baseUnary(baseIteratee));\n\n var result = baseMap(collection, function(value, key, collection) {\n var criteria = arrayMap(iteratees, function(iteratee) {\n return iteratee(value);\n });\n return { 'criteria': criteria, 'index': ++index, 'value': value };\n });\n\n return baseSortBy(result, function(object, other) {\n return compareMultiple(object, other, orders);\n });\n}\n\nmodule.exports = baseOrderBy;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","var baseFlatten = require('./_baseFlatten'),\n baseOrderBy = require('./_baseOrderBy'),\n baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates an array of elements, sorted in ascending order by the results of\n * running each element in a collection thru each iteratee. This method\n * performs a stable sort, that is, it preserves the original sort order of\n * equal elements. The iteratees are invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {...(Function|Function[])} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 30 },\n * { 'user': 'barney', 'age': 34 }\n * ];\n *\n * _.sortBy(users, [function(o) { return o.user; }]);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]]\n *\n * _.sortBy(users, ['user', 'age']);\n * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]]\n */\nvar sortBy = baseRest(function(collection, iteratees) {\n if (collection == null) {\n return [];\n }\n var length = iteratees.length;\n if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {\n iteratees = [];\n } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {\n iteratees = [iteratees[0]];\n }\n return baseOrderBy(collection, baseFlatten(iteratees, 1), []);\n});\n\nmodule.exports = sortBy;\n","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview Default Tooltip Content\n */\n\nimport React from 'react';\nimport sortBy from 'lodash/sortBy';\nimport isNil from 'lodash/isNil';\nimport clsx from 'clsx';\nimport { isNumOrStr } from '../util/DataUtils';\nfunction defaultFormatter(value) {\n return Array.isArray(value) && isNumOrStr(value[0]) && isNumOrStr(value[1]) ? value.join(' ~ ') : value;\n}\nexport var DefaultTooltipContent = function DefaultTooltipContent(props) {\n var _props$separator = props.separator,\n separator = _props$separator === void 0 ? ' : ' : _props$separator,\n _props$contentStyle = props.contentStyle,\n contentStyle = _props$contentStyle === void 0 ? {} : _props$contentStyle,\n _props$itemStyle = props.itemStyle,\n itemStyle = _props$itemStyle === void 0 ? {} : _props$itemStyle,\n _props$labelStyle = props.labelStyle,\n labelStyle = _props$labelStyle === void 0 ? {} : _props$labelStyle,\n payload = props.payload,\n formatter = props.formatter,\n itemSorter = props.itemSorter,\n wrapperClassName = props.wrapperClassName,\n labelClassName = props.labelClassName,\n label = props.label,\n labelFormatter = props.labelFormatter,\n _props$accessibilityL = props.accessibilityLayer,\n accessibilityLayer = _props$accessibilityL === void 0 ? false : _props$accessibilityL;\n var renderContent = function renderContent() {\n if (payload && payload.length) {\n var listStyle = {\n padding: 0,\n margin: 0\n };\n var items = (itemSorter ? sortBy(payload, itemSorter) : payload).map(function (entry, i) {\n if (entry.type === 'none') {\n return null;\n }\n var finalItemStyle = _objectSpread({\n display: 'block',\n paddingTop: 4,\n paddingBottom: 4,\n color: entry.color || '#000'\n }, itemStyle);\n var finalFormatter = entry.formatter || formatter || defaultFormatter;\n var value = entry.value,\n name = entry.name;\n var finalValue = value;\n var finalName = name;\n if (finalFormatter && finalValue != null && finalName != null) {\n var formatted = finalFormatter(value, name, entry, i, payload);\n if (Array.isArray(formatted)) {\n var _formatted = _slicedToArray(formatted, 2);\n finalValue = _formatted[0];\n finalName = _formatted[1];\n } else {\n finalValue = formatted;\n }\n }\n return (\n /*#__PURE__*/\n // eslint-disable-next-line react/no-array-index-key\n React.createElement(\"li\", {\n className: \"recharts-tooltip-item\",\n key: \"tooltip-item-\".concat(i),\n style: finalItemStyle\n }, isNumOrStr(finalName) ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"recharts-tooltip-item-name\"\n }, finalName) : null, isNumOrStr(finalName) ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"recharts-tooltip-item-separator\"\n }, separator) : null, /*#__PURE__*/React.createElement(\"span\", {\n className: \"recharts-tooltip-item-value\"\n }, finalValue), /*#__PURE__*/React.createElement(\"span\", {\n className: \"recharts-tooltip-item-unit\"\n }, entry.unit || ''))\n );\n });\n return /*#__PURE__*/React.createElement(\"ul\", {\n className: \"recharts-tooltip-item-list\",\n style: listStyle\n }, items);\n }\n return null;\n };\n var finalStyle = _objectSpread({\n margin: 0,\n padding: 10,\n backgroundColor: '#fff',\n border: '1px solid #ccc',\n whiteSpace: 'nowrap'\n }, contentStyle);\n var finalLabelStyle = _objectSpread({\n margin: 0\n }, labelStyle);\n var hasLabel = !isNil(label);\n var finalLabel = hasLabel ? label : '';\n var wrapperCN = clsx('recharts-default-tooltip', wrapperClassName);\n var labelCN = clsx('recharts-tooltip-label', labelClassName);\n if (hasLabel && labelFormatter && payload !== undefined && payload !== null) {\n finalLabel = labelFormatter(label, payload);\n }\n var accessibilityAttributes = accessibilityLayer ? {\n role: 'status',\n 'aria-live': 'assertive'\n } : {};\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: wrapperCN,\n style: finalStyle\n }, accessibilityAttributes), /*#__PURE__*/React.createElement(\"p\", {\n className: labelCN,\n style: finalLabelStyle\n }, /*#__PURE__*/React.isValidElement(finalLabel) ? finalLabel : \"\".concat(finalLabel)), renderContent());\n};","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport clsx from 'clsx';\nimport { isNumber } from '../DataUtils';\nvar CSS_CLASS_PREFIX = 'recharts-tooltip-wrapper';\nvar TOOLTIP_HIDDEN = {\n visibility: 'hidden'\n};\nexport function getTooltipCSSClassName(_ref) {\n var coordinate = _ref.coordinate,\n translateX = _ref.translateX,\n translateY = _ref.translateY;\n return clsx(CSS_CLASS_PREFIX, _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, \"\".concat(CSS_CLASS_PREFIX, \"-right\"), isNumber(translateX) && coordinate && isNumber(coordinate.x) && translateX >= coordinate.x), \"\".concat(CSS_CLASS_PREFIX, \"-left\"), isNumber(translateX) && coordinate && isNumber(coordinate.x) && translateX < coordinate.x), \"\".concat(CSS_CLASS_PREFIX, \"-bottom\"), isNumber(translateY) && coordinate && isNumber(coordinate.y) && translateY >= coordinate.y), \"\".concat(CSS_CLASS_PREFIX, \"-top\"), isNumber(translateY) && coordinate && isNumber(coordinate.y) && translateY < coordinate.y));\n}\nexport function getTooltipTranslateXY(_ref2) {\n var allowEscapeViewBox = _ref2.allowEscapeViewBox,\n coordinate = _ref2.coordinate,\n key = _ref2.key,\n offsetTopLeft = _ref2.offsetTopLeft,\n position = _ref2.position,\n reverseDirection = _ref2.reverseDirection,\n tooltipDimension = _ref2.tooltipDimension,\n viewBox = _ref2.viewBox,\n viewBoxDimension = _ref2.viewBoxDimension;\n if (position && isNumber(position[key])) {\n return position[key];\n }\n var negative = coordinate[key] - tooltipDimension - offsetTopLeft;\n var positive = coordinate[key] + offsetTopLeft;\n if (allowEscapeViewBox[key]) {\n return reverseDirection[key] ? negative : positive;\n }\n if (reverseDirection[key]) {\n var _tooltipBoundary = negative;\n var _viewBoxBoundary = viewBox[key];\n if (_tooltipBoundary < _viewBoxBoundary) {\n return Math.max(positive, viewBox[key]);\n }\n return Math.max(negative, viewBox[key]);\n }\n var tooltipBoundary = positive + tooltipDimension;\n var viewBoxBoundary = viewBox[key] + viewBoxDimension;\n if (tooltipBoundary > viewBoxBoundary) {\n return Math.max(negative, viewBox[key]);\n }\n return Math.max(positive, viewBox[key]);\n}\nexport function getTransformStyle(_ref3) {\n var translateX = _ref3.translateX,\n translateY = _ref3.translateY,\n useTranslate3d = _ref3.useTranslate3d;\n return {\n transform: useTranslate3d ? \"translate3d(\".concat(translateX, \"px, \").concat(translateY, \"px, 0)\") : \"translate(\".concat(translateX, \"px, \").concat(translateY, \"px)\")\n };\n}\nexport function getTooltipTranslate(_ref4) {\n var allowEscapeViewBox = _ref4.allowEscapeViewBox,\n coordinate = _ref4.coordinate,\n offsetTopLeft = _ref4.offsetTopLeft,\n position = _ref4.position,\n reverseDirection = _ref4.reverseDirection,\n tooltipBox = _ref4.tooltipBox,\n useTranslate3d = _ref4.useTranslate3d,\n viewBox = _ref4.viewBox;\n var cssProperties, translateX, translateY;\n if (tooltipBox.height > 0 && tooltipBox.width > 0 && coordinate) {\n translateX = getTooltipTranslateXY({\n allowEscapeViewBox: allowEscapeViewBox,\n coordinate: coordinate,\n key: 'x',\n offsetTopLeft: offsetTopLeft,\n position: position,\n reverseDirection: reverseDirection,\n tooltipDimension: tooltipBox.width,\n viewBox: viewBox,\n viewBoxDimension: viewBox.width\n });\n translateY = getTooltipTranslateXY({\n allowEscapeViewBox: allowEscapeViewBox,\n coordinate: coordinate,\n key: 'y',\n offsetTopLeft: offsetTopLeft,\n position: position,\n reverseDirection: reverseDirection,\n tooltipDimension: tooltipBox.height,\n viewBox: viewBox,\n viewBoxDimension: viewBox.height\n });\n cssProperties = getTransformStyle({\n translateX: translateX,\n translateY: translateY,\n useTranslate3d: useTranslate3d\n });\n } else {\n cssProperties = TOOLTIP_HIDDEN;\n }\n return {\n cssProperties: cssProperties,\n cssClasses: getTooltipCSSClassName({\n translateX: translateX,\n translateY: translateY,\n coordinate: coordinate\n })\n };\n}","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport React, { PureComponent } from 'react';\nimport { getTooltipTranslate } from '../util/tooltip/translate';\nvar EPSILON = 1;\nexport var TooltipBoundingBox = /*#__PURE__*/function (_PureComponent) {\n function TooltipBoundingBox() {\n var _this;\n _classCallCheck(this, TooltipBoundingBox);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, TooltipBoundingBox, [].concat(args));\n _defineProperty(_this, \"state\", {\n dismissed: false,\n dismissedAtCoordinate: {\n x: 0,\n y: 0\n },\n lastBoundingBox: {\n width: -1,\n height: -1\n }\n });\n _defineProperty(_this, \"handleKeyDown\", function (event) {\n if (event.key === 'Escape') {\n var _this$props$coordinat, _this$props$coordinat2, _this$props$coordinat3, _this$props$coordinat4;\n _this.setState({\n dismissed: true,\n dismissedAtCoordinate: {\n x: (_this$props$coordinat = (_this$props$coordinat2 = _this.props.coordinate) === null || _this$props$coordinat2 === void 0 ? void 0 : _this$props$coordinat2.x) !== null && _this$props$coordinat !== void 0 ? _this$props$coordinat : 0,\n y: (_this$props$coordinat3 = (_this$props$coordinat4 = _this.props.coordinate) === null || _this$props$coordinat4 === void 0 ? void 0 : _this$props$coordinat4.y) !== null && _this$props$coordinat3 !== void 0 ? _this$props$coordinat3 : 0\n }\n });\n }\n });\n return _this;\n }\n _inherits(TooltipBoundingBox, _PureComponent);\n return _createClass(TooltipBoundingBox, [{\n key: \"updateBBox\",\n value: function updateBBox() {\n if (this.wrapperNode && this.wrapperNode.getBoundingClientRect) {\n var box = this.wrapperNode.getBoundingClientRect();\n if (Math.abs(box.width - this.state.lastBoundingBox.width) > EPSILON || Math.abs(box.height - this.state.lastBoundingBox.height) > EPSILON) {\n this.setState({\n lastBoundingBox: {\n width: box.width,\n height: box.height\n }\n });\n }\n } else if (this.state.lastBoundingBox.width !== -1 || this.state.lastBoundingBox.height !== -1) {\n this.setState({\n lastBoundingBox: {\n width: -1,\n height: -1\n }\n });\n }\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n document.addEventListener('keydown', this.handleKeyDown);\n this.updateBBox();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n document.removeEventListener('keydown', this.handleKeyDown);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n var _this$props$coordinat5, _this$props$coordinat6;\n if (this.props.active) {\n this.updateBBox();\n }\n if (!this.state.dismissed) {\n return;\n }\n if (((_this$props$coordinat5 = this.props.coordinate) === null || _this$props$coordinat5 === void 0 ? void 0 : _this$props$coordinat5.x) !== this.state.dismissedAtCoordinate.x || ((_this$props$coordinat6 = this.props.coordinate) === null || _this$props$coordinat6 === void 0 ? void 0 : _this$props$coordinat6.y) !== this.state.dismissedAtCoordinate.y) {\n this.state.dismissed = false;\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var _this$props = this.props,\n active = _this$props.active,\n allowEscapeViewBox = _this$props.allowEscapeViewBox,\n animationDuration = _this$props.animationDuration,\n animationEasing = _this$props.animationEasing,\n children = _this$props.children,\n coordinate = _this$props.coordinate,\n hasPayload = _this$props.hasPayload,\n isAnimationActive = _this$props.isAnimationActive,\n offset = _this$props.offset,\n position = _this$props.position,\n reverseDirection = _this$props.reverseDirection,\n useTranslate3d = _this$props.useTranslate3d,\n viewBox = _this$props.viewBox,\n wrapperStyle = _this$props.wrapperStyle;\n var _getTooltipTranslate = getTooltipTranslate({\n allowEscapeViewBox: allowEscapeViewBox,\n coordinate: coordinate,\n offsetTopLeft: offset,\n position: position,\n reverseDirection: reverseDirection,\n tooltipBox: this.state.lastBoundingBox,\n useTranslate3d: useTranslate3d,\n viewBox: viewBox\n }),\n cssClasses = _getTooltipTranslate.cssClasses,\n cssProperties = _getTooltipTranslate.cssProperties;\n var outerStyle = _objectSpread(_objectSpread({\n transition: isAnimationActive && active ? \"transform \".concat(animationDuration, \"ms \").concat(animationEasing) : undefined\n }, cssProperties), {}, {\n pointerEvents: 'none',\n visibility: !this.state.dismissed && active && hasPayload ? 'visible' : 'hidden',\n position: 'absolute',\n top: 0,\n left: 0\n }, wrapperStyle);\n return (\n /*#__PURE__*/\n // This element allow listening to the `Escape` key.\n // See https://github.com/recharts/recharts/pull/2925\n React.createElement(\"div\", {\n tabIndex: -1,\n className: cssClasses,\n style: outerStyle,\n ref: function ref(node) {\n _this2.wrapperNode = node;\n }\n }, children)\n );\n }\n }]);\n}(PureComponent);","var parseIsSsrByDefault = function parseIsSsrByDefault() {\n return !(typeof window !== 'undefined' && window.document && window.document.createElement && window.setTimeout);\n};\nexport var Global = {\n isSsr: parseIsSsrByDefault(),\n get: function get(key) {\n return Global[key];\n },\n set: function set(key, value) {\n if (typeof key === 'string') {\n Global[key] = value;\n } else {\n var keys = Object.keys(key);\n if (keys && keys.length) {\n keys.forEach(function (k) {\n Global[k] = key[k];\n });\n }\n }\n }\n};","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview Tooltip\n */\nimport React, { PureComponent } from 'react';\nimport { DefaultTooltipContent } from './DefaultTooltipContent';\nimport { TooltipBoundingBox } from './TooltipBoundingBox';\nimport { Global } from '../util/Global';\nimport { getUniqPayload } from '../util/payload/getUniqPayload';\nfunction defaultUniqBy(entry) {\n return entry.dataKey;\n}\nfunction renderContent(content, props) {\n if ( /*#__PURE__*/React.isValidElement(content)) {\n return /*#__PURE__*/React.cloneElement(content, props);\n }\n if (typeof content === 'function') {\n return /*#__PURE__*/React.createElement(content, props);\n }\n return /*#__PURE__*/React.createElement(DefaultTooltipContent, props);\n}\nexport var Tooltip = /*#__PURE__*/function (_PureComponent) {\n function Tooltip() {\n _classCallCheck(this, Tooltip);\n return _callSuper(this, Tooltip, arguments);\n }\n _inherits(Tooltip, _PureComponent);\n return _createClass(Tooltip, [{\n key: \"render\",\n value: function render() {\n var _this = this;\n var _this$props = this.props,\n active = _this$props.active,\n allowEscapeViewBox = _this$props.allowEscapeViewBox,\n animationDuration = _this$props.animationDuration,\n animationEasing = _this$props.animationEasing,\n content = _this$props.content,\n coordinate = _this$props.coordinate,\n filterNull = _this$props.filterNull,\n isAnimationActive = _this$props.isAnimationActive,\n offset = _this$props.offset,\n payload = _this$props.payload,\n payloadUniqBy = _this$props.payloadUniqBy,\n position = _this$props.position,\n reverseDirection = _this$props.reverseDirection,\n useTranslate3d = _this$props.useTranslate3d,\n viewBox = _this$props.viewBox,\n wrapperStyle = _this$props.wrapperStyle;\n var finalPayload = payload !== null && payload !== void 0 ? payload : [];\n if (filterNull && finalPayload.length) {\n finalPayload = getUniqPayload(payload.filter(function (entry) {\n return entry.value != null && (entry.hide !== true || _this.props.includeHidden);\n }), payloadUniqBy, defaultUniqBy);\n }\n var hasPayload = finalPayload.length > 0;\n return /*#__PURE__*/React.createElement(TooltipBoundingBox, {\n allowEscapeViewBox: allowEscapeViewBox,\n animationDuration: animationDuration,\n animationEasing: animationEasing,\n isAnimationActive: isAnimationActive,\n active: active,\n coordinate: coordinate,\n hasPayload: hasPayload,\n offset: offset,\n position: position,\n reverseDirection: reverseDirection,\n useTranslate3d: useTranslate3d,\n viewBox: viewBox,\n wrapperStyle: wrapperStyle\n }, renderContent(content, _objectSpread(_objectSpread({}, this.props), {}, {\n payload: finalPayload\n })));\n }\n }]);\n}(PureComponent);\n_defineProperty(Tooltip, \"displayName\", 'Tooltip');\n_defineProperty(Tooltip, \"defaultProps\", {\n accessibilityLayer: false,\n allowEscapeViewBox: {\n x: false,\n y: false\n },\n animationDuration: 400,\n animationEasing: 'ease',\n contentStyle: {},\n coordinate: {\n x: 0,\n y: 0\n },\n cursor: true,\n cursorStyle: {},\n filterNull: true,\n isAnimationActive: !Global.isSsr,\n itemStyle: {},\n labelStyle: {},\n offset: 10,\n reverseDirection: {\n x: false,\n y: false\n },\n separator: ' : ',\n trigger: 'hover',\n useTranslate3d: false,\n viewBox: {\n x: 0,\n y: 0,\n height: 0,\n width: 0\n },\n wrapperStyle: {}\n});","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","var debounce = require('./debounce'),\n isObject = require('./isObject');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nmodule.exports = throttle;\n","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n/**\n * @fileOverview Wrapper component to make charts adapt to the size of parent * DOM\n */\nimport clsx from 'clsx';\nimport React, { forwardRef, cloneElement, useState, useImperativeHandle, useRef, useEffect, useMemo, useCallback } from 'react';\nimport throttle from 'lodash/throttle';\nimport { isPercent } from '../util/DataUtils';\nimport { warn } from '../util/LogUtils';\nimport { getDisplayName } from '../util/ReactUtils';\nexport var ResponsiveContainer = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var aspect = _ref.aspect,\n _ref$initialDimension = _ref.initialDimension,\n initialDimension = _ref$initialDimension === void 0 ? {\n width: -1,\n height: -1\n } : _ref$initialDimension,\n _ref$width = _ref.width,\n width = _ref$width === void 0 ? '100%' : _ref$width,\n _ref$height = _ref.height,\n height = _ref$height === void 0 ? '100%' : _ref$height,\n _ref$minWidth = _ref.minWidth,\n minWidth = _ref$minWidth === void 0 ? 0 : _ref$minWidth,\n minHeight = _ref.minHeight,\n maxHeight = _ref.maxHeight,\n children = _ref.children,\n _ref$debounce = _ref.debounce,\n debounce = _ref$debounce === void 0 ? 0 : _ref$debounce,\n id = _ref.id,\n className = _ref.className,\n onResize = _ref.onResize,\n _ref$style = _ref.style,\n style = _ref$style === void 0 ? {} : _ref$style;\n var containerRef = useRef(null);\n var onResizeRef = useRef();\n onResizeRef.current = onResize;\n useImperativeHandle(ref, function () {\n return Object.defineProperty(containerRef.current, 'current', {\n get: function get() {\n // eslint-disable-next-line no-console\n console.warn('The usage of ref.current.current is deprecated and will no longer be supported.');\n return containerRef.current;\n },\n configurable: true\n });\n });\n var _useState = useState({\n containerWidth: initialDimension.width,\n containerHeight: initialDimension.height\n }),\n _useState2 = _slicedToArray(_useState, 2),\n sizes = _useState2[0],\n setSizes = _useState2[1];\n var setContainerSize = useCallback(function (newWidth, newHeight) {\n setSizes(function (prevState) {\n var roundedWidth = Math.round(newWidth);\n var roundedHeight = Math.round(newHeight);\n if (prevState.containerWidth === roundedWidth && prevState.containerHeight === roundedHeight) {\n return prevState;\n }\n return {\n containerWidth: roundedWidth,\n containerHeight: roundedHeight\n };\n });\n }, []);\n useEffect(function () {\n var callback = function callback(entries) {\n var _onResizeRef$current;\n var _entries$0$contentRec = entries[0].contentRect,\n containerWidth = _entries$0$contentRec.width,\n containerHeight = _entries$0$contentRec.height;\n setContainerSize(containerWidth, containerHeight);\n (_onResizeRef$current = onResizeRef.current) === null || _onResizeRef$current === void 0 || _onResizeRef$current.call(onResizeRef, containerWidth, containerHeight);\n };\n if (debounce > 0) {\n callback = throttle(callback, debounce, {\n trailing: true,\n leading: false\n });\n }\n var observer = new ResizeObserver(callback);\n var _containerRef$current = containerRef.current.getBoundingClientRect(),\n containerWidth = _containerRef$current.width,\n containerHeight = _containerRef$current.height;\n setContainerSize(containerWidth, containerHeight);\n observer.observe(containerRef.current);\n return function () {\n observer.disconnect();\n };\n }, [setContainerSize, debounce]);\n var chartContent = useMemo(function () {\n var containerWidth = sizes.containerWidth,\n containerHeight = sizes.containerHeight;\n if (containerWidth < 0 || containerHeight < 0) {\n return null;\n }\n warn(isPercent(width) || isPercent(height), \"The width(%s) and height(%s) are both fixed numbers,\\n maybe you don't need to use a ResponsiveContainer.\", width, height);\n warn(!aspect || aspect > 0, 'The aspect(%s) must be greater than zero.', aspect);\n var calculatedWidth = isPercent(width) ? containerWidth : width;\n var calculatedHeight = isPercent(height) ? containerHeight : height;\n if (aspect && aspect > 0) {\n // Preserve the desired aspect ratio\n if (calculatedWidth) {\n // Will default to using width for aspect ratio\n calculatedHeight = calculatedWidth / aspect;\n } else if (calculatedHeight) {\n // But we should also take height into consideration\n calculatedWidth = calculatedHeight * aspect;\n }\n\n // if maxHeight is set, overwrite if calculatedHeight is greater than maxHeight\n if (maxHeight && calculatedHeight > maxHeight) {\n calculatedHeight = maxHeight;\n }\n }\n warn(calculatedWidth > 0 || calculatedHeight > 0, \"The width(%s) and height(%s) of chart should be greater than 0,\\n please check the style of container, or the props width(%s) and height(%s),\\n or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the\\n height and width.\", calculatedWidth, calculatedHeight, width, height, minWidth, minHeight, aspect);\n var isCharts = !Array.isArray(children) && getDisplayName(children.type).endsWith('Chart');\n return React.Children.map(children, function (child) {\n if ( /*#__PURE__*/React.isValidElement(child)) {\n return /*#__PURE__*/cloneElement(child, _objectSpread({\n width: calculatedWidth,\n height: calculatedHeight\n }, isCharts ? {\n style: _objectSpread({\n height: '100%',\n width: '100%',\n maxHeight: calculatedHeight,\n maxWidth: calculatedWidth\n }, child.props.style)\n } : {}));\n }\n return child;\n });\n }, [aspect, children, height, maxHeight, minHeight, minWidth, sizes, width]);\n return /*#__PURE__*/React.createElement(\"div\", {\n id: id ? \"\".concat(id) : undefined,\n className: clsx('recharts-responsive-container', className),\n style: _objectSpread(_objectSpread({}, style), {}, {\n width: width,\n height: height,\n minWidth: minWidth,\n minHeight: minHeight,\n maxHeight: maxHeight\n }),\n ref: containerRef\n }, chartContent);\n});","/**\n * @fileOverview Cross\n */\n\nexport var Cell = function Cell(_props) {\n return null;\n};\nCell.displayName = 'Cell';","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nimport { Global } from './Global';\nvar stringCache = {\n widthCache: {},\n cacheCount: 0\n};\nvar MAX_CACHE_NUM = 2000;\nvar SPAN_STYLE = {\n position: 'absolute',\n top: '-20000px',\n left: 0,\n padding: 0,\n margin: 0,\n border: 'none',\n whiteSpace: 'pre'\n};\nvar STYLE_LIST = ['minWidth', 'maxWidth', 'width', 'minHeight', 'maxHeight', 'height', 'top', 'left', 'fontSize', 'lineHeight', 'padding', 'margin', 'paddingLeft', 'paddingRight', 'paddingTop', 'paddingBottom', 'marginLeft', 'marginRight', 'marginTop', 'marginBottom'];\nvar MEASUREMENT_SPAN_ID = 'recharts_measurement_span';\nfunction autoCompleteStyle(name, value) {\n if (STYLE_LIST.indexOf(name) >= 0 && value === +value) {\n return \"\".concat(value, \"px\");\n }\n return value;\n}\nfunction camelToMiddleLine(text) {\n var strs = text.split('');\n var formatStrs = strs.reduce(function (result, entry) {\n if (entry === entry.toUpperCase()) {\n return [].concat(_toConsumableArray(result), ['-', entry.toLowerCase()]);\n }\n return [].concat(_toConsumableArray(result), [entry]);\n }, []);\n return formatStrs.join('');\n}\nexport var getStyleString = function getStyleString(style) {\n return Object.keys(style).reduce(function (result, s) {\n return \"\".concat(result).concat(camelToMiddleLine(s), \":\").concat(autoCompleteStyle(s, style[s]), \";\");\n }, '');\n};\nfunction removeInvalidKeys(obj) {\n var copyObj = _objectSpread({}, obj);\n Object.keys(copyObj).forEach(function (key) {\n if (!copyObj[key]) {\n delete copyObj[key];\n }\n });\n return copyObj;\n}\nexport var getStringSize = function getStringSize(text) {\n var style = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (text === undefined || text === null || Global.isSsr) {\n return {\n width: 0,\n height: 0\n };\n }\n var copyStyle = removeInvalidKeys(style);\n var cacheKey = JSON.stringify({\n text: text,\n copyStyle: copyStyle\n });\n if (stringCache.widthCache[cacheKey]) {\n return stringCache.widthCache[cacheKey];\n }\n try {\n var measurementSpan = document.getElementById(MEASUREMENT_SPAN_ID);\n if (!measurementSpan) {\n measurementSpan = document.createElement('span');\n measurementSpan.setAttribute('id', MEASUREMENT_SPAN_ID);\n measurementSpan.setAttribute('aria-hidden', 'true');\n document.body.appendChild(measurementSpan);\n }\n // Need to use CSS Object Model (CSSOM) to be able to comply with Content Security Policy (CSP)\n // https://en.wikipedia.org/wiki/Content_Security_Policy\n var measurementSpanStyle = _objectSpread(_objectSpread({}, SPAN_STYLE), copyStyle);\n Object.assign(measurementSpan.style, measurementSpanStyle);\n measurementSpan.textContent = \"\".concat(text);\n var rect = measurementSpan.getBoundingClientRect();\n var result = {\n width: rect.width,\n height: rect.height\n };\n stringCache.widthCache[cacheKey] = result;\n if (++stringCache.cacheCount > MAX_CACHE_NUM) {\n stringCache.cacheCount = 0;\n stringCache.widthCache = {};\n }\n return result;\n } catch (e) {\n return {\n width: 0,\n height: 0\n };\n }\n};\nexport var getOffset = function getOffset(rect) {\n return {\n top: rect.top + window.scrollY - document.documentElement.clientTop,\n left: rect.left + window.scrollX - document.documentElement.clientLeft\n };\n};","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nvar MULTIPLY_OR_DIVIDE_REGEX = /(-?\\d+(?:\\.\\d+)?[a-zA-Z%]*)([*/])(-?\\d+(?:\\.\\d+)?[a-zA-Z%]*)/;\nvar ADD_OR_SUBTRACT_REGEX = /(-?\\d+(?:\\.\\d+)?[a-zA-Z%]*)([+-])(-?\\d+(?:\\.\\d+)?[a-zA-Z%]*)/;\nvar CSS_LENGTH_UNIT_REGEX = /^px|cm|vh|vw|em|rem|%|mm|in|pt|pc|ex|ch|vmin|vmax|Q$/;\nvar NUM_SPLIT_REGEX = /(-?\\d+(?:\\.\\d+)?)([a-zA-Z%]+)?/;\nvar CONVERSION_RATES = {\n cm: 96 / 2.54,\n mm: 96 / 25.4,\n pt: 96 / 72,\n pc: 96 / 6,\n \"in\": 96,\n Q: 96 / (2.54 * 40),\n px: 1\n};\nvar FIXED_CSS_LENGTH_UNITS = Object.keys(CONVERSION_RATES);\nvar STR_NAN = 'NaN';\nfunction convertToPx(value, unit) {\n return value * CONVERSION_RATES[unit];\n}\nvar DecimalCSS = /*#__PURE__*/function () {\n function DecimalCSS(num, unit) {\n _classCallCheck(this, DecimalCSS);\n this.num = num;\n this.unit = unit;\n this.num = num;\n this.unit = unit;\n if (Number.isNaN(num)) {\n this.unit = '';\n }\n if (unit !== '' && !CSS_LENGTH_UNIT_REGEX.test(unit)) {\n this.num = NaN;\n this.unit = '';\n }\n if (FIXED_CSS_LENGTH_UNITS.includes(unit)) {\n this.num = convertToPx(num, unit);\n this.unit = 'px';\n }\n }\n return _createClass(DecimalCSS, [{\n key: \"add\",\n value: function add(other) {\n if (this.unit !== other.unit) {\n return new DecimalCSS(NaN, '');\n }\n return new DecimalCSS(this.num + other.num, this.unit);\n }\n }, {\n key: \"subtract\",\n value: function subtract(other) {\n if (this.unit !== other.unit) {\n return new DecimalCSS(NaN, '');\n }\n return new DecimalCSS(this.num - other.num, this.unit);\n }\n }, {\n key: \"multiply\",\n value: function multiply(other) {\n if (this.unit !== '' && other.unit !== '' && this.unit !== other.unit) {\n return new DecimalCSS(NaN, '');\n }\n return new DecimalCSS(this.num * other.num, this.unit || other.unit);\n }\n }, {\n key: \"divide\",\n value: function divide(other) {\n if (this.unit !== '' && other.unit !== '' && this.unit !== other.unit) {\n return new DecimalCSS(NaN, '');\n }\n return new DecimalCSS(this.num / other.num, this.unit || other.unit);\n }\n }, {\n key: \"toString\",\n value: function toString() {\n return \"\".concat(this.num).concat(this.unit);\n }\n }, {\n key: \"isNaN\",\n value: function isNaN() {\n return Number.isNaN(this.num);\n }\n }], [{\n key: \"parse\",\n value: function parse(str) {\n var _NUM_SPLIT_REGEX$exec;\n var _ref = (_NUM_SPLIT_REGEX$exec = NUM_SPLIT_REGEX.exec(str)) !== null && _NUM_SPLIT_REGEX$exec !== void 0 ? _NUM_SPLIT_REGEX$exec : [],\n _ref2 = _slicedToArray(_ref, 3),\n numStr = _ref2[1],\n unit = _ref2[2];\n return new DecimalCSS(parseFloat(numStr), unit !== null && unit !== void 0 ? unit : '');\n }\n }]);\n}();\nfunction calculateArithmetic(expr) {\n if (expr.includes(STR_NAN)) {\n return STR_NAN;\n }\n var newExpr = expr;\n while (newExpr.includes('*') || newExpr.includes('/')) {\n var _MULTIPLY_OR_DIVIDE_R;\n var _ref3 = (_MULTIPLY_OR_DIVIDE_R = MULTIPLY_OR_DIVIDE_REGEX.exec(newExpr)) !== null && _MULTIPLY_OR_DIVIDE_R !== void 0 ? _MULTIPLY_OR_DIVIDE_R : [],\n _ref4 = _slicedToArray(_ref3, 4),\n leftOperand = _ref4[1],\n operator = _ref4[2],\n rightOperand = _ref4[3];\n var lTs = DecimalCSS.parse(leftOperand !== null && leftOperand !== void 0 ? leftOperand : '');\n var rTs = DecimalCSS.parse(rightOperand !== null && rightOperand !== void 0 ? rightOperand : '');\n var result = operator === '*' ? lTs.multiply(rTs) : lTs.divide(rTs);\n if (result.isNaN()) {\n return STR_NAN;\n }\n newExpr = newExpr.replace(MULTIPLY_OR_DIVIDE_REGEX, result.toString());\n }\n while (newExpr.includes('+') || /.-\\d+(?:\\.\\d+)?/.test(newExpr)) {\n var _ADD_OR_SUBTRACT_REGE;\n var _ref5 = (_ADD_OR_SUBTRACT_REGE = ADD_OR_SUBTRACT_REGEX.exec(newExpr)) !== null && _ADD_OR_SUBTRACT_REGE !== void 0 ? _ADD_OR_SUBTRACT_REGE : [],\n _ref6 = _slicedToArray(_ref5, 4),\n _leftOperand = _ref6[1],\n _operator = _ref6[2],\n _rightOperand = _ref6[3];\n var _lTs = DecimalCSS.parse(_leftOperand !== null && _leftOperand !== void 0 ? _leftOperand : '');\n var _rTs = DecimalCSS.parse(_rightOperand !== null && _rightOperand !== void 0 ? _rightOperand : '');\n var _result = _operator === '+' ? _lTs.add(_rTs) : _lTs.subtract(_rTs);\n if (_result.isNaN()) {\n return STR_NAN;\n }\n newExpr = newExpr.replace(ADD_OR_SUBTRACT_REGEX, _result.toString());\n }\n return newExpr;\n}\nvar PARENTHESES_REGEX = /\\(([^()]*)\\)/;\nfunction calculateParentheses(expr) {\n var newExpr = expr;\n while (newExpr.includes('(')) {\n var _PARENTHESES_REGEX$ex = PARENTHESES_REGEX.exec(newExpr),\n _PARENTHESES_REGEX$ex2 = _slicedToArray(_PARENTHESES_REGEX$ex, 2),\n parentheticalExpression = _PARENTHESES_REGEX$ex2[1];\n newExpr = newExpr.replace(PARENTHESES_REGEX, calculateArithmetic(parentheticalExpression));\n }\n return newExpr;\n}\nfunction evaluateExpression(expression) {\n var newExpr = expression.replace(/\\s+/g, '');\n newExpr = calculateParentheses(newExpr);\n newExpr = calculateArithmetic(newExpr);\n return newExpr;\n}\nexport function safeEvaluateExpression(expression) {\n try {\n return evaluateExpression(expression);\n } catch (e) {\n /* istanbul ignore next */\n return STR_NAN;\n }\n}\nexport function reduceCSSCalc(expression) {\n var result = safeEvaluateExpression(expression.slice(5, -1));\n if (result === STR_NAN) {\n // notify the user\n return '';\n }\n return result;\n}","var _excluded = [\"x\", \"y\", \"lineHeight\", \"capHeight\", \"scaleToFit\", \"textAnchor\", \"verticalAnchor\", \"fill\"],\n _excluded2 = [\"dx\", \"dy\", \"angle\", \"className\", \"breakAll\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nimport React, { useMemo } from 'react';\nimport isNil from 'lodash/isNil';\nimport clsx from 'clsx';\nimport { isNumber, isNumOrStr } from '../util/DataUtils';\nimport { Global } from '../util/Global';\nimport { filterProps } from '../util/ReactUtils';\nimport { getStringSize } from '../util/DOMUtils';\nimport { reduceCSSCalc } from '../util/ReduceCSSCalc';\nvar BREAKING_SPACES = /[ \\f\\n\\r\\t\\v\\u2028\\u2029]+/;\nvar calculateWordWidths = function calculateWordWidths(_ref) {\n var children = _ref.children,\n breakAll = _ref.breakAll,\n style = _ref.style;\n try {\n var words = [];\n if (!isNil(children)) {\n if (breakAll) {\n words = children.toString().split('');\n } else {\n words = children.toString().split(BREAKING_SPACES);\n }\n }\n var wordsWithComputedWidth = words.map(function (word) {\n return {\n word: word,\n width: getStringSize(word, style).width\n };\n });\n var spaceWidth = breakAll ? 0 : getStringSize(\"\\xA0\", style).width;\n return {\n wordsWithComputedWidth: wordsWithComputedWidth,\n spaceWidth: spaceWidth\n };\n } catch (e) {\n return null;\n }\n};\nvar calculateWordsByLines = function calculateWordsByLines(_ref2, initialWordsWithComputedWith, spaceWidth, lineWidth, scaleToFit) {\n var maxLines = _ref2.maxLines,\n children = _ref2.children,\n style = _ref2.style,\n breakAll = _ref2.breakAll;\n var shouldLimitLines = isNumber(maxLines);\n var text = children;\n var calculate = function calculate() {\n var words = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return words.reduce(function (result, _ref3) {\n var word = _ref3.word,\n width = _ref3.width;\n var currentLine = result[result.length - 1];\n if (currentLine && (lineWidth == null || scaleToFit || currentLine.width + width + spaceWidth < Number(lineWidth))) {\n // Word can be added to an existing line\n currentLine.words.push(word);\n currentLine.width += width + spaceWidth;\n } else {\n // Add first word to line or word is too long to scaleToFit on existing line\n var newLine = {\n words: [word],\n width: width\n };\n result.push(newLine);\n }\n return result;\n }, []);\n };\n var originalResult = calculate(initialWordsWithComputedWith);\n var findLongestLine = function findLongestLine(words) {\n return words.reduce(function (a, b) {\n return a.width > b.width ? a : b;\n });\n };\n if (!shouldLimitLines) {\n return originalResult;\n }\n var suffix = '…';\n var checkOverflow = function checkOverflow(index) {\n var tempText = text.slice(0, index);\n var words = calculateWordWidths({\n breakAll: breakAll,\n style: style,\n children: tempText + suffix\n }).wordsWithComputedWidth;\n var result = calculate(words);\n var doesOverflow = result.length > maxLines || findLongestLine(result).width > Number(lineWidth);\n return [doesOverflow, result];\n };\n var start = 0;\n var end = text.length - 1;\n var iterations = 0;\n var trimmedResult;\n while (start <= end && iterations <= text.length - 1) {\n var middle = Math.floor((start + end) / 2);\n var prev = middle - 1;\n var _checkOverflow = checkOverflow(prev),\n _checkOverflow2 = _slicedToArray(_checkOverflow, 2),\n doesPrevOverflow = _checkOverflow2[0],\n result = _checkOverflow2[1];\n var _checkOverflow3 = checkOverflow(middle),\n _checkOverflow4 = _slicedToArray(_checkOverflow3, 1),\n doesMiddleOverflow = _checkOverflow4[0];\n if (!doesPrevOverflow && !doesMiddleOverflow) {\n start = middle + 1;\n }\n if (doesPrevOverflow && doesMiddleOverflow) {\n end = middle - 1;\n }\n if (!doesPrevOverflow && doesMiddleOverflow) {\n trimmedResult = result;\n break;\n }\n iterations++;\n }\n\n // Fallback to originalResult (result without trimming) if we cannot find the\n // where to trim. This should not happen :tm:\n return trimmedResult || originalResult;\n};\nvar getWordsWithoutCalculate = function getWordsWithoutCalculate(children) {\n var words = !isNil(children) ? children.toString().split(BREAKING_SPACES) : [];\n return [{\n words: words\n }];\n};\nvar getWordsByLines = function getWordsByLines(_ref4) {\n var width = _ref4.width,\n scaleToFit = _ref4.scaleToFit,\n children = _ref4.children,\n style = _ref4.style,\n breakAll = _ref4.breakAll,\n maxLines = _ref4.maxLines;\n // Only perform calculations if using features that require them (multiline, scaleToFit)\n if ((width || scaleToFit) && !Global.isSsr) {\n var wordsWithComputedWidth, spaceWidth;\n var wordWidths = calculateWordWidths({\n breakAll: breakAll,\n children: children,\n style: style\n });\n if (wordWidths) {\n var wcw = wordWidths.wordsWithComputedWidth,\n sw = wordWidths.spaceWidth;\n wordsWithComputedWidth = wcw;\n spaceWidth = sw;\n } else {\n return getWordsWithoutCalculate(children);\n }\n return calculateWordsByLines({\n breakAll: breakAll,\n children: children,\n maxLines: maxLines,\n style: style\n }, wordsWithComputedWidth, spaceWidth, width, scaleToFit);\n }\n return getWordsWithoutCalculate(children);\n};\nvar DEFAULT_FILL = '#808080';\nexport var Text = function Text(_ref5) {\n var _ref5$x = _ref5.x,\n propsX = _ref5$x === void 0 ? 0 : _ref5$x,\n _ref5$y = _ref5.y,\n propsY = _ref5$y === void 0 ? 0 : _ref5$y,\n _ref5$lineHeight = _ref5.lineHeight,\n lineHeight = _ref5$lineHeight === void 0 ? '1em' : _ref5$lineHeight,\n _ref5$capHeight = _ref5.capHeight,\n capHeight = _ref5$capHeight === void 0 ? '0.71em' : _ref5$capHeight,\n _ref5$scaleToFit = _ref5.scaleToFit,\n scaleToFit = _ref5$scaleToFit === void 0 ? false : _ref5$scaleToFit,\n _ref5$textAnchor = _ref5.textAnchor,\n textAnchor = _ref5$textAnchor === void 0 ? 'start' : _ref5$textAnchor,\n _ref5$verticalAnchor = _ref5.verticalAnchor,\n verticalAnchor = _ref5$verticalAnchor === void 0 ? 'end' : _ref5$verticalAnchor,\n _ref5$fill = _ref5.fill,\n fill = _ref5$fill === void 0 ? DEFAULT_FILL : _ref5$fill,\n props = _objectWithoutProperties(_ref5, _excluded);\n var wordsByLines = useMemo(function () {\n return getWordsByLines({\n breakAll: props.breakAll,\n children: props.children,\n maxLines: props.maxLines,\n scaleToFit: scaleToFit,\n style: props.style,\n width: props.width\n });\n }, [props.breakAll, props.children, props.maxLines, scaleToFit, props.style, props.width]);\n var dx = props.dx,\n dy = props.dy,\n angle = props.angle,\n className = props.className,\n breakAll = props.breakAll,\n textProps = _objectWithoutProperties(props, _excluded2);\n if (!isNumOrStr(propsX) || !isNumOrStr(propsY)) {\n return null;\n }\n var x = propsX + (isNumber(dx) ? dx : 0);\n var y = propsY + (isNumber(dy) ? dy : 0);\n var startDy;\n switch (verticalAnchor) {\n case 'start':\n startDy = reduceCSSCalc(\"calc(\".concat(capHeight, \")\"));\n break;\n case 'middle':\n startDy = reduceCSSCalc(\"calc(\".concat((wordsByLines.length - 1) / 2, \" * -\").concat(lineHeight, \" + (\").concat(capHeight, \" / 2))\"));\n break;\n default:\n startDy = reduceCSSCalc(\"calc(\".concat(wordsByLines.length - 1, \" * -\").concat(lineHeight, \")\"));\n break;\n }\n var transforms = [];\n if (scaleToFit) {\n var lineWidth = wordsByLines[0].width;\n var width = props.width;\n transforms.push(\"scale(\".concat((isNumber(width) ? width / lineWidth : 1) / lineWidth, \")\"));\n }\n if (angle) {\n transforms.push(\"rotate(\".concat(angle, \", \").concat(x, \", \").concat(y, \")\"));\n }\n if (transforms.length) {\n textProps.transform = transforms.join(' ');\n }\n return /*#__PURE__*/React.createElement(\"text\", _extends({}, filterProps(textProps, true), {\n x: x,\n y: y,\n className: clsx('recharts-text', className),\n textAnchor: textAnchor,\n fill: fill.includes('url') ? DEFAULT_FILL : fill\n }), wordsByLines.map(function (line, index) {\n var words = line.words.join(breakAll ? '' : ' ');\n return (\n /*#__PURE__*/\n // duplicate words will cause duplicate keys\n // eslint-disable-next-line react/no-array-index-key\n React.createElement(\"tspan\", {\n x: x,\n dy: index === 0 ? startDy : lineHeight,\n key: \"\".concat(words, \"-\").concat(index)\n }, words)\n );\n }));\n};","export default function ascending(a, b) {\n return a == null || b == null ? NaN : a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","export default function descending(a, b) {\n return a == null || b == null ? NaN\n : b < a ? -1\n : b > a ? 1\n : b >= a ? 0\n : NaN;\n}\n","import ascending from \"./ascending.js\";\nimport descending from \"./descending.js\";\n\nexport default function bisector(f) {\n let compare1, compare2, delta;\n\n // If an accessor is specified, promote it to a comparator. In this case we\n // can test whether the search value is (self-) comparable. We can’t do this\n // for a comparator (except for specific, known comparators) because we can’t\n // tell if the comparator is symmetric, and an asymmetric comparator can’t be\n // used to test whether a single value is comparable.\n if (f.length !== 2) {\n compare1 = ascending;\n compare2 = (d, x) => ascending(f(d), x);\n delta = (d, x) => f(d) - x;\n } else {\n compare1 = f === ascending || f === descending ? f : zero;\n compare2 = f;\n delta = f;\n }\n\n function left(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n do {\n const mid = (lo + hi) >>> 1;\n if (compare2(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n\n function right(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n do {\n const mid = (lo + hi) >>> 1;\n if (compare2(a[mid], x) <= 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n\n function center(a, x, lo = 0, hi = a.length) {\n const i = left(a, x, lo, hi - 1);\n return i > lo && delta(a[i - 1], x) > -delta(a[i], x) ? i - 1 : i;\n }\n\n return {left, center, right};\n}\n\nfunction zero() {\n return 0;\n}\n","export default function number(x) {\n return x === null ? NaN : +x;\n}\n\nexport function* numbers(values, valueof) {\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n yield value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n yield value;\n }\n }\n }\n}\n","import ascending from \"./ascending.js\";\nimport bisector from \"./bisector.js\";\nimport number from \"./number.js\";\n\nconst ascendingBisect = bisector(ascending);\nexport const bisectRight = ascendingBisect.right;\nexport const bisectLeft = ascendingBisect.left;\nexport const bisectCenter = bisector(number).center;\nexport default bisectRight;\n","export class InternMap extends Map {\n constructor(entries, key = keyof) {\n super();\n Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n if (entries != null) for (const [key, value] of entries) this.set(key, value);\n }\n get(key) {\n return super.get(intern_get(this, key));\n }\n has(key) {\n return super.has(intern_get(this, key));\n }\n set(key, value) {\n return super.set(intern_set(this, key), value);\n }\n delete(key) {\n return super.delete(intern_delete(this, key));\n }\n}\n\nexport class InternSet extends Set {\n constructor(values, key = keyof) {\n super();\n Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n if (values != null) for (const value of values) this.add(value);\n }\n has(value) {\n return super.has(intern_get(this, value));\n }\n add(value) {\n return super.add(intern_set(this, value));\n }\n delete(value) {\n return super.delete(intern_delete(this, value));\n }\n}\n\nfunction intern_get({_intern, _key}, value) {\n const key = _key(value);\n return _intern.has(key) ? _intern.get(key) : value;\n}\n\nfunction intern_set({_intern, _key}, value) {\n const key = _key(value);\n if (_intern.has(key)) return _intern.get(key);\n _intern.set(key, value);\n return value;\n}\n\nfunction intern_delete({_intern, _key}, value) {\n const key = _key(value);\n if (_intern.has(key)) {\n value = _intern.get(key);\n _intern.delete(key);\n }\n return value;\n}\n\nfunction keyof(value) {\n return value !== null && typeof value === \"object\" ? value.valueOf() : value;\n}\n","import ascending from \"./ascending.js\";\nimport permute from \"./permute.js\";\n\nexport default function sort(values, ...F) {\n if (typeof values[Symbol.iterator] !== \"function\") throw new TypeError(\"values is not iterable\");\n values = Array.from(values);\n let [f] = F;\n if ((f && f.length !== 2) || F.length > 1) {\n const index = Uint32Array.from(values, (d, i) => i);\n if (F.length > 1) {\n F = F.map(f => values.map(f));\n index.sort((i, j) => {\n for (const f of F) {\n const c = ascendingDefined(f[i], f[j]);\n if (c) return c;\n }\n });\n } else {\n f = values.map(f);\n index.sort((i, j) => ascendingDefined(f[i], f[j]));\n }\n return permute(values, index);\n }\n return values.sort(compareDefined(f));\n}\n\nexport function compareDefined(compare = ascending) {\n if (compare === ascending) return ascendingDefined;\n if (typeof compare !== \"function\") throw new TypeError(\"compare is not a function\");\n return (a, b) => {\n const x = compare(a, b);\n if (x || x === 0) return x;\n return (compare(b, b) === 0) - (compare(a, a) === 0);\n };\n}\n\nexport function ascendingDefined(a, b) {\n return (a == null || !(a >= a)) - (b == null || !(b >= b)) || (a < b ? -1 : a > b ? 1 : 0);\n}\n","const e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nfunction tickSpec(start, stop, count) {\n const step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log10(step)),\n error = step / Math.pow(10, power),\n factor = error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1;\n let i1, i2, inc;\n if (power < 0) {\n inc = Math.pow(10, -power) / factor;\n i1 = Math.round(start * inc);\n i2 = Math.round(stop * inc);\n if (i1 / inc < start) ++i1;\n if (i2 / inc > stop) --i2;\n inc = -inc;\n } else {\n inc = Math.pow(10, power) * factor;\n i1 = Math.round(start / inc);\n i2 = Math.round(stop / inc);\n if (i1 * inc < start) ++i1;\n if (i2 * inc > stop) --i2;\n }\n if (i2 < i1 && 0.5 <= count && count < 2) return tickSpec(start, stop, count * 2);\n return [i1, i2, inc];\n}\n\nexport default function ticks(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n if (!(count > 0)) return [];\n if (start === stop) return [start];\n const reverse = stop < start, [i1, i2, inc] = reverse ? tickSpec(stop, start, count) : tickSpec(start, stop, count);\n if (!(i2 >= i1)) return [];\n const n = i2 - i1 + 1, ticks = new Array(n);\n if (reverse) {\n if (inc < 0) for (let i = 0; i < n; ++i) ticks[i] = (i2 - i) / -inc;\n else for (let i = 0; i < n; ++i) ticks[i] = (i2 - i) * inc;\n } else {\n if (inc < 0) for (let i = 0; i < n; ++i) ticks[i] = (i1 + i) / -inc;\n else for (let i = 0; i < n; ++i) ticks[i] = (i1 + i) * inc;\n }\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n return tickSpec(start, stop, count)[2];\n}\n\nexport function tickStep(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n const reverse = stop < start, inc = reverse ? tickIncrement(stop, start, count) : tickIncrement(start, stop, count);\n return (reverse ? -1 : 1) * (inc < 0 ? 1 / -inc : inc);\n}\n","export default function max(values, valueof) {\n let max;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n }\n return max;\n}\n","export default function min(values, valueof) {\n let min;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n }\n return min;\n}\n","import {ascendingDefined, compareDefined} from \"./sort.js\";\n\n// Based on https://github.com/mourner/quickselect\n// ISC license, Copyright 2018 Vladimir Agafonkin.\nexport default function quickselect(array, k, left = 0, right = Infinity, compare) {\n k = Math.floor(k);\n left = Math.floor(Math.max(0, left));\n right = Math.floor(Math.min(array.length - 1, right));\n\n if (!(left <= k && k <= right)) return array;\n\n compare = compare === undefined ? ascendingDefined : compareDefined(compare);\n\n while (right > left) {\n if (right - left > 600) {\n const n = right - left + 1;\n const m = k - left + 1;\n const z = Math.log(n);\n const s = 0.5 * Math.exp(2 * z / 3);\n const sd = 0.5 * Math.sqrt(z * s * (n - s) / n) * (m - n / 2 < 0 ? -1 : 1);\n const newLeft = Math.max(left, Math.floor(k - m * s / n + sd));\n const newRight = Math.min(right, Math.floor(k + (n - m) * s / n + sd));\n quickselect(array, k, newLeft, newRight, compare);\n }\n\n const t = array[k];\n let i = left;\n let j = right;\n\n swap(array, left, k);\n if (compare(array[right], t) > 0) swap(array, left, right);\n\n while (i < j) {\n swap(array, i, j), ++i, --j;\n while (compare(array[i], t) < 0) ++i;\n while (compare(array[j], t) > 0) --j;\n }\n\n if (compare(array[left], t) === 0) swap(array, left, j);\n else ++j, swap(array, j, right);\n\n if (j <= k) left = j + 1;\n if (k <= j) right = j - 1;\n }\n\n return array;\n}\n\nfunction swap(array, i, j) {\n const t = array[i];\n array[i] = array[j];\n array[j] = t;\n}\n","import max from \"./max.js\";\nimport maxIndex from \"./maxIndex.js\";\nimport min from \"./min.js\";\nimport minIndex from \"./minIndex.js\";\nimport quickselect from \"./quickselect.js\";\nimport number, {numbers} from \"./number.js\";\nimport {ascendingDefined} from \"./sort.js\";\nimport greatest from \"./greatest.js\";\n\nexport default function quantile(values, p, valueof) {\n values = Float64Array.from(numbers(values, valueof));\n if (!(n = values.length) || isNaN(p = +p)) return;\n if (p <= 0 || n < 2) return min(values);\n if (p >= 1) return max(values);\n var n,\n i = (n - 1) * p,\n i0 = Math.floor(i),\n value0 = max(quickselect(values, i0).subarray(0, i0 + 1)),\n value1 = min(values.subarray(i0 + 1));\n return value0 + (value1 - value0) * (i - i0);\n}\n\nexport function quantileSorted(values, p, valueof = number) {\n if (!(n = values.length) || isNaN(p = +p)) return;\n if (p <= 0 || n < 2) return +valueof(values[0], 0, values);\n if (p >= 1) return +valueof(values[n - 1], n - 1, values);\n var n,\n i = (n - 1) * p,\n i0 = Math.floor(i),\n value0 = +valueof(values[i0], i0, values),\n value1 = +valueof(values[i0 + 1], i0 + 1, values);\n return value0 + (value1 - value0) * (i - i0);\n}\n\nexport function quantileIndex(values, p, valueof = number) {\n if (isNaN(p = +p)) return;\n numbers = Float64Array.from(values, (_, i) => number(valueof(values[i], i, values)));\n if (p <= 0) return minIndex(numbers);\n if (p >= 1) return maxIndex(numbers);\n var numbers,\n index = Uint32Array.from(values, (_, i) => i),\n j = numbers.length - 1,\n i = Math.floor(j * p);\n quickselect(index, i, 0, j, (i, j) => ascendingDefined(numbers[i], numbers[j]));\n i = greatest(index.subarray(0, i + 1), (i) => numbers[i]);\n return i >= 0 ? i : -1;\n}\n","export default function range(start, stop, step) {\n start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;\n\n var i = -1,\n n = Math.max(0, Math.ceil((stop - start) / step)) | 0,\n range = new Array(n);\n\n while (++i < n) {\n range[i] = start + i * step;\n }\n\n return range;\n}\n","export function initRange(domain, range) {\n switch (arguments.length) {\n case 0: break;\n case 1: this.range(domain); break;\n default: this.range(range).domain(domain); break;\n }\n return this;\n}\n\nexport function initInterpolator(domain, interpolator) {\n switch (arguments.length) {\n case 0: break;\n case 1: {\n if (typeof domain === \"function\") this.interpolator(domain);\n else this.range(domain);\n break;\n }\n default: {\n this.domain(domain);\n if (typeof interpolator === \"function\") this.interpolator(interpolator);\n else this.range(interpolator);\n break;\n }\n }\n return this;\n}\n","import {InternMap} from \"d3-array\";\nimport {initRange} from \"./init.js\";\n\nexport const implicit = Symbol(\"implicit\");\n\nexport default function ordinal() {\n var index = new InternMap(),\n domain = [],\n range = [],\n unknown = implicit;\n\n function scale(d) {\n let i = index.get(d);\n if (i === undefined) {\n if (unknown !== implicit) return unknown;\n index.set(d, i = domain.push(d) - 1);\n }\n return range[i % range.length];\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [], index = new InternMap();\n for (const value of _) {\n if (index.has(value)) continue;\n index.set(value, domain.push(value) - 1);\n }\n return scale;\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), scale) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return ordinal(domain, range).unknown(unknown);\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n","import {range as sequence} from \"d3-array\";\nimport {initRange} from \"./init.js\";\nimport ordinal from \"./ordinal.js\";\n\nexport default function band() {\n var scale = ordinal().unknown(undefined),\n domain = scale.domain,\n ordinalRange = scale.range,\n r0 = 0,\n r1 = 1,\n step,\n bandwidth,\n round = false,\n paddingInner = 0,\n paddingOuter = 0,\n align = 0.5;\n\n delete scale.unknown;\n\n function rescale() {\n var n = domain().length,\n reverse = r1 < r0,\n start = reverse ? r1 : r0,\n stop = reverse ? r0 : r1;\n step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2);\n if (round) step = Math.floor(step);\n start += (stop - start - step * (n - paddingInner)) * align;\n bandwidth = step * (1 - paddingInner);\n if (round) start = Math.round(start), bandwidth = Math.round(bandwidth);\n var values = sequence(n).map(function(i) { return start + step * i; });\n return ordinalRange(reverse ? values.reverse() : values);\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.range = function(_) {\n return arguments.length ? ([r0, r1] = _, r0 = +r0, r1 = +r1, rescale()) : [r0, r1];\n };\n\n scale.rangeRound = function(_) {\n return [r0, r1] = _, r0 = +r0, r1 = +r1, round = true, rescale();\n };\n\n scale.bandwidth = function() {\n return bandwidth;\n };\n\n scale.step = function() {\n return step;\n };\n\n scale.round = function(_) {\n return arguments.length ? (round = !!_, rescale()) : round;\n };\n\n scale.padding = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, paddingOuter = +_), rescale()) : paddingInner;\n };\n\n scale.paddingInner = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, _), rescale()) : paddingInner;\n };\n\n scale.paddingOuter = function(_) {\n return arguments.length ? (paddingOuter = +_, rescale()) : paddingOuter;\n };\n\n scale.align = function(_) {\n return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align;\n };\n\n scale.copy = function() {\n return band(domain(), [r0, r1])\n .round(round)\n .paddingInner(paddingInner)\n .paddingOuter(paddingOuter)\n .align(align);\n };\n\n return initRange.apply(rescale(), arguments);\n}\n\nfunction pointish(scale) {\n var copy = scale.copy;\n\n scale.padding = scale.paddingOuter;\n delete scale.paddingInner;\n delete scale.paddingOuter;\n\n scale.copy = function() {\n return pointish(copy());\n };\n\n return scale;\n}\n\nexport function point() {\n return pointish(band.apply(null, arguments).paddingInner(1));\n}\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(`^rgb\\\\(${reI},${reI},${reI}\\\\)$`),\n reRgbPercent = new RegExp(`^rgb\\\\(${reP},${reP},${reP}\\\\)$`),\n reRgbaInteger = new RegExp(`^rgba\\\\(${reI},${reI},${reI},${reN}\\\\)$`),\n reRgbaPercent = new RegExp(`^rgba\\\\(${reP},${reP},${reP},${reN}\\\\)$`),\n reHslPercent = new RegExp(`^hsl\\\\(${reN},${reP},${reP}\\\\)$`),\n reHslaPercent = new RegExp(`^hsla\\\\(${reN},${reP},${reP},${reN}\\\\)$`);\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHex8: color_formatHex8,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHex8() {\n return this.rgb().formatHex8();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb() {\n return this;\n },\n clamp() {\n return new Rgb(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity));\n },\n displayable() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatHex8: rgb_formatHex8,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}`;\n}\n\nfunction rgb_formatHex8() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;\n}\n\nfunction rgb_formatRgb() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"rgb(\" : \"rgba(\"}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a === 1 ? \")\" : `, ${a})`}`;\n}\n\nfunction clampa(opacity) {\n return isNaN(opacity) ? 1 : Math.max(0, Math.min(1, opacity));\n}\n\nfunction clampi(value) {\n return Math.max(0, Math.min(255, Math.round(value) || 0));\n}\n\nfunction hex(value) {\n value = clampi(value);\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n clamp() {\n return new Hsl(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity));\n },\n displayable() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"hsl(\" : \"hsla(\"}${clamph(this.h)}, ${clampt(this.s) * 100}%, ${clampt(this.l) * 100}%${a === 1 ? \")\" : `, ${a})`}`;\n }\n}));\n\nfunction clamph(value) {\n value = (value || 0) % 360;\n return value < 0 ? value + 360 : value;\n}\n\nfunction clampt(value) {\n return Math.max(0, Math.min(1, value || 0));\n}\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","export default x => () => x;\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","export default function(a, b) {\n if (!b) b = [];\n var n = a ? Math.min(b.length, a.length) : 0,\n c = b.slice(),\n i;\n return function(t) {\n for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;\n return c;\n };\n}\n\nexport function isNumberArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n","import value from \"./value.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n return (isNumberArray(b) ? numberArray : genericArray)(a, b);\n}\n\nexport function genericArray(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]);\n for (; i < nb; ++i) c[i] = b[i];\n\n return function(t) {\n for (i = 0; i < na; ++i) c[i] = x[i](t);\n return c;\n };\n}\n","export default function(a, b) {\n var d = new Date;\n return a = +a, b = +b, function(t) {\n return d.setTime(a * (1 - t) + b * t), d;\n };\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n","import value from \"./value.js\";\n\nexport default function(a, b) {\n var i = {},\n c = {},\n k;\n\n if (a === null || typeof a !== \"object\") a = {};\n if (b === null || typeof b !== \"object\") b = {};\n\n for (k in b) {\n if (k in a) {\n i[k] = value(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n}\n","import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","import {color} from \"d3-color\";\nimport rgb from \"./rgb.js\";\nimport {genericArray} from \"./array.js\";\nimport date from \"./date.js\";\nimport number from \"./number.js\";\nimport object from \"./object.js\";\nimport string from \"./string.js\";\nimport constant from \"./constant.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n var t = typeof b, c;\n return b == null || t === \"boolean\" ? constant(b)\n : (t === \"number\" ? number\n : t === \"string\" ? ((c = color(b)) ? (b = c, rgb) : string)\n : b instanceof color ? rgb\n : b instanceof Date ? date\n : isNumberArray(b) ? numberArray\n : Array.isArray(b) ? genericArray\n : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object\n : number)(a, b);\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return Math.round(a * (1 - t) + b * t);\n };\n}\n","import {default as value} from \"./value.js\";\n\nexport default function piecewise(interpolate, values) {\n if (values === undefined) values = interpolate, interpolate = value;\n var i = 0, n = values.length - 1, v = values[0], I = new Array(n < 0 ? 0 : n);\n while (i < n) I[i] = interpolate(v, v = values[++i]);\n return function(t) {\n var i = Math.max(0, Math.min(n - 1, Math.floor(t *= n)));\n return I[i](t - i);\n };\n}\n","export default function constants(x) {\n return function() {\n return x;\n };\n}\n","export default function number(x) {\n return +x;\n}\n","import {bisect} from \"d3-array\";\nimport {interpolate as interpolateValue, interpolateNumber, interpolateRound} from \"d3-interpolate\";\nimport constant from \"./constant.js\";\nimport number from \"./number.js\";\n\nvar unit = [0, 1];\n\nexport function identity(x) {\n return x;\n}\n\nfunction normalize(a, b) {\n return (b -= (a = +a))\n ? function(x) { return (x - a) / b; }\n : constant(isNaN(b) ? NaN : 0.5);\n}\n\nfunction clamper(a, b) {\n var t;\n if (a > b) t = a, a = b, b = t;\n return function(x) { return Math.max(a, Math.min(b, x)); };\n}\n\n// normalize(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// interpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding range value x in [a,b].\nfunction bimap(domain, range, interpolate) {\n var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];\n if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0);\n else d0 = normalize(d0, d1), r0 = interpolate(r0, r1);\n return function(x) { return r0(d0(x)); };\n}\n\nfunction polymap(domain, range, interpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1;\n\n // Reverse descending domains.\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n\n while (++i < j) {\n d[i] = normalize(domain[i], domain[i + 1]);\n r[i] = interpolate(range[i], range[i + 1]);\n }\n\n return function(x) {\n var i = bisect(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .range(source.range())\n .interpolate(source.interpolate())\n .clamp(source.clamp())\n .unknown(source.unknown());\n}\n\nexport function transformer() {\n var domain = unit,\n range = unit,\n interpolate = interpolateValue,\n transform,\n untransform,\n unknown,\n clamp = identity,\n piecewise,\n output,\n input;\n\n function rescale() {\n var n = Math.min(domain.length, range.length);\n if (clamp !== identity) clamp = clamper(domain[0], domain[n - 1]);\n piecewise = n > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x)));\n }\n\n scale.invert = function(y) {\n return clamp(untransform((input || (input = piecewise(range, domain.map(transform), interpolateNumber)))(y)));\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_, number), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = Array.from(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = _ ? true : identity, rescale()) : clamp !== identity;\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t, u) {\n transform = t, untransform = u;\n return rescale();\n };\n}\n\nexport default function continuous() {\n return transformer()(identity, identity);\n}\n","export default function(x) {\n return Math.abs(x = Math.round(x)) >= 1e21\n ? x.toLocaleString(\"en\").replace(/,/g, \"\")\n : x.toString(10);\n}\n\n// Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimalParts(1.23) returns [\"123\", 0].\nexport function formatDecimalParts(x, p) {\n if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\")) < 0) return null; // NaN, ±Infinity\n var i, coefficient = x.slice(0, i);\n\n // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n return [\n coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n +x.slice(i + 1)\n ];\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x) {\n return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN;\n}\n","export default function(grouping, thousands) {\n return function(value, width) {\n var i = value.length,\n t = [],\n j = 0,\n g = grouping[0],\n length = 0;\n\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n\n return t.reverse().join(thousands);\n };\n}\n","export default function(numerals) {\n return function(value) {\n return value.replace(/[0-9]/g, function(i) {\n return numerals[+i];\n });\n };\n}\n","// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n\nexport default function formatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match;\n return new FormatSpecifier({\n fill: match[1],\n align: match[2],\n sign: match[3],\n symbol: match[4],\n zero: match[5],\n width: match[6],\n comma: match[7],\n precision: match[8] && match[8].slice(1),\n trim: match[9],\n type: match[10]\n });\n}\n\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nexport function FormatSpecifier(specifier) {\n this.fill = specifier.fill === undefined ? \" \" : specifier.fill + \"\";\n this.align = specifier.align === undefined ? \">\" : specifier.align + \"\";\n this.sign = specifier.sign === undefined ? \"-\" : specifier.sign + \"\";\n this.symbol = specifier.symbol === undefined ? \"\" : specifier.symbol + \"\";\n this.zero = !!specifier.zero;\n this.width = specifier.width === undefined ? undefined : +specifier.width;\n this.comma = !!specifier.comma;\n this.precision = specifier.precision === undefined ? undefined : +specifier.precision;\n this.trim = !!specifier.trim;\n this.type = specifier.type === undefined ? \"\" : specifier.type + \"\";\n}\n\nFormatSpecifier.prototype.toString = function() {\n return this.fill\n + this.align\n + this.sign\n + this.symbol\n + (this.zero ? \"0\" : \"\")\n + (this.width === undefined ? \"\" : Math.max(1, this.width | 0))\n + (this.comma ? \",\" : \"\")\n + (this.precision === undefined ? \"\" : \".\" + Math.max(0, this.precision | 0))\n + (this.trim ? \"~\" : \"\")\n + this.type;\n};\n","// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\nexport default function(s) {\n out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s[i]) {\n case \".\": i0 = i1 = i; break;\n case \"0\": if (i0 === 0) i0 = i; i1 = i; break;\n default: if (!+s[i]) break out; if (i0 > 0) i0 = 0; break;\n }\n }\n return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport var prefixExponent;\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1],\n i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n n = coefficient.length;\n return i === n ? coefficient\n : i > n ? coefficient + new Array(i - n + 1).join(\"0\")\n : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i)\n : \"0.\" + new Array(1 - i).join(\"0\") + formatDecimalParts(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient\n : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1)\n : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n}\n","import formatDecimal from \"./formatDecimal.js\";\nimport formatPrefixAuto from \"./formatPrefixAuto.js\";\nimport formatRounded from \"./formatRounded.js\";\n\nexport default {\n \"%\": (x, p) => (x * 100).toFixed(p),\n \"b\": (x) => Math.round(x).toString(2),\n \"c\": (x) => x + \"\",\n \"d\": formatDecimal,\n \"e\": (x, p) => x.toExponential(p),\n \"f\": (x, p) => x.toFixed(p),\n \"g\": (x, p) => x.toPrecision(p),\n \"o\": (x) => Math.round(x).toString(8),\n \"p\": (x, p) => formatRounded(x * 100, p),\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": (x) => Math.round(x).toString(16).toUpperCase(),\n \"x\": (x) => Math.round(x).toString(16)\n};\n","export default function(x) {\n return x;\n}\n","import exponent from \"./exponent.js\";\nimport formatGroup from \"./formatGroup.js\";\nimport formatNumerals from \"./formatNumerals.js\";\nimport formatSpecifier from \"./formatSpecifier.js\";\nimport formatTrim from \"./formatTrim.js\";\nimport formatTypes from \"./formatTypes.js\";\nimport {prefixExponent} from \"./formatPrefixAuto.js\";\nimport identity from \"./identity.js\";\n\nvar map = Array.prototype.map,\n prefixes = [\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];\n\nexport default function(locale) {\n var group = locale.grouping === undefined || locale.thousands === undefined ? identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + \"\"),\n currencyPrefix = locale.currency === undefined ? \"\" : locale.currency[0] + \"\",\n currencySuffix = locale.currency === undefined ? \"\" : locale.currency[1] + \"\",\n decimal = locale.decimal === undefined ? \".\" : locale.decimal + \"\",\n numerals = locale.numerals === undefined ? identity : formatNumerals(map.call(locale.numerals, String)),\n percent = locale.percent === undefined ? \"%\" : locale.percent + \"\",\n minus = locale.minus === undefined ? \"−\" : locale.minus + \"\",\n nan = locale.nan === undefined ? \"NaN\" : locale.nan + \"\";\n\n function newFormat(specifier) {\n specifier = formatSpecifier(specifier);\n\n var fill = specifier.fill,\n align = specifier.align,\n sign = specifier.sign,\n symbol = specifier.symbol,\n zero = specifier.zero,\n width = specifier.width,\n comma = specifier.comma,\n precision = specifier.precision,\n trim = specifier.trim,\n type = specifier.type;\n\n // The \"n\" type is an alias for \",g\".\n if (type === \"n\") comma = true, type = \"g\";\n\n // The \"\" type, and any invalid type, is an alias for \".12~g\".\n else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = \"g\";\n\n // If zero fill is specified, padding goes after sign and before digits.\n if (zero || (fill === \"0\" && align === \"=\")) zero = true, fill = \"0\", align = \"=\";\n\n // Compute the prefix and suffix.\n // For SI-prefix, the suffix is lazily computed.\n var prefix = symbol === \"$\" ? currencyPrefix : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\",\n suffix = symbol === \"$\" ? currencySuffix : /[%p]/.test(type) ? percent : \"\";\n\n // What format function should we use?\n // Is this an integer type?\n // Can this type generate exponential notation?\n var formatType = formatTypes[type],\n maybeSuffix = /[defgprs%]/.test(type);\n\n // Set the default precision if not specified,\n // or clamp the specified precision to the supported range.\n // For significant precision, it must be in [1, 21].\n // For fixed precision, it must be in [0, 20].\n precision = precision === undefined ? 6\n : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))\n : Math.max(0, Math.min(20, precision));\n\n function format(value) {\n var valuePrefix = prefix,\n valueSuffix = suffix,\n i, n, c;\n\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value;\n\n // Determine the sign. -0 is not less than 0, but 1 / -0 is!\n var valueNegative = value < 0 || 1 / value < 0;\n\n // Perform the initial formatting.\n value = isNaN(value) ? nan : formatType(Math.abs(value), precision);\n\n // Trim insignificant zeros.\n if (trim) value = formatTrim(value);\n\n // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.\n if (valueNegative && +value === 0 && sign !== \"+\") valueNegative = false;\n\n // Compute the prefix and suffix.\n valuePrefix = (valueNegative ? (sign === \"(\" ? sign : minus) : sign === \"-\" || sign === \"(\" ? \"\" : sign) + valuePrefix;\n valueSuffix = (type === \"s\" ? prefixes[8 + prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign === \"(\" ? \")\" : \"\");\n\n // Break the formatted value into the integer “value” part that can be\n // grouped, and fractional or exponential “suffix” part that is not.\n if (maybeSuffix) {\n i = -1, n = value.length;\n while (++i < n) {\n if (c = value.charCodeAt(i), 48 > c || c > 57) {\n valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n }\n\n // If the fill character is not \"0\", grouping is applied before padding.\n if (comma && !zero) value = group(value, Infinity);\n\n // Compute the padding.\n var length = valuePrefix.length + value.length + valueSuffix.length,\n padding = length < width ? new Array(width - length + 1).join(fill) : \"\";\n\n // If the fill character is \"0\", grouping is applied after padding.\n if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\";\n\n // Reconstruct the final output based on the desired alignment.\n switch (align) {\n case \"<\": value = valuePrefix + value + valueSuffix + padding; break;\n case \"=\": value = valuePrefix + padding + value + valueSuffix; break;\n case \"^\": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;\n default: value = padding + valuePrefix + value + valueSuffix; break;\n }\n\n return numerals(value);\n }\n\n format.toString = function() {\n return specifier + \"\";\n };\n\n return format;\n }\n\n function formatPrefix(specifier, value) {\n var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = \"f\", specifier)),\n e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n k = Math.pow(10, -e),\n prefix = prefixes[8 + e / 3];\n return function(value) {\n return f(k * value) + prefix;\n };\n }\n\n return {\n format: newFormat,\n formatPrefix: formatPrefix\n };\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var format;\nexport var formatPrefix;\n\ndefaultLocale({\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step) {\n return Math.max(0, -exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, max) {\n step = Math.abs(step), max = Math.abs(max) - step;\n return Math.max(0, exponent(max) - exponent(step)) + 1;\n}\n","import {tickStep} from \"d3-array\";\nimport {format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound} from \"d3-format\";\n\nexport default function tickFormat(start, stop, count, specifier) {\n var step = tickStep(start, stop, count),\n precision;\n specifier = formatSpecifier(specifier == null ? \",f\" : specifier);\n switch (specifier.type) {\n case \"s\": {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;\n return formatPrefix(specifier, value);\n }\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\": {\n if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n case \"f\":\n case \"%\": {\n if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n return format(specifier);\n}\n","import {ticks, tickIncrement} from \"d3-array\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport tickFormat from \"./tickFormat.js\";\n\nexport function linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function(count) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function(count, specifier) {\n var d = domain();\n return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier);\n };\n\n scale.nice = function(count) {\n if (count == null) count = 10;\n\n var d = domain();\n var i0 = 0;\n var i1 = d.length - 1;\n var start = d[i0];\n var stop = d[i1];\n var prestep;\n var step;\n var maxIter = 10;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n \n while (maxIter-- > 0) {\n step = tickIncrement(start, stop, count);\n if (step === prestep) {\n d[i0] = start\n d[i1] = stop\n return domain(d);\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n } else {\n break;\n }\n prestep = step;\n }\n\n return scale;\n };\n\n return scale;\n}\n\nexport default function linear() {\n var scale = continuous();\n\n scale.copy = function() {\n return copy(scale, linear());\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n","import {linearish} from \"./linear.js\";\nimport number from \"./number.js\";\n\nexport default function identity(domain) {\n var unknown;\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : x;\n }\n\n scale.invert = scale;\n\n scale.domain = scale.range = function(_) {\n return arguments.length ? (domain = Array.from(_, number), scale) : domain.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return identity(domain).unknown(unknown);\n };\n\n domain = arguments.length ? Array.from(domain, number) : [0, 1];\n\n return linearish(scale);\n}\n","export default function nice(domain, interval) {\n domain = domain.slice();\n\n var i0 = 0,\n i1 = domain.length - 1,\n x0 = domain[i0],\n x1 = domain[i1],\n t;\n\n if (x1 < x0) {\n t = i0, i0 = i1, i1 = t;\n t = x0, x0 = x1, x1 = t;\n }\n\n domain[i0] = interval.floor(x0);\n domain[i1] = interval.ceil(x1);\n return domain;\n}\n","import {ticks} from \"d3-array\";\nimport {format, formatSpecifier} from \"d3-format\";\nimport nice from \"./nice.js\";\nimport {copy, transformer} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\n\nfunction transformLog(x) {\n return Math.log(x);\n}\n\nfunction transformExp(x) {\n return Math.exp(x);\n}\n\nfunction transformLogn(x) {\n return -Math.log(-x);\n}\n\nfunction transformExpn(x) {\n return -Math.exp(-x);\n}\n\nfunction pow10(x) {\n return isFinite(x) ? +(\"1e\" + x) : x < 0 ? 0 : x;\n}\n\nfunction powp(base) {\n return base === 10 ? pow10\n : base === Math.E ? Math.exp\n : x => Math.pow(base, x);\n}\n\nfunction logp(base) {\n return base === Math.E ? Math.log\n : base === 10 && Math.log10\n || base === 2 && Math.log2\n || (base = Math.log(base), x => Math.log(x) / base);\n}\n\nfunction reflect(f) {\n return (x, k) => -f(-x, k);\n}\n\nexport function loggish(transform) {\n const scale = transform(transformLog, transformExp);\n const domain = scale.domain;\n let base = 10;\n let logs;\n let pows;\n\n function rescale() {\n logs = logp(base), pows = powp(base);\n if (domain()[0] < 0) {\n logs = reflect(logs), pows = reflect(pows);\n transform(transformLogn, transformExpn);\n } else {\n transform(transformLog, transformExp);\n }\n return scale;\n }\n\n scale.base = function(_) {\n return arguments.length ? (base = +_, rescale()) : base;\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.ticks = count => {\n const d = domain();\n let u = d[0];\n let v = d[d.length - 1];\n const r = v < u;\n\n if (r) ([u, v] = [v, u]);\n\n let i = logs(u);\n let j = logs(v);\n let k;\n let t;\n const n = count == null ? 10 : +count;\n let z = [];\n\n if (!(base % 1) && j - i < n) {\n i = Math.floor(i), j = Math.ceil(j);\n if (u > 0) for (; i <= j; ++i) {\n for (k = 1; k < base; ++k) {\n t = i < 0 ? k / pows(-i) : k * pows(i);\n if (t < u) continue;\n if (t > v) break;\n z.push(t);\n }\n } else for (; i <= j; ++i) {\n for (k = base - 1; k >= 1; --k) {\n t = i > 0 ? k / pows(-i) : k * pows(i);\n if (t < u) continue;\n if (t > v) break;\n z.push(t);\n }\n }\n if (z.length * 2 < n) z = ticks(u, v, n);\n } else {\n z = ticks(i, j, Math.min(j - i, n)).map(pows);\n }\n return r ? z.reverse() : z;\n };\n\n scale.tickFormat = (count, specifier) => {\n if (count == null) count = 10;\n if (specifier == null) specifier = base === 10 ? \"s\" : \",\";\n if (typeof specifier !== \"function\") {\n if (!(base % 1) && (specifier = formatSpecifier(specifier)).precision == null) specifier.trim = true;\n specifier = format(specifier);\n }\n if (count === Infinity) return specifier;\n const k = Math.max(1, base * count / scale.ticks().length); // TODO fast estimate?\n return d => {\n let i = d / pows(Math.round(logs(d)));\n if (i * base < base - 0.5) i *= base;\n return i <= k ? specifier(d) : \"\";\n };\n };\n\n scale.nice = () => {\n return domain(nice(domain(), {\n floor: x => pows(Math.floor(logs(x))),\n ceil: x => pows(Math.ceil(logs(x)))\n }));\n };\n\n return scale;\n}\n\nexport default function log() {\n const scale = loggish(transformer()).domain([1, 10]);\n scale.copy = () => copy(scale, log()).base(scale.base());\n initRange.apply(scale, arguments);\n return scale;\n}\n","import {linearish} from \"./linear.js\";\nimport {copy, transformer} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\n\nfunction transformSymlog(c) {\n return function(x) {\n return Math.sign(x) * Math.log1p(Math.abs(x / c));\n };\n}\n\nfunction transformSymexp(c) {\n return function(x) {\n return Math.sign(x) * Math.expm1(Math.abs(x)) * c;\n };\n}\n\nexport function symlogish(transform) {\n var c = 1, scale = transform(transformSymlog(c), transformSymexp(c));\n\n scale.constant = function(_) {\n return arguments.length ? transform(transformSymlog(c = +_), transformSymexp(c)) : c;\n };\n\n return linearish(scale);\n}\n\nexport default function symlog() {\n var scale = symlogish(transformer());\n\n scale.copy = function() {\n return copy(scale, symlog()).constant(scale.constant());\n };\n\n return initRange.apply(scale, arguments);\n}\n","import {linearish} from \"./linear.js\";\nimport {copy, identity, transformer} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\n\nfunction transformPow(exponent) {\n return function(x) {\n return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent);\n };\n}\n\nfunction transformSqrt(x) {\n return x < 0 ? -Math.sqrt(-x) : Math.sqrt(x);\n}\n\nfunction transformSquare(x) {\n return x < 0 ? -x * x : x * x;\n}\n\nexport function powish(transform) {\n var scale = transform(identity, identity),\n exponent = 1;\n\n function rescale() {\n return exponent === 1 ? transform(identity, identity)\n : exponent === 0.5 ? transform(transformSqrt, transformSquare)\n : transform(transformPow(exponent), transformPow(1 / exponent));\n }\n\n scale.exponent = function(_) {\n return arguments.length ? (exponent = +_, rescale()) : exponent;\n };\n\n return linearish(scale);\n}\n\nexport default function pow() {\n var scale = powish(transformer());\n\n scale.copy = function() {\n return copy(scale, pow()).exponent(scale.exponent());\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n\nexport function sqrt() {\n return pow.apply(null, arguments).exponent(0.5);\n}\n","import continuous from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport {linearish} from \"./linear.js\";\nimport number from \"./number.js\";\n\nfunction square(x) {\n return Math.sign(x) * x * x;\n}\n\nfunction unsquare(x) {\n return Math.sign(x) * Math.sqrt(Math.abs(x));\n}\n\nexport default function radial() {\n var squared = continuous(),\n range = [0, 1],\n round = false,\n unknown;\n\n function scale(x) {\n var y = unsquare(squared(x));\n return isNaN(y) ? unknown : round ? Math.round(y) : y;\n }\n\n scale.invert = function(y) {\n return squared.invert(square(y));\n };\n\n scale.domain = function(_) {\n return arguments.length ? (squared.domain(_), scale) : squared.domain();\n };\n\n scale.range = function(_) {\n return arguments.length ? (squared.range((range = Array.from(_, number)).map(square)), scale) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return scale.range(_).round(true);\n };\n\n scale.round = function(_) {\n return arguments.length ? (round = !!_, scale) : round;\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (squared.clamp(_), scale) : squared.clamp();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return radial(squared.domain(), range)\n .round(round)\n .clamp(squared.clamp())\n .unknown(unknown);\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n","import {ascending, bisect, quantileSorted as threshold} from \"d3-array\";\nimport {initRange} from \"./init.js\";\n\nexport default function quantile() {\n var domain = [],\n range = [],\n thresholds = [],\n unknown;\n\n function rescale() {\n var i = 0, n = Math.max(1, range.length);\n thresholds = new Array(n - 1);\n while (++i < n) thresholds[i - 1] = threshold(domain, i / n);\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : range[bisect(thresholds, x)];\n }\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return i < 0 ? [NaN, NaN] : [\n i > 0 ? thresholds[i - 1] : domain[0],\n i < thresholds.length ? thresholds[i] : domain[domain.length - 1]\n ];\n };\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [];\n for (let d of _) if (d != null && !isNaN(d = +d)) domain.push(d);\n domain.sort(ascending);\n return rescale();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.quantiles = function() {\n return thresholds.slice();\n };\n\n scale.copy = function() {\n return quantile()\n .domain(domain)\n .range(range)\n .unknown(unknown);\n };\n\n return initRange.apply(scale, arguments);\n}\n","import {bisect} from \"d3-array\";\nimport {linearish} from \"./linear.js\";\nimport {initRange} from \"./init.js\";\n\nexport default function quantize() {\n var x0 = 0,\n x1 = 1,\n n = 1,\n domain = [0.5],\n range = [0, 1],\n unknown;\n\n function scale(x) {\n return x != null && x <= x ? range[bisect(domain, x, 0, n)] : unknown;\n }\n\n function rescale() {\n var i = -1;\n domain = new Array(n);\n while (++i < n) domain[i] = ((i + 1) * x1 - (i - n) * x0) / (n + 1);\n return scale;\n }\n\n scale.domain = function(_) {\n return arguments.length ? ([x0, x1] = _, x0 = +x0, x1 = +x1, rescale()) : [x0, x1];\n };\n\n scale.range = function(_) {\n return arguments.length ? (n = (range = Array.from(_)).length - 1, rescale()) : range.slice();\n };\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return i < 0 ? [NaN, NaN]\n : i < 1 ? [x0, domain[0]]\n : i >= n ? [domain[n - 1], x1]\n : [domain[i - 1], domain[i]];\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : scale;\n };\n\n scale.thresholds = function() {\n return domain.slice();\n };\n\n scale.copy = function() {\n return quantize()\n .domain([x0, x1])\n .range(range)\n .unknown(unknown);\n };\n\n return initRange.apply(linearish(scale), arguments);\n}\n","import {bisect} from \"d3-array\";\nimport {initRange} from \"./init.js\";\n\nexport default function threshold() {\n var domain = [0.5],\n range = [0, 1],\n unknown,\n n = 1;\n\n function scale(x) {\n return x != null && x <= x ? range[bisect(domain, x, 0, n)] : unknown;\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_), n = Math.min(domain.length, range.length - 1), scale) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), n = Math.min(domain.length, range.length - 1), scale) : range.slice();\n };\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return [domain[i - 1], domain[i]];\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return threshold()\n .domain(domain)\n .range(range)\n .unknown(unknown);\n };\n\n return initRange.apply(scale, arguments);\n}\n","const t0 = new Date, t1 = new Date;\n\nexport function timeInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date;\n }\n\n interval.floor = (date) => {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = (date) => {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = (date) => {\n const d0 = interval(date), d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = (date, step) => {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = (start, stop, step) => {\n const range = [];\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n let previous;\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = (test) => {\n return timeInterval((date) => {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, (date, step) => {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = (start, end) => {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = (step) => {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? (d) => field(d) % step === 0\n : (d) => interval.count(0, d) % step === 0);\n };\n }\n\n return interval;\n}\n","import {timeInterval} from \"./interval.js\";\n\nexport const millisecond = timeInterval(() => {\n // noop\n}, (date, step) => {\n date.setTime(+date + step);\n}, (start, end) => {\n return end - start;\n});\n\n// An optimized implementation for this simple case.\nmillisecond.every = (k) => {\n k = Math.floor(k);\n if (!isFinite(k) || !(k > 0)) return null;\n if (!(k > 1)) return millisecond;\n return timeInterval((date) => {\n date.setTime(Math.floor(date / k) * k);\n }, (date, step) => {\n date.setTime(+date + step * k);\n }, (start, end) => {\n return (end - start) / k;\n });\n};\n\nexport const milliseconds = millisecond.range;\n","export const durationSecond = 1000;\nexport const durationMinute = durationSecond * 60;\nexport const durationHour = durationMinute * 60;\nexport const durationDay = durationHour * 24;\nexport const durationWeek = durationDay * 7;\nexport const durationMonth = durationDay * 30;\nexport const durationYear = durationDay * 365;\n","import {timeInterval} from \"./interval.js\";\nimport {durationSecond} from \"./duration.js\";\n\nexport const second = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds());\n}, (date, step) => {\n date.setTime(+date + step * durationSecond);\n}, (start, end) => {\n return (end - start) / durationSecond;\n}, (date) => {\n return date.getUTCSeconds();\n});\n\nexport const seconds = second.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationMinute, durationSecond} from \"./duration.js\";\n\nexport const timeMinute = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond);\n}, (date, step) => {\n date.setTime(+date + step * durationMinute);\n}, (start, end) => {\n return (end - start) / durationMinute;\n}, (date) => {\n return date.getMinutes();\n});\n\nexport const timeMinutes = timeMinute.range;\n\nexport const utcMinute = timeInterval((date) => {\n date.setUTCSeconds(0, 0);\n}, (date, step) => {\n date.setTime(+date + step * durationMinute);\n}, (start, end) => {\n return (end - start) / durationMinute;\n}, (date) => {\n return date.getUTCMinutes();\n});\n\nexport const utcMinutes = utcMinute.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationHour, durationMinute, durationSecond} from \"./duration.js\";\n\nexport const timeHour = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond - date.getMinutes() * durationMinute);\n}, (date, step) => {\n date.setTime(+date + step * durationHour);\n}, (start, end) => {\n return (end - start) / durationHour;\n}, (date) => {\n return date.getHours();\n});\n\nexport const timeHours = timeHour.range;\n\nexport const utcHour = timeInterval((date) => {\n date.setUTCMinutes(0, 0, 0);\n}, (date, step) => {\n date.setTime(+date + step * durationHour);\n}, (start, end) => {\n return (end - start) / durationHour;\n}, (date) => {\n return date.getUTCHours();\n});\n\nexport const utcHours = utcHour.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationDay, durationMinute} from \"./duration.js\";\n\nexport const timeDay = timeInterval(\n date => date.setHours(0, 0, 0, 0),\n (date, step) => date.setDate(date.getDate() + step),\n (start, end) => (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay,\n date => date.getDate() - 1\n);\n\nexport const timeDays = timeDay.range;\n\nexport const utcDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return date.getUTCDate() - 1;\n});\n\nexport const utcDays = utcDay.range;\n\nexport const unixDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return Math.floor(date / durationDay);\n});\n\nexport const unixDays = unixDay.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationMinute, durationWeek} from \"./duration.js\";\n\nfunction timeWeekday(i) {\n return timeInterval((date) => {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setDate(date.getDate() + step * 7);\n }, (start, end) => {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n}\n\nexport const timeSunday = timeWeekday(0);\nexport const timeMonday = timeWeekday(1);\nexport const timeTuesday = timeWeekday(2);\nexport const timeWednesday = timeWeekday(3);\nexport const timeThursday = timeWeekday(4);\nexport const timeFriday = timeWeekday(5);\nexport const timeSaturday = timeWeekday(6);\n\nexport const timeSundays = timeSunday.range;\nexport const timeMondays = timeMonday.range;\nexport const timeTuesdays = timeTuesday.range;\nexport const timeWednesdays = timeWednesday.range;\nexport const timeThursdays = timeThursday.range;\nexport const timeFridays = timeFriday.range;\nexport const timeSaturdays = timeSaturday.range;\n\nfunction utcWeekday(i) {\n return timeInterval((date) => {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, (start, end) => {\n return (end - start) / durationWeek;\n });\n}\n\nexport const utcSunday = utcWeekday(0);\nexport const utcMonday = utcWeekday(1);\nexport const utcTuesday = utcWeekday(2);\nexport const utcWednesday = utcWeekday(3);\nexport const utcThursday = utcWeekday(4);\nexport const utcFriday = utcWeekday(5);\nexport const utcSaturday = utcWeekday(6);\n\nexport const utcSundays = utcSunday.range;\nexport const utcMondays = utcMonday.range;\nexport const utcTuesdays = utcTuesday.range;\nexport const utcWednesdays = utcWednesday.range;\nexport const utcThursdays = utcThursday.range;\nexport const utcFridays = utcFriday.range;\nexport const utcSaturdays = utcSaturday.range;\n","import {timeInterval} from \"./interval.js\";\n\nexport const timeMonth = timeInterval((date) => {\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setMonth(date.getMonth() + step);\n}, (start, end) => {\n return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;\n}, (date) => {\n return date.getMonth();\n});\n\nexport const timeMonths = timeMonth.range;\n\nexport const utcMonth = timeInterval((date) => {\n date.setUTCDate(1);\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCMonth(date.getUTCMonth() + step);\n}, (start, end) => {\n return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;\n}, (date) => {\n return date.getUTCMonth();\n});\n\nexport const utcMonths = utcMonth.range;\n","import {timeInterval} from \"./interval.js\";\n\nexport const timeYear = timeInterval((date) => {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setFullYear(date.getFullYear() + step);\n}, (start, end) => {\n return end.getFullYear() - start.getFullYear();\n}, (date) => {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\ntimeYear.every = (k) => {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : timeInterval((date) => {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nexport const timeYears = timeYear.range;\n\nexport const utcYear = timeInterval((date) => {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, (start, end) => {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, (date) => {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = (k) => {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : timeInterval((date) => {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nexport const utcYears = utcYear.range;\n","import {bisector, tickStep} from \"d3-array\";\nimport {durationDay, durationHour, durationMinute, durationMonth, durationSecond, durationWeek, durationYear} from \"./duration.js\";\nimport {millisecond} from \"./millisecond.js\";\nimport {second} from \"./second.js\";\nimport {timeMinute, utcMinute} from \"./minute.js\";\nimport {timeHour, utcHour} from \"./hour.js\";\nimport {timeDay, unixDay} from \"./day.js\";\nimport {timeSunday, utcSunday} from \"./week.js\";\nimport {timeMonth, utcMonth} from \"./month.js\";\nimport {timeYear, utcYear} from \"./year.js\";\n\nfunction ticker(year, month, week, day, hour, minute) {\n\n const tickIntervals = [\n [second, 1, durationSecond],\n [second, 5, 5 * durationSecond],\n [second, 15, 15 * durationSecond],\n [second, 30, 30 * durationSecond],\n [minute, 1, durationMinute],\n [minute, 5, 5 * durationMinute],\n [minute, 15, 15 * durationMinute],\n [minute, 30, 30 * durationMinute],\n [ hour, 1, durationHour ],\n [ hour, 3, 3 * durationHour ],\n [ hour, 6, 6 * durationHour ],\n [ hour, 12, 12 * durationHour ],\n [ day, 1, durationDay ],\n [ day, 2, 2 * durationDay ],\n [ week, 1, durationWeek ],\n [ month, 1, durationMonth ],\n [ month, 3, 3 * durationMonth ],\n [ year, 1, durationYear ]\n ];\n\n function ticks(start, stop, count) {\n const reverse = stop < start;\n if (reverse) [start, stop] = [stop, start];\n const interval = count && typeof count.range === \"function\" ? count : tickInterval(start, stop, count);\n const ticks = interval ? interval.range(start, +stop + 1) : []; // inclusive stop\n return reverse ? ticks.reverse() : ticks;\n }\n\n function tickInterval(start, stop, count) {\n const target = Math.abs(stop - start) / count;\n const i = bisector(([,, step]) => step).right(tickIntervals, target);\n if (i === tickIntervals.length) return year.every(tickStep(start / durationYear, stop / durationYear, count));\n if (i === 0) return millisecond.every(Math.max(tickStep(start, stop, count), 1));\n const [t, step] = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];\n return t.every(step);\n }\n\n return [ticks, tickInterval];\n}\n\nconst [utcTicks, utcTickInterval] = ticker(utcYear, utcMonth, utcSunday, unixDay, utcHour, utcMinute);\nconst [timeTicks, timeTickInterval] = ticker(timeYear, timeMonth, timeSunday, timeDay, timeHour, timeMinute);\n\nexport {utcTicks, utcTickInterval, timeTicks, timeTickInterval};\n","import {\n timeDay,\n timeSunday,\n timeMonday,\n timeThursday,\n timeYear,\n utcDay,\n utcSunday,\n utcMonday,\n utcThursday,\n utcYear\n} from \"d3-time\";\n\nfunction localDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);\n date.setFullYear(d.y);\n return date;\n }\n return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);\n}\n\nfunction utcDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));\n date.setUTCFullYear(d.y);\n return date;\n }\n return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));\n}\n\nfunction newDate(y, m, d) {\n return {y: y, m: m, d: d, H: 0, M: 0, S: 0, L: 0};\n}\n\nexport default function formatLocale(locale) {\n var locale_dateTime = locale.dateTime,\n locale_date = locale.date,\n locale_time = locale.time,\n locale_periods = locale.periods,\n locale_weekdays = locale.days,\n locale_shortWeekdays = locale.shortDays,\n locale_months = locale.months,\n locale_shortMonths = locale.shortMonths;\n\n var periodRe = formatRe(locale_periods),\n periodLookup = formatLookup(locale_periods),\n weekdayRe = formatRe(locale_weekdays),\n weekdayLookup = formatLookup(locale_weekdays),\n shortWeekdayRe = formatRe(locale_shortWeekdays),\n shortWeekdayLookup = formatLookup(locale_shortWeekdays),\n monthRe = formatRe(locale_months),\n monthLookup = formatLookup(locale_months),\n shortMonthRe = formatRe(locale_shortMonths),\n shortMonthLookup = formatLookup(locale_shortMonths);\n\n var formats = {\n \"a\": formatShortWeekday,\n \"A\": formatWeekday,\n \"b\": formatShortMonth,\n \"B\": formatMonth,\n \"c\": null,\n \"d\": formatDayOfMonth,\n \"e\": formatDayOfMonth,\n \"f\": formatMicroseconds,\n \"g\": formatYearISO,\n \"G\": formatFullYearISO,\n \"H\": formatHour24,\n \"I\": formatHour12,\n \"j\": formatDayOfYear,\n \"L\": formatMilliseconds,\n \"m\": formatMonthNumber,\n \"M\": formatMinutes,\n \"p\": formatPeriod,\n \"q\": formatQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatSeconds,\n \"u\": formatWeekdayNumberMonday,\n \"U\": formatWeekNumberSunday,\n \"V\": formatWeekNumberISO,\n \"w\": formatWeekdayNumberSunday,\n \"W\": formatWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatYear,\n \"Y\": formatFullYear,\n \"Z\": formatZone,\n \"%\": formatLiteralPercent\n };\n\n var utcFormats = {\n \"a\": formatUTCShortWeekday,\n \"A\": formatUTCWeekday,\n \"b\": formatUTCShortMonth,\n \"B\": formatUTCMonth,\n \"c\": null,\n \"d\": formatUTCDayOfMonth,\n \"e\": formatUTCDayOfMonth,\n \"f\": formatUTCMicroseconds,\n \"g\": formatUTCYearISO,\n \"G\": formatUTCFullYearISO,\n \"H\": formatUTCHour24,\n \"I\": formatUTCHour12,\n \"j\": formatUTCDayOfYear,\n \"L\": formatUTCMilliseconds,\n \"m\": formatUTCMonthNumber,\n \"M\": formatUTCMinutes,\n \"p\": formatUTCPeriod,\n \"q\": formatUTCQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatUTCSeconds,\n \"u\": formatUTCWeekdayNumberMonday,\n \"U\": formatUTCWeekNumberSunday,\n \"V\": formatUTCWeekNumberISO,\n \"w\": formatUTCWeekdayNumberSunday,\n \"W\": formatUTCWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatUTCYear,\n \"Y\": formatUTCFullYear,\n \"Z\": formatUTCZone,\n \"%\": formatLiteralPercent\n };\n\n var parses = {\n \"a\": parseShortWeekday,\n \"A\": parseWeekday,\n \"b\": parseShortMonth,\n \"B\": parseMonth,\n \"c\": parseLocaleDateTime,\n \"d\": parseDayOfMonth,\n \"e\": parseDayOfMonth,\n \"f\": parseMicroseconds,\n \"g\": parseYear,\n \"G\": parseFullYear,\n \"H\": parseHour24,\n \"I\": parseHour24,\n \"j\": parseDayOfYear,\n \"L\": parseMilliseconds,\n \"m\": parseMonthNumber,\n \"M\": parseMinutes,\n \"p\": parsePeriod,\n \"q\": parseQuarter,\n \"Q\": parseUnixTimestamp,\n \"s\": parseUnixTimestampSeconds,\n \"S\": parseSeconds,\n \"u\": parseWeekdayNumberMonday,\n \"U\": parseWeekNumberSunday,\n \"V\": parseWeekNumberISO,\n \"w\": parseWeekdayNumberSunday,\n \"W\": parseWeekNumberMonday,\n \"x\": parseLocaleDate,\n \"X\": parseLocaleTime,\n \"y\": parseYear,\n \"Y\": parseFullYear,\n \"Z\": parseZone,\n \"%\": parseLiteralPercent\n };\n\n // These recursive directive definitions must be deferred.\n formats.x = newFormat(locale_date, formats);\n formats.X = newFormat(locale_time, formats);\n formats.c = newFormat(locale_dateTime, formats);\n utcFormats.x = newFormat(locale_date, utcFormats);\n utcFormats.X = newFormat(locale_time, utcFormats);\n utcFormats.c = newFormat(locale_dateTime, utcFormats);\n\n function newFormat(specifier, formats) {\n return function(date) {\n var string = [],\n i = -1,\n j = 0,\n n = specifier.length,\n c,\n pad,\n format;\n\n if (!(date instanceof Date)) date = new Date(+date);\n\n while (++i < n) {\n if (specifier.charCodeAt(i) === 37) {\n string.push(specifier.slice(j, i));\n if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);\n else pad = c === \"e\" ? \" \" : \"0\";\n if (format = formats[c]) c = format(date, pad);\n string.push(c);\n j = i + 1;\n }\n }\n\n string.push(specifier.slice(j, i));\n return string.join(\"\");\n };\n }\n\n function newParse(specifier, Z) {\n return function(string) {\n var d = newDate(1900, undefined, 1),\n i = parseSpecifier(d, specifier, string += \"\", 0),\n week, day;\n if (i != string.length) return null;\n\n // If a UNIX timestamp is specified, return it.\n if (\"Q\" in d) return new Date(d.Q);\n if (\"s\" in d) return new Date(d.s * 1000 + (\"L\" in d ? d.L : 0));\n\n // If this is utcParse, never use the local timezone.\n if (Z && !(\"Z\" in d)) d.Z = 0;\n\n // The am-pm flag is 0 for AM, and 1 for PM.\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n\n // If the month was not specified, inherit from the quarter.\n if (d.m === undefined) d.m = \"q\" in d ? d.q : 0;\n\n // Convert day-of-week and week-of-year to day-of-year.\n if (\"V\" in d) {\n if (d.V < 1 || d.V > 53) return null;\n if (!(\"w\" in d)) d.w = 1;\n if (\"Z\" in d) {\n week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();\n week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);\n week = utcDay.offset(week, (d.V - 1) * 7);\n d.y = week.getUTCFullYear();\n d.m = week.getUTCMonth();\n d.d = week.getUTCDate() + (d.w + 6) % 7;\n } else {\n week = localDate(newDate(d.y, 0, 1)), day = week.getDay();\n week = day > 4 || day === 0 ? timeMonday.ceil(week) : timeMonday(week);\n week = timeDay.offset(week, (d.V - 1) * 7);\n d.y = week.getFullYear();\n d.m = week.getMonth();\n d.d = week.getDate() + (d.w + 6) % 7;\n }\n } else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"u\" in d ? d.u % 7 : \"W\" in d ? 1 : 0;\n day = \"Z\" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();\n d.m = 0;\n d.d = \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;\n }\n\n // If a time zone is specified, all fields are interpreted as UTC and then\n // offset according to the specified time zone.\n if (\"Z\" in d) {\n d.H += d.Z / 100 | 0;\n d.M += d.Z % 100;\n return utcDate(d);\n }\n\n // Otherwise, all fields are in local time.\n return localDate(d);\n };\n }\n\n function parseSpecifier(d, specifier, string, j) {\n var i = 0,\n n = specifier.length,\n m = string.length,\n c,\n parse;\n\n while (i < n) {\n if (j >= m) return -1;\n c = specifier.charCodeAt(i++);\n if (c === 37) {\n c = specifier.charAt(i++);\n parse = parses[c in pads ? specifier.charAt(i++) : c];\n if (!parse || ((j = parse(d, string, j)) < 0)) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n\n return j;\n }\n\n function parsePeriod(d, string, i) {\n var n = periodRe.exec(string.slice(i));\n return n ? (d.p = periodLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortWeekday(d, string, i) {\n var n = shortWeekdayRe.exec(string.slice(i));\n return n ? (d.w = shortWeekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseWeekday(d, string, i) {\n var n = weekdayRe.exec(string.slice(i));\n return n ? (d.w = weekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortMonth(d, string, i) {\n var n = shortMonthRe.exec(string.slice(i));\n return n ? (d.m = shortMonthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseMonth(d, string, i) {\n var n = monthRe.exec(string.slice(i));\n return n ? (d.m = monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseLocaleDateTime(d, string, i) {\n return parseSpecifier(d, locale_dateTime, string, i);\n }\n\n function parseLocaleDate(d, string, i) {\n return parseSpecifier(d, locale_date, string, i);\n }\n\n function parseLocaleTime(d, string, i) {\n return parseSpecifier(d, locale_time, string, i);\n }\n\n function formatShortWeekday(d) {\n return locale_shortWeekdays[d.getDay()];\n }\n\n function formatWeekday(d) {\n return locale_weekdays[d.getDay()];\n }\n\n function formatShortMonth(d) {\n return locale_shortMonths[d.getMonth()];\n }\n\n function formatMonth(d) {\n return locale_months[d.getMonth()];\n }\n\n function formatPeriod(d) {\n return locale_periods[+(d.getHours() >= 12)];\n }\n\n function formatQuarter(d) {\n return 1 + ~~(d.getMonth() / 3);\n }\n\n function formatUTCShortWeekday(d) {\n return locale_shortWeekdays[d.getUTCDay()];\n }\n\n function formatUTCWeekday(d) {\n return locale_weekdays[d.getUTCDay()];\n }\n\n function formatUTCShortMonth(d) {\n return locale_shortMonths[d.getUTCMonth()];\n }\n\n function formatUTCMonth(d) {\n return locale_months[d.getUTCMonth()];\n }\n\n function formatUTCPeriod(d) {\n return locale_periods[+(d.getUTCHours() >= 12)];\n }\n\n function formatUTCQuarter(d) {\n return 1 + ~~(d.getUTCMonth() / 3);\n }\n\n return {\n format: function(specifier) {\n var f = newFormat(specifier += \"\", formats);\n f.toString = function() { return specifier; };\n return f;\n },\n parse: function(specifier) {\n var p = newParse(specifier += \"\", false);\n p.toString = function() { return specifier; };\n return p;\n },\n utcFormat: function(specifier) {\n var f = newFormat(specifier += \"\", utcFormats);\n f.toString = function() { return specifier; };\n return f;\n },\n utcParse: function(specifier) {\n var p = newParse(specifier += \"\", true);\n p.toString = function() { return specifier; };\n return p;\n }\n };\n}\n\nvar pads = {\"-\": \"\", \"_\": \" \", \"0\": \"0\"},\n numberRe = /^\\s*\\d+/, // note: ignores next directive\n percentRe = /^%/,\n requoteRe = /[\\\\^$*+?|[\\]().{}]/g;\n\nfunction pad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\",\n string = (sign ? -value : value) + \"\",\n length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n}\n\nfunction requote(s) {\n return s.replace(requoteRe, \"\\\\$&\");\n}\n\nfunction formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(requote).join(\"|\") + \")\", \"i\");\n}\n\nfunction formatLookup(names) {\n return new Map(names.map((name, i) => [name.toLowerCase(), i]));\n}\n\nfunction parseWeekdayNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.w = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekdayNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.u = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.U = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberISO(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.V = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.W = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseFullYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 4));\n return n ? (d.y = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;\n}\n\nfunction parseZone(d, string, i) {\n var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(string.slice(i, i + 6));\n return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), i + n[0].length) : -1;\n}\n\nfunction parseQuarter(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.q = n[0] * 3 - 3, i + n[0].length) : -1;\n}\n\nfunction parseMonthNumber(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.m = n[0] - 1, i + n[0].length) : -1;\n}\n\nfunction parseDayOfMonth(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseDayOfYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseHour24(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.H = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMinutes(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.M = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.S = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMilliseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.L = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMicroseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 6));\n return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;\n}\n\nfunction parseLiteralPercent(d, string, i) {\n var n = percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n}\n\nfunction parseUnixTimestamp(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseUnixTimestampSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.s = +n[0], i + n[0].length) : -1;\n}\n\nfunction formatDayOfMonth(d, p) {\n return pad(d.getDate(), p, 2);\n}\n\nfunction formatHour24(d, p) {\n return pad(d.getHours(), p, 2);\n}\n\nfunction formatHour12(d, p) {\n return pad(d.getHours() % 12 || 12, p, 2);\n}\n\nfunction formatDayOfYear(d, p) {\n return pad(1 + timeDay.count(timeYear(d), d), p, 3);\n}\n\nfunction formatMilliseconds(d, p) {\n return pad(d.getMilliseconds(), p, 3);\n}\n\nfunction formatMicroseconds(d, p) {\n return formatMilliseconds(d, p) + \"000\";\n}\n\nfunction formatMonthNumber(d, p) {\n return pad(d.getMonth() + 1, p, 2);\n}\n\nfunction formatMinutes(d, p) {\n return pad(d.getMinutes(), p, 2);\n}\n\nfunction formatSeconds(d, p) {\n return pad(d.getSeconds(), p, 2);\n}\n\nfunction formatWeekdayNumberMonday(d) {\n var day = d.getDay();\n return day === 0 ? 7 : day;\n}\n\nfunction formatWeekNumberSunday(d, p) {\n return pad(timeSunday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction dISO(d) {\n var day = d.getDay();\n return (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n}\n\nfunction formatWeekNumberISO(d, p) {\n d = dISO(d);\n return pad(timeThursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);\n}\n\nfunction formatWeekdayNumberSunday(d) {\n return d.getDay();\n}\n\nfunction formatWeekNumberMonday(d, p) {\n return pad(timeMonday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction formatYear(d, p) {\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatYearISO(d, p) {\n d = dISO(d);\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatFullYear(d, p) {\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatFullYearISO(d, p) {\n var day = d.getDay();\n d = (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatZone(d) {\n var z = d.getTimezoneOffset();\n return (z > 0 ? \"-\" : (z *= -1, \"+\"))\n + pad(z / 60 | 0, \"0\", 2)\n + pad(z % 60, \"0\", 2);\n}\n\nfunction formatUTCDayOfMonth(d, p) {\n return pad(d.getUTCDate(), p, 2);\n}\n\nfunction formatUTCHour24(d, p) {\n return pad(d.getUTCHours(), p, 2);\n}\n\nfunction formatUTCHour12(d, p) {\n return pad(d.getUTCHours() % 12 || 12, p, 2);\n}\n\nfunction formatUTCDayOfYear(d, p) {\n return pad(1 + utcDay.count(utcYear(d), d), p, 3);\n}\n\nfunction formatUTCMilliseconds(d, p) {\n return pad(d.getUTCMilliseconds(), p, 3);\n}\n\nfunction formatUTCMicroseconds(d, p) {\n return formatUTCMilliseconds(d, p) + \"000\";\n}\n\nfunction formatUTCMonthNumber(d, p) {\n return pad(d.getUTCMonth() + 1, p, 2);\n}\n\nfunction formatUTCMinutes(d, p) {\n return pad(d.getUTCMinutes(), p, 2);\n}\n\nfunction formatUTCSeconds(d, p) {\n return pad(d.getUTCSeconds(), p, 2);\n}\n\nfunction formatUTCWeekdayNumberMonday(d) {\n var dow = d.getUTCDay();\n return dow === 0 ? 7 : dow;\n}\n\nfunction formatUTCWeekNumberSunday(d, p) {\n return pad(utcSunday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction UTCdISO(d) {\n var day = d.getUTCDay();\n return (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n}\n\nfunction formatUTCWeekNumberISO(d, p) {\n d = UTCdISO(d);\n return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);\n}\n\nfunction formatUTCWeekdayNumberSunday(d) {\n return d.getUTCDay();\n}\n\nfunction formatUTCWeekNumberMonday(d, p) {\n return pad(utcMonday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction formatUTCYear(d, p) {\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCYearISO(d, p) {\n d = UTCdISO(d);\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCFullYear(d, p) {\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCFullYearISO(d, p) {\n var day = d.getUTCDay();\n d = (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCZone() {\n return \"+0000\";\n}\n\nfunction formatLiteralPercent() {\n return \"%\";\n}\n\nfunction formatUnixTimestamp(d) {\n return +d;\n}\n\nfunction formatUnixTimestampSeconds(d) {\n return Math.floor(+d / 1000);\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var timeFormat;\nexport var timeParse;\nexport var utcFormat;\nexport var utcParse;\n\ndefaultLocale({\n dateTime: \"%x, %X\",\n date: \"%-m/%-d/%Y\",\n time: \"%-I:%M:%S %p\",\n periods: [\"AM\", \"PM\"],\n days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n shortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n timeFormat = locale.format;\n timeParse = locale.parse;\n utcFormat = locale.utcFormat;\n utcParse = locale.utcParse;\n return locale;\n}\n","import {timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeTicks, timeTickInterval} from \"d3-time\";\nimport {timeFormat} from \"d3-time-format\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport nice from \"./nice.js\";\n\nfunction date(t) {\n return new Date(t);\n}\n\nfunction number(t) {\n return t instanceof Date ? +t : +new Date(+t);\n}\n\nexport function calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format) {\n var scale = continuous(),\n invert = scale.invert,\n domain = scale.domain;\n\n var formatMillisecond = format(\".%L\"),\n formatSecond = format(\":%S\"),\n formatMinute = format(\"%I:%M\"),\n formatHour = format(\"%I %p\"),\n formatDay = format(\"%a %d\"),\n formatWeek = format(\"%b %d\"),\n formatMonth = format(\"%B\"),\n formatYear = format(\"%Y\");\n\n function tickFormat(date) {\n return (second(date) < date ? formatMillisecond\n : minute(date) < date ? formatSecond\n : hour(date) < date ? formatMinute\n : day(date) < date ? formatHour\n : month(date) < date ? (week(date) < date ? formatDay : formatWeek)\n : year(date) < date ? formatMonth\n : formatYear)(date);\n }\n\n scale.invert = function(y) {\n return new Date(invert(y));\n };\n\n scale.domain = function(_) {\n return arguments.length ? domain(Array.from(_, number)) : domain().map(date);\n };\n\n scale.ticks = function(interval) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], interval == null ? 10 : interval);\n };\n\n scale.tickFormat = function(count, specifier) {\n return specifier == null ? tickFormat : format(specifier);\n };\n\n scale.nice = function(interval) {\n var d = domain();\n if (!interval || typeof interval.range !== \"function\") interval = tickInterval(d[0], d[d.length - 1], interval == null ? 10 : interval);\n return interval ? domain(nice(d, interval)) : scale;\n };\n\n scale.copy = function() {\n return copy(scale, calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format));\n };\n\n return scale;\n}\n\nexport default function time() {\n return initRange.apply(calendar(timeTicks, timeTickInterval, timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]), arguments);\n}\n","import {utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute, utcSecond, utcTicks, utcTickInterval} from \"d3-time\";\nimport {utcFormat} from \"d3-time-format\";\nimport {calendar} from \"./time.js\";\nimport {initRange} from \"./init.js\";\n\nexport default function utcTime() {\n return initRange.apply(calendar(utcTicks, utcTickInterval, utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute, utcSecond, utcFormat).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]), arguments);\n}\n","import {interpolate, interpolateRound} from \"d3-interpolate\";\nimport {identity} from \"./continuous.js\";\nimport {initInterpolator} from \"./init.js\";\nimport {linearish} from \"./linear.js\";\nimport {loggish} from \"./log.js\";\nimport {symlogish} from \"./symlog.js\";\nimport {powish} from \"./pow.js\";\n\nfunction transformer() {\n var x0 = 0,\n x1 = 1,\n t0,\n t1,\n k10,\n transform,\n interpolator = identity,\n clamp = false,\n unknown;\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : interpolator(k10 === 0 ? 0.5 : (x = (transform(x) - t0) * k10, clamp ? Math.max(0, Math.min(1, x)) : x));\n }\n\n scale.domain = function(_) {\n return arguments.length ? ([x0, x1] = _, t0 = transform(x0 = +x0), t1 = transform(x1 = +x1), k10 = t0 === t1 ? 0 : 1 / (t1 - t0), scale) : [x0, x1];\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = !!_, scale) : clamp;\n };\n\n scale.interpolator = function(_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n\n function range(interpolate) {\n return function(_) {\n var r0, r1;\n return arguments.length ? ([r0, r1] = _, interpolator = interpolate(r0, r1), scale) : [interpolator(0), interpolator(1)];\n };\n }\n\n scale.range = range(interpolate);\n\n scale.rangeRound = range(interpolateRound);\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t) {\n transform = t, t0 = t(x0), t1 = t(x1), k10 = t0 === t1 ? 0 : 1 / (t1 - t0);\n return scale;\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .interpolator(source.interpolator())\n .clamp(source.clamp())\n .unknown(source.unknown());\n}\n\nexport default function sequential() {\n var scale = linearish(transformer()(identity));\n\n scale.copy = function() {\n return copy(scale, sequential());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function sequentialLog() {\n var scale = loggish(transformer()).domain([1, 10]);\n\n scale.copy = function() {\n return copy(scale, sequentialLog()).base(scale.base());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function sequentialSymlog() {\n var scale = symlogish(transformer());\n\n scale.copy = function() {\n return copy(scale, sequentialSymlog()).constant(scale.constant());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function sequentialPow() {\n var scale = powish(transformer());\n\n scale.copy = function() {\n return copy(scale, sequentialPow()).exponent(scale.exponent());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function sequentialSqrt() {\n return sequentialPow.apply(null, arguments).exponent(0.5);\n}\n","import {ascending, bisect, quantile} from \"d3-array\";\nimport {identity} from \"./continuous.js\";\nimport {initInterpolator} from \"./init.js\";\n\nexport default function sequentialQuantile() {\n var domain = [],\n interpolator = identity;\n\n function scale(x) {\n if (x != null && !isNaN(x = +x)) return interpolator((bisect(domain, x, 1) - 1) / (domain.length - 1));\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [];\n for (let d of _) if (d != null && !isNaN(d = +d)) domain.push(d);\n domain.sort(ascending);\n return scale;\n };\n\n scale.interpolator = function(_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n\n scale.range = function() {\n return domain.map((d, i) => interpolator(i / (domain.length - 1)));\n };\n\n scale.quantiles = function(n) {\n return Array.from({length: n + 1}, (_, i) => quantile(domain, i / n));\n };\n\n scale.copy = function() {\n return sequentialQuantile(interpolator).domain(domain);\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n","import {interpolate, interpolateRound, piecewise} from \"d3-interpolate\";\nimport {identity} from \"./continuous.js\";\nimport {initInterpolator} from \"./init.js\";\nimport {linearish} from \"./linear.js\";\nimport {loggish} from \"./log.js\";\nimport {copy} from \"./sequential.js\";\nimport {symlogish} from \"./symlog.js\";\nimport {powish} from \"./pow.js\";\n\nfunction transformer() {\n var x0 = 0,\n x1 = 0.5,\n x2 = 1,\n s = 1,\n t0,\n t1,\n t2,\n k10,\n k21,\n interpolator = identity,\n transform,\n clamp = false,\n unknown;\n\n function scale(x) {\n return isNaN(x = +x) ? unknown : (x = 0.5 + ((x = +transform(x)) - t1) * (s * x < s * t1 ? k10 : k21), interpolator(clamp ? Math.max(0, Math.min(1, x)) : x));\n }\n\n scale.domain = function(_) {\n return arguments.length ? ([x0, x1, x2] = _, t0 = transform(x0 = +x0), t1 = transform(x1 = +x1), t2 = transform(x2 = +x2), k10 = t0 === t1 ? 0 : 0.5 / (t1 - t0), k21 = t1 === t2 ? 0 : 0.5 / (t2 - t1), s = t1 < t0 ? -1 : 1, scale) : [x0, x1, x2];\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = !!_, scale) : clamp;\n };\n\n scale.interpolator = function(_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n\n function range(interpolate) {\n return function(_) {\n var r0, r1, r2;\n return arguments.length ? ([r0, r1, r2] = _, interpolator = piecewise(interpolate, [r0, r1, r2]), scale) : [interpolator(0), interpolator(0.5), interpolator(1)];\n };\n }\n\n scale.range = range(interpolate);\n\n scale.rangeRound = range(interpolateRound);\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t) {\n transform = t, t0 = t(x0), t1 = t(x1), t2 = t(x2), k10 = t0 === t1 ? 0 : 0.5 / (t1 - t0), k21 = t1 === t2 ? 0 : 0.5 / (t2 - t1), s = t1 < t0 ? -1 : 1;\n return scale;\n };\n}\n\nexport default function diverging() {\n var scale = linearish(transformer()(identity));\n\n scale.copy = function() {\n return copy(scale, diverging());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function divergingLog() {\n var scale = loggish(transformer()).domain([0.1, 1, 10]);\n\n scale.copy = function() {\n return copy(scale, divergingLog()).base(scale.base());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function divergingSymlog() {\n var scale = symlogish(transformer());\n\n scale.copy = function() {\n return copy(scale, divergingSymlog()).constant(scale.constant());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function divergingPow() {\n var scale = powish(transformer());\n\n scale.copy = function() {\n return copy(scale, divergingPow()).exponent(scale.exponent());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function divergingSqrt() {\n return divergingPow.apply(null, arguments).exponent(0.5);\n}\n","var isSymbol = require('./isSymbol');\n\n/**\n * The base implementation of methods like `_.max` and `_.min` which accepts a\n * `comparator` to determine the extremum value.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The iteratee invoked per iteration.\n * @param {Function} comparator The comparator used to compare values.\n * @returns {*} Returns the extremum value.\n */\nfunction baseExtremum(array, iteratee, comparator) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n var value = array[index],\n current = iteratee(value);\n\n if (current != null && (computed === undefined\n ? (current === current && !isSymbol(current))\n : comparator(current, computed)\n )) {\n var computed = current,\n result = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseExtremum;\n","/**\n * The base implementation of `_.gt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than `other`,\n * else `false`.\n */\nfunction baseGt(value, other) {\n return value > other;\n}\n\nmodule.exports = baseGt;\n","var baseExtremum = require('./_baseExtremum'),\n baseGt = require('./_baseGt'),\n identity = require('./identity');\n\n/**\n * Computes the maximum value of `array`. If `array` is empty or falsey,\n * `undefined` is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {*} Returns the maximum value.\n * @example\n *\n * _.max([4, 2, 8, 6]);\n * // => 8\n *\n * _.max([]);\n * // => undefined\n */\nfunction max(array) {\n return (array && array.length)\n ? baseExtremum(array, identity, baseGt)\n : undefined;\n}\n\nmodule.exports = max;\n","/**\n * The base implementation of `_.lt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n */\nfunction baseLt(value, other) {\n return value < other;\n}\n\nmodule.exports = baseLt;\n","var baseExtremum = require('./_baseExtremum'),\n baseLt = require('./_baseLt'),\n identity = require('./identity');\n\n/**\n * Computes the minimum value of `array`. If `array` is empty or falsey,\n * `undefined` is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {*} Returns the minimum value.\n * @example\n *\n * _.min([4, 2, 8, 6]);\n * // => 2\n *\n * _.min([]);\n * // => undefined\n */\nfunction min(array) {\n return (array && array.length)\n ? baseExtremum(array, identity, baseLt)\n : undefined;\n}\n\nmodule.exports = min;\n","var arrayMap = require('./_arrayMap'),\n baseIteratee = require('./_baseIteratee'),\n baseMap = require('./_baseMap'),\n isArray = require('./isArray');\n\n/**\n * Creates an array of values by running each element in `collection` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n *\n * The guarded methods are:\n * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * _.map([4, 8], square);\n * // => [16, 64]\n *\n * _.map({ 'a': 4, 'b': 8 }, square);\n * // => [16, 64] (iteration order is not guaranteed)\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, 'user');\n * // => ['barney', 'fred']\n */\nfunction map(collection, iteratee) {\n var func = isArray(collection) ? arrayMap : baseMap;\n return func(collection, baseIteratee(iteratee, 3));\n}\n\nmodule.exports = map;\n","var baseFlatten = require('./_baseFlatten'),\n map = require('./map');\n\n/**\n * Creates a flattened array of values by running each element in `collection`\n * thru `iteratee` and flattening the mapped results. The iteratee is invoked\n * with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [n, n];\n * }\n *\n * _.flatMap([1, 2], duplicate);\n * // => [1, 1, 2, 2]\n */\nfunction flatMap(collection, iteratee) {\n return baseFlatten(map(collection, iteratee), 1);\n}\n\nmodule.exports = flatMap;\n","var baseIsEqual = require('./_baseIsEqual');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\nmodule.exports = isEqual;\n","/*\r\n * decimal.js-light v2.5.1\r\n * An arbitrary-precision Decimal type for JavaScript.\r\n * https://github.com/MikeMcl/decimal.js-light\r\n * Copyright (c) 2020 Michael Mclaughlin \r\n * MIT Expat Licence\r\n */\r\n\r\n\r\n// ------------------------------------ EDITABLE DEFAULTS ------------------------------------- //\r\n\r\n\r\n// The limit on the value of `precision`, and on the value of the first argument to\r\n// `toDecimalPlaces`, `toExponential`, `toFixed`, `toPrecision` and `toSignificantDigits`.\r\nvar MAX_DIGITS = 1e9, // 0 to 1e9\r\n\r\n\r\n // The initial configuration properties of the Decimal constructor.\r\n defaults = {\r\n\r\n // These values must be integers within the stated ranges (inclusive).\r\n // Most of these values can be changed during run-time using `Decimal.config`.\r\n\r\n // The maximum number of significant digits of the result of a calculation or base conversion.\r\n // E.g. `Decimal.config({ precision: 20 });`\r\n precision: 20, // 1 to MAX_DIGITS\r\n\r\n // The rounding mode used by default by `toInteger`, `toDecimalPlaces`, `toExponential`,\r\n // `toFixed`, `toPrecision` and `toSignificantDigits`.\r\n //\r\n // ROUND_UP 0 Away from zero.\r\n // ROUND_DOWN 1 Towards zero.\r\n // ROUND_CEIL 2 Towards +Infinity.\r\n // ROUND_FLOOR 3 Towards -Infinity.\r\n // ROUND_HALF_UP 4 Towards nearest neighbour. If equidistant, up.\r\n // ROUND_HALF_DOWN 5 Towards nearest neighbour. If equidistant, down.\r\n // ROUND_HALF_EVEN 6 Towards nearest neighbour. If equidistant, towards even neighbour.\r\n // ROUND_HALF_CEIL 7 Towards nearest neighbour. If equidistant, towards +Infinity.\r\n // ROUND_HALF_FLOOR 8 Towards nearest neighbour. If equidistant, towards -Infinity.\r\n //\r\n // E.g.\r\n // `Decimal.rounding = 4;`\r\n // `Decimal.rounding = Decimal.ROUND_HALF_UP;`\r\n rounding: 4, // 0 to 8\r\n\r\n // The exponent value at and beneath which `toString` returns exponential notation.\r\n // JavaScript numbers: -7\r\n toExpNeg: -7, // 0 to -MAX_E\r\n\r\n // The exponent value at and above which `toString` returns exponential notation.\r\n // JavaScript numbers: 21\r\n toExpPos: 21, // 0 to MAX_E\r\n\r\n // The natural logarithm of 10.\r\n // 115 digits\r\n LN10: '2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286'\r\n },\r\n\r\n\r\n// ------------------------------------ END OF EDITABLE DEFAULTS -------------------------------- //\r\n\r\n\r\n Decimal,\r\n external = true,\r\n\r\n decimalError = '[DecimalError] ',\r\n invalidArgument = decimalError + 'Invalid argument: ',\r\n exponentOutOfRange = decimalError + 'Exponent out of range: ',\r\n\r\n mathfloor = Math.floor,\r\n mathpow = Math.pow,\r\n\r\n isDecimal = /^(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?$/i,\r\n\r\n ONE,\r\n BASE = 1e7,\r\n LOG_BASE = 7,\r\n MAX_SAFE_INTEGER = 9007199254740991,\r\n MAX_E = mathfloor(MAX_SAFE_INTEGER / LOG_BASE), // 1286742750677284\r\n\r\n // Decimal.prototype object\r\n P = {};\r\n\r\n\r\n// Decimal prototype methods\r\n\r\n\r\n/*\r\n * absoluteValue abs\r\n * comparedTo cmp\r\n * decimalPlaces dp\r\n * dividedBy div\r\n * dividedToIntegerBy idiv\r\n * equals eq\r\n * exponent\r\n * greaterThan gt\r\n * greaterThanOrEqualTo gte\r\n * isInteger isint\r\n * isNegative isneg\r\n * isPositive ispos\r\n * isZero\r\n * lessThan lt\r\n * lessThanOrEqualTo lte\r\n * logarithm log\r\n * minus sub\r\n * modulo mod\r\n * naturalExponential exp\r\n * naturalLogarithm ln\r\n * negated neg\r\n * plus add\r\n * precision sd\r\n * squareRoot sqrt\r\n * times mul\r\n * toDecimalPlaces todp\r\n * toExponential\r\n * toFixed\r\n * toInteger toint\r\n * toNumber\r\n * toPower pow\r\n * toPrecision\r\n * toSignificantDigits tosd\r\n * toString\r\n * valueOf val\r\n */\r\n\r\n\r\n/*\r\n * Return a new Decimal whose value is the absolute value of this Decimal.\r\n *\r\n */\r\nP.absoluteValue = P.abs = function () {\r\n var x = new this.constructor(this);\r\n if (x.s) x.s = 1;\r\n return x;\r\n};\r\n\r\n\r\n/*\r\n * Return\r\n * 1 if the value of this Decimal is greater than the value of `y`,\r\n * -1 if the value of this Decimal is less than the value of `y`,\r\n * 0 if they have the same value\r\n *\r\n */\r\nP.comparedTo = P.cmp = function (y) {\r\n var i, j, xdL, ydL,\r\n x = this;\r\n\r\n y = new x.constructor(y);\r\n\r\n // Signs differ?\r\n if (x.s !== y.s) return x.s || -y.s;\r\n\r\n // Compare exponents.\r\n if (x.e !== y.e) return x.e > y.e ^ x.s < 0 ? 1 : -1;\r\n\r\n xdL = x.d.length;\r\n ydL = y.d.length;\r\n\r\n // Compare digit by digit.\r\n for (i = 0, j = xdL < ydL ? xdL : ydL; i < j; ++i) {\r\n if (x.d[i] !== y.d[i]) return x.d[i] > y.d[i] ^ x.s < 0 ? 1 : -1;\r\n }\r\n\r\n // Compare lengths.\r\n return xdL === ydL ? 0 : xdL > ydL ^ x.s < 0 ? 1 : -1;\r\n};\r\n\r\n\r\n/*\r\n * Return the number of decimal places of the value of this Decimal.\r\n *\r\n */\r\nP.decimalPlaces = P.dp = function () {\r\n var x = this,\r\n w = x.d.length - 1,\r\n dp = (w - x.e) * LOG_BASE;\r\n\r\n // Subtract the number of trailing zeros of the last word.\r\n w = x.d[w];\r\n if (w) for (; w % 10 == 0; w /= 10) dp--;\r\n\r\n return dp < 0 ? 0 : dp;\r\n};\r\n\r\n\r\n/*\r\n * Return a new Decimal whose value is the value of this Decimal divided by `y`, truncated to\r\n * `precision` significant digits.\r\n *\r\n */\r\nP.dividedBy = P.div = function (y) {\r\n return divide(this, new this.constructor(y));\r\n};\r\n\r\n\r\n/*\r\n * Return a new Decimal whose value is the integer part of dividing the value of this Decimal\r\n * by the value of `y`, truncated to `precision` significant digits.\r\n *\r\n */\r\nP.dividedToIntegerBy = P.idiv = function (y) {\r\n var x = this,\r\n Ctor = x.constructor;\r\n return round(divide(x, new Ctor(y), 0, 1), Ctor.precision);\r\n};\r\n\r\n\r\n/*\r\n * Return true if the value of this Decimal is equal to the value of `y`, otherwise return false.\r\n *\r\n */\r\nP.equals = P.eq = function (y) {\r\n return !this.cmp(y);\r\n};\r\n\r\n\r\n/*\r\n * Return the (base 10) exponent value of this Decimal (this.e is the base 10000000 exponent).\r\n *\r\n */\r\nP.exponent = function () {\r\n return getBase10Exponent(this);\r\n};\r\n\r\n\r\n/*\r\n * Return true if the value of this Decimal is greater than the value of `y`, otherwise return\r\n * false.\r\n *\r\n */\r\nP.greaterThan = P.gt = function (y) {\r\n return this.cmp(y) > 0;\r\n};\r\n\r\n\r\n/*\r\n * Return true if the value of this Decimal is greater than or equal to the value of `y`,\r\n * otherwise return false.\r\n *\r\n */\r\nP.greaterThanOrEqualTo = P.gte = function (y) {\r\n return this.cmp(y) >= 0;\r\n};\r\n\r\n\r\n/*\r\n * Return true if the value of this Decimal is an integer, otherwise return false.\r\n *\r\n */\r\nP.isInteger = P.isint = function () {\r\n return this.e > this.d.length - 2;\r\n};\r\n\r\n\r\n/*\r\n * Return true if the value of this Decimal is negative, otherwise return false.\r\n *\r\n */\r\nP.isNegative = P.isneg = function () {\r\n return this.s < 0;\r\n};\r\n\r\n\r\n/*\r\n * Return true if the value of this Decimal is positive, otherwise return false.\r\n *\r\n */\r\nP.isPositive = P.ispos = function () {\r\n return this.s > 0;\r\n};\r\n\r\n\r\n/*\r\n * Return true if the value of this Decimal is 0, otherwise return false.\r\n *\r\n */\r\nP.isZero = function () {\r\n return this.s === 0;\r\n};\r\n\r\n\r\n/*\r\n * Return true if the value of this Decimal is less than `y`, otherwise return false.\r\n *\r\n */\r\nP.lessThan = P.lt = function (y) {\r\n return this.cmp(y) < 0;\r\n};\r\n\r\n\r\n/*\r\n * Return true if the value of this Decimal is less than or equal to `y`, otherwise return false.\r\n *\r\n */\r\nP.lessThanOrEqualTo = P.lte = function (y) {\r\n return this.cmp(y) < 1;\r\n};\r\n\r\n\r\n/*\r\n * Return the logarithm of the value of this Decimal to the specified base, truncated to\r\n * `precision` significant digits.\r\n *\r\n * If no base is specified, return log[10](x).\r\n *\r\n * log[base](x) = ln(x) / ln(base)\r\n *\r\n * The maximum error of the result is 1 ulp (unit in the last place).\r\n *\r\n * [base] {number|string|Decimal} The base of the logarithm.\r\n *\r\n */\r\nP.logarithm = P.log = function (base) {\r\n var r,\r\n x = this,\r\n Ctor = x.constructor,\r\n pr = Ctor.precision,\r\n wpr = pr + 5;\r\n\r\n // Default base is 10.\r\n if (base === void 0) {\r\n base = new Ctor(10);\r\n } else {\r\n base = new Ctor(base);\r\n\r\n // log[-b](x) = NaN\r\n // log[0](x) = NaN\r\n // log[1](x) = NaN\r\n if (base.s < 1 || base.eq(ONE)) throw Error(decimalError + 'NaN');\r\n }\r\n\r\n // log[b](-x) = NaN\r\n // log[b](0) = -Infinity\r\n if (x.s < 1) throw Error(decimalError + (x.s ? 'NaN' : '-Infinity'));\r\n\r\n // log[b](1) = 0\r\n if (x.eq(ONE)) return new Ctor(0);\r\n\r\n external = false;\r\n r = divide(ln(x, wpr), ln(base, wpr), wpr);\r\n external = true;\r\n\r\n return round(r, pr);\r\n};\r\n\r\n\r\n/*\r\n * Return a new Decimal whose value is the value of this Decimal minus `y`, truncated to\r\n * `precision` significant digits.\r\n *\r\n */\r\nP.minus = P.sub = function (y) {\r\n var x = this;\r\n y = new x.constructor(y);\r\n return x.s == y.s ? subtract(x, y) : add(x, (y.s = -y.s, y));\r\n};\r\n\r\n\r\n/*\r\n * Return a new Decimal whose value is the value of this Decimal modulo `y`, truncated to\r\n * `precision` significant digits.\r\n *\r\n */\r\nP.modulo = P.mod = function (y) {\r\n var q,\r\n x = this,\r\n Ctor = x.constructor,\r\n pr = Ctor.precision;\r\n\r\n y = new Ctor(y);\r\n\r\n // x % 0 = NaN\r\n if (!y.s) throw Error(decimalError + 'NaN');\r\n\r\n // Return x if x is 0.\r\n if (!x.s) return round(new Ctor(x), pr);\r\n\r\n // Prevent rounding of intermediate calculations.\r\n external = false;\r\n q = divide(x, y, 0, 1).times(y);\r\n external = true;\r\n\r\n return x.minus(q);\r\n};\r\n\r\n\r\n/*\r\n * Return a new Decimal whose value is the natural exponential of the value of this Decimal,\r\n * i.e. the base e raised to the power the value of this Decimal, truncated to `precision`\r\n * significant digits.\r\n *\r\n */\r\nP.naturalExponential = P.exp = function () {\r\n return exp(this);\r\n};\r\n\r\n\r\n/*\r\n * Return a new Decimal whose value is the natural logarithm of the value of this Decimal,\r\n * truncated to `precision` significant digits.\r\n *\r\n */\r\nP.naturalLogarithm = P.ln = function () {\r\n return ln(this);\r\n};\r\n\r\n\r\n/*\r\n * Return a new Decimal whose value is the value of this Decimal negated, i.e. as if multiplied by\r\n * -1.\r\n *\r\n */\r\nP.negated = P.neg = function () {\r\n var x = new this.constructor(this);\r\n x.s = -x.s || 0;\r\n return x;\r\n};\r\n\r\n\r\n/*\r\n * Return a new Decimal whose value is the value of this Decimal plus `y`, truncated to\r\n * `precision` significant digits.\r\n *\r\n */\r\nP.plus = P.add = function (y) {\r\n var x = this;\r\n y = new x.constructor(y);\r\n return x.s == y.s ? add(x, y) : subtract(x, (y.s = -y.s, y));\r\n};\r\n\r\n\r\n/*\r\n * Return the number of significant digits of the value of this Decimal.\r\n *\r\n * [z] {boolean|number} Whether to count integer-part trailing zeros: true, false, 1 or 0.\r\n *\r\n */\r\nP.precision = P.sd = function (z) {\r\n var e, sd, w,\r\n x = this;\r\n\r\n if (z !== void 0 && z !== !!z && z !== 1 && z !== 0) throw Error(invalidArgument + z);\r\n\r\n e = getBase10Exponent(x) + 1;\r\n w = x.d.length - 1;\r\n sd = w * LOG_BASE + 1;\r\n w = x.d[w];\r\n\r\n // If non-zero...\r\n if (w) {\r\n\r\n // Subtract the number of trailing zeros of the last word.\r\n for (; w % 10 == 0; w /= 10) sd--;\r\n\r\n // Add the number of digits of the first word.\r\n for (w = x.d[0]; w >= 10; w /= 10) sd++;\r\n }\r\n\r\n return z && e > sd ? e : sd;\r\n};\r\n\r\n\r\n/*\r\n * Return a new Decimal whose value is the square root of this Decimal, truncated to `precision`\r\n * significant digits.\r\n *\r\n */\r\nP.squareRoot = P.sqrt = function () {\r\n var e, n, pr, r, s, t, wpr,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n // Negative or zero?\r\n if (x.s < 1) {\r\n if (!x.s) return new Ctor(0);\r\n\r\n // sqrt(-x) = NaN\r\n throw Error(decimalError + 'NaN');\r\n }\r\n\r\n e = getBase10Exponent(x);\r\n external = false;\r\n\r\n // Initial estimate.\r\n s = Math.sqrt(+x);\r\n\r\n // Math.sqrt underflow/overflow?\r\n // Pass x to Math.sqrt as integer, then adjust the exponent of the result.\r\n if (s == 0 || s == 1 / 0) {\r\n n = digitsToString(x.d);\r\n if ((n.length + e) % 2 == 0) n += '0';\r\n s = Math.sqrt(n);\r\n e = mathfloor((e + 1) / 2) - (e < 0 || e % 2);\r\n\r\n if (s == 1 / 0) {\r\n n = '5e' + e;\r\n } else {\r\n n = s.toExponential();\r\n n = n.slice(0, n.indexOf('e') + 1) + e;\r\n }\r\n\r\n r = new Ctor(n);\r\n } else {\r\n r = new Ctor(s.toString());\r\n }\r\n\r\n pr = Ctor.precision;\r\n s = wpr = pr + 3;\r\n\r\n // Newton-Raphson iteration.\r\n for (;;) {\r\n t = r;\r\n r = t.plus(divide(x, t, wpr + 2)).times(0.5);\r\n\r\n if (digitsToString(t.d).slice(0, wpr) === (n = digitsToString(r.d)).slice(0, wpr)) {\r\n n = n.slice(wpr - 3, wpr + 1);\r\n\r\n // The 4th rounding digit may be in error by -1 so if the 4 rounding digits are 9999 or\r\n // 4999, i.e. approaching a rounding boundary, continue the iteration.\r\n if (s == wpr && n == '4999') {\r\n\r\n // On the first iteration only, check to see if rounding up gives the exact result as the\r\n // nines may infinitely repeat.\r\n round(t, pr + 1, 0);\r\n\r\n if (t.times(t).eq(x)) {\r\n r = t;\r\n break;\r\n }\r\n } else if (n != '9999') {\r\n break;\r\n }\r\n\r\n wpr += 4;\r\n }\r\n }\r\n\r\n external = true;\r\n\r\n return round(r, pr);\r\n};\r\n\r\n\r\n/*\r\n * Return a new Decimal whose value is the value of this Decimal times `y`, truncated to\r\n * `precision` significant digits.\r\n *\r\n */\r\nP.times = P.mul = function (y) {\r\n var carry, e, i, k, r, rL, t, xdL, ydL,\r\n x = this,\r\n Ctor = x.constructor,\r\n xd = x.d,\r\n yd = (y = new Ctor(y)).d;\r\n\r\n // Return 0 if either is 0.\r\n if (!x.s || !y.s) return new Ctor(0);\r\n\r\n y.s *= x.s;\r\n e = x.e + y.e;\r\n xdL = xd.length;\r\n ydL = yd.length;\r\n\r\n // Ensure xd points to the longer array.\r\n if (xdL < ydL) {\r\n r = xd;\r\n xd = yd;\r\n yd = r;\r\n rL = xdL;\r\n xdL = ydL;\r\n ydL = rL;\r\n }\r\n\r\n // Initialise the result array with zeros.\r\n r = [];\r\n rL = xdL + ydL;\r\n for (i = rL; i--;) r.push(0);\r\n\r\n // Multiply!\r\n for (i = ydL; --i >= 0;) {\r\n carry = 0;\r\n for (k = xdL + i; k > i;) {\r\n t = r[k] + yd[i] * xd[k - i - 1] + carry;\r\n r[k--] = t % BASE | 0;\r\n carry = t / BASE | 0;\r\n }\r\n\r\n r[k] = (r[k] + carry) % BASE | 0;\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (; !r[--rL];) r.pop();\r\n\r\n if (carry) ++e;\r\n else r.shift();\r\n\r\n y.d = r;\r\n y.e = e;\r\n\r\n return external ? round(y, Ctor.precision) : y;\r\n};\r\n\r\n\r\n/*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a maximum of `dp`\r\n * decimal places using rounding mode `rm` or `rounding` if `rm` is omitted.\r\n *\r\n * If `dp` is omitted, return a new Decimal whose value is the value of this Decimal.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\nP.toDecimalPlaces = P.todp = function (dp, rm) {\r\n var x = this,\r\n Ctor = x.constructor;\r\n\r\n x = new Ctor(x);\r\n if (dp === void 0) return x;\r\n\r\n checkInt32(dp, 0, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n return round(x, dp + getBase10Exponent(x) + 1, rm);\r\n};\r\n\r\n\r\n/*\r\n * Return a string representing the value of this Decimal in exponential notation rounded to\r\n * `dp` fixed decimal places using rounding mode `rounding`.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\nP.toExponential = function (dp, rm) {\r\n var str,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (dp === void 0) {\r\n str = toString(x, true);\r\n } else {\r\n checkInt32(dp, 0, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n x = round(new Ctor(x), dp + 1, rm);\r\n str = toString(x, true, dp + 1);\r\n }\r\n\r\n return str;\r\n};\r\n\r\n\r\n/*\r\n * Return a string representing the value of this Decimal in normal (fixed-point) notation to\r\n * `dp` fixed decimal places and rounded using rounding mode `rm` or `rounding` if `rm` is\r\n * omitted.\r\n *\r\n * As with JavaScript numbers, (-0).toFixed(0) is '0', but e.g. (-0.00001).toFixed(0) is '-0'.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * (-0).toFixed(0) is '0', but (-0.1).toFixed(0) is '-0'.\r\n * (-0).toFixed(1) is '0.0', but (-0.01).toFixed(1) is '-0.0'.\r\n * (-0).toFixed(3) is '0.000'.\r\n * (-0.5).toFixed(0) is '-0'.\r\n *\r\n */\r\nP.toFixed = function (dp, rm) {\r\n var str, y,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (dp === void 0) return toString(x);\r\n\r\n checkInt32(dp, 0, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n y = round(new Ctor(x), dp + getBase10Exponent(x) + 1, rm);\r\n str = toString(y.abs(), false, dp + getBase10Exponent(y) + 1);\r\n\r\n // To determine whether to add the minus sign look at the value before it was rounded,\r\n // i.e. look at `x` rather than `y`.\r\n return x.isneg() && !x.isZero() ? '-' + str : str;\r\n};\r\n\r\n\r\n/*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a whole number using\r\n * rounding mode `rounding`.\r\n *\r\n */\r\nP.toInteger = P.toint = function () {\r\n var x = this,\r\n Ctor = x.constructor;\r\n return round(new Ctor(x), getBase10Exponent(x) + 1, Ctor.rounding);\r\n};\r\n\r\n\r\n/*\r\n * Return the value of this Decimal converted to a number primitive.\r\n *\r\n */\r\nP.toNumber = function () {\r\n return +this;\r\n};\r\n\r\n\r\n/*\r\n * Return a new Decimal whose value is the value of this Decimal raised to the power `y`,\r\n * truncated to `precision` significant digits.\r\n *\r\n * For non-integer or very large exponents pow(x, y) is calculated using\r\n *\r\n * x^y = exp(y*ln(x))\r\n *\r\n * The maximum error is 1 ulp (unit in last place).\r\n *\r\n * y {number|string|Decimal} The power to which to raise this Decimal.\r\n *\r\n */\r\nP.toPower = P.pow = function (y) {\r\n var e, k, pr, r, sign, yIsInt,\r\n x = this,\r\n Ctor = x.constructor,\r\n guard = 12,\r\n yn = +(y = new Ctor(y));\r\n\r\n // pow(x, 0) = 1\r\n if (!y.s) return new Ctor(ONE);\r\n\r\n x = new Ctor(x);\r\n\r\n // pow(0, y > 0) = 0\r\n // pow(0, y < 0) = Infinity\r\n if (!x.s) {\r\n if (y.s < 1) throw Error(decimalError + 'Infinity');\r\n return x;\r\n }\r\n\r\n // pow(1, y) = 1\r\n if (x.eq(ONE)) return x;\r\n\r\n pr = Ctor.precision;\r\n\r\n // pow(x, 1) = x\r\n if (y.eq(ONE)) return round(x, pr);\r\n\r\n e = y.e;\r\n k = y.d.length - 1;\r\n yIsInt = e >= k;\r\n sign = x.s;\r\n\r\n if (!yIsInt) {\r\n\r\n // pow(x < 0, y non-integer) = NaN\r\n if (sign < 0) throw Error(decimalError + 'NaN');\r\n\r\n // If y is a small integer use the 'exponentiation by squaring' algorithm.\r\n } else if ((k = yn < 0 ? -yn : yn) <= MAX_SAFE_INTEGER) {\r\n r = new Ctor(ONE);\r\n\r\n // Max k of 9007199254740991 takes 53 loop iterations.\r\n // Maximum digits array length; leaves [28, 34] guard digits.\r\n e = Math.ceil(pr / LOG_BASE + 4);\r\n\r\n external = false;\r\n\r\n for (;;) {\r\n if (k % 2) {\r\n r = r.times(x);\r\n truncate(r.d, e);\r\n }\r\n\r\n k = mathfloor(k / 2);\r\n if (k === 0) break;\r\n\r\n x = x.times(x);\r\n truncate(x.d, e);\r\n }\r\n\r\n external = true;\r\n\r\n return y.s < 0 ? new Ctor(ONE).div(r) : round(r, pr);\r\n }\r\n\r\n // Result is negative if x is negative and the last digit of integer y is odd.\r\n sign = sign < 0 && y.d[Math.max(e, k)] & 1 ? -1 : 1;\r\n\r\n x.s = 1;\r\n external = false;\r\n r = y.times(ln(x, pr + guard));\r\n external = true;\r\n r = exp(r);\r\n r.s = sign;\r\n\r\n return r;\r\n};\r\n\r\n\r\n/*\r\n * Return a string representing the value of this Decimal rounded to `sd` significant digits\r\n * using rounding mode `rounding`.\r\n *\r\n * Return exponential notation if `sd` is less than the number of digits necessary to represent\r\n * the integer part of the value in normal notation.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\nP.toPrecision = function (sd, rm) {\r\n var e, str,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (sd === void 0) {\r\n e = getBase10Exponent(x);\r\n str = toString(x, e <= Ctor.toExpNeg || e >= Ctor.toExpPos);\r\n } else {\r\n checkInt32(sd, 1, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n x = round(new Ctor(x), sd, rm);\r\n e = getBase10Exponent(x);\r\n str = toString(x, sd <= e || e <= Ctor.toExpNeg, sd);\r\n }\r\n\r\n return str;\r\n};\r\n\r\n\r\n/*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a maximum of `sd`\r\n * significant digits using rounding mode `rm`, or to `precision` and `rounding` respectively if\r\n * omitted.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\nP.toSignificantDigits = P.tosd = function (sd, rm) {\r\n var x = this,\r\n Ctor = x.constructor;\r\n\r\n if (sd === void 0) {\r\n sd = Ctor.precision;\r\n rm = Ctor.rounding;\r\n } else {\r\n checkInt32(sd, 1, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n }\r\n\r\n return round(new Ctor(x), sd, rm);\r\n};\r\n\r\n\r\n/*\r\n * Return a string representing the value of this Decimal.\r\n *\r\n * Return exponential notation if this Decimal has a positive exponent equal to or greater than\r\n * `toExpPos`, or a negative exponent equal to or less than `toExpNeg`.\r\n *\r\n */\r\nP.toString = P.valueOf = P.val = P.toJSON = P[Symbol.for('nodejs.util.inspect.custom')] = function () {\r\n var x = this,\r\n e = getBase10Exponent(x),\r\n Ctor = x.constructor;\r\n\r\n return toString(x, e <= Ctor.toExpNeg || e >= Ctor.toExpPos);\r\n};\r\n\r\n\r\n// Helper functions for Decimal.prototype (P) and/or Decimal methods, and their callers.\r\n\r\n\r\n/*\r\n * add P.minus, P.plus\r\n * checkInt32 P.todp, P.toExponential, P.toFixed, P.toPrecision, P.tosd\r\n * digitsToString P.log, P.sqrt, P.pow, toString, exp, ln\r\n * divide P.div, P.idiv, P.log, P.mod, P.sqrt, exp, ln\r\n * exp P.exp, P.pow\r\n * getBase10Exponent P.exponent, P.sd, P.toint, P.sqrt, P.todp, P.toFixed, P.toPrecision,\r\n * P.toString, divide, round, toString, exp, ln\r\n * getLn10 P.log, ln\r\n * getZeroString digitsToString, toString\r\n * ln P.log, P.ln, P.pow, exp\r\n * parseDecimal Decimal\r\n * round P.abs, P.idiv, P.log, P.minus, P.mod, P.neg, P.plus, P.toint, P.sqrt,\r\n * P.times, P.todp, P.toExponential, P.toFixed, P.pow, P.toPrecision, P.tosd,\r\n * divide, getLn10, exp, ln\r\n * subtract P.minus, P.plus\r\n * toString P.toExponential, P.toFixed, P.toPrecision, P.toString, P.valueOf\r\n * truncate P.pow\r\n *\r\n * Throws: P.log, P.mod, P.sd, P.sqrt, P.pow, checkInt32, divide, round,\r\n * getLn10, exp, ln, parseDecimal, Decimal, config\r\n */\r\n\r\n\r\nfunction add(x, y) {\r\n var carry, d, e, i, k, len, xd, yd,\r\n Ctor = x.constructor,\r\n pr = Ctor.precision;\r\n\r\n // If either is zero...\r\n if (!x.s || !y.s) {\r\n\r\n // Return x if y is zero.\r\n // Return y if y is non-zero.\r\n if (!y.s) y = new Ctor(x);\r\n return external ? round(y, pr) : y;\r\n }\r\n\r\n xd = x.d;\r\n yd = y.d;\r\n\r\n // x and y are finite, non-zero numbers with the same sign.\r\n\r\n k = x.e;\r\n e = y.e;\r\n xd = xd.slice();\r\n i = k - e;\r\n\r\n // If base 1e7 exponents differ...\r\n if (i) {\r\n if (i < 0) {\r\n d = xd;\r\n i = -i;\r\n len = yd.length;\r\n } else {\r\n d = yd;\r\n e = k;\r\n len = xd.length;\r\n }\r\n\r\n // Limit number of zeros prepended to max(ceil(pr / LOG_BASE), len) + 1.\r\n k = Math.ceil(pr / LOG_BASE);\r\n len = k > len ? k + 1 : len + 1;\r\n\r\n if (i > len) {\r\n i = len;\r\n d.length = 1;\r\n }\r\n\r\n // Prepend zeros to equalise exponents. Note: Faster to use reverse then do unshifts.\r\n d.reverse();\r\n for (; i--;) d.push(0);\r\n d.reverse();\r\n }\r\n\r\n len = xd.length;\r\n i = yd.length;\r\n\r\n // If yd is longer than xd, swap xd and yd so xd points to the longer array.\r\n if (len - i < 0) {\r\n i = len;\r\n d = yd;\r\n yd = xd;\r\n xd = d;\r\n }\r\n\r\n // Only start adding at yd.length - 1 as the further digits of xd can be left as they are.\r\n for (carry = 0; i;) {\r\n carry = (xd[--i] = xd[i] + yd[i] + carry) / BASE | 0;\r\n xd[i] %= BASE;\r\n }\r\n\r\n if (carry) {\r\n xd.unshift(carry);\r\n ++e;\r\n }\r\n\r\n // Remove trailing zeros.\r\n // No need to check for zero, as +x + +y != 0 && -x + -y != 0\r\n for (len = xd.length; xd[--len] == 0;) xd.pop();\r\n\r\n y.d = xd;\r\n y.e = e;\r\n\r\n return external ? round(y, pr) : y;\r\n}\r\n\r\n\r\nfunction checkInt32(i, min, max) {\r\n if (i !== ~~i || i < min || i > max) {\r\n throw Error(invalidArgument + i);\r\n }\r\n}\r\n\r\n\r\nfunction digitsToString(d) {\r\n var i, k, ws,\r\n indexOfLastWord = d.length - 1,\r\n str = '',\r\n w = d[0];\r\n\r\n if (indexOfLastWord > 0) {\r\n str += w;\r\n for (i = 1; i < indexOfLastWord; i++) {\r\n ws = d[i] + '';\r\n k = LOG_BASE - ws.length;\r\n if (k) str += getZeroString(k);\r\n str += ws;\r\n }\r\n\r\n w = d[i];\r\n ws = w + '';\r\n k = LOG_BASE - ws.length;\r\n if (k) str += getZeroString(k);\r\n } else if (w === 0) {\r\n return '0';\r\n }\r\n\r\n // Remove trailing zeros of last w.\r\n for (; w % 10 === 0;) w /= 10;\r\n\r\n return str + w;\r\n}\r\n\r\n\r\nvar divide = (function () {\r\n\r\n // Assumes non-zero x and k, and hence non-zero result.\r\n function multiplyInteger(x, k) {\r\n var temp,\r\n carry = 0,\r\n i = x.length;\r\n\r\n for (x = x.slice(); i--;) {\r\n temp = x[i] * k + carry;\r\n x[i] = temp % BASE | 0;\r\n carry = temp / BASE | 0;\r\n }\r\n\r\n if (carry) x.unshift(carry);\r\n\r\n return x;\r\n }\r\n\r\n function compare(a, b, aL, bL) {\r\n var i, r;\r\n\r\n if (aL != bL) {\r\n r = aL > bL ? 1 : -1;\r\n } else {\r\n for (i = r = 0; i < aL; i++) {\r\n if (a[i] != b[i]) {\r\n r = a[i] > b[i] ? 1 : -1;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return r;\r\n }\r\n\r\n function subtract(a, b, aL) {\r\n var i = 0;\r\n\r\n // Subtract b from a.\r\n for (; aL--;) {\r\n a[aL] -= i;\r\n i = a[aL] < b[aL] ? 1 : 0;\r\n a[aL] = i * BASE + a[aL] - b[aL];\r\n }\r\n\r\n // Remove leading zeros.\r\n for (; !a[0] && a.length > 1;) a.shift();\r\n }\r\n\r\n return function (x, y, pr, dp) {\r\n var cmp, e, i, k, prod, prodL, q, qd, rem, remL, rem0, sd, t, xi, xL, yd0, yL, yz,\r\n Ctor = x.constructor,\r\n sign = x.s == y.s ? 1 : -1,\r\n xd = x.d,\r\n yd = y.d;\r\n\r\n // Either 0?\r\n if (!x.s) return new Ctor(x);\r\n if (!y.s) throw Error(decimalError + 'Division by zero');\r\n\r\n e = x.e - y.e;\r\n yL = yd.length;\r\n xL = xd.length;\r\n q = new Ctor(sign);\r\n qd = q.d = [];\r\n\r\n // Result exponent may be one less than e.\r\n for (i = 0; yd[i] == (xd[i] || 0); ) ++i;\r\n if (yd[i] > (xd[i] || 0)) --e;\r\n\r\n if (pr == null) {\r\n sd = pr = Ctor.precision;\r\n } else if (dp) {\r\n sd = pr + (getBase10Exponent(x) - getBase10Exponent(y)) + 1;\r\n } else {\r\n sd = pr;\r\n }\r\n\r\n if (sd < 0) return new Ctor(0);\r\n\r\n // Convert precision in number of base 10 digits to base 1e7 digits.\r\n sd = sd / LOG_BASE + 2 | 0;\r\n i = 0;\r\n\r\n // divisor < 1e7\r\n if (yL == 1) {\r\n k = 0;\r\n yd = yd[0];\r\n sd++;\r\n\r\n // k is the carry.\r\n for (; (i < xL || k) && sd--; i++) {\r\n t = k * BASE + (xd[i] || 0);\r\n qd[i] = t / yd | 0;\r\n k = t % yd | 0;\r\n }\r\n\r\n // divisor >= 1e7\r\n } else {\r\n\r\n // Normalise xd and yd so highest order digit of yd is >= BASE/2\r\n k = BASE / (yd[0] + 1) | 0;\r\n\r\n if (k > 1) {\r\n yd = multiplyInteger(yd, k);\r\n xd = multiplyInteger(xd, k);\r\n yL = yd.length;\r\n xL = xd.length;\r\n }\r\n\r\n xi = yL;\r\n rem = xd.slice(0, yL);\r\n remL = rem.length;\r\n\r\n // Add zeros to make remainder as long as divisor.\r\n for (; remL < yL;) rem[remL++] = 0;\r\n\r\n yz = yd.slice();\r\n yz.unshift(0);\r\n yd0 = yd[0];\r\n\r\n if (yd[1] >= BASE / 2) ++yd0;\r\n\r\n do {\r\n k = 0;\r\n\r\n // Compare divisor and remainder.\r\n cmp = compare(yd, rem, yL, remL);\r\n\r\n // If divisor < remainder.\r\n if (cmp < 0) {\r\n\r\n // Calculate trial digit, k.\r\n rem0 = rem[0];\r\n if (yL != remL) rem0 = rem0 * BASE + (rem[1] || 0);\r\n\r\n // k will be how many times the divisor goes into the current remainder.\r\n k = rem0 / yd0 | 0;\r\n\r\n // Algorithm:\r\n // 1. product = divisor * trial digit (k)\r\n // 2. if product > remainder: product -= divisor, k--\r\n // 3. remainder -= product\r\n // 4. if product was < remainder at 2:\r\n // 5. compare new remainder and divisor\r\n // 6. If remainder > divisor: remainder -= divisor, k++\r\n\r\n if (k > 1) {\r\n if (k >= BASE) k = BASE - 1;\r\n\r\n // product = divisor * trial digit.\r\n prod = multiplyInteger(yd, k);\r\n prodL = prod.length;\r\n remL = rem.length;\r\n\r\n // Compare product and remainder.\r\n cmp = compare(prod, rem, prodL, remL);\r\n\r\n // product > remainder.\r\n if (cmp == 1) {\r\n k--;\r\n\r\n // Subtract divisor from product.\r\n subtract(prod, yL < prodL ? yz : yd, prodL);\r\n }\r\n } else {\r\n\r\n // cmp is -1.\r\n // If k is 0, there is no need to compare yd and rem again below, so change cmp to 1\r\n // to avoid it. If k is 1 there is a need to compare yd and rem again below.\r\n if (k == 0) cmp = k = 1;\r\n prod = yd.slice();\r\n }\r\n\r\n prodL = prod.length;\r\n if (prodL < remL) prod.unshift(0);\r\n\r\n // Subtract product from remainder.\r\n subtract(rem, prod, remL);\r\n\r\n // If product was < previous remainder.\r\n if (cmp == -1) {\r\n remL = rem.length;\r\n\r\n // Compare divisor and new remainder.\r\n cmp = compare(yd, rem, yL, remL);\r\n\r\n // If divisor < new remainder, subtract divisor from remainder.\r\n if (cmp < 1) {\r\n k++;\r\n\r\n // Subtract divisor from remainder.\r\n subtract(rem, yL < remL ? yz : yd, remL);\r\n }\r\n }\r\n\r\n remL = rem.length;\r\n } else if (cmp === 0) {\r\n k++;\r\n rem = [0];\r\n } // if cmp === 1, k will be 0\r\n\r\n // Add the next digit, k, to the result array.\r\n qd[i++] = k;\r\n\r\n // Update the remainder.\r\n if (cmp && rem[0]) {\r\n rem[remL++] = xd[xi] || 0;\r\n } else {\r\n rem = [xd[xi]];\r\n remL = 1;\r\n }\r\n\r\n } while ((xi++ < xL || rem[0] !== void 0) && sd--);\r\n }\r\n\r\n // Leading zero?\r\n if (!qd[0]) qd.shift();\r\n\r\n q.e = e;\r\n\r\n return round(q, dp ? pr + getBase10Exponent(q) + 1 : pr);\r\n };\r\n})();\r\n\r\n\r\n/*\r\n * Return a new Decimal whose value is the natural exponential of `x` truncated to `sd`\r\n * significant digits.\r\n *\r\n * Taylor/Maclaurin series.\r\n *\r\n * exp(x) = x^0/0! + x^1/1! + x^2/2! + x^3/3! + ...\r\n *\r\n * Argument reduction:\r\n * Repeat x = x / 32, k += 5, until |x| < 0.1\r\n * exp(x) = exp(x / 2^k)^(2^k)\r\n *\r\n * Previously, the argument was initially reduced by\r\n * exp(x) = exp(r) * 10^k where r = x - k * ln10, k = floor(x / ln10)\r\n * to first put r in the range [0, ln10], before dividing by 32 until |x| < 0.1, but this was\r\n * found to be slower than just dividing repeatedly by 32 as above.\r\n *\r\n * (Math object integer min/max: Math.exp(709) = 8.2e+307, Math.exp(-745) = 5e-324)\r\n *\r\n * exp(x) is non-terminating for any finite, non-zero x.\r\n *\r\n */\r\nfunction exp(x, sd) {\r\n var denominator, guard, pow, sum, t, wpr,\r\n i = 0,\r\n k = 0,\r\n Ctor = x.constructor,\r\n pr = Ctor.precision;\r\n\r\n if (getBase10Exponent(x) > 16) throw Error(exponentOutOfRange + getBase10Exponent(x));\r\n\r\n // exp(0) = 1\r\n if (!x.s) return new Ctor(ONE);\r\n\r\n if (sd == null) {\r\n external = false;\r\n wpr = pr;\r\n } else {\r\n wpr = sd;\r\n }\r\n\r\n t = new Ctor(0.03125);\r\n\r\n while (x.abs().gte(0.1)) {\r\n x = x.times(t); // x = x / 2^5\r\n k += 5;\r\n }\r\n\r\n // Estimate the precision increase necessary to ensure the first 4 rounding digits are correct.\r\n guard = Math.log(mathpow(2, k)) / Math.LN10 * 2 + 5 | 0;\r\n wpr += guard;\r\n denominator = pow = sum = new Ctor(ONE);\r\n Ctor.precision = wpr;\r\n\r\n for (;;) {\r\n pow = round(pow.times(x), wpr);\r\n denominator = denominator.times(++i);\r\n t = sum.plus(divide(pow, denominator, wpr));\r\n\r\n if (digitsToString(t.d).slice(0, wpr) === digitsToString(sum.d).slice(0, wpr)) {\r\n while (k--) sum = round(sum.times(sum), wpr);\r\n Ctor.precision = pr;\r\n return sd == null ? (external = true, round(sum, pr)) : sum;\r\n }\r\n\r\n sum = t;\r\n }\r\n}\r\n\r\n\r\n// Calculate the base 10 exponent from the base 1e7 exponent.\r\nfunction getBase10Exponent(x) {\r\n var e = x.e * LOG_BASE,\r\n w = x.d[0];\r\n\r\n // Add the number of digits of the first word of the digits array.\r\n for (; w >= 10; w /= 10) e++;\r\n return e;\r\n}\r\n\r\n\r\nfunction getLn10(Ctor, sd, pr) {\r\n\r\n if (sd > Ctor.LN10.sd()) {\r\n\r\n\r\n // Reset global state in case the exception is caught.\r\n external = true;\r\n if (pr) Ctor.precision = pr;\r\n throw Error(decimalError + 'LN10 precision limit exceeded');\r\n }\r\n\r\n return round(new Ctor(Ctor.LN10), sd);\r\n}\r\n\r\n\r\nfunction getZeroString(k) {\r\n var zs = '';\r\n for (; k--;) zs += '0';\r\n return zs;\r\n}\r\n\r\n\r\n/*\r\n * Return a new Decimal whose value is the natural logarithm of `x` truncated to `sd` significant\r\n * digits.\r\n *\r\n * ln(n) is non-terminating (n != 1)\r\n *\r\n */\r\nfunction ln(y, sd) {\r\n var c, c0, denominator, e, numerator, sum, t, wpr, x2,\r\n n = 1,\r\n guard = 10,\r\n x = y,\r\n xd = x.d,\r\n Ctor = x.constructor,\r\n pr = Ctor.precision;\r\n\r\n // ln(-x) = NaN\r\n // ln(0) = -Infinity\r\n if (x.s < 1) throw Error(decimalError + (x.s ? 'NaN' : '-Infinity'));\r\n\r\n // ln(1) = 0\r\n if (x.eq(ONE)) return new Ctor(0);\r\n\r\n if (sd == null) {\r\n external = false;\r\n wpr = pr;\r\n } else {\r\n wpr = sd;\r\n }\r\n\r\n if (x.eq(10)) {\r\n if (sd == null) external = true;\r\n return getLn10(Ctor, wpr);\r\n }\r\n\r\n wpr += guard;\r\n Ctor.precision = wpr;\r\n c = digitsToString(xd);\r\n c0 = c.charAt(0);\r\n e = getBase10Exponent(x);\r\n\r\n if (Math.abs(e) < 1.5e15) {\r\n\r\n // Argument reduction.\r\n // The series converges faster the closer the argument is to 1, so using\r\n // ln(a^b) = b * ln(a), ln(a) = ln(a^b) / b\r\n // multiply the argument by itself until the leading digits of the significand are 7, 8, 9,\r\n // 10, 11, 12 or 13, recording the number of multiplications so the sum of the series can\r\n // later be divided by this number, then separate out the power of 10 using\r\n // ln(a*10^b) = ln(a) + b*ln(10).\r\n\r\n // max n is 21 (gives 0.9, 1.0 or 1.1) (9e15 / 21 = 4.2e14).\r\n //while (c0 < 9 && c0 != 1 || c0 == 1 && c.charAt(1) > 1) {\r\n // max n is 6 (gives 0.7 - 1.3)\r\n while (c0 < 7 && c0 != 1 || c0 == 1 && c.charAt(1) > 3) {\r\n x = x.times(y);\r\n c = digitsToString(x.d);\r\n c0 = c.charAt(0);\r\n n++;\r\n }\r\n\r\n e = getBase10Exponent(x);\r\n\r\n if (c0 > 1) {\r\n x = new Ctor('0.' + c);\r\n e++;\r\n } else {\r\n x = new Ctor(c0 + '.' + c.slice(1));\r\n }\r\n } else {\r\n\r\n // The argument reduction method above may result in overflow if the argument y is a massive\r\n // number with exponent >= 1500000000000000 (9e15 / 6 = 1.5e15), so instead recall this\r\n // function using ln(x*10^e) = ln(x) + e*ln(10).\r\n t = getLn10(Ctor, wpr + 2, pr).times(e + '');\r\n x = ln(new Ctor(c0 + '.' + c.slice(1)), wpr - guard).plus(t);\r\n\r\n Ctor.precision = pr;\r\n return sd == null ? (external = true, round(x, pr)) : x;\r\n }\r\n\r\n // x is reduced to a value near 1.\r\n\r\n // Taylor series.\r\n // ln(y) = ln((1 + x)/(1 - x)) = 2(x + x^3/3 + x^5/5 + x^7/7 + ...)\r\n // where x = (y - 1)/(y + 1) (|x| < 1)\r\n sum = numerator = x = divide(x.minus(ONE), x.plus(ONE), wpr);\r\n x2 = round(x.times(x), wpr);\r\n denominator = 3;\r\n\r\n for (;;) {\r\n numerator = round(numerator.times(x2), wpr);\r\n t = sum.plus(divide(numerator, new Ctor(denominator), wpr));\r\n\r\n if (digitsToString(t.d).slice(0, wpr) === digitsToString(sum.d).slice(0, wpr)) {\r\n sum = sum.times(2);\r\n\r\n // Reverse the argument reduction.\r\n if (e !== 0) sum = sum.plus(getLn10(Ctor, wpr + 2, pr).times(e + ''));\r\n sum = divide(sum, new Ctor(n), wpr);\r\n\r\n Ctor.precision = pr;\r\n return sd == null ? (external = true, round(sum, pr)) : sum;\r\n }\r\n\r\n sum = t;\r\n denominator += 2;\r\n }\r\n}\r\n\r\n\r\n/*\r\n * Parse the value of a new Decimal `x` from string `str`.\r\n */\r\nfunction parseDecimal(x, str) {\r\n var e, i, len;\r\n\r\n // Decimal point?\r\n if ((e = str.indexOf('.')) > -1) str = str.replace('.', '');\r\n\r\n // Exponential form?\r\n if ((i = str.search(/e/i)) > 0) {\r\n\r\n // Determine exponent.\r\n if (e < 0) e = i;\r\n e += +str.slice(i + 1);\r\n str = str.substring(0, i);\r\n } else if (e < 0) {\r\n\r\n // Integer.\r\n e = str.length;\r\n }\r\n\r\n // Determine leading zeros.\r\n for (i = 0; str.charCodeAt(i) === 48;) ++i;\r\n\r\n // Determine trailing zeros.\r\n for (len = str.length; str.charCodeAt(len - 1) === 48;) --len;\r\n str = str.slice(i, len);\r\n\r\n if (str) {\r\n len -= i;\r\n e = e - i - 1;\r\n x.e = mathfloor(e / LOG_BASE);\r\n x.d = [];\r\n\r\n // Transform base\r\n\r\n // e is the base 10 exponent.\r\n // i is where to slice str to get the first word of the digits array.\r\n i = (e + 1) % LOG_BASE;\r\n if (e < 0) i += LOG_BASE;\r\n\r\n if (i < len) {\r\n if (i) x.d.push(+str.slice(0, i));\r\n for (len -= LOG_BASE; i < len;) x.d.push(+str.slice(i, i += LOG_BASE));\r\n str = str.slice(i);\r\n i = LOG_BASE - str.length;\r\n } else {\r\n i -= len;\r\n }\r\n\r\n for (; i--;) str += '0';\r\n x.d.push(+str);\r\n\r\n if (external && (x.e > MAX_E || x.e < -MAX_E)) throw Error(exponentOutOfRange + e);\r\n } else {\r\n\r\n // Zero.\r\n x.s = 0;\r\n x.e = 0;\r\n x.d = [0];\r\n }\r\n\r\n return x;\r\n}\r\n\r\n\r\n/*\r\n * Round `x` to `sd` significant digits, using rounding mode `rm` if present (truncate otherwise).\r\n */\r\n function round(x, sd, rm) {\r\n var i, j, k, n, rd, doRound, w, xdi,\r\n xd = x.d;\r\n\r\n // rd: the rounding digit, i.e. the digit after the digit that may be rounded up.\r\n // w: the word of xd which contains the rounding digit, a base 1e7 number.\r\n // xdi: the index of w within xd.\r\n // n: the number of digits of w.\r\n // i: what would be the index of rd within w if all the numbers were 7 digits long (i.e. if\r\n // they had leading zeros)\r\n // j: if > 0, the actual index of rd within w (if < 0, rd is a leading zero).\r\n\r\n // Get the length of the first word of the digits array xd.\r\n for (n = 1, k = xd[0]; k >= 10; k /= 10) n++;\r\n i = sd - n;\r\n\r\n // Is the rounding digit in the first word of xd?\r\n if (i < 0) {\r\n i += LOG_BASE;\r\n j = sd;\r\n w = xd[xdi = 0];\r\n } else {\r\n xdi = Math.ceil((i + 1) / LOG_BASE);\r\n k = xd.length;\r\n if (xdi >= k) return x;\r\n w = k = xd[xdi];\r\n\r\n // Get the number of digits of w.\r\n for (n = 1; k >= 10; k /= 10) n++;\r\n\r\n // Get the index of rd within w.\r\n i %= LOG_BASE;\r\n\r\n // Get the index of rd within w, adjusted for leading zeros.\r\n // The number of leading zeros of w is given by LOG_BASE - n.\r\n j = i - LOG_BASE + n;\r\n }\r\n\r\n if (rm !== void 0) {\r\n k = mathpow(10, n - j - 1);\r\n\r\n // Get the rounding digit at index j of w.\r\n rd = w / k % 10 | 0;\r\n\r\n // Are there any non-zero digits after the rounding digit?\r\n doRound = sd < 0 || xd[xdi + 1] !== void 0 || w % k;\r\n\r\n // The expression `w % mathpow(10, n - j - 1)` returns all the digits of w to the right of the\r\n // digit at (left-to-right) index j, e.g. if w is 908714 and j is 2, the expression will give\r\n // 714.\r\n\r\n doRound = rm < 4\r\n ? (rd || doRound) && (rm == 0 || rm == (x.s < 0 ? 3 : 2))\r\n : rd > 5 || rd == 5 && (rm == 4 || doRound || rm == 6 &&\r\n\r\n // Check whether the digit to the left of the rounding digit is odd.\r\n ((i > 0 ? j > 0 ? w / mathpow(10, n - j) : 0 : xd[xdi - 1]) % 10) & 1 ||\r\n rm == (x.s < 0 ? 8 : 7));\r\n }\r\n\r\n if (sd < 1 || !xd[0]) {\r\n if (doRound) {\r\n k = getBase10Exponent(x);\r\n xd.length = 1;\r\n\r\n // Convert sd to decimal places.\r\n sd = sd - k - 1;\r\n\r\n // 1, 0.1, 0.01, 0.001, 0.0001 etc.\r\n xd[0] = mathpow(10, (LOG_BASE - sd % LOG_BASE) % LOG_BASE);\r\n x.e = mathfloor(-sd / LOG_BASE) || 0;\r\n } else {\r\n xd.length = 1;\r\n\r\n // Zero.\r\n xd[0] = x.e = x.s = 0;\r\n }\r\n\r\n return x;\r\n }\r\n\r\n // Remove excess digits.\r\n if (i == 0) {\r\n xd.length = xdi;\r\n k = 1;\r\n xdi--;\r\n } else {\r\n xd.length = xdi + 1;\r\n k = mathpow(10, LOG_BASE - i);\r\n\r\n // E.g. 56700 becomes 56000 if 7 is the rounding digit.\r\n // j > 0 means i > number of leading zeros of w.\r\n xd[xdi] = j > 0 ? (w / mathpow(10, n - j) % mathpow(10, j) | 0) * k : 0;\r\n }\r\n\r\n if (doRound) {\r\n for (;;) {\r\n\r\n // Is the digit to be rounded up in the first word of xd?\r\n if (xdi == 0) {\r\n if ((xd[0] += k) == BASE) {\r\n xd[0] = 1;\r\n ++x.e;\r\n }\r\n\r\n break;\r\n } else {\r\n xd[xdi] += k;\r\n if (xd[xdi] != BASE) break;\r\n xd[xdi--] = 0;\r\n k = 1;\r\n }\r\n }\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (i = xd.length; xd[--i] === 0;) xd.pop();\r\n\r\n if (external && (x.e > MAX_E || x.e < -MAX_E)) {\r\n throw Error(exponentOutOfRange + getBase10Exponent(x));\r\n }\r\n\r\n return x;\r\n}\r\n\r\n\r\nfunction subtract(x, y) {\r\n var d, e, i, j, k, len, xd, xe, xLTy, yd,\r\n Ctor = x.constructor,\r\n pr = Ctor.precision;\r\n\r\n // Return y negated if x is zero.\r\n // Return x if y is zero and x is non-zero.\r\n if (!x.s || !y.s) {\r\n if (y.s) y.s = -y.s;\r\n else y = new Ctor(x);\r\n return external ? round(y, pr) : y;\r\n }\r\n\r\n xd = x.d;\r\n yd = y.d;\r\n\r\n // x and y are non-zero numbers with the same sign.\r\n\r\n e = y.e;\r\n xe = x.e;\r\n xd = xd.slice();\r\n k = xe - e;\r\n\r\n // If exponents differ...\r\n if (k) {\r\n xLTy = k < 0;\r\n\r\n if (xLTy) {\r\n d = xd;\r\n k = -k;\r\n len = yd.length;\r\n } else {\r\n d = yd;\r\n e = xe;\r\n len = xd.length;\r\n }\r\n\r\n // Numbers with massively different exponents would result in a very high number of zeros\r\n // needing to be prepended, but this can be avoided while still ensuring correct rounding by\r\n // limiting the number of zeros to `Math.ceil(pr / LOG_BASE) + 2`.\r\n i = Math.max(Math.ceil(pr / LOG_BASE), len) + 2;\r\n\r\n if (k > i) {\r\n k = i;\r\n d.length = 1;\r\n }\r\n\r\n // Prepend zeros to equalise exponents.\r\n d.reverse();\r\n for (i = k; i--;) d.push(0);\r\n d.reverse();\r\n\r\n // Base 1e7 exponents equal.\r\n } else {\r\n\r\n // Check digits to determine which is the bigger number.\r\n\r\n i = xd.length;\r\n len = yd.length;\r\n xLTy = i < len;\r\n if (xLTy) len = i;\r\n\r\n for (i = 0; i < len; i++) {\r\n if (xd[i] != yd[i]) {\r\n xLTy = xd[i] < yd[i];\r\n break;\r\n }\r\n }\r\n\r\n k = 0;\r\n }\r\n\r\n if (xLTy) {\r\n d = xd;\r\n xd = yd;\r\n yd = d;\r\n y.s = -y.s;\r\n }\r\n\r\n len = xd.length;\r\n\r\n // Append zeros to xd if shorter.\r\n // Don't add zeros to yd if shorter as subtraction only needs to start at yd length.\r\n for (i = yd.length - len; i > 0; --i) xd[len++] = 0;\r\n\r\n // Subtract yd from xd.\r\n for (i = yd.length; i > k;) {\r\n if (xd[--i] < yd[i]) {\r\n for (j = i; j && xd[--j] === 0;) xd[j] = BASE - 1;\r\n --xd[j];\r\n xd[i] += BASE;\r\n }\r\n\r\n xd[i] -= yd[i];\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (; xd[--len] === 0;) xd.pop();\r\n\r\n // Remove leading zeros and adjust exponent accordingly.\r\n for (; xd[0] === 0; xd.shift()) --e;\r\n\r\n // Zero?\r\n if (!xd[0]) return new Ctor(0);\r\n\r\n y.d = xd;\r\n y.e = e;\r\n\r\n //return external && xd.length >= pr / LOG_BASE ? round(y, pr) : y;\r\n return external ? round(y, pr) : y;\r\n}\r\n\r\n\r\nfunction toString(x, isExp, sd) {\r\n var k,\r\n e = getBase10Exponent(x),\r\n str = digitsToString(x.d),\r\n len = str.length;\r\n\r\n if (isExp) {\r\n if (sd && (k = sd - len) > 0) {\r\n str = str.charAt(0) + '.' + str.slice(1) + getZeroString(k);\r\n } else if (len > 1) {\r\n str = str.charAt(0) + '.' + str.slice(1);\r\n }\r\n\r\n str = str + (e < 0 ? 'e' : 'e+') + e;\r\n } else if (e < 0) {\r\n str = '0.' + getZeroString(-e - 1) + str;\r\n if (sd && (k = sd - len) > 0) str += getZeroString(k);\r\n } else if (e >= len) {\r\n str += getZeroString(e + 1 - len);\r\n if (sd && (k = sd - e - 1) > 0) str = str + '.' + getZeroString(k);\r\n } else {\r\n if ((k = e + 1) < len) str = str.slice(0, k) + '.' + str.slice(k);\r\n if (sd && (k = sd - len) > 0) {\r\n if (e + 1 === len) str += '.';\r\n str += getZeroString(k);\r\n }\r\n }\r\n\r\n return x.s < 0 ? '-' + str : str;\r\n}\r\n\r\n\r\n// Does not strip trailing zeros.\r\nfunction truncate(arr, len) {\r\n if (arr.length > len) {\r\n arr.length = len;\r\n return true;\r\n }\r\n}\r\n\r\n\r\n// Decimal methods\r\n\r\n\r\n/*\r\n * clone\r\n * config/set\r\n */\r\n\r\n\r\n/*\r\n * Create and return a Decimal constructor with the same configuration properties as this Decimal\r\n * constructor.\r\n *\r\n */\r\nfunction clone(obj) {\r\n var i, p, ps;\r\n\r\n /*\r\n * The Decimal constructor and exported function.\r\n * Return a new Decimal instance.\r\n *\r\n * value {number|string|Decimal} A numeric value.\r\n *\r\n */\r\n function Decimal(value) {\r\n var x = this;\r\n\r\n // Decimal called without new.\r\n if (!(x instanceof Decimal)) return new Decimal(value);\r\n\r\n // Retain a reference to this Decimal constructor, and shadow Decimal.prototype.constructor\r\n // which points to Object.\r\n x.constructor = Decimal;\r\n\r\n // Duplicate.\r\n if (value instanceof Decimal) {\r\n x.s = value.s;\r\n x.e = value.e;\r\n x.d = (value = value.d) ? value.slice() : value;\r\n return;\r\n }\r\n\r\n if (typeof value === 'number') {\r\n\r\n // Reject Infinity/NaN.\r\n if (value * 0 !== 0) {\r\n throw Error(invalidArgument + value);\r\n }\r\n\r\n if (value > 0) {\r\n x.s = 1;\r\n } else if (value < 0) {\r\n value = -value;\r\n x.s = -1;\r\n } else {\r\n x.s = 0;\r\n x.e = 0;\r\n x.d = [0];\r\n return;\r\n }\r\n\r\n // Fast path for small integers.\r\n if (value === ~~value && value < 1e7) {\r\n x.e = 0;\r\n x.d = [value];\r\n return;\r\n }\r\n\r\n return parseDecimal(x, value.toString());\r\n } else if (typeof value !== 'string') {\r\n throw Error(invalidArgument + value);\r\n }\r\n\r\n // Minus sign?\r\n if (value.charCodeAt(0) === 45) {\r\n value = value.slice(1);\r\n x.s = -1;\r\n } else {\r\n x.s = 1;\r\n }\r\n\r\n if (isDecimal.test(value)) parseDecimal(x, value);\r\n else throw Error(invalidArgument + value);\r\n }\r\n\r\n Decimal.prototype = P;\r\n\r\n Decimal.ROUND_UP = 0;\r\n Decimal.ROUND_DOWN = 1;\r\n Decimal.ROUND_CEIL = 2;\r\n Decimal.ROUND_FLOOR = 3;\r\n Decimal.ROUND_HALF_UP = 4;\r\n Decimal.ROUND_HALF_DOWN = 5;\r\n Decimal.ROUND_HALF_EVEN = 6;\r\n Decimal.ROUND_HALF_CEIL = 7;\r\n Decimal.ROUND_HALF_FLOOR = 8;\r\n\r\n Decimal.clone = clone;\r\n Decimal.config = Decimal.set = config;\r\n\r\n if (obj === void 0) obj = {};\r\n if (obj) {\r\n ps = ['precision', 'rounding', 'toExpNeg', 'toExpPos', 'LN10'];\r\n for (i = 0; i < ps.length;) if (!obj.hasOwnProperty(p = ps[i++])) obj[p] = this[p];\r\n }\r\n\r\n Decimal.config(obj);\r\n\r\n return Decimal;\r\n}\r\n\r\n\r\n/*\r\n * Configure global settings for a Decimal constructor.\r\n *\r\n * `obj` is an object with one or more of the following properties,\r\n *\r\n * precision {number}\r\n * rounding {number}\r\n * toExpNeg {number}\r\n * toExpPos {number}\r\n *\r\n * E.g. Decimal.config({ precision: 20, rounding: 4 })\r\n *\r\n */\r\nfunction config(obj) {\r\n if (!obj || typeof obj !== 'object') {\r\n throw Error(decimalError + 'Object expected');\r\n }\r\n var i, p, v,\r\n ps = [\r\n 'precision', 1, MAX_DIGITS,\r\n 'rounding', 0, 8,\r\n 'toExpNeg', -1 / 0, 0,\r\n 'toExpPos', 0, 1 / 0\r\n ];\r\n\r\n for (i = 0; i < ps.length; i += 3) {\r\n if ((v = obj[p = ps[i]]) !== void 0) {\r\n if (mathfloor(v) === v && v >= ps[i + 1] && v <= ps[i + 2]) this[p] = v;\r\n else throw Error(invalidArgument + p + ': ' + v);\r\n }\r\n }\r\n\r\n if ((v = obj[p = 'LN10']) !== void 0) {\r\n if (v == Math.LN10) this[p] = new this(v);\r\n else throw Error(invalidArgument + p + ': ' + v);\r\n }\r\n\r\n return this;\r\n}\r\n\r\n\r\n// Create and configure initial Decimal constructor.\r\nexport var Decimal = clone(defaults);\r\n\r\n// Internal constant.\r\nONE = new Decimal(1);\r\n\r\nexport default Decimal;\r\n","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nvar identity = function identity(i) {\n return i;\n};\n\nexport var PLACE_HOLDER = {\n '@@functional/placeholder': true\n};\n\nvar isPlaceHolder = function isPlaceHolder(val) {\n return val === PLACE_HOLDER;\n};\n\nvar curry0 = function curry0(fn) {\n return function _curried() {\n if (arguments.length === 0 || arguments.length === 1 && isPlaceHolder(arguments.length <= 0 ? undefined : arguments[0])) {\n return _curried;\n }\n\n return fn.apply(void 0, arguments);\n };\n};\n\nvar curryN = function curryN(n, fn) {\n if (n === 1) {\n return fn;\n }\n\n return curry0(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var argsLength = args.filter(function (arg) {\n return arg !== PLACE_HOLDER;\n }).length;\n\n if (argsLength >= n) {\n return fn.apply(void 0, args);\n }\n\n return curryN(n - argsLength, curry0(function () {\n for (var _len2 = arguments.length, restArgs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n restArgs[_key2] = arguments[_key2];\n }\n\n var newArgs = args.map(function (arg) {\n return isPlaceHolder(arg) ? restArgs.shift() : arg;\n });\n return fn.apply(void 0, _toConsumableArray(newArgs).concat(restArgs));\n }));\n });\n};\n\nexport var curry = function curry(fn) {\n return curryN(fn.length, fn);\n};\nexport var range = function range(begin, end) {\n var arr = [];\n\n for (var i = begin; i < end; ++i) {\n arr[i - begin] = i;\n }\n\n return arr;\n};\nexport var map = curry(function (fn, arr) {\n if (Array.isArray(arr)) {\n return arr.map(fn);\n }\n\n return Object.keys(arr).map(function (key) {\n return arr[key];\n }).map(fn);\n});\nexport var compose = function compose() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n if (!args.length) {\n return identity;\n }\n\n var fns = args.reverse(); // first function can receive multiply arguments\n\n var firstFn = fns[0];\n var tailsFn = fns.slice(1);\n return function () {\n return tailsFn.reduce(function (res, fn) {\n return fn(res);\n }, firstFn.apply(void 0, arguments));\n };\n};\nexport var reverse = function reverse(arr) {\n if (Array.isArray(arr)) {\n return arr.reverse();\n } // can be string\n\n\n return arr.split('').reverse.join('');\n};\nexport var memoize = function memoize(fn) {\n var lastArgs = null;\n var lastResult = null;\n return function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n if (lastArgs && args.every(function (val, i) {\n return val === lastArgs[i];\n })) {\n return lastResult;\n }\n\n lastArgs = args;\n lastResult = fn.apply(void 0, args);\n return lastResult;\n };\n};","/**\n * @fileOverview 一些公用的运算方法\n * @author xile611\n * @date 2015-09-17\n */\nimport Decimal from 'decimal.js-light';\nimport { curry } from './utils';\n/**\n * 获取数值的位数\n * 其中绝对值属于区间[0.1, 1), 得到的值为0\n * 绝对值属于区间[0.01, 0.1),得到的位数为 -1\n * 绝对值属于区间[0.001, 0.01),得到的位数为 -2\n *\n * @param {Number} value 数值\n * @return {Integer} 位数\n */\n\nfunction getDigitCount(value) {\n var result;\n\n if (value === 0) {\n result = 1;\n } else {\n result = Math.floor(new Decimal(value).abs().log(10).toNumber()) + 1;\n }\n\n return result;\n}\n/**\n * 按照固定的步长获取[start, end)这个区间的数据\n * 并且需要处理js计算精度的问题\n *\n * @param {Decimal} start 起点\n * @param {Decimal} end 终点,不包含该值\n * @param {Decimal} step 步长\n * @return {Array} 若干数值\n */\n\n\nfunction rangeStep(start, end, step) {\n var num = new Decimal(start);\n var i = 0;\n var result = []; // magic number to prevent infinite loop\n\n while (num.lt(end) && i < 100000) {\n result.push(num.toNumber());\n num = num.add(step);\n i++;\n }\n\n return result;\n}\n/**\n * 对数值进行线性插值\n *\n * @param {Number} a 定义域的极点\n * @param {Number} b 定义域的极点\n * @param {Number} t [0, 1]内的某个值\n * @return {Number} 定义域内的某个值\n */\n\n\nvar interpolateNumber = curry(function (a, b, t) {\n var newA = +a;\n var newB = +b;\n return newA + t * (newB - newA);\n});\n/**\n * 线性插值的逆运算\n *\n * @param {Number} a 定义域的极点\n * @param {Number} b 定义域的极点\n * @param {Number} x 可以认为是插值后的一个输出值\n * @return {Number} 当x在 a ~ b这个范围内时,返回值属于[0, 1]\n */\n\nvar uninterpolateNumber = curry(function (a, b, x) {\n var diff = b - +a;\n diff = diff || Infinity;\n return (x - a) / diff;\n});\n/**\n * 线性插值的逆运算,并且有截断的操作\n *\n * @param {Number} a 定义域的极点\n * @param {Number} b 定义域的极点\n * @param {Number} x 可以认为是插值后的一个输出值\n * @return {Number} 当x在 a ~ b这个区间内时,返回值属于[0, 1],\n * 当x不在 a ~ b这个区间时,会截断到 a ~ b 这个区间\n */\n\nvar uninterpolateTruncation = curry(function (a, b, x) {\n var diff = b - +a;\n diff = diff || Infinity;\n return Math.max(0, Math.min(1, (x - a) / diff));\n});\nexport default {\n rangeStep: rangeStep,\n getDigitCount: getDigitCount,\n interpolateNumber: interpolateNumber,\n uninterpolateNumber: uninterpolateNumber,\n uninterpolateTruncation: uninterpolateTruncation\n};","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n/**\n * @fileOverview calculate tick values of scale\n * @author xile611, arcthur\n * @date 2015-09-17\n */\nimport Decimal from 'decimal.js-light';\nimport { compose, range, memoize, map, reverse } from './util/utils';\nimport Arithmetic from './util/arithmetic';\n/**\n * Calculate a interval of a minimum value and a maximum value\n *\n * @param {Number} min The minimum value\n * @param {Number} max The maximum value\n * @return {Array} An interval\n */\n\nfunction getValidInterval(_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n min = _ref2[0],\n max = _ref2[1];\n\n var validMin = min,\n validMax = max; // exchange\n\n if (min > max) {\n validMin = max;\n validMax = min;\n }\n\n return [validMin, validMax];\n}\n/**\n * Calculate the step which is easy to understand between ticks, like 10, 20, 25\n *\n * @param {Decimal} roughStep The rough step calculated by deviding the\n * difference by the tickCount\n * @param {Boolean} allowDecimals Allow the ticks to be decimals or not\n * @param {Integer} correctionFactor A correction factor\n * @return {Decimal} The step which is easy to understand between two ticks\n */\n\n\nfunction getFormatStep(roughStep, allowDecimals, correctionFactor) {\n if (roughStep.lte(0)) {\n return new Decimal(0);\n }\n\n var digitCount = Arithmetic.getDigitCount(roughStep.toNumber()); // The ratio between the rough step and the smallest number which has a bigger\n // order of magnitudes than the rough step\n\n var digitCountValue = new Decimal(10).pow(digitCount);\n var stepRatio = roughStep.div(digitCountValue); // When an integer and a float multiplied, the accuracy of result may be wrong\n\n var stepRatioScale = digitCount !== 1 ? 0.05 : 0.1;\n var amendStepRatio = new Decimal(Math.ceil(stepRatio.div(stepRatioScale).toNumber())).add(correctionFactor).mul(stepRatioScale);\n var formatStep = amendStepRatio.mul(digitCountValue);\n return allowDecimals ? formatStep : new Decimal(Math.ceil(formatStep));\n}\n/**\n * calculate the ticks when the minimum value equals to the maximum value\n *\n * @param {Number} value The minimum valuue which is also the maximum value\n * @param {Integer} tickCount The count of ticks\n * @param {Boolean} allowDecimals Allow the ticks to be decimals or not\n * @return {Array} ticks\n */\n\n\nfunction getTickOfSingleValue(value, tickCount, allowDecimals) {\n var step = 1; // calculate the middle value of ticks\n\n var middle = new Decimal(value);\n\n if (!middle.isint() && allowDecimals) {\n var absVal = Math.abs(value);\n\n if (absVal < 1) {\n // The step should be a float number when the difference is smaller than 1\n step = new Decimal(10).pow(Arithmetic.getDigitCount(value) - 1);\n middle = new Decimal(Math.floor(middle.div(step).toNumber())).mul(step);\n } else if (absVal > 1) {\n // Return the maximum integer which is smaller than 'value' when 'value' is greater than 1\n middle = new Decimal(Math.floor(value));\n }\n } else if (value === 0) {\n middle = new Decimal(Math.floor((tickCount - 1) / 2));\n } else if (!allowDecimals) {\n middle = new Decimal(Math.floor(value));\n }\n\n var middleIndex = Math.floor((tickCount - 1) / 2);\n var fn = compose(map(function (n) {\n return middle.add(new Decimal(n - middleIndex).mul(step)).toNumber();\n }), range);\n return fn(0, tickCount);\n}\n/**\n * Calculate the step\n *\n * @param {Number} min The minimum value of an interval\n * @param {Number} max The maximum value of an interval\n * @param {Integer} tickCount The count of ticks\n * @param {Boolean} allowDecimals Allow the ticks to be decimals or not\n * @param {Number} correctionFactor A correction factor\n * @return {Object} The step, minimum value of ticks, maximum value of ticks\n */\n\n\nfunction calculateStep(min, max, tickCount, allowDecimals) {\n var correctionFactor = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;\n\n // dirty hack (for recharts' test)\n if (!Number.isFinite((max - min) / (tickCount - 1))) {\n return {\n step: new Decimal(0),\n tickMin: new Decimal(0),\n tickMax: new Decimal(0)\n };\n } // The step which is easy to understand between two ticks\n\n\n var step = getFormatStep(new Decimal(max).sub(min).div(tickCount - 1), allowDecimals, correctionFactor); // A medial value of ticks\n\n var middle; // When 0 is inside the interval, 0 should be a tick\n\n if (min <= 0 && max >= 0) {\n middle = new Decimal(0);\n } else {\n // calculate the middle value\n middle = new Decimal(min).add(max).div(2); // minus modulo value\n\n middle = middle.sub(new Decimal(middle).mod(step));\n }\n\n var belowCount = Math.ceil(middle.sub(min).div(step).toNumber());\n var upCount = Math.ceil(new Decimal(max).sub(middle).div(step).toNumber());\n var scaleCount = belowCount + upCount + 1;\n\n if (scaleCount > tickCount) {\n // When more ticks need to cover the interval, step should be bigger.\n return calculateStep(min, max, tickCount, allowDecimals, correctionFactor + 1);\n }\n\n if (scaleCount < tickCount) {\n // When less ticks can cover the interval, we should add some additional ticks\n upCount = max > 0 ? upCount + (tickCount - scaleCount) : upCount;\n belowCount = max > 0 ? belowCount : belowCount + (tickCount - scaleCount);\n }\n\n return {\n step: step,\n tickMin: middle.sub(new Decimal(belowCount).mul(step)),\n tickMax: middle.add(new Decimal(upCount).mul(step))\n };\n}\n/**\n * Calculate the ticks of an interval, the count of ticks will be guraranteed\n *\n * @param {Number} min, max min: The minimum value, max: The maximum value\n * @param {Integer} tickCount The count of ticks\n * @param {Boolean} allowDecimals Allow the ticks to be decimals or not\n * @return {Array} ticks\n */\n\n\nfunction getNiceTickValuesFn(_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n min = _ref4[0],\n max = _ref4[1];\n\n var tickCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 6;\n var allowDecimals = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n // More than two ticks should be return\n var count = Math.max(tickCount, 2);\n\n var _getValidInterval = getValidInterval([min, max]),\n _getValidInterval2 = _slicedToArray(_getValidInterval, 2),\n cormin = _getValidInterval2[0],\n cormax = _getValidInterval2[1];\n\n if (cormin === -Infinity || cormax === Infinity) {\n var _values = cormax === Infinity ? [cormin].concat(_toConsumableArray(range(0, tickCount - 1).map(function () {\n return Infinity;\n }))) : [].concat(_toConsumableArray(range(0, tickCount - 1).map(function () {\n return -Infinity;\n })), [cormax]);\n\n return min > max ? reverse(_values) : _values;\n }\n\n if (cormin === cormax) {\n return getTickOfSingleValue(cormin, tickCount, allowDecimals);\n } // Get the step between two ticks\n\n\n var _calculateStep = calculateStep(cormin, cormax, count, allowDecimals),\n step = _calculateStep.step,\n tickMin = _calculateStep.tickMin,\n tickMax = _calculateStep.tickMax;\n\n var values = Arithmetic.rangeStep(tickMin, tickMax.add(new Decimal(0.1).mul(step)), step);\n return min > max ? reverse(values) : values;\n}\n/**\n * Calculate the ticks of an interval, the count of ticks won't be guraranteed\n *\n * @param {Number} min, max min: The minimum value, max: The maximum value\n * @param {Integer} tickCount The count of ticks\n * @param {Boolean} allowDecimals Allow the ticks to be decimals or not\n * @return {Array} ticks\n */\n\n\nfunction getTickValuesFn(_ref5) {\n var _ref6 = _slicedToArray(_ref5, 2),\n min = _ref6[0],\n max = _ref6[1];\n\n var tickCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 6;\n var allowDecimals = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n // More than two ticks should be return\n var count = Math.max(tickCount, 2);\n\n var _getValidInterval3 = getValidInterval([min, max]),\n _getValidInterval4 = _slicedToArray(_getValidInterval3, 2),\n cormin = _getValidInterval4[0],\n cormax = _getValidInterval4[1];\n\n if (cormin === -Infinity || cormax === Infinity) {\n return [min, max];\n }\n\n if (cormin === cormax) {\n return getTickOfSingleValue(cormin, tickCount, allowDecimals);\n }\n\n var step = getFormatStep(new Decimal(cormax).sub(cormin).div(count - 1), allowDecimals, 0);\n var fn = compose(map(function (n) {\n return new Decimal(cormin).add(new Decimal(n).mul(step)).toNumber();\n }), range);\n var values = fn(0, count).filter(function (entry) {\n return entry >= cormin && entry <= cormax;\n });\n return min > max ? reverse(values) : values;\n}\n/**\n * Calculate the ticks of an interval, the count of ticks won't be guraranteed,\n * but the domain will be guaranteed\n *\n * @param {Number} min, max min: The minimum value, max: The maximum value\n * @param {Integer} tickCount The count of ticks\n * @param {Boolean} allowDecimals Allow the ticks to be decimals or not\n * @return {Array} ticks\n */\n\n\nfunction getTickValuesFixedDomainFn(_ref7, tickCount) {\n var _ref8 = _slicedToArray(_ref7, 2),\n min = _ref8[0],\n max = _ref8[1];\n\n var allowDecimals = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n // More than two ticks should be return\n var _getValidInterval5 = getValidInterval([min, max]),\n _getValidInterval6 = _slicedToArray(_getValidInterval5, 2),\n cormin = _getValidInterval6[0],\n cormax = _getValidInterval6[1];\n\n if (cormin === -Infinity || cormax === Infinity) {\n return [min, max];\n }\n\n if (cormin === cormax) {\n return [cormin];\n }\n\n var count = Math.max(tickCount, 2);\n var step = getFormatStep(new Decimal(cormax).sub(cormin).div(count - 1), allowDecimals, 0);\n var values = [].concat(_toConsumableArray(Arithmetic.rangeStep(new Decimal(cormin), new Decimal(cormax).sub(new Decimal(0.99).mul(step)), step)), [cormax]);\n return min > max ? reverse(values) : values;\n}\n\nexport var getNiceTickValues = memoize(getNiceTickValuesFn);\nexport var getTickValues = memoize(getTickValuesFn);\nexport var getTickValuesFixedDomain = memoize(getTickValuesFixedDomainFn);","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === 'function' ? message() : message;\n var value = provided ? \"\".concat(prefix, \": \").concat(provided) : prefix;\n throw new Error(value);\n}\n\nexport { invariant as default };\n","var _excluded = [\"offset\", \"layout\", \"width\", \"dataKey\", \"data\", \"dataPointFormatter\", \"xAxis\", \"yAxis\"];\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview Render a group of error bar\n */\nimport React from 'react';\nimport invariant from 'tiny-invariant';\nimport { Layer } from '../container/Layer';\nimport { filterProps } from '../util/ReactUtils';\n// eslint-disable-next-line react/prefer-stateless-function -- requires static defaultProps\nexport var ErrorBar = /*#__PURE__*/function (_React$Component) {\n function ErrorBar() {\n _classCallCheck(this, ErrorBar);\n return _callSuper(this, ErrorBar, arguments);\n }\n _inherits(ErrorBar, _React$Component);\n return _createClass(ErrorBar, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n offset = _this$props.offset,\n layout = _this$props.layout,\n width = _this$props.width,\n dataKey = _this$props.dataKey,\n data = _this$props.data,\n dataPointFormatter = _this$props.dataPointFormatter,\n xAxis = _this$props.xAxis,\n yAxis = _this$props.yAxis,\n others = _objectWithoutProperties(_this$props, _excluded);\n var svgProps = filterProps(others, false);\n !!(this.props.direction === 'x' && xAxis.type !== 'number') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'ErrorBar requires Axis type property to be \"number\".') : invariant(false) : void 0;\n var errorBars = data.map(function (entry) {\n var _dataPointFormatter = dataPointFormatter(entry, dataKey),\n x = _dataPointFormatter.x,\n y = _dataPointFormatter.y,\n value = _dataPointFormatter.value,\n errorVal = _dataPointFormatter.errorVal;\n if (!errorVal) {\n return null;\n }\n var lineCoordinates = [];\n var lowBound, highBound;\n if (Array.isArray(errorVal)) {\n var _errorVal = _slicedToArray(errorVal, 2);\n lowBound = _errorVal[0];\n highBound = _errorVal[1];\n } else {\n lowBound = highBound = errorVal;\n }\n if (layout === 'vertical') {\n // error bar for horizontal charts, the y is fixed, x is a range value\n var scale = xAxis.scale;\n var yMid = y + offset;\n var yMin = yMid + width;\n var yMax = yMid - width;\n var xMin = scale(value - lowBound);\n var xMax = scale(value + highBound);\n\n // the right line of |--|\n lineCoordinates.push({\n x1: xMax,\n y1: yMin,\n x2: xMax,\n y2: yMax\n });\n // the middle line of |--|\n lineCoordinates.push({\n x1: xMin,\n y1: yMid,\n x2: xMax,\n y2: yMid\n });\n // the left line of |--|\n lineCoordinates.push({\n x1: xMin,\n y1: yMin,\n x2: xMin,\n y2: yMax\n });\n } else if (layout === 'horizontal') {\n // error bar for horizontal charts, the x is fixed, y is a range value\n var _scale = yAxis.scale;\n var xMid = x + offset;\n var _xMin = xMid - width;\n var _xMax = xMid + width;\n var _yMin = _scale(value - lowBound);\n var _yMax = _scale(value + highBound);\n\n // the top line\n lineCoordinates.push({\n x1: _xMin,\n y1: _yMax,\n x2: _xMax,\n y2: _yMax\n });\n // the middle line\n lineCoordinates.push({\n x1: xMid,\n y1: _yMin,\n x2: xMid,\n y2: _yMax\n });\n // the bottom line\n lineCoordinates.push({\n x1: _xMin,\n y1: _yMin,\n x2: _xMax,\n y2: _yMin\n });\n }\n return /*#__PURE__*/React.createElement(Layer, _extends({\n className: \"recharts-errorBar\",\n key: \"bar-\".concat(lineCoordinates.map(function (c) {\n return \"\".concat(c.x1, \"-\").concat(c.x2, \"-\").concat(c.y1, \"-\").concat(c.y2);\n }))\n }, svgProps), lineCoordinates.map(function (coordinates) {\n return /*#__PURE__*/React.createElement(\"line\", _extends({}, coordinates, {\n key: \"line-\".concat(coordinates.x1, \"-\").concat(coordinates.x2, \"-\").concat(coordinates.y1, \"-\").concat(coordinates.y2)\n }));\n }));\n });\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-errorBars\"\n }, errorBars);\n }\n }]);\n}(React.Component);\n_defineProperty(ErrorBar, \"defaultProps\", {\n stroke: 'black',\n strokeWidth: 1.5,\n width: 5,\n offset: 0,\n layout: 'horizontal'\n});\n_defineProperty(ErrorBar, \"displayName\", 'ErrorBar');","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport { Legend } from '../component/Legend';\nimport { getMainColorOfGraphicItem } from './ChartUtils';\nimport { findChildByType } from './ReactUtils';\nexport var getLegendProps = function getLegendProps(_ref) {\n var children = _ref.children,\n formattedGraphicalItems = _ref.formattedGraphicalItems,\n legendWidth = _ref.legendWidth,\n legendContent = _ref.legendContent;\n var legendItem = findChildByType(children, Legend);\n if (!legendItem) {\n return null;\n }\n var legendDefaultProps = Legend.defaultProps;\n var legendProps = legendDefaultProps !== undefined ? _objectSpread(_objectSpread({}, legendDefaultProps), legendItem.props) : {};\n var legendData;\n if (legendItem.props && legendItem.props.payload) {\n legendData = legendItem.props && legendItem.props.payload;\n } else if (legendContent === 'children') {\n legendData = (formattedGraphicalItems || []).reduce(function (result, _ref2) {\n var item = _ref2.item,\n props = _ref2.props;\n var data = props.sectors || props.data || [];\n return result.concat(data.map(function (entry) {\n return {\n type: legendItem.props.iconType || item.props.legendType,\n value: entry.name,\n color: entry.fill,\n payload: entry\n };\n }));\n }, []);\n } else {\n legendData = (formattedGraphicalItems || []).map(function (_ref3) {\n var item = _ref3.item;\n var itemDefaultProps = item.type.defaultProps;\n var itemProps = itemDefaultProps !== undefined ? _objectSpread(_objectSpread({}, itemDefaultProps), item.props) : {};\n var dataKey = itemProps.dataKey,\n name = itemProps.name,\n legendType = itemProps.legendType,\n hide = itemProps.hide;\n return {\n inactive: hide,\n dataKey: dataKey,\n type: legendProps.iconType || legendType || 'square',\n color: getMainColorOfGraphicItem(item),\n value: name || dataKey,\n // @ts-expect-error property strokeDasharray is required in Payload but optional in props\n payload: itemProps\n };\n });\n }\n return _objectSpread(_objectSpread(_objectSpread({}, legendProps), Legend.getWithHeight(legendItem, legendWidth)), {}, {\n payload: legendData,\n item: legendItem\n });\n};","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport * as d3Scales from 'victory-vendor/d3-scale';\nimport { stack as shapeStack, stackOffsetExpand, stackOffsetNone, stackOffsetSilhouette, stackOffsetWiggle, stackOrderNone } from 'victory-vendor/d3-shape';\nimport max from 'lodash/max';\nimport min from 'lodash/min';\nimport isNil from 'lodash/isNil';\nimport isFunction from 'lodash/isFunction';\nimport isString from 'lodash/isString';\nimport get from 'lodash/get';\nimport flatMap from 'lodash/flatMap';\nimport isNan from 'lodash/isNaN';\nimport upperFirst from 'lodash/upperFirst';\nimport isEqual from 'lodash/isEqual';\nimport sortBy from 'lodash/sortBy';\nimport { getNiceTickValues, getTickValuesFixedDomain } from 'recharts-scale';\nimport { ErrorBar } from '../cartesian/ErrorBar';\nimport { findEntryInArray, getPercentValue, isNumber, isNumOrStr, mathSign, uniqueId } from './DataUtils';\nimport { filterProps, findAllByType, getDisplayName } from './ReactUtils';\n// TODO: Cause of circular dependency. Needs refactor.\n// import { RadiusAxisProps, AngleAxisProps } from '../polar/types';\n\nimport { getLegendProps } from './getLegendProps';\n\n// Exported for backwards compatibility\nexport { getLegendProps };\nexport function getValueByDataKey(obj, dataKey, defaultValue) {\n if (isNil(obj) || isNil(dataKey)) {\n return defaultValue;\n }\n if (isNumOrStr(dataKey)) {\n return get(obj, dataKey, defaultValue);\n }\n if (isFunction(dataKey)) {\n return dataKey(obj);\n }\n return defaultValue;\n}\n/**\n * Get domain of data by key.\n * @param {Array} data The data displayed in the chart\n * @param {String} key The unique key of a group of data\n * @param {String} type The type of axis\n * @param {Boolean} filterNil Whether or not filter nil values\n * @return {Array} Domain of data\n */\nexport function getDomainOfDataByKey(data, key, type, filterNil) {\n var flattenData = flatMap(data, function (entry) {\n return getValueByDataKey(entry, key);\n });\n if (type === 'number') {\n // @ts-expect-error parseFloat type only accepts strings\n var domain = flattenData.filter(function (entry) {\n return isNumber(entry) || parseFloat(entry);\n });\n return domain.length ? [min(domain), max(domain)] : [Infinity, -Infinity];\n }\n var validateData = filterNil ? flattenData.filter(function (entry) {\n return !isNil(entry);\n }) : flattenData;\n\n // Supports x-axis of Date type\n return validateData.map(function (entry) {\n return isNumOrStr(entry) || entry instanceof Date ? entry : '';\n });\n}\nexport var calculateActiveTickIndex = function calculateActiveTickIndex(coordinate) {\n var _ticks$length;\n var ticks = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var unsortedTicks = arguments.length > 2 ? arguments[2] : undefined;\n var axis = arguments.length > 3 ? arguments[3] : undefined;\n var index = -1;\n var len = (_ticks$length = ticks === null || ticks === void 0 ? void 0 : ticks.length) !== null && _ticks$length !== void 0 ? _ticks$length : 0;\n\n // if there are 1 or less ticks ticks then the active tick is at index 0\n if (len <= 1) {\n return 0;\n }\n if (axis && axis.axisType === 'angleAxis' && Math.abs(Math.abs(axis.range[1] - axis.range[0]) - 360) <= 1e-6) {\n var range = axis.range;\n // ticks are distributed in a circle\n for (var i = 0; i < len; i++) {\n var before = i > 0 ? unsortedTicks[i - 1].coordinate : unsortedTicks[len - 1].coordinate;\n var cur = unsortedTicks[i].coordinate;\n var after = i >= len - 1 ? unsortedTicks[0].coordinate : unsortedTicks[i + 1].coordinate;\n var sameDirectionCoord = void 0;\n if (mathSign(cur - before) !== mathSign(after - cur)) {\n var diffInterval = [];\n if (mathSign(after - cur) === mathSign(range[1] - range[0])) {\n sameDirectionCoord = after;\n var curInRange = cur + range[1] - range[0];\n diffInterval[0] = Math.min(curInRange, (curInRange + before) / 2);\n diffInterval[1] = Math.max(curInRange, (curInRange + before) / 2);\n } else {\n sameDirectionCoord = before;\n var afterInRange = after + range[1] - range[0];\n diffInterval[0] = Math.min(cur, (afterInRange + cur) / 2);\n diffInterval[1] = Math.max(cur, (afterInRange + cur) / 2);\n }\n var sameInterval = [Math.min(cur, (sameDirectionCoord + cur) / 2), Math.max(cur, (sameDirectionCoord + cur) / 2)];\n if (coordinate > sameInterval[0] && coordinate <= sameInterval[1] || coordinate >= diffInterval[0] && coordinate <= diffInterval[1]) {\n index = unsortedTicks[i].index;\n break;\n }\n } else {\n var minValue = Math.min(before, after);\n var maxValue = Math.max(before, after);\n if (coordinate > (minValue + cur) / 2 && coordinate <= (maxValue + cur) / 2) {\n index = unsortedTicks[i].index;\n break;\n }\n }\n }\n } else {\n // ticks are distributed in a single direction\n for (var _i = 0; _i < len; _i++) {\n if (_i === 0 && coordinate <= (ticks[_i].coordinate + ticks[_i + 1].coordinate) / 2 || _i > 0 && _i < len - 1 && coordinate > (ticks[_i].coordinate + ticks[_i - 1].coordinate) / 2 && coordinate <= (ticks[_i].coordinate + ticks[_i + 1].coordinate) / 2 || _i === len - 1 && coordinate > (ticks[_i].coordinate + ticks[_i - 1].coordinate) / 2) {\n index = ticks[_i].index;\n break;\n }\n }\n }\n return index;\n};\n\n/**\n * Get the main color of each graphic item\n * @param {ReactElement} item A graphic item\n * @return {String} Color\n */\nexport var getMainColorOfGraphicItem = function getMainColorOfGraphicItem(item) {\n var _item$type;\n var _ref = item,\n displayName = _ref.type.displayName; // TODO: check if displayName is valid.\n var defaultedProps = (_item$type = item.type) !== null && _item$type !== void 0 && _item$type.defaultProps ? _objectSpread(_objectSpread({}, item.type.defaultProps), item.props) : item.props;\n var stroke = defaultedProps.stroke,\n fill = defaultedProps.fill;\n var result;\n switch (displayName) {\n case 'Line':\n result = stroke;\n break;\n case 'Area':\n case 'Radar':\n result = stroke && stroke !== 'none' ? stroke : fill;\n break;\n default:\n result = fill;\n break;\n }\n return result;\n};\n/**\n * Calculate the size of all groups for stacked bar graph\n * @param {Object} stackGroups The items grouped by axisId and stackId\n * @return {Object} The size of all groups\n */\nexport var getBarSizeList = function getBarSizeList(_ref2) {\n var globalSize = _ref2.barSize,\n totalSize = _ref2.totalSize,\n _ref2$stackGroups = _ref2.stackGroups,\n stackGroups = _ref2$stackGroups === void 0 ? {} : _ref2$stackGroups;\n if (!stackGroups) {\n return {};\n }\n var result = {};\n var numericAxisIds = Object.keys(stackGroups);\n for (var i = 0, len = numericAxisIds.length; i < len; i++) {\n var sgs = stackGroups[numericAxisIds[i]].stackGroups;\n var stackIds = Object.keys(sgs);\n for (var j = 0, sLen = stackIds.length; j < sLen; j++) {\n var _sgs$stackIds$j = sgs[stackIds[j]],\n items = _sgs$stackIds$j.items,\n cateAxisId = _sgs$stackIds$j.cateAxisId;\n var barItems = items.filter(function (item) {\n return getDisplayName(item.type).indexOf('Bar') >= 0;\n });\n if (barItems && barItems.length) {\n var barItemDefaultProps = barItems[0].type.defaultProps;\n var barItemProps = barItemDefaultProps !== undefined ? _objectSpread(_objectSpread({}, barItemDefaultProps), barItems[0].props) : barItems[0].props;\n var selfSize = barItemProps.barSize;\n var cateId = barItemProps[cateAxisId];\n if (!result[cateId]) {\n result[cateId] = [];\n }\n var barSize = isNil(selfSize) ? globalSize : selfSize;\n result[cateId].push({\n item: barItems[0],\n stackList: barItems.slice(1),\n barSize: isNil(barSize) ? undefined : getPercentValue(barSize, totalSize, 0)\n });\n }\n }\n }\n return result;\n};\n/**\n * Calculate the size of each bar and offset between start of band and the bar\n *\n * @param {number} bandSize is the size of area where bars can render\n * @param {number | string} barGap is the gap size, as a percentage of `bandSize`.\n * Can be defined as number or percent string\n * @param {number | string} barCategoryGap is the gap size, as a percentage of `bandSize`.\n * Can be defined as number or percent string\n * @param {Array} sizeList Sizes of all groups\n * @param {number} maxBarSize The maximum size of each bar\n * @return {Array} The size and offset of each bar\n */\nexport var getBarPosition = function getBarPosition(_ref3) {\n var barGap = _ref3.barGap,\n barCategoryGap = _ref3.barCategoryGap,\n bandSize = _ref3.bandSize,\n _ref3$sizeList = _ref3.sizeList,\n sizeList = _ref3$sizeList === void 0 ? [] : _ref3$sizeList,\n maxBarSize = _ref3.maxBarSize;\n var len = sizeList.length;\n if (len < 1) return null;\n var realBarGap = getPercentValue(barGap, bandSize, 0, true);\n var result;\n var initialValue = [];\n\n // whether or not is barSize setted by user\n if (sizeList[0].barSize === +sizeList[0].barSize) {\n var useFull = false;\n var fullBarSize = bandSize / len;\n // @ts-expect-error the type check above does not check for type number explicitly\n var sum = sizeList.reduce(function (res, entry) {\n return res + entry.barSize || 0;\n }, 0);\n sum += (len - 1) * realBarGap;\n if (sum >= bandSize) {\n sum -= (len - 1) * realBarGap;\n realBarGap = 0;\n }\n if (sum >= bandSize && fullBarSize > 0) {\n useFull = true;\n fullBarSize *= 0.9;\n sum = len * fullBarSize;\n }\n var offset = (bandSize - sum) / 2 >> 0;\n var prev = {\n offset: offset - realBarGap,\n size: 0\n };\n result = sizeList.reduce(function (res, entry) {\n var newPosition = {\n item: entry.item,\n position: {\n offset: prev.offset + prev.size + realBarGap,\n // @ts-expect-error the type check above does not check for type number explicitly\n size: useFull ? fullBarSize : entry.barSize\n }\n };\n var newRes = [].concat(_toConsumableArray(res), [newPosition]);\n prev = newRes[newRes.length - 1].position;\n if (entry.stackList && entry.stackList.length) {\n entry.stackList.forEach(function (item) {\n newRes.push({\n item: item,\n position: prev\n });\n });\n }\n return newRes;\n }, initialValue);\n } else {\n var _offset = getPercentValue(barCategoryGap, bandSize, 0, true);\n if (bandSize - 2 * _offset - (len - 1) * realBarGap <= 0) {\n realBarGap = 0;\n }\n var originalSize = (bandSize - 2 * _offset - (len - 1) * realBarGap) / len;\n if (originalSize > 1) {\n originalSize >>= 0;\n }\n var size = maxBarSize === +maxBarSize ? Math.min(originalSize, maxBarSize) : originalSize;\n result = sizeList.reduce(function (res, entry, i) {\n var newRes = [].concat(_toConsumableArray(res), [{\n item: entry.item,\n position: {\n offset: _offset + (originalSize + realBarGap) * i + (originalSize - size) / 2,\n size: size\n }\n }]);\n if (entry.stackList && entry.stackList.length) {\n entry.stackList.forEach(function (item) {\n newRes.push({\n item: item,\n position: newRes[newRes.length - 1].position\n });\n });\n }\n return newRes;\n }, initialValue);\n }\n return result;\n};\nexport var appendOffsetOfLegend = function appendOffsetOfLegend(offset, _unused, props, legendBox) {\n var children = props.children,\n width = props.width,\n margin = props.margin;\n var legendWidth = width - (margin.left || 0) - (margin.right || 0);\n var legendProps = getLegendProps({\n children: children,\n legendWidth: legendWidth\n });\n if (legendProps) {\n var _ref4 = legendBox || {},\n boxWidth = _ref4.width,\n boxHeight = _ref4.height;\n var align = legendProps.align,\n verticalAlign = legendProps.verticalAlign,\n layout = legendProps.layout;\n if ((layout === 'vertical' || layout === 'horizontal' && verticalAlign === 'middle') && align !== 'center' && isNumber(offset[align])) {\n return _objectSpread(_objectSpread({}, offset), {}, _defineProperty({}, align, offset[align] + (boxWidth || 0)));\n }\n if ((layout === 'horizontal' || layout === 'vertical' && align === 'center') && verticalAlign !== 'middle' && isNumber(offset[verticalAlign])) {\n return _objectSpread(_objectSpread({}, offset), {}, _defineProperty({}, verticalAlign, offset[verticalAlign] + (boxHeight || 0)));\n }\n }\n return offset;\n};\nvar isErrorBarRelevantForAxis = function isErrorBarRelevantForAxis(layout, axisType, direction) {\n if (isNil(axisType)) {\n return true;\n }\n if (layout === 'horizontal') {\n return axisType === 'yAxis';\n }\n if (layout === 'vertical') {\n return axisType === 'xAxis';\n }\n if (direction === 'x') {\n return axisType === 'xAxis';\n }\n if (direction === 'y') {\n return axisType === 'yAxis';\n }\n return true;\n};\nexport var getDomainOfErrorBars = function getDomainOfErrorBars(data, item, dataKey, layout, axisType) {\n var children = item.props.children;\n var errorBars = findAllByType(children, ErrorBar).filter(function (errorBarChild) {\n return isErrorBarRelevantForAxis(layout, axisType, errorBarChild.props.direction);\n });\n if (errorBars && errorBars.length) {\n var keys = errorBars.map(function (errorBarChild) {\n return errorBarChild.props.dataKey;\n });\n return data.reduce(function (result, entry) {\n var entryValue = getValueByDataKey(entry, dataKey);\n if (isNil(entryValue)) return result;\n var mainValue = Array.isArray(entryValue) ? [min(entryValue), max(entryValue)] : [entryValue, entryValue];\n var errorDomain = keys.reduce(function (prevErrorArr, k) {\n var errorValue = getValueByDataKey(entry, k, 0);\n var lowerValue = mainValue[0] - Math.abs(Array.isArray(errorValue) ? errorValue[0] : errorValue);\n var upperValue = mainValue[1] + Math.abs(Array.isArray(errorValue) ? errorValue[1] : errorValue);\n return [Math.min(lowerValue, prevErrorArr[0]), Math.max(upperValue, prevErrorArr[1])];\n }, [Infinity, -Infinity]);\n return [Math.min(errorDomain[0], result[0]), Math.max(errorDomain[1], result[1])];\n }, [Infinity, -Infinity]);\n }\n return null;\n};\nexport var parseErrorBarsOfAxis = function parseErrorBarsOfAxis(data, items, dataKey, axisType, layout) {\n var domains = items.map(function (item) {\n return getDomainOfErrorBars(data, item, dataKey, layout, axisType);\n }).filter(function (entry) {\n return !isNil(entry);\n });\n if (domains && domains.length) {\n return domains.reduce(function (result, entry) {\n return [Math.min(result[0], entry[0]), Math.max(result[1], entry[1])];\n }, [Infinity, -Infinity]);\n }\n return null;\n};\n\n/**\n * Get domain of data by the configuration of item element\n * @param {Array} data The data displayed in the chart\n * @param {Array} items The instances of item\n * @param {String} type The type of axis, number - Number Axis, category - Category Axis\n * @param {LayoutType} layout The type of layout\n * @param {Boolean} filterNil Whether or not filter nil values\n * @return {Array} Domain\n */\nexport var getDomainOfItemsWithSameAxis = function getDomainOfItemsWithSameAxis(data, items, type, layout, filterNil) {\n var domains = items.map(function (item) {\n var dataKey = item.props.dataKey;\n if (type === 'number' && dataKey) {\n return getDomainOfErrorBars(data, item, dataKey, layout) || getDomainOfDataByKey(data, dataKey, type, filterNil);\n }\n return getDomainOfDataByKey(data, dataKey, type, filterNil);\n });\n if (type === 'number') {\n // Calculate the domain of number axis\n return domains.reduce(\n // @ts-expect-error if (type === number) means that the domain is numerical type\n // - but this link is missing in the type definition\n function (result, entry) {\n return [Math.min(result[0], entry[0]), Math.max(result[1], entry[1])];\n }, [Infinity, -Infinity]);\n }\n var tag = {};\n // Get the union set of category axis\n return domains.reduce(function (result, entry) {\n for (var i = 0, len = entry.length; i < len; i++) {\n // @ts-expect-error Date cannot index an object\n if (!tag[entry[i]]) {\n // @ts-expect-error Date cannot index an object\n tag[entry[i]] = true;\n\n // @ts-expect-error Date cannot index an object\n result.push(entry[i]);\n }\n }\n return result;\n }, []);\n};\nexport var isCategoricalAxis = function isCategoricalAxis(layout, axisType) {\n return layout === 'horizontal' && axisType === 'xAxis' || layout === 'vertical' && axisType === 'yAxis' || layout === 'centric' && axisType === 'angleAxis' || layout === 'radial' && axisType === 'radiusAxis';\n};\n\n/**\n * Calculate the Coordinates of grid\n * @param {Array} ticks The ticks in axis\n * @param {Number} minValue The minimun value of axis\n * @param {Number} maxValue The maximun value of axis\n * @param {boolean} syncWithTicks Synchronize grid lines with ticks or not\n * @return {Array} Coordinates\n */\nexport var getCoordinatesOfGrid = function getCoordinatesOfGrid(ticks, minValue, maxValue, syncWithTicks) {\n if (syncWithTicks) {\n return ticks.map(function (entry) {\n return entry.coordinate;\n });\n }\n var hasMin, hasMax;\n var values = ticks.map(function (entry) {\n if (entry.coordinate === minValue) {\n hasMin = true;\n }\n if (entry.coordinate === maxValue) {\n hasMax = true;\n }\n return entry.coordinate;\n });\n if (!hasMin) {\n values.push(minValue);\n }\n if (!hasMax) {\n values.push(maxValue);\n }\n return values;\n};\n\n/**\n * Get the ticks of an axis\n * @param {Object} axis The configuration of an axis\n * @param {Boolean} isGrid Whether or not are the ticks in grid\n * @param {Boolean} isAll Return the ticks of all the points or not\n * @return {Array} Ticks\n */\nexport var getTicksOfAxis = function getTicksOfAxis(axis, isGrid, isAll) {\n if (!axis) return null;\n var scale = axis.scale;\n var duplicateDomain = axis.duplicateDomain,\n type = axis.type,\n range = axis.range;\n var offsetForBand = axis.realScaleType === 'scaleBand' ? scale.bandwidth() / 2 : 2;\n var offset = (isGrid || isAll) && type === 'category' && scale.bandwidth ? scale.bandwidth() / offsetForBand : 0;\n offset = axis.axisType === 'angleAxis' && (range === null || range === void 0 ? void 0 : range.length) >= 2 ? mathSign(range[0] - range[1]) * 2 * offset : offset;\n\n // The ticks set by user should only affect the ticks adjacent to axis line\n if (isGrid && (axis.ticks || axis.niceTicks)) {\n var result = (axis.ticks || axis.niceTicks).map(function (entry) {\n var scaleContent = duplicateDomain ? duplicateDomain.indexOf(entry) : entry;\n return {\n // If the scaleContent is not a number, the coordinate will be NaN.\n // That could be the case for example with a PointScale and a string as domain.\n coordinate: scale(scaleContent) + offset,\n value: entry,\n offset: offset\n };\n });\n return result.filter(function (row) {\n return !isNan(row.coordinate);\n });\n }\n\n // When axis is a categorial axis, but the type of axis is number or the scale of axis is not \"auto\"\n if (axis.isCategorical && axis.categoricalDomain) {\n return axis.categoricalDomain.map(function (entry, index) {\n return {\n coordinate: scale(entry) + offset,\n value: entry,\n index: index,\n offset: offset\n };\n });\n }\n if (scale.ticks && !isAll) {\n return scale.ticks(axis.tickCount).map(function (entry) {\n return {\n coordinate: scale(entry) + offset,\n value: entry,\n offset: offset\n };\n });\n }\n\n // When axis has duplicated text, serial numbers are used to generate scale\n return scale.domain().map(function (entry, index) {\n return {\n coordinate: scale(entry) + offset,\n value: duplicateDomain ? duplicateDomain[entry] : entry,\n index: index,\n offset: offset\n };\n });\n};\n\n/**\n * combine the handlers\n * @param {Function} defaultHandler Internal private handler\n * @param {Function} childHandler Handler function specified in child component\n * @return {Function} The combined handler\n */\n\nvar handlerWeakMap = new WeakMap();\nexport var combineEventHandlers = function combineEventHandlers(defaultHandler, childHandler) {\n if (typeof childHandler !== 'function') {\n return defaultHandler;\n }\n if (!handlerWeakMap.has(defaultHandler)) {\n handlerWeakMap.set(defaultHandler, new WeakMap());\n }\n var childWeakMap = handlerWeakMap.get(defaultHandler);\n if (childWeakMap.has(childHandler)) {\n return childWeakMap.get(childHandler);\n }\n var combineHandler = function combineHandler() {\n defaultHandler.apply(void 0, arguments);\n childHandler.apply(void 0, arguments);\n };\n childWeakMap.set(childHandler, combineHandler);\n return combineHandler;\n};\n\n/**\n * Parse the scale function of axis\n * @param {Object} axis The option of axis\n * @param {String} chartType The displayName of chart\n * @param {Boolean} hasBar if it has a bar\n * @return {object} The scale function and resolved name\n */\nexport var parseScale = function parseScale(axis, chartType, hasBar) {\n var scale = axis.scale,\n type = axis.type,\n layout = axis.layout,\n axisType = axis.axisType;\n if (scale === 'auto') {\n if (layout === 'radial' && axisType === 'radiusAxis') {\n return {\n scale: d3Scales.scaleBand(),\n realScaleType: 'band'\n };\n }\n if (layout === 'radial' && axisType === 'angleAxis') {\n return {\n scale: d3Scales.scaleLinear(),\n realScaleType: 'linear'\n };\n }\n if (type === 'category' && chartType && (chartType.indexOf('LineChart') >= 0 || chartType.indexOf('AreaChart') >= 0 || chartType.indexOf('ComposedChart') >= 0 && !hasBar)) {\n return {\n scale: d3Scales.scalePoint(),\n realScaleType: 'point'\n };\n }\n if (type === 'category') {\n return {\n scale: d3Scales.scaleBand(),\n realScaleType: 'band'\n };\n }\n return {\n scale: d3Scales.scaleLinear(),\n realScaleType: 'linear'\n };\n }\n if (isString(scale)) {\n var name = \"scale\".concat(upperFirst(scale));\n return {\n scale: (d3Scales[name] || d3Scales.scalePoint)(),\n realScaleType: d3Scales[name] ? name : 'point'\n };\n }\n return isFunction(scale) ? {\n scale: scale\n } : {\n scale: d3Scales.scalePoint(),\n realScaleType: 'point'\n };\n};\nvar EPS = 1e-4;\nexport var checkDomainOfScale = function checkDomainOfScale(scale) {\n var domain = scale.domain();\n if (!domain || domain.length <= 2) {\n return;\n }\n var len = domain.length;\n var range = scale.range();\n var minValue = Math.min(range[0], range[1]) - EPS;\n var maxValue = Math.max(range[0], range[1]) + EPS;\n var first = scale(domain[0]);\n var last = scale(domain[len - 1]);\n if (first < minValue || first > maxValue || last < minValue || last > maxValue) {\n scale.domain([domain[0], domain[len - 1]]);\n }\n};\nexport var findPositionOfBar = function findPositionOfBar(barPosition, child) {\n if (!barPosition) {\n return null;\n }\n for (var i = 0, len = barPosition.length; i < len; i++) {\n if (barPosition[i].item === child) {\n return barPosition[i].position;\n }\n }\n return null;\n};\n\n/**\n * Both value and domain are tuples of two numbers\n * - but the type stays as array of numbers until we have better support in rest of the app\n * @param {Array} value input that will be truncated\n * @param {Array} domain boundaries\n * @returns {Array} tuple of two numbers\n */\nexport var truncateByDomain = function truncateByDomain(value, domain) {\n if (!domain || domain.length !== 2 || !isNumber(domain[0]) || !isNumber(domain[1])) {\n return value;\n }\n var minValue = Math.min(domain[0], domain[1]);\n var maxValue = Math.max(domain[0], domain[1]);\n var result = [value[0], value[1]];\n if (!isNumber(value[0]) || value[0] < minValue) {\n result[0] = minValue;\n }\n if (!isNumber(value[1]) || value[1] > maxValue) {\n result[1] = maxValue;\n }\n if (result[0] > maxValue) {\n result[0] = maxValue;\n }\n if (result[1] < minValue) {\n result[1] = minValue;\n }\n return result;\n};\n\n/**\n * Stacks all positive numbers above zero and all negative numbers below zero.\n *\n * If all values in the series are positive then this behaves the same as 'none' stacker.\n *\n * @param {Array} series from d3-shape Stack\n * @return {Array} series with applied offset\n */\nexport var offsetSign = function offsetSign(series) {\n var n = series.length;\n if (n <= 0) {\n return;\n }\n for (var j = 0, m = series[0].length; j < m; ++j) {\n var positive = 0;\n var negative = 0;\n for (var i = 0; i < n; ++i) {\n var value = isNan(series[i][j][1]) ? series[i][j][0] : series[i][j][1];\n\n /* eslint-disable prefer-destructuring, no-param-reassign */\n if (value >= 0) {\n series[i][j][0] = positive;\n series[i][j][1] = positive + value;\n positive = series[i][j][1];\n } else {\n series[i][j][0] = negative;\n series[i][j][1] = negative + value;\n negative = series[i][j][1];\n }\n /* eslint-enable prefer-destructuring, no-param-reassign */\n }\n }\n};\n\n/**\n * Replaces all negative values with zero when stacking data.\n *\n * If all values in the series are positive then this behaves the same as 'none' stacker.\n *\n * @param {Array} series from d3-shape Stack\n * @return {Array} series with applied offset\n */\nexport var offsetPositive = function offsetPositive(series) {\n var n = series.length;\n if (n <= 0) {\n return;\n }\n for (var j = 0, m = series[0].length; j < m; ++j) {\n var positive = 0;\n for (var i = 0; i < n; ++i) {\n var value = isNan(series[i][j][1]) ? series[i][j][0] : series[i][j][1];\n\n /* eslint-disable prefer-destructuring, no-param-reassign */\n if (value >= 0) {\n series[i][j][0] = positive;\n series[i][j][1] = positive + value;\n positive = series[i][j][1];\n } else {\n series[i][j][0] = 0;\n series[i][j][1] = 0;\n }\n /* eslint-enable prefer-destructuring, no-param-reassign */\n }\n }\n};\n\n/**\n * Function type to compute offset for stacked data.\n *\n * d3-shape has something fishy going on with its types.\n * In @definitelytyped/d3-shape, this function (the offset accessor) is typed as Series<> => void.\n * However! When I actually open the storybook I can see that the offset accessor actually receives Array>.\n * The same I can see in the source code itself:\n * https://github.com/DefinitelyTyped/DefinitelyTyped/discussions/66042\n * That one unfortunately has no types but we can tell it passes three-dimensional array.\n *\n * Which leads me to believe that definitelytyped is wrong on this one.\n * There's open discussion on this topic without much attention:\n * https://github.com/DefinitelyTyped/DefinitelyTyped/discussions/66042\n */\n\nvar STACK_OFFSET_MAP = {\n sign: offsetSign,\n // @ts-expect-error definitelytyped types are incorrect\n expand: stackOffsetExpand,\n // @ts-expect-error definitelytyped types are incorrect\n none: stackOffsetNone,\n // @ts-expect-error definitelytyped types are incorrect\n silhouette: stackOffsetSilhouette,\n // @ts-expect-error definitelytyped types are incorrect\n wiggle: stackOffsetWiggle,\n positive: offsetPositive\n};\nexport var getStackedData = function getStackedData(data, stackItems, offsetType) {\n var dataKeys = stackItems.map(function (item) {\n return item.props.dataKey;\n });\n var offsetAccessor = STACK_OFFSET_MAP[offsetType];\n var stack = shapeStack()\n // @ts-expect-error stack.keys type wants an array of strings, but we provide array of DataKeys\n .keys(dataKeys).value(function (d, key) {\n return +getValueByDataKey(d, key, 0);\n }).order(stackOrderNone)\n // @ts-expect-error definitelytyped types are incorrect\n .offset(offsetAccessor);\n return stack(data);\n};\nexport var getStackGroupsByAxisId = function getStackGroupsByAxisId(data, _items, numericAxisId, cateAxisId, offsetType, reverseStackOrder) {\n if (!data) {\n return null;\n }\n\n // reversing items to affect render order (for layering)\n var items = reverseStackOrder ? _items.reverse() : _items;\n var parentStackGroupsInitialValue = {};\n var stackGroups = items.reduce(function (result, item) {\n var _item$type2;\n var defaultedProps = (_item$type2 = item.type) !== null && _item$type2 !== void 0 && _item$type2.defaultProps ? _objectSpread(_objectSpread({}, item.type.defaultProps), item.props) : item.props;\n var stackId = defaultedProps.stackId,\n hide = defaultedProps.hide;\n if (hide) {\n return result;\n }\n var axisId = defaultedProps[numericAxisId];\n var parentGroup = result[axisId] || {\n hasStack: false,\n stackGroups: {}\n };\n if (isNumOrStr(stackId)) {\n var childGroup = parentGroup.stackGroups[stackId] || {\n numericAxisId: numericAxisId,\n cateAxisId: cateAxisId,\n items: []\n };\n childGroup.items.push(item);\n parentGroup.hasStack = true;\n parentGroup.stackGroups[stackId] = childGroup;\n } else {\n parentGroup.stackGroups[uniqueId('_stackId_')] = {\n numericAxisId: numericAxisId,\n cateAxisId: cateAxisId,\n items: [item]\n };\n }\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, axisId, parentGroup));\n }, parentStackGroupsInitialValue);\n var axisStackGroupsInitialValue = {};\n return Object.keys(stackGroups).reduce(function (result, axisId) {\n var group = stackGroups[axisId];\n if (group.hasStack) {\n var stackGroupsInitialValue = {};\n group.stackGroups = Object.keys(group.stackGroups).reduce(function (res, stackId) {\n var g = group.stackGroups[stackId];\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, stackId, {\n numericAxisId: numericAxisId,\n cateAxisId: cateAxisId,\n items: g.items,\n stackedData: getStackedData(data, g.items, offsetType)\n }));\n }, stackGroupsInitialValue);\n }\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, axisId, group));\n }, axisStackGroupsInitialValue);\n};\n\n/**\n * Configure the scale function of axis\n * @param {Object} scale The scale function\n * @param {Object} opts The configuration of axis\n * @return {Object} null\n */\nexport var getTicksOfScale = function getTicksOfScale(scale, opts) {\n var realScaleType = opts.realScaleType,\n type = opts.type,\n tickCount = opts.tickCount,\n originalDomain = opts.originalDomain,\n allowDecimals = opts.allowDecimals;\n var scaleType = realScaleType || opts.scale;\n if (scaleType !== 'auto' && scaleType !== 'linear') {\n return null;\n }\n if (tickCount && type === 'number' && originalDomain && (originalDomain[0] === 'auto' || originalDomain[1] === 'auto')) {\n // Calculate the ticks by the number of grid when the axis is a number axis\n var domain = scale.domain();\n if (!domain.length) {\n return null;\n }\n var tickValues = getNiceTickValues(domain, tickCount, allowDecimals);\n scale.domain([min(tickValues), max(tickValues)]);\n return {\n niceTicks: tickValues\n };\n }\n if (tickCount && type === 'number') {\n var _domain = scale.domain();\n var _tickValues = getTickValuesFixedDomain(_domain, tickCount, allowDecimals);\n return {\n niceTicks: _tickValues\n };\n }\n return null;\n};\nexport function getCateCoordinateOfLine(_ref5) {\n var axis = _ref5.axis,\n ticks = _ref5.ticks,\n bandSize = _ref5.bandSize,\n entry = _ref5.entry,\n index = _ref5.index,\n dataKey = _ref5.dataKey;\n if (axis.type === 'category') {\n // find coordinate of category axis by the value of category\n // @ts-expect-error why does this use direct object access instead of getValueByDataKey?\n if (!axis.allowDuplicatedCategory && axis.dataKey && !isNil(entry[axis.dataKey])) {\n // @ts-expect-error why does this use direct object access instead of getValueByDataKey?\n var matchedTick = findEntryInArray(ticks, 'value', entry[axis.dataKey]);\n if (matchedTick) {\n return matchedTick.coordinate + bandSize / 2;\n }\n }\n return ticks[index] ? ticks[index].coordinate + bandSize / 2 : null;\n }\n var value = getValueByDataKey(entry, !isNil(dataKey) ? dataKey : axis.dataKey);\n return !isNil(value) ? axis.scale(value) : null;\n}\nexport var getCateCoordinateOfBar = function getCateCoordinateOfBar(_ref6) {\n var axis = _ref6.axis,\n ticks = _ref6.ticks,\n offset = _ref6.offset,\n bandSize = _ref6.bandSize,\n entry = _ref6.entry,\n index = _ref6.index;\n if (axis.type === 'category') {\n return ticks[index] ? ticks[index].coordinate + offset : null;\n }\n var value = getValueByDataKey(entry, axis.dataKey, axis.domain[index]);\n return !isNil(value) ? axis.scale(value) - bandSize / 2 + offset : null;\n};\nexport var getBaseValueOfBar = function getBaseValueOfBar(_ref7) {\n var numericAxis = _ref7.numericAxis;\n var domain = numericAxis.scale.domain();\n if (numericAxis.type === 'number') {\n var minValue = Math.min(domain[0], domain[1]);\n var maxValue = Math.max(domain[0], domain[1]);\n if (minValue <= 0 && maxValue >= 0) {\n return 0;\n }\n if (maxValue < 0) {\n return maxValue;\n }\n return minValue;\n }\n return domain[0];\n};\nexport var getStackedDataOfItem = function getStackedDataOfItem(item, stackGroups) {\n var _item$type3;\n var defaultedProps = (_item$type3 = item.type) !== null && _item$type3 !== void 0 && _item$type3.defaultProps ? _objectSpread(_objectSpread({}, item.type.defaultProps), item.props) : item.props;\n var stackId = defaultedProps.stackId;\n if (isNumOrStr(stackId)) {\n var group = stackGroups[stackId];\n if (group) {\n var itemIndex = group.items.indexOf(item);\n return itemIndex >= 0 ? group.stackedData[itemIndex] : null;\n }\n }\n return null;\n};\nvar getDomainOfSingle = function getDomainOfSingle(data) {\n return data.reduce(function (result, entry) {\n return [min(entry.concat([result[0]]).filter(isNumber)), max(entry.concat([result[1]]).filter(isNumber))];\n }, [Infinity, -Infinity]);\n};\nexport var getDomainOfStackGroups = function getDomainOfStackGroups(stackGroups, startIndex, endIndex) {\n return Object.keys(stackGroups).reduce(function (result, stackId) {\n var group = stackGroups[stackId];\n var stackedData = group.stackedData;\n var domain = stackedData.reduce(function (res, entry) {\n var s = getDomainOfSingle(entry.slice(startIndex, endIndex + 1));\n return [Math.min(res[0], s[0]), Math.max(res[1], s[1])];\n }, [Infinity, -Infinity]);\n return [Math.min(domain[0], result[0]), Math.max(domain[1], result[1])];\n }, [Infinity, -Infinity]).map(function (result) {\n return result === Infinity || result === -Infinity ? 0 : result;\n });\n};\nexport var MIN_VALUE_REG = /^dataMin[\\s]*-[\\s]*([0-9]+([.]{1}[0-9]+){0,1})$/;\nexport var MAX_VALUE_REG = /^dataMax[\\s]*\\+[\\s]*([0-9]+([.]{1}[0-9]+){0,1})$/;\nexport var parseSpecifiedDomain = function parseSpecifiedDomain(specifiedDomain, dataDomain, allowDataOverflow) {\n if (isFunction(specifiedDomain)) {\n return specifiedDomain(dataDomain, allowDataOverflow);\n }\n if (!Array.isArray(specifiedDomain)) {\n return dataDomain;\n }\n var domain = [];\n\n /* eslint-disable prefer-destructuring */\n if (isNumber(specifiedDomain[0])) {\n domain[0] = allowDataOverflow ? specifiedDomain[0] : Math.min(specifiedDomain[0], dataDomain[0]);\n } else if (MIN_VALUE_REG.test(specifiedDomain[0])) {\n var value = +MIN_VALUE_REG.exec(specifiedDomain[0])[1];\n domain[0] = dataDomain[0] - value;\n } else if (isFunction(specifiedDomain[0])) {\n domain[0] = specifiedDomain[0](dataDomain[0]);\n } else {\n domain[0] = dataDomain[0];\n }\n if (isNumber(specifiedDomain[1])) {\n domain[1] = allowDataOverflow ? specifiedDomain[1] : Math.max(specifiedDomain[1], dataDomain[1]);\n } else if (MAX_VALUE_REG.test(specifiedDomain[1])) {\n var _value = +MAX_VALUE_REG.exec(specifiedDomain[1])[1];\n domain[1] = dataDomain[1] + _value;\n } else if (isFunction(specifiedDomain[1])) {\n domain[1] = specifiedDomain[1](dataDomain[1]);\n } else {\n domain[1] = dataDomain[1];\n }\n /* eslint-enable prefer-destructuring */\n\n return domain;\n};\n\n/**\n * Calculate the size between two category\n * @param {Object} axis The options of axis\n * @param {Array} ticks The ticks of axis\n * @param {Boolean} isBar if items in axis are bars\n * @return {Number} Size\n */\nexport var getBandSizeOfAxis = function getBandSizeOfAxis(axis, ticks, isBar) {\n // @ts-expect-error we need to rethink scale type\n if (axis && axis.scale && axis.scale.bandwidth) {\n // @ts-expect-error we need to rethink scale type\n var bandWidth = axis.scale.bandwidth();\n if (!isBar || bandWidth > 0) {\n return bandWidth;\n }\n }\n if (axis && ticks && ticks.length >= 2) {\n var orderedTicks = sortBy(ticks, function (o) {\n return o.coordinate;\n });\n var bandSize = Infinity;\n for (var i = 1, len = orderedTicks.length; i < len; i++) {\n var cur = orderedTicks[i];\n var prev = orderedTicks[i - 1];\n bandSize = Math.min((cur.coordinate || 0) - (prev.coordinate || 0), bandSize);\n }\n return bandSize === Infinity ? 0 : bandSize;\n }\n return isBar ? undefined : 0;\n};\n/**\n * parse the domain of a category axis when a domain is specified\n * @param {Array} specifiedDomain The domain specified by users\n * @param {Array} calculatedDomain The domain calculated by dateKey\n * @param {ReactElement} axisChild The axis ReactElement\n * @returns {Array} domains\n */\nexport var parseDomainOfCategoryAxis = function parseDomainOfCategoryAxis(specifiedDomain, calculatedDomain, axisChild) {\n if (!specifiedDomain || !specifiedDomain.length) {\n return calculatedDomain;\n }\n if (isEqual(specifiedDomain, get(axisChild, 'type.defaultProps.domain'))) {\n return calculatedDomain;\n }\n return specifiedDomain;\n};\nexport var getTooltipItem = function getTooltipItem(graphicalItem, payload) {\n var defaultedProps = graphicalItem.type.defaultProps ? _objectSpread(_objectSpread({}, graphicalItem.type.defaultProps), graphicalItem.props) : graphicalItem.props;\n var dataKey = defaultedProps.dataKey,\n name = defaultedProps.name,\n unit = defaultedProps.unit,\n formatter = defaultedProps.formatter,\n tooltipType = defaultedProps.tooltipType,\n chartType = defaultedProps.chartType,\n hide = defaultedProps.hide;\n return _objectSpread(_objectSpread({}, filterProps(graphicalItem, false)), {}, {\n dataKey: dataKey,\n unit: unit,\n formatter: formatter,\n name: name || dataKey,\n color: getMainColorOfGraphicItem(graphicalItem),\n value: getValueByDataKey(payload, dataKey),\n type: tooltipType,\n payload: payload,\n chartType: chartType,\n hide: hide\n });\n};","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nimport isNil from 'lodash/isNil';\nimport { isValidElement } from 'react';\nimport isFunction from 'lodash/isFunction';\nimport { getPercentValue } from './DataUtils';\nimport { parseScale, checkDomainOfScale, getTicksOfScale } from './ChartUtils';\nexport var RADIAN = Math.PI / 180;\nexport var degreeToRadian = function degreeToRadian(angle) {\n return angle * Math.PI / 180;\n};\nexport var radianToDegree = function radianToDegree(angleInRadian) {\n return angleInRadian * 180 / Math.PI;\n};\nexport var polarToCartesian = function polarToCartesian(cx, cy, radius, angle) {\n return {\n x: cx + Math.cos(-RADIAN * angle) * radius,\n y: cy + Math.sin(-RADIAN * angle) * radius\n };\n};\nexport var getMaxRadius = function getMaxRadius(width, height) {\n var offset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n return Math.min(Math.abs(width - (offset.left || 0) - (offset.right || 0)), Math.abs(height - (offset.top || 0) - (offset.bottom || 0))) / 2;\n};\n\n/**\n * Calculate the scale function, position, width, height of axes\n * @param {Object} props Latest props\n * @param {Object} axisMap The configuration of axes\n * @param {Object} offset The offset of main part in the svg element\n * @param {Object} axisType The type of axes, radius-axis or angle-axis\n * @param {String} chartName The name of chart\n * @return {Object} Configuration\n */\nexport var formatAxisMap = function formatAxisMap(props, axisMap, offset, axisType, chartName) {\n var width = props.width,\n height = props.height;\n var startAngle = props.startAngle,\n endAngle = props.endAngle;\n var cx = getPercentValue(props.cx, width, width / 2);\n var cy = getPercentValue(props.cy, height, height / 2);\n var maxRadius = getMaxRadius(width, height, offset);\n var innerRadius = getPercentValue(props.innerRadius, maxRadius, 0);\n var outerRadius = getPercentValue(props.outerRadius, maxRadius, maxRadius * 0.8);\n var ids = Object.keys(axisMap);\n return ids.reduce(function (result, id) {\n var axis = axisMap[id];\n var domain = axis.domain,\n reversed = axis.reversed;\n var range;\n if (isNil(axis.range)) {\n if (axisType === 'angleAxis') {\n range = [startAngle, endAngle];\n } else if (axisType === 'radiusAxis') {\n range = [innerRadius, outerRadius];\n }\n if (reversed) {\n range = [range[1], range[0]];\n }\n } else {\n range = axis.range;\n var _range = range;\n var _range2 = _slicedToArray(_range, 2);\n startAngle = _range2[0];\n endAngle = _range2[1];\n }\n var _parseScale = parseScale(axis, chartName),\n realScaleType = _parseScale.realScaleType,\n scale = _parseScale.scale;\n scale.domain(domain).range(range);\n checkDomainOfScale(scale);\n var ticks = getTicksOfScale(scale, _objectSpread(_objectSpread({}, axis), {}, {\n realScaleType: realScaleType\n }));\n var finalAxis = _objectSpread(_objectSpread(_objectSpread({}, axis), ticks), {}, {\n range: range,\n radius: outerRadius,\n realScaleType: realScaleType,\n scale: scale,\n cx: cx,\n cy: cy,\n innerRadius: innerRadius,\n outerRadius: outerRadius,\n startAngle: startAngle,\n endAngle: endAngle\n });\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, id, finalAxis));\n }, {});\n};\nexport var distanceBetweenPoints = function distanceBetweenPoints(point, anotherPoint) {\n var x1 = point.x,\n y1 = point.y;\n var x2 = anotherPoint.x,\n y2 = anotherPoint.y;\n return Math.sqrt(Math.pow(x1 - x2, 2) + Math.pow(y1 - y2, 2));\n};\nexport var getAngleOfPoint = function getAngleOfPoint(_ref, _ref2) {\n var x = _ref.x,\n y = _ref.y;\n var cx = _ref2.cx,\n cy = _ref2.cy;\n var radius = distanceBetweenPoints({\n x: x,\n y: y\n }, {\n x: cx,\n y: cy\n });\n if (radius <= 0) {\n return {\n radius: radius\n };\n }\n var cos = (x - cx) / radius;\n var angleInRadian = Math.acos(cos);\n if (y > cy) {\n angleInRadian = 2 * Math.PI - angleInRadian;\n }\n return {\n radius: radius,\n angle: radianToDegree(angleInRadian),\n angleInRadian: angleInRadian\n };\n};\nexport var formatAngleOfSector = function formatAngleOfSector(_ref3) {\n var startAngle = _ref3.startAngle,\n endAngle = _ref3.endAngle;\n var startCnt = Math.floor(startAngle / 360);\n var endCnt = Math.floor(endAngle / 360);\n var min = Math.min(startCnt, endCnt);\n return {\n startAngle: startAngle - min * 360,\n endAngle: endAngle - min * 360\n };\n};\nvar reverseFormatAngleOfSetor = function reverseFormatAngleOfSetor(angle, _ref4) {\n var startAngle = _ref4.startAngle,\n endAngle = _ref4.endAngle;\n var startCnt = Math.floor(startAngle / 360);\n var endCnt = Math.floor(endAngle / 360);\n var min = Math.min(startCnt, endCnt);\n return angle + min * 360;\n};\nexport var inRangeOfSector = function inRangeOfSector(_ref5, sector) {\n var x = _ref5.x,\n y = _ref5.y;\n var _getAngleOfPoint = getAngleOfPoint({\n x: x,\n y: y\n }, sector),\n radius = _getAngleOfPoint.radius,\n angle = _getAngleOfPoint.angle;\n var innerRadius = sector.innerRadius,\n outerRadius = sector.outerRadius;\n if (radius < innerRadius || radius > outerRadius) {\n return false;\n }\n if (radius === 0) {\n return true;\n }\n var _formatAngleOfSector = formatAngleOfSector(sector),\n startAngle = _formatAngleOfSector.startAngle,\n endAngle = _formatAngleOfSector.endAngle;\n var formatAngle = angle;\n var inRange;\n if (startAngle <= endAngle) {\n while (formatAngle > endAngle) {\n formatAngle -= 360;\n }\n while (formatAngle < startAngle) {\n formatAngle += 360;\n }\n inRange = formatAngle >= startAngle && formatAngle <= endAngle;\n } else {\n while (formatAngle > startAngle) {\n formatAngle -= 360;\n }\n while (formatAngle < endAngle) {\n formatAngle += 360;\n }\n inRange = formatAngle >= endAngle && formatAngle <= startAngle;\n }\n if (inRange) {\n return _objectSpread(_objectSpread({}, sector), {}, {\n radius: radius,\n angle: reverseFormatAngleOfSetor(formatAngle, sector)\n });\n }\n return null;\n};\nexport var getTickClassName = function getTickClassName(tick) {\n return ! /*#__PURE__*/isValidElement(tick) && !isFunction(tick) && typeof tick !== 'boolean' ? tick.className : '';\n};","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nvar _excluded = [\"offset\"];\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React, { cloneElement, isValidElement, createElement } from 'react';\nimport isNil from 'lodash/isNil';\nimport isFunction from 'lodash/isFunction';\nimport isObject from 'lodash/isObject';\nimport clsx from 'clsx';\nimport { Text } from './Text';\nimport { findAllByType, filterProps } from '../util/ReactUtils';\nimport { isNumOrStr, isNumber, isPercent, getPercentValue, uniqueId, mathSign } from '../util/DataUtils';\nimport { polarToCartesian } from '../util/PolarUtils';\nvar getLabel = function getLabel(props) {\n var value = props.value,\n formatter = props.formatter;\n var label = isNil(props.children) ? value : props.children;\n if (isFunction(formatter)) {\n return formatter(label);\n }\n return label;\n};\nvar getDeltaAngle = function getDeltaAngle(startAngle, endAngle) {\n var sign = mathSign(endAngle - startAngle);\n var deltaAngle = Math.min(Math.abs(endAngle - startAngle), 360);\n return sign * deltaAngle;\n};\nvar renderRadialLabel = function renderRadialLabel(labelProps, label, attrs) {\n var position = labelProps.position,\n viewBox = labelProps.viewBox,\n offset = labelProps.offset,\n className = labelProps.className;\n var _ref = viewBox,\n cx = _ref.cx,\n cy = _ref.cy,\n innerRadius = _ref.innerRadius,\n outerRadius = _ref.outerRadius,\n startAngle = _ref.startAngle,\n endAngle = _ref.endAngle,\n clockWise = _ref.clockWise;\n var radius = (innerRadius + outerRadius) / 2;\n var deltaAngle = getDeltaAngle(startAngle, endAngle);\n var sign = deltaAngle >= 0 ? 1 : -1;\n var labelAngle, direction;\n if (position === 'insideStart') {\n labelAngle = startAngle + sign * offset;\n direction = clockWise;\n } else if (position === 'insideEnd') {\n labelAngle = endAngle - sign * offset;\n direction = !clockWise;\n } else if (position === 'end') {\n labelAngle = endAngle + sign * offset;\n direction = clockWise;\n }\n direction = deltaAngle <= 0 ? direction : !direction;\n var startPoint = polarToCartesian(cx, cy, radius, labelAngle);\n var endPoint = polarToCartesian(cx, cy, radius, labelAngle + (direction ? 1 : -1) * 359);\n var path = \"M\".concat(startPoint.x, \",\").concat(startPoint.y, \"\\n A\").concat(radius, \",\").concat(radius, \",0,1,\").concat(direction ? 0 : 1, \",\\n \").concat(endPoint.x, \",\").concat(endPoint.y);\n var id = isNil(labelProps.id) ? uniqueId('recharts-radial-line-') : labelProps.id;\n return /*#__PURE__*/React.createElement(\"text\", _extends({}, attrs, {\n dominantBaseline: \"central\",\n className: clsx('recharts-radial-bar-label', className)\n }), /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"path\", {\n id: id,\n d: path\n })), /*#__PURE__*/React.createElement(\"textPath\", {\n xlinkHref: \"#\".concat(id)\n }, label));\n};\nvar getAttrsOfPolarLabel = function getAttrsOfPolarLabel(props) {\n var viewBox = props.viewBox,\n offset = props.offset,\n position = props.position;\n var _ref2 = viewBox,\n cx = _ref2.cx,\n cy = _ref2.cy,\n innerRadius = _ref2.innerRadius,\n outerRadius = _ref2.outerRadius,\n startAngle = _ref2.startAngle,\n endAngle = _ref2.endAngle;\n var midAngle = (startAngle + endAngle) / 2;\n if (position === 'outside') {\n var _polarToCartesian = polarToCartesian(cx, cy, outerRadius + offset, midAngle),\n _x = _polarToCartesian.x,\n _y = _polarToCartesian.y;\n return {\n x: _x,\n y: _y,\n textAnchor: _x >= cx ? 'start' : 'end',\n verticalAnchor: 'middle'\n };\n }\n if (position === 'center') {\n return {\n x: cx,\n y: cy,\n textAnchor: 'middle',\n verticalAnchor: 'middle'\n };\n }\n if (position === 'centerTop') {\n return {\n x: cx,\n y: cy,\n textAnchor: 'middle',\n verticalAnchor: 'start'\n };\n }\n if (position === 'centerBottom') {\n return {\n x: cx,\n y: cy,\n textAnchor: 'middle',\n verticalAnchor: 'end'\n };\n }\n var r = (innerRadius + outerRadius) / 2;\n var _polarToCartesian2 = polarToCartesian(cx, cy, r, midAngle),\n x = _polarToCartesian2.x,\n y = _polarToCartesian2.y;\n return {\n x: x,\n y: y,\n textAnchor: 'middle',\n verticalAnchor: 'middle'\n };\n};\nvar getAttrsOfCartesianLabel = function getAttrsOfCartesianLabel(props) {\n var viewBox = props.viewBox,\n parentViewBox = props.parentViewBox,\n offset = props.offset,\n position = props.position;\n var _ref3 = viewBox,\n x = _ref3.x,\n y = _ref3.y,\n width = _ref3.width,\n height = _ref3.height;\n\n // Define vertical offsets and position inverts based on the value being positive or negative\n var verticalSign = height >= 0 ? 1 : -1;\n var verticalOffset = verticalSign * offset;\n var verticalEnd = verticalSign > 0 ? 'end' : 'start';\n var verticalStart = verticalSign > 0 ? 'start' : 'end';\n\n // Define horizontal offsets and position inverts based on the value being positive or negative\n var horizontalSign = width >= 0 ? 1 : -1;\n var horizontalOffset = horizontalSign * offset;\n var horizontalEnd = horizontalSign > 0 ? 'end' : 'start';\n var horizontalStart = horizontalSign > 0 ? 'start' : 'end';\n if (position === 'top') {\n var attrs = {\n x: x + width / 2,\n y: y - verticalSign * offset,\n textAnchor: 'middle',\n verticalAnchor: verticalEnd\n };\n return _objectSpread(_objectSpread({}, attrs), parentViewBox ? {\n height: Math.max(y - parentViewBox.y, 0),\n width: width\n } : {});\n }\n if (position === 'bottom') {\n var _attrs = {\n x: x + width / 2,\n y: y + height + verticalOffset,\n textAnchor: 'middle',\n verticalAnchor: verticalStart\n };\n return _objectSpread(_objectSpread({}, _attrs), parentViewBox ? {\n height: Math.max(parentViewBox.y + parentViewBox.height - (y + height), 0),\n width: width\n } : {});\n }\n if (position === 'left') {\n var _attrs2 = {\n x: x - horizontalOffset,\n y: y + height / 2,\n textAnchor: horizontalEnd,\n verticalAnchor: 'middle'\n };\n return _objectSpread(_objectSpread({}, _attrs2), parentViewBox ? {\n width: Math.max(_attrs2.x - parentViewBox.x, 0),\n height: height\n } : {});\n }\n if (position === 'right') {\n var _attrs3 = {\n x: x + width + horizontalOffset,\n y: y + height / 2,\n textAnchor: horizontalStart,\n verticalAnchor: 'middle'\n };\n return _objectSpread(_objectSpread({}, _attrs3), parentViewBox ? {\n width: Math.max(parentViewBox.x + parentViewBox.width - _attrs3.x, 0),\n height: height\n } : {});\n }\n var sizeAttrs = parentViewBox ? {\n width: width,\n height: height\n } : {};\n if (position === 'insideLeft') {\n return _objectSpread({\n x: x + horizontalOffset,\n y: y + height / 2,\n textAnchor: horizontalStart,\n verticalAnchor: 'middle'\n }, sizeAttrs);\n }\n if (position === 'insideRight') {\n return _objectSpread({\n x: x + width - horizontalOffset,\n y: y + height / 2,\n textAnchor: horizontalEnd,\n verticalAnchor: 'middle'\n }, sizeAttrs);\n }\n if (position === 'insideTop') {\n return _objectSpread({\n x: x + width / 2,\n y: y + verticalOffset,\n textAnchor: 'middle',\n verticalAnchor: verticalStart\n }, sizeAttrs);\n }\n if (position === 'insideBottom') {\n return _objectSpread({\n x: x + width / 2,\n y: y + height - verticalOffset,\n textAnchor: 'middle',\n verticalAnchor: verticalEnd\n }, sizeAttrs);\n }\n if (position === 'insideTopLeft') {\n return _objectSpread({\n x: x + horizontalOffset,\n y: y + verticalOffset,\n textAnchor: horizontalStart,\n verticalAnchor: verticalStart\n }, sizeAttrs);\n }\n if (position === 'insideTopRight') {\n return _objectSpread({\n x: x + width - horizontalOffset,\n y: y + verticalOffset,\n textAnchor: horizontalEnd,\n verticalAnchor: verticalStart\n }, sizeAttrs);\n }\n if (position === 'insideBottomLeft') {\n return _objectSpread({\n x: x + horizontalOffset,\n y: y + height - verticalOffset,\n textAnchor: horizontalStart,\n verticalAnchor: verticalEnd\n }, sizeAttrs);\n }\n if (position === 'insideBottomRight') {\n return _objectSpread({\n x: x + width - horizontalOffset,\n y: y + height - verticalOffset,\n textAnchor: horizontalEnd,\n verticalAnchor: verticalEnd\n }, sizeAttrs);\n }\n if (isObject(position) && (isNumber(position.x) || isPercent(position.x)) && (isNumber(position.y) || isPercent(position.y))) {\n return _objectSpread({\n x: x + getPercentValue(position.x, width),\n y: y + getPercentValue(position.y, height),\n textAnchor: 'end',\n verticalAnchor: 'end'\n }, sizeAttrs);\n }\n return _objectSpread({\n x: x + width / 2,\n y: y + height / 2,\n textAnchor: 'middle',\n verticalAnchor: 'middle'\n }, sizeAttrs);\n};\nvar isPolar = function isPolar(viewBox) {\n return 'cx' in viewBox && isNumber(viewBox.cx);\n};\nexport function Label(_ref4) {\n var _ref4$offset = _ref4.offset,\n offset = _ref4$offset === void 0 ? 5 : _ref4$offset,\n restProps = _objectWithoutProperties(_ref4, _excluded);\n var props = _objectSpread({\n offset: offset\n }, restProps);\n var viewBox = props.viewBox,\n position = props.position,\n value = props.value,\n children = props.children,\n content = props.content,\n _props$className = props.className,\n className = _props$className === void 0 ? '' : _props$className,\n textBreakAll = props.textBreakAll;\n if (!viewBox || isNil(value) && isNil(children) && ! /*#__PURE__*/isValidElement(content) && !isFunction(content)) {\n return null;\n }\n if ( /*#__PURE__*/isValidElement(content)) {\n return /*#__PURE__*/cloneElement(content, props);\n }\n var label;\n if (isFunction(content)) {\n label = /*#__PURE__*/createElement(content, props);\n if ( /*#__PURE__*/isValidElement(label)) {\n return label;\n }\n } else {\n label = getLabel(props);\n }\n var isPolarLabel = isPolar(viewBox);\n var attrs = filterProps(props, true);\n if (isPolarLabel && (position === 'insideStart' || position === 'insideEnd' || position === 'end')) {\n return renderRadialLabel(props, label, attrs);\n }\n var positionAttrs = isPolarLabel ? getAttrsOfPolarLabel(props) : getAttrsOfCartesianLabel(props);\n return /*#__PURE__*/React.createElement(Text, _extends({\n className: clsx('recharts-label', className)\n }, attrs, positionAttrs, {\n breakAll: textBreakAll\n }), label);\n}\nLabel.displayName = 'Label';\nvar parseViewBox = function parseViewBox(props) {\n var cx = props.cx,\n cy = props.cy,\n angle = props.angle,\n startAngle = props.startAngle,\n endAngle = props.endAngle,\n r = props.r,\n radius = props.radius,\n innerRadius = props.innerRadius,\n outerRadius = props.outerRadius,\n x = props.x,\n y = props.y,\n top = props.top,\n left = props.left,\n width = props.width,\n height = props.height,\n clockWise = props.clockWise,\n labelViewBox = props.labelViewBox;\n if (labelViewBox) {\n return labelViewBox;\n }\n if (isNumber(width) && isNumber(height)) {\n if (isNumber(x) && isNumber(y)) {\n return {\n x: x,\n y: y,\n width: width,\n height: height\n };\n }\n if (isNumber(top) && isNumber(left)) {\n return {\n x: top,\n y: left,\n width: width,\n height: height\n };\n }\n }\n if (isNumber(x) && isNumber(y)) {\n return {\n x: x,\n y: y,\n width: 0,\n height: 0\n };\n }\n if (isNumber(cx) && isNumber(cy)) {\n return {\n cx: cx,\n cy: cy,\n startAngle: startAngle || angle || 0,\n endAngle: endAngle || angle || 0,\n innerRadius: innerRadius || 0,\n outerRadius: outerRadius || radius || r || 0,\n clockWise: clockWise\n };\n }\n if (props.viewBox) {\n return props.viewBox;\n }\n return {};\n};\nvar parseLabel = function parseLabel(label, viewBox) {\n if (!label) {\n return null;\n }\n if (label === true) {\n return /*#__PURE__*/React.createElement(Label, {\n key: \"label-implicit\",\n viewBox: viewBox\n });\n }\n if (isNumOrStr(label)) {\n return /*#__PURE__*/React.createElement(Label, {\n key: \"label-implicit\",\n viewBox: viewBox,\n value: label\n });\n }\n if ( /*#__PURE__*/isValidElement(label)) {\n if (label.type === Label) {\n return /*#__PURE__*/cloneElement(label, {\n key: 'label-implicit',\n viewBox: viewBox\n });\n }\n return /*#__PURE__*/React.createElement(Label, {\n key: \"label-implicit\",\n content: label,\n viewBox: viewBox\n });\n }\n if (isFunction(label)) {\n return /*#__PURE__*/React.createElement(Label, {\n key: \"label-implicit\",\n content: label,\n viewBox: viewBox\n });\n }\n if (isObject(label)) {\n return /*#__PURE__*/React.createElement(Label, _extends({\n viewBox: viewBox\n }, label, {\n key: \"label-implicit\"\n }));\n }\n return null;\n};\nvar renderCallByParent = function renderCallByParent(parentProps, viewBox) {\n var checkPropsLabel = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n if (!parentProps || !parentProps.children && checkPropsLabel && !parentProps.label) {\n return null;\n }\n var children = parentProps.children;\n var parentViewBox = parseViewBox(parentProps);\n var explicitChildren = findAllByType(children, Label).map(function (child, index) {\n return /*#__PURE__*/cloneElement(child, {\n viewBox: viewBox || parentViewBox,\n // eslint-disable-next-line react/no-array-index-key\n key: \"label-\".concat(index)\n });\n });\n if (!checkPropsLabel) {\n return explicitChildren;\n }\n var implicitLabel = parseLabel(parentProps.label, viewBox || parentViewBox);\n return [implicitLabel].concat(_toConsumableArray(explicitChildren));\n};\nLabel.parseViewBox = parseViewBox;\nLabel.renderCallByParent = renderCallByParent;","/**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\nfunction last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n}\n\nmodule.exports = last;\n","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nvar _excluded = [\"valueAccessor\"],\n _excluded2 = [\"data\", \"dataKey\", \"clockWise\", \"id\", \"textBreakAll\"];\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\nimport React, { cloneElement } from 'react';\nimport isNil from 'lodash/isNil';\nimport isObject from 'lodash/isObject';\nimport isFunction from 'lodash/isFunction';\nimport last from 'lodash/last';\nimport { Label } from './Label';\nimport { Layer } from '../container/Layer';\nimport { findAllByType, filterProps } from '../util/ReactUtils';\nimport { getValueByDataKey } from '../util/ChartUtils';\nvar defaultAccessor = function defaultAccessor(entry) {\n return Array.isArray(entry.value) ? last(entry.value) : entry.value;\n};\nexport function LabelList(_ref) {\n var _ref$valueAccessor = _ref.valueAccessor,\n valueAccessor = _ref$valueAccessor === void 0 ? defaultAccessor : _ref$valueAccessor,\n restProps = _objectWithoutProperties(_ref, _excluded);\n var data = restProps.data,\n dataKey = restProps.dataKey,\n clockWise = restProps.clockWise,\n id = restProps.id,\n textBreakAll = restProps.textBreakAll,\n others = _objectWithoutProperties(restProps, _excluded2);\n if (!data || !data.length) {\n return null;\n }\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-label-list\"\n }, data.map(function (entry, index) {\n var value = isNil(dataKey) ? valueAccessor(entry, index) : getValueByDataKey(entry && entry.payload, dataKey);\n var idProps = isNil(id) ? {} : {\n id: \"\".concat(id, \"-\").concat(index)\n };\n return /*#__PURE__*/React.createElement(Label, _extends({}, filterProps(entry, true), others, idProps, {\n parentViewBox: entry.parentViewBox,\n value: value,\n textBreakAll: textBreakAll,\n viewBox: Label.parseViewBox(isNil(clockWise) ? entry : _objectSpread(_objectSpread({}, entry), {}, {\n clockWise: clockWise\n })),\n key: \"label-\".concat(index) // eslint-disable-line react/no-array-index-key\n ,\n index: index\n }));\n }));\n}\nLabelList.displayName = 'LabelList';\nfunction parseLabelList(label, data) {\n if (!label) {\n return null;\n }\n if (label === true) {\n return /*#__PURE__*/React.createElement(LabelList, {\n key: \"labelList-implicit\",\n data: data\n });\n }\n if ( /*#__PURE__*/React.isValidElement(label) || isFunction(label)) {\n return /*#__PURE__*/React.createElement(LabelList, {\n key: \"labelList-implicit\",\n data: data,\n content: label\n });\n }\n if (isObject(label)) {\n return /*#__PURE__*/React.createElement(LabelList, _extends({\n data: data\n }, label, {\n key: \"labelList-implicit\"\n }));\n }\n return null;\n}\nfunction renderCallByParent(parentProps, data) {\n var checkPropsLabel = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n if (!parentProps || !parentProps.children && checkPropsLabel && !parentProps.label) {\n return null;\n }\n var children = parentProps.children;\n var explicitChildren = findAllByType(children, LabelList).map(function (child, index) {\n return /*#__PURE__*/cloneElement(child, {\n data: data,\n // eslint-disable-next-line react/no-array-index-key\n key: \"labelList-\".concat(index)\n });\n });\n if (!checkPropsLabel) {\n return explicitChildren;\n }\n var implicitLabelList = parseLabelList(parentProps.label, data);\n return [implicitLabelList].concat(_toConsumableArray(explicitChildren));\n}\nLabelList.renderCallByParent = renderCallByParent;","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview Sector\n */\nimport React from 'react';\nimport clsx from 'clsx';\nimport { filterProps } from '../util/ReactUtils';\nimport { polarToCartesian, RADIAN } from '../util/PolarUtils';\nimport { getPercentValue, mathSign } from '../util/DataUtils';\nvar getDeltaAngle = function getDeltaAngle(startAngle, endAngle) {\n var sign = mathSign(endAngle - startAngle);\n var deltaAngle = Math.min(Math.abs(endAngle - startAngle), 359.999);\n return sign * deltaAngle;\n};\nvar getTangentCircle = function getTangentCircle(_ref) {\n var cx = _ref.cx,\n cy = _ref.cy,\n radius = _ref.radius,\n angle = _ref.angle,\n sign = _ref.sign,\n isExternal = _ref.isExternal,\n cornerRadius = _ref.cornerRadius,\n cornerIsExternal = _ref.cornerIsExternal;\n var centerRadius = cornerRadius * (isExternal ? 1 : -1) + radius;\n var theta = Math.asin(cornerRadius / centerRadius) / RADIAN;\n var centerAngle = cornerIsExternal ? angle : angle + sign * theta;\n var center = polarToCartesian(cx, cy, centerRadius, centerAngle);\n // The coordinate of point which is tangent to the circle\n var circleTangency = polarToCartesian(cx, cy, radius, centerAngle);\n // The coordinate of point which is tangent to the radius line\n var lineTangencyAngle = cornerIsExternal ? angle - sign * theta : angle;\n var lineTangency = polarToCartesian(cx, cy, centerRadius * Math.cos(theta * RADIAN), lineTangencyAngle);\n return {\n center: center,\n circleTangency: circleTangency,\n lineTangency: lineTangency,\n theta: theta\n };\n};\nvar getSectorPath = function getSectorPath(_ref2) {\n var cx = _ref2.cx,\n cy = _ref2.cy,\n innerRadius = _ref2.innerRadius,\n outerRadius = _ref2.outerRadius,\n startAngle = _ref2.startAngle,\n endAngle = _ref2.endAngle;\n var angle = getDeltaAngle(startAngle, endAngle);\n\n // When the angle of sector equals to 360, star point and end point coincide\n var tempEndAngle = startAngle + angle;\n var outerStartPoint = polarToCartesian(cx, cy, outerRadius, startAngle);\n var outerEndPoint = polarToCartesian(cx, cy, outerRadius, tempEndAngle);\n var path = \"M \".concat(outerStartPoint.x, \",\").concat(outerStartPoint.y, \"\\n A \").concat(outerRadius, \",\").concat(outerRadius, \",0,\\n \").concat(+(Math.abs(angle) > 180), \",\").concat(+(startAngle > tempEndAngle), \",\\n \").concat(outerEndPoint.x, \",\").concat(outerEndPoint.y, \"\\n \");\n if (innerRadius > 0) {\n var innerStartPoint = polarToCartesian(cx, cy, innerRadius, startAngle);\n var innerEndPoint = polarToCartesian(cx, cy, innerRadius, tempEndAngle);\n path += \"L \".concat(innerEndPoint.x, \",\").concat(innerEndPoint.y, \"\\n A \").concat(innerRadius, \",\").concat(innerRadius, \",0,\\n \").concat(+(Math.abs(angle) > 180), \",\").concat(+(startAngle <= tempEndAngle), \",\\n \").concat(innerStartPoint.x, \",\").concat(innerStartPoint.y, \" Z\");\n } else {\n path += \"L \".concat(cx, \",\").concat(cy, \" Z\");\n }\n return path;\n};\nvar getSectorWithCorner = function getSectorWithCorner(_ref3) {\n var cx = _ref3.cx,\n cy = _ref3.cy,\n innerRadius = _ref3.innerRadius,\n outerRadius = _ref3.outerRadius,\n cornerRadius = _ref3.cornerRadius,\n forceCornerRadius = _ref3.forceCornerRadius,\n cornerIsExternal = _ref3.cornerIsExternal,\n startAngle = _ref3.startAngle,\n endAngle = _ref3.endAngle;\n var sign = mathSign(endAngle - startAngle);\n var _getTangentCircle = getTangentCircle({\n cx: cx,\n cy: cy,\n radius: outerRadius,\n angle: startAngle,\n sign: sign,\n cornerRadius: cornerRadius,\n cornerIsExternal: cornerIsExternal\n }),\n soct = _getTangentCircle.circleTangency,\n solt = _getTangentCircle.lineTangency,\n sot = _getTangentCircle.theta;\n var _getTangentCircle2 = getTangentCircle({\n cx: cx,\n cy: cy,\n radius: outerRadius,\n angle: endAngle,\n sign: -sign,\n cornerRadius: cornerRadius,\n cornerIsExternal: cornerIsExternal\n }),\n eoct = _getTangentCircle2.circleTangency,\n eolt = _getTangentCircle2.lineTangency,\n eot = _getTangentCircle2.theta;\n var outerArcAngle = cornerIsExternal ? Math.abs(startAngle - endAngle) : Math.abs(startAngle - endAngle) - sot - eot;\n if (outerArcAngle < 0) {\n if (forceCornerRadius) {\n return \"M \".concat(solt.x, \",\").concat(solt.y, \"\\n a\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,1,\").concat(cornerRadius * 2, \",0\\n a\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,1,\").concat(-cornerRadius * 2, \",0\\n \");\n }\n return getSectorPath({\n cx: cx,\n cy: cy,\n innerRadius: innerRadius,\n outerRadius: outerRadius,\n startAngle: startAngle,\n endAngle: endAngle\n });\n }\n var path = \"M \".concat(solt.x, \",\").concat(solt.y, \"\\n A\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,\").concat(+(sign < 0), \",\").concat(soct.x, \",\").concat(soct.y, \"\\n A\").concat(outerRadius, \",\").concat(outerRadius, \",0,\").concat(+(outerArcAngle > 180), \",\").concat(+(sign < 0), \",\").concat(eoct.x, \",\").concat(eoct.y, \"\\n A\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,\").concat(+(sign < 0), \",\").concat(eolt.x, \",\").concat(eolt.y, \"\\n \");\n if (innerRadius > 0) {\n var _getTangentCircle3 = getTangentCircle({\n cx: cx,\n cy: cy,\n radius: innerRadius,\n angle: startAngle,\n sign: sign,\n isExternal: true,\n cornerRadius: cornerRadius,\n cornerIsExternal: cornerIsExternal\n }),\n sict = _getTangentCircle3.circleTangency,\n silt = _getTangentCircle3.lineTangency,\n sit = _getTangentCircle3.theta;\n var _getTangentCircle4 = getTangentCircle({\n cx: cx,\n cy: cy,\n radius: innerRadius,\n angle: endAngle,\n sign: -sign,\n isExternal: true,\n cornerRadius: cornerRadius,\n cornerIsExternal: cornerIsExternal\n }),\n eict = _getTangentCircle4.circleTangency,\n eilt = _getTangentCircle4.lineTangency,\n eit = _getTangentCircle4.theta;\n var innerArcAngle = cornerIsExternal ? Math.abs(startAngle - endAngle) : Math.abs(startAngle - endAngle) - sit - eit;\n if (innerArcAngle < 0 && cornerRadius === 0) {\n return \"\".concat(path, \"L\").concat(cx, \",\").concat(cy, \"Z\");\n }\n path += \"L\".concat(eilt.x, \",\").concat(eilt.y, \"\\n A\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,\").concat(+(sign < 0), \",\").concat(eict.x, \",\").concat(eict.y, \"\\n A\").concat(innerRadius, \",\").concat(innerRadius, \",0,\").concat(+(innerArcAngle > 180), \",\").concat(+(sign > 0), \",\").concat(sict.x, \",\").concat(sict.y, \"\\n A\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,\").concat(+(sign < 0), \",\").concat(silt.x, \",\").concat(silt.y, \"Z\");\n } else {\n path += \"L\".concat(cx, \",\").concat(cy, \"Z\");\n }\n return path;\n};\nvar defaultProps = {\n cx: 0,\n cy: 0,\n innerRadius: 0,\n outerRadius: 0,\n startAngle: 0,\n endAngle: 0,\n cornerRadius: 0,\n forceCornerRadius: false,\n cornerIsExternal: false\n};\nexport var Sector = function Sector(sectorProps) {\n var props = _objectSpread(_objectSpread({}, defaultProps), sectorProps);\n var cx = props.cx,\n cy = props.cy,\n innerRadius = props.innerRadius,\n outerRadius = props.outerRadius,\n cornerRadius = props.cornerRadius,\n forceCornerRadius = props.forceCornerRadius,\n cornerIsExternal = props.cornerIsExternal,\n startAngle = props.startAngle,\n endAngle = props.endAngle,\n className = props.className;\n if (outerRadius < innerRadius || startAngle === endAngle) {\n return null;\n }\n var layerClass = clsx('recharts-sector', className);\n var deltaRadius = outerRadius - innerRadius;\n var cr = getPercentValue(cornerRadius, deltaRadius, 0, true);\n var path;\n if (cr > 0 && Math.abs(startAngle - endAngle) < 360) {\n path = getSectorWithCorner({\n cx: cx,\n cy: cy,\n innerRadius: innerRadius,\n outerRadius: outerRadius,\n cornerRadius: Math.min(cr, deltaRadius / 2),\n forceCornerRadius: forceCornerRadius,\n cornerIsExternal: cornerIsExternal,\n startAngle: startAngle,\n endAngle: endAngle\n });\n } else {\n path = getSectorPath({\n cx: cx,\n cy: cy,\n innerRadius: innerRadius,\n outerRadius: outerRadius,\n startAngle: startAngle,\n endAngle: endAngle\n });\n }\n return /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(props, true), {\n className: layerClass,\n d: path,\n role: \"img\"\n }));\n};","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview Curve\n */\nimport * as React from 'react';\nimport { line as shapeLine, area as shapeArea, curveBasisClosed, curveBasisOpen, curveBasis, curveBumpX, curveBumpY, curveLinearClosed, curveLinear, curveMonotoneX, curveMonotoneY, curveNatural, curveStep, curveStepAfter, curveStepBefore } from 'victory-vendor/d3-shape';\nimport upperFirst from 'lodash/upperFirst';\nimport isFunction from 'lodash/isFunction';\nimport clsx from 'clsx';\nimport { adaptEventHandlers } from '../util/types';\nimport { filterProps } from '../util/ReactUtils';\nimport { isNumber } from '../util/DataUtils';\nvar CURVE_FACTORIES = {\n curveBasisClosed: curveBasisClosed,\n curveBasisOpen: curveBasisOpen,\n curveBasis: curveBasis,\n curveBumpX: curveBumpX,\n curveBumpY: curveBumpY,\n curveLinearClosed: curveLinearClosed,\n curveLinear: curveLinear,\n curveMonotoneX: curveMonotoneX,\n curveMonotoneY: curveMonotoneY,\n curveNatural: curveNatural,\n curveStep: curveStep,\n curveStepAfter: curveStepAfter,\n curveStepBefore: curveStepBefore\n};\nvar defined = function defined(p) {\n return p.x === +p.x && p.y === +p.y;\n};\nvar getX = function getX(p) {\n return p.x;\n};\nvar getY = function getY(p) {\n return p.y;\n};\nvar getCurveFactory = function getCurveFactory(type, layout) {\n if (isFunction(type)) {\n return type;\n }\n var name = \"curve\".concat(upperFirst(type));\n if ((name === 'curveMonotone' || name === 'curveBump') && layout) {\n return CURVE_FACTORIES[\"\".concat(name).concat(layout === 'vertical' ? 'Y' : 'X')];\n }\n return CURVE_FACTORIES[name] || curveLinear;\n};\n/**\n * Calculate the path of curve. Returns null if points is an empty array.\n * @return path or null\n */\nexport var getPath = function getPath(_ref) {\n var _ref$type = _ref.type,\n type = _ref$type === void 0 ? 'linear' : _ref$type,\n _ref$points = _ref.points,\n points = _ref$points === void 0 ? [] : _ref$points,\n baseLine = _ref.baseLine,\n layout = _ref.layout,\n _ref$connectNulls = _ref.connectNulls,\n connectNulls = _ref$connectNulls === void 0 ? false : _ref$connectNulls;\n var curveFactory = getCurveFactory(type, layout);\n var formatPoints = connectNulls ? points.filter(function (entry) {\n return defined(entry);\n }) : points;\n var lineFunction;\n if (Array.isArray(baseLine)) {\n var formatBaseLine = connectNulls ? baseLine.filter(function (base) {\n return defined(base);\n }) : baseLine;\n var areaPoints = formatPoints.map(function (entry, index) {\n return _objectSpread(_objectSpread({}, entry), {}, {\n base: formatBaseLine[index]\n });\n });\n if (layout === 'vertical') {\n lineFunction = shapeArea().y(getY).x1(getX).x0(function (d) {\n return d.base.x;\n });\n } else {\n lineFunction = shapeArea().x(getX).y1(getY).y0(function (d) {\n return d.base.y;\n });\n }\n lineFunction.defined(defined).curve(curveFactory);\n return lineFunction(areaPoints);\n }\n if (layout === 'vertical' && isNumber(baseLine)) {\n lineFunction = shapeArea().y(getY).x1(getX).x0(baseLine);\n } else if (isNumber(baseLine)) {\n lineFunction = shapeArea().x(getX).y1(getY).y0(baseLine);\n } else {\n lineFunction = shapeLine().x(getX).y(getY);\n }\n lineFunction.defined(defined).curve(curveFactory);\n return lineFunction(formatPoints);\n};\nexport var Curve = function Curve(props) {\n var className = props.className,\n points = props.points,\n path = props.path,\n pathRef = props.pathRef;\n if ((!points || !points.length) && !path) {\n return null;\n }\n var realPath = points && points.length ? getPath(props) : path;\n return /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(props, false), adaptEventHandlers(props), {\n className: clsx('recharts-curve', className),\n d: realPath,\n ref: pathRef\n }));\n};","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","var getOwnPropertyNames = Object.getOwnPropertyNames, getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n/**\n * Combine two comparators into a single comparators.\n */\nfunction combineComparators(comparatorA, comparatorB) {\n return function isEqual(a, b, state) {\n return comparatorA(a, b, state) && comparatorB(a, b, state);\n };\n}\n/**\n * Wrap the provided `areItemsEqual` method to manage the circular state, allowing\n * for circular references to be safely included in the comparison without creating\n * stack overflows.\n */\nfunction createIsCircular(areItemsEqual) {\n return function isCircular(a, b, state) {\n if (!a || !b || typeof a !== 'object' || typeof b !== 'object') {\n return areItemsEqual(a, b, state);\n }\n var cache = state.cache;\n var cachedA = cache.get(a);\n var cachedB = cache.get(b);\n if (cachedA && cachedB) {\n return cachedA === b && cachedB === a;\n }\n cache.set(a, b);\n cache.set(b, a);\n var result = areItemsEqual(a, b, state);\n cache.delete(a);\n cache.delete(b);\n return result;\n };\n}\n/**\n * Get the `@@toStringTag` of the value, if it exists.\n */\nfunction getShortTag(value) {\n return value != null ? value[Symbol.toStringTag] : undefined;\n}\n/**\n * Get the properties to strictly examine, which include both own properties that are\n * not enumerable and symbol properties.\n */\nfunction getStrictProperties(object) {\n return getOwnPropertyNames(object).concat(getOwnPropertySymbols(object));\n}\n/**\n * Whether the object contains the property passed as an own property.\n */\nvar hasOwn = Object.hasOwn ||\n (function (object, property) {\n return hasOwnProperty.call(object, property);\n });\n/**\n * Whether the values passed are strictly equal or both NaN.\n */\nfunction sameValueZeroEqual(a, b) {\n return a === b || (!a && !b && a !== a && b !== b);\n}\n\nvar PREACT_VNODE = '__v';\nvar PREACT_OWNER = '__o';\nvar REACT_OWNER = '_owner';\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor, keys = Object.keys;\n/**\n * Whether the arrays are equal in value.\n */\nfunction areArraysEqual(a, b, state) {\n var index = a.length;\n if (b.length !== index) {\n return false;\n }\n while (index-- > 0) {\n if (!state.equals(a[index], b[index], index, index, a, b, state)) {\n return false;\n }\n }\n return true;\n}\n/**\n * Whether the dates passed are equal in value.\n */\nfunction areDatesEqual(a, b) {\n return sameValueZeroEqual(a.getTime(), b.getTime());\n}\n/**\n * Whether the errors passed are equal in value.\n */\nfunction areErrorsEqual(a, b) {\n return (a.name === b.name &&\n a.message === b.message &&\n a.cause === b.cause &&\n a.stack === b.stack);\n}\n/**\n * Whether the functions passed are equal in value.\n */\nfunction areFunctionsEqual(a, b) {\n return a === b;\n}\n/**\n * Whether the `Map`s are equal in value.\n */\nfunction areMapsEqual(a, b, state) {\n var size = a.size;\n if (size !== b.size) {\n return false;\n }\n if (!size) {\n return true;\n }\n var matchedIndices = new Array(size);\n var aIterable = a.entries();\n var aResult;\n var bResult;\n var index = 0;\n while ((aResult = aIterable.next())) {\n if (aResult.done) {\n break;\n }\n var bIterable = b.entries();\n var hasMatch = false;\n var matchIndex = 0;\n while ((bResult = bIterable.next())) {\n if (bResult.done) {\n break;\n }\n if (matchedIndices[matchIndex]) {\n matchIndex++;\n continue;\n }\n var aEntry = aResult.value;\n var bEntry = bResult.value;\n if (state.equals(aEntry[0], bEntry[0], index, matchIndex, a, b, state) &&\n state.equals(aEntry[1], bEntry[1], aEntry[0], bEntry[0], a, b, state)) {\n hasMatch = matchedIndices[matchIndex] = true;\n break;\n }\n matchIndex++;\n }\n if (!hasMatch) {\n return false;\n }\n index++;\n }\n return true;\n}\n/**\n * Whether the numbers are equal in value.\n */\nvar areNumbersEqual = sameValueZeroEqual;\n/**\n * Whether the objects are equal in value.\n */\nfunction areObjectsEqual(a, b, state) {\n var properties = keys(a);\n var index = properties.length;\n if (keys(b).length !== index) {\n return false;\n }\n // Decrementing `while` showed faster results than either incrementing or\n // decrementing `for` loop and than an incrementing `while` loop. Declarative\n // methods like `some` / `every` were not used to avoid incurring the garbage\n // cost of anonymous callbacks.\n while (index-- > 0) {\n if (!isPropertyEqual(a, b, state, properties[index])) {\n return false;\n }\n }\n return true;\n}\n/**\n * Whether the objects are equal in value with strict property checking.\n */\nfunction areObjectsEqualStrict(a, b, state) {\n var properties = getStrictProperties(a);\n var index = properties.length;\n if (getStrictProperties(b).length !== index) {\n return false;\n }\n var property;\n var descriptorA;\n var descriptorB;\n // Decrementing `while` showed faster results than either incrementing or\n // decrementing `for` loop and than an incrementing `while` loop. Declarative\n // methods like `some` / `every` were not used to avoid incurring the garbage\n // cost of anonymous callbacks.\n while (index-- > 0) {\n property = properties[index];\n if (!isPropertyEqual(a, b, state, property)) {\n return false;\n }\n descriptorA = getOwnPropertyDescriptor(a, property);\n descriptorB = getOwnPropertyDescriptor(b, property);\n if ((descriptorA || descriptorB) &&\n (!descriptorA ||\n !descriptorB ||\n descriptorA.configurable !== descriptorB.configurable ||\n descriptorA.enumerable !== descriptorB.enumerable ||\n descriptorA.writable !== descriptorB.writable)) {\n return false;\n }\n }\n return true;\n}\n/**\n * Whether the primitive wrappers passed are equal in value.\n */\nfunction arePrimitiveWrappersEqual(a, b) {\n return sameValueZeroEqual(a.valueOf(), b.valueOf());\n}\n/**\n * Whether the regexps passed are equal in value.\n */\nfunction areRegExpsEqual(a, b) {\n return a.source === b.source && a.flags === b.flags;\n}\n/**\n * Whether the `Set`s are equal in value.\n */\nfunction areSetsEqual(a, b, state) {\n var size = a.size;\n if (size !== b.size) {\n return false;\n }\n if (!size) {\n return true;\n }\n var matchedIndices = new Array(size);\n var aIterable = a.values();\n var aResult;\n var bResult;\n while ((aResult = aIterable.next())) {\n if (aResult.done) {\n break;\n }\n var bIterable = b.values();\n var hasMatch = false;\n var matchIndex = 0;\n while ((bResult = bIterable.next())) {\n if (bResult.done) {\n break;\n }\n if (!matchedIndices[matchIndex] &&\n state.equals(aResult.value, bResult.value, aResult.value, bResult.value, a, b, state)) {\n hasMatch = matchedIndices[matchIndex] = true;\n break;\n }\n matchIndex++;\n }\n if (!hasMatch) {\n return false;\n }\n }\n return true;\n}\n/**\n * Whether the TypedArray instances are equal in value.\n */\nfunction areTypedArraysEqual(a, b) {\n var index = a.length;\n if (b.length !== index) {\n return false;\n }\n while (index-- > 0) {\n if (a[index] !== b[index]) {\n return false;\n }\n }\n return true;\n}\n/**\n * Whether the URL instances are equal in value.\n */\nfunction areUrlsEqual(a, b) {\n return (a.hostname === b.hostname &&\n a.pathname === b.pathname &&\n a.protocol === b.protocol &&\n a.port === b.port &&\n a.hash === b.hash &&\n a.username === b.username &&\n a.password === b.password);\n}\nfunction isPropertyEqual(a, b, state, property) {\n if ((property === REACT_OWNER ||\n property === PREACT_OWNER ||\n property === PREACT_VNODE) &&\n (a.$$typeof || b.$$typeof)) {\n return true;\n }\n return (hasOwn(b, property) &&\n state.equals(a[property], b[property], property, property, a, b, state));\n}\n\nvar ARGUMENTS_TAG = '[object Arguments]';\nvar BOOLEAN_TAG = '[object Boolean]';\nvar DATE_TAG = '[object Date]';\nvar ERROR_TAG = '[object Error]';\nvar MAP_TAG = '[object Map]';\nvar NUMBER_TAG = '[object Number]';\nvar OBJECT_TAG = '[object Object]';\nvar REG_EXP_TAG = '[object RegExp]';\nvar SET_TAG = '[object Set]';\nvar STRING_TAG = '[object String]';\nvar URL_TAG = '[object URL]';\nvar isArray = Array.isArray;\nvar isTypedArray = typeof ArrayBuffer === 'function' && ArrayBuffer.isView\n ? ArrayBuffer.isView\n : null;\nvar assign = Object.assign;\nvar getTag = Object.prototype.toString.call.bind(Object.prototype.toString);\n/**\n * Create a comparator method based on the type-specific equality comparators passed.\n */\nfunction createEqualityComparator(_a) {\n var areArraysEqual = _a.areArraysEqual, areDatesEqual = _a.areDatesEqual, areErrorsEqual = _a.areErrorsEqual, areFunctionsEqual = _a.areFunctionsEqual, areMapsEqual = _a.areMapsEqual, areNumbersEqual = _a.areNumbersEqual, areObjectsEqual = _a.areObjectsEqual, arePrimitiveWrappersEqual = _a.arePrimitiveWrappersEqual, areRegExpsEqual = _a.areRegExpsEqual, areSetsEqual = _a.areSetsEqual, areTypedArraysEqual = _a.areTypedArraysEqual, areUrlsEqual = _a.areUrlsEqual, unknownTagComparators = _a.unknownTagComparators;\n /**\n * compare the value of the two objects and return true if they are equivalent in values\n */\n return function comparator(a, b, state) {\n // If the items are strictly equal, no need to do a value comparison.\n if (a === b) {\n return true;\n }\n // If either of the items are nullish and fail the strictly equal check\n // above, then they must be unequal.\n if (a == null || b == null) {\n return false;\n }\n var type = typeof a;\n if (type !== typeof b) {\n return false;\n }\n if (type !== 'object') {\n if (type === 'number') {\n return areNumbersEqual(a, b, state);\n }\n if (type === 'function') {\n return areFunctionsEqual(a, b, state);\n }\n // If a primitive value that is not strictly equal, it must be unequal.\n return false;\n }\n var constructor = a.constructor;\n // Checks are listed in order of commonality of use-case:\n // 1. Common complex object types (plain object, array)\n // 2. Common data values (date, regexp)\n // 3. Less-common complex object types (map, set)\n // 4. Less-common data values (promise, primitive wrappers)\n // Inherently this is both subjective and assumptive, however\n // when reviewing comparable libraries in the wild this order\n // appears to be generally consistent.\n // Constructors should match, otherwise there is potential for false positives\n // between class and subclass or custom object and POJO.\n if (constructor !== b.constructor) {\n return false;\n }\n // `isPlainObject` only checks against the object's own realm. Cross-realm\n // comparisons are rare, and will be handled in the ultimate fallback, so\n // we can avoid capturing the string tag.\n if (constructor === Object) {\n return areObjectsEqual(a, b, state);\n }\n // `isArray()` works on subclasses and is cross-realm, so we can avoid capturing\n // the string tag or doing an `instanceof` check.\n if (isArray(a)) {\n return areArraysEqual(a, b, state);\n }\n // `isTypedArray()` works on all possible TypedArray classes, so we can avoid\n // capturing the string tag or comparing against all possible constructors.\n if (isTypedArray != null && isTypedArray(a)) {\n return areTypedArraysEqual(a, b, state);\n }\n // Try to fast-path equality checks for other complex object types in the\n // same realm to avoid capturing the string tag. Strict equality is used\n // instead of `instanceof` because it is more performant for the common\n // use-case. If someone is subclassing a native class, it will be handled\n // with the string tag comparison.\n if (constructor === Date) {\n return areDatesEqual(a, b, state);\n }\n if (constructor === RegExp) {\n return areRegExpsEqual(a, b, state);\n }\n if (constructor === Map) {\n return areMapsEqual(a, b, state);\n }\n if (constructor === Set) {\n return areSetsEqual(a, b, state);\n }\n // Since this is a custom object, capture the string tag to determing its type.\n // This is reasonably performant in modern environments like v8 and SpiderMonkey.\n var tag = getTag(a);\n if (tag === DATE_TAG) {\n return areDatesEqual(a, b, state);\n }\n // For RegExp, the properties are not enumerable, and therefore will give false positives if\n // tested like a standard object.\n if (tag === REG_EXP_TAG) {\n return areRegExpsEqual(a, b, state);\n }\n if (tag === MAP_TAG) {\n return areMapsEqual(a, b, state);\n }\n if (tag === SET_TAG) {\n return areSetsEqual(a, b, state);\n }\n if (tag === OBJECT_TAG) {\n // The exception for value comparison is custom `Promise`-like class instances. These should\n // be treated the same as standard `Promise` objects, which means strict equality, and if\n // it reaches this point then that strict equality comparison has already failed.\n return (typeof a.then !== 'function' &&\n typeof b.then !== 'function' &&\n areObjectsEqual(a, b, state));\n }\n // If a URL tag, it should be tested explicitly. Like RegExp, the properties are not\n // enumerable, and therefore will give false positives if tested like a standard object.\n if (tag === URL_TAG) {\n return areUrlsEqual(a, b, state);\n }\n // If an error tag, it should be tested explicitly. Like RegExp, the properties are not\n // enumerable, and therefore will give false positives if tested like a standard object.\n if (tag === ERROR_TAG) {\n return areErrorsEqual(a, b, state);\n }\n // If an arguments tag, it should be treated as a standard object.\n if (tag === ARGUMENTS_TAG) {\n return areObjectsEqual(a, b, state);\n }\n // As the penultimate fallback, check if the values passed are primitive wrappers. This\n // is very rare in modern JS, which is why it is deprioritized compared to all other object\n // types.\n if (tag === BOOLEAN_TAG || tag === NUMBER_TAG || tag === STRING_TAG) {\n return arePrimitiveWrappersEqual(a, b, state);\n }\n if (unknownTagComparators) {\n var unknownTagComparator = unknownTagComparators[tag];\n if (!unknownTagComparator) {\n var shortTag = getShortTag(a);\n if (shortTag) {\n unknownTagComparator = unknownTagComparators[shortTag];\n }\n }\n // If the custom config has an unknown tag comparator that matches the captured tag or the\n // @@toStringTag, it is the source of truth for whether the values are equal.\n if (unknownTagComparator) {\n return unknownTagComparator(a, b, state);\n }\n }\n // If not matching any tags that require a specific type of comparison, then we hard-code false because\n // the only thing remaining is strict equality, which has already been compared. This is for a few reasons:\n // - Certain types that cannot be introspected (e.g., `WeakMap`). For these types, this is the only\n // comparison that can be made.\n // - For types that can be introspected, but rarely have requirements to be compared\n // (`ArrayBuffer`, `DataView`, etc.), the cost is avoided to prioritize the common\n // use-cases (may be included in a future release, if requested enough).\n // - For types that can be introspected but do not have an objective definition of what\n // equality is (`Error`, etc.), the subjective decision is to be conservative and strictly compare.\n // In all cases, these decisions should be reevaluated based on changes to the language and\n // common development practices.\n return false;\n };\n}\n/**\n * Create the configuration object used for building comparators.\n */\nfunction createEqualityComparatorConfig(_a) {\n var circular = _a.circular, createCustomConfig = _a.createCustomConfig, strict = _a.strict;\n var config = {\n areArraysEqual: strict\n ? areObjectsEqualStrict\n : areArraysEqual,\n areDatesEqual: areDatesEqual,\n areErrorsEqual: areErrorsEqual,\n areFunctionsEqual: areFunctionsEqual,\n areMapsEqual: strict\n ? combineComparators(areMapsEqual, areObjectsEqualStrict)\n : areMapsEqual,\n areNumbersEqual: areNumbersEqual,\n areObjectsEqual: strict\n ? areObjectsEqualStrict\n : areObjectsEqual,\n arePrimitiveWrappersEqual: arePrimitiveWrappersEqual,\n areRegExpsEqual: areRegExpsEqual,\n areSetsEqual: strict\n ? combineComparators(areSetsEqual, areObjectsEqualStrict)\n : areSetsEqual,\n areTypedArraysEqual: strict\n ? areObjectsEqualStrict\n : areTypedArraysEqual,\n areUrlsEqual: areUrlsEqual,\n unknownTagComparators: undefined,\n };\n if (createCustomConfig) {\n config = assign({}, config, createCustomConfig(config));\n }\n if (circular) {\n var areArraysEqual$1 = createIsCircular(config.areArraysEqual);\n var areMapsEqual$1 = createIsCircular(config.areMapsEqual);\n var areObjectsEqual$1 = createIsCircular(config.areObjectsEqual);\n var areSetsEqual$1 = createIsCircular(config.areSetsEqual);\n config = assign({}, config, {\n areArraysEqual: areArraysEqual$1,\n areMapsEqual: areMapsEqual$1,\n areObjectsEqual: areObjectsEqual$1,\n areSetsEqual: areSetsEqual$1,\n });\n }\n return config;\n}\n/**\n * Default equality comparator pass-through, used as the standard `isEqual` creator for\n * use inside the built comparator.\n */\nfunction createInternalEqualityComparator(compare) {\n return function (a, b, _indexOrKeyA, _indexOrKeyB, _parentA, _parentB, state) {\n return compare(a, b, state);\n };\n}\n/**\n * Create the `isEqual` function used by the consuming application.\n */\nfunction createIsEqual(_a) {\n var circular = _a.circular, comparator = _a.comparator, createState = _a.createState, equals = _a.equals, strict = _a.strict;\n if (createState) {\n return function isEqual(a, b) {\n var _a = createState(), _b = _a.cache, cache = _b === void 0 ? circular ? new WeakMap() : undefined : _b, meta = _a.meta;\n return comparator(a, b, {\n cache: cache,\n equals: equals,\n meta: meta,\n strict: strict,\n });\n };\n }\n if (circular) {\n return function isEqual(a, b) {\n return comparator(a, b, {\n cache: new WeakMap(),\n equals: equals,\n meta: undefined,\n strict: strict,\n });\n };\n }\n var state = {\n cache: undefined,\n equals: equals,\n meta: undefined,\n strict: strict,\n };\n return function isEqual(a, b) {\n return comparator(a, b, state);\n };\n}\n\n/**\n * Whether the items passed are deeply-equal in value.\n */\nvar deepEqual = createCustomEqual();\n/**\n * Whether the items passed are deeply-equal in value based on strict comparison.\n */\nvar strictDeepEqual = createCustomEqual({ strict: true });\n/**\n * Whether the items passed are deeply-equal in value, including circular references.\n */\nvar circularDeepEqual = createCustomEqual({ circular: true });\n/**\n * Whether the items passed are deeply-equal in value, including circular references,\n * based on strict comparison.\n */\nvar strictCircularDeepEqual = createCustomEqual({\n circular: true,\n strict: true,\n});\n/**\n * Whether the items passed are shallowly-equal in value.\n */\nvar shallowEqual = createCustomEqual({\n createInternalComparator: function () { return sameValueZeroEqual; },\n});\n/**\n * Whether the items passed are shallowly-equal in value based on strict comparison\n */\nvar strictShallowEqual = createCustomEqual({\n strict: true,\n createInternalComparator: function () { return sameValueZeroEqual; },\n});\n/**\n * Whether the items passed are shallowly-equal in value, including circular references.\n */\nvar circularShallowEqual = createCustomEqual({\n circular: true,\n createInternalComparator: function () { return sameValueZeroEqual; },\n});\n/**\n * Whether the items passed are shallowly-equal in value, including circular references,\n * based on strict comparison.\n */\nvar strictCircularShallowEqual = createCustomEqual({\n circular: true,\n createInternalComparator: function () { return sameValueZeroEqual; },\n strict: true,\n});\n/**\n * Create a custom equality comparison method.\n *\n * This can be done to create very targeted comparisons in extreme hot-path scenarios\n * where the standard methods are not performant enough, but can also be used to provide\n * support for legacy environments that do not support expected features like\n * `RegExp.prototype.flags` out of the box.\n */\nfunction createCustomEqual(options) {\n if (options === void 0) { options = {}; }\n var _a = options.circular, circular = _a === void 0 ? false : _a, createCustomInternalComparator = options.createInternalComparator, createState = options.createState, _b = options.strict, strict = _b === void 0 ? false : _b;\n var config = createEqualityComparatorConfig(options);\n var comparator = createEqualityComparator(config);\n var equals = createCustomInternalComparator\n ? createCustomInternalComparator(comparator)\n : createInternalEqualityComparator(comparator);\n return createIsEqual({ circular: circular, comparator: comparator, createState: createState, equals: equals, strict: strict });\n}\n\nexport { circularDeepEqual, circularShallowEqual, createCustomEqual, deepEqual, sameValueZeroEqual, shallowEqual, strictCircularDeepEqual, strictCircularShallowEqual, strictDeepEqual, strictShallowEqual };\n//# sourceMappingURL=index.mjs.map\n","function safeRequestAnimationFrame(callback) {\n if (typeof requestAnimationFrame !== 'undefined') requestAnimationFrame(callback);\n}\nexport default function setRafTimeout(callback) {\n var timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var currTime = -1;\n var shouldUpdate = function shouldUpdate(now) {\n if (currTime < 0) {\n currTime = now;\n }\n if (now - currTime > timeout) {\n callback(now);\n currTime = -1;\n } else {\n safeRequestAnimationFrame(shouldUpdate);\n }\n };\n requestAnimationFrame(shouldUpdate);\n}","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nimport setRafTimeout from './setRafTimeout';\nexport default function createAnimateManager() {\n var currStyle = {};\n var handleChange = function handleChange() {\n return null;\n };\n var shouldStop = false;\n var setStyle = function setStyle(_style) {\n if (shouldStop) {\n return;\n }\n if (Array.isArray(_style)) {\n if (!_style.length) {\n return;\n }\n var styles = _style;\n var _styles = _toArray(styles),\n curr = _styles[0],\n restStyles = _styles.slice(1);\n if (typeof curr === 'number') {\n setRafTimeout(setStyle.bind(null, restStyles), curr);\n return;\n }\n setStyle(curr);\n setRafTimeout(setStyle.bind(null, restStyles));\n return;\n }\n if (_typeof(_style) === 'object') {\n currStyle = _style;\n handleChange(currStyle);\n }\n if (typeof _style === 'function') {\n _style();\n }\n };\n return {\n stop: function stop() {\n shouldStop = true;\n },\n start: function start(style) {\n shouldStop = false;\n setStyle(style);\n },\n subscribe: function subscribe(_handleChange) {\n handleChange = _handleChange;\n return function () {\n handleChange = function handleChange() {\n return null;\n };\n };\n }\n };\n}","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n/* eslint no-console: 0 */\n\nexport var getIntersectionKeys = function getIntersectionKeys(preObj, nextObj) {\n return [Object.keys(preObj), Object.keys(nextObj)].reduce(function (a, b) {\n return a.filter(function (c) {\n return b.includes(c);\n });\n });\n};\nexport var identity = function identity(param) {\n return param;\n};\n\n/*\n * @description: convert camel case to dash case\n * string => string\n */\nexport var getDashCase = function getDashCase(name) {\n return name.replace(/([A-Z])/g, function (v) {\n return \"-\".concat(v.toLowerCase());\n });\n};\nexport var log = function log() {\n var _console;\n (_console = console).log.apply(_console, arguments);\n};\n\n/*\n * @description: log the value of a varible\n * string => any => any\n */\nexport var debug = function debug(name) {\n return function (item) {\n log(name, item);\n return item;\n };\n};\n\n/*\n * @description: log name, args, return value of a function\n * function => function\n */\nexport var debugf = function debugf(tag, f) {\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var res = f.apply(void 0, args);\n var name = tag || f.name || 'anonymous function';\n var argNames = \"(\".concat(args.map(JSON.stringify).join(', '), \")\");\n log(\"\".concat(name, \": \").concat(argNames, \" => \").concat(JSON.stringify(res)));\n return res;\n };\n};\n\n/*\n * @description: map object on every element in this object.\n * (function, object) => object\n */\nexport var mapObject = function mapObject(fn, obj) {\n return Object.keys(obj).reduce(function (res, key) {\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, key, fn(key, obj[key])));\n }, {});\n};\nexport var getTransitionVal = function getTransitionVal(props, duration, easing) {\n return props.map(function (prop) {\n return \"\".concat(getDashCase(prop), \" \").concat(duration, \"ms \").concat(easing);\n }).join(',');\n};\nvar isDev = process.env.NODE_ENV !== 'production';\nexport var warn = function warn(condition, format, a, b, c, d, e, f) {\n if (isDev && typeof console !== 'undefined' && console.warn) {\n if (format === undefined) {\n console.warn('LogUtils requires an error message argument');\n }\n if (!condition) {\n if (format === undefined) {\n console.warn('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n console.warn(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n }\n }\n }\n};","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nimport { warn } from './util';\nvar ACCURACY = 1e-4;\nvar cubicBezierFactor = function cubicBezierFactor(c1, c2) {\n return [0, 3 * c1, 3 * c2 - 6 * c1, 3 * c1 - 3 * c2 + 1];\n};\nvar multyTime = function multyTime(params, t) {\n return params.map(function (param, i) {\n return param * Math.pow(t, i);\n }).reduce(function (pre, curr) {\n return pre + curr;\n });\n};\nvar cubicBezier = function cubicBezier(c1, c2) {\n return function (t) {\n var params = cubicBezierFactor(c1, c2);\n return multyTime(params, t);\n };\n};\nvar derivativeCubicBezier = function derivativeCubicBezier(c1, c2) {\n return function (t) {\n var params = cubicBezierFactor(c1, c2);\n var newParams = [].concat(_toConsumableArray(params.map(function (param, i) {\n return param * i;\n }).slice(1)), [0]);\n return multyTime(newParams, t);\n };\n};\n\n// calculate cubic-bezier using Newton's method\nexport var configBezier = function configBezier() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var x1 = args[0],\n y1 = args[1],\n x2 = args[2],\n y2 = args[3];\n if (args.length === 1) {\n switch (args[0]) {\n case 'linear':\n x1 = 0.0;\n y1 = 0.0;\n x2 = 1.0;\n y2 = 1.0;\n break;\n case 'ease':\n x1 = 0.25;\n y1 = 0.1;\n x2 = 0.25;\n y2 = 1.0;\n break;\n case 'ease-in':\n x1 = 0.42;\n y1 = 0.0;\n x2 = 1.0;\n y2 = 1.0;\n break;\n case 'ease-out':\n x1 = 0.42;\n y1 = 0.0;\n x2 = 0.58;\n y2 = 1.0;\n break;\n case 'ease-in-out':\n x1 = 0.0;\n y1 = 0.0;\n x2 = 0.58;\n y2 = 1.0;\n break;\n default:\n {\n var easing = args[0].split('(');\n if (easing[0] === 'cubic-bezier' && easing[1].split(')')[0].split(',').length === 4) {\n var _easing$1$split$0$spl = easing[1].split(')')[0].split(',').map(function (x) {\n return parseFloat(x);\n });\n var _easing$1$split$0$spl2 = _slicedToArray(_easing$1$split$0$spl, 4);\n x1 = _easing$1$split$0$spl2[0];\n y1 = _easing$1$split$0$spl2[1];\n x2 = _easing$1$split$0$spl2[2];\n y2 = _easing$1$split$0$spl2[3];\n } else {\n warn(false, '[configBezier]: arguments should be one of ' + \"oneOf 'linear', 'ease', 'ease-in', 'ease-out', \" + \"'ease-in-out','cubic-bezier(x1,y1,x2,y2)', instead received %s\", args);\n }\n }\n }\n }\n warn([x1, x2, y1, y2].every(function (num) {\n return typeof num === 'number' && num >= 0 && num <= 1;\n }), '[configBezier]: arguments should be x1, y1, x2, y2 of [0, 1] instead received %s', args);\n var curveX = cubicBezier(x1, x2);\n var curveY = cubicBezier(y1, y2);\n var derCurveX = derivativeCubicBezier(x1, x2);\n var rangeValue = function rangeValue(value) {\n if (value > 1) {\n return 1;\n }\n if (value < 0) {\n return 0;\n }\n return value;\n };\n var bezier = function bezier(_t) {\n var t = _t > 1 ? 1 : _t;\n var x = t;\n for (var i = 0; i < 8; ++i) {\n var evalT = curveX(x) - t;\n var derVal = derCurveX(x);\n if (Math.abs(evalT - t) < ACCURACY || derVal < ACCURACY) {\n return curveY(x);\n }\n x = rangeValue(x - evalT / derVal);\n }\n return curveY(x);\n };\n bezier.isStepper = false;\n return bezier;\n};\nexport var configSpring = function configSpring() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _config$stiff = config.stiff,\n stiff = _config$stiff === void 0 ? 100 : _config$stiff,\n _config$damping = config.damping,\n damping = _config$damping === void 0 ? 8 : _config$damping,\n _config$dt = config.dt,\n dt = _config$dt === void 0 ? 17 : _config$dt;\n var stepper = function stepper(currX, destX, currV) {\n var FSpring = -(currX - destX) * stiff;\n var FDamping = currV * damping;\n var newV = currV + (FSpring - FDamping) * dt / 1000;\n var newX = currV * dt / 1000 + currX;\n if (Math.abs(newX - destX) < ACCURACY && Math.abs(newV) < ACCURACY) {\n return [destX, 0];\n }\n return [newX, newV];\n };\n stepper.isStepper = true;\n stepper.dt = dt;\n return stepper;\n};\nexport var configEasing = function configEasing() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n var easing = args[0];\n if (typeof easing === 'string') {\n switch (easing) {\n case 'ease':\n case 'ease-in-out':\n case 'ease-out':\n case 'ease-in':\n case 'linear':\n return configBezier(easing);\n case 'spring':\n return configSpring();\n default:\n if (easing.split('(')[0] === 'cubic-bezier') {\n return configBezier(easing);\n }\n warn(false, \"[configEasing]: first argument should be one of 'ease', 'ease-in', \" + \"'ease-out', 'ease-in-out','cubic-bezier(x1,y1,x2,y2)', 'linear' and 'spring', instead received %s\", args);\n }\n }\n if (typeof easing === 'function') {\n return easing;\n }\n warn(false, '[configEasing]: first argument type should be function or string, instead received %s', args);\n return null;\n};","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nimport { getIntersectionKeys, mapObject } from './util';\nvar alpha = function alpha(begin, end, k) {\n return begin + (end - begin) * k;\n};\nvar needContinue = function needContinue(_ref) {\n var from = _ref.from,\n to = _ref.to;\n return from !== to;\n};\n\n/*\n * @description: cal new from value and velocity in each stepper\n * @return: { [styleProperty]: { from, to, velocity } }\n */\nvar calStepperVals = function calStepperVals(easing, preVals, steps) {\n var nextStepVals = mapObject(function (key, val) {\n if (needContinue(val)) {\n var _easing = easing(val.from, val.to, val.velocity),\n _easing2 = _slicedToArray(_easing, 2),\n newX = _easing2[0],\n newV = _easing2[1];\n return _objectSpread(_objectSpread({}, val), {}, {\n from: newX,\n velocity: newV\n });\n }\n return val;\n }, preVals);\n if (steps < 1) {\n return mapObject(function (key, val) {\n if (needContinue(val)) {\n return _objectSpread(_objectSpread({}, val), {}, {\n velocity: alpha(val.velocity, nextStepVals[key].velocity, steps),\n from: alpha(val.from, nextStepVals[key].from, steps)\n });\n }\n return val;\n }, preVals);\n }\n return calStepperVals(easing, nextStepVals, steps - 1);\n};\n\n// configure update function\nexport default (function (from, to, easing, duration, render) {\n var interKeys = getIntersectionKeys(from, to);\n var timingStyle = interKeys.reduce(function (res, key) {\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, key, [from[key], to[key]]));\n }, {});\n var stepperStyle = interKeys.reduce(function (res, key) {\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, key, {\n from: from[key],\n velocity: 0,\n to: to[key]\n }));\n }, {});\n var cafId = -1;\n var preTime;\n var beginTime;\n var update = function update() {\n return null;\n };\n var getCurrStyle = function getCurrStyle() {\n return mapObject(function (key, val) {\n return val.from;\n }, stepperStyle);\n };\n var shouldStopAnimation = function shouldStopAnimation() {\n return !Object.values(stepperStyle).filter(needContinue).length;\n };\n\n // stepper timing function like spring\n var stepperUpdate = function stepperUpdate(now) {\n if (!preTime) {\n preTime = now;\n }\n var deltaTime = now - preTime;\n var steps = deltaTime / easing.dt;\n stepperStyle = calStepperVals(easing, stepperStyle, steps);\n // get union set and add compatible prefix\n render(_objectSpread(_objectSpread(_objectSpread({}, from), to), getCurrStyle(stepperStyle)));\n preTime = now;\n if (!shouldStopAnimation()) {\n cafId = requestAnimationFrame(update);\n }\n };\n\n // t => val timing function like cubic-bezier\n var timingUpdate = function timingUpdate(now) {\n if (!beginTime) {\n beginTime = now;\n }\n var t = (now - beginTime) / duration;\n var currStyle = mapObject(function (key, val) {\n return alpha.apply(void 0, _toConsumableArray(val).concat([easing(t)]));\n }, timingStyle);\n\n // get union set and add compatible prefix\n render(_objectSpread(_objectSpread(_objectSpread({}, from), to), currStyle));\n if (t < 1) {\n cafId = requestAnimationFrame(update);\n } else {\n var finalStyle = mapObject(function (key, val) {\n return alpha.apply(void 0, _toConsumableArray(val).concat([easing(1)]));\n }, timingStyle);\n render(_objectSpread(_objectSpread(_objectSpread({}, from), to), finalStyle));\n }\n };\n update = easing.isStepper ? stepperUpdate : timingUpdate;\n\n // return start animation method\n return function () {\n requestAnimationFrame(update);\n\n // return stop animation method\n return function () {\n cancelAnimationFrame(cafId);\n };\n };\n});","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nvar _excluded = [\"children\", \"begin\", \"duration\", \"attributeName\", \"easing\", \"isActive\", \"steps\", \"from\", \"to\", \"canBegin\", \"onAnimationEnd\", \"shouldReAnimate\", \"onAnimationReStart\"];\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nimport React, { PureComponent, cloneElement, Children } from 'react';\nimport PropTypes from 'prop-types';\nimport { deepEqual } from 'fast-equals';\nimport createAnimateManager from './AnimateManager';\nimport { configEasing } from './easing';\nimport configUpdate from './configUpdate';\nimport { getTransitionVal, identity } from './util';\nvar Animate = /*#__PURE__*/function (_PureComponent) {\n _inherits(Animate, _PureComponent);\n var _super = _createSuper(Animate);\n function Animate(props, context) {\n var _this;\n _classCallCheck(this, Animate);\n _this = _super.call(this, props, context);\n var _this$props = _this.props,\n isActive = _this$props.isActive,\n attributeName = _this$props.attributeName,\n from = _this$props.from,\n to = _this$props.to,\n steps = _this$props.steps,\n children = _this$props.children,\n duration = _this$props.duration;\n _this.handleStyleChange = _this.handleStyleChange.bind(_assertThisInitialized(_this));\n _this.changeStyle = _this.changeStyle.bind(_assertThisInitialized(_this));\n if (!isActive || duration <= 0) {\n _this.state = {\n style: {}\n };\n\n // if children is a function and animation is not active, set style to 'to'\n if (typeof children === 'function') {\n _this.state = {\n style: to\n };\n }\n return _possibleConstructorReturn(_this);\n }\n if (steps && steps.length) {\n _this.state = {\n style: steps[0].style\n };\n } else if (from) {\n if (typeof children === 'function') {\n _this.state = {\n style: from\n };\n return _possibleConstructorReturn(_this);\n }\n _this.state = {\n style: attributeName ? _defineProperty({}, attributeName, from) : from\n };\n } else {\n _this.state = {\n style: {}\n };\n }\n return _this;\n }\n _createClass(Animate, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this$props2 = this.props,\n isActive = _this$props2.isActive,\n canBegin = _this$props2.canBegin;\n this.mounted = true;\n if (!isActive || !canBegin) {\n return;\n }\n this.runAnimation(this.props);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this$props3 = this.props,\n isActive = _this$props3.isActive,\n canBegin = _this$props3.canBegin,\n attributeName = _this$props3.attributeName,\n shouldReAnimate = _this$props3.shouldReAnimate,\n to = _this$props3.to,\n currentFrom = _this$props3.from;\n var style = this.state.style;\n if (!canBegin) {\n return;\n }\n if (!isActive) {\n var newState = {\n style: attributeName ? _defineProperty({}, attributeName, to) : to\n };\n if (this.state && style) {\n if (attributeName && style[attributeName] !== to || !attributeName && style !== to) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState(newState);\n }\n }\n return;\n }\n if (deepEqual(prevProps.to, to) && prevProps.canBegin && prevProps.isActive) {\n return;\n }\n var isTriggered = !prevProps.canBegin || !prevProps.isActive;\n if (this.manager) {\n this.manager.stop();\n }\n if (this.stopJSAnimation) {\n this.stopJSAnimation();\n }\n var from = isTriggered || shouldReAnimate ? currentFrom : prevProps.to;\n if (this.state && style) {\n var _newState = {\n style: attributeName ? _defineProperty({}, attributeName, from) : from\n };\n if (attributeName && style[attributeName] !== from || !attributeName && style !== from) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState(_newState);\n }\n }\n this.runAnimation(_objectSpread(_objectSpread({}, this.props), {}, {\n from: from,\n begin: 0\n }));\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.mounted = false;\n var onAnimationEnd = this.props.onAnimationEnd;\n if (this.unSubscribe) {\n this.unSubscribe();\n }\n if (this.manager) {\n this.manager.stop();\n this.manager = null;\n }\n if (this.stopJSAnimation) {\n this.stopJSAnimation();\n }\n if (onAnimationEnd) {\n onAnimationEnd();\n }\n }\n }, {\n key: \"handleStyleChange\",\n value: function handleStyleChange(style) {\n this.changeStyle(style);\n }\n }, {\n key: \"changeStyle\",\n value: function changeStyle(style) {\n if (this.mounted) {\n this.setState({\n style: style\n });\n }\n }\n }, {\n key: \"runJSAnimation\",\n value: function runJSAnimation(props) {\n var _this2 = this;\n var from = props.from,\n to = props.to,\n duration = props.duration,\n easing = props.easing,\n begin = props.begin,\n onAnimationEnd = props.onAnimationEnd,\n onAnimationStart = props.onAnimationStart;\n var startAnimation = configUpdate(from, to, configEasing(easing), duration, this.changeStyle);\n var finalStartAnimation = function finalStartAnimation() {\n _this2.stopJSAnimation = startAnimation();\n };\n this.manager.start([onAnimationStart, begin, finalStartAnimation, duration, onAnimationEnd]);\n }\n }, {\n key: \"runStepAnimation\",\n value: function runStepAnimation(props) {\n var _this3 = this;\n var steps = props.steps,\n begin = props.begin,\n onAnimationStart = props.onAnimationStart;\n var _steps$ = steps[0],\n initialStyle = _steps$.style,\n _steps$$duration = _steps$.duration,\n initialTime = _steps$$duration === void 0 ? 0 : _steps$$duration;\n var addStyle = function addStyle(sequence, nextItem, index) {\n if (index === 0) {\n return sequence;\n }\n var duration = nextItem.duration,\n _nextItem$easing = nextItem.easing,\n easing = _nextItem$easing === void 0 ? 'ease' : _nextItem$easing,\n style = nextItem.style,\n nextProperties = nextItem.properties,\n onAnimationEnd = nextItem.onAnimationEnd;\n var preItem = index > 0 ? steps[index - 1] : nextItem;\n var properties = nextProperties || Object.keys(style);\n if (typeof easing === 'function' || easing === 'spring') {\n return [].concat(_toConsumableArray(sequence), [_this3.runJSAnimation.bind(_this3, {\n from: preItem.style,\n to: style,\n duration: duration,\n easing: easing\n }), duration]);\n }\n var transition = getTransitionVal(properties, duration, easing);\n var newStyle = _objectSpread(_objectSpread(_objectSpread({}, preItem.style), style), {}, {\n transition: transition\n });\n return [].concat(_toConsumableArray(sequence), [newStyle, duration, onAnimationEnd]).filter(identity);\n };\n return this.manager.start([onAnimationStart].concat(_toConsumableArray(steps.reduce(addStyle, [initialStyle, Math.max(initialTime, begin)])), [props.onAnimationEnd]));\n }\n }, {\n key: \"runAnimation\",\n value: function runAnimation(props) {\n if (!this.manager) {\n this.manager = createAnimateManager();\n }\n var begin = props.begin,\n duration = props.duration,\n attributeName = props.attributeName,\n propsTo = props.to,\n easing = props.easing,\n onAnimationStart = props.onAnimationStart,\n onAnimationEnd = props.onAnimationEnd,\n steps = props.steps,\n children = props.children;\n var manager = this.manager;\n this.unSubscribe = manager.subscribe(this.handleStyleChange);\n if (typeof easing === 'function' || typeof children === 'function' || easing === 'spring') {\n this.runJSAnimation(props);\n return;\n }\n if (steps.length > 1) {\n this.runStepAnimation(props);\n return;\n }\n var to = attributeName ? _defineProperty({}, attributeName, propsTo) : propsTo;\n var transition = getTransitionVal(Object.keys(to), duration, easing);\n manager.start([onAnimationStart, begin, _objectSpread(_objectSpread({}, to), {}, {\n transition: transition\n }), duration, onAnimationEnd]);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props4 = this.props,\n children = _this$props4.children,\n begin = _this$props4.begin,\n duration = _this$props4.duration,\n attributeName = _this$props4.attributeName,\n easing = _this$props4.easing,\n isActive = _this$props4.isActive,\n steps = _this$props4.steps,\n from = _this$props4.from,\n to = _this$props4.to,\n canBegin = _this$props4.canBegin,\n onAnimationEnd = _this$props4.onAnimationEnd,\n shouldReAnimate = _this$props4.shouldReAnimate,\n onAnimationReStart = _this$props4.onAnimationReStart,\n others = _objectWithoutProperties(_this$props4, _excluded);\n var count = Children.count(children);\n // eslint-disable-next-line react/destructuring-assignment\n var stateStyle = this.state.style;\n if (typeof children === 'function') {\n return children(stateStyle);\n }\n if (!isActive || count === 0 || duration <= 0) {\n return children;\n }\n var cloneContainer = function cloneContainer(container) {\n var _container$props = container.props,\n _container$props$styl = _container$props.style,\n style = _container$props$styl === void 0 ? {} : _container$props$styl,\n className = _container$props.className;\n var res = /*#__PURE__*/cloneElement(container, _objectSpread(_objectSpread({}, others), {}, {\n style: _objectSpread(_objectSpread({}, style), stateStyle),\n className: className\n }));\n return res;\n };\n if (count === 1) {\n return cloneContainer(Children.only(children));\n }\n return /*#__PURE__*/React.createElement(\"div\", null, Children.map(children, function (child) {\n return cloneContainer(child);\n }));\n }\n }]);\n return Animate;\n}(PureComponent);\nAnimate.displayName = 'Animate';\nAnimate.defaultProps = {\n begin: 0,\n duration: 1000,\n from: '',\n to: '',\n attributeName: '',\n easing: 'ease',\n isActive: true,\n canBegin: true,\n steps: [],\n onAnimationEnd: function onAnimationEnd() {},\n onAnimationStart: function onAnimationStart() {}\n};\nAnimate.propTypes = {\n from: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n to: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n attributeName: PropTypes.string,\n // animation duration\n duration: PropTypes.number,\n begin: PropTypes.number,\n easing: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n steps: PropTypes.arrayOf(PropTypes.shape({\n duration: PropTypes.number.isRequired,\n style: PropTypes.object.isRequired,\n easing: PropTypes.oneOfType([PropTypes.oneOf(['ease', 'ease-in', 'ease-out', 'ease-in-out', 'linear']), PropTypes.func]),\n // transition css properties(dash case), optional\n properties: PropTypes.arrayOf('string'),\n onAnimationEnd: PropTypes.func\n })),\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n isActive: PropTypes.bool,\n canBegin: PropTypes.bool,\n onAnimationEnd: PropTypes.func,\n // decide if it should reanimate with initial from style when props change\n shouldReAnimate: PropTypes.bool,\n onAnimationStart: PropTypes.func,\n onAnimationReStart: PropTypes.func\n};\nexport default Animate;","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview Rectangle\n */\nimport React, { useEffect, useRef, useState } from 'react';\nimport clsx from 'clsx';\nimport Animate from 'react-smooth';\nimport { filterProps } from '../util/ReactUtils';\nvar getRectanglePath = function getRectanglePath(x, y, width, height, radius) {\n var maxRadius = Math.min(Math.abs(width) / 2, Math.abs(height) / 2);\n var ySign = height >= 0 ? 1 : -1;\n var xSign = width >= 0 ? 1 : -1;\n var clockWise = height >= 0 && width >= 0 || height < 0 && width < 0 ? 1 : 0;\n var path;\n if (maxRadius > 0 && radius instanceof Array) {\n var newRadius = [0, 0, 0, 0];\n for (var i = 0, len = 4; i < len; i++) {\n newRadius[i] = radius[i] > maxRadius ? maxRadius : radius[i];\n }\n path = \"M\".concat(x, \",\").concat(y + ySign * newRadius[0]);\n if (newRadius[0] > 0) {\n path += \"A \".concat(newRadius[0], \",\").concat(newRadius[0], \",0,0,\").concat(clockWise, \",\").concat(x + xSign * newRadius[0], \",\").concat(y);\n }\n path += \"L \".concat(x + width - xSign * newRadius[1], \",\").concat(y);\n if (newRadius[1] > 0) {\n path += \"A \".concat(newRadius[1], \",\").concat(newRadius[1], \",0,0,\").concat(clockWise, \",\\n \").concat(x + width, \",\").concat(y + ySign * newRadius[1]);\n }\n path += \"L \".concat(x + width, \",\").concat(y + height - ySign * newRadius[2]);\n if (newRadius[2] > 0) {\n path += \"A \".concat(newRadius[2], \",\").concat(newRadius[2], \",0,0,\").concat(clockWise, \",\\n \").concat(x + width - xSign * newRadius[2], \",\").concat(y + height);\n }\n path += \"L \".concat(x + xSign * newRadius[3], \",\").concat(y + height);\n if (newRadius[3] > 0) {\n path += \"A \".concat(newRadius[3], \",\").concat(newRadius[3], \",0,0,\").concat(clockWise, \",\\n \").concat(x, \",\").concat(y + height - ySign * newRadius[3]);\n }\n path += 'Z';\n } else if (maxRadius > 0 && radius === +radius && radius > 0) {\n var _newRadius = Math.min(maxRadius, radius);\n path = \"M \".concat(x, \",\").concat(y + ySign * _newRadius, \"\\n A \").concat(_newRadius, \",\").concat(_newRadius, \",0,0,\").concat(clockWise, \",\").concat(x + xSign * _newRadius, \",\").concat(y, \"\\n L \").concat(x + width - xSign * _newRadius, \",\").concat(y, \"\\n A \").concat(_newRadius, \",\").concat(_newRadius, \",0,0,\").concat(clockWise, \",\").concat(x + width, \",\").concat(y + ySign * _newRadius, \"\\n L \").concat(x + width, \",\").concat(y + height - ySign * _newRadius, \"\\n A \").concat(_newRadius, \",\").concat(_newRadius, \",0,0,\").concat(clockWise, \",\").concat(x + width - xSign * _newRadius, \",\").concat(y + height, \"\\n L \").concat(x + xSign * _newRadius, \",\").concat(y + height, \"\\n A \").concat(_newRadius, \",\").concat(_newRadius, \",0,0,\").concat(clockWise, \",\").concat(x, \",\").concat(y + height - ySign * _newRadius, \" Z\");\n } else {\n path = \"M \".concat(x, \",\").concat(y, \" h \").concat(width, \" v \").concat(height, \" h \").concat(-width, \" Z\");\n }\n return path;\n};\nexport var isInRectangle = function isInRectangle(point, rect) {\n if (!point || !rect) {\n return false;\n }\n var px = point.x,\n py = point.y;\n var x = rect.x,\n y = rect.y,\n width = rect.width,\n height = rect.height;\n if (Math.abs(width) > 0 && Math.abs(height) > 0) {\n var minX = Math.min(x, x + width);\n var maxX = Math.max(x, x + width);\n var minY = Math.min(y, y + height);\n var maxY = Math.max(y, y + height);\n return px >= minX && px <= maxX && py >= minY && py <= maxY;\n }\n return false;\n};\nvar defaultProps = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n // The radius of border\n // The radius of four corners when radius is a number\n // The radius of left-top, right-top, right-bottom, left-bottom when radius is an array\n radius: 0,\n isAnimationActive: false,\n isUpdateAnimationActive: false,\n animationBegin: 0,\n animationDuration: 1500,\n animationEasing: 'ease'\n};\nexport var Rectangle = function Rectangle(rectangleProps) {\n var props = _objectSpread(_objectSpread({}, defaultProps), rectangleProps);\n var pathRef = useRef();\n var _useState = useState(-1),\n _useState2 = _slicedToArray(_useState, 2),\n totalLength = _useState2[0],\n setTotalLength = _useState2[1];\n useEffect(function () {\n if (pathRef.current && pathRef.current.getTotalLength) {\n try {\n var pathTotalLength = pathRef.current.getTotalLength();\n if (pathTotalLength) {\n setTotalLength(pathTotalLength);\n }\n } catch (err) {\n // calculate total length error\n }\n }\n }, []);\n var x = props.x,\n y = props.y,\n width = props.width,\n height = props.height,\n radius = props.radius,\n className = props.className;\n var animationEasing = props.animationEasing,\n animationDuration = props.animationDuration,\n animationBegin = props.animationBegin,\n isAnimationActive = props.isAnimationActive,\n isUpdateAnimationActive = props.isUpdateAnimationActive;\n if (x !== +x || y !== +y || width !== +width || height !== +height || width === 0 || height === 0) {\n return null;\n }\n var layerClass = clsx('recharts-rectangle', className);\n if (!isUpdateAnimationActive) {\n return /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(props, true), {\n className: layerClass,\n d: getRectanglePath(x, y, width, height, radius)\n }));\n }\n return /*#__PURE__*/React.createElement(Animate, {\n canBegin: totalLength > 0,\n from: {\n width: width,\n height: height,\n x: x,\n y: y\n },\n to: {\n width: width,\n height: height,\n x: x,\n y: y\n },\n duration: animationDuration,\n animationEasing: animationEasing,\n isActive: isUpdateAnimationActive\n }, function (_ref) {\n var currWidth = _ref.width,\n currHeight = _ref.height,\n currX = _ref.x,\n currY = _ref.y;\n return /*#__PURE__*/React.createElement(Animate, {\n canBegin: totalLength > 0,\n from: \"0px \".concat(totalLength === -1 ? 1 : totalLength, \"px\"),\n to: \"\".concat(totalLength, \"px 0px\"),\n attributeName: \"strokeDasharray\",\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing\n }, /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(props, true), {\n className: layerClass,\n d: getRectanglePath(currX, currY, currWidth, currHeight, radius),\n ref: pathRef\n })));\n });\n};","var _excluded = [\"points\", \"className\", \"baseLinePoints\", \"connectNulls\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\n/**\n * @fileOverview Polygon\n */\nimport React from 'react';\nimport clsx from 'clsx';\nimport { filterProps } from '../util/ReactUtils';\nvar isValidatePoint = function isValidatePoint(point) {\n return point && point.x === +point.x && point.y === +point.y;\n};\nvar getParsedPoints = function getParsedPoints() {\n var points = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var segmentPoints = [[]];\n points.forEach(function (entry) {\n if (isValidatePoint(entry)) {\n segmentPoints[segmentPoints.length - 1].push(entry);\n } else if (segmentPoints[segmentPoints.length - 1].length > 0) {\n // add another path\n segmentPoints.push([]);\n }\n });\n if (isValidatePoint(points[0])) {\n segmentPoints[segmentPoints.length - 1].push(points[0]);\n }\n if (segmentPoints[segmentPoints.length - 1].length <= 0) {\n segmentPoints = segmentPoints.slice(0, -1);\n }\n return segmentPoints;\n};\nvar getSinglePolygonPath = function getSinglePolygonPath(points, connectNulls) {\n var segmentPoints = getParsedPoints(points);\n if (connectNulls) {\n segmentPoints = [segmentPoints.reduce(function (res, segPoints) {\n return [].concat(_toConsumableArray(res), _toConsumableArray(segPoints));\n }, [])];\n }\n var polygonPath = segmentPoints.map(function (segPoints) {\n return segPoints.reduce(function (path, point, index) {\n return \"\".concat(path).concat(index === 0 ? 'M' : 'L').concat(point.x, \",\").concat(point.y);\n }, '');\n }).join('');\n return segmentPoints.length === 1 ? \"\".concat(polygonPath, \"Z\") : polygonPath;\n};\nvar getRanglePath = function getRanglePath(points, baseLinePoints, connectNulls) {\n var outerPath = getSinglePolygonPath(points, connectNulls);\n return \"\".concat(outerPath.slice(-1) === 'Z' ? outerPath.slice(0, -1) : outerPath, \"L\").concat(getSinglePolygonPath(baseLinePoints.reverse(), connectNulls).slice(1));\n};\nexport var Polygon = function Polygon(props) {\n var points = props.points,\n className = props.className,\n baseLinePoints = props.baseLinePoints,\n connectNulls = props.connectNulls,\n others = _objectWithoutProperties(props, _excluded);\n if (!points || !points.length) {\n return null;\n }\n var layerClass = clsx('recharts-polygon', className);\n if (baseLinePoints && baseLinePoints.length) {\n var hasStroke = others.stroke && others.stroke !== 'none';\n var rangePath = getRanglePath(points, baseLinePoints, connectNulls);\n return /*#__PURE__*/React.createElement(\"g\", {\n className: layerClass\n }, /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(others, true), {\n fill: rangePath.slice(-1) === 'Z' ? others.fill : 'none',\n stroke: \"none\",\n d: rangePath\n })), hasStroke ? /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(others, true), {\n fill: \"none\",\n d: getSinglePolygonPath(points, connectNulls)\n })) : null, hasStroke ? /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(others, true), {\n fill: \"none\",\n d: getSinglePolygonPath(baseLinePoints, connectNulls)\n })) : null);\n }\n var singlePath = getSinglePolygonPath(points, connectNulls);\n return /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(others, true), {\n fill: singlePath.slice(-1) === 'Z' ? others.fill : 'none',\n className: layerClass,\n d: singlePath\n }));\n};","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n/**\n * @fileOverview Dot\n */\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport { adaptEventHandlers } from '../util/types';\nimport { filterProps } from '../util/ReactUtils';\nexport var Dot = function Dot(props) {\n var cx = props.cx,\n cy = props.cy,\n r = props.r,\n className = props.className;\n var layerClass = clsx('recharts-dot', className);\n if (cx === +cx && cy === +cy && r === +r) {\n return /*#__PURE__*/React.createElement(\"circle\", _extends({}, filterProps(props, false), adaptEventHandlers(props), {\n className: layerClass,\n cx: cx,\n cy: cy,\n r: r\n }));\n }\n return null;\n};","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nvar _excluded = [\"x\", \"y\", \"top\", \"left\", \"width\", \"height\", \"className\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\n/**\n * @fileOverview Cross\n */\nimport React from 'react';\nimport clsx from 'clsx';\nimport { isNumber } from '../util/DataUtils';\nimport { filterProps } from '../util/ReactUtils';\nvar getPath = function getPath(x, y, width, height, top, left) {\n return \"M\".concat(x, \",\").concat(top, \"v\").concat(height, \"M\").concat(left, \",\").concat(y, \"h\").concat(width);\n};\nexport var Cross = function Cross(_ref) {\n var _ref$x = _ref.x,\n x = _ref$x === void 0 ? 0 : _ref$x,\n _ref$y = _ref.y,\n y = _ref$y === void 0 ? 0 : _ref$y,\n _ref$top = _ref.top,\n top = _ref$top === void 0 ? 0 : _ref$top,\n _ref$left = _ref.left,\n left = _ref$left === void 0 ? 0 : _ref$left,\n _ref$width = _ref.width,\n width = _ref$width === void 0 ? 0 : _ref$width,\n _ref$height = _ref.height,\n height = _ref$height === void 0 ? 0 : _ref$height,\n className = _ref.className,\n rest = _objectWithoutProperties(_ref, _excluded);\n var props = _objectSpread({\n x: x,\n y: y,\n top: top,\n left: left,\n width: width,\n height: height\n }, rest);\n if (!isNumber(x) || !isNumber(y) || !isNumber(width) || !isNumber(height) || !isNumber(top) || !isNumber(left)) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(props, true), {\n className: clsx('recharts-cross', className),\n d: getPath(x, y, width, height, top, left)\n }));\n};","var baseExtremum = require('./_baseExtremum'),\n baseGt = require('./_baseGt'),\n baseIteratee = require('./_baseIteratee');\n\n/**\n * This method is like `_.max` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * the value is ranked. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {*} Returns the maximum value.\n * @example\n *\n * var objects = [{ 'n': 1 }, { 'n': 2 }];\n *\n * _.maxBy(objects, function(o) { return o.n; });\n * // => { 'n': 2 }\n *\n * // The `_.property` iteratee shorthand.\n * _.maxBy(objects, 'n');\n * // => { 'n': 2 }\n */\nfunction maxBy(array, iteratee) {\n return (array && array.length)\n ? baseExtremum(array, baseIteratee(iteratee, 2), baseGt)\n : undefined;\n}\n\nmodule.exports = maxBy;\n","var baseExtremum = require('./_baseExtremum'),\n baseIteratee = require('./_baseIteratee'),\n baseLt = require('./_baseLt');\n\n/**\n * This method is like `_.min` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * the value is ranked. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {*} Returns the minimum value.\n * @example\n *\n * var objects = [{ 'n': 1 }, { 'n': 2 }];\n *\n * _.minBy(objects, function(o) { return o.n; });\n * // => { 'n': 1 }\n *\n * // The `_.property` iteratee shorthand.\n * _.minBy(objects, 'n');\n * // => { 'n': 1 }\n */\nfunction minBy(array, iteratee) {\n return (array && array.length)\n ? baseExtremum(array, baseIteratee(iteratee, 2), baseLt)\n : undefined;\n}\n\nmodule.exports = minBy;\n","var _excluded = [\"cx\", \"cy\", \"angle\", \"ticks\", \"axisLine\"],\n _excluded2 = [\"ticks\", \"tick\", \"angle\", \"tickFormatter\", \"stroke\"];\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview The axis of polar coordinate system\n */\nimport React, { PureComponent } from 'react';\nimport maxBy from 'lodash/maxBy';\nimport minBy from 'lodash/minBy';\nimport isFunction from 'lodash/isFunction';\nimport clsx from 'clsx';\nimport { Text } from '../component/Text';\nimport { Label } from '../component/Label';\nimport { Layer } from '../container/Layer';\nimport { getTickClassName, polarToCartesian } from '../util/PolarUtils';\nimport { adaptEventsOfChild } from '../util/types';\nimport { filterProps } from '../util/ReactUtils';\nexport var PolarRadiusAxis = /*#__PURE__*/function (_PureComponent) {\n function PolarRadiusAxis() {\n _classCallCheck(this, PolarRadiusAxis);\n return _callSuper(this, PolarRadiusAxis, arguments);\n }\n _inherits(PolarRadiusAxis, _PureComponent);\n return _createClass(PolarRadiusAxis, [{\n key: \"getTickValueCoord\",\n value:\n /**\n * Calculate the coordinate of tick\n * @param {Number} coordinate The radius of tick\n * @return {Object} (x, y)\n */\n function getTickValueCoord(_ref) {\n var coordinate = _ref.coordinate;\n var _this$props = this.props,\n angle = _this$props.angle,\n cx = _this$props.cx,\n cy = _this$props.cy;\n return polarToCartesian(cx, cy, coordinate, angle);\n }\n }, {\n key: \"getTickTextAnchor\",\n value: function getTickTextAnchor() {\n var orientation = this.props.orientation;\n var textAnchor;\n switch (orientation) {\n case 'left':\n textAnchor = 'end';\n break;\n case 'right':\n textAnchor = 'start';\n break;\n default:\n textAnchor = 'middle';\n break;\n }\n return textAnchor;\n }\n }, {\n key: \"getViewBox\",\n value: function getViewBox() {\n var _this$props2 = this.props,\n cx = _this$props2.cx,\n cy = _this$props2.cy,\n angle = _this$props2.angle,\n ticks = _this$props2.ticks;\n var maxRadiusTick = maxBy(ticks, function (entry) {\n return entry.coordinate || 0;\n });\n var minRadiusTick = minBy(ticks, function (entry) {\n return entry.coordinate || 0;\n });\n return {\n cx: cx,\n cy: cy,\n startAngle: angle,\n endAngle: angle,\n innerRadius: minRadiusTick.coordinate || 0,\n outerRadius: maxRadiusTick.coordinate || 0\n };\n }\n }, {\n key: \"renderAxisLine\",\n value: function renderAxisLine() {\n var _this$props3 = this.props,\n cx = _this$props3.cx,\n cy = _this$props3.cy,\n angle = _this$props3.angle,\n ticks = _this$props3.ticks,\n axisLine = _this$props3.axisLine,\n others = _objectWithoutProperties(_this$props3, _excluded);\n var extent = ticks.reduce(function (result, entry) {\n return [Math.min(result[0], entry.coordinate), Math.max(result[1], entry.coordinate)];\n }, [Infinity, -Infinity]);\n var point0 = polarToCartesian(cx, cy, extent[0], angle);\n var point1 = polarToCartesian(cx, cy, extent[1], angle);\n var props = _objectSpread(_objectSpread(_objectSpread({}, filterProps(others, false)), {}, {\n fill: 'none'\n }, filterProps(axisLine, false)), {}, {\n x1: point0.x,\n y1: point0.y,\n x2: point1.x,\n y2: point1.y\n });\n return /*#__PURE__*/React.createElement(\"line\", _extends({\n className: \"recharts-polar-radius-axis-line\"\n }, props));\n }\n }, {\n key: \"renderTicks\",\n value: function renderTicks() {\n var _this = this;\n var _this$props4 = this.props,\n ticks = _this$props4.ticks,\n tick = _this$props4.tick,\n angle = _this$props4.angle,\n tickFormatter = _this$props4.tickFormatter,\n stroke = _this$props4.stroke,\n others = _objectWithoutProperties(_this$props4, _excluded2);\n var textAnchor = this.getTickTextAnchor();\n var axisProps = filterProps(others, false);\n var customTickProps = filterProps(tick, false);\n var items = ticks.map(function (entry, i) {\n var coord = _this.getTickValueCoord(entry);\n var tickProps = _objectSpread(_objectSpread(_objectSpread(_objectSpread({\n textAnchor: textAnchor,\n transform: \"rotate(\".concat(90 - angle, \", \").concat(coord.x, \", \").concat(coord.y, \")\")\n }, axisProps), {}, {\n stroke: 'none',\n fill: stroke\n }, customTickProps), {}, {\n index: i\n }, coord), {}, {\n payload: entry\n });\n return /*#__PURE__*/React.createElement(Layer, _extends({\n className: clsx('recharts-polar-radius-axis-tick', getTickClassName(tick)),\n key: \"tick-\".concat(entry.coordinate)\n }, adaptEventsOfChild(_this.props, entry, i)), PolarRadiusAxis.renderTickItem(tick, tickProps, tickFormatter ? tickFormatter(entry.value, i) : entry.value));\n });\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-polar-radius-axis-ticks\"\n }, items);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props5 = this.props,\n ticks = _this$props5.ticks,\n axisLine = _this$props5.axisLine,\n tick = _this$props5.tick;\n if (!ticks || !ticks.length) {\n return null;\n }\n return /*#__PURE__*/React.createElement(Layer, {\n className: clsx('recharts-polar-radius-axis', this.props.className)\n }, axisLine && this.renderAxisLine(), tick && this.renderTicks(), Label.renderCallByParent(this.props, this.getViewBox()));\n }\n }], [{\n key: \"renderTickItem\",\n value: function renderTickItem(option, props, value) {\n var tickItem;\n if ( /*#__PURE__*/React.isValidElement(option)) {\n tickItem = /*#__PURE__*/React.cloneElement(option, props);\n } else if (isFunction(option)) {\n tickItem = option(props);\n } else {\n tickItem = /*#__PURE__*/React.createElement(Text, _extends({}, props, {\n className: \"recharts-polar-radius-axis-tick-value\"\n }), value);\n }\n return tickItem;\n }\n }]);\n}(PureComponent);\n_defineProperty(PolarRadiusAxis, \"displayName\", 'PolarRadiusAxis');\n_defineProperty(PolarRadiusAxis, \"axisType\", 'radiusAxis');\n_defineProperty(PolarRadiusAxis, \"defaultProps\", {\n type: 'number',\n radiusAxisId: 0,\n cx: 0,\n cy: 0,\n angle: 0,\n orientation: 'right',\n stroke: '#ccc',\n axisLine: true,\n tick: true,\n tickCount: 5,\n allowDataOverflow: false,\n scale: 'auto',\n allowDuplicatedCategory: true\n});","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview Axis of radial direction\n */\nimport React, { PureComponent } from 'react';\nimport isFunction from 'lodash/isFunction';\nimport clsx from 'clsx';\nimport { Layer } from '../container/Layer';\nimport { Dot } from '../shape/Dot';\nimport { Polygon } from '../shape/Polygon';\nimport { Text } from '../component/Text';\nimport { adaptEventsOfChild } from '../util/types';\nimport { filterProps } from '../util/ReactUtils';\nimport { getTickClassName, polarToCartesian } from '../util/PolarUtils';\nvar RADIAN = Math.PI / 180;\nvar eps = 1e-5;\nexport var PolarAngleAxis = /*#__PURE__*/function (_PureComponent) {\n function PolarAngleAxis() {\n _classCallCheck(this, PolarAngleAxis);\n return _callSuper(this, PolarAngleAxis, arguments);\n }\n _inherits(PolarAngleAxis, _PureComponent);\n return _createClass(PolarAngleAxis, [{\n key: \"getTickLineCoord\",\n value:\n /**\n * Calculate the coordinate of line endpoint\n * @param {Object} data The Data if ticks\n * @return {Object} (x0, y0): The start point of text,\n * (x1, y1): The end point close to text,\n * (x2, y2): The end point close to axis\n */\n function getTickLineCoord(data) {\n var _this$props = this.props,\n cx = _this$props.cx,\n cy = _this$props.cy,\n radius = _this$props.radius,\n orientation = _this$props.orientation,\n tickSize = _this$props.tickSize;\n var tickLineSize = tickSize || 8;\n var p1 = polarToCartesian(cx, cy, radius, data.coordinate);\n var p2 = polarToCartesian(cx, cy, radius + (orientation === 'inner' ? -1 : 1) * tickLineSize, data.coordinate);\n return {\n x1: p1.x,\n y1: p1.y,\n x2: p2.x,\n y2: p2.y\n };\n }\n\n /**\n * Get the text-anchor of each tick\n * @param {Object} data Data of ticks\n * @return {String} text-anchor\n */\n }, {\n key: \"getTickTextAnchor\",\n value: function getTickTextAnchor(data) {\n var orientation = this.props.orientation;\n var cos = Math.cos(-data.coordinate * RADIAN);\n var textAnchor;\n if (cos > eps) {\n textAnchor = orientation === 'outer' ? 'start' : 'end';\n } else if (cos < -eps) {\n textAnchor = orientation === 'outer' ? 'end' : 'start';\n } else {\n textAnchor = 'middle';\n }\n return textAnchor;\n }\n }, {\n key: \"renderAxisLine\",\n value: function renderAxisLine() {\n var _this$props2 = this.props,\n cx = _this$props2.cx,\n cy = _this$props2.cy,\n radius = _this$props2.radius,\n axisLine = _this$props2.axisLine,\n axisLineType = _this$props2.axisLineType;\n var props = _objectSpread(_objectSpread({}, filterProps(this.props, false)), {}, {\n fill: 'none'\n }, filterProps(axisLine, false));\n if (axisLineType === 'circle') {\n return /*#__PURE__*/React.createElement(Dot, _extends({\n className: \"recharts-polar-angle-axis-line\"\n }, props, {\n cx: cx,\n cy: cy,\n r: radius\n }));\n }\n var ticks = this.props.ticks;\n var points = ticks.map(function (entry) {\n return polarToCartesian(cx, cy, radius, entry.coordinate);\n });\n return /*#__PURE__*/React.createElement(Polygon, _extends({\n className: \"recharts-polar-angle-axis-line\"\n }, props, {\n points: points\n }));\n }\n }, {\n key: \"renderTicks\",\n value: function renderTicks() {\n var _this = this;\n var _this$props3 = this.props,\n ticks = _this$props3.ticks,\n tick = _this$props3.tick,\n tickLine = _this$props3.tickLine,\n tickFormatter = _this$props3.tickFormatter,\n stroke = _this$props3.stroke;\n var axisProps = filterProps(this.props, false);\n var customTickProps = filterProps(tick, false);\n var tickLineProps = _objectSpread(_objectSpread({}, axisProps), {}, {\n fill: 'none'\n }, filterProps(tickLine, false));\n var items = ticks.map(function (entry, i) {\n var lineCoord = _this.getTickLineCoord(entry);\n var textAnchor = _this.getTickTextAnchor(entry);\n var tickProps = _objectSpread(_objectSpread(_objectSpread({\n textAnchor: textAnchor\n }, axisProps), {}, {\n stroke: 'none',\n fill: stroke\n }, customTickProps), {}, {\n index: i,\n payload: entry,\n x: lineCoord.x2,\n y: lineCoord.y2\n });\n return /*#__PURE__*/React.createElement(Layer, _extends({\n className: clsx('recharts-polar-angle-axis-tick', getTickClassName(tick)),\n key: \"tick-\".concat(entry.coordinate)\n }, adaptEventsOfChild(_this.props, entry, i)), tickLine && /*#__PURE__*/React.createElement(\"line\", _extends({\n className: \"recharts-polar-angle-axis-tick-line\"\n }, tickLineProps, lineCoord)), tick && PolarAngleAxis.renderTickItem(tick, tickProps, tickFormatter ? tickFormatter(entry.value, i) : entry.value));\n });\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-polar-angle-axis-ticks\"\n }, items);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props4 = this.props,\n ticks = _this$props4.ticks,\n radius = _this$props4.radius,\n axisLine = _this$props4.axisLine;\n if (radius <= 0 || !ticks || !ticks.length) {\n return null;\n }\n return /*#__PURE__*/React.createElement(Layer, {\n className: clsx('recharts-polar-angle-axis', this.props.className)\n }, axisLine && this.renderAxisLine(), this.renderTicks());\n }\n }], [{\n key: \"renderTickItem\",\n value: function renderTickItem(option, props, value) {\n var tickItem;\n if ( /*#__PURE__*/React.isValidElement(option)) {\n tickItem = /*#__PURE__*/React.cloneElement(option, props);\n } else if (isFunction(option)) {\n tickItem = option(props);\n } else {\n tickItem = /*#__PURE__*/React.createElement(Text, _extends({}, props, {\n className: \"recharts-polar-angle-axis-tick-value\"\n }), value);\n }\n return tickItem;\n }\n }]);\n}(PureComponent);\n_defineProperty(PolarAngleAxis, \"displayName\", 'PolarAngleAxis');\n_defineProperty(PolarAngleAxis, \"axisType\", 'angleAxis');\n_defineProperty(PolarAngleAxis, \"defaultProps\", {\n type: 'category',\n angleAxisId: 0,\n scale: 'auto',\n cx: 0,\n cy: 0,\n orientation: 'outer',\n axisLine: true,\n tickLine: true,\n tickSize: 8,\n tick: true,\n hide: false,\n allowDuplicatedCategory: true\n});","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]';\n\n/**\n * Checks if `value` is classified as a boolean primitive or object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a boolean, else `false`.\n * @example\n *\n * _.isBoolean(false);\n * // => true\n *\n * _.isBoolean(null);\n * // => false\n */\nfunction isBoolean(value) {\n return value === true || value === false ||\n (isObjectLike(value) && baseGetTag(value) == boolTag);\n}\n\nmodule.exports = isBoolean;\n","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview Rectangle\n */\nimport React, { useEffect, useRef, useState } from 'react';\nimport clsx from 'clsx';\nimport Animate from 'react-smooth';\nimport { filterProps } from '../util/ReactUtils';\nvar getTrapezoidPath = function getTrapezoidPath(x, y, upperWidth, lowerWidth, height) {\n var widthGap = upperWidth - lowerWidth;\n var path;\n path = \"M \".concat(x, \",\").concat(y);\n path += \"L \".concat(x + upperWidth, \",\").concat(y);\n path += \"L \".concat(x + upperWidth - widthGap / 2, \",\").concat(y + height);\n path += \"L \".concat(x + upperWidth - widthGap / 2 - lowerWidth, \",\").concat(y + height);\n path += \"L \".concat(x, \",\").concat(y, \" Z\");\n return path;\n};\nvar defaultProps = {\n x: 0,\n y: 0,\n upperWidth: 0,\n lowerWidth: 0,\n height: 0,\n isUpdateAnimationActive: false,\n animationBegin: 0,\n animationDuration: 1500,\n animationEasing: 'ease'\n};\nexport var Trapezoid = function Trapezoid(props) {\n var trapezoidProps = _objectSpread(_objectSpread({}, defaultProps), props);\n var pathRef = useRef();\n var _useState = useState(-1),\n _useState2 = _slicedToArray(_useState, 2),\n totalLength = _useState2[0],\n setTotalLength = _useState2[1];\n useEffect(function () {\n if (pathRef.current && pathRef.current.getTotalLength) {\n try {\n var pathTotalLength = pathRef.current.getTotalLength();\n if (pathTotalLength) {\n setTotalLength(pathTotalLength);\n }\n } catch (err) {\n // calculate total length error\n }\n }\n }, []);\n var x = trapezoidProps.x,\n y = trapezoidProps.y,\n upperWidth = trapezoidProps.upperWidth,\n lowerWidth = trapezoidProps.lowerWidth,\n height = trapezoidProps.height,\n className = trapezoidProps.className;\n var animationEasing = trapezoidProps.animationEasing,\n animationDuration = trapezoidProps.animationDuration,\n animationBegin = trapezoidProps.animationBegin,\n isUpdateAnimationActive = trapezoidProps.isUpdateAnimationActive;\n if (x !== +x || y !== +y || upperWidth !== +upperWidth || lowerWidth !== +lowerWidth || height !== +height || upperWidth === 0 && lowerWidth === 0 || height === 0) {\n return null;\n }\n var layerClass = clsx('recharts-trapezoid', className);\n if (!isUpdateAnimationActive) {\n return /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(trapezoidProps, true), {\n className: layerClass,\n d: getTrapezoidPath(x, y, upperWidth, lowerWidth, height)\n })));\n }\n return /*#__PURE__*/React.createElement(Animate, {\n canBegin: totalLength > 0,\n from: {\n upperWidth: 0,\n lowerWidth: 0,\n height: height,\n x: x,\n y: y\n },\n to: {\n upperWidth: upperWidth,\n lowerWidth: lowerWidth,\n height: height,\n x: x,\n y: y\n },\n duration: animationDuration,\n animationEasing: animationEasing,\n isActive: isUpdateAnimationActive\n }, function (_ref) {\n var currUpperWidth = _ref.upperWidth,\n currLowerWidth = _ref.lowerWidth,\n currHeight = _ref.height,\n currX = _ref.x,\n currY = _ref.y;\n return /*#__PURE__*/React.createElement(Animate, {\n canBegin: totalLength > 0,\n from: \"0px \".concat(totalLength === -1 ? 1 : totalLength, \"px\"),\n to: \"\".concat(totalLength, \"px 0px\"),\n attributeName: \"strokeDasharray\",\n begin: animationBegin,\n duration: animationDuration,\n easing: animationEasing\n }, /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(trapezoidProps, true), {\n className: layerClass,\n d: getTrapezoidPath(currX, currY, currUpperWidth, currLowerWidth, currHeight),\n ref: pathRef\n })));\n });\n};","var _excluded = [\"option\", \"shapeType\", \"propTransformer\", \"activeClassName\", \"isActive\"];\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport React, { isValidElement, cloneElement } from 'react';\nimport isFunction from 'lodash/isFunction';\nimport isPlainObject from 'lodash/isPlainObject';\nimport isBoolean from 'lodash/isBoolean';\nimport isEqual from 'lodash/isEqual';\nimport { Rectangle } from '../shape/Rectangle';\nimport { Trapezoid } from '../shape/Trapezoid';\nimport { Sector } from '../shape/Sector';\nimport { Layer } from '../container/Layer';\nimport { Symbols } from '../shape/Symbols';\n\n/**\n * This is an abstraction for rendering a user defined prop for a customized shape in several forms.\n *\n * is the root and will handle taking in:\n * - an object of svg properties\n * - a boolean\n * - a render prop(inline function that returns jsx)\n * - a react element\n *\n * is a subcomponent of and used to match a component\n * to the value of props.shapeType that is passed to the root.\n *\n */\n\nfunction defaultPropTransformer(option, props) {\n return _objectSpread(_objectSpread({}, props), option);\n}\nfunction isSymbolsProps(shapeType, _elementProps) {\n return shapeType === 'symbols';\n}\nfunction ShapeSelector(_ref) {\n var shapeType = _ref.shapeType,\n elementProps = _ref.elementProps;\n switch (shapeType) {\n case 'rectangle':\n return /*#__PURE__*/React.createElement(Rectangle, elementProps);\n case 'trapezoid':\n return /*#__PURE__*/React.createElement(Trapezoid, elementProps);\n case 'sector':\n return /*#__PURE__*/React.createElement(Sector, elementProps);\n case 'symbols':\n if (isSymbolsProps(shapeType, elementProps)) {\n return /*#__PURE__*/React.createElement(Symbols, elementProps);\n }\n break;\n default:\n return null;\n }\n}\nexport function getPropsFromShapeOption(option) {\n if ( /*#__PURE__*/isValidElement(option)) {\n return option.props;\n }\n return option;\n}\nexport function Shape(_ref2) {\n var option = _ref2.option,\n shapeType = _ref2.shapeType,\n _ref2$propTransformer = _ref2.propTransformer,\n propTransformer = _ref2$propTransformer === void 0 ? defaultPropTransformer : _ref2$propTransformer,\n _ref2$activeClassName = _ref2.activeClassName,\n activeClassName = _ref2$activeClassName === void 0 ? 'recharts-active-shape' : _ref2$activeClassName,\n isActive = _ref2.isActive,\n props = _objectWithoutProperties(_ref2, _excluded);\n var shape;\n if ( /*#__PURE__*/isValidElement(option)) {\n shape = /*#__PURE__*/cloneElement(option, _objectSpread(_objectSpread({}, props), getPropsFromShapeOption(option)));\n } else if (isFunction(option)) {\n shape = option(props);\n } else if (isPlainObject(option) && !isBoolean(option)) {\n var nextProps = propTransformer(option, props);\n shape = /*#__PURE__*/React.createElement(ShapeSelector, {\n shapeType: shapeType,\n elementProps: nextProps\n });\n } else {\n var elementProps = props;\n shape = /*#__PURE__*/React.createElement(ShapeSelector, {\n shapeType: shapeType,\n elementProps: elementProps\n });\n }\n if (isActive) {\n return /*#__PURE__*/React.createElement(Layer, {\n className: activeClassName\n }, shape);\n }\n return shape;\n}\n\n/**\n * This is an abstraction to handle identifying the active index from a tooltip mouse interaction\n */\n\nexport function isFunnel(graphicalItem, _item) {\n return _item != null && 'trapezoids' in graphicalItem.props;\n}\nexport function isPie(graphicalItem, _item) {\n return _item != null && 'sectors' in graphicalItem.props;\n}\nexport function isScatter(graphicalItem, _item) {\n return _item != null && 'points' in graphicalItem.props;\n}\nexport function compareFunnel(shapeData, activeTooltipItem) {\n var _activeTooltipItem$la, _activeTooltipItem$la2;\n var xMatches = shapeData.x === (activeTooltipItem === null || activeTooltipItem === void 0 || (_activeTooltipItem$la = activeTooltipItem.labelViewBox) === null || _activeTooltipItem$la === void 0 ? void 0 : _activeTooltipItem$la.x) || shapeData.x === activeTooltipItem.x;\n var yMatches = shapeData.y === (activeTooltipItem === null || activeTooltipItem === void 0 || (_activeTooltipItem$la2 = activeTooltipItem.labelViewBox) === null || _activeTooltipItem$la2 === void 0 ? void 0 : _activeTooltipItem$la2.y) || shapeData.y === activeTooltipItem.y;\n return xMatches && yMatches;\n}\nexport function comparePie(shapeData, activeTooltipItem) {\n var startAngleMatches = shapeData.endAngle === activeTooltipItem.endAngle;\n var endAngleMatches = shapeData.startAngle === activeTooltipItem.startAngle;\n return startAngleMatches && endAngleMatches;\n}\nexport function compareScatter(shapeData, activeTooltipItem) {\n var xMatches = shapeData.x === activeTooltipItem.x;\n var yMatches = shapeData.y === activeTooltipItem.y;\n var zMatches = shapeData.z === activeTooltipItem.z;\n return xMatches && yMatches && zMatches;\n}\nfunction getComparisonFn(graphicalItem, activeItem) {\n var comparison;\n if (isFunnel(graphicalItem, activeItem)) {\n comparison = compareFunnel;\n } else if (isPie(graphicalItem, activeItem)) {\n comparison = comparePie;\n } else if (isScatter(graphicalItem, activeItem)) {\n comparison = compareScatter;\n }\n return comparison;\n}\nfunction getShapeDataKey(graphicalItem, activeItem) {\n var shapeKey;\n if (isFunnel(graphicalItem, activeItem)) {\n shapeKey = 'trapezoids';\n } else if (isPie(graphicalItem, activeItem)) {\n shapeKey = 'sectors';\n } else if (isScatter(graphicalItem, activeItem)) {\n shapeKey = 'points';\n }\n return shapeKey;\n}\nfunction getActiveShapeTooltipPayload(graphicalItem, activeItem) {\n if (isFunnel(graphicalItem, activeItem)) {\n var _activeItem$tooltipPa;\n return (_activeItem$tooltipPa = activeItem.tooltipPayload) === null || _activeItem$tooltipPa === void 0 || (_activeItem$tooltipPa = _activeItem$tooltipPa[0]) === null || _activeItem$tooltipPa === void 0 || (_activeItem$tooltipPa = _activeItem$tooltipPa.payload) === null || _activeItem$tooltipPa === void 0 ? void 0 : _activeItem$tooltipPa.payload;\n }\n if (isPie(graphicalItem, activeItem)) {\n var _activeItem$tooltipPa2;\n return (_activeItem$tooltipPa2 = activeItem.tooltipPayload) === null || _activeItem$tooltipPa2 === void 0 || (_activeItem$tooltipPa2 = _activeItem$tooltipPa2[0]) === null || _activeItem$tooltipPa2 === void 0 || (_activeItem$tooltipPa2 = _activeItem$tooltipPa2.payload) === null || _activeItem$tooltipPa2 === void 0 ? void 0 : _activeItem$tooltipPa2.payload;\n }\n if (isScatter(graphicalItem, activeItem)) {\n return activeItem.payload;\n }\n return {};\n}\n/**\n *\n * @param {GetActiveShapeIndexForTooltip} arg an object of incoming attributes from Tooltip\n * @returns {number}\n *\n * To handle possible duplicates in the data set,\n * match both the data value of the active item to a data value on a graph item,\n * and match the mouse coordinates of the active item to the coordinates of in a particular components shape data.\n * This assumes equal lengths of shape objects to data items.\n */\nexport function getActiveShapeIndexForTooltip(_ref3) {\n var activeTooltipItem = _ref3.activeTooltipItem,\n graphicalItem = _ref3.graphicalItem,\n itemData = _ref3.itemData;\n var shapeKey = getShapeDataKey(graphicalItem, activeTooltipItem);\n var tooltipPayload = getActiveShapeTooltipPayload(graphicalItem, activeTooltipItem);\n var activeItemMatches = itemData.filter(function (datum, dataIndex) {\n var valuesMatch = isEqual(tooltipPayload, datum);\n var mouseCoordinateMatches = graphicalItem.props[shapeKey].filter(function (shapeData) {\n var comparison = getComparisonFn(graphicalItem, activeTooltipItem);\n return comparison(shapeData, activeTooltipItem);\n });\n\n // get the last index in case of multiple matches\n var indexOfMouseCoordinates = graphicalItem.props[shapeKey].indexOf(mouseCoordinateMatches[mouseCoordinateMatches.length - 1]);\n var coordinatesMatch = dataIndex === indexOfMouseCoordinates;\n return valuesMatch && coordinatesMatch;\n });\n\n // get the last index in case of multiple matches\n var activeIndex = itemData.indexOf(activeItemMatches[activeItemMatches.length - 1]);\n return activeIndex;\n}","var _Pie;\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview Render sectors of a pie\n */\nimport React, { PureComponent } from 'react';\nimport Animate from 'react-smooth';\nimport get from 'lodash/get';\nimport isEqual from 'lodash/isEqual';\nimport isNil from 'lodash/isNil';\nimport isFunction from 'lodash/isFunction';\nimport clsx from 'clsx';\nimport { Layer } from '../container/Layer';\nimport { Curve } from '../shape/Curve';\nimport { Text } from '../component/Text';\nimport { Label } from '../component/Label';\nimport { LabelList } from '../component/LabelList';\nimport { Cell } from '../component/Cell';\nimport { findAllByType, filterProps } from '../util/ReactUtils';\nimport { Global } from '../util/Global';\nimport { polarToCartesian, getMaxRadius } from '../util/PolarUtils';\nimport { isNumber, getPercentValue, mathSign, interpolateNumber, uniqueId } from '../util/DataUtils';\nimport { getValueByDataKey } from '../util/ChartUtils';\nimport { warn } from '../util/LogUtils';\nimport { adaptEventsOfChild } from '../util/types';\nimport { Shape } from '../util/ActiveShapeUtils';\nexport var Pie = /*#__PURE__*/function (_PureComponent) {\n function Pie(props) {\n var _this;\n _classCallCheck(this, Pie);\n _this = _callSuper(this, Pie, [props]);\n _defineProperty(_this, \"pieRef\", null);\n _defineProperty(_this, \"sectorRefs\", []);\n _defineProperty(_this, \"id\", uniqueId('recharts-pie-'));\n _defineProperty(_this, \"handleAnimationEnd\", function () {\n var onAnimationEnd = _this.props.onAnimationEnd;\n _this.setState({\n isAnimationFinished: true\n });\n if (isFunction(onAnimationEnd)) {\n onAnimationEnd();\n }\n });\n _defineProperty(_this, \"handleAnimationStart\", function () {\n var onAnimationStart = _this.props.onAnimationStart;\n _this.setState({\n isAnimationFinished: false\n });\n if (isFunction(onAnimationStart)) {\n onAnimationStart();\n }\n });\n _this.state = {\n isAnimationFinished: !props.isAnimationActive,\n prevIsAnimationActive: props.isAnimationActive,\n prevAnimationId: props.animationId,\n sectorToFocus: 0\n };\n return _this;\n }\n _inherits(Pie, _PureComponent);\n return _createClass(Pie, [{\n key: \"isActiveIndex\",\n value: function isActiveIndex(i) {\n var activeIndex = this.props.activeIndex;\n if (Array.isArray(activeIndex)) {\n return activeIndex.indexOf(i) !== -1;\n }\n return i === activeIndex;\n }\n }, {\n key: \"hasActiveIndex\",\n value: function hasActiveIndex() {\n var activeIndex = this.props.activeIndex;\n return Array.isArray(activeIndex) ? activeIndex.length !== 0 : activeIndex || activeIndex === 0;\n }\n }, {\n key: \"renderLabels\",\n value: function renderLabels(sectors) {\n var isAnimationActive = this.props.isAnimationActive;\n if (isAnimationActive && !this.state.isAnimationFinished) {\n return null;\n }\n var _this$props = this.props,\n label = _this$props.label,\n labelLine = _this$props.labelLine,\n dataKey = _this$props.dataKey,\n valueKey = _this$props.valueKey;\n var pieProps = filterProps(this.props, false);\n var customLabelProps = filterProps(label, false);\n var customLabelLineProps = filterProps(labelLine, false);\n var offsetRadius = label && label.offsetRadius || 20;\n var labels = sectors.map(function (entry, i) {\n var midAngle = (entry.startAngle + entry.endAngle) / 2;\n var endPoint = polarToCartesian(entry.cx, entry.cy, entry.outerRadius + offsetRadius, midAngle);\n var labelProps = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, pieProps), entry), {}, {\n stroke: 'none'\n }, customLabelProps), {}, {\n index: i,\n textAnchor: Pie.getTextAnchor(endPoint.x, entry.cx)\n }, endPoint);\n var lineProps = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, pieProps), entry), {}, {\n fill: 'none',\n stroke: entry.fill\n }, customLabelLineProps), {}, {\n index: i,\n points: [polarToCartesian(entry.cx, entry.cy, entry.outerRadius, midAngle), endPoint]\n });\n var realDataKey = dataKey;\n // TODO: compatible to lower versions\n if (isNil(dataKey) && isNil(valueKey)) {\n realDataKey = 'value';\n } else if (isNil(dataKey)) {\n realDataKey = valueKey;\n }\n return (\n /*#__PURE__*/\n // eslint-disable-next-line react/no-array-index-key\n React.createElement(Layer, {\n key: \"label-\".concat(entry.startAngle, \"-\").concat(entry.endAngle, \"-\").concat(entry.midAngle, \"-\").concat(i)\n }, labelLine && Pie.renderLabelLineItem(labelLine, lineProps, 'line'), Pie.renderLabelItem(label, labelProps, getValueByDataKey(entry, realDataKey)))\n );\n });\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-pie-labels\"\n }, labels);\n }\n }, {\n key: \"renderSectorsStatically\",\n value: function renderSectorsStatically(sectors) {\n var _this2 = this;\n var _this$props2 = this.props,\n activeShape = _this$props2.activeShape,\n blendStroke = _this$props2.blendStroke,\n inactiveShapeProp = _this$props2.inactiveShape;\n return sectors.map(function (entry, i) {\n if ((entry === null || entry === void 0 ? void 0 : entry.startAngle) === 0 && (entry === null || entry === void 0 ? void 0 : entry.endAngle) === 0 && sectors.length !== 1) return null;\n var isActive = _this2.isActiveIndex(i);\n var inactiveShape = inactiveShapeProp && _this2.hasActiveIndex() ? inactiveShapeProp : null;\n var sectorOptions = isActive ? activeShape : inactiveShape;\n var sectorProps = _objectSpread(_objectSpread({}, entry), {}, {\n stroke: blendStroke ? entry.fill : entry.stroke,\n tabIndex: -1\n });\n return /*#__PURE__*/React.createElement(Layer, _extends({\n ref: function ref(_ref) {\n if (_ref && !_this2.sectorRefs.includes(_ref)) {\n _this2.sectorRefs.push(_ref);\n }\n },\n tabIndex: -1,\n className: \"recharts-pie-sector\"\n }, adaptEventsOfChild(_this2.props, entry, i), {\n // eslint-disable-next-line react/no-array-index-key\n key: \"sector-\".concat(entry === null || entry === void 0 ? void 0 : entry.startAngle, \"-\").concat(entry === null || entry === void 0 ? void 0 : entry.endAngle, \"-\").concat(entry.midAngle, \"-\").concat(i)\n }), /*#__PURE__*/React.createElement(Shape, _extends({\n option: sectorOptions,\n isActive: isActive,\n shapeType: \"sector\"\n }, sectorProps)));\n });\n }\n }, {\n key: \"renderSectorsWithAnimation\",\n value: function renderSectorsWithAnimation() {\n var _this3 = this;\n var _this$props3 = this.props,\n sectors = _this$props3.sectors,\n isAnimationActive = _this$props3.isAnimationActive,\n animationBegin = _this$props3.animationBegin,\n animationDuration = _this$props3.animationDuration,\n animationEasing = _this$props3.animationEasing,\n animationId = _this$props3.animationId;\n var _this$state = this.state,\n prevSectors = _this$state.prevSectors,\n prevIsAnimationActive = _this$state.prevIsAnimationActive;\n return /*#__PURE__*/React.createElement(Animate, {\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing,\n from: {\n t: 0\n },\n to: {\n t: 1\n },\n key: \"pie-\".concat(animationId, \"-\").concat(prevIsAnimationActive),\n onAnimationStart: this.handleAnimationStart,\n onAnimationEnd: this.handleAnimationEnd\n }, function (_ref2) {\n var t = _ref2.t;\n var stepData = [];\n var first = sectors && sectors[0];\n var curAngle = first.startAngle;\n sectors.forEach(function (entry, index) {\n var prev = prevSectors && prevSectors[index];\n var paddingAngle = index > 0 ? get(entry, 'paddingAngle', 0) : 0;\n if (prev) {\n var angleIp = interpolateNumber(prev.endAngle - prev.startAngle, entry.endAngle - entry.startAngle);\n var latest = _objectSpread(_objectSpread({}, entry), {}, {\n startAngle: curAngle + paddingAngle,\n endAngle: curAngle + angleIp(t) + paddingAngle\n });\n stepData.push(latest);\n curAngle = latest.endAngle;\n } else {\n var endAngle = entry.endAngle,\n startAngle = entry.startAngle;\n var interpolatorAngle = interpolateNumber(0, endAngle - startAngle);\n var deltaAngle = interpolatorAngle(t);\n var _latest = _objectSpread(_objectSpread({}, entry), {}, {\n startAngle: curAngle + paddingAngle,\n endAngle: curAngle + deltaAngle + paddingAngle\n });\n stepData.push(_latest);\n curAngle = _latest.endAngle;\n }\n });\n return /*#__PURE__*/React.createElement(Layer, null, _this3.renderSectorsStatically(stepData));\n });\n }\n }, {\n key: \"attachKeyboardHandlers\",\n value: function attachKeyboardHandlers(pieRef) {\n var _this4 = this;\n // eslint-disable-next-line no-param-reassign\n pieRef.onkeydown = function (e) {\n if (!e.altKey) {\n switch (e.key) {\n case 'ArrowLeft':\n {\n var next = ++_this4.state.sectorToFocus % _this4.sectorRefs.length;\n _this4.sectorRefs[next].focus();\n _this4.setState({\n sectorToFocus: next\n });\n break;\n }\n case 'ArrowRight':\n {\n var _next = --_this4.state.sectorToFocus < 0 ? _this4.sectorRefs.length - 1 : _this4.state.sectorToFocus % _this4.sectorRefs.length;\n _this4.sectorRefs[_next].focus();\n _this4.setState({\n sectorToFocus: _next\n });\n break;\n }\n case 'Escape':\n {\n _this4.sectorRefs[_this4.state.sectorToFocus].blur();\n _this4.setState({\n sectorToFocus: 0\n });\n break;\n }\n default:\n {\n // There is nothing to do here\n }\n }\n }\n };\n }\n }, {\n key: \"renderSectors\",\n value: function renderSectors() {\n var _this$props4 = this.props,\n sectors = _this$props4.sectors,\n isAnimationActive = _this$props4.isAnimationActive;\n var prevSectors = this.state.prevSectors;\n if (isAnimationActive && sectors && sectors.length && (!prevSectors || !isEqual(prevSectors, sectors))) {\n return this.renderSectorsWithAnimation();\n }\n return this.renderSectorsStatically(sectors);\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.pieRef) {\n this.attachKeyboardHandlers(this.pieRef);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this5 = this;\n var _this$props5 = this.props,\n hide = _this$props5.hide,\n sectors = _this$props5.sectors,\n className = _this$props5.className,\n label = _this$props5.label,\n cx = _this$props5.cx,\n cy = _this$props5.cy,\n innerRadius = _this$props5.innerRadius,\n outerRadius = _this$props5.outerRadius,\n isAnimationActive = _this$props5.isAnimationActive;\n var isAnimationFinished = this.state.isAnimationFinished;\n if (hide || !sectors || !sectors.length || !isNumber(cx) || !isNumber(cy) || !isNumber(innerRadius) || !isNumber(outerRadius)) {\n return null;\n }\n var layerClass = clsx('recharts-pie', className);\n return /*#__PURE__*/React.createElement(Layer, {\n tabIndex: this.props.rootTabIndex,\n className: layerClass,\n ref: function ref(_ref3) {\n _this5.pieRef = _ref3;\n }\n }, this.renderSectors(), label && this.renderLabels(sectors), Label.renderCallByParent(this.props, null, false), (!isAnimationActive || isAnimationFinished) && LabelList.renderCallByParent(this.props, sectors, false));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n if (prevState.prevIsAnimationActive !== nextProps.isAnimationActive) {\n return {\n prevIsAnimationActive: nextProps.isAnimationActive,\n prevAnimationId: nextProps.animationId,\n curSectors: nextProps.sectors,\n prevSectors: [],\n isAnimationFinished: true\n };\n }\n if (nextProps.isAnimationActive && nextProps.animationId !== prevState.prevAnimationId) {\n return {\n prevAnimationId: nextProps.animationId,\n curSectors: nextProps.sectors,\n prevSectors: prevState.curSectors,\n isAnimationFinished: true\n };\n }\n if (nextProps.sectors !== prevState.curSectors) {\n return {\n curSectors: nextProps.sectors,\n isAnimationFinished: true\n };\n }\n return null;\n }\n }, {\n key: \"getTextAnchor\",\n value: function getTextAnchor(x, cx) {\n if (x > cx) {\n return 'start';\n }\n if (x < cx) {\n return 'end';\n }\n return 'middle';\n }\n }, {\n key: \"renderLabelLineItem\",\n value: function renderLabelLineItem(option, props, key) {\n if ( /*#__PURE__*/React.isValidElement(option)) {\n return /*#__PURE__*/React.cloneElement(option, props);\n }\n if (isFunction(option)) {\n return option(props);\n }\n var className = clsx('recharts-pie-label-line', typeof option !== 'boolean' ? option.className : '');\n return /*#__PURE__*/React.createElement(Curve, _extends({}, props, {\n key: key,\n type: \"linear\",\n className: className\n }));\n }\n }, {\n key: \"renderLabelItem\",\n value: function renderLabelItem(option, props, value) {\n if ( /*#__PURE__*/React.isValidElement(option)) {\n return /*#__PURE__*/React.cloneElement(option, props);\n }\n var label = value;\n if (isFunction(option)) {\n label = option(props);\n if ( /*#__PURE__*/React.isValidElement(label)) {\n return label;\n }\n }\n var className = clsx('recharts-pie-label-text', typeof option !== 'boolean' && !isFunction(option) ? option.className : '');\n return /*#__PURE__*/React.createElement(Text, _extends({}, props, {\n alignmentBaseline: \"middle\",\n className: className\n }), label);\n }\n }]);\n}(PureComponent);\n_Pie = Pie;\n_defineProperty(Pie, \"displayName\", 'Pie');\n_defineProperty(Pie, \"defaultProps\", {\n stroke: '#fff',\n fill: '#808080',\n legendType: 'rect',\n cx: '50%',\n cy: '50%',\n startAngle: 0,\n endAngle: 360,\n innerRadius: 0,\n outerRadius: '80%',\n paddingAngle: 0,\n labelLine: true,\n hide: false,\n minAngle: 0,\n isAnimationActive: !Global.isSsr,\n animationBegin: 400,\n animationDuration: 1500,\n animationEasing: 'ease',\n nameKey: 'name',\n blendStroke: false,\n rootTabIndex: 0\n});\n_defineProperty(Pie, \"parseDeltaAngle\", function (startAngle, endAngle) {\n var sign = mathSign(endAngle - startAngle);\n var deltaAngle = Math.min(Math.abs(endAngle - startAngle), 360);\n return sign * deltaAngle;\n});\n_defineProperty(Pie, \"getRealPieData\", function (itemProps) {\n var data = itemProps.data,\n children = itemProps.children;\n var presentationProps = filterProps(itemProps, false);\n var cells = findAllByType(children, Cell);\n if (data && data.length) {\n return data.map(function (entry, index) {\n return _objectSpread(_objectSpread(_objectSpread({\n payload: entry\n }, presentationProps), entry), cells && cells[index] && cells[index].props);\n });\n }\n if (cells && cells.length) {\n return cells.map(function (cell) {\n return _objectSpread(_objectSpread({}, presentationProps), cell.props);\n });\n }\n return [];\n});\n_defineProperty(Pie, \"parseCoordinateOfPie\", function (itemProps, offset) {\n var top = offset.top,\n left = offset.left,\n width = offset.width,\n height = offset.height;\n var maxPieRadius = getMaxRadius(width, height);\n var cx = left + getPercentValue(itemProps.cx, width, width / 2);\n var cy = top + getPercentValue(itemProps.cy, height, height / 2);\n var innerRadius = getPercentValue(itemProps.innerRadius, maxPieRadius, 0);\n var outerRadius = getPercentValue(itemProps.outerRadius, maxPieRadius, maxPieRadius * 0.8);\n var maxRadius = itemProps.maxRadius || Math.sqrt(width * width + height * height) / 2;\n return {\n cx: cx,\n cy: cy,\n innerRadius: innerRadius,\n outerRadius: outerRadius,\n maxRadius: maxRadius\n };\n});\n_defineProperty(Pie, \"getComposedData\", function (_ref4) {\n var item = _ref4.item,\n offset = _ref4.offset;\n var itemProps = item.type.defaultProps !== undefined ? _objectSpread(_objectSpread({}, item.type.defaultProps), item.props) : item.props;\n var pieData = _Pie.getRealPieData(itemProps);\n if (!pieData || !pieData.length) {\n return null;\n }\n var cornerRadius = itemProps.cornerRadius,\n startAngle = itemProps.startAngle,\n endAngle = itemProps.endAngle,\n paddingAngle = itemProps.paddingAngle,\n dataKey = itemProps.dataKey,\n nameKey = itemProps.nameKey,\n valueKey = itemProps.valueKey,\n tooltipType = itemProps.tooltipType;\n var minAngle = Math.abs(itemProps.minAngle);\n var coordinate = _Pie.parseCoordinateOfPie(itemProps, offset);\n var deltaAngle = _Pie.parseDeltaAngle(startAngle, endAngle);\n var absDeltaAngle = Math.abs(deltaAngle);\n var realDataKey = dataKey;\n if (isNil(dataKey) && isNil(valueKey)) {\n warn(false, \"Use \\\"dataKey\\\" to specify the value of pie,\\n the props \\\"valueKey\\\" will be deprecated in 1.1.0\");\n realDataKey = 'value';\n } else if (isNil(dataKey)) {\n warn(false, \"Use \\\"dataKey\\\" to specify the value of pie,\\n the props \\\"valueKey\\\" will be deprecated in 1.1.0\");\n realDataKey = valueKey;\n }\n var notZeroItemCount = pieData.filter(function (entry) {\n return getValueByDataKey(entry, realDataKey, 0) !== 0;\n }).length;\n var totalPadingAngle = (absDeltaAngle >= 360 ? notZeroItemCount : notZeroItemCount - 1) * paddingAngle;\n var realTotalAngle = absDeltaAngle - notZeroItemCount * minAngle - totalPadingAngle;\n var sum = pieData.reduce(function (result, entry) {\n var val = getValueByDataKey(entry, realDataKey, 0);\n return result + (isNumber(val) ? val : 0);\n }, 0);\n var sectors;\n if (sum > 0) {\n var prev;\n sectors = pieData.map(function (entry, i) {\n var val = getValueByDataKey(entry, realDataKey, 0);\n var name = getValueByDataKey(entry, nameKey, i);\n var percent = (isNumber(val) ? val : 0) / sum;\n var tempStartAngle;\n if (i) {\n tempStartAngle = prev.endAngle + mathSign(deltaAngle) * paddingAngle * (val !== 0 ? 1 : 0);\n } else {\n tempStartAngle = startAngle;\n }\n var tempEndAngle = tempStartAngle + mathSign(deltaAngle) * ((val !== 0 ? minAngle : 0) + percent * realTotalAngle);\n var midAngle = (tempStartAngle + tempEndAngle) / 2;\n var middleRadius = (coordinate.innerRadius + coordinate.outerRadius) / 2;\n var tooltipPayload = [{\n name: name,\n value: val,\n payload: entry,\n dataKey: realDataKey,\n type: tooltipType\n }];\n var tooltipPosition = polarToCartesian(coordinate.cx, coordinate.cy, middleRadius, midAngle);\n prev = _objectSpread(_objectSpread(_objectSpread({\n percent: percent,\n cornerRadius: cornerRadius,\n name: name,\n tooltipPayload: tooltipPayload,\n midAngle: midAngle,\n middleRadius: middleRadius,\n tooltipPosition: tooltipPosition\n }, entry), coordinate), {}, {\n value: getValueByDataKey(entry, realDataKey),\n startAngle: tempStartAngle,\n endAngle: tempEndAngle,\n payload: entry,\n paddingAngle: mathSign(deltaAngle) * paddingAngle\n });\n return prev;\n });\n }\n return _objectSpread(_objectSpread({}, coordinate), {}, {\n sectors: sectors,\n data: pieData\n });\n});","/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeCeil = Math.ceil,\n nativeMax = Math.max;\n\n/**\n * The base implementation of `_.range` and `_.rangeRight` which doesn't\n * coerce arguments.\n *\n * @private\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @param {number} step The value to increment or decrement by.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the range of numbers.\n */\nfunction baseRange(start, end, step, fromRight) {\n var index = -1,\n length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),\n result = Array(length);\n\n while (length--) {\n result[fromRight ? length : ++index] = start;\n start += step;\n }\n return result;\n}\n\nmodule.exports = baseRange;\n","var toNumber = require('./toNumber');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\nmodule.exports = toFinite;\n","var baseRange = require('./_baseRange'),\n isIterateeCall = require('./_isIterateeCall'),\n toFinite = require('./toFinite');\n\n/**\n * Creates a `_.range` or `_.rangeRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new range function.\n */\nfunction createRange(fromRight) {\n return function(start, end, step) {\n if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {\n end = step = undefined;\n }\n // Ensure the sign of `-0` is preserved.\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);\n return baseRange(start, end, step, fromRight);\n };\n}\n\nmodule.exports = createRange;\n","var createRange = require('./_createRange');\n\n/**\n * Creates an array of numbers (positive and/or negative) progressing from\n * `start` up to, but not including, `end`. A step of `-1` is used if a negative\n * `start` is specified without an `end` or `step`. If `end` is not specified,\n * it's set to `start` with `start` then set to `0`.\n *\n * **Note:** JavaScript follows the IEEE-754 standard for resolving\n * floating-point values which can produce unexpected results.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @param {number} [step=1] The value to increment or decrement by.\n * @returns {Array} Returns the range of numbers.\n * @see _.inRange, _.rangeRight\n * @example\n *\n * _.range(4);\n * // => [0, 1, 2, 3]\n *\n * _.range(-4);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 5);\n * // => [1, 2, 3, 4]\n *\n * _.range(0, 20, 5);\n * // => [0, 5, 10, 15]\n *\n * _.range(0, -4, -1);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 4, 0);\n * // => [1, 1, 1]\n *\n * _.range(0);\n * // => []\n */\nvar range = createRange();\n\nmodule.exports = range;\n","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nvar PREFIX_LIST = ['Webkit', 'Moz', 'O', 'ms'];\nexport var generatePrefixStyle = function generatePrefixStyle(name, value) {\n if (!name) {\n return null;\n }\n var camelName = name.replace(/(\\w)/, function (v) {\n return v.toUpperCase();\n });\n var result = PREFIX_LIST.reduce(function (res, entry) {\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, entry + camelName, value));\n }, {});\n result[name] = value;\n return result;\n};","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview Brush\n */\nimport React, { PureComponent, Children } from 'react';\nimport clsx from 'clsx';\nimport { scalePoint } from 'victory-vendor/d3-scale';\nimport isFunction from 'lodash/isFunction';\nimport range from 'lodash/range';\nimport { Layer } from '../container/Layer';\nimport { Text } from '../component/Text';\nimport { getValueByDataKey } from '../util/ChartUtils';\nimport { isNumber } from '../util/DataUtils';\nimport { generatePrefixStyle } from '../util/CssPrefixUtils';\nimport { filterProps } from '../util/ReactUtils';\nvar createScale = function createScale(_ref) {\n var data = _ref.data,\n startIndex = _ref.startIndex,\n endIndex = _ref.endIndex,\n x = _ref.x,\n width = _ref.width,\n travellerWidth = _ref.travellerWidth;\n if (!data || !data.length) {\n return {};\n }\n var len = data.length;\n var scale = scalePoint().domain(range(0, len)).range([x, x + width - travellerWidth]);\n var scaleValues = scale.domain().map(function (entry) {\n return scale(entry);\n });\n return {\n isTextActive: false,\n isSlideMoving: false,\n isTravellerMoving: false,\n isTravellerFocused: false,\n startX: scale(startIndex),\n endX: scale(endIndex),\n scale: scale,\n scaleValues: scaleValues\n };\n};\nvar isTouch = function isTouch(e) {\n return e.changedTouches && !!e.changedTouches.length;\n};\nexport var Brush = /*#__PURE__*/function (_PureComponent) {\n function Brush(props) {\n var _this;\n _classCallCheck(this, Brush);\n _this = _callSuper(this, Brush, [props]);\n _defineProperty(_this, \"handleDrag\", function (e) {\n if (_this.leaveTimer) {\n clearTimeout(_this.leaveTimer);\n _this.leaveTimer = null;\n }\n if (_this.state.isTravellerMoving) {\n _this.handleTravellerMove(e);\n } else if (_this.state.isSlideMoving) {\n _this.handleSlideDrag(e);\n }\n });\n _defineProperty(_this, \"handleTouchMove\", function (e) {\n if (e.changedTouches != null && e.changedTouches.length > 0) {\n _this.handleDrag(e.changedTouches[0]);\n }\n });\n _defineProperty(_this, \"handleDragEnd\", function () {\n _this.setState({\n isTravellerMoving: false,\n isSlideMoving: false\n }, function () {\n var _this$props = _this.props,\n endIndex = _this$props.endIndex,\n onDragEnd = _this$props.onDragEnd,\n startIndex = _this$props.startIndex;\n onDragEnd === null || onDragEnd === void 0 || onDragEnd({\n endIndex: endIndex,\n startIndex: startIndex\n });\n });\n _this.detachDragEndListener();\n });\n _defineProperty(_this, \"handleLeaveWrapper\", function () {\n if (_this.state.isTravellerMoving || _this.state.isSlideMoving) {\n _this.leaveTimer = window.setTimeout(_this.handleDragEnd, _this.props.leaveTimeOut);\n }\n });\n _defineProperty(_this, \"handleEnterSlideOrTraveller\", function () {\n _this.setState({\n isTextActive: true\n });\n });\n _defineProperty(_this, \"handleLeaveSlideOrTraveller\", function () {\n _this.setState({\n isTextActive: false\n });\n });\n _defineProperty(_this, \"handleSlideDragStart\", function (e) {\n var event = isTouch(e) ? e.changedTouches[0] : e;\n _this.setState({\n isTravellerMoving: false,\n isSlideMoving: true,\n slideMoveStartX: event.pageX\n });\n _this.attachDragEndListener();\n });\n _this.travellerDragStartHandlers = {\n startX: _this.handleTravellerDragStart.bind(_this, 'startX'),\n endX: _this.handleTravellerDragStart.bind(_this, 'endX')\n };\n _this.state = {};\n return _this;\n }\n _inherits(Brush, _PureComponent);\n return _createClass(Brush, [{\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.leaveTimer) {\n clearTimeout(this.leaveTimer);\n this.leaveTimer = null;\n }\n this.detachDragEndListener();\n }\n }, {\n key: \"getIndex\",\n value: function getIndex(_ref2) {\n var startX = _ref2.startX,\n endX = _ref2.endX;\n var scaleValues = this.state.scaleValues;\n var _this$props2 = this.props,\n gap = _this$props2.gap,\n data = _this$props2.data;\n var lastIndex = data.length - 1;\n var min = Math.min(startX, endX);\n var max = Math.max(startX, endX);\n var minIndex = Brush.getIndexInRange(scaleValues, min);\n var maxIndex = Brush.getIndexInRange(scaleValues, max);\n return {\n startIndex: minIndex - minIndex % gap,\n endIndex: maxIndex === lastIndex ? lastIndex : maxIndex - maxIndex % gap\n };\n }\n }, {\n key: \"getTextOfTick\",\n value: function getTextOfTick(index) {\n var _this$props3 = this.props,\n data = _this$props3.data,\n tickFormatter = _this$props3.tickFormatter,\n dataKey = _this$props3.dataKey;\n var text = getValueByDataKey(data[index], dataKey, index);\n return isFunction(tickFormatter) ? tickFormatter(text, index) : text;\n }\n }, {\n key: \"attachDragEndListener\",\n value: function attachDragEndListener() {\n window.addEventListener('mouseup', this.handleDragEnd, true);\n window.addEventListener('touchend', this.handleDragEnd, true);\n window.addEventListener('mousemove', this.handleDrag, true);\n }\n }, {\n key: \"detachDragEndListener\",\n value: function detachDragEndListener() {\n window.removeEventListener('mouseup', this.handleDragEnd, true);\n window.removeEventListener('touchend', this.handleDragEnd, true);\n window.removeEventListener('mousemove', this.handleDrag, true);\n }\n }, {\n key: \"handleSlideDrag\",\n value: function handleSlideDrag(e) {\n var _this$state = this.state,\n slideMoveStartX = _this$state.slideMoveStartX,\n startX = _this$state.startX,\n endX = _this$state.endX;\n var _this$props4 = this.props,\n x = _this$props4.x,\n width = _this$props4.width,\n travellerWidth = _this$props4.travellerWidth,\n startIndex = _this$props4.startIndex,\n endIndex = _this$props4.endIndex,\n onChange = _this$props4.onChange;\n var delta = e.pageX - slideMoveStartX;\n if (delta > 0) {\n delta = Math.min(delta, x + width - travellerWidth - endX, x + width - travellerWidth - startX);\n } else if (delta < 0) {\n delta = Math.max(delta, x - startX, x - endX);\n }\n var newIndex = this.getIndex({\n startX: startX + delta,\n endX: endX + delta\n });\n if ((newIndex.startIndex !== startIndex || newIndex.endIndex !== endIndex) && onChange) {\n onChange(newIndex);\n }\n this.setState({\n startX: startX + delta,\n endX: endX + delta,\n slideMoveStartX: e.pageX\n });\n }\n }, {\n key: \"handleTravellerDragStart\",\n value: function handleTravellerDragStart(id, e) {\n var event = isTouch(e) ? e.changedTouches[0] : e;\n this.setState({\n isSlideMoving: false,\n isTravellerMoving: true,\n movingTravellerId: id,\n brushMoveStartX: event.pageX\n });\n this.attachDragEndListener();\n }\n }, {\n key: \"handleTravellerMove\",\n value: function handleTravellerMove(e) {\n var _this$state2 = this.state,\n brushMoveStartX = _this$state2.brushMoveStartX,\n movingTravellerId = _this$state2.movingTravellerId,\n endX = _this$state2.endX,\n startX = _this$state2.startX;\n var prevValue = this.state[movingTravellerId];\n var _this$props5 = this.props,\n x = _this$props5.x,\n width = _this$props5.width,\n travellerWidth = _this$props5.travellerWidth,\n onChange = _this$props5.onChange,\n gap = _this$props5.gap,\n data = _this$props5.data;\n var params = {\n startX: this.state.startX,\n endX: this.state.endX\n };\n var delta = e.pageX - brushMoveStartX;\n if (delta > 0) {\n delta = Math.min(delta, x + width - travellerWidth - prevValue);\n } else if (delta < 0) {\n delta = Math.max(delta, x - prevValue);\n }\n params[movingTravellerId] = prevValue + delta;\n var newIndex = this.getIndex(params);\n var startIndex = newIndex.startIndex,\n endIndex = newIndex.endIndex;\n var isFullGap = function isFullGap() {\n var lastIndex = data.length - 1;\n if (movingTravellerId === 'startX' && (endX > startX ? startIndex % gap === 0 : endIndex % gap === 0) || endX < startX && endIndex === lastIndex || movingTravellerId === 'endX' && (endX > startX ? endIndex % gap === 0 : startIndex % gap === 0) || endX > startX && endIndex === lastIndex) {\n return true;\n }\n return false;\n };\n this.setState(_defineProperty(_defineProperty({}, movingTravellerId, prevValue + delta), \"brushMoveStartX\", e.pageX), function () {\n if (onChange) {\n if (isFullGap()) {\n onChange(newIndex);\n }\n }\n });\n }\n }, {\n key: \"handleTravellerMoveKeyboard\",\n value: function handleTravellerMoveKeyboard(direction, id) {\n var _this2 = this;\n // scaleValues are a list of coordinates. For example: [65, 250, 435, 620, 805, 990].\n var _this$state3 = this.state,\n scaleValues = _this$state3.scaleValues,\n startX = _this$state3.startX,\n endX = _this$state3.endX;\n // currentScaleValue refers to which coordinate the current traveller should be placed at.\n var currentScaleValue = this.state[id];\n var currentIndex = scaleValues.indexOf(currentScaleValue);\n if (currentIndex === -1) {\n return;\n }\n var newIndex = currentIndex + direction;\n if (newIndex === -1 || newIndex >= scaleValues.length) {\n return;\n }\n var newScaleValue = scaleValues[newIndex];\n\n // Prevent travellers from being on top of each other or overlapping\n if (id === 'startX' && newScaleValue >= endX || id === 'endX' && newScaleValue <= startX) {\n return;\n }\n this.setState(_defineProperty({}, id, newScaleValue), function () {\n _this2.props.onChange(_this2.getIndex({\n startX: _this2.state.startX,\n endX: _this2.state.endX\n }));\n });\n }\n }, {\n key: \"renderBackground\",\n value: function renderBackground() {\n var _this$props6 = this.props,\n x = _this$props6.x,\n y = _this$props6.y,\n width = _this$props6.width,\n height = _this$props6.height,\n fill = _this$props6.fill,\n stroke = _this$props6.stroke;\n return /*#__PURE__*/React.createElement(\"rect\", {\n stroke: stroke,\n fill: fill,\n x: x,\n y: y,\n width: width,\n height: height\n });\n }\n }, {\n key: \"renderPanorama\",\n value: function renderPanorama() {\n var _this$props7 = this.props,\n x = _this$props7.x,\n y = _this$props7.y,\n width = _this$props7.width,\n height = _this$props7.height,\n data = _this$props7.data,\n children = _this$props7.children,\n padding = _this$props7.padding;\n var chartElement = Children.only(children);\n if (!chartElement) {\n return null;\n }\n return /*#__PURE__*/React.cloneElement(chartElement, {\n x: x,\n y: y,\n width: width,\n height: height,\n margin: padding,\n compact: true,\n data: data\n });\n }\n }, {\n key: \"renderTravellerLayer\",\n value: function renderTravellerLayer(travellerX, id) {\n var _data$startIndex,\n _data$endIndex,\n _this3 = this;\n var _this$props8 = this.props,\n y = _this$props8.y,\n travellerWidth = _this$props8.travellerWidth,\n height = _this$props8.height,\n traveller = _this$props8.traveller,\n ariaLabel = _this$props8.ariaLabel,\n data = _this$props8.data,\n startIndex = _this$props8.startIndex,\n endIndex = _this$props8.endIndex;\n var x = Math.max(travellerX, this.props.x);\n var travellerProps = _objectSpread(_objectSpread({}, filterProps(this.props, false)), {}, {\n x: x,\n y: y,\n width: travellerWidth,\n height: height\n });\n var ariaLabelBrush = ariaLabel || \"Min value: \".concat((_data$startIndex = data[startIndex]) === null || _data$startIndex === void 0 ? void 0 : _data$startIndex.name, \", Max value: \").concat((_data$endIndex = data[endIndex]) === null || _data$endIndex === void 0 ? void 0 : _data$endIndex.name);\n return /*#__PURE__*/React.createElement(Layer, {\n tabIndex: 0,\n role: \"slider\",\n \"aria-label\": ariaLabelBrush,\n \"aria-valuenow\": travellerX,\n className: \"recharts-brush-traveller\",\n onMouseEnter: this.handleEnterSlideOrTraveller,\n onMouseLeave: this.handleLeaveSlideOrTraveller,\n onMouseDown: this.travellerDragStartHandlers[id],\n onTouchStart: this.travellerDragStartHandlers[id],\n onKeyDown: function onKeyDown(e) {\n if (!['ArrowLeft', 'ArrowRight'].includes(e.key)) {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n _this3.handleTravellerMoveKeyboard(e.key === 'ArrowRight' ? 1 : -1, id);\n },\n onFocus: function onFocus() {\n _this3.setState({\n isTravellerFocused: true\n });\n },\n onBlur: function onBlur() {\n _this3.setState({\n isTravellerFocused: false\n });\n },\n style: {\n cursor: 'col-resize'\n }\n }, Brush.renderTraveller(traveller, travellerProps));\n }\n }, {\n key: \"renderSlide\",\n value: function renderSlide(startX, endX) {\n var _this$props9 = this.props,\n y = _this$props9.y,\n height = _this$props9.height,\n stroke = _this$props9.stroke,\n travellerWidth = _this$props9.travellerWidth;\n var x = Math.min(startX, endX) + travellerWidth;\n var width = Math.max(Math.abs(endX - startX) - travellerWidth, 0);\n return /*#__PURE__*/React.createElement(\"rect\", {\n className: \"recharts-brush-slide\",\n onMouseEnter: this.handleEnterSlideOrTraveller,\n onMouseLeave: this.handleLeaveSlideOrTraveller,\n onMouseDown: this.handleSlideDragStart,\n onTouchStart: this.handleSlideDragStart,\n style: {\n cursor: 'move'\n },\n stroke: \"none\",\n fill: stroke,\n fillOpacity: 0.2,\n x: x,\n y: y,\n width: width,\n height: height\n });\n }\n }, {\n key: \"renderText\",\n value: function renderText() {\n var _this$props10 = this.props,\n startIndex = _this$props10.startIndex,\n endIndex = _this$props10.endIndex,\n y = _this$props10.y,\n height = _this$props10.height,\n travellerWidth = _this$props10.travellerWidth,\n stroke = _this$props10.stroke;\n var _this$state4 = this.state,\n startX = _this$state4.startX,\n endX = _this$state4.endX;\n var offset = 5;\n var attrs = {\n pointerEvents: 'none',\n fill: stroke\n };\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-brush-texts\"\n }, /*#__PURE__*/React.createElement(Text, _extends({\n textAnchor: \"end\",\n verticalAnchor: \"middle\",\n x: Math.min(startX, endX) - offset,\n y: y + height / 2\n }, attrs), this.getTextOfTick(startIndex)), /*#__PURE__*/React.createElement(Text, _extends({\n textAnchor: \"start\",\n verticalAnchor: \"middle\",\n x: Math.max(startX, endX) + travellerWidth + offset,\n y: y + height / 2\n }, attrs), this.getTextOfTick(endIndex)));\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props11 = this.props,\n data = _this$props11.data,\n className = _this$props11.className,\n children = _this$props11.children,\n x = _this$props11.x,\n y = _this$props11.y,\n width = _this$props11.width,\n height = _this$props11.height,\n alwaysShowText = _this$props11.alwaysShowText;\n var _this$state5 = this.state,\n startX = _this$state5.startX,\n endX = _this$state5.endX,\n isTextActive = _this$state5.isTextActive,\n isSlideMoving = _this$state5.isSlideMoving,\n isTravellerMoving = _this$state5.isTravellerMoving,\n isTravellerFocused = _this$state5.isTravellerFocused;\n if (!data || !data.length || !isNumber(x) || !isNumber(y) || !isNumber(width) || !isNumber(height) || width <= 0 || height <= 0) {\n return null;\n }\n var layerClass = clsx('recharts-brush', className);\n var isPanoramic = React.Children.count(children) === 1;\n var style = generatePrefixStyle('userSelect', 'none');\n return /*#__PURE__*/React.createElement(Layer, {\n className: layerClass,\n onMouseLeave: this.handleLeaveWrapper,\n onTouchMove: this.handleTouchMove,\n style: style\n }, this.renderBackground(), isPanoramic && this.renderPanorama(), this.renderSlide(startX, endX), this.renderTravellerLayer(startX, 'startX'), this.renderTravellerLayer(endX, 'endX'), (isTextActive || isSlideMoving || isTravellerMoving || isTravellerFocused || alwaysShowText) && this.renderText());\n }\n }], [{\n key: \"renderDefaultTraveller\",\n value: function renderDefaultTraveller(props) {\n var x = props.x,\n y = props.y,\n width = props.width,\n height = props.height,\n stroke = props.stroke;\n var lineY = Math.floor(y + height / 2) - 1;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"rect\", {\n x: x,\n y: y,\n width: width,\n height: height,\n fill: stroke,\n stroke: \"none\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: x + 1,\n y1: lineY,\n x2: x + width - 1,\n y2: lineY,\n fill: \"none\",\n stroke: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: x + 1,\n y1: lineY + 2,\n x2: x + width - 1,\n y2: lineY + 2,\n fill: \"none\",\n stroke: \"#fff\"\n }));\n }\n }, {\n key: \"renderTraveller\",\n value: function renderTraveller(option, props) {\n var rectangle;\n if ( /*#__PURE__*/React.isValidElement(option)) {\n rectangle = /*#__PURE__*/React.cloneElement(option, props);\n } else if (isFunction(option)) {\n rectangle = option(props);\n } else {\n rectangle = Brush.renderDefaultTraveller(props);\n }\n return rectangle;\n }\n }, {\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n var data = nextProps.data,\n width = nextProps.width,\n x = nextProps.x,\n travellerWidth = nextProps.travellerWidth,\n updateId = nextProps.updateId,\n startIndex = nextProps.startIndex,\n endIndex = nextProps.endIndex;\n if (data !== prevState.prevData || updateId !== prevState.prevUpdateId) {\n return _objectSpread({\n prevData: data,\n prevTravellerWidth: travellerWidth,\n prevUpdateId: updateId,\n prevX: x,\n prevWidth: width\n }, data && data.length ? createScale({\n data: data,\n width: width,\n x: x,\n travellerWidth: travellerWidth,\n startIndex: startIndex,\n endIndex: endIndex\n }) : {\n scale: null,\n scaleValues: null\n });\n }\n if (prevState.scale && (width !== prevState.prevWidth || x !== prevState.prevX || travellerWidth !== prevState.prevTravellerWidth)) {\n prevState.scale.range([x, x + width - travellerWidth]);\n var scaleValues = prevState.scale.domain().map(function (entry) {\n return prevState.scale(entry);\n });\n return {\n prevData: data,\n prevTravellerWidth: travellerWidth,\n prevUpdateId: updateId,\n prevX: x,\n prevWidth: width,\n startX: prevState.scale(nextProps.startIndex),\n endX: prevState.scale(nextProps.endIndex),\n scaleValues: scaleValues\n };\n }\n return null;\n }\n }, {\n key: \"getIndexInRange\",\n value: function getIndexInRange(valueRange, x) {\n var len = valueRange.length;\n var start = 0;\n var end = len - 1;\n while (end - start > 1) {\n var middle = Math.floor((start + end) / 2);\n if (valueRange[middle] > x) {\n end = middle;\n } else {\n start = middle;\n }\n }\n return x >= valueRange[end] ? end : start;\n }\n }]);\n}(PureComponent);\n_defineProperty(Brush, \"displayName\", 'Brush');\n_defineProperty(Brush, \"defaultProps\", {\n height: 40,\n travellerWidth: 5,\n gap: 1,\n fill: '#fff',\n stroke: '#666',\n padding: {\n top: 1,\n right: 1,\n bottom: 1,\n left: 1\n },\n leaveTimeOut: 1000,\n alwaysShowText: false\n});","var baseEach = require('./_baseEach');\n\n/**\n * The base implementation of `_.some` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction baseSome(collection, predicate) {\n var result;\n\n baseEach(collection, function(value, index, collection) {\n result = predicate(value, index, collection);\n return !result;\n });\n return !!result;\n}\n\nmodule.exports = baseSome;\n","var arraySome = require('./_arraySome'),\n baseIteratee = require('./_baseIteratee'),\n baseSome = require('./_baseSome'),\n isArray = require('./isArray'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Checks if `predicate` returns truthy for **any** element of `collection`.\n * Iteration is stopped once `predicate` returns truthy. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n * @example\n *\n * _.some([null, 0, 'yes', false], Boolean);\n * // => true\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.some(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.some(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.some(users, 'active');\n * // => true\n */\nfunction some(collection, predicate, guard) {\n var func = isArray(collection) ? arraySome : baseSome;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, baseIteratee(predicate, 3));\n}\n\nmodule.exports = some;\n","export var ifOverflowMatches = function ifOverflowMatches(props, value) {\n var alwaysShow = props.alwaysShow;\n var ifOverflow = props.ifOverflow;\n if (alwaysShow) {\n ifOverflow = 'extendDomain';\n }\n return ifOverflow === value;\n};","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var baseAssignValue = require('./_baseAssignValue'),\n baseForOwn = require('./_baseForOwn'),\n baseIteratee = require('./_baseIteratee');\n\n/**\n * Creates an object with the same keys as `object` and values generated\n * by running each own enumerable string keyed property of `object` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapKeys\n * @example\n *\n * var users = {\n * 'fred': { 'user': 'fred', 'age': 40 },\n * 'pebbles': { 'user': 'pebbles', 'age': 1 }\n * };\n *\n * _.mapValues(users, function(o) { return o.age; });\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n *\n * // The `_.property` iteratee shorthand.\n * _.mapValues(users, 'age');\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n */\nfunction mapValues(object, iteratee) {\n var result = {};\n iteratee = baseIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, key, iteratee(value, key, object));\n });\n return result;\n}\n\nmodule.exports = mapValues;\n","/**\n * A specialized version of `_.every` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n */\nfunction arrayEvery(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (!predicate(array[index], index, array)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = arrayEvery;\n","var baseEach = require('./_baseEach');\n\n/**\n * The base implementation of `_.every` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`\n */\nfunction baseEvery(collection, predicate) {\n var result = true;\n baseEach(collection, function(value, index, collection) {\n result = !!predicate(value, index, collection);\n return result;\n });\n return result;\n}\n\nmodule.exports = baseEvery;\n","var arrayEvery = require('./_arrayEvery'),\n baseEvery = require('./_baseEvery'),\n baseIteratee = require('./_baseIteratee'),\n isArray = require('./isArray'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Checks if `predicate` returns truthy for **all** elements of `collection`.\n * Iteration is stopped once `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * **Note:** This method returns `true` for\n * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because\n * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of\n * elements of empty collections.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n * @example\n *\n * _.every([true, 1, null, 'yes'], Boolean);\n * // => false\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.every(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.every(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.every(users, 'active');\n * // => false\n */\nfunction every(collection, predicate, guard) {\n var func = isArray(collection) ? arrayEvery : baseEvery;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, baseIteratee(predicate, 3));\n}\n\nmodule.exports = every;\n","var _excluded = [\"x\", \"y\"];\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\nimport React from 'react';\nimport invariant from 'tiny-invariant';\nimport { Shape } from './ActiveShapeUtils';\nimport { isNullish, isNumber } from './DataUtils';\n\n// Rectangle props is expecting x, y, height, width as numbers, name as a string, and radius as a custom type\n// When props are being spread in from a user defined component in Bar,\n// the prop types of an SVGElement have these typed as something else.\n// This function will return the passed in props\n// along with x, y, height as numbers, name as a string, and radius as number | [number, number, number, number]\nfunction typeguardBarRectangleProps(_ref, props) {\n var xProp = _ref.x,\n yProp = _ref.y,\n option = _objectWithoutProperties(_ref, _excluded);\n var xValue = \"\".concat(xProp);\n var x = parseInt(xValue, 10);\n var yValue = \"\".concat(yProp);\n var y = parseInt(yValue, 10);\n var heightValue = \"\".concat(props.height || option.height);\n var height = parseInt(heightValue, 10);\n var widthValue = \"\".concat(props.width || option.width);\n var width = parseInt(widthValue, 10);\n return _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, props), option), x ? {\n x: x\n } : {}), y ? {\n y: y\n } : {}), {}, {\n height: height,\n width: width,\n name: props.name,\n radius: props.radius\n });\n}\nexport function BarRectangle(props) {\n return /*#__PURE__*/React.createElement(Shape, _extends({\n shapeType: \"rectangle\",\n propTransformer: typeguardBarRectangleProps,\n activeClassName: \"recharts-active-bar\"\n }, props));\n}\n/**\n * Safely gets minPointSize from from the minPointSize prop if it is a function\n * @param minPointSize minPointSize as passed to the Bar component\n * @param defaultValue default minPointSize\n * @returns minPointSize\n */\nexport var minPointSizeCallback = function minPointSizeCallback(minPointSize) {\n var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n return function (value, index) {\n if (typeof minPointSize === 'number') return minPointSize;\n var isValueNumberOrNil = isNumber(value) || isNullish(value);\n if (isValueNumberOrNil) {\n return minPointSize(value, index);\n }\n !isValueNumberOrNil ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"minPointSize callback function received a value with type of \".concat(_typeof(value), \". Currently only numbers or null/undefined are supported.\")) : invariant(false) : void 0;\n return defaultValue;\n };\n};","var _excluded = [\"value\", \"background\"];\nvar _Bar;\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview Render a group of bar\n */\nimport React, { PureComponent } from 'react';\nimport clsx from 'clsx';\nimport Animate from 'react-smooth';\nimport isEqual from 'lodash/isEqual';\nimport isNil from 'lodash/isNil';\nimport { Layer } from '../container/Layer';\nimport { ErrorBar } from './ErrorBar';\nimport { Cell } from '../component/Cell';\nimport { LabelList } from '../component/LabelList';\nimport { uniqueId, mathSign, interpolateNumber } from '../util/DataUtils';\nimport { filterProps, findAllByType } from '../util/ReactUtils';\nimport { Global } from '../util/Global';\nimport { getCateCoordinateOfBar, getValueByDataKey, truncateByDomain, getBaseValueOfBar, findPositionOfBar, getTooltipItem } from '../util/ChartUtils';\nimport { adaptEventsOfChild } from '../util/types';\nimport { BarRectangle, minPointSizeCallback } from '../util/BarUtils';\nexport var Bar = /*#__PURE__*/function (_PureComponent) {\n function Bar() {\n var _this;\n _classCallCheck(this, Bar);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, Bar, [].concat(args));\n _defineProperty(_this, \"state\", {\n isAnimationFinished: false\n });\n _defineProperty(_this, \"id\", uniqueId('recharts-bar-'));\n _defineProperty(_this, \"handleAnimationEnd\", function () {\n var onAnimationEnd = _this.props.onAnimationEnd;\n _this.setState({\n isAnimationFinished: true\n });\n if (onAnimationEnd) {\n onAnimationEnd();\n }\n });\n _defineProperty(_this, \"handleAnimationStart\", function () {\n var onAnimationStart = _this.props.onAnimationStart;\n _this.setState({\n isAnimationFinished: false\n });\n if (onAnimationStart) {\n onAnimationStart();\n }\n });\n return _this;\n }\n _inherits(Bar, _PureComponent);\n return _createClass(Bar, [{\n key: \"renderRectanglesStatically\",\n value: function renderRectanglesStatically(data) {\n var _this2 = this;\n var _this$props = this.props,\n shape = _this$props.shape,\n dataKey = _this$props.dataKey,\n activeIndex = _this$props.activeIndex,\n activeBar = _this$props.activeBar;\n var baseProps = filterProps(this.props, false);\n return data && data.map(function (entry, i) {\n var isActive = i === activeIndex;\n var option = isActive ? activeBar : shape;\n var props = _objectSpread(_objectSpread(_objectSpread({}, baseProps), entry), {}, {\n isActive: isActive,\n option: option,\n index: i,\n dataKey: dataKey,\n onAnimationStart: _this2.handleAnimationStart,\n onAnimationEnd: _this2.handleAnimationEnd\n });\n return /*#__PURE__*/React.createElement(Layer, _extends({\n className: \"recharts-bar-rectangle\"\n }, adaptEventsOfChild(_this2.props, entry, i), {\n // https://github.com/recharts/recharts/issues/5415\n // eslint-disable-next-line react/no-array-index-key\n key: \"rectangle-\".concat(entry === null || entry === void 0 ? void 0 : entry.x, \"-\").concat(entry === null || entry === void 0 ? void 0 : entry.y, \"-\").concat(entry === null || entry === void 0 ? void 0 : entry.value, \"-\").concat(i)\n }), /*#__PURE__*/React.createElement(BarRectangle, props));\n });\n }\n }, {\n key: \"renderRectanglesWithAnimation\",\n value: function renderRectanglesWithAnimation() {\n var _this3 = this;\n var _this$props2 = this.props,\n data = _this$props2.data,\n layout = _this$props2.layout,\n isAnimationActive = _this$props2.isAnimationActive,\n animationBegin = _this$props2.animationBegin,\n animationDuration = _this$props2.animationDuration,\n animationEasing = _this$props2.animationEasing,\n animationId = _this$props2.animationId;\n var prevData = this.state.prevData;\n return /*#__PURE__*/React.createElement(Animate, {\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing,\n from: {\n t: 0\n },\n to: {\n t: 1\n },\n key: \"bar-\".concat(animationId),\n onAnimationEnd: this.handleAnimationEnd,\n onAnimationStart: this.handleAnimationStart\n }, function (_ref) {\n var t = _ref.t;\n var stepData = data.map(function (entry, index) {\n var prev = prevData && prevData[index];\n if (prev) {\n var interpolatorX = interpolateNumber(prev.x, entry.x);\n var interpolatorY = interpolateNumber(prev.y, entry.y);\n var interpolatorWidth = interpolateNumber(prev.width, entry.width);\n var interpolatorHeight = interpolateNumber(prev.height, entry.height);\n return _objectSpread(_objectSpread({}, entry), {}, {\n x: interpolatorX(t),\n y: interpolatorY(t),\n width: interpolatorWidth(t),\n height: interpolatorHeight(t)\n });\n }\n if (layout === 'horizontal') {\n var _interpolatorHeight = interpolateNumber(0, entry.height);\n var h = _interpolatorHeight(t);\n return _objectSpread(_objectSpread({}, entry), {}, {\n y: entry.y + entry.height - h,\n height: h\n });\n }\n var interpolator = interpolateNumber(0, entry.width);\n var w = interpolator(t);\n return _objectSpread(_objectSpread({}, entry), {}, {\n width: w\n });\n });\n return /*#__PURE__*/React.createElement(Layer, null, _this3.renderRectanglesStatically(stepData));\n });\n }\n }, {\n key: \"renderRectangles\",\n value: function renderRectangles() {\n var _this$props3 = this.props,\n data = _this$props3.data,\n isAnimationActive = _this$props3.isAnimationActive;\n var prevData = this.state.prevData;\n if (isAnimationActive && data && data.length && (!prevData || !isEqual(prevData, data))) {\n return this.renderRectanglesWithAnimation();\n }\n return this.renderRectanglesStatically(data);\n }\n }, {\n key: \"renderBackground\",\n value: function renderBackground() {\n var _this4 = this;\n var _this$props4 = this.props,\n data = _this$props4.data,\n dataKey = _this$props4.dataKey,\n activeIndex = _this$props4.activeIndex;\n var backgroundProps = filterProps(this.props.background, false);\n return data.map(function (entry, i) {\n var value = entry.value,\n background = entry.background,\n rest = _objectWithoutProperties(entry, _excluded);\n if (!background) {\n return null;\n }\n var props = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, rest), {}, {\n fill: '#eee'\n }, background), backgroundProps), adaptEventsOfChild(_this4.props, entry, i)), {}, {\n onAnimationStart: _this4.handleAnimationStart,\n onAnimationEnd: _this4.handleAnimationEnd,\n dataKey: dataKey,\n index: i,\n className: 'recharts-bar-background-rectangle'\n });\n return /*#__PURE__*/React.createElement(BarRectangle, _extends({\n key: \"background-bar-\".concat(i),\n option: _this4.props.background,\n isActive: i === activeIndex\n }, props));\n });\n }\n }, {\n key: \"renderErrorBar\",\n value: function renderErrorBar(needClip, clipPathId) {\n if (this.props.isAnimationActive && !this.state.isAnimationFinished) {\n return null;\n }\n var _this$props5 = this.props,\n data = _this$props5.data,\n xAxis = _this$props5.xAxis,\n yAxis = _this$props5.yAxis,\n layout = _this$props5.layout,\n children = _this$props5.children;\n var errorBarItems = findAllByType(children, ErrorBar);\n if (!errorBarItems) {\n return null;\n }\n var offset = layout === 'vertical' ? data[0].height / 2 : data[0].width / 2;\n var dataPointFormatter = function dataPointFormatter(dataPoint, dataKey) {\n /**\n * if the value coming from `getComposedData` is an array then this is a stacked bar chart.\n * arr[1] represents end value of the bar since the data is in the form of [startValue, endValue].\n * */\n var value = Array.isArray(dataPoint.value) ? dataPoint.value[1] : dataPoint.value;\n return {\n x: dataPoint.x,\n y: dataPoint.y,\n value: value,\n errorVal: getValueByDataKey(dataPoint, dataKey)\n };\n };\n var errorBarProps = {\n clipPath: needClip ? \"url(#clipPath-\".concat(clipPathId, \")\") : null\n };\n return /*#__PURE__*/React.createElement(Layer, errorBarProps, errorBarItems.map(function (item) {\n return /*#__PURE__*/React.cloneElement(item, {\n key: \"error-bar-\".concat(clipPathId, \"-\").concat(item.props.dataKey),\n data: data,\n xAxis: xAxis,\n yAxis: yAxis,\n layout: layout,\n offset: offset,\n dataPointFormatter: dataPointFormatter\n });\n }));\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props6 = this.props,\n hide = _this$props6.hide,\n data = _this$props6.data,\n className = _this$props6.className,\n xAxis = _this$props6.xAxis,\n yAxis = _this$props6.yAxis,\n left = _this$props6.left,\n top = _this$props6.top,\n width = _this$props6.width,\n height = _this$props6.height,\n isAnimationActive = _this$props6.isAnimationActive,\n background = _this$props6.background,\n id = _this$props6.id;\n if (hide || !data || !data.length) {\n return null;\n }\n var isAnimationFinished = this.state.isAnimationFinished;\n var layerClass = clsx('recharts-bar', className);\n var needClipX = xAxis && xAxis.allowDataOverflow;\n var needClipY = yAxis && yAxis.allowDataOverflow;\n var needClip = needClipX || needClipY;\n var clipPathId = isNil(id) ? this.id : id;\n return /*#__PURE__*/React.createElement(Layer, {\n className: layerClass\n }, needClipX || needClipY ? /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clipPath-\".concat(clipPathId)\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: needClipX ? left : left - width / 2,\n y: needClipY ? top : top - height / 2,\n width: needClipX ? width : width * 2,\n height: needClipY ? height : height * 2\n }))) : null, /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-bar-rectangles\",\n clipPath: needClip ? \"url(#clipPath-\".concat(clipPathId, \")\") : null\n }, background ? this.renderBackground() : null, this.renderRectangles()), this.renderErrorBar(needClip, clipPathId), (!isAnimationActive || isAnimationFinished) && LabelList.renderCallByParent(this.props, data));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n if (nextProps.animationId !== prevState.prevAnimationId) {\n return {\n prevAnimationId: nextProps.animationId,\n curData: nextProps.data,\n prevData: prevState.curData\n };\n }\n if (nextProps.data !== prevState.curData) {\n return {\n curData: nextProps.data\n };\n }\n return null;\n }\n }]);\n}(PureComponent);\n_Bar = Bar;\n_defineProperty(Bar, \"displayName\", 'Bar');\n_defineProperty(Bar, \"defaultProps\", {\n xAxisId: 0,\n yAxisId: 0,\n legendType: 'rect',\n minPointSize: 0,\n hide: false,\n data: [],\n layout: 'vertical',\n activeBar: false,\n isAnimationActive: !Global.isSsr,\n animationBegin: 0,\n animationDuration: 400,\n animationEasing: 'ease'\n});\n/**\n * Compose the data of each group\n * @param {Object} props Props for the component\n * @param {Object} item An instance of Bar\n * @param {Array} barPosition The offset and size of each bar\n * @param {Object} xAxis The configuration of x-axis\n * @param {Object} yAxis The configuration of y-axis\n * @param {Array} stackedData The stacked data of a bar item\n * @return{Array} Composed data\n */\n_defineProperty(Bar, \"getComposedData\", function (_ref2) {\n var props = _ref2.props,\n item = _ref2.item,\n barPosition = _ref2.barPosition,\n bandSize = _ref2.bandSize,\n xAxis = _ref2.xAxis,\n yAxis = _ref2.yAxis,\n xAxisTicks = _ref2.xAxisTicks,\n yAxisTicks = _ref2.yAxisTicks,\n stackedData = _ref2.stackedData,\n dataStartIndex = _ref2.dataStartIndex,\n displayedData = _ref2.displayedData,\n offset = _ref2.offset;\n var pos = findPositionOfBar(barPosition, item);\n if (!pos) {\n return null;\n }\n var layout = props.layout;\n var itemDefaultProps = item.type.defaultProps;\n var itemProps = itemDefaultProps !== undefined ? _objectSpread(_objectSpread({}, itemDefaultProps), item.props) : item.props;\n var dataKey = itemProps.dataKey,\n children = itemProps.children,\n minPointSizeProp = itemProps.minPointSize;\n var numericAxis = layout === 'horizontal' ? yAxis : xAxis;\n var stackedDomain = stackedData ? numericAxis.scale.domain() : null;\n var baseValue = getBaseValueOfBar({\n numericAxis: numericAxis\n });\n var cells = findAllByType(children, Cell);\n var rects = displayedData.map(function (entry, index) {\n var value, x, y, width, height, background;\n if (stackedData) {\n value = truncateByDomain(stackedData[dataStartIndex + index], stackedDomain);\n } else {\n value = getValueByDataKey(entry, dataKey);\n if (!Array.isArray(value)) {\n value = [baseValue, value];\n }\n }\n var minPointSize = minPointSizeCallback(minPointSizeProp, _Bar.defaultProps.minPointSize)(value[1], index);\n if (layout === 'horizontal') {\n var _ref4;\n var _ref3 = [yAxis.scale(value[0]), yAxis.scale(value[1])],\n baseValueScale = _ref3[0],\n currentValueScale = _ref3[1];\n x = getCateCoordinateOfBar({\n axis: xAxis,\n ticks: xAxisTicks,\n bandSize: bandSize,\n offset: pos.offset,\n entry: entry,\n index: index\n });\n y = (_ref4 = currentValueScale !== null && currentValueScale !== void 0 ? currentValueScale : baseValueScale) !== null && _ref4 !== void 0 ? _ref4 : undefined;\n width = pos.size;\n var computedHeight = baseValueScale - currentValueScale;\n height = Number.isNaN(computedHeight) ? 0 : computedHeight;\n background = {\n x: x,\n y: yAxis.y,\n width: width,\n height: yAxis.height\n };\n if (Math.abs(minPointSize) > 0 && Math.abs(height) < Math.abs(minPointSize)) {\n var delta = mathSign(height || minPointSize) * (Math.abs(minPointSize) - Math.abs(height));\n y -= delta;\n height += delta;\n }\n } else {\n var _ref5 = [xAxis.scale(value[0]), xAxis.scale(value[1])],\n _baseValueScale = _ref5[0],\n _currentValueScale = _ref5[1];\n x = _baseValueScale;\n y = getCateCoordinateOfBar({\n axis: yAxis,\n ticks: yAxisTicks,\n bandSize: bandSize,\n offset: pos.offset,\n entry: entry,\n index: index\n });\n width = _currentValueScale - _baseValueScale;\n height = pos.size;\n background = {\n x: xAxis.x,\n y: y,\n width: xAxis.width,\n height: height\n };\n if (Math.abs(minPointSize) > 0 && Math.abs(width) < Math.abs(minPointSize)) {\n var _delta = mathSign(width || minPointSize) * (Math.abs(minPointSize) - Math.abs(width));\n width += _delta;\n }\n }\n return _objectSpread(_objectSpread(_objectSpread({}, entry), {}, {\n x: x,\n y: y,\n width: width,\n height: height,\n value: stackedData ? value : value[1],\n payload: entry,\n background: background\n }, cells && cells[index] && cells[index].props), {}, {\n tooltipPayload: [getTooltipItem(item, entry)],\n tooltipPosition: {\n x: x + width / 2,\n y: y + height / 2\n }\n });\n });\n return _objectSpread({\n data: rects,\n layout: layout\n }, offset);\n});","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport mapValues from 'lodash/mapValues';\nimport every from 'lodash/every';\nimport { getTicksOfScale, parseScale, checkDomainOfScale, getBandSizeOfAxis } from './ChartUtils';\nimport { findChildByType } from './ReactUtils';\nimport { compareValues, getPercentValue } from './DataUtils';\nimport { Bar } from '../cartesian/Bar';\n\n/**\n * Calculate the scale function, position, width, height of axes\n * @param {Object} props Latest props\n * @param {Object} axisMap The configuration of axes\n * @param {Object} offset The offset of main part in the svg element\n * @param {String} axisType The type of axes, x-axis or y-axis\n * @param {String} chartName The name of chart\n * @return {Object} Configuration\n */\nexport var formatAxisMap = function formatAxisMap(props, axisMap, offset, axisType, chartName) {\n var width = props.width,\n height = props.height,\n layout = props.layout,\n children = props.children;\n var ids = Object.keys(axisMap);\n var steps = {\n left: offset.left,\n leftMirror: offset.left,\n right: width - offset.right,\n rightMirror: width - offset.right,\n top: offset.top,\n topMirror: offset.top,\n bottom: height - offset.bottom,\n bottomMirror: height - offset.bottom\n };\n var hasBar = !!findChildByType(children, Bar);\n return ids.reduce(function (result, id) {\n var axis = axisMap[id];\n var orientation = axis.orientation,\n domain = axis.domain,\n _axis$padding = axis.padding,\n padding = _axis$padding === void 0 ? {} : _axis$padding,\n mirror = axis.mirror,\n reversed = axis.reversed;\n var offsetKey = \"\".concat(orientation).concat(mirror ? 'Mirror' : '');\n var calculatedPadding, range, x, y, needSpace;\n if (axis.type === 'number' && (axis.padding === 'gap' || axis.padding === 'no-gap')) {\n var diff = domain[1] - domain[0];\n var smallestDistanceBetweenValues = Infinity;\n var sortedValues = axis.categoricalDomain.sort(compareValues);\n sortedValues.forEach(function (value, index) {\n if (index > 0) {\n smallestDistanceBetweenValues = Math.min((value || 0) - (sortedValues[index - 1] || 0), smallestDistanceBetweenValues);\n }\n });\n if (Number.isFinite(smallestDistanceBetweenValues)) {\n var smallestDistanceInPercent = smallestDistanceBetweenValues / diff;\n var rangeWidth = axis.layout === 'vertical' ? offset.height : offset.width;\n if (axis.padding === 'gap') {\n calculatedPadding = smallestDistanceInPercent * rangeWidth / 2;\n }\n if (axis.padding === 'no-gap') {\n var gap = getPercentValue(props.barCategoryGap, smallestDistanceInPercent * rangeWidth);\n var halfBand = smallestDistanceInPercent * rangeWidth / 2;\n calculatedPadding = halfBand - gap - (halfBand - gap) / rangeWidth * gap;\n }\n }\n }\n if (axisType === 'xAxis') {\n range = [offset.left + (padding.left || 0) + (calculatedPadding || 0), offset.left + offset.width - (padding.right || 0) - (calculatedPadding || 0)];\n } else if (axisType === 'yAxis') {\n range = layout === 'horizontal' ? [offset.top + offset.height - (padding.bottom || 0), offset.top + (padding.top || 0)] : [offset.top + (padding.top || 0) + (calculatedPadding || 0), offset.top + offset.height - (padding.bottom || 0) - (calculatedPadding || 0)];\n } else {\n range = axis.range;\n }\n if (reversed) {\n range = [range[1], range[0]];\n }\n var _parseScale = parseScale(axis, chartName, hasBar),\n scale = _parseScale.scale,\n realScaleType = _parseScale.realScaleType;\n scale.domain(domain).range(range);\n checkDomainOfScale(scale);\n var ticks = getTicksOfScale(scale, _objectSpread(_objectSpread({}, axis), {}, {\n realScaleType: realScaleType\n }));\n if (axisType === 'xAxis') {\n needSpace = orientation === 'top' && !mirror || orientation === 'bottom' && mirror;\n x = offset.left;\n y = steps[offsetKey] - needSpace * axis.height;\n } else if (axisType === 'yAxis') {\n needSpace = orientation === 'left' && !mirror || orientation === 'right' && mirror;\n x = steps[offsetKey] - needSpace * axis.width;\n y = offset.top;\n }\n var finalAxis = _objectSpread(_objectSpread(_objectSpread({}, axis), ticks), {}, {\n realScaleType: realScaleType,\n x: x,\n y: y,\n scale: scale,\n width: axisType === 'xAxis' ? offset.width : axis.width,\n height: axisType === 'yAxis' ? offset.height : axis.height\n });\n finalAxis.bandSize = getBandSizeOfAxis(finalAxis, ticks);\n if (!axis.hide && axisType === 'xAxis') {\n steps[offsetKey] += (needSpace ? -1 : 1) * finalAxis.height;\n } else if (!axis.hide) {\n steps[offsetKey] += (needSpace ? -1 : 1) * finalAxis.width;\n }\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, id, finalAxis));\n }, {});\n};\nexport var rectWithPoints = function rectWithPoints(_ref, _ref2) {\n var x1 = _ref.x,\n y1 = _ref.y;\n var x2 = _ref2.x,\n y2 = _ref2.y;\n return {\n x: Math.min(x1, x2),\n y: Math.min(y1, y2),\n width: Math.abs(x2 - x1),\n height: Math.abs(y2 - y1)\n };\n};\n\n/**\n * Compute the x, y, width, and height of a box from two reference points.\n * @param {Object} coords x1, x2, y1, and y2\n * @return {Object} object\n */\nexport var rectWithCoords = function rectWithCoords(_ref3) {\n var x1 = _ref3.x1,\n y1 = _ref3.y1,\n x2 = _ref3.x2,\n y2 = _ref3.y2;\n return rectWithPoints({\n x: x1,\n y: y1\n }, {\n x: x2,\n y: y2\n });\n};\nexport var ScaleHelper = /*#__PURE__*/function () {\n function ScaleHelper(scale) {\n _classCallCheck(this, ScaleHelper);\n this.scale = scale;\n }\n return _createClass(ScaleHelper, [{\n key: \"domain\",\n get: function get() {\n return this.scale.domain;\n }\n }, {\n key: \"range\",\n get: function get() {\n return this.scale.range;\n }\n }, {\n key: \"rangeMin\",\n get: function get() {\n return this.range()[0];\n }\n }, {\n key: \"rangeMax\",\n get: function get() {\n return this.range()[1];\n }\n }, {\n key: \"bandwidth\",\n get: function get() {\n return this.scale.bandwidth;\n }\n }, {\n key: \"apply\",\n value: function apply(value) {\n var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n bandAware = _ref4.bandAware,\n position = _ref4.position;\n if (value === undefined) {\n return undefined;\n }\n if (position) {\n switch (position) {\n case 'start':\n {\n return this.scale(value);\n }\n case 'middle':\n {\n var offset = this.bandwidth ? this.bandwidth() / 2 : 0;\n return this.scale(value) + offset;\n }\n case 'end':\n {\n var _offset = this.bandwidth ? this.bandwidth() : 0;\n return this.scale(value) + _offset;\n }\n default:\n {\n return this.scale(value);\n }\n }\n }\n if (bandAware) {\n var _offset2 = this.bandwidth ? this.bandwidth() / 2 : 0;\n return this.scale(value) + _offset2;\n }\n return this.scale(value);\n }\n }, {\n key: \"isInRange\",\n value: function isInRange(value) {\n var range = this.range();\n var first = range[0];\n var last = range[range.length - 1];\n return first <= last ? value >= first && value <= last : value >= last && value <= first;\n }\n }], [{\n key: \"create\",\n value: function create(obj) {\n return new ScaleHelper(obj);\n }\n }]);\n}();\n_defineProperty(ScaleHelper, \"EPS\", 1e-4);\nexport var createLabeledScales = function createLabeledScales(options) {\n var scales = Object.keys(options).reduce(function (res, key) {\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, key, ScaleHelper.create(options[key])));\n }, {});\n return _objectSpread(_objectSpread({}, scales), {}, {\n apply: function apply(coord) {\n var _ref5 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n bandAware = _ref5.bandAware,\n position = _ref5.position;\n return mapValues(coord, function (value, label) {\n return scales[label].apply(value, {\n bandAware: bandAware,\n position: position\n });\n });\n },\n isInRange: function isInRange(coord) {\n return every(coord, function (value, label) {\n return scales[label].isInRange(value);\n });\n }\n });\n};\n\n/** Normalizes the angle so that 0 <= angle < 180.\n * @param {number} angle Angle in degrees.\n * @return {number} the normalized angle with a value of at least 0 and never greater or equal to 180. */\nexport function normalizeAngle(angle) {\n return (angle % 180 + 180) % 180;\n}\n\n/** Calculates the width of the largest horizontal line that fits inside a rectangle that is displayed at an angle.\n * @param {Object} size Width and height of the text in a horizontal position.\n * @param {number} angle Angle in degrees in which the text is displayed.\n * @return {number} The width of the largest horizontal line that fits inside a rectangle that is displayed at an angle.\n */\nexport var getAngledRectangleWidth = function getAngledRectangleWidth(_ref6) {\n var width = _ref6.width,\n height = _ref6.height;\n var angle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Ensure angle is >= 0 && < 180\n var normalizedAngle = normalizeAngle(angle);\n var angleRadians = normalizedAngle * Math.PI / 180;\n\n /* Depending on the height and width of the rectangle, we may need to use different formulas to calculate the angled\n * width. This threshold defines when each formula should kick in. */\n var angleThreshold = Math.atan(height / width);\n var angledWidth = angleRadians > angleThreshold && angleRadians < Math.PI - angleThreshold ? height / Math.sin(angleRadians) : width / Math.cos(angleRadians);\n return Math.abs(angledWidth);\n};","var baseIteratee = require('./_baseIteratee'),\n isArrayLike = require('./isArrayLike'),\n keys = require('./keys');\n\n/**\n * Creates a `_.find` or `_.findLast` function.\n *\n * @private\n * @param {Function} findIndexFunc The function to find the collection index.\n * @returns {Function} Returns the new find function.\n */\nfunction createFind(findIndexFunc) {\n return function(collection, predicate, fromIndex) {\n var iterable = Object(collection);\n if (!isArrayLike(collection)) {\n var iteratee = baseIteratee(predicate, 3);\n collection = keys(collection);\n predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n }\n var index = findIndexFunc(collection, predicate, fromIndex);\n return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n };\n}\n\nmodule.exports = createFind;\n","var toFinite = require('./toFinite');\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\nmodule.exports = toInteger;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIteratee = require('./_baseIteratee'),\n toInteger = require('./toInteger');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\nfunction findIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, baseIteratee(predicate, 3), index);\n}\n\nmodule.exports = findIndex;\n","var createFind = require('./_createFind'),\n findIndex = require('./findIndex');\n\n/**\n * Iterates over elements of `collection`, returning the first element\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false },\n * { 'user': 'pebbles', 'age': 1, 'active': true }\n * ];\n *\n * _.find(users, function(o) { return o.age < 40; });\n * // => object for 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.find(users, { 'age': 1, 'active': true });\n * // => object for 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.find(users, ['active', false]);\n * // => object for 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.find(users, 'active');\n * // => object for 'barney'\n */\nvar find = createFind(findIndex);\n\nmodule.exports = find;\n","import memoize from 'lodash/memoize';\n/**\n * This is memoized because the viewBox is unlikely to change often\n * - but because it is computed from offset, any change to it would re-render all children.\n *\n * And because we have many readers of the viewBox, and update it only rarely,\n * then let's optimize with memoization.\n */\nexport var calculateViewBox = memoize(function (offset) {\n return {\n x: offset.left,\n y: offset.top,\n width: offset.width,\n height: offset.height\n };\n}, function (offset) {\n return ['l', offset.left, 't', offset.top, 'w', offset.width, 'h', offset.height].join('');\n});","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nimport React, { createContext, useContext } from 'react';\nimport invariant from 'tiny-invariant';\nimport find from 'lodash/find';\nimport every from 'lodash/every';\nimport { calculateViewBox } from '../util/calculateViewBox';\nimport { getAnyElementOfObject } from '../util/DataUtils';\nexport var XAxisContext = /*#__PURE__*/createContext(undefined);\nexport var YAxisContext = /*#__PURE__*/createContext(undefined);\nexport var ViewBoxContext = /*#__PURE__*/createContext(undefined);\nexport var OffsetContext = /*#__PURE__*/createContext({});\nexport var ClipPathIdContext = /*#__PURE__*/createContext(undefined);\nexport var ChartHeightContext = /*#__PURE__*/createContext(0);\nexport var ChartWidthContext = /*#__PURE__*/createContext(0);\n\n/**\n * Will add all the properties required to render all individual Recharts components into a React Context.\n *\n * If you want to read these properties, see the collection of hooks exported from this file.\n *\n * @param {object} props CategoricalChartState, plus children\n * @returns {ReactElement} React Context Provider\n */\nexport var ChartLayoutContextProvider = function ChartLayoutContextProvider(props) {\n var _props$state = props.state,\n xAxisMap = _props$state.xAxisMap,\n yAxisMap = _props$state.yAxisMap,\n offset = _props$state.offset,\n clipPathId = props.clipPathId,\n children = props.children,\n width = props.width,\n height = props.height;\n\n /**\n * Perhaps we should compute this property when reading? Let's see what is more often used\n */\n var viewBox = calculateViewBox(offset);\n\n /*\n * This pretends to be a single context but actually is split into multiple smaller ones.\n * Why?\n * Because one React Context only allows to set one value.\n * But we need to set multiple values.\n * If we do that with one context, then we force re-render on components that might not even be interested\n * in the part of the state that has changed.\n *\n * By splitting into smaller contexts, we allow each components to be optimized and only re-render when its dependencies change.\n *\n * To actually achieve the optimal re-render, it is necessary to use React.memo().\n * See the test file for details.\n */\n return /*#__PURE__*/React.createElement(XAxisContext.Provider, {\n value: xAxisMap\n }, /*#__PURE__*/React.createElement(YAxisContext.Provider, {\n value: yAxisMap\n }, /*#__PURE__*/React.createElement(OffsetContext.Provider, {\n value: offset\n }, /*#__PURE__*/React.createElement(ViewBoxContext.Provider, {\n value: viewBox\n }, /*#__PURE__*/React.createElement(ClipPathIdContext.Provider, {\n value: clipPathId\n }, /*#__PURE__*/React.createElement(ChartHeightContext.Provider, {\n value: height\n }, /*#__PURE__*/React.createElement(ChartWidthContext.Provider, {\n value: width\n }, children)))))));\n};\nexport var useClipPathId = function useClipPathId() {\n return useContext(ClipPathIdContext);\n};\nfunction getKeysForDebug(object) {\n var keys = Object.keys(object);\n if (keys.length === 0) {\n return 'There are no available ids.';\n }\n return \"Available ids are: \".concat(keys, \".\");\n}\n\n/**\n * This either finds and returns Axis by the specified ID, or throws an exception if an axis with this ID does not exist.\n *\n * @param xAxisId identifier of the axis - it's either autogenerated ('0'), or passed via `id` prop as \n * @returns axis configuration object\n * @throws Error if no axis with this ID exists\n */\nexport var useXAxisOrThrow = function useXAxisOrThrow(xAxisId) {\n var xAxisMap = useContext(XAxisContext);\n !(xAxisMap != null) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Could not find Recharts context; are you sure this is rendered inside a Recharts wrapper component?') : invariant(false) : void 0;\n var xAxis = xAxisMap[xAxisId];\n !(xAxis != null) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Could not find xAxis by id \\\"\".concat(xAxisId, \"\\\" [\").concat(_typeof(xAxisId), \"]. \").concat(getKeysForDebug(xAxisMap))) : invariant(false) : void 0;\n return xAxis;\n};\n\n/**\n * This will find an arbitrary first XAxis. If there's exactly one it always returns that one\n * - but if there are multiple then it can return any of those.\n *\n * If you want specific XAxis out of multiple then prefer using useXAxisOrThrow\n *\n * @returns X axisOptions, or undefined - if there are no X axes\n */\nexport var useArbitraryXAxis = function useArbitraryXAxis() {\n var xAxisMap = useContext(XAxisContext);\n return getAnyElementOfObject(xAxisMap);\n};\n\n/**\n * This will find an arbitrary first YAxis. If there's exactly one it always returns that one\n * - but if there are multiple then it can return any of those.\n *\n * If you want specific YAxis out of multiple then prefer using useXAxisOrThrow\n *\n * @returns Y axisOptions, or undefined - if there are no Y axes\n */\nexport var useArbitraryYAxis = function useArbitraryYAxis() {\n var yAxisMap = useContext(YAxisContext);\n return getAnyElementOfObject(yAxisMap);\n};\n\n/**\n * This hooks will:\n * 1st attempt to find an YAxis that has all elements in its domain finite\n * If no such axis exists, it will return an arbitrary YAxis\n * if there are no Y axes then it returns undefined\n *\n * @returns Either Y axisOptions, or undefined if there are no Y axes\n */\nexport var useYAxisWithFiniteDomainOrRandom = function useYAxisWithFiniteDomainOrRandom() {\n var yAxisMap = useContext(YAxisContext);\n var yAxisWithFiniteDomain = find(yAxisMap, function (axis) {\n return every(axis.domain, Number.isFinite);\n });\n return yAxisWithFiniteDomain || getAnyElementOfObject(yAxisMap);\n};\n\n/**\n * This either finds and returns Axis by the specified ID, or throws an exception if an axis with this ID does not exist.\n *\n * @param yAxisId identifier of the axis - it's either autogenerated ('0'), or passed via `id` prop as \n * @returns axis configuration object\n * @throws Error if no axis with this ID exists\n */\nexport var useYAxisOrThrow = function useYAxisOrThrow(yAxisId) {\n var yAxisMap = useContext(YAxisContext);\n !(yAxisMap != null) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Could not find Recharts context; are you sure this is rendered inside a Recharts wrapper component?') : invariant(false) : void 0;\n var yAxis = yAxisMap[yAxisId];\n !(yAxis != null) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Could not find yAxis by id \\\"\".concat(yAxisId, \"\\\" [\").concat(_typeof(yAxisId), \"]. \").concat(getKeysForDebug(yAxisMap))) : invariant(false) : void 0;\n return yAxis;\n};\nexport var useViewBox = function useViewBox() {\n var viewBox = useContext(ViewBoxContext);\n return viewBox;\n};\nexport var useOffset = function useOffset() {\n return useContext(OffsetContext);\n};\nexport var useChartWidth = function useChartWidth() {\n return useContext(ChartWidthContext);\n};\nexport var useChartHeight = function useChartHeight() {\n return useContext(ChartHeightContext);\n};","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n/**\n * @fileOverview Reference Line\n */\nimport React from 'react';\nimport isFunction from 'lodash/isFunction';\nimport some from 'lodash/some';\nimport clsx from 'clsx';\nimport { Layer } from '../container/Layer';\nimport { Label } from '../component/Label';\nimport { ifOverflowMatches } from '../util/IfOverflowMatches';\nimport { isNumOrStr } from '../util/DataUtils';\nimport { createLabeledScales, rectWithCoords } from '../util/CartesianUtils';\nimport { warn } from '../util/LogUtils';\nimport { filterProps } from '../util/ReactUtils';\nimport { useClipPathId, useViewBox, useXAxisOrThrow, useYAxisOrThrow } from '../context/chartLayoutContext';\n\n/**\n * This excludes `viewBox` prop from svg for two reasons:\n * 1. The components wants viewBox of object type, and svg wants string\n * - so there's a conflict, and the component will throw if it gets string\n * 2. Internally the component calls `filterProps` which filters the viewBox away anyway\n */\n\nvar renderLine = function renderLine(option, props) {\n var line;\n if ( /*#__PURE__*/React.isValidElement(option)) {\n line = /*#__PURE__*/React.cloneElement(option, props);\n } else if (isFunction(option)) {\n line = option(props);\n } else {\n line = /*#__PURE__*/React.createElement(\"line\", _extends({}, props, {\n className: \"recharts-reference-line-line\"\n }));\n }\n return line;\n};\n// TODO: ScaleHelper\nexport var getEndPoints = function getEndPoints(scales, isFixedX, isFixedY, isSegment, viewBox, position, xAxisOrientation, yAxisOrientation, props) {\n var x = viewBox.x,\n y = viewBox.y,\n width = viewBox.width,\n height = viewBox.height;\n if (isFixedY) {\n var yCoord = props.y;\n var coord = scales.y.apply(yCoord, {\n position: position\n });\n if (ifOverflowMatches(props, 'discard') && !scales.y.isInRange(coord)) {\n return null;\n }\n var points = [{\n x: x + width,\n y: coord\n }, {\n x: x,\n y: coord\n }];\n return yAxisOrientation === 'left' ? points.reverse() : points;\n }\n if (isFixedX) {\n var xCoord = props.x;\n var _coord = scales.x.apply(xCoord, {\n position: position\n });\n if (ifOverflowMatches(props, 'discard') && !scales.x.isInRange(_coord)) {\n return null;\n }\n var _points = [{\n x: _coord,\n y: y + height\n }, {\n x: _coord,\n y: y\n }];\n return xAxisOrientation === 'top' ? _points.reverse() : _points;\n }\n if (isSegment) {\n var segment = props.segment;\n var _points2 = segment.map(function (p) {\n return scales.apply(p, {\n position: position\n });\n });\n if (ifOverflowMatches(props, 'discard') && some(_points2, function (p) {\n return !scales.isInRange(p);\n })) {\n return null;\n }\n return _points2;\n }\n return null;\n};\nfunction ReferenceLineImpl(props) {\n var fixedX = props.x,\n fixedY = props.y,\n segment = props.segment,\n xAxisId = props.xAxisId,\n yAxisId = props.yAxisId,\n shape = props.shape,\n className = props.className,\n alwaysShow = props.alwaysShow;\n var clipPathId = useClipPathId();\n var xAxis = useXAxisOrThrow(xAxisId);\n var yAxis = useYAxisOrThrow(yAxisId);\n var viewBox = useViewBox();\n if (!clipPathId || !viewBox) {\n return null;\n }\n warn(alwaysShow === undefined, 'The alwaysShow prop is deprecated. Please use ifOverflow=\"extendDomain\" instead.');\n var scales = createLabeledScales({\n x: xAxis.scale,\n y: yAxis.scale\n });\n var isX = isNumOrStr(fixedX);\n var isY = isNumOrStr(fixedY);\n var isSegment = segment && segment.length === 2;\n var endPoints = getEndPoints(scales, isX, isY, isSegment, viewBox, props.position, xAxis.orientation, yAxis.orientation, props);\n if (!endPoints) {\n return null;\n }\n var _endPoints = _slicedToArray(endPoints, 2),\n _endPoints$ = _endPoints[0],\n x1 = _endPoints$.x,\n y1 = _endPoints$.y,\n _endPoints$2 = _endPoints[1],\n x2 = _endPoints$2.x,\n y2 = _endPoints$2.y;\n var clipPath = ifOverflowMatches(props, 'hidden') ? \"url(#\".concat(clipPathId, \")\") : undefined;\n var lineProps = _objectSpread(_objectSpread({\n clipPath: clipPath\n }, filterProps(props, true)), {}, {\n x1: x1,\n y1: y1,\n x2: x2,\n y2: y2\n });\n return /*#__PURE__*/React.createElement(Layer, {\n className: clsx('recharts-reference-line', className)\n }, renderLine(shape, lineProps), Label.renderCallByParent(props, rectWithCoords({\n x1: x1,\n y1: y1,\n x2: x2,\n y2: y2\n })));\n}\n\n// eslint-disable-next-line react/prefer-stateless-function -- requires static defaultProps\nexport var ReferenceLine = /*#__PURE__*/function (_React$Component) {\n function ReferenceLine() {\n _classCallCheck(this, ReferenceLine);\n return _callSuper(this, ReferenceLine, arguments);\n }\n _inherits(ReferenceLine, _React$Component);\n return _createClass(ReferenceLine, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(ReferenceLineImpl, this.props);\n }\n }]);\n}(React.Component);\n_defineProperty(ReferenceLine, \"displayName\", 'ReferenceLine');\n_defineProperty(ReferenceLine, \"defaultProps\", {\n isFront: false,\n ifOverflow: 'discard',\n xAxisId: 0,\n yAxisId: 0,\n fill: 'none',\n stroke: '#ccc',\n fillOpacity: 1,\n strokeWidth: 1,\n position: 'middle'\n});","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview Reference Dot\n */\nimport React from 'react';\nimport isFunction from 'lodash/isFunction';\nimport clsx from 'clsx';\nimport { Layer } from '../container/Layer';\nimport { Dot } from '../shape/Dot';\nimport { Label } from '../component/Label';\nimport { isNumOrStr } from '../util/DataUtils';\nimport { ifOverflowMatches } from '../util/IfOverflowMatches';\nimport { createLabeledScales } from '../util/CartesianUtils';\nimport { warn } from '../util/LogUtils';\nimport { filterProps } from '../util/ReactUtils';\nvar getCoordinate = function getCoordinate(props) {\n var x = props.x,\n y = props.y,\n xAxis = props.xAxis,\n yAxis = props.yAxis;\n var scales = createLabeledScales({\n x: xAxis.scale,\n y: yAxis.scale\n });\n var result = scales.apply({\n x: x,\n y: y\n }, {\n bandAware: true\n });\n if (ifOverflowMatches(props, 'discard') && !scales.isInRange(result)) {\n return null;\n }\n return result;\n};\n\n// eslint-disable-next-line react/prefer-stateless-function -- requires static defaultProps\nexport var ReferenceDot = /*#__PURE__*/function (_React$Component) {\n function ReferenceDot() {\n _classCallCheck(this, ReferenceDot);\n return _callSuper(this, ReferenceDot, arguments);\n }\n _inherits(ReferenceDot, _React$Component);\n return _createClass(ReferenceDot, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n x = _this$props.x,\n y = _this$props.y,\n r = _this$props.r,\n alwaysShow = _this$props.alwaysShow,\n clipPathId = _this$props.clipPathId;\n var isX = isNumOrStr(x);\n var isY = isNumOrStr(y);\n warn(alwaysShow === undefined, 'The alwaysShow prop is deprecated. Please use ifOverflow=\"extendDomain\" instead.');\n if (!isX || !isY) {\n return null;\n }\n var coordinate = getCoordinate(this.props);\n if (!coordinate) {\n return null;\n }\n var cx = coordinate.x,\n cy = coordinate.y;\n var _this$props2 = this.props,\n shape = _this$props2.shape,\n className = _this$props2.className;\n var clipPath = ifOverflowMatches(this.props, 'hidden') ? \"url(#\".concat(clipPathId, \")\") : undefined;\n var dotProps = _objectSpread(_objectSpread({\n clipPath: clipPath\n }, filterProps(this.props, true)), {}, {\n cx: cx,\n cy: cy\n });\n return /*#__PURE__*/React.createElement(Layer, {\n className: clsx('recharts-reference-dot', className)\n }, ReferenceDot.renderDot(shape, dotProps), Label.renderCallByParent(this.props, {\n x: cx - r,\n y: cy - r,\n width: 2 * r,\n height: 2 * r\n }));\n }\n }]);\n}(React.Component);\n_defineProperty(ReferenceDot, \"displayName\", 'ReferenceDot');\n_defineProperty(ReferenceDot, \"defaultProps\", {\n isFront: false,\n ifOverflow: 'discard',\n xAxisId: 0,\n yAxisId: 0,\n r: 10,\n fill: '#fff',\n stroke: '#ccc',\n fillOpacity: 1,\n strokeWidth: 1\n});\n_defineProperty(ReferenceDot, \"renderDot\", function (option, props) {\n var dot;\n if ( /*#__PURE__*/React.isValidElement(option)) {\n dot = /*#__PURE__*/React.cloneElement(option, props);\n } else if (isFunction(option)) {\n dot = option(props);\n } else {\n dot = /*#__PURE__*/React.createElement(Dot, _extends({}, props, {\n cx: props.cx,\n cy: props.cy,\n className: \"recharts-reference-dot-dot\"\n }));\n }\n return dot;\n});","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview Reference Line\n */\nimport React from 'react';\nimport isFunction from 'lodash/isFunction';\nimport clsx from 'clsx';\nimport { Layer } from '../container/Layer';\nimport { Label } from '../component/Label';\nimport { createLabeledScales, rectWithPoints } from '../util/CartesianUtils';\nimport { ifOverflowMatches } from '../util/IfOverflowMatches';\nimport { isNumOrStr } from '../util/DataUtils';\nimport { warn } from '../util/LogUtils';\nimport { Rectangle } from '../shape/Rectangle';\nimport { filterProps } from '../util/ReactUtils';\nvar getRect = function getRect(hasX1, hasX2, hasY1, hasY2, props) {\n var xValue1 = props.x1,\n xValue2 = props.x2,\n yValue1 = props.y1,\n yValue2 = props.y2,\n xAxis = props.xAxis,\n yAxis = props.yAxis;\n if (!xAxis || !yAxis) return null;\n var scales = createLabeledScales({\n x: xAxis.scale,\n y: yAxis.scale\n });\n var p1 = {\n x: hasX1 ? scales.x.apply(xValue1, {\n position: 'start'\n }) : scales.x.rangeMin,\n y: hasY1 ? scales.y.apply(yValue1, {\n position: 'start'\n }) : scales.y.rangeMin\n };\n var p2 = {\n x: hasX2 ? scales.x.apply(xValue2, {\n position: 'end'\n }) : scales.x.rangeMax,\n y: hasY2 ? scales.y.apply(yValue2, {\n position: 'end'\n }) : scales.y.rangeMax\n };\n if (ifOverflowMatches(props, 'discard') && (!scales.isInRange(p1) || !scales.isInRange(p2))) {\n return null;\n }\n return rectWithPoints(p1, p2);\n};\n\n// eslint-disable-next-line react/prefer-stateless-function -- requires static defaultProps\nexport var ReferenceArea = /*#__PURE__*/function (_React$Component) {\n function ReferenceArea() {\n _classCallCheck(this, ReferenceArea);\n return _callSuper(this, ReferenceArea, arguments);\n }\n _inherits(ReferenceArea, _React$Component);\n return _createClass(ReferenceArea, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n x1 = _this$props.x1,\n x2 = _this$props.x2,\n y1 = _this$props.y1,\n y2 = _this$props.y2,\n className = _this$props.className,\n alwaysShow = _this$props.alwaysShow,\n clipPathId = _this$props.clipPathId;\n warn(alwaysShow === undefined, 'The alwaysShow prop is deprecated. Please use ifOverflow=\"extendDomain\" instead.');\n var hasX1 = isNumOrStr(x1);\n var hasX2 = isNumOrStr(x2);\n var hasY1 = isNumOrStr(y1);\n var hasY2 = isNumOrStr(y2);\n var shape = this.props.shape;\n if (!hasX1 && !hasX2 && !hasY1 && !hasY2 && !shape) {\n return null;\n }\n var rect = getRect(hasX1, hasX2, hasY1, hasY2, this.props);\n if (!rect && !shape) {\n return null;\n }\n var clipPath = ifOverflowMatches(this.props, 'hidden') ? \"url(#\".concat(clipPathId, \")\") : undefined;\n return /*#__PURE__*/React.createElement(Layer, {\n className: clsx('recharts-reference-area', className)\n }, ReferenceArea.renderRect(shape, _objectSpread(_objectSpread({\n clipPath: clipPath\n }, filterProps(this.props, true)), rect)), Label.renderCallByParent(this.props, rect));\n }\n }]);\n}(React.Component);\n_defineProperty(ReferenceArea, \"displayName\", 'ReferenceArea');\n_defineProperty(ReferenceArea, \"defaultProps\", {\n isFront: false,\n ifOverflow: 'discard',\n xAxisId: 0,\n yAxisId: 0,\n r: 10,\n fill: '#ccc',\n fillOpacity: 0.5,\n stroke: 'none',\n strokeWidth: 1\n});\n_defineProperty(ReferenceArea, \"renderRect\", function (option, props) {\n var rect;\n if ( /*#__PURE__*/React.isValidElement(option)) {\n rect = /*#__PURE__*/React.cloneElement(option, props);\n } else if (isFunction(option)) {\n rect = option(props);\n } else {\n rect = /*#__PURE__*/React.createElement(Rectangle, _extends({}, props, {\n className: \"recharts-reference-area-rect\"\n }));\n }\n return rect;\n});","/**\n * Given an array and a number N, return a new array which contains every nTh\n * element of the input array. For n below 1, an empty array is returned.\n * If isValid is provided, all candidates must suffice the condition, else undefined is returned.\n * @param {T[]} array An input array.\n * @param {integer} n A number\n * @param {Function} isValid A function to evaluate a candidate form the array\n * @returns {T[]} The result array of the same type as the input array.\n */\nexport function getEveryNthWithCondition(array, n, isValid) {\n if (n < 1) {\n return [];\n }\n if (n === 1 && isValid === undefined) {\n return array;\n }\n var result = [];\n for (var i = 0; i < array.length; i += n) {\n if (isValid === undefined || isValid(array[i]) === true) {\n result.push(array[i]);\n } else {\n return undefined;\n }\n }\n return result;\n}","import { getAngledRectangleWidth } from './CartesianUtils';\nimport { getEveryNthWithCondition } from './getEveryNthWithCondition';\nexport function getAngledTickWidth(contentSize, unitSize, angle) {\n var size = {\n width: contentSize.width + unitSize.width,\n height: contentSize.height + unitSize.height\n };\n return getAngledRectangleWidth(size, angle);\n}\nexport function getTickBoundaries(viewBox, sign, sizeKey) {\n var isWidth = sizeKey === 'width';\n var x = viewBox.x,\n y = viewBox.y,\n width = viewBox.width,\n height = viewBox.height;\n if (sign === 1) {\n return {\n start: isWidth ? x : y,\n end: isWidth ? x + width : y + height\n };\n }\n return {\n start: isWidth ? x + width : y + height,\n end: isWidth ? x : y\n };\n}\nexport function isVisible(sign, tickPosition, getSize, start, end) {\n /* Since getSize() is expensive (it reads the ticks' size from the DOM), we do this check first to avoid calculating\n * the tick's size. */\n if (sign * tickPosition < sign * start || sign * tickPosition > sign * end) {\n return false;\n }\n var size = getSize();\n return sign * (tickPosition - sign * size / 2 - start) >= 0 && sign * (tickPosition + sign * size / 2 - end) <= 0;\n}\nexport function getNumberIntervalTicks(ticks, interval) {\n return getEveryNthWithCondition(ticks, interval + 1);\n}","import { isVisible } from '../util/TickUtils';\nimport { getEveryNthWithCondition } from '../util/getEveryNthWithCondition';\nexport function getEquidistantTicks(sign, boundaries, getTickSize, ticks, minTickGap) {\n var result = (ticks || []).slice();\n var initialStart = boundaries.start,\n end = boundaries.end;\n var index = 0;\n // Premature optimisation idea 1: Estimate a lower bound, and start from there.\n // For now, start from every tick\n var stepsize = 1;\n var start = initialStart;\n var _loop = function _loop() {\n // Given stepsize, evaluate whether every stepsize-th tick can be shown.\n // If it can not, then increase the stepsize by 1, and try again.\n\n var entry = ticks === null || ticks === void 0 ? void 0 : ticks[index];\n\n // Break condition - If we have evaluate all the ticks, then we are done.\n if (entry === undefined) {\n return {\n v: getEveryNthWithCondition(ticks, stepsize)\n };\n }\n\n // Check if the element collides with the next element\n var i = index;\n var size;\n var getSize = function getSize() {\n if (size === undefined) {\n size = getTickSize(entry, i);\n }\n return size;\n };\n var tickCoord = entry.coordinate;\n // We will always show the first tick.\n var isShow = index === 0 || isVisible(sign, tickCoord, getSize, start, end);\n if (!isShow) {\n // Start all over with a larger stepsize\n index = 0;\n start = initialStart;\n stepsize += 1;\n }\n if (isShow) {\n // If it can be shown, update the start\n start = tickCoord + sign * (getSize() / 2 + minTickGap);\n index += stepsize;\n }\n },\n _ret;\n while (stepsize <= result.length) {\n _ret = _loop();\n if (_ret) return _ret.v;\n }\n return [];\n}","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport isFunction from 'lodash/isFunction';\nimport { mathSign, isNumber } from '../util/DataUtils';\nimport { getStringSize } from '../util/DOMUtils';\nimport { Global } from '../util/Global';\nimport { isVisible, getTickBoundaries, getNumberIntervalTicks, getAngledTickWidth } from '../util/TickUtils';\nimport { getEquidistantTicks } from './getEquidistantTicks';\nfunction getTicksEnd(sign, boundaries, getTickSize, ticks, minTickGap) {\n var result = (ticks || []).slice();\n var len = result.length;\n var start = boundaries.start;\n var end = boundaries.end;\n var _loop = function _loop(i) {\n var entry = result[i];\n var size;\n var getSize = function getSize() {\n if (size === undefined) {\n size = getTickSize(entry, i);\n }\n return size;\n };\n if (i === len - 1) {\n var gap = sign * (entry.coordinate + sign * getSize() / 2 - end);\n result[i] = entry = _objectSpread(_objectSpread({}, entry), {}, {\n tickCoord: gap > 0 ? entry.coordinate - gap * sign : entry.coordinate\n });\n } else {\n result[i] = entry = _objectSpread(_objectSpread({}, entry), {}, {\n tickCoord: entry.coordinate\n });\n }\n var isShow = isVisible(sign, entry.tickCoord, getSize, start, end);\n if (isShow) {\n end = entry.tickCoord - sign * (getSize() / 2 + minTickGap);\n result[i] = _objectSpread(_objectSpread({}, entry), {}, {\n isShow: true\n });\n }\n };\n for (var i = len - 1; i >= 0; i--) {\n _loop(i);\n }\n return result;\n}\nfunction getTicksStart(sign, boundaries, getTickSize, ticks, minTickGap, preserveEnd) {\n var result = (ticks || []).slice();\n var len = result.length;\n var start = boundaries.start,\n end = boundaries.end;\n if (preserveEnd) {\n // Try to guarantee the tail to be displayed\n var tail = ticks[len - 1];\n var tailSize = getTickSize(tail, len - 1);\n var tailGap = sign * (tail.coordinate + sign * tailSize / 2 - end);\n result[len - 1] = tail = _objectSpread(_objectSpread({}, tail), {}, {\n tickCoord: tailGap > 0 ? tail.coordinate - tailGap * sign : tail.coordinate\n });\n var isTailShow = isVisible(sign, tail.tickCoord, function () {\n return tailSize;\n }, start, end);\n if (isTailShow) {\n end = tail.tickCoord - sign * (tailSize / 2 + minTickGap);\n result[len - 1] = _objectSpread(_objectSpread({}, tail), {}, {\n isShow: true\n });\n }\n }\n var count = preserveEnd ? len - 1 : len;\n var _loop2 = function _loop2(i) {\n var entry = result[i];\n var size;\n var getSize = function getSize() {\n if (size === undefined) {\n size = getTickSize(entry, i);\n }\n return size;\n };\n if (i === 0) {\n var gap = sign * (entry.coordinate - sign * getSize() / 2 - start);\n result[i] = entry = _objectSpread(_objectSpread({}, entry), {}, {\n tickCoord: gap < 0 ? entry.coordinate - gap * sign : entry.coordinate\n });\n } else {\n result[i] = entry = _objectSpread(_objectSpread({}, entry), {}, {\n tickCoord: entry.coordinate\n });\n }\n var isShow = isVisible(sign, entry.tickCoord, getSize, start, end);\n if (isShow) {\n start = entry.tickCoord + sign * (getSize() / 2 + minTickGap);\n result[i] = _objectSpread(_objectSpread({}, entry), {}, {\n isShow: true\n });\n }\n };\n for (var i = 0; i < count; i++) {\n _loop2(i);\n }\n return result;\n}\nexport function getTicks(props, fontSize, letterSpacing) {\n var tick = props.tick,\n ticks = props.ticks,\n viewBox = props.viewBox,\n minTickGap = props.minTickGap,\n orientation = props.orientation,\n interval = props.interval,\n tickFormatter = props.tickFormatter,\n unit = props.unit,\n angle = props.angle;\n if (!ticks || !ticks.length || !tick) {\n return [];\n }\n if (isNumber(interval) || Global.isSsr) {\n return getNumberIntervalTicks(ticks, typeof interval === 'number' && isNumber(interval) ? interval : 0);\n }\n var candidates = [];\n var sizeKey = orientation === 'top' || orientation === 'bottom' ? 'width' : 'height';\n var unitSize = unit && sizeKey === 'width' ? getStringSize(unit, {\n fontSize: fontSize,\n letterSpacing: letterSpacing\n }) : {\n width: 0,\n height: 0\n };\n var getTickSize = function getTickSize(content, index) {\n var value = isFunction(tickFormatter) ? tickFormatter(content.value, index) : content.value;\n // Recharts only supports angles when sizeKey === 'width'\n return sizeKey === 'width' ? getAngledTickWidth(getStringSize(value, {\n fontSize: fontSize,\n letterSpacing: letterSpacing\n }), unitSize, angle) : getStringSize(value, {\n fontSize: fontSize,\n letterSpacing: letterSpacing\n })[sizeKey];\n };\n var sign = ticks.length >= 2 ? mathSign(ticks[1].coordinate - ticks[0].coordinate) : 1;\n var boundaries = getTickBoundaries(viewBox, sign, sizeKey);\n if (interval === 'equidistantPreserveStart') {\n return getEquidistantTicks(sign, boundaries, getTickSize, ticks, minTickGap);\n }\n if (interval === 'preserveStart' || interval === 'preserveStartEnd') {\n candidates = getTicksStart(sign, boundaries, getTickSize, ticks, minTickGap, interval === 'preserveStartEnd');\n } else {\n candidates = getTicksEnd(sign, boundaries, getTickSize, ticks, minTickGap);\n }\n return candidates.filter(function (entry) {\n return entry.isShow;\n });\n}","var _excluded = [\"viewBox\"],\n _excluded2 = [\"viewBox\"],\n _excluded3 = [\"ticks\"];\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview Cartesian Axis\n */\nimport React, { Component } from 'react';\nimport isFunction from 'lodash/isFunction';\nimport get from 'lodash/get';\nimport clsx from 'clsx';\nimport { shallowEqual } from '../util/ShallowEqual';\nimport { Layer } from '../container/Layer';\nimport { Text } from '../component/Text';\nimport { Label } from '../component/Label';\nimport { isNumber } from '../util/DataUtils';\nimport { adaptEventsOfChild } from '../util/types';\nimport { filterProps } from '../util/ReactUtils';\nimport { getTicks } from './getTicks';\n\n/** The orientation of the axis in correspondence to the chart */\n\n/** A unit to be appended to a value */\n\n/** The formatter function of tick */\n\nexport var CartesianAxis = /*#__PURE__*/function (_Component) {\n function CartesianAxis(props) {\n var _this;\n _classCallCheck(this, CartesianAxis);\n _this = _callSuper(this, CartesianAxis, [props]);\n _this.state = {\n fontSize: '',\n letterSpacing: ''\n };\n return _this;\n }\n _inherits(CartesianAxis, _Component);\n return _createClass(CartesianAxis, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(_ref, nextState) {\n var viewBox = _ref.viewBox,\n restProps = _objectWithoutProperties(_ref, _excluded);\n // props.viewBox is sometimes generated every time -\n // check that specially as object equality is likely to fail\n var _this$props = this.props,\n viewBoxOld = _this$props.viewBox,\n restPropsOld = _objectWithoutProperties(_this$props, _excluded2);\n return !shallowEqual(viewBox, viewBoxOld) || !shallowEqual(restProps, restPropsOld) || !shallowEqual(nextState, this.state);\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var htmlLayer = this.layerReference;\n if (!htmlLayer) return;\n var tick = htmlLayer.getElementsByClassName('recharts-cartesian-axis-tick-value')[0];\n if (tick) {\n this.setState({\n fontSize: window.getComputedStyle(tick).fontSize,\n letterSpacing: window.getComputedStyle(tick).letterSpacing\n });\n }\n }\n\n /**\n * Calculate the coordinates of endpoints in ticks\n * @param {Object} data The data of a simple tick\n * @return {Object} (x1, y1): The coordinate of endpoint close to tick text\n * (x2, y2): The coordinate of endpoint close to axis\n */\n }, {\n key: \"getTickLineCoord\",\n value: function getTickLineCoord(data) {\n var _this$props2 = this.props,\n x = _this$props2.x,\n y = _this$props2.y,\n width = _this$props2.width,\n height = _this$props2.height,\n orientation = _this$props2.orientation,\n tickSize = _this$props2.tickSize,\n mirror = _this$props2.mirror,\n tickMargin = _this$props2.tickMargin;\n var x1, x2, y1, y2, tx, ty;\n var sign = mirror ? -1 : 1;\n var finalTickSize = data.tickSize || tickSize;\n var tickCoord = isNumber(data.tickCoord) ? data.tickCoord : data.coordinate;\n switch (orientation) {\n case 'top':\n x1 = x2 = data.coordinate;\n y2 = y + +!mirror * height;\n y1 = y2 - sign * finalTickSize;\n ty = y1 - sign * tickMargin;\n tx = tickCoord;\n break;\n case 'left':\n y1 = y2 = data.coordinate;\n x2 = x + +!mirror * width;\n x1 = x2 - sign * finalTickSize;\n tx = x1 - sign * tickMargin;\n ty = tickCoord;\n break;\n case 'right':\n y1 = y2 = data.coordinate;\n x2 = x + +mirror * width;\n x1 = x2 + sign * finalTickSize;\n tx = x1 + sign * tickMargin;\n ty = tickCoord;\n break;\n default:\n x1 = x2 = data.coordinate;\n y2 = y + +mirror * height;\n y1 = y2 + sign * finalTickSize;\n ty = y1 + sign * tickMargin;\n tx = tickCoord;\n break;\n }\n return {\n line: {\n x1: x1,\n y1: y1,\n x2: x2,\n y2: y2\n },\n tick: {\n x: tx,\n y: ty\n }\n };\n }\n }, {\n key: \"getTickTextAnchor\",\n value: function getTickTextAnchor() {\n var _this$props3 = this.props,\n orientation = _this$props3.orientation,\n mirror = _this$props3.mirror;\n var textAnchor;\n switch (orientation) {\n case 'left':\n textAnchor = mirror ? 'start' : 'end';\n break;\n case 'right':\n textAnchor = mirror ? 'end' : 'start';\n break;\n default:\n textAnchor = 'middle';\n break;\n }\n return textAnchor;\n }\n }, {\n key: \"getTickVerticalAnchor\",\n value: function getTickVerticalAnchor() {\n var _this$props4 = this.props,\n orientation = _this$props4.orientation,\n mirror = _this$props4.mirror;\n var verticalAnchor = 'end';\n switch (orientation) {\n case 'left':\n case 'right':\n verticalAnchor = 'middle';\n break;\n case 'top':\n verticalAnchor = mirror ? 'start' : 'end';\n break;\n default:\n verticalAnchor = mirror ? 'end' : 'start';\n break;\n }\n return verticalAnchor;\n }\n }, {\n key: \"renderAxisLine\",\n value: function renderAxisLine() {\n var _this$props5 = this.props,\n x = _this$props5.x,\n y = _this$props5.y,\n width = _this$props5.width,\n height = _this$props5.height,\n orientation = _this$props5.orientation,\n mirror = _this$props5.mirror,\n axisLine = _this$props5.axisLine;\n var props = _objectSpread(_objectSpread(_objectSpread({}, filterProps(this.props, false)), filterProps(axisLine, false)), {}, {\n fill: 'none'\n });\n if (orientation === 'top' || orientation === 'bottom') {\n var needHeight = +(orientation === 'top' && !mirror || orientation === 'bottom' && mirror);\n props = _objectSpread(_objectSpread({}, props), {}, {\n x1: x,\n y1: y + needHeight * height,\n x2: x + width,\n y2: y + needHeight * height\n });\n } else {\n var needWidth = +(orientation === 'left' && !mirror || orientation === 'right' && mirror);\n props = _objectSpread(_objectSpread({}, props), {}, {\n x1: x + needWidth * width,\n y1: y,\n x2: x + needWidth * width,\n y2: y + height\n });\n }\n return /*#__PURE__*/React.createElement(\"line\", _extends({}, props, {\n className: clsx('recharts-cartesian-axis-line', get(axisLine, 'className'))\n }));\n }\n }, {\n key: \"renderTicks\",\n value:\n /**\n * render the ticks\n * @param {Array} ticks The ticks to actually render (overrides what was passed in props)\n * @param {string} fontSize Fontsize to consider for tick spacing\n * @param {string} letterSpacing Letterspacing to consider for tick spacing\n * @return {ReactComponent} renderedTicks\n */\n function renderTicks(ticks, fontSize, letterSpacing) {\n var _this2 = this;\n var _this$props6 = this.props,\n tickLine = _this$props6.tickLine,\n stroke = _this$props6.stroke,\n tick = _this$props6.tick,\n tickFormatter = _this$props6.tickFormatter,\n unit = _this$props6.unit;\n var finalTicks = getTicks(_objectSpread(_objectSpread({}, this.props), {}, {\n ticks: ticks\n }), fontSize, letterSpacing);\n var textAnchor = this.getTickTextAnchor();\n var verticalAnchor = this.getTickVerticalAnchor();\n var axisProps = filterProps(this.props, false);\n var customTickProps = filterProps(tick, false);\n var tickLineProps = _objectSpread(_objectSpread({}, axisProps), {}, {\n fill: 'none'\n }, filterProps(tickLine, false));\n var items = finalTicks.map(function (entry, i) {\n var _this2$getTickLineCoo = _this2.getTickLineCoord(entry),\n lineCoord = _this2$getTickLineCoo.line,\n tickCoord = _this2$getTickLineCoo.tick;\n var tickProps = _objectSpread(_objectSpread(_objectSpread(_objectSpread({\n textAnchor: textAnchor,\n verticalAnchor: verticalAnchor\n }, axisProps), {}, {\n stroke: 'none',\n fill: stroke\n }, customTickProps), tickCoord), {}, {\n index: i,\n payload: entry,\n visibleTicksCount: finalTicks.length,\n tickFormatter: tickFormatter\n });\n return /*#__PURE__*/React.createElement(Layer, _extends({\n className: \"recharts-cartesian-axis-tick\",\n key: \"tick-\".concat(entry.value, \"-\").concat(entry.coordinate, \"-\").concat(entry.tickCoord)\n }, adaptEventsOfChild(_this2.props, entry, i)), tickLine && /*#__PURE__*/React.createElement(\"line\", _extends({}, tickLineProps, lineCoord, {\n className: clsx('recharts-cartesian-axis-tick-line', get(tickLine, 'className'))\n })), tick && CartesianAxis.renderTickItem(tick, tickProps, \"\".concat(isFunction(tickFormatter) ? tickFormatter(entry.value, i) : entry.value).concat(unit || '')));\n });\n return /*#__PURE__*/React.createElement(\"g\", {\n className: \"recharts-cartesian-axis-ticks\"\n }, items);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n var _this$props7 = this.props,\n axisLine = _this$props7.axisLine,\n width = _this$props7.width,\n height = _this$props7.height,\n ticksGenerator = _this$props7.ticksGenerator,\n className = _this$props7.className,\n hide = _this$props7.hide;\n if (hide) {\n return null;\n }\n var _this$props8 = this.props,\n ticks = _this$props8.ticks,\n noTicksProps = _objectWithoutProperties(_this$props8, _excluded3);\n var finalTicks = ticks;\n if (isFunction(ticksGenerator)) {\n finalTicks = ticks && ticks.length > 0 ? ticksGenerator(this.props) : ticksGenerator(noTicksProps);\n }\n if (width <= 0 || height <= 0 || !finalTicks || !finalTicks.length) {\n return null;\n }\n return /*#__PURE__*/React.createElement(Layer, {\n className: clsx('recharts-cartesian-axis', className),\n ref: function ref(_ref2) {\n _this3.layerReference = _ref2;\n }\n }, axisLine && this.renderAxisLine(), this.renderTicks(finalTicks, this.state.fontSize, this.state.letterSpacing), Label.renderCallByParent(this.props));\n }\n }], [{\n key: \"renderTickItem\",\n value: function renderTickItem(option, props, value) {\n var tickItem;\n var combinedClassName = clsx(props.className, 'recharts-cartesian-axis-tick-value');\n if ( /*#__PURE__*/React.isValidElement(option)) {\n tickItem = /*#__PURE__*/React.cloneElement(option, _objectSpread(_objectSpread({}, props), {}, {\n className: combinedClassName\n }));\n } else if (isFunction(option)) {\n tickItem = option(_objectSpread(_objectSpread({}, props), {}, {\n className: combinedClassName\n }));\n } else {\n tickItem = /*#__PURE__*/React.createElement(Text, _extends({}, props, {\n className: \"recharts-cartesian-axis-tick-value\"\n }), value);\n }\n return tickItem;\n }\n }]);\n}(Component);\n_defineProperty(CartesianAxis, \"displayName\", 'CartesianAxis');\n_defineProperty(CartesianAxis, \"defaultProps\", {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n viewBox: {\n x: 0,\n y: 0,\n width: 0,\n height: 0\n },\n // The orientation of axis\n orientation: 'bottom',\n // The ticks\n ticks: [],\n stroke: '#666',\n tickLine: true,\n axisLine: true,\n tick: true,\n mirror: false,\n minTickGap: 5,\n // The width or height of tick\n tickSize: 6,\n tickMargin: 2,\n interval: 'preserveEnd'\n});","var _excluded = [\"x1\", \"y1\", \"x2\", \"y2\", \"key\"],\n _excluded2 = [\"offset\"];\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\n/**\n * @fileOverview Cartesian Grid\n */\nimport React from 'react';\nimport isFunction from 'lodash/isFunction';\nimport { warn } from '../util/LogUtils';\nimport { isNumber } from '../util/DataUtils';\nimport { filterProps } from '../util/ReactUtils';\nimport { getCoordinatesOfGrid, getTicksOfAxis } from '../util/ChartUtils';\nimport { getTicks } from './getTicks';\nimport { CartesianAxis } from './CartesianAxis';\nimport { useArbitraryXAxis, useChartHeight, useChartWidth, useOffset, useYAxisWithFiniteDomainOrRandom } from '../context/chartLayoutContext';\n\n/**\n * The = 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview Line\n */\nimport React, { PureComponent } from 'react';\nimport Animate from 'react-smooth';\nimport isFunction from 'lodash/isFunction';\nimport isNil from 'lodash/isNil';\nimport isEqual from 'lodash/isEqual';\nimport clsx from 'clsx';\nimport { Curve } from '../shape/Curve';\nimport { Dot } from '../shape/Dot';\nimport { Layer } from '../container/Layer';\nimport { LabelList } from '../component/LabelList';\nimport { ErrorBar } from './ErrorBar';\nimport { uniqueId, interpolateNumber } from '../util/DataUtils';\nimport { findAllByType, filterProps, hasClipDot } from '../util/ReactUtils';\nimport { Global } from '../util/Global';\nimport { getCateCoordinateOfLine, getValueByDataKey } from '../util/ChartUtils';\nexport var Line = /*#__PURE__*/function (_PureComponent) {\n function Line() {\n var _this;\n _classCallCheck(this, Line);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, Line, [].concat(args));\n _defineProperty(_this, \"state\", {\n isAnimationFinished: true,\n totalLength: 0\n });\n _defineProperty(_this, \"generateSimpleStrokeDasharray\", function (totalLength, length) {\n return \"\".concat(length, \"px \").concat(totalLength - length, \"px\");\n });\n _defineProperty(_this, \"getStrokeDasharray\", function (length, totalLength, lines) {\n var lineLength = lines.reduce(function (pre, next) {\n return pre + next;\n });\n\n // if lineLength is 0 return the default when no strokeDasharray is provided\n if (!lineLength) {\n return _this.generateSimpleStrokeDasharray(totalLength, length);\n }\n var count = Math.floor(length / lineLength);\n var remainLength = length % lineLength;\n var restLength = totalLength - length;\n var remainLines = [];\n for (var i = 0, sum = 0; i < lines.length; sum += lines[i], ++i) {\n if (sum + lines[i] > remainLength) {\n remainLines = [].concat(_toConsumableArray(lines.slice(0, i)), [remainLength - sum]);\n break;\n }\n }\n var emptyLines = remainLines.length % 2 === 0 ? [0, restLength] : [restLength];\n return [].concat(_toConsumableArray(Line.repeat(lines, count)), _toConsumableArray(remainLines), emptyLines).map(function (line) {\n return \"\".concat(line, \"px\");\n }).join(', ');\n });\n _defineProperty(_this, \"id\", uniqueId('recharts-line-'));\n _defineProperty(_this, \"pathRef\", function (node) {\n _this.mainCurve = node;\n });\n _defineProperty(_this, \"handleAnimationEnd\", function () {\n _this.setState({\n isAnimationFinished: true\n });\n if (_this.props.onAnimationEnd) {\n _this.props.onAnimationEnd();\n }\n });\n _defineProperty(_this, \"handleAnimationStart\", function () {\n _this.setState({\n isAnimationFinished: false\n });\n if (_this.props.onAnimationStart) {\n _this.props.onAnimationStart();\n }\n });\n return _this;\n }\n _inherits(Line, _PureComponent);\n return _createClass(Line, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (!this.props.isAnimationActive) {\n return;\n }\n var totalLength = this.getTotalLength();\n this.setState({\n totalLength: totalLength\n });\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n if (!this.props.isAnimationActive) {\n return;\n }\n var totalLength = this.getTotalLength();\n if (totalLength !== this.state.totalLength) {\n this.setState({\n totalLength: totalLength\n });\n }\n }\n }, {\n key: \"getTotalLength\",\n value: function getTotalLength() {\n var curveDom = this.mainCurve;\n try {\n return curveDom && curveDom.getTotalLength && curveDom.getTotalLength() || 0;\n } catch (err) {\n return 0;\n }\n }\n }, {\n key: \"renderErrorBar\",\n value: function renderErrorBar(needClip, clipPathId) {\n if (this.props.isAnimationActive && !this.state.isAnimationFinished) {\n return null;\n }\n var _this$props = this.props,\n points = _this$props.points,\n xAxis = _this$props.xAxis,\n yAxis = _this$props.yAxis,\n layout = _this$props.layout,\n children = _this$props.children;\n var errorBarItems = findAllByType(children, ErrorBar);\n if (!errorBarItems) {\n return null;\n }\n var dataPointFormatter = function dataPointFormatter(dataPoint, dataKey) {\n return {\n x: dataPoint.x,\n y: dataPoint.y,\n value: dataPoint.value,\n errorVal: getValueByDataKey(dataPoint.payload, dataKey)\n };\n };\n var errorBarProps = {\n clipPath: needClip ? \"url(#clipPath-\".concat(clipPathId, \")\") : null\n };\n return /*#__PURE__*/React.createElement(Layer, errorBarProps, errorBarItems.map(function (item) {\n return /*#__PURE__*/React.cloneElement(item, {\n key: \"bar-\".concat(item.props.dataKey),\n data: points,\n xAxis: xAxis,\n yAxis: yAxis,\n layout: layout,\n dataPointFormatter: dataPointFormatter\n });\n }));\n }\n }, {\n key: \"renderDots\",\n value: function renderDots(needClip, clipDot, clipPathId) {\n var isAnimationActive = this.props.isAnimationActive;\n if (isAnimationActive && !this.state.isAnimationFinished) {\n return null;\n }\n var _this$props2 = this.props,\n dot = _this$props2.dot,\n points = _this$props2.points,\n dataKey = _this$props2.dataKey;\n var lineProps = filterProps(this.props, false);\n var customDotProps = filterProps(dot, true);\n var dots = points.map(function (entry, i) {\n var dotProps = _objectSpread(_objectSpread(_objectSpread({\n key: \"dot-\".concat(i),\n r: 3\n }, lineProps), customDotProps), {}, {\n index: i,\n cx: entry.x,\n cy: entry.y,\n value: entry.value,\n dataKey: dataKey,\n payload: entry.payload,\n points: points\n });\n return Line.renderDotItem(dot, dotProps);\n });\n var dotsProps = {\n clipPath: needClip ? \"url(#clipPath-\".concat(clipDot ? '' : 'dots-').concat(clipPathId, \")\") : null\n };\n return /*#__PURE__*/React.createElement(Layer, _extends({\n className: \"recharts-line-dots\",\n key: \"dots\"\n }, dotsProps), dots);\n }\n }, {\n key: \"renderCurveStatically\",\n value: function renderCurveStatically(points, needClip, clipPathId, props) {\n var _this$props3 = this.props,\n type = _this$props3.type,\n layout = _this$props3.layout,\n connectNulls = _this$props3.connectNulls,\n ref = _this$props3.ref,\n others = _objectWithoutProperties(_this$props3, _excluded);\n var curveProps = _objectSpread(_objectSpread(_objectSpread({}, filterProps(others, true)), {}, {\n fill: 'none',\n className: 'recharts-line-curve',\n clipPath: needClip ? \"url(#clipPath-\".concat(clipPathId, \")\") : null,\n points: points\n }, props), {}, {\n type: type,\n layout: layout,\n connectNulls: connectNulls\n });\n return /*#__PURE__*/React.createElement(Curve, _extends({}, curveProps, {\n pathRef: this.pathRef\n }));\n }\n }, {\n key: \"renderCurveWithAnimation\",\n value: function renderCurveWithAnimation(needClip, clipPathId) {\n var _this2 = this;\n var _this$props4 = this.props,\n points = _this$props4.points,\n strokeDasharray = _this$props4.strokeDasharray,\n isAnimationActive = _this$props4.isAnimationActive,\n animationBegin = _this$props4.animationBegin,\n animationDuration = _this$props4.animationDuration,\n animationEasing = _this$props4.animationEasing,\n animationId = _this$props4.animationId,\n animateNewValues = _this$props4.animateNewValues,\n width = _this$props4.width,\n height = _this$props4.height;\n var _this$state = this.state,\n prevPoints = _this$state.prevPoints,\n totalLength = _this$state.totalLength;\n return /*#__PURE__*/React.createElement(Animate, {\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing,\n from: {\n t: 0\n },\n to: {\n t: 1\n },\n key: \"line-\".concat(animationId),\n onAnimationEnd: this.handleAnimationEnd,\n onAnimationStart: this.handleAnimationStart\n }, function (_ref) {\n var t = _ref.t;\n if (prevPoints) {\n var prevPointsDiffFactor = prevPoints.length / points.length;\n var stepData = points.map(function (entry, index) {\n var prevPointIndex = Math.floor(index * prevPointsDiffFactor);\n if (prevPoints[prevPointIndex]) {\n var prev = prevPoints[prevPointIndex];\n var interpolatorX = interpolateNumber(prev.x, entry.x);\n var interpolatorY = interpolateNumber(prev.y, entry.y);\n return _objectSpread(_objectSpread({}, entry), {}, {\n x: interpolatorX(t),\n y: interpolatorY(t)\n });\n }\n\n // magic number of faking previous x and y location\n if (animateNewValues) {\n var _interpolatorX = interpolateNumber(width * 2, entry.x);\n var _interpolatorY = interpolateNumber(height / 2, entry.y);\n return _objectSpread(_objectSpread({}, entry), {}, {\n x: _interpolatorX(t),\n y: _interpolatorY(t)\n });\n }\n return _objectSpread(_objectSpread({}, entry), {}, {\n x: entry.x,\n y: entry.y\n });\n });\n return _this2.renderCurveStatically(stepData, needClip, clipPathId);\n }\n var interpolator = interpolateNumber(0, totalLength);\n var curLength = interpolator(t);\n var currentStrokeDasharray;\n if (strokeDasharray) {\n var lines = \"\".concat(strokeDasharray).split(/[,\\s]+/gim).map(function (num) {\n return parseFloat(num);\n });\n currentStrokeDasharray = _this2.getStrokeDasharray(curLength, totalLength, lines);\n } else {\n currentStrokeDasharray = _this2.generateSimpleStrokeDasharray(totalLength, curLength);\n }\n return _this2.renderCurveStatically(points, needClip, clipPathId, {\n strokeDasharray: currentStrokeDasharray\n });\n });\n }\n }, {\n key: \"renderCurve\",\n value: function renderCurve(needClip, clipPathId) {\n var _this$props5 = this.props,\n points = _this$props5.points,\n isAnimationActive = _this$props5.isAnimationActive;\n var _this$state2 = this.state,\n prevPoints = _this$state2.prevPoints,\n totalLength = _this$state2.totalLength;\n if (isAnimationActive && points && points.length && (!prevPoints && totalLength > 0 || !isEqual(prevPoints, points))) {\n return this.renderCurveWithAnimation(needClip, clipPathId);\n }\n return this.renderCurveStatically(points, needClip, clipPathId);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _filterProps;\n var _this$props6 = this.props,\n hide = _this$props6.hide,\n dot = _this$props6.dot,\n points = _this$props6.points,\n className = _this$props6.className,\n xAxis = _this$props6.xAxis,\n yAxis = _this$props6.yAxis,\n top = _this$props6.top,\n left = _this$props6.left,\n width = _this$props6.width,\n height = _this$props6.height,\n isAnimationActive = _this$props6.isAnimationActive,\n id = _this$props6.id;\n if (hide || !points || !points.length) {\n return null;\n }\n var isAnimationFinished = this.state.isAnimationFinished;\n var hasSinglePoint = points.length === 1;\n var layerClass = clsx('recharts-line', className);\n var needClipX = xAxis && xAxis.allowDataOverflow;\n var needClipY = yAxis && yAxis.allowDataOverflow;\n var needClip = needClipX || needClipY;\n var clipPathId = isNil(id) ? this.id : id;\n var _ref2 = (_filterProps = filterProps(dot, false)) !== null && _filterProps !== void 0 ? _filterProps : {\n r: 3,\n strokeWidth: 2\n },\n _ref2$r = _ref2.r,\n r = _ref2$r === void 0 ? 3 : _ref2$r,\n _ref2$strokeWidth = _ref2.strokeWidth,\n strokeWidth = _ref2$strokeWidth === void 0 ? 2 : _ref2$strokeWidth;\n var _ref3 = hasClipDot(dot) ? dot : {},\n _ref3$clipDot = _ref3.clipDot,\n clipDot = _ref3$clipDot === void 0 ? true : _ref3$clipDot;\n var dotSize = r * 2 + strokeWidth;\n return /*#__PURE__*/React.createElement(Layer, {\n className: layerClass\n }, needClipX || needClipY ? /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clipPath-\".concat(clipPathId)\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: needClipX ? left : left - width / 2,\n y: needClipY ? top : top - height / 2,\n width: needClipX ? width : width * 2,\n height: needClipY ? height : height * 2\n })), !clipDot && /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clipPath-dots-\".concat(clipPathId)\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: left - dotSize / 2,\n y: top - dotSize / 2,\n width: width + dotSize,\n height: height + dotSize\n }))) : null, !hasSinglePoint && this.renderCurve(needClip, clipPathId), this.renderErrorBar(needClip, clipPathId), (hasSinglePoint || dot) && this.renderDots(needClip, clipDot, clipPathId), (!isAnimationActive || isAnimationFinished) && LabelList.renderCallByParent(this.props, points));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n if (nextProps.animationId !== prevState.prevAnimationId) {\n return {\n prevAnimationId: nextProps.animationId,\n curPoints: nextProps.points,\n prevPoints: prevState.curPoints\n };\n }\n if (nextProps.points !== prevState.curPoints) {\n return {\n curPoints: nextProps.points\n };\n }\n return null;\n }\n }, {\n key: \"repeat\",\n value: function repeat(lines, count) {\n var linesUnit = lines.length % 2 !== 0 ? [].concat(_toConsumableArray(lines), [0]) : lines;\n var result = [];\n for (var i = 0; i < count; ++i) {\n result = [].concat(_toConsumableArray(result), _toConsumableArray(linesUnit));\n }\n return result;\n }\n }, {\n key: \"renderDotItem\",\n value: function renderDotItem(option, props) {\n var dotItem;\n if ( /*#__PURE__*/React.isValidElement(option)) {\n dotItem = /*#__PURE__*/React.cloneElement(option, props);\n } else if (isFunction(option)) {\n dotItem = option(props);\n } else {\n var key = props.key,\n dotProps = _objectWithoutProperties(props, _excluded2);\n var className = clsx('recharts-line-dot', typeof option !== 'boolean' ? option.className : '');\n dotItem = /*#__PURE__*/React.createElement(Dot, _extends({\n key: key\n }, dotProps, {\n className: className\n }));\n }\n return dotItem;\n }\n }]);\n}(PureComponent);\n_defineProperty(Line, \"displayName\", 'Line');\n_defineProperty(Line, \"defaultProps\", {\n xAxisId: 0,\n yAxisId: 0,\n connectNulls: false,\n activeDot: true,\n dot: true,\n legendType: 'line',\n stroke: '#3182bd',\n strokeWidth: 1,\n fill: '#fff',\n points: [],\n isAnimationActive: !Global.isSsr,\n animateNewValues: true,\n animationBegin: 0,\n animationDuration: 1500,\n animationEasing: 'ease',\n hide: false,\n label: false\n});\n/**\n * Compose the data of each group\n * @param {Object} props The props from the component\n * @param {Object} xAxis The configuration of x-axis\n * @param {Object} yAxis The configuration of y-axis\n * @param {String} dataKey The unique key of a group\n * @return {Array} Composed data\n */\n_defineProperty(Line, \"getComposedData\", function (_ref4) {\n var props = _ref4.props,\n xAxis = _ref4.xAxis,\n yAxis = _ref4.yAxis,\n xAxisTicks = _ref4.xAxisTicks,\n yAxisTicks = _ref4.yAxisTicks,\n dataKey = _ref4.dataKey,\n bandSize = _ref4.bandSize,\n displayedData = _ref4.displayedData,\n offset = _ref4.offset;\n var layout = props.layout;\n var points = displayedData.map(function (entry, index) {\n var value = getValueByDataKey(entry, dataKey);\n if (layout === 'horizontal') {\n return {\n x: getCateCoordinateOfLine({\n axis: xAxis,\n ticks: xAxisTicks,\n bandSize: bandSize,\n entry: entry,\n index: index\n }),\n y: isNil(value) ? null : yAxis.scale(value),\n value: value,\n payload: entry\n };\n }\n return {\n x: isNil(value) ? null : xAxis.scale(value),\n y: getCateCoordinateOfLine({\n axis: yAxis,\n ticks: yAxisTicks,\n bandSize: bandSize,\n entry: entry,\n index: index\n }),\n value: value,\n payload: entry\n };\n });\n return _objectSpread({\n points: points,\n layout: layout\n }, offset);\n});","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n/**\n * @fileOverview X Axis\n */\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport { useChartHeight, useChartWidth, useXAxisOrThrow } from '../context/chartLayoutContext';\nimport { CartesianAxis } from './CartesianAxis';\nimport { getTicksOfAxis } from '../util/ChartUtils';\n\n/** Define of XAxis props */\n\nfunction XAxisImpl(_ref) {\n var xAxisId = _ref.xAxisId;\n var width = useChartWidth();\n var height = useChartHeight();\n var axisOptions = useXAxisOrThrow(xAxisId);\n if (axisOptions == null) {\n return null;\n }\n return (\n /*#__PURE__*/\n // @ts-expect-error the axisOptions type is not exactly what CartesianAxis is expecting.\n React.createElement(CartesianAxis, _extends({}, axisOptions, {\n className: clsx(\"recharts-\".concat(axisOptions.axisType, \" \").concat(axisOptions.axisType), axisOptions.className),\n viewBox: {\n x: 0,\n y: 0,\n width: width,\n height: height\n },\n ticksGenerator: function ticksGenerator(axis) {\n return getTicksOfAxis(axis, true);\n }\n }))\n );\n}\n\n// eslint-disable-next-line react/prefer-stateless-function -- requires static defaultProps\nexport var XAxis = /*#__PURE__*/function (_React$Component) {\n function XAxis() {\n _classCallCheck(this, XAxis);\n return _callSuper(this, XAxis, arguments);\n }\n _inherits(XAxis, _React$Component);\n return _createClass(XAxis, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(XAxisImpl, this.props);\n }\n }]);\n}(React.Component);\n_defineProperty(XAxis, \"displayName\", 'XAxis');\n_defineProperty(XAxis, \"defaultProps\", {\n allowDecimals: true,\n hide: false,\n orientation: 'bottom',\n width: 0,\n height: 30,\n mirror: false,\n xAxisId: 0,\n tickCount: 5,\n type: 'category',\n padding: {\n left: 0,\n right: 0\n },\n allowDataOverflow: false,\n scale: 'auto',\n reversed: false,\n allowDuplicatedCategory: true\n});","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n/**\n * @fileOverview Y Axis\n */\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport { useChartHeight, useChartWidth, useYAxisOrThrow } from '../context/chartLayoutContext';\nimport { CartesianAxis } from './CartesianAxis';\nimport { getTicksOfAxis } from '../util/ChartUtils';\nvar YAxisImpl = function YAxisImpl(_ref) {\n var yAxisId = _ref.yAxisId;\n var width = useChartWidth();\n var height = useChartHeight();\n var axisOptions = useYAxisOrThrow(yAxisId);\n if (axisOptions == null) {\n return null;\n }\n return (\n /*#__PURE__*/\n // @ts-expect-error the axisOptions type is not exactly what CartesianAxis is expecting.\n React.createElement(CartesianAxis, _extends({}, axisOptions, {\n className: clsx(\"recharts-\".concat(axisOptions.axisType, \" \").concat(axisOptions.axisType), axisOptions.className),\n viewBox: {\n x: 0,\n y: 0,\n width: width,\n height: height\n },\n ticksGenerator: function ticksGenerator(axis) {\n return getTicksOfAxis(axis, true);\n }\n }))\n );\n};\n\n// eslint-disable-next-line react/prefer-stateless-function -- requires static defaultProps\nexport var YAxis = /*#__PURE__*/function (_React$Component) {\n function YAxis() {\n _classCallCheck(this, YAxis);\n return _callSuper(this, YAxis, arguments);\n }\n _inherits(YAxis, _React$Component);\n return _createClass(YAxis, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(YAxisImpl, this.props);\n }\n }]);\n}(React.Component);\n_defineProperty(YAxis, \"displayName\", 'YAxis');\n_defineProperty(YAxis, \"defaultProps\", {\n allowDuplicatedCategory: true,\n allowDecimals: true,\n hide: false,\n orientation: 'left',\n width: 60,\n height: 0,\n mirror: false,\n yAxisId: 0,\n tickCount: 5,\n type: 'number',\n padding: {\n top: 0,\n bottom: 0\n },\n allowDataOverflow: false,\n scale: 'auto',\n reversed: false\n});","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nimport { ReferenceDot } from '../cartesian/ReferenceDot';\nimport { ReferenceLine } from '../cartesian/ReferenceLine';\nimport { ReferenceArea } from '../cartesian/ReferenceArea';\nimport { ifOverflowMatches } from './IfOverflowMatches';\nimport { findAllByType } from './ReactUtils';\nimport { isNumber } from './DataUtils';\nexport var detectReferenceElementsDomain = function detectReferenceElementsDomain(children, domain, axisId, axisType, specifiedTicks) {\n var lines = findAllByType(children, ReferenceLine);\n var dots = findAllByType(children, ReferenceDot);\n var elements = [].concat(_toConsumableArray(lines), _toConsumableArray(dots));\n var areas = findAllByType(children, ReferenceArea);\n var idKey = \"\".concat(axisType, \"Id\");\n var valueKey = axisType[0];\n var finalDomain = domain;\n if (elements.length) {\n finalDomain = elements.reduce(function (result, el) {\n if (el.props[idKey] === axisId && ifOverflowMatches(el.props, 'extendDomain') && isNumber(el.props[valueKey])) {\n var value = el.props[valueKey];\n return [Math.min(result[0], value), Math.max(result[1], value)];\n }\n return result;\n }, finalDomain);\n }\n if (areas.length) {\n var key1 = \"\".concat(valueKey, \"1\");\n var key2 = \"\".concat(valueKey, \"2\");\n finalDomain = areas.reduce(function (result, el) {\n if (el.props[idKey] === axisId && ifOverflowMatches(el.props, 'extendDomain') && isNumber(el.props[key1]) && isNumber(el.props[key2])) {\n var value1 = el.props[key1];\n var value2 = el.props[key2];\n return [Math.min(result[0], value1, value2), Math.max(result[1], value1, value2)];\n }\n return result;\n }, finalDomain);\n }\n if (specifiedTicks && specifiedTicks.length) {\n finalDomain = specifiedTicks.reduce(function (result, tick) {\n if (isNumber(tick)) {\n return [Math.min(result[0], tick), Math.max(result[1], tick)];\n }\n return result;\n }, finalDomain);\n }\n return finalDomain;\n};","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","import EventEmitter from 'eventemitter3';\nvar eventCenter = new EventEmitter();\nexport { eventCenter };\nexport var SYNC_EVENT = 'recharts.syncMouseEvents';","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nexport var AccessibilityManager = /*#__PURE__*/function () {\n function AccessibilityManager() {\n _classCallCheck(this, AccessibilityManager);\n _defineProperty(this, \"activeIndex\", 0);\n _defineProperty(this, \"coordinateList\", []);\n _defineProperty(this, \"layout\", 'horizontal');\n }\n return _createClass(AccessibilityManager, [{\n key: \"setDetails\",\n value: function setDetails(_ref) {\n var _ref2;\n var _ref$coordinateList = _ref.coordinateList,\n coordinateList = _ref$coordinateList === void 0 ? null : _ref$coordinateList,\n _ref$container = _ref.container,\n container = _ref$container === void 0 ? null : _ref$container,\n _ref$layout = _ref.layout,\n layout = _ref$layout === void 0 ? null : _ref$layout,\n _ref$offset = _ref.offset,\n offset = _ref$offset === void 0 ? null : _ref$offset,\n _ref$mouseHandlerCall = _ref.mouseHandlerCallback,\n mouseHandlerCallback = _ref$mouseHandlerCall === void 0 ? null : _ref$mouseHandlerCall;\n this.coordinateList = (_ref2 = coordinateList !== null && coordinateList !== void 0 ? coordinateList : this.coordinateList) !== null && _ref2 !== void 0 ? _ref2 : [];\n this.container = container !== null && container !== void 0 ? container : this.container;\n this.layout = layout !== null && layout !== void 0 ? layout : this.layout;\n this.offset = offset !== null && offset !== void 0 ? offset : this.offset;\n this.mouseHandlerCallback = mouseHandlerCallback !== null && mouseHandlerCallback !== void 0 ? mouseHandlerCallback : this.mouseHandlerCallback;\n\n // Keep activeIndex in the bounds between 0 and the last coordinate index\n this.activeIndex = Math.min(Math.max(this.activeIndex, 0), this.coordinateList.length - 1);\n }\n }, {\n key: \"focus\",\n value: function focus() {\n this.spoofMouse();\n }\n }, {\n key: \"keyboardEvent\",\n value: function keyboardEvent(e) {\n // The AccessibilityManager relies on the Tooltip component. When tooltips suddenly stop existing,\n // it can cause errors. We use this function to check. We don't want arrow keys to be processed\n // if there are no tooltips, since that will cause unexpected behavior of users.\n if (this.coordinateList.length === 0) {\n return;\n }\n switch (e.key) {\n case 'ArrowRight':\n {\n if (this.layout !== 'horizontal') {\n return;\n }\n this.activeIndex = Math.min(this.activeIndex + 1, this.coordinateList.length - 1);\n this.spoofMouse();\n break;\n }\n case 'ArrowLeft':\n {\n if (this.layout !== 'horizontal') {\n return;\n }\n this.activeIndex = Math.max(this.activeIndex - 1, 0);\n this.spoofMouse();\n break;\n }\n default:\n {\n break;\n }\n }\n }\n }, {\n key: \"setIndex\",\n value: function setIndex(newIndex) {\n this.activeIndex = newIndex;\n }\n }, {\n key: \"spoofMouse\",\n value: function spoofMouse() {\n var _window, _window2;\n if (this.layout !== 'horizontal') {\n return;\n }\n\n // This can happen when the tooltips suddenly stop existing as children of the component\n // That update doesn't otherwise fire events, so we have to double check here.\n if (this.coordinateList.length === 0) {\n return;\n }\n var _this$container$getBo = this.container.getBoundingClientRect(),\n x = _this$container$getBo.x,\n y = _this$container$getBo.y,\n height = _this$container$getBo.height;\n var coordinate = this.coordinateList[this.activeIndex].coordinate;\n var scrollOffsetX = ((_window = window) === null || _window === void 0 ? void 0 : _window.scrollX) || 0;\n var scrollOffsetY = ((_window2 = window) === null || _window2 === void 0 ? void 0 : _window2.scrollY) || 0;\n var pageX = x + coordinate + scrollOffsetX;\n var pageY = y + this.offset.top + height / 2 + scrollOffsetY;\n this.mouseHandlerCallback({\n pageX: pageX,\n pageY: pageY\n });\n }\n }]);\n}();","import { isNumber } from './DataUtils';\n/**\n * Takes a domain and user props to determine whether he provided the domain via props or if we need to calculate it.\n * @param {AxisDomain} domain The potential domain from props\n * @param {Boolean} allowDataOverflow from props\n * @param {String} axisType from props\n * @returns {Boolean} `true` if domain is specified by user\n */\nexport function isDomainSpecifiedByUser(domain, allowDataOverflow, axisType) {\n if (axisType === 'number' && allowDataOverflow === true && Array.isArray(domain)) {\n var domainStart = domain === null || domain === void 0 ? void 0 : domain[0];\n var domainEnd = domain === null || domain === void 0 ? void 0 : domain[1];\n\n /*\n * The `isNumber` check is needed because the user could also provide strings like \"dataMin\" via the domain props.\n * In such case, we have to compute the domain from the data.\n */\n if (!!domainStart && !!domainEnd && isNumber(domainStart) && isNumber(domainEnd)) {\n return true;\n }\n }\n return false;\n}","export function getCursorRectangle(layout, activeCoordinate, offset, tooltipAxisBandSize) {\n var halfSize = tooltipAxisBandSize / 2;\n return {\n stroke: 'none',\n fill: '#ccc',\n x: layout === 'horizontal' ? activeCoordinate.x - halfSize : offset.left + 0.5,\n y: layout === 'horizontal' ? offset.top + 0.5 : activeCoordinate.y - halfSize,\n width: layout === 'horizontal' ? tooltipAxisBandSize : offset.width - 1,\n height: layout === 'horizontal' ? offset.height - 1 : tooltipAxisBandSize\n };\n}","import { polarToCartesian } from '../PolarUtils';\n/**\n * Only applicable for radial layouts\n * @param {Object} activeCoordinate ChartCoordinate\n * @returns {Object} RadialCursorPoints\n */\nexport function getRadialCursorPoints(activeCoordinate) {\n var cx = activeCoordinate.cx,\n cy = activeCoordinate.cy,\n radius = activeCoordinate.radius,\n startAngle = activeCoordinate.startAngle,\n endAngle = activeCoordinate.endAngle;\n var startPoint = polarToCartesian(cx, cy, radius, startAngle);\n var endPoint = polarToCartesian(cx, cy, radius, endAngle);\n return {\n points: [startPoint, endPoint],\n cx: cx,\n cy: cy,\n radius: radius,\n startAngle: startAngle,\n endAngle: endAngle\n };\n}","import { polarToCartesian } from '../PolarUtils';\nimport { getRadialCursorPoints } from './getRadialCursorPoints';\nexport function getCursorPoints(layout, activeCoordinate, offset) {\n var x1, y1, x2, y2;\n if (layout === 'horizontal') {\n x1 = activeCoordinate.x;\n x2 = x1;\n y1 = offset.top;\n y2 = offset.top + offset.height;\n } else if (layout === 'vertical') {\n y1 = activeCoordinate.y;\n y2 = y1;\n x1 = offset.left;\n x2 = offset.left + offset.width;\n } else if (activeCoordinate.cx != null && activeCoordinate.cy != null) {\n if (layout === 'centric') {\n var cx = activeCoordinate.cx,\n cy = activeCoordinate.cy,\n innerRadius = activeCoordinate.innerRadius,\n outerRadius = activeCoordinate.outerRadius,\n angle = activeCoordinate.angle;\n var innerPoint = polarToCartesian(cx, cy, innerRadius, angle);\n var outerPoint = polarToCartesian(cx, cy, outerRadius, angle);\n x1 = innerPoint.x;\n y1 = innerPoint.y;\n x2 = outerPoint.x;\n y2 = outerPoint.y;\n } else {\n return getRadialCursorPoints(activeCoordinate);\n }\n }\n return [{\n x: x1,\n y: y1\n }, {\n x: x2,\n y: y2\n }];\n}","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport { cloneElement, createElement, isValidElement } from 'react';\nimport clsx from 'clsx';\nimport { Curve } from '../shape/Curve';\nimport { Cross } from '../shape/Cross';\nimport { getCursorRectangle } from '../util/cursor/getCursorRectangle';\nimport { Rectangle } from '../shape/Rectangle';\nimport { getRadialCursorPoints } from '../util/cursor/getRadialCursorPoints';\nimport { Sector } from '../shape/Sector';\nimport { getCursorPoints } from '../util/cursor/getCursorPoints';\nimport { filterProps } from '../util/ReactUtils';\n/*\n * Cursor is the background, or a highlight,\n * that shows when user mouses over or activates\n * an area.\n *\n * It usually shows together with a tooltip\n * to emphasise which part of the chart does the tooltip refer to.\n */\nexport function Cursor(props) {\n var _element$props$cursor, _defaultProps;\n var element = props.element,\n tooltipEventType = props.tooltipEventType,\n isActive = props.isActive,\n activeCoordinate = props.activeCoordinate,\n activePayload = props.activePayload,\n offset = props.offset,\n activeTooltipIndex = props.activeTooltipIndex,\n tooltipAxisBandSize = props.tooltipAxisBandSize,\n layout = props.layout,\n chartName = props.chartName;\n var elementPropsCursor = (_element$props$cursor = element.props.cursor) !== null && _element$props$cursor !== void 0 ? _element$props$cursor : (_defaultProps = element.type.defaultProps) === null || _defaultProps === void 0 ? void 0 : _defaultProps.cursor;\n if (!element || !elementPropsCursor || !isActive || !activeCoordinate || chartName !== 'ScatterChart' && tooltipEventType !== 'axis') {\n return null;\n }\n var restProps;\n var cursorComp = Curve;\n if (chartName === 'ScatterChart') {\n restProps = activeCoordinate;\n cursorComp = Cross;\n } else if (chartName === 'BarChart') {\n restProps = getCursorRectangle(layout, activeCoordinate, offset, tooltipAxisBandSize);\n cursorComp = Rectangle;\n } else if (layout === 'radial') {\n var _getRadialCursorPoint = getRadialCursorPoints(activeCoordinate),\n cx = _getRadialCursorPoint.cx,\n cy = _getRadialCursorPoint.cy,\n radius = _getRadialCursorPoint.radius,\n startAngle = _getRadialCursorPoint.startAngle,\n endAngle = _getRadialCursorPoint.endAngle;\n restProps = {\n cx: cx,\n cy: cy,\n startAngle: startAngle,\n endAngle: endAngle,\n innerRadius: radius,\n outerRadius: radius\n };\n cursorComp = Sector;\n } else {\n restProps = {\n points: getCursorPoints(layout, activeCoordinate, offset)\n };\n cursorComp = Curve;\n }\n var cursorProps = _objectSpread(_objectSpread(_objectSpread(_objectSpread({\n stroke: '#ccc',\n pointerEvents: 'none'\n }, offset), restProps), filterProps(elementPropsCursor, false)), {}, {\n payload: activePayload,\n payloadIndex: activeTooltipIndex,\n className: clsx('recharts-tooltip-cursor', elementPropsCursor.className)\n });\n return /*#__PURE__*/isValidElement(elementPropsCursor) ? /*#__PURE__*/cloneElement(elementPropsCursor, cursorProps) : /*#__PURE__*/createElement(cursorComp, cursorProps);\n}","var _excluded = [\"item\"],\n _excluded2 = [\"children\", \"className\", \"width\", \"height\", \"style\", \"compact\", \"title\", \"desc\"];\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport React, { Component, cloneElement, isValidElement, forwardRef } from 'react';\nimport isNil from 'lodash/isNil';\nimport isFunction from 'lodash/isFunction';\nimport range from 'lodash/range';\nimport get from 'lodash/get';\nimport sortBy from 'lodash/sortBy';\nimport throttle from 'lodash/throttle';\nimport clsx from 'clsx';\n// eslint-disable-next-line no-restricted-imports\n\nimport invariant from 'tiny-invariant';\nimport { Surface } from '../container/Surface';\nimport { Layer } from '../container/Layer';\nimport { Tooltip } from '../component/Tooltip';\nimport { Legend } from '../component/Legend';\nimport { Dot } from '../shape/Dot';\nimport { isInRectangle } from '../shape/Rectangle';\nimport { filterProps, findAllByType, findChildByType, getDisplayName, getReactEventByType, isChildrenEqual, parseChildIndex, renderByOrder, validateWidthHeight } from '../util/ReactUtils';\nimport { Brush } from '../cartesian/Brush';\nimport { getOffset } from '../util/DOMUtils';\nimport { findEntryInArray, getAnyElementOfObject, hasDuplicate, isNumber, uniqueId } from '../util/DataUtils';\nimport { appendOffsetOfLegend, calculateActiveTickIndex, combineEventHandlers, getBandSizeOfAxis, getBarPosition, getBarSizeList, getDomainOfDataByKey, getDomainOfItemsWithSameAxis, getDomainOfStackGroups, getLegendProps, getMainColorOfGraphicItem, getStackedDataOfItem, getStackGroupsByAxisId, getTicksOfAxis, getTooltipItem, isCategoricalAxis, parseDomainOfCategoryAxis, parseErrorBarsOfAxis, parseSpecifiedDomain } from '../util/ChartUtils';\nimport { detectReferenceElementsDomain } from '../util/DetectReferenceElementsDomain';\nimport { inRangeOfSector, polarToCartesian } from '../util/PolarUtils';\nimport { shallowEqual } from '../util/ShallowEqual';\nimport { eventCenter, SYNC_EVENT } from '../util/Events';\nimport { adaptEventHandlers } from '../util/types';\nimport { AccessibilityManager } from './AccessibilityManager';\nimport { isDomainSpecifiedByUser } from '../util/isDomainSpecifiedByUser';\nimport { getActiveShapeIndexForTooltip, isFunnel, isPie, isScatter } from '../util/ActiveShapeUtils';\nimport { Cursor } from '../component/Cursor';\nimport { ChartLayoutContextProvider } from '../context/chartLayoutContext';\nvar ORIENT_MAP = {\n xAxis: ['bottom', 'top'],\n yAxis: ['left', 'right']\n};\nvar FULL_WIDTH_AND_HEIGHT = {\n width: '100%',\n height: '100%'\n};\nvar originCoordinate = {\n x: 0,\n y: 0\n};\n\n/**\n * This function exists as a temporary workaround.\n *\n * Why? generateCategoricalChart does not render `{children}` directly;\n * instead it passes them through `renderByOrder` function which reads their handlers.\n *\n * So, this is a handler that does nothing.\n * Once we get rid of `renderByOrder` and switch to JSX only, we can get rid of this handler too.\n *\n * @param {JSX} element as is in JSX\n * @returns {JSX} the same element\n */\nfunction renderAsIs(element) {\n return element;\n}\nvar calculateTooltipPos = function calculateTooltipPos(rangeObj, layout) {\n if (layout === 'horizontal') {\n return rangeObj.x;\n }\n if (layout === 'vertical') {\n return rangeObj.y;\n }\n if (layout === 'centric') {\n return rangeObj.angle;\n }\n return rangeObj.radius;\n};\nvar getActiveCoordinate = function getActiveCoordinate(layout, tooltipTicks, activeIndex, rangeObj) {\n var entry = tooltipTicks.find(function (tick) {\n return tick && tick.index === activeIndex;\n });\n if (entry) {\n if (layout === 'horizontal') {\n return {\n x: entry.coordinate,\n y: rangeObj.y\n };\n }\n if (layout === 'vertical') {\n return {\n x: rangeObj.x,\n y: entry.coordinate\n };\n }\n if (layout === 'centric') {\n var _angle = entry.coordinate;\n var _radius = rangeObj.radius;\n return _objectSpread(_objectSpread(_objectSpread({}, rangeObj), polarToCartesian(rangeObj.cx, rangeObj.cy, _radius, _angle)), {}, {\n angle: _angle,\n radius: _radius\n });\n }\n var radius = entry.coordinate;\n var angle = rangeObj.angle;\n return _objectSpread(_objectSpread(_objectSpread({}, rangeObj), polarToCartesian(rangeObj.cx, rangeObj.cy, radius, angle)), {}, {\n angle: angle,\n radius: radius\n });\n }\n return originCoordinate;\n};\nvar getDisplayedData = function getDisplayedData(data, _ref) {\n var graphicalItems = _ref.graphicalItems,\n dataStartIndex = _ref.dataStartIndex,\n dataEndIndex = _ref.dataEndIndex;\n var itemsData = (graphicalItems !== null && graphicalItems !== void 0 ? graphicalItems : []).reduce(function (result, child) {\n var itemData = child.props.data;\n if (itemData && itemData.length) {\n return [].concat(_toConsumableArray(result), _toConsumableArray(itemData));\n }\n return result;\n }, []);\n if (itemsData.length > 0) {\n return itemsData;\n }\n if (data && data.length && isNumber(dataStartIndex) && isNumber(dataEndIndex)) {\n return data.slice(dataStartIndex, dataEndIndex + 1);\n }\n return [];\n};\nfunction getDefaultDomainByAxisType(axisType) {\n return axisType === 'number' ? [0, 'auto'] : undefined;\n}\n\n/**\n * Get the content to be displayed in the tooltip\n * @param {Object} state Current state\n * @param {Array} chartData The data defined in chart\n * @param {Number} activeIndex Active index of data\n * @param {String} activeLabel Active label of data\n * @return {Array} The content of tooltip\n */\nvar getTooltipContent = function getTooltipContent(state, chartData, activeIndex, activeLabel) {\n var graphicalItems = state.graphicalItems,\n tooltipAxis = state.tooltipAxis;\n var displayedData = getDisplayedData(chartData, state);\n if (activeIndex < 0 || !graphicalItems || !graphicalItems.length || activeIndex >= displayedData.length) {\n return null;\n }\n // get data by activeIndex when the axis don't allow duplicated category\n return graphicalItems.reduce(function (result, child) {\n var _child$props$data;\n /**\n * Fixes: https://github.com/recharts/recharts/issues/3669\n * Defaulting to chartData below to fix an edge case where the tooltip does not include data from all charts\n * when a separate dataset is passed to chart prop data and specified on Line/Area/etc prop data\n */\n var data = (_child$props$data = child.props.data) !== null && _child$props$data !== void 0 ? _child$props$data : chartData;\n if (data && state.dataStartIndex + state.dataEndIndex !== 0 &&\n // https://github.com/recharts/recharts/issues/4717\n // The data is sliced only when the active index is within the start/end index range.\n state.dataEndIndex - state.dataStartIndex >= activeIndex) {\n data = data.slice(state.dataStartIndex, state.dataEndIndex + 1);\n }\n var payload;\n if (tooltipAxis.dataKey && !tooltipAxis.allowDuplicatedCategory) {\n // graphic child has data props\n var entries = data === undefined ? displayedData : data;\n payload = findEntryInArray(entries, tooltipAxis.dataKey, activeLabel);\n } else {\n payload = data && data[activeIndex] || displayedData[activeIndex];\n }\n if (!payload) {\n return result;\n }\n return [].concat(_toConsumableArray(result), [getTooltipItem(child, payload)]);\n }, []);\n};\n\n/**\n * Returns tooltip data based on a mouse position (as a parameter or in state)\n * @param {Object} state current state\n * @param {Array} chartData the data defined in chart\n * @param {String} layout The layout type of chart\n * @param {Object} rangeObj { x, y } coordinates\n * @return {Object} Tooltip data data\n */\nvar getTooltipData = function getTooltipData(state, chartData, layout, rangeObj) {\n var rangeData = rangeObj || {\n x: state.chartX,\n y: state.chartY\n };\n var pos = calculateTooltipPos(rangeData, layout);\n var ticks = state.orderedTooltipTicks,\n axis = state.tooltipAxis,\n tooltipTicks = state.tooltipTicks;\n var activeIndex = calculateActiveTickIndex(pos, ticks, tooltipTicks, axis);\n if (activeIndex >= 0 && tooltipTicks) {\n var activeLabel = tooltipTicks[activeIndex] && tooltipTicks[activeIndex].value;\n var activePayload = getTooltipContent(state, chartData, activeIndex, activeLabel);\n var activeCoordinate = getActiveCoordinate(layout, ticks, activeIndex, rangeData);\n return {\n activeTooltipIndex: activeIndex,\n activeLabel: activeLabel,\n activePayload: activePayload,\n activeCoordinate: activeCoordinate\n };\n }\n return null;\n};\n\n/**\n * Get the configuration of axis by the options of axis instance\n * @param {Object} props Latest props\n * @param {Array} axes The instance of axes\n * @param {Array} graphicalItems The instances of item\n * @param {String} axisType The type of axis, xAxis - x-axis, yAxis - y-axis\n * @param {String} axisIdKey The unique id of an axis\n * @param {Object} stackGroups The items grouped by axisId and stackId\n * @param {Number} dataStartIndex The start index of the data series when a brush is applied\n * @param {Number} dataEndIndex The end index of the data series when a brush is applied\n * @return {Object} Configuration\n */\nexport var getAxisMapByAxes = function getAxisMapByAxes(props, _ref2) {\n var axes = _ref2.axes,\n graphicalItems = _ref2.graphicalItems,\n axisType = _ref2.axisType,\n axisIdKey = _ref2.axisIdKey,\n stackGroups = _ref2.stackGroups,\n dataStartIndex = _ref2.dataStartIndex,\n dataEndIndex = _ref2.dataEndIndex;\n var layout = props.layout,\n children = props.children,\n stackOffset = props.stackOffset;\n var isCategorical = isCategoricalAxis(layout, axisType);\n\n // Eliminate duplicated axes\n return axes.reduce(function (result, child) {\n var _childProps$domain2;\n var childProps = child.type.defaultProps !== undefined ? _objectSpread(_objectSpread({}, child.type.defaultProps), child.props) : child.props;\n var type = childProps.type,\n dataKey = childProps.dataKey,\n allowDataOverflow = childProps.allowDataOverflow,\n allowDuplicatedCategory = childProps.allowDuplicatedCategory,\n scale = childProps.scale,\n ticks = childProps.ticks,\n includeHidden = childProps.includeHidden;\n var axisId = childProps[axisIdKey];\n if (result[axisId]) {\n return result;\n }\n var displayedData = getDisplayedData(props.data, {\n graphicalItems: graphicalItems.filter(function (item) {\n var _defaultProps;\n var itemAxisId = axisIdKey in item.props ? item.props[axisIdKey] : (_defaultProps = item.type.defaultProps) === null || _defaultProps === void 0 ? void 0 : _defaultProps[axisIdKey];\n return itemAxisId === axisId;\n }),\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n });\n var len = displayedData.length;\n var domain, duplicateDomain, categoricalDomain;\n\n /*\n * This is a hack to short-circuit the domain creation here to enhance performance.\n * Usually, the data is used to determine the domain, but when the user specifies\n * a domain upfront (via props), there is no need to calculate the domain start and end,\n * which is very expensive for a larger amount of data.\n * The only thing that would prohibit short-circuiting is when the user doesn't allow data overflow,\n * because the axis is supposed to ignore the specified domain that way.\n */\n if (isDomainSpecifiedByUser(childProps.domain, allowDataOverflow, type)) {\n domain = parseSpecifiedDomain(childProps.domain, null, allowDataOverflow);\n /* The chart can be categorical and have the domain specified in numbers\n * we still need to calculate the categorical domain\n * TODO: refactor this more\n */\n if (isCategorical && (type === 'number' || scale !== 'auto')) {\n categoricalDomain = getDomainOfDataByKey(displayedData, dataKey, 'category');\n }\n }\n\n // if the domain is defaulted we need this for `originalDomain` as well\n var defaultDomain = getDefaultDomainByAxisType(type);\n\n // we didn't create the domain from user's props above, so we need to calculate it\n if (!domain || domain.length === 0) {\n var _childProps$domain;\n var childDomain = (_childProps$domain = childProps.domain) !== null && _childProps$domain !== void 0 ? _childProps$domain : defaultDomain;\n if (dataKey) {\n // has dataKey in \n domain = getDomainOfDataByKey(displayedData, dataKey, type);\n if (type === 'category' && isCategorical) {\n // the field type is category data and this axis is categorical axis\n var duplicate = hasDuplicate(domain);\n if (allowDuplicatedCategory && duplicate) {\n duplicateDomain = domain;\n // When category axis has duplicated text, serial numbers are used to generate scale\n domain = range(0, len);\n } else if (!allowDuplicatedCategory) {\n // remove duplicated category\n domain = parseDomainOfCategoryAxis(childDomain, domain, child).reduce(function (finalDomain, entry) {\n return finalDomain.indexOf(entry) >= 0 ? finalDomain : [].concat(_toConsumableArray(finalDomain), [entry]);\n }, []);\n }\n } else if (type === 'category') {\n // the field type is category data and this axis is numerical axis\n if (!allowDuplicatedCategory) {\n domain = parseDomainOfCategoryAxis(childDomain, domain, child).reduce(function (finalDomain, entry) {\n return finalDomain.indexOf(entry) >= 0 || entry === '' || isNil(entry) ? finalDomain : [].concat(_toConsumableArray(finalDomain), [entry]);\n }, []);\n } else {\n // eliminate undefined or null or empty string\n domain = domain.filter(function (entry) {\n return entry !== '' && !isNil(entry);\n });\n }\n } else if (type === 'number') {\n // the field type is numerical\n var errorBarsDomain = parseErrorBarsOfAxis(displayedData, graphicalItems.filter(function (item) {\n var _defaultProps2, _defaultProps3;\n var itemAxisId = axisIdKey in item.props ? item.props[axisIdKey] : (_defaultProps2 = item.type.defaultProps) === null || _defaultProps2 === void 0 ? void 0 : _defaultProps2[axisIdKey];\n var itemHide = 'hide' in item.props ? item.props.hide : (_defaultProps3 = item.type.defaultProps) === null || _defaultProps3 === void 0 ? void 0 : _defaultProps3.hide;\n return itemAxisId === axisId && (includeHidden || !itemHide);\n }), dataKey, axisType, layout);\n if (errorBarsDomain) {\n domain = errorBarsDomain;\n }\n }\n if (isCategorical && (type === 'number' || scale !== 'auto')) {\n categoricalDomain = getDomainOfDataByKey(displayedData, dataKey, 'category');\n }\n } else if (isCategorical) {\n // the axis is a categorical axis\n domain = range(0, len);\n } else if (stackGroups && stackGroups[axisId] && stackGroups[axisId].hasStack && type === 'number') {\n // when stackOffset is 'expand', the domain may be calculated as [0, 1.000000000002]\n domain = stackOffset === 'expand' ? [0, 1] : getDomainOfStackGroups(stackGroups[axisId].stackGroups, dataStartIndex, dataEndIndex);\n } else {\n domain = getDomainOfItemsWithSameAxis(displayedData, graphicalItems.filter(function (item) {\n var itemAxisId = axisIdKey in item.props ? item.props[axisIdKey] : item.type.defaultProps[axisIdKey];\n var itemHide = 'hide' in item.props ? item.props.hide : item.type.defaultProps.hide;\n return itemAxisId === axisId && (includeHidden || !itemHide);\n }), type, layout, true);\n }\n if (type === 'number') {\n // To detect wether there is any reference lines whose props alwaysShow is true\n domain = detectReferenceElementsDomain(children, domain, axisId, axisType, ticks);\n if (childDomain) {\n domain = parseSpecifiedDomain(childDomain, domain, allowDataOverflow);\n }\n } else if (type === 'category' && childDomain) {\n var axisDomain = childDomain;\n var isDomainValid = domain.every(function (entry) {\n return axisDomain.indexOf(entry) >= 0;\n });\n if (isDomainValid) {\n domain = axisDomain;\n }\n }\n }\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, axisId, _objectSpread(_objectSpread({}, childProps), {}, {\n axisType: axisType,\n domain: domain,\n categoricalDomain: categoricalDomain,\n duplicateDomain: duplicateDomain,\n originalDomain: (_childProps$domain2 = childProps.domain) !== null && _childProps$domain2 !== void 0 ? _childProps$domain2 : defaultDomain,\n isCategorical: isCategorical,\n layout: layout\n })));\n }, {});\n};\n\n/**\n * Get the configuration of axis by the options of item,\n * this kind of axis does not display in chart\n * @param {Object} props Latest props\n * @param {Array} graphicalItems The instances of item\n * @param {ReactElement} Axis Axis Component\n * @param {String} axisType The type of axis, xAxis - x-axis, yAxis - y-axis\n * @param {String} axisIdKey The unique id of an axis\n * @param {Object} stackGroups The items grouped by axisId and stackId\n * @param {Number} dataStartIndex The start index of the data series when a brush is applied\n * @param {Number} dataEndIndex The end index of the data series when a brush is applied\n * @return {Object} Configuration\n */\nvar getAxisMapByItems = function getAxisMapByItems(props, _ref3) {\n var graphicalItems = _ref3.graphicalItems,\n Axis = _ref3.Axis,\n axisType = _ref3.axisType,\n axisIdKey = _ref3.axisIdKey,\n stackGroups = _ref3.stackGroups,\n dataStartIndex = _ref3.dataStartIndex,\n dataEndIndex = _ref3.dataEndIndex;\n var layout = props.layout,\n children = props.children;\n var displayedData = getDisplayedData(props.data, {\n graphicalItems: graphicalItems,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n });\n var len = displayedData.length;\n var isCategorical = isCategoricalAxis(layout, axisType);\n var index = -1;\n\n // The default type of x-axis is category axis,\n // The default contents of x-axis is the serial numbers of data\n // The default type of y-axis is number axis\n // The default contents of y-axis is the domain of data\n return graphicalItems.reduce(function (result, child) {\n var childProps = child.type.defaultProps !== undefined ? _objectSpread(_objectSpread({}, child.type.defaultProps), child.props) : child.props;\n var axisId = childProps[axisIdKey];\n var originalDomain = getDefaultDomainByAxisType('number');\n if (!result[axisId]) {\n index++;\n var domain;\n if (isCategorical) {\n domain = range(0, len);\n } else if (stackGroups && stackGroups[axisId] && stackGroups[axisId].hasStack) {\n domain = getDomainOfStackGroups(stackGroups[axisId].stackGroups, dataStartIndex, dataEndIndex);\n domain = detectReferenceElementsDomain(children, domain, axisId, axisType);\n } else {\n domain = parseSpecifiedDomain(originalDomain, getDomainOfItemsWithSameAxis(displayedData, graphicalItems.filter(function (item) {\n var _defaultProps4, _defaultProps5;\n var itemAxisId = axisIdKey in item.props ? item.props[axisIdKey] : (_defaultProps4 = item.type.defaultProps) === null || _defaultProps4 === void 0 ? void 0 : _defaultProps4[axisIdKey];\n var itemHide = 'hide' in item.props ? item.props.hide : (_defaultProps5 = item.type.defaultProps) === null || _defaultProps5 === void 0 ? void 0 : _defaultProps5.hide;\n return itemAxisId === axisId && !itemHide;\n }), 'number', layout), Axis.defaultProps.allowDataOverflow);\n domain = detectReferenceElementsDomain(children, domain, axisId, axisType);\n }\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, axisId, _objectSpread(_objectSpread({\n axisType: axisType\n }, Axis.defaultProps), {}, {\n hide: true,\n orientation: get(ORIENT_MAP, \"\".concat(axisType, \".\").concat(index % 2), null),\n domain: domain,\n originalDomain: originalDomain,\n isCategorical: isCategorical,\n layout: layout\n // specify scale when no Axis\n // scale: isCategorical ? 'band' : 'linear',\n })));\n }\n return result;\n }, {});\n};\n\n/**\n * Get the configuration of all x-axis or y-axis\n * @param {Object} props Latest props\n * @param {String} axisType The type of axis\n * @param {React.ComponentType} [AxisComp] Axis Component\n * @param {Array} graphicalItems The instances of item\n * @param {Object} stackGroups The items grouped by axisId and stackId\n * @param {Number} dataStartIndex The start index of the data series when a brush is applied\n * @param {Number} dataEndIndex The end index of the data series when a brush is applied\n * @return {Object} Configuration\n */\nvar getAxisMap = function getAxisMap(props, _ref4) {\n var _ref4$axisType = _ref4.axisType,\n axisType = _ref4$axisType === void 0 ? 'xAxis' : _ref4$axisType,\n AxisComp = _ref4.AxisComp,\n graphicalItems = _ref4.graphicalItems,\n stackGroups = _ref4.stackGroups,\n dataStartIndex = _ref4.dataStartIndex,\n dataEndIndex = _ref4.dataEndIndex;\n var children = props.children;\n var axisIdKey = \"\".concat(axisType, \"Id\");\n // Get all the instance of Axis\n var axes = findAllByType(children, AxisComp);\n var axisMap = {};\n if (axes && axes.length) {\n axisMap = getAxisMapByAxes(props, {\n axes: axes,\n graphicalItems: graphicalItems,\n axisType: axisType,\n axisIdKey: axisIdKey,\n stackGroups: stackGroups,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n });\n } else if (graphicalItems && graphicalItems.length) {\n axisMap = getAxisMapByItems(props, {\n Axis: AxisComp,\n graphicalItems: graphicalItems,\n axisType: axisType,\n axisIdKey: axisIdKey,\n stackGroups: stackGroups,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n });\n }\n return axisMap;\n};\nvar tooltipTicksGenerator = function tooltipTicksGenerator(axisMap) {\n var axis = getAnyElementOfObject(axisMap);\n var tooltipTicks = getTicksOfAxis(axis, false, true);\n return {\n tooltipTicks: tooltipTicks,\n orderedTooltipTicks: sortBy(tooltipTicks, function (o) {\n return o.coordinate;\n }),\n tooltipAxis: axis,\n tooltipAxisBandSize: getBandSizeOfAxis(axis, tooltipTicks)\n };\n};\n\n/**\n * Returns default, reset state for the categorical chart.\n * @param {Object} props Props object to use when creating the default state\n * @return {Object} Whole new state\n */\nexport var createDefaultState = function createDefaultState(props) {\n var children = props.children,\n defaultShowTooltip = props.defaultShowTooltip;\n var brushItem = findChildByType(children, Brush);\n var startIndex = 0;\n var endIndex = 0;\n if (props.data && props.data.length !== 0) {\n endIndex = props.data.length - 1;\n }\n if (brushItem && brushItem.props) {\n if (brushItem.props.startIndex >= 0) {\n startIndex = brushItem.props.startIndex;\n }\n if (brushItem.props.endIndex >= 0) {\n endIndex = brushItem.props.endIndex;\n }\n }\n return {\n chartX: 0,\n chartY: 0,\n dataStartIndex: startIndex,\n dataEndIndex: endIndex,\n activeTooltipIndex: -1,\n isTooltipActive: Boolean(defaultShowTooltip)\n };\n};\nvar hasGraphicalBarItem = function hasGraphicalBarItem(graphicalItems) {\n if (!graphicalItems || !graphicalItems.length) {\n return false;\n }\n return graphicalItems.some(function (item) {\n var name = getDisplayName(item && item.type);\n return name && name.indexOf('Bar') >= 0;\n });\n};\nvar getAxisNameByLayout = function getAxisNameByLayout(layout) {\n if (layout === 'horizontal') {\n return {\n numericAxisName: 'yAxis',\n cateAxisName: 'xAxis'\n };\n }\n if (layout === 'vertical') {\n return {\n numericAxisName: 'xAxis',\n cateAxisName: 'yAxis'\n };\n }\n if (layout === 'centric') {\n return {\n numericAxisName: 'radiusAxis',\n cateAxisName: 'angleAxis'\n };\n }\n return {\n numericAxisName: 'angleAxis',\n cateAxisName: 'radiusAxis'\n };\n};\n\n/**\n * Calculate the offset of main part in the svg element\n * @param {Object} params.props Latest props\n * @param {Array} params.graphicalItems The instances of item\n * @param {Object} params.xAxisMap The configuration of x-axis\n * @param {Object} params.yAxisMap The configuration of y-axis\n * @param {Object} prevLegendBBox The boundary box of legend\n * @return {Object} The offset of main part in the svg element\n */\nvar calculateOffset = function calculateOffset(_ref5, prevLegendBBox) {\n var props = _ref5.props,\n graphicalItems = _ref5.graphicalItems,\n _ref5$xAxisMap = _ref5.xAxisMap,\n xAxisMap = _ref5$xAxisMap === void 0 ? {} : _ref5$xAxisMap,\n _ref5$yAxisMap = _ref5.yAxisMap,\n yAxisMap = _ref5$yAxisMap === void 0 ? {} : _ref5$yAxisMap;\n var width = props.width,\n height = props.height,\n children = props.children;\n var margin = props.margin || {};\n var brushItem = findChildByType(children, Brush);\n var legendItem = findChildByType(children, Legend);\n var offsetH = Object.keys(yAxisMap).reduce(function (result, id) {\n var entry = yAxisMap[id];\n var orientation = entry.orientation;\n if (!entry.mirror && !entry.hide) {\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, orientation, result[orientation] + entry.width));\n }\n return result;\n }, {\n left: margin.left || 0,\n right: margin.right || 0\n });\n var offsetV = Object.keys(xAxisMap).reduce(function (result, id) {\n var entry = xAxisMap[id];\n var orientation = entry.orientation;\n if (!entry.mirror && !entry.hide) {\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, orientation, get(result, \"\".concat(orientation)) + entry.height));\n }\n return result;\n }, {\n top: margin.top || 0,\n bottom: margin.bottom || 0\n });\n var offset = _objectSpread(_objectSpread({}, offsetV), offsetH);\n var brushBottom = offset.bottom;\n if (brushItem) {\n offset.bottom += brushItem.props.height || Brush.defaultProps.height;\n }\n if (legendItem && prevLegendBBox) {\n // @ts-expect-error margin is optional in props but required in appendOffsetOfLegend\n offset = appendOffsetOfLegend(offset, graphicalItems, props, prevLegendBBox);\n }\n var offsetWidth = width - offset.left - offset.right;\n var offsetHeight = height - offset.top - offset.bottom;\n return _objectSpread(_objectSpread({\n brushBottom: brushBottom\n }, offset), {}, {\n // never return negative values for height and width\n width: Math.max(offsetWidth, 0),\n height: Math.max(offsetHeight, 0)\n });\n};\n// Determine the size of the axis, used for calculation of relative bar sizes\nvar getCartesianAxisSize = function getCartesianAxisSize(axisObj, axisName) {\n if (axisName === 'xAxis') {\n return axisObj[axisName].width;\n }\n if (axisName === 'yAxis') {\n return axisObj[axisName].height;\n }\n // This is only supported for Bar charts (i.e. charts with cartesian axes), so we should never get here\n return undefined;\n};\nexport var generateCategoricalChart = function generateCategoricalChart(_ref6) {\n var chartName = _ref6.chartName,\n GraphicalChild = _ref6.GraphicalChild,\n _ref6$defaultTooltipE = _ref6.defaultTooltipEventType,\n defaultTooltipEventType = _ref6$defaultTooltipE === void 0 ? 'axis' : _ref6$defaultTooltipE,\n _ref6$validateTooltip = _ref6.validateTooltipEventTypes,\n validateTooltipEventTypes = _ref6$validateTooltip === void 0 ? ['axis'] : _ref6$validateTooltip,\n axisComponents = _ref6.axisComponents,\n legendContent = _ref6.legendContent,\n formatAxisMap = _ref6.formatAxisMap,\n defaultProps = _ref6.defaultProps;\n var getFormatItems = function getFormatItems(props, currentState) {\n var graphicalItems = currentState.graphicalItems,\n stackGroups = currentState.stackGroups,\n offset = currentState.offset,\n updateId = currentState.updateId,\n dataStartIndex = currentState.dataStartIndex,\n dataEndIndex = currentState.dataEndIndex;\n var barSize = props.barSize,\n layout = props.layout,\n barGap = props.barGap,\n barCategoryGap = props.barCategoryGap,\n globalMaxBarSize = props.maxBarSize;\n var _getAxisNameByLayout = getAxisNameByLayout(layout),\n numericAxisName = _getAxisNameByLayout.numericAxisName,\n cateAxisName = _getAxisNameByLayout.cateAxisName;\n var hasBar = hasGraphicalBarItem(graphicalItems);\n var formattedItems = [];\n graphicalItems.forEach(function (item, index) {\n var displayedData = getDisplayedData(props.data, {\n graphicalItems: [item],\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n });\n var itemProps = item.type.defaultProps !== undefined ? _objectSpread(_objectSpread({}, item.type.defaultProps), item.props) : item.props;\n var dataKey = itemProps.dataKey,\n childMaxBarSize = itemProps.maxBarSize;\n // axisId of the numerical axis\n var numericAxisId = itemProps[\"\".concat(numericAxisName, \"Id\")];\n // axisId of the categorical axis\n var cateAxisId = itemProps[\"\".concat(cateAxisName, \"Id\")];\n var axisObjInitialValue = {};\n var axisObj = axisComponents.reduce(function (result, entry) {\n var _item$type$displayNam, _item$type;\n // map of axisId to axis for a specific axis type\n var axisMap = currentState[\"\".concat(entry.axisType, \"Map\")];\n // axisId of axis we are currently computing\n var id = itemProps[\"\".concat(entry.axisType, \"Id\")];\n\n /**\n * tell the user in dev mode that their configuration is incorrect if we cannot find a match between\n * axisId on the chart and axisId on the axis. zAxis does not get passed in the map for ComposedChart,\n * leave it out of the check for now.\n */\n !(axisMap && axisMap[id] || entry.axisType === 'zAxis') ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Specifying a(n) \".concat(entry.axisType, \"Id requires a corresponding \").concat(entry.axisType\n // @ts-expect-error we should stop reading data from ReactElements\n , \"Id on the targeted graphical component \").concat((_item$type$displayNam = item === null || item === void 0 || (_item$type = item.type) === null || _item$type === void 0 ? void 0 : _item$type.displayName) !== null && _item$type$displayNam !== void 0 ? _item$type$displayNam : '')) : invariant(false) : void 0;\n\n // the axis we are currently formatting\n var axis = axisMap[id];\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty(_defineProperty({}, entry.axisType, axis), \"\".concat(entry.axisType, \"Ticks\"), getTicksOfAxis(axis)));\n }, axisObjInitialValue);\n var cateAxis = axisObj[cateAxisName];\n var cateTicks = axisObj[\"\".concat(cateAxisName, \"Ticks\")];\n var stackedData = stackGroups && stackGroups[numericAxisId] && stackGroups[numericAxisId].hasStack && getStackedDataOfItem(item, stackGroups[numericAxisId].stackGroups);\n var itemIsBar = getDisplayName(item.type).indexOf('Bar') >= 0;\n var bandSize = getBandSizeOfAxis(cateAxis, cateTicks);\n var barPosition = [];\n var sizeList = hasBar && getBarSizeList({\n barSize: barSize,\n stackGroups: stackGroups,\n totalSize: getCartesianAxisSize(axisObj, cateAxisName)\n });\n if (itemIsBar) {\n var _ref7, _getBandSizeOfAxis;\n // If it is bar, calculate the position of bar\n var maxBarSize = isNil(childMaxBarSize) ? globalMaxBarSize : childMaxBarSize;\n var barBandSize = (_ref7 = (_getBandSizeOfAxis = getBandSizeOfAxis(cateAxis, cateTicks, true)) !== null && _getBandSizeOfAxis !== void 0 ? _getBandSizeOfAxis : maxBarSize) !== null && _ref7 !== void 0 ? _ref7 : 0;\n barPosition = getBarPosition({\n barGap: barGap,\n barCategoryGap: barCategoryGap,\n bandSize: barBandSize !== bandSize ? barBandSize : bandSize,\n sizeList: sizeList[cateAxisId],\n maxBarSize: maxBarSize\n });\n if (barBandSize !== bandSize) {\n barPosition = barPosition.map(function (pos) {\n return _objectSpread(_objectSpread({}, pos), {}, {\n position: _objectSpread(_objectSpread({}, pos.position), {}, {\n offset: pos.position.offset - barBandSize / 2\n })\n });\n });\n }\n }\n // @ts-expect-error we should stop reading data from ReactElements\n var composedFn = item && item.type && item.type.getComposedData;\n if (composedFn) {\n formattedItems.push({\n props: _objectSpread(_objectSpread({}, composedFn(_objectSpread(_objectSpread({}, axisObj), {}, {\n displayedData: displayedData,\n props: props,\n dataKey: dataKey,\n item: item,\n bandSize: bandSize,\n barPosition: barPosition,\n offset: offset,\n stackedData: stackedData,\n layout: layout,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n }))), {}, _defineProperty(_defineProperty(_defineProperty({\n key: item.key || \"item-\".concat(index)\n }, numericAxisName, axisObj[numericAxisName]), cateAxisName, axisObj[cateAxisName]), \"animationId\", updateId)),\n childIndex: parseChildIndex(item, props.children),\n item: item\n });\n }\n });\n return formattedItems;\n };\n\n /**\n * The AxisMaps are expensive to render on large data sets\n * so provide the ability to store them in state and only update them when necessary\n * they are dependent upon the start and end index of\n * the brush so it's important that this method is called _after_\n * the state is updated with any new start/end indices\n *\n * @param {Object} props The props object to be used for updating the axismaps\n * dataStartIndex: The start index of the data series when a brush is applied\n * dataEndIndex: The end index of the data series when a brush is applied\n * updateId: The update id\n * @param {Object} prevState Prev state\n * @return {Object} state New state to set\n */\n var updateStateOfAxisMapsOffsetAndStackGroups = function updateStateOfAxisMapsOffsetAndStackGroups(_ref8, prevState) {\n var props = _ref8.props,\n dataStartIndex = _ref8.dataStartIndex,\n dataEndIndex = _ref8.dataEndIndex,\n updateId = _ref8.updateId;\n if (!validateWidthHeight({\n props: props\n })) {\n return null;\n }\n var children = props.children,\n layout = props.layout,\n stackOffset = props.stackOffset,\n data = props.data,\n reverseStackOrder = props.reverseStackOrder;\n var _getAxisNameByLayout2 = getAxisNameByLayout(layout),\n numericAxisName = _getAxisNameByLayout2.numericAxisName,\n cateAxisName = _getAxisNameByLayout2.cateAxisName;\n var graphicalItems = findAllByType(children, GraphicalChild);\n var stackGroups = getStackGroupsByAxisId(data, graphicalItems, \"\".concat(numericAxisName, \"Id\"), \"\".concat(cateAxisName, \"Id\"), stackOffset, reverseStackOrder);\n var axisObj = axisComponents.reduce(function (result, entry) {\n var name = \"\".concat(entry.axisType, \"Map\");\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, name, getAxisMap(props, _objectSpread(_objectSpread({}, entry), {}, {\n graphicalItems: graphicalItems,\n stackGroups: entry.axisType === numericAxisName && stackGroups,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n }))));\n }, {});\n var offset = calculateOffset(_objectSpread(_objectSpread({}, axisObj), {}, {\n props: props,\n graphicalItems: graphicalItems\n }), prevState === null || prevState === void 0 ? void 0 : prevState.legendBBox);\n Object.keys(axisObj).forEach(function (key) {\n axisObj[key] = formatAxisMap(props, axisObj[key], offset, key.replace('Map', ''), chartName);\n });\n var cateAxisMap = axisObj[\"\".concat(cateAxisName, \"Map\")];\n var ticksObj = tooltipTicksGenerator(cateAxisMap);\n var formattedGraphicalItems = getFormatItems(props, _objectSpread(_objectSpread({}, axisObj), {}, {\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex,\n updateId: updateId,\n graphicalItems: graphicalItems,\n stackGroups: stackGroups,\n offset: offset\n }));\n return _objectSpread(_objectSpread({\n formattedGraphicalItems: formattedGraphicalItems,\n graphicalItems: graphicalItems,\n offset: offset,\n stackGroups: stackGroups\n }, ticksObj), axisObj);\n };\n var CategoricalChartWrapper = /*#__PURE__*/function (_Component) {\n function CategoricalChartWrapper(_props) {\n var _props$id, _props$throttleDelay;\n var _this;\n _classCallCheck(this, CategoricalChartWrapper);\n _this = _callSuper(this, CategoricalChartWrapper, [_props]);\n _defineProperty(_this, \"eventEmitterSymbol\", Symbol('rechartsEventEmitter'));\n _defineProperty(_this, \"accessibilityManager\", new AccessibilityManager());\n _defineProperty(_this, \"handleLegendBBoxUpdate\", function (box) {\n if (box) {\n var _this$state = _this.state,\n dataStartIndex = _this$state.dataStartIndex,\n dataEndIndex = _this$state.dataEndIndex,\n updateId = _this$state.updateId;\n _this.setState(_objectSpread({\n legendBBox: box\n }, updateStateOfAxisMapsOffsetAndStackGroups({\n props: _this.props,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex,\n updateId: updateId\n }, _objectSpread(_objectSpread({}, _this.state), {}, {\n legendBBox: box\n }))));\n }\n });\n _defineProperty(_this, \"handleReceiveSyncEvent\", function (cId, data, emitter) {\n if (_this.props.syncId === cId) {\n if (emitter === _this.eventEmitterSymbol && typeof _this.props.syncMethod !== 'function') {\n return;\n }\n _this.applySyncEvent(data);\n }\n });\n _defineProperty(_this, \"handleBrushChange\", function (_ref9) {\n var startIndex = _ref9.startIndex,\n endIndex = _ref9.endIndex;\n // Only trigger changes if the extents of the brush have actually changed\n if (startIndex !== _this.state.dataStartIndex || endIndex !== _this.state.dataEndIndex) {\n var updateId = _this.state.updateId;\n _this.setState(function () {\n return _objectSpread({\n dataStartIndex: startIndex,\n dataEndIndex: endIndex\n }, updateStateOfAxisMapsOffsetAndStackGroups({\n props: _this.props,\n dataStartIndex: startIndex,\n dataEndIndex: endIndex,\n updateId: updateId\n }, _this.state));\n });\n _this.triggerSyncEvent({\n dataStartIndex: startIndex,\n dataEndIndex: endIndex\n });\n }\n });\n /**\n * The handler of mouse entering chart\n * @param {Object} e Event object\n * @return {Null} null\n */\n _defineProperty(_this, \"handleMouseEnter\", function (e) {\n var mouse = _this.getMouseInfo(e);\n if (mouse) {\n var _nextState = _objectSpread(_objectSpread({}, mouse), {}, {\n isTooltipActive: true\n });\n _this.setState(_nextState);\n _this.triggerSyncEvent(_nextState);\n var onMouseEnter = _this.props.onMouseEnter;\n if (isFunction(onMouseEnter)) {\n onMouseEnter(_nextState, e);\n }\n }\n });\n _defineProperty(_this, \"triggeredAfterMouseMove\", function (e) {\n var mouse = _this.getMouseInfo(e);\n var nextState = mouse ? _objectSpread(_objectSpread({}, mouse), {}, {\n isTooltipActive: true\n }) : {\n isTooltipActive: false\n };\n _this.setState(nextState);\n _this.triggerSyncEvent(nextState);\n var onMouseMove = _this.props.onMouseMove;\n if (isFunction(onMouseMove)) {\n onMouseMove(nextState, e);\n }\n });\n /**\n * The handler of mouse entering a scatter\n * @param {Object} el The active scatter\n * @return {Object} no return\n */\n _defineProperty(_this, \"handleItemMouseEnter\", function (el) {\n _this.setState(function () {\n return {\n isTooltipActive: true,\n activeItem: el,\n activePayload: el.tooltipPayload,\n activeCoordinate: el.tooltipPosition || {\n x: el.cx,\n y: el.cy\n }\n };\n });\n });\n /**\n * The handler of mouse leaving a scatter\n * @return {Object} no return\n */\n _defineProperty(_this, \"handleItemMouseLeave\", function () {\n _this.setState(function () {\n return {\n isTooltipActive: false\n };\n });\n });\n /**\n * The handler of mouse moving in chart\n * @param {React.MouseEvent} e Event object\n * @return {void} no return\n */\n _defineProperty(_this, \"handleMouseMove\", function (e) {\n e.persist();\n _this.throttleTriggeredAfterMouseMove(e);\n });\n /**\n * The handler if mouse leaving chart\n * @param {Object} e Event object\n * @return {Null} no return\n */\n _defineProperty(_this, \"handleMouseLeave\", function (e) {\n _this.throttleTriggeredAfterMouseMove.cancel();\n var nextState = {\n isTooltipActive: false\n };\n _this.setState(nextState);\n _this.triggerSyncEvent(nextState);\n var onMouseLeave = _this.props.onMouseLeave;\n if (isFunction(onMouseLeave)) {\n onMouseLeave(nextState, e);\n }\n });\n _defineProperty(_this, \"handleOuterEvent\", function (e) {\n var eventName = getReactEventByType(e);\n var event = get(_this.props, \"\".concat(eventName));\n if (eventName && isFunction(event)) {\n var _mouse;\n var mouse;\n if (/.*touch.*/i.test(eventName)) {\n mouse = _this.getMouseInfo(e.changedTouches[0]);\n } else {\n mouse = _this.getMouseInfo(e);\n }\n event((_mouse = mouse) !== null && _mouse !== void 0 ? _mouse : {}, e);\n }\n });\n _defineProperty(_this, \"handleClick\", function (e) {\n var mouse = _this.getMouseInfo(e);\n if (mouse) {\n var _nextState2 = _objectSpread(_objectSpread({}, mouse), {}, {\n isTooltipActive: true\n });\n _this.setState(_nextState2);\n _this.triggerSyncEvent(_nextState2);\n var onClick = _this.props.onClick;\n if (isFunction(onClick)) {\n onClick(_nextState2, e);\n }\n }\n });\n _defineProperty(_this, \"handleMouseDown\", function (e) {\n var onMouseDown = _this.props.onMouseDown;\n if (isFunction(onMouseDown)) {\n var _nextState3 = _this.getMouseInfo(e);\n onMouseDown(_nextState3, e);\n }\n });\n _defineProperty(_this, \"handleMouseUp\", function (e) {\n var onMouseUp = _this.props.onMouseUp;\n if (isFunction(onMouseUp)) {\n var _nextState4 = _this.getMouseInfo(e);\n onMouseUp(_nextState4, e);\n }\n });\n _defineProperty(_this, \"handleTouchMove\", function (e) {\n if (e.changedTouches != null && e.changedTouches.length > 0) {\n _this.throttleTriggeredAfterMouseMove(e.changedTouches[0]);\n }\n });\n _defineProperty(_this, \"handleTouchStart\", function (e) {\n if (e.changedTouches != null && e.changedTouches.length > 0) {\n _this.handleMouseDown(e.changedTouches[0]);\n }\n });\n _defineProperty(_this, \"handleTouchEnd\", function (e) {\n if (e.changedTouches != null && e.changedTouches.length > 0) {\n _this.handleMouseUp(e.changedTouches[0]);\n }\n });\n _defineProperty(_this, \"handleDoubleClick\", function (e) {\n var onDoubleClick = _this.props.onDoubleClick;\n if (isFunction(onDoubleClick)) {\n var _nextState5 = _this.getMouseInfo(e);\n onDoubleClick(_nextState5, e);\n }\n });\n _defineProperty(_this, \"handleContextMenu\", function (e) {\n var onContextMenu = _this.props.onContextMenu;\n if (isFunction(onContextMenu)) {\n var _nextState6 = _this.getMouseInfo(e);\n onContextMenu(_nextState6, e);\n }\n });\n _defineProperty(_this, \"triggerSyncEvent\", function (data) {\n if (_this.props.syncId !== undefined) {\n eventCenter.emit(SYNC_EVENT, _this.props.syncId, data, _this.eventEmitterSymbol);\n }\n });\n _defineProperty(_this, \"applySyncEvent\", function (data) {\n var _this$props = _this.props,\n layout = _this$props.layout,\n syncMethod = _this$props.syncMethod;\n var updateId = _this.state.updateId;\n var dataStartIndex = data.dataStartIndex,\n dataEndIndex = data.dataEndIndex;\n if (data.dataStartIndex !== undefined || data.dataEndIndex !== undefined) {\n _this.setState(_objectSpread({\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n }, updateStateOfAxisMapsOffsetAndStackGroups({\n props: _this.props,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex,\n updateId: updateId\n }, _this.state)));\n } else if (data.activeTooltipIndex !== undefined) {\n var chartX = data.chartX,\n chartY = data.chartY;\n var activeTooltipIndex = data.activeTooltipIndex;\n var _this$state2 = _this.state,\n offset = _this$state2.offset,\n tooltipTicks = _this$state2.tooltipTicks;\n if (!offset) {\n return;\n }\n if (typeof syncMethod === 'function') {\n // Call a callback function. If there is an application specific algorithm\n activeTooltipIndex = syncMethod(tooltipTicks, data);\n } else if (syncMethod === 'value') {\n // Set activeTooltipIndex to the index with the same value as data.activeLabel\n // For loop instead of findIndex because the latter is very slow in some browsers\n activeTooltipIndex = -1; // in case we cannot find the element\n for (var i = 0; i < tooltipTicks.length; i++) {\n if (tooltipTicks[i].value === data.activeLabel) {\n activeTooltipIndex = i;\n break;\n }\n }\n }\n var viewBox = _objectSpread(_objectSpread({}, offset), {}, {\n x: offset.left,\n y: offset.top\n });\n // When a categorical chart is combined with another chart, the value of chartX\n // and chartY may beyond the boundaries.\n var validateChartX = Math.min(chartX, viewBox.x + viewBox.width);\n var validateChartY = Math.min(chartY, viewBox.y + viewBox.height);\n var activeLabel = tooltipTicks[activeTooltipIndex] && tooltipTicks[activeTooltipIndex].value;\n var activePayload = getTooltipContent(_this.state, _this.props.data, activeTooltipIndex);\n var activeCoordinate = tooltipTicks[activeTooltipIndex] ? {\n x: layout === 'horizontal' ? tooltipTicks[activeTooltipIndex].coordinate : validateChartX,\n y: layout === 'horizontal' ? validateChartY : tooltipTicks[activeTooltipIndex].coordinate\n } : originCoordinate;\n _this.setState(_objectSpread(_objectSpread({}, data), {}, {\n activeLabel: activeLabel,\n activeCoordinate: activeCoordinate,\n activePayload: activePayload,\n activeTooltipIndex: activeTooltipIndex\n }));\n } else {\n _this.setState(data);\n }\n });\n _defineProperty(_this, \"renderCursor\", function (element) {\n var _element$props$active;\n var _this$state3 = _this.state,\n isTooltipActive = _this$state3.isTooltipActive,\n activeCoordinate = _this$state3.activeCoordinate,\n activePayload = _this$state3.activePayload,\n offset = _this$state3.offset,\n activeTooltipIndex = _this$state3.activeTooltipIndex,\n tooltipAxisBandSize = _this$state3.tooltipAxisBandSize;\n var tooltipEventType = _this.getTooltipEventType();\n // The cursor is a part of the Tooltip, and it should be shown (by default) when the Tooltip is active.\n var isActive = (_element$props$active = element.props.active) !== null && _element$props$active !== void 0 ? _element$props$active : isTooltipActive;\n var layout = _this.props.layout;\n var key = element.key || '_recharts-cursor';\n return /*#__PURE__*/React.createElement(Cursor, {\n key: key,\n activeCoordinate: activeCoordinate,\n activePayload: activePayload,\n activeTooltipIndex: activeTooltipIndex,\n chartName: chartName,\n element: element,\n isActive: isActive,\n layout: layout,\n offset: offset,\n tooltipAxisBandSize: tooltipAxisBandSize,\n tooltipEventType: tooltipEventType\n });\n });\n _defineProperty(_this, \"renderPolarAxis\", function (element, displayName, index) {\n var axisType = get(element, 'type.axisType');\n var axisMap = get(_this.state, \"\".concat(axisType, \"Map\"));\n var elementDefaultProps = element.type.defaultProps;\n var elementProps = elementDefaultProps !== undefined ? _objectSpread(_objectSpread({}, elementDefaultProps), element.props) : element.props;\n var axisOption = axisMap && axisMap[elementProps[\"\".concat(axisType, \"Id\")]];\n return /*#__PURE__*/cloneElement(element, _objectSpread(_objectSpread({}, axisOption), {}, {\n className: clsx(axisType, axisOption.className),\n key: element.key || \"\".concat(displayName, \"-\").concat(index),\n ticks: getTicksOfAxis(axisOption, true)\n }));\n });\n _defineProperty(_this, \"renderPolarGrid\", function (element) {\n var _element$props = element.props,\n radialLines = _element$props.radialLines,\n polarAngles = _element$props.polarAngles,\n polarRadius = _element$props.polarRadius;\n var _this$state4 = _this.state,\n radiusAxisMap = _this$state4.radiusAxisMap,\n angleAxisMap = _this$state4.angleAxisMap;\n var radiusAxis = getAnyElementOfObject(radiusAxisMap);\n var angleAxis = getAnyElementOfObject(angleAxisMap);\n var cx = angleAxis.cx,\n cy = angleAxis.cy,\n innerRadius = angleAxis.innerRadius,\n outerRadius = angleAxis.outerRadius;\n return /*#__PURE__*/cloneElement(element, {\n polarAngles: Array.isArray(polarAngles) ? polarAngles : getTicksOfAxis(angleAxis, true).map(function (entry) {\n return entry.coordinate;\n }),\n polarRadius: Array.isArray(polarRadius) ? polarRadius : getTicksOfAxis(radiusAxis, true).map(function (entry) {\n return entry.coordinate;\n }),\n cx: cx,\n cy: cy,\n innerRadius: innerRadius,\n outerRadius: outerRadius,\n key: element.key || 'polar-grid',\n radialLines: radialLines\n });\n });\n /**\n * Draw legend\n * @return {ReactElement} The instance of Legend\n */\n _defineProperty(_this, \"renderLegend\", function () {\n var formattedGraphicalItems = _this.state.formattedGraphicalItems;\n var _this$props2 = _this.props,\n children = _this$props2.children,\n width = _this$props2.width,\n height = _this$props2.height;\n var margin = _this.props.margin || {};\n var legendWidth = width - (margin.left || 0) - (margin.right || 0);\n var props = getLegendProps({\n children: children,\n formattedGraphicalItems: formattedGraphicalItems,\n legendWidth: legendWidth,\n legendContent: legendContent\n });\n if (!props) {\n return null;\n }\n var item = props.item,\n otherProps = _objectWithoutProperties(props, _excluded);\n return /*#__PURE__*/cloneElement(item, _objectSpread(_objectSpread({}, otherProps), {}, {\n chartWidth: width,\n chartHeight: height,\n margin: margin,\n onBBoxUpdate: _this.handleLegendBBoxUpdate\n }));\n });\n /**\n * Draw Tooltip\n * @return {ReactElement} The instance of Tooltip\n */\n _defineProperty(_this, \"renderTooltip\", function () {\n var _tooltipItem$props$ac;\n var _this$props3 = _this.props,\n children = _this$props3.children,\n accessibilityLayer = _this$props3.accessibilityLayer;\n var tooltipItem = findChildByType(children, Tooltip);\n if (!tooltipItem) {\n return null;\n }\n var _this$state5 = _this.state,\n isTooltipActive = _this$state5.isTooltipActive,\n activeCoordinate = _this$state5.activeCoordinate,\n activePayload = _this$state5.activePayload,\n activeLabel = _this$state5.activeLabel,\n offset = _this$state5.offset;\n\n // The user can set isActive on the Tooltip,\n // and we respect the user to enable customisation.\n // The Tooltip is active if the user has set isActive, or if the tooltip is active due to a mouse event.\n var isActive = (_tooltipItem$props$ac = tooltipItem.props.active) !== null && _tooltipItem$props$ac !== void 0 ? _tooltipItem$props$ac : isTooltipActive;\n return /*#__PURE__*/cloneElement(tooltipItem, {\n viewBox: _objectSpread(_objectSpread({}, offset), {}, {\n x: offset.left,\n y: offset.top\n }),\n active: isActive,\n label: activeLabel,\n payload: isActive ? activePayload : [],\n coordinate: activeCoordinate,\n accessibilityLayer: accessibilityLayer\n });\n });\n _defineProperty(_this, \"renderBrush\", function (element) {\n var _this$props4 = _this.props,\n margin = _this$props4.margin,\n data = _this$props4.data;\n var _this$state6 = _this.state,\n offset = _this$state6.offset,\n dataStartIndex = _this$state6.dataStartIndex,\n dataEndIndex = _this$state6.dataEndIndex,\n updateId = _this$state6.updateId;\n\n // TODO: update brush when children update\n return /*#__PURE__*/cloneElement(element, {\n key: element.key || '_recharts-brush',\n onChange: combineEventHandlers(_this.handleBrushChange, element.props.onChange),\n data: data,\n x: isNumber(element.props.x) ? element.props.x : offset.left,\n y: isNumber(element.props.y) ? element.props.y : offset.top + offset.height + offset.brushBottom - (margin.bottom || 0),\n width: isNumber(element.props.width) ? element.props.width : offset.width,\n startIndex: dataStartIndex,\n endIndex: dataEndIndex,\n updateId: \"brush-\".concat(updateId)\n });\n });\n _defineProperty(_this, \"renderReferenceElement\", function (element, displayName, index) {\n if (!element) {\n return null;\n }\n var _this2 = _this,\n clipPathId = _this2.clipPathId;\n var _this$state7 = _this.state,\n xAxisMap = _this$state7.xAxisMap,\n yAxisMap = _this$state7.yAxisMap,\n offset = _this$state7.offset;\n var elementDefaultProps = element.type.defaultProps || {};\n var _element$props2 = element.props,\n _element$props2$xAxis = _element$props2.xAxisId,\n xAxisId = _element$props2$xAxis === void 0 ? elementDefaultProps.xAxisId : _element$props2$xAxis,\n _element$props2$yAxis = _element$props2.yAxisId,\n yAxisId = _element$props2$yAxis === void 0 ? elementDefaultProps.yAxisId : _element$props2$yAxis;\n return /*#__PURE__*/cloneElement(element, {\n key: element.key || \"\".concat(displayName, \"-\").concat(index),\n xAxis: xAxisMap[xAxisId],\n yAxis: yAxisMap[yAxisId],\n viewBox: {\n x: offset.left,\n y: offset.top,\n width: offset.width,\n height: offset.height\n },\n clipPathId: clipPathId\n });\n });\n _defineProperty(_this, \"renderActivePoints\", function (_ref10) {\n var item = _ref10.item,\n activePoint = _ref10.activePoint,\n basePoint = _ref10.basePoint,\n childIndex = _ref10.childIndex,\n isRange = _ref10.isRange;\n var result = [];\n // item is not a React Element so we don't need to resolve defaultProps.\n var key = item.props.key;\n var itemItemProps = item.item.type.defaultProps !== undefined ? _objectSpread(_objectSpread({}, item.item.type.defaultProps), item.item.props) : item.item.props;\n var activeDot = itemItemProps.activeDot,\n dataKey = itemItemProps.dataKey;\n var dotProps = _objectSpread(_objectSpread({\n index: childIndex,\n dataKey: dataKey,\n cx: activePoint.x,\n cy: activePoint.y,\n r: 4,\n fill: getMainColorOfGraphicItem(item.item),\n strokeWidth: 2,\n stroke: '#fff',\n payload: activePoint.payload,\n value: activePoint.value\n }, filterProps(activeDot, false)), adaptEventHandlers(activeDot));\n result.push(CategoricalChartWrapper.renderActiveDot(activeDot, dotProps, \"\".concat(key, \"-activePoint-\").concat(childIndex)));\n if (basePoint) {\n result.push(CategoricalChartWrapper.renderActiveDot(activeDot, _objectSpread(_objectSpread({}, dotProps), {}, {\n cx: basePoint.x,\n cy: basePoint.y\n }), \"\".concat(key, \"-basePoint-\").concat(childIndex)));\n } else if (isRange) {\n result.push(null);\n }\n return result;\n });\n _defineProperty(_this, \"renderGraphicChild\", function (element, displayName, index) {\n var item = _this.filterFormatItem(element, displayName, index);\n if (!item) {\n return null;\n }\n var tooltipEventType = _this.getTooltipEventType();\n var _this$state8 = _this.state,\n isTooltipActive = _this$state8.isTooltipActive,\n tooltipAxis = _this$state8.tooltipAxis,\n activeTooltipIndex = _this$state8.activeTooltipIndex,\n activeLabel = _this$state8.activeLabel;\n var children = _this.props.children;\n var tooltipItem = findChildByType(children, Tooltip);\n // item is not a React Element so we don't need to resolve defaultProps\n var _item$props = item.props,\n points = _item$props.points,\n isRange = _item$props.isRange,\n baseLine = _item$props.baseLine;\n var itemItemProps = item.item.type.defaultProps !== undefined ? _objectSpread(_objectSpread({}, item.item.type.defaultProps), item.item.props) : item.item.props;\n var activeDot = itemItemProps.activeDot,\n hide = itemItemProps.hide,\n activeBar = itemItemProps.activeBar,\n activeShape = itemItemProps.activeShape;\n var hasActive = Boolean(!hide && isTooltipActive && tooltipItem && (activeDot || activeBar || activeShape));\n var itemEvents = {};\n if (tooltipEventType !== 'axis' && tooltipItem && tooltipItem.props.trigger === 'click') {\n itemEvents = {\n onClick: combineEventHandlers(_this.handleItemMouseEnter, element.props.onClick)\n };\n } else if (tooltipEventType !== 'axis') {\n itemEvents = {\n onMouseLeave: combineEventHandlers(_this.handleItemMouseLeave, element.props.onMouseLeave),\n onMouseEnter: combineEventHandlers(_this.handleItemMouseEnter, element.props.onMouseEnter)\n };\n }\n var graphicalItem = /*#__PURE__*/cloneElement(element, _objectSpread(_objectSpread({}, item.props), itemEvents));\n function findWithPayload(entry) {\n // TODO needs to verify dataKey is Function\n return typeof tooltipAxis.dataKey === 'function' ? tooltipAxis.dataKey(entry.payload) : null;\n }\n if (hasActive) {\n if (activeTooltipIndex >= 0) {\n var activePoint, basePoint;\n if (tooltipAxis.dataKey && !tooltipAxis.allowDuplicatedCategory) {\n // number transform to string\n var specifiedKey = typeof tooltipAxis.dataKey === 'function' ? findWithPayload : 'payload.'.concat(tooltipAxis.dataKey.toString());\n activePoint = findEntryInArray(points, specifiedKey, activeLabel);\n basePoint = isRange && baseLine && findEntryInArray(baseLine, specifiedKey, activeLabel);\n } else {\n activePoint = points === null || points === void 0 ? void 0 : points[activeTooltipIndex];\n basePoint = isRange && baseLine && baseLine[activeTooltipIndex];\n }\n if (activeShape || activeBar) {\n var activeIndex = element.props.activeIndex !== undefined ? element.props.activeIndex : activeTooltipIndex;\n return [/*#__PURE__*/cloneElement(element, _objectSpread(_objectSpread(_objectSpread({}, item.props), itemEvents), {}, {\n activeIndex: activeIndex\n })), null, null];\n }\n if (!isNil(activePoint)) {\n return [graphicalItem].concat(_toConsumableArray(_this.renderActivePoints({\n item: item,\n activePoint: activePoint,\n basePoint: basePoint,\n childIndex: activeTooltipIndex,\n isRange: isRange\n })));\n }\n } else {\n var _this$getItemByXY;\n /**\n * We hit this block if consumer uses a Tooltip without XAxis and/or YAxis.\n * In which case, this.state.activeTooltipIndex never gets set\n * because the mouse events that trigger that value getting set never get trigged without the axis components.\n *\n * An example usage case is a FunnelChart\n */\n var _ref11 = (_this$getItemByXY = _this.getItemByXY(_this.state.activeCoordinate)) !== null && _this$getItemByXY !== void 0 ? _this$getItemByXY : {\n graphicalItem: graphicalItem\n },\n _ref11$graphicalItem = _ref11.graphicalItem,\n _ref11$graphicalItem$ = _ref11$graphicalItem.item,\n xyItem = _ref11$graphicalItem$ === void 0 ? element : _ref11$graphicalItem$,\n childIndex = _ref11$graphicalItem.childIndex;\n var elementProps = _objectSpread(_objectSpread(_objectSpread({}, item.props), itemEvents), {}, {\n activeIndex: childIndex\n });\n return [/*#__PURE__*/cloneElement(xyItem, elementProps), null, null];\n }\n }\n if (isRange) {\n return [graphicalItem, null, null];\n }\n return [graphicalItem, null];\n });\n _defineProperty(_this, \"renderCustomized\", function (element, displayName, index) {\n return /*#__PURE__*/cloneElement(element, _objectSpread(_objectSpread({\n key: \"recharts-customized-\".concat(index)\n }, _this.props), _this.state));\n });\n _defineProperty(_this, \"renderMap\", {\n CartesianGrid: {\n handler: renderAsIs,\n once: true\n },\n ReferenceArea: {\n handler: _this.renderReferenceElement\n },\n ReferenceLine: {\n handler: renderAsIs\n },\n ReferenceDot: {\n handler: _this.renderReferenceElement\n },\n XAxis: {\n handler: renderAsIs\n },\n YAxis: {\n handler: renderAsIs\n },\n Brush: {\n handler: _this.renderBrush,\n once: true\n },\n Bar: {\n handler: _this.renderGraphicChild\n },\n Line: {\n handler: _this.renderGraphicChild\n },\n Area: {\n handler: _this.renderGraphicChild\n },\n Radar: {\n handler: _this.renderGraphicChild\n },\n RadialBar: {\n handler: _this.renderGraphicChild\n },\n Scatter: {\n handler: _this.renderGraphicChild\n },\n Pie: {\n handler: _this.renderGraphicChild\n },\n Funnel: {\n handler: _this.renderGraphicChild\n },\n Tooltip: {\n handler: _this.renderCursor,\n once: true\n },\n PolarGrid: {\n handler: _this.renderPolarGrid,\n once: true\n },\n PolarAngleAxis: {\n handler: _this.renderPolarAxis\n },\n PolarRadiusAxis: {\n handler: _this.renderPolarAxis\n },\n Customized: {\n handler: _this.renderCustomized\n }\n });\n _this.clipPathId = \"\".concat((_props$id = _props.id) !== null && _props$id !== void 0 ? _props$id : uniqueId('recharts'), \"-clip\");\n\n // trigger 60fps\n _this.throttleTriggeredAfterMouseMove = throttle(_this.triggeredAfterMouseMove, (_props$throttleDelay = _props.throttleDelay) !== null && _props$throttleDelay !== void 0 ? _props$throttleDelay : 1000 / 60);\n _this.state = {};\n return _this;\n }\n _inherits(CategoricalChartWrapper, _Component);\n return _createClass(CategoricalChartWrapper, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this$props$margin$le, _this$props$margin$to;\n this.addListener();\n this.accessibilityManager.setDetails({\n container: this.container,\n offset: {\n left: (_this$props$margin$le = this.props.margin.left) !== null && _this$props$margin$le !== void 0 ? _this$props$margin$le : 0,\n top: (_this$props$margin$to = this.props.margin.top) !== null && _this$props$margin$to !== void 0 ? _this$props$margin$to : 0\n },\n coordinateList: this.state.tooltipTicks,\n mouseHandlerCallback: this.triggeredAfterMouseMove,\n layout: this.props.layout\n });\n this.displayDefaultTooltip();\n }\n }, {\n key: \"displayDefaultTooltip\",\n value: function displayDefaultTooltip() {\n var _this$props5 = this.props,\n children = _this$props5.children,\n data = _this$props5.data,\n height = _this$props5.height,\n layout = _this$props5.layout;\n var tooltipElem = findChildByType(children, Tooltip);\n // If the chart doesn't include a element, there's no tooltip to display\n if (!tooltipElem) {\n return;\n }\n var defaultIndex = tooltipElem.props.defaultIndex;\n\n // Protect against runtime errors\n if (typeof defaultIndex !== 'number' || defaultIndex < 0 || defaultIndex > this.state.tooltipTicks.length - 1) {\n return;\n }\n var activeLabel = this.state.tooltipTicks[defaultIndex] && this.state.tooltipTicks[defaultIndex].value;\n var activePayload = getTooltipContent(this.state, data, defaultIndex, activeLabel);\n var independentAxisCoord = this.state.tooltipTicks[defaultIndex].coordinate;\n var dependentAxisCoord = (this.state.offset.top + height) / 2;\n var isHorizontal = layout === 'horizontal';\n var activeCoordinate = isHorizontal ? {\n x: independentAxisCoord,\n y: dependentAxisCoord\n } : {\n y: independentAxisCoord,\n x: dependentAxisCoord\n };\n\n // Unlike other chart types, scatter plot's tooltip positions rely on both X and Y coordinates. Only the scatter plot\n // element knows its own Y coordinates.\n // If there's a scatter plot, we'll want to grab that element for an interrogation.\n var scatterPlotElement = this.state.formattedGraphicalItems.find(function (_ref12) {\n var item = _ref12.item;\n return item.type.name === 'Scatter';\n });\n if (scatterPlotElement) {\n activeCoordinate = _objectSpread(_objectSpread({}, activeCoordinate), scatterPlotElement.props.points[defaultIndex].tooltipPosition);\n activePayload = scatterPlotElement.props.points[defaultIndex].tooltipPayload;\n }\n var nextState = {\n activeTooltipIndex: defaultIndex,\n isTooltipActive: true,\n activeLabel: activeLabel,\n activePayload: activePayload,\n activeCoordinate: activeCoordinate\n };\n this.setState(nextState);\n this.renderCursor(tooltipElem);\n\n // Make sure that anyone who keyboard-only users who tab to the chart will start their\n // cursors at defaultIndex\n this.accessibilityManager.setIndex(defaultIndex);\n }\n }, {\n key: \"getSnapshotBeforeUpdate\",\n value: function getSnapshotBeforeUpdate(prevProps, prevState) {\n if (!this.props.accessibilityLayer) {\n return null;\n }\n if (this.state.tooltipTicks !== prevState.tooltipTicks) {\n this.accessibilityManager.setDetails({\n coordinateList: this.state.tooltipTicks\n });\n }\n if (this.props.layout !== prevProps.layout) {\n this.accessibilityManager.setDetails({\n layout: this.props.layout\n });\n }\n if (this.props.margin !== prevProps.margin) {\n var _this$props$margin$le2, _this$props$margin$to2;\n this.accessibilityManager.setDetails({\n offset: {\n left: (_this$props$margin$le2 = this.props.margin.left) !== null && _this$props$margin$le2 !== void 0 ? _this$props$margin$le2 : 0,\n top: (_this$props$margin$to2 = this.props.margin.top) !== null && _this$props$margin$to2 !== void 0 ? _this$props$margin$to2 : 0\n }\n });\n }\n\n // Something has to be returned for getSnapshotBeforeUpdate\n return null;\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n // Check to see if the Tooltip updated. If so, re-check default tooltip position\n if (!isChildrenEqual([findChildByType(prevProps.children, Tooltip)], [findChildByType(this.props.children, Tooltip)])) {\n this.displayDefaultTooltip();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.removeListener();\n this.throttleTriggeredAfterMouseMove.cancel();\n }\n }, {\n key: \"getTooltipEventType\",\n value: function getTooltipEventType() {\n var tooltipItem = findChildByType(this.props.children, Tooltip);\n if (tooltipItem && typeof tooltipItem.props.shared === 'boolean') {\n var eventType = tooltipItem.props.shared ? 'axis' : 'item';\n return validateTooltipEventTypes.indexOf(eventType) >= 0 ? eventType : defaultTooltipEventType;\n }\n return defaultTooltipEventType;\n }\n\n /**\n * Get the information of mouse in chart, return null when the mouse is not in the chart\n * @param {MousePointer} event The event object\n * @return {Object} Mouse data\n */\n }, {\n key: \"getMouseInfo\",\n value: function getMouseInfo(event) {\n if (!this.container) {\n return null;\n }\n var element = this.container;\n var boundingRect = element.getBoundingClientRect();\n var containerOffset = getOffset(boundingRect);\n var e = {\n chartX: Math.round(event.pageX - containerOffset.left),\n chartY: Math.round(event.pageY - containerOffset.top)\n };\n var scale = boundingRect.width / element.offsetWidth || 1;\n var rangeObj = this.inRange(e.chartX, e.chartY, scale);\n if (!rangeObj) {\n return null;\n }\n var _this$state9 = this.state,\n xAxisMap = _this$state9.xAxisMap,\n yAxisMap = _this$state9.yAxisMap;\n var tooltipEventType = this.getTooltipEventType();\n var toolTipData = getTooltipData(this.state, this.props.data, this.props.layout, rangeObj);\n if (tooltipEventType !== 'axis' && xAxisMap && yAxisMap) {\n var xScale = getAnyElementOfObject(xAxisMap).scale;\n var yScale = getAnyElementOfObject(yAxisMap).scale;\n var xValue = xScale && xScale.invert ? xScale.invert(e.chartX) : null;\n var yValue = yScale && yScale.invert ? yScale.invert(e.chartY) : null;\n return _objectSpread(_objectSpread({}, e), {}, {\n xValue: xValue,\n yValue: yValue\n }, toolTipData);\n }\n if (toolTipData) {\n return _objectSpread(_objectSpread({}, e), toolTipData);\n }\n return null;\n }\n }, {\n key: \"inRange\",\n value: function inRange(x, y) {\n var scale = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n var layout = this.props.layout;\n var scaledX = x / scale,\n scaledY = y / scale;\n if (layout === 'horizontal' || layout === 'vertical') {\n var offset = this.state.offset;\n var isInRange = scaledX >= offset.left && scaledX <= offset.left + offset.width && scaledY >= offset.top && scaledY <= offset.top + offset.height;\n return isInRange ? {\n x: scaledX,\n y: scaledY\n } : null;\n }\n var _this$state10 = this.state,\n angleAxisMap = _this$state10.angleAxisMap,\n radiusAxisMap = _this$state10.radiusAxisMap;\n if (angleAxisMap && radiusAxisMap) {\n var angleAxis = getAnyElementOfObject(angleAxisMap);\n return inRangeOfSector({\n x: scaledX,\n y: scaledY\n }, angleAxis);\n }\n return null;\n }\n }, {\n key: \"parseEventsOfWrapper\",\n value: function parseEventsOfWrapper() {\n var children = this.props.children;\n var tooltipEventType = this.getTooltipEventType();\n var tooltipItem = findChildByType(children, Tooltip);\n var tooltipEvents = {};\n if (tooltipItem && tooltipEventType === 'axis') {\n if (tooltipItem.props.trigger === 'click') {\n tooltipEvents = {\n onClick: this.handleClick\n };\n } else {\n tooltipEvents = {\n onMouseEnter: this.handleMouseEnter,\n onDoubleClick: this.handleDoubleClick,\n onMouseMove: this.handleMouseMove,\n onMouseLeave: this.handleMouseLeave,\n onTouchMove: this.handleTouchMove,\n onTouchStart: this.handleTouchStart,\n onTouchEnd: this.handleTouchEnd,\n onContextMenu: this.handleContextMenu\n };\n }\n }\n\n // @ts-expect-error adaptEventHandlers expects DOM Event but generateCategoricalChart works with React UIEvents\n var outerEvents = adaptEventHandlers(this.props, this.handleOuterEvent);\n return _objectSpread(_objectSpread({}, outerEvents), tooltipEvents);\n }\n }, {\n key: \"addListener\",\n value: function addListener() {\n eventCenter.on(SYNC_EVENT, this.handleReceiveSyncEvent);\n }\n }, {\n key: \"removeListener\",\n value: function removeListener() {\n eventCenter.removeListener(SYNC_EVENT, this.handleReceiveSyncEvent);\n }\n }, {\n key: \"filterFormatItem\",\n value: function filterFormatItem(item, displayName, childIndex) {\n var formattedGraphicalItems = this.state.formattedGraphicalItems;\n for (var i = 0, len = formattedGraphicalItems.length; i < len; i++) {\n var entry = formattedGraphicalItems[i];\n if (entry.item === item || entry.props.key === item.key || displayName === getDisplayName(entry.item.type) && childIndex === entry.childIndex) {\n return entry;\n }\n }\n return null;\n }\n }, {\n key: \"renderClipPath\",\n value: function renderClipPath() {\n var clipPathId = this.clipPathId;\n var _this$state$offset = this.state.offset,\n left = _this$state$offset.left,\n top = _this$state$offset.top,\n height = _this$state$offset.height,\n width = _this$state$offset.width;\n return /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: clipPathId\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: left,\n y: top,\n height: height,\n width: width\n })));\n }\n }, {\n key: \"getXScales\",\n value: function getXScales() {\n var xAxisMap = this.state.xAxisMap;\n return xAxisMap ? Object.entries(xAxisMap).reduce(function (res, _ref13) {\n var _ref14 = _slicedToArray(_ref13, 2),\n axisId = _ref14[0],\n axisProps = _ref14[1];\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, axisId, axisProps.scale));\n }, {}) : null;\n }\n }, {\n key: \"getYScales\",\n value: function getYScales() {\n var yAxisMap = this.state.yAxisMap;\n return yAxisMap ? Object.entries(yAxisMap).reduce(function (res, _ref15) {\n var _ref16 = _slicedToArray(_ref15, 2),\n axisId = _ref16[0],\n axisProps = _ref16[1];\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, axisId, axisProps.scale));\n }, {}) : null;\n }\n }, {\n key: \"getXScaleByAxisId\",\n value: function getXScaleByAxisId(axisId) {\n var _this$state$xAxisMap;\n return (_this$state$xAxisMap = this.state.xAxisMap) === null || _this$state$xAxisMap === void 0 || (_this$state$xAxisMap = _this$state$xAxisMap[axisId]) === null || _this$state$xAxisMap === void 0 ? void 0 : _this$state$xAxisMap.scale;\n }\n }, {\n key: \"getYScaleByAxisId\",\n value: function getYScaleByAxisId(axisId) {\n var _this$state$yAxisMap;\n return (_this$state$yAxisMap = this.state.yAxisMap) === null || _this$state$yAxisMap === void 0 || (_this$state$yAxisMap = _this$state$yAxisMap[axisId]) === null || _this$state$yAxisMap === void 0 ? void 0 : _this$state$yAxisMap.scale;\n }\n }, {\n key: \"getItemByXY\",\n value: function getItemByXY(chartXY) {\n var _this$state11 = this.state,\n formattedGraphicalItems = _this$state11.formattedGraphicalItems,\n activeItem = _this$state11.activeItem;\n if (formattedGraphicalItems && formattedGraphicalItems.length) {\n for (var i = 0, len = formattedGraphicalItems.length; i < len; i++) {\n var graphicalItem = formattedGraphicalItems[i];\n // graphicalItem is not a React Element so we don't need to resolve defaultProps\n var props = graphicalItem.props,\n item = graphicalItem.item;\n var itemProps = item.type.defaultProps !== undefined ? _objectSpread(_objectSpread({}, item.type.defaultProps), item.props) : item.props;\n var itemDisplayName = getDisplayName(item.type);\n if (itemDisplayName === 'Bar') {\n var activeBarItem = (props.data || []).find(function (entry) {\n return isInRectangle(chartXY, entry);\n });\n if (activeBarItem) {\n return {\n graphicalItem: graphicalItem,\n payload: activeBarItem\n };\n }\n } else if (itemDisplayName === 'RadialBar') {\n var _activeBarItem = (props.data || []).find(function (entry) {\n return inRangeOfSector(chartXY, entry);\n });\n if (_activeBarItem) {\n return {\n graphicalItem: graphicalItem,\n payload: _activeBarItem\n };\n }\n } else if (isFunnel(graphicalItem, activeItem) || isPie(graphicalItem, activeItem) || isScatter(graphicalItem, activeItem)) {\n var activeIndex = getActiveShapeIndexForTooltip({\n graphicalItem: graphicalItem,\n activeTooltipItem: activeItem,\n itemData: itemProps.data\n });\n var childIndex = itemProps.activeIndex === undefined ? activeIndex : itemProps.activeIndex;\n return {\n graphicalItem: _objectSpread(_objectSpread({}, graphicalItem), {}, {\n childIndex: childIndex\n }),\n payload: isScatter(graphicalItem, activeItem) ? itemProps.data[activeIndex] : graphicalItem.props.data[activeIndex]\n };\n }\n }\n }\n return null;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n if (!validateWidthHeight(this)) {\n return null;\n }\n var _this$props6 = this.props,\n children = _this$props6.children,\n className = _this$props6.className,\n width = _this$props6.width,\n height = _this$props6.height,\n style = _this$props6.style,\n compact = _this$props6.compact,\n title = _this$props6.title,\n desc = _this$props6.desc,\n others = _objectWithoutProperties(_this$props6, _excluded2);\n var attrs = filterProps(others, false);\n\n // The \"compact\" mode is mainly used as the panorama within Brush\n if (compact) {\n return /*#__PURE__*/React.createElement(ChartLayoutContextProvider, {\n state: this.state,\n width: this.props.width,\n height: this.props.height,\n clipPathId: this.clipPathId\n }, /*#__PURE__*/React.createElement(Surface, _extends({}, attrs, {\n width: width,\n height: height,\n title: title,\n desc: desc\n }), this.renderClipPath(), renderByOrder(children, this.renderMap)));\n }\n if (this.props.accessibilityLayer) {\n var _this$props$tabIndex, _this$props$role;\n // Set tabIndex to 0 by default (can be overwritten)\n attrs.tabIndex = (_this$props$tabIndex = this.props.tabIndex) !== null && _this$props$tabIndex !== void 0 ? _this$props$tabIndex : 0;\n // Set role to img by default (can be overwritten)\n attrs.role = (_this$props$role = this.props.role) !== null && _this$props$role !== void 0 ? _this$props$role : 'application';\n attrs.onKeyDown = function (e) {\n _this3.accessibilityManager.keyboardEvent(e);\n // 'onKeyDown' is not currently a supported prop that can be passed through\n // if it's added, this should be added: this.props.onKeyDown(e);\n };\n attrs.onFocus = function () {\n _this3.accessibilityManager.focus();\n // 'onFocus' is not currently a supported prop that can be passed through\n // if it's added, the focus event should be forwarded to the prop\n };\n }\n var events = this.parseEventsOfWrapper();\n return /*#__PURE__*/React.createElement(ChartLayoutContextProvider, {\n state: this.state,\n width: this.props.width,\n height: this.props.height,\n clipPathId: this.clipPathId\n }, /*#__PURE__*/React.createElement(\"div\", _extends({\n className: clsx('recharts-wrapper', className),\n style: _objectSpread({\n position: 'relative',\n cursor: 'default',\n width: width,\n height: height\n }, style)\n }, events, {\n ref: function ref(node) {\n _this3.container = node;\n }\n }), /*#__PURE__*/React.createElement(Surface, _extends({}, attrs, {\n width: width,\n height: height,\n title: title,\n desc: desc,\n style: FULL_WIDTH_AND_HEIGHT\n }), this.renderClipPath(), renderByOrder(children, this.renderMap)), this.renderLegend(), this.renderTooltip()));\n }\n }]);\n }(Component);\n _defineProperty(CategoricalChartWrapper, \"displayName\", chartName);\n // todo join specific chart propTypes\n _defineProperty(CategoricalChartWrapper, \"defaultProps\", _objectSpread({\n layout: 'horizontal',\n stackOffset: 'none',\n barCategoryGap: '10%',\n barGap: 4,\n margin: {\n top: 5,\n right: 5,\n bottom: 5,\n left: 5\n },\n reverseStackOrder: false,\n syncMethod: 'index'\n }, defaultProps));\n _defineProperty(CategoricalChartWrapper, \"getDerivedStateFromProps\", function (nextProps, prevState) {\n var dataKey = nextProps.dataKey,\n data = nextProps.data,\n children = nextProps.children,\n width = nextProps.width,\n height = nextProps.height,\n layout = nextProps.layout,\n stackOffset = nextProps.stackOffset,\n margin = nextProps.margin;\n var dataStartIndex = prevState.dataStartIndex,\n dataEndIndex = prevState.dataEndIndex;\n if (prevState.updateId === undefined) {\n var defaultState = createDefaultState(nextProps);\n return _objectSpread(_objectSpread(_objectSpread({}, defaultState), {}, {\n updateId: 0\n }, updateStateOfAxisMapsOffsetAndStackGroups(_objectSpread(_objectSpread({\n props: nextProps\n }, defaultState), {}, {\n updateId: 0\n }), prevState)), {}, {\n prevDataKey: dataKey,\n prevData: data,\n prevWidth: width,\n prevHeight: height,\n prevLayout: layout,\n prevStackOffset: stackOffset,\n prevMargin: margin,\n prevChildren: children\n });\n }\n if (dataKey !== prevState.prevDataKey || data !== prevState.prevData || width !== prevState.prevWidth || height !== prevState.prevHeight || layout !== prevState.prevLayout || stackOffset !== prevState.prevStackOffset || !shallowEqual(margin, prevState.prevMargin)) {\n var _defaultState = createDefaultState(nextProps);\n\n // Fixes https://github.com/recharts/recharts/issues/2143\n var keepFromPrevState = {\n // (chartX, chartY) are (0,0) in default state, but we want to keep the last mouse position to avoid\n // any flickering\n chartX: prevState.chartX,\n chartY: prevState.chartY,\n // The tooltip should stay active when it was active in the previous render. If this is not\n // the case, the tooltip disappears and immediately re-appears, causing a flickering effect\n isTooltipActive: prevState.isTooltipActive\n };\n var updatesToState = _objectSpread(_objectSpread({}, getTooltipData(prevState, data, layout)), {}, {\n updateId: prevState.updateId + 1\n });\n var newState = _objectSpread(_objectSpread(_objectSpread({}, _defaultState), keepFromPrevState), updatesToState);\n return _objectSpread(_objectSpread(_objectSpread({}, newState), updateStateOfAxisMapsOffsetAndStackGroups(_objectSpread({\n props: nextProps\n }, newState), prevState)), {}, {\n prevDataKey: dataKey,\n prevData: data,\n prevWidth: width,\n prevHeight: height,\n prevLayout: layout,\n prevStackOffset: stackOffset,\n prevMargin: margin,\n prevChildren: children\n });\n }\n if (!isChildrenEqual(children, prevState.prevChildren)) {\n var _brush$props$startInd, _brush$props, _brush$props$endIndex, _brush$props2;\n // specifically check for Brush - if it exists and the start and end indexes are different, re-render with the new ones\n var brush = findChildByType(children, Brush);\n var startIndex = brush ? (_brush$props$startInd = (_brush$props = brush.props) === null || _brush$props === void 0 ? void 0 : _brush$props.startIndex) !== null && _brush$props$startInd !== void 0 ? _brush$props$startInd : dataStartIndex : dataStartIndex;\n var endIndex = brush ? (_brush$props$endIndex = (_brush$props2 = brush.props) === null || _brush$props2 === void 0 ? void 0 : _brush$props2.endIndex) !== null && _brush$props$endIndex !== void 0 ? _brush$props$endIndex : dataEndIndex : dataEndIndex;\n var hasDifferentStartOrEndIndex = startIndex !== dataStartIndex || endIndex !== dataEndIndex;\n\n // update configuration in children\n var hasGlobalData = !isNil(data);\n var newUpdateId = hasGlobalData && !hasDifferentStartOrEndIndex ? prevState.updateId : prevState.updateId + 1;\n return _objectSpread(_objectSpread({\n updateId: newUpdateId\n }, updateStateOfAxisMapsOffsetAndStackGroups(_objectSpread(_objectSpread({\n props: nextProps\n }, prevState), {}, {\n updateId: newUpdateId,\n dataStartIndex: startIndex,\n dataEndIndex: endIndex\n }), prevState)), {}, {\n prevChildren: children,\n dataStartIndex: startIndex,\n dataEndIndex: endIndex\n });\n }\n return null;\n });\n _defineProperty(CategoricalChartWrapper, \"renderActiveDot\", function (option, props, key) {\n var dot;\n if ( /*#__PURE__*/isValidElement(option)) {\n dot = /*#__PURE__*/cloneElement(option, props);\n } else if (isFunction(option)) {\n dot = option(props);\n } else {\n dot = /*#__PURE__*/React.createElement(Dot, props);\n }\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-active-dot\",\n key: key\n }, dot);\n });\n var CategoricalChart = /*#__PURE__*/forwardRef(function CategoricalChart(props, ref) {\n return /*#__PURE__*/React.createElement(CategoricalChartWrapper, _extends({}, props, {\n ref: ref\n }));\n });\n CategoricalChart.displayName = CategoricalChartWrapper.displayName;\n return CategoricalChart;\n};","/**\n * @fileOverview Line Chart\n */\nimport { generateCategoricalChart } from './generateCategoricalChart';\nimport { Line } from '../cartesian/Line';\nimport { XAxis } from '../cartesian/XAxis';\nimport { YAxis } from '../cartesian/YAxis';\nimport { formatAxisMap } from '../util/CartesianUtils';\nexport var LineChart = generateCategoricalChart({\n chartName: 'LineChart',\n GraphicalChild: Line,\n axisComponents: [{\n axisType: 'xAxis',\n AxisComp: XAxis\n }, {\n axisType: 'yAxis',\n AxisComp: YAxis\n }],\n formatAxisMap: formatAxisMap\n});","/**\n * @fileOverview Bar Chart\n */\nimport { generateCategoricalChart } from './generateCategoricalChart';\nimport { Bar } from '../cartesian/Bar';\nimport { XAxis } from '../cartesian/XAxis';\nimport { YAxis } from '../cartesian/YAxis';\nimport { formatAxisMap } from '../util/CartesianUtils';\nexport var BarChart = generateCategoricalChart({\n chartName: 'BarChart',\n GraphicalChild: Bar,\n defaultTooltipEventType: 'axis',\n validateTooltipEventTypes: ['axis', 'item'],\n axisComponents: [{\n axisType: 'xAxis',\n AxisComp: XAxis\n }, {\n axisType: 'yAxis',\n AxisComp: YAxis\n }],\n formatAxisMap: formatAxisMap\n});","/**\n * @fileOverview Pie Chart\n */\nimport { generateCategoricalChart } from './generateCategoricalChart';\nimport { PolarAngleAxis } from '../polar/PolarAngleAxis';\nimport { PolarRadiusAxis } from '../polar/PolarRadiusAxis';\nimport { formatAxisMap } from '../util/PolarUtils';\nimport { Pie } from '../polar/Pie';\nexport var PieChart = generateCategoricalChart({\n chartName: 'PieChart',\n GraphicalChild: Pie,\n validateTooltipEventTypes: ['item'],\n defaultTooltipEventType: 'item',\n legendContent: 'children',\n axisComponents: [{\n axisType: 'angleAxis',\n AxisComp: PolarAngleAxis\n }, {\n axisType: 'radiusAxis',\n AxisComp: PolarRadiusAxis\n }],\n formatAxisMap: formatAxisMap,\n defaultProps: {\n layout: 'centric',\n startAngle: 0,\n endAngle: 360,\n cx: '50%',\n cy: '50%',\n innerRadius: 0,\n outerRadius: '80%'\n }\n});"],"names":["l","n","p","q","r","t","u","v","w","x","y","z","A","a","B","C","D","E","b","e","F","G","H","I","J","K","L","M","d","c","k","h","g","f","m","N","O","escape","P","Q","R","S","T","U","V","W","X","react_production_min","reactModule","require$$0","exports","schedulerModule","aa","ca","require$$1","da","ea","fa","ha","ia","ja","ka","la","ma","oa","pa","qa","ra","sa","ta","ua","va","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","Pa","Qa","Ra","Sa","Ta","Ua","Va","Wa","Xa","Ya","Za","ab","bb","cb","db","eb","fb","gb","hb","ib","jb","kb","lb","mb","nb","ob","pb","qb","rb","sb","tb","ub","vb","wb","xb","yb","zb","Ab","Bb","Cb","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","Rb","Sb","Tb","Ub","Vb","Wb","Xb","Yb","Zb","$b","ac","bc","cc","dc","ec","fc","gc","hc","ic","jc","kc","lc","mc","oc","nc","pc","qc","rc","sc","tc","uc","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","Tc","Uc","Vc","Wc","Xc","Yc","Zc","$c","ad","bd","cd","dd","ed","fd","gd","hd","id","jd","kd","ld","md","nd","od","pd","qd","rd","sd","td","ud","vd","wd","xd","yd","Ad","zd","Bd","Cd","Dd","Ed","Fd","Gd","Hd","Id","Jd","Kd","Ld","Md","Nd","Od","Pd","Qd","Rd","Sd","Td","Ud","Vd","Wd","Xd","Yd","Zd","$d","ae","be","ce","de","ee","fe","ge","he","ie","je","ke","le","me","ne","oe","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","Ae","Be","Ce","De","Ee","Fe","Ge","He","Ie","Je","Ke","Le","Me","Ne","Oe","Pe","Qe","Re","Se","Te","Ue","Ve","We","Xe","Ye","Ze","$e","af","bf","cf","df","ef","ff","gf","hf","jf","kf","lf","mf","nf","of","pf","qf","rf","sf","tf","uf","vf","wf","na","xa","$a","ba","xf","yf","zf","Af","Bf","Cf","Df","Ef","Ff","Gf","Hf","Jf","If","Kf","Lf","Mf","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","Vf","Wf","Xf","Yf","Zf","$f","ag","bg","cg","dg","eg","fg","gg","hg","ig","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","zg","Ag","Bg","Cg","Dg","Eg","Fg","Gg","Hg","Ig","Jg","Kg","Lg","Mg","Ng","Og","Pg","Qg","Rg","Sg","Tg","Ug","Vg","Wg","Xg","Yg","Zg","$g","ah","bh","ch","dh","eh","fh","gh","hh","ih","jh","kh","lh","mh","nh","oh","ph","qh","rh","sh","th","uh","vh","wh","xh","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","Oh","Ph","Qh","Rh","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","di","ei","fi","gi","hi","ii","ji","ki","li","mi","ni","oi","pi","qi","ri","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","Ji","Ki","Li","Mi","Ni","Oi","Pi","Qi","Ri","Si","Ti","Ui","Vi","Wi","Xi","Yi","Zi","$i","aj","bj","cj","dj","ej","fj","gj","hj","ij","jj","kj","lj","mj","nj","oj","pj","qj","rj","sj","tj","uj","vj","wj","xj","yj","zj","Aj","Bj","Cj","Dj","Ej","Fj","Gj","Hj","Ij","Jj","Kj","Lj","Mj","Nj","Oj","Pj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","Xj","Yj","Zj","ak","bk","ck","dk","ek","fk","gk","hk","ik","jk","kk","lk","mk","nk","ok","Y","Z","pk","qk","rk","sk","tk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","Qk","Rk","Sk","Tk","Uk","Vk","Wk","Xk","Yk","Zk","$k","al","bl","cl","dl","el","fl","gl","hl","il","jl","kl","ll","ml","nl","ol","pl","ql","rl","sl","tl","ul","vl","reactDom_production_min","checkDCE","err","reactDomModule","o","clsx","isArray","isArray_1","freeGlobal","global","_freeGlobal","freeSelf","root","_root","Symbol","_Symbol","objectProto","hasOwnProperty","nativeObjectToString","symToStringTag","getRawTag","value","isOwn","tag","unmasked","result","_getRawTag","objectToString","_objectToString","require$$2","nullTag","undefinedTag","baseGetTag","_baseGetTag","isObjectLike","isObjectLike_1","symbolTag","isSymbol","isSymbol_1","reIsDeepProp","reIsPlainProp","isKey","object","type","_isKey","isObject","isObject_1","asyncTag","funcTag","genTag","proxyTag","isFunction","isFunction_1","coreJsData","_coreJsData","maskSrcKey","uid","isMasked","func","_isMasked","funcProto","funcToString","toSource","_toSource","require$$3","reRegExpChar","reIsHostCtor","reIsNative","baseIsNative","pattern","_baseIsNative","getValue","key","_getValue","getNative","_getNative","nativeCreate","_nativeCreate","hashClear","_hashClear","hashDelete","_hashDelete","HASH_UNDEFINED","hashGet","data","_hashGet","hashHas","_hashHas","hashSet","_hashSet","require$$4","Hash","entries","index","length","entry","_Hash","listCacheClear","_listCacheClear","eq","other","eq_1","assocIndexOf","array","_assocIndexOf","arrayProto","splice","listCacheDelete","lastIndex","_listCacheDelete","listCacheGet","_listCacheGet","listCacheHas","_listCacheHas","listCacheSet","_listCacheSet","ListCache","_ListCache","Map","_Map","mapCacheClear","_mapCacheClear","isKeyable","_isKeyable","getMapData","map","_getMapData","mapCacheDelete","_mapCacheDelete","mapCacheGet","_mapCacheGet","mapCacheHas","_mapCacheHas","mapCacheSet","size","_mapCacheSet","MapCache","_MapCache","FUNC_ERROR_TEXT","memoize","resolver","memoized","args","cache","memoize_1","MAX_MEMOIZE_SIZE","memoizeCapped","_memoizeCapped","rePropName","reEscapeChar","stringToPath","string","match","number","quote","subString","_stringToPath","arrayMap","iteratee","_arrayMap","symbolProto","symbolToString","baseToString","_baseToString","toString","toString_1","castPath","_castPath","toKey","_toKey","baseGet","path","_baseGet","get","defaultValue","get_1","isNil","isNil_1","stringTag","isString","isString_1","reactIs_production_min","reactIsModule","numberTag","isNumber","isNumber_1","isNaN","_isNaN","mathSign","isPercent","lodashIsNumber","isNan","isNullish","isNumOrStr","idCounter","uniqueId","prefix","getPercentValue","percent","totalValue","validate","getAnyElementOfObject","obj","keys","hasDuplicate","ary","len","interpolateNumber","numberA","numberB","findEntryInArray","specifiedKey","specifiedValue","compareValues","shallowEqual","_key","_typeof","SVGContainerPropKeys","SVGElementPropKeys","PolyElementKeys","FilteredElementKeyMap","EventKeys","adaptEventHandlers","props","newHandler","inputProps","isValidElement","out","getEventHandlerOfChild","originalHandler","adaptEventsOfChild","item","_excluded","_excluded2","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","sourceSymbolKeys","REACT_BROWSER_EVENT_MAP","getDisplayName","Comp","lastChildren","lastResult","toArray","children","Children","child","isFragment","findAllByType","types","childType","findChildByType","validateWidthHeight","_el$props","width","height","SVG_TAGS","isSvgElement","hasClipDot","dot","isValidSpreadableProp","property","includeEvents","svgElementType","_FilteredElementKeyMa","matchingElementTypeKeys","filterProps","_inputProps","isChildrenEqual","nextChildren","prevChildren","count","isSingleChildEqual","nextChild","prevChild","_ref","nextProps","_ref2","prevProps","renderByOrder","renderMap","elements","record","displayName","_ref3","handler","once","results","getReactEventByType","parseChildIndex","_extends","i","Surface","viewBox","className","style","title","desc","others","svgView","layerClass","React","Layer","ref","warn","condition","format","_len","baseSlice","start","end","_baseSlice","castSlice","_castSlice","rsAstralRange","rsComboMarksRange","reComboHalfMarksRange","rsComboSymbolsRange","rsComboRange","rsVarRange","rsZWJ","reHasUnicode","hasUnicode","_hasUnicode","asciiToArray","_asciiToArray","rsAstral","rsCombo","rsFitz","rsModifier","rsNonAstral","rsRegional","rsSurrPair","reOptMod","rsOptVar","rsOptJoin","rsSeq","rsSymbol","reUnicode","unicodeToArray","_unicodeToArray","stringToArray","_stringToArray","createCaseFirst","methodName","strSymbols","chr","trailing","_createCaseFirst","upperFirst","upperFirst_1","constant$3","cos","sin","sqrt","tau","epsilon","tauEpsilon","append","strings","appendRound","digits","Path","x1","y1","x2","y2","x0","y0","x21","y21","x01","y01","l01_2","x20","y20","l21_2","l20_2","l21","l01","t01","t21","a0","a1","ccw","dx","dy","cw","withPath","shape","_","Linear","context","curveLinear","shapeLine","defined","constant","curve","output","line","pointX","pointY","defined0","buffer","shapeArea","area","j","x0z","y0z","arealine","Bump","bumpX","bumpY","symbolCircle","symbolCross","tan30","tan30_2","symbolDiamond","symbolSquare","kr","kx","ky","symbolStar","s","sqrt3","symbolTriangle","symbolWye","symbol","circle","noop$2","point","that","Basis","curveBasis","BasisClosed","noop","curveBasisClosed","BasisOpen","curveBasisOpen","LinearClosed","curveLinearClosed","sign","slope3","h0","h1","s0","s1","slope2","t0","t1","MonotoneX","MonotoneY","ReflectContext","monotoneX","monotoneY","Natural","px","controlPoints","py","i0","i1","curveNatural","Step","curveStep","stepBefore","stepAfter","stackOffsetNone","series","order","stackOrderNone","stackValue","stackSeries","shapeStack","orderNone","offset","offsetNone","stack","sz","oz","stackOffsetExpand","none","stackOffsetSilhouette","stackOffsetWiggle","s2","sij0","sij1","s3","skj0","skj1","ownKeys","_objectSpread","_defineProperty","_toPropertyKey","_toPrimitive","symbolFactories","RADIAN","getSymbolFactory","name","calculateAreaSize","sizeType","angle","registerSymbol","factory","Symbols","_ref$type","_ref$size","_ref$sizeType","rest","getPath","symbolFactory","shapeSymbol","cx","cy","filteredProps","_classCallCheck","instance","Constructor","_defineProperties","descriptor","_createClass","protoProps","staticProps","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","self","call","_assertThisInitialized","_inherits","subClass","superClass","_setPrototypeOf","SIZE","DefaultLegendContent","_PureComponent","inactiveColor","halfSize","sixthSize","thirdSize","color","iconProps","_this","_this$props","payload","iconSize","layout","formatter","itemStyle","svgStyle","finalFormatter","entryValue","_this$props2","align","finalStyle","PureComponent","stackClear","_stackClear","stackDelete","_stackDelete","stackGet","_stackGet","stackHas","_stackHas","LARGE_ARRAY_SIZE","stackSet","pairs","_stackSet","require$$5","Stack","_Stack","setCacheAdd","_setCacheAdd","setCacheHas","_setCacheHas","SetCache","values","_SetCache","arraySome","predicate","_arraySome","cacheHas","_cacheHas","COMPARE_PARTIAL_FLAG","COMPARE_UNORDERED_FLAG","equalArrays","bitmask","customizer","equalFunc","isPartial","arrLength","othLength","arrStacked","othStacked","seen","arrValue","othValue","compared","othIndex","_equalArrays","Uint8Array","_Uint8Array","mapToArray","_mapToArray","setToArray","set","_setToArray","boolTag","dateTag","errorTag","mapTag","regexpTag","setTag","arrayBufferTag","dataViewTag","symbolValueOf","equalByTag","convert","stacked","_equalByTag","arrayPush","_arrayPush","baseGetAllKeys","keysFunc","symbolsFunc","_baseGetAllKeys","arrayFilter","resIndex","_arrayFilter","stubArray","stubArray_1","propertyIsEnumerable","nativeGetSymbols","getSymbols","_getSymbols","baseTimes","_baseTimes","argsTag","baseIsArguments","_baseIsArguments","isArguments","isArguments_1","stubFalse","stubFalse_1","freeExports","freeModule","module","moduleExports","Buffer","nativeIsBuffer","isBuffer","MAX_SAFE_INTEGER","reIsUint","isIndex","_isIndex","isLength","isLength_1","arrayTag","objectTag","weakMapTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","typedArrayTags","baseIsTypedArray","_baseIsTypedArray","baseUnary","_baseUnary","freeProcess","nodeUtil","nodeIsTypedArray","isTypedArray","isTypedArray_1","arrayLikeKeys","inherited","isArr","isArg","isBuff","isType","skipIndexes","_arrayLikeKeys","isPrototype","Ctor","proto","_isPrototype","overArg","transform","arg","_overArg","nativeKeys","_nativeKeys","baseKeys","_baseKeys","isArrayLike","isArrayLike_1","keys_1","getAllKeys","_getAllKeys","equalObjects","objProps","objLength","othProps","objStacked","skipCtor","objValue","objCtor","othCtor","_equalObjects","DataView","_DataView","Promise","_Promise","Set","_Set","WeakMap","_WeakMap","require$$6","promiseTag","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","getTag","ctorString","_getTag","require$$7","baseIsEqualDeep","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","_baseIsEqualDeep","baseIsEqual","_baseIsEqual","baseIsMatch","matchData","noCustomizer","srcValue","_baseIsMatch","isStrictComparable","_isStrictComparable","getMatchData","_getMatchData","matchesStrictComparable","_matchesStrictComparable","baseMatches","_baseMatches","baseHasIn","_baseHasIn","hasPath","hasFunc","_hasPath","hasIn","hasIn_1","baseMatchesProperty","_baseMatchesProperty","identity","identity_1","baseProperty","_baseProperty","basePropertyDeep","_basePropertyDeep","property_1","baseIteratee","_baseIteratee","baseFindIndex","fromIndex","fromRight","_baseFindIndex","baseIsNaN","_baseIsNaN","strictIndexOf","_strictIndexOf","baseIndexOf","_baseIndexOf","arrayIncludes","_arrayIncludes","arrayIncludesWith","comparator","_arrayIncludesWith","noop_1","INFINITY","createSet","_createSet","baseUniq","includes","isCommon","outer","computed","seenIndex","_baseUniq","uniqBy","uniqBy_1","getUniqPayload","option","defaultUniqBy","renderContent","content","otherProps","EPS","Legend","box","onBBoxUpdate","verticalAlign","margin","chartWidth","chartHeight","hPos","vPos","_box","_this2","wrapperStyle","payloadUniqBy","outerStyle","node","_this$defaultProps$it","spreadableSymbol","isFlattenable","_isFlattenable","baseFlatten","depth","isStrict","_baseFlatten","createBaseFor","iterable","_createBaseFor","baseFor","_baseFor","baseForOwn","_baseForOwn","createBaseEach","eachFunc","collection","_createBaseEach","baseEach","_baseEach","baseMap","_baseMap","baseSortBy","comparer","_baseSortBy","compareAscending","valIsDefined","valIsNull","valIsReflexive","valIsSymbol","othIsDefined","othIsNull","othIsReflexive","othIsSymbol","_compareAscending","compareMultiple","orders","objCriteria","othCriteria","ordersLength","_compareMultiple","require$$8","baseOrderBy","iteratees","criteria","_baseOrderBy","apply","thisArg","_apply","nativeMax","overRest","otherArgs","_overRest","constant_1","defineProperty","baseSetToString","_baseSetToString","HOT_COUNT","HOT_SPAN","nativeNow","shortOut","lastCalled","stamp","remaining","_shortOut","setToString","_setToString","baseRest","_baseRest","isIterateeCall","_isIterateeCall","sortBy","sortBy_1","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","minLen","_arrayLikeToArray","arr2","defaultFormatter","DefaultTooltipContent","_props$separator","separator","_props$contentStyle","contentStyle","_props$itemStyle","_props$labelStyle","labelStyle","itemSorter","wrapperClassName","labelClassName","label","labelFormatter","_props$accessibilityL","accessibilityLayer","listStyle","items","finalItemStyle","finalValue","finalName","formatted","_formatted","finalLabelStyle","hasLabel","finalLabel","wrapperCN","labelCN","accessibilityAttributes","CSS_CLASS_PREFIX","TOOLTIP_HIDDEN","getTooltipCSSClassName","coordinate","translateX","translateY","getTooltipTranslateXY","allowEscapeViewBox","offsetTopLeft","position","reverseDirection","tooltipDimension","viewBoxDimension","negative","positive","_tooltipBoundary","_viewBoxBoundary","tooltipBoundary","viewBoxBoundary","getTransformStyle","useTranslate3d","getTooltipTranslate","_ref4","tooltipBox","cssProperties","EPSILON","TooltipBoundingBox","event","_this$props$coordinat","_this$props$coordinat2","_this$props$coordinat3","_this$props$coordinat4","_this$props$coordinat5","_this$props$coordinat6","active","animationDuration","animationEasing","hasPayload","isAnimationActive","_getTooltipTranslate","cssClasses","parseIsSsrByDefault","Global","Tooltip","filterNull","finalPayload","now","now_1","reWhitespace","trimmedEndIndex","_trimmedEndIndex","reTrimStart","baseTrim","_baseTrim","NAN","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","toNumber","isBinary","toNumber_1","nativeMin","debounce","wait","options","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","invokeFunc","time","leadingEdge","timerExpired","remainingWait","timeSinceLastCall","timeSinceLastInvoke","timeWaiting","shouldInvoke","trailingEdge","cancel","flush","debounced","isInvoking","debounce_1","throttle","throttle_1","ResponsiveContainer","forwardRef","aspect","_ref$initialDimension","initialDimension","_ref$width","_ref$height","_ref$minWidth","minWidth","minHeight","maxHeight","_ref$debounce","onResize","_ref$style","containerRef","useRef","onResizeRef","useImperativeHandle","_useState","useState","_useState2","sizes","setSizes","setContainerSize","useCallback","newWidth","newHeight","prevState","roundedWidth","roundedHeight","useEffect","callback","_onResizeRef$current","_entries$0$contentRec","containerWidth","containerHeight","observer","_containerRef$current","chartContent","useMemo","calculatedWidth","calculatedHeight","isCharts","cloneElement","Cell","_props","stringCache","MAX_CACHE_NUM","SPAN_STYLE","MEASUREMENT_SPAN_ID","removeInvalidKeys","copyObj","getStringSize","text","copyStyle","cacheKey","measurementSpan","measurementSpanStyle","rect","getOffset","MULTIPLY_OR_DIVIDE_REGEX","ADD_OR_SUBTRACT_REGEX","CSS_LENGTH_UNIT_REGEX","NUM_SPLIT_REGEX","CONVERSION_RATES","FIXED_CSS_LENGTH_UNITS","STR_NAN","convertToPx","unit","DecimalCSS","num","str","_NUM_SPLIT_REGEX$exec","numStr","calculateArithmetic","expr","newExpr","_MULTIPLY_OR_DIVIDE_R","leftOperand","operator","rightOperand","lTs","rTs","_ADD_OR_SUBTRACT_REGE","_ref5","_ref6","_leftOperand","_operator","_rightOperand","_lTs","_rTs","_result","PARENTHESES_REGEX","calculateParentheses","_PARENTHESES_REGEX$ex","_PARENTHESES_REGEX$ex2","parentheticalExpression","evaluateExpression","expression","safeEvaluateExpression","reduceCSSCalc","BREAKING_SPACES","calculateWordWidths","breakAll","words","wordsWithComputedWidth","word","spaceWidth","calculateWordsByLines","initialWordsWithComputedWith","lineWidth","scaleToFit","maxLines","shouldLimitLines","calculate","currentLine","newLine","originalResult","findLongestLine","suffix","checkOverflow","tempText","doesOverflow","iterations","trimmedResult","middle","prev","_checkOverflow","_checkOverflow2","doesPrevOverflow","_checkOverflow3","_checkOverflow4","doesMiddleOverflow","getWordsWithoutCalculate","getWordsByLines","wordWidths","wcw","sw","DEFAULT_FILL","Text","_ref5$x","propsX","_ref5$y","propsY","_ref5$lineHeight","lineHeight","_ref5$capHeight","capHeight","_ref5$scaleToFit","_ref5$textAnchor","textAnchor","_ref5$verticalAnchor","verticalAnchor","_ref5$fill","fill","wordsByLines","textProps","startDy","transforms","ascending","descending","bisector","compare1","compare2","delta","zero","left","lo","mid","right","center","numbers","valueof","ascendingBisect","bisectRight","InternMap","keyof","intern_get","intern_set","intern_delete","_intern","compareDefined","compare","ascendingDefined","e10","e5","e2","tickSpec","stop","step","power","error","factor","i2","inc","ticks","reverse","tickIncrement","tickStep","max","min","quickselect","newLeft","newRight","swap","quantile","value0","value1","quantileSorted","range","initRange","domain","initInterpolator","interpolator","implicit","ordinal","unknown","scale","band","ordinalRange","r0","r1","bandwidth","round","paddingInner","paddingOuter","rescale","sequence","pointish","copy","define","constructor","prototype","extend","parent","definition","Color","darker","brighter","reI","reN","reP","reHex","reRgbInteger","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","channels","color_formatHex","color_formatHex8","color_formatHsl","color_formatRgb","hslConvert","rgbn","Rgb","rgba","hsla","rgbConvert","rgb","opacity","clampi","clampa","rgb_formatHex","rgb_formatHex8","rgb_formatRgb","hex","Hsl","hsl","m2","m1","hsl2rgb","clamph","clampt","linear","exponential","gamma","nogamma","rgbGamma","colorRgb","numberArray","isNumberArray","genericArray","date$1","interpolateNumber$1","reA","reB","one","am","bm","bs","interpolate","date","interpolateRound","piecewise","constants","normalize","clamper","bimap","d0","d1","polymap","bisect","transformer","interpolateValue","untransform","clamp","input","continuous","formatDecimal","formatDecimalParts","coefficient","exponent","formatGroup","grouping","thousands","formatNumerals","numerals","formatSpecifier","specifier","FormatSpecifier","formatTrim","prefixExponent","formatPrefixAuto","formatRounded","formatTypes","identity$5","prefixes","formatLocale$1","locale","group","currencyPrefix","currencySuffix","decimal","minus","nan","newFormat","comma","precision","trim","formatType","maybeSuffix","valuePrefix","valueSuffix","valueNegative","padding","formatPrefix","defaultLocale","formatLocale","precisionFixed","precisionPrefix","precisionRound","tickFormat","linearish","prestep","maxIter","nice","interval","transformLog","transformExp","transformLogn","transformExpn","pow10","powp","base","logp","reflect","loggish","logs","pows","log","transformSymlog","transformSymexp","symlogish","symlog","transformPow","transformSqrt","transformSquare","powish","pow","square","unsquare","radial","squared","thresholds","threshold","quantize","timeInterval","floori","offseti","field","previous","test","millisecond","durationSecond","durationMinute","durationHour","durationDay","durationWeek","durationMonth","durationYear","second","timeMinute","utcMinute","timeHour","utcHour","timeDay","utcDay","unixDay","timeWeekday","timeSunday","timeMonday","timeTuesday","timeWednesday","timeThursday","timeFriday","timeSaturday","utcWeekday","utcSunday","utcMonday","utcTuesday","utcWednesday","utcThursday","utcFriday","utcSaturday","timeMonth","utcMonth","timeYear","utcYear","ticker","year","month","week","day","hour","minute","tickIntervals","tickInterval","utcTicks","utcTickInterval","timeTicks","timeTickInterval","localDate","utcDate","newDate","locale_dateTime","locale_date","locale_time","locale_periods","locale_weekdays","locale_shortWeekdays","locale_months","locale_shortMonths","periodRe","formatRe","periodLookup","formatLookup","weekdayRe","weekdayLookup","shortWeekdayRe","shortWeekdayLookup","monthRe","monthLookup","shortMonthRe","shortMonthLookup","formats","formatShortWeekday","formatWeekday","formatShortMonth","formatMonth","formatDayOfMonth","formatMicroseconds","formatYearISO","formatFullYearISO","formatHour24","formatHour12","formatDayOfYear","formatMilliseconds","formatMonthNumber","formatMinutes","formatPeriod","formatQuarter","formatUnixTimestamp","formatUnixTimestampSeconds","formatSeconds","formatWeekdayNumberMonday","formatWeekNumberSunday","formatWeekNumberISO","formatWeekdayNumberSunday","formatWeekNumberMonday","formatYear","formatFullYear","formatZone","formatLiteralPercent","utcFormats","formatUTCShortWeekday","formatUTCWeekday","formatUTCShortMonth","formatUTCMonth","formatUTCDayOfMonth","formatUTCMicroseconds","formatUTCYearISO","formatUTCFullYearISO","formatUTCHour24","formatUTCHour12","formatUTCDayOfYear","formatUTCMilliseconds","formatUTCMonthNumber","formatUTCMinutes","formatUTCPeriod","formatUTCQuarter","formatUTCSeconds","formatUTCWeekdayNumberMonday","formatUTCWeekNumberSunday","formatUTCWeekNumberISO","formatUTCWeekdayNumberSunday","formatUTCWeekNumberMonday","formatUTCYear","formatUTCFullYear","formatUTCZone","parses","parseShortWeekday","parseWeekday","parseShortMonth","parseMonth","parseLocaleDateTime","parseDayOfMonth","parseMicroseconds","parseYear","parseFullYear","parseHour24","parseDayOfYear","parseMilliseconds","parseMonthNumber","parseMinutes","parsePeriod","parseQuarter","parseUnixTimestamp","parseUnixTimestampSeconds","parseSeconds","parseWeekdayNumberMonday","parseWeekNumberSunday","parseWeekNumberISO","parseWeekdayNumberSunday","parseWeekNumberMonday","parseLocaleDate","parseLocaleTime","parseZone","parseLiteralPercent","pad","pads","newParse","parseSpecifier","parse","numberRe","percentRe","requoteRe","requote","names","dISO","dow","UTCdISO","timeFormat","utcFormat","calendar","invert","formatMillisecond","formatSecond","formatMinute","formatHour","formatDay","formatWeek","timeWeek","timeSecond","utcTime","utcWeek","utcSecond","k10","sequential","sequentialLog","sequentialSymlog","sequentialPow","sequentialSqrt","sequentialQuantile","t2","k21","r2","diverging","divergingLog","divergingSymlog","divergingPow","divergingSqrt","baseExtremum","current","_baseExtremum","baseGt","_baseGt","max_1","baseLt","_baseLt","min_1","map_1","flatMap","flatMap_1","isEqual","isEqual_1","MAX_DIGITS","defaults","Decimal","external","decimalError","invalidArgument","exponentOutOfRange","mathfloor","mathpow","isDecimal","ONE","BASE","LOG_BASE","MAX_E","xdL","ydL","dp","divide","getBase10Exponent","pr","wpr","ln","subtract","add","exp","digitsToString","carry","rL","rm","checkInt32","yIsInt","guard","yn","truncate","ws","indexOfLastWord","getZeroString","multiplyInteger","temp","aL","bL","cmp","prod","prodL","rem","remL","rem0","xL","yd0","yL","yz","denominator","sum","getLn10","zs","c0","numerator","parseDecimal","doRound","xdi","xLTy","isExp","clone","ps","config","Decimal$1","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","iter","PLACE_HOLDER","isPlaceHolder","val","curry0","fn","_curried","curryN","argsLength","_len2","restArgs","_key2","newArgs","curry","begin","compose","_len3","_key3","fns","firstFn","tailsFn","res","_len4","_key4","getDigitCount","rangeStep","newA","newB","uninterpolateNumber","diff","uninterpolateTruncation","Arithmetic","_arr","_n","_d","_e","_i","_s","getValidInterval","validMin","validMax","getFormatStep","roughStep","allowDecimals","correctionFactor","digitCount","digitCountValue","stepRatio","stepRatioScale","amendStepRatio","formatStep","getTickOfSingleValue","tickCount","absVal","middleIndex","calculateStep","belowCount","upCount","scaleCount","getNiceTickValuesFn","_getValidInterval","_getValidInterval2","cormin","cormax","_values","_calculateStep","tickMin","tickMax","getTickValuesFixedDomainFn","_ref7","_ref8","_getValidInterval5","_getValidInterval6","getNiceTickValues","getTickValuesFixedDomain","invariant","message","ErrorBar","_React$Component","dataKey","dataPointFormatter","xAxis","yAxis","svgProps","errorBars","_dataPointFormatter","errorVal","lineCoordinates","lowBound","highBound","_errorVal","yMid","yMin","yMax","xMin","xMax","_scale","xMid","_xMin","_xMax","_yMin","_yMax","coordinates","getLegendProps","formattedGraphicalItems","legendWidth","legendContent","legendItem","legendDefaultProps","legendProps","legendData","itemDefaultProps","itemProps","legendType","hide","getMainColorOfGraphicItem","getValueByDataKey","getDomainOfDataByKey","filterNil","flattenData","validateData","calculateActiveTickIndex","_ticks$length","unsortedTicks","axis","before","cur","after","sameDirectionCoord","diffInterval","curInRange","afterInRange","sameInterval","minValue","maxValue","_item$type","defaultedProps","stroke","getBarSizeList","globalSize","totalSize","_ref2$stackGroups","stackGroups","numericAxisIds","sgs","stackIds","sLen","_sgs$stackIds$j","cateAxisId","barItems","barItemDefaultProps","barItemProps","selfSize","cateId","barSize","getBarPosition","barGap","barCategoryGap","bandSize","_ref3$sizeList","sizeList","maxBarSize","realBarGap","initialValue","useFull","fullBarSize","newPosition","newRes","_offset","originalSize","appendOffsetOfLegend","_unused","legendBox","boxWidth","boxHeight","isErrorBarRelevantForAxis","axisType","direction","getDomainOfErrorBars","errorBarChild","mainValue","errorDomain","prevErrorArr","errorValue","lowerValue","upperValue","parseErrorBarsOfAxis","domains","getDomainOfItemsWithSameAxis","isCategoricalAxis","getCoordinatesOfGrid","syncWithTicks","hasMin","hasMax","getTicksOfAxis","isGrid","isAll","duplicateDomain","offsetForBand","scaleContent","row","handlerWeakMap","combineEventHandlers","defaultHandler","childHandler","childWeakMap","combineHandler","parseScale","chartType","hasBar","d3Scales.scaleBand","d3Scales.scaleLinear","d3Scales.scalePoint","d3Scales","checkDomainOfScale","first","last","findPositionOfBar","barPosition","truncateByDomain","offsetSign","offsetPositive","STACK_OFFSET_MAP","getStackedData","stackItems","offsetType","dataKeys","offsetAccessor","getStackGroupsByAxisId","_items","numericAxisId","reverseStackOrder","parentStackGroupsInitialValue","_item$type2","stackId","axisId","parentGroup","childGroup","axisStackGroupsInitialValue","stackGroupsInitialValue","getTicksOfScale","opts","realScaleType","originalDomain","scaleType","tickValues","_domain","_tickValues","getCateCoordinateOfLine","matchedTick","getCateCoordinateOfBar","getBaseValueOfBar","numericAxis","getStackedDataOfItem","_item$type3","itemIndex","getDomainOfSingle","getDomainOfStackGroups","startIndex","endIndex","stackedData","MIN_VALUE_REG","MAX_VALUE_REG","parseSpecifiedDomain","specifiedDomain","dataDomain","allowDataOverflow","_value","getBandSizeOfAxis","isBar","bandWidth","orderedTicks","parseDomainOfCategoryAxis","calculatedDomain","axisChild","getTooltipItem","graphicalItem","tooltipType","radianToDegree","angleInRadian","polarToCartesian","radius","getMaxRadius","formatAxisMap","axisMap","chartName","startAngle","endAngle","maxRadius","innerRadius","outerRadius","ids","reversed","_range","_range2","_parseScale","finalAxis","distanceBetweenPoints","anotherPoint","getAngleOfPoint","formatAngleOfSector","startCnt","endCnt","reverseFormatAngleOfSetor","inRangeOfSector","sector","_getAngleOfPoint","_formatAngleOfSector","formatAngle","inRange","getTickClassName","tick","getLabel","getDeltaAngle","deltaAngle","renderRadialLabel","labelProps","attrs","clockWise","labelAngle","startPoint","endPoint","getAttrsOfPolarLabel","midAngle","_polarToCartesian","_x","_y","_polarToCartesian2","getAttrsOfCartesianLabel","parentViewBox","verticalSign","verticalOffset","verticalEnd","verticalStart","horizontalSign","horizontalOffset","horizontalEnd","horizontalStart","_attrs","_attrs2","_attrs3","sizeAttrs","isPolar","Label","_ref4$offset","restProps","_props$className","textBreakAll","createElement","isPolarLabel","positionAttrs","parseViewBox","top","labelViewBox","parseLabel","renderCallByParent","parentProps","checkPropsLabel","explicitChildren","implicitLabel","last_1","defaultAccessor","LabelList","_ref$valueAccessor","valueAccessor","idProps","parseLabelList","implicitLabelList","getTangentCircle","isExternal","cornerRadius","cornerIsExternal","centerRadius","theta","centerAngle","circleTangency","lineTangencyAngle","lineTangency","getSectorPath","tempEndAngle","outerStartPoint","outerEndPoint","innerStartPoint","innerEndPoint","getSectorWithCorner","forceCornerRadius","_getTangentCircle","soct","solt","sot","_getTangentCircle2","eoct","eolt","eot","outerArcAngle","_getTangentCircle3","sict","silt","sit","_getTangentCircle4","eict","eilt","eit","innerArcAngle","defaultProps","Sector","sectorProps","deltaRadius","cr","CURVE_FACTORIES","curveBumpX","curveBumpY","curveMonotoneX","curveMonotoneY","curveStepAfter","curveStepBefore","getX","getY","getCurveFactory","_ref$points","points","baseLine","_ref$connectNulls","connectNulls","curveFactory","formatPoints","lineFunction","formatBaseLine","areaPoints","Curve","pathRef","realPath","React.createElement","ReactPropTypesSecret","ReactPropTypesSecret_1","emptyFunction","emptyFunctionWithReset","factoryWithThrowingShims","shim","propName","componentName","location","propFullName","secret","getShim","ReactPropTypes","propTypesModule","getOwnPropertyNames","getOwnPropertySymbols","combineComparators","comparatorA","comparatorB","state","createIsCircular","areItemsEqual","cachedA","cachedB","getShortTag","getStrictProperties","hasOwn","sameValueZeroEqual","PREACT_VNODE","PREACT_OWNER","REACT_OWNER","getOwnPropertyDescriptor","areArraysEqual","areDatesEqual","areErrorsEqual","areFunctionsEqual","areMapsEqual","matchedIndices","aIterable","aResult","bResult","bIterable","hasMatch","matchIndex","aEntry","bEntry","areNumbersEqual","areObjectsEqual","properties","isPropertyEqual","areObjectsEqualStrict","descriptorA","descriptorB","arePrimitiveWrappersEqual","areRegExpsEqual","areSetsEqual","areTypedArraysEqual","areUrlsEqual","ARGUMENTS_TAG","BOOLEAN_TAG","DATE_TAG","ERROR_TAG","MAP_TAG","NUMBER_TAG","OBJECT_TAG","REG_EXP_TAG","SET_TAG","STRING_TAG","URL_TAG","assign","createEqualityComparator","_a","unknownTagComparators","unknownTagComparator","shortTag","createEqualityComparatorConfig","circular","createCustomConfig","strict","areArraysEqual$1","areMapsEqual$1","areObjectsEqual$1","areSetsEqual$1","createInternalEqualityComparator","_indexOrKeyA","_indexOrKeyB","_parentA","_parentB","createIsEqual","createState","equals","_b","meta","deepEqual","createCustomEqual","createCustomInternalComparator","safeRequestAnimationFrame","setRafTimeout","timeout","currTime","shouldUpdate","_toArray","createAnimateManager","currStyle","handleChange","shouldStop","setStyle","_style","styles","_styles","curr","restStyles","_handleChange","hint","prim","getIntersectionKeys","preObj","nextObj","param","getDashCase","mapObject","getTransitionVal","duration","easing","prop","ACCURACY","cubicBezierFactor","c1","c2","multyTime","params","pre","cubicBezier","derivativeCubicBezier","newParams","configBezier","_easing$1$split$0$spl","_easing$1$split$0$spl2","curveX","curveY","derCurveX","rangeValue","bezier","_t","evalT","derVal","configSpring","_config$stiff","stiff","_config$damping","damping","_config$dt","dt","stepper","currX","destX","currV","FSpring","FDamping","newV","newX","configEasing","alpha","needContinue","from","to","calStepperVals","preVals","steps","nextStepVals","_easing","_easing2","configUpdate","render","interKeys","timingStyle","stepperStyle","cafId","preTime","beginTime","update","getCurrStyle","shouldStopAnimation","stepperUpdate","deltaTime","timingUpdate","sourceKeys","_createSuper","Derived","hasNativeReflectConstruct","Super","NewTarget","Animate","_super","isActive","attributeName","canBegin","_this$props3","shouldReAnimate","currentFrom","newState","isTriggered","_newState","onAnimationEnd","onAnimationStart","startAnimation","finalStartAnimation","_this3","_steps$","initialStyle","_steps$$duration","initialTime","addStyle","nextItem","_nextItem$easing","nextProperties","preItem","transition","newStyle","propsTo","manager","_this$props4","stateStyle","cloneContainer","container","_container$props","_container$props$styl","PropTypes","getRectanglePath","ySign","xSign","newRadius","_newRadius","isInRectangle","minX","maxX","minY","maxY","Rectangle","rectangleProps","totalLength","setTotalLength","pathTotalLength","animationBegin","isUpdateAnimationActive","currWidth","currHeight","currY","isValidatePoint","getParsedPoints","segmentPoints","getSinglePolygonPath","segPoints","polygonPath","getRanglePath","baseLinePoints","outerPath","Polygon","hasStroke","rangePath","singlePath","Dot","Cross","_ref$x","_ref$y","_ref$top","_ref$left","maxBy","maxBy_1","minBy","minBy_1","PolarRadiusAxis","orientation","maxRadiusTick","minRadiusTick","axisLine","extent","point0","point1","tickFormatter","axisProps","customTickProps","coord","tickProps","_this$props5","tickItem","eps","PolarAngleAxis","tickSize","tickLineSize","p1","p2","axisLineType","tickLine","tickLineProps","lineCoord","getPrototype","_getPrototype","objectCtorString","isPlainObject","isPlainObject_1","isBoolean","isBoolean_1","getTrapezoidPath","upperWidth","lowerWidth","widthGap","Trapezoid","trapezoidProps","currUpperWidth","currLowerWidth","defaultPropTransformer","isSymbolsProps","shapeType","_elementProps","ShapeSelector","elementProps","getPropsFromShapeOption","Shape","_ref2$propTransformer","propTransformer","_ref2$activeClassName","activeClassName","isFunnel","_item","isPie","isScatter","compareFunnel","shapeData","activeTooltipItem","_activeTooltipItem$la","_activeTooltipItem$la2","xMatches","yMatches","comparePie","startAngleMatches","endAngleMatches","compareScatter","zMatches","getComparisonFn","activeItem","comparison","getShapeDataKey","shapeKey","getActiveShapeTooltipPayload","_activeItem$tooltipPa","_activeItem$tooltipPa2","getActiveShapeIndexForTooltip","itemData","tooltipPayload","activeItemMatches","datum","dataIndex","valuesMatch","mouseCoordinateMatches","indexOfMouseCoordinates","coordinatesMatch","activeIndex","_Pie","Pie","sectors","labelLine","valueKey","pieProps","customLabelProps","customLabelLineProps","offsetRadius","labels","lineProps","realDataKey","activeShape","blendStroke","inactiveShapeProp","inactiveShape","sectorOptions","animationId","_this$state","prevSectors","prevIsAnimationActive","stepData","curAngle","paddingAngle","angleIp","latest","interpolatorAngle","_latest","pieRef","_this4","next","_next","_this5","isAnimationFinished","presentationProps","cells","cell","maxPieRadius","pieData","nameKey","minAngle","absDeltaAngle","notZeroItemCount","totalPadingAngle","realTotalAngle","tempStartAngle","middleRadius","tooltipPosition","nativeCeil","baseRange","_baseRange","MAX_INTEGER","toFinite","toFinite_1","createRange","_createRange","range_1","PREFIX_LIST","generatePrefixStyle","camelName","createScale","travellerWidth","scalePoint","scaleValues","isTouch","Brush","onDragEnd","startX","endX","gap","minIndex","maxIndex","slideMoveStartX","onChange","newIndex","_this$state2","brushMoveStartX","movingTravellerId","prevValue","isFullGap","_this$state3","currentScaleValue","currentIndex","newScaleValue","_this$props6","_this$props7","chartElement","travellerX","_data$startIndex","_data$endIndex","_this$props8","traveller","ariaLabel","travellerProps","ariaLabelBrush","_this$props9","_this$props10","_this$state4","_this$props11","alwaysShowText","_this$state5","isTextActive","isSlideMoving","isTravellerMoving","isTravellerFocused","isPanoramic","lineY","rectangle","updateId","valueRange","baseSome","_baseSome","some","some_1","ifOverflowMatches","alwaysShow","ifOverflow","baseAssignValue","_baseAssignValue","mapValues","mapValues_1","arrayEvery","_arrayEvery","baseEvery","_baseEvery","every","every_1","typeguardBarRectangleProps","xProp","yProp","xValue","yValue","heightValue","widthValue","BarRectangle","minPointSizeCallback","minPointSize","isValueNumberOrNil","_Bar","Bar","activeBar","baseProps","prevData","interpolatorX","interpolatorY","interpolatorWidth","interpolatorHeight","_interpolatorHeight","backgroundProps","background","needClip","clipPathId","errorBarItems","dataPoint","errorBarProps","needClipX","needClipY","xAxisTicks","yAxisTicks","dataStartIndex","displayedData","pos","minPointSizeProp","stackedDomain","baseValue","rects","baseValueScale","currentValueScale","computedHeight","_baseValueScale","_currentValueScale","_delta","_axis$padding","mirror","offsetKey","calculatedPadding","needSpace","smallestDistanceBetweenValues","sortedValues","smallestDistanceInPercent","rangeWidth","halfBand","rectWithPoints","rectWithCoords","ScaleHelper","bandAware","_offset2","createLabeledScales","scales","normalizeAngle","getAngledRectangleWidth","normalizedAngle","angleRadians","angleThreshold","angledWidth","createFind","findIndexFunc","_createFind","toInteger","remainder","toInteger_1","findIndex","findIndex_1","find","find_1","calculateViewBox","XAxisContext","YAxisContext","ViewBoxContext","OffsetContext","createContext","ClipPathIdContext","ChartHeightContext","ChartWidthContext","ChartLayoutContextProvider","_props$state","xAxisMap","yAxisMap","useClipPathId","useContext","useXAxisOrThrow","xAxisId","useArbitraryXAxis","useYAxisWithFiniteDomainOrRandom","yAxisWithFiniteDomain","useYAxisOrThrow","yAxisId","useViewBox","useOffset","useChartWidth","useChartHeight","renderLine","getEndPoints","isFixedX","isFixedY","isSegment","xAxisOrientation","yAxisOrientation","yCoord","xCoord","_coord","_points","segment","_points2","ReferenceLineImpl","fixedX","fixedY","isX","isY","endPoints","_endPoints","_endPoints$","_endPoints$2","clipPath","ReferenceLine","getCoordinate","ReferenceDot","dotProps","getRect","hasX1","hasX2","hasY1","hasY2","xValue1","xValue2","yValue1","yValue2","ReferenceArea","getEveryNthWithCondition","isValid","getAngledTickWidth","contentSize","unitSize","getTickBoundaries","sizeKey","isWidth","isVisible","tickPosition","getSize","getNumberIntervalTicks","getEquidistantTicks","boundaries","getTickSize","minTickGap","initialStart","stepsize","_loop","tickCoord","isShow","_ret","getTicksEnd","getTicksStart","preserveEnd","tail","tailSize","tailGap","isTailShow","_loop2","getTicks","fontSize","letterSpacing","candidates","_excluded3","CartesianAxis","_Component","nextState","viewBoxOld","restPropsOld","htmlLayer","tickMargin","tx","ty","finalTickSize","needHeight","needWidth","finalTicks","_this2$getTickLineCoo","ticksGenerator","noTicksProps","combinedClassName","Component","Background","fillOpacity","ry","renderLineItem","lineItem","_filterProps","restOfFilteredProps","HorizontalGridLines","_props$horizontal","horizontal","horizontalPoints","lineItemProps","VerticalGridLines","_props$vertical","vertical","verticalPoints","HorizontalStripes","horizontalFill","_props$horizontal2","roundedSortedHorizontalPoints","lastStripe","colorIndex","VerticalStripes","_props$vertical2","verticalFill","roundedSortedVerticalPoints","defaultVerticalCoordinatesGenerator","defaultHorizontalCoordinatesGenerator","CartesianGrid","_props$stroke","_props$fill","_props$horizontal3","_props$horizontalFill","_props$vertical3","_props$verticalFill","propsIncludingDefaults","horizontalValues","verticalValues","verticalCoordinatesGenerator","horizontalCoordinatesGenerator","isHorizontalValues","generatorResult","isVerticalValues","_generatorResult","Line","lines","lineLength","remainLength","restLength","remainLines","emptyLines","curveDom","clipDot","customDotProps","dots","dotsProps","curveProps","strokeDasharray","animateNewValues","prevPoints","prevPointsDiffFactor","prevPointIndex","_interpolatorX","_interpolatorY","curLength","currentStrokeDasharray","hasSinglePoint","_ref2$r","_ref2$strokeWidth","strokeWidth","_ref3$clipDot","dotSize","linesUnit","dotItem","XAxisImpl","axisOptions","XAxis","React.Component","YAxisImpl","YAxis","detectReferenceElementsDomain","specifiedTicks","areas","idKey","finalDomain","key1","key2","value2","has","Events","EE","addListener","emitter","listener","evt","clearEvent","EventEmitter","events","handlers","listeners","a2","a3","a4","a5","eventCenter","SYNC_EVENT","AccessibilityManager","_ref$coordinateList","coordinateList","_ref$container","_ref$layout","_ref$offset","_ref$mouseHandlerCall","mouseHandlerCallback","_window","_window2","_this$container$getBo","scrollOffsetX","scrollOffsetY","pageX","pageY","isDomainSpecifiedByUser","domainStart","domainEnd","getCursorRectangle","activeCoordinate","tooltipAxisBandSize","getRadialCursorPoints","getCursorPoints","innerPoint","outerPoint","Cursor","_element$props$cursor","_defaultProps","element","tooltipEventType","activePayload","activeTooltipIndex","elementPropsCursor","cursorComp","_getRadialCursorPoint","cursorProps","ORIENT_MAP","FULL_WIDTH_AND_HEIGHT","originCoordinate","renderAsIs","calculateTooltipPos","rangeObj","getActiveCoordinate","tooltipTicks","_angle","_radius","getDisplayedData","graphicalItems","dataEndIndex","itemsData","getDefaultDomainByAxisType","getTooltipContent","chartData","activeLabel","tooltipAxis","_child$props$data","getTooltipData","rangeData","getAxisMapByAxes","axes","axisIdKey","stackOffset","isCategorical","_childProps$domain2","childProps","allowDuplicatedCategory","includeHidden","itemAxisId","categoricalDomain","defaultDomain","_childProps$domain","childDomain","duplicate","errorBarsDomain","_defaultProps2","_defaultProps3","itemHide","axisDomain","isDomainValid","getAxisMapByItems","Axis","_defaultProps4","_defaultProps5","getAxisMap","_ref4$axisType","AxisComp","tooltipTicksGenerator","createDefaultState","defaultShowTooltip","brushItem","hasGraphicalBarItem","getAxisNameByLayout","calculateOffset","prevLegendBBox","_ref5$xAxisMap","_ref5$yAxisMap","offsetH","offsetV","brushBottom","offsetWidth","offsetHeight","getCartesianAxisSize","axisObj","axisName","generateCategoricalChart","GraphicalChild","_ref6$defaultTooltipE","defaultTooltipEventType","_ref6$validateTooltip","validateTooltipEventTypes","axisComponents","getFormatItems","currentState","globalMaxBarSize","_getAxisNameByLayout","numericAxisName","cateAxisName","formattedItems","childMaxBarSize","axisObjInitialValue","cateAxis","cateTicks","itemIsBar","_getBandSizeOfAxis","barBandSize","composedFn","updateStateOfAxisMapsOffsetAndStackGroups","_getAxisNameByLayout2","cateAxisMap","ticksObj","CategoricalChartWrapper","_props$id","_props$throttleDelay","cId","_ref9","mouse","_nextState","onMouseEnter","onMouseMove","onMouseLeave","eventName","_mouse","_nextState2","onClick","onMouseDown","_nextState3","onMouseUp","_nextState4","onDoubleClick","_nextState5","onContextMenu","_nextState6","syncMethod","chartX","chartY","validateChartX","validateChartY","_element$props$active","isTooltipActive","elementDefaultProps","axisOption","_element$props","radialLines","polarAngles","polarRadius","radiusAxisMap","angleAxisMap","radiusAxis","angleAxis","_tooltipItem$props$ac","tooltipItem","_this$state6","_this$state7","_element$props2","_element$props2$xAxis","_element$props2$yAxis","_ref10","activePoint","basePoint","childIndex","isRange","itemItemProps","activeDot","_this$state8","_item$props","hasActive","itemEvents","findWithPayload","_this$getItemByXY","_ref11","_ref11$graphicalItem","_ref11$graphicalItem$","xyItem","_this$props$margin$le","_this$props$margin$to","tooltipElem","defaultIndex","independentAxisCoord","dependentAxisCoord","isHorizontal","scatterPlotElement","_ref12","_this$props$margin$le2","_this$props$margin$to2","eventType","boundingRect","containerOffset","_this$state9","toolTipData","xScale","yScale","scaledX","scaledY","isInRange","_this$state10","tooltipEvents","outerEvents","_this$state$offset","_ref13","_ref14","_ref15","_ref16","_this$state$xAxisMap","_this$state$yAxisMap","chartXY","_this$state11","itemDisplayName","activeBarItem","_activeBarItem","compact","_this$props$tabIndex","_this$props$role","defaultState","_defaultState","keepFromPrevState","updatesToState","_brush$props$startInd","_brush$props","_brush$props$endIndex","_brush$props2","brush","hasDifferentStartOrEndIndex","hasGlobalData","newUpdateId","CategoricalChart","LineChart","BarChart","PieChart"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396]} \ No newline at end of file diff --git a/build/assets/conclusionApi-DoX_H3Tk.js b/build/assets/conclusionApi-Cz9GiHQM.js similarity index 76% rename from build/assets/conclusionApi-DoX_H3Tk.js rename to build/assets/conclusionApi-Cz9GiHQM.js index b83d4e6..ea7eab7 100644 --- a/build/assets/conclusionApi-DoX_H3Tk.js +++ b/build/assets/conclusionApi-Cz9GiHQM.js @@ -1,2 +1 @@ -import{a as s}from"./index-y_ojbF9T.js";import"./radix-vendor-CYvDqP9X.js";import"./charts-vendor-BVfwAPj-.js";import"./utils-vendor-DNMmNUQL.js";import"./ui-vendor-DfwWW08H.js";import"./socket-vendor-TjCxX7sJ.js";import"./redux-vendor-tbZCm13o.js";import"./router-vendor-B_rK4TXr.js";async function m(n){return(await s.post(`/conclusions/${n}/generate`)).data.data}async function f(n,t){return(await s.post(`/conclusions/${n}/finalize`,{finalRemark:t})).data.data}async function d(n){var t;try{return(await s.get(`/conclusions/${n}`)).data.data}catch(o){if(((t=o.response)==null?void 0:t.status)===404)return null;throw o}}export{f as finalizeConclusion,m as generateConclusion,d as getConclusion}; -//# sourceMappingURL=conclusionApi-DoX_H3Tk.js.map +import{a as s}from"./index-5rjlVIR5.js";import"./radix-vendor-CYvDqP9X.js";import"./charts-vendor-BVfwAPj-.js";import"./utils-vendor-BTBPSQfW.js";import"./ui-vendor-BFJfF1vG.js";import"./socket-vendor-TjCxX7sJ.js";import"./redux-vendor-tbZCm13o.js";import"./router-vendor-B_rK4TXr.js";async function m(n){return(await s.post(`/conclusions/${n}/generate`)).data.data}async function f(n,t){return(await s.post(`/conclusions/${n}/finalize`,{finalRemark:t})).data.data}async function d(n){var t;try{return(await s.get(`/conclusions/${n}`)).data.data}catch(o){if(((t=o.response)==null?void 0:t.status)===404)return null;throw o}}export{f as finalizeConclusion,m as generateConclusion,d as getConclusion}; diff --git a/build/assets/conclusionApi-DoX_H3Tk.js.map b/build/assets/conclusionApi-DoX_H3Tk.js.map deleted file mode 100644 index 9423849..0000000 --- a/build/assets/conclusionApi-DoX_H3Tk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"conclusionApi-DoX_H3Tk.js","sources":["../../src/services/conclusionApi.ts"],"sourcesContent":["import apiClient from './authApi';\r\n\r\nexport interface ConclusionRemark {\r\n conclusionId: string;\r\n requestId: string;\r\n aiGeneratedRemark: string | null;\r\n aiModelUsed: string | null;\r\n aiConfidenceScore: number | null;\r\n finalRemark: string | null;\r\n editedBy: string | null;\r\n isEdited: boolean;\r\n editCount: number;\r\n approvalSummary: any;\r\n documentSummary: any;\r\n keyDiscussionPoints: string[];\r\n generatedAt: string | null;\r\n finalizedAt: string | null;\r\n createdAt: string;\r\n updatedAt: string;\r\n}\r\n\r\n/**\r\n * Generate AI-powered conclusion remark\r\n */\r\nexport async function generateConclusion(requestId: string): Promise<{\r\n conclusionId: string;\r\n aiGeneratedRemark: string;\r\n keyDiscussionPoints: string[];\r\n confidence: number;\r\n generatedAt: string;\r\n}> {\r\n const response = await apiClient.post(`/conclusions/${requestId}/generate`);\r\n return response.data.data;\r\n}\r\n\r\n/**\r\n * Update conclusion remark (edit by initiator)\r\n */\r\nexport async function updateConclusion(requestId: string, finalRemark: string): Promise {\r\n const response = await apiClient.put(`/conclusions/${requestId}`, { finalRemark });\r\n return response.data.data;\r\n}\r\n\r\n/**\r\n * Finalize conclusion and close request\r\n */\r\nexport async function finalizeConclusion(requestId: string, finalRemark: string): Promise<{\r\n conclusionId: string;\r\n requestNumber: string;\r\n status: string;\r\n finalRemark: string;\r\n finalizedAt: string;\r\n}> {\r\n const response = await apiClient.post(`/conclusions/${requestId}/finalize`, { finalRemark });\r\n return response.data.data;\r\n}\r\n\r\n/**\r\n * Get conclusion for a request\r\n * Returns null if conclusion doesn't exist (404) instead of throwing error\r\n */\r\nexport async function getConclusion(requestId: string): Promise {\r\n try {\r\n const response = await apiClient.get(`/conclusions/${requestId}`);\r\n return response.data.data;\r\n } catch (error: any) {\r\n // Handle 404 gracefully - conclusion doesn't exist yet, which is normal\r\n if (error.response?.status === 404) {\r\n return null;\r\n }\r\n // Re-throw other errors\r\n throw error;\r\n }\r\n}\r\n\r\n"],"names":["generateConclusion","requestId","apiClient","finalizeConclusion","finalRemark","getConclusion","error","_a"],"mappings":"6RAwBA,eAAsBA,EAAmBC,EAMtC,CAED,OADiB,MAAMC,EAAU,KAAK,gBAAgBD,CAAS,WAAW,GAC1D,KAAK,IACvB,CAaA,eAAsBE,EAAmBF,EAAmBG,EAMzD,CAED,OADiB,MAAMF,EAAU,KAAK,gBAAgBD,CAAS,YAAa,CAAE,YAAAG,EAAa,GAC3E,KAAK,IACvB,CAMA,eAAsBC,EAAcJ,EAAqD,OACvF,GAAI,CAEF,OADiB,MAAMC,EAAU,IAAI,gBAAgBD,CAAS,EAAE,GAChD,KAAK,IACvB,OAASK,EAAY,CAEnB,KAAIC,EAAAD,EAAM,WAAN,YAAAC,EAAgB,UAAW,IAC7B,OAAO,KAGT,MAAMD,CACR,CACF"} \ No newline at end of file diff --git a/build/assets/index-5rjlVIR5.js b/build/assets/index-5rjlVIR5.js new file mode 100644 index 0000000..7f145c5 --- /dev/null +++ b/build/assets/index-5rjlVIR5.js @@ -0,0 +1,60 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/conclusionApi-Cz9GiHQM.js","assets/radix-vendor-CYvDqP9X.js","assets/charts-vendor-BVfwAPj-.js","assets/utils-vendor-BTBPSQfW.js","assets/ui-vendor-BFJfF1vG.js","assets/socket-vendor-TjCxX7sJ.js","assets/redux-vendor-tbZCm13o.js","assets/router-vendor-B_rK4TXr.js"])))=>i.map(i=>d[i]); +var Ng=Object.defineProperty;var wg=(t,s,a)=>s in t?Ng(t,s,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[s]=a;var Ui=(t,s,a)=>wg(t,typeof s!="symbol"?s+"":s,a);import{j as e,S as Du,R as Pu,I as Iu,F as Eu,a as Cg,T as Sg,P as Ag,C as Tg,b as kg,O as Fu,c as _u,d as Rg,e as Dg,f as Pg,D as Ig,g as Eg,A as Fg,h as _g,i as Lg,k as Mg,l as $g,m as Og,n as Ug,V as Bg,o as Vg,p as zg,q as Hg,r as Wg,s as Gg,t as Yg,u as Kg,v as Xg,w as Zg,x as Jg,y as Qg,z as qg,B as ef,E as tf,G as sf,H as af,J as rf,K as nf,L as lf,M as of,N as cf,Q as Lu,U as Mu,W as df,X as $u,Y as Ou,Z as mf,_ as uf,$ as xf,a0 as hf,a1 as pf,a2 as gf,a3 as ff,a4 as bf,a5 as yf,a6 as vf,a7 as jf,a8 as Nf,a9 as wf,aa as Cf,ab as Sf}from"./radix-vendor-CYvDqP9X.js";import{a as Af,r as p,c as Uu,d as Pr,B as kl,C as ei,X as ti,Y as si,T as Ir,L as ai,e as fa,P as Bu,f as Vu,g as zu,h as Tf,i as Td,j as fi,k as bi,b as kf}from"./charts-vendor-BVfwAPj-.js";import{a as no,f as Hu,s as Vs,e as io,b as kd,c as Rf,d as ja,g as hn,i as lo,h as Wu,j as _s,k as Us,l as Bi,m as ka,n as Df,o as Rl,p as Pf,q as He,r as Dl,t as If,u as Ef,v as Ff,w as _f,x as Vi,y as Rd,z as Lf,A as Gu,B as Yu,C as oo,D as co,E as Mf,F as $f,G as Ku,H as wr,I as zi,J as Of,K as Uf,L as Bf}from"./utils-vendor-BTBPSQfW.js";import{L as Vf,S as hs,C as ze,a as Ls,b as lt,X as ft,H as zf,c as Xu,U as Vt,F as Re,d as De,e as wn,P as gs,f as Hf,g as Wf,B as qs,h as Va,i as Hi,j as mo,k as uo,l as yr,m as Zu,n as yi,o as Ju,p as ot,q as Ya,R as $t,I as Ur,T as Ot,r as st,s as ha,t as Gf,A as ss,u as as,M as As,v as vi,w as kt,x as Pl,D as Ct,Z as xo,y as cs,z as Yf,E as Kf,G as Xf,J as Zf,K as Jf,N as Qf,O as qf,Q as e0,V as t0,W as Qu,Y as s0,_ as a0,$ as Ra,a0 as ji,a1 as za,a2 as ri,a3 as Dd,a4 as _n,a5 as ni,a6 as qu,a7 as wt,a8 as r0,a9 as K,aa as ta,ab as Ns,ac as ex,ad as Gt,ae as tx,af as ht,ag as n0,ah as i0,ai as sx,aj as Ni,ak as ax,al as l0,am as o0,an as ho,ao as zs,ap as Da,aq as wi,ar as Ci,as as Rs,at as c0,au as d0,av as rx,aw as m0,ax as Wn,ay as pn,az as po,aA as Si,aB as ii,aC as nx,aD as ix,aE as lx,aF as Ai,aG as Ti,aH as u0,aI as ln,aJ as ox,aK as Il,aL as x0,aM as h0,aN as p0,aO as go,aP as fo,aQ as bo,aR as g0,aS as Pd,aT as cx,aU as f0,aV as yo,aW as b0,aX as Ln,aY as y0,aZ as Id,a_ as v0,a$ as j0,b0 as N0}from"./ui-vendor-BFJfF1vG.js";import{l as w0}from"./socket-vendor-TjCxX7sJ.js";import{c as Br,a as C0}from"./redux-vendor-tbZCm13o.js";import{u as Ks,a as Ea,b as dx,B as S0,R as A0,c as Lt,O as T0}from"./router-vendor-B_rK4TXr.js";(function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))r(n);new MutationObserver(n=>{for(const i of n)if(i.type==="childList")for(const l of i.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&r(l)}).observe(document,{childList:!0,subtree:!0});function a(n){const i={};return n.integrity&&(i.integrity=n.integrity),n.referrerPolicy&&(i.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?i.credentials="include":n.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(n){if(n.ep)return;n.ep=!0;const i=a(n);fetch(n.href,i)}})();var El={},Ed=Af;El.createRoot=Ed.createRoot,El.hydrateRoot=Ed.hydrateRoot;var mx={exports:{}},ux={};var Cn=p;function k0(t,s){return t===s&&(t!==0||1/t===1/s)||t!==t&&s!==s}var R0=typeof Object.is=="function"?Object.is:k0,D0=Cn.useSyncExternalStore,P0=Cn.useRef,I0=Cn.useEffect,E0=Cn.useMemo,F0=Cn.useDebugValue;ux.useSyncExternalStoreWithSelector=function(t,s,a,r,n){var i=P0(null);if(i.current===null){var l={hasValue:!1,value:null};i.current=l}else l=i.current;i=E0(function(){function c(u){if(!d){if(d=!0,m=u,u=r(u),n!==void 0&&l.hasValue){var g=l.value;if(n(g,u))return h=g}return h=u}if(g=h,R0(m,u))return g;var b=r(u);return n!==void 0&&n(g,b)?(m=u,g):(m=u,h=b)}var d=!1,m,h,x=a===void 0?null:a;return[function(){return c(s())},x===null?void 0:function(){return c(x())}]},[s,a,r,n]);var o=D0(t,i[0],i[1]);return I0(function(){l.hasValue=!0,l.value=o},[o]),F0(o),o};mx.exports=ux;var _0=mx.exports;function L0(t){t()}function M0(){let t=null,s=null;return{clear(){t=null,s=null},notify(){L0(()=>{let a=t;for(;a;)a.callback(),a=a.next})},get(){const a=[];let r=t;for(;r;)a.push(r),r=r.next;return a},subscribe(a){let r=!0;const n=s={callback:a,next:null,prev:s};return n.prev?n.prev.next=n:t=n,function(){!r||t===null||(r=!1,n.next?n.next.prev=n.prev:s=n.prev,n.prev?n.prev.next=n.next:t=n.next)}}}}var Fd={notify(){},get:()=>[]};function $0(t,s){let a,r=Fd,n=0,i=!1;function l(b){m();const f=r.subscribe(b);let y=!1;return()=>{y||(y=!0,f(),h())}}function o(){r.notify()}function c(){g.onStateChange&&g.onStateChange()}function d(){return i}function m(){n++,a||(a=t.subscribe(c),r=M0())}function h(){n--,a&&n===0&&(a(),a=void 0,r.clear(),r=Fd)}function x(){i||(i=!0,m())}function u(){i&&(i=!1,h())}const g={addNestedSub:l,notifyNestedSubs:o,handleChangeWrapper:c,isSubscribed:d,trySubscribe:x,tryUnsubscribe:u,getListeners:()=>r};return g}var O0=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",U0=O0(),B0=()=>typeof navigator<"u"&&navigator.product==="ReactNative",V0=B0(),z0=()=>U0||V0?p.useLayoutEffect:p.useEffect,H0=z0(),Wi=Symbol.for("react-redux-context"),Gi=typeof globalThis<"u"?globalThis:{};function W0(){if(!p.createContext)return{};const t=Gi[Wi]??(Gi[Wi]=new Map);let s=t.get(p.createContext);return s||(s=p.createContext(null),t.set(p.createContext,s)),s}var Ha=W0();function G0(t){const{children:s,context:a,serverState:r,store:n}=t,i=p.useMemo(()=>{const c=$0(n);return{store:n,subscription:c,getServerState:r?()=>r:void 0}},[n,r]),l=p.useMemo(()=>n.getState(),[n]);H0(()=>{const{subscription:c}=i;return c.onStateChange=c.notifyNestedSubs,c.trySubscribe(),l!==n.getState()&&c.notifyNestedSubs(),()=>{c.tryUnsubscribe(),c.onStateChange=void 0}},[i,l]);const o=a||Ha;return p.createElement(o.Provider,{value:i},s)}var Y0=G0;function vo(t=Ha){return function(){return p.useContext(t)}}var xx=vo();function hx(t=Ha){const s=t===Ha?xx:vo(t),a=()=>{const{store:r}=s();return r};return Object.assign(a,{withTypes:()=>a}),a}var K0=hx();function X0(t=Ha){const s=t===Ha?K0:hx(t),a=()=>s().dispatch;return Object.assign(a,{withTypes:()=>a}),a}var Z0=X0(),J0=(t,s)=>t===s;function Q0(t=Ha){const s=t===Ha?xx:vo(t),a=(r,n={})=>{const{equalityFn:i=J0}=typeof n=="function"?{equalityFn:n}:n,l=s(),{store:o,subscription:c,getServerState:d}=l;p.useRef(!0);const m=p.useCallback({[r.name](x){return r(x)}}[r.name],[r]),h=_0.useSyncExternalStoreWithSelector(c.addNestedSub,o.getState,d||o.getState,m,i);return p.useDebugValue(h),h};return Object.assign(a,{withTypes:()=>a}),a}var q0=Q0(),Fl=function(t,s){return Fl=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,r){a.__proto__=r}||function(a,r){for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(a[n]=r[n])},Fl(t,s)};function eb(t,s){if(typeof s!="function"&&s!==null)throw new TypeError("Class extends value "+String(s)+" is not a constructor or null");Fl(t,s);function a(){this.constructor=t}t.prototype=s===null?Object.create(s):(a.prototype=s.prototype,new a)}var li=function(){return li=Object.assign||function(s){for(var a,r=1,n=arguments.length;r0&&g[g.length-1])||C[0]!==6&&C[0]!==2)){f=0;continue}if(C[0]===3&&(!g||C[1]>g[0]&&C[1]0?setTimeout(u,w):u(null)}}window.addEventListener("storage",y),m.addToWaiting(y);var v=setTimeout(y,Math.max(0,h-Date.now()))})];case 1:return x.sent(),[2]}})})},m.addToWaiting=function(h){this.removeFromWaiting(h),m.waiters!==void 0&&m.waiters.push(h)},m.removeFromWaiting=function(h){m.waiters!==void 0&&(m.waiters=m.waiters.filter(function(x){return x!==h}))},m.notifyWaiters=function(){m.waiters!==void 0&&m.waiters.slice().forEach(function(h){return h()})},m.prototype.releaseLock=function(h){return a(this,void 0,void 0,function(){return r(this,function(x){switch(x.label){case 0:return[4,this.releaseLock__private__(h)];case 1:return[2,x.sent()]}})})},m.prototype.releaseLock__private__=function(h){return a(this,void 0,void 0,function(){var x,u,g,b;return r(this,function(f){switch(f.label){case 0:return x=this.storageHandler===void 0?l:this.storageHandler,u=i+"-"+h,(g=x.getItemSync(u))===null?[2]:(b=JSON.parse(g)).id!==this.id?[3,2]:[4,ir.default().lock(b.iat)];case 1:f.sent(),this.acquiredIatSet.delete(b.iat),x.removeItemSync(u),ir.default().unlock(b.iat),m.notifyWaiters(),f.label=2;case 2:return[2]}})})},m.lockCorrector=function(h){for(var x=Date.now()-5e3,u=h,g=[],b=0;;){var f=u.keySync(b);if(f===null)break;g.push(f),b++}for(var y=!1,v=0;v.")},ab=li(li({},sb),{buildAuthorizeUrl:Es,buildLogoutUrl:Es,getAccessTokenSilently:Es,getAccessTokenWithPopup:Es,getIdTokenClaims:Es,loginWithRedirect:Es,loginWithPopup:Es,connectAccountWithRedirect:Es,logout:Es,handleRedirectCallback:Es,getDpopNonce:Es,setDpopNonce:Es,generateDpopProof:Es,createFetcher:Es}),rb=p.createContext(ab);(function(t){eb(s,t);function s(a,r){var n=t.call(this,r??a)||this;return n.error=a,n.error_description=r,Object.setPrototypeOf(n,s.prototype),n}return s})(Error);var nb=function(t){return t===void 0&&(t=rb),p.useContext(t)};const Yi="idToken",Ki="userData",ib=()=>!0;class tt{static setAccessToken(s){}static getAccessToken(){return null}static setRefreshToken(s){}static getRefreshToken(){return null}static setIdToken(s){sessionStorage.setItem(Yi,s)}static getIdToken(){return sessionStorage.getItem(Yi)}static setUserData(s){localStorage.setItem(Ki,JSON.stringify(s))}static getUserData(){const s=localStorage.getItem(Ki);if(!s)return null;try{return JSON.parse(s)}catch{return null}}static clearAll(){try{sessionStorage.setItem("__logout_in_progress__","true"),sessionStorage.setItem("__force_logout__","true")}catch(s){console.warn("Could not set logout flags:",s)}try{localStorage.removeItem(Ki),sessionStorage.removeItem(Yi)}catch(s){console.warn("Error clearing user data:",s)}{try{sessionStorage.setItem("__logout_in_progress__","true"),sessionStorage.setItem("__force_logout__","true")}catch{}return}}static hasAccessToken(){return!!this.getUserData()}static hasRefreshToken(){return!!this.getUserData()}static isLocalhost(){return window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"||window.location.hostname===""}static isProduction(){return ib()}}function Xi(t,s=5){if(!t)return!0;try{const a=t.split(".");if(a.length!==3||!a[1])return!0;const n=JSON.parse(atob(a[1])).exp*1e3,i=Date.now(),l=s*60*1e3;return n-it,t=>Promise.reject(t));je.interceptors.response.use(t=>t,async t=>{var a,r;const s=t.config;if(t.code==="ERR_NETWORK"||t.code==="ECONNREFUSED"||(a=t.message)!=null&&a.includes("ERR_CONNECTION_REFUSED"),((r=t.response)==null?void 0:r.status)===401&&!s._retry){s._retry=!0;const n=!0;try{const i=tt.getRefreshToken(),l=await no.post(`${px}/auth/refresh`,n?{}:{refreshToken:i},{withCredentials:!0}),c=(l.data.data||l.data).accessToken;return je(s)}catch(i){return tt.clearAll(),window.location.href="/",Promise.reject(i)}}return Promise.reject(t)});async function lb(t,s){var a,r;try{const n=await je.post("/auth/token-exchange",{code:t,redirectUri:s},{responseType:"json",headers:{"Content-Type":"application/json",Accept:"application/json"}});if(Array.isArray(n.data))throw console.error("❌ Response is an array (buffer issue):",{arrayLength:n.data.length,firstFew:n.data.slice(0,10),rawResponse:n}),new Error("Invalid response format: received array instead of JSON. Check Content-Type header.");const i=n.data,l=i.data||i;return l.user&&tt.setUserData(l.user),l.idToken&&tt.setIdToken(l.idToken),l.accessToken&&l.refreshToken&&(tt.setAccessToken(l.accessToken),tt.setRefreshToken(l.refreshToken)),l}catch(n){throw console.error("❌ Token exchange failed:",{message:n.message,response:(a=n.response)==null?void 0:a.data,status:(r=n.response)==null?void 0:r.status,code:t?`${t.substring(0,10)}...`:"MISSING",redirectUri:s}),n}}async function ob(){var r;const t={},a=(await je.post("/auth/refresh",t)).data;if((r=a.data)!=null&&r.accessToken||a.accessToken,a.success!==!1)return"cookie-based-auth";throw new Error("Failed to refresh token")}async function sn(){const s=(await je.get("/auth/me")).data;return s.data||s}async function cb(){var t,s;try{await je.post("/auth/logout",{},{withCredentials:!0})}catch(a){console.error("📡 Logout API error:",a),console.error("📡 Error details:",{message:a.message,status:(t=a.response)==null?void 0:t.status,data:(s=a.response)==null?void 0:s.data})}}const _l="https://ssodev.rebridge.co.in/realms/RE",gx="REFLOW",wo=`${window.location.origin}/login/callback`;function db(){const t=new URLSearchParams(window.location.search),s=t.has("logout")||t.has("tanflow_logged_out");s&&(sessionStorage.removeItem("tanflow_logged_out"),sessionStorage.removeItem("__logout_in_progress__"),sessionStorage.removeItem("__force_logout__"),console.log("🚪 Cleared logout flags before initiating Tanflow login"));const a=Math.random().toString(36).substring(7);sessionStorage.setItem("auth_provider","tanflow"),sessionStorage.setItem("tanflow_auth_state",a);let r=`${_l}/protocol/openid-connect/auth?client_id=${gx}&response_type=code&scope=openid&redirect_uri=${encodeURIComponent(wo)}&state=${a}`;s&&(r+="&prompt=login",console.log("🚪 Adding prompt=login to force re-authentication after logout")),console.log("🚪 Initiating Tanflow login",{isAfterLogout:s,hasPrompt:s}),window.location.href=r}async function mb(t,s){var r,n,i;const a="https://reflow-uat.royalenfield.com/api/v1/";try{const l=await no.post(`${a}/auth/tanflow/token-exchange`,{code:t,redirectUri:wo,state:s},{withCredentials:!0,headers:{"Content-Type":"application/json"}}),o=((r=l.data)==null?void 0:r.data)||l.data;return o.accessToken&&tt.setAccessToken(o.accessToken),o.refreshToken&&tt.setRefreshToken(o.refreshToken),o.idToken&&tt.setIdToken(o.idToken),o.user&&tt.setUserData(o.user),o}catch(l){throw console.error("❌ Tanflow token exchange failed:",{message:l.message,response:(n=l.response)==null?void 0:n.data,status:(i=l.response)==null?void 0:i.status}),l}}function ub(t){if(!t){console.warn("🚪 No id_token available for Tanflow logout, redirecting to home");const n=`${window.location.origin}/?tanflow_logged_out=true&logout=${Date.now()}`;window.location.replace(n);return}const s=wo,a=new URL(`${_l}/protocol/openid-connect/logout`);a.searchParams.set("client_id",gx),a.searchParams.set("id_token_hint",t),a.searchParams.set("post_logout_redirect_uri",s);const r=a.toString();console.log("🚪 Tanflow logout initiated",{hasIdToken:!!t,idTokenPrefix:t?t.substring(0,20)+"...":"none",postLogoutRedirectUri:s,logoutUrlBase:`${_l}/protocol/openid-connect/logout`,finalLogoutUrl:r.replace(t.substring(0,20),"***")}),sessionStorage.setItem("__logout_in_progress__","true"),sessionStorage.setItem("__force_logout__","true"),console.log("🚪 Redirecting to Tanflow logout endpoint..."),window.location.href=r}const fx=p.createContext(void 0);function xb({children:t}){const[s,a]=p.useState(!1),[r,n]=p.useState(!0),[i,l]=p.useState(null),[o,c]=p.useState(null),[d,m]=p.useState(!1);p.useEffect(()=>{const v=sessionStorage.getItem("__logout_in_progress__"),w=sessionStorage.getItem("__force_logout__");if(v==="true"||w==="true"){sessionStorage.removeItem("__logout_in_progress__"),sessionStorage.removeItem("__force_logout__"),tt.clearAll();try{localStorage.clear(),sessionStorage.clear()}catch(k){console.error("Error clearing storage:",k)}a(!1),l(null),n(!1),c(null);return}const C=new URLSearchParams(window.location.search);if(C.has("logout")||C.has("okta_logged_out")||C.has("tanflow_logged_out")){console.log("🚪 Logout parameter detected in URL, clearing all tokens"),tt.clearAll(),sessionStorage.removeItem("auth_provider"),sessionStorage.removeItem("tanflow_auth_state"),sessionStorage.removeItem("__logout_in_progress__"),sessionStorage.removeItem("__force_logout__"),sessionStorage.removeItem("tanflow_logged_out"),localStorage.clear(),a(!1),l(null),n(!1);const k=new URLSearchParams;C.has("okta_logged_out")&&k.set("okta_logged_out","true"),C.has("tanflow_logged_out")&&k.set("tanflow_logged_out","true");const S=k.toString()?`/?${k.toString()}`:"/";window.history.replaceState({},document.title,S);return}window.location.pathname==="/login/callback"||window.location.pathname==="/login/tanflow/callback"||(tt.getUserData(),d?n(!1):x())},[d]),p.useEffect(()=>{if(!s)return;const v=async()=>{try{await f()}catch(k){console.error("Silent refresh failed:",k)}},w=10*60*1e3,C=setInterval(v,w);return()=>clearInterval(C)},[s]);const h=p.useRef(!1);p.useEffect(()=>{if(h.current||window.location.pathname!=="/login/callback")return;(async()=>{const w=new URLSearchParams(window.location.search);if((w.has("logout")||w.has("tanflow_logged_out")||w.has("okta_logged_out"))&&!w.get("code")){console.log("🚪 Logout redirect detected in callback, redirecting to home");const _=new URLSearchParams;w.has("tanflow_logged_out")&&_.set("tanflow_logged_out","true"),w.has("okta_logged_out")&&_.set("okta_logged_out","true"),w.has("logout")&&_.set("logout",w.get("logout")||Date.now().toString());const D=_.toString()?`/?${_.toString()}`:"/?logout="+Date.now();window.location.replace(D);return}h.current=!0;const C=w.get("code"),k=w.get("error");if(window.history.replaceState({},document.title,"/login/callback"),sessionStorage.getItem("auth_provider")==="tanflow"){h.current=!1;return}if(k){c(new Error(`Authentication error: ${k}`)),n(!1),sessionStorage.removeItem("auth_provider");return}if(!C){n(!1),sessionStorage.removeItem("auth_provider");return}try{n(!0),a(!1),c(null);const _=`${window.location.origin}/login/callback`,D=await lb(C,_);l(D.user),a(!0),c(null),sessionStorage.removeItem("auth_provider"),window.history.replaceState({},document.title,"/")}catch(_){console.error("❌ Token exchange error in AuthContext:",_),c(_),a(!1),l(null),sessionStorage.removeItem("auth_provider"),h.current=!1}finally{n(!1)}})()},[]);const x=async()=>{var w;if(d){n(!1);return}const v=!0;try{if(n(!0),v){const S=tt.getUserData();try{const _=await sn();l(_),tt.setUserData(_),a(!0)}catch(_){if(((w=_==null?void 0:_.response)==null?void 0:w.status)===401)try{await f();const D=await sn();l(D),tt.setUserData(D),a(!0)}catch{tt.clearAll(),a(!1),l(null)}else _!=null&&_.isConnectionError?S?(l(S),a(!0)):(a(!1),l(null)):(tt.clearAll(),a(!1),l(null))}return}const C=tt.getAccessToken(),k=tt.getUserData();if(!C){a(!1),l(null),n(!1);return}if(Xi(C))try{await f();const S=tt.getAccessToken();if(S&&!Xi(S)){const _=tt.getUserData();if(_)l(_),a(!0);else try{const D=await sn();l(D),tt.setUserData(D),a(!0)}catch{tt.clearAll(),a(!1),l(null)}}else tt.clearAll(),a(!1),l(null)}catch{tt.clearAll(),a(!1),l(null)}else if(k)l(k),a(!0);else try{const S=await sn();l(S),tt.setUserData(S),a(!0)}catch{tt.clearAll(),a(!1),l(null)}}catch(C){console.error("Error checking auth status:",C),c(C),tt.clearAll(),a(!1),l(null)}finally{n(!1)}},u=async()=>{try{c(null);const v="https://dev-830839.oktapreview.co",w="0oa2jgzvrpdwx2iqd0h8",C=`${window.location.origin}/login/callback`,k="code",S="openid profile email",_=Math.random().toString(36).substring(7);sessionStorage.setItem("auth_provider","okta");const D=new URLSearchParams(window.location.search),A=D.has("logout")||D.has("okta_logged_out")||D.has("tanflow_logged_out");let N=`${v}/oauth2/default/v1/authorize?client_id=${w}&redirect_uri=${encodeURIComponent(C)}&response_type=${k}&scope=${encodeURIComponent(S)}&state=${_}`;A&&(N+="&prompt=login"),window.location.href=N}catch(v){throw c(v),v}},g=async()=>{try{const v=tt.getIdToken(),w=sessionStorage.getItem("auth_provider")||(v&&v.includes("tanflow")?"tanflow":null)||"okta";sessionStorage.setItem("__logout_in_progress__","true"),sessionStorage.setItem("__force_logout__","true"),m(!0),a(!1),l(null),c(null),n(!0);try{await cb(),console.log("🚪 Backend logout API called successfully")}catch(D){console.error("🚪 Logout API error:",D),console.warn("🚪 Backend logout failed - httpOnly cookies may not be cleared")}const C=sessionStorage.getItem("__logout_in_progress__"),k=sessionStorage.getItem("__force_logout__"),S=sessionStorage.getItem("auth_provider");if(tt.clearAll(),C&&sessionStorage.setItem("__logout_in_progress__",C),k&&sessionStorage.setItem("__force_logout__",k),v&&tt.setIdToken(v),S&&sessionStorage.setItem("auth_provider",S),await new Promise(D=>setTimeout(D,100)),w==="tanflow"&&v){console.log("🚪 Initiating Tanflow logout...");try{ub(v);return}catch(D){console.error("🚪 Tanflow logout error:",D)}}console.log("🚪 Using OKTA logout flow or fallback"),sessionStorage.removeItem("auth_provider"),v&&tt.clearAll();const _=`${window.location.origin}/?okta_logged_out=true&logout=${Date.now()}`;window.location.replace(_)}catch(v){console.error("🚪 Logout error:",v);try{localStorage.clear(),sessionStorage.clear(),sessionStorage.setItem("__logout_in_progress__","true");const w=`${window.location.origin}/?okta_logged_out=true&logout=${Date.now()}`;window.location.replace(w)}catch{window.location.replace("/?logout="+Date.now())}}},b=async()=>{{if(s)return"cookie-based-auth";try{return await f(),s?"cookie-based-auth":null}catch{return null}}const v=tt.getAccessToken();if(v&&!Xi(v))return v;try{return await f(),tt.getAccessToken()}catch{return null}},f=async()=>{try{const w=await ob();return}catch(w){throw tt.clearAll(),a(!1),l(null),w}},y={isAuthenticated:s,isLoading:r,user:i,error:o,login:u,logout:g,getAccessTokenSilently:b,refreshTokenSilently:f};return e.jsx(fx.Provider,{value:y,children:t})}function hb({children:t}){return e.jsx(xb,{children:t})}function Kt(){const t=p.useContext(fx);if(t===void 0)throw new Error("useAuth must be used within an AuthProvider");return t}function lr(t){return(t==null?void 0:t.role)==="ADMIN"}function Jr(t){return(t==null?void 0:t.role)==="MANAGEMENT"}function ki(t){return(t==null?void 0:t.role)==="MANAGEMENT"||(t==null?void 0:t.role)==="ADMIN"}const Md=t=>typeof t=="boolean"?`${t}`:t===0?"0":t,$d=Uu,bx=(t,s)=>a=>{var r;if((s==null?void 0:s.variants)==null)return $d(t,a==null?void 0:a.class,a==null?void 0:a.className);const{variants:n,defaultVariants:i}=s,l=Object.keys(n).map(d=>{const m=a==null?void 0:a[d],h=i==null?void 0:i[d];if(m===null)return null;const x=Md(m)||Md(h);return n[d][x]}),o=a&&Object.entries(a).reduce((d,m)=>{let[h,x]=m;return x===void 0||(d[h]=x),d},{}),c=s==null||(r=s.compoundVariants)===null||r===void 0?void 0:r.reduce((d,m)=>{let{class:h,className:x,...u}=m;return Object.entries(u).every(g=>{let[b,f]=g;return Array.isArray(f)?f.includes({...i,...o}[b]):{...i,...o}[b]===f})?[...d,h,x]:d},[]);return $d(t,l,c,a==null?void 0:a.class,a==null?void 0:a.className)},Co="-",pb=t=>{const s=fb(t),{conflictingClassGroups:a,conflictingClassGroupModifiers:r}=t;return{getClassGroupId:l=>{const o=l.split(Co);return o[0]===""&&o.length!==1&&o.shift(),yx(o,s)||gb(l)},getConflictingClassGroupIds:(l,o)=>{const c=a[l]||[];return o&&r[l]?[...c,...r[l]]:c}}},yx=(t,s)=>{var l;if(t.length===0)return s.classGroupId;const a=t[0],r=s.nextPart.get(a),n=r?yx(t.slice(1),r):void 0;if(n)return n;if(s.validators.length===0)return;const i=t.join(Co);return(l=s.validators.find(({validator:o})=>o(i)))==null?void 0:l.classGroupId},Od=/^\[(.+)\]$/,gb=t=>{if(Od.test(t)){const s=Od.exec(t)[1],a=s==null?void 0:s.substring(0,s.indexOf(":"));if(a)return"arbitrary.."+a}},fb=t=>{const{theme:s,prefix:a}=t,r={nextPart:new Map,validators:[]};return yb(Object.entries(t.classGroups),a).forEach(([i,l])=>{Ll(l,r,i,s)}),r},Ll=(t,s,a,r)=>{t.forEach(n=>{if(typeof n=="string"){const i=n===""?s:Ud(s,n);i.classGroupId=a;return}if(typeof n=="function"){if(bb(n)){Ll(n(r),s,a,r);return}s.validators.push({validator:n,classGroupId:a});return}Object.entries(n).forEach(([i,l])=>{Ll(l,Ud(s,i),a,r)})})},Ud=(t,s)=>{let a=t;return s.split(Co).forEach(r=>{a.nextPart.has(r)||a.nextPart.set(r,{nextPart:new Map,validators:[]}),a=a.nextPart.get(r)}),a},bb=t=>t.isThemeGetter,yb=(t,s)=>s?t.map(([a,r])=>{const n=r.map(i=>typeof i=="string"?s+i:typeof i=="object"?Object.fromEntries(Object.entries(i).map(([l,o])=>[s+l,o])):i);return[a,n]}):t,vb=t=>{if(t<1)return{get:()=>{},set:()=>{}};let s=0,a=new Map,r=new Map;const n=(i,l)=>{a.set(i,l),s++,s>t&&(s=0,r=a,a=new Map)};return{get(i){let l=a.get(i);if(l!==void 0)return l;if((l=r.get(i))!==void 0)return n(i,l),l},set(i,l){a.has(i)?a.set(i,l):n(i,l)}}},vx="!",jb=t=>{const{separator:s,experimentalParseClassName:a}=t,r=s.length===1,n=s[0],i=s.length,l=o=>{const c=[];let d=0,m=0,h;for(let f=0;fm?h-m:void 0;return{modifiers:c,hasImportantModifier:u,baseClassName:g,maybePostfixModifierPosition:b}};return a?o=>a({className:o,parseClassName:l}):l},Nb=t=>{if(t.length<=1)return t;const s=[];let a=[];return t.forEach(r=>{r[0]==="["?(s.push(...a.sort(),r),a=[]):a.push(r)}),s.push(...a.sort()),s},wb=t=>({cache:vb(t.cacheSize),parseClassName:jb(t),...pb(t)}),Cb=/\s+/,Sb=(t,s)=>{const{parseClassName:a,getClassGroupId:r,getConflictingClassGroupIds:n}=s,i=[],l=t.trim().split(Cb);let o="";for(let c=l.length-1;c>=0;c-=1){const d=l[c],{modifiers:m,hasImportantModifier:h,baseClassName:x,maybePostfixModifierPosition:u}=a(d);let g=!!u,b=r(g?x.substring(0,u):x);if(!b){if(!g){o=d+(o.length>0?" "+o:o);continue}if(b=r(x),!b){o=d+(o.length>0?" "+o:o);continue}g=!1}const f=Nb(m).join(":"),y=h?f+vx:f,v=y+b;if(i.includes(v))continue;i.push(v);const w=n(b,g);for(let C=0;C0?" "+o:o)}return o};function Ab(){let t=0,s,a,r="";for(;t{if(typeof t=="string")return t;let s,a="";for(let r=0;rh(m),t());return a=wb(d),r=a.cache.get,n=a.cache.set,i=o,o(c)}function o(c){const d=r(c);if(d)return d;const m=Sb(c,a);return n(c,m),m}return function(){return i(Ab.apply(null,arguments))}}const Et=t=>{const s=a=>a[t]||[];return s.isThemeGetter=!0,s},Nx=/^\[(?:([a-z-]+):)?(.+)\]$/i,kb=/^\d+\/\d+$/,Rb=new Set(["px","full","screen"]),Db=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Pb=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Ib=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,Eb=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Fb=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Sa=t=>Er(t)||Rb.has(t)||kb.test(t),$a=t=>Vr(t,"length",Vb),Er=t=>!!t&&!Number.isNaN(Number(t)),Zi=t=>Vr(t,"number",Er),Qr=t=>!!t&&Number.isInteger(Number(t)),_b=t=>t.endsWith("%")&&Er(t.slice(0,-1)),it=t=>Nx.test(t),Oa=t=>Db.test(t),Lb=new Set(["length","size","percentage"]),Mb=t=>Vr(t,Lb,wx),$b=t=>Vr(t,"position",wx),Ob=new Set(["image","url"]),Ub=t=>Vr(t,Ob,Hb),Bb=t=>Vr(t,"",zb),qr=()=>!0,Vr=(t,s,a)=>{const r=Nx.exec(t);return r?r[1]?typeof s=="string"?r[1]===s:s.has(r[1]):a(r[2]):!1},Vb=t=>Pb.test(t)&&!Ib.test(t),wx=()=>!1,zb=t=>Eb.test(t),Hb=t=>Fb.test(t),Wb=()=>{const t=Et("colors"),s=Et("spacing"),a=Et("blur"),r=Et("brightness"),n=Et("borderColor"),i=Et("borderRadius"),l=Et("borderSpacing"),o=Et("borderWidth"),c=Et("contrast"),d=Et("grayscale"),m=Et("hueRotate"),h=Et("invert"),x=Et("gap"),u=Et("gradientColorStops"),g=Et("gradientColorStopPositions"),b=Et("inset"),f=Et("margin"),y=Et("opacity"),v=Et("padding"),w=Et("saturate"),C=Et("scale"),k=Et("sepia"),S=Et("skew"),_=Et("space"),D=Et("translate"),A=()=>["auto","contain","none"],N=()=>["auto","hidden","clip","visible","scroll"],P=()=>["auto",it,s],R=()=>[it,s],O=()=>["",Sa,$a],F=()=>["auto",Er,it],$=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],V=()=>["solid","dashed","dotted","double","none"],T=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],j=()=>["start","end","center","between","around","evenly","stretch"],U=()=>["","0",it],I=()=>["auto","avoid","all","avoid-page","page","left","right","column"],M=()=>[Er,it];return{cacheSize:500,separator:":",theme:{colors:[qr],spacing:[Sa,$a],blur:["none","",Oa,it],brightness:M(),borderColor:[t],borderRadius:["none","","full",Oa,it],borderSpacing:R(),borderWidth:O(),contrast:M(),grayscale:U(),hueRotate:M(),invert:U(),gap:R(),gradientColorStops:[t],gradientColorStopPositions:[_b,$a],inset:P(),margin:P(),opacity:M(),padding:R(),saturate:M(),scale:M(),sepia:U(),skew:M(),space:R(),translate:R()},classGroups:{aspect:[{aspect:["auto","square","video",it]}],container:["container"],columns:[{columns:[Oa]}],"break-after":[{"break-after":I()}],"break-before":[{"break-before":I()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...$(),it]}],overflow:[{overflow:N()}],"overflow-x":[{"overflow-x":N()}],"overflow-y":[{"overflow-y":N()}],overscroll:[{overscroll:A()}],"overscroll-x":[{"overscroll-x":A()}],"overscroll-y":[{"overscroll-y":A()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[b]}],"inset-x":[{"inset-x":[b]}],"inset-y":[{"inset-y":[b]}],start:[{start:[b]}],end:[{end:[b]}],top:[{top:[b]}],right:[{right:[b]}],bottom:[{bottom:[b]}],left:[{left:[b]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",Qr,it]}],basis:[{basis:P()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",it]}],grow:[{grow:U()}],shrink:[{shrink:U()}],order:[{order:["first","last","none",Qr,it]}],"grid-cols":[{"grid-cols":[qr]}],"col-start-end":[{col:["auto",{span:["full",Qr,it]},it]}],"col-start":[{"col-start":F()}],"col-end":[{"col-end":F()}],"grid-rows":[{"grid-rows":[qr]}],"row-start-end":[{row:["auto",{span:[Qr,it]},it]}],"row-start":[{"row-start":F()}],"row-end":[{"row-end":F()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",it]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",it]}],gap:[{gap:[x]}],"gap-x":[{"gap-x":[x]}],"gap-y":[{"gap-y":[x]}],"justify-content":[{justify:["normal",...j()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...j(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...j(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[v]}],px:[{px:[v]}],py:[{py:[v]}],ps:[{ps:[v]}],pe:[{pe:[v]}],pt:[{pt:[v]}],pr:[{pr:[v]}],pb:[{pb:[v]}],pl:[{pl:[v]}],m:[{m:[f]}],mx:[{mx:[f]}],my:[{my:[f]}],ms:[{ms:[f]}],me:[{me:[f]}],mt:[{mt:[f]}],mr:[{mr:[f]}],mb:[{mb:[f]}],ml:[{ml:[f]}],"space-x":[{"space-x":[_]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[_]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",it,s]}],"min-w":[{"min-w":[it,s,"min","max","fit"]}],"max-w":[{"max-w":[it,s,"none","full","min","max","fit","prose",{screen:[Oa]},Oa]}],h:[{h:[it,s,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[it,s,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[it,s,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[it,s,"auto","min","max","fit"]}],"font-size":[{text:["base",Oa,$a]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",Zi]}],"font-family":[{font:[qr]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",it]}],"line-clamp":[{"line-clamp":["none",Er,Zi]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",Sa,it]}],"list-image":[{"list-image":["none",it]}],"list-style-type":[{list:["none","disc","decimal",it]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[t]}],"placeholder-opacity":[{"placeholder-opacity":[y]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[t]}],"text-opacity":[{"text-opacity":[y]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...V(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",Sa,$a]}],"underline-offset":[{"underline-offset":["auto",Sa,it]}],"text-decoration-color":[{decoration:[t]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:R()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",it]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",it]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[y]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...$(),$b]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",Mb]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},Ub]}],"bg-color":[{bg:[t]}],"gradient-from-pos":[{from:[g]}],"gradient-via-pos":[{via:[g]}],"gradient-to-pos":[{to:[g]}],"gradient-from":[{from:[u]}],"gradient-via":[{via:[u]}],"gradient-to":[{to:[u]}],rounded:[{rounded:[i]}],"rounded-s":[{"rounded-s":[i]}],"rounded-e":[{"rounded-e":[i]}],"rounded-t":[{"rounded-t":[i]}],"rounded-r":[{"rounded-r":[i]}],"rounded-b":[{"rounded-b":[i]}],"rounded-l":[{"rounded-l":[i]}],"rounded-ss":[{"rounded-ss":[i]}],"rounded-se":[{"rounded-se":[i]}],"rounded-ee":[{"rounded-ee":[i]}],"rounded-es":[{"rounded-es":[i]}],"rounded-tl":[{"rounded-tl":[i]}],"rounded-tr":[{"rounded-tr":[i]}],"rounded-br":[{"rounded-br":[i]}],"rounded-bl":[{"rounded-bl":[i]}],"border-w":[{border:[o]}],"border-w-x":[{"border-x":[o]}],"border-w-y":[{"border-y":[o]}],"border-w-s":[{"border-s":[o]}],"border-w-e":[{"border-e":[o]}],"border-w-t":[{"border-t":[o]}],"border-w-r":[{"border-r":[o]}],"border-w-b":[{"border-b":[o]}],"border-w-l":[{"border-l":[o]}],"border-opacity":[{"border-opacity":[y]}],"border-style":[{border:[...V(),"hidden"]}],"divide-x":[{"divide-x":[o]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[o]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[y]}],"divide-style":[{divide:V()}],"border-color":[{border:[n]}],"border-color-x":[{"border-x":[n]}],"border-color-y":[{"border-y":[n]}],"border-color-s":[{"border-s":[n]}],"border-color-e":[{"border-e":[n]}],"border-color-t":[{"border-t":[n]}],"border-color-r":[{"border-r":[n]}],"border-color-b":[{"border-b":[n]}],"border-color-l":[{"border-l":[n]}],"divide-color":[{divide:[n]}],"outline-style":[{outline:["",...V()]}],"outline-offset":[{"outline-offset":[Sa,it]}],"outline-w":[{outline:[Sa,$a]}],"outline-color":[{outline:[t]}],"ring-w":[{ring:O()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[t]}],"ring-opacity":[{"ring-opacity":[y]}],"ring-offset-w":[{"ring-offset":[Sa,$a]}],"ring-offset-color":[{"ring-offset":[t]}],shadow:[{shadow:["","inner","none",Oa,Bb]}],"shadow-color":[{shadow:[qr]}],opacity:[{opacity:[y]}],"mix-blend":[{"mix-blend":[...T(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":T()}],filter:[{filter:["","none"]}],blur:[{blur:[a]}],brightness:[{brightness:[r]}],contrast:[{contrast:[c]}],"drop-shadow":[{"drop-shadow":["","none",Oa,it]}],grayscale:[{grayscale:[d]}],"hue-rotate":[{"hue-rotate":[m]}],invert:[{invert:[h]}],saturate:[{saturate:[w]}],sepia:[{sepia:[k]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[a]}],"backdrop-brightness":[{"backdrop-brightness":[r]}],"backdrop-contrast":[{"backdrop-contrast":[c]}],"backdrop-grayscale":[{"backdrop-grayscale":[d]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[m]}],"backdrop-invert":[{"backdrop-invert":[h]}],"backdrop-opacity":[{"backdrop-opacity":[y]}],"backdrop-saturate":[{"backdrop-saturate":[w]}],"backdrop-sepia":[{"backdrop-sepia":[k]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[l]}],"border-spacing-x":[{"border-spacing-x":[l]}],"border-spacing-y":[{"border-spacing-y":[l]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",it]}],duration:[{duration:M()}],ease:[{ease:["linear","in","out","in-out",it]}],delay:[{delay:M()}],animate:[{animate:["none","spin","ping","pulse","bounce",it]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[C]}],"scale-x":[{"scale-x":[C]}],"scale-y":[{"scale-y":[C]}],rotate:[{rotate:[Qr,it]}],"translate-x":[{"translate-x":[D]}],"translate-y":[{"translate-y":[D]}],"skew-x":[{"skew-x":[S]}],"skew-y":[{"skew-y":[S]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",it]}],accent:[{accent:["auto",t]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",it]}],"caret-color":[{caret:[t]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":R()}],"scroll-mx":[{"scroll-mx":R()}],"scroll-my":[{"scroll-my":R()}],"scroll-ms":[{"scroll-ms":R()}],"scroll-me":[{"scroll-me":R()}],"scroll-mt":[{"scroll-mt":R()}],"scroll-mr":[{"scroll-mr":R()}],"scroll-mb":[{"scroll-mb":R()}],"scroll-ml":[{"scroll-ml":R()}],"scroll-p":[{"scroll-p":R()}],"scroll-px":[{"scroll-px":R()}],"scroll-py":[{"scroll-py":R()}],"scroll-ps":[{"scroll-ps":R()}],"scroll-pe":[{"scroll-pe":R()}],"scroll-pt":[{"scroll-pt":R()}],"scroll-pr":[{"scroll-pr":R()}],"scroll-pb":[{"scroll-pb":R()}],"scroll-pl":[{"scroll-pl":R()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",it]}],fill:[{fill:[t,"none"]}],"stroke-w":[{stroke:[Sa,$a,Zi]}],stroke:[{stroke:[t,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},Gb=Tb(Wb);function ke(...t){return Gb(Uu(t))}const gn=bx("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background text-foreground hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9 rounded-md"}},defaultVariants:{variant:"default",size:"default"}}),E=p.forwardRef(({className:t,variant:s,size:a,asChild:r=!1,...n},i)=>{const l=r?Du:"button";return e.jsx(l,{"data-slot":"button",className:ke(gn({variant:s,size:a,className:t})),ref:i,...n})});E.displayName="Button";function ee({className:t,...s}){return e.jsx("div",{"data-slot":"card",className:ke("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border",t),...s})}function ge({className:t,...s}){return e.jsx("div",{"data-slot":"card-header",className:ke("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 pt-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",t),...s})}function fe({className:t,...s}){return e.jsx("h4",{"data-slot":"card-title",className:ke("leading-none",t),...s})}function $e({className:t,...s}){return e.jsx("p",{"data-slot":"card-description",className:ke("text-muted-foreground",t),...s})}function se({className:t,...s}){return e.jsx("div",{"data-slot":"card-content",className:ke("px-6 [&:last-child]:pb-6",t),...s})}const Ri="/assets/Re_Logo-By51taPS.png",Bd="/assets/landing_page_image-ClTD-4qZ.jpg";function Yb(){const{login:t,isLoading:s,error:a}=Kt(),[r,n]=p.useState(!1),[i,l]=p.useState(!1);p.useEffect(()=>{const d=new Image;d.src=Bd,d.onload=()=>{l(!0)},d.complete&&l(!0)},[]);const o=async()=>{localStorage.clear(),sessionStorage.clear();try{await t()}catch(d){console.error("========================================"),console.error("OKTA LOGIN ERROR"),console.error("Error details:",d),console.error("Error message:",d==null?void 0:d.message),console.error("Error stack:",d==null?void 0:d.stack),console.error("========================================")}},c=()=>{localStorage.clear(),sessionStorage.clear(),n(!0);try{db()}catch(d){console.error("========================================"),console.error("TANFLOW LOGIN ERROR"),console.error("Error details:",d),n(!1)}};return a&&console.error("Auth Error in Auth Component:",{message:a.message,error:a}),e.jsxs("div",{className:"min-h-screen flex items-center justify-center p-4 relative",style:{backgroundImage:i?`url(${Bd})`:"none",backgroundSize:"cover",backgroundPosition:"center",backgroundRepeat:"no-repeat",transition:"background-image 0.3s ease-in-out"},children:[!i&&e.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-slate-900 to-slate-800"}),e.jsx("div",{className:"absolute inset-0 bg-black/40"}),e.jsxs(ee,{className:"w-full max-w-md shadow-xl relative z-10 bg-black backdrop-blur-sm border-gray-800",children:[e.jsx(ge,{className:"space-y-1 text-center pb-6",children:e.jsxs("div",{className:"flex flex-col items-center justify-center mb-4",children:[e.jsx("img",{src:Ri,alt:"Royal Enfield Logo",className:"h-10 w-auto max-w-[168px] object-contain mb-2"}),e.jsx("p",{className:"text-xs text-gray-300 text-center truncate",children:"Approval Portal"})]})}),e.jsxs(se,{className:"space-y-4",children:[a&&e.jsxs("div",{className:"bg-red-900/50 border border-red-700 text-red-200 px-4 py-3 rounded-lg",children:[e.jsx("p",{className:"text-sm font-medium",children:"Authentication Error"}),e.jsx("p",{className:"text-sm",children:a.message})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx(E,{onClick:o,disabled:s||r,className:"w-full h-12 text-base font-semibold bg-re-red hover:bg-re-red/90 text-white",size:"lg",children:s?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"mr-2 h-4 w-4 animate-spin rounded-full border-2 border-white border-t-transparent"}),"Logging in..."]}):e.jsxs(e.Fragment,{children:[e.jsx(Vf,{className:"mr-2 h-5 w-5"}),"RE Employee Login"]})}),e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"absolute inset-0 flex items-center",children:e.jsx("span",{className:"w-full border-t border-gray-700"})}),e.jsx("div",{className:"relative flex justify-center text-xs uppercase",children:e.jsx("span",{className:"bg-gray-900 px-2 text-gray-400",children:"Or"})})]}),e.jsx(E,{onClick:c,disabled:s||r,className:"w-full h-12 text-base font-semibold bg-indigo-600 hover:bg-indigo-700 text-white",size:"lg",children:r?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"mr-2 h-4 w-4 animate-spin rounded-full border-2 border-white border-t-transparent"}),"Redirecting..."]}):e.jsxs(e.Fragment,{children:[e.jsx(hs,{className:"mr-2 h-5 w-5"}),"Dealer Login"]})})]}),e.jsxs("div",{className:"text-center text-sm text-gray-400 mt-4",children:[e.jsx("p",{children:"Secure Single Sign-On"}),e.jsx("p",{className:"text-xs mt-1 text-gray-500",children:"Choose your authentication provider"})]})]})]})]})}function Cx(){const{isAuthenticated:t,isLoading:s,error:a,user:r}=Kt(),[n,i]=p.useState("exchanging");p.useEffect(()=>{if(a){i("error");return}if(s){const c=new URLSearchParams(window.location.search).get("code");i(c&&!r?"exchanging":r&&!t?"fetching":"exchanging")}else r&&t&&i("complete")},[t,s,a,r]);const l=()=>{switch(n){case"exchanging":return"Exchanging authorization code...";case"fetching":return"Fetching your profile...";case"complete":return"Authentication successful!";case"error":return"Authentication failed";default:return"Completing authentication..."}};return e.jsxs("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-slate-900 via-slate-800 to-slate-900",children:[e.jsx("div",{className:"absolute inset-0 bg-[url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIHZpZXdCb3g9IjAgMCA2MCA2MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIGZpbGw9IiMxZTIxMmQiIGZpbGwtb3BhY2l0eT0iMC4wNSI+PGNpcmNsZSBjeD0iMzAiIGN5PSIzMCIgcj0iMzAiLz48L2c+PC9nPjwvc3ZnPg==')] opacity-20"}),e.jsxs("div",{className:"relative z-10 text-center px-4 max-w-md w-full",children:[e.jsx("div",{className:"mb-8",children:e.jsxs("div",{className:"flex flex-col items-center justify-center",children:[e.jsx("img",{src:Ri,alt:"Royal Enfield Logo",className:"h-10 w-auto max-w-[168px] object-contain mb-2"}),e.jsx("p",{className:"text-xs text-gray-400 text-center truncate",children:"Approval Portal"})]})}),e.jsxs("div",{className:"bg-white/10 backdrop-blur-xl rounded-2xl p-8 shadow-2xl border border-white/20",children:[e.jsx("div",{className:"mb-6 flex justify-center",children:n==="error"?e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"absolute inset-0 animate-ping opacity-75",children:e.jsx(ze,{className:"w-16 h-16 text-red-500"})}),e.jsx(ze,{className:"w-16 h-16 text-red-500 relative"})]}):n==="complete"?e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"absolute inset-0 animate-ping opacity-75",children:e.jsx(Ls,{className:"w-16 h-16 text-green-500"})}),e.jsx(Ls,{className:"w-16 h-16 text-green-500 relative"})]}):e.jsxs("div",{className:"relative",children:[e.jsx(lt,{className:"w-16 h-16 animate-spin text-re-red"}),e.jsx("div",{className:"absolute inset-0 border-4 rounded-full border-re-red/20"}),e.jsx("div",{className:"absolute inset-0 border-4 border-transparent border-t-re-red rounded-full animate-spin"})]})}),e.jsxs("div",{className:"mb-6",children:[e.jsx("h2",{className:"text-xl font-semibold text-white mb-2",children:n==="complete"?"Welcome Back!":n==="error"?"Authentication Error":"Authenticating"}),e.jsx("p",{className:"text-slate-300 text-sm",children:l()})]}),n!=="error"&&e.jsxs("div",{className:"space-y-3 mb-6",children:[e.jsxs("div",{className:`flex items-center gap-3 text-sm transition-all duration-500 ${n==="exchanging"?"text-white":"text-slate-400"}`,children:[e.jsx("div",{className:`w-2 h-2 rounded-full transition-all duration-500 ${n==="exchanging"?"bg-re-red animate-pulse":"bg-slate-600"}`}),e.jsx("span",{children:"Validating credentials"})]}),e.jsxs("div",{className:`flex items-center gap-3 text-sm transition-all duration-500 ${n==="fetching"?"text-white":"text-slate-400"}`,children:[e.jsx("div",{className:`w-2 h-2 rounded-full transition-all duration-500 ${n==="fetching"?"bg-re-red animate-pulse":"bg-slate-600"}`}),e.jsx("span",{children:"Loading your profile"})]}),n==="complete"&&e.jsxs("div",{className:"flex items-center gap-3 text-sm transition-all duration-500 text-white",children:[e.jsx("div",{className:"w-2 h-2 rounded-full transition-all duration-500 bg-green-500"}),e.jsx("span",{children:"Setting up your session"})]})]}),n==="error"&&a&&e.jsxs("div",{className:"mt-6 p-4 bg-red-500/10 border border-red-500/20 rounded-lg",children:[e.jsx("p",{className:"text-red-400 text-sm",children:a.message||"An error occurred during authentication"}),e.jsx("button",{onClick:()=>{window.location.href="/"},className:"mt-4 text-sm text-red-400 hover:text-red-300 underline",children:"Return to login"})]}),n!=="error"&&n!=="complete"&&e.jsxs("div",{className:"mt-6",children:[e.jsx("div",{className:"h-1.5 bg-slate-700/50 rounded-full overflow-hidden",children:e.jsx("div",{className:"h-full bg-re-red rounded-full animate-pulse",style:{animation:"progress 2s ease-in-out infinite"}})}),e.jsx("style",{children:` + @keyframes progress { + 0%, 100% { width: 20%; } + 50% { width: 80%; } + } + `})]})]}),e.jsx("p",{className:"mt-6 text-slate-500 text-xs",children:n==="complete"?"Loading dashboard...":"Please wait while we secure your session"})]}),e.jsxs("div",{className:"absolute inset-0 overflow-hidden pointer-events-none",children:[e.jsx("div",{className:"absolute top-1/4 left-1/4 w-96 h-96 bg-re-red/5 rounded-full blur-3xl animate-pulse"}),e.jsx("div",{className:"absolute bottom-1/4 right-1/4 w-96 h-96 bg-re-red/5 rounded-full blur-3xl animate-pulse delay-1000"})]})]})}function Kb(){const{isAuthenticated:t,isLoading:s,error:a,user:r}=Kt(),[n,i]=p.useState("exchanging"),[l,o]=p.useState(""),c=p.useRef(!1);p.useEffect(()=>{if(a){i("error");return}if(s){const h=new URLSearchParams(window.location.search).get("code");i(h&&!r?"exchanging":r&&!t?"fetching":"exchanging")}else r&&t&&(i("complete"),setTimeout(()=>{window.location.href="/"},1e3))},[t,s,a,r]),p.useEffect(()=>{if(c.current||window.location.pathname!=="/login/callback")return;const m=new URLSearchParams(window.location.search),h=m.get("code"),x=m.get("error");if(!h&&!x){console.log("🚪 Logout redirect detected: no code, no error - redirecting to home immediately"),c.current=!0;const b=new URLSearchParams;b.set("tanflow_logged_out","true"),b.set("logout",Date.now().toString());const f=`/?${b.toString()}`;console.log("🚪 Redirecting to:",f),window.location.replace(f);return}if(sessionStorage.getItem("auth_provider")!=="tanflow")return;(async()=>{c.current=!0;const b=new URLSearchParams(window.location.search),f=b.get("code"),y=b.get("state"),v=b.get("error");if(window.history.replaceState({},document.title,"/login/callback"),v){i("error"),sessionStorage.removeItem("auth_provider"),sessionStorage.removeItem("tanflow_auth_state");return}const w=sessionStorage.getItem("tanflow_auth_state");if(y&&y!==w){i("error"),sessionStorage.removeItem("auth_provider"),sessionStorage.removeItem("tanflow_auth_state");return}if(!f){i("error"),sessionStorage.removeItem("auth_provider"),sessionStorage.removeItem("tanflow_auth_state");return}try{i("exchanging");const C=await mb(f,y||"");sessionStorage.removeItem("tanflow_auth_state"),i("fetching");const k=C.user||await sn();if(k)tt.setUserData(k),i("complete"),setTimeout(()=>{window.history.replaceState({},document.title,"/"),window.location.href="/"},1e3);else throw new Error("User data not received")}catch(C){console.error("Tanflow callback error:",C),i("error"),o(C.message||"Authentication failed"),sessionStorage.removeItem("auth_provider"),sessionStorage.removeItem("tanflow_auth_state")}})()},[]);const d=()=>{switch(n){case"exchanging":return"Exchanging authorization code...";case"fetching":return"Fetching your profile...";case"complete":return"Authentication successful!";case"error":return"Authentication failed";default:return"Completing authentication..."}};return e.jsxs("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-slate-900 via-slate-800 to-slate-900",children:[e.jsx("div",{className:"absolute inset-0 bg-[url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIHZpZXdCb3g9IjAgMCA2MCA2MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIGZpbGw9IiMxZTIxMmQiIGZpbGwtb3BhY2l0eT0iMC4wNSI+PGNpcmNsZSBjeD0iMzAiIGN5PSIzMCIgcj0iMzAiLz48L2c+PC9nPjwvc3ZnPg==')] opacity-20"}),e.jsxs("div",{className:"relative z-10 text-center px-4 max-w-md w-full",children:[e.jsx("div",{className:"mb-8",children:e.jsxs("div",{className:"flex flex-col items-center justify-center",children:[e.jsx("img",{src:Ri,alt:"Royal Enfield Logo",className:"h-10 w-auto max-w-[168px] object-contain mb-2"}),e.jsx("p",{className:"text-xs text-gray-400 text-center truncate",children:"Approval Portal"})]})}),e.jsxs("div",{className:"bg-white/10 backdrop-blur-xl rounded-2xl p-8 shadow-2xl border border-white/20",children:[e.jsx("div",{className:"mb-6 flex justify-center",children:n==="error"?e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"absolute inset-0 animate-ping opacity-75",children:e.jsx(ze,{className:"w-16 h-16 text-red-500"})}),e.jsx(ze,{className:"w-16 h-16 text-red-500 relative"})]}):n==="complete"?e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"absolute inset-0 animate-ping opacity-75",children:e.jsx(Ls,{className:"w-16 h-16 text-green-500"})}),e.jsx(Ls,{className:"w-16 h-16 text-green-500 relative"})]}):e.jsxs("div",{className:"relative",children:[e.jsx(lt,{className:"w-16 h-16 animate-spin text-re-red"}),e.jsx("div",{className:"absolute inset-0 border-4 rounded-full border-re-red/20"}),e.jsx("div",{className:"absolute inset-0 border-4 border-transparent border-t-re-red rounded-full animate-spin"})]})}),e.jsxs("div",{className:"mb-6",children:[e.jsx("h2",{className:"text-xl font-semibold text-white mb-2",children:n==="complete"?"Welcome Back!":n==="error"?"Authentication Error":"Authenticating"}),e.jsx("p",{className:"text-slate-300 text-sm",children:d()})]}),n!=="error"&&e.jsxs("div",{className:"space-y-3 mb-6",children:[e.jsxs("div",{className:`flex items-center gap-3 text-sm transition-all duration-500 ${n==="exchanging"?"text-white":"text-slate-400"}`,children:[e.jsx("div",{className:`w-2 h-2 rounded-full transition-all duration-500 ${n==="exchanging"?"bg-re-red animate-pulse":"bg-slate-600"}`}),e.jsx("span",{children:"Validating credentials"})]}),e.jsxs("div",{className:`flex items-center gap-3 text-sm transition-all duration-500 ${n==="fetching"?"text-white":"text-slate-400"}`,children:[e.jsx("div",{className:`w-2 h-2 rounded-full transition-all duration-500 ${n==="fetching"?"bg-re-red animate-pulse":"bg-slate-600"}`}),e.jsx("span",{children:"Loading your profile"})]}),n==="complete"&&e.jsxs("div",{className:"flex items-center gap-3 text-sm transition-all duration-500 text-white",children:[e.jsx("div",{className:"w-2 h-2 rounded-full transition-all duration-500 bg-green-500"}),e.jsx("span",{children:"Setting up your session"})]})]}),n==="error"&&l&&e.jsxs("div",{className:"mt-6 p-4 bg-red-500/10 border border-red-500/20 rounded-lg",children:[e.jsx("p",{className:"text-red-400 text-sm",children:l}),e.jsx("button",{onClick:()=>{window.location.href="/"},className:"mt-4 text-sm text-red-400 hover:text-red-300 underline",children:"Return to login"})]}),n!=="error"&&n!=="complete"&&e.jsxs("div",{className:"mt-6",children:[e.jsx("div",{className:"h-1.5 bg-slate-700/50 rounded-full overflow-hidden",children:e.jsx("div",{className:"h-full bg-re-red rounded-full animate-pulse",style:{animation:"progress 2s ease-in-out infinite"}})}),e.jsx("style",{children:` + @keyframes progress { + 0%, 100% { width: 20%; } + 50% { width: 80%; } + } + `})]})]}),e.jsx("p",{className:"mt-6 text-slate-500 text-xs",children:n==="complete"?"Loading dashboard...":"Please wait while we secure your session"})]}),e.jsxs("div",{className:"absolute inset-0 overflow-hidden pointer-events-none",children:[e.jsx("div",{className:"absolute top-1/4 left-1/4 w-96 h-96 bg-re-red/5 rounded-full blur-3xl animate-pulse"}),e.jsx("div",{className:"absolute bottom-1/4 right-1/4 w-96 h-96 bg-re-red/5 rounded-full blur-3xl animate-pulse delay-1000"})]})]})}const Xb=bx("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"}},defaultVariants:{variant:"default"}});function ne({className:t,variant:s,asChild:a=!1,...r}){const n=a?Du:"span";return e.jsx(n,{"data-slot":"badge",className:ke(Xb({variant:s}),t),...r})}function Zb({isOpen:t,onClose:s}){const{user:a,isAuthenticated:r,isLoading:n,error:i}=nb();return p.useEffect(()=>{},[a,r,n,i]),t?e.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 p-4",children:e.jsxs(ee,{className:"w-full max-w-2xl max-h-[90vh] overflow-auto",children:[e.jsx(ge,{children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx(fe,{children:"Authentication Debug Information"}),e.jsx(E,{variant:"ghost",size:"icon",onClick:s,children:e.jsx(ft,{className:"h-4 w-4"})})]})}),e.jsxs(se,{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"font-semibold",children:"Status:"}),e.jsx(ne,{variant:r?"default":"destructive",children:n?"Loading...":r?"Authenticated":"Not Authenticated"})]}),i&&e.jsxs("div",{className:"bg-red-50 border border-red-200 rounded p-3",children:[e.jsx("p",{className:"text-sm text-red-700 font-semibold",children:"Error:"}),e.jsx("p",{className:"text-sm text-red-600",children:i.message})]}),a&&e.jsxs("div",{className:"space-y-2",children:[e.jsx("h4",{className:"font-semibold",children:"User Information:"}),e.jsx("pre",{className:"bg-gray-50 p-3 rounded text-xs overflow-auto",children:JSON.stringify(a,null,2)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("h4",{className:"font-semibold",children:"All Auth Claims:"}),e.jsx("pre",{className:"bg-gray-50 p-3 rounded text-xs overflow-auto",children:JSON.stringify({isAuthenticated:r,isLoading:n,error:(i==null?void 0:i.message)||null,hasUser:!!a},null,2)})]})]})]})}):null}const Zt=p.forwardRef(({className:t,...s},a)=>e.jsx(Pu,{ref:a,"data-slot":"avatar",className:ke("relative flex size-10 shrink-0 overflow-hidden rounded-full",t),...s}));Zt.displayName=Pu.displayName;const Di=p.forwardRef(({className:t,...s},a)=>e.jsx(Iu,{ref:a,"data-slot":"avatar-image",className:ke("aspect-square size-full",t),...s}));Di.displayName=Iu.displayName;const Jt=p.forwardRef(({className:t,...s},a)=>e.jsx(Eu,{ref:a,"data-slot":"avatar-fallback",className:ke("bg-muted flex size-full items-center justify-center rounded-full",t),...s}));Jt.displayName=Eu.displayName;function Vd({...t}){return e.jsx(Cg,{"data-slot":"dropdown-menu",...t})}function zd({...t}){return e.jsx(Sg,{"data-slot":"dropdown-menu-trigger",...t})}function Hd({className:t,sideOffset:s=4,...a}){return e.jsx(Ag,{children:e.jsx(Tg,{"data-slot":"dropdown-menu-content",sideOffset:s,className:ke("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",t),...a})})}function Ji({className:t,inset:s,variant:a="default",...r}){return e.jsx(kg,{"data-slot":"dropdown-menu-item","data-inset":s,"data-variant":a,className:ke("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...r})}function Jb({...t}){return e.jsx(Dg,{"data-slot":"alert-dialog",...t})}function Qb({...t}){return e.jsx(Rg,{"data-slot":"alert-dialog-portal",...t})}const Sx=p.forwardRef(({className:t,...s},a)=>e.jsx(Fu,{"data-slot":"alert-dialog-overlay",className:ke("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...s,ref:a}));Sx.displayName=Fu.displayName;const Ax=p.forwardRef(({className:t,...s},a)=>e.jsxs(Qb,{children:[e.jsx(Sx,{}),e.jsx(_u,{"data-slot":"alert-dialog-content",ref:a,className:ke("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",t),...s})]}));Ax.displayName=_u.displayName;function qb({className:t,...s}){return e.jsx("div",{"data-slot":"alert-dialog-header",className:ke("flex flex-col gap-2 text-center sm:text-left",t),...s})}function ey({className:t,...s}){return e.jsx("div",{"data-slot":"alert-dialog-footer",className:ke("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",t),...s})}function ty({className:t,...s}){return e.jsx(Pg,{"data-slot":"alert-dialog-title",className:ke("text-lg font-semibold",t),...s})}function sy({className:t,...s}){return e.jsx(Ig,{"data-slot":"alert-dialog-description",className:ke("text-muted-foreground text-sm",t),...s})}function ay({className:t,...s}){return e.jsx(Fg,{className:ke(gn(),t),...s})}function ry({className:t,...s}){return e.jsx(Eg,{className:ke(gn({variant:"outline"}),t),...s})}const Ba={async list(t){return(await je.get("/notifications",{params:t})).data},async getUnreadCount(){return(await je.get("/notifications/unread-count")).data},async markAsRead(t){return(await je.patch(`/notifications/${t}/read`)).data},async markAllAsRead(){return(await je.post("/notifications/mark-all-read")).data},async delete(t){return(await je.delete(`/notifications/${t}`)).data}},ny=async()=>(await je.get("/notifications/subscriptions")).data.data.subscriptions;let rr=null;function iy(){return"https://reflow-uat.royalenfield.com"}function Lr(t){const s=iy();return rr||(rr=w0(s,{withCredentials:!0,transports:["websocket","polling"],path:"/socket.io",reconnection:!0,reconnectionDelay:1e3,reconnectionAttempts:5}),rr.on("connect",()=>{}),rr.on("connect_error",a=>{console.error("[Socket] Connection error:",a.message)}),rr.on("disconnect",a=>{}),rr)}function Ml(t,s,a){a?t.emit("join:request",{requestId:s,userId:a}):t.emit("join:request",s)}function Tx(t,s){t.emit("leave:request",s)}function kx(t,s){t.emit("join:user",{userId:s})}function ys({children:t,currentPage:s="dashboard",onNavigate:a,onNewRequest:r,onLogout:n}){const[i,l]=p.useState(!1),[o,c]=p.useState(!1),[d,m]=p.useState([]),[h,x]=p.useState(0),[u,g]=p.useState(!1),{user:b}=Kt(),f=p.useMemo(()=>{try{const S=tt.getUserData();return(S==null?void 0:S.jobTitle)==="Dealer"}catch(S){return console.error("[PageLayout] Error checking dealer status:",S),!1}},[]),y=()=>{var S,_;try{if(b!=null&&b.displayName&&typeof b.displayName=="string"){const D=b.displayName.split(" ").filter(Boolean);return D.length>=2?`${((S=D[0])==null?void 0:S[0])||""}${((_=D[D.length-1])==null?void 0:_[0])||""}`.toUpperCase():b.displayName.substring(0,2).toUpperCase()}return b!=null&&b.email&&typeof b.email=="string"?b.email.substring(0,2).toUpperCase():"U"}catch(D){return console.error("[PageLayout] Error getting user initials:",D),"U"}},v=p.useMemo(()=>{const S=[{id:"dashboard",label:"Dashboard",icon:zf},{id:"requests",label:"All Requests",icon:Xu,adminOnly:!1}];return f||S.push({id:"my-requests",label:"My Requests",icon:Vt}),S.push({id:"open-requests",label:"Open Requests",icon:Re},{id:"closed-requests",label:"Closed Requests",icon:De},{id:"shared-summaries",label:"Shared Summary",icon:wn}),S},[f]),w=()=>{l(!i)},C=async S=>{var _;try{if(S.isRead||(await Ba.markAsRead(S.notificationId),m(D=>D.map(A=>A.notificationId===S.notificationId?{...A,isRead:!0}:A)),x(D=>Math.max(0,D-1))),S.actionUrl&&a){const D=(_=S.metadata)==null?void 0:_.requestNumber;if(D){let A=`request/${D}`;(S.notificationType==="mention"||S.notificationType==="comment"||S.notificationType==="worknote")&&(A+="?tab=worknotes"),a(A)}}g(!1)}catch(D){console.error("[PageLayout] Error handling notification click:",D)}},k=async()=>{try{await Ba.markAllAsRead(),m(S=>S.map(_=>({..._,isRead:!0}))),x(0)}catch(S){console.error("[PageLayout] Error marking all as read:",S)}};return p.useEffect(()=>{const S=b==null?void 0:b.userId;if(!S)return;let _=!0;(async()=>{var N,P;try{const R=await Ba.list({page:1,limit:4,unreadOnly:!1});if(!_)return;const O=((N=R.data)==null?void 0:N.notifications)||[];m(O),x(((P=R.data)==null?void 0:P.unreadCount)||0)}catch(R){console.error("[PageLayout] Failed to fetch notifications:",R)}})();const A=Lr();if(A){kx(A,S);const N=P=>{_&&(m(R=>[P.notification,...R].slice(0,4)),x(R=>R+1))};return A.on("notification:new",N),()=>{_=!1,A.off("notification:new",N)}}return()=>{_=!1}},[b]),p.useEffect(()=>{const S=()=>{window.innerWidth>=768?l(!0):l(!1)};return S(),window.addEventListener("resize",S),()=>window.removeEventListener("resize",S)},[]),e.jsxs("div",{className:"min-h-screen flex w-full bg-background",children:[i&&e.jsx("div",{className:"fixed inset-0 bg-black/50 z-40 md:hidden",onClick:()=>l(!1)}),e.jsx("aside",{className:` + fixed md:relative + inset-y-0 left-0 + w-64 + transform transition-transform duration-300 ease-in-out + ${i?"translate-x-0":"-translate-x-full"} + md:translate-x-0 + ${i?"md:w-64":"md:w-0"} + z-50 md:z-auto + flex-shrink-0 + border-r border-gray-800 bg-black + flex flex-col + overflow-hidden + `,children:e.jsxs("div",{className:`w-64 h-full flex flex-col overflow-hidden ${i?"":"md:hidden"}`,children:[e.jsx("div",{className:"p-4 border-b border-gray-800 flex-shrink-0",children:e.jsxs("div",{className:"flex flex-col items-center justify-center",children:[e.jsx("img",{src:Ri,alt:"Royal Enfield Logo",className:"h-10 w-auto max-w-[168px] object-contain"}),e.jsx("p",{className:"text-xs text-gray-400 text-center mt-1 truncate",children:"RE Flow"})]})}),e.jsxs("div",{className:"p-3 flex-1 overflow-y-auto",children:[e.jsx("div",{className:"space-y-2",children:v.filter(S=>!S.adminOnly||(b==null?void 0:b.role)==="ADMIN").map(S=>e.jsxs("button",{onClick:()=>{S.id==="admin/templates"?a==null||a("admin/templates"):a==null||a(S.id),window.innerWidth<768&&l(!1)},className:`w-full flex items-center gap-3 px-3 py-2 rounded-lg text-sm transition-colors ${s===S.id?"bg-re-green text-white font-medium":"text-gray-300 hover:bg-gray-900 hover:text-white"}`,children:[e.jsx(S.icon,{className:"w-4 h-4 shrink-0"}),e.jsx("span",{className:"truncate",children:S.label})]},S.id))}),!f&&e.jsx("div",{className:"mt-6 pt-6 border-t border-gray-800 px-3",children:e.jsxs(E,{onClick:r,className:"w-full bg-re-green hover:bg-re-green/90 text-white text-sm font-medium",size:"sm",children:[e.jsx(gs,{className:"w-4 h-4 mr-2"}),"Raise New Request"]})})]})]})}),e.jsxs("div",{className:"flex-1 flex flex-col min-w-0",children:[e.jsxs("header",{className:"h-16 border-b border-gray-200 bg-white flex items-center justify-between px-6 shrink-0",children:[e.jsx("div",{className:"flex items-center gap-4 min-w-0 flex-1",children:e.jsx(E,{variant:"ghost",size:"icon",onClick:w,className:"shrink-0 h-10 w-10 sidebar-toggle",children:i?e.jsx(Hf,{className:"w-5 h-5 text-gray-600"}):e.jsx(Wf,{className:"w-5 h-5 text-gray-600"})})}),e.jsxs("div",{className:"flex items-center gap-4 shrink-0",children:[!f&&e.jsxs(E,{onClick:r,className:"bg-re-green hover:bg-re-green/90 text-white gap-2 hidden md:flex text-sm",size:"sm",children:[e.jsx(gs,{className:"w-4 h-4"}),"New Request"]}),e.jsxs(Vd,{open:u,onOpenChange:g,children:[e.jsx(zd,{asChild:!0,children:e.jsxs(E,{variant:"ghost",size:"icon",className:"relative shrink-0 h-10 w-10",children:[e.jsx(qs,{className:"w-5 h-5"}),h>0&&e.jsx(ne,{className:"absolute -top-1 -right-1 w-5 h-5 rounded-full bg-destructive text-destructive-foreground text-xs flex items-center justify-center p-0",children:h>9?"9+":h})]})}),e.jsxs(Hd,{align:"end",className:"w-96 max-h-[500px]",children:[e.jsxs("div",{className:"p-3 border-b flex items-center justify-between sticky top-0 bg-white z-10",children:[e.jsx("h4",{className:"font-semibold text-base",children:"Notifications"}),h>0&&e.jsx(E,{variant:"ghost",size:"sm",className:"text-xs text-blue-600 hover:text-blue-700 h-auto p-1",onClick:S=>{S.stopPropagation(),k()},children:"Mark all as read"})]}),e.jsx("div",{className:"max-h-[400px] overflow-y-auto",children:d.length===0?e.jsxs("div",{className:"p-6 text-center",children:[e.jsx(qs,{className:"w-12 h-12 text-gray-300 mx-auto mb-2"}),e.jsx("p",{className:"text-sm text-gray-500",children:"No notifications yet"})]}):e.jsx("div",{className:"divide-y",children:d.map(S=>e.jsx("div",{className:`p-3 hover:bg-gray-50 cursor-pointer transition-colors ${S.isRead?"":"bg-blue-50"}`,onClick:()=>C(S),children:e.jsxs("div",{className:"flex gap-2",children:[!S.isRead&&e.jsx("div",{className:"w-2 h-2 rounded-full bg-blue-600 mt-1.5 shrink-0"}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:`text-sm ${S.isRead?"font-medium":"font-semibold"}`,children:S.title}),e.jsx("p",{className:"text-xs text-muted-foreground mt-0.5 line-clamp-2",children:S.message}),e.jsx("p",{className:"text-xs text-gray-400 mt-1",children:Hu(new Date(S.createdAt),{addSuffix:!0})})]})]})},S.notificationId))})}),d.length>0&&e.jsx("div",{className:"p-2 border-t",children:e.jsx(E,{variant:"ghost",className:"w-full text-sm text-blue-600 hover:text-blue-700",onClick:()=>{g(!1),a==null||a("notifications")},children:"View all notifications"})})]})]}),e.jsxs(Vd,{children:[e.jsx(zd,{asChild:!0,children:e.jsxs(Zt,{className:"cursor-pointer shrink-0 h-10 w-10",children:[e.jsx(Di,{src:(b==null?void 0:b.picture)||""}),e.jsx(Jt,{className:"bg-re-green text-white text-sm",children:y()})]})}),e.jsxs(Hd,{align:"end",children:[e.jsxs(Ji,{onClick:()=>a==null?void 0:a("profile"),children:[e.jsx(Vt,{className:"w-4 h-4 mr-2"}),"Profile"]}),e.jsxs(Ji,{onClick:()=>a==null?void 0:a("settings"),children:[e.jsx(Va,{className:"w-4 h-4 mr-2"}),"Settings"]}),e.jsxs(Ji,{onClick:()=>c(!0),className:"text-red-600 focus:text-red-600",children:[e.jsx(Hi,{className:"w-4 h-4 mr-2"}),"Logout"]})]})]})]})]}),e.jsx("main",{className:"flex-1 p-2 sm:p-4 lg:p-6 overflow-auto min-w-0",children:t})]}),e.jsx(Jb,{open:o,onOpenChange:c,children:e.jsxs(Ax,{children:[e.jsxs(qb,{children:[e.jsxs(ty,{className:"flex items-center gap-2",children:[e.jsx(Hi,{className:"w-5 h-5 text-red-600"}),"Confirm Logout"]}),e.jsx(sy,{className:"pt-2",children:"Are you sure you want to logout? You will need to sign in again to access your account."})]}),e.jsxs(ey,{children:[e.jsx(ry,{onClick:()=>c(!1),children:"Cancel"}),e.jsxs(ay,{onClick:async()=>{if(c(!1),n)try{await n()}catch(S){console.error("🔴 Error calling onLogout:",S)}else console.error("🔴 ERROR: onLogout is undefined!")},className:"bg-red-600 hover:bg-red-700 text-white focus:ring-red-600",children:[e.jsx(Hi,{className:"w-4 h-4 mr-2"}),"Logout"]})]})]})})]})}const Sn=()=>Z0(),zr=q0,ly=()=>{try{const t=localStorage.getItem("dashboard_viewAsUser");return t?JSON.parse(t):!1}catch{return!1}},oy={viewAsUser:ly()},Rx=Br({name:"dashboard",initialState:oy,reducers:{setViewAsUser:(t,s)=>{t.viewAsUser=s.payload,localStorage.setItem("dashboard_viewAsUser",JSON.stringify(s.payload))}}}),{setViewAsUser:cy}=Rx.actions;function dy(){const[t,s]=p.useState("all"),[a,r]=p.useState(void 0),[n,i]=p.useState(void 0),[l,o]=p.useState(!1),c=p.useCallback(h=>{const x=h;s(x),x!=="custom"?(r(void 0),i(void 0),o(!1)):o(!0)},[]),d=p.useCallback(h=>{if(a&&n){if(a>n){const x=a;r(n),i(x),h(n,x)}else h(a,n);o(!1)}},[a,n]),m=p.useCallback(()=>{r(void 0),i(void 0),o(!1),s("all")},[]);return{dateRange:t,customStartDate:a,customEndDate:n,showCustomDatePicker:l,setDateRange:s,setCustomStartDate:r,setCustomEndDate:i,setShowCustomDatePicker:o,handleDateRangeChange:c,handleApplyCustomDate:d,resetCustomDates:m}}function my(){const[t,s]=p.useState({page:1,totalPages:1,totalRecords:0}),[a,r]=p.useState({page:1,totalPages:1,totalRecords:0}),[n,i]=p.useState({page:1,totalPages:1,totalRecords:0}),[l,o]=p.useState({page:1,totalPages:1,totalRecords:0}),c=p.useCallback((f,y,v)=>{s({page:f,totalPages:y,totalRecords:v})},[]),d=p.useCallback((f,y,v)=>{r({page:f,totalPages:y,totalRecords:v})},[]),m=p.useCallback((f,y,v)=>{i({page:f,totalPages:y,totalRecords:v})},[]),h=p.useCallback((f,y,v)=>{o({page:f,totalPages:y,totalRecords:v})},[]),x=p.useCallback((f,y)=>{f>=1&&f<=t.totalPages&&(s(v=>({...v,page:f})),y(f))},[t.totalPages]),u=p.useCallback((f,y)=>{f>=1&&f<=a.totalPages&&(r(v=>({...v,page:f})),y(f))},[a.totalPages]),g=p.useCallback((f,y)=>{f>=1&&f<=n.totalPages&&(i(v=>({...v,page:f})),y(f))},[n.totalPages]),b=p.useCallback((f,y)=>{f>=1&&f<=l.totalPages&&(o(v=>({...v,page:f})),y(f))},[l.totalPages]);return{activity:t,critical:a,deadlines:n,approver:l,updateActivityPagination:c,updateCriticalPagination:d,updateDeadlinesPagination:m,updateApproverPagination:h,handleActivityPageChange:x,handleCriticalPageChange:u,handleDeadlinesPageChange:g,handleApproverPageChange:b}}class uy{async getKPIs(s,a,r,n){try{const i={dateRange:s};return s==="custom"&&a&&r&&(i.startDate=a.toISOString(),i.endDate=r.toISOString()),n&&(i.viewAsUser="true"),(await je.get("/dashboard/kpis",{params:i})).data.data}catch(i){throw console.error("Failed to fetch KPIs:",i),i}}async getRequestStats(s,a,r,n,i,l,o,c,d,m,h,x,u){try{const g={dateRange:s};return s==="custom"&&a&&r&&(g.startDate=a,g.endDate=r),n&&n!=="all"&&(g.status=n),i&&i!=="all"&&(g.priority=i),l&&l!=="all"&&(g.templateType=l),o&&o!=="all"&&(g.department=o),c&&c!=="all"&&(g.initiator=c),d&&d!=="all"&&(g.approver=d),m&&(g.approverType=m),h&&(g.search=h),x&&x!=="all"&&(g.slaCompliance=x),u&&(g.viewAsUser="true"),(await je.get("/dashboard/stats/requests",{params:g})).data.data}catch(g){throw console.error("Failed to fetch request stats:",g),g}}async getTATEfficiency(s){try{return(await je.get("/dashboard/stats/tat-efficiency",{params:{dateRange:s}})).data.data}catch(a){throw console.error("Failed to fetch TAT efficiency:",a),a}}async getApproverLoad(s){try{return(await je.get("/dashboard/stats/approver-load",{params:{dateRange:s}})).data.data}catch(a){throw console.error("Failed to fetch approver load:",a),a}}async getEngagementStats(s){try{return(await je.get("/dashboard/stats/engagement",{params:{dateRange:s}})).data.data}catch(a){throw console.error("Failed to fetch engagement stats:",a),a}}async getAIInsights(s){try{return(await je.get("/dashboard/stats/ai-insights",{params:{dateRange:s}})).data.data}catch(a){throw console.error("Failed to fetch AI insights:",a),a}}async getRecentActivity(s=1,a=10,r){try{const n={page:s,limit:a};r&&(n.viewAsUser="true");const i=await je.get("/dashboard/activity/recent",{params:n});return{activities:i.data.data,pagination:i.data.pagination}}catch(n){throw console.error("Failed to fetch recent activity:",n),n}}async getCriticalRequests(s=1,a=10,r){try{const n={page:s,limit:a};r&&(n.viewAsUser="true");const i=await je.get("/dashboard/requests/critical",{params:n});return{criticalRequests:i.data.data,pagination:i.data.pagination}}catch(n){throw console.error("Failed to fetch critical requests:",n),n}}async getUpcomingDeadlines(s=1,a=10,r){try{const n={page:s,limit:a};r&&(n.viewAsUser="true");const i=await je.get("/dashboard/deadlines/upcoming",{params:n});return{deadlines:i.data.data,pagination:i.data.pagination}}catch(n){throw console.error("Failed to fetch upcoming deadlines:",n),n}}async getDepartmentStats(s,a,r){try{const n={dateRange:s};return s==="custom"&&a&&r&&(n.startDate=a.toISOString(),n.endDate=r.toISOString()),(await je.get("/dashboard/stats/by-department",{params:n})).data.data}catch(n){throw console.error("Failed to fetch department stats:",n),n}}async getPriorityDistribution(s,a,r){try{const n={dateRange:s};return s==="custom"&&a&&r&&(n.startDate=a.toISOString(),n.endDate=r.toISOString()),(await je.get("/dashboard/stats/priority-distribution",{params:n})).data.data}catch(n){throw console.error("Failed to fetch priority distribution:",n),n}}async getAIRemarkUtilization(s,a,r){try{const n={dateRange:s};return s==="custom"&&a&&r&&(n.startDate=a.toISOString(),n.endDate=r.toISOString()),(await je.get("/dashboard/stats/ai-remark-utilization",{params:n})).data.data}catch(n){throw console.error("Failed to fetch AI remark utilization:",n),n}}async getApproverPerformance(s,a=1,r=10,n,i,l,o){try{const c={dateRange:s,page:a,limit:r||10};s==="custom"&&n&&i&&(c.startDate=n.toISOString(),c.endDate=i.toISOString()),l&&l!=="all"&&(c.priority=l),o&&o!=="all"&&(c.slaCompliance=o),console.log("[Dashboard Service] Fetching approver performance with params:",c);const d=await je.get("/dashboard/stats/approver-performance",{params:c});return{performance:d.data.data,pagination:d.data.pagination}}catch(c){throw console.error("Failed to fetch approver performance:",c),c}}async getLifecycleReport(s=1,a=50,r,n,i){try{const l={page:s,limit:a};r&&(l.dateRange=r),r==="custom"&&n&&i&&(l.startDate=n.toISOString(),l.endDate=i.toISOString());const o=await je.get("/dashboard/reports/lifecycle",{params:l});return{lifecycleData:o.data.data,pagination:o.data.pagination}}catch(l){throw console.error("Failed to fetch lifecycle report:",l),l}}async getActivityLogReport(s=1,a=50,r,n,i,l,o,c,d){try{const m={page:s,limit:a,filterUserId:n,filterType:i,filterCategory:l,filterSeverity:o};r&&(m.dateRange=r),r==="custom"&&c&&d&&(m.startDate=c.toISOString(),m.endDate=d.toISOString());const h=await je.get("/dashboard/reports/activity-log",{params:m});return{activities:h.data.data,pagination:h.data.pagination}}catch(m){throw console.error("Failed to fetch activity log report:",m),m}}async getDepartments(){try{return(await je.get("/dashboard/metadata/departments")).data.data.departments||[]}catch(s){throw console.error("Failed to fetch departments:",s),s}}async getWorkflowAgingReport(s=7,a=1,r=50,n,i,l){try{const o={threshold:s,page:a,limit:r};n&&(o.dateRange=n),n==="custom"&&i&&l&&(o.startDate=i.toISOString(),o.endDate=l.toISOString());const c=await je.get("/dashboard/reports/workflow-aging",{params:o});return{agingData:c.data.data,pagination:c.data.pagination}}catch(o){throw console.error("Failed to fetch workflow aging report:",o),o}}async getSingleApproverStats(s,a,r,n,i,l){try{const o={approverId:s};return a&&(o.dateRange=a),a==="custom"&&r&&n&&(o.startDate=r.toISOString(),o.endDate=n.toISOString()),i&&i!=="all"&&(o.priority=i),l&&l!=="all"&&(o.slaCompliance=l),(await je.get("/dashboard/stats/single-approver",{params:o})).data.data}catch(o){throw console.error("Failed to fetch single approver stats:",o),o}}async getRequestsByApprover(s,a=1,r=50,n,i,l,o,c,d,m){try{const h={approverId:s,page:a,limit:r};n&&(h.dateRange=n),n==="custom"&&i&&l&&(h.startDate=i.toISOString(),h.endDate=l.toISOString()),o&&(h.status=o),c&&(h.priority=c),d&&(h.slaCompliance=d),m&&(h.search=m);const x=await je.get("/dashboard/requests/by-approver",{params:h});return{requests:x.data.data,pagination:x.data.pagination}}catch(h){throw console.error("Failed to fetch requests by approver:",h),h}}}const At=new uy;function xy({isAdmin:t,viewAsUser:s=!1,userId:a,dateRange:r,customStartDate:n,customEndDate:i,onPaginationUpdate:l}){const[o,c]=p.useState(null),[d,m]=p.useState([]),[h,x]=p.useState([]),[u,g]=p.useState([]),[b,f]=p.useState([]),[y,v]=p.useState([]),[w,C]=p.useState(null),[k,S]=p.useState([]),[_,D]=p.useState(!0),[A,N]=p.useState(!1),P=p.useRef(l);P.current=l;const R=p.useCallback(async(T=!1)=>{try{T?N(!0):D(!0);const j=[At.getKPIs(r,n,i,s),At.getRecentActivity(1,10,s),At.getCriticalRequests(1,10,s),At.getUpcomingDeadlines(1,10,s)],U=!t&&a?At.getRequestStats(r,n==null?void 0:n.toISOString(),i==null?void 0:i.toISOString(),void 0,void 0,void 0,void 0,a,void 0,void 0,void 0,void 0,s):null,I=t?[At.getDepartmentStats(r,n,i),At.getPriorityDistribution(r,n,i),At.getAIRemarkUtilization(r,n,i),At.getApproverPerformance(r,1,10,n,i)]:[],[M,W,G]=await Promise.all([Promise.all(j),U,Promise.all(I)]),ce=M[0],te=M[1],L=M[2],z=M[3];if(!t&&W&&(ce.requestVolume=W),c(ce),m(te.activities),P.current.activity(te.pagination.currentPage,te.pagination.totalPages,te.pagination.totalRecords),x(L.criticalRequests),P.current.critical(L.pagination.currentPage,L.pagination.totalPages,L.pagination.totalRecords),v(z.deadlines),P.current.deadlines(z.pagination.currentPage,z.pagination.totalPages,z.pagination.totalRecords),t&&G.length>=4){const H=G[0],ye=G[1],ae=G[2],me=G[3];g(H),f(ye),C(ae),S(me.performance),P.current.approver(me.pagination.currentPage,me.pagination.totalPages,me.pagination.totalRecords)}else t||(g([]),f([]),C(null),S([]))}catch(j){console.error("Failed to fetch dashboard data:",j)}finally{D(!1),N(!1)}},[t,s,a,r,n,i]),O=p.useCallback(async(T=1)=>{try{const j=await At.getRecentActivity(T,10,s);m(j.activities),P.current.activity(j.pagination.currentPage,j.pagination.totalPages,j.pagination.totalRecords)}catch(j){console.error("Failed to fetch recent activities:",j)}},[s]),F=p.useCallback(async(T=1)=>{try{const j=await At.getCriticalRequests(T,10,s);x(j.criticalRequests),P.current.critical(j.pagination.currentPage,j.pagination.totalPages,j.pagination.totalRecords)}catch(j){console.error("Failed to fetch critical requests:",j)}},[s]),$=p.useCallback(async(T=1)=>{try{const j=await At.getUpcomingDeadlines(T,10,s);v(j.deadlines),P.current.deadlines(j.pagination.currentPage,j.pagination.totalPages,j.pagination.totalRecords)}catch(j){console.error("Failed to fetch upcoming deadlines:",j)}},[s]),V=p.useCallback(async(T=1)=>{try{const j=await At.getApproverPerformance(r,T,10,n,i);S(j.performance),P.current.approver(j.pagination.currentPage,j.pagination.totalPages,j.pagination.totalRecords)}catch(j){console.error("Failed to fetch approver performance:",j)}},[r,n,i]);return{kpis:o,recentActivity:d,criticalRequests:h,departmentStats:u,priorityDistribution:b,upcomingDeadlines:y,aiRemarkUtilization:w,approverPerformance:k,loading:_,refreshing:A,fetchDashboardData:R,fetchRecentActivities:O,fetchCriticalRequests:F,fetchUpcomingDeadlines:$,fetchApproverPerformance:V}}const Aa={appName:"Royal Enfield Workflow Management",appVersion:"1.2.0",workingHours:{START_HOUR:9,END_HOUR:18,START_DAY:1,END_DAY:5,TIMEZONE:"Asia/Kolkata"},tat:{thresholds:{warning:50,critical:75,breach:100},testMode:!1},upload:{maxFileSizeMB:10,allowedFileTypes:["pdf","doc","docx","xls","xlsx","ppt","pptx","jpg","jpeg","png","gif"],maxFilesPerRequest:10},workflow:{maxApprovalLevels:10,maxParticipants:50,maxSpectators:20},workNotes:{maxMessageLength:2e3,maxAttachmentsPerNote:5,enableReactions:!0,enableMentions:!0},features:{ENABLE_AI_CONCLUSION:!0,ENABLE_TEMPLATES:!1,ENABLE_ANALYTICS:!0,ENABLE_EXPORT:!0},ui:{DEFAULT_THEME:"light",DEFAULT_LANGUAGE:"en",DATE_FORMAT:"DD/MM/YYYY",TIME_FORMAT:"12h",CURRENCY:"INR",CURRENCY_SYMBOL:"₹"}};class hy{constructor(){Ui(this,"config",null);Ui(this,"loading",null)}async getConfig(){return this.config?this.config:this.loading?this.loading:(this.loading=this.fetchConfig(),this.config=await this.loading,this.loading=null,this.config)}async fetchConfig(){var s;try{const a=await je.get("/config"),r=((s=a.data)==null?void 0:s.data)||a.data;return{...Aa,...r,workingHours:{...Aa.workingHours,...r.workingHours},tat:{...Aa.tat,...r.tat},upload:{...Aa.upload,...r.upload},workflow:{...Aa.workflow,...r.workflow},workNotes:{...Aa.workNotes,...r.workNotes},features:{...Aa.features,...r.features},ui:{...Aa.ui,...r.ui}}}catch(a){return console.error("[ConfigService] ⚠️ Failed to fetch config from server, using defaults:",a),Aa}}async refreshConfig(){return this.config=null,this.loading=null,this.getConfig()}getCachedConfig(){return this.config}isLoaded(){return this.config!==null}}const py=new hy;let gy=9,fy=18,by=1,yy=5,Wd=!1;async function vy(){if(!Wd)try{const t=await py.getConfig();gy=t.workingHours.START_HOUR,fy=t.workingHours.END_HOUR,by=t.workingHours.START_DAY,yy=t.workingHours.END_DAY,Wd=!0}catch{console.warn("[SLA Tracker] ⚠️ Using default working hours (9 AM - 6 PM)")}}vy().catch(()=>{});function Ft(t){if(t==null||t<0||t===0)return"0 hours";const s=8;if(t<1){const o=Math.round(t*60);return o>0?`${o}m`:"0 hours"}const a=Math.floor(t/s),r=Math.floor(t%s),n=Math.round(t%1*60);if(a>0){const o=a===1?"day":"days",c=r===1?"hour":"hours",d=n===1?"min":"m";return n>0?`${a} ${o} ${r} ${c} ${n}${d}`:`${a} ${o} ${r} ${c}`}const i=r===1?"hour":"hours",l=n===1?"min":"m";return n>0?`${r} ${i} ${n}${l}`:`${r} ${i}`}async function jy(t,s,a){const r=[];let n=1,i=!0;const l=100;for(;i&&n<=l;){const x=await At.getApproverPerformance(t,n,100,s,a);x.performance&&x.performance.length>0?(r.push(...x.performance),n++,i=n<=x.pagination.totalPages):i=!1}const o=[["Approver Name","Total Approved","TAT Compliance (%)","Avg Response Time","Pending Count"].join(",")];r.forEach(x=>{const u=[`"${(x.approverName||"Unknown").replace(/"/g,'""')}"`,x.totalApproved||0,x.tatCompliancePercent||0,Ft(x.avgResponseHours),x.pendingCount||0];o.push(u.join(","))});const c=o.join(` +`),d=new Blob([c],{type:"text/csv;charset=utf-8;"}),m=document.createElement("a"),h=URL.createObjectURL(d);m.setAttribute("href",h),m.setAttribute("download",`approver-performance-report-${new Date().toISOString().split("T")[0]}.csv`),m.style.visibility="hidden",document.body.appendChild(m),m.click(),document.body.removeChild(m),URL.revokeObjectURL(h)}async function Ny(t,s,a){const r=await At.getDepartmentStats(t,s,a),n=[["Department","Total Requests","Approved","Rejected","In Progress","Approval Rate (%)"].join(",")];r.forEach(d=>{const m=[`"${(d.department||"Unknown").replace(/"/g,'""')}"`,d.totalRequests||0,d.approved||0,d.rejected||0,d.inProgress||0,d.approvalRate||0];n.push(m.join(","))});const i=n.join(` +`),l=new Blob([i],{type:"text/csv;charset=utf-8;"}),o=document.createElement("a"),c=URL.createObjectURL(l);o.setAttribute("href",c),o.setAttribute("download",`department-workflow-summary-${new Date().toISOString().split("T")[0]}.csv`),o.style.visibility="hidden",document.body.appendChild(o),o.click(),document.body.removeChild(o),URL.revokeObjectURL(c)}function wy(){const[t,s]=p.useState(!1),[a,r]=p.useState(!1),n=p.useCallback(async(l,o,c)=>{try{s(!0),await Ny(l,o,c)}catch(d){console.error("Failed to export department stats:",d),alert("Failed to export department statistics. Please try again.")}finally{s(!1)}},[]),i=p.useCallback(async(l,o,c)=>{try{r(!0),await jy(l,o,c)}catch(d){console.error("Failed to export approver performance:",d),alert("Failed to export approver performance data. Please try again.")}finally{r(!1)}},[]);return{exportingDeptStats:t,exportingApproverPerformance:a,handleExportDepartmentStats:n,handleExportApproverPerformance:i}}function on({className:t,...s}){return e.jsx(_g,{"data-slot":"switch",className:ke("peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-switch-background focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",t),...s,children:e.jsx(Lg,{"data-slot":"switch-thumb",className:ke("bg-card dark:data-[state=unchecked]:bg-card-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0")})})}function re({className:t,...s}){return e.jsx(Mg,{"data-slot":"label",className:ke("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",t),...s})}function Cy({isAdmin:t,effectiveIsAdmin:s,viewAsUser:a,onToggleView:r,quickActions:n,userDisplayName:i,userEmail:l}){const o=i||(l==null?void 0:l.split("@")[0])||"User";return e.jsxs(ee,{className:"relative overflow-hidden shadow-xl border-0","data-testid":"dashboard-hero",children:[e.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-slate-900 via-slate-800 to-slate-900"}),e.jsxs(se,{className:"relative z-10 p-4 sm:p-6 lg:p-12",children:[t&&e.jsx("div",{className:"absolute top-4 right-4 sm:top-6 sm:right-6 z-20","data-testid":"view-toggle",children:e.jsxs("div",{className:"flex items-center gap-1.5 sm:gap-2 p-1.5 sm:p-2 bg-white/10 backdrop-blur-sm rounded-lg border border-white/20 shadow-lg",children:[e.jsxs("div",{className:`flex items-center gap-1 sm:gap-1.5 px-1.5 sm:px-2 py-0.5 sm:py-1 rounded transition-all cursor-pointer ${a?"opacity-60 hover:opacity-80":"bg-red-600/20 border border-red-600/50"}`,onClick:()=>r(!1),children:[e.jsx(mo,{className:`w-3 h-3 sm:w-3.5 sm:h-3.5 ${a?"text-gray-300":"text-red-600"}`}),e.jsx(re,{htmlFor:"view-toggle-switch",className:`text-[10px] sm:text-xs font-medium cursor-pointer whitespace-nowrap ${a?"text-gray-300":"text-red-600"}`,children:"Org"})]}),e.jsx(on,{id:"view-toggle-switch",checked:a,onCheckedChange:r,className:"data-[state=checked]:bg-red-600 data-[state=unchecked]:bg-gray-600 shrink-0 scale-90 sm:scale-100","data-testid":"view-toggle-switch"}),e.jsxs("div",{className:`flex items-center gap-1 sm:gap-1.5 px-1.5 sm:px-2 py-0.5 sm:py-1 rounded transition-all cursor-pointer ${a?"bg-red-600/20 border border-red-600/50":"opacity-60 hover:opacity-80"}`,onClick:()=>r(!0),children:[e.jsx(Vt,{className:`w-3 h-3 sm:w-3.5 sm:h-3.5 ${a?"text-red-600":"text-gray-300"}`}),e.jsx(re,{htmlFor:"view-toggle-switch",className:`text-[10px] sm:text-xs font-medium cursor-pointer whitespace-nowrap ${a?"text-red-600":"text-gray-300"}`,children:"Personal"})]})]})}),e.jsx("div",{className:"flex flex-col lg:flex-row items-start lg:items-center justify-between gap-4 sm:gap-6",children:e.jsxs("div",{className:`text-white w-full lg:w-auto ${t?"pt-12 sm:pt-0":""}`,children:[e.jsx("div",{className:"flex items-center gap-3 sm:gap-4 mb-4 sm:mb-6",children:e.jsxs("div",{className:"pr-2 sm:pr-0",children:[e.jsxs("h1",{className:"text-2xl sm:text-3xl lg:text-4xl font-bold mb-1 sm:mb-2 text-white","data-testid":"hero-title",children:["Welcome, ",o,"!"]}),e.jsx("p",{className:"text-sm sm:text-lg lg:text-xl text-gray-200","data-testid":"hero-subtitle",children:s?"Organization-wide analytics and insights":"Track your requests and approvals"})]})}),e.jsx("div",{className:"flex flex-wrap gap-2 sm:gap-4 mt-4 sm:mt-8","data-testid":"quick-actions",children:n.map((c,d)=>e.jsxs(E,{onClick:c.action,className:`${c.color} text-white border-0 shadow-lg hover:shadow-xl transition-all duration-200`,size:window.innerWidth<640?"sm":"lg","data-testid":`quick-action-${c.label.toLowerCase().replace(/\s+/g,"-")}`,children:[e.jsx(c.icon,{className:"w-4 h-4 sm:w-5 sm:h-5 mr-1 sm:mr-2"}),c.label]},d))})]})})]})]})}function We({...t}){return e.jsx($g,{"data-slot":"select",...t})}function Ge({...t}){return e.jsx(Bg,{"data-slot":"select-value",...t})}function Ye({className:t,size:s="default",children:a,...r}){return e.jsxs(Og,{"data-slot":"select-trigger","data-size":s,className:ke("border-gray-400 data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground bg-white text-gray-900 flex w-full items-center justify-between gap-2 rounded-md border px-3 py-2 text-sm whitespace-nowrap transition-all outline-none disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4","hover:border-gray-500","focus-visible:border-re-light-green focus-visible:ring-0 focus-visible:outline-none","aria-invalid:ring-destructive/20 aria-invalid:border-destructive",t),...r,children:[a,e.jsx(Ug,{asChild:!0,children:e.jsx(uo,{className:"size-4 opacity-50"})})]})}function Ke({className:t,children:s,position:a="popper",...r}){return e.jsx(Vg,{children:e.jsxs(zg,{"data-slot":"select-content",className:ke("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",a==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:a,...r,children:[e.jsx(Sy,{}),e.jsx(Hg,{className:ke("p-1",a==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:s}),e.jsx(Ay,{})]})})}function Y({className:t,children:s,...a}){return e.jsxs(Wg,{"data-slot":"select-item",className:ke("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",t),...a,children:[e.jsx("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:e.jsx(Gg,{children:e.jsx(yr,{className:"size-4"})})}),e.jsx(Yg,{children:s})]})}function Sy({className:t,...s}){return e.jsx(Kg,{"data-slot":"select-scroll-up-button",className:ke("flex cursor-default items-center justify-center py-1",t),...s,children:e.jsx(Zu,{className:"size-4"})})}function Ay({className:t,...s}){return e.jsx(Xg,{"data-slot":"select-scroll-down-button",className:ke("flex cursor-default items-center justify-center py-1",t),...s,children:e.jsx(uo,{className:"size-4"})})}function Ts({className:t,orientation:s="horizontal",decorative:a=!0,...r}){return e.jsx(Zg,{"data-slot":"separator-root",decorative:a,orientation:s,className:ke("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",t),...r})}function Hs({...t}){return e.jsx(Jg,{"data-slot":"popover",...t})}function Ws({...t}){return e.jsx(Qg,{"data-slot":"popover-trigger",...t})}function Gs({className:t,align:s="center",sideOffset:a=4,...r}){return e.jsx(qg,{children:e.jsx(ef,{"data-slot":"popover-content",align:s,sideOffset:a,className:ke("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",t),...r})})}var Qe=function(){return Qe=Object.assign||function(s){for(var a,r=1,n=arguments.length;r1&&(c||!d),h=s>1&&(d||!c),x=function(){r&&i(r)},u=function(){n&&i(n)};return e.jsx(nv,{displayMonth:t.displayMonth,hideNext:m,hidePrevious:h,nextMonth:n,previousMonth:r,onPreviousClick:x,onNextClick:u})}function iv(t){var s,a=Rt(),r=a.classNames,n=a.disableNavigation,i=a.styles,l=a.captionLayout,o=a.components,c=(s=o==null?void 0:o.CaptionLabel)!==null&&s!==void 0?s:Ix,d;return n?d=e.jsx(c,{id:t.id,displayMonth:t.displayMonth}):l==="dropdown"?d=e.jsx(Gd,{displayMonth:t.displayMonth,id:t.id}):l==="dropdown-buttons"?d=e.jsxs(e.Fragment,{children:[e.jsx(Gd,{displayMonth:t.displayMonth,displayIndex:t.displayIndex,id:t.id}),e.jsx(Yd,{displayMonth:t.displayMonth,displayIndex:t.displayIndex,id:t.id})]}):d=e.jsxs(e.Fragment,{children:[e.jsx(c,{id:t.id,displayMonth:t.displayMonth,displayIndex:t.displayIndex}),e.jsx(Yd,{displayMonth:t.displayMonth,id:t.id})]}),e.jsx("div",{className:r.caption,style:i.caption,children:d})}function lv(t){var s=Rt(),a=s.footer,r=s.styles,n=s.classNames.tfoot;return a?e.jsx("tfoot",{className:n,style:r.tfoot,children:e.jsx("tr",{children:e.jsx("td",{colSpan:8,children:a})})}):e.jsx(e.Fragment,{})}function ov(t,s,a){for(var r=a?oo(new Date):co(new Date,{locale:t,weekStartsOn:s}),n=[],i=0;i<7;i++){var l=Us(r,i);n.push(l)}return n}function cv(){var t=Rt(),s=t.classNames,a=t.styles,r=t.showWeekNumber,n=t.locale,i=t.weekStartsOn,l=t.ISOWeek,o=t.formatters.formatWeekdayName,c=t.labels.labelWeekday,d=ov(n,i,l);return e.jsxs("tr",{style:a.head_row,className:s.head_row,children:[r&&e.jsx("td",{style:a.head_cell,className:s.head_cell}),d.map(function(m,h){return e.jsx("th",{scope:"col",className:s.head_cell,style:a.head_cell,"aria-label":c(m,{locale:n}),children:o(m,{locale:n})},h)})]})}function dv(){var t,s=Rt(),a=s.classNames,r=s.styles,n=s.components,i=(t=n==null?void 0:n.HeadRow)!==null&&t!==void 0?t:cv;return e.jsx("thead",{style:r.head,className:a.head,children:e.jsx(i,{})})}function mv(t){var s=Rt(),a=s.locale,r=s.formatters.formatDay;return e.jsx(e.Fragment,{children:r(t.date,{locale:a})})}var So=p.createContext(void 0);function uv(t){if(!An(t.initialProps)){var s={selected:void 0,modifiers:{disabled:[]}};return e.jsx(So.Provider,{value:s,children:t.children})}return e.jsx(xv,{initialProps:t.initialProps,children:t.children})}function xv(t){var s=t.initialProps,a=t.children,r=s.selected,n=s.min,i=s.max,l=function(d,m,h){var x,u;(x=s.onDayClick)===null||x===void 0||x.call(s,d,m,h);var g=!!(m.selected&&n&&(r==null?void 0:r.length)===n);if(!g){var b=!!(!m.selected&&i&&(r==null?void 0:r.length)===i);if(!b){var f=r?Dx([],r):[];if(m.selected){var y=f.findIndex(function(v){return _s(d,v)});f.splice(y,1)}else f.push(d);(u=s.onSelect)===null||u===void 0||u.call(s,f,d,m,h)}}},o={disabled:[]};r&&o.disabled.push(function(d){var m=i&&r.length>i-1,h=r.some(function(x){return _s(x,d)});return!!(m&&!h)});var c={selected:r,onDayClick:l,modifiers:o};return e.jsx(So.Provider,{value:c,children:a})}function Ao(){var t=p.useContext(So);if(!t)throw new Error("useSelectMultiple must be used within a SelectMultipleProvider");return t}function hv(t,s){var a=s||{},r=a.from,n=a.to;return r&&n?_s(n,t)&&_s(r,t)?void 0:_s(n,t)?{from:n,to:void 0}:_s(r,t)?void 0:Dl(r,t)?{from:t,to:n}:{from:r,to:t}:n?Dl(t,n)?{from:n,to:t}:{from:t,to:n}:r?Wu(t,r)?{from:t,to:r}:{from:r,to:t}:{from:t,to:void 0}}var To=p.createContext(void 0);function pv(t){if(!Tn(t.initialProps)){var s={selected:void 0,modifiers:{range_start:[],range_end:[],range_middle:[],disabled:[]}};return e.jsx(To.Provider,{value:s,children:t.children})}return e.jsx(gv,{initialProps:t.initialProps,children:t.children})}function gv(t){var s=t.initialProps,a=t.children,r=s.selected,n=r||{},i=n.from,l=n.to,o=s.min,c=s.max,d=function(u,g,b){var f,y;(f=s.onDayClick)===null||f===void 0||f.call(s,u,g,b);var v=hv(u,r);(y=s.onSelect)===null||y===void 0||y.call(s,v,u,g,b)},m={range_start:[],range_end:[],range_middle:[],disabled:[]};if(i?(m.range_start=[i],l?(m.range_end=[l],_s(i,l)||(m.range_middle=[{after:i,before:l}])):m.range_end=[i]):l&&(m.range_start=[l],m.range_end=[l]),o&&(i&&!l&&m.disabled.push({after:Bi(i,o-1),before:Us(i,o-1)}),i&&l&&m.disabled.push({after:i,before:Us(i,o-1)}),!i&&l&&m.disabled.push({after:Bi(l,o-1),before:Us(l,o-1)})),c){if(i&&!l&&(m.disabled.push({before:Us(i,-c+1)}),m.disabled.push({after:Us(i,c-1)})),i&&l){var h=ka(l,i)+1,x=c-h;m.disabled.push({before:Bi(i,x)}),m.disabled.push({after:Us(l,x)})}!i&&l&&(m.disabled.push({before:Us(l,-c+1)}),m.disabled.push({after:Us(l,c-1)}))}return e.jsx(To.Provider,{value:{selected:r,onDayClick:d,modifiers:m},children:a})}function ko(){var t=p.useContext(To);if(!t)throw new Error("useSelectRange must be used within a SelectRangeProvider");return t}function Gn(t){return Array.isArray(t)?Dx([],t):t!==void 0?[t]:[]}function fv(t){var s={};return Object.entries(t).forEach(function(a){var r=a[0],n=a[1];s[r]=Gn(n)}),s}var ua;(function(t){t.Outside="outside",t.Disabled="disabled",t.Selected="selected",t.Hidden="hidden",t.Today="today",t.RangeStart="range_start",t.RangeEnd="range_end",t.RangeMiddle="range_middle"})(ua||(ua={}));var bv=ua.Selected,Ta=ua.Disabled,yv=ua.Hidden,vv=ua.Today,Qi=ua.RangeEnd,qi=ua.RangeMiddle,el=ua.RangeStart,jv=ua.Outside;function Nv(t,s,a){var r,n=(r={},r[bv]=Gn(t.selected),r[Ta]=Gn(t.disabled),r[yv]=Gn(t.hidden),r[vv]=[t.today],r[Qi]=[],r[qi]=[],r[el]=[],r[jv]=[],r);return t.fromDate&&n[Ta].push({before:t.fromDate}),t.toDate&&n[Ta].push({after:t.toDate}),An(t)?n[Ta]=n[Ta].concat(s.modifiers[Ta]):Tn(t)&&(n[Ta]=n[Ta].concat(a.modifiers[Ta]),n[el]=a.modifiers[el],n[qi]=a.modifiers[qi],n[Qi]=a.modifiers[Qi]),n}var _x=p.createContext(void 0);function wv(t){var s=Rt(),a=Ao(),r=ko(),n=Nv(s,a,r),i=fv(s.modifiers),l=Qe(Qe({},n),i);return e.jsx(_x.Provider,{value:l,children:t.children})}function Lx(){var t=p.useContext(_x);if(!t)throw new Error("useModifiers must be used within a ModifiersProvider");return t}function Cv(t){return!!(t&&typeof t=="object"&&"before"in t&&"after"in t)}function Sv(t){return!!(t&&typeof t=="object"&&"from"in t)}function Av(t){return!!(t&&typeof t=="object"&&"after"in t)}function Tv(t){return!!(t&&typeof t=="object"&&"before"in t)}function kv(t){return!!(t&&typeof t=="object"&&"dayOfWeek"in t)}function Rv(t,s){var a,r=s.from,n=s.to;if(r&&n){var i=ka(n,r)<0;i&&(a=[n,r],r=a[0],n=a[1]);var l=ka(t,r)>=0&&ka(n,t)>=0;return l}return n?_s(n,t):r?_s(r,t):!1}function Dv(t){return Ku(t)}function Pv(t){return Array.isArray(t)&&t.every(Ku)}function Iv(t,s){return s.some(function(a){if(typeof a=="boolean")return a;if(Dv(a))return _s(t,a);if(Pv(a))return a.includes(t);if(Sv(a))return Rv(t,a);if(kv(a))return a.dayOfWeek.includes(t.getDay());if(Cv(a)){var r=ka(a.before,t),n=ka(a.after,t),i=r>0,l=n<0,o=Dl(a.before,a.after);return o?l&&i:i||l}return Av(a)?ka(t,a.after)>0:Tv(a)?ka(a.before,t)>0:typeof a=="function"?a(t):!1})}function Ro(t,s,a){var r=Object.keys(s).reduce(function(i,l){var o=s[l];return Iv(t,o)&&i.push(l),i},[]),n={};return r.forEach(function(i){return n[i]=!0}),a&&!lo(t,a)&&(n.outside=!0),n}function Ev(t,s){for(var a=Vs(t[0]),r=io(t[t.length-1]),n,i,l=a;l<=r;){var o=Ro(l,s),c=!o.disabled&&!o.hidden;if(!c){l=Us(l,1);continue}if(o.selected)return l;o.today&&!i&&(i=l),n||(n=l),l=Us(l,1)}return i||n}var Fv=365;function Mx(t,s){var a=s.moveBy,r=s.direction,n=s.context,i=s.modifiers,l=s.retry,o=l===void 0?{count:0,lastFocused:t}:l,c=n.weekStartsOn,d=n.fromDate,m=n.toDate,h=n.locale,x={day:Us,week:Rl,month:ja,year:If,startOfWeek:function(f){return n.ISOWeek?oo(f):co(f,{locale:h,weekStartsOn:c})},endOfWeek:function(f){return n.ISOWeek?Gu(f):Yu(f,{locale:h,weekStartsOn:c})}},u=x[a](t,r==="after"?1:-1);r==="before"&&d?u=Ef([d,u]):r==="after"&&m&&(u=Ff([m,u]));var g=!0;if(i){var b=Ro(u,i);g=!b.disabled&&!b.hidden}return g?u:o.count>Fv?o.lastFocused:Mx(u,{moveBy:a,direction:r,context:n,modifiers:i,retry:Qe(Qe({},o),{count:o.count+1})})}var $x=p.createContext(void 0);function _v(t){var s=kn(),a=Lx(),r=p.useState(),n=r[0],i=r[1],l=p.useState(),o=l[0],c=l[1],d=Ev(s.displayMonths,a),m=n??(o&&s.isDateDisplayed(o))?o:d,h=function(){c(n),i(void 0)},x=function(f){i(f)},u=Rt(),g=function(f,y){if(n){var v=Mx(n,{moveBy:f,direction:y,context:u,modifiers:a});_s(n,v)||(s.goToDate(v,n),x(v))}},b={focusedDay:n,focusTarget:m,blur:h,focus:x,focusDayAfter:function(){return g("day","after")},focusDayBefore:function(){return g("day","before")},focusWeekAfter:function(){return g("week","after")},focusWeekBefore:function(){return g("week","before")},focusMonthBefore:function(){return g("month","before")},focusMonthAfter:function(){return g("month","after")},focusYearBefore:function(){return g("year","before")},focusYearAfter:function(){return g("year","after")},focusStartOfWeek:function(){return g("startOfWeek","before")},focusEndOfWeek:function(){return g("endOfWeek","after")}};return e.jsx($x.Provider,{value:b,children:t.children})}function Do(){var t=p.useContext($x);if(!t)throw new Error("useFocusContext must be used within a FocusProvider");return t}function Lv(t,s){var a=Lx(),r=Ro(t,a,s);return r}var Po=p.createContext(void 0);function Mv(t){if(!Pi(t.initialProps)){var s={selected:void 0};return e.jsx(Po.Provider,{value:s,children:t.children})}return e.jsx($v,{initialProps:t.initialProps,children:t.children})}function $v(t){var s=t.initialProps,a=t.children,r=function(i,l,o){var c,d,m;if((c=s.onDayClick)===null||c===void 0||c.call(s,i,l,o),l.selected&&!s.required){(d=s.onSelect)===null||d===void 0||d.call(s,void 0,i,l,o);return}(m=s.onSelect)===null||m===void 0||m.call(s,i,i,l,o)},n={selected:s.selected,onDayClick:r};return e.jsx(Po.Provider,{value:n,children:a})}function Ox(){var t=p.useContext(Po);if(!t)throw new Error("useSelectSingle must be used within a SelectSingleProvider");return t}function Ov(t,s){var a=Rt(),r=Ox(),n=Ao(),i=ko(),l=Do(),o=l.focusDayAfter,c=l.focusDayBefore,d=l.focusWeekAfter,m=l.focusWeekBefore,h=l.blur,x=l.focus,u=l.focusMonthBefore,g=l.focusMonthAfter,b=l.focusYearBefore,f=l.focusYearAfter,y=l.focusStartOfWeek,v=l.focusEndOfWeek,w=function(T){var j,U,I,M;Pi(a)?(j=r.onDayClick)===null||j===void 0||j.call(r,t,s,T):An(a)?(U=n.onDayClick)===null||U===void 0||U.call(n,t,s,T):Tn(a)?(I=i.onDayClick)===null||I===void 0||I.call(i,t,s,T):(M=a.onDayClick)===null||M===void 0||M.call(a,t,s,T)},C=function(T){var j;x(t),(j=a.onDayFocus)===null||j===void 0||j.call(a,t,s,T)},k=function(T){var j;h(),(j=a.onDayBlur)===null||j===void 0||j.call(a,t,s,T)},S=function(T){var j;(j=a.onDayMouseEnter)===null||j===void 0||j.call(a,t,s,T)},_=function(T){var j;(j=a.onDayMouseLeave)===null||j===void 0||j.call(a,t,s,T)},D=function(T){var j;(j=a.onDayPointerEnter)===null||j===void 0||j.call(a,t,s,T)},A=function(T){var j;(j=a.onDayPointerLeave)===null||j===void 0||j.call(a,t,s,T)},N=function(T){var j;(j=a.onDayTouchCancel)===null||j===void 0||j.call(a,t,s,T)},P=function(T){var j;(j=a.onDayTouchEnd)===null||j===void 0||j.call(a,t,s,T)},R=function(T){var j;(j=a.onDayTouchMove)===null||j===void 0||j.call(a,t,s,T)},O=function(T){var j;(j=a.onDayTouchStart)===null||j===void 0||j.call(a,t,s,T)},F=function(T){var j;(j=a.onDayKeyUp)===null||j===void 0||j.call(a,t,s,T)},$=function(T){var j;switch(T.key){case"ArrowLeft":T.preventDefault(),T.stopPropagation(),a.dir==="rtl"?o():c();break;case"ArrowRight":T.preventDefault(),T.stopPropagation(),a.dir==="rtl"?c():o();break;case"ArrowDown":T.preventDefault(),T.stopPropagation(),d();break;case"ArrowUp":T.preventDefault(),T.stopPropagation(),m();break;case"PageUp":T.preventDefault(),T.stopPropagation(),T.shiftKey?b():u();break;case"PageDown":T.preventDefault(),T.stopPropagation(),T.shiftKey?f():g();break;case"Home":T.preventDefault(),T.stopPropagation(),y();break;case"End":T.preventDefault(),T.stopPropagation(),v();break}(j=a.onDayKeyDown)===null||j===void 0||j.call(a,t,s,T)},V={onClick:w,onFocus:C,onBlur:k,onKeyDown:$,onKeyUp:F,onMouseEnter:S,onMouseLeave:_,onPointerEnter:D,onPointerLeave:A,onTouchCancel:N,onTouchEnd:P,onTouchMove:R,onTouchStart:O};return V}function Uv(){var t=Rt(),s=Ox(),a=Ao(),r=ko(),n=Pi(t)?s.selected:An(t)?a.selected:Tn(t)?r.selected:void 0;return n}function Bv(t){return Object.values(ua).includes(t)}function Vv(t,s){var a=[t.classNames.day];return Object.keys(s).forEach(function(r){var n=t.modifiersClassNames[r];if(n)a.push(n);else if(Bv(r)){var i=t.classNames["day_".concat(r)];i&&a.push(i)}}),a}function zv(t,s){var a=Qe({},t.styles.day);return Object.keys(s).forEach(function(r){var n;a=Qe(Qe({},a),(n=t.modifiersStyles)===null||n===void 0?void 0:n[r])}),a}function Hv(t,s,a){var r,n,i,l=Rt(),o=Do(),c=Lv(t,s),d=Ov(t,c),m=Uv(),h=!!(l.onDayClick||l.mode!=="default");p.useEffect(function(){var S;c.outside||o.focusedDay&&h&&_s(o.focusedDay,t)&&((S=a.current)===null||S===void 0||S.focus())},[o.focusedDay,t,a,h,c.outside]);var x=Vv(l,c).join(" "),u=zv(l,c),g=!!(c.outside&&!l.showOutsideDays||c.hidden),b=(i=(n=l.components)===null||n===void 0?void 0:n.DayContent)!==null&&i!==void 0?i:mv,f=e.jsx(b,{date:t,displayMonth:s,activeModifiers:c}),y={style:u,className:x,children:f,role:"gridcell"},v=o.focusTarget&&_s(o.focusTarget,t)&&!c.outside,w=o.focusedDay&&_s(o.focusedDay,t),C=Qe(Qe(Qe({},y),(r={disabled:c.disabled,role:"gridcell"},r["aria-selected"]=c.selected,r.tabIndex=w||v?0:-1,r)),d),k={isButton:h,isHidden:g,activeModifiers:c,selectedDays:m,buttonProps:C,divProps:y};return k}function Wv(t){var s=p.useRef(null),a=Hv(t.date,t.displayMonth,s);return a.isHidden?e.jsx("div",{role:"gridcell"}):a.isButton?e.jsx(oi,Qe({name:"day",ref:s},a.buttonProps)):e.jsx("div",Qe({},a.divProps))}function Gv(t){var s=t.number,a=t.dates,r=Rt(),n=r.onWeekNumberClick,i=r.styles,l=r.classNames,o=r.locale,c=r.labels.labelWeekNumber,d=r.formatters.formatWeekNumber,m=d(Number(s),{locale:o});if(!n)return e.jsx("span",{className:l.weeknumber,style:i.weeknumber,children:m});var h=c(Number(s),{locale:o}),x=function(u){n(s,a,u)};return e.jsx(oi,{name:"week-number","aria-label":h,className:l.weeknumber,style:i.weeknumber,onClick:x,children:m})}function Yv(t){var s,a,r=Rt(),n=r.styles,i=r.classNames,l=r.showWeekNumber,o=r.components,c=(s=o==null?void 0:o.Day)!==null&&s!==void 0?s:Wv,d=(a=o==null?void 0:o.WeekNumber)!==null&&a!==void 0?a:Gv,m;return l&&(m=e.jsx("td",{className:i.cell,style:n.cell,children:e.jsx(d,{number:t.weekNumber,dates:t.dates})})),e.jsxs("tr",{className:i.row,style:n.row,children:[m,t.dates.map(function(h){return e.jsx("td",{className:i.cell,style:n.cell,role:"presentation",children:e.jsx(c,{displayMonth:t.displayMonth,date:h})},Pf(h))})]})}function Kd(t,s,a){for(var r=a!=null&&a.ISOWeek?Gu(s):Yu(s,a),n=a!=null&&a.ISOWeek?oo(t):co(t,a),i=ka(r,n),l=[],o=0;o<=i;o++)l.push(Us(n,o));var c=l.reduce(function(d,m){var h=a!=null&&a.ISOWeek?Mf(m):$f(m,a),x=d.find(function(u){return u.weekNumber===h});return x?(x.dates.push(m),d):(d.push({weekNumber:h,dates:[m]}),d)},[]);return c}function Kv(t,s){var a=Kd(Vs(t),io(t),s);if(s!=null&&s.useFixedWeeks){var r=Df(t,s);if(r<6){var n=a[a.length-1],i=n.dates[n.dates.length-1],l=Rl(i,6-r),o=Kd(Rl(i,1),l,s);a.push.apply(a,o)}}return a}function Xv(t){var s,a,r,n=Rt(),i=n.locale,l=n.classNames,o=n.styles,c=n.hideHead,d=n.fixedWeeks,m=n.components,h=n.weekStartsOn,x=n.firstWeekContainsDate,u=n.ISOWeek,g=Kv(t.displayMonth,{useFixedWeeks:!!d,ISOWeek:u,locale:i,weekStartsOn:h,firstWeekContainsDate:x}),b=(s=m==null?void 0:m.Head)!==null&&s!==void 0?s:dv,f=(a=m==null?void 0:m.Row)!==null&&a!==void 0?a:Yv,y=(r=m==null?void 0:m.Footer)!==null&&r!==void 0?r:lv;return e.jsxs("table",{id:t.id,className:l.table,style:o.table,role:"grid","aria-labelledby":t["aria-labelledby"],children:[!c&&e.jsx(b,{}),e.jsx("tbody",{className:l.tbody,style:o.tbody,children:g.map(function(v){return e.jsx(f,{displayMonth:t.displayMonth,dates:v.dates,weekNumber:v.weekNumber},v.weekNumber)})}),e.jsx(y,{displayMonth:t.displayMonth})]})}function Zv(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}var Jv=Zv()?p.useLayoutEffect:p.useEffect,tl=!1,Qv=0;function Xd(){return"react-day-picker-".concat(++Qv)}function qv(t){var s,a=t??(tl?Xd():null),r=p.useState(a),n=r[0],i=r[1];return Jv(function(){n===null&&i(Xd())},[]),p.useEffect(function(){tl===!1&&(tl=!0)},[]),(s=t??n)!==null&&s!==void 0?s:void 0}function ej(t){var s,a,r=Rt(),n=r.dir,i=r.classNames,l=r.styles,o=r.components,c=kn().displayMonths,d=qv(r.id?"".concat(r.id,"-").concat(t.displayIndex):void 0),m=r.id?"".concat(r.id,"-grid-").concat(t.displayIndex):void 0,h=[i.month],x=l.month,u=t.displayIndex===0,g=t.displayIndex===c.length-1,b=!u&&!g;n==="rtl"&&(s=[u,g],g=s[0],u=s[1]),u&&(h.push(i.caption_start),x=Qe(Qe({},x),l.caption_start)),g&&(h.push(i.caption_end),x=Qe(Qe({},x),l.caption_end)),b&&(h.push(i.caption_between),x=Qe(Qe({},x),l.caption_between));var f=(a=o==null?void 0:o.Caption)!==null&&a!==void 0?a:iv;return e.jsxs("div",{className:h.join(" "),style:x,children:[e.jsx(f,{id:d,displayMonth:t.displayMonth,displayIndex:t.displayIndex}),e.jsx(Xv,{id:m,"aria-labelledby":d,displayMonth:t.displayMonth})]},t.displayIndex)}function tj(t){var s=Rt(),a=s.classNames,r=s.styles;return e.jsx("div",{className:a.months,style:r.months,children:t.children})}function sj(t){var s,a,r=t.initialProps,n=Rt(),i=Do(),l=kn(),o=p.useState(!1),c=o[0],d=o[1];p.useEffect(function(){n.initialFocus&&i.focusTarget&&(c||(i.focus(i.focusTarget),d(!0)))},[n.initialFocus,c,i.focus,i.focusTarget,i]);var m=[n.classNames.root,n.className];n.numberOfMonths>1&&m.push(n.classNames.multiple_months),n.showWeekNumber&&m.push(n.classNames.with_weeknumber);var h=Qe(Qe({},n.styles.root),n.style),x=Object.keys(r).filter(function(g){return g.startsWith("data-")}).reduce(function(g,b){var f;return Qe(Qe({},g),(f={},f[b]=r[b],f))},{}),u=(a=(s=r.components)===null||s===void 0?void 0:s.Months)!==null&&a!==void 0?a:tj;return e.jsx("div",Qe({className:m.join(" "),style:h,dir:n.dir,id:n.id,nonce:r.nonce,title:r.title,lang:r.lang},x,{children:e.jsx(u,{children:l.displayMonths.map(function(g,b){return e.jsx(ej,{displayIndex:b,displayMonth:g},b)})})}))}function aj(t){var s=t.children,a=Ty(t,["children"]);return e.jsx(Gy,{initialProps:a,children:e.jsx(sv,{children:e.jsx(Mv,{initialProps:a,children:e.jsx(uv,{initialProps:a,children:e.jsx(pv,{initialProps:a,children:e.jsx(wv,{children:e.jsx(_v,{children:s})})})})})})})}function rj(t){return e.jsx(aj,Qe({},t,{children:e.jsx(sj,{initialProps:t})}))}function Yn({className:t,classNames:s,showOutsideDays:a=!0,...r}){return e.jsx(rj,{showOutsideDays:a,className:ke("p-3",t),classNames:{months:"flex flex-col sm:flex-row gap-2",month:"flex flex-col gap-4",caption:"flex justify-center pt-1 relative items-center w-full",caption_label:"text-sm font-medium",nav:"flex items-center gap-1",nav_button:ke(gn({variant:"outline"}),"size-7 bg-transparent p-0 opacity-50 hover:opacity-100"),nav_button_previous:"absolute left-1",nav_button_next:"absolute right-1",table:"w-full border-collapse space-x-1",head_row:"flex",head_cell:"text-muted-foreground rounded-md w-8 font-normal text-[0.8rem]",row:"flex w-full mt-2",cell:ke("relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-accent [&:has([aria-selected].day-range-end)]:rounded-r-md",r.mode==="range"?"[&:has(>.day-range-end)]:rounded-r-md [&:has(>.day-range-start)]:rounded-l-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md":"[&:has([aria-selected])]:rounded-md"),day:ke(gn({variant:"ghost"}),"size-8 p-0 font-normal aria-selected:opacity-100"),day_range_start:"day-range-start aria-selected:bg-primary aria-selected:text-primary-foreground",day_range_end:"day-range-end aria-selected:bg-primary aria-selected:text-primary-foreground",day_selected:"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground",day_today:"bg-accent text-accent-foreground",day_outside:"day-outside text-muted-foreground aria-selected:text-muted-foreground",day_disabled:"text-muted-foreground opacity-50",day_range_middle:"aria-selected:bg-accent aria-selected:text-accent-foreground",day_hidden:"invisible",...s},components:{IconLeft:({className:n,...i})=>e.jsx(Ju,{className:ke("size-4",n),...i}),IconRight:({className:n,...i})=>e.jsx(yi,{className:ke("size-4",n),...i})},...r})}function Ms({value:t,onChange:s,minDate:a,maxDate:r,placeholderText:n="dd/mm/yyyy",disabled:i=!1,className:l,wrapperClassName:o,error:c=!1,displayFormat:d="dd/MM/yyyy",id:m}){const[h,x]=p.useState(!1),u=p.useMemo(()=>{if(t){if(t instanceof Date)return wr(t)?t:void 0;if(typeof t=="string")try{const y=zi(t,"yyyy-MM-dd",new Date);return wr(y)?y:void 0}catch{return}}},[t]),g=p.useMemo(()=>{if(a){if(a instanceof Date)return wr(a)?a:void 0;if(typeof a=="string"){const y=zi(a,"yyyy-MM-dd",new Date);return wr(y)?y:void 0}}},[a]),b=p.useMemo(()=>{if(r){if(r instanceof Date)return wr(r)?r:void 0;if(typeof r=="string"){const y=zi(r,"yyyy-MM-dd",new Date);return wr(y)?y:void 0}}},[r]),f=y=>{if(x(!1),!!s){if(!y){s(null);return}s(He(y,"yyyy-MM-dd"))}};return e.jsx("div",{className:ke("relative",o),children:e.jsxs(Hs,{open:h,onOpenChange:x,children:[e.jsx(Ws,{asChild:!0,children:e.jsxs(E,{id:m,disabled:i,variant:"outline",className:ke("w-full justify-start text-left font-normal",!u&&"text-muted-foreground",c&&"border-destructive ring-destructive/20",l),children:[e.jsx(ot,{className:"mr-2 h-4 w-4"}),u?He(u,d):e.jsx("span",{children:n})]})}),e.jsx(Gs,{className:"w-auto p-0",align:"start",children:e.jsx(Yn,{mode:"single",selected:u,onSelect:f,disabled:y=>!!(g&&yb),initialFocus:!0})})]})})}function nj({isAdmin:t,dateRange:s,customStartDate:a,customEndDate:r,showCustomDatePicker:n,refreshing:i,onDateRangeChange:l,onCustomStartDateChange:o,onCustomEndDateChange:c,onShowCustomDatePickerChange:d,onApplyCustomDate:m,onResetCustomDates:h,onRefresh:x}){return e.jsx(ee,{className:"shadow-md","data-testid":"dashboard-filters-bar",children:e.jsx(se,{className:"p-4",children:e.jsxs("div",{className:"flex flex-col sm:flex-row items-start sm:items-center justify-between gap-4",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Ya,{className:"w-5 h-5 text-muted-foreground"}),e.jsx("h3",{className:"font-semibold text-gray-900",children:"Filters"}),t&&e.jsx(ne,{variant:"outline",className:"bg-purple-50 text-purple-700 border-purple-200","data-testid":"management-badge",children:"Management View"})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-3 w-full sm:w-auto",children:[t?e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(ot,{className:"w-4 h-4 text-muted-foreground"}),e.jsxs(We,{value:s,onValueChange:l,"data-testid":"date-range-select",children:[e.jsx(Ye,{className:"w-[140px]",children:e.jsx(Ge,{placeholder:"Select period"})}),e.jsxs(Ke,{children:[e.jsx(Y,{value:"all",children:"All Time"}),e.jsx(Y,{value:"today",children:"Today"}),e.jsx(Y,{value:"week",children:"This Week"}),e.jsx(Y,{value:"month",children:"This Month"}),e.jsx(Y,{value:"last7days",children:"Last 7 Days"}),e.jsx(Y,{value:"last30days",children:"Last 30 Days"}),e.jsx(Y,{value:"custom",children:"Custom Range"})]})]}),s==="custom"&&e.jsxs(Hs,{open:n,onOpenChange:d,children:[e.jsx(Ws,{asChild:!0,children:e.jsxs(E,{variant:"outline",size:"sm",className:"gap-2","data-testid":"custom-date-trigger",children:[e.jsx(ot,{className:"w-4 h-4"}),a&&r?`${He(a,"MMM d, yyyy")} - ${He(r,"MMM d, yyyy")}`:"Select dates"]})}),e.jsx(Gs,{className:"w-auto p-4",align:"start",sideOffset:8,"data-testid":"custom-date-picker",children:e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(re,{htmlFor:"start-date",className:"text-sm font-medium",children:"Start Date"}),e.jsx(Ms,{value:a||null,onChange:u=>{const g=u?new Date(u):void 0;g?(o(g),r&&g>r&&c(g)):o(void 0)},maxDate:new Date,placeholderText:"dd/mm/yyyy",className:"w-full","data-testid":"start-date-input"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(re,{htmlFor:"end-date",className:"text-sm font-medium",children:"End Date"}),e.jsx(Ms,{value:r||null,onChange:u=>{const g=u?new Date(u):void 0;g?(c(g),a&&gl(u),"data-testid":"date-range-select-user",children:[e.jsx(Ye,{className:"w-[140px]",children:e.jsx(Ge,{placeholder:"Select period"})}),e.jsxs(Ke,{children:[e.jsx(Y,{value:"all",children:"All Time"}),e.jsx(Y,{value:"today",children:"Today"}),e.jsx(Y,{value:"week",children:"This Week"}),e.jsx(Y,{value:"month",children:"This Month"}),e.jsx(Y,{value:"last7days",children:"Last 7 Days"}),e.jsx(Y,{value:"last30days",children:"Last 30 Days"}),e.jsx(Y,{value:"custom",children:"Custom Range"})]})]}),s==="custom"&&e.jsxs(Hs,{open:n,onOpenChange:d,children:[e.jsx(Ws,{asChild:!0,children:e.jsxs(E,{variant:"outline",size:"sm",className:"gap-2","data-testid":"custom-date-trigger",children:[e.jsx(ot,{className:"w-4 h-4"}),a&&r?`${He(a,"MMM d, yyyy")} - ${He(r,"MMM d, yyyy")}`:"Select dates"]})}),e.jsx(Gs,{className:"w-auto p-4",align:"start",sideOffset:8,"data-testid":"custom-date-picker",children:e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(re,{htmlFor:"start-date-user",className:"text-sm font-medium",children:"Start Date"}),e.jsx(Ms,{value:a||null,onChange:u=>{const g=u?new Date(u):void 0;g?(o(g),r&&g>r&&c(g)):o(void 0)},maxDate:new Date,placeholderText:"dd/mm/yyyy",className:"w-full","data-testid":"start-date-input-user"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(re,{htmlFor:"end-date-user",className:"text-sm font-medium",children:"End Date"}),e.jsx(Ms,{value:r||null,onChange:u=>{const g=u?new Date(u):void 0;g?(c(g),a&&g