{"version":3,"sources":["jsdelivr-header.js","/npm/cep-spy@1.3.4/index.js"],"names":[],"mappings":"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","file":"/npm/cep-spy@1.3.4/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/cep-spy@1.3.4/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","const path = window.__adobe_cep__ ? require(\"path\") : null;\r\nconst fs = window.__adobe_cep__ ? require(\"fs\") : null;\r\n\r\n/**\r\n *\r\n * @param {String} str - The path to attempt resolution to\r\n * @param {Boolean} asJSON - If data should return as parsed JSON\r\n */\r\nfunction resolveString(str, asJSON = false) {\r\n  let result;\r\n  result = path.resolve(\r\n    str.replace(\r\n      /file\\:\\/{1,}/,\r\n      navigator.platform.indexOf(\"Mac\") > -1 ? \"/\" : \"\"\r\n    )\r\n  );\r\n  if (navigator.platform.indexOf(\"Mac\") > -1)\r\n    result = result.replace(/\\\\{1}/gm, \"/\");\r\n  return asJSON ? JSON.parse(result) : result;\r\n}\r\n\r\nfunction getRoot() {\r\n  let result = resolveString(window.__adobe_cep__.getSystemPath(\"extension\"));\r\n  if (fs.existsSync(result)) return result;\r\n  else if (fs.existsSync(decodeURI(result))) return decodeURI(result);\r\n  else if (fs.existsSync(result.replace(/%20/gm, \" \")))\r\n    return result.replace.replace(/%20/gm, \" \");\r\n  else if (fs.existsSync(path.resolve(result))) return path.resolve(result);\r\n  else {\r\n    console.log(\"ROOT RESOLUTION FAILED:\", result);\r\n    return result;\r\n  }\r\n}\r\n\r\n/**\r\n *\r\n * @param {String} root - Base extension path\r\n * @param {String} file - Name of file to read\r\n * @param {String} key - When a parsed JSON, return as this key value\r\n * @param {Boolean} asJSON - If data should return as parsed JSON\r\n */\r\n\r\nfunction tryReadingFile(root, file, key = \"\", asJSON = false) {\r\n  root = root && root.length ? root : getRoot();\r\n  let target = resolveString(`${root}/${file}`);\r\n  if (fs.existsSync(target)) {\r\n    let data = fs.readFileSync(target, \"utf-8\");\r\n    return asJSON\r\n      ? key || key.length\r\n        ? JSON.parse(data)[key]\r\n          ? JSON.parse(data)[key]\r\n          : \"\"\r\n        : JSON.parse(data)\r\n      : data;\r\n  } else if (fs.existsSync(target.replace(/%20/gm, \" \"))) {\r\n    let data = fs.readFileSync(target.replace(/%20/gm, \" \"), \"utf-8\");\r\n    return asJSON\r\n      ? key || key.length\r\n        ? JSON.parse(data)[key]\r\n          ? JSON.parse(data)[key]\r\n          : \"\"\r\n        : JSON.parse(data)\r\n      : data;\r\n  } else if (fs.existsSync(decodeURI(target))) {\r\n    console.log(\"DecodeURI does work\");\r\n    let data = fs.readFileSync(decodeURI(target), \"utf-8\");\r\n    return asJSON\r\n      ? key || key.length\r\n        ? JSON.parse(data)[key]\r\n          ? JSON.parse(data)[key]\r\n          : \"\"\r\n        : JSON.parse(data)\r\n      : data;\r\n  } else {\r\n    console.error(\"Target not found:\", file, target);\r\n    return null;\r\n  }\r\n}\r\n\r\n/**\r\n * Should be a platform independent way to get localhost\r\n */\r\nfunction getLocalHost() {\r\n  let data = tryReadingFile(\"\", \"/.debug\");\r\n  if (!data) return \"http://localhost:8081\";\r\n  return `http://localhost:${\r\n    data.match(\r\n      new RegExp(\r\n        `\\\\<Host\\\\sName\\\\=\\\\\"${\r\n          JSON.parse(window.__adobe_cep__.getHostEnvironment()).appName\r\n        }\\\\\"\\\\sPort\\\\=\\\\\"(\\\\d*)`\r\n      )\r\n    )[1]\r\n  }`;\r\n}\r\n\r\n/**\r\n * Should be a platform independent way to get manifest\r\n */\r\nfunction getManifestVersion() {\r\n  let data = tryReadingFile(\"\", \"/CSXS/manifest.xml\");\r\n  if (!data) return \"1.0.0\";\r\n  return data\r\n    .match(/ExtensionBundleVersion\\=\\\"(\\d|\\.)*(?=\\\")/)[0]\r\n    .replace(/\\w*\\=\\\"/, \"\");\r\n}\r\n\r\n//\r\n//\r\n//\r\n\r\nfunction doubleCheckPathIntegrity(spy) {\r\n  if (!window.__adobe_cep__) return spy;\r\n\r\n  let root = resolveString(window.__adobe_cep__.getSystemPath(\"extension\"));\r\n  let target = resolveString(`${root}/package.json`);\r\n  if (fs.existsSync(target) || fs.readFileSync(decodeURI(target), \"utf-8\")) {\r\n    if (navigator.platform.indexOf(\"Mac\") < 1) {\r\n      Object.keys(spy.path).forEach((item) => {\r\n        if (item == \"root\") spy.path[item] = getRoot();\r\n        else if (fs.existsSync(spy.path[item].replace(/\\%20/gm, \" \")))\r\n          spy.path[item] = spy.path[item].replace(/\\%20/gm, \" \");\r\n        else if (fs.existsSync(decodeURI(spy.path[item])))\r\n          spy.path[item] = decodeURI(spy.path[item]);\r\n        else {\r\n          console.log(\"NO MATCH:\", item, spy.path[item]);\r\n        }\r\n      });\r\n    }\r\n    return spy;\r\n  } else if (fs.existsSync(target.replace(/%20/g, \" \"))) {\r\n    Object.keys(spy.path).forEach((item) => {\r\n      spy.path[item] = spy.path[item].replace(/%20/g, \" \");\r\n    });\r\n  } else {\r\n    console.error(\"Double check failed.\");\r\n    return spy;\r\n  }\r\n  return spy;\r\n}\r\n\r\n// If this is browser, return a fake object with static values. Otherwise, be dynamic per host app\r\nlet spy = !window.__adobe_cep__\r\n  ? {\r\n      path: {\r\n        root:\r\n          \"C:/Users/TRSch/AppData/Roaming/Adobe/CEP/extensions/panelify-demo\",\r\n        userData: \"C:/Users/TRSch/AppData/Roaming\",\r\n        commonFiles: \"C:/Program Files/Common Files\",\r\n        myDocuments: \"C:/Users/TRSch/OneDrive/Documents\",\r\n        hostApplication:\r\n          \"C:/Program Files/Adobe/Adobe Illustrator 2020/Support Files/Contents/Windows/Illustrator.exe\",\r\n      },\r\n      package: {\r\n        name: \"panelify-demo\",\r\n        version: \"1.0.0\",\r\n        description: \"Bombino-quasar-panelify template\",\r\n        productName: \"Quasar Panelify\",\r\n        cordovaId: \"org.cordova.panelify\",\r\n        repository: \"Inventsable/bombino-quasar-panelify\",\r\n        author: \"Tom Scharstein II <tom@inventsable.cc>\",\r\n        homepage: \"https://github.com/Inventsable/panelify-demo\",\r\n        capacitorId: \"\",\r\n        private: true,\r\n        scripts: {\r\n          serve: \"quasar dev\",\r\n          build: \"quasar build\",\r\n          sign: \"bombino-cmd sign\",\r\n          switch: \"bombino-cmd switch\",\r\n          update: \"bombino-cmd update\",\r\n          register: \"bombino-cmd register\",\r\n          help: \"bombino-cmd help\",\r\n          convert: \"node ./bin/convertToPanelify.js\",\r\n        },\r\n        dependencies: {\r\n          \"@quasar/extras\": \"^1.0.0\",\r\n          \"cep-spy\": \"^1.1.1\",\r\n          cluecumber: \"0.0.31\",\r\n          \"lottie-web\": \"^5.5.9\",\r\n          quasar: \"^1.0.0\",\r\n          starlette: \"^0.4.5\",\r\n        },\r\n        devDependencies: {\r\n          \"@quasar/app\": \"^1.0.0\",\r\n          \"@quasar/quasar-app-extension-dotenv\": \"^1.0.0\",\r\n          \"bombino-commands\": \"^1.0.1\",\r\n          chalk: \"^3.0.0\",\r\n          \"fs-extra\": \"^8.1.0\",\r\n          inquirer: \"^7.0.0\",\r\n          \"types-for-adobe\": \"^1.5.0\",\r\n        },\r\n        engines: {\r\n          node: \">= 8.9.0\",\r\n          npm: \">= 5.6.0\",\r\n          yarn: \">= 1.6.0\",\r\n        },\r\n        browserslist: [\"last 1 version, not dead, ie >= 11\"],\r\n      },\r\n      author: \"Tom Scharstein II <tom@inventsable.cc>\",\r\n      repository: \"Inventsable/bombino-quasar-panelify\",\r\n      homepage: \"https://github.com/Inventsable/panelify-demo\",\r\n      localhost: \"http://localhost:2266\",\r\n      isDev: true,\r\n      extVersion: \"1.0.0\",\r\n      appName: \"ILST\",\r\n      appLocale: \"en_US\",\r\n      appVersion: \"24.0.0\",\r\n      userAgent: \"Windows\",\r\n      cepVersion: \"9.4.0\",\r\n      hostCapabilities: {\r\n        DISABLE_FLASH_EXTENSIONS: false,\r\n        EXTENDED_PANEL_ICONS: true,\r\n        SUPPORT_HTML_EXTENSIONS: true,\r\n        DELEGATE_APE_ENGINE: false,\r\n        EXTENDED_PANEL_MENU: true,\r\n      },\r\n      userId: \"\",\r\n      extID: \"com.panelify-demo.panel\",\r\n      exts: [],\r\n      ext: {\r\n        mainPath:\r\n          \"C:\\\\Users\\\\TRSch\\\\AppData\\\\Roaming\\\\Adobe\\\\CEP\\\\extensions\\\\panelify-demo\\\\src\\\\index-dev.html\",\r\n        maxHeight: 500,\r\n        maxWidth: 598,\r\n        specialExtensionDataXML: \"\",\r\n        id: \"com.panelify-demo.panel\",\r\n        name: \"panelify-demo\",\r\n        width: 280,\r\n        windowType: \"Panel\",\r\n        isAutoVisible: true,\r\n        basePath:\r\n          \"C:\\\\Users\\\\TRSch\\\\AppData\\\\Roaming\\\\Adobe\\\\CEP\\\\extensions\\\\panelify-demo\",\r\n        height: 400,\r\n        minWidth: 260,\r\n        requiredRuntimeList: [\r\n          {\r\n            name: \"CSXS\",\r\n            versionRange: {\r\n              lowerBound: {\r\n                version: {\r\n                  minor: 0,\r\n                  micro: 0,\r\n                  major: 8,\r\n                },\r\n                inclusive: true,\r\n              },\r\n            },\r\n          },\r\n        ],\r\n        minHeight: 300,\r\n        isPluginExtension: false,\r\n        defaultExtensionDataXML: \"\",\r\n      },\r\n      activeExt: {\r\n        mainPath:\r\n          \"C:\\\\Users\\\\TRSch\\\\AppData\\\\Roaming\\\\Adobe\\\\CEP\\\\extensions\\\\panelify-demo\\\\src\\\\index-dev.html\",\r\n        maxHeight: 500,\r\n        maxWidth: 598,\r\n        specialExtensionDataXML: \"\",\r\n        id: \"com.panelify-demo.panel\",\r\n        name: \"panelify-demo\",\r\n        width: 280,\r\n        windowType: \"Panel\",\r\n        isAutoVisible: true,\r\n        basePath:\r\n          \"C:\\\\Users\\\\TRSch\\\\AppData\\\\Roaming\\\\Adobe\\\\CEP\\\\extensions\\\\panelify-demo\",\r\n        height: 400,\r\n        minWidth: 260,\r\n        requiredRuntimeList: [\r\n          {\r\n            name: \"CSXS\",\r\n            versionRange: {\r\n              lowerBound: {\r\n                version: {\r\n                  minor: 0,\r\n                  micro: 0,\r\n                  major: 8,\r\n                },\r\n                inclusive: true,\r\n              },\r\n            },\r\n          },\r\n        ],\r\n        minHeight: 300,\r\n        isPluginExtension: false,\r\n        defaultExtensionDataXML: \"\",\r\n      },\r\n      extName: \"panelify-demo\",\r\n      getAllExtensions() {\r\n        return null;\r\n      },\r\n      getExtData(id) {\r\n        return null;\r\n      },\r\n      openExtension(ext) {\r\n        return null;\r\n      },\r\n      getVersion(ext) {\r\n        return this.extVersion;\r\n      },\r\n      launchLocalhost(url = null) {\r\n        return null;\r\n      },\r\n      launchInNewTab(url) {\r\n        window.open(url);\r\n      },\r\n      launchHomepage() {\r\n        if (this.homepage) this.launchInNewTab(this.homepage || null);\r\n        else console.log(\"Panel has no homepage defined in package.json\");\r\n      },\r\n      launchGitRepo() {\r\n        if (this.repository)\r\n          this.launchInNewTab(\"https://github.com/\" + this.repository);\r\n        else console.log(\"Panel has no repo defined in package.json\");\r\n      },\r\n    }\r\n  : {\r\n      path: {\r\n        root: resolveString(window.__adobe_cep__.getSystemPath(\"extension\")),\r\n        userData: resolveString(window.__adobe_cep__.getSystemPath(\"userData\")),\r\n        commonFiles: resolveString(\r\n          window.__adobe_cep__.getSystemPath(\"commonFiles\")\r\n        ),\r\n        myDocuments: resolveString(\r\n          window.__adobe_cep__.getSystemPath(\"myDocuments\")\r\n        ),\r\n        hostApplication: resolveString(\r\n          window.__adobe_cep__.getSystemPath(\"hostApplication\")\r\n        ),\r\n      },\r\n      package: tryReadingFile(\r\n        window.__adobe_cep__.getSystemPath(\"extension\"),\r\n        \"/package.json\",\r\n        \"\",\r\n        true\r\n      ),\r\n      author: tryReadingFile(\r\n        window.__adobe_cep__.getSystemPath(\"extension\"),\r\n        \"/package.json\",\r\n        \"author\",\r\n        true\r\n      ),\r\n      repository: tryReadingFile(\r\n        window.__adobe_cep__.getSystemPath(\"extension\"),\r\n        \"/package.json\",\r\n        \"repository\",\r\n        true\r\n      ),\r\n      homepage: tryReadingFile(\r\n        window.__adobe_cep__.getSystemPath(\"extension\"),\r\n        \"/package.json\",\r\n        \"homepage\",\r\n        true\r\n      ),\r\n      localhost: getLocalHost(),\r\n      isDev: /localhost/.test(document.location.href),\r\n      extVersion: getManifestVersion(),\r\n      appName: JSON.parse(window.__adobe_cep__.getHostEnvironment()).appName,\r\n      appLocale: JSON.parse(window.__adobe_cep__.getHostEnvironment())\r\n        .appLocale,\r\n      appVersion: JSON.parse(window.__adobe_cep__.getHostEnvironment())\r\n        .appVersion,\r\n      userAgent:\r\n        navigator.platform.indexOf(\"Win\") > -1\r\n          ? \"Windows\"\r\n          : navigator.platform.indexOf(\"Mac\") > -1\r\n          ? \"Mac\"\r\n          : \"Unknown\",\r\n      cepVersion: `${\r\n        JSON.parse(window.__adobe_cep__.getCurrentApiVersion()).major\r\n      }.${JSON.parse(window.__adobe_cep__.getCurrentApiVersion()).minor}.${\r\n        JSON.parse(window.__adobe_cep__.getCurrentApiVersion()).micro\r\n      }`,\r\n      hostCapabilities: JSON.parse(window.__adobe_cep__.getHostCapabilities()),\r\n      userId: window.__adobe_cep__.getCurrentImsUserId(),\r\n      extID: window.__adobe_cep__.getExtensionId(),\r\n      exts: JSON.parse(window.__adobe_cep__.getExtensions()),\r\n      ext: JSON.parse(window.__adobe_cep__.getExtensions()).find((ext) => {\r\n        return ext.id == window.__adobe_cep__.getExtensionId();\r\n      }),\r\n      activeExt: JSON.parse(window.__adobe_cep__.getExtensions()).find(\r\n        (ext) => {\r\n          return ext.id == window.__adobe_cep__.getExtensionId();\r\n        }\r\n      ),\r\n      extName: JSON.parse(window.__adobe_cep__.getExtensions()).find((ext) => {\r\n        return ext.id == window.__adobe_cep__.getExtensionId();\r\n      }).name,\r\n      getAllExtensions() {\r\n        return JSON.parse(window.__adobe_cep__.getExtensions()).map((ext) => {\r\n          let obj = {};\r\n          obj[\"version\"] = this.getVersion(ext);\r\n          return Object.assign(obj, ext);\r\n        });\r\n      },\r\n      getExtData(id) {\r\n        const target = JSON.parse(window.__adobe_cep__.getExtensions()).find(\r\n          (ext) => {\r\n            return ext.id == id;\r\n          }\r\n        );\r\n        target[\"version\"] = this.getVersion(target);\r\n        return target;\r\n      },\r\n      openExtension(ext) {\r\n        window.__adobe_cep__.requestOpenExtension(ext.id);\r\n      },\r\n      getVersion(ext) {\r\n        const xml = window.cep.fs.readFile(`${ext.basePath}/CSXS/manifest.xml`);\r\n        const verID = /ExtensionBundleVersion\\=\\\"(\\d|\\.)*(?=\\\")/;\r\n        const match = xml.data.match(verID);\r\n        return match && match.length\r\n          ? match[0].replace(/\\w*\\=\\\"/, \"\")\r\n          : \"unknown\";\r\n      },\r\n      launchLocalhost(url = null) {\r\n        this.launchInNewTab(url || this.localhost);\r\n      },\r\n      launchInNewTab(url) {\r\n        if (url) cep.util.openURLInDefaultBrowser(url);\r\n      },\r\n      launchHomepage() {\r\n        if (this.homepage) this.launchInNewTab(this.homepage || null);\r\n        else console.log(`Panel has no homepage defined in package.json`);\r\n      },\r\n      launchGitRepo() {\r\n        if (this.repository)\r\n          this.launchInNewTab(`https://github.com/${this.repository}`);\r\n        else console.log(`Panel has no repo defined in package.json.`);\r\n      },\r\n    };\r\n\r\nspy = doubleCheckPathIntegrity(spy);\r\nexport default spy;\r\n//\r\n//\r\n// UNUSED\r\n//\r\n//\r\n/**\r\n * @param {String} string - The string to sanitize as Mac equivalent\r\n * @returns {String} - A correctly formatted path regardless of OS\r\n */\r\nfunction getRealString(string) {\r\n  return navigator.platform.indexOf(\"Mac\") > -1\r\n    ? `/${string}`.replace(/\\s/g, \"\\\\ \")\r\n    : string;\r\n}\r\n\r\n/**\r\n * @param {Object} parent - The containing object to recurse through\r\n */\r\nfunction recheckPathData(parent) {\r\n  function fixPath(string) {\r\n    return navigator.platform.indexOf(\"Mac\") > -1\r\n      ? `/${string}`.replace(/\\s/g, \"\\\\ \")\r\n      : string;\r\n  }\r\n  Object.keys(parent).forEach((key) => {\r\n    if (/object/i.test(typeof parent[key]))\r\n      parent[key] = recheckPathData(parent[key]);\r\n    else if (\r\n      /string/i.test(typeof parent[key]) &&\r\n      /(\\\\|\\/)\\w{1,}(\\\\|\\/)/.test(parent[key])\r\n    )\r\n      parent[key] = fixPath(parent[key]);\r\n  });\r\n  return parent;\r\n}\r\n"]}