{"ScriptPreparationCode":"const precomp = [\u00270\u0027,\u00271\u0027,\u00272\u0027,\u00273\u0027,\u00274\u0027,\u00275\u0027,\u00276\u0027,\u00277\u0027,\u00278\u0027,\u00279\u0027,\u0027a\u0027,\u0027b\u0027,\u0027c\u0027,\u0027d\u0027,\u0027e\u0027,\u0027f\u0027];\r\nlet hex = \u0027\u0027;\r\nlet big = crypto.getRandomValues(new BigUint64Array(1))[0];\r\nif (big \u003C 0n) throw Error(\u0027neg\u0027);","TestCases":[{"Name":"toString","Code":"hex = big.toString(16);","IsDeferred":false},{"Name":"while switch","Code":"while (big !== 0n) {\r\n switch (big \u0026 15n) {\r\n case (0n): { hex = \u00270\u0027 \u002B hex; break; }\r\n case (1n): { hex = \u00271\u0027 \u002B hex; break; }\r\n case (2n): { hex = \u00272\u0027 \u002B hex; break; }\r\n case (3n): { hex = \u00273\u0027 \u002B hex; break; }\r\n case (4n): { hex = \u00274\u0027 \u002B hex; break; }\r\n case (5n): { hex = \u00275\u0027 \u002B hex; break; }\r\n case (6n): { hex = \u00276\u0027 \u002B hex; break; }\r\n case (7n): { hex = \u00277\u0027 \u002B hex; break; }\r\n case (8n): { hex = \u00278\u0027 \u002B hex; break; }\r\n case (9n): { hex = \u00279\u0027 \u002B hex; break; }\r\n case (10n): { hex = \u0027a\u0027 \u002B hex; break; }\r\n case (11n): { hex = \u0027b\u0027 \u002B hex; break; }\r\n case (12n): { hex = \u0027c\u0027 \u002B hex; break; }\r\n case (13n): { hex = \u0027d\u0027 \u002B hex; break; }\r\n case (14n): { hex = \u0027e\u0027 \u002B hex; break; }\r\n case (15n): { hex = \u0027f\u0027 \u002B hex; break; }\r\n }\r\n big \u003E\u003E= 4n\r\n}","IsDeferred":false},{"Name":"precompute","Code":"while (big !== 0n) {\r\n hex = precomp[Number(big \u0026 15n)] \u002B hex;\r\n big \u003E\u003E= 4n;\r\n}","IsDeferred":false}]}