{"version":3,"file":"index-CdM8BgQf.chunk.mjs","sources":["../node_modules/vite-plugin-node-polyfills/shims/process/dist/index.js","../node_modules/@nextcloud/event-bus/node_modules/semver/internal/debug.js","../node_modules/@nextcloud/event-bus/node_modules/semver/internal/constants.js","../node_modules/@nextcloud/event-bus/node_modules/semver/internal/re.js","../node_modules/@nextcloud/event-bus/node_modules/semver/internal/parse-options.js","../node_modules/@nextcloud/event-bus/node_modules/semver/internal/identifiers.js","../node_modules/@nextcloud/event-bus/node_modules/semver/classes/semver.js","../node_modules/@nextcloud/event-bus/node_modules/semver/functions/major.js","../node_modules/@nextcloud/event-bus/node_modules/semver/functions/parse.js","../node_modules/@nextcloud/event-bus/node_modules/semver/functions/valid.js","../node_modules/@nextcloud/event-bus/dist/index.mjs","../node_modules/@nextcloud/browser-storage/dist/ScopedStorage.js","../node_modules/@nextcloud/browser-storage/dist/StorageBuilder.js","../node_modules/@nextcloud/browser-storage/dist/index.js","../node_modules/@nextcloud/auth/dist/index.mjs"],"sourcesContent":["function getDefaultExportFromCjs (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nvar browser = {exports: {}};\n\n// shim for using process in browser\nvar process = browser.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things.  But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals.  It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n    throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n    throw new Error('clearTimeout has not been defined');\n}\n(function () {\n    try {\n        if (typeof setTimeout === 'function') {\n            cachedSetTimeout = setTimeout;\n        } else {\n            cachedSetTimeout = defaultSetTimout;\n        }\n    } catch (e) {\n        cachedSetTimeout = defaultSetTimout;\n    }\n    try {\n        if (typeof clearTimeout === 'function') {\n            cachedClearTimeout = clearTimeout;\n        } else {\n            cachedClearTimeout = defaultClearTimeout;\n        }\n    } catch (e) {\n        cachedClearTimeout = defaultClearTimeout;\n    }\n} ());\nfunction runTimeout(fun) {\n    if (cachedSetTimeout === setTimeout) {\n        //normal enviroments in sane situations\n        return setTimeout(fun, 0);\n    }\n    // if setTimeout wasn't available but was latter defined\n    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n        cachedSetTimeout = setTimeout;\n        return setTimeout(fun, 0);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedSetTimeout(fun, 0);\n    } catch(e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n            return cachedSetTimeout.call(null, fun, 0);\n        } catch(e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n            return cachedSetTimeout.call(this, fun, 0);\n        }\n    }\n\n\n}\nfunction runClearTimeout(marker) {\n    if (cachedClearTimeout === clearTimeout) {\n        //normal enviroments in sane situations\n        return clearTimeout(marker);\n    }\n    // if clearTimeout wasn't available but was latter defined\n    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n        cachedClearTimeout = clearTimeout;\n        return clearTimeout(marker);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedClearTimeout(marker);\n    } catch (e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally\n            return cachedClearTimeout.call(null, marker);\n        } catch (e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n            // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n            return cachedClearTimeout.call(this, marker);\n        }\n    }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n    if (!draining || !currentQueue) {\n        return;\n    }\n    draining = false;\n    if (currentQueue.length) {\n        queue = currentQueue.concat(queue);\n    } else {\n        queueIndex = -1;\n    }\n    if (queue.length) {\n        drainQueue();\n    }\n}\n\nfunction drainQueue() {\n    if (draining) {\n        return;\n    }\n    var timeout = runTimeout(cleanUpNextTick);\n    draining = true;\n\n    var len = queue.length;\n    while(len) {\n        currentQueue = queue;\n        queue = [];\n        while (++queueIndex < len) {\n            if (currentQueue) {\n                currentQueue[queueIndex].run();\n            }\n        }\n        queueIndex = -1;\n        len = queue.length;\n    }\n    currentQueue = null;\n    draining = false;\n    runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n    var args = new Array(arguments.length - 1);\n    if (arguments.length > 1) {\n        for (var i = 1; i < arguments.length; i++) {\n            args[i - 1] = arguments[i];\n        }\n    }\n    queue.push(new Item(fun, args));\n    if (queue.length === 1 && !draining) {\n        runTimeout(drainQueue);\n    }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n    this.fun = fun;\n    this.array = array;\n}\nItem.prototype.run = function () {\n    this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] };\n\nprocess.binding = function (name) {\n    throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n    throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\nvar browserExports = browser.exports;\nconst process$1 = /*@__PURE__*/getDefaultExportFromCjs(browserExports);\n\nexport { process$1 as default, process$1 as process };\n//# sourceMappingURL=index.js.map\n","'use strict'\n\nconst debug = (\n  typeof process === 'object' &&\n  process.env &&\n  process.env.NODE_DEBUG &&\n  /\\bsemver\\b/i.test(process.env.NODE_DEBUG)\n) ? (...args) => console.error('SEMVER', ...args)\n  : () => {}\n\nmodule.exports = debug\n","'use strict'\n\n// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nconst SEMVER_SPEC_VERSION = '2.0.0'\n\nconst MAX_LENGTH = 256\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n/* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nconst MAX_SAFE_COMPONENT_LENGTH = 16\n\n// Max safe length for a build identifier. The max length minus 6 characters for\n// the shortest version with a build 0.0.0+BUILD.\nconst MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6\n\nconst RELEASE_TYPES = [\n  'major',\n  'premajor',\n  'minor',\n  'preminor',\n  'patch',\n  'prepatch',\n  'prerelease',\n]\n\nmodule.exports = {\n  MAX_LENGTH,\n  MAX_SAFE_COMPONENT_LENGTH,\n  MAX_SAFE_BUILD_LENGTH,\n  MAX_SAFE_INTEGER,\n  RELEASE_TYPES,\n  SEMVER_SPEC_VERSION,\n  FLAG_INCLUDE_PRERELEASE: 0b001,\n  FLAG_LOOSE: 0b010,\n}\n","'use strict'\n\nconst {\n  MAX_SAFE_COMPONENT_LENGTH,\n  MAX_SAFE_BUILD_LENGTH,\n  MAX_LENGTH,\n} = require('./constants')\nconst debug = require('./debug')\nexports = module.exports = {}\n\n// The actual regexps go on exports.re\nconst re = exports.re = []\nconst safeRe = exports.safeRe = []\nconst src = exports.src = []\nconst safeSrc = exports.safeSrc = []\nconst t = exports.t = {}\nlet R = 0\n\nconst LETTERDASHNUMBER = '[a-zA-Z0-9-]'\n\n// Replace some greedy regex tokens to prevent regex dos issues. These regex are\n// used internally via the safeRe object since all inputs in this library get\n// normalized first to trim and collapse all extra whitespace. The original\n// regexes are exported for userland consumption and lower level usage. A\n// future breaking change could export the safer regex only with a note that\n// all input should have extra whitespace removed.\nconst safeRegexReplacements = [\n  ['\\\\s', 1],\n  ['\\\\d', MAX_LENGTH],\n  [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH],\n]\n\nconst makeSafeRegex = (value) => {\n  for (const [token, max] of safeRegexReplacements) {\n    value = value\n      .split(`${token}*`).join(`${token}{0,${max}}`)\n      .split(`${token}+`).join(`${token}{1,${max}}`)\n  }\n  return value\n}\n\nconst createToken = (name, value, isGlobal) => {\n  const safe = makeSafeRegex(value)\n  const index = R++\n  debug(name, index, value)\n  t[name] = index\n  src[index] = value\n  safeSrc[index] = safe\n  re[index] = new RegExp(value, isGlobal ? 'g' : undefined)\n  safeRe[index] = new RegExp(safe, isGlobal ? 'g' : undefined)\n}\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\ncreateToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*')\ncreateToken('NUMERICIDENTIFIERLOOSE', '\\\\d+')\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\ncreateToken('NONNUMERICIDENTIFIER', `\\\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`)\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\ncreateToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n                   `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n                   `(${src[t.NUMERICIDENTIFIER]})`)\n\ncreateToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n                        `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n                        `(${src[t.NUMERICIDENTIFIERLOOSE]})`)\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n// Non-numberic identifiers include numberic identifiers but can be longer.\n// Therefore non-numberic identifiers must go first.\n\ncreateToken('PRERELEASEIDENTIFIER', `(?:${src[t.NONNUMERICIDENTIFIER]\n}|${src[t.NUMERICIDENTIFIER]})`)\n\ncreateToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NONNUMERICIDENTIFIER]\n}|${src[t.NUMERICIDENTIFIERLOOSE]})`)\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\ncreateToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`)\n\ncreateToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\ncreateToken('BUILDIDENTIFIER', `${LETTERDASHNUMBER}+`)\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\ncreateToken('BUILD', `(?:\\\\+(${src[t.BUILDIDENTIFIER]\n}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`)\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups.  The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\ncreateToken('FULLPLAIN', `v?${src[t.MAINVERSION]\n}${src[t.PRERELEASE]}?${\n  src[t.BUILD]}?`)\n\ncreateToken('FULL', `^${src[t.FULLPLAIN]}$`)\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\ncreateToken('LOOSEPLAIN', `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]\n}${src[t.PRERELEASELOOSE]}?${\n  src[t.BUILD]}?`)\n\ncreateToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)\n\ncreateToken('GTLT', '((?:<|>)?=?)')\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\ncreateToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`)\ncreateToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`)\n\ncreateToken('XRANGEPLAIN', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})` +\n                   `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n                   `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n                   `(?:${src[t.PRERELEASE]})?${\n                     src[t.BUILD]}?` +\n                   `)?)?`)\n\ncreateToken('XRANGEPLAINLOOSE', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n                        `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n                        `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n                        `(?:${src[t.PRERELEASELOOSE]})?${\n                          src[t.BUILD]}?` +\n                        `)?)?`)\n\ncreateToken('XRANGE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`)\ncreateToken('XRANGELOOSE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\ncreateToken('COERCEPLAIN', `${'(^|[^\\\\d])' +\n              '(\\\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +\n              `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n              `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`)\ncreateToken('COERCE', `${src[t.COERCEPLAIN]}(?:$|[^\\\\d])`)\ncreateToken('COERCEFULL', src[t.COERCEPLAIN] +\n              `(?:${src[t.PRERELEASE]})?` +\n              `(?:${src[t.BUILD]})?` +\n              `(?:$|[^\\\\d])`)\ncreateToken('COERCERTL', src[t.COERCE], true)\ncreateToken('COERCERTLFULL', src[t.COERCEFULL], true)\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\ncreateToken('LONETILDE', '(?:~>?)')\n\ncreateToken('TILDETRIM', `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true)\nexports.tildeTrimReplace = '$1~'\n\ncreateToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\ncreateToken('LONECARET', '(?:\\\\^)')\n\ncreateToken('CARETTRIM', `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true)\nexports.caretTrimReplace = '$1^'\n\ncreateToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\ncreateToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`)\ncreateToken('COMPARATOR', `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`)\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\ncreateToken('COMPARATORTRIM', `(\\\\s*)${src[t.GTLT]\n}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)\nexports.comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\ncreateToken('HYPHENRANGE', `^\\\\s*(${src[t.XRANGEPLAIN]})` +\n                   `\\\\s+-\\\\s+` +\n                   `(${src[t.XRANGEPLAIN]})` +\n                   `\\\\s*$`)\n\ncreateToken('HYPHENRANGELOOSE', `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})` +\n                        `\\\\s+-\\\\s+` +\n                        `(${src[t.XRANGEPLAINLOOSE]})` +\n                        `\\\\s*$`)\n\n// Star ranges basically just allow anything at all.\ncreateToken('STAR', '(<|>)?=?\\\\s*\\\\*')\n// >=0.0.0 is like a star\ncreateToken('GTE0', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0\\\\s*$')\ncreateToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0-0\\\\s*$')\n","'use strict'\n\n// parse out just the options we care about\nconst looseOption = Object.freeze({ loose: true })\nconst emptyOpts = Object.freeze({ })\nconst parseOptions = options => {\n  if (!options) {\n    return emptyOpts\n  }\n\n  if (typeof options !== 'object') {\n    return looseOption\n  }\n\n  return options\n}\nmodule.exports = parseOptions\n","'use strict'\n\nconst numeric = /^[0-9]+$/\nconst compareIdentifiers = (a, b) => {\n  if (typeof a === 'number' && typeof b === 'number') {\n    return a === b ? 0 : a < b ? -1 : 1\n  }\n\n  const anum = numeric.test(a)\n  const bnum = numeric.test(b)\n\n  if (anum && bnum) {\n    a = +a\n    b = +b\n  }\n\n  return a === b ? 0\n    : (anum && !bnum) ? -1\n    : (bnum && !anum) ? 1\n    : a < b ? -1\n    : 1\n}\n\nconst rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)\n\nmodule.exports = {\n  compareIdentifiers,\n  rcompareIdentifiers,\n}\n","'use strict'\n\nconst debug = require('../internal/debug')\nconst { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants')\nconst { safeRe: re, t } = require('../internal/re')\n\nconst parseOptions = require('../internal/parse-options')\nconst { compareIdentifiers } = require('../internal/identifiers')\nclass SemVer {\n  constructor (version, options) {\n    options = parseOptions(options)\n\n    if (version instanceof SemVer) {\n      if (version.loose === !!options.loose &&\n        version.includePrerelease === !!options.includePrerelease) {\n        return version\n      } else {\n        version = version.version\n      }\n    } else if (typeof version !== 'string') {\n      throw new TypeError(`Invalid version. Must be a string. Got type \"${typeof version}\".`)\n    }\n\n    if (version.length > MAX_LENGTH) {\n      throw new TypeError(\n        `version is longer than ${MAX_LENGTH} characters`\n      )\n    }\n\n    debug('SemVer', version, options)\n    this.options = options\n    this.loose = !!options.loose\n    // this isn't actually relevant for versions, but keep it so that we\n    // don't run into trouble passing this.options around.\n    this.includePrerelease = !!options.includePrerelease\n\n    const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])\n\n    if (!m) {\n      throw new TypeError(`Invalid Version: ${version}`)\n    }\n\n    this.raw = version\n\n    // these are actually numbers\n    this.major = +m[1]\n    this.minor = +m[2]\n    this.patch = +m[3]\n\n    if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n      throw new TypeError('Invalid major version')\n    }\n\n    if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n      throw new TypeError('Invalid minor version')\n    }\n\n    if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n      throw new TypeError('Invalid patch version')\n    }\n\n    // numberify any prerelease numeric ids\n    if (!m[4]) {\n      this.prerelease = []\n    } else {\n      this.prerelease = m[4].split('.').map((id) => {\n        if (/^[0-9]+$/.test(id)) {\n          const num = +id\n          if (num >= 0 && num < MAX_SAFE_INTEGER) {\n            return num\n          }\n        }\n        return id\n      })\n    }\n\n    this.build = m[5] ? m[5].split('.') : []\n    this.format()\n  }\n\n  format () {\n    this.version = `${this.major}.${this.minor}.${this.patch}`\n    if (this.prerelease.length) {\n      this.version += `-${this.prerelease.join('.')}`\n    }\n    return this.version\n  }\n\n  toString () {\n    return this.version\n  }\n\n  compare (other) {\n    debug('SemVer.compare', this.version, this.options, other)\n    if (!(other instanceof SemVer)) {\n      if (typeof other === 'string' && other === this.version) {\n        return 0\n      }\n      other = new SemVer(other, this.options)\n    }\n\n    if (other.version === this.version) {\n      return 0\n    }\n\n    return this.compareMain(other) || this.comparePre(other)\n  }\n\n  compareMain (other) {\n    if (!(other instanceof SemVer)) {\n      other = new SemVer(other, this.options)\n    }\n\n    if (this.major < other.major) {\n      return -1\n    }\n    if (this.major > other.major) {\n      return 1\n    }\n    if (this.minor < other.minor) {\n      return -1\n    }\n    if (this.minor > other.minor) {\n      return 1\n    }\n    if (this.patch < other.patch) {\n      return -1\n    }\n    if (this.patch > other.patch) {\n      return 1\n    }\n    return 0\n  }\n\n  comparePre (other) {\n    if (!(other instanceof SemVer)) {\n      other = new SemVer(other, this.options)\n    }\n\n    // NOT having a prerelease is > having one\n    if (this.prerelease.length && !other.prerelease.length) {\n      return -1\n    } else if (!this.prerelease.length && other.prerelease.length) {\n      return 1\n    } else if (!this.prerelease.length && !other.prerelease.length) {\n      return 0\n    }\n\n    let i = 0\n    do {\n      const a = this.prerelease[i]\n      const b = other.prerelease[i]\n      debug('prerelease compare', i, a, b)\n      if (a === undefined && b === undefined) {\n        return 0\n      } else if (b === undefined) {\n        return 1\n      } else if (a === undefined) {\n        return -1\n      } else if (a === b) {\n        continue\n      } else {\n        return compareIdentifiers(a, b)\n      }\n    } while (++i)\n  }\n\n  compareBuild (other) {\n    if (!(other instanceof SemVer)) {\n      other = new SemVer(other, this.options)\n    }\n\n    let i = 0\n    do {\n      const a = this.build[i]\n      const b = other.build[i]\n      debug('build compare', i, a, b)\n      if (a === undefined && b === undefined) {\n        return 0\n      } else if (b === undefined) {\n        return 1\n      } else if (a === undefined) {\n        return -1\n      } else if (a === b) {\n        continue\n      } else {\n        return compareIdentifiers(a, b)\n      }\n    } while (++i)\n  }\n\n  // preminor will bump the version up to the next minor release, and immediately\n  // down to pre-release. premajor and prepatch work the same way.\n  inc (release, identifier, identifierBase) {\n    if (release.startsWith('pre')) {\n      if (!identifier && identifierBase === false) {\n        throw new Error('invalid increment argument: identifier is empty')\n      }\n      // Avoid an invalid semver results\n      if (identifier) {\n        const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE])\n        if (!match || match[1] !== identifier) {\n          throw new Error(`invalid identifier: ${identifier}`)\n        }\n      }\n    }\n\n    switch (release) {\n      case 'premajor':\n        this.prerelease.length = 0\n        this.patch = 0\n        this.minor = 0\n        this.major++\n        this.inc('pre', identifier, identifierBase)\n        break\n      case 'preminor':\n        this.prerelease.length = 0\n        this.patch = 0\n        this.minor++\n        this.inc('pre', identifier, identifierBase)\n        break\n      case 'prepatch':\n        // If this is already a prerelease, it will bump to the next version\n        // drop any prereleases that might already exist, since they are not\n        // relevant at this point.\n        this.prerelease.length = 0\n        this.inc('patch', identifier, identifierBase)\n        this.inc('pre', identifier, identifierBase)\n        break\n      // If the input is a non-prerelease version, this acts the same as\n      // prepatch.\n      case 'prerelease':\n        if (this.prerelease.length === 0) {\n          this.inc('patch', identifier, identifierBase)\n        }\n        this.inc('pre', identifier, identifierBase)\n        break\n      case 'release':\n        if (this.prerelease.length === 0) {\n          throw new Error(`version ${this.raw} is not a prerelease`)\n        }\n        this.prerelease.length = 0\n        break\n\n      case 'major':\n        // If this is a pre-major version, bump up to the same major version.\n        // Otherwise increment major.\n        // 1.0.0-5 bumps to 1.0.0\n        // 1.1.0 bumps to 2.0.0\n        if (\n          this.minor !== 0 ||\n          this.patch !== 0 ||\n          this.prerelease.length === 0\n        ) {\n          this.major++\n        }\n        this.minor = 0\n        this.patch = 0\n        this.prerelease = []\n        break\n      case 'minor':\n        // If this is a pre-minor version, bump up to the same minor version.\n        // Otherwise increment minor.\n        // 1.2.0-5 bumps to 1.2.0\n        // 1.2.1 bumps to 1.3.0\n        if (this.patch !== 0 || this.prerelease.length === 0) {\n          this.minor++\n        }\n        this.patch = 0\n        this.prerelease = []\n        break\n      case 'patch':\n        // If this is not a pre-release version, it will increment the patch.\n        // If it is a pre-release it will bump up to the same patch version.\n        // 1.2.0-5 patches to 1.2.0\n        // 1.2.0 patches to 1.2.1\n        if (this.prerelease.length === 0) {\n          this.patch++\n        }\n        this.prerelease = []\n        break\n      // This probably shouldn't be used publicly.\n      // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n      case 'pre': {\n        const base = Number(identifierBase) ? 1 : 0\n\n        if (this.prerelease.length === 0) {\n          this.prerelease = [base]\n        } else {\n          let i = this.prerelease.length\n          while (--i >= 0) {\n            if (typeof this.prerelease[i] === 'number') {\n              this.prerelease[i]++\n              i = -2\n            }\n          }\n          if (i === -1) {\n            // didn't increment anything\n            if (identifier === this.prerelease.join('.') && identifierBase === false) {\n              throw new Error('invalid increment argument: identifier already exists')\n            }\n            this.prerelease.push(base)\n          }\n        }\n        if (identifier) {\n          // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n          // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n          let prerelease = [identifier, base]\n          if (identifierBase === false) {\n            prerelease = [identifier]\n          }\n          if (compareIdentifiers(this.prerelease[0], identifier) === 0) {\n            if (isNaN(this.prerelease[1])) {\n              this.prerelease = prerelease\n            }\n          } else {\n            this.prerelease = prerelease\n          }\n        }\n        break\n      }\n      default:\n        throw new Error(`invalid increment argument: ${release}`)\n    }\n    this.raw = this.format()\n    if (this.build.length) {\n      this.raw += `+${this.build.join('.')}`\n    }\n    return this\n  }\n}\n\nmodule.exports = SemVer\n","'use strict'\n\nconst SemVer = require('../classes/semver')\nconst major = (a, loose) => new SemVer(a, loose).major\nmodule.exports = major\n","'use strict'\n\nconst SemVer = require('../classes/semver')\nconst parse = (version, options, throwErrors = false) => {\n  if (version instanceof SemVer) {\n    return version\n  }\n  try {\n    return new SemVer(version, options)\n  } catch (er) {\n    if (!throwErrors) {\n      return null\n    }\n    throw er\n  }\n}\n\nmodule.exports = parse\n","'use strict'\n\nconst parse = require('./parse')\nconst valid = (version, options) => {\n  const v = parse(version, options)\n  return v ? v.version : null\n}\nmodule.exports = valid\n","import major from \"semver/functions/major.js\";\nimport valid from \"semver/functions/valid.js\";\n/*!\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\nclass ProxyBus {\n  bus;\n  constructor(bus2) {\n    if (typeof bus2.getVersion !== \"function\" || !valid(bus2.getVersion())) {\n      console.warn(\"Proxying an event bus with an unknown or invalid version\");\n    } else if (major(bus2.getVersion()) !== major(this.getVersion())) {\n      console.warn(\n        \"Proxying an event bus of version \" + bus2.getVersion() + \" with \" + this.getVersion()\n      );\n    }\n    this.bus = bus2;\n  }\n  getVersion() {\n    return \"3.3.3\";\n  }\n  subscribe(name, handler) {\n    this.bus.subscribe(name, handler);\n  }\n  unsubscribe(name, handler) {\n    this.bus.unsubscribe(name, handler);\n  }\n  emit(name, ...event) {\n    this.bus.emit(name, ...event);\n  }\n}\n/*!\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\nclass SimpleBus {\n  handlers = /* @__PURE__ */ new Map();\n  getVersion() {\n    return \"3.3.3\";\n  }\n  subscribe(name, handler) {\n    this.handlers.set(\n      name,\n      (this.handlers.get(name) || []).concat(\n        handler\n      )\n    );\n  }\n  unsubscribe(name, handler) {\n    this.handlers.set(\n      name,\n      (this.handlers.get(name) || []).filter((h) => h !== handler)\n    );\n  }\n  emit(name, ...event) {\n    const handlers = this.handlers.get(name) || [];\n    handlers.forEach((h) => {\n      try {\n        ;\n        h(event[0]);\n      } catch (e) {\n        console.error(\"could not invoke event listener\", e);\n      }\n    });\n  }\n}\n/*!\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\nlet bus = null;\nfunction getBus() {\n  if (bus !== null) {\n    return bus;\n  }\n  if (typeof window === \"undefined\") {\n    return new Proxy({}, {\n      get: () => {\n        return () => console.error(\n          \"Window not available, EventBus can not be established!\"\n        );\n      }\n    });\n  }\n  if (window.OC?._eventBus && typeof window._nc_event_bus === \"undefined\") {\n    console.warn(\n      \"found old event bus instance at OC._eventBus. Update your version!\"\n    );\n    window._nc_event_bus = window.OC._eventBus;\n  }\n  if (typeof window?._nc_event_bus !== \"undefined\") {\n    bus = new ProxyBus(window._nc_event_bus);\n  } else {\n    bus = window._nc_event_bus = new SimpleBus();\n  }\n  return bus;\n}\nfunction subscribe(name, handler) {\n  getBus().subscribe(name, handler);\n}\nfunction unsubscribe(name, handler) {\n  getBus().unsubscribe(name, handler);\n}\nfunction emit(name, ...event) {\n  getBus().emit(name, ...event);\n}\nexport {\n  ProxyBus,\n  SimpleBus,\n  emit,\n  subscribe,\n  unsubscribe\n};\n//# sourceMappingURL=index.mjs.map\n","/*\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\nexport default class ScopedStorage {\n    static GLOBAL_SCOPE_VOLATILE = 'nextcloud_vol';\n    static GLOBAL_SCOPE_PERSISTENT = 'nextcloud_per';\n    scope;\n    wrapped;\n    constructor(scope, wrapped, persistent) {\n        this.scope = `${persistent ? ScopedStorage.GLOBAL_SCOPE_PERSISTENT : ScopedStorage.GLOBAL_SCOPE_VOLATILE}_${btoa(scope)}_`;\n        this.wrapped = wrapped;\n    }\n    scopeKey(key) {\n        return `${this.scope}${key}`;\n    }\n    setItem(key, value) {\n        this.wrapped.setItem(this.scopeKey(key), value);\n    }\n    getItem(key) {\n        return this.wrapped.getItem(this.scopeKey(key));\n    }\n    removeItem(key) {\n        this.wrapped.removeItem(this.scopeKey(key));\n    }\n    clear() {\n        Object.keys(this.wrapped)\n            .filter((key) => key.startsWith(this.scope))\n            .map(this.wrapped.removeItem.bind(this.wrapped));\n    }\n}\n","/*\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\nimport ScopedStorage from \"./ScopedStorage.js\";\nexport default class StorageBuilder {\n    appId;\n    persisted = false;\n    clearedOnLogout = false;\n    constructor(appId) {\n        this.appId = appId;\n    }\n    persist(persist = true) {\n        this.persisted = persist;\n        return this;\n    }\n    clearOnLogout(clear = true) {\n        this.clearedOnLogout = clear;\n        return this;\n    }\n    build() {\n        return new ScopedStorage(this.appId, this.persisted ? window.localStorage : window.sessionStorage, !this.clearedOnLogout);\n    }\n}\n","/*\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\nimport ScopedStorage from \"./ScopedStorage.js\";\nimport StorageBuilder from \"./StorageBuilder.js\";\n/**\n * Get the storage builder for an app\n *\n * @param appId App ID to scope storage\n */\nexport function getBuilder(appId) {\n    return new StorageBuilder(appId);\n}\n/**\n * Clear values from storage\n *\n * @param storage The storage to clear\n * @param pred Callback to check if value should be cleared\n */\nfunction clearStorage(storage, pred) {\n    Object.keys(storage)\n        .filter((k) => pred ? pred(k) : true)\n        .map(storage.removeItem.bind(storage));\n}\n/**\n * Clear all values from all storages\n */\nexport function clearAll() {\n    const storages = [\n        window.sessionStorage,\n        window.localStorage,\n    ];\n    storages.map((s) => clearStorage(s));\n}\n/**\n * Clear ony non persistent values\n */\nexport function clearNonPersistent() {\n    const storages = [\n        window.sessionStorage,\n        window.localStorage,\n    ];\n    storages.map((s) => clearStorage(s, (k) => !k.startsWith(ScopedStorage.GLOBAL_SCOPE_PERSISTENT)));\n}\n","import { subscribe, emit } from \"@nextcloud/event-bus\";\nimport { getBuilder } from \"@nextcloud/browser-storage\";\nlet token;\nconst observers = [];\nfunction getRequestToken() {\n  if (token === void 0) {\n    token = document.head.dataset.requesttoken ?? null;\n  }\n  return token;\n}\nfunction onRequestTokenUpdate(observer) {\n  observers.push(observer);\n}\nsubscribe(\"csrf-token-update\", (e) => {\n  token = e.token;\n  observers.forEach((observer) => {\n    try {\n      observer(token);\n    } catch (error) {\n      console.error(\"Error updating CSRF token observer\", error);\n    }\n  });\n});\nfunction getCSPNonce() {\n  const meta = document?.querySelector('meta[name=\"csp-nonce\"]');\n  if (!meta) {\n    const token2 = getRequestToken();\n    return token2 ? btoa(token2) : void 0;\n  }\n  return meta.nonce;\n}\n/*!\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\nconst browserStorage = getBuilder(\"public\").persist().build();\nclass GuestUser {\n  _displayName;\n  uid;\n  isAdmin;\n  constructor() {\n    if (!browserStorage.getItem(\"guestUid\")) {\n      browserStorage.setItem(\"guestUid\", randomUUID());\n    }\n    this._displayName = browserStorage.getItem(\"guestNickname\") || \"\";\n    this.uid = browserStorage.getItem(\"guestUid\") || randomUUID();\n    this.isAdmin = false;\n    subscribe(\"user:info:changed\", (guest) => {\n      this._displayName = guest.displayName;\n      browserStorage.setItem(\"guestNickname\", guest.displayName || \"\");\n    });\n  }\n  get displayName() {\n    return this._displayName;\n  }\n  set displayName(displayName) {\n    this._displayName = displayName;\n    browserStorage.setItem(\"guestNickname\", displayName);\n    emit(\"user:info:changed\", this);\n  }\n}\nlet currentUser$1;\nfunction getGuestUser() {\n  if (!currentUser$1) {\n    currentUser$1 = new GuestUser();\n  }\n  return currentUser$1;\n}\nfunction getGuestNickname() {\n  return getGuestUser()?.displayName || null;\n}\nfunction setGuestNickname(nickname) {\n  if (!nickname || nickname.trim().length === 0) {\n    throw new Error(\"Nickname cannot be empty\");\n  }\n  getGuestUser().displayName = nickname;\n}\nfunction randomUUID() {\n  if (globalThis.crypto?.randomUUID) {\n    return globalThis.crypto.randomUUID();\n  }\n  return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, (c) => {\n    const r = Math.random() * 16 | 0;\n    const v = c === \"x\" ? r : r & 3 | 8;\n    return v.toString(16);\n  });\n}\nlet currentUser;\nfunction getAttribute(el, attribute) {\n  if (el) {\n    return el.getAttribute(attribute);\n  }\n  return null;\n}\nfunction getCurrentUser() {\n  if (currentUser !== void 0) {\n    return currentUser;\n  }\n  const head = document?.getElementsByTagName(\"head\")[0];\n  if (!head) {\n    return null;\n  }\n  const uid = getAttribute(head, \"data-user\");\n  if (uid === null) {\n    currentUser = null;\n    return currentUser;\n  }\n  currentUser = {\n    uid,\n    displayName: getAttribute(head, \"data-user-displayname\"),\n    isAdmin: !!window._oc_isadmin\n  };\n  return currentUser;\n}\nexport {\n  getCSPNonce,\n  getCurrentUser,\n  getGuestNickname,\n  getGuestUser,\n  getRequestToken,\n  onRequestTokenUpdate,\n  setGuestNickname\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["getDefaultExportFromCjs","x","browser","process","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","runClearTimeout","marker","queue","draining","currentQueue","queueIndex","cleanUpNextTick","drainQueue","timeout","len","args","Item","array","noop","name","dir","browserExports","process$1","debug_1","define_process_env_default","SEMVER_SPEC_VERSION","MAX_LENGTH","MAX_SAFE_INTEGER","MAX_SAFE_COMPONENT_LENGTH","MAX_SAFE_BUILD_LENGTH","constants","require$$0","debug","require$$1","exports","module","re","safeRe","src","safeSrc","t","R","LETTERDASHNUMBER","safeRegexReplacements","makeSafeRegex","value","token","max","createToken","isGlobal","safe","index","looseOption","emptyOpts","parseOptions_1","options","numeric","compareIdentifiers","a","b","anum","bnum","identifiers","require$$2","parseOptions","require$$3","require$$4","SemVer","version","m","id","num","other","i","release","identifier","identifierBase","match","base","prerelease","semver","major_1","loose","parse_1","throwErrors","er","parse","valid_1","v","ProxyBus","bus2","valid","major","handler","event","SimpleBus","h","e","bus","getBus","subscribe","unsubscribe","emit","ScopedStorage","scope","wrapped","persistent","key","StorageBuilder","appId","persist","clear","getBuilder","clearStorage","storage","pred","k","clearAll","s","clearNonPersistent","observers","getRequestToken","onRequestTokenUpdate","observer","error","currentUser","getAttribute","el","attribute","getCurrentUser","head","uid"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]}