mapshaper 0.5.118 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/mapshaper.js CHANGED
@@ -1,6 +1,6 @@
1
1
  (function () {
2
2
 
3
- var VERSION = "0.5.118";
3
+ var VERSION = "0.6.0";
4
4
 
5
5
 
6
6
  var utils = /*#__PURE__*/Object.freeze({
@@ -28,7 +28,7 @@
28
28
  get regexEscape () { return regexEscape; },
29
29
  get htmlEscape () { return htmlEscape; },
30
30
  get defaults () { return defaults; },
31
- get extend () { return extend; },
31
+ get extend () { return extend$1; },
32
32
  get inherit () { return inherit; },
33
33
  get reduceAsync () { return reduceAsync; },
34
34
  get merge () { return merge; },
@@ -132,7 +132,8 @@
132
132
  clearStash: clearStash
133
133
  });
134
134
 
135
- var Buffer = require('buffer').Buffer; // works with browserify
135
+ // Fall back to browserify's Buffer polyfill
136
+ var B$3 = typeof Buffer != 'undefined' ? Buffer : require('buffer').Buffer;
136
137
 
137
138
  var uniqCount = 0;
138
139
  function getUniqueName(prefix) {
@@ -274,7 +275,7 @@
274
275
  return dest;
275
276
  }
276
277
 
277
- function extend(o) {
278
+ function extend$1(o) {
278
279
  var dest = o || {},
279
280
  n = arguments.length,
280
281
  key, i, src;
@@ -311,7 +312,7 @@
311
312
  f.prototype = src.prototype || src; // added || src to allow inheriting from objects as well as functions
312
313
  // Extend targ prototype instead of wiping it out --
313
314
  // in case inherit() is called after targ.prototype = {stuff}; statement
314
- targ.prototype = extend(new f(), targ.prototype); //
315
+ targ.prototype = extend$1(new f(), targ.prototype); //
315
316
  targ.prototype.constructor = targ;
316
317
  targ.prototype.__super__ = f;
317
318
  }
@@ -1004,10 +1005,10 @@
1004
1005
 
1005
1006
  function createBuffer(arg, arg2) {
1006
1007
  if (isInteger(arg)) {
1007
- return Buffer.allocUnsafe ? Buffer.allocUnsafe(arg) : new Buffer(arg);
1008
+ return B$3.allocUnsafe ? B$3.allocUnsafe(arg) : new B$3(arg);
1008
1009
  } else {
1009
1010
  // check allocUnsafe to make sure Buffer.from() will accept strings (it didn't before Node v5.10)
1010
- return Buffer.from && Buffer.allocUnsafe ? Buffer.from(arg, arg2) : new Buffer(arg, arg2);
1011
+ return B$3.from && B$3.allocUnsafe ? B$3.from(arg, arg2) : new B$3(arg, arg2);
1011
1012
  }
1012
1013
  }
1013
1014
 
@@ -3513,10 +3514,31 @@
3513
3514
  findMaxPartCount: findMaxPartCount
3514
3515
  });
3515
3516
 
3517
+ // Several dependencies are loaded via require() ... this module returns a
3518
+ // stub function when require() does not exist as a global function,
3519
+ // to avoid runtime errors (this should only happen in some tests when single
3520
+ // modules are imported)
3521
+ var f;
3522
+ if (typeof require == 'function') {
3523
+ f = require;
3524
+ } else {
3525
+ f = function(name) {
3526
+ // console.error('Unable to load module', name);
3527
+ };
3528
+ }
3529
+ var require$1 = f;
3530
+
3531
+ // import { createRequire } from "module";
3532
+
3533
+ var iconv = require$1('iconv-lite');
3534
+
3535
+ // import iconv from 'iconv-lite';
3536
+ // import * as iconv from 'iconv-lite';
3537
+ // import * as iconv from '../../node_modules/iconv-lite/lib/index.js';
3538
+
3516
3539
  // List of encodings supported by iconv-lite:
3517
3540
  // https://github.com/ashtuchkin/iconv-lite/wiki/Supported-Encodings
3518
3541
 
3519
- var iconv = require('iconv-lite');
3520
3542
  var toUtf8 = getNativeEncoder('utf8');
3521
3543
  var fromUtf8 = getNativeDecoder('utf8');
3522
3544
 
@@ -3587,7 +3609,7 @@
3587
3609
  }
3588
3610
  return function(str) {
3589
3611
  // Convert Uint8Array from encoder to Buffer (fix for issue #216)
3590
- return encoder ? Buffer.from(encoder.encode(str).buffer) : utils.createBuffer(str, enc);
3612
+ return encoder ? B$3.from(encoder.encode(str).buffer) : utils.createBuffer(str, enc);
3591
3613
  };
3592
3614
  }
3593
3615
 
@@ -4332,17 +4354,18 @@
4332
4354
  this.ty -= cy * (sy - 1);
4333
4355
  };
4334
4356
 
4357
+ var mproj$1 = require$1('mproj');
4358
+
4335
4359
  // A compound projection, consisting of a default projection and one or more rectangular frames
4336
4360
  // that are projected separately and affine transformed.
4337
4361
  // @mainParams: parameters for main projection, including:
4338
4362
  // proj: Proj string
4339
4363
  // bbox: lat-lon bounding box
4340
4364
  function MixedProjection(mainParams, options) {
4341
- var mproj = require('mproj');
4342
4365
  var mainFrame = initFrame(mainParams);
4343
4366
  var mainP = mainFrame.crs;
4344
4367
  var frames = [mainFrame];
4345
- var mixedP = initMixedProjection(mproj);
4368
+ var mixedP = initMixedProjection(mproj$1);
4346
4369
 
4347
4370
  // This CRS masquerades as the main projection... the version with
4348
4371
  // custom insets is exposed to savvy users
@@ -4386,7 +4409,7 @@
4386
4409
  function initFrame(params) {
4387
4410
  return {
4388
4411
  bounds: new Bounds(bboxToRadians(params.bbox)),
4389
- crs: mproj.pj_init(params.proj)
4412
+ crs: mproj$1.pj_init(params.proj)
4390
4413
  };
4391
4414
  }
4392
4415
 
@@ -4398,7 +4421,7 @@
4398
4421
  }
4399
4422
 
4400
4423
  function projectFrameOrigin(origin, P) {
4401
- var xy = mproj.pj_fwd_deg({lam: origin[0], phi: origin[1]}, P);
4424
+ var xy = mproj$1.pj_fwd_deg({lam: origin[0], phi: origin[1]}, P);
4402
4425
  return [xy.x, xy.y];
4403
4426
  }
4404
4427
 
@@ -4407,7 +4430,7 @@
4407
4430
  for (var i=0, n=frames.length; i<n; i++) {
4408
4431
  frame = frames[i];
4409
4432
  if (frame.bounds.containsPoint(lp.lam, lp.phi)) {
4410
- xy2 = mproj.pj_fwd(lp, frame.crs);
4433
+ xy2 = mproj$1.pj_fwd(lp, frame.crs);
4411
4434
  if (frame.matrix) {
4412
4435
  frame.matrix.transformXY(xy2.x, xy2.y, xy2);
4413
4436
  }
@@ -4610,13 +4633,15 @@
4610
4633
  getAntimeridian: getAntimeridian
4611
4634
  });
4612
4635
 
4636
+ var mproj = require$1('mproj');
4637
+
4613
4638
  var asyncLoader = null;
4614
4639
 
4615
4640
  var projectionAliases = {
4616
4641
  robinson: '+proj=robin +datum=WGS84',
4617
4642
  webmercator: '+proj=merc +a=6378137 +b=6378137',
4618
4643
  wgs84: '+proj=longlat +datum=WGS84',
4619
- albersusa: new AlbersUSA() // with default parameters
4644
+ albersusa: AlbersUSA
4620
4645
  };
4621
4646
 
4622
4647
  // This stub is replaced when loaded in GUI, which may need to load some files
@@ -4640,7 +4665,6 @@
4640
4665
  // if the transformation fails
4641
4666
  // src, dest: proj4 objects
