!function(r,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("d3-array")):"function"==typeof define&&define.amd?define(["exports","d3-array"],e):e(r.d3=r.d3||{},r.d3)}(this,function(r,e){"use strict";function n(r,n,c){var o=r.layout,s=[],y=0;Object.keys(r.hexes).forEach(function(e){r.hexes[e].key=e,s.push(r.hexes[e])});var i=e.max(s,function(r){return+r.q}),h=e.min(s,function(r){return+r.q}),f=e.max(s,function(r){return+r.r}),d=e.min(s,function(r){return+r.r}),q=i-h+1,v=f-d+1;y="odd-r"===o||"even-r"===o?e.min([n/((q+.5)*Math.sqrt(3)),c/(1.5*(v+1/3))]):e.min([c/((v+.5)*Math.sqrt(3)),n/(1.5*(q+1/3))]);var p=y*Math.sqrt(3),m=a(o,p,y),b=x(m);return s.forEach(function(r){r.qc=r.q-h,r.rc=f-r.r,r.x=t(r,o,p,y),r.y=u(r,o,p,y),r.vertices=m,r.points=b}),s}function t(r,e,n,t){var u=0,a=0;switch(e){case"odd-r":a=r.rc%2==1?n:n/2,u=r.qc*n+a;break;case"even-r":a=r.rc%2==0?n:n/2,u=r.qc*n+a;break;case"odd-q":case"even-q":u=r.qc*t*1.5+t}return u}function u(r,e,n,t){var u=0,a=0;switch(e){case"odd-r":case"even-r":u=r.rc*t*1.5+t;break;case"odd-q":a=r.qc%2==1?n:n/2,u=r.rc*n+a;break;case"even-q":a=r.qc%2==0?n:n/2,u=r.rc*n+a}return u}function a(r,e,n){var t=[];switch(r){case"odd-r":case"even-r":t.push({x:0,y:0-n}),t.push({x:0+.5*e,y:0-.5*n}),t.push({x:0+.5*e,y:0+.5*n}),t.push({x:0,y:0+n}),t.push({x:0-.5*e,y:0+.5*n}),t.push({x:0-.5*e,y:0-.5*n});break;case"odd-q":case"even-q":t.push({x:0-n,y:0}),t.push({x:0-.5*n,y:0-.5*e}),t.push({x:0+.5*n,y:0-.5*e}),t.push({x:0+n,y:0}),t.push({x:0+.5*n,y:0+.5*e}),t.push({x:0-.5*n,y:0+.5*e})}return t}function x(r){var e="";return r.forEach(function(r){e+=r.x+","+r.y+" "}),e.substring(0,e.length-1)}function c(r){var n={};n.layout=r.layout,n.hexes={};var t=[];Object.keys(r.hexes).forEach(function(e){t.push(r.hexes[e])});var u,a,x,c=e.max(t,function(r){return+r.q}),o=e.min(t,function(r){return+r.q}),s=e.max(t,function(r){return+r.r}),y=e.min(t,function(r){return+r.r});for(u=o;u<=c;u++)for(a=y;a<=s;a++)x="Q"+u+"R"+a,n.hexes[x]={q:u,r:a};return n}function o(r,n,a,x){var c=[],o=r.layout;Object.keys(r.hexes).forEach(function(e){c.push(r.hexes[e])});var s,y=e.max(c,function(r){return+r.q}),i=e.min(c,function(r){return+r.q}),h=e.max(c,function(r){return+r.r}),f=e.min(c,function(r){return+r.r}),d=y-i+1,q=h-f+1;s="odd-r"===o||"even-r"===o?e.min([n/((d+.5)*Math.sqrt(3)),a/(1.5*(q+1/3))]):e.min([a/((q+.5)*Math.sqrt(3)),n/(1.5*(d+1/3))]);var v=s*Math.sqrt(3),p=[],m=s*s*4,b=c.length;if(b>1){c.forEach(function(r){r.qc=r.q-i,r.rc=h-r.r,r.x=t(r,o,v,s),r.y=u(r,o,v,s)});for(var M=0;M1){c.forEach(function(r){r.qc=r.q-i,r.rc=h-r.r,r.x=t(r,o,v,s),r.y=u(r,o,v,s)});for(var M=0;M