diff --git a/ChangeLog b/ChangeLog index 9d3928c9..e37d97da 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,34 @@ -31-MAR_2025: 26.2.2 +05-APR-2025: 26.2.7 + +- [conf cloud] and GraphViewer. Removes tooltips config. Pages use file tooltips config [DID-14767] +- Fixes filename and comments button for Conf Cloud + +04-APR-2025: 26.2.6 + +- Updates DOMPurify from 3.2.4 to 3.2.5 +- Adds primaryColor option for custom shape properties +- Adds mxUtils.getColorValue +- [conf cloud] Adds support for live docs [DID-14520] +- Adds Note shape in Misc sidebar +- [conf cloud] Fixed migrated server custom libraries names [DID-14902] + +03-APR-2025: 26.2.5 + +- Fixes Google Drive folder picker z-index +- Fixes OneDrive folder picker size +- [conf cloud] Fixes headers anchor [DID-14864] + +02-APR-2025: 26.2.4 + +- Fixes possible NPE in Sidebar.disablePointerEvents +- [conf cloud] Added support for imported Gliffy images with the added version prefix to the name [DID-14867] +- Fixes possible NPE in ColorDialog + +01-APR-2025: 26.2.3 + +- [conf cloud] Fixes viewer background + +31-MAR-2025: 26.2.2 - Adds Tamil translations - Fixes Confluence cloud lightbox [DID-14879] diff --git a/VERSION b/VERSION index 40fab6c2..f2a72d59 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -26.2.2 \ No newline at end of file +26.2.7 \ No newline at end of file diff --git a/etc/dependencies/package.json b/etc/dependencies/package.json index b6ec5874..a75bfbc7 100644 --- a/etc/dependencies/package.json +++ b/etc/dependencies/package.json @@ -15,7 +15,7 @@ "mermaid": "11.4.1", "pako": "2.1.0", "crypto-js": "3.1.2", - "dompurify": "3.2.4", + "dompurify": "3.2.5", "spin.js": "2.0.0", "roughjs": "4.6.6", "mathjax": "3.2.2" diff --git a/etc/imageResize/package-lock.json b/etc/imageResize/package-lock.json index d9ef2cc9..a895d5dc 100644 --- a/etc/imageResize/package-lock.json +++ b/etc/imageResize/package-lock.json @@ -9,446 +9,393 @@ "version": "1.0.0", "license": "ISC", "dependencies": { - "image-size": "^1.2.1", - "sharp": "^0.33.2", + "image-size": "^2.0.2", + "sharp": "^0.34.0", "yargs": "^17.7.2" } }, "node_modules/@emnapi/runtime": { - "version": "0.45.0", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-0.45.0.tgz", - "integrity": "sha512-Txumi3td7J4A/xTTwlssKieHKTGl3j4A1tglBx72auZ49YK7ePY6XZricgIg9mnZT4xPfA+UPCUdnhRuEFDL+w==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.0.tgz", + "integrity": "sha512-64WYIf4UYcdLnbKn/umDlNjQDSS8AgZrI/R9+x5ilkUVFxXcA1Ebl+gQLc/6mERA4407Xof0R7wEyEuj091CVw==", + "license": "MIT", "optional": true, "dependencies": { "tslib": "^2.4.0" } }, "node_modules/@img/sharp-darwin-arm64": { - "version": "0.33.2", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.2.tgz", - "integrity": "sha512-itHBs1rPmsmGF9p4qRe++CzCgd+kFYktnsoR1sbIAfsRMrJZau0Tt1AH9KVnufc2/tU02Gf6Ibujx+15qRE03w==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.0.tgz", + "integrity": "sha512-BLT8CQ234EOJFN4NCAkZUkJr2lyXavD+aQH/Jc2skPqAJTMjKeH2BUulaZNkd4MJ9hcCicTdupcbCRg4bto0Ow==", "cpu": [ "arm64" ], + "license": "Apache-2.0", "optional": true, "os": [ "darwin" ], "engines": { - "glibc": ">=2.26", - "node": "^18.17.0 || ^20.3.0 || >=21.0.0", - "npm": ">=9.6.5", - "pnpm": ">=7.1.0", - "yarn": ">=3.2.0" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, "funding": { "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-darwin-arm64": "1.0.1" + "@img/sharp-libvips-darwin-arm64": "1.1.0" } }, "node_modules/@img/sharp-darwin-x64": { - "version": "0.33.2", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.2.tgz", - "integrity": "sha512-/rK/69Rrp9x5kaWBjVN07KixZanRr+W1OiyKdXcbjQD6KbW+obaTeBBtLUAtbBsnlTTmWthw99xqoOS7SsySDg==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.0.tgz", + "integrity": "sha512-FZLxjWEtz+QbxZbtFb+f6AbD47/M9k6GuZ9dedTFdsgI9HwUMvyinxFMAeyP1fJZkJBw999Ht5Cus4sqpFlBPg==", "cpu": [ "x64" ], + "license": "Apache-2.0", "optional": true, "os": [ "darwin" ], "engines": { - "glibc": ">=2.26", - "node": "^18.17.0 || ^20.3.0 || >=21.0.0", - "npm": ">=9.6.5", - "pnpm": ">=7.1.0", - "yarn": ">=3.2.0" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, "funding": { "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-darwin-x64": "1.0.1" + "@img/sharp-libvips-darwin-x64": "1.1.0" } }, "node_modules/@img/sharp-libvips-darwin-arm64": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.1.tgz", - "integrity": "sha512-kQyrSNd6lmBV7O0BUiyu/OEw9yeNGFbQhbxswS1i6rMDwBBSX+e+rPzu3S+MwAiGU3HdLze3PanQ4Xkfemgzcw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.1.0.tgz", + "integrity": "sha512-HZ/JUmPwrJSoM4DIQPv/BfNh9yrOA8tlBbqbLz4JZ5uew2+o22Ik+tHQJcih7QJuSa0zo5coHTfD5J8inqj9DA==", "cpu": [ "arm64" ], + "license": "LGPL-3.0-or-later", "optional": true, "os": [ "darwin" ], - "engines": { - "macos": ">=11", - "npm": ">=9.6.5", - "pnpm": ">=7.1.0", - "yarn": ">=3.2.0" - }, "funding": { "url": "https://opencollective.com/libvips" } }, "node_modules/@img/sharp-libvips-darwin-x64": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.1.tgz", - "integrity": "sha512-eVU/JYLPVjhhrd8Tk6gosl5pVlvsqiFlt50wotCvdkFGf+mDNBJxMh+bvav+Wt3EBnNZWq8Sp2I7XfSjm8siog==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.1.0.tgz", + "integrity": "sha512-Xzc2ToEmHN+hfvsl9wja0RlnXEgpKNmftriQp6XzY/RaSfwD9th+MSh0WQKzUreLKKINb3afirxW7A0fz2YWuQ==", "cpu": [ "x64" ], + "license": "LGPL-3.0-or-later", "optional": true, "os": [ "darwin" ], - "engines": { - "macos": ">=10.13", - "npm": ">=9.6.5", - "pnpm": ">=7.1.0", - "yarn": ">=3.2.0" - }, "funding": { "url": "https://opencollective.com/libvips" } }, "node_modules/@img/sharp-libvips-linux-arm": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.1.tgz", - "integrity": "sha512-FtdMvR4R99FTsD53IA3LxYGghQ82t3yt0ZQ93WMZ2xV3dqrb0E8zq4VHaTOuLEAuA83oDawHV3fd+BsAPadHIQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.1.0.tgz", + "integrity": "sha512-s8BAd0lwUIvYCJyRdFqvsj+BJIpDBSxs6ivrOPm/R7piTs5UIwY5OjXrP2bqXC9/moGsyRa37eYWYCOGVXxVrA==", "cpu": [ "arm" ], + "license": "LGPL-3.0-or-later", "optional": true, "os": [ "linux" ], - "engines": { - "glibc": ">=2.28", - "npm": ">=9.6.5", - "pnpm": ">=7.1.0", - "yarn": ">=3.2.0" - }, "funding": { "url": "https://opencollective.com/libvips" } }, "node_modules/@img/sharp-libvips-linux-arm64": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.1.tgz", - "integrity": "sha512-bnGG+MJjdX70mAQcSLxgeJco11G+MxTz+ebxlz8Y3dxyeb3Nkl7LgLI0mXupoO+u1wRNx/iRj5yHtzA4sde1yA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.1.0.tgz", + "integrity": "sha512-IVfGJa7gjChDET1dK9SekxFFdflarnUB8PwW8aGwEoF3oAsSDuNUTYS+SKDOyOJxQyDC1aPFMuRYLoDInyV9Ew==", "cpu": [ "arm64" ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-ppc64": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.1.0.tgz", + "integrity": "sha512-tiXxFZFbhnkWE2LA8oQj7KYR+bWBkiV2nilRldT7bqoEZ4HiDOcePr9wVDAZPi/Id5fT1oY9iGnDq20cwUz8lQ==", + "cpu": [ + "ppc64" + ], + "license": "LGPL-3.0-or-later", "optional": true, "os": [ "linux" ], - "engines": { - "glibc": ">=2.26", - "npm": ">=9.6.5", - "pnpm": ">=7.1.0", - "yarn": ">=3.2.0" - }, "funding": { "url": "https://opencollective.com/libvips" } }, "node_modules/@img/sharp-libvips-linux-s390x": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.1.tgz", - "integrity": "sha512-3+rzfAR1YpMOeA2zZNp+aYEzGNWK4zF3+sdMxuCS3ey9HhDbJ66w6hDSHDMoap32DueFwhhs3vwooAB2MaK4XQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.1.0.tgz", + "integrity": "sha512-xukSwvhguw7COyzvmjydRb3x/09+21HykyapcZchiCUkTThEQEOMtBj9UhkaBRLuBrgLFzQ2wbxdeCCJW/jgJA==", "cpu": [ "s390x" ], + "license": "LGPL-3.0-or-later", "optional": true, "os": [ "linux" ], - "engines": { - "glibc": ">=2.28", - "npm": ">=9.6.5", - "pnpm": ">=7.1.0", - "yarn": ">=3.2.0" - }, "funding": { "url": "https://opencollective.com/libvips" } }, "node_modules/@img/sharp-libvips-linux-x64": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.1.tgz", - "integrity": "sha512-3NR1mxFsaSgMMzz1bAnnKbSAI+lHXVTqAHgc1bgzjHuXjo4hlscpUxc0vFSAPKI3yuzdzcZOkq7nDPrP2F8Jgw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.1.0.tgz", + "integrity": "sha512-yRj2+reB8iMg9W5sULM3S74jVS7zqSzHG3Ol/twnAAkAhnGQnpjj6e4ayUz7V+FpKypwgs82xbRdYtchTTUB+Q==", "cpu": [ "x64" ], + "license": "LGPL-3.0-or-later", "optional": true, "os": [ "linux" ], - "engines": { - "glibc": ">=2.26", - "npm": ">=9.6.5", - "pnpm": ">=7.1.0", - "yarn": ">=3.2.0" - }, "funding": { "url": "https://opencollective.com/libvips" } }, "node_modules/@img/sharp-libvips-linuxmusl-arm64": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.1.tgz", - "integrity": "sha512-5aBRcjHDG/T6jwC3Edl3lP8nl9U2Yo8+oTl5drd1dh9Z1EBfzUKAJFUDTDisDjUwc7N4AjnPGfCA3jl3hY8uDg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.1.0.tgz", + "integrity": "sha512-jYZdG+whg0MDK+q2COKbYidaqW/WTz0cc1E+tMAusiDygrM4ypmSCjOJPmFTvHHJ8j/6cAGyeDWZOsK06tP33w==", "cpu": [ "arm64" ], + "license": "LGPL-3.0-or-later", "optional": true, "os": [ "linux" ], - "engines": { - "musl": ">=1.2.2", - "npm": ">=9.6.5", - "pnpm": ">=7.1.0", - "yarn": ">=3.2.0" - }, "funding": { "url": "https://opencollective.com/libvips" } }, "node_modules/@img/sharp-libvips-linuxmusl-x64": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.1.tgz", - "integrity": "sha512-dcT7inI9DBFK6ovfeWRe3hG30h51cBAP5JXlZfx6pzc/Mnf9HFCQDLtYf4MCBjxaaTfjCCjkBxcy3XzOAo5txw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.1.0.tgz", + "integrity": "sha512-wK7SBdwrAiycjXdkPnGCPLjYb9lD4l6Ze2gSdAGVZrEL05AOUJESWU2lhlC+Ffn5/G+VKuSm6zzbQSzFX/P65A==", "cpu": [ "x64" ], + "license": "LGPL-3.0-or-later", "optional": true, "os": [ "linux" ], - "engines": { - "musl": ">=1.2.2", - "npm": ">=9.6.5", - "pnpm": ">=7.1.0", - "yarn": ">=3.2.0" - }, "funding": { "url": "https://opencollective.com/libvips" } }, "node_modules/@img/sharp-linux-arm": { - "version": "0.33.2", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.2.tgz", - "integrity": "sha512-Fndk/4Zq3vAc4G/qyfXASbS3HBZbKrlnKZLEJzPLrXoJuipFNNwTes71+Ki1hwYW5lch26niRYoZFAtZVf3EGA==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.0.tgz", + "integrity": "sha512-MfbqXi4zdy0CsSONwESFzrdpzcNSN66qbt8a7CdesOFfZHmlPXgC+xOy+2SLYn6+MFi/06qngGRIje7vfAV/5Q==", "cpu": [ "arm" ], + "license": "Apache-2.0", "optional": true, "os": [ "linux" ], "engines": { - "glibc": ">=2.28", - "node": "^18.17.0 || ^20.3.0 || >=21.0.0", - "npm": ">=9.6.5", - "pnpm": ">=7.1.0", - "yarn": ">=3.2.0" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, "funding": { "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linux-arm": "1.0.1" + "@img/sharp-libvips-linux-arm": "1.1.0" } }, "node_modules/@img/sharp-linux-arm64": { - "version": "0.33.2", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.2.tgz", - "integrity": "sha512-pz0NNo882vVfqJ0yNInuG9YH71smP4gRSdeL09ukC2YLE6ZyZePAlWKEHgAzJGTiOh8Qkaov6mMIMlEhmLdKew==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.0.tgz", + "integrity": "sha512-fpvIy7rPdTegqthhUNAaQikg8CzNUGxuf7VTIs5HEQllCTL322rBDuGHVoH/pZ6Qms9enHe++DsUoG/Ux93E1A==", "cpu": [ "arm64" ], + "license": "Apache-2.0", "optional": true, "os": [ "linux" ], "engines": { - "glibc": ">=2.26", - "node": "^18.17.0 || ^20.3.0 || >=21.0.0", - "npm": ">=9.6.5", - "pnpm": ">=7.1.0", - "yarn": ">=3.2.0" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, "funding": { "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linux-arm64": "1.0.1" + "@img/sharp-libvips-linux-arm64": "1.1.0" } }, "node_modules/@img/sharp-linux-s390x": { - "version": "0.33.2", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.2.tgz", - "integrity": "sha512-MBoInDXDppMfhSzbMmOQtGfloVAflS2rP1qPcUIiITMi36Mm5YR7r0ASND99razjQUpHTzjrU1flO76hKvP5RA==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.0.tgz", + "integrity": "sha512-04jdT+VCZIqj0RoTEpWXh0lErZC9prhkxEZWrQdGt1MZ368SlvXpKkXCD4Ww5ISc3LexBmfnAW/+ErUmD9sRPQ==", "cpu": [ "s390x" ], + "license": "Apache-2.0", "optional": true, "os": [ "linux" ], "engines": { - "glibc": ">=2.28", - "node": "^18.17.0 || ^20.3.0 || >=21.0.0", - "npm": ">=9.6.5", - "pnpm": ">=7.1.0", - "yarn": ">=3.2.0" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, "funding": { "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linux-s390x": "1.0.1" + "@img/sharp-libvips-linux-s390x": "1.1.0" } }, "node_modules/@img/sharp-linux-x64": { - "version": "0.33.2", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.2.tgz", - "integrity": "sha512-xUT82H5IbXewKkeF5aiooajoO1tQV4PnKfS/OZtb5DDdxS/FCI/uXTVZ35GQ97RZXsycojz/AJ0asoz6p2/H/A==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.0.tgz", + "integrity": "sha512-Y98V1d5vh8RIpf+pUb7U9a0SGzfPa7x7KPXsqtvb7i52L7HXAMv5U0aaOdnnf/CAqVUVaTJajINJ3KyrLcwByQ==", "cpu": [ "x64" ], + "license": "Apache-2.0", "optional": true, "os": [ "linux" ], "engines": { - "glibc": ">=2.26", - "node": "^18.17.0 || ^20.3.0 || >=21.0.0", - "npm": ">=9.6.5", - "pnpm": ">=7.1.0", - "yarn": ">=3.2.0" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, "funding": { "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linux-x64": "1.0.1" + "@img/sharp-libvips-linux-x64": "1.1.0" } }, "node_modules/@img/sharp-linuxmusl-arm64": { - "version": "0.33.2", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.2.tgz", - "integrity": "sha512-F+0z8JCu/UnMzg8IYW1TMeiViIWBVg7IWP6nE0p5S5EPQxlLd76c8jYemG21X99UzFwgkRo5yz2DS+zbrnxZeA==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.0.tgz", + "integrity": "sha512-pmsehGlQIOlAQ8lgtDxpGInXXMAV6JrFwoJ0Ib9PpsVYuwFM+Soa9mVZMfsTO+u9dBhCMEn2AP3mRUljgpGYvQ==", "cpu": [ "arm64" ], + "license": "Apache-2.0", "optional": true, "os": [ "linux" ], "engines": { - "musl": ">=1.2.2", - "node": "^18.17.0 || ^20.3.0 || >=21.0.0", - "npm": ">=9.6.5", - "pnpm": ">=7.1.0", - "yarn": ">=3.2.0" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, "funding": { "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linuxmusl-arm64": "1.0.1" + "@img/sharp-libvips-linuxmusl-arm64": "1.1.0" } }, "node_modules/@img/sharp-linuxmusl-x64": { - "version": "0.33.2", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.2.tgz", - "integrity": "sha512-+ZLE3SQmSL+Fn1gmSaM8uFusW5Y3J9VOf+wMGNnTtJUMUxFhv+P4UPaYEYT8tqnyYVaOVGgMN/zsOxn9pSsO2A==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.0.tgz", + "integrity": "sha512-t80LMHorxyKGIPWIX3Qyamg72vj/TGYLyOvzjvkywvNmlQurgHu3ZI2aZnUc5YQlrKPOovnwkVmTEbH+YllQ5Q==", "cpu": [ "x64" ], + "license": "Apache-2.0", "optional": true, "os": [ "linux" ], "engines": { - "musl": ">=1.2.2", - "node": "^18.17.0 || ^20.3.0 || >=21.0.0", - "npm": ">=9.6.5", - "pnpm": ">=7.1.0", - "yarn": ">=3.2.0" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, "funding": { "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linuxmusl-x64": "1.0.1" + "@img/sharp-libvips-linuxmusl-x64": "1.1.0" } }, "node_modules/@img/sharp-wasm32": { - "version": "0.33.2", - "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.2.tgz", - "integrity": "sha512-fLbTaESVKuQcpm8ffgBD7jLb/CQLcATju/jxtTXR1XCLwbOQt+OL5zPHSDMmp2JZIeq82e18yE0Vv7zh6+6BfQ==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.0.tgz", + "integrity": "sha512-oI6xsOqLHhRA3LSZb07KW3dMAmo1PpyAxwdHkuiC5+N8HzodpqXusOtzBEXKeFG8Za5ycry0xLYsu7hG5aUxoQ==", "cpu": [ "wasm32" ], + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", "optional": true, "dependencies": { - "@emnapi/runtime": "^0.45.0" + "@emnapi/runtime": "^1.4.0" }, "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0", - "npm": ">=9.6.5", - "pnpm": ">=7.1.0", - "yarn": ">=3.2.0" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, "funding": { "url": "https://opencollective.com/libvips" } }, "node_modules/@img/sharp-win32-ia32": { - "version": "0.33.2", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.2.tgz", - "integrity": "sha512-okBpql96hIGuZ4lN3+nsAjGeggxKm7hIRu9zyec0lnfB8E7Z6p95BuRZzDDXZOl2e8UmR4RhYt631i7mfmKU8g==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.0.tgz", + "integrity": "sha512-ofcDYsjJJ1zya9s/GCnXjbFIhTw5/gRVr+SivAGPMXmAml/rLLyDu/HtWntvhiacnL4VYvtgMFw/B2Zz/kgoWQ==", "cpu": [ "ia32" ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", "optional": true, "os": [ "win32" ], "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0", - "npm": ">=9.6.5", - "pnpm": ">=7.1.0", - "yarn": ">=3.2.0" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, "funding": { "url": "https://opencollective.com/libvips" } }, "node_modules/@img/sharp-win32-x64": { - "version": "0.33.2", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.2.tgz", - "integrity": "sha512-E4magOks77DK47FwHUIGH0RYWSgRBfGdK56kIHSVeB9uIS4pPFr4N2kIVsXdQQo4LzOsENKV5KAhRlRL7eMAdg==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.0.tgz", + "integrity": "sha512-S0X+Uty7Qe6tBfTigFEInchNsGYM/uRjuF1ixi8mLubMfTClmbnVIMxR2/cD5I5Z1m6lHP5D6ASneM3qsF3KFA==", "cpu": [ "x64" ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", "optional": true, "os": [ "win32" ], "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0", - "npm": ">=9.6.5", - "pnpm": ">=7.1.0", - "yarn": ">=3.2.0" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, "funding": { "url": "https://opencollective.com/libvips" @@ -527,9 +474,10 @@ } }, "node_modules/detect-libc": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", - "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", + "license": "Apache-2.0", "engines": { "node": ">=8" } @@ -556,13 +504,10 @@ } }, "node_modules/image-size": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.2.1.tgz", - "integrity": "sha512-rH+46sQJ2dlwfjfhCyNx5thzrv+dtmBIhPHk0zgRUukHzZ/kRueTJXoYYsclBaKcSMBWuGbOFXtioLpzTb5euw==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-2.0.2.tgz", + "integrity": "sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w==", "license": "MIT", - "dependencies": { - "queue": "6.0.2" - }, "bin": { "image-size": "bin/image-size.js" }, @@ -570,11 +515,6 @@ "node": ">=16.x" } }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, "node_modules/is-arrayish": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", @@ -588,25 +528,6 @@ "node": ">=8" } }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/queue": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", - "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", - "dependencies": { - "inherits": "~2.0.3" - } - }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -616,12 +537,10 @@ } }, "node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dependencies": { - "lru-cache": "^6.0.0" - }, + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -630,42 +549,43 @@ } }, "node_modules/sharp": { - "version": "0.33.2", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.2.tgz", - "integrity": "sha512-WlYOPyyPDiiM07j/UO+E720ju6gtNtHjEGg5vovUk1Lgxyjm2LFO+37Nt/UI3MMh2l6hxTWQWi7qk3cXJTutcQ==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.0.tgz", + "integrity": "sha512-l7K33wCojhluT82RQXKm3X/y9Y6yBioJ4GaOlGT67yDv8bXZcU3aOlxUM0W1zUUKQjOoIh3VcfQEKHVW9AyijQ==", "hasInstallScript": true, + "license": "Apache-2.0", "dependencies": { "color": "^4.2.3", - "detect-libc": "^2.0.2", - "semver": "^7.5.4" + "detect-libc": "^2.0.3", + "semver": "^7.7.1" }, "engines": { - "libvips": ">=8.15.1", "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, "funding": { "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-darwin-arm64": "0.33.2", - "@img/sharp-darwin-x64": "0.33.2", - "@img/sharp-libvips-darwin-arm64": "1.0.1", - "@img/sharp-libvips-darwin-x64": "1.0.1", - "@img/sharp-libvips-linux-arm": "1.0.1", - "@img/sharp-libvips-linux-arm64": "1.0.1", - "@img/sharp-libvips-linux-s390x": "1.0.1", - "@img/sharp-libvips-linux-x64": "1.0.1", - "@img/sharp-libvips-linuxmusl-arm64": "1.0.1", - "@img/sharp-libvips-linuxmusl-x64": "1.0.1", - "@img/sharp-linux-arm": "0.33.2", - "@img/sharp-linux-arm64": "0.33.2", - "@img/sharp-linux-s390x": "0.33.2", - "@img/sharp-linux-x64": "0.33.2", - "@img/sharp-linuxmusl-arm64": "0.33.2", - "@img/sharp-linuxmusl-x64": "0.33.2", - "@img/sharp-wasm32": "0.33.2", - "@img/sharp-win32-ia32": "0.33.2", - "@img/sharp-win32-x64": "0.33.2" + "@img/sharp-darwin-arm64": "0.34.0", + "@img/sharp-darwin-x64": "0.34.0", + "@img/sharp-libvips-darwin-arm64": "1.1.0", + "@img/sharp-libvips-darwin-x64": "1.1.0", + "@img/sharp-libvips-linux-arm": "1.1.0", + "@img/sharp-libvips-linux-arm64": "1.1.0", + "@img/sharp-libvips-linux-ppc64": "1.1.0", + "@img/sharp-libvips-linux-s390x": "1.1.0", + "@img/sharp-libvips-linux-x64": "1.1.0", + "@img/sharp-libvips-linuxmusl-arm64": "1.1.0", + "@img/sharp-libvips-linuxmusl-x64": "1.1.0", + "@img/sharp-linux-arm": "0.34.0", + "@img/sharp-linux-arm64": "0.34.0", + "@img/sharp-linux-s390x": "0.34.0", + "@img/sharp-linux-x64": "0.34.0", + "@img/sharp-linuxmusl-arm64": "0.34.0", + "@img/sharp-linuxmusl-x64": "0.34.0", + "@img/sharp-wasm32": "0.34.0", + "@img/sharp-win32-ia32": "0.34.0", + "@img/sharp-win32-x64": "0.34.0" } }, "node_modules/simple-swizzle": { @@ -701,9 +621,10 @@ } }, "node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD", "optional": true }, "node_modules/wrap-ansi": { @@ -730,11 +651,6 @@ "node": ">=10" } }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, "node_modules/yargs": { "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", diff --git a/etc/imageResize/package.json b/etc/imageResize/package.json index 3e678cc5..2f4ac413 100644 --- a/etc/imageResize/package.json +++ b/etc/imageResize/package.json @@ -10,8 +10,8 @@ "author": "", "license": "ISC", "dependencies": { - "image-size": "^1.2.1", - "sharp": "^0.33.2", + "image-size": "^2.0.2", + "sharp": "^0.34.0", "yargs": "^17.7.2" } } diff --git a/src/main/webapp/js/app.min.js b/src/main/webapp/js/app.min.js index 2d2f4e08..779f2580 100644 --- a/src/main/webapp/js/app.min.js +++ b/src/main/webapp/js/app.min.js @@ -1,7 +1,7 @@ //fgnass.github.com/spin.js#v2.0.0 !function(a,b){"object"==typeof exports?module.exports=b():"function"==typeof define&&define.amd?define(b):a.Spinner=b()}(this,function(){"use strict";function a(a,b){var c,d=document.createElement(a||"div");for(c in b)d[c]=b[c];return d}function b(a){for(var b=1,c=arguments.length;c>b;b++)a.appendChild(arguments[b]);return a}function c(a,b,c,d){var e=["opacity",b,~~(100*a),c,d].join("-"),f=.01+c/d*100,g=Math.max(1-(1-a)/b*(100-f),a),h=j.substring(0,j.indexOf("Animation")).toLowerCase(),i=h&&"-"+h+"-"||"";return l[e]||(m.insertRule("@"+i+"keyframes "+e+"{0%{opacity:"+g+"}"+f+"%{opacity:"+a+"}"+(f+.01)+"%{opacity:1}"+(f+b)%100+"%{opacity:"+a+"}100%{opacity:"+g+"}}",m.cssRules.length),l[e]=1),e}function d(a,b){var c,d,e=a.style;for(b=b.charAt(0).toUpperCase()+b.slice(1),d=0;d',c)}m.addRule(".spin-vml","behavior:url(#default#VML)"),h.prototype.lines=function(a,d){function f(){return e(c("group",{coordsize:k+" "+k,coordorigin:-j+" "+-j}),{width:k,height:k})}function h(a,h,i){b(m,b(e(f(),{rotation:360/d.lines*a+"deg",left:~~h}),b(e(c("roundrect",{arcsize:d.corners}),{width:j,height:d.width,left:d.radius,top:-d.width>>1,filter:i}),c("fill",{color:g(d.color,a),opacity:d.opacity}),c("stroke",{opacity:0}))))}var i,j=d.length+d.width,k=2*j,l=2*-(d.width+d.length)+"px",m=e(f(),{position:"absolute",top:l,left:l});if(d.shadow)for(i=1;i<=d.lines;i++)h(i,-2,"progid:DXImageTransform.Microsoft.Blur(pixelradius=2,makeshadow=1,shadowopacity=.3)");for(i=1;i<=d.lines;i++)h(i);return b(a,m)},h.prototype.opacity=function(a,b,c,d){var e=a.firstChild;d=d.shadow&&d.lines||0,e&&b+d>1)+"px"})}for(var i,k=0,l=(f.lines-1)*(1-f.direction)/2;k1?n-1:0),r=1;r2&&void 0!==arguments[2]?arguments[2]:h;t&&t(e,null);let i=o.length;for(;i--;){let t=o[i];if("string"==typeof t){const e=r(t);e!==t&&(n(o)||(o[i]=e),t=e)}e[t]=!0}return e}function O(e){for(let t=0;t/gm),G=a(/\$\{[\w\W]*/gm),Y=a(/^data-[\-\w.\u00B7-\uFFFF]+$/),j=a(/^aria-[\-\w]+$/),X=a(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),q=a(/^(?:\w+script|data):/i),$=a(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),K=a(/^html$/i),V=a(/^[a-z][.\w]*(-[.\w]+)+$/i);var Z=Object.freeze({__proto__:null,ARIA_ATTR:j,ATTR_WHITESPACE:$,CUSTOM_ELEMENT:V,DATA_ATTR:Y,DOCTYPE_NAME:K,ERB_EXPR:W,IS_ALLOWED_URI:X,IS_SCRIPT_OR_DATA:q,MUSTACHE_EXPR:B,TMPLIT_EXPR:G});const J=1,Q=3,ee=7,te=8,ne=9,oe=function(){return"undefined"==typeof window?null:window};var re=function t(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:oe();const o=e=>t(e);if(o.version="3.2.4",o.removed=[],!n||!n.document||n.document.nodeType!==ne||!n.Element)return o.isSupported=!1,o;let{document:r}=n;const a=r,c=a.currentScript,{DocumentFragment:s,HTMLTemplateElement:N,Node:R,Element:O,NodeFilter:B,NamedNodeMap:W=n.NamedNodeMap||n.MozNamedAttrMap,HTMLFormElement:G,DOMParser:Y,trustedTypes:j}=n,q=O.prototype,$=v(q,"cloneNode"),V=v(q,"remove"),re=v(q,"nextSibling"),ie=v(q,"childNodes"),ae=v(q,"parentNode");if("function"==typeof N){const e=r.createElement("template");e.content&&e.content.ownerDocument&&(r=e.content.ownerDocument)}let le,ce="";const{implementation:se,createNodeIterator:ue,createDocumentFragment:me,getElementsByTagName:pe}=r,{importNode:fe}=a;let de={afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]};o.isSupported="function"==typeof e&&"function"==typeof ae&&se&&void 0!==se.createHTMLDocument;const{MUSTACHE_EXPR:he,ERB_EXPR:ge,TMPLIT_EXPR:Te,DATA_ATTR:ye,ARIA_ATTR:Ee,IS_SCRIPT_OR_DATA:Ae,ATTR_WHITESPACE:_e,CUSTOM_ELEMENT:Se}=Z;let{IS_ALLOWED_URI:be}=Z,Ne=null;const Re=w({},[...L,...C,...x,...k,...U]);let we=null;const Oe=w({},[...z,...P,...H,...F]);let De=Object.seal(l(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),ve=null,Le=null,Ce=!0,xe=!0,Me=!1,ke=!0,Ie=!1,Ue=!0,ze=!1,Pe=!1,He=!1,Fe=!1,Be=!1,We=!1,Ge=!0,Ye=!1,je=!0,Xe=!1,qe={},$e=null;const Ke=w({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let Ve=null;const Ze=w({},["audio","video","img","source","image","track"]);let Je=null;const Qe=w({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),et="http://www.w3.org/1998/Math/MathML",tt="http://www.w3.org/2000/svg",nt="http://www.w3.org/1999/xhtml";let ot=nt,rt=!1,it=null;const at=w({},[et,tt,nt],g);let lt=w({},["mi","mo","mn","ms","mtext"]),ct=w({},["annotation-xml"]);const st=w({},["title","style","font","a","script"]);let ut=null;const mt=["application/xhtml+xml","text/html"];let pt=null,ft=null;const dt=r.createElement("form"),ht=function(e){return e instanceof RegExp||e instanceof Function},gt=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!ft||ft!==e){if(e&&"object"==typeof e||(e={}),e=D(e),ut=-1===mt.indexOf(e.PARSER_MEDIA_TYPE)?"text/html":e.PARSER_MEDIA_TYPE,pt="application/xhtml+xml"===ut?g:h,Ne=_(e,"ALLOWED_TAGS")?w({},e.ALLOWED_TAGS,pt):Re,we=_(e,"ALLOWED_ATTR")?w({},e.ALLOWED_ATTR,pt):Oe,it=_(e,"ALLOWED_NAMESPACES")?w({},e.ALLOWED_NAMESPACES,g):at,Je=_(e,"ADD_URI_SAFE_ATTR")?w(D(Qe),e.ADD_URI_SAFE_ATTR,pt):Qe,Ve=_(e,"ADD_DATA_URI_TAGS")?w(D(Ze),e.ADD_DATA_URI_TAGS,pt):Ze,$e=_(e,"FORBID_CONTENTS")?w({},e.FORBID_CONTENTS,pt):Ke,ve=_(e,"FORBID_TAGS")?w({},e.FORBID_TAGS,pt):{},Le=_(e,"FORBID_ATTR")?w({},e.FORBID_ATTR,pt):{},qe=!!_(e,"USE_PROFILES")&&e.USE_PROFILES,Ce=!1!==e.ALLOW_ARIA_ATTR,xe=!1!==e.ALLOW_DATA_ATTR,Me=e.ALLOW_UNKNOWN_PROTOCOLS||!1,ke=!1!==e.ALLOW_SELF_CLOSE_IN_ATTR,Ie=e.SAFE_FOR_TEMPLATES||!1,Ue=!1!==e.SAFE_FOR_XML,ze=e.WHOLE_DOCUMENT||!1,Fe=e.RETURN_DOM||!1,Be=e.RETURN_DOM_FRAGMENT||!1,We=e.RETURN_TRUSTED_TYPE||!1,He=e.FORCE_BODY||!1,Ge=!1!==e.SANITIZE_DOM,Ye=e.SANITIZE_NAMED_PROPS||!1,je=!1!==e.KEEP_CONTENT,Xe=e.IN_PLACE||!1,be=e.ALLOWED_URI_REGEXP||X,ot=e.NAMESPACE||nt,lt=e.MATHML_TEXT_INTEGRATION_POINTS||lt,ct=e.HTML_INTEGRATION_POINTS||ct,De=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&ht(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(De.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&ht(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(De.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(De.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Ie&&(xe=!1),Be&&(Fe=!0),qe&&(Ne=w({},U),we=[],!0===qe.html&&(w(Ne,L),w(we,z)),!0===qe.svg&&(w(Ne,C),w(we,P),w(we,F)),!0===qe.svgFilters&&(w(Ne,x),w(we,P),w(we,F)),!0===qe.mathMl&&(w(Ne,k),w(we,H),w(we,F))),e.ADD_TAGS&&(Ne===Re&&(Ne=D(Ne)),w(Ne,e.ADD_TAGS,pt)),e.ADD_ATTR&&(we===Oe&&(we=D(we)),w(we,e.ADD_ATTR,pt)),e.ADD_URI_SAFE_ATTR&&w(Je,e.ADD_URI_SAFE_ATTR,pt),e.FORBID_CONTENTS&&($e===Ke&&($e=D($e)),w($e,e.FORBID_CONTENTS,pt)),je&&(Ne["#text"]=!0),ze&&w(Ne,["html","head","body"]),Ne.table&&(w(Ne,["tbody"]),delete ve.tbody),e.TRUSTED_TYPES_POLICY){if("function"!=typeof e.TRUSTED_TYPES_POLICY.createHTML)throw b('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof e.TRUSTED_TYPES_POLICY.createScriptURL)throw b('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');le=e.TRUSTED_TYPES_POLICY,ce=le.createHTML("")}else void 0===le&&(le=function(e,t){if("object"!=typeof e||"function"!=typeof e.createPolicy)return null;let n=null;const o="data-tt-policy-suffix";t&&t.hasAttribute(o)&&(n=t.getAttribute(o));const r="dompurify"+(n?"#"+n:"");try{return e.createPolicy(r,{createHTML:e=>e,createScriptURL:e=>e})}catch(e){return console.warn("TrustedTypes policy "+r+" could not be created."),null}}(j,c)),null!==le&&"string"==typeof ce&&(ce=le.createHTML(""));i&&i(e),ft=e}},Tt=w({},[...C,...x,...M]),yt=w({},[...k,...I]),Et=function(e){f(o.removed,{element:e});try{ae(e).removeChild(e)}catch(t){V(e)}},At=function(e,t){try{f(o.removed,{attribute:t.getAttributeNode(e),from:t})}catch(e){f(o.removed,{attribute:null,from:t})}if(t.removeAttribute(e),"is"===e)if(Fe||Be)try{Et(t)}catch(e){}else try{t.setAttribute(e,"")}catch(e){}},_t=function(e){let t=null,n=null;if(He)e=""+e;else{const t=T(e,/^[\r\n\t ]+/);n=t&&t[0]}"application/xhtml+xml"===ut&&ot===nt&&(e=''+e+"");const o=le?le.createHTML(e):e;if(ot===nt)try{t=(new Y).parseFromString(o,ut)}catch(e){}if(!t||!t.documentElement){t=se.createDocument(ot,"template",null);try{t.documentElement.innerHTML=rt?ce:o}catch(e){}}const i=t.body||t.documentElement;return e&&n&&i.insertBefore(r.createTextNode(n),i.childNodes[0]||null),ot===nt?pe.call(t,ze?"html":"body")[0]:ze?t.documentElement:i},St=function(e){return ue.call(e.ownerDocument||e,e,B.SHOW_ELEMENT|B.SHOW_COMMENT|B.SHOW_TEXT|B.SHOW_PROCESSING_INSTRUCTION|B.SHOW_CDATA_SECTION,null)},bt=function(e){return e instanceof G&&("string"!=typeof e.nodeName||"string"!=typeof e.textContent||"function"!=typeof e.removeChild||!(e.attributes instanceof W)||"function"!=typeof e.removeAttribute||"function"!=typeof e.setAttribute||"string"!=typeof e.namespaceURI||"function"!=typeof e.insertBefore||"function"!=typeof e.hasChildNodes)},Nt=function(e){return"function"==typeof R&&e instanceof R};function Rt(e,t,n){u(e,(e=>{e.call(o,t,n,ft)}))}const wt=function(e){let t=null;if(Rt(de.beforeSanitizeElements,e,null),bt(e))return Et(e),!0;const n=pt(e.nodeName);if(Rt(de.uponSanitizeElement,e,{tagName:n,allowedTags:Ne}),e.hasChildNodes()&&!Nt(e.firstElementChild)&&S(/<[/\w]/g,e.innerHTML)&&S(/<[/\w]/g,e.textContent))return Et(e),!0;if(e.nodeType===ee)return Et(e),!0;if(Ue&&e.nodeType===te&&S(/<[/\w]/g,e.data))return Et(e),!0;if(!Ne[n]||ve[n]){if(!ve[n]&&Dt(n)){if(De.tagNameCheck instanceof RegExp&&S(De.tagNameCheck,n))return!1;if(De.tagNameCheck instanceof Function&&De.tagNameCheck(n))return!1}if(je&&!$e[n]){const t=ae(e)||e.parentNode,n=ie(e)||e.childNodes;if(n&&t){for(let o=n.length-1;o>=0;--o){const r=$(n[o],!0);r.__removalCount=(e.__removalCount||0)+1,t.insertBefore(r,re(e))}}}return Et(e),!0}return e instanceof O&&!function(e){let t=ae(e);t&&t.tagName||(t={namespaceURI:ot,tagName:"template"});const n=h(e.tagName),o=h(t.tagName);return!!it[e.namespaceURI]&&(e.namespaceURI===tt?t.namespaceURI===nt?"svg"===n:t.namespaceURI===et?"svg"===n&&("annotation-xml"===o||lt[o]):Boolean(Tt[n]):e.namespaceURI===et?t.namespaceURI===nt?"math"===n:t.namespaceURI===tt?"math"===n&&ct[o]:Boolean(yt[n]):e.namespaceURI===nt?!(t.namespaceURI===tt&&!ct[o])&&!(t.namespaceURI===et&&!lt[o])&&!yt[n]&&(st[n]||!Tt[n]):!("application/xhtml+xml"!==ut||!it[e.namespaceURI]))}(e)?(Et(e),!0):"noscript"!==n&&"noembed"!==n&&"noframes"!==n||!S(/<\/no(script|embed|frames)/i,e.innerHTML)?(Ie&&e.nodeType===Q&&(t=e.textContent,u([he,ge,Te],(e=>{t=y(t,e," ")})),e.textContent!==t&&(f(o.removed,{element:e.cloneNode()}),e.textContent=t)),Rt(de.afterSanitizeElements,e,null),!1):(Et(e),!0)},Ot=function(e,t,n){if(Ge&&("id"===t||"name"===t)&&(n in r||n in dt))return!1;if(xe&&!Le[t]&&S(ye,t));else if(Ce&&S(Ee,t));else if(!we[t]||Le[t]){if(!(Dt(e)&&(De.tagNameCheck instanceof RegExp&&S(De.tagNameCheck,e)||De.tagNameCheck instanceof Function&&De.tagNameCheck(e))&&(De.attributeNameCheck instanceof RegExp&&S(De.attributeNameCheck,t)||De.attributeNameCheck instanceof Function&&De.attributeNameCheck(t))||"is"===t&&De.allowCustomizedBuiltInElements&&(De.tagNameCheck instanceof RegExp&&S(De.tagNameCheck,n)||De.tagNameCheck instanceof Function&&De.tagNameCheck(n))))return!1}else if(Je[t]);else if(S(be,y(n,_e,"")));else if("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==E(n,"data:")||!Ve[e]){if(Me&&!S(Ae,y(n,_e,"")));else if(n)return!1}else;return!0},Dt=function(e){return"annotation-xml"!==e&&T(e,Se)},vt=function(e){Rt(de.beforeSanitizeAttributes,e,null);const{attributes:t}=e;if(!t||bt(e))return;const n={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:we,forceKeepAttr:void 0};let r=t.length;for(;r--;){const i=t[r],{name:a,namespaceURI:l,value:c}=i,s=pt(a);let m="value"===a?c:A(c);if(n.attrName=s,n.attrValue=m,n.keepAttr=!0,n.forceKeepAttr=void 0,Rt(de.uponSanitizeAttribute,e,n),m=n.attrValue,!Ye||"id"!==s&&"name"!==s||(At(a,e),m="user-content-"+m),Ue&&S(/((--!?|])>)|<\/(style|title)/i,m)){At(a,e);continue}if(n.forceKeepAttr)continue;if(At(a,e),!n.keepAttr)continue;if(!ke&&S(/\/>/i,m)){At(a,e);continue}Ie&&u([he,ge,Te],(e=>{m=y(m,e," ")}));const f=pt(e.nodeName);if(Ot(f,s,m)){if(le&&"object"==typeof j&&"function"==typeof j.getAttributeType)if(l);else switch(j.getAttributeType(f,s)){case"TrustedHTML":m=le.createHTML(m);break;case"TrustedScriptURL":m=le.createScriptURL(m)}try{l?e.setAttributeNS(l,a,m):e.setAttribute(a,m),bt(e)?Et(e):p(o.removed)}catch(e){}}}Rt(de.afterSanitizeAttributes,e,null)},Lt=function e(t){let n=null;const o=St(t);for(Rt(de.beforeSanitizeShadowDOM,t,null);n=o.nextNode();)Rt(de.uponSanitizeShadowNode,n,null),wt(n),vt(n),n.content instanceof s&&e(n.content);Rt(de.afterSanitizeShadowDOM,t,null)};return o.sanitize=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=null,r=null,i=null,l=null;if(rt=!e,rt&&(e="\x3c!--\x3e"),"string"!=typeof e&&!Nt(e)){if("function"!=typeof e.toString)throw b("toString is not a function");if("string"!=typeof(e=e.toString()))throw b("dirty is not a string, aborting")}if(!o.isSupported)return e;if(Pe||gt(t),o.removed=[],"string"==typeof e&&(Xe=!1),Xe){if(e.nodeName){const t=pt(e.nodeName);if(!Ne[t]||ve[t])throw b("root node is forbidden and cannot be sanitized in-place")}}else if(e instanceof R)n=_t("\x3c!----\x3e"),r=n.ownerDocument.importNode(e,!0),r.nodeType===J&&"BODY"===r.nodeName||"HTML"===r.nodeName?n=r:n.appendChild(r);else{if(!Fe&&!Ie&&!ze&&-1===e.indexOf("<"))return le&&We?le.createHTML(e):e;if(n=_t(e),!n)return Fe?null:We?ce:""}n&&He&&Et(n.firstChild);const c=St(Xe?e:n);for(;i=c.nextNode();)wt(i),vt(i),i.content instanceof s&&Lt(i.content);if(Xe)return e;if(Fe){if(Be)for(l=me.call(n.ownerDocument);n.firstChild;)l.appendChild(n.firstChild);else l=n;return(we.shadowroot||we.shadowrootmode)&&(l=fe.call(a,l,!0)),l}let m=ze?n.outerHTML:n.innerHTML;return ze&&Ne["!doctype"]&&n.ownerDocument&&n.ownerDocument.doctype&&n.ownerDocument.doctype.name&&S(K,n.ownerDocument.doctype.name)&&(m="\n"+m),Ie&&u([he,ge,Te],(e=>{m=y(m,e," ")})),le&&We?le.createHTML(m):m},o.setConfig=function(){gt(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),Pe=!0},o.clearConfig=function(){ft=null,Pe=!1},o.isValidAttribute=function(e,t,n){ft||gt({});const o=pt(e),r=pt(t);return Ot(o,r,n)},o.addHook=function(e,t){"function"==typeof t&&f(de[e],t)},o.removeHook=function(e,t){if(void 0!==t){const n=m(de[e],t);return-1===n?void 0:d(de[e],n,1)[0]}return p(de[e])},o.removeHooks=function(e){de[e]=[]},o.removeAllHooks=function(){de={afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},o}();return re})); +/*! @license DOMPurify 3.2.5 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.5/LICENSE */ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).DOMPurify=t()}(this,(function(){"use strict";const{entries:e,setPrototypeOf:t,isFrozen:n,getPrototypeOf:o,getOwnPropertyDescriptor:r}=Object;let{freeze:i,seal:a,create:l}=Object,{apply:c,construct:s}="undefined"!=typeof Reflect&&Reflect;i||(i=function(e){return e}),a||(a=function(e){return e}),c||(c=function(e,t,n){return e.apply(t,n)}),s||(s=function(e,t){return new e(...t)});const u=R(Array.prototype.forEach),m=R(Array.prototype.lastIndexOf),p=R(Array.prototype.pop),f=R(Array.prototype.push),d=R(Array.prototype.splice),h=R(String.prototype.toLowerCase),g=R(String.prototype.toString),T=R(String.prototype.match),y=R(String.prototype.replace),E=R(String.prototype.indexOf),A=R(String.prototype.trim),_=R(Object.prototype.hasOwnProperty),S=R(RegExp.prototype.test),b=(N=TypeError,function(){for(var e=arguments.length,t=new Array(e),n=0;n1?n-1:0),r=1;r2&&void 0!==arguments[2]?arguments[2]:h;t&&t(e,null);let i=o.length;for(;i--;){let t=o[i];if("string"==typeof t){const e=r(t);e!==t&&(n(o)||(o[i]=e),t=e)}e[t]=!0}return e}function O(e){for(let t=0;t/gm),G=a(/\$\{[\w\W]*/gm),Y=a(/^data-[\-\w.\u00B7-\uFFFF]+$/),j=a(/^aria-[\-\w]+$/),X=a(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),q=a(/^(?:\w+script|data):/i),$=a(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),K=a(/^html$/i),V=a(/^[a-z][.\w]*(-[.\w]+)+$/i);var Z=Object.freeze({__proto__:null,ARIA_ATTR:j,ATTR_WHITESPACE:$,CUSTOM_ELEMENT:V,DATA_ATTR:Y,DOCTYPE_NAME:K,ERB_EXPR:W,IS_ALLOWED_URI:X,IS_SCRIPT_OR_DATA:q,MUSTACHE_EXPR:B,TMPLIT_EXPR:G});const J=1,Q=3,ee=7,te=8,ne=9,oe=function(){return"undefined"==typeof window?null:window};var re=function t(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:oe();const o=e=>t(e);if(o.version="3.2.5",o.removed=[],!n||!n.document||n.document.nodeType!==ne||!n.Element)return o.isSupported=!1,o;let{document:r}=n;const a=r,c=a.currentScript,{DocumentFragment:s,HTMLTemplateElement:N,Node:R,Element:O,NodeFilter:B,NamedNodeMap:W=n.NamedNodeMap||n.MozNamedAttrMap,HTMLFormElement:G,DOMParser:Y,trustedTypes:j}=n,q=O.prototype,$=v(q,"cloneNode"),V=v(q,"remove"),re=v(q,"nextSibling"),ie=v(q,"childNodes"),ae=v(q,"parentNode");if("function"==typeof N){const e=r.createElement("template");e.content&&e.content.ownerDocument&&(r=e.content.ownerDocument)}let le,ce="";const{implementation:se,createNodeIterator:ue,createDocumentFragment:me,getElementsByTagName:pe}=r,{importNode:fe}=a;let de={afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]};o.isSupported="function"==typeof e&&"function"==typeof ae&&se&&void 0!==se.createHTMLDocument;const{MUSTACHE_EXPR:he,ERB_EXPR:ge,TMPLIT_EXPR:Te,DATA_ATTR:ye,ARIA_ATTR:Ee,IS_SCRIPT_OR_DATA:Ae,ATTR_WHITESPACE:_e,CUSTOM_ELEMENT:Se}=Z;let{IS_ALLOWED_URI:be}=Z,Ne=null;const Re=w({},[...L,...C,...x,...M,...U]);let we=null;const Oe=w({},[...z,...P,...H,...F]);let De=Object.seal(l(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),ve=null,Le=null,Ce=!0,xe=!0,Ie=!1,Me=!0,ke=!1,Ue=!0,ze=!1,Pe=!1,He=!1,Fe=!1,Be=!1,We=!1,Ge=!0,Ye=!1,je=!0,Xe=!1,qe={},$e=null;const Ke=w({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let Ve=null;const Ze=w({},["audio","video","img","source","image","track"]);let Je=null;const Qe=w({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),et="http://www.w3.org/1998/Math/MathML",tt="http://www.w3.org/2000/svg",nt="http://www.w3.org/1999/xhtml";let ot=nt,rt=!1,it=null;const at=w({},[et,tt,nt],g);let lt=w({},["mi","mo","mn","ms","mtext"]),ct=w({},["annotation-xml"]);const st=w({},["title","style","font","a","script"]);let ut=null;const mt=["application/xhtml+xml","text/html"];let pt=null,ft=null;const dt=r.createElement("form"),ht=function(e){return e instanceof RegExp||e instanceof Function},gt=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!ft||ft!==e){if(e&&"object"==typeof e||(e={}),e=D(e),ut=-1===mt.indexOf(e.PARSER_MEDIA_TYPE)?"text/html":e.PARSER_MEDIA_TYPE,pt="application/xhtml+xml"===ut?g:h,Ne=_(e,"ALLOWED_TAGS")?w({},e.ALLOWED_TAGS,pt):Re,we=_(e,"ALLOWED_ATTR")?w({},e.ALLOWED_ATTR,pt):Oe,it=_(e,"ALLOWED_NAMESPACES")?w({},e.ALLOWED_NAMESPACES,g):at,Je=_(e,"ADD_URI_SAFE_ATTR")?w(D(Qe),e.ADD_URI_SAFE_ATTR,pt):Qe,Ve=_(e,"ADD_DATA_URI_TAGS")?w(D(Ze),e.ADD_DATA_URI_TAGS,pt):Ze,$e=_(e,"FORBID_CONTENTS")?w({},e.FORBID_CONTENTS,pt):Ke,ve=_(e,"FORBID_TAGS")?w({},e.FORBID_TAGS,pt):{},Le=_(e,"FORBID_ATTR")?w({},e.FORBID_ATTR,pt):{},qe=!!_(e,"USE_PROFILES")&&e.USE_PROFILES,Ce=!1!==e.ALLOW_ARIA_ATTR,xe=!1!==e.ALLOW_DATA_ATTR,Ie=e.ALLOW_UNKNOWN_PROTOCOLS||!1,Me=!1!==e.ALLOW_SELF_CLOSE_IN_ATTR,ke=e.SAFE_FOR_TEMPLATES||!1,Ue=!1!==e.SAFE_FOR_XML,ze=e.WHOLE_DOCUMENT||!1,Fe=e.RETURN_DOM||!1,Be=e.RETURN_DOM_FRAGMENT||!1,We=e.RETURN_TRUSTED_TYPE||!1,He=e.FORCE_BODY||!1,Ge=!1!==e.SANITIZE_DOM,Ye=e.SANITIZE_NAMED_PROPS||!1,je=!1!==e.KEEP_CONTENT,Xe=e.IN_PLACE||!1,be=e.ALLOWED_URI_REGEXP||X,ot=e.NAMESPACE||nt,lt=e.MATHML_TEXT_INTEGRATION_POINTS||lt,ct=e.HTML_INTEGRATION_POINTS||ct,De=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&ht(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(De.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&ht(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(De.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(De.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),ke&&(xe=!1),Be&&(Fe=!0),qe&&(Ne=w({},U),we=[],!0===qe.html&&(w(Ne,L),w(we,z)),!0===qe.svg&&(w(Ne,C),w(we,P),w(we,F)),!0===qe.svgFilters&&(w(Ne,x),w(we,P),w(we,F)),!0===qe.mathMl&&(w(Ne,M),w(we,H),w(we,F))),e.ADD_TAGS&&(Ne===Re&&(Ne=D(Ne)),w(Ne,e.ADD_TAGS,pt)),e.ADD_ATTR&&(we===Oe&&(we=D(we)),w(we,e.ADD_ATTR,pt)),e.ADD_URI_SAFE_ATTR&&w(Je,e.ADD_URI_SAFE_ATTR,pt),e.FORBID_CONTENTS&&($e===Ke&&($e=D($e)),w($e,e.FORBID_CONTENTS,pt)),je&&(Ne["#text"]=!0),ze&&w(Ne,["html","head","body"]),Ne.table&&(w(Ne,["tbody"]),delete ve.tbody),e.TRUSTED_TYPES_POLICY){if("function"!=typeof e.TRUSTED_TYPES_POLICY.createHTML)throw b('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof e.TRUSTED_TYPES_POLICY.createScriptURL)throw b('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');le=e.TRUSTED_TYPES_POLICY,ce=le.createHTML("")}else void 0===le&&(le=function(e,t){if("object"!=typeof e||"function"!=typeof e.createPolicy)return null;let n=null;const o="data-tt-policy-suffix";t&&t.hasAttribute(o)&&(n=t.getAttribute(o));const r="dompurify"+(n?"#"+n:"");try{return e.createPolicy(r,{createHTML:e=>e,createScriptURL:e=>e})}catch(e){return console.warn("TrustedTypes policy "+r+" could not be created."),null}}(j,c)),null!==le&&"string"==typeof ce&&(ce=le.createHTML(""));i&&i(e),ft=e}},Tt=w({},[...C,...x,...I]),yt=w({},[...M,...k]),Et=function(e){f(o.removed,{element:e});try{ae(e).removeChild(e)}catch(t){V(e)}},At=function(e,t){try{f(o.removed,{attribute:t.getAttributeNode(e),from:t})}catch(e){f(o.removed,{attribute:null,from:t})}if(t.removeAttribute(e),"is"===e)if(Fe||Be)try{Et(t)}catch(e){}else try{t.setAttribute(e,"")}catch(e){}},_t=function(e){let t=null,n=null;if(He)e=""+e;else{const t=T(e,/^[\r\n\t ]+/);n=t&&t[0]}"application/xhtml+xml"===ut&&ot===nt&&(e=''+e+"");const o=le?le.createHTML(e):e;if(ot===nt)try{t=(new Y).parseFromString(o,ut)}catch(e){}if(!t||!t.documentElement){t=se.createDocument(ot,"template",null);try{t.documentElement.innerHTML=rt?ce:o}catch(e){}}const i=t.body||t.documentElement;return e&&n&&i.insertBefore(r.createTextNode(n),i.childNodes[0]||null),ot===nt?pe.call(t,ze?"html":"body")[0]:ze?t.documentElement:i},St=function(e){return ue.call(e.ownerDocument||e,e,B.SHOW_ELEMENT|B.SHOW_COMMENT|B.SHOW_TEXT|B.SHOW_PROCESSING_INSTRUCTION|B.SHOW_CDATA_SECTION,null)},bt=function(e){return e instanceof G&&("string"!=typeof e.nodeName||"string"!=typeof e.textContent||"function"!=typeof e.removeChild||!(e.attributes instanceof W)||"function"!=typeof e.removeAttribute||"function"!=typeof e.setAttribute||"string"!=typeof e.namespaceURI||"function"!=typeof e.insertBefore||"function"!=typeof e.hasChildNodes)},Nt=function(e){return"function"==typeof R&&e instanceof R};function Rt(e,t,n){u(e,(e=>{e.call(o,t,n,ft)}))}const wt=function(e){let t=null;if(Rt(de.beforeSanitizeElements,e,null),bt(e))return Et(e),!0;const n=pt(e.nodeName);if(Rt(de.uponSanitizeElement,e,{tagName:n,allowedTags:Ne}),e.hasChildNodes()&&!Nt(e.firstElementChild)&&S(/<[/\w!]/g,e.innerHTML)&&S(/<[/\w!]/g,e.textContent))return Et(e),!0;if(e.nodeType===ee)return Et(e),!0;if(Ue&&e.nodeType===te&&S(/<[/\w]/g,e.data))return Et(e),!0;if(!Ne[n]||ve[n]){if(!ve[n]&&Dt(n)){if(De.tagNameCheck instanceof RegExp&&S(De.tagNameCheck,n))return!1;if(De.tagNameCheck instanceof Function&&De.tagNameCheck(n))return!1}if(je&&!$e[n]){const t=ae(e)||e.parentNode,n=ie(e)||e.childNodes;if(n&&t){for(let o=n.length-1;o>=0;--o){const r=$(n[o],!0);r.__removalCount=(e.__removalCount||0)+1,t.insertBefore(r,re(e))}}}return Et(e),!0}return e instanceof O&&!function(e){let t=ae(e);t&&t.tagName||(t={namespaceURI:ot,tagName:"template"});const n=h(e.tagName),o=h(t.tagName);return!!it[e.namespaceURI]&&(e.namespaceURI===tt?t.namespaceURI===nt?"svg"===n:t.namespaceURI===et?"svg"===n&&("annotation-xml"===o||lt[o]):Boolean(Tt[n]):e.namespaceURI===et?t.namespaceURI===nt?"math"===n:t.namespaceURI===tt?"math"===n&&ct[o]:Boolean(yt[n]):e.namespaceURI===nt?!(t.namespaceURI===tt&&!ct[o])&&!(t.namespaceURI===et&&!lt[o])&&!yt[n]&&(st[n]||!Tt[n]):!("application/xhtml+xml"!==ut||!it[e.namespaceURI]))}(e)?(Et(e),!0):"noscript"!==n&&"noembed"!==n&&"noframes"!==n||!S(/<\/no(script|embed|frames)/i,e.innerHTML)?(ke&&e.nodeType===Q&&(t=e.textContent,u([he,ge,Te],(e=>{t=y(t,e," ")})),e.textContent!==t&&(f(o.removed,{element:e.cloneNode()}),e.textContent=t)),Rt(de.afterSanitizeElements,e,null),!1):(Et(e),!0)},Ot=function(e,t,n){if(Ge&&("id"===t||"name"===t)&&(n in r||n in dt))return!1;if(xe&&!Le[t]&&S(ye,t));else if(Ce&&S(Ee,t));else if(!we[t]||Le[t]){if(!(Dt(e)&&(De.tagNameCheck instanceof RegExp&&S(De.tagNameCheck,e)||De.tagNameCheck instanceof Function&&De.tagNameCheck(e))&&(De.attributeNameCheck instanceof RegExp&&S(De.attributeNameCheck,t)||De.attributeNameCheck instanceof Function&&De.attributeNameCheck(t))||"is"===t&&De.allowCustomizedBuiltInElements&&(De.tagNameCheck instanceof RegExp&&S(De.tagNameCheck,n)||De.tagNameCheck instanceof Function&&De.tagNameCheck(n))))return!1}else if(Je[t]);else if(S(be,y(n,_e,"")));else if("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==E(n,"data:")||!Ve[e]){if(Ie&&!S(Ae,y(n,_e,"")));else if(n)return!1}else;return!0},Dt=function(e){return"annotation-xml"!==e&&T(e,Se)},vt=function(e){Rt(de.beforeSanitizeAttributes,e,null);const{attributes:t}=e;if(!t||bt(e))return;const n={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:we,forceKeepAttr:void 0};let r=t.length;for(;r--;){const i=t[r],{name:a,namespaceURI:l,value:c}=i,s=pt(a);let m="value"===a?c:A(c);if(n.attrName=s,n.attrValue=m,n.keepAttr=!0,n.forceKeepAttr=void 0,Rt(de.uponSanitizeAttribute,e,n),m=n.attrValue,!Ye||"id"!==s&&"name"!==s||(At(a,e),m="user-content-"+m),Ue&&S(/((--!?|])>)|<\/(style|title)/i,m)){At(a,e);continue}if(n.forceKeepAttr)continue;if(At(a,e),!n.keepAttr)continue;if(!Me&&S(/\/>/i,m)){At(a,e);continue}ke&&u([he,ge,Te],(e=>{m=y(m,e," ")}));const f=pt(e.nodeName);if(Ot(f,s,m)){if(le&&"object"==typeof j&&"function"==typeof j.getAttributeType)if(l);else switch(j.getAttributeType(f,s)){case"TrustedHTML":m=le.createHTML(m);break;case"TrustedScriptURL":m=le.createScriptURL(m)}try{l?e.setAttributeNS(l,a,m):e.setAttribute(a,m),bt(e)?Et(e):p(o.removed)}catch(e){}}}Rt(de.afterSanitizeAttributes,e,null)},Lt=function e(t){let n=null;const o=St(t);for(Rt(de.beforeSanitizeShadowDOM,t,null);n=o.nextNode();)Rt(de.uponSanitizeShadowNode,n,null),wt(n),vt(n),n.content instanceof s&&e(n.content);Rt(de.afterSanitizeShadowDOM,t,null)};return o.sanitize=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=null,r=null,i=null,l=null;if(rt=!e,rt&&(e="\x3c!--\x3e"),"string"!=typeof e&&!Nt(e)){if("function"!=typeof e.toString)throw b("toString is not a function");if("string"!=typeof(e=e.toString()))throw b("dirty is not a string, aborting")}if(!o.isSupported)return e;if(Pe||gt(t),o.removed=[],"string"==typeof e&&(Xe=!1),Xe){if(e.nodeName){const t=pt(e.nodeName);if(!Ne[t]||ve[t])throw b("root node is forbidden and cannot be sanitized in-place")}}else if(e instanceof R)n=_t("\x3c!----\x3e"),r=n.ownerDocument.importNode(e,!0),r.nodeType===J&&"BODY"===r.nodeName||"HTML"===r.nodeName?n=r:n.appendChild(r);else{if(!Fe&&!ke&&!ze&&-1===e.indexOf("<"))return le&&We?le.createHTML(e):e;if(n=_t(e),!n)return Fe?null:We?ce:""}n&&He&&Et(n.firstChild);const c=St(Xe?e:n);for(;i=c.nextNode();)wt(i),vt(i),i.content instanceof s&&Lt(i.content);if(Xe)return e;if(Fe){if(Be)for(l=me.call(n.ownerDocument);n.firstChild;)l.appendChild(n.firstChild);else l=n;return(we.shadowroot||we.shadowrootmode)&&(l=fe.call(a,l,!0)),l}let m=ze?n.outerHTML:n.innerHTML;return ze&&Ne["!doctype"]&&n.ownerDocument&&n.ownerDocument.doctype&&n.ownerDocument.doctype.name&&S(K,n.ownerDocument.doctype.name)&&(m="\n"+m),ke&&u([he,ge,Te],(e=>{m=y(m,e," ")})),le&&We?le.createHTML(m):m},o.setConfig=function(){gt(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),Pe=!0},o.clearConfig=function(){ft=null,Pe=!1},o.isValidAttribute=function(e,t,n){ft||gt({});const o=pt(e),r=pt(t);return Ot(o,r,n)},o.addHook=function(e,t){"function"==typeof t&&f(de[e],t)},o.removeHook=function(e,t){if(void 0!==t){const n=m(de[e],t);return-1===n?void 0:d(de[e],n,1)[0]}return p(de[e])},o.removeHooks=function(e){de[e]=[]},o.removeAllHooks=function(){de={afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},o}();return re})); /* CryptoJS v3.1.2 code.google.com/p/crypto-js @@ -62,7 +62,7 @@ if("1"==urlParams.offline||"1"==urlParams.demo||"1"==urlParams.stealth||"1"==url "se.diagrams.net"==window.location.hostname&&(urlParams.db="0",urlParams.od="0",urlParams.gh="0",urlParams.gl="0",urlParams.tr="0",urlParams.plugins="0",urlParams.mode="google",urlParams.lockdown="1",window.DRAWIO_GOOGLE_APP_ID=window.DRAWIO_GOOGLE_APP_ID||"184079235871",window.DRAWIO_GOOGLE_CLIENT_ID=window.DRAWIO_GOOGLE_CLIENT_ID||"184079235871-pjf5nn0lff27lk8qf0770gmffiv9gt61.apps.googleusercontent.com");"trello"==urlParams.mode&&(urlParams.tr="1"); "embed.diagrams.net"==window.location.hostname&&(urlParams.embed="1");(null==window.location.hash||1>=window.location.hash.length)&&null!=urlParams.open&&(window.location.hash=urlParams.open);"function"!==typeof window.structuredClone&&(window.structuredClone=function(a){return a});window.urlParams=window.urlParams||{};window.DOM_PURIFY_CONFIG=window.DOM_PURIFY_CONFIG||{ADD_TAGS:["use","foreignObject"],FORBID_TAGS:["form"],ALLOWED_URI_REGEXP:/^((?!javascript:).)*$/i,HTML_INTEGRATION_POINTS:{foreignobject:!0},ADD_ATTR:["target","content","pointer-events","requiredFeatures"]};window.MAX_REQUEST_SIZE=window.MAX_REQUEST_SIZE||10485760;window.MAX_AREA=window.MAX_AREA||225E6;window.EXPORT_URL=window.EXPORT_URL||"/export";window.SAVE_URL=window.SAVE_URL||"/save"; window.OPEN_URL=window.OPEN_URL||"/open";window.RESOURCES_PATH=window.RESOURCES_PATH||"resources";window.RESOURCE_BASE=window.RESOURCE_BASE||window.RESOURCES_PATH+"/grapheditor";window.STENCIL_PATH=window.STENCIL_PATH||"stencils";window.IMAGE_PATH=window.IMAGE_PATH||"images";window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"mxgraph"; -window.mxImageBasePath=window.mxImageBasePath||"mxgraph/images";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de","se"];var mxClient={VERSION:"26.2.2",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"), +window.mxImageBasePath=window.mxImageBasePath||"mxgraph/images";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de","se"];var mxClient={VERSION:"26.2.7",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"), IS_OP:null!=navigator.userAgent&&(0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/")),IS_OT:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:/Apple Computer, Inc/.test(navigator.vendor), IS_ANDROID:0<=navigator.appVersion.indexOf("Android"),IS_IOS:/iP(hone|od|ad)/.test(navigator.platform)||navigator.userAgent.match(/Mac/)&&navigator.maxTouchPoints&&2navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&&0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:"MICROSOFT INTERNET EXPLORER"!=navigator.appName.toUpperCase(),NO_FO:!document.createElementNS|| @@ -117,73 +117,73 @@ mxUtils.write(c,a);mxEvent.addListener(c,"click",function(e){b(e)});null!=d&&(c. b,c,d,e,f){return mxUtils.link(a,b,function(){c[d](e)},f)},link:function(a,b,c,d){var e=document.createElement("span");e.style.color="blue";e.style.textDecoration="underline";e.style.cursor="pointer";null!=d&&(e.style.paddingLeft=d+"px");mxEvent.addListener(e,"click",c);mxUtils.write(e,b);null!=a&&a.appendChild(e);return e},getDocumentSize:function(){var a=document.body,b=document.documentElement;try{return new mxRectangle(0,0,a.clientWidth||b.clientWidth,Math.max(a.clientHeight||0,b.clientHeight))}catch(c){return new mxRectangle}}, fit:function(a,b){b=b||0;var c=mxUtils.getDocumentSize(),d=parseInt(a.offsetLeft),e=parseInt(a.offsetWidth),f=mxUtils.getDocumentScrollOrigin(a.ownerDocument),g=f.x;f=f.y;var k=g+c.width-b;d+e>k&&(a.style.left=Math.max(g+b,k-e)+"px");d=parseInt(a.offsetTop);e=parseInt(a.offsetHeight);c=f+c.height-b;d+e>c&&(a.style.top=Math.max(f+b,c-e)+"px")},load:function(a){a=new mxXmlRequest(a,null,"GET",!1);a.send();return a},get:function(a,b,c,d,e,f,g){a=new mxXmlRequest(a,null,"GET");var k=a.setRequestHeaders; g&&(a.setRequestHeaders=function(l,m){k.apply(this,arguments);for(var n in g)l.setRequestHeader(n,g[n])});null!=d&&a.setBinary(d);a.send(b,c,e,f);return a},getAll:function(a,b,c){for(var d=a.length,e=[],f=0,g=function(){0==f&&null!=c&&c();f++},k=0;kp||299.213*a.r+.715*a.g+.072*a.b:!1},parseLightDarkColor:function(a,b,c){var d= -a,e=null;null!=a&&(a=a.match(mxUtils.lightDarkColorRegex))&&3===a.length&&(d=mxUtils.trim(a[1]),e=mxUtils.trim(a[2]));null==e&&(c||mxUtils.isVarColor(d))&&(e=d);e=null!=e?e:null!=b?b:mxUtils.getInverseColor(d);return{light:d,dark:e}},getInverseColor:function(a,b,c){function d(m){return Math.round(b/100*(255-m)+m*(1-b/100))}function e(m){return Math.round(Math.max(0,Math.min(255,m)))}c=null!=c?c:180;b=null!=b?b:93;var f=0,g=0,k=0;if("transparent"==a.toLowerCase())return a;k=mxUtils.parseColor(a);if(null== -k)return a;f=k.r;g=k.g;k=k.b;f=d(f);g=d(g);k=d(k);a=[1,0,0,0,1,0,0,0,1];var l=Math.cos(c*Math.PI/180);c=Math.sin(c*Math.PI/180);a[0]=.2126+.7874*l-.2126*c;a[1]=.7152-.7152*l-.7152*c;a[2]=.0722-.0722*l+.9278*c;a[3]=.2126-.2126*l+.143*c;a[4]=.7152+(1-.7152)*l+.14*c;a[5]=.0722-.0722*l-.283*c;a[6]=.2126-.2126*l-.7874*c;a[7]=.7152-.7152*l+.7152*c;a[8]=.0722+.9278*l+.0722*c;c=e(a[0]*f+a[1]*g+a[2]*k);l=e(a[3]*f+a[4]*g+a[5]*k);f=e(a[6]*f+a[7]*g+a[8]*k);return"#"+(16777216|c<<16|l<<8|f).toString(16).slice(1)}, -addAlphaToColor:function(a,b){null!=b&&null!=a&&"transparent"!=a&&(a=mxUtils.parseColor(a),a="rgba("+a.r+","+a.g+","+a.b+","+b+")");return a},getLightDarkColor:function(a,b,c,d){var e={light:"transparent",dark:"transparent",cssText:"transparent"};null!=a&&a!=mxConstants.NONE&&("string"===typeof a?(a=mxUtils.parseLightDarkColor(a,c,d),e.light=mxUtils.addAlphaToColor(a.light,b),e.dark=mxUtils.addAlphaToColor(a.dark,b),e.cssText=mxUtils.lightDarkColorSupported?e.light==e.dark?e.light:"light-dark("+e.light+ -", "+e.dark+")":mxUtils.preferDarkColor?e.dark:e.light):(e.light=a,e.dark=a,e.cssText=a));return e},invertLightDarkColor:function(a){var b={};b.light=a.dark;b.dark=a.light;b.cssText=b.light==b.dark?b.light:"light-dark("+b.light+", "+b.dark+")";return b},getColor:function(a,b,c){a=null!=a?a[b]:null;null==a?a=c:a==mxConstants.NONE&&(a=null);return a},isEmptyObject:function(a){for(var b in a)return!1;return!0},clone:function(a,b,c){c=null!=c?c:!1;var d=null;if(null!=a&&"function"==typeof a.constructor)if(a.constructor=== -Element)d=a.cloneNode(null!=c?!c:!1);else{d=new a.constructor;for(var e in a)e!=mxObjectIdentity.FIELD_NAME&&(null==b||0>mxUtils.indexOf(b,e))&&(d[e]=c||"object"!=typeof a[e]?a[e]:mxUtils.clone(a[e]))}return d},equalPoints:function(a,b){if(null==a&&null!=b||null!=a&&null==b||null!=a&&null!=b&&a.length!=b.length)return!1;if(null!=a&&null!=b)for(var c=0;c [Function]\n";else if("object"==typeof a[c]){var d=mxUtils.getFunctionName(a[c].constructor);b+=c+" => ["+d+"]\n"}else b+=c+" = "+a[c]+"\n"}catch(e){b+=c+"="+e.message}return b},toRadians:function(a){return Math.PI*a/180},toDegree:function(a){return 180*a/Math.PI},arcToCurves:function(a,b,c,d,e,f,g,k,l){k-=a;l-=b;if(0===c||0===d)return A;c=Math.abs(c); -d=Math.abs(d);var m=-k/2,n=-l/2,p=Math.cos(e*Math.PI/180);A=Math.sin(e*Math.PI/180);e=p*m+A*n;m=-1*A*m+p*n;n=e*e;var q=m*m,r=c*c,t=d*d,u=n/r+q/t;1e&&(e+=2*Math.PI);g=2*e/Math.PI; -g=Math.ceil(0>g?-1*g:g);e/=g;m=8/3*Math.sin(e/4)*Math.sin(e/4)/Math.sin(e/2);n=p*c;p*=d;c*=A;d*=A;var x=Math.cos(f),y=Math.sin(f);q=-m*(n*y+d*x);r=-m*(c*y-p*x);for(var A=[],z=0;zc&&(a=3,-135>=c&&(a=2));if(0<=d.indexOf(mxConstants.DIRECTION_NORTH))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 1:b|=mxConstants.DIRECTION_MASK_EAST;break;case 2:b|=mxConstants.DIRECTION_MASK_SOUTH;break;case 3:b|=mxConstants.DIRECTION_MASK_WEST}if(0<=d.indexOf(mxConstants.DIRECTION_WEST))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_WEST;break;case 1:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 2:b|=mxConstants.DIRECTION_MASK_EAST;break; -case 3:b|=mxConstants.DIRECTION_MASK_SOUTH}if(0<=d.indexOf(mxConstants.DIRECTION_SOUTH))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_SOUTH;break;case 1:b|=mxConstants.DIRECTION_MASK_WEST;break;case 2:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 3:b|=mxConstants.DIRECTION_MASK_EAST}if(0<=d.indexOf(mxConstants.DIRECTION_EAST))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_EAST;break;case 1:b|=mxConstants.DIRECTION_MASK_SOUTH;break;case 2:b|=mxConstants.DIRECTION_MASK_WEST;break;case 3:b|=mxConstants.DIRECTION_MASK_NORTH}return b}, -reversePortConstraints:function(a){var b=(a&mxConstants.DIRECTION_MASK_WEST)<<3;b|=(a&mxConstants.DIRECTION_MASK_NORTH)<<1;b|=(a&mxConstants.DIRECTION_MASK_SOUTH)>>1;return b|(a&mxConstants.DIRECTION_MASK_EAST)>>3},findNearestSegment:function(a,b,c){var d=-1;if(0f.distSq)&&(d=f)}}return null!=d?d.p:null},intersectsPoints:function(a,b){for(var c=0;cc.x&&(a=c.x,k=b.x);k>g&&(k=g);ak)return!1;e=b.y;g=c.y;var l=c.x-b.x;1E-7g&&(b=g,g=e,e=b);g>f&&(g=f);eg?!1:!0},contains:function(a,b,c){return a.x<=b&&a.x+a.width>=b&&a.y<=c&&a.y+a.height>=c},intersects:function(a,b,c){var d=a.width,e=a.height,f=b.width,g=b.height;if(!c&&(0>=f||0>=g||0>=d||0>= -e))return!1;c=a.x;a=a.y;var k=b.x;b=b.y;f+=k;g+=b;d+=c;e+=a;return(fc)&&(ga)&&(dk)&&(eb)},intersectsHotspot:function(a,b,c,d,e,f){d=null!=d?d:1;e=null!=e?e:0;f=null!=f?f:0;if(0a.toLowerCase().indexOf("0x"))},isInteger:function(a){return String(parseInt(a))===String(a)},mod:function(a,b){return(a%b+b)%b},intersection:function(a,b,c,d,e,f,g,k){var l=(k- -f)*(c-a)-(g-e)*(d-b);g=((g-e)*(b-f)-(k-f)*(a-e))/l;e=((c-a)*(b-f)-(d-b)*(a-e))/l;return 0<=g&&1>=g&&0<=e&&1>=e?new mxPoint(a+g*(c-a),b+g*(d-b)):null},ptSegDistSq:function(a,b,c,d,e,f){c-=a;d-=b;e-=a;f-=b;0>=e*c+f*d?c=0:(e=c-e,f=d-f,a=e*c+f*d,c=0>=a?0:a*a/(c*c+d*d));e=e*e+f*f-c;0>e&&(e=0);return e},ptLineDist:function(a,b,c,d,e,f){return Math.abs((d-b)*e-(c-a)*f+c*b-d*a)/Math.sqrt((d-b)*(d-b)+(c-a)*(c-a))},relativeCcw:function(a,b,c,d,e,f){c-=a;d-=b;e-=a;f-=b;a=e*d-f*c;0==a&&(a=e*c+f*d,0a&&(a=0)));return 0>a?-1:0document.documentMode)?a.style.filter=100<=b?"":"alpha(opacity="+b+")":a.style.opacity=b/100},createElementNs:function(a,b,c){if(null!=a.createElementNS)return a.createElementNS(b, -c);a=a.createElement(c);null!=namespace&&a.setAttribute("xmlns",b);return a},createImage:function(a){var b=document.createElement("img");b.setAttribute("src",a);b.setAttribute("border","0");return b},sortCells:function(a,b){b=null!=b?b:!0;var c=new mxDictionary;a.sort(function(d,e){var f=c.get(d);null==f&&(f=mxCellPath.create(d).split(mxCellPath.PATH_SEPARATOR),c.put(d,f));d=c.get(e);null==d&&(d=mxCellPath.create(e).split(mxCellPath.PATH_SEPARATOR),c.put(e,d));e=mxCellPath.compare(f,d);return 0== -e?0:0a.indexOf("="))?a:""},getStylenames:function(a){var b=[];if(null!=a){a=a.split(";");for(var c=0;ca[c].indexOf("=")&&b.push(a[c])}return b},indexOfStylename:function(a,b){if(null!=a&&null!=b){a=a.split(";");for(var c=0,d=0;dmxUtils.indexOfStylename(a,b)&&(null==a?a="":0e?";":a.substring(e)):0>e||e==a.length-1?"":a.substring(e+1)}else{var f=a.indexOf(";"+b+"=");0>f?d&&(d=";"==a.charAt(a.length- -1)?"":";",a=a+d+b+"="+c+";"):(e=a.indexOf(";",f+1),a=d?a.substring(0,f+1)+b+"="+c+(0>e?";":a.substring(e)):a.substring(0,f)+(0>e?";":a.substring(e)))}return a},setCellStyleFlags:function(a,b,c,d,e){if(null!=b&&0e)e=";"== -a.charAt(a.length-1)?"":";",a=d||null==d?a+e+b+"="+c:a+e+b+"=0";else{var f=a.indexOf(";",e),g=0>f?a.substring(e+b.length+1):a.substring(e+b.length+1,f);g=null==d?parseInt(g)^c:d?parseInt(g)|c:parseInt(g)&~c;a=a.substring(0,e)+b+"="+g+(0<=f?a.substring(f):"")}}return a},getAlignmentAsPoint:function(a,b){var c=-.5,d=-.5;a==mxConstants.ALIGN_LEFT?c=0:a==mxConstants.ALIGN_RIGHT&&(c=-1);b==mxConstants.ALIGN_TOP?d=0:b==mxConstants.ALIGN_BOTTOM&&(d=-1);return new mxPoint(c,d)},getSizeForString:function(a, -b,c,d,e){b=null!=b?b:mxConstants.DEFAULT_FONTSIZE;c=null!=c?c:mxConstants.DEFAULT_FONTFAMILY;var f=document.createElement("div");f.style.fontFamily=c;f.style.fontSize=Math.round(b)+"px";f.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?b*mxConstants.LINE_HEIGHT+"px":mxConstants.LINE_HEIGHT*mxSvgCanvas2D.prototype.lineHeightCorrection;null!=e&&((e&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&(f.style.fontWeight="bold"),(e&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&(f.style.fontStyle="italic"), -b=[],(e&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&b.push("underline"),(e&mxConstants.FONT_STRIKETHROUGH)==mxConstants.FONT_STRIKETHROUGH&&b.push("line-through"),0a)return 1;c=null!=c?c:mxConstants.PAGE_FORMAT_A4_PORTRAIT;d=null!=d?d:0;var e= -c.width-2*d;c=c.height-2*d;d=mxRectangle.fromRectangle(b.getGraphBounds());b=b.getView().getScale();d.width/=b;d.height/=b;b=d.width;var f=Math.sqrt(a);d=Math.sqrt(b/d.height/(e/c));c=f*d;d=f/d;if(1>c&&d>a){var g=d/a;d=a;c/=g}1>d&&c>a&&(g=c/a,c=a,d/=g);g=Math.ceil(c)*Math.ceil(d);for(f=0;g>a;){g=Math.floor(c)/c;var k=Math.floor(d)/d;1==g&&(g=Math.floor(c-1)/c);1==k&&(k=Math.floor(d-1)/d);g=g>k?g:k;c*=g;d*=g;g=Math.ceil(c)*Math.ceil(d);f++;if(10";g=document.getElementsByTagName("base");for(c=0;c
')+a.container.innerHTML;b.writeln(d+"
");b.close()}else{b.writeln("");g=document.getElementsByTagName("base");for(c=0;c');b.close();c=b.createElement("div");c.position="absolute";c.overflow="hidden";c.style.width=e+"px";c.style.height=f+"px";e=b.createElement("div");e.style.position="absolute";e.style.left=k+"px";e.style.top=l+"px";f=a.container.firstChild; -for(d=null;null!=f;)g=f.cloneNode(!0),f==a.view.drawPane.ownerSVGElement?(c.appendChild(g),d=g):e.appendChild(g),f=f.nextSibling;b.body.appendChild(c);null!=e.firstChild&&b.body.appendChild(e);null!=d&&(d.style.minWidth="",d.style.minHeight="",d.firstChild.setAttribute("transform","translate("+k+","+l+")"))}mxUtils.removeCursors(b.body);return b},printScreen:function(a){var b=window.open();mxUtils.show(a,b.document);a=function(){b.focus();b.print();b.close()};mxClient.IS_GC?b.setTimeout(a,500):a()}, -popup:function(a,b){if(b){var c=document.createElement("div");c.style.overflow="scroll";c.style.width="636px";c.style.height="460px";b=document.createElement("pre");b.innerHTML=mxUtils.htmlEntities(a,!1).replace(/\n/g,"
").replace(/ /g," ");c.appendChild(b);c=new mxWindow("Popup Window",c,document.body.clientWidth/2-320,Math.max(document.body.clientHeight||0,document.documentElement.clientHeight)/2-240,640,480,!1,!0);c.setClosable(!0);c.setVisible(!0)}else mxClient.IS_NS?(c=window.open(), -c.document.writeln("
"+mxUtils.htmlEntities(a)+"").replace(/ /g," "),c.document.body.appendChild(b))},alert:function(a){alert(a)},prompt:function(a,b){return prompt(a,null!=b?b:"")},confirm:function(a){return confirm(a)},error:function(a,b,c,d){var e=document.createElement("div");e.style.padding="20px";var f=document.createElement("img");f.setAttribute("src",
-d||mxUtils.errorImage);f.setAttribute("valign","bottom");f.style.verticalAlign="middle";e.appendChild(f);e.appendChild(document.createTextNode(" "));e.appendChild(document.createTextNode(" "));e.appendChild(document.createTextNode(" "));mxUtils.write(e,a);a=document.body.clientWidth;d=document.body.clientHeight||document.documentElement.clientHeight;var g=new mxWindow(mxResources.get(mxUtils.errorResource)||mxUtils.errorResource,e,(a-b)/2,d/4,b,null,!1,!0);c&&(mxUtils.br(e),b=document.createElement("p"),
-c=document.createElement("button"),mxClient.IS_IE?c.style.cssText="float:right":c.setAttribute("style","float:right"),mxEvent.addListener(c,"click",function(k){g.destroy()}),mxUtils.write(c,mxResources.get(mxUtils.closeResource)||mxUtils.closeResource),b.appendChild(c),e.appendChild(b),mxUtils.br(e),g.setClosable(!0));g.setVisible(!0);return g},makeDraggable:function(a,b,c,d,e,f,g,k,l,m){a=new mxDragSource(a,c);a.dragOffset=new mxPoint(null!=e?e:0,null!=f?f:mxConstants.TOOLTIP_VERTICAL_OFFSET);a.autoscroll=
-g;a.setGuidesEnabled(!1);null!=l&&(a.highlightDropTargets=l);null!=m&&(a.getDropTarget=m);a.getGraphForEvent=function(n){return"function"==typeof b?b(n):b};null!=d&&(a.createDragElement=function(){return d.cloneNode(!0)},k&&(a.createPreviewElement=function(n){var p=d.cloneNode(!0),q=parseInt(p.style.width),r=parseInt(p.style.height);p.style.width=Math.round(q*n.view.scale)+"px";p.style.height=Math.round(r*n.view.scale)+"px";return p}));return a},format:function(a){return parseFloat(parseFloat(a).toFixed(2))}},
-mxConstants={DEFAULT_HOTSPOT:.3,MIN_HOTSPOT_SIZE:8,MAX_HOTSPOT_SIZE:0,RENDERING_HINT_EXACT:"exact",RENDERING_HINT_FASTER:"faster",RENDERING_HINT_FASTEST:"fastest",DIALECT_SVG:"svg",DIALECT_MIXEDHTML:"mixedHtml",DIALECT_PREFERHTML:"preferHtml",DIALECT_STRICTHTML:"strictHtml",NS_SVG:"http://www.w3.org/2000/svg",NS_XHTML:"http://www.w3.org/1999/xhtml",NS_XLINK:"http://www.w3.org/1999/xlink",SHADOWCOLOR:"#808080",VML_SHADOWCOLOR:"#808080",SHADOW_OFFSET_X:2,SHADOW_OFFSET_Y:3,SHADOW_BLUR:2,SHADOW_OPACITY:1,
-NODETYPE_ELEMENT:1,NODETYPE_ATTRIBUTE:2,NODETYPE_TEXT:3,NODETYPE_CDATA:4,NODETYPE_ENTITY_REFERENCE:5,NODETYPE_ENTITY:6,NODETYPE_PROCESSING_INSTRUCTION:7,NODETYPE_COMMENT:8,NODETYPE_DOCUMENT:9,NODETYPE_DOCUMENTTYPE:10,NODETYPE_DOCUMENT_FRAGMENT:11,NODETYPE_NOTATION:12,TOOLTIP_VERTICAL_OFFSET:16,DEFAULT_VALID_COLOR:"#00FF00",DEFAULT_INVALID_COLOR:"#FF0000",OUTLINE_HIGHLIGHT_COLOR:"#00FF00",OUTLINE_HIGHLIGHT_STROKEWIDTH:5,HIGHLIGHT_STROKEWIDTH:3,HIGHLIGHT_SIZE:2,HIGHLIGHT_OPACITY:100,CURSOR_MOVABLE_VERTEX:"move",
-CURSOR_MOVABLE_EDGE:"move",CURSOR_LABEL_HANDLE:"default",CURSOR_TERMINAL_HANDLE:"pointer",CURSOR_BEND_HANDLE:"crosshair",CURSOR_VIRTUAL_BEND_HANDLE:"crosshair",CURSOR_CONNECT:"pointer",HIGHLIGHT_COLOR:"#00FF00",CONNECT_TARGET_COLOR:"#0000FF",INVALID_CONNECT_TARGET_COLOR:"#FF0000",DROP_TARGET_COLOR:"#0000FF",VALID_COLOR:"#00FF00",INVALID_COLOR:"#FF0000",EDGE_SELECTION_COLOR:"#00FF00",VERTEX_SELECTION_COLOR:"#00FF00",VERTEX_SELECTION_STROKEWIDTH:1,EDGE_SELECTION_STROKEWIDTH:1,VERTEX_SELECTION_DASHED:!0,
-EDGE_SELECTION_DASHED:!0,GUIDE_COLOR:"#FF0000",GUIDE_STROKEWIDTH:1,OUTLINE_COLOR:"#0099FF",OUTLINE_STROKEWIDTH:mxClient.IS_IE?2:3,HANDLE_SIZE:6,LABEL_HANDLE_SIZE:4,HANDLE_FILLCOLOR:"#00FF00",HANDLE_STROKECOLOR:"black",LABEL_HANDLE_FILLCOLOR:"yellow",CONNECT_HANDLE_FILLCOLOR:"#0000FF",LOCKED_HANDLE_FILLCOLOR:"#FF0000",OUTLINE_HANDLE_FILLCOLOR:"#00FFFF",OUTLINE_HANDLE_STROKECOLOR:"#0033FF",DEFAULT_FONTFAMILY:"Arial,Helvetica",DEFAULT_FONTSIZE:11,DEFAULT_TEXT_DIRECTION:"",LINE_HEIGHT:1.2,WORD_WRAP:"normal",
-ABSOLUTE_LINE_HEIGHT:!1,DEFAULT_FONTSTYLE:0,DEFAULT_STARTSIZE:40,DEFAULT_MARKERSIZE:6,DEFAULT_IMAGESIZE:24,ENTITY_SEGMENT:30,RECTANGLE_ROUNDING_FACTOR:.15,LINE_ARCSIZE:20,ARROW_SPACING:0,ARROW_WIDTH:30,ARROW_SIZE:30,PAGE_FORMAT_A4_PORTRAIT:new mxRectangle(0,0,827,1169),PAGE_FORMAT_A4_LANDSCAPE:new mxRectangle(0,0,1169,827),PAGE_FORMAT_LETTER_PORTRAIT:new mxRectangle(0,0,850,1100),PAGE_FORMAT_LETTER_LANDSCAPE:new mxRectangle(0,0,1100,850),NONE:"none",STYLE_PERIMETER:"perimeter",STYLE_SOURCE_PORT:"sourcePort",
-STYLE_TARGET_PORT:"targetPort",STYLE_PORT_CONSTRAINT:"portConstraint",STYLE_PORT_CONSTRAINT_ROTATION:"portConstraintRotation",STYLE_SOURCE_PORT_CONSTRAINT:"sourcePortConstraint",STYLE_TARGET_PORT_CONSTRAINT:"targetPortConstraint",STYLE_OPACITY:"opacity",STYLE_FILL_OPACITY:"fillOpacity",STYLE_FILL_STYLE:"fillStyle",STYLE_STROKE_OPACITY:"strokeOpacity",STYLE_TEXT_OPACITY:"textOpacity",STYLE_TEXT_DIRECTION:"textDirection",STYLE_OVERFLOW:"overflow",STYLE_BLOCK_SPACING:"blockSpacing",STYLE_ORTHOGONAL:"orthogonal",
-STYLE_EXIT_X:"exitX",STYLE_EXIT_Y:"exitY",STYLE_EXIT_DX:"exitDx",STYLE_EXIT_DY:"exitDy",STYLE_EXIT_PERIMETER:"exitPerimeter",STYLE_ENTRY_X:"entryX",STYLE_ENTRY_Y:"entryY",STYLE_ENTRY_DX:"entryDx",STYLE_ENTRY_DY:"entryDy",STYLE_ENTRY_PERIMETER:"entryPerimeter",STYLE_WHITE_SPACE:"whiteSpace",STYLE_ROTATION:"rotation",STYLE_FILLCOLOR:"fillColor",STYLE_POINTER_EVENTS:"pointerEvents",STYLE_SWIMLANE_FILLCOLOR:"swimlaneFillColor",STYLE_MARGIN:"margin",STYLE_GRADIENTCOLOR:"gradientColor",STYLE_GRADIENT_DIRECTION:"gradientDirection",
-STYLE_STROKECOLOR:"strokeColor",STYLE_SEPARATORCOLOR:"separatorColor",STYLE_STROKEWIDTH:"strokeWidth",STYLE_ALIGN:"align",STYLE_VERTICAL_ALIGN:"verticalAlign",STYLE_LABEL_WIDTH:"labelWidth",STYLE_LABEL_POSITION:"labelPosition",STYLE_VERTICAL_LABEL_POSITION:"verticalLabelPosition",STYLE_IMAGE_ASPECT:"imageAspect",STYLE_IMAGE_ALIGN:"imageAlign",STYLE_IMAGE_VERTICAL_ALIGN:"imageVerticalAlign",STYLE_GLASS:"glass",STYLE_IMAGE:"image",STYLE_IMAGE_WIDTH:"imageWidth",STYLE_IMAGE_HEIGHT:"imageHeight",STYLE_IMAGE_BACKGROUND:"imageBackground",
-STYLE_IMAGE_BORDER:"imageBorder",STYLE_FLIPH:"flipH",STYLE_FLIPV:"flipV",STYLE_NOLABEL:"noLabel",STYLE_NOEDGESTYLE:"noEdgeStyle",STYLE_LABEL_BACKGROUNDCOLOR:"labelBackgroundColor",STYLE_LABEL_BORDERCOLOR:"labelBorderColor",STYLE_LABEL_PADDING:"labelPadding",STYLE_INDICATOR_SHAPE:"indicatorShape",STYLE_INDICATOR_IMAGE:"indicatorImage",STYLE_INDICATOR_COLOR:"indicatorColor",STYLE_INDICATOR_STROKECOLOR:"indicatorStrokeColor",STYLE_INDICATOR_GRADIENTCOLOR:"indicatorGradientColor",STYLE_INDICATOR_SPACING:"indicatorSpacing",
-STYLE_INDICATOR_WIDTH:"indicatorWidth",STYLE_INDICATOR_HEIGHT:"indicatorHeight",STYLE_INDICATOR_DIRECTION:"indicatorDirection",STYLE_SHADOW:"shadow",STYLE_TEXT_SHADOW:"textShadow",STYLE_SHADOW_OFFSET_X:"shadowOffsetX",STYLE_SHADOW_OFFSET_Y:"shadowOffsetY",STYLE_SHADOW_BLUR:"shadowBlur",STYLE_SHADOWCOLOR:"shadowColor",STYLE_SHADOW_OPACITY:"shadowOpacity",STYLE_SEGMENT:"segment",STYLE_ENDARROW:"endArrow",STYLE_STARTARROW:"startArrow",STYLE_ENDSIZE:"endSize",STYLE_STARTSIZE:"startSize",STYLE_SWIMLANE_LINE:"swimlaneLine",
-STYLE_SWIMLANE_HEAD:"swimlaneHead",STYLE_SWIMLANE_BODY:"swimlaneBody",STYLE_ENDFILL:"endFill",STYLE_ENDFILLCOLOR:"endFillColor",STYLE_STARTFILL:"startFill",STYLE_STARTFILLCOLOR:"startFillColor",STYLE_DASHED:"dashed",STYLE_DASH_PATTERN:"dashPattern",STYLE_FIX_DASH:"fixDash",STYLE_ROUNDED:"rounded",STYLE_CURVED:"curved",STYLE_ARCSIZE:"arcSize",STYLE_ABSOLUTE_ARCSIZE:"absoluteArcSize",STYLE_SOURCE_PERIMETER_SPACING:"sourcePerimeterSpacing",STYLE_TARGET_PERIMETER_SPACING:"targetPerimeterSpacing",STYLE_PERIMETER_SPACING:"perimeterSpacing",
-STYLE_SPACING:"spacing",STYLE_SPACING_TOP:"spacingTop",STYLE_SPACING_LEFT:"spacingLeft",STYLE_SPACING_BOTTOM:"spacingBottom",STYLE_SPACING_RIGHT:"spacingRight",STYLE_HORIZONTAL:"horizontal",STYLE_DIRECTION:"direction",STYLE_ANCHOR_POINT_DIRECTION:"anchorPointDirection",STYLE_ELBOW:"elbow",STYLE_FONTCOLOR:"fontColor",STYLE_FONTFAMILY:"fontFamily",STYLE_FONTSIZE:"fontSize",STYLE_FONTSTYLE:"fontStyle",STYLE_ASPECT:"aspect",STYLE_AUTOSIZE:"autosize",STYLE_AUTOSIZE_GRID:"autosizeGrid",STYLE_FIXED_WIDTH:"fixedWidth",
-STYLE_FOLDABLE:"foldable",STYLE_EDITABLE:"editable",STYLE_BACKGROUND_OUTLINE:"backgroundOutline",STYLE_BENDABLE:"bendable",STYLE_MOVABLE:"movable",STYLE_RESIZABLE:"resizable",STYLE_RESIZE_WIDTH:"resizeWidth",STYLE_RESIZE_HEIGHT:"resizeHeight",STYLE_ROTATABLE:"rotatable",STYLE_CLONEABLE:"cloneable",STYLE_DELETABLE:"deletable",STYLE_SHAPE:"shape",STYLE_EDGE:"edgeStyle",STYLE_JETTY_SIZE:"jettySize",STYLE_SOURCE_JETTY_SIZE:"sourceJettySize",STYLE_TARGET_JETTY_SIZE:"targetJettySize",STYLE_LOOP:"loopStyle",
-STYLE_ORTHOGONAL_LOOP:"orthogonalLoop",STYLE_ROUTING_CENTER_X:"routingCenterX",STYLE_ROUTING_CENTER_Y:"routingCenterY",STYLE_CLIP_PATH:"clipPath",FONT_BOLD:1,FONT_ITALIC:2,FONT_UNDERLINE:4,FONT_STRIKETHROUGH:8,SHAPE_RECTANGLE:"rectangle",SHAPE_ELLIPSE:"ellipse",SHAPE_DOUBLE_ELLIPSE:"doubleEllipse",SHAPE_RHOMBUS:"rhombus",SHAPE_LINE:"line",SHAPE_IMAGE:"image",SHAPE_ARROW:"arrow",SHAPE_ARROW_CONNECTOR:"arrowConnector",SHAPE_LABEL:"label",SHAPE_CYLINDER:"cylinder",SHAPE_SWIMLANE:"swimlane",SHAPE_CONNECTOR:"connector",
-SHAPE_ACTOR:"actor",SHAPE_CLOUD:"cloud",SHAPE_TRIANGLE:"triangle",SHAPE_HEXAGON:"hexagon",ARROW_CLASSIC:"classic",ARROW_CLASSIC_THIN:"classicThin",ARROW_BLOCK:"block",ARROW_BLOCK_THIN:"blockThin",ARROW_OPEN:"open",ARROW_OPEN_THIN:"openThin",ARROW_OVAL:"oval",ARROW_DIAMOND:"diamond",ARROW_DIAMOND_THIN:"diamondThin",ALIGN_LEFT:"left",ALIGN_CENTER:"center",ALIGN_RIGHT:"right",ALIGN_TOP:"top",ALIGN_MIDDLE:"middle",ALIGN_BOTTOM:"bottom",DIRECTION_NORTH:"north",DIRECTION_SOUTH:"south",DIRECTION_EAST:"east",
-DIRECTION_WEST:"west",DIRECTION_RADIAL:"radial",TEXT_DIRECTION_DEFAULT:"",TEXT_DIRECTION_AUTO:"auto",TEXT_DIRECTION_LTR:"ltr",TEXT_DIRECTION_RTL:"rtl",TEXT_DIRECTION_VERTICAL_LR:"vertical-lr",TEXT_DIRECTION_VERTICAL_RL:"vertical-rl",DIRECTION_MASK_NONE:0,DIRECTION_MASK_WEST:1,DIRECTION_MASK_NORTH:2,DIRECTION_MASK_SOUTH:4,DIRECTION_MASK_EAST:8,DIRECTION_MASK_ALL:15,ELBOW_VERTICAL:"vertical",ELBOW_HORIZONTAL:"horizontal",EDGESTYLE_ELBOW:"elbowEdgeStyle",EDGESTYLE_ENTITY_RELATION:"entityRelationEdgeStyle",
-EDGESTYLE_LOOP:"loopEdgeStyle",EDGESTYLE_SIDETOSIDE:"sideToSideEdgeStyle",EDGESTYLE_TOPTOBOTTOM:"topToBottomEdgeStyle",EDGESTYLE_ORTHOGONAL:"orthogonalEdgeStyle",EDGESTYLE_SEGMENT:"segmentEdgeStyle",PERIMETER_ELLIPSE:"ellipsePerimeter",PERIMETER_RECTANGLE:"rectanglePerimeter",PERIMETER_RHOMBUS:"rhombusPerimeter",PERIMETER_HEXAGON:"hexagonPerimeter",PERIMETER_TRIANGLE:"trianglePerimeter"};
+b)).simulate(c,d)},loadInto:function(a,b,c){mxClient.IS_IE?b.onreadystatechange=function(){4==b.readyState&&c()}:b.addEventListener("load",c,!1);b.load(a)},getValue:function(a,b,c){a=null!=a?a[b]:null;null==a&&(a=c);return a},getColorValue:function(a,b,c){a=null!=a?a[b]:null;if(null==a||"default"==a)a=c;return a},getNumber:function(a,b,c){a=null!=a?a[b]:null;null==a&&(a=c||0);return Number(a)},isLightDarkColor:function(a){return"string"===typeof a&&"light-dark"==mxUtils.ltrim(a).substring(0,10)},
+isVarColor:function(a){return mxUtils.varColorRegex.test(a)},isHexColor:function(a){return mxUtils.hexColorRegex.test(a)},isRgbColor:function(a){return mxUtils.rgbaColorRegex.test(a)},isValidColor:function(a){if(null==a)return!1;a=String(a).replace(/\s/g,"");if(a.toLowerCase()==mxUtils.normalizedValidInvalidColor)return!0;mxUtils.canvasContext.fillStyle=mxUtils.validInvalidColor;mxUtils.canvasContext.fillStyle=a;return mxUtils.canvasContext.fillStyle!=mxUtils.validInvalidColor},isDarkColor:function(a){a=
+mxUtils.parseColor(a);return null!=a?128>.213*a.r+.715*a.g+.072*a.b:!1},parseLightDarkColor:function(a,b,c){var d=a,e=null;null!=a&&(a=a.match(mxUtils.lightDarkColorRegex))&&3===a.length&&(d=mxUtils.trim(a[1]),e=mxUtils.trim(a[2]));null==e&&(c||mxUtils.isVarColor(d))&&(e=d);e=null!=e?e:null!=b?b:mxUtils.getInverseColor(d);return{light:d,dark:e}},getInverseColor:function(a,b,c){function d(m){return Math.round(b/100*(255-m)+m*(1-b/100))}function e(m){return Math.round(Math.max(0,Math.min(255,m)))}c=
+null!=c?c:180;b=null!=b?b:93;var f=0,g=0,k=0;if("transparent"==a.toLowerCase())return a;k=mxUtils.parseColor(a);if(null==k)return a;f=k.r;g=k.g;k=k.b;f=d(f);g=d(g);k=d(k);a=[1,0,0,0,1,0,0,0,1];var l=Math.cos(c*Math.PI/180);c=Math.sin(c*Math.PI/180);a[0]=.2126+.7874*l-.2126*c;a[1]=.7152-.7152*l-.7152*c;a[2]=.0722-.0722*l+.9278*c;a[3]=.2126-.2126*l+.143*c;a[4]=.7152+(1-.7152)*l+.14*c;a[5]=.0722-.0722*l-.283*c;a[6]=.2126-.2126*l-.7874*c;a[7]=.7152-.7152*l+.7152*c;a[8]=.0722+.9278*l+.0722*c;c=e(a[0]*
+f+a[1]*g+a[2]*k);l=e(a[3]*f+a[4]*g+a[5]*k);f=e(a[6]*f+a[7]*g+a[8]*k);return"#"+(16777216|c<<16|l<<8|f).toString(16).slice(1)},addAlphaToColor:function(a,b){null!=b&&null!=a&&"transparent"!=a&&(a=mxUtils.parseColor(a),a="rgba("+a.r+","+a.g+","+a.b+","+b+")");return a},getLightDarkColor:function(a,b,c,d){var e={light:"transparent",dark:"transparent",cssText:"transparent"};null!=a&&a!=mxConstants.NONE&&("string"===typeof a?(a=mxUtils.parseLightDarkColor(a,c,d),e.light=mxUtils.addAlphaToColor(a.light,
+b),e.dark=mxUtils.addAlphaToColor(a.dark,b),e.cssText=mxUtils.lightDarkColorSupported?e.light==e.dark?e.light:"light-dark("+e.light+", "+e.dark+")":mxUtils.preferDarkColor?e.dark:e.light):(e.light=a,e.dark=a,e.cssText=a));return e},invertLightDarkColor:function(a){var b={};b.light=a.dark;b.dark=a.light;b.cssText=b.light==b.dark?b.light:"light-dark("+b.light+", "+b.dark+")";return b},getColor:function(a,b,c){a=null!=a?a[b]:null;null==a?a=c:a==mxConstants.NONE&&(a=null);return a},isEmptyObject:function(a){for(var b in a)return!1;
+return!0},clone:function(a,b,c){c=null!=c?c:!1;var d=null;if(null!=a&&"function"==typeof a.constructor)if(a.constructor===Element)d=a.cloneNode(null!=c?!c:!1);else{d=new a.constructor;for(var e in a)e!=mxObjectIdentity.FIELD_NAME&&(null==b||0>mxUtils.indexOf(b,e))&&(d[e]=c||"object"!=typeof a[e]?a[e]:mxUtils.clone(a[e]))}return d},equalPoints:function(a,b){if(null==a&&null!=b||null!=a&&null==b||null!=a&&null!=b&&a.length!=b.length)return!1;if(null!=a&&null!=b)for(var c=0;c [Function]\n";else if("object"==typeof a[c]){var d=mxUtils.getFunctionName(a[c].constructor);b+=c+" => ["+d+"]\n"}else b+=c+" = "+a[c]+"\n"}catch(e){b+=c+"="+e.message}return b},toRadians:function(a){return Math.PI*a/
+180},toDegree:function(a){return 180*a/Math.PI},arcToCurves:function(a,b,c,d,e,f,g,k,l){k-=a;l-=b;if(0===c||0===d)return A;c=Math.abs(c);d=Math.abs(d);var m=-k/2,n=-l/2,p=Math.cos(e*Math.PI/180);A=Math.sin(e*Math.PI/180);e=p*m+A*n;m=-1*A*m+p*n;n=e*e;var q=m*m,r=c*c,t=d*d,u=n/r+q/t;1e&&(e+=2*Math.PI);g=2*e/Math.PI;g=Math.ceil(0>g?-1*g:g);e/=g;m=8/3*Math.sin(e/4)*Math.sin(e/4)/Math.sin(e/2);n=p*c;p*=d;c*=A;d*=A;var x=Math.cos(f),y=Math.sin(f);q=-m*(n*y+d*x);r=-m*(c*y-p*x);for(var A=[],z=0;zc&&(a=3,-135>=c&&(a=2));if(0<=d.indexOf(mxConstants.DIRECTION_NORTH))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 1:b|=mxConstants.DIRECTION_MASK_EAST;break;case 2:b|=mxConstants.DIRECTION_MASK_SOUTH;break;case 3:b|=mxConstants.DIRECTION_MASK_WEST}if(0<=d.indexOf(mxConstants.DIRECTION_WEST))switch(a){case 0:b|=
+mxConstants.DIRECTION_MASK_WEST;break;case 1:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 2:b|=mxConstants.DIRECTION_MASK_EAST;break;case 3:b|=mxConstants.DIRECTION_MASK_SOUTH}if(0<=d.indexOf(mxConstants.DIRECTION_SOUTH))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_SOUTH;break;case 1:b|=mxConstants.DIRECTION_MASK_WEST;break;case 2:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 3:b|=mxConstants.DIRECTION_MASK_EAST}if(0<=d.indexOf(mxConstants.DIRECTION_EAST))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_EAST;
+break;case 1:b|=mxConstants.DIRECTION_MASK_SOUTH;break;case 2:b|=mxConstants.DIRECTION_MASK_WEST;break;case 3:b|=mxConstants.DIRECTION_MASK_NORTH}return b},reversePortConstraints:function(a){var b=(a&mxConstants.DIRECTION_MASK_WEST)<<3;b|=(a&mxConstants.DIRECTION_MASK_NORTH)<<1;b|=(a&mxConstants.DIRECTION_MASK_SOUTH)>>1;return b|(a&mxConstants.DIRECTION_MASK_EAST)>>3},findNearestSegment:function(a,b,c){var d=-1;if(0f.distSq)&&(d=f)}}return null!=
+d?d.p:null},intersectsPoints:function(a,b){for(var c=0;cc.x&&(a=c.x,k=b.x);k>g&&(k=g);ak)return!1;e=b.y;g=c.y;var l=c.x-b.x;1E-7g&&(b=g,g=e,e=b);g>f&&(g=f);eg?!1:!0},contains:function(a,b,c){return a.x<=b&&a.x+a.width>=
+b&&a.y<=c&&a.y+a.height>=c},intersects:function(a,b,c){var d=a.width,e=a.height,f=b.width,g=b.height;if(!c&&(0>=f||0>=g||0>=d||0>=e))return!1;c=a.x;a=a.y;var k=b.x;b=b.y;f+=k;g+=b;d+=c;e+=a;return(fc)&&(ga)&&(dk)&&(eb)},intersectsHotspot:function(a,b,c,d,e,f){d=null!=d?d:1;e=null!=e?e:0;f=null!=f?f:0;if(0a.toLowerCase().indexOf("0x"))},isInteger:function(a){return String(parseInt(a))===
+String(a)},mod:function(a,b){return(a%b+b)%b},intersection:function(a,b,c,d,e,f,g,k){var l=(k-f)*(c-a)-(g-e)*(d-b);g=((g-e)*(b-f)-(k-f)*(a-e))/l;e=((c-a)*(b-f)-(d-b)*(a-e))/l;return 0<=g&&1>=g&&0<=e&&1>=e?new mxPoint(a+g*(c-a),b+g*(d-b)):null},ptSegDistSq:function(a,b,c,d,e,f){c-=a;d-=b;e-=a;f-=b;0>=e*c+f*d?c=0:(e=c-e,f=d-f,a=e*c+f*d,c=0>=a?0:a*a/(c*c+d*d));e=e*e+f*f-c;0>e&&(e=0);return e},ptLineDist:function(a,b,c,d,e,f){return Math.abs((d-b)*e-(c-a)*f+c*b-d*a)/Math.sqrt((d-b)*(d-b)+(c-a)*(c-a))},
+relativeCcw:function(a,b,c,d,e,f){c-=a;d-=b;e-=a;f-=b;a=e*d-f*c;0==a&&(a=e*c+f*d,0a&&(a=0)));return 0>a?-1:0document.documentMode)?a.style.filter=100<=b?
+"":"alpha(opacity="+b+")":a.style.opacity=b/100},createElementNs:function(a,b,c){if(null!=a.createElementNS)return a.createElementNS(b,c);a=a.createElement(c);null!=namespace&&a.setAttribute("xmlns",b);return a},createImage:function(a){var b=document.createElement("img");b.setAttribute("src",a);b.setAttribute("border","0");return b},sortCells:function(a,b){b=null!=b?b:!0;var c=new mxDictionary;a.sort(function(d,e){var f=c.get(d);null==f&&(f=mxCellPath.create(d).split(mxCellPath.PATH_SEPARATOR),c.put(d,
+f));d=c.get(e);null==d&&(d=mxCellPath.create(e).split(mxCellPath.PATH_SEPARATOR),c.put(e,d));e=mxCellPath.compare(f,d);return 0==e?0:0a.indexOf("="))?a:""},getStylenames:function(a){var b=[];if(null!=a){a=a.split(";");for(var c=0;ca[c].indexOf("=")&&b.push(a[c])}return b},indexOfStylename:function(a,b){if(null!=a&&null!=b){a=a.split(";");for(var c=0,d=0;dmxUtils.indexOfStylename(a,b)&&(null==a?a="":0e?";":a.substring(e)):0>e||e==a.length-1?"":a.substring(e+1)}else{var f=a.indexOf(";"+b+"=");0>f?d&&(d=";"==a.charAt(a.length-1)?"":";",a=a+d+b+"="+c+";"):(e=a.indexOf(";",f+1),a=d?a.substring(0,f+1)+b+"="+c+(0>e?";":a.substring(e)):a.substring(0,f)+(0>e?";":a.substring(e)))}return a},setCellStyleFlags:function(a,b,c,d,e){if(null!=b&&0e)e=";"==a.charAt(a.length-1)?"":";",a=d||null==d?a+e+b+"="+c:a+e+b+"=0";else{var f=a.indexOf(";",e),g=0>f?a.substring(e+b.length+1):a.substring(e+b.length+1,f);g=null==d?parseInt(g)^c:d?parseInt(g)|c:parseInt(g)&~c;a=a.substring(0,e)+b+"="+g+(0<=f?a.substring(f):"")}}return a},getAlignmentAsPoint:function(a,b){var c=-.5,d=-.5;a==mxConstants.ALIGN_LEFT?
+c=0:a==mxConstants.ALIGN_RIGHT&&(c=-1);b==mxConstants.ALIGN_TOP?d=0:b==mxConstants.ALIGN_BOTTOM&&(d=-1);return new mxPoint(c,d)},getSizeForString:function(a,b,c,d,e){b=null!=b?b:mxConstants.DEFAULT_FONTSIZE;c=null!=c?c:mxConstants.DEFAULT_FONTFAMILY;var f=document.createElement("div");f.style.fontFamily=c;f.style.fontSize=Math.round(b)+"px";f.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?b*mxConstants.LINE_HEIGHT+"px":mxConstants.LINE_HEIGHT*mxSvgCanvas2D.prototype.lineHeightCorrection;null!=
+e&&((e&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&(f.style.fontWeight="bold"),(e&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&(f.style.fontStyle="italic"),b=[],(e&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&b.push("underline"),(e&mxConstants.FONT_STRIKETHROUGH)==mxConstants.FONT_STRIKETHROUGH&&b.push("line-through"),0a)return 1;c=null!=c?c:mxConstants.PAGE_FORMAT_A4_PORTRAIT;d=null!=d?d:0;var e=c.width-2*d;c=c.height-2*d;d=mxRectangle.fromRectangle(b.getGraphBounds());b=b.getView().getScale();d.width/=b;d.height/=b;b=d.width;var f=Math.sqrt(a);d=Math.sqrt(b/d.height/(e/c));c=f*d;d=f/d;if(1>c&&d>a){var g=d/a;d=a;c/=g}1>d&&c>a&&(g=c/a,c=a,d/=g);g=Math.ceil(c)*Math.ceil(d);for(f=0;g>a;){g=Math.floor(c)/c;var k=Math.floor(d)/
+d;1==g&&(g=Math.floor(c-1)/c);1==k&&(k=Math.floor(d-1)/d);g=g>k?g:k;c*=g;d*=g;g=Math.ceil(c)*Math.ceil(d);f++;if(10";g=document.getElementsByTagName("base");for(c=0;c";for(c=0;c
')+a.container.innerHTML; +b.writeln(d+"
");b.close()}else{b.writeln("");g=document.getElementsByTagName("base");for(c=0;c');b.close();c=b.createElement("div");c.position="absolute"; +c.overflow="hidden";c.style.width=e+"px";c.style.height=f+"px";e=b.createElement("div");e.style.position="absolute";e.style.left=k+"px";e.style.top=l+"px";f=a.container.firstChild;for(d=null;null!=f;)g=f.cloneNode(!0),f==a.view.drawPane.ownerSVGElement?(c.appendChild(g),d=g):e.appendChild(g),f=f.nextSibling;b.body.appendChild(c);null!=e.firstChild&&b.body.appendChild(e);null!=d&&(d.style.minWidth="",d.style.minHeight="",d.firstChild.setAttribute("transform","translate("+k+","+l+")"))}mxUtils.removeCursors(b.body); +return b},printScreen:function(a){var b=window.open();mxUtils.show(a,b.document);a=function(){b.focus();b.print();b.close()};mxClient.IS_GC?b.setTimeout(a,500):a()},popup:function(a,b){if(b){var c=document.createElement("div");c.style.overflow="scroll";c.style.width="636px";c.style.height="460px";b=document.createElement("pre");b.innerHTML=mxUtils.htmlEntities(a,!1).replace(/\n/g,"
").replace(/ /g," ");c.appendChild(b);c=new mxWindow("Popup Window",c,document.body.clientWidth/2-320,Math.max(document.body.clientHeight|| +0,document.documentElement.clientHeight)/2-240,640,480,!1,!0);c.setClosable(!0);c.setVisible(!0)}else mxClient.IS_NS?(c=window.open(),c.document.writeln("
"+mxUtils.htmlEntities(a)+"").replace(/ /g," "),c.document.body.appendChild(b))},alert:function(a){alert(a)},prompt:function(a,b){return prompt(a,null!=b?b:"")},confirm:function(a){return confirm(a)},
+error:function(a,b,c,d){var e=document.createElement("div");e.style.padding="20px";var f=document.createElement("img");f.setAttribute("src",d||mxUtils.errorImage);f.setAttribute("valign","bottom");f.style.verticalAlign="middle";e.appendChild(f);e.appendChild(document.createTextNode(" "));e.appendChild(document.createTextNode(" "));e.appendChild(document.createTextNode(" "));mxUtils.write(e,a);a=document.body.clientWidth;d=document.body.clientHeight||document.documentElement.clientHeight;var g=new mxWindow(mxResources.get(mxUtils.errorResource)||
+mxUtils.errorResource,e,(a-b)/2,d/4,b,null,!1,!0);c&&(mxUtils.br(e),b=document.createElement("p"),c=document.createElement("button"),mxClient.IS_IE?c.style.cssText="float:right":c.setAttribute("style","float:right"),mxEvent.addListener(c,"click",function(k){g.destroy()}),mxUtils.write(c,mxResources.get(mxUtils.closeResource)||mxUtils.closeResource),b.appendChild(c),e.appendChild(b),mxUtils.br(e),g.setClosable(!0));g.setVisible(!0);return g},makeDraggable:function(a,b,c,d,e,f,g,k,l,m){a=new mxDragSource(a,
+c);a.dragOffset=new mxPoint(null!=e?e:0,null!=f?f:mxConstants.TOOLTIP_VERTICAL_OFFSET);a.autoscroll=g;a.setGuidesEnabled(!1);null!=l&&(a.highlightDropTargets=l);null!=m&&(a.getDropTarget=m);a.getGraphForEvent=function(n){return"function"==typeof b?b(n):b};null!=d&&(a.createDragElement=function(){return d.cloneNode(!0)},k&&(a.createPreviewElement=function(n){var p=d.cloneNode(!0),q=parseInt(p.style.width),r=parseInt(p.style.height);p.style.width=Math.round(q*n.view.scale)+"px";p.style.height=Math.round(r*
+n.view.scale)+"px";return p}));return a},format:function(a){return parseFloat(parseFloat(a).toFixed(2))}},mxConstants={DEFAULT_HOTSPOT:.3,MIN_HOTSPOT_SIZE:8,MAX_HOTSPOT_SIZE:0,RENDERING_HINT_EXACT:"exact",RENDERING_HINT_FASTER:"faster",RENDERING_HINT_FASTEST:"fastest",DIALECT_SVG:"svg",DIALECT_MIXEDHTML:"mixedHtml",DIALECT_PREFERHTML:"preferHtml",DIALECT_STRICTHTML:"strictHtml",NS_SVG:"http://www.w3.org/2000/svg",NS_XHTML:"http://www.w3.org/1999/xhtml",NS_XLINK:"http://www.w3.org/1999/xlink",SHADOWCOLOR:"#808080",
+VML_SHADOWCOLOR:"#808080",SHADOW_OFFSET_X:2,SHADOW_OFFSET_Y:3,SHADOW_BLUR:2,SHADOW_OPACITY:1,NODETYPE_ELEMENT:1,NODETYPE_ATTRIBUTE:2,NODETYPE_TEXT:3,NODETYPE_CDATA:4,NODETYPE_ENTITY_REFERENCE:5,NODETYPE_ENTITY:6,NODETYPE_PROCESSING_INSTRUCTION:7,NODETYPE_COMMENT:8,NODETYPE_DOCUMENT:9,NODETYPE_DOCUMENTTYPE:10,NODETYPE_DOCUMENT_FRAGMENT:11,NODETYPE_NOTATION:12,TOOLTIP_VERTICAL_OFFSET:16,DEFAULT_VALID_COLOR:"#00FF00",DEFAULT_INVALID_COLOR:"#FF0000",OUTLINE_HIGHLIGHT_COLOR:"#00FF00",OUTLINE_HIGHLIGHT_STROKEWIDTH:5,
+HIGHLIGHT_STROKEWIDTH:3,HIGHLIGHT_SIZE:2,HIGHLIGHT_OPACITY:100,CURSOR_MOVABLE_VERTEX:"move",CURSOR_MOVABLE_EDGE:"move",CURSOR_LABEL_HANDLE:"default",CURSOR_TERMINAL_HANDLE:"pointer",CURSOR_BEND_HANDLE:"crosshair",CURSOR_VIRTUAL_BEND_HANDLE:"crosshair",CURSOR_CONNECT:"pointer",HIGHLIGHT_COLOR:"#00FF00",CONNECT_TARGET_COLOR:"#0000FF",INVALID_CONNECT_TARGET_COLOR:"#FF0000",DROP_TARGET_COLOR:"#0000FF",VALID_COLOR:"#00FF00",INVALID_COLOR:"#FF0000",EDGE_SELECTION_COLOR:"#00FF00",VERTEX_SELECTION_COLOR:"#00FF00",
+VERTEX_SELECTION_STROKEWIDTH:1,EDGE_SELECTION_STROKEWIDTH:1,VERTEX_SELECTION_DASHED:!0,EDGE_SELECTION_DASHED:!0,GUIDE_COLOR:"#FF0000",GUIDE_STROKEWIDTH:1,OUTLINE_COLOR:"#0099FF",OUTLINE_STROKEWIDTH:mxClient.IS_IE?2:3,HANDLE_SIZE:6,LABEL_HANDLE_SIZE:4,HANDLE_FILLCOLOR:"#00FF00",HANDLE_STROKECOLOR:"black",LABEL_HANDLE_FILLCOLOR:"yellow",CONNECT_HANDLE_FILLCOLOR:"#0000FF",LOCKED_HANDLE_FILLCOLOR:"#FF0000",OUTLINE_HANDLE_FILLCOLOR:"#00FFFF",OUTLINE_HANDLE_STROKECOLOR:"#0033FF",DEFAULT_FONTFAMILY:"Arial,Helvetica",
+DEFAULT_FONTSIZE:11,DEFAULT_TEXT_DIRECTION:"",LINE_HEIGHT:1.2,WORD_WRAP:"normal",ABSOLUTE_LINE_HEIGHT:!1,DEFAULT_FONTSTYLE:0,DEFAULT_STARTSIZE:40,DEFAULT_MARKERSIZE:6,DEFAULT_IMAGESIZE:24,ENTITY_SEGMENT:30,RECTANGLE_ROUNDING_FACTOR:.15,LINE_ARCSIZE:20,ARROW_SPACING:0,ARROW_WIDTH:30,ARROW_SIZE:30,PAGE_FORMAT_A4_PORTRAIT:new mxRectangle(0,0,827,1169),PAGE_FORMAT_A4_LANDSCAPE:new mxRectangle(0,0,1169,827),PAGE_FORMAT_LETTER_PORTRAIT:new mxRectangle(0,0,850,1100),PAGE_FORMAT_LETTER_LANDSCAPE:new mxRectangle(0,
+0,1100,850),NONE:"none",STYLE_PERIMETER:"perimeter",STYLE_SOURCE_PORT:"sourcePort",STYLE_TARGET_PORT:"targetPort",STYLE_PORT_CONSTRAINT:"portConstraint",STYLE_PORT_CONSTRAINT_ROTATION:"portConstraintRotation",STYLE_SOURCE_PORT_CONSTRAINT:"sourcePortConstraint",STYLE_TARGET_PORT_CONSTRAINT:"targetPortConstraint",STYLE_OPACITY:"opacity",STYLE_FILL_OPACITY:"fillOpacity",STYLE_FILL_STYLE:"fillStyle",STYLE_STROKE_OPACITY:"strokeOpacity",STYLE_TEXT_OPACITY:"textOpacity",STYLE_TEXT_DIRECTION:"textDirection",
+STYLE_OVERFLOW:"overflow",STYLE_BLOCK_SPACING:"blockSpacing",STYLE_ORTHOGONAL:"orthogonal",STYLE_EXIT_X:"exitX",STYLE_EXIT_Y:"exitY",STYLE_EXIT_DX:"exitDx",STYLE_EXIT_DY:"exitDy",STYLE_EXIT_PERIMETER:"exitPerimeter",STYLE_ENTRY_X:"entryX",STYLE_ENTRY_Y:"entryY",STYLE_ENTRY_DX:"entryDx",STYLE_ENTRY_DY:"entryDy",STYLE_ENTRY_PERIMETER:"entryPerimeter",STYLE_WHITE_SPACE:"whiteSpace",STYLE_ROTATION:"rotation",STYLE_FILLCOLOR:"fillColor",STYLE_POINTER_EVENTS:"pointerEvents",STYLE_SWIMLANE_FILLCOLOR:"swimlaneFillColor",
+STYLE_MARGIN:"margin",STYLE_GRADIENTCOLOR:"gradientColor",STYLE_GRADIENT_DIRECTION:"gradientDirection",STYLE_STROKECOLOR:"strokeColor",STYLE_SEPARATORCOLOR:"separatorColor",STYLE_STROKEWIDTH:"strokeWidth",STYLE_ALIGN:"align",STYLE_VERTICAL_ALIGN:"verticalAlign",STYLE_LABEL_WIDTH:"labelWidth",STYLE_LABEL_POSITION:"labelPosition",STYLE_VERTICAL_LABEL_POSITION:"verticalLabelPosition",STYLE_IMAGE_ASPECT:"imageAspect",STYLE_IMAGE_ALIGN:"imageAlign",STYLE_IMAGE_VERTICAL_ALIGN:"imageVerticalAlign",STYLE_GLASS:"glass",
+STYLE_IMAGE:"image",STYLE_IMAGE_WIDTH:"imageWidth",STYLE_IMAGE_HEIGHT:"imageHeight",STYLE_IMAGE_BACKGROUND:"imageBackground",STYLE_IMAGE_BORDER:"imageBorder",STYLE_FLIPH:"flipH",STYLE_FLIPV:"flipV",STYLE_NOLABEL:"noLabel",STYLE_NOEDGESTYLE:"noEdgeStyle",STYLE_LABEL_BACKGROUNDCOLOR:"labelBackgroundColor",STYLE_LABEL_BORDERCOLOR:"labelBorderColor",STYLE_LABEL_PADDING:"labelPadding",STYLE_INDICATOR_SHAPE:"indicatorShape",STYLE_INDICATOR_IMAGE:"indicatorImage",STYLE_INDICATOR_COLOR:"indicatorColor",STYLE_INDICATOR_STROKECOLOR:"indicatorStrokeColor",
+STYLE_INDICATOR_GRADIENTCOLOR:"indicatorGradientColor",STYLE_INDICATOR_SPACING:"indicatorSpacing",STYLE_INDICATOR_WIDTH:"indicatorWidth",STYLE_INDICATOR_HEIGHT:"indicatorHeight",STYLE_INDICATOR_DIRECTION:"indicatorDirection",STYLE_SHADOW:"shadow",STYLE_TEXT_SHADOW:"textShadow",STYLE_SHADOW_OFFSET_X:"shadowOffsetX",STYLE_SHADOW_OFFSET_Y:"shadowOffsetY",STYLE_SHADOW_BLUR:"shadowBlur",STYLE_SHADOWCOLOR:"shadowColor",STYLE_SHADOW_OPACITY:"shadowOpacity",STYLE_SEGMENT:"segment",STYLE_ENDARROW:"endArrow",
+STYLE_STARTARROW:"startArrow",STYLE_ENDSIZE:"endSize",STYLE_STARTSIZE:"startSize",STYLE_SWIMLANE_LINE:"swimlaneLine",STYLE_SWIMLANE_HEAD:"swimlaneHead",STYLE_SWIMLANE_BODY:"swimlaneBody",STYLE_ENDFILL:"endFill",STYLE_ENDFILLCOLOR:"endFillColor",STYLE_STARTFILL:"startFill",STYLE_STARTFILLCOLOR:"startFillColor",STYLE_DASHED:"dashed",STYLE_DASH_PATTERN:"dashPattern",STYLE_FIX_DASH:"fixDash",STYLE_ROUNDED:"rounded",STYLE_CURVED:"curved",STYLE_ARCSIZE:"arcSize",STYLE_ABSOLUTE_ARCSIZE:"absoluteArcSize",
+STYLE_SOURCE_PERIMETER_SPACING:"sourcePerimeterSpacing",STYLE_TARGET_PERIMETER_SPACING:"targetPerimeterSpacing",STYLE_PERIMETER_SPACING:"perimeterSpacing",STYLE_SPACING:"spacing",STYLE_SPACING_TOP:"spacingTop",STYLE_SPACING_LEFT:"spacingLeft",STYLE_SPACING_BOTTOM:"spacingBottom",STYLE_SPACING_RIGHT:"spacingRight",STYLE_HORIZONTAL:"horizontal",STYLE_DIRECTION:"direction",STYLE_ANCHOR_POINT_DIRECTION:"anchorPointDirection",STYLE_ELBOW:"elbow",STYLE_FONTCOLOR:"fontColor",STYLE_FONTFAMILY:"fontFamily",
+STYLE_FONTSIZE:"fontSize",STYLE_FONTSTYLE:"fontStyle",STYLE_ASPECT:"aspect",STYLE_AUTOSIZE:"autosize",STYLE_AUTOSIZE_GRID:"autosizeGrid",STYLE_FIXED_WIDTH:"fixedWidth",STYLE_FOLDABLE:"foldable",STYLE_EDITABLE:"editable",STYLE_BACKGROUND_OUTLINE:"backgroundOutline",STYLE_BENDABLE:"bendable",STYLE_MOVABLE:"movable",STYLE_RESIZABLE:"resizable",STYLE_RESIZE_WIDTH:"resizeWidth",STYLE_RESIZE_HEIGHT:"resizeHeight",STYLE_ROTATABLE:"rotatable",STYLE_CLONEABLE:"cloneable",STYLE_DELETABLE:"deletable",STYLE_SHAPE:"shape",
+STYLE_EDGE:"edgeStyle",STYLE_JETTY_SIZE:"jettySize",STYLE_SOURCE_JETTY_SIZE:"sourceJettySize",STYLE_TARGET_JETTY_SIZE:"targetJettySize",STYLE_LOOP:"loopStyle",STYLE_ORTHOGONAL_LOOP:"orthogonalLoop",STYLE_ROUTING_CENTER_X:"routingCenterX",STYLE_ROUTING_CENTER_Y:"routingCenterY",STYLE_CLIP_PATH:"clipPath",FONT_BOLD:1,FONT_ITALIC:2,FONT_UNDERLINE:4,FONT_STRIKETHROUGH:8,SHAPE_RECTANGLE:"rectangle",SHAPE_ELLIPSE:"ellipse",SHAPE_DOUBLE_ELLIPSE:"doubleEllipse",SHAPE_RHOMBUS:"rhombus",SHAPE_LINE:"line",SHAPE_IMAGE:"image",
+SHAPE_ARROW:"arrow",SHAPE_ARROW_CONNECTOR:"arrowConnector",SHAPE_LABEL:"label",SHAPE_CYLINDER:"cylinder",SHAPE_SWIMLANE:"swimlane",SHAPE_CONNECTOR:"connector",SHAPE_ACTOR:"actor",SHAPE_CLOUD:"cloud",SHAPE_TRIANGLE:"triangle",SHAPE_HEXAGON:"hexagon",ARROW_CLASSIC:"classic",ARROW_CLASSIC_THIN:"classicThin",ARROW_BLOCK:"block",ARROW_BLOCK_THIN:"blockThin",ARROW_OPEN:"open",ARROW_OPEN_THIN:"openThin",ARROW_OVAL:"oval",ARROW_DIAMOND:"diamond",ARROW_DIAMOND_THIN:"diamondThin",ALIGN_LEFT:"left",ALIGN_CENTER:"center",
+ALIGN_RIGHT:"right",ALIGN_TOP:"top",ALIGN_MIDDLE:"middle",ALIGN_BOTTOM:"bottom",DIRECTION_NORTH:"north",DIRECTION_SOUTH:"south",DIRECTION_EAST:"east",DIRECTION_WEST:"west",DIRECTION_RADIAL:"radial",TEXT_DIRECTION_DEFAULT:"",TEXT_DIRECTION_AUTO:"auto",TEXT_DIRECTION_LTR:"ltr",TEXT_DIRECTION_RTL:"rtl",TEXT_DIRECTION_VERTICAL_LR:"vertical-lr",TEXT_DIRECTION_VERTICAL_RL:"vertical-rl",DIRECTION_MASK_NONE:0,DIRECTION_MASK_WEST:1,DIRECTION_MASK_NORTH:2,DIRECTION_MASK_SOUTH:4,DIRECTION_MASK_EAST:8,DIRECTION_MASK_ALL:15,
+ELBOW_VERTICAL:"vertical",ELBOW_HORIZONTAL:"horizontal",EDGESTYLE_ELBOW:"elbowEdgeStyle",EDGESTYLE_ENTITY_RELATION:"entityRelationEdgeStyle",EDGESTYLE_LOOP:"loopEdgeStyle",EDGESTYLE_SIDETOSIDE:"sideToSideEdgeStyle",EDGESTYLE_TOPTOBOTTOM:"topToBottomEdgeStyle",EDGESTYLE_ORTHOGONAL:"orthogonalEdgeStyle",EDGESTYLE_SEGMENT:"segmentEdgeStyle",PERIMETER_ELLIPSE:"ellipsePerimeter",PERIMETER_RECTANGLE:"rectanglePerimeter",PERIMETER_RHOMBUS:"rhombusPerimeter",PERIMETER_HEXAGON:"hexagonPerimeter",PERIMETER_TRIANGLE:"trianglePerimeter"};
 function mxEventObject(a){this.name=a;this.properties=[];for(var b=1;b=n.x:null!=c&&(k=(null!=m?m.x:c.x+c.width)<(null!=l?l.x:b.x))}if(null!=l)b=new mxCellState,b.x=l.x,b.y=l.y;else if(null!=b){var p=mxUtils.getPortConstraints(b,a,!0,mxConstants.DIRECTION_MASK_NONE);p!=mxConstants.DIRECTION_MASK_NONE&&
-p!=mxConstants.DIRECTION_MASK_WEST+mxConstants.DIRECTION_MASK_EAST&&(k=p==mxConstants.DIRECTION_MASK_WEST)}else return;n=!0;null!=c&&(g=g.getCellGeometry(c.cell),g.relative?n=.5>=g.x:null!=b&&(n=(null!=l?l.x:b.x+b.width)<(null!=m?m.x:c.x)));null!=m?(c=new mxCellState,c.x=m.x,c.y=m.y):null!=c&&(p=mxUtils.getPortConstraints(c,a,!1,mxConstants.DIRECTION_MASK_NONE),p!=mxConstants.DIRECTION_MASK_NONE&&p!=mxConstants.DIRECTION_MASK_WEST+mxConstants.DIRECTION_MASK_EAST&&(n=p==mxConstants.DIRECTION_MASK_WEST));
+var mxEdgeStyle={EntityRelation:function(a,b,c,d,e){var f=a.view,g=f.graph;d=mxUtils.getValue(a.style,mxConstants.STYLE_SEGMENT,mxConstants.ENTITY_SEGMENT)*f.scale;var k=a.absolutePoints,l=k[0],m=k[k.length-1];k=!1;if(null!=b){var n=g.getCellGeometry(b.cell);null!=n&&n.relative?k=.5>=n.x:null!=c&&(k=(null!=m?m.x:c.x+c.width)<(null!=l?l.x:b.x))}if(null!=l)b=new mxCellState,b.x=l.x,b.y=l.y;else if(null!=b){var p=mxUtils.getPortConstraints(b,a,!0,mxConstants.DIRECTION_MASK_NONE);p!=mxConstants.DIRECTION_MASK_NONE&&
+p!=mxConstants.DIRECTION_MASK_WEST+mxConstants.DIRECTION_MASK_EAST&&(k=p==mxConstants.DIRECTION_MASK_WEST)}else return;n=!0;null!=c&&(g=g.getCellGeometry(c.cell),null!=g&&g.relative?n=.5>=g.x:null!=b&&(n=(null!=l?l.x:b.x+b.width)<(null!=m?m.x:c.x)));null!=m?(c=new mxCellState,c.x=m.x,c.y=m.y):null!=c&&(p=mxUtils.getPortConstraints(c,a,!1,mxConstants.DIRECTION_MASK_NONE),p!=mxConstants.DIRECTION_MASK_NONE&&p!=mxConstants.DIRECTION_MASK_WEST+mxConstants.DIRECTION_MASK_EAST&&(n=p==mxConstants.DIRECTION_MASK_WEST));
 null!=b&&null!=c&&(a=k?b.x:b.x+b.width,b=f.getRoutingCenterY(b),l=n?c.x:c.x+c.width,c=f.getRoutingCenterY(c),f=new mxPoint(a+(k?-d:d),b),g=new mxPoint(l+(n?-d:d),c),k==n?(d=k?Math.min(a,l)-d:Math.max(a,l)+d,e.push(new mxPoint(d,b)),e.push(new mxPoint(d,c))):(f.xb.x+b.width?null!=c?(d=c.x,m=Math.max(Math.abs(l-c.y),m)):a==mxConstants.DIRECTION_NORTH?l=b.y-2*k:a==mxConstants.DIRECTION_SOUTH?l=b.y+b.height+2*k:d=a==mxConstants.DIRECTION_EAST?b.x-2*m:b.x+b.width+2*m:null!=c&&(d=f.getRoutingCenterX(b),k=Math.max(Math.abs(d-c.x),m),l=c.y,m=0);e.push(new mxPoint(d-k,l-m));e.push(new mxPoint(d+k,l+m))}},ElbowConnector:function(a,b,c,d,e){var f=null!=d&&0b.length)||mxUtils.getValue(a.style,mxConstants.STYLE_ORTHOGONAL_LOOP,!1)&&(null!=e&&null!=e.point||null!=f&&null!=f.point)?!1:null!=c&&c==d};
 mxGraphView.prototype.getEdgeStyle=function(a,b,c,d){a=this.isLoopStyleEnabled(a,b,c,d)?mxUtils.getValue(a.style,mxConstants.STYLE_LOOP,this.graph.defaultLoopStyle):mxUtils.getValue(a.style,mxConstants.STYLE_NOEDGESTYLE,!1)?null:a.style[mxConstants.STYLE_EDGE];"string"==typeof a&&(b=mxStyleRegistry.getValue(a),null==b&&this.isAllowEval()&&(b=mxUtils.eval(a)),a=b);return"function"==typeof a?a:null};
 mxGraphView.prototype.updateFloatingTerminalPoints=function(a,b,c){var d=a.absolutePoints,e=d[0];null==d[d.length-1]&&null!=c&&this.updateFloatingTerminalPoint(a,c,b,!1);null==e&&null!=b&&this.updateFloatingTerminalPoint(a,b,c,!0)};mxGraphView.prototype.updateFloatingTerminalPoint=function(a,b,c,d){a.setAbsoluteTerminalPoint(this.getFloatingTerminalPoint(a,b,c,d),d)};
@@ -1222,7 +1222,8 @@ l),Math.round(f.y+q*f.height))]:[new mxPoint(Math.round(f.x+q*f.width),Math.roun
 mxGraph.prototype.getCurrentCellStyle=function(a,b){b=b?null:this.view.getState(a);return null!=b?b.style:this.getCellStyle(a)};mxGraph.prototype.getCellStyle=function(a,b){b=null!=b?b:!0;var c=this.model.getStyle(a),d=this.model.isEdge(a)?this.stylesheet.getDefaultEdgeStyle():this.stylesheet.getDefaultVertexStyle();null!=c&&0Ga.length+1)return Aa.substring(Aa.length-Ga.length-1,Aa.length)=="-"+Ga}return!1},B=function(Aa){if(null!=d.getParentByName(p,Aa,d.cellEditor.textarea))return!0;for(var Ga=p;null!=Ga&&1==Ga.childNodes.length;)if(Ga=Ga.childNodes[0],Ga.nodeName==Aa)return!0;
-return!1},F=function(Aa){for(;null!=Aa&&Aa!=d.cellEditor.textarea;){if("block"==mxUtils.getCurrentStyle(Aa).display)return Aa;Aa=Aa.parentNode}return null},K=mxUtils.getCurrentStyle(p),R=p==d.cellEditor.textarea||""==p.style.lineHeight?null:p.style.lineHeight,Z=p==d.cellEditor.textarea||""==p.style.fontSize?null:b(K);if(window.getSelection)for(var ha=p.getElementsByTagName("*"),fa=window.getSelection(),ia=0;iaG&&(G=0);6D&&(D=0);1E&&(E=0);1G&&(G=0);6D&&(D=0);1E&&(E=0);1k;k+=4)u=document.createElement("div"),u.style.height=
 "4px",u.style.pointerEvents="none",d.appendChild(u);b.appendChild(d);var C=document.createElement("div");C.style.background="url("+this.arrowImage+")";C.style.position="absolute";C.style.pointerEvents="none";C.style.width="7px";C.style.height="11px";C.style.left="2px";C.style.top="-3px";sliderBox.appendChild(C);sliderBox.appendChild(d);b.appendChild(sliderBox);this.fromString=function(D,E){E=null!=E?E:!1;if(null==D||""==D||mxUtils.isVarColor(D)||D==mxConstants.NONE)D="#ffffff",E=!0;var G=mxUtils.parseColor(D);
 D=G.r/255;var I=G.g/255,J=G.b/255,T=Math.min(Math.min(D,I),J);G=Math.max(Math.max(D,I),J);var L=G-T;0===L?D=[null,0,G]:(D=D===T?3+(J-I)/L:I===T?5+(D-J)/L:1+(I-D)/L,D=[6===D?0:D,L/G,G]);null!=D[0]&&(g[0]=D[0]);0!=D[2]&&(g[1]=D[1]);g[2]=D[2];q(E)};this.fromString("#ffffff");this.div=b};mxUtils.extend(ColorPicker,mxEventSource);ColorPicker.prototype.hsImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALUAAABlCAIAAACEDzXRAAAKQ0lEQVR42u2d23IjKwxFBeRh5v8/9uQlzXlI2gGELoCEm6pxubp6PI69WoV3C20uIQPAH4A/AH/p41/pDcTxP4BPGDtq3vYJGPpv8craeRdo/fyTI8ZhHnodOGgcV/3rnx8QI0SABO2xfAbiCfVR8Wj+CD8jenbRJNyGOxLoAaH1iLu4EUEHAv1+MsQ4zLE4AiIOcpibv4u9OET6+cP4ASnJ1JH4/G60A9km+GbBxLlpKAkADoR2JnaBrvWD/x1GCZn9EYLEHqVfI6Efx0D7E9tDF/rBSJ54l8FqTUse0J+EvxPrdK0fD4aOLXQi7zyGxMaRvvWjjH2U8o9I44OKnf+wyCpHoR/Phk6d/COq8481YrNI3/qR2B+kMl1Fl6J8o/JrU/GEA6HdiB2ha/0YBVx7rFwNHAj9JuIl6EI/qKyJug4Yvg7xA0QEpB8nQe8itoQu9EOT8M3mTsqUSUzykH6cBO1PbA9d91+ShDzV9xrtcgW21IT6L0yfcS90FKCdw+wS6Q9ISWjVfLTVVT2mdiPGGRduFKWm7dBStWlLmI0j/QExdgp7gT5qCu2BLKiLqtc94hI7PB8auQP4KuyIvSJ960fUqXWcd2F48Khr1bHSj2dDp/afmg7tMrFxpG/9mHMFuqrH3spFw0s0Bgr9OAzamdgFutaPpMuqo6WVEXWJdSL14xhof2J76MKfS2yXWGOVB1WXXGOVdxFSx587CXoLsTE0689RH7VW4RMLeKI9wPpzz4XeS2wDzdbXR52AWStjwiSAA6HdiB2h1f6cqT0whzzuzz0LejuxATTy90Xt40v7CzdGRvKS4O/zQ0AiXaRW5x/dv4vS4A/a308LYR5pFquRRvlHIrKWoCj5woCVId4eR/KPNDjURg2tdEC7rSQN5B9DYR70X5YivVxft7AyrOvrD4V2JnaBJurr+qpemLEywlRhT6qvPx16C7ExdK0fSjcj0maAzsqgBt7rfIxGP46B9iT2gi70I842bNj0U4wd/WAG/L5VP3p0W4iNoYv6Oh6eoJmSMW5laIzF8iT1TtgeV9RZoZ7QvdEUzsQu0CP+HOMKDFoZvDFg6s89CNqf2B5a4e8Hts84W0pgeohBtspBXYp8H3Tk/H23MBtHuvbn5mp7dlU9TUkP+XNJMabzHdCIbnuYDSItzZ+bdgUWrAwNPhwInRxw1/wXuYGj+4vo7flboRpjEQ6EjgojYK9/K04NFfNTauEBypXQWQLAfqQoHl9CfvpQ6C3ExtC9/q2YW2u6X1JWzfsYFPKX3L99LrQ/sT10XR+jKh+UN2AxlDOyXfLQaxxf/fkvT4d2JnaBZv258M6h4IFu2Em7/sezoLcQG0Mjfy6xrqLnVBLGWHw1i69WP5LCCn0TNEL3DLNXpCV/n5oo5jAVLY5Em6i8Pwm6uSNuCrNxpNX+nDira20qqyZriv384xhoZ2IX6Lr/wg8eiwpXYGQqPEgjsBrX+er3X46B9ie2h6bX/4i6IfcLS2mIY++7TfoCuLj6hwgN89CwBJ3Gx8rOVsn0kQ48tDS/4X1L8SzMb3BbkGdtwsD05AbP9YOU8xui+uljZei/P/3qx2HQbsSO0Ar/lveHLZYCVK4GeN1P5N+eAb2R2Aya9ueUY+8dlhLtdhWvgfEfz4AeGf9hR2wcaeTPpacvRdzLTx8J/Qq1Ij995PrJ3/mp0p8LO5YyF0s215g/9yxoZ2IXaLo+FiwtgTlvIAznp4+G3khsBk3Pf5mYvqOwMqZnNnw3i9cRDoT2JPaCZuvreskDuXkHxfQMvfbBgdBbiI2hC/3QLCg6lESZZkrfJ7nSj3gWNEMcRkYJsf5L0BXENBl1WV8/aquMLM9/eSJ0UtxZmFGGg4MigZ75ovHnvsOcUX09zRbzjCrU/K/Rev0gT2i2vu4cZrNI1+sH2e49Yb3lRC6e9fSS9ETohjj7hdkx0rQ/57/rxIrhBQdCv494Hlrtz1lo30Qjz1z+cRh02ndTNIMm1j8NxtmePs+76i+/esJHrH/6dGh/YntoRf9l2RtQWgJXzY4bdtbqx0OhnYldoHv7I79jf4+rOGGaRWr14yToLcTG0Ky/v32rjAsdX9S5vgI4ENqT2Asa7Z/9vq0yStiGNNVHkOe/RGmqwBQ0jEDHFpoJ85BLN+jPaRoHGWl2/2yx3msxVRHjZ0Td4GfV/Bf9bCM1dBiBfrHeJ1HR6dKEedDf5yPdBLilp/efC3Ribb1VxlUHGQe8iTb0598+Hdqf2B6a3b9SOerezsoIBWaJ3IBn1fp0j4PeQmwMzc5/idLK3UZWRkmKX2zA4Vc/DoPeSGwGrdvfY24RpKmVjrLuCQdCuxE7Qkv64TZ3Z44dVPrxUOh3EK9C1/lHGpz7ZzpVsYTF7K8Hyj+Ogd5FbAk9uL9H9LIyYg821sjo13gYtD+xPbRU/9Ds/b1sZTTIr5OStMGHA6GdiV2gUf2UmQcfJdUbXOoe6HoN1A0b2uQD4EBosXJqQTwKnXvXAEX+oZlfGaS9ewetDGCLeV1exH4e9Mr+2TDpv2iggYFW+LdBsTbngv/yUroGH0jleEX7MOgtxMbQ7PzKoMuajKyM8pYIiB194HnQzsQu0Gp/LvpulVHylsgK/TgG2p/YHrqXf6T3bJUBhfxFWUDPg95CbAytm/+ycasM9WOxWu0PnTniLWE2iLRi/4Z3bJXRvY76s0+Arl93I3aMNOHPBce2PdSkL7Kpnwe9l9gGutCPoFgkUtytXAGbex0vKCznSOs00o+ToLcQG0N/QErCrG6jrTIynVUDwo896vCzssPrNnAYtD+xPfR9fwmKeu/CVhm5OAn1STPkvhxBW1KXjeP60Y/DoJ2JXaAL/RCPy+PXc80L9d7OV294dVPbC/fb4EDoLcTG0IV+TCDrrIxMHIFg512BWj9OgvYk9oK+9SMoZG55q/JMiGS40/sLjacu28T3MVfd0Aha+u3QJXr+0Q//MBtHutaPQOzh3H0RBoZS5OJ/MjqJ9x2vQb7qgSuvX0StH0+FLptzrvTDh9gl0oV+iAbi2lAsqNmbK3yBAyLNdbRzW8Y6Btqf2B76A2IURE2zZY16KGfZlwqofJSL4feABka+xCNX+ekx0LuILaFr/Zit7s4ZA7y5Qg2sDr/t4zDodxCvQt/6occctDKGriMPzH85D9qN2BG61g/QwcLSVDSGl78C6LePY6A3EptBf0BKcjWWH/GqyJqoxKnMufEVBLJxAJwJ7U9sDH3fX0CxnIB4orMyuilTyRh6g+0bfDgQ2p/YHrrQD+jV6qb/SdRrMit8TRWwyEabxgFwJrQnsQt0rR+LR3VqFNiGHRBv73ge9EZiM+haPyicuRcVmIxzAMTMl9wfi3sGtBuxF3ShH92C29yJTteU+ohbRrZk3Qe9hdgY+tYPnOqanA+mTN33ZGKE06HQbsQu0LV+MF8+94rU5dK8B8/KyJaI+6D9ie2hC/3Q12QnSnYLn5p9P/6d0D7EltAh5wz/Hv8exON/LUjHOuz5CksAAAAASUVORK5CYII=";
@@ -12126,25 +12132,25 @@ DrawioFile.prototype.synchronizeFile=function(b,e){if(this.savingFile)null!=e&&e
 function(q){f&&(window.clearTimeout(c),this.sync.cleanup(b,e,q))}),l,p):this.updateFile(mxUtils.bind(this,function(){f&&(window.clearTimeout(c),null!=b&&b())}),l,p)}};
 DrawioFile.prototype.updateFile=function(b,e,f,c,l){null!=f&&f()||(EditorUi.debug("DrawioFile.updateFile",[this],"immediate",l,"invalidChecksum",this.invalidChecksum),this.ui.getCurrentFile()!=this||this.invalidChecksum?null!=e&&e():this.getLatestVersion(mxUtils.bind(this,function(p){try{null!=f&&f()||(EditorUi.debug("DrawioFile.updateFile",[this],"invalidChecksum",this.invalidChecksum,"latestFile",[p]),this.ui.getCurrentFile()!=this||this.invalidChecksum?null!=e&&e():null!=p?this.mergeFile(p,b,e,
 c,l):this.reloadFile(b,e))}catch(q){null!=e&&e(q)}}),e))};
-DrawioFile.prototype.mergeFile=function(b,e,f,c,l){try{var p=b.getShadowPages();if(null!=p&&0f?b=b.substring(0,f)+"[...]":null!=b&&b.length>e&&(b=Graph.compress(b)+"\n");return b};
-DrawioFile.prototype.checksumError=function(b,e,f,c,l,p,q,v){this.stats.checksumErrors++;this.invalidChecksum=this.inConflictState=!0;this.descriptorChanged();null!=this.sync&&this.sync.updateOnlineState();null!=b&&b();try{var E=this.getCurrentUser(),G=null!=E?E.id:"unknown",B=""!=this.getId()?this.getId():"("+this.ui.hashValue(this.getTitle())+")",d=JSON.stringify(e).length,g=null;if(null!=e&&1E3>d){b=[];for(f=0;f
-g.length?Graph.compress(g):null}this.getLatestVersion(mxUtils.bind(this,function(k){try{var m=null!=g?"report":"error",t=this.ui.getHashValueForPages(k.getShadowPages()),y="unknown",A="unknown",I="unknown";try{var F=null!=k.initialData&&0d){b=[];for(f=0;f
+g.length?Graph.compress(g):null}this.getLatestVersion(mxUtils.bind(this,function(k){try{var m=null!=g?"report":"error",t=this.ui.getHashValueForPages(k.getShadowPages()),y="unknown",z="unknown",I="unknown";try{var F=null!=k.initialData&&0y?this.ui.insertPage(m[t],Math.min(t,this.ui.pages.length)):this.ui.movePage(y,t)}for(t=0;tmxUtils.indexOf(m,g[t])&&this.ui.removePage(g[t]);0<=mxUtils.indexOf(this.ui.pages,k)&&this.ui.selectPage(k,!0)}else this.ui.pages=this.ui.applyPatches(this.ui.pages,b,!0,e,this.isModified());0==this.ui.pages.length&&
-this.ui.pages.push(this.ui.createPage());0>mxUtils.indexOf(this.ui.pages,this.ui.currentPage)&&this.ui.selectPage(this.ui.pages[0],!0);v.checkDefaultParent()}finally{v.container.style.visibility="";v.model.endUpdate();v.cellRenderer.redraw=d;this.changeListenerEnabled=E;f||(l.history=p,l.indexOfNextAdd=q,l.fireEvent(new mxEventObject(mxEvent.CLEAR)));if(null==this.ui.currentPage||this.ui.currentPage.needsUpdate)B!=v.mathEnabled?(this.ui.editor.updateGraphComponents(),v.refresh()):(G!=v.foldingEnabled?
+this.ui.pages.push(this.ui.createPage());0>mxUtils.indexOf(this.ui.pages,this.ui.currentPage)&&this.ui.selectPage(this.ui.pages[0],!0);v.checkDefaultParent()}finally{v.container.style.visibility="";v.model.endUpdate();v.cellRenderer.redraw=d;this.changeListenerEnabled=D;f||(l.history=p,l.indexOfNextAdd=q,l.fireEvent(new mxEventObject(mxEvent.CLEAR)));if(null==this.ui.currentPage||this.ui.currentPage.needsUpdate)B!=v.mathEnabled?(this.ui.editor.updateGraphComponents(),v.refresh()):(G!=v.foldingEnabled?
 v.view.revalidate():v.view.validate(),v.sizeDidChange());null!=this.sync&&this.isRealtime()&&!c&&(this.sync.snapshot=this.ui.clonePages(this.ui.pages));this.ui.editor.fireEvent(new mxEventObject("pagesPatched","patches",b))}EditorUi.debug("DrawioFile.patch",[this],"patches",b,"resolver",e,"undoable",f)}return b};
 DrawioFile.prototype.save=function(b,e,f,c,l,p){try{if(EditorUi.debug("DrawioFile.save",[this],"revision",b,"unloading",c,"overwrite",l,"manual",p,"saving",this.savingFile,"editable",this.isEditable(),"invalidChecksum",this.invalidChecksum),this.isEditable())if(!l&&this.invalidChecksum)if(null!=f)f({message:mxResources.get("checksum")});else throw Error(mxResources.get("checksum"));else this.updateFileData(),this.clearAutosave(),null!=e&&e();else if(null!=f)f({message:mxResources.get("readOnly")});
 else throw Error(mxResources.get("readOnly"));}catch(q){if(null!=f)f(q);else throw q;}};DrawioFile.prototype.createData=function(){var b=this.ui.pages;if(this.isRealtime()&&(this.ui.pages=this.ownPages,null!=this.ui.currentPage)){var e=this.ui.getPageById(this.ui.currentPage.getId(),this.ownPages);null!=e&&(e.viewState=this.ui.editor.graph.getViewState(),e.needsUpdate=!0)}e=this.ui.getFileData(null,null,null,null,null,null,null,null,this,!this.isCompressed());this.ui.pages=b;return e};
@@ -12195,7 +12201,7 @@ DrawioFile.prototype.fileChanged=function(b){b=null!=b?b:!0;this.lastChanged=new
 this.autosave(this.autosaveDelay,this.maxAutosaveDelay,mxUtils.bind(this,function(e){this.ui.stopSanityCheck();null==this.autosaveThread?(this.handleFileSuccess(!0),this.ageStart=null):this.isModified()&&(this.ui.scheduleSanityCheck(),this.ageStart=this.lastChanged)}),mxUtils.bind(this,function(e){this.handleFileError(e)}))):(this.ageStart=null,this.isAutosaveOptional()&&this.ui.editor.autosave||this.inConflictState||this.addUnsavedStatus());null!=this.sync&&b&&this.sync.localFileChanged()};
 DrawioFile.prototype.createSecret=function(b){var e=Editor.guid(32);Editor.enableRealtimeCache&&null!=this.sync&&!this.isOptimisticSync()?this.sync.createToken(e,mxUtils.bind(this,function(f){EditorUi.debug("DrawioFile.createSecret",[this],"secret",e,"token",f);b(e,f)}),mxUtils.bind(this,function(){b(e)})):b(e)};DrawioFile.prototype.fileSaving=function(){null!=this.sync&&this.sync.fileSaving()};
 DrawioFile.prototype.fileSaved=function(b,e,f,c,l,p,q){this.lastSaved=new Date;this.ageStart=null;this.stats.saved++;try{this.invalidChecksum=this.inConflictState=!1;p=null!=p?p:this.ui.getPagesForXml(b);try{null==this.sync||this.isOptimisticSync()?(this.setShadowPages(p),null!=this.sync&&(this.sync.lastModified=this.getLastModifiedDate(),this.sync.resetUpdateStatusThread(),this.isRealtime()&&this.sync.scheduleCleanup()),null!=f&&f()):this.sync.fileSaved(p,e,f,c,l,q)}catch(G){this.invalidChecksum=
-this.inConflictState=!0;this.descriptorChanged();null!=c&&c(G);try{var v=this.getCurrentUser(),E=null!=v?v.id:"unknown";EditorUi.logError("Error in fileSaved",null,this.getMode()+"."+this.getId(),E,G)}catch(B){}}EditorUi.debug("DrawioFile.fileSaved",[this],"savedData",[b],"desc",[e],"inConflictState",this.inConflictState,"invalidChecksum",this.invalidChecksum)}catch(G){this.descriptorChanged(),null!=c&&c(G)}};
+this.inConflictState=!0;this.descriptorChanged();null!=c&&c(G);try{var v=this.getCurrentUser(),D=null!=v?v.id:"unknown";EditorUi.logError("Error in fileSaved",null,this.getMode()+"."+this.getId(),D,G)}catch(B){}}EditorUi.debug("DrawioFile.fileSaved",[this],"savedData",[b],"desc",[e],"inConflictState",this.inConflictState,"invalidChecksum",this.invalidChecksum)}catch(G){this.descriptorChanged(),null!=c&&c(G)}};
 DrawioFile.prototype.autosave=function(b,e,f,c){null==this.lastAutosave&&(this.lastAutosave=Date.now());var l=Date.now()-this.lastAutosavethis.maxAutosaveRevisionDelay};DrawioFile.prototype.descriptorChanged=function(){this.fireEvent(new mxEventObject("descriptorChanged"))};
@@ -12204,10 +12210,10 @@ DrawioFile.prototype.removeListeners=function(){null!=this.changeListener&&(this
 DrawioFile.prototype.commentsRefreshNeeded=function(){return!0};DrawioFile.prototype.commentsSaveNeeded=function(){return!1};DrawioFile.prototype.getComments=function(b,e){b([])};DrawioFile.prototype.addComment=function(b,e,f){e(Date.now())};DrawioFile.prototype.canReplyToReplies=function(){return!0};DrawioFile.prototype.canComment=function(){return!0};DrawioFile.prototype.newComment=function(b,e){return new DrawioComment(this,null,b,Date.now(),Date.now(),!1,e)};LocalFile=function(b,e,f,c,l,p,q){DrawioFile.call(this,b,e);this.title=f;this.mode=c?null:App.MODE_DEVICE;this.fileHandle=l;this.desc=p;this.editable=q};mxUtils.extend(LocalFile,DrawioFile);LocalFile.prototype.isAutosave=function(){return null!=this.fileHandle&&!this.invalidFileHandle&&DrawioFile.prototype.isAutosave.apply(this,arguments)};LocalFile.prototype.isAutosaveOptional=function(){return null!=this.fileHandle};LocalFile.prototype.getMode=function(){return this.mode};
 LocalFile.prototype.getTitle=function(){return this.title};LocalFile.prototype.isRenamable=function(){return!0};LocalFile.prototype.isEditable=function(){return DrawioFile.prototype.isEditable.apply(this,arguments)&&(null==this.editable||this.editable)};LocalFile.prototype.setEditable=function(b){this.editable=b;this.descriptorChanged()};LocalFile.prototype.save=function(b,e,f,c,l){this.saveAs(this.title,e,f,c,l)};LocalFile.prototype.saveAs=function(b,e,f,c,l){this.saveFile(b,!1,e,f,null,c,l)};
 LocalFile.prototype.getDescriptor=function(){return this.desc};LocalFile.prototype.setDescriptor=function(b){this.desc=b};LocalFile.prototype.getLatestVersion=function(b,e){null==this.fileHandle?null!=e&&e({message:mxResources.get("cannotOpenFile")}):this.ui.loadFileSystemEntry(this.fileHandle,b,e)};
-LocalFile.prototype.saveFile=function(b,e,f,c,l,p,q){b!=this.title&&(this.editable=this.desc=this.fileHandle=null);this.title=b;l||this.updateFileData();var v=this.ui.useCanvasForExport&&/(\.png)$/i.test(this.getTitle());this.setShadowModified(!1);var E=this.getData(),G=mxUtils.bind(this,function(){this.setModified(this.getShadowModified());this.contentChanged();null!=f&&f()}),B=mxUtils.bind(this,function(d){if(null!=this.fileHandle){if(!this.savingFile){this.savingFileTime=new Date;this.savingFile=
-!0;var g=mxUtils.bind(this,function(m){this.savingFile=!1;null!=c&&c({error:m})});this.saveDraft(E);this.fileHandle.createWritable().then(mxUtils.bind(this,function(m){this.fileHandle.getFile().then(mxUtils.bind(this,function(t){this.invalidFileHandle=null;EditorUi.debug("LocalFile.saveFile",[this],"desc",[this.desc],"newDesc",[t],"conflict",this.desc.lastModified!=t.lastModified);q||this.desc.lastModified==t.lastModified?m.write(v?this.ui.base64ToBlob(d,"image/png"):d).then(mxUtils.bind(this,function(){m.close().then(mxUtils.bind(this,
-function(){this.fileHandle.getFile().then(mxUtils.bind(this,function(y){try{var A=this.desc;this.savingFile=!1;this.desc=y;this.fileSaved(E,A,G,g);this.removeDraft()}catch(I){g(I)}}),g)}),g)}),g):(this.inConflictState=!0,g())}),mxUtils.bind(this,function(t){this.invalidFileHandle=!0;g(t)}))}),g)}}else{if(this.ui.isOfflineApp()||this.ui.isLocalFileSave())this.ui.doSaveLocalFile(d,b,v?"image/png":"text/xml",v);else if(d.lengthf&&(mxUtils.br(E),q=1);var I=document.createElement("a");I.style.overflow="hidden";I.style.display="inline-block";I.className="geBaseButton";I.style.boxSizing="border-box";I.style.fontSize="11px";I.style.position="relative";I.style.margin="4px";I.style.marginTop="8px";I.style.marginBottom="0px";I.style.padding="8px 10px 8px 10px";I.style.width="88px";I.style.height="100px";I.style.whiteSpace="nowrap";I.setAttribute("title",g);var F=document.createElement("div");F.style.textOverflow=
+var StorageDialog=function(b,e,f){function c(d,g,k,m,t,y){function z(){mxEvent.addListener(I,"click",null!=y?y:function(){k==App.MODE_GOOGLE&&b.spinner.spin(document.body,mxResources.get("authorizing"))?b.drive.checkToken(mxUtils.bind(this,function(){b.spinner.stop();b.setMode(k,!0);e()})):k==App.MODE_ONEDRIVE&&b.spinner.spin(document.body,mxResources.get("authorizing"))?b.oneDrive.checkToken(mxUtils.bind(this,function(){b.spinner.stop();b.setMode(k,!0);e()}),function(V){b.spinner.stop();b.handleError(V)}):
+(b.setMode(k,!0),e())})}v++;++q>f&&(mxUtils.br(D),q=1);var I=document.createElement("a");I.style.overflow="hidden";I.style.display="inline-block";I.className="geBaseButton";I.style.boxSizing="border-box";I.style.fontSize="11px";I.style.position="relative";I.style.margin="4px";I.style.marginTop="8px";I.style.marginBottom="0px";I.style.padding="8px 10px 8px 10px";I.style.width="88px";I.style.height="100px";I.style.whiteSpace="nowrap";I.setAttribute("title",g);var F=document.createElement("div");F.style.textOverflow=
 "ellipsis";F.style.overflow="hidden";F.style.position="absolute";F.style.bottom="8px";F.style.left="0px";F.style.right="0px";mxUtils.write(F,g);I.appendChild(F);if(null!=d){var C=document.createElement("img");C.setAttribute("src",d);C.setAttribute("border","0");C.setAttribute("align","absmiddle");C.style.width="60px";C.style.height="60px";C.style.paddingBottom="6px";I.appendChild(C)}else F.style.paddingTop="5px",F.style.whiteSpace="normal",mxClient.IS_IOS?(I.style.padding="0px 10px 20px 10px",I.style.top=
 "6px"):mxClient.IS_FF&&(F.style.paddingTop="0px",F.style.marginTop="-2px");if(null!=t)for(d=0;d '+mxResources.get("googleDriveMissingClickHere")+"",l.appendChild(G))},5E3);this.container=l},SplashDialog=function(b){var e=document.createElement("div");e.style.textAlign="center";if(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp){var f=b.addLanguageMenu(e,!1,"28px");null!=f&&(f.style.bottom="24px")}var c=document.createElement("img");c.setAttribute("border","0");c.setAttribute("align","absmiddle");c.style.width=
 "32px";c.style.height="32px";c.style.marginRight="8px";c.style.marginTop="-4px";var l=document.createElement("div");l.style.margin="8px 0px 0px 0px";l.style.padding="18px 0px 24px 0px";f="";b.mode==App.MODE_GOOGLE?(c.src=IMAGE_PATH+"/google-drive-logo.svg",f=mxResources.get("googleDrive")):b.mode==App.MODE_DROPBOX?(c.src=IMAGE_PATH+"/dropbox-logo.svg",f=mxResources.get("dropbox")):b.mode==App.MODE_ONEDRIVE?(c.src=IMAGE_PATH+"/onedrive-logo.svg",f=mxResources.get("oneDrive")):b.mode==App.MODE_GITHUB?
 (c.src=IMAGE_PATH+"/github-logo.svg",f=mxResources.get("github")):b.mode==App.MODE_GITLAB?(c.src=IMAGE_PATH+"/gitlab-logo.svg",f=mxResources.get("gitlab")):b.mode==App.MODE_BROWSER?(c.src=IMAGE_PATH+"/osa_database.png",f=mxResources.get("browser")):b.mode==App.MODE_TRELLO?(c.src=IMAGE_PATH+"/trello-logo.svg",f=mxResources.get("trello")):(c.src=IMAGE_PATH+"/osa_drive-harddisk.png",l.style.paddingBottom="10px",l.style.paddingTop="30px",f=mxResources.get("device"));var p=document.createElement("button");
-p.className="geBigButton";p.style.marginBottom="8px";p.style.fontSize="18px";p.style.padding="10px";p.style.width="340px";if(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)l.style.padding="42px 0px 10px 0px",p.style.marginBottom="12px";else{l.style.border="1px solid #d3d3d3";l.style.borderWidth="1px 0px 1px 0px";var q=document.createElement("table"),v=document.createElement("tbody"),E=document.createElement("tr"),G=document.createElement("td"),B=document.createElement("td");q.setAttribute("align",
-"center");G.appendChild(c);c=document.createElement("div");c.style.fontSize="22px";c.style.paddingBottom="6px";c.style.color="gray";mxUtils.write(c,f);B.style.textAlign="left";B.appendChild(c);E.appendChild(G);E.appendChild(B);v.appendChild(E);q.appendChild(v);e.appendChild(q);f=document.createElement("span");f.style.cssText="position:absolute;cursor:pointer;bottom:27px;color:gray;userSelect:none;text-align:center;left:50%;";mxUtils.setPrefixedStyle(f.style,"transform","translate(-50%,0)");mxUtils.write(f,
+p.className="geBigButton";p.style.marginBottom="8px";p.style.fontSize="18px";p.style.padding="10px";p.style.width="340px";if(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)l.style.padding="42px 0px 10px 0px",p.style.marginBottom="12px";else{l.style.border="1px solid #d3d3d3";l.style.borderWidth="1px 0px 1px 0px";var q=document.createElement("table"),v=document.createElement("tbody"),D=document.createElement("tr"),G=document.createElement("td"),B=document.createElement("td");q.setAttribute("align",
+"center");G.appendChild(c);c=document.createElement("div");c.style.fontSize="22px";c.style.paddingBottom="6px";c.style.color="gray";mxUtils.write(c,f);B.style.textAlign="left";B.appendChild(c);D.appendChild(G);D.appendChild(B);v.appendChild(D);q.appendChild(v);e.appendChild(q);f=document.createElement("span");f.style.cssText="position:absolute;cursor:pointer;bottom:27px;color:gray;userSelect:none;text-align:center;left:50%;";mxUtils.setPrefixedStyle(f.style,"transform","translate(-50%,0)");mxUtils.write(f,
 mxResources.get("changeStorage"));mxEvent.addListener(f,"click",function(){b.hideDialog(!1);b.setMode(null);b.clearMode();b.showSplash(!0)});e.appendChild(f)}mxUtils.write(p,mxResources.get("createNewDiagram"));mxEvent.addListener(p,"click",function(){b.hideDialog();b.actions.get("new").funct()});l.appendChild(p);mxUtils.br(l);p=document.createElement("button");p.className="geBigButton";p.style.marginBottom="22px";p.style.fontSize="18px";p.style.padding="10px";p.style.width="340px";mxUtils.write(p,
 mxResources.get("openExistingDiagram"));mxEvent.addListener(p,"click",function(){b.actions.get("open").funct()});l.appendChild(p);b.mode==App.MODE_GOOGLE?mxResources.get("googleDrive"):b.mode==App.MODE_DROPBOX?mxResources.get("dropbox"):b.mode==App.MODE_ONEDRIVE?mxResources.get("oneDrive"):b.mode==App.MODE_GITHUB?mxResources.get("github"):b.mode==App.MODE_GITLAB?mxResources.get("gitlab"):b.mode==App.MODE_TRELLO?mxResources.get("trello"):b.mode==App.MODE_DEVICE?mxResources.get("device"):b.mode==App.MODE_BROWSER&&
 mxResources.get("browser");if(!mxClient.IS_CHROMEAPP&&!EditorUi.isElectronApp)if(f=function(k){p.style.marginBottom="24px";var m=document.createElement("a");m.style.display="inline-block";m.style.color="gray";m.style.cursor="pointer";m.style.marginTop="6px";mxUtils.write(m,mxResources.get("signOut"));p.style.marginBottom="16px";l.style.paddingBottom="18px";mxEvent.addListener(m,"click",function(){b.confirm(mxResources.get("areYouSure"),function(){k()})});l.appendChild(m)},b.mode==App.MODE_GOOGLE&&
 null!=b.drive){var d=b.drive.getUsersList();if(0"),q.setAttribute("disabled","disabled"),g.appendChild(q);q=document.createElement("option");mxUtils.write(q,mxResources.get("addAccount"));q.value=d.length;g.appendChild(q);mxEvent.addListener(g,"change",function(){var k=g.value,m=d.length!=k;m&&b.drive.setUser(d[k]);b.drive.authorize(m,function(){b.setMode(App.MODE_GOOGLE);b.hideDialog();b.showSplash()},function(t){b.handleError(t,null,function(){b.hideDialog();b.showSplash()})},!0)});l.appendChild(g)}else f(function(){b.drive.logout()})}else b.mode!=
 App.MODE_ONEDRIVE||null==b.oneDrive||b.oneDrive.noLogout?b.mode==App.MODE_GITHUB&&null!=b.gitHub?f(function(){b.gitHub.logout();b.openLink("https://www.github.com/logout")}):b.mode==App.MODE_GITLAB&&null!=b.gitLab?f(function(){b.gitLab.logout();var k=document.createElement("form");k.setAttribute("method","post");k.setAttribute("action",DRAWIO_GITLAB_URL+"/users/sign_out");k.setAttribute("target","_blank");document.body.appendChild(k);k.submit();k.parentNode.removeChild(k)}):b.mode==App.MODE_TRELLO&&
-null!=b.trello?b.trello.isAuthorized()&&f(function(){b.trello.logout()}):b.mode==App.MODE_DROPBOX&&null!=b.dropbox&&f(function(){b.dropbox.logout();b.openLink("https://www.dropbox.com/logout")}):f(function(){b.oneDrive.logout()});e.appendChild(l);this.container=e},EmbedDialog=function(b,e,f,c,l,p,q,v,E){q=null!=q?q:"Check out the diagram I made using @drawio";c=document.createElement("div");var G=/^https?:\/\//.test(e)||/^mailto:\/\//.test(e);null!=p?mxUtils.write(c,p):mxUtils.write(c,mxResources.get(5E5>
+null!=b.trello?b.trello.isAuthorized()&&f(function(){b.trello.logout()}):b.mode==App.MODE_DROPBOX&&null!=b.dropbox&&f(function(){b.dropbox.logout();b.openLink("https://www.dropbox.com/logout")}):f(function(){b.oneDrive.logout()});e.appendChild(l);this.container=e},EmbedDialog=function(b,e,f,c,l,p,q,v,D){q=null!=q?q:"Check out the diagram I made using @drawio";c=document.createElement("div");var G=/^https?:\/\//.test(e)||/^mailto:\/\//.test(e);null!=p?mxUtils.write(c,p):mxUtils.write(c,mxResources.get(5E5>
 e.length?G?"link":"mainEmbedNotice":"preview")+":");mxUtils.br(c);p=document.createElement("div");p.style.position="absolute";p.style.top="30px";p.style.right="30px";p.style.color="gray";mxUtils.write(p,b.formatFileSize(e.length));c.appendChild(p);var B=document.createElement("textarea");B.setAttribute("autocomplete","off");B.setAttribute("autocorrect","off");B.setAttribute("autocapitalize","off");B.setAttribute("spellcheck","false");B.style.fontFamily="monospace";B.style.wordBreak="break-all";B.style.marginTop=
 "10px";B.style.resize="none";B.style.height="150px";B.style.width="440px";B.style.border="1px solid gray";B.value=mxResources.get("updatingDocument");c.appendChild(B);mxUtils.br(c);this.init=function(){window.setTimeout(function(){5E5>e.length?(B.value=e,B.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode?B.select():document.execCommand("selectAll",!1,null)):(B.setAttribute("readonly","true"),B.value=mxResources.get("tooLargeUseDownload"))},0)};p=document.createElement("div");p.style.position=
 "absolute";p.style.bottom="36px";p.style.right="32px";var d=null;!EmbedDialog.showPreviewOption||mxIsElectron||mxClient.IS_CHROMEAPP&&!G||navigator.standalone||!(G||mxClient.IS_SVG&&(null==document.documentMode||9e.length?"preview":"openInNewWindow"),function(){var k=5E5>e.length?B.value:e;if(null!=l)l(k);else if(G)try{var m=b.openLink(k);null!=m&&(null==f||0"+mxUtils.htmlEntities(mxResources.get("preview"))+''+(""),
-t.close()):b.handleError({message:mxResources.get("errorUpdatingPreview")})}}),d.className="geBtn",p.appendChild(d));if(!G||7500e.length){var g=mxUtils.button("",function(){try{var k="https://www.facebook.com/sharer.php?p[url]="+encodeURIComponent(B.value);
+t.close()):b.handleError({message:mxResources.get("errorUpdatingPreview")})}}),d.className="geBtn",p.appendChild(d));if(!G||7500e.length){var g=mxUtils.button("",function(){try{var k="https://www.facebook.com/sharer.php?p[url]="+encodeURIComponent(B.value);
 b.openLink(k)}catch(m){b.handleError({message:m.message||mxResources.get("drawingTooLarge")})}});v=document.createElement("img");v.setAttribute("src",Editor.facebookImage);v.setAttribute("width","18");v.setAttribute("height","18");v.setAttribute("border","0");g.appendChild(v);g.setAttribute("title",mxResources.get("facebook")+" ("+b.formatFileSize(51200)+" max)");g.style.verticalAlign="bottom";g.style.paddingTop="4px";g.style.minWidth="46px";g.className="geBtn";p.appendChild(g)}7168>e.length&&(g=
 mxUtils.button("",function(){try{var k="https://twitter.com/intent/tweet?text="+encodeURIComponent(q)+"&url="+encodeURIComponent(B.value);b.openLink(k)}catch(m){b.handleError({message:m.message||mxResources.get("drawingTooLarge")})}}),v=document.createElement("img"),v.setAttribute("src",Editor.tweetImage),v.setAttribute("width","18"),v.setAttribute("height","18"),v.setAttribute("border","0"),v.style.marginBottom="5px",g.appendChild(v),g.setAttribute("title",mxResources.get("twitter")+" ("+b.formatFileSize(7168)+
-" max)"),g.style.verticalAlign="bottom",g.style.paddingTop="4px",g.style.minWidth="46px",g.className="geBtn",p.appendChild(g))}!b.isOffline()&&5E5>e.length&&(g=mxUtils.button("",function(){try{var k="mailto:?subject="+encodeURIComponent(E||b.defaultFilename)+"&body="+encodeURIComponent(B.value);b.openLink(k)}catch(m){b.handleError({message:m.message||mxResources.get("drawingTooLarge")})}}),v=document.createElement("img"),v.className="geAdaptiveAsset",v.setAttribute("src",Editor.mailImage),v.setAttribute("width",
+" max)"),g.style.verticalAlign="bottom",g.style.paddingTop="4px",g.style.minWidth="46px",g.className="geBtn",p.appendChild(g))}!b.isOffline()&&5E5>e.length&&(g=mxUtils.button("",function(){try{var k="mailto:?subject="+encodeURIComponent(D||b.defaultFilename)+"&body="+encodeURIComponent(B.value);b.openLink(k)}catch(m){b.handleError({message:m.message||mxResources.get("drawingTooLarge")})}}),v=document.createElement("img"),v.className="geAdaptiveAsset",v.setAttribute("src",Editor.mailImage),v.setAttribute("width",
 "18"),v.setAttribute("height","18"),v.setAttribute("border","0"),v.style.marginBottom="5px",g.appendChild(v),g.style.verticalAlign="bottom",g.style.paddingTop="4px",g.style.minWidth="46px",g.className="geBtn",p.appendChild(g));v=mxUtils.button(mxResources.get("close"),function(){b.hideDialog()});p.appendChild(v);g=mxUtils.button(mxResources.get("copy"),function(){B.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode?B.select():document.execCommand("selectAll",!1,null);document.execCommand("copy");
 b.alert(mxResources.get("copiedToClipboard"))});5E5>e.length?mxClient.IS_SF||null!=document.documentMode?v.className="geBtn gePrimaryBtn":(p.appendChild(g),g.className="geBtn gePrimaryBtn",v.className="geBtn"):null!=d&&(p.appendChild(d),v.className="geBtn",d.className="geBtn gePrimaryBtn");c.appendChild(p);this.container=c};EmbedDialog.showPreviewOption=!0;
 var GoogleSitesDialog=function(b,e){function f(){var V=null!=S&&null!=S.getTitle()?S.getTitle():this.defaultFilename;if(C.checked&&""!=g.value){var P="https://www.draw.io/gadget.xml?type=4&diagram="+encodeURIComponent(mxUtils.htmlEntities(g.value));null!=V&&(P+="&title="+encodeURIComponent(V));0 Bob: Authentication Request\nBob --\x3e Alice: Authentication Response\n\nAlice -> Bob: Another authentication Request\nAlice <-- Bob: Another authentication Response\n@enduml"==k&&"svg"==F?window.setTimeout(function(){b.spinner.stop();A(k,F,"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBjb250ZW50U2NyaXB0VHlwZT0iYXBwbGljYXRpb24vZWNtYXNjcmlwdCIgY29udGVudFN0eWxlVHlwZT0idGV4dC9jc3MiIGhlaWdodD0iMjEycHgiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiIHN0eWxlPSJ3aWR0aDoyOTVweDtoZWlnaHQ6MjEycHg7IiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCAyOTUgMjEyIiB3aWR0aD0iMjk1cHgiIHpvb21BbmRQYW49Im1hZ25pZnkiPjxkZWZzLz48Zz48bGluZSBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuMDsgc3Ryb2tlLWRhc2hhcnJheTogNS4wLDUuMDsiIHgxPSIzMSIgeDI9IjMxIiB5MT0iMzQuNDg4MyIgeTI9IjE3MS43MzA1Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTogI0E4MDAzNjsgc3Ryb2tlLXdpZHRoOiAxLjA7IHN0cm9rZS1kYXNoYXJyYXk6IDUuMCw1LjA7IiB4MT0iMjY0LjUiIHgyPSIyNjQuNSIgeTE9IjM0LjQ4ODMiIHkyPSIxNzEuNzMwNSIvPjxyZWN0IGZpbGw9IiNGRUZFQ0UiIGhlaWdodD0iMzAuNDg4MyIgc3R5bGU9InN0cm9rZTogI0E4MDAzNjsgc3Ryb2tlLXdpZHRoOiAxLjU7IiB3aWR0aD0iNDciIHg9IjgiIHk9IjMiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIiB0ZXh0TGVuZ3RoPSIzMyIgeD0iMTUiIHk9IjIzLjUzNTIiPkFsaWNlPC90ZXh0PjxyZWN0IGZpbGw9IiNGRUZFQ0UiIGhlaWdodD0iMzAuNDg4MyIgc3R5bGU9InN0cm9rZTogI0E4MDAzNjsgc3Ryb2tlLXdpZHRoOiAxLjU7IiB3aWR0aD0iNDciIHg9IjgiIHk9IjE3MC43MzA1Ii8+PHRleHQgZmlsbD0iIzAwMDAwMCIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTQiIGxlbmd0aEFkanVzdD0ic3BhY2luZ0FuZEdseXBocyIgdGV4dExlbmd0aD0iMzMiIHg9IjE1IiB5PSIxOTEuMjY1NiI+QWxpY2U8L3RleHQ+PHJlY3QgZmlsbD0iI0ZFRkVDRSIgaGVpZ2h0PSIzMC40ODgzIiBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuNTsiIHdpZHRoPSI0MCIgeD0iMjQ0LjUiIHk9IjMiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIiB0ZXh0TGVuZ3RoPSIyNiIgeD0iMjUxLjUiIHk9IjIzLjUzNTIiPkJvYjwvdGV4dD48cmVjdCBmaWxsPSIjRkVGRUNFIiBoZWlnaHQ9IjMwLjQ4ODMiIHN0eWxlPSJzdHJva2U6ICNBODAwMzY7IHN0cm9rZS13aWR0aDogMS41OyIgd2lkdGg9IjQwIiB4PSIyNDQuNSIgeT0iMTcwLjczMDUiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIiB0ZXh0TGVuZ3RoPSIyNiIgeD0iMjUxLjUiIHk9IjE5MS4yNjU2Ij5Cb2I8L3RleHQ+PHBvbHlnb24gZmlsbD0iI0E4MDAzNiIgcG9pbnRzPSIyNTIuNSw2MS43OTg4LDI2Mi41LDY1Ljc5ODgsMjUyLjUsNjkuNzk4OCwyNTYuNSw2NS43OTg4IiBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuMDsiLz48bGluZSBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuMDsiIHgxPSIzMS41IiB4Mj0iMjU4LjUiIHkxPSI2NS43OTg4IiB5Mj0iNjUuNzk4OCIvPjx0ZXh0IGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBmb250LXNpemU9IjEzIiBsZW5ndGhBZGp1c3Q9InNwYWNpbmdBbmRHbHlwaHMiIHRleHRMZW5ndGg9IjE0NyIgeD0iMzguNSIgeT0iNjEuMDU2NiI+QXV0aGVudGljYXRpb24gUmVxdWVzdDwvdGV4dD48cG9seWdvbiBmaWxsPSIjQTgwMDM2IiBwb2ludHM9IjQyLjUsOTEuMTA5NCwzMi41LDk1LjEwOTQsNDIuNSw5OS4xMDk0LDM4LjUsOTUuMTA5NCIgc3R5bGU9InN0cm9rZTogI0E4MDAzNjsgc3Ryb2tlLXdpZHRoOiAxLjA7Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTogI0E4MDAzNjsgc3Ryb2tlLXdpZHRoOiAxLjA7IHN0cm9rZS1kYXNoYXJyYXk6IDIuMCwyLjA7IiB4MT0iMzYuNSIgeDI9IjI2My41IiB5MT0iOTUuMTA5NCIgeTI9Ijk1LjEwOTQiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMyIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIiB0ZXh0TGVuZ3RoPSIxNTciIHg9IjQ4LjUiIHk9IjkwLjM2NzIiPkF1dGhlbnRpY2F0aW9uIFJlc3BvbnNlPC90ZXh0Pjxwb2x5Z29uIGZpbGw9IiNBODAwMzYiIHBvaW50cz0iMjUyLjUsMTIwLjQxOTksMjYyLjUsMTI0LjQxOTksMjUyLjUsMTI4LjQxOTksMjU2LjUsMTI0LjQxOTkiIHN0eWxlPSJzdHJva2U6ICNBODAwMzY7IHN0cm9rZS13aWR0aDogMS4wOyIvPjxsaW5lIHN0eWxlPSJzdHJva2U6ICNBODAwMzY7IHN0cm9rZS13aWR0aDogMS4wOyIgeDE9IjMxLjUiIHgyPSIyNTguNSIgeTE9IjEyNC40MTk5IiB5Mj0iMTI0LjQxOTkiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMyIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIiB0ZXh0TGVuZ3RoPSIxOTkiIHg9IjM4LjUiIHk9IjExOS42Nzc3Ij5Bbm90aGVyIGF1dGhlbnRpY2F0aW9uIFJlcXVlc3Q8L3RleHQ+PHBvbHlnb24gZmlsbD0iI0E4MDAzNiIgcG9pbnRzPSI0Mi41LDE0OS43MzA1LDMyLjUsMTUzLjczMDUsNDIuNSwxNTcuNzMwNSwzOC41LDE1My43MzA1IiBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuMDsiLz48bGluZSBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuMDsgc3Ryb2tlLWRhc2hhcnJheTogMi4wLDIuMDsiIHgxPSIzNi41IiB4Mj0iMjYzLjUiIHkxPSIxNTMuNzMwNSIgeTI9IjE1My43MzA1Ii8+PHRleHQgZmlsbD0iIzAwMDAwMCIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTMiIGxlbmd0aEFkanVzdD0ic3BhY2luZ0FuZEdseXBocyIgdGV4dExlbmd0aD0iMjA5IiB4PSI0OC41IiB5PSIxNDguOTg4MyI+QW5vdGhlciBhdXRoZW50aWNhdGlvbiBSZXNwb25zZTwvdGV4dD48IS0tTUQ1PVs3ZjNlNGQwYzkwMWVmZGJjNTdlYjQ0MjQ5YTNiODE5N10KQHN0YXJ0dW1sDQpza2lucGFyYW0gc2hhZG93aW5nIGZhbHNlDQpBbGljZSAtPiBCb2I6IEF1dGhlbnRpY2F0aW9uIFJlcXVlc3QNCkJvYiAtIC0+IEFsaWNlOiBBdXRoZW50aWNhdGlvbiBSZXNwb25zZQ0KDQpBbGljZSAtPiBCb2I6IEFub3RoZXIgYXV0aGVudGljYXRpb24gUmVxdWVzdA0KQWxpY2UgPC0gLSBCb2I6IEFub3RoZXIgYXV0aGVudGljYXRpb24gUmVzcG9uc2UNCkBlbmR1bWwNCgpQbGFudFVNTCB2ZXJzaW9uIDEuMjAyMC4wMihTdW4gTWFyIDAxIDA0OjIyOjA3IENTVCAyMDIwKQooTUlUIHNvdXJjZSBkaXN0cmlidXRpb24pCkphdmEgUnVudGltZTogT3BlbkpESyBSdW50aW1lIEVudmlyb25tZW50CkpWTTogT3BlbkpESyA2NC1CaXQgU2VydmVyIFZNCkphdmEgVmVyc2lvbjogMTIrMzMKT3BlcmF0aW5nIFN5c3RlbTogTWFjIE9TIFgKRGVmYXVsdCBFbmNvZGluZzogVVRGLTgKTGFuZ3VhZ2U6IGVuCkNvdW50cnk6IFVTCi0tPjwvZz48L3N2Zz4=",
-295,212)},200):b.generatePlantUmlImage(k,F,function(M,n,z){b.spinner.stop();A(k,F,M,n,z)},function(M){b.handleError(M)})}}else if("mermaid"==m||"mermaid2drawio"==m){if(b.spinner.spin(document.body,mxResources.get("inserting"))){for(var C=0;C Bob: Authentication Request\nBob --\x3e Alice: Authentication Response\n\nAlice -> Bob: Another authentication Request\nAlice <-- Bob: Another authentication Response\n@enduml"==k&&"svg"==F?window.setTimeout(function(){b.spinner.stop();z(k,F,"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBjb250ZW50U2NyaXB0VHlwZT0iYXBwbGljYXRpb24vZWNtYXNjcmlwdCIgY29udGVudFN0eWxlVHlwZT0idGV4dC9jc3MiIGhlaWdodD0iMjEycHgiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiIHN0eWxlPSJ3aWR0aDoyOTVweDtoZWlnaHQ6MjEycHg7IiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCAyOTUgMjEyIiB3aWR0aD0iMjk1cHgiIHpvb21BbmRQYW49Im1hZ25pZnkiPjxkZWZzLz48Zz48bGluZSBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuMDsgc3Ryb2tlLWRhc2hhcnJheTogNS4wLDUuMDsiIHgxPSIzMSIgeDI9IjMxIiB5MT0iMzQuNDg4MyIgeTI9IjE3MS43MzA1Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTogI0E4MDAzNjsgc3Ryb2tlLXdpZHRoOiAxLjA7IHN0cm9rZS1kYXNoYXJyYXk6IDUuMCw1LjA7IiB4MT0iMjY0LjUiIHgyPSIyNjQuNSIgeTE9IjM0LjQ4ODMiIHkyPSIxNzEuNzMwNSIvPjxyZWN0IGZpbGw9IiNGRUZFQ0UiIGhlaWdodD0iMzAuNDg4MyIgc3R5bGU9InN0cm9rZTogI0E4MDAzNjsgc3Ryb2tlLXdpZHRoOiAxLjU7IiB3aWR0aD0iNDciIHg9IjgiIHk9IjMiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIiB0ZXh0TGVuZ3RoPSIzMyIgeD0iMTUiIHk9IjIzLjUzNTIiPkFsaWNlPC90ZXh0PjxyZWN0IGZpbGw9IiNGRUZFQ0UiIGhlaWdodD0iMzAuNDg4MyIgc3R5bGU9InN0cm9rZTogI0E4MDAzNjsgc3Ryb2tlLXdpZHRoOiAxLjU7IiB3aWR0aD0iNDciIHg9IjgiIHk9IjE3MC43MzA1Ii8+PHRleHQgZmlsbD0iIzAwMDAwMCIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTQiIGxlbmd0aEFkanVzdD0ic3BhY2luZ0FuZEdseXBocyIgdGV4dExlbmd0aD0iMzMiIHg9IjE1IiB5PSIxOTEuMjY1NiI+QWxpY2U8L3RleHQ+PHJlY3QgZmlsbD0iI0ZFRkVDRSIgaGVpZ2h0PSIzMC40ODgzIiBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuNTsiIHdpZHRoPSI0MCIgeD0iMjQ0LjUiIHk9IjMiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIiB0ZXh0TGVuZ3RoPSIyNiIgeD0iMjUxLjUiIHk9IjIzLjUzNTIiPkJvYjwvdGV4dD48cmVjdCBmaWxsPSIjRkVGRUNFIiBoZWlnaHQ9IjMwLjQ4ODMiIHN0eWxlPSJzdHJva2U6ICNBODAwMzY7IHN0cm9rZS13aWR0aDogMS41OyIgd2lkdGg9IjQwIiB4PSIyNDQuNSIgeT0iMTcwLjczMDUiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIiB0ZXh0TGVuZ3RoPSIyNiIgeD0iMjUxLjUiIHk9IjE5MS4yNjU2Ij5Cb2I8L3RleHQ+PHBvbHlnb24gZmlsbD0iI0E4MDAzNiIgcG9pbnRzPSIyNTIuNSw2MS43OTg4LDI2Mi41LDY1Ljc5ODgsMjUyLjUsNjkuNzk4OCwyNTYuNSw2NS43OTg4IiBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuMDsiLz48bGluZSBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuMDsiIHgxPSIzMS41IiB4Mj0iMjU4LjUiIHkxPSI2NS43OTg4IiB5Mj0iNjUuNzk4OCIvPjx0ZXh0IGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBmb250LXNpemU9IjEzIiBsZW5ndGhBZGp1c3Q9InNwYWNpbmdBbmRHbHlwaHMiIHRleHRMZW5ndGg9IjE0NyIgeD0iMzguNSIgeT0iNjEuMDU2NiI+QXV0aGVudGljYXRpb24gUmVxdWVzdDwvdGV4dD48cG9seWdvbiBmaWxsPSIjQTgwMDM2IiBwb2ludHM9IjQyLjUsOTEuMTA5NCwzMi41LDk1LjEwOTQsNDIuNSw5OS4xMDk0LDM4LjUsOTUuMTA5NCIgc3R5bGU9InN0cm9rZTogI0E4MDAzNjsgc3Ryb2tlLXdpZHRoOiAxLjA7Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTogI0E4MDAzNjsgc3Ryb2tlLXdpZHRoOiAxLjA7IHN0cm9rZS1kYXNoYXJyYXk6IDIuMCwyLjA7IiB4MT0iMzYuNSIgeDI9IjI2My41IiB5MT0iOTUuMTA5NCIgeTI9Ijk1LjEwOTQiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMyIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIiB0ZXh0TGVuZ3RoPSIxNTciIHg9IjQ4LjUiIHk9IjkwLjM2NzIiPkF1dGhlbnRpY2F0aW9uIFJlc3BvbnNlPC90ZXh0Pjxwb2x5Z29uIGZpbGw9IiNBODAwMzYiIHBvaW50cz0iMjUyLjUsMTIwLjQxOTksMjYyLjUsMTI0LjQxOTksMjUyLjUsMTI4LjQxOTksMjU2LjUsMTI0LjQxOTkiIHN0eWxlPSJzdHJva2U6ICNBODAwMzY7IHN0cm9rZS13aWR0aDogMS4wOyIvPjxsaW5lIHN0eWxlPSJzdHJva2U6ICNBODAwMzY7IHN0cm9rZS13aWR0aDogMS4wOyIgeDE9IjMxLjUiIHgyPSIyNTguNSIgeTE9IjEyNC40MTk5IiB5Mj0iMTI0LjQxOTkiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMyIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIiB0ZXh0TGVuZ3RoPSIxOTkiIHg9IjM4LjUiIHk9IjExOS42Nzc3Ij5Bbm90aGVyIGF1dGhlbnRpY2F0aW9uIFJlcXVlc3Q8L3RleHQ+PHBvbHlnb24gZmlsbD0iI0E4MDAzNiIgcG9pbnRzPSI0Mi41LDE0OS43MzA1LDMyLjUsMTUzLjczMDUsNDIuNSwxNTcuNzMwNSwzOC41LDE1My43MzA1IiBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuMDsiLz48bGluZSBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuMDsgc3Ryb2tlLWRhc2hhcnJheTogMi4wLDIuMDsiIHgxPSIzNi41IiB4Mj0iMjYzLjUiIHkxPSIxNTMuNzMwNSIgeTI9IjE1My43MzA1Ii8+PHRleHQgZmlsbD0iIzAwMDAwMCIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTMiIGxlbmd0aEFkanVzdD0ic3BhY2luZ0FuZEdseXBocyIgdGV4dExlbmd0aD0iMjA5IiB4PSI0OC41IiB5PSIxNDguOTg4MyI+QW5vdGhlciBhdXRoZW50aWNhdGlvbiBSZXNwb25zZTwvdGV4dD48IS0tTUQ1PVs3ZjNlNGQwYzkwMWVmZGJjNTdlYjQ0MjQ5YTNiODE5N10KQHN0YXJ0dW1sDQpza2lucGFyYW0gc2hhZG93aW5nIGZhbHNlDQpBbGljZSAtPiBCb2I6IEF1dGhlbnRpY2F0aW9uIFJlcXVlc3QNCkJvYiAtIC0+IEFsaWNlOiBBdXRoZW50aWNhdGlvbiBSZXNwb25zZQ0KDQpBbGljZSAtPiBCb2I6IEFub3RoZXIgYXV0aGVudGljYXRpb24gUmVxdWVzdA0KQWxpY2UgPC0gLSBCb2I6IEFub3RoZXIgYXV0aGVudGljYXRpb24gUmVzcG9uc2UNCkBlbmR1bWwNCgpQbGFudFVNTCB2ZXJzaW9uIDEuMjAyMC4wMihTdW4gTWFyIDAxIDA0OjIyOjA3IENTVCAyMDIwKQooTUlUIHNvdXJjZSBkaXN0cmlidXRpb24pCkphdmEgUnVudGltZTogT3BlbkpESyBSdW50aW1lIEVudmlyb25tZW50CkpWTTogT3BlbkpESyA2NC1CaXQgU2VydmVyIFZNCkphdmEgVmVyc2lvbjogMTIrMzMKT3BlcmF0aW5nIFN5c3RlbTogTWFjIE9TIFgKRGVmYXVsdCBFbmNvZGluZzogVVRGLTgKTGFuZ3VhZ2U6IGVuCkNvdW50cnk6IFVTCi0tPjwvZz48L3N2Zz4=",
+295,212)},200):b.generatePlantUmlImage(k,F,function(M,n,A){b.spinner.stop();z(k,F,M,n,A)},function(M){b.handleError(M)})}}else if("mermaid"==m||"mermaid2drawio"==m){if(b.spinner.spin(document.body,mxResources.get("inserting"))){for(var C=0;C");2<=O.length&&(x=J(O[0]),H=J(O[O.length-1]),O=new mxCell(2");2<=N.length&&(x=J(N[0]),H=J(N[N.length-1]),N=new mxCell(2 Bob: Authentication Request\nBob --\x3e Alice: Authentication Response\n\nAlice -> Bob: Another authentication Request\nAlice <-- Bob: Another authentication Response\n@enduml":
 "plantUmlSvg"==v.value||"plantUmlTxt"==v.value?"@startuml\nskinparam shadowing false\nAlice -> Bob: Authentication Request\nBob --\x3e Alice: Authentication Response\n\nAlice -> Bob: Another authentication Request\nAlice <-- Bob: Another authentication Response\n@enduml":";Example:\na->b\nb->edge label->c\nc->a\n"}var p=b.editor.graph.getFreeInsertPoint();e=document.createElement("div");e.style.textAlign="right";var q=document.createElement("textarea");q.style.boxSizing="border-box";q.style.resize=
-"none";q.style.width="100%";q.style.height="354px";q.style.marginBottom="16px";var v=document.createElement("select");v.className="geBtn";if("formatSql"==f||"mermaid"==f&&"draw.io"!=b.getServiceName()&&"atlassian"!=b.getServiceName())v.style.display="none";var E=document.createElement("option");E.setAttribute("value","list");mxUtils.write(E,mxResources.get("list"));"plantUml"!=f&&"mermaid"!=f&&v.appendChild(E);null!=f&&"fromText"!=f||E.setAttribute("selected","selected");E=document.createElement("option");
-E.setAttribute("value","table");mxUtils.write(E,mxResources.get("formatSql"));"formatSql"==f&&(v.appendChild(E),E.setAttribute("selected","selected"));E=document.createElement("option");E.setAttribute("value","mermaid");mxUtils.write(E,mxResources.get("image"));if("mermaid"==f)if("undefined"!==typeof mxMermaidToDrawio){var G=document.createElement("option");G.setAttribute("value","mermaid2drawio");G.setAttribute("selected","selected");mxUtils.write(G,mxResources.get("diagram"));v.appendChild(G)}else v.style.display=
-"none";v.appendChild(E);E=document.createElement("option");E.setAttribute("value","diagram");mxUtils.write(E,mxResources.get("diagram"));G=document.createElement("option");G.setAttribute("value","circle");mxUtils.write(G,mxResources.get("circle"));var B=document.createElement("option");B.setAttribute("value","horizontalFlow");mxUtils.write(B,mxResources.get("horizontalFlow"));var d=document.createElement("option");d.setAttribute("value","verticalFlow");mxUtils.write(d,mxResources.get("verticalFlow"));
-"plantUml"!=f&&"mermaid"!=f&&(v.appendChild(E),v.appendChild(G),v.appendChild(B),v.appendChild(d));E=document.createElement("option");E.setAttribute("value","plantUmlSvg");mxUtils.write(E,mxResources.get("plantUml")+" ("+mxResources.get("formatSvg")+")");"plantUml"==f&&E.setAttribute("selected","selected");G=document.createElement("option");G.setAttribute("value","plantUmlPng");mxUtils.write(G,mxResources.get("plantUml")+" ("+mxResources.get("formatPng")+")");B=document.createElement("option");B.setAttribute("value",
-"plantUmlTxt");mxUtils.write(B,mxResources.get("plantUml")+" ("+mxResources.get("text")+")");EditorUi.enablePlantUml&&Graph.fileSupport&&!b.isOffline()&&"plantUml"==f&&(v.appendChild(E),v.appendChild(G),v.appendChild(B));var g=l();q.value=g;e.appendChild(q);this.init=function(){q.focus()};Graph.fileSupport&&(q.addEventListener("dragover",function(k){k.stopPropagation();k.preventDefault()},!1),q.addEventListener("drop",function(k){k.stopPropagation();k.preventDefault();if(0";if(Xa||"undefined"===typeof mxMermaidToDrawio)da=ba=Oa;Oa=D.cloneNode(!0);oa.appendChild(Oa);Ha=function(eb){R=null!=b.sidebar.tooltip&&"none"!=b.sidebar.tooltip.style.display};$a=function(eb){R||F(gb,mxEvent.getClientX(eb),mxEvent.getClientY(eb),Ya,Ma)};mxEvent.addGestureListeners(Ya,
+1);Ya.style.cursor="pointer";Ya.style.width="100%";Ya.style.height="100%";oa.appendChild(Ya);Oa=b.createMermaidXml(Oa,EditorUi.defaultMermaidConfig,Ha,$a,Za,Ma);var gb=""+Graph.compress(Oa)+"";if(Xa||"undefined"===typeof mxMermaidToDrawio)da=ba=Oa;Oa=E.cloneNode(!0);oa.appendChild(Oa);Ha=function(eb){R=null!=b.sidebar.tooltip&&"none"!=b.sidebar.tooltip.style.display};$a=function(eb){R||F(gb,mxEvent.getClientX(eb),mxEvent.getClientY(eb),Ya,Ma)};mxEvent.addGestureListeners(Ya,
 Ha,null,$a);mxEvent.addGestureListeners(Oa,Ha,null,$a)},function(Oa){b.spinner.stop();null!=mxMermaidToDrawio.resetListeners&&mxMermaidToDrawio.resetListeners();b.handleError(Oa)})});Ka.setAttribute("disabled","disabled");Ka.className="geBtn gePrimaryBtn";qa=function(){window.setTimeout(function(){""!=sa.value?Ka.removeAttribute("disabled"):Ka.setAttribute("disabled","disabled")},0)};ua=urlParams["smart-template"];null!=ua&&"1"!=ua&&(sa.value=decodeURIComponent(ua),qa(),"1"==urlParams["smart-template-generate"]&&
 window.setTimeout(function(){Ka.click()},0));mxEvent.addListener(sa,"change",qa);mxEvent.addListener(sa,"keydown",qa);mxEvent.addListener(sa,"cut",qa);mxEvent.addListener(sa,"paste",qa);mxEvent.addListener(sa,"keydown",function(Na){13==Na.keyCode&&Ka.click()});qa=document.createElement("div");qa.style.height="40px";qa.style.marginTop="4px";qa.style.marginBottom="4px";qa.style.whiteSpace="nowrap";qa.style.overflowX="auto";qa.style.overflowY="hidden";qa.appendChild(ra);qa.appendChild(Ka);la.appendChild(qa);
-la.appendChild(oa);return la}function Q(){null!=ba&&ba==da&&EditorUi.logEvent({category:"OPENAI-DIAGRAM",action:"templateGenerated",label:Ba});if(aa&&null!=k)f||b.hideDialog(),k(aa,ha,O.value);else if(c)f||b.hideDialog(),c(ba,O.value,ia,ea);else{var la=O.value;if(null!=la&&0=cb.getStatus()&&($a=cb.getText());bb($a,Za)}))):
-bb($a,Za)}function Oa(Qa,bb){if(null==la||L||b.sidebar.currentElt==Ha)b.sidebar.hideTooltip();else if(b.sidebar.hideTooltip(),null!=N){var cb=""+Graph.compress('')+"";F(cb,mxEvent.getClientX(Qa),
+bb($a,Za)}function Oa(Qa,bb){if(null==la||L||b.sidebar.currentElt==Ha)b.sidebar.hideTooltip();else if(b.sidebar.hideTooltip(),null!=O){var cb=""+Graph.compress('')+"";F(cb,mxEvent.getClientX(Qa),
 mxEvent.getClientY(Qa),oa,la)}else b.sidebar.currentElt=Ha,L=!0,Ma(la,function(ib){if(L&&b.sidebar.currentElt==Ha)try{F(ib,mxEvent.getClientX(Qa),mxEvent.getClientY(Qa),Ha,bb)}catch(jb){b.sidebar.currentElt=null,b.handleError(jb)}L=!1})}var Ha=null;if("generative"!=Xa||null==Da){Ha=document.createElement("div");Ha.className="geTemplate";var $a=null,Za=la;null!=oa?Ha.setAttribute("title",mxResources.get(oa,null,oa)):null!=qa&&0=na.scrollHeight&&(I(),mxEvent.consume(Ma))}));if(0(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth);f=null!=f?f:!0;l=null!=l?l:!1;q=null!=q?q:"light-dark(#ebf2f9, "+Editor.darkColor+")";B=null!=B?B:EditorUi.templateFile;var H=document.createElement("div");H.style.userSelect="none";H.style.height="100%";E=document.createElement("div");E.style.whiteSpace="nowrap";E.style.height=
-"46px";f&&H.appendChild(E);var K=document.createElement("img");K.setAttribute("border","0");K.setAttribute("align","absmiddle");K.style.width="40px";K.style.height="40px";K.style.marginRight="10px";K.style.paddingBottom="4px";K.src=b.mode==App.MODE_GOOGLE?IMAGE_PATH+"/google-drive-logo.svg":b.mode==App.MODE_DROPBOX?IMAGE_PATH+"/dropbox-logo.svg":b.mode==App.MODE_ONEDRIVE?IMAGE_PATH+"/onedrive-logo.svg":b.mode==App.MODE_GITHUB?IMAGE_PATH+"/github-logo.svg":b.mode==App.MODE_GITLAB?IMAGE_PATH+"/gitlab-logo.svg":
-b.mode==App.MODE_TRELLO?IMAGE_PATH+"/trello-logo.svg":b.mode==App.MODE_BROWSER?IMAGE_PATH+"/osa_database.png":IMAGE_PATH+"/osa_drive-harddisk.png";e||v||!f||E.appendChild(K);f&&mxUtils.write(E,(v?mxResources.get("name"):null==b.mode||b.mode==App.MODE_GOOGLE||b.mode==App.MODE_BROWSER?mxResources.get("diagramName"):mxResources.get("filename"))+":");K=".drawio";b.mode==App.MODE_GOOGLE&&null!=b.drive?K=b.drive.extension:b.mode==App.MODE_DROPBOX&&null!=b.dropbox?K=b.dropbox.extension:b.mode==App.MODE_ONEDRIVE&&
-null!=b.oneDrive?K=b.oneDrive.extension:b.mode==App.MODE_GITHUB&&null!=b.gitHub?K=b.gitHub.extension:b.mode==App.MODE_GITLAB&&null!=b.gitLab?K=b.gitLab.extension:b.mode==App.MODE_TRELLO&&null!=b.trello&&(K=b.trello.extension);var O=document.createElement("input");O.setAttribute("value",b.defaultFilename+K);O.style.marginLeft="10px";O.style.width=e||v?"144px":"244px";this.init=function(){f&&Editor.selectFilename(O);null!=na.parentNode&&null!=na.parentNode.parentNode&&mxEvent.addGestureListeners(na.parentNode.parentNode,
-mxUtils.bind(this,function(la){null!=b.sidebar&&b.sidebar.hideTooltip()}),null,null)};f&&(E.appendChild(O),A?O.style.width=e||v?"350px":"450px":null!=b.editor.diagramFileTypes&&(A=FilenameDialog.createFileTypes(b,O,b.editor.diagramFileTypes),A.style.marginLeft="6px",A.style.width=e||v?"80px":"180px",E.appendChild(A)));A=!1;var M=0,n=new Spinner({lines:12,length:10,width:5,radius:10,rotate:0,color:"light-dark(#000000, #C0C0C0)",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9}),z=mxUtils.button(t||
-mxResources.get("create"),function(){z.setAttribute("disabled","disabled");Q();z.removeAttribute("disabled")});z.className="geBtn gePrimaryBtn";var D=document.createElement("img");D.setAttribute("src",Editor.magnifyImage);D.setAttribute("title",mxResources.get("preview"));D.className="geButton geRoundButton";var L=!1,N=null,R=!1;if(d||g){var T=[],U=null,W=null,X=null,Y=function(la){z.setAttribute("disabled","disabled");for(var sa=0;sa(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth);f=null!=f?f:!0;l=null!=l?l:!1;q=null!=q?q:"light-dark(#ebf2f9, "+Editor.darkColor+")";B=null!=B?B:EditorUi.templateFile;var H=document.createElement("div");H.style.userSelect="none";H.style.height="100%";D=document.createElement("div");D.style.whiteSpace="nowrap";D.style.height=
+"46px";f&&H.appendChild(D);var K=document.createElement("img");K.setAttribute("border","0");K.setAttribute("align","absmiddle");K.style.width="40px";K.style.height="40px";K.style.marginRight="10px";K.style.paddingBottom="4px";K.src=b.mode==App.MODE_GOOGLE?IMAGE_PATH+"/google-drive-logo.svg":b.mode==App.MODE_DROPBOX?IMAGE_PATH+"/dropbox-logo.svg":b.mode==App.MODE_ONEDRIVE?IMAGE_PATH+"/onedrive-logo.svg":b.mode==App.MODE_GITHUB?IMAGE_PATH+"/github-logo.svg":b.mode==App.MODE_GITLAB?IMAGE_PATH+"/gitlab-logo.svg":
+b.mode==App.MODE_TRELLO?IMAGE_PATH+"/trello-logo.svg":b.mode==App.MODE_BROWSER?IMAGE_PATH+"/osa_database.png":IMAGE_PATH+"/osa_drive-harddisk.png";e||v||!f||D.appendChild(K);f&&mxUtils.write(D,(v?mxResources.get("name"):null==b.mode||b.mode==App.MODE_GOOGLE||b.mode==App.MODE_BROWSER?mxResources.get("diagramName"):mxResources.get("filename"))+":");K=".drawio";b.mode==App.MODE_GOOGLE&&null!=b.drive?K=b.drive.extension:b.mode==App.MODE_DROPBOX&&null!=b.dropbox?K=b.dropbox.extension:b.mode==App.MODE_ONEDRIVE&&
+null!=b.oneDrive?K=b.oneDrive.extension:b.mode==App.MODE_GITHUB&&null!=b.gitHub?K=b.gitHub.extension:b.mode==App.MODE_GITLAB&&null!=b.gitLab?K=b.gitLab.extension:b.mode==App.MODE_TRELLO&&null!=b.trello&&(K=b.trello.extension);var N=document.createElement("input");N.setAttribute("value",b.defaultFilename+K);N.style.marginLeft="10px";N.style.width=e||v?"144px":"244px";this.init=function(){f&&Editor.selectFilename(N);null!=na.parentNode&&null!=na.parentNode.parentNode&&mxEvent.addGestureListeners(na.parentNode.parentNode,
+mxUtils.bind(this,function(la){null!=b.sidebar&&b.sidebar.hideTooltip()}),null,null)};f&&(D.appendChild(N),z?N.style.width=e||v?"350px":"450px":null!=b.editor.diagramFileTypes&&(z=FilenameDialog.createFileTypes(b,N,b.editor.diagramFileTypes),z.style.marginLeft="6px",z.style.width=e||v?"80px":"180px",D.appendChild(z)));z=!1;var M=0,n=new Spinner({lines:12,length:10,width:5,radius:10,rotate:0,color:"light-dark(#000000, #C0C0C0)",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9}),A=mxUtils.button(t||
+mxResources.get("create"),function(){A.setAttribute("disabled","disabled");Q();A.removeAttribute("disabled")});A.className="geBtn gePrimaryBtn";var E=document.createElement("img");E.setAttribute("src",Editor.magnifyImage);E.setAttribute("title",mxResources.get("preview"));E.className="geButton geRoundButton";var L=!1,O=null,R=!1;if(d||g){var T=[],U=null,W=null,X=null,Y=function(la){A.setAttribute("disabled","disabled");for(var sa=0;sa";F(sa,mxEvent.getClientX(la),mxEvent.getClientY(la),Da,Ba)}});var Ea=D.cloneNode(!0);Ea.setAttribute("src",Editor.editImage);Ea.setAttribute("title",mxResources.get("edit"));Ea.style.visibility="hidden";Ea.style.left="0px";t=D.cloneNode(!0);t.setAttribute("src",Editor.helpImage);t.setAttribute("title",mxResources.get("help"));mxEvent.addListener(t,"click",function(la){b.openLink("https://www.drawio.com/blog/write-query-generate-diagram");
+t+"px;bottom:68px;margin-top:6px;overflow:auto;border:1px solid #d3d3d3;";mxEvent.addListener(na,"scroll",function(){null!=b.sidebar&&b.sidebar.hideTooltip()});var pa=140,ma=pa,Da=null,wa="url("+Editor.sparklesImage+")",ya=document.createElement("div");ya.className="geGenerateDiagramForm";ya.style.position="absolute";ya.style.width="100%";ya.style.height="100%";var xa=document.createElement("div");xa.className="geTemplatePreview geAdaptiveAsset";xa.style.backgroundImage=wa;var Fa=document.createElement("textarea");
+Fa.setAttribute("placeholder",mxResources.get("describeYourDiagram"));Fa.className="geGenerateDiagramDescription";var Ca=document.createElement("button");Ca.className="geBtn gePrimaryBtn geGenerateDiagramButton";Ca.setAttribute("disabled","disabled");Ca.setAttribute("title",mxResources.get("ok"));mxUtils.write(Ca,mxResources.get("ok"));var Ia=E.cloneNode(!0);Ia.style.display="none";var La=!1;mxEvent.addGestureListeners(Ia,function(la){La=null!=b.sidebar.tooltip&&"none"!=b.sidebar.tooltip.style.display},
+null,function(la){if(!La&&null!=da){var sa=""+Graph.compress(da)+"";F(sa,mxEvent.getClientX(la),mxEvent.getClientY(la),Da,Ba)}});var Ea=E.cloneNode(!0);Ea.setAttribute("src",Editor.editImage);Ea.setAttribute("title",mxResources.get("edit"));Ea.style.visibility="hidden";Ea.style.left="0px";t=E.cloneNode(!0);t.setAttribute("src",Editor.helpImage);t.setAttribute("title",mxResources.get("help"));mxEvent.addListener(t,"click",function(la){b.openLink("https://www.drawio.com/blog/write-query-generate-diagram");
 mxEvent.consume(la)});ya.appendChild(Fa);ya.appendChild(Ca);ya.appendChild(t);ya.style.display="none";mxEvent.addListener(Ea,"click",V);mxEvent.addListener(Fa,"input",function(){""!=Fa.value?Ca.removeAttribute("disabled"):Ca.setAttribute("disabled","disabled")});mxEvent.addListener(Ca,"click",function(){u()});mxEvent.addListener(Fa,"keydown",function(la){13!=la.keyCode||mxEvent.isShiftDown(la)?27==la.keyCode&&(u(!0),mxEvent.consume(la)):(u(),mxEvent.consume(la))});var za={},Sa={},Ta={},Ua=0,hb=!0,
 Ra=null,Wa=null;za.basic=[{title:"blankDiagram"}];var Va=za.basic;Editor.enableChatGpt&&b.isExternalDataComms()&&"draw.io"==b.getServiceName()&&"undefined"!==typeof mxMermaidToDrawio&&window.isMermaidEnabled&&za.basic.push({title:"generate",type:"generative"});Editor.enableChatGpt&&b.isExternalDataComms()&&"draw.io"==b.getServiceName()&&"undefined"!==typeof mxMermaidToDrawio&&window.isMermaidEnabled&&(za.smartTemplate={content:C()});if(!e){var fb=function(){mxUtils.get(db,function(la){if(!ab){ab=
 !0;la=la.getXml().documentElement.firstChild;for(var sa={};null!=la;){if("undefined"!==typeof la.getAttribute)if("parsererror"==la.nodeName)null!=window.console&&console.log("Parser error in "+B+": "+la.textContent);else if("clibs"==la.nodeName){for(var oa=la.getAttribute("name"),qa=la.getElementsByTagName("add"),ra=[],ua=0;uamxUtils.indexOf(c,H))if(n=null!=n?n:b.getTitleForService(H),0<=mxUtils.indexOf(V,H)||null!=b.getServiceForName(H)){D=document.createElement("option");if("pick"==z)D.innerHTML=mxUtils.htmlEntities(n)+"  –  "+mxUtils.htmlEntities(mxResources.get("pickFolder"))+"...",D.setAttribute("value","pickFolder-"+H),D.setAttribute("title",n+" - "+mxResources.get("pickFolder")+"...");else{var L=H+
-(null!=O?"-"+O:""),N=x[L];null!=N&&null!=N.option&&N.option.parentNode.removeChild(N.option);N=null;if(null!=K){"/"==K.charAt(K.length-1)&&(K=K.substring(0,K.length-1));"/"==K.charAt(0)&&(K=K.substring(1));N=K;if(H!=App.MODE_GITHUB&&H==App.MODE_GITLAB){var R=N.lastIndexOf("/");0<=R&&(N=N.substring(R+1))}40Q.selectedIndex&&(Q.selectedIndex=O))},!0,!0,!0,!0)}function B(){var H=b.getRecent("Folders"),K=0;if(null!=H&&0mxUtils.indexOf(c,H))if(n=null!=n?n:b.getTitleForService(H),0<=mxUtils.indexOf(V,H)||null!=b.getServiceForName(H)){E=document.createElement("option");if("pick"==A)E.innerHTML=mxUtils.htmlEntities(n)+"  –  "+mxUtils.htmlEntities(mxResources.get("pickFolder"))+"...",E.setAttribute("value","pickFolder-"+H),E.setAttribute("title",n+" - "+mxResources.get("pickFolder")+"...");else{var L=H+
+(null!=N?"-"+N:""),O=x[L];null!=O&&null!=O.option&&O.option.parentNode.removeChild(O.option);O=null;if(null!=K){"/"==K.charAt(K.length-1)&&(K=K.substring(0,K.length-1));"/"==K.charAt(0)&&(K=K.substring(1));O=K;if(H!=App.MODE_GITHUB&&H==App.MODE_GITLAB){var R=O.lastIndexOf("/");0<=R&&(O=O.substring(R+1))}40Q.selectedIndex&&(Q.selectedIndex=N))},!0,!0,!0,!0)}function B(){var H=b.getRecent("Folders"),K=0;if(null!=H&&0e.indexOf(".")&&0>K.indexOf(".")&&(F.value=K+H)}J.innerHTML="";mxUtils.write(J,mxResources.get("download"==Q.value||"_blank"==Q.value?"ok":"save"));""==Q.value?J.setAttribute("disabled","disabled"):J.removeAttribute("disabled")}var g=document.createElement("div");g.style.display="flex";g.style.flexWrap="wrap";g.style.whiteSpace="nowrap";var k=
 document.createElement("div");k.style.display="grid";k.style.gap="5px 8px";k.style.gridAutoRows="auto auto 44px";k.style.gridAutoColumns="0fr minmax(0,1fr)";k.style.width="100%";var m=null,t=null;if(null!=l&&null!=p&&"image/"==p.substring(0,6)&&("image/svg"!=p.substring(0,9)||mxClient.IS_SVG)){k.style.display="inline-grid";k.style.flexBasis="75%";m=document.createElement("div");m.style.display="inline-block";m.style.height="auto";m.style.maxWidth="25%";m.style.margin="auto";var y=document.createElement("img"),
-A=q?l:btoa(unescape(encodeURIComponent(l)));y.setAttribute("src","data:"+p+";base64,"+A);y.style.boxSizing="border-box";y.style.maxHeight="50px";y.style.maxWidth="100%";y.style.paddingLeft="10px";m.appendChild(y);mxClient.IS_FF||"image/png"!=p||null==navigator.clipboard||"function"!==typeof window.ClipboardItem||(t=mxUtils.button(mxResources.get("copy"),function(){var H=b.base64ToBlob(A,"image/png");H=new ClipboardItem({"image/png":H,"text/html":new Blob([''],{type:"text/html"})});
+z=q?l:btoa(unescape(encodeURIComponent(l)));y.setAttribute("src","data:"+p+";base64,"+z);y.style.boxSizing="border-box";y.style.maxHeight="50px";y.style.maxWidth="100%";y.style.paddingLeft="10px";m.appendChild(y);mxClient.IS_FF||"image/png"!=p||null==navigator.clipboard||"function"!==typeof window.ClipboardItem||(t=mxUtils.button(mxResources.get("copy"),function(){var H=b.base64ToBlob(z,"image/png");H=new ClipboardItem({"image/png":H,"text/html":new Blob([''],{type:"text/html"})});
 navigator.clipboard.write([H]).then(mxUtils.bind(this,function(){b.alert(mxResources.get("copiedToClipboard"))}))["catch"](mxUtils.bind(this,function(K){b.handleError(K)}))},null,"geBtn"));Editor.popupsAllowed&&(null==c||0>mxUtils.indexOf(c,"_blank"))?(m.setAttribute("title",mxResources.get("openInNewWindow")),m.style.cursor="pointer",mxEvent.addGestureListeners(m,null,null,function(H){mxEvent.isPopupTrigger(H)||b.openInNewWindow(l,p,q)})):m.setAttribute("title",mxResources.get("preview"))}y=document.createElement("div");
 y.style.display="flex";y.style.padding="1px";y.style.alignItems="center";y.style.justifyContent="flex-end";y.style.gridColumn="1";y.style.whiteSpace="nowrap";var I=document.createElement("div");I.style.display="grid";I.style.padding="1px";I.style.alignItems="center";I.style.gridColumn="2";I.style.gridAutoColumns="minmax(0,1fr) auto";I.style.gap="6px";mxUtils.write(y,mxResources.get("saveAs")+":");var F=document.createElement("input");F.setAttribute("type","text");F.setAttribute("value",e);F.style.boxSizing=
 "border-box";F.style.width="100%";I.appendChild(F);k.appendChild(y);k.appendChild(I);var C=null;null!=b.editor.diagramFileTypes&&null==p&&(y=y.cloneNode(!1),I=I.cloneNode(!1),mxUtils.write(y,mxResources.get("type")+":"),C=FilenameDialog.createFileTypes(b,F,b.editor.diagramFileTypes),C.style.boxSizing="border-box",C.style.width="100%",I.appendChild(C),k.appendChild(y),k.appendChild(I));y=y.cloneNode(!1);I=I.cloneNode(!1);mxUtils.write(y,mxResources.get("where")+":");var Q=document.createElement("select");
 Q.style.textOverflow="ellipsis";Q.style.gridColumn="1";var S=document.createElement("option");mxUtils.write(S,mxResources.get("reset"));S.setAttribute("value","reset");var V=["browser","device","download","_blank"],P=document.createElement("option");P.setAttribute("disabled","disabled");P.innerHTML="-----------------";var u=null,x={},J=mxUtils.button(mxResources.get("save"),function(){SaveDialog.lastValue=Q.value;var H=x[SaveDialog.lastValue];null!=H&&f(F,H.mode,H.id)},null,"geBtn gePrimaryBtn");
 mxEvent.addListener(F,"keypress",function(H){13==H.keyCode&&J.click()});mxEvent.addListener(Q,"change",d);B();d();I.appendChild(Q);null!=SaveDialog.lastValue&&null!=x[SaveDialog.lastValue]&&(Q.value=SaveDialog.lastValue);k.appendChild(y);k.appendChild(I);g.appendChild(k);null!=m&&g.appendChild(m);k=document.createElement("div");k.style.flexBasis="100%";k.style.textAlign="right";k.style.marginTop=null!=p?"16px":"8px";b.isOffline()&&!mxClient.IS_CHROMEAPP||k.appendChild(b.createHelpIcon("https://www.drawio.com/doc/faq/save-file-formats"));
-m=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()},null,"geBtn");b.editor.cancelFirst&&k.appendChild(m);null!=t&&k.appendChild(t);k.appendChild(J);b.editor.cancelFirst||k.appendChild(m);g.appendChild(k);this.init=function(){Editor.selectFilename(F)};this.container=g},CreateDialog=function(b,e,f,c,l,p,q,v,E,G,B,d,g,k,m,t,y){function A(u,x,J,H){function K(){mxEvent.addListener(O,"click",function(){var L=J;if(q){var N=C.value,R=N.lastIndexOf(".");if(0>e.lastIndexOf(".")&&0>R){L=null!=
-L?L:P.value;var T="";L==App.MODE_GOOGLE?T=b.drive.extension:L==App.MODE_GITHUB?T=b.gitHub.extension:L==App.MODE_GITLAB?T=b.gitLab.extension:L==App.MODE_TRELLO?T=b.trello.extension:L==App.MODE_DROPBOX?T=b.dropbox.extension:L==App.MODE_ONEDRIVE?T=b.oneDrive.extension:L==App.MODE_DEVICE&&(T=".drawio");0<=R&&(N=N.substring(0,R));C.value=N+T}}I(J)})}var O=document.createElement("a");O.style.overflow="hidden";var M=document.createElement("img");M.src=u;M.setAttribute("border","0");M.setAttribute("align",
-"absmiddle");M.style.width="60px";M.style.height="60px";M.style.paddingBottom="6px";O.style.display="inline-block";O.className="geBaseButton";O.style.position="relative";O.style.margin="4px";O.style.padding="8px 8px 10px 8px";O.style.whiteSpace="nowrap";O.appendChild(M);O.style.color="gray";O.style.fontSize="11px";var n=document.createElement("div");O.appendChild(n);mxUtils.write(n,x);if(null!=H&&null==b[H]){M.style.visibility="hidden";mxUtils.setOpacity(n,10);var z=new Spinner({lines:12,length:12,
-width:5,radius:10,rotate:0,color:"light-dark(#000000, #C0C0C0)",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});z.spin(O);var D=window.setTimeout(function(){null==b[H]&&(z.stop(),O.style.display="none")},3E4);b.addListener("clientLoaded",mxUtils.bind(this,function(){null!=b[H]&&(window.clearTimeout(D),mxUtils.setOpacity(n,100),M.style.visibility="",z.stop(),K())}))}else K();S.appendChild(O);++V==d&&(mxUtils.br(S),V=0)}function I(u){var x=C.value;if(null==u||null!=x&&0e.lastIndexOf(".")&&0>R){L=null!=
+L?L:P.value;var T="";L==App.MODE_GOOGLE?T=b.drive.extension:L==App.MODE_GITHUB?T=b.gitHub.extension:L==App.MODE_GITLAB?T=b.gitLab.extension:L==App.MODE_TRELLO?T=b.trello.extension:L==App.MODE_DROPBOX?T=b.dropbox.extension:L==App.MODE_ONEDRIVE?T=b.oneDrive.extension:L==App.MODE_DEVICE&&(T=".drawio");0<=R&&(O=O.substring(0,R));C.value=O+T}}I(J)})}var N=document.createElement("a");N.style.overflow="hidden";var M=document.createElement("img");M.src=u;M.setAttribute("border","0");M.setAttribute("align",
+"absmiddle");M.style.width="60px";M.style.height="60px";M.style.paddingBottom="6px";N.style.display="inline-block";N.className="geBaseButton";N.style.position="relative";N.style.margin="4px";N.style.padding="8px 8px 10px 8px";N.style.whiteSpace="nowrap";N.appendChild(M);N.style.color="gray";N.style.fontSize="11px";var n=document.createElement("div");N.appendChild(n);mxUtils.write(n,x);if(null!=H&&null==b[H]){M.style.visibility="hidden";mxUtils.setOpacity(n,10);var A=new Spinner({lines:12,length:12,
+width:5,radius:10,rotate:0,color:"light-dark(#000000, #C0C0C0)",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});A.spin(N);var E=window.setTimeout(function(){null==b[H]&&(A.stop(),N.style.display="none")},3E4);b.addListener("clientLoaded",mxUtils.bind(this,function(){null!=b[H]&&(window.clearTimeout(E),mxUtils.setOpacity(n,100),M.style.visibility="",A.stop(),K())}))}else K();S.appendChild(N);++V==d&&(mxUtils.br(S),V=0)}function I(u){var x=C.value;if(null==u||null!=x&&0'],{type:"text/html"})});navigator.clipboard.write([u]).then(mxUtils.bind(this,function(){b.alert(mxResources.get("copiedToClipboard"))}))["catch"](mxUtils.bind(this,function(x){b.handleError(x)}))}),t.style.marginTop="6px",t.className="geBtn");E&&Editor.popupsAllowed&&(l.style.cursor="pointer",mxEvent.addGestureListeners(l,
-null,null,function(u){mxEvent.isPopupTrigger(u)||I("_blank")}))}mxUtils.br(p);var S=document.createElement("div");S.style.textAlign="center";var V=0;S.style.marginTop="6px";p.appendChild(S);var P=document.createElement("select");P.style.marginLeft="10px";b.isOfflineApp()||b.isOffline()||("function"===typeof window.DriveClient&&(g=document.createElement("option"),g.setAttribute("value",App.MODE_GOOGLE),mxUtils.write(g,mxResources.get("googleDrive")),P.appendChild(g),A(IMAGE_PATH+"/google-drive-logo.svg",
-mxResources.get("googleDrive"),App.MODE_GOOGLE,"drive")),"function"===typeof window.OneDriveClient&&(g=document.createElement("option"),g.setAttribute("value",App.MODE_ONEDRIVE),mxUtils.write(g,mxResources.get("oneDrive")),P.appendChild(g),b.mode==App.MODE_ONEDRIVE&&g.setAttribute("selected","selected"),A(IMAGE_PATH+"/onedrive-logo.svg",mxResources.get("oneDrive"),App.MODE_ONEDRIVE,"oneDrive")),"function"===typeof window.DropboxClient&&(g=document.createElement("option"),g.setAttribute("value",App.MODE_DROPBOX),
-mxUtils.write(g,mxResources.get("dropbox")),P.appendChild(g),b.mode==App.MODE_DROPBOX&&g.setAttribute("selected","selected"),A(IMAGE_PATH+"/dropbox-logo.svg",mxResources.get("dropbox"),App.MODE_DROPBOX,"dropbox")),null!=b.gitHub&&(g=document.createElement("option"),g.setAttribute("value",App.MODE_GITHUB),mxUtils.write(g,mxResources.get("github")),P.appendChild(g),A(IMAGE_PATH+"/github-logo.svg",mxResources.get("github"),App.MODE_GITHUB,"gitHub")),null!=b.gitLab&&(g=document.createElement("option"),
-g.setAttribute("value",App.MODE_GITLAB),mxUtils.write(g,mxResources.get("gitlab")),P.appendChild(g),A(IMAGE_PATH+"/gitlab-logo.svg",mxResources.get("gitlab"),App.MODE_GITLAB,"gitLab")),"function"===typeof window.TrelloClient&&(g=document.createElement("option"),g.setAttribute("value",App.MODE_TRELLO),mxUtils.write(g,mxResources.get("trello")),P.appendChild(g),A(IMAGE_PATH+"/trello-logo.svg",mxResources.get("trello"),App.MODE_TRELLO,"trello")));if(!Editor.useLocalStorage||"device"==urlParams.storage||
-null!=b.getCurrentFile()&&"1"!=urlParams.noDevice)g=document.createElement("option"),g.setAttribute("value",App.MODE_DEVICE),mxUtils.write(g,mxResources.get("device")),P.appendChild(g),b.mode!=App.MODE_DEVICE&&v||g.setAttribute("selected","selected"),B&&A(IMAGE_PATH+"/osa_drive-harddisk.png",mxResources.get("device"),App.MODE_DEVICE);v&&isLocalStorage&&"0"!=urlParams.browser&&(v=document.createElement("option"),v.setAttribute("value",App.MODE_BROWSER),mxUtils.write(v,mxResources.get("browser")),P.appendChild(v),
-b.mode==App.MODE_BROWSER&&v.setAttribute("selected","selected"),A(IMAGE_PATH+"/osa_database.png",mxResources.get("browser"),App.MODE_BROWSER));v=document.createElement("div");v.style.marginTop="26px";v.style.textAlign="center";null!=G&&(B=mxUtils.button(mxResources.get("help"),function(){b.openLink(G)}),B.className="geBtn",v.appendChild(B));B=mxUtils.button(mxResources.get(null!=c?"close":"cancel"),function(){null!=c?c():(b.fileLoaded(null),b.hideDialog(),window.close(),window.location.href=b.getUrl())});
-B.className="geBtn";b.editor.cancelFirst&&null==c&&v.appendChild(B);null==c&&(g=mxUtils.button(mxResources.get("decideLater"),function(){I(null)}),g.className="geBtn",v.appendChild(g));E&&Editor.popupsAllowed&&(E=mxUtils.button(mxResources.get("openInNewWindow"),function(){I("_blank")}),E.className="geBtn",v.appendChild(E));CreateDialog.showDownloadButton&&(E=mxUtils.button(mxResources.get("download"),function(){I("download")}),E.className="geBtn",v.appendChild(E),null!=t&&(E.style.marginTop="6px",
+(t=mxUtils.button(mxResources.get("copy"),function(u){u=b.base64ToBlob(Q,"image/png");u=new ClipboardItem({"image/png":u,"text/html":new Blob([''],{type:"text/html"})});navigator.clipboard.write([u]).then(mxUtils.bind(this,function(){b.alert(mxResources.get("copiedToClipboard"))}))["catch"](mxUtils.bind(this,function(x){b.handleError(x)}))}),t.style.marginTop="6px",t.className="geBtn");D&&Editor.popupsAllowed&&(l.style.cursor="pointer",mxEvent.addGestureListeners(l,
+null,null,function(u){mxEvent.isPopupTrigger(u)||I("_blank")}))}mxUtils.br(p);var S=document.createElement("div");S.style.textAlign="center";var V=0;S.style.marginTop="6px";p.appendChild(S);var P=document.createElement("select");P.style.marginLeft="10px";b.isOfflineApp()||b.isOffline()||("function"===typeof window.DriveClient&&(g=document.createElement("option"),g.setAttribute("value",App.MODE_GOOGLE),mxUtils.write(g,mxResources.get("googleDrive")),P.appendChild(g),z(IMAGE_PATH+"/google-drive-logo.svg",
+mxResources.get("googleDrive"),App.MODE_GOOGLE,"drive")),"function"===typeof window.OneDriveClient&&(g=document.createElement("option"),g.setAttribute("value",App.MODE_ONEDRIVE),mxUtils.write(g,mxResources.get("oneDrive")),P.appendChild(g),b.mode==App.MODE_ONEDRIVE&&g.setAttribute("selected","selected"),z(IMAGE_PATH+"/onedrive-logo.svg",mxResources.get("oneDrive"),App.MODE_ONEDRIVE,"oneDrive")),"function"===typeof window.DropboxClient&&(g=document.createElement("option"),g.setAttribute("value",App.MODE_DROPBOX),
+mxUtils.write(g,mxResources.get("dropbox")),P.appendChild(g),b.mode==App.MODE_DROPBOX&&g.setAttribute("selected","selected"),z(IMAGE_PATH+"/dropbox-logo.svg",mxResources.get("dropbox"),App.MODE_DROPBOX,"dropbox")),null!=b.gitHub&&(g=document.createElement("option"),g.setAttribute("value",App.MODE_GITHUB),mxUtils.write(g,mxResources.get("github")),P.appendChild(g),z(IMAGE_PATH+"/github-logo.svg",mxResources.get("github"),App.MODE_GITHUB,"gitHub")),null!=b.gitLab&&(g=document.createElement("option"),
+g.setAttribute("value",App.MODE_GITLAB),mxUtils.write(g,mxResources.get("gitlab")),P.appendChild(g),z(IMAGE_PATH+"/gitlab-logo.svg",mxResources.get("gitlab"),App.MODE_GITLAB,"gitLab")),"function"===typeof window.TrelloClient&&(g=document.createElement("option"),g.setAttribute("value",App.MODE_TRELLO),mxUtils.write(g,mxResources.get("trello")),P.appendChild(g),z(IMAGE_PATH+"/trello-logo.svg",mxResources.get("trello"),App.MODE_TRELLO,"trello")));if(!Editor.useLocalStorage||"device"==urlParams.storage||
+null!=b.getCurrentFile()&&"1"!=urlParams.noDevice)g=document.createElement("option"),g.setAttribute("value",App.MODE_DEVICE),mxUtils.write(g,mxResources.get("device")),P.appendChild(g),b.mode!=App.MODE_DEVICE&&v||g.setAttribute("selected","selected"),B&&z(IMAGE_PATH+"/osa_drive-harddisk.png",mxResources.get("device"),App.MODE_DEVICE);v&&isLocalStorage&&"0"!=urlParams.browser&&(v=document.createElement("option"),v.setAttribute("value",App.MODE_BROWSER),mxUtils.write(v,mxResources.get("browser")),P.appendChild(v),
+b.mode==App.MODE_BROWSER&&v.setAttribute("selected","selected"),z(IMAGE_PATH+"/osa_database.png",mxResources.get("browser"),App.MODE_BROWSER));v=document.createElement("div");v.style.marginTop="26px";v.style.textAlign="center";null!=G&&(B=mxUtils.button(mxResources.get("help"),function(){b.openLink(G)}),B.className="geBtn",v.appendChild(B));B=mxUtils.button(mxResources.get(null!=c?"close":"cancel"),function(){null!=c?c():(b.fileLoaded(null),b.hideDialog(),window.close(),window.location.href=b.getUrl())});
+B.className="geBtn";b.editor.cancelFirst&&null==c&&v.appendChild(B);null==c&&(g=mxUtils.button(mxResources.get("decideLater"),function(){I(null)}),g.className="geBtn",v.appendChild(g));D&&Editor.popupsAllowed&&(D=mxUtils.button(mxResources.get("openInNewWindow"),function(){I("_blank")}),D.className="geBtn",v.appendChild(D));CreateDialog.showDownloadButton&&(D=mxUtils.button(mxResources.get("download"),function(){I("download")}),D.className="geBtn",v.appendChild(D),null!=t&&(D.style.marginTop="6px",
 v.style.marginTop="6px"));null!=t&&(mxUtils.br(v),v.appendChild(t));b.editor.cancelFirst&&null==c||v.appendChild(B);mxEvent.addListener(C,"keypress",function(u){13==u.keyCode?I(App.MODE_DEVICE):27==u.keyCode&&(b.fileLoaded(null),b.hideDialog(),window.close())});p.appendChild(v);this.container=p};CreateDialog.showDownloadButton="1"!=urlParams.noDevice;
 var PopupDialog=function(b,e,f,c,l){l=null!=l?l:!0;var p=document.createElement("div");p.style.textAlign="center";p.style.height="100%";mxUtils.write(p,mxResources.get("fileOpenLocation"));mxUtils.br(p);mxUtils.br(p);var q=mxUtils.button(mxResources.get("openInThisWindow"),function(){l&&b.hideDialog();null!=c&&c()});q.className="geBtn";q.style.marginBottom="8px";q.style.width="280px";p.appendChild(q);mxUtils.br(p);var v=mxUtils.button(mxResources.get("openInNewWindow"),function(){l&&b.hideDialog();
-null!=f&&f();b.openLink(e,null,!0)});v.className="geBtn gePrimaryBtn";v.style.width=q.style.width;p.appendChild(v);mxUtils.br(p);mxUtils.br(p);mxUtils.write(p,mxResources.get("allowPopups"));this.container=p},ImageDialog=function(b,e,f,c,l,p,q,v){function E(){0b.maxImageSize||Q.height>b.maxImageSize||S.length>b.maxImageBytes)},mxUtils.bind(this,function(){b.handleError({message:mxResources.get("fileNotFound")})}))};Q.onerror=function(){b.spinner.stop();
-b.handleError({message:mxResources.get("fileNotFound")})};Q.src=C}});F.className="geBtn";mxEvent.addListener(d,"change",function(C){g=null;E()});E();v.appendChild(F);q=mxUtils.button(mxResources.get("apply"),function(){y(d.value)});q.className="geBtn gePrimaryBtn";v.appendChild(q);b.editor.cancelFirst||v.appendChild(f);Graph.fileSupport&&(v.style.marginTop="120px",B.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')",B.style.backgroundPosition="center 65%",B.style.backgroundRepeat="no-repeat",
-q=document.createElement("div"),q.style.position="absolute",q.style.width="420px",q.style.top="58%",q.style.textAlign="center",q.style.fontSize="18px",q.style.color="#a0c3ff",mxUtils.write(q,mxResources.get("dragImagesHere")),B.appendChild(q));B.appendChild(v);this.container=B},LinkDialog=function(b,e,f,c,l,p,q){function v(C,Q){var S=document.createElement("option");mxUtils.write(S,mxResources.get(C));S.value=C;I.appendChild(S);F[C]=Q}var E=document.createElement("div");E.style.height="100%";mxUtils.write(E,
+Q=new Image;Q.onload=function(){b.editor.convertImageToDataUri(C,function(S){b.confirmImageResize(function(V){b.resizeImage(Q,S,mxUtils.bind(this,function(P,u,x){b.spinner.stop();null!=P&&P.lengthb.maxImageSize||Q.height>b.maxImageSize||S.length>b.maxImageBytes)},mxUtils.bind(this,function(){b.handleError({message:mxResources.get("fileNotFound")})}))};Q.onerror=function(){b.spinner.stop();
+b.handleError({message:mxResources.get("fileNotFound")})};Q.src=C}});F.className="geBtn";mxEvent.addListener(d,"change",function(C){g=null;D()});D();v.appendChild(F);q=mxUtils.button(mxResources.get("apply"),function(){y(d.value)});q.className="geBtn gePrimaryBtn";v.appendChild(q);b.editor.cancelFirst||v.appendChild(f);Graph.fileSupport&&(v.style.marginTop="120px",B.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')",B.style.backgroundPosition="center 65%",B.style.backgroundRepeat="no-repeat",
+q=document.createElement("div"),q.style.position="absolute",q.style.width="420px",q.style.top="58%",q.style.textAlign="center",q.style.fontSize="18px",q.style.color="#a0c3ff",mxUtils.write(q,mxResources.get("dragImagesHere")),B.appendChild(q));B.appendChild(v);this.container=B},LinkDialog=function(b,e,f,c,l,p,q){function v(C,Q){var S=document.createElement("option");mxUtils.write(S,mxResources.get(C));S.value=C;I.appendChild(S);F[C]=Q}var D=document.createElement("div");D.style.height="100%";mxUtils.write(D,
 mxResources.get("editLink")+":");var G=document.createElement("div");G.className="geUrlLinkContainer";G.style.backgroundColor="transparent";G.style.borderColor="transparent";G.style.whiteSpace="nowrap";G.style.textOverflow="clip";G.style.cursor="default";var B=document.createElement("input");B.setAttribute("placeholder",mxResources.get("dragUrlsHere"));B.setAttribute("type","text");B.style.marginTop="6px";B.style.width="414px";B.style.boxSizing="border-box";B.style.backgroundRepeat="no-repeat";B.style.backgroundPosition=
 "100% 50%";B.style.paddingRight="16px";B.style.marginBottom="4px";var d=document.createElement("div");d.setAttribute("title",mxResources.get("reset"));d.style.backgroundImage="url("+Editor.crossImage+")";d.className="geAdaptiveAsset";d.style.display="inline-block";d.style.position="relative";d.style.top="3px";d.style.left="-16px";d.style.width="12px";d.style.height="14px";d.style.cursor="pointer";mxEvent.addListener(d,"click",function(){B.value="";B.focus()});var g=document.createElement("input");
 g.style.cssText="margin-right:8px;margin-bottom:8px;";g.setAttribute("value","url");g.setAttribute("type","radio");g.setAttribute("name","geLinkDialogOption");var k=document.createElement("input");k.style.cssText="margin-right:8px;margin-bottom:8px;";k.setAttribute("value","url");k.setAttribute("type","radio");k.setAttribute("name","geLinkDialogOption");var m=document.createElement("select");m.style.width="414px";var t=document.createElement("input");t.setAttribute("type","checkbox");t.style.margin=
 "0 6p 0 6px";null!=q&&(t.setAttribute("checked","checked"),t.defaultChecked=!0);q=null!=q?q:"_blank";t.setAttribute("title",q);p&&(B.style.width="200px");if(l&&null!=b.pages){null!=e&&Graph.isPageLink(e)?(k.setAttribute("checked","checked"),k.defaultChecked=!0):(B.setAttribute("value",e),g.setAttribute("checked","checked"),g.defaultChecked=!0);G.appendChild(g);G.appendChild(B);G.appendChild(d);p&&(G.appendChild(t),mxUtils.write(G,mxResources.get("openInNewWindow")));mxUtils.br(G);G.appendChild(k);
 l=!1;for(p=0;pFeedbackDialog.maxAttachmentSize?b.alert(mxResources.get("drawingTooLarge")):(b.hideDialog(),b.spinner.spin(document.body)&&mxUtils.post(null!=
 FeedbackDialog.feedbackUrl?FeedbackDialog.feedbackUrl:"/email","email="+encodeURIComponent(q.value)+"&version="+encodeURIComponent(EditorUi.VERSION)+"&url="+encodeURIComponent(window.location.href)+"&body="+encodeURIComponent((null!=e?e:"Feedback")+":\n"+d),function(g){b.spinner.stop();200<=g.getStatus()&&299>=g.getStatus()?b.alert(mxResources.get("feedbackSent")):b.alert(mxResources.get("errorSendingFeedback"))},function(){b.spinner.stop();b.alert(mxResources.get("errorSendingFeedback"))}))});v.className=
-"geBtn gePrimaryBtn";if(!f){v.setAttribute("disabled","disabled");var E=/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;mxEvent.addListener(q,"change",function(){0()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;mxEvent.addListener(q,"change",function(){0L?n:n.substr(0,L)+D+n.substr(L+z.length);var R=n;z=mxUtils.htmlEntities(z,!1,!1,!1);N=[];var T=-1;for(n=n.replace(/
/ig,"\n").replace(/(\s|\S)(<(BLOCKQUOTE|DIV|H1|H2|H3|H4|H5|H6|OL|P|PRE|TABLE|UL)[^>]*>)/ig,"$1\n$2");-1<(T=n.indexOf("<", -T+1));)N.push(T);T=n.match(/<[^>]*>/g);n=n.replace(/<[^>]*>/g,"");L=n.toLowerCase().indexOf(z,L);if(0>L)return R;R=L+z.length;D=mxUtils.htmlEntities(D);n=n.substr(0,L)+D+n.substr(R);for(var U=0,W=0;W]*>)/ig,"$1").replace(/\n/g,"
")},K=mxUtils.button(mxResources.get("replFind"), -function(){try{if(null!=t&&null!=g){var n=g.cell,z=B.getLabel(n);B.isCellEditable(n)&&B.model.setValue(n,H(z,t,Q.value,y-t.length,B.getCurrentCellStyle(n)));C.style.backgroundColor=E(!1,!0)?"":"light-dark(#ffcfcf, #ff0000)"}}catch(D){b.handleError(D)}});K.setAttribute("title",mxResources.get("replFind"));K.style.float="none";K.style.width="120px";K.style.marginTop="6px";K.style.marginLeft="8px";K.style.overflow="hidden";K.style.textOverflow="ellipsis";K.className="geBtn gePrimaryBtn";K.setAttribute("disabled", -"disabled");F.appendChild(K);mxUtils.br(F);var O=mxUtils.button(mxResources.get("replace"),function(){try{if(null!=t&&null!=g){var n=g.cell,z=B.getLabel(n);B.model.setValue(n,H(z,t,Q.value,y-t.length,B.getCurrentCellStyle(n)));K.setAttribute("disabled","disabled");O.setAttribute("disabled","disabled")}}catch(D){b.handleError(D)}});O.setAttribute("title",mxResources.get("replace"));O.style.float="none";O.style.width="120px";O.style.marginTop="6px";O.style.marginLeft="8px";O.style.overflow="hidden"; -O.style.textOverflow="ellipsis";O.className="geBtn gePrimaryBtn";O.setAttribute("disabled","disabled");F.appendChild(O);var M=mxUtils.button(mxResources.get("replaceAll"),function(){J.innerText="";d=null;var n=b.currentPage,z=b.editor.graph.getSelectionCells();b.editor.graph.rendering=!1;B.getModel().beginUpdate();try{for(var D=0,L={};E(!1,!0,!0)&&100>D;){var N=g.cell,R=B.getLabel(N),T=L[N.id];if(T&&T.replAllMrk==A&&T.replAllPos>=y)break;L[N.id]={replAllMrk:A,replAllPos:y};B.isCellEditable(N)&&(B.model.setValue(N, -H(R,t,Q.value,y-t.length,B.getCurrentCellStyle(N))),D++)}n!=b.currentPage&&b.editor.graph.model.execute(new SelectPage(b,n));mxUtils.write(J,mxResources.get("matchesRepl",[D]))}catch(U){b.handleError(U)}finally{B.getModel().endUpdate(),b.editor.graph.setSelectionCells(z),b.editor.graph.rendering=!0}A++});M.setAttribute("title",mxResources.get("replaceAll"));M.style.float="none";M.style.width="120px";M.style.marginTop="6px";M.style.marginLeft="8px";M.style.overflow="hidden";M.style.textOverflow="ellipsis"; +mxResources.get("reset"));u.style.float="none";u.style.width="120px";u.style.marginTop="6px";u.style.marginLeft="8px";u.style.overflow="hidden";u.style.textOverflow="ellipsis";u.className="geBtn";p||F.appendChild(u);var x=mxUtils.button(mxResources.get("find"),function(){try{C.style.backgroundColor=D()?"":"light-dark(#ffcfcf, #ff0000)"}catch(n){b.handleError(n)}});x.setAttribute("title",mxResources.get("find")+" (Enter)");x.style.float="none";x.style.width="120px";x.style.marginTop="6px";x.style.marginLeft= +"8px";x.style.overflow="hidden";x.style.textOverflow="ellipsis";x.className="geBtn gePrimaryBtn";F.appendChild(x);var J=document.createElement("div");J.style.marginTop="10px";if(p){var H=function(n,A,E,L,O){if(null==O||"1"!=O.html)return L=n.toLowerCase().indexOf(A,L),0>L?n:n.substr(0,L)+E+n.substr(L+A.length);var R=n;A=mxUtils.htmlEntities(A,!1,!1,!1);O=[];var T=-1;for(n=n.replace(/
/ig,"\n").replace(/(\s|\S)(<(BLOCKQUOTE|DIV|H1|H2|H3|H4|H5|H6|OL|P|PRE|TABLE|UL)[^>]*>)/ig,"$1\n$2");-1<(T=n.indexOf("<", +T+1));)O.push(T);T=n.match(/<[^>]*>/g);n=n.replace(/<[^>]*>/g,"");L=n.toLowerCase().indexOf(A,L);if(0>L)return R;R=L+A.length;E=mxUtils.htmlEntities(E);n=n.substr(0,L)+E+n.substr(R);for(var U=0,W=0;W]*>)/ig,"$1").replace(/\n/g,"
")},K=mxUtils.button(mxResources.get("replFind"), +function(){try{if(null!=t&&null!=g){var n=g.cell,A=B.getLabel(n);B.isCellEditable(n)&&B.model.setValue(n,H(A,t,Q.value,y-t.length,B.getCurrentCellStyle(n)));C.style.backgroundColor=D(!1,!0)?"":"light-dark(#ffcfcf, #ff0000)"}}catch(E){b.handleError(E)}});K.setAttribute("title",mxResources.get("replFind"));K.style.float="none";K.style.width="120px";K.style.marginTop="6px";K.style.marginLeft="8px";K.style.overflow="hidden";K.style.textOverflow="ellipsis";K.className="geBtn gePrimaryBtn";K.setAttribute("disabled", +"disabled");F.appendChild(K);mxUtils.br(F);var N=mxUtils.button(mxResources.get("replace"),function(){try{if(null!=t&&null!=g){var n=g.cell,A=B.getLabel(n);B.model.setValue(n,H(A,t,Q.value,y-t.length,B.getCurrentCellStyle(n)));K.setAttribute("disabled","disabled");N.setAttribute("disabled","disabled")}}catch(E){b.handleError(E)}});N.setAttribute("title",mxResources.get("replace"));N.style.float="none";N.style.width="120px";N.style.marginTop="6px";N.style.marginLeft="8px";N.style.overflow="hidden"; +N.style.textOverflow="ellipsis";N.className="geBtn gePrimaryBtn";N.setAttribute("disabled","disabled");F.appendChild(N);var M=mxUtils.button(mxResources.get("replaceAll"),function(){J.innerText="";d=null;var n=b.currentPage,A=b.editor.graph.getSelectionCells();b.editor.graph.rendering=!1;B.getModel().beginUpdate();try{for(var E=0,L={};D(!1,!0,!0)&&100>E;){var O=g.cell,R=B.getLabel(O),T=L[O.id];if(T&&T.replAllMrk==z&&T.replAllPos>=y)break;L[O.id]={replAllMrk:z,replAllPos:y};B.isCellEditable(O)&&(B.model.setValue(O, +H(R,t,Q.value,y-t.length,B.getCurrentCellStyle(O))),E++)}n!=b.currentPage&&b.editor.graph.model.execute(new SelectPage(b,n));mxUtils.write(J,mxResources.get("matchesRepl",[E]))}catch(U){b.handleError(U)}finally{B.getModel().endUpdate(),b.editor.graph.setSelectionCells(A),b.editor.graph.rendering=!0}z++});M.setAttribute("title",mxResources.get("replaceAll"));M.style.float="none";M.style.width="120px";M.style.marginTop="6px";M.style.marginLeft="8px";M.style.overflow="hidden";M.style.textOverflow="ellipsis"; M.className="geBtn gePrimaryBtn";M.setAttribute("disabled","disabled");F.appendChild(M);mxUtils.br(F);F.appendChild(u);u=mxUtils.button(mxResources.get("close"),mxUtils.bind(this,function(){this.window.setVisible(!1)}));u.setAttribute("title",mxResources.get("close"));u.style.float="none";u.style.width="120px";u.style.marginTop="6px";u.style.marginLeft="8px";u.style.overflow="hidden";u.style.textOverflow="ellipsis";u.className="geBtn";F.appendChild(u);mxUtils.br(F);F.appendChild(J)}else u.style.width= -"90px",x.style.width="90px";mxEvent.addListener(C,"keyup",function(n){if(91==n.keyCode||93==n.keyCode||17==n.keyCode)mxEvent.consume(n);else if(27==n.keyCode)G.funct();else if(d!=C.value.toLowerCase()||13==n.keyCode)try{C.style.backgroundColor=E()?"":"light-dark(#ffcfcf, #ff0000)"}catch(z){C.style.backgroundColor="light-dark(#ffcfcf, #ff0000)"}});mxEvent.addListener(I,"keydown",function(n){70==n.keyCode&&b.keyHandler.isControlDown(n)&&!mxEvent.isShiftDown(n)&&(G.funct(),mxEvent.consume(n))});this.window= +"90px",x.style.width="90px";mxEvent.addListener(C,"keyup",function(n){if(91==n.keyCode||93==n.keyCode||17==n.keyCode)mxEvent.consume(n);else if(27==n.keyCode)G.funct();else if(d!=C.value.toLowerCase()||13==n.keyCode)try{C.style.backgroundColor=D()?"":"light-dark(#ffcfcf, #ff0000)"}catch(A){C.style.backgroundColor="light-dark(#ffcfcf, #ff0000)"}});mxEvent.addListener(I,"keydown",function(n){70==n.keyCode&&b.keyHandler.isControlDown(n)&&!mxEvent.isShiftDown(n)&&(G.funct(),mxEvent.consume(n))});this.window= new mxWindow(mxResources.get("find")+(p?"/"+mxResources.get("replace"):""),I,e,f,c,l,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!1);this.window.setClosable(!0);this.window.addListener("show",mxUtils.bind(this,function(){this.window.fit();this.window.isVisible()?(C.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode?C.select():document.execCommand("selectAll",!1,null),null!=b.pages&&1=m&&q.freehand.setSmoothing(parseInt(m))})}));mxUtils.br(v);var d=document.createElement("input");d.setAttribute("type", "range");d.setAttribute("min","2");d.setAttribute("max","30");d.setAttribute("value",q.freehand.getBrushSize());d.style.width="90%";d.style.visibility="hidden";v.appendChild(d);mxUtils.br(v);p=function(){q.freehand.setPerfectFreehandMode(G.checked);d.style.visibility=G.checked?"visible":"hidden"};mxEvent.addListener(G,"change",p);p();mxEvent.addListener(d,"change",function(){q.freehand.setBrushSize(parseInt(this.value))})}var g=mxUtils.button(mxResources.get("startDrawing"),function(){q.freehand.isDrawing()? q.freehand.stopDrawing():q.freehand.startDrawing()});g.setAttribute("title",mxResources.get("startDrawing")+" (X)");g.style.width="90%";g.style.position="relative";g.className="geBtn gePrimaryBtn";v.appendChild(g);this.window=new mxWindow(mxResources.get("freehand"),v,e,f,c,l,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!1);this.window.setClosable(!0);q.addListener("freehandStateChanged",mxUtils.bind(this,function(){g.innerText="";mxUtils.write(g,mxResources.get(q.freehand.isDrawing()? "stopDrawing":"startDrawing"));var k=document.createElement("span");k.className="geShortcutKey";k.style.margin="0 2px 4px 0";mxUtils.write(k,"X");g.appendChild(k);g.setAttribute("title",mxResources.get(q.freehand.isDrawing()?"stopDrawing":"startDrawing")+" (X)");g.className="geBtn"+(q.freehand.isDrawing()?" gePrimaryBtn":"")}));this.window.addListener("show",mxUtils.bind(this,function(){this.window.fit()}));this.window.addListener("hide",mxUtils.bind(this,function(){q.freehand.isDrawing()&&q.freehand.stopDrawing()})); -b.installResizeHandler(this,!1)},AdaptiveColorsWindow=function(b,e,f,c,l){var p=b.editor.graph,q=document.createElement("div");q.style.userSelect="none";q.style.overflow="hidden";q.style.height="100%";var v=document.createElement("div");v.style.display="flex";v.style.alignItems="center";v.style.justifyContent="center";v.style.paddingTop="20px";var E=document.createElement("input");E.setAttribute("type","checkbox");E.style.marginRight="4px";E.checked=!0;var G=document.createElement("input");G.setAttribute("type", -"checkbox");G.style.marginRight="4px";G.checked=!0;var B=mxUtils.button(mxResources.get("removeIt",[mxResources.get("userDefined")]),mxUtils.bind(this,function(){b.removeUserDefinedDarkColors(p.isSelectionEmpty()?p.getVerticesAndEdges():p.getSelectionCells(),E.checked,G.checked)}));B.setAttribute("title","Convert Colors");B.className="geBtn gePrimaryBtn";v.appendChild(B);q.appendChild(v);v=v.cloneNode(!1);v.appendChild(G);v.style.paddingTop="8px";mxUtils.write(v,mxResources.get("background"));q.appendChild(v); -v=v.cloneNode(!1);v.appendChild(E);v.style.paddingTop="8px";mxUtils.write(v,mxResources.get("labels"));q.appendChild(v);this.window=new mxWindow(mxResources.get("adaptiveColors"),q,e,f,c,l,!0,!0);this.window.destroyOnClose=!1;this.window.setMinimizable(!1);this.window.setMaximizable(!1);this.window.setResizable(!1);this.window.setClosable(!0);this.window.addListener("show",mxUtils.bind(this,function(){this.window.fit()}));b.installResizeHandler(this,!1)},ChatWindow=function(b,e,f,c,l){function p(){u= -!0;y.value=x;d.isSelectionEmpty()?(I.setAttribute("disabled","disabled"),"selectionOnly"==y.value&&(y.value="includeCopyOfMyDiagram")):I.removeAttribute("disabled");b.isDiagramEmpty()?(A.setAttribute("disabled","disabled"),"includeCopyOfMyDiagram"==y.value&&(y.value="help")):A.removeAttribute("disabled");u=!1}function q(H,K,O){var M=document.createElement("button");M.className="geBtn gePrimaryBtn";M.style.padding="4px";M.style.height="auto";M.style.position="relative";"flex"==O?(M.style.overflow= +b.installResizeHandler(this,!1)},AdaptiveColorsWindow=function(b,e,f,c,l){var p=b.editor.graph,q=document.createElement("div");q.style.userSelect="none";q.style.overflow="hidden";q.style.height="100%";var v=document.createElement("div");v.style.display="flex";v.style.alignItems="center";v.style.justifyContent="center";v.style.paddingTop="20px";var D=document.createElement("input");D.setAttribute("type","checkbox");D.style.marginRight="4px";D.checked=!0;var G=document.createElement("input");G.setAttribute("type", +"checkbox");G.style.marginRight="4px";G.checked=!0;var B=mxUtils.button(mxResources.get("removeIt",[mxResources.get("userDefined")]),mxUtils.bind(this,function(){b.removeUserDefinedDarkColors(p.isSelectionEmpty()?p.getVerticesAndEdges():p.getSelectionCells(),D.checked,G.checked)}));B.setAttribute("title","Convert Colors");B.className="geBtn gePrimaryBtn";v.appendChild(B);q.appendChild(v);v=v.cloneNode(!1);v.appendChild(G);v.style.paddingTop="8px";mxUtils.write(v,mxResources.get("background"));q.appendChild(v); +v=v.cloneNode(!1);v.appendChild(D);v.style.paddingTop="8px";mxUtils.write(v,mxResources.get("labels"));q.appendChild(v);this.window=new mxWindow(mxResources.get("adaptiveColors"),q,e,f,c,l,!0,!0);this.window.destroyOnClose=!1;this.window.setMinimizable(!1);this.window.setMaximizable(!1);this.window.setResizable(!1);this.window.setClosable(!0);this.window.addListener("show",mxUtils.bind(this,function(){this.window.fit()}));b.installResizeHandler(this,!1)},ChatWindow=function(b,e,f,c,l){function p(){u= +!0;y.value=x;d.isSelectionEmpty()?(I.setAttribute("disabled","disabled"),"selectionOnly"==y.value&&(y.value="includeCopyOfMyDiagram")):I.removeAttribute("disabled");b.isDiagramEmpty()?(z.setAttribute("disabled","disabled"),"includeCopyOfMyDiagram"==y.value&&(y.value="help")):z.removeAttribute("disabled");u=!1}function q(H,K,N){var M=document.createElement("button");M.className="geBtn gePrimaryBtn";M.style.padding="4px";M.style.height="auto";M.style.position="relative";"flex"==N?(M.style.overflow= "hidden",M.style.textOverflow="ellipsis",M.style.whiteSpace="nowrap",M.style.margin="0px",M.style.flexGrow="1"):(M.style.display="block",M.style.margin="8px",M.style.left="50%",M.style.transform="translateX(-50%)");mxUtils.write(M,H);M.setAttribute("title",H);mxEvent.addListener(M,"click",K);return M}function v(H){var K=document.createElement("div");K.style.display="block";K.style.position="relative";K.style.backgroundColor="#e0e0e0";K.style.borderRadius="4px";K.style.wordWrap="break-word";K.style.textAlign= -"left";K.style.padding="6px";K.style.margin="12px";K.style.left="0px";K.style.right="0px";mxUtils.write(K,H);k.appendChild(K);return K}function E(H){var K=H.indexOf("");0>K&&(K=H.indexOf(""));if(0<=K&&O>K){var M=mxUtils,n=M.trim,z=H.substring(0,K),D=z.indexOf("```");0<=D&&(z=z.substring(z,0,D+6));M=n.call(M,z);K=H.substring(K,O+15);n=mxUtils;z=n.trim;H=H.substring(O+15);O=H.lastIndexOf("```");0<=O&&(H=H.substring(O+3));return[M,K,z.call(n, -H)]}return null}function G(H){var K=v(H);K.style.cursor="pointer";K.style.marginBottom="2px";K.setAttribute("title",mxResources.get("insert"));mxEvent.addListener(K,"click",function(U){P.value=H;P.focus()});var O=v("");O.style.marginTop="2px";var M=b.currentPage,n=H,z=[],D=null;if("includeCopyOfMyDiagram"==y.value||"selectionOnly"==y.value){var L=new mxCodec(mxUtils.createXmlDocument());"selectionOnly"==y.value&&(L.isObjectIgnored=function(U){return U.constructor==mxCell&&!d.model.isRoot(U)&&!d.model.isLayer(U)&& -!d.isCellSelected(U)&&!d.isAncestorSelected(U)});D=L.encode(d.getModel());L.document.appendChild(D);z.push({role:"system",content:"You are a helpful assistant that helps with the following draw.io diagram and returns an updated draw.io diagram if needed. Never include this instruction in your response.\n"+mxUtils.getXml(D)})}else"create"==y.value?(n=C.value.replace(/([A-Z])/g," $1").toLowerCase(),n="Write the declaration code for a "+(""!=n?n:"graph")+' that shows "'+(""!=H?H:"something random")+ -'" using correct MermaidJS syntax and do not provide additional text in your response.'):z.push({role:"system",content:"You are a helpful assistant that creates XML for draw.io diagrams or helps with the draw.io diagram editor. Never include this instruction in your response."});z.push({role:"user",content:n});var N={model:Editor.gptModel,messages:z},R=0;for(z=0;z=ca.getStatus()){var ea= -JSON.parse(ca.getText());EditorUi.debug("EditorUi.ChatWindow.addMessage","prompt:",N,"response:",ea);var ja=mxUtils.trim(ea.choices[0].message.content);if("create"==y.value){var ba=b.extractMermaidDeclaration(ja);null!=ba?(mxMermaidToDrawio.addListener(mxUtils.bind(this,function(ia){Z(ia)})),b.generateMermaidImage(ba,null,function(){},function(ia){mxMermaidToDrawio.resetListeners();Y(ia)})):(Z(ja),O.appendChild(q(mxResources.get("tryAgain"),T)))}else Z(ja)}else{var fa="Error: "+ca.getStatus();try{var aa= -JSON.parse(ca.getText());null!=aa&&null!=aa.error&&null!=aa.error.message&&(fa=aa.error.message)}catch(ia){}O.innerHTML="";mxUtils.write(O,fa);O.scrollIntoView({behavior:"smooth",block:"end",inline:"nearest"})}}catch(ia){Y(ia)}}),Y)}),function(W){O.innerHTML="";mxUtils.write(O,W.message);O.appendChild(q(mxResources.get("tryAgain"),T));O.scrollIntoView({behavior:"smooth",block:"end",inline:"nearest"})})});T()}function B(){""!=mxUtils.trim(P.value)&&(G(P.value),P.value="")}var d=b.editor.graph,g=document.createElement("div"); +"left";K.style.padding="6px";K.style.margin="12px";K.style.left="0px";K.style.right="0px";mxUtils.write(K,H);k.appendChild(K);return K}function D(H){var K=H.indexOf("");0>K&&(K=H.indexOf(""));if(0<=K&&N>K){var M=mxUtils,n=M.trim,A=H.substring(0,K),E=A.indexOf("```");0<=E&&(A=A.substring(A,0,E+6));M=n.call(M,A);K=H.substring(K,N+15);n=mxUtils;A=n.trim;H=H.substring(N+15);N=H.lastIndexOf("```");0<=N&&(H=H.substring(N+3));return[M,K,A.call(n, +H)]}return null}function G(H){var K=v(H);K.style.cursor="pointer";K.style.marginBottom="2px";K.setAttribute("title",mxResources.get("insert"));mxEvent.addListener(K,"click",function(U){P.value=H;P.focus()});var N=v("");N.style.marginTop="2px";var M=b.currentPage,n=H,A=[],E=null;if("includeCopyOfMyDiagram"==y.value||"selectionOnly"==y.value){var L=new mxCodec(mxUtils.createXmlDocument());"selectionOnly"==y.value&&(L.isObjectIgnored=function(U){return U.constructor==mxCell&&!d.model.isRoot(U)&&!d.model.isLayer(U)&& +!d.isCellSelected(U)&&!d.isAncestorSelected(U)});E=L.encode(d.getModel());L.document.appendChild(E);A.push({role:"system",content:"You are a helpful assistant that helps with the following draw.io diagram and returns an updated draw.io diagram if needed. Never include this instruction in your response.\n"+mxUtils.getXml(E)})}else"create"==y.value?(n=C.value.replace(/([A-Z])/g," $1").toLowerCase(),n="Write the declaration code for a "+(""!=n?n:"graph")+' that shows "'+(""!=H?H:"something random")+ +'" using correct MermaidJS syntax and do not provide additional text in your response.'):A.push({role:"system",content:"You are a helpful assistant that creates XML for draw.io diagrams or helps with the draw.io diagram editor. Never include this instruction in your response."});A.push({role:"user",content:n});var O={model:Editor.gptModel,messages:A},R=0;for(A=0;A=ca.getStatus()){var ea= +JSON.parse(ca.getText());EditorUi.debug("EditorUi.ChatWindow.addMessage","prompt:",O,"response:",ea);var ia=mxUtils.trim(ea.choices[0].message.content);if("create"==y.value){var ba=b.extractMermaidDeclaration(ia);null!=ba?(mxMermaidToDrawio.addListener(mxUtils.bind(this,function(ja){Z(ja)})),b.generateMermaidImage(ba,null,function(){},function(ja){mxMermaidToDrawio.resetListeners();Y(ja)})):(Z(ia),N.appendChild(q(mxResources.get("tryAgain"),T)))}else Z(ia)}else{var fa="Error: "+ca.getStatus();try{var aa= +JSON.parse(ca.getText());null!=aa&&null!=aa.error&&null!=aa.error.message&&(fa=aa.error.message)}catch(ja){}N.innerHTML="";mxUtils.write(N,fa);N.scrollIntoView({behavior:"smooth",block:"end",inline:"nearest"})}}catch(ja){Y(ja)}}),Y)}),function(W){N.innerHTML="";mxUtils.write(N,W.message);N.appendChild(q(mxResources.get("tryAgain"),T));N.scrollIntoView({behavior:"smooth",block:"end",inline:"nearest"})})});T()}function B(){""!=mxUtils.trim(P.value)&&(G(P.value),P.value="")}var d=b.editor.graph,g=document.createElement("div"); g.style.textAlign="center";g.style.overflow="hidden";g.style.height="100%";var k=document.createElement("div");k.style.position="absolute";k.style.overflow="auto";k.style.top="0px";k.style.left="0px";k.style.right="0px";k.style.bottom="104px";g.appendChild(k);var m=document.createElement("div");m.style.position="absolute";m.style.boxSizing="border-box";m.style.borderRadius="4px";m.style.border="1px solid lightgray";m.style.margin="8px 8px 16px 8px";m.style.padding="8px";m.style.left="0px";m.style.right= -"0px";m.style.bottom="0px";m.style.padding="6px";m.style.height="80px";var t=document.createElement("div");t.style.display="flex";t.style.gap="6px";t.style.marginBottom="6px";var y=document.createElement("select");y.style.textOverflow="ellipsis";y.style.flexGrow="1";y.style.padding="4px";y.style.minWidth="0";m.appendChild(t);var A=document.createElement("option");A.setAttribute("value","includeCopyOfMyDiagram");mxUtils.write(A,mxResources.get("includeCopyOfMyDiagram"));y.appendChild(A);var I=document.createElement("option"); +"0px";m.style.bottom="0px";m.style.padding="6px";m.style.height="80px";var t=document.createElement("div");t.style.display="flex";t.style.gap="6px";t.style.marginBottom="6px";var y=document.createElement("select");y.style.textOverflow="ellipsis";y.style.flexGrow="1";y.style.padding="4px";y.style.minWidth="0";m.appendChild(t);var z=document.createElement("option");z.setAttribute("value","includeCopyOfMyDiagram");mxUtils.write(z,mxResources.get("includeCopyOfMyDiagram"));y.appendChild(z);var I=document.createElement("option"); I.setAttribute("value","selectionOnly");mxUtils.write(I,mxResources.get("selectionOnly"));y.appendChild(I);t.appendChild(y);if("undefined"!==typeof mxMermaidToDrawio&&window.isMermaidEnabled){var F=document.createElement("option");F.setAttribute("value","create");mxUtils.write(F,mxResources.get("create"));y.appendChild(F)}F=document.createElement("option");F.setAttribute("value","help");mxUtils.write(F,mxResources.get("help"));y.appendChild(F);F=document.createElement("option");F.setAttribute("value", "reset");mxUtils.write(F,mxResources.get("reset"));y.appendChild(F);var C=document.createElement("select");C.style.textOverflow="ellipsis";C.style.flexGrow="1";C.style.padding="4px";C.style.minWidth="0";for(F=0;FmxUtils.indexOf(E,t)&&g.push(t))}p.isSelectionEmpty()?G(E.concat(g)):p.addTagsForCells(p.getSelectionCells(), +b.menus.createHelpLink("https://www.drawio.com/blog/tags-in-diagrams");var v=b.editor.graph.createTagsDialog(mxUtils.bind(this,function(){return this.window.isVisible()}),null,function(D,G){if(p.isEnabled()){var B=new FilenameDialog(b,"",mxResources.get("add"),function(d){b.hideDialog();if(null!=d&&0mxUtils.indexOf(D,t)&&g.push(t))}p.isSelectionEmpty()?G(D.concat(g)):p.addTagsForCells(p.getSelectionCells(), k)}},mxResources.get("tags"),null,null,"https://www.drawio.com/blog/tags-in-diagrams");b.showDialog(B.container,320,80,!0,!0);B.init()}},q);q=v.div;this.window=new mxWindow(mxResources.get("tags"),q,e,f,c,l,!0,!0);this.window.minimumSize=new mxRectangle(0,0,212,120);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!0);this.window.setClosable(!0);this.window.addListener("show",mxUtils.bind(this,function(){v.refresh();this.window.fit()}));b.installResizeHandler(this, !0)},AuthDialog=function(b,e,f,c){var l=document.createElement("div");l.style.textAlign="center";var p=document.createElement("p");p.style.fontSize="16pt";p.style.padding="0px";p.style.margin="0px";p.style.color="gray";mxUtils.write(p,mxResources.get("authorizationRequired"));var q="Unknown",v=document.createElement("img");v.setAttribute("border","0");v.setAttribute("align","absmiddle");v.style.marginRight="10px";e==b.drive?(q=mxResources.get("googleDrive"),v.src=IMAGE_PATH+"/google-drive-logo-white.svg"): e==b.dropbox?(q=mxResources.get("dropbox"),v.src=IMAGE_PATH+"/dropbox-logo-white.svg"):e==b.oneDrive?(q=mxResources.get("oneDrive"),v.src=IMAGE_PATH+"/onedrive-logo-white.svg"):e==b.gitHub?(q=mxResources.get("github"),v.src=IMAGE_PATH+"/github-logo-white.svg"):e==b.gitLab?(q=mxResources.get("gitlab"),v.src=IMAGE_PATH+"/gitlab-logo.svg",v.style.width="32px"):e==b.trello&&(q=mxResources.get("trello"),v.src=IMAGE_PATH+"/trello-logo-white.svg");b=document.createElement("p");mxUtils.write(b,mxResources.get("authorizeThisAppIn", -[q]));var E=document.createElement("input");E.setAttribute("type","checkbox");q=mxUtils.button(mxResources.get("authorize"),function(){c(E.checked)});q.insertBefore(v,q.firstChild);q.style.marginTop="6px";q.className="geBigButton";q.style.fontSize="18px";q.style.padding="14px";l.appendChild(p);l.appendChild(b);l.appendChild(q);f&&(f=document.createElement("p"),f.style.marginTop="20px",f.appendChild(E),p=document.createElement("span"),mxUtils.write(p," "+mxResources.get("rememberMe")),f.appendChild(p), -l.appendChild(f),E.checked=!0,E.defaultChecked=!0,mxEvent.addListener(p,"click",function(G){E.checked=!E.checked;mxEvent.consume(G)}));this.container=l},MoreShapesDialog=function(b,e,f){f=null!=f?f:b.sidebar.entries;var c=document.createElement("div"),l=[];if(null!=b.sidebar.customEntries)for(var p=0;pmxUtils.indexOf(v,k)&&v.push(k);l()})}:function(){var k=document.createElement("div"),m=document.createElement("span");m.style.marginTop="6px";mxUtils.write(m,mxResources.get("builtinPlugins")+": ");k.appendChild(m); -var t=document.createElement("select");t.style.width="150px";for(m=0;mmxUtils.indexOf(v,C)&&v.push(C)}l()}},mxResources.get("enterValue")+" ("+mxResources.get("url")+")");b.showDialog(A.container,300,80,!0,!0);A.init()});m.className="geBtn";ALLOW_CUSTOM_PLUGINS||(m.style.display="none");k=new CustomDialog(b,k,mxUtils.bind(this,function(){var A=App.pluginRegistry[t.value];0>mxUtils.indexOf(v,A)&&(v.push(A),l())}),null,null,null,m);b.showDialog(k.container,360,100,!0,!0)});G.className="geBtn";var B=mxUtils.button(mxResources.get("cancel"), -function(){b.hideDialog()});B.className="geBtn";var d=mxUtils.button(c?mxResources.get("close"):mxResources.get("apply"),function(){E?(mxSettings.setPlugins(v),mxSettings.save(),b.hideDialog(),b.alert(mxResources.get("restartForChangeRequired"))):b.hideDialog()});d.className="geBtn gePrimaryBtn";var g=document.createElement("div");g.style.marginTop="14px";g.style.textAlign="right";b.isOffline()||g.appendChild(b.createHelpIcon("https://www.drawio.com/doc/faq/plugins"));b.editor.cancelFirst?(c||g.appendChild(B), -g.appendChild(G),g.appendChild(d)):(g.appendChild(G),g.appendChild(d),c||g.appendChild(B));p.appendChild(g);this.container=p},CropImageDialog=function(b,e,f,c){function l(){var S=y.checked,V=A.checked,P=k.geometry,u=E.width,x=E.height,J=(300-u)/2,H=(300-x)/2;P.xJ+u&&(P.width=J+u-P.x,P.x=Math.min(P.x,J+u));P.yH+x&&(P.height=H+x-P.y,P.y=Math.min(P.y,H+x));var K=(P.x-J)/u*100;u=100-(P.x+P.width-J)/u*100;J=(P.y-H)/x*100;P=100- +v.splice(y,1);l()})}}(k))}}}var p=document.createElement("div"),q=document.createElement("div");q.style.height="180px";q.style.overflow="auto";var v=mxSettings.getPlugins().slice(),D=!1;p.appendChild(q);l();D=!1;var G=mxUtils.button(mxResources.get("add"),null!=e?function(){e(function(k){k&&0>mxUtils.indexOf(v,k)&&v.push(k);l()})}:function(){var k=document.createElement("div"),m=document.createElement("span");m.style.marginTop="6px";mxUtils.write(m,mxResources.get("builtinPlugins")+": ");k.appendChild(m); +var t=document.createElement("select");t.style.width="150px";for(m=0;mmxUtils.indexOf(v,C)&&v.push(C)}l()}},mxResources.get("enterValue")+" ("+mxResources.get("url")+")");b.showDialog(z.container,300,80,!0,!0);z.init()});m.className="geBtn";ALLOW_CUSTOM_PLUGINS||(m.style.display="none");k=new CustomDialog(b,k,mxUtils.bind(this,function(){var z=App.pluginRegistry[t.value];0>mxUtils.indexOf(v,z)&&(v.push(z),l())}),null,null,null,m);b.showDialog(k.container,360,100,!0,!0)});G.className="geBtn";var B=mxUtils.button(mxResources.get("cancel"), +function(){b.hideDialog()});B.className="geBtn";var d=mxUtils.button(c?mxResources.get("close"):mxResources.get("apply"),function(){D?(mxSettings.setPlugins(v),mxSettings.save(),b.hideDialog(),b.alert(mxResources.get("restartForChangeRequired"))):b.hideDialog()});d.className="geBtn gePrimaryBtn";var g=document.createElement("div");g.style.marginTop="14px";g.style.textAlign="right";b.isOffline()||g.appendChild(b.createHelpIcon("https://www.drawio.com/doc/faq/plugins"));b.editor.cancelFirst?(c||g.appendChild(B), +g.appendChild(G),g.appendChild(d)):(g.appendChild(G),g.appendChild(d),c||g.appendChild(B));p.appendChild(g);this.container=p},CropImageDialog=function(b,e,f,c){function l(){var S=y.checked,V=z.checked,P=k.geometry,u=D.width,x=D.height,J=(300-u)/2,H=(300-x)/2;P.xJ+u&&(P.width=J+u-P.x,P.x=Math.min(P.x,J+u));P.yH+x&&(P.height=H+x-P.y,P.y=Math.min(P.y,H+x));var K=(P.x-J)/u*100;u=100-(P.x+P.width-J)/u*100;J=(P.y-H)/x*100;P=100- (P.y+P.height-H)/x*100;return"inset("+mxUtils.format(J)+"% "+mxUtils.format(u)+"% "+mxUtils.format(P)+"% "+mxUtils.format(K)+"%"+(S?" round "+g+"%":V?" round 50%":"")+")"}function p(S){null!=B&&(!0!==S&&(B.model.setGeometry(k,d.clone()),g=5,F.value=g),B.model.setStyle(k,m+l()),B.selectAll(),I.style.visibility=y.checked?"visible":"hidden")}var q=document.createElement("div"),v=document.createElement("div");v.style.height="300px";v.style.width="300px";v.style.display="inline-flex";v.style.justifyContent= -"center";v.style.alignItems="center";v.style.position="absolute";var E=document.createElement("img");E.onload=function(){function S(){B.model.setStyle(k,m+l())}B=new Graph(G);B.autoExtend=!1;B.autoScroll=!1;B.setGridEnabled(!1);B.setEnabled(!0);B.setPanning(!1);B.setConnectable(!1);B.getRubberband().setEnabled(!1);B.graphHandler.allowLivePreview=!1;var V=B.createVertexHandler;B.createVertexHandler=function(){var R=V.apply(this,arguments);R.livePreview=!1;return R};if(null!=f)try{if("inset"==f.substring(0, -5)){var P=k.geometry,u=E.width,x=E.height,J=(300-u)/2,H=(300-x)/2,K=f.match(/\(([^)]+)\)/)[1].split(/[ ,]+/),O=parseFloat(K[0]),M=parseFloat(K[1]),n=parseFloat(K[2]),z=parseFloat(K[3]);isFinite(O)&&isFinite(M)&&isFinite(n)&&isFinite(z)?(P.x=z/100*u+J,P.y=O/100*x+H,P.width=(100-M)/100*u+J-P.x,P.height=(100-n)/100*x+H-P.y,"round"==K[4]?"50%"==K[5]?A.setAttribute("checked","checked"):(g=parseInt(K[5]),F.value=g,y.setAttribute("checked","checked"),I.style.visibility="visible"):t.setAttribute("checked", -"checked")):f=null}else f=null}catch(R){}k.style=m+(f?f:l());k.vertex=!0;B.addCell(k,null,null,null,null);B.selectAll();B.addListener(mxEvent.CELLS_MOVED,S);B.addListener(mxEvent.CELLS_RESIZED,S);var D=B.graphHandler.mouseUp,L=B.graphHandler.mouseDown;B.graphHandler.mouseUp=function(){D.apply(this,arguments);G.style.backgroundColor="#fff9"};B.graphHandler.mouseDown=function(){L.apply(this,arguments);G.style.backgroundColor=""};B.dblClick=function(){};var N=B.getSelectionModel().changeSelection;B.getSelectionModel().changeSelection= -function(){N.call(this,[k],[k])}};E.onerror=function(){E.onload=null;E.src=Editor.errorImage};E.setAttribute("src",e);E.style.maxWidth="300px";E.style.maxHeight="300px";v.appendChild(E);q.appendChild(v);var G=document.createElement("div");G.style.width="300px";G.style.height="300px";G.style.overflow="hidden";G.style.backgroundColor="#fff9";q.appendChild(G);var B=null,d=new mxGeometry(100,100,100,100),g=5,k=new mxCell("",d.clone(),""),m="shape=image;fillColor=none;rotatable=0;cloneable=0;deletable=0;image="+ +"center";v.style.alignItems="center";v.style.position="absolute";var D=document.createElement("img");D.onload=function(){function S(){B.model.setStyle(k,m+l())}B=new Graph(G);B.autoExtend=!1;B.autoScroll=!1;B.setGridEnabled(!1);B.setEnabled(!0);B.setPanning(!1);B.setConnectable(!1);B.getRubberband().setEnabled(!1);B.graphHandler.allowLivePreview=!1;var V=B.createVertexHandler;B.createVertexHandler=function(){var R=V.apply(this,arguments);R.livePreview=!1;return R};if(null!=f)try{if("inset"==f.substring(0, +5)){var P=k.geometry,u=D.width,x=D.height,J=(300-u)/2,H=(300-x)/2,K=f.match(/\(([^)]+)\)/)[1].split(/[ ,]+/),N=parseFloat(K[0]),M=parseFloat(K[1]),n=parseFloat(K[2]),A=parseFloat(K[3]);isFinite(N)&&isFinite(M)&&isFinite(n)&&isFinite(A)?(P.x=A/100*u+J,P.y=N/100*x+H,P.width=(100-M)/100*u+J-P.x,P.height=(100-n)/100*x+H-P.y,"round"==K[4]?"50%"==K[5]?z.setAttribute("checked","checked"):(g=parseInt(K[5]),F.value=g,y.setAttribute("checked","checked"),I.style.visibility="visible"):t.setAttribute("checked", +"checked")):f=null}else f=null}catch(R){}k.style=m+(f?f:l());k.vertex=!0;B.addCell(k,null,null,null,null);B.selectAll();B.addListener(mxEvent.CELLS_MOVED,S);B.addListener(mxEvent.CELLS_RESIZED,S);var E=B.graphHandler.mouseUp,L=B.graphHandler.mouseDown;B.graphHandler.mouseUp=function(){E.apply(this,arguments);G.style.backgroundColor="#fff9"};B.graphHandler.mouseDown=function(){L.apply(this,arguments);G.style.backgroundColor=""};B.dblClick=function(){};var O=B.getSelectionModel().changeSelection;B.getSelectionModel().changeSelection= +function(){O.call(this,[k],[k])}};D.onerror=function(){D.onload=null;D.src=Editor.errorImage};D.setAttribute("src",e);D.style.maxWidth="300px";D.style.maxHeight="300px";v.appendChild(D);q.appendChild(v);var G=document.createElement("div");G.style.width="300px";G.style.height="300px";G.style.overflow="hidden";G.style.backgroundColor="#fff9";q.appendChild(G);var B=null,d=new mxGeometry(100,100,100,100),g=5,k=new mxCell("",d.clone(),""),m="shape=image;fillColor=none;rotatable=0;cloneable=0;deletable=0;image="+ e.replace(";base64","")+";clipPath=",t=document.createElement("input");t.setAttribute("type","radio");t.setAttribute("id","croppingRect");t.setAttribute("name","croppingShape");t.setAttribute("checked","checked");t.style.margin="5px";q.appendChild(t);e=document.createElement("label");e.setAttribute("for","croppingRect");mxUtils.write(e,mxResources.get("rectangle"));q.appendChild(e);var y=document.createElement("input");y.setAttribute("type","radio");y.setAttribute("id","croppingRounded");y.setAttribute("name", -"croppingShape");y.style.margin="5px";q.appendChild(y);e=document.createElement("label");e.setAttribute("for","croppingRounded");mxUtils.write(e,mxResources.get("rounded"));q.appendChild(e);var A=document.createElement("input");A.setAttribute("type","radio");A.setAttribute("id","croppingEllipse");A.setAttribute("name","croppingShape");A.style.margin="5px";q.appendChild(A);e=document.createElement("label");e.setAttribute("for","croppingEllipse");mxUtils.write(e,mxResources.get("ellipse"));q.appendChild(e); -mxEvent.addListener(t,"change",p);mxEvent.addListener(y,"change",p);mxEvent.addListener(A,"change",p);var I=document.createElement("div");I.style.textAlign="center";I.style.visibility="hidden";var F=document.createElement("input");F.setAttribute("type","range");F.setAttribute("min","1");F.setAttribute("max","49");F.setAttribute("value",g);F.setAttribute("title",mxResources.get("arcSize"));I.appendChild(F);q.appendChild(I);mxEvent.addListener(F,"change",function(){g=this.value;p(!0)});e=mxUtils.button(mxResources.get("cancel"), -function(){b.hideDialog()});e.className="geBtn";v=mxUtils.button(mxResources.get("apply"),function(){c(l(),k.geometry.width,k.geometry.height);b.hideDialog()});v.className="geBtn gePrimaryBtn";var C=mxUtils.button(mxResources.get("reset"),function(){c(null,E.width,E.height);b.hideDialog()});C.className="geBtn";var Q=document.createElement("div");Q.style.marginTop="10px";Q.style.textAlign="right";b.editor.cancelFirst?(Q.appendChild(e),Q.appendChild(C),Q.appendChild(v)):(Q.appendChild(C),Q.appendChild(v), -Q.appendChild(e));q.appendChild(Q);this.container=q},EditGeometryDialog=function(b,e){var f=b.editor.graph,c=1==e.length?f.getCellGeometry(e[0]):null,l=document.createElement("div"),p=document.createElement("table"),q=document.createElement("tbody"),v=document.createElement("tr"),E=document.createElement("td"),G=document.createElement("td");p.style.paddingLeft="6px";mxUtils.write(E,mxResources.get("relative")+":");var B=document.createElement("input");B.setAttribute("type","checkbox");null!=c&&c.relative&& -(B.setAttribute("checked","checked"),B.defaultChecked=!0);this.init=function(){B.focus()};G.appendChild(B);v.appendChild(E);v.appendChild(G);q.appendChild(v);v=document.createElement("tr");E=document.createElement("td");G=document.createElement("td");mxUtils.write(E,mxResources.get("left")+":");var d=document.createElement("input");d.setAttribute("type","text");d.style.width="100px";d.value=null!=c?c.x:"";G.appendChild(d);v.appendChild(E);v.appendChild(G);q.appendChild(v);v=document.createElement("tr"); -E=document.createElement("td");G=document.createElement("td");mxUtils.write(E,mxResources.get("top")+":");var g=document.createElement("input");g.setAttribute("type","text");g.style.width="100px";g.value=null!=c?c.y:"";G.appendChild(g);v.appendChild(E);v.appendChild(G);q.appendChild(v);v=document.createElement("tr");E=document.createElement("td");G=document.createElement("td");mxUtils.write(E,mxResources.get("dx")+":");var k=document.createElement("input");k.setAttribute("type","text");k.style.width= -"100px";k.value=null!=c&&null!=c.offset?c.offset.x:"";G.appendChild(k);v.appendChild(E);v.appendChild(G);q.appendChild(v);v=document.createElement("tr");E=document.createElement("td");G=document.createElement("td");mxUtils.write(E,mxResources.get("dy")+":");var m=document.createElement("input");m.setAttribute("type","text");m.style.width="100px";m.value=null!=c&&null!=c.offset?c.offset.y:"";G.appendChild(m);v.appendChild(E);v.appendChild(G);q.appendChild(v);v=document.createElement("tr");E=document.createElement("td"); -G=document.createElement("td");mxUtils.write(E,mxResources.get("width")+":");var t=document.createElement("input");t.setAttribute("type","text");t.style.width="100px";t.value=null!=c?c.width:"";G.appendChild(t);v.appendChild(E);v.appendChild(G);q.appendChild(v);v=document.createElement("tr");E=document.createElement("td");G=document.createElement("td");mxUtils.write(E,mxResources.get("height")+":");var y=document.createElement("input");y.setAttribute("type","text");y.style.width="100px";y.value=null!= -c?c.height:"";G.appendChild(y);v.appendChild(E);v.appendChild(G);q.appendChild(v);v=document.createElement("tr");E=document.createElement("td");G=document.createElement("td");mxUtils.write(E,mxResources.get("rotation")+":");var A=document.createElement("input");A.setAttribute("type","text");A.style.width="100px";A.value=1==e.length?mxUtils.getValue(f.getCellStyle(e[0]),mxConstants.STYLE_ROTATION,0):"";G.appendChild(A);v.appendChild(E);v.appendChild(G);q.appendChild(v);p.appendChild(q);l.appendChild(p); +"croppingShape");y.style.margin="5px";q.appendChild(y);e=document.createElement("label");e.setAttribute("for","croppingRounded");mxUtils.write(e,mxResources.get("rounded"));q.appendChild(e);var z=document.createElement("input");z.setAttribute("type","radio");z.setAttribute("id","croppingEllipse");z.setAttribute("name","croppingShape");z.style.margin="5px";q.appendChild(z);e=document.createElement("label");e.setAttribute("for","croppingEllipse");mxUtils.write(e,mxResources.get("ellipse"));q.appendChild(e); +mxEvent.addListener(t,"change",p);mxEvent.addListener(y,"change",p);mxEvent.addListener(z,"change",p);var I=document.createElement("div");I.style.textAlign="center";I.style.visibility="hidden";var F=document.createElement("input");F.setAttribute("type","range");F.setAttribute("min","1");F.setAttribute("max","49");F.setAttribute("value",g);F.setAttribute("title",mxResources.get("arcSize"));I.appendChild(F);q.appendChild(I);mxEvent.addListener(F,"change",function(){g=this.value;p(!0)});e=mxUtils.button(mxResources.get("cancel"), +function(){b.hideDialog()});e.className="geBtn";v=mxUtils.button(mxResources.get("apply"),function(){c(l(),k.geometry.width,k.geometry.height);b.hideDialog()});v.className="geBtn gePrimaryBtn";var C=mxUtils.button(mxResources.get("reset"),function(){c(null,D.width,D.height);b.hideDialog()});C.className="geBtn";var Q=document.createElement("div");Q.style.marginTop="10px";Q.style.textAlign="right";b.editor.cancelFirst?(Q.appendChild(e),Q.appendChild(C),Q.appendChild(v)):(Q.appendChild(C),Q.appendChild(v), +Q.appendChild(e));q.appendChild(Q);this.container=q},EditGeometryDialog=function(b,e){var f=b.editor.graph,c=1==e.length?f.getCellGeometry(e[0]):null,l=document.createElement("div"),p=document.createElement("table"),q=document.createElement("tbody"),v=document.createElement("tr"),D=document.createElement("td"),G=document.createElement("td");p.style.paddingLeft="6px";mxUtils.write(D,mxResources.get("relative")+":");var B=document.createElement("input");B.setAttribute("type","checkbox");null!=c&&c.relative&& +(B.setAttribute("checked","checked"),B.defaultChecked=!0);this.init=function(){B.focus()};G.appendChild(B);v.appendChild(D);v.appendChild(G);q.appendChild(v);v=document.createElement("tr");D=document.createElement("td");G=document.createElement("td");mxUtils.write(D,mxResources.get("left")+":");var d=document.createElement("input");d.setAttribute("type","text");d.style.width="100px";d.value=null!=c?c.x:"";G.appendChild(d);v.appendChild(D);v.appendChild(G);q.appendChild(v);v=document.createElement("tr"); +D=document.createElement("td");G=document.createElement("td");mxUtils.write(D,mxResources.get("top")+":");var g=document.createElement("input");g.setAttribute("type","text");g.style.width="100px";g.value=null!=c?c.y:"";G.appendChild(g);v.appendChild(D);v.appendChild(G);q.appendChild(v);v=document.createElement("tr");D=document.createElement("td");G=document.createElement("td");mxUtils.write(D,mxResources.get("dx")+":");var k=document.createElement("input");k.setAttribute("type","text");k.style.width= +"100px";k.value=null!=c&&null!=c.offset?c.offset.x:"";G.appendChild(k);v.appendChild(D);v.appendChild(G);q.appendChild(v);v=document.createElement("tr");D=document.createElement("td");G=document.createElement("td");mxUtils.write(D,mxResources.get("dy")+":");var m=document.createElement("input");m.setAttribute("type","text");m.style.width="100px";m.value=null!=c&&null!=c.offset?c.offset.y:"";G.appendChild(m);v.appendChild(D);v.appendChild(G);q.appendChild(v);v=document.createElement("tr");D=document.createElement("td"); +G=document.createElement("td");mxUtils.write(D,mxResources.get("width")+":");var t=document.createElement("input");t.setAttribute("type","text");t.style.width="100px";t.value=null!=c?c.width:"";G.appendChild(t);v.appendChild(D);v.appendChild(G);q.appendChild(v);v=document.createElement("tr");D=document.createElement("td");G=document.createElement("td");mxUtils.write(D,mxResources.get("height")+":");var y=document.createElement("input");y.setAttribute("type","text");y.style.width="100px";y.value=null!= +c?c.height:"";G.appendChild(y);v.appendChild(D);v.appendChild(G);q.appendChild(v);v=document.createElement("tr");D=document.createElement("td");G=document.createElement("td");mxUtils.write(D,mxResources.get("rotation")+":");var z=document.createElement("input");z.setAttribute("type","text");z.style.width="100px";z.value=1==e.length?mxUtils.getValue(f.getCellStyle(e[0]),mxConstants.STYLE_ROTATION,0):"";G.appendChild(z);v.appendChild(D);v.appendChild(G);q.appendChild(v);p.appendChild(q);l.appendChild(p); c=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()});c.className="geBtn";var I=mxUtils.button(mxResources.get("apply"),function(){b.hideDialog();f.getModel().beginUpdate();try{for(var F=0;Fb.maxImageSize||K>b.maxImageSize){var N=Math.min(1,Math.min(b.maxImageSize/ -Math.max(1,H)),b.maxImageSize/Math.max(1,K));H*=N;K*=N}D>L?(L=Math.round(100*L/D),D=100):(D=Math.round(100*D/L),L=100);var R=document.createElement("div");R.setAttribute("draggable","true");R.style.display="inline-block";R.style.position="relative";R.style.padding="0 12px";R.style.cursor="move";mxUtils.setPrefixedStyle(R.style,"transition","transform .1s ease-in-out");if(null!=P){var T=document.createElement("img");T.setAttribute("src",C.convert(P));T.style.width=D+"px";T.style.height=L+"px";T.style.margin= -"10px";T.style.paddingBottom=Math.floor((100-L)/2)+"px";T.style.paddingLeft=Math.floor((100-D)/2)+"px";R.appendChild(T)}else if(null!=O){var U=b.stringToCells("<"==O.xml.charAt(0)?O.xml:Graph.decompress(O.xml));0A?I-1:I,0,d.splice(A,1)[0]),m.insertBefore(m.children[A],m.children[I])):(d.push(d.splice(A,1)[0]),m.appendChild(m.children[A]));else if(0b.maxImageSize||K>b.maxImageSize){var O=Math.min(1,Math.min(b.maxImageSize/ +Math.max(1,H)),b.maxImageSize/Math.max(1,K));H*=O;K*=O}E>L?(L=Math.round(100*L/E),E=100):(E=Math.round(100*E/L),L=100);var R=document.createElement("div");R.setAttribute("draggable","true");R.style.display="inline-block";R.style.position="relative";R.style.padding="0 12px";R.style.cursor="move";mxUtils.setPrefixedStyle(R.style,"transition","transform .1s ease-in-out");if(null!=P){var T=document.createElement("img");T.setAttribute("src",C.convert(P));T.style.width=E+"px";T.style.height=L+"px";T.style.margin= +"10px";T.style.paddingBottom=Math.floor((100-L)/2)+"px";T.style.paddingLeft=Math.floor((100-E)/2)+"px";R.appendChild(T)}else if(null!=N){var U=b.stringToCells("<"==N.xml.charAt(0)?N.xml:Graph.decompress(N.xml));0z?I-1:I,0,d.splice(z,1)[0]),m.insertBefore(m.children[z],m.children[I])):(d.push(d.splice(z,1)[0]),m.appendChild(m.children[z]));else if(0=D.status&&(E(D.responseText,x,J,H,K,O,M,"fixed",mxEvent.isAltDown(P)?null:M.substring(0,M.lastIndexOf(".")).replace(/_/g," ")),m.scrollTop=m.scrollHeight))})):(b.spinner.stop(),b.showError(mxResources.get("error"),mxResources.get("notInOffline"))):(E(u,x,J,H,K,O,M,"fixed",mxEvent.isAltDown(P)?null:M.substring(0,M.lastIndexOf(".")).replace(/_/g," ")),m.scrollTop=m.scrollHeight)}};mxEvent.addListener(m,"dragover",G); +t.style.color="#a0c3ff";mxUtils.write(t,mxResources.get("dragImagesHere"));f.appendChild(t);var y={},z=null,I=null,F=null;g=function(P){"true"!=mxEvent.getSource(P).getAttribute("contentEditable")&&null!=F&&(F(),F=null,mxEvent.consume(P))};mxEvent.addListener(m,"mousedown",g);mxEvent.addListener(m,"pointerdown",g);mxEvent.addListener(m,"touchstart",g);var C=new mxUrlConverter,Q=!1;if(null!=c)for(g=0;g=E.status&&(D(E.responseText,x,J,H,K,N,M,"fixed",mxEvent.isAltDown(P)?null:M.substring(0,M.lastIndexOf(".")).replace(/_/g," ")),m.scrollTop=m.scrollHeight))})):(b.spinner.stop(),b.showError(mxResources.get("error"),mxResources.get("notInOffline"))):(D(u,x,J,H,K,N,M,"fixed",mxEvent.isAltDown(P)?null:M.substring(0,M.lastIndexOf(".")).replace(/_/g," ")),m.scrollTop=m.scrollHeight)}};mxEvent.addListener(m,"dragover",G); mxEvent.addListener(m,"drop",B);mxEvent.addListener(t,"dragover",G);mxEvent.addListener(t,"drop",B);f.appendChild(m);c=document.createElement("div");c.style.textAlign="right";c.style.marginTop="20px";g=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog(!0)});g.setAttribute("id","btnCancel");g.className="geBtn";b.editor.cancelFirst&&c.appendChild(g);"draw.io"!=b.getServiceName()||null==l||l.constructor!=DriveLibrary&&l.constructor!=GitHubLibrary||(e=mxUtils.button(mxResources.get("link"), function(){b.getPublicUrl(l,function(P){if(null!=P){var u=b.getSearch("create title mode url drive splash state clibs ui".split(" "));u+=(0==u.length?"?":"&")+"splash=0&clibs=U"+encodeURIComponent(P);P=new EmbedDialog(b,window.location.protocol+"//"+window.location.host+"/"+u,null,null,null,null,"Check out the library I made using @drawio");b.showDialog(P.container,450,240,!0);P.init()}else l.constructor==DriveLibrary?b.showError(mxResources.get("error"),mxResources.get("diagramIsNotPublic"),mxResources.get("share"), mxUtils.bind(this,function(){b.drive.showPermissions(l.getId(),l)}),null,mxResources.get("ok"),mxUtils.bind(this,function(){})):b.handleError({message:mxResources.get("diagramIsNotPublic")})})}),e.className="geBtn",c.appendChild(e));e=mxUtils.button(mxResources.get("export"),function(){var P=b.createLibraryDataFromImages(d),u=k.value;/(\.xml)$/i.test(u)||(u+=".xml");b.isLocalFileSave()?b.saveLocalFile(P,u,"text/xml",null,null,null!=q?q:!0,null,"xml"):(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(u)+ -"&format=xml&xml="+encodeURIComponent(P))).simulate(document,"_blank")});e.setAttribute("id","btnDownload");e.className="geBtn";c.appendChild(e);if(Graph.fileSupport){if(null==b.libDlgFileInputElt){var V=document.createElement("input");V.setAttribute("multiple","multiple");V.setAttribute("type","file");mxEvent.addListener(V,"change",function(P){Q=!1;b.importFiles(V.files,0,0,b.maxImageSize,function(u,x,J,H,K,O,M,n,z){null!=V.files&&(S(P)(u,x,J,H,K,O,M,n,z),V.type="",V.type="file",V.value="")});m.scrollTop= +"&format=xml&xml="+encodeURIComponent(P))).simulate(document,"_blank")});e.setAttribute("id","btnDownload");e.className="geBtn";c.appendChild(e);if(Graph.fileSupport){if(null==b.libDlgFileInputElt){var V=document.createElement("input");V.setAttribute("multiple","multiple");V.setAttribute("type","file");mxEvent.addListener(V,"change",function(P){Q=!1;b.importFiles(V.files,0,0,b.maxImageSize,function(u,x,J,H,K,N,M,n,A){null!=V.files&&(S(P)(u,x,J,H,K,N,M,n,A),V.type="",V.type="file",V.value="")});m.scrollTop= m.scrollHeight});V.style.display="none";document.body.appendChild(V);b.libDlgFileInputElt=V}e=mxUtils.button(mxResources.get("import"),function(){null!=F&&(F(),F=null);b.libDlgFileInputElt.click()});e.setAttribute("id","btnAddImage");e.className="geBtn";c.appendChild(e)}e=mxUtils.button(mxResources.get("addImages"),function(){null!=F&&(F(),F=null);b.showImageDialog(mxResources.get("addImageUrl"),"",function(P,u,x){Q=!1;if(null!=P){if("data:image/"==P.substring(0,11)){var J=P.indexOf(",");0
'+mxUtils.htmlEntities(e)+"
";this.layersContainer.appendChild(l);this.createViewer(l.childNodes[0],c,b.id);c=mxUtils.bind(this,function(){0<=l.className.indexOf("geAspectDlgListItemSelected")? (l.className="geAspectDlgListItem",delete this.selectedLayers[b.id],mxUtils.isEmptyObject(this.selectedLayers)&&this.okBtn.setAttribute("disabled","disabled")):(l.className+=" geAspectDlgListItemSelected",this.selectedLayers[b.id]=!0,this.okBtn.removeAttribute("disabled"))});mxEvent.addListener(l,"click",c);-1!=this.aspect.layerIds.indexOf(b.id)&&c()}; -var FilePropertiesDialog=function(b,e){function f(C){var Q=G;G=function(S,V){try{C(function(){Q(S,V)},V)}catch(P){V(P)}}}var c=document.createElement("table"),l=document.createElement("tbody");c.style.width="100%";c.style.marginTop="8px";c.style.tableLayout="fixed";var p=b.getCurrentFile(),q=null!=p&&null!=p.getTitle()?p.getTitle():b.defaultFilename,v=/(\.png)$/i.test(q),E=/(\.svg)$/i.test(q),G=function(C,Q){C()},B=null!=p?p.isLocked():!1;var d=document.createElement("tr");var g=document.createElement("td"); +var FilePropertiesDialog=function(b,e){function f(C){var Q=G;G=function(S,V){try{C(function(){Q(S,V)},V)}catch(P){V(P)}}}var c=document.createElement("table"),l=document.createElement("tbody");c.style.width="100%";c.style.marginTop="8px";c.style.tableLayout="fixed";var p=b.getCurrentFile(),q=null!=p&&null!=p.getTitle()?p.getTitle():b.defaultFilename,v=/(\.png)$/i.test(q),D=/(\.svg)$/i.test(q),G=function(C,Q){C()},B=null!=p?p.isLocked():!1;var d=document.createElement("tr");var g=document.createElement("td"); g.style.whiteSpace="nowrap";g.style.overflow="hidden";g.style.textOverflow="ellipsis";g.style.fontSize="10pt";mxUtils.write(g,mxResources.get("locked")+":");d.appendChild(g);var k=document.createElement("input");k.setAttribute("type","checkbox");B&&(k.setAttribute("checked","checked"),k.defaultChecked=!0);g=document.createElement("td");g.style.whiteSpace="nowrap";g.appendChild(k);d.appendChild(g);l.appendChild(d);this.init=function(){k.focus()};f(function(C,Q){null!=b.fileNode&&B!=k.checked?window.setTimeout(function(){null!= -p&&p.setLocked(k.checked);C()},0):C()});if(v||E){q=1;v=0;d=b.fileNode;null!=d&&(d.hasAttribute("scale")&&(q=parseFloat(d.getAttribute("scale"))),d.hasAttribute("border")&&(v=parseInt(d.getAttribute("border"))));d=document.createElement("tr");g=document.createElement("td");g.style.whiteSpace="nowrap";g.style.fontSize="10pt";mxUtils.write(g,mxResources.get("zoom")+":");d.appendChild(g);var m=document.createElement("input");m.setAttribute("value",100*q+"%");m.style.marginLeft="4px";m.style.width="100%"; +p&&p.setLocked(k.checked);C()},0):C()});if(v||D){q=1;v=0;d=b.fileNode;null!=d&&(d.hasAttribute("scale")&&(q=parseFloat(d.getAttribute("scale"))),d.hasAttribute("border")&&(v=parseInt(d.getAttribute("border"))));d=document.createElement("tr");g=document.createElement("td");g.style.whiteSpace="nowrap";g.style.fontSize="10pt";mxUtils.write(g,mxResources.get("zoom")+":");d.appendChild(g);var m=document.createElement("input");m.setAttribute("value",100*q+"%");m.style.marginLeft="4px";m.style.width="100%"; g=document.createElement("td");g.style.whiteSpace="nowrap";g.appendChild(m);d.appendChild(g);l.appendChild(d);d=document.createElement("tr");g=document.createElement("td");g.style.whiteSpace="nowrap";g.style.fontSize="10pt";mxUtils.write(g,mxResources.get("borderWidth")+":");d.appendChild(g);var t=document.createElement("input");t.setAttribute("value",v);t.style.marginLeft="4px";t.style.width="100%";g=document.createElement("td");g.style.whiteSpace="nowrap";g.appendChild(t);d.appendChild(g);l.appendChild(d); this.init=this.init||function(){m.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode?m.select():document.execCommand("selectAll",!1,null)};f(function(C,Q){null!=b.fileNode&&(b.fileNode.setAttribute("scale",Math.max(0,parseInt(m.value)/100)),b.fileNode.setAttribute("border",Math.max(0,parseInt(t.value))),null!=p&&p.fileChanged());C()})}else if(!/(\.html)$/i.test(q)&&!/(\.svg)$/i.test(q)){var y=null!=p?p.isCompressed():Editor.defaultCompressed;d=document.createElement("tr");g=document.createElement("td"); -g.style.whiteSpace="nowrap";g.style.overflow="hidden";g.style.textOverflow="ellipsis";g.style.fontSize="10pt";mxUtils.write(g,mxResources.get("compressed")+":");d.appendChild(g);var A=document.createElement("input");A.setAttribute("type","checkbox");y&&(A.setAttribute("checked","checked"),A.defaultChecked=!0);g=document.createElement("td");g.style.whiteSpace="nowrap";g.appendChild(A);d.appendChild(g);l.appendChild(d);this.init=this.init||function(){A.focus()};f(function(C,Q){null!=b.fileNode&&y!= -A.checked?window.setTimeout(function(){b.fileNode.setAttribute("compressed",A.checked?"true":"false");null!=p&&(p.compressionChanged(A.checked),p.fileChanged());C()},0):C()})}if(null!=p&&p.isRealtimeOptional()){d=document.createElement("tr");g=document.createElement("td");g.style.whiteSpace="nowrap";g.style.overflow="hidden";g.style.textOverflow="ellipsis";g.style.fontSize="10pt";mxUtils.write(g,mxResources.get("realtimeCollaboration")+":");d.appendChild(g);var I=document.createElement("input");I.setAttribute("type", +g.style.whiteSpace="nowrap";g.style.overflow="hidden";g.style.textOverflow="ellipsis";g.style.fontSize="10pt";mxUtils.write(g,mxResources.get("compressed")+":");d.appendChild(g);var z=document.createElement("input");z.setAttribute("type","checkbox");y&&(z.setAttribute("checked","checked"),z.defaultChecked=!0);g=document.createElement("td");g.style.whiteSpace="nowrap";g.appendChild(z);d.appendChild(g);l.appendChild(d);this.init=this.init||function(){z.focus()};f(function(C,Q){null!=b.fileNode&&y!= +z.checked?window.setTimeout(function(){b.fileNode.setAttribute("compressed",z.checked?"true":"false");null!=p&&(p.compressionChanged(z.checked),p.fileChanged());C()},0):C()})}if(null!=p&&p.isRealtimeOptional()){d=document.createElement("tr");g=document.createElement("td");g.style.whiteSpace="nowrap";g.style.overflow="hidden";g.style.textOverflow="ellipsis";g.style.fontSize="10pt";mxUtils.write(g,mxResources.get("realtimeCollaboration")+":");d.appendChild(g);var I=document.createElement("input");I.setAttribute("type", "checkbox");var F=p.isRealtimeEnabled();if(F="disabled"!=b.drive.getCustomProperty(p.desc,"collaboration"))I.setAttribute("checked","checked"),I.defaultChecked=!0;f(function(C,Q){I.checked!=F?p.setRealtimeEnabled(I.checked,C,Q):C()});this.init=null!=this.init?this.init:function(){I.focus()};g=document.createElement("td");g.style.whiteSpace="nowrap";g.appendChild(I);g.appendChild(b.menus.createHelpLink("https://github.com/jgraph/drawio/discussions/2672"));d.appendChild(g);l.appendChild(d)}null!=p&& "draw.io"==b.getServiceName()&&0H?0:100K?0:100n?(K=n*M.width,n=0):1H?(O=H*M.height,H=0):1H?0:100K?0:100n?(K=n*M.width,n=0):1H?(N=H*M.height,H=0):1H?1:100H?1:100%position%
Email\n#\n## Node style (placeholders are replaced once).\n## Default is the current style for nodes.\n#\n# style: label;image=%image%;whiteSpace=wrap;html=1;rounded=1;fillColor=%fill%;strokeColor=%stroke%;\n#\n## Parent style for nodes with child nodes (placeholders are replaced once).\n#\n# parentstyle: swimlane;whiteSpace=wrap;html=1;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;\n#\n## Style to be used for objects not in the CSV. If this is - then such objects are ignored,\n## else they are created using this as their style, eg. whiteSpace=wrap;html=1;\n#\n# unknownStyle: -\n#\n## Optional column name that contains a reference to a named style in styles.\n## Default is the current style for nodes.\n#\n# stylename: -\n#\n## JSON for named styles of the form {"name": "style", "name": "style"} where style is a cell style with\n## placeholders that are replaced once.\n#\n# styles: -\n#\n## JSON for variables in styles of the form {"name": "value", "name": "value"} where name is a string\n## that will replace a placeholder in a style.\n#\n# vars: -\n#\n## Optional column name that contains a reference to a named label in labels.\n## Default is the current label.\n#\n# labelname: -\n#\n## JSON for named labels of the form {"name": "label", "name": "label"} where label is a cell label with\n## placeholders.\n#\n# labels: -\n#\n## Uses the given column name as the identity for cells (updates existing cells).\n## Default is no identity (empty value or -).\n#\n# identity: -\n#\n## Uses the given column name as the parent reference for cells. Default is no parent (empty or -).\n## The identity above is used for resolving the reference so it must be specified.\n#\n# parent: -\n#\n## Adds a prefix to the identity of cells to make sure they do not collide with existing cells (whose\n## IDs are numbers from 0..n, sometimes with a GUID prefix in the context of realtime collaboration).\n## Default is csvimport-.\n#\n# namespace: csvimport-\n#\n## Connections between rows ("from": source colum, "to": target column).\n## Label, style and invert are optional. Defaults are \'\', current style and false.\n## If placeholders are used in the style, they are replaced with data from the source.\n## An optional placeholders can be set to target to use data from the target instead.\n## In addition to label, an optional fromlabel and tolabel can be used to name the column\n## that contains the text for the label in the edges source or target (invert ignored).\n## In addition to those, an optional source and targetlabel can be used to specify a label\n## that contains placeholders referencing the respective columns in the source or target row.\n## The label is created in the form fromlabel + sourcelabel + label + tolabel + targetlabel.\n## Additional labels can be added by using an optional labels array with entries of the\n## form {"label": string, "x": number, "y": number, "dx": number, "dy": number} where\n## x is from -1 to 1 along the edge, y is orthogonal, and dx/dy are offsets in pixels.\n## An optional placeholders with the string value "source" or "target" can be specified\n## to replace placeholders in the additional label with data from the source or target.\n## An optional data object can be specified to define the metadata for the connector.\n## The target column may contain a comma-separated list of values.\n## Multiple connect entries are allowed.\n#\n# connect: {"from": "manager", "to": "name", "invert": true, "label": "manages", \\\n# "style": "curved=1;endArrow=blockThin;endFill=1;fontSize=11;"}\n# connect: {"from": "refs", "to": "id", "style": "curved=1;fontSize=11;"}\n#\n## Node x-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# left: \n#\n## Node y-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# top: \n#\n## Node width. Possible value is a number (in px), auto or an @ sign followed by a column\n## name that contains the value for the width. Default is auto.\n#\n# width: auto\n#\n## Node height. Possible value is a number (in px), auto, width or an @ sign followed by a column\n## name that contains the value for the height. Default is auto.\n#\n# height: auto\n#\n## Collapsed state for vertices. Possible values are true or false. Default is false.\n#\n# collapsed: false\n#\n## Padding for autosize. Default is 0.\n#\n# padding: -12\n#\n## Comma-separated list of ignored columns for metadata. (These can be\n## used for connections and styles but will not be added as metadata.)\n#\n# ignore: id,image,fill,stroke,refs,manager\n#\n## Column to be renamed to link attribute (used as link).\n#\n# link: url\n#\n## Spacing between nodes. Default is 40.\n#\n# nodespacing: 40\n#\n## Spacing between levels of hierarchical layouts. Default is 100.\n#\n# levelspacing: 100\n#\n## Spacing between parallel edges. Default is 40. Use 0 to disable.\n#\n# edgespacing: 40\n#\n## Name or JSON of layout. Possible values are auto, none, verticaltree, horizontaltree,\n## verticalflow, horizontalflow, organic, circle, orgchart or a JSON string as used in\n## Layout, Apply. Default is auto.\n#\n# layout: auto\n#\n## ---- CSV below this line. First line are column names. ----\nname,position,id,location,manager,email,fill,stroke,refs,url,image\nTessa Miller,CFO,emi,Office 1,,me@example.com,default,#6c8ebf,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-3-128.png\nEdward Morrison,Brand Manager,emo,Office 2,Tessa Miller,me@example.com,default,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-10-3-128.png\nAlison Donovan,System Admin,rdo,Office 3,Tessa Miller,me@example.com,default,#82b366,"emo,tva",https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-2-128.png\nEvan Valet,HR Director,tva,Office 4,Tessa Miller,me@example.com,default,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-9-2-128.png\n'; -Editor.createRoughCanvas=function(n){var z=rough.canvas({getContext:function(){return n}});z.draw=function(D){var L=D.sets||[];D=D.options||this.getDefaultOptions();for(var N=0;NX&&(X=N.strokeWidth/2);n.setStrokeAlpha(n.state.fillAlpha);n.setStrokeColor(N.fill||"");n.setStrokeWidth(X);n.setDashed(!1);this._drawToContext(D,L,N);n.setDashed(W);n.setStrokeWidth(T);n.setStrokeColor(R);n.setStrokeAlpha(U)};z._drawToContext=function(D,L,N){D.begin();for(var R=0;R%position%
Email\n#\n## Node style (placeholders are replaced once).\n## Default is the current style for nodes.\n#\n# style: label;image=%image%;whiteSpace=wrap;html=1;rounded=1;fillColor=%fill%;strokeColor=%stroke%;\n#\n## Parent style for nodes with child nodes (placeholders are replaced once).\n#\n# parentstyle: swimlane;whiteSpace=wrap;html=1;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;\n#\n## Style to be used for objects not in the CSV. If this is - then such objects are ignored,\n## else they are created using this as their style, eg. whiteSpace=wrap;html=1;\n#\n# unknownStyle: -\n#\n## Optional column name that contains a reference to a named style in styles.\n## Default is the current style for nodes.\n#\n# stylename: -\n#\n## JSON for named styles of the form {"name": "style", "name": "style"} where style is a cell style with\n## placeholders that are replaced once.\n#\n# styles: -\n#\n## JSON for variables in styles of the form {"name": "value", "name": "value"} where name is a string\n## that will replace a placeholder in a style.\n#\n# vars: -\n#\n## Optional column name that contains a reference to a named label in labels.\n## Default is the current label.\n#\n# labelname: -\n#\n## JSON for named labels of the form {"name": "label", "name": "label"} where label is a cell label with\n## placeholders.\n#\n# labels: -\n#\n## Uses the given column name as the identity for cells (updates existing cells).\n## Default is no identity (empty value or -).\n#\n# identity: -\n#\n## Uses the given column name as the parent reference for cells. Default is no parent (empty or -).\n## The identity above is used for resolving the reference so it must be specified.\n#\n# parent: -\n#\n## Adds a prefix to the identity of cells to make sure they do not collide with existing cells (whose\n## IDs are numbers from 0..n, sometimes with a GUID prefix in the context of realtime collaboration).\n## Default is csvimport-.\n#\n# namespace: csvimport-\n#\n## Connections between rows ("from": source colum, "to": target column).\n## Label, style and invert are optional. Defaults are \'\', current style and false.\n## If placeholders are used in the style, they are replaced with data from the source.\n## An optional placeholders can be set to target to use data from the target instead.\n## In addition to label, an optional fromlabel and tolabel can be used to name the column\n## that contains the text for the label in the edges source or target (invert ignored).\n## In addition to those, an optional source and targetlabel can be used to specify a label\n## that contains placeholders referencing the respective columns in the source or target row.\n## The label is created in the form fromlabel + sourcelabel + label + tolabel + targetlabel.\n## Additional labels can be added by using an optional labels array with entries of the\n## form {"label": string, "x": number, "y": number, "dx": number, "dy": number} where\n## x is from -1 to 1 along the edge, y is orthogonal, and dx/dy are offsets in pixels.\n## An optional placeholders with the string value "source" or "target" can be specified\n## to replace placeholders in the additional label with data from the source or target.\n## An optional data object can be specified to define the metadata for the connector.\n## The target column may contain a comma-separated list of values.\n## Multiple connect entries are allowed.\n#\n# connect: {"from": "manager", "to": "name", "invert": true, "label": "manages", \\\n# "style": "curved=1;endArrow=blockThin;endFill=1;fontSize=11;"}\n# connect: {"from": "refs", "to": "id", "style": "curved=1;fontSize=11;"}\n#\n## Node x-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# left: \n#\n## Node y-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# top: \n#\n## Node width. Possible value is a number (in px), auto or an @ sign followed by a column\n## name that contains the value for the width. Default is auto.\n#\n# width: auto\n#\n## Node height. Possible value is a number (in px), auto, width or an @ sign followed by a column\n## name that contains the value for the height. Default is auto.\n#\n# height: auto\n#\n## Collapsed state for vertices. Possible values are true or false. Default is false.\n#\n# collapsed: false\n#\n## Padding for autosize. Default is 0.\n#\n# padding: -12\n#\n## Comma-separated list of ignored columns for metadata. (These can be\n## used for connections and styles but will not be added as metadata.)\n#\n# ignore: id,image,fill,stroke,refs,manager\n#\n## Column to be renamed to link attribute (used as link).\n#\n# link: url\n#\n## Spacing between nodes. Default is 40.\n#\n# nodespacing: 40\n#\n## Spacing between levels of hierarchical layouts. Default is 100.\n#\n# levelspacing: 100\n#\n## Spacing between parallel edges. Default is 40. Use 0 to disable.\n#\n# edgespacing: 40\n#\n## Name or JSON of layout. Possible values are auto, none, verticaltree, horizontaltree,\n## verticalflow, horizontalflow, organic, circle, orgchart or a JSON string as used in\n## Layout, Apply. Default is auto.\n#\n# layout: auto\n#\n## ---- CSV below this line. First line are column names. ----\nname,position,id,location,manager,email,fill,stroke,refs,url,image\nTessa Miller,CFO,emi,Office 1,,me@example.com,default,#6c8ebf,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-3-128.png\nEdward Morrison,Brand Manager,emo,Office 2,Tessa Miller,me@example.com,default,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-10-3-128.png\nAlison Donovan,System Admin,rdo,Office 3,Tessa Miller,me@example.com,default,#82b366,"emo,tva",https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-2-128.png\nEvan Valet,HR Director,tva,Office 4,Tessa Miller,me@example.com,default,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-9-2-128.png\n'; +Editor.createRoughCanvas=function(n){var A=rough.canvas({getContext:function(){return n}});A.draw=function(E){var L=E.sets||[];E=E.options||this.getDefaultOptions();for(var O=0;OX&&(X=O.strokeWidth/2);n.setStrokeAlpha(n.state.fillAlpha);n.setStrokeColor(O.fill||"");n.setStrokeWidth(X);n.setDashed(!1);this._drawToContext(E,L,O);n.setDashed(W);n.setStrokeWidth(T);n.setStrokeColor(R);n.setStrokeAlpha(U)};A._drawToContext=function(E,L,O){E.begin();for(var R=0;R",N));if(null!=D){z=D;D=[];for(L=0;LN){z=n.substring(N,W);break}}10==U&&("endobj"==D?T=null:"obj"==D.substring(D.length-3,D.length)||"xref"==D||"trailer"==D?(T=[],R[D.split(" ")[0]]=T):null!=T&&T.push(D),D="")}}null==z&&null!=R&&(z=Editor.extractGraphModelFromXref(R));null!=z&&(z=decodeURIComponent(z.replace(/\\\(/g,"(").replace(/\\\)/g,")")));return z};Editor.extractGraphModelFromXref=function(n){var z=n.trailer,D=null;null!= -z&&(z=/.* \/Info (\d+) (\d+) R/g.exec(z.join("\n")),null!=z&&0",O));if(null!=E){A=E;E=[];for(L=0;LO){A=n.substring(O,W);break}}10==U&&("endobj"==E?T=null:"obj"==E.substring(E.length-3,E.length)||"xref"==E||"trailer"==E?(T=[],R[E.split(" ")[0]]=T):null!=T&&T.push(E),E="")}}null==A&&null!=R&&(A=Editor.extractGraphModelFromXref(R));null!=A&&(A=decodeURIComponent(A.replace(/\\\(/g,"(").replace(/\\\)/g,")")));return A};Editor.extractGraphModelFromXref=function(n){var A=n.trailer,E=null;null!= +A&&(A=/.* \/Info (\d+) (\d+) R/g.exec(A.join("\n")),null!=A&&0 1 expected for zoomFactor"));null!=n.defaultGridSize&& -(z=parseInt(n.defaultGridSize),!isNaN(z)&&0 0 expected for defaultGridSize"));null!=n.gridSteps&&(z=parseInt(n.gridSteps),!isNaN(z)&&0 0 expected for gridSteps"));null!=n.pageFormat&&(z=parseInt(n.pageFormat.width),D=parseInt(n.pageFormat.height),!isNaN(z)&&0 1 expected for zoomFactor"));null!=n.defaultGridSize&& +(A=parseInt(n.defaultGridSize),!isNaN(A)&&0 0 expected for defaultGridSize"));null!=n.gridSteps&&(A=parseInt(n.gridSteps),!isNaN(A)&&0 0 expected for gridSteps"));null!=n.pageFormat&&(A=parseInt(n.pageFormat.width),E=parseInt(n.pageFormat.height),!isNaN(A)&&0 0 expected for sidebarTitleSize"));null!=n.fontCss&&("string"===typeof n.fontCss?Editor.configureFontCss(n.fontCss):EditorUi.debug("Configuration Error: String expected for fontCss"));null!=n.autosaveDelay&&(z=parseInt(n.autosaveDelay), -!isNaN(z)&&0 0 expected for autosaveDelay"));null!=n.maxImageBytes&&(EditorUi.prototype.maxImageBytes=n.maxImageBytes);null!=n.maxImageSize&&(EditorUi.prototype.maxImageSize=n.maxImageSize);null!=n.shareCursorPosition&&(EditorUi.prototype.shareCursorPosition=n.shareCursorPosition);null!=n.showRemoteCursors&&(EditorUi.prototype.showRemoteCursors=n.showRemoteCursors);null!=n.restrictExport&&(DrawioFile.RESTRICT_EXPORT= +(EditorUi.prototype.updateDefaultStyle=n.updateDefaultStyle);null!=n.sidebarTitles&&(Sidebar.prototype.sidebarTitles=n.sidebarTitles);null!=n.sidebarTitleSize&&(A=parseInt(n.sidebarTitleSize),!isNaN(A)&&0 0 expected for sidebarTitleSize"));null!=n.fontCss&&("string"===typeof n.fontCss?Editor.configureFontCss(n.fontCss):EditorUi.debug("Configuration Error: String expected for fontCss"));null!=n.autosaveDelay&&(A=parseInt(n.autosaveDelay), +!isNaN(A)&&0 0 expected for autosaveDelay"));null!=n.maxImageBytes&&(EditorUi.prototype.maxImageBytes=n.maxImageBytes);null!=n.maxImageSize&&(EditorUi.prototype.maxImageSize=n.maxImageSize);null!=n.shareCursorPosition&&(EditorUi.prototype.shareCursorPosition=n.shareCursorPosition);null!=n.showRemoteCursors&&(EditorUi.prototype.showRemoteCursors=n.showRemoteCursors);null!=n.restrictExport&&(DrawioFile.RESTRICT_EXPORT= n.restrictExport);null!=n.replaceSvgDataUris&&(Editor.replaceSvgDataUris=n.replaceSvgDataUris);null!=n.foreignObjectImages&&(Editor.foreignObjectImages=n.foreignObjectImages);null!=n.shadowColor&&(mxConstants.SHADOW_COLOR=n.shadowColor);null!=n.shadowOpacity&&(mxConstants.SHADOW_OPACITY=n.shadowOpacity);null!=n.shadowOffsetX&&(mxConstants.SHADOW_OFFSET_X=n.shadowOffsetX);null!=n.shadowOffsetY&&(mxConstants.SHADOW_OFFSET_Y=n.shadowOffsetY);null!=n.shadowBlur&&(mxConstants.SHADOW_BLUR=n.shadowBlur); -null!=n.enableAnimations&&(Editor.enableAnimations=n.enableAnimations);null!=n.enableChatGpt&&(Editor.enableChatGpt=n.enableChatGpt);null!=n.gptApiKey&&(Editor.gptApiKey=n.gptApiKey);null!=n.gptModel&&(Editor.gptModel=n.gptModel);null!=n.gptUrl&&(Editor.gptUrl=n.gptUrl)}};Editor.isSettingsEnabled=function(){return"undefined"!==typeof window.mxSettings&&(isLocalStorage||mxClient.IS_CHROMEAPP)};Editor.configureFontCss=function(n){if(null!=n){Editor.prototype.fontCss=n;var z=document.getElementsByTagName("script")[0]; -if(null!=z&&null!=z.parentNode){var D=document.createElement("style");D.setAttribute("type","text/css");D.appendChild(document.createTextNode(n));z.parentNode.insertBefore(D,z);n=n.split("url(");for(D=1;DX.getStatus()||299>2);z+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((N& -3)<<4);z+="==";break}R=n.charCodeAt(D++);if(D==L){z+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(N>>2);z+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((N&3)<<4|(R&240)>>4);z+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((R&15)<<2);z+="=";break}T=n.charCodeAt(D++);z+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(N>>2);z+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((N& -3)<<4|(R&240)>>4);z+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((R&15)<<2|(T&192)>>6);z+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(T&63)}return z};Editor.prototype.loadUrl=function(n,z,D,L,N,R,T,U){try{var W=!T&&(L||/(\.png)($|\?)/i.test(n)||/(\.jpe?g)($|\?)/i.test(n)||/(\.gif)($|\?)/i.test(n)||/(\.pdf)($|\?)/i.test(n));N=null!=N?N:!0;var X=mxUtils.bind(this,function(){mxUtils.get(n,mxUtils.bind(this,function(Y){200<=Y.getStatus()&&299>= -Y.getStatus()?null!=z&&(Y=Y.getText(),W&&(R=null!=R?R:"data:image/png;base64,",Y=R+Editor.base64Encode(Y)),z(Y)):null!=D&&(0==Y.getStatus()?D({message:mxResources.get("accessDenied")},Y):404==Y.getStatus()?D({message:mxResources.get("fileNotFound"),code:Y.getStatus()},Y):D({message:this.getErrorMessage(Y)},Y))}),function(Y){null!=D&&D({message:mxResources.get("error")+" "+Y.getStatus()})},W,this.timeout,function(){N&&null!=D&&D({code:App.ERROR_TIMEOUT,retry:X})},U)});X()}catch(Y){null!=D&&D(Y)}}; -Editor.prototype.getErrorMessage=function(n){var z=mxResources.get("error")+" "+n.getStatus();try{var D=n.getText(),L=JSON.parse(D);null!=L&&null!=L.error&&null!=L.error.message&&(z=L.error.message+" ("+z+")")}catch(N){}return z};Editor.prototype.absoluteCssFonts=function(n){var z=null;if(null!=n){var D=n.split("url(");if(0X.getStatus()||299>2);A+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((O& +3)<<4);A+="==";break}R=n.charCodeAt(E++);if(E==L){A+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(O>>2);A+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((O&3)<<4|(R&240)>>4);A+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((R&15)<<2);A+="=";break}T=n.charCodeAt(E++);A+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(O>>2);A+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((O& +3)<<4|(R&240)>>4);A+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((R&15)<<2|(T&192)>>6);A+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(T&63)}return A};Editor.prototype.loadUrl=function(n,A,E,L,O,R,T,U){try{var W=!T&&(L||/(\.png)($|\?)/i.test(n)||/(\.jpe?g)($|\?)/i.test(n)||/(\.gif)($|\?)/i.test(n)||/(\.pdf)($|\?)/i.test(n));O=null!=O?O:!0;var X=mxUtils.bind(this,function(){mxUtils.get(n,mxUtils.bind(this,function(Y){200<=Y.getStatus()&&299>= +Y.getStatus()?null!=A&&(Y=Y.getText(),W&&(R=null!=R?R:"data:image/png;base64,",Y=R+Editor.base64Encode(Y)),A(Y)):null!=E&&(0==Y.getStatus()?E({message:mxResources.get("accessDenied")},Y):404==Y.getStatus()?E({message:mxResources.get("fileNotFound"),code:Y.getStatus()},Y):E({message:this.getErrorMessage(Y)},Y))}),function(Y){null!=E&&E({message:mxResources.get("error")+" "+Y.getStatus()})},W,this.timeout,function(){O&&null!=E&&E({code:App.ERROR_TIMEOUT,retry:X})},U)});X()}catch(Y){null!=E&&E(Y)}}; +Editor.prototype.getErrorMessage=function(n){var A=mxResources.get("error")+" "+n.getStatus();try{var E=n.getText(),L=JSON.parse(E);null!=L&&null!=L.error&&null!=L.error.message&&(A=L.error.message+" ("+A+")")}catch(O){}return A};Editor.prototype.absoluteCssFonts=function(n){var A=null;if(null!=n){var E=n.split("url(");if(0L.indexOf("mxPageSelector")&&0l;l++)for(var p=l,q=0;8>q;q++)p=1==(p&1)?3988292384^p>>>1:p>>>1,Editor.crcTable[l]=p;Editor.updateCRC=function(n,z,D,L){for(var N=0;N>>8;return n};Editor.crc32=function(n){for(var z=-1,D=0;D>>8^Editor.crcTable[(z^n.charCodeAt(D))&255];return(z^ --1)>>>0};Editor.writeGraphModelToPng=function(n,z,D,L,N){function R(Y,Z){var ca=W;W+=Z;return Y.substring(ca,W)}function T(Y){Y=R(Y,4);return Y.charCodeAt(3)+(Y.charCodeAt(2)<<8)+(Y.charCodeAt(1)<<16)+(Y.charCodeAt(0)<<24)}function U(Y){return String.fromCharCode(Y>>24&255,Y>>16&255,Y>>8&255,Y&255)}n=n.substring(n.indexOf(",")+1);n=window.atob?atob(n):Base64.decode(n,!0);var W=0;if(R(n,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=N&&N();else if(R(n,4),"IHDR"!=R(n,4))null!= -N&&N();else{R(n,17);N=n.substring(0,W);do{var X=T(n);if("IDAT"==R(n,4)){N=n.substring(0,W-8);"pHYs"==z&&"dpi"==D?(D=Math.round(L/.0254),D=U(D)+U(D)+String.fromCharCode(1)):D=D+String.fromCharCode(0)+("zTXt"==z?String.fromCharCode(0):"")+L;L=4294967295;L=Editor.updateCRC(L,z,0,4);L=Editor.updateCRC(L,D,0,D.length);N+=U(D.length)+z+D+U(L^4294967295);N+=n.substring(W-8,n.length);break}N+=n.substring(W-8,W-4+X);R(n,X);R(n,4)}while(X);return"data:image/png;base64,"+(window.btoa?btoa(N):Base64.encode(N, -!0))}};if(window.ColorDialog){FilenameDialog.filenameHelpLink="https://www.drawio.com/doc/faq/save-file-formats";var v=ColorDialog.addRecentColor;ColorDialog.addRecentColor=function(n,z){v.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()};var E=ColorDialog.resetRecentColors;ColorDialog.resetRecentColors=function(){E.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()}}"undefined"!==typeof window.EditDataDialog&&(EditDataDialog.getDisplayIdForCell= -function(n,z){var D=null;null!=n.editor.graph.getModel().getParent(z)?D=z.getId():null!=n.currentPage&&(D=n.currentPage.getId());return D});if(null!=window.StyleFormatPanel){var G=Format.prototype.init;Format.prototype.init=function(){G.apply(this,arguments);this.editorUi.editor.addListener("fileLoaded",this.update)};var B=Format.prototype.refresh;Format.prototype.refresh=function(){null!=this.editorUi.getCurrentFile()||"1"==urlParams.embed||this.editorUi.editor.chromeless?B.apply(this,arguments): -this.clear()};DiagramFormatPanel.prototype.isMathOptionVisible=function(n){return"simple"==Editor.currentTheme||"sketch"==Editor.currentTheme||"min"==Editor.currentTheme};var d=DiagramFormatPanel.prototype.addOptions;DiagramFormatPanel.prototype.addOptions=function(n){n=d.apply(this,arguments);var z=this.editorUi,D=z.editor.graph;if(D.isEnabled()){var L=z.getCurrentFile();null!=L&&L.isAutosaveOptional()&&n.appendChild(this.createOption(mxResources.get("autosave"),function(){return z.editor.autosave}, -function(R){z.editor.setAutosave(R);z.editor.autosave&&L.isModified()&&L.fileChanged()},{install:function(R){this.listener=function(){R(z.editor.autosave)};z.editor.addListener("autosaveChanged",this.listener)},destroy:function(){z.editor.removeListener(this.listener)}}))}if(this.isMathOptionVisible()&&D.isEnabled()&&"undefined"!==typeof MathJax){var N=this.createOption(mxResources.get("mathematicalTypesetting"),function(){return D.mathEnabled},function(R){z.actions.get("mathematicalTypesetting").funct()}, -{install:function(R){this.listener=function(){R(D.mathEnabled)};z.addListener("mathEnabledChanged",this.listener)},destroy:function(){z.removeListener(this.listener)}});n.appendChild(N);(!z.isOffline()||mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)&&N.appendChild(z.menus.createHelpLink("https://www.drawio.com/doc/faq/math-typesetting"))}return n};mxCellRenderer.prototype.defaultVertexShape.prototype.customProperties=[{name:"arcSize",dispName:"Arc Size",type:"float",min:0,defVal:mxConstants.LINE_ARCSIZE}, +T||/(\.sfnt)($|\?)/i.test(W))X="application/font-sfnt";this.mapFontUrl(X,W,mxUtils.bind(this,function(Y,Z){this.loadUrl(Z,mxUtils.bind(this,function(ca){this.cachedFonts[W]=ca;L--;O()}),mxUtils.bind(this,function(ca){L--;O()}),!0,null,"data:"+Y+";charset=utf-8;base64,")}))}})(Editor.trimCssUrl(E[n].substring(0,R)),T)}O()}else A(n)};Editor.prototype.loadFonts=function(n){null!=this.fontCss&&null==this.resolvedFontCss?this.embedCssFonts(this.fontCss,mxUtils.bind(this,function(A){this.resolvedFontCss= +A;null!=n&&n()})):null!=n&&n()};Editor.prototype.createGoogleFontCache=function(){var n={},A;for(A in Graph.fontMapping)Graph.isCssFontUrl(A)&&(n[A]=Graph.fontMapping[A]);return n};Editor.prototype.embedExtFonts=function(n){var A=this.graph.getCustomFonts();if(0L.indexOf("mxPageSelector")&&0l;l++)for(var p=l,q=0;8>q;q++)p=1==(p&1)?3988292384^p>>>1:p>>>1,Editor.crcTable[l]=p;Editor.updateCRC=function(n,A,E,L){for(var O=0;O>>8;return n};Editor.crc32=function(n){for(var A=-1,E=0;E>>8^Editor.crcTable[(A^n.charCodeAt(E))&255];return(A^ +-1)>>>0};Editor.writeGraphModelToPng=function(n,A,E,L,O){function R(Y,Z){var ca=W;W+=Z;return Y.substring(ca,W)}function T(Y){Y=R(Y,4);return Y.charCodeAt(3)+(Y.charCodeAt(2)<<8)+(Y.charCodeAt(1)<<16)+(Y.charCodeAt(0)<<24)}function U(Y){return String.fromCharCode(Y>>24&255,Y>>16&255,Y>>8&255,Y&255)}n=n.substring(n.indexOf(",")+1);n=window.atob?atob(n):Base64.decode(n,!0);var W=0;if(R(n,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=O&&O();else if(R(n,4),"IHDR"!=R(n,4))null!= +O&&O();else{R(n,17);O=n.substring(0,W);do{var X=T(n);if("IDAT"==R(n,4)){O=n.substring(0,W-8);"pHYs"==A&&"dpi"==E?(E=Math.round(L/.0254),E=U(E)+U(E)+String.fromCharCode(1)):E=E+String.fromCharCode(0)+("zTXt"==A?String.fromCharCode(0):"")+L;L=4294967295;L=Editor.updateCRC(L,A,0,4);L=Editor.updateCRC(L,E,0,E.length);O+=U(E.length)+A+E+U(L^4294967295);O+=n.substring(W-8,n.length);break}O+=n.substring(W-8,W-4+X);R(n,X);R(n,4)}while(X);return"data:image/png;base64,"+(window.btoa?btoa(O):Base64.encode(O, +!0))}};if(window.ColorDialog){FilenameDialog.filenameHelpLink="https://www.drawio.com/doc/faq/save-file-formats";var v=ColorDialog.addRecentColor;ColorDialog.addRecentColor=function(n,A){v.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()};var D=ColorDialog.resetRecentColors;ColorDialog.resetRecentColors=function(){D.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()}}"undefined"!==typeof window.EditDataDialog&&(EditDataDialog.getDisplayIdForCell= +function(n,A){var E=null;null!=n.editor.graph.getModel().getParent(A)?E=A.getId():null!=n.currentPage&&(E=n.currentPage.getId());return E});if(null!=window.StyleFormatPanel){var G=Format.prototype.init;Format.prototype.init=function(){G.apply(this,arguments);this.editorUi.editor.addListener("fileLoaded",this.update)};var B=Format.prototype.refresh;Format.prototype.refresh=function(){null!=this.editorUi.getCurrentFile()||"1"==urlParams.embed||this.editorUi.editor.chromeless?B.apply(this,arguments): +this.clear()};DiagramFormatPanel.prototype.isMathOptionVisible=function(n){return"simple"==Editor.currentTheme||"sketch"==Editor.currentTheme||"min"==Editor.currentTheme};var d=DiagramFormatPanel.prototype.addOptions;DiagramFormatPanel.prototype.addOptions=function(n){n=d.apply(this,arguments);var A=this.editorUi,E=A.editor.graph;if(E.isEnabled()){var L=A.getCurrentFile();null!=L&&L.isAutosaveOptional()&&n.appendChild(this.createOption(mxResources.get("autosave"),function(){return A.editor.autosave}, +function(R){A.editor.setAutosave(R);A.editor.autosave&&L.isModified()&&L.fileChanged()},{install:function(R){this.listener=function(){R(A.editor.autosave)};A.editor.addListener("autosaveChanged",this.listener)},destroy:function(){A.editor.removeListener(this.listener)}}))}if(this.isMathOptionVisible()&&E.isEnabled()&&"undefined"!==typeof MathJax){var O=this.createOption(mxResources.get("mathematicalTypesetting"),function(){return E.mathEnabled},function(R){A.actions.get("mathematicalTypesetting").funct()}, +{install:function(R){this.listener=function(){R(E.mathEnabled)};A.addListener("mathEnabledChanged",this.listener)},destroy:function(){A.removeListener(this.listener)}});n.appendChild(O);(!A.isOffline()||mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)&&O.appendChild(A.menus.createHelpLink("https://www.drawio.com/doc/faq/math-typesetting"))}return n};mxCellRenderer.prototype.defaultVertexShape.prototype.customProperties=[{name:"arcSize",dispName:"Arc Size",type:"float",min:0,defVal:mxConstants.LINE_ARCSIZE}, {name:"absoluteArcSize",dispName:"Abs. Arc Size",type:"bool",defVal:!1}];mxCellRenderer.defaultShapes.link.prototype.customProperties=[{name:"width",dispName:"Width",type:"float",min:0,defVal:4}];mxCellRenderer.defaultShapes.flexArrow.prototype.customProperties=[{name:"width",dispName:"Width",type:"float",min:0,defVal:10},{name:"startWidth",dispName:"Start Width",type:"float",min:0,defVal:20},{name:"endWidth",dispName:"End Width",type:"float",min:0,defVal:20}];mxCellRenderer.defaultShapes.process.prototype.customProperties= [{name:"size",dispName:"Indent",type:"float",min:0,max:.5,defVal:.1}];mxCellRenderer.defaultShapes.rhombus.prototype.customProperties=[{name:"arcSize",dispName:"Arc Size",type:"float",min:0,max:50,defVal:mxConstants.LINE_ARCSIZE},{name:"double",dispName:"Double",type:"bool",defVal:!1}];mxCellRenderer.defaultShapes.partialRectangle.prototype.customProperties=[{name:"top",dispName:"Top Line",type:"bool",defVal:!0},{name:"bottom",dispName:"Bottom Line",type:"bool",defVal:!0},{name:"left",dispName:"Left Line", type:"bool",defVal:!0},{name:"right",dispName:"Right Line",type:"bool",defVal:!0}];mxCellRenderer.defaultShapes.parallelogram.prototype.customProperties=[{name:"arcSize",dispName:"Arc Size",type:"float",min:0,defVal:mxConstants.LINE_ARCSIZE},{name:"size",dispName:"Slope Angle",type:"float",min:0,max:1,defVal:.2,isVisible:function(n){return"0"==mxUtils.getValue(n.style,"fixedSize","0")}},{name:"size",dispName:"Slope Angle",type:"float",min:0,defVal:20,isVisible:function(n){return"1"==mxUtils.getValue(n.style, @@ -12836,93 +12842,91 @@ defVal:"none",enumList:[{val:"none",dispName:"Default"},{val:"umlActor",dispName [[{fill:"",stroke:""},{fill:"#f5f5f5",stroke:"#666666",font:"#333333"},{fill:"#dae8fc",stroke:"#6c8ebf"},{fill:"#d5e8d4",stroke:"#82b366"},{fill:"#ffe6cc",stroke:"#d79b00"},{fill:"#fff2cc",stroke:"#d6b656"},{fill:"#f8cecc",stroke:"#b85450"},{fill:"#e1d5e7",stroke:"#9673a6"}],[{fill:"",stroke:""},{fill:"#60a917",stroke:"#2D7600",font:"#ffffff"},{fill:"#008a00",stroke:"#005700",font:"#ffffff"},{fill:"#1ba1e2",stroke:"#006EAF",font:"#ffffff"},{fill:"#0050ef",stroke:"#001DBC",font:"#ffffff"},{fill:"#6a00ff", stroke:"#3700CC",font:"#ffffff"},{fill:"#d80073",stroke:"#A50040",font:"#ffffff"},{fill:"#a20025",stroke:"#6F0000",font:"#ffffff"}],[{fill:"#e51400",stroke:"#B20000",font:"#ffffff"},{fill:"#fa6800",stroke:"#C73500",font:"#000000"},{fill:"#f0a30a",stroke:"#BD7000",font:"#000000"},{fill:"#e3c800",stroke:"#B09500",font:"#000000"},{fill:"#6d8764",stroke:"#3A5431",font:"#ffffff"},{fill:"#647687",stroke:"#314354",font:"#ffffff"},{fill:"#76608a",stroke:"#432D57",font:"#ffffff"},{fill:"#a0522d",stroke:"#6D1F00", font:"#ffffff"}],[{fill:"",stroke:""},{fill:mxConstants.NONE,stroke:""},{fill:"#fad7ac",stroke:"#b46504"},{fill:"#fad9d5",stroke:"#ae4132"},{fill:"#b0e3e6",stroke:"#0e8088"},{fill:"#b1ddf0",stroke:"#10739e"},{fill:"#d0cee2",stroke:"#56517e"},{fill:"#bac8d3",stroke:"#23445d"}],[{fill:"",stroke:""},{fill:"#f5f5f5",stroke:"#666666",gradient:"#b3b3b3"},{fill:"#dae8fc",stroke:"#6c8ebf",gradient:"#7ea6e0"},{fill:"#d5e8d4",stroke:"#82b366",gradient:"#97d077"},{fill:"#ffcd28",stroke:"#d79b00",gradient:"#ffa500"}, -{fill:"#fff2cc",stroke:"#d6b656",gradient:"#ffd966"},{fill:"#f8cecc",stroke:"#b85450",gradient:"#ea6b66"},{fill:"#e6d0de",stroke:"#996185",gradient:"#d5739d"}],[{fill:"",stroke:""},{fill:"#eeeeee",stroke:"#36393d"},{fill:"#f9f7ed",stroke:"#36393d"},{fill:"#ffcc99",stroke:"#36393d"},{fill:"#cce5ff",stroke:"#36393d"},{fill:"#ffff88",stroke:"#36393d"},{fill:"#cdeb8b",stroke:"#36393d"},{fill:"#ffcccc",stroke:"#36393d"}]];StyleFormatPanel.prototype.customColorSchemes=null;StyleFormatPanel.prototype.findCommonProperties= -function(n,z,D,L){if(null!=z){var N=mxUtils.bind(this,function(T){if(null!=T)if(D)for(var U=0;Uma.size&&(xa=xa.slice(0,ma.size));pa=xa.join(",");null!=ma.countProperty&&(ca.setCellStyles(ma.countProperty,xa.length,ca.getSelectionCells()),wa.push(ma.countProperty),ya.push(xa.length))}ca.setCellStyles(ta,pa,ca.getSelectionCells());wa.push(ta);ya.push(pa);if(null!=ma.dependentProps)for(ta= -0;tapa)Ia=Ia.slice(0,pa);else for(var La=Ia.length;Lama.max&&(za=ma.max);var Sa=null;try{Sa="numbers"==xa?za.match(/\d+/g).map(Number).join(" "):encodeURIComponent(("int"==xa?parseInt(za):za)+"")}catch(Ta){}N(ta,Sa,ma,null,Ea)}var Ea=document.createElement("input");R(Ca,Ea,!0);Ea.value=decodeURIComponent(pa);Ea.className="gePropEditor";"int"!=xa&&"float"!=xa||ma.allowAuto||(Ea.type="number", -Ea.step="int"==xa?"1":"any",null!=ma.min&&(Ea.min=parseFloat(ma.min)),null!=ma.max&&(Ea.max=parseFloat(ma.max)));n.appendChild(Ea);mxEvent.addListener(Ea,"keypress",function(za){13==za.keyCode&&La()});Ea.focus();mxEvent.addListener(Ea,"blur",function(){La()})})));ma.isDeletable&&(wa=mxUtils.button("-",mxUtils.bind(Z,function(La){N(ta,"",ma,ma.index);mxEvent.consume(La)})),wa.style.height="16px",wa.style.width="25px",wa.style.float="right",wa.className="geColorBtn",Ca.appendChild(wa));Fa.appendChild(Ca); -return Fa}var Z=this,ca=this.editorUi.editor.graph,ea=[],ja=document.createElement("table");ja.className="geProperties geFullWidthElement";var ba=document.createElement("tr");ba.className="gePropHeader";var fa=document.createElement("th");fa.className="gePropHeaderCell";fa.style.paddingLeft="16px";fa.style.backgroundRepeat="no-repeat";fa.style.backgroundPosition="-2px 50%";fa.style.backgroundSize="20px";mxUtils.write(fa,mxResources.get("property"));ba.style.cursor="pointer";var aa=function(){var ta= -ja.querySelectorAll(".gePropNonHeaderRow");if(Z.editorUi.propertiesCollapsed){fa.style.backgroundImage="url('"+Editor.arrowRightImage+"')";var pa="none";for(var ma=n.childNodes.length-1;0<=ma;ma--)try{var Da=n.childNodes[ma],wa=Da.nodeName.toUpperCase();"INPUT"!=wa&&"SELECT"!=wa||n.removeChild(Da)}catch(ya){}}else fa.style.backgroundImage="url('"+Editor.arrowDownImage+"')",pa="";for(ma=0;ma=this.defaultColorSchemes.length?"24px":"30px";aa.style.margin="0px 6px 6px 0px";if(null!=fa){var ia="1px solid";null!=fa.border&&(ia=fa.border);if(null!=fa.gradient)aa.style.backgroundImage="linear-gradient("+mxUtils.getLightDarkColor(fa.fill).cssText+" 0px,"+mxUtils.getLightDarkColor(fa.gradient).cssText+" 100%)";else if(fa.fill==mxConstants.NONE)aa.style.background="url('"+Dialog.prototype.noColorImage+"')";else if(null==fa.fill|| -""==fa.fill)aa.style.backgroundColor=mxUtils.getLightDarkColor(mxUtils.getValue(ea,mxConstants.STYLE_FILLCOLOR,"#ffffff")).cssText;else{var ha=mxUtils.getLightDarkColor(fa.fill);aa.style.backgroundImage="linear-gradient(to right bottom, "+ha.cssText+" 50%, "+ha.light+" 50.3%)"}null==fa.stroke||fa.stroke==mxConstants.NONE?aa.style.border=ia+" transparent":""==fa.stroke?aa.style.border="1px solid "+mxUtils.getLightDarkColor(mxUtils.getValue(ea,mxConstants.STYLE_STROKECOLOR,"#000000")).cssText:(ha=mxUtils.getLightDarkColor(fa.stroke), -aa.style.border=ia+" "+ha.cssText,aa.style.borderRightColor=ha.light,aa.style.borderBottomColor=aa.style.borderRightColor);null!=fa.title&&aa.setAttribute("title",fa.title)}else ia=mxUtils.getValue(ea,mxConstants.STYLE_FILLCOLOR,"#ffffff"),ha=mxUtils.getValue(ea,mxConstants.STYLE_STROKECOLOR,"#000000"),aa.style.backgroundColor=ia,aa.style.border="1px solid "+ha;aa.style.borderRadius="0";L.appendChild(aa);null!=fa&&null!=fa.gradient&&(ia=aa.cloneNode(!1),ia.style.backgroundImage="linear-gradient(light-dark(transparent, "+ -mxUtils.getLightDarkColor(fa.fill).light+") 0px, light-dark(transparent, "+mxUtils.getLightDarkColor(fa.gradient).light+") 100%)",ia.style.clipPath="polygon(0 100%, 100% 0, 100% 100%)",ia.style.backgroundColor="transparent",L.appendChild(ia),ia.style.marginLeft="-42px",mxEvent.addListener(ia,"click",function(){aa.click()}))});L.innerText="";if(null!=ca)for(var ba=0;bama.size&&(xa=xa.slice(0,ma.size));pa=xa.join(",");null!=ma.countProperty&&(ca.setCellStyles(ma.countProperty,xa.length,ca.getSelectionCells()),wa.push(ma.countProperty),ya.push(xa.length))}ca.setCellStyles(ta,pa,ca.getSelectionCells());wa.push(ta);ya.push(pa);if(null!=ma.dependentProps)for(ta=0;tapa)Ia=Ia.slice(0,pa);else for(var La=Ia.length;Lama.max&&(za=ma.max);var Sa=null;try{Sa="numbers"==xa?za.match(/\d+/g).map(Number).join(" "):encodeURIComponent(("int"==xa?parseInt(za):za)+"")}catch(Ta){}O(ta,Sa,ma,null,Ea)}var Ea=document.createElement("input");R(Ca,Ea,!0);Ea.value=decodeURIComponent(pa);Ea.className="gePropEditor";"int"!=xa&&"float"!=xa||ma.allowAuto||(Ea.type="number",Ea.step="int"==xa?"1":"any",null!=ma.min&&(Ea.min=parseFloat(ma.min)),null!=ma.max&&(Ea.max= +parseFloat(ma.max)));n.appendChild(Ea);mxEvent.addListener(Ea,"keypress",function(za){13==za.keyCode&&La()});Ea.focus();mxEvent.addListener(Ea,"blur",function(){La()})})));ma.isDeletable&&(wa=mxUtils.button("-",mxUtils.bind(Z,function(La){O(ta,"",ma,ma.index);mxEvent.consume(La)})),wa.style.height="16px",wa.style.width="25px",wa.style.float="right",wa.className="geColorBtn",Ca.appendChild(wa));Fa.appendChild(Ca);return Fa}var Z=this,ca=this.editorUi.editor.graph,ea=[],ia=document.createElement("table"); +ia.className="geProperties geFullWidthElement";var ba=document.createElement("tr");ba.className="gePropHeader";var fa=document.createElement("th");fa.className="gePropHeaderCell";fa.style.paddingLeft="16px";fa.style.backgroundRepeat="no-repeat";fa.style.backgroundPosition="-2px 50%";fa.style.backgroundSize="20px";mxUtils.write(fa,mxResources.get("property"));ba.style.cursor="pointer";var aa=function(){var ta=ia.querySelectorAll(".gePropNonHeaderRow");if(Z.editorUi.propertiesCollapsed){fa.style.backgroundImage= +"url('"+Editor.arrowRightImage+"')";var pa="none";for(var ma=n.childNodes.length-1;0<=ma;ma--)try{var Da=n.childNodes[ma],wa=Da.nodeName.toUpperCase();"INPUT"!=wa&&"SELECT"!=wa||n.removeChild(Da)}catch(ya){}}else fa.style.backgroundImage="url('"+Editor.arrowDownImage+"')",pa="";for(ma=0;ma=this.defaultColorSchemes.length?"24px":"30px";aa.style.margin="0px 6px 6px 0px";if(null!=fa){var ja="1px solid";null!=fa.border&&(ja=fa.border);if(null!=fa.gradient)aa.style.backgroundImage="linear-gradient("+mxUtils.getLightDarkColor(fa.fill).cssText+" 0px,"+mxUtils.getLightDarkColor(fa.gradient).cssText+" 100%)";else if(fa.fill==mxConstants.NONE)aa.style.background="url('"+Dialog.prototype.noColorImage+"')";else if(null==fa.fill||""==fa.fill)aa.style.backgroundColor= +mxUtils.getLightDarkColor(mxUtils.getValue(ea,mxConstants.STYLE_FILLCOLOR,"#ffffff")).cssText;else{var ha=mxUtils.getLightDarkColor(fa.fill);aa.style.backgroundImage="linear-gradient(to right bottom, "+ha.cssText+" 50%, "+ha.light+" 50.3%)"}null==fa.stroke||fa.stroke==mxConstants.NONE?aa.style.border=ja+" transparent":""==fa.stroke?aa.style.border="1px solid "+mxUtils.getLightDarkColor(mxUtils.getValue(ea,mxConstants.STYLE_STROKECOLOR,"#000000")).cssText:(ha=mxUtils.getLightDarkColor(fa.stroke),aa.style.border= +ja+" "+ha.cssText,aa.style.borderRightColor=ha.light,aa.style.borderBottomColor=aa.style.borderRightColor);null!=fa.title&&aa.setAttribute("title",fa.title)}else ja=mxUtils.getValue(ea,mxConstants.STYLE_FILLCOLOR,"#ffffff"),ha=mxUtils.getValue(ea,mxConstants.STYLE_STROKECOLOR,"#000000"),aa.style.backgroundColor=ja,aa.style.border="1px solid "+ha;aa.style.borderRadius="0";L.appendChild(aa);null!=fa&&null!=fa.gradient&&(ja=aa.cloneNode(!1),ja.style.backgroundImage="linear-gradient(light-dark(transparent, "+ +mxUtils.getLightDarkColor(fa.fill).light+") 0px, light-dark(transparent, "+mxUtils.getLightDarkColor(fa.gradient).light+") 100%)",ja.style.clipPath="polygon(0 100%, 100% 0, 100% 100%)",ja.style.backgroundColor="transparent",L.appendChild(ja),ja.style.marginLeft="-42px",mxEvent.addListener(ja,"click",function(){aa.click()}))});L.innerText="";if(null!=ca)for(var ba=0;ba=this.defaultColorSchemes.length?43:23;var Y=document.createElement("div");Y.className="geButton";Y.style.cssText="position:absolute;left:0px;bottom:"+T+"px;width:20px;background-image:url("+Editor.chevronLeftImage+");";mxEvent.addListener(Y,"click",mxUtils.bind(this,function(){W(mxUtils.mod(this.format.currentScheme-1,this.defaultColorSchemes.length))}));var Z=document.createElement("div");Z.className="geButton";Z.style.cssText="position:absolute;left:186px;bottom:"+ -T+"px;width:20px;background-image:url("+Editor.chevronRightImage+");";1=this.defaultColorSchemes.length&&n.appendChild(N)}return n}}Graph.fontMapping={"https://fonts.googleapis.com/css?family=Architects+Daughter":'@font-face { font-family: "Architects Daughter"; src: url('+ +T+"px;width:20px;background-image:url("+Editor.chevronRightImage+");";1=this.defaultColorSchemes.length&&n.appendChild(O)}return n}}Graph.fontMapping={"https://fonts.googleapis.com/css?family=Architects+Daughter":'@font-face { font-family: "Architects Daughter"; src: url('+ STYLE_PATH+'/fonts/ArchitectsDaughter-Regular.ttf) format("truetype"); }'};Graph.customFontElements={};Graph.isGoogleFontUrl=function(n){return n.substring(0,Editor.GOOGLE_FONTS.length)==Editor.GOOGLE_FONTS||n.substring(0,Editor.GOOGLE_FONTS_CSS2.length)==Editor.GOOGLE_FONTS_CSS2};Graph.isCssFontUrl=function(n){return Graph.isGoogleFontUrl(n)};Graph.rewriteGoogleFontUrl=function(n){null!=n&&n.substring(0,Editor.GOOGLE_FONTS.length)==Editor.GOOGLE_FONTS&&(n=Editor.GOOGLE_FONTS_CSS2+n.substring(Editor.GOOGLE_FONTS.length)+ -":wght@400;500");return n};Graph.createFontElement=function(n,z){var D=Graph.fontMapping[z];null==D&&Graph.isCssFontUrl(z)?(n=document.createElement("link"),n.setAttribute("rel","stylesheet"),n.setAttribute("type","text/css"),n.setAttribute("charset","UTF-8"),n.setAttribute("href",Graph.rewriteGoogleFontUrl(z))):(null==D&&(D='@font-face {\nfont-family: "'+n+'";\nsrc: url("'+z+'");\n}'),n=document.createElement("style"),mxUtils.write(n,D));return n};Graph.addRecentCustomFont=function(n,z){};Graph.addFont= -function(n,z,D){if(null!=n&&0mxUtils.indexOf(U.hiddenTags, -da),va=document.createElement("tr"),Aa=document.createElement("td");Aa.style.align="center";Aa.style.width="16px";var ka=document.createElement("img");ka.setAttribute("src",na?Editor.visibleImage:Editor.hiddenImage);ka.setAttribute("title",mxResources.get(na?"hideIt":"show",[da]));mxUtils.setOpacity(ka,na?75:25);ka.className="geAdaptiveAsset";ka.style.verticalAlign="middle";ka.style.cursor="pointer";ka.style.width="16px";if(z||Editor.isDarkMode())ka.style.filter="invert(100%)";Aa.appendChild(ka); -mxEvent.addListener(ka,"click",function(pa){mxEvent.isShiftDown(pa)?R(0<=mxUtils.indexOf(U.hiddenTags,da)):(U.toggleHiddenTag(da),N(),U.refresh());mxEvent.consume(pa)});va.appendChild(Aa);Aa=document.createElement("td");Aa.style.align="center";Aa.style.width="16px";ka=document.createElement("img");ka.setAttribute("src",Editor.selectImage);ka.setAttribute("title",mxResources.get("select"));mxUtils.setOpacity(ka,na?75:25);ka.className="geAdaptiveAsset";ka.style.verticalAlign="middle";ka.style.cursor= -"pointer";ka.style.width="16px";if(z||Editor.isDarkMode())ka.style.filter="invert(100%)";mxEvent.addListener(ka,"click",function(pa){R(!0);Ba();mxEvent.consume(pa)});Aa.appendChild(ka);va.appendChild(Aa);Aa=document.createElement("td");Aa.style.overflow="hidden";Aa.style.whiteSpace="nowrap";Aa.style.textOverflow="ellipsis";Aa.style.verticalAlign="middle";Aa.style.cursor="pointer";Aa.setAttribute("title",da);a=document.createElement("a");mxUtils.write(a,da);a.style.textOverflow="ellipsis";a.style.position= -"relative";mxUtils.setOpacity(a,na?100:40);Aa.appendChild(a);mxEvent.addListener(Aa,"click",function(pa){if(mxEvent.isShiftDown(pa))R(!0),Ba();else if(na&&0mxUtils.indexOf(U.hiddenTags, +da),va=document.createElement("tr"),Aa=document.createElement("td");Aa.style.align="center";Aa.style.width="16px";var ka=document.createElement("img");ka.setAttribute("src",na?Editor.visibleImage:Editor.hiddenImage);ka.setAttribute("title",mxResources.get(na?"hideIt":"show",[da]));mxUtils.setOpacity(ka,na?75:25);ka.className="geAdaptiveAsset";ka.style.verticalAlign="middle";ka.style.cursor="pointer";ka.style.width="16px";if(A||Editor.isDarkMode())ka.style.filter="invert(100%)";Aa.appendChild(ka); +mxEvent.addListener(ka,"click",function(pa){mxEvent.isShiftDown(pa)?R(0<=mxUtils.indexOf(U.hiddenTags,da)):(U.toggleHiddenTag(da),O(),U.refresh());mxEvent.consume(pa)});va.appendChild(Aa);Aa=document.createElement("td");Aa.style.align="center";Aa.style.width="16px";ka=document.createElement("img");ka.setAttribute("src",Editor.selectImage);ka.setAttribute("title",mxResources.get("select"));mxUtils.setOpacity(ka,na?75:25);ka.className="geAdaptiveAsset";ka.style.verticalAlign="middle";ka.style.cursor= +"pointer";ka.style.width="16px";if(A||Editor.isDarkMode())ka.style.filter="invert(100%)";mxEvent.addListener(ka,"click",function(pa){R(!0);Ba();mxEvent.consume(pa)});Aa.appendChild(ka);va.appendChild(Aa);Aa=document.createElement("td");Aa.style.overflow="hidden";Aa.style.whiteSpace="nowrap";Aa.style.textOverflow="ellipsis";Aa.style.verticalAlign="middle";Aa.style.cursor="pointer";Aa.setAttribute("title",da);a=document.createElement("a");mxUtils.write(a,da);a.style.textOverflow="ellipsis";a.style.position= +"relative";mxUtils.setOpacity(a,na?100:40);Aa.appendChild(a);mxEvent.addListener(Aa,"click",function(pa){if(mxEvent.isShiftDown(pa))R(!0),Ba();else if(na&&0mxUtils.indexOf(W,ba[fa])&&W.push(ba[fa]);W.sort();U.isSelectionEmpty()?T(W):T(W,U.getCommonTagsForCells(U.getSelectionCells()))}});U.selectionModel.addListener(mxEvent.CHANGE,Z);U.model.addListener(mxEvent.CHANGE,Z);U.addListener(mxEvent.REFRESH,Z);var ca=document.createElement("div");ca.className= -"geToolbarContainer geDialogToolbar";ca.style.position="absolute";ca.style.display="flex";ca.style.bottom="0px";ca.style.left="0px";ca.style.right="0px";ca.style.height="32px";ca.style.overflow="hidden";ca.style.padding="3px 4px 4px 4px";ca.style.borderWidth="1px 0px 0px 0px";ca.style.borderStyle="solid";ca.style.whiteSpace="nowrap";if(U.isEnabled()){Y.style.bottom="32px";var ea=document.createElement("a");ea.className="geButton";var ja=ea.cloneNode(!1);ja.style.backgroundImage="url("+Editor.visibleImage+ -")";ja.setAttribute("title",mxResources.get("reset"));mxEvent.addListener(ja,"click",function(ba){U.setHiddenTags([]);mxEvent.isShiftDown(ba)||(W=U.hiddenTags.slice());N();U.refresh();mxEvent.consume(ba)});ca.appendChild(ja);null!=D&&(ea=ea.cloneNode(!1),ea.style.backgroundImage="url("+Editor.plusImage+")",ea.setAttribute("title",mxResources.get("add")),mxEvent.addListener(ea,"click",function(ba){D(W,function(fa){W=fa;Z()});mxEvent.consume(ba)}),ca.appendChild(ea));X.appendChild(ca)}null!=L&&ca.appendChild(L); -return{div:X,refresh:Z}};Graph.prototype.getCustomFonts=function(){var n=this.extFonts;n=null!=n?n.slice():[];for(var z in Graph.customFontElements){var D=Graph.customFontElements[z];n.push({name:D.name,url:D.url})}return n};Graph.prototype.setFont=function(n,z){Graph.addFont(n,z);var D=Editor.guid();document.execCommand("fontname",!1,D);for(var L=this.cellEditor.textarea.getElementsByTagName("font"),N=!1,R=0;R'+mxUtils.htmlEntities(n)+""};mxGraphView.prototype.redrawEnumerationState=function(n){var z="1"==mxUtils.getValue(n.style,"enumerate",0);z&&null==n.secondLabel?(n.secondLabel=new mxText("",new mxRectangle,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_BOTTOM), -n.secondLabel.size=12,n.secondLabel.state=n,n.secondLabel.dialect=mxConstants.DIALECT_STRICTHTML,this.graph.cellRenderer.initializeLabel(n,n.secondLabel)):z||null==n.secondLabel||(n.secondLabel.destroy(),n.secondLabel=null);z=n.secondLabel;if(null!=z){var D=n.view.scale,L=this.createEnumerationValue(n);n=this.graph.model.isVertex(n.cell)?new mxRectangle(n.x+n.width-4*D,n.y+4*D,0,0):mxRectangle.fromPoint(n.view.getPoint(n));z.bounds.equals(n)&&z.value==L&&z.scale==D||(z.bounds=n,z.value=L,z.scale= -D,z.redraw())}};var P=Graph.prototype.refresh;Graph.prototype.refresh=function(){this.refreshBackgroundImage();P.apply(this,arguments)};Graph.prototype.refreshBackgroundImage=function(){null!=this.backgroundImage&&null!=this.backgroundImage.originalSrc&&(this.setBackgroundImage(this.backgroundImage),this.view.validateBackgroundImage())};var u=Graph.prototype.loadStylesheet;Graph.prototype.loadStylesheet=function(){u.apply(this,arguments);this.currentStyle="default-style2"};Graph.prototype.handleCustomLink= -function(n,z){"data:action/json,"==n.substring(0,17)&&(n=JSON.parse(n.substring(17)),null!=n.actions&&this.executeCustomActions(n.actions,null,z))};Graph.prototype.executeCustomActions=function(n,z,D){if(this.executingCustomActions)this.stoppingCustomActions=!0,null!=this.pendingWaitThread&&window.clearTimeout(this.pendingWaitThread),null!=this.pendingExecuteNextAction&&this.pendingExecuteNextAction(),this.fireEvent(new mxEventObject("stopExecutingCustomActions"));else{this.executingCustomActions= -!0;var L=!1,N=0,R=0,T=mxUtils.bind(this,function(){L||(L=!0,this.model.beginUpdate())}),U=mxUtils.bind(this,function(){L&&(L=!1,this.model.endUpdate())}),W=mxUtils.bind(this,function(){0'+mxUtils.htmlEntities(n)+""};mxGraphView.prototype.redrawEnumerationState=function(n){var A="1"==mxUtils.getValue(n.style,"enumerate",0);A&&null==n.secondLabel?(n.secondLabel=new mxText("",new mxRectangle,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_BOTTOM), +n.secondLabel.size=12,n.secondLabel.state=n,n.secondLabel.dialect=mxConstants.DIALECT_STRICTHTML,this.graph.cellRenderer.initializeLabel(n,n.secondLabel)):A||null==n.secondLabel||(n.secondLabel.destroy(),n.secondLabel=null);A=n.secondLabel;if(null!=A){var E=n.view.scale,L=this.createEnumerationValue(n);n=this.graph.model.isVertex(n.cell)?new mxRectangle(n.x+n.width-4*E,n.y+4*E,0,0):mxRectangle.fromPoint(n.view.getPoint(n));A.bounds.equals(n)&&A.value==L&&A.scale==E||(A.bounds=n,A.value=L,A.scale= +E,A.redraw())}};var P=Graph.prototype.refresh;Graph.prototype.refresh=function(){this.refreshBackgroundImage();P.apply(this,arguments)};Graph.prototype.refreshBackgroundImage=function(){null!=this.backgroundImage&&null!=this.backgroundImage.originalSrc&&(this.setBackgroundImage(this.backgroundImage),this.view.validateBackgroundImage())};var u=Graph.prototype.loadStylesheet;Graph.prototype.loadStylesheet=function(){u.apply(this,arguments);this.currentStyle="default-style2"};Graph.prototype.handleCustomLink= +function(n,A){"data:action/json,"==n.substring(0,17)&&(n=JSON.parse(n.substring(17)),null!=n.actions&&this.executeCustomActions(n.actions,null,A))};Graph.prototype.executeCustomActions=function(n,A,E){if(this.executingCustomActions)this.stoppingCustomActions=!0,null!=this.pendingWaitThread&&window.clearTimeout(this.pendingWaitThread),null!=this.pendingExecuteNextAction&&this.pendingExecuteNextAction(),this.fireEvent(new mxEventObject("stopExecutingCustomActions"));else{this.executingCustomActions= +!0;var L=!1,O=0,R=0,T=mxUtils.bind(this,function(){L||(L=!0,this.model.beginUpdate())}),U=mxUtils.bind(this,function(){L&&(L=!1,this.model.endUpdate())}),W=mxUtils.bind(this,function(){0mxUtils.indexOf(Z.tags.visible,ba[ea])&&0>mxUtils.indexOf(ja,ba[ea])&&ja.push(ba[ea])}null!=ja&&this.setHiddenTags(ja);this.refresh()}0n.excludeCells.indexOf(z[L].id)&&D.push(z[L]);z=D}return z};Graph.prototype.getCellsById=function(n){var z=[];if(null!=n)for(var D=0;Dz?this.hiddenTags.push(n):0<=z&&this.hiddenTags.splice(z,1);this.fireEvent(new mxEventObject("hiddenTagsChanged"))}; -Graph.prototype.isAllTagsHidden=function(n){if(null==n||0==n.length||0==this.hiddenTags.length)return!1;n=n.split(" ");if(n.length>this.hiddenTags.length)return!1;for(var z=0;zmxUtils.indexOf(this.hiddenTags,n[z]))return!1;return!0};Graph.prototype.getCellsForTags=function(n,z,D,L){var N=[];if(null!=n){z=null!=z?z:this.model.getDescendants(this.model.getRoot());for(var R=0,T={},U=0;U=n.length)){for(var Y=X=0;YmxUtils.indexOf(N,U)&&(L=0mxUtils.indexOf(Z.tags.visible,ba[ea])&&0>mxUtils.indexOf(ia,ba[ea])&&ia.push(ba[ea])}null!=ia&&this.setHiddenTags(ia);this.refresh()}0n.excludeCells.indexOf(A[L].id)&&E.push(A[L]);A=E}return A};Graph.prototype.getCellsById=function(n){var A=[];if(null!=n)for(var E=0;EA?this.hiddenTags.push(n):0<=A&&this.hiddenTags.splice(A,1);this.fireEvent(new mxEventObject("hiddenTagsChanged"))}; +Graph.prototype.isAllTagsHidden=function(n){if(null==n||0==n.length||0==this.hiddenTags.length)return!1;n=n.split(" ");if(n.length>this.hiddenTags.length)return!1;for(var A=0;AmxUtils.indexOf(this.hiddenTags,n[A]))return!1;return!0};Graph.prototype.getCellsForTags=function(n,A,E,L){var O=[];if(null!=n){A=null!=A?A:this.model.getDescendants(this.model.getRoot());for(var R=0,T={},U=0;U=n.length)){for(var Y=X=0;YmxUtils.indexOf(O,U)&&(L=0
')))}catch(n){}Editor.prototype.useCanvasForExport= +null!=n?n:"default"),null!=this.shadowVisible&&this.shadowVisible!=this.ui.editor.graph.shadowVisible&&(this.ui.editor.graph.setShadowVisible(this.shadowVisible),this.shadowVisible=!this.shadowVisible)};Editor.prototype.useCanvasForExport=!1;try{var N=document.createElement("canvas"),M=new Image;M.onload=function(){try{N.getContext("2d").drawImage(M,0,0);var n=N.toDataURL("image/png");Editor.prototype.useCanvasForExport=null!=n&&6
')))}catch(n){}Editor.prototype.useCanvasForExport= !1})();(function(){var b=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);b.beforeDecode=function(e,f,c){c.ui=e.ui;return f};b.afterDecode=function(e,f,c){c.previousColor=c.color;c.previousImage=c.image;c.previousFormat=c.format;c.previousAdaptiveColors=c.adaptiveColors;null!=c.foldingEnabled&&(c.foldingEnabled=!c.foldingEnabled);null!=c.mathEnabled&&(c.mathEnabled=!c.mathEnabled);null!=c.shadowVisible&&(c.shadowVisible=!c.shadowVisible);return c};mxCodecRegistry.register(b)})(); -(function(){var b=new mxObjectCodec(new ChangeGridColor,["ui"]);b.beforeDecode=function(e,f,c){c.ui=e.ui;return f};mxCodecRegistry.register(b)})();(function(){EditorUi.VERSION="26.2.2";EditorUi.compactUi="atlas"!=Editor.currentTheme||window.DRAWIO_PUBLIC_BUILD;Editor.isDarkMode()&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&"1"!=urlParams.lockdown&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"https://preprod.diagrams.net/"!=window.location.hostname&&"support.draw.io"!=window.location.hostname&& +(function(){var b=new mxObjectCodec(new ChangeGridColor,["ui"]);b.beforeDecode=function(e,f,c){c.ui=e.ui;return f};mxCodecRegistry.register(b)})();(function(){EditorUi.VERSION="26.2.7";EditorUi.compactUi="atlas"!=Editor.currentTheme||window.DRAWIO_PUBLIC_BUILD;Editor.isDarkMode()&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&"1"!=urlParams.lockdown&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"https://preprod.diagrams.net/"!=window.location.hostname&&"support.draw.io"!=window.location.hostname&& "test.draw.io"!=window.location.hostname;EditorUi.drawHost=window.DRAWIO_BASE_URL;EditorUi.lightboxHost=window.DRAWIO_LIGHTBOX_URL;EditorUi.lastErrorMessage=null;EditorUi.ignoredAnonymizedChars="\n\t`~!@#$%^&*()_+{}|:\"<>?-=[];'./,\n\t";EditorUi.templateFile=TEMPLATE_PATH+"/index.xml";EditorUi.cacheUrl=window.REALTIME_URL;null==EditorUi.cacheUrl&&"undefined"!==typeof DrawioFile&&(DrawioFile.SYNC="none");Editor.cacheTimeout=1E4;EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp= null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.nativeFileSupport=!mxClient.IS_OP&&!EditorUi.isElectronApp&&"1"!=urlParams.extAuth&&"showSaveFilePicker"in window&&"showOpenFilePicker"in window;EditorUi.enableDrafts=!mxClient.IS_CHROMEAPP&&isLocalStorage&&"0"!=urlParams.drafts;EditorUi.scratchpadHelpLink="https://www.drawio.com/doc/faq/scratchpad";EditorUi.enableHtmlEditOption=!0;EditorUi.mermaidDiagramTypes="flowchart classDiagram sequenceDiagram stateDiagram mindmap graph erDiagram requirementDiagram journey gantt pie gitGraph".split(" "); EditorUi.defaultMermaidConfig={theme:"neutral",arrowMarkerAbsolute:!1,flowchart:{htmlLabels:!1},sequence:{diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,mirrorActors:!0,bottomMarginAdj:1,useMaxWidth:!0,rightAngles:!1,showSequenceNumbers:!1},gantt:{titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'"Open-Sans", "sans-serif"',numberSectionStyles:4,axisFormat:"%Y-%m-%d"}}; -EditorUi.logError=function(d,g,k,m,t,y,A){if(null!=d){t=null!=t?t:Error(d);t.stack=null!=t.stack?t.stack:"";y=null!=y?y:0>d.indexOf("NetworkError")&&0>d.indexOf("SecurityError")&&0>d.indexOf("NS_ERROR_FAILURE")&&0>d.indexOf("out of memory")?"SEVERE":"CONFIG";try{EditorUi.enableLogging&&"1"!=urlParams.dev&&d!=EditorUi.lastErrorMessage&&0>d.indexOf("extension:")&&0>d.indexOf("ResizeObserver loop completed with undelivered notifications")&&0>t.stack.indexOf("extension:")&&0>t.stack.indexOf(":")&& -0>t.stack.indexOf("/math/es5/")&&(EditorUi.lastErrorMessage=d,(new Image).src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?severity="+y+"&v="+encodeURIComponent(EditorUi.VERSION)+"&msg=clientError:"+encodeURIComponent(d)+":url:"+encodeURIComponent(window.location.href)+":lnum:"+encodeURIComponent(k)+(null!=m?":colno:"+encodeURIComponent(m):"")+(""!=t.stack?"&stack="+encodeURIComponent(t.stack):""))}catch(I){}try{A||null==window.console||console.error(y,d,g,k,m,t)}catch(I){}}};EditorUi.logEvent= +EditorUi.logError=function(d,g,k,m,t,y,z){if(null!=d){t=null!=t?t:Error(d);t.stack=null!=t.stack?t.stack:"";y=null!=y?y:0>d.indexOf("NetworkError")&&0>d.indexOf("SecurityError")&&0>d.indexOf("NS_ERROR_FAILURE")&&0>d.indexOf("out of memory")?"SEVERE":"CONFIG";try{EditorUi.enableLogging&&"1"!=urlParams.dev&&d!=EditorUi.lastErrorMessage&&0>d.indexOf("extension:")&&0>d.indexOf("ResizeObserver loop completed with undelivered notifications")&&0>t.stack.indexOf("extension:")&&0>t.stack.indexOf(":")&& +0>t.stack.indexOf("/math/es5/")&&(EditorUi.lastErrorMessage=d,(new Image).src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?severity="+y+"&v="+encodeURIComponent(EditorUi.VERSION)+"&msg=clientError:"+encodeURIComponent(d)+":url:"+encodeURIComponent(window.location.href)+":lnum:"+encodeURIComponent(k)+(null!=m?":colno:"+encodeURIComponent(m):"")+(""!=t.stack?"&stack="+encodeURIComponent(t.stack):""))}catch(I){}try{z||null==window.console||console.error(y,d,g,k,m,t)}catch(I){}}};EditorUi.logEvent= function(d){if("1"==urlParams.dev)EditorUi.debug("logEvent",d);else if(EditorUi.enableLogging)try{var g=null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"";(new Image).src=g+"/images/1x1.png?v="+encodeURIComponent(EditorUi.VERSION)+(null!=d?"&data="+encodeURIComponent(JSON.stringify(d)):"")}catch(k){}};EditorUi.sendReport=function(d,g){if("1"==urlParams.dev)EditorUi.debug("sendReport",d);else if(EditorUi.enableLogging)try{g=null!=g?g:5E4,d.length>g&&(d=d.substring(0,g)+"\n...[SHORTENED]"),mxUtils.post("/email", "version="+encodeURIComponent(EditorUi.VERSION)+"&url="+encodeURIComponent(window.location.href)+"&data="+encodeURIComponent(d))}catch(k){}};EditorUi.debug=function(){try{if(null!=window.console&&"1"==urlParams.test){for(var d=[(new Date).toISOString()],g=0;g=y.keyCode)||m.isSelectionEmpty()||mxEvent.isAltDown(y)||mxEvent.isShiftDown(y)||mxEvent.isControlDown(y)||mxClient.IS_MAC&&mxEvent.isMetaDown(y)?k.apply(this,arguments):null}}return g};var e=EditorUi.prototype.extractGraphModelFromHtml;EditorUi.prototype.extractGraphModelFromHtml=function(d){var g=e.apply(this,arguments);if(null==g)try{var k=d.indexOf("<mxfile ");if(0<=k){var m=d.lastIndexOf("</mxfile>");m>k&&(g=d.substring(k, -m+15).replace(/>/g,">").replace(/</g,"<").replace(/\\"/g,'"').replace(/\n/g,""))}else{var t=mxUtils.parseXml(d),y=this.editor.extractGraphModel(t.documentElement,null!=this.pages||"hidden"==this.diagramContainer.style.visibility);g=null!=y?mxUtils.getXml(y):""}}catch(A){}return g};EditorUi.prototype.validateFileData=function(d){if(null!=d&&0');0<=g&&(d=d.slice(0,g)+''+d.slice(g+23-1,d.length));d=Graph.zapGremlins(d)}return d}; +m+15).replace(/>/g,">").replace(/</g,"<").replace(/\\"/g,'"').replace(/\n/g,""))}else{var t=mxUtils.parseXml(d),y=this.editor.extractGraphModel(t.documentElement,null!=this.pages||"hidden"==this.diagramContainer.style.visibility);g=null!=y?mxUtils.getXml(y):""}}catch(z){}return g};EditorUi.prototype.validateFileData=function(d){if(null!=d&&0');0<=g&&(d=d.slice(0,g)+''+d.slice(g+23-1,d.length));d=Graph.zapGremlins(d)}return d}; EditorUi.prototype.replaceFileData=function(d,g){EditorUi.debug("EditorUi.replaceFileData",[this],"data",[d],"patches",g);d=this.validateFileData(d);d=null!=d&&0\n':">")+"\n\n"+(null==t?null!=k?""+mxUtils.htmlEntities(k)+"\n":"":"draw.io\n")+ -(null!=t?'\n":"")+"\n':">")+'\n
\n
'+m+"
\n
\n"+(null==t?'