+
{{#helpers.highlight}}{ "attribute": "name" }{{/helpers.highlight}}
+
Brand: {{brand}}
+
Category: {{category}}
+
{{#helpers.highlight}}{ "attribute": "description" }{{/helpers.highlight}}
+
+ `,
+ },
+ }),
+ stats({
+ container: "#stats",
+ templates: {
+ text: `
+ {{#hasNoResults}}No results{{/hasNoResults}}
+ {{#hasOneResult}}1 result{{/hasOneResult}}
+ {{#hasManyResults}}{{#helpers.formatNumber}}{{nbHits}}{{/helpers.formatNumber}} results{{/hasManyResults}}
+ found in {{processingTimeMS}}ms
+ `,
+ },
+ }),
+]);
+
+search.start();
From dd352f2aac3f2c4c580fd8b8d0c6092446293977 Mon Sep 17 00:00:00 2001
From: Copilot <198982749+Copilot@users.noreply.github.com>
Date: Fri, 10 Oct 2025 14:47:32 +0100
Subject: [PATCH 3/6] Refactor JOINED_RELATION_FILTER_REGEX to use static
getter and improve filter handling (#3)
---
dist/typesense-instantsearch-adapter.js | 107 +++++++++++-------
dist/typesense-instantsearch-adapter.js.map | 2 +-
dist/typesense-instantsearch-adapter.min.js | 2 +-
...typesense-instantsearch-adapter.min.js.map | 2 +-
lib/SearchRequestAdapter.js | 107 +++++++++++-------
lib/SearchRequestAdapter.js.map | 2 +-
src/SearchRequestAdapter.js | 91 ++++++++-------
7 files changed, 184 insertions(+), 129 deletions(-)
diff --git a/dist/typesense-instantsearch-adapter.js b/dist/typesense-instantsearch-adapter.js
index 57da39e..3ea4f09 100644
--- a/dist/typesense-instantsearch-adapter.js
+++ b/dist/typesense-instantsearch-adapter.js
@@ -228,14 +228,18 @@ var SearchRequestAdapter = /*#__PURE__*/function () {
}
}, {
key: "_buildFacetFilterString",
- value: function _buildFacetFilterString(fieldName, fieldValues, isExcluded, collectionName) {
+ value: function _buildFacetFilterString(_ref) {
var _this = this;
- // Check if this is a joined relation filter (e.g., "$product_prices(retailer)")
+ var fieldName = _ref.fieldName,
+ fieldValues = _ref.fieldValues,
+ isExcluded = _ref.isExcluded,
+ collectionName = _ref.collectionName;
+ // Check if this is a joined relation filter (e.g., "$refCollection(retailer)")
var joinedRelationMatch = fieldName.match(this.constructor.JOINED_RELATION_FILTER_REGEX);
var operator = this._shouldUseExactMatchForField(fieldName, collectionName) ? isExcluded ? ":!=" : ":=" : isExcluded ? ":!" : ":";
- if (joinedRelationMatch) {
+ if (joinedRelationMatch && joinedRelationMatch.length >= 3) {
// This is a joined relation filter
- var collection = joinedRelationMatch[1]; // e.g., "$product_prices"
+ var collection = joinedRelationMatch[1]; // e.g., "$refCollection"
var fieldPath = joinedRelationMatch[2]; // e.g., "retailer"
// For joined relations, the filter should be: $collection(field:=[value1,value2])
return "".concat(collection, "(").concat(fieldPath).concat(operator, "[").concat(fieldValues.map(function (v) {
@@ -322,10 +326,20 @@ var SearchRequestAdapter = /*#__PURE__*/function () {
includedFieldValues = _fieldValues$reduce2[1];
var typesenseFilterStringComponents = [];
if (includedFieldValues.length > 0) {
- typesenseFilterStringComponents.push(_this2._buildFacetFilterString(fieldName, includedFieldValues, false, collectionName));
+ typesenseFilterStringComponents.push(_this2._buildFacetFilterString({
+ fieldName: fieldName,
+ fieldValues: includedFieldValues,
+ isExcluded: false,
+ collectionName: collectionName
+ }));
}
if (excludedFieldValues.length > 0) {
- typesenseFilterStringComponents.push(_this2._buildFacetFilterString(fieldName, excludedFieldValues, true, collectionName));
+ typesenseFilterStringComponents.push(_this2._buildFacetFilterString({
+ fieldName: fieldName,
+ fieldValues: excludedFieldValues,
+ isExcluded: true,
+ collectionName: collectionName
+ }));
}
var typesenseFilterString = typesenseFilterStringComponents.filter(function (f) {
return f;
@@ -342,9 +356,19 @@ var SearchRequestAdapter = /*#__PURE__*/function () {
fieldValue = _this2$_parseFacetFil2.fieldValue;
var _typesenseFilterString;
if (fieldValue.startsWith("-") && !_this2._isNumber(fieldValue)) {
- _typesenseFilterString = _this2._buildFacetFilterString(_fieldName, [fieldValue.substring(1)], true, collectionName);
+ _typesenseFilterString = _this2._buildFacetFilterString({
+ fieldName: _fieldName,
+ fieldValues: [fieldValue.substring(1)],
+ isExcluded: true,
+ collectionName: collectionName
+ });
} else {
- _typesenseFilterString = _this2._buildFacetFilterString(_fieldName, [fieldValue], false, collectionName);
+ _typesenseFilterString = _this2._buildFacetFilterString({
+ fieldName: _fieldName,
+ fieldValues: [fieldValue],
+ isExcluded: false,
+ collectionName: collectionName
+ });
}
return _typesenseFilterString;
}
@@ -455,40 +479,37 @@ var SearchRequestAdapter = /*#__PURE__*/function () {
// "field1:=[634..289] && field2:<=5 && field3:>=3"
var adaptedFilters = [];
Object.keys(filtersHash).forEach(function (field) {
- // Check if this is a joined relation filter (e.g., "$product_prices(price.current)")
+ // Check if this is a joined relation filter (e.g., "$refCollection(price.current)")
var joinedRelationMatch = field.match(_this3.constructor.JOINED_RELATION_FILTER_REGEX);
- var collection, fieldPath;
- if (joinedRelationMatch) {
+ if (joinedRelationMatch && joinedRelationMatch.length >= 3) {
// This is a joined relation filter
- collection = joinedRelationMatch[1]; // e.g., "$product_prices"
- fieldPath = joinedRelationMatch[2]; // e.g., "price.current"
- }
- if (filtersHash[field]["<="] != null && filtersHash[field][">="] != null) {
- if (joinedRelationMatch) {
+ var collection = joinedRelationMatch[1]; // e.g., "$refCollection"
+ var fieldPath = joinedRelationMatch[2]; // e.g., "price.current"
+
+ if (filtersHash[field]["<="] != null && filtersHash[field][">="] != null) {
adaptedFilters.push("".concat(collection, "(").concat(fieldPath, ":=[").concat(filtersHash[field][">="], "..").concat(filtersHash[field]["<="], "])"));
- } else {
- adaptedFilters.push("".concat(field, ":=[").concat(filtersHash[field][">="], "..").concat(filtersHash[field]["<="], "]"));
- }
- } else if (filtersHash[field]["<="] != null) {
- if (joinedRelationMatch) {
+ } else if (filtersHash[field]["<="] != null) {
adaptedFilters.push("".concat(collection, "(").concat(fieldPath, ":<=").concat(filtersHash[field]["<="], ")"));
- } else {
- adaptedFilters.push("".concat(field, ":<=").concat(filtersHash[field]["<="]));
- }
- } else if (filtersHash[field][">="] != null) {
- if (joinedRelationMatch) {
+ } else if (filtersHash[field][">="] != null) {
adaptedFilters.push("".concat(collection, "(").concat(fieldPath, ":>=").concat(filtersHash[field][">="], ")"));
- } else {
- adaptedFilters.push("".concat(field, ":>=").concat(filtersHash[field][">="]));
- }
- } else if (filtersHash[field]["="] != null) {
- if (joinedRelationMatch) {
+ } else if (filtersHash[field]["="] != null) {
adaptedFilters.push("".concat(collection, "(").concat(fieldPath, ":=").concat(filtersHash[field]["="], ")"));
} else {
- adaptedFilters.push("".concat(field, ":=").concat(filtersHash[field]["="]));
+ console.warn("[Typesense-Instantsearch-Adapter] Unsupported operator found ".concat(JSON.stringify(filtersHash[field])));
}
} else {
- console.warn("[Typesense-Instantsearch-Adapter] Unsupported operator found ".concat(JSON.stringify(filtersHash[field])));
+ // Regular field filter (non-joined)
+ if (filtersHash[field]["<="] != null && filtersHash[field][">="] != null) {
+ adaptedFilters.push("".concat(field, ":=[").concat(filtersHash[field][">="], "..").concat(filtersHash[field]["<="], "]"));
+ } else if (filtersHash[field]["<="] != null) {
+ adaptedFilters.push("".concat(field, ":<=").concat(filtersHash[field]["<="]));
+ } else if (filtersHash[field][">="] != null) {
+ adaptedFilters.push("".concat(field, ":>=").concat(filtersHash[field][">="]));
+ } else if (filtersHash[field]["="] != null) {
+ adaptedFilters.push("".concat(field, ":=").concat(filtersHash[field]["="]));
+ } else {
+ console.warn("[Typesense-Instantsearch-Adapter] Unsupported operator found ".concat(JSON.stringify(filtersHash[field])));
+ }
}
});
adaptedResult = adaptedFilters.join(" && ");
@@ -550,11 +571,11 @@ var SearchRequestAdapter = /*#__PURE__*/function () {
}
}, {
key: "_adaptGeoFilter",
- value: function _adaptGeoFilter(_ref) {
- var insideBoundingBox = _ref.insideBoundingBox,
- aroundRadius = _ref.aroundRadius,
- aroundLatLng = _ref.aroundLatLng,
- insidePolygon = _ref.insidePolygon;
+ value: function _adaptGeoFilter(_ref2) {
+ var insideBoundingBox = _ref2.insideBoundingBox,
+ aroundRadius = _ref2.aroundRadius,
+ aroundLatLng = _ref2.aroundLatLng,
+ insidePolygon = _ref2.insidePolygon;
// Give this parameter first priority if it exists, since
if (insideBoundingBox) {
var x1, y1, x2, y2;
@@ -701,10 +722,10 @@ var SearchRequestAdapter = /*#__PURE__*/function () {
// Filter out empty or null values, so we don't accidentally override values set in presets
// eslint-disable-next-line no-unused-vars
- return Object.fromEntries(Object.entries(typesenseSearchParams).filter(function (_ref2) {
- var _ref3 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2__["default"])(_ref2, 2),
- _ = _ref3[0],
- v = _ref3[1];
+ return Object.fromEntries(Object.entries(typesenseSearchParams).filter(function (_ref3) {
+ var _ref4 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_2__["default"])(_ref3, 2),
+ _ = _ref4[0],
+ v = _ref4[1];
return v != null && v !== "";
}));
}
@@ -784,7 +805,7 @@ var SearchRequestAdapter = /*#__PURE__*/function () {
}, {
key: "JOINED_RELATION_FILTER_REGEX",
get: function get() {
- return /^(\$[^(]+)\(([^)]+)\)$/;
+ return new RegExp("^(\\$[^(]+)\\(([^)]+)\\)$");
}
}]);
}();
diff --git a/dist/typesense-instantsearch-adapter.js.map b/dist/typesense-instantsearch-adapter.js.map
index 1a2cfe9..aa4d350 100644
--- a/dist/typesense-instantsearch-adapter.js.map
+++ b/dist/typesense-instantsearch-adapter.js.map
@@ -1 +1 @@
-{"version":3,"file":"typesense-instantsearch-adapter.js","mappings":"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IAErD,IAAIxN,MAAM,CAACyN,QAAQ,CAAC7O,MAAM,CAAC,EAAE;MAC3B,OAAO8O,IAAI,CAACC,IAAI,CAAC/O,MAAM,CAAC;IAC1B,CAAC,MAAM;MACL,OAAO,CAAC;IACV;EACF;AACF,CAAC;;;;;;;;;;ACrBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAA0C;AAClD,QAAQ,oCAAO,UAAU;AAAA;AAAA;AAAA;AAAA,kGAAC;AAC1B,MAAM,KAAK,EAIN;AACL,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B,UAAU;AACV;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;;AAEA;;AAEA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA,qEAAqE;AACrE,YAAY;AACZ;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA,qDAAqD;AACrD,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,sBAAsB;AACtB;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;;ACxSY;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,cAAc,GAAG,oBAAoB,GAAG,cAAc;AACtD,cAAc,mBAAO,CAAC,wEAAO;AAC7B,uCAAuC,mBAAO,CAAC,4EAAoB;AACnE,cAAc;AACd,6CAA6C,mBAAO,CAAC,wFAA0B;AAC/E,oBAAoB;AACpB,kCAAkC,mBAAO,CAAC,kFAAoB;AAC9D,cAAc;AACd,kBAAe,KAAK;AACpB;;;;;;;;;;;ACXa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,cAAc,mBAAO,CAAC,wEAAO;AAC7B,wCAAwC,mBAAO,CAAC,oEAAW;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;AC7Ba;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,cAAc,mBAAO,CAAC,wEAAO;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;ACnCa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,cAAc,mBAAO,CAAC,wEAAO;AAC7B,+CAA+C,mBAAO,CAAC,kFAAkB;AACzE,8CAA8C,mBAAO,CAAC,gFAAiB;AACvE,gDAAgD,mBAAO,CAAC,oFAAmB;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;ACvCa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,cAAc,mBAAO,CAAC,wEAAO;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;AC7Ba;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,cAAc,mBAAO,CAAC,wEAAO;AAC7B,+CAA+C,mBAAO,CAAC,kFAAkB;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;AC7Ba;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,cAAc,mBAAO,CAAC,wEAAO;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;ACpCa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,cAAc,mBAAO,CAAC,wEAAO;AAC7B,sCAAsC,mBAAO,CAAC,0DAAO;AACrD,aAAa,mBAAO,CAAC,mBAAM;AAC3B,cAAc,mBAAO,CAAC,oBAAO;AAC7B,eAAe,mBAAO,CAAC,wEAAU;AACjC,+CAA+C,mBAAO,CAAC,gGAAyB;AAChF,cAAc,mBAAO,CAAC,gEAAS;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,aAAa;AACb,SAAS;AACT;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,aAAa;AACb,SAAS;AACT;AACA;AACA,yCAAyC;AACzC,0CAA0C;AAC1C,4CAA4C;AAC5C,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,aAAa;AACb,SAAS;AACT;AACA;AACA,yCAAyC;AACzC,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,aAAa;AACb,SAAS;AACT;AACA;AACA,yCAAyC;AACzC,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wNAAwN;AACxN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE,gEAAgE;AACpI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8FAA8F,iBAAiB;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gGAAgG,iBAAiB;AACjH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6GAA6G,6BAA6B,6BAA6B;AACvK;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE,+DAA+D;AACvI;AACA,oEAAoE,uCAAuC;AAC3G;AACA;AACA,oEAAoE,2JAA2J;AAC/N;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE,gEAAgE;AACpI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE,sCAAsC;AAC1G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,wDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS,IAAI;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,KAAK,EAAE,EAAwB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,qBAAqB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,wBAAwB,wBAAwB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uEAAuE,6CAA6C;AACpH,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;ACxwBa;AACb;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,cAAc,mBAAO,CAAC,wEAAO;AAC7B,8CAA8C,mBAAO,CAAC,gFAAiB;AACvE,wCAAwC,mBAAO,CAAC,oEAAW;AAC3D,4CAA4C,mBAAO,CAAC,4EAAe;AACnE,2CAA2C,mBAAO,CAAC,0EAAc;AACjE,wCAAwC,mBAAO,CAAC,oEAAW;AAC3D,sCAAsC,mBAAO,CAAC,gEAAS;AACvD,qCAAqC,mBAAO,CAAC,8DAAQ;AACrD,oCAAoC,mBAAO,CAAC,4DAAO;AACnD,sCAAsC,mBAAO,CAAC,gEAAS;AACvD,wCAAwC,mBAAO,CAAC,oEAAW;AAC3D,sCAAsC,mBAAO,CAAC,gEAAS;AACvD,uCAAuC,mBAAO,CAAC,kEAAU;AACzD,2CAA2C,mBAAO,CAAC,0EAAc;AACjE,4CAA4C,mBAAO,CAAC,4EAAe;AACnE,wCAAwC,mBAAO,CAAC,oEAAW;AAC3D,uCAAuC,mBAAO,CAAC,kEAAU;AACzD,0CAA0C,mBAAO,CAAC,wEAAa;AAC/D,0CAA0C,mBAAO,CAAC,wEAAa;AAC/D,yCAAyC,mBAAO,CAAC,sEAAY;AAC7D,8CAA8C,mBAAO,CAAC,gFAAiB;AACvE,6CAA6C,mBAAO,CAAC,8EAAgB;AACrE,yCAAyC,mBAAO,CAAC,sEAAY;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;AC1Ha;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,cAAc,mBAAO,CAAC,wEAAO;AAC7B,4CAA4C,mBAAO,CAAC,4EAAe;AACnE,0CAA0C,mBAAO,CAAC,wEAAa;AAC/D,eAAe,mBAAO,CAAC,wEAAU;AACjC,0CAA0C,mBAAO,CAAC,wEAAa;AAC/D,yCAAyC,mBAAO,CAAC,sEAAY;AAC7D,yCAAyC,mBAAO,CAAC,sEAAY;AAC7D,wCAAwC,mBAAO,CAAC,oEAAW;AAC3D,iBAAiB,mBAAO,CAAC,sEAAY;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;AC5Ga;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,cAAc,mBAAO,CAAC,wEAAO;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;ACjCa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,cAAc,mBAAO,CAAC,wEAAO;AAC7B,kCAAkC,mBAAO,CAAC,yDAAU;AACpD,eAAe,mBAAO,CAAC,wEAAU;AACjC;AACA;AACA;AACA;AACA;AACA,mCAAmC,0CAA0C;AAC7E,mCAAmC,0CAA0C;AAC7E,mCAAmC,2BAA2B,WAAW,GAAG;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE;AACtE;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,OAAO;AAC9C;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;AChHa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,cAAc,mBAAO,CAAC,wEAAO;AAC7B,8CAA8C,mBAAO,CAAC,gFAAiB;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;ACpCa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,cAAc,mBAAO,CAAC,wEAAO;AAC7B,mDAAmD,mBAAO,CAAC,0FAAsB;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;ACpCa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,cAAc,mBAAO,CAAC,wEAAO;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;ACpCa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,cAAc,mBAAO,CAAC,wEAAO;AAC7B,mDAAmD,mBAAO,CAAC,0FAAsB;AACjF,kDAAkD,mBAAO,CAAC,wFAAqB;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;ACzCa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,cAAc,mBAAO,CAAC,wEAAO;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;AClBa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,gBAAgB;AAChB,cAAc,mBAAO,CAAC,wEAAO;AAC7B,4CAA4C,mBAAO,CAAC,4EAAe;AACnE,0CAA0C,mBAAO,CAAC,wEAAa;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,gBAAgB;AAChB;;;;;;;;;;;ACxCa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,cAAc,mBAAO,CAAC,wEAAO;AAC7B,eAAe,mBAAO,CAAC,wEAAU;AACjC,4BAA4B,mBAAO,CAAC,4FAAuB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,uGAAuG,aAAa,kBAAkB;AACtI,aAAa;AACb,SAAS;AACT;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA,4GAA4G;AAC5G;AACA;AACA,2GAA2G,aAAa,kBAAkB;AAC1I;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D,kCAAkC;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,8BAA8B;AACnF;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA,oDAAoD,uBAAuB;AAC3E,oFAAoF,6BAA6B;AACjH;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,8BAA8B;AAC/E;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA,gDAAgD,uBAAuB;AACvE,gFAAgF,6BAA6B;AAC7G;AACA;AACA;AACA;AA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FAAoB;AAC7E,cAAc,mBAAO,CAAC,gEAAS;AAC/B;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,gCAAgC;AAChC;AACA;AACA,qBAAqB,IAAI,uDAAuD;AAChF,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;ACpDa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,cAAc,mBAAO,CAAC,wEAAO;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA,8GAA8G;AAC9G,aAAa;AACb,SAAS;AACT;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;ACnBa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,cAAc,mBAAO,CAAC,wEAAO;AAC7B,4CAA4C,mBAAO,CAAC,4EAAe;AACnE,0CAA0C,mBAAO,CAAC,wEAAa;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;AC/Ba;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,cAAc,mBAAO,CAAC,wEAAO;AAC7B,4CAA4C,mBAAO,CAAC,4EAAe;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;ACrCa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,cAAc,mBAAO,CAAC,wEAAO;AAC7B,wCAAwC,mBAAO,CAAC,oEAAW;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;AC7Ba;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,cAAc,mBAAO,CAAC,wEAAO;AAC7B,cAAc,mBAAO,CAAC,gEAAS;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,qCAAqC,8BAA8B;AACnE,yBAAyB;AACzB;AACA;AACA;AACA;AACA,qBAAqB;AACrB,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;AChDa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,cAAc,mBAAO,CAAC,wEAAO;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sIAAsI,0HAA0H;AAChQ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8HAA8H,0HAA0H;AACxP;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,kFAAkF;AAClF;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;AClHa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,cAAc,mBAAO,CAAC,wEAAO;AAC7B,8CAA8C,mBAAO,CAAC,gFAAiB;AACvE,wCAAwC,mBAAO,CAAC,oEAAW;AAC3D,4CAA4C,mBAAO,CAAC,4EAAe;AACnE,6BAA6B,mBAAO,CAAC,8FAAwB;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;AC5Ca;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,4BAA4B;AAC5B,4BAA4B,mBAAO,CAAC,4FAAuB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,4BAA4B;AAC5B;;;;;;;;;;;ACjBa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,2BAA2B;AAC3B,cAAc,mBAAO,CAAC,wEAAO;AAC7B,iDAAiD,mBAAO,CAAC,sFAAoB;AAC7E,4CAA4C,mBAAO,CAAC,4EAAe;AACnE,cAAc,mBAAO,CAAC,gEAAS;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,qBAAqB;AACrB,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD,2BAA2B;AAC3B;;;;;;;;;;;ACxDa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,cAAc,mBAAO,CAAC,wEAAO;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;AClBa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,cAAc,mBAAO,CAAC,wEAAO;AAC7B,qDAAqD,mBAAO,CAAC,8FAAwB;AACrF,mDAAmD,mBAAO,CAAC,0FAAsB;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;AClCa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,cAAc,mBAAO,CAAC,wEAAO;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0EAA0E,+BAA+B;AACzG;AACA;AACA,mDAAmD,QAAQ;AAC3D;AACA,qDAAqD,8BAA8B;AACnF;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA,2DAA2D,0BAA0B;AACrF;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;ACzDa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,cAAc,mBAAO,CAAC,wEAAO;AAC7B,qDAAqD,mBAAO,CAAC,8FAAwB;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;ACtBa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,cAAc,mBAAO,CAAC,wEAAO;AAC7B,0CAA0C,mBAAO,CAAC,wEAAa;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;AC7Ba;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,cAAc,mBAAO,CAAC,wEAAO;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;ACnCa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,cAAc,mBAAO,CAAC,wEAAO;AAC7B,4CAA4C,mBAAO,CAAC,4EAAe;AACnE,yCAAyC,mBAAO,CAAC,sEAAY;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;AC/Ba;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,cAAc,mBAAO,CAAC,wEAAO;AAC7B,4CAA4C,mBAAO,CAAC,4EAAe;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;ACrCa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,uBAAuB;AACvB,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACpBa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,0BAA0B,GAAG,gCAAgC;AAC7D,cAAc,mBAAO,CAAC,wEAAO;AAC7B,cAAc,mBAAO,CAAC,gEAAS;AAC/B;AACA;AACA,iCAAiC,mCAAmC;AACpE,gCAAgC,sCAAsC;AACtE;AACA;AACA,oCAAoC;AACpC;AACA,iCAAiC,oCAAoC;AACrE;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;;;;;;;;;;AClDA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA,cAAc,sGAAiC;AAC/C;AACA,gBAAgB;AAChB;AACA;AACA,GAAG,EAAE,yBAAyB,SAAS,yBAAyB;AAChE;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,KAAK;AACL,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,aAAa;AACb,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA,KAAK;AACL;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA,sCAAsC,yBAAyB,SAAS,yBAAyB;;;;;;;;;;AC/SjG;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA,GAAG,EAAE,yBAAyB,SAAS,yBAAyB;AAChE;AACA,0BAA0B,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACTrF;;AAEA,cAAc,mBAAO,CAAC,kGAA+B;AACrD;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,IAAI;AACJ;AACA;AACA;;;;;;;;;;;;ACdA;AACa;;AAEb;AACA;AACA;AACA;AACA;;AAEA;;AAEA,OAAO,UAAU;AACjB,OAAO,gBAAgB;;AAEvB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACA,OAAO,SAAS;;AAEhB;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;;AAGA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,UAAU;AACrB;AACA,WAAW,SAAS;AACpB,aAAa;AACb;AACA,2BAA2B,oBAAoB,IAAI;AACnD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wFAAwF,qBAAM;AAC9F,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS;AAC5C,4BAA4B;AAC5B;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA,SAAS,UAAU;AACnB;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,kCAAkC;AAClC,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;;AAEA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA,gCAAgC,WAAW,IAAI;AAC/C;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,GAAG,GAAG,WAAW;AACjB;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,kBAAkB;AAC7B,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,eAAe;;AAEzC;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,0CAA0C,aAAa;AACvD;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,GAAG,WAAW,cAAc;AAC5B,CAAC;AACD;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,OAAO;AACpB;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,CAAC;;AAED;AACA,oDAAoD,YAAY;;AAEhE;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA,mDAAmD;AACnD;AACA,CAAC;;AAED;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,UAAU;AACrB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,UAAU;AACrB;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B,WAAW,QAAQ;AACnB,WAAW,qBAAqB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,GAAG;AAChB,aAAa,eAAe;AAC5B,aAAa,sBAAsB;AACnC,YAAY;AACZ;AACA,eAAe,SAAS;AACxB;AACA;AACA;;AAEA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,qBAAqB;AAChC,WAAW,qBAAqB;AAChC;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,oBAAoB;AAC/B;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB,aAAa,UAAU;AACvB;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,UAAU;AACvB;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,4BAA4B;AACzC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE;AAChE;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,oDAAoD,MAAM;AAC1D,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB;AACA,aAAa,GAAG;AAChB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,aAAa,eAAe;AAC5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,KAAK;AAC/B;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAuC;AACvC,KAAK;;AAEL;AACA,0DAA0D,wBAAwB;AAClF;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,uEAAuE,WAAW;;AAElF;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iCAAiC,SAAS;AAC1C,MAAM;AACN,6BAA6B;AAC7B,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,8CAA8C;AAC9C;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA,kCAAkC;;AAElC,OAAO,oEAAoE;;AAE3E;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,yCAAyC;AACzC,MAAM;AACN;AACA,kEAAkE;AAClE,gFAAgF;AAChF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS,oDAAoD;AAC7D;AACA;AACA;;AAEA;AACA,oCAAoC;AACpC,wCAAwC;;AAExC;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA,GAAG;AACH;;AAEA;AACA,SAAS,QAAQ;;AAEjB;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wCAAwC,SAAS;AACjD,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA,WAAW,QAAQ;;AAEnB;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,aAAa;;AAE5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA,CAAC;;AAED;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,+CAA+C,KAAK;AACpD,OAAO;AACP,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;;AAEA;;AAEA;;AAEA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yCAAyC,MAAM;AAC/C,MAAM;AACN;AACA;AACA,8CAA8C,MAAM;AACpD;AACA,CAAC;;AAED,sCAAsC,OAAO;;AAE7C;;AAEA;AACA;AACA;;AAEA,WAAW,QAAQ;AACnB;AACA;;AAEA;;AAEA,oBAAoB,YAAY;AAChC;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,mDAAmD,GAAG;AACtD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,yCAAyC,IAAI;AAC7C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB,KAAK,6BAA6B,gBAAgB;AACtE;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,eAAe;AAC5B,aAAa,SAAS;AACtB;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;;AAEA,WAAW,yCAAyC;;AAEpD;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,kDAAkD;AAClD;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA,yBAAyB;AACzB,KAAK;AACL;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA,UAAU,IAAI;AACd;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA,wDAAwD,iBAAiB;;AAEzE;AACA,2CAA2C,iBAAiB;;AAE5D;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;;;;;;;;;;;;;;;AC3nHA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;;;;;;;;;;;;;;;;ACJA;AACA;AACA;;;;;;;;;;;;;;;;;ACFqD;AACrD;AACA,+BAA+B,gEAAgB;AAC/C;;;;;;;;;;;;;;;;ACHA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;;;;;;;;;;;;;;;ACxBA;AACA;AACA;;;;;;;;;;;;;;;;;ACF+C;AAC/C;AACA,kBAAkB,cAAc;AAChC;AACA,wHAAwH,6DAAa;AACrI;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;ACX+C;AAC/C;AACA,cAAc,6DAAa;AAC3B;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;AC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A;AACA;AACA;AACA;AACA;AACA,uFAAuF,SAAS,gBAAgB;AAChH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA,iEAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAC;;;;;;;UChZF;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,GAAG;WACH;WACA;WACA,CAAC;;;;;WCPD;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;;;;;;;;;;;ACNa;;AAAA;AAAA;AAAA;AAAA;AAEmC;AACkB;AACJ;AACE;AACU;AAAA,IAErDkP,6BAA6B;EAChD,SAAAA,8BAAY5W,OAAO,EAAE;IAAA,IAAAT,KAAA;IAAAhB,iFAAA,OAAAqY,6BAAA;IACnB,IAAI,CAACC,mBAAmB,CAAC7W,OAAO,CAAC;IACjC,IAAI,CAAC8W,YAAY,GAAG;MAClBC,UAAU,EAAE,SAAAA,WAAA;QAAA,OAAMxX,KAAI,CAACwX,UAAU,CAAC,CAAC;MAAA;MACnCC,MAAM,EAAE,SAAAA,OAAC5R,qBAAqB;QAAA,OAAK7F,KAAI,CAAC0X,uBAAuB,CAAC7R,qBAAqB,CAAC;MAAA;MACtF8R,oBAAoB,EAAE,SAAAA,qBAAC9R,qBAAqB;QAAA,OAC1C7F,KAAI,CAAC4X,qCAAqC,CAAC/R,qBAAqB,CAAC;MAAA;IACr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","sources":["webpack://TypesenseInstantSearchAdapter/webpack/universalModuleDefinition","webpack://TypesenseInstantSearchAdapter/./src/Configuration.js","webpack://TypesenseInstantSearchAdapter/./src/FacetSearchResponseAdapter.js","webpack://TypesenseInstantSearchAdapter/./src/SearchRequestAdapter.js","webpack://TypesenseInstantSearchAdapter/./src/SearchResponseAdapter.js","webpack://TypesenseInstantSearchAdapter/./src/support/utils.js","webpack://TypesenseInstantSearchAdapter/./node_modules/loglevel/lib/loglevel.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Alias.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Aliases.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Analytics.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/AnalyticsEvents.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/AnalyticsRule.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/AnalyticsRules.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/ApiCall.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Client.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Collection.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Collections.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Configuration.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Conversation.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/ConversationModel.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/ConversationModels.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Conversations.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Debug.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Document.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Documents.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/HTTPError.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/ImportError.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/MissingConfigurationError.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/ObjectAlreadyExists.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/ObjectNotFound.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/ObjectUnprocessable.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/RequestMalformed.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/RequestUnauthorized.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/ServerError.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/TypesenseError.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/index.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Health.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Key.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Keys.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Metrics.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/MultiSearch.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Operations.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Override.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Overrides.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Preset.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Presets.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/RequestWithCache.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/SearchClient.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/SearchOnlyCollection.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/SearchOnlyDocuments.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Stats.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Stemming.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/StemmingDictionaries.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/StemmingDictionary.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Stopword.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Stopwords.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Synonym.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Synonyms.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Types.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Utils.js","webpack://TypesenseInstantSearchAdapter/ignored|/home/runner/work/typesense-instantsearch-adapter/typesense-instantsearch-adapter/node_modules/typesense/lib/Typesense|crypto","webpack://TypesenseInstantSearchAdapter/ignored|/home/runner/work/typesense-instantsearch-adapter/typesense-instantsearch-adapter/node_modules/typesense/lib/Typesense|http","webpack://TypesenseInstantSearchAdapter/ignored|/home/runner/work/typesense-instantsearch-adapter/typesense-instantsearch-adapter/node_modules/typesense/lib/Typesense|https","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/typeof.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/regenerator/index.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/dist/browser/axios.cjs","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/node_modules/tslib/tslib.es6.mjs","webpack://TypesenseInstantSearchAdapter/webpack/bootstrap","webpack://TypesenseInstantSearchAdapter/webpack/runtime/compat get default export","webpack://TypesenseInstantSearchAdapter/webpack/runtime/define property getters","webpack://TypesenseInstantSearchAdapter/webpack/runtime/global","webpack://TypesenseInstantSearchAdapter/webpack/runtime/hasOwnProperty shorthand","webpack://TypesenseInstantSearchAdapter/webpack/runtime/make namespace object","webpack://TypesenseInstantSearchAdapter/./src/TypesenseInstantsearchAdapter.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"TypesenseInstantSearchAdapter\"] = factory();\n\telse\n\t\troot[\"TypesenseInstantSearchAdapter\"] = factory();\n})(self, () => {\nreturn ","\"use strict\";\n\nexport class Configuration {\n constructor(options = {}) {\n this.server = options.server || {\n nodes: [\n {\n host: \"localhost\",\n port: \"8108\",\n path: \"\",\n protocol: \"http\",\n },\n ],\n };\n\n this.server.cacheSearchResultsForSeconds = this.server.cacheSearchResultsForSeconds ?? 2 * 60;\n\n this.additionalSearchParameters = options.additionalSearchParameters ?? {};\n\n this.additionalSearchParameters.query_by =\n this.additionalSearchParameters.queryBy ?? this.additionalSearchParameters.query_by ?? \"\";\n\n this.additionalSearchParameters.preset =\n this.additionalSearchParameters.preset ?? this.additionalSearchParameters.preset ?? \"\";\n\n this.additionalSearchParameters.sort_by =\n this.additionalSearchParameters.sortBy ?? this.additionalSearchParameters.sort_by ?? \"\";\n\n this.additionalSearchParameters.highlight_full_fields =\n this.additionalSearchParameters.highlightFullFields ??\n this.additionalSearchParameters.highlight_full_fields ??\n this.additionalSearchParameters.query_by;\n\n this.geoLocationField = options.geoLocationField ?? \"_geoloc\";\n this.facetableFieldsWithSpecialCharacters = options.facetableFieldsWithSpecialCharacters ?? [];\n\n this.collectionSpecificSearchParameters = options.collectionSpecificSearchParameters ?? {};\n\n Object.keys(this.collectionSpecificSearchParameters).forEach((collection) => {\n const params = this.collectionSpecificSearchParameters[collection];\n params.query_by = params.queryBy ?? params.query_by;\n params.preset = params.preset ?? params.preset;\n params.sort_by = params.sortBy ?? params.sort_by;\n params.highlight_full_fields =\n params.highlightFullFields ??\n params.highlight_full_fields ??\n this.additionalSearchParameters.highlight_full_fields ??\n params.query_by;\n\n // Remove undefined values\n Object.keys(params).forEach((key) => (params[key] === undefined ? delete params[key] : {}));\n });\n\n this.renderingContent = options.renderingContent;\n this.flattenGroupedHits = options.flattenGroupedHits ?? true;\n this.facetByOptions = options.facetByOptions ?? {};\n this.filterByOptions = options.filterByOptions ?? {};\n this.sortByOptions = options.sortByOptions ?? {};\n this.collectionSpecificFacetByOptions = options.collectionSpecificFacetByOptions ?? {};\n this.collectionSpecificFilterByOptions = options.collectionSpecificFilterByOptions ?? {};\n this.collectionSpecificSortByOptions = options.collectionSpecificSortByOptions ?? {};\n this.union = options.union ?? false;\n }\n\n validate() {\n // Warn if camelCased parameters are used, suggest using snake_cased parameters instead\n if (\n this.additionalSearchParameters.queryBy ||\n Object.values(this.collectionSpecificSearchParameters).some((c) => c.queryBy)\n ) {\n console.warn(\n \"[typesense-instantsearch-adapter] Please use snake_cased versions of parameters in additionalSearchParameters instead of camelCased parameters. For example: Use query_by instead of queryBy. camelCased parameters will be deprecated in a future version.\" +\n \" We're making this change so that parameter names are identical to the ones sent to Typesense (which are all snake_cased), and to also keep the types for these parameters in sync with the types defined in typesense-js.\",\n );\n }\n\n /*\n * Either additionalSearchParameters.query_by or additionalSearchParameters.preset needs to be set, or\n * All collectionSpecificSearchParameters need to have query_by or preset\n *\n * */\n if (\n this.additionalSearchParameters.query_by.length === 0 &&\n this.additionalSearchParameters.preset.length === 0 &&\n (Object.keys(this.collectionSpecificSearchParameters).length === 0 ||\n Object.values(this.collectionSpecificSearchParameters).some(\n (c) => (c.query_by || \"\").length === 0 && (c.preset || \"\").length === 0,\n ))\n ) {\n throw new Error(\n \"[typesense-instantsearch-adapter] Missing parameter: One of additionalSearchParameters.query_by or additionalSearchParameters.preset needs to be set, or all collectionSpecificSearchParameters need to have either .query_by or .preset set.\",\n );\n }\n }\n}\n","\"use strict\";\n\nimport { utils } from \"./support/utils\";\n\nexport class FacetSearchResponseAdapter {\n constructor(typesenseResponse, instantsearchRequest) {\n this.typesenseResponse = typesenseResponse;\n this.instantsearchRequest = instantsearchRequest;\n }\n\n _adaptFacetHits(typesenseFacetCounts) {\n let adaptedResult = [];\n const facet = typesenseFacetCounts.find((facet) => facet.field_name === this.instantsearchRequest.params.facetName);\n\n if (typeof facet !== 'undefined') {\n adaptedResult = facet.counts.map((facetCount) => ({\n value: facetCount.value,\n highlighted: this._adaptHighlightTag(\n facetCount.highlighted,\n this.instantsearchRequest.params.highlightPreTag,\n this.instantsearchRequest.params.highlightPostTag,\n ),\n count: facetCount.count,\n }));\n }\n\n return adaptedResult;\n }\n\n adapt() {\n const adaptedResult = {\n facetHits: this._adaptFacetHits(this.typesenseResponse.facet_counts),\n exhaustiveFacetsCount: true,\n processingTimeMS: this.typesenseResponse.search_time_ms,\n };\n return adaptedResult;\n }\n}\n\nObject.assign(FacetSearchResponseAdapter.prototype, utils);\n","\"use strict\";\n\nexport class SearchRequestAdapter {\n static get INDEX_NAME_MATCHING_REGEX() {\n return new RegExp(\"^(.+?)(?=(/sort/(.*))|$)\");\n }\n\n static get DEFAULT_FACET_FILTER_STRING_MATCHING_REGEX() {\n return new RegExp(\"(.*)((?!:).):(?!:)(.*)\");\n }\n\n static get DEFAULT_NUMERIC_FILTER_STRING_MATCHING_REGEX() {\n return new RegExp(\"(.*?)(<=|>=|>|<|=)(.*)\");\n }\n\n static get JOINED_RELATION_FILTER_REGEX() {\n return /^(\\$[^(]+)\\(([^)]+)\\)$/;\n }\n\n constructor(instantsearchRequests, typesenseClient, configuration) {\n this.instantsearchRequests = instantsearchRequests;\n this.typesenseClient = typesenseClient;\n this.configuration = configuration;\n this.additionalSearchParameters = configuration.additionalSearchParameters;\n this.collectionSpecificSearchParameters = configuration.collectionSpecificSearchParameters;\n }\n\n _shouldUseExactMatchForField(fieldName, collectionName) {\n if (\n this.configuration.collectionSpecificFilterByOptions?.[collectionName]?.[fieldName]?.exactMatch === false ||\n this.configuration.filterByOptions?.[fieldName]?.exactMatch === false\n ) {\n return false;\n } else {\n return true;\n }\n }\n\n _buildFacetFilterString(fieldName, fieldValues, isExcluded, collectionName) {\n // Check if this is a joined relation filter (e.g., \"$product_prices(retailer)\")\n const joinedRelationMatch = fieldName.match(this.constructor.JOINED_RELATION_FILTER_REGEX);\n\n const operator = this._shouldUseExactMatchForField(fieldName, collectionName)\n ? isExcluded\n ? \":!=\"\n : \":=\"\n : isExcluded\n ? \":!\"\n : \":\";\n\n if (joinedRelationMatch) {\n // This is a joined relation filter\n const collection = joinedRelationMatch[1]; // e.g., \"$product_prices\"\n const fieldPath = joinedRelationMatch[2]; // e.g., \"retailer\"\n // For joined relations, the filter should be: $collection(field:=[value1,value2])\n return `${collection}(${fieldPath}${operator}[${fieldValues.map((v) => this._escapeFacetValue(v)).join(\",\")}])`;\n } else {\n // Regular field filter (non-joined)\n return `${fieldName}${operator}[${fieldValues.map((v) => this._escapeFacetValue(v)).join(\",\")}]`;\n }\n }\n\n _adaptFacetFilters(facetFilters, collectionName) {\n let adaptedResult = \"\";\n\n if (!facetFilters) {\n return adaptedResult;\n }\n\n /**\n * Need to transform:\n * facetFilters = [[\"field1:value1\", \"field1:value2\"], \"field2:value3\", \"field2:value4\"]\n *\n * Into this:\n * field1:=[value1,value2] && field2:=value3 && field2:=value4\n *\n * Steps:\n * - For each item in facetFilters\n * - If item is array\n * - OR values together.\n * - Warn if field names are not the same\n * - If item is string, convert to facet:=value format\n * - Join strings by &&\n */\n\n const transformedTypesenseFilters = facetFilters.map((item) => {\n if (Array.isArray(item)) {\n // Need to transform:\n // facetFilters = [\"field1:value1\", \"field1:value2\", \"facetN:valueN\"]\n //\n // Into this:\n // intermediateFacetFilters = {\n // \"field1\": [\"value1\", \"value2\"],\n // \"fieldN\": [\"valueN\"]\n // }\n\n const intermediateFacetFilters = {};\n item.forEach((facetFilter) => {\n const { fieldName, fieldValue } = this._parseFacetFilter(facetFilter);\n intermediateFacetFilters[fieldName] = intermediateFacetFilters[fieldName] || [];\n intermediateFacetFilters[fieldName].push(fieldValue);\n });\n\n if (Object.keys(intermediateFacetFilters).length > 1) {\n console.error(\n `[Typesense-Instantsearch-Adapter] Typesense does not support cross-field ORs at the moment. The adapter could not OR values between these fields: ${Object.keys(\n intermediateFacetFilters,\n ).join(\",\")}`,\n );\n }\n\n // Pick first value from intermediateFacetFilters\n const fieldName = Object.keys(intermediateFacetFilters)[0];\n const fieldValues = intermediateFacetFilters[fieldName];\n\n // Need to transform:\n // intermediateFacetFilters = {\n // \"field1\": [\"value1\", \"value2\"],\n // }\n //\n // Into this:\n // field1:=[value1,value2]\n\n // Partition values into included and excluded values\n const [excludedFieldValues, includedFieldValues] = fieldValues.reduce(\n (result, fieldValue) => {\n if (fieldValue.startsWith(\"-\") && !this._isNumber(fieldValue)) {\n result[0].push(fieldValue.substring(1));\n } else {\n result[1].push(fieldValue);\n }\n return result;\n },\n [[], []],\n );\n\n const typesenseFilterStringComponents = [];\n if (includedFieldValues.length > 0) {\n typesenseFilterStringComponents.push(\n this._buildFacetFilterString(fieldName, includedFieldValues, false, collectionName),\n );\n }\n if (excludedFieldValues.length > 0) {\n typesenseFilterStringComponents.push(\n this._buildFacetFilterString(fieldName, excludedFieldValues, true, collectionName),\n );\n }\n\n const typesenseFilterString = typesenseFilterStringComponents.filter((f) => f).join(\" && \");\n\n return typesenseFilterString;\n } else {\n // Need to transform:\n // fieldName:fieldValue\n // Into\n // fieldName:=fieldValue\n\n const { fieldName, fieldValue } = this._parseFacetFilter(item);\n let typesenseFilterString;\n if (fieldValue.startsWith(\"-\") && !this._isNumber(fieldValue)) {\n typesenseFilterString = this._buildFacetFilterString(\n fieldName,\n [fieldValue.substring(1)],\n true,\n collectionName,\n );\n } else {\n typesenseFilterString = this._buildFacetFilterString(fieldName, [fieldValue], false, collectionName);\n }\n\n return typesenseFilterString;\n }\n });\n\n adaptedResult = transformedTypesenseFilters.join(\" && \");\n // console.log(`${JSON.stringify(facetFilters)} => ${adaptedResult}`);\n\n return adaptedResult;\n }\n\n _parseFacetFilter(facetFilter) {\n let filterStringMatchingRegex, facetFilterMatches, fieldName, fieldValue;\n\n // This is helpful when the filter looks like `facetName:with:colons:facetValue:with:colons` and the default regex above parses the filter as `facetName:with:colons:facetValue:with` and `colon`.\n // So if a facetValue can contain a colon, we ask users to pass in all possible facetable fields in `facetableFieldsWithSpecialCharacters` when instantiating the adapter, so we can explicitly match against that.\n if (this.configuration.facetableFieldsWithSpecialCharacters?.length > 0) {\n // escape any Regex special characters, source: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping\n const sanitizedFacetableFieldsWithSpecialCharacters = this.configuration.facetableFieldsWithSpecialCharacters\n .flat()\n .map((f) => f.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\"));\n filterStringMatchingRegex = new RegExp(`^(${sanitizedFacetableFieldsWithSpecialCharacters.join(\"|\")}):(.*)$`);\n facetFilterMatches = facetFilter.match(filterStringMatchingRegex);\n\n if (facetFilterMatches != null) {\n fieldName = `${facetFilterMatches[1]}`;\n fieldValue = `${facetFilterMatches[2]}`;\n\n return {\n fieldName,\n fieldValue,\n };\n }\n }\n\n // If we haven't found any matches yet\n // Use the default filter parsing regex, which assumes that only facet names have colons, and not facet values\n filterStringMatchingRegex = this.constructor.DEFAULT_FACET_FILTER_STRING_MATCHING_REGEX;\n facetFilterMatches = facetFilter.match(filterStringMatchingRegex);\n\n // console.log(filterStringMatchingRegex);\n // console.log(facetFilter);\n // console.log(facetFilterMatches);\n\n if (facetFilterMatches == null) {\n console.error(\n `[Typesense-Instantsearch-Adapter] Parsing failed for a facet filter \\`${facetFilter}\\` with the Regex \\`${filterStringMatchingRegex}\\`. If you have field names with special characters, be sure to add them to a parameter called \\`facetableFieldsWithSpecialCharacters\\` when instantiating the adapter.`,\n );\n } else {\n fieldName = `${facetFilterMatches[1]}${facetFilterMatches[2]}`;\n fieldValue = `${facetFilterMatches[3]}`;\n }\n\n return {\n fieldName,\n fieldValue,\n };\n }\n\n _escapeFacetValue(value) {\n // Don't escape booleans, integers or floats\n if (typeof value === \"boolean\" || value === \"true\" || value === \"false\" || this._isNumber(value)) {\n return value;\n }\n return `\\`${value}\\``;\n }\n\n _isNumber(value) {\n return (\n Number.isInteger(value % 1) || // Mod 1 will automatically try converting string values to integer/float\n !!(value % 1)\n ); // Is Float\n }\n\n _adaptNumericFilters(numericFilters) {\n // Need to transform this:\n // [\"field1<=634\", \"field1>=289\", \"field2<=5\", \"field3>=3\"]\n // to:\n // \"field1:=[634..289] && field2:<=5 && field3:>=3\"\n let adaptedResult = \"\";\n\n if (!numericFilters) {\n return adaptedResult;\n }\n\n // Transform to intermediate structure:\n // {\n // field1: {\n // \"<=\": 634,\n // \">=\": 289\n // },\n // field2: {\n // \"<=\": 5\n // },\n // field3: {\n // \">=\": 3\n // }\n // };\n const filtersHash = {};\n numericFilters.forEach((filter) => {\n const { fieldName, operator, fieldValue } = this._parseNumericFilter(filter);\n filtersHash[fieldName] = filtersHash[fieldName] || {};\n filtersHash[fieldName][operator] = fieldValue;\n });\n\n // Transform that to:\n // \"field1:=[634..289] && field2:<=5 && field3:>=3\"\n const adaptedFilters = [];\n Object.keys(filtersHash).forEach((field) => {\n // Check if this is a joined relation filter (e.g., \"$product_prices(price.current)\")\n const joinedRelationMatch = field.match(this.constructor.JOINED_RELATION_FILTER_REGEX);\n\n let collection, fieldPath;\n if (joinedRelationMatch) {\n // This is a joined relation filter\n collection = joinedRelationMatch[1]; // e.g., \"$product_prices\"\n fieldPath = joinedRelationMatch[2]; // e.g., \"price.current\"\n }\n\n if (filtersHash[field][\"<=\"] != null && filtersHash[field][\">=\"] != null) {\n if (joinedRelationMatch) {\n adaptedFilters.push(\n `${collection}(${fieldPath}:=[${filtersHash[field][\">=\"]}..${filtersHash[field][\"<=\"]}])`,\n );\n } else {\n adaptedFilters.push(`${field}:=[${filtersHash[field][\">=\"]}..${filtersHash[field][\"<=\"]}]`);\n }\n } else if (filtersHash[field][\"<=\"] != null) {\n if (joinedRelationMatch) {\n adaptedFilters.push(`${collection}(${fieldPath}:<=${filtersHash[field][\"<=\"]})`);\n } else {\n adaptedFilters.push(`${field}:<=${filtersHash[field][\"<=\"]}`);\n }\n } else if (filtersHash[field][\">=\"] != null) {\n if (joinedRelationMatch) {\n adaptedFilters.push(`${collection}(${fieldPath}:>=${filtersHash[field][\">=\"]})`);\n } else {\n adaptedFilters.push(`${field}:>=${filtersHash[field][\">=\"]}`);\n }\n } else if (filtersHash[field][\"=\"] != null) {\n if (joinedRelationMatch) {\n adaptedFilters.push(`${collection}(${fieldPath}:=${filtersHash[field][\"=\"]})`);\n } else {\n adaptedFilters.push(`${field}:=${filtersHash[field][\"=\"]}`);\n }\n } else {\n console.warn(\n `[Typesense-Instantsearch-Adapter] Unsupported operator found ${JSON.stringify(filtersHash[field])}`,\n );\n }\n });\n\n adaptedResult = adaptedFilters.join(\" && \");\n return adaptedResult;\n }\n\n _parseNumericFilter(numericFilter) {\n let filterStringMatchingRegex, numericFilterMatches;\n let fieldName, operator, fieldValue;\n\n // The following is helpful when the facetName has special characters like > and the default regex fails to parse it properly.\n // So we ask users to pass in facetable fields in `facetableFieldsWithSpecialCharactersWithSpecialCharacters` when instantiating the adapter, so we can explicitly match against that.\n if (this.configuration.facetableFieldsWithSpecialCharacters?.length > 0) {\n // escape any Regex special characters, source: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping\n const sanitizedFacetableFieldsWithSpecialCharacters = this.configuration.facetableFieldsWithSpecialCharacters.map(\n (f) => f.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\"),\n );\n filterStringMatchingRegex = new RegExp(\n `^(${sanitizedFacetableFieldsWithSpecialCharacters.join(\"|\")})(<=|>=|>|<|=)(.*)$`,\n );\n\n numericFilterMatches = numericFilter.match(filterStringMatchingRegex);\n\n if (numericFilterMatches != null) {\n // If no matches are found or if the above didn't trigger, fall back to the default regex\n [, fieldName, operator, fieldValue] = numericFilterMatches;\n return {\n fieldName,\n operator,\n fieldValue,\n };\n }\n }\n\n // If we haven't found any matches yet, fall back to the default regex\n filterStringMatchingRegex = this.constructor.DEFAULT_NUMERIC_FILTER_STRING_MATCHING_REGEX;\n numericFilterMatches = numericFilter.match(filterStringMatchingRegex);\n\n // console.log(filterStringMatchingRegex);\n // console.log(numericFilter);\n // console.log(numericFilterMatches);\n\n if (numericFilterMatches == null) {\n console.error(\n `[Typesense-Instantsearch-Adapter] Parsing failed for a numeric filter \\`${numericFilter}\\` with the Regex \\`${filterStringMatchingRegex}\\`. If you have field names with special characters, be sure to add them to a parameter called \\`facetableFieldsWithSpecialCharacters\\` when instantiating the adapter.`,\n );\n } else {\n [, fieldName, operator, fieldValue] = numericFilterMatches;\n }\n\n return {\n fieldName,\n operator,\n fieldValue,\n };\n }\n\n _adaptGeoFilter({ insideBoundingBox, aroundRadius, aroundLatLng, insidePolygon }) {\n // Give this parameter first priority if it exists, since\n if (insideBoundingBox) {\n let x1, y1, x2, y2;\n if (Array.isArray(insideBoundingBox)) {\n [x1, y1, x2, y2] = insideBoundingBox.flat();\n } else {\n [x1, y1, x2, y2] = insideBoundingBox.split(\",\");\n }\n return `${this.configuration.geoLocationField}:(${x1}, ${y1}, ${x1}, ${y2}, ${x2}, ${y2}, ${x2}, ${y1})`;\n }\n\n if (aroundLatLng || aroundRadius) {\n if (!aroundRadius || aroundRadius === \"all\") {\n throw new Error(\n \"[Typesense-Instantsearch-Adapter] In Typesense, geo-filtering around a lat/lng also requires a numerical radius. \" +\n \"So the `aroundRadius` parameter is required when `aroundLatLng` is used. \" +\n \"If you intend to just geo-sort around a lat/long, you want to use the sortBy InstantSearch widget (or a virtual sortBy custom widget).\",\n );\n }\n const adaptedAroundRadius = `${parseFloat(aroundRadius) / 1000} km`; // aroundRadius is in meters\n return `${this.configuration.geoLocationField}:(${aroundLatLng}, ${adaptedAroundRadius})`;\n }\n\n if (insidePolygon) {\n let coordinates = insidePolygon;\n if (Array.isArray(insidePolygon)) {\n coordinates = insidePolygon.flat().join(\",\");\n }\n return `${this.configuration.geoLocationField}:(${coordinates})`;\n }\n }\n\n _adaptFilters(instantsearchParams, collectionName) {\n const adaptedFilters = [];\n\n // `filters` can be used with the `Configure` widget\n // However the format needs to be in the Typesense filter_by format, instead of Algolia filter format.\n if (instantsearchParams.filters) {\n adaptedFilters.push(instantsearchParams.filters);\n }\n adaptedFilters.push(this._adaptFacetFilters(instantsearchParams.facetFilters, collectionName));\n adaptedFilters.push(this._adaptNumericFilters(instantsearchParams.numericFilters));\n adaptedFilters.push(this._adaptGeoFilter(instantsearchParams));\n\n return adaptedFilters.filter((filter) => filter && filter !== \"\").join(\" && \");\n }\n\n _adaptIndexName(indexName) {\n return indexName.match(this.constructor.INDEX_NAME_MATCHING_REGEX)[1];\n }\n\n _adaptSortBy(indexName) {\n return indexName.match(this.constructor.INDEX_NAME_MATCHING_REGEX)[3];\n }\n\n _adaptFacetBy(facets, collectionName) {\n return [facets]\n .flat()\n .map((facet) => {\n if (this.configuration.collectionSpecificFacetByOptions?.[collectionName]?.[facet]) {\n return `${facet}${this.configuration.collectionSpecificFacetByOptions[collectionName][facet]}`;\n } else if (this.configuration.facetByOptions[facet]) {\n return `${facet}${this.configuration.facetByOptions[facet]}`;\n } else {\n return facet;\n }\n })\n .join(\",\");\n }\n\n _adaptRulesContextsToOverrideTags(ruleContexts) {\n return ruleContexts.join(\",\");\n }\n\n _buildSearchParameters(instantsearchRequest) {\n const params = instantsearchRequest.params;\n const indexName = instantsearchRequest.indexName;\n const adaptedCollectionName = this._adaptIndexName(indexName);\n\n // Convert all common parameters to snake case\n const snakeCasedAdditionalSearchParameters = {};\n for (const [key, value] of Object.entries(this.additionalSearchParameters)) {\n snakeCasedAdditionalSearchParameters[this._camelToSnakeCase(key)] = value;\n }\n\n // Override, collection specific parameters\n if (this.collectionSpecificSearchParameters[adaptedCollectionName]) {\n for (const [key, value] of Object.entries(this.collectionSpecificSearchParameters[adaptedCollectionName])) {\n snakeCasedAdditionalSearchParameters[this._camelToSnakeCase(key)] = value;\n }\n }\n\n const typesenseSearchParams = Object.assign({}, snakeCasedAdditionalSearchParameters);\n\n const adaptedSortBy = this._adaptSortBy(indexName);\n\n Object.assign(typesenseSearchParams, {\n collection: adaptedCollectionName,\n q: params.query === \"\" || params.query === undefined ? \"*\" : params.query,\n facet_by:\n snakeCasedAdditionalSearchParameters.facet_by || this._adaptFacetBy(params.facets, adaptedCollectionName),\n filter_by: this._adaptFilters(params, adaptedCollectionName) || snakeCasedAdditionalSearchParameters.filter_by,\n sort_by: adaptedSortBy || snakeCasedAdditionalSearchParameters.sort_by,\n max_facet_values: params.maxValuesPerFacet,\n page: (params.page || 0) + 1,\n });\n\n if (params.hitsPerPage != null) {\n typesenseSearchParams.per_page = params.hitsPerPage;\n }\n\n if (params.facetQuery) {\n typesenseSearchParams.facet_query = `${params.facetName}:${params.facetQuery}`;\n typesenseSearchParams.per_page = 0;\n }\n\n if (params.ruleContexts && params.ruleContexts.length > 0) {\n typesenseSearchParams.override_tags = this._adaptRulesContextsToOverrideTags(params.ruleContexts);\n }\n\n // If a custom vector query is specified, set q=*\n if (params.typesenseVectorQuery) {\n typesenseSearchParams.vector_query = params.typesenseVectorQuery;\n }\n\n // Allow for conditional disabling of overrides, for particular sort orders\n let sortByOption =\n this.configuration.collectionSpecificSortByOptions?.[adaptedCollectionName]?.[typesenseSearchParams[\"sort_by\"]] ||\n this.configuration.sortByOptions?.[typesenseSearchParams[\"sort_by\"]];\n if (sortByOption?.[\"enable_overrides\"] != null) {\n typesenseSearchParams[\"enable_overrides\"] = sortByOption[\"enable_overrides\"];\n }\n\n // console.log(params);\n // console.log(typesenseSearchParams);\n\n // Filter out empty or null values, so we don't accidentally override values set in presets\n // eslint-disable-next-line no-unused-vars\n return Object.fromEntries(Object.entries(typesenseSearchParams).filter(([_, v]) => v != null && v !== \"\"));\n }\n\n _camelToSnakeCase(str) {\n return str\n .split(/(?=[A-Z])/)\n .join(\"_\")\n .toLowerCase();\n }\n\n async request() {\n // console.log(this.instantsearchRequests);\n\n let searches = this.instantsearchRequests.map((instantsearchRequest) =>\n this._buildSearchParameters(instantsearchRequest),\n );\n\n // If this is a conversational search, then move conversation related params to query params\n let commonParams = {};\n if (searches[0]?.conversation === true || searches[0]?.conversation === \"true\") {\n const { q, conversation, conversation_id, conversation_model_id } = searches[0];\n commonParams = { q, conversation, conversation_id, conversation_model_id };\n\n searches = searches.map((searchParams) => {\n // eslint-disable-next-line no-unused-vars\n const { q, conversation, conversation_id, conversation_model_id, ...modifiedSearchParams } = searchParams;\n return modifiedSearchParams;\n });\n }\n\n const searchRequest = { searches: searches };\n\n // Add union parameter if configured\n if (this.configuration.union) {\n searchRequest.union = this.configuration.union;\n commonParams.page = searches[0].page;\n }\n\n return this.typesenseClient.multiSearch.perform(searchRequest, commonParams);\n }\n}\n","\"use strict\";\n\nimport { utils } from \"./support/utils\";\n\nexport class SearchResponseAdapter {\n constructor(\n typesenseResponse,\n instantsearchRequest,\n configuration,\n allTypesenseResults = [],\n fullTypesenseResponse = {},\n ) {\n this.typesenseResponse = typesenseResponse;\n this.instantsearchRequest = instantsearchRequest;\n this.configuration = configuration;\n this.allTypesenseResults = allTypesenseResults;\n this.fullTypesenseResponse = fullTypesenseResponse;\n }\n\n _adaptGroupedHits(typesenseGroupedHits) {\n let adaptedResult = [];\n\n adaptedResult = typesenseGroupedHits.map((groupedHit) => {\n const adaptedHits = this._adaptHits(groupedHit.hits);\n adaptedHits.forEach((hit) => {\n hit[\"group_key\"] = hit[\"_group_key\"] = groupedHit.group_key;\n if (groupedHit.found) {\n hit[\"_group_found\"] = groupedHit.found;\n }\n });\n return adaptedHits;\n });\n\n // adaptedResult is now in the form of [[{}, {}], [{}, {}], ...]\n // where each element in the outermost array corresponds to a group.\n\n if (this.configuration.flattenGroupedHits) {\n // We flatten it to [{}, {}, {}]\n adaptedResult = adaptedResult.flat();\n } else {\n // We flatten it to [{ ..., grouped_hits: [{}, {}] }, {}, {}]\n // We set the first element in the group as the hit, and then add a new key called grouped_hits with the other hits\n adaptedResult = adaptedResult.map((adaptedGroupedHit) => {\n return {\n ...adaptedGroupedHit[0],\n _grouped_hits: adaptedGroupedHit,\n };\n });\n }\n\n return adaptedResult;\n }\n\n _adaptHits(typesenseHits) {\n let adaptedResult = [];\n adaptedResult = typesenseHits.map((typesenseHit) => {\n const adaptedHit = {\n ...typesenseHit.document,\n };\n adaptedHit.objectID = typesenseHit.document.id;\n adaptedHit._snippetResult = this._adaptHighlightResult(typesenseHit, \"snippet\");\n adaptedHit._highlightResult = this._adaptHighlightResult(typesenseHit, \"value\");\n adaptedHit._rawTypesenseHit = typesenseHit;\n\n // We're adding `conversation` into each hit, since there doesn't seem to be any other way to pass this up to Instantsearch outside of hits\n if (this.fullTypesenseResponse.conversation) {\n adaptedHit._rawTypesenseConversation = this.fullTypesenseResponse.conversation;\n }\n\n // Add metadata fields to result, if a field with that name doesn't already exist\n [\n \"text_match\",\n \"geo_distance_meters\",\n \"curated\",\n \"text_match_info\",\n \"hybrid_search_info\",\n \"vector_distance\",\n \"collection\", // Union search specific\n \"search_index\", // Union search specific\n ].forEach((metadataField) => {\n if (Object.keys(typesenseHit).includes(metadataField) && !Object.keys(adaptedHit).includes(metadataField)) {\n adaptedHit[metadataField] = typesenseHit[metadataField];\n }\n });\n\n const geoLocationValue = adaptedHit[this.configuration.geoLocationField];\n if (geoLocationValue) {\n adaptedHit._geoloc = {\n lat: geoLocationValue[0],\n lng: geoLocationValue[1],\n };\n }\n\n return adaptedHit;\n });\n return adaptedResult;\n }\n\n _adaptHighlightResult(typesenseHit, snippetOrValue) {\n const result = {};\n\n // If there is a highlight object available (as of v0.24.0),\n // And the highlight object uses the highlight format available in v0.24.0.rcn32 and above\n // use that instead of the highlights array, since it supports highlights of nested fields\n if (typesenseHit.highlight != null && this.isHighlightPost0240RCN32Format(typesenseHit.highlight)) {\n this.adaptHighlightObject(typesenseHit, result, snippetOrValue);\n } else {\n this.adaptHighlightsArray(typesenseHit, result, snippetOrValue);\n }\n return result;\n }\n\n isHighlightPost0240RCN32Format(highlight) {\n return highlight.full == null && highlight.snippet == null;\n }\n\n adaptHighlightsArray(typesenseHit, result, snippetOrValue) {\n // Algolia lists all searchable attributes in this key, even if there are no matches\n // So do the same and then override highlights\n\n Object.assign(\n result,\n ...Object.entries(typesenseHit.document).map(([attribute, value]) => ({\n [attribute]: {\n value: value,\n matchLevel: \"none\",\n matchedWords: [],\n },\n })),\n );\n\n typesenseHit.highlights.forEach((highlight) => {\n result[highlight.field] = {\n value: highlight[snippetOrValue] || highlight[`${snippetOrValue}s`],\n matchLevel: \"full\",\n matchedWords: highlight.matched_tokens,\n };\n\n if (highlight.indices) {\n result[highlight.field][\"matchedIndices\"] = highlight.indices;\n }\n });\n\n // Now convert any values that have an array value\n // Also, replace highlight tag\n Object.entries(result).forEach(([k, v]) => {\n const attribute = k;\n const { value, matchLevel, matchedWords, matchedIndices } = v;\n if (value == null) {\n result[attribute] = this._adaptHighlightNullValue();\n } else if (Array.isArray(value)) {\n // Algolia lists all values of the key in highlights, even those that don't have any highlights\n // So add all values of the array field, including highlights\n result[attribute] = [];\n typesenseHit.document[attribute].forEach((unhighlightedValueFromArray, index) => {\n if (matchedIndices && matchedIndices.includes(index)) {\n result[attribute].push({\n value: this._adaptHighlightTag(\n `${value[matchedIndices.indexOf(index)]}`,\n this.instantsearchRequest.params.highlightPreTag,\n this.instantsearchRequest.params.highlightPostTag,\n ),\n matchLevel: matchLevel,\n matchedWords: matchedWords[index],\n });\n } else if (typeof unhighlightedValueFromArray === \"object\") {\n // Handle arrays of objects\n // Side note: Typesense does not support highlights for nested objects in this `highlights` array,\n // so we pass in an empty object below\n result[attribute].push(this._adaptHighlightInObjectValue(unhighlightedValueFromArray, {}, snippetOrValue));\n } else {\n result[attribute].push({\n value: `${unhighlightedValueFromArray}`,\n matchLevel: \"none\",\n matchedWords: [],\n });\n }\n });\n } else if (typeof value === \"object\") {\n // Handle nested objects\n // Side note: Typesense does not support highlights for nested objects in this `highlights` array,\n // so we pass in an empty object below\n result[attribute] = this._adaptHighlightInObjectValue(value, {}, snippetOrValue);\n } else {\n // Convert all values to strings\n result[attribute].value = this._adaptHighlightTag(\n `${value}`,\n this.instantsearchRequest.params.highlightPreTag,\n this.instantsearchRequest.params.highlightPostTag,\n );\n }\n });\n }\n\n adaptHighlightObject(typesenseHit, result, snippetOrValue) {\n Object.assign(\n result,\n this._adaptHighlightInObjectValue(typesenseHit.document, typesenseHit.highlight, snippetOrValue),\n );\n }\n\n _adaptHighlightInObjectValue(objectValue, highlightObjectValue, snippetOrValue) {\n return Object.assign(\n {},\n ...Object.entries(objectValue).map(([attribute, value]) => {\n let adaptedValue;\n if (value == null) {\n adaptedValue = this._adaptHighlightNullValue();\n } else if (Array.isArray(value)) {\n adaptedValue = this._adaptHighlightInArrayValue(\n value,\n highlightObjectValue?.[attribute] ?? [],\n snippetOrValue,\n );\n } else if (typeof value === \"object\") {\n adaptedValue = this._adaptHighlightInObjectValue(\n value,\n highlightObjectValue?.[attribute] ?? {},\n snippetOrValue,\n );\n } else {\n adaptedValue = this._adaptHighlightInPrimitiveValue(value, highlightObjectValue?.[attribute], snippetOrValue);\n }\n\n return {\n [attribute]: adaptedValue,\n };\n }),\n );\n }\n\n _adaptHighlightInArrayValue(arrayValue, highlightArrayValue, snippetOrValue) {\n return arrayValue.map((value, index) => {\n let adaptedValue;\n if (value == null) {\n adaptedValue = this._adaptHighlightNullValue();\n } else if (Array.isArray(value)) {\n adaptedValue = this._adaptHighlightInArrayValue(value, highlightArrayValue?.[index] ?? [], snippetOrValue);\n } else if (typeof value === \"object\") {\n adaptedValue = this._adaptHighlightInObjectValue(value, highlightArrayValue?.[index] ?? {}, snippetOrValue);\n } else {\n adaptedValue = this._adaptHighlightInPrimitiveValue(value, highlightArrayValue?.[index], snippetOrValue);\n }\n return adaptedValue;\n });\n }\n\n _adaptHighlightInPrimitiveValue(primitiveValue, highlightPrimitiveValue, snippetOrValue) {\n if (highlightPrimitiveValue != null) {\n return {\n value: this._adaptHighlightTag(\n `${\n highlightPrimitiveValue[snippetOrValue] ??\n highlightPrimitiveValue[\"highlight\"] ??\n highlightPrimitiveValue[\"snippet\"]\n }`,\n this.instantsearchRequest.params.highlightPreTag,\n this.instantsearchRequest.params.highlightPostTag,\n ),\n matchLevel: (highlightPrimitiveValue.matched_tokens || []).length > 0 ? \"full\" : \"none\",\n matchedWords: highlightPrimitiveValue.matched_tokens || [],\n };\n } else {\n return {\n // Convert all values to strings\n value: this._adaptHighlightTag(\n `${primitiveValue}`,\n this.instantsearchRequest.params.highlightPreTag,\n this.instantsearchRequest.params.highlightPostTag,\n ),\n matchLevel: \"none\",\n matchedWords: [],\n };\n }\n }\n\n _adaptHighlightNullValue() {\n return {\n value: \"\",\n matchLevel: \"none\",\n matchedWords: [],\n };\n }\n\n _adaptFacets(typesenseFacetCounts) {\n const adaptedResult = {};\n if (Array.isArray(typesenseFacetCounts)) {\n typesenseFacetCounts.forEach((facet) => {\n Object.assign(adaptedResult, {\n [facet.field_name]: Object.assign({}, ...facet.counts.map((count) => ({ [count.value]: count.count }))),\n });\n });\n }\n return adaptedResult;\n }\n\n _adaptFacetStats(typesenseFacetCounts) {\n const adaptedResult = {};\n if (Array.isArray(typesenseFacetCounts)) {\n typesenseFacetCounts.forEach((facet) => {\n if (facet.stats && Object.keys(facet.stats).length > 0) {\n Object.assign(adaptedResult, {\n [facet.field_name]: facet.stats,\n });\n }\n });\n }\n return adaptedResult;\n }\n\n _adaptRenderingContent(typesenseFacetCounts) {\n const adaptedResult = Object.assign({}, this.configuration.renderingContent);\n\n // Only set facet ordering if the user has not set one\n if (adaptedResult.facetOrdering?.facets?.order == null) {\n adaptedResult.facetOrdering = adaptedResult.facetOrdering || {};\n adaptedResult.facetOrdering.facets = adaptedResult.facetOrdering.facets || {};\n adaptedResult.facetOrdering.facets.order = [\n ...new Set(\n (Array.isArray(typesenseFacetCounts) ? typesenseFacetCounts : [])\n .map((fc) => fc[\"field_name\"])\n .concat(\n this.allTypesenseResults\n .map((r) => r.facet_counts || [])\n .flat()\n .map((fc) => fc[\"field_name\"])\n .filter((f) => f),\n ),\n ),\n ];\n }\n\n return adaptedResult;\n }\n\n _adaptUserData(metadata) {\n if (!metadata) return [];\n\n return Array.isArray(metadata) ? metadata : [metadata];\n }\n\n adapt() {\n const adaptedRenderingContent = this._adaptRenderingContent(this.typesenseResponse.facet_counts || []);\n\n // For union search, use union_request_params, otherwise use request_params\n const requestParams = this.typesenseResponse.union_request_params\n ? this.typesenseResponse.union_request_params[0]\n : this.typesenseResponse.request_params;\n\n const adaptedResult = {\n hits: this.typesenseResponse.grouped_hits\n ? this._adaptGroupedHits(this.typesenseResponse.grouped_hits)\n : this._adaptHits(this.typesenseResponse.hits),\n nbHits: this.typesenseResponse.found,\n page: this.typesenseResponse.union_request_params\n ? this.typesenseResponse.page // Union search already uses 0-based page\n : this.typesenseResponse.page - 1, // Regular search uses 1-based page, convert to 0-based\n nbPages: this._adaptNumberOfPages(),\n hitsPerPage: requestParams?.per_page || 10,\n facets: this._adaptFacets(this.typesenseResponse.facet_counts || []),\n facets_stats: this._adaptFacetStats(this.typesenseResponse.facet_counts || []),\n query: requestParams?.q || \"\",\n processingTimeMS: this.typesenseResponse.search_time_ms,\n ...(Object.keys(adaptedRenderingContent).length > 0 ? { renderingContent: adaptedRenderingContent } : null),\n };\n\n // Add appliedRules if metadata is present\n if (this.typesenseResponse.metadata) {\n adaptedResult.appliedRules = [\"typesense-override\"];\n adaptedResult.userData = this._adaptUserData(this.typesenseResponse.metadata);\n }\n\n // Add parsed_nl_query if natural language search was used\n if (this.typesenseResponse.parsed_nl_query) {\n adaptedResult.parsed_nl_query = this.typesenseResponse.parsed_nl_query;\n }\n\n // If no results were found for the search, but there is still a conversation response,\n // still send that as a hit so the conversation is accessible via Instantsearch\n if (this.fullTypesenseResponse.conversation && adaptedResult.hits.length === 0) {\n adaptedResult.hits = [\n {\n _rawTypesenseConversation: this.fullTypesenseResponse.conversation,\n },\n ];\n }\n\n // console.log(adaptedResult);\n return adaptedResult;\n }\n}\n\nObject.assign(SearchResponseAdapter.prototype, utils);\n","export const utils = {\n _adaptHighlightTag(value, highlightPreTag, highlightPostTag) {\n return value\n .replace(new RegExp(\"