4642
4667
  function getProjTransform(src, dest) {
4643
- var mproj = require('mproj');
4644
4668
  var clampSrc = isLatLngCRS(src);
4645
4669
  dest = dest.__mixed_crs || dest;
4646
4670
  return function(x, y) {
@@ -4659,8 +4683,7 @@
4659
4683
  // Same as getProjTransform(), but return null if projection fails
4660
4684
  // (also faster)
4661
4685
  function getProjTransform2(src, dest) {
4662
- var mproj = require('mproj'),
4663
- xx = [0],
4686
+ var xx = [0],
4664
4687
  yy = [0],
4665
4688
  preK = src.is_latlong ? mproj.internal.DEG_TO_RAD : 1,
4666
4689
  postK = dest.is_latlong ? mproj.internal.RAD_TO_DEG : 1,
@@ -4707,13 +4730,13 @@
4707
4730
  }
4708
4731
 
4709
4732
  function crsToProj4(P) {
4710
- return require('mproj').internal.get_proj_defn(P);
4733
+ return mproj.internal.get_proj_defn(P);
4711
4734
  }
4712
4735
 
4713
4736
  function crsToPrj(P) {
4714
4737
  var wkt;
4715
4738
  try {
4716
- wkt = require('mproj').internal.wkt_from_proj4(P);
4739
+ wkt = mproj.internal.wkt_from_proj4(P);
4717
4740
  } catch(e) {
4718
4741
  // console.log(e)
4719
4742
  }
@@ -4725,8 +4748,11 @@
4725
4748
  return !!str && str == crsToProj4(b);
4726
4749
  }
4727
4750
 
4751
+ function isProjAlias(str) {
4752
+ return str in projectionAliases;
4753
+ }
4754
+
4728
4755
  function getProjDefn(str) {
4729
- var mproj = require('mproj');
4730
4756
  var defn;
4731
4757
  // prepend '+proj=' to bare proj names
4732
4758
  str = str.replace(/(^| )([\w]+)($| )/, function(a, b, c, d) {
@@ -4737,8 +4763,11 @@
4737
4763
  });
4738
4764
  if (looksLikeProj4String(str)) {
4739
4765
  defn = str;
4740
- } else if (str in projectionAliases) {
4741
- defn = projectionAliases[str]; // defn is a function
4766
+ } else if (isProjAlias(str)) {
4767
+ defn = projectionAliases[str];
4768
+ if (utils.isFunction(defn)) {
4769
+ defn = defn();
4770
+ }
4742
4771
  } else if (looksLikeInitString(str)) {
4743
4772
  defn = '+init=' + str.toLowerCase();
4744
4773
  } else if (str in (getStashedVar('defs') || {})) {
@@ -4768,7 +4797,7 @@
4768
4797
  P = defn;
4769
4798
  } else {
4770
4799
  try {
4771
- P = require('mproj').pj_init(defn);
4800
+ P = mproj.pj_init(defn);
4772
4801
  } catch(e) {
4773
4802
  stop('Unable to use projection', defn, '(' + e.message + ')');
4774
4803
  }
@@ -4822,10 +4851,9 @@
4822
4851
  // x, y: a point location in projected coordinates
4823
4852
  // Returns k, the ratio of coordinate distance to distance on the ground
4824
4853
  function getScaleFactorAtXY(x, y, crs) {
4825
- var proj = require('mproj');
4826
4854
  var dist = 1;
4827
- var lp = proj.pj_inv_deg({x: x, y: y}, crs);
4828
- var lp2 = proj.pj_inv_deg({x: x + dist, y: y}, crs);
4855
+ var lp = mproj.pj_inv_deg({x: x, y: y}, crs);
4856
+ var lp2 = mproj.pj_inv_deg({x: x + dist, y: y}, crs);
4829
4857
  var k = dist / geom.greatCircleDistance(lp.lam, lp.phi, lp2.lam, lp2.phi);
4830
4858
  return k;
4831
4859
  }
@@ -4863,7 +4891,7 @@
4863
4891
  }
4864
4892
 
4865
4893
  function printProjections() {
4866
- var index = require('mproj').internal.pj_list;
4894
+ var index = mproj.internal.pj_list;
4867
4895
  var msg = 'Proj4 projections\n';
4868
4896
  Object.keys(index).sort().forEach(function(id) {
4869
4897
  msg += ' ' + utils.rpad(id, 7, ' ') + ' ' + index[id].name + '\n';
@@ -4878,7 +4906,7 @@
4878
4906
  function translatePrj(str) {
4879
4907
  var proj4;
4880
4908
  try {
4881
- proj4 = require('mproj').internal.wkt_to_proj4(str);
4909
+ proj4 = mproj.internal.wkt_to_proj4(str);
4882
4910
  } catch(e) {
4883
4911
  stop('Unusable .prj file (' + e.message + ')');
4884
4912
  }
@@ -4902,6 +4930,7 @@
4902
4930
  crsToProj4: crsToProj4,
4903
4931
  crsToPrj: crsToPrj,
4904
4932
  crsAreEqual: crsAreEqual,
4933
+ isProjAlias: isProjAlias,
4905
4934
  getProjDefn: getProjDefn,
4906
4935
  looksLikeProj4String: looksLikeProj4String,
4907
4936
  getCRS: getCRS,
@@ -7034,7 +7063,7 @@
7034
7063
  return typeof window !== 'undefined' && typeof window.document !== 'undefined';
7035
7064
  }
7036
7065
 
7037
- var State = /*#__PURE__*/Object.freeze({
7066
+ var Env = /*#__PURE__*/Object.freeze({
7038
7067
  __proto__: null,
7039
7068
  runningInBrowser: runningInBrowser
7040
7069
  });
@@ -7145,13 +7174,13 @@
7145
7174
  content = cache[fname];
7146
7175
  delete cache[fname];
7147
7176
  } else if (fname == '/dev/stdin') {
7148
- content = require('rw').readFileSync(fname);
7177
+ content = require$1('rw').readFileSync(fname);
7149
7178
  } else {
7150
7179
  // kludge to prevent overwriting of input files
7151
7180
  (getStashedVar('input_files') || []).push(fname);
7152
- content = require('fs').readFileSync(fname);
7181
+ content = require$1('fs').readFileSync(fname);
7153
7182
  }
7154
- if (encoding && Buffer.isBuffer(content)) {
7183
+ if (encoding && B$3.isBuffer(content)) {
7155
7184
  content = trimBOM(decodeString(content, encoding));
7156
7185
  }
7157
7186
  return content;
@@ -7161,7 +7190,7 @@
7161
7190
  var odir = parseLocalPath(fname).directory;
7162
7191
  if (!odir || cli.isDirectory(odir) || fname == '/dev/stdout') return;
7163
7192
  try {
7164
- require('fs').mkdirSync(odir, {recursive: true});
7193
+ require$1('fs').mkdirSync(odir, {recursive: true});
7165
7194
  message('Created output directory:', odir);
7166
7195
  } catch(e) {
7167
7196
  stop('Unable to create output directory:', odir);
@@ -7170,7 +7199,7 @@
7170
7199
 
7171
7200
  // content: Buffer or string
7172
7201
  cli.writeFile = function(fname, content, cb) {
7173
- var fs = require('rw');
7202
+ var fs = require$1('rw');
7174
7203
  cli.createDirIfNeeded(fname);
7175
7204
  if (cb) {
7176
7205
  fs.writeFile(fname, content, cb);
@@ -7198,8 +7227,8 @@
7198
7227
  files = [];
7199
7228
 
7200
7229
  try {
7201
- require('fs').readdirSync(dir).forEach(function(item) {
7202
- var path = require('path').join(dir, item);
7230
+ require$1('fs').readdirSync(dir).forEach(function(item) {
7231
+ var path = require$1('path').join(dir, item);
7203
7232
  if (rxp.test(item) && cli.isFile(path)) {
7204
7233
  files.push(path);
7205
7234
  }
@@ -7241,7 +7270,7 @@
7241
7270
  cli.statSync = function(fpath) {
7242
7271
  var obj = null;
7243
7272
  try {
7244
- obj = require('fs').statSync(fpath);
7273
+ obj = require$1('fs').statSync(fpath);
7245
7274
  } catch(e) {}
7246
7275
  return obj;
7247
7276
  };
@@ -7293,7 +7322,7 @@
7293
7322
  var odir = opts.directory;
7294
7323
  if (odir) {
7295
7324
  files = files.map(function(file) {
7296
- return require('path').join(odir, file);
7325
+ return require$1('path').join(odir, file);
7297
7326
  });
7298
7327
  }
7299
7328
  return files;
@@ -7315,7 +7344,7 @@
7315
7344
  // Unlike rbush, flatbush doesn't allow size 0 indexes; workaround
7316
7345
  return function() {return [];};
7317
7346
  }
7318
- Flatbush = require('flatbush');
7347
+ Flatbush = require$1('flatbush');
7319
7348
  index = new Flatbush(boxes.length);
7320
7349
  boxes.forEach(function(ring) {
7321
7350
  var b = ring.bounds;
@@ -8791,10 +8820,10 @@
8791
8820
 
8792
8821
  // Returns undefined if not found
8793
8822
  function lookupColorName(str) {
8794
- return colors[str.toLowerCase().replace(/[ -]+/g, '')];
8823
+ return colors$1[str.toLowerCase().replace(/[ -]+/g, '')];
8795
8824
  }
8796
8825
 
8797
- var colors = {
8826
+ var colors$1 = {
8798
8827
  aliceblue: '#f0f8ff',
8799
8828
  antiquewhite: '#faebd7',
8800
8829
  aqua: '#00ffff',
@@ -13376,7 +13405,7 @@
13376
13405
  memo.push(buf);
13377
13406
  return memo;
13378
13407
  }, []);
13379
- return Buffer.concat(parts);
13408
+ return B$3.concat(parts);
13380
13409
  };
13381
13410
 
13382
13411
  // collection: an array of individual GeoJSON Features or geometries as strings or buffers
@@ -13398,7 +13427,7 @@
13398
13427
  return memo;
13399
13428
  }, [utils.createBuffer(head, 'utf8')]);
13400
13429
  parts.push(utils.createBuffer(tail, 'utf8'));
13401
- return Buffer.concat(parts);
13430
+ return B$3.concat(parts);
13402
13431
  };
13403
13432
 
13404
13433
  // export GeoJSON or TopoJSON point geometry
@@ -15175,7 +15204,7 @@
15175
15204
  var cache = {};
15176
15205
  function fetchFileSync(url) {
15177
15206
  if (url in cache) return cache[url];
15178
- var res = require('sync-request')('GET', url, {timeout: 2000});
15207
+ var res = require$1('sync-request')('GET', url, {timeout: 2000});
15179
15208
  var content = res.getBody().toString();
15180
15209
  cache[url] = content;
15181
15210
  return content;
@@ -15246,8 +15275,8 @@
15246
15275
  var content;
15247
15276
  if (href.indexOf('http') === 0) {
15248
15277
  content = fetchFileSync(href);
15249
- } else if (require('fs').existsSync(href)) {
15250
- content = require('fs').readFileSync(href, 'utf8');
15278
+ } else if (require$1('fs').existsSync(href)) {
15279
+ content = require$1('fs').readFileSync(href, 'utf8');
15251
15280
  } else {
15252
15281
  stop("Invalid SVG location:", href);
15253
15282
  }
@@ -15558,12 +15587,13 @@ ${svg}
15558
15587
  function BinArray(buf, le) {
15559
15588
  if (utils.isNumber(buf)) {
15560
15589
  buf = new ArrayBuffer(buf);
15561
- } else if (typeof Buffer == 'function' && buf instanceof Buffer) {
15590
+ } else if (buf instanceof ArrayBuffer) {
15591
+ // we're good
15592
+ } else if (typeof B$3 == 'function' && buf instanceof B$3) {
15562
15593
  // Since node 0.10, DataView constructor doesn't accept Buffers,
15563
15594
  // so need to copy Buffer to ArrayBuffer
15564
15595
  buf = BinArray.toArrayBuffer(buf);
15565
- }
15566
- if (buf instanceof ArrayBuffer == false) {
15596
+ } else {
15567
15597
  error("BinArray constructor takes an integer, ArrayBuffer or Buffer argument");
15568
15598
  }
15569
15599
  this._buffer = buf;
@@ -16442,7 +16472,7 @@ ${svg}
16442
16472
  buffers.push(encodeString(str, encoding));
16443
16473
  }
16444
16474
  }
16445
- return Buffer.concat(buffers);
16475
+ return B$3.concat(buffers);
16446
16476
  }
16447
16477
 
16448
16478
  function formatHeader(fields, formatRow) {
@@ -17659,7 +17689,7 @@ ${svg}
17659
17689
  }
17660
17690
 
17661
17691
  function FileReader(path, opts) {
17662
- var fs = require('fs'),
17692
+ var fs = require$1('fs'),
17663
17693
  fileLen = fs.statSync(path).size,
17664
17694
  DEFAULT_CACHE_LEN = opts && opts.cacheSize || 0x1000000, // 16MB
17665
17695
  DEFAULT_BUFFER_LEN = opts && opts.bufferSize || 0x40000, // 256K
@@ -18173,7 +18203,7 @@ ${svg}
18173
18203
 
18174
18204
  if (readFromFile) {
18175
18205
  reader = new FileReader(data.filename);
18176
- } else if (content instanceof ArrayBuffer || content instanceof Buffer) {
18206
+ } else if (content instanceof ArrayBuffer || content instanceof B$3) {
18177
18207
  // Web API may import as ArrayBuffer, to support larger files
18178
18208
  reader = new BufferReader(content);
18179
18209
  content = null;
@@ -23515,8 +23545,8 @@ ${svg}
23515
23545
  });
23516
23546
 
23517
23547
  function importKML(str, opts) {
23518
- var togeojson = require("@tmcw/togeojson");
23519
- var Parser = typeof DOMParser == 'undefined' ? require("@xmldom/xmldom").DOMParser : DOMParser;
23548
+ var togeojson = require$1("@tmcw/togeojson");
23549
+ var Parser = typeof DOMParser == 'undefined' ? require$1("@xmldom/xmldom").DOMParser : DOMParser;
23520
23550
  var geojson = togeojson.kml(new Parser().parseFromString(str, "text/xml"));
23521
23551
  return importGeoJSON(geojson, opts || {});
23522
23552
  }
@@ -24219,10 +24249,10 @@ ${svg}
24219
24249
  const ccwerrboundB = (2 + 12 * epsilon) * epsilon;
24220
24250
  const ccwerrboundC = (9 + 64 * epsilon) * epsilon * epsilon;
24221
24251
 
24222
- const B$1 = vec(4);
24252
+ const B$2 = vec(4);
24223
24253
  const C1 = vec(8);
24224
24254
  const C2 = vec(12);
24225
- const D = vec(16);
24255
+ const D$1 = vec(16);
24226
24256
  const u$2 = vec(4);
24227
24257
 
24228
24258
  function orient2dadapt(ax, ay, bx, by, cx, cy, detsum) {
@@ -24252,19 +24282,19 @@ ${svg}
24252
24282
  t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
24253
24283
  _i = s0 - t0;
24254
24284
  bvirt = s0 - _i;
24255
- B$1[0] = s0 - (_i + bvirt) + (bvirt - t0);
24285
+ B$2[0] = s0 - (_i + bvirt) + (bvirt - t0);
24256
24286
  _j = s1 + _i;
24257
24287
  bvirt = _j - s1;
24258
24288
  _0 = s1 - (_j - bvirt) + (_i - bvirt);
24259
24289
  _i = _0 - t1;
24260
24290
  bvirt = _0 - _i;
24261
- B$1[1] = _0 - (_i + bvirt) + (bvirt - t1);
24291
+ B$2[1] = _0 - (_i + bvirt) + (bvirt - t1);
24262
24292
  u3 = _j + _i;
24263
24293
  bvirt = u3 - _j;
24264
- B$1[2] = _j - (u3 - bvirt) + (_i - bvirt);
24265
- B$1[3] = u3;
24294
+ B$2[2] = _j - (u3 - bvirt) + (_i - bvirt);
24295
+ B$2[3] = u3;
24266
24296
 
24267
- let det = estimate(4, B$1);
24297
+ let det = estimate(4, B$2);
24268
24298
  let errbound = ccwerrboundB * detsum;
24269
24299
  if (det >= errbound || -det >= errbound) {
24270
24300
  return det;
@@ -24316,7 +24346,7 @@ ${svg}
24316
24346
  bvirt = u3 - _j;
24317
24347
  u$2[2] = _j - (u3 - bvirt) + (_i - bvirt);
24318
24348
  u$2[3] = u3;
24319
- const C1len = sum(4, B$1, 4, u$2, C1);
24349
+ const C1len = sum(4, B$2, 4, u$2, C1);
24320
24350
 
24321
24351
  s1 = acx * bcytail;
24322
24352
  c = splitter * acx;
@@ -24378,9 +24408,9 @@ ${svg}
24378
24408
  bvirt = u3 - _j;
24379
24409
  u$2[2] = _j - (u3 - bvirt) + (_i - bvirt);
24380
24410
  u$2[3] = u3;
24381
- const Dlen = sum(C2len, C2, 4, u$2, D);
24411
+ const Dlen = sum(C2len, C2, 4, u$2, D$1);
24382
24412
 
24383
- return D[Dlen - 1];
24413
+ return D$1[Dlen - 1];
24384
24414
  }
24385
24415
 
24386
24416
  function orient2d(ax, ay, bx, by, cx, cy) {
@@ -27643,7 +27673,7 @@ ${svg}
27643
27673
  function getGeodesic(P) {
27644
27674
  if (!isLatLngCRS(P)) error('Expected an unprojected CRS');
27645
27675
  var f = P.es / (1 + Math.sqrt(P.one_es));
27646
- var GeographicLib = require('mproj').internal.GeographicLib;
27676
+ var GeographicLib = require$1('mproj').internal.GeographicLib;
27647
27677
  return new GeographicLib.Geodesic.Geodesic(P.a, f);
27648
27678
  }
27649
27679
 
@@ -27772,7 +27802,7 @@ ${svg}
27772
27802
  var e = 1e-10;
27773
27803
  var T = 90 - e;
27774
27804
  var L = -180 + e;
27775
- var B = -90 + e;
27805
+ var B$1 = -90 + e;
27776
27806
  var R = 180 - e;
27777
27807
 
27778
27808
  function lastEl(arr) {
@@ -27800,12 +27830,12 @@ ${svg}
27800
27830
  function snapToEdge(p) {
27801
27831
  if (p[0] <= L) p[0] = -180;
27802
27832
  if (p[0] >= R) p[0] = 180;
27803
- if (p[1] <= B) p[1] = -90;
27833
+ if (p[1] <= B$1) p[1] = -90;
27804
27834
  if (p[1] >= T) p[1] = 90;
27805
27835
  }
27806
27836
 
27807
27837
  function onPole(p) {
27808
- return p[1] >= T || p[1] <= B;
27838
+ return p[1] >= T || p[1] <= B$1;
27809
27839
  }
27810
27840
 
27811
27841
  function isWholeWorld(coords) {
@@ -27831,7 +27861,7 @@ ${svg}
27831
27861
  }
27832
27862
 
27833
27863
  function isEdgePoint(p) {
27834
- return p[1] <= B || p[1] >= T || p[0] <= L || p[0] >= R;
27864
+ return p[1] <= B$1 || p[1] >= T || p[0] <= L || p[0] >= R;
27835
27865
  }
27836
27866
 
27837
27867
  // Remove segments that belong solely to cut points
@@ -28372,6 +28402,1120 @@ ${svg}
28372
28402
  return s;
28373
28403
  }
28374
28404
 
28405
+ function define(constructor, factory, prototype) {
28406
+ constructor.prototype = factory.prototype = prototype;
28407
+ prototype.constructor = constructor;
28408
+ }
28409
+
28410
+ function extend(parent, definition) {
28411
+ var prototype = Object.create(parent.prototype);
28412
+ for (var key in definition) prototype[key] = definition[key];
28413
+ return prototype;
28414
+ }
28415
+
28416
+ function Color() {}
28417
+
28418
+ var darker = 0.7;
28419
+ var brighter = 1 / darker;
28420
+
28421
+ var reI = "\\s*([+-]?\\d+)\\s*",
28422
+ reN = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",
28423
+ reP = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",
28424
+ reHex = /^#([0-9a-f]{3,8})$/,
28425
+ reRgbInteger = new RegExp("^rgb\\(" + [reI, reI, reI] + "\\)$"),
28426
+ reRgbPercent = new RegExp("^rgb\\(" + [reP, reP, reP] + "\\)$"),
28427
+ reRgbaInteger = new RegExp("^rgba\\(" + [reI, reI, reI, reN] + "\\)$"),
28428
+ reRgbaPercent = new RegExp("^rgba\\(" + [reP, reP, reP, reN] + "\\)$"),
28429
+ reHslPercent = new RegExp("^hsl\\(" + [reN, reP, reP] + "\\)$"),
28430
+ reHslaPercent = new RegExp("^hsla\\(" + [reN, reP, reP, reN] + "\\)$");
28431
+
28432
+ var named = {
28433
+ aliceblue: 0xf0f8ff,
28434
+ antiquewhite: 0xfaebd7,
28435
+ aqua: 0x00ffff,
28436
+ aquamarine: 0x7fffd4,
28437
+ azure: 0xf0ffff,
28438
+ beige: 0xf5f5dc,
28439
+ bisque: 0xffe4c4,
28440
+ black: 0x000000,
28441
+ blanchedalmond: 0xffebcd,
28442
+ blue: 0x0000ff,
28443
+ blueviolet: 0x8a2be2,
28444
+ brown: 0xa52a2a,
28445
+ burlywood: 0xdeb887,
28446
+ cadetblue: 0x5f9ea0,
28447
+ chartreuse: 0x7fff00,
28448
+ chocolate: 0xd2691e,
28449
+ coral: 0xff7f50,
28450
+ cornflowerblue: 0x6495ed,
28451
+ cornsilk: 0xfff8dc,
28452
+ crimson: 0xdc143c,
28453
+ cyan: 0x00ffff,
28454
+ darkblue: 0x00008b,
28455
+ darkcyan: 0x008b8b,
28456
+ darkgoldenrod: 0xb8860b,
28457
+ darkgray: 0xa9a9a9,
28458
+ darkgreen: 0x006400,
28459
+ darkgrey: 0xa9a9a9,
28460
+ darkkhaki: 0xbdb76b,
28461
+ darkmagenta: 0x8b008b,
28462
+ darkolivegreen: 0x556b2f,
28463
+ darkorange: 0xff8c00,
28464
+ darkorchid: 0x9932cc,
28465
+ darkred: 0x8b0000,
28466
+ darksalmon: 0xe9967a,
28467
+ darkseagreen: 0x8fbc8f,
28468
+ darkslateblue: 0x483d8b,
28469
+ darkslategray: 0x2f4f4f,
28470
+ darkslategrey: 0x2f4f4f,
28471
+ darkturquoise: 0x00ced1,
28472
+ darkviolet: 0x9400d3,
28473
+ deeppink: 0xff1493,
28474
+ deepskyblue: 0x00bfff,
28475
+ dimgray: 0x696969,
28476
+ dimgrey: 0x696969,
28477
+ dodgerblue: 0x1e90ff,
28478
+ firebrick: 0xb22222,
28479
+ floralwhite: 0xfffaf0,
28480
+ forestgreen: 0x228b22,
28481
+ fuchsia: 0xff00ff,
28482
+ gainsboro: 0xdcdcdc,
28483
+ ghostwhite: 0xf8f8ff,
28484
+ gold: 0xffd700,
28485
+ goldenrod: 0xdaa520,
28486
+ gray: 0x808080,
28487
+ green: 0x008000,
28488
+ greenyellow: 0xadff2f,
28489
+ grey: 0x808080,
28490
+ honeydew: 0xf0fff0,
28491
+ hotpink: 0xff69b4,
28492
+ indianred: 0xcd5c5c,
28493
+ indigo: 0x4b0082,
28494
+ ivory: 0xfffff0,
28495
+ khaki: 0xf0e68c,
28496
+ lavender: 0xe6e6fa,
28497
+ lavenderblush: 0xfff0f5,
28498
+ lawngreen: 0x7cfc00,
28499
+ lemonchiffon: 0xfffacd,
28500
+ lightblue: 0xadd8e6,
28501
+ lightcoral: 0xf08080,
28502
+ lightcyan: 0xe0ffff,
28503
+ lightgoldenrodyellow: 0xfafad2,
28504
+ lightgray: 0xd3d3d3,
28505
+ lightgreen: 0x90ee90,
28506
+ lightgrey: 0xd3d3d3,
28507
+ lightpink: 0xffb6c1,
28508
+ lightsalmon: 0xffa07a,
28509
+ lightseagreen: 0x20b2aa,
28510
+ lightskyblue: 0x87cefa,
28511
+ lightslategray: 0x778899,
28512
+ lightslategrey: 0x778899,
28513
+ lightsteelblue: 0xb0c4de,
28514
+ lightyellow: 0xffffe0,
28515
+ lime: 0x00ff00,
28516
+ limegreen: 0x32cd32,
28517
+ linen: 0xfaf0e6,
28518
+ magenta: 0xff00ff,
28519
+ maroon: 0x800000,
28520
+ mediumaquamarine: 0x66cdaa,
28521
+ mediumblue: 0x0000cd,
28522
+ mediumorchid: 0xba55d3,
28523
+ mediumpurple: 0x9370db,
28524
+ mediumseagreen: 0x3cb371,
28525
+ mediumslateblue: 0x7b68ee,
28526
+ mediumspringgreen: 0x00fa9a,
28527
+ mediumturquoise: 0x48d1cc,
28528
+ mediumvioletred: 0xc71585,
28529
+ midnightblue: 0x191970,
28530
+ mintcream: 0xf5fffa,
28531
+ mistyrose: 0xffe4e1,
28532
+ moccasin: 0xffe4b5,
28533
+ navajowhite: 0xffdead,
28534
+ navy: 0x000080,
28535
+ oldlace: 0xfdf5e6,
28536
+ olive: 0x808000,
28537
+ olivedrab: 0x6b8e23,
28538
+ orange: 0xffa500,
28539
+ orangered: 0xff4500,
28540
+ orchid: 0xda70d6,
28541
+ palegoldenrod: 0xeee8aa,
28542
+ palegreen: 0x98fb98,
28543
+ paleturquoise: 0xafeeee,
28544
+ palevioletred: 0xdb7093,
28545
+ papayawhip: 0xffefd5,
28546
+ peachpuff: 0xffdab9,
28547
+ peru: 0xcd853f,
28548
+ pink: 0xffc0cb,
28549
+ plum: 0xdda0dd,
28550
+ powderblue: 0xb0e0e6,
28551
+ purple: 0x800080,
28552
+ rebeccapurple: 0x663399,
28553
+ red: 0xff0000,
28554
+ rosybrown: 0xbc8f8f,
28555
+ royalblue: 0x4169e1,
28556
+ saddlebrown: 0x8b4513,
28557
+ salmon: 0xfa8072,
28558
+ sandybrown: 0xf4a460,
28559
+ seagreen: 0x2e8b57,
28560
+ seashell: 0xfff5ee,
28561
+ sienna: 0xa0522d,
28562
+ silver: 0xc0c0c0,
28563
+ skyblue: 0x87ceeb,
28564
+ slateblue: 0x6a5acd,
28565
+ slategray: 0x708090,
28566
+ slategrey: 0x708090,
28567
+ snow: 0xfffafa,
28568
+ springgreen: 0x00ff7f,
28569
+ steelblue: 0x4682b4,
28570
+ tan: 0xd2b48c,
28571
+ teal: 0x008080,
28572
+ thistle: 0xd8bfd8,
28573
+ tomato: 0xff6347,
28574
+ turquoise: 0x40e0d0,
28575
+ violet: 0xee82ee,
28576
+ wheat: 0xf5deb3,
28577
+ white: 0xffffff,
28578
+ whitesmoke: 0xf5f5f5,
28579
+ yellow: 0xffff00,
28580
+ yellowgreen: 0x9acd32
28581
+ };
28582
+
28583
+ define(Color, color, {
28584
+ copy: function(channels) {
28585
+ return Object.assign(new this.constructor, this, channels);
28586
+ },
28587
+ displayable: function() {
28588
+ return this.rgb().displayable();
28589
+ },
28590
+ hex: color_formatHex, // Deprecated! Use color.formatHex.
28591
+ formatHex: color_formatHex,
28592
+ formatHsl: color_formatHsl,
28593
+ formatRgb: color_formatRgb,
28594
+ toString: color_formatRgb
28595
+ });
28596
+
28597
+ function color_formatHex() {
28598
+ return this.rgb().formatHex();
28599
+ }
28600
+
28601
+ function color_formatHsl() {
28602
+ return hslConvert(this).formatHsl();
28603
+ }
28604
+
28605
+ function color_formatRgb() {
28606
+ return this.rgb().formatRgb();
28607
+ }
28608
+
28609
+ function color(format) {
28610
+ var m, l;
28611
+ format = (format + "").trim().toLowerCase();
28612
+ return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000
28613
+ : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00
28614
+ : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000
28615
+ : 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
28616
+ : null) // invalid hex
28617
+ : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)
28618
+ : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)
28619
+ : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)
28620
+ : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)
28621
+ : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)
28622
+ : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)
28623
+ : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins
28624
+ : format === "transparent" ? new Rgb(NaN, NaN, NaN, 0)
28625
+ : null;
28626
+ }
28627
+
28628
+ function rgbn(n) {
28629
+ return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);
28630
+ }
28631
+
28632
+ function rgba(r, g, b, a) {
28633
+ if (a <= 0) r = g = b = NaN;
28634
+ return new Rgb(r, g, b, a);
28635
+ }
28636
+
28637
+ function rgbConvert(o) {
28638
+ if (!(o instanceof Color)) o = color(o);
28639
+ if (!o) return new Rgb;
28640
+ o = o.rgb();
28641
+ return new Rgb(o.r, o.g, o.b, o.opacity);
28642
+ }
28643
+
28644
+ function rgb$1(r, g, b, opacity) {
28645
+ return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);
28646
+ }
28647
+
28648
+ function Rgb(r, g, b, opacity) {
28649
+ this.r = +r;
28650
+ this.g = +g;
28651
+ this.b = +b;
28652
+ this.opacity = +opacity;
28653
+ }
28654
+
28655
+ define(Rgb, rgb$1, extend(Color, {
28656
+ brighter: function(k) {
28657
+ k = k == null ? brighter : Math.pow(brighter, k);
28658
+ return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);
28659
+ },
28660
+ darker: function(k) {
28661
+ k = k == null ? darker : Math.pow(darker, k);
28662
+ return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);
28663
+ },
28664
+ rgb: function() {
28665
+ return this;
28666
+ },
28667
+ displayable: function() {
28668
+ return (-0.5 <= this.r && this.r < 255.5)
28669
+ && (-0.5 <= this.g && this.g < 255.5)
28670
+ && (-0.5 <= this.b && this.b < 255.5)
28671
+ && (0 <= this.opacity && this.opacity <= 1);
28672
+ },
28673
+ hex: rgb_formatHex, // Deprecated! Use color.formatHex.
28674
+ formatHex: rgb_formatHex,
28675
+ formatRgb: rgb_formatRgb,
28676
+ toString: rgb_formatRgb
28677
+ }));
28678
+
28679
+ function rgb_formatHex() {
28680
+ return "#" + hex(this.r) + hex(this.g) + hex(this.b);
28681
+ }
28682
+
28683
+ function rgb_formatRgb() {
28684
+ var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));
28685
+ return (a === 1 ? "rgb(" : "rgba(")
28686
+ + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + ", "
28687
+ + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + ", "
28688
+ + Math.max(0, Math.min(255, Math.round(this.b) || 0))
28689
+ + (a === 1 ? ")" : ", " + a + ")");
28690
+ }
28691
+
28692
+ function hex(value) {
28693
+ value = Math.max(0, Math.min(255, Math.round(value) || 0));
28694
+ return (value < 16 ? "0" : "") + value.toString(16);
28695
+ }
28696
+
28697
+ function hsla(h, s, l, a) {
28698
+ if (a <= 0) h = s = l = NaN;
28699
+ else if (l <= 0 || l >= 1) h = s = NaN;
28700
+ else if (s <= 0) h = NaN;
28701
+ return new Hsl(h, s, l, a);
28702
+ }
28703
+
28704
+ function hslConvert(o) {
28705
+ if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);
28706
+ if (!(o instanceof Color)) o = color(o);
28707
+ if (!o) return new Hsl;
28708
+ if (o instanceof Hsl) return o;
28709
+ o = o.rgb();
28710
+ var r = o.r / 255,
28711
+ g = o.g / 255,
28712
+ b = o.b / 255,
28713
+ min = Math.min(r, g, b),
28714
+ max = Math.max(r, g, b),
28715
+ h = NaN,
28716
+ s = max - min,
28717
+ l = (max + min) / 2;
28718
+ if (s) {
28719
+ if (r === max) h = (g - b) / s + (g < b) * 6;
28720
+ else if (g === max) h = (b - r) / s + 2;
28721
+ else h = (r - g) / s + 4;
28722
+ s /= l < 0.5 ? max + min : 2 - max - min;
28723
+ h *= 60;
28724
+ } else {
28725
+ s = l > 0 && l < 1 ? 0 : h;
28726
+ }
28727
+ return new Hsl(h, s, l, o.opacity);
28728
+ }
28729
+
28730
+ function hsl$2(h, s, l, opacity) {
28731
+ return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);
28732
+ }
28733
+
28734
+ function Hsl(h, s, l, opacity) {
28735
+ this.h = +h;
28736
+ this.s = +s;
28737
+ this.l = +l;
28738
+ this.opacity = +opacity;
28739
+ }
28740
+
28741
+ define(Hsl, hsl$2, extend(Color, {
28742
+ brighter: function(k) {
28743
+ k = k == null ? brighter : Math.pow(brighter, k);
28744
+ return new Hsl(this.h, this.s, this.l * k, this.opacity);
28745
+ },
28746
+ darker: function(k) {
28747
+ k = k == null ? darker : Math.pow(darker, k);
28748
+ return new Hsl(this.h, this.s, this.l * k, this.opacity);
28749
+ },
28750
+ rgb: function() {
28751
+ var h = this.h % 360 + (this.h < 0) * 360,
28752
+ s = isNaN(h) || isNaN(this.s) ? 0 : this.s,
28753
+ l = this.l,
28754
+ m2 = l + (l < 0.5 ? l : 1 - l) * s,
28755
+ m1 = 2 * l - m2;
28756
+ return new Rgb(
28757
+ hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),
28758
+ hsl2rgb(h, m1, m2),
28759
+ hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),
28760
+ this.opacity
28761
+ );
28762
+ },
28763
+ displayable: function() {
28764
+ return (0 <= this.s && this.s <= 1 || isNaN(this.s))
28765
+ && (0 <= this.l && this.l <= 1)
28766
+ && (0 <= this.opacity && this.opacity <= 1);
28767
+ },
28768
+ formatHsl: function() {
28769
+ var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));
28770
+ return (a === 1 ? "hsl(" : "hsla(")
28771
+ + (this.h || 0) + ", "
28772
+ + (this.s || 0) * 100 + "%, "
28773
+ + (this.l || 0) * 100 + "%"
28774
+ + (a === 1 ? ")" : ", " + a + ")");
28775
+ }
28776
+ }));
28777
+
28778
+ /* From FvD 13.37, CSS Color Module Level 3 */
28779
+ function hsl2rgb(h, m1, m2) {
28780
+ return (h < 60 ? m1 + (m2 - m1) * h / 60
28781
+ : h < 180 ? m2
28782
+ : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60
28783
+ : m1) * 255;
28784
+ }
28785
+
28786
+ const radians = Math.PI / 180;
28787
+ const degrees$1 = 180 / Math.PI;
28788
+
28789
+ // https://observablehq.com/@mbostock/lab-and-rgb
28790
+ const K = 18,
28791
+ Xn = 0.96422,
28792
+ Yn = 1,
28793
+ Zn = 0.82521,
28794
+ t0 = 4 / 29,
28795
+ t1 = 6 / 29,
28796
+ t2 = 3 * t1 * t1,
28797
+ t3 = t1 * t1 * t1;
28798
+
28799
+ function labConvert(o) {
28800
+ if (o instanceof Lab) return new Lab(o.l, o.a, o.b, o.opacity);
28801
+ if (o instanceof Hcl) return hcl2lab(o);
28802
+ if (!(o instanceof Rgb)) o = rgbConvert(o);
28803
+ var r = rgb2lrgb(o.r),
28804
+ g = rgb2lrgb(o.g),
28805
+ b = rgb2lrgb(o.b),
28806
+ y = xyz2lab((0.2225045 * r + 0.7168786 * g + 0.0606169 * b) / Yn), x, z;
28807
+ if (r === g && g === b) x = z = y; else {
28808
+ x = xyz2lab((0.4360747 * r + 0.3850649 * g + 0.1430804 * b) / Xn);
28809
+ z = xyz2lab((0.0139322 * r + 0.0971045 * g + 0.7141733 * b) / Zn);
28810
+ }
28811
+ return new Lab(116 * y - 16, 500 * (x - y), 200 * (y - z), o.opacity);
28812
+ }
28813
+
28814
+ function gray(l, opacity) {
28815
+ return new Lab(l, 0, 0, opacity == null ? 1 : opacity);
28816
+ }
28817
+
28818
+ function lab$1(l, a, b, opacity) {
28819
+ return arguments.length === 1 ? labConvert(l) : new Lab(l, a, b, opacity == null ? 1 : opacity);
28820
+ }
28821
+
28822
+ function Lab(l, a, b, opacity) {
28823
+ this.l = +l;
28824
+ this.a = +a;
28825
+ this.b = +b;
28826
+ this.opacity = +opacity;
28827
+ }
28828
+
28829
+ define(Lab, lab$1, extend(Color, {
28830
+ brighter: function(k) {
28831
+ return new Lab(this.l + K * (k == null ? 1 : k), this.a, this.b, this.opacity);
28832
+ },
28833
+ darker: function(k) {
28834
+ return new Lab(this.l - K * (k == null ? 1 : k), this.a, this.b, this.opacity);
28835
+ },
28836
+ rgb: function() {
28837
+ var y = (this.l + 16) / 116,
28838
+ x = isNaN(this.a) ? y : y + this.a / 500,
28839
+ z = isNaN(this.b) ? y : y - this.b / 200;
28840
+ x = Xn * lab2xyz(x);
28841
+ y = Yn * lab2xyz(y);
28842
+ z = Zn * lab2xyz(z);
28843
+ return new Rgb(
28844
+ lrgb2rgb( 3.1338561 * x - 1.6168667 * y - 0.4906146 * z),
28845
+ lrgb2rgb(-0.9787684 * x + 1.9161415 * y + 0.0334540 * z),
28846
+ lrgb2rgb( 0.0719453 * x - 0.2289914 * y + 1.4052427 * z),
28847
+ this.opacity
28848
+ );
28849
+ }
28850
+ }));
28851
+
28852
+ function xyz2lab(t) {
28853
+ return t > t3 ? Math.pow(t, 1 / 3) : t / t2 + t0;
28854
+ }
28855
+
28856
+ function lab2xyz(t) {
28857
+ return t > t1 ? t * t * t : t2 * (t - t0);
28858
+ }
28859
+
28860
+ function lrgb2rgb(x) {
28861
+ return 255 * (x <= 0.0031308 ? 12.92 * x : 1.055 * Math.pow(x, 1 / 2.4) - 0.055);
28862
+ }
28863
+
28864
+ function rgb2lrgb(x) {
28865
+ return (x /= 255) <= 0.04045 ? x / 12.92 : Math.pow((x + 0.055) / 1.055, 2.4);
28866
+ }
28867
+
28868
+ function hclConvert(o) {
28869
+ if (o instanceof Hcl) return new Hcl(o.h, o.c, o.l, o.opacity);
28870
+ if (!(o instanceof Lab)) o = labConvert(o);
28871
+ if (o.a === 0 && o.b === 0) return new Hcl(NaN, 0 < o.l && o.l < 100 ? 0 : NaN, o.l, o.opacity);
28872
+ var h = Math.atan2(o.b, o.a) * degrees$1;
28873
+ return new Hcl(h < 0 ? h + 360 : h, Math.sqrt(o.a * o.a + o.b * o.b), o.l, o.opacity);
28874
+ }
28875
+
28876
+ function lch(l, c, h, opacity) {
28877
+ return arguments.length === 1 ? hclConvert(l) : new Hcl(h, c, l, opacity == null ? 1 : opacity);
28878
+ }
28879
+
28880
+ function hcl$2(h, c, l, opacity) {
28881
+ return arguments.length === 1 ? hclConvert(h) : new Hcl(h, c, l, opacity == null ? 1 : opacity);
28882
+ }
28883
+
28884
+ function Hcl(h, c, l, opacity) {
28885
+ this.h = +h;
28886
+ this.c = +c;
28887
+ this.l = +l;
28888
+ this.opacity = +opacity;
28889
+ }
28890
+
28891
+ function hcl2lab(o) {
28892
+ if (isNaN(o.h)) return new Lab(o.l, 0, 0, o.opacity);
28893
+ var h = o.h * radians;
28894
+ return new Lab(o.l, Math.cos(h) * o.c, Math.sin(h) * o.c, o.opacity);
28895
+ }
28896
+
28897
+ define(Hcl, hcl$2, extend(Color, {
28898
+ brighter: function(k) {
28899
+ return new Hcl(this.h, this.c, this.l + K * (k == null ? 1 : k), this.opacity);
28900
+ },
28901
+ darker: function(k) {
28902
+ return new Hcl(this.h, this.c, this.l - K * (k == null ? 1 : k), this.opacity);
28903
+ },
28904
+ rgb: function() {
28905
+ return hcl2lab(this).rgb();
28906
+ }
28907
+ }));
28908
+
28909
+ var A = -0.14861,
28910
+ B = +1.78277,
28911
+ C = -0.29227,
28912
+ D = -0.90649,
28913
+ E = +1.97294,
28914
+ ED = E * D,
28915
+ EB = E * B,
28916
+ BC_DA = B * C - D * A;
28917
+
28918
+ function cubehelixConvert(o) {
28919
+ if (o instanceof Cubehelix) return new Cubehelix(o.h, o.s, o.l, o.opacity);
28920
+ if (!(o instanceof Rgb)) o = rgbConvert(o);
28921
+ var r = o.r / 255,
28922
+ g = o.g / 255,
28923
+ b = o.b / 255,
28924
+ l = (BC_DA * b + ED * r - EB * g) / (BC_DA + ED - EB),
28925
+ bl = b - l,
28926
+ k = (E * (g - l) - C * bl) / D,
28927
+ s = Math.sqrt(k * k + bl * bl) / (E * l * (1 - l)), // NaN if l=0 or l=1
28928
+ h = s ? Math.atan2(k, bl) * degrees$1 - 120 : NaN;
28929
+ return new Cubehelix(h < 0 ? h + 360 : h, s, l, o.opacity);
28930
+ }
28931
+
28932
+ function cubehelix$3(h, s, l, opacity) {
28933
+ return arguments.length === 1 ? cubehelixConvert(h) : new Cubehelix(h, s, l, opacity == null ? 1 : opacity);
28934
+ }
28935
+
28936
+ function Cubehelix(h, s, l, opacity) {
28937
+ this.h = +h;
28938
+ this.s = +s;
28939
+ this.l = +l;
28940
+ this.opacity = +opacity;
28941
+ }
28942
+
28943
+ define(Cubehelix, cubehelix$3, extend(Color, {
28944
+ brighter: function(k) {
28945
+ k = k == null ? brighter : Math.pow(brighter, k);
28946
+ return new Cubehelix(this.h, this.s, this.l * k, this.opacity);
28947
+ },
28948
+ darker: function(k) {
28949
+ k = k == null ? darker : Math.pow(darker, k);
28950
+ return new Cubehelix(this.h, this.s, this.l * k, this.opacity);
28951
+ },
28952
+ rgb: function() {
28953
+ var h = isNaN(this.h) ? 0 : (this.h + 120) * radians,
28954
+ l = +this.l,
28955
+ a = isNaN(this.s) ? 0 : this.s * l * (1 - l),
28956
+ cosh = Math.cos(h),
28957
+ sinh = Math.sin(h);
28958
+ return new Rgb(
28959
+ 255 * (l + a * (A * cosh + B * sinh)),
28960
+ 255 * (l + a * (C * cosh + D * sinh)),
28961
+ 255 * (l + a * (E * cosh)),
28962
+ this.opacity
28963
+ );
28964
+ }
28965
+ }));
28966
+
28967
+ function basis(t1, v0, v1, v2, v3) {
28968
+ var t2 = t1 * t1, t3 = t2 * t1;
28969
+ return ((1 - 3 * t1 + 3 * t2 - t3) * v0
28970
+ + (4 - 6 * t2 + 3 * t3) * v1
28971
+ + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2
28972
+ + t3 * v3) / 6;
28973
+ }
28974
+
28975
+ function basis$1(values) {
28976
+ var n = values.length - 1;
28977
+ return function(t) {
28978
+ var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),
28979
+ v1 = values[i],
28980
+ v2 = values[i + 1],
28981
+ v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,
28982
+ v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;
28983
+ return basis((t - i / n) * n, v0, v1, v2, v3);
28984
+ };
28985
+ }
28986
+
28987
+ function basisClosed(values) {
28988
+ var n = values.length;
28989
+ return function(t) {
28990
+ var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),
28991
+ v0 = values[(i + n - 1) % n],
28992
+ v1 = values[i % n],
28993
+ v2 = values[(i + 1) % n],
28994
+ v3 = values[(i + 2) % n];
28995
+ return basis((t - i / n) * n, v0, v1, v2, v3);
28996
+ };
28997
+ }
28998
+
28999
+ var constant = x => () => x;
29000
+
29001
+ function linear(a, d) {
29002
+ return function(t) {
29003
+ return a + t * d;
29004
+ };
29005
+ }
29006
+
29007
+ function exponential(a, b, y) {
29008
+ return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {
29009
+ return Math.pow(a + t * b, y);
29010
+ };
29011
+ }
29012
+
29013
+ function hue$1(a, b) {
29014
+ var d = b - a;
29015
+ return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);
29016
+ }
29017
+
29018
+ function gamma(y) {
29019
+ return (y = +y) === 1 ? nogamma : function(a, b) {
29020
+ return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);
29021
+ };
29022
+ }
29023
+
29024
+ function nogamma(a, b) {
29025
+ var d = b - a;
29026
+ return d ? linear(a, d) : constant(isNaN(a) ? b : a);
29027
+ }
29028
+
29029
+ var rgb = (function rgbGamma(y) {
29030
+ var color = gamma(y);
29031
+
29032
+ function rgb(start, end) {
29033
+ var r = color((start = rgb$1(start)).r, (end = rgb$1(end)).r),
29034
+ g = color(start.g, end.g),
29035
+ b = color(start.b, end.b),
29036
+ opacity = nogamma(start.opacity, end.opacity);
29037
+ return function(t) {
29038
+ start.r = r(t);
29039
+ start.g = g(t);
29040
+ start.b = b(t);
29041
+ start.opacity = opacity(t);
29042
+ return start + "";
29043
+ };
29044
+ }
29045
+
29046
+ rgb.gamma = rgbGamma;
29047
+
29048
+ return rgb;
29049
+ })(1);
29050
+
29051
+ function rgbSpline(spline) {
29052
+ return function(colors) {
29053
+ var n = colors.length,
29054
+ r = new Array(n),
29055
+ g = new Array(n),
29056
+ b = new Array(n),
29057
+ i, color;
29058
+ for (i = 0; i < n; ++i) {
29059
+ color = rgb$1(colors[i]);
29060
+ r[i] = color.r || 0;
29061
+ g[i] = color.g || 0;
29062
+ b[i] = color.b || 0;
29063
+ }
29064
+ r = spline(r);
29065
+ g = spline(g);
29066
+ b = spline(b);
29067
+ color.opacity = 1;
29068
+ return function(t) {
29069
+ color.r = r(t);
29070
+ color.g = g(t);
29071
+ color.b = b(t);
29072
+ return color + "";
29073
+ };
29074
+ };
29075
+ }
29076
+
29077
+ var rgbBasis = rgbSpline(basis$1);
29078
+ var rgbBasisClosed = rgbSpline(basisClosed);
29079
+
29080
+ function numberArray(a, b) {
29081
+ if (!b) b = [];
29082
+ var n = a ? Math.min(b.length, a.length) : 0,
29083
+ c = b.slice(),
29084
+ i;
29085
+ return function(t) {
29086
+ for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;
29087
+ return c;
29088
+ };
29089
+ }
29090
+
29091
+ function isNumberArray(x) {
29092
+ return ArrayBuffer.isView(x) && !(x instanceof DataView);
29093
+ }
29094
+
29095
+ function array(a, b) {
29096
+ return (isNumberArray(b) ? numberArray : genericArray)(a, b);
29097
+ }
29098
+
29099
+ function genericArray(a, b) {
29100
+ var nb = b ? b.length : 0,
29101
+ na = a ? Math.min(nb, a.length) : 0,
29102
+ x = new Array(na),
29103
+ c = new Array(nb),
29104
+ i;
29105
+
29106
+ for (i = 0; i < na; ++i) x[i] = d3_interpolate(a[i], b[i]);
29107
+ for (; i < nb; ++i) c[i] = b[i];
29108
+
29109
+ return function(t) {
29110
+ for (i = 0; i < na; ++i) c[i] = x[i](t);
29111
+ return c;
29112
+ };
29113
+ }
29114
+
29115
+ function date(a, b) {
29116
+ var d = new Date;
29117
+ return a = +a, b = +b, function(t) {
29118
+ return d.setTime(a * (1 - t) + b * t), d;
29119
+ };
29120
+ }
29121
+
29122
+ function number(a, b) {
29123
+ return a = +a, b = +b, function(t) {
29124
+ return a * (1 - t) + b * t;
29125
+ };
29126
+ }
29127
+
29128
+ function object(a, b) {
29129
+ var i = {},
29130
+ c = {},
29131
+ k;
29132
+
29133
+ if (a === null || typeof a !== "object") a = {};
29134
+ if (b === null || typeof b !== "object") b = {};
29135
+
29136
+ for (k in b) {
29137
+ if (k in a) {
29138
+ i[k] = d3_interpolate(a[k], b[k]);
29139
+ } else {
29140
+ c[k] = b[k];
29141
+ }
29142
+ }
29143
+
29144
+ return function(t) {
29145
+ for (k in i) c[k] = i[k](t);
29146
+ return c;
29147
+ };
29148
+ }
29149
+
29150
+ var reA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,
29151
+ reB = new RegExp(reA.source, "g");
29152
+
29153
+ function zero(b) {
29154
+ return function() {
29155
+ return b;
29156
+ };
29157
+ }
29158
+
29159
+ function one(b) {
29160
+ return function(t) {
29161
+ return b(t) + "";
29162
+ };
29163
+ }
29164
+
29165
+ function string(a, b) {
29166
+ var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b
29167
+ am, // current match in a
29168
+ bm, // current match in b
29169
+ bs, // string preceding current number in b, if any
29170
+ i = -1, // index in s
29171
+ s = [], // string constants and placeholders
29172
+ q = []; // number interpolators
29173
+
29174
+ // Coerce inputs to strings.
29175
+ a = a + "", b = b + "";
29176
+
29177
+ // Interpolate pairs of numbers in a & b.
29178
+ while ((am = reA.exec(a))
29179
+ && (bm = reB.exec(b))) {
29180
+ if ((bs = bm.index) > bi) { // a string precedes the next number in b
29181
+ bs = b.slice(bi, bs);
29182
+ if (s[i]) s[i] += bs; // coalesce with previous string
29183
+ else s[++i] = bs;
29184
+ }
29185
+ if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match
29186
+ if (s[i]) s[i] += bm; // coalesce with previous string
29187
+ else s[++i] = bm;
29188
+ } else { // interpolate non-matching numbers
29189
+ s[++i] = null;
29190
+ q.push({i: i, x: number(am, bm)});
29191
+ }
29192
+ bi = reB.lastIndex;
29193
+ }
29194
+
29195
+ // Add remains of b.
29196
+ if (bi < b.length) {
29197
+ bs = b.slice(bi);
29198
+ if (s[i]) s[i] += bs; // coalesce with previous string
29199
+ else s[++i] = bs;
29200
+ }
29201
+
29202
+ // Special optimization for only a single match.
29203
+ // Otherwise, interpolate each of the numbers and rejoin the string.
29204
+ return s.length < 2 ? (q[0]
29205
+ ? one(q[0].x)
29206
+ : zero(b))
29207
+ : (b = q.length, function(t) {
29208
+ for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);
29209
+ return s.join("");
29210
+ });
29211
+ }
29212
+
29213
+ function d3_interpolate(a, b) {
29214
+ var t = typeof b, c;
29215
+ return b == null || t === "boolean" ? constant(b)
29216
+ : (t === "number" ? number
29217
+ : t === "string" ? ((c = color(b)) ? (b = c, rgb) : string)
29218
+ : b instanceof color ? rgb
29219
+ : b instanceof Date ? date
29220
+ : isNumberArray(b) ? numberArray
29221
+ : Array.isArray(b) ? genericArray
29222
+ : typeof b.valueOf !== "function" && typeof b.toString !== "function" || isNaN(b) ? object
29223
+ : number)(a, b);
29224
+ }
29225
+
29226
+ function discrete(range) {
29227
+ var n = range.length;
29228
+ return function(t) {
29229
+ return range[Math.max(0, Math.min(n - 1, Math.floor(t * n)))];
29230
+ };
29231
+ }
29232
+
29233
+ function hue(a, b) {
29234
+ var i = hue$1(+a, +b);
29235
+ return function(t) {
29236
+ var x = i(t);
29237
+ return x - 360 * Math.floor(x / 360);
29238
+ };
29239
+ }
29240
+
29241
+ function round(a, b) {
29242
+ return a = +a, b = +b, function(t) {
29243
+ return Math.round(a * (1 - t) + b * t);
29244
+ };
29245
+ }
29246
+
29247
+ var degrees = 180 / Math.PI;
29248
+
29249
+ var identity = {
29250
+ translateX: 0,
29251
+ translateY: 0,
29252
+ rotate: 0,
29253
+ skewX: 0,
29254
+ scaleX: 1,
29255
+ scaleY: 1
29256
+ };
29257
+
29258
+ function decompose(a, b, c, d, e, f) {
29259
+ var scaleX, scaleY, skewX;
29260
+ if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX;
29261
+ if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX;
29262
+ if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY;
29263
+ if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;
29264
+ return {
29265
+ translateX: e,
29266
+ translateY: f,
29267
+ rotate: Math.atan2(b, a) * degrees,
29268
+ skewX: Math.atan(skewX) * degrees,
29269
+ scaleX: scaleX,
29270
+ scaleY: scaleY
29271
+ };
29272
+ }
29273
+
29274
+ var svgNode;
29275
+
29276
+ /* eslint-disable no-undef */
29277
+ function parseCss(value) {
29278
+ const m = new (typeof DOMMatrix === "function" ? DOMMatrix : WebKitCSSMatrix)(value + "");
29279
+ return m.isIdentity ? identity : decompose(m.a, m.b, m.c, m.d, m.e, m.f);
29280
+ }
29281
+
29282
+ function parseSvg(value) {
29283
+ if (value == null) return identity;
29284
+ if (!svgNode) svgNode = document.createElementNS("http://www.w3.org/2000/svg", "g");
29285
+ svgNode.setAttribute("transform", value);
29286
+ if (!(value = svgNode.transform.baseVal.consolidate())) return identity;
29287
+ value = value.matrix;
29288
+ return decompose(value.a, value.b, value.c, value.d, value.e, value.f);
29289
+ }
29290
+
29291
+ function interpolateTransform(parse, pxComma, pxParen, degParen) {
29292
+
29293
+ function pop(s) {
29294
+ return s.length ? s.pop() + " " : "";
29295
+ }
29296
+
29297
+ function translate(xa, ya, xb, yb, s, q) {
29298
+ if (xa !== xb || ya !== yb) {
29299
+ var i = s.push("translate(", null, pxComma, null, pxParen);
29300
+ q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});
29301
+ } else if (xb || yb) {
29302
+ s.push("translate(" + xb + pxComma + yb + pxParen);
29303
+ }
29304
+ }
29305
+
29306
+ function rotate(a, b, s, q) {
29307
+ if (a !== b) {
29308
+ if (a - b > 180) b += 360; else if (b - a > 180) a += 360; // shortest path
29309
+ q.push({i: s.push(pop(s) + "rotate(", null, degParen) - 2, x: number(a, b)});
29310
+ } else if (b) {
29311
+ s.push(pop(s) + "rotate(" + b + degParen);
29312
+ }
29313
+ }
29314
+
29315
+ function skewX(a, b, s, q) {
29316
+ if (a !== b) {
29317
+ q.push({i: s.push(pop(s) + "skewX(", null, degParen) - 2, x: number(a, b)});
29318
+ } else if (b) {
29319
+ s.push(pop(s) + "skewX(" + b + degParen);
29320
+ }
29321
+ }
29322
+
29323
+ function scale(xa, ya, xb, yb, s, q) {
29324
+ if (xa !== xb || ya !== yb) {
29325
+ var i = s.push(pop(s) + "scale(", null, ",", null, ")");
29326
+ q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});
29327
+ } else if (xb !== 1 || yb !== 1) {
29328
+ s.push(pop(s) + "scale(" + xb + "," + yb + ")");
29329
+ }
29330
+ }
29331
+
29332
+ return function(a, b) {
29333
+ var s = [], // string constants and placeholders
29334
+ q = []; // number interpolators
29335
+ a = parse(a), b = parse(b);
29336
+ translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q);
29337
+ rotate(a.rotate, b.rotate, s, q);
29338
+ skewX(a.skewX, b.skewX, s, q);
29339
+ scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q);
29340
+ a = b = null; // gc
29341
+ return function(t) {
29342
+ var i = -1, n = q.length, o;
29343
+ while (++i < n) s[(o = q[i]).i] = o.x(t);
29344
+ return s.join("");
29345
+ };
29346
+ };
29347
+ }
29348
+
29349
+ var interpolateTransformCss = interpolateTransform(parseCss, "px, ", "px)", "deg)");
29350
+ var interpolateTransformSvg = interpolateTransform(parseSvg, ", ", ")", ")");
29351
+
29352
+ var epsilon2 = 1e-12;
29353
+
29354
+ function cosh(x) {
29355
+ return ((x = Math.exp(x)) + 1 / x) / 2;
29356
+ }
29357
+
29358
+ function sinh(x) {
29359
+ return ((x = Math.exp(x)) - 1 / x) / 2;
29360
+ }
29361
+
29362
+ function tanh(x) {
29363
+ return ((x = Math.exp(2 * x)) - 1) / (x + 1);
29364
+ }
29365
+
29366
+ var zoom = (function zoomRho(rho, rho2, rho4) {
29367
+
29368
+ // p0 = [ux0, uy0, w0]
29369
+ // p1 = [ux1, uy1, w1]
29370
+ function zoom(p0, p1) {
29371
+ var ux0 = p0[0], uy0 = p0[1], w0 = p0[2],
29372
+ ux1 = p1[0], uy1 = p1[1], w1 = p1[2],
29373
+ dx = ux1 - ux0,
29374
+ dy = uy1 - uy0,
29375
+ d2 = dx * dx + dy * dy,
29376
+ i,
29377
+ S;
29378
+
29379
+ // Special case for u0 ≅ u1.
29380
+ if (d2 < epsilon2) {
29381
+ S = Math.log(w1 / w0) / rho;
29382
+ i = function(t) {
29383
+ return [
29384
+ ux0 + t * dx,
29385
+ uy0 + t * dy,
29386
+ w0 * Math.exp(rho * t * S)
29387
+ ];
29388
+ };
29389
+ }
29390
+
29391
+ // General case.
29392
+ else {
29393
+ var d1 = Math.sqrt(d2),
29394
+ b0 = (w1 * w1 - w0 * w0 + rho4 * d2) / (2 * w0 * rho2 * d1),
29395
+ b1 = (w1 * w1 - w0 * w0 - rho4 * d2) / (2 * w1 * rho2 * d1),
29396
+ r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0),
29397
+ r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1);
29398
+ S = (r1 - r0) / rho;
29399
+ i = function(t) {
29400
+ var s = t * S,
29401
+ coshr0 = cosh(r0),
29402
+ u = w0 / (rho2 * d1) * (coshr0 * tanh(rho * s + r0) - sinh(r0));
29403
+ return [
29404
+ ux0 + u * dx,
29405
+ uy0 + u * dy,
29406
+ w0 * coshr0 / cosh(rho * s + r0)
29407
+ ];
29408
+ };
29409
+ }
29410
+
29411
+ i.duration = S * 1000 * rho / Math.SQRT2;
29412
+
29413
+ return i;
29414
+ }
29415
+
29416
+ zoom.rho = function(_) {
29417
+ var _1 = Math.max(1e-3, +_), _2 = _1 * _1, _4 = _2 * _2;
29418
+ return zoomRho(_1, _2, _4);
29419
+ };
29420
+
29421
+ return zoom;
29422
+ })(Math.SQRT2, 2, 4);
29423
+
29424
+ function hsl(hue) {
29425
+ return function(start, end) {
29426
+ var h = hue((start = hsl$2(start)).h, (end = hsl$2(end)).h),
29427
+ s = nogamma(start.s, end.s),
29428
+ l = nogamma(start.l, end.l),
29429
+ opacity = nogamma(start.opacity, end.opacity);
29430
+ return function(t) {
29431
+ start.h = h(t);
29432
+ start.s = s(t);
29433
+ start.l = l(t);
29434
+ start.opacity = opacity(t);
29435
+ return start + "";
29436
+ };
29437
+ }
29438
+ }
29439
+
29440
+ var hsl$1 = hsl(hue$1);
29441
+ var hslLong = hsl(nogamma);
29442
+
29443
+ function lab(start, end) {
29444
+ var l = nogamma((start = lab$1(start)).l, (end = lab$1(end)).l),
29445
+ a = nogamma(start.a, end.a),
29446
+ b = nogamma(start.b, end.b),
29447
+ opacity = nogamma(start.opacity, end.opacity);
29448
+ return function(t) {
29449
+ start.l = l(t);
29450
+ start.a = a(t);
29451
+ start.b = b(t);
29452
+ start.opacity = opacity(t);
29453
+ return start + "";
29454
+ };
29455
+ }
29456
+
29457
+ function hcl(hue) {
29458
+ return function(start, end) {
29459
+ var h = hue((start = hcl$2(start)).h, (end = hcl$2(end)).h),
29460
+ c = nogamma(start.c, end.c),
29461
+ l = nogamma(start.l, end.l),
29462
+ opacity = nogamma(start.opacity, end.opacity);
29463
+ return function(t) {
29464
+ start.h = h(t);
29465
+ start.c = c(t);
29466
+ start.l = l(t);
29467
+ start.opacity = opacity(t);
29468
+ return start + "";
29469
+ };
29470
+ }
29471
+ }
29472
+
29473
+ var hcl$1 = hcl(hue$1);
29474
+ var hclLong = hcl(nogamma);
29475
+
29476
+ function cubehelix$1(hue) {
29477
+ return (function cubehelixGamma(y) {
29478
+ y = +y;
29479
+
29480
+ function cubehelix(start, end) {
29481
+ var h = hue((start = cubehelix$3(start)).h, (end = cubehelix$3(end)).h),
29482
+ s = nogamma(start.s, end.s),
29483
+ l = nogamma(start.l, end.l),
29484
+ opacity = nogamma(start.opacity, end.opacity);
29485
+ return function(t) {
29486
+ start.h = h(t);
29487
+ start.s = s(t);
29488
+ start.l = l(Math.pow(t, y));
29489
+ start.opacity = opacity(t);
29490
+ return start + "";
29491
+ };
29492
+ }
29493
+
29494
+ cubehelix.gamma = cubehelixGamma;
29495
+
29496
+ return cubehelix;
29497
+ })(1);
29498
+ }
29499
+
29500
+ var cubehelix$2 = cubehelix$1(hue$1);
29501
+ var cubehelixLong = cubehelix$1(nogamma);
29502
+
29503
+ function piecewise(interpolate, values) {
29504
+ if (values === undefined) values = interpolate, interpolate = d3_interpolate;
29505
+ var i = 0, n = values.length - 1, v = values[0], I = new Array(n < 0 ? 0 : n);
29506
+ while (i < n) I[i] = interpolate(v, v = values[++i]);
29507
+ return function(t) {
29508
+ var i = Math.max(0, Math.min(n - 1, Math.floor(t *= n)));
29509
+ return I[i](t - i);
29510
+ };
29511
+ }
29512
+
29513
+ function quantize(interpolator, n) {
29514
+ var samples = new Array(n);
29515
+ for (var i = 0; i < n; ++i) samples[i] = interpolator(i / (n - 1));
29516
+ return samples;
29517
+ }
29518
+
28375
29519
  // TODO: support three or more stops
