{"version":3,"sources":["jsdelivr-header.js","/npm/@thi.ng/associative@7.1.23/dissoc.js","/npm/@thi.ng/associative@7.1.23/internal/dispose.js","/npm/@thi.ng/associative@7.1.23/internal/equiv.js","/npm/@thi.ng/associative@7.1.23/internal/tostring.js","/npm/@thi.ng/associative@7.1.23/into.js","/npm/@thi.ng/associative@7.1.23/array-set.js","/npm/@thi.ng/associative@7.1.23/checks.js","/npm/@thi.ng/associative@7.1.23/internal/combine.js","/npm/@thi.ng/associative@7.1.23/difference.js","/npm/@thi.ng/associative@7.1.23/equiv-map.js","/npm/@thi.ng/associative@7.1.23/first.js","/npm/@thi.ng/associative@7.1.23/hash-map.js","/npm/@thi.ng/associative@7.1.23/indexed.js","/npm/@thi.ng/associative@7.1.23/intersection.js","/npm/@thi.ng/associative@7.1.23/join.js","/npm/@thi.ng/associative@7.1.23/ll-set.js","/npm/@thi.ng/associative@7.1.23/union.js"],"names":[],"mappings":"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","file":"/npm/@thi.ng/associative@7.1.23/index.js/+esm","sourceRoot":"","sourcesContent":["/**\n * Bundled by jsDelivr using Rollup v2.79.2 and Terser v5.39.0.\n * Original file: /npm/@thi.ng/associative@7.1.23/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","function dissoc(coll, keys) {\n  for (const k of keys) {\n    coll.delete(k);\n  }\n  return coll;\n}\nexport {\n  dissoc\n};\n","import { mixin } from \"@thi.ng/api/mixin\";\nconst __disposableValues = mixin({\n  [Symbol.dispose]() {\n    console.log(\"disposing... %s\", this);\n    for (const x of this.values()) {\n      x[Symbol.dispose]?.();\n    }\n  }\n});\nconst __disposableEntries = mixin({\n  [Symbol.dispose]() {\n    console.log(\"disposing... %s\", this);\n    for (const [k, v] of this.entries()) {\n      k[Symbol.dispose]?.();\n      v[Symbol.dispose]?.();\n    }\n  }\n});\nexport {\n  __disposableEntries,\n  __disposableValues\n};\n","import { equiv } from \"@thi.ng/equiv\";\nconst __equivMap = (a, b) => {\n  if (a === b) {\n    return true;\n  }\n  if (!(b instanceof Map) || a.size !== b.size) {\n    return false;\n  }\n  for (const p of a.entries()) {\n    if (!equiv(b.get(p[0]), p[1])) {\n      return false;\n    }\n  }\n  return true;\n};\nconst __equivSet = (a, b) => {\n  if (a === b) {\n    return true;\n  }\n  if (!(b instanceof Set) || a.size !== b.size) {\n    return false;\n  }\n  for (const k of a.keys()) {\n    if (!b.has(k)) {\n      return false;\n    }\n  }\n  return true;\n};\nexport {\n  __equivMap,\n  __equivSet\n};\n","import { mixin } from \"@thi.ng/api/mixin\";\nimport { map } from \"@thi.ng/transducers/map\";\nconst __tostringSet = (x) => [\n  `${x[Symbol.toStringTag]}(${x.size || 0}) {`,\n  [...x].map((x2) => __tostring(x2)).join(\", \"),\n  \"}\"\n].join(\" \");\nconst __tostringMap = (x) => [\n  `${x[Symbol.toStringTag]}(${x.size || 0}) {`,\n  [...map(([k, v]) => `${__tostring(k)} => ${__tostring(v)}`, x)].join(\n    \", \"\n  ),\n  \"}\"\n].join(\" \");\nconst __tostring = (x) => {\n  return x instanceof Set ? __tostringSet(x) : x instanceof Map ? __tostringMap(x) : JSON.stringify(x);\n};\nconst __tostringMixin = mixin({\n  toString() {\n    return __tostring(this);\n  }\n});\nexport {\n  __tostringMixin\n};\n","import { isMap } from \"@thi.ng/checks/is-map\";\nfunction into(coll, src) {\n  if (isMap(coll)) {\n    for (const x of src) {\n      coll.set(x[0], x[1]);\n    }\n  } else {\n    for (const x of src) {\n      coll.add(x);\n    }\n  }\n  return coll;\n}\nexport {\n  into\n};\n","var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __typeError = (msg) => {\n  throw TypeError(msg);\n};\nvar __decorateClass = (decorators, target, key, kind) => {\n  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;\n  for (var i = decorators.length - 1, decorator; i >= 0; i--)\n    if (decorator = decorators[i])\n      result = (kind ? decorator(target, key, result) : decorator(result)) || result;\n  if (kind && result) __defProp(target, key, result);\n  return result;\n};\nvar __accessCheck = (obj, member, msg) => member.has(obj) || __typeError(\"Cannot \" + msg);\nvar __privateGet = (obj, member, getter) => (__accessCheck(obj, member, \"read from private field\"), getter ? getter.call(obj) : member.get(obj));\nvar __privateAdd = (obj, member, value) => member.has(obj) ? __typeError(\"Cannot add the same private member more than once\") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\nvar __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, \"write to private field\"), setter ? setter.call(obj, value) : member.set(obj, value), value);\nvar _vals, _equiv;\nimport { SEMAPHORE } from \"@thi.ng/api/api\";\nimport { findIndex } from \"@thi.ng/arrays/find\";\nimport { equiv } from \"@thi.ng/equiv\";\nimport { dissoc } from \"./dissoc.js\";\nimport { __disposableValues } from \"./internal/dispose.js\";\nimport { __equivSet } from \"./internal/equiv.js\";\nimport { __tostringMixin } from \"./internal/tostring.js\";\nimport { into } from \"./into.js\";\nlet ArraySet = class extends Set {\n  constructor(vals, opts = {}) {\n    super();\n    __privateAdd(this, _vals);\n    __privateAdd(this, _equiv);\n    __privateSet(this, _equiv, opts.equiv || equiv);\n    __privateSet(this, _vals, []);\n    vals && this.into(vals);\n  }\n  *[Symbol.iterator]() {\n    yield* __privateGet(this, _vals);\n  }\n  // mixin\n  [Symbol.dispose]() {\n  }\n  get [Symbol.species]() {\n    return ArraySet;\n  }\n  get [Symbol.toStringTag]() {\n    return \"ArraySet\";\n  }\n  get size() {\n    return __privateGet(this, _vals).length;\n  }\n  copy() {\n    const s = new ArraySet(null, { equiv: __privateGet(this, _equiv) });\n    __privateSet(s, _vals, __privateGet(this, _vals).slice());\n    return s;\n  }\n  empty() {\n    return new ArraySet(null, this.opts());\n  }\n  clear() {\n    __privateGet(this, _vals).length = 0;\n  }\n  first() {\n    if (this.size) {\n      return __privateGet(this, _vals)[0];\n    }\n  }\n  add(key) {\n    !this.has(key) && __privateGet(this, _vals).push(key);\n    return this;\n  }\n  into(keys) {\n    return into(this, keys);\n  }\n  has(key) {\n    return this.get(key, SEMAPHORE) !== SEMAPHORE;\n  }\n  /**\n   * Returns the canonical value for `x`, if present. If the set\n   * contains no equivalent for `x`, returns `notFound`.\n   *\n   * @param key - search key\n   * @param notFound - default value\n   */\n  get(key, notFound) {\n    const i = findIndex(__privateGet(this, _vals), key, __privateGet(this, _equiv));\n    return i >= 0 ? __privateGet(this, _vals)[i] : notFound;\n  }\n  delete(key) {\n    const equiv2 = __privateGet(this, _equiv);\n    const vals = __privateGet(this, _vals);\n    for (let i = vals.length; i-- > 0; ) {\n      if (equiv2(vals[i], key)) {\n        vals.splice(i, 1);\n        return true;\n      }\n    }\n    return false;\n  }\n  disj(keys) {\n    return dissoc(this, keys);\n  }\n  equiv(o) {\n    return __equivSet(this, o);\n  }\n  /**\n   * The value args given to the callback `fn` MUST be treated as\n   * readonly/immutable. This could be enforced via TS, but would\n   * break ES6 Set interface contract.\n   *\n   * @param fn -\n   * @param thisArg -\n   */\n  forEach(fn, thisArg) {\n    const vals = __privateGet(this, _vals);\n    for (let i = vals.length; i-- > 0; ) {\n      const v = vals[i];\n      fn.call(thisArg, v, v, this);\n    }\n  }\n  *entries() {\n    for (const v of __privateGet(this, _vals)) {\n      yield [v, v];\n    }\n  }\n  *keys() {\n    yield* __privateGet(this, _vals);\n  }\n  *values() {\n    yield* __privateGet(this, _vals);\n  }\n  opts() {\n    return { equiv: __privateGet(this, _equiv) };\n  }\n};\n_vals = new WeakMap();\n_equiv = new WeakMap();\nArraySet = __decorateClass([\n  __disposableValues,\n  __tostringMixin\n], ArraySet);\nconst defArraySet = (vals, opts) => new ArraySet(vals, opts);\nexport {\n  ArraySet,\n  defArraySet\n};\n","import { isMap } from \"@thi.ng/checks/is-map\";\nimport { isSet } from \"@thi.ng/checks/is-set\";\nconst ensureMap = (x) => isMap(x) ? x : new Map(x);\nconst ensureSet = (x) => isSet(x) ? x : new Set(x);\nexport {\n  ensureMap,\n  ensureSet\n};\n","import { reduce } from \"@thi.ng/transducers/reduce\";\nimport { ensureSet } from \"../checks.js\";\nconst __combineSet = (rfn, op, src) => src ? reduce(rfn(), src) : [\n  () => null,\n  (acc) => acc || /* @__PURE__ */ new Set(),\n  (acc, x) => !acc ? ensureSet(x) : op(acc, ensureSet(x))\n];\nexport {\n  __combineSet\n};\n","import { copy } from \"@thi.ng/object-utils/copy\";\nimport { empty } from \"@thi.ng/object-utils/empty\";\nimport { __combineSet } from \"./internal/combine.js\";\nimport { into } from \"./into.js\";\nconst difference = (a, b, out) => {\n  if (a === b) {\n    return out || empty(a, Set);\n  }\n  out = out ? into(out, a) : copy(a, Set);\n  for (const i of b) {\n    out.delete(i);\n  }\n  return out;\n};\nfunction differenceR(src) {\n  return __combineSet(differenceR, difference, src);\n}\nexport {\n  difference,\n  differenceR\n};\n","var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __typeError = (msg) => {\n  throw TypeError(msg);\n};\nvar __decorateClass = (decorators, target, key, kind) => {\n  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;\n  for (var i = decorators.length - 1, decorator; i >= 0; i--)\n    if (decorator = decorators[i])\n      result = (kind ? decorator(target, key, result) : decorator(result)) || result;\n  if (kind && result) __defProp(target, key, result);\n  return result;\n};\nvar __accessCheck = (obj, member, msg) => member.has(obj) || __typeError(\"Cannot \" + msg);\nvar __privateGet = (obj, member, getter) => (__accessCheck(obj, member, \"read from private field\"), getter ? getter.call(obj) : member.get(obj));\nvar __privateAdd = (obj, member, value) => member.has(obj) ? __typeError(\"Cannot add the same private member more than once\") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\nvar __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, \"write to private field\"), setter ? setter.call(obj, value) : member.set(obj, value), value);\nvar _keys, _map, _opts;\nimport { SEMAPHORE } from \"@thi.ng/api/api\";\nimport { isPlainObject } from \"@thi.ng/checks/is-plain-object\";\nimport { equiv } from \"@thi.ng/equiv\";\nimport { pairs } from \"@thi.ng/transducers/pairs\";\nimport { ArraySet } from \"./array-set.js\";\nimport { dissoc } from \"./dissoc.js\";\nimport { __disposableEntries } from \"./internal/dispose.js\";\nimport { __equivMap } from \"./internal/equiv.js\";\nimport { __tostringMixin } from \"./internal/tostring.js\";\nimport { into } from \"./into.js\";\nlet EquivMap = class extends Map {\n  /**\n   * Creates a new instance with optional initial key-value pairs and provided\n   * options. If no `opts` are given, uses `ArraySet` for storing canonical\n   * keys and\n   * [`equiv`](https://docs.thi.ng/umbrella/equiv/functions/equiv.html) for\n   * checking key equivalence.\n   *\n   * @param pairs - key-value pairs\n   * @param opts - config options\n   */\n  constructor(pairs2, opts) {\n    super();\n    __privateAdd(this, _keys);\n    __privateAdd(this, _map);\n    __privateAdd(this, _opts);\n    const _opts2 = { equiv, keys: ArraySet, ...opts };\n    __privateSet(this, _keys, new _opts2.keys(null, { equiv: _opts2.equiv }));\n    __privateSet(this, _map, /* @__PURE__ */ new Map());\n    __privateSet(this, _opts, _opts2);\n    if (pairs2) {\n      this.into(pairs2);\n    }\n  }\n  [Symbol.iterator]() {\n    return this.entries();\n  }\n  // mixin\n  [Symbol.dispose]() {\n  }\n  get [Symbol.species]() {\n    return EquivMap;\n  }\n  get [Symbol.toStringTag]() {\n    return \"EquivMap\";\n  }\n  get size() {\n    return __privateGet(this, _keys).size;\n  }\n  clear() {\n    __privateGet(this, _keys).clear();\n    __privateGet(this, _map).clear();\n  }\n  empty() {\n    return new EquivMap(null, __privateGet(this, _opts));\n  }\n  copy() {\n    const m = new EquivMap();\n    __privateSet(m, _keys, __privateGet(this, _keys).copy());\n    __privateSet(m, _map, new Map(__privateGet(this, _map)));\n    __privateSet(m, _opts, __privateGet(this, _opts));\n    return m;\n  }\n  equiv(o) {\n    return __equivMap(this, o);\n  }\n  delete(key) {\n    const $key = __privateGet(this, _keys).get(key, SEMAPHORE);\n    if ($key !== SEMAPHORE) {\n      __privateGet(this, _map).delete($key);\n      __privateGet(this, _keys).delete($key);\n      return true;\n    }\n    return false;\n  }\n  dissoc(keys) {\n    return dissoc(this, keys);\n  }\n  /**\n   * The key & value args given the callback `fn` MUST be treated as\n   * readonly/immutable. This could be enforced via TS, but would\n   * break ES6 Map interface contract.\n   *\n   * @param fn -\n   * @param thisArg -\n   */\n  forEach(fn, thisArg) {\n    for (const pair of __privateGet(this, _map)) {\n      fn.call(thisArg, pair[1], pair[0], this);\n    }\n  }\n  get(key, notFound) {\n    const $key = __privateGet(this, _keys).get(key, SEMAPHORE);\n    return $key !== SEMAPHORE ? __privateGet(this, _map).get($key) : notFound;\n  }\n  has(key) {\n    return __privateGet(this, _keys).has(key);\n  }\n  set(key, value) {\n    const $key = __privateGet(this, _keys).get(key, SEMAPHORE);\n    if ($key !== SEMAPHORE) {\n      __privateGet(this, _map).set($key, value);\n    } else {\n      __privateGet(this, _keys).add(key);\n      __privateGet(this, _map).set(key, value);\n    }\n    return this;\n  }\n  into(pairs2) {\n    return into(this, pairs2);\n  }\n  entries() {\n    return __privateGet(this, _map).entries();\n  }\n  keys() {\n    return __privateGet(this, _map).keys();\n  }\n  values() {\n    return __privateGet(this, _map).values();\n  }\n  opts() {\n    return __privateGet(this, _opts);\n  }\n};\n_keys = new WeakMap();\n_map = new WeakMap();\n_opts = new WeakMap();\nEquivMap = __decorateClass([\n  __disposableEntries,\n  __tostringMixin\n], EquivMap);\nfunction defEquivMap(src, opts) {\n  return new EquivMap(\n    isPlainObject(src) ? pairs(src) : src,\n    opts\n  );\n}\nexport {\n  EquivMap,\n  defEquivMap\n};\n","const first = (x) => x[Symbol.iterator]().next().value;\nexport {\n  first\n};\n","var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __typeError = (msg) => {\n  throw TypeError(msg);\n};\nvar __decorateClass = (decorators, target, key, kind) => {\n  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;\n  for (var i = decorators.length - 1, decorator; i >= 0; i--)\n    if (decorator = decorators[i])\n      result = (kind ? decorator(target, key, result) : decorator(result)) || result;\n  if (kind && result) __defProp(target, key, result);\n  return result;\n};\nvar __accessCheck = (obj, member, msg) => member.has(obj) || __typeError(\"Cannot \" + msg);\nvar __privateGet = (obj, member, getter) => (__accessCheck(obj, member, \"read from private field\"), getter ? getter.call(obj) : member.get(obj));\nvar __privateAdd = (obj, member, value) => member.has(obj) ? __typeError(\"Cannot add the same private member more than once\") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\nvar __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, \"write to private field\"), setter ? setter.call(obj, value) : member.set(obj, value), value);\nvar __privateWrapper = (obj, member, setter, getter) => ({\n  set _(value) {\n    __privateSet(obj, member, value, setter);\n  },\n  get _() {\n    return __privateGet(obj, member, getter);\n  }\n});\nvar _hash, _equiv, _load, _bins, _mask, _size;\nimport { ceilPow2 } from \"@thi.ng/binary/pow\";\nimport { isPlainObject } from \"@thi.ng/checks/is-plain-object\";\nimport { equiv } from \"@thi.ng/equiv\";\nimport { map } from \"@thi.ng/transducers/map\";\nimport { dissoc } from \"./dissoc.js\";\nimport { __disposableEntries } from \"./internal/dispose.js\";\nimport { __equivMap } from \"./internal/equiv.js\";\nimport { __tostringMixin } from \"./internal/tostring.js\";\nimport { into } from \"./into.js\";\nconst DEFAULT_CAP = 16;\nconst DEFAULT_LOAD = 0.75;\nlet HashMap = class extends Map {\n  constructor(pairs, opts) {\n    super();\n    __privateAdd(this, _hash);\n    __privateAdd(this, _equiv);\n    __privateAdd(this, _load);\n    __privateAdd(this, _bins);\n    __privateAdd(this, _mask);\n    __privateAdd(this, _size);\n    const m = ceilPow2(Math.min(opts.cap || DEFAULT_CAP, 4)) - 1;\n    __privateSet(this, _hash, opts.hash);\n    __privateSet(this, _equiv, opts.equiv || equiv);\n    __privateSet(this, _load, opts.load || DEFAULT_LOAD);\n    __privateSet(this, _mask, m);\n    __privateSet(this, _bins, new Array(m + 1));\n    __privateSet(this, _size, 0);\n    if (pairs) {\n      this.into(pairs);\n    }\n  }\n  get [Symbol.species]() {\n    return HashMap;\n  }\n  get [Symbol.toStringTag]() {\n    return \"HashMap\";\n  }\n  get size() {\n    return __privateGet(this, _size);\n  }\n  [Symbol.iterator]() {\n    return this.entries();\n  }\n  // mixin\n  [Symbol.dispose]() {\n  }\n  *entries() {\n    for (const p of __privateGet(this, _bins)) {\n      if (p) yield [p[0], p[1]];\n    }\n  }\n  *keys() {\n    for (const p of __privateGet(this, _bins)) {\n      if (p) yield p[0];\n    }\n  }\n  *values() {\n    for (const p of __privateGet(this, _bins)) {\n      if (p) yield p[1];\n    }\n  }\n  /**\n   * The key & value args given the callback `fn` MUST be treated as\n   * readonly/immutable. This could be enforced via TS, but would\n   * break ES6 Map interface contract.\n   *\n   * @param fn -\n   * @param thisArg -\n   */\n  forEach(fn, thisArg) {\n    for (const pair of __privateGet(this, _bins)) {\n      fn.call(thisArg, pair[1], pair[0], this);\n    }\n  }\n  clear() {\n    __privateSet(this, _bins, new Array(DEFAULT_CAP));\n    __privateSet(this, _mask, 15);\n    __privateSet(this, _size, 0);\n  }\n  empty() {\n    return new HashMap(null, this.opts({ cap: DEFAULT_CAP }));\n  }\n  copy() {\n    const m = new HashMap(null, this.opts({ cap: 4 }));\n    __privateSet(m, _bins, __privateGet(this, _bins).slice());\n    __privateSet(m, _mask, __privateGet(this, _mask));\n    __privateSet(m, _size, __privateGet(this, _size));\n    return m;\n  }\n  equiv(o) {\n    return __equivMap(this, o);\n  }\n  has(key) {\n    const i = this.find(key);\n    return i >= 0 && __privateGet(this, _bins)[i] != void 0;\n  }\n  get(key, notFound) {\n    const i = this.find(key);\n    return i >= 0 && __privateGet(this, _bins)[i] ? __privateGet(this, _bins)[i][1] : notFound;\n  }\n  set(key, val) {\n    let i = this.find(key);\n    if (i >= 0 && __privateGet(this, _bins)[i]) {\n      __privateGet(this, _bins)[i][1] = val;\n      return this;\n    }\n    if (this.size > __privateGet(this, _mask) * __privateGet(this, _load)) {\n      this.resize();\n      i = this.find(key);\n    }\n    __privateGet(this, _bins)[i] = [key, val];\n    __privateWrapper(this, _size)._++;\n    return this;\n  }\n  delete(key) {\n    const bins = __privateGet(this, _bins);\n    const mask = __privateGet(this, _mask);\n    let i = this.find(key);\n    if (i >= 0 && !bins[i]) {\n      return false;\n    }\n    __privateWrapper(this, _size)._--;\n    let j = i;\n    let k;\n    while (true) {\n      delete bins[i];\n      do {\n        j = j + 1 & mask;\n        if (!bins[j]) return true;\n        k = __privateGet(this, _hash).call(this, bins[j][0]) & mask;\n      } while (i <= j ? i < k && k <= j : i < k || k <= j);\n      bins[i] = bins[j];\n      i = j;\n    }\n  }\n  into(pairs) {\n    return into(this, pairs);\n  }\n  dissoc(keys) {\n    return dissoc(this, keys);\n  }\n  opts(overrides) {\n    return {\n      hash: __privateGet(this, _hash),\n      equiv: __privateGet(this, _equiv),\n      load: __privateGet(this, _load),\n      cap: __privateGet(this, _mask) + 1,\n      ...overrides\n    };\n  }\n  /** @internal */\n  find(key) {\n    const bins = __privateGet(this, _bins);\n    const mask = __privateGet(this, _mask);\n    const equiv2 = __privateGet(this, _equiv);\n    let h = __privateGet(this, _hash).call(this, key) & __privateGet(this, _mask);\n    let i = mask;\n    while (bins[h] && !equiv2(bins[h][0], key)) {\n      i--;\n      if (i < 0) return -1;\n      h = h + 1 & mask;\n    }\n    return h;\n  }\n  /** @internal */\n  resize() {\n    const src = __privateGet(this, _bins);\n    const cap = (__privateGet(this, _mask) + 1) * 2;\n    __privateSet(this, _bins, new Array(cap));\n    __privateSet(this, _mask, cap - 1);\n    __privateSet(this, _size, 0);\n    for (const p of src) {\n      if (p) this.set(p[0], p[1]);\n    }\n  }\n};\n_hash = new WeakMap();\n_equiv = new WeakMap();\n_load = new WeakMap();\n_bins = new WeakMap();\n_mask = new WeakMap();\n_size = new WeakMap();\nHashMap = __decorateClass([\n  __disposableEntries,\n  __tostringMixin\n], HashMap);\nfunction defHashMap(src, opts) {\n  if (isPlainObject(src)) {\n    const keys = Object.keys(src);\n    return new HashMap(\n      map((k) => [k, src[k]], keys),\n      {\n        cap: keys.length / (opts.load || DEFAULT_LOAD),\n        ...opts\n      }\n    );\n  } else {\n    return new HashMap(src, opts);\n  }\n}\nexport {\n  HashMap,\n  defHashMap\n};\n","import { empty } from \"@thi.ng/object-utils/empty\";\nimport { selectKeysObj } from \"@thi.ng/object-utils/select-keys\";\nimport { EquivMap } from \"./equiv-map.js\";\nconst indexed = (records, ks) => {\n  const res = new EquivMap();\n  let x, ik, rv;\n  for (x of records) {\n    ik = selectKeysObj(x, ks);\n    rv = res.get(ik);\n    !rv && res.set(ik, rv = empty(records, Set));\n    rv.add(x);\n  }\n  return res;\n};\nexport {\n  indexed\n};\n","import { empty } from \"@thi.ng/object-utils/empty\";\nimport { __combineSet } from \"./internal/combine.js\";\nimport { into } from \"./into.js\";\nconst intersection = (a, b, out) => {\n  out = out || empty(a, Set);\n  if (a === b) {\n    return into(out, a);\n  }\n  if (b.size < a.size) {\n    return intersection(b, a, out);\n  }\n  for (const i of b) {\n    if (a.has(i)) {\n      out.add(i);\n    }\n  }\n  return out;\n};\nfunction intersectionR(src) {\n  return __combineSet(intersectionR, intersection, src);\n}\nexport {\n  intersection,\n  intersectionR\n};\n","import { commonKeysObj } from \"@thi.ng/object-utils/common-keys\";\nimport { empty } from \"@thi.ng/object-utils/empty\";\nimport { invertObj } from \"@thi.ng/object-utils/invert\";\nimport { mergeObj } from \"@thi.ng/object-utils/merge\";\nimport { renameKeysObj } from \"@thi.ng/object-utils/rename-keys\";\nimport { selectKeysObj } from \"@thi.ng/object-utils/select-keys\";\nimport { first } from \"./first.js\";\nimport { indexed } from \"./indexed.js\";\nconst join = (a, b) => {\n  if (a.size && b.size) {\n    const ks = commonKeysObj(first(a) || {}, first(b) || {});\n    let aa, bb;\n    if (a.size <= b.size) {\n      aa = a;\n      bb = b;\n    } else {\n      aa = b;\n      bb = a;\n    }\n    const idx = indexed(aa, ks);\n    const res = empty(a, Set);\n    for (const x of bb) {\n      const found = idx.get(selectKeysObj(x, ks));\n      if (found) {\n        for (const f of found) {\n          res.add(mergeObj({ ...f }, x));\n        }\n      }\n    }\n    return res;\n  }\n  return empty(a, Set);\n};\nconst joinWith = (a, b, kmap) => {\n  if (a.size && b.size) {\n    let aa, bb;\n    let k;\n    if (a.size <= b.size) {\n      aa = a;\n      bb = b;\n      k = invertObj(kmap);\n    } else {\n      aa = b;\n      bb = a;\n      k = kmap;\n    }\n    const idx = indexed(aa, Object.values(k));\n    const ks = Object.keys(k);\n    const res = empty(a, Set);\n    for (const x of bb) {\n      const found = idx.get(renameKeysObj(selectKeysObj(x, ks), k));\n      if (found) {\n        for (const f of found) {\n          res.add(mergeObj({ ...f }, x));\n        }\n      }\n    }\n    return res;\n  }\n  return empty(a, Set);\n};\nexport {\n  join,\n  joinWith\n};\n","var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __typeError = (msg) => {\n  throw TypeError(msg);\n};\nvar __decorateClass = (decorators, target, key, kind) => {\n  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;\n  for (var i = decorators.length - 1, decorator; i >= 0; i--)\n    if (decorator = decorators[i])\n      result = (kind ? decorator(target, key, result) : decorator(result)) || result;\n  if (kind && result) __defProp(target, key, result);\n  return result;\n};\nvar __accessCheck = (obj, member, msg) => member.has(obj) || __typeError(\"Cannot \" + msg);\nvar __privateGet = (obj, member, getter) => (__accessCheck(obj, member, \"read from private field\"), getter ? getter.call(obj) : member.get(obj));\nvar __privateAdd = (obj, member, value) => member.has(obj) ? __typeError(\"Cannot add the same private member more than once\") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\nvar __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, \"write to private field\"), setter ? setter.call(obj, value) : member.set(obj, value), value);\nvar _vals, _equiv;\nimport { SEMAPHORE } from \"@thi.ng/api/api\";\nimport { DCons } from \"@thi.ng/dcons/dcons\";\nimport { equiv } from \"@thi.ng/equiv\";\nimport { dissoc } from \"./dissoc.js\";\nimport { __disposableValues } from \"./internal/dispose.js\";\nimport { __equivSet } from \"./internal/equiv.js\";\nimport { __tostringMixin } from \"./internal/tostring.js\";\nimport { into } from \"./into.js\";\nlet LLSet = class extends Set {\n  constructor(vals, opts = {}) {\n    super();\n    __privateAdd(this, _vals);\n    __privateAdd(this, _equiv);\n    __privateSet(this, _equiv, opts.equiv || equiv);\n    __privateSet(this, _vals, new DCons());\n    vals && this.into(vals);\n  }\n  *[Symbol.iterator]() {\n    yield* __privateGet(this, _vals);\n  }\n  // mixin\n  [Symbol.dispose]() {\n  }\n  get [Symbol.species]() {\n    return LLSet;\n  }\n  get [Symbol.toStringTag]() {\n    return \"LLSet\";\n  }\n  get size() {\n    return __privateGet(this, _vals).length;\n  }\n  copy() {\n    const s = new LLSet(null, this.opts());\n    __privateSet(s, _vals, __privateGet(this, _vals).copy());\n    return s;\n  }\n  empty() {\n    return new LLSet(null, this.opts());\n  }\n  clear() {\n    __privateGet(this, _vals).clear();\n  }\n  first() {\n    if (this.size) {\n      return __privateGet(this, _vals).head.value;\n    }\n  }\n  add(key) {\n    !this.has(key) && __privateGet(this, _vals).push(key);\n    return this;\n  }\n  into(keys) {\n    return into(this, keys);\n  }\n  has(key) {\n    return this.get(key, SEMAPHORE) !== SEMAPHORE;\n  }\n  /**\n   * Returns the canonical (stored) value for `key`, if present. If\n   * the set contains no equivalent for `key`, returns `notFound`.\n   *\n   * @param key - search key\n   * @param notFound - default value\n   */\n  get(key, notFound) {\n    const equiv2 = __privateGet(this, _equiv);\n    const vals = __privateGet(this, _vals);\n    let i = vals.head;\n    while (i) {\n      if (equiv2(i.value, key)) {\n        return i.value;\n      }\n      i = i.next;\n    }\n    return notFound;\n  }\n  delete(key) {\n    const equiv2 = __privateGet(this, _equiv);\n    const vals = __privateGet(this, _vals);\n    let i = vals.head;\n    while (i) {\n      if (equiv2(i.value, key)) {\n        vals.splice(i, 1);\n        return true;\n      }\n      i = i.next;\n    }\n    return false;\n  }\n  disj(keys) {\n    return dissoc(this, keys);\n  }\n  equiv(o) {\n    return __equivSet(this, o);\n  }\n  /**\n   * The value args given to the callback `fn` MUST be treated as\n   * readonly/immutable. This could be enforced via TS, but would\n   * break ES6 Set interface contract.\n   *\n   * @param fn -\n   * @param thisArg -\n   */\n  forEach(fn, thisArg) {\n    let i = __privateGet(this, _vals).head;\n    while (i) {\n      fn.call(thisArg, i.value, i.value, this);\n      i = i.next;\n    }\n  }\n  *entries() {\n    for (const v of __privateGet(this, _vals)) {\n      yield [v, v];\n    }\n  }\n  *keys() {\n    yield* __privateGet(this, _vals);\n  }\n  *values() {\n    yield* __privateGet(this, _vals);\n  }\n  opts() {\n    return { equiv: __privateGet(this, _equiv) };\n  }\n  toString() {\n    return `${this[Symbol.toStringTag]}(${this.size}) { }`;\n  }\n};\n_vals = new WeakMap();\n_equiv = new WeakMap();\nLLSet = __decorateClass([\n  __disposableValues,\n  __tostringMixin\n], LLSet);\nconst defLLSet = (vals, opts) => new LLSet(vals, opts);\nexport {\n  LLSet,\n  defLLSet\n};\n","import { copy } from \"@thi.ng/object-utils/copy\";\nimport { __combineSet } from \"./internal/combine.js\";\nimport { into } from \"./into.js\";\nconst union = (a, b, out) => {\n  if (a.size < b.size) {\n    const t = a;\n    a = b;\n    b = t;\n  }\n  out = out ? into(out, a) : copy(a, Set);\n  return a === b ? out : into(out, b);\n};\nfunction unionR(src) {\n  return __combineSet(unionR, union, src);\n}\nexport {\n  union,\n  unionR\n};\n"]}