From 8cf86eaba78946ac60f05ef975e068cd8bd2eb67 Mon Sep 17 00:00:00 2001 From: Ferdinand Thiessen Date: Mon, 25 Sep 2023 16:24:33 +0200 Subject: [PATCH 1/3] fix: Use correct unit for file sizes We always used binary file sizes (base 2, meaning 2048 bytes = 2KiB), but we added the wrong unit (we used the decimal (base 10) unit e.g. 2KB). This fixes the user management showing a wrong quota. Also the OC_Helper now supports base 10 and base 2 in `computerFileSize`, for backwards compatibility it defaults to force even units like `KB` to be binary. Signed-off-by: Ferdinand Thiessen --- apps/files/src/components/NavigationQuota.vue | 4 +- .../lib/Controller/UsersController.php | 4 +- core/src/OC/util.js | 54 +++---------------- lib/private/Setup.php | 2 +- lib/private/User/User.php | 2 +- lib/private/legacy/OC_Helper.php | 40 +++++++------- 6 files changed, 34 insertions(+), 72 deletions(-) diff --git a/apps/files/src/components/NavigationQuota.vue b/apps/files/src/components/NavigationQuota.vue index 25bdcde1b450f..3ff8607b0fabe 100644 --- a/apps/files/src/components/NavigationQuota.vue +++ b/apps/files/src/components/NavigationQuota.vue @@ -51,8 +51,8 @@ export default { computed: { storageStatsTitle() { - const usedQuotaByte = formatFileSize(this.storageStats?.used, false, false) - const quotaByte = formatFileSize(this.storageStats?.quota, false, false) + const usedQuotaByte = formatFileSize(this.storageStats?.used, false) + const quotaByte = formatFileSize(this.storageStats?.quota, false) // If no quota set if (this.storageStats?.quota < 0) { diff --git a/apps/settings/lib/Controller/UsersController.php b/apps/settings/lib/Controller/UsersController.php index 13a91ab45ad97..67c67be8b060e 100644 --- a/apps/settings/lib/Controller/UsersController.php +++ b/apps/settings/lib/Controller/UsersController.php @@ -245,7 +245,7 @@ public function usersList(): TemplateResponse { ]; /* QUOTAS PRESETS */ - $quotaPreset = $this->parseQuotaPreset($this->config->getAppValue('files', 'quota_preset', '1 GB, 5 GB, 10 GB')); + $quotaPreset = $this->parseQuotaPreset($this->config->getAppValue('files', 'quota_preset', '1 GiB, 5 GiB, 10 GiB')); $allowUnlimitedQuota = $this->config->getAppValue('files', 'allow_unlimited_quota', '1') === '1'; if (!$allowUnlimitedQuota && count($quotaPreset) > 0) { $defaultQuota = $this->config->getAppValue('files', 'default_quota', $quotaPreset[0]); @@ -307,7 +307,7 @@ public function setPreference(string $key, string $value): JSONResponse { * @return array */ protected function parseQuotaPreset(string $quotaPreset): array { - // 1 GB, 5 GB, 10 GB => [1 GB, 5 GB, 10 GB] + // 1 GiB, 5 GiB, 10 GiB => [1 GiB, 5 GiB, 10 GiB] $presets = array_filter(array_map('trim', explode(',', $quotaPreset))); // Drop default and none, Make array indexes numerically return array_values(array_diff($presets, ['default', 'none'])); diff --git a/core/src/OC/util.js b/core/src/OC/util.js index f0dd7e0ac143e..a9733cbb012ed 100644 --- a/core/src/OC/util.js +++ b/core/src/OC/util.js @@ -25,7 +25,7 @@ import moment from 'moment' import History from './util-history.js' import OC from './index.js' -import { formatFileSize as humanFileSize } from '@nextcloud/files' +import { formatFileSize, parseFileSize } from '@nextcloud/files' /** * @param {any} t - @@ -64,58 +64,20 @@ export default { History, /** - * @deprecated use https://nextcloud.github.io/nextcloud-files/functions/formatFileSize.html + * @deprecated use `formatFileSize` from `@nextcloud/files`, see https://nextcloud-libraries.github.io/nextcloud-files/functions/formatFileSize.html */ - humanFileSize, + humanFileSize: formatFileSize, /** * Returns a file size in bytes from a humanly readable string - * Makes 2kB to 2048. + * Makes 2KiB to 2048. * Inspired by computerFileSize in helper.php * - * @param {string} string file size in human-readable format - * @return {number} or null if string could not be parsed - * - * + * @param {string} value file size in human-readable format + * @param {boolean} forceBinary for backwards compatibility this allows values to be base 2 (so 2KB means 2048 bytes instead of 2000 bytes) + * @deprecated use `parseFileSize` from the `@nextcloud/files` library */ - computerFileSize(string) { - if (typeof string !== 'string') { - return null - } - - const s = string.toLowerCase().trim() - let bytes = null - - const bytesArray = { - b: 1, - k: 1024, - kb: 1024, - mb: 1024 * 1024, - m: 1024 * 1024, - gb: 1024 * 1024 * 1024, - g: 1024 * 1024 * 1024, - tb: 1024 * 1024 * 1024 * 1024, - t: 1024 * 1024 * 1024 * 1024, - pb: 1024 * 1024 * 1024 * 1024 * 1024, - p: 1024 * 1024 * 1024 * 1024 * 1024, - } - - const matches = s.match(/^[\s+]?([0-9]*)(\.([0-9]+))?( +)?([kmgtp]?b?)$/i) - if (matches !== null) { - bytes = parseFloat(s) - if (!isFinite(bytes)) { - return null - } - } else { - return null - } - if (matches[5]) { - bytes = bytes * bytesArray[matches[5]] - } - - bytes = Math.round(bytes) - return bytes - }, + computerFileSize: (value, forceBinary) => parseFileSize(value, forceBinary ?? true), /** * @param {string|number} timestamp timestamp diff --git a/lib/private/Setup.php b/lib/private/Setup.php index f167d19adebb0..d0aaa6c35253e 100644 --- a/lib/private/Setup.php +++ b/lib/private/Setup.php @@ -252,7 +252,7 @@ public function getSystemInfo($allowAllDatabases = false) { $errors[] = [ 'error' => $this->l10n->t( 'It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. ' . - 'This will lead to problems with files over 4 GB and is highly discouraged.', + 'This will lead to problems with files over 4 GiB and is highly discouraged.', [$this->defaults->getProductName()] ), 'hint' => $this->l10n->t('Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP.'), diff --git a/lib/private/User/User.php b/lib/private/User/User.php index 69ef82f3e8599..c8b5001e526df 100644 --- a/lib/private/User/User.php +++ b/lib/private/User/User.php @@ -510,7 +510,7 @@ public function getQuota() { // use the first preset instead $allowUnlimitedQuota = $this->config->getAppValue('files', 'allow_unlimited_quota', '1') === '1'; if (!$allowUnlimitedQuota) { - $presets = $this->config->getAppValue('files', 'quota_preset', '1 GB, 5 GB, 10 GB'); + $presets = $this->config->getAppValue('files', 'quota_preset', '1 GiB, 5 GiB, 10 GiB'); $presets = array_filter(array_map('trim', explode(',', $presets))); $quotaPreset = array_values(array_diff($presets, ['default', 'none'])); if (count($quotaPreset) > 0) { diff --git a/lib/private/legacy/OC_Helper.php b/lib/private/legacy/OC_Helper.php index cf39d045ae900..b22441eac9c98 100644 --- a/lib/private/legacy/OC_Helper.php +++ b/lib/private/legacy/OC_Helper.php @@ -77,7 +77,7 @@ class OC_Helper { * @param int|float $bytes file size in bytes * @return string a human readable file size * - * Makes 2048 to 2 kB. + * Makes 2048 to 2 KiB. */ public static function humanFileSize(int|float $bytes): string { if ($bytes < 0) { @@ -88,58 +88,58 @@ public static function humanFileSize(int|float $bytes): string { } $bytes = round($bytes / 1024, 0); if ($bytes < 1024) { - return "$bytes KB"; + return "$bytes KiB"; } $bytes = round($bytes / 1024, 1); if ($bytes < 1024) { - return "$bytes MB"; + return "$bytes MiB"; } $bytes = round($bytes / 1024, 1); if ($bytes < 1024) { - return "$bytes GB"; + return "$bytes GiB"; } $bytes = round($bytes / 1024, 1); if ($bytes < 1024) { - return "$bytes TB"; + return "$bytes TiB"; } $bytes = round($bytes / 1024, 1); - return "$bytes PB"; + return "$bytes PiB"; } /** * Make a computer file size * @param string $str file size in human readable format + * @param boolean $forceBinary Parse even KB as binary (e.g. 1KB = 1024 byte) * @return false|int|float a file size in bytes * * Makes 2kB to 2048. * * Inspired by: https://www.php.net/manual/en/function.filesize.php#92418 */ - public static function computerFileSize(string $str): false|int|float { + public static function computerFileSize(string $str, bool $forceBinary = true): false|int|float { $str = strtolower($str); if (is_numeric($str)) { return Util::numericToNumber($str); } $bytes_array = [ - 'b' => 1, - 'k' => 1024, - 'kb' => 1024, - 'mb' => 1024 * 1024, - 'm' => 1024 * 1024, - 'gb' => 1024 * 1024 * 1024, - 'g' => 1024 * 1024 * 1024, - 'tb' => 1024 * 1024 * 1024 * 1024, - 't' => 1024 * 1024 * 1024 * 1024, - 'pb' => 1024 * 1024 * 1024 * 1024 * 1024, - 'p' => 1024 * 1024 * 1024 * 1024 * 1024, + '' => 0, + 'k' => 1, + 'm' => 2, + 'g' => 3, + 't' => 4, + 'p' => 5, ]; $bytes = (float)$str; - if (preg_match('#([kmgtp]?b?)$#si', $str, $matches) && !empty($bytes_array[$matches[1]])) { - $bytes *= $bytes_array[$matches[1]]; + // remove bytes from string to only get the suffix + $str = trim(substr($str, strlen((string)$bytes))); + + if (preg_match('#^([kmgtp]?)(i?)b?$#si', $str, $matches)) { + $base = $matches[2] === 'i' || $forceBinary ? 1024 : 1000; + $bytes *= ($base ** $bytes_array[$matches[1]]); } else { return false; } From 23271d5a4fdabc065b8a643c5e2acae407aa0673 Mon Sep 17 00:00:00 2001 From: Ferdinand Thiessen Date: Tue, 26 Sep 2023 11:58:24 +0200 Subject: [PATCH 2/3] fix(tests): Adjust tests for for correct file size unit Signed-off-by: Ferdinand Thiessen --- apps/files/src/views/Navigation.cy.ts | 18 +++--- apps/files/tests/js/filelistSpec.js | 16 ++--- apps/files/tests/js/filesummarySpec.js | 60 +++++++++---------- .../tests/js/mainfileinfodetailviewSpec.js | 2 +- .../tests/Controller/ShareControllerTest.php | 2 +- core/js/tests/specs/coreSpec.js | 21 +++---- tests/lib/LegacyHelperTest.php | 28 ++++++--- tests/lib/User/UserTest.php | 18 +++--- 8 files changed, 88 insertions(+), 77 deletions(-) diff --git a/apps/files/src/views/Navigation.cy.ts b/apps/files/src/views/Navigation.cy.ts index a84a4927bb2e7..cad852096e8f8 100644 --- a/apps/files/src/views/Navigation.cy.ts +++ b/apps/files/src/views/Navigation.cy.ts @@ -13,7 +13,7 @@ describe('Navigation renders', () => { before(() => { cy.mockInitialState('files', 'storageStats', { - used: 1000 * 1000 * 1000, + used: 1024 * 1024 * 1024, quota: -1, }) }) @@ -178,7 +178,7 @@ describe('Quota rendering', () => { it('Unlimited quota', () => { cy.mockInitialState('files', 'storageStats', { - used: 1000 * 1000 * 1000, + used: 1024 * 1024 * 1024, quota: -1, }) @@ -194,14 +194,14 @@ describe('Quota rendering', () => { }) cy.get('[data-cy-files-navigation-settings-quota]').should('be.visible') - cy.get('[data-cy-files-navigation-settings-quota]').should('contain.text', '1 GB used') + cy.get('[data-cy-files-navigation-settings-quota]').should('contain.text', '1 GiB used') cy.get('[data-cy-files-navigation-settings-quota] progress').should('not.exist') }) it('Non-reached quota', () => { cy.mockInitialState('files', 'storageStats', { - used: 1000 * 1000 * 1000, - quota: 5 * 1000 * 1000 * 1000, + used: 1024 * 1024 * 1024, + quota: 5 * 1024 * 1024 * 1024, relative: 20, // percent }) @@ -217,15 +217,15 @@ describe('Quota rendering', () => { }) cy.get('[data-cy-files-navigation-settings-quota]').should('be.visible') - cy.get('[data-cy-files-navigation-settings-quota]').should('contain.text', '1 GB of 5 GB used') + cy.get('[data-cy-files-navigation-settings-quota]').should('contain.text', '1 GiB of 5 GiB used') cy.get('[data-cy-files-navigation-settings-quota] progress').should('be.visible') cy.get('[data-cy-files-navigation-settings-quota] progress').should('have.attr', 'value', '20') }) it('Reached quota', () => { cy.mockInitialState('files', 'storageStats', { - used: 5 * 1000 * 1000 * 1000, - quota: 1000 * 1000 * 1000, + used: 5 * 1024 * 1024 * 1024, + quota: 1024 * 1024 * 1024, relative: 500, // percent }) @@ -241,7 +241,7 @@ describe('Quota rendering', () => { }) cy.get('[data-cy-files-navigation-settings-quota]').should('be.visible') - cy.get('[data-cy-files-navigation-settings-quota]').should('contain.text', '5 GB of 1 GB used') + cy.get('[data-cy-files-navigation-settings-quota]').should('contain.text', '5 GiB of 1 GiB used') cy.get('[data-cy-files-navigation-settings-quota] progress').should('be.visible') cy.get('[data-cy-files-navigation-settings-quota] progress').should('have.attr', 'value', '100') // progress max is 100 }) diff --git a/apps/files/tests/js/filelistSpec.js b/apps/files/tests/js/filelistSpec.js index f2caa17697329..38f6b264c92ba 100644 --- a/apps/files/tests/js/filelistSpec.js +++ b/apps/files/tests/js/filelistSpec.js @@ -253,7 +253,7 @@ describe('OCA.Files.FileList tests', function() { .toEqual(OC.getRootPath() + '/remote.php/webdav/subdir/testName.txt'); expect($tr.find('.nametext').text().trim()).toEqual('testName.txt'); - expect($tr.find('.filesize').text()).toEqual('1 KB'); + expect($tr.find('.filesize').text()).toEqual('1 KiB'); expect($tr.find('.date').text()).not.toEqual('?'); expect(fileList.findFileEl('testName.txt')[0]).toEqual($tr[0]); }); @@ -307,7 +307,7 @@ describe('OCA.Files.FileList tests', function() { expect($tr.attr('data-mtime')).toEqual('123456'); expect($tr.attr('data-e2eencrypted')).toEqual('false'); - expect($tr.find('.filesize').text()).toEqual('1 KB'); + expect($tr.find('.filesize').text()).toEqual('1 KiB'); expect($tr.find('.date').text()).not.toEqual('?'); expect(fileList.findFileEl('testFolder')[0]).toEqual($tr[0]); @@ -380,7 +380,7 @@ describe('OCA.Files.FileList tests', function() { size: '0' }; var $tr = fileList.add(fileData); - expect($tr.find('.filesize').text()).toEqual('0 KB'); + expect($tr.find('.filesize').text()).toEqual('0 KiB'); }); it('generates file element with unknown date when mtime invalid', function() { var fileData = { @@ -539,7 +539,7 @@ describe('OCA.Files.FileList tests', function() { expect($summary.find('.fileinfo').text()).toEqual('2 files'); expect($summary.find('.dirinfo').hasClass('hidden')).toEqual(false); expect($summary.find('.fileinfo').hasClass('hidden')).toEqual(false); - expect($summary.find('.filesize').text()).toEqual('70 KB'); + expect($summary.find('.filesize').text()).toEqual('69 KiB'); expect(fileList.isEmpty).toEqual(false); }); it('Shows empty content when removing last file', function() { @@ -609,7 +609,7 @@ describe('OCA.Files.FileList tests', function() { expect($summary.find('.fileinfo').text()).toEqual('1 file'); expect($summary.find('.dirinfo').hasClass('hidden')).toEqual(false); expect($summary.find('.fileinfo').hasClass('hidden')).toEqual(false); - expect($summary.find('.filesize').text()).toEqual('58 KB'); + expect($summary.find('.filesize').text()).toEqual('57 KiB'); expect(fileList.isEmpty).toEqual(false); expect($('.files-filestable thead th').hasClass('hidden')).toEqual(false); expect($('.emptyfilelist.emptycontent').hasClass('hidden')).toEqual(true); @@ -959,7 +959,7 @@ describe('OCA.Files.FileList tests', function() { // folder size has increased expect(fileList.findFileEl('somedir').data('size')).toEqual(12311); - expect(fileList.findFileEl('somedir').find('.filesize').text()).toEqual('12 KB'); + expect(fileList.findFileEl('somedir').find('.filesize').text()).toEqual('12 KiB'); expect(notificationStub.notCalled).toEqual(true); }).then(done, done); @@ -1062,7 +1062,7 @@ describe('OCA.Files.FileList tests', function() { // folder size has increased expect(fileList.findFileEl('somedir').data('size')).toEqual(12311); - expect(fileList.findFileEl('somedir').find('.filesize').text()).toEqual('12 KB'); + expect(fileList.findFileEl('somedir').find('.filesize').text()).toEqual('12 KiB'); expect(notificationStub.notCalled).toEqual(false); }).then(done, done); @@ -1138,7 +1138,7 @@ describe('OCA.Files.FileList tests', function() { expect($summary.hasClass('hidden')).toEqual(false); expect($summary.find('.dirinfo').text()).toEqual('1 folder'); expect($summary.find('.fileinfo').text()).toEqual('3 files'); - expect($summary.find('.filesize').text()).toEqual('70 KB'); + expect($summary.find('.filesize').text()).toEqual('69 KiB'); }); it('shows headers, summary and hide empty content message after setting files', function(){ fileList.setFiles(testFiles); diff --git a/apps/files/tests/js/filesummarySpec.js b/apps/files/tests/js/filesummarySpec.js index 22c95abd30772..7469e93fad156 100644 --- a/apps/files/tests/js/filesummarySpec.js +++ b/apps/files/tests/js/filesummarySpec.js @@ -39,12 +39,12 @@ describe('OCA.Files.FileSummary tests', function() { s.setSummary({ totalDirs: 5, totalFiles: 2, - totalSize: 256000 + totalSize: 256*1024, }); expect($container.hasClass('hidden')).toEqual(false); expect($container.find('.dirinfo').text()).toEqual('5 folders'); expect($container.find('.fileinfo').text()).toEqual('2 files'); - expect($container.find('.filesize').text()).toEqual('256 KB'); + expect($container.find('.filesize').text()).toEqual('256 KiB'); }); it('hides summary when no files or folders', function() { var s = new FileSummary($container); @@ -60,36 +60,36 @@ describe('OCA.Files.FileSummary tests', function() { s.setSummary({ totalDirs: 5, totalFiles: 2, - totalSize: 256000 + totalSize: 256*1024 }); - s.add({type: 'file', size: 256000}); + s.add({type: 'file', size: 256*1024}); s.add({type: 'dir', size: 100}); s.update(); expect($container.hasClass('hidden')).toEqual(false); expect($container.find('.dirinfo').text()).toEqual('6 folders'); expect($container.find('.fileinfo').text()).toEqual('3 files'); - expect($container.find('.filesize').text()).toEqual('512 KB'); + expect($container.find('.filesize').text()).toEqual('512 KiB'); expect(s.summary.totalDirs).toEqual(6); expect(s.summary.totalFiles).toEqual(3); - expect(s.summary.totalSize).toEqual(512100); + expect(s.summary.totalSize).toEqual(512*1024 + 100); }); it('decreases summary when removing files', function() { var s = new FileSummary($container); s.setSummary({ totalDirs: 5, totalFiles: 2, - totalSize: 256000 + totalSize: 256*1024 }); - s.remove({type: 'file', size: 128000}); + s.remove({type: 'file', size: 128*1024}); s.remove({type: 'dir', size: 100}); s.update(); expect($container.hasClass('hidden')).toEqual(false); expect($container.find('.dirinfo').text()).toEqual('4 folders'); expect($container.find('.fileinfo').text()).toEqual('1 file'); - expect($container.find('.filesize').text()).toEqual('128 KB'); + expect($container.find('.filesize').text()).toEqual('128 KiB'); expect(s.summary.totalDirs).toEqual(4); expect(s.summary.totalFiles).toEqual(1); - expect(s.summary.totalSize).toEqual(127900); + expect(s.summary.totalSize).toEqual(128*1024 - 100); }); it('renders filtered summary as text', function() { @@ -97,14 +97,14 @@ describe('OCA.Files.FileSummary tests', function() { s.setSummary({ totalDirs: 5, totalFiles: 2, - totalSize: 256000, + totalSize: 256*1024, filter: 'foo' }); expect($container.hasClass('hidden')).toEqual(false); expect($container.find('.dirinfo').text()).toEqual('5 folders'); expect($container.find('.fileinfo').text()).toEqual('2 files'); expect($container.find('.filter').text()).toEqual(' match "foo"'); - expect($container.find('.filesize').text()).toEqual('256 KB'); + expect($container.find('.filesize').text()).toEqual('256 KiB'); }); it('hides filtered summary when no files or folders', function() { var s = new FileSummary($container); @@ -121,11 +121,11 @@ describe('OCA.Files.FileSummary tests', function() { s.setSummary({ totalDirs: 5, totalFiles: 2, - totalSize: 256000, + totalSize: 256*1024, filter: 'foo' }); - s.add({name: 'bar.txt', type: 'file', size: 256000}); - s.add({name: 'foo.txt', type: 'file', size: 256001}); + s.add({name: 'bar.txt', type: 'file', size: 256*1024}); + s.add({name: 'foo.txt', type: 'file', size: 256*1024 + 1}); s.add({name: 'bar', type: 'dir', size: 100}); s.add({name: 'foo', type: 'dir', size: 102}); s.update(); @@ -133,21 +133,21 @@ describe('OCA.Files.FileSummary tests', function() { expect($container.find('.dirinfo').text()).toEqual('6 folders'); expect($container.find('.fileinfo').text()).toEqual('3 files'); expect($container.find('.filter').text()).toEqual(' match "foo"'); - expect($container.find('.filesize').text()).toEqual('512 KB'); + expect($container.find('.filesize').text()).toEqual('512 KiB'); expect(s.summary.totalDirs).toEqual(6); expect(s.summary.totalFiles).toEqual(3); - expect(s.summary.totalSize).toEqual(512103); + expect(s.summary.totalSize).toEqual(512*1024 + 1 + 102); }); it('decreases filtered summary when removing files', function() { var s = new FileSummary($container); s.setSummary({ totalDirs: 5, totalFiles: 2, - totalSize: 256000, + totalSize: 256*1024, filter: 'foo' }); - s.remove({name: 'bar.txt', type: 'file', size: 128000}); - s.remove({name: 'foo.txt', type: 'file', size: 127999}); + s.remove({name: 'bar.txt', type: 'file', size: 128*1024}); + s.remove({name: 'foo.txt', type: 'file', size: 128*1024 - 1}); s.remove({name: 'bar', type: 'dir', size: 100}); s.remove({name: 'foo', type: 'dir', size: 98}); s.update(); @@ -155,10 +155,10 @@ describe('OCA.Files.FileSummary tests', function() { expect($container.find('.dirinfo').text()).toEqual('4 folders'); expect($container.find('.fileinfo').text()).toEqual('1 file'); expect($container.find('.filter').text()).toEqual(' match "foo"'); - expect($container.find('.filesize').text()).toEqual('128 KB'); + expect($container.find('.filesize').text()).toEqual('128 KiB'); expect(s.summary.totalDirs).toEqual(4); expect(s.summary.totalFiles).toEqual(1); - expect(s.summary.totalSize).toEqual(127903); + expect(s.summary.totalSize).toEqual(256*1024 - (128*1024 - 1) - 98); }); it('properly sum up pending folder sizes after adding', function() { var s = new FileSummary($container); @@ -206,41 +206,41 @@ describe('OCA.Files.FileSummary tests', function() { it('renders hidden count section when hidden files are hidden', function() { window._nc_event_bus.emit('files:config:updated', { key: 'show_hidden', value: false }); - summary.add({name: 'abc', type: 'file', size: 256000}); + summary.add({name: 'abc', type: 'file', size: 256*1024}); summary.add({name: 'def', type: 'dir', size: 100}); - summary.add({name: '.hidden', type: 'dir', size: 512000}); + summary.add({name: '.hidden', type: 'dir', size: 512*1024}); summary.update(); expect($container.hasClass('hidden')).toEqual(false); expect($container.find('.dirinfo').text()).toEqual('2 folders'); expect($container.find('.fileinfo').text()).toEqual('1 file'); expect($container.find('.hiddeninfo').hasClass('hidden')).toEqual(false); expect($container.find('.hiddeninfo').text()).toEqual(' (including 1 hidden)'); - expect($container.find('.filesize').text()).toEqual('768 KB'); + expect($container.find('.filesize').text()).toEqual('768 KiB'); }); it('does not render hidden count section when hidden files exist but are visible', function() { window._nc_event_bus.emit('files:config:updated', { key: 'show_hidden', value: true }); - summary.add({name: 'abc', type: 'file', size: 256000}); + summary.add({name: 'abc', type: 'file', size: 256*1024}); summary.add({name: 'def', type: 'dir', size: 100}); - summary.add({name: '.hidden', type: 'dir', size: 512000}); + summary.add({name: '.hidden', type: 'dir', size: 512*1024}); summary.update(); expect($container.hasClass('hidden')).toEqual(false); expect($container.find('.dirinfo').text()).toEqual('2 folders'); expect($container.find('.fileinfo').text()).toEqual('1 file'); expect($container.find('.hiddeninfo').hasClass('hidden')).toEqual(true); - expect($container.find('.filesize').text()).toEqual('768 KB'); + expect($container.find('.filesize').text()).toEqual('768 KiB'); }); it('does not render hidden count section when no hidden files exist', function() { window._nc_event_bus.emit('files:config:updated', { key: 'show_hidden', value: false }); - summary.add({name: 'abc', type: 'file', size: 256000}); + summary.add({name: 'abc', type: 'file', size: 256*1024}); summary.add({name: 'def', type: 'dir', size: 100}); summary.update(); expect($container.hasClass('hidden')).toEqual(false); expect($container.find('.dirinfo').text()).toEqual('1 folder'); expect($container.find('.fileinfo').text()).toEqual('1 file'); expect($container.find('.hiddeninfo').hasClass('hidden')).toEqual(true); - expect($container.find('.filesize').text()).toEqual('256 KB'); + expect($container.find('.filesize').text()).toEqual('256 KiB'); }); }); }); diff --git a/apps/files/tests/js/mainfileinfodetailviewSpec.js b/apps/files/tests/js/mainfileinfodetailviewSpec.js index b63c36199a662..67c758a61dfa1 100644 --- a/apps/files/tests/js/mainfileinfodetailviewSpec.js +++ b/apps/files/tests/js/mainfileinfodetailviewSpec.js @@ -62,7 +62,7 @@ describe('OCA.Files.MainFileInfoDetailView tests', function() { view.setFileInfo(testFileInfo); expect(view.$el.find('.fileName h3').text()).toEqual('One.txt'); expect(view.$el.find('.fileName h3').attr('title')).toEqual('One.txt'); - expect(view.$el.find('.size').text()).toEqual('123.5 MB'); + expect(view.$el.find('.size').text()).toEqual('117.7 MiB'); expect(view.$el.find('.size').attr('title')).toEqual('123456789 bytes'); expect(view.$el.find('.date').text()).toEqual('seconds ago'); expect(view.$el.find('.date').attr('title')).toEqual(dateExpected); diff --git a/apps/files_sharing/tests/Controller/ShareControllerTest.php b/apps/files_sharing/tests/Controller/ShareControllerTest.php index 2a9ab1a3b08cc..46912294f5382 100644 --- a/apps/files_sharing/tests/Controller/ShareControllerTest.php +++ b/apps/files_sharing/tests/Controller/ShareControllerTest.php @@ -801,7 +801,7 @@ public function testShareFileDrop() { 'protected' => 'false', 'dir' => null, 'downloadURL' => '', - 'fileSize' => '1 KB', + 'fileSize' => '1 KiB', 'nonHumanFileSize' => 1337, 'maxSizeAnimateGif' => null, 'previewSupported' => null, diff --git a/core/js/tests/specs/coreSpec.js b/core/js/tests/specs/coreSpec.js index 93d282c5d5e36..dca0b66fe460e 100644 --- a/core/js/tests/specs/coreSpec.js +++ b/core/js/tests/specs/coreSpec.js @@ -318,13 +318,14 @@ describe('Core base tests', function() { ['125.25 B', 125], ['0 B', 0], ['99999999999999999999999999999999999999999999 B', 99999999999999999999999999999999999999999999], - ['0 MB', 0], + ['0 MiB', 0], ['0 kB', 0], ['0kB', 0], ['125 B', 125], ['125b', 125], - ['125 KB', 128000], + ['125 KiB', 128000], ['125kb', 128000], + ['122.1 MiB', 128031130], ['122.1 MB', 128031130], ['122.1mb', 128031130], ['119.2 GB', 127990025421], @@ -332,17 +333,17 @@ describe('Core base tests', function() { ['116.4 TB', 127983153473126], ['116.4tb', 127983153473126], ['8776656778888777655.4tb', 9.650036181387265e+30], - [1234, null], + [1234, 1234], [-1234, null], ['-1234 B', null], ['B', null], ['40/0', null], - ['40,30 kb', null], - [' 122.1 MB ', 128031130], - ['122.1 MB ', 128031130], - [' 122.1 MB ', 128031130], - [' 122.1 MB ', 128031130], - ['122.1 MB ', 128031130], + ['40,30 kb', 41267], + [' 122.1 MiB ', 128031130], + ['122.1 MiB ', 128031130], + [' 122.1 MiB ', 128031130], + [' 122.1 MiB ', 128031130], + ['122.1 MiB ', 128031130], [' 125', 125], [' 125 ', 125], ]; @@ -352,7 +353,7 @@ describe('Core base tests', function() { }); it('returns null if the parameter is not a string', function() { expect(OC.Util.computerFileSize(NaN)).toEqual(null); - expect(OC.Util.computerFileSize(125)).toEqual(null); + expect(OC.Util.computerFileSize(true)).toEqual(null); }); it('returns null if the string is unparsable', function() { expect(OC.Util.computerFileSize('')).toEqual(null); diff --git a/tests/lib/LegacyHelperTest.php b/tests/lib/LegacyHelperTest.php index 08380dd50c94e..ffa5508845294 100644 --- a/tests/lib/LegacyHelperTest.php +++ b/tests/lib/LegacyHelperTest.php @@ -35,31 +35,41 @@ public function testHumanFileSize($expected, $input) { public function humanFileSizeProvider() { return [ ['0 B', 0], - ['1 KB', 1024], - ['9.5 MB', 10000000], - ['1.3 GB', 1395864371], - ['465.7 GB', 500000000000], - ['454.7 TB', 500000000000000], - ['444.1 PB', 500000000000000000], + ['1 KiB', 1024], + ['9.5 MiB', 10000000], + ['1.3 GiB', 1395864371], + ['465.7 GiB', 500000000000], + ['454.7 TiB', 500000000000000], + ['444.1 PiB', 500000000000000000], ]; } /** * @dataProvider providesComputerFileSize */ - public function testComputerFileSize($expected, $input) { - $result = OC_Helper::computerFileSize($input); + public function testComputerFileSize($expected, $input, $forceBinary = true) { + $result = OC_Helper::computerFileSize($input, $forceBinary); $this->assertEquals($expected, $result); } public function providesComputerFileSize() { return [ + // expected, input, forceBianry (defaults to true) [0.0, "0 B"], + [0.0, "0"], + [1024.0, "1 KiB"], [1024.0, "1 KB"], + [1000.0, "1 KB", false], + [1395864371.0, '1.3 GiB'], [1395864371.0, '1.3 GB'], + [1300000000.0, '1.3 GB', false], + [9961472.0, "9.5 MiB"], [9961472.0, "9.5 MB"], + [9500000.0, "9.5 MB", false], + [500041567437.0, "465.7 GiB"], [500041567437.0, "465.7 GB"], - [false, "12 GB etfrhzui"] + [465700000000.0, "465.7 GB", false], + [false, "12 GB etfrhzui"], ]; } diff --git a/tests/lib/User/UserTest.php b/tests/lib/User/UserTest.php index 806cb094066cf..f60d36cbe242a 100644 --- a/tests/lib/User/UserTest.php +++ b/tests/lib/User/UserTest.php @@ -735,7 +735,7 @@ public function testSetQuota() { $hook = function (IUser $user, $feature, $value) use ($test, &$hooksCalled) { $hooksCalled++; $test->assertEquals('quota', $feature); - $test->assertEquals('23 TB', $value); + $test->assertEquals('23 TiB', $value); }; $emitter = new PublicEmitter(); @@ -748,11 +748,11 @@ public function testSetQuota() { 'foo', 'files', 'quota', - '23 TB' + '23 TiB' ); $user = new User('foo', $backend, $this->dispatcher, $emitter, $config); - $user->setQuota('23 TB'); + $user->setQuota('23 TiB'); } public function testGetDefaultUnlimitedQuota() { @@ -807,9 +807,9 @@ public function testGetDefaultUnlimitedQuotaForbidden() { ['files', 'default_quota', 'none', 'none'], // do not allow unlimited quota ['files', 'allow_unlimited_quota', '1', '0'], - ['files', 'quota_preset', '1 GB, 5 GB, 10 GB', '1 GB, 5 GB, 10 GB'], - // expect seeing 1 GB used as fallback value - ['files', 'default_quota', '1 GB', '1 GB'], + ['files', 'quota_preset', '1 GiB, 5 GiB, 10 GiB', '1 GiB, 5 GiB, 10 GiB'], + // expect seeing 1 GiB used as fallback value + ['files', 'default_quota', '1 GiB', '1 GiB'], ]; $config->method('getUserValue') ->will($this->returnValueMap($userValueMap)); @@ -817,7 +817,7 @@ public function testGetDefaultUnlimitedQuotaForbidden() { ->will($this->returnValueMap($appValueMap)); $quota = $user->getQuota(); - $this->assertEquals('1 GB', $quota); + $this->assertEquals('1 GiB', $quota); } public function testSetQuotaAddressNoChange() { @@ -834,12 +834,12 @@ public function testSetQuotaAddressNoChange() { $config = $this->createMock(IConfig::class); $config->expects($this->any()) ->method('getUserValue') - ->willReturn('23 TB'); + ->willReturn('23 TiB'); $config->expects($this->never()) ->method('setUserValue'); $user = new User('foo', $backend, $this->dispatcher, $emitter, $config); - $user->setQuota('23 TB'); + $user->setQuota('23 TiB'); } public function testGetLastLogin() { From aad8513adcd5850b6186a8acd03b8b34a6a6714f Mon Sep 17 00:00:00 2001 From: Ferdinand Thiessen Date: Wed, 11 Oct 2023 15:13:24 +0200 Subject: [PATCH 3/3] chore: Compile assets Signed-off-by: Ferdinand Thiessen --- dist/3245-3245.js | 4 ++-- dist/3245-3245.js.map | 2 +- dist/comments-comments-app.js | 4 ++-- dist/comments-comments-app.js.map | 2 +- dist/core-login.js | 4 ++-- dist/core-login.js.map | 2 +- dist/core-main.js | 4 ++-- dist/core-main.js.map | 2 +- dist/core-profile.js | 4 ++-- dist/core-profile.js.map | 2 +- dist/core-unified-search.js | 4 ++-- dist/core-unified-search.js.map | 2 +- dist/dav-settings-personal-availability.js | 4 ++-- dist/dav-settings-personal-availability.js.map | 2 +- dist/federatedfilesharing-vue-settings-admin.js | 4 ++-- dist/federatedfilesharing-vue-settings-admin.js.map | 2 +- dist/federatedfilesharing-vue-settings-personal.js | 4 ++-- dist/federatedfilesharing-vue-settings-personal.js.map | 2 +- dist/files-init.js | 4 ++-- dist/files-init.js.map | 2 +- dist/files-main.js | 4 ++-- dist/files-main.js.map | 2 +- dist/files-personal-settings.js | 4 ++-- dist/files-personal-settings.js.map | 2 +- dist/files-reference-files.js | 4 ++-- dist/files-reference-files.js.map | 2 +- dist/files-sidebar.js | 4 ++-- dist/files-sidebar.js.map | 2 +- dist/files_external-init.js | 4 ++-- dist/files_external-init.js.map | 2 +- dist/files_reminders-main.js | 4 ++-- dist/files_reminders-main.js.map | 2 +- dist/files_sharing-files_sharing_tab.js | 4 ++-- dist/files_sharing-files_sharing_tab.js.map | 2 +- dist/files_sharing-personal-settings.js | 4 ++-- dist/files_sharing-personal-settings.js.map | 2 +- dist/files_versions-files_versions.js | 4 ++-- dist/files_versions-files_versions.js.map | 2 +- dist/settings-vue-settings-admin-basic-settings.js | 4 ++-- dist/settings-vue-settings-admin-basic-settings.js.map | 2 +- dist/settings-vue-settings-admin-delegation.js | 4 ++-- dist/settings-vue-settings-admin-delegation.js.map | 2 +- dist/settings-vue-settings-admin-security.js | 4 ++-- dist/settings-vue-settings-admin-security.js.map | 2 +- dist/settings-vue-settings-apps-users-management.js | 4 ++-- dist/settings-vue-settings-apps-users-management.js.map | 2 +- dist/settings-vue-settings-personal-info.js | 4 ++-- dist/settings-vue-settings-personal-info.js.map | 2 +- dist/settings-vue-settings-personal-password.js | 4 ++-- dist/settings-vue-settings-personal-password.js.map | 2 +- dist/settings-vue-settings-personal-security.js | 4 ++-- dist/settings-vue-settings-personal-security.js.map | 2 +- dist/sharebymail-vue-settings-admin-sharebymail.js | 4 ++-- dist/sharebymail-vue-settings-admin-sharebymail.js.map | 2 +- dist/theming-personal-theming.js | 4 ++-- dist/theming-personal-theming.js.map | 2 +- dist/updatenotification-updatenotification.js | 4 ++-- dist/updatenotification-updatenotification.js.map | 2 +- dist/user_status-menu.js | 4 ++-- dist/user_status-menu.js.map | 2 +- dist/weather_status-weather-status.js | 4 ++-- dist/weather_status-weather-status.js.map | 2 +- dist/workflowengine-workflowengine.js | 4 ++-- dist/workflowengine-workflowengine.js.map | 2 +- 64 files changed, 96 insertions(+), 96 deletions(-) diff --git a/dist/3245-3245.js b/dist/3245-3245.js index 637bfbdd8736f..5cca85bdf6377 100644 --- a/dist/3245-3245.js +++ b/dist/3245-3245.js @@ -1,2 +1,2 @@ -(self.webpackChunknextcloud=self.webpackChunknextcloud||[]).push([[3245,6318],{42761:function(t){"use strict";t.exports="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTS00LTRoMjR2MjRILTRWLTR6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTggMEMzLjYgMCAwIDMuNiAwIDhzMy42IDggOCA4IDgtMy42IDgtOC0zLjYtOC04LTh6IiBmaWxsPSIjZWQ0ODRjIi8+PHBhdGggZD0iTTUgNi41aDZjLjggMCAxLjUuNyAxLjUgMS41cy0uNyAxLjUtMS41IDEuNUg1Yy0uOCAwLTEuNS0uNy0xLjUtMS41UzQuMiA2LjUgNSA2LjV6IiBmaWxsPSIjZmRmZmZmIi8+PC9zdmc+Cg=="},87210:function(t){"use strict";t.exports="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTQuOCAxMS4yaDYuNFY0LjhINC44djYuNHpNOCAwQzMuNiAwIDAgMy42IDAgOHMzLjYgOCA4IDggOC0zLjYgOC04LTMuNi04LTgtOHoiIGZpbGw9IiM0OWIzODIiLz48L3N2Zz4K"},94659:function(t){"use strict";t.exports="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTS00LTRoMjR2MjRILTR6Ii8+PHBhdGggZD0iTTYuOS4xQzMgLjYtLjEgNC0uMSA4YzAgNC40IDMuNiA4IDggOCA0IDAgNy40LTMgOC02LjktMS4yIDEuMy0yLjkgMi4xLTQuNyAyLjEtMy41IDAtNi40LTIuOS02LjQtNi40IDAtMS45LjgtMy42IDIuMS00Ljd6IiBmaWxsPSIjZjRhMzMxIi8+PC9zdmc+Cg=="},11530:function(t){"use strict";t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2QyZDJkMiI+PHBhdGggZD0iTTE1LjQgMTYuNkwxMC44IDEybDQuNi00LjZMMTQgNmwtNiA2IDYgNiAxLjQtMS40eiIvPjwvc3ZnPg=="},71124:function(t){"use strict";t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2QyZDJkMiI+PHBhdGggZD0iTTE4LjQgNy40TDE3IDZsLTYgNiA2IDYgMS40LTEuNC00LjYtNC42IDQuNi00LjZtLTYgMEwxMSA2bC02IDYgNiA2IDEuNC0xLjRMNy44IDEybDQuNi00LjZ6Ii8+PC9zdmc+"},48461:function(t){"use strict";t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2QyZDJkMiI+PHBhdGggZD0iTTUuNiA3LjRMNyA2bDYgNi02IDYtMS40LTEuNCA0LjYtNC42LTQuNi00LjZtNiAwTDEzIDZsNiA2LTYgNi0xLjQtMS40IDQuNi00LjYtNC42LTQuNnoiLz48L3N2Zz4="},23427:function(t){"use strict";t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2QyZDJkMiI+PHBhdGggZD0iTTguNiAxNi42bDQuNi00LjYtNC42LTQuNkwxMCA2bDYgNi02IDYtMS40LTEuNHoiLz48L3N2Zz4="},39896:function(t){"use strict";t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTE1LjQgMTYuNkwxMC44IDEybDQuNi00LjZMMTQgNmwtNiA2IDYgNiAxLjQtMS40eiIvPjwvc3ZnPg=="},76899:function(t){"use strict";t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTE4LjQgNy40TDE3IDZsLTYgNiA2IDYgMS40LTEuNC00LjYtNC42IDQuNi00LjZtLTYgMEwxMSA2bC02IDYgNiA2IDEuNC0xLjRMNy44IDEybDQuNi00LjZ6Ii8+PC9zdmc+"},88931:function(t){"use strict";t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTUuNiA3LjRMNyA2bDYgNi02IDYtMS40LTEuNCA0LjYtNC42LTQuNi00LjZtNiAwTDEzIDZsNiA2LTYgNi0xLjQtMS40IDQuNi00LjYtNC42LTQuNnoiLz48L3N2Zz4="},16556:function(t){"use strict";t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTguNiAxNi42bDQuNi00LjYtNC42LTQuNkwxMCA2bDYgNi02IDYtMS40LTEuNHoiLz48L3N2Zz4="},24654:function(){},52361:function(){},94616:function(){},66814:function(t,e,i){"use strict";i.r(e),i.d(e,{default:function(){return P}});var n=i(20144),r=i(64882),s=i(9568),o=i(64886),a=i(5656),l=i(31352),c=i(62520),u=i(6888),d=i(79753),p=i(74139);function f(t,e,i,n,r,s,o,a){var l,c="function"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=i,c._compiled=!0),n&&(c.functional=!0),s&&(c._scopeId="data-v-"+s),o?(l=function(t){!(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)&&typeof __VUE_SSR_CONTEXT__<"u"&&(t=__VUE_SSR_CONTEXT__),r&&r.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},c._ssrRegister=l):r&&(l=a?function(){r.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:r),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(t,e){return l.call(e),u(t,e)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:t,options:c}}const h=f({name:"FileIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon file-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,m=f((0,n.defineComponent)({__name:"DialogButton",props:{callback:null,label:null,icon:{default:void 0},type:{default:"secondary"}},emits:["click"],setup(t,{emit:e}){const i=t;return{__sfc:!0,props:i,emit:e,handleClick:t=>{var n;null==(n=i.callback)||n.call(i),e("click",t)},NcButton:r.P2,NcIconSvgWrapper:r.FK}}}),(function(){var t=this,e=t._self._c,i=t._self._setupProxy;return e(i.NcButton,{attrs:{"aria-label":i.props.label,type:i.props.type},on:{click:i.handleClick},scopedSlots:t._u([void 0!==i.props.icon?{key:"icon",fn:function(){return["string"==typeof i.props.icon?e(i.NcIconSvgWrapper,{attrs:{svg:i.props.icon}}):e(i.props.icon,{tag:"component",attrs:{size:20}})]},proxy:!0}:null],null,!0)},[t._v(" "+t._s(i.props.label)+" ")])}),[],!1,null,null,null,null).exports,g=f((0,n.defineComponent)({__name:"DialogBase",props:{name:null,message:{default:""},additionalTrapElements:{default:()=>[]},container:{default:void 0},size:{default:"small"},buttons:{default:()=>[]},navigationClasses:{default:()=>[]},contentClasses:{default:()=>[]},dialogClasses:{default:()=>[]}},emits:["close"],setup(t,{emit:e}){const i=t,o=(0,n.useSlots)(),a=(0,n.ref)(),{width:l}=(0,s.h4X)(a),c=(0,n.computed)((()=>l.value<876)),u=(0,n.computed)((()=>void 0!==(null==o?void 0:o.navigation))),d=(0,n.ref)(!0),p=(0,n.computed)((()=>({additionalTrapElements:i.additionalTrapElements,container:void 0===i.container?"body":i.container,name:i.name,size:i.size,enableSlideshow:!1,enableSwipe:!1})));return{__sfc:!0,props:i,emit:e,slots:o,wrapper:a,dialogWidth:l,isNavigationCollapsed:c,hasNavigation:u,open:d,handleClose:()=>{d.value=!1,e("close")},modalProps:p,NcModal:r.Jc,DialogButton:m}}}),(function(){var t=this,e=t._self._c,i=t._self._setupProxy;return i.open?e(i.NcModal,t._b({staticClass:"dialog__modal",on:{close:i.handleClose}},"NcModal",i.modalProps,!1),[e("h2",{staticClass:"dialog__name",domProps:{textContent:t._s(t.name)}}),e("div",{staticClass:"dialog",class:t.dialogClasses},[e("div",{ref:"wrapper",class:["dialog__wrapper",{"dialog__wrapper--collapsed":i.isNavigationCollapsed}]},[i.hasNavigation?e("nav",{staticClass:"dialog__navigation",class:t.navigationClasses},[t._t("navigation",null,{isCollapsed:i.isNavigationCollapsed})],2):t._e(),e("div",{staticClass:"dialog__content",class:t.contentClasses},[t._t("default",(function(){return[e("p",[t._v(t._s(i.props.message))])]}))],2)]),e("div",{staticClass:"dialog__actions"},[t._t("actions",(function(){return t._l(i.props.buttons,(function(n,r){return e(i.DialogButton,t._b({key:r,on:{click:i.handleClose}},"DialogButton",n,!1))}))}))],2)])]):t._e()}),[],!1,null,"d17575ed",null,null).exports,v=f({name:"MenuDownIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon menu-down-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M7,10L12,15L17,10H7Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,y=f({name:"MenuUpIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon menu-up-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M7,15L12,10L17,15H7Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,w={"file-picker__file-icon":"_file-picker__file-icon_1vgv4_5"},_=f((0,n.defineComponent)({__name:"LoadingTableRow",props:{showCheckbox:{type:Boolean}},setup(t){return{__sfc:!0,fileListIconStyles:w}}}),(function(){var t=this,e=t._self._c,i=t._self._setupProxy;return e("tr",{staticClass:"file-picker__row loading-row",attrs:{"aria-hidden":"true"}},[t.showCheckbox?e("td",{staticClass:"row-checkbox"},[e("span")]):t._e(),e("td",{staticClass:"row-name"},[e("div",{staticClass:"row-wrapper"},[e("span",{class:i.fileListIconStyles["file-picker__file-icon"]}),e("span")])]),t._m(0),t._m(1)])}),[function(){var t=this._self._c;return this._self._setupProxy,t("td",{staticClass:"row-size"},[t("span")])},function(){var t=this._self._c;return this._self._setupProxy,t("td",{staticClass:"row-modified"},[t("span")])}],!1,null,"6aded0d9",null,null).exports,b=f({name:"FolderIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon folder-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,x=f((0,n.defineComponent)({__name:"FilePreview",props:{node:null},setup(t){const e=t,i=(0,n.ref)(w),{previewURL:r}=((t,e)=>{const i=(0,n.ref)(null);return(0,n.watchEffect)((()=>{i.value=function(t,e={}){var i;e={size:32,cropPreview:!1,mimeFallback:!0,...e};try{const n=(null==(i=t.attributes)?void 0:i.previewUrl)||(0,d.generateUrl)("/core/preview?fileId={fileid}",{fileid:t.fileid});let r;try{r=new URL(n)}catch{r=new URL(n,window.location.origin)}return r.searchParams.set("x","".concat(e.size)),r.searchParams.set("y","".concat(e.size)),r.searchParams.set("mimeFallback","".concat(e.mimeFallback)),r.searchParams.set("a",!0===e.cropPreview?"0":"1"),r}catch{return null}}((0,o.Tn)(t),(0,o.Tn)(e||{}))})),{previewURL:i}})((0,n.toRef)(e,"node")),s=(0,n.computed)((()=>e.node.type===a.Tv.File)),l=(0,n.ref)(!1);return(0,n.watch)(r,(()=>{if(l.value=!1,r.value){const t=document.createElement("img");t.src=r.value.href,t.onerror=()=>t.remove(),t.onload=()=>{l.value=!0,t.remove()},document.body.appendChild(t)}}),{immediate:!0}),{__sfc:!0,fileListIconStyles:i,props:e,previewURL:r,isFile:s,canLoadPreview:l,t:u.t,IconFile:h,IconFolder:b}}}),(function(){var t=this,e=t._self._c,i=t._self._setupProxy;return e("div",{class:i.fileListIconStyles["file-picker__file-icon"],style:i.canLoadPreview?{backgroundImage:"url(".concat(i.previewURL,")")}:void 0,attrs:{"aria-label":i.t("Mime type {mime}",{mime:t.node.mime||i.t("unknown")})}},[i.canLoadPreview?t._e():[i.isFile?e(i.IconFile,{attrs:{size:20}}):e(i.IconFolder,{attrs:{size:20}})]],2)}),[],!1,null,null,null,null).exports,N=f((0,n.defineComponent)({__name:"FileListRow",props:{allowPickDirectory:{type:Boolean},selected:{type:Boolean},showCheckbox:{type:Boolean},canPick:{type:Boolean},node:null},emits:["update:selected","enter-directory"],setup(t,{emit:e}){const i=t,s=(0,n.computed)((()=>{var t;return(null==(t=i.node.attributes)?void 0:t.displayName)||i.node.basename.slice(0,i.node.extension?-i.node.extension.length:void 0)})),o=(0,n.computed)((()=>i.node.extension)),l=(0,n.computed)((()=>i.node.type===a.Tv.Folder)),c=(0,n.computed)((()=>i.canPick&&(i.allowPickDirectory||!l.value)));function d(){e("update:selected",!i.selected)}function p(){l.value?e("enter-directory",i.node):d()}return{__sfc:!0,props:i,emit:e,displayName:s,fileExtension:o,isDirectory:l,isPickable:c,toggleSelected:d,handleClick:p,handleKeyDown:function(t){"Enter"===t.key&&p()},formatFileSize:a.sS,NcCheckboxRadioSwitch:r.rw,NcDateTime:r.Jh,t:u.t,FilePreview:x}}}),(function(){var t=this,e=t._self._c,i=t._self._setupProxy;return e("tr",t._g({class:["file-picker__row",{"file-picker__row--selected":t.selected&&!t.showCheckbox}],attrs:{tabindex:t.showCheckbox&&!i.isDirectory?void 0:0,"aria-selected":i.isPickable?t.selected:void 0,"data-filename":t.node.basename,"data-testid":"file-list-row"},on:{click:i.handleClick}},!t.showCheckbox||i.isDirectory?{keydown:i.handleKeyDown}:{}),[t.showCheckbox?e("td",{staticClass:"row-checkbox"},[e(i.NcCheckboxRadioSwitch,{attrs:{disabled:!i.isPickable,checked:t.selected,"aria-label":i.t("Select the row for {nodename}",{nodename:i.displayName}),"data-testid":"row-checkbox"},on:{click:function(t){t.stopPropagation()},"update:checked":i.toggleSelected}})],1):t._e(),e("td",{staticClass:"row-name"},[e("div",{staticClass:"file-picker__name-container",attrs:{"data-testid":"row-name"}},[e(i.FilePreview,{attrs:{node:t.node}}),e("div",{staticClass:"file-picker__file-name",attrs:{title:i.displayName},domProps:{textContent:t._s(i.displayName)}}),e("div",{staticClass:"file-picker__file-extension",domProps:{textContent:t._s(i.fileExtension)}})],1)]),e("td",{staticClass:"row-size"},[t._v(" "+t._s(i.formatFileSize(t.node.size||0))+" ")]),e("td",{staticClass:"row-modified"},[e(i.NcDateTime,{attrs:{timestamp:t.node.mtime,"ignore-seconds":!0}})],1)])}),[],!1,null,"d337ebac",null,null).exports,C=f((0,n.defineComponent)({__name:"FileList",props:{multiselect:{type:Boolean},allowPickDirectory:{type:Boolean},loading:{type:Boolean},files:null,selectedFiles:null,path:null},emits:["update:path","update:selectedFiles"],setup(t,{emit:e}){const i=t,s=(0,n.ref)("ascending"),o=(0,n.ref)(void 0),d=(0,n.ref)(void 0),p={ascending:(t,e,i)=>i(t,e),descending:(t,e,i)=>i(e,t),none:(t,e,i)=>0},f=(t,e)=>{var i,n;return((null==(i=t.attributes)?void 0:i.displayName)||t.basename).localeCompare((null==(n=e.attributes)?void 0:n.displayName)||e.basename,(0,l.aj)())},h=(t,e)=>(e.size||0)-(t.size||0),m=(t,e)=>{var i,n;return((null==(i=t.mtime)?void 0:i.getTime())||0)-((null==(n=e.mtime)?void 0:n.getTime())||0)},g=t=>{const e=t.value;d.value=o.value=s.value=void 0,t.value="ascending"===e?"descending":"ascending"},w=(0,n.computed)((()=>[...i.files].sort(((t,e)=>(e.type===a.Tv.Folder?1:0)-(t.type===a.Tv.Folder?1:0)||p[s.value||"none"](t,e,f)||p[o.value||"none"](t,e,h)||p[d.value||"none"](t,e,m))))),b=(0,n.computed)((()=>i.files.filter((t=>i.allowPickDirectory||t.type!==a.Tv.Folder)))),x=(0,n.computed)((()=>!i.loading&&i.selectedFiles.length>0&&i.selectedFiles.length>=b.value.length)),C=(0,n.ref)(4),I=(0,n.ref)();{const t=()=>(0,n.nextTick)((()=>{var t,e,i,n,r;const s=(null==(e=null==(t=I.value)?void 0:t.parentElement)?void 0:e.children)||[];let o=(null==(n=null==(i=I.value)?void 0:i.parentElement)?void 0:n.clientHeight)||450;for(let t=0;t{window.addEventListener("resize",t),t()})),(0,n.onUnmounted)((()=>{window.removeEventListener("resize",t)}))}return{__sfc:!0,props:i,emit:e,sortByName:s,sortBySize:o,sortByModified:d,ordering:p,byName:f,bySize:h,byDate:m,toggleSorting:g,toggleSortByName:()=>g(s),toggleSortBySize:()=>g(o),toggleSortByModified:()=>g(d),sortedFiles:w,selectableFiles:b,allSelected:x,onSelectAll:function(){i.selectedFiles.lengthe.path!==t.path))):i.multiselect?e("update:selectedFiles",[...i.selectedFiles,t]):e("update:selectedFiles",[t])},onChangeDirectory:function(t){e("update:path",(0,c.join)(i.path,t.basename))},skeletonNumber:C,fileContainer:I,NcButton:r.P2,NcCheckboxRadioSwitch:r.rw,t:u.t,IconSortAscending:v,IconSortDescending:y,LoadingTableRow:_,FileListRow:N}}}),(function(){var t=this,e=t._self._c,i=t._self._setupProxy;return e("div",{ref:"fileContainer",staticClass:"file-picker__files"},[e("table",[e("thead",[e("tr",[t.multiselect?e("th",{staticClass:"row-checkbox"},[e("span",{staticClass:"hidden-visually"},[t._v(" "+t._s(i.t("Select entry"))+" ")]),t.multiselect?e(i.NcCheckboxRadioSwitch,{attrs:{"aria-label":i.t("Select all entries"),checked:i.allSelected,"data-testid":"select-all-checkbox"},on:{"update:checked":i.onSelectAll}}):t._e()],1):t._e(),e("th",{staticClass:"row-name",attrs:{"aria-sort":i.sortByName}},[e("div",{staticClass:"header-wrapper"},[e("span",{staticClass:"file-picker__header-preview"}),e(i.NcButton,{attrs:{wide:!0,type:"tertiary","data-test":"file-picker_sort-name"},on:{click:i.toggleSortByName},scopedSlots:t._u([{key:"icon",fn:function(){return["ascending"===i.sortByName?e(i.IconSortAscending,{attrs:{size:20}}):"descending"===i.sortByName?e(i.IconSortDescending,{attrs:{size:20}}):e("span",{staticStyle:{width:"44px"}})]},proxy:!0}])},[t._v(" "+t._s(i.t("Name"))+" ")])],1)]),e("th",{staticClass:"row-size",attrs:{"aria-sort":i.sortBySize}},[e(i.NcButton,{attrs:{wide:!0,type:"tertiary"},on:{click:i.toggleSortBySize},scopedSlots:t._u([{key:"icon",fn:function(){return["ascending"===i.sortBySize?e(i.IconSortAscending,{attrs:{size:20}}):"descending"===i.sortBySize?e(i.IconSortDescending,{attrs:{size:20}}):e("span",{staticStyle:{width:"44px"}})]},proxy:!0}])},[t._v(" "+t._s(i.t("Size"))+" ")])],1),e("th",{staticClass:"row-modified",attrs:{"aria-sort":i.sortByModified}},[e(i.NcButton,{attrs:{wide:!0,type:"tertiary"},on:{click:i.toggleSortByModified},scopedSlots:t._u([{key:"icon",fn:function(){return["ascending"===i.sortByModified?e(i.IconSortAscending,{attrs:{size:20}}):"descending"===i.sortByModified?e(i.IconSortDescending,{attrs:{size:20}}):e("span",{staticStyle:{width:"44px"}})]},proxy:!0}])},[t._v(" "+t._s(i.t("Modified"))+" ")])],1)])]),e("tbody",[t.loading?t._l(i.skeletonNumber,(function(n){return e(i.LoadingTableRow,{key:n,attrs:{"show-checkbox":t.multiselect}})})):t._l(i.sortedFiles,(function(n){return e(i.FileListRow,{key:n.fileid||n.path,attrs:{"allow-pick-directory":t.allowPickDirectory,"show-checkbox":t.multiselect,"can-pick":t.multiselect||0===t.selectedFiles.length||t.selectedFiles.includes(n),selected:t.selectedFiles.includes(n),node:n},on:{"update:selected":function(t){return i.onNodeSelected(n)},"enter-directory":i.onChangeDirectory}})}))],2)])])}),[],!1,null,"87fafd7e",null,null).exports,I=f({name:"HomeIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon home-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M10,20V14H14V20H19V12H22L12,3L2,12H5V20H10Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,E=f({name:"PlusIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon plus-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,k=f((0,n.defineComponent)({__name:"FilePickerBreadcrumbs",props:{path:null,showMenu:{type:Boolean}},emits:["update:path","create-node"],setup(t,{emit:e}){const i=t,s=(0,n.ref)(""),o=(0,n.ref)();function a(){var t,e,i,n;const r=s.value.trim(),a=null==(e=null==(t=o.value)?void 0:t.$el)?void 0:e.querySelector("input");let l="";return 0===r.length?l=(0,u.t)("File name cannot be empty."):r.includes("/")?l=(0,u.t)('"/" is not allowed inside a file name.'):["..","."].includes(r)?l=(0,u.t)('"{name}" is an invalid file name.',{name:r}):null!=(i=window.OC.config)&&i.blacklist_files_regex&&r.match(null==(n=window.OC.config)?void 0:n.blacklist_files_regex)&&(l=(0,u.t)('"{name}" is not an allowed filetype',{name:r})),a&&a.setCustomValidity(l),""===l}const l=(0,n.computed)((()=>i.path.split("/").filter((t=>""!==t)).map(((t,e,i)=>({name:t,path:"/"+i.slice(0,e+1).join("/")})))));return{__sfc:!0,props:i,emit:e,newNodeName:s,nameInput:o,validateInput:a,onSubmit:function(){const t=s.value.trim();a()&&(e("create-node",t),s.value="")},pathElements:l,IconFolder:b,IconHome:I,IconPlus:E,NcActions:r.O3,NcActionInput:r.Iw,NcBreadcrumbs:r.fg,NcBreadcrumb:r.$U,t:u.t}}}),(function(){var t=this,e=t._self._c,i=t._self._setupProxy;return e(i.NcBreadcrumbs,{staticClass:"file-picker__breadcrumbs",scopedSlots:t._u([{key:"default",fn:function(){return[e(i.NcBreadcrumb,{attrs:{name:i.t("Home"),title:i.t("Home")},on:{click:function(t){return i.emit("update:path","/")}},scopedSlots:t._u([{key:"icon",fn:function(){return[e(i.IconHome,{attrs:{size:20}})]},proxy:!0}])}),t._l(i.pathElements,(function(t){return e(i.NcBreadcrumb,{key:t.path,attrs:{name:t.name,title:t.path},on:{click:function(e){return i.emit("update:path",t.path)}}})}))]},proxy:!0},t.showMenu?{key:"actions",fn:function(){return[e(i.NcActions,{attrs:{"aria-label":i.t("Create directory"),"force-menu":!0,"force-name":!0,"menu-name":i.t("New"),type:"secondary"},on:{close:function(t){i.newNodeName=""}},scopedSlots:t._u([{key:"icon",fn:function(){return[e(i.IconPlus,{attrs:{size:20}})]},proxy:!0}],null,!1,2971667417)},[e(i.NcActionInput,{ref:"nameInput",attrs:{value:i.newNodeName,label:i.t("New folder"),placeholder:i.t("New folder name")},on:{"update:value":function(t){i.newNodeName=t},submit:i.onSubmit,input:i.validateInput},scopedSlots:t._u([{key:"icon",fn:function(){return[e(i.IconFolder,{attrs:{size:20}})]},proxy:!0}],null,!1,1614167509)})],1)]},proxy:!0}:null],null,!0)})}),[],!1,null,"d35aa423",null,null).exports,S=f({name:"ClockIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon clock-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M16.2,16.2L11,13V7H12.5V12.2L17,14.9L16.2,16.2Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,T=f({name:"CloseIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon close-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,A=f({name:"MagnifyIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon magnify-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,L=f({name:"StarIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon star-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,D=f((0,n.defineComponent)({__name:"FilePickerNavigation",props:{currentView:null,filterString:null,isCollapsed:{type:Boolean}},emits:["update:currentView","update:filterString"],setup(t,{emit:e}){const i=t,s=[{id:"files",label:(0,u.t)("All files"),icon:b},{id:"recent",label:(0,u.t)("Recent"),icon:S},{id:"favorites",label:(0,u.t)("Favorites"),icon:L}],o=(0,n.computed)((()=>s.filter((t=>t.id===i.currentView))[0]));return{__sfc:!0,allViews:s,props:i,emit:e,currentViewObject:o,updateFilterValue:t=>e("update:filterString",t),IconClose:T,IconMagnify:A,NcButton:r.P2,NcSelect:r.QG,NcTextField:r.h3,t:u.t,Fragment:p.Fragment}}}),(function(){var t=this,e=t._self._c,i=t._self._setupProxy;return e(i.Fragment,[e(i.NcTextField,{staticClass:"file-picker__filter-input",attrs:{value:t.filterString,label:i.t("Filter file list"),"show-trailing-button":!!t.filterString},on:{"update:value":i.updateFilterValue,"trailing-button-click":function(t){return i.updateFilterValue("")}},scopedSlots:t._u([{key:"trailing-button-icon",fn:function(){return[e(i.IconClose,{attrs:{size:16}})]},proxy:!0}])},[e(i.IconMagnify,{attrs:{size:16}})],1),t.isCollapsed?e(i.NcSelect,{attrs:{"aria-label":i.t("Current view selector"),clearable:!1,searchable:!1,options:i.allViews,value:i.currentViewObject},on:{input:t=>i.emit("update:currentView",t.id)}}):e("ul",{staticClass:"file-picker__side",attrs:{role:"tablist","aria-label":i.t("Filepicker sections")}},t._l(i.allViews,(function(n){return e("li",{key:n.id},[e(i.NcButton,{attrs:{"aria-selected":t.currentView===n.id,type:t.currentView===n.id?"primary":"tertiary",wide:!0,role:"tab"},on:{click:function(e){return t.$emit("update:currentView",n.id)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e(n.icon,{tag:"component",attrs:{size:20}})]},proxy:!0}],null,!0)},[t._v(" "+t._s(n.label)+" ")])],1)})),0)],1)}),[],!1,null,"fcfd0f23",null,null).exports,P=f((0,n.defineComponent)({name:"FilePicker",props:{buttons:null,name:null,allowPickDirectory:{type:Boolean,default:!1},container:{default:"body"},filterFn:{default:void 0},mimetypeFilter:{default:()=>[]},multiselect:{type:Boolean,default:!0},path:{default:"/"}},emits:["close"],setup(t,{emit:e}){const i=t,s=(0,n.computed)((()=>({container:i.container,name:i.name,buttons:o.value,size:"large",contentClasses:["file-picker__content"],dialogClasses:["file-picker"],navigationClasses:["file-picker__navigation"]}))),o=(0,n.computed)((()=>("function"==typeof i.buttons?i.buttons(p.value,v.value,l.value):i.buttons).map((t=>({...t,callback:async()=>{const n=0===p.value.length&&i.allowPickDirectory?[await N(v.value)]:p.value;t.callback(n),e("close",p.value)}}))))),l=(0,n.ref)("files"),d=(0,n.computed)((()=>"favorites"===l.value?(0,u.t)("Favorites"):"recent"===l.value?(0,u.t)("Recent"):"")),p=(0,n.ref)([]),f=(0,n.ref)((null==window?void 0:window.sessionStorage.getItem("NC.FilePicker.LastPath"))||"/"),m=(0,n.ref)(),v=(0,n.computed)({get:()=>"files"===l.value?m.value||i.path||f.value:"/",set:t=>{void 0===i.path&&window.sessionStorage.setItem("NC.FilePicker.LastPath",t),m.value=t,p.value=[]}}),y=(0,n.ref)(""),{isSupportedMimeType:w}=function(t){const e=(0,n.computed)((()=>t.value.map((t=>t.split("/")))));return{isSupportedMimeType:t=>{const i=t.split("/");return e.value.some((([t,e])=>!(i[0]!==t&&"*"!==t||i[1]!==e&&"*"!==e)))}}}((0,n.toRef)(i,"mimetypeFilter")),{files:_,isLoading:b,loadFiles:x,getFile:N,client:I}=function(t,e){const i=(0,a.rp)(),r=(0,n.ref)([]),s=(0,n.ref)(!0);async function o(){if(s.value=!0,"favorites"===t.value)r.value=await(0,a.pC)(i,e.value);else if("recent"===t.value){const t=Math.round(Date.now()/1e3)-1209600,{data:e}=await i.search("/",{details:!0,data:(0,a.tB)(t)});r.value=e.results.map((t=>(0,a.RL)(t)))}else{const t=await i.getDirectoryContents("".concat(a._o).concat(e.value),{details:!0,data:(0,a.h7)()});r.value=t.data.map((t=>(0,a.RL)(t)))}s.value=!1}return(0,n.watch)([t,e],(()=>o())),(0,n.onMounted)((()=>o())),{isLoading:s,files:r,loadFiles:()=>o(),getFile:async function(t,e=a._o){const n=await i.stat("".concat(e).concat(t),{details:!0});return(0,a.RL)(n.data)},client:i}}(l,v);(0,n.onMounted)((()=>x()));const E=(0,n.computed)((()=>{let t=_.value;return i.mimetypeFilter.length>0&&(t=t.filter((t=>"folder"===t.type||t.mime&&w(t.mime)))),y.value&&(t=t.filter((t=>t.basename.toLowerCase().includes(y.value.toLowerCase())))),i.filterFn&&(t=t.filter((t=>i.filterFn(t)))),t})),S=(0,n.computed)((()=>"files"===l.value?(0,u.t)("Upload some content or sync with your devices!"):"recent"===l.value?(0,u.t)("Files and folders you recently modified will show up here."):(0,u.t)("Files and folders you mark as favorite will show up here.")));return{__sfc:!0,props:i,emit:e,dialogProps:s,dialogButtons:o,currentView:l,viewHeadline:d,selectedFiles:p,savedPath:f,navigatedPath:m,currentPath:v,filterString:y,isSupportedMimeType:w,files:_,isLoading:b,loadFiles:x,getFile:N,client:I,filteredFiles:E,noFilesDescription:S,onCreateFolder:t=>{I.createDirectory((0,c.join)(a._o,v.value,t)).then((()=>x())).catch((t=>(0,u.s)((0,u.t)("Could not create the new folder"))))},IconFile:h,DialogBase:g,FileList:C,FilePickerBreadcrumbs:k,FilePickerNavigation:D,NcEmptyContent:r.SL,t:u.t}}}),(function(){var t=this,e=t._self._c,i=t._self._setupProxy;return e(i.DialogBase,t._b({on:{close:function(t){return i.emit("close")}},scopedSlots:t._u([{key:"navigation",fn:function({isCollapsed:t}){return[e(i.FilePickerNavigation,{attrs:{"is-collapsed":t,"current-view":i.currentView,"filter-string":i.filterString},on:{"update:currentView":function(t){i.currentView=t},"update:current-view":function(t){i.currentView=t},"update:filterString":function(t){i.filterString=t},"update:filter-string":function(t){i.filterString=t}}})]}}])},"DialogBase",i.dialogProps,!1),[e("div",{staticClass:"file-picker__main"},["files"===i.currentView?e(i.FilePickerBreadcrumbs,{attrs:{path:i.currentPath,"show-menu":t.allowPickDirectory},on:{"update:path":function(t){i.currentPath=t},"create-node":i.onCreateFolder}}):e("div",{staticClass:"file-picker__view"},[e("h3",[t._v(t._s(i.viewHeadline))])]),i.isLoading||i.filteredFiles.length>0?e(i.FileList,{attrs:{"allow-pick-directory":t.allowPickDirectory,files:i.filteredFiles,multiselect:t.multiselect,loading:i.isLoading,path:i.currentPath,"selected-files":i.selectedFiles,name:i.viewHeadline},on:{"update:path":[function(t){i.currentPath=t},function(t){i.currentView="files"}],"update:selectedFiles":function(t){i.selectedFiles=t},"update:selected-files":function(t){i.selectedFiles=t}}}):i.filterString?e(i.NcEmptyContent,{attrs:{name:i.t("No matching files"),description:i.t("No files matching your filter were found.")},scopedSlots:t._u([{key:"icon",fn:function(){return[e(i.IconFile)]},proxy:!0}])}):e(i.NcEmptyContent,{attrs:{name:i.t("No files in here"),description:i.noFilesDescription},scopedSlots:t._u([{key:"icon",fn:function(){return[e(i.IconFile)]},proxy:!0}])})],1)])}),[],!1,null,"3e8ab6c4",null,null).exports},5656:function(t,e,i){"use strict";i.d(e,{$B:function(){return j},DT:function(){return y},De:function(){return x},G7:function(){return ue},Ir:function(){return fe},NB:function(){return F},RL:function(){return $},Ti:function(){return U},Tv:function(){return D},Vn:function(){return b},_o:function(){return z},cd:function(){return pe},e4:function(){return Z},fs:function(){return T},gt:function(){return B},h7:function(){return S},m0:function(){return E},p$:function(){return w},p4:function(){return _},pC:function(){return R},rp:function(){return V},sS:function(){return v},sg:function(){return Y},tB:function(){return A},w4:function(){return k},y3:function(){return N},zu:function(){return L}});var n=i(77958),r=i(17499),s=i(31352),o=i(62520),a=i(65358),l=i(79753),c=i(14596),u=i(26721);const d=null===(p=(0,n.ts)())?(0,r.IY)().setApp("files").build():(0,r.IY)().setApp("files").setUid(p.uid).build();var p;class f{_entries=[];registerEntry(t){this.validateEntry(t),this._entries.push(t)}unregisterEntry(t){const e="string"==typeof t?this.getEntryIndex(t):this.getEntryIndex(t.id);-1!==e?this._entries.splice(e,1):d.warn("Entry not found, nothing removed",{entry:t,entries:this.getEntries()})}getEntries(t){return t?this._entries.filter((e=>"function"!=typeof e.if||e.if(t))):this._entries}getEntryIndex(t){return this._entries.findIndex((e=>e.id===t))}validateEntry(t){if(!t.id||!t.displayName||!(t.iconSvgInline||t.iconClass||t.handler))throw new Error("Invalid entry");if("string"!=typeof t.id||"string"!=typeof t.displayName)throw new Error("Invalid id or displayName property");if(t.iconClass&&"string"!=typeof t.iconClass||t.iconSvgInline&&"string"!=typeof t.iconSvgInline)throw new Error("Invalid icon provided");if(void 0!==t.if&&"function"!=typeof t.if)throw new Error("Invalid if property");if(t.templateName&&"string"!=typeof t.templateName)throw new Error("Invalid templateName property");if(t.handler&&"function"!=typeof t.handler)throw new Error("Invalid handler property");if(!t.templateName&&!t.handler)throw new Error("At least a templateName or a handler must be provided");if(-1!==this.getEntryIndex(t.id))throw new Error("Duplicate entry")}}const h=function(){return typeof window._nc_newfilemenu>"u"&&(window._nc_newfilemenu=new f,d.debug("NewFileMenu initialized")),window._nc_newfilemenu},m=["B","KB","MB","GB","TB","PB"],g=["B","KiB","MiB","GiB","TiB","PiB"];function v(t,e=!1,i=!0){"string"==typeof t&&(t=Number(t));let n=t>0?Math.floor(Math.log(t)/Math.log(i?1024:1e3)):0;n=Math.min((i?g.length:m.length)-1,n);const r=i?g[n]:m[n];let o=(t/Math.pow(i?1024:1e3,n)).toFixed(1);return!0===e&&0===n?("0.0"!==o?"< 1 ":"0 ")+(i?g[1]:m[1]):(o=n<2?parseFloat(o).toFixed(0):parseFloat(o).toLocaleString((0,s.aj)()),o+" "+r)}var y=(t=>(t.DEFAULT="default",t.HIDDEN="hidden",t))(y||{});class w{_action;constructor(t){this.validateAction(t),this._action=t}get id(){return this._action.id}get displayName(){return this._action.displayName}get title(){return this._action.title}get iconSvgInline(){return this._action.iconSvgInline}get enabled(){return this._action.enabled}get exec(){return this._action.exec}get execBatch(){return this._action.execBatch}get order(){return this._action.order}get default(){return this._action.default}get inline(){return this._action.inline}get renderInline(){return this._action.renderInline}validateAction(t){if(!t.id||"string"!=typeof t.id)throw new Error("Invalid id");if(!t.displayName||"function"!=typeof t.displayName)throw new Error("Invalid displayName function");if("title"in t&&"function"!=typeof t.title)throw new Error("Invalid title function");if(!t.iconSvgInline||"function"!=typeof t.iconSvgInline)throw new Error("Invalid iconSvgInline function");if(!t.exec||"function"!=typeof t.exec)throw new Error("Invalid exec function");if("enabled"in t&&"function"!=typeof t.enabled)throw new Error("Invalid enabled function");if("execBatch"in t&&"function"!=typeof t.execBatch)throw new Error("Invalid execBatch function");if("order"in t&&"number"!=typeof t.order)throw new Error("Invalid order");if(t.default&&!Object.values(y).includes(t.default))throw new Error("Invalid default");if("inline"in t&&"function"!=typeof t.inline)throw new Error("Invalid inline function");if("renderInline"in t&&"function"!=typeof t.renderInline)throw new Error("Invalid renderInline function")}}const _=function(t){typeof window._nc_fileactions>"u"&&(window._nc_fileactions=[],d.debug("FileActions initialized")),window._nc_fileactions.find((e=>e.id===t.id))?d.error(`FileAction ${t.id} already registered`,{action:t}):window._nc_fileactions.push(t)},b=function(){return typeof window._nc_fileactions>"u"&&(window._nc_fileactions=[],d.debug("FileActions initialized")),window._nc_fileactions},x=function(){return typeof window._nc_filelistheader>"u"&&(window._nc_filelistheader=[],d.debug("FileListHeaders initialized")),window._nc_filelistheader};var N=(t=>(t[t.NONE=0]="NONE",t[t.CREATE=4]="CREATE",t[t.READ=1]="READ",t[t.UPDATE=2]="UPDATE",t[t.DELETE=8]="DELETE",t[t.SHARE=16]="SHARE",t[t.ALL=31]="ALL",t))(N||{});const C=["d:getcontentlength","d:getcontenttype","d:getetag","d:getlastmodified","d:quota-available-bytes","d:resourcetype","nc:has-preview","nc:is-encrypted","nc:mount-type","nc:share-attributes","oc:comments-unread","oc:favorite","oc:fileid","oc:owner-display-name","oc:owner-id","oc:permissions","oc:share-types","oc:size","ocs:share-permissions"],I={d:"DAV:",nc:"http://nextcloud.org/ns",oc:"http://owncloud.org/ns",ocs:"http://open-collaboration-services.org/ns"},E=function(){return typeof window._nc_dav_properties>"u"&&(window._nc_dav_properties=[...C]),window._nc_dav_properties.map((t=>`<${t} />`)).join(" ")},k=function(){return typeof window._nc_dav_namespaces>"u"&&(window._nc_dav_namespaces={...I}),Object.keys(window._nc_dav_namespaces).map((t=>`xmlns:${t}="${window._nc_dav_namespaces?.[t]}"`)).join(" ")},S=function(){return`\n\t\t\n\t\t\t\n\t\t\t\t${E()}\n\t\t\t\n\t\t`},T=function(){return`\n\t\t\n\t\t\t\n\t\t\t\t${E()}\n\t\t\t\n\t\t\t\n\t\t\t\t1\n\t\t\t\n\t\t`},A=function(t){return`\n\n\t\n\t\t\n\t\t\t\n\t\t\t\t${E()}\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t/files/${(0,n.ts)()?.uid}/\n\t\t\t\tinfinity\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\thttpd/unix-directory\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t0\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t${t}\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t100\n\t\t\t0\n\t\t\n\t\n`},L=function(t=""){let e=N.NONE;return t&&((t.includes("C")||t.includes("K"))&&(e|=N.CREATE),t.includes("G")&&(e|=N.READ),(t.includes("W")||t.includes("N")||t.includes("V"))&&(e|=N.UPDATE),t.includes("D")&&(e|=N.DELETE),t.includes("R")&&(e|=N.SHARE)),e};var D=(t=>(t.Folder="folder",t.File="file",t))(D||{});const P=function(t,e){return null!==t.match(e)},M=(t,e)=>{if(t.id&&"number"!=typeof t.id)throw new Error("Invalid id type of value");if(!t.source)throw new Error("Missing mandatory source");try{new URL(t.source)}catch{throw new Error("Invalid source format, source must be a valid URL")}if(!t.source.startsWith("http"))throw new Error("Invalid source format, only http(s) is supported");if(t.mtime&&!(t.mtime instanceof Date))throw new Error("Invalid mtime type");if(t.crtime&&!(t.crtime instanceof Date))throw new Error("Invalid crtime type");if(!t.mime||"string"!=typeof t.mime||!t.mime.match(/^[-\w.]+\/[-+\w.]+$/gi))throw new Error("Missing or invalid mandatory mime");if("size"in t&&"number"!=typeof t.size&&void 0!==t.size)throw new Error("Invalid size type");if("permissions"in t&&void 0!==t.permissions&&!("number"==typeof t.permissions&&t.permissions>=N.NONE&&t.permissions<=N.ALL))throw new Error("Invalid permissions");if(t.owner&&null!==t.owner&&"string"!=typeof t.owner)throw new Error("Invalid owner type");if(t.attributes&&"object"!=typeof t.attributes)throw new Error("Invalid attributes type");if(t.root&&"string"!=typeof t.root)throw new Error("Invalid root type");if(t.root&&!t.root.startsWith("/"))throw new Error("Root must start with a leading slash");if(t.root&&!t.source.includes(t.root))throw new Error("Root must be part of the source");if(t.root&&P(t.source,e)){const i=t.source.match(e)[0];if(!t.source.includes((0,o.join)(i,t.root)))throw new Error("The root must be relative to the service. e.g /files/emma")}if(t.status&&!Object.values(Z).includes(t.status))throw new Error("Status must be a valid NodeStatus")};var Z=(t=>(t.NEW="new",t.FAILED="failed",t.LOADING="loading",t.LOCKED="locked",t))(Z||{});class F{_data;_attributes;_knownDavService=/(remote|public)\.php\/(web)?dav/i;constructor(t,e){M(t,e||this._knownDavService),this._data=t;const i={set:(t,e,i)=>(this.updateMtime(),Reflect.set(t,e,i)),deleteProperty:(t,e)=>(this.updateMtime(),Reflect.deleteProperty(t,e))};this._attributes=new Proxy(t.attributes||{},i),delete this._data.attributes,e&&(this._knownDavService=e)}get source(){return this._data.source.replace(/\/$/i,"")}get encodedSource(){const{origin:t}=new URL(this.source);return t+(0,a.Ec)(this.source.slice(t.length))}get basename(){return(0,o.basename)(this.source)}get extension(){return(0,o.extname)(this.source)}get dirname(){if(this.root){const t=this.source.indexOf(this.root);return(0,o.dirname)(this.source.slice(t+this.root.length)||"/")}const t=new URL(this.source);return(0,o.dirname)(t.pathname)}get mime(){return this._data.mime}get mtime(){return this._data.mtime}get crtime(){return this._data.crtime}get size(){return this._data.size}get attributes(){return this._attributes}get permissions(){return null!==this.owner||this.isDavRessource?void 0!==this._data.permissions?this._data.permissions:N.NONE:N.READ}get owner(){return this.isDavRessource?this._data.owner:null}get isDavRessource(){return P(this.source,this._knownDavService)}get root(){return this._data.root?this._data.root.replace(/^(.+)\/$/,"$1"):this.isDavRessource&&(0,o.dirname)(this.source).split(this._knownDavService).pop()||null}get path(){if(this.root){const t=this.source.indexOf(this.root);return this.source.slice(t+this.root.length)||"/"}return(this.dirname+"/"+this.basename).replace(/\/\//g,"/")}get fileid(){return this._data?.id||this.attributes?.fileid}get status(){return this._data?.status}set status(t){this._data.status=t}move(t){M({...this._data,source:t},this._knownDavService),this._data.source=t,this.updateMtime()}rename(t){if(t.includes("/"))throw new Error("Invalid basename");this.move((0,o.dirname)(this.source)+"/"+t)}updateMtime(){this._data.mtime&&(this._data.mtime=new Date)}}class j extends F{get type(){return D.File}}class B extends F{constructor(t){super({...t,mime:"httpd/unix-directory"})}get type(){return D.Folder}get extension(){return null}get mime(){return"httpd/unix-directory"}}const z=`/files/${(0,n.ts)()?.uid}`,O=(0,l.generateRemoteUrl)("dav"),V=function(t=O){const e=(0,c.eI)(t,{headers:{requesttoken:(0,n.IH)()||""}});return(0,c.lD)().patch("request",(t=>(t.headers?.method&&(t.method=t.headers.method,delete t.headers.method),(0,u.W)(t)))),e},R=async(t,e="/",i=z)=>(await t.getDirectoryContents(`${i}${e}`,{details:!0,data:T(),headers:{method:"REPORT"},includeSelf:!0})).data.filter((t=>t.filename!==e)).map((t=>$(t,i))),$=function(t,e=z,i=O){const r=t.props,s=L(r?.permissions),o=(0,n.ts)()?.uid,a={id:r?.fileid||0,source:`${i}${t.filename}`,mtime:new Date(Date.parse(t.lastmod)),mime:t.mime,size:r?.size||Number.parseInt(r.getcontentlength||"0"),permissions:s,owner:o,root:e,attributes:{...t,...r,hasPreview:r?.["has-preview"]}};return delete a.attributes?.props,"file"===t.type?new j(a):new B(a)};class H{_views=[];_currentView=null;register(t){if(this._views.find((e=>e.id===t.id)))throw new Error(`View id ${t.id} is already registered`);this._views.push(t)}remove(t){const e=this._views.findIndex((e=>e.id===t));-1!==e&&this._views.splice(e,1)}get views(){return this._views}setActive(t){this._currentView=t}get active(){return this._currentView}}const U=function(){return typeof window._nc_navigation>"u"&&(window._nc_navigation=new H,d.debug("Navigation service initialized")),window._nc_navigation};class Y{_column;constructor(t){G(t),this._column=t}get id(){return this._column.id}get title(){return this._column.title}get render(){return this._column.render}get sort(){return this._column.sort}get summary(){return this._column.summary}}const G=function(t){if(!t.id||"string"!=typeof t.id)throw new Error("A column id is required");if(!t.title||"string"!=typeof t.title)throw new Error("A column title is required");if(!t.render||"function"!=typeof t.render)throw new Error("A render function is required");if(t.sort&&"function"!=typeof t.sort)throw new Error("Column sortFunction must be a function");if(t.summary&&"function"!=typeof t.summary)throw new Error("Column summary must be a function");return!0};var Q={},W={};!function(t){const e=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",i="["+e+"]["+e+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*",n=new RegExp("^"+i+"$");t.isExist=function(t){return typeof t<"u"},t.isEmptyObject=function(t){return 0===Object.keys(t).length},t.merge=function(t,e,i){if(e){const n=Object.keys(e),r=n.length;for(let s=0;s"u")},t.getAllMatches=function(t,e){const i=[];let n=e.exec(t);for(;n;){const r=[];r.startIndex=e.lastIndex-n[0].length;const s=n.length;for(let t=0;t5&&"xml"===n)return at("InvalidXml","XML declaration allowed only at the start of the document.",ut(t,e));if("?"==t[e]&&">"==t[e+1]){e++;break}continue}return e}function tt(t,e){if(t.length>e+5&&"-"===t[e+1]&&"-"===t[e+2]){for(e+=3;e"===t[e+2]){e+=2;break}}else if(t.length>e+8&&"D"===t[e+1]&&"O"===t[e+2]&&"C"===t[e+3]&&"T"===t[e+4]&&"Y"===t[e+5]&&"P"===t[e+6]&&"E"===t[e+7]){let i=1;for(e+=8;e"===t[e]&&(i--,0===i))break}else if(t.length>e+9&&"["===t[e+1]&&"C"===t[e+2]&&"D"===t[e+3]&&"A"===t[e+4]&&"T"===t[e+5]&&"A"===t[e+6]&&"["===t[e+7])for(e+=8;e"===t[e+2]){e+=2;break}return e}Q.validate=function(t,e){e=Object.assign({},q,e);const i=[];let n=!1,r=!1;"\ufeff"===t[0]&&(t=t.substr(1));for(let s=0;s"!==t[s]&&" "!==t[s]&&"\t"!==t[s]&&"\n"!==t[s]&&"\r"!==t[s];s++)l+=t[s];if(l=l.trim(),"/"===l[l.length-1]&&(l=l.substring(0,l.length-1),s--),!ct(l)){let e;return e=0===l.trim().length?"Invalid space after '<'.":"Tag '"+l+"' is an invalid name.",at("InvalidTag",e,ut(t,s))}const c=nt(t,s);if(!1===c)return at("InvalidAttr","Attributes for '"+l+"' have open quote.",ut(t,s));let u=c.value;if(s=c.index,"/"===u[u.length-1]){const i=s-u.length;u=u.substring(0,u.length-1);const r=st(u,e);if(!0!==r)return at(r.err.code,r.err.msg,ut(t,i+r.err.line));n=!0}else if(a){if(!c.tagClosed)return at("InvalidTag","Closing tag '"+l+"' doesn't have proper closing.",ut(t,s));if(u.trim().length>0)return at("InvalidTag","Closing tag '"+l+"' can't have attributes or invalid starting.",ut(t,o));{const e=i.pop();if(l!==e.tagName){let i=ut(t,e.tagStartPos);return at("InvalidTag","Expected closing tag '"+e.tagName+"' (opened in line "+i.line+", col "+i.col+") instead of closing tag '"+l+"'.",ut(t,o))}0==i.length&&(r=!0)}}else{const a=st(u,e);if(!0!==a)return at(a.err.code,a.err.msg,ut(t,s-u.length+a.err.line));if(!0===r)return at("InvalidXml","Multiple possible root nodes found.",ut(t,s));-1!==e.unpairedTags.indexOf(l)||i.push({tagName:l,tagStartPos:o}),n=!0}for(s++;s0)||at("InvalidXml","Invalid '"+JSON.stringify(i.map((t=>t.tagName)),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1}):at("InvalidXml","Start tag expected.",1)};const et='"',it="'";function nt(t,e){let i="",n="",r=!1;for(;e"===t[e]&&""===n){r=!0;break}i+=t[e]}return""===n&&{value:i,index:e,tagClosed:r}}const rt=new RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function st(t,e){const i=X.getAllMatches(t,rt),n={};for(let t=0;t!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(t,e,i){return t}};pt.buildOptions=function(t){return Object.assign({},ft,t)},pt.defaultOptions=ft;const ht=W;function mt(t,e){let i="";for(;e0?this.child.push({[t.tagname]:t.child,":@":t[":@"]}):this.child.push({[t.tagname]:t.child})}},kt=function(t,e){const i={};if("O"!==t[e+3]||"C"!==t[e+4]||"T"!==t[e+5]||"Y"!==t[e+6]||"P"!==t[e+7]||"E"!==t[e+8])throw new Error("Invalid Tag instead of DOCTYPE");{e+=9;let n=1,r=!1,s=!1,o="";for(;e"===t[e]){if(s?"-"===t[e-1]&&"-"===t[e-2]&&(s=!1,n--):n--,0===n)break}else"["===t[e]?r=!0:o+=t[e];else{if(r&&vt(t,e))e+=7,[entityName,val,e]=mt(t,e+1),-1===val.indexOf("&")&&(i[bt(entityName)]={regx:RegExp(`&${entityName};`,"g"),val:val});else if(r&&yt(t,e))e+=8;else if(r&&wt(t,e))e+=8;else if(r&&_t(t,e))e+=9;else{if(!gt)throw new Error("Invalid DOCTYPE");s=!0}n++,o=""}if(0!==n)throw new Error("Unclosed DOCTYPE")}return{entities:i,i:e}},St=function(t,e={}){if(e=Object.assign({},Ct,e),!t||"string"!=typeof t)return t;let i=t.trim();if(void 0!==e.skipLike&&e.skipLike.test(i))return t;if(e.hex&&xt.test(i))return Number.parseInt(i,16);{const n=Nt.exec(i);if(n){const r=n[1],s=n[2];let o=function(t){return t&&-1!==t.indexOf(".")&&("."===(t=t.replace(/0+$/,""))?t="0":"."===t[0]?t="0"+t:"."===t[t.length-1]&&(t=t.substr(0,t.length-1))),t}(n[3]);const a=n[4]||n[6];if(!e.leadingZeros&&s.length>0&&r&&"."!==i[2]||!e.leadingZeros&&s.length>0&&!r&&"."!==i[1])return t;{const n=Number(i),l=""+n;return-1!==l.search(/[eE]/)||a?e.eNotation?n:t:-1!==i.indexOf(".")?"0"===l&&""===o||l===o||r&&l==="-"+o?n:t:s?o===l||r+o===l?n:t:i===l||i===r+l?n:t}}return t}};function Tt(t){const e=Object.keys(t);for(let i=0;i0)){o||(t=this.replaceEntitiesValue(t));const n=this.options.tagValueProcessor(e,t,i,r,s);return null==n?t:typeof n!=typeof t||n!==t?n:this.options.trimValues||t.trim()===t?Rt(t,this.options.parseTagValue,this.options.numberParseOptions):t}}function Lt(t){if(this.options.removeNSPrefix){const e=t.split(":"),i="/"===t.charAt(0)?"/":"";if("xmlns"===e[0])return"";2===e.length&&(t=i+e[1])}return t}"<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g,It.nameRegexp);const Dt=new RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");function Pt(t,e,i){if(!this.options.ignoreAttributes&&"string"==typeof t){const i=It.getAllMatches(t,Dt),n=i.length,r={};for(let t=0;t",s,"Closing Tag is not closed.");let o=t.substring(s+2,e).trim();if(this.options.removeNSPrefix){const t=o.indexOf(":");-1!==t&&(o=o.substr(t+1))}this.options.transformTagName&&(o=this.options.transformTagName(o)),i&&(n=this.saveTextToParentTag(n,i,r));const a=r.substring(r.lastIndexOf(".")+1);if(o&&-1!==this.options.unpairedTags.indexOf(o))throw new Error(`Unpaired tag can not be used as closing tag: `);let l=0;a&&-1!==this.options.unpairedTags.indexOf(a)?(l=r.lastIndexOf(".",r.lastIndexOf(".")-1),this.tagsNodeStack.pop()):l=r.lastIndexOf("."),r=r.substring(0,l),i=this.tagsNodeStack.pop(),n="",s=e}else if("?"===t[s+1]){let e=Ot(t,s,!1,"?>");if(!e)throw new Error("Pi Tag is not closed.");if(n=this.saveTextToParentTag(n,i,r),!(this.options.ignoreDeclaration&&"?xml"===e.tagName||this.options.ignorePiTags)){const t=new Et(e.tagName);t.add(this.options.textNodeName,""),e.tagName!==e.tagExp&&e.attrExpPresent&&(t[":@"]=this.buildAttributesMap(e.tagExp,r,e.tagName)),this.addChild(i,t,r)}s=e.closeIndex+1}else if("!--"===t.substr(s+1,3)){const e=zt(t,"--\x3e",s+4,"Comment is not closed.");if(this.options.commentPropName){const o=t.substring(s+4,e-2);n=this.saveTextToParentTag(n,i,r),i.add(this.options.commentPropName,[{[this.options.textNodeName]:o}])}s=e}else if("!D"===t.substr(s+1,2)){const e=kt(t,s);this.docTypeEntities=e.entities,s=e.i}else if("!["===t.substr(s+1,2)){const e=zt(t,"]]>",s,"CDATA is not closed.")-2,o=t.substring(s+9,e);if(n=this.saveTextToParentTag(n,i,r),this.options.cdataPropName)i.add(this.options.cdataPropName,[{[this.options.textNodeName]:o}]);else{let t=this.parseTextData(o,i.tagname,r,!0,!1,!0);null==t&&(t=""),i.add(this.options.textNodeName,t)}s=e+2}else{let o=Ot(t,s,this.options.removeNSPrefix),a=o.tagName;const l=o.rawTagName;let c=o.tagExp,u=o.attrExpPresent,d=o.closeIndex;this.options.transformTagName&&(a=this.options.transformTagName(a)),i&&n&&"!xml"!==i.tagname&&(n=this.saveTextToParentTag(n,i,r,!1));const p=i;if(p&&-1!==this.options.unpairedTags.indexOf(p.tagname)&&(i=this.tagsNodeStack.pop(),r=r.substring(0,r.lastIndexOf("."))),a!==e.tagname&&(r+=r?"."+a:a),this.isItStopNode(this.options.stopNodes,r,a)){let e="";if(c.length>0&&c.lastIndexOf("/")===c.length-1)s=o.closeIndex;else if(-1!==this.options.unpairedTags.indexOf(a))s=o.closeIndex;else{const i=this.readStopNodeData(t,l,d+1);if(!i)throw new Error(`Unexpected end of ${l}`);s=i.i,e=i.tagContent}const n=new Et(a);a!==c&&u&&(n[":@"]=this.buildAttributesMap(c,r,a)),e&&(e=this.parseTextData(e,a,r,!0,u,!0,!0)),r=r.substr(0,r.lastIndexOf(".")),n.add(this.options.textNodeName,e),this.addChild(i,n,r)}else{if(c.length>0&&c.lastIndexOf("/")===c.length-1){"/"===a[a.length-1]?(a=a.substr(0,a.length-1),r=r.substr(0,r.length-1),c=a):c=c.substr(0,c.length-1),this.options.transformTagName&&(a=this.options.transformTagName(a));const t=new Et(a);a!==c&&u&&(t[":@"]=this.buildAttributesMap(c,r,a)),this.addChild(i,t,r),r=r.substr(0,r.lastIndexOf("."))}else{const t=new Et(a);this.tagsNodeStack.push(i),a!==c&&u&&(t[":@"]=this.buildAttributesMap(c,r,a)),this.addChild(i,t,r),i=t}n="",s=d}}else n+=t[s];return e.child};function Zt(t,e,i){const n=this.options.updateTag(e.tagname,i,e[":@"]);!1===n||("string"==typeof n&&(e.tagname=n),t.addChild(e))}const Ft=function(t){if(this.options.processEntities){for(let e in this.docTypeEntities){const i=this.docTypeEntities[e];t=t.replace(i.regx,i.val)}for(let e in this.lastEntities){const i=this.lastEntities[e];t=t.replace(i.regex,i.val)}if(this.options.htmlEntities)for(let e in this.htmlEntities){const i=this.htmlEntities[e];t=t.replace(i.regex,i.val)}t=t.replace(this.ampEntity.regex,this.ampEntity.val)}return t};function jt(t,e,i,n){return t&&(void 0===n&&(n=0===Object.keys(e.child).length),void 0!==(t=this.parseTextData(t,e.tagname,i,!1,!!e[":@"]&&0!==Object.keys(e[":@"]).length,n))&&""!==t&&e.add(this.options.textNodeName,t),t=""),t}function Bt(t,e,i){const n="*."+i;for(const i in t){const r=t[i];if(n===r||e===r)return!0}return!1}function zt(t,e,i,n){const r=t.indexOf(e,i);if(-1===r)throw new Error(n);return r+e.length-1}function Ot(t,e,i,n=">"){const r=function(t,e,i=">"){let n,r="";for(let s=e;s",i,`${e} is not closed`);if(t.substring(i+2,s).trim()===e&&(r--,0===r))return{tagContent:t.substring(n,i),i:s};i=s}else if("?"===t[i+1])i=zt(t,"?>",i+1,"StopNode is not closed.");else if("!--"===t.substr(i+1,3))i=zt(t,"--\x3e",i+3,"StopNode is not closed.");else if("!["===t.substr(i+1,2))i=zt(t,"]]>",i,"StopNode is not closed.")-2;else{const n=Ot(t,i,">");n&&((n&&n.tagName)===e&&"/"!==n.tagExp[n.tagExp.length-1]&&r++,i=n.closeIndex)}}function Rt(t,e,i){if(e&&"string"==typeof t){const e=t.trim();return"true"===e||"false"!==e&&St(t,i)}return It.isExist(t)?t:""}var $t={};function Ht(t,e,i){let n;const r={};for(let s=0;s0&&(r[e.textNodeName]=n):void 0!==n&&(r[e.textNodeName]=n),r}function Ut(t){const e=Object.keys(t);for(let t=0;t"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"¢"},pound:{regex:/&(pound|#163);/g,val:"£"},yen:{regex:/&(yen|#165);/g,val:"¥"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"©"},reg:{regex:/&(reg|#174);/g,val:"®"},inr:{regex:/&(inr|#8377);/g,val:"₹"}},this.addExternalEntities=Tt,this.parseXml=Mt,this.parseTextData=At,this.resolveNameSpace=Lt,this.buildAttributesMap=Pt,this.isItStopNode=Bt,this.replaceEntitiesValue=Ft,this.readStopNodeData=Vt,this.saveTextToParentTag=jt,this.addChild=Zt}},{prettify:Xt}=$t,qt=Q;function Kt(t,e,i,n){let r="",s=!1;for(let o=0;o`,s=!1;continue}if(l===e.commentPropName){r+=n+`\x3c!--${a[l][0][e.textNodeName]}--\x3e`,s=!0;continue}if("?"===l[0]){const t=te(a[":@"],e),i="?xml"===l?"":n;let o=a[l][0][e.textNodeName];o=0!==o.length?" "+o:"",r+=i+`<${l}${o}${t}?>`,s=!0;continue}let u=n;""!==u&&(u+=e.indentBy);const d=n+`<${l}${te(a[":@"],e)}`,p=Kt(a[l],e,c,u);-1!==e.unpairedTags.indexOf(l)?e.suppressUnpairedNode?r+=d+">":r+=d+"/>":p&&0!==p.length||!e.suppressEmptyNode?p&&p.endsWith(">")?r+=d+`>${p}${n}`:(r+=d+">",p&&""!==n&&(p.includes("/>")||p.includes("`):r+=d+"/>",s=!0}return r}function Jt(t){const e=Object.keys(t);for(let i=0;i0&&e.processEntities)for(let i=0;i0&&(i="\n"),Kt(t,e,"",i)},re={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&"},{regex:new RegExp(">","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("'","g"),val:"'"},{regex:new RegExp('"',"g"),val:"""}],processEntities:!0,stopNodes:[],oneListGroup:!1};function se(t){this.options=Object.assign({},re,t),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=le),this.processTextOrObjNode=oe,this.options.format?(this.indentate=ae,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}function oe(t,e,i){const n=this.j2x(t,i+1);return void 0!==t[this.options.textNodeName]&&1===Object.keys(t).length?this.buildTextValNode(t[this.options.textNodeName],e,n.attrStr,i):this.buildObjectNode(n.val,e,n.attrStr,i)}function ae(t){return this.options.indentBy.repeat(t)}function le(t){return!(!t.startsWith(this.options.attributeNamePrefix)||t===this.options.textNodeName)&&t.substr(this.attrPrefixLen)}se.prototype.build=function(t){return this.options.preserveOrder?ne(t,this.options):(Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t}),this.j2x(t,0).val)},se.prototype.j2x=function(t,e){let i="",n="";for(let r in t)if(t.hasOwnProperty(r))if(typeof t[r]>"u")this.isAttribute(r)&&(n+="");else if(null===t[r])this.isAttribute(r)?n+="":"?"===r[0]?n+=this.indentate(e)+"<"+r+"?"+this.tagEndChar:n+=this.indentate(e)+"<"+r+"/"+this.tagEndChar;else if(t[r]instanceof Date)n+=this.buildTextValNode(t[r],r,"",e);else if("object"!=typeof t[r]){const s=this.isAttribute(r);if(s)i+=this.buildAttrPairStr(s,""+t[r]);else if(r===this.options.textNodeName){let e=this.options.tagValueProcessor(r,""+t[r]);n+=this.replaceEntitiesValue(e)}else n+=this.buildTextValNode(t[r],r,"",e)}else if(Array.isArray(t[r])){const i=t[r].length;let s="";for(let o=0;o"u"||(null===i?"?"===r[0]?n+=this.indentate(e)+"<"+r+"?"+this.tagEndChar:n+=this.indentate(e)+"<"+r+"/"+this.tagEndChar:"object"==typeof i?this.options.oneListGroup?s+=this.j2x(i,e+1).val:s+=this.processTextOrObjNode(i,r,e):s+=this.buildTextValNode(i,r,"",e))}this.options.oneListGroup&&(s=this.buildObjectNode(s,r,"",e)),n+=s}else if(this.options.attributesGroupName&&r===this.options.attributesGroupName){const e=Object.keys(t[r]),n=e.length;for(let s=0;s"+t+r}},se.prototype.closeTag=function(t){let e="";return-1!==this.options.unpairedTags.indexOf(t)?this.options.suppressUnpairedNode||(e="/"):e=this.options.suppressEmptyNode?"/":`>`+this.newLine;if(!1!==this.options.commentPropName&&e===this.options.commentPropName)return this.indentate(n)+`\x3c!--${t}--\x3e`+this.newLine;if("?"===e[0])return this.indentate(n)+"<"+e+i+"?"+this.tagEndChar;{let r=this.options.tagValueProcessor(e,t);return r=this.replaceEntitiesValue(r),""===r?this.indentate(n)+"<"+e+i+this.closeTag(e)+this.tagEndChar:this.indentate(n)+"<"+e+i+">"+r+"0&&this.options.processEntities)for(let e=0;e0&&(!t.caption||"string"!=typeof t.caption))throw new Error("View caption is required for top-level views and must be a string");if(!t.getContents||"function"!=typeof t.getContents)throw new Error("View getContents is required and must be a function");if(!t.icon||"string"!=typeof t.icon||!function(t){if("string"!=typeof t)throw new TypeError(`Expected a \`string\`, got \`${typeof t}\``);if(0===(t=t.trim()).length||!0!==ce.XMLValidator.validate(t))return!1;let e;const i=new ce.XMLParser;try{e=i.parse(t)}catch{return!1}return!(!e||!("svg"in e))}(t.icon))throw new Error("View icon is required and must be a valid svg string");if(!("order"in t)||"number"!=typeof t.order)throw new Error("View order is required and must be a number");if(t.columns&&t.columns.forEach((t=>{if(!(t instanceof Y))throw new Error("View columns must be an array of Column. Invalid column found")})),t.emptyView&&"function"!=typeof t.emptyView)throw new Error("View emptyView must be a function");if(t.parent&&"string"!=typeof t.parent)throw new Error("View parent must be a string");if("sticky"in t&&"boolean"!=typeof t.sticky)throw new Error("View sticky must be a boolean");if("expanded"in t&&"boolean"!=typeof t.expanded)throw new Error("View expanded must be a boolean");if(t.defaultSortKey&&"string"!=typeof t.defaultSortKey)throw new Error("View defaultSortKey must be a string");return!0},pe=function(t){return h().registerEntry(t)},fe=function(t){return h().getEntries(t)}},46318:function(t,e,i){"use strict";i.r(e),i.d(e,{NcAutoCompleteResult:function(){return v},NcMentionBubble:function(){return n.N},default:function(){return b}}),i(55849);var n=i(22663),r=i(79753),s=i(76311),o=i(23248),a=(i(79845),i(93911)),l=i(2343),c=(i(93664),i(86514),i(61537),i(25751),i(20435),i(49368),i(89115),i(57274),i(59110),i(69183),i(32219),i(82675),i(65507)),u=i(20296),d=i(36683),p=i(73045),f=i(25108);const h={name:"NcAutoCompleteResult",props:{title:{type:String,required:!0},subline:{type:String,default:null},id:{type:String,default:null},icon:{type:String,required:!0},iconUrl:{type:String,default:null},source:{type:String,required:!0},status:{type:[Object,Array],default:()=>({})}},computed:{avatarUrl(){return this.iconUrl?this.iconUrl:this.id&&"users"===this.source?this.getAvatarUrl(this.id,44):null},haveStatus(){var t,e,i;return(null==(t=this.status)?void 0:t.icon)||(null==(e=this.status)?void 0:e.status)&&"offline"!==(null==(i=this.status)?void 0:i.status)}},methods:{getAvatarUrl(t,e){return(0,r.generateUrl)("/avatar/{user}/{size}",{user:t,size:e})}}};var m=function(){var t=this,e=t._self._c;return e("div",{staticClass:"autocomplete-result"},[e("div",{staticClass:"autocomplete-result__icon",class:[t.icon,"autocomplete-result__icon--"+(t.avatarUrl?"with-avatar":"")],style:t.avatarUrl?{backgroundImage:`url(${t.avatarUrl})`}:null},[t.haveStatus?e("div",{staticClass:"autocomplete-result__status",class:[`autocomplete-result__status--${t.status&&t.status.icon?"icon":t.status.status}`]},[t._v(" "+t._s(t.status&&t.status.icon||"")+" ")]):t._e()]),e("span",{staticClass:"autocomplete-result__content"},[e("span",{staticClass:"autocomplete-result__title",attrs:{title:t.title}},[t._v(" "+t._s(t.title)+" ")]),t.subline?e("span",{staticClass:"autocomplete-result__subline"},[t._v(" "+t._s(t.subline)+" ")]):t._e()])])},g=[];const v=(0,s.n)(h,m,g,!1,null,"25cf09d8",null,null).exports,y={name:"NcRichContenteditable",directives:{tooltip:p.VTooltip},mixins:[n.r],props:{value:{type:String,default:"",required:!0},placeholder:{type:String,default:(0,o.t)("Write a message …")},autoComplete:{type:Function,default:()=>[]},menuContainer:{type:Element,default:()=>document.body},multiline:{type:Boolean,default:!1},contenteditable:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},maxlength:{type:Number,default:null},emojiAutocomplete:{type:Boolean,default:!0},linkAutocomplete:{type:Boolean,default:!0}},emits:["submit","paste","update:value"],data(){return{textSmiles:[],tribute:null,autocompleteOptions:{allowSpaces:!0,fillAttr:"id",lookup:t=>`${t.id} ${t.title}`,menuContainer:this.menuContainer,menuItemTemplate:t=>this.renderComponentHtml(t.original,v),noMatchTemplate:()=>'',selectTemplate:t=>{var e;return this.genSelectTemplate(null==(e=null==t?void 0:t.original)?void 0:e.id)},values:this.debouncedAutoComplete},emojiOptions:{trigger:":",lookup:(t,e)=>e,menuContainer:this.menuContainer,menuItemTemplate:t=>this.textSmiles.includes(t.original)?t.original:`${t.original.native} :${t.original.short_name}`,noMatchTemplate:()=>(0,o.t)("No emoji found"),selectTemplate:t=>this.textSmiles.includes(t.original)?t.original:((0,a.R)(t.original),t.original.native),values:(t,e)=>{const i=(0,a.K)(t);this.textSmiles.includes(":"+t)&&i.unshift(":"+t),e(i)},containerClass:"tribute-container-emoji",itemClass:"tribute-container-emoji__item"},linkOptions:{trigger:"/",lookup:(t,e)=>e,menuContainer:this.menuContainer,menuItemTemplate:t=>` ${t.original.title}`,noMatchTemplate:()=>(0,o.t)("No link provider found"),selectTemplate:this.getLink,values:(t,e)=>e((0,l.n)(t)),containerClass:"tribute-container-link",itemClass:"tribute-container-link__item"},localValue:this.value,isComposing:!1}},computed:{isEmptyValue(){return!this.localValue||this.localValue&&""===this.localValue.trim()},isFF(){return!!navigator.userAgent.match(/firefox/i)},isOverMaxlength(){return!(this.isEmptyValue||!this.maxlength)&&(0,d.default)(this.localValue)>this.maxlength},tooltipString(){return this.isOverMaxlength?{content:(0,o.t)("Message limit of {count} characters reached",{count:this.maxlength}),shown:!0,trigger:"manual"}:null},canEdit(){return this.contenteditable&&!this.disabled},listeners(){const t={...this.$listeners};return delete t.paste,t}},watch:{value(){const t=this.$refs.contenteditable.innerHTML;this.value.trim()!==this.parseContent(t).trim()&&this.updateContent(this.value)}},mounted(){this.textSmiles=[],["d","D","p","P","s","S","x","X",")","(","|","/"].forEach((t=>{this.textSmiles.push(":"+t),this.textSmiles.push(":-"+t)})),this.autocompleteTribute=new c.default(this.autocompleteOptions),this.autocompleteTribute.attach(this.$el),this.emojiAutocomplete&&(this.emojiTribute=new c.default(this.emojiOptions),this.emojiTribute.attach(this.$el)),this.linkAutocomplete&&(this.linkTribute=new c.default(this.linkOptions),this.linkTribute.attach(this.$el)),this.updateContent(this.value),this.$refs.contenteditable.contentEditable=this.canEdit},beforeDestroy(){this.autocompleteTribute&&this.autocompleteTribute.detach(this.$el),this.emojiTribute&&this.emojiTribute.detach(this.$el),this.linkTribute&&this.linkTribute.detach(this.$el)},methods:{focus(){this.$refs.contenteditable.focus()},getLink(t){return(0,l.j)(t.original.id).then((t=>{const e=document.getElementById("tmp-link-result-node"),i=document.createTextNode(t);e.replaceWith(i),this.setCursorAfter(i),this.updateValue(this.$refs.contenteditable.innerHTML)})).catch((t=>{f.debug("Smart picker promise rejected:",t);const e=document.getElementById("tmp-link-result-node");this.setCursorAfter(e),e.remove()})),''},setCursorAfter(t){const e=document.createRange();e.setEndAfter(t),e.collapse();const i=window.getSelection();i.removeAllRanges(),i.addRange(e)},onInput(t){this.updateValue(t.target.innerHTML)},onPaste(t){if(!this.canEdit)return;t.preventDefault();const e=t.clipboardData;if(this.$emit("paste",t),0!==e.files.length||!Object.values(e.items).find((t=>null==t?void 0:t.type.startsWith("text"))))return;const i=e.getData("text"),n=window.getSelection();if(!n.rangeCount)return void this.updateValue(i);const r=n.getRangeAt(0);n.deleteFromDocument(),r.insertNode(document.createTextNode(i));const s=document.createRange();s.setStart(t.target,r.endOffset),s.collapse(!0),n.removeAllRanges(),n.addRange(s),this.updateValue(this.$refs.contenteditable.innerHTML)},updateValue(t){const e=this.parseContent(t);this.localValue=e,this.$emit("update:value",e)},updateContent(t){const e=this.renderContent(t);this.$refs.contenteditable.innerHTML=e,this.localValue=t},onDelete(t){if(!this.isFF||!window.getSelection||!this.canEdit)return;const e=window.getSelection(),i=t.target;if(!e.isCollapsed||!e.rangeCount)return;const n=e.getRangeAt(e.rangeCount-1);if(3===n.commonAncestorContainer.nodeType&&n.startOffset>0)return;const r=document.createRange();if(e.anchorNode!==i)r.selectNodeContents(i),r.setEndBefore(e.anchorNode);else{if(!(e.anchorOffset>0))return;r.setEnd(i,e.anchorOffset)}r.setStart(i,r.endOffset-1);const s=r.cloneContents().lastChild;s&&"false"===s.contentEditable&&(r.deleteContents(),t.preventDefault())},onEnter(t){this.multiline||this.isOverMaxlength||this.autocompleteTribute.isActive||this.emojiTribute.isActive||this.linkTribute.isActive||this.isComposing||(t.preventDefault(),t.stopPropagation(),this.$emit("submit",t))},onCtrlEnter(t){this.isOverMaxlength||this.$emit("submit",t)},debouncedAutoComplete:u((async function(t,e){this.autoComplete(t,e)}),100),onKeyUp(t){t.stopImmediatePropagation()}}};var w=function(){var t=this;return(0,t._self._c)("div",t._g({directives:[{name:"tooltip",rawName:"v-tooltip",value:t.tooltipString,expression:"tooltipString"}],ref:"contenteditable",staticClass:"rich-contenteditable__input",class:{"rich-contenteditable__input--empty":t.isEmptyValue,"rich-contenteditable__input--multiline":t.multiline,"rich-contenteditable__input--overflow":t.isOverMaxlength,"rich-contenteditable__input--disabled":t.disabled},attrs:{contenteditable:t.canEdit,placeholder:t.placeholder,"aria-placeholder":t.placeholder,"aria-multiline":"true",role:"textbox"},on:{input:t.onInput,compositionstart:function(e){t.isComposing=!0},compositionend:function(e){t.isComposing=!1},keydown:[function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"delete",[8,46],e.key,["Backspace","Delete","Del"])?null:t.onDelete.apply(null,arguments)},function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:t.onEnter.apply(null,arguments)},function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")||!e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:(e.stopPropagation(),e.preventDefault(),t.onCtrlEnter.apply(null,arguments))}],paste:t.onPaste,"!keyup":function(e){return e.stopPropagation(),e.preventDefault(),t.onKeyUp.apply(null,arguments)}}},t.listeners))},_=[];const b=(0,s.n)(y,w,_,!1,null,"b7f5e546",null,null).exports},29354:function(t,e,i){"use strict";i.d(e,{N:function(){return S}});var n=i(2343),r=i(93664),s=i(79753),o=i(76311),a=i(28600),l=i(21955),c=i(10979),u=i(41074),d=i(38878),p=i(27172),f=i(20469),h=i(66875),m=i(72090),g=i(25108);const v=/(\s|^)(https?:\/\/)((?:[-A-Z0-9+_]+\.)+[-A-Z]+(?:\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*)(\s|$)/gi,y=/(\s|\(|^)((https?:\/\/)((?:[-A-Z0-9+_]+\.)+[-A-Z0-9]+(?::[0-9]+)?(?:\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*))(?=\s|\)|$)/gi,w={name:"NcReferenceList",components:{NcReferenceWidget:n.N},props:{text:{type:String,default:""},referenceData:{type:Object,default:null},limit:{type:Number,default:1}},data(){return{references:null,loading:!0}},computed:{isVisible(){return this.loading||this.displayedReferences},values(){return this.referenceData?this.referenceData:this.references?Object.values(this.references):[]},firstReference(){var t;return null!=(t=this.values[0])?t:null},displayedReferences(){return this.values.slice(0,this.limit)}},watch:{text:"fetch"},mounted(){this.fetch()},methods:{fetch(){this.loading=!0,this.referenceData?this.loading=!1:new RegExp(v).exec(this.text)?this.resolve().then((t=>{this.references=t.data.ocs.data.references,this.loading=!1})).catch((t=>{g.error("Failed to extract references",t),this.loading=!1})):this.loading=!1},resolve(){const t=new RegExp(v).exec(this.text.trim());return 1===this.limit&&t?r.Z.get((0,s.generateOcsUrl)("references/resolve",2)+`?reference=${encodeURIComponent(t[0])}`):r.Z.post((0,s.generateOcsUrl)("references/extract",2),{text:this.text,resolve:!0,limit:this.limit})}}};var _=function(){var t=this,e=t._self._c;return t.isVisible?e("div",{staticClass:"widgets--list",class:{"icon-loading":t.loading}},t._l(t.displayedReferences,(function(t){var i;return e("div",{key:null==(i=null==t?void 0:t.openGraphObject)?void 0:i.id},[e("NcReferenceWidget",{attrs:{reference:t}})],1)})),0):t._e()},b=[];const x=(0,o.n)(w,_,b,!1,null,"bd1fbb02",null,null).exports,N={name:"NcLink",props:{href:{type:String,required:!0}},render(t){return t("a",{attrs:{href:this.href,rel:"noopener noreferrer",target:"_blank",class:"rich-text--external-link"}},[this.href.trim()])}},C=function({autolink:t,useMarkdown:e}){return function(i){!e||!t||(0,a.Vn)(i,(t=>"text"===t.type),((t,e,i)=>{let n=I(t.value);return n=n.map((t=>"string"==typeof t?(0,c.u)("text",t):(0,c.u)("link",{url:t.props.href},[(0,c.u)("text",t.props.href)]))).filter((t=>t)),i.children.splice(e,1,...n.flat()),[l.AM,e+n.flat().length]}))}},I=t=>{let e=y.exec(t);const i=[];let n=0;for(;null!==e;){let r,s=e[2],o=t.substring(n,e.index+e[1].length);" "===s[0]&&(o+=s[0],s=s.substring(1).trim());const a=s[s.length-1];("."===a||","===a||";"===a||"("===e[0][0]&&")"===a)&&(s=s.substring(0,s.length-1),r=a),i.push(o),i.push({component:N,props:{href:s}}),r&&i.push(r),n=e.index+e[0].length,e=y.exec(t)}return i.push(t.substring(n)),t===i.map((t=>"string"==typeof t?t:t.props.href)).join("")?i:(g.error("Failed to reassemble the chunked text: "+t),t)},E=function(){return function(t){(0,a.Vn)(t,(t=>"text"===t.type),(function(t,e,i){const n=t.value.split(/(\{[a-z\-_.0-9]+\})/gi).map(((t,e,i)=>{const n=t.match(/^\{([a-z\-_.0-9]+)\}$/i);if(!n)return(0,c.u)("text",t);const[,r]=n;return(0,c.u)("element",{tagName:`#${r}`})}));i.children.splice(e,1,...n)}))}},k={name:"NcRichText",components:{NcReferenceList:x},props:{text:{type:String,default:""},arguments:{type:Object,default:()=>({})},referenceLimit:{type:Number,default:0},references:{type:Object,default:null},markdownCssClasses:{type:Object,default:()=>({a:"rich-text--external-link",ol:"rich-text--ordered-list",ul:"rich-text--un-ordered-list",li:"rich-text--list-item",strong:"rich-text--strong",em:"rich-text--italic",h1:"rich-text--heading rich-text--heading-1",h2:"rich-text--heading rich-text--heading-2",h3:"rich-text--heading rich-text--heading-3",h4:"rich-text--heading rich-text--heading-4",h5:"rich-text--heading rich-text--heading-5",h6:"rich-text--heading rich-text--heading-6",hr:"rich-text--hr",table:"rich-text--table",pre:"rich-text--pre",code:"rich-text--code",blockquote:"rich-text--blockquote"})},useMarkdown:{type:Boolean,default:!1},autolink:{type:Boolean,default:!0}},methods:{renderPlaintext(t){const e=this,i=this.text.split(/(\{[a-z\-_.0-9]+\})/gi).map((function(i,n,r){const s=i.match(/^\{([a-z\-_.0-9]+)\}$/i);if(!s)return(({h:t,context:e},i)=>(e.autolink&&(i=I(i)),Array.isArray(i)?i.map((e=>{if("string"==typeof e)return e;const{component:i,props:n}=e,r="NcLink"===i.name?void 0:"rich-text--component";return t(i,{props:n,class:r})})):i))({h:t,context:e},i);const o=s[1],a=e.arguments[o];if("object"==typeof a){const{component:e,props:i}=a;return t(e,{props:i,class:"rich-text--component"})}return a?t("span",{class:"rich-text--fallback"},a):i}));return t("div",{class:"rich-text--wrapper"},[t("div",{},i.flat()),this.referenceLimit>0?t("div",{class:"rich-text--reference-widget"},[t(x,{props:{text:this.text,referenceData:this.references}})]):null])},renderMarkdown(t){const e=(0,u.l)().use(d.Z).use(C,{autolink:this.autolink,useMarkdown:this.useMarkdown}).use(p.Z).use(f.Z,{handlers:{component(t,e){return t(e,e.component,{value:e.value})}}}).use(E).use(m.Z,{target:"_blank",rel:["noopener noreferrer"]}).use(h.Z,{createElement:(e,i,n)=>{if(n=null==n?void 0:n.map((t=>"string"==typeof t?t.replace(/</gim,"<"):t)),!e.startsWith("#"))return t(e,i,n);const r=this.arguments[e.slice(1)];return r?r.component?t(r.component,{attrs:i,props:r.props,class:"rich-text--component"},n):t("span",i,[r]):t("span",{attrs:i,class:"rich-text--fallback"},[`{${e.slice(1)}}`])},prefix:!1}).processSync(this.text.replace(/")).result;return t("div",{class:"rich-text--wrapper rich-text--wrapper-markdown"},[e,this.referenceLimit>0?t("div",{class:"rich-text--reference-widget"},[t(x,{props:{text:this.text,referenceData:this.references}})]):null])}},render(t){return this.useMarkdown?this.renderMarkdown(t):this.renderPlaintext(t)}},S=(0,o.n)(k,null,null,!1,null,"f9d2c651",null,null).exports},64882:function(t,e,i){"use strict";i.d(e,{$U:function(){return L.Z},FK:function(){return Q.Z},Iw:function(){return a.Z},Jc:function(){return K.Z},Jh:function(){return O.Z},O3:function(){return d.Z},P2:function(){return P.Z},QG:function(){return at.Z},SL:function(){return H.Z},Z9:function(){return V.Z},fg:function(){return D.Z},h3:function(){return lt.Z},rw:function(){return M.Z}});var n=i(20212),r=i(66236),s=i(34791),o=i(56562),a=i(31466),l=i(74176),c=i(52300),u=i(64208),d=i(3349),p=i(68763),f=i(76955),h=i(94162),m=i(56071),g=i(27657),v=i(2047),y=i(35534),w=i(82002),_=i(89998),b=i(41705),x=i(61898),N=i(39726),C=i(66845),I=i(87875),E=i(20932),k=i(34739),S=i(88344),T=i(38298),A=i(52467),L=i(36402),D=i(43133),P=i(57274),M=i(71998),Z=i(37776),F=i(73743),j=i(93182),B=i(89241),z=i(54581),O=i(97947),V=i(85017),R=i(37008),$=i(78573),H=i(86514),U=i(93428),Y=i(93815),G=i(40873),Q=i(63813),W=i(11599),X=i(14802),q=i(20435),K=i(59110),J=i(80774),tt=i(16972),et=i(34246),it=i(34854),nt=i(22554),rt=i(22663),st=i(46318),ot=i(29354),at=(i(2343),i(93664),i(79753),i(61537)),lt=(i(23248),i(25751),i(49368)),ct=(i(89115),i(69183),i(32219),i(82675),i(74911)),ut=i(35380),dt=i(56857),pt=i(67912),ft=i(48020),ht=i(47414),mt=i(7566),gt=(i(93911),i(85302),i(90318)),vt=i(17593),yt=(i(79845),i(84722),i(76692),i(40946),i(73045));n.Z,r.Z,s.Z,o.Z,a.Z,l.Z,c.Z,u.Z,p.Z,f.Z,h.Z,d.Z,m.Z,g.Z,v.Z,y.Z,w.Z,_.Z,b.Z,x.Z,N.Z,C.Z,I.Z,E.Z,k.Z,S.Z,T.Z,st.NcAutoCompleteResult,A.N,L.Z,D.Z,P.Z,M.Z,Z.Z,F.Z,j.Z,B.Z,z.Z,O.Z,V.Z,R.Z,$.Z,H.Z,U.Z,Y.Z,G.N,Q.Z,W.Z,X.Z,q.Z,rt.N,K.Z,J.Z,tt.Z,et.Z,it.Z,nt.Z,st.default,ot.N,ct.Z,at.Z,ut.Z,dt.Z,pt.Z,ft.N,lt.Z,ht.Z,mt.Z,Symbol.toStringTag,gt.X,vt.X,yt.VTooltip,Symbol.toStringTag}}]); -//# sourceMappingURL=3245-3245.js.map?v=9712b63e6d8aa316e55f \ No newline at end of file +(self.webpackChunknextcloud=self.webpackChunknextcloud||[]).push([[3245,6318],{42761:function(t){"use strict";t.exports="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTS00LTRoMjR2MjRILTRWLTR6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTggMEMzLjYgMCAwIDMuNiAwIDhzMy42IDggOCA4IDgtMy42IDgtOC0zLjYtOC04LTh6IiBmaWxsPSIjZWQ0ODRjIi8+PHBhdGggZD0iTTUgNi41aDZjLjggMCAxLjUuNyAxLjUgMS41cy0uNyAxLjUtMS41IDEuNUg1Yy0uOCAwLTEuNS0uNy0xLjUtMS41UzQuMiA2LjUgNSA2LjV6IiBmaWxsPSIjZmRmZmZmIi8+PC9zdmc+Cg=="},87210:function(t){"use strict";t.exports="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTQuOCAxMS4yaDYuNFY0LjhINC44djYuNHpNOCAwQzMuNiAwIDAgMy42IDAgOHMzLjYgOCA4IDggOC0zLjYgOC04LTMuNi04LTgtOHoiIGZpbGw9IiM0OWIzODIiLz48L3N2Zz4K"},94659:function(t){"use strict";t.exports="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTS00LTRoMjR2MjRILTR6Ii8+PHBhdGggZD0iTTYuOS4xQzMgLjYtLjEgNC0uMSA4YzAgNC40IDMuNiA4IDggOCA0IDAgNy40LTMgOC02LjktMS4yIDEuMy0yLjkgMi4xLTQuNyAyLjEtMy41IDAtNi40LTIuOS02LjQtNi40IDAtMS45LjgtMy42IDIuMS00Ljd6IiBmaWxsPSIjZjRhMzMxIi8+PC9zdmc+Cg=="},11530:function(t){"use strict";t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2QyZDJkMiI+PHBhdGggZD0iTTE1LjQgMTYuNkwxMC44IDEybDQuNi00LjZMMTQgNmwtNiA2IDYgNiAxLjQtMS40eiIvPjwvc3ZnPg=="},71124:function(t){"use strict";t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2QyZDJkMiI+PHBhdGggZD0iTTE4LjQgNy40TDE3IDZsLTYgNiA2IDYgMS40LTEuNC00LjYtNC42IDQuNi00LjZtLTYgMEwxMSA2bC02IDYgNiA2IDEuNC0xLjRMNy44IDEybDQuNi00LjZ6Ii8+PC9zdmc+"},48461:function(t){"use strict";t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2QyZDJkMiI+PHBhdGggZD0iTTUuNiA3LjRMNyA2bDYgNi02IDYtMS40LTEuNCA0LjYtNC42LTQuNi00LjZtNiAwTDEzIDZsNiA2LTYgNi0xLjQtMS40IDQuNi00LjYtNC42LTQuNnoiLz48L3N2Zz4="},23427:function(t){"use strict";t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2QyZDJkMiI+PHBhdGggZD0iTTguNiAxNi42bDQuNi00LjYtNC42LTQuNkwxMCA2bDYgNi02IDYtMS40LTEuNHoiLz48L3N2Zz4="},39896:function(t){"use strict";t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTE1LjQgMTYuNkwxMC44IDEybDQuNi00LjZMMTQgNmwtNiA2IDYgNiAxLjQtMS40eiIvPjwvc3ZnPg=="},76899:function(t){"use strict";t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTE4LjQgNy40TDE3IDZsLTYgNiA2IDYgMS40LTEuNC00LjYtNC42IDQuNi00LjZtLTYgMEwxMSA2bC02IDYgNiA2IDEuNC0xLjRMNy44IDEybDQuNi00LjZ6Ii8+PC9zdmc+"},88931:function(t){"use strict";t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTUuNiA3LjRMNyA2bDYgNi02IDYtMS40LTEuNCA0LjYtNC42LTQuNi00LjZtNiAwTDEzIDZsNiA2LTYgNi0xLjQtMS40IDQuNi00LjYtNC42LTQuNnoiLz48L3N2Zz4="},16556:function(t){"use strict";t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTguNiAxNi42bDQuNi00LjYtNC42LTQuNkwxMCA2bDYgNi02IDYtMS40LTEuNHoiLz48L3N2Zz4="},24654:function(){},52361:function(){},94616:function(){},66814:function(t,e,i){"use strict";i.r(e),i.d(e,{default:function(){return P}});var n=i(20144),r=i(64882),s=i(9568),o=i(64886),a=i(5656),l=i(31352),c=i(62520),u=i(6888),d=i(79753),p=i(74139);function f(t,e,i,n,r,s,o,a){var l,c="function"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=i,c._compiled=!0),n&&(c.functional=!0),s&&(c._scopeId="data-v-"+s),o?(l=function(t){!(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)&&typeof __VUE_SSR_CONTEXT__<"u"&&(t=__VUE_SSR_CONTEXT__),r&&r.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},c._ssrRegister=l):r&&(l=a?function(){r.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:r),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(t,e){return l.call(e),u(t,e)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:t,options:c}}const h=f({name:"FileIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon file-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,m=f((0,n.defineComponent)({__name:"DialogButton",props:{callback:null,label:null,icon:{default:void 0},type:{default:"secondary"}},emits:["click"],setup(t,{emit:e}){const i=t;return{__sfc:!0,props:i,emit:e,handleClick:t=>{var n;null==(n=i.callback)||n.call(i),e("click",t)},NcButton:r.P2,NcIconSvgWrapper:r.FK}}}),(function(){var t=this,e=t._self._c,i=t._self._setupProxy;return e(i.NcButton,{attrs:{"aria-label":i.props.label,type:i.props.type},on:{click:i.handleClick},scopedSlots:t._u([void 0!==i.props.icon?{key:"icon",fn:function(){return["string"==typeof i.props.icon?e(i.NcIconSvgWrapper,{attrs:{svg:i.props.icon}}):e(i.props.icon,{tag:"component",attrs:{size:20}})]},proxy:!0}:null],null,!0)},[t._v(" "+t._s(i.props.label)+" ")])}),[],!1,null,null,null,null).exports,g=f((0,n.defineComponent)({__name:"DialogBase",props:{name:null,message:{default:""},additionalTrapElements:{default:()=>[]},container:{default:void 0},size:{default:"small"},buttons:{default:()=>[]},navigationClasses:{default:()=>[]},contentClasses:{default:()=>[]},dialogClasses:{default:()=>[]}},emits:["close"],setup(t,{emit:e}){const i=t,o=(0,n.useSlots)(),a=(0,n.ref)(),{width:l}=(0,s.h4X)(a),c=(0,n.computed)((()=>l.value<876)),u=(0,n.computed)((()=>void 0!==(null==o?void 0:o.navigation))),d=(0,n.ref)(!0),p=(0,n.computed)((()=>({additionalTrapElements:i.additionalTrapElements,container:void 0===i.container?"body":i.container,name:i.name,size:i.size,enableSlideshow:!1,enableSwipe:!1})));return{__sfc:!0,props:i,emit:e,slots:o,wrapper:a,dialogWidth:l,isNavigationCollapsed:c,hasNavigation:u,open:d,handleClose:()=>{d.value=!1,e("close")},modalProps:p,NcModal:r.Jc,DialogButton:m}}}),(function(){var t=this,e=t._self._c,i=t._self._setupProxy;return i.open?e(i.NcModal,t._b({staticClass:"dialog__modal",on:{close:i.handleClose}},"NcModal",i.modalProps,!1),[e("h2",{staticClass:"dialog__name",domProps:{textContent:t._s(t.name)}}),e("div",{staticClass:"dialog",class:t.dialogClasses},[e("div",{ref:"wrapper",class:["dialog__wrapper",{"dialog__wrapper--collapsed":i.isNavigationCollapsed}]},[i.hasNavigation?e("nav",{staticClass:"dialog__navigation",class:t.navigationClasses},[t._t("navigation",null,{isCollapsed:i.isNavigationCollapsed})],2):t._e(),e("div",{staticClass:"dialog__content",class:t.contentClasses},[t._t("default",(function(){return[e("p",[t._v(t._s(i.props.message))])]}))],2)]),e("div",{staticClass:"dialog__actions"},[t._t("actions",(function(){return t._l(i.props.buttons,(function(n,r){return e(i.DialogButton,t._b({key:r,on:{click:i.handleClose}},"DialogButton",n,!1))}))}))],2)])]):t._e()}),[],!1,null,"d17575ed",null,null).exports,v=f({name:"MenuDownIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon menu-down-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M7,10L12,15L17,10H7Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,y=f({name:"MenuUpIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon menu-up-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M7,15L12,10L17,15H7Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,w={"file-picker__file-icon":"_file-picker__file-icon_1vgv4_5"},_=f((0,n.defineComponent)({__name:"LoadingTableRow",props:{showCheckbox:{type:Boolean}},setup(t){return{__sfc:!0,fileListIconStyles:w}}}),(function(){var t=this,e=t._self._c,i=t._self._setupProxy;return e("tr",{staticClass:"file-picker__row loading-row",attrs:{"aria-hidden":"true"}},[t.showCheckbox?e("td",{staticClass:"row-checkbox"},[e("span")]):t._e(),e("td",{staticClass:"row-name"},[e("div",{staticClass:"row-wrapper"},[e("span",{class:i.fileListIconStyles["file-picker__file-icon"]}),e("span")])]),t._m(0),t._m(1)])}),[function(){var t=this._self._c;return this._self._setupProxy,t("td",{staticClass:"row-size"},[t("span")])},function(){var t=this._self._c;return this._self._setupProxy,t("td",{staticClass:"row-modified"},[t("span")])}],!1,null,"6aded0d9",null,null).exports,b=f({name:"FolderIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon folder-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,x=f((0,n.defineComponent)({__name:"FilePreview",props:{node:null},setup(t){const e=t,i=(0,n.ref)(w),{previewURL:r}=((t,e)=>{const i=(0,n.ref)(null);return(0,n.watchEffect)((()=>{i.value=function(t,e={}){var i;e={size:32,cropPreview:!1,mimeFallback:!0,...e};try{const n=(null==(i=t.attributes)?void 0:i.previewUrl)||(0,d.generateUrl)("/core/preview?fileId={fileid}",{fileid:t.fileid});let r;try{r=new URL(n)}catch{r=new URL(n,window.location.origin)}return r.searchParams.set("x","".concat(e.size)),r.searchParams.set("y","".concat(e.size)),r.searchParams.set("mimeFallback","".concat(e.mimeFallback)),r.searchParams.set("a",!0===e.cropPreview?"0":"1"),r}catch{return null}}((0,o.Tn)(t),(0,o.Tn)(e||{}))})),{previewURL:i}})((0,n.toRef)(e,"node")),s=(0,n.computed)((()=>e.node.type===a.Tv.File)),l=(0,n.ref)(!1);return(0,n.watch)(r,(()=>{if(l.value=!1,r.value){const t=document.createElement("img");t.src=r.value.href,t.onerror=()=>t.remove(),t.onload=()=>{l.value=!0,t.remove()},document.body.appendChild(t)}}),{immediate:!0}),{__sfc:!0,fileListIconStyles:i,props:e,previewURL:r,isFile:s,canLoadPreview:l,t:u.t,IconFile:h,IconFolder:b}}}),(function(){var t=this,e=t._self._c,i=t._self._setupProxy;return e("div",{class:i.fileListIconStyles["file-picker__file-icon"],style:i.canLoadPreview?{backgroundImage:"url(".concat(i.previewURL,")")}:void 0,attrs:{"aria-label":i.t("Mime type {mime}",{mime:t.node.mime||i.t("unknown")})}},[i.canLoadPreview?t._e():[i.isFile?e(i.IconFile,{attrs:{size:20}}):e(i.IconFolder,{attrs:{size:20}})]],2)}),[],!1,null,null,null,null).exports,N=f((0,n.defineComponent)({__name:"FileListRow",props:{allowPickDirectory:{type:Boolean},selected:{type:Boolean},showCheckbox:{type:Boolean},canPick:{type:Boolean},node:null},emits:["update:selected","enter-directory"],setup(t,{emit:e}){const i=t,s=(0,n.computed)((()=>{var t;return(null==(t=i.node.attributes)?void 0:t.displayName)||i.node.basename.slice(0,i.node.extension?-i.node.extension.length:void 0)})),o=(0,n.computed)((()=>i.node.extension)),l=(0,n.computed)((()=>i.node.type===a.Tv.Folder)),c=(0,n.computed)((()=>i.canPick&&(i.allowPickDirectory||!l.value)));function d(){e("update:selected",!i.selected)}function p(){l.value?e("enter-directory",i.node):d()}return{__sfc:!0,props:i,emit:e,displayName:s,fileExtension:o,isDirectory:l,isPickable:c,toggleSelected:d,handleClick:p,handleKeyDown:function(t){"Enter"===t.key&&p()},formatFileSize:a.sS,NcCheckboxRadioSwitch:r.rw,NcDateTime:r.Jh,t:u.t,FilePreview:x}}}),(function(){var t=this,e=t._self._c,i=t._self._setupProxy;return e("tr",t._g({class:["file-picker__row",{"file-picker__row--selected":t.selected&&!t.showCheckbox}],attrs:{tabindex:t.showCheckbox&&!i.isDirectory?void 0:0,"aria-selected":i.isPickable?t.selected:void 0,"data-filename":t.node.basename,"data-testid":"file-list-row"},on:{click:i.handleClick}},!t.showCheckbox||i.isDirectory?{keydown:i.handleKeyDown}:{}),[t.showCheckbox?e("td",{staticClass:"row-checkbox"},[e(i.NcCheckboxRadioSwitch,{attrs:{disabled:!i.isPickable,checked:t.selected,"aria-label":i.t("Select the row for {nodename}",{nodename:i.displayName}),"data-testid":"row-checkbox"},on:{click:function(t){t.stopPropagation()},"update:checked":i.toggleSelected}})],1):t._e(),e("td",{staticClass:"row-name"},[e("div",{staticClass:"file-picker__name-container",attrs:{"data-testid":"row-name"}},[e(i.FilePreview,{attrs:{node:t.node}}),e("div",{staticClass:"file-picker__file-name",attrs:{title:i.displayName},domProps:{textContent:t._s(i.displayName)}}),e("div",{staticClass:"file-picker__file-extension",domProps:{textContent:t._s(i.fileExtension)}})],1)]),e("td",{staticClass:"row-size"},[t._v(" "+t._s(i.formatFileSize(t.node.size||0))+" ")]),e("td",{staticClass:"row-modified"},[e(i.NcDateTime,{attrs:{timestamp:t.node.mtime,"ignore-seconds":!0}})],1)])}),[],!1,null,"d337ebac",null,null).exports,C=f((0,n.defineComponent)({__name:"FileList",props:{multiselect:{type:Boolean},allowPickDirectory:{type:Boolean},loading:{type:Boolean},files:null,selectedFiles:null,path:null},emits:["update:path","update:selectedFiles"],setup(t,{emit:e}){const i=t,s=(0,n.ref)("ascending"),o=(0,n.ref)(void 0),d=(0,n.ref)(void 0),p={ascending:(t,e,i)=>i(t,e),descending:(t,e,i)=>i(e,t),none:(t,e,i)=>0},f=(t,e)=>{var i,n;return((null==(i=t.attributes)?void 0:i.displayName)||t.basename).localeCompare((null==(n=e.attributes)?void 0:n.displayName)||e.basename,(0,l.aj)())},h=(t,e)=>(e.size||0)-(t.size||0),m=(t,e)=>{var i,n;return((null==(i=t.mtime)?void 0:i.getTime())||0)-((null==(n=e.mtime)?void 0:n.getTime())||0)},g=t=>{const e=t.value;d.value=o.value=s.value=void 0,t.value="ascending"===e?"descending":"ascending"},w=(0,n.computed)((()=>[...i.files].sort(((t,e)=>(e.type===a.Tv.Folder?1:0)-(t.type===a.Tv.Folder?1:0)||p[s.value||"none"](t,e,f)||p[o.value||"none"](t,e,h)||p[d.value||"none"](t,e,m))))),b=(0,n.computed)((()=>i.files.filter((t=>i.allowPickDirectory||t.type!==a.Tv.Folder)))),x=(0,n.computed)((()=>!i.loading&&i.selectedFiles.length>0&&i.selectedFiles.length>=b.value.length)),C=(0,n.ref)(4),I=(0,n.ref)();{const t=()=>(0,n.nextTick)((()=>{var t,e,i,n,r;const s=(null==(e=null==(t=I.value)?void 0:t.parentElement)?void 0:e.children)||[];let o=(null==(n=null==(i=I.value)?void 0:i.parentElement)?void 0:n.clientHeight)||450;for(let t=0;t{window.addEventListener("resize",t),t()})),(0,n.onUnmounted)((()=>{window.removeEventListener("resize",t)}))}return{__sfc:!0,props:i,emit:e,sortByName:s,sortBySize:o,sortByModified:d,ordering:p,byName:f,bySize:h,byDate:m,toggleSorting:g,toggleSortByName:()=>g(s),toggleSortBySize:()=>g(o),toggleSortByModified:()=>g(d),sortedFiles:w,selectableFiles:b,allSelected:x,onSelectAll:function(){i.selectedFiles.lengthe.path!==t.path))):i.multiselect?e("update:selectedFiles",[...i.selectedFiles,t]):e("update:selectedFiles",[t])},onChangeDirectory:function(t){e("update:path",(0,c.join)(i.path,t.basename))},skeletonNumber:C,fileContainer:I,NcButton:r.P2,NcCheckboxRadioSwitch:r.rw,t:u.t,IconSortAscending:v,IconSortDescending:y,LoadingTableRow:_,FileListRow:N}}}),(function(){var t=this,e=t._self._c,i=t._self._setupProxy;return e("div",{ref:"fileContainer",staticClass:"file-picker__files"},[e("table",[e("thead",[e("tr",[t.multiselect?e("th",{staticClass:"row-checkbox"},[e("span",{staticClass:"hidden-visually"},[t._v(" "+t._s(i.t("Select entry"))+" ")]),t.multiselect?e(i.NcCheckboxRadioSwitch,{attrs:{"aria-label":i.t("Select all entries"),checked:i.allSelected,"data-testid":"select-all-checkbox"},on:{"update:checked":i.onSelectAll}}):t._e()],1):t._e(),e("th",{staticClass:"row-name",attrs:{"aria-sort":i.sortByName}},[e("div",{staticClass:"header-wrapper"},[e("span",{staticClass:"file-picker__header-preview"}),e(i.NcButton,{attrs:{wide:!0,type:"tertiary","data-test":"file-picker_sort-name"},on:{click:i.toggleSortByName},scopedSlots:t._u([{key:"icon",fn:function(){return["ascending"===i.sortByName?e(i.IconSortAscending,{attrs:{size:20}}):"descending"===i.sortByName?e(i.IconSortDescending,{attrs:{size:20}}):e("span",{staticStyle:{width:"44px"}})]},proxy:!0}])},[t._v(" "+t._s(i.t("Name"))+" ")])],1)]),e("th",{staticClass:"row-size",attrs:{"aria-sort":i.sortBySize}},[e(i.NcButton,{attrs:{wide:!0,type:"tertiary"},on:{click:i.toggleSortBySize},scopedSlots:t._u([{key:"icon",fn:function(){return["ascending"===i.sortBySize?e(i.IconSortAscending,{attrs:{size:20}}):"descending"===i.sortBySize?e(i.IconSortDescending,{attrs:{size:20}}):e("span",{staticStyle:{width:"44px"}})]},proxy:!0}])},[t._v(" "+t._s(i.t("Size"))+" ")])],1),e("th",{staticClass:"row-modified",attrs:{"aria-sort":i.sortByModified}},[e(i.NcButton,{attrs:{wide:!0,type:"tertiary"},on:{click:i.toggleSortByModified},scopedSlots:t._u([{key:"icon",fn:function(){return["ascending"===i.sortByModified?e(i.IconSortAscending,{attrs:{size:20}}):"descending"===i.sortByModified?e(i.IconSortDescending,{attrs:{size:20}}):e("span",{staticStyle:{width:"44px"}})]},proxy:!0}])},[t._v(" "+t._s(i.t("Modified"))+" ")])],1)])]),e("tbody",[t.loading?t._l(i.skeletonNumber,(function(n){return e(i.LoadingTableRow,{key:n,attrs:{"show-checkbox":t.multiselect}})})):t._l(i.sortedFiles,(function(n){return e(i.FileListRow,{key:n.fileid||n.path,attrs:{"allow-pick-directory":t.allowPickDirectory,"show-checkbox":t.multiselect,"can-pick":t.multiselect||0===t.selectedFiles.length||t.selectedFiles.includes(n),selected:t.selectedFiles.includes(n),node:n},on:{"update:selected":function(t){return i.onNodeSelected(n)},"enter-directory":i.onChangeDirectory}})}))],2)])])}),[],!1,null,"87fafd7e",null,null).exports,I=f({name:"HomeIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon home-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M10,20V14H14V20H19V12H22L12,3L2,12H5V20H10Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,E=f({name:"PlusIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon plus-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,k=f((0,n.defineComponent)({__name:"FilePickerBreadcrumbs",props:{path:null,showMenu:{type:Boolean}},emits:["update:path","create-node"],setup(t,{emit:e}){const i=t,s=(0,n.ref)(""),o=(0,n.ref)();function a(){var t,e,i,n;const r=s.value.trim(),a=null==(e=null==(t=o.value)?void 0:t.$el)?void 0:e.querySelector("input");let l="";return 0===r.length?l=(0,u.t)("File name cannot be empty."):r.includes("/")?l=(0,u.t)('"/" is not allowed inside a file name.'):["..","."].includes(r)?l=(0,u.t)('"{name}" is an invalid file name.',{name:r}):null!=(i=window.OC.config)&&i.blacklist_files_regex&&r.match(null==(n=window.OC.config)?void 0:n.blacklist_files_regex)&&(l=(0,u.t)('"{name}" is not an allowed filetype',{name:r})),a&&a.setCustomValidity(l),""===l}const l=(0,n.computed)((()=>i.path.split("/").filter((t=>""!==t)).map(((t,e,i)=>({name:t,path:"/"+i.slice(0,e+1).join("/")})))));return{__sfc:!0,props:i,emit:e,newNodeName:s,nameInput:o,validateInput:a,onSubmit:function(){const t=s.value.trim();a()&&(e("create-node",t),s.value="")},pathElements:l,IconFolder:b,IconHome:I,IconPlus:E,NcActions:r.O3,NcActionInput:r.Iw,NcBreadcrumbs:r.fg,NcBreadcrumb:r.$U,t:u.t}}}),(function(){var t=this,e=t._self._c,i=t._self._setupProxy;return e(i.NcBreadcrumbs,{staticClass:"file-picker__breadcrumbs",scopedSlots:t._u([{key:"default",fn:function(){return[e(i.NcBreadcrumb,{attrs:{name:i.t("Home"),title:i.t("Home")},on:{click:function(t){return i.emit("update:path","/")}},scopedSlots:t._u([{key:"icon",fn:function(){return[e(i.IconHome,{attrs:{size:20}})]},proxy:!0}])}),t._l(i.pathElements,(function(t){return e(i.NcBreadcrumb,{key:t.path,attrs:{name:t.name,title:t.path},on:{click:function(e){return i.emit("update:path",t.path)}}})}))]},proxy:!0},t.showMenu?{key:"actions",fn:function(){return[e(i.NcActions,{attrs:{"aria-label":i.t("Create directory"),"force-menu":!0,"force-name":!0,"menu-name":i.t("New"),type:"secondary"},on:{close:function(t){i.newNodeName=""}},scopedSlots:t._u([{key:"icon",fn:function(){return[e(i.IconPlus,{attrs:{size:20}})]},proxy:!0}],null,!1,2971667417)},[e(i.NcActionInput,{ref:"nameInput",attrs:{value:i.newNodeName,label:i.t("New folder"),placeholder:i.t("New folder name")},on:{"update:value":function(t){i.newNodeName=t},submit:i.onSubmit,input:i.validateInput},scopedSlots:t._u([{key:"icon",fn:function(){return[e(i.IconFolder,{attrs:{size:20}})]},proxy:!0}],null,!1,1614167509)})],1)]},proxy:!0}:null],null,!0)})}),[],!1,null,"d35aa423",null,null).exports,S=f({name:"ClockIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon clock-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M16.2,16.2L11,13V7H12.5V12.2L17,14.9L16.2,16.2Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,T=f({name:"CloseIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon close-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,A=f({name:"MagnifyIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon magnify-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,L=f({name:"StarIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon star-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,D=f((0,n.defineComponent)({__name:"FilePickerNavigation",props:{currentView:null,filterString:null,isCollapsed:{type:Boolean}},emits:["update:currentView","update:filterString"],setup(t,{emit:e}){const i=t,s=[{id:"files",label:(0,u.t)("All files"),icon:b},{id:"recent",label:(0,u.t)("Recent"),icon:S},{id:"favorites",label:(0,u.t)("Favorites"),icon:L}],o=(0,n.computed)((()=>s.filter((t=>t.id===i.currentView))[0]));return{__sfc:!0,allViews:s,props:i,emit:e,currentViewObject:o,updateFilterValue:t=>e("update:filterString",t),IconClose:T,IconMagnify:A,NcButton:r.P2,NcSelect:r.QG,NcTextField:r.h3,t:u.t,Fragment:p.Fragment}}}),(function(){var t=this,e=t._self._c,i=t._self._setupProxy;return e(i.Fragment,[e(i.NcTextField,{staticClass:"file-picker__filter-input",attrs:{value:t.filterString,label:i.t("Filter file list"),"show-trailing-button":!!t.filterString},on:{"update:value":i.updateFilterValue,"trailing-button-click":function(t){return i.updateFilterValue("")}},scopedSlots:t._u([{key:"trailing-button-icon",fn:function(){return[e(i.IconClose,{attrs:{size:16}})]},proxy:!0}])},[e(i.IconMagnify,{attrs:{size:16}})],1),t.isCollapsed?e(i.NcSelect,{attrs:{"aria-label":i.t("Current view selector"),clearable:!1,searchable:!1,options:i.allViews,value:i.currentViewObject},on:{input:t=>i.emit("update:currentView",t.id)}}):e("ul",{staticClass:"file-picker__side",attrs:{role:"tablist","aria-label":i.t("Filepicker sections")}},t._l(i.allViews,(function(n){return e("li",{key:n.id},[e(i.NcButton,{attrs:{"aria-selected":t.currentView===n.id,type:t.currentView===n.id?"primary":"tertiary",wide:!0,role:"tab"},on:{click:function(e){return t.$emit("update:currentView",n.id)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e(n.icon,{tag:"component",attrs:{size:20}})]},proxy:!0}],null,!0)},[t._v(" "+t._s(n.label)+" ")])],1)})),0)],1)}),[],!1,null,"fcfd0f23",null,null).exports,P=f((0,n.defineComponent)({name:"FilePicker",props:{buttons:null,name:null,allowPickDirectory:{type:Boolean,default:!1},container:{default:"body"},filterFn:{default:void 0},mimetypeFilter:{default:()=>[]},multiselect:{type:Boolean,default:!0},path:{default:"/"}},emits:["close"],setup(t,{emit:e}){const i=t,s=(0,n.computed)((()=>({container:i.container,name:i.name,buttons:o.value,size:"large",contentClasses:["file-picker__content"],dialogClasses:["file-picker"],navigationClasses:["file-picker__navigation"]}))),o=(0,n.computed)((()=>("function"==typeof i.buttons?i.buttons(p.value,v.value,l.value):i.buttons).map((t=>({...t,callback:async()=>{const n=0===p.value.length&&i.allowPickDirectory?[await N(v.value)]:p.value;t.callback(n),e("close",p.value)}}))))),l=(0,n.ref)("files"),d=(0,n.computed)((()=>"favorites"===l.value?(0,u.t)("Favorites"):"recent"===l.value?(0,u.t)("Recent"):"")),p=(0,n.ref)([]),f=(0,n.ref)((null==window?void 0:window.sessionStorage.getItem("NC.FilePicker.LastPath"))||"/"),m=(0,n.ref)(),v=(0,n.computed)({get:()=>"files"===l.value?m.value||i.path||f.value:"/",set:t=>{void 0===i.path&&window.sessionStorage.setItem("NC.FilePicker.LastPath",t),m.value=t,p.value=[]}}),y=(0,n.ref)(""),{isSupportedMimeType:w}=function(t){const e=(0,n.computed)((()=>t.value.map((t=>t.split("/")))));return{isSupportedMimeType:t=>{const i=t.split("/");return e.value.some((([t,e])=>!(i[0]!==t&&"*"!==t||i[1]!==e&&"*"!==e)))}}}((0,n.toRef)(i,"mimetypeFilter")),{files:_,isLoading:b,loadFiles:x,getFile:N,client:I}=function(t,e){const i=(0,a.rp)(),r=(0,n.ref)([]),s=(0,n.ref)(!0);async function o(){if(s.value=!0,"favorites"===t.value)r.value=await(0,a.pC)(i,e.value);else if("recent"===t.value){const t=Math.round(Date.now()/1e3)-1209600,{data:e}=await i.search("/",{details:!0,data:(0,a.tB)(t)});r.value=e.results.map((t=>(0,a.RL)(t)))}else{const t=await i.getDirectoryContents("".concat(a._o).concat(e.value),{details:!0,data:(0,a.h7)()});r.value=t.data.map((t=>(0,a.RL)(t)))}s.value=!1}return(0,n.watch)([t,e],(()=>o())),(0,n.onMounted)((()=>o())),{isLoading:s,files:r,loadFiles:()=>o(),getFile:async function(t,e=a._o){const n=await i.stat("".concat(e).concat(t),{details:!0});return(0,a.RL)(n.data)},client:i}}(l,v);(0,n.onMounted)((()=>x()));const E=(0,n.computed)((()=>{let t=_.value;return i.mimetypeFilter.length>0&&(t=t.filter((t=>"folder"===t.type||t.mime&&w(t.mime)))),y.value&&(t=t.filter((t=>t.basename.toLowerCase().includes(y.value.toLowerCase())))),i.filterFn&&(t=t.filter((t=>i.filterFn(t)))),t})),S=(0,n.computed)((()=>"files"===l.value?(0,u.t)("Upload some content or sync with your devices!"):"recent"===l.value?(0,u.t)("Files and folders you recently modified will show up here."):(0,u.t)("Files and folders you mark as favorite will show up here.")));return{__sfc:!0,props:i,emit:e,dialogProps:s,dialogButtons:o,currentView:l,viewHeadline:d,selectedFiles:p,savedPath:f,navigatedPath:m,currentPath:v,filterString:y,isSupportedMimeType:w,files:_,isLoading:b,loadFiles:x,getFile:N,client:I,filteredFiles:E,noFilesDescription:S,onCreateFolder:t=>{I.createDirectory((0,c.join)(a._o,v.value,t)).then((()=>x())).catch((t=>(0,u.s)((0,u.t)("Could not create the new folder"))))},IconFile:h,DialogBase:g,FileList:C,FilePickerBreadcrumbs:k,FilePickerNavigation:D,NcEmptyContent:r.SL,t:u.t}}}),(function(){var t=this,e=t._self._c,i=t._self._setupProxy;return e(i.DialogBase,t._b({on:{close:function(t){return i.emit("close")}},scopedSlots:t._u([{key:"navigation",fn:function({isCollapsed:t}){return[e(i.FilePickerNavigation,{attrs:{"is-collapsed":t,"current-view":i.currentView,"filter-string":i.filterString},on:{"update:currentView":function(t){i.currentView=t},"update:current-view":function(t){i.currentView=t},"update:filterString":function(t){i.filterString=t},"update:filter-string":function(t){i.filterString=t}}})]}}])},"DialogBase",i.dialogProps,!1),[e("div",{staticClass:"file-picker__main"},["files"===i.currentView?e(i.FilePickerBreadcrumbs,{attrs:{path:i.currentPath,"show-menu":t.allowPickDirectory},on:{"update:path":function(t){i.currentPath=t},"create-node":i.onCreateFolder}}):e("div",{staticClass:"file-picker__view"},[e("h3",[t._v(t._s(i.viewHeadline))])]),i.isLoading||i.filteredFiles.length>0?e(i.FileList,{attrs:{"allow-pick-directory":t.allowPickDirectory,files:i.filteredFiles,multiselect:t.multiselect,loading:i.isLoading,path:i.currentPath,"selected-files":i.selectedFiles,name:i.viewHeadline},on:{"update:path":[function(t){i.currentPath=t},function(t){i.currentView="files"}],"update:selectedFiles":function(t){i.selectedFiles=t},"update:selected-files":function(t){i.selectedFiles=t}}}):i.filterString?e(i.NcEmptyContent,{attrs:{name:i.t("No matching files"),description:i.t("No files matching your filter were found.")},scopedSlots:t._u([{key:"icon",fn:function(){return[e(i.IconFile)]},proxy:!0}])}):e(i.NcEmptyContent,{attrs:{name:i.t("No files in here"),description:i.noFilesDescription},scopedSlots:t._u([{key:"icon",fn:function(){return[e(i.IconFile)]},proxy:!0}])})],1)])}),[],!1,null,"3e8ab6c4",null,null).exports},5656:function(t,e,i){"use strict";i.d(e,{$B:function(){return B},DT:function(){return w},De:function(){return N},G7:function(){return de},Ir:function(){return he},NB:function(){return j},RL:function(){return H},Ti:function(){return Y},Tv:function(){return P},Vn:function(){return x},_o:function(){return O},cd:function(){return fe},e4:function(){return F},fs:function(){return A},gt:function(){return z},h7:function(){return T},jA:function(){return y},m0:function(){return k},p$:function(){return _},p4:function(){return b},pC:function(){return $},rp:function(){return R},sS:function(){return v},sg:function(){return G},tB:function(){return L},w4:function(){return S},y3:function(){return C},zu:function(){return D}});var n=i(77958),r=i(17499),s=i(31352),o=i(62520),a=i(65358),l=i(79753),c=i(14596),u=i(26721);const d=null===(p=(0,n.ts)())?(0,r.IY)().setApp("files").build():(0,r.IY)().setApp("files").setUid(p.uid).build();var p;class f{_entries=[];registerEntry(t){this.validateEntry(t),this._entries.push(t)}unregisterEntry(t){const e="string"==typeof t?this.getEntryIndex(t):this.getEntryIndex(t.id);-1!==e?this._entries.splice(e,1):d.warn("Entry not found, nothing removed",{entry:t,entries:this.getEntries()})}getEntries(t){return t?this._entries.filter((e=>"function"!=typeof e.if||e.if(t))):this._entries}getEntryIndex(t){return this._entries.findIndex((e=>e.id===t))}validateEntry(t){if(!t.id||!t.displayName||!(t.iconSvgInline||t.iconClass||t.handler))throw new Error("Invalid entry");if("string"!=typeof t.id||"string"!=typeof t.displayName)throw new Error("Invalid id or displayName property");if(t.iconClass&&"string"!=typeof t.iconClass||t.iconSvgInline&&"string"!=typeof t.iconSvgInline)throw new Error("Invalid icon provided");if(void 0!==t.if&&"function"!=typeof t.if)throw new Error("Invalid if property");if(t.templateName&&"string"!=typeof t.templateName)throw new Error("Invalid templateName property");if(t.handler&&"function"!=typeof t.handler)throw new Error("Invalid handler property");if(!t.templateName&&!t.handler)throw new Error("At least a templateName or a handler must be provided");if(-1!==this.getEntryIndex(t.id))throw new Error("Duplicate entry")}}const h=function(){return typeof window._nc_newfilemenu>"u"&&(window._nc_newfilemenu=new f,d.debug("NewFileMenu initialized")),window._nc_newfilemenu},m=["B","KB","MB","GB","TB","PB"],g=["B","KiB","MiB","GiB","TiB","PiB"];function v(t,e=!1,i=!0){"string"==typeof t&&(t=Number(t));let n=t>0?Math.floor(Math.log(t)/Math.log(i?1024:1e3)):0;n=Math.min((i?g.length:m.length)-1,n);const r=i?g[n]:m[n];let o=(t/Math.pow(i?1024:1e3,n)).toFixed(1);return!0===e&&0===n?("0.0"!==o?"< 1 ":"0 ")+(i?g[1]:m[1]):(o=n<2?parseFloat(o).toFixed(0):parseFloat(o).toLocaleString((0,s.aj)()),o+" "+r)}function y(t,e=!1){try{t=`${t}`.toLocaleLowerCase().replaceAll(/\s+/g,"").replaceAll(",",".")}catch{return null}const i=t.match(/^([0-9]*(\.[0-9]*)?)([kmgtp]?)(i?)b?$/);if(null===i||"."===i[1]||""===i[1])return null;const n=`${i[1]}`,r="i"===i[4]||e?1024:1e3;return Math.round(Number.parseFloat(n)*r**{"":0,k:1,m:2,g:3,t:4,p:5,e:6}[i[3]])}var w=(t=>(t.DEFAULT="default",t.HIDDEN="hidden",t))(w||{});class _{_action;constructor(t){this.validateAction(t),this._action=t}get id(){return this._action.id}get displayName(){return this._action.displayName}get title(){return this._action.title}get iconSvgInline(){return this._action.iconSvgInline}get enabled(){return this._action.enabled}get exec(){return this._action.exec}get execBatch(){return this._action.execBatch}get order(){return this._action.order}get default(){return this._action.default}get inline(){return this._action.inline}get renderInline(){return this._action.renderInline}validateAction(t){if(!t.id||"string"!=typeof t.id)throw new Error("Invalid id");if(!t.displayName||"function"!=typeof t.displayName)throw new Error("Invalid displayName function");if("title"in t&&"function"!=typeof t.title)throw new Error("Invalid title function");if(!t.iconSvgInline||"function"!=typeof t.iconSvgInline)throw new Error("Invalid iconSvgInline function");if(!t.exec||"function"!=typeof t.exec)throw new Error("Invalid exec function");if("enabled"in t&&"function"!=typeof t.enabled)throw new Error("Invalid enabled function");if("execBatch"in t&&"function"!=typeof t.execBatch)throw new Error("Invalid execBatch function");if("order"in t&&"number"!=typeof t.order)throw new Error("Invalid order");if(t.default&&!Object.values(w).includes(t.default))throw new Error("Invalid default");if("inline"in t&&"function"!=typeof t.inline)throw new Error("Invalid inline function");if("renderInline"in t&&"function"!=typeof t.renderInline)throw new Error("Invalid renderInline function")}}const b=function(t){typeof window._nc_fileactions>"u"&&(window._nc_fileactions=[],d.debug("FileActions initialized")),window._nc_fileactions.find((e=>e.id===t.id))?d.error(`FileAction ${t.id} already registered`,{action:t}):window._nc_fileactions.push(t)},x=function(){return typeof window._nc_fileactions>"u"&&(window._nc_fileactions=[],d.debug("FileActions initialized")),window._nc_fileactions},N=function(){return typeof window._nc_filelistheader>"u"&&(window._nc_filelistheader=[],d.debug("FileListHeaders initialized")),window._nc_filelistheader};var C=(t=>(t[t.NONE=0]="NONE",t[t.CREATE=4]="CREATE",t[t.READ=1]="READ",t[t.UPDATE=2]="UPDATE",t[t.DELETE=8]="DELETE",t[t.SHARE=16]="SHARE",t[t.ALL=31]="ALL",t))(C||{});const I=["d:getcontentlength","d:getcontenttype","d:getetag","d:getlastmodified","d:quota-available-bytes","d:resourcetype","nc:has-preview","nc:is-encrypted","nc:mount-type","nc:share-attributes","oc:comments-unread","oc:favorite","oc:fileid","oc:owner-display-name","oc:owner-id","oc:permissions","oc:share-types","oc:size","ocs:share-permissions"],E={d:"DAV:",nc:"http://nextcloud.org/ns",oc:"http://owncloud.org/ns",ocs:"http://open-collaboration-services.org/ns"},k=function(){return typeof window._nc_dav_properties>"u"&&(window._nc_dav_properties=[...I]),window._nc_dav_properties.map((t=>`<${t} />`)).join(" ")},S=function(){return typeof window._nc_dav_namespaces>"u"&&(window._nc_dav_namespaces={...E}),Object.keys(window._nc_dav_namespaces).map((t=>`xmlns:${t}="${window._nc_dav_namespaces?.[t]}"`)).join(" ")},T=function(){return`\n\t\t\n\t\t\t\n\t\t\t\t${k()}\n\t\t\t\n\t\t`},A=function(){return`\n\t\t\n\t\t\t\n\t\t\t\t${k()}\n\t\t\t\n\t\t\t\n\t\t\t\t1\n\t\t\t\n\t\t`},L=function(t){return`\n\n\t\n\t\t\n\t\t\t\n\t\t\t\t${k()}\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t/files/${(0,n.ts)()?.uid}/\n\t\t\t\tinfinity\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\thttpd/unix-directory\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t0\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t${t}\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t100\n\t\t\t0\n\t\t\n\t\n`},D=function(t=""){let e=C.NONE;return t&&((t.includes("C")||t.includes("K"))&&(e|=C.CREATE),t.includes("G")&&(e|=C.READ),(t.includes("W")||t.includes("N")||t.includes("V"))&&(e|=C.UPDATE),t.includes("D")&&(e|=C.DELETE),t.includes("R")&&(e|=C.SHARE)),e};var P=(t=>(t.Folder="folder",t.File="file",t))(P||{});const M=function(t,e){return null!==t.match(e)},Z=(t,e)=>{if(t.id&&"number"!=typeof t.id)throw new Error("Invalid id type of value");if(!t.source)throw new Error("Missing mandatory source");try{new URL(t.source)}catch{throw new Error("Invalid source format, source must be a valid URL")}if(!t.source.startsWith("http"))throw new Error("Invalid source format, only http(s) is supported");if(t.mtime&&!(t.mtime instanceof Date))throw new Error("Invalid mtime type");if(t.crtime&&!(t.crtime instanceof Date))throw new Error("Invalid crtime type");if(!t.mime||"string"!=typeof t.mime||!t.mime.match(/^[-\w.]+\/[-+\w.]+$/gi))throw new Error("Missing or invalid mandatory mime");if("size"in t&&"number"!=typeof t.size&&void 0!==t.size)throw new Error("Invalid size type");if("permissions"in t&&void 0!==t.permissions&&!("number"==typeof t.permissions&&t.permissions>=C.NONE&&t.permissions<=C.ALL))throw new Error("Invalid permissions");if(t.owner&&null!==t.owner&&"string"!=typeof t.owner)throw new Error("Invalid owner type");if(t.attributes&&"object"!=typeof t.attributes)throw new Error("Invalid attributes type");if(t.root&&"string"!=typeof t.root)throw new Error("Invalid root type");if(t.root&&!t.root.startsWith("/"))throw new Error("Root must start with a leading slash");if(t.root&&!t.source.includes(t.root))throw new Error("Root must be part of the source");if(t.root&&M(t.source,e)){const i=t.source.match(e)[0];if(!t.source.includes((0,o.join)(i,t.root)))throw new Error("The root must be relative to the service. e.g /files/emma")}if(t.status&&!Object.values(F).includes(t.status))throw new Error("Status must be a valid NodeStatus")};var F=(t=>(t.NEW="new",t.FAILED="failed",t.LOADING="loading",t.LOCKED="locked",t))(F||{});class j{_data;_attributes;_knownDavService=/(remote|public)\.php\/(web)?dav/i;constructor(t,e){Z(t,e||this._knownDavService),this._data=t;const i={set:(t,e,i)=>(this.updateMtime(),Reflect.set(t,e,i)),deleteProperty:(t,e)=>(this.updateMtime(),Reflect.deleteProperty(t,e))};this._attributes=new Proxy(t.attributes||{},i),delete this._data.attributes,e&&(this._knownDavService=e)}get source(){return this._data.source.replace(/\/$/i,"")}get encodedSource(){const{origin:t}=new URL(this.source);return t+(0,a.Ec)(this.source.slice(t.length))}get basename(){return(0,o.basename)(this.source)}get extension(){return(0,o.extname)(this.source)}get dirname(){if(this.root){const t=this.source.indexOf(this.root);return(0,o.dirname)(this.source.slice(t+this.root.length)||"/")}const t=new URL(this.source);return(0,o.dirname)(t.pathname)}get mime(){return this._data.mime}get mtime(){return this._data.mtime}get crtime(){return this._data.crtime}get size(){return this._data.size}get attributes(){return this._attributes}get permissions(){return null!==this.owner||this.isDavRessource?void 0!==this._data.permissions?this._data.permissions:C.NONE:C.READ}get owner(){return this.isDavRessource?this._data.owner:null}get isDavRessource(){return M(this.source,this._knownDavService)}get root(){return this._data.root?this._data.root.replace(/^(.+)\/$/,"$1"):this.isDavRessource&&(0,o.dirname)(this.source).split(this._knownDavService).pop()||null}get path(){if(this.root){const t=this.source.indexOf(this.root);return this.source.slice(t+this.root.length)||"/"}return(this.dirname+"/"+this.basename).replace(/\/\//g,"/")}get fileid(){return this._data?.id||this.attributes?.fileid}get status(){return this._data?.status}set status(t){this._data.status=t}move(t){Z({...this._data,source:t},this._knownDavService),this._data.source=t,this.updateMtime()}rename(t){if(t.includes("/"))throw new Error("Invalid basename");this.move((0,o.dirname)(this.source)+"/"+t)}updateMtime(){this._data.mtime&&(this._data.mtime=new Date)}}class B extends j{get type(){return P.File}}class z extends j{constructor(t){super({...t,mime:"httpd/unix-directory"})}get type(){return P.Folder}get extension(){return null}get mime(){return"httpd/unix-directory"}}const O=`/files/${(0,n.ts)()?.uid}`,V=(0,l.generateRemoteUrl)("dav"),R=function(t=V){const e=(0,c.eI)(t,{headers:{requesttoken:(0,n.IH)()||""}});return(0,c.lD)().patch("request",(t=>(t.headers?.method&&(t.method=t.headers.method,delete t.headers.method),(0,u.W)(t)))),e},$=async(t,e="/",i=O)=>(await t.getDirectoryContents(`${i}${e}`,{details:!0,data:A(),headers:{method:"REPORT"},includeSelf:!0})).data.filter((t=>t.filename!==e)).map((t=>H(t,i))),H=function(t,e=O,i=V){const r=t.props,s=D(r?.permissions),o=(0,n.ts)()?.uid,a={id:r?.fileid||0,source:`${i}${t.filename}`,mtime:new Date(Date.parse(t.lastmod)),mime:t.mime,size:r?.size||Number.parseInt(r.getcontentlength||"0"),permissions:s,owner:o,root:e,attributes:{...t,...r,hasPreview:r?.["has-preview"]}};return delete a.attributes?.props,"file"===t.type?new B(a):new z(a)};class U{_views=[];_currentView=null;register(t){if(this._views.find((e=>e.id===t.id)))throw new Error(`View id ${t.id} is already registered`);this._views.push(t)}remove(t){const e=this._views.findIndex((e=>e.id===t));-1!==e&&this._views.splice(e,1)}get views(){return this._views}setActive(t){this._currentView=t}get active(){return this._currentView}}const Y=function(){return typeof window._nc_navigation>"u"&&(window._nc_navigation=new U,d.debug("Navigation service initialized")),window._nc_navigation};class G{_column;constructor(t){Q(t),this._column=t}get id(){return this._column.id}get title(){return this._column.title}get render(){return this._column.render}get sort(){return this._column.sort}get summary(){return this._column.summary}}const Q=function(t){if(!t.id||"string"!=typeof t.id)throw new Error("A column id is required");if(!t.title||"string"!=typeof t.title)throw new Error("A column title is required");if(!t.render||"function"!=typeof t.render)throw new Error("A render function is required");if(t.sort&&"function"!=typeof t.sort)throw new Error("Column sortFunction must be a function");if(t.summary&&"function"!=typeof t.summary)throw new Error("Column summary must be a function");return!0};var W={},X={};!function(t){const e=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",i="["+e+"]["+e+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*",n=new RegExp("^"+i+"$");t.isExist=function(t){return typeof t<"u"},t.isEmptyObject=function(t){return 0===Object.keys(t).length},t.merge=function(t,e,i){if(e){const n=Object.keys(e),r=n.length;for(let s=0;s"u")},t.getAllMatches=function(t,e){const i=[];let n=e.exec(t);for(;n;){const r=[];r.startIndex=e.lastIndex-n[0].length;const s=n.length;for(let t=0;t5&&"xml"===n)return lt("InvalidXml","XML declaration allowed only at the start of the document.",dt(t,e));if("?"==t[e]&&">"==t[e+1]){e++;break}continue}return e}function et(t,e){if(t.length>e+5&&"-"===t[e+1]&&"-"===t[e+2]){for(e+=3;e"===t[e+2]){e+=2;break}}else if(t.length>e+8&&"D"===t[e+1]&&"O"===t[e+2]&&"C"===t[e+3]&&"T"===t[e+4]&&"Y"===t[e+5]&&"P"===t[e+6]&&"E"===t[e+7]){let i=1;for(e+=8;e"===t[e]&&(i--,0===i))break}else if(t.length>e+9&&"["===t[e+1]&&"C"===t[e+2]&&"D"===t[e+3]&&"A"===t[e+4]&&"T"===t[e+5]&&"A"===t[e+6]&&"["===t[e+7])for(e+=8;e"===t[e+2]){e+=2;break}return e}W.validate=function(t,e){e=Object.assign({},K,e);const i=[];let n=!1,r=!1;"\ufeff"===t[0]&&(t=t.substr(1));for(let s=0;s"!==t[s]&&" "!==t[s]&&"\t"!==t[s]&&"\n"!==t[s]&&"\r"!==t[s];s++)l+=t[s];if(l=l.trim(),"/"===l[l.length-1]&&(l=l.substring(0,l.length-1),s--),!ut(l)){let e;return e=0===l.trim().length?"Invalid space after '<'.":"Tag '"+l+"' is an invalid name.",lt("InvalidTag",e,dt(t,s))}const c=rt(t,s);if(!1===c)return lt("InvalidAttr","Attributes for '"+l+"' have open quote.",dt(t,s));let u=c.value;if(s=c.index,"/"===u[u.length-1]){const i=s-u.length;u=u.substring(0,u.length-1);const r=ot(u,e);if(!0!==r)return lt(r.err.code,r.err.msg,dt(t,i+r.err.line));n=!0}else if(a){if(!c.tagClosed)return lt("InvalidTag","Closing tag '"+l+"' doesn't have proper closing.",dt(t,s));if(u.trim().length>0)return lt("InvalidTag","Closing tag '"+l+"' can't have attributes or invalid starting.",dt(t,o));{const e=i.pop();if(l!==e.tagName){let i=dt(t,e.tagStartPos);return lt("InvalidTag","Expected closing tag '"+e.tagName+"' (opened in line "+i.line+", col "+i.col+") instead of closing tag '"+l+"'.",dt(t,o))}0==i.length&&(r=!0)}}else{const a=ot(u,e);if(!0!==a)return lt(a.err.code,a.err.msg,dt(t,s-u.length+a.err.line));if(!0===r)return lt("InvalidXml","Multiple possible root nodes found.",dt(t,s));-1!==e.unpairedTags.indexOf(l)||i.push({tagName:l,tagStartPos:o}),n=!0}for(s++;s0)||lt("InvalidXml","Invalid '"+JSON.stringify(i.map((t=>t.tagName)),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1}):lt("InvalidXml","Start tag expected.",1)};const it='"',nt="'";function rt(t,e){let i="",n="",r=!1;for(;e"===t[e]&&""===n){r=!0;break}i+=t[e]}return""===n&&{value:i,index:e,tagClosed:r}}const st=new RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function ot(t,e){const i=q.getAllMatches(t,st),n={};for(let t=0;t!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(t,e,i){return t}};ft.buildOptions=function(t){return Object.assign({},ht,t)},ft.defaultOptions=ht;const mt=X;function gt(t,e){let i="";for(;e0?this.child.push({[t.tagname]:t.child,":@":t[":@"]}):this.child.push({[t.tagname]:t.child})}},St=function(t,e){const i={};if("O"!==t[e+3]||"C"!==t[e+4]||"T"!==t[e+5]||"Y"!==t[e+6]||"P"!==t[e+7]||"E"!==t[e+8])throw new Error("Invalid Tag instead of DOCTYPE");{e+=9;let n=1,r=!1,s=!1,o="";for(;e"===t[e]){if(s?"-"===t[e-1]&&"-"===t[e-2]&&(s=!1,n--):n--,0===n)break}else"["===t[e]?r=!0:o+=t[e];else{if(r&&yt(t,e))e+=7,[entityName,val,e]=gt(t,e+1),-1===val.indexOf("&")&&(i[xt(entityName)]={regx:RegExp(`&${entityName};`,"g"),val:val});else if(r&&wt(t,e))e+=8;else if(r&&_t(t,e))e+=8;else if(r&&bt(t,e))e+=9;else{if(!vt)throw new Error("Invalid DOCTYPE");s=!0}n++,o=""}if(0!==n)throw new Error("Unclosed DOCTYPE")}return{entities:i,i:e}},Tt=function(t,e={}){if(e=Object.assign({},It,e),!t||"string"!=typeof t)return t;let i=t.trim();if(void 0!==e.skipLike&&e.skipLike.test(i))return t;if(e.hex&&Nt.test(i))return Number.parseInt(i,16);{const n=Ct.exec(i);if(n){const r=n[1],s=n[2];let o=function(t){return t&&-1!==t.indexOf(".")&&("."===(t=t.replace(/0+$/,""))?t="0":"."===t[0]?t="0"+t:"."===t[t.length-1]&&(t=t.substr(0,t.length-1))),t}(n[3]);const a=n[4]||n[6];if(!e.leadingZeros&&s.length>0&&r&&"."!==i[2]||!e.leadingZeros&&s.length>0&&!r&&"."!==i[1])return t;{const n=Number(i),l=""+n;return-1!==l.search(/[eE]/)||a?e.eNotation?n:t:-1!==i.indexOf(".")?"0"===l&&""===o||l===o||r&&l==="-"+o?n:t:s?o===l||r+o===l?n:t:i===l||i===r+l?n:t}}return t}};function At(t){const e=Object.keys(t);for(let i=0;i0)){o||(t=this.replaceEntitiesValue(t));const n=this.options.tagValueProcessor(e,t,i,r,s);return null==n?t:typeof n!=typeof t||n!==t?n:this.options.trimValues||t.trim()===t?$t(t,this.options.parseTagValue,this.options.numberParseOptions):t}}function Dt(t){if(this.options.removeNSPrefix){const e=t.split(":"),i="/"===t.charAt(0)?"/":"";if("xmlns"===e[0])return"";2===e.length&&(t=i+e[1])}return t}"<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g,Et.nameRegexp);const Pt=new RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");function Mt(t,e,i){if(!this.options.ignoreAttributes&&"string"==typeof t){const i=Et.getAllMatches(t,Pt),n=i.length,r={};for(let t=0;t",s,"Closing Tag is not closed.");let o=t.substring(s+2,e).trim();if(this.options.removeNSPrefix){const t=o.indexOf(":");-1!==t&&(o=o.substr(t+1))}this.options.transformTagName&&(o=this.options.transformTagName(o)),i&&(n=this.saveTextToParentTag(n,i,r));const a=r.substring(r.lastIndexOf(".")+1);if(o&&-1!==this.options.unpairedTags.indexOf(o))throw new Error(`Unpaired tag can not be used as closing tag: `);let l=0;a&&-1!==this.options.unpairedTags.indexOf(a)?(l=r.lastIndexOf(".",r.lastIndexOf(".")-1),this.tagsNodeStack.pop()):l=r.lastIndexOf("."),r=r.substring(0,l),i=this.tagsNodeStack.pop(),n="",s=e}else if("?"===t[s+1]){let e=Vt(t,s,!1,"?>");if(!e)throw new Error("Pi Tag is not closed.");if(n=this.saveTextToParentTag(n,i,r),!(this.options.ignoreDeclaration&&"?xml"===e.tagName||this.options.ignorePiTags)){const t=new kt(e.tagName);t.add(this.options.textNodeName,""),e.tagName!==e.tagExp&&e.attrExpPresent&&(t[":@"]=this.buildAttributesMap(e.tagExp,r,e.tagName)),this.addChild(i,t,r)}s=e.closeIndex+1}else if("!--"===t.substr(s+1,3)){const e=Ot(t,"--\x3e",s+4,"Comment is not closed.");if(this.options.commentPropName){const o=t.substring(s+4,e-2);n=this.saveTextToParentTag(n,i,r),i.add(this.options.commentPropName,[{[this.options.textNodeName]:o}])}s=e}else if("!D"===t.substr(s+1,2)){const e=St(t,s);this.docTypeEntities=e.entities,s=e.i}else if("!["===t.substr(s+1,2)){const e=Ot(t,"]]>",s,"CDATA is not closed.")-2,o=t.substring(s+9,e);if(n=this.saveTextToParentTag(n,i,r),this.options.cdataPropName)i.add(this.options.cdataPropName,[{[this.options.textNodeName]:o}]);else{let t=this.parseTextData(o,i.tagname,r,!0,!1,!0);null==t&&(t=""),i.add(this.options.textNodeName,t)}s=e+2}else{let o=Vt(t,s,this.options.removeNSPrefix),a=o.tagName;const l=o.rawTagName;let c=o.tagExp,u=o.attrExpPresent,d=o.closeIndex;this.options.transformTagName&&(a=this.options.transformTagName(a)),i&&n&&"!xml"!==i.tagname&&(n=this.saveTextToParentTag(n,i,r,!1));const p=i;if(p&&-1!==this.options.unpairedTags.indexOf(p.tagname)&&(i=this.tagsNodeStack.pop(),r=r.substring(0,r.lastIndexOf("."))),a!==e.tagname&&(r+=r?"."+a:a),this.isItStopNode(this.options.stopNodes,r,a)){let e="";if(c.length>0&&c.lastIndexOf("/")===c.length-1)s=o.closeIndex;else if(-1!==this.options.unpairedTags.indexOf(a))s=o.closeIndex;else{const i=this.readStopNodeData(t,l,d+1);if(!i)throw new Error(`Unexpected end of ${l}`);s=i.i,e=i.tagContent}const n=new kt(a);a!==c&&u&&(n[":@"]=this.buildAttributesMap(c,r,a)),e&&(e=this.parseTextData(e,a,r,!0,u,!0,!0)),r=r.substr(0,r.lastIndexOf(".")),n.add(this.options.textNodeName,e),this.addChild(i,n,r)}else{if(c.length>0&&c.lastIndexOf("/")===c.length-1){"/"===a[a.length-1]?(a=a.substr(0,a.length-1),r=r.substr(0,r.length-1),c=a):c=c.substr(0,c.length-1),this.options.transformTagName&&(a=this.options.transformTagName(a));const t=new kt(a);a!==c&&u&&(t[":@"]=this.buildAttributesMap(c,r,a)),this.addChild(i,t,r),r=r.substr(0,r.lastIndexOf("."))}else{const t=new kt(a);this.tagsNodeStack.push(i),a!==c&&u&&(t[":@"]=this.buildAttributesMap(c,r,a)),this.addChild(i,t,r),i=t}n="",s=d}}else n+=t[s];return e.child};function Ft(t,e,i){const n=this.options.updateTag(e.tagname,i,e[":@"]);!1===n||("string"==typeof n&&(e.tagname=n),t.addChild(e))}const jt=function(t){if(this.options.processEntities){for(let e in this.docTypeEntities){const i=this.docTypeEntities[e];t=t.replace(i.regx,i.val)}for(let e in this.lastEntities){const i=this.lastEntities[e];t=t.replace(i.regex,i.val)}if(this.options.htmlEntities)for(let e in this.htmlEntities){const i=this.htmlEntities[e];t=t.replace(i.regex,i.val)}t=t.replace(this.ampEntity.regex,this.ampEntity.val)}return t};function Bt(t,e,i,n){return t&&(void 0===n&&(n=0===Object.keys(e.child).length),void 0!==(t=this.parseTextData(t,e.tagname,i,!1,!!e[":@"]&&0!==Object.keys(e[":@"]).length,n))&&""!==t&&e.add(this.options.textNodeName,t),t=""),t}function zt(t,e,i){const n="*."+i;for(const i in t){const r=t[i];if(n===r||e===r)return!0}return!1}function Ot(t,e,i,n){const r=t.indexOf(e,i);if(-1===r)throw new Error(n);return r+e.length-1}function Vt(t,e,i,n=">"){const r=function(t,e,i=">"){let n,r="";for(let s=e;s",i,`${e} is not closed`);if(t.substring(i+2,s).trim()===e&&(r--,0===r))return{tagContent:t.substring(n,i),i:s};i=s}else if("?"===t[i+1])i=Ot(t,"?>",i+1,"StopNode is not closed.");else if("!--"===t.substr(i+1,3))i=Ot(t,"--\x3e",i+3,"StopNode is not closed.");else if("!["===t.substr(i+1,2))i=Ot(t,"]]>",i,"StopNode is not closed.")-2;else{const n=Vt(t,i,">");n&&((n&&n.tagName)===e&&"/"!==n.tagExp[n.tagExp.length-1]&&r++,i=n.closeIndex)}}function $t(t,e,i){if(e&&"string"==typeof t){const e=t.trim();return"true"===e||"false"!==e&&Tt(t,i)}return Et.isExist(t)?t:""}var Ht={};function Ut(t,e,i){let n;const r={};for(let s=0;s0&&(r[e.textNodeName]=n):void 0!==n&&(r[e.textNodeName]=n),r}function Yt(t){const e=Object.keys(t);for(let t=0;t"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"¢"},pound:{regex:/&(pound|#163);/g,val:"£"},yen:{regex:/&(yen|#165);/g,val:"¥"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"©"},reg:{regex:/&(reg|#174);/g,val:"®"},inr:{regex:/&(inr|#8377);/g,val:"₹"}},this.addExternalEntities=At,this.parseXml=Zt,this.parseTextData=Lt,this.resolveNameSpace=Dt,this.buildAttributesMap=Mt,this.isItStopNode=zt,this.replaceEntitiesValue=jt,this.readStopNodeData=Rt,this.saveTextToParentTag=Bt,this.addChild=Ft}},{prettify:qt}=Ht,Kt=W;function Jt(t,e,i,n){let r="",s=!1;for(let o=0;o`,s=!1;continue}if(l===e.commentPropName){r+=n+`\x3c!--${a[l][0][e.textNodeName]}--\x3e`,s=!0;continue}if("?"===l[0]){const t=ee(a[":@"],e),i="?xml"===l?"":n;let o=a[l][0][e.textNodeName];o=0!==o.length?" "+o:"",r+=i+`<${l}${o}${t}?>`,s=!0;continue}let u=n;""!==u&&(u+=e.indentBy);const d=n+`<${l}${ee(a[":@"],e)}`,p=Jt(a[l],e,c,u);-1!==e.unpairedTags.indexOf(l)?e.suppressUnpairedNode?r+=d+">":r+=d+"/>":p&&0!==p.length||!e.suppressEmptyNode?p&&p.endsWith(">")?r+=d+`>${p}${n}`:(r+=d+">",p&&""!==n&&(p.includes("/>")||p.includes("`):r+=d+"/>",s=!0}return r}function te(t){const e=Object.keys(t);for(let i=0;i0&&e.processEntities)for(let i=0;i0&&(i="\n"),Jt(t,e,"",i)},se={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&"},{regex:new RegExp(">","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("'","g"),val:"'"},{regex:new RegExp('"',"g"),val:"""}],processEntities:!0,stopNodes:[],oneListGroup:!1};function oe(t){this.options=Object.assign({},se,t),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=ce),this.processTextOrObjNode=ae,this.options.format?(this.indentate=le,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}function ae(t,e,i){const n=this.j2x(t,i+1);return void 0!==t[this.options.textNodeName]&&1===Object.keys(t).length?this.buildTextValNode(t[this.options.textNodeName],e,n.attrStr,i):this.buildObjectNode(n.val,e,n.attrStr,i)}function le(t){return this.options.indentBy.repeat(t)}function ce(t){return!(!t.startsWith(this.options.attributeNamePrefix)||t===this.options.textNodeName)&&t.substr(this.attrPrefixLen)}oe.prototype.build=function(t){return this.options.preserveOrder?re(t,this.options):(Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t}),this.j2x(t,0).val)},oe.prototype.j2x=function(t,e){let i="",n="";for(let r in t)if(t.hasOwnProperty(r))if(typeof t[r]>"u")this.isAttribute(r)&&(n+="");else if(null===t[r])this.isAttribute(r)?n+="":"?"===r[0]?n+=this.indentate(e)+"<"+r+"?"+this.tagEndChar:n+=this.indentate(e)+"<"+r+"/"+this.tagEndChar;else if(t[r]instanceof Date)n+=this.buildTextValNode(t[r],r,"",e);else if("object"!=typeof t[r]){const s=this.isAttribute(r);if(s)i+=this.buildAttrPairStr(s,""+t[r]);else if(r===this.options.textNodeName){let e=this.options.tagValueProcessor(r,""+t[r]);n+=this.replaceEntitiesValue(e)}else n+=this.buildTextValNode(t[r],r,"",e)}else if(Array.isArray(t[r])){const i=t[r].length;let s="";for(let o=0;o"u"||(null===i?"?"===r[0]?n+=this.indentate(e)+"<"+r+"?"+this.tagEndChar:n+=this.indentate(e)+"<"+r+"/"+this.tagEndChar:"object"==typeof i?this.options.oneListGroup?s+=this.j2x(i,e+1).val:s+=this.processTextOrObjNode(i,r,e):s+=this.buildTextValNode(i,r,"",e))}this.options.oneListGroup&&(s=this.buildObjectNode(s,r,"",e)),n+=s}else if(this.options.attributesGroupName&&r===this.options.attributesGroupName){const e=Object.keys(t[r]),n=e.length;for(let s=0;s"+t+r}},oe.prototype.closeTag=function(t){let e="";return-1!==this.options.unpairedTags.indexOf(t)?this.options.suppressUnpairedNode||(e="/"):e=this.options.suppressEmptyNode?"/":`>`+this.newLine;if(!1!==this.options.commentPropName&&e===this.options.commentPropName)return this.indentate(n)+`\x3c!--${t}--\x3e`+this.newLine;if("?"===e[0])return this.indentate(n)+"<"+e+i+"?"+this.tagEndChar;{let r=this.options.tagValueProcessor(e,t);return r=this.replaceEntitiesValue(r),""===r?this.indentate(n)+"<"+e+i+this.closeTag(e)+this.tagEndChar:this.indentate(n)+"<"+e+i+">"+r+"0&&this.options.processEntities)for(let e=0;e0&&(!t.caption||"string"!=typeof t.caption))throw new Error("View caption is required for top-level views and must be a string");if(!t.getContents||"function"!=typeof t.getContents)throw new Error("View getContents is required and must be a function");if(!t.icon||"string"!=typeof t.icon||!function(t){if("string"!=typeof t)throw new TypeError(`Expected a \`string\`, got \`${typeof t}\``);if(0===(t=t.trim()).length||!0!==ue.XMLValidator.validate(t))return!1;let e;const i=new ue.XMLParser;try{e=i.parse(t)}catch{return!1}return!(!e||!("svg"in e))}(t.icon))throw new Error("View icon is required and must be a valid svg string");if(!("order"in t)||"number"!=typeof t.order)throw new Error("View order is required and must be a number");if(t.columns&&t.columns.forEach((t=>{if(!(t instanceof G))throw new Error("View columns must be an array of Column. Invalid column found")})),t.emptyView&&"function"!=typeof t.emptyView)throw new Error("View emptyView must be a function");if(t.parent&&"string"!=typeof t.parent)throw new Error("View parent must be a string");if("sticky"in t&&"boolean"!=typeof t.sticky)throw new Error("View sticky must be a boolean");if("expanded"in t&&"boolean"!=typeof t.expanded)throw new Error("View expanded must be a boolean");if(t.defaultSortKey&&"string"!=typeof t.defaultSortKey)throw new Error("View defaultSortKey must be a string");return!0},fe=function(t){return h().registerEntry(t)},he=function(t){return h().getEntries(t)}},46318:function(t,e,i){"use strict";i.r(e),i.d(e,{NcAutoCompleteResult:function(){return v},NcMentionBubble:function(){return n.N},default:function(){return b}}),i(55849);var n=i(22663),r=i(79753),s=i(76311),o=i(23248),a=(i(79845),i(93911)),l=i(2343),c=(i(93664),i(86514),i(61537),i(25751),i(20435),i(49368),i(89115),i(57274),i(59110),i(69183),i(32219),i(82675),i(65507)),u=i(20296),d=i(36683),p=i(73045),f=i(25108);const h={name:"NcAutoCompleteResult",props:{title:{type:String,required:!0},subline:{type:String,default:null},id:{type:String,default:null},icon:{type:String,required:!0},iconUrl:{type:String,default:null},source:{type:String,required:!0},status:{type:[Object,Array],default:()=>({})}},computed:{avatarUrl(){return this.iconUrl?this.iconUrl:this.id&&"users"===this.source?this.getAvatarUrl(this.id,44):null},haveStatus(){var t,e,i;return(null==(t=this.status)?void 0:t.icon)||(null==(e=this.status)?void 0:e.status)&&"offline"!==(null==(i=this.status)?void 0:i.status)}},methods:{getAvatarUrl(t,e){return(0,r.generateUrl)("/avatar/{user}/{size}",{user:t,size:e})}}};var m=function(){var t=this,e=t._self._c;return e("div",{staticClass:"autocomplete-result"},[e("div",{staticClass:"autocomplete-result__icon",class:[t.icon,"autocomplete-result__icon--"+(t.avatarUrl?"with-avatar":"")],style:t.avatarUrl?{backgroundImage:`url(${t.avatarUrl})`}:null},[t.haveStatus?e("div",{staticClass:"autocomplete-result__status",class:[`autocomplete-result__status--${t.status&&t.status.icon?"icon":t.status.status}`]},[t._v(" "+t._s(t.status&&t.status.icon||"")+" ")]):t._e()]),e("span",{staticClass:"autocomplete-result__content"},[e("span",{staticClass:"autocomplete-result__title",attrs:{title:t.title}},[t._v(" "+t._s(t.title)+" ")]),t.subline?e("span",{staticClass:"autocomplete-result__subline"},[t._v(" "+t._s(t.subline)+" ")]):t._e()])])},g=[];const v=(0,s.n)(h,m,g,!1,null,"25cf09d8",null,null).exports,y={name:"NcRichContenteditable",directives:{tooltip:p.VTooltip},mixins:[n.r],props:{value:{type:String,default:"",required:!0},placeholder:{type:String,default:(0,o.t)("Write a message …")},autoComplete:{type:Function,default:()=>[]},menuContainer:{type:Element,default:()=>document.body},multiline:{type:Boolean,default:!1},contenteditable:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},maxlength:{type:Number,default:null},emojiAutocomplete:{type:Boolean,default:!0},linkAutocomplete:{type:Boolean,default:!0}},emits:["submit","paste","update:value"],data(){return{textSmiles:[],tribute:null,autocompleteOptions:{allowSpaces:!0,fillAttr:"id",lookup:t=>`${t.id} ${t.title}`,menuContainer:this.menuContainer,menuItemTemplate:t=>this.renderComponentHtml(t.original,v),noMatchTemplate:()=>'',selectTemplate:t=>{var e;return this.genSelectTemplate(null==(e=null==t?void 0:t.original)?void 0:e.id)},values:this.debouncedAutoComplete},emojiOptions:{trigger:":",lookup:(t,e)=>e,menuContainer:this.menuContainer,menuItemTemplate:t=>this.textSmiles.includes(t.original)?t.original:`${t.original.native} :${t.original.short_name}`,noMatchTemplate:()=>(0,o.t)("No emoji found"),selectTemplate:t=>this.textSmiles.includes(t.original)?t.original:((0,a.R)(t.original),t.original.native),values:(t,e)=>{const i=(0,a.K)(t);this.textSmiles.includes(":"+t)&&i.unshift(":"+t),e(i)},containerClass:"tribute-container-emoji",itemClass:"tribute-container-emoji__item"},linkOptions:{trigger:"/",lookup:(t,e)=>e,menuContainer:this.menuContainer,menuItemTemplate:t=>` ${t.original.title}`,noMatchTemplate:()=>(0,o.t)("No link provider found"),selectTemplate:this.getLink,values:(t,e)=>e((0,l.n)(t)),containerClass:"tribute-container-link",itemClass:"tribute-container-link__item"},localValue:this.value,isComposing:!1}},computed:{isEmptyValue(){return!this.localValue||this.localValue&&""===this.localValue.trim()},isFF(){return!!navigator.userAgent.match(/firefox/i)},isOverMaxlength(){return!(this.isEmptyValue||!this.maxlength)&&(0,d.default)(this.localValue)>this.maxlength},tooltipString(){return this.isOverMaxlength?{content:(0,o.t)("Message limit of {count} characters reached",{count:this.maxlength}),shown:!0,trigger:"manual"}:null},canEdit(){return this.contenteditable&&!this.disabled},listeners(){const t={...this.$listeners};return delete t.paste,t}},watch:{value(){const t=this.$refs.contenteditable.innerHTML;this.value.trim()!==this.parseContent(t).trim()&&this.updateContent(this.value)}},mounted(){this.textSmiles=[],["d","D","p","P","s","S","x","X",")","(","|","/"].forEach((t=>{this.textSmiles.push(":"+t),this.textSmiles.push(":-"+t)})),this.autocompleteTribute=new c.default(this.autocompleteOptions),this.autocompleteTribute.attach(this.$el),this.emojiAutocomplete&&(this.emojiTribute=new c.default(this.emojiOptions),this.emojiTribute.attach(this.$el)),this.linkAutocomplete&&(this.linkTribute=new c.default(this.linkOptions),this.linkTribute.attach(this.$el)),this.updateContent(this.value),this.$refs.contenteditable.contentEditable=this.canEdit},beforeDestroy(){this.autocompleteTribute&&this.autocompleteTribute.detach(this.$el),this.emojiTribute&&this.emojiTribute.detach(this.$el),this.linkTribute&&this.linkTribute.detach(this.$el)},methods:{focus(){this.$refs.contenteditable.focus()},getLink(t){return(0,l.j)(t.original.id).then((t=>{const e=document.getElementById("tmp-link-result-node"),i=document.createTextNode(t);e.replaceWith(i),this.setCursorAfter(i),this.updateValue(this.$refs.contenteditable.innerHTML)})).catch((t=>{f.debug("Smart picker promise rejected:",t);const e=document.getElementById("tmp-link-result-node");this.setCursorAfter(e),e.remove()})),''},setCursorAfter(t){const e=document.createRange();e.setEndAfter(t),e.collapse();const i=window.getSelection();i.removeAllRanges(),i.addRange(e)},onInput(t){this.updateValue(t.target.innerHTML)},onPaste(t){if(!this.canEdit)return;t.preventDefault();const e=t.clipboardData;if(this.$emit("paste",t),0!==e.files.length||!Object.values(e.items).find((t=>null==t?void 0:t.type.startsWith("text"))))return;const i=e.getData("text"),n=window.getSelection();if(!n.rangeCount)return void this.updateValue(i);const r=n.getRangeAt(0);n.deleteFromDocument(),r.insertNode(document.createTextNode(i));const s=document.createRange();s.setStart(t.target,r.endOffset),s.collapse(!0),n.removeAllRanges(),n.addRange(s),this.updateValue(this.$refs.contenteditable.innerHTML)},updateValue(t){const e=this.parseContent(t);this.localValue=e,this.$emit("update:value",e)},updateContent(t){const e=this.renderContent(t);this.$refs.contenteditable.innerHTML=e,this.localValue=t},onDelete(t){if(!this.isFF||!window.getSelection||!this.canEdit)return;const e=window.getSelection(),i=t.target;if(!e.isCollapsed||!e.rangeCount)return;const n=e.getRangeAt(e.rangeCount-1);if(3===n.commonAncestorContainer.nodeType&&n.startOffset>0)return;const r=document.createRange();if(e.anchorNode!==i)r.selectNodeContents(i),r.setEndBefore(e.anchorNode);else{if(!(e.anchorOffset>0))return;r.setEnd(i,e.anchorOffset)}r.setStart(i,r.endOffset-1);const s=r.cloneContents().lastChild;s&&"false"===s.contentEditable&&(r.deleteContents(),t.preventDefault())},onEnter(t){this.multiline||this.isOverMaxlength||this.autocompleteTribute.isActive||this.emojiTribute.isActive||this.linkTribute.isActive||this.isComposing||(t.preventDefault(),t.stopPropagation(),this.$emit("submit",t))},onCtrlEnter(t){this.isOverMaxlength||this.$emit("submit",t)},debouncedAutoComplete:u((async function(t,e){this.autoComplete(t,e)}),100),onKeyUp(t){t.stopImmediatePropagation()}}};var w=function(){var t=this;return(0,t._self._c)("div",t._g({directives:[{name:"tooltip",rawName:"v-tooltip",value:t.tooltipString,expression:"tooltipString"}],ref:"contenteditable",staticClass:"rich-contenteditable__input",class:{"rich-contenteditable__input--empty":t.isEmptyValue,"rich-contenteditable__input--multiline":t.multiline,"rich-contenteditable__input--overflow":t.isOverMaxlength,"rich-contenteditable__input--disabled":t.disabled},attrs:{contenteditable:t.canEdit,placeholder:t.placeholder,"aria-placeholder":t.placeholder,"aria-multiline":"true",role:"textbox"},on:{input:t.onInput,compositionstart:function(e){t.isComposing=!0},compositionend:function(e){t.isComposing=!1},keydown:[function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"delete",[8,46],e.key,["Backspace","Delete","Del"])?null:t.onDelete.apply(null,arguments)},function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:t.onEnter.apply(null,arguments)},function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")||!e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:(e.stopPropagation(),e.preventDefault(),t.onCtrlEnter.apply(null,arguments))}],paste:t.onPaste,"!keyup":function(e){return e.stopPropagation(),e.preventDefault(),t.onKeyUp.apply(null,arguments)}}},t.listeners))},_=[];const b=(0,s.n)(y,w,_,!1,null,"b7f5e546",null,null).exports},29354:function(t,e,i){"use strict";i.d(e,{N:function(){return S}});var n=i(2343),r=i(93664),s=i(79753),o=i(76311),a=i(28600),l=i(21955),c=i(10979),u=i(41074),d=i(38878),p=i(27172),f=i(20469),h=i(66875),m=i(72090),g=i(25108);const v=/(\s|^)(https?:\/\/)((?:[-A-Z0-9+_]+\.)+[-A-Z]+(?:\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*)(\s|$)/gi,y=/(\s|\(|^)((https?:\/\/)((?:[-A-Z0-9+_]+\.)+[-A-Z0-9]+(?::[0-9]+)?(?:\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*))(?=\s|\)|$)/gi,w={name:"NcReferenceList",components:{NcReferenceWidget:n.N},props:{text:{type:String,default:""},referenceData:{type:Object,default:null},limit:{type:Number,default:1}},data(){return{references:null,loading:!0}},computed:{isVisible(){return this.loading||this.displayedReferences},values(){return this.referenceData?this.referenceData:this.references?Object.values(this.references):[]},firstReference(){var t;return null!=(t=this.values[0])?t:null},displayedReferences(){return this.values.slice(0,this.limit)}},watch:{text:"fetch"},mounted(){this.fetch()},methods:{fetch(){this.loading=!0,this.referenceData?this.loading=!1:new RegExp(v).exec(this.text)?this.resolve().then((t=>{this.references=t.data.ocs.data.references,this.loading=!1})).catch((t=>{g.error("Failed to extract references",t),this.loading=!1})):this.loading=!1},resolve(){const t=new RegExp(v).exec(this.text.trim());return 1===this.limit&&t?r.Z.get((0,s.generateOcsUrl)("references/resolve",2)+`?reference=${encodeURIComponent(t[0])}`):r.Z.post((0,s.generateOcsUrl)("references/extract",2),{text:this.text,resolve:!0,limit:this.limit})}}};var _=function(){var t=this,e=t._self._c;return t.isVisible?e("div",{staticClass:"widgets--list",class:{"icon-loading":t.loading}},t._l(t.displayedReferences,(function(t){var i;return e("div",{key:null==(i=null==t?void 0:t.openGraphObject)?void 0:i.id},[e("NcReferenceWidget",{attrs:{reference:t}})],1)})),0):t._e()},b=[];const x=(0,o.n)(w,_,b,!1,null,"bd1fbb02",null,null).exports,N={name:"NcLink",props:{href:{type:String,required:!0}},render(t){return t("a",{attrs:{href:this.href,rel:"noopener noreferrer",target:"_blank",class:"rich-text--external-link"}},[this.href.trim()])}},C=function({autolink:t,useMarkdown:e}){return function(i){!e||!t||(0,a.Vn)(i,(t=>"text"===t.type),((t,e,i)=>{let n=I(t.value);return n=n.map((t=>"string"==typeof t?(0,c.u)("text",t):(0,c.u)("link",{url:t.props.href},[(0,c.u)("text",t.props.href)]))).filter((t=>t)),i.children.splice(e,1,...n.flat()),[l.AM,e+n.flat().length]}))}},I=t=>{let e=y.exec(t);const i=[];let n=0;for(;null!==e;){let r,s=e[2],o=t.substring(n,e.index+e[1].length);" "===s[0]&&(o+=s[0],s=s.substring(1).trim());const a=s[s.length-1];("."===a||","===a||";"===a||"("===e[0][0]&&")"===a)&&(s=s.substring(0,s.length-1),r=a),i.push(o),i.push({component:N,props:{href:s}}),r&&i.push(r),n=e.index+e[0].length,e=y.exec(t)}return i.push(t.substring(n)),t===i.map((t=>"string"==typeof t?t:t.props.href)).join("")?i:(g.error("Failed to reassemble the chunked text: "+t),t)},E=function(){return function(t){(0,a.Vn)(t,(t=>"text"===t.type),(function(t,e,i){const n=t.value.split(/(\{[a-z\-_.0-9]+\})/gi).map(((t,e,i)=>{const n=t.match(/^\{([a-z\-_.0-9]+)\}$/i);if(!n)return(0,c.u)("text",t);const[,r]=n;return(0,c.u)("element",{tagName:`#${r}`})}));i.children.splice(e,1,...n)}))}},k={name:"NcRichText",components:{NcReferenceList:x},props:{text:{type:String,default:""},arguments:{type:Object,default:()=>({})},referenceLimit:{type:Number,default:0},references:{type:Object,default:null},markdownCssClasses:{type:Object,default:()=>({a:"rich-text--external-link",ol:"rich-text--ordered-list",ul:"rich-text--un-ordered-list",li:"rich-text--list-item",strong:"rich-text--strong",em:"rich-text--italic",h1:"rich-text--heading rich-text--heading-1",h2:"rich-text--heading rich-text--heading-2",h3:"rich-text--heading rich-text--heading-3",h4:"rich-text--heading rich-text--heading-4",h5:"rich-text--heading rich-text--heading-5",h6:"rich-text--heading rich-text--heading-6",hr:"rich-text--hr",table:"rich-text--table",pre:"rich-text--pre",code:"rich-text--code",blockquote:"rich-text--blockquote"})},useMarkdown:{type:Boolean,default:!1},autolink:{type:Boolean,default:!0}},methods:{renderPlaintext(t){const e=this,i=this.text.split(/(\{[a-z\-_.0-9]+\})/gi).map((function(i,n,r){const s=i.match(/^\{([a-z\-_.0-9]+)\}$/i);if(!s)return(({h:t,context:e},i)=>(e.autolink&&(i=I(i)),Array.isArray(i)?i.map((e=>{if("string"==typeof e)return e;const{component:i,props:n}=e,r="NcLink"===i.name?void 0:"rich-text--component";return t(i,{props:n,class:r})})):i))({h:t,context:e},i);const o=s[1],a=e.arguments[o];if("object"==typeof a){const{component:e,props:i}=a;return t(e,{props:i,class:"rich-text--component"})}return a?t("span",{class:"rich-text--fallback"},a):i}));return t("div",{class:"rich-text--wrapper"},[t("div",{},i.flat()),this.referenceLimit>0?t("div",{class:"rich-text--reference-widget"},[t(x,{props:{text:this.text,referenceData:this.references}})]):null])},renderMarkdown(t){const e=(0,u.l)().use(d.Z).use(C,{autolink:this.autolink,useMarkdown:this.useMarkdown}).use(p.Z).use(f.Z,{handlers:{component(t,e){return t(e,e.component,{value:e.value})}}}).use(E).use(m.Z,{target:"_blank",rel:["noopener noreferrer"]}).use(h.Z,{createElement:(e,i,n)=>{if(n=null==n?void 0:n.map((t=>"string"==typeof t?t.replace(/</gim,"<"):t)),!e.startsWith("#"))return t(e,i,n);const r=this.arguments[e.slice(1)];return r?r.component?t(r.component,{attrs:i,props:r.props,class:"rich-text--component"},n):t("span",i,[r]):t("span",{attrs:i,class:"rich-text--fallback"},[`{${e.slice(1)}}`])},prefix:!1}).processSync(this.text.replace(/")).result;return t("div",{class:"rich-text--wrapper rich-text--wrapper-markdown"},[e,this.referenceLimit>0?t("div",{class:"rich-text--reference-widget"},[t(x,{props:{text:this.text,referenceData:this.references}})]):null])}},render(t){return this.useMarkdown?this.renderMarkdown(t):this.renderPlaintext(t)}},S=(0,o.n)(k,null,null,!1,null,"f9d2c651",null,null).exports},64882:function(t,e,i){"use strict";i.d(e,{$U:function(){return L.Z},FK:function(){return Q.Z},Iw:function(){return a.Z},Jc:function(){return K.Z},Jh:function(){return O.Z},O3:function(){return d.Z},P2:function(){return P.Z},QG:function(){return at.Z},SL:function(){return H.Z},Z9:function(){return V.Z},fg:function(){return D.Z},h3:function(){return lt.Z},rw:function(){return M.Z}});var n=i(20212),r=i(66236),s=i(34791),o=i(56562),a=i(31466),l=i(74176),c=i(52300),u=i(64208),d=i(3349),p=i(68763),f=i(76955),h=i(94162),m=i(56071),g=i(27657),v=i(2047),y=i(35534),w=i(82002),_=i(89998),b=i(41705),x=i(61898),N=i(39726),C=i(66845),I=i(87875),E=i(20932),k=i(34739),S=i(88344),T=i(38298),A=i(52467),L=i(36402),D=i(43133),P=i(57274),M=i(71998),Z=i(37776),F=i(73743),j=i(93182),B=i(89241),z=i(54581),O=i(97947),V=i(85017),R=i(37008),$=i(78573),H=i(86514),U=i(93428),Y=i(93815),G=i(40873),Q=i(63813),W=i(11599),X=i(14802),q=i(20435),K=i(59110),J=i(80774),tt=i(16972),et=i(34246),it=i(34854),nt=i(22554),rt=i(22663),st=i(46318),ot=i(29354),at=(i(2343),i(93664),i(79753),i(61537)),lt=(i(23248),i(25751),i(49368)),ct=(i(89115),i(69183),i(32219),i(82675),i(74911)),ut=i(35380),dt=i(56857),pt=i(67912),ft=i(48020),ht=i(47414),mt=i(7566),gt=(i(93911),i(85302),i(90318)),vt=i(17593),yt=(i(79845),i(84722),i(76692),i(40946),i(73045));n.Z,r.Z,s.Z,o.Z,a.Z,l.Z,c.Z,u.Z,p.Z,f.Z,h.Z,d.Z,m.Z,g.Z,v.Z,y.Z,w.Z,_.Z,b.Z,x.Z,N.Z,C.Z,I.Z,E.Z,k.Z,S.Z,T.Z,st.NcAutoCompleteResult,A.N,L.Z,D.Z,P.Z,M.Z,Z.Z,F.Z,j.Z,B.Z,z.Z,O.Z,V.Z,R.Z,$.Z,H.Z,U.Z,Y.Z,G.N,Q.Z,W.Z,X.Z,q.Z,rt.N,K.Z,J.Z,tt.Z,et.Z,it.Z,nt.Z,st.default,ot.N,ct.Z,at.Z,ut.Z,dt.Z,pt.Z,ft.N,lt.Z,ht.Z,mt.Z,Symbol.toStringTag,gt.X,vt.X,yt.VTooltip,Symbol.toStringTag}}]); +//# sourceMappingURL=3245-3245.js.map?v=f413ed246f2d418b1934 \ No newline at end of file diff --git a/dist/3245-3245.js.map b/dist/3245-3245.js.map index 9bfafbcfbeb9c..8df49a0197fd1 100644 --- a/dist/3245-3245.js.map +++ b/dist/3245-3245.js.map @@ -1 +1 @@ -{"version":3,"file":"3245-3245.js?v=9712b63e6d8aa316e55f","mappings":"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MAAO,CAAE4G,MAAO,kDAAoD,CAC3EvG,EACAY,KAAK2yB,eAAiB,EAAI5zB,EAAE,MAAO,CAAE4G,MAAO,+BAAiC,CAC3E5G,EAAE4M,EAAG,CAAErK,MAAO,CAAEgwB,KAAMtxB,KAAKsxB,KAAMC,cAAevxB,KAAKyxB,gBAClD,MAET,GAEF,MAAA/xB,CAAOX,GACL,OAAOiB,KAAKsyB,YAActyB,KAAK6zB,eAAe90B,GAAKiB,KAAK2zB,gBAAgB50B,EAC1E,GAYIgnB,GAVkB,OACtB3Z,EAFK,KAAU,MAKf,EACA,KACA,WACA,KACA,MAEUlL,O,wyCCzLM,IACK,IACJ,IACC,IACH,IACD,IACC,IACC,IACG,IACL,IACQ,IACX,IACG,IACO,IACH,IACD,IACO,IACG,IACN,IACD,IACI,IACC,IACF,IACF,IACC,IACR,IACG,IACK,wBACZ,IACI,IACC,IACL,IACa,IACR,IACJ,IACM,IACE,IACI,IACX,IACM,IACM,IACT,IACC,IACA,IACF,IACD,IACK,IACN,IACI,IACD,IACE,KACR,IACG,EAAA0X,EACK,KACN,KACI,KACU,KACF,WACX,KACW,KACb,KACI,KACO,KACF,KACI,KACV,KACK,KACJ,KACbub,OAAOC,YA8CD,KACE,KACA,YACRD,OAAOC,W","sources":["webpack:///nextcloud/node_modules/@nextcloud/dialogs/dist/chunks/FilePicker-a12aa61b.mjs","webpack:///nextcloud/node_modules/@nextcloud/files/dist/index.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Components/NcRichContenteditable.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcRichText-1c3d2654.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/index.mjs"],"sourcesContent":["import { defineComponent as S, useSlots as X, ref as v, computed as m, watchEffect as q, toRef as Z, watch as O, onMounted as H, onUnmounted as J, nextTick as Q } from \"vue\";\nimport { NcButton as $, NcIconSvgWrapper as Y, NcModal as ee, NcCheckboxRadioSwitch as j, NcDateTime as te, NcActions as ie, NcActionInput as le, NcBreadcrumbs as ne, NcBreadcrumb as ae, NcSelect as se, NcTextField as oe, NcEmptyContent as re } from \"@nextcloud/vue\";\nimport { useElementSize as ce, toValue as U } from \"@vueuse/core\";\nimport { FileType as x, formatFileSize as ue, davGetClient as de, davResultToNode as D, davRootPath as M, getFavoriteNodes as pe, davGetRecentSearch as fe, davGetDefaultPropfind as me } from \"@nextcloud/files\";\nimport { getCanonicalLocale as _e } from \"@nextcloud/l10n\";\nimport { join as W } from \"path\";\nimport { t as _, s as ve } from \"./index-d73f5182.mjs\";\nimport { generateUrl as ge } from \"@nextcloud/router\";\nimport { Fragment as he } from \"vue-frag\";\nfunction g(e, i, t, l, n, s, c, u) {\n var a = typeof e == \"function\" ? e.options : e;\n i && (a.render = i, a.staticRenderFns = t, a._compiled = !0), l && (a.functional = !0), s && (a._scopeId = \"data-v-\" + s);\n var r;\n if (c ? (r = function(f) {\n f = f || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext, !f && typeof __VUE_SSR_CONTEXT__ < \"u\" && (f = __VUE_SSR_CONTEXT__), n && n.call(this, f), f && f._registeredComponents && f._registeredComponents.add(c);\n }, a._ssrRegister = r) : n && (r = u ? function() {\n n.call(this, (a.functional ? this.parent : this).$root.$options.shadowRoot);\n } : n), r)\n if (a.functional) {\n a._injectStyles = r;\n var d = a.render;\n a.render = function(f, k) {\n return r.call(k), d(f, k);\n };\n } else {\n var C = a.beforeCreate;\n a.beforeCreate = C ? [].concat(C, r) : [r];\n }\n return { exports: e, options: a };\n}\nconst ye = { name: \"FileIcon\", emits: [\"click\"], props: { title: { type: String }, fillColor: { type: String, default: \"currentColor\" }, size: { type: Number, default: 24 } } };\nvar we = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon file-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, Ce = [], ke = g(ye, we, Ce, !1, null, null, null, null);\nconst G = ke.exports, be = S({ __name: \"DialogButton\", props: { callback: null, label: null, icon: { default: void 0 }, type: { default: \"secondary\" } }, emits: [\"click\"], setup(e, { emit: i }) {\n const t = e;\n return { __sfc: !0, props: t, emit: i, handleClick: (l) => {\n var n;\n (n = t.callback) == null || n.call(t), i(\"click\", l);\n }, NcButton: $, NcIconSvgWrapper: Y };\n} });\nvar Se = function() {\n var e = this, i = e._self._c, t = e._self._setupProxy;\n return i(t.NcButton, { attrs: { \"aria-label\": t.props.label, type: t.props.type }, on: { click: t.handleClick }, scopedSlots: e._u([t.props.icon !== void 0 ? { key: \"icon\", fn: function() {\n return [typeof t.props.icon == \"string\" ? i(t.NcIconSvgWrapper, { attrs: { svg: t.props.icon } }) : i(t.props.icon, { tag: \"component\", attrs: { size: 20 } })];\n }, proxy: !0 } : null], null, !0) }, [e._v(\" \" + e._s(t.props.label) + \" \")]);\n}, Fe = [], Ne = g(be, Se, Fe, !1, null, null, null, null);\nconst xe = Ne.exports, ze = S({ __name: \"DialogBase\", props: { name: null, message: { default: \"\" }, additionalTrapElements: { default: () => [] }, container: { default: void 0 }, size: { default: \"small\" }, buttons: { default: () => [] }, navigationClasses: { default: () => [] }, contentClasses: { default: () => [] }, dialogClasses: { default: () => [] } }, emits: [\"close\"], setup(e, { emit: i }) {\n const t = e, l = X(), n = v(), { width: s } = ce(n), c = m(() => s.value < 876), u = m(() => (l == null ? void 0 : l.navigation) !== void 0), a = v(!0), r = () => {\n a.value = !1, i(\"close\");\n }, d = m(() => ({ additionalTrapElements: t.additionalTrapElements, container: t.container === void 0 ? \"body\" : t.container, name: t.name, size: t.size, enableSlideshow: !1, enableSwipe: !1 }));\n return { __sfc: !0, props: t, emit: i, slots: l, wrapper: n, dialogWidth: s, isNavigationCollapsed: c, hasNavigation: u, open: a, handleClose: r, modalProps: d, NcModal: ee, DialogButton: xe };\n} });\nvar Le = function() {\n var e = this, i = e._self._c, t = e._self._setupProxy;\n return t.open ? i(t.NcModal, e._b({ staticClass: \"dialog__modal\", on: { close: t.handleClose } }, \"NcModal\", t.modalProps, !1), [i(\"h2\", { staticClass: \"dialog__name\", domProps: { textContent: e._s(e.name) } }), i(\"div\", { staticClass: \"dialog\", class: e.dialogClasses }, [i(\"div\", { ref: \"wrapper\", class: [\"dialog__wrapper\", { \"dialog__wrapper--collapsed\": t.isNavigationCollapsed }] }, [t.hasNavigation ? i(\"nav\", { staticClass: \"dialog__navigation\", class: e.navigationClasses }, [e._t(\"navigation\", null, { isCollapsed: t.isNavigationCollapsed })], 2) : e._e(), i(\"div\", { staticClass: \"dialog__content\", class: e.contentClasses }, [e._t(\"default\", function() {\n return [i(\"p\", [e._v(e._s(t.props.message))])];\n })], 2)]), i(\"div\", { staticClass: \"dialog__actions\" }, [e._t(\"actions\", function() {\n return e._l(t.props.buttons, function(l, n) {\n return i(t.DialogButton, e._b({ key: n, on: { click: t.handleClose } }, \"DialogButton\", l, !1));\n });\n })], 2)])]) : e._e();\n}, Pe = [], Be = g(ze, Le, Pe, !1, null, \"d17575ed\", null, null);\nconst Ie = Be.exports, Ve = { name: \"MenuDownIcon\", emits: [\"click\"], props: { title: { type: String }, fillColor: { type: String, default: \"currentColor\" }, size: { type: Number, default: 24 } } };\nvar De = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon menu-down-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M7,10L12,15L17,10H7Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, Me = [], He = g(Ve, De, Me, !1, null, null, null, null);\nconst $e = He.exports, Re = { name: \"MenuUpIcon\", emits: [\"click\"], props: { title: { type: String }, fillColor: { type: String, default: \"currentColor\" }, size: { type: Number, default: 24 } } };\nvar Ae = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon menu-up-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M7,15L12,10L17,15H7Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, Te = [], Ee = g(Re, Ae, Te, !1, null, null, null, null);\nconst Ue = Ee.exports, K = { \"file-picker__file-icon\": \"_file-picker__file-icon_1vgv4_5\" }, Ze = S({ __name: \"LoadingTableRow\", props: { showCheckbox: { type: Boolean } }, setup(e) {\n return { __sfc: !0, fileListIconStyles: K };\n} });\nvar Oe = function() {\n var e = this, i = e._self._c, t = e._self._setupProxy;\n return i(\"tr\", { staticClass: \"file-picker__row loading-row\", attrs: { \"aria-hidden\": \"true\" } }, [e.showCheckbox ? i(\"td\", { staticClass: \"row-checkbox\" }, [i(\"span\")]) : e._e(), i(\"td\", { staticClass: \"row-name\" }, [i(\"div\", { staticClass: \"row-wrapper\" }, [i(\"span\", { class: t.fileListIconStyles[\"file-picker__file-icon\"] }), i(\"span\")])]), e._m(0), e._m(1)]);\n}, je = [function() {\n var e = this, i = e._self._c;\n return e._self._setupProxy, i(\"td\", { staticClass: \"row-size\" }, [i(\"span\")]);\n}, function() {\n var e = this, i = e._self._c;\n return e._self._setupProxy, i(\"td\", { staticClass: \"row-modified\" }, [i(\"span\")]);\n}], We = g(Ze, Oe, je, !1, null, \"6aded0d9\", null, null);\nconst Ge = We.exports;\nfunction Ke(e, i = {}) {\n var t;\n i = { size: 32, cropPreview: !1, mimeFallback: !0, ...i };\n try {\n const l = ((t = e.attributes) == null ? void 0 : t.previewUrl) || ge(\"/core/preview?fileId={fileid}\", { fileid: e.fileid });\n let n;\n try {\n n = new URL(l);\n } catch {\n n = new URL(l, window.location.origin);\n }\n return n.searchParams.set(\"x\", \"\".concat(i.size)), n.searchParams.set(\"y\", \"\".concat(i.size)), n.searchParams.set(\"mimeFallback\", \"\".concat(i.mimeFallback)), n.searchParams.set(\"a\", i.cropPreview === !0 ? \"0\" : \"1\"), n;\n } catch {\n return null;\n }\n}\nconst Xe = (e, i) => {\n const t = v(null);\n return q(() => {\n t.value = Ke(U(e), U(i || {}));\n }), { previewURL: t };\n}, qe = { name: \"FolderIcon\", emits: [\"click\"], props: { title: { type: String }, fillColor: { type: String, default: \"currentColor\" }, size: { type: Number, default: 24 } } };\nvar Je = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon folder-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, Qe = [], Ye = g(qe, Je, Qe, !1, null, null, null, null);\nconst R = Ye.exports, et = S({ __name: \"FilePreview\", props: { node: null }, setup(e) {\n const i = e, t = v(K), { previewURL: l } = Xe(Z(i, \"node\")), n = m(() => i.node.type === x.File), s = v(!1);\n return O(l, () => {\n if (s.value = !1, l.value) {\n const c = document.createElement(\"img\");\n c.src = l.value.href, c.onerror = () => c.remove(), c.onload = () => {\n s.value = !0, c.remove();\n }, document.body.appendChild(c);\n }\n }, { immediate: !0 }), { __sfc: !0, fileListIconStyles: t, props: i, previewURL: l, isFile: n, canLoadPreview: s, t: _, IconFile: G, IconFolder: R };\n} });\nvar tt = function() {\n var e = this, i = e._self._c, t = e._self._setupProxy;\n return i(\"div\", { class: t.fileListIconStyles[\"file-picker__file-icon\"], style: t.canLoadPreview ? { backgroundImage: \"url(\".concat(t.previewURL, \")\") } : void 0, attrs: { \"aria-label\": t.t(\"Mime type {mime}\", { mime: e.node.mime || t.t(\"unknown\") }) } }, [t.canLoadPreview ? e._e() : [t.isFile ? i(t.IconFile, { attrs: { size: 20 } }) : i(t.IconFolder, { attrs: { size: 20 } })]], 2);\n}, it = [], lt = g(et, tt, it, !1, null, null, null, null);\nconst nt = lt.exports, at = S({ __name: \"FileListRow\", props: { allowPickDirectory: { type: Boolean }, selected: { type: Boolean }, showCheckbox: { type: Boolean }, canPick: { type: Boolean }, node: null }, emits: [\"update:selected\", \"enter-directory\"], setup(e, { emit: i }) {\n const t = e, l = m(() => {\n var d;\n return ((d = t.node.attributes) == null ? void 0 : d.displayName) || t.node.basename.slice(0, t.node.extension ? -t.node.extension.length : void 0);\n }), n = m(() => t.node.extension), s = m(() => t.node.type === x.Folder), c = m(() => t.canPick && (t.allowPickDirectory || !s.value));\n function u() {\n i(\"update:selected\", !t.selected);\n }\n function a() {\n s.value ? i(\"enter-directory\", t.node) : u();\n }\n function r(d) {\n d.key === \"Enter\" && a();\n }\n return { __sfc: !0, props: t, emit: i, displayName: l, fileExtension: n, isDirectory: s, isPickable: c, toggleSelected: u, handleClick: a, handleKeyDown: r, formatFileSize: ue, NcCheckboxRadioSwitch: j, NcDateTime: te, t: _, FilePreview: nt };\n} });\nvar st = function() {\n var e = this, i = e._self._c, t = e._self._setupProxy;\n return i(\"tr\", e._g({ class: [\"file-picker__row\", { \"file-picker__row--selected\": e.selected && !e.showCheckbox }], attrs: { tabindex: e.showCheckbox && !t.isDirectory ? void 0 : 0, \"aria-selected\": t.isPickable ? e.selected : void 0, \"data-filename\": e.node.basename, \"data-testid\": \"file-list-row\" }, on: { click: t.handleClick } }, !e.showCheckbox || t.isDirectory ? { keydown: t.handleKeyDown } : {}), [e.showCheckbox ? i(\"td\", { staticClass: \"row-checkbox\" }, [i(t.NcCheckboxRadioSwitch, { attrs: { disabled: !t.isPickable, checked: e.selected, \"aria-label\": t.t(\"Select the row for {nodename}\", { nodename: t.displayName }), \"data-testid\": \"row-checkbox\" }, on: { click: function(l) {\n l.stopPropagation();\n }, \"update:checked\": t.toggleSelected } })], 1) : e._e(), i(\"td\", { staticClass: \"row-name\" }, [i(\"div\", { staticClass: \"file-picker__name-container\", attrs: { \"data-testid\": \"row-name\" } }, [i(t.FilePreview, { attrs: { node: e.node } }), i(\"div\", { staticClass: \"file-picker__file-name\", attrs: { title: t.displayName }, domProps: { textContent: e._s(t.displayName) } }), i(\"div\", { staticClass: \"file-picker__file-extension\", domProps: { textContent: e._s(t.fileExtension) } })], 1)]), i(\"td\", { staticClass: \"row-size\" }, [e._v(\" \" + e._s(t.formatFileSize(e.node.size || 0)) + \" \")]), i(\"td\", { staticClass: \"row-modified\" }, [i(t.NcDateTime, { attrs: { timestamp: e.node.mtime, \"ignore-seconds\": !0 } })], 1)]);\n}, ot = [], rt = g(at, st, ot, !1, null, \"d337ebac\", null, null);\nconst ct = rt.exports, ut = S({ __name: \"FileList\", props: { multiselect: { type: Boolean }, allowPickDirectory: { type: Boolean }, loading: { type: Boolean }, files: null, selectedFiles: null, path: null }, emits: [\"update:path\", \"update:selectedFiles\"], setup(e, { emit: i }) {\n const t = e, l = v(\"ascending\"), n = v(void 0), s = v(void 0), c = { ascending: (o, p, w) => w(o, p), descending: (o, p, w) => w(p, o), none: (o, p, w) => 0 }, u = (o, p) => {\n var w, N;\n return (((w = o.attributes) == null ? void 0 : w.displayName) || o.basename).localeCompare(((N = p.attributes) == null ? void 0 : N.displayName) || p.basename, _e());\n }, a = (o, p) => (p.size || 0) - (o.size || 0), r = (o, p) => {\n var w, N;\n return (((w = o.mtime) == null ? void 0 : w.getTime()) || 0) - (((N = p.mtime) == null ? void 0 : N.getTime()) || 0);\n }, d = (o) => {\n const p = o.value;\n s.value = n.value = l.value = void 0, p === \"ascending\" ? o.value = \"descending\" : o.value = \"ascending\";\n }, C = () => d(l), f = () => d(n), k = () => d(s), b = m(() => [...t.files].sort((o, p) => (p.type === x.Folder ? 1 : 0) - (o.type === x.Folder ? 1 : 0) || c[l.value || \"none\"](o, p, u) || c[n.value || \"none\"](o, p, a) || c[s.value || \"none\"](o, p, r))), F = m(() => t.files.filter((o) => t.allowPickDirectory || o.type !== x.Folder)), z = m(() => !t.loading && t.selectedFiles.length > 0 && t.selectedFiles.length >= F.value.length);\n function L() {\n t.selectedFiles.length < F.value.length ? i(\"update:selectedFiles\", F.value) : i(\"update:selectedFiles\", []);\n }\n function B(o) {\n t.selectedFiles.includes(o) ? i(\"update:selectedFiles\", t.selectedFiles.filter((p) => p.path !== o.path)) : t.multiselect ? i(\"update:selectedFiles\", [...t.selectedFiles, o]) : i(\"update:selectedFiles\", [o]);\n }\n function I(o) {\n i(\"update:path\", W(t.path, o.basename));\n }\n const h = v(4), y = v();\n {\n const o = () => Q(() => {\n var p, w, N, A, T;\n const V = ((w = (p = y.value) == null ? void 0 : p.parentElement) == null ? void 0 : w.children) || [];\n let E = ((A = (N = y.value) == null ? void 0 : N.parentElement) == null ? void 0 : A.clientHeight) || 450;\n for (let P = 0; P < V.length; P++)\n (T = y.value) != null && T.isSameNode(V[P]) || (E -= V[P].clientHeight);\n h.value = Math.floor((E - 50) / 50);\n });\n H(() => {\n window.addEventListener(\"resize\", o), o();\n }), J(() => {\n window.removeEventListener(\"resize\", o);\n });\n }\n return { __sfc: !0, props: t, emit: i, sortByName: l, sortBySize: n, sortByModified: s, ordering: c, byName: u, bySize: a, byDate: r, toggleSorting: d, toggleSortByName: C, toggleSortBySize: f, toggleSortByModified: k, sortedFiles: b, selectableFiles: F, allSelected: z, onSelectAll: L, onNodeSelected: B, onChangeDirectory: I, skeletonNumber: h, fileContainer: y, NcButton: $, NcCheckboxRadioSwitch: j, t: _, IconSortAscending: $e, IconSortDescending: Ue, LoadingTableRow: Ge, FileListRow: ct };\n} });\nvar dt = function() {\n var e = this, i = e._self._c, t = e._self._setupProxy;\n return i(\"div\", { ref: \"fileContainer\", staticClass: \"file-picker__files\" }, [i(\"table\", [i(\"thead\", [i(\"tr\", [e.multiselect ? i(\"th\", { staticClass: \"row-checkbox\" }, [i(\"span\", { staticClass: \"hidden-visually\" }, [e._v(\" \" + e._s(t.t(\"Select entry\")) + \" \")]), e.multiselect ? i(t.NcCheckboxRadioSwitch, { attrs: { \"aria-label\": t.t(\"Select all entries\"), checked: t.allSelected, \"data-testid\": \"select-all-checkbox\" }, on: { \"update:checked\": t.onSelectAll } }) : e._e()], 1) : e._e(), i(\"th\", { staticClass: \"row-name\", attrs: { \"aria-sort\": t.sortByName } }, [i(\"div\", { staticClass: \"header-wrapper\" }, [i(\"span\", { staticClass: \"file-picker__header-preview\" }), i(t.NcButton, { attrs: { wide: !0, type: \"tertiary\", \"data-test\": \"file-picker_sort-name\" }, on: { click: t.toggleSortByName }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [t.sortByName === \"ascending\" ? i(t.IconSortAscending, { attrs: { size: 20 } }) : t.sortByName === \"descending\" ? i(t.IconSortDescending, { attrs: { size: 20 } }) : i(\"span\", { staticStyle: { width: \"44px\" } })];\n }, proxy: !0 }]) }, [e._v(\" \" + e._s(t.t(\"Name\")) + \" \")])], 1)]), i(\"th\", { staticClass: \"row-size\", attrs: { \"aria-sort\": t.sortBySize } }, [i(t.NcButton, { attrs: { wide: !0, type: \"tertiary\" }, on: { click: t.toggleSortBySize }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [t.sortBySize === \"ascending\" ? i(t.IconSortAscending, { attrs: { size: 20 } }) : t.sortBySize === \"descending\" ? i(t.IconSortDescending, { attrs: { size: 20 } }) : i(\"span\", { staticStyle: { width: \"44px\" } })];\n }, proxy: !0 }]) }, [e._v(\" \" + e._s(t.t(\"Size\")) + \" \")])], 1), i(\"th\", { staticClass: \"row-modified\", attrs: { \"aria-sort\": t.sortByModified } }, [i(t.NcButton, { attrs: { wide: !0, type: \"tertiary\" }, on: { click: t.toggleSortByModified }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [t.sortByModified === \"ascending\" ? i(t.IconSortAscending, { attrs: { size: 20 } }) : t.sortByModified === \"descending\" ? i(t.IconSortDescending, { attrs: { size: 20 } }) : i(\"span\", { staticStyle: { width: \"44px\" } })];\n }, proxy: !0 }]) }, [e._v(\" \" + e._s(t.t(\"Modified\")) + \" \")])], 1)])]), i(\"tbody\", [e.loading ? e._l(t.skeletonNumber, function(l) {\n return i(t.LoadingTableRow, { key: l, attrs: { \"show-checkbox\": e.multiselect } });\n }) : e._l(t.sortedFiles, function(l) {\n return i(t.FileListRow, { key: l.fileid || l.path, attrs: { \"allow-pick-directory\": e.allowPickDirectory, \"show-checkbox\": e.multiselect, \"can-pick\": e.multiselect || e.selectedFiles.length === 0 || e.selectedFiles.includes(l), selected: e.selectedFiles.includes(l), node: l }, on: { \"update:selected\": function(n) {\n return t.onNodeSelected(l);\n }, \"enter-directory\": t.onChangeDirectory } });\n })], 2)])]);\n}, pt = [], ft = g(ut, dt, pt, !1, null, \"87fafd7e\", null, null);\nconst mt = ft.exports, _t = { name: \"HomeIcon\", emits: [\"click\"], props: { title: { type: String }, fillColor: { type: String, default: \"currentColor\" }, size: { type: Number, default: 24 } } };\nvar vt = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon home-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M10,20V14H14V20H19V12H22L12,3L2,12H5V20H10Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, gt = [], ht = g(_t, vt, gt, !1, null, null, null, null);\nconst yt = ht.exports, wt = { name: \"PlusIcon\", emits: [\"click\"], props: { title: { type: String }, fillColor: { type: String, default: \"currentColor\" }, size: { type: Number, default: 24 } } };\nvar Ct = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon plus-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, kt = [], bt = g(wt, Ct, kt, !1, null, null, null, null);\nconst St = bt.exports, Ft = S({ __name: \"FilePickerBreadcrumbs\", props: { path: null, showMenu: { type: Boolean } }, emits: [\"update:path\", \"create-node\"], setup(e, { emit: i }) {\n const t = e, l = v(\"\"), n = v();\n function s() {\n var a, r, d, C;\n const f = l.value.trim(), k = (r = (a = n.value) == null ? void 0 : a.$el) == null ? void 0 : r.querySelector(\"input\");\n let b = \"\";\n return f.length === 0 ? b = _(\"File name cannot be empty.\") : f.includes(\"/\") ? b = _('\"/\" is not allowed inside a file name.') : [\"..\", \".\"].includes(f) ? b = _('\"{name}\" is an invalid file name.', { name: f }) : (d = window.OC.config) != null && d.blacklist_files_regex && f.match((C = window.OC.config) == null ? void 0 : C.blacklist_files_regex) && (b = _('\"{name}\" is not an allowed filetype', { name: f })), k && k.setCustomValidity(b), b === \"\";\n }\n const c = function() {\n const a = l.value.trim();\n s() && (i(\"create-node\", a), l.value = \"\");\n }, u = m(() => t.path.split(\"/\").filter((a) => a !== \"\").map((a, r, d) => ({ name: a, path: \"/\" + d.slice(0, r + 1).join(\"/\") })));\n return { __sfc: !0, props: t, emit: i, newNodeName: l, nameInput: n, validateInput: s, onSubmit: c, pathElements: u, IconFolder: R, IconHome: yt, IconPlus: St, NcActions: ie, NcActionInput: le, NcBreadcrumbs: ne, NcBreadcrumb: ae, t: _ };\n} });\nvar Nt = function() {\n var e = this, i = e._self._c, t = e._self._setupProxy;\n return i(t.NcBreadcrumbs, { staticClass: \"file-picker__breadcrumbs\", scopedSlots: e._u([{ key: \"default\", fn: function() {\n return [i(t.NcBreadcrumb, { attrs: { name: t.t(\"Home\"), title: t.t(\"Home\") }, on: { click: function(l) {\n return t.emit(\"update:path\", \"/\");\n } }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [i(t.IconHome, { attrs: { size: 20 } })];\n }, proxy: !0 }]) }), e._l(t.pathElements, function(l) {\n return i(t.NcBreadcrumb, { key: l.path, attrs: { name: l.name, title: l.path }, on: { click: function(n) {\n return t.emit(\"update:path\", l.path);\n } } });\n })];\n }, proxy: !0 }, e.showMenu ? { key: \"actions\", fn: function() {\n return [i(t.NcActions, { attrs: { \"aria-label\": t.t(\"Create directory\"), \"force-menu\": !0, \"force-name\": !0, \"menu-name\": t.t(\"New\"), type: \"secondary\" }, on: { close: function(l) {\n t.newNodeName = \"\";\n } }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [i(t.IconPlus, { attrs: { size: 20 } })];\n }, proxy: !0 }], null, !1, 2971667417) }, [i(t.NcActionInput, { ref: \"nameInput\", attrs: { value: t.newNodeName, label: t.t(\"New folder\"), placeholder: t.t(\"New folder name\") }, on: { \"update:value\": function(l) {\n t.newNodeName = l;\n }, submit: t.onSubmit, input: t.validateInput }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [i(t.IconFolder, { attrs: { size: 20 } })];\n }, proxy: !0 }], null, !1, 1614167509) })], 1)];\n }, proxy: !0 } : null], null, !0) });\n}, xt = [], zt = g(Ft, Nt, xt, !1, null, \"d35aa423\", null, null);\nconst Lt = zt.exports, Pt = { name: \"ClockIcon\", emits: [\"click\"], props: { title: { type: String }, fillColor: { type: String, default: \"currentColor\" }, size: { type: Number, default: 24 } } };\nvar Bt = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon clock-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M16.2,16.2L11,13V7H12.5V12.2L17,14.9L16.2,16.2Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, It = [], Vt = g(Pt, Bt, It, !1, null, null, null, null);\nconst Dt = Vt.exports, Mt = { name: \"CloseIcon\", emits: [\"click\"], props: { title: { type: String }, fillColor: { type: String, default: \"currentColor\" }, size: { type: Number, default: 24 } } };\nvar Ht = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon close-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, $t = [], Rt = g(Mt, Ht, $t, !1, null, null, null, null);\nconst At = Rt.exports, Tt = { name: \"MagnifyIcon\", emits: [\"click\"], props: { title: { type: String }, fillColor: { type: String, default: \"currentColor\" }, size: { type: Number, default: 24 } } };\nvar Et = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon magnify-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, Ut = [], Zt = g(Tt, Et, Ut, !1, null, null, null, null);\nconst Ot = Zt.exports, jt = { name: \"StarIcon\", emits: [\"click\"], props: { title: { type: String }, fillColor: { type: String, default: \"currentColor\" }, size: { type: Number, default: 24 } } };\nvar Wt = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon star-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, Gt = [], Kt = g(jt, Wt, Gt, !1, null, null, null, null);\nconst Xt = Kt.exports, qt = S({ __name: \"FilePickerNavigation\", props: { currentView: null, filterString: null, isCollapsed: { type: Boolean } }, emits: [\"update:currentView\", \"update:filterString\"], setup(e, { emit: i }) {\n const t = e, l = [{ id: \"files\", label: _(\"All files\"), icon: R }, { id: \"recent\", label: _(\"Recent\"), icon: Dt }, { id: \"favorites\", label: _(\"Favorites\"), icon: Xt }], n = m(() => l.filter((s) => s.id === t.currentView)[0]);\n return { __sfc: !0, allViews: l, props: t, emit: i, currentViewObject: n, updateFilterValue: (s) => i(\"update:filterString\", s), IconClose: At, IconMagnify: Ot, NcButton: $, NcSelect: se, NcTextField: oe, t: _, Fragment: he };\n} });\nvar Jt = function() {\n var e = this, i = e._self._c, t = e._self._setupProxy;\n return i(t.Fragment, [i(t.NcTextField, { staticClass: \"file-picker__filter-input\", attrs: { value: e.filterString, label: t.t(\"Filter file list\"), \"show-trailing-button\": !!e.filterString }, on: { \"update:value\": t.updateFilterValue, \"trailing-button-click\": function(l) {\n return t.updateFilterValue(\"\");\n } }, scopedSlots: e._u([{ key: \"trailing-button-icon\", fn: function() {\n return [i(t.IconClose, { attrs: { size: 16 } })];\n }, proxy: !0 }]) }, [i(t.IconMagnify, { attrs: { size: 16 } })], 1), e.isCollapsed ? i(t.NcSelect, { attrs: { \"aria-label\": t.t(\"Current view selector\"), clearable: !1, searchable: !1, options: t.allViews, value: t.currentViewObject }, on: { input: (l) => t.emit(\"update:currentView\", l.id) } }) : i(\"ul\", { staticClass: \"file-picker__side\", attrs: { role: \"tablist\", \"aria-label\": t.t(\"Filepicker sections\") } }, e._l(t.allViews, function(l) {\n return i(\"li\", { key: l.id }, [i(t.NcButton, { attrs: { \"aria-selected\": e.currentView === l.id, type: e.currentView === l.id ? \"primary\" : \"tertiary\", wide: !0, role: \"tab\" }, on: { click: function(n) {\n return e.$emit(\"update:currentView\", l.id);\n } }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [i(l.icon, { tag: \"component\", attrs: { size: 20 } })];\n }, proxy: !0 }], null, !0) }, [e._v(\" \" + e._s(l.label) + \" \")])], 1);\n }), 0)], 1);\n}, Qt = [], Yt = g(qt, Jt, Qt, !1, null, \"fcfd0f23\", null, null);\nconst ei = Yt.exports, ti = function(e, i) {\n const t = de(), l = v([]), n = v(!0);\n async function s(u, a = M) {\n const r = await t.stat(\"\".concat(a).concat(u), { details: !0 });\n return D(r.data);\n }\n async function c() {\n if (n.value = !0, e.value === \"favorites\")\n l.value = await pe(t, i.value);\n else if (e.value === \"recent\") {\n const u = Math.round(Date.now() / 1e3) - 1209600, { data: a } = await t.search(\"/\", { details: !0, data: fe(u) });\n l.value = a.results.map((r) => D(r));\n } else {\n const u = await t.getDirectoryContents(\"\".concat(M).concat(i.value), { details: !0, data: me() });\n l.value = u.data.map((a) => D(a));\n }\n n.value = !1;\n }\n return O([e, i], () => c()), H(() => c()), { isLoading: n, files: l, loadFiles: () => c(), getFile: s, client: t };\n}, ii = function(e) {\n const i = m(() => e.value.map((t) => t.split(\"/\")));\n return { isSupportedMimeType: (t) => {\n const l = t.split(\"/\");\n return i.value.some(([n, s]) => (l[0] === n || n === \"*\") && (l[1] === s || s === \"*\"));\n } };\n}, li = { name: \"FilePicker\" }, ni = S({ ...li, props: { buttons: null, name: null, allowPickDirectory: { type: Boolean, default: !1 }, container: { default: \"body\" }, filterFn: { default: void 0 }, mimetypeFilter: { default: () => [] }, multiselect: { type: Boolean, default: !0 }, path: { default: \"/\" } }, emits: [\"close\"], setup(e, { emit: i }) {\n const t = e, l = m(() => ({ container: t.container, name: t.name, buttons: n.value, size: \"large\", contentClasses: [\"file-picker__content\"], dialogClasses: [\"file-picker\"], navigationClasses: [\"file-picker__navigation\"] })), n = m(() => (typeof t.buttons == \"function\" ? t.buttons(u.value, d.value, s.value) : t.buttons).map((h) => ({ ...h, callback: async () => {\n const y = u.value.length === 0 && t.allowPickDirectory ? [await z(d.value)] : u.value;\n h.callback(y), i(\"close\", u.value);\n } }))), s = v(\"files\"), c = m(() => s.value === \"favorites\" ? _(\"Favorites\") : s.value === \"recent\" ? _(\"Recent\") : \"\"), u = v([]), a = v((window == null ? void 0 : window.sessionStorage.getItem(\"NC.FilePicker.LastPath\")) || \"/\"), r = v(), d = m({ get: () => s.value === \"files\" ? r.value || t.path || a.value : \"/\", set: (h) => {\n t.path === void 0 && window.sessionStorage.setItem(\"NC.FilePicker.LastPath\", h), r.value = h, u.value = [];\n } }), C = v(\"\"), { isSupportedMimeType: f } = ii(Z(t, \"mimetypeFilter\")), { files: k, isLoading: b, loadFiles: F, getFile: z, client: L } = ti(s, d);\n H(() => F());\n const B = m(() => {\n let h = k.value;\n return t.mimetypeFilter.length > 0 && (h = h.filter((y) => y.type === \"folder\" || y.mime && f(y.mime))), C.value && (h = h.filter((y) => y.basename.toLowerCase().includes(C.value.toLowerCase()))), t.filterFn && (h = h.filter((y) => t.filterFn(y))), h;\n }), I = m(() => s.value === \"files\" ? _(\"Upload some content or sync with your devices!\") : s.value === \"recent\" ? _(\"Files and folders you recently modified will show up here.\") : _(\"Files and folders you mark as favorite will show up here.\"));\n return { __sfc: !0, props: t, emit: i, dialogProps: l, dialogButtons: n, currentView: s, viewHeadline: c, selectedFiles: u, savedPath: a, navigatedPath: r, currentPath: d, filterString: C, isSupportedMimeType: f, files: k, isLoading: b, loadFiles: F, getFile: z, client: L, filteredFiles: B, noFilesDescription: I, onCreateFolder: (h) => {\n L.createDirectory(W(M, d.value, h)).then(() => F()).catch((y) => ve(_(\"Could not create the new folder\")));\n }, IconFile: G, DialogBase: Ie, FileList: mt, FilePickerBreadcrumbs: Lt, FilePickerNavigation: ei, NcEmptyContent: re, t: _ };\n} });\nvar ai = function() {\n var e = this, i = e._self._c, t = e._self._setupProxy;\n return i(t.DialogBase, e._b({ on: { close: function(l) {\n return t.emit(\"close\");\n } }, scopedSlots: e._u([{ key: \"navigation\", fn: function({ isCollapsed: l }) {\n return [i(t.FilePickerNavigation, { attrs: { \"is-collapsed\": l, \"current-view\": t.currentView, \"filter-string\": t.filterString }, on: { \"update:currentView\": function(n) {\n t.currentView = n;\n }, \"update:current-view\": function(n) {\n t.currentView = n;\n }, \"update:filterString\": function(n) {\n t.filterString = n;\n }, \"update:filter-string\": function(n) {\n t.filterString = n;\n } } })];\n } }]) }, \"DialogBase\", t.dialogProps, !1), [i(\"div\", { staticClass: \"file-picker__main\" }, [t.currentView === \"files\" ? i(t.FilePickerBreadcrumbs, { attrs: { path: t.currentPath, \"show-menu\": e.allowPickDirectory }, on: { \"update:path\": function(l) {\n t.currentPath = l;\n }, \"create-node\": t.onCreateFolder } }) : i(\"div\", { staticClass: \"file-picker__view\" }, [i(\"h3\", [e._v(e._s(t.viewHeadline))])]), t.isLoading || t.filteredFiles.length > 0 ? i(t.FileList, { attrs: { \"allow-pick-directory\": e.allowPickDirectory, files: t.filteredFiles, multiselect: e.multiselect, loading: t.isLoading, path: t.currentPath, \"selected-files\": t.selectedFiles, name: t.viewHeadline }, on: { \"update:path\": [function(l) {\n t.currentPath = l;\n }, function(l) {\n t.currentView = \"files\";\n }], \"update:selectedFiles\": function(l) {\n t.selectedFiles = l;\n }, \"update:selected-files\": function(l) {\n t.selectedFiles = l;\n } } }) : t.filterString ? i(t.NcEmptyContent, { attrs: { name: t.t(\"No matching files\"), description: t.t(\"No files matching your filter were found.\") }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [i(t.IconFile)];\n }, proxy: !0 }]) }) : i(t.NcEmptyContent, { attrs: { name: t.t(\"No files in here\"), description: t.noFilesDescription }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [i(t.IconFile)];\n }, proxy: !0 }]) })], 1)]);\n}, si = [], oi = g(ni, ai, si, !1, null, \"3e8ab6c4\", null, null);\nconst gi = oi.exports;\nexport {\n gi as default\n};\n","import { getCurrentUser as T, getRequestToken as at } from \"@nextcloud/auth\";\nimport { getLoggerBuilder as M } from \"@nextcloud/logger\";\nimport { getCanonicalLocale as lt } from \"@nextcloud/l10n\";\nimport { join as dt, basename as ut, extname as ct, dirname as A } from \"path\";\nimport { encodePath as ht } from \"@nextcloud/paths\";\nimport { generateRemoteUrl as pt } from \"@nextcloud/router\";\nimport { createClient as ft, getPatcher as gt } from \"webdav\";\nimport { request as mt } from \"webdav/dist/node/request.js\";\nconst wt = (t) => t === null ? M().setApp(\"files\").build() : M().setApp(\"files\").setUid(t.uid).build(), m = wt(T());\nclass vt {\n _entries = [];\n registerEntry(e) {\n this.validateEntry(e), this._entries.push(e);\n }\n unregisterEntry(e) {\n const i = typeof e == \"string\" ? this.getEntryIndex(e) : this.getEntryIndex(e.id);\n if (i === -1) {\n m.warn(\"Entry not found, nothing removed\", { entry: e, entries: this.getEntries() });\n return;\n }\n this._entries.splice(i, 1);\n }\n getEntries(e) {\n return e ? this._entries.filter((i) => typeof i.if == \"function\" ? i.if(e) : !0) : this._entries;\n }\n getEntryIndex(e) {\n return this._entries.findIndex((i) => i.id === e);\n }\n validateEntry(e) {\n if (!e.id || !e.displayName || !(e.iconSvgInline || e.iconClass || e.handler))\n throw new Error(\"Invalid entry\");\n if (typeof e.id != \"string\" || typeof e.displayName != \"string\")\n throw new Error(\"Invalid id or displayName property\");\n if (e.iconClass && typeof e.iconClass != \"string\" || e.iconSvgInline && typeof e.iconSvgInline != \"string\")\n throw new Error(\"Invalid icon provided\");\n if (e.if !== void 0 && typeof e.if != \"function\")\n throw new Error(\"Invalid if property\");\n if (e.templateName && typeof e.templateName != \"string\")\n throw new Error(\"Invalid templateName property\");\n if (e.handler && typeof e.handler != \"function\")\n throw new Error(\"Invalid handler property\");\n if (!e.templateName && !e.handler)\n throw new Error(\"At least a templateName or a handler must be provided\");\n if (this.getEntryIndex(e.id) !== -1)\n throw new Error(\"Duplicate entry\");\n }\n}\nconst F = function() {\n return typeof window._nc_newfilemenu > \"u\" && (window._nc_newfilemenu = new vt(), m.debug(\"NewFileMenu initialized\")), window._nc_newfilemenu;\n}, P = [\"B\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\"], O = [\"B\", \"KiB\", \"MiB\", \"GiB\", \"TiB\", \"PiB\"];\nfunction Ze(t, e = !1, i = !0) {\n typeof t == \"string\" && (t = Number(t));\n let r = t > 0 ? Math.floor(Math.log(t) / Math.log(i ? 1024 : 1e3)) : 0;\n r = Math.min((i ? O.length : P.length) - 1, r);\n const n = i ? O[r] : P[r];\n let s = (t / Math.pow(i ? 1024 : 1e3, r)).toFixed(1);\n return e === !0 && r === 0 ? (s !== \"0.0\" ? \"< 1 \" : \"0 \") + (i ? O[1] : P[1]) : (r < 2 ? s = parseFloat(s).toFixed(0) : s = parseFloat(s).toLocaleString(lt()), s + \" \" + n);\n}\nfunction Je(t, e = !1) {\n try {\n t = `${t}`.toLocaleLowerCase().replaceAll(/\\s+/g, \"\").replaceAll(\",\", \".\");\n } catch {\n return null;\n }\n const i = t.match(/^([0-9]*(\\.[0-9]*)?)([kmgtp]?)(i?)b?$/);\n if (i === null || i[1] === \".\" || i[1] === \"\")\n return null;\n const r = { \"\": 0, k: 1, m: 2, g: 3, t: 4, p: 5, e: 6 }, n = `${i[1]}`, s = i[4] === \"i\" || e ? 1024 : 1e3;\n return Math.round(Number.parseFloat(n) * s ** r[i[3]]);\n}\nvar K = ((t) => (t.DEFAULT = \"default\", t.HIDDEN = \"hidden\", t))(K || {});\nclass Qe {\n _action;\n constructor(e) {\n this.validateAction(e), this._action = e;\n }\n get id() {\n return this._action.id;\n }\n get displayName() {\n return this._action.displayName;\n }\n get title() {\n return this._action.title;\n }\n get iconSvgInline() {\n return this._action.iconSvgInline;\n }\n get enabled() {\n return this._action.enabled;\n }\n get exec() {\n return this._action.exec;\n }\n get execBatch() {\n return this._action.execBatch;\n }\n get order() {\n return this._action.order;\n }\n get default() {\n return this._action.default;\n }\n get inline() {\n return this._action.inline;\n }\n get renderInline() {\n return this._action.renderInline;\n }\n validateAction(e) {\n if (!e.id || typeof e.id != \"string\")\n throw new Error(\"Invalid id\");\n if (!e.displayName || typeof e.displayName != \"function\")\n throw new Error(\"Invalid displayName function\");\n if (\"title\" in e && typeof e.title != \"function\")\n throw new Error(\"Invalid title function\");\n if (!e.iconSvgInline || typeof e.iconSvgInline != \"function\")\n throw new Error(\"Invalid iconSvgInline function\");\n if (!e.exec || typeof e.exec != \"function\")\n throw new Error(\"Invalid exec function\");\n if (\"enabled\" in e && typeof e.enabled != \"function\")\n throw new Error(\"Invalid enabled function\");\n if (\"execBatch\" in e && typeof e.execBatch != \"function\")\n throw new Error(\"Invalid execBatch function\");\n if (\"order\" in e && typeof e.order != \"number\")\n throw new Error(\"Invalid order\");\n if (e.default && !Object.values(K).includes(e.default))\n throw new Error(\"Invalid default\");\n if (\"inline\" in e && typeof e.inline != \"function\")\n throw new Error(\"Invalid inline function\");\n if (\"renderInline\" in e && typeof e.renderInline != \"function\")\n throw new Error(\"Invalid renderInline function\");\n }\n}\nconst ti = function(t) {\n if (typeof window._nc_fileactions > \"u\" && (window._nc_fileactions = [], m.debug(\"FileActions initialized\")), window._nc_fileactions.find((e) => e.id === t.id)) {\n m.error(`FileAction ${t.id} already registered`, { action: t });\n return;\n }\n window._nc_fileactions.push(t);\n}, ei = function() {\n return typeof window._nc_fileactions > \"u\" && (window._nc_fileactions = [], m.debug(\"FileActions initialized\")), window._nc_fileactions;\n};\nclass ii {\n _header;\n constructor(e) {\n this.validateHeader(e), this._header = e;\n }\n get id() {\n return this._header.id;\n }\n get order() {\n return this._header.order;\n }\n get enabled() {\n return this._header.enabled;\n }\n get render() {\n return this._header.render;\n }\n get updated() {\n return this._header.updated;\n }\n validateHeader(e) {\n if (!e.id || !e.render || !e.updated)\n throw new Error(\"Invalid header: id, render and updated are required\");\n if (typeof e.id != \"string\")\n throw new Error(\"Invalid id property\");\n if (e.enabled !== void 0 && typeof e.enabled != \"function\")\n throw new Error(\"Invalid enabled property\");\n if (e.render && typeof e.render != \"function\")\n throw new Error(\"Invalid render property\");\n if (e.updated && typeof e.updated != \"function\")\n throw new Error(\"Invalid updated property\");\n }\n}\nconst ni = function(t) {\n if (typeof window._nc_filelistheader > \"u\" && (window._nc_filelistheader = [], m.debug(\"FileListHeaders initialized\")), window._nc_filelistheader.find((e) => e.id === t.id)) {\n m.error(`Header ${t.id} already registered`, { header: t });\n return;\n }\n window._nc_filelistheader.push(t);\n}, ri = function() {\n return typeof window._nc_filelistheader > \"u\" && (window._nc_filelistheader = [], m.debug(\"FileListHeaders initialized\")), window._nc_filelistheader;\n};\nvar v = ((t) => (t[t.NONE = 0] = \"NONE\", t[t.CREATE = 4] = \"CREATE\", t[t.READ = 1] = \"READ\", t[t.UPDATE = 2] = \"UPDATE\", t[t.DELETE = 8] = \"DELETE\", t[t.SHARE = 16] = \"SHARE\", t[t.ALL = 31] = \"ALL\", t))(v || {});\nconst W = [\"d:getcontentlength\", \"d:getcontenttype\", \"d:getetag\", \"d:getlastmodified\", \"d:quota-available-bytes\", \"d:resourcetype\", \"nc:has-preview\", \"nc:is-encrypted\", \"nc:mount-type\", \"nc:share-attributes\", \"oc:comments-unread\", \"oc:favorite\", \"oc:fileid\", \"oc:owner-display-name\", \"oc:owner-id\", \"oc:permissions\", \"oc:share-types\", \"oc:size\", \"ocs:share-permissions\"], Y = { d: \"DAV:\", nc: \"http://nextcloud.org/ns\", oc: \"http://owncloud.org/ns\", ocs: \"http://open-collaboration-services.org/ns\" }, si = function(t, e = { nc: \"http://nextcloud.org/ns\" }) {\n typeof window._nc_dav_properties > \"u\" && (window._nc_dav_properties = [...W], window._nc_dav_namespaces = { ...Y });\n const i = { ...window._nc_dav_namespaces, ...e };\n if (window._nc_dav_properties.find((n) => n === t))\n return m.error(`${t} already registered`, { prop: t }), !1;\n if (t.startsWith(\"<\") || t.split(\":\").length !== 2)\n return m.error(`${t} is not valid. See example: 'oc:fileid'`, { prop: t }), !1;\n const r = t.split(\":\")[0];\n return i[r] ? (window._nc_dav_properties.push(t), window._nc_dav_namespaces = i, !0) : (m.error(`${t} namespace unknown`, { prop: t, namespaces: i }), !1);\n}, $ = function() {\n return typeof window._nc_dav_properties > \"u\" && (window._nc_dav_properties = [...W]), window._nc_dav_properties.map((t) => `<${t} />`).join(\" \");\n}, V = function() {\n return typeof window._nc_dav_namespaces > \"u\" && (window._nc_dav_namespaces = { ...Y }), Object.keys(window._nc_dav_namespaces).map((t) => `xmlns:${t}=\"${window._nc_dav_namespaces?.[t]}\"`).join(\" \");\n}, oi = function() {\n return `\n\t\t\n\t\t\t\n\t\t\t\t${$()}\n\t\t\t\n\t\t`;\n}, yt = function() {\n return `\n\t\t\n\t\t\t\n\t\t\t\t${$()}\n\t\t\t\n\t\t\t\n\t\t\t\t1\n\t\t\t\n\t\t`;\n}, ai = function(t) {\n return `\n\n\t\n\t\t\n\t\t\t\n\t\t\t\t${$()}\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t/files/${T()?.uid}/\n\t\t\t\tinfinity\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\thttpd/unix-directory\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t0\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t${t}\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t100\n\t\t\t0\n\t\t\n\t\n`;\n}, xt = function(t = \"\") {\n let e = v.NONE;\n return t && ((t.includes(\"C\") || t.includes(\"K\")) && (e |= v.CREATE), t.includes(\"G\") && (e |= v.READ), (t.includes(\"W\") || t.includes(\"N\") || t.includes(\"V\")) && (e |= v.UPDATE), t.includes(\"D\") && (e |= v.DELETE), t.includes(\"R\") && (e |= v.SHARE)), e;\n};\nvar k = ((t) => (t.Folder = \"folder\", t.File = \"file\", t))(k || {});\nconst Z = function(t, e) {\n return t.match(e) !== null;\n}, B = (t, e) => {\n if (t.id && typeof t.id != \"number\")\n throw new Error(\"Invalid id type of value\");\n if (!t.source)\n throw new Error(\"Missing mandatory source\");\n try {\n new URL(t.source);\n } catch {\n throw new Error(\"Invalid source format, source must be a valid URL\");\n }\n if (!t.source.startsWith(\"http\"))\n throw new Error(\"Invalid source format, only http(s) is supported\");\n if (t.mtime && !(t.mtime instanceof Date))\n throw new Error(\"Invalid mtime type\");\n if (t.crtime && !(t.crtime instanceof Date))\n throw new Error(\"Invalid crtime type\");\n if (!t.mime || typeof t.mime != \"string\" || !t.mime.match(/^[-\\w.]+\\/[-+\\w.]+$/gi))\n throw new Error(\"Missing or invalid mandatory mime\");\n if (\"size\" in t && typeof t.size != \"number\" && t.size !== void 0)\n throw new Error(\"Invalid size type\");\n if (\"permissions\" in t && t.permissions !== void 0 && !(typeof t.permissions == \"number\" && t.permissions >= v.NONE && t.permissions <= v.ALL))\n throw new Error(\"Invalid permissions\");\n if (t.owner && t.owner !== null && typeof t.owner != \"string\")\n throw new Error(\"Invalid owner type\");\n if (t.attributes && typeof t.attributes != \"object\")\n throw new Error(\"Invalid attributes type\");\n if (t.root && typeof t.root != \"string\")\n throw new Error(\"Invalid root type\");\n if (t.root && !t.root.startsWith(\"/\"))\n throw new Error(\"Root must start with a leading slash\");\n if (t.root && !t.source.includes(t.root))\n throw new Error(\"Root must be part of the source\");\n if (t.root && Z(t.source, e)) {\n const i = t.source.match(e)[0];\n if (!t.source.includes(dt(i, t.root)))\n throw new Error(\"The root must be relative to the service. e.g /files/emma\");\n }\n if (t.status && !Object.values(J).includes(t.status))\n throw new Error(\"Status must be a valid NodeStatus\");\n};\nvar J = ((t) => (t.NEW = \"new\", t.FAILED = \"failed\", t.LOADING = \"loading\", t.LOCKED = \"locked\", t))(J || {});\nclass Q {\n _data;\n _attributes;\n _knownDavService = /(remote|public)\\.php\\/(web)?dav/i;\n constructor(e, i) {\n B(e, i || this._knownDavService), this._data = e;\n const r = { set: (n, s, a) => (this.updateMtime(), Reflect.set(n, s, a)), deleteProperty: (n, s) => (this.updateMtime(), Reflect.deleteProperty(n, s)) };\n this._attributes = new Proxy(e.attributes || {}, r), delete this._data.attributes, i && (this._knownDavService = i);\n }\n get source() {\n return this._data.source.replace(/\\/$/i, \"\");\n }\n get encodedSource() {\n const { origin: e } = new URL(this.source);\n return e + ht(this.source.slice(e.length));\n }\n get basename() {\n return ut(this.source);\n }\n get extension() {\n return ct(this.source);\n }\n get dirname() {\n if (this.root) {\n const i = this.source.indexOf(this.root);\n return A(this.source.slice(i + this.root.length) || \"/\");\n }\n const e = new URL(this.source);\n return A(e.pathname);\n }\n get mime() {\n return this._data.mime;\n }\n get mtime() {\n return this._data.mtime;\n }\n get crtime() {\n return this._data.crtime;\n }\n get size() {\n return this._data.size;\n }\n get attributes() {\n return this._attributes;\n }\n get permissions() {\n return this.owner === null && !this.isDavRessource ? v.READ : this._data.permissions !== void 0 ? this._data.permissions : v.NONE;\n }\n get owner() {\n return this.isDavRessource ? this._data.owner : null;\n }\n get isDavRessource() {\n return Z(this.source, this._knownDavService);\n }\n get root() {\n return this._data.root ? this._data.root.replace(/^(.+)\\/$/, \"$1\") : this.isDavRessource && A(this.source).split(this._knownDavService).pop() || null;\n }\n get path() {\n if (this.root) {\n const e = this.source.indexOf(this.root);\n return this.source.slice(e + this.root.length) || \"/\";\n }\n return (this.dirname + \"/\" + this.basename).replace(/\\/\\//g, \"/\");\n }\n get fileid() {\n return this._data?.id || this.attributes?.fileid;\n }\n get status() {\n return this._data?.status;\n }\n set status(e) {\n this._data.status = e;\n }\n move(e) {\n B({ ...this._data, source: e }, this._knownDavService), this._data.source = e, this.updateMtime();\n }\n rename(e) {\n if (e.includes(\"/\"))\n throw new Error(\"Invalid basename\");\n this.move(A(this.source) + \"/\" + e);\n }\n updateMtime() {\n this._data.mtime && (this._data.mtime = /* @__PURE__ */ new Date());\n }\n}\nclass bt extends Q {\n get type() {\n return k.File;\n }\n}\nclass Et extends Q {\n constructor(e) {\n super({ ...e, mime: \"httpd/unix-directory\" });\n }\n get type() {\n return k.Folder;\n }\n get extension() {\n return null;\n }\n get mime() {\n return \"httpd/unix-directory\";\n }\n}\nconst tt = `/files/${T()?.uid}`, et = pt(\"dav\"), li = function(t = et) {\n const e = ft(t, { headers: { requesttoken: at() || \"\" } });\n return gt().patch(\"request\", (i) => (i.headers?.method && (i.method = i.headers.method, delete i.headers.method), mt(i))), e;\n}, di = async (t, e = \"/\", i = tt) => (await t.getDirectoryContents(`${i}${e}`, { details: !0, data: yt(), headers: { method: \"REPORT\" }, includeSelf: !0 })).data.filter((r) => r.filename !== e).map((r) => Nt(r, i)), Nt = function(t, e = tt, i = et) {\n const r = t.props, n = xt(r?.permissions), s = T()?.uid, a = { id: r?.fileid || 0, source: `${i}${t.filename}`, mtime: new Date(Date.parse(t.lastmod)), mime: t.mime, size: r?.size || Number.parseInt(r.getcontentlength || \"0\"), permissions: n, owner: s, root: e, attributes: { ...t, ...r, hasPreview: r?.[\"has-preview\"] } };\n return delete a.attributes?.props, t.type === \"file\" ? new bt(a) : new Et(a);\n};\nclass _t {\n _views = [];\n _currentView = null;\n register(e) {\n if (this._views.find((i) => i.id === e.id))\n throw new Error(`View id ${e.id} is already registered`);\n this._views.push(e);\n }\n remove(e) {\n const i = this._views.findIndex((r) => r.id === e);\n i !== -1 && this._views.splice(i, 1);\n }\n get views() {\n return this._views;\n }\n setActive(e) {\n this._currentView = e;\n }\n get active() {\n return this._currentView;\n }\n}\nconst ui = function() {\n return typeof window._nc_navigation > \"u\" && (window._nc_navigation = new _t(), m.debug(\"Navigation service initialized\")), window._nc_navigation;\n};\nclass At {\n _column;\n constructor(e) {\n Tt(e), this._column = e;\n }\n get id() {\n return this._column.id;\n }\n get title() {\n return this._column.title;\n }\n get render() {\n return this._column.render;\n }\n get sort() {\n return this._column.sort;\n }\n get summary() {\n return this._column.summary;\n }\n}\nconst Tt = function(t) {\n if (!t.id || typeof t.id != \"string\")\n throw new Error(\"A column id is required\");\n if (!t.title || typeof t.title != \"string\")\n throw new Error(\"A column title is required\");\n if (!t.render || typeof t.render != \"function\")\n throw new Error(\"A render function is required\");\n if (t.sort && typeof t.sort != \"function\")\n throw new Error(\"Column sortFunction must be a function\");\n if (t.summary && typeof t.summary != \"function\")\n throw new Error(\"Column summary must be a function\");\n return !0;\n};\nvar L = {}, I = {};\n(function(t) {\n const e = \":A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\", i = e + \"\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040\", r = \"[\" + e + \"][\" + i + \"]*\", n = new RegExp(\"^\" + r + \"$\"), s = function(o, l) {\n const d = [];\n let u = l.exec(o);\n for (; u; ) {\n const c = [];\n c.startIndex = l.lastIndex - u[0].length;\n const p = u.length;\n for (let h = 0; h < p; h++)\n c.push(u[h]);\n d.push(c), u = l.exec(o);\n }\n return d;\n }, a = function(o) {\n const l = n.exec(o);\n return !(l === null || typeof l > \"u\");\n };\n t.isExist = function(o) {\n return typeof o < \"u\";\n }, t.isEmptyObject = function(o) {\n return Object.keys(o).length === 0;\n }, t.merge = function(o, l, d) {\n if (l) {\n const u = Object.keys(l), c = u.length;\n for (let p = 0; p < c; p++)\n d === \"strict\" ? o[u[p]] = [l[u[p]]] : o[u[p]] = l[u[p]];\n }\n }, t.getValue = function(o) {\n return t.isExist(o) ? o : \"\";\n }, t.isName = a, t.getAllMatches = s, t.nameRegexp = r;\n})(I);\nconst R = I, It = { allowBooleanAttributes: !1, unpairedTags: [] };\nL.validate = function(t, e) {\n e = Object.assign({}, It, e);\n const i = [];\n let r = !1, n = !1;\n t[0] === \"\\uFEFF\" && (t = t.substr(1));\n for (let s = 0; s < t.length; s++)\n if (t[s] === \"<\" && t[s + 1] === \"?\") {\n if (s += 2, s = U(t, s), s.err)\n return s;\n } else if (t[s] === \"<\") {\n let a = s;\n if (s++, t[s] === \"!\") {\n s = z(t, s);\n continue;\n } else {\n let o = !1;\n t[s] === \"/\" && (o = !0, s++);\n let l = \"\";\n for (; s < t.length && t[s] !== \">\" && t[s] !== \" \" && t[s] !== \"\t\" && t[s] !== `\n` && t[s] !== \"\\r\"; s++)\n l += t[s];\n if (l = l.trim(), l[l.length - 1] === \"/\" && (l = l.substring(0, l.length - 1), s--), !Vt(l)) {\n let c;\n return l.trim().length === 0 ? c = \"Invalid space after '<'.\" : c = \"Tag '\" + l + \"' is an invalid name.\", f(\"InvalidTag\", c, g(t, s));\n }\n const d = Ct(t, s);\n if (d === !1)\n return f(\"InvalidAttr\", \"Attributes for '\" + l + \"' have open quote.\", g(t, s));\n let u = d.value;\n if (s = d.index, u[u.length - 1] === \"/\") {\n const c = s - u.length;\n u = u.substring(0, u.length - 1);\n const p = G(u, e);\n if (p === !0)\n r = !0;\n else\n return f(p.err.code, p.err.msg, g(t, c + p.err.line));\n } else if (o)\n if (d.tagClosed) {\n if (u.trim().length > 0)\n return f(\"InvalidTag\", \"Closing tag '\" + l + \"' can't have attributes or invalid starting.\", g(t, a));\n {\n const c = i.pop();\n if (l !== c.tagName) {\n let p = g(t, c.tagStartPos);\n return f(\"InvalidTag\", \"Expected closing tag '\" + c.tagName + \"' (opened in line \" + p.line + \", col \" + p.col + \") instead of closing tag '\" + l + \"'.\", g(t, a));\n }\n i.length == 0 && (n = !0);\n }\n } else\n return f(\"InvalidTag\", \"Closing tag '\" + l + \"' doesn't have proper closing.\", g(t, s));\n else {\n const c = G(u, e);\n if (c !== !0)\n return f(c.err.code, c.err.msg, g(t, s - u.length + c.err.line));\n if (n === !0)\n return f(\"InvalidXml\", \"Multiple possible root nodes found.\", g(t, s));\n e.unpairedTags.indexOf(l) !== -1 || i.push({ tagName: l, tagStartPos: a }), r = !0;\n }\n for (s++; s < t.length; s++)\n if (t[s] === \"<\")\n if (t[s + 1] === \"!\") {\n s++, s = z(t, s);\n continue;\n } else if (t[s + 1] === \"?\") {\n if (s = U(t, ++s), s.err)\n return s;\n } else\n break;\n else if (t[s] === \"&\") {\n const c = Ft(t, s);\n if (c == -1)\n return f(\"InvalidChar\", \"char '&' is not expected.\", g(t, s));\n s = c;\n } else if (n === !0 && !q(t[s]))\n return f(\"InvalidXml\", \"Extra text at the end\", g(t, s));\n t[s] === \"<\" && s--;\n }\n } else {\n if (q(t[s]))\n continue;\n return f(\"InvalidChar\", \"char '\" + t[s] + \"' is not expected.\", g(t, s));\n }\n if (r) {\n if (i.length == 1)\n return f(\"InvalidTag\", \"Unclosed tag '\" + i[0].tagName + \"'.\", g(t, i[0].tagStartPos));\n if (i.length > 0)\n return f(\"InvalidXml\", \"Invalid '\" + JSON.stringify(i.map((s) => s.tagName), null, 4).replace(/\\r?\\n/g, \"\") + \"' found.\", { line: 1, col: 1 });\n } else\n return f(\"InvalidXml\", \"Start tag expected.\", 1);\n return !0;\n};\nfunction q(t) {\n return t === \" \" || t === \"\t\" || t === `\n` || t === \"\\r\";\n}\nfunction U(t, e) {\n const i = e;\n for (; e < t.length; e++)\n if (t[e] == \"?\" || t[e] == \" \") {\n const r = t.substr(i, e - i);\n if (e > 5 && r === \"xml\")\n return f(\"InvalidXml\", \"XML declaration allowed only at the start of the document.\", g(t, e));\n if (t[e] == \"?\" && t[e + 1] == \">\") {\n e++;\n break;\n } else\n continue;\n }\n return e;\n}\nfunction z(t, e) {\n if (t.length > e + 5 && t[e + 1] === \"-\" && t[e + 2] === \"-\") {\n for (e += 3; e < t.length; e++)\n if (t[e] === \"-\" && t[e + 1] === \"-\" && t[e + 2] === \">\") {\n e += 2;\n break;\n }\n } else if (t.length > e + 8 && t[e + 1] === \"D\" && t[e + 2] === \"O\" && t[e + 3] === \"C\" && t[e + 4] === \"T\" && t[e + 5] === \"Y\" && t[e + 6] === \"P\" && t[e + 7] === \"E\") {\n let i = 1;\n for (e += 8; e < t.length; e++)\n if (t[e] === \"<\")\n i++;\n else if (t[e] === \">\" && (i--, i === 0))\n break;\n } else if (t.length > e + 9 && t[e + 1] === \"[\" && t[e + 2] === \"C\" && t[e + 3] === \"D\" && t[e + 4] === \"A\" && t[e + 5] === \"T\" && t[e + 6] === \"A\" && t[e + 7] === \"[\") {\n for (e += 8; e < t.length; e++)\n if (t[e] === \"]\" && t[e + 1] === \"]\" && t[e + 2] === \">\") {\n e += 2;\n break;\n }\n }\n return e;\n}\nconst Pt = '\"', Ot = \"'\";\nfunction Ct(t, e) {\n let i = \"\", r = \"\", n = !1;\n for (; e < t.length; e++) {\n if (t[e] === Pt || t[e] === Ot)\n r === \"\" ? r = t[e] : r !== t[e] || (r = \"\");\n else if (t[e] === \">\" && r === \"\") {\n n = !0;\n break;\n }\n i += t[e];\n }\n return r !== \"\" ? !1 : { value: i, index: e, tagClosed: n };\n}\nconst Dt = new RegExp(`(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*(['\"])(([\\\\s\\\\S])*?)\\\\5)?`, \"g\");\nfunction G(t, e) {\n const i = R.getAllMatches(t, Dt), r = {};\n for (let n = 0; n < i.length; n++) {\n if (i[n][1].length === 0)\n return f(\"InvalidAttr\", \"Attribute '\" + i[n][2] + \"' has no space in starting.\", E(i[n]));\n if (i[n][3] !== void 0 && i[n][4] === void 0)\n return f(\"InvalidAttr\", \"Attribute '\" + i[n][2] + \"' is without value.\", E(i[n]));\n if (i[n][3] === void 0 && !e.allowBooleanAttributes)\n return f(\"InvalidAttr\", \"boolean attribute '\" + i[n][2] + \"' is not allowed.\", E(i[n]));\n const s = i[n][2];\n if (!$t(s))\n return f(\"InvalidAttr\", \"Attribute '\" + s + \"' is an invalid name.\", E(i[n]));\n if (!r.hasOwnProperty(s))\n r[s] = 1;\n else\n return f(\"InvalidAttr\", \"Attribute '\" + s + \"' is repeated.\", E(i[n]));\n }\n return !0;\n}\nfunction St(t, e) {\n let i = /\\d/;\n for (t[e] === \"x\" && (e++, i = /[\\da-fA-F]/); e < t.length; e++) {\n if (t[e] === \";\")\n return e;\n if (!t[e].match(i))\n break;\n }\n return -1;\n}\nfunction Ft(t, e) {\n if (e++, t[e] === \";\")\n return -1;\n if (t[e] === \"#\")\n return e++, St(t, e);\n let i = 0;\n for (; e < t.length; e++, i++)\n if (!(t[e].match(/\\w/) && i < 20)) {\n if (t[e] === \";\")\n break;\n return -1;\n }\n return e;\n}\nfunction f(t, e, i) {\n return { err: { code: t, msg: e, line: i.line || i, col: i.col } };\n}\nfunction $t(t) {\n return R.isName(t);\n}\nfunction Vt(t) {\n return R.isName(t);\n}\nfunction g(t, e) {\n const i = t.substring(0, e).split(/\\r?\\n/);\n return { line: i.length, col: i[i.length - 1].length + 1 };\n}\nfunction E(t) {\n return t.startIndex + t[1].length;\n}\nvar C = {};\nconst it = { preserveOrder: !1, attributeNamePrefix: \"@_\", attributesGroupName: !1, textNodeName: \"#text\", ignoreAttributes: !0, removeNSPrefix: !1, allowBooleanAttributes: !1, parseTagValue: !0, parseAttributeValue: !1, trimValues: !0, cdataPropName: !1, numberParseOptions: { hex: !0, leadingZeros: !0, eNotation: !0 }, tagValueProcessor: function(t, e) {\n return e;\n}, attributeValueProcessor: function(t, e) {\n return e;\n}, stopNodes: [], alwaysCreateTextNode: !1, isArray: () => !1, commentPropName: !1, unpairedTags: [], processEntities: !0, htmlEntities: !1, ignoreDeclaration: !1, ignorePiTags: !1, transformTagName: !1, transformAttributeName: !1, updateTag: function(t, e, i) {\n return t;\n} }, kt = function(t) {\n return Object.assign({}, it, t);\n};\nC.buildOptions = kt, C.defaultOptions = it;\nclass Lt {\n constructor(e) {\n this.tagname = e, this.child = [], this[\":@\"] = {};\n }\n add(e, i) {\n e === \"__proto__\" && (e = \"#__proto__\"), this.child.push({ [e]: i });\n }\n addChild(e) {\n e.tagname === \"__proto__\" && (e.tagname = \"#__proto__\"), e[\":@\"] && Object.keys(e[\":@\"]).length > 0 ? this.child.push({ [e.tagname]: e.child, \":@\": e[\":@\"] }) : this.child.push({ [e.tagname]: e.child });\n }\n}\nvar Rt = Lt;\nconst jt = I;\nfunction Mt(t, e) {\n const i = {};\n if (t[e + 3] === \"O\" && t[e + 4] === \"C\" && t[e + 5] === \"T\" && t[e + 6] === \"Y\" && t[e + 7] === \"P\" && t[e + 8] === \"E\") {\n e = e + 9;\n let r = 1, n = !1, s = !1, a = \"\";\n for (; e < t.length; e++)\n if (t[e] === \"<\" && !s) {\n if (n && Ut(t, e))\n e += 7, [entityName, val, e] = Bt(t, e + 1), val.indexOf(\"&\") === -1 && (i[Ht(entityName)] = { regx: RegExp(`&${entityName};`, \"g\"), val });\n else if (n && zt(t, e))\n e += 8;\n else if (n && Gt(t, e))\n e += 8;\n else if (n && Xt(t, e))\n e += 9;\n else if (qt)\n s = !0;\n else\n throw new Error(\"Invalid DOCTYPE\");\n r++, a = \"\";\n } else if (t[e] === \">\") {\n if (s ? t[e - 1] === \"-\" && t[e - 2] === \"-\" && (s = !1, r--) : r--, r === 0)\n break;\n } else\n t[e] === \"[\" ? n = !0 : a += t[e];\n if (r !== 0)\n throw new Error(\"Unclosed DOCTYPE\");\n } else\n throw new Error(\"Invalid Tag instead of DOCTYPE\");\n return { entities: i, i: e };\n}\nfunction Bt(t, e) {\n let i = \"\";\n for (; e < t.length && t[e] !== \"'\" && t[e] !== '\"'; e++)\n i += t[e];\n if (i = i.trim(), i.indexOf(\" \") !== -1)\n throw new Error(\"External entites are not supported\");\n const r = t[e++];\n let n = \"\";\n for (; e < t.length && t[e] !== r; e++)\n n += t[e];\n return [i, n, e];\n}\nfunction qt(t, e) {\n return t[e + 1] === \"!\" && t[e + 2] === \"-\" && t[e + 3] === \"-\";\n}\nfunction Ut(t, e) {\n return t[e + 1] === \"!\" && t[e + 2] === \"E\" && t[e + 3] === \"N\" && t[e + 4] === \"T\" && t[e + 5] === \"I\" && t[e + 6] === \"T\" && t[e + 7] === \"Y\";\n}\nfunction zt(t, e) {\n return t[e + 1] === \"!\" && t[e + 2] === \"E\" && t[e + 3] === \"L\" && t[e + 4] === \"E\" && t[e + 5] === \"M\" && t[e + 6] === \"E\" && t[e + 7] === \"N\" && t[e + 8] === \"T\";\n}\nfunction Gt(t, e) {\n return t[e + 1] === \"!\" && t[e + 2] === \"A\" && t[e + 3] === \"T\" && t[e + 4] === \"T\" && t[e + 5] === \"L\" && t[e + 6] === \"I\" && t[e + 7] === \"S\" && t[e + 8] === \"T\";\n}\nfunction Xt(t, e) {\n return t[e + 1] === \"!\" && t[e + 2] === \"N\" && t[e + 3] === \"O\" && t[e + 4] === \"T\" && t[e + 5] === \"A\" && t[e + 6] === \"T\" && t[e + 7] === \"I\" && t[e + 8] === \"O\" && t[e + 9] === \"N\";\n}\nfunction Ht(t) {\n if (jt.isName(t))\n return t;\n throw new Error(`Invalid entity name ${t}`);\n}\nvar Kt = Mt;\nconst Wt = /^[-+]?0x[a-fA-F0-9]+$/, Yt = /^([\\-\\+])?(0*)(\\.[0-9]+([eE]\\-?[0-9]+)?|[0-9]+(\\.[0-9]+([eE]\\-?[0-9]+)?)?)$/;\n!Number.parseInt && window.parseInt && (Number.parseInt = window.parseInt), !Number.parseFloat && window.parseFloat && (Number.parseFloat = window.parseFloat);\nconst Zt = { hex: !0, leadingZeros: !0, decimalPoint: \".\", eNotation: !0 };\nfunction Jt(t, e = {}) {\n if (e = Object.assign({}, Zt, e), !t || typeof t != \"string\")\n return t;\n let i = t.trim();\n if (e.skipLike !== void 0 && e.skipLike.test(i))\n return t;\n if (e.hex && Wt.test(i))\n return Number.parseInt(i, 16);\n {\n const r = Yt.exec(i);\n if (r) {\n const n = r[1], s = r[2];\n let a = Qt(r[3]);\n const o = r[4] || r[6];\n if (!e.leadingZeros && s.length > 0 && n && i[2] !== \".\" || !e.leadingZeros && s.length > 0 && !n && i[1] !== \".\")\n return t;\n {\n const l = Number(i), d = \"\" + l;\n return d.search(/[eE]/) !== -1 || o ? e.eNotation ? l : t : i.indexOf(\".\") !== -1 ? d === \"0\" && a === \"\" || d === a || n && d === \"-\" + a ? l : t : s ? a === d || n + a === d ? l : t : i === d || i === n + d ? l : t;\n }\n } else\n return t;\n }\n}\nfunction Qt(t) {\n return t && t.indexOf(\".\") !== -1 && (t = t.replace(/0+$/, \"\"), t === \".\" ? t = \"0\" : t[0] === \".\" ? t = \"0\" + t : t[t.length - 1] === \".\" && (t = t.substr(0, t.length - 1))), t;\n}\nvar te = Jt;\nconst j = I, N = Rt, ee = Kt, ie = te;\n\"<((!\\\\[CDATA\\\\[([\\\\s\\\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\\\/)(NAME)\\\\s*>))([^<]*)\".replace(/NAME/g, j.nameRegexp);\nlet ne = class {\n constructor(t) {\n this.options = t, this.currentNode = null, this.tagsNodeStack = [], this.docTypeEntities = {}, this.lastEntities = { apos: { regex: /&(apos|#39|#x27);/g, val: \"'\" }, gt: { regex: /&(gt|#62|#x3E);/g, val: \">\" }, lt: { regex: /&(lt|#60|#x3C);/g, val: \"<\" }, quot: { regex: /&(quot|#34|#x22);/g, val: '\"' } }, this.ampEntity = { regex: /&(amp|#38|#x26);/g, val: \"&\" }, this.htmlEntities = { space: { regex: /&(nbsp|#160);/g, val: \" \" }, cent: { regex: /&(cent|#162);/g, val: \"¢\" }, pound: { regex: /&(pound|#163);/g, val: \"£\" }, yen: { regex: /&(yen|#165);/g, val: \"¥\" }, euro: { regex: /&(euro|#8364);/g, val: \"€\" }, copyright: { regex: /&(copy|#169);/g, val: \"©\" }, reg: { regex: /&(reg|#174);/g, val: \"®\" }, inr: { regex: /&(inr|#8377);/g, val: \"₹\" } }, this.addExternalEntities = re, this.parseXml = de, this.parseTextData = se, this.resolveNameSpace = oe, this.buildAttributesMap = le, this.isItStopNode = pe, this.replaceEntitiesValue = ce, this.readStopNodeData = ge, this.saveTextToParentTag = he, this.addChild = ue;\n }\n};\nfunction re(t) {\n const e = Object.keys(t);\n for (let i = 0; i < e.length; i++) {\n const r = e[i];\n this.lastEntities[r] = { regex: new RegExp(\"&\" + r + \";\", \"g\"), val: t[r] };\n }\n}\nfunction se(t, e, i, r, n, s, a) {\n if (t !== void 0 && (this.options.trimValues && !r && (t = t.trim()), t.length > 0)) {\n a || (t = this.replaceEntitiesValue(t));\n const o = this.options.tagValueProcessor(e, t, i, n, s);\n return o == null ? t : typeof o != typeof t || o !== t ? o : this.options.trimValues ? S(t, this.options.parseTagValue, this.options.numberParseOptions) : t.trim() === t ? S(t, this.options.parseTagValue, this.options.numberParseOptions) : t;\n }\n}\nfunction oe(t) {\n if (this.options.removeNSPrefix) {\n const e = t.split(\":\"), i = t.charAt(0) === \"/\" ? \"/\" : \"\";\n if (e[0] === \"xmlns\")\n return \"\";\n e.length === 2 && (t = i + e[1]);\n }\n return t;\n}\nconst ae = new RegExp(`([^\\\\s=]+)\\\\s*(=\\\\s*(['\"])([\\\\s\\\\S]*?)\\\\3)?`, \"gm\");\nfunction le(t, e, i) {\n if (!this.options.ignoreAttributes && typeof t == \"string\") {\n const r = j.getAllMatches(t, ae), n = r.length, s = {};\n for (let a = 0; a < n; a++) {\n const o = this.resolveNameSpace(r[a][1]);\n let l = r[a][4], d = this.options.attributeNamePrefix + o;\n if (o.length)\n if (this.options.transformAttributeName && (d = this.options.transformAttributeName(d)), d === \"__proto__\" && (d = \"#__proto__\"), l !== void 0) {\n this.options.trimValues && (l = l.trim()), l = this.replaceEntitiesValue(l);\n const u = this.options.attributeValueProcessor(o, l, e);\n u == null ? s[d] = l : typeof u != typeof l || u !== l ? s[d] = u : s[d] = S(l, this.options.parseAttributeValue, this.options.numberParseOptions);\n } else\n this.options.allowBooleanAttributes && (s[d] = !0);\n }\n if (!Object.keys(s).length)\n return;\n if (this.options.attributesGroupName) {\n const a = {};\n return a[this.options.attributesGroupName] = s, a;\n }\n return s;\n }\n}\nconst de = function(t) {\n t = t.replace(/\\r\\n?/g, `\n`);\n const e = new N(\"!xml\");\n let i = e, r = \"\", n = \"\";\n for (let s = 0; s < t.length; s++)\n if (t[s] === \"<\")\n if (t[s + 1] === \"/\") {\n const a = x(t, \">\", s, \"Closing Tag is not closed.\");\n let o = t.substring(s + 2, a).trim();\n if (this.options.removeNSPrefix) {\n const u = o.indexOf(\":\");\n u !== -1 && (o = o.substr(u + 1));\n }\n this.options.transformTagName && (o = this.options.transformTagName(o)), i && (r = this.saveTextToParentTag(r, i, n));\n const l = n.substring(n.lastIndexOf(\".\") + 1);\n if (o && this.options.unpairedTags.indexOf(o) !== -1)\n throw new Error(`Unpaired tag can not be used as closing tag: `);\n let d = 0;\n l && this.options.unpairedTags.indexOf(l) !== -1 ? (d = n.lastIndexOf(\".\", n.lastIndexOf(\".\") - 1), this.tagsNodeStack.pop()) : d = n.lastIndexOf(\".\"), n = n.substring(0, d), i = this.tagsNodeStack.pop(), r = \"\", s = a;\n } else if (t[s + 1] === \"?\") {\n let a = D(t, s, !1, \"?>\");\n if (!a)\n throw new Error(\"Pi Tag is not closed.\");\n if (r = this.saveTextToParentTag(r, i, n), !(this.options.ignoreDeclaration && a.tagName === \"?xml\" || this.options.ignorePiTags)) {\n const o = new N(a.tagName);\n o.add(this.options.textNodeName, \"\"), a.tagName !== a.tagExp && a.attrExpPresent && (o[\":@\"] = this.buildAttributesMap(a.tagExp, n, a.tagName)), this.addChild(i, o, n);\n }\n s = a.closeIndex + 1;\n } else if (t.substr(s + 1, 3) === \"!--\") {\n const a = x(t, \"-->\", s + 4, \"Comment is not closed.\");\n if (this.options.commentPropName) {\n const o = t.substring(s + 4, a - 2);\n r = this.saveTextToParentTag(r, i, n), i.add(this.options.commentPropName, [{ [this.options.textNodeName]: o }]);\n }\n s = a;\n } else if (t.substr(s + 1, 2) === \"!D\") {\n const a = ee(t, s);\n this.docTypeEntities = a.entities, s = a.i;\n } else if (t.substr(s + 1, 2) === \"![\") {\n const a = x(t, \"]]>\", s, \"CDATA is not closed.\") - 2, o = t.substring(s + 9, a);\n if (r = this.saveTextToParentTag(r, i, n), this.options.cdataPropName)\n i.add(this.options.cdataPropName, [{ [this.options.textNodeName]: o }]);\n else {\n let l = this.parseTextData(o, i.tagname, n, !0, !1, !0);\n l == null && (l = \"\"), i.add(this.options.textNodeName, l);\n }\n s = a + 2;\n } else {\n let a = D(t, s, this.options.removeNSPrefix), o = a.tagName;\n const l = a.rawTagName;\n let d = a.tagExp, u = a.attrExpPresent, c = a.closeIndex;\n this.options.transformTagName && (o = this.options.transformTagName(o)), i && r && i.tagname !== \"!xml\" && (r = this.saveTextToParentTag(r, i, n, !1));\n const p = i;\n if (p && this.options.unpairedTags.indexOf(p.tagname) !== -1 && (i = this.tagsNodeStack.pop(), n = n.substring(0, n.lastIndexOf(\".\"))), o !== e.tagname && (n += n ? \".\" + o : o), this.isItStopNode(this.options.stopNodes, n, o)) {\n let h = \"\";\n if (d.length > 0 && d.lastIndexOf(\"/\") === d.length - 1)\n s = a.closeIndex;\n else if (this.options.unpairedTags.indexOf(o) !== -1)\n s = a.closeIndex;\n else {\n const b = this.readStopNodeData(t, l, c + 1);\n if (!b)\n throw new Error(`Unexpected end of ${l}`);\n s = b.i, h = b.tagContent;\n }\n const w = new N(o);\n o !== d && u && (w[\":@\"] = this.buildAttributesMap(d, n, o)), h && (h = this.parseTextData(h, o, n, !0, u, !0, !0)), n = n.substr(0, n.lastIndexOf(\".\")), w.add(this.options.textNodeName, h), this.addChild(i, w, n);\n } else {\n if (d.length > 0 && d.lastIndexOf(\"/\") === d.length - 1) {\n o[o.length - 1] === \"/\" ? (o = o.substr(0, o.length - 1), n = n.substr(0, n.length - 1), d = o) : d = d.substr(0, d.length - 1), this.options.transformTagName && (o = this.options.transformTagName(o));\n const h = new N(o);\n o !== d && u && (h[\":@\"] = this.buildAttributesMap(d, n, o)), this.addChild(i, h, n), n = n.substr(0, n.lastIndexOf(\".\"));\n } else {\n const h = new N(o);\n this.tagsNodeStack.push(i), o !== d && u && (h[\":@\"] = this.buildAttributesMap(d, n, o)), this.addChild(i, h, n), i = h;\n }\n r = \"\", s = c;\n }\n }\n else\n r += t[s];\n return e.child;\n};\nfunction ue(t, e, i) {\n const r = this.options.updateTag(e.tagname, i, e[\":@\"]);\n r === !1 || (typeof r == \"string\" && (e.tagname = r), t.addChild(e));\n}\nconst ce = function(t) {\n if (this.options.processEntities) {\n for (let e in this.docTypeEntities) {\n const i = this.docTypeEntities[e];\n t = t.replace(i.regx, i.val);\n }\n for (let e in this.lastEntities) {\n const i = this.lastEntities[e];\n t = t.replace(i.regex, i.val);\n }\n if (this.options.htmlEntities)\n for (let e in this.htmlEntities) {\n const i = this.htmlEntities[e];\n t = t.replace(i.regex, i.val);\n }\n t = t.replace(this.ampEntity.regex, this.ampEntity.val);\n }\n return t;\n};\nfunction he(t, e, i, r) {\n return t && (r === void 0 && (r = Object.keys(e.child).length === 0), t = this.parseTextData(t, e.tagname, i, !1, e[\":@\"] ? Object.keys(e[\":@\"]).length !== 0 : !1, r), t !== void 0 && t !== \"\" && e.add(this.options.textNodeName, t), t = \"\"), t;\n}\nfunction pe(t, e, i) {\n const r = \"*.\" + i;\n for (const n in t) {\n const s = t[n];\n if (r === s || e === s)\n return !0;\n }\n return !1;\n}\nfunction fe(t, e, i = \">\") {\n let r, n = \"\";\n for (let s = e; s < t.length; s++) {\n let a = t[s];\n if (r)\n a === r && (r = \"\");\n else if (a === '\"' || a === \"'\")\n r = a;\n else if (a === i[0])\n if (i[1]) {\n if (t[s + 1] === i[1])\n return { data: n, index: s };\n } else\n return { data: n, index: s };\n else\n a === \"\t\" && (a = \" \");\n n += a;\n }\n}\nfunction x(t, e, i, r) {\n const n = t.indexOf(e, i);\n if (n === -1)\n throw new Error(r);\n return n + e.length - 1;\n}\nfunction D(t, e, i, r = \">\") {\n const n = fe(t, e + 1, r);\n if (!n)\n return;\n let s = n.data;\n const a = n.index, o = s.search(/\\s/);\n let l = s, d = !0;\n o !== -1 && (l = s.substr(0, o).replace(/\\s\\s*$/, \"\"), s = s.substr(o + 1));\n const u = l;\n if (i) {\n const c = l.indexOf(\":\");\n c !== -1 && (l = l.substr(c + 1), d = l !== n.data.substr(c + 1));\n }\n return { tagName: l, tagExp: s, closeIndex: a, attrExpPresent: d, rawTagName: u };\n}\nfunction ge(t, e, i) {\n const r = i;\n let n = 1;\n for (; i < t.length; i++)\n if (t[i] === \"<\")\n if (t[i + 1] === \"/\") {\n const s = x(t, \">\", i, `${e} is not closed`);\n if (t.substring(i + 2, s).trim() === e && (n--, n === 0))\n return { tagContent: t.substring(r, i), i: s };\n i = s;\n } else if (t[i + 1] === \"?\")\n i = x(t, \"?>\", i + 1, \"StopNode is not closed.\");\n else if (t.substr(i + 1, 3) === \"!--\")\n i = x(t, \"-->\", i + 3, \"StopNode is not closed.\");\n else if (t.substr(i + 1, 2) === \"![\")\n i = x(t, \"]]>\", i, \"StopNode is not closed.\") - 2;\n else {\n const s = D(t, i, \">\");\n s && ((s && s.tagName) === e && s.tagExp[s.tagExp.length - 1] !== \"/\" && n++, i = s.closeIndex);\n }\n}\nfunction S(t, e, i) {\n if (e && typeof t == \"string\") {\n const r = t.trim();\n return r === \"true\" ? !0 : r === \"false\" ? !1 : ie(t, i);\n } else\n return j.isExist(t) ? t : \"\";\n}\nvar me = ne, nt = {};\nfunction we(t, e) {\n return rt(t, e);\n}\nfunction rt(t, e, i) {\n let r;\n const n = {};\n for (let s = 0; s < t.length; s++) {\n const a = t[s], o = ve(a);\n let l = \"\";\n if (i === void 0 ? l = o : l = i + \".\" + o, o === e.textNodeName)\n r === void 0 ? r = a[o] : r += \"\" + a[o];\n else {\n if (o === void 0)\n continue;\n if (a[o]) {\n let d = rt(a[o], e, l);\n const u = xe(d, e);\n a[\":@\"] ? ye(d, a[\":@\"], l, e) : Object.keys(d).length === 1 && d[e.textNodeName] !== void 0 && !e.alwaysCreateTextNode ? d = d[e.textNodeName] : Object.keys(d).length === 0 && (e.alwaysCreateTextNode ? d[e.textNodeName] = \"\" : d = \"\"), n[o] !== void 0 && n.hasOwnProperty(o) ? (Array.isArray(n[o]) || (n[o] = [n[o]]), n[o].push(d)) : e.isArray(o, l, u) ? n[o] = [d] : n[o] = d;\n }\n }\n }\n return typeof r == \"string\" ? r.length > 0 && (n[e.textNodeName] = r) : r !== void 0 && (n[e.textNodeName] = r), n;\n}\nfunction ve(t) {\n const e = Object.keys(t);\n for (let i = 0; i < e.length; i++) {\n const r = e[i];\n if (r !== \":@\")\n return r;\n }\n}\nfunction ye(t, e, i, r) {\n if (e) {\n const n = Object.keys(e), s = n.length;\n for (let a = 0; a < s; a++) {\n const o = n[a];\n r.isArray(o, i + \".\" + o, !0, !0) ? t[o] = [e[o]] : t[o] = e[o];\n }\n }\n}\nfunction xe(t, e) {\n const { textNodeName: i } = e, r = Object.keys(t).length;\n return !!(r === 0 || r === 1 && (t[i] || typeof t[i] == \"boolean\" || t[i] === 0));\n}\nnt.prettify = we;\nconst { buildOptions: be } = C, Ee = me, { prettify: Ne } = nt, _e = L;\nlet Ae = class {\n constructor(t) {\n this.externalEntities = {}, this.options = be(t);\n }\n parse(t, e) {\n if (typeof t != \"string\")\n if (t.toString)\n t = t.toString();\n else\n throw new Error(\"XML data is accepted in String or Bytes[] form.\");\n if (e) {\n e === !0 && (e = {});\n const n = _e.validate(t, e);\n if (n !== !0)\n throw Error(`${n.err.msg}:${n.err.line}:${n.err.col}`);\n }\n const i = new Ee(this.options);\n i.addExternalEntities(this.externalEntities);\n const r = i.parseXml(t);\n return this.options.preserveOrder || r === void 0 ? r : Ne(r, this.options);\n }\n addEntity(t, e) {\n if (e.indexOf(\"&\") !== -1)\n throw new Error(\"Entity value can't have '&'\");\n if (t.indexOf(\"&\") !== -1 || t.indexOf(\";\") !== -1)\n throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for ' '\");\n if (e === \"&\")\n throw new Error(\"An entity with value '&' is not permitted\");\n this.externalEntities[t] = e;\n }\n};\nvar Te = Ae;\nconst Ie = `\n`;\nfunction Pe(t, e) {\n let i = \"\";\n return e.format && e.indentBy.length > 0 && (i = Ie), st(t, e, \"\", i);\n}\nfunction st(t, e, i, r) {\n let n = \"\", s = !1;\n for (let a = 0; a < t.length; a++) {\n const o = t[a], l = Oe(o);\n if (l === void 0)\n continue;\n let d = \"\";\n if (i.length === 0 ? d = l : d = `${i}.${l}`, l === e.textNodeName) {\n let w = o[l];\n Ce(d, e) || (w = e.tagValueProcessor(l, w), w = ot(w, e)), s && (n += r), n += w, s = !1;\n continue;\n } else if (l === e.cdataPropName) {\n s && (n += r), n += ``, s = !1;\n continue;\n } else if (l === e.commentPropName) {\n n += r + ``, s = !0;\n continue;\n } else if (l[0] === \"?\") {\n const w = X(o[\":@\"], e), b = l === \"?xml\" ? \"\" : r;\n let _ = o[l][0][e.textNodeName];\n _ = _.length !== 0 ? \" \" + _ : \"\", n += b + `<${l}${_}${w}?>`, s = !0;\n continue;\n }\n let u = r;\n u !== \"\" && (u += e.indentBy);\n const c = X(o[\":@\"], e), p = r + `<${l}${c}`, h = st(o[l], e, d, u);\n e.unpairedTags.indexOf(l) !== -1 ? e.suppressUnpairedNode ? n += p + \">\" : n += p + \"/>\" : (!h || h.length === 0) && e.suppressEmptyNode ? n += p + \"/>\" : h && h.endsWith(\">\") ? n += p + `>${h}${r}` : (n += p + \">\", h && r !== \"\" && (h.includes(\"/>\") || h.includes(\"`), s = !0;\n }\n return n;\n}\nfunction Oe(t) {\n const e = Object.keys(t);\n for (let i = 0; i < e.length; i++) {\n const r = e[i];\n if (t.hasOwnProperty(r) && r !== \":@\")\n return r;\n }\n}\nfunction X(t, e) {\n let i = \"\";\n if (t && !e.ignoreAttributes)\n for (let r in t) {\n if (!t.hasOwnProperty(r))\n continue;\n let n = e.attributeValueProcessor(r, t[r]);\n n = ot(n, e), n === !0 && e.suppressBooleanAttributes ? i += ` ${r.substr(e.attributeNamePrefix.length)}` : i += ` ${r.substr(e.attributeNamePrefix.length)}=\"${n}\"`;\n }\n return i;\n}\nfunction Ce(t, e) {\n t = t.substr(0, t.length - e.textNodeName.length - 1);\n let i = t.substr(t.lastIndexOf(\".\") + 1);\n for (let r in e.stopNodes)\n if (e.stopNodes[r] === t || e.stopNodes[r] === \"*.\" + i)\n return !0;\n return !1;\n}\nfunction ot(t, e) {\n if (t && t.length > 0 && e.processEntities)\n for (let i = 0; i < e.entities.length; i++) {\n const r = e.entities[i];\n t = t.replace(r.regex, r.val);\n }\n return t;\n}\nvar De = Pe;\nconst Se = De, Fe = { attributeNamePrefix: \"@_\", attributesGroupName: !1, textNodeName: \"#text\", ignoreAttributes: !0, cdataPropName: !1, format: !1, indentBy: \" \", suppressEmptyNode: !1, suppressUnpairedNode: !0, suppressBooleanAttributes: !0, tagValueProcessor: function(t, e) {\n return e;\n}, attributeValueProcessor: function(t, e) {\n return e;\n}, preserveOrder: !1, commentPropName: !1, unpairedTags: [], entities: [{ regex: new RegExp(\"&\", \"g\"), val: \"&\" }, { regex: new RegExp(\">\", \"g\"), val: \">\" }, { regex: new RegExp(\"<\", \"g\"), val: \"<\" }, { regex: new RegExp(\"'\", \"g\"), val: \"'\" }, { regex: new RegExp('\"', \"g\"), val: \""\" }], processEntities: !0, stopNodes: [], oneListGroup: !1 };\nfunction y(t) {\n this.options = Object.assign({}, Fe, t), this.options.ignoreAttributes || this.options.attributesGroupName ? this.isAttribute = function() {\n return !1;\n } : (this.attrPrefixLen = this.options.attributeNamePrefix.length, this.isAttribute = ke), this.processTextOrObjNode = $e, this.options.format ? (this.indentate = Ve, this.tagEndChar = `>\n`, this.newLine = `\n`) : (this.indentate = function() {\n return \"\";\n }, this.tagEndChar = \">\", this.newLine = \"\");\n}\ny.prototype.build = function(t) {\n return this.options.preserveOrder ? Se(t, this.options) : (Array.isArray(t) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1 && (t = { [this.options.arrayNodeName]: t }), this.j2x(t, 0).val);\n}, y.prototype.j2x = function(t, e) {\n let i = \"\", r = \"\";\n for (let n in t)\n if (t.hasOwnProperty(n))\n if (typeof t[n] > \"u\")\n this.isAttribute(n) && (r += \"\");\n else if (t[n] === null)\n this.isAttribute(n) ? r += \"\" : n[0] === \"?\" ? r += this.indentate(e) + \"<\" + n + \"?\" + this.tagEndChar : r += this.indentate(e) + \"<\" + n + \"/\" + this.tagEndChar;\n else if (t[n] instanceof Date)\n r += this.buildTextValNode(t[n], n, \"\", e);\n else if (typeof t[n] != \"object\") {\n const s = this.isAttribute(n);\n if (s)\n i += this.buildAttrPairStr(s, \"\" + t[n]);\n else if (n === this.options.textNodeName) {\n let a = this.options.tagValueProcessor(n, \"\" + t[n]);\n r += this.replaceEntitiesValue(a);\n } else\n r += this.buildTextValNode(t[n], n, \"\", e);\n } else if (Array.isArray(t[n])) {\n const s = t[n].length;\n let a = \"\";\n for (let o = 0; o < s; o++) {\n const l = t[n][o];\n typeof l > \"u\" || (l === null ? n[0] === \"?\" ? r += this.indentate(e) + \"<\" + n + \"?\" + this.tagEndChar : r += this.indentate(e) + \"<\" + n + \"/\" + this.tagEndChar : typeof l == \"object\" ? this.options.oneListGroup ? a += this.j2x(l, e + 1).val : a += this.processTextOrObjNode(l, n, e) : a += this.buildTextValNode(l, n, \"\", e));\n }\n this.options.oneListGroup && (a = this.buildObjectNode(a, n, \"\", e)), r += a;\n } else if (this.options.attributesGroupName && n === this.options.attributesGroupName) {\n const s = Object.keys(t[n]), a = s.length;\n for (let o = 0; o < a; o++)\n i += this.buildAttrPairStr(s[o], \"\" + t[n][s[o]]);\n } else\n r += this.processTextOrObjNode(t[n], n, e);\n return { attrStr: i, val: r };\n}, y.prototype.buildAttrPairStr = function(t, e) {\n return e = this.options.attributeValueProcessor(t, \"\" + e), e = this.replaceEntitiesValue(e), this.options.suppressBooleanAttributes && e === \"true\" ? \" \" + t : \" \" + t + '=\"' + e + '\"';\n};\nfunction $e(t, e, i) {\n const r = this.j2x(t, i + 1);\n return t[this.options.textNodeName] !== void 0 && Object.keys(t).length === 1 ? this.buildTextValNode(t[this.options.textNodeName], e, r.attrStr, i) : this.buildObjectNode(r.val, e, r.attrStr, i);\n}\ny.prototype.buildObjectNode = function(t, e, i, r) {\n if (t === \"\")\n return e[0] === \"?\" ? this.indentate(r) + \"<\" + e + i + \"?\" + this.tagEndChar : this.indentate(r) + \"<\" + e + i + this.closeTag(e) + this.tagEndChar;\n {\n let n = \"\" + t + n : this.options.commentPropName !== !1 && e === this.options.commentPropName && s.length === 0 ? this.indentate(r) + `` + this.newLine : this.indentate(r) + \"<\" + e + i + s + this.tagEndChar + t + this.indentate(r) + n;\n }\n}, y.prototype.closeTag = function(t) {\n let e = \"\";\n return this.options.unpairedTags.indexOf(t) !== -1 ? this.options.suppressUnpairedNode || (e = \"/\") : this.options.suppressEmptyNode ? e = \"/\" : e = `>` + this.newLine;\n if (this.options.commentPropName !== !1 && e === this.options.commentPropName)\n return this.indentate(r) + `` + this.newLine;\n if (e[0] === \"?\")\n return this.indentate(r) + \"<\" + e + i + \"?\" + this.tagEndChar;\n {\n let n = this.options.tagValueProcessor(e, t);\n return n = this.replaceEntitiesValue(n), n === \"\" ? this.indentate(r) + \"<\" + e + i + this.closeTag(e) + this.tagEndChar : this.indentate(r) + \"<\" + e + i + \">\" + n + \" 0 && this.options.processEntities)\n for (let e = 0; e < this.options.entities.length; e++) {\n const i = this.options.entities[e];\n t = t.replace(i.regex, i.val);\n }\n return t;\n};\nfunction Ve(t) {\n return this.options.indentBy.repeat(t);\n}\nfunction ke(t) {\n return t.startsWith(this.options.attributeNamePrefix) && t !== this.options.textNodeName ? t.substr(this.attrPrefixLen) : !1;\n}\nvar Le = y;\nconst Re = L, je = Te, Me = Le;\nvar H = { XMLParser: je, XMLValidator: Re, XMLBuilder: Me };\nfunction Be(t) {\n if (typeof t != \"string\")\n throw new TypeError(`Expected a \\`string\\`, got \\`${typeof t}\\``);\n if (t = t.trim(), t.length === 0 || H.XMLValidator.validate(t) !== !0)\n return !1;\n let e;\n const i = new H.XMLParser();\n try {\n e = i.parse(t);\n } catch {\n return !1;\n }\n return !(!e || !(\"svg\" in e));\n}\nclass ci {\n _view;\n constructor(e) {\n qe(e), this._view = e;\n }\n get id() {\n return this._view.id;\n }\n get name() {\n return this._view.name;\n }\n get caption() {\n return this._view.caption;\n }\n get emptyTitle() {\n return this._view.emptyTitle;\n }\n get emptyCaption() {\n return this._view.emptyCaption;\n }\n get getContents() {\n return this._view.getContents;\n }\n get icon() {\n return this._view.icon;\n }\n set icon(e) {\n this._view.icon = e;\n }\n get order() {\n return this._view.order;\n }\n set order(e) {\n this._view.order = e;\n }\n get params() {\n return this._view.params;\n }\n set params(e) {\n this._view.params = e;\n }\n get columns() {\n return this._view.columns;\n }\n get emptyView() {\n return this._view.emptyView;\n }\n get parent() {\n return this._view.parent;\n }\n get sticky() {\n return this._view.sticky;\n }\n get expanded() {\n return this._view.expanded;\n }\n set expanded(e) {\n this._view.expanded = e;\n }\n get defaultSortKey() {\n return this._view.defaultSortKey;\n }\n}\nconst qe = function(t) {\n if (!t.id || typeof t.id != \"string\")\n throw new Error(\"View id is required and must be a string\");\n if (!t.name || typeof t.name != \"string\")\n throw new Error(\"View name is required and must be a string\");\n if (t.columns && t.columns.length > 0 && (!t.caption || typeof t.caption != \"string\"))\n throw new Error(\"View caption is required for top-level views and must be a string\");\n if (!t.getContents || typeof t.getContents != \"function\")\n throw new Error(\"View getContents is required and must be a function\");\n if (!t.icon || typeof t.icon != \"string\" || !Be(t.icon))\n throw new Error(\"View icon is required and must be a valid svg string\");\n if (!(\"order\" in t) || typeof t.order != \"number\")\n throw new Error(\"View order is required and must be a number\");\n if (t.columns && t.columns.forEach((e) => {\n if (!(e instanceof At))\n throw new Error(\"View columns must be an array of Column. Invalid column found\");\n }), t.emptyView && typeof t.emptyView != \"function\")\n throw new Error(\"View emptyView must be a function\");\n if (t.parent && typeof t.parent != \"string\")\n throw new Error(\"View parent must be a string\");\n if (\"sticky\" in t && typeof t.sticky != \"boolean\")\n throw new Error(\"View sticky must be a boolean\");\n if (\"expanded\" in t && typeof t.expanded != \"boolean\")\n throw new Error(\"View expanded must be a boolean\");\n if (t.defaultSortKey && typeof t.defaultSortKey != \"string\")\n throw new Error(\"View defaultSortKey must be a string\");\n return !0;\n}, hi = function(t) {\n return F().registerEntry(t);\n}, pi = function(t) {\n return F().unregisterEntry(t);\n}, fi = function(t) {\n return F().getEntries(t);\n};\nexport {\n At as Column,\n K as DefaultType,\n bt as File,\n Qe as FileAction,\n k as FileType,\n Et as Folder,\n ii as Header,\n _t as Navigation,\n Q as Node,\n J as NodeStatus,\n v as Permission,\n ci as View,\n hi as addNewFileMenuEntry,\n li as davGetClient,\n oi as davGetDefaultPropfind,\n yt as davGetFavoritesReport,\n ai as davGetRecentSearch,\n xt as davParsePermissions,\n et as davRemoteURL,\n Nt as davResultToNode,\n tt as davRootPath,\n Y as defaultDavNamespaces,\n W as defaultDavProperties,\n Ze as formatFileSize,\n V as getDavNameSpaces,\n $ as getDavProperties,\n di as getFavoriteNodes,\n ei as getFileActions,\n ri as getFileListHeaders,\n ui as getNavigation,\n fi as getNewFileMenuEntries,\n Je as parseFileSize,\n si as registerDavProperty,\n ti as registerFileAction,\n ni as registerFileListHeaders,\n pi as removeNewFileMenuEntry\n};\n","import \"../assets/index-793eae6b.css\";\nimport { r as c } from \"../chunks/index-5f2a5f57.mjs\";\nimport { N as ut } from \"../chunks/index-5f2a5f57.mjs\";\nimport { generateUrl as p } from \"@nextcloud/router\";\nimport { n as u } from \"../chunks/_plugin-vue2_normalizer-71e2aa87.mjs\";\nimport { t as r } from \"../chunks/l10n-27a75c40.mjs\";\nimport \"../Directives/Tooltip.mjs\";\nimport { emojiAddRecent as m, emojiSearch as d } from \"../Functions/emoji.mjs\";\nimport { n as h, j as f } from \"../chunks/referencePickerModal-0fde503d.mjs\";\nimport \"@nextcloud/axios\";\nimport \"unist-util-visit\";\nimport \"unist-builder\";\nimport \"unified\";\nimport \"remark-parse\";\nimport \"remark-breaks\";\nimport \"remark-rehype\";\nimport \"rehype-react\";\nimport \"rehype-external-links\";\nimport \"./NcEmptyContent.mjs\";\nimport \"./NcSelect.mjs\";\nimport \"vue-material-design-icons/LinkVariant.vue\";\nimport \"./NcLoadingIcon.mjs\";\nimport \"./NcTextField.mjs\";\nimport \"vue-material-design-icons/DotsHorizontal.vue\";\nimport \"./NcButton.mjs\";\nimport \"./NcModal.mjs\";\nimport \"@nextcloud/event-bus\";\nimport \"vue-material-design-icons/ArrowLeft.vue\";\nimport \"vue-material-design-icons/Close.vue\";\nimport a from \"tributejs/dist/tribute.esm.js\";\nimport _ from \"debounce\";\nimport g from \"string-length\";\nimport { VTooltip as b } from \"floating-vue\";\nconst y = {\n name: \"NcAutoCompleteResult\",\n props: {\n title: {\n type: String,\n required: !0\n },\n subline: {\n type: String,\n default: null\n },\n id: {\n type: String,\n default: null\n },\n icon: {\n type: String,\n required: !0\n },\n iconUrl: {\n type: String,\n default: null\n },\n source: {\n type: String,\n required: !0\n },\n status: {\n type: [Object, Array],\n default: () => ({})\n }\n },\n computed: {\n avatarUrl() {\n return this.iconUrl ? this.iconUrl : this.id && this.source === \"users\" ? this.getAvatarUrl(this.id, 44) : null;\n },\n haveStatus() {\n var e, t, n;\n return ((e = this.status) == null ? void 0 : e.icon) || ((t = this.status) == null ? void 0 : t.status) && ((n = this.status) == null ? void 0 : n.status) !== \"offline\";\n }\n },\n methods: {\n getAvatarUrl(e, t) {\n return p(\"/avatar/{user}/{size}\", {\n user: e,\n size: t\n });\n }\n }\n};\nvar C = function() {\n var t = this, n = t._self._c;\n return n(\"div\", { staticClass: \"autocomplete-result\" }, [n(\"div\", { staticClass: \"autocomplete-result__icon\", class: [t.icon, `autocomplete-result__icon--${t.avatarUrl ? \"with-avatar\" : \"\"}`], style: t.avatarUrl ? { backgroundImage: `url(${t.avatarUrl})` } : null }, [t.haveStatus ? n(\"div\", { staticClass: \"autocomplete-result__status\", class: [`autocomplete-result__status--${t.status && t.status.icon ? \"icon\" : t.status.status}`] }, [t._v(\" \" + t._s(t.status && t.status.icon || \"\") + \" \")]) : t._e()]), n(\"span\", { staticClass: \"autocomplete-result__content\" }, [n(\"span\", { staticClass: \"autocomplete-result__title\", attrs: { title: t.title } }, [t._v(\" \" + t._s(t.title) + \" \")]), t.subline ? n(\"span\", { staticClass: \"autocomplete-result__subline\" }, [t._v(\" \" + t._s(t.subline) + \" \")]) : t._e()])]);\n}, v = [], k = /* @__PURE__ */ u(\n y,\n C,\n v,\n !1,\n null,\n \"25cf09d8\",\n null,\n null\n);\nconst x = k.exports;\nconst T = {\n name: \"NcRichContenteditable\",\n directives: {\n tooltip: b\n },\n mixins: [c],\n props: {\n value: {\n type: String,\n default: \"\",\n required: !0\n },\n placeholder: {\n type: String,\n default: r(\"Write a message …\")\n },\n autoComplete: {\n type: Function,\n default: () => []\n },\n menuContainer: {\n type: Element,\n default: () => document.body\n },\n /**\n * Make the contenteditable looks like a textarea or not.\n * Default looks like a single-line input.\n * This also handle the default enter/shift+enter behaviour.\n * if multiline, enter = newline; otherwise enter = submit\n * shift+enter always add a new line. ctrl+enter always submits\n */\n multiline: {\n type: Boolean,\n default: !1\n },\n /**\n * Is the content editable ?\n */\n contenteditable: {\n type: Boolean,\n default: !0\n },\n /**\n * Disable the editing and show specific disabled design\n */\n disabled: {\n type: Boolean,\n default: !1\n },\n /**\n * Max allowed length\n */\n maxlength: {\n type: Number,\n default: null\n },\n /**\n * Enable or disable emoji autocompletion\n */\n emojiAutocomplete: {\n type: Boolean,\n default: !0\n },\n /**\n * Enable or disable link autocompletion\n */\n linkAutocomplete: {\n type: Boolean,\n default: !0\n }\n },\n emits: [\n \"submit\",\n \"paste\",\n \"update:value\"\n ],\n data() {\n return {\n textSmiles: [],\n tribute: null,\n autocompleteOptions: {\n // Allow spaces in the middle of mentions\n allowSpaces: !0,\n fillAttr: \"id\",\n // Search against id and title (display name)\n lookup: (e) => `${e.id} ${e.title}`,\n // Where to inject the menu popup\n menuContainer: this.menuContainer,\n // Popup mention autocompletion templates\n menuItemTemplate: (e) => this.renderComponentHtml(e.original, x),\n // Hide if no results\n noMatchTemplate: () => '',\n // Inner display of mentions\n selectTemplate: (e) => {\n var t;\n return this.genSelectTemplate((t = e == null ? void 0 : e.original) == null ? void 0 : t.id);\n },\n // Autocompletion results\n values: this.debouncedAutoComplete\n },\n emojiOptions: {\n trigger: \":\",\n // Don't use the tribute search function at all\n // We pass search results as values (see below)\n lookup: (e, t) => t,\n // Where to inject the menu popup\n menuContainer: this.menuContainer,\n // Popup mention autocompletion templates\n menuItemTemplate: (e) => this.textSmiles.includes(e.original) ? e.original : `${e.original.native} :${e.original.short_name}`,\n // Hide if no results\n noMatchTemplate: () => r(\"No emoji found\"),\n // Display raw emoji along with its name\n selectTemplate: (e) => this.textSmiles.includes(e.original) ? e.original : (m(e.original), e.original.native),\n // Pass the search results as values\n values: (e, t) => {\n const n = d(e);\n this.textSmiles.includes(\":\" + e) && n.unshift(\":\" + e), t(n);\n },\n // Class added to the menu container\n containerClass: \"tribute-container-emoji\",\n // Class added to each list item\n itemClass: \"tribute-container-emoji__item\"\n },\n linkOptions: {\n trigger: \"/\",\n // Don't use the tribute search function at all\n // We pass search results as values (see below)\n lookup: (e, t) => t,\n // Where to inject the menu popup\n menuContainer: this.menuContainer,\n // Popup mention autocompletion templates\n menuItemTemplate: (e) => ` ${e.original.title}`,\n // Hide if no results\n noMatchTemplate: () => r(\"No link provider found\"),\n selectTemplate: this.getLink,\n // Pass the search results as values\n values: (e, t) => t(h(e)),\n // Class added to the menu container\n containerClass: \"tribute-container-link\",\n // Class added to each list item\n itemClass: \"tribute-container-link__item\"\n },\n // Represent the raw untrimmed text of the contenteditable\n // serves no other purpose than to check whether the\n // content is empty or not\n localValue: this.value,\n // Is in text composition session in IME\n isComposing: !1\n };\n },\n computed: {\n /**\n * Is the current trimmed value empty?\n *\n * @return {boolean}\n */\n isEmptyValue() {\n return !this.localValue || this.localValue && this.localValue.trim() === \"\";\n },\n /**\n * Is this Firefox? 🙄\n *\n * @return {boolean}\n */\n isFF() {\n return !!navigator.userAgent.match(/firefox/i);\n },\n /**\n * Is the current value over maxlength?\n *\n * @return {boolean}\n */\n isOverMaxlength() {\n return this.isEmptyValue || !this.maxlength ? !1 : g(this.localValue) > this.maxlength;\n },\n /**\n * Tooltip to show if characters count is over limit\n *\n * @return {string}\n */\n tooltipString() {\n return this.isOverMaxlength ? {\n content: r(\"Message limit of {count} characters reached\", { count: this.maxlength }),\n shown: !0,\n trigger: \"manual\"\n } : null;\n },\n /**\n * Edit is only allowed when contenteditableis true and disabled is false\n *\n * @return {boolean}\n */\n canEdit() {\n return this.contenteditable && !this.disabled;\n },\n /**\n * Proxied native event handlers without custom event handlers\n *\n * @return {Record}\n */\n listeners() {\n const e = { ...this.$listeners };\n return delete e.paste, e;\n }\n },\n watch: {\n /**\n * If the parent value change, we compare the plain text rendering\n * If it's different, we render everything and update the main content\n */\n value() {\n const e = this.$refs.contenteditable.innerHTML;\n this.value.trim() !== this.parseContent(e).trim() && this.updateContent(this.value);\n }\n },\n mounted() {\n const e = [\"d\", \"D\", \"p\", \"P\", \"s\", \"S\", \"x\", \"X\", \")\", \"(\", \"|\", \"/\"];\n this.textSmiles = [], e.forEach((t) => {\n this.textSmiles.push(\":\" + t), this.textSmiles.push(\":-\" + t);\n }), this.autocompleteTribute = new a(this.autocompleteOptions), this.autocompleteTribute.attach(this.$el), this.emojiAutocomplete && (this.emojiTribute = new a(this.emojiOptions), this.emojiTribute.attach(this.$el)), this.linkAutocomplete && (this.linkTribute = new a(this.linkOptions), this.linkTribute.attach(this.$el)), this.updateContent(this.value), this.$refs.contenteditable.contentEditable = this.canEdit;\n },\n beforeDestroy() {\n this.autocompleteTribute && this.autocompleteTribute.detach(this.$el), this.emojiTribute && this.emojiTribute.detach(this.$el), this.linkTribute && this.linkTribute.detach(this.$el);\n },\n methods: {\n /**\n * Focus the richContenteditable\n *\n * @public\n */\n focus() {\n this.$refs.contenteditable.focus();\n },\n getLink(e) {\n return f(e.original.id).then((t) => {\n const n = document.getElementById(\"tmp-link-result-node\"), i = document.createTextNode(t);\n n.replaceWith(i), this.setCursorAfter(i), this.updateValue(this.$refs.contenteditable.innerHTML);\n }).catch((t) => {\n console.debug(\"Smart picker promise rejected:\", t);\n const n = document.getElementById(\"tmp-link-result-node\");\n this.setCursorAfter(n), n.remove();\n }), '';\n },\n setCursorAfter(e) {\n const t = document.createRange();\n t.setEndAfter(e), t.collapse();\n const n = window.getSelection();\n n.removeAllRanges(), n.addRange(t);\n },\n /**\n * Re-emit the input event to the parent\n *\n * @param {Event} event the input event\n */\n onInput(e) {\n this.updateValue(e.target.innerHTML);\n },\n /**\n * When pasting, sanitize the content, extract text\n * and render it again\n *\n * @param {Event} event the paste event\n * @fires Event paste the original paste event\n */\n onPaste(e) {\n if (!this.canEdit)\n return;\n e.preventDefault();\n const t = e.clipboardData;\n if (this.$emit(\"paste\", e), t.files.length !== 0 || !Object.values(t.items).find((l) => l == null ? void 0 : l.type.startsWith(\"text\")))\n return;\n const n = t.getData(\"text\"), i = window.getSelection();\n if (!i.rangeCount) {\n this.updateValue(n);\n return;\n }\n const s = i.getRangeAt(0);\n i.deleteFromDocument(), s.insertNode(document.createTextNode(n));\n const o = document.createRange();\n o.setStart(e.target, s.endOffset), o.collapse(!0), i.removeAllRanges(), i.addRange(o), this.updateValue(this.$refs.contenteditable.innerHTML);\n },\n /**\n * Update the value text from the provided html\n *\n * @param {string} htmlOrText the html content (or raw text with @mentions)\n */\n updateValue(e) {\n const t = this.parseContent(e);\n this.localValue = t, this.$emit(\"update:value\", t);\n },\n /**\n * Update content and local value\n *\n * @param {string} value the message value\n */\n updateContent(e) {\n const t = this.renderContent(e);\n this.$refs.contenteditable.innerHTML = t, this.localValue = e;\n },\n /**\n * Because FF have a decade old bug preventing contenteditable=false\n * to properly be deleted on backspace, we have to hack 👀\n * https://stackoverflow.com/a/59383394/3885878\n * https://stackoverflow.com/a/30574622\n *\n * @param {Event} event the delete keydown event\n */\n onDelete(e) {\n if (!this.isFF || !window.getSelection || !this.canEdit)\n return;\n const t = window.getSelection(), n = e.target;\n if (!t.isCollapsed || !t.rangeCount)\n return;\n const i = t.getRangeAt(t.rangeCount - 1);\n if (i.commonAncestorContainer.nodeType === 3 && i.startOffset > 0)\n return;\n const s = document.createRange();\n if (t.anchorNode !== n)\n s.selectNodeContents(n), s.setEndBefore(t.anchorNode);\n else if (t.anchorOffset > 0)\n s.setEnd(n, t.anchorOffset);\n else\n return;\n s.setStart(n, s.endOffset - 1);\n const o = s.cloneContents().lastChild;\n o && o.contentEditable === \"false\" && (s.deleteContents(), e.preventDefault());\n },\n /**\n * Enter key pressed. Submits if not multiline\n *\n * @param {Event} event the keydown event\n */\n onEnter(e) {\n this.multiline || this.isOverMaxlength || this.autocompleteTribute.isActive || this.emojiTribute.isActive || this.linkTribute.isActive || this.isComposing || (e.preventDefault(), e.stopPropagation(), this.$emit(\"submit\", e));\n },\n /**\n * Ctrl + Enter key pressed is used to submit\n *\n * @param {Event} event the keydown event\n */\n onCtrlEnter(e) {\n this.isOverMaxlength || this.$emit(\"submit\", e);\n },\n /**\n * Debounce the autocomplete function\n */\n debouncedAutoComplete: _(async function(e, t) {\n this.autoComplete(e, t);\n }, 100),\n onKeyUp(e) {\n e.stopImmediatePropagation();\n }\n }\n};\nvar S = function() {\n var t = this, n = t._self._c;\n return n(\"div\", t._g({ directives: [{ name: \"tooltip\", rawName: \"v-tooltip\", value: t.tooltipString, expression: \"tooltipString\" }], ref: \"contenteditable\", staticClass: \"rich-contenteditable__input\", class: {\n \"rich-contenteditable__input--empty\": t.isEmptyValue,\n \"rich-contenteditable__input--multiline\": t.multiline,\n \"rich-contenteditable__input--overflow\": t.isOverMaxlength,\n \"rich-contenteditable__input--disabled\": t.disabled\n }, attrs: { contenteditable: t.canEdit, placeholder: t.placeholder, \"aria-placeholder\": t.placeholder, \"aria-multiline\": \"true\", role: \"textbox\" }, on: { input: t.onInput, compositionstart: function(i) {\n t.isComposing = !0;\n }, compositionend: function(i) {\n t.isComposing = !1;\n }, keydown: [function(i) {\n return !i.type.indexOf(\"key\") && t._k(i.keyCode, \"delete\", [8, 46], i.key, [\"Backspace\", \"Delete\", \"Del\"]) ? null : t.onDelete.apply(null, arguments);\n }, function(i) {\n return !i.type.indexOf(\"key\") && t._k(i.keyCode, \"enter\", 13, i.key, \"Enter\") || i.ctrlKey || i.shiftKey || i.altKey || i.metaKey ? null : t.onEnter.apply(null, arguments);\n }, function(i) {\n return !i.type.indexOf(\"key\") && t._k(i.keyCode, \"enter\", 13, i.key, \"Enter\") || !i.ctrlKey || i.shiftKey || i.altKey || i.metaKey ? null : (i.stopPropagation(), i.preventDefault(), t.onCtrlEnter.apply(null, arguments));\n }], paste: t.onPaste, \"!keyup\": function(i) {\n return i.stopPropagation(), i.preventDefault(), t.onKeyUp.apply(null, arguments);\n } } }, t.listeners));\n}, A = [], E = /* @__PURE__ */ u(\n T,\n S,\n A,\n !1,\n null,\n \"b7f5e546\",\n null,\n null\n);\nconst rt = E.exports;\nexport {\n x as NcAutoCompleteResult,\n ut as NcMentionBubble,\n rt as default\n};\n","import { N as b } from \"./referencePickerModal-0fde503d.mjs\";\nimport f from \"@nextcloud/axios\";\nimport { generateOcsUrl as d } from \"@nextcloud/router\";\nimport { n as g } from \"./_plugin-vue2_normalizer-71e2aa87.mjs\";\nimport { visit as _, SKIP as v } from \"unist-util-visit\";\nimport { u as l } from \"unist-builder\";\nimport { unified as y } from \"unified\";\nimport w from \"remark-parse\";\nimport R from \"remark-breaks\";\nimport N from \"remark-rehype\";\nimport A from \"rehype-react\";\nimport L from \"rehype-external-links\";\nconst m = /(\\s|^)(https?:\\/\\/)((?:[-A-Z0-9+_]+\\.)+[-A-Z]+(?:\\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*)(\\s|$)/ig, x = /(\\s|\\(|^)((https?:\\/\\/)((?:[-A-Z0-9+_]+\\.)+[-A-Z0-9]+(?::[0-9]+)?(?:\\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*))(?=\\s|\\)|$)/ig, $ = {\n name: \"NcReferenceList\",\n components: {\n NcReferenceWidget: b\n },\n props: {\n text: {\n type: String,\n default: \"\"\n },\n referenceData: {\n type: Object,\n default: null\n },\n limit: {\n type: Number,\n default: 1\n }\n },\n data() {\n return {\n references: null,\n loading: !0\n };\n },\n computed: {\n isVisible() {\n return this.loading || this.displayedReferences;\n },\n values() {\n return this.referenceData ? this.referenceData : this.references ? Object.values(this.references) : [];\n },\n firstReference() {\n var e;\n return (e = this.values[0]) != null ? e : null;\n },\n displayedReferences() {\n return this.values.slice(0, this.limit);\n }\n },\n watch: {\n text: \"fetch\"\n },\n mounted() {\n this.fetch();\n },\n methods: {\n fetch() {\n if (this.loading = !0, this.referenceData) {\n this.loading = !1;\n return;\n }\n if (!new RegExp(m).exec(this.text)) {\n this.loading = !1;\n return;\n }\n this.resolve().then((e) => {\n this.references = e.data.ocs.data.references, this.loading = !1;\n }).catch((e) => {\n console.error(\"Failed to extract references\", e), this.loading = !1;\n });\n },\n resolve() {\n const e = new RegExp(m).exec(this.text.trim());\n return this.limit === 1 && e ? f.get(d(\"references/resolve\", 2) + `?reference=${encodeURIComponent(e[0])}`) : f.post(d(\"references/extract\", 2), {\n text: this.text,\n resolve: !0,\n limit: this.limit\n });\n }\n }\n};\nvar j = function() {\n var s = this, t = s._self._c;\n return s.isVisible ? t(\"div\", { staticClass: \"widgets--list\", class: { \"icon-loading\": s.loading } }, s._l(s.displayedReferences, function(r) {\n var i;\n return t(\"div\", { key: (i = r == null ? void 0 : r.openGraphObject) == null ? void 0 : i.id }, [t(\"NcReferenceWidget\", { attrs: { reference: r } })], 1);\n }), 0) : s._e();\n}, T = [], O = /* @__PURE__ */ g(\n $,\n j,\n T,\n !1,\n null,\n \"bd1fbb02\",\n null,\n null\n);\nconst h = O.exports, C = {\n name: \"NcLink\",\n props: {\n href: {\n type: String,\n required: !0\n }\n },\n render(e) {\n return e(\"a\", {\n attrs: {\n href: this.href,\n rel: \"noopener noreferrer\",\n target: \"_blank\",\n class: \"rich-text--external-link\"\n }\n }, [this.href.trim()]);\n }\n}, M = function({ autolink: e, useMarkdown: s }) {\n return function(t) {\n !s || !e || _(t, (r) => r.type === \"text\", (r, i, n) => {\n let c = k(r.value);\n return c = c.map((a) => typeof a == \"string\" ? l(\"text\", a) : l(\"link\", {\n url: a.props.href\n }, [l(\"text\", a.props.href)])).filter((a) => a), n.children.splice(i, 1, ...c.flat()), [v, i + c.flat().length];\n });\n };\n}, k = (e) => {\n let s = x.exec(e);\n const t = [];\n let r = 0;\n for (; s !== null; ) {\n let n = s[2], c, a = e.substring(r, s.index + s[1].length);\n n[0] === \" \" && (a += n[0], n = n.substring(1).trim());\n const o = n[n.length - 1];\n (o === \".\" || o === \",\" || o === \";\" || s[0][0] === \"(\" && o === \")\") && (n = n.substring(0, n.length - 1), c = o), t.push(a), t.push({ component: C, props: { href: n } }), c && t.push(c), r = s.index + s[0].length, s = x.exec(e);\n }\n t.push(e.substring(r));\n const i = t.map((n) => typeof n == \"string\" ? n : n.props.href).join(\"\");\n return e === i ? t : (console.error(\"Failed to reassemble the chunked text: \" + e), e);\n}, D = function() {\n return function(e) {\n _(e, (t) => t.type === \"text\", s);\n function s(t, r, i) {\n const n = t.value.split(/(\\{[a-z\\-_.0-9]+\\})/ig).map((c, a, o) => {\n const p = c.match(/^\\{([a-z\\-_.0-9]+)\\}$/i);\n if (!p)\n return l(\"text\", c);\n const [, u] = p;\n return l(\"element\", {\n tagName: `#${u}`\n });\n });\n i.children.splice(r, 1, ...n);\n }\n };\n}, E = ({ h: e, context: s }, t) => (s.autolink && (t = k(t)), Array.isArray(t) ? t.map((r) => {\n if (typeof r == \"string\")\n return r;\n const { component: i, props: n } = r, c = i.name === \"NcLink\" ? void 0 : \"rich-text--component\";\n return e(i, {\n props: n,\n class: c\n });\n}) : t), P = {\n name: \"NcRichText\",\n components: {\n NcReferenceList: h\n },\n props: {\n text: {\n type: String,\n default: \"\"\n },\n arguments: {\n type: Object,\n default: () => ({})\n },\n referenceLimit: {\n type: Number,\n default: 0\n },\n /** Provide data upfront to avoid extra http request */\n references: {\n type: Object,\n default: null\n },\n markdownCssClasses: {\n type: Object,\n default: () => ({\n a: \"rich-text--external-link\",\n ol: \"rich-text--ordered-list\",\n ul: \"rich-text--un-ordered-list\",\n li: \"rich-text--list-item\",\n strong: \"rich-text--strong\",\n em: \"rich-text--italic\",\n h1: \"rich-text--heading rich-text--heading-1\",\n h2: \"rich-text--heading rich-text--heading-2\",\n h3: \"rich-text--heading rich-text--heading-3\",\n h4: \"rich-text--heading rich-text--heading-4\",\n h5: \"rich-text--heading rich-text--heading-5\",\n h6: \"rich-text--heading rich-text--heading-6\",\n hr: \"rich-text--hr\",\n table: \"rich-text--table\",\n pre: \"rich-text--pre\",\n code: \"rich-text--code\",\n blockquote: \"rich-text--blockquote\"\n })\n },\n useMarkdown: {\n type: Boolean,\n default: !1\n },\n autolink: {\n type: Boolean,\n default: !0\n }\n },\n methods: {\n renderPlaintext(e) {\n const s = this, t = this.text.split(/(\\{[a-z\\-_.0-9]+\\})/ig).map(function(r, i, n) {\n const c = r.match(/^\\{([a-z\\-_.0-9]+)\\}$/i);\n if (!c)\n return E({ h: e, context: s }, r);\n const a = c[1], o = s.arguments[a];\n if (typeof o == \"object\") {\n const { component: p, props: u } = o;\n return e(p, {\n props: u,\n class: \"rich-text--component\"\n });\n }\n return o ? e(\"span\", { class: \"rich-text--fallback\" }, o) : r;\n });\n return e(\"div\", { class: \"rich-text--wrapper\" }, [\n e(\"div\", {}, t.flat()),\n this.referenceLimit > 0 ? e(\"div\", { class: \"rich-text--reference-widget\" }, [\n e(h, { props: { text: this.text, referenceData: this.references } })\n ]) : null\n ]);\n },\n renderMarkdown(e) {\n const s = y().use(w).use(M, {\n autolink: this.autolink,\n useMarkdown: this.useMarkdown\n }).use(R).use(N, {\n handlers: {\n component(t, r) {\n return t(r, r.component, { value: r.value });\n }\n }\n }).use(D).use(L, {\n target: \"_blank\",\n rel: [\"noopener noreferrer\"]\n }).use(A, {\n createElement: (t, r, i) => {\n if (i = i == null ? void 0 : i.map(\n (c) => typeof c == \"string\" ? c.replace(/</gmi, \"<\") : c\n ), !t.startsWith(\"#\"))\n return e(t, r, i);\n const n = this.arguments[t.slice(1)];\n return n ? n.component ? e(\n n.component,\n {\n attrs: r,\n props: n.props,\n class: \"rich-text--component\"\n },\n i\n ) : e(\"span\", r, [n]) : e(\"span\", { attrs: r, class: \"rich-text--fallback\" }, [`{${t.slice(1)}}`]);\n },\n prefix: !1\n }).processSync(\n this.text.replace(/\")\n ).result;\n return e(\"div\", { class: \"rich-text--wrapper rich-text--wrapper-markdown\" }, [\n s,\n this.referenceLimit > 0 ? e(\"div\", { class: \"rich-text--reference-widget\" }, [\n e(h, { props: { text: this.text, referenceData: this.references } })\n ]) : null\n ]);\n }\n },\n render(e) {\n return this.useMarkdown ? this.renderMarkdown(e) : this.renderPlaintext(e);\n }\n}, U = null, Z = null;\nvar z = /* @__PURE__ */ g(\n P,\n U,\n Z,\n !1,\n null,\n \"f9d2c651\",\n null,\n null\n);\nconst X = z.exports;\nexport {\n X as N,\n h as a\n};\n","import i from \"./Components/NcActionButton.mjs\";\nimport m from \"./Components/NcActionButtonGroup.mjs\";\nimport e from \"./Components/NcActionCaption.mjs\";\nimport p from \"./Components/NcActionCheckbox.mjs\";\nimport c from \"./Components/NcActionInput.mjs\";\nimport f from \"./Components/NcActionLink.mjs\";\nimport n from \"./Components/NcActionRadio.mjs\";\nimport N from \"./Components/NcActionRouter.mjs\";\nimport a from \"./Components/NcActions.mjs\";\nimport s from \"./Components/NcActionSeparator.mjs\";\nimport l from \"./Components/NcActionText.mjs\";\nimport u from \"./Components/NcActionTextEditable.mjs\";\nimport d from \"./Components/NcAppContent.mjs\";\nimport A from \"./Components/NcAppContentDetails.mjs\";\nimport g from \"./Components/NcAppContentList.mjs\";\nimport b from \"./Components/NcAppNavigation.mjs\";\nimport S from \"./Components/NcAppNavigationCaption.mjs\";\nimport v from \"./Components/NcAppNavigationIconBullet.mjs\";\nimport T from \"./Components/NcAppNavigationItem.mjs\";\nimport x from \"./Components/NcAppNavigationNew.mjs\";\nimport C from \"./Components/NcAppNavigationNewItem.mjs\";\nimport k from \"./Components/NcAppNavigationSettings.mjs\";\nimport h from \"./Components/NcAppNavigationSpacer.mjs\";\nimport I from \"./Components/NcAppSettingsDialog.mjs\";\nimport y from \"./Components/NcAppSettingsSection.mjs\";\nimport P from \"./Components/NcAppSidebar.mjs\";\nimport B from \"./Components/NcAppSidebarTab.mjs\";\nimport { N as j } from \"./chunks/index-6c221fa0.mjs\";\nimport { u as or } from \"./chunks/index-6c221fa0.mjs\";\nimport R from \"./Components/NcBreadcrumb.mjs\";\nimport D from \"./Components/NcBreadcrumbs.mjs\";\nimport O from \"./Components/NcButton.mjs\";\nimport _ from \"./Components/NcCheckboxRadioSwitch.mjs\";\nimport E from \"./Components/NcColorPicker.mjs\";\nimport L from \"./Components/NcContent.mjs\";\nimport M from \"./Components/NcCounterBubble.mjs\";\nimport w from \"./Components/NcDashboardWidget.mjs\";\nimport F from \"./Components/NcDashboardWidgetItem.mjs\";\nimport z from \"./Components/NcDateTime.mjs\";\nimport G from \"./Components/NcDateTimePicker.mjs\";\nimport W from \"./Components/NcDateTimePickerNative.mjs\";\nimport H from \"./Components/NcEmojiPicker.mjs\";\nimport V from \"./Components/NcEmptyContent.mjs\";\nimport U from \"./Components/NcGuestContent.mjs\";\nimport $ from \"./Components/NcHeaderMenu.mjs\";\nimport { N as q } from \"./chunks/index-20a9ace9.mjs\";\nimport J from \"./Components/NcIconSvgWrapper.mjs\";\nimport K from \"./Components/NcListItem.mjs\";\nimport Q from \"./Components/NcListItemIcon.mjs\";\nimport X from \"./Components/NcLoadingIcon.mjs\";\nimport Y from \"./Components/NcModal.mjs\";\nimport Z from \"./Components/NcNoteCard.mjs\";\nimport oo from \"./Components/NcPasswordField.mjs\";\nimport to from \"./Components/NcPopover.mjs\";\nimport ro from \"./Components/NcProgressBar.mjs\";\nimport io from \"./Components/NcRelatedResourcesPanel.mjs\";\nimport { N as mo } from \"./chunks/index-5f2a5f57.mjs\";\nimport { r as rr } from \"./chunks/index-5f2a5f57.mjs\";\nimport eo, { NcAutoCompleteResult as po } from \"./Components/NcRichContenteditable.mjs\";\nimport { N as co } from \"./chunks/NcRichText-1c3d2654.mjs\";\nimport \"./chunks/referencePickerModal-0fde503d.mjs\";\nimport \"@nextcloud/axios\";\nimport \"@nextcloud/router\";\nimport fo from \"./Components/NcSelect.mjs\";\nimport \"./chunks/l10n-27a75c40.mjs\";\nimport \"vue-material-design-icons/LinkVariant.vue\";\nimport no from \"./Components/NcTextField.mjs\";\nimport \"vue-material-design-icons/DotsHorizontal.vue\";\nimport \"@nextcloud/event-bus\";\nimport \"vue-material-design-icons/ArrowLeft.vue\";\nimport \"vue-material-design-icons/Close.vue\";\nimport \"vue\";\nimport No from \"./Components/NcSavingIndicatorIcon.mjs\";\nimport ao from \"./Components/NcSelectTags.mjs\";\nimport so from \"./Components/NcSettingsInputText.mjs\";\nimport lo from \"./Components/NcSettingsSection.mjs\";\nimport { N as uo } from \"./chunks/NcSettingsSelectGroup-0f4a0f94.mjs\";\nimport Ao from \"./Components/NcTimezonePicker.mjs\";\nimport go from \"./Components/NcUserBubble.mjs\";\nimport { emojiAddRecent as mr, emojiSearch as er } from \"./Functions/emoji.mjs\";\nimport { default as cr } from \"./Functions/usernameToColor.mjs\";\nimport { directive as bo } from \"./Directives/Focus.mjs\";\nimport { directive as So } from \"./Directives/Linkify.mjs\";\nimport \"./Directives/Tooltip.mjs\";\nimport { default as nr } from \"./Mixins/clickOutsideOptions.mjs\";\nimport { default as ar } from \"./Mixins/isFullscreen.mjs\";\nimport { default as lr } from \"./Mixins/isMobile.mjs\";\nimport { VTooltip as vo } from \"floating-vue\";\nimport { VTooltip as dr } from \"floating-vue\";\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst To = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n NcActionButton: i,\n NcActionButtonGroup: m,\n NcActionCaption: e,\n NcActionCheckbox: p,\n NcActionInput: c,\n NcActionLink: f,\n NcActionRadio: n,\n NcActionRouter: N,\n NcActionSeparator: s,\n NcActionText: l,\n NcActionTextEditable: u,\n NcActions: a,\n NcAppContent: d,\n NcAppContentDetails: A,\n NcAppContentList: g,\n NcAppNavigation: b,\n NcAppNavigationCaption: S,\n NcAppNavigationIconBullet: v,\n NcAppNavigationItem: T,\n NcAppNavigationNew: x,\n NcAppNavigationNewItem: C,\n NcAppNavigationSettings: k,\n NcAppNavigationSpacer: h,\n NcAppSettingsDialog: I,\n NcAppSettingsSection: y,\n NcAppSidebar: P,\n NcAppSidebarTab: B,\n NcAutoCompleteResult: po,\n NcAvatar: j,\n NcBreadcrumb: R,\n NcBreadcrumbs: D,\n NcButton: O,\n NcCheckboxRadioSwitch: _,\n NcColorPicker: E,\n NcContent: L,\n NcCounterBubble: M,\n NcDashboardWidget: w,\n NcDashboardWidgetItem: F,\n NcDateTime: z,\n NcDateTimePicker: G,\n NcDateTimePickerNative: W,\n NcEmojiPicker: H,\n NcEmptyContent: V,\n NcGuestContent: U,\n NcHeaderMenu: $,\n NcHighlight: q,\n NcIconSvgWrapper: J,\n NcListItem: K,\n NcListItemIcon: Q,\n NcLoadingIcon: X,\n NcMentionBubble: mo,\n NcModal: Y,\n NcNoteCard: Z,\n NcPasswordField: oo,\n NcPopover: to,\n NcProgressBar: ro,\n NcRelatedResourcesPanel: io,\n NcRichContenteditable: eo,\n NcRichText: co,\n NcSavingIndicatorIcon: No,\n NcSelect: fo,\n NcSelectTags: ao,\n NcSettingsInputText: so,\n NcSettingsSection: lo,\n NcSettingsSelectGroup: uo,\n NcTextField: no,\n NcTimezonePicker: Ao,\n NcUserBubble: go\n}, Symbol.toStringTag, { value: \"Module\" }));\n/**\n * @copyright 2022 Christopher Ng \n *\n * @author Christopher Ng \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst Qt = (o) => o.type === \"click\" || o.type === \"keydown\" && o.key === \"Enter\";\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst xo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n Focus: bo,\n Linkify: So,\n Tooltip: vo\n}, Symbol.toStringTag, { value: \"Module\" })), Xt = {\n install(o) {\n Object.entries(To).forEach(([r, t]) => {\n o.component(t.name || r, t);\n }), Object.entries(xo).forEach(([r, t]) => {\n o.directive(r, t);\n });\n }\n};\nexport {\n bo as Focus,\n So as Linkify,\n i as NcActionButton,\n m as NcActionButtonGroup,\n e as NcActionCaption,\n p as NcActionCheckbox,\n c as NcActionInput,\n f as NcActionLink,\n n as NcActionRadio,\n N as NcActionRouter,\n s as NcActionSeparator,\n l as NcActionText,\n u as NcActionTextEditable,\n a as NcActions,\n d as NcAppContent,\n A as NcAppContentDetails,\n g as NcAppContentList,\n b as NcAppNavigation,\n S as NcAppNavigationCaption,\n v as NcAppNavigationIconBullet,\n T as NcAppNavigationItem,\n x as NcAppNavigationNew,\n C as NcAppNavigationNewItem,\n k as NcAppNavigationSettings,\n h as NcAppNavigationSpacer,\n I as NcAppSettingsDialog,\n y as NcAppSettingsSection,\n P as NcAppSidebar,\n B as NcAppSidebarTab,\n po as NcAutoCompleteResult,\n j as NcAvatar,\n R as NcBreadcrumb,\n D as NcBreadcrumbs,\n O as NcButton,\n _ as NcCheckboxRadioSwitch,\n E as NcColorPicker,\n L as NcContent,\n M as NcCounterBubble,\n w as NcDashboardWidget,\n F as NcDashboardWidgetItem,\n z as NcDateTime,\n G as NcDateTimePicker,\n W as NcDateTimePickerNative,\n H as NcEmojiPicker,\n V as NcEmptyContent,\n U as NcGuestContent,\n $ as NcHeaderMenu,\n q as NcHighlight,\n J as NcIconSvgWrapper,\n K as NcListItem,\n Q as NcListItemIcon,\n X as NcLoadingIcon,\n mo as NcMentionBubble,\n Y as NcModal,\n Z as NcNoteCard,\n oo as NcPasswordField,\n to as NcPopover,\n ro as NcProgressBar,\n io as NcRelatedResourcesPanel,\n eo as NcRichContenteditable,\n co as NcRichText,\n No as NcSavingIndicatorIcon,\n fo as NcSelect,\n ao as NcSelectTags,\n so as NcSettingsInputText,\n lo as NcSettingsSection,\n uo as NcSettingsSelectGroup,\n no as NcTextField,\n Ao as NcTimezonePicker,\n go as NcUserBubble,\n Xt as NextcloudVuePlugin,\n dr as Tooltip,\n nr as clickOutsideOptions,\n mr as emojiAddRecent,\n er as emojiSearch,\n Qt as isA11yActivation,\n ar as isFullscreen,\n lr as isMobile,\n rr as richEditor,\n or as userStatus,\n cr as usernameToColor\n};\n"],"names":["g","e","i","t","l","n","s","c","u","r","a","options","render","staticRenderFns","_compiled","functional","_scopeId","f","this","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","call","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","d","k","C","beforeCreate","concat","exports","G","name","emits","props","title","type","String","fillColor","default","size","Number","_self","_c","_b","staticClass","attrs","role","on","click","$emit","$attrs","fill","width","height","viewBox","_v","_s","_e","xe","__name","callback","label","icon","setup","emit","__sfc","handleClick","NcButton","NcIconSvgWrapper","_setupProxy","scopedSlots","_u","key","fn","svg","tag","proxy","Ie","message","additionalTrapElements","container","buttons","navigationClasses","contentClasses","dialogClasses","value","navigation","enableSlideshow","enableSwipe","slots","wrapper","dialogWidth","isNavigationCollapsed","hasNavigation","open","handleClose","modalProps","NcModal","DialogButton","close","domProps","textContent","class","ref","_t","isCollapsed","_l","$e","Ue","K","Ge","showCheckbox","Boolean","fileListIconStyles","_m","R","nt","node","previewURL","cropPreview","mimeFallback","attributes","previewUrl","fileid","URL","window","location","origin","searchParams","set","Ke","Xe","File","document","createElement","src","href","onerror","remove","onload","body","appendChild","immediate","isFile","canLoadPreview","IconFile","IconFolder","style","backgroundImage","mime","ct","allowPickDirectory","selected","canPick","displayName","basename","slice","extension","length","Folder","fileExtension","isDirectory","isPickable","toggleSelected","handleKeyDown","formatFileSize","NcCheckboxRadioSwitch","NcDateTime","FilePreview","_g","tabindex","keydown","disabled","checked","nodename","stopPropagation","timestamp","mtime","mt","multiselect","loading","files","selectedFiles","path","ascending","o","p","w","descending","none","N","localeCompare","getTime","b","sort","F","filter","z","h","y","A","T","V","parentElement","children","E","clientHeight","P","isSameNode","Math","floor","addEventListener","removeEventListener","sortByName","sortBySize","sortByModified","ordering","byName","bySize","byDate","toggleSorting","toggleSortByName","toggleSortBySize","toggleSortByModified","sortedFiles","selectableFiles","allSelected","onSelectAll","onNodeSelected","includes","onChangeDirectory","skeletonNumber","fileContainer","IconSortAscending","IconSortDescending","LoadingTableRow","FileListRow","wide","staticStyle","yt","St","Lt","showMenu","trim","$el","querySelector","OC","config","blacklist_files_regex","match","setCustomValidity","split","map","join","newNodeName","nameInput","validateInput","onSubmit","pathElements","IconHome","IconPlus","NcActions","NcActionInput","NcBreadcrumbs","NcBreadcrumb","placeholder","submit","input","Dt","At","Ot","Xt","ei","currentView","filterString","id","allViews","currentViewObject","updateFilterValue","IconClose","IconMagnify","NcSelect","NcTextField","Fragment","clearable","searchable","gi","filterFn","mimetypeFilter","async","sessionStorage","getItem","get","setItem","isSupportedMimeType","some","ii","isLoading","loadFiles","getFile","client","L","round","Date","now","data","search","details","results","getDirectoryContents","stat","ti","B","toLowerCase","I","dialogProps","dialogButtons","viewHeadline","savedPath","navigatedPath","currentPath","filteredFiles","noFilesDescription","onCreateFolder","createDirectory","then","catch","DialogBase","FileList","FilePickerBreadcrumbs","FilePickerNavigation","NcEmptyContent","description","m","setApp","build","setUid","uid","vt","_entries","registerEntry","validateEntry","push","unregisterEntry","getEntryIndex","splice","warn","entry","entries","getEntries","if","findIndex","iconSvgInline","iconClass","handler","Error","templateName","_nc_newfilemenu","debug","O","Ze","log","min","pow","toFixed","parseFloat","toLocaleString","DEFAULT","HIDDEN","Qe","_action","constructor","validateAction","enabled","exec","execBatch","order","inline","renderInline","Object","values","_nc_fileactions","find","error","action","ri","_nc_filelistheader","v","NONE","CREATE","READ","UPDATE","DELETE","SHARE","ALL","W","Y","nc","oc","ocs","$","_nc_dav_properties","_nc_dav_namespaces","keys","oi","ai","xt","Z","source","startsWith","crtime","permissions","owner","root","status","J","NEW","FAILED","LOADING","LOCKED","Q","_data","_attributes","_knownDavService","updateMtime","Reflect","deleteProperty","Proxy","replace","encodedSource","dirname","indexOf","pathname","isDavRessource","pop","move","rename","bt","Et","super","tt","et","li","headers","requesttoken","patch","method","di","includeSelf","filename","Nt","parse","lastmod","parseInt","getcontentlength","hasPreview","_views","_currentView","register","views","setActive","active","ui","_nc_navigation","_column","Tt","summary","RegExp","isExist","isEmptyObject","merge","getValue","isName","getAllMatches","startIndex","lastIndex","nameRegexp","It","allowBooleanAttributes","unpairedTags","q","U","substr","validate","assign","err","substring","Vt","Ct","index","code","msg","line","tagClosed","tagName","tagStartPos","col","Ft","JSON","stringify","Pt","$t","hasOwnProperty","it","preserveOrder","attributeNamePrefix","attributesGroupName","textNodeName","ignoreAttributes","removeNSPrefix","parseTagValue","parseAttributeValue","trimValues","cdataPropName","numberParseOptions","hex","leadingZeros","eNotation","tagValueProcessor","attributeValueProcessor","stopNodes","alwaysCreateTextNode","isArray","commentPropName","processEntities","htmlEntities","ignoreDeclaration","ignorePiTags","transformTagName","transformAttributeName","updateTag","buildOptions","defaultOptions","jt","Bt","qt","Ut","zt","Gt","Ht","Wt","Yt","Zt","decimalPoint","j","tagname","child","addChild","ee","entityName","val","regx","entities","ie","skipLike","test","Qt","re","lastEntities","regex","se","replaceEntitiesValue","S","oe","charAt","ae","le","resolveNameSpace","de","x","saveTextToParentTag","lastIndexOf","tagsNodeStack","D","tagExp","attrExpPresent","buildAttributesMap","closeIndex","docTypeEntities","parseTextData","rawTagName","isItStopNode","readStopNodeData","tagContent","ue","ce","ampEntity","he","pe","fe","ge","rt","ve","ye","Array","prettify","be","Ee","currentNode","apos","gt","lt","quot","space","cent","pound","yen","euro","copyright","reg","inr","addExternalEntities","parseXml","Ne","st","Oe","Ce","ot","X","_","indentBy","suppressUnpairedNode","suppressEmptyNode","endsWith","suppressBooleanAttributes","Se","format","Fe","oneListGroup","isAttribute","attrPrefixLen","ke","processTextOrObjNode","indentate","Ve","tagEndChar","newLine","j2x","buildTextValNode","attrStr","buildObjectNode","repeat","prototype","arrayNodeName","buildAttrPairStr","closeTag","H","XMLParser","externalEntities","toString","addEntity","XMLValidator","XMLBuilder","ci","_view","qe","caption","emptyTitle","emptyCaption","getContents","params","columns","emptyView","sticky","expanded","defaultSortKey","TypeError","Be","forEach","hi","fi","required","subline","iconUrl","computed","avatarUrl","getAvatarUrl","haveStatus","methods","user","directives","tooltip","mixins","autoComplete","Function","menuContainer","Element","multiline","contenteditable","maxlength","emojiAutocomplete","linkAutocomplete","textSmiles","tribute","autocompleteOptions","allowSpaces","fillAttr","lookup","menuItemTemplate","renderComponentHtml","original","noMatchTemplate","selectTemplate","genSelectTemplate","debouncedAutoComplete","emojiOptions","trigger","native","short_name","unshift","containerClass","itemClass","linkOptions","icon_url","getLink","localValue","isComposing","isEmptyValue","isFF","navigator","userAgent","isOverMaxlength","tooltipString","content","count","shown","canEdit","listeners","$listeners","paste","watch","$refs","innerHTML","parseContent","updateContent","mounted","autocompleteTribute","attach","emojiTribute","linkTribute","contentEditable","beforeDestroy","detach","focus","getElementById","createTextNode","replaceWith","setCursorAfter","updateValue","console","createRange","setEndAfter","collapse","getSelection","removeAllRanges","addRange","onInput","target","onPaste","preventDefault","clipboardData","items","getData","rangeCount","getRangeAt","deleteFromDocument","insertNode","setStart","endOffset","renderContent","onDelete","commonAncestorContainer","nodeType","startOffset","anchorNode","selectNodeContents","setEndBefore","anchorOffset","setEnd","cloneContents","lastChild","deleteContents","onEnter","isActive","onCtrlEnter","onKeyUp","stopImmediatePropagation","rawName","expression","compositionstart","compositionend","_k","keyCode","apply","arguments","ctrlKey","shiftKey","altKey","metaKey","components","NcReferenceWidget","text","referenceData","limit","references","isVisible","displayedReferences","firstReference","fetch","resolve","encodeURIComponent","post","openGraphObject","reference","rel","M","autolink","useMarkdown","url","flat","component","NcReferenceList","referenceLimit","markdownCssClasses","ol","ul","strong","em","h1","h2","h3","h4","h5","h6","hr","table","pre","blockquote","renderPlaintext","context","renderMarkdown","use","handlers","prefix","processSync","result","Symbol","toStringTag"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"3245-3245.js?v=f413ed246f2d418b1934","mappings":"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","sources":["webpack:///nextcloud/node_modules/@nextcloud/dialogs/dist/chunks/FilePicker-a12aa61b.mjs","webpack:///nextcloud/node_modules/@nextcloud/files/dist/index.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Components/NcRichContenteditable.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcRichText-1c3d2654.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/index.mjs"],"sourcesContent":["import { defineComponent as S, useSlots as X, ref as v, computed as m, watchEffect as q, toRef as Z, watch as O, onMounted as H, onUnmounted as J, nextTick as Q } from \"vue\";\nimport { NcButton as $, NcIconSvgWrapper as Y, NcModal as ee, NcCheckboxRadioSwitch as j, NcDateTime as te, NcActions as ie, NcActionInput as le, NcBreadcrumbs as ne, NcBreadcrumb as ae, NcSelect as se, NcTextField as oe, NcEmptyContent as re } from \"@nextcloud/vue\";\nimport { useElementSize as ce, toValue as U } from \"@vueuse/core\";\nimport { FileType as x, formatFileSize as ue, davGetClient as de, davResultToNode as D, davRootPath as M, getFavoriteNodes as pe, davGetRecentSearch as fe, davGetDefaultPropfind as me } from \"@nextcloud/files\";\nimport { getCanonicalLocale as _e } from \"@nextcloud/l10n\";\nimport { join as W } from \"path\";\nimport { t as _, s as ve } from \"./index-d73f5182.mjs\";\nimport { generateUrl as ge } from \"@nextcloud/router\";\nimport { Fragment as he } from \"vue-frag\";\nfunction g(e, i, t, l, n, s, c, u) {\n var a = typeof e == \"function\" ? e.options : e;\n i && (a.render = i, a.staticRenderFns = t, a._compiled = !0), l && (a.functional = !0), s && (a._scopeId = \"data-v-\" + s);\n var r;\n if (c ? (r = function(f) {\n f = f || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext, !f && typeof __VUE_SSR_CONTEXT__ < \"u\" && (f = __VUE_SSR_CONTEXT__), n && n.call(this, f), f && f._registeredComponents && f._registeredComponents.add(c);\n }, a._ssrRegister = r) : n && (r = u ? function() {\n n.call(this, (a.functional ? this.parent : this).$root.$options.shadowRoot);\n } : n), r)\n if (a.functional) {\n a._injectStyles = r;\n var d = a.render;\n a.render = function(f, k) {\n return r.call(k), d(f, k);\n };\n } else {\n var C = a.beforeCreate;\n a.beforeCreate = C ? [].concat(C, r) : [r];\n }\n return { exports: e, options: a };\n}\nconst ye = { name: \"FileIcon\", emits: [\"click\"], props: { title: { type: String }, fillColor: { type: String, default: \"currentColor\" }, size: { type: Number, default: 24 } } };\nvar we = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon file-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, Ce = [], ke = g(ye, we, Ce, !1, null, null, null, null);\nconst G = ke.exports, be = S({ __name: \"DialogButton\", props: { callback: null, label: null, icon: { default: void 0 }, type: { default: \"secondary\" } }, emits: [\"click\"], setup(e, { emit: i }) {\n const t = e;\n return { __sfc: !0, props: t, emit: i, handleClick: (l) => {\n var n;\n (n = t.callback) == null || n.call(t), i(\"click\", l);\n }, NcButton: $, NcIconSvgWrapper: Y };\n} });\nvar Se = function() {\n var e = this, i = e._self._c, t = e._self._setupProxy;\n return i(t.NcButton, { attrs: { \"aria-label\": t.props.label, type: t.props.type }, on: { click: t.handleClick }, scopedSlots: e._u([t.props.icon !== void 0 ? { key: \"icon\", fn: function() {\n return [typeof t.props.icon == \"string\" ? i(t.NcIconSvgWrapper, { attrs: { svg: t.props.icon } }) : i(t.props.icon, { tag: \"component\", attrs: { size: 20 } })];\n }, proxy: !0 } : null], null, !0) }, [e._v(\" \" + e._s(t.props.label) + \" \")]);\n}, Fe = [], Ne = g(be, Se, Fe, !1, null, null, null, null);\nconst xe = Ne.exports, ze = S({ __name: \"DialogBase\", props: { name: null, message: { default: \"\" }, additionalTrapElements: { default: () => [] }, container: { default: void 0 }, size: { default: \"small\" }, buttons: { default: () => [] }, navigationClasses: { default: () => [] }, contentClasses: { default: () => [] }, dialogClasses: { default: () => [] } }, emits: [\"close\"], setup(e, { emit: i }) {\n const t = e, l = X(), n = v(), { width: s } = ce(n), c = m(() => s.value < 876), u = m(() => (l == null ? void 0 : l.navigation) !== void 0), a = v(!0), r = () => {\n a.value = !1, i(\"close\");\n }, d = m(() => ({ additionalTrapElements: t.additionalTrapElements, container: t.container === void 0 ? \"body\" : t.container, name: t.name, size: t.size, enableSlideshow: !1, enableSwipe: !1 }));\n return { __sfc: !0, props: t, emit: i, slots: l, wrapper: n, dialogWidth: s, isNavigationCollapsed: c, hasNavigation: u, open: a, handleClose: r, modalProps: d, NcModal: ee, DialogButton: xe };\n} });\nvar Le = function() {\n var e = this, i = e._self._c, t = e._self._setupProxy;\n return t.open ? i(t.NcModal, e._b({ staticClass: \"dialog__modal\", on: { close: t.handleClose } }, \"NcModal\", t.modalProps, !1), [i(\"h2\", { staticClass: \"dialog__name\", domProps: { textContent: e._s(e.name) } }), i(\"div\", { staticClass: \"dialog\", class: e.dialogClasses }, [i(\"div\", { ref: \"wrapper\", class: [\"dialog__wrapper\", { \"dialog__wrapper--collapsed\": t.isNavigationCollapsed }] }, [t.hasNavigation ? i(\"nav\", { staticClass: \"dialog__navigation\", class: e.navigationClasses }, [e._t(\"navigation\", null, { isCollapsed: t.isNavigationCollapsed })], 2) : e._e(), i(\"div\", { staticClass: \"dialog__content\", class: e.contentClasses }, [e._t(\"default\", function() {\n return [i(\"p\", [e._v(e._s(t.props.message))])];\n })], 2)]), i(\"div\", { staticClass: \"dialog__actions\" }, [e._t(\"actions\", function() {\n return e._l(t.props.buttons, function(l, n) {\n return i(t.DialogButton, e._b({ key: n, on: { click: t.handleClose } }, \"DialogButton\", l, !1));\n });\n })], 2)])]) : e._e();\n}, Pe = [], Be = g(ze, Le, Pe, !1, null, \"d17575ed\", null, null);\nconst Ie = Be.exports, Ve = { name: \"MenuDownIcon\", emits: [\"click\"], props: { title: { type: String }, fillColor: { type: String, default: \"currentColor\" }, size: { type: Number, default: 24 } } };\nvar De = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon menu-down-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M7,10L12,15L17,10H7Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, Me = [], He = g(Ve, De, Me, !1, null, null, null, null);\nconst $e = He.exports, Re = { name: \"MenuUpIcon\", emits: [\"click\"], props: { title: { type: String }, fillColor: { type: String, default: \"currentColor\" }, size: { type: Number, default: 24 } } };\nvar Ae = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon menu-up-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M7,15L12,10L17,15H7Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, Te = [], Ee = g(Re, Ae, Te, !1, null, null, null, null);\nconst Ue = Ee.exports, K = { \"file-picker__file-icon\": \"_file-picker__file-icon_1vgv4_5\" }, Ze = S({ __name: \"LoadingTableRow\", props: { showCheckbox: { type: Boolean } }, setup(e) {\n return { __sfc: !0, fileListIconStyles: K };\n} });\nvar Oe = function() {\n var e = this, i = e._self._c, t = e._self._setupProxy;\n return i(\"tr\", { staticClass: \"file-picker__row loading-row\", attrs: { \"aria-hidden\": \"true\" } }, [e.showCheckbox ? i(\"td\", { staticClass: \"row-checkbox\" }, [i(\"span\")]) : e._e(), i(\"td\", { staticClass: \"row-name\" }, [i(\"div\", { staticClass: \"row-wrapper\" }, [i(\"span\", { class: t.fileListIconStyles[\"file-picker__file-icon\"] }), i(\"span\")])]), e._m(0), e._m(1)]);\n}, je = [function() {\n var e = this, i = e._self._c;\n return e._self._setupProxy, i(\"td\", { staticClass: \"row-size\" }, [i(\"span\")]);\n}, function() {\n var e = this, i = e._self._c;\n return e._self._setupProxy, i(\"td\", { staticClass: \"row-modified\" }, [i(\"span\")]);\n}], We = g(Ze, Oe, je, !1, null, \"6aded0d9\", null, null);\nconst Ge = We.exports;\nfunction Ke(e, i = {}) {\n var t;\n i = { size: 32, cropPreview: !1, mimeFallback: !0, ...i };\n try {\n const l = ((t = e.attributes) == null ? void 0 : t.previewUrl) || ge(\"/core/preview?fileId={fileid}\", { fileid: e.fileid });\n let n;\n try {\n n = new URL(l);\n } catch {\n n = new URL(l, window.location.origin);\n }\n return n.searchParams.set(\"x\", \"\".concat(i.size)), n.searchParams.set(\"y\", \"\".concat(i.size)), n.searchParams.set(\"mimeFallback\", \"\".concat(i.mimeFallback)), n.searchParams.set(\"a\", i.cropPreview === !0 ? \"0\" : \"1\"), n;\n } catch {\n return null;\n }\n}\nconst Xe = (e, i) => {\n const t = v(null);\n return q(() => {\n t.value = Ke(U(e), U(i || {}));\n }), { previewURL: t };\n}, qe = { name: \"FolderIcon\", emits: [\"click\"], props: { title: { type: String }, fillColor: { type: String, default: \"currentColor\" }, size: { type: Number, default: 24 } } };\nvar Je = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon folder-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, Qe = [], Ye = g(qe, Je, Qe, !1, null, null, null, null);\nconst R = Ye.exports, et = S({ __name: \"FilePreview\", props: { node: null }, setup(e) {\n const i = e, t = v(K), { previewURL: l } = Xe(Z(i, \"node\")), n = m(() => i.node.type === x.File), s = v(!1);\n return O(l, () => {\n if (s.value = !1, l.value) {\n const c = document.createElement(\"img\");\n c.src = l.value.href, c.onerror = () => c.remove(), c.onload = () => {\n s.value = !0, c.remove();\n }, document.body.appendChild(c);\n }\n }, { immediate: !0 }), { __sfc: !0, fileListIconStyles: t, props: i, previewURL: l, isFile: n, canLoadPreview: s, t: _, IconFile: G, IconFolder: R };\n} });\nvar tt = function() {\n var e = this, i = e._self._c, t = e._self._setupProxy;\n return i(\"div\", { class: t.fileListIconStyles[\"file-picker__file-icon\"], style: t.canLoadPreview ? { backgroundImage: \"url(\".concat(t.previewURL, \")\") } : void 0, attrs: { \"aria-label\": t.t(\"Mime type {mime}\", { mime: e.node.mime || t.t(\"unknown\") }) } }, [t.canLoadPreview ? e._e() : [t.isFile ? i(t.IconFile, { attrs: { size: 20 } }) : i(t.IconFolder, { attrs: { size: 20 } })]], 2);\n}, it = [], lt = g(et, tt, it, !1, null, null, null, null);\nconst nt = lt.exports, at = S({ __name: \"FileListRow\", props: { allowPickDirectory: { type: Boolean }, selected: { type: Boolean }, showCheckbox: { type: Boolean }, canPick: { type: Boolean }, node: null }, emits: [\"update:selected\", \"enter-directory\"], setup(e, { emit: i }) {\n const t = e, l = m(() => {\n var d;\n return ((d = t.node.attributes) == null ? void 0 : d.displayName) || t.node.basename.slice(0, t.node.extension ? -t.node.extension.length : void 0);\n }), n = m(() => t.node.extension), s = m(() => t.node.type === x.Folder), c = m(() => t.canPick && (t.allowPickDirectory || !s.value));\n function u() {\n i(\"update:selected\", !t.selected);\n }\n function a() {\n s.value ? i(\"enter-directory\", t.node) : u();\n }\n function r(d) {\n d.key === \"Enter\" && a();\n }\n return { __sfc: !0, props: t, emit: i, displayName: l, fileExtension: n, isDirectory: s, isPickable: c, toggleSelected: u, handleClick: a, handleKeyDown: r, formatFileSize: ue, NcCheckboxRadioSwitch: j, NcDateTime: te, t: _, FilePreview: nt };\n} });\nvar st = function() {\n var e = this, i = e._self._c, t = e._self._setupProxy;\n return i(\"tr\", e._g({ class: [\"file-picker__row\", { \"file-picker__row--selected\": e.selected && !e.showCheckbox }], attrs: { tabindex: e.showCheckbox && !t.isDirectory ? void 0 : 0, \"aria-selected\": t.isPickable ? e.selected : void 0, \"data-filename\": e.node.basename, \"data-testid\": \"file-list-row\" }, on: { click: t.handleClick } }, !e.showCheckbox || t.isDirectory ? { keydown: t.handleKeyDown } : {}), [e.showCheckbox ? i(\"td\", { staticClass: \"row-checkbox\" }, [i(t.NcCheckboxRadioSwitch, { attrs: { disabled: !t.isPickable, checked: e.selected, \"aria-label\": t.t(\"Select the row for {nodename}\", { nodename: t.displayName }), \"data-testid\": \"row-checkbox\" }, on: { click: function(l) {\n l.stopPropagation();\n }, \"update:checked\": t.toggleSelected } })], 1) : e._e(), i(\"td\", { staticClass: \"row-name\" }, [i(\"div\", { staticClass: \"file-picker__name-container\", attrs: { \"data-testid\": \"row-name\" } }, [i(t.FilePreview, { attrs: { node: e.node } }), i(\"div\", { staticClass: \"file-picker__file-name\", attrs: { title: t.displayName }, domProps: { textContent: e._s(t.displayName) } }), i(\"div\", { staticClass: \"file-picker__file-extension\", domProps: { textContent: e._s(t.fileExtension) } })], 1)]), i(\"td\", { staticClass: \"row-size\" }, [e._v(\" \" + e._s(t.formatFileSize(e.node.size || 0)) + \" \")]), i(\"td\", { staticClass: \"row-modified\" }, [i(t.NcDateTime, { attrs: { timestamp: e.node.mtime, \"ignore-seconds\": !0 } })], 1)]);\n}, ot = [], rt = g(at, st, ot, !1, null, \"d337ebac\", null, null);\nconst ct = rt.exports, ut = S({ __name: \"FileList\", props: { multiselect: { type: Boolean }, allowPickDirectory: { type: Boolean }, loading: { type: Boolean }, files: null, selectedFiles: null, path: null }, emits: [\"update:path\", \"update:selectedFiles\"], setup(e, { emit: i }) {\n const t = e, l = v(\"ascending\"), n = v(void 0), s = v(void 0), c = { ascending: (o, p, w) => w(o, p), descending: (o, p, w) => w(p, o), none: (o, p, w) => 0 }, u = (o, p) => {\n var w, N;\n return (((w = o.attributes) == null ? void 0 : w.displayName) || o.basename).localeCompare(((N = p.attributes) == null ? void 0 : N.displayName) || p.basename, _e());\n }, a = (o, p) => (p.size || 0) - (o.size || 0), r = (o, p) => {\n var w, N;\n return (((w = o.mtime) == null ? void 0 : w.getTime()) || 0) - (((N = p.mtime) == null ? void 0 : N.getTime()) || 0);\n }, d = (o) => {\n const p = o.value;\n s.value = n.value = l.value = void 0, p === \"ascending\" ? o.value = \"descending\" : o.value = \"ascending\";\n }, C = () => d(l), f = () => d(n), k = () => d(s), b = m(() => [...t.files].sort((o, p) => (p.type === x.Folder ? 1 : 0) - (o.type === x.Folder ? 1 : 0) || c[l.value || \"none\"](o, p, u) || c[n.value || \"none\"](o, p, a) || c[s.value || \"none\"](o, p, r))), F = m(() => t.files.filter((o) => t.allowPickDirectory || o.type !== x.Folder)), z = m(() => !t.loading && t.selectedFiles.length > 0 && t.selectedFiles.length >= F.value.length);\n function L() {\n t.selectedFiles.length < F.value.length ? i(\"update:selectedFiles\", F.value) : i(\"update:selectedFiles\", []);\n }\n function B(o) {\n t.selectedFiles.includes(o) ? i(\"update:selectedFiles\", t.selectedFiles.filter((p) => p.path !== o.path)) : t.multiselect ? i(\"update:selectedFiles\", [...t.selectedFiles, o]) : i(\"update:selectedFiles\", [o]);\n }\n function I(o) {\n i(\"update:path\", W(t.path, o.basename));\n }\n const h = v(4), y = v();\n {\n const o = () => Q(() => {\n var p, w, N, A, T;\n const V = ((w = (p = y.value) == null ? void 0 : p.parentElement) == null ? void 0 : w.children) || [];\n let E = ((A = (N = y.value) == null ? void 0 : N.parentElement) == null ? void 0 : A.clientHeight) || 450;\n for (let P = 0; P < V.length; P++)\n (T = y.value) != null && T.isSameNode(V[P]) || (E -= V[P].clientHeight);\n h.value = Math.floor((E - 50) / 50);\n });\n H(() => {\n window.addEventListener(\"resize\", o), o();\n }), J(() => {\n window.removeEventListener(\"resize\", o);\n });\n }\n return { __sfc: !0, props: t, emit: i, sortByName: l, sortBySize: n, sortByModified: s, ordering: c, byName: u, bySize: a, byDate: r, toggleSorting: d, toggleSortByName: C, toggleSortBySize: f, toggleSortByModified: k, sortedFiles: b, selectableFiles: F, allSelected: z, onSelectAll: L, onNodeSelected: B, onChangeDirectory: I, skeletonNumber: h, fileContainer: y, NcButton: $, NcCheckboxRadioSwitch: j, t: _, IconSortAscending: $e, IconSortDescending: Ue, LoadingTableRow: Ge, FileListRow: ct };\n} });\nvar dt = function() {\n var e = this, i = e._self._c, t = e._self._setupProxy;\n return i(\"div\", { ref: \"fileContainer\", staticClass: \"file-picker__files\" }, [i(\"table\", [i(\"thead\", [i(\"tr\", [e.multiselect ? i(\"th\", { staticClass: \"row-checkbox\" }, [i(\"span\", { staticClass: \"hidden-visually\" }, [e._v(\" \" + e._s(t.t(\"Select entry\")) + \" \")]), e.multiselect ? i(t.NcCheckboxRadioSwitch, { attrs: { \"aria-label\": t.t(\"Select all entries\"), checked: t.allSelected, \"data-testid\": \"select-all-checkbox\" }, on: { \"update:checked\": t.onSelectAll } }) : e._e()], 1) : e._e(), i(\"th\", { staticClass: \"row-name\", attrs: { \"aria-sort\": t.sortByName } }, [i(\"div\", { staticClass: \"header-wrapper\" }, [i(\"span\", { staticClass: \"file-picker__header-preview\" }), i(t.NcButton, { attrs: { wide: !0, type: \"tertiary\", \"data-test\": \"file-picker_sort-name\" }, on: { click: t.toggleSortByName }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [t.sortByName === \"ascending\" ? i(t.IconSortAscending, { attrs: { size: 20 } }) : t.sortByName === \"descending\" ? i(t.IconSortDescending, { attrs: { size: 20 } }) : i(\"span\", { staticStyle: { width: \"44px\" } })];\n }, proxy: !0 }]) }, [e._v(\" \" + e._s(t.t(\"Name\")) + \" \")])], 1)]), i(\"th\", { staticClass: \"row-size\", attrs: { \"aria-sort\": t.sortBySize } }, [i(t.NcButton, { attrs: { wide: !0, type: \"tertiary\" }, on: { click: t.toggleSortBySize }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [t.sortBySize === \"ascending\" ? i(t.IconSortAscending, { attrs: { size: 20 } }) : t.sortBySize === \"descending\" ? i(t.IconSortDescending, { attrs: { size: 20 } }) : i(\"span\", { staticStyle: { width: \"44px\" } })];\n }, proxy: !0 }]) }, [e._v(\" \" + e._s(t.t(\"Size\")) + \" \")])], 1), i(\"th\", { staticClass: \"row-modified\", attrs: { \"aria-sort\": t.sortByModified } }, [i(t.NcButton, { attrs: { wide: !0, type: \"tertiary\" }, on: { click: t.toggleSortByModified }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [t.sortByModified === \"ascending\" ? i(t.IconSortAscending, { attrs: { size: 20 } }) : t.sortByModified === \"descending\" ? i(t.IconSortDescending, { attrs: { size: 20 } }) : i(\"span\", { staticStyle: { width: \"44px\" } })];\n }, proxy: !0 }]) }, [e._v(\" \" + e._s(t.t(\"Modified\")) + \" \")])], 1)])]), i(\"tbody\", [e.loading ? e._l(t.skeletonNumber, function(l) {\n return i(t.LoadingTableRow, { key: l, attrs: { \"show-checkbox\": e.multiselect } });\n }) : e._l(t.sortedFiles, function(l) {\n return i(t.FileListRow, { key: l.fileid || l.path, attrs: { \"allow-pick-directory\": e.allowPickDirectory, \"show-checkbox\": e.multiselect, \"can-pick\": e.multiselect || e.selectedFiles.length === 0 || e.selectedFiles.includes(l), selected: e.selectedFiles.includes(l), node: l }, on: { \"update:selected\": function(n) {\n return t.onNodeSelected(l);\n }, \"enter-directory\": t.onChangeDirectory } });\n })], 2)])]);\n}, pt = [], ft = g(ut, dt, pt, !1, null, \"87fafd7e\", null, null);\nconst mt = ft.exports, _t = { name: \"HomeIcon\", emits: [\"click\"], props: { title: { type: String }, fillColor: { type: String, default: \"currentColor\" }, size: { type: Number, default: 24 } } };\nvar vt = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon home-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M10,20V14H14V20H19V12H22L12,3L2,12H5V20H10Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, gt = [], ht = g(_t, vt, gt, !1, null, null, null, null);\nconst yt = ht.exports, wt = { name: \"PlusIcon\", emits: [\"click\"], props: { title: { type: String }, fillColor: { type: String, default: \"currentColor\" }, size: { type: Number, default: 24 } } };\nvar Ct = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon plus-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, kt = [], bt = g(wt, Ct, kt, !1, null, null, null, null);\nconst St = bt.exports, Ft = S({ __name: \"FilePickerBreadcrumbs\", props: { path: null, showMenu: { type: Boolean } }, emits: [\"update:path\", \"create-node\"], setup(e, { emit: i }) {\n const t = e, l = v(\"\"), n = v();\n function s() {\n var a, r, d, C;\n const f = l.value.trim(), k = (r = (a = n.value) == null ? void 0 : a.$el) == null ? void 0 : r.querySelector(\"input\");\n let b = \"\";\n return f.length === 0 ? b = _(\"File name cannot be empty.\") : f.includes(\"/\") ? b = _('\"/\" is not allowed inside a file name.') : [\"..\", \".\"].includes(f) ? b = _('\"{name}\" is an invalid file name.', { name: f }) : (d = window.OC.config) != null && d.blacklist_files_regex && f.match((C = window.OC.config) == null ? void 0 : C.blacklist_files_regex) && (b = _('\"{name}\" is not an allowed filetype', { name: f })), k && k.setCustomValidity(b), b === \"\";\n }\n const c = function() {\n const a = l.value.trim();\n s() && (i(\"create-node\", a), l.value = \"\");\n }, u = m(() => t.path.split(\"/\").filter((a) => a !== \"\").map((a, r, d) => ({ name: a, path: \"/\" + d.slice(0, r + 1).join(\"/\") })));\n return { __sfc: !0, props: t, emit: i, newNodeName: l, nameInput: n, validateInput: s, onSubmit: c, pathElements: u, IconFolder: R, IconHome: yt, IconPlus: St, NcActions: ie, NcActionInput: le, NcBreadcrumbs: ne, NcBreadcrumb: ae, t: _ };\n} });\nvar Nt = function() {\n var e = this, i = e._self._c, t = e._self._setupProxy;\n return i(t.NcBreadcrumbs, { staticClass: \"file-picker__breadcrumbs\", scopedSlots: e._u([{ key: \"default\", fn: function() {\n return [i(t.NcBreadcrumb, { attrs: { name: t.t(\"Home\"), title: t.t(\"Home\") }, on: { click: function(l) {\n return t.emit(\"update:path\", \"/\");\n } }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [i(t.IconHome, { attrs: { size: 20 } })];\n }, proxy: !0 }]) }), e._l(t.pathElements, function(l) {\n return i(t.NcBreadcrumb, { key: l.path, attrs: { name: l.name, title: l.path }, on: { click: function(n) {\n return t.emit(\"update:path\", l.path);\n } } });\n })];\n }, proxy: !0 }, e.showMenu ? { key: \"actions\", fn: function() {\n return [i(t.NcActions, { attrs: { \"aria-label\": t.t(\"Create directory\"), \"force-menu\": !0, \"force-name\": !0, \"menu-name\": t.t(\"New\"), type: \"secondary\" }, on: { close: function(l) {\n t.newNodeName = \"\";\n } }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [i(t.IconPlus, { attrs: { size: 20 } })];\n }, proxy: !0 }], null, !1, 2971667417) }, [i(t.NcActionInput, { ref: \"nameInput\", attrs: { value: t.newNodeName, label: t.t(\"New folder\"), placeholder: t.t(\"New folder name\") }, on: { \"update:value\": function(l) {\n t.newNodeName = l;\n }, submit: t.onSubmit, input: t.validateInput }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [i(t.IconFolder, { attrs: { size: 20 } })];\n }, proxy: !0 }], null, !1, 1614167509) })], 1)];\n }, proxy: !0 } : null], null, !0) });\n}, xt = [], zt = g(Ft, Nt, xt, !1, null, \"d35aa423\", null, null);\nconst Lt = zt.exports, Pt = { name: \"ClockIcon\", emits: [\"click\"], props: { title: { type: String }, fillColor: { type: String, default: \"currentColor\" }, size: { type: Number, default: 24 } } };\nvar Bt = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon clock-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M16.2,16.2L11,13V7H12.5V12.2L17,14.9L16.2,16.2Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, It = [], Vt = g(Pt, Bt, It, !1, null, null, null, null);\nconst Dt = Vt.exports, Mt = { name: \"CloseIcon\", emits: [\"click\"], props: { title: { type: String }, fillColor: { type: String, default: \"currentColor\" }, size: { type: Number, default: 24 } } };\nvar Ht = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon close-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, $t = [], Rt = g(Mt, Ht, $t, !1, null, null, null, null);\nconst At = Rt.exports, Tt = { name: \"MagnifyIcon\", emits: [\"click\"], props: { title: { type: String }, fillColor: { type: String, default: \"currentColor\" }, size: { type: Number, default: 24 } } };\nvar Et = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon magnify-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, Ut = [], Zt = g(Tt, Et, Ut, !1, null, null, null, null);\nconst Ot = Zt.exports, jt = { name: \"StarIcon\", emits: [\"click\"], props: { title: { type: String }, fillColor: { type: String, default: \"currentColor\" }, size: { type: Number, default: 24 } } };\nvar Wt = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon star-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, Gt = [], Kt = g(jt, Wt, Gt, !1, null, null, null, null);\nconst Xt = Kt.exports, qt = S({ __name: \"FilePickerNavigation\", props: { currentView: null, filterString: null, isCollapsed: { type: Boolean } }, emits: [\"update:currentView\", \"update:filterString\"], setup(e, { emit: i }) {\n const t = e, l = [{ id: \"files\", label: _(\"All files\"), icon: R }, { id: \"recent\", label: _(\"Recent\"), icon: Dt }, { id: \"favorites\", label: _(\"Favorites\"), icon: Xt }], n = m(() => l.filter((s) => s.id === t.currentView)[0]);\n return { __sfc: !0, allViews: l, props: t, emit: i, currentViewObject: n, updateFilterValue: (s) => i(\"update:filterString\", s), IconClose: At, IconMagnify: Ot, NcButton: $, NcSelect: se, NcTextField: oe, t: _, Fragment: he };\n} });\nvar Jt = function() {\n var e = this, i = e._self._c, t = e._self._setupProxy;\n return i(t.Fragment, [i(t.NcTextField, { staticClass: \"file-picker__filter-input\", attrs: { value: e.filterString, label: t.t(\"Filter file list\"), \"show-trailing-button\": !!e.filterString }, on: { \"update:value\": t.updateFilterValue, \"trailing-button-click\": function(l) {\n return t.updateFilterValue(\"\");\n } }, scopedSlots: e._u([{ key: \"trailing-button-icon\", fn: function() {\n return [i(t.IconClose, { attrs: { size: 16 } })];\n }, proxy: !0 }]) }, [i(t.IconMagnify, { attrs: { size: 16 } })], 1), e.isCollapsed ? i(t.NcSelect, { attrs: { \"aria-label\": t.t(\"Current view selector\"), clearable: !1, searchable: !1, options: t.allViews, value: t.currentViewObject }, on: { input: (l) => t.emit(\"update:currentView\", l.id) } }) : i(\"ul\", { staticClass: \"file-picker__side\", attrs: { role: \"tablist\", \"aria-label\": t.t(\"Filepicker sections\") } }, e._l(t.allViews, function(l) {\n return i(\"li\", { key: l.id }, [i(t.NcButton, { attrs: { \"aria-selected\": e.currentView === l.id, type: e.currentView === l.id ? \"primary\" : \"tertiary\", wide: !0, role: \"tab\" }, on: { click: function(n) {\n return e.$emit(\"update:currentView\", l.id);\n } }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [i(l.icon, { tag: \"component\", attrs: { size: 20 } })];\n }, proxy: !0 }], null, !0) }, [e._v(\" \" + e._s(l.label) + \" \")])], 1);\n }), 0)], 1);\n}, Qt = [], Yt = g(qt, Jt, Qt, !1, null, \"fcfd0f23\", null, null);\nconst ei = Yt.exports, ti = function(e, i) {\n const t = de(), l = v([]), n = v(!0);\n async function s(u, a = M) {\n const r = await t.stat(\"\".concat(a).concat(u), { details: !0 });\n return D(r.data);\n }\n async function c() {\n if (n.value = !0, e.value === \"favorites\")\n l.value = await pe(t, i.value);\n else if (e.value === \"recent\") {\n const u = Math.round(Date.now() / 1e3) - 1209600, { data: a } = await t.search(\"/\", { details: !0, data: fe(u) });\n l.value = a.results.map((r) => D(r));\n } else {\n const u = await t.getDirectoryContents(\"\".concat(M).concat(i.value), { details: !0, data: me() });\n l.value = u.data.map((a) => D(a));\n }\n n.value = !1;\n }\n return O([e, i], () => c()), H(() => c()), { isLoading: n, files: l, loadFiles: () => c(), getFile: s, client: t };\n}, ii = function(e) {\n const i = m(() => e.value.map((t) => t.split(\"/\")));\n return { isSupportedMimeType: (t) => {\n const l = t.split(\"/\");\n return i.value.some(([n, s]) => (l[0] === n || n === \"*\") && (l[1] === s || s === \"*\"));\n } };\n}, li = { name: \"FilePicker\" }, ni = S({ ...li, props: { buttons: null, name: null, allowPickDirectory: { type: Boolean, default: !1 }, container: { default: \"body\" }, filterFn: { default: void 0 }, mimetypeFilter: { default: () => [] }, multiselect: { type: Boolean, default: !0 }, path: { default: \"/\" } }, emits: [\"close\"], setup(e, { emit: i }) {\n const t = e, l = m(() => ({ container: t.container, name: t.name, buttons: n.value, size: \"large\", contentClasses: [\"file-picker__content\"], dialogClasses: [\"file-picker\"], navigationClasses: [\"file-picker__navigation\"] })), n = m(() => (typeof t.buttons == \"function\" ? t.buttons(u.value, d.value, s.value) : t.buttons).map((h) => ({ ...h, callback: async () => {\n const y = u.value.length === 0 && t.allowPickDirectory ? [await z(d.value)] : u.value;\n h.callback(y), i(\"close\", u.value);\n } }))), s = v(\"files\"), c = m(() => s.value === \"favorites\" ? _(\"Favorites\") : s.value === \"recent\" ? _(\"Recent\") : \"\"), u = v([]), a = v((window == null ? void 0 : window.sessionStorage.getItem(\"NC.FilePicker.LastPath\")) || \"/\"), r = v(), d = m({ get: () => s.value === \"files\" ? r.value || t.path || a.value : \"/\", set: (h) => {\n t.path === void 0 && window.sessionStorage.setItem(\"NC.FilePicker.LastPath\", h), r.value = h, u.value = [];\n } }), C = v(\"\"), { isSupportedMimeType: f } = ii(Z(t, \"mimetypeFilter\")), { files: k, isLoading: b, loadFiles: F, getFile: z, client: L } = ti(s, d);\n H(() => F());\n const B = m(() => {\n let h = k.value;\n return t.mimetypeFilter.length > 0 && (h = h.filter((y) => y.type === \"folder\" || y.mime && f(y.mime))), C.value && (h = h.filter((y) => y.basename.toLowerCase().includes(C.value.toLowerCase()))), t.filterFn && (h = h.filter((y) => t.filterFn(y))), h;\n }), I = m(() => s.value === \"files\" ? _(\"Upload some content or sync with your devices!\") : s.value === \"recent\" ? _(\"Files and folders you recently modified will show up here.\") : _(\"Files and folders you mark as favorite will show up here.\"));\n return { __sfc: !0, props: t, emit: i, dialogProps: l, dialogButtons: n, currentView: s, viewHeadline: c, selectedFiles: u, savedPath: a, navigatedPath: r, currentPath: d, filterString: C, isSupportedMimeType: f, files: k, isLoading: b, loadFiles: F, getFile: z, client: L, filteredFiles: B, noFilesDescription: I, onCreateFolder: (h) => {\n L.createDirectory(W(M, d.value, h)).then(() => F()).catch((y) => ve(_(\"Could not create the new folder\")));\n }, IconFile: G, DialogBase: Ie, FileList: mt, FilePickerBreadcrumbs: Lt, FilePickerNavigation: ei, NcEmptyContent: re, t: _ };\n} });\nvar ai = function() {\n var e = this, i = e._self._c, t = e._self._setupProxy;\n return i(t.DialogBase, e._b({ on: { close: function(l) {\n return t.emit(\"close\");\n } }, scopedSlots: e._u([{ key: \"navigation\", fn: function({ isCollapsed: l }) {\n return [i(t.FilePickerNavigation, { attrs: { \"is-collapsed\": l, \"current-view\": t.currentView, \"filter-string\": t.filterString }, on: { \"update:currentView\": function(n) {\n t.currentView = n;\n }, \"update:current-view\": function(n) {\n t.currentView = n;\n }, \"update:filterString\": function(n) {\n t.filterString = n;\n }, \"update:filter-string\": function(n) {\n t.filterString = n;\n } } })];\n } }]) }, \"DialogBase\", t.dialogProps, !1), [i(\"div\", { staticClass: \"file-picker__main\" }, [t.currentView === \"files\" ? i(t.FilePickerBreadcrumbs, { attrs: { path: t.currentPath, \"show-menu\": e.allowPickDirectory }, on: { \"update:path\": function(l) {\n t.currentPath = l;\n }, \"create-node\": t.onCreateFolder } }) : i(\"div\", { staticClass: \"file-picker__view\" }, [i(\"h3\", [e._v(e._s(t.viewHeadline))])]), t.isLoading || t.filteredFiles.length > 0 ? i(t.FileList, { attrs: { \"allow-pick-directory\": e.allowPickDirectory, files: t.filteredFiles, multiselect: e.multiselect, loading: t.isLoading, path: t.currentPath, \"selected-files\": t.selectedFiles, name: t.viewHeadline }, on: { \"update:path\": [function(l) {\n t.currentPath = l;\n }, function(l) {\n t.currentView = \"files\";\n }], \"update:selectedFiles\": function(l) {\n t.selectedFiles = l;\n }, \"update:selected-files\": function(l) {\n t.selectedFiles = l;\n } } }) : t.filterString ? i(t.NcEmptyContent, { attrs: { name: t.t(\"No matching files\"), description: t.t(\"No files matching your filter were found.\") }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [i(t.IconFile)];\n }, proxy: !0 }]) }) : i(t.NcEmptyContent, { attrs: { name: t.t(\"No files in here\"), description: t.noFilesDescription }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [i(t.IconFile)];\n }, proxy: !0 }]) })], 1)]);\n}, si = [], oi = g(ni, ai, si, !1, null, \"3e8ab6c4\", null, null);\nconst gi = oi.exports;\nexport {\n gi as default\n};\n","import { getCurrentUser as T, getRequestToken as at } from \"@nextcloud/auth\";\nimport { getLoggerBuilder as M } from \"@nextcloud/logger\";\nimport { getCanonicalLocale as lt } from \"@nextcloud/l10n\";\nimport { join as dt, basename as ut, extname as ct, dirname as A } from \"path\";\nimport { encodePath as ht } from \"@nextcloud/paths\";\nimport { generateRemoteUrl as pt } from \"@nextcloud/router\";\nimport { createClient as ft, getPatcher as gt } from \"webdav\";\nimport { request as mt } from \"webdav/dist/node/request.js\";\nconst wt = (t) => t === null ? M().setApp(\"files\").build() : M().setApp(\"files\").setUid(t.uid).build(), m = wt(T());\nclass vt {\n _entries = [];\n registerEntry(e) {\n this.validateEntry(e), this._entries.push(e);\n }\n unregisterEntry(e) {\n const i = typeof e == \"string\" ? this.getEntryIndex(e) : this.getEntryIndex(e.id);\n if (i === -1) {\n m.warn(\"Entry not found, nothing removed\", { entry: e, entries: this.getEntries() });\n return;\n }\n this._entries.splice(i, 1);\n }\n getEntries(e) {\n return e ? this._entries.filter((i) => typeof i.if == \"function\" ? i.if(e) : !0) : this._entries;\n }\n getEntryIndex(e) {\n return this._entries.findIndex((i) => i.id === e);\n }\n validateEntry(e) {\n if (!e.id || !e.displayName || !(e.iconSvgInline || e.iconClass || e.handler))\n throw new Error(\"Invalid entry\");\n if (typeof e.id != \"string\" || typeof e.displayName != \"string\")\n throw new Error(\"Invalid id or displayName property\");\n if (e.iconClass && typeof e.iconClass != \"string\" || e.iconSvgInline && typeof e.iconSvgInline != \"string\")\n throw new Error(\"Invalid icon provided\");\n if (e.if !== void 0 && typeof e.if != \"function\")\n throw new Error(\"Invalid if property\");\n if (e.templateName && typeof e.templateName != \"string\")\n throw new Error(\"Invalid templateName property\");\n if (e.handler && typeof e.handler != \"function\")\n throw new Error(\"Invalid handler property\");\n if (!e.templateName && !e.handler)\n throw new Error(\"At least a templateName or a handler must be provided\");\n if (this.getEntryIndex(e.id) !== -1)\n throw new Error(\"Duplicate entry\");\n }\n}\nconst F = function() {\n return typeof window._nc_newfilemenu > \"u\" && (window._nc_newfilemenu = new vt(), m.debug(\"NewFileMenu initialized\")), window._nc_newfilemenu;\n}, P = [\"B\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\"], O = [\"B\", \"KiB\", \"MiB\", \"GiB\", \"TiB\", \"PiB\"];\nfunction Ze(t, e = !1, i = !0) {\n typeof t == \"string\" && (t = Number(t));\n let r = t > 0 ? Math.floor(Math.log(t) / Math.log(i ? 1024 : 1e3)) : 0;\n r = Math.min((i ? O.length : P.length) - 1, r);\n const n = i ? O[r] : P[r];\n let s = (t / Math.pow(i ? 1024 : 1e3, r)).toFixed(1);\n return e === !0 && r === 0 ? (s !== \"0.0\" ? \"< 1 \" : \"0 \") + (i ? O[1] : P[1]) : (r < 2 ? s = parseFloat(s).toFixed(0) : s = parseFloat(s).toLocaleString(lt()), s + \" \" + n);\n}\nfunction Je(t, e = !1) {\n try {\n t = `${t}`.toLocaleLowerCase().replaceAll(/\\s+/g, \"\").replaceAll(\",\", \".\");\n } catch {\n return null;\n }\n const i = t.match(/^([0-9]*(\\.[0-9]*)?)([kmgtp]?)(i?)b?$/);\n if (i === null || i[1] === \".\" || i[1] === \"\")\n return null;\n const r = { \"\": 0, k: 1, m: 2, g: 3, t: 4, p: 5, e: 6 }, n = `${i[1]}`, s = i[4] === \"i\" || e ? 1024 : 1e3;\n return Math.round(Number.parseFloat(n) * s ** r[i[3]]);\n}\nvar K = ((t) => (t.DEFAULT = \"default\", t.HIDDEN = \"hidden\", t))(K || {});\nclass Qe {\n _action;\n constructor(e) {\n this.validateAction(e), this._action = e;\n }\n get id() {\n return this._action.id;\n }\n get displayName() {\n return this._action.displayName;\n }\n get title() {\n return this._action.title;\n }\n get iconSvgInline() {\n return this._action.iconSvgInline;\n }\n get enabled() {\n return this._action.enabled;\n }\n get exec() {\n return this._action.exec;\n }\n get execBatch() {\n return this._action.execBatch;\n }\n get order() {\n return this._action.order;\n }\n get default() {\n return this._action.default;\n }\n get inline() {\n return this._action.inline;\n }\n get renderInline() {\n return this._action.renderInline;\n }\n validateAction(e) {\n if (!e.id || typeof e.id != \"string\")\n throw new Error(\"Invalid id\");\n if (!e.displayName || typeof e.displayName != \"function\")\n throw new Error(\"Invalid displayName function\");\n if (\"title\" in e && typeof e.title != \"function\")\n throw new Error(\"Invalid title function\");\n if (!e.iconSvgInline || typeof e.iconSvgInline != \"function\")\n throw new Error(\"Invalid iconSvgInline function\");\n if (!e.exec || typeof e.exec != \"function\")\n throw new Error(\"Invalid exec function\");\n if (\"enabled\" in e && typeof e.enabled != \"function\")\n throw new Error(\"Invalid enabled function\");\n if (\"execBatch\" in e && typeof e.execBatch != \"function\")\n throw new Error(\"Invalid execBatch function\");\n if (\"order\" in e && typeof e.order != \"number\")\n throw new Error(\"Invalid order\");\n if (e.default && !Object.values(K).includes(e.default))\n throw new Error(\"Invalid default\");\n if (\"inline\" in e && typeof e.inline != \"function\")\n throw new Error(\"Invalid inline function\");\n if (\"renderInline\" in e && typeof e.renderInline != \"function\")\n throw new Error(\"Invalid renderInline function\");\n }\n}\nconst ti = function(t) {\n if (typeof window._nc_fileactions > \"u\" && (window._nc_fileactions = [], m.debug(\"FileActions initialized\")), window._nc_fileactions.find((e) => e.id === t.id)) {\n m.error(`FileAction ${t.id} already registered`, { action: t });\n return;\n }\n window._nc_fileactions.push(t);\n}, ei = function() {\n return typeof window._nc_fileactions > \"u\" && (window._nc_fileactions = [], m.debug(\"FileActions initialized\")), window._nc_fileactions;\n};\nclass ii {\n _header;\n constructor(e) {\n this.validateHeader(e), this._header = e;\n }\n get id() {\n return this._header.id;\n }\n get order() {\n return this._header.order;\n }\n get enabled() {\n return this._header.enabled;\n }\n get render() {\n return this._header.render;\n }\n get updated() {\n return this._header.updated;\n }\n validateHeader(e) {\n if (!e.id || !e.render || !e.updated)\n throw new Error(\"Invalid header: id, render and updated are required\");\n if (typeof e.id != \"string\")\n throw new Error(\"Invalid id property\");\n if (e.enabled !== void 0 && typeof e.enabled != \"function\")\n throw new Error(\"Invalid enabled property\");\n if (e.render && typeof e.render != \"function\")\n throw new Error(\"Invalid render property\");\n if (e.updated && typeof e.updated != \"function\")\n throw new Error(\"Invalid updated property\");\n }\n}\nconst ni = function(t) {\n if (typeof window._nc_filelistheader > \"u\" && (window._nc_filelistheader = [], m.debug(\"FileListHeaders initialized\")), window._nc_filelistheader.find((e) => e.id === t.id)) {\n m.error(`Header ${t.id} already registered`, { header: t });\n return;\n }\n window._nc_filelistheader.push(t);\n}, ri = function() {\n return typeof window._nc_filelistheader > \"u\" && (window._nc_filelistheader = [], m.debug(\"FileListHeaders initialized\")), window._nc_filelistheader;\n};\nvar v = ((t) => (t[t.NONE = 0] = \"NONE\", t[t.CREATE = 4] = \"CREATE\", t[t.READ = 1] = \"READ\", t[t.UPDATE = 2] = \"UPDATE\", t[t.DELETE = 8] = \"DELETE\", t[t.SHARE = 16] = \"SHARE\", t[t.ALL = 31] = \"ALL\", t))(v || {});\nconst W = [\"d:getcontentlength\", \"d:getcontenttype\", \"d:getetag\", \"d:getlastmodified\", \"d:quota-available-bytes\", \"d:resourcetype\", \"nc:has-preview\", \"nc:is-encrypted\", \"nc:mount-type\", \"nc:share-attributes\", \"oc:comments-unread\", \"oc:favorite\", \"oc:fileid\", \"oc:owner-display-name\", \"oc:owner-id\", \"oc:permissions\", \"oc:share-types\", \"oc:size\", \"ocs:share-permissions\"], Y = { d: \"DAV:\", nc: \"http://nextcloud.org/ns\", oc: \"http://owncloud.org/ns\", ocs: \"http://open-collaboration-services.org/ns\" }, si = function(t, e = { nc: \"http://nextcloud.org/ns\" }) {\n typeof window._nc_dav_properties > \"u\" && (window._nc_dav_properties = [...W], window._nc_dav_namespaces = { ...Y });\n const i = { ...window._nc_dav_namespaces, ...e };\n if (window._nc_dav_properties.find((n) => n === t))\n return m.error(`${t} already registered`, { prop: t }), !1;\n if (t.startsWith(\"<\") || t.split(\":\").length !== 2)\n return m.error(`${t} is not valid. See example: 'oc:fileid'`, { prop: t }), !1;\n const r = t.split(\":\")[0];\n return i[r] ? (window._nc_dav_properties.push(t), window._nc_dav_namespaces = i, !0) : (m.error(`${t} namespace unknown`, { prop: t, namespaces: i }), !1);\n}, $ = function() {\n return typeof window._nc_dav_properties > \"u\" && (window._nc_dav_properties = [...W]), window._nc_dav_properties.map((t) => `<${t} />`).join(\" \");\n}, V = function() {\n return typeof window._nc_dav_namespaces > \"u\" && (window._nc_dav_namespaces = { ...Y }), Object.keys(window._nc_dav_namespaces).map((t) => `xmlns:${t}=\"${window._nc_dav_namespaces?.[t]}\"`).join(\" \");\n}, oi = function() {\n return `\n\t\t\n\t\t\t\n\t\t\t\t${$()}\n\t\t\t\n\t\t`;\n}, yt = function() {\n return `\n\t\t\n\t\t\t\n\t\t\t\t${$()}\n\t\t\t\n\t\t\t\n\t\t\t\t1\n\t\t\t\n\t\t`;\n}, ai = function(t) {\n return `\n\n\t\n\t\t\n\t\t\t\n\t\t\t\t${$()}\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t/files/${T()?.uid}/\n\t\t\t\tinfinity\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\thttpd/unix-directory\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t0\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t${t}\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t100\n\t\t\t0\n\t\t\n\t\n`;\n}, xt = function(t = \"\") {\n let e = v.NONE;\n return t && ((t.includes(\"C\") || t.includes(\"K\")) && (e |= v.CREATE), t.includes(\"G\") && (e |= v.READ), (t.includes(\"W\") || t.includes(\"N\") || t.includes(\"V\")) && (e |= v.UPDATE), t.includes(\"D\") && (e |= v.DELETE), t.includes(\"R\") && (e |= v.SHARE)), e;\n};\nvar k = ((t) => (t.Folder = \"folder\", t.File = \"file\", t))(k || {});\nconst Z = function(t, e) {\n return t.match(e) !== null;\n}, B = (t, e) => {\n if (t.id && typeof t.id != \"number\")\n throw new Error(\"Invalid id type of value\");\n if (!t.source)\n throw new Error(\"Missing mandatory source\");\n try {\n new URL(t.source);\n } catch {\n throw new Error(\"Invalid source format, source must be a valid URL\");\n }\n if (!t.source.startsWith(\"http\"))\n throw new Error(\"Invalid source format, only http(s) is supported\");\n if (t.mtime && !(t.mtime instanceof Date))\n throw new Error(\"Invalid mtime type\");\n if (t.crtime && !(t.crtime instanceof Date))\n throw new Error(\"Invalid crtime type\");\n if (!t.mime || typeof t.mime != \"string\" || !t.mime.match(/^[-\\w.]+\\/[-+\\w.]+$/gi))\n throw new Error(\"Missing or invalid mandatory mime\");\n if (\"size\" in t && typeof t.size != \"number\" && t.size !== void 0)\n throw new Error(\"Invalid size type\");\n if (\"permissions\" in t && t.permissions !== void 0 && !(typeof t.permissions == \"number\" && t.permissions >= v.NONE && t.permissions <= v.ALL))\n throw new Error(\"Invalid permissions\");\n if (t.owner && t.owner !== null && typeof t.owner != \"string\")\n throw new Error(\"Invalid owner type\");\n if (t.attributes && typeof t.attributes != \"object\")\n throw new Error(\"Invalid attributes type\");\n if (t.root && typeof t.root != \"string\")\n throw new Error(\"Invalid root type\");\n if (t.root && !t.root.startsWith(\"/\"))\n throw new Error(\"Root must start with a leading slash\");\n if (t.root && !t.source.includes(t.root))\n throw new Error(\"Root must be part of the source\");\n if (t.root && Z(t.source, e)) {\n const i = t.source.match(e)[0];\n if (!t.source.includes(dt(i, t.root)))\n throw new Error(\"The root must be relative to the service. e.g /files/emma\");\n }\n if (t.status && !Object.values(J).includes(t.status))\n throw new Error(\"Status must be a valid NodeStatus\");\n};\nvar J = ((t) => (t.NEW = \"new\", t.FAILED = \"failed\", t.LOADING = \"loading\", t.LOCKED = \"locked\", t))(J || {});\nclass Q {\n _data;\n _attributes;\n _knownDavService = /(remote|public)\\.php\\/(web)?dav/i;\n constructor(e, i) {\n B(e, i || this._knownDavService), this._data = e;\n const r = { set: (n, s, a) => (this.updateMtime(), Reflect.set(n, s, a)), deleteProperty: (n, s) => (this.updateMtime(), Reflect.deleteProperty(n, s)) };\n this._attributes = new Proxy(e.attributes || {}, r), delete this._data.attributes, i && (this._knownDavService = i);\n }\n get source() {\n return this._data.source.replace(/\\/$/i, \"\");\n }\n get encodedSource() {\n const { origin: e } = new URL(this.source);\n return e + ht(this.source.slice(e.length));\n }\n get basename() {\n return ut(this.source);\n }\n get extension() {\n return ct(this.source);\n }\n get dirname() {\n if (this.root) {\n const i = this.source.indexOf(this.root);\n return A(this.source.slice(i + this.root.length) || \"/\");\n }\n const e = new URL(this.source);\n return A(e.pathname);\n }\n get mime() {\n return this._data.mime;\n }\n get mtime() {\n return this._data.mtime;\n }\n get crtime() {\n return this._data.crtime;\n }\n get size() {\n return this._data.size;\n }\n get attributes() {\n return this._attributes;\n }\n get permissions() {\n return this.owner === null && !this.isDavRessource ? v.READ : this._data.permissions !== void 0 ? this._data.permissions : v.NONE;\n }\n get owner() {\n return this.isDavRessource ? this._data.owner : null;\n }\n get isDavRessource() {\n return Z(this.source, this._knownDavService);\n }\n get root() {\n return this._data.root ? this._data.root.replace(/^(.+)\\/$/, \"$1\") : this.isDavRessource && A(this.source).split(this._knownDavService).pop() || null;\n }\n get path() {\n if (this.root) {\n const e = this.source.indexOf(this.root);\n return this.source.slice(e + this.root.length) || \"/\";\n }\n return (this.dirname + \"/\" + this.basename).replace(/\\/\\//g, \"/\");\n }\n get fileid() {\n return this._data?.id || this.attributes?.fileid;\n }\n get status() {\n return this._data?.status;\n }\n set status(e) {\n this._data.status = e;\n }\n move(e) {\n B({ ...this._data, source: e }, this._knownDavService), this._data.source = e, this.updateMtime();\n }\n rename(e) {\n if (e.includes(\"/\"))\n throw new Error(\"Invalid basename\");\n this.move(A(this.source) + \"/\" + e);\n }\n updateMtime() {\n this._data.mtime && (this._data.mtime = /* @__PURE__ */ new Date());\n }\n}\nclass bt extends Q {\n get type() {\n return k.File;\n }\n}\nclass Et extends Q {\n constructor(e) {\n super({ ...e, mime: \"httpd/unix-directory\" });\n }\n get type() {\n return k.Folder;\n }\n get extension() {\n return null;\n }\n get mime() {\n return \"httpd/unix-directory\";\n }\n}\nconst tt = `/files/${T()?.uid}`, et = pt(\"dav\"), li = function(t = et) {\n const e = ft(t, { headers: { requesttoken: at() || \"\" } });\n return gt().patch(\"request\", (i) => (i.headers?.method && (i.method = i.headers.method, delete i.headers.method), mt(i))), e;\n}, di = async (t, e = \"/\", i = tt) => (await t.getDirectoryContents(`${i}${e}`, { details: !0, data: yt(), headers: { method: \"REPORT\" }, includeSelf: !0 })).data.filter((r) => r.filename !== e).map((r) => Nt(r, i)), Nt = function(t, e = tt, i = et) {\n const r = t.props, n = xt(r?.permissions), s = T()?.uid, a = { id: r?.fileid || 0, source: `${i}${t.filename}`, mtime: new Date(Date.parse(t.lastmod)), mime: t.mime, size: r?.size || Number.parseInt(r.getcontentlength || \"0\"), permissions: n, owner: s, root: e, attributes: { ...t, ...r, hasPreview: r?.[\"has-preview\"] } };\n return delete a.attributes?.props, t.type === \"file\" ? new bt(a) : new Et(a);\n};\nclass _t {\n _views = [];\n _currentView = null;\n register(e) {\n if (this._views.find((i) => i.id === e.id))\n throw new Error(`View id ${e.id} is already registered`);\n this._views.push(e);\n }\n remove(e) {\n const i = this._views.findIndex((r) => r.id === e);\n i !== -1 && this._views.splice(i, 1);\n }\n get views() {\n return this._views;\n }\n setActive(e) {\n this._currentView = e;\n }\n get active() {\n return this._currentView;\n }\n}\nconst ui = function() {\n return typeof window._nc_navigation > \"u\" && (window._nc_navigation = new _t(), m.debug(\"Navigation service initialized\")), window._nc_navigation;\n};\nclass At {\n _column;\n constructor(e) {\n Tt(e), this._column = e;\n }\n get id() {\n return this._column.id;\n }\n get title() {\n return this._column.title;\n }\n get render() {\n return this._column.render;\n }\n get sort() {\n return this._column.sort;\n }\n get summary() {\n return this._column.summary;\n }\n}\nconst Tt = function(t) {\n if (!t.id || typeof t.id != \"string\")\n throw new Error(\"A column id is required\");\n if (!t.title || typeof t.title != \"string\")\n throw new Error(\"A column title is required\");\n if (!t.render || typeof t.render != \"function\")\n throw new Error(\"A render function is required\");\n if (t.sort && typeof t.sort != \"function\")\n throw new Error(\"Column sortFunction must be a function\");\n if (t.summary && typeof t.summary != \"function\")\n throw new Error(\"Column summary must be a function\");\n return !0;\n};\nvar L = {}, I = {};\n(function(t) {\n const e = \":A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\", i = e + \"\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040\", r = \"[\" + e + \"][\" + i + \"]*\", n = new RegExp(\"^\" + r + \"$\"), s = function(o, l) {\n const d = [];\n let u = l.exec(o);\n for (; u; ) {\n const c = [];\n c.startIndex = l.lastIndex - u[0].length;\n const p = u.length;\n for (let h = 0; h < p; h++)\n c.push(u[h]);\n d.push(c), u = l.exec(o);\n }\n return d;\n }, a = function(o) {\n const l = n.exec(o);\n return !(l === null || typeof l > \"u\");\n };\n t.isExist = function(o) {\n return typeof o < \"u\";\n }, t.isEmptyObject = function(o) {\n return Object.keys(o).length === 0;\n }, t.merge = function(o, l, d) {\n if (l) {\n const u = Object.keys(l), c = u.length;\n for (let p = 0; p < c; p++)\n d === \"strict\" ? o[u[p]] = [l[u[p]]] : o[u[p]] = l[u[p]];\n }\n }, t.getValue = function(o) {\n return t.isExist(o) ? o : \"\";\n }, t.isName = a, t.getAllMatches = s, t.nameRegexp = r;\n})(I);\nconst R = I, It = { allowBooleanAttributes: !1, unpairedTags: [] };\nL.validate = function(t, e) {\n e = Object.assign({}, It, e);\n const i = [];\n let r = !1, n = !1;\n t[0] === \"\\uFEFF\" && (t = t.substr(1));\n for (let s = 0; s < t.length; s++)\n if (t[s] === \"<\" && t[s + 1] === \"?\") {\n if (s += 2, s = U(t, s), s.err)\n return s;\n } else if (t[s] === \"<\") {\n let a = s;\n if (s++, t[s] === \"!\") {\n s = z(t, s);\n continue;\n } else {\n let o = !1;\n t[s] === \"/\" && (o = !0, s++);\n let l = \"\";\n for (; s < t.length && t[s] !== \">\" && t[s] !== \" \" && t[s] !== \"\t\" && t[s] !== `\n` && t[s] !== \"\\r\"; s++)\n l += t[s];\n if (l = l.trim(), l[l.length - 1] === \"/\" && (l = l.substring(0, l.length - 1), s--), !Vt(l)) {\n let c;\n return l.trim().length === 0 ? c = \"Invalid space after '<'.\" : c = \"Tag '\" + l + \"' is an invalid name.\", f(\"InvalidTag\", c, g(t, s));\n }\n const d = Ct(t, s);\n if (d === !1)\n return f(\"InvalidAttr\", \"Attributes for '\" + l + \"' have open quote.\", g(t, s));\n let u = d.value;\n if (s = d.index, u[u.length - 1] === \"/\") {\n const c = s - u.length;\n u = u.substring(0, u.length - 1);\n const p = G(u, e);\n if (p === !0)\n r = !0;\n else\n return f(p.err.code, p.err.msg, g(t, c + p.err.line));\n } else if (o)\n if (d.tagClosed) {\n if (u.trim().length > 0)\n return f(\"InvalidTag\", \"Closing tag '\" + l + \"' can't have attributes or invalid starting.\", g(t, a));\n {\n const c = i.pop();\n if (l !== c.tagName) {\n let p = g(t, c.tagStartPos);\n return f(\"InvalidTag\", \"Expected closing tag '\" + c.tagName + \"' (opened in line \" + p.line + \", col \" + p.col + \") instead of closing tag '\" + l + \"'.\", g(t, a));\n }\n i.length == 0 && (n = !0);\n }\n } else\n return f(\"InvalidTag\", \"Closing tag '\" + l + \"' doesn't have proper closing.\", g(t, s));\n else {\n const c = G(u, e);\n if (c !== !0)\n return f(c.err.code, c.err.msg, g(t, s - u.length + c.err.line));\n if (n === !0)\n return f(\"InvalidXml\", \"Multiple possible root nodes found.\", g(t, s));\n e.unpairedTags.indexOf(l) !== -1 || i.push({ tagName: l, tagStartPos: a }), r = !0;\n }\n for (s++; s < t.length; s++)\n if (t[s] === \"<\")\n if (t[s + 1] === \"!\") {\n s++, s = z(t, s);\n continue;\n } else if (t[s + 1] === \"?\") {\n if (s = U(t, ++s), s.err)\n return s;\n } else\n break;\n else if (t[s] === \"&\") {\n const c = Ft(t, s);\n if (c == -1)\n return f(\"InvalidChar\", \"char '&' is not expected.\", g(t, s));\n s = c;\n } else if (n === !0 && !q(t[s]))\n return f(\"InvalidXml\", \"Extra text at the end\", g(t, s));\n t[s] === \"<\" && s--;\n }\n } else {\n if (q(t[s]))\n continue;\n return f(\"InvalidChar\", \"char '\" + t[s] + \"' is not expected.\", g(t, s));\n }\n if (r) {\n if (i.length == 1)\n return f(\"InvalidTag\", \"Unclosed tag '\" + i[0].tagName + \"'.\", g(t, i[0].tagStartPos));\n if (i.length > 0)\n return f(\"InvalidXml\", \"Invalid '\" + JSON.stringify(i.map((s) => s.tagName), null, 4).replace(/\\r?\\n/g, \"\") + \"' found.\", { line: 1, col: 1 });\n } else\n return f(\"InvalidXml\", \"Start tag expected.\", 1);\n return !0;\n};\nfunction q(t) {\n return t === \" \" || t === \"\t\" || t === `\n` || t === \"\\r\";\n}\nfunction U(t, e) {\n const i = e;\n for (; e < t.length; e++)\n if (t[e] == \"?\" || t[e] == \" \") {\n const r = t.substr(i, e - i);\n if (e > 5 && r === \"xml\")\n return f(\"InvalidXml\", \"XML declaration allowed only at the start of the document.\", g(t, e));\n if (t[e] == \"?\" && t[e + 1] == \">\") {\n e++;\n break;\n } else\n continue;\n }\n return e;\n}\nfunction z(t, e) {\n if (t.length > e + 5 && t[e + 1] === \"-\" && t[e + 2] === \"-\") {\n for (e += 3; e < t.length; e++)\n if (t[e] === \"-\" && t[e + 1] === \"-\" && t[e + 2] === \">\") {\n e += 2;\n break;\n }\n } else if (t.length > e + 8 && t[e + 1] === \"D\" && t[e + 2] === \"O\" && t[e + 3] === \"C\" && t[e + 4] === \"T\" && t[e + 5] === \"Y\" && t[e + 6] === \"P\" && t[e + 7] === \"E\") {\n let i = 1;\n for (e += 8; e < t.length; e++)\n if (t[e] === \"<\")\n i++;\n else if (t[e] === \">\" && (i--, i === 0))\n break;\n } else if (t.length > e + 9 && t[e + 1] === \"[\" && t[e + 2] === \"C\" && t[e + 3] === \"D\" && t[e + 4] === \"A\" && t[e + 5] === \"T\" && t[e + 6] === \"A\" && t[e + 7] === \"[\") {\n for (e += 8; e < t.length; e++)\n if (t[e] === \"]\" && t[e + 1] === \"]\" && t[e + 2] === \">\") {\n e += 2;\n break;\n }\n }\n return e;\n}\nconst Pt = '\"', Ot = \"'\";\nfunction Ct(t, e) {\n let i = \"\", r = \"\", n = !1;\n for (; e < t.length; e++) {\n if (t[e] === Pt || t[e] === Ot)\n r === \"\" ? r = t[e] : r !== t[e] || (r = \"\");\n else if (t[e] === \">\" && r === \"\") {\n n = !0;\n break;\n }\n i += t[e];\n }\n return r !== \"\" ? !1 : { value: i, index: e, tagClosed: n };\n}\nconst Dt = new RegExp(`(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*(['\"])(([\\\\s\\\\S])*?)\\\\5)?`, \"g\");\nfunction G(t, e) {\n const i = R.getAllMatches(t, Dt), r = {};\n for (let n = 0; n < i.length; n++) {\n if (i[n][1].length === 0)\n return f(\"InvalidAttr\", \"Attribute '\" + i[n][2] + \"' has no space in starting.\", E(i[n]));\n if (i[n][3] !== void 0 && i[n][4] === void 0)\n return f(\"InvalidAttr\", \"Attribute '\" + i[n][2] + \"' is without value.\", E(i[n]));\n if (i[n][3] === void 0 && !e.allowBooleanAttributes)\n return f(\"InvalidAttr\", \"boolean attribute '\" + i[n][2] + \"' is not allowed.\", E(i[n]));\n const s = i[n][2];\n if (!$t(s))\n return f(\"InvalidAttr\", \"Attribute '\" + s + \"' is an invalid name.\", E(i[n]));\n if (!r.hasOwnProperty(s))\n r[s] = 1;\n else\n return f(\"InvalidAttr\", \"Attribute '\" + s + \"' is repeated.\", E(i[n]));\n }\n return !0;\n}\nfunction St(t, e) {\n let i = /\\d/;\n for (t[e] === \"x\" && (e++, i = /[\\da-fA-F]/); e < t.length; e++) {\n if (t[e] === \";\")\n return e;\n if (!t[e].match(i))\n break;\n }\n return -1;\n}\nfunction Ft(t, e) {\n if (e++, t[e] === \";\")\n return -1;\n if (t[e] === \"#\")\n return e++, St(t, e);\n let i = 0;\n for (; e < t.length; e++, i++)\n if (!(t[e].match(/\\w/) && i < 20)) {\n if (t[e] === \";\")\n break;\n return -1;\n }\n return e;\n}\nfunction f(t, e, i) {\n return { err: { code: t, msg: e, line: i.line || i, col: i.col } };\n}\nfunction $t(t) {\n return R.isName(t);\n}\nfunction Vt(t) {\n return R.isName(t);\n}\nfunction g(t, e) {\n const i = t.substring(0, e).split(/\\r?\\n/);\n return { line: i.length, col: i[i.length - 1].length + 1 };\n}\nfunction E(t) {\n return t.startIndex + t[1].length;\n}\nvar C = {};\nconst it = { preserveOrder: !1, attributeNamePrefix: \"@_\", attributesGroupName: !1, textNodeName: \"#text\", ignoreAttributes: !0, removeNSPrefix: !1, allowBooleanAttributes: !1, parseTagValue: !0, parseAttributeValue: !1, trimValues: !0, cdataPropName: !1, numberParseOptions: { hex: !0, leadingZeros: !0, eNotation: !0 }, tagValueProcessor: function(t, e) {\n return e;\n}, attributeValueProcessor: function(t, e) {\n return e;\n}, stopNodes: [], alwaysCreateTextNode: !1, isArray: () => !1, commentPropName: !1, unpairedTags: [], processEntities: !0, htmlEntities: !1, ignoreDeclaration: !1, ignorePiTags: !1, transformTagName: !1, transformAttributeName: !1, updateTag: function(t, e, i) {\n return t;\n} }, kt = function(t) {\n return Object.assign({}, it, t);\n};\nC.buildOptions = kt, C.defaultOptions = it;\nclass Lt {\n constructor(e) {\n this.tagname = e, this.child = [], this[\":@\"] = {};\n }\n add(e, i) {\n e === \"__proto__\" && (e = \"#__proto__\"), this.child.push({ [e]: i });\n }\n addChild(e) {\n e.tagname === \"__proto__\" && (e.tagname = \"#__proto__\"), e[\":@\"] && Object.keys(e[\":@\"]).length > 0 ? this.child.push({ [e.tagname]: e.child, \":@\": e[\":@\"] }) : this.child.push({ [e.tagname]: e.child });\n }\n}\nvar Rt = Lt;\nconst jt = I;\nfunction Mt(t, e) {\n const i = {};\n if (t[e + 3] === \"O\" && t[e + 4] === \"C\" && t[e + 5] === \"T\" && t[e + 6] === \"Y\" && t[e + 7] === \"P\" && t[e + 8] === \"E\") {\n e = e + 9;\n let r = 1, n = !1, s = !1, a = \"\";\n for (; e < t.length; e++)\n if (t[e] === \"<\" && !s) {\n if (n && Ut(t, e))\n e += 7, [entityName, val, e] = Bt(t, e + 1), val.indexOf(\"&\") === -1 && (i[Ht(entityName)] = { regx: RegExp(`&${entityName};`, \"g\"), val });\n else if (n && zt(t, e))\n e += 8;\n else if (n && Gt(t, e))\n e += 8;\n else if (n && Xt(t, e))\n e += 9;\n else if (qt)\n s = !0;\n else\n throw new Error(\"Invalid DOCTYPE\");\n r++, a = \"\";\n } else if (t[e] === \">\") {\n if (s ? t[e - 1] === \"-\" && t[e - 2] === \"-\" && (s = !1, r--) : r--, r === 0)\n break;\n } else\n t[e] === \"[\" ? n = !0 : a += t[e];\n if (r !== 0)\n throw new Error(\"Unclosed DOCTYPE\");\n } else\n throw new Error(\"Invalid Tag instead of DOCTYPE\");\n return { entities: i, i: e };\n}\nfunction Bt(t, e) {\n let i = \"\";\n for (; e < t.length && t[e] !== \"'\" && t[e] !== '\"'; e++)\n i += t[e];\n if (i = i.trim(), i.indexOf(\" \") !== -1)\n throw new Error(\"External entites are not supported\");\n const r = t[e++];\n let n = \"\";\n for (; e < t.length && t[e] !== r; e++)\n n += t[e];\n return [i, n, e];\n}\nfunction qt(t, e) {\n return t[e + 1] === \"!\" && t[e + 2] === \"-\" && t[e + 3] === \"-\";\n}\nfunction Ut(t, e) {\n return t[e + 1] === \"!\" && t[e + 2] === \"E\" && t[e + 3] === \"N\" && t[e + 4] === \"T\" && t[e + 5] === \"I\" && t[e + 6] === \"T\" && t[e + 7] === \"Y\";\n}\nfunction zt(t, e) {\n return t[e + 1] === \"!\" && t[e + 2] === \"E\" && t[e + 3] === \"L\" && t[e + 4] === \"E\" && t[e + 5] === \"M\" && t[e + 6] === \"E\" && t[e + 7] === \"N\" && t[e + 8] === \"T\";\n}\nfunction Gt(t, e) {\n return t[e + 1] === \"!\" && t[e + 2] === \"A\" && t[e + 3] === \"T\" && t[e + 4] === \"T\" && t[e + 5] === \"L\" && t[e + 6] === \"I\" && t[e + 7] === \"S\" && t[e + 8] === \"T\";\n}\nfunction Xt(t, e) {\n return t[e + 1] === \"!\" && t[e + 2] === \"N\" && t[e + 3] === \"O\" && t[e + 4] === \"T\" && t[e + 5] === \"A\" && t[e + 6] === \"T\" && t[e + 7] === \"I\" && t[e + 8] === \"O\" && t[e + 9] === \"N\";\n}\nfunction Ht(t) {\n if (jt.isName(t))\n return t;\n throw new Error(`Invalid entity name ${t}`);\n}\nvar Kt = Mt;\nconst Wt = /^[-+]?0x[a-fA-F0-9]+$/, Yt = /^([\\-\\+])?(0*)(\\.[0-9]+([eE]\\-?[0-9]+)?|[0-9]+(\\.[0-9]+([eE]\\-?[0-9]+)?)?)$/;\n!Number.parseInt && window.parseInt && (Number.parseInt = window.parseInt), !Number.parseFloat && window.parseFloat && (Number.parseFloat = window.parseFloat);\nconst Zt = { hex: !0, leadingZeros: !0, decimalPoint: \".\", eNotation: !0 };\nfunction Jt(t, e = {}) {\n if (e = Object.assign({}, Zt, e), !t || typeof t != \"string\")\n return t;\n let i = t.trim();\n if (e.skipLike !== void 0 && e.skipLike.test(i))\n return t;\n if (e.hex && Wt.test(i))\n return Number.parseInt(i, 16);\n {\n const r = Yt.exec(i);\n if (r) {\n const n = r[1], s = r[2];\n let a = Qt(r[3]);\n const o = r[4] || r[6];\n if (!e.leadingZeros && s.length > 0 && n && i[2] !== \".\" || !e.leadingZeros && s.length > 0 && !n && i[1] !== \".\")\n return t;\n {\n const l = Number(i), d = \"\" + l;\n return d.search(/[eE]/) !== -1 || o ? e.eNotation ? l : t : i.indexOf(\".\") !== -1 ? d === \"0\" && a === \"\" || d === a || n && d === \"-\" + a ? l : t : s ? a === d || n + a === d ? l : t : i === d || i === n + d ? l : t;\n }\n } else\n return t;\n }\n}\nfunction Qt(t) {\n return t && t.indexOf(\".\") !== -1 && (t = t.replace(/0+$/, \"\"), t === \".\" ? t = \"0\" : t[0] === \".\" ? t = \"0\" + t : t[t.length - 1] === \".\" && (t = t.substr(0, t.length - 1))), t;\n}\nvar te = Jt;\nconst j = I, N = Rt, ee = Kt, ie = te;\n\"<((!\\\\[CDATA\\\\[([\\\\s\\\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\\\/)(NAME)\\\\s*>))([^<]*)\".replace(/NAME/g, j.nameRegexp);\nlet ne = class {\n constructor(t) {\n this.options = t, this.currentNode = null, this.tagsNodeStack = [], this.docTypeEntities = {}, this.lastEntities = { apos: { regex: /&(apos|#39|#x27);/g, val: \"'\" }, gt: { regex: /&(gt|#62|#x3E);/g, val: \">\" }, lt: { regex: /&(lt|#60|#x3C);/g, val: \"<\" }, quot: { regex: /&(quot|#34|#x22);/g, val: '\"' } }, this.ampEntity = { regex: /&(amp|#38|#x26);/g, val: \"&\" }, this.htmlEntities = { space: { regex: /&(nbsp|#160);/g, val: \" \" }, cent: { regex: /&(cent|#162);/g, val: \"¢\" }, pound: { regex: /&(pound|#163);/g, val: \"£\" }, yen: { regex: /&(yen|#165);/g, val: \"¥\" }, euro: { regex: /&(euro|#8364);/g, val: \"€\" }, copyright: { regex: /&(copy|#169);/g, val: \"©\" }, reg: { regex: /&(reg|#174);/g, val: \"®\" }, inr: { regex: /&(inr|#8377);/g, val: \"₹\" } }, this.addExternalEntities = re, this.parseXml = de, this.parseTextData = se, this.resolveNameSpace = oe, this.buildAttributesMap = le, this.isItStopNode = pe, this.replaceEntitiesValue = ce, this.readStopNodeData = ge, this.saveTextToParentTag = he, this.addChild = ue;\n }\n};\nfunction re(t) {\n const e = Object.keys(t);\n for (let i = 0; i < e.length; i++) {\n const r = e[i];\n this.lastEntities[r] = { regex: new RegExp(\"&\" + r + \";\", \"g\"), val: t[r] };\n }\n}\nfunction se(t, e, i, r, n, s, a) {\n if (t !== void 0 && (this.options.trimValues && !r && (t = t.trim()), t.length > 0)) {\n a || (t = this.replaceEntitiesValue(t));\n const o = this.options.tagValueProcessor(e, t, i, n, s);\n return o == null ? t : typeof o != typeof t || o !== t ? o : this.options.trimValues ? S(t, this.options.parseTagValue, this.options.numberParseOptions) : t.trim() === t ? S(t, this.options.parseTagValue, this.options.numberParseOptions) : t;\n }\n}\nfunction oe(t) {\n if (this.options.removeNSPrefix) {\n const e = t.split(\":\"), i = t.charAt(0) === \"/\" ? \"/\" : \"\";\n if (e[0] === \"xmlns\")\n return \"\";\n e.length === 2 && (t = i + e[1]);\n }\n return t;\n}\nconst ae = new RegExp(`([^\\\\s=]+)\\\\s*(=\\\\s*(['\"])([\\\\s\\\\S]*?)\\\\3)?`, \"gm\");\nfunction le(t, e, i) {\n if (!this.options.ignoreAttributes && typeof t == \"string\") {\n const r = j.getAllMatches(t, ae), n = r.length, s = {};\n for (let a = 0; a < n; a++) {\n const o = this.resolveNameSpace(r[a][1]);\n let l = r[a][4], d = this.options.attributeNamePrefix + o;\n if (o.length)\n if (this.options.transformAttributeName && (d = this.options.transformAttributeName(d)), d === \"__proto__\" && (d = \"#__proto__\"), l !== void 0) {\n this.options.trimValues && (l = l.trim()), l = this.replaceEntitiesValue(l);\n const u = this.options.attributeValueProcessor(o, l, e);\n u == null ? s[d] = l : typeof u != typeof l || u !== l ? s[d] = u : s[d] = S(l, this.options.parseAttributeValue, this.options.numberParseOptions);\n } else\n this.options.allowBooleanAttributes && (s[d] = !0);\n }\n if (!Object.keys(s).length)\n return;\n if (this.options.attributesGroupName) {\n const a = {};\n return a[this.options.attributesGroupName] = s, a;\n }\n return s;\n }\n}\nconst de = function(t) {\n t = t.replace(/\\r\\n?/g, `\n`);\n const e = new N(\"!xml\");\n let i = e, r = \"\", n = \"\";\n for (let s = 0; s < t.length; s++)\n if (t[s] === \"<\")\n if (t[s + 1] === \"/\") {\n const a = x(t, \">\", s, \"Closing Tag is not closed.\");\n let o = t.substring(s + 2, a).trim();\n if (this.options.removeNSPrefix) {\n const u = o.indexOf(\":\");\n u !== -1 && (o = o.substr(u + 1));\n }\n this.options.transformTagName && (o = this.options.transformTagName(o)), i && (r = this.saveTextToParentTag(r, i, n));\n const l = n.substring(n.lastIndexOf(\".\") + 1);\n if (o && this.options.unpairedTags.indexOf(o) !== -1)\n throw new Error(`Unpaired tag can not be used as closing tag: `);\n let d = 0;\n l && this.options.unpairedTags.indexOf(l) !== -1 ? (d = n.lastIndexOf(\".\", n.lastIndexOf(\".\") - 1), this.tagsNodeStack.pop()) : d = n.lastIndexOf(\".\"), n = n.substring(0, d), i = this.tagsNodeStack.pop(), r = \"\", s = a;\n } else if (t[s + 1] === \"?\") {\n let a = D(t, s, !1, \"?>\");\n if (!a)\n throw new Error(\"Pi Tag is not closed.\");\n if (r = this.saveTextToParentTag(r, i, n), !(this.options.ignoreDeclaration && a.tagName === \"?xml\" || this.options.ignorePiTags)) {\n const o = new N(a.tagName);\n o.add(this.options.textNodeName, \"\"), a.tagName !== a.tagExp && a.attrExpPresent && (o[\":@\"] = this.buildAttributesMap(a.tagExp, n, a.tagName)), this.addChild(i, o, n);\n }\n s = a.closeIndex + 1;\n } else if (t.substr(s + 1, 3) === \"!--\") {\n const a = x(t, \"-->\", s + 4, \"Comment is not closed.\");\n if (this.options.commentPropName) {\n const o = t.substring(s + 4, a - 2);\n r = this.saveTextToParentTag(r, i, n), i.add(this.options.commentPropName, [{ [this.options.textNodeName]: o }]);\n }\n s = a;\n } else if (t.substr(s + 1, 2) === \"!D\") {\n const a = ee(t, s);\n this.docTypeEntities = a.entities, s = a.i;\n } else if (t.substr(s + 1, 2) === \"![\") {\n const a = x(t, \"]]>\", s, \"CDATA is not closed.\") - 2, o = t.substring(s + 9, a);\n if (r = this.saveTextToParentTag(r, i, n), this.options.cdataPropName)\n i.add(this.options.cdataPropName, [{ [this.options.textNodeName]: o }]);\n else {\n let l = this.parseTextData(o, i.tagname, n, !0, !1, !0);\n l == null && (l = \"\"), i.add(this.options.textNodeName, l);\n }\n s = a + 2;\n } else {\n let a = D(t, s, this.options.removeNSPrefix), o = a.tagName;\n const l = a.rawTagName;\n let d = a.tagExp, u = a.attrExpPresent, c = a.closeIndex;\n this.options.transformTagName && (o = this.options.transformTagName(o)), i && r && i.tagname !== \"!xml\" && (r = this.saveTextToParentTag(r, i, n, !1));\n const p = i;\n if (p && this.options.unpairedTags.indexOf(p.tagname) !== -1 && (i = this.tagsNodeStack.pop(), n = n.substring(0, n.lastIndexOf(\".\"))), o !== e.tagname && (n += n ? \".\" + o : o), this.isItStopNode(this.options.stopNodes, n, o)) {\n let h = \"\";\n if (d.length > 0 && d.lastIndexOf(\"/\") === d.length - 1)\n s = a.closeIndex;\n else if (this.options.unpairedTags.indexOf(o) !== -1)\n s = a.closeIndex;\n else {\n const b = this.readStopNodeData(t, l, c + 1);\n if (!b)\n throw new Error(`Unexpected end of ${l}`);\n s = b.i, h = b.tagContent;\n }\n const w = new N(o);\n o !== d && u && (w[\":@\"] = this.buildAttributesMap(d, n, o)), h && (h = this.parseTextData(h, o, n, !0, u, !0, !0)), n = n.substr(0, n.lastIndexOf(\".\")), w.add(this.options.textNodeName, h), this.addChild(i, w, n);\n } else {\n if (d.length > 0 && d.lastIndexOf(\"/\") === d.length - 1) {\n o[o.length - 1] === \"/\" ? (o = o.substr(0, o.length - 1), n = n.substr(0, n.length - 1), d = o) : d = d.substr(0, d.length - 1), this.options.transformTagName && (o = this.options.transformTagName(o));\n const h = new N(o);\n o !== d && u && (h[\":@\"] = this.buildAttributesMap(d, n, o)), this.addChild(i, h, n), n = n.substr(0, n.lastIndexOf(\".\"));\n } else {\n const h = new N(o);\n this.tagsNodeStack.push(i), o !== d && u && (h[\":@\"] = this.buildAttributesMap(d, n, o)), this.addChild(i, h, n), i = h;\n }\n r = \"\", s = c;\n }\n }\n else\n r += t[s];\n return e.child;\n};\nfunction ue(t, e, i) {\n const r = this.options.updateTag(e.tagname, i, e[\":@\"]);\n r === !1 || (typeof r == \"string\" && (e.tagname = r), t.addChild(e));\n}\nconst ce = function(t) {\n if (this.options.processEntities) {\n for (let e in this.docTypeEntities) {\n const i = this.docTypeEntities[e];\n t = t.replace(i.regx, i.val);\n }\n for (let e in this.lastEntities) {\n const i = this.lastEntities[e];\n t = t.replace(i.regex, i.val);\n }\n if (this.options.htmlEntities)\n for (let e in this.htmlEntities) {\n const i = this.htmlEntities[e];\n t = t.replace(i.regex, i.val);\n }\n t = t.replace(this.ampEntity.regex, this.ampEntity.val);\n }\n return t;\n};\nfunction he(t, e, i, r) {\n return t && (r === void 0 && (r = Object.keys(e.child).length === 0), t = this.parseTextData(t, e.tagname, i, !1, e[\":@\"] ? Object.keys(e[\":@\"]).length !== 0 : !1, r), t !== void 0 && t !== \"\" && e.add(this.options.textNodeName, t), t = \"\"), t;\n}\nfunction pe(t, e, i) {\n const r = \"*.\" + i;\n for (const n in t) {\n const s = t[n];\n if (r === s || e === s)\n return !0;\n }\n return !1;\n}\nfunction fe(t, e, i = \">\") {\n let r, n = \"\";\n for (let s = e; s < t.length; s++) {\n let a = t[s];\n if (r)\n a === r && (r = \"\");\n else if (a === '\"' || a === \"'\")\n r = a;\n else if (a === i[0])\n if (i[1]) {\n if (t[s + 1] === i[1])\n return { data: n, index: s };\n } else\n return { data: n, index: s };\n else\n a === \"\t\" && (a = \" \");\n n += a;\n }\n}\nfunction x(t, e, i, r) {\n const n = t.indexOf(e, i);\n if (n === -1)\n throw new Error(r);\n return n + e.length - 1;\n}\nfunction D(t, e, i, r = \">\") {\n const n = fe(t, e + 1, r);\n if (!n)\n return;\n let s = n.data;\n const a = n.index, o = s.search(/\\s/);\n let l = s, d = !0;\n o !== -1 && (l = s.substr(0, o).replace(/\\s\\s*$/, \"\"), s = s.substr(o + 1));\n const u = l;\n if (i) {\n const c = l.indexOf(\":\");\n c !== -1 && (l = l.substr(c + 1), d = l !== n.data.substr(c + 1));\n }\n return { tagName: l, tagExp: s, closeIndex: a, attrExpPresent: d, rawTagName: u };\n}\nfunction ge(t, e, i) {\n const r = i;\n let n = 1;\n for (; i < t.length; i++)\n if (t[i] === \"<\")\n if (t[i + 1] === \"/\") {\n const s = x(t, \">\", i, `${e} is not closed`);\n if (t.substring(i + 2, s).trim() === e && (n--, n === 0))\n return { tagContent: t.substring(r, i), i: s };\n i = s;\n } else if (t[i + 1] === \"?\")\n i = x(t, \"?>\", i + 1, \"StopNode is not closed.\");\n else if (t.substr(i + 1, 3) === \"!--\")\n i = x(t, \"-->\", i + 3, \"StopNode is not closed.\");\n else if (t.substr(i + 1, 2) === \"![\")\n i = x(t, \"]]>\", i, \"StopNode is not closed.\") - 2;\n else {\n const s = D(t, i, \">\");\n s && ((s && s.tagName) === e && s.tagExp[s.tagExp.length - 1] !== \"/\" && n++, i = s.closeIndex);\n }\n}\nfunction S(t, e, i) {\n if (e && typeof t == \"string\") {\n const r = t.trim();\n return r === \"true\" ? !0 : r === \"false\" ? !1 : ie(t, i);\n } else\n return j.isExist(t) ? t : \"\";\n}\nvar me = ne, nt = {};\nfunction we(t, e) {\n return rt(t, e);\n}\nfunction rt(t, e, i) {\n let r;\n const n = {};\n for (let s = 0; s < t.length; s++) {\n const a = t[s], o = ve(a);\n let l = \"\";\n if (i === void 0 ? l = o : l = i + \".\" + o, o === e.textNodeName)\n r === void 0 ? r = a[o] : r += \"\" + a[o];\n else {\n if (o === void 0)\n continue;\n if (a[o]) {\n let d = rt(a[o], e, l);\n const u = xe(d, e);\n a[\":@\"] ? ye(d, a[\":@\"], l, e) : Object.keys(d).length === 1 && d[e.textNodeName] !== void 0 && !e.alwaysCreateTextNode ? d = d[e.textNodeName] : Object.keys(d).length === 0 && (e.alwaysCreateTextNode ? d[e.textNodeName] = \"\" : d = \"\"), n[o] !== void 0 && n.hasOwnProperty(o) ? (Array.isArray(n[o]) || (n[o] = [n[o]]), n[o].push(d)) : e.isArray(o, l, u) ? n[o] = [d] : n[o] = d;\n }\n }\n }\n return typeof r == \"string\" ? r.length > 0 && (n[e.textNodeName] = r) : r !== void 0 && (n[e.textNodeName] = r), n;\n}\nfunction ve(t) {\n const e = Object.keys(t);\n for (let i = 0; i < e.length; i++) {\n const r = e[i];\n if (r !== \":@\")\n return r;\n }\n}\nfunction ye(t, e, i, r) {\n if (e) {\n const n = Object.keys(e), s = n.length;\n for (let a = 0; a < s; a++) {\n const o = n[a];\n r.isArray(o, i + \".\" + o, !0, !0) ? t[o] = [e[o]] : t[o] = e[o];\n }\n }\n}\nfunction xe(t, e) {\n const { textNodeName: i } = e, r = Object.keys(t).length;\n return !!(r === 0 || r === 1 && (t[i] || typeof t[i] == \"boolean\" || t[i] === 0));\n}\nnt.prettify = we;\nconst { buildOptions: be } = C, Ee = me, { prettify: Ne } = nt, _e = L;\nlet Ae = class {\n constructor(t) {\n this.externalEntities = {}, this.options = be(t);\n }\n parse(t, e) {\n if (typeof t != \"string\")\n if (t.toString)\n t = t.toString();\n else\n throw new Error(\"XML data is accepted in String or Bytes[] form.\");\n if (e) {\n e === !0 && (e = {});\n const n = _e.validate(t, e);\n if (n !== !0)\n throw Error(`${n.err.msg}:${n.err.line}:${n.err.col}`);\n }\n const i = new Ee(this.options);\n i.addExternalEntities(this.externalEntities);\n const r = i.parseXml(t);\n return this.options.preserveOrder || r === void 0 ? r : Ne(r, this.options);\n }\n addEntity(t, e) {\n if (e.indexOf(\"&\") !== -1)\n throw new Error(\"Entity value can't have '&'\");\n if (t.indexOf(\"&\") !== -1 || t.indexOf(\";\") !== -1)\n throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for ' '\");\n if (e === \"&\")\n throw new Error(\"An entity with value '&' is not permitted\");\n this.externalEntities[t] = e;\n }\n};\nvar Te = Ae;\nconst Ie = `\n`;\nfunction Pe(t, e) {\n let i = \"\";\n return e.format && e.indentBy.length > 0 && (i = Ie), st(t, e, \"\", i);\n}\nfunction st(t, e, i, r) {\n let n = \"\", s = !1;\n for (let a = 0; a < t.length; a++) {\n const o = t[a], l = Oe(o);\n if (l === void 0)\n continue;\n let d = \"\";\n if (i.length === 0 ? d = l : d = `${i}.${l}`, l === e.textNodeName) {\n let w = o[l];\n Ce(d, e) || (w = e.tagValueProcessor(l, w), w = ot(w, e)), s && (n += r), n += w, s = !1;\n continue;\n } else if (l === e.cdataPropName) {\n s && (n += r), n += ``, s = !1;\n continue;\n } else if (l === e.commentPropName) {\n n += r + ``, s = !0;\n continue;\n } else if (l[0] === \"?\") {\n const w = X(o[\":@\"], e), b = l === \"?xml\" ? \"\" : r;\n let _ = o[l][0][e.textNodeName];\n _ = _.length !== 0 ? \" \" + _ : \"\", n += b + `<${l}${_}${w}?>`, s = !0;\n continue;\n }\n let u = r;\n u !== \"\" && (u += e.indentBy);\n const c = X(o[\":@\"], e), p = r + `<${l}${c}`, h = st(o[l], e, d, u);\n e.unpairedTags.indexOf(l) !== -1 ? e.suppressUnpairedNode ? n += p + \">\" : n += p + \"/>\" : (!h || h.length === 0) && e.suppressEmptyNode ? n += p + \"/>\" : h && h.endsWith(\">\") ? n += p + `>${h}${r}` : (n += p + \">\", h && r !== \"\" && (h.includes(\"/>\") || h.includes(\"`), s = !0;\n }\n return n;\n}\nfunction Oe(t) {\n const e = Object.keys(t);\n for (let i = 0; i < e.length; i++) {\n const r = e[i];\n if (t.hasOwnProperty(r) && r !== \":@\")\n return r;\n }\n}\nfunction X(t, e) {\n let i = \"\";\n if (t && !e.ignoreAttributes)\n for (let r in t) {\n if (!t.hasOwnProperty(r))\n continue;\n let n = e.attributeValueProcessor(r, t[r]);\n n = ot(n, e), n === !0 && e.suppressBooleanAttributes ? i += ` ${r.substr(e.attributeNamePrefix.length)}` : i += ` ${r.substr(e.attributeNamePrefix.length)}=\"${n}\"`;\n }\n return i;\n}\nfunction Ce(t, e) {\n t = t.substr(0, t.length - e.textNodeName.length - 1);\n let i = t.substr(t.lastIndexOf(\".\") + 1);\n for (let r in e.stopNodes)\n if (e.stopNodes[r] === t || e.stopNodes[r] === \"*.\" + i)\n return !0;\n return !1;\n}\nfunction ot(t, e) {\n if (t && t.length > 0 && e.processEntities)\n for (let i = 0; i < e.entities.length; i++) {\n const r = e.entities[i];\n t = t.replace(r.regex, r.val);\n }\n return t;\n}\nvar De = Pe;\nconst Se = De, Fe = { attributeNamePrefix: \"@_\", attributesGroupName: !1, textNodeName: \"#text\", ignoreAttributes: !0, cdataPropName: !1, format: !1, indentBy: \" \", suppressEmptyNode: !1, suppressUnpairedNode: !0, suppressBooleanAttributes: !0, tagValueProcessor: function(t, e) {\n return e;\n}, attributeValueProcessor: function(t, e) {\n return e;\n}, preserveOrder: !1, commentPropName: !1, unpairedTags: [], entities: [{ regex: new RegExp(\"&\", \"g\"), val: \"&\" }, { regex: new RegExp(\">\", \"g\"), val: \">\" }, { regex: new RegExp(\"<\", \"g\"), val: \"<\" }, { regex: new RegExp(\"'\", \"g\"), val: \"'\" }, { regex: new RegExp('\"', \"g\"), val: \""\" }], processEntities: !0, stopNodes: [], oneListGroup: !1 };\nfunction y(t) {\n this.options = Object.assign({}, Fe, t), this.options.ignoreAttributes || this.options.attributesGroupName ? this.isAttribute = function() {\n return !1;\n } : (this.attrPrefixLen = this.options.attributeNamePrefix.length, this.isAttribute = ke), this.processTextOrObjNode = $e, this.options.format ? (this.indentate = Ve, this.tagEndChar = `>\n`, this.newLine = `\n`) : (this.indentate = function() {\n return \"\";\n }, this.tagEndChar = \">\", this.newLine = \"\");\n}\ny.prototype.build = function(t) {\n return this.options.preserveOrder ? Se(t, this.options) : (Array.isArray(t) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1 && (t = { [this.options.arrayNodeName]: t }), this.j2x(t, 0).val);\n}, y.prototype.j2x = function(t, e) {\n let i = \"\", r = \"\";\n for (let n in t)\n if (t.hasOwnProperty(n))\n if (typeof t[n] > \"u\")\n this.isAttribute(n) && (r += \"\");\n else if (t[n] === null)\n this.isAttribute(n) ? r += \"\" : n[0] === \"?\" ? r += this.indentate(e) + \"<\" + n + \"?\" + this.tagEndChar : r += this.indentate(e) + \"<\" + n + \"/\" + this.tagEndChar;\n else if (t[n] instanceof Date)\n r += this.buildTextValNode(t[n], n, \"\", e);\n else if (typeof t[n] != \"object\") {\n const s = this.isAttribute(n);\n if (s)\n i += this.buildAttrPairStr(s, \"\" + t[n]);\n else if (n === this.options.textNodeName) {\n let a = this.options.tagValueProcessor(n, \"\" + t[n]);\n r += this.replaceEntitiesValue(a);\n } else\n r += this.buildTextValNode(t[n], n, \"\", e);\n } else if (Array.isArray(t[n])) {\n const s = t[n].length;\n let a = \"\";\n for (let o = 0; o < s; o++) {\n const l = t[n][o];\n typeof l > \"u\" || (l === null ? n[0] === \"?\" ? r += this.indentate(e) + \"<\" + n + \"?\" + this.tagEndChar : r += this.indentate(e) + \"<\" + n + \"/\" + this.tagEndChar : typeof l == \"object\" ? this.options.oneListGroup ? a += this.j2x(l, e + 1).val : a += this.processTextOrObjNode(l, n, e) : a += this.buildTextValNode(l, n, \"\", e));\n }\n this.options.oneListGroup && (a = this.buildObjectNode(a, n, \"\", e)), r += a;\n } else if (this.options.attributesGroupName && n === this.options.attributesGroupName) {\n const s = Object.keys(t[n]), a = s.length;\n for (let o = 0; o < a; o++)\n i += this.buildAttrPairStr(s[o], \"\" + t[n][s[o]]);\n } else\n r += this.processTextOrObjNode(t[n], n, e);\n return { attrStr: i, val: r };\n}, y.prototype.buildAttrPairStr = function(t, e) {\n return e = this.options.attributeValueProcessor(t, \"\" + e), e = this.replaceEntitiesValue(e), this.options.suppressBooleanAttributes && e === \"true\" ? \" \" + t : \" \" + t + '=\"' + e + '\"';\n};\nfunction $e(t, e, i) {\n const r = this.j2x(t, i + 1);\n return t[this.options.textNodeName] !== void 0 && Object.keys(t).length === 1 ? this.buildTextValNode(t[this.options.textNodeName], e, r.attrStr, i) : this.buildObjectNode(r.val, e, r.attrStr, i);\n}\ny.prototype.buildObjectNode = function(t, e, i, r) {\n if (t === \"\")\n return e[0] === \"?\" ? this.indentate(r) + \"<\" + e + i + \"?\" + this.tagEndChar : this.indentate(r) + \"<\" + e + i + this.closeTag(e) + this.tagEndChar;\n {\n let n = \"\" + t + n : this.options.commentPropName !== !1 && e === this.options.commentPropName && s.length === 0 ? this.indentate(r) + `` + this.newLine : this.indentate(r) + \"<\" + e + i + s + this.tagEndChar + t + this.indentate(r) + n;\n }\n}, y.prototype.closeTag = function(t) {\n let e = \"\";\n return this.options.unpairedTags.indexOf(t) !== -1 ? this.options.suppressUnpairedNode || (e = \"/\") : this.options.suppressEmptyNode ? e = \"/\" : e = `>` + this.newLine;\n if (this.options.commentPropName !== !1 && e === this.options.commentPropName)\n return this.indentate(r) + `` + this.newLine;\n if (e[0] === \"?\")\n return this.indentate(r) + \"<\" + e + i + \"?\" + this.tagEndChar;\n {\n let n = this.options.tagValueProcessor(e, t);\n return n = this.replaceEntitiesValue(n), n === \"\" ? this.indentate(r) + \"<\" + e + i + this.closeTag(e) + this.tagEndChar : this.indentate(r) + \"<\" + e + i + \">\" + n + \" 0 && this.options.processEntities)\n for (let e = 0; e < this.options.entities.length; e++) {\n const i = this.options.entities[e];\n t = t.replace(i.regex, i.val);\n }\n return t;\n};\nfunction Ve(t) {\n return this.options.indentBy.repeat(t);\n}\nfunction ke(t) {\n return t.startsWith(this.options.attributeNamePrefix) && t !== this.options.textNodeName ? t.substr(this.attrPrefixLen) : !1;\n}\nvar Le = y;\nconst Re = L, je = Te, Me = Le;\nvar H = { XMLParser: je, XMLValidator: Re, XMLBuilder: Me };\nfunction Be(t) {\n if (typeof t != \"string\")\n throw new TypeError(`Expected a \\`string\\`, got \\`${typeof t}\\``);\n if (t = t.trim(), t.length === 0 || H.XMLValidator.validate(t) !== !0)\n return !1;\n let e;\n const i = new H.XMLParser();\n try {\n e = i.parse(t);\n } catch {\n return !1;\n }\n return !(!e || !(\"svg\" in e));\n}\nclass ci {\n _view;\n constructor(e) {\n qe(e), this._view = e;\n }\n get id() {\n return this._view.id;\n }\n get name() {\n return this._view.name;\n }\n get caption() {\n return this._view.caption;\n }\n get emptyTitle() {\n return this._view.emptyTitle;\n }\n get emptyCaption() {\n return this._view.emptyCaption;\n }\n get getContents() {\n return this._view.getContents;\n }\n get icon() {\n return this._view.icon;\n }\n set icon(e) {\n this._view.icon = e;\n }\n get order() {\n return this._view.order;\n }\n set order(e) {\n this._view.order = e;\n }\n get params() {\n return this._view.params;\n }\n set params(e) {\n this._view.params = e;\n }\n get columns() {\n return this._view.columns;\n }\n get emptyView() {\n return this._view.emptyView;\n }\n get parent() {\n return this._view.parent;\n }\n get sticky() {\n return this._view.sticky;\n }\n get expanded() {\n return this._view.expanded;\n }\n set expanded(e) {\n this._view.expanded = e;\n }\n get defaultSortKey() {\n return this._view.defaultSortKey;\n }\n}\nconst qe = function(t) {\n if (!t.id || typeof t.id != \"string\")\n throw new Error(\"View id is required and must be a string\");\n if (!t.name || typeof t.name != \"string\")\n throw new Error(\"View name is required and must be a string\");\n if (t.columns && t.columns.length > 0 && (!t.caption || typeof t.caption != \"string\"))\n throw new Error(\"View caption is required for top-level views and must be a string\");\n if (!t.getContents || typeof t.getContents != \"function\")\n throw new Error(\"View getContents is required and must be a function\");\n if (!t.icon || typeof t.icon != \"string\" || !Be(t.icon))\n throw new Error(\"View icon is required and must be a valid svg string\");\n if (!(\"order\" in t) || typeof t.order != \"number\")\n throw new Error(\"View order is required and must be a number\");\n if (t.columns && t.columns.forEach((e) => {\n if (!(e instanceof At))\n throw new Error(\"View columns must be an array of Column. Invalid column found\");\n }), t.emptyView && typeof t.emptyView != \"function\")\n throw new Error(\"View emptyView must be a function\");\n if (t.parent && typeof t.parent != \"string\")\n throw new Error(\"View parent must be a string\");\n if (\"sticky\" in t && typeof t.sticky != \"boolean\")\n throw new Error(\"View sticky must be a boolean\");\n if (\"expanded\" in t && typeof t.expanded != \"boolean\")\n throw new Error(\"View expanded must be a boolean\");\n if (t.defaultSortKey && typeof t.defaultSortKey != \"string\")\n throw new Error(\"View defaultSortKey must be a string\");\n return !0;\n}, hi = function(t) {\n return F().registerEntry(t);\n}, pi = function(t) {\n return F().unregisterEntry(t);\n}, fi = function(t) {\n return F().getEntries(t);\n};\nexport {\n At as Column,\n K as DefaultType,\n bt as File,\n Qe as FileAction,\n k as FileType,\n Et as Folder,\n ii as Header,\n _t as Navigation,\n Q as Node,\n J as NodeStatus,\n v as Permission,\n ci as View,\n hi as addNewFileMenuEntry,\n li as davGetClient,\n oi as davGetDefaultPropfind,\n yt as davGetFavoritesReport,\n ai as davGetRecentSearch,\n xt as davParsePermissions,\n et as davRemoteURL,\n Nt as davResultToNode,\n tt as davRootPath,\n Y as defaultDavNamespaces,\n W as defaultDavProperties,\n Ze as formatFileSize,\n V as getDavNameSpaces,\n $ as getDavProperties,\n di as getFavoriteNodes,\n ei as getFileActions,\n ri as getFileListHeaders,\n ui as getNavigation,\n fi as getNewFileMenuEntries,\n Je as parseFileSize,\n si as registerDavProperty,\n ti as registerFileAction,\n ni as registerFileListHeaders,\n pi as removeNewFileMenuEntry\n};\n","import \"../assets/index-793eae6b.css\";\nimport { r as c } from \"../chunks/index-5f2a5f57.mjs\";\nimport { N as ut } from \"../chunks/index-5f2a5f57.mjs\";\nimport { generateUrl as p } from \"@nextcloud/router\";\nimport { n as u } from \"../chunks/_plugin-vue2_normalizer-71e2aa87.mjs\";\nimport { t as r } from \"../chunks/l10n-27a75c40.mjs\";\nimport \"../Directives/Tooltip.mjs\";\nimport { emojiAddRecent as m, emojiSearch as d } from \"../Functions/emoji.mjs\";\nimport { n as h, j as f } from \"../chunks/referencePickerModal-0fde503d.mjs\";\nimport \"@nextcloud/axios\";\nimport \"unist-util-visit\";\nimport \"unist-builder\";\nimport \"unified\";\nimport \"remark-parse\";\nimport \"remark-breaks\";\nimport \"remark-rehype\";\nimport \"rehype-react\";\nimport \"rehype-external-links\";\nimport \"./NcEmptyContent.mjs\";\nimport \"./NcSelect.mjs\";\nimport \"vue-material-design-icons/LinkVariant.vue\";\nimport \"./NcLoadingIcon.mjs\";\nimport \"./NcTextField.mjs\";\nimport \"vue-material-design-icons/DotsHorizontal.vue\";\nimport \"./NcButton.mjs\";\nimport \"./NcModal.mjs\";\nimport \"@nextcloud/event-bus\";\nimport \"vue-material-design-icons/ArrowLeft.vue\";\nimport \"vue-material-design-icons/Close.vue\";\nimport a from \"tributejs/dist/tribute.esm.js\";\nimport _ from \"debounce\";\nimport g from \"string-length\";\nimport { VTooltip as b } from \"floating-vue\";\nconst y = {\n name: \"NcAutoCompleteResult\",\n props: {\n title: {\n type: String,\n required: !0\n },\n subline: {\n type: String,\n default: null\n },\n id: {\n type: String,\n default: null\n },\n icon: {\n type: String,\n required: !0\n },\n iconUrl: {\n type: String,\n default: null\n },\n source: {\n type: String,\n required: !0\n },\n status: {\n type: [Object, Array],\n default: () => ({})\n }\n },\n computed: {\n avatarUrl() {\n return this.iconUrl ? this.iconUrl : this.id && this.source === \"users\" ? this.getAvatarUrl(this.id, 44) : null;\n },\n haveStatus() {\n var e, t, n;\n return ((e = this.status) == null ? void 0 : e.icon) || ((t = this.status) == null ? void 0 : t.status) && ((n = this.status) == null ? void 0 : n.status) !== \"offline\";\n }\n },\n methods: {\n getAvatarUrl(e, t) {\n return p(\"/avatar/{user}/{size}\", {\n user: e,\n size: t\n });\n }\n }\n};\nvar C = function() {\n var t = this, n = t._self._c;\n return n(\"div\", { staticClass: \"autocomplete-result\" }, [n(\"div\", { staticClass: \"autocomplete-result__icon\", class: [t.icon, `autocomplete-result__icon--${t.avatarUrl ? \"with-avatar\" : \"\"}`], style: t.avatarUrl ? { backgroundImage: `url(${t.avatarUrl})` } : null }, [t.haveStatus ? n(\"div\", { staticClass: \"autocomplete-result__status\", class: [`autocomplete-result__status--${t.status && t.status.icon ? \"icon\" : t.status.status}`] }, [t._v(\" \" + t._s(t.status && t.status.icon || \"\") + \" \")]) : t._e()]), n(\"span\", { staticClass: \"autocomplete-result__content\" }, [n(\"span\", { staticClass: \"autocomplete-result__title\", attrs: { title: t.title } }, [t._v(\" \" + t._s(t.title) + \" \")]), t.subline ? n(\"span\", { staticClass: \"autocomplete-result__subline\" }, [t._v(\" \" + t._s(t.subline) + \" \")]) : t._e()])]);\n}, v = [], k = /* @__PURE__ */ u(\n y,\n C,\n v,\n !1,\n null,\n \"25cf09d8\",\n null,\n null\n);\nconst x = k.exports;\nconst T = {\n name: \"NcRichContenteditable\",\n directives: {\n tooltip: b\n },\n mixins: [c],\n props: {\n value: {\n type: String,\n default: \"\",\n required: !0\n },\n placeholder: {\n type: String,\n default: r(\"Write a message …\")\n },\n autoComplete: {\n type: Function,\n default: () => []\n },\n menuContainer: {\n type: Element,\n default: () => document.body\n },\n /**\n * Make the contenteditable looks like a textarea or not.\n * Default looks like a single-line input.\n * This also handle the default enter/shift+enter behaviour.\n * if multiline, enter = newline; otherwise enter = submit\n * shift+enter always add a new line. ctrl+enter always submits\n */\n multiline: {\n type: Boolean,\n default: !1\n },\n /**\n * Is the content editable ?\n */\n contenteditable: {\n type: Boolean,\n default: !0\n },\n /**\n * Disable the editing and show specific disabled design\n */\n disabled: {\n type: Boolean,\n default: !1\n },\n /**\n * Max allowed length\n */\n maxlength: {\n type: Number,\n default: null\n },\n /**\n * Enable or disable emoji autocompletion\n */\n emojiAutocomplete: {\n type: Boolean,\n default: !0\n },\n /**\n * Enable or disable link autocompletion\n */\n linkAutocomplete: {\n type: Boolean,\n default: !0\n }\n },\n emits: [\n \"submit\",\n \"paste\",\n \"update:value\"\n ],\n data() {\n return {\n textSmiles: [],\n tribute: null,\n autocompleteOptions: {\n // Allow spaces in the middle of mentions\n allowSpaces: !0,\n fillAttr: \"id\",\n // Search against id and title (display name)\n lookup: (e) => `${e.id} ${e.title}`,\n // Where to inject the menu popup\n menuContainer: this.menuContainer,\n // Popup mention autocompletion templates\n menuItemTemplate: (e) => this.renderComponentHtml(e.original, x),\n // Hide if no results\n noMatchTemplate: () => '',\n // Inner display of mentions\n selectTemplate: (e) => {\n var t;\n return this.genSelectTemplate((t = e == null ? void 0 : e.original) == null ? void 0 : t.id);\n },\n // Autocompletion results\n values: this.debouncedAutoComplete\n },\n emojiOptions: {\n trigger: \":\",\n // Don't use the tribute search function at all\n // We pass search results as values (see below)\n lookup: (e, t) => t,\n // Where to inject the menu popup\n menuContainer: this.menuContainer,\n // Popup mention autocompletion templates\n menuItemTemplate: (e) => this.textSmiles.includes(e.original) ? e.original : `${e.original.native} :${e.original.short_name}`,\n // Hide if no results\n noMatchTemplate: () => r(\"No emoji found\"),\n // Display raw emoji along with its name\n selectTemplate: (e) => this.textSmiles.includes(e.original) ? e.original : (m(e.original), e.original.native),\n // Pass the search results as values\n values: (e, t) => {\n const n = d(e);\n this.textSmiles.includes(\":\" + e) && n.unshift(\":\" + e), t(n);\n },\n // Class added to the menu container\n containerClass: \"tribute-container-emoji\",\n // Class added to each list item\n itemClass: \"tribute-container-emoji__item\"\n },\n linkOptions: {\n trigger: \"/\",\n // Don't use the tribute search function at all\n // We pass search results as values (see below)\n lookup: (e, t) => t,\n // Where to inject the menu popup\n menuContainer: this.menuContainer,\n // Popup mention autocompletion templates\n menuItemTemplate: (e) => ` ${e.original.title}`,\n // Hide if no results\n noMatchTemplate: () => r(\"No link provider found\"),\n selectTemplate: this.getLink,\n // Pass the search results as values\n values: (e, t) => t(h(e)),\n // Class added to the menu container\n containerClass: \"tribute-container-link\",\n // Class added to each list item\n itemClass: \"tribute-container-link__item\"\n },\n // Represent the raw untrimmed text of the contenteditable\n // serves no other purpose than to check whether the\n // content is empty or not\n localValue: this.value,\n // Is in text composition session in IME\n isComposing: !1\n };\n },\n computed: {\n /**\n * Is the current trimmed value empty?\n *\n * @return {boolean}\n */\n isEmptyValue() {\n return !this.localValue || this.localValue && this.localValue.trim() === \"\";\n },\n /**\n * Is this Firefox? 🙄\n *\n * @return {boolean}\n */\n isFF() {\n return !!navigator.userAgent.match(/firefox/i);\n },\n /**\n * Is the current value over maxlength?\n *\n * @return {boolean}\n */\n isOverMaxlength() {\n return this.isEmptyValue || !this.maxlength ? !1 : g(this.localValue) > this.maxlength;\n },\n /**\n * Tooltip to show if characters count is over limit\n *\n * @return {string}\n */\n tooltipString() {\n return this.isOverMaxlength ? {\n content: r(\"Message limit of {count} characters reached\", { count: this.maxlength }),\n shown: !0,\n trigger: \"manual\"\n } : null;\n },\n /**\n * Edit is only allowed when contenteditableis true and disabled is false\n *\n * @return {boolean}\n */\n canEdit() {\n return this.contenteditable && !this.disabled;\n },\n /**\n * Proxied native event handlers without custom event handlers\n *\n * @return {Record}\n */\n listeners() {\n const e = { ...this.$listeners };\n return delete e.paste, e;\n }\n },\n watch: {\n /**\n * If the parent value change, we compare the plain text rendering\n * If it's different, we render everything and update the main content\n */\n value() {\n const e = this.$refs.contenteditable.innerHTML;\n this.value.trim() !== this.parseContent(e).trim() && this.updateContent(this.value);\n }\n },\n mounted() {\n const e = [\"d\", \"D\", \"p\", \"P\", \"s\", \"S\", \"x\", \"X\", \")\", \"(\", \"|\", \"/\"];\n this.textSmiles = [], e.forEach((t) => {\n this.textSmiles.push(\":\" + t), this.textSmiles.push(\":-\" + t);\n }), this.autocompleteTribute = new a(this.autocompleteOptions), this.autocompleteTribute.attach(this.$el), this.emojiAutocomplete && (this.emojiTribute = new a(this.emojiOptions), this.emojiTribute.attach(this.$el)), this.linkAutocomplete && (this.linkTribute = new a(this.linkOptions), this.linkTribute.attach(this.$el)), this.updateContent(this.value), this.$refs.contenteditable.contentEditable = this.canEdit;\n },\n beforeDestroy() {\n this.autocompleteTribute && this.autocompleteTribute.detach(this.$el), this.emojiTribute && this.emojiTribute.detach(this.$el), this.linkTribute && this.linkTribute.detach(this.$el);\n },\n methods: {\n /**\n * Focus the richContenteditable\n *\n * @public\n */\n focus() {\n this.$refs.contenteditable.focus();\n },\n getLink(e) {\n return f(e.original.id).then((t) => {\n const n = document.getElementById(\"tmp-link-result-node\"), i = document.createTextNode(t);\n n.replaceWith(i), this.setCursorAfter(i), this.updateValue(this.$refs.contenteditable.innerHTML);\n }).catch((t) => {\n console.debug(\"Smart picker promise rejected:\", t);\n const n = document.getElementById(\"tmp-link-result-node\");\n this.setCursorAfter(n), n.remove();\n }), '';\n },\n setCursorAfter(e) {\n const t = document.createRange();\n t.setEndAfter(e), t.collapse();\n const n = window.getSelection();\n n.removeAllRanges(), n.addRange(t);\n },\n /**\n * Re-emit the input event to the parent\n *\n * @param {Event} event the input event\n */\n onInput(e) {\n this.updateValue(e.target.innerHTML);\n },\n /**\n * When pasting, sanitize the content, extract text\n * and render it again\n *\n * @param {Event} event the paste event\n * @fires Event paste the original paste event\n */\n onPaste(e) {\n if (!this.canEdit)\n return;\n e.preventDefault();\n const t = e.clipboardData;\n if (this.$emit(\"paste\", e), t.files.length !== 0 || !Object.values(t.items).find((l) => l == null ? void 0 : l.type.startsWith(\"text\")))\n return;\n const n = t.getData(\"text\"), i = window.getSelection();\n if (!i.rangeCount) {\n this.updateValue(n);\n return;\n }\n const s = i.getRangeAt(0);\n i.deleteFromDocument(), s.insertNode(document.createTextNode(n));\n const o = document.createRange();\n o.setStart(e.target, s.endOffset), o.collapse(!0), i.removeAllRanges(), i.addRange(o), this.updateValue(this.$refs.contenteditable.innerHTML);\n },\n /**\n * Update the value text from the provided html\n *\n * @param {string} htmlOrText the html content (or raw text with @mentions)\n */\n updateValue(e) {\n const t = this.parseContent(e);\n this.localValue = t, this.$emit(\"update:value\", t);\n },\n /**\n * Update content and local value\n *\n * @param {string} value the message value\n */\n updateContent(e) {\n const t = this.renderContent(e);\n this.$refs.contenteditable.innerHTML = t, this.localValue = e;\n },\n /**\n * Because FF have a decade old bug preventing contenteditable=false\n * to properly be deleted on backspace, we have to hack 👀\n * https://stackoverflow.com/a/59383394/3885878\n * https://stackoverflow.com/a/30574622\n *\n * @param {Event} event the delete keydown event\n */\n onDelete(e) {\n if (!this.isFF || !window.getSelection || !this.canEdit)\n return;\n const t = window.getSelection(), n = e.target;\n if (!t.isCollapsed || !t.rangeCount)\n return;\n const i = t.getRangeAt(t.rangeCount - 1);\n if (i.commonAncestorContainer.nodeType === 3 && i.startOffset > 0)\n return;\n const s = document.createRange();\n if (t.anchorNode !== n)\n s.selectNodeContents(n), s.setEndBefore(t.anchorNode);\n else if (t.anchorOffset > 0)\n s.setEnd(n, t.anchorOffset);\n else\n return;\n s.setStart(n, s.endOffset - 1);\n const o = s.cloneContents().lastChild;\n o && o.contentEditable === \"false\" && (s.deleteContents(), e.preventDefault());\n },\n /**\n * Enter key pressed. Submits if not multiline\n *\n * @param {Event} event the keydown event\n */\n onEnter(e) {\n this.multiline || this.isOverMaxlength || this.autocompleteTribute.isActive || this.emojiTribute.isActive || this.linkTribute.isActive || this.isComposing || (e.preventDefault(), e.stopPropagation(), this.$emit(\"submit\", e));\n },\n /**\n * Ctrl + Enter key pressed is used to submit\n *\n * @param {Event} event the keydown event\n */\n onCtrlEnter(e) {\n this.isOverMaxlength || this.$emit(\"submit\", e);\n },\n /**\n * Debounce the autocomplete function\n */\n debouncedAutoComplete: _(async function(e, t) {\n this.autoComplete(e, t);\n }, 100),\n onKeyUp(e) {\n e.stopImmediatePropagation();\n }\n }\n};\nvar S = function() {\n var t = this, n = t._self._c;\n return n(\"div\", t._g({ directives: [{ name: \"tooltip\", rawName: \"v-tooltip\", value: t.tooltipString, expression: \"tooltipString\" }], ref: \"contenteditable\", staticClass: \"rich-contenteditable__input\", class: {\n \"rich-contenteditable__input--empty\": t.isEmptyValue,\n \"rich-contenteditable__input--multiline\": t.multiline,\n \"rich-contenteditable__input--overflow\": t.isOverMaxlength,\n \"rich-contenteditable__input--disabled\": t.disabled\n }, attrs: { contenteditable: t.canEdit, placeholder: t.placeholder, \"aria-placeholder\": t.placeholder, \"aria-multiline\": \"true\", role: \"textbox\" }, on: { input: t.onInput, compositionstart: function(i) {\n t.isComposing = !0;\n }, compositionend: function(i) {\n t.isComposing = !1;\n }, keydown: [function(i) {\n return !i.type.indexOf(\"key\") && t._k(i.keyCode, \"delete\", [8, 46], i.key, [\"Backspace\", \"Delete\", \"Del\"]) ? null : t.onDelete.apply(null, arguments);\n }, function(i) {\n return !i.type.indexOf(\"key\") && t._k(i.keyCode, \"enter\", 13, i.key, \"Enter\") || i.ctrlKey || i.shiftKey || i.altKey || i.metaKey ? null : t.onEnter.apply(null, arguments);\n }, function(i) {\n return !i.type.indexOf(\"key\") && t._k(i.keyCode, \"enter\", 13, i.key, \"Enter\") || !i.ctrlKey || i.shiftKey || i.altKey || i.metaKey ? null : (i.stopPropagation(), i.preventDefault(), t.onCtrlEnter.apply(null, arguments));\n }], paste: t.onPaste, \"!keyup\": function(i) {\n return i.stopPropagation(), i.preventDefault(), t.onKeyUp.apply(null, arguments);\n } } }, t.listeners));\n}, A = [], E = /* @__PURE__ */ u(\n T,\n S,\n A,\n !1,\n null,\n \"b7f5e546\",\n null,\n null\n);\nconst rt = E.exports;\nexport {\n x as NcAutoCompleteResult,\n ut as NcMentionBubble,\n rt as default\n};\n","import { N as b } from \"./referencePickerModal-0fde503d.mjs\";\nimport f from \"@nextcloud/axios\";\nimport { generateOcsUrl as d } from \"@nextcloud/router\";\nimport { n as g } from \"./_plugin-vue2_normalizer-71e2aa87.mjs\";\nimport { visit as _, SKIP as v } from \"unist-util-visit\";\nimport { u as l } from \"unist-builder\";\nimport { unified as y } from \"unified\";\nimport w from \"remark-parse\";\nimport R from \"remark-breaks\";\nimport N from \"remark-rehype\";\nimport A from \"rehype-react\";\nimport L from \"rehype-external-links\";\nconst m = /(\\s|^)(https?:\\/\\/)((?:[-A-Z0-9+_]+\\.)+[-A-Z]+(?:\\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*)(\\s|$)/ig, x = /(\\s|\\(|^)((https?:\\/\\/)((?:[-A-Z0-9+_]+\\.)+[-A-Z0-9]+(?::[0-9]+)?(?:\\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*))(?=\\s|\\)|$)/ig, $ = {\n name: \"NcReferenceList\",\n components: {\n NcReferenceWidget: b\n },\n props: {\n text: {\n type: String,\n default: \"\"\n },\n referenceData: {\n type: Object,\n default: null\n },\n limit: {\n type: Number,\n default: 1\n }\n },\n data() {\n return {\n references: null,\n loading: !0\n };\n },\n computed: {\n isVisible() {\n return this.loading || this.displayedReferences;\n },\n values() {\n return this.referenceData ? this.referenceData : this.references ? Object.values(this.references) : [];\n },\n firstReference() {\n var e;\n return (e = this.values[0]) != null ? e : null;\n },\n displayedReferences() {\n return this.values.slice(0, this.limit);\n }\n },\n watch: {\n text: \"fetch\"\n },\n mounted() {\n this.fetch();\n },\n methods: {\n fetch() {\n if (this.loading = !0, this.referenceData) {\n this.loading = !1;\n return;\n }\n if (!new RegExp(m).exec(this.text)) {\n this.loading = !1;\n return;\n }\n this.resolve().then((e) => {\n this.references = e.data.ocs.data.references, this.loading = !1;\n }).catch((e) => {\n console.error(\"Failed to extract references\", e), this.loading = !1;\n });\n },\n resolve() {\n const e = new RegExp(m).exec(this.text.trim());\n return this.limit === 1 && e ? f.get(d(\"references/resolve\", 2) + `?reference=${encodeURIComponent(e[0])}`) : f.post(d(\"references/extract\", 2), {\n text: this.text,\n resolve: !0,\n limit: this.limit\n });\n }\n }\n};\nvar j = function() {\n var s = this, t = s._self._c;\n return s.isVisible ? t(\"div\", { staticClass: \"widgets--list\", class: { \"icon-loading\": s.loading } }, s._l(s.displayedReferences, function(r) {\n var i;\n return t(\"div\", { key: (i = r == null ? void 0 : r.openGraphObject) == null ? void 0 : i.id }, [t(\"NcReferenceWidget\", { attrs: { reference: r } })], 1);\n }), 0) : s._e();\n}, T = [], O = /* @__PURE__ */ g(\n $,\n j,\n T,\n !1,\n null,\n \"bd1fbb02\",\n null,\n null\n);\nconst h = O.exports, C = {\n name: \"NcLink\",\n props: {\n href: {\n type: String,\n required: !0\n }\n },\n render(e) {\n return e(\"a\", {\n attrs: {\n href: this.href,\n rel: \"noopener noreferrer\",\n target: \"_blank\",\n class: \"rich-text--external-link\"\n }\n }, [this.href.trim()]);\n }\n}, M = function({ autolink: e, useMarkdown: s }) {\n return function(t) {\n !s || !e || _(t, (r) => r.type === \"text\", (r, i, n) => {\n let c = k(r.value);\n return c = c.map((a) => typeof a == \"string\" ? l(\"text\", a) : l(\"link\", {\n url: a.props.href\n }, [l(\"text\", a.props.href)])).filter((a) => a), n.children.splice(i, 1, ...c.flat()), [v, i + c.flat().length];\n });\n };\n}, k = (e) => {\n let s = x.exec(e);\n const t = [];\n let r = 0;\n for (; s !== null; ) {\n let n = s[2], c, a = e.substring(r, s.index + s[1].length);\n n[0] === \" \" && (a += n[0], n = n.substring(1).trim());\n const o = n[n.length - 1];\n (o === \".\" || o === \",\" || o === \";\" || s[0][0] === \"(\" && o === \")\") && (n = n.substring(0, n.length - 1), c = o), t.push(a), t.push({ component: C, props: { href: n } }), c && t.push(c), r = s.index + s[0].length, s = x.exec(e);\n }\n t.push(e.substring(r));\n const i = t.map((n) => typeof n == \"string\" ? n : n.props.href).join(\"\");\n return e === i ? t : (console.error(\"Failed to reassemble the chunked text: \" + e), e);\n}, D = function() {\n return function(e) {\n _(e, (t) => t.type === \"text\", s);\n function s(t, r, i) {\n const n = t.value.split(/(\\{[a-z\\-_.0-9]+\\})/ig).map((c, a, o) => {\n const p = c.match(/^\\{([a-z\\-_.0-9]+)\\}$/i);\n if (!p)\n return l(\"text\", c);\n const [, u] = p;\n return l(\"element\", {\n tagName: `#${u}`\n });\n });\n i.children.splice(r, 1, ...n);\n }\n };\n}, E = ({ h: e, context: s }, t) => (s.autolink && (t = k(t)), Array.isArray(t) ? t.map((r) => {\n if (typeof r == \"string\")\n return r;\n const { component: i, props: n } = r, c = i.name === \"NcLink\" ? void 0 : \"rich-text--component\";\n return e(i, {\n props: n,\n class: c\n });\n}) : t), P = {\n name: \"NcRichText\",\n components: {\n NcReferenceList: h\n },\n props: {\n text: {\n type: String,\n default: \"\"\n },\n arguments: {\n type: Object,\n default: () => ({})\n },\n referenceLimit: {\n type: Number,\n default: 0\n },\n /** Provide data upfront to avoid extra http request */\n references: {\n type: Object,\n default: null\n },\n markdownCssClasses: {\n type: Object,\n default: () => ({\n a: \"rich-text--external-link\",\n ol: \"rich-text--ordered-list\",\n ul: \"rich-text--un-ordered-list\",\n li: \"rich-text--list-item\",\n strong: \"rich-text--strong\",\n em: \"rich-text--italic\",\n h1: \"rich-text--heading rich-text--heading-1\",\n h2: \"rich-text--heading rich-text--heading-2\",\n h3: \"rich-text--heading rich-text--heading-3\",\n h4: \"rich-text--heading rich-text--heading-4\",\n h5: \"rich-text--heading rich-text--heading-5\",\n h6: \"rich-text--heading rich-text--heading-6\",\n hr: \"rich-text--hr\",\n table: \"rich-text--table\",\n pre: \"rich-text--pre\",\n code: \"rich-text--code\",\n blockquote: \"rich-text--blockquote\"\n })\n },\n useMarkdown: {\n type: Boolean,\n default: !1\n },\n autolink: {\n type: Boolean,\n default: !0\n }\n },\n methods: {\n renderPlaintext(e) {\n const s = this, t = this.text.split(/(\\{[a-z\\-_.0-9]+\\})/ig).map(function(r, i, n) {\n const c = r.match(/^\\{([a-z\\-_.0-9]+)\\}$/i);\n if (!c)\n return E({ h: e, context: s }, r);\n const a = c[1], o = s.arguments[a];\n if (typeof o == \"object\") {\n const { component: p, props: u } = o;\n return e(p, {\n props: u,\n class: \"rich-text--component\"\n });\n }\n return o ? e(\"span\", { class: \"rich-text--fallback\" }, o) : r;\n });\n return e(\"div\", { class: \"rich-text--wrapper\" }, [\n e(\"div\", {}, t.flat()),\n this.referenceLimit > 0 ? e(\"div\", { class: \"rich-text--reference-widget\" }, [\n e(h, { props: { text: this.text, referenceData: this.references } })\n ]) : null\n ]);\n },\n renderMarkdown(e) {\n const s = y().use(w).use(M, {\n autolink: this.autolink,\n useMarkdown: this.useMarkdown\n }).use(R).use(N, {\n handlers: {\n component(t, r) {\n return t(r, r.component, { value: r.value });\n }\n }\n }).use(D).use(L, {\n target: \"_blank\",\n rel: [\"noopener noreferrer\"]\n }).use(A, {\n createElement: (t, r, i) => {\n if (i = i == null ? void 0 : i.map(\n (c) => typeof c == \"string\" ? c.replace(/</gmi, \"<\") : c\n ), !t.startsWith(\"#\"))\n return e(t, r, i);\n const n = this.arguments[t.slice(1)];\n return n ? n.component ? e(\n n.component,\n {\n attrs: r,\n props: n.props,\n class: \"rich-text--component\"\n },\n i\n ) : e(\"span\", r, [n]) : e(\"span\", { attrs: r, class: \"rich-text--fallback\" }, [`{${t.slice(1)}}`]);\n },\n prefix: !1\n }).processSync(\n this.text.replace(/\")\n ).result;\n return e(\"div\", { class: \"rich-text--wrapper rich-text--wrapper-markdown\" }, [\n s,\n this.referenceLimit > 0 ? e(\"div\", { class: \"rich-text--reference-widget\" }, [\n e(h, { props: { text: this.text, referenceData: this.references } })\n ]) : null\n ]);\n }\n },\n render(e) {\n return this.useMarkdown ? this.renderMarkdown(e) : this.renderPlaintext(e);\n }\n}, U = null, Z = null;\nvar z = /* @__PURE__ */ g(\n P,\n U,\n Z,\n !1,\n null,\n \"f9d2c651\",\n null,\n null\n);\nconst X = z.exports;\nexport {\n X as N,\n h as a\n};\n","import i from \"./Components/NcActionButton.mjs\";\nimport m from \"./Components/NcActionButtonGroup.mjs\";\nimport e from \"./Components/NcActionCaption.mjs\";\nimport p from \"./Components/NcActionCheckbox.mjs\";\nimport c from \"./Components/NcActionInput.mjs\";\nimport f from \"./Components/NcActionLink.mjs\";\nimport n from \"./Components/NcActionRadio.mjs\";\nimport N from \"./Components/NcActionRouter.mjs\";\nimport a from \"./Components/NcActions.mjs\";\nimport s from \"./Components/NcActionSeparator.mjs\";\nimport l from \"./Components/NcActionText.mjs\";\nimport u from \"./Components/NcActionTextEditable.mjs\";\nimport d from \"./Components/NcAppContent.mjs\";\nimport A from \"./Components/NcAppContentDetails.mjs\";\nimport g from \"./Components/NcAppContentList.mjs\";\nimport b from \"./Components/NcAppNavigation.mjs\";\nimport S from \"./Components/NcAppNavigationCaption.mjs\";\nimport v from \"./Components/NcAppNavigationIconBullet.mjs\";\nimport T from \"./Components/NcAppNavigationItem.mjs\";\nimport x from \"./Components/NcAppNavigationNew.mjs\";\nimport C from \"./Components/NcAppNavigationNewItem.mjs\";\nimport k from \"./Components/NcAppNavigationSettings.mjs\";\nimport h from \"./Components/NcAppNavigationSpacer.mjs\";\nimport I from \"./Components/NcAppSettingsDialog.mjs\";\nimport y from \"./Components/NcAppSettingsSection.mjs\";\nimport P from \"./Components/NcAppSidebar.mjs\";\nimport B from \"./Components/NcAppSidebarTab.mjs\";\nimport { N as j } from \"./chunks/index-6c221fa0.mjs\";\nimport { u as or } from \"./chunks/index-6c221fa0.mjs\";\nimport R from \"./Components/NcBreadcrumb.mjs\";\nimport D from \"./Components/NcBreadcrumbs.mjs\";\nimport O from \"./Components/NcButton.mjs\";\nimport _ from \"./Components/NcCheckboxRadioSwitch.mjs\";\nimport E from \"./Components/NcColorPicker.mjs\";\nimport L from \"./Components/NcContent.mjs\";\nimport M from \"./Components/NcCounterBubble.mjs\";\nimport w from \"./Components/NcDashboardWidget.mjs\";\nimport F from \"./Components/NcDashboardWidgetItem.mjs\";\nimport z from \"./Components/NcDateTime.mjs\";\nimport G from \"./Components/NcDateTimePicker.mjs\";\nimport W from \"./Components/NcDateTimePickerNative.mjs\";\nimport H from \"./Components/NcEmojiPicker.mjs\";\nimport V from \"./Components/NcEmptyContent.mjs\";\nimport U from \"./Components/NcGuestContent.mjs\";\nimport $ from \"./Components/NcHeaderMenu.mjs\";\nimport { N as q } from \"./chunks/index-20a9ace9.mjs\";\nimport J from \"./Components/NcIconSvgWrapper.mjs\";\nimport K from \"./Components/NcListItem.mjs\";\nimport Q from \"./Components/NcListItemIcon.mjs\";\nimport X from \"./Components/NcLoadingIcon.mjs\";\nimport Y from \"./Components/NcModal.mjs\";\nimport Z from \"./Components/NcNoteCard.mjs\";\nimport oo from \"./Components/NcPasswordField.mjs\";\nimport to from \"./Components/NcPopover.mjs\";\nimport ro from \"./Components/NcProgressBar.mjs\";\nimport io from \"./Components/NcRelatedResourcesPanel.mjs\";\nimport { N as mo } from \"./chunks/index-5f2a5f57.mjs\";\nimport { r as rr } from \"./chunks/index-5f2a5f57.mjs\";\nimport eo, { NcAutoCompleteResult as po } from \"./Components/NcRichContenteditable.mjs\";\nimport { N as co } from \"./chunks/NcRichText-1c3d2654.mjs\";\nimport \"./chunks/referencePickerModal-0fde503d.mjs\";\nimport \"@nextcloud/axios\";\nimport \"@nextcloud/router\";\nimport fo from \"./Components/NcSelect.mjs\";\nimport \"./chunks/l10n-27a75c40.mjs\";\nimport \"vue-material-design-icons/LinkVariant.vue\";\nimport no from \"./Components/NcTextField.mjs\";\nimport \"vue-material-design-icons/DotsHorizontal.vue\";\nimport \"@nextcloud/event-bus\";\nimport \"vue-material-design-icons/ArrowLeft.vue\";\nimport \"vue-material-design-icons/Close.vue\";\nimport \"vue\";\nimport No from \"./Components/NcSavingIndicatorIcon.mjs\";\nimport ao from \"./Components/NcSelectTags.mjs\";\nimport so from \"./Components/NcSettingsInputText.mjs\";\nimport lo from \"./Components/NcSettingsSection.mjs\";\nimport { N as uo } from \"./chunks/NcSettingsSelectGroup-0f4a0f94.mjs\";\nimport Ao from \"./Components/NcTimezonePicker.mjs\";\nimport go from \"./Components/NcUserBubble.mjs\";\nimport { emojiAddRecent as mr, emojiSearch as er } from \"./Functions/emoji.mjs\";\nimport { default as cr } from \"./Functions/usernameToColor.mjs\";\nimport { directive as bo } from \"./Directives/Focus.mjs\";\nimport { directive as So } from \"./Directives/Linkify.mjs\";\nimport \"./Directives/Tooltip.mjs\";\nimport { default as nr } from \"./Mixins/clickOutsideOptions.mjs\";\nimport { default as ar } from \"./Mixins/isFullscreen.mjs\";\nimport { default as lr } from \"./Mixins/isMobile.mjs\";\nimport { VTooltip as vo } from \"floating-vue\";\nimport { VTooltip as dr } from \"floating-vue\";\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst To = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n NcActionButton: i,\n NcActionButtonGroup: m,\n NcActionCaption: e,\n NcActionCheckbox: p,\n NcActionInput: c,\n NcActionLink: f,\n NcActionRadio: n,\n NcActionRouter: N,\n NcActionSeparator: s,\n NcActionText: l,\n NcActionTextEditable: u,\n NcActions: a,\n NcAppContent: d,\n NcAppContentDetails: A,\n NcAppContentList: g,\n NcAppNavigation: b,\n NcAppNavigationCaption: S,\n NcAppNavigationIconBullet: v,\n NcAppNavigationItem: T,\n NcAppNavigationNew: x,\n NcAppNavigationNewItem: C,\n NcAppNavigationSettings: k,\n NcAppNavigationSpacer: h,\n NcAppSettingsDialog: I,\n NcAppSettingsSection: y,\n NcAppSidebar: P,\n NcAppSidebarTab: B,\n NcAutoCompleteResult: po,\n NcAvatar: j,\n NcBreadcrumb: R,\n NcBreadcrumbs: D,\n NcButton: O,\n NcCheckboxRadioSwitch: _,\n NcColorPicker: E,\n NcContent: L,\n NcCounterBubble: M,\n NcDashboardWidget: w,\n NcDashboardWidgetItem: F,\n NcDateTime: z,\n NcDateTimePicker: G,\n NcDateTimePickerNative: W,\n NcEmojiPicker: H,\n NcEmptyContent: V,\n NcGuestContent: U,\n NcHeaderMenu: $,\n NcHighlight: q,\n NcIconSvgWrapper: J,\n NcListItem: K,\n NcListItemIcon: Q,\n NcLoadingIcon: X,\n NcMentionBubble: mo,\n NcModal: Y,\n NcNoteCard: Z,\n NcPasswordField: oo,\n NcPopover: to,\n NcProgressBar: ro,\n NcRelatedResourcesPanel: io,\n NcRichContenteditable: eo,\n NcRichText: co,\n NcSavingIndicatorIcon: No,\n NcSelect: fo,\n NcSelectTags: ao,\n NcSettingsInputText: so,\n NcSettingsSection: lo,\n NcSettingsSelectGroup: uo,\n NcTextField: no,\n NcTimezonePicker: Ao,\n NcUserBubble: go\n}, Symbol.toStringTag, { value: \"Module\" }));\n/**\n * @copyright 2022 Christopher Ng \n *\n * @author Christopher Ng \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst Qt = (o) => o.type === \"click\" || o.type === \"keydown\" && o.key === \"Enter\";\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst xo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n Focus: bo,\n Linkify: So,\n Tooltip: vo\n}, Symbol.toStringTag, { value: \"Module\" })), Xt = {\n install(o) {\n Object.entries(To).forEach(([r, t]) => {\n o.component(t.name || r, t);\n }), Object.entries(xo).forEach(([r, t]) => {\n o.directive(r, t);\n });\n }\n};\nexport {\n bo as Focus,\n So as Linkify,\n i as NcActionButton,\n m as NcActionButtonGroup,\n e as NcActionCaption,\n p as NcActionCheckbox,\n c as NcActionInput,\n f as NcActionLink,\n n as NcActionRadio,\n N as NcActionRouter,\n s as NcActionSeparator,\n l as NcActionText,\n u as NcActionTextEditable,\n a as NcActions,\n d as NcAppContent,\n A as NcAppContentDetails,\n g as NcAppContentList,\n b as NcAppNavigation,\n S as NcAppNavigationCaption,\n v as NcAppNavigationIconBullet,\n T as NcAppNavigationItem,\n x as NcAppNavigationNew,\n C as NcAppNavigationNewItem,\n k as NcAppNavigationSettings,\n h as NcAppNavigationSpacer,\n I as NcAppSettingsDialog,\n y as NcAppSettingsSection,\n P as NcAppSidebar,\n B as NcAppSidebarTab,\n po as NcAutoCompleteResult,\n j as NcAvatar,\n R as NcBreadcrumb,\n D as NcBreadcrumbs,\n O as NcButton,\n _ as NcCheckboxRadioSwitch,\n E as NcColorPicker,\n L as NcContent,\n M as NcCounterBubble,\n w as NcDashboardWidget,\n F as NcDashboardWidgetItem,\n z as NcDateTime,\n G as NcDateTimePicker,\n W as NcDateTimePickerNative,\n H as NcEmojiPicker,\n V as NcEmptyContent,\n U as NcGuestContent,\n $ as NcHeaderMenu,\n q as NcHighlight,\n J as NcIconSvgWrapper,\n K as NcListItem,\n Q as NcListItemIcon,\n X as NcLoadingIcon,\n mo as NcMentionBubble,\n Y as NcModal,\n Z as NcNoteCard,\n oo as NcPasswordField,\n to as NcPopover,\n ro as NcProgressBar,\n io as NcRelatedResourcesPanel,\n eo as NcRichContenteditable,\n co as NcRichText,\n No as NcSavingIndicatorIcon,\n fo as NcSelect,\n ao as NcSelectTags,\n so as NcSettingsInputText,\n lo as NcSettingsSection,\n uo as NcSettingsSelectGroup,\n no as NcTextField,\n Ao as NcTimezonePicker,\n go as NcUserBubble,\n Xt as NextcloudVuePlugin,\n dr as Tooltip,\n nr as clickOutsideOptions,\n mr as emojiAddRecent,\n er as emojiSearch,\n Qt as isA11yActivation,\n ar as isFullscreen,\n lr as isMobile,\n rr as richEditor,\n or as userStatus,\n cr as usernameToColor\n};\n"],"names":["g","e","i","t","l","n","s","c","u","r","a","options","render","staticRenderFns","_compiled","functional","_scopeId","f","this","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","call","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","d","k","C","beforeCreate","concat","exports","G","name","emits","props","title","type","String","fillColor","default","size","Number","_self","_c","_b","staticClass","attrs","role","on","click","$emit","$attrs","fill","width","height","viewBox","_v","_s","_e","xe","__name","callback","label","icon","setup","emit","__sfc","handleClick","NcButton","NcIconSvgWrapper","_setupProxy","scopedSlots","_u","key","fn","svg","tag","proxy","Ie","message","additionalTrapElements","container","buttons","navigationClasses","contentClasses","dialogClasses","value","navigation","enableSlideshow","enableSwipe","slots","wrapper","dialogWidth","isNavigationCollapsed","hasNavigation","open","handleClose","modalProps","NcModal","DialogButton","close","domProps","textContent","class","ref","_t","isCollapsed","_l","$e","Ue","K","Ge","showCheckbox","Boolean","fileListIconStyles","_m","R","nt","node","previewURL","cropPreview","mimeFallback","attributes","previewUrl","fileid","URL","window","location","origin","searchParams","set","Ke","Xe","File","document","createElement","src","href","onerror","remove","onload","body","appendChild","immediate","isFile","canLoadPreview","IconFile","IconFolder","style","backgroundImage","mime","ct","allowPickDirectory","selected","canPick","displayName","basename","slice","extension","length","Folder","fileExtension","isDirectory","isPickable","toggleSelected","handleKeyDown","formatFileSize","NcCheckboxRadioSwitch","NcDateTime","FilePreview","_g","tabindex","keydown","disabled","checked","nodename","stopPropagation","timestamp","mtime","mt","multiselect","loading","files","selectedFiles","path","ascending","o","p","w","descending","none","N","localeCompare","getTime","b","sort","F","filter","z","h","y","A","T","V","parentElement","children","E","clientHeight","P","isSameNode","Math","floor","addEventListener","removeEventListener","sortByName","sortBySize","sortByModified","ordering","byName","bySize","byDate","toggleSorting","toggleSortByName","toggleSortBySize","toggleSortByModified","sortedFiles","selectableFiles","allSelected","onSelectAll","onNodeSelected","includes","onChangeDirectory","skeletonNumber","fileContainer","IconSortAscending","IconSortDescending","LoadingTableRow","FileListRow","wide","staticStyle","yt","St","Lt","showMenu","trim","$el","querySelector","OC","config","blacklist_files_regex","match","setCustomValidity","split","map","join","newNodeName","nameInput","validateInput","onSubmit","pathElements","IconHome","IconPlus","NcActions","NcActionInput","NcBreadcrumbs","NcBreadcrumb","placeholder","submit","input","Dt","At","Ot","Xt","ei","currentView","filterString","id","allViews","currentViewObject","updateFilterValue","IconClose","IconMagnify","NcSelect","NcTextField","Fragment","clearable","searchable","gi","filterFn","mimetypeFilter","async","sessionStorage","getItem","get","setItem","isSupportedMimeType","some","ii","isLoading","loadFiles","getFile","client","L","round","Date","now","data","search","details","results","getDirectoryContents","stat","ti","B","toLowerCase","I","dialogProps","dialogButtons","viewHeadline","savedPath","navigatedPath","currentPath","filteredFiles","noFilesDescription","onCreateFolder","createDirectory","then","catch","DialogBase","FileList","FilePickerBreadcrumbs","FilePickerNavigation","NcEmptyContent","description","m","setApp","build","setUid","uid","vt","_entries","registerEntry","validateEntry","push","unregisterEntry","getEntryIndex","splice","warn","entry","entries","getEntries","if","findIndex","iconSvgInline","iconClass","handler","Error","templateName","_nc_newfilemenu","debug","O","Ze","log","min","pow","toFixed","parseFloat","toLocaleString","Je","toLocaleLowerCase","replaceAll","DEFAULT","HIDDEN","Qe","_action","constructor","validateAction","enabled","exec","execBatch","order","inline","renderInline","Object","values","_nc_fileactions","find","error","action","ri","_nc_filelistheader","v","NONE","CREATE","READ","UPDATE","DELETE","SHARE","ALL","W","Y","nc","oc","ocs","$","_nc_dav_properties","_nc_dav_namespaces","keys","oi","ai","xt","Z","source","startsWith","crtime","permissions","owner","root","status","J","NEW","FAILED","LOADING","LOCKED","Q","_data","_attributes","_knownDavService","updateMtime","Reflect","deleteProperty","Proxy","replace","encodedSource","dirname","indexOf","pathname","isDavRessource","pop","move","rename","bt","Et","super","tt","et","li","headers","requesttoken","patch","method","di","includeSelf","filename","Nt","parse","lastmod","parseInt","getcontentlength","hasPreview","_views","_currentView","register","views","setActive","active","ui","_nc_navigation","_column","Tt","summary","RegExp","isExist","isEmptyObject","merge","getValue","isName","getAllMatches","startIndex","lastIndex","nameRegexp","It","allowBooleanAttributes","unpairedTags","q","U","substr","validate","assign","err","substring","Vt","Ct","index","code","msg","line","tagClosed","tagName","tagStartPos","col","Ft","JSON","stringify","Pt","$t","hasOwnProperty","it","preserveOrder","attributeNamePrefix","attributesGroupName","textNodeName","ignoreAttributes","removeNSPrefix","parseTagValue","parseAttributeValue","trimValues","cdataPropName","numberParseOptions","hex","leadingZeros","eNotation","tagValueProcessor","attributeValueProcessor","stopNodes","alwaysCreateTextNode","isArray","commentPropName","processEntities","htmlEntities","ignoreDeclaration","ignorePiTags","transformTagName","transformAttributeName","updateTag","buildOptions","defaultOptions","jt","Bt","qt","Ut","zt","Gt","Ht","Wt","Yt","Zt","decimalPoint","j","tagname","child","addChild","ee","entityName","val","regx","entities","ie","skipLike","test","Qt","re","lastEntities","regex","se","replaceEntitiesValue","S","oe","charAt","ae","le","resolveNameSpace","de","x","saveTextToParentTag","lastIndexOf","tagsNodeStack","D","tagExp","attrExpPresent","buildAttributesMap","closeIndex","docTypeEntities","parseTextData","rawTagName","isItStopNode","readStopNodeData","tagContent","ue","ce","ampEntity","he","pe","fe","ge","rt","ve","ye","Array","prettify","be","Ee","currentNode","apos","gt","lt","quot","space","cent","pound","yen","euro","copyright","reg","inr","addExternalEntities","parseXml","Ne","st","Oe","Ce","ot","X","_","indentBy","suppressUnpairedNode","suppressEmptyNode","endsWith","suppressBooleanAttributes","Se","format","Fe","oneListGroup","isAttribute","attrPrefixLen","ke","processTextOrObjNode","indentate","Ve","tagEndChar","newLine","j2x","buildTextValNode","attrStr","buildObjectNode","repeat","prototype","arrayNodeName","buildAttrPairStr","closeTag","H","XMLParser","externalEntities","toString","addEntity","XMLValidator","XMLBuilder","ci","_view","qe","caption","emptyTitle","emptyCaption","getContents","params","columns","emptyView","sticky","expanded","defaultSortKey","TypeError","Be","forEach","hi","fi","required","subline","iconUrl","computed","avatarUrl","getAvatarUrl","haveStatus","methods","user","directives","tooltip","mixins","autoComplete","Function","menuContainer","Element","multiline","contenteditable","maxlength","emojiAutocomplete","linkAutocomplete","textSmiles","tribute","autocompleteOptions","allowSpaces","fillAttr","lookup","menuItemTemplate","renderComponentHtml","original","noMatchTemplate","selectTemplate","genSelectTemplate","debouncedAutoComplete","emojiOptions","trigger","native","short_name","unshift","containerClass","itemClass","linkOptions","icon_url","getLink","localValue","isComposing","isEmptyValue","isFF","navigator","userAgent","isOverMaxlength","tooltipString","content","count","shown","canEdit","listeners","$listeners","paste","watch","$refs","innerHTML","parseContent","updateContent","mounted","autocompleteTribute","attach","emojiTribute","linkTribute","contentEditable","beforeDestroy","detach","focus","getElementById","createTextNode","replaceWith","setCursorAfter","updateValue","console","createRange","setEndAfter","collapse","getSelection","removeAllRanges","addRange","onInput","target","onPaste","preventDefault","clipboardData","items","getData","rangeCount","getRangeAt","deleteFromDocument","insertNode","setStart","endOffset","renderContent","onDelete","commonAncestorContainer","nodeType","startOffset","anchorNode","selectNodeContents","setEndBefore","anchorOffset","setEnd","cloneContents","lastChild","deleteContents","onEnter","isActive","onCtrlEnter","onKeyUp","stopImmediatePropagation","rawName","expression","compositionstart","compositionend","_k","keyCode","apply","arguments","ctrlKey","shiftKey","altKey","metaKey","components","NcReferenceWidget","text","referenceData","limit","references","isVisible","displayedReferences","firstReference","fetch","resolve","encodeURIComponent","post","openGraphObject","reference","rel","M","autolink","useMarkdown","url","flat","component","NcReferenceList","referenceLimit","markdownCssClasses","ol","ul","strong","em","h1","h2","h3","h4","h5","h6","hr","table","pre","blockquote","renderPlaintext","context","renderMarkdown","use","handlers","prefix","processSync","result","Symbol","toStringTag"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/comments-comments-app.js b/dist/comments-comments-app.js index f4e7ccc892482..2c69d18b660e8 100644 --- a/dist/comments-comments-app.js +++ b/dist/comments-comments-app.js @@ -1,3 +1,3 @@ /*! For license information please see comments-comments-app.js.LICENSE.txt */ -!function(){var r,e,n,o={92573:function(r,e,n){"use strict";var o=n(31352),a=n(77958),i=n(20144),s=n(79753),c=n(43554),u=n(64024),l=n(93664),p=n(2324),f=n(25108);function h(t){return h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},h(t)}function d(t,r){for(var e=0;e2&&void 0!==arguments[2]?arguments[2]:{},i=function(i){for(var s=arguments.length,c=new Array(s>1?s-1:0),u=1;u1){var n=t.find((function(t){return t.isIntersecting}));n&&(r=n)}if(e.callback){var o=r.isIntersecting&&r.intersectionRatio>=e.threshold;if(o===e.oldResult)return;e.oldResult=o,e.callback(o,r)}}),this.options.intersection),r.context.$nextTick((function(){e.observer&&e.observer.observe(e.el)}))}}},{key:"destroyObserver",value:function(){this.observer&&(this.observer.disconnect(),this.observer=null),this.callback&&this.callback._clear&&(this.callback._clear(),this.callback=null)}},{key:"threshold",get:function(){return this.options.intersection&&"number"==typeof this.options.intersection.threshold?this.options.intersection.threshold:0}}],e&&d(r.prototype,e),t}();function y(t,r,e){var n=r.value;if(n)if("undefined"==typeof IntersectionObserver)f.warn("[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill");else{var o=new v(t,n,e);t._vue_visibilityState=o}}function b(t){var r=t._vue_visibilityState;r&&(r.destroyObserver(),delete t._vue_visibilityState)}var w={bind:y,update:function(t,r,e){var n=r.value;if(!g(n,r.oldValue)){var o=t._vue_visibilityState;n?o?o.createObserver(n,e):y(t,{value:n},e):b(t)}},unbind:b},A={version:"1.0.0",install:function(t){t.directive("observe-visibility",w)}},x=null;"undefined"!=typeof window?x=window.Vue:void 0!==n.g&&(x=n.g.Vue),x&&x.use(A);var E=A,L=n(86514),C=n(57274),D={name:"RefreshIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},q=n(51900),k=(0,q.Z)(D,(function(){var t=this,r=t._self._c;return r("span",t._b({staticClass:"material-design-icon refresh-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(r){return t.$emit("click",r)}}},"span",t.$attrs,!1),[r("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[r("path",{attrs:{d:"M17.65,6.35C16.2,4.9 14.21,4 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C15.73,20 18.84,17.45 19.73,14H17.65C16.83,16.33 14.61,18 12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.66,6 15.14,6.69 16.22,7.78L13,11H20V4L17.65,6.35Z"}},[t.title?r("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,S={name:"MessageReplyTextIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},j=(0,q.Z)(S,(function(){var t=this,r=t._self._c;return r("span",t._b({staticClass:"material-design-icon message-reply-text-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(r){return t.$emit("click",r)}}},"span",t.$attrs,!1),[r("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[r("path",{attrs:{d:"M18,8H6V6H18V8M18,11H6V9H18V11M18,14H6V12H18V14M22,4A2,2 0 0,0 20,2H4A2,2 0 0,0 2,4V16A2,2 0 0,0 4,18H18L22,22V4Z"}},[t.title?r("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,N=n(94603),T=n(80351),O=n.n(T),_=n(20212),B=n(3349),R=n(68763),I=n(18519),P=n(22663),F=(n(83857),n(95573),n(12917),n(39429)),G={name:"Moment",props:{timestamp:{type:Number,required:!0},format:{type:String,default:"LLL"}},computed:{title:function(){return O().unix(this.timestamp).format(this.format)},formatted:function(){return O().unix(this.timestamp).fromNow()}}},U=(0,q.Z)(G,(function(){var t=this;return(0,t._self._c)("span",{staticClass:"live-relative-timestamp",attrs:{"data-timestamp":1e3*t.timestamp,title:t.title}},[t._v(t._s(t.formatted))])}),[],!1,null,null,null).exports,V=function(){return(0,s.generateRemoteUrl)("dav/comments")};function M(t){for(var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,e=new DOMParser,n=t,o=0;o=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=e.call(a,"catchLoc"),c=e.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&e.call(o,"finallyLoc")&&this.prev=0;--r){var e=this.tryEntries[r];if(e.finallyLoc===t)return this.complete(e.completion,e.afterLoc),L(e),p}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.tryLoc===t){var n=e.completion;if("throw"===n.type){var o=n.arg;L(e)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,e){return this.delegate={iterator:D(t),resultName:r,nextLoc:e},"next"===this.method&&(this.arg=void 0),p}},t}function $(t,r,e,n,o,a,i){try{var s=t[a](i),c=s.value}catch(t){return void e(t)}s.done?r(c):Promise.resolve(c).then(n,o)}function J(t,r,e){return Q.apply(this,arguments)}function Q(){var t;return t=W().mark((function t(r,e,n){var o,i,s,c,u,p;return W().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=["",r,e].join("/"),t.next=3,l.Z.post(V()+o,{actorDisplayName:(0,a.ts)().displayName,actorId:(0,a.ts)().uid,actorType:"users",creationDateTime:(new Date).toUTCString(),message:n,objectType:"files",verb:"comment"});case 3:return i=t.sent,s=parseInt(i.headers["content-location"].split("/").pop()),c=o+"/"+s,t.next=8,Z.stat(c,{details:!0});case 8:return u=t.sent,(p=u.data.props).actorDisplayName=M(p.actorDisplayName,2),p.message=M(p.message,2),t.abrupt("return",u.data);case 13:case"end":return t.stop()}}),t)})),Q=function(){var r=this,e=arguments;return new Promise((function(n,o){var a=t.apply(r,e);function i(t){$(a,n,o,i,s,"next",t)}function s(t){$(a,n,o,i,s,"throw",t)}i(void 0)}))},Q.apply(this,arguments)}function K(t){return K="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},K(t)}function X(){X=function(){return t};var t={},r=Object.prototype,e=r.hasOwnProperty,n=Object.defineProperty||function(t,r,e){t[r]=e.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(t,r,e){return Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{c({},"")}catch(t){c=function(t,r,e){return t[r]=e}}function u(t,r,e,o){var a=r&&r.prototype instanceof f?r:f,i=Object.create(a.prototype),s=new C(o||[]);return n(i,"_invoke",{value:A(t,e,s)}),i}function l(t,r,e){try{return{type:"normal",arg:t.call(r,e)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var p={};function f(){}function h(){}function d(){}var m={};c(m,a,(function(){return this}));var g=Object.getPrototypeOf,v=g&&g(g(D([])));v&&v!==r&&e.call(v,a)&&(m=v);var y=d.prototype=f.prototype=Object.create(m);function b(t){["next","throw","return"].forEach((function(r){c(t,r,(function(t){return this._invoke(r,t)}))}))}function w(t,r){function o(n,a,i,s){var c=l(t[n],t,a);if("throw"!==c.type){var u=c.arg,p=u.value;return p&&"object"==K(p)&&e.call(p,"__await")?r.resolve(p.__await).then((function(t){o("next",t,i,s)}),(function(t){o("throw",t,i,s)})):r.resolve(p).then((function(t){u.value=t,i(u)}),(function(t){return o("throw",t,i,s)}))}s(c.arg)}var a;n(this,"_invoke",{value:function(t,e){function n(){return new r((function(r,n){o(t,e,r,n)}))}return a=a?a.then(n,n):n()}})}function A(t,r,e){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return{value:void 0,done:!0}}for(e.method=o,e.arg=a;;){var i=e.delegate;if(i){var s=x(i,e);if(s){if(s===p)continue;return s}}if("next"===e.method)e.sent=e._sent=e.arg;else if("throw"===e.method){if("suspendedStart"===n)throw n="completed",e.arg;e.dispatchException(e.arg)}else"return"===e.method&&e.abrupt("return",e.arg);n="executing";var c=l(t,r,e);if("normal"===c.type){if(n=e.done?"completed":"suspendedYield",c.arg===p)continue;return{value:c.arg,done:e.done}}"throw"===c.type&&(n="completed",e.method="throw",e.arg=c.arg)}}}function x(t,r){var e=r.method,n=t.iterator[e];if(void 0===n)return r.delegate=null,"throw"===e&&t.iterator.return&&(r.method="return",r.arg=void 0,x(t,r),"throw"===r.method)||"return"!==e&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+e+"' method")),p;var o=l(n,t.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,p;var a=o.arg;return a?a.done?(r[t.resultName]=a.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=void 0),r.delegate=null,p):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,p)}function E(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function L(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function C(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(E,this),this.reset(!0)}function D(t){if(t){var r=t[a];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function r(){for(;++n=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=e.call(a,"catchLoc"),c=e.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&e.call(o,"finallyLoc")&&this.prev=0;--r){var e=this.tryEntries[r];if(e.finallyLoc===t)return this.complete(e.completion,e.afterLoc),L(e),p}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.tryLoc===t){var n=e.completion;if("throw"===n.type){var o=n.arg;L(e)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,e){return this.delegate={iterator:D(t),resultName:r,nextLoc:e},"next"===this.method&&(this.arg=void 0),p}},t}function tt(t,r,e,n,o,a,i){try{var s=t[a](i),c=s.value}catch(t){return void e(t)}s.done?r(c):Promise.resolve(c).then(n,o)}function rt(t,r,e){return et.apply(this,arguments)}function et(){var t;return t=X().mark((function t(r,e,n){var o;return X().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=["",r,e,n].join("/"),t.next=3,Z.deleteFile(o);case 3:case"end":return t.stop()}}),t)})),et=function(){var r=this,e=arguments;return new Promise((function(n,o){var a=t.apply(r,e);function i(t){tt(a,n,o,i,s,"next",t)}function s(t){tt(a,n,o,i,s,"throw",t)}i(void 0)}))},et.apply(this,arguments)}function nt(t){return nt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},nt(t)}function ot(){ot=function(){return t};var t={},r=Object.prototype,e=r.hasOwnProperty,n=Object.defineProperty||function(t,r,e){t[r]=e.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(t,r,e){return Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{c({},"")}catch(t){c=function(t,r,e){return t[r]=e}}function u(t,r,e,o){var a=r&&r.prototype instanceof f?r:f,i=Object.create(a.prototype),s=new C(o||[]);return n(i,"_invoke",{value:A(t,e,s)}),i}function l(t,r,e){try{return{type:"normal",arg:t.call(r,e)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var p={};function f(){}function h(){}function d(){}var m={};c(m,a,(function(){return this}));var g=Object.getPrototypeOf,v=g&&g(g(D([])));v&&v!==r&&e.call(v,a)&&(m=v);var y=d.prototype=f.prototype=Object.create(m);function b(t){["next","throw","return"].forEach((function(r){c(t,r,(function(t){return this._invoke(r,t)}))}))}function w(t,r){function o(n,a,i,s){var c=l(t[n],t,a);if("throw"!==c.type){var u=c.arg,p=u.value;return p&&"object"==nt(p)&&e.call(p,"__await")?r.resolve(p.__await).then((function(t){o("next",t,i,s)}),(function(t){o("throw",t,i,s)})):r.resolve(p).then((function(t){u.value=t,i(u)}),(function(t){return o("throw",t,i,s)}))}s(c.arg)}var a;n(this,"_invoke",{value:function(t,e){function n(){return new r((function(r,n){o(t,e,r,n)}))}return a=a?a.then(n,n):n()}})}function A(t,r,e){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return{value:void 0,done:!0}}for(e.method=o,e.arg=a;;){var i=e.delegate;if(i){var s=x(i,e);if(s){if(s===p)continue;return s}}if("next"===e.method)e.sent=e._sent=e.arg;else if("throw"===e.method){if("suspendedStart"===n)throw n="completed",e.arg;e.dispatchException(e.arg)}else"return"===e.method&&e.abrupt("return",e.arg);n="executing";var c=l(t,r,e);if("normal"===c.type){if(n=e.done?"completed":"suspendedYield",c.arg===p)continue;return{value:c.arg,done:e.done}}"throw"===c.type&&(n="completed",e.method="throw",e.arg=c.arg)}}}function x(t,r){var e=r.method,n=t.iterator[e];if(void 0===n)return r.delegate=null,"throw"===e&&t.iterator.return&&(r.method="return",r.arg=void 0,x(t,r),"throw"===r.method)||"return"!==e&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+e+"' method")),p;var o=l(n,t.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,p;var a=o.arg;return a?a.done?(r[t.resultName]=a.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=void 0),r.delegate=null,p):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,p)}function E(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function L(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function C(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(E,this),this.reset(!0)}function D(t){if(t){var r=t[a];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function r(){for(;++n=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=e.call(a,"catchLoc"),c=e.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&e.call(o,"finallyLoc")&&this.prev=0;--r){var e=this.tryEntries[r];if(e.finallyLoc===t)return this.complete(e.completion,e.afterLoc),L(e),p}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.tryLoc===t){var n=e.completion;if("throw"===n.type){var o=n.arg;L(e)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,e){return this.delegate={iterator:D(t),resultName:r,nextLoc:e},"next"===this.method&&(this.arg=void 0),p}},t}function at(t,r,e,n,o,a,i){try{var s=t[a](i),c=s.value}catch(t){return void e(t)}s.done?r(c):Promise.resolve(c).then(n,o)}function it(t,r,e,n){return st.apply(this,arguments)}function st(){var t;return t=ot().mark((function t(r,e,n,o){var a;return ot().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a=["",r,e,n].join("/"),t.next=3,Z.customRequest(a,Object.assign({method:"PROPPATCH",data:'\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t'.concat(o,"\n\t\t\t\t\n\t\t\t\n\t\t\t")}));case 3:return t.abrupt("return",t.sent);case 4:case"end":return t.stop()}}),t)})),st=function(){var r=this,e=arguments;return new Promise((function(n,o){var a=t.apply(r,e);function i(t){at(a,n,o,i,s,"next",t)}function s(t){at(a,n,o,i,s,"throw",t)}i(void 0)}))},st.apply(this,arguments)}var ct=n(25108);function ut(t){return ut="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ut(t)}function lt(){lt=function(){return t};var t={},r=Object.prototype,e=r.hasOwnProperty,n=Object.defineProperty||function(t,r,e){t[r]=e.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(t,r,e){return Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{c({},"")}catch(t){c=function(t,r,e){return t[r]=e}}function u(t,r,e,o){var a=r&&r.prototype instanceof f?r:f,i=Object.create(a.prototype),s=new C(o||[]);return n(i,"_invoke",{value:A(t,e,s)}),i}function l(t,r,e){try{return{type:"normal",arg:t.call(r,e)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var p={};function f(){}function h(){}function d(){}var m={};c(m,a,(function(){return this}));var g=Object.getPrototypeOf,v=g&&g(g(D([])));v&&v!==r&&e.call(v,a)&&(m=v);var y=d.prototype=f.prototype=Object.create(m);function b(t){["next","throw","return"].forEach((function(r){c(t,r,(function(t){return this._invoke(r,t)}))}))}function w(t,r){function o(n,a,i,s){var c=l(t[n],t,a);if("throw"!==c.type){var u=c.arg,p=u.value;return p&&"object"==ut(p)&&e.call(p,"__await")?r.resolve(p.__await).then((function(t){o("next",t,i,s)}),(function(t){o("throw",t,i,s)})):r.resolve(p).then((function(t){u.value=t,i(u)}),(function(t){return o("throw",t,i,s)}))}s(c.arg)}var a;n(this,"_invoke",{value:function(t,e){function n(){return new r((function(r,n){o(t,e,r,n)}))}return a=a?a.then(n,n):n()}})}function A(t,r,e){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return{value:void 0,done:!0}}for(e.method=o,e.arg=a;;){var i=e.delegate;if(i){var s=x(i,e);if(s){if(s===p)continue;return s}}if("next"===e.method)e.sent=e._sent=e.arg;else if("throw"===e.method){if("suspendedStart"===n)throw n="completed",e.arg;e.dispatchException(e.arg)}else"return"===e.method&&e.abrupt("return",e.arg);n="executing";var c=l(t,r,e);if("normal"===c.type){if(n=e.done?"completed":"suspendedYield",c.arg===p)continue;return{value:c.arg,done:e.done}}"throw"===c.type&&(n="completed",e.method="throw",e.arg=c.arg)}}}function x(t,r){var e=r.method,n=t.iterator[e];if(void 0===n)return r.delegate=null,"throw"===e&&t.iterator.return&&(r.method="return",r.arg=void 0,x(t,r),"throw"===r.method)||"return"!==e&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+e+"' method")),p;var o=l(n,t.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,p;var a=o.arg;return a?a.done?(r[t.resultName]=a.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=void 0),r.delegate=null,p):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,p)}function E(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function L(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function C(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(E,this),this.reset(!0)}function D(t){if(t){var r=t[a];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function r(){for(;++n=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=e.call(a,"catchLoc"),c=e.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&e.call(o,"finallyLoc")&&this.prev=0;--r){var e=this.tryEntries[r];if(e.finallyLoc===t)return this.complete(e.completion,e.afterLoc),L(e),p}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.tryLoc===t){var n=e.completion;if("throw"===n.type){var o=n.arg;L(e)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,e){return this.delegate={iterator:D(t),resultName:r,nextLoc:e},"next"===this.method&&(this.arg=void 0),p}},t}function pt(t,r,e,n,o,a,i){try{var s=t[a](i),c=s.value}catch(t){return void e(t)}s.done?r(c):Promise.resolve(c).then(n,o)}function ft(t){return function(){var r=this,e=arguments;return new Promise((function(n,o){var a=t.apply(r,e);function i(t){pt(a,n,o,i,s,"next",t)}function s(t){pt(a,n,o,i,s,"throw",t)}i(void 0)}))}}var ht={props:{id:{type:Number,default:null},message:{type:String,default:""},ressourceId:{type:[String,Number],required:!0}},data:function(){return{deleted:!1,editing:!1,loading:!1}},methods:{onEdit:function(){this.editing=!0},onEditCancel:function(){this.editing=!1,this.updateLocalMessage(this.message)},onEditComment:function(r){var e=this;return ft(lt().mark((function n(){return lt().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return e.loading=!0,n.prev=1,n.next=4,it(e.commentsType,e.ressourceId,e.id,r);case 4:e.logger.debug("Comment edited",{commentsType:e.commentsType,ressourceId:e.ressourceId,id:e.id,message:r}),e.$emit("update:message",r),e.editing=!1,n.next=13;break;case 9:n.prev=9,n.t0=n.catch(1),(0,u.x2)(t("comments","An error occurred while trying to edit the comment")),ct.error(n.t0);case 13:return n.prev=13,e.loading=!1,n.finish(13);case 16:case"end":return n.stop()}}),n,null,[[1,9,13,16]])})))()},onDeleteWithUndo:function(){var r=this;this.deleted=!0;var e=setTimeout(this.onDelete,u.et);(0,u.yl)(t("comments","Comment deleted"),(function(){clearTimeout(e),r.deleted=!1}))},onDelete:function(){var r=this;return ft(lt().mark((function e(){return lt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,rt(r.commentsType,r.ressourceId,r.id);case 3:r.logger.debug("Comment deleted",{commentsType:r.commentsType,ressourceId:r.ressourceId,id:r.id}),r.$emit("delete",r.id),e.next=12;break;case 7:e.prev=7,e.t0=e.catch(0),(0,u.x2)(t("comments","An error occurred while trying to delete the comment")),ct.error(e.t0),r.deleted=!1;case 12:case"end":return e.stop()}}),e,null,[[0,7]])})))()},onNewComment:function(r){var e=this;return ft(lt().mark((function n(){var o;return lt().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return e.loading=!0,n.prev=1,n.next=4,J(e.commentsType,e.ressourceId,r);case 4:o=n.sent,e.logger.debug("New comment posted",{commentsType:e.commentsType,ressourceId:e.ressourceId,newComment:o}),e.$emit("new",o),e.$emit("update:message",""),e.localMessage="",n.next=15;break;case 11:n.prev=11,n.t0=n.catch(1),(0,u.x2)(t("comments","An error occurred while trying to create the comment")),ct.error(n.t0);case 15:return n.prev=15,e.loading=!1,n.finish(15);case 18:case"end":return n.stop()}}),n,null,[[1,11,15,18]])})))()}}},dt={name:"Comment",components:{NcActionButton:_.Z,NcActions:B.Z,NcActionSeparator:R.Z,ArrowRight:F.default,NcAvatar:I.Z,NcButton:C.Z,Moment:U,NcRichContenteditable:function(){return Promise.all([n.e(7874),n.e(6318)]).then(n.bind(n,46318))}},mixins:[P.r,ht],inheritAttrs:!1,props:{actorDisplayName:{type:String,required:!0},actorId:{type:String,required:!0},creationDateTime:{type:String,default:null},editor:{type:Boolean,default:!1},autoComplete:{type:Function,required:!0},tag:{type:String,default:"div"}},data:function(){return{expanded:!1,localMessage:""}},computed:{isOwnComment:function(){return(0,a.ts)().uid===this.actorId},renderedContent:function(){return this.isEmptyMessage?"":this.renderContent(this.localMessage)},isEmptyMessage:function(){return!this.localMessage||""===this.localMessage.trim()},timestamp:function(){return parseInt(O()(this.creationDateTime).format("x"),10)/1e3}},watch:{message:function(t){this.updateLocalMessage(t)}},beforeMount:function(){this.updateLocalMessage(this.message)},methods:{updateLocalMessage:function(t){this.localMessage=t.toString()},onSubmit:function(){var t=this;if(""!==this.localMessage.trim())return this.editor?(this.onNewComment(this.localMessage.trim()),void this.$nextTick((function(){t.$refs.editor.$el.focus()}))):void this.onEditComment(this.localMessage.trim())},onExpand:function(){this.expanded=!0}}},mt=n(93379),gt=n.n(mt),vt=n(7795),yt=n.n(vt),bt=n(90569),wt=n.n(bt),At=n(3565),xt=n.n(At),Et=n(19216),Lt=n.n(Et),Ct=n(44589),Dt=n.n(Ct),qt=n(73090),kt={};kt.styleTagTransform=Dt(),kt.setAttributes=xt(),kt.insert=wt().bind(null,"head"),kt.domAPI=yt(),kt.insertStyleElement=Lt(),gt()(qt.Z,kt),qt.Z&&qt.Z.locals&&qt.Z.locals;var St=(0,q.Z)(dt,(function(){var t=this,r=t._self._c;return r(t.tag,{directives:[{name:"show",rawName:"v-show",value:!t.deleted,expression:"!deleted"}],tag:"component",staticClass:"comment",class:{"comment--loading":t.loading}},[r("div",{staticClass:"comment__side"},[r("NcAvatar",{staticClass:"comment__avatar",attrs:{"display-name":t.actorDisplayName,user:t.actorId,size:32}})],1),t._v(" "),r("div",{staticClass:"comment__body"},[r("div",{staticClass:"comment__header"},[r("span",{staticClass:"comment__author"},[t._v(t._s(t.actorDisplayName))]),t._v(" "),t.isOwnComment&&t.id&&!t.loading?r("NcActions",{staticClass:"comment__actions"},[t.editing?r("NcActionButton",{attrs:{icon:"icon-close"},on:{click:t.onEditCancel}},[t._v("\n\t\t\t\t\t"+t._s(t.t("comments","Cancel edit"))+"\n\t\t\t\t")]):[r("NcActionButton",{attrs:{"close-after-click":!0,icon:"icon-rename"},on:{click:t.onEdit}},[t._v("\n\t\t\t\t\t\t"+t._s(t.t("comments","Edit comment"))+"\n\t\t\t\t\t")]),t._v(" "),r("NcActionSeparator"),t._v(" "),r("NcActionButton",{attrs:{"close-after-click":!0,icon:"icon-delete"},on:{click:t.onDeleteWithUndo}},[t._v("\n\t\t\t\t\t\t"+t._s(t.t("comments","Delete comment"))+"\n\t\t\t\t\t")])]],2):t._e(),t._v(" "),t.id&&t.loading?r("div",{staticClass:"comment_loading icon-loading-small"}):t.creationDateTime?r("Moment",{staticClass:"comment__timestamp",attrs:{timestamp:t.timestamp}}):t._e()],1),t._v(" "),t.editor||t.editing?r("form",{staticClass:"comment__editor",on:{submit:function(t){t.preventDefault()}}},[r("div",{staticClass:"comment__editor-group"},[r("NcRichContenteditable",{ref:"editor",attrs:{"auto-complete":t.autoComplete,contenteditable:!t.loading,value:t.localMessage,"user-data":t.userData,"aria-describedby":"tab-comments__editor-description"},on:{"update:value":t.updateLocalMessage,submit:t.onSubmit}}),t._v(" "),r("div",{staticClass:"comment__submit"},[r("NcButton",{attrs:{type:"tertiary-no-background","native-type":"submit","aria-label":t.t("comments","Post comment"),disabled:t.isEmptyMessage},on:{click:t.onSubmit},scopedSlots:t._u([{key:"icon",fn:function(){return[t.loading?r("span",{staticClass:"icon-loading-small"}):r("ArrowRight",{attrs:{size:20}})]},proxy:!0}],null,!1,2357784758)})],1)],1),t._v(" "),r("div",{staticClass:"comment__editor-description",attrs:{id:"tab-comments__editor-description"}},[t._v("\n\t\t\t\t"+t._s(t.t("comments",'"@" for mentions, ":" for emoji, "/" for smart picker'))+"\n\t\t\t")])]):r("div",{staticClass:"comment__message",class:{"comment__message--expanded":t.expanded},domProps:{innerHTML:t._s(t.renderedContent)},on:{click:t.onExpand}})])])}),[],!1,null,"6d874704",null).exports,jt=n(54298);const Nt={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",!0],"[:alpha:]":["\\p{L}\\p{Nl}",!0],"[:ascii:]":["\\x00-\\x7f",!1],"[:blank:]":["\\p{Zs}\\t",!0],"[:cntrl:]":["\\p{Cc}",!0],"[:digit:]":["\\p{Nd}",!0],"[:graph:]":["\\p{Z}\\p{C}",!0,!0],"[:lower:]":["\\p{Ll}",!0],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}",!0],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",!0],"[:upper:]":["\\p{Lu}",!0],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",!0],"[:xdigit:]":["A-Fa-f0-9",!1]},Tt=t=>t.replace(/[[\]\\-]/g,"\\$&"),Ot=t=>t.join(""),_t=(t,r)=>{const e=r;if("["!==t.charAt(e))throw new Error("not in a brace expression");const n=[],o=[];let a=e+1,i=!1,s=!1,c=!1,u=!1,l=e,p="";t:for(;ap?n.push(Tt(p)+"-"+Tt(r)):r===p&&n.push(Tt(r)),p="",a++):t.startsWith("-]",a+1)?(n.push(Tt(r+"-")),a+=2):t.startsWith("-",a+1)?(p=r,a+=2):(n.push(Tt(r)),a++)}else c=!0,a++}else u=!0,a++}if(l(dr(r),!(!e.nocomment&&"#"===r.charAt(0))&&new vr(r,e).match(t)),Pt=/^\*+([^+@!?\*\[\(]*)$/,Ft=t=>r=>!r.startsWith(".")&&r.endsWith(t),Gt=t=>r=>r.endsWith(t),Ut=t=>(t=t.toLowerCase(),r=>!r.startsWith(".")&&r.toLowerCase().endsWith(t)),Vt=t=>(t=t.toLowerCase(),r=>r.toLowerCase().endsWith(t)),Mt=/^\*+\.\*+$/,zt=t=>!t.startsWith(".")&&t.includes("."),Ht=t=>"."!==t&&".."!==t&&t.includes("."),Zt=/^\.\*+$/,Yt=t=>"."!==t&&".."!==t&&t.startsWith("."),Wt=/^\*+$/,$t=t=>0!==t.length&&!t.startsWith("."),Jt=t=>0!==t.length&&"."!==t&&".."!==t,Qt=/^\?+([^+@!?\*\[\(]*)?$/,Kt=([t,r=""])=>{const e=er([t]);return r?(r=r.toLowerCase(),t=>e(t)&&t.toLowerCase().endsWith(r)):e},Xt=([t,r=""])=>{const e=nr([t]);return r?(r=r.toLowerCase(),t=>e(t)&&t.toLowerCase().endsWith(r)):e},tr=([t,r=""])=>{const e=nr([t]);return r?t=>e(t)&&t.endsWith(r):e},rr=([t,r=""])=>{const e=er([t]);return r?t=>e(t)&&t.endsWith(r):e},er=([t])=>{const r=t.length;return t=>t.length===r&&!t.startsWith(".")},nr=([t])=>{const r=t.length;return t=>t.length===r&&"."!==t&&".."!==t},or="object"==typeof Bt&&Bt?"object"==typeof Bt.env&&Bt.env&&Bt.env.__MINIMATCH_TESTING_PLATFORM__||Bt.platform:"posix";It.sep="win32"===or?"\\":"/";const ar=Symbol("globstar **");It.GLOBSTAR=ar;const ir={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}},sr="[^/]",cr=sr+"*?",ur=t=>t.split("").reduce(((t,r)=>(t[r]=!0,t)),{}),lr=ur("().*{}+?[]^$\\!"),pr=ur("[.(");It.filter=(t,r={})=>e=>It(e,t,r);const fr=(t,r={})=>Object.assign({},t,r);It.defaults=t=>{if(!t||"object"!=typeof t||!Object.keys(t).length)return It;const r=It;return Object.assign(((e,n,o={})=>r(e,n,fr(t,o))),{Minimatch:class extends r.Minimatch{constructor(r,e={}){super(r,fr(t,e))}static defaults(e){return r.defaults(fr(t,e)).Minimatch}},unescape:(e,n={})=>r.unescape(e,fr(t,n)),escape:(e,n={})=>r.escape(e,fr(t,n)),filter:(e,n={})=>r.filter(e,fr(t,n)),defaults:e=>r.defaults(fr(t,e)),makeRe:(e,n={})=>r.makeRe(e,fr(t,n)),braceExpand:(e,n={})=>r.braceExpand(e,fr(t,n)),match:(e,n,o={})=>r.match(e,n,fr(t,o)),sep:r.sep,GLOBSTAR:ar})};const hr=(t,r={})=>(dr(t),r.nobrace||!/\{(?:(?!\{).)*\}/.test(t)?[t]:jt(t));It.braceExpand=hr;const dr=t=>{if("string"!=typeof t)throw new TypeError("invalid pattern");if(t.length>65536)throw new TypeError("pattern is too long")};It.makeRe=(t,r={})=>new vr(t,r).makeRe(),It.match=(t,r,e={})=>{const n=new vr(r,e);return t=t.filter((t=>n.match(t))),n.options.nonull&&!t.length&&t.push(r),t};const mr=/[?*]|[+@!]\(.*?\)|\[|\]/,gr=t=>t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");class vr{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;regexp;constructor(t,r={}){dr(t),r=r||{},this.options=r,this.pattern=t,this.platform=r.platform||or,this.isWindows="win32"===this.platform,this.windowsPathsNoEscape=!!r.windowsPathsNoEscape||!1===r.allowWindowsEscape,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,"/")),this.preserveMultipleSlashes=!!r.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!r.nonegate,this.comment=!1,this.empty=!1,this.partial=!!r.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=void 0!==r.windowsNoMagicRoot?r.windowsNoMagicRoot:!(!this.isWindows||!this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(const t of this.set)for(const r of t)if("string"!=typeof r)return!0;return!1}debug(...t){}make(){const t=this.pattern,r=this.options;if(!r.nocomment&&"#"===t.charAt(0))return void(this.comment=!0);if(!t)return void(this.empty=!0);this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],r.debug&&(this.debug=(...t)=>Rt.error(...t)),this.debug(this.pattern,this.globSet);const e=this.globSet.map((t=>this.slashSplit(t)));this.globParts=this.preprocess(e),this.debug(this.pattern,this.globParts);let n=this.globParts.map(((t,r,e)=>{if(this.isWindows&&this.windowsNoMagicRoot){const r=!(""!==t[0]||""!==t[1]||"?"!==t[2]&&mr.test(t[2])||mr.test(t[3])),e=/^[a-z]:/i.test(t[0]);if(r)return[...t.slice(0,4),...t.slice(4).map((t=>this.parse(t)))];if(e)return[t[0],...t.slice(1).map((t=>this.parse(t)))]}return t.map((t=>this.parse(t)))}));if(this.debug(this.pattern,n),this.set=n.filter((t=>-1===t.indexOf(!1))),this.isWindows)for(let t=0;t=2?(t=this.firstPhasePreProcess(t),t=this.secondPhasePreProcess(t)):t=r>=1?this.levelOneOptimize(t):this.adjascentGlobstarOptimize(t),t}adjascentGlobstarOptimize(t){return t.map((t=>{let r=-1;for(;-1!==(r=t.indexOf("**",r+1));){let e=r;for(;"**"===t[e+1];)e++;e!==r&&t.splice(r,e-r)}return t}))}levelOneOptimize(t){return t.map((t=>0===(t=t.reduce(((t,r)=>{const e=t[t.length-1];return"**"===r&&"**"===e?t:".."===r&&e&&".."!==e&&"."!==e&&"**"!==e?(t.pop(),t):(t.push(r),t)}),[])).length?[""]:t))}levelTwoFileOptimize(t){Array.isArray(t)||(t=this.slashSplit(t));let r=!1;do{if(r=!1,!this.preserveMultipleSlashes){for(let e=1;en&&e.splice(n+1,o-n);let a=e[n+1];const i=e[n+2],s=e[n+3];if(".."!==a)continue;if(!i||"."===i||".."===i||!s||"."===s||".."===s)continue;r=!0,e.splice(n,1);const c=e.slice(0);c[n]="**",t.push(c),n--}if(!this.preserveMultipleSlashes){for(let t=1;tt.length))}partsMatch(t,r,e=!1){let n=0,o=0,a=[],i="";for(;n=2&&(t=this.levelTwoFileOptimize(t)),this.debug("matchOne",this,{file:t,pattern:r}),this.debug("matchOne",t.length,r.length);for(var a=0,i=0,s=t.length,c=r.length;a>> no match, partial?",t,p,r,f),p!==s))}let o;if("string"==typeof u?(o=l===u,this.debug("string match",u,l,o)):(o=u.test(l),this.debug("pattern match",u,l,o)),!o)return!1}if(a===s&&i===c)return!0;if(a===s)return e;if(i===c)return a===s-1&&""===t[a];throw new Error("wtf?")}braceExpand(){return hr(this.pattern,this.options)}parse(t){dr(t);const r=this.options;if("**"===t)return ar;if(""===t)return"";let e,n=null;(e=t.match(Wt))?n=r.dot?Jt:$t:(e=t.match(Pt))?n=(r.nocase?r.dot?Vt:Ut:r.dot?Gt:Ft)(e[1]):(e=t.match(Qt))?n=(r.nocase?r.dot?Xt:Kt:r.dot?tr:rr)(e):(e=t.match(Mt))?n=r.dot?Ht:zt:(e=t.match(Zt))&&(n=Yt);let o="",a=!1,i=!1;const s=[],c=[];let u,l=!1,p=!1,f="."===t.charAt(0),h=r.dot||f;const d=t=>"."===t.charAt(0)?"":r.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)",m=()=>{if(l){switch(l){case"*":o+=cr,a=!0;break;case"?":o+=sr,a=!0;break;default:o+="\\"+l}this.debug("clearStateChar %j %j",l,o),l=!1}};for(let e,n=0;n(e||(e="\\"),r+r+e+"|"))),this.debug("tail=%j\n %s",t,t,u,o);const r="*"===u.type?cr:"?"===u.type?sr:"\\"+u.type;a=!0,o=o.slice(0,u.reStart)+r+"\\("+t}m(),i&&(o+="\\\\");const g=pr[o.charAt(0)];for(let t=c.length-1;t>-1;t--){const r=c[t],e=o.slice(0,r.reStart),n=o.slice(r.reStart,r.reEnd-8);let a=o.slice(r.reEnd);const i=o.slice(r.reEnd-8,r.reEnd)+a,s=e.split(")").length,u=e.split("(").length-s;let l=a;for(let t=0;t{const r=t.map((t=>"string"==typeof t?gr(t):t===ar?ar:t._src));return r.forEach(((t,n)=>{const o=r[n+1],a=r[n-1];t===ar&&a!==ar&&(void 0===a?void 0!==o&&o!==ar?r[n+1]="(?:\\/|"+e+"\\/)?"+o:r[n]=e:void 0===o?r[n-1]=a+"(?:\\/|"+e+")?":o!==ar&&(r[n-1]=a+"(?:\\/|\\/"+e+"\\/)"+o,r[n+1]=ar))})),r.filter((t=>t!==ar)).join("/")})).join("|");o="^(?:"+o+")$",this.negate&&(o="^(?!"+o+").*$");try{this.regexp=new RegExp(o,n)}catch(t){this.regexp=!1}return this.regexp}slashSplit(t){return this.preserveMultipleSlashes?t.split("/"):this.isWindows&&/^\/\/[^\/]+/.test(t)?["",...t.split(/\/+/)]:t.split(/\/+/)}match(t,r=this.partial){if(this.debug("match",t,this.pattern),this.comment)return!1;if(this.empty)return""===t;if("/"===t&&r)return!0;const e=this.options;this.isWindows&&(t=t.split("\\").join("/"));const n=this.slashSplit(t);this.debug(this.pattern,"split",n);const o=this.set;this.debug(this.pattern,"set",o);let a=n[n.length-1];if(!a)for(let t=n.length-2;!a&&t>=0;t--)a=n[t];for(let t=0;tr?t.replace(/[?*()[\]]/g,"[$&]"):t.replace(/[?*()[\]\\]/g,"\\$&"),It.unescape=(t,{windowsPathsNoEscape:r=!1}={})=>r?t.replace(/\[([^\/\\])\]/g,"$1"):t.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1");var yr=n(10065);function br(t,r,e=!1){return e?{data:r,headers:t.headers?(0,yr.P)(t.headers):{},status:t.status,statusText:t.statusText}:r}var wr,Ar=n(23722),xr=(n(16932),n(65070),n(97501),n(86492)),Er=n(62639);function Lr(t){return Lr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Lr(t)}function Cr(){Cr=function(){return t};var t={},r=Object.prototype,e=r.hasOwnProperty,n=Object.defineProperty||function(t,r,e){t[r]=e.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(t,r,e){return Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{c({},"")}catch(t){c=function(t,r,e){return t[r]=e}}function u(t,r,e,o){var a=r&&r.prototype instanceof f?r:f,i=Object.create(a.prototype),s=new C(o||[]);return n(i,"_invoke",{value:A(t,e,s)}),i}function l(t,r,e){try{return{type:"normal",arg:t.call(r,e)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var p={};function f(){}function h(){}function d(){}var m={};c(m,a,(function(){return this}));var g=Object.getPrototypeOf,v=g&&g(g(D([])));v&&v!==r&&e.call(v,a)&&(m=v);var y=d.prototype=f.prototype=Object.create(m);function b(t){["next","throw","return"].forEach((function(r){c(t,r,(function(t){return this._invoke(r,t)}))}))}function w(t,r){function o(n,a,i,s){var c=l(t[n],t,a);if("throw"!==c.type){var u=c.arg,p=u.value;return p&&"object"==Lr(p)&&e.call(p,"__await")?r.resolve(p.__await).then((function(t){o("next",t,i,s)}),(function(t){o("throw",t,i,s)})):r.resolve(p).then((function(t){u.value=t,i(u)}),(function(t){return o("throw",t,i,s)}))}s(c.arg)}var a;n(this,"_invoke",{value:function(t,e){function n(){return new r((function(r,n){o(t,e,r,n)}))}return a=a?a.then(n,n):n()}})}function A(t,r,e){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return{value:void 0,done:!0}}for(e.method=o,e.arg=a;;){var i=e.delegate;if(i){var s=x(i,e);if(s){if(s===p)continue;return s}}if("next"===e.method)e.sent=e._sent=e.arg;else if("throw"===e.method){if("suspendedStart"===n)throw n="completed",e.arg;e.dispatchException(e.arg)}else"return"===e.method&&e.abrupt("return",e.arg);n="executing";var c=l(t,r,e);if("normal"===c.type){if(n=e.done?"completed":"suspendedYield",c.arg===p)continue;return{value:c.arg,done:e.done}}"throw"===c.type&&(n="completed",e.method="throw",e.arg=c.arg)}}}function x(t,r){var e=r.method,n=t.iterator[e];if(void 0===n)return r.delegate=null,"throw"===e&&t.iterator.return&&(r.method="return",r.arg=void 0,x(t,r),"throw"===r.method)||"return"!==e&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+e+"' method")),p;var o=l(n,t.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,p;var a=o.arg;return a?a.done?(r[t.resultName]=a.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=void 0),r.delegate=null,p):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,p)}function E(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function L(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function C(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(E,this),this.reset(!0)}function D(t){if(t){var r=t[a];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function r(){for(;++n=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=e.call(a,"catchLoc"),c=e.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&e.call(o,"finallyLoc")&&this.prev=0;--r){var e=this.tryEntries[r];if(e.finallyLoc===t)return this.complete(e.completion,e.afterLoc),L(e),p}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.tryLoc===t){var n=e.completion;if("throw"===n.type){var o=n.arg;L(e)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,e){return this.delegate={iterator:D(t),resultName:r,nextLoc:e},"next"===this.method&&(this.arg=void 0),p}},t}function Dr(t,r,e,n,o,a,i){try{var s=t[a](i),c=s.value}catch(t){return void e(t)}s.done?r(c):Promise.resolve(c).then(n,o)}!function(t){t.Array="array",t.Object="object",t.Original="original"}(wr||(wr={}));var qr=function(){var t,r=(t=Cr().mark((function t(r,e){var n,o,a,i,s,c,u;return Cr().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=r.commentsType,o=r.ressourceId,a=["",n,o].join("/"),t.next=4,Z.customRequest(a,Object.assign({method:"REPORT",data:'\n\t\t\t\n\t\t\t\t'.concat(20,"\n\t\t\t\t").concat(e.offset||0,"\n\t\t\t")},e));case 4:return i=t.sent,t.next=7,i.text();case 7:return s=t.sent,t.next=10,(0,H.sw)(s);case 10:return c=t.sent,u=kr(c,!0),t.abrupt("return",br(i,u,!0));case 13:case"end":return t.stop()}}),t)})),function(){var r=this,e=arguments;return new Promise((function(n,o){var a=t.apply(r,e);function i(t){Dr(a,n,o,i,s,"next",t)}function s(t){Dr(a,n,o,i,s,"throw",t)}i(void 0)}))});return function(t,e){return r.apply(this,arguments)}}(),kr=function(t){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return t.multistatus.response.map((function(t){var e=t.propstat.prop;return function(t,r,e=!1){const{getlastmodified:n=null,getcontentlength:o="0",resourcetype:a=null,getcontenttype:i=null,getetag:s=null}=t,c=a&&"object"==typeof a&&void 0!==a.collection?"directory":"file",u=function(t){if((0,Er.$)()){const r=document.createElement("textarea");return r.innerHTML=t,r.value}return xr.decode(t)}(r),l={filename:u,basename:Ar.basename(u),lastmod:n,size:parseInt(o,10),type:c,etag:"string"==typeof s?s.replace(/"/g,""):null};return"file"===c&&(l.mime=i&&"string"==typeof i?i.split(";")[0]:""),e&&(l.props=t),l}(e,e.id.toString(),r)}))};function Sr(t){return Sr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Sr(t)}function jr(){jr=function(){return t};var t={},r=Object.prototype,e=r.hasOwnProperty,n=Object.defineProperty||function(t,r,e){t[r]=e.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(t,r,e){return Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{c({},"")}catch(t){c=function(t,r,e){return t[r]=e}}function u(t,r,e,o){var a=r&&r.prototype instanceof f?r:f,i=Object.create(a.prototype),s=new C(o||[]);return n(i,"_invoke",{value:A(t,e,s)}),i}function l(t,r,e){try{return{type:"normal",arg:t.call(r,e)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var p={};function f(){}function h(){}function d(){}var m={};c(m,a,(function(){return this}));var g=Object.getPrototypeOf,v=g&&g(g(D([])));v&&v!==r&&e.call(v,a)&&(m=v);var y=d.prototype=f.prototype=Object.create(m);function b(t){["next","throw","return"].forEach((function(r){c(t,r,(function(t){return this._invoke(r,t)}))}))}function w(t,r){function o(n,a,i,s){var c=l(t[n],t,a);if("throw"!==c.type){var u=c.arg,p=u.value;return p&&"object"==Sr(p)&&e.call(p,"__await")?r.resolve(p.__await).then((function(t){o("next",t,i,s)}),(function(t){o("throw",t,i,s)})):r.resolve(p).then((function(t){u.value=t,i(u)}),(function(t){return o("throw",t,i,s)}))}s(c.arg)}var a;n(this,"_invoke",{value:function(t,e){function n(){return new r((function(r,n){o(t,e,r,n)}))}return a=a?a.then(n,n):n()}})}function A(t,r,e){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return{value:void 0,done:!0}}for(e.method=o,e.arg=a;;){var i=e.delegate;if(i){var s=x(i,e);if(s){if(s===p)continue;return s}}if("next"===e.method)e.sent=e._sent=e.arg;else if("throw"===e.method){if("suspendedStart"===n)throw n="completed",e.arg;e.dispatchException(e.arg)}else"return"===e.method&&e.abrupt("return",e.arg);n="executing";var c=l(t,r,e);if("normal"===c.type){if(n=e.done?"completed":"suspendedYield",c.arg===p)continue;return{value:c.arg,done:e.done}}"throw"===c.type&&(n="completed",e.method="throw",e.arg=c.arg)}}}function x(t,r){var e=r.method,n=t.iterator[e];if(void 0===n)return r.delegate=null,"throw"===e&&t.iterator.return&&(r.method="return",r.arg=void 0,x(t,r),"throw"===r.method)||"return"!==e&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+e+"' method")),p;var o=l(n,t.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,p;var a=o.arg;return a?a.done?(r[t.resultName]=a.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=void 0),r.delegate=null,p):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,p)}function E(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function L(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function C(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(E,this),this.reset(!0)}function D(t){if(t){var r=t[a];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function r(){for(;++n=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=e.call(a,"catchLoc"),c=e.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&e.call(o,"finallyLoc")&&this.prev=0;--r){var e=this.tryEntries[r];if(e.finallyLoc===t)return this.complete(e.completion,e.afterLoc),L(e),p}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.tryLoc===t){var n=e.completion;if("throw"===n.type){var o=n.arg;L(e)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,e){return this.delegate={iterator:D(t),resultName:r,nextLoc:e},"next"===this.method&&(this.arg=void 0),p}},t}function Nr(t,r,e,n,o,a,i){try{var s=t[a](i),c=s.value}catch(t){return void e(t)}s.done?r(c):Promise.resolve(c).then(n,o)}var Tr=function(t){var r=new AbortController,e=r.signal,n=function(){var r,n=(r=jr().mark((function r(n,o){var a;return jr().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,t(n,Object.assign({signal:e},o));case 2:return a=r.sent,r.abrupt("return",a);case 4:case"end":return r.stop()}}),r)})),function(){var t=this,e=arguments;return new Promise((function(n,o){var a=r.apply(t,e);function i(t){Nr(a,n,o,i,s,"next",t)}function s(t){Nr(a,n,o,i,s,"throw",t)}i(void 0)}))});return function(t,r){return n.apply(this,arguments)}}();return{request:n,abort:function(){return r.abort()}}},Or=n(25108);function _r(t){return _r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_r(t)}function Br(t,r){(null==r||r>t.length)&&(r=t.length);for(var e=0,n=new Array(r);e=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=e.call(a,"catchLoc"),c=e.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&e.call(o,"finallyLoc")&&this.prev=0;--r){var e=this.tryEntries[r];if(e.finallyLoc===t)return this.complete(e.completion,e.afterLoc),L(e),p}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.tryLoc===t){var n=e.completion;if("throw"===n.type){var o=n.arg;L(e)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,e){return this.delegate={iterator:D(t),resultName:r,nextLoc:e},"next"===this.method&&(this.arg=void 0),p}},t}function Ir(t,r,e,n,o,a,i){try{var s=t[a](i),c=s.value}catch(t){return void e(t)}s.done?r(c):Promise.resolve(c).then(n,o)}function Pr(t){return function(){var r=this,e=arguments;return new Promise((function(n,o){var a=t.apply(r,e);function i(t){Ir(a,n,o,i,s,"next",t)}function s(t){Ir(a,n,o,i,s,"throw",t)}i(void 0)}))}}i.default.use(p.ZP),i.default.use(E);var Fr={name:"Comments",components:{Comment:St,NcEmptyContent:L.Z,NcButton:C.Z,RefreshIcon:k,MessageReplyTextIcon:j,AlertCircleOutlineIcon:N.default},data:function(){return{error:"",loading:!1,done:!1,ressourceId:null,offset:0,comments:[],cancelRequest:function(){},editorData:{actorDisplayName:(0,a.ts)().displayName,actorId:(0,a.ts)().uid,key:"editor"},Comment:St,userData:{}}},computed:{hasComments:function(){return this.comments.length>0},isFirstLoading:function(){return this.loading&&0===this.offset}},methods:{onVisibilityChange:function(r){var e=this;return Pr(Rr().mark((function n(){return Rr().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!r){n.next=9;break}return n.prev=1,n.next=4,o=e.commentsType,a=e.ressourceId,i=new Date,void 0,void 0,s=["",o,a].join("/"),c=i.toUTCString(),Z.customRequest(s,{method:"PROPPATCH",data:'\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t'.concat(c,"\n\t\t\t\t\n\t\t\t\n\t\t\t")});case 4:n.next=9;break;case 6:n.prev=6,n.t0=n.catch(1),(0,u.x2)(n.t0.message||t("comments","Failed to mark comments as read"));case 9:case"end":return n.stop()}var o,a,i,s,c}),n,null,[[1,6]])})))()},update:function(t){var r=this;return Pr(Rr().mark((function e(){return Rr().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r.ressourceId=t,r.resetState(),r.getComments();case 3:case"end":return e.stop()}}),e)})))()},onScrollBottomReached:function(){this.error||this.done||this.loading||this.getComments()},genMentionsData:function(t){var r=this;return Object.values(t).flat().forEach((function(t){r.userData[t.mentionId]={icon:"icon-user",id:t.mentionId,label:t.mentionDisplayName,source:"users",primary:(0,a.ts)().uid===t.mentionId}})),this.userData},getComments:function(){var r=this;return Pr(Rr().mark((function e(){var n,o,a,i,s,c;return Rr().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r.cancelRequest("cancel"),e.prev=1,r.loading=!0,r.error="",o=Tr(qr),a=o.request,i=o.abort,r.cancelRequest=i,e.next=8,a({commentsType:r.commentsType,ressourceId:r.ressourceId},{offset:r.offset});case 8:if(e.t0=e.sent,e.t0){e.next=11;break}e.t0={data:[]};case 11:s=e.t0,c=s.data,r.logger.debug("Processed ".concat(c.length," comments"),{comments:c}),c.length<20&&(r.done=!0),(n=r.comments).push.apply(n,function(t){if(Array.isArray(t))return Br(t)}(u=c)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(u)||function(t,r){if(t){if("string"==typeof t)return Br(t,r);var e=Object.prototype.toString.call(t).slice(8,-1);return"Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?Br(t,r):void 0}}(u)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),r.offset+=20,e.next=25;break;case 19:if(e.prev=19,e.t1=e.catch(1),"cancel"!==e.t1.message){e.next=23;break}return e.abrupt("return");case 23:r.error=t("comments","Unable to load the comments list"),Or.error("Error loading the comments list",e.t1);case 25:return e.prev=25,r.loading=!1,e.finish(25);case 28:case"end":return e.stop()}var u}),e,null,[[1,19,25,28]])})))()},autoComplete:function(t,r){var e=this;return Pr(Rr().mark((function n(){return Rr().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,l.Z.get((0,s.generateOcsUrl)("core/autocomplete/get"),{params:{search:t,itemType:"files",itemId:e.ressourceId,sorter:"commenters|share-recipients",limit:(0,c.j)("comments","maxAutoCompleteResults")}});case 2:return n.sent.data.ocs.data.forEach((function(t){e.userData[t.id]=t})),n.abrupt("return",r(Object.values(e.userData)));case 5:case"end":return n.stop()}}),n)})))()},onNewComment:function(t){this.comments.unshift(t)},onDelete:function(t){var r=this.comments.findIndex((function(r){return r.props.id===t}));r>-1?this.comments.splice(r,1):Or.error("Could not find the deleted comment in the list",t)},resetState:function(){this.error="",this.loading=!1,this.done=!1,this.offset=0,this.comments=[]}}},Gr=Fr,Ur=n(31292),Vr={};Vr.styleTagTransform=Dt(),Vr.setAttributes=xt(),Vr.insert=wt().bind(null,"head"),Vr.domAPI=yt(),Vr.insertStyleElement=Lt(),gt()(Ur.Z,Vr),Ur.Z&&Ur.Z.locals&&Ur.Z.locals;var Mr=(0,q.Z)(Gr,(function(){var t=this,r=t._self._c;return r("div",{directives:[{name:"observe-visibility",rawName:"v-observe-visibility",value:t.onVisibilityChange,expression:"onVisibilityChange"}],staticClass:"comments",class:{"icon-loading":t.isFirstLoading}},[r("Comment",t._b({staticClass:"comments__writer",attrs:{"auto-complete":t.autoComplete,"user-data":t.userData,editor:!0,"ressource-id":t.ressourceId},on:{new:t.onNewComment}},"Comment",t.editorData,!1)),t._v(" "),t.isFirstLoading?t._e():[!t.hasComments&&t.done?r("NcEmptyContent",{staticClass:"comments__empty",attrs:{name:t.t("comments","No comments yet, start the conversation!")},scopedSlots:t._u([{key:"icon",fn:function(){return[r("MessageReplyTextIcon")]},proxy:!0}],null,!1,1033639148)}):r("ul",t._l(t.comments,(function(e){return r("Comment",t._b({key:e.props.id,staticClass:"comments__list",attrs:{tag:"li","auto-complete":t.autoComplete,message:e.props.message,"ressource-id":t.ressourceId,"user-data":t.genMentionsData(e.props.mentions)},on:{"update:message":function(r){return t.$set(e.props,"message",r)},delete:t.onDelete}},"Comment",e.props,!1))})),1),t._v(" "),t.loading&&!t.isFirstLoading?r("div",{staticClass:"comments__info icon-loading"}):t.hasComments&&t.done?r("div",{staticClass:"comments__info"},[t._v("\n\t\t\t"+t._s(t.t("comments","No more messages"))+"\n\t\t")]):t.error?[r("NcEmptyContent",{staticClass:"comments__error",attrs:{name:t.error},scopedSlots:t._u([{key:"icon",fn:function(){return[r("AlertCircleOutlineIcon")]},proxy:!0}],null,!1,66050004)}),t._v(" "),r("NcButton",{staticClass:"comments__retry",on:{click:t.getComments},scopedSlots:t._u([{key:"icon",fn:function(){return[r("RefreshIcon")]},proxy:!0}],null,!1,3924573781)},[t._v("\n\t\t\t\t"+t._s(t.t("comments","Retry"))+"\n\t\t\t")])]:t._e()]],2)}),[],!1,null,"5750efc5",null).exports,zr=(0,n(17499).IY)().setApp("comments").detectUser().build();function Hr(t){return Hr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Hr(t)}function Zr(t,r){for(var e=0;e0&&void 0!==arguments[0]?arguments[0]:"files",e=arguments.length>1?arguments[1]:void 0;return function(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}(this,t),i.default.mixin({data:function(){return{commentsType:r}}}),new(i.default.extend(Mr))(e)})),$r=n(25108);window.OCA&&!window.OCA.Comments&&Object.assign(window.OCA,{Comments:{}}),Object.assign(window.OCA.Comments,{View:Wr}),$r.debug("OCA.Comments.View initialized")},5623:function(t){"use strict";function r(t,r,o){t instanceof RegExp&&(t=e(t,o)),r instanceof RegExp&&(r=e(r,o));var a=n(t,r,o);return a&&{start:a[0],end:a[1],pre:o.slice(0,a[0]),body:o.slice(a[0]+t.length,a[1]),post:o.slice(a[1]+r.length)}}function e(t,r){var e=r.match(t);return e?e[0]:null}function n(t,r,e){var n,o,a,i,s,c=e.indexOf(t),u=e.indexOf(r,c+1),l=c;if(c>=0&&u>0){if(t===r)return[c,u];for(n=[],a=e.length;l>=0&&!s;)l==c?(n.push(l),c=e.indexOf(t,l+1)):1==n.length?s=[n.pop(),u]:((o=n.pop())=0?c:u;n.length&&(s=[a,i])}return s}t.exports=r,r.range=n},97501:function(t,r,e){var n;t=e.nmd(t),function(o){var a=(t&&t.exports,"object"==typeof e.g&&e.g);a.global!==a&&a.window;var i=function(t){this.message=t};(i.prototype=new Error).name="InvalidCharacterError";var s=function(t){throw new i(t)},c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",u=/[\t\n\f\r ]/g,l={encode:function(t){t=String(t),/[^\0-\xFF]/.test(t)&&s("The string to be encoded contains characters outside of the Latin1 range.");for(var r,e,n,o,a=t.length%3,i="",u=-1,l=t.length-a;++u>18&63)+c.charAt(o>>12&63)+c.charAt(o>>6&63)+c.charAt(63&o);return 2==a?(r=t.charCodeAt(u)<<8,e=t.charCodeAt(++u),i+=c.charAt((o=r+e)>>10)+c.charAt(o>>4&63)+c.charAt(o<<2&63)+"="):1==a&&(o=t.charCodeAt(u),i+=c.charAt(o>>2)+c.charAt(o<<4&63)+"=="),i},decode:function(t){var r=(t=String(t).replace(u,"")).length;r%4==0&&(r=(t=t.replace(/==?$/,"")).length),(r%4==1||/[^+a-zA-Z0-9/]/.test(t))&&s("Invalid character: the string to be decoded is not correctly encoded.");for(var e,n,o=0,a="",i=-1;++i>(-2*o&6)));return a},version:"1.0.0"};void 0===(n=function(){return l}.call(r,e,r,t))||(t.exports=n)}()},73090:function(t,r,e){"use strict";var n=e(87537),o=e.n(n),a=e(23645),i=e.n(a)()(o());i.push([t.id,".comment[data-v-6d874704]{display:flex;gap:16px;padding:5px 10px}.comment__side[data-v-6d874704]{display:flex;align-items:flex-start;padding-top:16px}.comment__body[data-v-6d874704]{display:flex;flex-grow:1;flex-direction:column}.comment__header[data-v-6d874704]{display:flex;align-items:center;min-height:44px}.comment__actions[data-v-6d874704]{margin-left:10px !important}.comment__author[data-v-6d874704]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--color-text-maxcontrast)}.comment_loading[data-v-6d874704],.comment__timestamp[data-v-6d874704]{margin-left:auto;text-align:right;white-space:nowrap;color:var(--color-text-maxcontrast)}.comment__editor-group[data-v-6d874704]{position:relative}.comment__editor-description[data-v-6d874704]{color:var(--color-text-maxcontrast);padding-block:var(--default-grid-baseline)}.comment__submit[data-v-6d874704]{position:absolute !important;bottom:0;right:0}.comment__message[data-v-6d874704]{white-space:pre-wrap;word-break:break-word;max-height:70px;overflow:hidden;margin-top:-6px}.comment__message--expanded[data-v-6d874704]{max-height:none;overflow:visible}.rich-contenteditable__input[data-v-6d874704]{min-height:44px;margin:0;padding:10px}","",{version:3,sources:["webpack://./apps/comments/src/components/Comment.vue"],names:[],mappings:"AAKA,0BACC,YAAA,CACA,QAAA,CACA,gBAAA,CAEA,gCACC,YAAA,CACA,sBAAA,CACA,gBAAA,CAGD,gCACC,YAAA,CACA,WAAA,CACA,qBAAA,CAGD,kCACC,YAAA,CACA,kBAAA,CACA,eAAA,CAGD,mCACC,2BAAA,CAGD,kCACC,eAAA,CACA,kBAAA,CACA,sBAAA,CACA,mCAAA,CAGD,uEAEC,gBAAA,CACA,gBAAA,CACA,kBAAA,CACA,mCAAA,CAGD,wCACC,iBAAA,CAGD,8CACC,mCAAA,CACA,0CAAA,CAGD,kCACC,4BAAA,CACA,QAAA,CACA,OAAA,CAGD,mCACC,oBAAA,CACA,qBAAA,CACA,eAAA,CACA,eAAA,CACA,eAAA,CACA,6CACC,eAAA,CACA,gBAAA,CAKH,8CACC,eAAA,CACA,QAAA,CACA,YA3EiB",sourcesContent:['\n@use "sass:math";\n\n$comment-padding: 10px;\n\n.comment {\n\tdisplay: flex;\n\tgap: 16px;\n\tpadding: 5px $comment-padding;\n\n\t&__side {\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\t\tpadding-top: 16px;\n\t}\n\n\t&__body {\n\t\tdisplay: flex;\n\t\tflex-grow: 1;\n\t\tflex-direction: column;\n\t}\n\n\t&__header {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tmin-height: 44px;\n\t}\n\n\t&__actions {\n\t\tmargin-left: $comment-padding !important;\n\t}\n\n\t&__author {\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n\n\t&_loading,\n\t&__timestamp {\n\t\tmargin-left: auto;\n\t\ttext-align: right;\n\t\twhite-space: nowrap;\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n\n\t&__editor-group {\n\t\tposition: relative;\n\t}\n\n\t&__editor-description {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tpadding-block: var(--default-grid-baseline);\n\t}\n\n\t&__submit {\n\t\tposition: absolute !important;\n\t\tbottom: 0;\n\t\tright: 0;\n\t}\n\n\t&__message {\n\t\twhite-space: pre-wrap;\n\t\tword-break: break-word;\n\t\tmax-height: 70px;\n\t\toverflow: hidden;\n\t\tmargin-top: -6px;\n\t\t&--expanded {\n\t\t\tmax-height: none;\n\t\t\toverflow: visible;\n\t\t}\n\t}\n}\n\n.rich-contenteditable__input {\n\tmin-height: 44px;\n\tmargin: 0;\n\tpadding: $comment-padding;\n}\n\n'],sourceRoot:""}]),r.Z=i},31292:function(t,r,e){"use strict";var n=e(87537),o=e.n(n),a=e(23645),i=e.n(a)()(o());i.push([t.id,".comments[data-v-5750efc5]{min-height:100%;display:flex;flex-direction:column}.comments__empty[data-v-5750efc5],.comments__error[data-v-5750efc5]{flex:1 0}.comments__retry[data-v-5750efc5]{margin:0 auto}.comments__info[data-v-5750efc5]{height:60px;color:var(--color-text-maxcontrast);text-align:center;line-height:60px}","",{version:3,sources:["webpack://./apps/comments/src/views/Comments.vue"],names:[],mappings:"AACA,2BACC,eAAA,CACA,YAAA,CACA,qBAAA,CAEA,oEAEC,QAAA,CAGD,kCACC,aAAA,CAGD,iCACC,WAAA,CACA,mCAAA,CACA,iBAAA,CACA,gBAAA",sourcesContent:["\n.comments {\n\tmin-height: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n\n\t&__empty,\n\t&__error {\n\t\tflex: 1 0;\n\t}\n\n\t&__retry {\n\t\tmargin: 0 auto;\n\t}\n\n\t&__info {\n\t\theight: 60px;\n\t\tcolor: var(--color-text-maxcontrast);\n\t\ttext-align: center;\n\t\tline-height: 60px;\n\t}\n}\n"],sourceRoot:""}]),r.Z=i},86492:function(t,r,e){var n;t=e.nmd(t),function(o){var a=(t&&t.exports,"object"==typeof e.g&&e.g);a.global!==a&&a.window;var i=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,u=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,l={"­":"shy","‌":"zwnj","‍":"zwj","‎":"lrm","⁣":"ic","⁢":"it","⁡":"af","‏":"rlm","​":"ZeroWidthSpace","⁠":"NoBreak","̑":"DownBreve","⃛":"tdot","⃜":"DotDot","\t":"Tab","\n":"NewLine"," ":"puncsp"," ":"MediumSpace"," ":"thinsp"," ":"hairsp"," ":"emsp13"," ":"ensp"," ":"emsp14"," ":"emsp"," ":"numsp"," ":"nbsp","  ":"ThickSpace","‾":"oline",_:"lowbar","‐":"dash","–":"ndash","—":"mdash","―":"horbar",",":"comma",";":"semi","⁏":"bsemi",":":"colon","⩴":"Colone","!":"excl","¡":"iexcl","?":"quest","¿":"iquest",".":"period","‥":"nldr","…":"mldr","·":"middot","'":"apos","‘":"lsquo","’":"rsquo","‚":"sbquo","‹":"lsaquo","›":"rsaquo",'"':"quot","“":"ldquo","”":"rdquo","„":"bdquo","«":"laquo","»":"raquo","(":"lpar",")":"rpar","[":"lsqb","]":"rsqb","{":"lcub","}":"rcub","⌈":"lceil","⌉":"rceil","⌊":"lfloor","⌋":"rfloor","⦅":"lopar","⦆":"ropar","⦋":"lbrke","⦌":"rbrke","⦍":"lbrkslu","⦎":"rbrksld","⦏":"lbrksld","⦐":"rbrkslu","⦑":"langd","⦒":"rangd","⦓":"lparlt","⦔":"rpargt","⦕":"gtlPar","⦖":"ltrPar","⟦":"lobrk","⟧":"robrk","⟨":"lang","⟩":"rang","⟪":"Lang","⟫":"Rang","⟬":"loang","⟭":"roang","❲":"lbbrk","❳":"rbbrk","‖":"Vert","§":"sect","¶":"para","@":"commat","*":"ast","/":"sol",undefined:null,"&":"amp","#":"num","%":"percnt","‰":"permil","‱":"pertenk","†":"dagger","‡":"Dagger","•":"bull","⁃":"hybull","′":"prime","″":"Prime","‴":"tprime","⁗":"qprime","‵":"bprime","⁁":"caret","`":"grave","´":"acute","˜":"tilde","^":"Hat","¯":"macr","˘":"breve","˙":"dot","¨":"die","˚":"ring","˝":"dblac","¸":"cedil","˛":"ogon","ˆ":"circ","ˇ":"caron","°":"deg","©":"copy","®":"reg","℗":"copysr","℘":"wp","℞":"rx","℧":"mho","℩":"iiota","←":"larr","↚":"nlarr","→":"rarr","↛":"nrarr","↑":"uarr","↓":"darr","↔":"harr","↮":"nharr","↕":"varr","↖":"nwarr","↗":"nearr","↘":"searr","↙":"swarr","↝":"rarrw","↝̸":"nrarrw","↞":"Larr","↟":"Uarr","↠":"Rarr","↡":"Darr","↢":"larrtl","↣":"rarrtl","↤":"mapstoleft","↥":"mapstoup","↦":"map","↧":"mapstodown","↩":"larrhk","↪":"rarrhk","↫":"larrlp","↬":"rarrlp","↭":"harrw","↰":"lsh","↱":"rsh","↲":"ldsh","↳":"rdsh","↵":"crarr","↶":"cularr","↷":"curarr","↺":"olarr","↻":"orarr","↼":"lharu","↽":"lhard","↾":"uharr","↿":"uharl","⇀":"rharu","⇁":"rhard","⇂":"dharr","⇃":"dharl","⇄":"rlarr","⇅":"udarr","⇆":"lrarr","⇇":"llarr","⇈":"uuarr","⇉":"rrarr","⇊":"ddarr","⇋":"lrhar","⇌":"rlhar","⇐":"lArr","⇍":"nlArr","⇑":"uArr","⇒":"rArr","⇏":"nrArr","⇓":"dArr","⇔":"iff","⇎":"nhArr","⇕":"vArr","⇖":"nwArr","⇗":"neArr","⇘":"seArr","⇙":"swArr","⇚":"lAarr","⇛":"rAarr","⇝":"zigrarr","⇤":"larrb","⇥":"rarrb","⇵":"duarr","⇽":"loarr","⇾":"roarr","⇿":"hoarr","∀":"forall","∁":"comp","∂":"part","∂̸":"npart","∃":"exist","∄":"nexist","∅":"empty","∇":"Del","∈":"in","∉":"notin","∋":"ni","∌":"notni","϶":"bepsi","∏":"prod","∐":"coprod","∑":"sum","+":"plus","±":"pm","÷":"div","×":"times","<":"lt","≮":"nlt","<⃒":"nvlt","=":"equals","≠":"ne","=⃥":"bne","⩵":"Equal",">":"gt","≯":"ngt",">⃒":"nvgt","¬":"not","|":"vert","¦":"brvbar","−":"minus","∓":"mp","∔":"plusdo","⁄":"frasl","∖":"setmn","∗":"lowast","∘":"compfn","√":"Sqrt","∝":"prop","∞":"infin","∟":"angrt","∠":"ang","∠⃒":"nang","∡":"angmsd","∢":"angsph","∣":"mid","∤":"nmid","∥":"par","∦":"npar","∧":"and","∨":"or","∩":"cap","∩︀":"caps","∪":"cup","∪︀":"cups","∫":"int","∬":"Int","∭":"tint","⨌":"qint","∮":"oint","∯":"Conint","∰":"Cconint","∱":"cwint","∲":"cwconint","∳":"awconint","∴":"there4","∵":"becaus","∶":"ratio","∷":"Colon","∸":"minusd","∺":"mDDot","∻":"homtht","∼":"sim","≁":"nsim","∼⃒":"nvsim","∽":"bsim","∽̱":"race","∾":"ac","∾̳":"acE","∿":"acd","≀":"wr","≂":"esim","≂̸":"nesim","≃":"sime","≄":"nsime","≅":"cong","≇":"ncong","≆":"simne","≈":"ap","≉":"nap","≊":"ape","≋":"apid","≋̸":"napid","≌":"bcong","≍":"CupCap","≭":"NotCupCap","≍⃒":"nvap","≎":"bump","≎̸":"nbump","≏":"bumpe","≏̸":"nbumpe","≐":"doteq","≐̸":"nedot","≑":"eDot","≒":"efDot","≓":"erDot","≔":"colone","≕":"ecolon","≖":"ecir","≗":"cire","≙":"wedgeq","≚":"veeeq","≜":"trie","≟":"equest","≡":"equiv","≢":"nequiv","≡⃥":"bnequiv","≤":"le","≰":"nle","≤⃒":"nvle","≥":"ge","≱":"nge","≥⃒":"nvge","≦":"lE","≦̸":"nlE","≧":"gE","≧̸":"ngE","≨︀":"lvnE","≨":"lnE","≩":"gnE","≩︀":"gvnE","≪":"ll","≪̸":"nLtv","≪⃒":"nLt","≫":"gg","≫̸":"nGtv","≫⃒":"nGt","≬":"twixt","≲":"lsim","≴":"nlsim","≳":"gsim","≵":"ngsim","≶":"lg","≸":"ntlg","≷":"gl","≹":"ntgl","≺":"pr","⊀":"npr","≻":"sc","⊁":"nsc","≼":"prcue","⋠":"nprcue","≽":"sccue","⋡":"nsccue","≾":"prsim","≿":"scsim","≿̸":"NotSucceedsTilde","⊂":"sub","⊄":"nsub","⊂⃒":"vnsub","⊃":"sup","⊅":"nsup","⊃⃒":"vnsup","⊆":"sube","⊈":"nsube","⊇":"supe","⊉":"nsupe","⊊︀":"vsubne","⊊":"subne","⊋︀":"vsupne","⊋":"supne","⊍":"cupdot","⊎":"uplus","⊏":"sqsub","⊏̸":"NotSquareSubset","⊐":"sqsup","⊐̸":"NotSquareSuperset","⊑":"sqsube","⋢":"nsqsube","⊒":"sqsupe","⋣":"nsqsupe","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊕":"oplus","⊖":"ominus","⊗":"otimes","⊘":"osol","⊙":"odot","⊚":"ocir","⊛":"oast","⊝":"odash","⊞":"plusb","⊟":"minusb","⊠":"timesb","⊡":"sdotb","⊢":"vdash","⊬":"nvdash","⊣":"dashv","⊤":"top","⊥":"bot","⊧":"models","⊨":"vDash","⊭":"nvDash","⊩":"Vdash","⊮":"nVdash","⊪":"Vvdash","⊫":"VDash","⊯":"nVDash","⊰":"prurel","⊲":"vltri","⋪":"nltri","⊳":"vrtri","⋫":"nrtri","⊴":"ltrie","⋬":"nltrie","⊴⃒":"nvltrie","⊵":"rtrie","⋭":"nrtrie","⊵⃒":"nvrtrie","⊶":"origof","⊷":"imof","⊸":"mumap","⊹":"hercon","⊺":"intcal","⊻":"veebar","⊽":"barvee","⊾":"angrtvb","⊿":"lrtri","⋀":"Wedge","⋁":"Vee","⋂":"xcap","⋃":"xcup","⋄":"diam","⋅":"sdot","⋆":"Star","⋇":"divonx","⋈":"bowtie","⋉":"ltimes","⋊":"rtimes","⋋":"lthree","⋌":"rthree","⋍":"bsime","⋎":"cuvee","⋏":"cuwed","⋐":"Sub","⋑":"Sup","⋒":"Cap","⋓":"Cup","⋔":"fork","⋕":"epar","⋖":"ltdot","⋗":"gtdot","⋘":"Ll","⋘̸":"nLl","⋙":"Gg","⋙̸":"nGg","⋚︀":"lesg","⋚":"leg","⋛":"gel","⋛︀":"gesl","⋞":"cuepr","⋟":"cuesc","⋦":"lnsim","⋧":"gnsim","⋨":"prnsim","⋩":"scnsim","⋮":"vellip","⋯":"ctdot","⋰":"utdot","⋱":"dtdot","⋲":"disin","⋳":"isinsv","⋴":"isins","⋵":"isindot","⋵̸":"notindot","⋶":"notinvc","⋷":"notinvb","⋹":"isinE","⋹̸":"notinE","⋺":"nisd","⋻":"xnis","⋼":"nis","⋽":"notnivc","⋾":"notnivb","⌅":"barwed","⌆":"Barwed","⌌":"drcrop","⌍":"dlcrop","⌎":"urcrop","⌏":"ulcrop","⌐":"bnot","⌒":"profline","⌓":"profsurf","⌕":"telrec","⌖":"target","⌜":"ulcorn","⌝":"urcorn","⌞":"dlcorn","⌟":"drcorn","⌢":"frown","⌣":"smile","⌭":"cylcty","⌮":"profalar","⌶":"topbot","⌽":"ovbar","⌿":"solbar","⍼":"angzarr","⎰":"lmoust","⎱":"rmoust","⎴":"tbrk","⎵":"bbrk","⎶":"bbrktbrk","⏜":"OverParenthesis","⏝":"UnderParenthesis","⏞":"OverBrace","⏟":"UnderBrace","⏢":"trpezium","⏧":"elinters","␣":"blank","─":"boxh","│":"boxv","┌":"boxdr","┐":"boxdl","└":"boxur","┘":"boxul","├":"boxvr","┤":"boxvl","┬":"boxhd","┴":"boxhu","┼":"boxvh","═":"boxH","║":"boxV","╒":"boxdR","╓":"boxDr","╔":"boxDR","╕":"boxdL","╖":"boxDl","╗":"boxDL","╘":"boxuR","╙":"boxUr","╚":"boxUR","╛":"boxuL","╜":"boxUl","╝":"boxUL","╞":"boxvR","╟":"boxVr","╠":"boxVR","╡":"boxvL","╢":"boxVl","╣":"boxVL","╤":"boxHd","╥":"boxhD","╦":"boxHD","╧":"boxHu","╨":"boxhU","╩":"boxHU","╪":"boxvH","╫":"boxVh","╬":"boxVH","▀":"uhblk","▄":"lhblk","█":"block","░":"blk14","▒":"blk12","▓":"blk34","□":"squ","▪":"squf","▫":"EmptyVerySmallSquare","▭":"rect","▮":"marker","▱":"fltns","△":"xutri","▴":"utrif","▵":"utri","▸":"rtrif","▹":"rtri","▽":"xdtri","▾":"dtrif","▿":"dtri","◂":"ltrif","◃":"ltri","◊":"loz","○":"cir","◬":"tridot","◯":"xcirc","◸":"ultri","◹":"urtri","◺":"lltri","◻":"EmptySmallSquare","◼":"FilledSmallSquare","★":"starf","☆":"star","☎":"phone","♀":"female","♂":"male","♠":"spades","♣":"clubs","♥":"hearts","♦":"diams","♪":"sung","✓":"check","✗":"cross","✠":"malt","✶":"sext","❘":"VerticalSeparator","⟈":"bsolhsub","⟉":"suphsol","⟵":"xlarr","⟶":"xrarr","⟷":"xharr","⟸":"xlArr","⟹":"xrArr","⟺":"xhArr","⟼":"xmap","⟿":"dzigrarr","⤂":"nvlArr","⤃":"nvrArr","⤄":"nvHarr","⤅":"Map","⤌":"lbarr","⤍":"rbarr","⤎":"lBarr","⤏":"rBarr","⤐":"RBarr","⤑":"DDotrahd","⤒":"UpArrowBar","⤓":"DownArrowBar","⤖":"Rarrtl","⤙":"latail","⤚":"ratail","⤛":"lAtail","⤜":"rAtail","⤝":"larrfs","⤞":"rarrfs","⤟":"larrbfs","⤠":"rarrbfs","⤣":"nwarhk","⤤":"nearhk","⤥":"searhk","⤦":"swarhk","⤧":"nwnear","⤨":"toea","⤩":"tosa","⤪":"swnwar","⤳":"rarrc","⤳̸":"nrarrc","⤵":"cudarrr","⤶":"ldca","⤷":"rdca","⤸":"cudarrl","⤹":"larrpl","⤼":"curarrm","⤽":"cularrp","⥅":"rarrpl","⥈":"harrcir","⥉":"Uarrocir","⥊":"lurdshar","⥋":"ldrushar","⥎":"LeftRightVector","⥏":"RightUpDownVector","⥐":"DownLeftRightVector","⥑":"LeftUpDownVector","⥒":"LeftVectorBar","⥓":"RightVectorBar","⥔":"RightUpVectorBar","⥕":"RightDownVectorBar","⥖":"DownLeftVectorBar","⥗":"DownRightVectorBar","⥘":"LeftUpVectorBar","⥙":"LeftDownVectorBar","⥚":"LeftTeeVector","⥛":"RightTeeVector","⥜":"RightUpTeeVector","⥝":"RightDownTeeVector","⥞":"DownLeftTeeVector","⥟":"DownRightTeeVector","⥠":"LeftUpTeeVector","⥡":"LeftDownTeeVector","⥢":"lHar","⥣":"uHar","⥤":"rHar","⥥":"dHar","⥦":"luruhar","⥧":"ldrdhar","⥨":"ruluhar","⥩":"rdldhar","⥪":"lharul","⥫":"llhard","⥬":"rharul","⥭":"lrhard","⥮":"udhar","⥯":"duhar","⥰":"RoundImplies","⥱":"erarr","⥲":"simrarr","⥳":"larrsim","⥴":"rarrsim","⥵":"rarrap","⥶":"ltlarr","⥸":"gtrarr","⥹":"subrarr","⥻":"suplarr","⥼":"lfisht","⥽":"rfisht","⥾":"ufisht","⥿":"dfisht","⦚":"vzigzag","⦜":"vangrt","⦝":"angrtvbd","⦤":"ange","⦥":"range","⦦":"dwangle","⦧":"uwangle","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","⦰":"bemptyv","⦱":"demptyv","⦲":"cemptyv","⦳":"raemptyv","⦴":"laemptyv","⦵":"ohbar","⦶":"omid","⦷":"opar","⦹":"operp","⦻":"olcross","⦼":"odsold","⦾":"olcir","⦿":"ofcir","⧀":"olt","⧁":"ogt","⧂":"cirscir","⧃":"cirE","⧄":"solb","⧅":"bsolb","⧉":"boxbox","⧍":"trisb","⧎":"rtriltri","⧏":"LeftTriangleBar","⧏̸":"NotLeftTriangleBar","⧐":"RightTriangleBar","⧐̸":"NotRightTriangleBar","⧜":"iinfin","⧝":"infintie","⧞":"nvinfin","⧣":"eparsl","⧤":"smeparsl","⧥":"eqvparsl","⧫":"lozf","⧴":"RuleDelayed","⧶":"dsol","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨄":"xuplus","⨆":"xsqcup","⨍":"fpartint","⨐":"cirfnint","⨑":"awint","⨒":"rppolint","⨓":"scpolint","⨔":"npolint","⨕":"pointint","⨖":"quatint","⨗":"intlarhk","⨢":"pluscir","⨣":"plusacir","⨤":"simplus","⨥":"plusdu","⨦":"plussim","⨧":"plustwo","⨩":"mcomma","⨪":"minusdu","⨭":"loplus","⨮":"roplus","⨯":"Cross","⨰":"timesd","⨱":"timesbar","⨳":"smashp","⨴":"lotimes","⨵":"rotimes","⨶":"otimesas","⨷":"Otimes","⨸":"odiv","⨹":"triplus","⨺":"triminus","⨻":"tritime","⨼":"iprod","⨿":"amalg","⩀":"capdot","⩂":"ncup","⩃":"ncap","⩄":"capand","⩅":"cupor","⩆":"cupcap","⩇":"capcup","⩈":"cupbrcap","⩉":"capbrcup","⩊":"cupcup","⩋":"capcap","⩌":"ccups","⩍":"ccaps","⩐":"ccupssm","⩓":"And","⩔":"Or","⩕":"andand","⩖":"oror","⩗":"orslope","⩘":"andslope","⩚":"andv","⩛":"orv","⩜":"andd","⩝":"ord","⩟":"wedbar","⩦":"sdote","⩪":"simdot","⩭":"congdot","⩭̸":"ncongdot","⩮":"easter","⩯":"apacir","⩰":"apE","⩰̸":"napE","⩱":"eplus","⩲":"pluse","⩳":"Esim","⩷":"eDDot","⩸":"equivDD","⩹":"ltcir","⩺":"gtcir","⩻":"ltquest","⩼":"gtquest","⩽":"les","⩽̸":"nles","⩾":"ges","⩾̸":"nges","⩿":"lesdot","⪀":"gesdot","⪁":"lesdoto","⪂":"gesdoto","⪃":"lesdotor","⪄":"gesdotol","⪅":"lap","⪆":"gap","⪇":"lne","⪈":"gne","⪉":"lnap","⪊":"gnap","⪋":"lEg","⪌":"gEl","⪍":"lsime","⪎":"gsime","⪏":"lsimg","⪐":"gsiml","⪑":"lgE","⪒":"glE","⪓":"lesges","⪔":"gesles","⪕":"els","⪖":"egs","⪗":"elsdot","⪘":"egsdot","⪙":"el","⪚":"eg","⪝":"siml","⪞":"simg","⪟":"simlE","⪠":"simgE","⪡":"LessLess","⪡̸":"NotNestedLessLess","⪢":"GreaterGreater","⪢̸":"NotNestedGreaterGreater","⪤":"glj","⪥":"gla","⪦":"ltcc","⪧":"gtcc","⪨":"lescc","⪩":"gescc","⪪":"smt","⪫":"lat","⪬":"smte","⪬︀":"smtes","⪭":"late","⪭︀":"lates","⪮":"bumpE","⪯":"pre","⪯̸":"npre","⪰":"sce","⪰̸":"nsce","⪳":"prE","⪴":"scE","⪵":"prnE","⪶":"scnE","⪷":"prap","⪸":"scap","⪹":"prnap","⪺":"scnap","⪻":"Pr","⪼":"Sc","⪽":"subdot","⪾":"supdot","⪿":"subplus","⫀":"supplus","⫁":"submult","⫂":"supmult","⫃":"subedot","⫄":"supedot","⫅":"subE","⫅̸":"nsubE","⫆":"supE","⫆̸":"nsupE","⫇":"subsim","⫈":"supsim","⫋︀":"vsubnE","⫋":"subnE","⫌︀":"vsupnE","⫌":"supnE","⫏":"csub","⫐":"csup","⫑":"csube","⫒":"csupe","⫓":"subsup","⫔":"supsub","⫕":"subsub","⫖":"supsup","⫗":"suphsub","⫘":"supdsub","⫙":"forkv","⫚":"topfork","⫛":"mlcp","⫤":"Dashv","⫦":"Vdashl","⫧":"Barv","⫨":"vBar","⫩":"vBarv","⫫":"Vbar","⫬":"Not","⫭":"bNot","⫮":"rnmid","⫯":"cirmid","⫰":"midcir","⫱":"topcir","⫲":"nhpar","⫳":"parsim","⫽":"parsl","⫽⃥":"nparsl","♭":"flat","♮":"natur","♯":"sharp","¤":"curren","¢":"cent",$:"dollar","£":"pound","¥":"yen","€":"euro","¹":"sup1","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","²":"sup2","⅔":"frac23","⅖":"frac25","³":"sup3","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","𝒶":"ascr","𝕒":"aopf","𝔞":"afr","𝔸":"Aopf","𝔄":"Afr","𝒜":"Ascr","ª":"ordf","á":"aacute","Á":"Aacute","à":"agrave","À":"Agrave","ă":"abreve","Ă":"Abreve","â":"acirc","Â":"Acirc","å":"aring","Å":"angst","ä":"auml","Ä":"Auml","ã":"atilde","Ã":"Atilde","ą":"aogon","Ą":"Aogon","ā":"amacr","Ā":"Amacr","æ":"aelig","Æ":"AElig","𝒷":"bscr","𝕓":"bopf","𝔟":"bfr","𝔹":"Bopf","ℬ":"Bscr","𝔅":"Bfr","𝔠":"cfr","𝒸":"cscr","𝕔":"copf","ℭ":"Cfr","𝒞":"Cscr","ℂ":"Copf","ć":"cacute","Ć":"Cacute","ĉ":"ccirc","Ĉ":"Ccirc","č":"ccaron","Č":"Ccaron","ċ":"cdot","Ċ":"Cdot","ç":"ccedil","Ç":"Ccedil","℅":"incare","𝔡":"dfr","ⅆ":"dd","𝕕":"dopf","𝒹":"dscr","𝒟":"Dscr","𝔇":"Dfr","ⅅ":"DD","𝔻":"Dopf","ď":"dcaron","Ď":"Dcaron","đ":"dstrok","Đ":"Dstrok","ð":"eth","Ð":"ETH","ⅇ":"ee","ℯ":"escr","𝔢":"efr","𝕖":"eopf","ℰ":"Escr","𝔈":"Efr","𝔼":"Eopf","é":"eacute","É":"Eacute","è":"egrave","È":"Egrave","ê":"ecirc","Ê":"Ecirc","ě":"ecaron","Ě":"Ecaron","ë":"euml","Ë":"Euml","ė":"edot","Ė":"Edot","ę":"eogon","Ę":"Eogon","ē":"emacr","Ē":"Emacr","𝔣":"ffr","𝕗":"fopf","𝒻":"fscr","𝔉":"Ffr","𝔽":"Fopf","ℱ":"Fscr","ff":"fflig","ffi":"ffilig","ffl":"ffllig","fi":"filig",fj:"fjlig","fl":"fllig","ƒ":"fnof","ℊ":"gscr","𝕘":"gopf","𝔤":"gfr","𝒢":"Gscr","𝔾":"Gopf","𝔊":"Gfr","ǵ":"gacute","ğ":"gbreve","Ğ":"Gbreve","ĝ":"gcirc","Ĝ":"Gcirc","ġ":"gdot","Ġ":"Gdot","Ģ":"Gcedil","𝔥":"hfr","ℎ":"planckh","𝒽":"hscr","𝕙":"hopf","ℋ":"Hscr","ℌ":"Hfr","ℍ":"Hopf","ĥ":"hcirc","Ĥ":"Hcirc","ℏ":"hbar","ħ":"hstrok","Ħ":"Hstrok","𝕚":"iopf","𝔦":"ifr","𝒾":"iscr","ⅈ":"ii","𝕀":"Iopf","ℐ":"Iscr","ℑ":"Im","í":"iacute","Í":"Iacute","ì":"igrave","Ì":"Igrave","î":"icirc","Î":"Icirc","ï":"iuml","Ï":"Iuml","ĩ":"itilde","Ĩ":"Itilde","İ":"Idot","į":"iogon","Į":"Iogon","ī":"imacr","Ī":"Imacr","ij":"ijlig","IJ":"IJlig","ı":"imath","𝒿":"jscr","𝕛":"jopf","𝔧":"jfr","𝒥":"Jscr","𝔍":"Jfr","𝕁":"Jopf","ĵ":"jcirc","Ĵ":"Jcirc","ȷ":"jmath","𝕜":"kopf","𝓀":"kscr","𝔨":"kfr","𝒦":"Kscr","𝕂":"Kopf","𝔎":"Kfr","ķ":"kcedil","Ķ":"Kcedil","𝔩":"lfr","𝓁":"lscr","ℓ":"ell","𝕝":"lopf","ℒ":"Lscr","𝔏":"Lfr","𝕃":"Lopf","ĺ":"lacute","Ĺ":"Lacute","ľ":"lcaron","Ľ":"Lcaron","ļ":"lcedil","Ļ":"Lcedil","ł":"lstrok","Ł":"Lstrok","ŀ":"lmidot","Ŀ":"Lmidot","𝔪":"mfr","𝕞":"mopf","𝓂":"mscr","𝔐":"Mfr","𝕄":"Mopf","ℳ":"Mscr","𝔫":"nfr","𝕟":"nopf","𝓃":"nscr","ℕ":"Nopf","𝒩":"Nscr","𝔑":"Nfr","ń":"nacute","Ń":"Nacute","ň":"ncaron","Ň":"Ncaron","ñ":"ntilde","Ñ":"Ntilde","ņ":"ncedil","Ņ":"Ncedil","№":"numero","ŋ":"eng","Ŋ":"ENG","𝕠":"oopf","𝔬":"ofr","ℴ":"oscr","𝒪":"Oscr","𝔒":"Ofr","𝕆":"Oopf","º":"ordm","ó":"oacute","Ó":"Oacute","ò":"ograve","Ò":"Ograve","ô":"ocirc","Ô":"Ocirc","ö":"ouml","Ö":"Ouml","ő":"odblac","Ő":"Odblac","õ":"otilde","Õ":"Otilde","ø":"oslash","Ø":"Oslash","ō":"omacr","Ō":"Omacr","œ":"oelig","Œ":"OElig","𝔭":"pfr","𝓅":"pscr","𝕡":"popf","ℙ":"Popf","𝔓":"Pfr","𝒫":"Pscr","𝕢":"qopf","𝔮":"qfr","𝓆":"qscr","𝒬":"Qscr","𝔔":"Qfr","ℚ":"Qopf","ĸ":"kgreen","𝔯":"rfr","𝕣":"ropf","𝓇":"rscr","ℛ":"Rscr","ℜ":"Re","ℝ":"Ropf","ŕ":"racute","Ŕ":"Racute","ř":"rcaron","Ř":"Rcaron","ŗ":"rcedil","Ŗ":"Rcedil","𝕤":"sopf","𝓈":"sscr","𝔰":"sfr","𝕊":"Sopf","𝔖":"Sfr","𝒮":"Sscr","Ⓢ":"oS","ś":"sacute","Ś":"Sacute","ŝ":"scirc","Ŝ":"Scirc","š":"scaron","Š":"Scaron","ş":"scedil","Ş":"Scedil","ß":"szlig","𝔱":"tfr","𝓉":"tscr","𝕥":"topf","𝒯":"Tscr","𝔗":"Tfr","𝕋":"Topf","ť":"tcaron","Ť":"Tcaron","ţ":"tcedil","Ţ":"Tcedil","™":"trade","ŧ":"tstrok","Ŧ":"Tstrok","𝓊":"uscr","𝕦":"uopf","𝔲":"ufr","𝕌":"Uopf","𝔘":"Ufr","𝒰":"Uscr","ú":"uacute","Ú":"Uacute","ù":"ugrave","Ù":"Ugrave","ŭ":"ubreve","Ŭ":"Ubreve","û":"ucirc","Û":"Ucirc","ů":"uring","Ů":"Uring","ü":"uuml","Ü":"Uuml","ű":"udblac","Ű":"Udblac","ũ":"utilde","Ũ":"Utilde","ų":"uogon","Ų":"Uogon","ū":"umacr","Ū":"Umacr","𝔳":"vfr","𝕧":"vopf","𝓋":"vscr","𝔙":"Vfr","𝕍":"Vopf","𝒱":"Vscr","𝕨":"wopf","𝓌":"wscr","𝔴":"wfr","𝒲":"Wscr","𝕎":"Wopf","𝔚":"Wfr","ŵ":"wcirc","Ŵ":"Wcirc","𝔵":"xfr","𝓍":"xscr","𝕩":"xopf","𝕏":"Xopf","𝔛":"Xfr","𝒳":"Xscr","𝔶":"yfr","𝓎":"yscr","𝕪":"yopf","𝒴":"Yscr","𝔜":"Yfr","𝕐":"Yopf","ý":"yacute","Ý":"Yacute","ŷ":"ycirc","Ŷ":"Ycirc","ÿ":"yuml","Ÿ":"Yuml","𝓏":"zscr","𝔷":"zfr","𝕫":"zopf","ℨ":"Zfr","ℤ":"Zopf","𝒵":"Zscr","ź":"zacute","Ź":"Zacute","ž":"zcaron","Ž":"Zcaron","ż":"zdot","Ż":"Zdot","Ƶ":"imped","þ":"thorn","Þ":"THORN","ʼn":"napos","α":"alpha","Α":"Alpha","β":"beta","Β":"Beta","γ":"gamma","Γ":"Gamma","δ":"delta","Δ":"Delta","ε":"epsi","ϵ":"epsiv","Ε":"Epsilon","ϝ":"gammad","Ϝ":"Gammad","ζ":"zeta","Ζ":"Zeta","η":"eta","Η":"Eta","θ":"theta","ϑ":"thetav","Θ":"Theta","ι":"iota","Ι":"Iota","κ":"kappa","ϰ":"kappav","Κ":"Kappa","λ":"lambda","Λ":"Lambda","μ":"mu","µ":"micro","Μ":"Mu","ν":"nu","Ν":"Nu","ξ":"xi","Ξ":"Xi","ο":"omicron","Ο":"Omicron","π":"pi","ϖ":"piv","Π":"Pi","ρ":"rho","ϱ":"rhov","Ρ":"Rho","σ":"sigma","Σ":"Sigma","ς":"sigmaf","τ":"tau","Τ":"Tau","υ":"upsi","Υ":"Upsilon","ϒ":"Upsi","φ":"phi","ϕ":"phiv","Φ":"Phi","χ":"chi","Χ":"Chi","ψ":"psi","Ψ":"Psi","ω":"omega","Ω":"ohm","а":"acy","А":"Acy","б":"bcy","Б":"Bcy","в":"vcy","В":"Vcy","г":"gcy","Г":"Gcy","ѓ":"gjcy","Ѓ":"GJcy","д":"dcy","Д":"Dcy","ђ":"djcy","Ђ":"DJcy","е":"iecy","Е":"IEcy","ё":"iocy","Ё":"IOcy","є":"jukcy","Є":"Jukcy","ж":"zhcy","Ж":"ZHcy","з":"zcy","З":"Zcy","ѕ":"dscy","Ѕ":"DScy","и":"icy","И":"Icy","і":"iukcy","І":"Iukcy","ї":"yicy","Ї":"YIcy","й":"jcy","Й":"Jcy","ј":"jsercy","Ј":"Jsercy","к":"kcy","К":"Kcy","ќ":"kjcy","Ќ":"KJcy","л":"lcy","Л":"Lcy","љ":"ljcy","Љ":"LJcy","м":"mcy","М":"Mcy","н":"ncy","Н":"Ncy","њ":"njcy","Њ":"NJcy","о":"ocy","О":"Ocy","п":"pcy","П":"Pcy","р":"rcy","Р":"Rcy","с":"scy","С":"Scy","т":"tcy","Т":"Tcy","ћ":"tshcy","Ћ":"TSHcy","у":"ucy","У":"Ucy","ў":"ubrcy","Ў":"Ubrcy","ф":"fcy","Ф":"Fcy","х":"khcy","Х":"KHcy","ц":"tscy","Ц":"TScy","ч":"chcy","Ч":"CHcy","џ":"dzcy","Џ":"DZcy","ш":"shcy","Ш":"SHcy","щ":"shchcy","Щ":"SHCHcy","ъ":"hardcy","Ъ":"HARDcy","ы":"ycy","Ы":"Ycy","ь":"softcy","Ь":"SOFTcy","э":"ecy","Э":"Ecy","ю":"yucy","Ю":"YUcy","я":"yacy","Я":"YAcy","ℵ":"aleph","ℶ":"beth","ℷ":"gimel","ℸ":"daleth"},p=/["&'<>`]/g,f={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},h=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,d=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,m=/&(CounterClockwiseContourIntegral|DoubleLongLeftRightArrow|ClockwiseContourIntegral|NotNestedGreaterGreater|NotSquareSupersetEqual|DiacriticalDoubleAcute|NotRightTriangleEqual|NotSucceedsSlantEqual|NotPrecedesSlantEqual|CloseCurlyDoubleQuote|NegativeVeryThinSpace|DoubleContourIntegral|FilledVerySmallSquare|CapitalDifferentialD|OpenCurlyDoubleQuote|EmptyVerySmallSquare|NestedGreaterGreater|DoubleLongRightArrow|NotLeftTriangleEqual|NotGreaterSlantEqual|ReverseUpEquilibrium|DoubleLeftRightArrow|NotSquareSubsetEqual|NotDoubleVerticalBar|RightArrowLeftArrow|NotGreaterFullEqual|NotRightTriangleBar|SquareSupersetEqual|DownLeftRightVector|DoubleLongLeftArrow|leftrightsquigarrow|LeftArrowRightArrow|NegativeMediumSpace|blacktriangleright|RightDownVectorBar|PrecedesSlantEqual|RightDoubleBracket|SucceedsSlantEqual|NotLeftTriangleBar|RightTriangleEqual|SquareIntersection|RightDownTeeVector|ReverseEquilibrium|NegativeThickSpace|longleftrightarrow|Longleftrightarrow|LongLeftRightArrow|DownRightTeeVector|DownRightVectorBar|GreaterSlantEqual|SquareSubsetEqual|LeftDownVectorBar|LeftDoubleBracket|VerticalSeparator|rightleftharpoons|NotGreaterGreater|NotSquareSuperset|blacktriangleleft|blacktriangledown|NegativeThinSpace|LeftDownTeeVector|NotLessSlantEqual|leftrightharpoons|DoubleUpDownArrow|DoubleVerticalBar|LeftTriangleEqual|FilledSmallSquare|twoheadrightarrow|NotNestedLessLess|DownLeftTeeVector|DownLeftVectorBar|RightAngleBracket|NotTildeFullEqual|NotReverseElement|RightUpDownVector|DiacriticalTilde|NotSucceedsTilde|circlearrowright|NotPrecedesEqual|rightharpoondown|DoubleRightArrow|NotSucceedsEqual|NonBreakingSpace|NotRightTriangle|LessEqualGreater|RightUpTeeVector|LeftAngleBracket|GreaterFullEqual|DownArrowUpArrow|RightUpVectorBar|twoheadleftarrow|GreaterEqualLess|downharpoonright|RightTriangleBar|ntrianglerighteq|NotSupersetEqual|LeftUpDownVector|DiacriticalAcute|rightrightarrows|vartriangleright|UpArrowDownArrow|DiacriticalGrave|UnderParenthesis|EmptySmallSquare|LeftUpVectorBar|leftrightarrows|DownRightVector|downharpoonleft|trianglerighteq|ShortRightArrow|OverParenthesis|DoubleLeftArrow|DoubleDownArrow|NotSquareSubset|bigtriangledown|ntrianglelefteq|UpperRightArrow|curvearrowright|vartriangleleft|NotLeftTriangle|nleftrightarrow|LowerRightArrow|NotHumpDownHump|NotGreaterTilde|rightthreetimes|LeftUpTeeVector|NotGreaterEqual|straightepsilon|LeftTriangleBar|rightsquigarrow|ContourIntegral|rightleftarrows|CloseCurlyQuote|RightDownVector|LeftRightVector|nLeftrightarrow|leftharpoondown|circlearrowleft|SquareSuperset|OpenCurlyQuote|hookrightarrow|HorizontalLine|DiacriticalDot|NotLessGreater|ntriangleright|DoubleRightTee|InvisibleComma|InvisibleTimes|LowerLeftArrow|DownLeftVector|NotSubsetEqual|curvearrowleft|trianglelefteq|NotVerticalBar|TildeFullEqual|downdownarrows|NotGreaterLess|RightTeeVector|ZeroWidthSpace|looparrowright|LongRightArrow|doublebarwedge|ShortLeftArrow|ShortDownArrow|RightVectorBar|GreaterGreater|ReverseElement|rightharpoonup|LessSlantEqual|leftthreetimes|upharpoonright|rightarrowtail|LeftDownVector|Longrightarrow|NestedLessLess|UpperLeftArrow|nshortparallel|leftleftarrows|leftrightarrow|Leftrightarrow|LeftRightArrow|longrightarrow|upharpoonleft|RightArrowBar|ApplyFunction|LeftTeeVector|leftarrowtail|NotEqualTilde|varsubsetneqq|varsupsetneqq|RightTeeArrow|SucceedsEqual|SucceedsTilde|LeftVectorBar|SupersetEqual|hookleftarrow|DifferentialD|VerticalTilde|VeryThinSpace|blacktriangle|bigtriangleup|LessFullEqual|divideontimes|leftharpoonup|UpEquilibrium|ntriangleleft|RightTriangle|measuredangle|shortparallel|longleftarrow|Longleftarrow|LongLeftArrow|DoubleLeftTee|Poincareplane|PrecedesEqual|triangleright|DoubleUpArrow|RightUpVector|fallingdotseq|looparrowleft|PrecedesTilde|NotTildeEqual|NotTildeTilde|smallsetminus|Proportional|triangleleft|triangledown|UnderBracket|NotHumpEqual|exponentiale|ExponentialE|NotLessTilde|HilbertSpace|RightCeiling|blacklozenge|varsupsetneq|HumpDownHump|GreaterEqual|VerticalLine|LeftTeeArrow|NotLessEqual|DownTeeArrow|LeftTriangle|varsubsetneq|Intersection|NotCongruent|DownArrowBar|LeftUpVector|LeftArrowBar|risingdotseq|GreaterTilde|RoundImplies|SquareSubset|ShortUpArrow|NotSuperset|quaternions|precnapprox|backepsilon|preccurlyeq|OverBracket|blacksquare|MediumSpace|VerticalBar|circledcirc|circleddash|CircleMinus|CircleTimes|LessGreater|curlyeqprec|curlyeqsucc|diamondsuit|UpDownArrow|Updownarrow|RuleDelayed|Rrightarrow|updownarrow|RightVector|nRightarrow|nrightarrow|eqslantless|LeftCeiling|Equilibrium|SmallCircle|expectation|NotSucceeds|thickapprox|GreaterLess|SquareUnion|NotPrecedes|NotLessLess|straightphi|succnapprox|succcurlyeq|SubsetEqual|sqsupseteq|Proportion|Laplacetrf|ImaginaryI|supsetneqq|NotGreater|gtreqqless|NotElement|ThickSpace|TildeEqual|TildeTilde|Fouriertrf|rmoustache|EqualTilde|eqslantgtr|UnderBrace|LeftVector|UpArrowBar|nLeftarrow|nsubseteqq|subsetneqq|nsupseteqq|nleftarrow|succapprox|lessapprox|UpTeeArrow|upuparrows|curlywedge|lesseqqgtr|varepsilon|varnothing|RightFloor|complement|CirclePlus|sqsubseteq|Lleftarrow|circledast|RightArrow|Rightarrow|rightarrow|lmoustache|Bernoullis|precapprox|mapstoleft|mapstodown|longmapsto|dotsquare|downarrow|DoubleDot|nsubseteq|supsetneq|leftarrow|nsupseteq|subsetneq|ThinSpace|ngeqslant|subseteqq|HumpEqual|NotSubset|triangleq|NotCupCap|lesseqgtr|heartsuit|TripleDot|Leftarrow|Coproduct|Congruent|varpropto|complexes|gvertneqq|LeftArrow|LessTilde|supseteqq|MinusPlus|CircleDot|nleqslant|NotExists|gtreqless|nparallel|UnionPlus|LeftFloor|checkmark|CenterDot|centerdot|Mellintrf|gtrapprox|bigotimes|OverBrace|spadesuit|therefore|pitchfork|rationals|PlusMinus|Backslash|Therefore|DownBreve|backsimeq|backprime|DownArrow|nshortmid|Downarrow|lvertneqq|eqvparsl|imagline|imagpart|infintie|integers|Integral|intercal|LessLess|Uarrocir|intlarhk|sqsupset|angmsdaf|sqsubset|llcorner|vartheta|cupbrcap|lnapprox|Superset|SuchThat|succnsim|succneqq|angmsdag|biguplus|curlyvee|trpezium|Succeeds|NotTilde|bigwedge|angmsdah|angrtvbd|triminus|cwconint|fpartint|lrcorner|smeparsl|subseteq|urcorner|lurdshar|laemptyv|DDotrahd|approxeq|ldrushar|awconint|mapstoup|backcong|shortmid|triangle|geqslant|gesdotol|timesbar|circledR|circledS|setminus|multimap|naturals|scpolint|ncongdot|RightTee|boxminus|gnapprox|boxtimes|andslope|thicksim|angmsdaa|varsigma|cirfnint|rtriltri|angmsdab|rppolint|angmsdac|barwedge|drbkarow|clubsuit|thetasym|bsolhsub|capbrcup|dzigrarr|doteqdot|DotEqual|dotminus|UnderBar|NotEqual|realpart|otimesas|ulcorner|hksearow|hkswarow|parallel|PartialD|elinters|emptyset|plusacir|bbrktbrk|angmsdad|pointint|bigoplus|angmsdae|Precedes|bigsqcup|varkappa|notindot|supseteq|precneqq|precnsim|profalar|profline|profsurf|leqslant|lesdotor|raemptyv|subplus|notnivb|notnivc|subrarr|zigrarr|vzigzag|submult|subedot|Element|between|cirscir|larrbfs|larrsim|lotimes|lbrksld|lbrkslu|lozenge|ldrdhar|dbkarow|bigcirc|epsilon|simrarr|simplus|ltquest|Epsilon|luruhar|gtquest|maltese|npolint|eqcolon|npreceq|bigodot|ddagger|gtrless|bnequiv|harrcir|ddotseq|equivDD|backsim|demptyv|nsqsube|nsqsupe|Upsilon|nsubset|upsilon|minusdu|nsucceq|swarrow|nsupset|coloneq|searrow|boxplus|napprox|natural|asympeq|alefsym|congdot|nearrow|bigstar|diamond|supplus|tritime|LeftTee|nvinfin|triplus|NewLine|nvltrie|nvrtrie|nwarrow|nexists|Diamond|ruluhar|Implies|supmult|angzarr|suplarr|suphsub|questeq|because|digamma|Because|olcross|bemptyv|omicron|Omicron|rotimes|NoBreak|intprod|angrtvb|orderof|uwangle|suphsol|lesdoto|orslope|DownTee|realine|cudarrl|rdldhar|OverBar|supedot|lessdot|supdsub|topfork|succsim|rbrkslu|rbrksld|pertenk|cudarrr|isindot|planckh|lessgtr|pluscir|gesdoto|plussim|plustwo|lesssim|cularrp|rarrsim|Cayleys|notinva|notinvb|notinvc|UpArrow|Uparrow|uparrow|NotLess|dwangle|precsim|Product|curarrm|Cconint|dotplus|rarrbfs|ccupssm|Cedilla|cemptyv|notniva|quatint|frac35|frac38|frac45|frac56|frac58|frac78|tridot|xoplus|gacute|gammad|Gammad|lfisht|lfloor|bigcup|sqsupe|gbreve|Gbreve|lharul|sqsube|sqcups|Gcedil|apacir|llhard|lmidot|Lmidot|lmoust|andand|sqcaps|approx|Abreve|spades|circeq|tprime|divide|topcir|Assign|topbot|gesdot|divonx|xuplus|timesd|gesles|atilde|solbar|SOFTcy|loplus|timesb|lowast|lowbar|dlcorn|dlcrop|softcy|dollar|lparlt|thksim|lrhard|Atilde|lsaquo|smashp|bigvee|thinsp|wreath|bkarow|lsquor|lstrok|Lstrok|lthree|ltimes|ltlarr|DotDot|simdot|ltrPar|weierp|xsqcup|angmsd|sigmav|sigmaf|zeetrf|Zcaron|zcaron|mapsto|vsupne|thetav|cirmid|marker|mcomma|Zacute|vsubnE|there4|gtlPar|vsubne|bottom|gtrarr|SHCHcy|shchcy|midast|midcir|middot|minusb|minusd|gtrdot|bowtie|sfrown|mnplus|models|colone|seswar|Colone|mstpos|searhk|gtrsim|nacute|Nacute|boxbox|telrec|hairsp|Tcedil|nbumpe|scnsim|ncaron|Ncaron|ncedil|Ncedil|hamilt|Scedil|nearhk|hardcy|HARDcy|tcedil|Tcaron|commat|nequiv|nesear|tcaron|target|hearts|nexist|varrho|scedil|Scaron|scaron|hellip|Sacute|sacute|hercon|swnwar|compfn|rtimes|rthree|rsquor|rsaquo|zacute|wedgeq|homtht|barvee|barwed|Barwed|rpargt|horbar|conint|swarhk|roplus|nltrie|hslash|hstrok|Hstrok|rmoust|Conint|bprime|hybull|hyphen|iacute|Iacute|supsup|supsub|supsim|varphi|coprod|brvbar|agrave|Supset|supset|igrave|Igrave|notinE|Agrave|iiiint|iinfin|copysr|wedbar|Verbar|vangrt|becaus|incare|verbar|inodot|bullet|drcorn|intcal|drcrop|cularr|vellip|Utilde|bumpeq|cupcap|dstrok|Dstrok|CupCap|cupcup|cupdot|eacute|Eacute|supdot|iquest|easter|ecaron|Ecaron|ecolon|isinsv|utilde|itilde|Itilde|curarr|succeq|Bumpeq|cacute|ulcrop|nparsl|Cacute|nprcue|egrave|Egrave|nrarrc|nrarrw|subsup|subsub|nrtrie|jsercy|nsccue|Jsercy|kappav|kcedil|Kcedil|subsim|ulcorn|nsimeq|egsdot|veebar|kgreen|capand|elsdot|Subset|subset|curren|aacute|lacute|Lacute|emptyv|ntilde|Ntilde|lagran|lambda|Lambda|capcap|Ugrave|langle|subdot|emsp13|numero|emsp14|nvdash|nvDash|nVdash|nVDash|ugrave|ufisht|nvHarr|larrfs|nvlArr|larrhk|larrlp|larrpl|nvrArr|Udblac|nwarhk|larrtl|nwnear|oacute|Oacute|latail|lAtail|sstarf|lbrace|odblac|Odblac|lbrack|udblac|odsold|eparsl|lcaron|Lcaron|ograve|Ograve|lcedil|Lcedil|Aacute|ssmile|ssetmn|squarf|ldquor|capcup|ominus|cylcty|rharul|eqcirc|dagger|rfloor|rfisht|Dagger|daleth|equals|origof|capdot|equest|dcaron|Dcaron|rdquor|oslash|Oslash|otilde|Otilde|otimes|Otimes|urcrop|Ubreve|ubreve|Yacute|Uacute|uacute|Rcedil|rcedil|urcorn|parsim|Rcaron|Vdashl|rcaron|Tstrok|percnt|period|permil|Exists|yacute|rbrack|rbrace|phmmat|ccaron|Ccaron|planck|ccedil|plankv|tstrok|female|plusdo|plusdu|ffilig|plusmn|ffllig|Ccedil|rAtail|dfisht|bernou|ratail|Rarrtl|rarrtl|angsph|rarrpl|rarrlp|rarrhk|xwedge|xotime|forall|ForAll|Vvdash|vsupnE|preceq|bigcap|frac12|frac13|frac14|primes|rarrfs|prnsim|frac15|Square|frac16|square|lesdot|frac18|frac23|propto|prurel|rarrap|rangle|puncsp|frac25|Racute|qprime|racute|lesges|frac34|abreve|AElig|eqsim|utdot|setmn|urtri|Equal|Uring|seArr|uring|searr|dashv|Dashv|mumap|nabla|iogon|Iogon|sdote|sdotb|scsim|napid|napos|equiv|natur|Acirc|dblac|erarr|nbump|iprod|erDot|ucirc|awint|esdot|angrt|ncong|isinE|scnap|Scirc|scirc|ndash|isins|Ubrcy|nearr|neArr|isinv|nedot|ubrcy|acute|Ycirc|iukcy|Iukcy|xutri|nesim|caret|jcirc|Jcirc|caron|twixt|ddarr|sccue|exist|jmath|sbquo|ngeqq|angst|ccaps|lceil|ngsim|UpTee|delta|Delta|rtrif|nharr|nhArr|nhpar|rtrie|jukcy|Jukcy|kappa|rsquo|Kappa|nlarr|nlArr|TSHcy|rrarr|aogon|Aogon|fflig|xrarr|tshcy|ccirc|nleqq|filig|upsih|nless|dharl|nlsim|fjlig|ropar|nltri|dharr|robrk|roarr|fllig|fltns|roang|rnmid|subnE|subne|lAarr|trisb|Ccirc|acirc|ccups|blank|VDash|forkv|Vdash|langd|cedil|blk12|blk14|laquo|strns|diams|notin|vDash|larrb|blk34|block|disin|uplus|vdash|vBarv|aelig|starf|Wedge|check|xrArr|lates|lbarr|lBarr|notni|lbbrk|bcong|frasl|lbrke|frown|vrtri|vprop|vnsup|gamma|Gamma|wedge|xodot|bdquo|srarr|doteq|ldquo|boxdl|boxdL|gcirc|Gcirc|boxDl|boxDL|boxdr|boxdR|boxDr|TRADE|trade|rlhar|boxDR|vnsub|npart|vltri|rlarr|boxhd|boxhD|nprec|gescc|nrarr|nrArr|boxHd|boxHD|boxhu|boxhU|nrtri|boxHu|clubs|boxHU|times|colon|Colon|gimel|xlArr|Tilde|nsime|tilde|nsmid|nspar|THORN|thorn|xlarr|nsube|nsubE|thkap|xhArr|comma|nsucc|boxul|boxuL|nsupe|nsupE|gneqq|gnsim|boxUl|boxUL|grave|boxur|boxuR|boxUr|boxUR|lescc|angle|bepsi|boxvh|varpi|boxvH|numsp|Theta|gsime|gsiml|theta|boxVh|boxVH|boxvl|gtcir|gtdot|boxvL|boxVl|boxVL|crarr|cross|Cross|nvsim|boxvr|nwarr|nwArr|sqsup|dtdot|Uogon|lhard|lharu|dtrif|ocirc|Ocirc|lhblk|duarr|odash|sqsub|Hacek|sqcup|llarr|duhar|oelig|OElig|ofcir|boxvR|uogon|lltri|boxVr|csube|uuarr|ohbar|csupe|ctdot|olarr|olcir|harrw|oline|sqcap|omacr|Omacr|omega|Omega|boxVR|aleph|lneqq|lnsim|loang|loarr|rharu|lobrk|hcirc|operp|oplus|rhard|Hcirc|orarr|Union|order|ecirc|Ecirc|cuepr|szlig|cuesc|breve|reals|eDDot|Breve|hoarr|lopar|utrif|rdquo|Umacr|umacr|efDot|swArr|ultri|alpha|rceil|ovbar|swarr|Wcirc|wcirc|smtes|smile|bsemi|lrarr|aring|parsl|lrhar|bsime|uhblk|lrtri|cupor|Aring|uharr|uharl|slarr|rbrke|bsolb|lsime|rbbrk|RBarr|lsimg|phone|rBarr|rbarr|icirc|lsquo|Icirc|emacr|Emacr|ratio|simne|plusb|simlE|simgE|simeq|pluse|ltcir|ltdot|empty|xharr|xdtri|iexcl|Alpha|ltrie|rarrw|pound|ltrif|xcirc|bumpe|prcue|bumpE|asymp|amacr|cuvee|Sigma|sigma|iiint|udhar|iiota|ijlig|IJlig|supnE|imacr|Imacr|prime|Prime|image|prnap|eogon|Eogon|rarrc|mdash|mDDot|cuwed|imath|supne|imped|Amacr|udarr|prsim|micro|rarrb|cwint|raquo|infin|eplus|range|rangd|Ucirc|radic|minus|amalg|veeeq|rAarr|epsiv|ycirc|quest|sharp|quot|zwnj|Qscr|race|qscr|Qopf|qopf|qint|rang|Rang|Zscr|zscr|Zopf|zopf|rarr|rArr|Rarr|Pscr|pscr|prop|prod|prnE|prec|ZHcy|zhcy|prap|Zeta|zeta|Popf|popf|Zdot|plus|zdot|Yuml|yuml|phiv|YUcy|yucy|Yscr|yscr|perp|Yopf|yopf|part|para|YIcy|Ouml|rcub|yicy|YAcy|rdca|ouml|osol|Oscr|rdsh|yacy|real|oscr|xvee|andd|rect|andv|Xscr|oror|ordm|ordf|xscr|ange|aopf|Aopf|rHar|Xopf|opar|Oopf|xopf|xnis|rhov|oopf|omid|xmap|oint|apid|apos|ogon|ascr|Ascr|odot|odiv|xcup|xcap|ocir|oast|nvlt|nvle|nvgt|nvge|nvap|Wscr|wscr|auml|ntlg|ntgl|nsup|nsub|nsim|Nscr|nscr|nsce|Wopf|ring|npre|wopf|npar|Auml|Barv|bbrk|Nopf|nopf|nmid|nLtv|beta|ropf|Ropf|Beta|beth|nles|rpar|nleq|bnot|bNot|nldr|NJcy|rscr|Rscr|Vscr|vscr|rsqb|njcy|bopf|nisd|Bopf|rtri|Vopf|nGtv|ngtr|vopf|boxh|boxH|boxv|nges|ngeq|boxV|bscr|scap|Bscr|bsim|Vert|vert|bsol|bull|bump|caps|cdot|ncup|scnE|ncap|nbsp|napE|Cdot|cent|sdot|Vbar|nang|vBar|chcy|Mscr|mscr|sect|semi|CHcy|Mopf|mopf|sext|circ|cire|mldr|mlcp|cirE|comp|shcy|SHcy|vArr|varr|cong|copf|Copf|copy|COPY|malt|male|macr|lvnE|cscr|ltri|sime|ltcc|simg|Cscr|siml|csub|Uuml|lsqb|lsim|uuml|csup|Lscr|lscr|utri|smid|lpar|cups|smte|lozf|darr|Lopf|Uscr|solb|lopf|sopf|Sopf|lneq|uscr|spar|dArr|lnap|Darr|dash|Sqrt|LJcy|ljcy|lHar|dHar|Upsi|upsi|diam|lesg|djcy|DJcy|leqq|dopf|Dopf|dscr|Dscr|dscy|ldsh|ldca|squf|DScy|sscr|Sscr|dsol|lcub|late|star|Star|Uopf|Larr|lArr|larr|uopf|dtri|dzcy|sube|subE|Lang|lang|Kscr|kscr|Kopf|kopf|KJcy|kjcy|KHcy|khcy|DZcy|ecir|edot|eDot|Jscr|jscr|succ|Jopf|jopf|Edot|uHar|emsp|ensp|Iuml|iuml|eopf|isin|Iscr|iscr|Eopf|epar|sung|epsi|escr|sup1|sup2|sup3|Iota|iota|supe|supE|Iopf|iopf|IOcy|iocy|Escr|esim|Esim|imof|Uarr|QUOT|uArr|uarr|euml|IEcy|iecy|Idot|Euml|euro|excl|Hscr|hscr|Hopf|hopf|TScy|tscy|Tscr|hbar|tscr|flat|tbrk|fnof|hArr|harr|half|fopf|Fopf|tdot|gvnE|fork|trie|gtcc|fscr|Fscr|gdot|gsim|Gscr|gscr|Gopf|gopf|gneq|Gdot|tosa|gnap|Topf|topf|geqq|toea|GJcy|gjcy|tint|gesl|mid|Sfr|ggg|top|ges|gla|glE|glj|geq|gne|gEl|gel|gnE|Gcy|gcy|gap|Tfr|tfr|Tcy|tcy|Hat|Tau|Ffr|tau|Tab|hfr|Hfr|ffr|Fcy|fcy|icy|Icy|iff|ETH|eth|ifr|Ifr|Eta|eta|int|Int|Sup|sup|ucy|Ucy|Sum|sum|jcy|ENG|ufr|Ufr|eng|Jcy|jfr|els|ell|egs|Efr|efr|Jfr|uml|kcy|Kcy|Ecy|ecy|kfr|Kfr|lap|Sub|sub|lat|lcy|Lcy|leg|Dot|dot|lEg|leq|les|squ|div|die|lfr|Lfr|lgE|Dfr|dfr|Del|deg|Dcy|dcy|lne|lnE|sol|loz|smt|Cup|lrm|cup|lsh|Lsh|sim|shy|map|Map|mcy|Mcy|mfr|Mfr|mho|gfr|Gfr|sfr|cir|Chi|chi|nap|Cfr|vcy|Vcy|cfr|Scy|scy|ncy|Ncy|vee|Vee|Cap|cap|nfr|scE|sce|Nfr|nge|ngE|nGg|vfr|Vfr|ngt|bot|nGt|nis|niv|Rsh|rsh|nle|nlE|bne|Bfr|bfr|nLl|nlt|nLt|Bcy|bcy|not|Not|rlm|wfr|Wfr|npr|nsc|num|ocy|ast|Ocy|ofr|xfr|Xfr|Ofr|ogt|ohm|apE|olt|Rho|ape|rho|Rfr|rfr|ord|REG|ang|reg|orv|And|and|AMP|Rcy|amp|Afr|ycy|Ycy|yen|yfr|Yfr|rcy|par|pcy|Pcy|pfr|Pfr|phi|Phi|afr|Acy|acy|zcy|Zcy|piv|acE|acd|zfr|Zfr|pre|prE|psi|Psi|qfr|Qfr|zwj|Or|ge|Gg|gt|gg|el|oS|lt|Lt|LT|Re|lg|gl|eg|ne|Im|it|le|DD|wp|wr|nu|Nu|dd|lE|Sc|sc|pi|Pi|ee|af|ll|Ll|rx|gE|xi|pm|Xi|ic|pr|Pr|in|ni|mp|mu|ac|Mu|or|ap|Gt|GT|ii);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)(?!;)([=a-zA-Z0-9]?)|&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+)/g,g={aacute:"á",Aacute:"Á",abreve:"ă",Abreve:"Ă",ac:"∾",acd:"∿",acE:"∾̳",acirc:"â",Acirc:"Â",acute:"´",acy:"а",Acy:"А",aelig:"æ",AElig:"Æ",af:"⁡",afr:"𝔞",Afr:"𝔄",agrave:"à",Agrave:"À",alefsym:"ℵ",aleph:"ℵ",alpha:"α",Alpha:"Α",amacr:"ā",Amacr:"Ā",amalg:"⨿",amp:"&",AMP:"&",and:"∧",And:"⩓",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",Aogon:"Ą",aopf:"𝕒",Aopf:"𝔸",ap:"≈",apacir:"⩯",ape:"≊",apE:"⩰",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",aring:"å",Aring:"Å",ascr:"𝒶",Ascr:"𝒜",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",Bcy:"Б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",beta:"β",Beta:"Β",beth:"ℶ",between:"≬",bfr:"𝔟",Bfr:"𝔅",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bNot:"⫭",bopf:"𝕓",Bopf:"𝔹",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxhD:"╥",boxHd:"╤",boxHD:"╦",boxhu:"┴",boxhU:"╨",boxHu:"╧",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpe:"≏",bumpE:"⪮",bumpeq:"≏",Bumpeq:"≎",cacute:"ć",Cacute:"Ć",cap:"∩",Cap:"⋒",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",ccaron:"č",Ccaron:"Č",ccedil:"ç",Ccedil:"Ç",ccirc:"ĉ",Ccirc:"Ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",Cdot:"Ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",chcy:"ч",CHcy:"Ч",check:"✓",checkmark:"✓",chi:"χ",Chi:"Χ",cir:"○",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cire:"≗",cirE:"⧃",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",colone:"≔",Colone:"⩴",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",cscr:"𝒸",Cscr:"𝒞",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",Cup:"⋓",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",dArr:"⇓",Darr:"↡",dash:"‐",dashv:"⊣",Dashv:"⫤",dbkarow:"⤏",dblac:"˝",dcaron:"ď",Dcaron:"Ď",dcy:"д",Dcy:"Д",dd:"ⅆ",DD:"ⅅ",ddagger:"‡",ddarr:"⇊",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",delta:"δ",Delta:"Δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",Dfr:"𝔇",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",DJcy:"Ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",Dopf:"𝔻",dot:"˙",Dot:"¨",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",downarrow:"↓",Downarrow:"⇓",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",Dscr:"𝒟",dscy:"ѕ",DScy:"Ѕ",dsol:"⧶",dstrok:"đ",Dstrok:"Đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",DZcy:"Џ",dzigrarr:"⟿",eacute:"é",Eacute:"É",easter:"⩮",ecaron:"ě",Ecaron:"Ě",ecir:"≖",ecirc:"ê",Ecirc:"Ê",ecolon:"≕",ecy:"э",Ecy:"Э",eDDot:"⩷",edot:"ė",eDot:"≑",Edot:"Ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",Efr:"𝔈",eg:"⪚",egrave:"è",Egrave:"È",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",Emacr:"Ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp:" ",emsp13:" ",emsp14:" ",eng:"ŋ",ENG:"Ŋ",ensp:" ",eogon:"ę",Eogon:"Ę",eopf:"𝕖",Eopf:"𝔼",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",Epsilon:"Ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",esim:"≂",Esim:"⩳",eta:"η",Eta:"Η",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",fcy:"ф",Fcy:"Ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",Ffr:"𝔉",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",Fopf:"𝔽",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",gamma:"γ",Gamma:"Γ",gammad:"ϝ",Gammad:"Ϝ",gap:"⪆",gbreve:"ğ",Gbreve:"Ğ",Gcedil:"Ģ",gcirc:"ĝ",Gcirc:"Ĝ",gcy:"г",Gcy:"Г",gdot:"ġ",Gdot:"Ġ",ge:"≥",gE:"≧",gel:"⋛",gEl:"⪌",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",Gfr:"𝔊",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",GJcy:"Ѓ",gl:"≷",gla:"⪥",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",Gopf:"𝔾",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",gscr:"ℊ",Gscr:"𝒢",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",Gt:"≫",GT:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",HARDcy:"Ъ",harr:"↔",hArr:"⇔",harrcir:"⥈",harrw:"↭",Hat:"^",hbar:"ℏ",hcirc:"ĥ",Hcirc:"Ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",hstrok:"ħ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",iacute:"í",Iacute:"Í",ic:"⁣",icirc:"î",Icirc:"Î",icy:"и",Icy:"И",Idot:"İ",iecy:"е",IEcy:"Е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",igrave:"ì",Igrave:"Ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",IJlig:"IJ",Im:"ℑ",imacr:"ī",Imacr:"Ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",Implies:"⇒",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",Int:"∬",intcal:"⊺",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",iocy:"ё",IOcy:"Ё",iogon:"į",Iogon:"Į",iopf:"𝕚",Iopf:"𝕀",iota:"ι",Iota:"Ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",Itilde:"Ĩ",iukcy:"і",Iukcy:"І",iuml:"ï",Iuml:"Ï",jcirc:"ĵ",Jcirc:"Ĵ",jcy:"й",Jcy:"Й",jfr:"𝔧",Jfr:"𝔍",jmath:"ȷ",jopf:"𝕛",Jopf:"𝕁",jscr:"𝒿",Jscr:"𝒥",jsercy:"ј",Jsercy:"Ј",jukcy:"є",Jukcy:"Є",kappa:"κ",Kappa:"Κ",kappav:"ϰ",kcedil:"ķ",Kcedil:"Ķ",kcy:"к",Kcy:"К",kfr:"𝔨",Kfr:"𝔎",kgreen:"ĸ",khcy:"х",KHcy:"Х",kjcy:"ќ",KJcy:"Ќ",kopf:"𝕜",Kopf:"𝕂",kscr:"𝓀",Kscr:"𝒦",lAarr:"⇚",lacute:"ĺ",Lacute:"Ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",Lambda:"Λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larr:"←",lArr:"⇐",Larr:"↞",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",lAtail:"⤛",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",Lcaron:"Ľ",lcedil:"ļ",Lcedil:"Ļ",lceil:"⌈",lcub:"{",lcy:"л",Lcy:"Л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",leftarrow:"←",Leftarrow:"⇐",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",Leftrightarrow:"⇔",LeftRightArrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",leg:"⋚",lEg:"⪋",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",Lfr:"𝔏",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",LJcy:"Љ",ll:"≪",Ll:"⋘",llarr:"⇇",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",lmidot:"ŀ",Lmidot:"Ŀ",lmoust:"⎰",lmoustache:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",Longleftarrow:"⟸",LongLeftArrow:"⟵",longleftrightarrow:"⟷",Longleftrightarrow:"⟺",LongLeftRightArrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",Longrightarrow:"⟹",LongRightArrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",Lopf:"𝕃",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",Lstrok:"Ł",lt:"<",Lt:"≪",LT:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",Map:"⤅",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",Mcy:"М",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",mfr:"𝔪",Mfr:"𝔐",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",Mopf:"𝕄",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",mu:"μ",Mu:"Μ",multimap:"⊸",mumap:"⊸",nabla:"∇",nacute:"ń",Nacute:"Ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",Ncaron:"Ň",ncedil:"ņ",Ncedil:"Ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",Ncy:"Н",ndash:"–",ne:"≠",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",nfr:"𝔫",Nfr:"𝔑",nge:"≱",ngE:"≧̸",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",ngt:"≯",nGt:"≫⃒",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",NJcy:"Њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nle:"≰",nlE:"≦̸",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nlt:"≮",nLt:"≪⃒",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",not:"¬",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrarr:"↛",nrArr:"⇏",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",Nscr:"𝒩",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsube:"⊈",nsubE:"⫅̸",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupe:"⊉",nsupE:"⫆̸",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",Ntilde:"Ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",Nu:"Ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",oacute:"ó",Oacute:"Ó",oast:"⊛",ocir:"⊚",ocirc:"ô",Ocirc:"Ô",ocy:"о",Ocy:"О",odash:"⊝",odblac:"ő",Odblac:"Ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",OElig:"Œ",ofcir:"⦿",ofr:"𝔬",Ofr:"𝔒",ogon:"˛",ograve:"ò",Ograve:"Ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",Omacr:"Ō",omega:"ω",Omega:"Ω",omicron:"ο",Omicron:"Ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",Oopf:"𝕆",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",or:"∨",Or:"⩔",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",oscr:"ℴ",Oscr:"𝒪",oslash:"ø",Oslash:"Ø",osol:"⊘",otilde:"õ",Otilde:"Õ",otimes:"⊗",Otimes:"⨷",otimesas:"⨶",ouml:"ö",Ouml:"Ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",pcy:"п",Pcy:"П",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",Pfr:"𝔓",phi:"φ",Phi:"Φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",Pi:"Π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",pr:"≺",Pr:"⪻",prap:"⪷",prcue:"≼",pre:"⪯",prE:"⪳",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportion:"∷",Proportional:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",Pscr:"𝒫",psi:"ψ",Psi:"Ψ",puncsp:" ",qfr:"𝔮",Qfr:"𝔔",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",qscr:"𝓆",Qscr:"𝒬",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",racute:"ŕ",Racute:"Ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rArr:"⇒",Rarr:"↠",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",Rarrtl:"⤖",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",Rcaron:"Ř",rcedil:"ŗ",Rcedil:"Ŗ",rceil:"⌉",rcub:"}",rcy:"р",Rcy:"Р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",Re:"ℜ",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",Rho:"Ρ",rhov:"ϱ",RightAngleBracket:"⟩",rightarrow:"→",Rightarrow:"⇒",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",sacute:"ś",Sacute:"Ś",sbquo:"‚",sc:"≻",Sc:"⪼",scap:"⪸",scaron:"š",Scaron:"Š",sccue:"≽",sce:"⪰",scE:"⪴",scedil:"ş",Scedil:"Ş",scirc:"ŝ",Scirc:"Ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",Scy:"С",sdot:"⋅",sdotb:"⊡",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",Sfr:"𝔖",sfrown:"⌢",sharp:"♯",shchcy:"щ",SHCHcy:"Щ",shcy:"ш",SHcy:"Ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",sigma:"σ",Sigma:"Σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",SOFTcy:"Ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",Sopf:"𝕊",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",Sscr:"𝒮",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",Star:"⋆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",sube:"⊆",subE:"⫅",subedot:"⫃",submult:"⫁",subne:"⊊",subnE:"⫋",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup:"⊃",Sup:"⋑",sup1:"¹",sup2:"²",sup3:"³",supdot:"⪾",supdsub:"⫘",supe:"⊇",supE:"⫆",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supne:"⊋",supnE:"⫌",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:"\t",target:"⌖",tau:"τ",Tau:"Τ",tbrk:"⎴",tcaron:"ť",Tcaron:"Ť",tcedil:"ţ",Tcedil:"Ţ",tcy:"т",Tcy:"Т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",Tfr:"𝔗",there4:"∴",therefore:"∴",Therefore:"∴",theta:"θ",Theta:"Θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",thinsp:" ",ThinSpace:" ",thkap:"≈",thksim:"∼",thorn:"þ",THORN:"Þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",Topf:"𝕋",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",Tscr:"𝒯",tscy:"ц",TScy:"Ц",tshcy:"ћ",TSHcy:"Ћ",tstrok:"ŧ",Tstrok:"Ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uacute:"ú",Uacute:"Ú",uarr:"↑",uArr:"⇑",Uarr:"↟",Uarrocir:"⥉",ubrcy:"ў",Ubrcy:"Ў",ubreve:"ŭ",Ubreve:"Ŭ",ucirc:"û",Ucirc:"Û",ucy:"у",Ucy:"У",udarr:"⇅",udblac:"ű",Udblac:"Ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",Ufr:"𝔘",ugrave:"ù",Ugrave:"Ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",Umacr:"Ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",uogon:"ų",Uogon:"Ų",uopf:"𝕦",Uopf:"𝕌",uparrow:"↑",Uparrow:"⇑",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",updownarrow:"↕",Updownarrow:"⇕",UpDownArrow:"↕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",upsilon:"υ",Upsilon:"Υ",UpTee:"⊥",UpTeeArrow:"↥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",Uring:"Ů",urtri:"◹",uscr:"𝓊",Uscr:"𝒰",utdot:"⋰",utilde:"ũ",Utilde:"Ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",Uuml:"Ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",vcy:"в",Vcy:"В",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",vee:"∨",Vee:"⋁",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",vfr:"𝔳",Vfr:"𝔙",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",Vopf:"𝕍",vprop:"∝",vrtri:"⊳",vscr:"𝓋",Vscr:"𝒱",vsubne:"⊊︀",vsubnE:"⫋︀",vsupne:"⊋︀",vsupnE:"⫌︀",Vvdash:"⊪",vzigzag:"⦚",wcirc:"ŵ",Wcirc:"Ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",wfr:"𝔴",Wfr:"𝔚",wopf:"𝕨",Wopf:"𝕎",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",Wscr:"𝒲",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",Xfr:"𝔛",xharr:"⟷",xhArr:"⟺",xi:"ξ",Xi:"Ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",Xopf:"𝕏",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",xscr:"𝓍",Xscr:"𝒳",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",Yacute:"Ý",yacy:"я",YAcy:"Я",ycirc:"ŷ",Ycirc:"Ŷ",ycy:"ы",Ycy:"Ы",yen:"¥",yfr:"𝔶",Yfr:"𝔜",yicy:"ї",YIcy:"Ї",yopf:"𝕪",Yopf:"𝕐",yscr:"𝓎",Yscr:"𝒴",yucy:"ю",YUcy:"Ю",yuml:"ÿ",Yuml:"Ÿ",zacute:"ź",Zacute:"Ź",zcaron:"ž",Zcaron:"Ž",zcy:"з",Zcy:"З",zdot:"ż",Zdot:"Ż",zeetrf:"ℨ",ZeroWidthSpace:"​",zeta:"ζ",Zeta:"Ζ",zfr:"𝔷",Zfr:"ℨ",zhcy:"ж",ZHcy:"Ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",zscr:"𝓏",Zscr:"𝒵",zwj:"‍",zwnj:"‌"},v={aacute:"á",Aacute:"Á",acirc:"â",Acirc:"Â",acute:"´",aelig:"æ",AElig:"Æ",agrave:"à",Agrave:"À",amp:"&",AMP:"&",aring:"å",Aring:"Å",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",brvbar:"¦",ccedil:"ç",Ccedil:"Ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",eacute:"é",Eacute:"É",ecirc:"ê",Ecirc:"Ê",egrave:"è",Egrave:"È",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",iacute:"í",Iacute:"Í",icirc:"î",Icirc:"Î",iexcl:"¡",igrave:"ì",Igrave:"Ì",iquest:"¿",iuml:"ï",Iuml:"Ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",ntilde:"ñ",Ntilde:"Ñ",oacute:"ó",Oacute:"Ó",ocirc:"ô",Ocirc:"Ô",ograve:"ò",Ograve:"Ò",ordf:"ª",ordm:"º",oslash:"ø",Oslash:"Ø",otilde:"õ",Otilde:"Õ",ouml:"ö",Ouml:"Ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",thorn:"þ",THORN:"Þ",times:"×",uacute:"ú",Uacute:"Ú",ucirc:"û",Ucirc:"Û",ugrave:"ù",Ugrave:"Ù",uml:"¨",uuml:"ü",Uuml:"Ü",yacute:"ý",Yacute:"Ý",yen:"¥",yuml:"ÿ"},y={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},b=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],w=String.fromCharCode,A={}.hasOwnProperty,x=function(t,r){return A.call(t,r)},E=function(t,r){if(!t)return r;var e,n={};for(e in r)n[e]=x(t,e)?t[e]:r[e];return n},L=function(t,r){var e="";return t>=55296&&t<=57343||t>1114111?(r&&q("character reference outside the permissible Unicode range"),"�"):x(y,t)?(r&&q("disallowed character reference"),y[t]):(r&&function(t,r){for(var e=-1,n=t.length;++e65535&&(e+=w((t-=65536)>>>10&1023|55296),t=56320|1023&t),e+=w(t))},C=function(t){return"&#x"+t.toString(16).toUpperCase()+";"},D=function(t){return"&#"+t+";"},q=function(t){throw Error("Parse error: "+t)},k=function(t,r){(r=E(r,k.options)).strict&&d.test(t)&&q("forbidden code point");var e=r.encodeEverything,n=r.useNamedReferences,o=r.allowUnsafeSymbols,a=r.decimal?D:C,f=function(t){return a(t.charCodeAt(0))};return e?(t=t.replace(s,(function(t){return n&&x(l,t)?"&"+l[t]+";":f(t)})),n&&(t=t.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),n&&(t=t.replace(u,(function(t){return"&"+l[t]+";"})))):n?(o||(t=t.replace(p,(function(t){return"&"+l[t]+";"}))),t=(t=t.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒")).replace(u,(function(t){return"&"+l[t]+";"}))):o||(t=t.replace(p,f)),t.replace(i,(function(t){var r=t.charCodeAt(0),e=t.charCodeAt(1);return a(1024*(r-55296)+e-56320+65536)})).replace(c,f)};k.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1,decimal:!1};var S=function(t,r){var e=(r=E(r,S.options)).strict;return e&&h.test(t)&&q("malformed character reference"),t.replace(m,(function(t,n,o,a,i,s,c,u,l){var p,f,h,d,m,y;return n?g[m=n]:o?(m=o,(y=a)&&r.isAttributeValue?(e&&"="==y&&q("`&` did not start a character reference"),t):(e&&q("named character reference was not terminated by a semicolon"),v[m]+(y||""))):i?(h=i,f=s,e&&!f&&q("character reference was not terminated by a semicolon"),p=parseInt(h,10),L(p,e)):c?(d=c,f=u,e&&!f&&q("character reference was not terminated by a semicolon"),p=parseInt(d,16),L(p,e)):(e&&q("named character reference was not terminated by a semicolon"),t)}))};S.options={isAttributeValue:!1,strict:!1};var j={version:"1.2.0",encode:k,decode:S,escape:function(t){return t.replace(p,(function(t){return f[t]}))},unescape:S};void 0===(n=function(){return j}.call(r,e,r,t))||(t.exports=n)}()},46700:function(t,r,e){var n={"./af":42786,"./af.js":42786,"./ar":30867,"./ar-dz":14130,"./ar-dz.js":14130,"./ar-kw":96135,"./ar-kw.js":96135,"./ar-ly":56440,"./ar-ly.js":56440,"./ar-ma":47702,"./ar-ma.js":47702,"./ar-sa":16040,"./ar-sa.js":16040,"./ar-tn":37100,"./ar-tn.js":37100,"./ar.js":30867,"./az":31083,"./az.js":31083,"./be":9808,"./be.js":9808,"./bg":68338,"./bg.js":68338,"./bm":67438,"./bm.js":67438,"./bn":8905,"./bn-bd":76225,"./bn-bd.js":76225,"./bn.js":8905,"./bo":11560,"./bo.js":11560,"./br":1278,"./br.js":1278,"./bs":80622,"./bs.js":80622,"./ca":2468,"./ca.js":2468,"./cs":5822,"./cs.js":5822,"./cv":50877,"./cv.js":50877,"./cy":47373,"./cy.js":47373,"./da":24780,"./da.js":24780,"./de":59740,"./de-at":60217,"./de-at.js":60217,"./de-ch":60894,"./de-ch.js":60894,"./de.js":59740,"./dv":5300,"./dv.js":5300,"./el":50837,"./el.js":50837,"./en-au":78348,"./en-au.js":78348,"./en-ca":77925,"./en-ca.js":77925,"./en-gb":22243,"./en-gb.js":22243,"./en-ie":46436,"./en-ie.js":46436,"./en-il":47207,"./en-il.js":47207,"./en-in":44175,"./en-in.js":44175,"./en-nz":76319,"./en-nz.js":76319,"./en-sg":31662,"./en-sg.js":31662,"./eo":92915,"./eo.js":92915,"./es":55655,"./es-do":55251,"./es-do.js":55251,"./es-mx":96112,"./es-mx.js":96112,"./es-us":71146,"./es-us.js":71146,"./es.js":55655,"./et":5603,"./et.js":5603,"./eu":77763,"./eu.js":77763,"./fa":76959,"./fa.js":76959,"./fi":11897,"./fi.js":11897,"./fil":42549,"./fil.js":42549,"./fo":94694,"./fo.js":94694,"./fr":94470,"./fr-ca":63049,"./fr-ca.js":63049,"./fr-ch":52330,"./fr-ch.js":52330,"./fr.js":94470,"./fy":5044,"./fy.js":5044,"./ga":29295,"./ga.js":29295,"./gd":2101,"./gd.js":2101,"./gl":38794,"./gl.js":38794,"./gom-deva":27884,"./gom-deva.js":27884,"./gom-latn":23168,"./gom-latn.js":23168,"./gu":95349,"./gu.js":95349,"./he":24206,"./he.js":24206,"./hi":30094,"./hi.js":30094,"./hr":30316,"./hr.js":30316,"./hu":22138,"./hu.js":22138,"./hy-am":11423,"./hy-am.js":11423,"./id":29218,"./id.js":29218,"./is":90135,"./is.js":90135,"./it":90626,"./it-ch":10150,"./it-ch.js":10150,"./it.js":90626,"./ja":39183,"./ja.js":39183,"./jv":24286,"./jv.js":24286,"./ka":12105,"./ka.js":12105,"./kk":47772,"./kk.js":47772,"./km":18758,"./km.js":18758,"./kn":79282,"./kn.js":79282,"./ko":33730,"./ko.js":33730,"./ku":1408,"./ku.js":1408,"./ky":33291,"./ky.js":33291,"./lb":36841,"./lb.js":36841,"./lo":55466,"./lo.js":55466,"./lt":57010,"./lt.js":57010,"./lv":37595,"./lv.js":37595,"./me":39861,"./me.js":39861,"./mi":35493,"./mi.js":35493,"./mk":95966,"./mk.js":95966,"./ml":87341,"./ml.js":87341,"./mn":5115,"./mn.js":5115,"./mr":10370,"./mr.js":10370,"./ms":9847,"./ms-my":41237,"./ms-my.js":41237,"./ms.js":9847,"./mt":72126,"./mt.js":72126,"./my":56165,"./my.js":56165,"./nb":64924,"./nb.js":64924,"./ne":16744,"./ne.js":16744,"./nl":93901,"./nl-be":59814,"./nl-be.js":59814,"./nl.js":93901,"./nn":83877,"./nn.js":83877,"./oc-lnc":92135,"./oc-lnc.js":92135,"./pa-in":15858,"./pa-in.js":15858,"./pl":64495,"./pl.js":64495,"./pt":89520,"./pt-br":57971,"./pt-br.js":57971,"./pt.js":89520,"./ro":96459,"./ro.js":96459,"./ru":21793,"./ru.js":21793,"./sd":40950,"./sd.js":40950,"./se":10490,"./se.js":10490,"./si":90124,"./si.js":90124,"./sk":64249,"./sk.js":64249,"./sl":14985,"./sl.js":14985,"./sq":51104,"./sq.js":51104,"./sr":49131,"./sr-cyrl":79915,"./sr-cyrl.js":79915,"./sr.js":49131,"./ss":85893,"./ss.js":85893,"./sv":98760,"./sv.js":98760,"./sw":91172,"./sw.js":91172,"./ta":27333,"./ta.js":27333,"./te":23110,"./te.js":23110,"./tet":52095,"./tet.js":52095,"./tg":27321,"./tg.js":27321,"./th":9041,"./th.js":9041,"./tk":19005,"./tk.js":19005,"./tl-ph":75768,"./tl-ph.js":75768,"./tlh":89444,"./tlh.js":89444,"./tr":72397,"./tr.js":72397,"./tzl":28254,"./tzl.js":28254,"./tzm":51106,"./tzm-latn":30699,"./tzm-latn.js":30699,"./tzm.js":51106,"./ug-cn":9288,"./ug-cn.js":9288,"./uk":67691,"./uk.js":67691,"./ur":13795,"./ur.js":13795,"./uz":6791,"./uz-latn":60588,"./uz-latn.js":60588,"./uz.js":6791,"./vi":65666,"./vi.js":65666,"./x-pseudo":14378,"./x-pseudo.js":14378,"./yo":75805,"./yo.js":75805,"./zh-cn":83839,"./zh-cn.js":83839,"./zh-hk":55726,"./zh-hk.js":55726,"./zh-mo":99807,"./zh-mo.js":99807,"./zh-tw":74152,"./zh-tw.js":74152};function o(t){var r=a(t);return e(r)}function a(t){if(!e.o(n,t)){var r=new Error("Cannot find module '"+t+"'");throw r.code="MODULE_NOT_FOUND",r}return n[t]}o.keys=function(){return Object.keys(n)},o.resolve=a,t.exports=o,o.id=46700},65070:function(t){"use strict";function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}function e(t){var r="function"==typeof Map?new Map:void 0;return e=function(t){if(null===t||(e=t,-1===Function.toString.call(e).indexOf("[native code]")))return t;var e;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==r){if(r.has(t))return r.get(t);r.set(t,i)}function i(){return n(t,arguments,a(this).constructor)}return i.prototype=Object.create(t.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),o(i,t)},e(t)}function n(t,r,e){return n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}()?Reflect.construct:function(t,r,e){var n=[null];n.push.apply(n,r);var a=new(Function.bind.apply(t,n));return e&&o(a,e.prototype),a},n.apply(null,arguments)}function o(t,r){return o=Object.setPrototypeOf||function(t,r){return t.__proto__=r,t},o(t,r)}function a(t){return a=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},a(t)}var i=function(t){function e(t){var n;return function(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}(this,e),(n=function(t,e){return!e||"object"!==r(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}(this,a(e).call(this,t))).name="ObjectPrototypeMutationError",n}return function(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),r&&o(t,r)}(e,t),e}(e(Error));function s(t,e){for(var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},o=e.split("."),a=o.length,i=function(r){var e=o[r];if(!t)return{v:void 0};if("+"===e){if(Array.isArray(t))return{v:t.map((function(e,a){var i=o.slice(r+1);return i.length>0?s(e,i.join("."),n):n(t,a,o,r)}))};var a=o.slice(0,r).join(".");throw new Error("Object at wildcard (".concat(a,") is not an array"))}t=n(t,e,o,r)},c=0;c2&&void 0!==arguments[2]?arguments[2]:{};if("object"!=r(t)||null===t)return!1;if(void 0===e)return!1;if("number"==typeof e)return e in t;try{var o=!1;return s(t,e,(function(t,r,e,a){if(!c(e,a))return t&&t[r];o=n.own?t.hasOwnProperty(r):r in t})),o}catch(t){return!1}},hasOwn:function(t,r,e){return this.has(t,r,e||{own:!0})},isIn:function(t,e,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if("object"!=r(t)||null===t)return!1;if(void 0===e)return!1;try{var a=!1,i=!1;return s(t,e,(function(t,e,o,s){return a=a||t===n||!!t&&t[e]===n,i=c(o,s)&&"object"===r(t)&&e in t,t&&t[e]})),o.validPath?a&&i:a}catch(t){return!1}},ObjectPrototypeMutationError:i}},23722:function(t,r,e){"use strict";var n=e(34155),o=e(89539),a=function(t){return"string"==typeof t};function i(t,r){for(var e=[],n=0;n=-1&&!r;e--){var o=e>=0?arguments[e]:n.cwd();if(!a(o))throw new TypeError("Arguments to path.resolve must be strings");o&&(t=o+"/"+t,r="/"===o.charAt(0))}return(r?"/":"")+(t=i(t.split("/"),!r).join("/"))||"."},c.normalize=function(t){var r=c.isAbsolute(t),e="/"===t.substr(-1);return(t=i(t.split("/"),!r).join("/"))||r||(t="."),t&&e&&(t+="/"),(r?"/":"")+t},c.isAbsolute=function(t){return"/"===t.charAt(0)},c.join=function(){for(var t="",r=0;r=0&&""===t[e];e--);return r>e?[]:t.slice(r,e+1)}t=c.resolve(t).substr(1),r=c.resolve(r).substr(1);for(var n=e(t.split("/")),o=e(r.split("/")),a=Math.min(n.length,o.length),i=a,s=0;s=r}function g(t,r){var e=[],o=n("{","}",t);if(!o)return[t];var a=o.pre,s=o.post.length?g(o.post,!1):[""];if(/\$$/.test(o.pre))for(var c=0;c=0;if(!A&&!x)return o.post.match(/,.*\}/)?g(t=o.pre+"{"+o.body+i+o.post):[t];if(A)v=o.body.split(/\.\./);else if(1===(v=p(o.body)).length&&1===(v=g(v[0],!1).map(f)).length)return s.map((function(t){return o.pre+v[0]+t}));if(A){var E=u(v[0]),L=u(v[1]),C=Math.max(v[0].length,v[1].length),D=3==v.length?Math.abs(u(v[2])):1,q=d;L0){var T=new Array(N+1).join("0");j=S<0?"-"+T+j.slice(1):T+j}}y.push(j)}}else{y=[];for(var O=0;O=o)&&Object.keys(i.O).every((function(t){return i.O[t](e[c])}))?e.splice(c--,1):(s=!1,o0&&r[l-1][2]>o;l--)r[l]=r[l-1];r[l]=[e,n,o]},i.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(r,{a:r}),r},i.d=function(t,r){for(var e in r)i.o(r,e)&&!i.o(t,e)&&Object.defineProperty(t,e,{enumerable:!0,get:r[e]})},i.f={},i.e=function(t){return Promise.all(Object.keys(i.f).reduce((function(r,e){return i.f[e](t,r),r}),[]))},i.u=function(t){return t+"-"+t+".js?v="+{3245:"9712b63e6d8aa316e55f",6318:"a59ab0e92c526b05f790"}[t]},i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),i.o=function(t,r){return Object.prototype.hasOwnProperty.call(t,r)},e={},n="nextcloud:",i.l=function(t,r,o,a){if(e[t])e[t].push(r);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),l=0;l-1&&!t;)t=e[n--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),i.p=t}(),function(){i.b=document.baseURI||self.location.href;var t={6335:0};i.f.j=function(r,e){var n=i.o(t,r)?t[r]:void 0;if(0!==n)if(n)e.push(n[2]);else{var o=new Promise((function(e,o){n=t[r]=[e,o]}));e.push(n[2]=o);var a=i.p+i.u(r),s=new Error;i.l(a,(function(e){if(i.o(t,r)&&(0!==(n=t[r])&&(t[r]=void 0),n)){var o=e&&("load"===e.type?"missing":e.type),a=e&&e.target&&e.target.src;s.message="Loading chunk "+r+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+r,r)}},i.O.j=function(r){return 0===t[r]};var r=function(r,e){var n,o,a=e[0],s=e[1],c=e[2],u=0;if(a.some((function(r){return 0!==t[r]}))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)var l=c(i)}for(r&&r(e);u2&&void 0!==arguments[2]?arguments[2]:{},i=function(i){for(var s=arguments.length,c=new Array(s>1?s-1:0),u=1;u1){var n=t.find((function(t){return t.isIntersecting}));n&&(r=n)}if(e.callback){var o=r.isIntersecting&&r.intersectionRatio>=e.threshold;if(o===e.oldResult)return;e.oldResult=o,e.callback(o,r)}}),this.options.intersection),r.context.$nextTick((function(){e.observer&&e.observer.observe(e.el)}))}}},{key:"destroyObserver",value:function(){this.observer&&(this.observer.disconnect(),this.observer=null),this.callback&&this.callback._clear&&(this.callback._clear(),this.callback=null)}},{key:"threshold",get:function(){return this.options.intersection&&"number"==typeof this.options.intersection.threshold?this.options.intersection.threshold:0}}],e&&d(r.prototype,e),t}();function y(t,r,e){var n=r.value;if(n)if("undefined"==typeof IntersectionObserver)f.warn("[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill");else{var o=new v(t,n,e);t._vue_visibilityState=o}}function b(t){var r=t._vue_visibilityState;r&&(r.destroyObserver(),delete t._vue_visibilityState)}var w={bind:y,update:function(t,r,e){var n=r.value;if(!g(n,r.oldValue)){var o=t._vue_visibilityState;n?o?o.createObserver(n,e):y(t,{value:n},e):b(t)}},unbind:b},A={version:"1.0.0",install:function(t){t.directive("observe-visibility",w)}},x=null;"undefined"!=typeof window?x=window.Vue:void 0!==n.g&&(x=n.g.Vue),x&&x.use(A);var E=A,L=n(86514),C=n(57274),D={name:"RefreshIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},q=n(51900),k=(0,q.Z)(D,(function(){var t=this,r=t._self._c;return r("span",t._b({staticClass:"material-design-icon refresh-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(r){return t.$emit("click",r)}}},"span",t.$attrs,!1),[r("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[r("path",{attrs:{d:"M17.65,6.35C16.2,4.9 14.21,4 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C15.73,20 18.84,17.45 19.73,14H17.65C16.83,16.33 14.61,18 12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.66,6 15.14,6.69 16.22,7.78L13,11H20V4L17.65,6.35Z"}},[t.title?r("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,S={name:"MessageReplyTextIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},j=(0,q.Z)(S,(function(){var t=this,r=t._self._c;return r("span",t._b({staticClass:"material-design-icon message-reply-text-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(r){return t.$emit("click",r)}}},"span",t.$attrs,!1),[r("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[r("path",{attrs:{d:"M18,8H6V6H18V8M18,11H6V9H18V11M18,14H6V12H18V14M22,4A2,2 0 0,0 20,2H4A2,2 0 0,0 2,4V16A2,2 0 0,0 4,18H18L22,22V4Z"}},[t.title?r("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,N=n(94603),T=n(80351),O=n.n(T),_=n(20212),B=n(3349),R=n(68763),I=n(18519),P=n(22663),F=(n(83857),n(95573),n(12917),n(39429)),G={name:"Moment",props:{timestamp:{type:Number,required:!0},format:{type:String,default:"LLL"}},computed:{title:function(){return O().unix(this.timestamp).format(this.format)},formatted:function(){return O().unix(this.timestamp).fromNow()}}},U=(0,q.Z)(G,(function(){var t=this;return(0,t._self._c)("span",{staticClass:"live-relative-timestamp",attrs:{"data-timestamp":1e3*t.timestamp,title:t.title}},[t._v(t._s(t.formatted))])}),[],!1,null,null,null).exports,V=function(){return(0,s.generateRemoteUrl)("dav/comments")};function M(t){for(var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,e=new DOMParser,n=t,o=0;o=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=e.call(a,"catchLoc"),c=e.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&e.call(o,"finallyLoc")&&this.prev=0;--r){var e=this.tryEntries[r];if(e.finallyLoc===t)return this.complete(e.completion,e.afterLoc),L(e),p}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.tryLoc===t){var n=e.completion;if("throw"===n.type){var o=n.arg;L(e)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,e){return this.delegate={iterator:D(t),resultName:r,nextLoc:e},"next"===this.method&&(this.arg=void 0),p}},t}function $(t,r,e,n,o,a,i){try{var s=t[a](i),c=s.value}catch(t){return void e(t)}s.done?r(c):Promise.resolve(c).then(n,o)}function J(t,r,e){return Q.apply(this,arguments)}function Q(){var t;return t=W().mark((function t(r,e,n){var o,i,s,c,u,p;return W().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=["",r,e].join("/"),t.next=3,l.Z.post(V()+o,{actorDisplayName:(0,a.ts)().displayName,actorId:(0,a.ts)().uid,actorType:"users",creationDateTime:(new Date).toUTCString(),message:n,objectType:"files",verb:"comment"});case 3:return i=t.sent,s=parseInt(i.headers["content-location"].split("/").pop()),c=o+"/"+s,t.next=8,Z.stat(c,{details:!0});case 8:return u=t.sent,(p=u.data.props).actorDisplayName=M(p.actorDisplayName,2),p.message=M(p.message,2),t.abrupt("return",u.data);case 13:case"end":return t.stop()}}),t)})),Q=function(){var r=this,e=arguments;return new Promise((function(n,o){var a=t.apply(r,e);function i(t){$(a,n,o,i,s,"next",t)}function s(t){$(a,n,o,i,s,"throw",t)}i(void 0)}))},Q.apply(this,arguments)}function K(t){return K="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},K(t)}function X(){X=function(){return t};var t={},r=Object.prototype,e=r.hasOwnProperty,n=Object.defineProperty||function(t,r,e){t[r]=e.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(t,r,e){return Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{c({},"")}catch(t){c=function(t,r,e){return t[r]=e}}function u(t,r,e,o){var a=r&&r.prototype instanceof f?r:f,i=Object.create(a.prototype),s=new C(o||[]);return n(i,"_invoke",{value:A(t,e,s)}),i}function l(t,r,e){try{return{type:"normal",arg:t.call(r,e)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var p={};function f(){}function h(){}function d(){}var m={};c(m,a,(function(){return this}));var g=Object.getPrototypeOf,v=g&&g(g(D([])));v&&v!==r&&e.call(v,a)&&(m=v);var y=d.prototype=f.prototype=Object.create(m);function b(t){["next","throw","return"].forEach((function(r){c(t,r,(function(t){return this._invoke(r,t)}))}))}function w(t,r){function o(n,a,i,s){var c=l(t[n],t,a);if("throw"!==c.type){var u=c.arg,p=u.value;return p&&"object"==K(p)&&e.call(p,"__await")?r.resolve(p.__await).then((function(t){o("next",t,i,s)}),(function(t){o("throw",t,i,s)})):r.resolve(p).then((function(t){u.value=t,i(u)}),(function(t){return o("throw",t,i,s)}))}s(c.arg)}var a;n(this,"_invoke",{value:function(t,e){function n(){return new r((function(r,n){o(t,e,r,n)}))}return a=a?a.then(n,n):n()}})}function A(t,r,e){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return{value:void 0,done:!0}}for(e.method=o,e.arg=a;;){var i=e.delegate;if(i){var s=x(i,e);if(s){if(s===p)continue;return s}}if("next"===e.method)e.sent=e._sent=e.arg;else if("throw"===e.method){if("suspendedStart"===n)throw n="completed",e.arg;e.dispatchException(e.arg)}else"return"===e.method&&e.abrupt("return",e.arg);n="executing";var c=l(t,r,e);if("normal"===c.type){if(n=e.done?"completed":"suspendedYield",c.arg===p)continue;return{value:c.arg,done:e.done}}"throw"===c.type&&(n="completed",e.method="throw",e.arg=c.arg)}}}function x(t,r){var e=r.method,n=t.iterator[e];if(void 0===n)return r.delegate=null,"throw"===e&&t.iterator.return&&(r.method="return",r.arg=void 0,x(t,r),"throw"===r.method)||"return"!==e&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+e+"' method")),p;var o=l(n,t.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,p;var a=o.arg;return a?a.done?(r[t.resultName]=a.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=void 0),r.delegate=null,p):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,p)}function E(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function L(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function C(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(E,this),this.reset(!0)}function D(t){if(t){var r=t[a];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function r(){for(;++n=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=e.call(a,"catchLoc"),c=e.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&e.call(o,"finallyLoc")&&this.prev=0;--r){var e=this.tryEntries[r];if(e.finallyLoc===t)return this.complete(e.completion,e.afterLoc),L(e),p}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.tryLoc===t){var n=e.completion;if("throw"===n.type){var o=n.arg;L(e)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,e){return this.delegate={iterator:D(t),resultName:r,nextLoc:e},"next"===this.method&&(this.arg=void 0),p}},t}function tt(t,r,e,n,o,a,i){try{var s=t[a](i),c=s.value}catch(t){return void e(t)}s.done?r(c):Promise.resolve(c).then(n,o)}function rt(t,r,e){return et.apply(this,arguments)}function et(){var t;return t=X().mark((function t(r,e,n){var o;return X().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=["",r,e,n].join("/"),t.next=3,Z.deleteFile(o);case 3:case"end":return t.stop()}}),t)})),et=function(){var r=this,e=arguments;return new Promise((function(n,o){var a=t.apply(r,e);function i(t){tt(a,n,o,i,s,"next",t)}function s(t){tt(a,n,o,i,s,"throw",t)}i(void 0)}))},et.apply(this,arguments)}function nt(t){return nt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},nt(t)}function ot(){ot=function(){return t};var t={},r=Object.prototype,e=r.hasOwnProperty,n=Object.defineProperty||function(t,r,e){t[r]=e.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(t,r,e){return Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{c({},"")}catch(t){c=function(t,r,e){return t[r]=e}}function u(t,r,e,o){var a=r&&r.prototype instanceof f?r:f,i=Object.create(a.prototype),s=new C(o||[]);return n(i,"_invoke",{value:A(t,e,s)}),i}function l(t,r,e){try{return{type:"normal",arg:t.call(r,e)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var p={};function f(){}function h(){}function d(){}var m={};c(m,a,(function(){return this}));var g=Object.getPrototypeOf,v=g&&g(g(D([])));v&&v!==r&&e.call(v,a)&&(m=v);var y=d.prototype=f.prototype=Object.create(m);function b(t){["next","throw","return"].forEach((function(r){c(t,r,(function(t){return this._invoke(r,t)}))}))}function w(t,r){function o(n,a,i,s){var c=l(t[n],t,a);if("throw"!==c.type){var u=c.arg,p=u.value;return p&&"object"==nt(p)&&e.call(p,"__await")?r.resolve(p.__await).then((function(t){o("next",t,i,s)}),(function(t){o("throw",t,i,s)})):r.resolve(p).then((function(t){u.value=t,i(u)}),(function(t){return o("throw",t,i,s)}))}s(c.arg)}var a;n(this,"_invoke",{value:function(t,e){function n(){return new r((function(r,n){o(t,e,r,n)}))}return a=a?a.then(n,n):n()}})}function A(t,r,e){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return{value:void 0,done:!0}}for(e.method=o,e.arg=a;;){var i=e.delegate;if(i){var s=x(i,e);if(s){if(s===p)continue;return s}}if("next"===e.method)e.sent=e._sent=e.arg;else if("throw"===e.method){if("suspendedStart"===n)throw n="completed",e.arg;e.dispatchException(e.arg)}else"return"===e.method&&e.abrupt("return",e.arg);n="executing";var c=l(t,r,e);if("normal"===c.type){if(n=e.done?"completed":"suspendedYield",c.arg===p)continue;return{value:c.arg,done:e.done}}"throw"===c.type&&(n="completed",e.method="throw",e.arg=c.arg)}}}function x(t,r){var e=r.method,n=t.iterator[e];if(void 0===n)return r.delegate=null,"throw"===e&&t.iterator.return&&(r.method="return",r.arg=void 0,x(t,r),"throw"===r.method)||"return"!==e&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+e+"' method")),p;var o=l(n,t.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,p;var a=o.arg;return a?a.done?(r[t.resultName]=a.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=void 0),r.delegate=null,p):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,p)}function E(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function L(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function C(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(E,this),this.reset(!0)}function D(t){if(t){var r=t[a];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function r(){for(;++n=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=e.call(a,"catchLoc"),c=e.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&e.call(o,"finallyLoc")&&this.prev=0;--r){var e=this.tryEntries[r];if(e.finallyLoc===t)return this.complete(e.completion,e.afterLoc),L(e),p}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.tryLoc===t){var n=e.completion;if("throw"===n.type){var o=n.arg;L(e)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,e){return this.delegate={iterator:D(t),resultName:r,nextLoc:e},"next"===this.method&&(this.arg=void 0),p}},t}function at(t,r,e,n,o,a,i){try{var s=t[a](i),c=s.value}catch(t){return void e(t)}s.done?r(c):Promise.resolve(c).then(n,o)}function it(t,r,e,n){return st.apply(this,arguments)}function st(){var t;return t=ot().mark((function t(r,e,n,o){var a;return ot().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a=["",r,e,n].join("/"),t.next=3,Z.customRequest(a,Object.assign({method:"PROPPATCH",data:'\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t'.concat(o,"\n\t\t\t\t\n\t\t\t\n\t\t\t")}));case 3:return t.abrupt("return",t.sent);case 4:case"end":return t.stop()}}),t)})),st=function(){var r=this,e=arguments;return new Promise((function(n,o){var a=t.apply(r,e);function i(t){at(a,n,o,i,s,"next",t)}function s(t){at(a,n,o,i,s,"throw",t)}i(void 0)}))},st.apply(this,arguments)}var ct=n(25108);function ut(t){return ut="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ut(t)}function lt(){lt=function(){return t};var t={},r=Object.prototype,e=r.hasOwnProperty,n=Object.defineProperty||function(t,r,e){t[r]=e.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(t,r,e){return Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{c({},"")}catch(t){c=function(t,r,e){return t[r]=e}}function u(t,r,e,o){var a=r&&r.prototype instanceof f?r:f,i=Object.create(a.prototype),s=new C(o||[]);return n(i,"_invoke",{value:A(t,e,s)}),i}function l(t,r,e){try{return{type:"normal",arg:t.call(r,e)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var p={};function f(){}function h(){}function d(){}var m={};c(m,a,(function(){return this}));var g=Object.getPrototypeOf,v=g&&g(g(D([])));v&&v!==r&&e.call(v,a)&&(m=v);var y=d.prototype=f.prototype=Object.create(m);function b(t){["next","throw","return"].forEach((function(r){c(t,r,(function(t){return this._invoke(r,t)}))}))}function w(t,r){function o(n,a,i,s){var c=l(t[n],t,a);if("throw"!==c.type){var u=c.arg,p=u.value;return p&&"object"==ut(p)&&e.call(p,"__await")?r.resolve(p.__await).then((function(t){o("next",t,i,s)}),(function(t){o("throw",t,i,s)})):r.resolve(p).then((function(t){u.value=t,i(u)}),(function(t){return o("throw",t,i,s)}))}s(c.arg)}var a;n(this,"_invoke",{value:function(t,e){function n(){return new r((function(r,n){o(t,e,r,n)}))}return a=a?a.then(n,n):n()}})}function A(t,r,e){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return{value:void 0,done:!0}}for(e.method=o,e.arg=a;;){var i=e.delegate;if(i){var s=x(i,e);if(s){if(s===p)continue;return s}}if("next"===e.method)e.sent=e._sent=e.arg;else if("throw"===e.method){if("suspendedStart"===n)throw n="completed",e.arg;e.dispatchException(e.arg)}else"return"===e.method&&e.abrupt("return",e.arg);n="executing";var c=l(t,r,e);if("normal"===c.type){if(n=e.done?"completed":"suspendedYield",c.arg===p)continue;return{value:c.arg,done:e.done}}"throw"===c.type&&(n="completed",e.method="throw",e.arg=c.arg)}}}function x(t,r){var e=r.method,n=t.iterator[e];if(void 0===n)return r.delegate=null,"throw"===e&&t.iterator.return&&(r.method="return",r.arg=void 0,x(t,r),"throw"===r.method)||"return"!==e&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+e+"' method")),p;var o=l(n,t.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,p;var a=o.arg;return a?a.done?(r[t.resultName]=a.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=void 0),r.delegate=null,p):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,p)}function E(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function L(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function C(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(E,this),this.reset(!0)}function D(t){if(t){var r=t[a];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function r(){for(;++n=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=e.call(a,"catchLoc"),c=e.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&e.call(o,"finallyLoc")&&this.prev=0;--r){var e=this.tryEntries[r];if(e.finallyLoc===t)return this.complete(e.completion,e.afterLoc),L(e),p}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.tryLoc===t){var n=e.completion;if("throw"===n.type){var o=n.arg;L(e)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,e){return this.delegate={iterator:D(t),resultName:r,nextLoc:e},"next"===this.method&&(this.arg=void 0),p}},t}function pt(t,r,e,n,o,a,i){try{var s=t[a](i),c=s.value}catch(t){return void e(t)}s.done?r(c):Promise.resolve(c).then(n,o)}function ft(t){return function(){var r=this,e=arguments;return new Promise((function(n,o){var a=t.apply(r,e);function i(t){pt(a,n,o,i,s,"next",t)}function s(t){pt(a,n,o,i,s,"throw",t)}i(void 0)}))}}var ht={props:{id:{type:Number,default:null},message:{type:String,default:""},ressourceId:{type:[String,Number],required:!0}},data:function(){return{deleted:!1,editing:!1,loading:!1}},methods:{onEdit:function(){this.editing=!0},onEditCancel:function(){this.editing=!1,this.updateLocalMessage(this.message)},onEditComment:function(r){var e=this;return ft(lt().mark((function n(){return lt().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return e.loading=!0,n.prev=1,n.next=4,it(e.commentsType,e.ressourceId,e.id,r);case 4:e.logger.debug("Comment edited",{commentsType:e.commentsType,ressourceId:e.ressourceId,id:e.id,message:r}),e.$emit("update:message",r),e.editing=!1,n.next=13;break;case 9:n.prev=9,n.t0=n.catch(1),(0,u.x2)(t("comments","An error occurred while trying to edit the comment")),ct.error(n.t0);case 13:return n.prev=13,e.loading=!1,n.finish(13);case 16:case"end":return n.stop()}}),n,null,[[1,9,13,16]])})))()},onDeleteWithUndo:function(){var r=this;this.deleted=!0;var e=setTimeout(this.onDelete,u.et);(0,u.yl)(t("comments","Comment deleted"),(function(){clearTimeout(e),r.deleted=!1}))},onDelete:function(){var r=this;return ft(lt().mark((function e(){return lt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,rt(r.commentsType,r.ressourceId,r.id);case 3:r.logger.debug("Comment deleted",{commentsType:r.commentsType,ressourceId:r.ressourceId,id:r.id}),r.$emit("delete",r.id),e.next=12;break;case 7:e.prev=7,e.t0=e.catch(0),(0,u.x2)(t("comments","An error occurred while trying to delete the comment")),ct.error(e.t0),r.deleted=!1;case 12:case"end":return e.stop()}}),e,null,[[0,7]])})))()},onNewComment:function(r){var e=this;return ft(lt().mark((function n(){var o;return lt().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return e.loading=!0,n.prev=1,n.next=4,J(e.commentsType,e.ressourceId,r);case 4:o=n.sent,e.logger.debug("New comment posted",{commentsType:e.commentsType,ressourceId:e.ressourceId,newComment:o}),e.$emit("new",o),e.$emit("update:message",""),e.localMessage="",n.next=15;break;case 11:n.prev=11,n.t0=n.catch(1),(0,u.x2)(t("comments","An error occurred while trying to create the comment")),ct.error(n.t0);case 15:return n.prev=15,e.loading=!1,n.finish(15);case 18:case"end":return n.stop()}}),n,null,[[1,11,15,18]])})))()}}},dt={name:"Comment",components:{NcActionButton:_.Z,NcActions:B.Z,NcActionSeparator:R.Z,ArrowRight:F.default,NcAvatar:I.Z,NcButton:C.Z,Moment:U,NcRichContenteditable:function(){return Promise.all([n.e(7874),n.e(6318)]).then(n.bind(n,46318))}},mixins:[P.r,ht],inheritAttrs:!1,props:{actorDisplayName:{type:String,required:!0},actorId:{type:String,required:!0},creationDateTime:{type:String,default:null},editor:{type:Boolean,default:!1},autoComplete:{type:Function,required:!0},tag:{type:String,default:"div"}},data:function(){return{expanded:!1,localMessage:""}},computed:{isOwnComment:function(){return(0,a.ts)().uid===this.actorId},renderedContent:function(){return this.isEmptyMessage?"":this.renderContent(this.localMessage)},isEmptyMessage:function(){return!this.localMessage||""===this.localMessage.trim()},timestamp:function(){return parseInt(O()(this.creationDateTime).format("x"),10)/1e3}},watch:{message:function(t){this.updateLocalMessage(t)}},beforeMount:function(){this.updateLocalMessage(this.message)},methods:{updateLocalMessage:function(t){this.localMessage=t.toString()},onSubmit:function(){var t=this;if(""!==this.localMessage.trim())return this.editor?(this.onNewComment(this.localMessage.trim()),void this.$nextTick((function(){t.$refs.editor.$el.focus()}))):void this.onEditComment(this.localMessage.trim())},onExpand:function(){this.expanded=!0}}},mt=n(93379),gt=n.n(mt),vt=n(7795),yt=n.n(vt),bt=n(90569),wt=n.n(bt),At=n(3565),xt=n.n(At),Et=n(19216),Lt=n.n(Et),Ct=n(44589),Dt=n.n(Ct),qt=n(73090),kt={};kt.styleTagTransform=Dt(),kt.setAttributes=xt(),kt.insert=wt().bind(null,"head"),kt.domAPI=yt(),kt.insertStyleElement=Lt(),gt()(qt.Z,kt),qt.Z&&qt.Z.locals&&qt.Z.locals;var St=(0,q.Z)(dt,(function(){var t=this,r=t._self._c;return r(t.tag,{directives:[{name:"show",rawName:"v-show",value:!t.deleted,expression:"!deleted"}],tag:"component",staticClass:"comment",class:{"comment--loading":t.loading}},[r("div",{staticClass:"comment__side"},[r("NcAvatar",{staticClass:"comment__avatar",attrs:{"display-name":t.actorDisplayName,user:t.actorId,size:32}})],1),t._v(" "),r("div",{staticClass:"comment__body"},[r("div",{staticClass:"comment__header"},[r("span",{staticClass:"comment__author"},[t._v(t._s(t.actorDisplayName))]),t._v(" "),t.isOwnComment&&t.id&&!t.loading?r("NcActions",{staticClass:"comment__actions"},[t.editing?r("NcActionButton",{attrs:{icon:"icon-close"},on:{click:t.onEditCancel}},[t._v("\n\t\t\t\t\t"+t._s(t.t("comments","Cancel edit"))+"\n\t\t\t\t")]):[r("NcActionButton",{attrs:{"close-after-click":!0,icon:"icon-rename"},on:{click:t.onEdit}},[t._v("\n\t\t\t\t\t\t"+t._s(t.t("comments","Edit comment"))+"\n\t\t\t\t\t")]),t._v(" "),r("NcActionSeparator"),t._v(" "),r("NcActionButton",{attrs:{"close-after-click":!0,icon:"icon-delete"},on:{click:t.onDeleteWithUndo}},[t._v("\n\t\t\t\t\t\t"+t._s(t.t("comments","Delete comment"))+"\n\t\t\t\t\t")])]],2):t._e(),t._v(" "),t.id&&t.loading?r("div",{staticClass:"comment_loading icon-loading-small"}):t.creationDateTime?r("Moment",{staticClass:"comment__timestamp",attrs:{timestamp:t.timestamp}}):t._e()],1),t._v(" "),t.editor||t.editing?r("form",{staticClass:"comment__editor",on:{submit:function(t){t.preventDefault()}}},[r("div",{staticClass:"comment__editor-group"},[r("NcRichContenteditable",{ref:"editor",attrs:{"auto-complete":t.autoComplete,contenteditable:!t.loading,value:t.localMessage,"user-data":t.userData,"aria-describedby":"tab-comments__editor-description"},on:{"update:value":t.updateLocalMessage,submit:t.onSubmit}}),t._v(" "),r("div",{staticClass:"comment__submit"},[r("NcButton",{attrs:{type:"tertiary-no-background","native-type":"submit","aria-label":t.t("comments","Post comment"),disabled:t.isEmptyMessage},on:{click:t.onSubmit},scopedSlots:t._u([{key:"icon",fn:function(){return[t.loading?r("span",{staticClass:"icon-loading-small"}):r("ArrowRight",{attrs:{size:20}})]},proxy:!0}],null,!1,2357784758)})],1)],1),t._v(" "),r("div",{staticClass:"comment__editor-description",attrs:{id:"tab-comments__editor-description"}},[t._v("\n\t\t\t\t"+t._s(t.t("comments",'"@" for mentions, ":" for emoji, "/" for smart picker'))+"\n\t\t\t")])]):r("div",{staticClass:"comment__message",class:{"comment__message--expanded":t.expanded},domProps:{innerHTML:t._s(t.renderedContent)},on:{click:t.onExpand}})])])}),[],!1,null,"6d874704",null).exports,jt=n(54298);const Nt={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",!0],"[:alpha:]":["\\p{L}\\p{Nl}",!0],"[:ascii:]":["\\x00-\\x7f",!1],"[:blank:]":["\\p{Zs}\\t",!0],"[:cntrl:]":["\\p{Cc}",!0],"[:digit:]":["\\p{Nd}",!0],"[:graph:]":["\\p{Z}\\p{C}",!0,!0],"[:lower:]":["\\p{Ll}",!0],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}",!0],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",!0],"[:upper:]":["\\p{Lu}",!0],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",!0],"[:xdigit:]":["A-Fa-f0-9",!1]},Tt=t=>t.replace(/[[\]\\-]/g,"\\$&"),Ot=t=>t.join(""),_t=(t,r)=>{const e=r;if("["!==t.charAt(e))throw new Error("not in a brace expression");const n=[],o=[];let a=e+1,i=!1,s=!1,c=!1,u=!1,l=e,p="";t:for(;ap?n.push(Tt(p)+"-"+Tt(r)):r===p&&n.push(Tt(r)),p="",a++):t.startsWith("-]",a+1)?(n.push(Tt(r+"-")),a+=2):t.startsWith("-",a+1)?(p=r,a+=2):(n.push(Tt(r)),a++)}else c=!0,a++}else u=!0,a++}if(l(dr(r),!(!e.nocomment&&"#"===r.charAt(0))&&new vr(r,e).match(t)),Pt=/^\*+([^+@!?\*\[\(]*)$/,Ft=t=>r=>!r.startsWith(".")&&r.endsWith(t),Gt=t=>r=>r.endsWith(t),Ut=t=>(t=t.toLowerCase(),r=>!r.startsWith(".")&&r.toLowerCase().endsWith(t)),Vt=t=>(t=t.toLowerCase(),r=>r.toLowerCase().endsWith(t)),Mt=/^\*+\.\*+$/,zt=t=>!t.startsWith(".")&&t.includes("."),Ht=t=>"."!==t&&".."!==t&&t.includes("."),Zt=/^\.\*+$/,Yt=t=>"."!==t&&".."!==t&&t.startsWith("."),Wt=/^\*+$/,$t=t=>0!==t.length&&!t.startsWith("."),Jt=t=>0!==t.length&&"."!==t&&".."!==t,Qt=/^\?+([^+@!?\*\[\(]*)?$/,Kt=([t,r=""])=>{const e=er([t]);return r?(r=r.toLowerCase(),t=>e(t)&&t.toLowerCase().endsWith(r)):e},Xt=([t,r=""])=>{const e=nr([t]);return r?(r=r.toLowerCase(),t=>e(t)&&t.toLowerCase().endsWith(r)):e},tr=([t,r=""])=>{const e=nr([t]);return r?t=>e(t)&&t.endsWith(r):e},rr=([t,r=""])=>{const e=er([t]);return r?t=>e(t)&&t.endsWith(r):e},er=([t])=>{const r=t.length;return t=>t.length===r&&!t.startsWith(".")},nr=([t])=>{const r=t.length;return t=>t.length===r&&"."!==t&&".."!==t},or="object"==typeof Bt&&Bt?"object"==typeof Bt.env&&Bt.env&&Bt.env.__MINIMATCH_TESTING_PLATFORM__||Bt.platform:"posix";It.sep="win32"===or?"\\":"/";const ar=Symbol("globstar **");It.GLOBSTAR=ar;const ir={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}},sr="[^/]",cr=sr+"*?",ur=t=>t.split("").reduce(((t,r)=>(t[r]=!0,t)),{}),lr=ur("().*{}+?[]^$\\!"),pr=ur("[.(");It.filter=(t,r={})=>e=>It(e,t,r);const fr=(t,r={})=>Object.assign({},t,r);It.defaults=t=>{if(!t||"object"!=typeof t||!Object.keys(t).length)return It;const r=It;return Object.assign(((e,n,o={})=>r(e,n,fr(t,o))),{Minimatch:class extends r.Minimatch{constructor(r,e={}){super(r,fr(t,e))}static defaults(e){return r.defaults(fr(t,e)).Minimatch}},unescape:(e,n={})=>r.unescape(e,fr(t,n)),escape:(e,n={})=>r.escape(e,fr(t,n)),filter:(e,n={})=>r.filter(e,fr(t,n)),defaults:e=>r.defaults(fr(t,e)),makeRe:(e,n={})=>r.makeRe(e,fr(t,n)),braceExpand:(e,n={})=>r.braceExpand(e,fr(t,n)),match:(e,n,o={})=>r.match(e,n,fr(t,o)),sep:r.sep,GLOBSTAR:ar})};const hr=(t,r={})=>(dr(t),r.nobrace||!/\{(?:(?!\{).)*\}/.test(t)?[t]:jt(t));It.braceExpand=hr;const dr=t=>{if("string"!=typeof t)throw new TypeError("invalid pattern");if(t.length>65536)throw new TypeError("pattern is too long")};It.makeRe=(t,r={})=>new vr(t,r).makeRe(),It.match=(t,r,e={})=>{const n=new vr(r,e);return t=t.filter((t=>n.match(t))),n.options.nonull&&!t.length&&t.push(r),t};const mr=/[?*]|[+@!]\(.*?\)|\[|\]/,gr=t=>t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");class vr{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;regexp;constructor(t,r={}){dr(t),r=r||{},this.options=r,this.pattern=t,this.platform=r.platform||or,this.isWindows="win32"===this.platform,this.windowsPathsNoEscape=!!r.windowsPathsNoEscape||!1===r.allowWindowsEscape,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,"/")),this.preserveMultipleSlashes=!!r.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!r.nonegate,this.comment=!1,this.empty=!1,this.partial=!!r.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=void 0!==r.windowsNoMagicRoot?r.windowsNoMagicRoot:!(!this.isWindows||!this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(const t of this.set)for(const r of t)if("string"!=typeof r)return!0;return!1}debug(...t){}make(){const t=this.pattern,r=this.options;if(!r.nocomment&&"#"===t.charAt(0))return void(this.comment=!0);if(!t)return void(this.empty=!0);this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],r.debug&&(this.debug=(...t)=>Rt.error(...t)),this.debug(this.pattern,this.globSet);const e=this.globSet.map((t=>this.slashSplit(t)));this.globParts=this.preprocess(e),this.debug(this.pattern,this.globParts);let n=this.globParts.map(((t,r,e)=>{if(this.isWindows&&this.windowsNoMagicRoot){const r=!(""!==t[0]||""!==t[1]||"?"!==t[2]&&mr.test(t[2])||mr.test(t[3])),e=/^[a-z]:/i.test(t[0]);if(r)return[...t.slice(0,4),...t.slice(4).map((t=>this.parse(t)))];if(e)return[t[0],...t.slice(1).map((t=>this.parse(t)))]}return t.map((t=>this.parse(t)))}));if(this.debug(this.pattern,n),this.set=n.filter((t=>-1===t.indexOf(!1))),this.isWindows)for(let t=0;t=2?(t=this.firstPhasePreProcess(t),t=this.secondPhasePreProcess(t)):t=r>=1?this.levelOneOptimize(t):this.adjascentGlobstarOptimize(t),t}adjascentGlobstarOptimize(t){return t.map((t=>{let r=-1;for(;-1!==(r=t.indexOf("**",r+1));){let e=r;for(;"**"===t[e+1];)e++;e!==r&&t.splice(r,e-r)}return t}))}levelOneOptimize(t){return t.map((t=>0===(t=t.reduce(((t,r)=>{const e=t[t.length-1];return"**"===r&&"**"===e?t:".."===r&&e&&".."!==e&&"."!==e&&"**"!==e?(t.pop(),t):(t.push(r),t)}),[])).length?[""]:t))}levelTwoFileOptimize(t){Array.isArray(t)||(t=this.slashSplit(t));let r=!1;do{if(r=!1,!this.preserveMultipleSlashes){for(let e=1;en&&e.splice(n+1,o-n);let a=e[n+1];const i=e[n+2],s=e[n+3];if(".."!==a)continue;if(!i||"."===i||".."===i||!s||"."===s||".."===s)continue;r=!0,e.splice(n,1);const c=e.slice(0);c[n]="**",t.push(c),n--}if(!this.preserveMultipleSlashes){for(let t=1;tt.length))}partsMatch(t,r,e=!1){let n=0,o=0,a=[],i="";for(;n=2&&(t=this.levelTwoFileOptimize(t)),this.debug("matchOne",this,{file:t,pattern:r}),this.debug("matchOne",t.length,r.length);for(var a=0,i=0,s=t.length,c=r.length;a>> no match, partial?",t,p,r,f),p!==s))}let o;if("string"==typeof u?(o=l===u,this.debug("string match",u,l,o)):(o=u.test(l),this.debug("pattern match",u,l,o)),!o)return!1}if(a===s&&i===c)return!0;if(a===s)return e;if(i===c)return a===s-1&&""===t[a];throw new Error("wtf?")}braceExpand(){return hr(this.pattern,this.options)}parse(t){dr(t);const r=this.options;if("**"===t)return ar;if(""===t)return"";let e,n=null;(e=t.match(Wt))?n=r.dot?Jt:$t:(e=t.match(Pt))?n=(r.nocase?r.dot?Vt:Ut:r.dot?Gt:Ft)(e[1]):(e=t.match(Qt))?n=(r.nocase?r.dot?Xt:Kt:r.dot?tr:rr)(e):(e=t.match(Mt))?n=r.dot?Ht:zt:(e=t.match(Zt))&&(n=Yt);let o="",a=!1,i=!1;const s=[],c=[];let u,l=!1,p=!1,f="."===t.charAt(0),h=r.dot||f;const d=t=>"."===t.charAt(0)?"":r.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)",m=()=>{if(l){switch(l){case"*":o+=cr,a=!0;break;case"?":o+=sr,a=!0;break;default:o+="\\"+l}this.debug("clearStateChar %j %j",l,o),l=!1}};for(let e,n=0;n(e||(e="\\"),r+r+e+"|"))),this.debug("tail=%j\n %s",t,t,u,o);const r="*"===u.type?cr:"?"===u.type?sr:"\\"+u.type;a=!0,o=o.slice(0,u.reStart)+r+"\\("+t}m(),i&&(o+="\\\\");const g=pr[o.charAt(0)];for(let t=c.length-1;t>-1;t--){const r=c[t],e=o.slice(0,r.reStart),n=o.slice(r.reStart,r.reEnd-8);let a=o.slice(r.reEnd);const i=o.slice(r.reEnd-8,r.reEnd)+a,s=e.split(")").length,u=e.split("(").length-s;let l=a;for(let t=0;t{const r=t.map((t=>"string"==typeof t?gr(t):t===ar?ar:t._src));return r.forEach(((t,n)=>{const o=r[n+1],a=r[n-1];t===ar&&a!==ar&&(void 0===a?void 0!==o&&o!==ar?r[n+1]="(?:\\/|"+e+"\\/)?"+o:r[n]=e:void 0===o?r[n-1]=a+"(?:\\/|"+e+")?":o!==ar&&(r[n-1]=a+"(?:\\/|\\/"+e+"\\/)"+o,r[n+1]=ar))})),r.filter((t=>t!==ar)).join("/")})).join("|");o="^(?:"+o+")$",this.negate&&(o="^(?!"+o+").*$");try{this.regexp=new RegExp(o,n)}catch(t){this.regexp=!1}return this.regexp}slashSplit(t){return this.preserveMultipleSlashes?t.split("/"):this.isWindows&&/^\/\/[^\/]+/.test(t)?["",...t.split(/\/+/)]:t.split(/\/+/)}match(t,r=this.partial){if(this.debug("match",t,this.pattern),this.comment)return!1;if(this.empty)return""===t;if("/"===t&&r)return!0;const e=this.options;this.isWindows&&(t=t.split("\\").join("/"));const n=this.slashSplit(t);this.debug(this.pattern,"split",n);const o=this.set;this.debug(this.pattern,"set",o);let a=n[n.length-1];if(!a)for(let t=n.length-2;!a&&t>=0;t--)a=n[t];for(let t=0;tr?t.replace(/[?*()[\]]/g,"[$&]"):t.replace(/[?*()[\]\\]/g,"\\$&"),It.unescape=(t,{windowsPathsNoEscape:r=!1}={})=>r?t.replace(/\[([^\/\\])\]/g,"$1"):t.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1");var yr=n(10065);function br(t,r,e=!1){return e?{data:r,headers:t.headers?(0,yr.P)(t.headers):{},status:t.status,statusText:t.statusText}:r}var wr,Ar=n(23722),xr=(n(16932),n(65070),n(97501),n(86492)),Er=n(62639);function Lr(t){return Lr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Lr(t)}function Cr(){Cr=function(){return t};var t={},r=Object.prototype,e=r.hasOwnProperty,n=Object.defineProperty||function(t,r,e){t[r]=e.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(t,r,e){return Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{c({},"")}catch(t){c=function(t,r,e){return t[r]=e}}function u(t,r,e,o){var a=r&&r.prototype instanceof f?r:f,i=Object.create(a.prototype),s=new C(o||[]);return n(i,"_invoke",{value:A(t,e,s)}),i}function l(t,r,e){try{return{type:"normal",arg:t.call(r,e)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var p={};function f(){}function h(){}function d(){}var m={};c(m,a,(function(){return this}));var g=Object.getPrototypeOf,v=g&&g(g(D([])));v&&v!==r&&e.call(v,a)&&(m=v);var y=d.prototype=f.prototype=Object.create(m);function b(t){["next","throw","return"].forEach((function(r){c(t,r,(function(t){return this._invoke(r,t)}))}))}function w(t,r){function o(n,a,i,s){var c=l(t[n],t,a);if("throw"!==c.type){var u=c.arg,p=u.value;return p&&"object"==Lr(p)&&e.call(p,"__await")?r.resolve(p.__await).then((function(t){o("next",t,i,s)}),(function(t){o("throw",t,i,s)})):r.resolve(p).then((function(t){u.value=t,i(u)}),(function(t){return o("throw",t,i,s)}))}s(c.arg)}var a;n(this,"_invoke",{value:function(t,e){function n(){return new r((function(r,n){o(t,e,r,n)}))}return a=a?a.then(n,n):n()}})}function A(t,r,e){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return{value:void 0,done:!0}}for(e.method=o,e.arg=a;;){var i=e.delegate;if(i){var s=x(i,e);if(s){if(s===p)continue;return s}}if("next"===e.method)e.sent=e._sent=e.arg;else if("throw"===e.method){if("suspendedStart"===n)throw n="completed",e.arg;e.dispatchException(e.arg)}else"return"===e.method&&e.abrupt("return",e.arg);n="executing";var c=l(t,r,e);if("normal"===c.type){if(n=e.done?"completed":"suspendedYield",c.arg===p)continue;return{value:c.arg,done:e.done}}"throw"===c.type&&(n="completed",e.method="throw",e.arg=c.arg)}}}function x(t,r){var e=r.method,n=t.iterator[e];if(void 0===n)return r.delegate=null,"throw"===e&&t.iterator.return&&(r.method="return",r.arg=void 0,x(t,r),"throw"===r.method)||"return"!==e&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+e+"' method")),p;var o=l(n,t.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,p;var a=o.arg;return a?a.done?(r[t.resultName]=a.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=void 0),r.delegate=null,p):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,p)}function E(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function L(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function C(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(E,this),this.reset(!0)}function D(t){if(t){var r=t[a];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function r(){for(;++n=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=e.call(a,"catchLoc"),c=e.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&e.call(o,"finallyLoc")&&this.prev=0;--r){var e=this.tryEntries[r];if(e.finallyLoc===t)return this.complete(e.completion,e.afterLoc),L(e),p}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.tryLoc===t){var n=e.completion;if("throw"===n.type){var o=n.arg;L(e)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,e){return this.delegate={iterator:D(t),resultName:r,nextLoc:e},"next"===this.method&&(this.arg=void 0),p}},t}function Dr(t,r,e,n,o,a,i){try{var s=t[a](i),c=s.value}catch(t){return void e(t)}s.done?r(c):Promise.resolve(c).then(n,o)}!function(t){t.Array="array",t.Object="object",t.Original="original"}(wr||(wr={}));var qr=function(){var t,r=(t=Cr().mark((function t(r,e){var n,o,a,i,s,c,u;return Cr().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=r.commentsType,o=r.ressourceId,a=["",n,o].join("/"),t.next=4,Z.customRequest(a,Object.assign({method:"REPORT",data:'\n\t\t\t\n\t\t\t\t'.concat(20,"\n\t\t\t\t").concat(e.offset||0,"\n\t\t\t")},e));case 4:return i=t.sent,t.next=7,i.text();case 7:return s=t.sent,t.next=10,(0,H.sw)(s);case 10:return c=t.sent,u=kr(c,!0),t.abrupt("return",br(i,u,!0));case 13:case"end":return t.stop()}}),t)})),function(){var r=this,e=arguments;return new Promise((function(n,o){var a=t.apply(r,e);function i(t){Dr(a,n,o,i,s,"next",t)}function s(t){Dr(a,n,o,i,s,"throw",t)}i(void 0)}))});return function(t,e){return r.apply(this,arguments)}}(),kr=function(t){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return t.multistatus.response.map((function(t){var e=t.propstat.prop;return function(t,r,e=!1){const{getlastmodified:n=null,getcontentlength:o="0",resourcetype:a=null,getcontenttype:i=null,getetag:s=null}=t,c=a&&"object"==typeof a&&void 0!==a.collection?"directory":"file",u=function(t){if((0,Er.$)()){const r=document.createElement("textarea");return r.innerHTML=t,r.value}return xr.decode(t)}(r),l={filename:u,basename:Ar.basename(u),lastmod:n,size:parseInt(o,10),type:c,etag:"string"==typeof s?s.replace(/"/g,""):null};return"file"===c&&(l.mime=i&&"string"==typeof i?i.split(";")[0]:""),e&&(l.props=t),l}(e,e.id.toString(),r)}))};function Sr(t){return Sr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Sr(t)}function jr(){jr=function(){return t};var t={},r=Object.prototype,e=r.hasOwnProperty,n=Object.defineProperty||function(t,r,e){t[r]=e.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(t,r,e){return Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{c({},"")}catch(t){c=function(t,r,e){return t[r]=e}}function u(t,r,e,o){var a=r&&r.prototype instanceof f?r:f,i=Object.create(a.prototype),s=new C(o||[]);return n(i,"_invoke",{value:A(t,e,s)}),i}function l(t,r,e){try{return{type:"normal",arg:t.call(r,e)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var p={};function f(){}function h(){}function d(){}var m={};c(m,a,(function(){return this}));var g=Object.getPrototypeOf,v=g&&g(g(D([])));v&&v!==r&&e.call(v,a)&&(m=v);var y=d.prototype=f.prototype=Object.create(m);function b(t){["next","throw","return"].forEach((function(r){c(t,r,(function(t){return this._invoke(r,t)}))}))}function w(t,r){function o(n,a,i,s){var c=l(t[n],t,a);if("throw"!==c.type){var u=c.arg,p=u.value;return p&&"object"==Sr(p)&&e.call(p,"__await")?r.resolve(p.__await).then((function(t){o("next",t,i,s)}),(function(t){o("throw",t,i,s)})):r.resolve(p).then((function(t){u.value=t,i(u)}),(function(t){return o("throw",t,i,s)}))}s(c.arg)}var a;n(this,"_invoke",{value:function(t,e){function n(){return new r((function(r,n){o(t,e,r,n)}))}return a=a?a.then(n,n):n()}})}function A(t,r,e){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return{value:void 0,done:!0}}for(e.method=o,e.arg=a;;){var i=e.delegate;if(i){var s=x(i,e);if(s){if(s===p)continue;return s}}if("next"===e.method)e.sent=e._sent=e.arg;else if("throw"===e.method){if("suspendedStart"===n)throw n="completed",e.arg;e.dispatchException(e.arg)}else"return"===e.method&&e.abrupt("return",e.arg);n="executing";var c=l(t,r,e);if("normal"===c.type){if(n=e.done?"completed":"suspendedYield",c.arg===p)continue;return{value:c.arg,done:e.done}}"throw"===c.type&&(n="completed",e.method="throw",e.arg=c.arg)}}}function x(t,r){var e=r.method,n=t.iterator[e];if(void 0===n)return r.delegate=null,"throw"===e&&t.iterator.return&&(r.method="return",r.arg=void 0,x(t,r),"throw"===r.method)||"return"!==e&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+e+"' method")),p;var o=l(n,t.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,p;var a=o.arg;return a?a.done?(r[t.resultName]=a.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=void 0),r.delegate=null,p):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,p)}function E(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function L(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function C(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(E,this),this.reset(!0)}function D(t){if(t){var r=t[a];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function r(){for(;++n=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=e.call(a,"catchLoc"),c=e.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&e.call(o,"finallyLoc")&&this.prev=0;--r){var e=this.tryEntries[r];if(e.finallyLoc===t)return this.complete(e.completion,e.afterLoc),L(e),p}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.tryLoc===t){var n=e.completion;if("throw"===n.type){var o=n.arg;L(e)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,e){return this.delegate={iterator:D(t),resultName:r,nextLoc:e},"next"===this.method&&(this.arg=void 0),p}},t}function Nr(t,r,e,n,o,a,i){try{var s=t[a](i),c=s.value}catch(t){return void e(t)}s.done?r(c):Promise.resolve(c).then(n,o)}var Tr=function(t){var r=new AbortController,e=r.signal,n=function(){var r,n=(r=jr().mark((function r(n,o){var a;return jr().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,t(n,Object.assign({signal:e},o));case 2:return a=r.sent,r.abrupt("return",a);case 4:case"end":return r.stop()}}),r)})),function(){var t=this,e=arguments;return new Promise((function(n,o){var a=r.apply(t,e);function i(t){Nr(a,n,o,i,s,"next",t)}function s(t){Nr(a,n,o,i,s,"throw",t)}i(void 0)}))});return function(t,r){return n.apply(this,arguments)}}();return{request:n,abort:function(){return r.abort()}}},Or=n(25108);function _r(t){return _r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_r(t)}function Br(t,r){(null==r||r>t.length)&&(r=t.length);for(var e=0,n=new Array(r);e=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=e.call(a,"catchLoc"),c=e.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&e.call(o,"finallyLoc")&&this.prev=0;--r){var e=this.tryEntries[r];if(e.finallyLoc===t)return this.complete(e.completion,e.afterLoc),L(e),p}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.tryLoc===t){var n=e.completion;if("throw"===n.type){var o=n.arg;L(e)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,e){return this.delegate={iterator:D(t),resultName:r,nextLoc:e},"next"===this.method&&(this.arg=void 0),p}},t}function Ir(t,r,e,n,o,a,i){try{var s=t[a](i),c=s.value}catch(t){return void e(t)}s.done?r(c):Promise.resolve(c).then(n,o)}function Pr(t){return function(){var r=this,e=arguments;return new Promise((function(n,o){var a=t.apply(r,e);function i(t){Ir(a,n,o,i,s,"next",t)}function s(t){Ir(a,n,o,i,s,"throw",t)}i(void 0)}))}}i.default.use(p.ZP),i.default.use(E);var Fr={name:"Comments",components:{Comment:St,NcEmptyContent:L.Z,NcButton:C.Z,RefreshIcon:k,MessageReplyTextIcon:j,AlertCircleOutlineIcon:N.default},data:function(){return{error:"",loading:!1,done:!1,ressourceId:null,offset:0,comments:[],cancelRequest:function(){},editorData:{actorDisplayName:(0,a.ts)().displayName,actorId:(0,a.ts)().uid,key:"editor"},Comment:St,userData:{}}},computed:{hasComments:function(){return this.comments.length>0},isFirstLoading:function(){return this.loading&&0===this.offset}},methods:{onVisibilityChange:function(r){var e=this;return Pr(Rr().mark((function n(){return Rr().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!r){n.next=9;break}return n.prev=1,n.next=4,o=e.commentsType,a=e.ressourceId,i=new Date,void 0,void 0,s=["",o,a].join("/"),c=i.toUTCString(),Z.customRequest(s,{method:"PROPPATCH",data:'\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t'.concat(c,"\n\t\t\t\t\n\t\t\t\n\t\t\t")});case 4:n.next=9;break;case 6:n.prev=6,n.t0=n.catch(1),(0,u.x2)(n.t0.message||t("comments","Failed to mark comments as read"));case 9:case"end":return n.stop()}var o,a,i,s,c}),n,null,[[1,6]])})))()},update:function(t){var r=this;return Pr(Rr().mark((function e(){return Rr().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r.ressourceId=t,r.resetState(),r.getComments();case 3:case"end":return e.stop()}}),e)})))()},onScrollBottomReached:function(){this.error||this.done||this.loading||this.getComments()},genMentionsData:function(t){var r=this;return Object.values(t).flat().forEach((function(t){r.userData[t.mentionId]={icon:"icon-user",id:t.mentionId,label:t.mentionDisplayName,source:"users",primary:(0,a.ts)().uid===t.mentionId}})),this.userData},getComments:function(){var r=this;return Pr(Rr().mark((function e(){var n,o,a,i,s,c;return Rr().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r.cancelRequest("cancel"),e.prev=1,r.loading=!0,r.error="",o=Tr(qr),a=o.request,i=o.abort,r.cancelRequest=i,e.next=8,a({commentsType:r.commentsType,ressourceId:r.ressourceId},{offset:r.offset});case 8:if(e.t0=e.sent,e.t0){e.next=11;break}e.t0={data:[]};case 11:s=e.t0,c=s.data,r.logger.debug("Processed ".concat(c.length," comments"),{comments:c}),c.length<20&&(r.done=!0),(n=r.comments).push.apply(n,function(t){if(Array.isArray(t))return Br(t)}(u=c)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(u)||function(t,r){if(t){if("string"==typeof t)return Br(t,r);var e=Object.prototype.toString.call(t).slice(8,-1);return"Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?Br(t,r):void 0}}(u)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),r.offset+=20,e.next=25;break;case 19:if(e.prev=19,e.t1=e.catch(1),"cancel"!==e.t1.message){e.next=23;break}return e.abrupt("return");case 23:r.error=t("comments","Unable to load the comments list"),Or.error("Error loading the comments list",e.t1);case 25:return e.prev=25,r.loading=!1,e.finish(25);case 28:case"end":return e.stop()}var u}),e,null,[[1,19,25,28]])})))()},autoComplete:function(t,r){var e=this;return Pr(Rr().mark((function n(){return Rr().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,l.Z.get((0,s.generateOcsUrl)("core/autocomplete/get"),{params:{search:t,itemType:"files",itemId:e.ressourceId,sorter:"commenters|share-recipients",limit:(0,c.j)("comments","maxAutoCompleteResults")}});case 2:return n.sent.data.ocs.data.forEach((function(t){e.userData[t.id]=t})),n.abrupt("return",r(Object.values(e.userData)));case 5:case"end":return n.stop()}}),n)})))()},onNewComment:function(t){this.comments.unshift(t)},onDelete:function(t){var r=this.comments.findIndex((function(r){return r.props.id===t}));r>-1?this.comments.splice(r,1):Or.error("Could not find the deleted comment in the list",t)},resetState:function(){this.error="",this.loading=!1,this.done=!1,this.offset=0,this.comments=[]}}},Gr=Fr,Ur=n(31292),Vr={};Vr.styleTagTransform=Dt(),Vr.setAttributes=xt(),Vr.insert=wt().bind(null,"head"),Vr.domAPI=yt(),Vr.insertStyleElement=Lt(),gt()(Ur.Z,Vr),Ur.Z&&Ur.Z.locals&&Ur.Z.locals;var Mr=(0,q.Z)(Gr,(function(){var t=this,r=t._self._c;return r("div",{directives:[{name:"observe-visibility",rawName:"v-observe-visibility",value:t.onVisibilityChange,expression:"onVisibilityChange"}],staticClass:"comments",class:{"icon-loading":t.isFirstLoading}},[r("Comment",t._b({staticClass:"comments__writer",attrs:{"auto-complete":t.autoComplete,"user-data":t.userData,editor:!0,"ressource-id":t.ressourceId},on:{new:t.onNewComment}},"Comment",t.editorData,!1)),t._v(" "),t.isFirstLoading?t._e():[!t.hasComments&&t.done?r("NcEmptyContent",{staticClass:"comments__empty",attrs:{name:t.t("comments","No comments yet, start the conversation!")},scopedSlots:t._u([{key:"icon",fn:function(){return[r("MessageReplyTextIcon")]},proxy:!0}],null,!1,1033639148)}):r("ul",t._l(t.comments,(function(e){return r("Comment",t._b({key:e.props.id,staticClass:"comments__list",attrs:{tag:"li","auto-complete":t.autoComplete,message:e.props.message,"ressource-id":t.ressourceId,"user-data":t.genMentionsData(e.props.mentions)},on:{"update:message":function(r){return t.$set(e.props,"message",r)},delete:t.onDelete}},"Comment",e.props,!1))})),1),t._v(" "),t.loading&&!t.isFirstLoading?r("div",{staticClass:"comments__info icon-loading"}):t.hasComments&&t.done?r("div",{staticClass:"comments__info"},[t._v("\n\t\t\t"+t._s(t.t("comments","No more messages"))+"\n\t\t")]):t.error?[r("NcEmptyContent",{staticClass:"comments__error",attrs:{name:t.error},scopedSlots:t._u([{key:"icon",fn:function(){return[r("AlertCircleOutlineIcon")]},proxy:!0}],null,!1,66050004)}),t._v(" "),r("NcButton",{staticClass:"comments__retry",on:{click:t.getComments},scopedSlots:t._u([{key:"icon",fn:function(){return[r("RefreshIcon")]},proxy:!0}],null,!1,3924573781)},[t._v("\n\t\t\t\t"+t._s(t.t("comments","Retry"))+"\n\t\t\t")])]:t._e()]],2)}),[],!1,null,"5750efc5",null).exports,zr=(0,n(17499).IY)().setApp("comments").detectUser().build();function Hr(t){return Hr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Hr(t)}function Zr(t,r){for(var e=0;e0&&void 0!==arguments[0]?arguments[0]:"files",e=arguments.length>1?arguments[1]:void 0;return function(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}(this,t),i.default.mixin({data:function(){return{commentsType:r}}}),new(i.default.extend(Mr))(e)})),$r=n(25108);window.OCA&&!window.OCA.Comments&&Object.assign(window.OCA,{Comments:{}}),Object.assign(window.OCA.Comments,{View:Wr}),$r.debug("OCA.Comments.View initialized")},5623:function(t){"use strict";function r(t,r,o){t instanceof RegExp&&(t=e(t,o)),r instanceof RegExp&&(r=e(r,o));var a=n(t,r,o);return a&&{start:a[0],end:a[1],pre:o.slice(0,a[0]),body:o.slice(a[0]+t.length,a[1]),post:o.slice(a[1]+r.length)}}function e(t,r){var e=r.match(t);return e?e[0]:null}function n(t,r,e){var n,o,a,i,s,c=e.indexOf(t),u=e.indexOf(r,c+1),l=c;if(c>=0&&u>0){if(t===r)return[c,u];for(n=[],a=e.length;l>=0&&!s;)l==c?(n.push(l),c=e.indexOf(t,l+1)):1==n.length?s=[n.pop(),u]:((o=n.pop())=0?c:u;n.length&&(s=[a,i])}return s}t.exports=r,r.range=n},97501:function(t,r,e){var n;t=e.nmd(t),function(o){var a=(t&&t.exports,"object"==typeof e.g&&e.g);a.global!==a&&a.window;var i=function(t){this.message=t};(i.prototype=new Error).name="InvalidCharacterError";var s=function(t){throw new i(t)},c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",u=/[\t\n\f\r ]/g,l={encode:function(t){t=String(t),/[^\0-\xFF]/.test(t)&&s("The string to be encoded contains characters outside of the Latin1 range.");for(var r,e,n,o,a=t.length%3,i="",u=-1,l=t.length-a;++u>18&63)+c.charAt(o>>12&63)+c.charAt(o>>6&63)+c.charAt(63&o);return 2==a?(r=t.charCodeAt(u)<<8,e=t.charCodeAt(++u),i+=c.charAt((o=r+e)>>10)+c.charAt(o>>4&63)+c.charAt(o<<2&63)+"="):1==a&&(o=t.charCodeAt(u),i+=c.charAt(o>>2)+c.charAt(o<<4&63)+"=="),i},decode:function(t){var r=(t=String(t).replace(u,"")).length;r%4==0&&(r=(t=t.replace(/==?$/,"")).length),(r%4==1||/[^+a-zA-Z0-9/]/.test(t))&&s("Invalid character: the string to be decoded is not correctly encoded.");for(var e,n,o=0,a="",i=-1;++i>(-2*o&6)));return a},version:"1.0.0"};void 0===(n=function(){return l}.call(r,e,r,t))||(t.exports=n)}()},73090:function(t,r,e){"use strict";var n=e(87537),o=e.n(n),a=e(23645),i=e.n(a)()(o());i.push([t.id,".comment[data-v-6d874704]{display:flex;gap:16px;padding:5px 10px}.comment__side[data-v-6d874704]{display:flex;align-items:flex-start;padding-top:16px}.comment__body[data-v-6d874704]{display:flex;flex-grow:1;flex-direction:column}.comment__header[data-v-6d874704]{display:flex;align-items:center;min-height:44px}.comment__actions[data-v-6d874704]{margin-left:10px !important}.comment__author[data-v-6d874704]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--color-text-maxcontrast)}.comment_loading[data-v-6d874704],.comment__timestamp[data-v-6d874704]{margin-left:auto;text-align:right;white-space:nowrap;color:var(--color-text-maxcontrast)}.comment__editor-group[data-v-6d874704]{position:relative}.comment__editor-description[data-v-6d874704]{color:var(--color-text-maxcontrast);padding-block:var(--default-grid-baseline)}.comment__submit[data-v-6d874704]{position:absolute !important;bottom:0;right:0}.comment__message[data-v-6d874704]{white-space:pre-wrap;word-break:break-word;max-height:70px;overflow:hidden;margin-top:-6px}.comment__message--expanded[data-v-6d874704]{max-height:none;overflow:visible}.rich-contenteditable__input[data-v-6d874704]{min-height:44px;margin:0;padding:10px}","",{version:3,sources:["webpack://./apps/comments/src/components/Comment.vue"],names:[],mappings:"AAKA,0BACC,YAAA,CACA,QAAA,CACA,gBAAA,CAEA,gCACC,YAAA,CACA,sBAAA,CACA,gBAAA,CAGD,gCACC,YAAA,CACA,WAAA,CACA,qBAAA,CAGD,kCACC,YAAA,CACA,kBAAA,CACA,eAAA,CAGD,mCACC,2BAAA,CAGD,kCACC,eAAA,CACA,kBAAA,CACA,sBAAA,CACA,mCAAA,CAGD,uEAEC,gBAAA,CACA,gBAAA,CACA,kBAAA,CACA,mCAAA,CAGD,wCACC,iBAAA,CAGD,8CACC,mCAAA,CACA,0CAAA,CAGD,kCACC,4BAAA,CACA,QAAA,CACA,OAAA,CAGD,mCACC,oBAAA,CACA,qBAAA,CACA,eAAA,CACA,eAAA,CACA,eAAA,CACA,6CACC,eAAA,CACA,gBAAA,CAKH,8CACC,eAAA,CACA,QAAA,CACA,YA3EiB",sourcesContent:['\n@use "sass:math";\n\n$comment-padding: 10px;\n\n.comment {\n\tdisplay: flex;\n\tgap: 16px;\n\tpadding: 5px $comment-padding;\n\n\t&__side {\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\t\tpadding-top: 16px;\n\t}\n\n\t&__body {\n\t\tdisplay: flex;\n\t\tflex-grow: 1;\n\t\tflex-direction: column;\n\t}\n\n\t&__header {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tmin-height: 44px;\n\t}\n\n\t&__actions {\n\t\tmargin-left: $comment-padding !important;\n\t}\n\n\t&__author {\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n\n\t&_loading,\n\t&__timestamp {\n\t\tmargin-left: auto;\n\t\ttext-align: right;\n\t\twhite-space: nowrap;\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n\n\t&__editor-group {\n\t\tposition: relative;\n\t}\n\n\t&__editor-description {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tpadding-block: var(--default-grid-baseline);\n\t}\n\n\t&__submit {\n\t\tposition: absolute !important;\n\t\tbottom: 0;\n\t\tright: 0;\n\t}\n\n\t&__message {\n\t\twhite-space: pre-wrap;\n\t\tword-break: break-word;\n\t\tmax-height: 70px;\n\t\toverflow: hidden;\n\t\tmargin-top: -6px;\n\t\t&--expanded {\n\t\t\tmax-height: none;\n\t\t\toverflow: visible;\n\t\t}\n\t}\n}\n\n.rich-contenteditable__input {\n\tmin-height: 44px;\n\tmargin: 0;\n\tpadding: $comment-padding;\n}\n\n'],sourceRoot:""}]),r.Z=i},31292:function(t,r,e){"use strict";var n=e(87537),o=e.n(n),a=e(23645),i=e.n(a)()(o());i.push([t.id,".comments[data-v-5750efc5]{min-height:100%;display:flex;flex-direction:column}.comments__empty[data-v-5750efc5],.comments__error[data-v-5750efc5]{flex:1 0}.comments__retry[data-v-5750efc5]{margin:0 auto}.comments__info[data-v-5750efc5]{height:60px;color:var(--color-text-maxcontrast);text-align:center;line-height:60px}","",{version:3,sources:["webpack://./apps/comments/src/views/Comments.vue"],names:[],mappings:"AACA,2BACC,eAAA,CACA,YAAA,CACA,qBAAA,CAEA,oEAEC,QAAA,CAGD,kCACC,aAAA,CAGD,iCACC,WAAA,CACA,mCAAA,CACA,iBAAA,CACA,gBAAA",sourcesContent:["\n.comments {\n\tmin-height: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n\n\t&__empty,\n\t&__error {\n\t\tflex: 1 0;\n\t}\n\n\t&__retry {\n\t\tmargin: 0 auto;\n\t}\n\n\t&__info {\n\t\theight: 60px;\n\t\tcolor: var(--color-text-maxcontrast);\n\t\ttext-align: center;\n\t\tline-height: 60px;\n\t}\n}\n"],sourceRoot:""}]),r.Z=i},86492:function(t,r,e){var n;t=e.nmd(t),function(o){var a=(t&&t.exports,"object"==typeof e.g&&e.g);a.global!==a&&a.window;var i=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,u=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,l={"­":"shy","‌":"zwnj","‍":"zwj","‎":"lrm","⁣":"ic","⁢":"it","⁡":"af","‏":"rlm","​":"ZeroWidthSpace","⁠":"NoBreak","̑":"DownBreve","⃛":"tdot","⃜":"DotDot","\t":"Tab","\n":"NewLine"," ":"puncsp"," ":"MediumSpace"," ":"thinsp"," ":"hairsp"," ":"emsp13"," ":"ensp"," ":"emsp14"," ":"emsp"," ":"numsp"," ":"nbsp","  ":"ThickSpace","‾":"oline",_:"lowbar","‐":"dash","–":"ndash","—":"mdash","―":"horbar",",":"comma",";":"semi","⁏":"bsemi",":":"colon","⩴":"Colone","!":"excl","¡":"iexcl","?":"quest","¿":"iquest",".":"period","‥":"nldr","…":"mldr","·":"middot","'":"apos","‘":"lsquo","’":"rsquo","‚":"sbquo","‹":"lsaquo","›":"rsaquo",'"':"quot","“":"ldquo","”":"rdquo","„":"bdquo","«":"laquo","»":"raquo","(":"lpar",")":"rpar","[":"lsqb","]":"rsqb","{":"lcub","}":"rcub","⌈":"lceil","⌉":"rceil","⌊":"lfloor","⌋":"rfloor","⦅":"lopar","⦆":"ropar","⦋":"lbrke","⦌":"rbrke","⦍":"lbrkslu","⦎":"rbrksld","⦏":"lbrksld","⦐":"rbrkslu","⦑":"langd","⦒":"rangd","⦓":"lparlt","⦔":"rpargt","⦕":"gtlPar","⦖":"ltrPar","⟦":"lobrk","⟧":"robrk","⟨":"lang","⟩":"rang","⟪":"Lang","⟫":"Rang","⟬":"loang","⟭":"roang","❲":"lbbrk","❳":"rbbrk","‖":"Vert","§":"sect","¶":"para","@":"commat","*":"ast","/":"sol",undefined:null,"&":"amp","#":"num","%":"percnt","‰":"permil","‱":"pertenk","†":"dagger","‡":"Dagger","•":"bull","⁃":"hybull","′":"prime","″":"Prime","‴":"tprime","⁗":"qprime","‵":"bprime","⁁":"caret","`":"grave","´":"acute","˜":"tilde","^":"Hat","¯":"macr","˘":"breve","˙":"dot","¨":"die","˚":"ring","˝":"dblac","¸":"cedil","˛":"ogon","ˆ":"circ","ˇ":"caron","°":"deg","©":"copy","®":"reg","℗":"copysr","℘":"wp","℞":"rx","℧":"mho","℩":"iiota","←":"larr","↚":"nlarr","→":"rarr","↛":"nrarr","↑":"uarr","↓":"darr","↔":"harr","↮":"nharr","↕":"varr","↖":"nwarr","↗":"nearr","↘":"searr","↙":"swarr","↝":"rarrw","↝̸":"nrarrw","↞":"Larr","↟":"Uarr","↠":"Rarr","↡":"Darr","↢":"larrtl","↣":"rarrtl","↤":"mapstoleft","↥":"mapstoup","↦":"map","↧":"mapstodown","↩":"larrhk","↪":"rarrhk","↫":"larrlp","↬":"rarrlp","↭":"harrw","↰":"lsh","↱":"rsh","↲":"ldsh","↳":"rdsh","↵":"crarr","↶":"cularr","↷":"curarr","↺":"olarr","↻":"orarr","↼":"lharu","↽":"lhard","↾":"uharr","↿":"uharl","⇀":"rharu","⇁":"rhard","⇂":"dharr","⇃":"dharl","⇄":"rlarr","⇅":"udarr","⇆":"lrarr","⇇":"llarr","⇈":"uuarr","⇉":"rrarr","⇊":"ddarr","⇋":"lrhar","⇌":"rlhar","⇐":"lArr","⇍":"nlArr","⇑":"uArr","⇒":"rArr","⇏":"nrArr","⇓":"dArr","⇔":"iff","⇎":"nhArr","⇕":"vArr","⇖":"nwArr","⇗":"neArr","⇘":"seArr","⇙":"swArr","⇚":"lAarr","⇛":"rAarr","⇝":"zigrarr","⇤":"larrb","⇥":"rarrb","⇵":"duarr","⇽":"loarr","⇾":"roarr","⇿":"hoarr","∀":"forall","∁":"comp","∂":"part","∂̸":"npart","∃":"exist","∄":"nexist","∅":"empty","∇":"Del","∈":"in","∉":"notin","∋":"ni","∌":"notni","϶":"bepsi","∏":"prod","∐":"coprod","∑":"sum","+":"plus","±":"pm","÷":"div","×":"times","<":"lt","≮":"nlt","<⃒":"nvlt","=":"equals","≠":"ne","=⃥":"bne","⩵":"Equal",">":"gt","≯":"ngt",">⃒":"nvgt","¬":"not","|":"vert","¦":"brvbar","−":"minus","∓":"mp","∔":"plusdo","⁄":"frasl","∖":"setmn","∗":"lowast","∘":"compfn","√":"Sqrt","∝":"prop","∞":"infin","∟":"angrt","∠":"ang","∠⃒":"nang","∡":"angmsd","∢":"angsph","∣":"mid","∤":"nmid","∥":"par","∦":"npar","∧":"and","∨":"or","∩":"cap","∩︀":"caps","∪":"cup","∪︀":"cups","∫":"int","∬":"Int","∭":"tint","⨌":"qint","∮":"oint","∯":"Conint","∰":"Cconint","∱":"cwint","∲":"cwconint","∳":"awconint","∴":"there4","∵":"becaus","∶":"ratio","∷":"Colon","∸":"minusd","∺":"mDDot","∻":"homtht","∼":"sim","≁":"nsim","∼⃒":"nvsim","∽":"bsim","∽̱":"race","∾":"ac","∾̳":"acE","∿":"acd","≀":"wr","≂":"esim","≂̸":"nesim","≃":"sime","≄":"nsime","≅":"cong","≇":"ncong","≆":"simne","≈":"ap","≉":"nap","≊":"ape","≋":"apid","≋̸":"napid","≌":"bcong","≍":"CupCap","≭":"NotCupCap","≍⃒":"nvap","≎":"bump","≎̸":"nbump","≏":"bumpe","≏̸":"nbumpe","≐":"doteq","≐̸":"nedot","≑":"eDot","≒":"efDot","≓":"erDot","≔":"colone","≕":"ecolon","≖":"ecir","≗":"cire","≙":"wedgeq","≚":"veeeq","≜":"trie","≟":"equest","≡":"equiv","≢":"nequiv","≡⃥":"bnequiv","≤":"le","≰":"nle","≤⃒":"nvle","≥":"ge","≱":"nge","≥⃒":"nvge","≦":"lE","≦̸":"nlE","≧":"gE","≧̸":"ngE","≨︀":"lvnE","≨":"lnE","≩":"gnE","≩︀":"gvnE","≪":"ll","≪̸":"nLtv","≪⃒":"nLt","≫":"gg","≫̸":"nGtv","≫⃒":"nGt","≬":"twixt","≲":"lsim","≴":"nlsim","≳":"gsim","≵":"ngsim","≶":"lg","≸":"ntlg","≷":"gl","≹":"ntgl","≺":"pr","⊀":"npr","≻":"sc","⊁":"nsc","≼":"prcue","⋠":"nprcue","≽":"sccue","⋡":"nsccue","≾":"prsim","≿":"scsim","≿̸":"NotSucceedsTilde","⊂":"sub","⊄":"nsub","⊂⃒":"vnsub","⊃":"sup","⊅":"nsup","⊃⃒":"vnsup","⊆":"sube","⊈":"nsube","⊇":"supe","⊉":"nsupe","⊊︀":"vsubne","⊊":"subne","⊋︀":"vsupne","⊋":"supne","⊍":"cupdot","⊎":"uplus","⊏":"sqsub","⊏̸":"NotSquareSubset","⊐":"sqsup","⊐̸":"NotSquareSuperset","⊑":"sqsube","⋢":"nsqsube","⊒":"sqsupe","⋣":"nsqsupe","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊕":"oplus","⊖":"ominus","⊗":"otimes","⊘":"osol","⊙":"odot","⊚":"ocir","⊛":"oast","⊝":"odash","⊞":"plusb","⊟":"minusb","⊠":"timesb","⊡":"sdotb","⊢":"vdash","⊬":"nvdash","⊣":"dashv","⊤":"top","⊥":"bot","⊧":"models","⊨":"vDash","⊭":"nvDash","⊩":"Vdash","⊮":"nVdash","⊪":"Vvdash","⊫":"VDash","⊯":"nVDash","⊰":"prurel","⊲":"vltri","⋪":"nltri","⊳":"vrtri","⋫":"nrtri","⊴":"ltrie","⋬":"nltrie","⊴⃒":"nvltrie","⊵":"rtrie","⋭":"nrtrie","⊵⃒":"nvrtrie","⊶":"origof","⊷":"imof","⊸":"mumap","⊹":"hercon","⊺":"intcal","⊻":"veebar","⊽":"barvee","⊾":"angrtvb","⊿":"lrtri","⋀":"Wedge","⋁":"Vee","⋂":"xcap","⋃":"xcup","⋄":"diam","⋅":"sdot","⋆":"Star","⋇":"divonx","⋈":"bowtie","⋉":"ltimes","⋊":"rtimes","⋋":"lthree","⋌":"rthree","⋍":"bsime","⋎":"cuvee","⋏":"cuwed","⋐":"Sub","⋑":"Sup","⋒":"Cap","⋓":"Cup","⋔":"fork","⋕":"epar","⋖":"ltdot","⋗":"gtdot","⋘":"Ll","⋘̸":"nLl","⋙":"Gg","⋙̸":"nGg","⋚︀":"lesg","⋚":"leg","⋛":"gel","⋛︀":"gesl","⋞":"cuepr","⋟":"cuesc","⋦":"lnsim","⋧":"gnsim","⋨":"prnsim","⋩":"scnsim","⋮":"vellip","⋯":"ctdot","⋰":"utdot","⋱":"dtdot","⋲":"disin","⋳":"isinsv","⋴":"isins","⋵":"isindot","⋵̸":"notindot","⋶":"notinvc","⋷":"notinvb","⋹":"isinE","⋹̸":"notinE","⋺":"nisd","⋻":"xnis","⋼":"nis","⋽":"notnivc","⋾":"notnivb","⌅":"barwed","⌆":"Barwed","⌌":"drcrop","⌍":"dlcrop","⌎":"urcrop","⌏":"ulcrop","⌐":"bnot","⌒":"profline","⌓":"profsurf","⌕":"telrec","⌖":"target","⌜":"ulcorn","⌝":"urcorn","⌞":"dlcorn","⌟":"drcorn","⌢":"frown","⌣":"smile","⌭":"cylcty","⌮":"profalar","⌶":"topbot","⌽":"ovbar","⌿":"solbar","⍼":"angzarr","⎰":"lmoust","⎱":"rmoust","⎴":"tbrk","⎵":"bbrk","⎶":"bbrktbrk","⏜":"OverParenthesis","⏝":"UnderParenthesis","⏞":"OverBrace","⏟":"UnderBrace","⏢":"trpezium","⏧":"elinters","␣":"blank","─":"boxh","│":"boxv","┌":"boxdr","┐":"boxdl","└":"boxur","┘":"boxul","├":"boxvr","┤":"boxvl","┬":"boxhd","┴":"boxhu","┼":"boxvh","═":"boxH","║":"boxV","╒":"boxdR","╓":"boxDr","╔":"boxDR","╕":"boxdL","╖":"boxDl","╗":"boxDL","╘":"boxuR","╙":"boxUr","╚":"boxUR","╛":"boxuL","╜":"boxUl","╝":"boxUL","╞":"boxvR","╟":"boxVr","╠":"boxVR","╡":"boxvL","╢":"boxVl","╣":"boxVL","╤":"boxHd","╥":"boxhD","╦":"boxHD","╧":"boxHu","╨":"boxhU","╩":"boxHU","╪":"boxvH","╫":"boxVh","╬":"boxVH","▀":"uhblk","▄":"lhblk","█":"block","░":"blk14","▒":"blk12","▓":"blk34","□":"squ","▪":"squf","▫":"EmptyVerySmallSquare","▭":"rect","▮":"marker","▱":"fltns","△":"xutri","▴":"utrif","▵":"utri","▸":"rtrif","▹":"rtri","▽":"xdtri","▾":"dtrif","▿":"dtri","◂":"ltrif","◃":"ltri","◊":"loz","○":"cir","◬":"tridot","◯":"xcirc","◸":"ultri","◹":"urtri","◺":"lltri","◻":"EmptySmallSquare","◼":"FilledSmallSquare","★":"starf","☆":"star","☎":"phone","♀":"female","♂":"male","♠":"spades","♣":"clubs","♥":"hearts","♦":"diams","♪":"sung","✓":"check","✗":"cross","✠":"malt","✶":"sext","❘":"VerticalSeparator","⟈":"bsolhsub","⟉":"suphsol","⟵":"xlarr","⟶":"xrarr","⟷":"xharr","⟸":"xlArr","⟹":"xrArr","⟺":"xhArr","⟼":"xmap","⟿":"dzigrarr","⤂":"nvlArr","⤃":"nvrArr","⤄":"nvHarr","⤅":"Map","⤌":"lbarr","⤍":"rbarr","⤎":"lBarr","⤏":"rBarr","⤐":"RBarr","⤑":"DDotrahd","⤒":"UpArrowBar","⤓":"DownArrowBar","⤖":"Rarrtl","⤙":"latail","⤚":"ratail","⤛":"lAtail","⤜":"rAtail","⤝":"larrfs","⤞":"rarrfs","⤟":"larrbfs","⤠":"rarrbfs","⤣":"nwarhk","⤤":"nearhk","⤥":"searhk","⤦":"swarhk","⤧":"nwnear","⤨":"toea","⤩":"tosa","⤪":"swnwar","⤳":"rarrc","⤳̸":"nrarrc","⤵":"cudarrr","⤶":"ldca","⤷":"rdca","⤸":"cudarrl","⤹":"larrpl","⤼":"curarrm","⤽":"cularrp","⥅":"rarrpl","⥈":"harrcir","⥉":"Uarrocir","⥊":"lurdshar","⥋":"ldrushar","⥎":"LeftRightVector","⥏":"RightUpDownVector","⥐":"DownLeftRightVector","⥑":"LeftUpDownVector","⥒":"LeftVectorBar","⥓":"RightVectorBar","⥔":"RightUpVectorBar","⥕":"RightDownVectorBar","⥖":"DownLeftVectorBar","⥗":"DownRightVectorBar","⥘":"LeftUpVectorBar","⥙":"LeftDownVectorBar","⥚":"LeftTeeVector","⥛":"RightTeeVector","⥜":"RightUpTeeVector","⥝":"RightDownTeeVector","⥞":"DownLeftTeeVector","⥟":"DownRightTeeVector","⥠":"LeftUpTeeVector","⥡":"LeftDownTeeVector","⥢":"lHar","⥣":"uHar","⥤":"rHar","⥥":"dHar","⥦":"luruhar","⥧":"ldrdhar","⥨":"ruluhar","⥩":"rdldhar","⥪":"lharul","⥫":"llhard","⥬":"rharul","⥭":"lrhard","⥮":"udhar","⥯":"duhar","⥰":"RoundImplies","⥱":"erarr","⥲":"simrarr","⥳":"larrsim","⥴":"rarrsim","⥵":"rarrap","⥶":"ltlarr","⥸":"gtrarr","⥹":"subrarr","⥻":"suplarr","⥼":"lfisht","⥽":"rfisht","⥾":"ufisht","⥿":"dfisht","⦚":"vzigzag","⦜":"vangrt","⦝":"angrtvbd","⦤":"ange","⦥":"range","⦦":"dwangle","⦧":"uwangle","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","⦰":"bemptyv","⦱":"demptyv","⦲":"cemptyv","⦳":"raemptyv","⦴":"laemptyv","⦵":"ohbar","⦶":"omid","⦷":"opar","⦹":"operp","⦻":"olcross","⦼":"odsold","⦾":"olcir","⦿":"ofcir","⧀":"olt","⧁":"ogt","⧂":"cirscir","⧃":"cirE","⧄":"solb","⧅":"bsolb","⧉":"boxbox","⧍":"trisb","⧎":"rtriltri","⧏":"LeftTriangleBar","⧏̸":"NotLeftTriangleBar","⧐":"RightTriangleBar","⧐̸":"NotRightTriangleBar","⧜":"iinfin","⧝":"infintie","⧞":"nvinfin","⧣":"eparsl","⧤":"smeparsl","⧥":"eqvparsl","⧫":"lozf","⧴":"RuleDelayed","⧶":"dsol","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨄":"xuplus","⨆":"xsqcup","⨍":"fpartint","⨐":"cirfnint","⨑":"awint","⨒":"rppolint","⨓":"scpolint","⨔":"npolint","⨕":"pointint","⨖":"quatint","⨗":"intlarhk","⨢":"pluscir","⨣":"plusacir","⨤":"simplus","⨥":"plusdu","⨦":"plussim","⨧":"plustwo","⨩":"mcomma","⨪":"minusdu","⨭":"loplus","⨮":"roplus","⨯":"Cross","⨰":"timesd","⨱":"timesbar","⨳":"smashp","⨴":"lotimes","⨵":"rotimes","⨶":"otimesas","⨷":"Otimes","⨸":"odiv","⨹":"triplus","⨺":"triminus","⨻":"tritime","⨼":"iprod","⨿":"amalg","⩀":"capdot","⩂":"ncup","⩃":"ncap","⩄":"capand","⩅":"cupor","⩆":"cupcap","⩇":"capcup","⩈":"cupbrcap","⩉":"capbrcup","⩊":"cupcup","⩋":"capcap","⩌":"ccups","⩍":"ccaps","⩐":"ccupssm","⩓":"And","⩔":"Or","⩕":"andand","⩖":"oror","⩗":"orslope","⩘":"andslope","⩚":"andv","⩛":"orv","⩜":"andd","⩝":"ord","⩟":"wedbar","⩦":"sdote","⩪":"simdot","⩭":"congdot","⩭̸":"ncongdot","⩮":"easter","⩯":"apacir","⩰":"apE","⩰̸":"napE","⩱":"eplus","⩲":"pluse","⩳":"Esim","⩷":"eDDot","⩸":"equivDD","⩹":"ltcir","⩺":"gtcir","⩻":"ltquest","⩼":"gtquest","⩽":"les","⩽̸":"nles","⩾":"ges","⩾̸":"nges","⩿":"lesdot","⪀":"gesdot","⪁":"lesdoto","⪂":"gesdoto","⪃":"lesdotor","⪄":"gesdotol","⪅":"lap","⪆":"gap","⪇":"lne","⪈":"gne","⪉":"lnap","⪊":"gnap","⪋":"lEg","⪌":"gEl","⪍":"lsime","⪎":"gsime","⪏":"lsimg","⪐":"gsiml","⪑":"lgE","⪒":"glE","⪓":"lesges","⪔":"gesles","⪕":"els","⪖":"egs","⪗":"elsdot","⪘":"egsdot","⪙":"el","⪚":"eg","⪝":"siml","⪞":"simg","⪟":"simlE","⪠":"simgE","⪡":"LessLess","⪡̸":"NotNestedLessLess","⪢":"GreaterGreater","⪢̸":"NotNestedGreaterGreater","⪤":"glj","⪥":"gla","⪦":"ltcc","⪧":"gtcc","⪨":"lescc","⪩":"gescc","⪪":"smt","⪫":"lat","⪬":"smte","⪬︀":"smtes","⪭":"late","⪭︀":"lates","⪮":"bumpE","⪯":"pre","⪯̸":"npre","⪰":"sce","⪰̸":"nsce","⪳":"prE","⪴":"scE","⪵":"prnE","⪶":"scnE","⪷":"prap","⪸":"scap","⪹":"prnap","⪺":"scnap","⪻":"Pr","⪼":"Sc","⪽":"subdot","⪾":"supdot","⪿":"subplus","⫀":"supplus","⫁":"submult","⫂":"supmult","⫃":"subedot","⫄":"supedot","⫅":"subE","⫅̸":"nsubE","⫆":"supE","⫆̸":"nsupE","⫇":"subsim","⫈":"supsim","⫋︀":"vsubnE","⫋":"subnE","⫌︀":"vsupnE","⫌":"supnE","⫏":"csub","⫐":"csup","⫑":"csube","⫒":"csupe","⫓":"subsup","⫔":"supsub","⫕":"subsub","⫖":"supsup","⫗":"suphsub","⫘":"supdsub","⫙":"forkv","⫚":"topfork","⫛":"mlcp","⫤":"Dashv","⫦":"Vdashl","⫧":"Barv","⫨":"vBar","⫩":"vBarv","⫫":"Vbar","⫬":"Not","⫭":"bNot","⫮":"rnmid","⫯":"cirmid","⫰":"midcir","⫱":"topcir","⫲":"nhpar","⫳":"parsim","⫽":"parsl","⫽⃥":"nparsl","♭":"flat","♮":"natur","♯":"sharp","¤":"curren","¢":"cent",$:"dollar","£":"pound","¥":"yen","€":"euro","¹":"sup1","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","²":"sup2","⅔":"frac23","⅖":"frac25","³":"sup3","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","𝒶":"ascr","𝕒":"aopf","𝔞":"afr","𝔸":"Aopf","𝔄":"Afr","𝒜":"Ascr","ª":"ordf","á":"aacute","Á":"Aacute","à":"agrave","À":"Agrave","ă":"abreve","Ă":"Abreve","â":"acirc","Â":"Acirc","å":"aring","Å":"angst","ä":"auml","Ä":"Auml","ã":"atilde","Ã":"Atilde","ą":"aogon","Ą":"Aogon","ā":"amacr","Ā":"Amacr","æ":"aelig","Æ":"AElig","𝒷":"bscr","𝕓":"bopf","𝔟":"bfr","𝔹":"Bopf","ℬ":"Bscr","𝔅":"Bfr","𝔠":"cfr","𝒸":"cscr","𝕔":"copf","ℭ":"Cfr","𝒞":"Cscr","ℂ":"Copf","ć":"cacute","Ć":"Cacute","ĉ":"ccirc","Ĉ":"Ccirc","č":"ccaron","Č":"Ccaron","ċ":"cdot","Ċ":"Cdot","ç":"ccedil","Ç":"Ccedil","℅":"incare","𝔡":"dfr","ⅆ":"dd","𝕕":"dopf","𝒹":"dscr","𝒟":"Dscr","𝔇":"Dfr","ⅅ":"DD","𝔻":"Dopf","ď":"dcaron","Ď":"Dcaron","đ":"dstrok","Đ":"Dstrok","ð":"eth","Ð":"ETH","ⅇ":"ee","ℯ":"escr","𝔢":"efr","𝕖":"eopf","ℰ":"Escr","𝔈":"Efr","𝔼":"Eopf","é":"eacute","É":"Eacute","è":"egrave","È":"Egrave","ê":"ecirc","Ê":"Ecirc","ě":"ecaron","Ě":"Ecaron","ë":"euml","Ë":"Euml","ė":"edot","Ė":"Edot","ę":"eogon","Ę":"Eogon","ē":"emacr","Ē":"Emacr","𝔣":"ffr","𝕗":"fopf","𝒻":"fscr","𝔉":"Ffr","𝔽":"Fopf","ℱ":"Fscr","ff":"fflig","ffi":"ffilig","ffl":"ffllig","fi":"filig",fj:"fjlig","fl":"fllig","ƒ":"fnof","ℊ":"gscr","𝕘":"gopf","𝔤":"gfr","𝒢":"Gscr","𝔾":"Gopf","𝔊":"Gfr","ǵ":"gacute","ğ":"gbreve","Ğ":"Gbreve","ĝ":"gcirc","Ĝ":"Gcirc","ġ":"gdot","Ġ":"Gdot","Ģ":"Gcedil","𝔥":"hfr","ℎ":"planckh","𝒽":"hscr","𝕙":"hopf","ℋ":"Hscr","ℌ":"Hfr","ℍ":"Hopf","ĥ":"hcirc","Ĥ":"Hcirc","ℏ":"hbar","ħ":"hstrok","Ħ":"Hstrok","𝕚":"iopf","𝔦":"ifr","𝒾":"iscr","ⅈ":"ii","𝕀":"Iopf","ℐ":"Iscr","ℑ":"Im","í":"iacute","Í":"Iacute","ì":"igrave","Ì":"Igrave","î":"icirc","Î":"Icirc","ï":"iuml","Ï":"Iuml","ĩ":"itilde","Ĩ":"Itilde","İ":"Idot","į":"iogon","Į":"Iogon","ī":"imacr","Ī":"Imacr","ij":"ijlig","IJ":"IJlig","ı":"imath","𝒿":"jscr","𝕛":"jopf","𝔧":"jfr","𝒥":"Jscr","𝔍":"Jfr","𝕁":"Jopf","ĵ":"jcirc","Ĵ":"Jcirc","ȷ":"jmath","𝕜":"kopf","𝓀":"kscr","𝔨":"kfr","𝒦":"Kscr","𝕂":"Kopf","𝔎":"Kfr","ķ":"kcedil","Ķ":"Kcedil","𝔩":"lfr","𝓁":"lscr","ℓ":"ell","𝕝":"lopf","ℒ":"Lscr","𝔏":"Lfr","𝕃":"Lopf","ĺ":"lacute","Ĺ":"Lacute","ľ":"lcaron","Ľ":"Lcaron","ļ":"lcedil","Ļ":"Lcedil","ł":"lstrok","Ł":"Lstrok","ŀ":"lmidot","Ŀ":"Lmidot","𝔪":"mfr","𝕞":"mopf","𝓂":"mscr","𝔐":"Mfr","𝕄":"Mopf","ℳ":"Mscr","𝔫":"nfr","𝕟":"nopf","𝓃":"nscr","ℕ":"Nopf","𝒩":"Nscr","𝔑":"Nfr","ń":"nacute","Ń":"Nacute","ň":"ncaron","Ň":"Ncaron","ñ":"ntilde","Ñ":"Ntilde","ņ":"ncedil","Ņ":"Ncedil","№":"numero","ŋ":"eng","Ŋ":"ENG","𝕠":"oopf","𝔬":"ofr","ℴ":"oscr","𝒪":"Oscr","𝔒":"Ofr","𝕆":"Oopf","º":"ordm","ó":"oacute","Ó":"Oacute","ò":"ograve","Ò":"Ograve","ô":"ocirc","Ô":"Ocirc","ö":"ouml","Ö":"Ouml","ő":"odblac","Ő":"Odblac","õ":"otilde","Õ":"Otilde","ø":"oslash","Ø":"Oslash","ō":"omacr","Ō":"Omacr","œ":"oelig","Œ":"OElig","𝔭":"pfr","𝓅":"pscr","𝕡":"popf","ℙ":"Popf","𝔓":"Pfr","𝒫":"Pscr","𝕢":"qopf","𝔮":"qfr","𝓆":"qscr","𝒬":"Qscr","𝔔":"Qfr","ℚ":"Qopf","ĸ":"kgreen","𝔯":"rfr","𝕣":"ropf","𝓇":"rscr","ℛ":"Rscr","ℜ":"Re","ℝ":"Ropf","ŕ":"racute","Ŕ":"Racute","ř":"rcaron","Ř":"Rcaron","ŗ":"rcedil","Ŗ":"Rcedil","𝕤":"sopf","𝓈":"sscr","𝔰":"sfr","𝕊":"Sopf","𝔖":"Sfr","𝒮":"Sscr","Ⓢ":"oS","ś":"sacute","Ś":"Sacute","ŝ":"scirc","Ŝ":"Scirc","š":"scaron","Š":"Scaron","ş":"scedil","Ş":"Scedil","ß":"szlig","𝔱":"tfr","𝓉":"tscr","𝕥":"topf","𝒯":"Tscr","𝔗":"Tfr","𝕋":"Topf","ť":"tcaron","Ť":"Tcaron","ţ":"tcedil","Ţ":"Tcedil","™":"trade","ŧ":"tstrok","Ŧ":"Tstrok","𝓊":"uscr","𝕦":"uopf","𝔲":"ufr","𝕌":"Uopf","𝔘":"Ufr","𝒰":"Uscr","ú":"uacute","Ú":"Uacute","ù":"ugrave","Ù":"Ugrave","ŭ":"ubreve","Ŭ":"Ubreve","û":"ucirc","Û":"Ucirc","ů":"uring","Ů":"Uring","ü":"uuml","Ü":"Uuml","ű":"udblac","Ű":"Udblac","ũ":"utilde","Ũ":"Utilde","ų":"uogon","Ų":"Uogon","ū":"umacr","Ū":"Umacr","𝔳":"vfr","𝕧":"vopf","𝓋":"vscr","𝔙":"Vfr","𝕍":"Vopf","𝒱":"Vscr","𝕨":"wopf","𝓌":"wscr","𝔴":"wfr","𝒲":"Wscr","𝕎":"Wopf","𝔚":"Wfr","ŵ":"wcirc","Ŵ":"Wcirc","𝔵":"xfr","𝓍":"xscr","𝕩":"xopf","𝕏":"Xopf","𝔛":"Xfr","𝒳":"Xscr","𝔶":"yfr","𝓎":"yscr","𝕪":"yopf","𝒴":"Yscr","𝔜":"Yfr","𝕐":"Yopf","ý":"yacute","Ý":"Yacute","ŷ":"ycirc","Ŷ":"Ycirc","ÿ":"yuml","Ÿ":"Yuml","𝓏":"zscr","𝔷":"zfr","𝕫":"zopf","ℨ":"Zfr","ℤ":"Zopf","𝒵":"Zscr","ź":"zacute","Ź":"Zacute","ž":"zcaron","Ž":"Zcaron","ż":"zdot","Ż":"Zdot","Ƶ":"imped","þ":"thorn","Þ":"THORN","ʼn":"napos","α":"alpha","Α":"Alpha","β":"beta","Β":"Beta","γ":"gamma","Γ":"Gamma","δ":"delta","Δ":"Delta","ε":"epsi","ϵ":"epsiv","Ε":"Epsilon","ϝ":"gammad","Ϝ":"Gammad","ζ":"zeta","Ζ":"Zeta","η":"eta","Η":"Eta","θ":"theta","ϑ":"thetav","Θ":"Theta","ι":"iota","Ι":"Iota","κ":"kappa","ϰ":"kappav","Κ":"Kappa","λ":"lambda","Λ":"Lambda","μ":"mu","µ":"micro","Μ":"Mu","ν":"nu","Ν":"Nu","ξ":"xi","Ξ":"Xi","ο":"omicron","Ο":"Omicron","π":"pi","ϖ":"piv","Π":"Pi","ρ":"rho","ϱ":"rhov","Ρ":"Rho","σ":"sigma","Σ":"Sigma","ς":"sigmaf","τ":"tau","Τ":"Tau","υ":"upsi","Υ":"Upsilon","ϒ":"Upsi","φ":"phi","ϕ":"phiv","Φ":"Phi","χ":"chi","Χ":"Chi","ψ":"psi","Ψ":"Psi","ω":"omega","Ω":"ohm","а":"acy","А":"Acy","б":"bcy","Б":"Bcy","в":"vcy","В":"Vcy","г":"gcy","Г":"Gcy","ѓ":"gjcy","Ѓ":"GJcy","д":"dcy","Д":"Dcy","ђ":"djcy","Ђ":"DJcy","е":"iecy","Е":"IEcy","ё":"iocy","Ё":"IOcy","є":"jukcy","Є":"Jukcy","ж":"zhcy","Ж":"ZHcy","з":"zcy","З":"Zcy","ѕ":"dscy","Ѕ":"DScy","и":"icy","И":"Icy","і":"iukcy","І":"Iukcy","ї":"yicy","Ї":"YIcy","й":"jcy","Й":"Jcy","ј":"jsercy","Ј":"Jsercy","к":"kcy","К":"Kcy","ќ":"kjcy","Ќ":"KJcy","л":"lcy","Л":"Lcy","љ":"ljcy","Љ":"LJcy","м":"mcy","М":"Mcy","н":"ncy","Н":"Ncy","њ":"njcy","Њ":"NJcy","о":"ocy","О":"Ocy","п":"pcy","П":"Pcy","р":"rcy","Р":"Rcy","с":"scy","С":"Scy","т":"tcy","Т":"Tcy","ћ":"tshcy","Ћ":"TSHcy","у":"ucy","У":"Ucy","ў":"ubrcy","Ў":"Ubrcy","ф":"fcy","Ф":"Fcy","х":"khcy","Х":"KHcy","ц":"tscy","Ц":"TScy","ч":"chcy","Ч":"CHcy","џ":"dzcy","Џ":"DZcy","ш":"shcy","Ш":"SHcy","щ":"shchcy","Щ":"SHCHcy","ъ":"hardcy","Ъ":"HARDcy","ы":"ycy","Ы":"Ycy","ь":"softcy","Ь":"SOFTcy","э":"ecy","Э":"Ecy","ю":"yucy","Ю":"YUcy","я":"yacy","Я":"YAcy","ℵ":"aleph","ℶ":"beth","ℷ":"gimel","ℸ":"daleth"},p=/["&'<>`]/g,f={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},h=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,d=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,m=/&(CounterClockwiseContourIntegral|DoubleLongLeftRightArrow|ClockwiseContourIntegral|NotNestedGreaterGreater|NotSquareSupersetEqual|DiacriticalDoubleAcute|NotRightTriangleEqual|NotSucceedsSlantEqual|NotPrecedesSlantEqual|CloseCurlyDoubleQuote|NegativeVeryThinSpace|DoubleContourIntegral|FilledVerySmallSquare|CapitalDifferentialD|OpenCurlyDoubleQuote|EmptyVerySmallSquare|NestedGreaterGreater|DoubleLongRightArrow|NotLeftTriangleEqual|NotGreaterSlantEqual|ReverseUpEquilibrium|DoubleLeftRightArrow|NotSquareSubsetEqual|NotDoubleVerticalBar|RightArrowLeftArrow|NotGreaterFullEqual|NotRightTriangleBar|SquareSupersetEqual|DownLeftRightVector|DoubleLongLeftArrow|leftrightsquigarrow|LeftArrowRightArrow|NegativeMediumSpace|blacktriangleright|RightDownVectorBar|PrecedesSlantEqual|RightDoubleBracket|SucceedsSlantEqual|NotLeftTriangleBar|RightTriangleEqual|SquareIntersection|RightDownTeeVector|ReverseEquilibrium|NegativeThickSpace|longleftrightarrow|Longleftrightarrow|LongLeftRightArrow|DownRightTeeVector|DownRightVectorBar|GreaterSlantEqual|SquareSubsetEqual|LeftDownVectorBar|LeftDoubleBracket|VerticalSeparator|rightleftharpoons|NotGreaterGreater|NotSquareSuperset|blacktriangleleft|blacktriangledown|NegativeThinSpace|LeftDownTeeVector|NotLessSlantEqual|leftrightharpoons|DoubleUpDownArrow|DoubleVerticalBar|LeftTriangleEqual|FilledSmallSquare|twoheadrightarrow|NotNestedLessLess|DownLeftTeeVector|DownLeftVectorBar|RightAngleBracket|NotTildeFullEqual|NotReverseElement|RightUpDownVector|DiacriticalTilde|NotSucceedsTilde|circlearrowright|NotPrecedesEqual|rightharpoondown|DoubleRightArrow|NotSucceedsEqual|NonBreakingSpace|NotRightTriangle|LessEqualGreater|RightUpTeeVector|LeftAngleBracket|GreaterFullEqual|DownArrowUpArrow|RightUpVectorBar|twoheadleftarrow|GreaterEqualLess|downharpoonright|RightTriangleBar|ntrianglerighteq|NotSupersetEqual|LeftUpDownVector|DiacriticalAcute|rightrightarrows|vartriangleright|UpArrowDownArrow|DiacriticalGrave|UnderParenthesis|EmptySmallSquare|LeftUpVectorBar|leftrightarrows|DownRightVector|downharpoonleft|trianglerighteq|ShortRightArrow|OverParenthesis|DoubleLeftArrow|DoubleDownArrow|NotSquareSubset|bigtriangledown|ntrianglelefteq|UpperRightArrow|curvearrowright|vartriangleleft|NotLeftTriangle|nleftrightarrow|LowerRightArrow|NotHumpDownHump|NotGreaterTilde|rightthreetimes|LeftUpTeeVector|NotGreaterEqual|straightepsilon|LeftTriangleBar|rightsquigarrow|ContourIntegral|rightleftarrows|CloseCurlyQuote|RightDownVector|LeftRightVector|nLeftrightarrow|leftharpoondown|circlearrowleft|SquareSuperset|OpenCurlyQuote|hookrightarrow|HorizontalLine|DiacriticalDot|NotLessGreater|ntriangleright|DoubleRightTee|InvisibleComma|InvisibleTimes|LowerLeftArrow|DownLeftVector|NotSubsetEqual|curvearrowleft|trianglelefteq|NotVerticalBar|TildeFullEqual|downdownarrows|NotGreaterLess|RightTeeVector|ZeroWidthSpace|looparrowright|LongRightArrow|doublebarwedge|ShortLeftArrow|ShortDownArrow|RightVectorBar|GreaterGreater|ReverseElement|rightharpoonup|LessSlantEqual|leftthreetimes|upharpoonright|rightarrowtail|LeftDownVector|Longrightarrow|NestedLessLess|UpperLeftArrow|nshortparallel|leftleftarrows|leftrightarrow|Leftrightarrow|LeftRightArrow|longrightarrow|upharpoonleft|RightArrowBar|ApplyFunction|LeftTeeVector|leftarrowtail|NotEqualTilde|varsubsetneqq|varsupsetneqq|RightTeeArrow|SucceedsEqual|SucceedsTilde|LeftVectorBar|SupersetEqual|hookleftarrow|DifferentialD|VerticalTilde|VeryThinSpace|blacktriangle|bigtriangleup|LessFullEqual|divideontimes|leftharpoonup|UpEquilibrium|ntriangleleft|RightTriangle|measuredangle|shortparallel|longleftarrow|Longleftarrow|LongLeftArrow|DoubleLeftTee|Poincareplane|PrecedesEqual|triangleright|DoubleUpArrow|RightUpVector|fallingdotseq|looparrowleft|PrecedesTilde|NotTildeEqual|NotTildeTilde|smallsetminus|Proportional|triangleleft|triangledown|UnderBracket|NotHumpEqual|exponentiale|ExponentialE|NotLessTilde|HilbertSpace|RightCeiling|blacklozenge|varsupsetneq|HumpDownHump|GreaterEqual|VerticalLine|LeftTeeArrow|NotLessEqual|DownTeeArrow|LeftTriangle|varsubsetneq|Intersection|NotCongruent|DownArrowBar|LeftUpVector|LeftArrowBar|risingdotseq|GreaterTilde|RoundImplies|SquareSubset|ShortUpArrow|NotSuperset|quaternions|precnapprox|backepsilon|preccurlyeq|OverBracket|blacksquare|MediumSpace|VerticalBar|circledcirc|circleddash|CircleMinus|CircleTimes|LessGreater|curlyeqprec|curlyeqsucc|diamondsuit|UpDownArrow|Updownarrow|RuleDelayed|Rrightarrow|updownarrow|RightVector|nRightarrow|nrightarrow|eqslantless|LeftCeiling|Equilibrium|SmallCircle|expectation|NotSucceeds|thickapprox|GreaterLess|SquareUnion|NotPrecedes|NotLessLess|straightphi|succnapprox|succcurlyeq|SubsetEqual|sqsupseteq|Proportion|Laplacetrf|ImaginaryI|supsetneqq|NotGreater|gtreqqless|NotElement|ThickSpace|TildeEqual|TildeTilde|Fouriertrf|rmoustache|EqualTilde|eqslantgtr|UnderBrace|LeftVector|UpArrowBar|nLeftarrow|nsubseteqq|subsetneqq|nsupseteqq|nleftarrow|succapprox|lessapprox|UpTeeArrow|upuparrows|curlywedge|lesseqqgtr|varepsilon|varnothing|RightFloor|complement|CirclePlus|sqsubseteq|Lleftarrow|circledast|RightArrow|Rightarrow|rightarrow|lmoustache|Bernoullis|precapprox|mapstoleft|mapstodown|longmapsto|dotsquare|downarrow|DoubleDot|nsubseteq|supsetneq|leftarrow|nsupseteq|subsetneq|ThinSpace|ngeqslant|subseteqq|HumpEqual|NotSubset|triangleq|NotCupCap|lesseqgtr|heartsuit|TripleDot|Leftarrow|Coproduct|Congruent|varpropto|complexes|gvertneqq|LeftArrow|LessTilde|supseteqq|MinusPlus|CircleDot|nleqslant|NotExists|gtreqless|nparallel|UnionPlus|LeftFloor|checkmark|CenterDot|centerdot|Mellintrf|gtrapprox|bigotimes|OverBrace|spadesuit|therefore|pitchfork|rationals|PlusMinus|Backslash|Therefore|DownBreve|backsimeq|backprime|DownArrow|nshortmid|Downarrow|lvertneqq|eqvparsl|imagline|imagpart|infintie|integers|Integral|intercal|LessLess|Uarrocir|intlarhk|sqsupset|angmsdaf|sqsubset|llcorner|vartheta|cupbrcap|lnapprox|Superset|SuchThat|succnsim|succneqq|angmsdag|biguplus|curlyvee|trpezium|Succeeds|NotTilde|bigwedge|angmsdah|angrtvbd|triminus|cwconint|fpartint|lrcorner|smeparsl|subseteq|urcorner|lurdshar|laemptyv|DDotrahd|approxeq|ldrushar|awconint|mapstoup|backcong|shortmid|triangle|geqslant|gesdotol|timesbar|circledR|circledS|setminus|multimap|naturals|scpolint|ncongdot|RightTee|boxminus|gnapprox|boxtimes|andslope|thicksim|angmsdaa|varsigma|cirfnint|rtriltri|angmsdab|rppolint|angmsdac|barwedge|drbkarow|clubsuit|thetasym|bsolhsub|capbrcup|dzigrarr|doteqdot|DotEqual|dotminus|UnderBar|NotEqual|realpart|otimesas|ulcorner|hksearow|hkswarow|parallel|PartialD|elinters|emptyset|plusacir|bbrktbrk|angmsdad|pointint|bigoplus|angmsdae|Precedes|bigsqcup|varkappa|notindot|supseteq|precneqq|precnsim|profalar|profline|profsurf|leqslant|lesdotor|raemptyv|subplus|notnivb|notnivc|subrarr|zigrarr|vzigzag|submult|subedot|Element|between|cirscir|larrbfs|larrsim|lotimes|lbrksld|lbrkslu|lozenge|ldrdhar|dbkarow|bigcirc|epsilon|simrarr|simplus|ltquest|Epsilon|luruhar|gtquest|maltese|npolint|eqcolon|npreceq|bigodot|ddagger|gtrless|bnequiv|harrcir|ddotseq|equivDD|backsim|demptyv|nsqsube|nsqsupe|Upsilon|nsubset|upsilon|minusdu|nsucceq|swarrow|nsupset|coloneq|searrow|boxplus|napprox|natural|asympeq|alefsym|congdot|nearrow|bigstar|diamond|supplus|tritime|LeftTee|nvinfin|triplus|NewLine|nvltrie|nvrtrie|nwarrow|nexists|Diamond|ruluhar|Implies|supmult|angzarr|suplarr|suphsub|questeq|because|digamma|Because|olcross|bemptyv|omicron|Omicron|rotimes|NoBreak|intprod|angrtvb|orderof|uwangle|suphsol|lesdoto|orslope|DownTee|realine|cudarrl|rdldhar|OverBar|supedot|lessdot|supdsub|topfork|succsim|rbrkslu|rbrksld|pertenk|cudarrr|isindot|planckh|lessgtr|pluscir|gesdoto|plussim|plustwo|lesssim|cularrp|rarrsim|Cayleys|notinva|notinvb|notinvc|UpArrow|Uparrow|uparrow|NotLess|dwangle|precsim|Product|curarrm|Cconint|dotplus|rarrbfs|ccupssm|Cedilla|cemptyv|notniva|quatint|frac35|frac38|frac45|frac56|frac58|frac78|tridot|xoplus|gacute|gammad|Gammad|lfisht|lfloor|bigcup|sqsupe|gbreve|Gbreve|lharul|sqsube|sqcups|Gcedil|apacir|llhard|lmidot|Lmidot|lmoust|andand|sqcaps|approx|Abreve|spades|circeq|tprime|divide|topcir|Assign|topbot|gesdot|divonx|xuplus|timesd|gesles|atilde|solbar|SOFTcy|loplus|timesb|lowast|lowbar|dlcorn|dlcrop|softcy|dollar|lparlt|thksim|lrhard|Atilde|lsaquo|smashp|bigvee|thinsp|wreath|bkarow|lsquor|lstrok|Lstrok|lthree|ltimes|ltlarr|DotDot|simdot|ltrPar|weierp|xsqcup|angmsd|sigmav|sigmaf|zeetrf|Zcaron|zcaron|mapsto|vsupne|thetav|cirmid|marker|mcomma|Zacute|vsubnE|there4|gtlPar|vsubne|bottom|gtrarr|SHCHcy|shchcy|midast|midcir|middot|minusb|minusd|gtrdot|bowtie|sfrown|mnplus|models|colone|seswar|Colone|mstpos|searhk|gtrsim|nacute|Nacute|boxbox|telrec|hairsp|Tcedil|nbumpe|scnsim|ncaron|Ncaron|ncedil|Ncedil|hamilt|Scedil|nearhk|hardcy|HARDcy|tcedil|Tcaron|commat|nequiv|nesear|tcaron|target|hearts|nexist|varrho|scedil|Scaron|scaron|hellip|Sacute|sacute|hercon|swnwar|compfn|rtimes|rthree|rsquor|rsaquo|zacute|wedgeq|homtht|barvee|barwed|Barwed|rpargt|horbar|conint|swarhk|roplus|nltrie|hslash|hstrok|Hstrok|rmoust|Conint|bprime|hybull|hyphen|iacute|Iacute|supsup|supsub|supsim|varphi|coprod|brvbar|agrave|Supset|supset|igrave|Igrave|notinE|Agrave|iiiint|iinfin|copysr|wedbar|Verbar|vangrt|becaus|incare|verbar|inodot|bullet|drcorn|intcal|drcrop|cularr|vellip|Utilde|bumpeq|cupcap|dstrok|Dstrok|CupCap|cupcup|cupdot|eacute|Eacute|supdot|iquest|easter|ecaron|Ecaron|ecolon|isinsv|utilde|itilde|Itilde|curarr|succeq|Bumpeq|cacute|ulcrop|nparsl|Cacute|nprcue|egrave|Egrave|nrarrc|nrarrw|subsup|subsub|nrtrie|jsercy|nsccue|Jsercy|kappav|kcedil|Kcedil|subsim|ulcorn|nsimeq|egsdot|veebar|kgreen|capand|elsdot|Subset|subset|curren|aacute|lacute|Lacute|emptyv|ntilde|Ntilde|lagran|lambda|Lambda|capcap|Ugrave|langle|subdot|emsp13|numero|emsp14|nvdash|nvDash|nVdash|nVDash|ugrave|ufisht|nvHarr|larrfs|nvlArr|larrhk|larrlp|larrpl|nvrArr|Udblac|nwarhk|larrtl|nwnear|oacute|Oacute|latail|lAtail|sstarf|lbrace|odblac|Odblac|lbrack|udblac|odsold|eparsl|lcaron|Lcaron|ograve|Ograve|lcedil|Lcedil|Aacute|ssmile|ssetmn|squarf|ldquor|capcup|ominus|cylcty|rharul|eqcirc|dagger|rfloor|rfisht|Dagger|daleth|equals|origof|capdot|equest|dcaron|Dcaron|rdquor|oslash|Oslash|otilde|Otilde|otimes|Otimes|urcrop|Ubreve|ubreve|Yacute|Uacute|uacute|Rcedil|rcedil|urcorn|parsim|Rcaron|Vdashl|rcaron|Tstrok|percnt|period|permil|Exists|yacute|rbrack|rbrace|phmmat|ccaron|Ccaron|planck|ccedil|plankv|tstrok|female|plusdo|plusdu|ffilig|plusmn|ffllig|Ccedil|rAtail|dfisht|bernou|ratail|Rarrtl|rarrtl|angsph|rarrpl|rarrlp|rarrhk|xwedge|xotime|forall|ForAll|Vvdash|vsupnE|preceq|bigcap|frac12|frac13|frac14|primes|rarrfs|prnsim|frac15|Square|frac16|square|lesdot|frac18|frac23|propto|prurel|rarrap|rangle|puncsp|frac25|Racute|qprime|racute|lesges|frac34|abreve|AElig|eqsim|utdot|setmn|urtri|Equal|Uring|seArr|uring|searr|dashv|Dashv|mumap|nabla|iogon|Iogon|sdote|sdotb|scsim|napid|napos|equiv|natur|Acirc|dblac|erarr|nbump|iprod|erDot|ucirc|awint|esdot|angrt|ncong|isinE|scnap|Scirc|scirc|ndash|isins|Ubrcy|nearr|neArr|isinv|nedot|ubrcy|acute|Ycirc|iukcy|Iukcy|xutri|nesim|caret|jcirc|Jcirc|caron|twixt|ddarr|sccue|exist|jmath|sbquo|ngeqq|angst|ccaps|lceil|ngsim|UpTee|delta|Delta|rtrif|nharr|nhArr|nhpar|rtrie|jukcy|Jukcy|kappa|rsquo|Kappa|nlarr|nlArr|TSHcy|rrarr|aogon|Aogon|fflig|xrarr|tshcy|ccirc|nleqq|filig|upsih|nless|dharl|nlsim|fjlig|ropar|nltri|dharr|robrk|roarr|fllig|fltns|roang|rnmid|subnE|subne|lAarr|trisb|Ccirc|acirc|ccups|blank|VDash|forkv|Vdash|langd|cedil|blk12|blk14|laquo|strns|diams|notin|vDash|larrb|blk34|block|disin|uplus|vdash|vBarv|aelig|starf|Wedge|check|xrArr|lates|lbarr|lBarr|notni|lbbrk|bcong|frasl|lbrke|frown|vrtri|vprop|vnsup|gamma|Gamma|wedge|xodot|bdquo|srarr|doteq|ldquo|boxdl|boxdL|gcirc|Gcirc|boxDl|boxDL|boxdr|boxdR|boxDr|TRADE|trade|rlhar|boxDR|vnsub|npart|vltri|rlarr|boxhd|boxhD|nprec|gescc|nrarr|nrArr|boxHd|boxHD|boxhu|boxhU|nrtri|boxHu|clubs|boxHU|times|colon|Colon|gimel|xlArr|Tilde|nsime|tilde|nsmid|nspar|THORN|thorn|xlarr|nsube|nsubE|thkap|xhArr|comma|nsucc|boxul|boxuL|nsupe|nsupE|gneqq|gnsim|boxUl|boxUL|grave|boxur|boxuR|boxUr|boxUR|lescc|angle|bepsi|boxvh|varpi|boxvH|numsp|Theta|gsime|gsiml|theta|boxVh|boxVH|boxvl|gtcir|gtdot|boxvL|boxVl|boxVL|crarr|cross|Cross|nvsim|boxvr|nwarr|nwArr|sqsup|dtdot|Uogon|lhard|lharu|dtrif|ocirc|Ocirc|lhblk|duarr|odash|sqsub|Hacek|sqcup|llarr|duhar|oelig|OElig|ofcir|boxvR|uogon|lltri|boxVr|csube|uuarr|ohbar|csupe|ctdot|olarr|olcir|harrw|oline|sqcap|omacr|Omacr|omega|Omega|boxVR|aleph|lneqq|lnsim|loang|loarr|rharu|lobrk|hcirc|operp|oplus|rhard|Hcirc|orarr|Union|order|ecirc|Ecirc|cuepr|szlig|cuesc|breve|reals|eDDot|Breve|hoarr|lopar|utrif|rdquo|Umacr|umacr|efDot|swArr|ultri|alpha|rceil|ovbar|swarr|Wcirc|wcirc|smtes|smile|bsemi|lrarr|aring|parsl|lrhar|bsime|uhblk|lrtri|cupor|Aring|uharr|uharl|slarr|rbrke|bsolb|lsime|rbbrk|RBarr|lsimg|phone|rBarr|rbarr|icirc|lsquo|Icirc|emacr|Emacr|ratio|simne|plusb|simlE|simgE|simeq|pluse|ltcir|ltdot|empty|xharr|xdtri|iexcl|Alpha|ltrie|rarrw|pound|ltrif|xcirc|bumpe|prcue|bumpE|asymp|amacr|cuvee|Sigma|sigma|iiint|udhar|iiota|ijlig|IJlig|supnE|imacr|Imacr|prime|Prime|image|prnap|eogon|Eogon|rarrc|mdash|mDDot|cuwed|imath|supne|imped|Amacr|udarr|prsim|micro|rarrb|cwint|raquo|infin|eplus|range|rangd|Ucirc|radic|minus|amalg|veeeq|rAarr|epsiv|ycirc|quest|sharp|quot|zwnj|Qscr|race|qscr|Qopf|qopf|qint|rang|Rang|Zscr|zscr|Zopf|zopf|rarr|rArr|Rarr|Pscr|pscr|prop|prod|prnE|prec|ZHcy|zhcy|prap|Zeta|zeta|Popf|popf|Zdot|plus|zdot|Yuml|yuml|phiv|YUcy|yucy|Yscr|yscr|perp|Yopf|yopf|part|para|YIcy|Ouml|rcub|yicy|YAcy|rdca|ouml|osol|Oscr|rdsh|yacy|real|oscr|xvee|andd|rect|andv|Xscr|oror|ordm|ordf|xscr|ange|aopf|Aopf|rHar|Xopf|opar|Oopf|xopf|xnis|rhov|oopf|omid|xmap|oint|apid|apos|ogon|ascr|Ascr|odot|odiv|xcup|xcap|ocir|oast|nvlt|nvle|nvgt|nvge|nvap|Wscr|wscr|auml|ntlg|ntgl|nsup|nsub|nsim|Nscr|nscr|nsce|Wopf|ring|npre|wopf|npar|Auml|Barv|bbrk|Nopf|nopf|nmid|nLtv|beta|ropf|Ropf|Beta|beth|nles|rpar|nleq|bnot|bNot|nldr|NJcy|rscr|Rscr|Vscr|vscr|rsqb|njcy|bopf|nisd|Bopf|rtri|Vopf|nGtv|ngtr|vopf|boxh|boxH|boxv|nges|ngeq|boxV|bscr|scap|Bscr|bsim|Vert|vert|bsol|bull|bump|caps|cdot|ncup|scnE|ncap|nbsp|napE|Cdot|cent|sdot|Vbar|nang|vBar|chcy|Mscr|mscr|sect|semi|CHcy|Mopf|mopf|sext|circ|cire|mldr|mlcp|cirE|comp|shcy|SHcy|vArr|varr|cong|copf|Copf|copy|COPY|malt|male|macr|lvnE|cscr|ltri|sime|ltcc|simg|Cscr|siml|csub|Uuml|lsqb|lsim|uuml|csup|Lscr|lscr|utri|smid|lpar|cups|smte|lozf|darr|Lopf|Uscr|solb|lopf|sopf|Sopf|lneq|uscr|spar|dArr|lnap|Darr|dash|Sqrt|LJcy|ljcy|lHar|dHar|Upsi|upsi|diam|lesg|djcy|DJcy|leqq|dopf|Dopf|dscr|Dscr|dscy|ldsh|ldca|squf|DScy|sscr|Sscr|dsol|lcub|late|star|Star|Uopf|Larr|lArr|larr|uopf|dtri|dzcy|sube|subE|Lang|lang|Kscr|kscr|Kopf|kopf|KJcy|kjcy|KHcy|khcy|DZcy|ecir|edot|eDot|Jscr|jscr|succ|Jopf|jopf|Edot|uHar|emsp|ensp|Iuml|iuml|eopf|isin|Iscr|iscr|Eopf|epar|sung|epsi|escr|sup1|sup2|sup3|Iota|iota|supe|supE|Iopf|iopf|IOcy|iocy|Escr|esim|Esim|imof|Uarr|QUOT|uArr|uarr|euml|IEcy|iecy|Idot|Euml|euro|excl|Hscr|hscr|Hopf|hopf|TScy|tscy|Tscr|hbar|tscr|flat|tbrk|fnof|hArr|harr|half|fopf|Fopf|tdot|gvnE|fork|trie|gtcc|fscr|Fscr|gdot|gsim|Gscr|gscr|Gopf|gopf|gneq|Gdot|tosa|gnap|Topf|topf|geqq|toea|GJcy|gjcy|tint|gesl|mid|Sfr|ggg|top|ges|gla|glE|glj|geq|gne|gEl|gel|gnE|Gcy|gcy|gap|Tfr|tfr|Tcy|tcy|Hat|Tau|Ffr|tau|Tab|hfr|Hfr|ffr|Fcy|fcy|icy|Icy|iff|ETH|eth|ifr|Ifr|Eta|eta|int|Int|Sup|sup|ucy|Ucy|Sum|sum|jcy|ENG|ufr|Ufr|eng|Jcy|jfr|els|ell|egs|Efr|efr|Jfr|uml|kcy|Kcy|Ecy|ecy|kfr|Kfr|lap|Sub|sub|lat|lcy|Lcy|leg|Dot|dot|lEg|leq|les|squ|div|die|lfr|Lfr|lgE|Dfr|dfr|Del|deg|Dcy|dcy|lne|lnE|sol|loz|smt|Cup|lrm|cup|lsh|Lsh|sim|shy|map|Map|mcy|Mcy|mfr|Mfr|mho|gfr|Gfr|sfr|cir|Chi|chi|nap|Cfr|vcy|Vcy|cfr|Scy|scy|ncy|Ncy|vee|Vee|Cap|cap|nfr|scE|sce|Nfr|nge|ngE|nGg|vfr|Vfr|ngt|bot|nGt|nis|niv|Rsh|rsh|nle|nlE|bne|Bfr|bfr|nLl|nlt|nLt|Bcy|bcy|not|Not|rlm|wfr|Wfr|npr|nsc|num|ocy|ast|Ocy|ofr|xfr|Xfr|Ofr|ogt|ohm|apE|olt|Rho|ape|rho|Rfr|rfr|ord|REG|ang|reg|orv|And|and|AMP|Rcy|amp|Afr|ycy|Ycy|yen|yfr|Yfr|rcy|par|pcy|Pcy|pfr|Pfr|phi|Phi|afr|Acy|acy|zcy|Zcy|piv|acE|acd|zfr|Zfr|pre|prE|psi|Psi|qfr|Qfr|zwj|Or|ge|Gg|gt|gg|el|oS|lt|Lt|LT|Re|lg|gl|eg|ne|Im|it|le|DD|wp|wr|nu|Nu|dd|lE|Sc|sc|pi|Pi|ee|af|ll|Ll|rx|gE|xi|pm|Xi|ic|pr|Pr|in|ni|mp|mu|ac|Mu|or|ap|Gt|GT|ii);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)(?!;)([=a-zA-Z0-9]?)|&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+)/g,g={aacute:"á",Aacute:"Á",abreve:"ă",Abreve:"Ă",ac:"∾",acd:"∿",acE:"∾̳",acirc:"â",Acirc:"Â",acute:"´",acy:"а",Acy:"А",aelig:"æ",AElig:"Æ",af:"⁡",afr:"𝔞",Afr:"𝔄",agrave:"à",Agrave:"À",alefsym:"ℵ",aleph:"ℵ",alpha:"α",Alpha:"Α",amacr:"ā",Amacr:"Ā",amalg:"⨿",amp:"&",AMP:"&",and:"∧",And:"⩓",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",Aogon:"Ą",aopf:"𝕒",Aopf:"𝔸",ap:"≈",apacir:"⩯",ape:"≊",apE:"⩰",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",aring:"å",Aring:"Å",ascr:"𝒶",Ascr:"𝒜",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",Bcy:"Б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",beta:"β",Beta:"Β",beth:"ℶ",between:"≬",bfr:"𝔟",Bfr:"𝔅",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bNot:"⫭",bopf:"𝕓",Bopf:"𝔹",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxhD:"╥",boxHd:"╤",boxHD:"╦",boxhu:"┴",boxhU:"╨",boxHu:"╧",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpe:"≏",bumpE:"⪮",bumpeq:"≏",Bumpeq:"≎",cacute:"ć",Cacute:"Ć",cap:"∩",Cap:"⋒",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",ccaron:"č",Ccaron:"Č",ccedil:"ç",Ccedil:"Ç",ccirc:"ĉ",Ccirc:"Ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",Cdot:"Ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",chcy:"ч",CHcy:"Ч",check:"✓",checkmark:"✓",chi:"χ",Chi:"Χ",cir:"○",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cire:"≗",cirE:"⧃",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",colone:"≔",Colone:"⩴",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",cscr:"𝒸",Cscr:"𝒞",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",Cup:"⋓",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",dArr:"⇓",Darr:"↡",dash:"‐",dashv:"⊣",Dashv:"⫤",dbkarow:"⤏",dblac:"˝",dcaron:"ď",Dcaron:"Ď",dcy:"д",Dcy:"Д",dd:"ⅆ",DD:"ⅅ",ddagger:"‡",ddarr:"⇊",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",delta:"δ",Delta:"Δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",Dfr:"𝔇",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",DJcy:"Ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",Dopf:"𝔻",dot:"˙",Dot:"¨",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",downarrow:"↓",Downarrow:"⇓",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",Dscr:"𝒟",dscy:"ѕ",DScy:"Ѕ",dsol:"⧶",dstrok:"đ",Dstrok:"Đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",DZcy:"Џ",dzigrarr:"⟿",eacute:"é",Eacute:"É",easter:"⩮",ecaron:"ě",Ecaron:"Ě",ecir:"≖",ecirc:"ê",Ecirc:"Ê",ecolon:"≕",ecy:"э",Ecy:"Э",eDDot:"⩷",edot:"ė",eDot:"≑",Edot:"Ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",Efr:"𝔈",eg:"⪚",egrave:"è",Egrave:"È",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",Emacr:"Ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp:" ",emsp13:" ",emsp14:" ",eng:"ŋ",ENG:"Ŋ",ensp:" ",eogon:"ę",Eogon:"Ę",eopf:"𝕖",Eopf:"𝔼",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",Epsilon:"Ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",esim:"≂",Esim:"⩳",eta:"η",Eta:"Η",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",fcy:"ф",Fcy:"Ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",Ffr:"𝔉",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",Fopf:"𝔽",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",gamma:"γ",Gamma:"Γ",gammad:"ϝ",Gammad:"Ϝ",gap:"⪆",gbreve:"ğ",Gbreve:"Ğ",Gcedil:"Ģ",gcirc:"ĝ",Gcirc:"Ĝ",gcy:"г",Gcy:"Г",gdot:"ġ",Gdot:"Ġ",ge:"≥",gE:"≧",gel:"⋛",gEl:"⪌",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",Gfr:"𝔊",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",GJcy:"Ѓ",gl:"≷",gla:"⪥",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",Gopf:"𝔾",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",gscr:"ℊ",Gscr:"𝒢",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",Gt:"≫",GT:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",HARDcy:"Ъ",harr:"↔",hArr:"⇔",harrcir:"⥈",harrw:"↭",Hat:"^",hbar:"ℏ",hcirc:"ĥ",Hcirc:"Ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",hstrok:"ħ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",iacute:"í",Iacute:"Í",ic:"⁣",icirc:"î",Icirc:"Î",icy:"и",Icy:"И",Idot:"İ",iecy:"е",IEcy:"Е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",igrave:"ì",Igrave:"Ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",IJlig:"IJ",Im:"ℑ",imacr:"ī",Imacr:"Ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",Implies:"⇒",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",Int:"∬",intcal:"⊺",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",iocy:"ё",IOcy:"Ё",iogon:"į",Iogon:"Į",iopf:"𝕚",Iopf:"𝕀",iota:"ι",Iota:"Ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",Itilde:"Ĩ",iukcy:"і",Iukcy:"І",iuml:"ï",Iuml:"Ï",jcirc:"ĵ",Jcirc:"Ĵ",jcy:"й",Jcy:"Й",jfr:"𝔧",Jfr:"𝔍",jmath:"ȷ",jopf:"𝕛",Jopf:"𝕁",jscr:"𝒿",Jscr:"𝒥",jsercy:"ј",Jsercy:"Ј",jukcy:"є",Jukcy:"Є",kappa:"κ",Kappa:"Κ",kappav:"ϰ",kcedil:"ķ",Kcedil:"Ķ",kcy:"к",Kcy:"К",kfr:"𝔨",Kfr:"𝔎",kgreen:"ĸ",khcy:"х",KHcy:"Х",kjcy:"ќ",KJcy:"Ќ",kopf:"𝕜",Kopf:"𝕂",kscr:"𝓀",Kscr:"𝒦",lAarr:"⇚",lacute:"ĺ",Lacute:"Ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",Lambda:"Λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larr:"←",lArr:"⇐",Larr:"↞",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",lAtail:"⤛",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",Lcaron:"Ľ",lcedil:"ļ",Lcedil:"Ļ",lceil:"⌈",lcub:"{",lcy:"л",Lcy:"Л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",leftarrow:"←",Leftarrow:"⇐",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",Leftrightarrow:"⇔",LeftRightArrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",leg:"⋚",lEg:"⪋",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",Lfr:"𝔏",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",LJcy:"Љ",ll:"≪",Ll:"⋘",llarr:"⇇",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",lmidot:"ŀ",Lmidot:"Ŀ",lmoust:"⎰",lmoustache:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",Longleftarrow:"⟸",LongLeftArrow:"⟵",longleftrightarrow:"⟷",Longleftrightarrow:"⟺",LongLeftRightArrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",Longrightarrow:"⟹",LongRightArrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",Lopf:"𝕃",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",Lstrok:"Ł",lt:"<",Lt:"≪",LT:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",Map:"⤅",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",Mcy:"М",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",mfr:"𝔪",Mfr:"𝔐",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",Mopf:"𝕄",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",mu:"μ",Mu:"Μ",multimap:"⊸",mumap:"⊸",nabla:"∇",nacute:"ń",Nacute:"Ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",Ncaron:"Ň",ncedil:"ņ",Ncedil:"Ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",Ncy:"Н",ndash:"–",ne:"≠",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",nfr:"𝔫",Nfr:"𝔑",nge:"≱",ngE:"≧̸",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",ngt:"≯",nGt:"≫⃒",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",NJcy:"Њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nle:"≰",nlE:"≦̸",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nlt:"≮",nLt:"≪⃒",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",not:"¬",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrarr:"↛",nrArr:"⇏",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",Nscr:"𝒩",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsube:"⊈",nsubE:"⫅̸",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupe:"⊉",nsupE:"⫆̸",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",Ntilde:"Ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",Nu:"Ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",oacute:"ó",Oacute:"Ó",oast:"⊛",ocir:"⊚",ocirc:"ô",Ocirc:"Ô",ocy:"о",Ocy:"О",odash:"⊝",odblac:"ő",Odblac:"Ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",OElig:"Œ",ofcir:"⦿",ofr:"𝔬",Ofr:"𝔒",ogon:"˛",ograve:"ò",Ograve:"Ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",Omacr:"Ō",omega:"ω",Omega:"Ω",omicron:"ο",Omicron:"Ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",Oopf:"𝕆",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",or:"∨",Or:"⩔",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",oscr:"ℴ",Oscr:"𝒪",oslash:"ø",Oslash:"Ø",osol:"⊘",otilde:"õ",Otilde:"Õ",otimes:"⊗",Otimes:"⨷",otimesas:"⨶",ouml:"ö",Ouml:"Ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",pcy:"п",Pcy:"П",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",Pfr:"𝔓",phi:"φ",Phi:"Φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",Pi:"Π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",pr:"≺",Pr:"⪻",prap:"⪷",prcue:"≼",pre:"⪯",prE:"⪳",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportion:"∷",Proportional:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",Pscr:"𝒫",psi:"ψ",Psi:"Ψ",puncsp:" ",qfr:"𝔮",Qfr:"𝔔",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",qscr:"𝓆",Qscr:"𝒬",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",racute:"ŕ",Racute:"Ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rArr:"⇒",Rarr:"↠",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",Rarrtl:"⤖",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",Rcaron:"Ř",rcedil:"ŗ",Rcedil:"Ŗ",rceil:"⌉",rcub:"}",rcy:"р",Rcy:"Р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",Re:"ℜ",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",Rho:"Ρ",rhov:"ϱ",RightAngleBracket:"⟩",rightarrow:"→",Rightarrow:"⇒",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",sacute:"ś",Sacute:"Ś",sbquo:"‚",sc:"≻",Sc:"⪼",scap:"⪸",scaron:"š",Scaron:"Š",sccue:"≽",sce:"⪰",scE:"⪴",scedil:"ş",Scedil:"Ş",scirc:"ŝ",Scirc:"Ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",Scy:"С",sdot:"⋅",sdotb:"⊡",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",Sfr:"𝔖",sfrown:"⌢",sharp:"♯",shchcy:"щ",SHCHcy:"Щ",shcy:"ш",SHcy:"Ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",sigma:"σ",Sigma:"Σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",SOFTcy:"Ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",Sopf:"𝕊",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",Sscr:"𝒮",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",Star:"⋆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",sube:"⊆",subE:"⫅",subedot:"⫃",submult:"⫁",subne:"⊊",subnE:"⫋",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup:"⊃",Sup:"⋑",sup1:"¹",sup2:"²",sup3:"³",supdot:"⪾",supdsub:"⫘",supe:"⊇",supE:"⫆",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supne:"⊋",supnE:"⫌",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:"\t",target:"⌖",tau:"τ",Tau:"Τ",tbrk:"⎴",tcaron:"ť",Tcaron:"Ť",tcedil:"ţ",Tcedil:"Ţ",tcy:"т",Tcy:"Т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",Tfr:"𝔗",there4:"∴",therefore:"∴",Therefore:"∴",theta:"θ",Theta:"Θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",thinsp:" ",ThinSpace:" ",thkap:"≈",thksim:"∼",thorn:"þ",THORN:"Þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",Topf:"𝕋",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",Tscr:"𝒯",tscy:"ц",TScy:"Ц",tshcy:"ћ",TSHcy:"Ћ",tstrok:"ŧ",Tstrok:"Ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uacute:"ú",Uacute:"Ú",uarr:"↑",uArr:"⇑",Uarr:"↟",Uarrocir:"⥉",ubrcy:"ў",Ubrcy:"Ў",ubreve:"ŭ",Ubreve:"Ŭ",ucirc:"û",Ucirc:"Û",ucy:"у",Ucy:"У",udarr:"⇅",udblac:"ű",Udblac:"Ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",Ufr:"𝔘",ugrave:"ù",Ugrave:"Ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",Umacr:"Ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",uogon:"ų",Uogon:"Ų",uopf:"𝕦",Uopf:"𝕌",uparrow:"↑",Uparrow:"⇑",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",updownarrow:"↕",Updownarrow:"⇕",UpDownArrow:"↕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",upsilon:"υ",Upsilon:"Υ",UpTee:"⊥",UpTeeArrow:"↥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",Uring:"Ů",urtri:"◹",uscr:"𝓊",Uscr:"𝒰",utdot:"⋰",utilde:"ũ",Utilde:"Ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",Uuml:"Ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",vcy:"в",Vcy:"В",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",vee:"∨",Vee:"⋁",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",vfr:"𝔳",Vfr:"𝔙",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",Vopf:"𝕍",vprop:"∝",vrtri:"⊳",vscr:"𝓋",Vscr:"𝒱",vsubne:"⊊︀",vsubnE:"⫋︀",vsupne:"⊋︀",vsupnE:"⫌︀",Vvdash:"⊪",vzigzag:"⦚",wcirc:"ŵ",Wcirc:"Ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",wfr:"𝔴",Wfr:"𝔚",wopf:"𝕨",Wopf:"𝕎",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",Wscr:"𝒲",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",Xfr:"𝔛",xharr:"⟷",xhArr:"⟺",xi:"ξ",Xi:"Ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",Xopf:"𝕏",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",xscr:"𝓍",Xscr:"𝒳",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",Yacute:"Ý",yacy:"я",YAcy:"Я",ycirc:"ŷ",Ycirc:"Ŷ",ycy:"ы",Ycy:"Ы",yen:"¥",yfr:"𝔶",Yfr:"𝔜",yicy:"ї",YIcy:"Ї",yopf:"𝕪",Yopf:"𝕐",yscr:"𝓎",Yscr:"𝒴",yucy:"ю",YUcy:"Ю",yuml:"ÿ",Yuml:"Ÿ",zacute:"ź",Zacute:"Ź",zcaron:"ž",Zcaron:"Ž",zcy:"з",Zcy:"З",zdot:"ż",Zdot:"Ż",zeetrf:"ℨ",ZeroWidthSpace:"​",zeta:"ζ",Zeta:"Ζ",zfr:"𝔷",Zfr:"ℨ",zhcy:"ж",ZHcy:"Ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",zscr:"𝓏",Zscr:"𝒵",zwj:"‍",zwnj:"‌"},v={aacute:"á",Aacute:"Á",acirc:"â",Acirc:"Â",acute:"´",aelig:"æ",AElig:"Æ",agrave:"à",Agrave:"À",amp:"&",AMP:"&",aring:"å",Aring:"Å",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",brvbar:"¦",ccedil:"ç",Ccedil:"Ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",eacute:"é",Eacute:"É",ecirc:"ê",Ecirc:"Ê",egrave:"è",Egrave:"È",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",iacute:"í",Iacute:"Í",icirc:"î",Icirc:"Î",iexcl:"¡",igrave:"ì",Igrave:"Ì",iquest:"¿",iuml:"ï",Iuml:"Ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",ntilde:"ñ",Ntilde:"Ñ",oacute:"ó",Oacute:"Ó",ocirc:"ô",Ocirc:"Ô",ograve:"ò",Ograve:"Ò",ordf:"ª",ordm:"º",oslash:"ø",Oslash:"Ø",otilde:"õ",Otilde:"Õ",ouml:"ö",Ouml:"Ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",thorn:"þ",THORN:"Þ",times:"×",uacute:"ú",Uacute:"Ú",ucirc:"û",Ucirc:"Û",ugrave:"ù",Ugrave:"Ù",uml:"¨",uuml:"ü",Uuml:"Ü",yacute:"ý",Yacute:"Ý",yen:"¥",yuml:"ÿ"},y={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},b=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],w=String.fromCharCode,A={}.hasOwnProperty,x=function(t,r){return A.call(t,r)},E=function(t,r){if(!t)return r;var e,n={};for(e in r)n[e]=x(t,e)?t[e]:r[e];return n},L=function(t,r){var e="";return t>=55296&&t<=57343||t>1114111?(r&&q("character reference outside the permissible Unicode range"),"�"):x(y,t)?(r&&q("disallowed character reference"),y[t]):(r&&function(t,r){for(var e=-1,n=t.length;++e65535&&(e+=w((t-=65536)>>>10&1023|55296),t=56320|1023&t),e+=w(t))},C=function(t){return"&#x"+t.toString(16).toUpperCase()+";"},D=function(t){return"&#"+t+";"},q=function(t){throw Error("Parse error: "+t)},k=function(t,r){(r=E(r,k.options)).strict&&d.test(t)&&q("forbidden code point");var e=r.encodeEverything,n=r.useNamedReferences,o=r.allowUnsafeSymbols,a=r.decimal?D:C,f=function(t){return a(t.charCodeAt(0))};return e?(t=t.replace(s,(function(t){return n&&x(l,t)?"&"+l[t]+";":f(t)})),n&&(t=t.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),n&&(t=t.replace(u,(function(t){return"&"+l[t]+";"})))):n?(o||(t=t.replace(p,(function(t){return"&"+l[t]+";"}))),t=(t=t.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒")).replace(u,(function(t){return"&"+l[t]+";"}))):o||(t=t.replace(p,f)),t.replace(i,(function(t){var r=t.charCodeAt(0),e=t.charCodeAt(1);return a(1024*(r-55296)+e-56320+65536)})).replace(c,f)};k.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1,decimal:!1};var S=function(t,r){var e=(r=E(r,S.options)).strict;return e&&h.test(t)&&q("malformed character reference"),t.replace(m,(function(t,n,o,a,i,s,c,u,l){var p,f,h,d,m,y;return n?g[m=n]:o?(m=o,(y=a)&&r.isAttributeValue?(e&&"="==y&&q("`&` did not start a character reference"),t):(e&&q("named character reference was not terminated by a semicolon"),v[m]+(y||""))):i?(h=i,f=s,e&&!f&&q("character reference was not terminated by a semicolon"),p=parseInt(h,10),L(p,e)):c?(d=c,f=u,e&&!f&&q("character reference was not terminated by a semicolon"),p=parseInt(d,16),L(p,e)):(e&&q("named character reference was not terminated by a semicolon"),t)}))};S.options={isAttributeValue:!1,strict:!1};var j={version:"1.2.0",encode:k,decode:S,escape:function(t){return t.replace(p,(function(t){return f[t]}))},unescape:S};void 0===(n=function(){return j}.call(r,e,r,t))||(t.exports=n)}()},46700:function(t,r,e){var n={"./af":42786,"./af.js":42786,"./ar":30867,"./ar-dz":14130,"./ar-dz.js":14130,"./ar-kw":96135,"./ar-kw.js":96135,"./ar-ly":56440,"./ar-ly.js":56440,"./ar-ma":47702,"./ar-ma.js":47702,"./ar-sa":16040,"./ar-sa.js":16040,"./ar-tn":37100,"./ar-tn.js":37100,"./ar.js":30867,"./az":31083,"./az.js":31083,"./be":9808,"./be.js":9808,"./bg":68338,"./bg.js":68338,"./bm":67438,"./bm.js":67438,"./bn":8905,"./bn-bd":76225,"./bn-bd.js":76225,"./bn.js":8905,"./bo":11560,"./bo.js":11560,"./br":1278,"./br.js":1278,"./bs":80622,"./bs.js":80622,"./ca":2468,"./ca.js":2468,"./cs":5822,"./cs.js":5822,"./cv":50877,"./cv.js":50877,"./cy":47373,"./cy.js":47373,"./da":24780,"./da.js":24780,"./de":59740,"./de-at":60217,"./de-at.js":60217,"./de-ch":60894,"./de-ch.js":60894,"./de.js":59740,"./dv":5300,"./dv.js":5300,"./el":50837,"./el.js":50837,"./en-au":78348,"./en-au.js":78348,"./en-ca":77925,"./en-ca.js":77925,"./en-gb":22243,"./en-gb.js":22243,"./en-ie":46436,"./en-ie.js":46436,"./en-il":47207,"./en-il.js":47207,"./en-in":44175,"./en-in.js":44175,"./en-nz":76319,"./en-nz.js":76319,"./en-sg":31662,"./en-sg.js":31662,"./eo":92915,"./eo.js":92915,"./es":55655,"./es-do":55251,"./es-do.js":55251,"./es-mx":96112,"./es-mx.js":96112,"./es-us":71146,"./es-us.js":71146,"./es.js":55655,"./et":5603,"./et.js":5603,"./eu":77763,"./eu.js":77763,"./fa":76959,"./fa.js":76959,"./fi":11897,"./fi.js":11897,"./fil":42549,"./fil.js":42549,"./fo":94694,"./fo.js":94694,"./fr":94470,"./fr-ca":63049,"./fr-ca.js":63049,"./fr-ch":52330,"./fr-ch.js":52330,"./fr.js":94470,"./fy":5044,"./fy.js":5044,"./ga":29295,"./ga.js":29295,"./gd":2101,"./gd.js":2101,"./gl":38794,"./gl.js":38794,"./gom-deva":27884,"./gom-deva.js":27884,"./gom-latn":23168,"./gom-latn.js":23168,"./gu":95349,"./gu.js":95349,"./he":24206,"./he.js":24206,"./hi":30094,"./hi.js":30094,"./hr":30316,"./hr.js":30316,"./hu":22138,"./hu.js":22138,"./hy-am":11423,"./hy-am.js":11423,"./id":29218,"./id.js":29218,"./is":90135,"./is.js":90135,"./it":90626,"./it-ch":10150,"./it-ch.js":10150,"./it.js":90626,"./ja":39183,"./ja.js":39183,"./jv":24286,"./jv.js":24286,"./ka":12105,"./ka.js":12105,"./kk":47772,"./kk.js":47772,"./km":18758,"./km.js":18758,"./kn":79282,"./kn.js":79282,"./ko":33730,"./ko.js":33730,"./ku":1408,"./ku.js":1408,"./ky":33291,"./ky.js":33291,"./lb":36841,"./lb.js":36841,"./lo":55466,"./lo.js":55466,"./lt":57010,"./lt.js":57010,"./lv":37595,"./lv.js":37595,"./me":39861,"./me.js":39861,"./mi":35493,"./mi.js":35493,"./mk":95966,"./mk.js":95966,"./ml":87341,"./ml.js":87341,"./mn":5115,"./mn.js":5115,"./mr":10370,"./mr.js":10370,"./ms":9847,"./ms-my":41237,"./ms-my.js":41237,"./ms.js":9847,"./mt":72126,"./mt.js":72126,"./my":56165,"./my.js":56165,"./nb":64924,"./nb.js":64924,"./ne":16744,"./ne.js":16744,"./nl":93901,"./nl-be":59814,"./nl-be.js":59814,"./nl.js":93901,"./nn":83877,"./nn.js":83877,"./oc-lnc":92135,"./oc-lnc.js":92135,"./pa-in":15858,"./pa-in.js":15858,"./pl":64495,"./pl.js":64495,"./pt":89520,"./pt-br":57971,"./pt-br.js":57971,"./pt.js":89520,"./ro":96459,"./ro.js":96459,"./ru":21793,"./ru.js":21793,"./sd":40950,"./sd.js":40950,"./se":10490,"./se.js":10490,"./si":90124,"./si.js":90124,"./sk":64249,"./sk.js":64249,"./sl":14985,"./sl.js":14985,"./sq":51104,"./sq.js":51104,"./sr":49131,"./sr-cyrl":79915,"./sr-cyrl.js":79915,"./sr.js":49131,"./ss":85893,"./ss.js":85893,"./sv":98760,"./sv.js":98760,"./sw":91172,"./sw.js":91172,"./ta":27333,"./ta.js":27333,"./te":23110,"./te.js":23110,"./tet":52095,"./tet.js":52095,"./tg":27321,"./tg.js":27321,"./th":9041,"./th.js":9041,"./tk":19005,"./tk.js":19005,"./tl-ph":75768,"./tl-ph.js":75768,"./tlh":89444,"./tlh.js":89444,"./tr":72397,"./tr.js":72397,"./tzl":28254,"./tzl.js":28254,"./tzm":51106,"./tzm-latn":30699,"./tzm-latn.js":30699,"./tzm.js":51106,"./ug-cn":9288,"./ug-cn.js":9288,"./uk":67691,"./uk.js":67691,"./ur":13795,"./ur.js":13795,"./uz":6791,"./uz-latn":60588,"./uz-latn.js":60588,"./uz.js":6791,"./vi":65666,"./vi.js":65666,"./x-pseudo":14378,"./x-pseudo.js":14378,"./yo":75805,"./yo.js":75805,"./zh-cn":83839,"./zh-cn.js":83839,"./zh-hk":55726,"./zh-hk.js":55726,"./zh-mo":99807,"./zh-mo.js":99807,"./zh-tw":74152,"./zh-tw.js":74152};function o(t){var r=a(t);return e(r)}function a(t){if(!e.o(n,t)){var r=new Error("Cannot find module '"+t+"'");throw r.code="MODULE_NOT_FOUND",r}return n[t]}o.keys=function(){return Object.keys(n)},o.resolve=a,t.exports=o,o.id=46700},65070:function(t){"use strict";function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}function e(t){var r="function"==typeof Map?new Map:void 0;return e=function(t){if(null===t||(e=t,-1===Function.toString.call(e).indexOf("[native code]")))return t;var e;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==r){if(r.has(t))return r.get(t);r.set(t,i)}function i(){return n(t,arguments,a(this).constructor)}return i.prototype=Object.create(t.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),o(i,t)},e(t)}function n(t,r,e){return n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}()?Reflect.construct:function(t,r,e){var n=[null];n.push.apply(n,r);var a=new(Function.bind.apply(t,n));return e&&o(a,e.prototype),a},n.apply(null,arguments)}function o(t,r){return o=Object.setPrototypeOf||function(t,r){return t.__proto__=r,t},o(t,r)}function a(t){return a=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},a(t)}var i=function(t){function e(t){var n;return function(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}(this,e),(n=function(t,e){return!e||"object"!==r(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}(this,a(e).call(this,t))).name="ObjectPrototypeMutationError",n}return function(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),r&&o(t,r)}(e,t),e}(e(Error));function s(t,e){for(var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},o=e.split("."),a=o.length,i=function(r){var e=o[r];if(!t)return{v:void 0};if("+"===e){if(Array.isArray(t))return{v:t.map((function(e,a){var i=o.slice(r+1);return i.length>0?s(e,i.join("."),n):n(t,a,o,r)}))};var a=o.slice(0,r).join(".");throw new Error("Object at wildcard (".concat(a,") is not an array"))}t=n(t,e,o,r)},c=0;c2&&void 0!==arguments[2]?arguments[2]:{};if("object"!=r(t)||null===t)return!1;if(void 0===e)return!1;if("number"==typeof e)return e in t;try{var o=!1;return s(t,e,(function(t,r,e,a){if(!c(e,a))return t&&t[r];o=n.own?t.hasOwnProperty(r):r in t})),o}catch(t){return!1}},hasOwn:function(t,r,e){return this.has(t,r,e||{own:!0})},isIn:function(t,e,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if("object"!=r(t)||null===t)return!1;if(void 0===e)return!1;try{var a=!1,i=!1;return s(t,e,(function(t,e,o,s){return a=a||t===n||!!t&&t[e]===n,i=c(o,s)&&"object"===r(t)&&e in t,t&&t[e]})),o.validPath?a&&i:a}catch(t){return!1}},ObjectPrototypeMutationError:i}},23722:function(t,r,e){"use strict";var n=e(34155),o=e(89539),a=function(t){return"string"==typeof t};function i(t,r){for(var e=[],n=0;n=-1&&!r;e--){var o=e>=0?arguments[e]:n.cwd();if(!a(o))throw new TypeError("Arguments to path.resolve must be strings");o&&(t=o+"/"+t,r="/"===o.charAt(0))}return(r?"/":"")+(t=i(t.split("/"),!r).join("/"))||"."},c.normalize=function(t){var r=c.isAbsolute(t),e="/"===t.substr(-1);return(t=i(t.split("/"),!r).join("/"))||r||(t="."),t&&e&&(t+="/"),(r?"/":"")+t},c.isAbsolute=function(t){return"/"===t.charAt(0)},c.join=function(){for(var t="",r=0;r=0&&""===t[e];e--);return r>e?[]:t.slice(r,e+1)}t=c.resolve(t).substr(1),r=c.resolve(r).substr(1);for(var n=e(t.split("/")),o=e(r.split("/")),a=Math.min(n.length,o.length),i=a,s=0;s=r}function g(t,r){var e=[],o=n("{","}",t);if(!o)return[t];var a=o.pre,s=o.post.length?g(o.post,!1):[""];if(/\$$/.test(o.pre))for(var c=0;c=0;if(!A&&!x)return o.post.match(/,.*\}/)?g(t=o.pre+"{"+o.body+i+o.post):[t];if(A)v=o.body.split(/\.\./);else if(1===(v=p(o.body)).length&&1===(v=g(v[0],!1).map(f)).length)return s.map((function(t){return o.pre+v[0]+t}));if(A){var E=u(v[0]),L=u(v[1]),C=Math.max(v[0].length,v[1].length),D=3==v.length?Math.abs(u(v[2])):1,q=d;L0){var T=new Array(N+1).join("0");j=S<0?"-"+T+j.slice(1):T+j}}y.push(j)}}else{y=[];for(var O=0;O=o)&&Object.keys(i.O).every((function(t){return i.O[t](e[c])}))?e.splice(c--,1):(s=!1,o0&&r[l-1][2]>o;l--)r[l]=r[l-1];r[l]=[e,n,o]},i.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(r,{a:r}),r},i.d=function(t,r){for(var e in r)i.o(r,e)&&!i.o(t,e)&&Object.defineProperty(t,e,{enumerable:!0,get:r[e]})},i.f={},i.e=function(t){return Promise.all(Object.keys(i.f).reduce((function(r,e){return i.f[e](t,r),r}),[]))},i.u=function(t){return t+"-"+t+".js?v="+{3245:"f413ed246f2d418b1934",6318:"a59ab0e92c526b05f790"}[t]},i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),i.o=function(t,r){return Object.prototype.hasOwnProperty.call(t,r)},e={},n="nextcloud:",i.l=function(t,r,o,a){if(e[t])e[t].push(r);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),l=0;l-1&&!t;)t=e[n--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),i.p=t}(),function(){i.b=document.baseURI||self.location.href;var t={6335:0};i.f.j=function(r,e){var n=i.o(t,r)?t[r]:void 0;if(0!==n)if(n)e.push(n[2]);else{var o=new Promise((function(e,o){n=t[r]=[e,o]}));e.push(n[2]=o);var a=i.p+i.u(r),s=new Error;i.l(a,(function(e){if(i.o(t,r)&&(0!==(n=t[r])&&(t[r]=void 0),n)){var o=e&&("load"===e.type?"missing":e.type),a=e&&e.target&&e.target.src;s.message="Loading chunk "+r+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+r,r)}},i.O.j=function(r){return 0===t[r]};var r=function(r,e){var n,o,a=e[0],s=e[1],c=e[2],u=0;if(a.some((function(r){return 0!==t[r]}))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)var l=c(i)}for(r&&r(e);u 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction processOptions(value) {\n var options;\n\n if (typeof value === 'function') {\n // Simple options (callback-only)\n options = {\n callback: value\n };\n } else {\n // Options object\n options = value;\n }\n\n return options;\n}\nfunction throttle(callback, delay) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var timeout;\n var lastState;\n var currentArgs;\n\n var throttled = function throttled(state) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n currentArgs = args;\n if (timeout && state === lastState) return;\n var leading = options.leading;\n\n if (typeof leading === 'function') {\n leading = leading(state, lastState);\n }\n\n if ((!timeout || state !== lastState) && leading) {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n }\n\n lastState = state;\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n timeout = 0;\n }, delay);\n };\n\n throttled._clear = function () {\n clearTimeout(timeout);\n timeout = null;\n };\n\n return throttled;\n}\nfunction deepEqual(val1, val2) {\n if (val1 === val2) return true;\n\n if (_typeof(val1) === 'object') {\n for (var key in val1) {\n if (!deepEqual(val1[key], val2[key])) {\n return false;\n }\n }\n\n return true;\n }\n\n return false;\n}\n\nvar VisibilityState =\n/*#__PURE__*/\nfunction () {\n function VisibilityState(el, options, vnode) {\n _classCallCheck(this, VisibilityState);\n\n this.el = el;\n this.observer = null;\n this.frozen = false;\n this.createObserver(options, vnode);\n }\n\n _createClass(VisibilityState, [{\n key: \"createObserver\",\n value: function createObserver(options, vnode) {\n var _this = this;\n\n if (this.observer) {\n this.destroyObserver();\n }\n\n if (this.frozen) return;\n this.options = processOptions(options);\n\n this.callback = function (result, entry) {\n _this.options.callback(result, entry);\n\n if (result && _this.options.once) {\n _this.frozen = true;\n\n _this.destroyObserver();\n }\n }; // Throttle\n\n\n if (this.callback && this.options.throttle) {\n var _ref = this.options.throttleOptions || {},\n _leading = _ref.leading;\n\n this.callback = throttle(this.callback, this.options.throttle, {\n leading: function leading(state) {\n return _leading === 'both' || _leading === 'visible' && state || _leading === 'hidden' && !state;\n }\n });\n }\n\n this.oldResult = undefined;\n this.observer = new IntersectionObserver(function (entries) {\n var entry = entries[0];\n\n if (entries.length > 1) {\n var intersectingEntry = entries.find(function (e) {\n return e.isIntersecting;\n });\n\n if (intersectingEntry) {\n entry = intersectingEntry;\n }\n }\n\n if (_this.callback) {\n // Use isIntersecting if possible because browsers can report isIntersecting as true, but intersectionRatio as 0, when something very slowly enters the viewport.\n var result = entry.isIntersecting && entry.intersectionRatio >= _this.threshold;\n if (result === _this.oldResult) return;\n _this.oldResult = result;\n\n _this.callback(result, entry);\n }\n }, this.options.intersection); // Wait for the element to be in document\n\n vnode.context.$nextTick(function () {\n if (_this.observer) {\n _this.observer.observe(_this.el);\n }\n });\n }\n }, {\n key: \"destroyObserver\",\n value: function destroyObserver() {\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n } // Cancel throttled call\n\n\n if (this.callback && this.callback._clear) {\n this.callback._clear();\n\n this.callback = null;\n }\n }\n }, {\n key: \"threshold\",\n get: function get() {\n return this.options.intersection && typeof this.options.intersection.threshold === 'number' ? this.options.intersection.threshold : 0;\n }\n }]);\n\n return VisibilityState;\n}();\n\nfunction bind(el, _ref2, vnode) {\n var value = _ref2.value;\n if (!value) return;\n\n if (typeof IntersectionObserver === 'undefined') {\n console.warn('[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill');\n } else {\n var state = new VisibilityState(el, value, vnode);\n el._vue_visibilityState = state;\n }\n}\n\nfunction update(el, _ref3, vnode) {\n var value = _ref3.value,\n oldValue = _ref3.oldValue;\n if (deepEqual(value, oldValue)) return;\n var state = el._vue_visibilityState;\n\n if (!value) {\n unbind(el);\n return;\n }\n\n if (state) {\n state.createObserver(value, vnode);\n } else {\n bind(el, {\n value: value\n }, vnode);\n }\n}\n\nfunction unbind(el) {\n var state = el._vue_visibilityState;\n\n if (state) {\n state.destroyObserver();\n delete el._vue_visibilityState;\n }\n}\n\nvar ObserveVisibility = {\n bind: bind,\n update: update,\n unbind: unbind\n};\n\nfunction install(Vue) {\n Vue.directive('observe-visibility', ObserveVisibility);\n /* -- Add more components here -- */\n}\n/* -- Plugin definition & Auto-install -- */\n\n/* You shouldn't have to modify the code below */\n// Plugin\n\nvar plugin = {\n // eslint-disable-next-line no-undef\n version: \"1.0.0\",\n install: install\n};\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { ObserveVisibility, install };\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Refresh.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Refresh.vue?vue&type=script&lang=js&\"","\n\n","import { render, staticRenderFns } from \"./Refresh.vue?vue&type=template&id=6bf8414a&\"\nimport script from \"./Refresh.vue?vue&type=script&lang=js&\"\nexport * from \"./Refresh.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon refresh-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M17.65,6.35C16.2,4.9 14.21,4 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C15.73,20 18.84,17.45 19.73,14H17.65C16.83,16.33 14.61,18 12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.66,6 15.14,6.69 16.22,7.78L13,11H20V4L17.65,6.35Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./MessageReplyText.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./MessageReplyText.vue?vue&type=script&lang=js&\"","\n\n","import { render, staticRenderFns } from \"./MessageReplyText.vue?vue&type=template&id=43cf8810&\"\nimport script from \"./MessageReplyText.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageReplyText.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon message-reply-text-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M18,8H6V6H18V8M18,11H6V9H18V11M18,14H6V12H18V14M22,4A2,2 0 0,0 20,2H4A2,2 0 0,0 2,4V16A2,2 0 0,0 4,18H18L22,22V4Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Moment.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Moment.vue?vue&type=script&lang=js&\"","\n\n\n\n\n","import { render, staticRenderFns } from \"./Moment.vue?vue&type=template&id=57999be6&\"\nimport script from \"./Moment.vue?vue&type=script&lang=js&\"\nexport * from \"./Moment.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',{staticClass:\"live-relative-timestamp\",attrs:{\"data-timestamp\":_vm.timestamp * 1000,\"title\":_vm.title}},[_vm._v(_vm._s(_vm.formatted))])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { generateRemoteUrl } from '@nextcloud/router'\n\nconst getRootPath = function() {\n\treturn generateRemoteUrl('dav/comments')\n}\n\nexport { getRootPath }\n","/**\n * @copyright Copyright (c) 2021 Christopher Ng \n *\n * @author Christopher Ng \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n/**\n * @param {any} value -\n * @param {any} passes -\n */\nexport function decodeHtmlEntities(value, passes = 1) {\n\tconst parser = new DOMParser()\n\tlet decoded = value\n\tfor (let i = 0; i < passes; i++) {\n\t\tdecoded = parser.parseFromString(decoded, 'text/html').documentElement.textContent\n\t}\n\treturn decoded\n}\n","/**\n * @copyright Copyright (c) 2021 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { createClient } from 'webdav'\nimport { getRootPath } from '../utils/davUtils.js'\nimport { getRequestToken } from '@nextcloud/auth'\n\n// init webdav client\nconst client = createClient(getRootPath(), {\n\theaders: {\n\t\t// Add this so the server knows it is an request from the browser\n\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\t// Inject user auth\n\t\trequesttoken: getRequestToken() ?? '',\n\t},\n})\n\nexport default client\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { getRootPath } from '../utils/davUtils.js'\nimport { decodeHtmlEntities } from '../utils/decodeHtmlEntities.js'\nimport axios from '@nextcloud/axios'\nimport client from './DavClient.js'\n\n/**\n * Retrieve the comments list\n *\n * @param {string} commentsType the ressource type\n * @param {number} ressourceId the ressource ID\n * @param {string} message the message\n * @return {object} the new comment\n */\nexport default async function(commentsType, ressourceId, message) {\n\tconst ressourcePath = ['', commentsType, ressourceId].join('/')\n\n\tconst response = await axios.post(getRootPath() + ressourcePath, {\n\t\tactorDisplayName: getCurrentUser().displayName,\n\t\tactorId: getCurrentUser().uid,\n\t\tactorType: 'users',\n\t\tcreationDateTime: (new Date()).toUTCString(),\n\t\tmessage,\n\t\tobjectType: 'files',\n\t\tverb: 'comment',\n\t})\n\n\t// Retrieve comment id from ressource location\n\tconst commentId = parseInt(response.headers['content-location'].split('/').pop())\n\tconst commentPath = ressourcePath + '/' + commentId\n\n\t// Fetch newly created comment data\n\tconst comment = await client.stat(commentPath, {\n\t\tdetails: true,\n\t})\n\n\tconst props = comment.data.props\n\t// Decode twice to handle potentially double-encoded entities\n\t// FIXME Remove this once https://github.com/nextcloud/server/issues/29306\n\t// is resolved\n\tprops.actorDisplayName = decodeHtmlEntities(props.actorDisplayName, 2)\n\tprops.message = decodeHtmlEntities(props.message, 2)\n\n\treturn comment.data\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport client from './DavClient.js'\n\n/**\n * Delete a comment\n *\n * @param {string} commentsType the ressource type\n * @param {number} ressourceId the ressource ID\n * @param {number} commentId the comment iD\n */\nexport default async function(commentsType, ressourceId, commentId) {\n\tconst commentPath = ['', commentsType, ressourceId, commentId].join('/')\n\n\t// Fetch newly created comment data\n\tawait client.deleteFile(commentPath)\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport client from './DavClient.js'\n\n/**\n * Edit an existing comment\n *\n * @param {string} commentsType the ressource type\n * @param {number} ressourceId the ressource ID\n * @param {number} commentId the comment iD\n * @param {string} message the message content\n */\nexport default async function(commentsType, ressourceId, commentId, message) {\n\tconst commentPath = ['', commentsType, ressourceId, commentId].join('/')\n\n\treturn await client.customRequest(commentPath, Object.assign({\n\t\tmethod: 'PROPPATCH',\n\t\tdata: `\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t${message}\n\t\t\t\t\n\t\t\t\n\t\t\t`,\n\t}))\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport NewComment from '../services/NewComment.js'\nimport DeleteComment from '../services/DeleteComment.js'\nimport EditComment from '../services/EditComment.js'\nimport { showError, showUndo, TOAST_UNDO_TIMEOUT } from '@nextcloud/dialogs'\n\nexport default {\n\tprops: {\n\t\tid: {\n\t\t\ttype: Number,\n\t\t\tdefault: null,\n\t\t},\n\t\tmessage: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tressourceId: {\n\t\t\ttype: [String, Number],\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tdeleted: false,\n\t\t\tediting: false,\n\t\t\tloading: false,\n\t\t}\n\t},\n\n\tmethods: {\n\t\t// EDITION\n\t\tonEdit() {\n\t\t\tthis.editing = true\n\t\t},\n\t\tonEditCancel() {\n\t\t\tthis.editing = false\n\t\t\t// Restore original value\n\t\t\tthis.updateLocalMessage(this.message)\n\t\t},\n\t\tasync onEditComment(message) {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tawait EditComment(this.commentsType, this.ressourceId, this.id, message)\n\t\t\t\tthis.logger.debug('Comment edited', { commentsType: this.commentsType, ressourceId: this.ressourceId, id: this.id, message })\n\t\t\t\tthis.$emit('update:message', message)\n\t\t\t\tthis.editing = false\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('comments', 'An error occurred while trying to edit the comment'))\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\n\t\t// DELETION\n\t\tonDeleteWithUndo() {\n\t\t\tthis.deleted = true\n\t\t\tconst timeOutDelete = setTimeout(this.onDelete, TOAST_UNDO_TIMEOUT)\n\t\t\tshowUndo(t('comments', 'Comment deleted'), () => {\n\t\t\t\tclearTimeout(timeOutDelete)\n\t\t\t\tthis.deleted = false\n\t\t\t})\n\t\t},\n\t\tasync onDelete() {\n\t\t\ttry {\n\t\t\t\tawait DeleteComment(this.commentsType, this.ressourceId, this.id)\n\t\t\t\tthis.logger.debug('Comment deleted', { commentsType: this.commentsType, ressourceId: this.ressourceId, id: this.id })\n\t\t\t\tthis.$emit('delete', this.id)\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('comments', 'An error occurred while trying to delete the comment'))\n\t\t\t\tconsole.error(error)\n\t\t\t\tthis.deleted = false\n\t\t\t}\n\t\t},\n\n\t\t// CREATION\n\t\tasync onNewComment(message) {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tconst newComment = await NewComment(this.commentsType, this.ressourceId, message)\n\t\t\t\tthis.logger.debug('New comment posted', { commentsType: this.commentsType, ressourceId: this.ressourceId, newComment })\n\t\t\t\tthis.$emit('new', newComment)\n\n\t\t\t\t// Clear old content\n\t\t\t\tthis.$emit('update:message', '')\n\t\t\t\tthis.localMessage = ''\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('comments', 'An error occurred while trying to create the comment'))\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t},\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=script&lang=js&\"","\n\n\n\n\n\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=style&index=0&id=6d874704&prod&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=style&index=0&id=6d874704&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Comment.vue?vue&type=template&id=6d874704&scoped=true&\"\nimport script from \"./Comment.vue?vue&type=script&lang=js&\"\nexport * from \"./Comment.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Comment.vue?vue&type=style&index=0&id=6d874704&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6d874704\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c(_vm.tag,{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.deleted),expression:\"!deleted\"}],tag:\"component\",staticClass:\"comment\",class:{'comment--loading': _vm.loading}},[_c('div',{staticClass:\"comment__side\"},[_c('NcAvatar',{staticClass:\"comment__avatar\",attrs:{\"display-name\":_vm.actorDisplayName,\"user\":_vm.actorId,\"size\":32}})],1),_vm._v(\" \"),_c('div',{staticClass:\"comment__body\"},[_c('div',{staticClass:\"comment__header\"},[_c('span',{staticClass:\"comment__author\"},[_vm._v(_vm._s(_vm.actorDisplayName))]),_vm._v(\" \"),(_vm.isOwnComment && _vm.id && !_vm.loading)?_c('NcActions',{staticClass:\"comment__actions\"},[(!_vm.editing)?[_c('NcActionButton',{attrs:{\"close-after-click\":true,\"icon\":\"icon-rename\"},on:{\"click\":_vm.onEdit}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', 'Edit comment'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcActionSeparator'),_vm._v(\" \"),_c('NcActionButton',{attrs:{\"close-after-click\":true,\"icon\":\"icon-delete\"},on:{\"click\":_vm.onDeleteWithUndo}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', 'Delete comment'))+\"\\n\\t\\t\\t\\t\\t\")])]:_c('NcActionButton',{attrs:{\"icon\":\"icon-close\"},on:{\"click\":_vm.onEditCancel}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', 'Cancel edit'))+\"\\n\\t\\t\\t\\t\")])],2):_vm._e(),_vm._v(\" \"),(_vm.id && _vm.loading)?_c('div',{staticClass:\"comment_loading icon-loading-small\"}):(_vm.creationDateTime)?_c('Moment',{staticClass:\"comment__timestamp\",attrs:{\"timestamp\":_vm.timestamp}}):_vm._e()],1),_vm._v(\" \"),(_vm.editor || _vm.editing)?_c('form',{staticClass:\"comment__editor\",on:{\"submit\":function($event){$event.preventDefault();}}},[_c('div',{staticClass:\"comment__editor-group\"},[_c('NcRichContenteditable',{ref:\"editor\",attrs:{\"auto-complete\":_vm.autoComplete,\"contenteditable\":!_vm.loading,\"value\":_vm.localMessage,\"user-data\":_vm.userData,\"aria-describedby\":\"tab-comments__editor-description\"},on:{\"update:value\":_vm.updateLocalMessage,\"submit\":_vm.onSubmit}}),_vm._v(\" \"),_c('div',{staticClass:\"comment__submit\"},[_c('NcButton',{attrs:{\"type\":\"tertiary-no-background\",\"native-type\":\"submit\",\"aria-label\":_vm.t('comments', 'Post comment'),\"disabled\":_vm.isEmptyMessage},on:{\"click\":_vm.onSubmit},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.loading)?_c('span',{staticClass:\"icon-loading-small\"}):_c('ArrowRight',{attrs:{\"size\":20}})]},proxy:true}],null,false,2357784758)})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"comment__editor-description\",attrs:{\"id\":\"tab-comments__editor-description\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', '\"@\" for mentions, \":\" for emoji, \"/\" for smart picker'))+\"\\n\\t\\t\\t\")])]):_c('div',{staticClass:\"comment__message\",class:{'comment__message--expanded': _vm.expanded},domProps:{\"innerHTML\":_vm._s(_vm.renderedContent)},on:{\"click\":_vm.onExpand}})])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// translate the various posix character classes into unicode properties\n// this works across all unicode locales\n// { : [, /u flag required, negated]\nconst posixClasses = {\n '[:alnum:]': ['\\\\p{L}\\\\p{Nl}\\\\p{Nd}', true],\n '[:alpha:]': ['\\\\p{L}\\\\p{Nl}', true],\n '[:ascii:]': ['\\\\x' + '00-\\\\x' + '7f', false],\n '[:blank:]': ['\\\\p{Zs}\\\\t', true],\n '[:cntrl:]': ['\\\\p{Cc}', true],\n '[:digit:]': ['\\\\p{Nd}', true],\n '[:graph:]': ['\\\\p{Z}\\\\p{C}', true, true],\n '[:lower:]': ['\\\\p{Ll}', true],\n '[:print:]': ['\\\\p{C}', true],\n '[:punct:]': ['\\\\p{P}', true],\n '[:space:]': ['\\\\p{Z}\\\\t\\\\r\\\\n\\\\v\\\\f', true],\n '[:upper:]': ['\\\\p{Lu}', true],\n '[:word:]': ['\\\\p{L}\\\\p{Nl}\\\\p{Nd}\\\\p{Pc}', true],\n '[:xdigit:]': ['A-Fa-f0-9', false],\n};\n// only need to escape a few things inside of brace expressions\n// escapes: [ \\ ] -\nconst braceEscape = (s) => s.replace(/[[\\]\\\\-]/g, '\\\\$&');\n// escape all regexp magic characters\nconst regexpEscape = (s) => s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n// everything has already been escaped, we just have to join\nconst rangesToString = (ranges) => ranges.join('');\n// takes a glob string at a posix brace expression, and returns\n// an equivalent regular expression source, and boolean indicating\n// whether the /u flag needs to be applied, and the number of chars\n// consumed to parse the character class.\n// This also removes out of order ranges, and returns ($.) if the\n// entire class just no good.\nexport const parseClass = (glob, position) => {\n const pos = position;\n /* c8 ignore start */\n if (glob.charAt(pos) !== '[') {\n throw new Error('not in a brace expression');\n }\n /* c8 ignore stop */\n const ranges = [];\n const negs = [];\n let i = pos + 1;\n let sawStart = false;\n let uflag = false;\n let escaping = false;\n let negate = false;\n let endPos = pos;\n let rangeStart = '';\n WHILE: while (i < glob.length) {\n const c = glob.charAt(i);\n if ((c === '!' || c === '^') && i === pos + 1) {\n negate = true;\n i++;\n continue;\n }\n if (c === ']' && sawStart && !escaping) {\n endPos = i + 1;\n break;\n }\n sawStart = true;\n if (c === '\\\\') {\n if (!escaping) {\n escaping = true;\n i++;\n continue;\n }\n // escaped \\ char, fall through and treat like normal char\n }\n if (c === '[' && !escaping) {\n // either a posix class, a collation equivalent, or just a [\n for (const [cls, [unip, u, neg]] of Object.entries(posixClasses)) {\n if (glob.startsWith(cls, i)) {\n // invalid, [a-[] is fine, but not [a-[:alpha]]\n if (rangeStart) {\n return ['$.', false, glob.length - pos, true];\n }\n i += cls.length;\n if (neg)\n negs.push(unip);\n else\n ranges.push(unip);\n uflag = uflag || u;\n continue WHILE;\n }\n }\n }\n // now it's just a normal character, effectively\n escaping = false;\n if (rangeStart) {\n // throw this range away if it's not valid, but others\n // can still match.\n if (c > rangeStart) {\n ranges.push(braceEscape(rangeStart) + '-' + braceEscape(c));\n }\n else if (c === rangeStart) {\n ranges.push(braceEscape(c));\n }\n rangeStart = '';\n i++;\n continue;\n }\n // now might be the start of a range.\n // can be either c-d or c-] or c] or c] at this point\n if (glob.startsWith('-]', i + 1)) {\n ranges.push(braceEscape(c + '-'));\n i += 2;\n continue;\n }\n if (glob.startsWith('-', i + 1)) {\n rangeStart = c;\n i += 2;\n continue;\n }\n // not the start of a range, just a single character\n ranges.push(braceEscape(c));\n i++;\n }\n if (endPos < i) {\n // didn't see the end of the class, not a valid class,\n // but might still be valid as a literal match.\n return ['', false, 0, false];\n }\n // if we got no ranges and no negates, then we have a range that\n // cannot possibly match anything, and that poisons the whole glob\n if (!ranges.length && !negs.length) {\n return ['$.', false, glob.length - pos, true];\n }\n // if we got one positive range, and it's a single character, then that's\n // not actually a magic pattern, it's just that one literal character.\n // we should not treat that as \"magic\", we should just return the literal\n // character. [_] is a perfectly valid way to escape glob magic chars.\n if (negs.length === 0 &&\n ranges.length === 1 &&\n /^\\\\?.$/.test(ranges[0]) &&\n !negate) {\n const r = ranges[0].length === 2 ? ranges[0].slice(-1) : ranges[0];\n return [regexpEscape(r), false, endPos - pos, false];\n }\n const sranges = '[' + (negate ? '^' : '') + rangesToString(ranges) + ']';\n const snegs = '[' + (negate ? '' : '^') + rangesToString(negs) + ']';\n const comb = ranges.length && negs.length\n ? '(' + sranges + '|' + snegs + ')'\n : ranges.length\n ? sranges\n : snegs;\n return [comb, uflag, endPos - pos, true];\n};\n//# sourceMappingURL=brace-expressions.js.map","import expand from 'brace-expansion';\nimport { parseClass } from './brace-expressions.js';\nimport { escape } from './escape.js';\nimport { unescape } from './unescape.js';\nexport const minimatch = (p, pattern, options = {}) => {\n assertValidPattern(pattern);\n // shortcut: comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n return false;\n }\n return new Minimatch(pattern, options).match(p);\n};\nexport default minimatch;\n// Optimized checking for the most common glob patterns.\nconst starDotExtRE = /^\\*+([^+@!?\\*\\[\\(]*)$/;\nconst starDotExtTest = (ext) => (f) => !f.startsWith('.') && f.endsWith(ext);\nconst starDotExtTestDot = (ext) => (f) => f.endsWith(ext);\nconst starDotExtTestNocase = (ext) => {\n ext = ext.toLowerCase();\n return (f) => !f.startsWith('.') && f.toLowerCase().endsWith(ext);\n};\nconst starDotExtTestNocaseDot = (ext) => {\n ext = ext.toLowerCase();\n return (f) => f.toLowerCase().endsWith(ext);\n};\nconst starDotStarRE = /^\\*+\\.\\*+$/;\nconst starDotStarTest = (f) => !f.startsWith('.') && f.includes('.');\nconst starDotStarTestDot = (f) => f !== '.' && f !== '..' && f.includes('.');\nconst dotStarRE = /^\\.\\*+$/;\nconst dotStarTest = (f) => f !== '.' && f !== '..' && f.startsWith('.');\nconst starRE = /^\\*+$/;\nconst starTest = (f) => f.length !== 0 && !f.startsWith('.');\nconst starTestDot = (f) => f.length !== 0 && f !== '.' && f !== '..';\nconst qmarksRE = /^\\?+([^+@!?\\*\\[\\(]*)?$/;\nconst qmarksTestNocase = ([$0, ext = '']) => {\n const noext = qmarksTestNoExt([$0]);\n if (!ext)\n return noext;\n ext = ext.toLowerCase();\n return (f) => noext(f) && f.toLowerCase().endsWith(ext);\n};\nconst qmarksTestNocaseDot = ([$0, ext = '']) => {\n const noext = qmarksTestNoExtDot([$0]);\n if (!ext)\n return noext;\n ext = ext.toLowerCase();\n return (f) => noext(f) && f.toLowerCase().endsWith(ext);\n};\nconst qmarksTestDot = ([$0, ext = '']) => {\n const noext = qmarksTestNoExtDot([$0]);\n return !ext ? noext : (f) => noext(f) && f.endsWith(ext);\n};\nconst qmarksTest = ([$0, ext = '']) => {\n const noext = qmarksTestNoExt([$0]);\n return !ext ? noext : (f) => noext(f) && f.endsWith(ext);\n};\nconst qmarksTestNoExt = ([$0]) => {\n const len = $0.length;\n return (f) => f.length === len && !f.startsWith('.');\n};\nconst qmarksTestNoExtDot = ([$0]) => {\n const len = $0.length;\n return (f) => f.length === len && f !== '.' && f !== '..';\n};\n/* c8 ignore start */\nconst defaultPlatform = (typeof process === 'object' && process\n ? (typeof process.env === 'object' &&\n process.env &&\n process.env.__MINIMATCH_TESTING_PLATFORM__) ||\n process.platform\n : 'posix');\nconst path = {\n win32: { sep: '\\\\' },\n posix: { sep: '/' },\n};\n/* c8 ignore stop */\nexport const sep = defaultPlatform === 'win32' ? path.win32.sep : path.posix.sep;\nminimatch.sep = sep;\nexport const GLOBSTAR = Symbol('globstar **');\nminimatch.GLOBSTAR = GLOBSTAR;\nconst plTypes = {\n '!': { open: '(?:(?!(?:', close: '))[^/]*?)' },\n '?': { open: '(?:', close: ')?' },\n '+': { open: '(?:', close: ')+' },\n '*': { open: '(?:', close: ')*' },\n '@': { open: '(?:', close: ')' },\n};\n// any single thing other than /\n// don't need to escape / when using new RegExp()\nconst qmark = '[^/]';\n// * => any number of characters\nconst star = qmark + '*?';\n// ** when dots are allowed. Anything goes, except .. and .\n// not (^ or / followed by one or two dots followed by $ or /),\n// followed by anything, any number of times.\nconst twoStarDot = '(?:(?!(?:\\\\/|^)(?:\\\\.{1,2})($|\\\\/)).)*?';\n// not a ^ or / followed by a dot,\n// followed by anything, any number of times.\nconst twoStarNoDot = '(?:(?!(?:\\\\/|^)\\\\.).)*?';\n// \"abc\" -> { a:true, b:true, c:true }\nconst charSet = (s) => s.split('').reduce((set, c) => {\n set[c] = true;\n return set;\n}, {});\n// characters that need to be escaped in RegExp.\nconst reSpecials = charSet('().*{}+?[]^$\\\\!');\n// characters that indicate we have to add the pattern start\nconst addPatternStartSet = charSet('[.(');\nexport const filter = (pattern, options = {}) => (p) => minimatch(p, pattern, options);\nminimatch.filter = filter;\nconst ext = (a, b = {}) => Object.assign({}, a, b);\nexport const defaults = (def) => {\n if (!def || typeof def !== 'object' || !Object.keys(def).length) {\n return minimatch;\n }\n const orig = minimatch;\n const m = (p, pattern, options = {}) => orig(p, pattern, ext(def, options));\n return Object.assign(m, {\n Minimatch: class Minimatch extends orig.Minimatch {\n constructor(pattern, options = {}) {\n super(pattern, ext(def, options));\n }\n static defaults(options) {\n return orig.defaults(ext(def, options)).Minimatch;\n }\n },\n unescape: (s, options = {}) => orig.unescape(s, ext(def, options)),\n escape: (s, options = {}) => orig.escape(s, ext(def, options)),\n filter: (pattern, options = {}) => orig.filter(pattern, ext(def, options)),\n defaults: (options) => orig.defaults(ext(def, options)),\n makeRe: (pattern, options = {}) => orig.makeRe(pattern, ext(def, options)),\n braceExpand: (pattern, options = {}) => orig.braceExpand(pattern, ext(def, options)),\n match: (list, pattern, options = {}) => orig.match(list, pattern, ext(def, options)),\n sep: orig.sep,\n GLOBSTAR: GLOBSTAR,\n });\n};\nminimatch.defaults = defaults;\n// Brace expansion:\n// a{b,c}d -> abd acd\n// a{b,}c -> abc ac\n// a{0..3}d -> a0d a1d a2d a3d\n// a{b,c{d,e}f}g -> abg acdfg acefg\n// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg\n//\n// Invalid sets are not expanded.\n// a{2..}b -> a{2..}b\n// a{b}c -> a{b}c\nexport const braceExpand = (pattern, options = {}) => {\n assertValidPattern(pattern);\n // Thanks to Yeting Li for\n // improving this regexp to avoid a ReDOS vulnerability.\n if (options.nobrace || !/\\{(?:(?!\\{).)*\\}/.test(pattern)) {\n // shortcut. no need to expand.\n return [pattern];\n }\n return expand(pattern);\n};\nminimatch.braceExpand = braceExpand;\nconst MAX_PATTERN_LENGTH = 1024 * 64;\nconst assertValidPattern = (pattern) => {\n if (typeof pattern !== 'string') {\n throw new TypeError('invalid pattern');\n }\n if (pattern.length > MAX_PATTERN_LENGTH) {\n throw new TypeError('pattern is too long');\n }\n};\n// parse a component of the expanded set.\n// At this point, no pattern may contain \"/\" in it\n// so we're going to return a 2d array, where each entry is the full\n// pattern, split on '/', and then turned into a regular expression.\n// A regexp is made at the end which joins each array with an\n// escaped /, and another full one which joins each regexp with |.\n//\n// Following the lead of Bash 4.1, note that \"**\" only has special meaning\n// when it is the *only* thing in a path portion. Otherwise, any series\n// of * is equivalent to a single *. Globstar behavior is enabled by\n// default, and can be disabled by setting options.noglobstar.\nexport const makeRe = (pattern, options = {}) => new Minimatch(pattern, options).makeRe();\nminimatch.makeRe = makeRe;\nexport const match = (list, pattern, options = {}) => {\n const mm = new Minimatch(pattern, options);\n list = list.filter(f => mm.match(f));\n if (mm.options.nonull && !list.length) {\n list.push(pattern);\n }\n return list;\n};\nminimatch.match = match;\n// replace stuff like \\* with *\nconst globUnescape = (s) => s.replace(/\\\\(.)/g, '$1');\nconst globMagic = /[?*]|[+@!]\\(.*?\\)|\\[|\\]/;\nconst regExpEscape = (s) => s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\nexport class Minimatch {\n options;\n set;\n pattern;\n windowsPathsNoEscape;\n nonegate;\n negate;\n comment;\n empty;\n preserveMultipleSlashes;\n partial;\n globSet;\n globParts;\n nocase;\n isWindows;\n platform;\n windowsNoMagicRoot;\n regexp;\n constructor(pattern, options = {}) {\n assertValidPattern(pattern);\n options = options || {};\n this.options = options;\n this.pattern = pattern;\n this.platform = options.platform || defaultPlatform;\n this.isWindows = this.platform === 'win32';\n this.windowsPathsNoEscape =\n !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;\n if (this.windowsPathsNoEscape) {\n this.pattern = this.pattern.replace(/\\\\/g, '/');\n }\n this.preserveMultipleSlashes = !!options.preserveMultipleSlashes;\n this.regexp = null;\n this.negate = false;\n this.nonegate = !!options.nonegate;\n this.comment = false;\n this.empty = false;\n this.partial = !!options.partial;\n this.nocase = !!this.options.nocase;\n this.windowsNoMagicRoot =\n options.windowsNoMagicRoot !== undefined\n ? options.windowsNoMagicRoot\n : !!(this.isWindows && this.nocase);\n this.globSet = [];\n this.globParts = [];\n this.set = [];\n // make the set of regexps etc.\n this.make();\n }\n hasMagic() {\n if (this.options.magicalBraces && this.set.length > 1) {\n return true;\n }\n for (const pattern of this.set) {\n for (const part of pattern) {\n if (typeof part !== 'string')\n return true;\n }\n }\n return false;\n }\n debug(..._) { }\n make() {\n const pattern = this.pattern;\n const options = this.options;\n // empty patterns and comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n this.comment = true;\n return;\n }\n if (!pattern) {\n this.empty = true;\n return;\n }\n // step 1: figure out negation, etc.\n this.parseNegate();\n // step 2: expand braces\n this.globSet = [...new Set(this.braceExpand())];\n if (options.debug) {\n this.debug = (...args) => console.error(...args);\n }\n this.debug(this.pattern, this.globSet);\n // step 3: now we have a set, so turn each one into a series of\n // path-portion matching patterns.\n // These will be regexps, except in the case of \"**\", which is\n // set to the GLOBSTAR object for globstar behavior,\n // and will not contain any / characters\n //\n // First, we preprocess to make the glob pattern sets a bit simpler\n // and deduped. There are some perf-killing patterns that can cause\n // problems with a glob walk, but we can simplify them down a bit.\n const rawGlobParts = this.globSet.map(s => this.slashSplit(s));\n this.globParts = this.preprocess(rawGlobParts);\n this.debug(this.pattern, this.globParts);\n // glob --> regexps\n let set = this.globParts.map((s, _, __) => {\n if (this.isWindows && this.windowsNoMagicRoot) {\n // check if it's a drive or unc path.\n const isUNC = s[0] === '' &&\n s[1] === '' &&\n (s[2] === '?' || !globMagic.test(s[2])) &&\n !globMagic.test(s[3]);\n const isDrive = /^[a-z]:/i.test(s[0]);\n if (isUNC) {\n return [...s.slice(0, 4), ...s.slice(4).map(ss => this.parse(ss))];\n }\n else if (isDrive) {\n return [s[0], ...s.slice(1).map(ss => this.parse(ss))];\n }\n }\n return s.map(ss => this.parse(ss));\n });\n this.debug(this.pattern, set);\n // filter out everything that didn't compile properly.\n this.set = set.filter(s => s.indexOf(false) === -1);\n // do not treat the ? in UNC paths as magic\n if (this.isWindows) {\n for (let i = 0; i < this.set.length; i++) {\n const p = this.set[i];\n if (p[0] === '' &&\n p[1] === '' &&\n this.globParts[i][2] === '?' &&\n typeof p[3] === 'string' &&\n /^[a-z]:$/i.test(p[3])) {\n p[2] = '?';\n }\n }\n }\n this.debug(this.pattern, this.set);\n }\n // various transforms to equivalent pattern sets that are\n // faster to process in a filesystem walk. The goal is to\n // eliminate what we can, and push all ** patterns as far\n // to the right as possible, even if it increases the number\n // of patterns that we have to process.\n preprocess(globParts) {\n // if we're not in globstar mode, then turn all ** into *\n if (this.options.noglobstar) {\n for (let i = 0; i < globParts.length; i++) {\n for (let j = 0; j < globParts[i].length; j++) {\n if (globParts[i][j] === '**') {\n globParts[i][j] = '*';\n }\n }\n }\n }\n const { optimizationLevel = 1 } = this.options;\n if (optimizationLevel >= 2) {\n // aggressive optimization for the purpose of fs walking\n globParts = this.firstPhasePreProcess(globParts);\n globParts = this.secondPhasePreProcess(globParts);\n }\n else if (optimizationLevel >= 1) {\n // just basic optimizations to remove some .. parts\n globParts = this.levelOneOptimize(globParts);\n }\n else {\n globParts = this.adjascentGlobstarOptimize(globParts);\n }\n return globParts;\n }\n // just get rid of adjascent ** portions\n adjascentGlobstarOptimize(globParts) {\n return globParts.map(parts => {\n let gs = -1;\n while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n let i = gs;\n while (parts[i + 1] === '**') {\n i++;\n }\n if (i !== gs) {\n parts.splice(gs, i - gs);\n }\n }\n return parts;\n });\n }\n // get rid of adjascent ** and resolve .. portions\n levelOneOptimize(globParts) {\n return globParts.map(parts => {\n parts = parts.reduce((set, part) => {\n const prev = set[set.length - 1];\n if (part === '**' && prev === '**') {\n return set;\n }\n if (part === '..') {\n if (prev && prev !== '..' && prev !== '.' && prev !== '**') {\n set.pop();\n return set;\n }\n }\n set.push(part);\n return set;\n }, []);\n return parts.length === 0 ? [''] : parts;\n });\n }\n levelTwoFileOptimize(parts) {\n if (!Array.isArray(parts)) {\n parts = this.slashSplit(parts);\n }\n let didSomething = false;\n do {\n didSomething = false;\n //
// -> 
/\n            if (!this.preserveMultipleSlashes) {\n                for (let i = 1; i < parts.length - 1; i++) {\n                    const p = parts[i];\n                    // don't squeeze out UNC patterns\n                    if (i === 1 && p === '' && parts[0] === '')\n                        continue;\n                    if (p === '.' || p === '') {\n                        didSomething = true;\n                        parts.splice(i, 1);\n                        i--;\n                    }\n                }\n                if (parts[0] === '.' &&\n                    parts.length === 2 &&\n                    (parts[1] === '.' || parts[1] === '')) {\n                    didSomething = true;\n                    parts.pop();\n                }\n            }\n            // 
/

/../ ->

/\n            let dd = 0;\n            while (-1 !== (dd = parts.indexOf('..', dd + 1))) {\n                const p = parts[dd - 1];\n                if (p && p !== '.' && p !== '..' && p !== '**') {\n                    didSomething = true;\n                    parts.splice(dd - 1, 2);\n                    dd -= 2;\n                }\n            }\n        } while (didSomething);\n        return parts.length === 0 ? [''] : parts;\n    }\n    // First phase: single-pattern processing\n    // 
 is 1 or more portions\n    //  is 1 or more portions\n    // 

is any portion other than ., .., '', or **\n // is . or ''\n //\n // **/.. is *brutal* for filesystem walking performance, because\n // it effectively resets the recursive walk each time it occurs,\n // and ** cannot be reduced out by a .. pattern part like a regexp\n // or most strings (other than .., ., and '') can be.\n //\n //

/**/../

/

/ -> {

/../

/

/,

/**/

/

/}\n //

// -> 
/\n    // 
/

/../ ->

/\n    // **/**/ -> **/\n    //\n    // **/*/ -> */**/ <== not valid because ** doesn't follow\n    // this WOULD be allowed if ** did follow symlinks, or * didn't\n    firstPhasePreProcess(globParts) {\n        let didSomething = false;\n        do {\n            didSomething = false;\n            // 
/**/../

/

/ -> {

/../

/

/,

/**/

/

/}\n for (let parts of globParts) {\n let gs = -1;\n while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n let gss = gs;\n while (parts[gss + 1] === '**') {\n //

/**/**/ -> 
/**/\n                        gss++;\n                    }\n                    // eg, if gs is 2 and gss is 4, that means we have 3 **\n                    // parts, and can remove 2 of them.\n                    if (gss > gs) {\n                        parts.splice(gs + 1, gss - gs);\n                    }\n                    let next = parts[gs + 1];\n                    const p = parts[gs + 2];\n                    const p2 = parts[gs + 3];\n                    if (next !== '..')\n                        continue;\n                    if (!p ||\n                        p === '.' ||\n                        p === '..' ||\n                        !p2 ||\n                        p2 === '.' ||\n                        p2 === '..') {\n                        continue;\n                    }\n                    didSomething = true;\n                    // edit parts in place, and push the new one\n                    parts.splice(gs, 1);\n                    const other = parts.slice(0);\n                    other[gs] = '**';\n                    globParts.push(other);\n                    gs--;\n                }\n                // 
// -> 
/\n                if (!this.preserveMultipleSlashes) {\n                    for (let i = 1; i < parts.length - 1; i++) {\n                        const p = parts[i];\n                        // don't squeeze out UNC patterns\n                        if (i === 1 && p === '' && parts[0] === '')\n                            continue;\n                        if (p === '.' || p === '') {\n                            didSomething = true;\n                            parts.splice(i, 1);\n                            i--;\n                        }\n                    }\n                    if (parts[0] === '.' &&\n                        parts.length === 2 &&\n                        (parts[1] === '.' || parts[1] === '')) {\n                        didSomething = true;\n                        parts.pop();\n                    }\n                }\n                // 
/

/../ ->

/\n                let dd = 0;\n                while (-1 !== (dd = parts.indexOf('..', dd + 1))) {\n                    const p = parts[dd - 1];\n                    if (p && p !== '.' && p !== '..' && p !== '**') {\n                        didSomething = true;\n                        const needDot = dd === 1 && parts[dd + 1] === '**';\n                        const splin = needDot ? ['.'] : [];\n                        parts.splice(dd - 1, 2, ...splin);\n                        if (parts.length === 0)\n                            parts.push('');\n                        dd -= 2;\n                    }\n                }\n            }\n        } while (didSomething);\n        return globParts;\n    }\n    // second phase: multi-pattern dedupes\n    // {
/*/,
/

/} ->

/*/\n    // {
/,
/} -> 
/\n    // {
/**/,
/} -> 
/**/\n    //\n    // {
/**/,
/**/

/} ->

/**/\n    // ^-- not valid because ** doens't follow symlinks\n    secondPhasePreProcess(globParts) {\n        for (let i = 0; i < globParts.length - 1; i++) {\n            for (let j = i + 1; j < globParts.length; j++) {\n                const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);\n                if (!matched)\n                    continue;\n                globParts[i] = matched;\n                globParts[j] = [];\n            }\n        }\n        return globParts.filter(gs => gs.length);\n    }\n    partsMatch(a, b, emptyGSMatch = false) {\n        let ai = 0;\n        let bi = 0;\n        let result = [];\n        let which = '';\n        while (ai < a.length && bi < b.length) {\n            if (a[ai] === b[bi]) {\n                result.push(which === 'b' ? b[bi] : a[ai]);\n                ai++;\n                bi++;\n            }\n            else if (emptyGSMatch && a[ai] === '**' && b[bi] === a[ai + 1]) {\n                result.push(a[ai]);\n                ai++;\n            }\n            else if (emptyGSMatch && b[bi] === '**' && a[ai] === b[bi + 1]) {\n                result.push(b[bi]);\n                bi++;\n            }\n            else if (a[ai] === '*' &&\n                b[bi] &&\n                (this.options.dot || !b[bi].startsWith('.')) &&\n                b[bi] !== '**') {\n                if (which === 'b')\n                    return false;\n                which = 'a';\n                result.push(a[ai]);\n                ai++;\n                bi++;\n            }\n            else if (b[bi] === '*' &&\n                a[ai] &&\n                (this.options.dot || !a[ai].startsWith('.')) &&\n                a[ai] !== '**') {\n                if (which === 'a')\n                    return false;\n                which = 'b';\n                result.push(b[bi]);\n                ai++;\n                bi++;\n            }\n            else {\n                return false;\n            }\n        }\n        // if we fall out of the loop, it means they two are identical\n        // as long as their lengths match\n        return a.length === b.length && result;\n    }\n    parseNegate() {\n        if (this.nonegate)\n            return;\n        const pattern = this.pattern;\n        let negate = false;\n        let negateOffset = 0;\n        for (let i = 0; i < pattern.length && pattern.charAt(i) === '!'; i++) {\n            negate = !negate;\n            negateOffset++;\n        }\n        if (negateOffset)\n            this.pattern = pattern.slice(negateOffset);\n        this.negate = negate;\n    }\n    // set partial to true to test if, for example,\n    // \"/a/b\" matches the start of \"/*/b/*/d\"\n    // Partial means, if you run out of file before you run\n    // out of pattern, then that's fine, as long as all\n    // the parts match.\n    matchOne(file, pattern, partial = false) {\n        const options = this.options;\n        // a UNC pattern like //?/c:/* can match a path like c:/x\n        // and vice versa\n        if (this.isWindows) {\n            const fileUNC = file[0] === '' &&\n                file[1] === '' &&\n                file[2] === '?' &&\n                typeof file[3] === 'string' &&\n                /^[a-z]:$/i.test(file[3]);\n            const patternUNC = pattern[0] === '' &&\n                pattern[1] === '' &&\n                pattern[2] === '?' &&\n                typeof pattern[3] === 'string' &&\n                /^[a-z]:$/i.test(pattern[3]);\n            if (fileUNC && patternUNC) {\n                const fd = file[3];\n                const pd = pattern[3];\n                if (fd.toLowerCase() === pd.toLowerCase()) {\n                    file[3] = pd;\n                }\n            }\n            else if (patternUNC && typeof file[0] === 'string') {\n                const pd = pattern[3];\n                const fd = file[0];\n                if (pd.toLowerCase() === fd.toLowerCase()) {\n                    pattern[3] = fd;\n                    pattern = pattern.slice(3);\n                }\n            }\n            else if (fileUNC && typeof pattern[0] === 'string') {\n                const fd = file[3];\n                if (fd.toLowerCase() === pattern[0].toLowerCase()) {\n                    pattern[0] = fd;\n                    file = file.slice(3);\n                }\n            }\n        }\n        // resolve and reduce . and .. portions in the file as well.\n        // dont' need to do the second phase, because it's only one string[]\n        const { optimizationLevel = 1 } = this.options;\n        if (optimizationLevel >= 2) {\n            file = this.levelTwoFileOptimize(file);\n        }\n        this.debug('matchOne', this, { file, pattern });\n        this.debug('matchOne', file.length, pattern.length);\n        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {\n            this.debug('matchOne loop');\n            var p = pattern[pi];\n            var f = file[fi];\n            this.debug(pattern, p, f);\n            // should be impossible.\n            // some invalid regexp stuff in the set.\n            /* c8 ignore start */\n            if (p === false) {\n                return false;\n            }\n            /* c8 ignore stop */\n            if (p === GLOBSTAR) {\n                this.debug('GLOBSTAR', [pattern, p, f]);\n                // \"**\"\n                // a/**/b/**/c would match the following:\n                // a/b/x/y/z/c\n                // a/x/y/z/b/c\n                // a/b/x/b/x/c\n                // a/b/c\n                // To do this, take the rest of the pattern after\n                // the **, and see if it would match the file remainder.\n                // If so, return success.\n                // If not, the ** \"swallows\" a segment, and try again.\n                // This is recursively awful.\n                //\n                // a/**/b/**/c matching a/b/x/y/z/c\n                // - a matches a\n                // - doublestar\n                //   - matchOne(b/x/y/z/c, b/**/c)\n                //     - b matches b\n                //     - doublestar\n                //       - matchOne(x/y/z/c, c) -> no\n                //       - matchOne(y/z/c, c) -> no\n                //       - matchOne(z/c, c) -> no\n                //       - matchOne(c, c) yes, hit\n                var fr = fi;\n                var pr = pi + 1;\n                if (pr === pl) {\n                    this.debug('** at the end');\n                    // a ** at the end will just swallow the rest.\n                    // We have found a match.\n                    // however, it will not swallow /.x, unless\n                    // options.dot is set.\n                    // . and .. are *never* matched by **, for explosively\n                    // exponential reasons.\n                    for (; fi < fl; fi++) {\n                        if (file[fi] === '.' ||\n                            file[fi] === '..' ||\n                            (!options.dot && file[fi].charAt(0) === '.'))\n                            return false;\n                    }\n                    return true;\n                }\n                // ok, let's see if we can swallow whatever we can.\n                while (fr < fl) {\n                    var swallowee = file[fr];\n                    this.debug('\\nglobstar while', file, fr, pattern, pr, swallowee);\n                    // XXX remove this slice.  Just pass the start index.\n                    if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {\n                        this.debug('globstar found match!', fr, fl, swallowee);\n                        // found a match.\n                        return true;\n                    }\n                    else {\n                        // can't swallow \".\" or \"..\" ever.\n                        // can only swallow \".foo\" when explicitly asked.\n                        if (swallowee === '.' ||\n                            swallowee === '..' ||\n                            (!options.dot && swallowee.charAt(0) === '.')) {\n                            this.debug('dot detected!', file, fr, pattern, pr);\n                            break;\n                        }\n                        // ** swallows a segment, and continue.\n                        this.debug('globstar swallow a segment, and continue');\n                        fr++;\n                    }\n                }\n                // no match was found.\n                // However, in partial mode, we can't say this is necessarily over.\n                /* c8 ignore start */\n                if (partial) {\n                    // ran out of file\n                    this.debug('\\n>>> no match, partial?', file, fr, pattern, pr);\n                    if (fr === fl) {\n                        return true;\n                    }\n                }\n                /* c8 ignore stop */\n                return false;\n            }\n            // something other than **\n            // non-magic patterns just have to match exactly\n            // patterns with magic have been turned into regexps.\n            let hit;\n            if (typeof p === 'string') {\n                hit = f === p;\n                this.debug('string match', p, f, hit);\n            }\n            else {\n                hit = p.test(f);\n                this.debug('pattern match', p, f, hit);\n            }\n            if (!hit)\n                return false;\n        }\n        // Note: ending in / means that we'll get a final \"\"\n        // at the end of the pattern.  This can only match a\n        // corresponding \"\" at the end of the file.\n        // If the file ends in /, then it can only match a\n        // a pattern that ends in /, unless the pattern just\n        // doesn't have any more for it. But, a/b/ should *not*\n        // match \"a/b/*\", even though \"\" matches against the\n        // [^/]*? pattern, except in partial mode, where it might\n        // simply not be reached yet.\n        // However, a/b/ should still satisfy a/*\n        // now either we fell off the end of the pattern, or we're done.\n        if (fi === fl && pi === pl) {\n            // ran out of pattern and filename at the same time.\n            // an exact hit!\n            return true;\n        }\n        else if (fi === fl) {\n            // ran out of file, but still had pattern left.\n            // this is ok if we're doing the match as part of\n            // a glob fs traversal.\n            return partial;\n        }\n        else if (pi === pl) {\n            // ran out of pattern, still have file left.\n            // this is only acceptable if we're on the very last\n            // empty segment of a file with a trailing slash.\n            // a/* should match a/b/\n            return fi === fl - 1 && file[fi] === '';\n            /* c8 ignore start */\n        }\n        else {\n            // should be unreachable.\n            throw new Error('wtf?');\n        }\n        /* c8 ignore stop */\n    }\n    braceExpand() {\n        return braceExpand(this.pattern, this.options);\n    }\n    parse(pattern) {\n        assertValidPattern(pattern);\n        const options = this.options;\n        // shortcuts\n        if (pattern === '**')\n            return GLOBSTAR;\n        if (pattern === '')\n            return '';\n        // far and away, the most common glob pattern parts are\n        // *, *.*, and *.  Add a fast check method for those.\n        let m;\n        let fastTest = null;\n        if ((m = pattern.match(starRE))) {\n            fastTest = options.dot ? starTestDot : starTest;\n        }\n        else if ((m = pattern.match(starDotExtRE))) {\n            fastTest = (options.nocase\n                ? options.dot\n                    ? starDotExtTestNocaseDot\n                    : starDotExtTestNocase\n                : options.dot\n                    ? starDotExtTestDot\n                    : starDotExtTest)(m[1]);\n        }\n        else if ((m = pattern.match(qmarksRE))) {\n            fastTest = (options.nocase\n                ? options.dot\n                    ? qmarksTestNocaseDot\n                    : qmarksTestNocase\n                : options.dot\n                    ? qmarksTestDot\n                    : qmarksTest)(m);\n        }\n        else if ((m = pattern.match(starDotStarRE))) {\n            fastTest = options.dot ? starDotStarTestDot : starDotStarTest;\n        }\n        else if ((m = pattern.match(dotStarRE))) {\n            fastTest = dotStarTest;\n        }\n        let re = '';\n        let hasMagic = false;\n        let escaping = false;\n        // ? => one single character\n        const patternListStack = [];\n        const negativeLists = [];\n        let stateChar = false;\n        let uflag = false;\n        let pl;\n        // . and .. never match anything that doesn't start with .,\n        // even when options.dot is set.  However, if the pattern\n        // starts with ., then traversal patterns can match.\n        let dotTravAllowed = pattern.charAt(0) === '.';\n        let dotFileAllowed = options.dot || dotTravAllowed;\n        const patternStart = () => dotTravAllowed\n            ? ''\n            : dotFileAllowed\n                ? '(?!(?:^|\\\\/)\\\\.{1,2}(?:$|\\\\/))'\n                : '(?!\\\\.)';\n        const subPatternStart = (p) => p.charAt(0) === '.'\n            ? ''\n            : options.dot\n                ? '(?!(?:^|\\\\/)\\\\.{1,2}(?:$|\\\\/))'\n                : '(?!\\\\.)';\n        const clearStateChar = () => {\n            if (stateChar) {\n                // we had some state-tracking character\n                // that wasn't consumed by this pass.\n                switch (stateChar) {\n                    case '*':\n                        re += star;\n                        hasMagic = true;\n                        break;\n                    case '?':\n                        re += qmark;\n                        hasMagic = true;\n                        break;\n                    default:\n                        re += '\\\\' + stateChar;\n                        break;\n                }\n                this.debug('clearStateChar %j %j', stateChar, re);\n                stateChar = false;\n            }\n        };\n        for (let i = 0, c; i < pattern.length && (c = pattern.charAt(i)); i++) {\n            this.debug('%s\\t%s %s %j', pattern, i, re, c);\n            // skip over any that are escaped.\n            if (escaping) {\n                // completely not allowed, even escaped.\n                // should be impossible.\n                /* c8 ignore start */\n                if (c === '/') {\n                    return false;\n                }\n                /* c8 ignore stop */\n                if (reSpecials[c]) {\n                    re += '\\\\';\n                }\n                re += c;\n                escaping = false;\n                continue;\n            }\n            switch (c) {\n                // Should already be path-split by now.\n                /* c8 ignore start */\n                case '/': {\n                    return false;\n                }\n                /* c8 ignore stop */\n                case '\\\\':\n                    clearStateChar();\n                    escaping = true;\n                    continue;\n                // the various stateChar values\n                // for the \"extglob\" stuff.\n                case '?':\n                case '*':\n                case '+':\n                case '@':\n                case '!':\n                    this.debug('%s\\t%s %s %j <-- stateChar', pattern, i, re, c);\n                    // if we already have a stateChar, then it means\n                    // that there was something like ** or +? in there.\n                    // Handle the stateChar, then proceed with this one.\n                    this.debug('call clearStateChar %j', stateChar);\n                    clearStateChar();\n                    stateChar = c;\n                    // if extglob is disabled, then +(asdf|foo) isn't a thing.\n                    // just clear the statechar *now*, rather than even diving into\n                    // the patternList stuff.\n                    if (options.noext)\n                        clearStateChar();\n                    continue;\n                case '(': {\n                    if (!stateChar) {\n                        re += '\\\\(';\n                        continue;\n                    }\n                    const plEntry = {\n                        type: stateChar,\n                        start: i - 1,\n                        reStart: re.length,\n                        open: plTypes[stateChar].open,\n                        close: plTypes[stateChar].close,\n                    };\n                    this.debug(this.pattern, '\\t', plEntry);\n                    patternListStack.push(plEntry);\n                    // negation is (?:(?!(?:js)(?:))[^/]*)\n                    re += plEntry.open;\n                    // next entry starts with a dot maybe?\n                    if (plEntry.start === 0 && plEntry.type !== '!') {\n                        dotTravAllowed = true;\n                        re += subPatternStart(pattern.slice(i + 1));\n                    }\n                    this.debug('plType %j %j', stateChar, re);\n                    stateChar = false;\n                    continue;\n                }\n                case ')': {\n                    const plEntry = patternListStack[patternListStack.length - 1];\n                    if (!plEntry) {\n                        re += '\\\\)';\n                        continue;\n                    }\n                    patternListStack.pop();\n                    // closing an extglob\n                    clearStateChar();\n                    hasMagic = true;\n                    pl = plEntry;\n                    // negation is (?:(?!js)[^/]*)\n                    // The others are (?:)\n                    re += pl.close;\n                    if (pl.type === '!') {\n                        negativeLists.push(Object.assign(pl, { reEnd: re.length }));\n                    }\n                    continue;\n                }\n                case '|': {\n                    const plEntry = patternListStack[patternListStack.length - 1];\n                    if (!plEntry) {\n                        re += '\\\\|';\n                        continue;\n                    }\n                    clearStateChar();\n                    re += '|';\n                    // next subpattern can start with a dot?\n                    if (plEntry.start === 0 && plEntry.type !== '!') {\n                        dotTravAllowed = true;\n                        re += subPatternStart(pattern.slice(i + 1));\n                    }\n                    continue;\n                }\n                // these are mostly the same in regexp and glob\n                case '[':\n                    // swallow any state-tracking char before the [\n                    clearStateChar();\n                    const [src, needUflag, consumed, magic] = parseClass(pattern, i);\n                    if (consumed) {\n                        re += src;\n                        uflag = uflag || needUflag;\n                        i += consumed - 1;\n                        hasMagic = hasMagic || magic;\n                    }\n                    else {\n                        re += '\\\\[';\n                    }\n                    continue;\n                case ']':\n                    re += '\\\\' + c;\n                    continue;\n                default:\n                    // swallow any state char that wasn't consumed\n                    clearStateChar();\n                    re += regExpEscape(c);\n                    break;\n            } // switch\n        } // for\n        // handle the case where we had a +( thing at the *end*\n        // of the pattern.\n        // each pattern list stack adds 3 chars, and we need to go through\n        // and escape any | chars that were passed through as-is for the regexp.\n        // Go through and escape them, taking care not to double-escape any\n        // | chars that were already escaped.\n        for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {\n            let tail;\n            tail = re.slice(pl.reStart + pl.open.length);\n            this.debug(this.pattern, 'setting tail', re, pl);\n            // maybe some even number of \\, then maybe 1 \\, followed by a |\n            tail = tail.replace(/((?:\\\\{2}){0,64})(\\\\?)\\|/g, (_, $1, $2) => {\n                if (!$2) {\n                    // the | isn't already escaped, so escape it.\n                    $2 = '\\\\';\n                    // should already be done\n                    /* c8 ignore start */\n                }\n                /* c8 ignore stop */\n                // need to escape all those slashes *again*, without escaping the\n                // one that we need for escaping the | character.  As it works out,\n                // escaping an even number of slashes can be done by simply repeating\n                // it exactly after itself.  That's why this trick works.\n                //\n                // I am sorry that you have to see this.\n                return $1 + $1 + $2 + '|';\n            });\n            this.debug('tail=%j\\n   %s', tail, tail, pl, re);\n            const t = pl.type === '*' ? star : pl.type === '?' ? qmark : '\\\\' + pl.type;\n            hasMagic = true;\n            re = re.slice(0, pl.reStart) + t + '\\\\(' + tail;\n        }\n        // handle trailing things that only matter at the very end.\n        clearStateChar();\n        if (escaping) {\n            // trailing \\\\\n            re += '\\\\\\\\';\n        }\n        // only need to apply the nodot start if the re starts with\n        // something that could conceivably capture a dot\n        const addPatternStart = addPatternStartSet[re.charAt(0)];\n        // Hack to work around lack of negative lookbehind in JS\n        // A pattern like: *.!(x).!(y|z) needs to ensure that a name\n        // like 'a.xyz.yz' doesn't match.  So, the first negative\n        // lookahead, has to look ALL the way ahead, to the end of\n        // the pattern.\n        for (let n = negativeLists.length - 1; n > -1; n--) {\n            const nl = negativeLists[n];\n            const nlBefore = re.slice(0, nl.reStart);\n            const nlFirst = re.slice(nl.reStart, nl.reEnd - 8);\n            let nlAfter = re.slice(nl.reEnd);\n            const nlLast = re.slice(nl.reEnd - 8, nl.reEnd) + nlAfter;\n            // Handle nested stuff like *(*.js|!(*.json)), where open parens\n            // mean that we should *not* include the ) in the bit that is considered\n            // \"after\" the negated section.\n            const closeParensBefore = nlBefore.split(')').length;\n            const openParensBefore = nlBefore.split('(').length - closeParensBefore;\n            let cleanAfter = nlAfter;\n            for (let i = 0; i < openParensBefore; i++) {\n                cleanAfter = cleanAfter.replace(/\\)[+*?]?/, '');\n            }\n            nlAfter = cleanAfter;\n            const dollar = nlAfter === '' ? '(?:$|\\\\/)' : '';\n            re = nlBefore + nlFirst + nlAfter + dollar + nlLast;\n        }\n        // if the re is not \"\" at this point, then we need to make sure\n        // it doesn't match against an empty path part.\n        // Otherwise a/* will match a/, which it should not.\n        if (re !== '' && hasMagic) {\n            re = '(?=.)' + re;\n        }\n        if (addPatternStart) {\n            re = patternStart() + re;\n        }\n        // if it's nocase, and the lcase/uppercase don't match, it's magic\n        if (options.nocase && !hasMagic && !options.nocaseMagicOnly) {\n            hasMagic = pattern.toUpperCase() !== pattern.toLowerCase();\n        }\n        // skip the regexp for non-magical patterns\n        // unescape anything in it, though, so that it'll be\n        // an exact match against a file etc.\n        if (!hasMagic) {\n            return globUnescape(re);\n        }\n        const flags = (options.nocase ? 'i' : '') + (uflag ? 'u' : '');\n        try {\n            const ext = fastTest\n                ? {\n                    _glob: pattern,\n                    _src: re,\n                    test: fastTest,\n                }\n                : {\n                    _glob: pattern,\n                    _src: re,\n                };\n            return Object.assign(new RegExp('^' + re + '$', flags), ext);\n            /* c8 ignore start */\n        }\n        catch (er) {\n            // should be impossible\n            // If it was an invalid regular expression, then it can't match\n            // anything.  This trick looks for a character after the end of\n            // the string, which is of course impossible, except in multi-line\n            // mode, but it's not a /m regex.\n            this.debug('invalid regexp', er);\n            return new RegExp('$.');\n        }\n        /* c8 ignore stop */\n    }\n    makeRe() {\n        if (this.regexp || this.regexp === false)\n            return this.regexp;\n        // at this point, this.set is a 2d array of partial\n        // pattern strings, or \"**\".\n        //\n        // It's better to use .match().  This function shouldn't\n        // be used, really, but it's pretty convenient sometimes,\n        // when you just want to work with a regex.\n        const set = this.set;\n        if (!set.length) {\n            this.regexp = false;\n            return this.regexp;\n        }\n        const options = this.options;\n        const twoStar = options.noglobstar\n            ? star\n            : options.dot\n                ? twoStarDot\n                : twoStarNoDot;\n        const flags = options.nocase ? 'i' : '';\n        // regexpify non-globstar patterns\n        // if ** is only item, then we just do one twoStar\n        // if ** is first, and there are more, prepend (\\/|twoStar\\/)? to next\n        // if ** is last, append (\\/twoStar|) to previous\n        // if ** is in the middle, append (\\/|\\/twoStar\\/) to previous\n        // then filter out GLOBSTAR symbols\n        let re = set\n            .map(pattern => {\n            const pp = pattern.map(p => typeof p === 'string'\n                ? regExpEscape(p)\n                : p === GLOBSTAR\n                    ? GLOBSTAR\n                    : p._src);\n            pp.forEach((p, i) => {\n                const next = pp[i + 1];\n                const prev = pp[i - 1];\n                if (p !== GLOBSTAR || prev === GLOBSTAR) {\n                    return;\n                }\n                if (prev === undefined) {\n                    if (next !== undefined && next !== GLOBSTAR) {\n                        pp[i + 1] = '(?:\\\\/|' + twoStar + '\\\\/)?' + next;\n                    }\n                    else {\n                        pp[i] = twoStar;\n                    }\n                }\n                else if (next === undefined) {\n                    pp[i - 1] = prev + '(?:\\\\/|' + twoStar + ')?';\n                }\n                else if (next !== GLOBSTAR) {\n                    pp[i - 1] = prev + '(?:\\\\/|\\\\/' + twoStar + '\\\\/)' + next;\n                    pp[i + 1] = GLOBSTAR;\n                }\n            });\n            return pp.filter(p => p !== GLOBSTAR).join('/');\n        })\n            .join('|');\n        // must match entire pattern\n        // ending in a * or ** will make it less strict.\n        re = '^(?:' + re + ')$';\n        // can match anything, as long as it's not this.\n        if (this.negate)\n            re = '^(?!' + re + ').*$';\n        try {\n            this.regexp = new RegExp(re, flags);\n            /* c8 ignore start */\n        }\n        catch (ex) {\n            // should be impossible\n            this.regexp = false;\n        }\n        /* c8 ignore stop */\n        return this.regexp;\n    }\n    slashSplit(p) {\n        // if p starts with // on windows, we preserve that\n        // so that UNC paths aren't broken.  Otherwise, any number of\n        // / characters are coalesced into one, unless\n        // preserveMultipleSlashes is set to true.\n        if (this.preserveMultipleSlashes) {\n            return p.split('/');\n        }\n        else if (this.isWindows && /^\\/\\/[^\\/]+/.test(p)) {\n            // add an extra '' for the one we lose\n            return ['', ...p.split(/\\/+/)];\n        }\n        else {\n            return p.split(/\\/+/);\n        }\n    }\n    match(f, partial = this.partial) {\n        this.debug('match', f, this.pattern);\n        // short-circuit in the case of busted things.\n        // comments, etc.\n        if (this.comment) {\n            return false;\n        }\n        if (this.empty) {\n            return f === '';\n        }\n        if (f === '/' && partial) {\n            return true;\n        }\n        const options = this.options;\n        // windows: need to use /, not \\\n        if (this.isWindows) {\n            f = f.split('\\\\').join('/');\n        }\n        // treat the test path as a set of pathparts.\n        const ff = this.slashSplit(f);\n        this.debug(this.pattern, 'split', ff);\n        // just ONE of the pattern sets in this.set needs to match\n        // in order for it to be valid.  If negating, then just one\n        // match means that we have failed.\n        // Either way, return on the first hit.\n        const set = this.set;\n        this.debug(this.pattern, 'set', set);\n        // Find the basename of the path by looking for the last non-empty segment\n        let filename = ff[ff.length - 1];\n        if (!filename) {\n            for (let i = ff.length - 2; !filename && i >= 0; i--) {\n                filename = ff[i];\n            }\n        }\n        for (let i = 0; i < set.length; i++) {\n            const pattern = set[i];\n            let file = ff;\n            if (options.matchBase && pattern.length === 1) {\n                file = [filename];\n            }\n            const hit = this.matchOne(file, pattern, partial);\n            if (hit) {\n                if (options.flipNegate) {\n                    return true;\n                }\n                return !this.negate;\n            }\n        }\n        // didn't get any hits.  this is success if it's a negative\n        // pattern, failure otherwise.\n        if (options.flipNegate) {\n            return false;\n        }\n        return this.negate;\n    }\n    static defaults(def) {\n        return minimatch.defaults(def).Minimatch;\n    }\n}\n/* c8 ignore start */\nexport { escape } from './escape.js';\nexport { unescape } from './unescape.js';\n/* c8 ignore stop */\nminimatch.Minimatch = Minimatch;\nminimatch.escape = escape;\nminimatch.unescape = unescape;\n//# sourceMappingURL=index.js.map","/**\n * Escape all magic characters in a glob pattern.\n *\n * If the {@link windowsPathsNoEscape | GlobOptions.windowsPathsNoEscape}\n * option is used, then characters are escaped by wrapping in `[]`, because\n * a magic character wrapped in a character class can only be satisfied by\n * that exact character.  In this mode, `\\` is _not_ escaped, because it is\n * not interpreted as a magic character, but instead as a path separator.\n */\nexport const escape = (s, { windowsPathsNoEscape = false, } = {}) => {\n    // don't need to escape +@! because we escape the parens\n    // that make those magic, and escaping ! as [!] isn't valid,\n    // because [!]] is a valid glob class meaning not ']'.\n    return windowsPathsNoEscape\n        ? s.replace(/[?*()[\\]]/g, '[$&]')\n        : s.replace(/[?*()[\\]\\\\]/g, '\\\\$&');\n};\n//# sourceMappingURL=escape.js.map","/**\n * Un-escape a string that has been escaped with {@link escape}.\n *\n * If the {@link windowsPathsNoEscape} option is used, then square-brace\n * escapes are removed, but not backslash escapes.  For example, it will turn\n * the string `'[*]'` into `*`, but it will not turn `'\\\\*'` into `'*'`,\n * becuase `\\` is a path separator in `windowsPathsNoEscape` mode.\n *\n * When `windowsPathsNoEscape` is not set, then both brace escapes and\n * backslash escapes are removed.\n *\n * Slashes (and backslashes in `windowsPathsNoEscape` mode) cannot be escaped\n * or unescaped.\n */\nexport const unescape = (s, { windowsPathsNoEscape = false, } = {}) => {\n    return windowsPathsNoEscape\n        ? s.replace(/\\[([^\\/\\\\])\\]/g, '$1')\n        : s.replace(/((?!\\\\).|^)\\[([^\\/\\\\])\\]/g, '$1$2').replace(/\\\\([^\\/])/g, '$1');\n};\n//# sourceMappingURL=unescape.js.map","import minimatch from \"minimatch\";\nimport { convertResponseHeaders } from \"./tools/headers.js\";\nexport function createErrorFromResponse(response, prefix = \"\") {\n    const err = new Error(`${prefix}Invalid response: ${response.status} ${response.statusText}`);\n    err.status = response.status;\n    err.response = response;\n    return err;\n}\nexport function handleResponseCode(context, response) {\n    const { status } = response;\n    if (status === 401 && context.digest)\n        return response;\n    if (status >= 400) {\n        const err = createErrorFromResponse(response);\n        throw err;\n    }\n    return response;\n}\nexport function processGlobFilter(files, glob) {\n    return files.filter(file => minimatch(file.filename, glob, { matchBase: true }));\n}\n/**\n * Process a response payload (eg. from `customRequest`) and\n *  prepare it for further processing. Exposed for custom\n *  request handling.\n * @param response The response for a request\n * @param data The data returned\n * @param isDetailed Whether or not a detailed result is\n *  requested\n * @returns The response data, or a detailed response object\n *  if required\n */\nexport function processResponsePayload(response, data, isDetailed = false) {\n    return isDetailed\n        ? {\n            data,\n            headers: response.headers ? convertResponseHeaders(response.headers) : {},\n            status: response.status,\n            statusText: response.statusText\n        }\n        : data;\n}\n","import path from \"path-posix\";\nimport { XMLParser } from \"fast-xml-parser\";\nimport nestedProp from \"nested-property\";\nimport { decodeHTMLEntities } from \"./encode.js\";\nimport { encodePath, normalisePath } from \"./path.js\";\nvar PropertyType;\n(function (PropertyType) {\n    PropertyType[\"Array\"] = \"array\";\n    PropertyType[\"Object\"] = \"object\";\n    PropertyType[\"Original\"] = \"original\";\n})(PropertyType || (PropertyType = {}));\nfunction getParser() {\n    return new XMLParser({\n        removeNSPrefix: true,\n        numberParseOptions: {\n            hex: true,\n            leadingZeros: false\n        }\n        // // We don't use the processors here as decoding is done manually\n        // // later on - decoding early would break some path checks.\n        // attributeValueProcessor: val => decodeHTMLEntities(decodeURIComponent(val)),\n        // tagValueProcessor: val => decodeHTMLEntities(decodeURIComponent(val))\n    });\n}\nfunction getPropertyOfType(obj, prop, type = PropertyType.Original) {\n    const val = nestedProp.get(obj, prop);\n    if (type === \"array\" && Array.isArray(val) === false) {\n        return [val];\n    }\n    else if (type === \"object\" && Array.isArray(val)) {\n        return val[0];\n    }\n    return val;\n}\nfunction normaliseResponse(response) {\n    const output = Object.assign({}, response);\n    // Only either status OR propstat is allowed\n    if (output.status) {\n        nestedProp.set(output, \"status\", getPropertyOfType(output, \"status\", PropertyType.Object));\n    }\n    else {\n        nestedProp.set(output, \"propstat\", getPropertyOfType(output, \"propstat\", PropertyType.Object));\n        nestedProp.set(output, \"propstat.prop\", getPropertyOfType(output, \"propstat.prop\", PropertyType.Object));\n    }\n    return output;\n}\nfunction normaliseResult(result) {\n    const { multistatus } = result;\n    if (multistatus === \"\") {\n        return {\n            multistatus: {\n                response: []\n            }\n        };\n    }\n    if (!multistatus) {\n        throw new Error(\"Invalid response: No root multistatus found\");\n    }\n    const output = {\n        multistatus: Array.isArray(multistatus) ? multistatus[0] : multistatus\n    };\n    nestedProp.set(output, \"multistatus.response\", getPropertyOfType(output, \"multistatus.response\", PropertyType.Array));\n    nestedProp.set(output, \"multistatus.response\", nestedProp.get(output, \"multistatus.response\").map(response => normaliseResponse(response)));\n    return output;\n}\n/**\n * Parse an XML response from a WebDAV service,\n *  converting it to an internal DAV result\n * @param xml The raw XML string\n * @returns A parsed and processed DAV result\n */\nexport function parseXML(xml) {\n    return new Promise(resolve => {\n        const result = getParser().parse(xml);\n        resolve(normaliseResult(result));\n    });\n}\nexport function prepareFileFromProps(props, rawFilename, isDetailed = false) {\n    // Last modified time, raw size, item type and mime\n    const { getlastmodified: lastMod = null, getcontentlength: rawSize = \"0\", resourcetype: resourceType = null, getcontenttype: mimeType = null, getetag: etag = null } = props;\n    const type = resourceType &&\n        typeof resourceType === \"object\" &&\n        typeof resourceType.collection !== \"undefined\"\n        ? \"directory\"\n        : \"file\";\n    const filename = decodeHTMLEntities(rawFilename);\n    const stat = {\n        filename,\n        basename: path.basename(filename),\n        lastmod: lastMod,\n        size: parseInt(rawSize, 10),\n        type,\n        etag: typeof etag === \"string\" ? etag.replace(/\"/g, \"\") : null\n    };\n    if (type === \"file\") {\n        stat.mime = mimeType && typeof mimeType === \"string\" ? mimeType.split(\";\")[0] : \"\";\n    }\n    if (isDetailed) {\n        stat.props = props;\n    }\n    return stat;\n}\n/**\n * Parse a DAV result for file stats\n * @param result The resulting DAV response\n * @param filename The filename that was stat'd\n * @param isDetailed Whether or not the raw props of\n *  the resource should be returned\n * @returns A file stat result\n */\nexport function parseStat(result, filename, isDetailed = false) {\n    let responseItem = null;\n    try {\n        // should be a propstat response, if not the if below will throw an error\n        if (result.multistatus.response[0].propstat) {\n            responseItem = result.multistatus.response[0];\n        }\n    }\n    catch (e) {\n        /* ignore */\n    }\n    if (!responseItem) {\n        throw new Error(\"Failed getting item stat: bad response\");\n    }\n    const { propstat: { prop: props, status: statusLine } } = responseItem;\n    // As defined in https://tools.ietf.org/html/rfc2068#section-6.1\n    const [_, statusCodeStr, statusText] = statusLine.split(\" \", 3);\n    const statusCode = parseInt(statusCodeStr, 10);\n    if (statusCode >= 400) {\n        const err = new Error(`Invalid response: ${statusCode} ${statusText}`);\n        err.status = statusCode;\n        throw err;\n    }\n    const filePath = normalisePath(filename);\n    return prepareFileFromProps(props, filePath, isDetailed);\n}\n/**\n * Parse a DAV result for a search request\n *\n * @param result The resulting DAV response\n * @param searchArbiter The collection path that was searched\n * @param isDetailed Whether or not the raw props of the resource should be returned\n */\nexport function parseSearch(result, searchArbiter, isDetailed) {\n    const response = {\n        truncated: false,\n        results: []\n    };\n    response.truncated = result.multistatus.response.some(v => {\n        return ((v.status || v.propstat?.status).split(\" \", 3)?.[1] === \"507\" &&\n            v.href.replace(/\\/$/, \"\").endsWith(encodePath(searchArbiter).replace(/\\/$/, \"\")));\n    });\n    result.multistatus.response.forEach(result => {\n        if (result.propstat === undefined) {\n            return;\n        }\n        const filename = result.href.split(\"/\").map(decodeURIComponent).join(\"/\");\n        response.results.push(prepareFileFromProps(result.propstat.prop, filename, isDetailed));\n    });\n    return response;\n}\n/**\n * Translate a disk quota indicator to a recognised\n *  value (includes \"unlimited\" and \"unknown\")\n * @param value The quota indicator, eg. \"-3\"\n * @returns The value in bytes, or another indicator\n */\nexport function translateDiskSpace(value) {\n    switch (value.toString()) {\n        case \"-3\":\n            return \"unlimited\";\n        case \"-2\":\n        /* falls-through */\n        case \"-1\":\n            // -1 is non-computed\n            return \"unknown\";\n        default:\n            return parseInt(value, 10);\n    }\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { parseXML } from 'webdav';\n// https://github.com/perry-mitchell/webdav-client/issues/339\nimport { processResponsePayload } from '../../../../node_modules/webdav/dist/node/response.js';\nimport { prepareFileFromProps } from '../../../../node_modules/webdav/dist/node/tools/dav.js';\nimport client from './DavClient.js';\nexport const DEFAULT_LIMIT = 20;\n/**\n * Retrieve the comments list\n *\n * @param {object} data destructuring object\n * @param {string} data.commentsType the ressource type\n * @param {number} data.ressourceId the ressource ID\n * @param {object} [options] optional options for axios\n * @param {number} [options.offset] the pagination offset\n * @return {object[]} the comments list\n */\nexport const getComments = async function ({ commentsType, ressourceId }, options) {\n    const ressourcePath = ['', commentsType, ressourceId].join('/');\n    const response = await client.customRequest(ressourcePath, Object.assign({\n        method: 'REPORT',\n        data: `\n\t\t\t\n\t\t\t\t${DEFAULT_LIMIT}\n\t\t\t\t${options.offset || 0}\n\t\t\t`,\n    }, options));\n    const responseData = await response.text();\n    const result = await parseXML(responseData);\n    const stat = getDirectoryFiles(result, true);\n    return processResponsePayload(response, stat, true);\n};\n// https://github.com/perry-mitchell/webdav-client/blob/8d9694613c978ce7404e26a401c39a41f125f87f/source/operations/directoryContents.ts\nconst getDirectoryFiles = function (result, isDetailed = false) {\n    // Extract the response items (directory contents)\n    const { multistatus: { response: responseItems }, } = result;\n    // Map all items to a consistent output structure (results)\n    return responseItems.map(item => {\n        // Each item should contain a stat object\n        const { propstat: { prop: props }, } = item;\n        return prepareFileFromProps(props, props.id.toString(), isDetailed);\n    });\n};\n","import base64 from \"base-64\";\nimport he from \"he\";\nimport { isWeb } from \"../compat/env.js\";\nexport function decodeHTMLEntities(text) {\n    if (!isWeb()) {\n        // Node\n        return he.decode(text);\n    }\n    else {\n        // Nasty browser way\n        const txt = document.createElement(\"textarea\");\n        txt.innerHTML = text;\n        return txt.value;\n    }\n}\nexport function fromBase64(text) {\n    return base64.decode(text);\n}\nexport function toBase64(text) {\n    return base64.encode(text);\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n/**\n * Creates a cancelable axios 'request object'.\n *\n * @param {Function} request the axios promise request\n * @return {object}\n */\nconst cancelableRequest = function(request) {\n\tconst controller = new AbortController()\n\tconst signal = controller.signal\n\n\t/**\n\t * Execute the request\n\t *\n\t * @param {string} url the url to send the request to\n\t * @param {object} [options] optional config for the request\n\t */\n\tconst fetch = async function(url, options) {\n\t\tconst response = await request(\n\t\t\turl,\n\t\t\tObject.assign({ signal }, options)\n\t\t)\n\t\treturn response\n\t}\n\n\treturn {\n\t\trequest: fetch,\n\t\tabort: () => controller.abort(),\n\t}\n}\n\nexport default cancelableRequest\n","\n\n\n\n\n\n\n","/**\n * @copyright 2023 Christopher Ng \n *\n * @author Christopher Ng \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport client from './DavClient.js';\n/**\n * Mark comments older than the date timestamp as read\n *\n * @param commentsType the ressource type\n * @param ressourceId the ressource ID\n * @param date the date object\n */\nexport const markCommentsAsRead = (commentsType, ressourceId, date) => {\n    const ressourcePath = ['', commentsType, ressourceId].join('/');\n    const readMarker = date.toUTCString();\n    return client.customRequest(ressourcePath, {\n        method: 'PROPPATCH',\n        data: `\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t${readMarker}\n\t\t\t\t\n\t\t\t\n\t\t\t`,\n    });\n};\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comments.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comments.vue?vue&type=script&lang=js&\"","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comments.vue?vue&type=style&index=0&id=5750efc5&prod&lang=scss&scoped=true&\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comments.vue?vue&type=style&index=0&id=5750efc5&prod&lang=scss&scoped=true&\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Comments.vue?vue&type=template&id=5750efc5&scoped=true&\"\nimport script from \"./Comments.vue?vue&type=script&lang=js&\"\nexport * from \"./Comments.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Comments.vue?vue&type=style&index=0&id=5750efc5&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"5750efc5\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{directives:[{name:\"observe-visibility\",rawName:\"v-observe-visibility\",value:(_vm.onVisibilityChange),expression:\"onVisibilityChange\"}],staticClass:\"comments\",class:{ 'icon-loading': _vm.isFirstLoading }},[_c('Comment',_vm._b({staticClass:\"comments__writer\",attrs:{\"auto-complete\":_vm.autoComplete,\"user-data\":_vm.userData,\"editor\":true,\"ressource-id\":_vm.ressourceId},on:{\"new\":_vm.onNewComment}},'Comment',_vm.editorData,false)),_vm._v(\" \"),(!_vm.isFirstLoading)?[(!_vm.hasComments && _vm.done)?_c('NcEmptyContent',{staticClass:\"comments__empty\",attrs:{\"name\":_vm.t('comments', 'No comments yet, start the conversation!')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('MessageReplyTextIcon')]},proxy:true}],null,false,1033639148)}):_c('ul',_vm._l((_vm.comments),function(comment){return _c('Comment',_vm._b({key:comment.props.id,staticClass:\"comments__list\",attrs:{\"tag\":\"li\",\"auto-complete\":_vm.autoComplete,\"message\":comment.props.message,\"ressource-id\":_vm.ressourceId,\"user-data\":_vm.genMentionsData(comment.props.mentions)},on:{\"update:message\":function($event){return _vm.$set(comment.props, \"message\", $event)},\"delete\":_vm.onDelete}},'Comment',comment.props,false))}),1),_vm._v(\" \"),(_vm.loading && !_vm.isFirstLoading)?_c('div',{staticClass:\"comments__info icon-loading\"}):(_vm.hasComments && _vm.done)?_c('div',{staticClass:\"comments__info\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('comments', 'No more messages'))+\"\\n\\t\\t\")]):(_vm.error)?[_c('NcEmptyContent',{staticClass:\"comments__error\",attrs:{\"name\":_vm.error},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('AlertCircleOutlineIcon')]},proxy:true}],null,false,66050004)}),_vm._v(\" \"),_c('NcButton',{staticClass:\"comments__retry\",on:{\"click\":_vm.getComments},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('RefreshIcon')]},proxy:true}],null,false,3924573781)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', 'Retry'))+\"\\n\\t\\t\\t\")])]:_vm._e()]:_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2023 Lucas Azevedo \n *\n * @author Lucas Azevedo \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('comments')\n\t.detectUser()\n\t.build()\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { translate as t, translatePlural as n } from '@nextcloud/l10n'\nimport { getRequestToken } from '@nextcloud/auth'\nimport Vue from 'vue'\nimport CommentsApp from '../views/Comments.vue'\nimport logger from '../logger.js'\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(getRequestToken())\n\n// Add translates functions\nVue.mixin({\n\tdata() {\n\t\treturn {\n\t\t\tlogger,\n\t\t}\n\t},\n\tmethods: {\n\t\tt,\n\t\tn,\n\t},\n})\n\nexport default class CommentInstance {\n\n\t/**\n\t * Initialize a new Comments instance for the desired type\n\t *\n\t * @param {string} commentsType the comments endpoint type\n\t * @param  {object} options the vue options (propsData, parent, el...)\n\t */\n\tconstructor(commentsType = 'files', options) {\n\t\t// Add comments type as a global mixin\n\t\tVue.mixin({\n\t\t\tdata() {\n\t\t\t\treturn {\n\t\t\t\t\tcommentsType,\n\t\t\t\t}\n\t\t\t},\n\t\t})\n\n\t\t// Init Comments component\n\t\tconst View = Vue.extend(CommentsApp)\n\t\treturn new View(options)\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport CommentsInstance from './services/CommentsInstance.js'\n\n// Init Comments\nif (window.OCA && !window.OCA.Comments) {\n\tObject.assign(window.OCA, { Comments: {} })\n}\n\n// Init Comments App view\nObject.assign(window.OCA.Comments, { View: CommentsInstance })\nconsole.debug('OCA.Comments.View initialized')\n","'use strict';\nmodule.exports = balanced;\nfunction balanced(a, b, str) {\n  if (a instanceof RegExp) a = maybeMatch(a, str);\n  if (b instanceof RegExp) b = maybeMatch(b, str);\n\n  var r = range(a, b, str);\n\n  return r && {\n    start: r[0],\n    end: r[1],\n    pre: str.slice(0, r[0]),\n    body: str.slice(r[0] + a.length, r[1]),\n    post: str.slice(r[1] + b.length)\n  };\n}\n\nfunction maybeMatch(reg, str) {\n  var m = str.match(reg);\n  return m ? m[0] : null;\n}\n\nbalanced.range = range;\nfunction range(a, b, str) {\n  var begs, beg, left, right, result;\n  var ai = str.indexOf(a);\n  var bi = str.indexOf(b, ai + 1);\n  var i = ai;\n\n  if (ai >= 0 && bi > 0) {\n    if(a===b) {\n      return [ai, bi];\n    }\n    begs = [];\n    left = str.length;\n\n    while (i >= 0 && !result) {\n      if (i == ai) {\n        begs.push(i);\n        ai = str.indexOf(a, i + 1);\n      } else if (begs.length == 1) {\n        result = [ begs.pop(), bi ];\n      } else {\n        beg = begs.pop();\n        if (beg < left) {\n          left = beg;\n          right = bi;\n        }\n\n        bi = str.indexOf(b, i + 1);\n      }\n\n      i = ai < bi && ai >= 0 ? ai : bi;\n    }\n\n    if (begs.length) {\n      result = [ left, right ];\n    }\n  }\n\n  return result;\n}\n","/*! https://mths.be/base64 v1.0.0 by @mathias | MIT license */\n;(function(root) {\n\n\t// Detect free variables `exports`.\n\tvar freeExports = typeof exports == 'object' && exports;\n\n\t// Detect free variable `module`.\n\tvar freeModule = typeof module == 'object' && module &&\n\t\tmodule.exports == freeExports && module;\n\n\t// Detect free variable `global`, from Node.js or Browserified code, and use\n\t// it as `root`.\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) {\n\t\troot = freeGlobal;\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar InvalidCharacterError = function(message) {\n\t\tthis.message = message;\n\t};\n\tInvalidCharacterError.prototype = new Error;\n\tInvalidCharacterError.prototype.name = 'InvalidCharacterError';\n\n\tvar error = function(message) {\n\t\t// Note: the error messages used throughout this file match those used by\n\t\t// the native `atob`/`btoa` implementation in Chromium.\n\t\tthrow new InvalidCharacterError(message);\n\t};\n\n\tvar TABLE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\t// http://whatwg.org/html/common-microsyntaxes.html#space-character\n\tvar REGEX_SPACE_CHARACTERS = /[\\t\\n\\f\\r ]/g;\n\n\t// `decode` is designed to be fully compatible with `atob` as described in the\n\t// HTML Standard. http://whatwg.org/html/webappapis.html#dom-windowbase64-atob\n\t// The optimized base64-decoding algorithm used is based on @atk’s excellent\n\t// implementation. https://gist.github.com/atk/1020396\n\tvar decode = function(input) {\n\t\tinput = String(input)\n\t\t\t.replace(REGEX_SPACE_CHARACTERS, '');\n\t\tvar length = input.length;\n\t\tif (length % 4 == 0) {\n\t\t\tinput = input.replace(/==?$/, '');\n\t\t\tlength = input.length;\n\t\t}\n\t\tif (\n\t\t\tlength % 4 == 1 ||\n\t\t\t// http://whatwg.org/C#alphanumeric-ascii-characters\n\t\t\t/[^+a-zA-Z0-9/]/.test(input)\n\t\t) {\n\t\t\terror(\n\t\t\t\t'Invalid character: the string to be decoded is not correctly encoded.'\n\t\t\t);\n\t\t}\n\t\tvar bitCounter = 0;\n\t\tvar bitStorage;\n\t\tvar buffer;\n\t\tvar output = '';\n\t\tvar position = -1;\n\t\twhile (++position < length) {\n\t\t\tbuffer = TABLE.indexOf(input.charAt(position));\n\t\t\tbitStorage = bitCounter % 4 ? bitStorage * 64 + buffer : buffer;\n\t\t\t// Unless this is the first of a group of 4 characters…\n\t\t\tif (bitCounter++ % 4) {\n\t\t\t\t// …convert the first 8 bits to a single ASCII character.\n\t\t\t\toutput += String.fromCharCode(\n\t\t\t\t\t0xFF & bitStorage >> (-2 * bitCounter & 6)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t};\n\n\t// `encode` is designed to be fully compatible with `btoa` as described in the\n\t// HTML Standard: http://whatwg.org/html/webappapis.html#dom-windowbase64-btoa\n\tvar encode = function(input) {\n\t\tinput = String(input);\n\t\tif (/[^\\0-\\xFF]/.test(input)) {\n\t\t\t// Note: no need to special-case astral symbols here, as surrogates are\n\t\t\t// matched, and the input is supposed to only contain ASCII anyway.\n\t\t\terror(\n\t\t\t\t'The string to be encoded contains characters outside of the ' +\n\t\t\t\t'Latin1 range.'\n\t\t\t);\n\t\t}\n\t\tvar padding = input.length % 3;\n\t\tvar output = '';\n\t\tvar position = -1;\n\t\tvar a;\n\t\tvar b;\n\t\tvar c;\n\t\tvar buffer;\n\t\t// Make sure any padding is handled outside of the loop.\n\t\tvar length = input.length - padding;\n\n\t\twhile (++position < length) {\n\t\t\t// Read three bytes, i.e. 24 bits.\n\t\t\ta = input.charCodeAt(position) << 16;\n\t\t\tb = input.charCodeAt(++position) << 8;\n\t\t\tc = input.charCodeAt(++position);\n\t\t\tbuffer = a + b + c;\n\t\t\t// Turn the 24 bits into four chunks of 6 bits each, and append the\n\t\t\t// matching character for each of them to the output.\n\t\t\toutput += (\n\t\t\t\tTABLE.charAt(buffer >> 18 & 0x3F) +\n\t\t\t\tTABLE.charAt(buffer >> 12 & 0x3F) +\n\t\t\t\tTABLE.charAt(buffer >> 6 & 0x3F) +\n\t\t\t\tTABLE.charAt(buffer & 0x3F)\n\t\t\t);\n\t\t}\n\n\t\tif (padding == 2) {\n\t\t\ta = input.charCodeAt(position) << 8;\n\t\t\tb = input.charCodeAt(++position);\n\t\t\tbuffer = a + b;\n\t\t\toutput += (\n\t\t\t\tTABLE.charAt(buffer >> 10) +\n\t\t\t\tTABLE.charAt((buffer >> 4) & 0x3F) +\n\t\t\t\tTABLE.charAt((buffer << 2) & 0x3F) +\n\t\t\t\t'='\n\t\t\t);\n\t\t} else if (padding == 1) {\n\t\t\tbuffer = input.charCodeAt(position);\n\t\t\toutput += (\n\t\t\t\tTABLE.charAt(buffer >> 2) +\n\t\t\t\tTABLE.charAt((buffer << 4) & 0x3F) +\n\t\t\t\t'=='\n\t\t\t);\n\t\t}\n\n\t\treturn output;\n\t};\n\n\tvar base64 = {\n\t\t'encode': encode,\n\t\t'decode': decode,\n\t\t'version': '1.0.0'\n\t};\n\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine(function() {\n\t\t\treturn base64;\n\t\t});\n\t}\telse if (freeExports && !freeExports.nodeType) {\n\t\tif (freeModule) { // in Node.js or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = base64;\n\t\t} else { // in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (var key in base64) {\n\t\t\t\tbase64.hasOwnProperty(key) && (freeExports[key] = base64[key]);\n\t\t\t}\n\t\t}\n\t} else { // in Rhino or a web browser\n\t\troot.base64 = base64;\n\t}\n\n}(this));\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".comment[data-v-6d874704]{display:flex;gap:16px;padding:5px 10px}.comment__side[data-v-6d874704]{display:flex;align-items:flex-start;padding-top:16px}.comment__body[data-v-6d874704]{display:flex;flex-grow:1;flex-direction:column}.comment__header[data-v-6d874704]{display:flex;align-items:center;min-height:44px}.comment__actions[data-v-6d874704]{margin-left:10px !important}.comment__author[data-v-6d874704]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--color-text-maxcontrast)}.comment_loading[data-v-6d874704],.comment__timestamp[data-v-6d874704]{margin-left:auto;text-align:right;white-space:nowrap;color:var(--color-text-maxcontrast)}.comment__editor-group[data-v-6d874704]{position:relative}.comment__editor-description[data-v-6d874704]{color:var(--color-text-maxcontrast);padding-block:var(--default-grid-baseline)}.comment__submit[data-v-6d874704]{position:absolute !important;bottom:0;right:0}.comment__message[data-v-6d874704]{white-space:pre-wrap;word-break:break-word;max-height:70px;overflow:hidden;margin-top:-6px}.comment__message--expanded[data-v-6d874704]{max-height:none;overflow:visible}.rich-contenteditable__input[data-v-6d874704]{min-height:44px;margin:0;padding:10px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/comments/src/components/Comment.vue\"],\"names\":[],\"mappings\":\"AAKA,0BACC,YAAA,CACA,QAAA,CACA,gBAAA,CAEA,gCACC,YAAA,CACA,sBAAA,CACA,gBAAA,CAGD,gCACC,YAAA,CACA,WAAA,CACA,qBAAA,CAGD,kCACC,YAAA,CACA,kBAAA,CACA,eAAA,CAGD,mCACC,2BAAA,CAGD,kCACC,eAAA,CACA,kBAAA,CACA,sBAAA,CACA,mCAAA,CAGD,uEAEC,gBAAA,CACA,gBAAA,CACA,kBAAA,CACA,mCAAA,CAGD,wCACC,iBAAA,CAGD,8CACC,mCAAA,CACA,0CAAA,CAGD,kCACC,4BAAA,CACA,QAAA,CACA,OAAA,CAGD,mCACC,oBAAA,CACA,qBAAA,CACA,eAAA,CACA,eAAA,CACA,eAAA,CACA,6CACC,eAAA,CACA,gBAAA,CAKH,8CACC,eAAA,CACA,QAAA,CACA,YA3EiB\",\"sourcesContent\":[\"\\n@use \\\"sass:math\\\";\\n\\n$comment-padding: 10px;\\n\\n.comment {\\n\\tdisplay: flex;\\n\\tgap: 16px;\\n\\tpadding: 5px $comment-padding;\\n\\n\\t&__side {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\tpadding-top: 16px;\\n\\t}\\n\\n\\t&__body {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-grow: 1;\\n\\t\\tflex-direction: column;\\n\\t}\\n\\n\\t&__header {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tmin-height: 44px;\\n\\t}\\n\\n\\t&__actions {\\n\\t\\tmargin-left: $comment-padding !important;\\n\\t}\\n\\n\\t&__author {\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&_loading,\\n\\t&__timestamp {\\n\\t\\tmargin-left: auto;\\n\\t\\ttext-align: right;\\n\\t\\twhite-space: nowrap;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&__editor-group {\\n\\t\\tposition: relative;\\n\\t}\\n\\n\\t&__editor-description {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tpadding-block: var(--default-grid-baseline);\\n\\t}\\n\\n\\t&__submit {\\n\\t\\tposition: absolute !important;\\n\\t\\tbottom: 0;\\n\\t\\tright: 0;\\n\\t}\\n\\n\\t&__message {\\n\\t\\twhite-space: pre-wrap;\\n\\t\\tword-break: break-word;\\n\\t\\tmax-height: 70px;\\n\\t\\toverflow: hidden;\\n\\t\\tmargin-top: -6px;\\n\\t\\t&--expanded {\\n\\t\\t\\tmax-height: none;\\n\\t\\t\\toverflow: visible;\\n\\t\\t}\\n\\t}\\n}\\n\\n.rich-contenteditable__input {\\n\\tmin-height: 44px;\\n\\tmargin: 0;\\n\\tpadding: $comment-padding;\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".comments[data-v-5750efc5]{min-height:100%;display:flex;flex-direction:column}.comments__empty[data-v-5750efc5],.comments__error[data-v-5750efc5]{flex:1 0}.comments__retry[data-v-5750efc5]{margin:0 auto}.comments__info[data-v-5750efc5]{height:60px;color:var(--color-text-maxcontrast);text-align:center;line-height:60px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/comments/src/views/Comments.vue\"],\"names\":[],\"mappings\":\"AACA,2BACC,eAAA,CACA,YAAA,CACA,qBAAA,CAEA,oEAEC,QAAA,CAGD,kCACC,aAAA,CAGD,iCACC,WAAA,CACA,mCAAA,CACA,iBAAA,CACA,gBAAA\",\"sourcesContent\":[\"\\n.comments {\\n\\tmin-height: 100%;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\n\\t&__empty,\\n\\t&__error {\\n\\t\\tflex: 1 0;\\n\\t}\\n\\n\\t&__retry {\\n\\t\\tmargin: 0 auto;\\n\\t}\\n\\n\\t&__info {\\n\\t\\theight: 60px;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\ttext-align: center;\\n\\t\\tline-height: 60px;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","/*! https://mths.be/he v1.2.0 by @mathias | MIT license */\n;(function(root) {\n\n\t// Detect free variables `exports`.\n\tvar freeExports = typeof exports == 'object' && exports;\n\n\t// Detect free variable `module`.\n\tvar freeModule = typeof module == 'object' && module &&\n\t\tmodule.exports == freeExports && module;\n\n\t// Detect free variable `global`, from Node.js or Browserified code,\n\t// and use it as `root`.\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) {\n\t\troot = freeGlobal;\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t// All astral symbols.\n\tvar regexAstralSymbols = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n\t// All ASCII symbols (not just printable ASCII) except those listed in the\n\t// first column of the overrides table.\n\t// https://html.spec.whatwg.org/multipage/syntax.html#table-charref-overrides\n\tvar regexAsciiWhitelist = /[\\x01-\\x7F]/g;\n\t// All BMP symbols that are not ASCII newlines, printable ASCII symbols, or\n\t// code points listed in the first column of the overrides table on\n\t// https://html.spec.whatwg.org/multipage/syntax.html#table-charref-overrides.\n\tvar regexBmpWhitelist = /[\\x01-\\t\\x0B\\f\\x0E-\\x1F\\x7F\\x81\\x8D\\x8F\\x90\\x9D\\xA0-\\uFFFF]/g;\n\n\tvar regexEncodeNonAscii = /<\\u20D2|=\\u20E5|>\\u20D2|\\u205F\\u200A|\\u219D\\u0338|\\u2202\\u0338|\\u2220\\u20D2|\\u2229\\uFE00|\\u222A\\uFE00|\\u223C\\u20D2|\\u223D\\u0331|\\u223E\\u0333|\\u2242\\u0338|\\u224B\\u0338|\\u224D\\u20D2|\\u224E\\u0338|\\u224F\\u0338|\\u2250\\u0338|\\u2261\\u20E5|\\u2264\\u20D2|\\u2265\\u20D2|\\u2266\\u0338|\\u2267\\u0338|\\u2268\\uFE00|\\u2269\\uFE00|\\u226A\\u0338|\\u226A\\u20D2|\\u226B\\u0338|\\u226B\\u20D2|\\u227F\\u0338|\\u2282\\u20D2|\\u2283\\u20D2|\\u228A\\uFE00|\\u228B\\uFE00|\\u228F\\u0338|\\u2290\\u0338|\\u2293\\uFE00|\\u2294\\uFE00|\\u22B4\\u20D2|\\u22B5\\u20D2|\\u22D8\\u0338|\\u22D9\\u0338|\\u22DA\\uFE00|\\u22DB\\uFE00|\\u22F5\\u0338|\\u22F9\\u0338|\\u2933\\u0338|\\u29CF\\u0338|\\u29D0\\u0338|\\u2A6D\\u0338|\\u2A70\\u0338|\\u2A7D\\u0338|\\u2A7E\\u0338|\\u2AA1\\u0338|\\u2AA2\\u0338|\\u2AAC\\uFE00|\\u2AAD\\uFE00|\\u2AAF\\u0338|\\u2AB0\\u0338|\\u2AC5\\u0338|\\u2AC6\\u0338|\\u2ACB\\uFE00|\\u2ACC\\uFE00|\\u2AFD\\u20E5|[\\xA0-\\u0113\\u0116-\\u0122\\u0124-\\u012B\\u012E-\\u014D\\u0150-\\u017E\\u0192\\u01B5\\u01F5\\u0237\\u02C6\\u02C7\\u02D8-\\u02DD\\u0311\\u0391-\\u03A1\\u03A3-\\u03A9\\u03B1-\\u03C9\\u03D1\\u03D2\\u03D5\\u03D6\\u03DC\\u03DD\\u03F0\\u03F1\\u03F5\\u03F6\\u0401-\\u040C\\u040E-\\u044F\\u0451-\\u045C\\u045E\\u045F\\u2002-\\u2005\\u2007-\\u2010\\u2013-\\u2016\\u2018-\\u201A\\u201C-\\u201E\\u2020-\\u2022\\u2025\\u2026\\u2030-\\u2035\\u2039\\u203A\\u203E\\u2041\\u2043\\u2044\\u204F\\u2057\\u205F-\\u2063\\u20AC\\u20DB\\u20DC\\u2102\\u2105\\u210A-\\u2113\\u2115-\\u211E\\u2122\\u2124\\u2127-\\u2129\\u212C\\u212D\\u212F-\\u2131\\u2133-\\u2138\\u2145-\\u2148\\u2153-\\u215E\\u2190-\\u219B\\u219D-\\u21A7\\u21A9-\\u21AE\\u21B0-\\u21B3\\u21B5-\\u21B7\\u21BA-\\u21DB\\u21DD\\u21E4\\u21E5\\u21F5\\u21FD-\\u2205\\u2207-\\u2209\\u220B\\u220C\\u220F-\\u2214\\u2216-\\u2218\\u221A\\u221D-\\u2238\\u223A-\\u2257\\u2259\\u225A\\u225C\\u225F-\\u2262\\u2264-\\u228B\\u228D-\\u229B\\u229D-\\u22A5\\u22A7-\\u22B0\\u22B2-\\u22BB\\u22BD-\\u22DB\\u22DE-\\u22E3\\u22E6-\\u22F7\\u22F9-\\u22FE\\u2305\\u2306\\u2308-\\u2310\\u2312\\u2313\\u2315\\u2316\\u231C-\\u231F\\u2322\\u2323\\u232D\\u232E\\u2336\\u233D\\u233F\\u237C\\u23B0\\u23B1\\u23B4-\\u23B6\\u23DC-\\u23DF\\u23E2\\u23E7\\u2423\\u24C8\\u2500\\u2502\\u250C\\u2510\\u2514\\u2518\\u251C\\u2524\\u252C\\u2534\\u253C\\u2550-\\u256C\\u2580\\u2584\\u2588\\u2591-\\u2593\\u25A1\\u25AA\\u25AB\\u25AD\\u25AE\\u25B1\\u25B3-\\u25B5\\u25B8\\u25B9\\u25BD-\\u25BF\\u25C2\\u25C3\\u25CA\\u25CB\\u25EC\\u25EF\\u25F8-\\u25FC\\u2605\\u2606\\u260E\\u2640\\u2642\\u2660\\u2663\\u2665\\u2666\\u266A\\u266D-\\u266F\\u2713\\u2717\\u2720\\u2736\\u2758\\u2772\\u2773\\u27C8\\u27C9\\u27E6-\\u27ED\\u27F5-\\u27FA\\u27FC\\u27FF\\u2902-\\u2905\\u290C-\\u2913\\u2916\\u2919-\\u2920\\u2923-\\u292A\\u2933\\u2935-\\u2939\\u293C\\u293D\\u2945\\u2948-\\u294B\\u294E-\\u2976\\u2978\\u2979\\u297B-\\u297F\\u2985\\u2986\\u298B-\\u2996\\u299A\\u299C\\u299D\\u29A4-\\u29B7\\u29B9\\u29BB\\u29BC\\u29BE-\\u29C5\\u29C9\\u29CD-\\u29D0\\u29DC-\\u29DE\\u29E3-\\u29E5\\u29EB\\u29F4\\u29F6\\u2A00-\\u2A02\\u2A04\\u2A06\\u2A0C\\u2A0D\\u2A10-\\u2A17\\u2A22-\\u2A27\\u2A29\\u2A2A\\u2A2D-\\u2A31\\u2A33-\\u2A3C\\u2A3F\\u2A40\\u2A42-\\u2A4D\\u2A50\\u2A53-\\u2A58\\u2A5A-\\u2A5D\\u2A5F\\u2A66\\u2A6A\\u2A6D-\\u2A75\\u2A77-\\u2A9A\\u2A9D-\\u2AA2\\u2AA4-\\u2AB0\\u2AB3-\\u2AC8\\u2ACB\\u2ACC\\u2ACF-\\u2ADB\\u2AE4\\u2AE6-\\u2AE9\\u2AEB-\\u2AF3\\u2AFD\\uFB00-\\uFB04]|\\uD835[\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDCCF\\uDD04\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDD6B]/g;\n\tvar encodeMap = {'\\xAD':'shy','\\u200C':'zwnj','\\u200D':'zwj','\\u200E':'lrm','\\u2063':'ic','\\u2062':'it','\\u2061':'af','\\u200F':'rlm','\\u200B':'ZeroWidthSpace','\\u2060':'NoBreak','\\u0311':'DownBreve','\\u20DB':'tdot','\\u20DC':'DotDot','\\t':'Tab','\\n':'NewLine','\\u2008':'puncsp','\\u205F':'MediumSpace','\\u2009':'thinsp','\\u200A':'hairsp','\\u2004':'emsp13','\\u2002':'ensp','\\u2005':'emsp14','\\u2003':'emsp','\\u2007':'numsp','\\xA0':'nbsp','\\u205F\\u200A':'ThickSpace','\\u203E':'oline','_':'lowbar','\\u2010':'dash','\\u2013':'ndash','\\u2014':'mdash','\\u2015':'horbar',',':'comma',';':'semi','\\u204F':'bsemi',':':'colon','\\u2A74':'Colone','!':'excl','\\xA1':'iexcl','?':'quest','\\xBF':'iquest','.':'period','\\u2025':'nldr','\\u2026':'mldr','\\xB7':'middot','\\'':'apos','\\u2018':'lsquo','\\u2019':'rsquo','\\u201A':'sbquo','\\u2039':'lsaquo','\\u203A':'rsaquo','\"':'quot','\\u201C':'ldquo','\\u201D':'rdquo','\\u201E':'bdquo','\\xAB':'laquo','\\xBB':'raquo','(':'lpar',')':'rpar','[':'lsqb',']':'rsqb','{':'lcub','}':'rcub','\\u2308':'lceil','\\u2309':'rceil','\\u230A':'lfloor','\\u230B':'rfloor','\\u2985':'lopar','\\u2986':'ropar','\\u298B':'lbrke','\\u298C':'rbrke','\\u298D':'lbrkslu','\\u298E':'rbrksld','\\u298F':'lbrksld','\\u2990':'rbrkslu','\\u2991':'langd','\\u2992':'rangd','\\u2993':'lparlt','\\u2994':'rpargt','\\u2995':'gtlPar','\\u2996':'ltrPar','\\u27E6':'lobrk','\\u27E7':'robrk','\\u27E8':'lang','\\u27E9':'rang','\\u27EA':'Lang','\\u27EB':'Rang','\\u27EC':'loang','\\u27ED':'roang','\\u2772':'lbbrk','\\u2773':'rbbrk','\\u2016':'Vert','\\xA7':'sect','\\xB6':'para','@':'commat','*':'ast','/':'sol','undefined':null,'&':'amp','#':'num','%':'percnt','\\u2030':'permil','\\u2031':'pertenk','\\u2020':'dagger','\\u2021':'Dagger','\\u2022':'bull','\\u2043':'hybull','\\u2032':'prime','\\u2033':'Prime','\\u2034':'tprime','\\u2057':'qprime','\\u2035':'bprime','\\u2041':'caret','`':'grave','\\xB4':'acute','\\u02DC':'tilde','^':'Hat','\\xAF':'macr','\\u02D8':'breve','\\u02D9':'dot','\\xA8':'die','\\u02DA':'ring','\\u02DD':'dblac','\\xB8':'cedil','\\u02DB':'ogon','\\u02C6':'circ','\\u02C7':'caron','\\xB0':'deg','\\xA9':'copy','\\xAE':'reg','\\u2117':'copysr','\\u2118':'wp','\\u211E':'rx','\\u2127':'mho','\\u2129':'iiota','\\u2190':'larr','\\u219A':'nlarr','\\u2192':'rarr','\\u219B':'nrarr','\\u2191':'uarr','\\u2193':'darr','\\u2194':'harr','\\u21AE':'nharr','\\u2195':'varr','\\u2196':'nwarr','\\u2197':'nearr','\\u2198':'searr','\\u2199':'swarr','\\u219D':'rarrw','\\u219D\\u0338':'nrarrw','\\u219E':'Larr','\\u219F':'Uarr','\\u21A0':'Rarr','\\u21A1':'Darr','\\u21A2':'larrtl','\\u21A3':'rarrtl','\\u21A4':'mapstoleft','\\u21A5':'mapstoup','\\u21A6':'map','\\u21A7':'mapstodown','\\u21A9':'larrhk','\\u21AA':'rarrhk','\\u21AB':'larrlp','\\u21AC':'rarrlp','\\u21AD':'harrw','\\u21B0':'lsh','\\u21B1':'rsh','\\u21B2':'ldsh','\\u21B3':'rdsh','\\u21B5':'crarr','\\u21B6':'cularr','\\u21B7':'curarr','\\u21BA':'olarr','\\u21BB':'orarr','\\u21BC':'lharu','\\u21BD':'lhard','\\u21BE':'uharr','\\u21BF':'uharl','\\u21C0':'rharu','\\u21C1':'rhard','\\u21C2':'dharr','\\u21C3':'dharl','\\u21C4':'rlarr','\\u21C5':'udarr','\\u21C6':'lrarr','\\u21C7':'llarr','\\u21C8':'uuarr','\\u21C9':'rrarr','\\u21CA':'ddarr','\\u21CB':'lrhar','\\u21CC':'rlhar','\\u21D0':'lArr','\\u21CD':'nlArr','\\u21D1':'uArr','\\u21D2':'rArr','\\u21CF':'nrArr','\\u21D3':'dArr','\\u21D4':'iff','\\u21CE':'nhArr','\\u21D5':'vArr','\\u21D6':'nwArr','\\u21D7':'neArr','\\u21D8':'seArr','\\u21D9':'swArr','\\u21DA':'lAarr','\\u21DB':'rAarr','\\u21DD':'zigrarr','\\u21E4':'larrb','\\u21E5':'rarrb','\\u21F5':'duarr','\\u21FD':'loarr','\\u21FE':'roarr','\\u21FF':'hoarr','\\u2200':'forall','\\u2201':'comp','\\u2202':'part','\\u2202\\u0338':'npart','\\u2203':'exist','\\u2204':'nexist','\\u2205':'empty','\\u2207':'Del','\\u2208':'in','\\u2209':'notin','\\u220B':'ni','\\u220C':'notni','\\u03F6':'bepsi','\\u220F':'prod','\\u2210':'coprod','\\u2211':'sum','+':'plus','\\xB1':'pm','\\xF7':'div','\\xD7':'times','<':'lt','\\u226E':'nlt','<\\u20D2':'nvlt','=':'equals','\\u2260':'ne','=\\u20E5':'bne','\\u2A75':'Equal','>':'gt','\\u226F':'ngt','>\\u20D2':'nvgt','\\xAC':'not','|':'vert','\\xA6':'brvbar','\\u2212':'minus','\\u2213':'mp','\\u2214':'plusdo','\\u2044':'frasl','\\u2216':'setmn','\\u2217':'lowast','\\u2218':'compfn','\\u221A':'Sqrt','\\u221D':'prop','\\u221E':'infin','\\u221F':'angrt','\\u2220':'ang','\\u2220\\u20D2':'nang','\\u2221':'angmsd','\\u2222':'angsph','\\u2223':'mid','\\u2224':'nmid','\\u2225':'par','\\u2226':'npar','\\u2227':'and','\\u2228':'or','\\u2229':'cap','\\u2229\\uFE00':'caps','\\u222A':'cup','\\u222A\\uFE00':'cups','\\u222B':'int','\\u222C':'Int','\\u222D':'tint','\\u2A0C':'qint','\\u222E':'oint','\\u222F':'Conint','\\u2230':'Cconint','\\u2231':'cwint','\\u2232':'cwconint','\\u2233':'awconint','\\u2234':'there4','\\u2235':'becaus','\\u2236':'ratio','\\u2237':'Colon','\\u2238':'minusd','\\u223A':'mDDot','\\u223B':'homtht','\\u223C':'sim','\\u2241':'nsim','\\u223C\\u20D2':'nvsim','\\u223D':'bsim','\\u223D\\u0331':'race','\\u223E':'ac','\\u223E\\u0333':'acE','\\u223F':'acd','\\u2240':'wr','\\u2242':'esim','\\u2242\\u0338':'nesim','\\u2243':'sime','\\u2244':'nsime','\\u2245':'cong','\\u2247':'ncong','\\u2246':'simne','\\u2248':'ap','\\u2249':'nap','\\u224A':'ape','\\u224B':'apid','\\u224B\\u0338':'napid','\\u224C':'bcong','\\u224D':'CupCap','\\u226D':'NotCupCap','\\u224D\\u20D2':'nvap','\\u224E':'bump','\\u224E\\u0338':'nbump','\\u224F':'bumpe','\\u224F\\u0338':'nbumpe','\\u2250':'doteq','\\u2250\\u0338':'nedot','\\u2251':'eDot','\\u2252':'efDot','\\u2253':'erDot','\\u2254':'colone','\\u2255':'ecolon','\\u2256':'ecir','\\u2257':'cire','\\u2259':'wedgeq','\\u225A':'veeeq','\\u225C':'trie','\\u225F':'equest','\\u2261':'equiv','\\u2262':'nequiv','\\u2261\\u20E5':'bnequiv','\\u2264':'le','\\u2270':'nle','\\u2264\\u20D2':'nvle','\\u2265':'ge','\\u2271':'nge','\\u2265\\u20D2':'nvge','\\u2266':'lE','\\u2266\\u0338':'nlE','\\u2267':'gE','\\u2267\\u0338':'ngE','\\u2268\\uFE00':'lvnE','\\u2268':'lnE','\\u2269':'gnE','\\u2269\\uFE00':'gvnE','\\u226A':'ll','\\u226A\\u0338':'nLtv','\\u226A\\u20D2':'nLt','\\u226B':'gg','\\u226B\\u0338':'nGtv','\\u226B\\u20D2':'nGt','\\u226C':'twixt','\\u2272':'lsim','\\u2274':'nlsim','\\u2273':'gsim','\\u2275':'ngsim','\\u2276':'lg','\\u2278':'ntlg','\\u2277':'gl','\\u2279':'ntgl','\\u227A':'pr','\\u2280':'npr','\\u227B':'sc','\\u2281':'nsc','\\u227C':'prcue','\\u22E0':'nprcue','\\u227D':'sccue','\\u22E1':'nsccue','\\u227E':'prsim','\\u227F':'scsim','\\u227F\\u0338':'NotSucceedsTilde','\\u2282':'sub','\\u2284':'nsub','\\u2282\\u20D2':'vnsub','\\u2283':'sup','\\u2285':'nsup','\\u2283\\u20D2':'vnsup','\\u2286':'sube','\\u2288':'nsube','\\u2287':'supe','\\u2289':'nsupe','\\u228A\\uFE00':'vsubne','\\u228A':'subne','\\u228B\\uFE00':'vsupne','\\u228B':'supne','\\u228D':'cupdot','\\u228E':'uplus','\\u228F':'sqsub','\\u228F\\u0338':'NotSquareSubset','\\u2290':'sqsup','\\u2290\\u0338':'NotSquareSuperset','\\u2291':'sqsube','\\u22E2':'nsqsube','\\u2292':'sqsupe','\\u22E3':'nsqsupe','\\u2293':'sqcap','\\u2293\\uFE00':'sqcaps','\\u2294':'sqcup','\\u2294\\uFE00':'sqcups','\\u2295':'oplus','\\u2296':'ominus','\\u2297':'otimes','\\u2298':'osol','\\u2299':'odot','\\u229A':'ocir','\\u229B':'oast','\\u229D':'odash','\\u229E':'plusb','\\u229F':'minusb','\\u22A0':'timesb','\\u22A1':'sdotb','\\u22A2':'vdash','\\u22AC':'nvdash','\\u22A3':'dashv','\\u22A4':'top','\\u22A5':'bot','\\u22A7':'models','\\u22A8':'vDash','\\u22AD':'nvDash','\\u22A9':'Vdash','\\u22AE':'nVdash','\\u22AA':'Vvdash','\\u22AB':'VDash','\\u22AF':'nVDash','\\u22B0':'prurel','\\u22B2':'vltri','\\u22EA':'nltri','\\u22B3':'vrtri','\\u22EB':'nrtri','\\u22B4':'ltrie','\\u22EC':'nltrie','\\u22B4\\u20D2':'nvltrie','\\u22B5':'rtrie','\\u22ED':'nrtrie','\\u22B5\\u20D2':'nvrtrie','\\u22B6':'origof','\\u22B7':'imof','\\u22B8':'mumap','\\u22B9':'hercon','\\u22BA':'intcal','\\u22BB':'veebar','\\u22BD':'barvee','\\u22BE':'angrtvb','\\u22BF':'lrtri','\\u22C0':'Wedge','\\u22C1':'Vee','\\u22C2':'xcap','\\u22C3':'xcup','\\u22C4':'diam','\\u22C5':'sdot','\\u22C6':'Star','\\u22C7':'divonx','\\u22C8':'bowtie','\\u22C9':'ltimes','\\u22CA':'rtimes','\\u22CB':'lthree','\\u22CC':'rthree','\\u22CD':'bsime','\\u22CE':'cuvee','\\u22CF':'cuwed','\\u22D0':'Sub','\\u22D1':'Sup','\\u22D2':'Cap','\\u22D3':'Cup','\\u22D4':'fork','\\u22D5':'epar','\\u22D6':'ltdot','\\u22D7':'gtdot','\\u22D8':'Ll','\\u22D8\\u0338':'nLl','\\u22D9':'Gg','\\u22D9\\u0338':'nGg','\\u22DA\\uFE00':'lesg','\\u22DA':'leg','\\u22DB':'gel','\\u22DB\\uFE00':'gesl','\\u22DE':'cuepr','\\u22DF':'cuesc','\\u22E6':'lnsim','\\u22E7':'gnsim','\\u22E8':'prnsim','\\u22E9':'scnsim','\\u22EE':'vellip','\\u22EF':'ctdot','\\u22F0':'utdot','\\u22F1':'dtdot','\\u22F2':'disin','\\u22F3':'isinsv','\\u22F4':'isins','\\u22F5':'isindot','\\u22F5\\u0338':'notindot','\\u22F6':'notinvc','\\u22F7':'notinvb','\\u22F9':'isinE','\\u22F9\\u0338':'notinE','\\u22FA':'nisd','\\u22FB':'xnis','\\u22FC':'nis','\\u22FD':'notnivc','\\u22FE':'notnivb','\\u2305':'barwed','\\u2306':'Barwed','\\u230C':'drcrop','\\u230D':'dlcrop','\\u230E':'urcrop','\\u230F':'ulcrop','\\u2310':'bnot','\\u2312':'profline','\\u2313':'profsurf','\\u2315':'telrec','\\u2316':'target','\\u231C':'ulcorn','\\u231D':'urcorn','\\u231E':'dlcorn','\\u231F':'drcorn','\\u2322':'frown','\\u2323':'smile','\\u232D':'cylcty','\\u232E':'profalar','\\u2336':'topbot','\\u233D':'ovbar','\\u233F':'solbar','\\u237C':'angzarr','\\u23B0':'lmoust','\\u23B1':'rmoust','\\u23B4':'tbrk','\\u23B5':'bbrk','\\u23B6':'bbrktbrk','\\u23DC':'OverParenthesis','\\u23DD':'UnderParenthesis','\\u23DE':'OverBrace','\\u23DF':'UnderBrace','\\u23E2':'trpezium','\\u23E7':'elinters','\\u2423':'blank','\\u2500':'boxh','\\u2502':'boxv','\\u250C':'boxdr','\\u2510':'boxdl','\\u2514':'boxur','\\u2518':'boxul','\\u251C':'boxvr','\\u2524':'boxvl','\\u252C':'boxhd','\\u2534':'boxhu','\\u253C':'boxvh','\\u2550':'boxH','\\u2551':'boxV','\\u2552':'boxdR','\\u2553':'boxDr','\\u2554':'boxDR','\\u2555':'boxdL','\\u2556':'boxDl','\\u2557':'boxDL','\\u2558':'boxuR','\\u2559':'boxUr','\\u255A':'boxUR','\\u255B':'boxuL','\\u255C':'boxUl','\\u255D':'boxUL','\\u255E':'boxvR','\\u255F':'boxVr','\\u2560':'boxVR','\\u2561':'boxvL','\\u2562':'boxVl','\\u2563':'boxVL','\\u2564':'boxHd','\\u2565':'boxhD','\\u2566':'boxHD','\\u2567':'boxHu','\\u2568':'boxhU','\\u2569':'boxHU','\\u256A':'boxvH','\\u256B':'boxVh','\\u256C':'boxVH','\\u2580':'uhblk','\\u2584':'lhblk','\\u2588':'block','\\u2591':'blk14','\\u2592':'blk12','\\u2593':'blk34','\\u25A1':'squ','\\u25AA':'squf','\\u25AB':'EmptyVerySmallSquare','\\u25AD':'rect','\\u25AE':'marker','\\u25B1':'fltns','\\u25B3':'xutri','\\u25B4':'utrif','\\u25B5':'utri','\\u25B8':'rtrif','\\u25B9':'rtri','\\u25BD':'xdtri','\\u25BE':'dtrif','\\u25BF':'dtri','\\u25C2':'ltrif','\\u25C3':'ltri','\\u25CA':'loz','\\u25CB':'cir','\\u25EC':'tridot','\\u25EF':'xcirc','\\u25F8':'ultri','\\u25F9':'urtri','\\u25FA':'lltri','\\u25FB':'EmptySmallSquare','\\u25FC':'FilledSmallSquare','\\u2605':'starf','\\u2606':'star','\\u260E':'phone','\\u2640':'female','\\u2642':'male','\\u2660':'spades','\\u2663':'clubs','\\u2665':'hearts','\\u2666':'diams','\\u266A':'sung','\\u2713':'check','\\u2717':'cross','\\u2720':'malt','\\u2736':'sext','\\u2758':'VerticalSeparator','\\u27C8':'bsolhsub','\\u27C9':'suphsol','\\u27F5':'xlarr','\\u27F6':'xrarr','\\u27F7':'xharr','\\u27F8':'xlArr','\\u27F9':'xrArr','\\u27FA':'xhArr','\\u27FC':'xmap','\\u27FF':'dzigrarr','\\u2902':'nvlArr','\\u2903':'nvrArr','\\u2904':'nvHarr','\\u2905':'Map','\\u290C':'lbarr','\\u290D':'rbarr','\\u290E':'lBarr','\\u290F':'rBarr','\\u2910':'RBarr','\\u2911':'DDotrahd','\\u2912':'UpArrowBar','\\u2913':'DownArrowBar','\\u2916':'Rarrtl','\\u2919':'latail','\\u291A':'ratail','\\u291B':'lAtail','\\u291C':'rAtail','\\u291D':'larrfs','\\u291E':'rarrfs','\\u291F':'larrbfs','\\u2920':'rarrbfs','\\u2923':'nwarhk','\\u2924':'nearhk','\\u2925':'searhk','\\u2926':'swarhk','\\u2927':'nwnear','\\u2928':'toea','\\u2929':'tosa','\\u292A':'swnwar','\\u2933':'rarrc','\\u2933\\u0338':'nrarrc','\\u2935':'cudarrr','\\u2936':'ldca','\\u2937':'rdca','\\u2938':'cudarrl','\\u2939':'larrpl','\\u293C':'curarrm','\\u293D':'cularrp','\\u2945':'rarrpl','\\u2948':'harrcir','\\u2949':'Uarrocir','\\u294A':'lurdshar','\\u294B':'ldrushar','\\u294E':'LeftRightVector','\\u294F':'RightUpDownVector','\\u2950':'DownLeftRightVector','\\u2951':'LeftUpDownVector','\\u2952':'LeftVectorBar','\\u2953':'RightVectorBar','\\u2954':'RightUpVectorBar','\\u2955':'RightDownVectorBar','\\u2956':'DownLeftVectorBar','\\u2957':'DownRightVectorBar','\\u2958':'LeftUpVectorBar','\\u2959':'LeftDownVectorBar','\\u295A':'LeftTeeVector','\\u295B':'RightTeeVector','\\u295C':'RightUpTeeVector','\\u295D':'RightDownTeeVector','\\u295E':'DownLeftTeeVector','\\u295F':'DownRightTeeVector','\\u2960':'LeftUpTeeVector','\\u2961':'LeftDownTeeVector','\\u2962':'lHar','\\u2963':'uHar','\\u2964':'rHar','\\u2965':'dHar','\\u2966':'luruhar','\\u2967':'ldrdhar','\\u2968':'ruluhar','\\u2969':'rdldhar','\\u296A':'lharul','\\u296B':'llhard','\\u296C':'rharul','\\u296D':'lrhard','\\u296E':'udhar','\\u296F':'duhar','\\u2970':'RoundImplies','\\u2971':'erarr','\\u2972':'simrarr','\\u2973':'larrsim','\\u2974':'rarrsim','\\u2975':'rarrap','\\u2976':'ltlarr','\\u2978':'gtrarr','\\u2979':'subrarr','\\u297B':'suplarr','\\u297C':'lfisht','\\u297D':'rfisht','\\u297E':'ufisht','\\u297F':'dfisht','\\u299A':'vzigzag','\\u299C':'vangrt','\\u299D':'angrtvbd','\\u29A4':'ange','\\u29A5':'range','\\u29A6':'dwangle','\\u29A7':'uwangle','\\u29A8':'angmsdaa','\\u29A9':'angmsdab','\\u29AA':'angmsdac','\\u29AB':'angmsdad','\\u29AC':'angmsdae','\\u29AD':'angmsdaf','\\u29AE':'angmsdag','\\u29AF':'angmsdah','\\u29B0':'bemptyv','\\u29B1':'demptyv','\\u29B2':'cemptyv','\\u29B3':'raemptyv','\\u29B4':'laemptyv','\\u29B5':'ohbar','\\u29B6':'omid','\\u29B7':'opar','\\u29B9':'operp','\\u29BB':'olcross','\\u29BC':'odsold','\\u29BE':'olcir','\\u29BF':'ofcir','\\u29C0':'olt','\\u29C1':'ogt','\\u29C2':'cirscir','\\u29C3':'cirE','\\u29C4':'solb','\\u29C5':'bsolb','\\u29C9':'boxbox','\\u29CD':'trisb','\\u29CE':'rtriltri','\\u29CF':'LeftTriangleBar','\\u29CF\\u0338':'NotLeftTriangleBar','\\u29D0':'RightTriangleBar','\\u29D0\\u0338':'NotRightTriangleBar','\\u29DC':'iinfin','\\u29DD':'infintie','\\u29DE':'nvinfin','\\u29E3':'eparsl','\\u29E4':'smeparsl','\\u29E5':'eqvparsl','\\u29EB':'lozf','\\u29F4':'RuleDelayed','\\u29F6':'dsol','\\u2A00':'xodot','\\u2A01':'xoplus','\\u2A02':'xotime','\\u2A04':'xuplus','\\u2A06':'xsqcup','\\u2A0D':'fpartint','\\u2A10':'cirfnint','\\u2A11':'awint','\\u2A12':'rppolint','\\u2A13':'scpolint','\\u2A14':'npolint','\\u2A15':'pointint','\\u2A16':'quatint','\\u2A17':'intlarhk','\\u2A22':'pluscir','\\u2A23':'plusacir','\\u2A24':'simplus','\\u2A25':'plusdu','\\u2A26':'plussim','\\u2A27':'plustwo','\\u2A29':'mcomma','\\u2A2A':'minusdu','\\u2A2D':'loplus','\\u2A2E':'roplus','\\u2A2F':'Cross','\\u2A30':'timesd','\\u2A31':'timesbar','\\u2A33':'smashp','\\u2A34':'lotimes','\\u2A35':'rotimes','\\u2A36':'otimesas','\\u2A37':'Otimes','\\u2A38':'odiv','\\u2A39':'triplus','\\u2A3A':'triminus','\\u2A3B':'tritime','\\u2A3C':'iprod','\\u2A3F':'amalg','\\u2A40':'capdot','\\u2A42':'ncup','\\u2A43':'ncap','\\u2A44':'capand','\\u2A45':'cupor','\\u2A46':'cupcap','\\u2A47':'capcup','\\u2A48':'cupbrcap','\\u2A49':'capbrcup','\\u2A4A':'cupcup','\\u2A4B':'capcap','\\u2A4C':'ccups','\\u2A4D':'ccaps','\\u2A50':'ccupssm','\\u2A53':'And','\\u2A54':'Or','\\u2A55':'andand','\\u2A56':'oror','\\u2A57':'orslope','\\u2A58':'andslope','\\u2A5A':'andv','\\u2A5B':'orv','\\u2A5C':'andd','\\u2A5D':'ord','\\u2A5F':'wedbar','\\u2A66':'sdote','\\u2A6A':'simdot','\\u2A6D':'congdot','\\u2A6D\\u0338':'ncongdot','\\u2A6E':'easter','\\u2A6F':'apacir','\\u2A70':'apE','\\u2A70\\u0338':'napE','\\u2A71':'eplus','\\u2A72':'pluse','\\u2A73':'Esim','\\u2A77':'eDDot','\\u2A78':'equivDD','\\u2A79':'ltcir','\\u2A7A':'gtcir','\\u2A7B':'ltquest','\\u2A7C':'gtquest','\\u2A7D':'les','\\u2A7D\\u0338':'nles','\\u2A7E':'ges','\\u2A7E\\u0338':'nges','\\u2A7F':'lesdot','\\u2A80':'gesdot','\\u2A81':'lesdoto','\\u2A82':'gesdoto','\\u2A83':'lesdotor','\\u2A84':'gesdotol','\\u2A85':'lap','\\u2A86':'gap','\\u2A87':'lne','\\u2A88':'gne','\\u2A89':'lnap','\\u2A8A':'gnap','\\u2A8B':'lEg','\\u2A8C':'gEl','\\u2A8D':'lsime','\\u2A8E':'gsime','\\u2A8F':'lsimg','\\u2A90':'gsiml','\\u2A91':'lgE','\\u2A92':'glE','\\u2A93':'lesges','\\u2A94':'gesles','\\u2A95':'els','\\u2A96':'egs','\\u2A97':'elsdot','\\u2A98':'egsdot','\\u2A99':'el','\\u2A9A':'eg','\\u2A9D':'siml','\\u2A9E':'simg','\\u2A9F':'simlE','\\u2AA0':'simgE','\\u2AA1':'LessLess','\\u2AA1\\u0338':'NotNestedLessLess','\\u2AA2':'GreaterGreater','\\u2AA2\\u0338':'NotNestedGreaterGreater','\\u2AA4':'glj','\\u2AA5':'gla','\\u2AA6':'ltcc','\\u2AA7':'gtcc','\\u2AA8':'lescc','\\u2AA9':'gescc','\\u2AAA':'smt','\\u2AAB':'lat','\\u2AAC':'smte','\\u2AAC\\uFE00':'smtes','\\u2AAD':'late','\\u2AAD\\uFE00':'lates','\\u2AAE':'bumpE','\\u2AAF':'pre','\\u2AAF\\u0338':'npre','\\u2AB0':'sce','\\u2AB0\\u0338':'nsce','\\u2AB3':'prE','\\u2AB4':'scE','\\u2AB5':'prnE','\\u2AB6':'scnE','\\u2AB7':'prap','\\u2AB8':'scap','\\u2AB9':'prnap','\\u2ABA':'scnap','\\u2ABB':'Pr','\\u2ABC':'Sc','\\u2ABD':'subdot','\\u2ABE':'supdot','\\u2ABF':'subplus','\\u2AC0':'supplus','\\u2AC1':'submult','\\u2AC2':'supmult','\\u2AC3':'subedot','\\u2AC4':'supedot','\\u2AC5':'subE','\\u2AC5\\u0338':'nsubE','\\u2AC6':'supE','\\u2AC6\\u0338':'nsupE','\\u2AC7':'subsim','\\u2AC8':'supsim','\\u2ACB\\uFE00':'vsubnE','\\u2ACB':'subnE','\\u2ACC\\uFE00':'vsupnE','\\u2ACC':'supnE','\\u2ACF':'csub','\\u2AD0':'csup','\\u2AD1':'csube','\\u2AD2':'csupe','\\u2AD3':'subsup','\\u2AD4':'supsub','\\u2AD5':'subsub','\\u2AD6':'supsup','\\u2AD7':'suphsub','\\u2AD8':'supdsub','\\u2AD9':'forkv','\\u2ADA':'topfork','\\u2ADB':'mlcp','\\u2AE4':'Dashv','\\u2AE6':'Vdashl','\\u2AE7':'Barv','\\u2AE8':'vBar','\\u2AE9':'vBarv','\\u2AEB':'Vbar','\\u2AEC':'Not','\\u2AED':'bNot','\\u2AEE':'rnmid','\\u2AEF':'cirmid','\\u2AF0':'midcir','\\u2AF1':'topcir','\\u2AF2':'nhpar','\\u2AF3':'parsim','\\u2AFD':'parsl','\\u2AFD\\u20E5':'nparsl','\\u266D':'flat','\\u266E':'natur','\\u266F':'sharp','\\xA4':'curren','\\xA2':'cent','$':'dollar','\\xA3':'pound','\\xA5':'yen','\\u20AC':'euro','\\xB9':'sup1','\\xBD':'half','\\u2153':'frac13','\\xBC':'frac14','\\u2155':'frac15','\\u2159':'frac16','\\u215B':'frac18','\\xB2':'sup2','\\u2154':'frac23','\\u2156':'frac25','\\xB3':'sup3','\\xBE':'frac34','\\u2157':'frac35','\\u215C':'frac38','\\u2158':'frac45','\\u215A':'frac56','\\u215D':'frac58','\\u215E':'frac78','\\uD835\\uDCB6':'ascr','\\uD835\\uDD52':'aopf','\\uD835\\uDD1E':'afr','\\uD835\\uDD38':'Aopf','\\uD835\\uDD04':'Afr','\\uD835\\uDC9C':'Ascr','\\xAA':'ordf','\\xE1':'aacute','\\xC1':'Aacute','\\xE0':'agrave','\\xC0':'Agrave','\\u0103':'abreve','\\u0102':'Abreve','\\xE2':'acirc','\\xC2':'Acirc','\\xE5':'aring','\\xC5':'angst','\\xE4':'auml','\\xC4':'Auml','\\xE3':'atilde','\\xC3':'Atilde','\\u0105':'aogon','\\u0104':'Aogon','\\u0101':'amacr','\\u0100':'Amacr','\\xE6':'aelig','\\xC6':'AElig','\\uD835\\uDCB7':'bscr','\\uD835\\uDD53':'bopf','\\uD835\\uDD1F':'bfr','\\uD835\\uDD39':'Bopf','\\u212C':'Bscr','\\uD835\\uDD05':'Bfr','\\uD835\\uDD20':'cfr','\\uD835\\uDCB8':'cscr','\\uD835\\uDD54':'copf','\\u212D':'Cfr','\\uD835\\uDC9E':'Cscr','\\u2102':'Copf','\\u0107':'cacute','\\u0106':'Cacute','\\u0109':'ccirc','\\u0108':'Ccirc','\\u010D':'ccaron','\\u010C':'Ccaron','\\u010B':'cdot','\\u010A':'Cdot','\\xE7':'ccedil','\\xC7':'Ccedil','\\u2105':'incare','\\uD835\\uDD21':'dfr','\\u2146':'dd','\\uD835\\uDD55':'dopf','\\uD835\\uDCB9':'dscr','\\uD835\\uDC9F':'Dscr','\\uD835\\uDD07':'Dfr','\\u2145':'DD','\\uD835\\uDD3B':'Dopf','\\u010F':'dcaron','\\u010E':'Dcaron','\\u0111':'dstrok','\\u0110':'Dstrok','\\xF0':'eth','\\xD0':'ETH','\\u2147':'ee','\\u212F':'escr','\\uD835\\uDD22':'efr','\\uD835\\uDD56':'eopf','\\u2130':'Escr','\\uD835\\uDD08':'Efr','\\uD835\\uDD3C':'Eopf','\\xE9':'eacute','\\xC9':'Eacute','\\xE8':'egrave','\\xC8':'Egrave','\\xEA':'ecirc','\\xCA':'Ecirc','\\u011B':'ecaron','\\u011A':'Ecaron','\\xEB':'euml','\\xCB':'Euml','\\u0117':'edot','\\u0116':'Edot','\\u0119':'eogon','\\u0118':'Eogon','\\u0113':'emacr','\\u0112':'Emacr','\\uD835\\uDD23':'ffr','\\uD835\\uDD57':'fopf','\\uD835\\uDCBB':'fscr','\\uD835\\uDD09':'Ffr','\\uD835\\uDD3D':'Fopf','\\u2131':'Fscr','\\uFB00':'fflig','\\uFB03':'ffilig','\\uFB04':'ffllig','\\uFB01':'filig','fj':'fjlig','\\uFB02':'fllig','\\u0192':'fnof','\\u210A':'gscr','\\uD835\\uDD58':'gopf','\\uD835\\uDD24':'gfr','\\uD835\\uDCA2':'Gscr','\\uD835\\uDD3E':'Gopf','\\uD835\\uDD0A':'Gfr','\\u01F5':'gacute','\\u011F':'gbreve','\\u011E':'Gbreve','\\u011D':'gcirc','\\u011C':'Gcirc','\\u0121':'gdot','\\u0120':'Gdot','\\u0122':'Gcedil','\\uD835\\uDD25':'hfr','\\u210E':'planckh','\\uD835\\uDCBD':'hscr','\\uD835\\uDD59':'hopf','\\u210B':'Hscr','\\u210C':'Hfr','\\u210D':'Hopf','\\u0125':'hcirc','\\u0124':'Hcirc','\\u210F':'hbar','\\u0127':'hstrok','\\u0126':'Hstrok','\\uD835\\uDD5A':'iopf','\\uD835\\uDD26':'ifr','\\uD835\\uDCBE':'iscr','\\u2148':'ii','\\uD835\\uDD40':'Iopf','\\u2110':'Iscr','\\u2111':'Im','\\xED':'iacute','\\xCD':'Iacute','\\xEC':'igrave','\\xCC':'Igrave','\\xEE':'icirc','\\xCE':'Icirc','\\xEF':'iuml','\\xCF':'Iuml','\\u0129':'itilde','\\u0128':'Itilde','\\u0130':'Idot','\\u012F':'iogon','\\u012E':'Iogon','\\u012B':'imacr','\\u012A':'Imacr','\\u0133':'ijlig','\\u0132':'IJlig','\\u0131':'imath','\\uD835\\uDCBF':'jscr','\\uD835\\uDD5B':'jopf','\\uD835\\uDD27':'jfr','\\uD835\\uDCA5':'Jscr','\\uD835\\uDD0D':'Jfr','\\uD835\\uDD41':'Jopf','\\u0135':'jcirc','\\u0134':'Jcirc','\\u0237':'jmath','\\uD835\\uDD5C':'kopf','\\uD835\\uDCC0':'kscr','\\uD835\\uDD28':'kfr','\\uD835\\uDCA6':'Kscr','\\uD835\\uDD42':'Kopf','\\uD835\\uDD0E':'Kfr','\\u0137':'kcedil','\\u0136':'Kcedil','\\uD835\\uDD29':'lfr','\\uD835\\uDCC1':'lscr','\\u2113':'ell','\\uD835\\uDD5D':'lopf','\\u2112':'Lscr','\\uD835\\uDD0F':'Lfr','\\uD835\\uDD43':'Lopf','\\u013A':'lacute','\\u0139':'Lacute','\\u013E':'lcaron','\\u013D':'Lcaron','\\u013C':'lcedil','\\u013B':'Lcedil','\\u0142':'lstrok','\\u0141':'Lstrok','\\u0140':'lmidot','\\u013F':'Lmidot','\\uD835\\uDD2A':'mfr','\\uD835\\uDD5E':'mopf','\\uD835\\uDCC2':'mscr','\\uD835\\uDD10':'Mfr','\\uD835\\uDD44':'Mopf','\\u2133':'Mscr','\\uD835\\uDD2B':'nfr','\\uD835\\uDD5F':'nopf','\\uD835\\uDCC3':'nscr','\\u2115':'Nopf','\\uD835\\uDCA9':'Nscr','\\uD835\\uDD11':'Nfr','\\u0144':'nacute','\\u0143':'Nacute','\\u0148':'ncaron','\\u0147':'Ncaron','\\xF1':'ntilde','\\xD1':'Ntilde','\\u0146':'ncedil','\\u0145':'Ncedil','\\u2116':'numero','\\u014B':'eng','\\u014A':'ENG','\\uD835\\uDD60':'oopf','\\uD835\\uDD2C':'ofr','\\u2134':'oscr','\\uD835\\uDCAA':'Oscr','\\uD835\\uDD12':'Ofr','\\uD835\\uDD46':'Oopf','\\xBA':'ordm','\\xF3':'oacute','\\xD3':'Oacute','\\xF2':'ograve','\\xD2':'Ograve','\\xF4':'ocirc','\\xD4':'Ocirc','\\xF6':'ouml','\\xD6':'Ouml','\\u0151':'odblac','\\u0150':'Odblac','\\xF5':'otilde','\\xD5':'Otilde','\\xF8':'oslash','\\xD8':'Oslash','\\u014D':'omacr','\\u014C':'Omacr','\\u0153':'oelig','\\u0152':'OElig','\\uD835\\uDD2D':'pfr','\\uD835\\uDCC5':'pscr','\\uD835\\uDD61':'popf','\\u2119':'Popf','\\uD835\\uDD13':'Pfr','\\uD835\\uDCAB':'Pscr','\\uD835\\uDD62':'qopf','\\uD835\\uDD2E':'qfr','\\uD835\\uDCC6':'qscr','\\uD835\\uDCAC':'Qscr','\\uD835\\uDD14':'Qfr','\\u211A':'Qopf','\\u0138':'kgreen','\\uD835\\uDD2F':'rfr','\\uD835\\uDD63':'ropf','\\uD835\\uDCC7':'rscr','\\u211B':'Rscr','\\u211C':'Re','\\u211D':'Ropf','\\u0155':'racute','\\u0154':'Racute','\\u0159':'rcaron','\\u0158':'Rcaron','\\u0157':'rcedil','\\u0156':'Rcedil','\\uD835\\uDD64':'sopf','\\uD835\\uDCC8':'sscr','\\uD835\\uDD30':'sfr','\\uD835\\uDD4A':'Sopf','\\uD835\\uDD16':'Sfr','\\uD835\\uDCAE':'Sscr','\\u24C8':'oS','\\u015B':'sacute','\\u015A':'Sacute','\\u015D':'scirc','\\u015C':'Scirc','\\u0161':'scaron','\\u0160':'Scaron','\\u015F':'scedil','\\u015E':'Scedil','\\xDF':'szlig','\\uD835\\uDD31':'tfr','\\uD835\\uDCC9':'tscr','\\uD835\\uDD65':'topf','\\uD835\\uDCAF':'Tscr','\\uD835\\uDD17':'Tfr','\\uD835\\uDD4B':'Topf','\\u0165':'tcaron','\\u0164':'Tcaron','\\u0163':'tcedil','\\u0162':'Tcedil','\\u2122':'trade','\\u0167':'tstrok','\\u0166':'Tstrok','\\uD835\\uDCCA':'uscr','\\uD835\\uDD66':'uopf','\\uD835\\uDD32':'ufr','\\uD835\\uDD4C':'Uopf','\\uD835\\uDD18':'Ufr','\\uD835\\uDCB0':'Uscr','\\xFA':'uacute','\\xDA':'Uacute','\\xF9':'ugrave','\\xD9':'Ugrave','\\u016D':'ubreve','\\u016C':'Ubreve','\\xFB':'ucirc','\\xDB':'Ucirc','\\u016F':'uring','\\u016E':'Uring','\\xFC':'uuml','\\xDC':'Uuml','\\u0171':'udblac','\\u0170':'Udblac','\\u0169':'utilde','\\u0168':'Utilde','\\u0173':'uogon','\\u0172':'Uogon','\\u016B':'umacr','\\u016A':'Umacr','\\uD835\\uDD33':'vfr','\\uD835\\uDD67':'vopf','\\uD835\\uDCCB':'vscr','\\uD835\\uDD19':'Vfr','\\uD835\\uDD4D':'Vopf','\\uD835\\uDCB1':'Vscr','\\uD835\\uDD68':'wopf','\\uD835\\uDCCC':'wscr','\\uD835\\uDD34':'wfr','\\uD835\\uDCB2':'Wscr','\\uD835\\uDD4E':'Wopf','\\uD835\\uDD1A':'Wfr','\\u0175':'wcirc','\\u0174':'Wcirc','\\uD835\\uDD35':'xfr','\\uD835\\uDCCD':'xscr','\\uD835\\uDD69':'xopf','\\uD835\\uDD4F':'Xopf','\\uD835\\uDD1B':'Xfr','\\uD835\\uDCB3':'Xscr','\\uD835\\uDD36':'yfr','\\uD835\\uDCCE':'yscr','\\uD835\\uDD6A':'yopf','\\uD835\\uDCB4':'Yscr','\\uD835\\uDD1C':'Yfr','\\uD835\\uDD50':'Yopf','\\xFD':'yacute','\\xDD':'Yacute','\\u0177':'ycirc','\\u0176':'Ycirc','\\xFF':'yuml','\\u0178':'Yuml','\\uD835\\uDCCF':'zscr','\\uD835\\uDD37':'zfr','\\uD835\\uDD6B':'zopf','\\u2128':'Zfr','\\u2124':'Zopf','\\uD835\\uDCB5':'Zscr','\\u017A':'zacute','\\u0179':'Zacute','\\u017E':'zcaron','\\u017D':'Zcaron','\\u017C':'zdot','\\u017B':'Zdot','\\u01B5':'imped','\\xFE':'thorn','\\xDE':'THORN','\\u0149':'napos','\\u03B1':'alpha','\\u0391':'Alpha','\\u03B2':'beta','\\u0392':'Beta','\\u03B3':'gamma','\\u0393':'Gamma','\\u03B4':'delta','\\u0394':'Delta','\\u03B5':'epsi','\\u03F5':'epsiv','\\u0395':'Epsilon','\\u03DD':'gammad','\\u03DC':'Gammad','\\u03B6':'zeta','\\u0396':'Zeta','\\u03B7':'eta','\\u0397':'Eta','\\u03B8':'theta','\\u03D1':'thetav','\\u0398':'Theta','\\u03B9':'iota','\\u0399':'Iota','\\u03BA':'kappa','\\u03F0':'kappav','\\u039A':'Kappa','\\u03BB':'lambda','\\u039B':'Lambda','\\u03BC':'mu','\\xB5':'micro','\\u039C':'Mu','\\u03BD':'nu','\\u039D':'Nu','\\u03BE':'xi','\\u039E':'Xi','\\u03BF':'omicron','\\u039F':'Omicron','\\u03C0':'pi','\\u03D6':'piv','\\u03A0':'Pi','\\u03C1':'rho','\\u03F1':'rhov','\\u03A1':'Rho','\\u03C3':'sigma','\\u03A3':'Sigma','\\u03C2':'sigmaf','\\u03C4':'tau','\\u03A4':'Tau','\\u03C5':'upsi','\\u03A5':'Upsilon','\\u03D2':'Upsi','\\u03C6':'phi','\\u03D5':'phiv','\\u03A6':'Phi','\\u03C7':'chi','\\u03A7':'Chi','\\u03C8':'psi','\\u03A8':'Psi','\\u03C9':'omega','\\u03A9':'ohm','\\u0430':'acy','\\u0410':'Acy','\\u0431':'bcy','\\u0411':'Bcy','\\u0432':'vcy','\\u0412':'Vcy','\\u0433':'gcy','\\u0413':'Gcy','\\u0453':'gjcy','\\u0403':'GJcy','\\u0434':'dcy','\\u0414':'Dcy','\\u0452':'djcy','\\u0402':'DJcy','\\u0435':'iecy','\\u0415':'IEcy','\\u0451':'iocy','\\u0401':'IOcy','\\u0454':'jukcy','\\u0404':'Jukcy','\\u0436':'zhcy','\\u0416':'ZHcy','\\u0437':'zcy','\\u0417':'Zcy','\\u0455':'dscy','\\u0405':'DScy','\\u0438':'icy','\\u0418':'Icy','\\u0456':'iukcy','\\u0406':'Iukcy','\\u0457':'yicy','\\u0407':'YIcy','\\u0439':'jcy','\\u0419':'Jcy','\\u0458':'jsercy','\\u0408':'Jsercy','\\u043A':'kcy','\\u041A':'Kcy','\\u045C':'kjcy','\\u040C':'KJcy','\\u043B':'lcy','\\u041B':'Lcy','\\u0459':'ljcy','\\u0409':'LJcy','\\u043C':'mcy','\\u041C':'Mcy','\\u043D':'ncy','\\u041D':'Ncy','\\u045A':'njcy','\\u040A':'NJcy','\\u043E':'ocy','\\u041E':'Ocy','\\u043F':'pcy','\\u041F':'Pcy','\\u0440':'rcy','\\u0420':'Rcy','\\u0441':'scy','\\u0421':'Scy','\\u0442':'tcy','\\u0422':'Tcy','\\u045B':'tshcy','\\u040B':'TSHcy','\\u0443':'ucy','\\u0423':'Ucy','\\u045E':'ubrcy','\\u040E':'Ubrcy','\\u0444':'fcy','\\u0424':'Fcy','\\u0445':'khcy','\\u0425':'KHcy','\\u0446':'tscy','\\u0426':'TScy','\\u0447':'chcy','\\u0427':'CHcy','\\u045F':'dzcy','\\u040F':'DZcy','\\u0448':'shcy','\\u0428':'SHcy','\\u0449':'shchcy','\\u0429':'SHCHcy','\\u044A':'hardcy','\\u042A':'HARDcy','\\u044B':'ycy','\\u042B':'Ycy','\\u044C':'softcy','\\u042C':'SOFTcy','\\u044D':'ecy','\\u042D':'Ecy','\\u044E':'yucy','\\u042E':'YUcy','\\u044F':'yacy','\\u042F':'YAcy','\\u2135':'aleph','\\u2136':'beth','\\u2137':'gimel','\\u2138':'daleth'};\n\n\tvar regexEscape = /[\"&'<>`]/g;\n\tvar escapeMap = {\n\t\t'\"': '"',\n\t\t'&': '&',\n\t\t'\\'': ''',\n\t\t'<': '<',\n\t\t// See https://mathiasbynens.be/notes/ambiguous-ampersands: in HTML, the\n\t\t// following is not strictly necessary unless it’s part of a tag or an\n\t\t// unquoted attribute value. We’re only escaping it to support those\n\t\t// situations, and for XML support.\n\t\t'>': '>',\n\t\t// In Internet Explorer ≤ 8, the backtick character can be used\n\t\t// to break out of (un)quoted attribute values or HTML comments.\n\t\t// See http://html5sec.org/#102, http://html5sec.org/#108, and\n\t\t// http://html5sec.org/#133.\n\t\t'`': '`'\n\t};\n\n\tvar regexInvalidEntity = /&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/;\n\tvar regexInvalidRawCodePoint = /[\\0-\\x08\\x0B\\x0E-\\x1F\\x7F-\\x9F\\uFDD0-\\uFDEF\\uFFFE\\uFFFF]|[\\uD83F\\uD87F\\uD8BF\\uD8FF\\uD93F\\uD97F\\uD9BF\\uD9FF\\uDA3F\\uDA7F\\uDABF\\uDAFF\\uDB3F\\uDB7F\\uDBBF\\uDBFF][\\uDFFE\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/;\n\tvar regexDecode = /&(CounterClockwiseContourIntegral|DoubleLongLeftRightArrow|ClockwiseContourIntegral|NotNestedGreaterGreater|NotSquareSupersetEqual|DiacriticalDoubleAcute|NotRightTriangleEqual|NotSucceedsSlantEqual|NotPrecedesSlantEqual|CloseCurlyDoubleQuote|NegativeVeryThinSpace|DoubleContourIntegral|FilledVerySmallSquare|CapitalDifferentialD|OpenCurlyDoubleQuote|EmptyVerySmallSquare|NestedGreaterGreater|DoubleLongRightArrow|NotLeftTriangleEqual|NotGreaterSlantEqual|ReverseUpEquilibrium|DoubleLeftRightArrow|NotSquareSubsetEqual|NotDoubleVerticalBar|RightArrowLeftArrow|NotGreaterFullEqual|NotRightTriangleBar|SquareSupersetEqual|DownLeftRightVector|DoubleLongLeftArrow|leftrightsquigarrow|LeftArrowRightArrow|NegativeMediumSpace|blacktriangleright|RightDownVectorBar|PrecedesSlantEqual|RightDoubleBracket|SucceedsSlantEqual|NotLeftTriangleBar|RightTriangleEqual|SquareIntersection|RightDownTeeVector|ReverseEquilibrium|NegativeThickSpace|longleftrightarrow|Longleftrightarrow|LongLeftRightArrow|DownRightTeeVector|DownRightVectorBar|GreaterSlantEqual|SquareSubsetEqual|LeftDownVectorBar|LeftDoubleBracket|VerticalSeparator|rightleftharpoons|NotGreaterGreater|NotSquareSuperset|blacktriangleleft|blacktriangledown|NegativeThinSpace|LeftDownTeeVector|NotLessSlantEqual|leftrightharpoons|DoubleUpDownArrow|DoubleVerticalBar|LeftTriangleEqual|FilledSmallSquare|twoheadrightarrow|NotNestedLessLess|DownLeftTeeVector|DownLeftVectorBar|RightAngleBracket|NotTildeFullEqual|NotReverseElement|RightUpDownVector|DiacriticalTilde|NotSucceedsTilde|circlearrowright|NotPrecedesEqual|rightharpoondown|DoubleRightArrow|NotSucceedsEqual|NonBreakingSpace|NotRightTriangle|LessEqualGreater|RightUpTeeVector|LeftAngleBracket|GreaterFullEqual|DownArrowUpArrow|RightUpVectorBar|twoheadleftarrow|GreaterEqualLess|downharpoonright|RightTriangleBar|ntrianglerighteq|NotSupersetEqual|LeftUpDownVector|DiacriticalAcute|rightrightarrows|vartriangleright|UpArrowDownArrow|DiacriticalGrave|UnderParenthesis|EmptySmallSquare|LeftUpVectorBar|leftrightarrows|DownRightVector|downharpoonleft|trianglerighteq|ShortRightArrow|OverParenthesis|DoubleLeftArrow|DoubleDownArrow|NotSquareSubset|bigtriangledown|ntrianglelefteq|UpperRightArrow|curvearrowright|vartriangleleft|NotLeftTriangle|nleftrightarrow|LowerRightArrow|NotHumpDownHump|NotGreaterTilde|rightthreetimes|LeftUpTeeVector|NotGreaterEqual|straightepsilon|LeftTriangleBar|rightsquigarrow|ContourIntegral|rightleftarrows|CloseCurlyQuote|RightDownVector|LeftRightVector|nLeftrightarrow|leftharpoondown|circlearrowleft|SquareSuperset|OpenCurlyQuote|hookrightarrow|HorizontalLine|DiacriticalDot|NotLessGreater|ntriangleright|DoubleRightTee|InvisibleComma|InvisibleTimes|LowerLeftArrow|DownLeftVector|NotSubsetEqual|curvearrowleft|trianglelefteq|NotVerticalBar|TildeFullEqual|downdownarrows|NotGreaterLess|RightTeeVector|ZeroWidthSpace|looparrowright|LongRightArrow|doublebarwedge|ShortLeftArrow|ShortDownArrow|RightVectorBar|GreaterGreater|ReverseElement|rightharpoonup|LessSlantEqual|leftthreetimes|upharpoonright|rightarrowtail|LeftDownVector|Longrightarrow|NestedLessLess|UpperLeftArrow|nshortparallel|leftleftarrows|leftrightarrow|Leftrightarrow|LeftRightArrow|longrightarrow|upharpoonleft|RightArrowBar|ApplyFunction|LeftTeeVector|leftarrowtail|NotEqualTilde|varsubsetneqq|varsupsetneqq|RightTeeArrow|SucceedsEqual|SucceedsTilde|LeftVectorBar|SupersetEqual|hookleftarrow|DifferentialD|VerticalTilde|VeryThinSpace|blacktriangle|bigtriangleup|LessFullEqual|divideontimes|leftharpoonup|UpEquilibrium|ntriangleleft|RightTriangle|measuredangle|shortparallel|longleftarrow|Longleftarrow|LongLeftArrow|DoubleLeftTee|Poincareplane|PrecedesEqual|triangleright|DoubleUpArrow|RightUpVector|fallingdotseq|looparrowleft|PrecedesTilde|NotTildeEqual|NotTildeTilde|smallsetminus|Proportional|triangleleft|triangledown|UnderBracket|NotHumpEqual|exponentiale|ExponentialE|NotLessTilde|HilbertSpace|RightCeiling|blacklozenge|varsupsetneq|HumpDownHump|GreaterEqual|VerticalLine|LeftTeeArrow|NotLessEqual|DownTeeArrow|LeftTriangle|varsubsetneq|Intersection|NotCongruent|DownArrowBar|LeftUpVector|LeftArrowBar|risingdotseq|GreaterTilde|RoundImplies|SquareSubset|ShortUpArrow|NotSuperset|quaternions|precnapprox|backepsilon|preccurlyeq|OverBracket|blacksquare|MediumSpace|VerticalBar|circledcirc|circleddash|CircleMinus|CircleTimes|LessGreater|curlyeqprec|curlyeqsucc|diamondsuit|UpDownArrow|Updownarrow|RuleDelayed|Rrightarrow|updownarrow|RightVector|nRightarrow|nrightarrow|eqslantless|LeftCeiling|Equilibrium|SmallCircle|expectation|NotSucceeds|thickapprox|GreaterLess|SquareUnion|NotPrecedes|NotLessLess|straightphi|succnapprox|succcurlyeq|SubsetEqual|sqsupseteq|Proportion|Laplacetrf|ImaginaryI|supsetneqq|NotGreater|gtreqqless|NotElement|ThickSpace|TildeEqual|TildeTilde|Fouriertrf|rmoustache|EqualTilde|eqslantgtr|UnderBrace|LeftVector|UpArrowBar|nLeftarrow|nsubseteqq|subsetneqq|nsupseteqq|nleftarrow|succapprox|lessapprox|UpTeeArrow|upuparrows|curlywedge|lesseqqgtr|varepsilon|varnothing|RightFloor|complement|CirclePlus|sqsubseteq|Lleftarrow|circledast|RightArrow|Rightarrow|rightarrow|lmoustache|Bernoullis|precapprox|mapstoleft|mapstodown|longmapsto|dotsquare|downarrow|DoubleDot|nsubseteq|supsetneq|leftarrow|nsupseteq|subsetneq|ThinSpace|ngeqslant|subseteqq|HumpEqual|NotSubset|triangleq|NotCupCap|lesseqgtr|heartsuit|TripleDot|Leftarrow|Coproduct|Congruent|varpropto|complexes|gvertneqq|LeftArrow|LessTilde|supseteqq|MinusPlus|CircleDot|nleqslant|NotExists|gtreqless|nparallel|UnionPlus|LeftFloor|checkmark|CenterDot|centerdot|Mellintrf|gtrapprox|bigotimes|OverBrace|spadesuit|therefore|pitchfork|rationals|PlusMinus|Backslash|Therefore|DownBreve|backsimeq|backprime|DownArrow|nshortmid|Downarrow|lvertneqq|eqvparsl|imagline|imagpart|infintie|integers|Integral|intercal|LessLess|Uarrocir|intlarhk|sqsupset|angmsdaf|sqsubset|llcorner|vartheta|cupbrcap|lnapprox|Superset|SuchThat|succnsim|succneqq|angmsdag|biguplus|curlyvee|trpezium|Succeeds|NotTilde|bigwedge|angmsdah|angrtvbd|triminus|cwconint|fpartint|lrcorner|smeparsl|subseteq|urcorner|lurdshar|laemptyv|DDotrahd|approxeq|ldrushar|awconint|mapstoup|backcong|shortmid|triangle|geqslant|gesdotol|timesbar|circledR|circledS|setminus|multimap|naturals|scpolint|ncongdot|RightTee|boxminus|gnapprox|boxtimes|andslope|thicksim|angmsdaa|varsigma|cirfnint|rtriltri|angmsdab|rppolint|angmsdac|barwedge|drbkarow|clubsuit|thetasym|bsolhsub|capbrcup|dzigrarr|doteqdot|DotEqual|dotminus|UnderBar|NotEqual|realpart|otimesas|ulcorner|hksearow|hkswarow|parallel|PartialD|elinters|emptyset|plusacir|bbrktbrk|angmsdad|pointint|bigoplus|angmsdae|Precedes|bigsqcup|varkappa|notindot|supseteq|precneqq|precnsim|profalar|profline|profsurf|leqslant|lesdotor|raemptyv|subplus|notnivb|notnivc|subrarr|zigrarr|vzigzag|submult|subedot|Element|between|cirscir|larrbfs|larrsim|lotimes|lbrksld|lbrkslu|lozenge|ldrdhar|dbkarow|bigcirc|epsilon|simrarr|simplus|ltquest|Epsilon|luruhar|gtquest|maltese|npolint|eqcolon|npreceq|bigodot|ddagger|gtrless|bnequiv|harrcir|ddotseq|equivDD|backsim|demptyv|nsqsube|nsqsupe|Upsilon|nsubset|upsilon|minusdu|nsucceq|swarrow|nsupset|coloneq|searrow|boxplus|napprox|natural|asympeq|alefsym|congdot|nearrow|bigstar|diamond|supplus|tritime|LeftTee|nvinfin|triplus|NewLine|nvltrie|nvrtrie|nwarrow|nexists|Diamond|ruluhar|Implies|supmult|angzarr|suplarr|suphsub|questeq|because|digamma|Because|olcross|bemptyv|omicron|Omicron|rotimes|NoBreak|intprod|angrtvb|orderof|uwangle|suphsol|lesdoto|orslope|DownTee|realine|cudarrl|rdldhar|OverBar|supedot|lessdot|supdsub|topfork|succsim|rbrkslu|rbrksld|pertenk|cudarrr|isindot|planckh|lessgtr|pluscir|gesdoto|plussim|plustwo|lesssim|cularrp|rarrsim|Cayleys|notinva|notinvb|notinvc|UpArrow|Uparrow|uparrow|NotLess|dwangle|precsim|Product|curarrm|Cconint|dotplus|rarrbfs|ccupssm|Cedilla|cemptyv|notniva|quatint|frac35|frac38|frac45|frac56|frac58|frac78|tridot|xoplus|gacute|gammad|Gammad|lfisht|lfloor|bigcup|sqsupe|gbreve|Gbreve|lharul|sqsube|sqcups|Gcedil|apacir|llhard|lmidot|Lmidot|lmoust|andand|sqcaps|approx|Abreve|spades|circeq|tprime|divide|topcir|Assign|topbot|gesdot|divonx|xuplus|timesd|gesles|atilde|solbar|SOFTcy|loplus|timesb|lowast|lowbar|dlcorn|dlcrop|softcy|dollar|lparlt|thksim|lrhard|Atilde|lsaquo|smashp|bigvee|thinsp|wreath|bkarow|lsquor|lstrok|Lstrok|lthree|ltimes|ltlarr|DotDot|simdot|ltrPar|weierp|xsqcup|angmsd|sigmav|sigmaf|zeetrf|Zcaron|zcaron|mapsto|vsupne|thetav|cirmid|marker|mcomma|Zacute|vsubnE|there4|gtlPar|vsubne|bottom|gtrarr|SHCHcy|shchcy|midast|midcir|middot|minusb|minusd|gtrdot|bowtie|sfrown|mnplus|models|colone|seswar|Colone|mstpos|searhk|gtrsim|nacute|Nacute|boxbox|telrec|hairsp|Tcedil|nbumpe|scnsim|ncaron|Ncaron|ncedil|Ncedil|hamilt|Scedil|nearhk|hardcy|HARDcy|tcedil|Tcaron|commat|nequiv|nesear|tcaron|target|hearts|nexist|varrho|scedil|Scaron|scaron|hellip|Sacute|sacute|hercon|swnwar|compfn|rtimes|rthree|rsquor|rsaquo|zacute|wedgeq|homtht|barvee|barwed|Barwed|rpargt|horbar|conint|swarhk|roplus|nltrie|hslash|hstrok|Hstrok|rmoust|Conint|bprime|hybull|hyphen|iacute|Iacute|supsup|supsub|supsim|varphi|coprod|brvbar|agrave|Supset|supset|igrave|Igrave|notinE|Agrave|iiiint|iinfin|copysr|wedbar|Verbar|vangrt|becaus|incare|verbar|inodot|bullet|drcorn|intcal|drcrop|cularr|vellip|Utilde|bumpeq|cupcap|dstrok|Dstrok|CupCap|cupcup|cupdot|eacute|Eacute|supdot|iquest|easter|ecaron|Ecaron|ecolon|isinsv|utilde|itilde|Itilde|curarr|succeq|Bumpeq|cacute|ulcrop|nparsl|Cacute|nprcue|egrave|Egrave|nrarrc|nrarrw|subsup|subsub|nrtrie|jsercy|nsccue|Jsercy|kappav|kcedil|Kcedil|subsim|ulcorn|nsimeq|egsdot|veebar|kgreen|capand|elsdot|Subset|subset|curren|aacute|lacute|Lacute|emptyv|ntilde|Ntilde|lagran|lambda|Lambda|capcap|Ugrave|langle|subdot|emsp13|numero|emsp14|nvdash|nvDash|nVdash|nVDash|ugrave|ufisht|nvHarr|larrfs|nvlArr|larrhk|larrlp|larrpl|nvrArr|Udblac|nwarhk|larrtl|nwnear|oacute|Oacute|latail|lAtail|sstarf|lbrace|odblac|Odblac|lbrack|udblac|odsold|eparsl|lcaron|Lcaron|ograve|Ograve|lcedil|Lcedil|Aacute|ssmile|ssetmn|squarf|ldquor|capcup|ominus|cylcty|rharul|eqcirc|dagger|rfloor|rfisht|Dagger|daleth|equals|origof|capdot|equest|dcaron|Dcaron|rdquor|oslash|Oslash|otilde|Otilde|otimes|Otimes|urcrop|Ubreve|ubreve|Yacute|Uacute|uacute|Rcedil|rcedil|urcorn|parsim|Rcaron|Vdashl|rcaron|Tstrok|percnt|period|permil|Exists|yacute|rbrack|rbrace|phmmat|ccaron|Ccaron|planck|ccedil|plankv|tstrok|female|plusdo|plusdu|ffilig|plusmn|ffllig|Ccedil|rAtail|dfisht|bernou|ratail|Rarrtl|rarrtl|angsph|rarrpl|rarrlp|rarrhk|xwedge|xotime|forall|ForAll|Vvdash|vsupnE|preceq|bigcap|frac12|frac13|frac14|primes|rarrfs|prnsim|frac15|Square|frac16|square|lesdot|frac18|frac23|propto|prurel|rarrap|rangle|puncsp|frac25|Racute|qprime|racute|lesges|frac34|abreve|AElig|eqsim|utdot|setmn|urtri|Equal|Uring|seArr|uring|searr|dashv|Dashv|mumap|nabla|iogon|Iogon|sdote|sdotb|scsim|napid|napos|equiv|natur|Acirc|dblac|erarr|nbump|iprod|erDot|ucirc|awint|esdot|angrt|ncong|isinE|scnap|Scirc|scirc|ndash|isins|Ubrcy|nearr|neArr|isinv|nedot|ubrcy|acute|Ycirc|iukcy|Iukcy|xutri|nesim|caret|jcirc|Jcirc|caron|twixt|ddarr|sccue|exist|jmath|sbquo|ngeqq|angst|ccaps|lceil|ngsim|UpTee|delta|Delta|rtrif|nharr|nhArr|nhpar|rtrie|jukcy|Jukcy|kappa|rsquo|Kappa|nlarr|nlArr|TSHcy|rrarr|aogon|Aogon|fflig|xrarr|tshcy|ccirc|nleqq|filig|upsih|nless|dharl|nlsim|fjlig|ropar|nltri|dharr|robrk|roarr|fllig|fltns|roang|rnmid|subnE|subne|lAarr|trisb|Ccirc|acirc|ccups|blank|VDash|forkv|Vdash|langd|cedil|blk12|blk14|laquo|strns|diams|notin|vDash|larrb|blk34|block|disin|uplus|vdash|vBarv|aelig|starf|Wedge|check|xrArr|lates|lbarr|lBarr|notni|lbbrk|bcong|frasl|lbrke|frown|vrtri|vprop|vnsup|gamma|Gamma|wedge|xodot|bdquo|srarr|doteq|ldquo|boxdl|boxdL|gcirc|Gcirc|boxDl|boxDL|boxdr|boxdR|boxDr|TRADE|trade|rlhar|boxDR|vnsub|npart|vltri|rlarr|boxhd|boxhD|nprec|gescc|nrarr|nrArr|boxHd|boxHD|boxhu|boxhU|nrtri|boxHu|clubs|boxHU|times|colon|Colon|gimel|xlArr|Tilde|nsime|tilde|nsmid|nspar|THORN|thorn|xlarr|nsube|nsubE|thkap|xhArr|comma|nsucc|boxul|boxuL|nsupe|nsupE|gneqq|gnsim|boxUl|boxUL|grave|boxur|boxuR|boxUr|boxUR|lescc|angle|bepsi|boxvh|varpi|boxvH|numsp|Theta|gsime|gsiml|theta|boxVh|boxVH|boxvl|gtcir|gtdot|boxvL|boxVl|boxVL|crarr|cross|Cross|nvsim|boxvr|nwarr|nwArr|sqsup|dtdot|Uogon|lhard|lharu|dtrif|ocirc|Ocirc|lhblk|duarr|odash|sqsub|Hacek|sqcup|llarr|duhar|oelig|OElig|ofcir|boxvR|uogon|lltri|boxVr|csube|uuarr|ohbar|csupe|ctdot|olarr|olcir|harrw|oline|sqcap|omacr|Omacr|omega|Omega|boxVR|aleph|lneqq|lnsim|loang|loarr|rharu|lobrk|hcirc|operp|oplus|rhard|Hcirc|orarr|Union|order|ecirc|Ecirc|cuepr|szlig|cuesc|breve|reals|eDDot|Breve|hoarr|lopar|utrif|rdquo|Umacr|umacr|efDot|swArr|ultri|alpha|rceil|ovbar|swarr|Wcirc|wcirc|smtes|smile|bsemi|lrarr|aring|parsl|lrhar|bsime|uhblk|lrtri|cupor|Aring|uharr|uharl|slarr|rbrke|bsolb|lsime|rbbrk|RBarr|lsimg|phone|rBarr|rbarr|icirc|lsquo|Icirc|emacr|Emacr|ratio|simne|plusb|simlE|simgE|simeq|pluse|ltcir|ltdot|empty|xharr|xdtri|iexcl|Alpha|ltrie|rarrw|pound|ltrif|xcirc|bumpe|prcue|bumpE|asymp|amacr|cuvee|Sigma|sigma|iiint|udhar|iiota|ijlig|IJlig|supnE|imacr|Imacr|prime|Prime|image|prnap|eogon|Eogon|rarrc|mdash|mDDot|cuwed|imath|supne|imped|Amacr|udarr|prsim|micro|rarrb|cwint|raquo|infin|eplus|range|rangd|Ucirc|radic|minus|amalg|veeeq|rAarr|epsiv|ycirc|quest|sharp|quot|zwnj|Qscr|race|qscr|Qopf|qopf|qint|rang|Rang|Zscr|zscr|Zopf|zopf|rarr|rArr|Rarr|Pscr|pscr|prop|prod|prnE|prec|ZHcy|zhcy|prap|Zeta|zeta|Popf|popf|Zdot|plus|zdot|Yuml|yuml|phiv|YUcy|yucy|Yscr|yscr|perp|Yopf|yopf|part|para|YIcy|Ouml|rcub|yicy|YAcy|rdca|ouml|osol|Oscr|rdsh|yacy|real|oscr|xvee|andd|rect|andv|Xscr|oror|ordm|ordf|xscr|ange|aopf|Aopf|rHar|Xopf|opar|Oopf|xopf|xnis|rhov|oopf|omid|xmap|oint|apid|apos|ogon|ascr|Ascr|odot|odiv|xcup|xcap|ocir|oast|nvlt|nvle|nvgt|nvge|nvap|Wscr|wscr|auml|ntlg|ntgl|nsup|nsub|nsim|Nscr|nscr|nsce|Wopf|ring|npre|wopf|npar|Auml|Barv|bbrk|Nopf|nopf|nmid|nLtv|beta|ropf|Ropf|Beta|beth|nles|rpar|nleq|bnot|bNot|nldr|NJcy|rscr|Rscr|Vscr|vscr|rsqb|njcy|bopf|nisd|Bopf|rtri|Vopf|nGtv|ngtr|vopf|boxh|boxH|boxv|nges|ngeq|boxV|bscr|scap|Bscr|bsim|Vert|vert|bsol|bull|bump|caps|cdot|ncup|scnE|ncap|nbsp|napE|Cdot|cent|sdot|Vbar|nang|vBar|chcy|Mscr|mscr|sect|semi|CHcy|Mopf|mopf|sext|circ|cire|mldr|mlcp|cirE|comp|shcy|SHcy|vArr|varr|cong|copf|Copf|copy|COPY|malt|male|macr|lvnE|cscr|ltri|sime|ltcc|simg|Cscr|siml|csub|Uuml|lsqb|lsim|uuml|csup|Lscr|lscr|utri|smid|lpar|cups|smte|lozf|darr|Lopf|Uscr|solb|lopf|sopf|Sopf|lneq|uscr|spar|dArr|lnap|Darr|dash|Sqrt|LJcy|ljcy|lHar|dHar|Upsi|upsi|diam|lesg|djcy|DJcy|leqq|dopf|Dopf|dscr|Dscr|dscy|ldsh|ldca|squf|DScy|sscr|Sscr|dsol|lcub|late|star|Star|Uopf|Larr|lArr|larr|uopf|dtri|dzcy|sube|subE|Lang|lang|Kscr|kscr|Kopf|kopf|KJcy|kjcy|KHcy|khcy|DZcy|ecir|edot|eDot|Jscr|jscr|succ|Jopf|jopf|Edot|uHar|emsp|ensp|Iuml|iuml|eopf|isin|Iscr|iscr|Eopf|epar|sung|epsi|escr|sup1|sup2|sup3|Iota|iota|supe|supE|Iopf|iopf|IOcy|iocy|Escr|esim|Esim|imof|Uarr|QUOT|uArr|uarr|euml|IEcy|iecy|Idot|Euml|euro|excl|Hscr|hscr|Hopf|hopf|TScy|tscy|Tscr|hbar|tscr|flat|tbrk|fnof|hArr|harr|half|fopf|Fopf|tdot|gvnE|fork|trie|gtcc|fscr|Fscr|gdot|gsim|Gscr|gscr|Gopf|gopf|gneq|Gdot|tosa|gnap|Topf|topf|geqq|toea|GJcy|gjcy|tint|gesl|mid|Sfr|ggg|top|ges|gla|glE|glj|geq|gne|gEl|gel|gnE|Gcy|gcy|gap|Tfr|tfr|Tcy|tcy|Hat|Tau|Ffr|tau|Tab|hfr|Hfr|ffr|Fcy|fcy|icy|Icy|iff|ETH|eth|ifr|Ifr|Eta|eta|int|Int|Sup|sup|ucy|Ucy|Sum|sum|jcy|ENG|ufr|Ufr|eng|Jcy|jfr|els|ell|egs|Efr|efr|Jfr|uml|kcy|Kcy|Ecy|ecy|kfr|Kfr|lap|Sub|sub|lat|lcy|Lcy|leg|Dot|dot|lEg|leq|les|squ|div|die|lfr|Lfr|lgE|Dfr|dfr|Del|deg|Dcy|dcy|lne|lnE|sol|loz|smt|Cup|lrm|cup|lsh|Lsh|sim|shy|map|Map|mcy|Mcy|mfr|Mfr|mho|gfr|Gfr|sfr|cir|Chi|chi|nap|Cfr|vcy|Vcy|cfr|Scy|scy|ncy|Ncy|vee|Vee|Cap|cap|nfr|scE|sce|Nfr|nge|ngE|nGg|vfr|Vfr|ngt|bot|nGt|nis|niv|Rsh|rsh|nle|nlE|bne|Bfr|bfr|nLl|nlt|nLt|Bcy|bcy|not|Not|rlm|wfr|Wfr|npr|nsc|num|ocy|ast|Ocy|ofr|xfr|Xfr|Ofr|ogt|ohm|apE|olt|Rho|ape|rho|Rfr|rfr|ord|REG|ang|reg|orv|And|and|AMP|Rcy|amp|Afr|ycy|Ycy|yen|yfr|Yfr|rcy|par|pcy|Pcy|pfr|Pfr|phi|Phi|afr|Acy|acy|zcy|Zcy|piv|acE|acd|zfr|Zfr|pre|prE|psi|Psi|qfr|Qfr|zwj|Or|ge|Gg|gt|gg|el|oS|lt|Lt|LT|Re|lg|gl|eg|ne|Im|it|le|DD|wp|wr|nu|Nu|dd|lE|Sc|sc|pi|Pi|ee|af|ll|Ll|rx|gE|xi|pm|Xi|ic|pr|Pr|in|ni|mp|mu|ac|Mu|or|ap|Gt|GT|ii);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)(?!;)([=a-zA-Z0-9]?)|&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+)/g;\n\tvar decodeMap = {'aacute':'\\xE1','Aacute':'\\xC1','abreve':'\\u0103','Abreve':'\\u0102','ac':'\\u223E','acd':'\\u223F','acE':'\\u223E\\u0333','acirc':'\\xE2','Acirc':'\\xC2','acute':'\\xB4','acy':'\\u0430','Acy':'\\u0410','aelig':'\\xE6','AElig':'\\xC6','af':'\\u2061','afr':'\\uD835\\uDD1E','Afr':'\\uD835\\uDD04','agrave':'\\xE0','Agrave':'\\xC0','alefsym':'\\u2135','aleph':'\\u2135','alpha':'\\u03B1','Alpha':'\\u0391','amacr':'\\u0101','Amacr':'\\u0100','amalg':'\\u2A3F','amp':'&','AMP':'&','and':'\\u2227','And':'\\u2A53','andand':'\\u2A55','andd':'\\u2A5C','andslope':'\\u2A58','andv':'\\u2A5A','ang':'\\u2220','ange':'\\u29A4','angle':'\\u2220','angmsd':'\\u2221','angmsdaa':'\\u29A8','angmsdab':'\\u29A9','angmsdac':'\\u29AA','angmsdad':'\\u29AB','angmsdae':'\\u29AC','angmsdaf':'\\u29AD','angmsdag':'\\u29AE','angmsdah':'\\u29AF','angrt':'\\u221F','angrtvb':'\\u22BE','angrtvbd':'\\u299D','angsph':'\\u2222','angst':'\\xC5','angzarr':'\\u237C','aogon':'\\u0105','Aogon':'\\u0104','aopf':'\\uD835\\uDD52','Aopf':'\\uD835\\uDD38','ap':'\\u2248','apacir':'\\u2A6F','ape':'\\u224A','apE':'\\u2A70','apid':'\\u224B','apos':'\\'','ApplyFunction':'\\u2061','approx':'\\u2248','approxeq':'\\u224A','aring':'\\xE5','Aring':'\\xC5','ascr':'\\uD835\\uDCB6','Ascr':'\\uD835\\uDC9C','Assign':'\\u2254','ast':'*','asymp':'\\u2248','asympeq':'\\u224D','atilde':'\\xE3','Atilde':'\\xC3','auml':'\\xE4','Auml':'\\xC4','awconint':'\\u2233','awint':'\\u2A11','backcong':'\\u224C','backepsilon':'\\u03F6','backprime':'\\u2035','backsim':'\\u223D','backsimeq':'\\u22CD','Backslash':'\\u2216','Barv':'\\u2AE7','barvee':'\\u22BD','barwed':'\\u2305','Barwed':'\\u2306','barwedge':'\\u2305','bbrk':'\\u23B5','bbrktbrk':'\\u23B6','bcong':'\\u224C','bcy':'\\u0431','Bcy':'\\u0411','bdquo':'\\u201E','becaus':'\\u2235','because':'\\u2235','Because':'\\u2235','bemptyv':'\\u29B0','bepsi':'\\u03F6','bernou':'\\u212C','Bernoullis':'\\u212C','beta':'\\u03B2','Beta':'\\u0392','beth':'\\u2136','between':'\\u226C','bfr':'\\uD835\\uDD1F','Bfr':'\\uD835\\uDD05','bigcap':'\\u22C2','bigcirc':'\\u25EF','bigcup':'\\u22C3','bigodot':'\\u2A00','bigoplus':'\\u2A01','bigotimes':'\\u2A02','bigsqcup':'\\u2A06','bigstar':'\\u2605','bigtriangledown':'\\u25BD','bigtriangleup':'\\u25B3','biguplus':'\\u2A04','bigvee':'\\u22C1','bigwedge':'\\u22C0','bkarow':'\\u290D','blacklozenge':'\\u29EB','blacksquare':'\\u25AA','blacktriangle':'\\u25B4','blacktriangledown':'\\u25BE','blacktriangleleft':'\\u25C2','blacktriangleright':'\\u25B8','blank':'\\u2423','blk12':'\\u2592','blk14':'\\u2591','blk34':'\\u2593','block':'\\u2588','bne':'=\\u20E5','bnequiv':'\\u2261\\u20E5','bnot':'\\u2310','bNot':'\\u2AED','bopf':'\\uD835\\uDD53','Bopf':'\\uD835\\uDD39','bot':'\\u22A5','bottom':'\\u22A5','bowtie':'\\u22C8','boxbox':'\\u29C9','boxdl':'\\u2510','boxdL':'\\u2555','boxDl':'\\u2556','boxDL':'\\u2557','boxdr':'\\u250C','boxdR':'\\u2552','boxDr':'\\u2553','boxDR':'\\u2554','boxh':'\\u2500','boxH':'\\u2550','boxhd':'\\u252C','boxhD':'\\u2565','boxHd':'\\u2564','boxHD':'\\u2566','boxhu':'\\u2534','boxhU':'\\u2568','boxHu':'\\u2567','boxHU':'\\u2569','boxminus':'\\u229F','boxplus':'\\u229E','boxtimes':'\\u22A0','boxul':'\\u2518','boxuL':'\\u255B','boxUl':'\\u255C','boxUL':'\\u255D','boxur':'\\u2514','boxuR':'\\u2558','boxUr':'\\u2559','boxUR':'\\u255A','boxv':'\\u2502','boxV':'\\u2551','boxvh':'\\u253C','boxvH':'\\u256A','boxVh':'\\u256B','boxVH':'\\u256C','boxvl':'\\u2524','boxvL':'\\u2561','boxVl':'\\u2562','boxVL':'\\u2563','boxvr':'\\u251C','boxvR':'\\u255E','boxVr':'\\u255F','boxVR':'\\u2560','bprime':'\\u2035','breve':'\\u02D8','Breve':'\\u02D8','brvbar':'\\xA6','bscr':'\\uD835\\uDCB7','Bscr':'\\u212C','bsemi':'\\u204F','bsim':'\\u223D','bsime':'\\u22CD','bsol':'\\\\','bsolb':'\\u29C5','bsolhsub':'\\u27C8','bull':'\\u2022','bullet':'\\u2022','bump':'\\u224E','bumpe':'\\u224F','bumpE':'\\u2AAE','bumpeq':'\\u224F','Bumpeq':'\\u224E','cacute':'\\u0107','Cacute':'\\u0106','cap':'\\u2229','Cap':'\\u22D2','capand':'\\u2A44','capbrcup':'\\u2A49','capcap':'\\u2A4B','capcup':'\\u2A47','capdot':'\\u2A40','CapitalDifferentialD':'\\u2145','caps':'\\u2229\\uFE00','caret':'\\u2041','caron':'\\u02C7','Cayleys':'\\u212D','ccaps':'\\u2A4D','ccaron':'\\u010D','Ccaron':'\\u010C','ccedil':'\\xE7','Ccedil':'\\xC7','ccirc':'\\u0109','Ccirc':'\\u0108','Cconint':'\\u2230','ccups':'\\u2A4C','ccupssm':'\\u2A50','cdot':'\\u010B','Cdot':'\\u010A','cedil':'\\xB8','Cedilla':'\\xB8','cemptyv':'\\u29B2','cent':'\\xA2','centerdot':'\\xB7','CenterDot':'\\xB7','cfr':'\\uD835\\uDD20','Cfr':'\\u212D','chcy':'\\u0447','CHcy':'\\u0427','check':'\\u2713','checkmark':'\\u2713','chi':'\\u03C7','Chi':'\\u03A7','cir':'\\u25CB','circ':'\\u02C6','circeq':'\\u2257','circlearrowleft':'\\u21BA','circlearrowright':'\\u21BB','circledast':'\\u229B','circledcirc':'\\u229A','circleddash':'\\u229D','CircleDot':'\\u2299','circledR':'\\xAE','circledS':'\\u24C8','CircleMinus':'\\u2296','CirclePlus':'\\u2295','CircleTimes':'\\u2297','cire':'\\u2257','cirE':'\\u29C3','cirfnint':'\\u2A10','cirmid':'\\u2AEF','cirscir':'\\u29C2','ClockwiseContourIntegral':'\\u2232','CloseCurlyDoubleQuote':'\\u201D','CloseCurlyQuote':'\\u2019','clubs':'\\u2663','clubsuit':'\\u2663','colon':':','Colon':'\\u2237','colone':'\\u2254','Colone':'\\u2A74','coloneq':'\\u2254','comma':',','commat':'@','comp':'\\u2201','compfn':'\\u2218','complement':'\\u2201','complexes':'\\u2102','cong':'\\u2245','congdot':'\\u2A6D','Congruent':'\\u2261','conint':'\\u222E','Conint':'\\u222F','ContourIntegral':'\\u222E','copf':'\\uD835\\uDD54','Copf':'\\u2102','coprod':'\\u2210','Coproduct':'\\u2210','copy':'\\xA9','COPY':'\\xA9','copysr':'\\u2117','CounterClockwiseContourIntegral':'\\u2233','crarr':'\\u21B5','cross':'\\u2717','Cross':'\\u2A2F','cscr':'\\uD835\\uDCB8','Cscr':'\\uD835\\uDC9E','csub':'\\u2ACF','csube':'\\u2AD1','csup':'\\u2AD0','csupe':'\\u2AD2','ctdot':'\\u22EF','cudarrl':'\\u2938','cudarrr':'\\u2935','cuepr':'\\u22DE','cuesc':'\\u22DF','cularr':'\\u21B6','cularrp':'\\u293D','cup':'\\u222A','Cup':'\\u22D3','cupbrcap':'\\u2A48','cupcap':'\\u2A46','CupCap':'\\u224D','cupcup':'\\u2A4A','cupdot':'\\u228D','cupor':'\\u2A45','cups':'\\u222A\\uFE00','curarr':'\\u21B7','curarrm':'\\u293C','curlyeqprec':'\\u22DE','curlyeqsucc':'\\u22DF','curlyvee':'\\u22CE','curlywedge':'\\u22CF','curren':'\\xA4','curvearrowleft':'\\u21B6','curvearrowright':'\\u21B7','cuvee':'\\u22CE','cuwed':'\\u22CF','cwconint':'\\u2232','cwint':'\\u2231','cylcty':'\\u232D','dagger':'\\u2020','Dagger':'\\u2021','daleth':'\\u2138','darr':'\\u2193','dArr':'\\u21D3','Darr':'\\u21A1','dash':'\\u2010','dashv':'\\u22A3','Dashv':'\\u2AE4','dbkarow':'\\u290F','dblac':'\\u02DD','dcaron':'\\u010F','Dcaron':'\\u010E','dcy':'\\u0434','Dcy':'\\u0414','dd':'\\u2146','DD':'\\u2145','ddagger':'\\u2021','ddarr':'\\u21CA','DDotrahd':'\\u2911','ddotseq':'\\u2A77','deg':'\\xB0','Del':'\\u2207','delta':'\\u03B4','Delta':'\\u0394','demptyv':'\\u29B1','dfisht':'\\u297F','dfr':'\\uD835\\uDD21','Dfr':'\\uD835\\uDD07','dHar':'\\u2965','dharl':'\\u21C3','dharr':'\\u21C2','DiacriticalAcute':'\\xB4','DiacriticalDot':'\\u02D9','DiacriticalDoubleAcute':'\\u02DD','DiacriticalGrave':'`','DiacriticalTilde':'\\u02DC','diam':'\\u22C4','diamond':'\\u22C4','Diamond':'\\u22C4','diamondsuit':'\\u2666','diams':'\\u2666','die':'\\xA8','DifferentialD':'\\u2146','digamma':'\\u03DD','disin':'\\u22F2','div':'\\xF7','divide':'\\xF7','divideontimes':'\\u22C7','divonx':'\\u22C7','djcy':'\\u0452','DJcy':'\\u0402','dlcorn':'\\u231E','dlcrop':'\\u230D','dollar':'$','dopf':'\\uD835\\uDD55','Dopf':'\\uD835\\uDD3B','dot':'\\u02D9','Dot':'\\xA8','DotDot':'\\u20DC','doteq':'\\u2250','doteqdot':'\\u2251','DotEqual':'\\u2250','dotminus':'\\u2238','dotplus':'\\u2214','dotsquare':'\\u22A1','doublebarwedge':'\\u2306','DoubleContourIntegral':'\\u222F','DoubleDot':'\\xA8','DoubleDownArrow':'\\u21D3','DoubleLeftArrow':'\\u21D0','DoubleLeftRightArrow':'\\u21D4','DoubleLeftTee':'\\u2AE4','DoubleLongLeftArrow':'\\u27F8','DoubleLongLeftRightArrow':'\\u27FA','DoubleLongRightArrow':'\\u27F9','DoubleRightArrow':'\\u21D2','DoubleRightTee':'\\u22A8','DoubleUpArrow':'\\u21D1','DoubleUpDownArrow':'\\u21D5','DoubleVerticalBar':'\\u2225','downarrow':'\\u2193','Downarrow':'\\u21D3','DownArrow':'\\u2193','DownArrowBar':'\\u2913','DownArrowUpArrow':'\\u21F5','DownBreve':'\\u0311','downdownarrows':'\\u21CA','downharpoonleft':'\\u21C3','downharpoonright':'\\u21C2','DownLeftRightVector':'\\u2950','DownLeftTeeVector':'\\u295E','DownLeftVector':'\\u21BD','DownLeftVectorBar':'\\u2956','DownRightTeeVector':'\\u295F','DownRightVector':'\\u21C1','DownRightVectorBar':'\\u2957','DownTee':'\\u22A4','DownTeeArrow':'\\u21A7','drbkarow':'\\u2910','drcorn':'\\u231F','drcrop':'\\u230C','dscr':'\\uD835\\uDCB9','Dscr':'\\uD835\\uDC9F','dscy':'\\u0455','DScy':'\\u0405','dsol':'\\u29F6','dstrok':'\\u0111','Dstrok':'\\u0110','dtdot':'\\u22F1','dtri':'\\u25BF','dtrif':'\\u25BE','duarr':'\\u21F5','duhar':'\\u296F','dwangle':'\\u29A6','dzcy':'\\u045F','DZcy':'\\u040F','dzigrarr':'\\u27FF','eacute':'\\xE9','Eacute':'\\xC9','easter':'\\u2A6E','ecaron':'\\u011B','Ecaron':'\\u011A','ecir':'\\u2256','ecirc':'\\xEA','Ecirc':'\\xCA','ecolon':'\\u2255','ecy':'\\u044D','Ecy':'\\u042D','eDDot':'\\u2A77','edot':'\\u0117','eDot':'\\u2251','Edot':'\\u0116','ee':'\\u2147','efDot':'\\u2252','efr':'\\uD835\\uDD22','Efr':'\\uD835\\uDD08','eg':'\\u2A9A','egrave':'\\xE8','Egrave':'\\xC8','egs':'\\u2A96','egsdot':'\\u2A98','el':'\\u2A99','Element':'\\u2208','elinters':'\\u23E7','ell':'\\u2113','els':'\\u2A95','elsdot':'\\u2A97','emacr':'\\u0113','Emacr':'\\u0112','empty':'\\u2205','emptyset':'\\u2205','EmptySmallSquare':'\\u25FB','emptyv':'\\u2205','EmptyVerySmallSquare':'\\u25AB','emsp':'\\u2003','emsp13':'\\u2004','emsp14':'\\u2005','eng':'\\u014B','ENG':'\\u014A','ensp':'\\u2002','eogon':'\\u0119','Eogon':'\\u0118','eopf':'\\uD835\\uDD56','Eopf':'\\uD835\\uDD3C','epar':'\\u22D5','eparsl':'\\u29E3','eplus':'\\u2A71','epsi':'\\u03B5','epsilon':'\\u03B5','Epsilon':'\\u0395','epsiv':'\\u03F5','eqcirc':'\\u2256','eqcolon':'\\u2255','eqsim':'\\u2242','eqslantgtr':'\\u2A96','eqslantless':'\\u2A95','Equal':'\\u2A75','equals':'=','EqualTilde':'\\u2242','equest':'\\u225F','Equilibrium':'\\u21CC','equiv':'\\u2261','equivDD':'\\u2A78','eqvparsl':'\\u29E5','erarr':'\\u2971','erDot':'\\u2253','escr':'\\u212F','Escr':'\\u2130','esdot':'\\u2250','esim':'\\u2242','Esim':'\\u2A73','eta':'\\u03B7','Eta':'\\u0397','eth':'\\xF0','ETH':'\\xD0','euml':'\\xEB','Euml':'\\xCB','euro':'\\u20AC','excl':'!','exist':'\\u2203','Exists':'\\u2203','expectation':'\\u2130','exponentiale':'\\u2147','ExponentialE':'\\u2147','fallingdotseq':'\\u2252','fcy':'\\u0444','Fcy':'\\u0424','female':'\\u2640','ffilig':'\\uFB03','fflig':'\\uFB00','ffllig':'\\uFB04','ffr':'\\uD835\\uDD23','Ffr':'\\uD835\\uDD09','filig':'\\uFB01','FilledSmallSquare':'\\u25FC','FilledVerySmallSquare':'\\u25AA','fjlig':'fj','flat':'\\u266D','fllig':'\\uFB02','fltns':'\\u25B1','fnof':'\\u0192','fopf':'\\uD835\\uDD57','Fopf':'\\uD835\\uDD3D','forall':'\\u2200','ForAll':'\\u2200','fork':'\\u22D4','forkv':'\\u2AD9','Fouriertrf':'\\u2131','fpartint':'\\u2A0D','frac12':'\\xBD','frac13':'\\u2153','frac14':'\\xBC','frac15':'\\u2155','frac16':'\\u2159','frac18':'\\u215B','frac23':'\\u2154','frac25':'\\u2156','frac34':'\\xBE','frac35':'\\u2157','frac38':'\\u215C','frac45':'\\u2158','frac56':'\\u215A','frac58':'\\u215D','frac78':'\\u215E','frasl':'\\u2044','frown':'\\u2322','fscr':'\\uD835\\uDCBB','Fscr':'\\u2131','gacute':'\\u01F5','gamma':'\\u03B3','Gamma':'\\u0393','gammad':'\\u03DD','Gammad':'\\u03DC','gap':'\\u2A86','gbreve':'\\u011F','Gbreve':'\\u011E','Gcedil':'\\u0122','gcirc':'\\u011D','Gcirc':'\\u011C','gcy':'\\u0433','Gcy':'\\u0413','gdot':'\\u0121','Gdot':'\\u0120','ge':'\\u2265','gE':'\\u2267','gel':'\\u22DB','gEl':'\\u2A8C','geq':'\\u2265','geqq':'\\u2267','geqslant':'\\u2A7E','ges':'\\u2A7E','gescc':'\\u2AA9','gesdot':'\\u2A80','gesdoto':'\\u2A82','gesdotol':'\\u2A84','gesl':'\\u22DB\\uFE00','gesles':'\\u2A94','gfr':'\\uD835\\uDD24','Gfr':'\\uD835\\uDD0A','gg':'\\u226B','Gg':'\\u22D9','ggg':'\\u22D9','gimel':'\\u2137','gjcy':'\\u0453','GJcy':'\\u0403','gl':'\\u2277','gla':'\\u2AA5','glE':'\\u2A92','glj':'\\u2AA4','gnap':'\\u2A8A','gnapprox':'\\u2A8A','gne':'\\u2A88','gnE':'\\u2269','gneq':'\\u2A88','gneqq':'\\u2269','gnsim':'\\u22E7','gopf':'\\uD835\\uDD58','Gopf':'\\uD835\\uDD3E','grave':'`','GreaterEqual':'\\u2265','GreaterEqualLess':'\\u22DB','GreaterFullEqual':'\\u2267','GreaterGreater':'\\u2AA2','GreaterLess':'\\u2277','GreaterSlantEqual':'\\u2A7E','GreaterTilde':'\\u2273','gscr':'\\u210A','Gscr':'\\uD835\\uDCA2','gsim':'\\u2273','gsime':'\\u2A8E','gsiml':'\\u2A90','gt':'>','Gt':'\\u226B','GT':'>','gtcc':'\\u2AA7','gtcir':'\\u2A7A','gtdot':'\\u22D7','gtlPar':'\\u2995','gtquest':'\\u2A7C','gtrapprox':'\\u2A86','gtrarr':'\\u2978','gtrdot':'\\u22D7','gtreqless':'\\u22DB','gtreqqless':'\\u2A8C','gtrless':'\\u2277','gtrsim':'\\u2273','gvertneqq':'\\u2269\\uFE00','gvnE':'\\u2269\\uFE00','Hacek':'\\u02C7','hairsp':'\\u200A','half':'\\xBD','hamilt':'\\u210B','hardcy':'\\u044A','HARDcy':'\\u042A','harr':'\\u2194','hArr':'\\u21D4','harrcir':'\\u2948','harrw':'\\u21AD','Hat':'^','hbar':'\\u210F','hcirc':'\\u0125','Hcirc':'\\u0124','hearts':'\\u2665','heartsuit':'\\u2665','hellip':'\\u2026','hercon':'\\u22B9','hfr':'\\uD835\\uDD25','Hfr':'\\u210C','HilbertSpace':'\\u210B','hksearow':'\\u2925','hkswarow':'\\u2926','hoarr':'\\u21FF','homtht':'\\u223B','hookleftarrow':'\\u21A9','hookrightarrow':'\\u21AA','hopf':'\\uD835\\uDD59','Hopf':'\\u210D','horbar':'\\u2015','HorizontalLine':'\\u2500','hscr':'\\uD835\\uDCBD','Hscr':'\\u210B','hslash':'\\u210F','hstrok':'\\u0127','Hstrok':'\\u0126','HumpDownHump':'\\u224E','HumpEqual':'\\u224F','hybull':'\\u2043','hyphen':'\\u2010','iacute':'\\xED','Iacute':'\\xCD','ic':'\\u2063','icirc':'\\xEE','Icirc':'\\xCE','icy':'\\u0438','Icy':'\\u0418','Idot':'\\u0130','iecy':'\\u0435','IEcy':'\\u0415','iexcl':'\\xA1','iff':'\\u21D4','ifr':'\\uD835\\uDD26','Ifr':'\\u2111','igrave':'\\xEC','Igrave':'\\xCC','ii':'\\u2148','iiiint':'\\u2A0C','iiint':'\\u222D','iinfin':'\\u29DC','iiota':'\\u2129','ijlig':'\\u0133','IJlig':'\\u0132','Im':'\\u2111','imacr':'\\u012B','Imacr':'\\u012A','image':'\\u2111','ImaginaryI':'\\u2148','imagline':'\\u2110','imagpart':'\\u2111','imath':'\\u0131','imof':'\\u22B7','imped':'\\u01B5','Implies':'\\u21D2','in':'\\u2208','incare':'\\u2105','infin':'\\u221E','infintie':'\\u29DD','inodot':'\\u0131','int':'\\u222B','Int':'\\u222C','intcal':'\\u22BA','integers':'\\u2124','Integral':'\\u222B','intercal':'\\u22BA','Intersection':'\\u22C2','intlarhk':'\\u2A17','intprod':'\\u2A3C','InvisibleComma':'\\u2063','InvisibleTimes':'\\u2062','iocy':'\\u0451','IOcy':'\\u0401','iogon':'\\u012F','Iogon':'\\u012E','iopf':'\\uD835\\uDD5A','Iopf':'\\uD835\\uDD40','iota':'\\u03B9','Iota':'\\u0399','iprod':'\\u2A3C','iquest':'\\xBF','iscr':'\\uD835\\uDCBE','Iscr':'\\u2110','isin':'\\u2208','isindot':'\\u22F5','isinE':'\\u22F9','isins':'\\u22F4','isinsv':'\\u22F3','isinv':'\\u2208','it':'\\u2062','itilde':'\\u0129','Itilde':'\\u0128','iukcy':'\\u0456','Iukcy':'\\u0406','iuml':'\\xEF','Iuml':'\\xCF','jcirc':'\\u0135','Jcirc':'\\u0134','jcy':'\\u0439','Jcy':'\\u0419','jfr':'\\uD835\\uDD27','Jfr':'\\uD835\\uDD0D','jmath':'\\u0237','jopf':'\\uD835\\uDD5B','Jopf':'\\uD835\\uDD41','jscr':'\\uD835\\uDCBF','Jscr':'\\uD835\\uDCA5','jsercy':'\\u0458','Jsercy':'\\u0408','jukcy':'\\u0454','Jukcy':'\\u0404','kappa':'\\u03BA','Kappa':'\\u039A','kappav':'\\u03F0','kcedil':'\\u0137','Kcedil':'\\u0136','kcy':'\\u043A','Kcy':'\\u041A','kfr':'\\uD835\\uDD28','Kfr':'\\uD835\\uDD0E','kgreen':'\\u0138','khcy':'\\u0445','KHcy':'\\u0425','kjcy':'\\u045C','KJcy':'\\u040C','kopf':'\\uD835\\uDD5C','Kopf':'\\uD835\\uDD42','kscr':'\\uD835\\uDCC0','Kscr':'\\uD835\\uDCA6','lAarr':'\\u21DA','lacute':'\\u013A','Lacute':'\\u0139','laemptyv':'\\u29B4','lagran':'\\u2112','lambda':'\\u03BB','Lambda':'\\u039B','lang':'\\u27E8','Lang':'\\u27EA','langd':'\\u2991','langle':'\\u27E8','lap':'\\u2A85','Laplacetrf':'\\u2112','laquo':'\\xAB','larr':'\\u2190','lArr':'\\u21D0','Larr':'\\u219E','larrb':'\\u21E4','larrbfs':'\\u291F','larrfs':'\\u291D','larrhk':'\\u21A9','larrlp':'\\u21AB','larrpl':'\\u2939','larrsim':'\\u2973','larrtl':'\\u21A2','lat':'\\u2AAB','latail':'\\u2919','lAtail':'\\u291B','late':'\\u2AAD','lates':'\\u2AAD\\uFE00','lbarr':'\\u290C','lBarr':'\\u290E','lbbrk':'\\u2772','lbrace':'{','lbrack':'[','lbrke':'\\u298B','lbrksld':'\\u298F','lbrkslu':'\\u298D','lcaron':'\\u013E','Lcaron':'\\u013D','lcedil':'\\u013C','Lcedil':'\\u013B','lceil':'\\u2308','lcub':'{','lcy':'\\u043B','Lcy':'\\u041B','ldca':'\\u2936','ldquo':'\\u201C','ldquor':'\\u201E','ldrdhar':'\\u2967','ldrushar':'\\u294B','ldsh':'\\u21B2','le':'\\u2264','lE':'\\u2266','LeftAngleBracket':'\\u27E8','leftarrow':'\\u2190','Leftarrow':'\\u21D0','LeftArrow':'\\u2190','LeftArrowBar':'\\u21E4','LeftArrowRightArrow':'\\u21C6','leftarrowtail':'\\u21A2','LeftCeiling':'\\u2308','LeftDoubleBracket':'\\u27E6','LeftDownTeeVector':'\\u2961','LeftDownVector':'\\u21C3','LeftDownVectorBar':'\\u2959','LeftFloor':'\\u230A','leftharpoondown':'\\u21BD','leftharpoonup':'\\u21BC','leftleftarrows':'\\u21C7','leftrightarrow':'\\u2194','Leftrightarrow':'\\u21D4','LeftRightArrow':'\\u2194','leftrightarrows':'\\u21C6','leftrightharpoons':'\\u21CB','leftrightsquigarrow':'\\u21AD','LeftRightVector':'\\u294E','LeftTee':'\\u22A3','LeftTeeArrow':'\\u21A4','LeftTeeVector':'\\u295A','leftthreetimes':'\\u22CB','LeftTriangle':'\\u22B2','LeftTriangleBar':'\\u29CF','LeftTriangleEqual':'\\u22B4','LeftUpDownVector':'\\u2951','LeftUpTeeVector':'\\u2960','LeftUpVector':'\\u21BF','LeftUpVectorBar':'\\u2958','LeftVector':'\\u21BC','LeftVectorBar':'\\u2952','leg':'\\u22DA','lEg':'\\u2A8B','leq':'\\u2264','leqq':'\\u2266','leqslant':'\\u2A7D','les':'\\u2A7D','lescc':'\\u2AA8','lesdot':'\\u2A7F','lesdoto':'\\u2A81','lesdotor':'\\u2A83','lesg':'\\u22DA\\uFE00','lesges':'\\u2A93','lessapprox':'\\u2A85','lessdot':'\\u22D6','lesseqgtr':'\\u22DA','lesseqqgtr':'\\u2A8B','LessEqualGreater':'\\u22DA','LessFullEqual':'\\u2266','LessGreater':'\\u2276','lessgtr':'\\u2276','LessLess':'\\u2AA1','lesssim':'\\u2272','LessSlantEqual':'\\u2A7D','LessTilde':'\\u2272','lfisht':'\\u297C','lfloor':'\\u230A','lfr':'\\uD835\\uDD29','Lfr':'\\uD835\\uDD0F','lg':'\\u2276','lgE':'\\u2A91','lHar':'\\u2962','lhard':'\\u21BD','lharu':'\\u21BC','lharul':'\\u296A','lhblk':'\\u2584','ljcy':'\\u0459','LJcy':'\\u0409','ll':'\\u226A','Ll':'\\u22D8','llarr':'\\u21C7','llcorner':'\\u231E','Lleftarrow':'\\u21DA','llhard':'\\u296B','lltri':'\\u25FA','lmidot':'\\u0140','Lmidot':'\\u013F','lmoust':'\\u23B0','lmoustache':'\\u23B0','lnap':'\\u2A89','lnapprox':'\\u2A89','lne':'\\u2A87','lnE':'\\u2268','lneq':'\\u2A87','lneqq':'\\u2268','lnsim':'\\u22E6','loang':'\\u27EC','loarr':'\\u21FD','lobrk':'\\u27E6','longleftarrow':'\\u27F5','Longleftarrow':'\\u27F8','LongLeftArrow':'\\u27F5','longleftrightarrow':'\\u27F7','Longleftrightarrow':'\\u27FA','LongLeftRightArrow':'\\u27F7','longmapsto':'\\u27FC','longrightarrow':'\\u27F6','Longrightarrow':'\\u27F9','LongRightArrow':'\\u27F6','looparrowleft':'\\u21AB','looparrowright':'\\u21AC','lopar':'\\u2985','lopf':'\\uD835\\uDD5D','Lopf':'\\uD835\\uDD43','loplus':'\\u2A2D','lotimes':'\\u2A34','lowast':'\\u2217','lowbar':'_','LowerLeftArrow':'\\u2199','LowerRightArrow':'\\u2198','loz':'\\u25CA','lozenge':'\\u25CA','lozf':'\\u29EB','lpar':'(','lparlt':'\\u2993','lrarr':'\\u21C6','lrcorner':'\\u231F','lrhar':'\\u21CB','lrhard':'\\u296D','lrm':'\\u200E','lrtri':'\\u22BF','lsaquo':'\\u2039','lscr':'\\uD835\\uDCC1','Lscr':'\\u2112','lsh':'\\u21B0','Lsh':'\\u21B0','lsim':'\\u2272','lsime':'\\u2A8D','lsimg':'\\u2A8F','lsqb':'[','lsquo':'\\u2018','lsquor':'\\u201A','lstrok':'\\u0142','Lstrok':'\\u0141','lt':'<','Lt':'\\u226A','LT':'<','ltcc':'\\u2AA6','ltcir':'\\u2A79','ltdot':'\\u22D6','lthree':'\\u22CB','ltimes':'\\u22C9','ltlarr':'\\u2976','ltquest':'\\u2A7B','ltri':'\\u25C3','ltrie':'\\u22B4','ltrif':'\\u25C2','ltrPar':'\\u2996','lurdshar':'\\u294A','luruhar':'\\u2966','lvertneqq':'\\u2268\\uFE00','lvnE':'\\u2268\\uFE00','macr':'\\xAF','male':'\\u2642','malt':'\\u2720','maltese':'\\u2720','map':'\\u21A6','Map':'\\u2905','mapsto':'\\u21A6','mapstodown':'\\u21A7','mapstoleft':'\\u21A4','mapstoup':'\\u21A5','marker':'\\u25AE','mcomma':'\\u2A29','mcy':'\\u043C','Mcy':'\\u041C','mdash':'\\u2014','mDDot':'\\u223A','measuredangle':'\\u2221','MediumSpace':'\\u205F','Mellintrf':'\\u2133','mfr':'\\uD835\\uDD2A','Mfr':'\\uD835\\uDD10','mho':'\\u2127','micro':'\\xB5','mid':'\\u2223','midast':'*','midcir':'\\u2AF0','middot':'\\xB7','minus':'\\u2212','minusb':'\\u229F','minusd':'\\u2238','minusdu':'\\u2A2A','MinusPlus':'\\u2213','mlcp':'\\u2ADB','mldr':'\\u2026','mnplus':'\\u2213','models':'\\u22A7','mopf':'\\uD835\\uDD5E','Mopf':'\\uD835\\uDD44','mp':'\\u2213','mscr':'\\uD835\\uDCC2','Mscr':'\\u2133','mstpos':'\\u223E','mu':'\\u03BC','Mu':'\\u039C','multimap':'\\u22B8','mumap':'\\u22B8','nabla':'\\u2207','nacute':'\\u0144','Nacute':'\\u0143','nang':'\\u2220\\u20D2','nap':'\\u2249','napE':'\\u2A70\\u0338','napid':'\\u224B\\u0338','napos':'\\u0149','napprox':'\\u2249','natur':'\\u266E','natural':'\\u266E','naturals':'\\u2115','nbsp':'\\xA0','nbump':'\\u224E\\u0338','nbumpe':'\\u224F\\u0338','ncap':'\\u2A43','ncaron':'\\u0148','Ncaron':'\\u0147','ncedil':'\\u0146','Ncedil':'\\u0145','ncong':'\\u2247','ncongdot':'\\u2A6D\\u0338','ncup':'\\u2A42','ncy':'\\u043D','Ncy':'\\u041D','ndash':'\\u2013','ne':'\\u2260','nearhk':'\\u2924','nearr':'\\u2197','neArr':'\\u21D7','nearrow':'\\u2197','nedot':'\\u2250\\u0338','NegativeMediumSpace':'\\u200B','NegativeThickSpace':'\\u200B','NegativeThinSpace':'\\u200B','NegativeVeryThinSpace':'\\u200B','nequiv':'\\u2262','nesear':'\\u2928','nesim':'\\u2242\\u0338','NestedGreaterGreater':'\\u226B','NestedLessLess':'\\u226A','NewLine':'\\n','nexist':'\\u2204','nexists':'\\u2204','nfr':'\\uD835\\uDD2B','Nfr':'\\uD835\\uDD11','nge':'\\u2271','ngE':'\\u2267\\u0338','ngeq':'\\u2271','ngeqq':'\\u2267\\u0338','ngeqslant':'\\u2A7E\\u0338','nges':'\\u2A7E\\u0338','nGg':'\\u22D9\\u0338','ngsim':'\\u2275','ngt':'\\u226F','nGt':'\\u226B\\u20D2','ngtr':'\\u226F','nGtv':'\\u226B\\u0338','nharr':'\\u21AE','nhArr':'\\u21CE','nhpar':'\\u2AF2','ni':'\\u220B','nis':'\\u22FC','nisd':'\\u22FA','niv':'\\u220B','njcy':'\\u045A','NJcy':'\\u040A','nlarr':'\\u219A','nlArr':'\\u21CD','nldr':'\\u2025','nle':'\\u2270','nlE':'\\u2266\\u0338','nleftarrow':'\\u219A','nLeftarrow':'\\u21CD','nleftrightarrow':'\\u21AE','nLeftrightarrow':'\\u21CE','nleq':'\\u2270','nleqq':'\\u2266\\u0338','nleqslant':'\\u2A7D\\u0338','nles':'\\u2A7D\\u0338','nless':'\\u226E','nLl':'\\u22D8\\u0338','nlsim':'\\u2274','nlt':'\\u226E','nLt':'\\u226A\\u20D2','nltri':'\\u22EA','nltrie':'\\u22EC','nLtv':'\\u226A\\u0338','nmid':'\\u2224','NoBreak':'\\u2060','NonBreakingSpace':'\\xA0','nopf':'\\uD835\\uDD5F','Nopf':'\\u2115','not':'\\xAC','Not':'\\u2AEC','NotCongruent':'\\u2262','NotCupCap':'\\u226D','NotDoubleVerticalBar':'\\u2226','NotElement':'\\u2209','NotEqual':'\\u2260','NotEqualTilde':'\\u2242\\u0338','NotExists':'\\u2204','NotGreater':'\\u226F','NotGreaterEqual':'\\u2271','NotGreaterFullEqual':'\\u2267\\u0338','NotGreaterGreater':'\\u226B\\u0338','NotGreaterLess':'\\u2279','NotGreaterSlantEqual':'\\u2A7E\\u0338','NotGreaterTilde':'\\u2275','NotHumpDownHump':'\\u224E\\u0338','NotHumpEqual':'\\u224F\\u0338','notin':'\\u2209','notindot':'\\u22F5\\u0338','notinE':'\\u22F9\\u0338','notinva':'\\u2209','notinvb':'\\u22F7','notinvc':'\\u22F6','NotLeftTriangle':'\\u22EA','NotLeftTriangleBar':'\\u29CF\\u0338','NotLeftTriangleEqual':'\\u22EC','NotLess':'\\u226E','NotLessEqual':'\\u2270','NotLessGreater':'\\u2278','NotLessLess':'\\u226A\\u0338','NotLessSlantEqual':'\\u2A7D\\u0338','NotLessTilde':'\\u2274','NotNestedGreaterGreater':'\\u2AA2\\u0338','NotNestedLessLess':'\\u2AA1\\u0338','notni':'\\u220C','notniva':'\\u220C','notnivb':'\\u22FE','notnivc':'\\u22FD','NotPrecedes':'\\u2280','NotPrecedesEqual':'\\u2AAF\\u0338','NotPrecedesSlantEqual':'\\u22E0','NotReverseElement':'\\u220C','NotRightTriangle':'\\u22EB','NotRightTriangleBar':'\\u29D0\\u0338','NotRightTriangleEqual':'\\u22ED','NotSquareSubset':'\\u228F\\u0338','NotSquareSubsetEqual':'\\u22E2','NotSquareSuperset':'\\u2290\\u0338','NotSquareSupersetEqual':'\\u22E3','NotSubset':'\\u2282\\u20D2','NotSubsetEqual':'\\u2288','NotSucceeds':'\\u2281','NotSucceedsEqual':'\\u2AB0\\u0338','NotSucceedsSlantEqual':'\\u22E1','NotSucceedsTilde':'\\u227F\\u0338','NotSuperset':'\\u2283\\u20D2','NotSupersetEqual':'\\u2289','NotTilde':'\\u2241','NotTildeEqual':'\\u2244','NotTildeFullEqual':'\\u2247','NotTildeTilde':'\\u2249','NotVerticalBar':'\\u2224','npar':'\\u2226','nparallel':'\\u2226','nparsl':'\\u2AFD\\u20E5','npart':'\\u2202\\u0338','npolint':'\\u2A14','npr':'\\u2280','nprcue':'\\u22E0','npre':'\\u2AAF\\u0338','nprec':'\\u2280','npreceq':'\\u2AAF\\u0338','nrarr':'\\u219B','nrArr':'\\u21CF','nrarrc':'\\u2933\\u0338','nrarrw':'\\u219D\\u0338','nrightarrow':'\\u219B','nRightarrow':'\\u21CF','nrtri':'\\u22EB','nrtrie':'\\u22ED','nsc':'\\u2281','nsccue':'\\u22E1','nsce':'\\u2AB0\\u0338','nscr':'\\uD835\\uDCC3','Nscr':'\\uD835\\uDCA9','nshortmid':'\\u2224','nshortparallel':'\\u2226','nsim':'\\u2241','nsime':'\\u2244','nsimeq':'\\u2244','nsmid':'\\u2224','nspar':'\\u2226','nsqsube':'\\u22E2','nsqsupe':'\\u22E3','nsub':'\\u2284','nsube':'\\u2288','nsubE':'\\u2AC5\\u0338','nsubset':'\\u2282\\u20D2','nsubseteq':'\\u2288','nsubseteqq':'\\u2AC5\\u0338','nsucc':'\\u2281','nsucceq':'\\u2AB0\\u0338','nsup':'\\u2285','nsupe':'\\u2289','nsupE':'\\u2AC6\\u0338','nsupset':'\\u2283\\u20D2','nsupseteq':'\\u2289','nsupseteqq':'\\u2AC6\\u0338','ntgl':'\\u2279','ntilde':'\\xF1','Ntilde':'\\xD1','ntlg':'\\u2278','ntriangleleft':'\\u22EA','ntrianglelefteq':'\\u22EC','ntriangleright':'\\u22EB','ntrianglerighteq':'\\u22ED','nu':'\\u03BD','Nu':'\\u039D','num':'#','numero':'\\u2116','numsp':'\\u2007','nvap':'\\u224D\\u20D2','nvdash':'\\u22AC','nvDash':'\\u22AD','nVdash':'\\u22AE','nVDash':'\\u22AF','nvge':'\\u2265\\u20D2','nvgt':'>\\u20D2','nvHarr':'\\u2904','nvinfin':'\\u29DE','nvlArr':'\\u2902','nvle':'\\u2264\\u20D2','nvlt':'<\\u20D2','nvltrie':'\\u22B4\\u20D2','nvrArr':'\\u2903','nvrtrie':'\\u22B5\\u20D2','nvsim':'\\u223C\\u20D2','nwarhk':'\\u2923','nwarr':'\\u2196','nwArr':'\\u21D6','nwarrow':'\\u2196','nwnear':'\\u2927','oacute':'\\xF3','Oacute':'\\xD3','oast':'\\u229B','ocir':'\\u229A','ocirc':'\\xF4','Ocirc':'\\xD4','ocy':'\\u043E','Ocy':'\\u041E','odash':'\\u229D','odblac':'\\u0151','Odblac':'\\u0150','odiv':'\\u2A38','odot':'\\u2299','odsold':'\\u29BC','oelig':'\\u0153','OElig':'\\u0152','ofcir':'\\u29BF','ofr':'\\uD835\\uDD2C','Ofr':'\\uD835\\uDD12','ogon':'\\u02DB','ograve':'\\xF2','Ograve':'\\xD2','ogt':'\\u29C1','ohbar':'\\u29B5','ohm':'\\u03A9','oint':'\\u222E','olarr':'\\u21BA','olcir':'\\u29BE','olcross':'\\u29BB','oline':'\\u203E','olt':'\\u29C0','omacr':'\\u014D','Omacr':'\\u014C','omega':'\\u03C9','Omega':'\\u03A9','omicron':'\\u03BF','Omicron':'\\u039F','omid':'\\u29B6','ominus':'\\u2296','oopf':'\\uD835\\uDD60','Oopf':'\\uD835\\uDD46','opar':'\\u29B7','OpenCurlyDoubleQuote':'\\u201C','OpenCurlyQuote':'\\u2018','operp':'\\u29B9','oplus':'\\u2295','or':'\\u2228','Or':'\\u2A54','orarr':'\\u21BB','ord':'\\u2A5D','order':'\\u2134','orderof':'\\u2134','ordf':'\\xAA','ordm':'\\xBA','origof':'\\u22B6','oror':'\\u2A56','orslope':'\\u2A57','orv':'\\u2A5B','oS':'\\u24C8','oscr':'\\u2134','Oscr':'\\uD835\\uDCAA','oslash':'\\xF8','Oslash':'\\xD8','osol':'\\u2298','otilde':'\\xF5','Otilde':'\\xD5','otimes':'\\u2297','Otimes':'\\u2A37','otimesas':'\\u2A36','ouml':'\\xF6','Ouml':'\\xD6','ovbar':'\\u233D','OverBar':'\\u203E','OverBrace':'\\u23DE','OverBracket':'\\u23B4','OverParenthesis':'\\u23DC','par':'\\u2225','para':'\\xB6','parallel':'\\u2225','parsim':'\\u2AF3','parsl':'\\u2AFD','part':'\\u2202','PartialD':'\\u2202','pcy':'\\u043F','Pcy':'\\u041F','percnt':'%','period':'.','permil':'\\u2030','perp':'\\u22A5','pertenk':'\\u2031','pfr':'\\uD835\\uDD2D','Pfr':'\\uD835\\uDD13','phi':'\\u03C6','Phi':'\\u03A6','phiv':'\\u03D5','phmmat':'\\u2133','phone':'\\u260E','pi':'\\u03C0','Pi':'\\u03A0','pitchfork':'\\u22D4','piv':'\\u03D6','planck':'\\u210F','planckh':'\\u210E','plankv':'\\u210F','plus':'+','plusacir':'\\u2A23','plusb':'\\u229E','pluscir':'\\u2A22','plusdo':'\\u2214','plusdu':'\\u2A25','pluse':'\\u2A72','PlusMinus':'\\xB1','plusmn':'\\xB1','plussim':'\\u2A26','plustwo':'\\u2A27','pm':'\\xB1','Poincareplane':'\\u210C','pointint':'\\u2A15','popf':'\\uD835\\uDD61','Popf':'\\u2119','pound':'\\xA3','pr':'\\u227A','Pr':'\\u2ABB','prap':'\\u2AB7','prcue':'\\u227C','pre':'\\u2AAF','prE':'\\u2AB3','prec':'\\u227A','precapprox':'\\u2AB7','preccurlyeq':'\\u227C','Precedes':'\\u227A','PrecedesEqual':'\\u2AAF','PrecedesSlantEqual':'\\u227C','PrecedesTilde':'\\u227E','preceq':'\\u2AAF','precnapprox':'\\u2AB9','precneqq':'\\u2AB5','precnsim':'\\u22E8','precsim':'\\u227E','prime':'\\u2032','Prime':'\\u2033','primes':'\\u2119','prnap':'\\u2AB9','prnE':'\\u2AB5','prnsim':'\\u22E8','prod':'\\u220F','Product':'\\u220F','profalar':'\\u232E','profline':'\\u2312','profsurf':'\\u2313','prop':'\\u221D','Proportion':'\\u2237','Proportional':'\\u221D','propto':'\\u221D','prsim':'\\u227E','prurel':'\\u22B0','pscr':'\\uD835\\uDCC5','Pscr':'\\uD835\\uDCAB','psi':'\\u03C8','Psi':'\\u03A8','puncsp':'\\u2008','qfr':'\\uD835\\uDD2E','Qfr':'\\uD835\\uDD14','qint':'\\u2A0C','qopf':'\\uD835\\uDD62','Qopf':'\\u211A','qprime':'\\u2057','qscr':'\\uD835\\uDCC6','Qscr':'\\uD835\\uDCAC','quaternions':'\\u210D','quatint':'\\u2A16','quest':'?','questeq':'\\u225F','quot':'\"','QUOT':'\"','rAarr':'\\u21DB','race':'\\u223D\\u0331','racute':'\\u0155','Racute':'\\u0154','radic':'\\u221A','raemptyv':'\\u29B3','rang':'\\u27E9','Rang':'\\u27EB','rangd':'\\u2992','range':'\\u29A5','rangle':'\\u27E9','raquo':'\\xBB','rarr':'\\u2192','rArr':'\\u21D2','Rarr':'\\u21A0','rarrap':'\\u2975','rarrb':'\\u21E5','rarrbfs':'\\u2920','rarrc':'\\u2933','rarrfs':'\\u291E','rarrhk':'\\u21AA','rarrlp':'\\u21AC','rarrpl':'\\u2945','rarrsim':'\\u2974','rarrtl':'\\u21A3','Rarrtl':'\\u2916','rarrw':'\\u219D','ratail':'\\u291A','rAtail':'\\u291C','ratio':'\\u2236','rationals':'\\u211A','rbarr':'\\u290D','rBarr':'\\u290F','RBarr':'\\u2910','rbbrk':'\\u2773','rbrace':'}','rbrack':']','rbrke':'\\u298C','rbrksld':'\\u298E','rbrkslu':'\\u2990','rcaron':'\\u0159','Rcaron':'\\u0158','rcedil':'\\u0157','Rcedil':'\\u0156','rceil':'\\u2309','rcub':'}','rcy':'\\u0440','Rcy':'\\u0420','rdca':'\\u2937','rdldhar':'\\u2969','rdquo':'\\u201D','rdquor':'\\u201D','rdsh':'\\u21B3','Re':'\\u211C','real':'\\u211C','realine':'\\u211B','realpart':'\\u211C','reals':'\\u211D','rect':'\\u25AD','reg':'\\xAE','REG':'\\xAE','ReverseElement':'\\u220B','ReverseEquilibrium':'\\u21CB','ReverseUpEquilibrium':'\\u296F','rfisht':'\\u297D','rfloor':'\\u230B','rfr':'\\uD835\\uDD2F','Rfr':'\\u211C','rHar':'\\u2964','rhard':'\\u21C1','rharu':'\\u21C0','rharul':'\\u296C','rho':'\\u03C1','Rho':'\\u03A1','rhov':'\\u03F1','RightAngleBracket':'\\u27E9','rightarrow':'\\u2192','Rightarrow':'\\u21D2','RightArrow':'\\u2192','RightArrowBar':'\\u21E5','RightArrowLeftArrow':'\\u21C4','rightarrowtail':'\\u21A3','RightCeiling':'\\u2309','RightDoubleBracket':'\\u27E7','RightDownTeeVector':'\\u295D','RightDownVector':'\\u21C2','RightDownVectorBar':'\\u2955','RightFloor':'\\u230B','rightharpoondown':'\\u21C1','rightharpoonup':'\\u21C0','rightleftarrows':'\\u21C4','rightleftharpoons':'\\u21CC','rightrightarrows':'\\u21C9','rightsquigarrow':'\\u219D','RightTee':'\\u22A2','RightTeeArrow':'\\u21A6','RightTeeVector':'\\u295B','rightthreetimes':'\\u22CC','RightTriangle':'\\u22B3','RightTriangleBar':'\\u29D0','RightTriangleEqual':'\\u22B5','RightUpDownVector':'\\u294F','RightUpTeeVector':'\\u295C','RightUpVector':'\\u21BE','RightUpVectorBar':'\\u2954','RightVector':'\\u21C0','RightVectorBar':'\\u2953','ring':'\\u02DA','risingdotseq':'\\u2253','rlarr':'\\u21C4','rlhar':'\\u21CC','rlm':'\\u200F','rmoust':'\\u23B1','rmoustache':'\\u23B1','rnmid':'\\u2AEE','roang':'\\u27ED','roarr':'\\u21FE','robrk':'\\u27E7','ropar':'\\u2986','ropf':'\\uD835\\uDD63','Ropf':'\\u211D','roplus':'\\u2A2E','rotimes':'\\u2A35','RoundImplies':'\\u2970','rpar':')','rpargt':'\\u2994','rppolint':'\\u2A12','rrarr':'\\u21C9','Rrightarrow':'\\u21DB','rsaquo':'\\u203A','rscr':'\\uD835\\uDCC7','Rscr':'\\u211B','rsh':'\\u21B1','Rsh':'\\u21B1','rsqb':']','rsquo':'\\u2019','rsquor':'\\u2019','rthree':'\\u22CC','rtimes':'\\u22CA','rtri':'\\u25B9','rtrie':'\\u22B5','rtrif':'\\u25B8','rtriltri':'\\u29CE','RuleDelayed':'\\u29F4','ruluhar':'\\u2968','rx':'\\u211E','sacute':'\\u015B','Sacute':'\\u015A','sbquo':'\\u201A','sc':'\\u227B','Sc':'\\u2ABC','scap':'\\u2AB8','scaron':'\\u0161','Scaron':'\\u0160','sccue':'\\u227D','sce':'\\u2AB0','scE':'\\u2AB4','scedil':'\\u015F','Scedil':'\\u015E','scirc':'\\u015D','Scirc':'\\u015C','scnap':'\\u2ABA','scnE':'\\u2AB6','scnsim':'\\u22E9','scpolint':'\\u2A13','scsim':'\\u227F','scy':'\\u0441','Scy':'\\u0421','sdot':'\\u22C5','sdotb':'\\u22A1','sdote':'\\u2A66','searhk':'\\u2925','searr':'\\u2198','seArr':'\\u21D8','searrow':'\\u2198','sect':'\\xA7','semi':';','seswar':'\\u2929','setminus':'\\u2216','setmn':'\\u2216','sext':'\\u2736','sfr':'\\uD835\\uDD30','Sfr':'\\uD835\\uDD16','sfrown':'\\u2322','sharp':'\\u266F','shchcy':'\\u0449','SHCHcy':'\\u0429','shcy':'\\u0448','SHcy':'\\u0428','ShortDownArrow':'\\u2193','ShortLeftArrow':'\\u2190','shortmid':'\\u2223','shortparallel':'\\u2225','ShortRightArrow':'\\u2192','ShortUpArrow':'\\u2191','shy':'\\xAD','sigma':'\\u03C3','Sigma':'\\u03A3','sigmaf':'\\u03C2','sigmav':'\\u03C2','sim':'\\u223C','simdot':'\\u2A6A','sime':'\\u2243','simeq':'\\u2243','simg':'\\u2A9E','simgE':'\\u2AA0','siml':'\\u2A9D','simlE':'\\u2A9F','simne':'\\u2246','simplus':'\\u2A24','simrarr':'\\u2972','slarr':'\\u2190','SmallCircle':'\\u2218','smallsetminus':'\\u2216','smashp':'\\u2A33','smeparsl':'\\u29E4','smid':'\\u2223','smile':'\\u2323','smt':'\\u2AAA','smte':'\\u2AAC','smtes':'\\u2AAC\\uFE00','softcy':'\\u044C','SOFTcy':'\\u042C','sol':'/','solb':'\\u29C4','solbar':'\\u233F','sopf':'\\uD835\\uDD64','Sopf':'\\uD835\\uDD4A','spades':'\\u2660','spadesuit':'\\u2660','spar':'\\u2225','sqcap':'\\u2293','sqcaps':'\\u2293\\uFE00','sqcup':'\\u2294','sqcups':'\\u2294\\uFE00','Sqrt':'\\u221A','sqsub':'\\u228F','sqsube':'\\u2291','sqsubset':'\\u228F','sqsubseteq':'\\u2291','sqsup':'\\u2290','sqsupe':'\\u2292','sqsupset':'\\u2290','sqsupseteq':'\\u2292','squ':'\\u25A1','square':'\\u25A1','Square':'\\u25A1','SquareIntersection':'\\u2293','SquareSubset':'\\u228F','SquareSubsetEqual':'\\u2291','SquareSuperset':'\\u2290','SquareSupersetEqual':'\\u2292','SquareUnion':'\\u2294','squarf':'\\u25AA','squf':'\\u25AA','srarr':'\\u2192','sscr':'\\uD835\\uDCC8','Sscr':'\\uD835\\uDCAE','ssetmn':'\\u2216','ssmile':'\\u2323','sstarf':'\\u22C6','star':'\\u2606','Star':'\\u22C6','starf':'\\u2605','straightepsilon':'\\u03F5','straightphi':'\\u03D5','strns':'\\xAF','sub':'\\u2282','Sub':'\\u22D0','subdot':'\\u2ABD','sube':'\\u2286','subE':'\\u2AC5','subedot':'\\u2AC3','submult':'\\u2AC1','subne':'\\u228A','subnE':'\\u2ACB','subplus':'\\u2ABF','subrarr':'\\u2979','subset':'\\u2282','Subset':'\\u22D0','subseteq':'\\u2286','subseteqq':'\\u2AC5','SubsetEqual':'\\u2286','subsetneq':'\\u228A','subsetneqq':'\\u2ACB','subsim':'\\u2AC7','subsub':'\\u2AD5','subsup':'\\u2AD3','succ':'\\u227B','succapprox':'\\u2AB8','succcurlyeq':'\\u227D','Succeeds':'\\u227B','SucceedsEqual':'\\u2AB0','SucceedsSlantEqual':'\\u227D','SucceedsTilde':'\\u227F','succeq':'\\u2AB0','succnapprox':'\\u2ABA','succneqq':'\\u2AB6','succnsim':'\\u22E9','succsim':'\\u227F','SuchThat':'\\u220B','sum':'\\u2211','Sum':'\\u2211','sung':'\\u266A','sup':'\\u2283','Sup':'\\u22D1','sup1':'\\xB9','sup2':'\\xB2','sup3':'\\xB3','supdot':'\\u2ABE','supdsub':'\\u2AD8','supe':'\\u2287','supE':'\\u2AC6','supedot':'\\u2AC4','Superset':'\\u2283','SupersetEqual':'\\u2287','suphsol':'\\u27C9','suphsub':'\\u2AD7','suplarr':'\\u297B','supmult':'\\u2AC2','supne':'\\u228B','supnE':'\\u2ACC','supplus':'\\u2AC0','supset':'\\u2283','Supset':'\\u22D1','supseteq':'\\u2287','supseteqq':'\\u2AC6','supsetneq':'\\u228B','supsetneqq':'\\u2ACC','supsim':'\\u2AC8','supsub':'\\u2AD4','supsup':'\\u2AD6','swarhk':'\\u2926','swarr':'\\u2199','swArr':'\\u21D9','swarrow':'\\u2199','swnwar':'\\u292A','szlig':'\\xDF','Tab':'\\t','target':'\\u2316','tau':'\\u03C4','Tau':'\\u03A4','tbrk':'\\u23B4','tcaron':'\\u0165','Tcaron':'\\u0164','tcedil':'\\u0163','Tcedil':'\\u0162','tcy':'\\u0442','Tcy':'\\u0422','tdot':'\\u20DB','telrec':'\\u2315','tfr':'\\uD835\\uDD31','Tfr':'\\uD835\\uDD17','there4':'\\u2234','therefore':'\\u2234','Therefore':'\\u2234','theta':'\\u03B8','Theta':'\\u0398','thetasym':'\\u03D1','thetav':'\\u03D1','thickapprox':'\\u2248','thicksim':'\\u223C','ThickSpace':'\\u205F\\u200A','thinsp':'\\u2009','ThinSpace':'\\u2009','thkap':'\\u2248','thksim':'\\u223C','thorn':'\\xFE','THORN':'\\xDE','tilde':'\\u02DC','Tilde':'\\u223C','TildeEqual':'\\u2243','TildeFullEqual':'\\u2245','TildeTilde':'\\u2248','times':'\\xD7','timesb':'\\u22A0','timesbar':'\\u2A31','timesd':'\\u2A30','tint':'\\u222D','toea':'\\u2928','top':'\\u22A4','topbot':'\\u2336','topcir':'\\u2AF1','topf':'\\uD835\\uDD65','Topf':'\\uD835\\uDD4B','topfork':'\\u2ADA','tosa':'\\u2929','tprime':'\\u2034','trade':'\\u2122','TRADE':'\\u2122','triangle':'\\u25B5','triangledown':'\\u25BF','triangleleft':'\\u25C3','trianglelefteq':'\\u22B4','triangleq':'\\u225C','triangleright':'\\u25B9','trianglerighteq':'\\u22B5','tridot':'\\u25EC','trie':'\\u225C','triminus':'\\u2A3A','TripleDot':'\\u20DB','triplus':'\\u2A39','trisb':'\\u29CD','tritime':'\\u2A3B','trpezium':'\\u23E2','tscr':'\\uD835\\uDCC9','Tscr':'\\uD835\\uDCAF','tscy':'\\u0446','TScy':'\\u0426','tshcy':'\\u045B','TSHcy':'\\u040B','tstrok':'\\u0167','Tstrok':'\\u0166','twixt':'\\u226C','twoheadleftarrow':'\\u219E','twoheadrightarrow':'\\u21A0','uacute':'\\xFA','Uacute':'\\xDA','uarr':'\\u2191','uArr':'\\u21D1','Uarr':'\\u219F','Uarrocir':'\\u2949','ubrcy':'\\u045E','Ubrcy':'\\u040E','ubreve':'\\u016D','Ubreve':'\\u016C','ucirc':'\\xFB','Ucirc':'\\xDB','ucy':'\\u0443','Ucy':'\\u0423','udarr':'\\u21C5','udblac':'\\u0171','Udblac':'\\u0170','udhar':'\\u296E','ufisht':'\\u297E','ufr':'\\uD835\\uDD32','Ufr':'\\uD835\\uDD18','ugrave':'\\xF9','Ugrave':'\\xD9','uHar':'\\u2963','uharl':'\\u21BF','uharr':'\\u21BE','uhblk':'\\u2580','ulcorn':'\\u231C','ulcorner':'\\u231C','ulcrop':'\\u230F','ultri':'\\u25F8','umacr':'\\u016B','Umacr':'\\u016A','uml':'\\xA8','UnderBar':'_','UnderBrace':'\\u23DF','UnderBracket':'\\u23B5','UnderParenthesis':'\\u23DD','Union':'\\u22C3','UnionPlus':'\\u228E','uogon':'\\u0173','Uogon':'\\u0172','uopf':'\\uD835\\uDD66','Uopf':'\\uD835\\uDD4C','uparrow':'\\u2191','Uparrow':'\\u21D1','UpArrow':'\\u2191','UpArrowBar':'\\u2912','UpArrowDownArrow':'\\u21C5','updownarrow':'\\u2195','Updownarrow':'\\u21D5','UpDownArrow':'\\u2195','UpEquilibrium':'\\u296E','upharpoonleft':'\\u21BF','upharpoonright':'\\u21BE','uplus':'\\u228E','UpperLeftArrow':'\\u2196','UpperRightArrow':'\\u2197','upsi':'\\u03C5','Upsi':'\\u03D2','upsih':'\\u03D2','upsilon':'\\u03C5','Upsilon':'\\u03A5','UpTee':'\\u22A5','UpTeeArrow':'\\u21A5','upuparrows':'\\u21C8','urcorn':'\\u231D','urcorner':'\\u231D','urcrop':'\\u230E','uring':'\\u016F','Uring':'\\u016E','urtri':'\\u25F9','uscr':'\\uD835\\uDCCA','Uscr':'\\uD835\\uDCB0','utdot':'\\u22F0','utilde':'\\u0169','Utilde':'\\u0168','utri':'\\u25B5','utrif':'\\u25B4','uuarr':'\\u21C8','uuml':'\\xFC','Uuml':'\\xDC','uwangle':'\\u29A7','vangrt':'\\u299C','varepsilon':'\\u03F5','varkappa':'\\u03F0','varnothing':'\\u2205','varphi':'\\u03D5','varpi':'\\u03D6','varpropto':'\\u221D','varr':'\\u2195','vArr':'\\u21D5','varrho':'\\u03F1','varsigma':'\\u03C2','varsubsetneq':'\\u228A\\uFE00','varsubsetneqq':'\\u2ACB\\uFE00','varsupsetneq':'\\u228B\\uFE00','varsupsetneqq':'\\u2ACC\\uFE00','vartheta':'\\u03D1','vartriangleleft':'\\u22B2','vartriangleright':'\\u22B3','vBar':'\\u2AE8','Vbar':'\\u2AEB','vBarv':'\\u2AE9','vcy':'\\u0432','Vcy':'\\u0412','vdash':'\\u22A2','vDash':'\\u22A8','Vdash':'\\u22A9','VDash':'\\u22AB','Vdashl':'\\u2AE6','vee':'\\u2228','Vee':'\\u22C1','veebar':'\\u22BB','veeeq':'\\u225A','vellip':'\\u22EE','verbar':'|','Verbar':'\\u2016','vert':'|','Vert':'\\u2016','VerticalBar':'\\u2223','VerticalLine':'|','VerticalSeparator':'\\u2758','VerticalTilde':'\\u2240','VeryThinSpace':'\\u200A','vfr':'\\uD835\\uDD33','Vfr':'\\uD835\\uDD19','vltri':'\\u22B2','vnsub':'\\u2282\\u20D2','vnsup':'\\u2283\\u20D2','vopf':'\\uD835\\uDD67','Vopf':'\\uD835\\uDD4D','vprop':'\\u221D','vrtri':'\\u22B3','vscr':'\\uD835\\uDCCB','Vscr':'\\uD835\\uDCB1','vsubne':'\\u228A\\uFE00','vsubnE':'\\u2ACB\\uFE00','vsupne':'\\u228B\\uFE00','vsupnE':'\\u2ACC\\uFE00','Vvdash':'\\u22AA','vzigzag':'\\u299A','wcirc':'\\u0175','Wcirc':'\\u0174','wedbar':'\\u2A5F','wedge':'\\u2227','Wedge':'\\u22C0','wedgeq':'\\u2259','weierp':'\\u2118','wfr':'\\uD835\\uDD34','Wfr':'\\uD835\\uDD1A','wopf':'\\uD835\\uDD68','Wopf':'\\uD835\\uDD4E','wp':'\\u2118','wr':'\\u2240','wreath':'\\u2240','wscr':'\\uD835\\uDCCC','Wscr':'\\uD835\\uDCB2','xcap':'\\u22C2','xcirc':'\\u25EF','xcup':'\\u22C3','xdtri':'\\u25BD','xfr':'\\uD835\\uDD35','Xfr':'\\uD835\\uDD1B','xharr':'\\u27F7','xhArr':'\\u27FA','xi':'\\u03BE','Xi':'\\u039E','xlarr':'\\u27F5','xlArr':'\\u27F8','xmap':'\\u27FC','xnis':'\\u22FB','xodot':'\\u2A00','xopf':'\\uD835\\uDD69','Xopf':'\\uD835\\uDD4F','xoplus':'\\u2A01','xotime':'\\u2A02','xrarr':'\\u27F6','xrArr':'\\u27F9','xscr':'\\uD835\\uDCCD','Xscr':'\\uD835\\uDCB3','xsqcup':'\\u2A06','xuplus':'\\u2A04','xutri':'\\u25B3','xvee':'\\u22C1','xwedge':'\\u22C0','yacute':'\\xFD','Yacute':'\\xDD','yacy':'\\u044F','YAcy':'\\u042F','ycirc':'\\u0177','Ycirc':'\\u0176','ycy':'\\u044B','Ycy':'\\u042B','yen':'\\xA5','yfr':'\\uD835\\uDD36','Yfr':'\\uD835\\uDD1C','yicy':'\\u0457','YIcy':'\\u0407','yopf':'\\uD835\\uDD6A','Yopf':'\\uD835\\uDD50','yscr':'\\uD835\\uDCCE','Yscr':'\\uD835\\uDCB4','yucy':'\\u044E','YUcy':'\\u042E','yuml':'\\xFF','Yuml':'\\u0178','zacute':'\\u017A','Zacute':'\\u0179','zcaron':'\\u017E','Zcaron':'\\u017D','zcy':'\\u0437','Zcy':'\\u0417','zdot':'\\u017C','Zdot':'\\u017B','zeetrf':'\\u2128','ZeroWidthSpace':'\\u200B','zeta':'\\u03B6','Zeta':'\\u0396','zfr':'\\uD835\\uDD37','Zfr':'\\u2128','zhcy':'\\u0436','ZHcy':'\\u0416','zigrarr':'\\u21DD','zopf':'\\uD835\\uDD6B','Zopf':'\\u2124','zscr':'\\uD835\\uDCCF','Zscr':'\\uD835\\uDCB5','zwj':'\\u200D','zwnj':'\\u200C'};\n\tvar decodeMapLegacy = {'aacute':'\\xE1','Aacute':'\\xC1','acirc':'\\xE2','Acirc':'\\xC2','acute':'\\xB4','aelig':'\\xE6','AElig':'\\xC6','agrave':'\\xE0','Agrave':'\\xC0','amp':'&','AMP':'&','aring':'\\xE5','Aring':'\\xC5','atilde':'\\xE3','Atilde':'\\xC3','auml':'\\xE4','Auml':'\\xC4','brvbar':'\\xA6','ccedil':'\\xE7','Ccedil':'\\xC7','cedil':'\\xB8','cent':'\\xA2','copy':'\\xA9','COPY':'\\xA9','curren':'\\xA4','deg':'\\xB0','divide':'\\xF7','eacute':'\\xE9','Eacute':'\\xC9','ecirc':'\\xEA','Ecirc':'\\xCA','egrave':'\\xE8','Egrave':'\\xC8','eth':'\\xF0','ETH':'\\xD0','euml':'\\xEB','Euml':'\\xCB','frac12':'\\xBD','frac14':'\\xBC','frac34':'\\xBE','gt':'>','GT':'>','iacute':'\\xED','Iacute':'\\xCD','icirc':'\\xEE','Icirc':'\\xCE','iexcl':'\\xA1','igrave':'\\xEC','Igrave':'\\xCC','iquest':'\\xBF','iuml':'\\xEF','Iuml':'\\xCF','laquo':'\\xAB','lt':'<','LT':'<','macr':'\\xAF','micro':'\\xB5','middot':'\\xB7','nbsp':'\\xA0','not':'\\xAC','ntilde':'\\xF1','Ntilde':'\\xD1','oacute':'\\xF3','Oacute':'\\xD3','ocirc':'\\xF4','Ocirc':'\\xD4','ograve':'\\xF2','Ograve':'\\xD2','ordf':'\\xAA','ordm':'\\xBA','oslash':'\\xF8','Oslash':'\\xD8','otilde':'\\xF5','Otilde':'\\xD5','ouml':'\\xF6','Ouml':'\\xD6','para':'\\xB6','plusmn':'\\xB1','pound':'\\xA3','quot':'\"','QUOT':'\"','raquo':'\\xBB','reg':'\\xAE','REG':'\\xAE','sect':'\\xA7','shy':'\\xAD','sup1':'\\xB9','sup2':'\\xB2','sup3':'\\xB3','szlig':'\\xDF','thorn':'\\xFE','THORN':'\\xDE','times':'\\xD7','uacute':'\\xFA','Uacute':'\\xDA','ucirc':'\\xFB','Ucirc':'\\xDB','ugrave':'\\xF9','Ugrave':'\\xD9','uml':'\\xA8','uuml':'\\xFC','Uuml':'\\xDC','yacute':'\\xFD','Yacute':'\\xDD','yen':'\\xA5','yuml':'\\xFF'};\n\tvar decodeMapNumeric = {'0':'\\uFFFD','128':'\\u20AC','130':'\\u201A','131':'\\u0192','132':'\\u201E','133':'\\u2026','134':'\\u2020','135':'\\u2021','136':'\\u02C6','137':'\\u2030','138':'\\u0160','139':'\\u2039','140':'\\u0152','142':'\\u017D','145':'\\u2018','146':'\\u2019','147':'\\u201C','148':'\\u201D','149':'\\u2022','150':'\\u2013','151':'\\u2014','152':'\\u02DC','153':'\\u2122','154':'\\u0161','155':'\\u203A','156':'\\u0153','158':'\\u017E','159':'\\u0178'};\n\tvar invalidReferenceCodePoints = [1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65000,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111];\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar stringFromCharCode = String.fromCharCode;\n\n\tvar object = {};\n\tvar hasOwnProperty = object.hasOwnProperty;\n\tvar has = function(object, propertyName) {\n\t\treturn hasOwnProperty.call(object, propertyName);\n\t};\n\n\tvar contains = function(array, value) {\n\t\tvar index = -1;\n\t\tvar length = array.length;\n\t\twhile (++index < length) {\n\t\t\tif (array[index] == value) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t};\n\n\tvar merge = function(options, defaults) {\n\t\tif (!options) {\n\t\t\treturn defaults;\n\t\t}\n\t\tvar result = {};\n\t\tvar key;\n\t\tfor (key in defaults) {\n\t\t\t// A `hasOwnProperty` check is not needed here, since only recognized\n\t\t\t// option names are used anyway. Any others are ignored.\n\t\t\tresult[key] = has(options, key) ? options[key] : defaults[key];\n\t\t}\n\t\treturn result;\n\t};\n\n\t// Modified version of `ucs2encode`; see https://mths.be/punycode.\n\tvar codePointToSymbol = function(codePoint, strict) {\n\t\tvar output = '';\n\t\tif ((codePoint >= 0xD800 && codePoint <= 0xDFFF) || codePoint > 0x10FFFF) {\n\t\t\t// See issue #4:\n\t\t\t// “Otherwise, if the number is in the range 0xD800 to 0xDFFF or is\n\t\t\t// greater than 0x10FFFF, then this is a parse error. Return a U+FFFD\n\t\t\t// REPLACEMENT CHARACTER.”\n\t\t\tif (strict) {\n\t\t\t\tparseError('character reference outside the permissible Unicode range');\n\t\t\t}\n\t\t\treturn '\\uFFFD';\n\t\t}\n\t\tif (has(decodeMapNumeric, codePoint)) {\n\t\t\tif (strict) {\n\t\t\t\tparseError('disallowed character reference');\n\t\t\t}\n\t\t\treturn decodeMapNumeric[codePoint];\n\t\t}\n\t\tif (strict && contains(invalidReferenceCodePoints, codePoint)) {\n\t\t\tparseError('disallowed character reference');\n\t\t}\n\t\tif (codePoint > 0xFFFF) {\n\t\t\tcodePoint -= 0x10000;\n\t\t\toutput += stringFromCharCode(codePoint >>> 10 & 0x3FF | 0xD800);\n\t\t\tcodePoint = 0xDC00 | codePoint & 0x3FF;\n\t\t}\n\t\toutput += stringFromCharCode(codePoint);\n\t\treturn output;\n\t};\n\n\tvar hexEscape = function(codePoint) {\n\t\treturn '&#x' + codePoint.toString(16).toUpperCase() + ';';\n\t};\n\n\tvar decEscape = function(codePoint) {\n\t\treturn '&#' + codePoint + ';';\n\t};\n\n\tvar parseError = function(message) {\n\t\tthrow Error('Parse error: ' + message);\n\t};\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar encode = function(string, options) {\n\t\toptions = merge(options, encode.options);\n\t\tvar strict = options.strict;\n\t\tif (strict && regexInvalidRawCodePoint.test(string)) {\n\t\t\tparseError('forbidden code point');\n\t\t}\n\t\tvar encodeEverything = options.encodeEverything;\n\t\tvar useNamedReferences = options.useNamedReferences;\n\t\tvar allowUnsafeSymbols = options.allowUnsafeSymbols;\n\t\tvar escapeCodePoint = options.decimal ? decEscape : hexEscape;\n\n\t\tvar escapeBmpSymbol = function(symbol) {\n\t\t\treturn escapeCodePoint(symbol.charCodeAt(0));\n\t\t};\n\n\t\tif (encodeEverything) {\n\t\t\t// Encode ASCII symbols.\n\t\t\tstring = string.replace(regexAsciiWhitelist, function(symbol) {\n\t\t\t\t// Use named references if requested & possible.\n\t\t\t\tif (useNamedReferences && has(encodeMap, symbol)) {\n\t\t\t\t\treturn '&' + encodeMap[symbol] + ';';\n\t\t\t\t}\n\t\t\t\treturn escapeBmpSymbol(symbol);\n\t\t\t});\n\t\t\t// Shorten a few escapes that represent two symbols, of which at least one\n\t\t\t// is within the ASCII range.\n\t\t\tif (useNamedReferences) {\n\t\t\t\tstring = string\n\t\t\t\t\t.replace(/>\\u20D2/g, '>⃒')\n\t\t\t\t\t.replace(/<\\u20D2/g, '<⃒')\n\t\t\t\t\t.replace(/fj/g, 'fj');\n\t\t\t}\n\t\t\t// Encode non-ASCII symbols.\n\t\t\tif (useNamedReferences) {\n\t\t\t\t// Encode non-ASCII symbols that can be replaced with a named reference.\n\t\t\t\tstring = string.replace(regexEncodeNonAscii, function(string) {\n\t\t\t\t\t// Note: there is no need to check `has(encodeMap, string)` here.\n\t\t\t\t\treturn '&' + encodeMap[string] + ';';\n\t\t\t\t});\n\t\t\t}\n\t\t\t// Note: any remaining non-ASCII symbols are handled outside of the `if`.\n\t\t} else if (useNamedReferences) {\n\t\t\t// Apply named character references.\n\t\t\t// Encode `<>\"'&` using named character references.\n\t\t\tif (!allowUnsafeSymbols) {\n\t\t\t\tstring = string.replace(regexEscape, function(string) {\n\t\t\t\t\treturn '&' + encodeMap[string] + ';'; // no need to check `has()` here\n\t\t\t\t});\n\t\t\t}\n\t\t\t// Shorten escapes that represent two symbols, of which at least one is\n\t\t\t// `<>\"'&`.\n\t\t\tstring = string\n\t\t\t\t.replace(/>\\u20D2/g, '>⃒')\n\t\t\t\t.replace(/<\\u20D2/g, '<⃒');\n\t\t\t// Encode non-ASCII symbols that can be replaced with a named reference.\n\t\t\tstring = string.replace(regexEncodeNonAscii, function(string) {\n\t\t\t\t// Note: there is no need to check `has(encodeMap, string)` here.\n\t\t\t\treturn '&' + encodeMap[string] + ';';\n\t\t\t});\n\t\t} else if (!allowUnsafeSymbols) {\n\t\t\t// Encode `<>\"'&` using hexadecimal escapes, now that they’re not handled\n\t\t\t// using named character references.\n\t\t\tstring = string.replace(regexEscape, escapeBmpSymbol);\n\t\t}\n\t\treturn string\n\t\t\t// Encode astral symbols.\n\t\t\t.replace(regexAstralSymbols, function($0) {\n\t\t\t\t// https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n\t\t\t\tvar high = $0.charCodeAt(0);\n\t\t\t\tvar low = $0.charCodeAt(1);\n\t\t\t\tvar codePoint = (high - 0xD800) * 0x400 + low - 0xDC00 + 0x10000;\n\t\t\t\treturn escapeCodePoint(codePoint);\n\t\t\t})\n\t\t\t// Encode any remaining BMP symbols that are not printable ASCII symbols\n\t\t\t// using a hexadecimal escape.\n\t\t\t.replace(regexBmpWhitelist, escapeBmpSymbol);\n\t};\n\t// Expose default options (so they can be overridden globally).\n\tencode.options = {\n\t\t'allowUnsafeSymbols': false,\n\t\t'encodeEverything': false,\n\t\t'strict': false,\n\t\t'useNamedReferences': false,\n\t\t'decimal' : false\n\t};\n\n\tvar decode = function(html, options) {\n\t\toptions = merge(options, decode.options);\n\t\tvar strict = options.strict;\n\t\tif (strict && regexInvalidEntity.test(html)) {\n\t\t\tparseError('malformed character reference');\n\t\t}\n\t\treturn html.replace(regexDecode, function($0, $1, $2, $3, $4, $5, $6, $7, $8) {\n\t\t\tvar codePoint;\n\t\t\tvar semicolon;\n\t\t\tvar decDigits;\n\t\t\tvar hexDigits;\n\t\t\tvar reference;\n\t\t\tvar next;\n\n\t\t\tif ($1) {\n\t\t\t\treference = $1;\n\t\t\t\t// Note: there is no need to check `has(decodeMap, reference)`.\n\t\t\t\treturn decodeMap[reference];\n\t\t\t}\n\n\t\t\tif ($2) {\n\t\t\t\t// Decode named character references without trailing `;`, e.g. `&`.\n\t\t\t\t// This is only a parse error if it gets converted to `&`, or if it is\n\t\t\t\t// followed by `=` in an attribute context.\n\t\t\t\treference = $2;\n\t\t\t\tnext = $3;\n\t\t\t\tif (next && options.isAttributeValue) {\n\t\t\t\t\tif (strict && next == '=') {\n\t\t\t\t\t\tparseError('`&` did not start a character reference');\n\t\t\t\t\t}\n\t\t\t\t\treturn $0;\n\t\t\t\t} else {\n\t\t\t\t\tif (strict) {\n\t\t\t\t\t\tparseError(\n\t\t\t\t\t\t\t'named character reference was not terminated by a semicolon'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\t// Note: there is no need to check `has(decodeMapLegacy, reference)`.\n\t\t\t\t\treturn decodeMapLegacy[reference] + (next || '');\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ($4) {\n\t\t\t\t// Decode decimal escapes, e.g. `𝌆`.\n\t\t\t\tdecDigits = $4;\n\t\t\t\tsemicolon = $5;\n\t\t\t\tif (strict && !semicolon) {\n\t\t\t\t\tparseError('character reference was not terminated by a semicolon');\n\t\t\t\t}\n\t\t\t\tcodePoint = parseInt(decDigits, 10);\n\t\t\t\treturn codePointToSymbol(codePoint, strict);\n\t\t\t}\n\n\t\t\tif ($6) {\n\t\t\t\t// Decode hexadecimal escapes, e.g. `𝌆`.\n\t\t\t\thexDigits = $6;\n\t\t\t\tsemicolon = $7;\n\t\t\t\tif (strict && !semicolon) {\n\t\t\t\t\tparseError('character reference was not terminated by a semicolon');\n\t\t\t\t}\n\t\t\t\tcodePoint = parseInt(hexDigits, 16);\n\t\t\t\treturn codePointToSymbol(codePoint, strict);\n\t\t\t}\n\n\t\t\t// If we’re still here, `if ($7)` is implied; it’s an ambiguous\n\t\t\t// ampersand for sure. https://mths.be/notes/ambiguous-ampersands\n\t\t\tif (strict) {\n\t\t\t\tparseError(\n\t\t\t\t\t'named character reference was not terminated by a semicolon'\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn $0;\n\t\t});\n\t};\n\t// Expose default options (so they can be overridden globally).\n\tdecode.options = {\n\t\t'isAttributeValue': false,\n\t\t'strict': false\n\t};\n\n\tvar escape = function(string) {\n\t\treturn string.replace(regexEscape, function($0) {\n\t\t\t// Note: there is no need to check `has(escapeMap, $0)` here.\n\t\t\treturn escapeMap[$0];\n\t\t});\n\t};\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar he = {\n\t\t'version': '1.2.0',\n\t\t'encode': encode,\n\t\t'decode': decode,\n\t\t'escape': escape,\n\t\t'unescape': decode\n\t};\n\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine(function() {\n\t\t\treturn he;\n\t\t});\n\t}\telse if (freeExports && !freeExports.nodeType) {\n\t\tif (freeModule) { // in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = he;\n\t\t} else { // in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (var key in he) {\n\t\t\t\thas(he, key) && (freeExports[key] = he[key]);\n\t\t\t}\n\t\t}\n\t} else { // in Rhino or a web browser\n\t\troot.he = he;\n\t}\n\n}(this));\n","var map = {\n\t\"./af\": 42786,\n\t\"./af.js\": 42786,\n\t\"./ar\": 30867,\n\t\"./ar-dz\": 14130,\n\t\"./ar-dz.js\": 14130,\n\t\"./ar-kw\": 96135,\n\t\"./ar-kw.js\": 96135,\n\t\"./ar-ly\": 56440,\n\t\"./ar-ly.js\": 56440,\n\t\"./ar-ma\": 47702,\n\t\"./ar-ma.js\": 47702,\n\t\"./ar-sa\": 16040,\n\t\"./ar-sa.js\": 16040,\n\t\"./ar-tn\": 37100,\n\t\"./ar-tn.js\": 37100,\n\t\"./ar.js\": 30867,\n\t\"./az\": 31083,\n\t\"./az.js\": 31083,\n\t\"./be\": 9808,\n\t\"./be.js\": 9808,\n\t\"./bg\": 68338,\n\t\"./bg.js\": 68338,\n\t\"./bm\": 67438,\n\t\"./bm.js\": 67438,\n\t\"./bn\": 8905,\n\t\"./bn-bd\": 76225,\n\t\"./bn-bd.js\": 76225,\n\t\"./bn.js\": 8905,\n\t\"./bo\": 11560,\n\t\"./bo.js\": 11560,\n\t\"./br\": 1278,\n\t\"./br.js\": 1278,\n\t\"./bs\": 80622,\n\t\"./bs.js\": 80622,\n\t\"./ca\": 2468,\n\t\"./ca.js\": 2468,\n\t\"./cs\": 5822,\n\t\"./cs.js\": 5822,\n\t\"./cv\": 50877,\n\t\"./cv.js\": 50877,\n\t\"./cy\": 47373,\n\t\"./cy.js\": 47373,\n\t\"./da\": 24780,\n\t\"./da.js\": 24780,\n\t\"./de\": 59740,\n\t\"./de-at\": 60217,\n\t\"./de-at.js\": 60217,\n\t\"./de-ch\": 60894,\n\t\"./de-ch.js\": 60894,\n\t\"./de.js\": 59740,\n\t\"./dv\": 5300,\n\t\"./dv.js\": 5300,\n\t\"./el\": 50837,\n\t\"./el.js\": 50837,\n\t\"./en-au\": 78348,\n\t\"./en-au.js\": 78348,\n\t\"./en-ca\": 77925,\n\t\"./en-ca.js\": 77925,\n\t\"./en-gb\": 22243,\n\t\"./en-gb.js\": 22243,\n\t\"./en-ie\": 46436,\n\t\"./en-ie.js\": 46436,\n\t\"./en-il\": 47207,\n\t\"./en-il.js\": 47207,\n\t\"./en-in\": 44175,\n\t\"./en-in.js\": 44175,\n\t\"./en-nz\": 76319,\n\t\"./en-nz.js\": 76319,\n\t\"./en-sg\": 31662,\n\t\"./en-sg.js\": 31662,\n\t\"./eo\": 92915,\n\t\"./eo.js\": 92915,\n\t\"./es\": 55655,\n\t\"./es-do\": 55251,\n\t\"./es-do.js\": 55251,\n\t\"./es-mx\": 96112,\n\t\"./es-mx.js\": 96112,\n\t\"./es-us\": 71146,\n\t\"./es-us.js\": 71146,\n\t\"./es.js\": 55655,\n\t\"./et\": 5603,\n\t\"./et.js\": 5603,\n\t\"./eu\": 77763,\n\t\"./eu.js\": 77763,\n\t\"./fa\": 76959,\n\t\"./fa.js\": 76959,\n\t\"./fi\": 11897,\n\t\"./fi.js\": 11897,\n\t\"./fil\": 42549,\n\t\"./fil.js\": 42549,\n\t\"./fo\": 94694,\n\t\"./fo.js\": 94694,\n\t\"./fr\": 94470,\n\t\"./fr-ca\": 63049,\n\t\"./fr-ca.js\": 63049,\n\t\"./fr-ch\": 52330,\n\t\"./fr-ch.js\": 52330,\n\t\"./fr.js\": 94470,\n\t\"./fy\": 5044,\n\t\"./fy.js\": 5044,\n\t\"./ga\": 29295,\n\t\"./ga.js\": 29295,\n\t\"./gd\": 2101,\n\t\"./gd.js\": 2101,\n\t\"./gl\": 38794,\n\t\"./gl.js\": 38794,\n\t\"./gom-deva\": 27884,\n\t\"./gom-deva.js\": 27884,\n\t\"./gom-latn\": 23168,\n\t\"./gom-latn.js\": 23168,\n\t\"./gu\": 95349,\n\t\"./gu.js\": 95349,\n\t\"./he\": 24206,\n\t\"./he.js\": 24206,\n\t\"./hi\": 30094,\n\t\"./hi.js\": 30094,\n\t\"./hr\": 30316,\n\t\"./hr.js\": 30316,\n\t\"./hu\": 22138,\n\t\"./hu.js\": 22138,\n\t\"./hy-am\": 11423,\n\t\"./hy-am.js\": 11423,\n\t\"./id\": 29218,\n\t\"./id.js\": 29218,\n\t\"./is\": 90135,\n\t\"./is.js\": 90135,\n\t\"./it\": 90626,\n\t\"./it-ch\": 10150,\n\t\"./it-ch.js\": 10150,\n\t\"./it.js\": 90626,\n\t\"./ja\": 39183,\n\t\"./ja.js\": 39183,\n\t\"./jv\": 24286,\n\t\"./jv.js\": 24286,\n\t\"./ka\": 12105,\n\t\"./ka.js\": 12105,\n\t\"./kk\": 47772,\n\t\"./kk.js\": 47772,\n\t\"./km\": 18758,\n\t\"./km.js\": 18758,\n\t\"./kn\": 79282,\n\t\"./kn.js\": 79282,\n\t\"./ko\": 33730,\n\t\"./ko.js\": 33730,\n\t\"./ku\": 1408,\n\t\"./ku.js\": 1408,\n\t\"./ky\": 33291,\n\t\"./ky.js\": 33291,\n\t\"./lb\": 36841,\n\t\"./lb.js\": 36841,\n\t\"./lo\": 55466,\n\t\"./lo.js\": 55466,\n\t\"./lt\": 57010,\n\t\"./lt.js\": 57010,\n\t\"./lv\": 37595,\n\t\"./lv.js\": 37595,\n\t\"./me\": 39861,\n\t\"./me.js\": 39861,\n\t\"./mi\": 35493,\n\t\"./mi.js\": 35493,\n\t\"./mk\": 95966,\n\t\"./mk.js\": 95966,\n\t\"./ml\": 87341,\n\t\"./ml.js\": 87341,\n\t\"./mn\": 5115,\n\t\"./mn.js\": 5115,\n\t\"./mr\": 10370,\n\t\"./mr.js\": 10370,\n\t\"./ms\": 9847,\n\t\"./ms-my\": 41237,\n\t\"./ms-my.js\": 41237,\n\t\"./ms.js\": 9847,\n\t\"./mt\": 72126,\n\t\"./mt.js\": 72126,\n\t\"./my\": 56165,\n\t\"./my.js\": 56165,\n\t\"./nb\": 64924,\n\t\"./nb.js\": 64924,\n\t\"./ne\": 16744,\n\t\"./ne.js\": 16744,\n\t\"./nl\": 93901,\n\t\"./nl-be\": 59814,\n\t\"./nl-be.js\": 59814,\n\t\"./nl.js\": 93901,\n\t\"./nn\": 83877,\n\t\"./nn.js\": 83877,\n\t\"./oc-lnc\": 92135,\n\t\"./oc-lnc.js\": 92135,\n\t\"./pa-in\": 15858,\n\t\"./pa-in.js\": 15858,\n\t\"./pl\": 64495,\n\t\"./pl.js\": 64495,\n\t\"./pt\": 89520,\n\t\"./pt-br\": 57971,\n\t\"./pt-br.js\": 57971,\n\t\"./pt.js\": 89520,\n\t\"./ro\": 96459,\n\t\"./ro.js\": 96459,\n\t\"./ru\": 21793,\n\t\"./ru.js\": 21793,\n\t\"./sd\": 40950,\n\t\"./sd.js\": 40950,\n\t\"./se\": 10490,\n\t\"./se.js\": 10490,\n\t\"./si\": 90124,\n\t\"./si.js\": 90124,\n\t\"./sk\": 64249,\n\t\"./sk.js\": 64249,\n\t\"./sl\": 14985,\n\t\"./sl.js\": 14985,\n\t\"./sq\": 51104,\n\t\"./sq.js\": 51104,\n\t\"./sr\": 49131,\n\t\"./sr-cyrl\": 79915,\n\t\"./sr-cyrl.js\": 79915,\n\t\"./sr.js\": 49131,\n\t\"./ss\": 85893,\n\t\"./ss.js\": 85893,\n\t\"./sv\": 98760,\n\t\"./sv.js\": 98760,\n\t\"./sw\": 91172,\n\t\"./sw.js\": 91172,\n\t\"./ta\": 27333,\n\t\"./ta.js\": 27333,\n\t\"./te\": 23110,\n\t\"./te.js\": 23110,\n\t\"./tet\": 52095,\n\t\"./tet.js\": 52095,\n\t\"./tg\": 27321,\n\t\"./tg.js\": 27321,\n\t\"./th\": 9041,\n\t\"./th.js\": 9041,\n\t\"./tk\": 19005,\n\t\"./tk.js\": 19005,\n\t\"./tl-ph\": 75768,\n\t\"./tl-ph.js\": 75768,\n\t\"./tlh\": 89444,\n\t\"./tlh.js\": 89444,\n\t\"./tr\": 72397,\n\t\"./tr.js\": 72397,\n\t\"./tzl\": 28254,\n\t\"./tzl.js\": 28254,\n\t\"./tzm\": 51106,\n\t\"./tzm-latn\": 30699,\n\t\"./tzm-latn.js\": 30699,\n\t\"./tzm.js\": 51106,\n\t\"./ug-cn\": 9288,\n\t\"./ug-cn.js\": 9288,\n\t\"./uk\": 67691,\n\t\"./uk.js\": 67691,\n\t\"./ur\": 13795,\n\t\"./ur.js\": 13795,\n\t\"./uz\": 6791,\n\t\"./uz-latn\": 60588,\n\t\"./uz-latn.js\": 60588,\n\t\"./uz.js\": 6791,\n\t\"./vi\": 65666,\n\t\"./vi.js\": 65666,\n\t\"./x-pseudo\": 14378,\n\t\"./x-pseudo.js\": 14378,\n\t\"./yo\": 75805,\n\t\"./yo.js\": 75805,\n\t\"./zh-cn\": 83839,\n\t\"./zh-cn.js\": 83839,\n\t\"./zh-hk\": 55726,\n\t\"./zh-hk.js\": 55726,\n\t\"./zh-mo\": 99807,\n\t\"./zh-mo.js\": 99807,\n\t\"./zh-tw\": 74152,\n\t\"./zh-tw.js\": 74152\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;","/**\n* @license nested-property https://github.com/cosmosio/nested-property\n*\n* The MIT License (MIT)\n*\n* Copyright (c) 2014-2020 Olivier Scherrer \n*/\n\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar ARRAY_WILDCARD = \"+\";\nvar PATH_DELIMITER = \".\";\n\nvar ObjectPrototypeMutationError = /*#__PURE__*/function (_Error) {\n  _inherits(ObjectPrototypeMutationError, _Error);\n\n  function ObjectPrototypeMutationError(params) {\n    var _this;\n\n    _classCallCheck(this, ObjectPrototypeMutationError);\n\n    _this = _possibleConstructorReturn(this, _getPrototypeOf(ObjectPrototypeMutationError).call(this, params));\n    _this.name = \"ObjectPrototypeMutationError\";\n    return _this;\n  }\n\n  return ObjectPrototypeMutationError;\n}(_wrapNativeSuper(Error));\n\nmodule.exports = {\n  set: setNestedProperty,\n  get: getNestedProperty,\n  has: hasNestedProperty,\n  hasOwn: function hasOwn(object, property, options) {\n    return this.has(object, property, options || {\n      own: true\n    });\n  },\n  isIn: isInNestedProperty,\n  ObjectPrototypeMutationError: ObjectPrototypeMutationError\n};\n/**\n * Get the property of an object nested in one or more objects or array\n * Given an object such as a.b.c.d = 5, getNestedProperty(a, \"b.c.d\") will return 5.\n * It also works through arrays. Given a nested array such as a[0].b = 5, getNestedProperty(a, \"0.b\") will return 5.\n * For accessing nested properties through all items in an array, you may use the array wildcard \"+\".\n * For instance, getNestedProperty([{a:1}, {a:2}, {a:3}], \"+.a\") will return [1, 2, 3]\n * @param {Object} object the object to get the property from\n * @param {String} property the path to the property as a string\n * @returns the object or the the property value if found\n */\n\nfunction getNestedProperty(object, property) {\n  if (_typeof(object) != \"object\" || object === null) {\n    return object;\n  }\n\n  if (typeof property == \"undefined\") {\n    return object;\n  }\n\n  if (typeof property == \"number\") {\n    return object[property];\n  }\n\n  try {\n    return traverse(object, property, function _getNestedProperty(currentObject, currentProperty) {\n      return currentObject[currentProperty];\n    });\n  } catch (err) {\n    return object;\n  }\n}\n/**\n * Tell if a nested object has a given property (or array a given index)\n * given an object such as a.b.c.d = 5, hasNestedProperty(a, \"b.c.d\") will return true.\n * It also returns true if the property is in the prototype chain.\n * @param {Object} object the object to get the property from\n * @param {String} property the path to the property as a string\n * @param {Object} options:\n *  - own: set to reject properties from the prototype\n * @returns true if has (property in object), false otherwise\n */\n\n\nfunction hasNestedProperty(object, property) {\n  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n  if (_typeof(object) != \"object\" || object === null) {\n    return false;\n  }\n\n  if (typeof property == \"undefined\") {\n    return false;\n  }\n\n  if (typeof property == \"number\") {\n    return property in object;\n  }\n\n  try {\n    var has = false;\n    traverse(object, property, function _hasNestedProperty(currentObject, currentProperty, segments, index) {\n      if (isLastSegment(segments, index)) {\n        if (options.own) {\n          has = currentObject.hasOwnProperty(currentProperty);\n        } else {\n          has = currentProperty in currentObject;\n        }\n      } else {\n        return currentObject && currentObject[currentProperty];\n      }\n    });\n    return has;\n  } catch (err) {\n    return false;\n  }\n}\n/**\n * Set the property of an object nested in one or more objects\n * If the property doesn't exist, it gets created.\n * @param {Object} object\n * @param {String} property\n * @param value the value to set\n * @returns object if no assignment was made or the value if the assignment was made\n */\n\n\nfunction setNestedProperty(object, property, value) {\n  if (_typeof(object) != \"object\" || object === null) {\n    return object;\n  }\n\n  if (typeof property == \"undefined\") {\n    return object;\n  }\n\n  if (typeof property == \"number\") {\n    object[property] = value;\n    return object[property];\n  }\n\n  try {\n    return traverse(object, property, function _setNestedProperty(currentObject, currentProperty, segments, index) {\n      if (currentObject === Reflect.getPrototypeOf({})) {\n        throw new ObjectPrototypeMutationError(\"Attempting to mutate Object.prototype\");\n      }\n\n      if (!currentObject[currentProperty]) {\n        var nextPropIsNumber = Number.isInteger(Number(segments[index + 1]));\n        var nextPropIsArrayWildcard = segments[index + 1] === ARRAY_WILDCARD;\n\n        if (nextPropIsNumber || nextPropIsArrayWildcard) {\n          currentObject[currentProperty] = [];\n        } else {\n          currentObject[currentProperty] = {};\n        }\n      }\n\n      if (isLastSegment(segments, index)) {\n        currentObject[currentProperty] = value;\n      }\n\n      return currentObject[currentProperty];\n    });\n  } catch (err) {\n    if (err instanceof ObjectPrototypeMutationError) {\n      // rethrow\n      throw err;\n    } else {\n      return object;\n    }\n  }\n}\n/**\n * Tell if an object is on the path to a nested property\n * If the object is on the path, and the path exists, it returns true, and false otherwise.\n * @param {Object} object to get the nested property from\n * @param {String} property name of the nested property\n * @param {Object} objectInPath the object to check\n * @param {Object} options:\n *  - validPath: return false if the path is invalid, even if the object is in the path\n * @returns {boolean} true if the object is on the path\n */\n\n\nfunction isInNestedProperty(object, property, objectInPath) {\n  var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n  if (_typeof(object) != \"object\" || object === null) {\n    return false;\n  }\n\n  if (typeof property == \"undefined\") {\n    return false;\n  }\n\n  try {\n    var isIn = false,\n        pathExists = false;\n    traverse(object, property, function _isInNestedProperty(currentObject, currentProperty, segments, index) {\n      isIn = isIn || currentObject === objectInPath || !!currentObject && currentObject[currentProperty] === objectInPath;\n      pathExists = isLastSegment(segments, index) && _typeof(currentObject) === \"object\" && currentProperty in currentObject;\n      return currentObject && currentObject[currentProperty];\n    });\n\n    if (options.validPath) {\n      return isIn && pathExists;\n    } else {\n      return isIn;\n    }\n  } catch (err) {\n    return false;\n  }\n}\n\nfunction traverse(object, path) {\n  var callback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {};\n  var segments = path.split(PATH_DELIMITER);\n  var length = segments.length;\n\n  var _loop = function _loop(idx) {\n    var currentSegment = segments[idx];\n\n    if (!object) {\n      return {\n        v: void 0\n      };\n    }\n\n    if (currentSegment === ARRAY_WILDCARD) {\n      if (Array.isArray(object)) {\n        return {\n          v: object.map(function (value, index) {\n            var remainingSegments = segments.slice(idx + 1);\n\n            if (remainingSegments.length > 0) {\n              return traverse(value, remainingSegments.join(PATH_DELIMITER), callback);\n            } else {\n              return callback(object, index, segments, idx);\n            }\n          })\n        };\n      } else {\n        var pathToHere = segments.slice(0, idx).join(PATH_DELIMITER);\n        throw new Error(\"Object at wildcard (\".concat(pathToHere, \") is not an array\"));\n      }\n    } else {\n      object = callback(object, currentSegment, segments, idx);\n    }\n  };\n\n  for (var idx = 0; idx < length; idx++) {\n    var _ret = _loop(idx);\n\n    if (_typeof(_ret) === \"object\") return _ret.v;\n  }\n\n  return object;\n}\n\nfunction isLastSegment(segments, index) {\n  return segments.length === index + 1;\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\nvar util = require('util');\nvar isString = function (x) {\n  return typeof x === 'string';\n};\n\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n  var res = [];\n  for (var i = 0; i < parts.length; i++) {\n    var p = parts[i];\n\n    // ignore empty parts\n    if (!p || p === '.')\n      continue;\n\n    if (p === '..') {\n      if (res.length && res[res.length - 1] !== '..') {\n        res.pop();\n      } else if (allowAboveRoot) {\n        res.push('..');\n      }\n    } else {\n      res.push(p);\n    }\n  }\n\n  return res;\n}\n\n// Split a filename into [root, dir, basename, ext], unix version\n// 'root' is just a slash, or nothing.\nvar splitPathRe =\n    /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\nvar posix = {};\n\n\nfunction posixSplitPath(filename) {\n  return splitPathRe.exec(filename).slice(1);\n}\n\n\n// path.resolve([from ...], to)\n// posix version\nposix.resolve = function() {\n  var resolvedPath = '',\n      resolvedAbsolute = false;\n\n  for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n    var path = (i >= 0) ? arguments[i] : process.cwd();\n\n    // Skip empty and invalid entries\n    if (!isString(path)) {\n      throw new TypeError('Arguments to path.resolve must be strings');\n    } else if (!path) {\n      continue;\n    }\n\n    resolvedPath = path + '/' + resolvedPath;\n    resolvedAbsolute = path.charAt(0) === '/';\n  }\n\n  // At this point the path should be resolved to a full absolute path, but\n  // handle relative paths to be safe (might happen when process.cwd() fails)\n\n  // Normalize the path\n  resolvedPath = normalizeArray(resolvedPath.split('/'),\n                                !resolvedAbsolute).join('/');\n\n  return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nposix.normalize = function(path) {\n  var isAbsolute = posix.isAbsolute(path),\n      trailingSlash = path.substr(-1) === '/';\n\n  // Normalize the path\n  path = normalizeArray(path.split('/'), !isAbsolute).join('/');\n\n  if (!path && !isAbsolute) {\n    path = '.';\n  }\n  if (path && trailingSlash) {\n    path += '/';\n  }\n\n  return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nposix.isAbsolute = function(path) {\n  return path.charAt(0) === '/';\n};\n\n// posix version\nposix.join = function() {\n  var path = '';\n  for (var i = 0; i < arguments.length; i++) {\n    var segment = arguments[i];\n    if (!isString(segment)) {\n      throw new TypeError('Arguments to path.join must be strings');\n    }\n    if (segment) {\n      if (!path) {\n        path += segment;\n      } else {\n        path += '/' + segment;\n      }\n    }\n  }\n  return posix.normalize(path);\n};\n\n\n// path.relative(from, to)\n// posix version\nposix.relative = function(from, to) {\n  from = posix.resolve(from).substr(1);\n  to = posix.resolve(to).substr(1);\n\n  function trim(arr) {\n    var start = 0;\n    for (; start < arr.length; start++) {\n      if (arr[start] !== '') break;\n    }\n\n    var end = arr.length - 1;\n    for (; end >= 0; end--) {\n      if (arr[end] !== '') break;\n    }\n\n    if (start > end) return [];\n    return arr.slice(start, end + 1);\n  }\n\n  var fromParts = trim(from.split('/'));\n  var toParts = trim(to.split('/'));\n\n  var length = Math.min(fromParts.length, toParts.length);\n  var samePartsLength = length;\n  for (var i = 0; i < length; i++) {\n    if (fromParts[i] !== toParts[i]) {\n      samePartsLength = i;\n      break;\n    }\n  }\n\n  var outputParts = [];\n  for (var i = samePartsLength; i < fromParts.length; i++) {\n    outputParts.push('..');\n  }\n\n  outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n  return outputParts.join('/');\n};\n\n\nposix._makeLong = function(path) {\n  return path;\n};\n\n\nposix.dirname = function(path) {\n  var result = posixSplitPath(path),\n      root = result[0],\n      dir = result[1];\n\n  if (!root && !dir) {\n    // No dirname whatsoever\n    return '.';\n  }\n\n  if (dir) {\n    // It has a dirname, strip trailing slash\n    dir = dir.substr(0, dir.length - 1);\n  }\n\n  return root + dir;\n};\n\n\nposix.basename = function(path, ext) {\n  var f = posixSplitPath(path)[2];\n  // TODO: make this comparison case-insensitive on windows?\n  if (ext && f.substr(-1 * ext.length) === ext) {\n    f = f.substr(0, f.length - ext.length);\n  }\n  return f;\n};\n\n\nposix.extname = function(path) {\n  return posixSplitPath(path)[3];\n};\n\n\nposix.format = function(pathObject) {\n  if (!util.isObject(pathObject)) {\n    throw new TypeError(\n        \"Parameter 'pathObject' must be an object, not \" + typeof pathObject\n    );\n  }\n\n  var root = pathObject.root || '';\n\n  if (!isString(root)) {\n    throw new TypeError(\n        \"'pathObject.root' must be a string or undefined, not \" +\n        typeof pathObject.root\n    );\n  }\n\n  var dir = pathObject.dir ? pathObject.dir + posix.sep : '';\n  var base = pathObject.base || '';\n  return dir + base;\n};\n\n\nposix.parse = function(pathString) {\n  if (!isString(pathString)) {\n    throw new TypeError(\n        \"Parameter 'pathString' must be a string, not \" + typeof pathString\n    );\n  }\n  var allParts = posixSplitPath(pathString);\n  if (!allParts || allParts.length !== 4) {\n    throw new TypeError(\"Invalid path '\" + pathString + \"'\");\n  }\n  allParts[1] = allParts[1] || '';\n  allParts[2] = allParts[2] || '';\n  allParts[3] = allParts[3] || '';\n\n  return {\n    root: allParts[0],\n    dir: allParts[0] + allParts[1].slice(0, allParts[1].length - 1),\n    base: allParts[2],\n    ext: allParts[3],\n    name: allParts[2].slice(0, allParts[2].length - allParts[3].length)\n  };\n};\n\n\nposix.sep = '/';\nposix.delimiter = ':';\n\n  module.exports = posix;\n","var balanced = require('balanced-match');\n\nmodule.exports = expandTop;\n\nvar escSlash = '\\0SLASH'+Math.random()+'\\0';\nvar escOpen = '\\0OPEN'+Math.random()+'\\0';\nvar escClose = '\\0CLOSE'+Math.random()+'\\0';\nvar escComma = '\\0COMMA'+Math.random()+'\\0';\nvar escPeriod = '\\0PERIOD'+Math.random()+'\\0';\n\nfunction numeric(str) {\n  return parseInt(str, 10) == str\n    ? parseInt(str, 10)\n    : str.charCodeAt(0);\n}\n\nfunction escapeBraces(str) {\n  return str.split('\\\\\\\\').join(escSlash)\n            .split('\\\\{').join(escOpen)\n            .split('\\\\}').join(escClose)\n            .split('\\\\,').join(escComma)\n            .split('\\\\.').join(escPeriod);\n}\n\nfunction unescapeBraces(str) {\n  return str.split(escSlash).join('\\\\')\n            .split(escOpen).join('{')\n            .split(escClose).join('}')\n            .split(escComma).join(',')\n            .split(escPeriod).join('.');\n}\n\n\n// Basically just str.split(\",\"), but handling cases\n// where we have nested braced sections, which should be\n// treated as individual members, like {a,{b,c},d}\nfunction parseCommaParts(str) {\n  if (!str)\n    return [''];\n\n  var parts = [];\n  var m = balanced('{', '}', str);\n\n  if (!m)\n    return str.split(',');\n\n  var pre = m.pre;\n  var body = m.body;\n  var post = m.post;\n  var p = pre.split(',');\n\n  p[p.length-1] += '{' + body + '}';\n  var postParts = parseCommaParts(post);\n  if (post.length) {\n    p[p.length-1] += postParts.shift();\n    p.push.apply(p, postParts);\n  }\n\n  parts.push.apply(parts, p);\n\n  return parts;\n}\n\nfunction expandTop(str) {\n  if (!str)\n    return [];\n\n  // I don't know why Bash 4.3 does this, but it does.\n  // Anything starting with {} will have the first two bytes preserved\n  // but *only* at the top level, so {},a}b will not expand to anything,\n  // but a{},b}c will be expanded to [a}c,abc].\n  // One could argue that this is a bug in Bash, but since the goal of\n  // this module is to match Bash's rules, we escape a leading {}\n  if (str.substr(0, 2) === '{}') {\n    str = '\\\\{\\\\}' + str.substr(2);\n  }\n\n  return expand(escapeBraces(str), true).map(unescapeBraces);\n}\n\nfunction embrace(str) {\n  return '{' + str + '}';\n}\nfunction isPadded(el) {\n  return /^-?0\\d/.test(el);\n}\n\nfunction lte(i, y) {\n  return i <= y;\n}\nfunction gte(i, y) {\n  return i >= y;\n}\n\nfunction expand(str, isTop) {\n  var expansions = [];\n\n  var m = balanced('{', '}', str);\n  if (!m) return [str];\n\n  // no need to expand pre, since it is guaranteed to be free of brace-sets\n  var pre = m.pre;\n  var post = m.post.length\n    ? expand(m.post, false)\n    : [''];\n\n  if (/\\$$/.test(m.pre)) {    \n    for (var k = 0; k < post.length; k++) {\n      var expansion = pre+ '{' + m.body + '}' + post[k];\n      expansions.push(expansion);\n    }\n  } else {\n    var isNumericSequence = /^-?\\d+\\.\\.-?\\d+(?:\\.\\.-?\\d+)?$/.test(m.body);\n    var isAlphaSequence = /^[a-zA-Z]\\.\\.[a-zA-Z](?:\\.\\.-?\\d+)?$/.test(m.body);\n    var isSequence = isNumericSequence || isAlphaSequence;\n    var isOptions = m.body.indexOf(',') >= 0;\n    if (!isSequence && !isOptions) {\n      // {a},b}\n      if (m.post.match(/,.*\\}/)) {\n        str = m.pre + '{' + m.body + escClose + m.post;\n        return expand(str);\n      }\n      return [str];\n    }\n\n    var n;\n    if (isSequence) {\n      n = m.body.split(/\\.\\./);\n    } else {\n      n = parseCommaParts(m.body);\n      if (n.length === 1) {\n        // x{{a,b}}y ==> x{a}y x{b}y\n        n = expand(n[0], false).map(embrace);\n        if (n.length === 1) {\n          return post.map(function(p) {\n            return m.pre + n[0] + p;\n          });\n        }\n      }\n    }\n\n    // at this point, n is the parts, and we know it's not a comma set\n    // with a single entry.\n    var N;\n\n    if (isSequence) {\n      var x = numeric(n[0]);\n      var y = numeric(n[1]);\n      var width = Math.max(n[0].length, n[1].length)\n      var incr = n.length == 3\n        ? Math.abs(numeric(n[2]))\n        : 1;\n      var test = lte;\n      var reverse = y < x;\n      if (reverse) {\n        incr *= -1;\n        test = gte;\n      }\n      var pad = n.some(isPadded);\n\n      N = [];\n\n      for (var i = x; test(i, y); i += incr) {\n        var c;\n        if (isAlphaSequence) {\n          c = String.fromCharCode(i);\n          if (c === '\\\\')\n            c = '';\n        } else {\n          c = String(i);\n          if (pad) {\n            var need = width - c.length;\n            if (need > 0) {\n              var z = new Array(need + 1).join('0');\n              if (i < 0)\n                c = '-' + z + c.slice(1);\n              else\n                c = z + c;\n            }\n          }\n        }\n        N.push(c);\n      }\n    } else {\n      N = [];\n\n      for (var j = 0; j < n.length; j++) {\n        N.push.apply(N, expand(n[j], false));\n      }\n    }\n\n    for (var j = 0; j < N.length; j++) {\n      for (var k = 0; k < post.length; k++) {\n        var expansion = pre + N[j] + post[k];\n        if (!isTop || isSequence || expansion)\n          expansions.push(expansion);\n      }\n    }\n  }\n\n  return expansions;\n}\n\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"3245\":\"9712b63e6d8aa316e55f\",\"6318\":\"a59ab0e92c526b05f790\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 6335;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t6335: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [7874], function() { return __webpack_require__(92573); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","_typeof","obj","Symbol","iterator","constructor","prototype","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_toConsumableArray","arr","Array","isArray","arr2","_arrayWithoutHoles","iter","toString","call","from","_iterableToArray","TypeError","_nonIterableSpread","deepEqual","val1","val2","VisibilityState","el","options","vnode","instance","Constructor","_classCallCheck","this","observer","frozen","createObserver","protoProps","value","_this","destroyObserver","callback","result","entry","once","throttle","_leading","throttleOptions","leading","delay","timeout","lastState","currentArgs","arguments","undefined","throttled","state","_len","args","_key","apply","concat","clearTimeout","setTimeout","_clear","oldResult","IntersectionObserver","entries","intersectingEntry","find","e","isIntersecting","intersectionRatio","threshold","intersection","context","$nextTick","observe","disconnect","get","bind","_ref2","console","warn","_vue_visibilityState","unbind","ObserveVisibility","update","_ref3","oldValue","version","install","Vue","directive","GlobalVue","window","g","use","name","emits","title","type","String","fillColor","default","size","Number","_vm","_c","_self","_b","staticClass","attrs","on","$event","$emit","$attrs","_v","_s","_e","timestamp","required","format","computed","moment","formatted","fromNow","getRootPath","generateRemoteUrl","decodeHtmlEntities","passes","parser","DOMParser","decoded","parseFromString","documentElement","textContent","createClient","headers","requesttoken","_getRequestToken","getRequestToken","_regeneratorRuntime","exports","Op","hasOwn","hasOwnProperty","desc","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","Context","makeInvokeMethod","tryCatch","fn","arg","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","Error","done","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","methodName","return","info","resultName","next","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","doneResult","displayName","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","catch","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_x","_x2","_x3","_ref","_callee","commentsType","ressourceId","message","ressourcePath","response","commentId","commentPath","comment","_context","join","axios","post","actorDisplayName","getCurrentUser","actorId","uid","actorType","creationDateTime","Date","toUTCString","objectType","verb","parseInt","split","client","stat","details","data","deleteFile","_x4","customRequest","assign","_asyncToGenerator","id","deleted","editing","loading","methods","onEdit","onEditCancel","updateLocalMessage","onEditComment","EditComment","logger","debug","t0","showError","t","onDeleteWithUndo","_this2","timeOutDelete","onDelete","TOAST_UNDO_TIMEOUT","showUndo","_this3","_callee2","_context2","DeleteComment","onNewComment","_this4","_callee3","newComment","_context3","NewComment","localMessage","components","NcActionButton","NcActions","NcActionSeparator","ArrowRight","NcAvatar","NcButton","Moment","NcRichContenteditable","mixins","RichEditorMixin","CommentMixin","inheritAttrs","editor","Boolean","autoComplete","Function","tag","expanded","isOwnComment","renderedContent","isEmptyMessage","renderContent","trim","watch","beforeMount","onSubmit","$refs","$el","focus","onExpand","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","directives","rawName","expression","class","preventDefault","ref","userData","scopedSlots","_u","proxy","domProps","posixClasses","braceEscape","s","replace","rangesToString","ranges","parseClass","glob","position","pos","negs","sawStart","uflag","escaping","negate","endPos","rangeStart","WHILE","c","cls","unip","u","neg","startsWith","test","sranges","snegs","p","pattern","assertValidPattern","nocomment","Minimatch","match","starDotExtRE","starDotExtTest","ext","f","endsWith","starDotExtTestDot","starDotExtTestNocase","toLowerCase","starDotExtTestNocaseDot","starDotStarRE","starDotStarTest","includes","starDotStarTestDot","dotStarRE","dotStarTest","starRE","starTest","starTestDot","qmarksRE","qmarksTestNocase","$0","noext","qmarksTestNoExt","qmarksTestNocaseDot","qmarksTestNoExtDot","qmarksTestDot","qmarksTest","len","defaultPlatform","process","env","__MINIMATCH_TESTING_PLATFORM__","platform","sep","GLOBSTAR","plTypes","open","close","qmark","star","charSet","reduce","set","reSpecials","addPatternStartSet","filter","a","b","defaults","def","orig","super","unescape","escape","makeRe","braceExpand","list","nobrace","mm","nonull","globMagic","regExpEscape","windowsPathsNoEscape","nonegate","empty","preserveMultipleSlashes","partial","globSet","globParts","nocase","isWindows","windowsNoMagicRoot","regexp","allowWindowsEscape","make","hasMagic","magicalBraces","part","_","parseNegate","Set","rawGlobParts","map","slashSplit","preprocess","__","isUNC","isDrive","ss","parse","indexOf","noglobstar","j","optimizationLevel","firstPhasePreProcess","secondPhasePreProcess","levelOneOptimize","adjascentGlobstarOptimize","parts","gs","splice","levelTwoFileOptimize","didSomething","dd","gss","p2","other","splin","matched","partsMatch","emptyGSMatch","ai","bi","which","dot","negateOffset","matchOne","file","fileUNC","patternUNC","fd","pd","fi","pi","fl","pl","fr","pr","swallowee","hit","m","fastTest","re","patternListStack","negativeLists","stateChar","dotTravAllowed","dotFileAllowed","subPatternStart","clearStateChar","plEntry","start","reStart","reEnd","src","needUflag","consumed","magic","tail","$1","$2","addPatternStart","n","nl","nlBefore","nlFirst","nlAfter","nlLast","closeParensBefore","openParensBefore","cleanAfter","nocaseMagicOnly","toUpperCase","flags","_glob","_src","RegExp","er","twoStar","pp","ex","ff","filename","matchBase","flipNegate","processResponsePayload","isDetailed","status","statusText","PropertyType","getComments","responseData","offset","text","parseXML","getDirectoryFiles","multistatus","item","propstat","prop","rawFilename","getlastmodified","lastMod","getcontentlength","rawSize","resourcetype","resourceType","getcontenttype","mimeType","getetag","etag","collection","txt","document","createElement","innerHTML","he","decode","decodeHTMLEntities","basename","lastmod","mime","prepareFileFromProps","request","controller","AbortController","signal","fetch","url","abort","VTooltip","VueObserveVisibility","Comment","NcEmptyContent","RefreshIcon","MessageReplyTextIcon","AlertCircleOutlineIcon","comments","cancelRequest","editorData","hasComments","isFirstLoading","onVisibilityChange","isVisible","date","readMarker","resetState","onScrollBottomReached","genMentionsData","mentions","flat","mention","mentionId","icon","label","mentionDisplayName","source","primary","_this4$comments","_cancelableRequest","cancelableRequest","t1","search","_this5","_callee4","_context4","generateOcsUrl","params","itemType","itemId","sorter","limit","loadState","ocs","user","unshift","index","findIndex","_l","$set","getLoggerBuilder","setApp","detectUser","build","__webpack_nonce__","btoa","mixin","CommentInstance","_createClass","extend","CommentsApp","OCA","Comments","View","CommentsInstance","balanced","str","maybeMatch","r","range","end","pre","body","reg","begs","beg","left","right","module","root","freeGlobal","global","InvalidCharacterError","TABLE","REGEX_SPACE_CHARACTERS","base64","input","buffer","padding","output","charCodeAt","bitStorage","bitCounter","fromCharCode","___CSS_LOADER_EXPORT___","regexAstralSymbols","regexAsciiWhitelist","regexBmpWhitelist","regexEncodeNonAscii","encodeMap","regexEscape","escapeMap","regexInvalidEntity","regexInvalidRawCodePoint","regexDecode","decodeMap","decodeMapLegacy","decodeMapNumeric","invalidReferenceCodePoints","stringFromCharCode","has","propertyName","merge","codePointToSymbol","codePoint","strict","parseError","array","contains","hexEscape","decEscape","encode","string","encodeEverything","useNamedReferences","allowUnsafeSymbols","escapeCodePoint","decimal","escapeBmpSymbol","symbol","high","low","html","$3","$4","$5","$6","$7","$8","semicolon","decDigits","hexDigits","reference","isAttributeValue","webpackContext","req","webpackContextResolve","__webpack_require__","o","code","_wrapNativeSuper","Class","_cache","Map","Wrapper","_construct","_getPrototypeOf","_setPrototypeOf","Parent","Reflect","construct","sham","Proxy","_isNativeReflectConstruct","ObjectPrototypeMutationError","_Error","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","subClass","superClass","_inherits","traverse","path","segments","_loop","idx","currentSegment","v","remainingSegments","pathToHere","_ret","isLastSegment","property","currentObject","currentProperty","nextPropIsNumber","isInteger","nextPropIsArrayWildcard","own","isIn","objectInPath","pathExists","validPath","util","isString","x","normalizeArray","allowAboveRoot","res","splitPathRe","posix","posixSplitPath","exec","resolvedPath","resolvedAbsolute","cwd","normalize","isAbsolute","trailingSlash","substr","segment","relative","to","fromParts","toParts","Math","min","samePartsLength","outputParts","_makeLong","dirname","dir","extname","pathObject","isObject","base","pathString","allParts","delimiter","expand","escSlash","escOpen","escClose","escComma","escPeriod","escapeBraces","unescapeBraces","random","numeric","parseCommaParts","postParts","shift","embrace","isPadded","lte","y","gte","isTop","expansions","k","expansion","N","isNumericSequence","isAlphaSequence","isSequence","isOptions","width","max","incr","abs","pad","some","need","z","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","every","getter","__esModule","d","definition","chunkId","all","promises","globalThis","l","script","needAttach","scripts","getElementsByTagName","getAttribute","charset","nc","setAttribute","onScriptComplete","event","onerror","onload","doneFns","parentNode","removeChild","head","appendChild","nmd","paths","children","scriptUrl","importScripts","location","currentScript","baseURI","href","installedChunks","installedChunkData","promise","errorType","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"comments-comments-app.js?v=76d2b7df0a571819d168","mappings":"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,IAAO,SAAS,IAAO,SAAS,IAAO,QAAQ,IAAO,QAAQ,IAAO,OAAO,IAAO,OAAO,IAAS,SAAS,IAAS,SAAS,IAAS,OAAO,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,KAAe,OAAO,KAAe,OAAO,KAAe,MAAM,KAAe,OAAO,KAAe,MAAM,KAAe,OAAO,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,KAAe,OAAO,KAAe,OAAO,KAAe,MAAM,KAAe,OAAO,KAAe,OAAO,KAAe,MAAM,IAAS,SAAS,IAAS,SAAS,KAAe,MAAM,KAAe,OAAO,IAAS,MAAM,KAAe,OAAO,IAAS,OAAO,KAAe,MAAM,KAAe,OAAO,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,KAAe,MAAM,KAAe,OAAO,KAAe,OAAO,KAAe,MAAM,KAAe,OAAO,IAAS,OAAO,KAAe,MAAM,KAAe,OAAO,KAAe,OAAO,IAAS,OAAO,KAAe,OAAO,KAAe,MAAM,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAO,SAAS,IAAO,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,MAAM,IAAS,MAAM,KAAe,OAAO,KAAe,MAAM,IAAS,OAAO,KAAe,OAAO,KAAe,MAAM,KAAe,OAAO,IAAO,OAAO,IAAO,SAAS,IAAO,SAAS,IAAO,SAAS,IAAO,SAAS,IAAO,QAAQ,IAAO,QAAQ,IAAO,OAAO,IAAO,OAAO,IAAS,SAAS,IAAS,SAAS,IAAO,SAAS,IAAO,SAAS,IAAO,SAAS,IAAO,SAAS,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,KAAe,MAAM,KAAe,OAAO,KAAe,OAAO,IAAS,OAAO,KAAe,MAAM,KAAe,OAAO,KAAe,OAAO,KAAe,MAAM,KAAe,OAAO,KAAe,OAAO,KAAe,MAAM,IAAS,OAAO,IAAS,SAAS,KAAe,MAAM,KAAe,OAAO,KAAe,OAAO,IAAS,OAAO,IAAS,KAAK,IAAS,OAAO,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,KAAe,OAAO,KAAe,OAAO,KAAe,MAAM,KAAe,OAAO,KAAe,MAAM,KAAe,OAAO,IAAS,KAAK,IAAS,SAAS,IAAS,SAAS,IAAS,QAAQ,IAAS,QAAQ,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAO,QAAQ,KAAe,MAAM,KAAe,OAAO,KAAe,OAAO,KAAe,OAAO,KAAe,MAAM,KAAe,OAAO,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,QAAQ,IAAS,SAAS,IAAS,SAAS,KAAe,OAAO,KAAe,OAAO,KAAe,MAAM,KAAe,OAAO,KAAe,MAAM,KAAe,OAAO,IAAO,SAAS,IAAO,SAAS,IAAO,SAAS,IAAO,SAAS,IAAS,SAAS,IAAS,SAAS,IAAO,QAAQ,IAAO,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAO,OAAO,IAAO,OAAO,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,KAAe,MAAM,KAAe,OAAO,KAAe,OAAO,KAAe,MAAM,KAAe,OAAO,KAAe,OAAO,KAAe,OAAO,KAAe,OAAO,KAAe,MAAM,KAAe,OAAO,KAAe,OAAO,KAAe,MAAM,IAAS,QAAQ,IAAS,QAAQ,KAAe,MAAM,KAAe,OAAO,KAAe,OAAO,KAAe,OAAO,KAAe,MAAM,KAAe,OAAO,KAAe,MAAM,KAAe,OAAO,KAAe,OAAO,KAAe,OAAO,KAAe,MAAM,KAAe,OAAO,IAAO,SAAS,IAAO,SAAS,IAAS,QAAQ,IAAS,QAAQ,IAAO,OAAO,IAAS,OAAO,KAAe,OAAO,KAAe,MAAM,KAAe,OAAO,IAAS,MAAM,IAAS,OAAO,KAAe,OAAO,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,OAAO,IAAS,OAAO,IAAS,QAAQ,IAAO,QAAQ,IAAO,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,OAAO,IAAS,OAAO,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,OAAO,IAAS,QAAQ,IAAS,UAAU,IAAS,SAAS,IAAS,SAAS,IAAS,OAAO,IAAS,OAAO,IAAS,MAAM,IAAS,MAAM,IAAS,QAAQ,IAAS,SAAS,IAAS,QAAQ,IAAS,OAAO,IAAS,OAAO,IAAS,QAAQ,IAAS,SAAS,IAAS,QAAQ,IAAS,SAAS,IAAS,SAAS,IAAS,KAAK,IAAO,QAAQ,IAAS,KAAK,IAAS,KAAK,IAAS,KAAK,IAAS,KAAK,IAAS,KAAK,IAAS,UAAU,IAAS,UAAU,IAAS,KAAK,IAAS,MAAM,IAAS,KAAK,IAAS,MAAM,IAAS,OAAO,IAAS,MAAM,IAAS,QAAQ,IAAS,QAAQ,IAAS,SAAS,IAAS,MAAM,IAAS,MAAM,IAAS,OAAO,IAAS,UAAU,IAAS,OAAO,IAAS,MAAM,IAAS,OAAO,IAAS,MAAM,IAAS,MAAM,IAAS,MAAM,IAAS,MAAM,IAAS,MAAM,IAAS,QAAQ,IAAS,MAAM,IAAS,MAAM,IAAS,MAAM,IAAS,MAAM,IAAS,MAAM,IAAS,MAAM,IAAS,MAAM,IAAS,MAAM,IAAS,MAAM,IAAS,OAAO,IAAS,OAAO,IAAS,MAAM,IAAS,MAAM,IAAS,OAAO,IAAS,OAAO,IAAS,OAAO,IAAS,OAAO,IAAS,OAAO,IAAS,OAAO,IAAS,QAAQ,IAAS,QAAQ,IAAS,OAAO,IAAS,OAAO,IAAS,MAAM,IAAS,MAAM,IAAS,OAAO,IAAS,OAAO,IAAS,MAAM,IAAS,MAAM,IAAS,QAAQ,IAAS,QAAQ,IAAS,OAAO,IAAS,OAAO,IAAS,MAAM,IAAS,MAAM,IAAS,SAAS,IAAS,SAAS,IAAS,MAAM,IAAS,MAAM,IAAS,OAAO,IAAS,OAAO,IAAS,MAAM,IAAS,MAAM,IAAS,OAAO,IAAS,OAAO,IAAS,MAAM,IAAS,MAAM,IAAS,MAAM,IAAS,MAAM,IAAS,OAAO,IAAS,OAAO,IAAS,MAAM,IAAS,MAAM,IAAS,MAAM,IAAS,MAAM,IAAS,MAAM,IAAS,MAAM,IAAS,MAAM,IAAS,MAAM,IAAS,MAAM,IAAS,MAAM,IAAS,QAAQ,IAAS,QAAQ,IAAS,MAAM,IAAS,MAAM,IAAS,QAAQ,IAAS,QAAQ,IAAS,MAAM,IAAS,MAAM,IAAS,OAAO,IAAS,OAAO,IAAS,OAAO,IAAS,OAAO,IAAS,OAAO,IAAS,OAAO,IAAS,OAAO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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/node_modules/vue-observe-visibility/dist/vue-observe-visibility.esm.js","webpack:///nextcloud/node_modules/vue-material-design-icons/Refresh.vue?vue&type=script&lang=js&","webpack:///nextcloud/node_modules/vue-material-design-icons/Refresh.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Refresh.vue?0940","webpack:///nextcloud/node_modules/vue-material-design-icons/Refresh.vue?vue&type=template&id=6bf8414a&","webpack:///nextcloud/node_modules/vue-material-design-icons/MessageReplyText.vue?vue&type=script&lang=js&","webpack:///nextcloud/node_modules/vue-material-design-icons/MessageReplyText.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/MessageReplyText.vue?2121","webpack:///nextcloud/node_modules/vue-material-design-icons/MessageReplyText.vue?vue&type=template&id=43cf8810&","webpack:///nextcloud/apps/comments/src/components/Moment.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/comments/src/components/Moment.vue","webpack://nextcloud/./apps/comments/src/components/Moment.vue?9b20","webpack://nextcloud/./apps/comments/src/components/Moment.vue?135d","webpack:///nextcloud/apps/comments/src/utils/davUtils.js","webpack:///nextcloud/apps/comments/src/utils/decodeHtmlEntities.js","webpack:///nextcloud/apps/comments/src/services/DavClient.js","webpack:///nextcloud/apps/comments/src/services/NewComment.js","webpack:///nextcloud/apps/comments/src/services/DeleteComment.js","webpack:///nextcloud/apps/comments/src/services/EditComment.js","webpack:///nextcloud/apps/comments/src/mixins/CommentMixin.js","webpack:///nextcloud/apps/comments/src/components/Comment.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/comments/src/components/Comment.vue","webpack://nextcloud/./apps/comments/src/components/Comment.vue?c3b2","webpack://nextcloud/./apps/comments/src/components/Comment.vue?7f26","webpack://nextcloud/./apps/comments/src/components/Comment.vue?d1f7","webpack:///nextcloud/node_modules/webdav/node_modules/minimatch/dist/mjs/brace-expressions.js","webpack:///nextcloud/node_modules/webdav/node_modules/minimatch/dist/mjs/index.js","webpack:///nextcloud/node_modules/webdav/node_modules/minimatch/dist/mjs/escape.js","webpack:///nextcloud/node_modules/webdav/node_modules/minimatch/dist/mjs/unescape.js","webpack:///nextcloud/node_modules/webdav/dist/node/response.js","webpack:///nextcloud/node_modules/webdav/dist/node/tools/dav.js","webpack:///nextcloud/apps/comments/src/services/GetComments.ts","webpack:///nextcloud/node_modules/webdav/dist/node/tools/encode.js","webpack:///nextcloud/apps/comments/src/utils/cancelableRequest.js","webpack:///nextcloud/apps/comments/src/views/Comments.vue","webpack:///nextcloud/apps/comments/src/services/ReadComments.ts","webpack:///nextcloud/apps/comments/src/views/Comments.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/comments/src/views/Comments.vue?2014","webpack://nextcloud/./apps/comments/src/views/Comments.vue?f45b","webpack://nextcloud/./apps/comments/src/views/Comments.vue?0e41","webpack:///nextcloud/apps/comments/src/logger.js","webpack:///nextcloud/apps/comments/src/services/CommentsInstance.js","webpack:///nextcloud/apps/comments/src/comments-app.js","webpack:///nextcloud/node_modules/balanced-match/index.js","webpack:///nextcloud/node_modules/base-64/base64.js","webpack:///nextcloud/apps/comments/src/components/Comment.vue?vue&type=style&index=0&id=6d874704&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/comments/src/views/Comments.vue?vue&type=style&index=0&id=5750efc5&prod&lang=scss&scoped=true&","webpack:///nextcloud/node_modules/he/he.js","webpack:///nextcloud/node_modules/moment/locale|sync|/^\\.\\/.*$","webpack:///nextcloud/node_modules/nested-property/dist/nested-property.js","webpack:///nextcloud/node_modules/path-posix/index.js","webpack:///nextcloud/node_modules/webdav/node_modules/brace-expansion/index.js","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","function _typeof(obj) {\n  if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n    _typeof = function (obj) {\n      return typeof obj;\n    };\n  } else {\n    _typeof = function (obj) {\n      return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n    };\n  }\n\n  return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n}\n\nfunction _defineProperties(target, props) {\n  for (var i = 0; i < props.length; i++) {\n    var descriptor = props[i];\n    descriptor.enumerable = descriptor.enumerable || false;\n    descriptor.configurable = true;\n    if (\"value\" in descriptor) descriptor.writable = true;\n    Object.defineProperty(target, descriptor.key, descriptor);\n  }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n  if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n  if (staticProps) _defineProperties(Constructor, staticProps);\n  return Constructor;\n}\n\nfunction _toConsumableArray(arr) {\n  return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n  if (Array.isArray(arr)) {\n    for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n    return arr2;\n  }\n}\n\nfunction _iterableToArray(iter) {\n  if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n  throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction processOptions(value) {\n  var options;\n\n  if (typeof value === 'function') {\n    // Simple options (callback-only)\n    options = {\n      callback: value\n    };\n  } else {\n    // Options object\n    options = value;\n  }\n\n  return options;\n}\nfunction throttle(callback, delay) {\n  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n  var timeout;\n  var lastState;\n  var currentArgs;\n\n  var throttled = function throttled(state) {\n    for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      args[_key - 1] = arguments[_key];\n    }\n\n    currentArgs = args;\n    if (timeout && state === lastState) return;\n    var leading = options.leading;\n\n    if (typeof leading === 'function') {\n      leading = leading(state, lastState);\n    }\n\n    if ((!timeout || state !== lastState) && leading) {\n      callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n    }\n\n    lastState = state;\n    clearTimeout(timeout);\n    timeout = setTimeout(function () {\n      callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n      timeout = 0;\n    }, delay);\n  };\n\n  throttled._clear = function () {\n    clearTimeout(timeout);\n    timeout = null;\n  };\n\n  return throttled;\n}\nfunction deepEqual(val1, val2) {\n  if (val1 === val2) return true;\n\n  if (_typeof(val1) === 'object') {\n    for (var key in val1) {\n      if (!deepEqual(val1[key], val2[key])) {\n        return false;\n      }\n    }\n\n    return true;\n  }\n\n  return false;\n}\n\nvar VisibilityState =\n/*#__PURE__*/\nfunction () {\n  function VisibilityState(el, options, vnode) {\n    _classCallCheck(this, VisibilityState);\n\n    this.el = el;\n    this.observer = null;\n    this.frozen = false;\n    this.createObserver(options, vnode);\n  }\n\n  _createClass(VisibilityState, [{\n    key: \"createObserver\",\n    value: function createObserver(options, vnode) {\n      var _this = this;\n\n      if (this.observer) {\n        this.destroyObserver();\n      }\n\n      if (this.frozen) return;\n      this.options = processOptions(options);\n\n      this.callback = function (result, entry) {\n        _this.options.callback(result, entry);\n\n        if (result && _this.options.once) {\n          _this.frozen = true;\n\n          _this.destroyObserver();\n        }\n      }; // Throttle\n\n\n      if (this.callback && this.options.throttle) {\n        var _ref = this.options.throttleOptions || {},\n            _leading = _ref.leading;\n\n        this.callback = throttle(this.callback, this.options.throttle, {\n          leading: function leading(state) {\n            return _leading === 'both' || _leading === 'visible' && state || _leading === 'hidden' && !state;\n          }\n        });\n      }\n\n      this.oldResult = undefined;\n      this.observer = new IntersectionObserver(function (entries) {\n        var entry = entries[0];\n\n        if (entries.length > 1) {\n          var intersectingEntry = entries.find(function (e) {\n            return e.isIntersecting;\n          });\n\n          if (intersectingEntry) {\n            entry = intersectingEntry;\n          }\n        }\n\n        if (_this.callback) {\n          // Use isIntersecting if possible because browsers can report isIntersecting as true, but intersectionRatio as 0, when something very slowly enters the viewport.\n          var result = entry.isIntersecting && entry.intersectionRatio >= _this.threshold;\n          if (result === _this.oldResult) return;\n          _this.oldResult = result;\n\n          _this.callback(result, entry);\n        }\n      }, this.options.intersection); // Wait for the element to be in document\n\n      vnode.context.$nextTick(function () {\n        if (_this.observer) {\n          _this.observer.observe(_this.el);\n        }\n      });\n    }\n  }, {\n    key: \"destroyObserver\",\n    value: function destroyObserver() {\n      if (this.observer) {\n        this.observer.disconnect();\n        this.observer = null;\n      } // Cancel throttled call\n\n\n      if (this.callback && this.callback._clear) {\n        this.callback._clear();\n\n        this.callback = null;\n      }\n    }\n  }, {\n    key: \"threshold\",\n    get: function get() {\n      return this.options.intersection && typeof this.options.intersection.threshold === 'number' ? this.options.intersection.threshold : 0;\n    }\n  }]);\n\n  return VisibilityState;\n}();\n\nfunction bind(el, _ref2, vnode) {\n  var value = _ref2.value;\n  if (!value) return;\n\n  if (typeof IntersectionObserver === 'undefined') {\n    console.warn('[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill');\n  } else {\n    var state = new VisibilityState(el, value, vnode);\n    el._vue_visibilityState = state;\n  }\n}\n\nfunction update(el, _ref3, vnode) {\n  var value = _ref3.value,\n      oldValue = _ref3.oldValue;\n  if (deepEqual(value, oldValue)) return;\n  var state = el._vue_visibilityState;\n\n  if (!value) {\n    unbind(el);\n    return;\n  }\n\n  if (state) {\n    state.createObserver(value, vnode);\n  } else {\n    bind(el, {\n      value: value\n    }, vnode);\n  }\n}\n\nfunction unbind(el) {\n  var state = el._vue_visibilityState;\n\n  if (state) {\n    state.destroyObserver();\n    delete el._vue_visibilityState;\n  }\n}\n\nvar ObserveVisibility = {\n  bind: bind,\n  update: update,\n  unbind: unbind\n};\n\nfunction install(Vue) {\n  Vue.directive('observe-visibility', ObserveVisibility);\n  /* -- Add more components here -- */\n}\n/* -- Plugin definition & Auto-install -- */\n\n/* You shouldn't have to modify the code below */\n// Plugin\n\nvar plugin = {\n  // eslint-disable-next-line no-undef\n  version: \"1.0.0\",\n  install: install\n};\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n  GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n  GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n  GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { ObserveVisibility, install };\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Refresh.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Refresh.vue?vue&type=script&lang=js&\"","\n\n","import { render, staticRenderFns } from \"./Refresh.vue?vue&type=template&id=6bf8414a&\"\nimport script from \"./Refresh.vue?vue&type=script&lang=js&\"\nexport * from \"./Refresh.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon refresh-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M17.65,6.35C16.2,4.9 14.21,4 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C15.73,20 18.84,17.45 19.73,14H17.65C16.83,16.33 14.61,18 12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.66,6 15.14,6.69 16.22,7.78L13,11H20V4L17.65,6.35Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./MessageReplyText.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./MessageReplyText.vue?vue&type=script&lang=js&\"","\n\n","import { render, staticRenderFns } from \"./MessageReplyText.vue?vue&type=template&id=43cf8810&\"\nimport script from \"./MessageReplyText.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageReplyText.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon message-reply-text-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M18,8H6V6H18V8M18,11H6V9H18V11M18,14H6V12H18V14M22,4A2,2 0 0,0 20,2H4A2,2 0 0,0 2,4V16A2,2 0 0,0 4,18H18L22,22V4Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Moment.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Moment.vue?vue&type=script&lang=js&\"","\n\n\n\n\n","import { render, staticRenderFns } from \"./Moment.vue?vue&type=template&id=57999be6&\"\nimport script from \"./Moment.vue?vue&type=script&lang=js&\"\nexport * from \"./Moment.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',{staticClass:\"live-relative-timestamp\",attrs:{\"data-timestamp\":_vm.timestamp * 1000,\"title\":_vm.title}},[_vm._v(_vm._s(_vm.formatted))])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { generateRemoteUrl } from '@nextcloud/router'\n\nconst getRootPath = function() {\n\treturn generateRemoteUrl('dav/comments')\n}\n\nexport { getRootPath }\n","/**\n * @copyright Copyright (c) 2021 Christopher Ng \n *\n * @author Christopher Ng \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n/**\n * @param {any} value -\n * @param {any} passes -\n */\nexport function decodeHtmlEntities(value, passes = 1) {\n\tconst parser = new DOMParser()\n\tlet decoded = value\n\tfor (let i = 0; i < passes; i++) {\n\t\tdecoded = parser.parseFromString(decoded, 'text/html').documentElement.textContent\n\t}\n\treturn decoded\n}\n","/**\n * @copyright Copyright (c) 2021 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { createClient } from 'webdav'\nimport { getRootPath } from '../utils/davUtils.js'\nimport { getRequestToken } from '@nextcloud/auth'\n\n// init webdav client\nconst client = createClient(getRootPath(), {\n\theaders: {\n\t\t// Add this so the server knows it is an request from the browser\n\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\t// Inject user auth\n\t\trequesttoken: getRequestToken() ?? '',\n\t},\n})\n\nexport default client\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { getRootPath } from '../utils/davUtils.js'\nimport { decodeHtmlEntities } from '../utils/decodeHtmlEntities.js'\nimport axios from '@nextcloud/axios'\nimport client from './DavClient.js'\n\n/**\n * Retrieve the comments list\n *\n * @param {string} commentsType the ressource type\n * @param {number} ressourceId the ressource ID\n * @param {string} message the message\n * @return {object} the new comment\n */\nexport default async function(commentsType, ressourceId, message) {\n\tconst ressourcePath = ['', commentsType, ressourceId].join('/')\n\n\tconst response = await axios.post(getRootPath() + ressourcePath, {\n\t\tactorDisplayName: getCurrentUser().displayName,\n\t\tactorId: getCurrentUser().uid,\n\t\tactorType: 'users',\n\t\tcreationDateTime: (new Date()).toUTCString(),\n\t\tmessage,\n\t\tobjectType: 'files',\n\t\tverb: 'comment',\n\t})\n\n\t// Retrieve comment id from ressource location\n\tconst commentId = parseInt(response.headers['content-location'].split('/').pop())\n\tconst commentPath = ressourcePath + '/' + commentId\n\n\t// Fetch newly created comment data\n\tconst comment = await client.stat(commentPath, {\n\t\tdetails: true,\n\t})\n\n\tconst props = comment.data.props\n\t// Decode twice to handle potentially double-encoded entities\n\t// FIXME Remove this once https://github.com/nextcloud/server/issues/29306\n\t// is resolved\n\tprops.actorDisplayName = decodeHtmlEntities(props.actorDisplayName, 2)\n\tprops.message = decodeHtmlEntities(props.message, 2)\n\n\treturn comment.data\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport client from './DavClient.js'\n\n/**\n * Delete a comment\n *\n * @param {string} commentsType the ressource type\n * @param {number} ressourceId the ressource ID\n * @param {number} commentId the comment iD\n */\nexport default async function(commentsType, ressourceId, commentId) {\n\tconst commentPath = ['', commentsType, ressourceId, commentId].join('/')\n\n\t// Fetch newly created comment data\n\tawait client.deleteFile(commentPath)\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport client from './DavClient.js'\n\n/**\n * Edit an existing comment\n *\n * @param {string} commentsType the ressource type\n * @param {number} ressourceId the ressource ID\n * @param {number} commentId the comment iD\n * @param {string} message the message content\n */\nexport default async function(commentsType, ressourceId, commentId, message) {\n\tconst commentPath = ['', commentsType, ressourceId, commentId].join('/')\n\n\treturn await client.customRequest(commentPath, Object.assign({\n\t\tmethod: 'PROPPATCH',\n\t\tdata: `\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t${message}\n\t\t\t\t\n\t\t\t\n\t\t\t`,\n\t}))\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport NewComment from '../services/NewComment.js'\nimport DeleteComment from '../services/DeleteComment.js'\nimport EditComment from '../services/EditComment.js'\nimport { showError, showUndo, TOAST_UNDO_TIMEOUT } from '@nextcloud/dialogs'\n\nexport default {\n\tprops: {\n\t\tid: {\n\t\t\ttype: Number,\n\t\t\tdefault: null,\n\t\t},\n\t\tmessage: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tressourceId: {\n\t\t\ttype: [String, Number],\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tdeleted: false,\n\t\t\tediting: false,\n\t\t\tloading: false,\n\t\t}\n\t},\n\n\tmethods: {\n\t\t// EDITION\n\t\tonEdit() {\n\t\t\tthis.editing = true\n\t\t},\n\t\tonEditCancel() {\n\t\t\tthis.editing = false\n\t\t\t// Restore original value\n\t\t\tthis.updateLocalMessage(this.message)\n\t\t},\n\t\tasync onEditComment(message) {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tawait EditComment(this.commentsType, this.ressourceId, this.id, message)\n\t\t\t\tthis.logger.debug('Comment edited', { commentsType: this.commentsType, ressourceId: this.ressourceId, id: this.id, message })\n\t\t\t\tthis.$emit('update:message', message)\n\t\t\t\tthis.editing = false\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('comments', 'An error occurred while trying to edit the comment'))\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\n\t\t// DELETION\n\t\tonDeleteWithUndo() {\n\t\t\tthis.deleted = true\n\t\t\tconst timeOutDelete = setTimeout(this.onDelete, TOAST_UNDO_TIMEOUT)\n\t\t\tshowUndo(t('comments', 'Comment deleted'), () => {\n\t\t\t\tclearTimeout(timeOutDelete)\n\t\t\t\tthis.deleted = false\n\t\t\t})\n\t\t},\n\t\tasync onDelete() {\n\t\t\ttry {\n\t\t\t\tawait DeleteComment(this.commentsType, this.ressourceId, this.id)\n\t\t\t\tthis.logger.debug('Comment deleted', { commentsType: this.commentsType, ressourceId: this.ressourceId, id: this.id })\n\t\t\t\tthis.$emit('delete', this.id)\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('comments', 'An error occurred while trying to delete the comment'))\n\t\t\t\tconsole.error(error)\n\t\t\t\tthis.deleted = false\n\t\t\t}\n\t\t},\n\n\t\t// CREATION\n\t\tasync onNewComment(message) {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tconst newComment = await NewComment(this.commentsType, this.ressourceId, message)\n\t\t\t\tthis.logger.debug('New comment posted', { commentsType: this.commentsType, ressourceId: this.ressourceId, newComment })\n\t\t\t\tthis.$emit('new', newComment)\n\n\t\t\t\t// Clear old content\n\t\t\t\tthis.$emit('update:message', '')\n\t\t\t\tthis.localMessage = ''\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('comments', 'An error occurred while trying to create the comment'))\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t},\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=script&lang=js&\"","\n\n\n\n\n\n","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=style&index=0&id=6d874704&prod&lang=scss&scoped=true&\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=style&index=0&id=6d874704&prod&lang=scss&scoped=true&\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Comment.vue?vue&type=template&id=6d874704&scoped=true&\"\nimport script from \"./Comment.vue?vue&type=script&lang=js&\"\nexport * from \"./Comment.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Comment.vue?vue&type=style&index=0&id=6d874704&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"6d874704\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c(_vm.tag,{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.deleted),expression:\"!deleted\"}],tag:\"component\",staticClass:\"comment\",class:{'comment--loading': _vm.loading}},[_c('div',{staticClass:\"comment__side\"},[_c('NcAvatar',{staticClass:\"comment__avatar\",attrs:{\"display-name\":_vm.actorDisplayName,\"user\":_vm.actorId,\"size\":32}})],1),_vm._v(\" \"),_c('div',{staticClass:\"comment__body\"},[_c('div',{staticClass:\"comment__header\"},[_c('span',{staticClass:\"comment__author\"},[_vm._v(_vm._s(_vm.actorDisplayName))]),_vm._v(\" \"),(_vm.isOwnComment && _vm.id && !_vm.loading)?_c('NcActions',{staticClass:\"comment__actions\"},[(!_vm.editing)?[_c('NcActionButton',{attrs:{\"close-after-click\":true,\"icon\":\"icon-rename\"},on:{\"click\":_vm.onEdit}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', 'Edit comment'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcActionSeparator'),_vm._v(\" \"),_c('NcActionButton',{attrs:{\"close-after-click\":true,\"icon\":\"icon-delete\"},on:{\"click\":_vm.onDeleteWithUndo}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', 'Delete comment'))+\"\\n\\t\\t\\t\\t\\t\")])]:_c('NcActionButton',{attrs:{\"icon\":\"icon-close\"},on:{\"click\":_vm.onEditCancel}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', 'Cancel edit'))+\"\\n\\t\\t\\t\\t\")])],2):_vm._e(),_vm._v(\" \"),(_vm.id && _vm.loading)?_c('div',{staticClass:\"comment_loading icon-loading-small\"}):(_vm.creationDateTime)?_c('Moment',{staticClass:\"comment__timestamp\",attrs:{\"timestamp\":_vm.timestamp}}):_vm._e()],1),_vm._v(\" \"),(_vm.editor || _vm.editing)?_c('form',{staticClass:\"comment__editor\",on:{\"submit\":function($event){$event.preventDefault();}}},[_c('div',{staticClass:\"comment__editor-group\"},[_c('NcRichContenteditable',{ref:\"editor\",attrs:{\"auto-complete\":_vm.autoComplete,\"contenteditable\":!_vm.loading,\"value\":_vm.localMessage,\"user-data\":_vm.userData,\"aria-describedby\":\"tab-comments__editor-description\"},on:{\"update:value\":_vm.updateLocalMessage,\"submit\":_vm.onSubmit}}),_vm._v(\" \"),_c('div',{staticClass:\"comment__submit\"},[_c('NcButton',{attrs:{\"type\":\"tertiary-no-background\",\"native-type\":\"submit\",\"aria-label\":_vm.t('comments', 'Post comment'),\"disabled\":_vm.isEmptyMessage},on:{\"click\":_vm.onSubmit},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.loading)?_c('span',{staticClass:\"icon-loading-small\"}):_c('ArrowRight',{attrs:{\"size\":20}})]},proxy:true}],null,false,2357784758)})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"comment__editor-description\",attrs:{\"id\":\"tab-comments__editor-description\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', '\"@\" for mentions, \":\" for emoji, \"/\" for smart picker'))+\"\\n\\t\\t\\t\")])]):_c('div',{staticClass:\"comment__message\",class:{'comment__message--expanded': _vm.expanded},domProps:{\"innerHTML\":_vm._s(_vm.renderedContent)},on:{\"click\":_vm.onExpand}})])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// translate the various posix character classes into unicode properties\n// this works across all unicode locales\n// { : [, /u flag required, negated]\nconst posixClasses = {\n    '[:alnum:]': ['\\\\p{L}\\\\p{Nl}\\\\p{Nd}', true],\n    '[:alpha:]': ['\\\\p{L}\\\\p{Nl}', true],\n    '[:ascii:]': ['\\\\x' + '00-\\\\x' + '7f', false],\n    '[:blank:]': ['\\\\p{Zs}\\\\t', true],\n    '[:cntrl:]': ['\\\\p{Cc}', true],\n    '[:digit:]': ['\\\\p{Nd}', true],\n    '[:graph:]': ['\\\\p{Z}\\\\p{C}', true, true],\n    '[:lower:]': ['\\\\p{Ll}', true],\n    '[:print:]': ['\\\\p{C}', true],\n    '[:punct:]': ['\\\\p{P}', true],\n    '[:space:]': ['\\\\p{Z}\\\\t\\\\r\\\\n\\\\v\\\\f', true],\n    '[:upper:]': ['\\\\p{Lu}', true],\n    '[:word:]': ['\\\\p{L}\\\\p{Nl}\\\\p{Nd}\\\\p{Pc}', true],\n    '[:xdigit:]': ['A-Fa-f0-9', false],\n};\n// only need to escape a few things inside of brace expressions\n// escapes: [ \\ ] -\nconst braceEscape = (s) => s.replace(/[[\\]\\\\-]/g, '\\\\$&');\n// escape all regexp magic characters\nconst regexpEscape = (s) => s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n// everything has already been escaped, we just have to join\nconst rangesToString = (ranges) => ranges.join('');\n// takes a glob string at a posix brace expression, and returns\n// an equivalent regular expression source, and boolean indicating\n// whether the /u flag needs to be applied, and the number of chars\n// consumed to parse the character class.\n// This also removes out of order ranges, and returns ($.) if the\n// entire class just no good.\nexport const parseClass = (glob, position) => {\n    const pos = position;\n    /* c8 ignore start */\n    if (glob.charAt(pos) !== '[') {\n        throw new Error('not in a brace expression');\n    }\n    /* c8 ignore stop */\n    const ranges = [];\n    const negs = [];\n    let i = pos + 1;\n    let sawStart = false;\n    let uflag = false;\n    let escaping = false;\n    let negate = false;\n    let endPos = pos;\n    let rangeStart = '';\n    WHILE: while (i < glob.length) {\n        const c = glob.charAt(i);\n        if ((c === '!' || c === '^') && i === pos + 1) {\n            negate = true;\n            i++;\n            continue;\n        }\n        if (c === ']' && sawStart && !escaping) {\n            endPos = i + 1;\n            break;\n        }\n        sawStart = true;\n        if (c === '\\\\') {\n            if (!escaping) {\n                escaping = true;\n                i++;\n                continue;\n            }\n            // escaped \\ char, fall through and treat like normal char\n        }\n        if (c === '[' && !escaping) {\n            // either a posix class, a collation equivalent, or just a [\n            for (const [cls, [unip, u, neg]] of Object.entries(posixClasses)) {\n                if (glob.startsWith(cls, i)) {\n                    // invalid, [a-[] is fine, but not [a-[:alpha]]\n                    if (rangeStart) {\n                        return ['$.', false, glob.length - pos, true];\n                    }\n                    i += cls.length;\n                    if (neg)\n                        negs.push(unip);\n                    else\n                        ranges.push(unip);\n                    uflag = uflag || u;\n                    continue WHILE;\n                }\n            }\n        }\n        // now it's just a normal character, effectively\n        escaping = false;\n        if (rangeStart) {\n            // throw this range away if it's not valid, but others\n            // can still match.\n            if (c > rangeStart) {\n                ranges.push(braceEscape(rangeStart) + '-' + braceEscape(c));\n            }\n            else if (c === rangeStart) {\n                ranges.push(braceEscape(c));\n            }\n            rangeStart = '';\n            i++;\n            continue;\n        }\n        // now might be the start of a range.\n        // can be either c-d or c-] or c] or c] at this point\n        if (glob.startsWith('-]', i + 1)) {\n            ranges.push(braceEscape(c + '-'));\n            i += 2;\n            continue;\n        }\n        if (glob.startsWith('-', i + 1)) {\n            rangeStart = c;\n            i += 2;\n            continue;\n        }\n        // not the start of a range, just a single character\n        ranges.push(braceEscape(c));\n        i++;\n    }\n    if (endPos < i) {\n        // didn't see the end of the class, not a valid class,\n        // but might still be valid as a literal match.\n        return ['', false, 0, false];\n    }\n    // if we got no ranges and no negates, then we have a range that\n    // cannot possibly match anything, and that poisons the whole glob\n    if (!ranges.length && !negs.length) {\n        return ['$.', false, glob.length - pos, true];\n    }\n    // if we got one positive range, and it's a single character, then that's\n    // not actually a magic pattern, it's just that one literal character.\n    // we should not treat that as \"magic\", we should just return the literal\n    // character. [_] is a perfectly valid way to escape glob magic chars.\n    if (negs.length === 0 &&\n        ranges.length === 1 &&\n        /^\\\\?.$/.test(ranges[0]) &&\n        !negate) {\n        const r = ranges[0].length === 2 ? ranges[0].slice(-1) : ranges[0];\n        return [regexpEscape(r), false, endPos - pos, false];\n    }\n    const sranges = '[' + (negate ? '^' : '') + rangesToString(ranges) + ']';\n    const snegs = '[' + (negate ? '' : '^') + rangesToString(negs) + ']';\n    const comb = ranges.length && negs.length\n        ? '(' + sranges + '|' + snegs + ')'\n        : ranges.length\n            ? sranges\n            : snegs;\n    return [comb, uflag, endPos - pos, true];\n};\n//# sourceMappingURL=brace-expressions.js.map","import expand from 'brace-expansion';\nimport { parseClass } from './brace-expressions.js';\nimport { escape } from './escape.js';\nimport { unescape } from './unescape.js';\nexport const minimatch = (p, pattern, options = {}) => {\n    assertValidPattern(pattern);\n    // shortcut: comments match nothing.\n    if (!options.nocomment && pattern.charAt(0) === '#') {\n        return false;\n    }\n    return new Minimatch(pattern, options).match(p);\n};\nexport default minimatch;\n// Optimized checking for the most common glob patterns.\nconst starDotExtRE = /^\\*+([^+@!?\\*\\[\\(]*)$/;\nconst starDotExtTest = (ext) => (f) => !f.startsWith('.') && f.endsWith(ext);\nconst starDotExtTestDot = (ext) => (f) => f.endsWith(ext);\nconst starDotExtTestNocase = (ext) => {\n    ext = ext.toLowerCase();\n    return (f) => !f.startsWith('.') && f.toLowerCase().endsWith(ext);\n};\nconst starDotExtTestNocaseDot = (ext) => {\n    ext = ext.toLowerCase();\n    return (f) => f.toLowerCase().endsWith(ext);\n};\nconst starDotStarRE = /^\\*+\\.\\*+$/;\nconst starDotStarTest = (f) => !f.startsWith('.') && f.includes('.');\nconst starDotStarTestDot = (f) => f !== '.' && f !== '..' && f.includes('.');\nconst dotStarRE = /^\\.\\*+$/;\nconst dotStarTest = (f) => f !== '.' && f !== '..' && f.startsWith('.');\nconst starRE = /^\\*+$/;\nconst starTest = (f) => f.length !== 0 && !f.startsWith('.');\nconst starTestDot = (f) => f.length !== 0 && f !== '.' && f !== '..';\nconst qmarksRE = /^\\?+([^+@!?\\*\\[\\(]*)?$/;\nconst qmarksTestNocase = ([$0, ext = '']) => {\n    const noext = qmarksTestNoExt([$0]);\n    if (!ext)\n        return noext;\n    ext = ext.toLowerCase();\n    return (f) => noext(f) && f.toLowerCase().endsWith(ext);\n};\nconst qmarksTestNocaseDot = ([$0, ext = '']) => {\n    const noext = qmarksTestNoExtDot([$0]);\n    if (!ext)\n        return noext;\n    ext = ext.toLowerCase();\n    return (f) => noext(f) && f.toLowerCase().endsWith(ext);\n};\nconst qmarksTestDot = ([$0, ext = '']) => {\n    const noext = qmarksTestNoExtDot([$0]);\n    return !ext ? noext : (f) => noext(f) && f.endsWith(ext);\n};\nconst qmarksTest = ([$0, ext = '']) => {\n    const noext = qmarksTestNoExt([$0]);\n    return !ext ? noext : (f) => noext(f) && f.endsWith(ext);\n};\nconst qmarksTestNoExt = ([$0]) => {\n    const len = $0.length;\n    return (f) => f.length === len && !f.startsWith('.');\n};\nconst qmarksTestNoExtDot = ([$0]) => {\n    const len = $0.length;\n    return (f) => f.length === len && f !== '.' && f !== '..';\n};\n/* c8 ignore start */\nconst defaultPlatform = (typeof process === 'object' && process\n    ? (typeof process.env === 'object' &&\n        process.env &&\n        process.env.__MINIMATCH_TESTING_PLATFORM__) ||\n        process.platform\n    : 'posix');\nconst path = {\n    win32: { sep: '\\\\' },\n    posix: { sep: '/' },\n};\n/* c8 ignore stop */\nexport const sep = defaultPlatform === 'win32' ? path.win32.sep : path.posix.sep;\nminimatch.sep = sep;\nexport const GLOBSTAR = Symbol('globstar **');\nminimatch.GLOBSTAR = GLOBSTAR;\nconst plTypes = {\n    '!': { open: '(?:(?!(?:', close: '))[^/]*?)' },\n    '?': { open: '(?:', close: ')?' },\n    '+': { open: '(?:', close: ')+' },\n    '*': { open: '(?:', close: ')*' },\n    '@': { open: '(?:', close: ')' },\n};\n// any single thing other than /\n// don't need to escape / when using new RegExp()\nconst qmark = '[^/]';\n// * => any number of characters\nconst star = qmark + '*?';\n// ** when dots are allowed.  Anything goes, except .. and .\n// not (^ or / followed by one or two dots followed by $ or /),\n// followed by anything, any number of times.\nconst twoStarDot = '(?:(?!(?:\\\\/|^)(?:\\\\.{1,2})($|\\\\/)).)*?';\n// not a ^ or / followed by a dot,\n// followed by anything, any number of times.\nconst twoStarNoDot = '(?:(?!(?:\\\\/|^)\\\\.).)*?';\n// \"abc\" -> { a:true, b:true, c:true }\nconst charSet = (s) => s.split('').reduce((set, c) => {\n    set[c] = true;\n    return set;\n}, {});\n// characters that need to be escaped in RegExp.\nconst reSpecials = charSet('().*{}+?[]^$\\\\!');\n// characters that indicate we have to add the pattern start\nconst addPatternStartSet = charSet('[.(');\nexport const filter = (pattern, options = {}) => (p) => minimatch(p, pattern, options);\nminimatch.filter = filter;\nconst ext = (a, b = {}) => Object.assign({}, a, b);\nexport const defaults = (def) => {\n    if (!def || typeof def !== 'object' || !Object.keys(def).length) {\n        return minimatch;\n    }\n    const orig = minimatch;\n    const m = (p, pattern, options = {}) => orig(p, pattern, ext(def, options));\n    return Object.assign(m, {\n        Minimatch: class Minimatch extends orig.Minimatch {\n            constructor(pattern, options = {}) {\n                super(pattern, ext(def, options));\n            }\n            static defaults(options) {\n                return orig.defaults(ext(def, options)).Minimatch;\n            }\n        },\n        unescape: (s, options = {}) => orig.unescape(s, ext(def, options)),\n        escape: (s, options = {}) => orig.escape(s, ext(def, options)),\n        filter: (pattern, options = {}) => orig.filter(pattern, ext(def, options)),\n        defaults: (options) => orig.defaults(ext(def, options)),\n        makeRe: (pattern, options = {}) => orig.makeRe(pattern, ext(def, options)),\n        braceExpand: (pattern, options = {}) => orig.braceExpand(pattern, ext(def, options)),\n        match: (list, pattern, options = {}) => orig.match(list, pattern, ext(def, options)),\n        sep: orig.sep,\n        GLOBSTAR: GLOBSTAR,\n    });\n};\nminimatch.defaults = defaults;\n// Brace expansion:\n// a{b,c}d -> abd acd\n// a{b,}c -> abc ac\n// a{0..3}d -> a0d a1d a2d a3d\n// a{b,c{d,e}f}g -> abg acdfg acefg\n// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg\n//\n// Invalid sets are not expanded.\n// a{2..}b -> a{2..}b\n// a{b}c -> a{b}c\nexport const braceExpand = (pattern, options = {}) => {\n    assertValidPattern(pattern);\n    // Thanks to Yeting Li  for\n    // improving this regexp to avoid a ReDOS vulnerability.\n    if (options.nobrace || !/\\{(?:(?!\\{).)*\\}/.test(pattern)) {\n        // shortcut. no need to expand.\n        return [pattern];\n    }\n    return expand(pattern);\n};\nminimatch.braceExpand = braceExpand;\nconst MAX_PATTERN_LENGTH = 1024 * 64;\nconst assertValidPattern = (pattern) => {\n    if (typeof pattern !== 'string') {\n        throw new TypeError('invalid pattern');\n    }\n    if (pattern.length > MAX_PATTERN_LENGTH) {\n        throw new TypeError('pattern is too long');\n    }\n};\n// parse a component of the expanded set.\n// At this point, no pattern may contain \"/\" in it\n// so we're going to return a 2d array, where each entry is the full\n// pattern, split on '/', and then turned into a regular expression.\n// A regexp is made at the end which joins each array with an\n// escaped /, and another full one which joins each regexp with |.\n//\n// Following the lead of Bash 4.1, note that \"**\" only has special meaning\n// when it is the *only* thing in a path portion.  Otherwise, any series\n// of * is equivalent to a single *.  Globstar behavior is enabled by\n// default, and can be disabled by setting options.noglobstar.\nexport const makeRe = (pattern, options = {}) => new Minimatch(pattern, options).makeRe();\nminimatch.makeRe = makeRe;\nexport const match = (list, pattern, options = {}) => {\n    const mm = new Minimatch(pattern, options);\n    list = list.filter(f => mm.match(f));\n    if (mm.options.nonull && !list.length) {\n        list.push(pattern);\n    }\n    return list;\n};\nminimatch.match = match;\n// replace stuff like \\* with *\nconst globUnescape = (s) => s.replace(/\\\\(.)/g, '$1');\nconst globMagic = /[?*]|[+@!]\\(.*?\\)|\\[|\\]/;\nconst regExpEscape = (s) => s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\nexport class Minimatch {\n    options;\n    set;\n    pattern;\n    windowsPathsNoEscape;\n    nonegate;\n    negate;\n    comment;\n    empty;\n    preserveMultipleSlashes;\n    partial;\n    globSet;\n    globParts;\n    nocase;\n    isWindows;\n    platform;\n    windowsNoMagicRoot;\n    regexp;\n    constructor(pattern, options = {}) {\n        assertValidPattern(pattern);\n        options = options || {};\n        this.options = options;\n        this.pattern = pattern;\n        this.platform = options.platform || defaultPlatform;\n        this.isWindows = this.platform === 'win32';\n        this.windowsPathsNoEscape =\n            !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;\n        if (this.windowsPathsNoEscape) {\n            this.pattern = this.pattern.replace(/\\\\/g, '/');\n        }\n        this.preserveMultipleSlashes = !!options.preserveMultipleSlashes;\n        this.regexp = null;\n        this.negate = false;\n        this.nonegate = !!options.nonegate;\n        this.comment = false;\n        this.empty = false;\n        this.partial = !!options.partial;\n        this.nocase = !!this.options.nocase;\n        this.windowsNoMagicRoot =\n            options.windowsNoMagicRoot !== undefined\n                ? options.windowsNoMagicRoot\n                : !!(this.isWindows && this.nocase);\n        this.globSet = [];\n        this.globParts = [];\n        this.set = [];\n        // make the set of regexps etc.\n        this.make();\n    }\n    hasMagic() {\n        if (this.options.magicalBraces && this.set.length > 1) {\n            return true;\n        }\n        for (const pattern of this.set) {\n            for (const part of pattern) {\n                if (typeof part !== 'string')\n                    return true;\n            }\n        }\n        return false;\n    }\n    debug(..._) { }\n    make() {\n        const pattern = this.pattern;\n        const options = this.options;\n        // empty patterns and comments match nothing.\n        if (!options.nocomment && pattern.charAt(0) === '#') {\n            this.comment = true;\n            return;\n        }\n        if (!pattern) {\n            this.empty = true;\n            return;\n        }\n        // step 1: figure out negation, etc.\n        this.parseNegate();\n        // step 2: expand braces\n        this.globSet = [...new Set(this.braceExpand())];\n        if (options.debug) {\n            this.debug = (...args) => console.error(...args);\n        }\n        this.debug(this.pattern, this.globSet);\n        // step 3: now we have a set, so turn each one into a series of\n        // path-portion matching patterns.\n        // These will be regexps, except in the case of \"**\", which is\n        // set to the GLOBSTAR object for globstar behavior,\n        // and will not contain any / characters\n        //\n        // First, we preprocess to make the glob pattern sets a bit simpler\n        // and deduped.  There are some perf-killing patterns that can cause\n        // problems with a glob walk, but we can simplify them down a bit.\n        const rawGlobParts = this.globSet.map(s => this.slashSplit(s));\n        this.globParts = this.preprocess(rawGlobParts);\n        this.debug(this.pattern, this.globParts);\n        // glob --> regexps\n        let set = this.globParts.map((s, _, __) => {\n            if (this.isWindows && this.windowsNoMagicRoot) {\n                // check if it's a drive or unc path.\n                const isUNC = s[0] === '' &&\n                    s[1] === '' &&\n                    (s[2] === '?' || !globMagic.test(s[2])) &&\n                    !globMagic.test(s[3]);\n                const isDrive = /^[a-z]:/i.test(s[0]);\n                if (isUNC) {\n                    return [...s.slice(0, 4), ...s.slice(4).map(ss => this.parse(ss))];\n                }\n                else if (isDrive) {\n                    return [s[0], ...s.slice(1).map(ss => this.parse(ss))];\n                }\n            }\n            return s.map(ss => this.parse(ss));\n        });\n        this.debug(this.pattern, set);\n        // filter out everything that didn't compile properly.\n        this.set = set.filter(s => s.indexOf(false) === -1);\n        // do not treat the ? in UNC paths as magic\n        if (this.isWindows) {\n            for (let i = 0; i < this.set.length; i++) {\n                const p = this.set[i];\n                if (p[0] === '' &&\n                    p[1] === '' &&\n                    this.globParts[i][2] === '?' &&\n                    typeof p[3] === 'string' &&\n                    /^[a-z]:$/i.test(p[3])) {\n                    p[2] = '?';\n                }\n            }\n        }\n        this.debug(this.pattern, this.set);\n    }\n    // various transforms to equivalent pattern sets that are\n    // faster to process in a filesystem walk.  The goal is to\n    // eliminate what we can, and push all ** patterns as far\n    // to the right as possible, even if it increases the number\n    // of patterns that we have to process.\n    preprocess(globParts) {\n        // if we're not in globstar mode, then turn all ** into *\n        if (this.options.noglobstar) {\n            for (let i = 0; i < globParts.length; i++) {\n                for (let j = 0; j < globParts[i].length; j++) {\n                    if (globParts[i][j] === '**') {\n                        globParts[i][j] = '*';\n                    }\n                }\n            }\n        }\n        const { optimizationLevel = 1 } = this.options;\n        if (optimizationLevel >= 2) {\n            // aggressive optimization for the purpose of fs walking\n            globParts = this.firstPhasePreProcess(globParts);\n            globParts = this.secondPhasePreProcess(globParts);\n        }\n        else if (optimizationLevel >= 1) {\n            // just basic optimizations to remove some .. parts\n            globParts = this.levelOneOptimize(globParts);\n        }\n        else {\n            globParts = this.adjascentGlobstarOptimize(globParts);\n        }\n        return globParts;\n    }\n    // just get rid of adjascent ** portions\n    adjascentGlobstarOptimize(globParts) {\n        return globParts.map(parts => {\n            let gs = -1;\n            while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n                let i = gs;\n                while (parts[i + 1] === '**') {\n                    i++;\n                }\n                if (i !== gs) {\n                    parts.splice(gs, i - gs);\n                }\n            }\n            return parts;\n        });\n    }\n    // get rid of adjascent ** and resolve .. portions\n    levelOneOptimize(globParts) {\n        return globParts.map(parts => {\n            parts = parts.reduce((set, part) => {\n                const prev = set[set.length - 1];\n                if (part === '**' && prev === '**') {\n                    return set;\n                }\n                if (part === '..') {\n                    if (prev && prev !== '..' && prev !== '.' && prev !== '**') {\n                        set.pop();\n                        return set;\n                    }\n                }\n                set.push(part);\n                return set;\n            }, []);\n            return parts.length === 0 ? [''] : parts;\n        });\n    }\n    levelTwoFileOptimize(parts) {\n        if (!Array.isArray(parts)) {\n            parts = this.slashSplit(parts);\n        }\n        let didSomething = false;\n        do {\n            didSomething = false;\n            // 
// -> 
/\n            if (!this.preserveMultipleSlashes) {\n                for (let i = 1; i < parts.length - 1; i++) {\n                    const p = parts[i];\n                    // don't squeeze out UNC patterns\n                    if (i === 1 && p === '' && parts[0] === '')\n                        continue;\n                    if (p === '.' || p === '') {\n                        didSomething = true;\n                        parts.splice(i, 1);\n                        i--;\n                    }\n                }\n                if (parts[0] === '.' &&\n                    parts.length === 2 &&\n                    (parts[1] === '.' || parts[1] === '')) {\n                    didSomething = true;\n                    parts.pop();\n                }\n            }\n            // 
/

/../ ->

/\n            let dd = 0;\n            while (-1 !== (dd = parts.indexOf('..', dd + 1))) {\n                const p = parts[dd - 1];\n                if (p && p !== '.' && p !== '..' && p !== '**') {\n                    didSomething = true;\n                    parts.splice(dd - 1, 2);\n                    dd -= 2;\n                }\n            }\n        } while (didSomething);\n        return parts.length === 0 ? [''] : parts;\n    }\n    // First phase: single-pattern processing\n    // 
 is 1 or more portions\n    //  is 1 or more portions\n    // 

is any portion other than ., .., '', or **\n // is . or ''\n //\n // **/.. is *brutal* for filesystem walking performance, because\n // it effectively resets the recursive walk each time it occurs,\n // and ** cannot be reduced out by a .. pattern part like a regexp\n // or most strings (other than .., ., and '') can be.\n //\n //

/**/../

/

/ -> {

/../

/

/,

/**/

/

/}\n //

// -> 
/\n    // 
/

/../ ->

/\n    // **/**/ -> **/\n    //\n    // **/*/ -> */**/ <== not valid because ** doesn't follow\n    // this WOULD be allowed if ** did follow symlinks, or * didn't\n    firstPhasePreProcess(globParts) {\n        let didSomething = false;\n        do {\n            didSomething = false;\n            // 
/**/../

/

/ -> {

/../

/

/,

/**/

/

/}\n for (let parts of globParts) {\n let gs = -1;\n while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n let gss = gs;\n while (parts[gss + 1] === '**') {\n //

/**/**/ -> 
/**/\n                        gss++;\n                    }\n                    // eg, if gs is 2 and gss is 4, that means we have 3 **\n                    // parts, and can remove 2 of them.\n                    if (gss > gs) {\n                        parts.splice(gs + 1, gss - gs);\n                    }\n                    let next = parts[gs + 1];\n                    const p = parts[gs + 2];\n                    const p2 = parts[gs + 3];\n                    if (next !== '..')\n                        continue;\n                    if (!p ||\n                        p === '.' ||\n                        p === '..' ||\n                        !p2 ||\n                        p2 === '.' ||\n                        p2 === '..') {\n                        continue;\n                    }\n                    didSomething = true;\n                    // edit parts in place, and push the new one\n                    parts.splice(gs, 1);\n                    const other = parts.slice(0);\n                    other[gs] = '**';\n                    globParts.push(other);\n                    gs--;\n                }\n                // 
// -> 
/\n                if (!this.preserveMultipleSlashes) {\n                    for (let i = 1; i < parts.length - 1; i++) {\n                        const p = parts[i];\n                        // don't squeeze out UNC patterns\n                        if (i === 1 && p === '' && parts[0] === '')\n                            continue;\n                        if (p === '.' || p === '') {\n                            didSomething = true;\n                            parts.splice(i, 1);\n                            i--;\n                        }\n                    }\n                    if (parts[0] === '.' &&\n                        parts.length === 2 &&\n                        (parts[1] === '.' || parts[1] === '')) {\n                        didSomething = true;\n                        parts.pop();\n                    }\n                }\n                // 
/

/../ ->

/\n                let dd = 0;\n                while (-1 !== (dd = parts.indexOf('..', dd + 1))) {\n                    const p = parts[dd - 1];\n                    if (p && p !== '.' && p !== '..' && p !== '**') {\n                        didSomething = true;\n                        const needDot = dd === 1 && parts[dd + 1] === '**';\n                        const splin = needDot ? ['.'] : [];\n                        parts.splice(dd - 1, 2, ...splin);\n                        if (parts.length === 0)\n                            parts.push('');\n                        dd -= 2;\n                    }\n                }\n            }\n        } while (didSomething);\n        return globParts;\n    }\n    // second phase: multi-pattern dedupes\n    // {
/*/,
/

/} ->

/*/\n    // {
/,
/} -> 
/\n    // {
/**/,
/} -> 
/**/\n    //\n    // {
/**/,
/**/

/} ->

/**/\n    // ^-- not valid because ** doens't follow symlinks\n    secondPhasePreProcess(globParts) {\n        for (let i = 0; i < globParts.length - 1; i++) {\n            for (let j = i + 1; j < globParts.length; j++) {\n                const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);\n                if (!matched)\n                    continue;\n                globParts[i] = matched;\n                globParts[j] = [];\n            }\n        }\n        return globParts.filter(gs => gs.length);\n    }\n    partsMatch(a, b, emptyGSMatch = false) {\n        let ai = 0;\n        let bi = 0;\n        let result = [];\n        let which = '';\n        while (ai < a.length && bi < b.length) {\n            if (a[ai] === b[bi]) {\n                result.push(which === 'b' ? b[bi] : a[ai]);\n                ai++;\n                bi++;\n            }\n            else if (emptyGSMatch && a[ai] === '**' && b[bi] === a[ai + 1]) {\n                result.push(a[ai]);\n                ai++;\n            }\n            else if (emptyGSMatch && b[bi] === '**' && a[ai] === b[bi + 1]) {\n                result.push(b[bi]);\n                bi++;\n            }\n            else if (a[ai] === '*' &&\n                b[bi] &&\n                (this.options.dot || !b[bi].startsWith('.')) &&\n                b[bi] !== '**') {\n                if (which === 'b')\n                    return false;\n                which = 'a';\n                result.push(a[ai]);\n                ai++;\n                bi++;\n            }\n            else if (b[bi] === '*' &&\n                a[ai] &&\n                (this.options.dot || !a[ai].startsWith('.')) &&\n                a[ai] !== '**') {\n                if (which === 'a')\n                    return false;\n                which = 'b';\n                result.push(b[bi]);\n                ai++;\n                bi++;\n            }\n            else {\n                return false;\n            }\n        }\n        // if we fall out of the loop, it means they two are identical\n        // as long as their lengths match\n        return a.length === b.length && result;\n    }\n    parseNegate() {\n        if (this.nonegate)\n            return;\n        const pattern = this.pattern;\n        let negate = false;\n        let negateOffset = 0;\n        for (let i = 0; i < pattern.length && pattern.charAt(i) === '!'; i++) {\n            negate = !negate;\n            negateOffset++;\n        }\n        if (negateOffset)\n            this.pattern = pattern.slice(negateOffset);\n        this.negate = negate;\n    }\n    // set partial to true to test if, for example,\n    // \"/a/b\" matches the start of \"/*/b/*/d\"\n    // Partial means, if you run out of file before you run\n    // out of pattern, then that's fine, as long as all\n    // the parts match.\n    matchOne(file, pattern, partial = false) {\n        const options = this.options;\n        // a UNC pattern like //?/c:/* can match a path like c:/x\n        // and vice versa\n        if (this.isWindows) {\n            const fileUNC = file[0] === '' &&\n                file[1] === '' &&\n                file[2] === '?' &&\n                typeof file[3] === 'string' &&\n                /^[a-z]:$/i.test(file[3]);\n            const patternUNC = pattern[0] === '' &&\n                pattern[1] === '' &&\n                pattern[2] === '?' &&\n                typeof pattern[3] === 'string' &&\n                /^[a-z]:$/i.test(pattern[3]);\n            if (fileUNC && patternUNC) {\n                const fd = file[3];\n                const pd = pattern[3];\n                if (fd.toLowerCase() === pd.toLowerCase()) {\n                    file[3] = pd;\n                }\n            }\n            else if (patternUNC && typeof file[0] === 'string') {\n                const pd = pattern[3];\n                const fd = file[0];\n                if (pd.toLowerCase() === fd.toLowerCase()) {\n                    pattern[3] = fd;\n                    pattern = pattern.slice(3);\n                }\n            }\n            else if (fileUNC && typeof pattern[0] === 'string') {\n                const fd = file[3];\n                if (fd.toLowerCase() === pattern[0].toLowerCase()) {\n                    pattern[0] = fd;\n                    file = file.slice(3);\n                }\n            }\n        }\n        // resolve and reduce . and .. portions in the file as well.\n        // dont' need to do the second phase, because it's only one string[]\n        const { optimizationLevel = 1 } = this.options;\n        if (optimizationLevel >= 2) {\n            file = this.levelTwoFileOptimize(file);\n        }\n        this.debug('matchOne', this, { file, pattern });\n        this.debug('matchOne', file.length, pattern.length);\n        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {\n            this.debug('matchOne loop');\n            var p = pattern[pi];\n            var f = file[fi];\n            this.debug(pattern, p, f);\n            // should be impossible.\n            // some invalid regexp stuff in the set.\n            /* c8 ignore start */\n            if (p === false) {\n                return false;\n            }\n            /* c8 ignore stop */\n            if (p === GLOBSTAR) {\n                this.debug('GLOBSTAR', [pattern, p, f]);\n                // \"**\"\n                // a/**/b/**/c would match the following:\n                // a/b/x/y/z/c\n                // a/x/y/z/b/c\n                // a/b/x/b/x/c\n                // a/b/c\n                // To do this, take the rest of the pattern after\n                // the **, and see if it would match the file remainder.\n                // If so, return success.\n                // If not, the ** \"swallows\" a segment, and try again.\n                // This is recursively awful.\n                //\n                // a/**/b/**/c matching a/b/x/y/z/c\n                // - a matches a\n                // - doublestar\n                //   - matchOne(b/x/y/z/c, b/**/c)\n                //     - b matches b\n                //     - doublestar\n                //       - matchOne(x/y/z/c, c) -> no\n                //       - matchOne(y/z/c, c) -> no\n                //       - matchOne(z/c, c) -> no\n                //       - matchOne(c, c) yes, hit\n                var fr = fi;\n                var pr = pi + 1;\n                if (pr === pl) {\n                    this.debug('** at the end');\n                    // a ** at the end will just swallow the rest.\n                    // We have found a match.\n                    // however, it will not swallow /.x, unless\n                    // options.dot is set.\n                    // . and .. are *never* matched by **, for explosively\n                    // exponential reasons.\n                    for (; fi < fl; fi++) {\n                        if (file[fi] === '.' ||\n                            file[fi] === '..' ||\n                            (!options.dot && file[fi].charAt(0) === '.'))\n                            return false;\n                    }\n                    return true;\n                }\n                // ok, let's see if we can swallow whatever we can.\n                while (fr < fl) {\n                    var swallowee = file[fr];\n                    this.debug('\\nglobstar while', file, fr, pattern, pr, swallowee);\n                    // XXX remove this slice.  Just pass the start index.\n                    if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {\n                        this.debug('globstar found match!', fr, fl, swallowee);\n                        // found a match.\n                        return true;\n                    }\n                    else {\n                        // can't swallow \".\" or \"..\" ever.\n                        // can only swallow \".foo\" when explicitly asked.\n                        if (swallowee === '.' ||\n                            swallowee === '..' ||\n                            (!options.dot && swallowee.charAt(0) === '.')) {\n                            this.debug('dot detected!', file, fr, pattern, pr);\n                            break;\n                        }\n                        // ** swallows a segment, and continue.\n                        this.debug('globstar swallow a segment, and continue');\n                        fr++;\n                    }\n                }\n                // no match was found.\n                // However, in partial mode, we can't say this is necessarily over.\n                /* c8 ignore start */\n                if (partial) {\n                    // ran out of file\n                    this.debug('\\n>>> no match, partial?', file, fr, pattern, pr);\n                    if (fr === fl) {\n                        return true;\n                    }\n                }\n                /* c8 ignore stop */\n                return false;\n            }\n            // something other than **\n            // non-magic patterns just have to match exactly\n            // patterns with magic have been turned into regexps.\n            let hit;\n            if (typeof p === 'string') {\n                hit = f === p;\n                this.debug('string match', p, f, hit);\n            }\n            else {\n                hit = p.test(f);\n                this.debug('pattern match', p, f, hit);\n            }\n            if (!hit)\n                return false;\n        }\n        // Note: ending in / means that we'll get a final \"\"\n        // at the end of the pattern.  This can only match a\n        // corresponding \"\" at the end of the file.\n        // If the file ends in /, then it can only match a\n        // a pattern that ends in /, unless the pattern just\n        // doesn't have any more for it. But, a/b/ should *not*\n        // match \"a/b/*\", even though \"\" matches against the\n        // [^/]*? pattern, except in partial mode, where it might\n        // simply not be reached yet.\n        // However, a/b/ should still satisfy a/*\n        // now either we fell off the end of the pattern, or we're done.\n        if (fi === fl && pi === pl) {\n            // ran out of pattern and filename at the same time.\n            // an exact hit!\n            return true;\n        }\n        else if (fi === fl) {\n            // ran out of file, but still had pattern left.\n            // this is ok if we're doing the match as part of\n            // a glob fs traversal.\n            return partial;\n        }\n        else if (pi === pl) {\n            // ran out of pattern, still have file left.\n            // this is only acceptable if we're on the very last\n            // empty segment of a file with a trailing slash.\n            // a/* should match a/b/\n            return fi === fl - 1 && file[fi] === '';\n            /* c8 ignore start */\n        }\n        else {\n            // should be unreachable.\n            throw new Error('wtf?');\n        }\n        /* c8 ignore stop */\n    }\n    braceExpand() {\n        return braceExpand(this.pattern, this.options);\n    }\n    parse(pattern) {\n        assertValidPattern(pattern);\n        const options = this.options;\n        // shortcuts\n        if (pattern === '**')\n            return GLOBSTAR;\n        if (pattern === '')\n            return '';\n        // far and away, the most common glob pattern parts are\n        // *, *.*, and *.  Add a fast check method for those.\n        let m;\n        let fastTest = null;\n        if ((m = pattern.match(starRE))) {\n            fastTest = options.dot ? starTestDot : starTest;\n        }\n        else if ((m = pattern.match(starDotExtRE))) {\n            fastTest = (options.nocase\n                ? options.dot\n                    ? starDotExtTestNocaseDot\n                    : starDotExtTestNocase\n                : options.dot\n                    ? starDotExtTestDot\n                    : starDotExtTest)(m[1]);\n        }\n        else if ((m = pattern.match(qmarksRE))) {\n            fastTest = (options.nocase\n                ? options.dot\n                    ? qmarksTestNocaseDot\n                    : qmarksTestNocase\n                : options.dot\n                    ? qmarksTestDot\n                    : qmarksTest)(m);\n        }\n        else if ((m = pattern.match(starDotStarRE))) {\n            fastTest = options.dot ? starDotStarTestDot : starDotStarTest;\n        }\n        else if ((m = pattern.match(dotStarRE))) {\n            fastTest = dotStarTest;\n        }\n        let re = '';\n        let hasMagic = false;\n        let escaping = false;\n        // ? => one single character\n        const patternListStack = [];\n        const negativeLists = [];\n        let stateChar = false;\n        let uflag = false;\n        let pl;\n        // . and .. never match anything that doesn't start with .,\n        // even when options.dot is set.  However, if the pattern\n        // starts with ., then traversal patterns can match.\n        let dotTravAllowed = pattern.charAt(0) === '.';\n        let dotFileAllowed = options.dot || dotTravAllowed;\n        const patternStart = () => dotTravAllowed\n            ? ''\n            : dotFileAllowed\n                ? '(?!(?:^|\\\\/)\\\\.{1,2}(?:$|\\\\/))'\n                : '(?!\\\\.)';\n        const subPatternStart = (p) => p.charAt(0) === '.'\n            ? ''\n            : options.dot\n                ? '(?!(?:^|\\\\/)\\\\.{1,2}(?:$|\\\\/))'\n                : '(?!\\\\.)';\n        const clearStateChar = () => {\n            if (stateChar) {\n                // we had some state-tracking character\n                // that wasn't consumed by this pass.\n                switch (stateChar) {\n                    case '*':\n                        re += star;\n                        hasMagic = true;\n                        break;\n                    case '?':\n                        re += qmark;\n                        hasMagic = true;\n                        break;\n                    default:\n                        re += '\\\\' + stateChar;\n                        break;\n                }\n                this.debug('clearStateChar %j %j', stateChar, re);\n                stateChar = false;\n            }\n        };\n        for (let i = 0, c; i < pattern.length && (c = pattern.charAt(i)); i++) {\n            this.debug('%s\\t%s %s %j', pattern, i, re, c);\n            // skip over any that are escaped.\n            if (escaping) {\n                // completely not allowed, even escaped.\n                // should be impossible.\n                /* c8 ignore start */\n                if (c === '/') {\n                    return false;\n                }\n                /* c8 ignore stop */\n                if (reSpecials[c]) {\n                    re += '\\\\';\n                }\n                re += c;\n                escaping = false;\n                continue;\n            }\n            switch (c) {\n                // Should already be path-split by now.\n                /* c8 ignore start */\n                case '/': {\n                    return false;\n                }\n                /* c8 ignore stop */\n                case '\\\\':\n                    clearStateChar();\n                    escaping = true;\n                    continue;\n                // the various stateChar values\n                // for the \"extglob\" stuff.\n                case '?':\n                case '*':\n                case '+':\n                case '@':\n                case '!':\n                    this.debug('%s\\t%s %s %j <-- stateChar', pattern, i, re, c);\n                    // if we already have a stateChar, then it means\n                    // that there was something like ** or +? in there.\n                    // Handle the stateChar, then proceed with this one.\n                    this.debug('call clearStateChar %j', stateChar);\n                    clearStateChar();\n                    stateChar = c;\n                    // if extglob is disabled, then +(asdf|foo) isn't a thing.\n                    // just clear the statechar *now*, rather than even diving into\n                    // the patternList stuff.\n                    if (options.noext)\n                        clearStateChar();\n                    continue;\n                case '(': {\n                    if (!stateChar) {\n                        re += '\\\\(';\n                        continue;\n                    }\n                    const plEntry = {\n                        type: stateChar,\n                        start: i - 1,\n                        reStart: re.length,\n                        open: plTypes[stateChar].open,\n                        close: plTypes[stateChar].close,\n                    };\n                    this.debug(this.pattern, '\\t', plEntry);\n                    patternListStack.push(plEntry);\n                    // negation is (?:(?!(?:js)(?:))[^/]*)\n                    re += plEntry.open;\n                    // next entry starts with a dot maybe?\n                    if (plEntry.start === 0 && plEntry.type !== '!') {\n                        dotTravAllowed = true;\n                        re += subPatternStart(pattern.slice(i + 1));\n                    }\n                    this.debug('plType %j %j', stateChar, re);\n                    stateChar = false;\n                    continue;\n                }\n                case ')': {\n                    const plEntry = patternListStack[patternListStack.length - 1];\n                    if (!plEntry) {\n                        re += '\\\\)';\n                        continue;\n                    }\n                    patternListStack.pop();\n                    // closing an extglob\n                    clearStateChar();\n                    hasMagic = true;\n                    pl = plEntry;\n                    // negation is (?:(?!js)[^/]*)\n                    // The others are (?:)\n                    re += pl.close;\n                    if (pl.type === '!') {\n                        negativeLists.push(Object.assign(pl, { reEnd: re.length }));\n                    }\n                    continue;\n                }\n                case '|': {\n                    const plEntry = patternListStack[patternListStack.length - 1];\n                    if (!plEntry) {\n                        re += '\\\\|';\n                        continue;\n                    }\n                    clearStateChar();\n                    re += '|';\n                    // next subpattern can start with a dot?\n                    if (plEntry.start === 0 && plEntry.type !== '!') {\n                        dotTravAllowed = true;\n                        re += subPatternStart(pattern.slice(i + 1));\n                    }\n                    continue;\n                }\n                // these are mostly the same in regexp and glob\n                case '[':\n                    // swallow any state-tracking char before the [\n                    clearStateChar();\n                    const [src, needUflag, consumed, magic] = parseClass(pattern, i);\n                    if (consumed) {\n                        re += src;\n                        uflag = uflag || needUflag;\n                        i += consumed - 1;\n                        hasMagic = hasMagic || magic;\n                    }\n                    else {\n                        re += '\\\\[';\n                    }\n                    continue;\n                case ']':\n                    re += '\\\\' + c;\n                    continue;\n                default:\n                    // swallow any state char that wasn't consumed\n                    clearStateChar();\n                    re += regExpEscape(c);\n                    break;\n            } // switch\n        } // for\n        // handle the case where we had a +( thing at the *end*\n        // of the pattern.\n        // each pattern list stack adds 3 chars, and we need to go through\n        // and escape any | chars that were passed through as-is for the regexp.\n        // Go through and escape them, taking care not to double-escape any\n        // | chars that were already escaped.\n        for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {\n            let tail;\n            tail = re.slice(pl.reStart + pl.open.length);\n            this.debug(this.pattern, 'setting tail', re, pl);\n            // maybe some even number of \\, then maybe 1 \\, followed by a |\n            tail = tail.replace(/((?:\\\\{2}){0,64})(\\\\?)\\|/g, (_, $1, $2) => {\n                if (!$2) {\n                    // the | isn't already escaped, so escape it.\n                    $2 = '\\\\';\n                    // should already be done\n                    /* c8 ignore start */\n                }\n                /* c8 ignore stop */\n                // need to escape all those slashes *again*, without escaping the\n                // one that we need for escaping the | character.  As it works out,\n                // escaping an even number of slashes can be done by simply repeating\n                // it exactly after itself.  That's why this trick works.\n                //\n                // I am sorry that you have to see this.\n                return $1 + $1 + $2 + '|';\n            });\n            this.debug('tail=%j\\n   %s', tail, tail, pl, re);\n            const t = pl.type === '*' ? star : pl.type === '?' ? qmark : '\\\\' + pl.type;\n            hasMagic = true;\n            re = re.slice(0, pl.reStart) + t + '\\\\(' + tail;\n        }\n        // handle trailing things that only matter at the very end.\n        clearStateChar();\n        if (escaping) {\n            // trailing \\\\\n            re += '\\\\\\\\';\n        }\n        // only need to apply the nodot start if the re starts with\n        // something that could conceivably capture a dot\n        const addPatternStart = addPatternStartSet[re.charAt(0)];\n        // Hack to work around lack of negative lookbehind in JS\n        // A pattern like: *.!(x).!(y|z) needs to ensure that a name\n        // like 'a.xyz.yz' doesn't match.  So, the first negative\n        // lookahead, has to look ALL the way ahead, to the end of\n        // the pattern.\n        for (let n = negativeLists.length - 1; n > -1; n--) {\n            const nl = negativeLists[n];\n            const nlBefore = re.slice(0, nl.reStart);\n            const nlFirst = re.slice(nl.reStart, nl.reEnd - 8);\n            let nlAfter = re.slice(nl.reEnd);\n            const nlLast = re.slice(nl.reEnd - 8, nl.reEnd) + nlAfter;\n            // Handle nested stuff like *(*.js|!(*.json)), where open parens\n            // mean that we should *not* include the ) in the bit that is considered\n            // \"after\" the negated section.\n            const closeParensBefore = nlBefore.split(')').length;\n            const openParensBefore = nlBefore.split('(').length - closeParensBefore;\n            let cleanAfter = nlAfter;\n            for (let i = 0; i < openParensBefore; i++) {\n                cleanAfter = cleanAfter.replace(/\\)[+*?]?/, '');\n            }\n            nlAfter = cleanAfter;\n            const dollar = nlAfter === '' ? '(?:$|\\\\/)' : '';\n            re = nlBefore + nlFirst + nlAfter + dollar + nlLast;\n        }\n        // if the re is not \"\" at this point, then we need to make sure\n        // it doesn't match against an empty path part.\n        // Otherwise a/* will match a/, which it should not.\n        if (re !== '' && hasMagic) {\n            re = '(?=.)' + re;\n        }\n        if (addPatternStart) {\n            re = patternStart() + re;\n        }\n        // if it's nocase, and the lcase/uppercase don't match, it's magic\n        if (options.nocase && !hasMagic && !options.nocaseMagicOnly) {\n            hasMagic = pattern.toUpperCase() !== pattern.toLowerCase();\n        }\n        // skip the regexp for non-magical patterns\n        // unescape anything in it, though, so that it'll be\n        // an exact match against a file etc.\n        if (!hasMagic) {\n            return globUnescape(re);\n        }\n        const flags = (options.nocase ? 'i' : '') + (uflag ? 'u' : '');\n        try {\n            const ext = fastTest\n                ? {\n                    _glob: pattern,\n                    _src: re,\n                    test: fastTest,\n                }\n                : {\n                    _glob: pattern,\n                    _src: re,\n                };\n            return Object.assign(new RegExp('^' + re + '$', flags), ext);\n            /* c8 ignore start */\n        }\n        catch (er) {\n            // should be impossible\n            // If it was an invalid regular expression, then it can't match\n            // anything.  This trick looks for a character after the end of\n            // the string, which is of course impossible, except in multi-line\n            // mode, but it's not a /m regex.\n            this.debug('invalid regexp', er);\n            return new RegExp('$.');\n        }\n        /* c8 ignore stop */\n    }\n    makeRe() {\n        if (this.regexp || this.regexp === false)\n            return this.regexp;\n        // at this point, this.set is a 2d array of partial\n        // pattern strings, or \"**\".\n        //\n        // It's better to use .match().  This function shouldn't\n        // be used, really, but it's pretty convenient sometimes,\n        // when you just want to work with a regex.\n        const set = this.set;\n        if (!set.length) {\n            this.regexp = false;\n            return this.regexp;\n        }\n        const options = this.options;\n        const twoStar = options.noglobstar\n            ? star\n            : options.dot\n                ? twoStarDot\n                : twoStarNoDot;\n        const flags = options.nocase ? 'i' : '';\n        // regexpify non-globstar patterns\n        // if ** is only item, then we just do one twoStar\n        // if ** is first, and there are more, prepend (\\/|twoStar\\/)? to next\n        // if ** is last, append (\\/twoStar|) to previous\n        // if ** is in the middle, append (\\/|\\/twoStar\\/) to previous\n        // then filter out GLOBSTAR symbols\n        let re = set\n            .map(pattern => {\n            const pp = pattern.map(p => typeof p === 'string'\n                ? regExpEscape(p)\n                : p === GLOBSTAR\n                    ? GLOBSTAR\n                    : p._src);\n            pp.forEach((p, i) => {\n                const next = pp[i + 1];\n                const prev = pp[i - 1];\n                if (p !== GLOBSTAR || prev === GLOBSTAR) {\n                    return;\n                }\n                if (prev === undefined) {\n                    if (next !== undefined && next !== GLOBSTAR) {\n                        pp[i + 1] = '(?:\\\\/|' + twoStar + '\\\\/)?' + next;\n                    }\n                    else {\n                        pp[i] = twoStar;\n                    }\n                }\n                else if (next === undefined) {\n                    pp[i - 1] = prev + '(?:\\\\/|' + twoStar + ')?';\n                }\n                else if (next !== GLOBSTAR) {\n                    pp[i - 1] = prev + '(?:\\\\/|\\\\/' + twoStar + '\\\\/)' + next;\n                    pp[i + 1] = GLOBSTAR;\n                }\n            });\n            return pp.filter(p => p !== GLOBSTAR).join('/');\n        })\n            .join('|');\n        // must match entire pattern\n        // ending in a * or ** will make it less strict.\n        re = '^(?:' + re + ')$';\n        // can match anything, as long as it's not this.\n        if (this.negate)\n            re = '^(?!' + re + ').*$';\n        try {\n            this.regexp = new RegExp(re, flags);\n            /* c8 ignore start */\n        }\n        catch (ex) {\n            // should be impossible\n            this.regexp = false;\n        }\n        /* c8 ignore stop */\n        return this.regexp;\n    }\n    slashSplit(p) {\n        // if p starts with // on windows, we preserve that\n        // so that UNC paths aren't broken.  Otherwise, any number of\n        // / characters are coalesced into one, unless\n        // preserveMultipleSlashes is set to true.\n        if (this.preserveMultipleSlashes) {\n            return p.split('/');\n        }\n        else if (this.isWindows && /^\\/\\/[^\\/]+/.test(p)) {\n            // add an extra '' for the one we lose\n            return ['', ...p.split(/\\/+/)];\n        }\n        else {\n            return p.split(/\\/+/);\n        }\n    }\n    match(f, partial = this.partial) {\n        this.debug('match', f, this.pattern);\n        // short-circuit in the case of busted things.\n        // comments, etc.\n        if (this.comment) {\n            return false;\n        }\n        if (this.empty) {\n            return f === '';\n        }\n        if (f === '/' && partial) {\n            return true;\n        }\n        const options = this.options;\n        // windows: need to use /, not \\\n        if (this.isWindows) {\n            f = f.split('\\\\').join('/');\n        }\n        // treat the test path as a set of pathparts.\n        const ff = this.slashSplit(f);\n        this.debug(this.pattern, 'split', ff);\n        // just ONE of the pattern sets in this.set needs to match\n        // in order for it to be valid.  If negating, then just one\n        // match means that we have failed.\n        // Either way, return on the first hit.\n        const set = this.set;\n        this.debug(this.pattern, 'set', set);\n        // Find the basename of the path by looking for the last non-empty segment\n        let filename = ff[ff.length - 1];\n        if (!filename) {\n            for (let i = ff.length - 2; !filename && i >= 0; i--) {\n                filename = ff[i];\n            }\n        }\n        for (let i = 0; i < set.length; i++) {\n            const pattern = set[i];\n            let file = ff;\n            if (options.matchBase && pattern.length === 1) {\n                file = [filename];\n            }\n            const hit = this.matchOne(file, pattern, partial);\n            if (hit) {\n                if (options.flipNegate) {\n                    return true;\n                }\n                return !this.negate;\n            }\n        }\n        // didn't get any hits.  this is success if it's a negative\n        // pattern, failure otherwise.\n        if (options.flipNegate) {\n            return false;\n        }\n        return this.negate;\n    }\n    static defaults(def) {\n        return minimatch.defaults(def).Minimatch;\n    }\n}\n/* c8 ignore start */\nexport { escape } from './escape.js';\nexport { unescape } from './unescape.js';\n/* c8 ignore stop */\nminimatch.Minimatch = Minimatch;\nminimatch.escape = escape;\nminimatch.unescape = unescape;\n//# sourceMappingURL=index.js.map","/**\n * Escape all magic characters in a glob pattern.\n *\n * If the {@link windowsPathsNoEscape | GlobOptions.windowsPathsNoEscape}\n * option is used, then characters are escaped by wrapping in `[]`, because\n * a magic character wrapped in a character class can only be satisfied by\n * that exact character.  In this mode, `\\` is _not_ escaped, because it is\n * not interpreted as a magic character, but instead as a path separator.\n */\nexport const escape = (s, { windowsPathsNoEscape = false, } = {}) => {\n    // don't need to escape +@! because we escape the parens\n    // that make those magic, and escaping ! as [!] isn't valid,\n    // because [!]] is a valid glob class meaning not ']'.\n    return windowsPathsNoEscape\n        ? s.replace(/[?*()[\\]]/g, '[$&]')\n        : s.replace(/[?*()[\\]\\\\]/g, '\\\\$&');\n};\n//# sourceMappingURL=escape.js.map","/**\n * Un-escape a string that has been escaped with {@link escape}.\n *\n * If the {@link windowsPathsNoEscape} option is used, then square-brace\n * escapes are removed, but not backslash escapes.  For example, it will turn\n * the string `'[*]'` into `*`, but it will not turn `'\\\\*'` into `'*'`,\n * becuase `\\` is a path separator in `windowsPathsNoEscape` mode.\n *\n * When `windowsPathsNoEscape` is not set, then both brace escapes and\n * backslash escapes are removed.\n *\n * Slashes (and backslashes in `windowsPathsNoEscape` mode) cannot be escaped\n * or unescaped.\n */\nexport const unescape = (s, { windowsPathsNoEscape = false, } = {}) => {\n    return windowsPathsNoEscape\n        ? s.replace(/\\[([^\\/\\\\])\\]/g, '$1')\n        : s.replace(/((?!\\\\).|^)\\[([^\\/\\\\])\\]/g, '$1$2').replace(/\\\\([^\\/])/g, '$1');\n};\n//# sourceMappingURL=unescape.js.map","import minimatch from \"minimatch\";\nimport { convertResponseHeaders } from \"./tools/headers.js\";\nexport function createErrorFromResponse(response, prefix = \"\") {\n    const err = new Error(`${prefix}Invalid response: ${response.status} ${response.statusText}`);\n    err.status = response.status;\n    err.response = response;\n    return err;\n}\nexport function handleResponseCode(context, response) {\n    const { status } = response;\n    if (status === 401 && context.digest)\n        return response;\n    if (status >= 400) {\n        const err = createErrorFromResponse(response);\n        throw err;\n    }\n    return response;\n}\nexport function processGlobFilter(files, glob) {\n    return files.filter(file => minimatch(file.filename, glob, { matchBase: true }));\n}\n/**\n * Process a response payload (eg. from `customRequest`) and\n *  prepare it for further processing. Exposed for custom\n *  request handling.\n * @param response The response for a request\n * @param data The data returned\n * @param isDetailed Whether or not a detailed result is\n *  requested\n * @returns The response data, or a detailed response object\n *  if required\n */\nexport function processResponsePayload(response, data, isDetailed = false) {\n    return isDetailed\n        ? {\n            data,\n            headers: response.headers ? convertResponseHeaders(response.headers) : {},\n            status: response.status,\n            statusText: response.statusText\n        }\n        : data;\n}\n","import path from \"path-posix\";\nimport { XMLParser } from \"fast-xml-parser\";\nimport nestedProp from \"nested-property\";\nimport { decodeHTMLEntities } from \"./encode.js\";\nimport { encodePath, normalisePath } from \"./path.js\";\nvar PropertyType;\n(function (PropertyType) {\n    PropertyType[\"Array\"] = \"array\";\n    PropertyType[\"Object\"] = \"object\";\n    PropertyType[\"Original\"] = \"original\";\n})(PropertyType || (PropertyType = {}));\nfunction getParser() {\n    return new XMLParser({\n        removeNSPrefix: true,\n        numberParseOptions: {\n            hex: true,\n            leadingZeros: false\n        }\n        // // We don't use the processors here as decoding is done manually\n        // // later on - decoding early would break some path checks.\n        // attributeValueProcessor: val => decodeHTMLEntities(decodeURIComponent(val)),\n        // tagValueProcessor: val => decodeHTMLEntities(decodeURIComponent(val))\n    });\n}\nfunction getPropertyOfType(obj, prop, type = PropertyType.Original) {\n    const val = nestedProp.get(obj, prop);\n    if (type === \"array\" && Array.isArray(val) === false) {\n        return [val];\n    }\n    else if (type === \"object\" && Array.isArray(val)) {\n        return val[0];\n    }\n    return val;\n}\nfunction normaliseResponse(response) {\n    const output = Object.assign({}, response);\n    // Only either status OR propstat is allowed\n    if (output.status) {\n        nestedProp.set(output, \"status\", getPropertyOfType(output, \"status\", PropertyType.Object));\n    }\n    else {\n        nestedProp.set(output, \"propstat\", getPropertyOfType(output, \"propstat\", PropertyType.Object));\n        nestedProp.set(output, \"propstat.prop\", getPropertyOfType(output, \"propstat.prop\", PropertyType.Object));\n    }\n    return output;\n}\nfunction normaliseResult(result) {\n    const { multistatus } = result;\n    if (multistatus === \"\") {\n        return {\n            multistatus: {\n                response: []\n            }\n        };\n    }\n    if (!multistatus) {\n        throw new Error(\"Invalid response: No root multistatus found\");\n    }\n    const output = {\n        multistatus: Array.isArray(multistatus) ? multistatus[0] : multistatus\n    };\n    nestedProp.set(output, \"multistatus.response\", getPropertyOfType(output, \"multistatus.response\", PropertyType.Array));\n    nestedProp.set(output, \"multistatus.response\", nestedProp.get(output, \"multistatus.response\").map(response => normaliseResponse(response)));\n    return output;\n}\n/**\n * Parse an XML response from a WebDAV service,\n *  converting it to an internal DAV result\n * @param xml The raw XML string\n * @returns A parsed and processed DAV result\n */\nexport function parseXML(xml) {\n    return new Promise(resolve => {\n        const result = getParser().parse(xml);\n        resolve(normaliseResult(result));\n    });\n}\nexport function prepareFileFromProps(props, rawFilename, isDetailed = false) {\n    // Last modified time, raw size, item type and mime\n    const { getlastmodified: lastMod = null, getcontentlength: rawSize = \"0\", resourcetype: resourceType = null, getcontenttype: mimeType = null, getetag: etag = null } = props;\n    const type = resourceType &&\n        typeof resourceType === \"object\" &&\n        typeof resourceType.collection !== \"undefined\"\n        ? \"directory\"\n        : \"file\";\n    const filename = decodeHTMLEntities(rawFilename);\n    const stat = {\n        filename,\n        basename: path.basename(filename),\n        lastmod: lastMod,\n        size: parseInt(rawSize, 10),\n        type,\n        etag: typeof etag === \"string\" ? etag.replace(/\"/g, \"\") : null\n    };\n    if (type === \"file\") {\n        stat.mime = mimeType && typeof mimeType === \"string\" ? mimeType.split(\";\")[0] : \"\";\n    }\n    if (isDetailed) {\n        stat.props = props;\n    }\n    return stat;\n}\n/**\n * Parse a DAV result for file stats\n * @param result The resulting DAV response\n * @param filename The filename that was stat'd\n * @param isDetailed Whether or not the raw props of\n *  the resource should be returned\n * @returns A file stat result\n */\nexport function parseStat(result, filename, isDetailed = false) {\n    let responseItem = null;\n    try {\n        // should be a propstat response, if not the if below will throw an error\n        if (result.multistatus.response[0].propstat) {\n            responseItem = result.multistatus.response[0];\n        }\n    }\n    catch (e) {\n        /* ignore */\n    }\n    if (!responseItem) {\n        throw new Error(\"Failed getting item stat: bad response\");\n    }\n    const { propstat: { prop: props, status: statusLine } } = responseItem;\n    // As defined in https://tools.ietf.org/html/rfc2068#section-6.1\n    const [_, statusCodeStr, statusText] = statusLine.split(\" \", 3);\n    const statusCode = parseInt(statusCodeStr, 10);\n    if (statusCode >= 400) {\n        const err = new Error(`Invalid response: ${statusCode} ${statusText}`);\n        err.status = statusCode;\n        throw err;\n    }\n    const filePath = normalisePath(filename);\n    return prepareFileFromProps(props, filePath, isDetailed);\n}\n/**\n * Parse a DAV result for a search request\n *\n * @param result The resulting DAV response\n * @param searchArbiter The collection path that was searched\n * @param isDetailed Whether or not the raw props of the resource should be returned\n */\nexport function parseSearch(result, searchArbiter, isDetailed) {\n    const response = {\n        truncated: false,\n        results: []\n    };\n    response.truncated = result.multistatus.response.some(v => {\n        return ((v.status || v.propstat?.status).split(\" \", 3)?.[1] === \"507\" &&\n            v.href.replace(/\\/$/, \"\").endsWith(encodePath(searchArbiter).replace(/\\/$/, \"\")));\n    });\n    result.multistatus.response.forEach(result => {\n        if (result.propstat === undefined) {\n            return;\n        }\n        const filename = result.href.split(\"/\").map(decodeURIComponent).join(\"/\");\n        response.results.push(prepareFileFromProps(result.propstat.prop, filename, isDetailed));\n    });\n    return response;\n}\n/**\n * Translate a disk quota indicator to a recognised\n *  value (includes \"unlimited\" and \"unknown\")\n * @param value The quota indicator, eg. \"-3\"\n * @returns The value in bytes, or another indicator\n */\nexport function translateDiskSpace(value) {\n    switch (value.toString()) {\n        case \"-3\":\n            return \"unlimited\";\n        case \"-2\":\n        /* falls-through */\n        case \"-1\":\n            // -1 is non-computed\n            return \"unknown\";\n        default:\n            return parseInt(value, 10);\n    }\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { parseXML } from 'webdav';\n// https://github.com/perry-mitchell/webdav-client/issues/339\nimport { processResponsePayload } from '../../../../node_modules/webdav/dist/node/response.js';\nimport { prepareFileFromProps } from '../../../../node_modules/webdav/dist/node/tools/dav.js';\nimport client from './DavClient.js';\nexport const DEFAULT_LIMIT = 20;\n/**\n * Retrieve the comments list\n *\n * @param {object} data destructuring object\n * @param {string} data.commentsType the ressource type\n * @param {number} data.ressourceId the ressource ID\n * @param {object} [options] optional options for axios\n * @param {number} [options.offset] the pagination offset\n * @return {object[]} the comments list\n */\nexport const getComments = async function ({ commentsType, ressourceId }, options) {\n    const ressourcePath = ['', commentsType, ressourceId].join('/');\n    const response = await client.customRequest(ressourcePath, Object.assign({\n        method: 'REPORT',\n        data: `\n\t\t\t\n\t\t\t\t${DEFAULT_LIMIT}\n\t\t\t\t${options.offset || 0}\n\t\t\t`,\n    }, options));\n    const responseData = await response.text();\n    const result = await parseXML(responseData);\n    const stat = getDirectoryFiles(result, true);\n    return processResponsePayload(response, stat, true);\n};\n// https://github.com/perry-mitchell/webdav-client/blob/8d9694613c978ce7404e26a401c39a41f125f87f/source/operations/directoryContents.ts\nconst getDirectoryFiles = function (result, isDetailed = false) {\n    // Extract the response items (directory contents)\n    const { multistatus: { response: responseItems }, } = result;\n    // Map all items to a consistent output structure (results)\n    return responseItems.map(item => {\n        // Each item should contain a stat object\n        const { propstat: { prop: props }, } = item;\n        return prepareFileFromProps(props, props.id.toString(), isDetailed);\n    });\n};\n","import base64 from \"base-64\";\nimport he from \"he\";\nimport { isWeb } from \"../compat/env.js\";\nexport function decodeHTMLEntities(text) {\n    if (!isWeb()) {\n        // Node\n        return he.decode(text);\n    }\n    else {\n        // Nasty browser way\n        const txt = document.createElement(\"textarea\");\n        txt.innerHTML = text;\n        return txt.value;\n    }\n}\nexport function fromBase64(text) {\n    return base64.decode(text);\n}\nexport function toBase64(text) {\n    return base64.encode(text);\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n/**\n * Creates a cancelable axios 'request object'.\n *\n * @param {Function} request the axios promise request\n * @return {object}\n */\nconst cancelableRequest = function(request) {\n\tconst controller = new AbortController()\n\tconst signal = controller.signal\n\n\t/**\n\t * Execute the request\n\t *\n\t * @param {string} url the url to send the request to\n\t * @param {object} [options] optional config for the request\n\t */\n\tconst fetch = async function(url, options) {\n\t\tconst response = await request(\n\t\t\turl,\n\t\t\tObject.assign({ signal }, options)\n\t\t)\n\t\treturn response\n\t}\n\n\treturn {\n\t\trequest: fetch,\n\t\tabort: () => controller.abort(),\n\t}\n}\n\nexport default cancelableRequest\n","\n\n\n\n\n\n\n","/**\n * @copyright 2023 Christopher Ng \n *\n * @author Christopher Ng \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport client from './DavClient.js';\n/**\n * Mark comments older than the date timestamp as read\n *\n * @param commentsType the ressource type\n * @param ressourceId the ressource ID\n * @param date the date object\n */\nexport const markCommentsAsRead = (commentsType, ressourceId, date) => {\n    const ressourcePath = ['', commentsType, ressourceId].join('/');\n    const readMarker = date.toUTCString();\n    return client.customRequest(ressourcePath, {\n        method: 'PROPPATCH',\n        data: `\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t${readMarker}\n\t\t\t\t\n\t\t\t\n\t\t\t`,\n    });\n};\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comments.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comments.vue?vue&type=script&lang=js&\"","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comments.vue?vue&type=style&index=0&id=5750efc5&prod&lang=scss&scoped=true&\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comments.vue?vue&type=style&index=0&id=5750efc5&prod&lang=scss&scoped=true&\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Comments.vue?vue&type=template&id=5750efc5&scoped=true&\"\nimport script from \"./Comments.vue?vue&type=script&lang=js&\"\nexport * from \"./Comments.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Comments.vue?vue&type=style&index=0&id=5750efc5&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"5750efc5\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{directives:[{name:\"observe-visibility\",rawName:\"v-observe-visibility\",value:(_vm.onVisibilityChange),expression:\"onVisibilityChange\"}],staticClass:\"comments\",class:{ 'icon-loading': _vm.isFirstLoading }},[_c('Comment',_vm._b({staticClass:\"comments__writer\",attrs:{\"auto-complete\":_vm.autoComplete,\"user-data\":_vm.userData,\"editor\":true,\"ressource-id\":_vm.ressourceId},on:{\"new\":_vm.onNewComment}},'Comment',_vm.editorData,false)),_vm._v(\" \"),(!_vm.isFirstLoading)?[(!_vm.hasComments && _vm.done)?_c('NcEmptyContent',{staticClass:\"comments__empty\",attrs:{\"name\":_vm.t('comments', 'No comments yet, start the conversation!')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('MessageReplyTextIcon')]},proxy:true}],null,false,1033639148)}):_c('ul',_vm._l((_vm.comments),function(comment){return _c('Comment',_vm._b({key:comment.props.id,staticClass:\"comments__list\",attrs:{\"tag\":\"li\",\"auto-complete\":_vm.autoComplete,\"message\":comment.props.message,\"ressource-id\":_vm.ressourceId,\"user-data\":_vm.genMentionsData(comment.props.mentions)},on:{\"update:message\":function($event){return _vm.$set(comment.props, \"message\", $event)},\"delete\":_vm.onDelete}},'Comment',comment.props,false))}),1),_vm._v(\" \"),(_vm.loading && !_vm.isFirstLoading)?_c('div',{staticClass:\"comments__info icon-loading\"}):(_vm.hasComments && _vm.done)?_c('div',{staticClass:\"comments__info\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('comments', 'No more messages'))+\"\\n\\t\\t\")]):(_vm.error)?[_c('NcEmptyContent',{staticClass:\"comments__error\",attrs:{\"name\":_vm.error},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('AlertCircleOutlineIcon')]},proxy:true}],null,false,66050004)}),_vm._v(\" \"),_c('NcButton',{staticClass:\"comments__retry\",on:{\"click\":_vm.getComments},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('RefreshIcon')]},proxy:true}],null,false,3924573781)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', 'Retry'))+\"\\n\\t\\t\\t\")])]:_vm._e()]:_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2023 Lucas Azevedo \n *\n * @author Lucas Azevedo \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('comments')\n\t.detectUser()\n\t.build()\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { translate as t, translatePlural as n } from '@nextcloud/l10n'\nimport { getRequestToken } from '@nextcloud/auth'\nimport Vue from 'vue'\nimport CommentsApp from '../views/Comments.vue'\nimport logger from '../logger.js'\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(getRequestToken())\n\n// Add translates functions\nVue.mixin({\n\tdata() {\n\t\treturn {\n\t\t\tlogger,\n\t\t}\n\t},\n\tmethods: {\n\t\tt,\n\t\tn,\n\t},\n})\n\nexport default class CommentInstance {\n\n\t/**\n\t * Initialize a new Comments instance for the desired type\n\t *\n\t * @param {string} commentsType the comments endpoint type\n\t * @param  {object} options the vue options (propsData, parent, el...)\n\t */\n\tconstructor(commentsType = 'files', options) {\n\t\t// Add comments type as a global mixin\n\t\tVue.mixin({\n\t\t\tdata() {\n\t\t\t\treturn {\n\t\t\t\t\tcommentsType,\n\t\t\t\t}\n\t\t\t},\n\t\t})\n\n\t\t// Init Comments component\n\t\tconst View = Vue.extend(CommentsApp)\n\t\treturn new View(options)\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport CommentsInstance from './services/CommentsInstance.js'\n\n// Init Comments\nif (window.OCA && !window.OCA.Comments) {\n\tObject.assign(window.OCA, { Comments: {} })\n}\n\n// Init Comments App view\nObject.assign(window.OCA.Comments, { View: CommentsInstance })\nconsole.debug('OCA.Comments.View initialized')\n","'use strict';\nmodule.exports = balanced;\nfunction balanced(a, b, str) {\n  if (a instanceof RegExp) a = maybeMatch(a, str);\n  if (b instanceof RegExp) b = maybeMatch(b, str);\n\n  var r = range(a, b, str);\n\n  return r && {\n    start: r[0],\n    end: r[1],\n    pre: str.slice(0, r[0]),\n    body: str.slice(r[0] + a.length, r[1]),\n    post: str.slice(r[1] + b.length)\n  };\n}\n\nfunction maybeMatch(reg, str) {\n  var m = str.match(reg);\n  return m ? m[0] : null;\n}\n\nbalanced.range = range;\nfunction range(a, b, str) {\n  var begs, beg, left, right, result;\n  var ai = str.indexOf(a);\n  var bi = str.indexOf(b, ai + 1);\n  var i = ai;\n\n  if (ai >= 0 && bi > 0) {\n    if(a===b) {\n      return [ai, bi];\n    }\n    begs = [];\n    left = str.length;\n\n    while (i >= 0 && !result) {\n      if (i == ai) {\n        begs.push(i);\n        ai = str.indexOf(a, i + 1);\n      } else if (begs.length == 1) {\n        result = [ begs.pop(), bi ];\n      } else {\n        beg = begs.pop();\n        if (beg < left) {\n          left = beg;\n          right = bi;\n        }\n\n        bi = str.indexOf(b, i + 1);\n      }\n\n      i = ai < bi && ai >= 0 ? ai : bi;\n    }\n\n    if (begs.length) {\n      result = [ left, right ];\n    }\n  }\n\n  return result;\n}\n","/*! https://mths.be/base64 v1.0.0 by @mathias | MIT license */\n;(function(root) {\n\n\t// Detect free variables `exports`.\n\tvar freeExports = typeof exports == 'object' && exports;\n\n\t// Detect free variable `module`.\n\tvar freeModule = typeof module == 'object' && module &&\n\t\tmodule.exports == freeExports && module;\n\n\t// Detect free variable `global`, from Node.js or Browserified code, and use\n\t// it as `root`.\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) {\n\t\troot = freeGlobal;\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar InvalidCharacterError = function(message) {\n\t\tthis.message = message;\n\t};\n\tInvalidCharacterError.prototype = new Error;\n\tInvalidCharacterError.prototype.name = 'InvalidCharacterError';\n\n\tvar error = function(message) {\n\t\t// Note: the error messages used throughout this file match those used by\n\t\t// the native `atob`/`btoa` implementation in Chromium.\n\t\tthrow new InvalidCharacterError(message);\n\t};\n\n\tvar TABLE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\t// http://whatwg.org/html/common-microsyntaxes.html#space-character\n\tvar REGEX_SPACE_CHARACTERS = /[\\t\\n\\f\\r ]/g;\n\n\t// `decode` is designed to be fully compatible with `atob` as described in the\n\t// HTML Standard. http://whatwg.org/html/webappapis.html#dom-windowbase64-atob\n\t// The optimized base64-decoding algorithm used is based on @atk’s excellent\n\t// implementation. https://gist.github.com/atk/1020396\n\tvar decode = function(input) {\n\t\tinput = String(input)\n\t\t\t.replace(REGEX_SPACE_CHARACTERS, '');\n\t\tvar length = input.length;\n\t\tif (length % 4 == 0) {\n\t\t\tinput = input.replace(/==?$/, '');\n\t\t\tlength = input.length;\n\t\t}\n\t\tif (\n\t\t\tlength % 4 == 1 ||\n\t\t\t// http://whatwg.org/C#alphanumeric-ascii-characters\n\t\t\t/[^+a-zA-Z0-9/]/.test(input)\n\t\t) {\n\t\t\terror(\n\t\t\t\t'Invalid character: the string to be decoded is not correctly encoded.'\n\t\t\t);\n\t\t}\n\t\tvar bitCounter = 0;\n\t\tvar bitStorage;\n\t\tvar buffer;\n\t\tvar output = '';\n\t\tvar position = -1;\n\t\twhile (++position < length) {\n\t\t\tbuffer = TABLE.indexOf(input.charAt(position));\n\t\t\tbitStorage = bitCounter % 4 ? bitStorage * 64 + buffer : buffer;\n\t\t\t// Unless this is the first of a group of 4 characters…\n\t\t\tif (bitCounter++ % 4) {\n\t\t\t\t// …convert the first 8 bits to a single ASCII character.\n\t\t\t\toutput += String.fromCharCode(\n\t\t\t\t\t0xFF & bitStorage >> (-2 * bitCounter & 6)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t};\n\n\t// `encode` is designed to be fully compatible with `btoa` as described in the\n\t// HTML Standard: http://whatwg.org/html/webappapis.html#dom-windowbase64-btoa\n\tvar encode = function(input) {\n\t\tinput = String(input);\n\t\tif (/[^\\0-\\xFF]/.test(input)) {\n\t\t\t// Note: no need to special-case astral symbols here, as surrogates are\n\t\t\t// matched, and the input is supposed to only contain ASCII anyway.\n\t\t\terror(\n\t\t\t\t'The string to be encoded contains characters outside of the ' +\n\t\t\t\t'Latin1 range.'\n\t\t\t);\n\t\t}\n\t\tvar padding = input.length % 3;\n\t\tvar output = '';\n\t\tvar position = -1;\n\t\tvar a;\n\t\tvar b;\n\t\tvar c;\n\t\tvar buffer;\n\t\t// Make sure any padding is handled outside of the loop.\n\t\tvar length = input.length - padding;\n\n\t\twhile (++position < length) {\n\t\t\t// Read three bytes, i.e. 24 bits.\n\t\t\ta = input.charCodeAt(position) << 16;\n\t\t\tb = input.charCodeAt(++position) << 8;\n\t\t\tc = input.charCodeAt(++position);\n\t\t\tbuffer = a + b + c;\n\t\t\t// Turn the 24 bits into four chunks of 6 bits each, and append the\n\t\t\t// matching character for each of them to the output.\n\t\t\toutput += (\n\t\t\t\tTABLE.charAt(buffer >> 18 & 0x3F) +\n\t\t\t\tTABLE.charAt(buffer >> 12 & 0x3F) +\n\t\t\t\tTABLE.charAt(buffer >> 6 & 0x3F) +\n\t\t\t\tTABLE.charAt(buffer & 0x3F)\n\t\t\t);\n\t\t}\n\n\t\tif (padding == 2) {\n\t\t\ta = input.charCodeAt(position) << 8;\n\t\t\tb = input.charCodeAt(++position);\n\t\t\tbuffer = a + b;\n\t\t\toutput += (\n\t\t\t\tTABLE.charAt(buffer >> 10) +\n\t\t\t\tTABLE.charAt((buffer >> 4) & 0x3F) +\n\t\t\t\tTABLE.charAt((buffer << 2) & 0x3F) +\n\t\t\t\t'='\n\t\t\t);\n\t\t} else if (padding == 1) {\n\t\t\tbuffer = input.charCodeAt(position);\n\t\t\toutput += (\n\t\t\t\tTABLE.charAt(buffer >> 2) +\n\t\t\t\tTABLE.charAt((buffer << 4) & 0x3F) +\n\t\t\t\t'=='\n\t\t\t);\n\t\t}\n\n\t\treturn output;\n\t};\n\n\tvar base64 = {\n\t\t'encode': encode,\n\t\t'decode': decode,\n\t\t'version': '1.0.0'\n\t};\n\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine(function() {\n\t\t\treturn base64;\n\t\t});\n\t}\telse if (freeExports && !freeExports.nodeType) {\n\t\tif (freeModule) { // in Node.js or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = base64;\n\t\t} else { // in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (var key in base64) {\n\t\t\t\tbase64.hasOwnProperty(key) && (freeExports[key] = base64[key]);\n\t\t\t}\n\t\t}\n\t} else { // in Rhino or a web browser\n\t\troot.base64 = base64;\n\t}\n\n}(this));\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".comment[data-v-6d874704]{display:flex;gap:16px;padding:5px 10px}.comment__side[data-v-6d874704]{display:flex;align-items:flex-start;padding-top:16px}.comment__body[data-v-6d874704]{display:flex;flex-grow:1;flex-direction:column}.comment__header[data-v-6d874704]{display:flex;align-items:center;min-height:44px}.comment__actions[data-v-6d874704]{margin-left:10px !important}.comment__author[data-v-6d874704]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--color-text-maxcontrast)}.comment_loading[data-v-6d874704],.comment__timestamp[data-v-6d874704]{margin-left:auto;text-align:right;white-space:nowrap;color:var(--color-text-maxcontrast)}.comment__editor-group[data-v-6d874704]{position:relative}.comment__editor-description[data-v-6d874704]{color:var(--color-text-maxcontrast);padding-block:var(--default-grid-baseline)}.comment__submit[data-v-6d874704]{position:absolute !important;bottom:0;right:0}.comment__message[data-v-6d874704]{white-space:pre-wrap;word-break:break-word;max-height:70px;overflow:hidden;margin-top:-6px}.comment__message--expanded[data-v-6d874704]{max-height:none;overflow:visible}.rich-contenteditable__input[data-v-6d874704]{min-height:44px;margin:0;padding:10px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/comments/src/components/Comment.vue\"],\"names\":[],\"mappings\":\"AAKA,0BACC,YAAA,CACA,QAAA,CACA,gBAAA,CAEA,gCACC,YAAA,CACA,sBAAA,CACA,gBAAA,CAGD,gCACC,YAAA,CACA,WAAA,CACA,qBAAA,CAGD,kCACC,YAAA,CACA,kBAAA,CACA,eAAA,CAGD,mCACC,2BAAA,CAGD,kCACC,eAAA,CACA,kBAAA,CACA,sBAAA,CACA,mCAAA,CAGD,uEAEC,gBAAA,CACA,gBAAA,CACA,kBAAA,CACA,mCAAA,CAGD,wCACC,iBAAA,CAGD,8CACC,mCAAA,CACA,0CAAA,CAGD,kCACC,4BAAA,CACA,QAAA,CACA,OAAA,CAGD,mCACC,oBAAA,CACA,qBAAA,CACA,eAAA,CACA,eAAA,CACA,eAAA,CACA,6CACC,eAAA,CACA,gBAAA,CAKH,8CACC,eAAA,CACA,QAAA,CACA,YA3EiB\",\"sourcesContent\":[\"\\n@use \\\"sass:math\\\";\\n\\n$comment-padding: 10px;\\n\\n.comment {\\n\\tdisplay: flex;\\n\\tgap: 16px;\\n\\tpadding: 5px $comment-padding;\\n\\n\\t&__side {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\tpadding-top: 16px;\\n\\t}\\n\\n\\t&__body {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-grow: 1;\\n\\t\\tflex-direction: column;\\n\\t}\\n\\n\\t&__header {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tmin-height: 44px;\\n\\t}\\n\\n\\t&__actions {\\n\\t\\tmargin-left: $comment-padding !important;\\n\\t}\\n\\n\\t&__author {\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&_loading,\\n\\t&__timestamp {\\n\\t\\tmargin-left: auto;\\n\\t\\ttext-align: right;\\n\\t\\twhite-space: nowrap;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&__editor-group {\\n\\t\\tposition: relative;\\n\\t}\\n\\n\\t&__editor-description {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tpadding-block: var(--default-grid-baseline);\\n\\t}\\n\\n\\t&__submit {\\n\\t\\tposition: absolute !important;\\n\\t\\tbottom: 0;\\n\\t\\tright: 0;\\n\\t}\\n\\n\\t&__message {\\n\\t\\twhite-space: pre-wrap;\\n\\t\\tword-break: break-word;\\n\\t\\tmax-height: 70px;\\n\\t\\toverflow: hidden;\\n\\t\\tmargin-top: -6px;\\n\\t\\t&--expanded {\\n\\t\\t\\tmax-height: none;\\n\\t\\t\\toverflow: visible;\\n\\t\\t}\\n\\t}\\n}\\n\\n.rich-contenteditable__input {\\n\\tmin-height: 44px;\\n\\tmargin: 0;\\n\\tpadding: $comment-padding;\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".comments[data-v-5750efc5]{min-height:100%;display:flex;flex-direction:column}.comments__empty[data-v-5750efc5],.comments__error[data-v-5750efc5]{flex:1 0}.comments__retry[data-v-5750efc5]{margin:0 auto}.comments__info[data-v-5750efc5]{height:60px;color:var(--color-text-maxcontrast);text-align:center;line-height:60px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/comments/src/views/Comments.vue\"],\"names\":[],\"mappings\":\"AACA,2BACC,eAAA,CACA,YAAA,CACA,qBAAA,CAEA,oEAEC,QAAA,CAGD,kCACC,aAAA,CAGD,iCACC,WAAA,CACA,mCAAA,CACA,iBAAA,CACA,gBAAA\",\"sourcesContent\":[\"\\n.comments {\\n\\tmin-height: 100%;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\n\\t&__empty,\\n\\t&__error {\\n\\t\\tflex: 1 0;\\n\\t}\\n\\n\\t&__retry {\\n\\t\\tmargin: 0 auto;\\n\\t}\\n\\n\\t&__info {\\n\\t\\theight: 60px;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\ttext-align: center;\\n\\t\\tline-height: 60px;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","/*! https://mths.be/he v1.2.0 by @mathias | MIT license */\n;(function(root) {\n\n\t// Detect free variables `exports`.\n\tvar freeExports = typeof exports == 'object' && exports;\n\n\t// Detect free variable `module`.\n\tvar freeModule = typeof module == 'object' && module &&\n\t\tmodule.exports == freeExports && module;\n\n\t// Detect free variable `global`, from Node.js or Browserified code,\n\t// and use it as `root`.\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) {\n\t\troot = freeGlobal;\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t// All astral symbols.\n\tvar regexAstralSymbols = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n\t// All ASCII symbols (not just printable ASCII) except those listed in the\n\t// first column of the overrides table.\n\t// https://html.spec.whatwg.org/multipage/syntax.html#table-charref-overrides\n\tvar regexAsciiWhitelist = /[\\x01-\\x7F]/g;\n\t// All BMP symbols that are not ASCII newlines, printable ASCII symbols, or\n\t// code points listed in the first column of the overrides table on\n\t// https://html.spec.whatwg.org/multipage/syntax.html#table-charref-overrides.\n\tvar regexBmpWhitelist = /[\\x01-\\t\\x0B\\f\\x0E-\\x1F\\x7F\\x81\\x8D\\x8F\\x90\\x9D\\xA0-\\uFFFF]/g;\n\n\tvar regexEncodeNonAscii = /<\\u20D2|=\\u20E5|>\\u20D2|\\u205F\\u200A|\\u219D\\u0338|\\u2202\\u0338|\\u2220\\u20D2|\\u2229\\uFE00|\\u222A\\uFE00|\\u223C\\u20D2|\\u223D\\u0331|\\u223E\\u0333|\\u2242\\u0338|\\u224B\\u0338|\\u224D\\u20D2|\\u224E\\u0338|\\u224F\\u0338|\\u2250\\u0338|\\u2261\\u20E5|\\u2264\\u20D2|\\u2265\\u20D2|\\u2266\\u0338|\\u2267\\u0338|\\u2268\\uFE00|\\u2269\\uFE00|\\u226A\\u0338|\\u226A\\u20D2|\\u226B\\u0338|\\u226B\\u20D2|\\u227F\\u0338|\\u2282\\u20D2|\\u2283\\u20D2|\\u228A\\uFE00|\\u228B\\uFE00|\\u228F\\u0338|\\u2290\\u0338|\\u2293\\uFE00|\\u2294\\uFE00|\\u22B4\\u20D2|\\u22B5\\u20D2|\\u22D8\\u0338|\\u22D9\\u0338|\\u22DA\\uFE00|\\u22DB\\uFE00|\\u22F5\\u0338|\\u22F9\\u0338|\\u2933\\u0338|\\u29CF\\u0338|\\u29D0\\u0338|\\u2A6D\\u0338|\\u2A70\\u0338|\\u2A7D\\u0338|\\u2A7E\\u0338|\\u2AA1\\u0338|\\u2AA2\\u0338|\\u2AAC\\uFE00|\\u2AAD\\uFE00|\\u2AAF\\u0338|\\u2AB0\\u0338|\\u2AC5\\u0338|\\u2AC6\\u0338|\\u2ACB\\uFE00|\\u2ACC\\uFE00|\\u2AFD\\u20E5|[\\xA0-\\u0113\\u0116-\\u0122\\u0124-\\u012B\\u012E-\\u014D\\u0150-\\u017E\\u0192\\u01B5\\u01F5\\u0237\\u02C6\\u02C7\\u02D8-\\u02DD\\u0311\\u0391-\\u03A1\\u03A3-\\u03A9\\u03B1-\\u03C9\\u03D1\\u03D2\\u03D5\\u03D6\\u03DC\\u03DD\\u03F0\\u03F1\\u03F5\\u03F6\\u0401-\\u040C\\u040E-\\u044F\\u0451-\\u045C\\u045E\\u045F\\u2002-\\u2005\\u2007-\\u2010\\u2013-\\u2016\\u2018-\\u201A\\u201C-\\u201E\\u2020-\\u2022\\u2025\\u2026\\u2030-\\u2035\\u2039\\u203A\\u203E\\u2041\\u2043\\u2044\\u204F\\u2057\\u205F-\\u2063\\u20AC\\u20DB\\u20DC\\u2102\\u2105\\u210A-\\u2113\\u2115-\\u211E\\u2122\\u2124\\u2127-\\u2129\\u212C\\u212D\\u212F-\\u2131\\u2133-\\u2138\\u2145-\\u2148\\u2153-\\u215E\\u2190-\\u219B\\u219D-\\u21A7\\u21A9-\\u21AE\\u21B0-\\u21B3\\u21B5-\\u21B7\\u21BA-\\u21DB\\u21DD\\u21E4\\u21E5\\u21F5\\u21FD-\\u2205\\u2207-\\u2209\\u220B\\u220C\\u220F-\\u2214\\u2216-\\u2218\\u221A\\u221D-\\u2238\\u223A-\\u2257\\u2259\\u225A\\u225C\\u225F-\\u2262\\u2264-\\u228B\\u228D-\\u229B\\u229D-\\u22A5\\u22A7-\\u22B0\\u22B2-\\u22BB\\u22BD-\\u22DB\\u22DE-\\u22E3\\u22E6-\\u22F7\\u22F9-\\u22FE\\u2305\\u2306\\u2308-\\u2310\\u2312\\u2313\\u2315\\u2316\\u231C-\\u231F\\u2322\\u2323\\u232D\\u232E\\u2336\\u233D\\u233F\\u237C\\u23B0\\u23B1\\u23B4-\\u23B6\\u23DC-\\u23DF\\u23E2\\u23E7\\u2423\\u24C8\\u2500\\u2502\\u250C\\u2510\\u2514\\u2518\\u251C\\u2524\\u252C\\u2534\\u253C\\u2550-\\u256C\\u2580\\u2584\\u2588\\u2591-\\u2593\\u25A1\\u25AA\\u25AB\\u25AD\\u25AE\\u25B1\\u25B3-\\u25B5\\u25B8\\u25B9\\u25BD-\\u25BF\\u25C2\\u25C3\\u25CA\\u25CB\\u25EC\\u25EF\\u25F8-\\u25FC\\u2605\\u2606\\u260E\\u2640\\u2642\\u2660\\u2663\\u2665\\u2666\\u266A\\u266D-\\u266F\\u2713\\u2717\\u2720\\u2736\\u2758\\u2772\\u2773\\u27C8\\u27C9\\u27E6-\\u27ED\\u27F5-\\u27FA\\u27FC\\u27FF\\u2902-\\u2905\\u290C-\\u2913\\u2916\\u2919-\\u2920\\u2923-\\u292A\\u2933\\u2935-\\u2939\\u293C\\u293D\\u2945\\u2948-\\u294B\\u294E-\\u2976\\u2978\\u2979\\u297B-\\u297F\\u2985\\u2986\\u298B-\\u2996\\u299A\\u299C\\u299D\\u29A4-\\u29B7\\u29B9\\u29BB\\u29BC\\u29BE-\\u29C5\\u29C9\\u29CD-\\u29D0\\u29DC-\\u29DE\\u29E3-\\u29E5\\u29EB\\u29F4\\u29F6\\u2A00-\\u2A02\\u2A04\\u2A06\\u2A0C\\u2A0D\\u2A10-\\u2A17\\u2A22-\\u2A27\\u2A29\\u2A2A\\u2A2D-\\u2A31\\u2A33-\\u2A3C\\u2A3F\\u2A40\\u2A42-\\u2A4D\\u2A50\\u2A53-\\u2A58\\u2A5A-\\u2A5D\\u2A5F\\u2A66\\u2A6A\\u2A6D-\\u2A75\\u2A77-\\u2A9A\\u2A9D-\\u2AA2\\u2AA4-\\u2AB0\\u2AB3-\\u2AC8\\u2ACB\\u2ACC\\u2ACF-\\u2ADB\\u2AE4\\u2AE6-\\u2AE9\\u2AEB-\\u2AF3\\u2AFD\\uFB00-\\uFB04]|\\uD835[\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDCCF\\uDD04\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDD6B]/g;\n\tvar encodeMap = {'\\xAD':'shy','\\u200C':'zwnj','\\u200D':'zwj','\\u200E':'lrm','\\u2063':'ic','\\u2062':'it','\\u2061':'af','\\u200F':'rlm','\\u200B':'ZeroWidthSpace','\\u2060':'NoBreak','\\u0311':'DownBreve','\\u20DB':'tdot','\\u20DC':'DotDot','\\t':'Tab','\\n':'NewLine','\\u2008':'puncsp','\\u205F':'MediumSpace','\\u2009':'thinsp','\\u200A':'hairsp','\\u2004':'emsp13','\\u2002':'ensp','\\u2005':'emsp14','\\u2003':'emsp','\\u2007':'numsp','\\xA0':'nbsp','\\u205F\\u200A':'ThickSpace','\\u203E':'oline','_':'lowbar','\\u2010':'dash','\\u2013':'ndash','\\u2014':'mdash','\\u2015':'horbar',',':'comma',';':'semi','\\u204F':'bsemi',':':'colon','\\u2A74':'Colone','!':'excl','\\xA1':'iexcl','?':'quest','\\xBF':'iquest','.':'period','\\u2025':'nldr','\\u2026':'mldr','\\xB7':'middot','\\'':'apos','\\u2018':'lsquo','\\u2019':'rsquo','\\u201A':'sbquo','\\u2039':'lsaquo','\\u203A':'rsaquo','\"':'quot','\\u201C':'ldquo','\\u201D':'rdquo','\\u201E':'bdquo','\\xAB':'laquo','\\xBB':'raquo','(':'lpar',')':'rpar','[':'lsqb',']':'rsqb','{':'lcub','}':'rcub','\\u2308':'lceil','\\u2309':'rceil','\\u230A':'lfloor','\\u230B':'rfloor','\\u2985':'lopar','\\u2986':'ropar','\\u298B':'lbrke','\\u298C':'rbrke','\\u298D':'lbrkslu','\\u298E':'rbrksld','\\u298F':'lbrksld','\\u2990':'rbrkslu','\\u2991':'langd','\\u2992':'rangd','\\u2993':'lparlt','\\u2994':'rpargt','\\u2995':'gtlPar','\\u2996':'ltrPar','\\u27E6':'lobrk','\\u27E7':'robrk','\\u27E8':'lang','\\u27E9':'rang','\\u27EA':'Lang','\\u27EB':'Rang','\\u27EC':'loang','\\u27ED':'roang','\\u2772':'lbbrk','\\u2773':'rbbrk','\\u2016':'Vert','\\xA7':'sect','\\xB6':'para','@':'commat','*':'ast','/':'sol','undefined':null,'&':'amp','#':'num','%':'percnt','\\u2030':'permil','\\u2031':'pertenk','\\u2020':'dagger','\\u2021':'Dagger','\\u2022':'bull','\\u2043':'hybull','\\u2032':'prime','\\u2033':'Prime','\\u2034':'tprime','\\u2057':'qprime','\\u2035':'bprime','\\u2041':'caret','`':'grave','\\xB4':'acute','\\u02DC':'tilde','^':'Hat','\\xAF':'macr','\\u02D8':'breve','\\u02D9':'dot','\\xA8':'die','\\u02DA':'ring','\\u02DD':'dblac','\\xB8':'cedil','\\u02DB':'ogon','\\u02C6':'circ','\\u02C7':'caron','\\xB0':'deg','\\xA9':'copy','\\xAE':'reg','\\u2117':'copysr','\\u2118':'wp','\\u211E':'rx','\\u2127':'mho','\\u2129':'iiota','\\u2190':'larr','\\u219A':'nlarr','\\u2192':'rarr','\\u219B':'nrarr','\\u2191':'uarr','\\u2193':'darr','\\u2194':'harr','\\u21AE':'nharr','\\u2195':'varr','\\u2196':'nwarr','\\u2197':'nearr','\\u2198':'searr','\\u2199':'swarr','\\u219D':'rarrw','\\u219D\\u0338':'nrarrw','\\u219E':'Larr','\\u219F':'Uarr','\\u21A0':'Rarr','\\u21A1':'Darr','\\u21A2':'larrtl','\\u21A3':'rarrtl','\\u21A4':'mapstoleft','\\u21A5':'mapstoup','\\u21A6':'map','\\u21A7':'mapstodown','\\u21A9':'larrhk','\\u21AA':'rarrhk','\\u21AB':'larrlp','\\u21AC':'rarrlp','\\u21AD':'harrw','\\u21B0':'lsh','\\u21B1':'rsh','\\u21B2':'ldsh','\\u21B3':'rdsh','\\u21B5':'crarr','\\u21B6':'cularr','\\u21B7':'curarr','\\u21BA':'olarr','\\u21BB':'orarr','\\u21BC':'lharu','\\u21BD':'lhard','\\u21BE':'uharr','\\u21BF':'uharl','\\u21C0':'rharu','\\u21C1':'rhard','\\u21C2':'dharr','\\u21C3':'dharl','\\u21C4':'rlarr','\\u21C5':'udarr','\\u21C6':'lrarr','\\u21C7':'llarr','\\u21C8':'uuarr','\\u21C9':'rrarr','\\u21CA':'ddarr','\\u21CB':'lrhar','\\u21CC':'rlhar','\\u21D0':'lArr','\\u21CD':'nlArr','\\u21D1':'uArr','\\u21D2':'rArr','\\u21CF':'nrArr','\\u21D3':'dArr','\\u21D4':'iff','\\u21CE':'nhArr','\\u21D5':'vArr','\\u21D6':'nwArr','\\u21D7':'neArr','\\u21D8':'seArr','\\u21D9':'swArr','\\u21DA':'lAarr','\\u21DB':'rAarr','\\u21DD':'zigrarr','\\u21E4':'larrb','\\u21E5':'rarrb','\\u21F5':'duarr','\\u21FD':'loarr','\\u21FE':'roarr','\\u21FF':'hoarr','\\u2200':'forall','\\u2201':'comp','\\u2202':'part','\\u2202\\u0338':'npart','\\u2203':'exist','\\u2204':'nexist','\\u2205':'empty','\\u2207':'Del','\\u2208':'in','\\u2209':'notin','\\u220B':'ni','\\u220C':'notni','\\u03F6':'bepsi','\\u220F':'prod','\\u2210':'coprod','\\u2211':'sum','+':'plus','\\xB1':'pm','\\xF7':'div','\\xD7':'times','<':'lt','\\u226E':'nlt','<\\u20D2':'nvlt','=':'equals','\\u2260':'ne','=\\u20E5':'bne','\\u2A75':'Equal','>':'gt','\\u226F':'ngt','>\\u20D2':'nvgt','\\xAC':'not','|':'vert','\\xA6':'brvbar','\\u2212':'minus','\\u2213':'mp','\\u2214':'plusdo','\\u2044':'frasl','\\u2216':'setmn','\\u2217':'lowast','\\u2218':'compfn','\\u221A':'Sqrt','\\u221D':'prop','\\u221E':'infin','\\u221F':'angrt','\\u2220':'ang','\\u2220\\u20D2':'nang','\\u2221':'angmsd','\\u2222':'angsph','\\u2223':'mid','\\u2224':'nmid','\\u2225':'par','\\u2226':'npar','\\u2227':'and','\\u2228':'or','\\u2229':'cap','\\u2229\\uFE00':'caps','\\u222A':'cup','\\u222A\\uFE00':'cups','\\u222B':'int','\\u222C':'Int','\\u222D':'tint','\\u2A0C':'qint','\\u222E':'oint','\\u222F':'Conint','\\u2230':'Cconint','\\u2231':'cwint','\\u2232':'cwconint','\\u2233':'awconint','\\u2234':'there4','\\u2235':'becaus','\\u2236':'ratio','\\u2237':'Colon','\\u2238':'minusd','\\u223A':'mDDot','\\u223B':'homtht','\\u223C':'sim','\\u2241':'nsim','\\u223C\\u20D2':'nvsim','\\u223D':'bsim','\\u223D\\u0331':'race','\\u223E':'ac','\\u223E\\u0333':'acE','\\u223F':'acd','\\u2240':'wr','\\u2242':'esim','\\u2242\\u0338':'nesim','\\u2243':'sime','\\u2244':'nsime','\\u2245':'cong','\\u2247':'ncong','\\u2246':'simne','\\u2248':'ap','\\u2249':'nap','\\u224A':'ape','\\u224B':'apid','\\u224B\\u0338':'napid','\\u224C':'bcong','\\u224D':'CupCap','\\u226D':'NotCupCap','\\u224D\\u20D2':'nvap','\\u224E':'bump','\\u224E\\u0338':'nbump','\\u224F':'bumpe','\\u224F\\u0338':'nbumpe','\\u2250':'doteq','\\u2250\\u0338':'nedot','\\u2251':'eDot','\\u2252':'efDot','\\u2253':'erDot','\\u2254':'colone','\\u2255':'ecolon','\\u2256':'ecir','\\u2257':'cire','\\u2259':'wedgeq','\\u225A':'veeeq','\\u225C':'trie','\\u225F':'equest','\\u2261':'equiv','\\u2262':'nequiv','\\u2261\\u20E5':'bnequiv','\\u2264':'le','\\u2270':'nle','\\u2264\\u20D2':'nvle','\\u2265':'ge','\\u2271':'nge','\\u2265\\u20D2':'nvge','\\u2266':'lE','\\u2266\\u0338':'nlE','\\u2267':'gE','\\u2267\\u0338':'ngE','\\u2268\\uFE00':'lvnE','\\u2268':'lnE','\\u2269':'gnE','\\u2269\\uFE00':'gvnE','\\u226A':'ll','\\u226A\\u0338':'nLtv','\\u226A\\u20D2':'nLt','\\u226B':'gg','\\u226B\\u0338':'nGtv','\\u226B\\u20D2':'nGt','\\u226C':'twixt','\\u2272':'lsim','\\u2274':'nlsim','\\u2273':'gsim','\\u2275':'ngsim','\\u2276':'lg','\\u2278':'ntlg','\\u2277':'gl','\\u2279':'ntgl','\\u227A':'pr','\\u2280':'npr','\\u227B':'sc','\\u2281':'nsc','\\u227C':'prcue','\\u22E0':'nprcue','\\u227D':'sccue','\\u22E1':'nsccue','\\u227E':'prsim','\\u227F':'scsim','\\u227F\\u0338':'NotSucceedsTilde','\\u2282':'sub','\\u2284':'nsub','\\u2282\\u20D2':'vnsub','\\u2283':'sup','\\u2285':'nsup','\\u2283\\u20D2':'vnsup','\\u2286':'sube','\\u2288':'nsube','\\u2287':'supe','\\u2289':'nsupe','\\u228A\\uFE00':'vsubne','\\u228A':'subne','\\u228B\\uFE00':'vsupne','\\u228B':'supne','\\u228D':'cupdot','\\u228E':'uplus','\\u228F':'sqsub','\\u228F\\u0338':'NotSquareSubset','\\u2290':'sqsup','\\u2290\\u0338':'NotSquareSuperset','\\u2291':'sqsube','\\u22E2':'nsqsube','\\u2292':'sqsupe','\\u22E3':'nsqsupe','\\u2293':'sqcap','\\u2293\\uFE00':'sqcaps','\\u2294':'sqcup','\\u2294\\uFE00':'sqcups','\\u2295':'oplus','\\u2296':'ominus','\\u2297':'otimes','\\u2298':'osol','\\u2299':'odot','\\u229A':'ocir','\\u229B':'oast','\\u229D':'odash','\\u229E':'plusb','\\u229F':'minusb','\\u22A0':'timesb','\\u22A1':'sdotb','\\u22A2':'vdash','\\u22AC':'nvdash','\\u22A3':'dashv','\\u22A4':'top','\\u22A5':'bot','\\u22A7':'models','\\u22A8':'vDash','\\u22AD':'nvDash','\\u22A9':'Vdash','\\u22AE':'nVdash','\\u22AA':'Vvdash','\\u22AB':'VDash','\\u22AF':'nVDash','\\u22B0':'prurel','\\u22B2':'vltri','\\u22EA':'nltri','\\u22B3':'vrtri','\\u22EB':'nrtri','\\u22B4':'ltrie','\\u22EC':'nltrie','\\u22B4\\u20D2':'nvltrie','\\u22B5':'rtrie','\\u22ED':'nrtrie','\\u22B5\\u20D2':'nvrtrie','\\u22B6':'origof','\\u22B7':'imof','\\u22B8':'mumap','\\u22B9':'hercon','\\u22BA':'intcal','\\u22BB':'veebar','\\u22BD':'barvee','\\u22BE':'angrtvb','\\u22BF':'lrtri','\\u22C0':'Wedge','\\u22C1':'Vee','\\u22C2':'xcap','\\u22C3':'xcup','\\u22C4':'diam','\\u22C5':'sdot','\\u22C6':'Star','\\u22C7':'divonx','\\u22C8':'bowtie','\\u22C9':'ltimes','\\u22CA':'rtimes','\\u22CB':'lthree','\\u22CC':'rthree','\\u22CD':'bsime','\\u22CE':'cuvee','\\u22CF':'cuwed','\\u22D0':'Sub','\\u22D1':'Sup','\\u22D2':'Cap','\\u22D3':'Cup','\\u22D4':'fork','\\u22D5':'epar','\\u22D6':'ltdot','\\u22D7':'gtdot','\\u22D8':'Ll','\\u22D8\\u0338':'nLl','\\u22D9':'Gg','\\u22D9\\u0338':'nGg','\\u22DA\\uFE00':'lesg','\\u22DA':'leg','\\u22DB':'gel','\\u22DB\\uFE00':'gesl','\\u22DE':'cuepr','\\u22DF':'cuesc','\\u22E6':'lnsim','\\u22E7':'gnsim','\\u22E8':'prnsim','\\u22E9':'scnsim','\\u22EE':'vellip','\\u22EF':'ctdot','\\u22F0':'utdot','\\u22F1':'dtdot','\\u22F2':'disin','\\u22F3':'isinsv','\\u22F4':'isins','\\u22F5':'isindot','\\u22F5\\u0338':'notindot','\\u22F6':'notinvc','\\u22F7':'notinvb','\\u22F9':'isinE','\\u22F9\\u0338':'notinE','\\u22FA':'nisd','\\u22FB':'xnis','\\u22FC':'nis','\\u22FD':'notnivc','\\u22FE':'notnivb','\\u2305':'barwed','\\u2306':'Barwed','\\u230C':'drcrop','\\u230D':'dlcrop','\\u230E':'urcrop','\\u230F':'ulcrop','\\u2310':'bnot','\\u2312':'profline','\\u2313':'profsurf','\\u2315':'telrec','\\u2316':'target','\\u231C':'ulcorn','\\u231D':'urcorn','\\u231E':'dlcorn','\\u231F':'drcorn','\\u2322':'frown','\\u2323':'smile','\\u232D':'cylcty','\\u232E':'profalar','\\u2336':'topbot','\\u233D':'ovbar','\\u233F':'solbar','\\u237C':'angzarr','\\u23B0':'lmoust','\\u23B1':'rmoust','\\u23B4':'tbrk','\\u23B5':'bbrk','\\u23B6':'bbrktbrk','\\u23DC':'OverParenthesis','\\u23DD':'UnderParenthesis','\\u23DE':'OverBrace','\\u23DF':'UnderBrace','\\u23E2':'trpezium','\\u23E7':'elinters','\\u2423':'blank','\\u2500':'boxh','\\u2502':'boxv','\\u250C':'boxdr','\\u2510':'boxdl','\\u2514':'boxur','\\u2518':'boxul','\\u251C':'boxvr','\\u2524':'boxvl','\\u252C':'boxhd','\\u2534':'boxhu','\\u253C':'boxvh','\\u2550':'boxH','\\u2551':'boxV','\\u2552':'boxdR','\\u2553':'boxDr','\\u2554':'boxDR','\\u2555':'boxdL','\\u2556':'boxDl','\\u2557':'boxDL','\\u2558':'boxuR','\\u2559':'boxUr','\\u255A':'boxUR','\\u255B':'boxuL','\\u255C':'boxUl','\\u255D':'boxUL','\\u255E':'boxvR','\\u255F':'boxVr','\\u2560':'boxVR','\\u2561':'boxvL','\\u2562':'boxVl','\\u2563':'boxVL','\\u2564':'boxHd','\\u2565':'boxhD','\\u2566':'boxHD','\\u2567':'boxHu','\\u2568':'boxhU','\\u2569':'boxHU','\\u256A':'boxvH','\\u256B':'boxVh','\\u256C':'boxVH','\\u2580':'uhblk','\\u2584':'lhblk','\\u2588':'block','\\u2591':'blk14','\\u2592':'blk12','\\u2593':'blk34','\\u25A1':'squ','\\u25AA':'squf','\\u25AB':'EmptyVerySmallSquare','\\u25AD':'rect','\\u25AE':'marker','\\u25B1':'fltns','\\u25B3':'xutri','\\u25B4':'utrif','\\u25B5':'utri','\\u25B8':'rtrif','\\u25B9':'rtri','\\u25BD':'xdtri','\\u25BE':'dtrif','\\u25BF':'dtri','\\u25C2':'ltrif','\\u25C3':'ltri','\\u25CA':'loz','\\u25CB':'cir','\\u25EC':'tridot','\\u25EF':'xcirc','\\u25F8':'ultri','\\u25F9':'urtri','\\u25FA':'lltri','\\u25FB':'EmptySmallSquare','\\u25FC':'FilledSmallSquare','\\u2605':'starf','\\u2606':'star','\\u260E':'phone','\\u2640':'female','\\u2642':'male','\\u2660':'spades','\\u2663':'clubs','\\u2665':'hearts','\\u2666':'diams','\\u266A':'sung','\\u2713':'check','\\u2717':'cross','\\u2720':'malt','\\u2736':'sext','\\u2758':'VerticalSeparator','\\u27C8':'bsolhsub','\\u27C9':'suphsol','\\u27F5':'xlarr','\\u27F6':'xrarr','\\u27F7':'xharr','\\u27F8':'xlArr','\\u27F9':'xrArr','\\u27FA':'xhArr','\\u27FC':'xmap','\\u27FF':'dzigrarr','\\u2902':'nvlArr','\\u2903':'nvrArr','\\u2904':'nvHarr','\\u2905':'Map','\\u290C':'lbarr','\\u290D':'rbarr','\\u290E':'lBarr','\\u290F':'rBarr','\\u2910':'RBarr','\\u2911':'DDotrahd','\\u2912':'UpArrowBar','\\u2913':'DownArrowBar','\\u2916':'Rarrtl','\\u2919':'latail','\\u291A':'ratail','\\u291B':'lAtail','\\u291C':'rAtail','\\u291D':'larrfs','\\u291E':'rarrfs','\\u291F':'larrbfs','\\u2920':'rarrbfs','\\u2923':'nwarhk','\\u2924':'nearhk','\\u2925':'searhk','\\u2926':'swarhk','\\u2927':'nwnear','\\u2928':'toea','\\u2929':'tosa','\\u292A':'swnwar','\\u2933':'rarrc','\\u2933\\u0338':'nrarrc','\\u2935':'cudarrr','\\u2936':'ldca','\\u2937':'rdca','\\u2938':'cudarrl','\\u2939':'larrpl','\\u293C':'curarrm','\\u293D':'cularrp','\\u2945':'rarrpl','\\u2948':'harrcir','\\u2949':'Uarrocir','\\u294A':'lurdshar','\\u294B':'ldrushar','\\u294E':'LeftRightVector','\\u294F':'RightUpDownVector','\\u2950':'DownLeftRightVector','\\u2951':'LeftUpDownVector','\\u2952':'LeftVectorBar','\\u2953':'RightVectorBar','\\u2954':'RightUpVectorBar','\\u2955':'RightDownVectorBar','\\u2956':'DownLeftVectorBar','\\u2957':'DownRightVectorBar','\\u2958':'LeftUpVectorBar','\\u2959':'LeftDownVectorBar','\\u295A':'LeftTeeVector','\\u295B':'RightTeeVector','\\u295C':'RightUpTeeVector','\\u295D':'RightDownTeeVector','\\u295E':'DownLeftTeeVector','\\u295F':'DownRightTeeVector','\\u2960':'LeftUpTeeVector','\\u2961':'LeftDownTeeVector','\\u2962':'lHar','\\u2963':'uHar','\\u2964':'rHar','\\u2965':'dHar','\\u2966':'luruhar','\\u2967':'ldrdhar','\\u2968':'ruluhar','\\u2969':'rdldhar','\\u296A':'lharul','\\u296B':'llhard','\\u296C':'rharul','\\u296D':'lrhard','\\u296E':'udhar','\\u296F':'duhar','\\u2970':'RoundImplies','\\u2971':'erarr','\\u2972':'simrarr','\\u2973':'larrsim','\\u2974':'rarrsim','\\u2975':'rarrap','\\u2976':'ltlarr','\\u2978':'gtrarr','\\u2979':'subrarr','\\u297B':'suplarr','\\u297C':'lfisht','\\u297D':'rfisht','\\u297E':'ufisht','\\u297F':'dfisht','\\u299A':'vzigzag','\\u299C':'vangrt','\\u299D':'angrtvbd','\\u29A4':'ange','\\u29A5':'range','\\u29A6':'dwangle','\\u29A7':'uwangle','\\u29A8':'angmsdaa','\\u29A9':'angmsdab','\\u29AA':'angmsdac','\\u29AB':'angmsdad','\\u29AC':'angmsdae','\\u29AD':'angmsdaf','\\u29AE':'angmsdag','\\u29AF':'angmsdah','\\u29B0':'bemptyv','\\u29B1':'demptyv','\\u29B2':'cemptyv','\\u29B3':'raemptyv','\\u29B4':'laemptyv','\\u29B5':'ohbar','\\u29B6':'omid','\\u29B7':'opar','\\u29B9':'operp','\\u29BB':'olcross','\\u29BC':'odsold','\\u29BE':'olcir','\\u29BF':'ofcir','\\u29C0':'olt','\\u29C1':'ogt','\\u29C2':'cirscir','\\u29C3':'cirE','\\u29C4':'solb','\\u29C5':'bsolb','\\u29C9':'boxbox','\\u29CD':'trisb','\\u29CE':'rtriltri','\\u29CF':'LeftTriangleBar','\\u29CF\\u0338':'NotLeftTriangleBar','\\u29D0':'RightTriangleBar','\\u29D0\\u0338':'NotRightTriangleBar','\\u29DC':'iinfin','\\u29DD':'infintie','\\u29DE':'nvinfin','\\u29E3':'eparsl','\\u29E4':'smeparsl','\\u29E5':'eqvparsl','\\u29EB':'lozf','\\u29F4':'RuleDelayed','\\u29F6':'dsol','\\u2A00':'xodot','\\u2A01':'xoplus','\\u2A02':'xotime','\\u2A04':'xuplus','\\u2A06':'xsqcup','\\u2A0D':'fpartint','\\u2A10':'cirfnint','\\u2A11':'awint','\\u2A12':'rppolint','\\u2A13':'scpolint','\\u2A14':'npolint','\\u2A15':'pointint','\\u2A16':'quatint','\\u2A17':'intlarhk','\\u2A22':'pluscir','\\u2A23':'plusacir','\\u2A24':'simplus','\\u2A25':'plusdu','\\u2A26':'plussim','\\u2A27':'plustwo','\\u2A29':'mcomma','\\u2A2A':'minusdu','\\u2A2D':'loplus','\\u2A2E':'roplus','\\u2A2F':'Cross','\\u2A30':'timesd','\\u2A31':'timesbar','\\u2A33':'smashp','\\u2A34':'lotimes','\\u2A35':'rotimes','\\u2A36':'otimesas','\\u2A37':'Otimes','\\u2A38':'odiv','\\u2A39':'triplus','\\u2A3A':'triminus','\\u2A3B':'tritime','\\u2A3C':'iprod','\\u2A3F':'amalg','\\u2A40':'capdot','\\u2A42':'ncup','\\u2A43':'ncap','\\u2A44':'capand','\\u2A45':'cupor','\\u2A46':'cupcap','\\u2A47':'capcup','\\u2A48':'cupbrcap','\\u2A49':'capbrcup','\\u2A4A':'cupcup','\\u2A4B':'capcap','\\u2A4C':'ccups','\\u2A4D':'ccaps','\\u2A50':'ccupssm','\\u2A53':'And','\\u2A54':'Or','\\u2A55':'andand','\\u2A56':'oror','\\u2A57':'orslope','\\u2A58':'andslope','\\u2A5A':'andv','\\u2A5B':'orv','\\u2A5C':'andd','\\u2A5D':'ord','\\u2A5F':'wedbar','\\u2A66':'sdote','\\u2A6A':'simdot','\\u2A6D':'congdot','\\u2A6D\\u0338':'ncongdot','\\u2A6E':'easter','\\u2A6F':'apacir','\\u2A70':'apE','\\u2A70\\u0338':'napE','\\u2A71':'eplus','\\u2A72':'pluse','\\u2A73':'Esim','\\u2A77':'eDDot','\\u2A78':'equivDD','\\u2A79':'ltcir','\\u2A7A':'gtcir','\\u2A7B':'ltquest','\\u2A7C':'gtquest','\\u2A7D':'les','\\u2A7D\\u0338':'nles','\\u2A7E':'ges','\\u2A7E\\u0338':'nges','\\u2A7F':'lesdot','\\u2A80':'gesdot','\\u2A81':'lesdoto','\\u2A82':'gesdoto','\\u2A83':'lesdotor','\\u2A84':'gesdotol','\\u2A85':'lap','\\u2A86':'gap','\\u2A87':'lne','\\u2A88':'gne','\\u2A89':'lnap','\\u2A8A':'gnap','\\u2A8B':'lEg','\\u2A8C':'gEl','\\u2A8D':'lsime','\\u2A8E':'gsime','\\u2A8F':'lsimg','\\u2A90':'gsiml','\\u2A91':'lgE','\\u2A92':'glE','\\u2A93':'lesges','\\u2A94':'gesles','\\u2A95':'els','\\u2A96':'egs','\\u2A97':'elsdot','\\u2A98':'egsdot','\\u2A99':'el','\\u2A9A':'eg','\\u2A9D':'siml','\\u2A9E':'simg','\\u2A9F':'simlE','\\u2AA0':'simgE','\\u2AA1':'LessLess','\\u2AA1\\u0338':'NotNestedLessLess','\\u2AA2':'GreaterGreater','\\u2AA2\\u0338':'NotNestedGreaterGreater','\\u2AA4':'glj','\\u2AA5':'gla','\\u2AA6':'ltcc','\\u2AA7':'gtcc','\\u2AA8':'lescc','\\u2AA9':'gescc','\\u2AAA':'smt','\\u2AAB':'lat','\\u2AAC':'smte','\\u2AAC\\uFE00':'smtes','\\u2AAD':'late','\\u2AAD\\uFE00':'lates','\\u2AAE':'bumpE','\\u2AAF':'pre','\\u2AAF\\u0338':'npre','\\u2AB0':'sce','\\u2AB0\\u0338':'nsce','\\u2AB3':'prE','\\u2AB4':'scE','\\u2AB5':'prnE','\\u2AB6':'scnE','\\u2AB7':'prap','\\u2AB8':'scap','\\u2AB9':'prnap','\\u2ABA':'scnap','\\u2ABB':'Pr','\\u2ABC':'Sc','\\u2ABD':'subdot','\\u2ABE':'supdot','\\u2ABF':'subplus','\\u2AC0':'supplus','\\u2AC1':'submult','\\u2AC2':'supmult','\\u2AC3':'subedot','\\u2AC4':'supedot','\\u2AC5':'subE','\\u2AC5\\u0338':'nsubE','\\u2AC6':'supE','\\u2AC6\\u0338':'nsupE','\\u2AC7':'subsim','\\u2AC8':'supsim','\\u2ACB\\uFE00':'vsubnE','\\u2ACB':'subnE','\\u2ACC\\uFE00':'vsupnE','\\u2ACC':'supnE','\\u2ACF':'csub','\\u2AD0':'csup','\\u2AD1':'csube','\\u2AD2':'csupe','\\u2AD3':'subsup','\\u2AD4':'supsub','\\u2AD5':'subsub','\\u2AD6':'supsup','\\u2AD7':'suphsub','\\u2AD8':'supdsub','\\u2AD9':'forkv','\\u2ADA':'topfork','\\u2ADB':'mlcp','\\u2AE4':'Dashv','\\u2AE6':'Vdashl','\\u2AE7':'Barv','\\u2AE8':'vBar','\\u2AE9':'vBarv','\\u2AEB':'Vbar','\\u2AEC':'Not','\\u2AED':'bNot','\\u2AEE':'rnmid','\\u2AEF':'cirmid','\\u2AF0':'midcir','\\u2AF1':'topcir','\\u2AF2':'nhpar','\\u2AF3':'parsim','\\u2AFD':'parsl','\\u2AFD\\u20E5':'nparsl','\\u266D':'flat','\\u266E':'natur','\\u266F':'sharp','\\xA4':'curren','\\xA2':'cent','$':'dollar','\\xA3':'pound','\\xA5':'yen','\\u20AC':'euro','\\xB9':'sup1','\\xBD':'half','\\u2153':'frac13','\\xBC':'frac14','\\u2155':'frac15','\\u2159':'frac16','\\u215B':'frac18','\\xB2':'sup2','\\u2154':'frac23','\\u2156':'frac25','\\xB3':'sup3','\\xBE':'frac34','\\u2157':'frac35','\\u215C':'frac38','\\u2158':'frac45','\\u215A':'frac56','\\u215D':'frac58','\\u215E':'frac78','\\uD835\\uDCB6':'ascr','\\uD835\\uDD52':'aopf','\\uD835\\uDD1E':'afr','\\uD835\\uDD38':'Aopf','\\uD835\\uDD04':'Afr','\\uD835\\uDC9C':'Ascr','\\xAA':'ordf','\\xE1':'aacute','\\xC1':'Aacute','\\xE0':'agrave','\\xC0':'Agrave','\\u0103':'abreve','\\u0102':'Abreve','\\xE2':'acirc','\\xC2':'Acirc','\\xE5':'aring','\\xC5':'angst','\\xE4':'auml','\\xC4':'Auml','\\xE3':'atilde','\\xC3':'Atilde','\\u0105':'aogon','\\u0104':'Aogon','\\u0101':'amacr','\\u0100':'Amacr','\\xE6':'aelig','\\xC6':'AElig','\\uD835\\uDCB7':'bscr','\\uD835\\uDD53':'bopf','\\uD835\\uDD1F':'bfr','\\uD835\\uDD39':'Bopf','\\u212C':'Bscr','\\uD835\\uDD05':'Bfr','\\uD835\\uDD20':'cfr','\\uD835\\uDCB8':'cscr','\\uD835\\uDD54':'copf','\\u212D':'Cfr','\\uD835\\uDC9E':'Cscr','\\u2102':'Copf','\\u0107':'cacute','\\u0106':'Cacute','\\u0109':'ccirc','\\u0108':'Ccirc','\\u010D':'ccaron','\\u010C':'Ccaron','\\u010B':'cdot','\\u010A':'Cdot','\\xE7':'ccedil','\\xC7':'Ccedil','\\u2105':'incare','\\uD835\\uDD21':'dfr','\\u2146':'dd','\\uD835\\uDD55':'dopf','\\uD835\\uDCB9':'dscr','\\uD835\\uDC9F':'Dscr','\\uD835\\uDD07':'Dfr','\\u2145':'DD','\\uD835\\uDD3B':'Dopf','\\u010F':'dcaron','\\u010E':'Dcaron','\\u0111':'dstrok','\\u0110':'Dstrok','\\xF0':'eth','\\xD0':'ETH','\\u2147':'ee','\\u212F':'escr','\\uD835\\uDD22':'efr','\\uD835\\uDD56':'eopf','\\u2130':'Escr','\\uD835\\uDD08':'Efr','\\uD835\\uDD3C':'Eopf','\\xE9':'eacute','\\xC9':'Eacute','\\xE8':'egrave','\\xC8':'Egrave','\\xEA':'ecirc','\\xCA':'Ecirc','\\u011B':'ecaron','\\u011A':'Ecaron','\\xEB':'euml','\\xCB':'Euml','\\u0117':'edot','\\u0116':'Edot','\\u0119':'eogon','\\u0118':'Eogon','\\u0113':'emacr','\\u0112':'Emacr','\\uD835\\uDD23':'ffr','\\uD835\\uDD57':'fopf','\\uD835\\uDCBB':'fscr','\\uD835\\uDD09':'Ffr','\\uD835\\uDD3D':'Fopf','\\u2131':'Fscr','\\uFB00':'fflig','\\uFB03':'ffilig','\\uFB04':'ffllig','\\uFB01':'filig','fj':'fjlig','\\uFB02':'fllig','\\u0192':'fnof','\\u210A':'gscr','\\uD835\\uDD58':'gopf','\\uD835\\uDD24':'gfr','\\uD835\\uDCA2':'Gscr','\\uD835\\uDD3E':'Gopf','\\uD835\\uDD0A':'Gfr','\\u01F5':'gacute','\\u011F':'gbreve','\\u011E':'Gbreve','\\u011D':'gcirc','\\u011C':'Gcirc','\\u0121':'gdot','\\u0120':'Gdot','\\u0122':'Gcedil','\\uD835\\uDD25':'hfr','\\u210E':'planckh','\\uD835\\uDCBD':'hscr','\\uD835\\uDD59':'hopf','\\u210B':'Hscr','\\u210C':'Hfr','\\u210D':'Hopf','\\u0125':'hcirc','\\u0124':'Hcirc','\\u210F':'hbar','\\u0127':'hstrok','\\u0126':'Hstrok','\\uD835\\uDD5A':'iopf','\\uD835\\uDD26':'ifr','\\uD835\\uDCBE':'iscr','\\u2148':'ii','\\uD835\\uDD40':'Iopf','\\u2110':'Iscr','\\u2111':'Im','\\xED':'iacute','\\xCD':'Iacute','\\xEC':'igrave','\\xCC':'Igrave','\\xEE':'icirc','\\xCE':'Icirc','\\xEF':'iuml','\\xCF':'Iuml','\\u0129':'itilde','\\u0128':'Itilde','\\u0130':'Idot','\\u012F':'iogon','\\u012E':'Iogon','\\u012B':'imacr','\\u012A':'Imacr','\\u0133':'ijlig','\\u0132':'IJlig','\\u0131':'imath','\\uD835\\uDCBF':'jscr','\\uD835\\uDD5B':'jopf','\\uD835\\uDD27':'jfr','\\uD835\\uDCA5':'Jscr','\\uD835\\uDD0D':'Jfr','\\uD835\\uDD41':'Jopf','\\u0135':'jcirc','\\u0134':'Jcirc','\\u0237':'jmath','\\uD835\\uDD5C':'kopf','\\uD835\\uDCC0':'kscr','\\uD835\\uDD28':'kfr','\\uD835\\uDCA6':'Kscr','\\uD835\\uDD42':'Kopf','\\uD835\\uDD0E':'Kfr','\\u0137':'kcedil','\\u0136':'Kcedil','\\uD835\\uDD29':'lfr','\\uD835\\uDCC1':'lscr','\\u2113':'ell','\\uD835\\uDD5D':'lopf','\\u2112':'Lscr','\\uD835\\uDD0F':'Lfr','\\uD835\\uDD43':'Lopf','\\u013A':'lacute','\\u0139':'Lacute','\\u013E':'lcaron','\\u013D':'Lcaron','\\u013C':'lcedil','\\u013B':'Lcedil','\\u0142':'lstrok','\\u0141':'Lstrok','\\u0140':'lmidot','\\u013F':'Lmidot','\\uD835\\uDD2A':'mfr','\\uD835\\uDD5E':'mopf','\\uD835\\uDCC2':'mscr','\\uD835\\uDD10':'Mfr','\\uD835\\uDD44':'Mopf','\\u2133':'Mscr','\\uD835\\uDD2B':'nfr','\\uD835\\uDD5F':'nopf','\\uD835\\uDCC3':'nscr','\\u2115':'Nopf','\\uD835\\uDCA9':'Nscr','\\uD835\\uDD11':'Nfr','\\u0144':'nacute','\\u0143':'Nacute','\\u0148':'ncaron','\\u0147':'Ncaron','\\xF1':'ntilde','\\xD1':'Ntilde','\\u0146':'ncedil','\\u0145':'Ncedil','\\u2116':'numero','\\u014B':'eng','\\u014A':'ENG','\\uD835\\uDD60':'oopf','\\uD835\\uDD2C':'ofr','\\u2134':'oscr','\\uD835\\uDCAA':'Oscr','\\uD835\\uDD12':'Ofr','\\uD835\\uDD46':'Oopf','\\xBA':'ordm','\\xF3':'oacute','\\xD3':'Oacute','\\xF2':'ograve','\\xD2':'Ograve','\\xF4':'ocirc','\\xD4':'Ocirc','\\xF6':'ouml','\\xD6':'Ouml','\\u0151':'odblac','\\u0150':'Odblac','\\xF5':'otilde','\\xD5':'Otilde','\\xF8':'oslash','\\xD8':'Oslash','\\u014D':'omacr','\\u014C':'Omacr','\\u0153':'oelig','\\u0152':'OElig','\\uD835\\uDD2D':'pfr','\\uD835\\uDCC5':'pscr','\\uD835\\uDD61':'popf','\\u2119':'Popf','\\uD835\\uDD13':'Pfr','\\uD835\\uDCAB':'Pscr','\\uD835\\uDD62':'qopf','\\uD835\\uDD2E':'qfr','\\uD835\\uDCC6':'qscr','\\uD835\\uDCAC':'Qscr','\\uD835\\uDD14':'Qfr','\\u211A':'Qopf','\\u0138':'kgreen','\\uD835\\uDD2F':'rfr','\\uD835\\uDD63':'ropf','\\uD835\\uDCC7':'rscr','\\u211B':'Rscr','\\u211C':'Re','\\u211D':'Ropf','\\u0155':'racute','\\u0154':'Racute','\\u0159':'rcaron','\\u0158':'Rcaron','\\u0157':'rcedil','\\u0156':'Rcedil','\\uD835\\uDD64':'sopf','\\uD835\\uDCC8':'sscr','\\uD835\\uDD30':'sfr','\\uD835\\uDD4A':'Sopf','\\uD835\\uDD16':'Sfr','\\uD835\\uDCAE':'Sscr','\\u24C8':'oS','\\u015B':'sacute','\\u015A':'Sacute','\\u015D':'scirc','\\u015C':'Scirc','\\u0161':'scaron','\\u0160':'Scaron','\\u015F':'scedil','\\u015E':'Scedil','\\xDF':'szlig','\\uD835\\uDD31':'tfr','\\uD835\\uDCC9':'tscr','\\uD835\\uDD65':'topf','\\uD835\\uDCAF':'Tscr','\\uD835\\uDD17':'Tfr','\\uD835\\uDD4B':'Topf','\\u0165':'tcaron','\\u0164':'Tcaron','\\u0163':'tcedil','\\u0162':'Tcedil','\\u2122':'trade','\\u0167':'tstrok','\\u0166':'Tstrok','\\uD835\\uDCCA':'uscr','\\uD835\\uDD66':'uopf','\\uD835\\uDD32':'ufr','\\uD835\\uDD4C':'Uopf','\\uD835\\uDD18':'Ufr','\\uD835\\uDCB0':'Uscr','\\xFA':'uacute','\\xDA':'Uacute','\\xF9':'ugrave','\\xD9':'Ugrave','\\u016D':'ubreve','\\u016C':'Ubreve','\\xFB':'ucirc','\\xDB':'Ucirc','\\u016F':'uring','\\u016E':'Uring','\\xFC':'uuml','\\xDC':'Uuml','\\u0171':'udblac','\\u0170':'Udblac','\\u0169':'utilde','\\u0168':'Utilde','\\u0173':'uogon','\\u0172':'Uogon','\\u016B':'umacr','\\u016A':'Umacr','\\uD835\\uDD33':'vfr','\\uD835\\uDD67':'vopf','\\uD835\\uDCCB':'vscr','\\uD835\\uDD19':'Vfr','\\uD835\\uDD4D':'Vopf','\\uD835\\uDCB1':'Vscr','\\uD835\\uDD68':'wopf','\\uD835\\uDCCC':'wscr','\\uD835\\uDD34':'wfr','\\uD835\\uDCB2':'Wscr','\\uD835\\uDD4E':'Wopf','\\uD835\\uDD1A':'Wfr','\\u0175':'wcirc','\\u0174':'Wcirc','\\uD835\\uDD35':'xfr','\\uD835\\uDCCD':'xscr','\\uD835\\uDD69':'xopf','\\uD835\\uDD4F':'Xopf','\\uD835\\uDD1B':'Xfr','\\uD835\\uDCB3':'Xscr','\\uD835\\uDD36':'yfr','\\uD835\\uDCCE':'yscr','\\uD835\\uDD6A':'yopf','\\uD835\\uDCB4':'Yscr','\\uD835\\uDD1C':'Yfr','\\uD835\\uDD50':'Yopf','\\xFD':'yacute','\\xDD':'Yacute','\\u0177':'ycirc','\\u0176':'Ycirc','\\xFF':'yuml','\\u0178':'Yuml','\\uD835\\uDCCF':'zscr','\\uD835\\uDD37':'zfr','\\uD835\\uDD6B':'zopf','\\u2128':'Zfr','\\u2124':'Zopf','\\uD835\\uDCB5':'Zscr','\\u017A':'zacute','\\u0179':'Zacute','\\u017E':'zcaron','\\u017D':'Zcaron','\\u017C':'zdot','\\u017B':'Zdot','\\u01B5':'imped','\\xFE':'thorn','\\xDE':'THORN','\\u0149':'napos','\\u03B1':'alpha','\\u0391':'Alpha','\\u03B2':'beta','\\u0392':'Beta','\\u03B3':'gamma','\\u0393':'Gamma','\\u03B4':'delta','\\u0394':'Delta','\\u03B5':'epsi','\\u03F5':'epsiv','\\u0395':'Epsilon','\\u03DD':'gammad','\\u03DC':'Gammad','\\u03B6':'zeta','\\u0396':'Zeta','\\u03B7':'eta','\\u0397':'Eta','\\u03B8':'theta','\\u03D1':'thetav','\\u0398':'Theta','\\u03B9':'iota','\\u0399':'Iota','\\u03BA':'kappa','\\u03F0':'kappav','\\u039A':'Kappa','\\u03BB':'lambda','\\u039B':'Lambda','\\u03BC':'mu','\\xB5':'micro','\\u039C':'Mu','\\u03BD':'nu','\\u039D':'Nu','\\u03BE':'xi','\\u039E':'Xi','\\u03BF':'omicron','\\u039F':'Omicron','\\u03C0':'pi','\\u03D6':'piv','\\u03A0':'Pi','\\u03C1':'rho','\\u03F1':'rhov','\\u03A1':'Rho','\\u03C3':'sigma','\\u03A3':'Sigma','\\u03C2':'sigmaf','\\u03C4':'tau','\\u03A4':'Tau','\\u03C5':'upsi','\\u03A5':'Upsilon','\\u03D2':'Upsi','\\u03C6':'phi','\\u03D5':'phiv','\\u03A6':'Phi','\\u03C7':'chi','\\u03A7':'Chi','\\u03C8':'psi','\\u03A8':'Psi','\\u03C9':'omega','\\u03A9':'ohm','\\u0430':'acy','\\u0410':'Acy','\\u0431':'bcy','\\u0411':'Bcy','\\u0432':'vcy','\\u0412':'Vcy','\\u0433':'gcy','\\u0413':'Gcy','\\u0453':'gjcy','\\u0403':'GJcy','\\u0434':'dcy','\\u0414':'Dcy','\\u0452':'djcy','\\u0402':'DJcy','\\u0435':'iecy','\\u0415':'IEcy','\\u0451':'iocy','\\u0401':'IOcy','\\u0454':'jukcy','\\u0404':'Jukcy','\\u0436':'zhcy','\\u0416':'ZHcy','\\u0437':'zcy','\\u0417':'Zcy','\\u0455':'dscy','\\u0405':'DScy','\\u0438':'icy','\\u0418':'Icy','\\u0456':'iukcy','\\u0406':'Iukcy','\\u0457':'yicy','\\u0407':'YIcy','\\u0439':'jcy','\\u0419':'Jcy','\\u0458':'jsercy','\\u0408':'Jsercy','\\u043A':'kcy','\\u041A':'Kcy','\\u045C':'kjcy','\\u040C':'KJcy','\\u043B':'lcy','\\u041B':'Lcy','\\u0459':'ljcy','\\u0409':'LJcy','\\u043C':'mcy','\\u041C':'Mcy','\\u043D':'ncy','\\u041D':'Ncy','\\u045A':'njcy','\\u040A':'NJcy','\\u043E':'ocy','\\u041E':'Ocy','\\u043F':'pcy','\\u041F':'Pcy','\\u0440':'rcy','\\u0420':'Rcy','\\u0441':'scy','\\u0421':'Scy','\\u0442':'tcy','\\u0422':'Tcy','\\u045B':'tshcy','\\u040B':'TSHcy','\\u0443':'ucy','\\u0423':'Ucy','\\u045E':'ubrcy','\\u040E':'Ubrcy','\\u0444':'fcy','\\u0424':'Fcy','\\u0445':'khcy','\\u0425':'KHcy','\\u0446':'tscy','\\u0426':'TScy','\\u0447':'chcy','\\u0427':'CHcy','\\u045F':'dzcy','\\u040F':'DZcy','\\u0448':'shcy','\\u0428':'SHcy','\\u0449':'shchcy','\\u0429':'SHCHcy','\\u044A':'hardcy','\\u042A':'HARDcy','\\u044B':'ycy','\\u042B':'Ycy','\\u044C':'softcy','\\u042C':'SOFTcy','\\u044D':'ecy','\\u042D':'Ecy','\\u044E':'yucy','\\u042E':'YUcy','\\u044F':'yacy','\\u042F':'YAcy','\\u2135':'aleph','\\u2136':'beth','\\u2137':'gimel','\\u2138':'daleth'};\n\n\tvar regexEscape = /[\"&'<>`]/g;\n\tvar escapeMap = {\n\t\t'\"': '"',\n\t\t'&': '&',\n\t\t'\\'': ''',\n\t\t'<': '<',\n\t\t// See https://mathiasbynens.be/notes/ambiguous-ampersands: in HTML, the\n\t\t// following is not strictly necessary unless it’s part of a tag or an\n\t\t// unquoted attribute value. We’re only escaping it to support those\n\t\t// situations, and for XML support.\n\t\t'>': '>',\n\t\t// In Internet Explorer ≤ 8, the backtick character can be used\n\t\t// to break out of (un)quoted attribute values or HTML comments.\n\t\t// See http://html5sec.org/#102, http://html5sec.org/#108, and\n\t\t// http://html5sec.org/#133.\n\t\t'`': '`'\n\t};\n\n\tvar regexInvalidEntity = /&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/;\n\tvar regexInvalidRawCodePoint = /[\\0-\\x08\\x0B\\x0E-\\x1F\\x7F-\\x9F\\uFDD0-\\uFDEF\\uFFFE\\uFFFF]|[\\uD83F\\uD87F\\uD8BF\\uD8FF\\uD93F\\uD97F\\uD9BF\\uD9FF\\uDA3F\\uDA7F\\uDABF\\uDAFF\\uDB3F\\uDB7F\\uDBBF\\uDBFF][\\uDFFE\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/;\n\tvar regexDecode = /&(CounterClockwiseContourIntegral|DoubleLongLeftRightArrow|ClockwiseContourIntegral|NotNestedGreaterGreater|NotSquareSupersetEqual|DiacriticalDoubleAcute|NotRightTriangleEqual|NotSucceedsSlantEqual|NotPrecedesSlantEqual|CloseCurlyDoubleQuote|NegativeVeryThinSpace|DoubleContourIntegral|FilledVerySmallSquare|CapitalDifferentialD|OpenCurlyDoubleQuote|EmptyVerySmallSquare|NestedGreaterGreater|DoubleLongRightArrow|NotLeftTriangleEqual|NotGreaterSlantEqual|ReverseUpEquilibrium|DoubleLeftRightArrow|NotSquareSubsetEqual|NotDoubleVerticalBar|RightArrowLeftArrow|NotGreaterFullEqual|NotRightTriangleBar|SquareSupersetEqual|DownLeftRightVector|DoubleLongLeftArrow|leftrightsquigarrow|LeftArrowRightArrow|NegativeMediumSpace|blacktriangleright|RightDownVectorBar|PrecedesSlantEqual|RightDoubleBracket|SucceedsSlantEqual|NotLeftTriangleBar|RightTriangleEqual|SquareIntersection|RightDownTeeVector|ReverseEquilibrium|NegativeThickSpace|longleftrightarrow|Longleftrightarrow|LongLeftRightArrow|DownRightTeeVector|DownRightVectorBar|GreaterSlantEqual|SquareSubsetEqual|LeftDownVectorBar|LeftDoubleBracket|VerticalSeparator|rightleftharpoons|NotGreaterGreater|NotSquareSuperset|blacktriangleleft|blacktriangledown|NegativeThinSpace|LeftDownTeeVector|NotLessSlantEqual|leftrightharpoons|DoubleUpDownArrow|DoubleVerticalBar|LeftTriangleEqual|FilledSmallSquare|twoheadrightarrow|NotNestedLessLess|DownLeftTeeVector|DownLeftVectorBar|RightAngleBracket|NotTildeFullEqual|NotReverseElement|RightUpDownVector|DiacriticalTilde|NotSucceedsTilde|circlearrowright|NotPrecedesEqual|rightharpoondown|DoubleRightArrow|NotSucceedsEqual|NonBreakingSpace|NotRightTriangle|LessEqualGreater|RightUpTeeVector|LeftAngleBracket|GreaterFullEqual|DownArrowUpArrow|RightUpVectorBar|twoheadleftarrow|GreaterEqualLess|downharpoonright|RightTriangleBar|ntrianglerighteq|NotSupersetEqual|LeftUpDownVector|DiacriticalAcute|rightrightarrows|vartriangleright|UpArrowDownArrow|DiacriticalGrave|UnderParenthesis|EmptySmallSquare|LeftUpVectorBar|leftrightarrows|DownRightVector|downharpoonleft|trianglerighteq|ShortRightArrow|OverParenthesis|DoubleLeftArrow|DoubleDownArrow|NotSquareSubset|bigtriangledown|ntrianglelefteq|UpperRightArrow|curvearrowright|vartriangleleft|NotLeftTriangle|nleftrightarrow|LowerRightArrow|NotHumpDownHump|NotGreaterTilde|rightthreetimes|LeftUpTeeVector|NotGreaterEqual|straightepsilon|LeftTriangleBar|rightsquigarrow|ContourIntegral|rightleftarrows|CloseCurlyQuote|RightDownVector|LeftRightVector|nLeftrightarrow|leftharpoondown|circlearrowleft|SquareSuperset|OpenCurlyQuote|hookrightarrow|HorizontalLine|DiacriticalDot|NotLessGreater|ntriangleright|DoubleRightTee|InvisibleComma|InvisibleTimes|LowerLeftArrow|DownLeftVector|NotSubsetEqual|curvearrowleft|trianglelefteq|NotVerticalBar|TildeFullEqual|downdownarrows|NotGreaterLess|RightTeeVector|ZeroWidthSpace|looparrowright|LongRightArrow|doublebarwedge|ShortLeftArrow|ShortDownArrow|RightVectorBar|GreaterGreater|ReverseElement|rightharpoonup|LessSlantEqual|leftthreetimes|upharpoonright|rightarrowtail|LeftDownVector|Longrightarrow|NestedLessLess|UpperLeftArrow|nshortparallel|leftleftarrows|leftrightarrow|Leftrightarrow|LeftRightArrow|longrightarrow|upharpoonleft|RightArrowBar|ApplyFunction|LeftTeeVector|leftarrowtail|NotEqualTilde|varsubsetneqq|varsupsetneqq|RightTeeArrow|SucceedsEqual|SucceedsTilde|LeftVectorBar|SupersetEqual|hookleftarrow|DifferentialD|VerticalTilde|VeryThinSpace|blacktriangle|bigtriangleup|LessFullEqual|divideontimes|leftharpoonup|UpEquilibrium|ntriangleleft|RightTriangle|measuredangle|shortparallel|longleftarrow|Longleftarrow|LongLeftArrow|DoubleLeftTee|Poincareplane|PrecedesEqual|triangleright|DoubleUpArrow|RightUpVector|fallingdotseq|looparrowleft|PrecedesTilde|NotTildeEqual|NotTildeTilde|smallsetminus|Proportional|triangleleft|triangledown|UnderBracket|NotHumpEqual|exponentiale|ExponentialE|NotLessTilde|HilbertSpace|RightCeiling|blacklozenge|varsupsetneq|HumpDownHump|GreaterEqual|VerticalLine|LeftTeeArrow|NotLessEqual|DownTeeArrow|LeftTriangle|varsubsetneq|Intersection|NotCongruent|DownArrowBar|LeftUpVector|LeftArrowBar|risingdotseq|GreaterTilde|RoundImplies|SquareSubset|ShortUpArrow|NotSuperset|quaternions|precnapprox|backepsilon|preccurlyeq|OverBracket|blacksquare|MediumSpace|VerticalBar|circledcirc|circleddash|CircleMinus|CircleTimes|LessGreater|curlyeqprec|curlyeqsucc|diamondsuit|UpDownArrow|Updownarrow|RuleDelayed|Rrightarrow|updownarrow|RightVector|nRightarrow|nrightarrow|eqslantless|LeftCeiling|Equilibrium|SmallCircle|expectation|NotSucceeds|thickapprox|GreaterLess|SquareUnion|NotPrecedes|NotLessLess|straightphi|succnapprox|succcurlyeq|SubsetEqual|sqsupseteq|Proportion|Laplacetrf|ImaginaryI|supsetneqq|NotGreater|gtreqqless|NotElement|ThickSpace|TildeEqual|TildeTilde|Fouriertrf|rmoustache|EqualTilde|eqslantgtr|UnderBrace|LeftVector|UpArrowBar|nLeftarrow|nsubseteqq|subsetneqq|nsupseteqq|nleftarrow|succapprox|lessapprox|UpTeeArrow|upuparrows|curlywedge|lesseqqgtr|varepsilon|varnothing|RightFloor|complement|CirclePlus|sqsubseteq|Lleftarrow|circledast|RightArrow|Rightarrow|rightarrow|lmoustache|Bernoullis|precapprox|mapstoleft|mapstodown|longmapsto|dotsquare|downarrow|DoubleDot|nsubseteq|supsetneq|leftarrow|nsupseteq|subsetneq|ThinSpace|ngeqslant|subseteqq|HumpEqual|NotSubset|triangleq|NotCupCap|lesseqgtr|heartsuit|TripleDot|Leftarrow|Coproduct|Congruent|varpropto|complexes|gvertneqq|LeftArrow|LessTilde|supseteqq|MinusPlus|CircleDot|nleqslant|NotExists|gtreqless|nparallel|UnionPlus|LeftFloor|checkmark|CenterDot|centerdot|Mellintrf|gtrapprox|bigotimes|OverBrace|spadesuit|therefore|pitchfork|rationals|PlusMinus|Backslash|Therefore|DownBreve|backsimeq|backprime|DownArrow|nshortmid|Downarrow|lvertneqq|eqvparsl|imagline|imagpart|infintie|integers|Integral|intercal|LessLess|Uarrocir|intlarhk|sqsupset|angmsdaf|sqsubset|llcorner|vartheta|cupbrcap|lnapprox|Superset|SuchThat|succnsim|succneqq|angmsdag|biguplus|curlyvee|trpezium|Succeeds|NotTilde|bigwedge|angmsdah|angrtvbd|triminus|cwconint|fpartint|lrcorner|smeparsl|subseteq|urcorner|lurdshar|laemptyv|DDotrahd|approxeq|ldrushar|awconint|mapstoup|backcong|shortmid|triangle|geqslant|gesdotol|timesbar|circledR|circledS|setminus|multimap|naturals|scpolint|ncongdot|RightTee|boxminus|gnapprox|boxtimes|andslope|thicksim|angmsdaa|varsigma|cirfnint|rtriltri|angmsdab|rppolint|angmsdac|barwedge|drbkarow|clubsuit|thetasym|bsolhsub|capbrcup|dzigrarr|doteqdot|DotEqual|dotminus|UnderBar|NotEqual|realpart|otimesas|ulcorner|hksearow|hkswarow|parallel|PartialD|elinters|emptyset|plusacir|bbrktbrk|angmsdad|pointint|bigoplus|angmsdae|Precedes|bigsqcup|varkappa|notindot|supseteq|precneqq|precnsim|profalar|profline|profsurf|leqslant|lesdotor|raemptyv|subplus|notnivb|notnivc|subrarr|zigrarr|vzigzag|submult|subedot|Element|between|cirscir|larrbfs|larrsim|lotimes|lbrksld|lbrkslu|lozenge|ldrdhar|dbkarow|bigcirc|epsilon|simrarr|simplus|ltquest|Epsilon|luruhar|gtquest|maltese|npolint|eqcolon|npreceq|bigodot|ddagger|gtrless|bnequiv|harrcir|ddotseq|equivDD|backsim|demptyv|nsqsube|nsqsupe|Upsilon|nsubset|upsilon|minusdu|nsucceq|swarrow|nsupset|coloneq|searrow|boxplus|napprox|natural|asympeq|alefsym|congdot|nearrow|bigstar|diamond|supplus|tritime|LeftTee|nvinfin|triplus|NewLine|nvltrie|nvrtrie|nwarrow|nexists|Diamond|ruluhar|Implies|supmult|angzarr|suplarr|suphsub|questeq|because|digamma|Because|olcross|bemptyv|omicron|Omicron|rotimes|NoBreak|intprod|angrtvb|orderof|uwangle|suphsol|lesdoto|orslope|DownTee|realine|cudarrl|rdldhar|OverBar|supedot|lessdot|supdsub|topfork|succsim|rbrkslu|rbrksld|pertenk|cudarrr|isindot|planckh|lessgtr|pluscir|gesdoto|plussim|plustwo|lesssim|cularrp|rarrsim|Cayleys|notinva|notinvb|notinvc|UpArrow|Uparrow|uparrow|NotLess|dwangle|precsim|Product|curarrm|Cconint|dotplus|rarrbfs|ccupssm|Cedilla|cemptyv|notniva|quatint|frac35|frac38|frac45|frac56|frac58|frac78|tridot|xoplus|gacute|gammad|Gammad|lfisht|lfloor|bigcup|sqsupe|gbreve|Gbreve|lharul|sqsube|sqcups|Gcedil|apacir|llhard|lmidot|Lmidot|lmoust|andand|sqcaps|approx|Abreve|spades|circeq|tprime|divide|topcir|Assign|topbot|gesdot|divonx|xuplus|timesd|gesles|atilde|solbar|SOFTcy|loplus|timesb|lowast|lowbar|dlcorn|dlcrop|softcy|dollar|lparlt|thksim|lrhard|Atilde|lsaquo|smashp|bigvee|thinsp|wreath|bkarow|lsquor|lstrok|Lstrok|lthree|ltimes|ltlarr|DotDot|simdot|ltrPar|weierp|xsqcup|angmsd|sigmav|sigmaf|zeetrf|Zcaron|zcaron|mapsto|vsupne|thetav|cirmid|marker|mcomma|Zacute|vsubnE|there4|gtlPar|vsubne|bottom|gtrarr|SHCHcy|shchcy|midast|midcir|middot|minusb|minusd|gtrdot|bowtie|sfrown|mnplus|models|colone|seswar|Colone|mstpos|searhk|gtrsim|nacute|Nacute|boxbox|telrec|hairsp|Tcedil|nbumpe|scnsim|ncaron|Ncaron|ncedil|Ncedil|hamilt|Scedil|nearhk|hardcy|HARDcy|tcedil|Tcaron|commat|nequiv|nesear|tcaron|target|hearts|nexist|varrho|scedil|Scaron|scaron|hellip|Sacute|sacute|hercon|swnwar|compfn|rtimes|rthree|rsquor|rsaquo|zacute|wedgeq|homtht|barvee|barwed|Barwed|rpargt|horbar|conint|swarhk|roplus|nltrie|hslash|hstrok|Hstrok|rmoust|Conint|bprime|hybull|hyphen|iacute|Iacute|supsup|supsub|supsim|varphi|coprod|brvbar|agrave|Supset|supset|igrave|Igrave|notinE|Agrave|iiiint|iinfin|copysr|wedbar|Verbar|vangrt|becaus|incare|verbar|inodot|bullet|drcorn|intcal|drcrop|cularr|vellip|Utilde|bumpeq|cupcap|dstrok|Dstrok|CupCap|cupcup|cupdot|eacute|Eacute|supdot|iquest|easter|ecaron|Ecaron|ecolon|isinsv|utilde|itilde|Itilde|curarr|succeq|Bumpeq|cacute|ulcrop|nparsl|Cacute|nprcue|egrave|Egrave|nrarrc|nrarrw|subsup|subsub|nrtrie|jsercy|nsccue|Jsercy|kappav|kcedil|Kcedil|subsim|ulcorn|nsimeq|egsdot|veebar|kgreen|capand|elsdot|Subset|subset|curren|aacute|lacute|Lacute|emptyv|ntilde|Ntilde|lagran|lambda|Lambda|capcap|Ugrave|langle|subdot|emsp13|numero|emsp14|nvdash|nvDash|nVdash|nVDash|ugrave|ufisht|nvHarr|larrfs|nvlArr|larrhk|larrlp|larrpl|nvrArr|Udblac|nwarhk|larrtl|nwnear|oacute|Oacute|latail|lAtail|sstarf|lbrace|odblac|Odblac|lbrack|udblac|odsold|eparsl|lcaron|Lcaron|ograve|Ograve|lcedil|Lcedil|Aacute|ssmile|ssetmn|squarf|ldquor|capcup|ominus|cylcty|rharul|eqcirc|dagger|rfloor|rfisht|Dagger|daleth|equals|origof|capdot|equest|dcaron|Dcaron|rdquor|oslash|Oslash|otilde|Otilde|otimes|Otimes|urcrop|Ubreve|ubreve|Yacute|Uacute|uacute|Rcedil|rcedil|urcorn|parsim|Rcaron|Vdashl|rcaron|Tstrok|percnt|period|permil|Exists|yacute|rbrack|rbrace|phmmat|ccaron|Ccaron|planck|ccedil|plankv|tstrok|female|plusdo|plusdu|ffilig|plusmn|ffllig|Ccedil|rAtail|dfisht|bernou|ratail|Rarrtl|rarrtl|angsph|rarrpl|rarrlp|rarrhk|xwedge|xotime|forall|ForAll|Vvdash|vsupnE|preceq|bigcap|frac12|frac13|frac14|primes|rarrfs|prnsim|frac15|Square|frac16|square|lesdot|frac18|frac23|propto|prurel|rarrap|rangle|puncsp|frac25|Racute|qprime|racute|lesges|frac34|abreve|AElig|eqsim|utdot|setmn|urtri|Equal|Uring|seArr|uring|searr|dashv|Dashv|mumap|nabla|iogon|Iogon|sdote|sdotb|scsim|napid|napos|equiv|natur|Acirc|dblac|erarr|nbump|iprod|erDot|ucirc|awint|esdot|angrt|ncong|isinE|scnap|Scirc|scirc|ndash|isins|Ubrcy|nearr|neArr|isinv|nedot|ubrcy|acute|Ycirc|iukcy|Iukcy|xutri|nesim|caret|jcirc|Jcirc|caron|twixt|ddarr|sccue|exist|jmath|sbquo|ngeqq|angst|ccaps|lceil|ngsim|UpTee|delta|Delta|rtrif|nharr|nhArr|nhpar|rtrie|jukcy|Jukcy|kappa|rsquo|Kappa|nlarr|nlArr|TSHcy|rrarr|aogon|Aogon|fflig|xrarr|tshcy|ccirc|nleqq|filig|upsih|nless|dharl|nlsim|fjlig|ropar|nltri|dharr|robrk|roarr|fllig|fltns|roang|rnmid|subnE|subne|lAarr|trisb|Ccirc|acirc|ccups|blank|VDash|forkv|Vdash|langd|cedil|blk12|blk14|laquo|strns|diams|notin|vDash|larrb|blk34|block|disin|uplus|vdash|vBarv|aelig|starf|Wedge|check|xrArr|lates|lbarr|lBarr|notni|lbbrk|bcong|frasl|lbrke|frown|vrtri|vprop|vnsup|gamma|Gamma|wedge|xodot|bdquo|srarr|doteq|ldquo|boxdl|boxdL|gcirc|Gcirc|boxDl|boxDL|boxdr|boxdR|boxDr|TRADE|trade|rlhar|boxDR|vnsub|npart|vltri|rlarr|boxhd|boxhD|nprec|gescc|nrarr|nrArr|boxHd|boxHD|boxhu|boxhU|nrtri|boxHu|clubs|boxHU|times|colon|Colon|gimel|xlArr|Tilde|nsime|tilde|nsmid|nspar|THORN|thorn|xlarr|nsube|nsubE|thkap|xhArr|comma|nsucc|boxul|boxuL|nsupe|nsupE|gneqq|gnsim|boxUl|boxUL|grave|boxur|boxuR|boxUr|boxUR|lescc|angle|bepsi|boxvh|varpi|boxvH|numsp|Theta|gsime|gsiml|theta|boxVh|boxVH|boxvl|gtcir|gtdot|boxvL|boxVl|boxVL|crarr|cross|Cross|nvsim|boxvr|nwarr|nwArr|sqsup|dtdot|Uogon|lhard|lharu|dtrif|ocirc|Ocirc|lhblk|duarr|odash|sqsub|Hacek|sqcup|llarr|duhar|oelig|OElig|ofcir|boxvR|uogon|lltri|boxVr|csube|uuarr|ohbar|csupe|ctdot|olarr|olcir|harrw|oline|sqcap|omacr|Omacr|omega|Omega|boxVR|aleph|lneqq|lnsim|loang|loarr|rharu|lobrk|hcirc|operp|oplus|rhard|Hcirc|orarr|Union|order|ecirc|Ecirc|cuepr|szlig|cuesc|breve|reals|eDDot|Breve|hoarr|lopar|utrif|rdquo|Umacr|umacr|efDot|swArr|ultri|alpha|rceil|ovbar|swarr|Wcirc|wcirc|smtes|smile|bsemi|lrarr|aring|parsl|lrhar|bsime|uhblk|lrtri|cupor|Aring|uharr|uharl|slarr|rbrke|bsolb|lsime|rbbrk|RBarr|lsimg|phone|rBarr|rbarr|icirc|lsquo|Icirc|emacr|Emacr|ratio|simne|plusb|simlE|simgE|simeq|pluse|ltcir|ltdot|empty|xharr|xdtri|iexcl|Alpha|ltrie|rarrw|pound|ltrif|xcirc|bumpe|prcue|bumpE|asymp|amacr|cuvee|Sigma|sigma|iiint|udhar|iiota|ijlig|IJlig|supnE|imacr|Imacr|prime|Prime|image|prnap|eogon|Eogon|rarrc|mdash|mDDot|cuwed|imath|supne|imped|Amacr|udarr|prsim|micro|rarrb|cwint|raquo|infin|eplus|range|rangd|Ucirc|radic|minus|amalg|veeeq|rAarr|epsiv|ycirc|quest|sharp|quot|zwnj|Qscr|race|qscr|Qopf|qopf|qint|rang|Rang|Zscr|zscr|Zopf|zopf|rarr|rArr|Rarr|Pscr|pscr|prop|prod|prnE|prec|ZHcy|zhcy|prap|Zeta|zeta|Popf|popf|Zdot|plus|zdot|Yuml|yuml|phiv|YUcy|yucy|Yscr|yscr|perp|Yopf|yopf|part|para|YIcy|Ouml|rcub|yicy|YAcy|rdca|ouml|osol|Oscr|rdsh|yacy|real|oscr|xvee|andd|rect|andv|Xscr|oror|ordm|ordf|xscr|ange|aopf|Aopf|rHar|Xopf|opar|Oopf|xopf|xnis|rhov|oopf|omid|xmap|oint|apid|apos|ogon|ascr|Ascr|odot|odiv|xcup|xcap|ocir|oast|nvlt|nvle|nvgt|nvge|nvap|Wscr|wscr|auml|ntlg|ntgl|nsup|nsub|nsim|Nscr|nscr|nsce|Wopf|ring|npre|wopf|npar|Auml|Barv|bbrk|Nopf|nopf|nmid|nLtv|beta|ropf|Ropf|Beta|beth|nles|rpar|nleq|bnot|bNot|nldr|NJcy|rscr|Rscr|Vscr|vscr|rsqb|njcy|bopf|nisd|Bopf|rtri|Vopf|nGtv|ngtr|vopf|boxh|boxH|boxv|nges|ngeq|boxV|bscr|scap|Bscr|bsim|Vert|vert|bsol|bull|bump|caps|cdot|ncup|scnE|ncap|nbsp|napE|Cdot|cent|sdot|Vbar|nang|vBar|chcy|Mscr|mscr|sect|semi|CHcy|Mopf|mopf|sext|circ|cire|mldr|mlcp|cirE|comp|shcy|SHcy|vArr|varr|cong|copf|Copf|copy|COPY|malt|male|macr|lvnE|cscr|ltri|sime|ltcc|simg|Cscr|siml|csub|Uuml|lsqb|lsim|uuml|csup|Lscr|lscr|utri|smid|lpar|cups|smte|lozf|darr|Lopf|Uscr|solb|lopf|sopf|Sopf|lneq|uscr|spar|dArr|lnap|Darr|dash|Sqrt|LJcy|ljcy|lHar|dHar|Upsi|upsi|diam|lesg|djcy|DJcy|leqq|dopf|Dopf|dscr|Dscr|dscy|ldsh|ldca|squf|DScy|sscr|Sscr|dsol|lcub|late|star|Star|Uopf|Larr|lArr|larr|uopf|dtri|dzcy|sube|subE|Lang|lang|Kscr|kscr|Kopf|kopf|KJcy|kjcy|KHcy|khcy|DZcy|ecir|edot|eDot|Jscr|jscr|succ|Jopf|jopf|Edot|uHar|emsp|ensp|Iuml|iuml|eopf|isin|Iscr|iscr|Eopf|epar|sung|epsi|escr|sup1|sup2|sup3|Iota|iota|supe|supE|Iopf|iopf|IOcy|iocy|Escr|esim|Esim|imof|Uarr|QUOT|uArr|uarr|euml|IEcy|iecy|Idot|Euml|euro|excl|Hscr|hscr|Hopf|hopf|TScy|tscy|Tscr|hbar|tscr|flat|tbrk|fnof|hArr|harr|half|fopf|Fopf|tdot|gvnE|fork|trie|gtcc|fscr|Fscr|gdot|gsim|Gscr|gscr|Gopf|gopf|gneq|Gdot|tosa|gnap|Topf|topf|geqq|toea|GJcy|gjcy|tint|gesl|mid|Sfr|ggg|top|ges|gla|glE|glj|geq|gne|gEl|gel|gnE|Gcy|gcy|gap|Tfr|tfr|Tcy|tcy|Hat|Tau|Ffr|tau|Tab|hfr|Hfr|ffr|Fcy|fcy|icy|Icy|iff|ETH|eth|ifr|Ifr|Eta|eta|int|Int|Sup|sup|ucy|Ucy|Sum|sum|jcy|ENG|ufr|Ufr|eng|Jcy|jfr|els|ell|egs|Efr|efr|Jfr|uml|kcy|Kcy|Ecy|ecy|kfr|Kfr|lap|Sub|sub|lat|lcy|Lcy|leg|Dot|dot|lEg|leq|les|squ|div|die|lfr|Lfr|lgE|Dfr|dfr|Del|deg|Dcy|dcy|lne|lnE|sol|loz|smt|Cup|lrm|cup|lsh|Lsh|sim|shy|map|Map|mcy|Mcy|mfr|Mfr|mho|gfr|Gfr|sfr|cir|Chi|chi|nap|Cfr|vcy|Vcy|cfr|Scy|scy|ncy|Ncy|vee|Vee|Cap|cap|nfr|scE|sce|Nfr|nge|ngE|nGg|vfr|Vfr|ngt|bot|nGt|nis|niv|Rsh|rsh|nle|nlE|bne|Bfr|bfr|nLl|nlt|nLt|Bcy|bcy|not|Not|rlm|wfr|Wfr|npr|nsc|num|ocy|ast|Ocy|ofr|xfr|Xfr|Ofr|ogt|ohm|apE|olt|Rho|ape|rho|Rfr|rfr|ord|REG|ang|reg|orv|And|and|AMP|Rcy|amp|Afr|ycy|Ycy|yen|yfr|Yfr|rcy|par|pcy|Pcy|pfr|Pfr|phi|Phi|afr|Acy|acy|zcy|Zcy|piv|acE|acd|zfr|Zfr|pre|prE|psi|Psi|qfr|Qfr|zwj|Or|ge|Gg|gt|gg|el|oS|lt|Lt|LT|Re|lg|gl|eg|ne|Im|it|le|DD|wp|wr|nu|Nu|dd|lE|Sc|sc|pi|Pi|ee|af|ll|Ll|rx|gE|xi|pm|Xi|ic|pr|Pr|in|ni|mp|mu|ac|Mu|or|ap|Gt|GT|ii);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)(?!;)([=a-zA-Z0-9]?)|&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+)/g;\n\tvar decodeMap = {'aacute':'\\xE1','Aacute':'\\xC1','abreve':'\\u0103','Abreve':'\\u0102','ac':'\\u223E','acd':'\\u223F','acE':'\\u223E\\u0333','acirc':'\\xE2','Acirc':'\\xC2','acute':'\\xB4','acy':'\\u0430','Acy':'\\u0410','aelig':'\\xE6','AElig':'\\xC6','af':'\\u2061','afr':'\\uD835\\uDD1E','Afr':'\\uD835\\uDD04','agrave':'\\xE0','Agrave':'\\xC0','alefsym':'\\u2135','aleph':'\\u2135','alpha':'\\u03B1','Alpha':'\\u0391','amacr':'\\u0101','Amacr':'\\u0100','amalg':'\\u2A3F','amp':'&','AMP':'&','and':'\\u2227','And':'\\u2A53','andand':'\\u2A55','andd':'\\u2A5C','andslope':'\\u2A58','andv':'\\u2A5A','ang':'\\u2220','ange':'\\u29A4','angle':'\\u2220','angmsd':'\\u2221','angmsdaa':'\\u29A8','angmsdab':'\\u29A9','angmsdac':'\\u29AA','angmsdad':'\\u29AB','angmsdae':'\\u29AC','angmsdaf':'\\u29AD','angmsdag':'\\u29AE','angmsdah':'\\u29AF','angrt':'\\u221F','angrtvb':'\\u22BE','angrtvbd':'\\u299D','angsph':'\\u2222','angst':'\\xC5','angzarr':'\\u237C','aogon':'\\u0105','Aogon':'\\u0104','aopf':'\\uD835\\uDD52','Aopf':'\\uD835\\uDD38','ap':'\\u2248','apacir':'\\u2A6F','ape':'\\u224A','apE':'\\u2A70','apid':'\\u224B','apos':'\\'','ApplyFunction':'\\u2061','approx':'\\u2248','approxeq':'\\u224A','aring':'\\xE5','Aring':'\\xC5','ascr':'\\uD835\\uDCB6','Ascr':'\\uD835\\uDC9C','Assign':'\\u2254','ast':'*','asymp':'\\u2248','asympeq':'\\u224D','atilde':'\\xE3','Atilde':'\\xC3','auml':'\\xE4','Auml':'\\xC4','awconint':'\\u2233','awint':'\\u2A11','backcong':'\\u224C','backepsilon':'\\u03F6','backprime':'\\u2035','backsim':'\\u223D','backsimeq':'\\u22CD','Backslash':'\\u2216','Barv':'\\u2AE7','barvee':'\\u22BD','barwed':'\\u2305','Barwed':'\\u2306','barwedge':'\\u2305','bbrk':'\\u23B5','bbrktbrk':'\\u23B6','bcong':'\\u224C','bcy':'\\u0431','Bcy':'\\u0411','bdquo':'\\u201E','becaus':'\\u2235','because':'\\u2235','Because':'\\u2235','bemptyv':'\\u29B0','bepsi':'\\u03F6','bernou':'\\u212C','Bernoullis':'\\u212C','beta':'\\u03B2','Beta':'\\u0392','beth':'\\u2136','between':'\\u226C','bfr':'\\uD835\\uDD1F','Bfr':'\\uD835\\uDD05','bigcap':'\\u22C2','bigcirc':'\\u25EF','bigcup':'\\u22C3','bigodot':'\\u2A00','bigoplus':'\\u2A01','bigotimes':'\\u2A02','bigsqcup':'\\u2A06','bigstar':'\\u2605','bigtriangledown':'\\u25BD','bigtriangleup':'\\u25B3','biguplus':'\\u2A04','bigvee':'\\u22C1','bigwedge':'\\u22C0','bkarow':'\\u290D','blacklozenge':'\\u29EB','blacksquare':'\\u25AA','blacktriangle':'\\u25B4','blacktriangledown':'\\u25BE','blacktriangleleft':'\\u25C2','blacktriangleright':'\\u25B8','blank':'\\u2423','blk12':'\\u2592','blk14':'\\u2591','blk34':'\\u2593','block':'\\u2588','bne':'=\\u20E5','bnequiv':'\\u2261\\u20E5','bnot':'\\u2310','bNot':'\\u2AED','bopf':'\\uD835\\uDD53','Bopf':'\\uD835\\uDD39','bot':'\\u22A5','bottom':'\\u22A5','bowtie':'\\u22C8','boxbox':'\\u29C9','boxdl':'\\u2510','boxdL':'\\u2555','boxDl':'\\u2556','boxDL':'\\u2557','boxdr':'\\u250C','boxdR':'\\u2552','boxDr':'\\u2553','boxDR':'\\u2554','boxh':'\\u2500','boxH':'\\u2550','boxhd':'\\u252C','boxhD':'\\u2565','boxHd':'\\u2564','boxHD':'\\u2566','boxhu':'\\u2534','boxhU':'\\u2568','boxHu':'\\u2567','boxHU':'\\u2569','boxminus':'\\u229F','boxplus':'\\u229E','boxtimes':'\\u22A0','boxul':'\\u2518','boxuL':'\\u255B','boxUl':'\\u255C','boxUL':'\\u255D','boxur':'\\u2514','boxuR':'\\u2558','boxUr':'\\u2559','boxUR':'\\u255A','boxv':'\\u2502','boxV':'\\u2551','boxvh':'\\u253C','boxvH':'\\u256A','boxVh':'\\u256B','boxVH':'\\u256C','boxvl':'\\u2524','boxvL':'\\u2561','boxVl':'\\u2562','boxVL':'\\u2563','boxvr':'\\u251C','boxvR':'\\u255E','boxVr':'\\u255F','boxVR':'\\u2560','bprime':'\\u2035','breve':'\\u02D8','Breve':'\\u02D8','brvbar':'\\xA6','bscr':'\\uD835\\uDCB7','Bscr':'\\u212C','bsemi':'\\u204F','bsim':'\\u223D','bsime':'\\u22CD','bsol':'\\\\','bsolb':'\\u29C5','bsolhsub':'\\u27C8','bull':'\\u2022','bullet':'\\u2022','bump':'\\u224E','bumpe':'\\u224F','bumpE':'\\u2AAE','bumpeq':'\\u224F','Bumpeq':'\\u224E','cacute':'\\u0107','Cacute':'\\u0106','cap':'\\u2229','Cap':'\\u22D2','capand':'\\u2A44','capbrcup':'\\u2A49','capcap':'\\u2A4B','capcup':'\\u2A47','capdot':'\\u2A40','CapitalDifferentialD':'\\u2145','caps':'\\u2229\\uFE00','caret':'\\u2041','caron':'\\u02C7','Cayleys':'\\u212D','ccaps':'\\u2A4D','ccaron':'\\u010D','Ccaron':'\\u010C','ccedil':'\\xE7','Ccedil':'\\xC7','ccirc':'\\u0109','Ccirc':'\\u0108','Cconint':'\\u2230','ccups':'\\u2A4C','ccupssm':'\\u2A50','cdot':'\\u010B','Cdot':'\\u010A','cedil':'\\xB8','Cedilla':'\\xB8','cemptyv':'\\u29B2','cent':'\\xA2','centerdot':'\\xB7','CenterDot':'\\xB7','cfr':'\\uD835\\uDD20','Cfr':'\\u212D','chcy':'\\u0447','CHcy':'\\u0427','check':'\\u2713','checkmark':'\\u2713','chi':'\\u03C7','Chi':'\\u03A7','cir':'\\u25CB','circ':'\\u02C6','circeq':'\\u2257','circlearrowleft':'\\u21BA','circlearrowright':'\\u21BB','circledast':'\\u229B','circledcirc':'\\u229A','circleddash':'\\u229D','CircleDot':'\\u2299','circledR':'\\xAE','circledS':'\\u24C8','CircleMinus':'\\u2296','CirclePlus':'\\u2295','CircleTimes':'\\u2297','cire':'\\u2257','cirE':'\\u29C3','cirfnint':'\\u2A10','cirmid':'\\u2AEF','cirscir':'\\u29C2','ClockwiseContourIntegral':'\\u2232','CloseCurlyDoubleQuote':'\\u201D','CloseCurlyQuote':'\\u2019','clubs':'\\u2663','clubsuit':'\\u2663','colon':':','Colon':'\\u2237','colone':'\\u2254','Colone':'\\u2A74','coloneq':'\\u2254','comma':',','commat':'@','comp':'\\u2201','compfn':'\\u2218','complement':'\\u2201','complexes':'\\u2102','cong':'\\u2245','congdot':'\\u2A6D','Congruent':'\\u2261','conint':'\\u222E','Conint':'\\u222F','ContourIntegral':'\\u222E','copf':'\\uD835\\uDD54','Copf':'\\u2102','coprod':'\\u2210','Coproduct':'\\u2210','copy':'\\xA9','COPY':'\\xA9','copysr':'\\u2117','CounterClockwiseContourIntegral':'\\u2233','crarr':'\\u21B5','cross':'\\u2717','Cross':'\\u2A2F','cscr':'\\uD835\\uDCB8','Cscr':'\\uD835\\uDC9E','csub':'\\u2ACF','csube':'\\u2AD1','csup':'\\u2AD0','csupe':'\\u2AD2','ctdot':'\\u22EF','cudarrl':'\\u2938','cudarrr':'\\u2935','cuepr':'\\u22DE','cuesc':'\\u22DF','cularr':'\\u21B6','cularrp':'\\u293D','cup':'\\u222A','Cup':'\\u22D3','cupbrcap':'\\u2A48','cupcap':'\\u2A46','CupCap':'\\u224D','cupcup':'\\u2A4A','cupdot':'\\u228D','cupor':'\\u2A45','cups':'\\u222A\\uFE00','curarr':'\\u21B7','curarrm':'\\u293C','curlyeqprec':'\\u22DE','curlyeqsucc':'\\u22DF','curlyvee':'\\u22CE','curlywedge':'\\u22CF','curren':'\\xA4','curvearrowleft':'\\u21B6','curvearrowright':'\\u21B7','cuvee':'\\u22CE','cuwed':'\\u22CF','cwconint':'\\u2232','cwint':'\\u2231','cylcty':'\\u232D','dagger':'\\u2020','Dagger':'\\u2021','daleth':'\\u2138','darr':'\\u2193','dArr':'\\u21D3','Darr':'\\u21A1','dash':'\\u2010','dashv':'\\u22A3','Dashv':'\\u2AE4','dbkarow':'\\u290F','dblac':'\\u02DD','dcaron':'\\u010F','Dcaron':'\\u010E','dcy':'\\u0434','Dcy':'\\u0414','dd':'\\u2146','DD':'\\u2145','ddagger':'\\u2021','ddarr':'\\u21CA','DDotrahd':'\\u2911','ddotseq':'\\u2A77','deg':'\\xB0','Del':'\\u2207','delta':'\\u03B4','Delta':'\\u0394','demptyv':'\\u29B1','dfisht':'\\u297F','dfr':'\\uD835\\uDD21','Dfr':'\\uD835\\uDD07','dHar':'\\u2965','dharl':'\\u21C3','dharr':'\\u21C2','DiacriticalAcute':'\\xB4','DiacriticalDot':'\\u02D9','DiacriticalDoubleAcute':'\\u02DD','DiacriticalGrave':'`','DiacriticalTilde':'\\u02DC','diam':'\\u22C4','diamond':'\\u22C4','Diamond':'\\u22C4','diamondsuit':'\\u2666','diams':'\\u2666','die':'\\xA8','DifferentialD':'\\u2146','digamma':'\\u03DD','disin':'\\u22F2','div':'\\xF7','divide':'\\xF7','divideontimes':'\\u22C7','divonx':'\\u22C7','djcy':'\\u0452','DJcy':'\\u0402','dlcorn':'\\u231E','dlcrop':'\\u230D','dollar':'$','dopf':'\\uD835\\uDD55','Dopf':'\\uD835\\uDD3B','dot':'\\u02D9','Dot':'\\xA8','DotDot':'\\u20DC','doteq':'\\u2250','doteqdot':'\\u2251','DotEqual':'\\u2250','dotminus':'\\u2238','dotplus':'\\u2214','dotsquare':'\\u22A1','doublebarwedge':'\\u2306','DoubleContourIntegral':'\\u222F','DoubleDot':'\\xA8','DoubleDownArrow':'\\u21D3','DoubleLeftArrow':'\\u21D0','DoubleLeftRightArrow':'\\u21D4','DoubleLeftTee':'\\u2AE4','DoubleLongLeftArrow':'\\u27F8','DoubleLongLeftRightArrow':'\\u27FA','DoubleLongRightArrow':'\\u27F9','DoubleRightArrow':'\\u21D2','DoubleRightTee':'\\u22A8','DoubleUpArrow':'\\u21D1','DoubleUpDownArrow':'\\u21D5','DoubleVerticalBar':'\\u2225','downarrow':'\\u2193','Downarrow':'\\u21D3','DownArrow':'\\u2193','DownArrowBar':'\\u2913','DownArrowUpArrow':'\\u21F5','DownBreve':'\\u0311','downdownarrows':'\\u21CA','downharpoonleft':'\\u21C3','downharpoonright':'\\u21C2','DownLeftRightVector':'\\u2950','DownLeftTeeVector':'\\u295E','DownLeftVector':'\\u21BD','DownLeftVectorBar':'\\u2956','DownRightTeeVector':'\\u295F','DownRightVector':'\\u21C1','DownRightVectorBar':'\\u2957','DownTee':'\\u22A4','DownTeeArrow':'\\u21A7','drbkarow':'\\u2910','drcorn':'\\u231F','drcrop':'\\u230C','dscr':'\\uD835\\uDCB9','Dscr':'\\uD835\\uDC9F','dscy':'\\u0455','DScy':'\\u0405','dsol':'\\u29F6','dstrok':'\\u0111','Dstrok':'\\u0110','dtdot':'\\u22F1','dtri':'\\u25BF','dtrif':'\\u25BE','duarr':'\\u21F5','duhar':'\\u296F','dwangle':'\\u29A6','dzcy':'\\u045F','DZcy':'\\u040F','dzigrarr':'\\u27FF','eacute':'\\xE9','Eacute':'\\xC9','easter':'\\u2A6E','ecaron':'\\u011B','Ecaron':'\\u011A','ecir':'\\u2256','ecirc':'\\xEA','Ecirc':'\\xCA','ecolon':'\\u2255','ecy':'\\u044D','Ecy':'\\u042D','eDDot':'\\u2A77','edot':'\\u0117','eDot':'\\u2251','Edot':'\\u0116','ee':'\\u2147','efDot':'\\u2252','efr':'\\uD835\\uDD22','Efr':'\\uD835\\uDD08','eg':'\\u2A9A','egrave':'\\xE8','Egrave':'\\xC8','egs':'\\u2A96','egsdot':'\\u2A98','el':'\\u2A99','Element':'\\u2208','elinters':'\\u23E7','ell':'\\u2113','els':'\\u2A95','elsdot':'\\u2A97','emacr':'\\u0113','Emacr':'\\u0112','empty':'\\u2205','emptyset':'\\u2205','EmptySmallSquare':'\\u25FB','emptyv':'\\u2205','EmptyVerySmallSquare':'\\u25AB','emsp':'\\u2003','emsp13':'\\u2004','emsp14':'\\u2005','eng':'\\u014B','ENG':'\\u014A','ensp':'\\u2002','eogon':'\\u0119','Eogon':'\\u0118','eopf':'\\uD835\\uDD56','Eopf':'\\uD835\\uDD3C','epar':'\\u22D5','eparsl':'\\u29E3','eplus':'\\u2A71','epsi':'\\u03B5','epsilon':'\\u03B5','Epsilon':'\\u0395','epsiv':'\\u03F5','eqcirc':'\\u2256','eqcolon':'\\u2255','eqsim':'\\u2242','eqslantgtr':'\\u2A96','eqslantless':'\\u2A95','Equal':'\\u2A75','equals':'=','EqualTilde':'\\u2242','equest':'\\u225F','Equilibrium':'\\u21CC','equiv':'\\u2261','equivDD':'\\u2A78','eqvparsl':'\\u29E5','erarr':'\\u2971','erDot':'\\u2253','escr':'\\u212F','Escr':'\\u2130','esdot':'\\u2250','esim':'\\u2242','Esim':'\\u2A73','eta':'\\u03B7','Eta':'\\u0397','eth':'\\xF0','ETH':'\\xD0','euml':'\\xEB','Euml':'\\xCB','euro':'\\u20AC','excl':'!','exist':'\\u2203','Exists':'\\u2203','expectation':'\\u2130','exponentiale':'\\u2147','ExponentialE':'\\u2147','fallingdotseq':'\\u2252','fcy':'\\u0444','Fcy':'\\u0424','female':'\\u2640','ffilig':'\\uFB03','fflig':'\\uFB00','ffllig':'\\uFB04','ffr':'\\uD835\\uDD23','Ffr':'\\uD835\\uDD09','filig':'\\uFB01','FilledSmallSquare':'\\u25FC','FilledVerySmallSquare':'\\u25AA','fjlig':'fj','flat':'\\u266D','fllig':'\\uFB02','fltns':'\\u25B1','fnof':'\\u0192','fopf':'\\uD835\\uDD57','Fopf':'\\uD835\\uDD3D','forall':'\\u2200','ForAll':'\\u2200','fork':'\\u22D4','forkv':'\\u2AD9','Fouriertrf':'\\u2131','fpartint':'\\u2A0D','frac12':'\\xBD','frac13':'\\u2153','frac14':'\\xBC','frac15':'\\u2155','frac16':'\\u2159','frac18':'\\u215B','frac23':'\\u2154','frac25':'\\u2156','frac34':'\\xBE','frac35':'\\u2157','frac38':'\\u215C','frac45':'\\u2158','frac56':'\\u215A','frac58':'\\u215D','frac78':'\\u215E','frasl':'\\u2044','frown':'\\u2322','fscr':'\\uD835\\uDCBB','Fscr':'\\u2131','gacute':'\\u01F5','gamma':'\\u03B3','Gamma':'\\u0393','gammad':'\\u03DD','Gammad':'\\u03DC','gap':'\\u2A86','gbreve':'\\u011F','Gbreve':'\\u011E','Gcedil':'\\u0122','gcirc':'\\u011D','Gcirc':'\\u011C','gcy':'\\u0433','Gcy':'\\u0413','gdot':'\\u0121','Gdot':'\\u0120','ge':'\\u2265','gE':'\\u2267','gel':'\\u22DB','gEl':'\\u2A8C','geq':'\\u2265','geqq':'\\u2267','geqslant':'\\u2A7E','ges':'\\u2A7E','gescc':'\\u2AA9','gesdot':'\\u2A80','gesdoto':'\\u2A82','gesdotol':'\\u2A84','gesl':'\\u22DB\\uFE00','gesles':'\\u2A94','gfr':'\\uD835\\uDD24','Gfr':'\\uD835\\uDD0A','gg':'\\u226B','Gg':'\\u22D9','ggg':'\\u22D9','gimel':'\\u2137','gjcy':'\\u0453','GJcy':'\\u0403','gl':'\\u2277','gla':'\\u2AA5','glE':'\\u2A92','glj':'\\u2AA4','gnap':'\\u2A8A','gnapprox':'\\u2A8A','gne':'\\u2A88','gnE':'\\u2269','gneq':'\\u2A88','gneqq':'\\u2269','gnsim':'\\u22E7','gopf':'\\uD835\\uDD58','Gopf':'\\uD835\\uDD3E','grave':'`','GreaterEqual':'\\u2265','GreaterEqualLess':'\\u22DB','GreaterFullEqual':'\\u2267','GreaterGreater':'\\u2AA2','GreaterLess':'\\u2277','GreaterSlantEqual':'\\u2A7E','GreaterTilde':'\\u2273','gscr':'\\u210A','Gscr':'\\uD835\\uDCA2','gsim':'\\u2273','gsime':'\\u2A8E','gsiml':'\\u2A90','gt':'>','Gt':'\\u226B','GT':'>','gtcc':'\\u2AA7','gtcir':'\\u2A7A','gtdot':'\\u22D7','gtlPar':'\\u2995','gtquest':'\\u2A7C','gtrapprox':'\\u2A86','gtrarr':'\\u2978','gtrdot':'\\u22D7','gtreqless':'\\u22DB','gtreqqless':'\\u2A8C','gtrless':'\\u2277','gtrsim':'\\u2273','gvertneqq':'\\u2269\\uFE00','gvnE':'\\u2269\\uFE00','Hacek':'\\u02C7','hairsp':'\\u200A','half':'\\xBD','hamilt':'\\u210B','hardcy':'\\u044A','HARDcy':'\\u042A','harr':'\\u2194','hArr':'\\u21D4','harrcir':'\\u2948','harrw':'\\u21AD','Hat':'^','hbar':'\\u210F','hcirc':'\\u0125','Hcirc':'\\u0124','hearts':'\\u2665','heartsuit':'\\u2665','hellip':'\\u2026','hercon':'\\u22B9','hfr':'\\uD835\\uDD25','Hfr':'\\u210C','HilbertSpace':'\\u210B','hksearow':'\\u2925','hkswarow':'\\u2926','hoarr':'\\u21FF','homtht':'\\u223B','hookleftarrow':'\\u21A9','hookrightarrow':'\\u21AA','hopf':'\\uD835\\uDD59','Hopf':'\\u210D','horbar':'\\u2015','HorizontalLine':'\\u2500','hscr':'\\uD835\\uDCBD','Hscr':'\\u210B','hslash':'\\u210F','hstrok':'\\u0127','Hstrok':'\\u0126','HumpDownHump':'\\u224E','HumpEqual':'\\u224F','hybull':'\\u2043','hyphen':'\\u2010','iacute':'\\xED','Iacute':'\\xCD','ic':'\\u2063','icirc':'\\xEE','Icirc':'\\xCE','icy':'\\u0438','Icy':'\\u0418','Idot':'\\u0130','iecy':'\\u0435','IEcy':'\\u0415','iexcl':'\\xA1','iff':'\\u21D4','ifr':'\\uD835\\uDD26','Ifr':'\\u2111','igrave':'\\xEC','Igrave':'\\xCC','ii':'\\u2148','iiiint':'\\u2A0C','iiint':'\\u222D','iinfin':'\\u29DC','iiota':'\\u2129','ijlig':'\\u0133','IJlig':'\\u0132','Im':'\\u2111','imacr':'\\u012B','Imacr':'\\u012A','image':'\\u2111','ImaginaryI':'\\u2148','imagline':'\\u2110','imagpart':'\\u2111','imath':'\\u0131','imof':'\\u22B7','imped':'\\u01B5','Implies':'\\u21D2','in':'\\u2208','incare':'\\u2105','infin':'\\u221E','infintie':'\\u29DD','inodot':'\\u0131','int':'\\u222B','Int':'\\u222C','intcal':'\\u22BA','integers':'\\u2124','Integral':'\\u222B','intercal':'\\u22BA','Intersection':'\\u22C2','intlarhk':'\\u2A17','intprod':'\\u2A3C','InvisibleComma':'\\u2063','InvisibleTimes':'\\u2062','iocy':'\\u0451','IOcy':'\\u0401','iogon':'\\u012F','Iogon':'\\u012E','iopf':'\\uD835\\uDD5A','Iopf':'\\uD835\\uDD40','iota':'\\u03B9','Iota':'\\u0399','iprod':'\\u2A3C','iquest':'\\xBF','iscr':'\\uD835\\uDCBE','Iscr':'\\u2110','isin':'\\u2208','isindot':'\\u22F5','isinE':'\\u22F9','isins':'\\u22F4','isinsv':'\\u22F3','isinv':'\\u2208','it':'\\u2062','itilde':'\\u0129','Itilde':'\\u0128','iukcy':'\\u0456','Iukcy':'\\u0406','iuml':'\\xEF','Iuml':'\\xCF','jcirc':'\\u0135','Jcirc':'\\u0134','jcy':'\\u0439','Jcy':'\\u0419','jfr':'\\uD835\\uDD27','Jfr':'\\uD835\\uDD0D','jmath':'\\u0237','jopf':'\\uD835\\uDD5B','Jopf':'\\uD835\\uDD41','jscr':'\\uD835\\uDCBF','Jscr':'\\uD835\\uDCA5','jsercy':'\\u0458','Jsercy':'\\u0408','jukcy':'\\u0454','Jukcy':'\\u0404','kappa':'\\u03BA','Kappa':'\\u039A','kappav':'\\u03F0','kcedil':'\\u0137','Kcedil':'\\u0136','kcy':'\\u043A','Kcy':'\\u041A','kfr':'\\uD835\\uDD28','Kfr':'\\uD835\\uDD0E','kgreen':'\\u0138','khcy':'\\u0445','KHcy':'\\u0425','kjcy':'\\u045C','KJcy':'\\u040C','kopf':'\\uD835\\uDD5C','Kopf':'\\uD835\\uDD42','kscr':'\\uD835\\uDCC0','Kscr':'\\uD835\\uDCA6','lAarr':'\\u21DA','lacute':'\\u013A','Lacute':'\\u0139','laemptyv':'\\u29B4','lagran':'\\u2112','lambda':'\\u03BB','Lambda':'\\u039B','lang':'\\u27E8','Lang':'\\u27EA','langd':'\\u2991','langle':'\\u27E8','lap':'\\u2A85','Laplacetrf':'\\u2112','laquo':'\\xAB','larr':'\\u2190','lArr':'\\u21D0','Larr':'\\u219E','larrb':'\\u21E4','larrbfs':'\\u291F','larrfs':'\\u291D','larrhk':'\\u21A9','larrlp':'\\u21AB','larrpl':'\\u2939','larrsim':'\\u2973','larrtl':'\\u21A2','lat':'\\u2AAB','latail':'\\u2919','lAtail':'\\u291B','late':'\\u2AAD','lates':'\\u2AAD\\uFE00','lbarr':'\\u290C','lBarr':'\\u290E','lbbrk':'\\u2772','lbrace':'{','lbrack':'[','lbrke':'\\u298B','lbrksld':'\\u298F','lbrkslu':'\\u298D','lcaron':'\\u013E','Lcaron':'\\u013D','lcedil':'\\u013C','Lcedil':'\\u013B','lceil':'\\u2308','lcub':'{','lcy':'\\u043B','Lcy':'\\u041B','ldca':'\\u2936','ldquo':'\\u201C','ldquor':'\\u201E','ldrdhar':'\\u2967','ldrushar':'\\u294B','ldsh':'\\u21B2','le':'\\u2264','lE':'\\u2266','LeftAngleBracket':'\\u27E8','leftarrow':'\\u2190','Leftarrow':'\\u21D0','LeftArrow':'\\u2190','LeftArrowBar':'\\u21E4','LeftArrowRightArrow':'\\u21C6','leftarrowtail':'\\u21A2','LeftCeiling':'\\u2308','LeftDoubleBracket':'\\u27E6','LeftDownTeeVector':'\\u2961','LeftDownVector':'\\u21C3','LeftDownVectorBar':'\\u2959','LeftFloor':'\\u230A','leftharpoondown':'\\u21BD','leftharpoonup':'\\u21BC','leftleftarrows':'\\u21C7','leftrightarrow':'\\u2194','Leftrightarrow':'\\u21D4','LeftRightArrow':'\\u2194','leftrightarrows':'\\u21C6','leftrightharpoons':'\\u21CB','leftrightsquigarrow':'\\u21AD','LeftRightVector':'\\u294E','LeftTee':'\\u22A3','LeftTeeArrow':'\\u21A4','LeftTeeVector':'\\u295A','leftthreetimes':'\\u22CB','LeftTriangle':'\\u22B2','LeftTriangleBar':'\\u29CF','LeftTriangleEqual':'\\u22B4','LeftUpDownVector':'\\u2951','LeftUpTeeVector':'\\u2960','LeftUpVector':'\\u21BF','LeftUpVectorBar':'\\u2958','LeftVector':'\\u21BC','LeftVectorBar':'\\u2952','leg':'\\u22DA','lEg':'\\u2A8B','leq':'\\u2264','leqq':'\\u2266','leqslant':'\\u2A7D','les':'\\u2A7D','lescc':'\\u2AA8','lesdot':'\\u2A7F','lesdoto':'\\u2A81','lesdotor':'\\u2A83','lesg':'\\u22DA\\uFE00','lesges':'\\u2A93','lessapprox':'\\u2A85','lessdot':'\\u22D6','lesseqgtr':'\\u22DA','lesseqqgtr':'\\u2A8B','LessEqualGreater':'\\u22DA','LessFullEqual':'\\u2266','LessGreater':'\\u2276','lessgtr':'\\u2276','LessLess':'\\u2AA1','lesssim':'\\u2272','LessSlantEqual':'\\u2A7D','LessTilde':'\\u2272','lfisht':'\\u297C','lfloor':'\\u230A','lfr':'\\uD835\\uDD29','Lfr':'\\uD835\\uDD0F','lg':'\\u2276','lgE':'\\u2A91','lHar':'\\u2962','lhard':'\\u21BD','lharu':'\\u21BC','lharul':'\\u296A','lhblk':'\\u2584','ljcy':'\\u0459','LJcy':'\\u0409','ll':'\\u226A','Ll':'\\u22D8','llarr':'\\u21C7','llcorner':'\\u231E','Lleftarrow':'\\u21DA','llhard':'\\u296B','lltri':'\\u25FA','lmidot':'\\u0140','Lmidot':'\\u013F','lmoust':'\\u23B0','lmoustache':'\\u23B0','lnap':'\\u2A89','lnapprox':'\\u2A89','lne':'\\u2A87','lnE':'\\u2268','lneq':'\\u2A87','lneqq':'\\u2268','lnsim':'\\u22E6','loang':'\\u27EC','loarr':'\\u21FD','lobrk':'\\u27E6','longleftarrow':'\\u27F5','Longleftarrow':'\\u27F8','LongLeftArrow':'\\u27F5','longleftrightarrow':'\\u27F7','Longleftrightarrow':'\\u27FA','LongLeftRightArrow':'\\u27F7','longmapsto':'\\u27FC','longrightarrow':'\\u27F6','Longrightarrow':'\\u27F9','LongRightArrow':'\\u27F6','looparrowleft':'\\u21AB','looparrowright':'\\u21AC','lopar':'\\u2985','lopf':'\\uD835\\uDD5D','Lopf':'\\uD835\\uDD43','loplus':'\\u2A2D','lotimes':'\\u2A34','lowast':'\\u2217','lowbar':'_','LowerLeftArrow':'\\u2199','LowerRightArrow':'\\u2198','loz':'\\u25CA','lozenge':'\\u25CA','lozf':'\\u29EB','lpar':'(','lparlt':'\\u2993','lrarr':'\\u21C6','lrcorner':'\\u231F','lrhar':'\\u21CB','lrhard':'\\u296D','lrm':'\\u200E','lrtri':'\\u22BF','lsaquo':'\\u2039','lscr':'\\uD835\\uDCC1','Lscr':'\\u2112','lsh':'\\u21B0','Lsh':'\\u21B0','lsim':'\\u2272','lsime':'\\u2A8D','lsimg':'\\u2A8F','lsqb':'[','lsquo':'\\u2018','lsquor':'\\u201A','lstrok':'\\u0142','Lstrok':'\\u0141','lt':'<','Lt':'\\u226A','LT':'<','ltcc':'\\u2AA6','ltcir':'\\u2A79','ltdot':'\\u22D6','lthree':'\\u22CB','ltimes':'\\u22C9','ltlarr':'\\u2976','ltquest':'\\u2A7B','ltri':'\\u25C3','ltrie':'\\u22B4','ltrif':'\\u25C2','ltrPar':'\\u2996','lurdshar':'\\u294A','luruhar':'\\u2966','lvertneqq':'\\u2268\\uFE00','lvnE':'\\u2268\\uFE00','macr':'\\xAF','male':'\\u2642','malt':'\\u2720','maltese':'\\u2720','map':'\\u21A6','Map':'\\u2905','mapsto':'\\u21A6','mapstodown':'\\u21A7','mapstoleft':'\\u21A4','mapstoup':'\\u21A5','marker':'\\u25AE','mcomma':'\\u2A29','mcy':'\\u043C','Mcy':'\\u041C','mdash':'\\u2014','mDDot':'\\u223A','measuredangle':'\\u2221','MediumSpace':'\\u205F','Mellintrf':'\\u2133','mfr':'\\uD835\\uDD2A','Mfr':'\\uD835\\uDD10','mho':'\\u2127','micro':'\\xB5','mid':'\\u2223','midast':'*','midcir':'\\u2AF0','middot':'\\xB7','minus':'\\u2212','minusb':'\\u229F','minusd':'\\u2238','minusdu':'\\u2A2A','MinusPlus':'\\u2213','mlcp':'\\u2ADB','mldr':'\\u2026','mnplus':'\\u2213','models':'\\u22A7','mopf':'\\uD835\\uDD5E','Mopf':'\\uD835\\uDD44','mp':'\\u2213','mscr':'\\uD835\\uDCC2','Mscr':'\\u2133','mstpos':'\\u223E','mu':'\\u03BC','Mu':'\\u039C','multimap':'\\u22B8','mumap':'\\u22B8','nabla':'\\u2207','nacute':'\\u0144','Nacute':'\\u0143','nang':'\\u2220\\u20D2','nap':'\\u2249','napE':'\\u2A70\\u0338','napid':'\\u224B\\u0338','napos':'\\u0149','napprox':'\\u2249','natur':'\\u266E','natural':'\\u266E','naturals':'\\u2115','nbsp':'\\xA0','nbump':'\\u224E\\u0338','nbumpe':'\\u224F\\u0338','ncap':'\\u2A43','ncaron':'\\u0148','Ncaron':'\\u0147','ncedil':'\\u0146','Ncedil':'\\u0145','ncong':'\\u2247','ncongdot':'\\u2A6D\\u0338','ncup':'\\u2A42','ncy':'\\u043D','Ncy':'\\u041D','ndash':'\\u2013','ne':'\\u2260','nearhk':'\\u2924','nearr':'\\u2197','neArr':'\\u21D7','nearrow':'\\u2197','nedot':'\\u2250\\u0338','NegativeMediumSpace':'\\u200B','NegativeThickSpace':'\\u200B','NegativeThinSpace':'\\u200B','NegativeVeryThinSpace':'\\u200B','nequiv':'\\u2262','nesear':'\\u2928','nesim':'\\u2242\\u0338','NestedGreaterGreater':'\\u226B','NestedLessLess':'\\u226A','NewLine':'\\n','nexist':'\\u2204','nexists':'\\u2204','nfr':'\\uD835\\uDD2B','Nfr':'\\uD835\\uDD11','nge':'\\u2271','ngE':'\\u2267\\u0338','ngeq':'\\u2271','ngeqq':'\\u2267\\u0338','ngeqslant':'\\u2A7E\\u0338','nges':'\\u2A7E\\u0338','nGg':'\\u22D9\\u0338','ngsim':'\\u2275','ngt':'\\u226F','nGt':'\\u226B\\u20D2','ngtr':'\\u226F','nGtv':'\\u226B\\u0338','nharr':'\\u21AE','nhArr':'\\u21CE','nhpar':'\\u2AF2','ni':'\\u220B','nis':'\\u22FC','nisd':'\\u22FA','niv':'\\u220B','njcy':'\\u045A','NJcy':'\\u040A','nlarr':'\\u219A','nlArr':'\\u21CD','nldr':'\\u2025','nle':'\\u2270','nlE':'\\u2266\\u0338','nleftarrow':'\\u219A','nLeftarrow':'\\u21CD','nleftrightarrow':'\\u21AE','nLeftrightarrow':'\\u21CE','nleq':'\\u2270','nleqq':'\\u2266\\u0338','nleqslant':'\\u2A7D\\u0338','nles':'\\u2A7D\\u0338','nless':'\\u226E','nLl':'\\u22D8\\u0338','nlsim':'\\u2274','nlt':'\\u226E','nLt':'\\u226A\\u20D2','nltri':'\\u22EA','nltrie':'\\u22EC','nLtv':'\\u226A\\u0338','nmid':'\\u2224','NoBreak':'\\u2060','NonBreakingSpace':'\\xA0','nopf':'\\uD835\\uDD5F','Nopf':'\\u2115','not':'\\xAC','Not':'\\u2AEC','NotCongruent':'\\u2262','NotCupCap':'\\u226D','NotDoubleVerticalBar':'\\u2226','NotElement':'\\u2209','NotEqual':'\\u2260','NotEqualTilde':'\\u2242\\u0338','NotExists':'\\u2204','NotGreater':'\\u226F','NotGreaterEqual':'\\u2271','NotGreaterFullEqual':'\\u2267\\u0338','NotGreaterGreater':'\\u226B\\u0338','NotGreaterLess':'\\u2279','NotGreaterSlantEqual':'\\u2A7E\\u0338','NotGreaterTilde':'\\u2275','NotHumpDownHump':'\\u224E\\u0338','NotHumpEqual':'\\u224F\\u0338','notin':'\\u2209','notindot':'\\u22F5\\u0338','notinE':'\\u22F9\\u0338','notinva':'\\u2209','notinvb':'\\u22F7','notinvc':'\\u22F6','NotLeftTriangle':'\\u22EA','NotLeftTriangleBar':'\\u29CF\\u0338','NotLeftTriangleEqual':'\\u22EC','NotLess':'\\u226E','NotLessEqual':'\\u2270','NotLessGreater':'\\u2278','NotLessLess':'\\u226A\\u0338','NotLessSlantEqual':'\\u2A7D\\u0338','NotLessTilde':'\\u2274','NotNestedGreaterGreater':'\\u2AA2\\u0338','NotNestedLessLess':'\\u2AA1\\u0338','notni':'\\u220C','notniva':'\\u220C','notnivb':'\\u22FE','notnivc':'\\u22FD','NotPrecedes':'\\u2280','NotPrecedesEqual':'\\u2AAF\\u0338','NotPrecedesSlantEqual':'\\u22E0','NotReverseElement':'\\u220C','NotRightTriangle':'\\u22EB','NotRightTriangleBar':'\\u29D0\\u0338','NotRightTriangleEqual':'\\u22ED','NotSquareSubset':'\\u228F\\u0338','NotSquareSubsetEqual':'\\u22E2','NotSquareSuperset':'\\u2290\\u0338','NotSquareSupersetEqual':'\\u22E3','NotSubset':'\\u2282\\u20D2','NotSubsetEqual':'\\u2288','NotSucceeds':'\\u2281','NotSucceedsEqual':'\\u2AB0\\u0338','NotSucceedsSlantEqual':'\\u22E1','NotSucceedsTilde':'\\u227F\\u0338','NotSuperset':'\\u2283\\u20D2','NotSupersetEqual':'\\u2289','NotTilde':'\\u2241','NotTildeEqual':'\\u2244','NotTildeFullEqual':'\\u2247','NotTildeTilde':'\\u2249','NotVerticalBar':'\\u2224','npar':'\\u2226','nparallel':'\\u2226','nparsl':'\\u2AFD\\u20E5','npart':'\\u2202\\u0338','npolint':'\\u2A14','npr':'\\u2280','nprcue':'\\u22E0','npre':'\\u2AAF\\u0338','nprec':'\\u2280','npreceq':'\\u2AAF\\u0338','nrarr':'\\u219B','nrArr':'\\u21CF','nrarrc':'\\u2933\\u0338','nrarrw':'\\u219D\\u0338','nrightarrow':'\\u219B','nRightarrow':'\\u21CF','nrtri':'\\u22EB','nrtrie':'\\u22ED','nsc':'\\u2281','nsccue':'\\u22E1','nsce':'\\u2AB0\\u0338','nscr':'\\uD835\\uDCC3','Nscr':'\\uD835\\uDCA9','nshortmid':'\\u2224','nshortparallel':'\\u2226','nsim':'\\u2241','nsime':'\\u2244','nsimeq':'\\u2244','nsmid':'\\u2224','nspar':'\\u2226','nsqsube':'\\u22E2','nsqsupe':'\\u22E3','nsub':'\\u2284','nsube':'\\u2288','nsubE':'\\u2AC5\\u0338','nsubset':'\\u2282\\u20D2','nsubseteq':'\\u2288','nsubseteqq':'\\u2AC5\\u0338','nsucc':'\\u2281','nsucceq':'\\u2AB0\\u0338','nsup':'\\u2285','nsupe':'\\u2289','nsupE':'\\u2AC6\\u0338','nsupset':'\\u2283\\u20D2','nsupseteq':'\\u2289','nsupseteqq':'\\u2AC6\\u0338','ntgl':'\\u2279','ntilde':'\\xF1','Ntilde':'\\xD1','ntlg':'\\u2278','ntriangleleft':'\\u22EA','ntrianglelefteq':'\\u22EC','ntriangleright':'\\u22EB','ntrianglerighteq':'\\u22ED','nu':'\\u03BD','Nu':'\\u039D','num':'#','numero':'\\u2116','numsp':'\\u2007','nvap':'\\u224D\\u20D2','nvdash':'\\u22AC','nvDash':'\\u22AD','nVdash':'\\u22AE','nVDash':'\\u22AF','nvge':'\\u2265\\u20D2','nvgt':'>\\u20D2','nvHarr':'\\u2904','nvinfin':'\\u29DE','nvlArr':'\\u2902','nvle':'\\u2264\\u20D2','nvlt':'<\\u20D2','nvltrie':'\\u22B4\\u20D2','nvrArr':'\\u2903','nvrtrie':'\\u22B5\\u20D2','nvsim':'\\u223C\\u20D2','nwarhk':'\\u2923','nwarr':'\\u2196','nwArr':'\\u21D6','nwarrow':'\\u2196','nwnear':'\\u2927','oacute':'\\xF3','Oacute':'\\xD3','oast':'\\u229B','ocir':'\\u229A','ocirc':'\\xF4','Ocirc':'\\xD4','ocy':'\\u043E','Ocy':'\\u041E','odash':'\\u229D','odblac':'\\u0151','Odblac':'\\u0150','odiv':'\\u2A38','odot':'\\u2299','odsold':'\\u29BC','oelig':'\\u0153','OElig':'\\u0152','ofcir':'\\u29BF','ofr':'\\uD835\\uDD2C','Ofr':'\\uD835\\uDD12','ogon':'\\u02DB','ograve':'\\xF2','Ograve':'\\xD2','ogt':'\\u29C1','ohbar':'\\u29B5','ohm':'\\u03A9','oint':'\\u222E','olarr':'\\u21BA','olcir':'\\u29BE','olcross':'\\u29BB','oline':'\\u203E','olt':'\\u29C0','omacr':'\\u014D','Omacr':'\\u014C','omega':'\\u03C9','Omega':'\\u03A9','omicron':'\\u03BF','Omicron':'\\u039F','omid':'\\u29B6','ominus':'\\u2296','oopf':'\\uD835\\uDD60','Oopf':'\\uD835\\uDD46','opar':'\\u29B7','OpenCurlyDoubleQuote':'\\u201C','OpenCurlyQuote':'\\u2018','operp':'\\u29B9','oplus':'\\u2295','or':'\\u2228','Or':'\\u2A54','orarr':'\\u21BB','ord':'\\u2A5D','order':'\\u2134','orderof':'\\u2134','ordf':'\\xAA','ordm':'\\xBA','origof':'\\u22B6','oror':'\\u2A56','orslope':'\\u2A57','orv':'\\u2A5B','oS':'\\u24C8','oscr':'\\u2134','Oscr':'\\uD835\\uDCAA','oslash':'\\xF8','Oslash':'\\xD8','osol':'\\u2298','otilde':'\\xF5','Otilde':'\\xD5','otimes':'\\u2297','Otimes':'\\u2A37','otimesas':'\\u2A36','ouml':'\\xF6','Ouml':'\\xD6','ovbar':'\\u233D','OverBar':'\\u203E','OverBrace':'\\u23DE','OverBracket':'\\u23B4','OverParenthesis':'\\u23DC','par':'\\u2225','para':'\\xB6','parallel':'\\u2225','parsim':'\\u2AF3','parsl':'\\u2AFD','part':'\\u2202','PartialD':'\\u2202','pcy':'\\u043F','Pcy':'\\u041F','percnt':'%','period':'.','permil':'\\u2030','perp':'\\u22A5','pertenk':'\\u2031','pfr':'\\uD835\\uDD2D','Pfr':'\\uD835\\uDD13','phi':'\\u03C6','Phi':'\\u03A6','phiv':'\\u03D5','phmmat':'\\u2133','phone':'\\u260E','pi':'\\u03C0','Pi':'\\u03A0','pitchfork':'\\u22D4','piv':'\\u03D6','planck':'\\u210F','planckh':'\\u210E','plankv':'\\u210F','plus':'+','plusacir':'\\u2A23','plusb':'\\u229E','pluscir':'\\u2A22','plusdo':'\\u2214','plusdu':'\\u2A25','pluse':'\\u2A72','PlusMinus':'\\xB1','plusmn':'\\xB1','plussim':'\\u2A26','plustwo':'\\u2A27','pm':'\\xB1','Poincareplane':'\\u210C','pointint':'\\u2A15','popf':'\\uD835\\uDD61','Popf':'\\u2119','pound':'\\xA3','pr':'\\u227A','Pr':'\\u2ABB','prap':'\\u2AB7','prcue':'\\u227C','pre':'\\u2AAF','prE':'\\u2AB3','prec':'\\u227A','precapprox':'\\u2AB7','preccurlyeq':'\\u227C','Precedes':'\\u227A','PrecedesEqual':'\\u2AAF','PrecedesSlantEqual':'\\u227C','PrecedesTilde':'\\u227E','preceq':'\\u2AAF','precnapprox':'\\u2AB9','precneqq':'\\u2AB5','precnsim':'\\u22E8','precsim':'\\u227E','prime':'\\u2032','Prime':'\\u2033','primes':'\\u2119','prnap':'\\u2AB9','prnE':'\\u2AB5','prnsim':'\\u22E8','prod':'\\u220F','Product':'\\u220F','profalar':'\\u232E','profline':'\\u2312','profsurf':'\\u2313','prop':'\\u221D','Proportion':'\\u2237','Proportional':'\\u221D','propto':'\\u221D','prsim':'\\u227E','prurel':'\\u22B0','pscr':'\\uD835\\uDCC5','Pscr':'\\uD835\\uDCAB','psi':'\\u03C8','Psi':'\\u03A8','puncsp':'\\u2008','qfr':'\\uD835\\uDD2E','Qfr':'\\uD835\\uDD14','qint':'\\u2A0C','qopf':'\\uD835\\uDD62','Qopf':'\\u211A','qprime':'\\u2057','qscr':'\\uD835\\uDCC6','Qscr':'\\uD835\\uDCAC','quaternions':'\\u210D','quatint':'\\u2A16','quest':'?','questeq':'\\u225F','quot':'\"','QUOT':'\"','rAarr':'\\u21DB','race':'\\u223D\\u0331','racute':'\\u0155','Racute':'\\u0154','radic':'\\u221A','raemptyv':'\\u29B3','rang':'\\u27E9','Rang':'\\u27EB','rangd':'\\u2992','range':'\\u29A5','rangle':'\\u27E9','raquo':'\\xBB','rarr':'\\u2192','rArr':'\\u21D2','Rarr':'\\u21A0','rarrap':'\\u2975','rarrb':'\\u21E5','rarrbfs':'\\u2920','rarrc':'\\u2933','rarrfs':'\\u291E','rarrhk':'\\u21AA','rarrlp':'\\u21AC','rarrpl':'\\u2945','rarrsim':'\\u2974','rarrtl':'\\u21A3','Rarrtl':'\\u2916','rarrw':'\\u219D','ratail':'\\u291A','rAtail':'\\u291C','ratio':'\\u2236','rationals':'\\u211A','rbarr':'\\u290D','rBarr':'\\u290F','RBarr':'\\u2910','rbbrk':'\\u2773','rbrace':'}','rbrack':']','rbrke':'\\u298C','rbrksld':'\\u298E','rbrkslu':'\\u2990','rcaron':'\\u0159','Rcaron':'\\u0158','rcedil':'\\u0157','Rcedil':'\\u0156','rceil':'\\u2309','rcub':'}','rcy':'\\u0440','Rcy':'\\u0420','rdca':'\\u2937','rdldhar':'\\u2969','rdquo':'\\u201D','rdquor':'\\u201D','rdsh':'\\u21B3','Re':'\\u211C','real':'\\u211C','realine':'\\u211B','realpart':'\\u211C','reals':'\\u211D','rect':'\\u25AD','reg':'\\xAE','REG':'\\xAE','ReverseElement':'\\u220B','ReverseEquilibrium':'\\u21CB','ReverseUpEquilibrium':'\\u296F','rfisht':'\\u297D','rfloor':'\\u230B','rfr':'\\uD835\\uDD2F','Rfr':'\\u211C','rHar':'\\u2964','rhard':'\\u21C1','rharu':'\\u21C0','rharul':'\\u296C','rho':'\\u03C1','Rho':'\\u03A1','rhov':'\\u03F1','RightAngleBracket':'\\u27E9','rightarrow':'\\u2192','Rightarrow':'\\u21D2','RightArrow':'\\u2192','RightArrowBar':'\\u21E5','RightArrowLeftArrow':'\\u21C4','rightarrowtail':'\\u21A3','RightCeiling':'\\u2309','RightDoubleBracket':'\\u27E7','RightDownTeeVector':'\\u295D','RightDownVector':'\\u21C2','RightDownVectorBar':'\\u2955','RightFloor':'\\u230B','rightharpoondown':'\\u21C1','rightharpoonup':'\\u21C0','rightleftarrows':'\\u21C4','rightleftharpoons':'\\u21CC','rightrightarrows':'\\u21C9','rightsquigarrow':'\\u219D','RightTee':'\\u22A2','RightTeeArrow':'\\u21A6','RightTeeVector':'\\u295B','rightthreetimes':'\\u22CC','RightTriangle':'\\u22B3','RightTriangleBar':'\\u29D0','RightTriangleEqual':'\\u22B5','RightUpDownVector':'\\u294F','RightUpTeeVector':'\\u295C','RightUpVector':'\\u21BE','RightUpVectorBar':'\\u2954','RightVector':'\\u21C0','RightVectorBar':'\\u2953','ring':'\\u02DA','risingdotseq':'\\u2253','rlarr':'\\u21C4','rlhar':'\\u21CC','rlm':'\\u200F','rmoust':'\\u23B1','rmoustache':'\\u23B1','rnmid':'\\u2AEE','roang':'\\u27ED','roarr':'\\u21FE','robrk':'\\u27E7','ropar':'\\u2986','ropf':'\\uD835\\uDD63','Ropf':'\\u211D','roplus':'\\u2A2E','rotimes':'\\u2A35','RoundImplies':'\\u2970','rpar':')','rpargt':'\\u2994','rppolint':'\\u2A12','rrarr':'\\u21C9','Rrightarrow':'\\u21DB','rsaquo':'\\u203A','rscr':'\\uD835\\uDCC7','Rscr':'\\u211B','rsh':'\\u21B1','Rsh':'\\u21B1','rsqb':']','rsquo':'\\u2019','rsquor':'\\u2019','rthree':'\\u22CC','rtimes':'\\u22CA','rtri':'\\u25B9','rtrie':'\\u22B5','rtrif':'\\u25B8','rtriltri':'\\u29CE','RuleDelayed':'\\u29F4','ruluhar':'\\u2968','rx':'\\u211E','sacute':'\\u015B','Sacute':'\\u015A','sbquo':'\\u201A','sc':'\\u227B','Sc':'\\u2ABC','scap':'\\u2AB8','scaron':'\\u0161','Scaron':'\\u0160','sccue':'\\u227D','sce':'\\u2AB0','scE':'\\u2AB4','scedil':'\\u015F','Scedil':'\\u015E','scirc':'\\u015D','Scirc':'\\u015C','scnap':'\\u2ABA','scnE':'\\u2AB6','scnsim':'\\u22E9','scpolint':'\\u2A13','scsim':'\\u227F','scy':'\\u0441','Scy':'\\u0421','sdot':'\\u22C5','sdotb':'\\u22A1','sdote':'\\u2A66','searhk':'\\u2925','searr':'\\u2198','seArr':'\\u21D8','searrow':'\\u2198','sect':'\\xA7','semi':';','seswar':'\\u2929','setminus':'\\u2216','setmn':'\\u2216','sext':'\\u2736','sfr':'\\uD835\\uDD30','Sfr':'\\uD835\\uDD16','sfrown':'\\u2322','sharp':'\\u266F','shchcy':'\\u0449','SHCHcy':'\\u0429','shcy':'\\u0448','SHcy':'\\u0428','ShortDownArrow':'\\u2193','ShortLeftArrow':'\\u2190','shortmid':'\\u2223','shortparallel':'\\u2225','ShortRightArrow':'\\u2192','ShortUpArrow':'\\u2191','shy':'\\xAD','sigma':'\\u03C3','Sigma':'\\u03A3','sigmaf':'\\u03C2','sigmav':'\\u03C2','sim':'\\u223C','simdot':'\\u2A6A','sime':'\\u2243','simeq':'\\u2243','simg':'\\u2A9E','simgE':'\\u2AA0','siml':'\\u2A9D','simlE':'\\u2A9F','simne':'\\u2246','simplus':'\\u2A24','simrarr':'\\u2972','slarr':'\\u2190','SmallCircle':'\\u2218','smallsetminus':'\\u2216','smashp':'\\u2A33','smeparsl':'\\u29E4','smid':'\\u2223','smile':'\\u2323','smt':'\\u2AAA','smte':'\\u2AAC','smtes':'\\u2AAC\\uFE00','softcy':'\\u044C','SOFTcy':'\\u042C','sol':'/','solb':'\\u29C4','solbar':'\\u233F','sopf':'\\uD835\\uDD64','Sopf':'\\uD835\\uDD4A','spades':'\\u2660','spadesuit':'\\u2660','spar':'\\u2225','sqcap':'\\u2293','sqcaps':'\\u2293\\uFE00','sqcup':'\\u2294','sqcups':'\\u2294\\uFE00','Sqrt':'\\u221A','sqsub':'\\u228F','sqsube':'\\u2291','sqsubset':'\\u228F','sqsubseteq':'\\u2291','sqsup':'\\u2290','sqsupe':'\\u2292','sqsupset':'\\u2290','sqsupseteq':'\\u2292','squ':'\\u25A1','square':'\\u25A1','Square':'\\u25A1','SquareIntersection':'\\u2293','SquareSubset':'\\u228F','SquareSubsetEqual':'\\u2291','SquareSuperset':'\\u2290','SquareSupersetEqual':'\\u2292','SquareUnion':'\\u2294','squarf':'\\u25AA','squf':'\\u25AA','srarr':'\\u2192','sscr':'\\uD835\\uDCC8','Sscr':'\\uD835\\uDCAE','ssetmn':'\\u2216','ssmile':'\\u2323','sstarf':'\\u22C6','star':'\\u2606','Star':'\\u22C6','starf':'\\u2605','straightepsilon':'\\u03F5','straightphi':'\\u03D5','strns':'\\xAF','sub':'\\u2282','Sub':'\\u22D0','subdot':'\\u2ABD','sube':'\\u2286','subE':'\\u2AC5','subedot':'\\u2AC3','submult':'\\u2AC1','subne':'\\u228A','subnE':'\\u2ACB','subplus':'\\u2ABF','subrarr':'\\u2979','subset':'\\u2282','Subset':'\\u22D0','subseteq':'\\u2286','subseteqq':'\\u2AC5','SubsetEqual':'\\u2286','subsetneq':'\\u228A','subsetneqq':'\\u2ACB','subsim':'\\u2AC7','subsub':'\\u2AD5','subsup':'\\u2AD3','succ':'\\u227B','succapprox':'\\u2AB8','succcurlyeq':'\\u227D','Succeeds':'\\u227B','SucceedsEqual':'\\u2AB0','SucceedsSlantEqual':'\\u227D','SucceedsTilde':'\\u227F','succeq':'\\u2AB0','succnapprox':'\\u2ABA','succneqq':'\\u2AB6','succnsim':'\\u22E9','succsim':'\\u227F','SuchThat':'\\u220B','sum':'\\u2211','Sum':'\\u2211','sung':'\\u266A','sup':'\\u2283','Sup':'\\u22D1','sup1':'\\xB9','sup2':'\\xB2','sup3':'\\xB3','supdot':'\\u2ABE','supdsub':'\\u2AD8','supe':'\\u2287','supE':'\\u2AC6','supedot':'\\u2AC4','Superset':'\\u2283','SupersetEqual':'\\u2287','suphsol':'\\u27C9','suphsub':'\\u2AD7','suplarr':'\\u297B','supmult':'\\u2AC2','supne':'\\u228B','supnE':'\\u2ACC','supplus':'\\u2AC0','supset':'\\u2283','Supset':'\\u22D1','supseteq':'\\u2287','supseteqq':'\\u2AC6','supsetneq':'\\u228B','supsetneqq':'\\u2ACC','supsim':'\\u2AC8','supsub':'\\u2AD4','supsup':'\\u2AD6','swarhk':'\\u2926','swarr':'\\u2199','swArr':'\\u21D9','swarrow':'\\u2199','swnwar':'\\u292A','szlig':'\\xDF','Tab':'\\t','target':'\\u2316','tau':'\\u03C4','Tau':'\\u03A4','tbrk':'\\u23B4','tcaron':'\\u0165','Tcaron':'\\u0164','tcedil':'\\u0163','Tcedil':'\\u0162','tcy':'\\u0442','Tcy':'\\u0422','tdot':'\\u20DB','telrec':'\\u2315','tfr':'\\uD835\\uDD31','Tfr':'\\uD835\\uDD17','there4':'\\u2234','therefore':'\\u2234','Therefore':'\\u2234','theta':'\\u03B8','Theta':'\\u0398','thetasym':'\\u03D1','thetav':'\\u03D1','thickapprox':'\\u2248','thicksim':'\\u223C','ThickSpace':'\\u205F\\u200A','thinsp':'\\u2009','ThinSpace':'\\u2009','thkap':'\\u2248','thksim':'\\u223C','thorn':'\\xFE','THORN':'\\xDE','tilde':'\\u02DC','Tilde':'\\u223C','TildeEqual':'\\u2243','TildeFullEqual':'\\u2245','TildeTilde':'\\u2248','times':'\\xD7','timesb':'\\u22A0','timesbar':'\\u2A31','timesd':'\\u2A30','tint':'\\u222D','toea':'\\u2928','top':'\\u22A4','topbot':'\\u2336','topcir':'\\u2AF1','topf':'\\uD835\\uDD65','Topf':'\\uD835\\uDD4B','topfork':'\\u2ADA','tosa':'\\u2929','tprime':'\\u2034','trade':'\\u2122','TRADE':'\\u2122','triangle':'\\u25B5','triangledown':'\\u25BF','triangleleft':'\\u25C3','trianglelefteq':'\\u22B4','triangleq':'\\u225C','triangleright':'\\u25B9','trianglerighteq':'\\u22B5','tridot':'\\u25EC','trie':'\\u225C','triminus':'\\u2A3A','TripleDot':'\\u20DB','triplus':'\\u2A39','trisb':'\\u29CD','tritime':'\\u2A3B','trpezium':'\\u23E2','tscr':'\\uD835\\uDCC9','Tscr':'\\uD835\\uDCAF','tscy':'\\u0446','TScy':'\\u0426','tshcy':'\\u045B','TSHcy':'\\u040B','tstrok':'\\u0167','Tstrok':'\\u0166','twixt':'\\u226C','twoheadleftarrow':'\\u219E','twoheadrightarrow':'\\u21A0','uacute':'\\xFA','Uacute':'\\xDA','uarr':'\\u2191','uArr':'\\u21D1','Uarr':'\\u219F','Uarrocir':'\\u2949','ubrcy':'\\u045E','Ubrcy':'\\u040E','ubreve':'\\u016D','Ubreve':'\\u016C','ucirc':'\\xFB','Ucirc':'\\xDB','ucy':'\\u0443','Ucy':'\\u0423','udarr':'\\u21C5','udblac':'\\u0171','Udblac':'\\u0170','udhar':'\\u296E','ufisht':'\\u297E','ufr':'\\uD835\\uDD32','Ufr':'\\uD835\\uDD18','ugrave':'\\xF9','Ugrave':'\\xD9','uHar':'\\u2963','uharl':'\\u21BF','uharr':'\\u21BE','uhblk':'\\u2580','ulcorn':'\\u231C','ulcorner':'\\u231C','ulcrop':'\\u230F','ultri':'\\u25F8','umacr':'\\u016B','Umacr':'\\u016A','uml':'\\xA8','UnderBar':'_','UnderBrace':'\\u23DF','UnderBracket':'\\u23B5','UnderParenthesis':'\\u23DD','Union':'\\u22C3','UnionPlus':'\\u228E','uogon':'\\u0173','Uogon':'\\u0172','uopf':'\\uD835\\uDD66','Uopf':'\\uD835\\uDD4C','uparrow':'\\u2191','Uparrow':'\\u21D1','UpArrow':'\\u2191','UpArrowBar':'\\u2912','UpArrowDownArrow':'\\u21C5','updownarrow':'\\u2195','Updownarrow':'\\u21D5','UpDownArrow':'\\u2195','UpEquilibrium':'\\u296E','upharpoonleft':'\\u21BF','upharpoonright':'\\u21BE','uplus':'\\u228E','UpperLeftArrow':'\\u2196','UpperRightArrow':'\\u2197','upsi':'\\u03C5','Upsi':'\\u03D2','upsih':'\\u03D2','upsilon':'\\u03C5','Upsilon':'\\u03A5','UpTee':'\\u22A5','UpTeeArrow':'\\u21A5','upuparrows':'\\u21C8','urcorn':'\\u231D','urcorner':'\\u231D','urcrop':'\\u230E','uring':'\\u016F','Uring':'\\u016E','urtri':'\\u25F9','uscr':'\\uD835\\uDCCA','Uscr':'\\uD835\\uDCB0','utdot':'\\u22F0','utilde':'\\u0169','Utilde':'\\u0168','utri':'\\u25B5','utrif':'\\u25B4','uuarr':'\\u21C8','uuml':'\\xFC','Uuml':'\\xDC','uwangle':'\\u29A7','vangrt':'\\u299C','varepsilon':'\\u03F5','varkappa':'\\u03F0','varnothing':'\\u2205','varphi':'\\u03D5','varpi':'\\u03D6','varpropto':'\\u221D','varr':'\\u2195','vArr':'\\u21D5','varrho':'\\u03F1','varsigma':'\\u03C2','varsubsetneq':'\\u228A\\uFE00','varsubsetneqq':'\\u2ACB\\uFE00','varsupsetneq':'\\u228B\\uFE00','varsupsetneqq':'\\u2ACC\\uFE00','vartheta':'\\u03D1','vartriangleleft':'\\u22B2','vartriangleright':'\\u22B3','vBar':'\\u2AE8','Vbar':'\\u2AEB','vBarv':'\\u2AE9','vcy':'\\u0432','Vcy':'\\u0412','vdash':'\\u22A2','vDash':'\\u22A8','Vdash':'\\u22A9','VDash':'\\u22AB','Vdashl':'\\u2AE6','vee':'\\u2228','Vee':'\\u22C1','veebar':'\\u22BB','veeeq':'\\u225A','vellip':'\\u22EE','verbar':'|','Verbar':'\\u2016','vert':'|','Vert':'\\u2016','VerticalBar':'\\u2223','VerticalLine':'|','VerticalSeparator':'\\u2758','VerticalTilde':'\\u2240','VeryThinSpace':'\\u200A','vfr':'\\uD835\\uDD33','Vfr':'\\uD835\\uDD19','vltri':'\\u22B2','vnsub':'\\u2282\\u20D2','vnsup':'\\u2283\\u20D2','vopf':'\\uD835\\uDD67','Vopf':'\\uD835\\uDD4D','vprop':'\\u221D','vrtri':'\\u22B3','vscr':'\\uD835\\uDCCB','Vscr':'\\uD835\\uDCB1','vsubne':'\\u228A\\uFE00','vsubnE':'\\u2ACB\\uFE00','vsupne':'\\u228B\\uFE00','vsupnE':'\\u2ACC\\uFE00','Vvdash':'\\u22AA','vzigzag':'\\u299A','wcirc':'\\u0175','Wcirc':'\\u0174','wedbar':'\\u2A5F','wedge':'\\u2227','Wedge':'\\u22C0','wedgeq':'\\u2259','weierp':'\\u2118','wfr':'\\uD835\\uDD34','Wfr':'\\uD835\\uDD1A','wopf':'\\uD835\\uDD68','Wopf':'\\uD835\\uDD4E','wp':'\\u2118','wr':'\\u2240','wreath':'\\u2240','wscr':'\\uD835\\uDCCC','Wscr':'\\uD835\\uDCB2','xcap':'\\u22C2','xcirc':'\\u25EF','xcup':'\\u22C3','xdtri':'\\u25BD','xfr':'\\uD835\\uDD35','Xfr':'\\uD835\\uDD1B','xharr':'\\u27F7','xhArr':'\\u27FA','xi':'\\u03BE','Xi':'\\u039E','xlarr':'\\u27F5','xlArr':'\\u27F8','xmap':'\\u27FC','xnis':'\\u22FB','xodot':'\\u2A00','xopf':'\\uD835\\uDD69','Xopf':'\\uD835\\uDD4F','xoplus':'\\u2A01','xotime':'\\u2A02','xrarr':'\\u27F6','xrArr':'\\u27F9','xscr':'\\uD835\\uDCCD','Xscr':'\\uD835\\uDCB3','xsqcup':'\\u2A06','xuplus':'\\u2A04','xutri':'\\u25B3','xvee':'\\u22C1','xwedge':'\\u22C0','yacute':'\\xFD','Yacute':'\\xDD','yacy':'\\u044F','YAcy':'\\u042F','ycirc':'\\u0177','Ycirc':'\\u0176','ycy':'\\u044B','Ycy':'\\u042B','yen':'\\xA5','yfr':'\\uD835\\uDD36','Yfr':'\\uD835\\uDD1C','yicy':'\\u0457','YIcy':'\\u0407','yopf':'\\uD835\\uDD6A','Yopf':'\\uD835\\uDD50','yscr':'\\uD835\\uDCCE','Yscr':'\\uD835\\uDCB4','yucy':'\\u044E','YUcy':'\\u042E','yuml':'\\xFF','Yuml':'\\u0178','zacute':'\\u017A','Zacute':'\\u0179','zcaron':'\\u017E','Zcaron':'\\u017D','zcy':'\\u0437','Zcy':'\\u0417','zdot':'\\u017C','Zdot':'\\u017B','zeetrf':'\\u2128','ZeroWidthSpace':'\\u200B','zeta':'\\u03B6','Zeta':'\\u0396','zfr':'\\uD835\\uDD37','Zfr':'\\u2128','zhcy':'\\u0436','ZHcy':'\\u0416','zigrarr':'\\u21DD','zopf':'\\uD835\\uDD6B','Zopf':'\\u2124','zscr':'\\uD835\\uDCCF','Zscr':'\\uD835\\uDCB5','zwj':'\\u200D','zwnj':'\\u200C'};\n\tvar decodeMapLegacy = {'aacute':'\\xE1','Aacute':'\\xC1','acirc':'\\xE2','Acirc':'\\xC2','acute':'\\xB4','aelig':'\\xE6','AElig':'\\xC6','agrave':'\\xE0','Agrave':'\\xC0','amp':'&','AMP':'&','aring':'\\xE5','Aring':'\\xC5','atilde':'\\xE3','Atilde':'\\xC3','auml':'\\xE4','Auml':'\\xC4','brvbar':'\\xA6','ccedil':'\\xE7','Ccedil':'\\xC7','cedil':'\\xB8','cent':'\\xA2','copy':'\\xA9','COPY':'\\xA9','curren':'\\xA4','deg':'\\xB0','divide':'\\xF7','eacute':'\\xE9','Eacute':'\\xC9','ecirc':'\\xEA','Ecirc':'\\xCA','egrave':'\\xE8','Egrave':'\\xC8','eth':'\\xF0','ETH':'\\xD0','euml':'\\xEB','Euml':'\\xCB','frac12':'\\xBD','frac14':'\\xBC','frac34':'\\xBE','gt':'>','GT':'>','iacute':'\\xED','Iacute':'\\xCD','icirc':'\\xEE','Icirc':'\\xCE','iexcl':'\\xA1','igrave':'\\xEC','Igrave':'\\xCC','iquest':'\\xBF','iuml':'\\xEF','Iuml':'\\xCF','laquo':'\\xAB','lt':'<','LT':'<','macr':'\\xAF','micro':'\\xB5','middot':'\\xB7','nbsp':'\\xA0','not':'\\xAC','ntilde':'\\xF1','Ntilde':'\\xD1','oacute':'\\xF3','Oacute':'\\xD3','ocirc':'\\xF4','Ocirc':'\\xD4','ograve':'\\xF2','Ograve':'\\xD2','ordf':'\\xAA','ordm':'\\xBA','oslash':'\\xF8','Oslash':'\\xD8','otilde':'\\xF5','Otilde':'\\xD5','ouml':'\\xF6','Ouml':'\\xD6','para':'\\xB6','plusmn':'\\xB1','pound':'\\xA3','quot':'\"','QUOT':'\"','raquo':'\\xBB','reg':'\\xAE','REG':'\\xAE','sect':'\\xA7','shy':'\\xAD','sup1':'\\xB9','sup2':'\\xB2','sup3':'\\xB3','szlig':'\\xDF','thorn':'\\xFE','THORN':'\\xDE','times':'\\xD7','uacute':'\\xFA','Uacute':'\\xDA','ucirc':'\\xFB','Ucirc':'\\xDB','ugrave':'\\xF9','Ugrave':'\\xD9','uml':'\\xA8','uuml':'\\xFC','Uuml':'\\xDC','yacute':'\\xFD','Yacute':'\\xDD','yen':'\\xA5','yuml':'\\xFF'};\n\tvar decodeMapNumeric = {'0':'\\uFFFD','128':'\\u20AC','130':'\\u201A','131':'\\u0192','132':'\\u201E','133':'\\u2026','134':'\\u2020','135':'\\u2021','136':'\\u02C6','137':'\\u2030','138':'\\u0160','139':'\\u2039','140':'\\u0152','142':'\\u017D','145':'\\u2018','146':'\\u2019','147':'\\u201C','148':'\\u201D','149':'\\u2022','150':'\\u2013','151':'\\u2014','152':'\\u02DC','153':'\\u2122','154':'\\u0161','155':'\\u203A','156':'\\u0153','158':'\\u017E','159':'\\u0178'};\n\tvar invalidReferenceCodePoints = [1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65000,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111];\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar stringFromCharCode = String.fromCharCode;\n\n\tvar object = {};\n\tvar hasOwnProperty = object.hasOwnProperty;\n\tvar has = function(object, propertyName) {\n\t\treturn hasOwnProperty.call(object, propertyName);\n\t};\n\n\tvar contains = function(array, value) {\n\t\tvar index = -1;\n\t\tvar length = array.length;\n\t\twhile (++index < length) {\n\t\t\tif (array[index] == value) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t};\n\n\tvar merge = function(options, defaults) {\n\t\tif (!options) {\n\t\t\treturn defaults;\n\t\t}\n\t\tvar result = {};\n\t\tvar key;\n\t\tfor (key in defaults) {\n\t\t\t// A `hasOwnProperty` check is not needed here, since only recognized\n\t\t\t// option names are used anyway. Any others are ignored.\n\t\t\tresult[key] = has(options, key) ? options[key] : defaults[key];\n\t\t}\n\t\treturn result;\n\t};\n\n\t// Modified version of `ucs2encode`; see https://mths.be/punycode.\n\tvar codePointToSymbol = function(codePoint, strict) {\n\t\tvar output = '';\n\t\tif ((codePoint >= 0xD800 && codePoint <= 0xDFFF) || codePoint > 0x10FFFF) {\n\t\t\t// See issue #4:\n\t\t\t// “Otherwise, if the number is in the range 0xD800 to 0xDFFF or is\n\t\t\t// greater than 0x10FFFF, then this is a parse error. Return a U+FFFD\n\t\t\t// REPLACEMENT CHARACTER.”\n\t\t\tif (strict) {\n\t\t\t\tparseError('character reference outside the permissible Unicode range');\n\t\t\t}\n\t\t\treturn '\\uFFFD';\n\t\t}\n\t\tif (has(decodeMapNumeric, codePoint)) {\n\t\t\tif (strict) {\n\t\t\t\tparseError('disallowed character reference');\n\t\t\t}\n\t\t\treturn decodeMapNumeric[codePoint];\n\t\t}\n\t\tif (strict && contains(invalidReferenceCodePoints, codePoint)) {\n\t\t\tparseError('disallowed character reference');\n\t\t}\n\t\tif (codePoint > 0xFFFF) {\n\t\t\tcodePoint -= 0x10000;\n\t\t\toutput += stringFromCharCode(codePoint >>> 10 & 0x3FF | 0xD800);\n\t\t\tcodePoint = 0xDC00 | codePoint & 0x3FF;\n\t\t}\n\t\toutput += stringFromCharCode(codePoint);\n\t\treturn output;\n\t};\n\n\tvar hexEscape = function(codePoint) {\n\t\treturn '&#x' + codePoint.toString(16).toUpperCase() + ';';\n\t};\n\n\tvar decEscape = function(codePoint) {\n\t\treturn '&#' + codePoint + ';';\n\t};\n\n\tvar parseError = function(message) {\n\t\tthrow Error('Parse error: ' + message);\n\t};\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar encode = function(string, options) {\n\t\toptions = merge(options, encode.options);\n\t\tvar strict = options.strict;\n\t\tif (strict && regexInvalidRawCodePoint.test(string)) {\n\t\t\tparseError('forbidden code point');\n\t\t}\n\t\tvar encodeEverything = options.encodeEverything;\n\t\tvar useNamedReferences = options.useNamedReferences;\n\t\tvar allowUnsafeSymbols = options.allowUnsafeSymbols;\n\t\tvar escapeCodePoint = options.decimal ? decEscape : hexEscape;\n\n\t\tvar escapeBmpSymbol = function(symbol) {\n\t\t\treturn escapeCodePoint(symbol.charCodeAt(0));\n\t\t};\n\n\t\tif (encodeEverything) {\n\t\t\t// Encode ASCII symbols.\n\t\t\tstring = string.replace(regexAsciiWhitelist, function(symbol) {\n\t\t\t\t// Use named references if requested & possible.\n\t\t\t\tif (useNamedReferences && has(encodeMap, symbol)) {\n\t\t\t\t\treturn '&' + encodeMap[symbol] + ';';\n\t\t\t\t}\n\t\t\t\treturn escapeBmpSymbol(symbol);\n\t\t\t});\n\t\t\t// Shorten a few escapes that represent two symbols, of which at least one\n\t\t\t// is within the ASCII range.\n\t\t\tif (useNamedReferences) {\n\t\t\t\tstring = string\n\t\t\t\t\t.replace(/>\\u20D2/g, '>⃒')\n\t\t\t\t\t.replace(/<\\u20D2/g, '<⃒')\n\t\t\t\t\t.replace(/fj/g, 'fj');\n\t\t\t}\n\t\t\t// Encode non-ASCII symbols.\n\t\t\tif (useNamedReferences) {\n\t\t\t\t// Encode non-ASCII symbols that can be replaced with a named reference.\n\t\t\t\tstring = string.replace(regexEncodeNonAscii, function(string) {\n\t\t\t\t\t// Note: there is no need to check `has(encodeMap, string)` here.\n\t\t\t\t\treturn '&' + encodeMap[string] + ';';\n\t\t\t\t});\n\t\t\t}\n\t\t\t// Note: any remaining non-ASCII symbols are handled outside of the `if`.\n\t\t} else if (useNamedReferences) {\n\t\t\t// Apply named character references.\n\t\t\t// Encode `<>\"'&` using named character references.\n\t\t\tif (!allowUnsafeSymbols) {\n\t\t\t\tstring = string.replace(regexEscape, function(string) {\n\t\t\t\t\treturn '&' + encodeMap[string] + ';'; // no need to check `has()` here\n\t\t\t\t});\n\t\t\t}\n\t\t\t// Shorten escapes that represent two symbols, of which at least one is\n\t\t\t// `<>\"'&`.\n\t\t\tstring = string\n\t\t\t\t.replace(/>\\u20D2/g, '>⃒')\n\t\t\t\t.replace(/<\\u20D2/g, '<⃒');\n\t\t\t// Encode non-ASCII symbols that can be replaced with a named reference.\n\t\t\tstring = string.replace(regexEncodeNonAscii, function(string) {\n\t\t\t\t// Note: there is no need to check `has(encodeMap, string)` here.\n\t\t\t\treturn '&' + encodeMap[string] + ';';\n\t\t\t});\n\t\t} else if (!allowUnsafeSymbols) {\n\t\t\t// Encode `<>\"'&` using hexadecimal escapes, now that they’re not handled\n\t\t\t// using named character references.\n\t\t\tstring = string.replace(regexEscape, escapeBmpSymbol);\n\t\t}\n\t\treturn string\n\t\t\t// Encode astral symbols.\n\t\t\t.replace(regexAstralSymbols, function($0) {\n\t\t\t\t// https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n\t\t\t\tvar high = $0.charCodeAt(0);\n\t\t\t\tvar low = $0.charCodeAt(1);\n\t\t\t\tvar codePoint = (high - 0xD800) * 0x400 + low - 0xDC00 + 0x10000;\n\t\t\t\treturn escapeCodePoint(codePoint);\n\t\t\t})\n\t\t\t// Encode any remaining BMP symbols that are not printable ASCII symbols\n\t\t\t// using a hexadecimal escape.\n\t\t\t.replace(regexBmpWhitelist, escapeBmpSymbol);\n\t};\n\t// Expose default options (so they can be overridden globally).\n\tencode.options = {\n\t\t'allowUnsafeSymbols': false,\n\t\t'encodeEverything': false,\n\t\t'strict': false,\n\t\t'useNamedReferences': false,\n\t\t'decimal' : false\n\t};\n\n\tvar decode = function(html, options) {\n\t\toptions = merge(options, decode.options);\n\t\tvar strict = options.strict;\n\t\tif (strict && regexInvalidEntity.test(html)) {\n\t\t\tparseError('malformed character reference');\n\t\t}\n\t\treturn html.replace(regexDecode, function($0, $1, $2, $3, $4, $5, $6, $7, $8) {\n\t\t\tvar codePoint;\n\t\t\tvar semicolon;\n\t\t\tvar decDigits;\n\t\t\tvar hexDigits;\n\t\t\tvar reference;\n\t\t\tvar next;\n\n\t\t\tif ($1) {\n\t\t\t\treference = $1;\n\t\t\t\t// Note: there is no need to check `has(decodeMap, reference)`.\n\t\t\t\treturn decodeMap[reference];\n\t\t\t}\n\n\t\t\tif ($2) {\n\t\t\t\t// Decode named character references without trailing `;`, e.g. `&`.\n\t\t\t\t// This is only a parse error if it gets converted to `&`, or if it is\n\t\t\t\t// followed by `=` in an attribute context.\n\t\t\t\treference = $2;\n\t\t\t\tnext = $3;\n\t\t\t\tif (next && options.isAttributeValue) {\n\t\t\t\t\tif (strict && next == '=') {\n\t\t\t\t\t\tparseError('`&` did not start a character reference');\n\t\t\t\t\t}\n\t\t\t\t\treturn $0;\n\t\t\t\t} else {\n\t\t\t\t\tif (strict) {\n\t\t\t\t\t\tparseError(\n\t\t\t\t\t\t\t'named character reference was not terminated by a semicolon'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\t// Note: there is no need to check `has(decodeMapLegacy, reference)`.\n\t\t\t\t\treturn decodeMapLegacy[reference] + (next || '');\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ($4) {\n\t\t\t\t// Decode decimal escapes, e.g. `𝌆`.\n\t\t\t\tdecDigits = $4;\n\t\t\t\tsemicolon = $5;\n\t\t\t\tif (strict && !semicolon) {\n\t\t\t\t\tparseError('character reference was not terminated by a semicolon');\n\t\t\t\t}\n\t\t\t\tcodePoint = parseInt(decDigits, 10);\n\t\t\t\treturn codePointToSymbol(codePoint, strict);\n\t\t\t}\n\n\t\t\tif ($6) {\n\t\t\t\t// Decode hexadecimal escapes, e.g. `𝌆`.\n\t\t\t\thexDigits = $6;\n\t\t\t\tsemicolon = $7;\n\t\t\t\tif (strict && !semicolon) {\n\t\t\t\t\tparseError('character reference was not terminated by a semicolon');\n\t\t\t\t}\n\t\t\t\tcodePoint = parseInt(hexDigits, 16);\n\t\t\t\treturn codePointToSymbol(codePoint, strict);\n\t\t\t}\n\n\t\t\t// If we’re still here, `if ($7)` is implied; it’s an ambiguous\n\t\t\t// ampersand for sure. https://mths.be/notes/ambiguous-ampersands\n\t\t\tif (strict) {\n\t\t\t\tparseError(\n\t\t\t\t\t'named character reference was not terminated by a semicolon'\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn $0;\n\t\t});\n\t};\n\t// Expose default options (so they can be overridden globally).\n\tdecode.options = {\n\t\t'isAttributeValue': false,\n\t\t'strict': false\n\t};\n\n\tvar escape = function(string) {\n\t\treturn string.replace(regexEscape, function($0) {\n\t\t\t// Note: there is no need to check `has(escapeMap, $0)` here.\n\t\t\treturn escapeMap[$0];\n\t\t});\n\t};\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar he = {\n\t\t'version': '1.2.0',\n\t\t'encode': encode,\n\t\t'decode': decode,\n\t\t'escape': escape,\n\t\t'unescape': decode\n\t};\n\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine(function() {\n\t\t\treturn he;\n\t\t});\n\t}\telse if (freeExports && !freeExports.nodeType) {\n\t\tif (freeModule) { // in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = he;\n\t\t} else { // in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (var key in he) {\n\t\t\t\thas(he, key) && (freeExports[key] = he[key]);\n\t\t\t}\n\t\t}\n\t} else { // in Rhino or a web browser\n\t\troot.he = he;\n\t}\n\n}(this));\n","var map = {\n\t\"./af\": 42786,\n\t\"./af.js\": 42786,\n\t\"./ar\": 30867,\n\t\"./ar-dz\": 14130,\n\t\"./ar-dz.js\": 14130,\n\t\"./ar-kw\": 96135,\n\t\"./ar-kw.js\": 96135,\n\t\"./ar-ly\": 56440,\n\t\"./ar-ly.js\": 56440,\n\t\"./ar-ma\": 47702,\n\t\"./ar-ma.js\": 47702,\n\t\"./ar-sa\": 16040,\n\t\"./ar-sa.js\": 16040,\n\t\"./ar-tn\": 37100,\n\t\"./ar-tn.js\": 37100,\n\t\"./ar.js\": 30867,\n\t\"./az\": 31083,\n\t\"./az.js\": 31083,\n\t\"./be\": 9808,\n\t\"./be.js\": 9808,\n\t\"./bg\": 68338,\n\t\"./bg.js\": 68338,\n\t\"./bm\": 67438,\n\t\"./bm.js\": 67438,\n\t\"./bn\": 8905,\n\t\"./bn-bd\": 76225,\n\t\"./bn-bd.js\": 76225,\n\t\"./bn.js\": 8905,\n\t\"./bo\": 11560,\n\t\"./bo.js\": 11560,\n\t\"./br\": 1278,\n\t\"./br.js\": 1278,\n\t\"./bs\": 80622,\n\t\"./bs.js\": 80622,\n\t\"./ca\": 2468,\n\t\"./ca.js\": 2468,\n\t\"./cs\": 5822,\n\t\"./cs.js\": 5822,\n\t\"./cv\": 50877,\n\t\"./cv.js\": 50877,\n\t\"./cy\": 47373,\n\t\"./cy.js\": 47373,\n\t\"./da\": 24780,\n\t\"./da.js\": 24780,\n\t\"./de\": 59740,\n\t\"./de-at\": 60217,\n\t\"./de-at.js\": 60217,\n\t\"./de-ch\": 60894,\n\t\"./de-ch.js\": 60894,\n\t\"./de.js\": 59740,\n\t\"./dv\": 5300,\n\t\"./dv.js\": 5300,\n\t\"./el\": 50837,\n\t\"./el.js\": 50837,\n\t\"./en-au\": 78348,\n\t\"./en-au.js\": 78348,\n\t\"./en-ca\": 77925,\n\t\"./en-ca.js\": 77925,\n\t\"./en-gb\": 22243,\n\t\"./en-gb.js\": 22243,\n\t\"./en-ie\": 46436,\n\t\"./en-ie.js\": 46436,\n\t\"./en-il\": 47207,\n\t\"./en-il.js\": 47207,\n\t\"./en-in\": 44175,\n\t\"./en-in.js\": 44175,\n\t\"./en-nz\": 76319,\n\t\"./en-nz.js\": 76319,\n\t\"./en-sg\": 31662,\n\t\"./en-sg.js\": 31662,\n\t\"./eo\": 92915,\n\t\"./eo.js\": 92915,\n\t\"./es\": 55655,\n\t\"./es-do\": 55251,\n\t\"./es-do.js\": 55251,\n\t\"./es-mx\": 96112,\n\t\"./es-mx.js\": 96112,\n\t\"./es-us\": 71146,\n\t\"./es-us.js\": 71146,\n\t\"./es.js\": 55655,\n\t\"./et\": 5603,\n\t\"./et.js\": 5603,\n\t\"./eu\": 77763,\n\t\"./eu.js\": 77763,\n\t\"./fa\": 76959,\n\t\"./fa.js\": 76959,\n\t\"./fi\": 11897,\n\t\"./fi.js\": 11897,\n\t\"./fil\": 42549,\n\t\"./fil.js\": 42549,\n\t\"./fo\": 94694,\n\t\"./fo.js\": 94694,\n\t\"./fr\": 94470,\n\t\"./fr-ca\": 63049,\n\t\"./fr-ca.js\": 63049,\n\t\"./fr-ch\": 52330,\n\t\"./fr-ch.js\": 52330,\n\t\"./fr.js\": 94470,\n\t\"./fy\": 5044,\n\t\"./fy.js\": 5044,\n\t\"./ga\": 29295,\n\t\"./ga.js\": 29295,\n\t\"./gd\": 2101,\n\t\"./gd.js\": 2101,\n\t\"./gl\": 38794,\n\t\"./gl.js\": 38794,\n\t\"./gom-deva\": 27884,\n\t\"./gom-deva.js\": 27884,\n\t\"./gom-latn\": 23168,\n\t\"./gom-latn.js\": 23168,\n\t\"./gu\": 95349,\n\t\"./gu.js\": 95349,\n\t\"./he\": 24206,\n\t\"./he.js\": 24206,\n\t\"./hi\": 30094,\n\t\"./hi.js\": 30094,\n\t\"./hr\": 30316,\n\t\"./hr.js\": 30316,\n\t\"./hu\": 22138,\n\t\"./hu.js\": 22138,\n\t\"./hy-am\": 11423,\n\t\"./hy-am.js\": 11423,\n\t\"./id\": 29218,\n\t\"./id.js\": 29218,\n\t\"./is\": 90135,\n\t\"./is.js\": 90135,\n\t\"./it\": 90626,\n\t\"./it-ch\": 10150,\n\t\"./it-ch.js\": 10150,\n\t\"./it.js\": 90626,\n\t\"./ja\": 39183,\n\t\"./ja.js\": 39183,\n\t\"./jv\": 24286,\n\t\"./jv.js\": 24286,\n\t\"./ka\": 12105,\n\t\"./ka.js\": 12105,\n\t\"./kk\": 47772,\n\t\"./kk.js\": 47772,\n\t\"./km\": 18758,\n\t\"./km.js\": 18758,\n\t\"./kn\": 79282,\n\t\"./kn.js\": 79282,\n\t\"./ko\": 33730,\n\t\"./ko.js\": 33730,\n\t\"./ku\": 1408,\n\t\"./ku.js\": 1408,\n\t\"./ky\": 33291,\n\t\"./ky.js\": 33291,\n\t\"./lb\": 36841,\n\t\"./lb.js\": 36841,\n\t\"./lo\": 55466,\n\t\"./lo.js\": 55466,\n\t\"./lt\": 57010,\n\t\"./lt.js\": 57010,\n\t\"./lv\": 37595,\n\t\"./lv.js\": 37595,\n\t\"./me\": 39861,\n\t\"./me.js\": 39861,\n\t\"./mi\": 35493,\n\t\"./mi.js\": 35493,\n\t\"./mk\": 95966,\n\t\"./mk.js\": 95966,\n\t\"./ml\": 87341,\n\t\"./ml.js\": 87341,\n\t\"./mn\": 5115,\n\t\"./mn.js\": 5115,\n\t\"./mr\": 10370,\n\t\"./mr.js\": 10370,\n\t\"./ms\": 9847,\n\t\"./ms-my\": 41237,\n\t\"./ms-my.js\": 41237,\n\t\"./ms.js\": 9847,\n\t\"./mt\": 72126,\n\t\"./mt.js\": 72126,\n\t\"./my\": 56165,\n\t\"./my.js\": 56165,\n\t\"./nb\": 64924,\n\t\"./nb.js\": 64924,\n\t\"./ne\": 16744,\n\t\"./ne.js\": 16744,\n\t\"./nl\": 93901,\n\t\"./nl-be\": 59814,\n\t\"./nl-be.js\": 59814,\n\t\"./nl.js\": 93901,\n\t\"./nn\": 83877,\n\t\"./nn.js\": 83877,\n\t\"./oc-lnc\": 92135,\n\t\"./oc-lnc.js\": 92135,\n\t\"./pa-in\": 15858,\n\t\"./pa-in.js\": 15858,\n\t\"./pl\": 64495,\n\t\"./pl.js\": 64495,\n\t\"./pt\": 89520,\n\t\"./pt-br\": 57971,\n\t\"./pt-br.js\": 57971,\n\t\"./pt.js\": 89520,\n\t\"./ro\": 96459,\n\t\"./ro.js\": 96459,\n\t\"./ru\": 21793,\n\t\"./ru.js\": 21793,\n\t\"./sd\": 40950,\n\t\"./sd.js\": 40950,\n\t\"./se\": 10490,\n\t\"./se.js\": 10490,\n\t\"./si\": 90124,\n\t\"./si.js\": 90124,\n\t\"./sk\": 64249,\n\t\"./sk.js\": 64249,\n\t\"./sl\": 14985,\n\t\"./sl.js\": 14985,\n\t\"./sq\": 51104,\n\t\"./sq.js\": 51104,\n\t\"./sr\": 49131,\n\t\"./sr-cyrl\": 79915,\n\t\"./sr-cyrl.js\": 79915,\n\t\"./sr.js\": 49131,\n\t\"./ss\": 85893,\n\t\"./ss.js\": 85893,\n\t\"./sv\": 98760,\n\t\"./sv.js\": 98760,\n\t\"./sw\": 91172,\n\t\"./sw.js\": 91172,\n\t\"./ta\": 27333,\n\t\"./ta.js\": 27333,\n\t\"./te\": 23110,\n\t\"./te.js\": 23110,\n\t\"./tet\": 52095,\n\t\"./tet.js\": 52095,\n\t\"./tg\": 27321,\n\t\"./tg.js\": 27321,\n\t\"./th\": 9041,\n\t\"./th.js\": 9041,\n\t\"./tk\": 19005,\n\t\"./tk.js\": 19005,\n\t\"./tl-ph\": 75768,\n\t\"./tl-ph.js\": 75768,\n\t\"./tlh\": 89444,\n\t\"./tlh.js\": 89444,\n\t\"./tr\": 72397,\n\t\"./tr.js\": 72397,\n\t\"./tzl\": 28254,\n\t\"./tzl.js\": 28254,\n\t\"./tzm\": 51106,\n\t\"./tzm-latn\": 30699,\n\t\"./tzm-latn.js\": 30699,\n\t\"./tzm.js\": 51106,\n\t\"./ug-cn\": 9288,\n\t\"./ug-cn.js\": 9288,\n\t\"./uk\": 67691,\n\t\"./uk.js\": 67691,\n\t\"./ur\": 13795,\n\t\"./ur.js\": 13795,\n\t\"./uz\": 6791,\n\t\"./uz-latn\": 60588,\n\t\"./uz-latn.js\": 60588,\n\t\"./uz.js\": 6791,\n\t\"./vi\": 65666,\n\t\"./vi.js\": 65666,\n\t\"./x-pseudo\": 14378,\n\t\"./x-pseudo.js\": 14378,\n\t\"./yo\": 75805,\n\t\"./yo.js\": 75805,\n\t\"./zh-cn\": 83839,\n\t\"./zh-cn.js\": 83839,\n\t\"./zh-hk\": 55726,\n\t\"./zh-hk.js\": 55726,\n\t\"./zh-mo\": 99807,\n\t\"./zh-mo.js\": 99807,\n\t\"./zh-tw\": 74152,\n\t\"./zh-tw.js\": 74152\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;","/**\n* @license nested-property https://github.com/cosmosio/nested-property\n*\n* The MIT License (MIT)\n*\n* Copyright (c) 2014-2020 Olivier Scherrer \n*/\n\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar ARRAY_WILDCARD = \"+\";\nvar PATH_DELIMITER = \".\";\n\nvar ObjectPrototypeMutationError = /*#__PURE__*/function (_Error) {\n  _inherits(ObjectPrototypeMutationError, _Error);\n\n  function ObjectPrototypeMutationError(params) {\n    var _this;\n\n    _classCallCheck(this, ObjectPrototypeMutationError);\n\n    _this = _possibleConstructorReturn(this, _getPrototypeOf(ObjectPrototypeMutationError).call(this, params));\n    _this.name = \"ObjectPrototypeMutationError\";\n    return _this;\n  }\n\n  return ObjectPrototypeMutationError;\n}(_wrapNativeSuper(Error));\n\nmodule.exports = {\n  set: setNestedProperty,\n  get: getNestedProperty,\n  has: hasNestedProperty,\n  hasOwn: function hasOwn(object, property, options) {\n    return this.has(object, property, options || {\n      own: true\n    });\n  },\n  isIn: isInNestedProperty,\n  ObjectPrototypeMutationError: ObjectPrototypeMutationError\n};\n/**\n * Get the property of an object nested in one or more objects or array\n * Given an object such as a.b.c.d = 5, getNestedProperty(a, \"b.c.d\") will return 5.\n * It also works through arrays. Given a nested array such as a[0].b = 5, getNestedProperty(a, \"0.b\") will return 5.\n * For accessing nested properties through all items in an array, you may use the array wildcard \"+\".\n * For instance, getNestedProperty([{a:1}, {a:2}, {a:3}], \"+.a\") will return [1, 2, 3]\n * @param {Object} object the object to get the property from\n * @param {String} property the path to the property as a string\n * @returns the object or the the property value if found\n */\n\nfunction getNestedProperty(object, property) {\n  if (_typeof(object) != \"object\" || object === null) {\n    return object;\n  }\n\n  if (typeof property == \"undefined\") {\n    return object;\n  }\n\n  if (typeof property == \"number\") {\n    return object[property];\n  }\n\n  try {\n    return traverse(object, property, function _getNestedProperty(currentObject, currentProperty) {\n      return currentObject[currentProperty];\n    });\n  } catch (err) {\n    return object;\n  }\n}\n/**\n * Tell if a nested object has a given property (or array a given index)\n * given an object such as a.b.c.d = 5, hasNestedProperty(a, \"b.c.d\") will return true.\n * It also returns true if the property is in the prototype chain.\n * @param {Object} object the object to get the property from\n * @param {String} property the path to the property as a string\n * @param {Object} options:\n *  - own: set to reject properties from the prototype\n * @returns true if has (property in object), false otherwise\n */\n\n\nfunction hasNestedProperty(object, property) {\n  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n  if (_typeof(object) != \"object\" || object === null) {\n    return false;\n  }\n\n  if (typeof property == \"undefined\") {\n    return false;\n  }\n\n  if (typeof property == \"number\") {\n    return property in object;\n  }\n\n  try {\n    var has = false;\n    traverse(object, property, function _hasNestedProperty(currentObject, currentProperty, segments, index) {\n      if (isLastSegment(segments, index)) {\n        if (options.own) {\n          has = currentObject.hasOwnProperty(currentProperty);\n        } else {\n          has = currentProperty in currentObject;\n        }\n      } else {\n        return currentObject && currentObject[currentProperty];\n      }\n    });\n    return has;\n  } catch (err) {\n    return false;\n  }\n}\n/**\n * Set the property of an object nested in one or more objects\n * If the property doesn't exist, it gets created.\n * @param {Object} object\n * @param {String} property\n * @param value the value to set\n * @returns object if no assignment was made or the value if the assignment was made\n */\n\n\nfunction setNestedProperty(object, property, value) {\n  if (_typeof(object) != \"object\" || object === null) {\n    return object;\n  }\n\n  if (typeof property == \"undefined\") {\n    return object;\n  }\n\n  if (typeof property == \"number\") {\n    object[property] = value;\n    return object[property];\n  }\n\n  try {\n    return traverse(object, property, function _setNestedProperty(currentObject, currentProperty, segments, index) {\n      if (currentObject === Reflect.getPrototypeOf({})) {\n        throw new ObjectPrototypeMutationError(\"Attempting to mutate Object.prototype\");\n      }\n\n      if (!currentObject[currentProperty]) {\n        var nextPropIsNumber = Number.isInteger(Number(segments[index + 1]));\n        var nextPropIsArrayWildcard = segments[index + 1] === ARRAY_WILDCARD;\n\n        if (nextPropIsNumber || nextPropIsArrayWildcard) {\n          currentObject[currentProperty] = [];\n        } else {\n          currentObject[currentProperty] = {};\n        }\n      }\n\n      if (isLastSegment(segments, index)) {\n        currentObject[currentProperty] = value;\n      }\n\n      return currentObject[currentProperty];\n    });\n  } catch (err) {\n    if (err instanceof ObjectPrototypeMutationError) {\n      // rethrow\n      throw err;\n    } else {\n      return object;\n    }\n  }\n}\n/**\n * Tell if an object is on the path to a nested property\n * If the object is on the path, and the path exists, it returns true, and false otherwise.\n * @param {Object} object to get the nested property from\n * @param {String} property name of the nested property\n * @param {Object} objectInPath the object to check\n * @param {Object} options:\n *  - validPath: return false if the path is invalid, even if the object is in the path\n * @returns {boolean} true if the object is on the path\n */\n\n\nfunction isInNestedProperty(object, property, objectInPath) {\n  var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n  if (_typeof(object) != \"object\" || object === null) {\n    return false;\n  }\n\n  if (typeof property == \"undefined\") {\n    return false;\n  }\n\n  try {\n    var isIn = false,\n        pathExists = false;\n    traverse(object, property, function _isInNestedProperty(currentObject, currentProperty, segments, index) {\n      isIn = isIn || currentObject === objectInPath || !!currentObject && currentObject[currentProperty] === objectInPath;\n      pathExists = isLastSegment(segments, index) && _typeof(currentObject) === \"object\" && currentProperty in currentObject;\n      return currentObject && currentObject[currentProperty];\n    });\n\n    if (options.validPath) {\n      return isIn && pathExists;\n    } else {\n      return isIn;\n    }\n  } catch (err) {\n    return false;\n  }\n}\n\nfunction traverse(object, path) {\n  var callback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {};\n  var segments = path.split(PATH_DELIMITER);\n  var length = segments.length;\n\n  var _loop = function _loop(idx) {\n    var currentSegment = segments[idx];\n\n    if (!object) {\n      return {\n        v: void 0\n      };\n    }\n\n    if (currentSegment === ARRAY_WILDCARD) {\n      if (Array.isArray(object)) {\n        return {\n          v: object.map(function (value, index) {\n            var remainingSegments = segments.slice(idx + 1);\n\n            if (remainingSegments.length > 0) {\n              return traverse(value, remainingSegments.join(PATH_DELIMITER), callback);\n            } else {\n              return callback(object, index, segments, idx);\n            }\n          })\n        };\n      } else {\n        var pathToHere = segments.slice(0, idx).join(PATH_DELIMITER);\n        throw new Error(\"Object at wildcard (\".concat(pathToHere, \") is not an array\"));\n      }\n    } else {\n      object = callback(object, currentSegment, segments, idx);\n    }\n  };\n\n  for (var idx = 0; idx < length; idx++) {\n    var _ret = _loop(idx);\n\n    if (_typeof(_ret) === \"object\") return _ret.v;\n  }\n\n  return object;\n}\n\nfunction isLastSegment(segments, index) {\n  return segments.length === index + 1;\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\nvar util = require('util');\nvar isString = function (x) {\n  return typeof x === 'string';\n};\n\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n  var res = [];\n  for (var i = 0; i < parts.length; i++) {\n    var p = parts[i];\n\n    // ignore empty parts\n    if (!p || p === '.')\n      continue;\n\n    if (p === '..') {\n      if (res.length && res[res.length - 1] !== '..') {\n        res.pop();\n      } else if (allowAboveRoot) {\n        res.push('..');\n      }\n    } else {\n      res.push(p);\n    }\n  }\n\n  return res;\n}\n\n// Split a filename into [root, dir, basename, ext], unix version\n// 'root' is just a slash, or nothing.\nvar splitPathRe =\n    /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\nvar posix = {};\n\n\nfunction posixSplitPath(filename) {\n  return splitPathRe.exec(filename).slice(1);\n}\n\n\n// path.resolve([from ...], to)\n// posix version\nposix.resolve = function() {\n  var resolvedPath = '',\n      resolvedAbsolute = false;\n\n  for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n    var path = (i >= 0) ? arguments[i] : process.cwd();\n\n    // Skip empty and invalid entries\n    if (!isString(path)) {\n      throw new TypeError('Arguments to path.resolve must be strings');\n    } else if (!path) {\n      continue;\n    }\n\n    resolvedPath = path + '/' + resolvedPath;\n    resolvedAbsolute = path.charAt(0) === '/';\n  }\n\n  // At this point the path should be resolved to a full absolute path, but\n  // handle relative paths to be safe (might happen when process.cwd() fails)\n\n  // Normalize the path\n  resolvedPath = normalizeArray(resolvedPath.split('/'),\n                                !resolvedAbsolute).join('/');\n\n  return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nposix.normalize = function(path) {\n  var isAbsolute = posix.isAbsolute(path),\n      trailingSlash = path.substr(-1) === '/';\n\n  // Normalize the path\n  path = normalizeArray(path.split('/'), !isAbsolute).join('/');\n\n  if (!path && !isAbsolute) {\n    path = '.';\n  }\n  if (path && trailingSlash) {\n    path += '/';\n  }\n\n  return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nposix.isAbsolute = function(path) {\n  return path.charAt(0) === '/';\n};\n\n// posix version\nposix.join = function() {\n  var path = '';\n  for (var i = 0; i < arguments.length; i++) {\n    var segment = arguments[i];\n    if (!isString(segment)) {\n      throw new TypeError('Arguments to path.join must be strings');\n    }\n    if (segment) {\n      if (!path) {\n        path += segment;\n      } else {\n        path += '/' + segment;\n      }\n    }\n  }\n  return posix.normalize(path);\n};\n\n\n// path.relative(from, to)\n// posix version\nposix.relative = function(from, to) {\n  from = posix.resolve(from).substr(1);\n  to = posix.resolve(to).substr(1);\n\n  function trim(arr) {\n    var start = 0;\n    for (; start < arr.length; start++) {\n      if (arr[start] !== '') break;\n    }\n\n    var end = arr.length - 1;\n    for (; end >= 0; end--) {\n      if (arr[end] !== '') break;\n    }\n\n    if (start > end) return [];\n    return arr.slice(start, end + 1);\n  }\n\n  var fromParts = trim(from.split('/'));\n  var toParts = trim(to.split('/'));\n\n  var length = Math.min(fromParts.length, toParts.length);\n  var samePartsLength = length;\n  for (var i = 0; i < length; i++) {\n    if (fromParts[i] !== toParts[i]) {\n      samePartsLength = i;\n      break;\n    }\n  }\n\n  var outputParts = [];\n  for (var i = samePartsLength; i < fromParts.length; i++) {\n    outputParts.push('..');\n  }\n\n  outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n  return outputParts.join('/');\n};\n\n\nposix._makeLong = function(path) {\n  return path;\n};\n\n\nposix.dirname = function(path) {\n  var result = posixSplitPath(path),\n      root = result[0],\n      dir = result[1];\n\n  if (!root && !dir) {\n    // No dirname whatsoever\n    return '.';\n  }\n\n  if (dir) {\n    // It has a dirname, strip trailing slash\n    dir = dir.substr(0, dir.length - 1);\n  }\n\n  return root + dir;\n};\n\n\nposix.basename = function(path, ext) {\n  var f = posixSplitPath(path)[2];\n  // TODO: make this comparison case-insensitive on windows?\n  if (ext && f.substr(-1 * ext.length) === ext) {\n    f = f.substr(0, f.length - ext.length);\n  }\n  return f;\n};\n\n\nposix.extname = function(path) {\n  return posixSplitPath(path)[3];\n};\n\n\nposix.format = function(pathObject) {\n  if (!util.isObject(pathObject)) {\n    throw new TypeError(\n        \"Parameter 'pathObject' must be an object, not \" + typeof pathObject\n    );\n  }\n\n  var root = pathObject.root || '';\n\n  if (!isString(root)) {\n    throw new TypeError(\n        \"'pathObject.root' must be a string or undefined, not \" +\n        typeof pathObject.root\n    );\n  }\n\n  var dir = pathObject.dir ? pathObject.dir + posix.sep : '';\n  var base = pathObject.base || '';\n  return dir + base;\n};\n\n\nposix.parse = function(pathString) {\n  if (!isString(pathString)) {\n    throw new TypeError(\n        \"Parameter 'pathString' must be a string, not \" + typeof pathString\n    );\n  }\n  var allParts = posixSplitPath(pathString);\n  if (!allParts || allParts.length !== 4) {\n    throw new TypeError(\"Invalid path '\" + pathString + \"'\");\n  }\n  allParts[1] = allParts[1] || '';\n  allParts[2] = allParts[2] || '';\n  allParts[3] = allParts[3] || '';\n\n  return {\n    root: allParts[0],\n    dir: allParts[0] + allParts[1].slice(0, allParts[1].length - 1),\n    base: allParts[2],\n    ext: allParts[3],\n    name: allParts[2].slice(0, allParts[2].length - allParts[3].length)\n  };\n};\n\n\nposix.sep = '/';\nposix.delimiter = ':';\n\n  module.exports = posix;\n","var balanced = require('balanced-match');\n\nmodule.exports = expandTop;\n\nvar escSlash = '\\0SLASH'+Math.random()+'\\0';\nvar escOpen = '\\0OPEN'+Math.random()+'\\0';\nvar escClose = '\\0CLOSE'+Math.random()+'\\0';\nvar escComma = '\\0COMMA'+Math.random()+'\\0';\nvar escPeriod = '\\0PERIOD'+Math.random()+'\\0';\n\nfunction numeric(str) {\n  return parseInt(str, 10) == str\n    ? parseInt(str, 10)\n    : str.charCodeAt(0);\n}\n\nfunction escapeBraces(str) {\n  return str.split('\\\\\\\\').join(escSlash)\n            .split('\\\\{').join(escOpen)\n            .split('\\\\}').join(escClose)\n            .split('\\\\,').join(escComma)\n            .split('\\\\.').join(escPeriod);\n}\n\nfunction unescapeBraces(str) {\n  return str.split(escSlash).join('\\\\')\n            .split(escOpen).join('{')\n            .split(escClose).join('}')\n            .split(escComma).join(',')\n            .split(escPeriod).join('.');\n}\n\n\n// Basically just str.split(\",\"), but handling cases\n// where we have nested braced sections, which should be\n// treated as individual members, like {a,{b,c},d}\nfunction parseCommaParts(str) {\n  if (!str)\n    return [''];\n\n  var parts = [];\n  var m = balanced('{', '}', str);\n\n  if (!m)\n    return str.split(',');\n\n  var pre = m.pre;\n  var body = m.body;\n  var post = m.post;\n  var p = pre.split(',');\n\n  p[p.length-1] += '{' + body + '}';\n  var postParts = parseCommaParts(post);\n  if (post.length) {\n    p[p.length-1] += postParts.shift();\n    p.push.apply(p, postParts);\n  }\n\n  parts.push.apply(parts, p);\n\n  return parts;\n}\n\nfunction expandTop(str) {\n  if (!str)\n    return [];\n\n  // I don't know why Bash 4.3 does this, but it does.\n  // Anything starting with {} will have the first two bytes preserved\n  // but *only* at the top level, so {},a}b will not expand to anything,\n  // but a{},b}c will be expanded to [a}c,abc].\n  // One could argue that this is a bug in Bash, but since the goal of\n  // this module is to match Bash's rules, we escape a leading {}\n  if (str.substr(0, 2) === '{}') {\n    str = '\\\\{\\\\}' + str.substr(2);\n  }\n\n  return expand(escapeBraces(str), true).map(unescapeBraces);\n}\n\nfunction embrace(str) {\n  return '{' + str + '}';\n}\nfunction isPadded(el) {\n  return /^-?0\\d/.test(el);\n}\n\nfunction lte(i, y) {\n  return i <= y;\n}\nfunction gte(i, y) {\n  return i >= y;\n}\n\nfunction expand(str, isTop) {\n  var expansions = [];\n\n  var m = balanced('{', '}', str);\n  if (!m) return [str];\n\n  // no need to expand pre, since it is guaranteed to be free of brace-sets\n  var pre = m.pre;\n  var post = m.post.length\n    ? expand(m.post, false)\n    : [''];\n\n  if (/\\$$/.test(m.pre)) {    \n    for (var k = 0; k < post.length; k++) {\n      var expansion = pre+ '{' + m.body + '}' + post[k];\n      expansions.push(expansion);\n    }\n  } else {\n    var isNumericSequence = /^-?\\d+\\.\\.-?\\d+(?:\\.\\.-?\\d+)?$/.test(m.body);\n    var isAlphaSequence = /^[a-zA-Z]\\.\\.[a-zA-Z](?:\\.\\.-?\\d+)?$/.test(m.body);\n    var isSequence = isNumericSequence || isAlphaSequence;\n    var isOptions = m.body.indexOf(',') >= 0;\n    if (!isSequence && !isOptions) {\n      // {a},b}\n      if (m.post.match(/,.*\\}/)) {\n        str = m.pre + '{' + m.body + escClose + m.post;\n        return expand(str);\n      }\n      return [str];\n    }\n\n    var n;\n    if (isSequence) {\n      n = m.body.split(/\\.\\./);\n    } else {\n      n = parseCommaParts(m.body);\n      if (n.length === 1) {\n        // x{{a,b}}y ==> x{a}y x{b}y\n        n = expand(n[0], false).map(embrace);\n        if (n.length === 1) {\n          return post.map(function(p) {\n            return m.pre + n[0] + p;\n          });\n        }\n      }\n    }\n\n    // at this point, n is the parts, and we know it's not a comma set\n    // with a single entry.\n    var N;\n\n    if (isSequence) {\n      var x = numeric(n[0]);\n      var y = numeric(n[1]);\n      var width = Math.max(n[0].length, n[1].length)\n      var incr = n.length == 3\n        ? Math.abs(numeric(n[2]))\n        : 1;\n      var test = lte;\n      var reverse = y < x;\n      if (reverse) {\n        incr *= -1;\n        test = gte;\n      }\n      var pad = n.some(isPadded);\n\n      N = [];\n\n      for (var i = x; test(i, y); i += incr) {\n        var c;\n        if (isAlphaSequence) {\n          c = String.fromCharCode(i);\n          if (c === '\\\\')\n            c = '';\n        } else {\n          c = String(i);\n          if (pad) {\n            var need = width - c.length;\n            if (need > 0) {\n              var z = new Array(need + 1).join('0');\n              if (i < 0)\n                c = '-' + z + c.slice(1);\n              else\n                c = z + c;\n            }\n          }\n        }\n        N.push(c);\n      }\n    } else {\n      N = [];\n\n      for (var j = 0; j < n.length; j++) {\n        N.push.apply(N, expand(n[j], false));\n      }\n    }\n\n    for (var j = 0; j < N.length; j++) {\n      for (var k = 0; k < post.length; k++) {\n        var expansion = pre + N[j] + post[k];\n        if (!isTop || isSequence || expansion)\n          expansions.push(expansion);\n      }\n    }\n  }\n\n  return expansions;\n}\n\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"3245\":\"f413ed246f2d418b1934\",\"6318\":\"a59ab0e92c526b05f790\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 6335;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t6335: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [7874], function() { return __webpack_require__(92573); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","_typeof","obj","Symbol","iterator","constructor","prototype","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_toConsumableArray","arr","Array","isArray","arr2","_arrayWithoutHoles","iter","toString","call","from","_iterableToArray","TypeError","_nonIterableSpread","deepEqual","val1","val2","VisibilityState","el","options","vnode","instance","Constructor","_classCallCheck","this","observer","frozen","createObserver","protoProps","value","_this","destroyObserver","callback","result","entry","once","throttle","_leading","throttleOptions","leading","delay","timeout","lastState","currentArgs","arguments","undefined","throttled","state","_len","args","_key","apply","concat","clearTimeout","setTimeout","_clear","oldResult","IntersectionObserver","entries","intersectingEntry","find","e","isIntersecting","intersectionRatio","threshold","intersection","context","$nextTick","observe","disconnect","get","bind","_ref2","console","warn","_vue_visibilityState","unbind","ObserveVisibility","update","_ref3","oldValue","version","install","Vue","directive","GlobalVue","window","g","use","name","emits","title","type","String","fillColor","default","size","Number","_vm","_c","_self","_b","staticClass","attrs","on","$event","$emit","$attrs","_v","_s","_e","timestamp","required","format","computed","moment","formatted","fromNow","getRootPath","generateRemoteUrl","decodeHtmlEntities","passes","parser","DOMParser","decoded","parseFromString","documentElement","textContent","createClient","headers","requesttoken","_getRequestToken","getRequestToken","_regeneratorRuntime","exports","Op","hasOwn","hasOwnProperty","desc","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","Context","makeInvokeMethod","tryCatch","fn","arg","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","Error","done","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","methodName","return","info","resultName","next","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","doneResult","displayName","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","catch","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_x","_x2","_x3","_ref","_callee","commentsType","ressourceId","message","ressourcePath","response","commentId","commentPath","comment","_context","join","axios","post","actorDisplayName","getCurrentUser","actorId","uid","actorType","creationDateTime","Date","toUTCString","objectType","verb","parseInt","split","client","stat","details","data","deleteFile","_x4","customRequest","assign","_asyncToGenerator","id","deleted","editing","loading","methods","onEdit","onEditCancel","updateLocalMessage","onEditComment","EditComment","logger","debug","t0","showError","t","onDeleteWithUndo","_this2","timeOutDelete","onDelete","TOAST_UNDO_TIMEOUT","showUndo","_this3","_callee2","_context2","DeleteComment","onNewComment","_this4","_callee3","newComment","_context3","NewComment","localMessage","components","NcActionButton","NcActions","NcActionSeparator","ArrowRight","NcAvatar","NcButton","Moment","NcRichContenteditable","mixins","RichEditorMixin","CommentMixin","inheritAttrs","editor","Boolean","autoComplete","Function","tag","expanded","isOwnComment","renderedContent","isEmptyMessage","renderContent","trim","watch","beforeMount","onSubmit","$refs","$el","focus","onExpand","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","directives","rawName","expression","class","preventDefault","ref","userData","scopedSlots","_u","proxy","domProps","posixClasses","braceEscape","s","replace","rangesToString","ranges","parseClass","glob","position","pos","negs","sawStart","uflag","escaping","negate","endPos","rangeStart","WHILE","c","cls","unip","u","neg","startsWith","test","sranges","snegs","p","pattern","assertValidPattern","nocomment","Minimatch","match","starDotExtRE","starDotExtTest","ext","f","endsWith","starDotExtTestDot","starDotExtTestNocase","toLowerCase","starDotExtTestNocaseDot","starDotStarRE","starDotStarTest","includes","starDotStarTestDot","dotStarRE","dotStarTest","starRE","starTest","starTestDot","qmarksRE","qmarksTestNocase","$0","noext","qmarksTestNoExt","qmarksTestNocaseDot","qmarksTestNoExtDot","qmarksTestDot","qmarksTest","len","defaultPlatform","process","env","__MINIMATCH_TESTING_PLATFORM__","platform","sep","GLOBSTAR","plTypes","open","close","qmark","star","charSet","reduce","set","reSpecials","addPatternStartSet","filter","a","b","defaults","def","orig","super","unescape","escape","makeRe","braceExpand","list","nobrace","mm","nonull","globMagic","regExpEscape","windowsPathsNoEscape","nonegate","empty","preserveMultipleSlashes","partial","globSet","globParts","nocase","isWindows","windowsNoMagicRoot","regexp","allowWindowsEscape","make","hasMagic","magicalBraces","part","_","parseNegate","Set","rawGlobParts","map","slashSplit","preprocess","__","isUNC","isDrive","ss","parse","indexOf","noglobstar","j","optimizationLevel","firstPhasePreProcess","secondPhasePreProcess","levelOneOptimize","adjascentGlobstarOptimize","parts","gs","splice","levelTwoFileOptimize","didSomething","dd","gss","p2","other","splin","matched","partsMatch","emptyGSMatch","ai","bi","which","dot","negateOffset","matchOne","file","fileUNC","patternUNC","fd","pd","fi","pi","fl","pl","fr","pr","swallowee","hit","m","fastTest","re","patternListStack","negativeLists","stateChar","dotTravAllowed","dotFileAllowed","subPatternStart","clearStateChar","plEntry","start","reStart","reEnd","src","needUflag","consumed","magic","tail","$1","$2","addPatternStart","n","nl","nlBefore","nlFirst","nlAfter","nlLast","closeParensBefore","openParensBefore","cleanAfter","nocaseMagicOnly","toUpperCase","flags","_glob","_src","RegExp","er","twoStar","pp","ex","ff","filename","matchBase","flipNegate","processResponsePayload","isDetailed","status","statusText","PropertyType","getComments","responseData","offset","text","parseXML","getDirectoryFiles","multistatus","item","propstat","prop","rawFilename","getlastmodified","lastMod","getcontentlength","rawSize","resourcetype","resourceType","getcontenttype","mimeType","getetag","etag","collection","txt","document","createElement","innerHTML","he","decode","decodeHTMLEntities","basename","lastmod","mime","prepareFileFromProps","request","controller","AbortController","signal","fetch","url","abort","VTooltip","VueObserveVisibility","Comment","NcEmptyContent","RefreshIcon","MessageReplyTextIcon","AlertCircleOutlineIcon","comments","cancelRequest","editorData","hasComments","isFirstLoading","onVisibilityChange","isVisible","date","readMarker","resetState","onScrollBottomReached","genMentionsData","mentions","flat","mention","mentionId","icon","label","mentionDisplayName","source","primary","_this4$comments","_cancelableRequest","cancelableRequest","t1","search","_this5","_callee4","_context4","generateOcsUrl","params","itemType","itemId","sorter","limit","loadState","ocs","user","unshift","index","findIndex","_l","$set","getLoggerBuilder","setApp","detectUser","build","__webpack_nonce__","btoa","mixin","CommentInstance","_createClass","extend","CommentsApp","OCA","Comments","View","CommentsInstance","balanced","str","maybeMatch","r","range","end","pre","body","reg","begs","beg","left","right","module","root","freeGlobal","global","InvalidCharacterError","TABLE","REGEX_SPACE_CHARACTERS","base64","input","buffer","padding","output","charCodeAt","bitStorage","bitCounter","fromCharCode","___CSS_LOADER_EXPORT___","regexAstralSymbols","regexAsciiWhitelist","regexBmpWhitelist","regexEncodeNonAscii","encodeMap","regexEscape","escapeMap","regexInvalidEntity","regexInvalidRawCodePoint","regexDecode","decodeMap","decodeMapLegacy","decodeMapNumeric","invalidReferenceCodePoints","stringFromCharCode","has","propertyName","merge","codePointToSymbol","codePoint","strict","parseError","array","contains","hexEscape","decEscape","encode","string","encodeEverything","useNamedReferences","allowUnsafeSymbols","escapeCodePoint","decimal","escapeBmpSymbol","symbol","high","low","html","$3","$4","$5","$6","$7","$8","semicolon","decDigits","hexDigits","reference","isAttributeValue","webpackContext","req","webpackContextResolve","__webpack_require__","o","code","_wrapNativeSuper","Class","_cache","Map","Wrapper","_construct","_getPrototypeOf","_setPrototypeOf","Parent","Reflect","construct","sham","Proxy","_isNativeReflectConstruct","ObjectPrototypeMutationError","_Error","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","subClass","superClass","_inherits","traverse","path","segments","_loop","idx","currentSegment","v","remainingSegments","pathToHere","_ret","isLastSegment","property","currentObject","currentProperty","nextPropIsNumber","isInteger","nextPropIsArrayWildcard","own","isIn","objectInPath","pathExists","validPath","util","isString","x","normalizeArray","allowAboveRoot","res","splitPathRe","posix","posixSplitPath","exec","resolvedPath","resolvedAbsolute","cwd","normalize","isAbsolute","trailingSlash","substr","segment","relative","to","fromParts","toParts","Math","min","samePartsLength","outputParts","_makeLong","dirname","dir","extname","pathObject","isObject","base","pathString","allParts","delimiter","expand","escSlash","escOpen","escClose","escComma","escPeriod","escapeBraces","unescapeBraces","random","numeric","parseCommaParts","postParts","shift","embrace","isPadded","lte","y","gte","isTop","expansions","k","expansion","N","isNumericSequence","isAlphaSequence","isSequence","isOptions","width","max","incr","abs","pad","some","need","z","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","every","getter","__esModule","d","definition","chunkId","all","promises","globalThis","l","script","needAttach","scripts","getElementsByTagName","getAttribute","charset","nc","setAttribute","onScriptComplete","event","onerror","onload","doneFns","parentNode","removeChild","head","appendChild","nmd","paths","children","scriptUrl","importScripts","location","currentScript","baseURI","href","installedChunks","installedChunkData","promise","errorType","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file
diff --git a/dist/core-login.js b/dist/core-login.js
index 7248cd135b178..a10652eaecae6 100644
--- a/dist/core-login.js
+++ b/dist/core-login.js
@@ -1,3 +1,3 @@
 /*! For license information please see core-login.js.LICENSE.txt */
-!function(){var e,r,i,o={26366:function(e,r,i){"use strict";var o={};i.r(o),i.d(o,{exclude:function(){return Jt},extract:function(){return Vt},parse:function(){return Zt},parseUrl:function(){return Yt},pick:function(){return Wt},stringify:function(){return Kt},stringifyUrl:function(){return Gt}});var s=i(20144),a=i(69183),u=i(59050),l=i(19755),c=i.n(l),f=i(64024),d=i(25108),h={updatableNotification:null,getDefaultNotificationFunction:null,setDefault:function(t){this.getDefaultNotificationFunction=t},hide:function(t,e){u.default.isFunction(t)&&(e=t,t=void 0),t?(t.each((function(){c()(this)[0].toastify?c()(this)[0].toastify.hideToast():d.error("cannot hide toast because object is not set"),this===this.updatableNotification&&(this.updatableNotification=null)})),e&&e.call(),this.getDefaultNotificationFunction&&this.getDefaultNotificationFunction()):d.error("Missing argument $row in OC.Notification.hide() call, caller needs to be adjusted to only dismiss its own notification")},showHtml:function(t,e){(e=e||{}).isHTML=!0,e.timeout=e.timeout?e.timeout:f.Rl;var n=(0,f.PV)(t,e);return n.toastElement.toastify=n,c()(n.toastElement)},show:function(t,e){(e=e||{}).timeout=e.timeout?e.timeout:f.Rl;var n=(0,f.PV)(function(t){return t.toString().split("&").join("&").split("<").join("<").split(">").join(">").split('"').join(""").split("'").join("'")}(t),e);return n.toastElement.toastify=n,c()(n.toastElement)},showUpdate:function(t){return this.updatableNotification&&this.updatableNotification.hideToast(),this.updatableNotification=(0,f.PV)(t,{timeout:f.Rl}),this.updatableNotification.toastElement.toastify=this.updatableNotification,c()(this.updatableNotification.toastElement)},showTemporary:function(t,e){(e=e||{}).timeout=e.timeout||f.TN;var n=(0,f.PV)(t,e);return n.toastElement.toastify=n,c()(n.toastElement)},isHidden:function(){return!c()("#content").find(".toastify").length}},p=u.default.throttle((function(){h.showTemporary(t("core","Connection to server lost"))}),7e3,{trailing:!1}),m={enableDynamicSlideToggle:function(){},showAppSidebar:function(t){(t||c()("#app-sidebar")).removeClass("disappear").show(),c()("#app-content").trigger(new(c().Event)("appresized"))},hideAppSidebar:function(t){(t||c()("#app-sidebar")).hide().addClass("disappear"),c()("#app-content").trigger(new(c().Event)("appresized"))}},g=i(79753);function v(t,e,n){"post"!==t&&"delete"!==t||!Et.PasswordConfirmation.requiresPasswordConfirmation()?(n=n||{},c().ajax({type:t.toUpperCase(),url:(0,g.generateOcsUrl)("apps/provisioning_api/api/v1/config/apps")+e,data:n.data||{},success:n.success,error:n.error})):Et.PasswordConfirmation.requirePasswordConfirmation(_.bind(v,this,t,e,n))}var y=window.oc_appconfig||{},b={getValue:function(t,e,n,r){!function(t,e,n,r){(r=r||{}).data={defaultValue:n},v("get","/"+t+"/"+e,r)}(t,e,n,{success:r})},setValue:function(t,e,n){!function(t,e,n,r){(r=r||{}).data={value:n},v("post","/"+t+"/"+e,r)}(t,e,n)},getApps:function(t){!function(t){v("get","",t)}({success:t})},getKeys:function(t,e){!function(t,e){v("get","/"+t,e)}(t,{success:e})},deleteKey:function(t,e){!function(t,e,n){v("delete","/"+t+"/"+e,void 0)}(t,e)}},w=void 0!==window._oc_appswebroots&&window._oc_appswebroots,x=i(72316),A=i.n(x),C=i(76591),P=i(25108),k={create:"POST",update:"PROPPATCH",patch:"PROPPATCH",delete:"DELETE",read:"PROPFIND"};function E(t,e){if(u.default.isArray(t))return u.default.map(t,(function(t){return E(t,e)}));var n={href:t.href};return u.default.each(t.propStat,(function(t){if("HTTP/1.1 200 OK"===t.status)for(var r in t.properties){var i=r;r in e&&(i=e[r]),n[i]=t.properties[r]}})),n.id||(n.id=j(n.href)),n}function j(t){var e=t.indexOf("?");e>0&&(t=t.substr(0,e));var n,r=t.split("/");do{n=r[r.length-1],r.pop()}while(!n&&r.length>0);return n}function N(t){return t>=200&&t<=299}function O(t,e,n,r){return t.propPatch(e.url,function(t,e){var n,r={};for(n in t){var i=e[n],o=t[n];i||(P.warn('No matching DAV property for property "'+n),i=n),(u.default.isBoolean(o)||u.default.isNumber(o))&&(o=""+o),r[i]=o}return r}(n.changed,e.davProperties),r).then((function(t){N(t.status)?u.default.isFunction(e.success)&&e.success(n.toJSON()):u.default.isFunction(e.error)&&e.error(t)}))}var T=A().noConflict();Object.assign(T,{davCall:function(t,e){var n=new C.dav.Client({baseUrl:t.url,xmlNamespaces:u.default.extend({"DAV:":"d","http://owncloud.org/ns":"oc"},t.xmlNamespaces||{})});n.resolveUrl=function(){return t.url};var r=u.default.extend({"X-Requested-With":"XMLHttpRequest",requesttoken:OC.requestToken},t.headers);return"PROPFIND"===t.type?function(t,e,n,r){return t.propFind(e.url,u.default.values(e.davProperties)||[],e.depth,r).then((function(t){if(N(t.status)){if(u.default.isFunction(e.success)){var n=u.default.invert(e.davProperties),r=E(t.body,n);e.depth>0&&r.shift(),e.success(r)}}else u.default.isFunction(e.error)&&e.error(t)}))}(n,t,0,r):"PROPPATCH"===t.type?O(n,t,e,r):"MKCOL"===t.type?function(t,e,n,r){return t.request(e.type,e.url,r,null).then((function(i){N(i.status)?O(t,e,n,r):u.default.isFunction(e.error)&&e.error(i)}))}(n,t,e,r):function(t,e,n,r){return r["Content-Type"]="application/json",t.request(e.type,e.url,r,e.data).then((function(t){if(N(t.status)){if(u.default.isFunction(e.success)){if("PUT"===e.type||"POST"===e.type||"MKCOL"===e.type){var r=t.body||n.toJSON(),i=t.xhr.getResponseHeader("Content-Location");return"POST"===e.type&&i&&(r.id=j(i)),void e.success(r)}if(207===t.status){var o=u.default.invert(e.davProperties);e.success(E(t.body,o))}else e.success(t.body)}}else u.default.isFunction(e.error)&&e.error(t)}))}(n,t,e,r)},davSync:function(t){return function(e,n,r){var i={type:k[e]||e},o=n instanceof t.Collection;if("update"===e&&(n.hasInnerCollection?i.type="MKCOL":(n.usePUT||n.collection&&n.collection.usePUT)&&(i.type="PUT")),r.url||(i.url=u.default.result(n,"url")||function(){throw new Error('A "url" property or function must be specified')}()),null!=r.data||!n||"create"!==e&&"update"!==e&&"patch"!==e||(i.data=JSON.stringify(r.attrs||n.toJSON(r))),"PROPFIND"!==i.type&&(i.processData=!1),"PROPFIND"===i.type||"PROPPATCH"===i.type){var s=n.davProperties;!s&&n.model&&(s=n.model.prototype.davProperties),s&&(u.default.isFunction(s)?i.davProperties=s.call(n):i.davProperties=s),i.davProperties=u.default.extend(i.davProperties||{},r.davProperties),u.default.isUndefined(r.depth)&&(r.depth=o?1:0)}var a=r.error;r.error=function(t,e,n){r.textStatus=e,r.errorThrown=n,a&&a.call(r.context,t,e,n)};var l=r.xhr=t.davCall(u.default.extend(i,r),n);return n.trigger("request",n,l,r),l}}(T)});var S=T,L=i(65358),I=window._oc_config||{},R=i(25108),F=x.Model.extend({defaults:{fullName:"",lastMessage:"",actions:[],hasOneAction:!1,hasTwoActions:!1,hasManyActions:!1},initialize:function(){0===this.get("actions").length?this.set("hasOneAction",!0):1===this.get("actions").length?(this.set("hasTwoActions",!0),this.set("secondAction",this.get("actions")[0])):this.set("hasManyActions",!0);var e=this.get("fullName");this.get("avatar")&&e&&this.set("avatarLabel",t("core","Avatar of {fullName}",{fullName:e}))}}),U=x.Collection.extend({model:F}),M=x.View.extend({_collection:void 0,_subViews:[],tagName:"ul",initialize:function(t){this._collection=t.collection},render:function(){var t=this;return t.$el.html(""),t._subViews=[],t._collection.forEach((function(e){var n=new B({model:e});n.render(),t.$el.append(n.$el),n.on("toggle:actionmenu",t._onChildActionMenuToggle,t),t._subViews.push(n)})),t},_onChildActionMenuToggle:function(t){this._subViews.forEach((function(e){e.trigger("parent:toggle:actionmenu",t)}))}}),B=x.View.extend({className:"contact",tagName:"li",_template:void 0,_model:void 0,_actionMenuShown:!1,events:{"click .icon-more":"_onToggleActionsMenu"},contactTemplate:i(10944),template:function(t){return this.contactTemplate(t)},initialize:function(t){this._model=t.model,this.on("parent:toggle:actionmenu",this._onOtherActionMenuOpened,this)},render:function(){return this.$el.html(this.template({contact:this._model.toJSON()})),this.delegateEvents(),this.$("div.avatar").imageplaceholder(this._model.get("fullName")),this},_onToggleActionsMenu:function(){this._actionMenuShown=!this._actionMenuShown,this._actionMenuShown?this.$(".menu").show():this.$(".menu").hide(),this.trigger("toggle:actionmenu",this.$el)},_onOtherActionMenuOpened:function(t){this.$el.is(t)||(this._actionMenuShown=!1,this.$(".menu").hide())}}),D=x.View.extend({_loadingTemplate:void 0,_errorTemplate:void 0,_contentTemplate:void 0,_contactsTemplate:void 0,_contacts:void 0,_searchTerm:"",events:{"input #contactsmenu-search":"_onSearch"},templates:{loading:i(95386),error:i(20421),menu:i(66115),list:i(34083)},_onSearch:u.default.debounce((function(t){var e=this.$("#contactsmenu-search").val();e!==this._searchTerm&&(this.trigger("search",this.$("#contactsmenu-search").val()),this._searchTerm=e)}),700),loadingTemplate:function(t){return this.templates.loading(t)},errorTemplate:function(e){return this.templates.error(u.default.extend({couldNotLoadText:t("core","Could not load your contacts")},e))},contentTemplate:function(e){return this.templates.menu(u.default.extend({searchContactsLabel:t("core","Search contacts")},e))},contactsTemplate:function(e){return this.templates.list(u.default.extend({noContactsFoundText:t("core","No contacts found"),showAllContactsText:t("core","Show all contacts …"),contactsAppMgmtText:t("core","Install the Contacts app")},e))},initialize:function(t){this.options=t},showLoading:function(t){this.render(),this._contacts=void 0,this.$(".content").html(this.loadingTemplate({loadingText:t}))},showError:function(){this.render(),this._contacts=void 0,this.$(".content").html(this.errorTemplate())},showContacts:function(t,e){this._contacts=t.contacts,this.render({contacts:t.contacts});var n=new M({collection:t.contacts});n.render(),this.$(".content").html(this.contactsTemplate({contacts:t.contacts,searchTerm:e,contactsAppEnabled:t.contactsAppEnabled,contactsAppURL:Et.generateUrl("/apps/contacts"),canInstallApp:Et.isUserAdmin(),contactsAppMgmtURL:Et.generateUrl("/settings/apps/social/contacts")})),this.$("#contactsmenu-contacts").html(n.$el)},render:function(t){var e=this.$("#contactsmenu-search").val();return this.$el.html(this.contentTemplate(t)),this.$("#contactsmenu-search").val(e),this.$("#contactsmenu-search").focus(),this}}),$=function(t){this.initialize(t)};$.prototype={$el:void 0,_view:void 0,_contactsPromise:void 0,initialize:function(t){this.$el=c()(t.el),this._view=new D({el:this.$el}),this._view.on("search",(function(t){this.loadContacts(t)}),this)},_getContacts:function(t){var e=Et.generateUrl("/contactsmenu/contacts");return Promise.resolve(c().ajax(e,{method:"POST",data:{filter:t}}))},loadContacts:function(e){var n=this;return n._contactsPromise||(n._contactsPromise=n._getContacts(e)),u.default.isUndefined(e)||""===e?n._view.showLoading(t("core","Loading your contacts …")):n._view.showLoading(t("core","Looking for {term} …",{term:e})),n._contactsPromise.then((function(t){t.contacts=new U(t.contacts),n._view.showContacts(t,e)}),(function(t){n._view.showError(),R.error("There was an error loading your contacts",t)})).then((function(){delete n._contactsPromise})).catch(R.error.bind(this))}};var z=$,q=document.getElementsByTagName("head")[0].getAttribute("data-user"),H=document.getElementsByTagName("head")[0].getAttribute("data-user-displayname"),V=void 0!==q&&q,Z=i(96384),K=i(62520);function Y(t){return Y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Y(t)}var G={YES_NO_BUTTONS:70,OK_BUTTONS:71,FILEPICKER_TYPE_CHOOSE:1,FILEPICKER_TYPE_MOVE:2,FILEPICKER_TYPE_COPY:3,FILEPICKER_TYPE_COPY_MOVE:4,FILEPICKER_TYPE_CUSTOM:5,dialogsCounter:0,alert:function(t,e,n,r){this.message(t,e,"alert",G.OK_BUTTON,n,r)},info:function(t,e,n,r){this.message(t,e,"info",G.OK_BUTTON,n,r)},confirm:function(t,e,n,r){return this.message(t,e,"notice",G.YES_NO_BUTTONS,n,r)},confirmDestructive:function(t,e,n,r,i){return this.message(t,e,"none",n,r,void 0===i||i)},confirmHtml:function(t,e,n,r){return this.message(t,e,"notice",G.YES_NO_BUTTONS,n,r,!0)},prompt:function(e,n,r,i,o,s){return c().when(this._getMessageTemplate()).then((function(a){var l="oc-dialog-"+G.dialogsCounter+"-content",f="#"+l,d=a.octemplate({dialog_name:l,title:n,message:e,type:"notice"}),h=c()("");h.attr("type",s?"password":"text").attr("id",l+"-input").attr("placeholder",o);var p=c()("