UNPKG

@ng-doc/app

Version:

<!-- PROJECT LOGO --> <br /> <div align="center"> <a href="https://github.com/ng-doc/ng-doc"> <img src="https://ng-doc.com/assets/images/ng-doc.svg?raw=true" alt="Logo" height="150px"> </a>

1 lines 14 kB
{"version":3,"file":"ng-doc-app-classes-default-search-engine.mjs","sources":["../tmp-esm2022/classes/default-search-engine/default-search-engine.js","../tmp-esm2022/classes/default-search-engine/ng-doc-app-classes-default-search-engine.js"],"sourcesContent":["import { NgDocSearchEngine } from '@ng-doc/app/classes/search-engine';\nimport { asArray } from '@ng-doc/core/helpers/as-array';\nimport { objectKeys } from '@ng-doc/core/helpers/object-keys';\nimport { create, insertMultiple } from '@orama/orama';\nimport { afterInsert, searchWithHighlight, } from '@orama/plugin-match-highlight';\nimport { from } from 'rxjs';\nimport { map, shareReplay, switchMap } from 'rxjs/operators';\n/**\n * Search engine for the documentation, it loads the index and provides a search method.\n */\nexport class NgDocDefaultSearchEngine extends NgDocSearchEngine {\n constructor(options) {\n super();\n this.options = options;\n this.db$ = from(create({\n schema: {\n title: 'string',\n section: 'string',\n content: 'string',\n },\n plugins: [\n {\n name: 'highlight',\n afterInsert,\n },\n ],\n components: {\n tokenizer: {\n stemmer: options?.stemmer,\n },\n },\n })).pipe(switchMap((db) => this.request(`assets/ng-doc/indexes.json`).pipe(switchMap((pages) => insertMultiple(db, pages)), map(() => db))), shareReplay(1));\n }\n /**\n * Search the documentation for the given query.\n * @param query The query to search for.\n */\n search(query) {\n return this.db$.pipe(switchMap((db) => searchWithHighlight(db, {\n term: query,\n boost: { title: 4, section: 2 },\n threshold: 0.3,\n properties: ['title', 'section', 'content'],\n tolerance: this.options?.tolerance,\n exact: this.options?.exact,\n limit: this.options?.limit ?? 10,\n })), map((result) => result.hits.map((hit) => {\n const keys = objectKeys(hit.positions);\n return {\n index: hit.document,\n positions: keys.reduce((acc, key) => {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n acc[key] = [...asArray(acc[key]), ...Object.values(hit.positions[key]).flat()];\n return acc;\n }, {}),\n };\n })));\n }\n request(url) {\n return from(fetch(url)).pipe(switchMap((response) => response.json()));\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1zZWFyY2gtZW5naW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcHAvY2xhc3Nlcy9kZWZhdWx0LXNlYXJjaC1lbmdpbmUvZGVmYXVsdC1zZWFyY2gtZW5naW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXRFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHOUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQVMsTUFBTSxjQUFjLENBQUM7QUFDN0QsT0FBTyxFQUNMLFdBQVcsRUFFWCxtQkFBbUIsR0FDcEIsTUFBTSwrQkFBK0IsQ0FBQztBQUV2QyxPQUFPLEVBQUUsSUFBSSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBaUM3RDs7R0FFRztBQUNILE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxpQkFBaUI7SUFHN0QsWUFBb0IsT0FBeUM7UUFDM0QsS0FBSyxFQUFFLENBQUM7UUFEVSxZQUFPLEdBQVAsT0FBTyxDQUFrQztRQUczRCxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FDYixNQUFNLENBQUM7WUFDTCxNQUFNLEVBQUU7Z0JBQ04sS0FBSyxFQUFFLFFBQVE7Z0JBQ2YsT0FBTyxFQUFFLFFBQVE7Z0JBQ2pCLE9BQU8sRUFBRSxRQUFRO2FBQ2xCO1lBQ0QsT0FBTyxFQUFFO2dCQUNQO29CQUNFLElBQUksRUFBRSxXQUFXO29CQUNqQixXQUFXO2lCQUNaO2FBQ0Y7WUFDRCxVQUFVLEVBQUU7Z0JBQ1YsU0FBUyxFQUFFO29CQUNULE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTztpQkFDMUI7YUFDRjtTQUNGLENBQUMsQ0FDSCxDQUFDLElBQUksQ0FDSixTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUNmLElBQUksQ0FBQyxPQUFPLENBQW1CLDRCQUE0QixDQUFDLENBQUMsSUFBSSxDQUMvRCxTQUFTLENBQUMsQ0FBQyxLQUF1QixFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsRUFBRSxFQUFFLEtBQVksQ0FBQyxDQUFDLEVBQ3hFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUF3QixDQUFDLENBQ3BDLENBQ0YsRUFDRCxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ1EsQ0FBQztJQUMzQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLEtBQWE7UUFDbEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FDbEIsU0FBUyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FDZixtQkFBbUIsQ0FBQyxFQUFFLEVBQUU7WUFDdEIsSUFBSSxFQUFFLEtBQUs7WUFDWCxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUU7WUFDL0IsU0FBUyxFQUFFLEdBQUc7WUFDZCxVQUFVLEVBQUUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQztZQUMzQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFTO1lBQ2xDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUs7WUFDMUIsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxJQUFJLEVBQUU7U0FDakMsQ0FBQyxDQUNILEVBQ0QsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDYixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3RCLE1BQU0sSUFBSSxHQUFnQyxVQUFVLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FFakUsQ0FBQztZQUVGLE9BQU87Z0JBQ0wsS0FBSyxFQUFFLEdBQUcsQ0FBQyxRQUFxQztnQkFDaEQsU0FBUyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQ3BCLENBQ0UsR0FBMkQsRUFDM0QsR0FBeUIsRUFDekIsRUFBRTtvQkFDRiw2REFBNkQ7b0JBQzdELGFBQWE7b0JBQ2IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO29CQUUvRSxPQUFPLEdBQUcsQ0FBQztnQkFDYixDQUFDLEVBQ0QsRUFBUyxDQUN5RDthQUNyRSxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLE9BQU8sQ0FBSSxHQUFXO1FBQzVCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFrQixFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFnQixDQUFDLENBQUMsQ0FBQztJQUNqRyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0RvY1NlYXJjaEVuZ2luZSB9IGZyb20gJ0BuZy1kb2MvYXBwL2NsYXNzZXMvc2VhcmNoLWVuZ2luZSc7XG5pbXBvcnQgeyBOZ0RvY1NlYXJjaFJlc3VsdCB9IGZyb20gJ0BuZy1kb2MvYXBwL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgYXNBcnJheSB9IGZyb20gJ0BuZy1kb2MvY29yZS9oZWxwZXJzL2FzLWFycmF5JztcbmltcG9ydCB7IG9iamVjdEtleXMgfSBmcm9tICdAbmctZG9jL2NvcmUvaGVscGVycy9vYmplY3Qta2V5cyc7XG5pbXBvcnQgeyBOZ0RvY1BhZ2VJbmRleCB9IGZyb20gJ0BuZy1kb2MvY29yZS9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE5nRG9jSGlnaGxpZ2h0UG9zaXRpb24gfSBmcm9tICdAbmctZG9jL3VpLWtpdCc7XG5pbXBvcnQgeyBjcmVhdGUsIGluc2VydE11bHRpcGxlLCBPcmFtYSB9IGZyb20gJ0BvcmFtYS9vcmFtYSc7XG5pbXBvcnQge1xuICBhZnRlckluc2VydCxcbiAgT3JhbWFXaXRoSGlnaGxpZ2h0LFxuICBzZWFyY2hXaXRoSGlnaGxpZ2h0LFxufSBmcm9tICdAb3JhbWEvcGx1Z2luLW1hdGNoLWhpZ2hsaWdodCc7XG5pbXBvcnQgKiBhcyBzdGVtbWVyIGZyb20gJ0BvcmFtYS9zdGVtbWVycyc7XG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbnR5cGUgT3JhbWFEYiA9IE9yYW1hV2l0aEhpZ2hsaWdodDxcbiAgT3JhbWE8e1xuICAgIHRpdGxlOiAnc3RyaW5nJztcbiAgICBzZWN0aW9uOiAnc3RyaW5nJztcbiAgICBjb250ZW50OiAnc3RyaW5nJztcbiAgfT5cbj47XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgdGhlIGBOZ0RvY0RlZmF1bHRTZWFyY2hFbmdpbmVgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5nRG9jRGVmYXVsdFNlYXJjaEVuZ2luZU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIGxhbmd1YWdlIHRvIHVzZSBmb3IgdGhlIHNlYXJjaCBlbmdpbmUuXG4gICAqL1xuICBzdGVtbWVyPzogdHlwZW9mIHN0ZW1tZXIuc3RlbW1lcjtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgbWF4aW11bSBkaXN0YW5jZSAoZm9sbG93aW5nIHRoZSBMZXZlbnNodGVpbiBhbGdvcml0aG0pIGJldHdlZW4gdGhlIHRlcm0gYW5kIHRoZSBzZWFyY2hhYmxlIHByb3BlcnR5LlxuICAgKiAoZG9lc24ndCB3b3JrIHdpdGggYGV4YWN0YCBvcHRpb24pXG4gICAqL1xuICB0b2xlcmFuY2U/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBJZiBgdHJ1ZWAsIGZpbmRzIGFsbCB0aGUgZG9jdW1lbnQgd2l0aCBhbiBleGFjdCBtYXRjaCBvZiB0aGUgdGVybSBwcm9wZXJ0eS5cbiAgICovXG4gIGV4YWN0PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIE51bWJlciBvZiByZXN1bHRzIHRvIHJldHVybiAoZGVmYXVsdDogMTApLlxuICAgKi9cbiAgbGltaXQ/OiBudW1iZXI7XG59XG5cbi8qKlxuICogU2VhcmNoIGVuZ2luZSBmb3IgdGhlIGRvY3VtZW50YXRpb24sIGl0IGxvYWRzIHRoZSBpbmRleCBhbmQgcHJvdmlkZXMgYSBzZWFyY2ggbWV0aG9kLlxuICovXG5leHBvcnQgY2xhc3MgTmdEb2NEZWZhdWx0U2VhcmNoRW5naW5lIGV4dGVuZHMgTmdEb2NTZWFyY2hFbmdpbmUge1xuICBwcml2YXRlIGRiJDogT2JzZXJ2YWJsZTxPcmFtYURiPjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG9wdGlvbnM/OiBOZ0RvY0RlZmF1bHRTZWFyY2hFbmdpbmVPcHRpb25zKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuZGIkID0gZnJvbShcbiAgICAgIGNyZWF0ZSh7XG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIHRpdGxlOiAnc3RyaW5nJyxcbiAgICAgICAgICBzZWN0aW9uOiAnc3RyaW5nJyxcbiAgICAgICAgICBjb250ZW50OiAnc3RyaW5nJyxcbiAgICAgICAgfSxcbiAgICAgICAgcGx1Z2luczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdoaWdobGlnaHQnLFxuICAgICAgICAgICAgYWZ0ZXJJbnNlcnQsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgY29tcG9uZW50czoge1xuICAgICAgICAgIHRva2VuaXplcjoge1xuICAgICAgICAgICAgc3RlbW1lcjogb3B0aW9ucz8uc3RlbW1lcixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKChkYikgPT5cbiAgICAgICAgdGhpcy5yZXF1ZXN0PE5nRG9jUGFnZUluZGV4W10+KGBhc3NldHMvbmctZG9jL2luZGV4ZXMuanNvbmApLnBpcGUoXG4gICAgICAgICAgc3dpdGNoTWFwKChwYWdlczogTmdEb2NQYWdlSW5kZXhbXSkgPT4gaW5zZXJ0TXVsdGlwbGUoZGIsIHBhZ2VzIGFzIGFueSkpLFxuICAgICAgICAgIG1hcCgoKSA9PiBkYiBhcyB1bmtub3duIGFzIE9yYW1hRGIpLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpLFxuICAgICkgYXMgT2JzZXJ2YWJsZTxPcmFtYURiPjtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWFyY2ggdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBnaXZlbiBxdWVyeS5cbiAgICogQHBhcmFtIHF1ZXJ5IFRoZSBxdWVyeSB0byBzZWFyY2ggZm9yLlxuICAgKi9cbiAgc2VhcmNoKHF1ZXJ5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPE5nRG9jU2VhcmNoUmVzdWx0W10+IHtcbiAgICByZXR1cm4gdGhpcy5kYiQucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoZGIpID0+XG4gICAgICAgIHNlYXJjaFdpdGhIaWdobGlnaHQoZGIsIHtcbiAgICAgICAgICB0ZXJtOiBxdWVyeSxcbiAgICAgICAgICBib29zdDogeyB0aXRsZTogNCwgc2VjdGlvbjogMiB9LFxuICAgICAgICAgIHRocmVzaG9sZDogMC4zLFxuICAgICAgICAgIHByb3BlcnRpZXM6IFsndGl0bGUnLCAnc2VjdGlvbicsICdjb250ZW50J10sXG4gICAgICAgICAgdG9sZXJhbmNlOiB0aGlzLm9wdGlvbnM/LnRvbGVyYW5jZSxcbiAgICAgICAgICBleGFjdDogdGhpcy5vcHRpb25zPy5leGFjdCxcbiAgICAgICAgICBsaW1pdDogdGhpcy5vcHRpb25zPy5saW1pdCA/PyAxMCxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICAgbWFwKChyZXN1bHQpID0+XG4gICAgICAgIHJlc3VsdC5oaXRzLm1hcCgoaGl0KSA9PiB7XG4gICAgICAgICAgY29uc3Qga2V5czogQXJyYXk8a2V5b2YgTmdEb2NQYWdlSW5kZXg+ID0gb2JqZWN0S2V5cyhoaXQucG9zaXRpb25zKSBhcyB1bmtub3duIGFzIEFycmF5PFxuICAgICAgICAgICAga2V5b2YgTmdEb2NQYWdlSW5kZXhcbiAgICAgICAgICA+O1xuXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGluZGV4OiBoaXQuZG9jdW1lbnQgYXMgdW5rbm93biBhcyBOZ0RvY1BhZ2VJbmRleCxcbiAgICAgICAgICAgIHBvc2l0aW9uczoga2V5cy5yZWR1Y2UoXG4gICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICBhY2M6IFJlY29yZDxrZXlvZiBOZ0RvY1BhZ2VJbmRleCwgTmdEb2NIaWdobGlnaHRQb3NpdGlvbltdPixcbiAgICAgICAgICAgICAgICBrZXk6IGtleW9mIE5nRG9jUGFnZUluZGV4LFxuICAgICAgICAgICAgICApID0+IHtcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIGFjY1trZXldID0gWy4uLmFzQXJyYXkoYWNjW2tleV0pLCAuLi5PYmplY3QudmFsdWVzKGhpdC5wb3NpdGlvbnNba2V5XSkuZmxhdCgpXTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHt9IGFzIGFueSxcbiAgICAgICAgICAgICkgYXMgUGFydGlhbDxSZWNvcmQ8a2V5b2YgTmdEb2NQYWdlSW5kZXgsIE5nRG9jSGlnaGxpZ2h0UG9zaXRpb25bXT4+LFxuICAgICAgICAgIH07XG4gICAgICAgIH0pLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSByZXF1ZXN0PFQ+KHVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIGZyb20oZmV0Y2godXJsKSkucGlwZShzd2l0Y2hNYXAoKHJlc3BvbnNlOiBSZXNwb25zZSkgPT4gcmVzcG9uc2UuanNvbigpIGFzIFByb21pc2U8VD4pKTtcbiAgfVxufVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctZG9jLWFwcC1jbGFzc2VzLWRlZmF1bHQtc2VhcmNoLWVuZ2luZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NsYXNzZXMvZGVmYXVsdC1zZWFyY2gtZW5naW5lL25nLWRvYy1hcHAtY2xhc3Nlcy1kZWZhdWx0LXNlYXJjaC1lbmdpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":";;;;;;;;AAOA;AACA;AACA;AACO,MAAM,wBAAwB,SAAS,iBAAiB,CAAC;AAChE,IAAI,WAAW,CAAC,OAAO,EAAE;AACzB,QAAQ,KAAK,EAAE;AACf,QAAQ,IAAI,CAAC,OAAO,GAAG,OAAO;AAC9B,QAAQ,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;AAC/B,YAAY,MAAM,EAAE;AACpB,gBAAgB,KAAK,EAAE,QAAQ;AAC/B,gBAAgB,OAAO,EAAE,QAAQ;AACjC,gBAAgB,OAAO,EAAE,QAAQ;AACjC,aAAa;AACb,YAAY,OAAO,EAAE;AACrB,gBAAgB;AAChB,oBAAoB,IAAI,EAAE,WAAW;AACrC,oBAAoB,WAAW;AAC/B,iBAAiB;AACjB,aAAa;AACb,YAAY,UAAU,EAAE;AACxB,gBAAgB,SAAS,EAAE;AAC3B,oBAAoB,OAAO,EAAE,OAAO,EAAE,OAAO;AAC7C,iBAAiB;AACjB,aAAa;AACb,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,KAAK,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;AACpK;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,CAAC,KAAK,EAAE;AAClB,QAAQ,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,mBAAmB,CAAC,EAAE,EAAE;AACvE,YAAY,IAAI,EAAE,KAAK;AACvB,YAAY,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;AAC3C,YAAY,SAAS,EAAE,GAAG;AAC1B,YAAY,UAAU,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC;AACvD,YAAY,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS;AAC9C,YAAY,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK;AACtC,YAAY,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;AAC5C,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK;AACtD,YAAY,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC;AAClD,YAAY,OAAO;AACnB,gBAAgB,KAAK,EAAE,GAAG,CAAC,QAAQ;AACnC,gBAAgB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK;AACrD;AACA;AACA,oBAAoB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAClG,oBAAoB,OAAO,GAAG;AAC9B,iBAAiB,EAAE,EAAE,CAAC;AACtB,aAAa;AACb,SAAS,CAAC,CAAC,CAAC;AACZ;AACA,IAAI,OAAO,CAAC,GAAG,EAAE;AACjB,QAAQ,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;AAC9E;AACA;;AC9DA;AACA;AACA;;;;"}