28376
29520
  function getGradientFunction(stops) {
28377
29521
  var min = stops[0] / 100,
@@ -28403,11 +29547,10 @@ ${svg}
28403
29547
 
28404
29548
  // convert a continuous index ([0, n-1], -1) to a corresponding interpolated value
28405
29549
  function getInterpolatedValueGetter(values, nullValue) {
28406
- var d3 = require('d3-interpolate');
28407
29550
  var interpolators = [];
28408
29551
  var tmax = values.length - 1;
28409
29552
  for (var i=1; i<values.length; i++) {
28410
- interpolators.push(d3.interpolate(values[i-1], values[i]));
29553
+ interpolators.push(d3_interpolate(values[i-1], values[i]));
28411
29554
  }
28412
29555
  return function(t) {
28413
29556
  if (t == -1) return nullValue;
@@ -28425,7 +29568,6 @@ ${svg}
28425
29568
  // (colors and numbers should work)
28426
29569
  function interpolateValuesToClasses(values, n, stops) {
28427
29570
  if (values.length == n && !stops) return values;
28428
- var d3 = require('d3-interpolate');
28429
29571
  var numPairs = values.length - 1;
28430
29572
  var output = [values[0]];
28431
29573
  var k, j, t, intVal;
@@ -28434,7 +29576,7 @@ ${svg}
28434
29576
  j = Math.floor(k);
28435
29577
  t = k - j;
28436
29578
  // if (convert) t = convert(t);
28437
- intVal = d3.interpolate(values[j], values[j+1])(t);
29579
+ intVal = d3_interpolate(values[j], values[j+1])(t);
28438
29580
  output.push(intVal);
28439
29581
  }
28440
29582
  output.push(values[values.length - 1]);
@@ -29375,6 +30517,518 @@ ${svg}
29375
30517
  return maxId + 1;
29376
30518
  }
29377
30519
 
30520
+ function colors(specifier) {
30521
+ var n = specifier.length / 6 | 0, colors = new Array(n), i = 0;
30522
+ while (i < n) colors[i] = "#" + specifier.slice(i * 6, ++i * 6);
30523
+ return colors;
30524
+ }
30525
+
30526
+ var category10 = colors("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf");
30527
+
30528
+ var Accent = colors("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666");
30529
+
30530
+ var Dark2 = colors("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666");
30531
+
30532
+ var Paired = colors("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928");
30533
+
30534
+ var Pastel1 = colors("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2");
30535
+
30536
+ var Pastel2 = colors("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc");
30537
+
30538
+ var Set1 = colors("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999");
30539
+
30540
+ var Set2 = colors("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3");
30541
+
30542
+ var Set3 = colors("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f");
30543
+
30544
+ var Tableau10 = colors("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab");
30545
+
30546
+ var ramp$1 = scheme => rgbBasis(scheme[scheme.length - 1]);
30547
+
30548
+ var scheme$q = new Array(3).concat(
30549
+ "d8b365f5f5f55ab4ac",
30550
+ "a6611adfc27d80cdc1018571",
30551
+ "a6611adfc27df5f5f580cdc1018571",
30552
+ "8c510ad8b365f6e8c3c7eae55ab4ac01665e",
30553
+ "8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e",
30554
+ "8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e",
30555
+ "8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e",
30556
+ "5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30",
30557
+ "5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30"
30558
+ ).map(colors);
30559
+
30560
+ var BrBG = ramp$1(scheme$q);
30561
+
30562
+ var scheme$p = new Array(3).concat(
30563
+ "af8dc3f7f7f77fbf7b",
30564
+ "7b3294c2a5cfa6dba0008837",
30565
+ "7b3294c2a5cff7f7f7a6dba0008837",
30566
+ "762a83af8dc3e7d4e8d9f0d37fbf7b1b7837",
30567
+ "762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837",
30568
+ "762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837",
30569
+ "762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837",
30570
+ "40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b",
30571
+ "40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b"
30572
+ ).map(colors);
30573
+
30574
+ var PRGn = ramp$1(scheme$p);
30575
+
30576
+ var scheme$o = new Array(3).concat(
30577
+ "e9a3c9f7f7f7a1d76a",
30578
+ "d01c8bf1b6dab8e1864dac26",
30579
+ "d01c8bf1b6daf7f7f7b8e1864dac26",
30580
+ "c51b7de9a3c9fde0efe6f5d0a1d76a4d9221",
30581
+ "c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221",
30582
+ "c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221",
30583
+ "c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221",
30584
+ "8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419",
30585
+ "8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419"
30586
+ ).map(colors);
30587
+
30588
+ var PiYG = ramp$1(scheme$o);
30589
+
30590
+ var scheme$n = new Array(3).concat(
30591
+ "998ec3f7f7f7f1a340",
30592
+ "5e3c99b2abd2fdb863e66101",
30593
+ "5e3c99b2abd2f7f7f7fdb863e66101",
30594
+ "542788998ec3d8daebfee0b6f1a340b35806",
30595
+ "542788998ec3d8daebf7f7f7fee0b6f1a340b35806",
30596
+ "5427888073acb2abd2d8daebfee0b6fdb863e08214b35806",
30597
+ "5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806",
30598
+ "2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08",
30599
+ "2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08"
30600
+ ).map(colors);
30601
+
30602
+ var PuOr = ramp$1(scheme$n);
30603
+
30604
+ var scheme$m = new Array(3).concat(
30605
+ "ef8a62f7f7f767a9cf",
30606
+ "ca0020f4a58292c5de0571b0",
30607
+ "ca0020f4a582f7f7f792c5de0571b0",
30608
+ "b2182bef8a62fddbc7d1e5f067a9cf2166ac",
30609
+ "b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac",
30610
+ "b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac",
30611
+ "b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac",
30612
+ "67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061",
30613
+ "67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061"
30614
+ ).map(colors);
30615
+
30616
+ var RdBu = ramp$1(scheme$m);
30617
+
30618
+ var scheme$l = new Array(3).concat(
30619
+ "ef8a62ffffff999999",
30620
+ "ca0020f4a582bababa404040",
30621
+ "ca0020f4a582ffffffbababa404040",
30622
+ "b2182bef8a62fddbc7e0e0e09999994d4d4d",
30623
+ "b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d",
30624
+ "b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d",
30625
+ "b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d",
30626
+ "67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a",
30627
+ "67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a"
30628
+ ).map(colors);
30629
+
30630
+ var RdGy = ramp$1(scheme$l);
30631
+
30632
+ var scheme$k = new Array(3).concat(
30633
+ "fc8d59ffffbf91bfdb",
30634
+ "d7191cfdae61abd9e92c7bb6",
30635
+ "d7191cfdae61ffffbfabd9e92c7bb6",
30636
+ "d73027fc8d59fee090e0f3f891bfdb4575b4",
30637
+ "d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4",
30638
+ "d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4",
30639
+ "d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4",
30640
+ "a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695",
30641
+ "a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695"
30642
+ ).map(colors);
30643
+
30644
+ var RdYlBu = ramp$1(scheme$k);
30645
+
30646
+ var scheme$j = new Array(3).concat(
30647
+ "fc8d59ffffbf91cf60",
30648
+ "d7191cfdae61a6d96a1a9641",
30649
+ "d7191cfdae61ffffbfa6d96a1a9641",
30650
+ "d73027fc8d59fee08bd9ef8b91cf601a9850",
30651
+ "d73027fc8d59fee08bffffbfd9ef8b91cf601a9850",
30652
+ "d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850",
30653
+ "d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850",
30654
+ "a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837",
30655
+ "a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837"
30656
+ ).map(colors);
30657
+
30658
+ var RdYlGn = ramp$1(scheme$j);
30659
+
30660
+ var scheme$i = new Array(3).concat(
30661
+ "fc8d59ffffbf99d594",
30662
+ "d7191cfdae61abdda42b83ba",
30663
+ "d7191cfdae61ffffbfabdda42b83ba",
30664
+ "d53e4ffc8d59fee08be6f59899d5943288bd",
30665
+ "d53e4ffc8d59fee08bffffbfe6f59899d5943288bd",
30666
+ "d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd",
30667
+ "d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd",
30668
+ "9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2",
30669
+ "9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2"
30670
+ ).map(colors);
30671
+
30672
+ var Spectral = ramp$1(scheme$i);
30673
+
30674
+ var scheme$h = new Array(3).concat(
30675
+ "e5f5f999d8c92ca25f",
30676
+ "edf8fbb2e2e266c2a4238b45",
30677
+ "edf8fbb2e2e266c2a42ca25f006d2c",
30678
+ "edf8fbccece699d8c966c2a42ca25f006d2c",
30679
+ "edf8fbccece699d8c966c2a441ae76238b45005824",
30680
+ "f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824",
30681
+ "f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b"
30682
+ ).map(colors);
30683
+
30684
+ var BuGn = ramp$1(scheme$h);
30685
+
30686
+ var scheme$g = new Array(3).concat(
30687
+ "e0ecf49ebcda8856a7",
30688
+ "edf8fbb3cde38c96c688419d",
30689
+ "edf8fbb3cde38c96c68856a7810f7c",
30690
+ "edf8fbbfd3e69ebcda8c96c68856a7810f7c",
30691
+ "edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b",
30692
+ "f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b",
30693
+ "f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b"
30694
+ ).map(colors);
30695
+
30696
+ var BuPu = ramp$1(scheme$g);
30697
+
30698
+ var scheme$f = new Array(3).concat(
30699
+ "e0f3dba8ddb543a2ca",
30700
+ "f0f9e8bae4bc7bccc42b8cbe",
30701
+ "f0f9e8bae4bc7bccc443a2ca0868ac",
30702
+ "f0f9e8ccebc5a8ddb57bccc443a2ca0868ac",
30703
+ "f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e",
30704
+ "f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e",
30705
+ "f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081"
30706
+ ).map(colors);
30707
+
30708
+ var GnBu = ramp$1(scheme$f);
30709
+
30710
+ var scheme$e = new Array(3).concat(
30711
+ "fee8c8fdbb84e34a33",
30712
+ "fef0d9fdcc8afc8d59d7301f",
30713
+ "fef0d9fdcc8afc8d59e34a33b30000",
30714
+ "fef0d9fdd49efdbb84fc8d59e34a33b30000",
30715
+ "fef0d9fdd49efdbb84fc8d59ef6548d7301f990000",
30716
+ "fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000",
30717
+ "fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000"
30718
+ ).map(colors);
30719
+
30720
+ var OrRd = ramp$1(scheme$e);
30721
+
30722
+ var scheme$d = new Array(3).concat(
30723
+ "ece2f0a6bddb1c9099",
30724
+ "f6eff7bdc9e167a9cf02818a",
30725
+ "f6eff7bdc9e167a9cf1c9099016c59",
30726
+ "f6eff7d0d1e6a6bddb67a9cf1c9099016c59",
30727
+ "f6eff7d0d1e6a6bddb67a9cf3690c002818a016450",
30728
+ "fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450",
30729
+ "fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636"
30730
+ ).map(colors);
30731
+
30732
+ var PuBuGn = ramp$1(scheme$d);
30733
+
30734
+ var scheme$c = new Array(3).concat(
30735
+ "ece7f2a6bddb2b8cbe",
30736
+ "f1eef6bdc9e174a9cf0570b0",
30737
+ "f1eef6bdc9e174a9cf2b8cbe045a8d",
30738
+ "f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d",
30739
+ "f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b",
30740
+ "fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b",
30741
+ "fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858"
30742
+ ).map(colors);
30743
+
30744
+ var PuBu = ramp$1(scheme$c);
30745
+
30746
+ var scheme$b = new Array(3).concat(
30747
+ "e7e1efc994c7dd1c77",
30748
+ "f1eef6d7b5d8df65b0ce1256",
30749
+ "f1eef6d7b5d8df65b0dd1c77980043",
30750
+ "f1eef6d4b9dac994c7df65b0dd1c77980043",
30751
+ "f1eef6d4b9dac994c7df65b0e7298ace125691003f",
30752
+ "f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f",
30753
+ "f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f"
30754
+ ).map(colors);
30755
+
30756
+ var PuRd = ramp$1(scheme$b);
30757
+
30758
+ var scheme$a = new Array(3).concat(
30759
+ "fde0ddfa9fb5c51b8a",
30760
+ "feebe2fbb4b9f768a1ae017e",
30761
+ "feebe2fbb4b9f768a1c51b8a7a0177",
30762
+ "feebe2fcc5c0fa9fb5f768a1c51b8a7a0177",
30763
+ "feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177",
30764
+ "fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177",
30765
+ "fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a"
30766
+ ).map(colors);
30767
+
30768
+ var RdPu = ramp$1(scheme$a);
30769
+
30770
+ var scheme$9 = new Array(3).concat(
30771
+ "edf8b17fcdbb2c7fb8",
30772
+ "ffffcca1dab441b6c4225ea8",
30773
+ "ffffcca1dab441b6c42c7fb8253494",
30774
+ "ffffccc7e9b47fcdbb41b6c42c7fb8253494",
30775
+ "ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84",
30776
+ "ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84",
30777
+ "ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58"
30778
+ ).map(colors);
30779
+
30780
+ var YlGnBu = ramp$1(scheme$9);
30781
+
30782
+ var scheme$8 = new Array(3).concat(
30783
+ "f7fcb9addd8e31a354",
30784
+ "ffffccc2e69978c679238443",
30785
+ "ffffccc2e69978c67931a354006837",
30786
+ "ffffccd9f0a3addd8e78c67931a354006837",
30787
+ "ffffccd9f0a3addd8e78c67941ab5d238443005a32",
30788
+ "ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32",
30789
+ "ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529"
30790
+ ).map(colors);
30791
+
30792
+ var YlGn = ramp$1(scheme$8);
30793
+
30794
+ var scheme$7 = new Array(3).concat(
30795
+ "fff7bcfec44fd95f0e",
30796
+ "ffffd4fed98efe9929cc4c02",
30797
+ "ffffd4fed98efe9929d95f0e993404",
30798
+ "ffffd4fee391fec44ffe9929d95f0e993404",
30799
+ "ffffd4fee391fec44ffe9929ec7014cc4c028c2d04",
30800
+ "ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04",
30801
+ "ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506"
30802
+ ).map(colors);
30803
+
30804
+ var YlOrBr = ramp$1(scheme$7);
30805
+
30806
+ var scheme$6 = new Array(3).concat(
30807
+ "ffeda0feb24cf03b20",
30808
+ "ffffb2fecc5cfd8d3ce31a1c",
30809
+ "ffffb2fecc5cfd8d3cf03b20bd0026",
30810
+ "ffffb2fed976feb24cfd8d3cf03b20bd0026",
30811
+ "ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026",
30812
+ "ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026",
30813
+ "ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026"
30814
+ ).map(colors);
30815
+
30816
+ var YlOrRd = ramp$1(scheme$6);
30817
+
30818
+ var scheme$5 = new Array(3).concat(
30819
+ "deebf79ecae13182bd",
30820
+ "eff3ffbdd7e76baed62171b5",
30821
+ "eff3ffbdd7e76baed63182bd08519c",
30822
+ "eff3ffc6dbef9ecae16baed63182bd08519c",
30823
+ "eff3ffc6dbef9ecae16baed64292c62171b5084594",
30824
+ "f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594",
30825
+ "f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b"
30826
+ ).map(colors);
30827
+
30828
+ var Blues = ramp$1(scheme$5);
30829
+
30830
+ var scheme$4 = new Array(3).concat(
30831
+ "e5f5e0a1d99b31a354",
30832
+ "edf8e9bae4b374c476238b45",
30833
+ "edf8e9bae4b374c47631a354006d2c",
30834
+ "edf8e9c7e9c0a1d99b74c47631a354006d2c",
30835
+ "edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32",
30836
+ "f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32",
30837
+ "f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b"
30838
+ ).map(colors);
30839
+
30840
+ var Greens = ramp$1(scheme$4);
30841
+
30842
+ var scheme$3 = new Array(3).concat(
30843
+ "f0f0f0bdbdbd636363",
30844
+ "f7f7f7cccccc969696525252",
30845
+ "f7f7f7cccccc969696636363252525",
30846
+ "f7f7f7d9d9d9bdbdbd969696636363252525",
30847
+ "f7f7f7d9d9d9bdbdbd969696737373525252252525",
30848
+ "fffffff0f0f0d9d9d9bdbdbd969696737373525252252525",
30849
+ "fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000"
30850
+ ).map(colors);
30851
+
30852
+ var Greys = ramp$1(scheme$3);
30853
+
30854
+ var scheme$2 = new Array(3).concat(
30855
+ "efedf5bcbddc756bb1",
30856
+ "f2f0f7cbc9e29e9ac86a51a3",
30857
+ "f2f0f7cbc9e29e9ac8756bb154278f",
30858
+ "f2f0f7dadaebbcbddc9e9ac8756bb154278f",
30859
+ "f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486",
30860
+ "fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486",
30861
+ "fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d"
30862
+ ).map(colors);
30863
+
30864
+ var Purples = ramp$1(scheme$2);
30865
+
30866
+ var scheme$1 = new Array(3).concat(
30867
+ "fee0d2fc9272de2d26",
30868
+ "fee5d9fcae91fb6a4acb181d",
30869
+ "fee5d9fcae91fb6a4ade2d26a50f15",
30870
+ "fee5d9fcbba1fc9272fb6a4ade2d26a50f15",
30871
+ "fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d",
30872
+ "fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d",
30873
+ "fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d"
30874
+ ).map(colors);
30875
+
30876
+ var Reds = ramp$1(scheme$1);
30877
+
30878
+ var scheme = new Array(3).concat(
30879
+ "fee6cefdae6be6550d",
30880
+ "feeddefdbe85fd8d3cd94701",
30881
+ "feeddefdbe85fd8d3ce6550da63603",
30882
+ "feeddefdd0a2fdae6bfd8d3ce6550da63603",
30883
+ "feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04",
30884
+ "fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04",
30885
+ "fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704"
30886
+ ).map(colors);
30887
+
30888
+ var Oranges = ramp$1(scheme);
30889
+
30890
+ function cividis(t) {
30891
+ t = Math.max(0, Math.min(1, t));
30892
+ return "rgb("
30893
+ + Math.max(0, Math.min(255, Math.round(-4.54 - t * (35.34 - t * (2381.73 - t * (6402.7 - t * (7024.72 - t * 2710.57))))))) + ", "
30894
+ + Math.max(0, Math.min(255, Math.round(32.49 + t * (170.73 + t * (52.82 - t * (131.46 - t * (176.58 - t * 67.37))))))) + ", "
30895
+ + Math.max(0, Math.min(255, Math.round(81.24 + t * (442.36 - t * (2482.43 - t * (6167.24 - t * (6614.94 - t * 2475.67)))))))
30896
+ + ")";
30897
+ }
30898
+
30899
+ var cubehelix = cubehelixLong(cubehelix$3(300, 0.5, 0.0), cubehelix$3(-240, 0.5, 1.0));
30900
+
30901
+ var warm = cubehelixLong(cubehelix$3(-100, 0.75, 0.35), cubehelix$3(80, 1.50, 0.8));
30902
+
30903
+ var cool = cubehelixLong(cubehelix$3(260, 0.75, 0.35), cubehelix$3(80, 1.50, 0.8));
30904
+
30905
+ var c$1 = cubehelix$3();
30906
+
30907
+ function rainbow(t) {
30908
+ if (t < 0 || t > 1) t -= Math.floor(t);
30909
+ var ts = Math.abs(t - 0.5);
30910
+ c$1.h = 360 * t - 100;
30911
+ c$1.s = 1.5 - 1.5 * ts;
30912
+ c$1.l = 0.8 - 0.9 * ts;
30913
+ return c$1 + "";
30914
+ }
30915
+
30916
+ var c = rgb$1(),
30917
+ pi_1_3 = Math.PI / 3,
30918
+ pi_2_3 = Math.PI * 2 / 3;
30919
+
30920
+ function sinebow(t) {
30921
+ var x;
30922
+ t = (0.5 - t) * Math.PI;
30923
+ c.r = 255 * (x = Math.sin(t)) * x;
30924
+ c.g = 255 * (x = Math.sin(t + pi_1_3)) * x;
30925
+ c.b = 255 * (x = Math.sin(t + pi_2_3)) * x;
30926
+ return c + "";
30927
+ }
30928
+
30929
+ function turbo(t) {
30930
+ t = Math.max(0, Math.min(1, t));
30931
+ return "rgb("
30932
+ + Math.max(0, Math.min(255, Math.round(34.61 + t * (1172.33 - t * (10793.56 - t * (33300.12 - t * (38394.49 - t * 14825.05))))))) + ", "
30933
+ + Math.max(0, Math.min(255, Math.round(23.31 + t * (557.33 + t * (1225.33 - t * (3574.96 - t * (1073.77 + t * 707.56))))))) + ", "
30934
+ + Math.max(0, Math.min(255, Math.round(27.2 + t * (3211.1 - t * (15327.97 - t * (27814 - t * (22569.18 - t * 6838.66)))))))
30935
+ + ")";
30936
+ }
30937
+
30938
+ function ramp(range) {
30939
+ var n = range.length;
30940
+ return function(t) {
30941
+ return range[Math.max(0, Math.min(n - 1, Math.floor(t * n)))];
30942
+ };
30943
+ }
30944
+
30945
+ var viridis = ramp(colors("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"));
30946
+
30947
+ var magma = ramp(colors("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf"));
30948
+
30949
+ var inferno = ramp(colors("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4"));
30950
+
30951
+ var plasma = ramp(colors("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));
30952
+
30953
+ var lib = /*#__PURE__*/Object.freeze({
30954
+ __proto__: null,
30955
+ schemeCategory10: category10,
30956
+ schemeAccent: Accent,
30957
+ schemeDark2: Dark2,
30958
+ schemePaired: Paired,
30959
+ schemePastel1: Pastel1,
30960
+ schemePastel2: Pastel2,
30961
+ schemeSet1: Set1,
30962
+ schemeSet2: Set2,
30963
+ schemeSet3: Set3,
30964
+ schemeTableau10: Tableau10,
30965
+ interpolateBrBG: BrBG,
30966
+ schemeBrBG: scheme$q,
30967
+ interpolatePRGn: PRGn,
30968
+ schemePRGn: scheme$p,
30969
+ interpolatePiYG: PiYG,
30970
+ schemePiYG: scheme$o,
30971
+ interpolatePuOr: PuOr,
30972
+ schemePuOr: scheme$n,
30973
+ interpolateRdBu: RdBu,
30974
+ schemeRdBu: scheme$m,
30975
+ interpolateRdGy: RdGy,
30976
+ schemeRdGy: scheme$l,
30977
+ interpolateRdYlBu: RdYlBu,
30978
+ schemeRdYlBu: scheme$k,
30979
+ interpolateRdYlGn: RdYlGn,
30980
+ schemeRdYlGn: scheme$j,
30981
+ interpolateSpectral: Spectral,
30982
+ schemeSpectral: scheme$i,
30983
+ interpolateBuGn: BuGn,
30984
+ schemeBuGn: scheme$h,
30985
+ interpolateBuPu: BuPu,
30986
+ schemeBuPu: scheme$g,
30987
+ interpolateGnBu: GnBu,
30988
+ schemeGnBu: scheme$f,
30989
+ interpolateOrRd: OrRd,
30990
+ schemeOrRd: scheme$e,
30991
+ interpolatePuBuGn: PuBuGn,
30992
+ schemePuBuGn: scheme$d,
30993
+ interpolatePuBu: PuBu,
30994
+ schemePuBu: scheme$c,
30995
+ interpolatePuRd: PuRd,
30996
+ schemePuRd: scheme$b,
30997
+ interpolateRdPu: RdPu,
30998
+ schemeRdPu: scheme$a,
30999
+ interpolateYlGnBu: YlGnBu,
31000
+ schemeYlGnBu: scheme$9,
31001
+ interpolateYlGn: YlGn,
31002
+ schemeYlGn: scheme$8,
31003
+ interpolateYlOrBr: YlOrBr,
31004
+ schemeYlOrBr: scheme$7,
31005
+ interpolateYlOrRd: YlOrRd,
31006
+ schemeYlOrRd: scheme$6,
31007
+ interpolateBlues: Blues,
31008
+ schemeBlues: scheme$5,
31009
+ interpolateGreens: Greens,
31010
+ schemeGreens: scheme$4,
31011
+ interpolateGreys: Greys,
31012
+ schemeGreys: scheme$3,
31013
+ interpolatePurples: Purples,
31014
+ schemePurples: scheme$2,
31015
+ interpolateReds: Reds,
31016
+ schemeReds: scheme$1,
31017
+ interpolateOranges: Oranges,
31018
+ schemeOranges: scheme,
31019
+ interpolateCividis: cividis,
31020
+ interpolateCubehelixDefault: cubehelix,
31021
+ interpolateRainbow: rainbow,
31022
+ interpolateWarm: warm,
31023
+ interpolateCool: cool,
31024
+ interpolateSinebow: sinebow,
31025
+ interpolateTurbo: turbo,
31026
+ interpolateViridis: viridis,
31027
+ interpolateMagma: magma,
31028
+ interpolateInferno: inferno,
31029
+ interpolatePlasma: plasma
31030
+ });
31031
+
29378
31032
  var index = {
29379
31033
  categorical: [],
29380
31034
  sequential: [],
@@ -29524,7 +31178,7 @@ ${svg}
29524
31178
  function getColorRamp(name, n, stops) {
29525
31179
  initSchemes();
29526
31180
  name = standardName(name);
29527
- var lib = require('d3-scale-chromatic');
31181
+ // var lib = require('d3-scale-chromatic');
29528
31182
  var ramps = lib['scheme' + name];
29529
31183
  var interpolate = lib['interpolate' + name];
29530
31184
  var ramp;
@@ -29833,9 +31487,8 @@ ${svg}
29833
31487
  }
29834
31488
 
29835
31489
  function formatColorsAsHex(colors) {
29836
- var d3 = require('d3-color');
29837
31490
  return colors.map(function(col) {
29838
- var o = d3.color(col);
31491
+ var o = color(col);
29839
31492
  if (!o) stop('Unable to parse color:', col);
29840
31493
  return o.formatHex();
29841
31494
  });
@@ -32649,10 +34302,10 @@ ${svg}
32649
34302
  moduleName = opts.module;
32650
34303
  }
32651
34304
  if (moduleFile) {
32652
- moduleFile = require('path').join(process.cwd(), moduleFile);
34305
+ moduleFile = require$1('path').join(process.cwd(), moduleFile);
32653
34306
  }
32654
34307
  try {
32655
- _module = require(moduleFile || moduleName);
34308
+ _module = require$1(moduleFile || moduleName);
32656
34309
  _module(coreAPI);
32657
34310
  } catch(e) {
32658
34311
  // stop(e);
@@ -34699,7 +36352,7 @@ ${svg}
34699
36352
  // TODO: add more projections
34700
36353
  //
34701
36354
  function expandProjDefn(str, dataset) {
34702
- var mproj = require('mproj');
36355
+ var mproj = require$1('mproj');
34703
36356
  var proj4, params, bbox, isConic2SP, isCentered, decimals;
34704
36357
  if (str in mproj.internal.pj_list === false) {
34705
36358
  // not a bare projection code -- assume valid projection string in other format
@@ -34741,6 +36394,13 @@ ${svg}
34741
36394
  return `+lon_0=${ cx.toFixed(decimals) } +lat_0=${ cy.toFixed(decimals) }`;
34742
36395
  }
34743
36396
 
36397
+ var ProjectionParams = /*#__PURE__*/Object.freeze({
36398
+ __proto__: null,
36399
+ expandProjDefn: expandProjDefn,
36400
+ getConicParams: getConicParams,
36401
+ getCenterParams: getCenterParams
36402
+ });
36403
+
34744
36404
  cmd.proj = function(dataset, catalog, opts) {
34745
36405
  var srcInfo, destInfo, destStr;
34746
36406
  if (opts.init) {
@@ -36575,7 +38235,7 @@ ${svg}
36575
38235
  requireSinglePointLayer(srcLyr);
36576
38236
  var points = getPointsInLayer(srcLyr);
36577
38237
  var maxDist = opts.max_distance ? convertDistanceParam(opts.max_distance, crs) : 1e-3;
36578
- var kdbush = require('kdbush');
38238
+ var kdbush = require$1('kdbush');
36579
38239
  var index = new kdbush(points);
36580
38240
  var lookup = getLookupFunction(index, crs, maxDist);
36581
38241
  var uniqIndex = new IdTestIndex(points.length);
@@ -37238,7 +38898,7 @@ ${svg}
37238
38898
  }
37239
38899
 
37240
38900
  function getPointIndex(points, grid, radius) {
37241
- var Flatbush = require('flatbush');
38901
+ var Flatbush = require$1('flatbush');
37242
38902
  var gridIndex = new IdTestIndex(grid.cells());
37243
38903
  var bboxIndex = new Flatbush(points.length);
37244
38904
  var empty = [];
@@ -37659,10 +39319,10 @@ ${svg}
37659
39319
  moduleName = opts.module;
37660
39320
  }
37661
39321
  if (moduleFile) {
37662
- moduleFile = require('path').join(process.cwd(), moduleFile);
39322
+ moduleFile = require$1('path').join(process.cwd(), moduleFile);
37663
39323
  }
37664
39324
  try {
37665
- mod = require(moduleFile || moduleName);
39325
+ mod = require$1(moduleFile || moduleName);
37666
39326
  } catch(e) {
37667
39327
  stop(e);
37668
39328
  }
@@ -40306,7 +41966,7 @@ ${svg}
40306
41966
  //
40307
41967
  function runCommandsXL(argv) {
40308
41968
  var opts = importRunArgs.apply(null, arguments);
40309
- var mapshaperScript = require('path').join(__dirname, 'bin/mapshaper');
41969
+ var mapshaperScript = require$1('path').join(__dirname, 'bin/mapshaper');
40310
41970
  var gb = parseFloat(opts.options.xl) || 8;
40311
41971
  var err;
40312
41972
  if (gb < 1 || gb > 64) {
@@ -40318,7 +41978,7 @@ ${svg}
40318
41978
  if (!loggingEnabled()) argv += ' -quiet'; // kludge to pass logging setting to subprocess
40319
41979
  var mb = Math.round(gb * 1000);
40320
41980
  var command = [process.execPath, '--max-old-space-size=' + mb, mapshaperScript, argv].join(' ');
40321
- var child = require('child_process').exec(command, {}, function(err, stdout, stderr) {
41981
+ var child = require$1('child_process').exec(command, {}, function(err, stdout, stderr) {
40322
41982
  opts.callback(err);
40323
41983
  });
40324
41984
  child.stdout.pipe(process.stdout);
@@ -41029,6 +42689,7 @@ ${svg}
41029
42689
  PostSimplifyRepair,
41030
42690
  Proj,
41031
42691
  Projections,
42692
+ ProjectionParams,
41032
42693
  Rectangle,
41033
42694
  Rounding,
41034
42695
  RunCommands,
@@ -41046,7 +42707,7 @@ ${svg}
41046
42707
  Snapping,
41047
42708
  SourceUtils,
41048
42709
  Split,
41049
- State,
42710
+ Env,
41050
42711
  Stash,
41051
42712
  Stringify,
41052
42713
  Svg,
@@ -41062,10 +42723,10 @@ ${svg}
41062
42723
  );
41063
42724
 
41064
42725
  // The entry point for the core mapshaper module
42726
+
41065
42727
  var moduleAPI = Object.assign({
41066
- cli, geom, utils, internal,
41067
- importFile // Adding importFile() for compatibility with old tests; todo: rewrite tests
41068
- }, cmd, coreAPI); // Adding command functions to the top-level module API, for test compatibility
42728
+ cli, cmd, geom, utils, internal,
42729
+ }, coreAPI);
41069
42730
 
41070
42731
  if (typeof module === "object" && module.exports) {
41071
42732
  module.exports = moduleAPI;