HEX
Server: nginx/1.28.1
System: Linux VM-0-12-opencloudos 6.6.117-45.oc9.x86_64 #1 SMP Thu Dec 4 10:26:39 CST 2025 x86_64
User: www (1000)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/www.waciwang.com/wp-content/plugins/gutenberg/build/scripts/url/index.js.map
{
  "version": 3,
  "sources": ["../../../node_modules/remove-accents/index.js", "../../../packages/url/src/is-url.ts", "../../../packages/url/src/is-email.ts", "../../../packages/url/src/is-phone-number.ts", "../../../packages/url/src/get-protocol.ts", "../../../packages/url/src/is-valid-protocol.ts", "../../../packages/url/src/get-authority.ts", "../../../packages/url/src/is-valid-authority.ts", "../../../packages/url/src/get-path.ts", "../../../packages/url/src/is-valid-path.ts", "../../../packages/url/src/get-query-string.ts", "../../../packages/url/src/build-query-string.ts", "../../../packages/url/src/is-valid-query-string.ts", "../../../packages/url/src/get-path-and-query-string.ts", "../../../packages/url/src/get-fragment.ts", "../../../packages/url/src/is-valid-fragment.ts", "../../../packages/url/src/safe-decode-uri-component.ts", "../../../packages/url/src/get-query-args.ts", "../../../packages/url/src/add-query-args.ts", "../../../packages/url/src/get-query-arg.ts", "../../../packages/url/src/has-query-arg.ts", "../../../packages/url/src/remove-query-args.ts", "../../../packages/url/src/prepend-http.ts", "../../../packages/url/src/safe-decode-uri.ts", "../../../packages/url/src/filter-url-for-display.ts", "../../../packages/url/src/clean-for-slug.ts", "../../../packages/url/src/get-filename.ts", "../../../packages/url/src/normalize-path.ts", "../../../packages/url/src/prepend-https.ts"],
  "sourcesContent": ["var characterMap = {\n\t\"\u00C0\": \"A\",\n\t\"\u00C1\": \"A\",\n\t\"\u00C2\": \"A\",\n\t\"\u00C3\": \"A\",\n\t\"\u00C4\": \"A\",\n\t\"\u00C5\": \"A\",\n\t\"\u1EA4\": \"A\",\n\t\"\u1EAE\": \"A\",\n\t\"\u1EB2\": \"A\",\n\t\"\u1EB4\": \"A\",\n\t\"\u1EB6\": \"A\",\n\t\"\u00C6\": \"AE\",\n\t\"\u1EA6\": \"A\",\n\t\"\u1EB0\": \"A\",\n\t\"\u0202\": \"A\",\n\t\"\u1EA2\": \"A\",\n\t\"\u1EA0\": \"A\",\n\t\"\u1EA8\": \"A\",\n\t\"\u1EAA\": \"A\",\n\t\"\u1EAC\": \"A\",\n\t\"\u00C7\": \"C\",\n\t\"\u1E08\": \"C\",\n\t\"\u00C8\": \"E\",\n\t\"\u00C9\": \"E\",\n\t\"\u00CA\": \"E\",\n\t\"\u00CB\": \"E\",\n\t\"\u1EBE\": \"E\",\n\t\"\u1E16\": \"E\",\n\t\"\u1EC0\": \"E\",\n\t\"\u1E14\": \"E\",\n\t\"\u1E1C\": \"E\",\n\t\"\u0206\": \"E\",\n\t\"\u1EBA\": \"E\",\n\t\"\u1EBC\": \"E\",\n\t\"\u1EB8\": \"E\",\n\t\"\u1EC2\": \"E\",\n\t\"\u1EC4\": \"E\",\n\t\"\u1EC6\": \"E\",\n\t\"\u00CC\": \"I\",\n\t\"\u00CD\": \"I\",\n\t\"\u00CE\": \"I\",\n\t\"\u00CF\": \"I\",\n\t\"\u1E2E\": \"I\",\n\t\"\u020A\": \"I\",\n\t\"\u1EC8\": \"I\",\n\t\"\u1ECA\": \"I\",\n\t\"\u00D0\": \"D\",\n\t\"\u00D1\": \"N\",\n\t\"\u00D2\": \"O\",\n\t\"\u00D3\": \"O\",\n\t\"\u00D4\": \"O\",\n\t\"\u00D5\": \"O\",\n\t\"\u00D6\": \"O\",\n\t\"\u00D8\": \"O\",\n\t\"\u1ED0\": \"O\",\n\t\"\u1E4C\": \"O\",\n\t\"\u1E52\": \"O\",\n\t\"\u020E\": \"O\",\n\t\"\u1ECE\": \"O\",\n\t\"\u1ECC\": \"O\",\n\t\"\u1ED4\": \"O\",\n\t\"\u1ED6\": \"O\",\n\t\"\u1ED8\": \"O\",\n\t\"\u1EDC\": \"O\",\n\t\"\u1EDE\": \"O\",\n\t\"\u1EE0\": \"O\",\n\t\"\u1EDA\": \"O\",\n\t\"\u1EE2\": \"O\",\n\t\"\u00D9\": \"U\",\n\t\"\u00DA\": \"U\",\n\t\"\u00DB\": \"U\",\n\t\"\u00DC\": \"U\",\n\t\"\u1EE6\": \"U\",\n\t\"\u1EE4\": \"U\",\n\t\"\u1EEC\": \"U\",\n\t\"\u1EEE\": \"U\",\n\t\"\u1EF0\": \"U\",\n\t\"\u00DD\": \"Y\",\n\t\"\u00E0\": \"a\",\n\t\"\u00E1\": \"a\",\n\t\"\u00E2\": \"a\",\n\t\"\u00E3\": \"a\",\n\t\"\u00E4\": \"a\",\n\t\"\u00E5\": \"a\",\n\t\"\u1EA5\": \"a\",\n\t\"\u1EAF\": \"a\",\n\t\"\u1EB3\": \"a\",\n\t\"\u1EB5\": \"a\",\n\t\"\u1EB7\": \"a\",\n\t\"\u00E6\": \"ae\",\n\t\"\u1EA7\": \"a\",\n\t\"\u1EB1\": \"a\",\n\t\"\u0203\": \"a\",\n\t\"\u1EA3\": \"a\",\n\t\"\u1EA1\": \"a\",\n\t\"\u1EA9\": \"a\",\n\t\"\u1EAB\": \"a\",\n\t\"\u1EAD\": \"a\",\n\t\"\u00E7\": \"c\",\n\t\"\u1E09\": \"c\",\n\t\"\u00E8\": \"e\",\n\t\"\u00E9\": \"e\",\n\t\"\u00EA\": \"e\",\n\t\"\u00EB\": \"e\",\n\t\"\u1EBF\": \"e\",\n\t\"\u1E17\": \"e\",\n\t\"\u1EC1\": \"e\",\n\t\"\u1E15\": \"e\",\n\t\"\u1E1D\": \"e\",\n\t\"\u0207\": \"e\",\n\t\"\u1EBB\": \"e\",\n\t\"\u1EBD\": \"e\",\n\t\"\u1EB9\": \"e\",\n\t\"\u1EC3\": \"e\",\n\t\"\u1EC5\": \"e\",\n\t\"\u1EC7\": \"e\",\n\t\"\u00EC\": \"i\",\n\t\"\u00ED\": \"i\",\n\t\"\u00EE\": \"i\",\n\t\"\u00EF\": \"i\",\n\t\"\u1E2F\": \"i\",\n\t\"\u020B\": \"i\",\n\t\"\u1EC9\": \"i\",\n\t\"\u1ECB\": \"i\",\n\t\"\u00F0\": \"d\",\n\t\"\u00F1\": \"n\",\n\t\"\u00F2\": \"o\",\n\t\"\u00F3\": \"o\",\n\t\"\u00F4\": \"o\",\n\t\"\u00F5\": \"o\",\n\t\"\u00F6\": \"o\",\n\t\"\u00F8\": \"o\",\n\t\"\u1ED1\": \"o\",\n\t\"\u1E4D\": \"o\",\n\t\"\u1E53\": \"o\",\n\t\"\u020F\": \"o\",\n\t\"\u1ECF\": \"o\",\n\t\"\u1ECD\": \"o\",\n\t\"\u1ED5\": \"o\",\n\t\"\u1ED7\": \"o\",\n\t\"\u1ED9\": \"o\",\n\t\"\u1EDD\": \"o\",\n\t\"\u1EDF\": \"o\",\n\t\"\u1EE1\": \"o\",\n\t\"\u1EDB\": \"o\",\n\t\"\u1EE3\": \"o\",\n\t\"\u00F9\": \"u\",\n\t\"\u00FA\": \"u\",\n\t\"\u00FB\": \"u\",\n\t\"\u00FC\": \"u\",\n\t\"\u1EE7\": \"u\",\n\t\"\u1EE5\": \"u\",\n\t\"\u1EED\": \"u\",\n\t\"\u1EEF\": \"u\",\n\t\"\u1EF1\": \"u\",\n\t\"\u00FD\": \"y\",\n\t\"\u00FF\": \"y\",\n\t\"\u0100\": \"A\",\n\t\"\u0101\": \"a\",\n\t\"\u0102\": \"A\",\n\t\"\u0103\": \"a\",\n\t\"\u0104\": \"A\",\n\t\"\u0105\": \"a\",\n\t\"\u0106\": \"C\",\n\t\"\u0107\": \"c\",\n\t\"\u0108\": \"C\",\n\t\"\u0109\": \"c\",\n\t\"\u010A\": \"C\",\n\t\"\u010B\": \"c\",\n\t\"\u010C\": \"C\",\n\t\"\u010D\": \"c\",\n\t\"C\u0306\": \"C\",\n\t\"c\u0306\": \"c\",\n\t\"\u010E\": \"D\",\n\t\"\u010F\": \"d\",\n\t\"\u0110\": \"D\",\n\t\"\u0111\": \"d\",\n\t\"\u0112\": \"E\",\n\t\"\u0113\": \"e\",\n\t\"\u0114\": \"E\",\n\t\"\u0115\": \"e\",\n\t\"\u0116\": \"E\",\n\t\"\u0117\": \"e\",\n\t\"\u0118\": \"E\",\n\t\"\u0119\": \"e\",\n\t\"\u011A\": \"E\",\n\t\"\u011B\": \"e\",\n\t\"\u011C\": \"G\",\n\t\"\u01F4\": \"G\",\n\t\"\u011D\": \"g\",\n\t\"\u01F5\": \"g\",\n\t\"\u011E\": \"G\",\n\t\"\u011F\": \"g\",\n\t\"\u0120\": \"G\",\n\t\"\u0121\": \"g\",\n\t\"\u0122\": \"G\",\n\t\"\u0123\": \"g\",\n\t\"\u0124\": \"H\",\n\t\"\u0125\": \"h\",\n\t\"\u0126\": \"H\",\n\t\"\u0127\": \"h\",\n\t\"\u1E2A\": \"H\",\n\t\"\u1E2B\": \"h\",\n\t\"\u0128\": \"I\",\n\t\"\u0129\": \"i\",\n\t\"\u012A\": \"I\",\n\t\"\u012B\": \"i\",\n\t\"\u012C\": \"I\",\n\t\"\u012D\": \"i\",\n\t\"\u012E\": \"I\",\n\t\"\u012F\": \"i\",\n\t\"\u0130\": \"I\",\n\t\"\u0131\": \"i\",\n\t\"\u0132\": \"IJ\",\n\t\"\u0133\": \"ij\",\n\t\"\u0134\": \"J\",\n\t\"\u0135\": \"j\",\n\t\"\u0136\": \"K\",\n\t\"\u0137\": \"k\",\n\t\"\u1E30\": \"K\",\n\t\"\u1E31\": \"k\",\n\t\"K\u0306\": \"K\",\n\t\"k\u0306\": \"k\",\n\t\"\u0139\": \"L\",\n\t\"\u013A\": \"l\",\n\t\"\u013B\": \"L\",\n\t\"\u013C\": \"l\",\n\t\"\u013D\": \"L\",\n\t\"\u013E\": \"l\",\n\t\"\u013F\": \"L\",\n\t\"\u0140\": \"l\",\n\t\"\u0141\": \"l\",\n\t\"\u0142\": \"l\",\n\t\"\u1E3E\": \"M\",\n\t\"\u1E3F\": \"m\",\n\t\"M\u0306\": \"M\",\n\t\"m\u0306\": \"m\",\n\t\"\u0143\": \"N\",\n\t\"\u0144\": \"n\",\n\t\"\u0145\": \"N\",\n\t\"\u0146\": \"n\",\n\t\"\u0147\": \"N\",\n\t\"\u0148\": \"n\",\n\t\"\u0149\": \"n\",\n\t\"N\u0306\": \"N\",\n\t\"n\u0306\": \"n\",\n\t\"\u014C\": \"O\",\n\t\"\u014D\": \"o\",\n\t\"\u014E\": \"O\",\n\t\"\u014F\": \"o\",\n\t\"\u0150\": \"O\",\n\t\"\u0151\": \"o\",\n\t\"\u0152\": \"OE\",\n\t\"\u0153\": \"oe\",\n\t\"P\u0306\": \"P\",\n\t\"p\u0306\": \"p\",\n\t\"\u0154\": \"R\",\n\t\"\u0155\": \"r\",\n\t\"\u0156\": \"R\",\n\t\"\u0157\": \"r\",\n\t\"\u0158\": \"R\",\n\t\"\u0159\": \"r\",\n\t\"R\u0306\": \"R\",\n\t\"r\u0306\": \"r\",\n\t\"\u0212\": \"R\",\n\t\"\u0213\": \"r\",\n\t\"\u015A\": \"S\",\n\t\"\u015B\": \"s\",\n\t\"\u015C\": \"S\",\n\t\"\u015D\": \"s\",\n\t\"\u015E\": \"S\",\n\t\"\u0218\": \"S\",\n\t\"\u0219\": \"s\",\n\t\"\u015F\": \"s\",\n\t\"\u0160\": \"S\",\n\t\"\u0161\": \"s\",\n\t\"\u0162\": \"T\",\n\t\"\u0163\": \"t\",\n\t\"\u021B\": \"t\",\n\t\"\u021A\": \"T\",\n\t\"\u0164\": \"T\",\n\t\"\u0165\": \"t\",\n\t\"\u0166\": \"T\",\n\t\"\u0167\": \"t\",\n\t\"T\u0306\": \"T\",\n\t\"t\u0306\": \"t\",\n\t\"\u0168\": \"U\",\n\t\"\u0169\": \"u\",\n\t\"\u016A\": \"U\",\n\t\"\u016B\": \"u\",\n\t\"\u016C\": \"U\",\n\t\"\u016D\": \"u\",\n\t\"\u016E\": \"U\",\n\t\"\u016F\": \"u\",\n\t\"\u0170\": \"U\",\n\t\"\u0171\": \"u\",\n\t\"\u0172\": \"U\",\n\t\"\u0173\": \"u\",\n\t\"\u0216\": \"U\",\n\t\"\u0217\": \"u\",\n\t\"V\u0306\": \"V\",\n\t\"v\u0306\": \"v\",\n\t\"\u0174\": \"W\",\n\t\"\u0175\": \"w\",\n\t\"\u1E82\": \"W\",\n\t\"\u1E83\": \"w\",\n\t\"X\u0306\": \"X\",\n\t\"x\u0306\": \"x\",\n\t\"\u0176\": \"Y\",\n\t\"\u0177\": \"y\",\n\t\"\u0178\": \"Y\",\n\t\"Y\u0306\": \"Y\",\n\t\"y\u0306\": \"y\",\n\t\"\u0179\": \"Z\",\n\t\"\u017A\": \"z\",\n\t\"\u017B\": \"Z\",\n\t\"\u017C\": \"z\",\n\t\"\u017D\": \"Z\",\n\t\"\u017E\": \"z\",\n\t\"\u017F\": \"s\",\n\t\"\u0192\": \"f\",\n\t\"\u01A0\": \"O\",\n\t\"\u01A1\": \"o\",\n\t\"\u01AF\": \"U\",\n\t\"\u01B0\": \"u\",\n\t\"\u01CD\": \"A\",\n\t\"\u01CE\": \"a\",\n\t\"\u01CF\": \"I\",\n\t\"\u01D0\": \"i\",\n\t\"\u01D1\": \"O\",\n\t\"\u01D2\": \"o\",\n\t\"\u01D3\": \"U\",\n\t\"\u01D4\": \"u\",\n\t\"\u01D5\": \"U\",\n\t\"\u01D6\": \"u\",\n\t\"\u01D7\": \"U\",\n\t\"\u01D8\": \"u\",\n\t\"\u01D9\": \"U\",\n\t\"\u01DA\": \"u\",\n\t\"\u01DB\": \"U\",\n\t\"\u01DC\": \"u\",\n\t\"\u1EE8\": \"U\",\n\t\"\u1EE9\": \"u\",\n\t\"\u1E78\": \"U\",\n\t\"\u1E79\": \"u\",\n\t\"\u01FA\": \"A\",\n\t\"\u01FB\": \"a\",\n\t\"\u01FC\": \"AE\",\n\t\"\u01FD\": \"ae\",\n\t\"\u01FE\": \"O\",\n\t\"\u01FF\": \"o\",\n\t\"\u00DE\": \"TH\",\n\t\"\u00FE\": \"th\",\n\t\"\u1E54\": \"P\",\n\t\"\u1E55\": \"p\",\n\t\"\u1E64\": \"S\",\n\t\"\u1E65\": \"s\",\n\t\"X\u0301\": \"X\",\n\t\"x\u0301\": \"x\",\n\t\"\u0403\": \"\u0413\",\n\t\"\u0453\": \"\u0433\",\n\t\"\u040C\": \"\u041A\",\n\t\"\u045C\": \"\u043A\",\n\t\"A\u030B\": \"A\",\n\t\"a\u030B\": \"a\",\n\t\"E\u030B\": \"E\",\n\t\"e\u030B\": \"e\",\n\t\"I\u030B\": \"I\",\n\t\"i\u030B\": \"i\",\n\t\"\u01F8\": \"N\",\n\t\"\u01F9\": \"n\",\n\t\"\u1ED2\": \"O\",\n\t\"\u1ED3\": \"o\",\n\t\"\u1E50\": \"O\",\n\t\"\u1E51\": \"o\",\n\t\"\u1EEA\": \"U\",\n\t\"\u1EEB\": \"u\",\n\t\"\u1E80\": \"W\",\n\t\"\u1E81\": \"w\",\n\t\"\u1EF2\": \"Y\",\n\t\"\u1EF3\": \"y\",\n\t\"\u0200\": \"A\",\n\t\"\u0201\": \"a\",\n\t\"\u0204\": \"E\",\n\t\"\u0205\": \"e\",\n\t\"\u0208\": \"I\",\n\t\"\u0209\": \"i\",\n\t\"\u020C\": \"O\",\n\t\"\u020D\": \"o\",\n\t\"\u0210\": \"R\",\n\t\"\u0211\": \"r\",\n\t\"\u0214\": \"U\",\n\t\"\u0215\": \"u\",\n\t\"B\u030C\": \"B\",\n\t\"b\u030C\": \"b\",\n\t\"\u010C\u0323\": \"C\",\n\t\"\u010D\u0323\": \"c\",\n\t\"\u00CA\u030C\": \"E\",\n\t\"\u00EA\u030C\": \"e\",\n\t\"F\u030C\": \"F\",\n\t\"f\u030C\": \"f\",\n\t\"\u01E6\": \"G\",\n\t\"\u01E7\": \"g\",\n\t\"\u021E\": \"H\",\n\t\"\u021F\": \"h\",\n\t\"J\u030C\": \"J\",\n\t\"\u01F0\": \"j\",\n\t\"\u01E8\": \"K\",\n\t\"\u01E9\": \"k\",\n\t\"M\u030C\": \"M\",\n\t\"m\u030C\": \"m\",\n\t\"P\u030C\": \"P\",\n\t\"p\u030C\": \"p\",\n\t\"Q\u030C\": \"Q\",\n\t\"q\u030C\": \"q\",\n\t\"\u0158\u0329\": \"R\",\n\t\"\u0159\u0329\": \"r\",\n\t\"\u1E66\": \"S\",\n\t\"\u1E67\": \"s\",\n\t\"V\u030C\": \"V\",\n\t\"v\u030C\": \"v\",\n\t\"W\u030C\": \"W\",\n\t\"w\u030C\": \"w\",\n\t\"X\u030C\": \"X\",\n\t\"x\u030C\": \"x\",\n\t\"Y\u030C\": \"Y\",\n\t\"y\u030C\": \"y\",\n\t\"A\u0327\": \"A\",\n\t\"a\u0327\": \"a\",\n\t\"B\u0327\": \"B\",\n\t\"b\u0327\": \"b\",\n\t\"\u1E10\": \"D\",\n\t\"\u1E11\": \"d\",\n\t\"\u0228\": \"E\",\n\t\"\u0229\": \"e\",\n\t\"\u0190\u0327\": \"E\",\n\t\"\u025B\u0327\": \"e\",\n\t\"\u1E28\": \"H\",\n\t\"\u1E29\": \"h\",\n\t\"I\u0327\": \"I\",\n\t\"i\u0327\": \"i\",\n\t\"\u0197\u0327\": \"I\",\n\t\"\u0268\u0327\": \"i\",\n\t\"M\u0327\": \"M\",\n\t\"m\u0327\": \"m\",\n\t\"O\u0327\": \"O\",\n\t\"o\u0327\": \"o\",\n\t\"Q\u0327\": \"Q\",\n\t\"q\u0327\": \"q\",\n\t\"U\u0327\": \"U\",\n\t\"u\u0327\": \"u\",\n\t\"X\u0327\": \"X\",\n\t\"x\u0327\": \"x\",\n\t\"Z\u0327\": \"Z\",\n\t\"z\u0327\": \"z\",\n\t\"\u0439\":\"\u0438\",\n\t\"\u0419\":\"\u0418\",\n\t\"\u0451\":\"\u0435\",\n\t\"\u0401\":\"\u0415\",\n};\n\nvar chars = Object.keys(characterMap).join('|');\nvar allAccents = new RegExp(chars, 'g');\nvar firstAccent = new RegExp(chars, '');\n\nfunction matcher(match) {\n\treturn characterMap[match];\n}\n\nvar removeAccents = function(string) {\n\treturn string.replace(allAccents, matcher);\n};\n\nvar hasAccents = function(string) {\n\treturn !!string.match(firstAccent);\n};\n\nmodule.exports = removeAccents;\nmodule.exports.has = hasAccents;\nmodule.exports.remove = removeAccents;\n", "/**\n * Determines whether the given string looks like a URL.\n *\n * @param url The string to scrutinise.\n *\n * @example\n * ```js\n * const isURL = isURL( 'https://wordpress.org' ); // true\n * ```\n *\n * @see https://url.spec.whatwg.org/\n * @see https://url.spec.whatwg.org/#valid-url-string\n *\n * @return Whether or not it looks like a URL.\n */\nexport function isURL( url: string ): boolean {\n\t// A URL can be considered value if the `URL` constructor is able to parse\n\t// it. The constructor throws an error for an invalid URL.\n\ttry {\n\t\tnew URL( url );\n\t\treturn true;\n\t} catch {\n\t\treturn false;\n\t}\n}\n", "const EMAIL_REGEXP =\n\t/^(mailto:)?[a-z0-9._%+-]+@[a-z0-9][a-z0-9.-]*\\.[a-z]{2,63}$/i;\n\n/**\n * Determines whether the given string looks like an email.\n *\n * @param email The string to scrutinise.\n *\n * @example\n * ```js\n * const isEmail = isEmail( 'hello@wordpress.org' ); // true\n * ```\n *\n * @return Whether or not it looks like an email.\n */\nexport function isEmail( email: string ): boolean {\n\treturn EMAIL_REGEXP.test( email );\n}\n", "const PHONE_REGEXP = /^(tel:)?(\\+)?\\d{6,15}$/;\n\n/**\n * Determines whether the given string looks like a phone number.\n *\n * @param phoneNumber The string to scrutinize.\n *\n * @example\n * ```js\n * const isPhoneNumber = isPhoneNumber('+1 (555) 123-4567'); // true\n * ```\n *\n * @return Whether or not it looks like a phone number.\n */\nexport function isPhoneNumber( phoneNumber: string ): boolean {\n\t// Remove any separator from phone number.\n\tphoneNumber = phoneNumber.replace( /[-.() ]/g, '' );\n\treturn PHONE_REGEXP.test( phoneNumber );\n}\n", "/**\n * Returns the protocol part of the URL.\n *\n * @param url The full URL.\n *\n * @example\n * ```js\n * const protocol1 = getProtocol( 'tel:012345678' ); // 'tel:'\n * const protocol2 = getProtocol( 'https://wordpress.org' ); // 'https:'\n * ```\n *\n * @return  The protocol part of the URL.\n */\nexport function getProtocol( url: string ): string | void {\n\tconst matches = /^([^\\s:]+:)/.exec( url );\n\tif ( matches ) {\n\t\treturn matches[ 1 ];\n\t}\n}\n", "/**\n * Tests if a url protocol is valid.\n *\n * @param protocol The url protocol.\n *\n * @example\n * ```js\n * const isValid = isValidProtocol( 'https:' ); // true\n * const isNotValid = isValidProtocol( 'https :' ); // false\n * ```\n *\n * @return True if the argument is a valid protocol (e.g. http:, tel:).\n */\nexport function isValidProtocol( protocol: string ): boolean {\n\tif ( ! protocol ) {\n\t\treturn false;\n\t}\n\treturn /^[a-z\\-.\\+]+[0-9]*:$/i.test( protocol );\n}\n", "/**\n * Returns the authority part of the URL.\n *\n * @param url The full URL.\n *\n * @example\n * ```js\n * const authority1 = getAuthority( 'https://wordpress.org/help/' ); // 'wordpress.org'\n * const authority2 = getAuthority( 'https://localhost:8080/test/' ); // 'localhost:8080'\n * ```\n *\n * @return The authority part of the URL.\n */\nexport function getAuthority( url: string ): string | void {\n\tconst matches = /^[^\\/\\s:]+:(?:\\/\\/)?\\/?([^\\/\\s#?]+)[\\/#?]{0,1}\\S*$/.exec(\n\t\turl\n\t);\n\tif ( matches ) {\n\t\treturn matches[ 1 ];\n\t}\n}\n", "/**\n * Checks for invalid characters within the provided authority.\n *\n * @param authority A string containing the URL authority.\n *\n * @example\n * ```js\n * const isValid = isValidAuthority( 'wordpress.org' ); // true\n * const isNotValid = isValidAuthority( 'wordpress#org' ); // false\n * ```\n *\n * @return True if the argument contains a valid authority.\n */\nexport function isValidAuthority( authority: string ): boolean {\n\tif ( ! authority ) {\n\t\treturn false;\n\t}\n\treturn /^[^\\s#?]+$/.test( authority );\n}\n", "/**\n * Returns the path part of the URL.\n *\n * @param url The full URL.\n *\n * @example\n * ```js\n * const path1 = getPath( 'http://localhost:8080/this/is/a/test?query=true' ); // 'this/is/a/test'\n * const path2 = getPath( 'https://wordpress.org/help/faq/' ); // 'help/faq'\n * ```\n *\n * @return The path part of the URL.\n */\nexport function getPath( url: string ): string | void {\n\tconst matches =\n\t\t/^[^\\/\\s:]+:(?:\\/\\/)?[^\\/\\s#?]+[\\/]([^\\s#?]+)[#?]{0,1}\\S*$/.exec( url );\n\tif ( matches ) {\n\t\treturn matches[ 1 ];\n\t}\n}\n", "/**\n * Checks for invalid characters within the provided path.\n *\n * @param path The URL path.\n *\n * @example\n * ```js\n * const isValid = isValidPath( 'test/path/' ); // true\n * const isNotValid = isValidPath( '/invalid?test/path/' ); // false\n * ```\n *\n * @return True if the argument contains a valid path\n */\nexport function isValidPath( path: string ): boolean {\n\tif ( ! path ) {\n\t\treturn false;\n\t}\n\treturn /^[^\\s#?]+$/.test( path );\n}\n", "/**\n * Returns the query string part of the URL.\n *\n * @param url The full URL.\n *\n * @example\n * ```js\n * const queryString = getQueryString( 'http://localhost:8080/this/is/a/test?query=true#fragment' ); // 'query=true'\n * ```\n *\n * @return The query string part of the URL.\n */\nexport function getQueryString( url: string ): string | void {\n\tlet query;\n\ttry {\n\t\tquery = new URL( url, 'http://example.com' ).search.substring( 1 );\n\t} catch ( error ) {}\n\n\tif ( query ) {\n\t\treturn query;\n\t}\n}\n", "/**\n * Generates URL-encoded query string using input query data.\n *\n * It is intended to behave equivalent as PHP's `http_build_query`, configured\n * with encoding type PHP_QUERY_RFC3986 (spaces as `%20`).\n *\n * @example\n * ```js\n * const queryString = buildQueryString( {\n *    simple: 'is ok',\n *    arrays: [ 'are', 'fine', 'too' ],\n *    objects: {\n *       evenNested: {\n *          ok: 'yes',\n *       },\n *    },\n * } );\n * // \"simple=is%20ok&arrays%5B0%5D=are&arrays%5B1%5D=fine&arrays%5B2%5D=too&objects%5BevenNested%5D%5Bok%5D=yes\"\n * ```\n *\n * @param data Data to encode.\n *\n * @return Query string.\n */\nexport function buildQueryString( data: Record< string, unknown > ): string {\n\tlet string = '';\n\n\tconst stack: Array< [ string, unknown ] > = Object.entries( data );\n\n\tlet pair;\n\twhile ( ( pair = stack.shift() ) ) {\n\t\tlet [ key, value ] = pair;\n\n\t\t// Support building deeply nested data, from array or object values.\n\t\tconst hasNestedData =\n\t\t\tArray.isArray( value ) || ( value && value.constructor === Object );\n\n\t\tif ( hasNestedData ) {\n\t\t\t// Push array or object values onto the stack as composed of their\n\t\t\t// original key and nested index or key, retaining order by a\n\t\t\t// combination of Array#reverse and Array#unshift onto the stack.\n\t\t\tconst valuePairs = Object.entries( value as object ).reverse();\n\t\t\tfor ( const [ member, memberValue ] of valuePairs ) {\n\t\t\t\tstack.unshift( [ `${ key }[${ member }]`, memberValue ] );\n\t\t\t}\n\t\t} else if ( value !== undefined ) {\n\t\t\t// Null is treated as special case, equivalent to empty string.\n\t\t\tif ( value === null ) {\n\t\t\t\tvalue = '';\n\t\t\t}\n\n\t\t\tstring +=\n\t\t\t\t'&' +\n\t\t\t\t[ key, String( value ) ].map( encodeURIComponent ).join( '=' );\n\t\t}\n\t}\n\n\t// Loop will concatenate with leading `&`, but it's only expected for all\n\t// but the first query parameter. This strips the leading `&`, while still\n\t// accounting for the case that the string may in-fact be empty.\n\treturn string.substr( 1 );\n}\n", "/**\n * Checks for invalid characters within the provided query string.\n *\n * @param queryString The query string.\n *\n * @example\n * ```js\n * const isValid = isValidQueryString( 'query=true&another=false' ); // true\n * const isNotValid = isValidQueryString( 'query=true?another=false' ); // false\n * ```\n *\n * @return True if the argument contains a valid query string.\n */\nexport function isValidQueryString( queryString: string ): boolean {\n\tif ( ! queryString ) {\n\t\treturn false;\n\t}\n\treturn /^[^\\s#?\\/]+$/.test( queryString );\n}\n", "/**\n * Internal dependencies\n */\nimport { getPath, getQueryString } from '.';\n\n/**\n * Returns the path part and query string part of the URL.\n *\n * @param url The full URL.\n *\n * @example\n * ```js\n * const pathAndQueryString1 = getPathAndQueryString( 'http://localhost:8080/this/is/a/test?query=true' ); // '/this/is/a/test?query=true'\n * const pathAndQueryString2 = getPathAndQueryString( 'https://wordpress.org/help/faq/' ); // '/help/faq'\n * ```\n *\n * @return The path part and query string part of the URL.\n */\nexport function getPathAndQueryString( url: string ): string {\n\tconst path = getPath( url );\n\tconst queryString = getQueryString( url );\n\tlet value = '/';\n\tif ( path ) {\n\t\tvalue += path;\n\t}\n\tif ( queryString ) {\n\t\tvalue += `?${ queryString }`;\n\t}\n\treturn value;\n}\n", "/**\n * Returns the fragment part of the URL.\n *\n * @param url The full URL\n *\n * @example\n * ```js\n * const fragment1 = getFragment( 'http://localhost:8080/this/is/a/test?query=true#fragment' ); // '#fragment'\n * const fragment2 = getFragment( 'https://wordpress.org#another-fragment?query=true' ); // '#another-fragment'\n * ```\n *\n * @return The fragment part of the URL.\n */\nexport function getFragment( url: string ): string | void {\n\tconst matches = /^\\S+?(#[^\\s\\?]*)/.exec( url );\n\tif ( matches ) {\n\t\treturn matches[ 1 ];\n\t}\n}\n", "/**\n * Checks for invalid characters within the provided fragment.\n *\n * @param fragment The url fragment.\n *\n * @example\n * ```js\n * const isValid = isValidFragment( '#valid-fragment' ); // true\n * const isNotValid = isValidFragment( '#invalid-#fragment' ); // false\n * ```\n *\n * @return True if the argument contains a valid fragment.\n */\nexport function isValidFragment( fragment: string ): boolean {\n\tif ( ! fragment ) {\n\t\treturn false;\n\t}\n\treturn /^#[^\\s#?\\/]*$/.test( fragment );\n}\n", "/**\n * Safely decodes a URI component with `decodeURIComponent`. Returns the URI component unmodified if\n * `decodeURIComponent` throws an error.\n *\n * @param uriComponent URI component to decode.\n *\n * @return Decoded URI component if possible.\n */\nexport function safeDecodeURIComponent( uriComponent: string ): string {\n\ttry {\n\t\treturn decodeURIComponent( uriComponent );\n\t} catch ( uriComponentError ) {\n\t\treturn uriComponent;\n\t}\n}\n", "/**\n * Internal dependencies\n */\nimport { safeDecodeURIComponent } from './safe-decode-uri-component';\nimport { getQueryString } from './get-query-string';\nimport type { QueryArgParsed } from './get-query-arg';\n\ntype QueryArgs = Record< string, QueryArgParsed >;\n\n/**\n * Sets a value in object deeply by a given array of path segments. Mutates the\n * object reference.\n *\n * @param object Object in which to assign.\n * @param path   Path segment at which to set value.\n * @param value  Value to set.\n */\nfunction setPath( object: Record< string, any >, path: string[], value: any ) {\n\tconst length = path.length;\n\tconst lastIndex = length - 1;\n\tfor ( let i = 0; i < length; i++ ) {\n\t\tlet key = path[ i ];\n\n\t\tif ( ! key && Array.isArray( object ) ) {\n\t\t\t// If key is empty string and next value is array, derive key from\n\t\t\t// the current length of the array.\n\t\t\tkey = object.length.toString();\n\t\t}\n\n\t\tkey = [ '__proto__', 'constructor', 'prototype' ].includes( key )\n\t\t\t? key.toUpperCase()\n\t\t\t: key;\n\n\t\t// If the next key in the path is numeric (or empty string), it will be\n\t\t// created as an array. Otherwise, it will be created as an object.\n\t\tconst isNextKeyArrayIndex = ! isNaN( Number( path[ i + 1 ] ) );\n\n\t\tobject[ key ] =\n\t\t\ti === lastIndex\n\t\t\t\t? // If at end of path, assign the intended value.\n\t\t\t\t  value\n\t\t\t\t: // Otherwise, advance to the next object in the path, creating\n\t\t\t\t  // it if it does not yet exist.\n\t\t\t\t  object[ key ] || ( isNextKeyArrayIndex ? [] : {} );\n\n\t\tif ( Array.isArray( object[ key ] ) && ! isNextKeyArrayIndex ) {\n\t\t\t// If we current key is non-numeric, but the next value is an\n\t\t\t// array, coerce the value to an object.\n\t\t\tobject[ key ] = { ...object[ key ] };\n\t\t}\n\n\t\t// Update working reference object to the next in the path.\n\t\tobject = object[ key ];\n\t}\n}\n\n/**\n * Returns an object of query arguments of the given URL. If the given URL is\n * invalid or has no querystring, an empty object is returned.\n *\n * @param url URL.\n *\n * @example\n * ```js\n * const foo = getQueryArgs( 'https://wordpress.org?foo=bar&bar=baz' );\n * // { \"foo\": \"bar\", \"bar\": \"baz\" }\n * ```\n *\n * @return Query args object.\n */\nexport function getQueryArgs( url: string ): QueryArgs {\n\treturn (\n\t\t( getQueryString( url ) || '' )\n\t\t\t// Normalize space encoding, accounting for PHP URL encoding\n\t\t\t// corresponding to `application/x-www-form-urlencoded`.\n\t\t\t//\n\t\t\t// See: https://tools.ietf.org/html/rfc1866#section-8.2.1\n\t\t\t.replace( /\\+/g, '%20' )\n\t\t\t.split( '&' )\n\t\t\t.reduce( ( accumulator, keyValue ) => {\n\t\t\t\tconst [ key, value = '' ] = keyValue\n\t\t\t\t\t.split( '=' )\n\t\t\t\t\t// Filtering avoids decoding as `undefined` for value, where\n\t\t\t\t\t// default is restored in destructuring assignment.\n\t\t\t\t\t.filter( Boolean )\n\t\t\t\t\t.map( safeDecodeURIComponent );\n\n\t\t\t\tif ( key ) {\n\t\t\t\t\tconst segments = key.replace( /\\]/g, '' ).split( '[' );\n\t\t\t\t\tsetPath( accumulator, segments, value );\n\t\t\t\t}\n\n\t\t\t\treturn accumulator;\n\t\t\t}, Object.create( null ) )\n\t);\n}\n", "/**\n * Internal dependencies\n */\nimport { getQueryArgs } from './get-query-args';\nimport { buildQueryString } from './build-query-string';\nimport { getFragment } from './get-fragment';\n\n/**\n * Appends arguments as querystring to the provided URL. If the URL already\n * includes query arguments, the arguments are merged with (and take precedent\n * over) the existing set.\n *\n * @param url  URL to which arguments should be appended. If omitted,\n *             only the resulting querystring is returned.\n * @param args Query arguments to apply to URL.\n *\n * @example\n * ```js\n * const newURL = addQueryArgs( 'https://google.com', { q: 'test' } ); // https://google.com/?q=test\n * ```\n *\n * @return URL with arguments applied.\n */\nexport function addQueryArgs(\n\turl: string = '',\n\targs?: Record< string, unknown >\n): string {\n\t// If no arguments are to be appended, return original URL.\n\tif ( ! args || ! Object.keys( args ).length ) {\n\t\treturn url;\n\t}\n\n\tconst fragment = getFragment( url ) || '';\n\tlet baseUrl = url.replace( fragment, '' );\n\n\t// Determine whether URL already had query arguments.\n\tconst queryStringIndex = url.indexOf( '?' );\n\tif ( queryStringIndex !== -1 ) {\n\t\t// Merge into existing query arguments.\n\t\targs = Object.assign( getQueryArgs( url ), args );\n\n\t\t// Change working base URL to omit previous query arguments.\n\t\tbaseUrl = baseUrl.substr( 0, queryStringIndex );\n\t}\n\n\treturn baseUrl + '?' + buildQueryString( args ) + fragment;\n}\n", "/**\n * Internal dependencies\n */\nimport { getQueryArgs } from './get-query-args';\n\nexport interface QueryArgObject {\n\t[ key: string ]: QueryArgParsed;\n}\n\nexport type QueryArgParsed = string | string[] | QueryArgObject;\n\n/**\n * Returns a single query argument of the url\n *\n * @param url URL.\n * @param arg Query arg name.\n *\n * @example\n * ```js\n * const foo = getQueryArg( 'https://wordpress.org?foo=bar&bar=baz', 'foo' ); // bar\n * ```\n *\n * @return Query arg value.\n */\nexport function getQueryArg(\n\turl: string,\n\targ: string\n): QueryArgParsed | undefined {\n\treturn getQueryArgs( url )[ arg ];\n}\n", "/**\n * Internal dependencies\n */\nimport { getQueryArg } from './get-query-arg';\n\n/**\n * Determines whether the URL contains a given query arg.\n *\n * @param url URL.\n * @param arg Query arg name.\n *\n * @example\n * ```js\n * const hasBar = hasQueryArg( 'https://wordpress.org?foo=bar&bar=baz', 'bar' ); // true\n * ```\n *\n * @return Whether or not the URL contains the query arg.\n */\nexport function hasQueryArg( url: string, arg: string ): boolean {\n\treturn getQueryArg( url, arg ) !== undefined;\n}\n", "/**\n * Internal dependencies\n */\nimport { getQueryArgs } from './get-query-args';\nimport { buildQueryString } from './build-query-string';\n\n/**\n * Removes arguments from the query string of the url\n *\n * @param url  URL.\n * @param args Query Args.\n *\n * @example\n * ```js\n * const newUrl = removeQueryArgs( 'https://wordpress.org?foo=bar&bar=baz&baz=foobar', 'foo', 'bar' ); // https://wordpress.org?baz=foobar\n * ```\n *\n * @return Updated URL.\n */\nexport function removeQueryArgs( url: string, ...args: string[] ): string {\n\tconst fragment = url.replace( /^[^#]*/, '' );\n\turl = url.replace( /#.*/, '' );\n\n\tconst queryStringIndex = url.indexOf( '?' );\n\tif ( queryStringIndex === -1 ) {\n\t\treturn url + fragment;\n\t}\n\n\tconst query = getQueryArgs( url );\n\tconst baseURL = url.substr( 0, queryStringIndex );\n\targs.forEach( ( arg ) => delete query[ arg ] );\n\tconst queryString = buildQueryString( query );\n\tconst updatedUrl = queryString ? baseURL + '?' + queryString : baseURL;\n\treturn updatedUrl + fragment;\n}\n", "/**\n * Internal dependencies\n */\nimport { isEmail } from './is-email';\n\nconst USABLE_HREF_REGEXP = /^(?:[a-z]+:|#|\\?|\\.|\\/)/i;\n\n/**\n * Prepends \"http://\" to a url, if it looks like something that is meant to be a TLD.\n *\n * @param url The URL to test.\n *\n * @example\n * ```js\n * const actualURL = prependHTTP( 'wordpress.org' ); // http://wordpress.org\n * ```\n *\n * @return The updated URL.\n */\nexport function prependHTTP( url: string ): string {\n\tif ( ! url ) {\n\t\treturn url;\n\t}\n\n\turl = url.trim();\n\tif ( ! USABLE_HREF_REGEXP.test( url ) && ! isEmail( url ) ) {\n\t\treturn 'http://' + url;\n\t}\n\n\treturn url;\n}\n", "/**\n * Safely decodes a URI with `decodeURI`. Returns the URI unmodified if\n * `decodeURI` throws an error.\n *\n * @param uri URI to decode.\n *\n * @example\n * ```js\n * const badUri = safeDecodeURI( '%z' ); // does not throw an Error, simply returns '%z'\n * ```\n *\n * @return Decoded URI if possible.\n */\nexport function safeDecodeURI( uri: string ): string {\n\ttry {\n\t\treturn decodeURI( uri );\n\t} catch ( uriError ) {\n\t\treturn uri;\n\t}\n}\n", "/**\n * Returns a URL for display.\n *\n * @param url       Original URL.\n * @param maxLength URL length.\n *\n * @example\n * ```js\n * const displayUrl = filterURLForDisplay( 'https://www.wordpress.org/gutenberg/' ); // wordpress.org/gutenberg\n * const imageUrl = filterURLForDisplay( 'https://www.wordpress.org/wp-content/uploads/img.png', 20 ); // \u2026ent/uploads/img.png\n * ```\n *\n * @return Displayed URL.\n */\nexport function filterURLForDisplay(\n\turl: string,\n\tmaxLength: number | null = null\n): string {\n\tif ( ! url ) {\n\t\treturn '';\n\t}\n\n\t// Remove protocol and www prefixes.\n\tlet filteredURL = url\n\t\t.replace( /^[a-z\\-.\\+]+[0-9]*:(\\/\\/)?/i, '' )\n\t\t.replace( /^www\\./i, '' );\n\n\t// Ends with / and only has that single slash, strip it.\n\tif ( filteredURL.match( /^[^\\/]+\\/$/ ) ) {\n\t\tfilteredURL = filteredURL.replace( '/', '' );\n\t}\n\n\t// capture file name from URL\n\tconst fileRegexp = /\\/([^\\/?]+)\\.(?:[\\w]+)(?=\\?|$)/;\n\n\tif (\n\t\t! maxLength ||\n\t\tfilteredURL.length <= maxLength ||\n\t\t! filteredURL.match( fileRegexp )\n\t) {\n\t\treturn filteredURL;\n\t}\n\n\t// If the file is not greater than max length, return last portion of URL.\n\tfilteredURL = filteredURL.split( '?' )[ 0 ];\n\tconst urlPieces = filteredURL.split( '/' );\n\tconst file = urlPieces[ urlPieces.length - 1 ];\n\tif ( file.length <= maxLength ) {\n\t\treturn '\u2026' + filteredURL.slice( -maxLength );\n\t}\n\n\t// If the file is greater than max length, truncate the file.\n\tconst index = file.lastIndexOf( '.' );\n\tconst [ fileName, extension ] = [\n\t\tfile.slice( 0, index ),\n\t\tfile.slice( index + 1 ),\n\t];\n\tconst truncatedFile = fileName.slice( -3 ) + '.' + extension;\n\treturn (\n\t\tfile.slice( 0, maxLength - truncatedFile.length - 1 ) +\n\t\t'\u2026' +\n\t\ttruncatedFile\n\t);\n}\n", "/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\n\n/**\n * Performs some basic cleanup of a string for use as a post slug.\n *\n * This replicates some of what `sanitize_title_with_dashes()` does in WordPress core, but\n * is only designed to approximate what the slug will be.\n *\n * Converts Latin-1 Supplement and Latin Extended-A letters to basic Latin\n * letters. Removes combining diacritical marks. Converts whitespace, periods,\n * and forward slashes to hyphens. Removes any remaining non-word characters\n * except hyphens. Converts remaining string to lowercase. It does not account\n * for octets, HTML entities, or other encoded characters.\n *\n * @param string Title or slug to be processed.\n *\n * @return Processed string.\n */\nexport function cleanForSlug( string: string ): string {\n\tif ( ! string ) {\n\t\treturn '';\n\t}\n\treturn (\n\t\tremoveAccents( string )\n\t\t\t// Convert &nbsp, &ndash, and &mdash to hyphens.\n\t\t\t.replace( /(&nbsp;|&ndash;|&mdash;)/g, '-' )\n\t\t\t// Convert each group of whitespace, periods, and forward slashes to a hyphen.\n\t\t\t.replace( /[\\s\\./]+/g, '-' )\n\t\t\t// Remove all HTML entities.\n\t\t\t.replace( /&\\S+?;/g, '' )\n\t\t\t// Remove anything that's not a letter, number, underscore or hyphen.\n\t\t\t.replace( /[^\\p{L}\\p{N}_-]+/gu, '' )\n\t\t\t// Convert to lowercase\n\t\t\t.toLowerCase()\n\t\t\t// Replace multiple hyphens with a single one.\n\t\t\t.replace( /-+/g, '-' )\n\t\t\t// Remove any remaining leading or trailing hyphens.\n\t\t\t.replace( /(^-+)|(-+$)/g, '' )\n\t);\n}\n", "/**\n * Returns the filename part of the URL.\n *\n * @param url The full URL.\n *\n * @example\n * ```js\n * const filename1 = getFilename( 'http://localhost:8080/this/is/a/test.jpg' ); // 'test.jpg'\n * const filename2 = getFilename( '/this/is/a/test.png' ); // 'test.png'\n * ```\n *\n * @return The filename part of the URL.\n */\nexport function getFilename( url: string ): string | void {\n\tlet filename;\n\n\tif ( ! url ) {\n\t\treturn;\n\t}\n\n\ttry {\n\t\tfilename = new URL( url, 'http://example.com' ).pathname\n\t\t\t.split( '/' )\n\t\t\t.pop();\n\t} catch ( error ) {}\n\n\tif ( filename ) {\n\t\treturn filename;\n\t}\n}\n", "/**\n * Given a path, returns a normalized path where equal query parameter values\n * will be treated as identical, regardless of order they appear in the original\n * text.\n *\n * @param path Original path.\n *\n * @return Normalized path.\n */\nexport function normalizePath( path: string ): string {\n\tconst split = path.split( '?' );\n\tconst query = split[ 1 ];\n\tconst base = split[ 0 ];\n\tif ( ! query ) {\n\t\treturn base;\n\t}\n\n\t// 'b=1%2C2&c=2&a=5'\n\treturn (\n\t\tbase +\n\t\t'?' +\n\t\tquery\n\t\t\t// [ 'b=1%2C2', 'c=2', 'a=5' ]\n\t\t\t.split( '&' )\n\t\t\t// [ [ 'b, '1%2C2' ], [ 'c', '2' ], [ 'a', '5' ] ]\n\t\t\t.map( ( entry ) => entry.split( '=' ) )\n\t\t\t// [ [ 'b', '1,2' ], [ 'c', '2' ], [ 'a', '5' ] ]\n\t\t\t.map( ( pair ) => pair.map( decodeURIComponent ) )\n\t\t\t// [ [ 'a', '5' ], [ 'b, '1,2' ], [ 'c', '2' ] ]\n\t\t\t.sort( ( a, b ) => a[ 0 ].localeCompare( b[ 0 ] ) )\n\t\t\t// [ [ 'a', '5' ], [ 'b, '1%2C2' ], [ 'c', '2' ] ]\n\t\t\t.map( ( pair ) => pair.map( encodeURIComponent ) )\n\t\t\t// [ 'a=5', 'b=1%2C2', 'c=2' ]\n\t\t\t.map( ( pair ) => pair.join( '=' ) )\n\t\t\t// 'a=5&b=1%2C2&c=2'\n\t\t\t.join( '&' )\n\t);\n}\n", "/**\n * Internal dependencies\n */\nimport { prependHTTP } from './prepend-http';\n\n/**\n * Prepends \"https://\" to a url, if it looks like something that is meant to be a TLD.\n *\n * Note: this will not replace \"http://\" with \"https://\".\n *\n * @param url The URL to test.\n *\n * @example\n * ```js\n * const actualURL = prependHTTPS( 'wordpress.org' ); // https://wordpress.org\n * ```\n *\n * @return The updated URL.\n */\nexport function prependHTTPS( url: string ): string {\n\tif ( ! url ) {\n\t\treturn url;\n\t}\n\n\t// If url starts with http://, return it as is.\n\tif ( url.startsWith( 'http://' ) ) {\n\t\treturn url;\n\t}\n\n\turl = prependHTTP( url );\n\n\treturn url.replace( /^http:/, 'https:' );\n}\n"],
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,UAAI,eAAe;AAAA,QAClB,QAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,QAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,QAAK;AAAA,QACL,UAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,QAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,QAAK;AAAA,QACL,UAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,WAAM;AAAA,QACN,WAAM;AAAA,QACN,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,WAAM;AAAA,QACN,WAAM;AAAA,QACN,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,WAAM;AAAA,QACN,WAAM;AAAA,QACN,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,WAAM;AAAA,QACN,WAAM;AAAA,QACN,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,WAAM;AAAA,QACN,WAAM;AAAA,QACN,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,WAAM;AAAA,QACN,WAAM;AAAA,QACN,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,WAAM;AAAA,QACN,WAAM;AAAA,QACN,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,WAAM;AAAA,QACN,WAAM;AAAA,QACN,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,WAAM;AAAA,QACN,WAAM;AAAA,QACN,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,WAAM;AAAA,QACN,WAAM;AAAA,QACN,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,QAAK;AAAA,QACL,QAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,WAAM;AAAA,QACN,WAAM;AAAA,QACN,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,WAAM;AAAA,QACN,WAAM;AAAA,QACN,WAAM;AAAA,QACN,WAAM;AAAA,QACN,WAAM;AAAA,QACN,WAAM;AAAA,QACN,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,UAAK;AAAA,QACL,WAAM;AAAA,QACN,WAAM;AAAA,QACN,gBAA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",
  "names": ["removeAccents", "removeAccents"]
}