{"ScriptPreparationCode":"\tfunction toBase62String1(value) {\r\n\t if (!value) {\r\n\t return value.toString();\r\n\t }\r\n\t const base = 62n;\r\n\t const digits = [\r\n\t \u00220\u0022, \u00221\u0022, \u00222\u0022, \u00223\u0022, \u00224\u0022, \u00225\u0022, \u00226\u0022, \u00227\u0022,\r\n\t \u00228\u0022, \u00229\u0022, \u0022a\u0022, \u0022b\u0022, \u0022c\u0022, \u0022d\u0022, \u0022e\u0022, \u0022f\u0022,\r\n\t \u0022g\u0022, \u0022h\u0022, \u0022i\u0022, \u0022j\u0022, \u0022k\u0022, \u0022l\u0022, \u0022m\u0022, \u0022n\u0022,\r\n\t \u0022o\u0022, \u0022p\u0022, \u0022q\u0022, \u0022r\u0022, \u0022s\u0022, \u0022t\u0022, \u0022u\u0022, \u0022v\u0022,\r\n\t \u0022w\u0022, \u0022x\u0022, \u0022y\u0022, \u0022z\u0022, \u0022A\u0022, \u0022B\u0022, \u0022C\u0022, \u0022D\u0022,\r\n\t \u0022E\u0022, \u0022F\u0022, \u0022G\u0022, \u0022H\u0022, \u0022I\u0022, \u0022J\u0022, \u0022K\u0022, \u0022L\u0022,\r\n\t \u0022M\u0022, \u0022N\u0022, \u0022O\u0022, \u0022P\u0022, \u0022Q\u0022, \u0022R\u0022, \u0022S\u0022, \u0022T\u0022,\r\n\t \u0022U\u0022, \u0022V\u0022, \u0022W\u0022, \u0022X\u0022, \u0022Y\u0022, \u0022Z\u0022\r\n\t ];\r\n\t const remainders = [];\r\n\t const sign = value \u003C 0n ? \u0022-\u0022 : \u0022\u0022;\r\n\t let quotient = sign ? 0n - value : value;\r\n\t do {\r\n\t remainders.unshift(digits[Number(quotient % base)]);\r\n\t quotient /= base;\r\n\t } while (quotient);\r\n\t return \u0060${sign}${remainders.join(\u0022\u0022)}\u0060;\r\n\t}\r\n\r\n\tfunction toBase62String2(value) {\r\n\t if (!value) {\r\n\t return value.toString();\r\n\t }\r\n\t const base = 62n;\r\n\t const digits = \u00220123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\u0022;\r\n\t const sign = value \u003C 0n ? \u0022-\u0022 : \u0022\u0022;\r\n\t let quotient = sign ? 0n - value : value;\r\n\t let result = \u0022\u0022;\r\n\t do {\r\n\t result = \u0060${digits[Number(quotient % base)]}${result}\u0060;\r\n\t quotient /= base;\r\n\t } while (quotient);\r\n\t return \u0060${sign}${result}\u0060;\r\n\t}\r\n\r\n\tfunction getRandomIdString1(steps = 4) {\r\n\t let seed = \u0022\u0022;\r\n\t for (let i = 0; i \u003C steps; i\u002B\u002B) {\r\n\t seed \u002B= Math.random().toString().substring(2);\r\n\t }\r\n\t return toBase62String1(BigInt(seed));\r\n\t};\r\n\r\n\tfunction getRandomIdString2(steps = 4) {\r\n\t let seed = \u0022\u0022;\r\n\t for (let i = 0; i \u003C steps; i\u002B\u002B) {\r\n\t seed \u002B= Math.random().toString().substring(2);\r\n\t }\r\n\t return toBase62String2(BigInt(seed));\r\n\t};","TestCases":[{"Name":"Array Version","Code":"getRandomIdString1()","IsDeferred":false},{"Name":"String Version","Code":"getRandomIdString2()","IsDeferred":false}]}