GadflyOfGensokyo/index.html

2667 lines
246 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html><head><title>The Gadfly of Gensokyo</title><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><style>:root{--oc-white:#fff;--oc-white-rgb:255,255,255;--oc-black:#000;--oc-black-rgb:0,0,0;--oc-gray-0:#f8f9fa;--oc-gray-0-rgb:248,249,250;--oc-gray-1:#f1f3f5;--oc-gray-1-rgb:241,243,245;--oc-gray-2:#e9ecef;--oc-gray-2-rgb:233,236,239;--oc-gray-3:#dee2e6;--oc-gray-3-rgb:222,226,230;--oc-gray-4:#ced4da;--oc-gray-4-rgb:206,212,218;--oc-gray-5:#adb5bd;--oc-gray-5-rgb:173,181,189;--oc-gray-6:#868e96;--oc-gray-6-rgb:134,142,150;--oc-gray-7:#495057;--oc-gray-7-rgb:73,80,87;--oc-gray-8:#343a40;--oc-gray-8-rgb:52,58,64;--oc-gray-9:#212529;--oc-gray-9-rgb:33,37,41;--oc-red-0:#fff5f5;--oc-red-0-rgb:255,245,245;--oc-red-1:#ffe3e3;--oc-red-1-rgb:255,227,227;--oc-red-2:#ffc9c9;--oc-red-2-rgb:255,201,201;--oc-red-3:#ffa8a8;--oc-red-3-rgb:255,168,168;--oc-red-4:#ff8787;--oc-red-4-rgb:255,135,135;--oc-red-5:#ff6b6b;--oc-red-5-rgb:255,107,107;--oc-red-6:#fa5252;--oc-red-6-rgb:250,82,82;--oc-red-7:#f03e3e;--oc-red-7-rgb:240,62,62;--oc-red-8:#e03131;--oc-red-8-rgb:224,49,49;--oc-red-9:#c92a2a;--oc-red-9-rgb:201,42,42;--oc-pink-0:#fff0f6;--oc-pink-0-rgb:255,240,246;--oc-pink-1:#ffdeeb;--oc-pink-1-rgb:255,222,235;--oc-pink-2:#fcc2d7;--oc-pink-2-rgb:252,194,215;--oc-pink-3:#faa2c1;--oc-pink-3-rgb:250,162,193;--oc-pink-4:#f783ac;--oc-pink-4-rgb:247,131,172;--oc-pink-5:#f06595;--oc-pink-5-rgb:240,101,149;--oc-pink-6:#e64980;--oc-pink-6-rgb:230,73,128;--oc-pink-7:#d6336c;--oc-pink-7-rgb:214,51,108;--oc-pink-8:#c2255c;--oc-pink-8-rgb:194,37,92;--oc-pink-9:#a61e4d;--oc-pink-9-rgb:166,30,77;--oc-grape-0:#f8f0fc;--oc-grape-0-rgb:248,240,252;--oc-grape-1:#f3d9fa;--oc-grape-1-rgb:243,217,250;--oc-grape-2:#eebefa;--oc-grape-2-rgb:238,190,250;--oc-grape-3:#e599f7;--oc-grape-3-rgb:229,153,247;--oc-grape-4:#da77f2;--oc-grape-4-rgb:218,119,242;--oc-grape-5:#cc5de8;--oc-grape-5-rgb:204,93,232;--oc-grape-6:#be4bdb;--oc-grape-6-rgb:190,75,219;--oc-grape-7:#ae3ec9;--oc-grape-7-rgb:174,62,201;--oc-grape-8:#9c36b5;--oc-grape-8-rgb:156,54,181;--oc-grape-9:#862e9c;--oc-grape-9-rgb:134,46,156;--oc-violet-0:#f3f0ff;--oc-violet-0-rgb:243,240,255;--oc-violet-1:#e5dbff;--oc-violet-1-rgb:229,219,255;--oc-violet-2:#d0bfff;--oc-violet-2-rgb:208,191,255;--oc-violet-3:#b197fc;--oc-violet-3-rgb:177,151,252;--oc-violet-4:#9775fa;--oc-violet-4-rgb:151,117,250;--oc-violet-5:#845ef7;--oc-violet-5-rgb:132,94,247;--oc-violet-6:#7950f2;--oc-violet-6-rgb:121,80,242;--oc-violet-7:#7048e8;--oc-violet-7-rgb:112,72,232;--oc-violet-8:#6741d9;--oc-violet-8-rgb:103,65,217;--oc-violet-9:#5f3dc4;--oc-violet-9-rgb:95,61,196;--oc-indigo-0:#edf2ff;--oc-indigo-0-rgb:237,242,255;--oc-indigo-1:#dbe4ff;--oc-indigo-1-rgb:219,228,255;--oc-indigo-2:#bac8ff;--oc-indigo-2-rgb:186,200,255;--oc-indigo-3:#91a7ff;--oc-indigo-3-rgb:145,167,255;--oc-indigo-4:#748ffc;--oc-indigo-4-rgb:116,143,252;--oc-indigo-5:#5c7cfa;--oc-indigo-5-rgb:92,124,250;--oc-indigo-6:#4c6ef5;--oc-indigo-6-rgb:76,110,245;--oc-indigo-7:#4263eb;--oc-indigo-7-rgb:66,99,235;--oc-indigo-8:#3b5bdb;--oc-indigo-8-rgb:59,91,219;--oc-indigo-9:#364fc7;--oc-indigo-9-rgb:54,79,199;--oc-blue-0:#e7f5ff;--oc-blue-0-rgb:231,245,255;--oc-blue-1:#d0ebff;--oc-blue-1-rgb:208,235,255;--oc-blue-2:#a5d8ff;--oc-blue-2-rgb:165,216,255;--oc-blue-3:#74c0fc;--oc-blue-3-rgb:116,192,252;--oc-blue-4:#4dabf7;--oc-blue-4-rgb:77,171,247;--oc-blue-5:#339af0;--oc-blue-5-rgb:51,154,240;--oc-blue-6:#228be6;--oc-blue-6-rgb:34,139,230;--oc-blue-7:#1c7ed6;--oc-blue-7-rgb:28,126,214;--oc-blue-8:#1971c2;--oc-blue-8-rgb:25,113,194;--oc-blue-9:#1864ab;--oc-blue-9-rgb:24,100,171;--oc-cyan-0:#e3fafc;--oc-cyan-0-rgb:227,250,252;--oc-cyan-1:#c5f6fa;--oc-cyan-1-rgb:197,246,250;--oc-cyan-2:#99e9f2;--oc-cyan-2-rgb:153,233,242;--oc-cyan-3:#66d9e8;--oc-cyan-3-rgb:102,217,232;--oc-cyan-4:#3bc9db;--oc-cyan-4-rgb:59,201,219;--oc-cyan-5:#22b8cf;--oc-cyan-5-rgb:34,184,207;--oc-cyan-6:#15aabf;--oc-cyan-6-rgb:21,170,191;--oc-cyan-7:#1098ad;--oc-cyan-7-rgb:16,152,173;--oc-cyan-8:#0c8599;--oc-cyan-8-rgb:12,133,153;--oc-cyan-9:#0b7285;--oc-cyan-9-rgb:11,114,133;--oc-teal-0:#e6fcf5;--oc-teal-0-rgb:230,252,245;--oc-teal-1:#c3fae8;--oc-teal-1-rgb:195,250,232;--oc-teal-2:#96f2d7;--oc-teal-2-rgb:150,242,215;--oc-teal-3:#63e6be;--oc-teal-3-rgb:99,230,190;--oc-teal-4:#38d9a9;--oc-teal-4-rgb:56,217,169;--oc-teal-5:#20c997;--oc-teal-5-rgb:32,201,151;--oc-teal-6:#12b886;--oc-teal-6-rgb:18,184,134;--oc-teal-7:#0ca678;--oc-teal-7-rgb:12,166,120;--oc-teal-8:#099268;--oc-teal-8-rgb:9,146,104;--oc-teal-9:#087f5b;--oc-teal-9-rgb:8,127,91;--oc-green-0:#ebfbee;--oc-green-0-rgb:235,251,238;--oc-green-1:#d3f9d8;--oc-green-1-rgb:211,249,216;--oc-green-2:#b2f2bb;--oc-green-2-rgb:178,242,187;--oc-green-3:#8ce99a;--oc-green-3-rgb:140,233,154;--oc-green-4:#69db7c;--oc-green-4-rgb:105,219,124;--oc-green-5:#51cf66;--oc-green-5-rgb:81,207,102;--oc-green-6:#40c057;--oc-green-6-rgb:64,192,87;--oc-green-7:#37b24d;--oc-green-7-rgb:55,178,77;--oc-green-8:#2f9e44;--oc-green-8-rgb:47,158,68;--oc-green-9:#2b8a3e;--oc-green-9-rgb:43,138,62;--oc-lime-0:#f4fce3;--oc-lime-0-rgb:244,252,227;--oc-lime-1:#e9fac8;--oc-lime-1-rgb:233,250,200;--oc-lime-2:#d8f5a2;--oc-lime-2-rgb:216,245,162;--oc-lime-3:#c0eb75;--oc-lime-3-rgb:192,235,117;--oc-lime-4:#a9e34b;--oc-lime-4-rgb:169,227,75;--oc-lime-5:#94d82d;--oc-lime-5-rgb:148,216,45;--oc-lime-6:#82c91e;--oc-lime-6-rgb:130,201,30;--oc-lime-7:#74b816;--oc-lime-7-rgb:116,184,22;--oc-lime-8:#66a80f;--oc-lime-8-rgb:102,168,15;--oc-lime-9:#5c940d;--oc-lime-9-rgb:92,148,13;--oc-yellow-0:#fff9db;--oc-yellow-0-rgb:255,249,219;--oc-yellow-1:#fff3bf;--oc-yellow-1-rgb:255,243,191;--oc-yellow-2:#ffec99;--oc-yellow-2-rgb:255,236,153;--oc-yellow-3:#ffe066;--oc-yellow-3-rgb:255,224,102;--oc-yellow-4:#ffd43b;--oc-yellow-4-rgb:255,212,59;--oc-yellow-5:#fcc419;--oc-yellow-5-rgb:252,196,25;--oc-yellow-6:#fab005;--oc-yellow-6-rgb:250,176,5;--oc-yellow-7:#f59f00;--oc-yellow-7-rgb:245,159,0;--oc-yellow-8:#f08c00;--oc-yellow-8-rgb:240,140,0;--oc-yellow-9:#e67700;--oc-yellow-9-rgb:230,119,0;--oc-orange-0:#fff4e6;--oc-orange-0-rgb:255,244,230;--oc-orange-1:#ffe8cc;--oc-orange-1-rgb:255,232,204;--oc-orange-2:#ffd8a8;--oc-orange-2-rgb:255,216,168;--oc-orange-3:#ffc078;--oc-orange-3-rgb:255,192,120;--oc-orange-4:#ffa94d;--oc-orange-4-rgb:255,169,77;--oc-orange-5:#ff922b;--oc-orange-5-rgb:255,146,43;--oc-orange-6:#fd7e14;--oc-orange-6-rgb:253,126,20;--oc-orange-7:#f76707;--oc-orange-7-rgb:247,103,7;--oc-orange-8:#e8590c;--oc-orange-8-rgb:232,89,12;--oc-orange-9:#d9480f;--oc-orange-9-rgb:217,72,15}#backstage{--backstage-ui-padding:8px;--backstage-bg:var(--oc-gray-3);--backstage-fg:#000;--backstage-input-bg:transparent;--backstage-input-fg:var(--backstage-fg);--backstage-input-border:var(--backstage-fg);--backstage-table-border:var(--backstage-fg);--backstage-font-size:12px;--backstage-tab-height:28px}:root{--font-monospaced:"Courier New","Courier",monospace;--font-system:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu Cantarell,"Helvetica Neue",sans-serif}.small-caps{font-size:70%;letter-spacing:.075em;text-transform:uppercase}#backstage .panel h2{margin:0}#backstage .panel h2 button{background:none;border:none;font-size:calc(var(--backstage-font-size) - 1px);font-weight:400;padding:0 var(--backstage-ui-padding);text-align:left;width:100%}#backstage .panel h2 button:before{content:"►";display:inline-block;width:1.25em}#backstage .panel h2 button:hover{color:var(--oc-gray-7)}#backstage .panel.open h2 button:before{content:"▼"}
:root{--oc-white:#fff;--oc-white-rgb:255,255,255;--oc-black:#000;--oc-black-rgb:0,0,0;--oc-gray-0:#f8f9fa;--oc-gray-0-rgb:248,249,250;--oc-gray-1:#f1f3f5;--oc-gray-1-rgb:241,243,245;--oc-gray-2:#e9ecef;--oc-gray-2-rgb:233,236,239;--oc-gray-3:#dee2e6;--oc-gray-3-rgb:222,226,230;--oc-gray-4:#ced4da;--oc-gray-4-rgb:206,212,218;--oc-gray-5:#adb5bd;--oc-gray-5-rgb:173,181,189;--oc-gray-6:#868e96;--oc-gray-6-rgb:134,142,150;--oc-gray-7:#495057;--oc-gray-7-rgb:73,80,87;--oc-gray-8:#343a40;--oc-gray-8-rgb:52,58,64;--oc-gray-9:#212529;--oc-gray-9-rgb:33,37,41;--oc-red-0:#fff5f5;--oc-red-0-rgb:255,245,245;--oc-red-1:#ffe3e3;--oc-red-1-rgb:255,227,227;--oc-red-2:#ffc9c9;--oc-red-2-rgb:255,201,201;--oc-red-3:#ffa8a8;--oc-red-3-rgb:255,168,168;--oc-red-4:#ff8787;--oc-red-4-rgb:255,135,135;--oc-red-5:#ff6b6b;--oc-red-5-rgb:255,107,107;--oc-red-6:#fa5252;--oc-red-6-rgb:250,82,82;--oc-red-7:#f03e3e;--oc-red-7-rgb:240,62,62;--oc-red-8:#e03131;--oc-red-8-rgb:224,49,49;--oc-red-9:#c92a2a;--oc-red-9-rgb:201,42,42;--oc-pink-0:#fff0f6;--oc-pink-0-rgb:255,240,246;--oc-pink-1:#ffdeeb;--oc-pink-1-rgb:255,222,235;--oc-pink-2:#fcc2d7;--oc-pink-2-rgb:252,194,215;--oc-pink-3:#faa2c1;--oc-pink-3-rgb:250,162,193;--oc-pink-4:#f783ac;--oc-pink-4-rgb:247,131,172;--oc-pink-5:#f06595;--oc-pink-5-rgb:240,101,149;--oc-pink-6:#e64980;--oc-pink-6-rgb:230,73,128;--oc-pink-7:#d6336c;--oc-pink-7-rgb:214,51,108;--oc-pink-8:#c2255c;--oc-pink-8-rgb:194,37,92;--oc-pink-9:#a61e4d;--oc-pink-9-rgb:166,30,77;--oc-grape-0:#f8f0fc;--oc-grape-0-rgb:248,240,252;--oc-grape-1:#f3d9fa;--oc-grape-1-rgb:243,217,250;--oc-grape-2:#eebefa;--oc-grape-2-rgb:238,190,250;--oc-grape-3:#e599f7;--oc-grape-3-rgb:229,153,247;--oc-grape-4:#da77f2;--oc-grape-4-rgb:218,119,242;--oc-grape-5:#cc5de8;--oc-grape-5-rgb:204,93,232;--oc-grape-6:#be4bdb;--oc-grape-6-rgb:190,75,219;--oc-grape-7:#ae3ec9;--oc-grape-7-rgb:174,62,201;--oc-grape-8:#9c36b5;--oc-grape-8-rgb:156,54,181;--oc-grape-9:#862e9c;--oc-grape-9-rgb:134,46,156;--oc-violet-0:#f3f0ff;--oc-violet-0-rgb:243,240,255;--oc-violet-1:#e5dbff;--oc-violet-1-rgb:229,219,255;--oc-violet-2:#d0bfff;--oc-violet-2-rgb:208,191,255;--oc-violet-3:#b197fc;--oc-violet-3-rgb:177,151,252;--oc-violet-4:#9775fa;--oc-violet-4-rgb:151,117,250;--oc-violet-5:#845ef7;--oc-violet-5-rgb:132,94,247;--oc-violet-6:#7950f2;--oc-violet-6-rgb:121,80,242;--oc-violet-7:#7048e8;--oc-violet-7-rgb:112,72,232;--oc-violet-8:#6741d9;--oc-violet-8-rgb:103,65,217;--oc-violet-9:#5f3dc4;--oc-violet-9-rgb:95,61,196;--oc-indigo-0:#edf2ff;--oc-indigo-0-rgb:237,242,255;--oc-indigo-1:#dbe4ff;--oc-indigo-1-rgb:219,228,255;--oc-indigo-2:#bac8ff;--oc-indigo-2-rgb:186,200,255;--oc-indigo-3:#91a7ff;--oc-indigo-3-rgb:145,167,255;--oc-indigo-4:#748ffc;--oc-indigo-4-rgb:116,143,252;--oc-indigo-5:#5c7cfa;--oc-indigo-5-rgb:92,124,250;--oc-indigo-6:#4c6ef5;--oc-indigo-6-rgb:76,110,245;--oc-indigo-7:#4263eb;--oc-indigo-7-rgb:66,99,235;--oc-indigo-8:#3b5bdb;--oc-indigo-8-rgb:59,91,219;--oc-indigo-9:#364fc7;--oc-indigo-9-rgb:54,79,199;--oc-blue-0:#e7f5ff;--oc-blue-0-rgb:231,245,255;--oc-blue-1:#d0ebff;--oc-blue-1-rgb:208,235,255;--oc-blue-2:#a5d8ff;--oc-blue-2-rgb:165,216,255;--oc-blue-3:#74c0fc;--oc-blue-3-rgb:116,192,252;--oc-blue-4:#4dabf7;--oc-blue-4-rgb:77,171,247;--oc-blue-5:#339af0;--oc-blue-5-rgb:51,154,240;--oc-blue-6:#228be6;--oc-blue-6-rgb:34,139,230;--oc-blue-7:#1c7ed6;--oc-blue-7-rgb:28,126,214;--oc-blue-8:#1971c2;--oc-blue-8-rgb:25,113,194;--oc-blue-9:#1864ab;--oc-blue-9-rgb:24,100,171;--oc-cyan-0:#e3fafc;--oc-cyan-0-rgb:227,250,252;--oc-cyan-1:#c5f6fa;--oc-cyan-1-rgb:197,246,250;--oc-cyan-2:#99e9f2;--oc-cyan-2-rgb:153,233,242;--oc-cyan-3:#66d9e8;--oc-cyan-3-rgb:102,217,232;--oc-cyan-4:#3bc9db;--oc-cyan-4-rgb:59,201,219;--oc-cyan-5:#22b8cf;--oc-cyan-5-rgb:34,184,207;--oc-cyan-6:#15aabf;--oc-cyan-6-rgb:21,170,191;--oc-cyan-7:#1098ad;--oc-cyan-7-rgb:16,152,173;--oc-cyan-8:#0c8599;--oc-cyan-8-rgb:12,133,153;--oc-cyan-9:#0b7285;--oc-cyan-9-rgb:11,114,133;--oc-teal-0:#e6fcf5;--oc-teal-0-rgb:230,252,245;--oc-teal-1:#c3fae8;--oc-teal-1-rgb:195,250,232;--oc-teal-2:#96f2d7;--oc-teal-2-rgb:150,242,215;--oc-teal-3:#63e6be;--oc-teal-3-rgb:99,230,190;--oc-teal-4:#38d9a9;--oc-teal-4-rgb:56,217,169;--oc-teal-5:#20c997;--oc-teal-5-rgb:32,201,151;--oc-teal-6:#12b886;--oc-teal-6-rgb:18,184,134;--oc-teal-7:#0ca678;--oc-teal-7-rgb:12,166,120;--oc-teal-8:#099268;--oc-teal-8-rgb:9,146,104;--oc-teal-9:#087f5b;--oc-teal-9-rgb:8,127,91;--oc-green-0:#ebfbee;--oc-green-0-rgb:235,251,238;--oc-green-1:#d3f9d8;--oc-green-1-rgb:211,249,216;--oc-green-2:#b2f2bb;--oc-green-2-rgb:178,242,187;--oc-green-3:#8ce99a;--oc-green-3-rgb:140,233,154;--oc-green-4:#69db7c;--oc-green-4-rgb:105,219,124;--oc-green-5:#51cf66;--oc-green-5-rgb:81,207,102;--oc-green-6:#40c057;--oc-green-6-rgb:64,192,87;--oc-green-7:#37b24d;--oc-green-7-rgb:55,178,77;--oc-green-8:#2f9e44;--oc-green-8-rgb:47,158,68;--oc-green-9:#2b8a3e;--oc-green-9-rgb:43,138,62;--oc-lime-0:#f4fce3;--oc-lime-0-rgb:244,252,227;--oc-lime-1:#e9fac8;--oc-lime-1-rgb:233,250,200;--oc-lime-2:#d8f5a2;--oc-lime-2-rgb:216,245,162;--oc-lime-3:#c0eb75;--oc-lime-3-rgb:192,235,117;--oc-lime-4:#a9e34b;--oc-lime-4-rgb:169,227,75;--oc-lime-5:#94d82d;--oc-lime-5-rgb:148,216,45;--oc-lime-6:#82c91e;--oc-lime-6-rgb:130,201,30;--oc-lime-7:#74b816;--oc-lime-7-rgb:116,184,22;--oc-lime-8:#66a80f;--oc-lime-8-rgb:102,168,15;--oc-lime-9:#5c940d;--oc-lime-9-rgb:92,148,13;--oc-yellow-0:#fff9db;--oc-yellow-0-rgb:255,249,219;--oc-yellow-1:#fff3bf;--oc-yellow-1-rgb:255,243,191;--oc-yellow-2:#ffec99;--oc-yellow-2-rgb:255,236,153;--oc-yellow-3:#ffe066;--oc-yellow-3-rgb:255,224,102;--oc-yellow-4:#ffd43b;--oc-yellow-4-rgb:255,212,59;--oc-yellow-5:#fcc419;--oc-yellow-5-rgb:252,196,25;--oc-yellow-6:#fab005;--oc-yellow-6-rgb:250,176,5;--oc-yellow-7:#f59f00;--oc-yellow-7-rgb:245,159,0;--oc-yellow-8:#f08c00;--oc-yellow-8-rgb:240,140,0;--oc-yellow-9:#e67700;--oc-yellow-9-rgb:230,119,0;--oc-orange-0:#fff4e6;--oc-orange-0-rgb:255,244,230;--oc-orange-1:#ffe8cc;--oc-orange-1-rgb:255,232,204;--oc-orange-2:#ffd8a8;--oc-orange-2-rgb:255,216,168;--oc-orange-3:#ffc078;--oc-orange-3-rgb:255,192,120;--oc-orange-4:#ffa94d;--oc-orange-4-rgb:255,169,77;--oc-orange-5:#ff922b;--oc-orange-5-rgb:255,146,43;--oc-orange-6:#fd7e14;--oc-orange-6-rgb:253,126,20;--oc-orange-7:#f76707;--oc-orange-7-rgb:247,103,7;--oc-orange-8:#e8590c;--oc-orange-8-rgb:232,89,12;--oc-orange-9:#d9480f;--oc-orange-9-rgb:217,72,15}#backstage{--backstage-ui-padding:8px;--backstage-bg:var(--oc-gray-3);--backstage-fg:#000;--backstage-input-bg:transparent;--backstage-input-fg:var(--backstage-fg);--backstage-input-border:var(--backstage-fg);--backstage-table-border:var(--backstage-fg);--backstage-font-size:12px;--backstage-tab-height:28px}#backstage table.history td.actions{width:2.5em}#backstage table.history td.go{border-right:1px solid var(--backstage-fg)}
:root{--oc-white:#fff;--oc-white-rgb:255,255,255;--oc-black:#000;--oc-black-rgb:0,0,0;--oc-gray-0:#f8f9fa;--oc-gray-0-rgb:248,249,250;--oc-gray-1:#f1f3f5;--oc-gray-1-rgb:241,243,245;--oc-gray-2:#e9ecef;--oc-gray-2-rgb:233,236,239;--oc-gray-3:#dee2e6;--oc-gray-3-rgb:222,226,230;--oc-gray-4:#ced4da;--oc-gray-4-rgb:206,212,218;--oc-gray-5:#adb5bd;--oc-gray-5-rgb:173,181,189;--oc-gray-6:#868e96;--oc-gray-6-rgb:134,142,150;--oc-gray-7:#495057;--oc-gray-7-rgb:73,80,87;--oc-gray-8:#343a40;--oc-gray-8-rgb:52,58,64;--oc-gray-9:#212529;--oc-gray-9-rgb:33,37,41;--oc-red-0:#fff5f5;--oc-red-0-rgb:255,245,245;--oc-red-1:#ffe3e3;--oc-red-1-rgb:255,227,227;--oc-red-2:#ffc9c9;--oc-red-2-rgb:255,201,201;--oc-red-3:#ffa8a8;--oc-red-3-rgb:255,168,168;--oc-red-4:#ff8787;--oc-red-4-rgb:255,135,135;--oc-red-5:#ff6b6b;--oc-red-5-rgb:255,107,107;--oc-red-6:#fa5252;--oc-red-6-rgb:250,82,82;--oc-red-7:#f03e3e;--oc-red-7-rgb:240,62,62;--oc-red-8:#e03131;--oc-red-8-rgb:224,49,49;--oc-red-9:#c92a2a;--oc-red-9-rgb:201,42,42;--oc-pink-0:#fff0f6;--oc-pink-0-rgb:255,240,246;--oc-pink-1:#ffdeeb;--oc-pink-1-rgb:255,222,235;--oc-pink-2:#fcc2d7;--oc-pink-2-rgb:252,194,215;--oc-pink-3:#faa2c1;--oc-pink-3-rgb:250,162,193;--oc-pink-4:#f783ac;--oc-pink-4-rgb:247,131,172;--oc-pink-5:#f06595;--oc-pink-5-rgb:240,101,149;--oc-pink-6:#e64980;--oc-pink-6-rgb:230,73,128;--oc-pink-7:#d6336c;--oc-pink-7-rgb:214,51,108;--oc-pink-8:#c2255c;--oc-pink-8-rgb:194,37,92;--oc-pink-9:#a61e4d;--oc-pink-9-rgb:166,30,77;--oc-grape-0:#f8f0fc;--oc-grape-0-rgb:248,240,252;--oc-grape-1:#f3d9fa;--oc-grape-1-rgb:243,217,250;--oc-grape-2:#eebefa;--oc-grape-2-rgb:238,190,250;--oc-grape-3:#e599f7;--oc-grape-3-rgb:229,153,247;--oc-grape-4:#da77f2;--oc-grape-4-rgb:218,119,242;--oc-grape-5:#cc5de8;--oc-grape-5-rgb:204,93,232;--oc-grape-6:#be4bdb;--oc-grape-6-rgb:190,75,219;--oc-grape-7:#ae3ec9;--oc-grape-7-rgb:174,62,201;--oc-grape-8:#9c36b5;--oc-grape-8-rgb:156,54,181;--oc-grape-9:#862e9c;--oc-grape-9-rgb:134,46,156;--oc-violet-0:#f3f0ff;--oc-violet-0-rgb:243,240,255;--oc-violet-1:#e5dbff;--oc-violet-1-rgb:229,219,255;--oc-violet-2:#d0bfff;--oc-violet-2-rgb:208,191,255;--oc-violet-3:#b197fc;--oc-violet-3-rgb:177,151,252;--oc-violet-4:#9775fa;--oc-violet-4-rgb:151,117,250;--oc-violet-5:#845ef7;--oc-violet-5-rgb:132,94,247;--oc-violet-6:#7950f2;--oc-violet-6-rgb:121,80,242;--oc-violet-7:#7048e8;--oc-violet-7-rgb:112,72,232;--oc-violet-8:#6741d9;--oc-violet-8-rgb:103,65,217;--oc-violet-9:#5f3dc4;--oc-violet-9-rgb:95,61,196;--oc-indigo-0:#edf2ff;--oc-indigo-0-rgb:237,242,255;--oc-indigo-1:#dbe4ff;--oc-indigo-1-rgb:219,228,255;--oc-indigo-2:#bac8ff;--oc-indigo-2-rgb:186,200,255;--oc-indigo-3:#91a7ff;--oc-indigo-3-rgb:145,167,255;--oc-indigo-4:#748ffc;--oc-indigo-4-rgb:116,143,252;--oc-indigo-5:#5c7cfa;--oc-indigo-5-rgb:92,124,250;--oc-indigo-6:#4c6ef5;--oc-indigo-6-rgb:76,110,245;--oc-indigo-7:#4263eb;--oc-indigo-7-rgb:66,99,235;--oc-indigo-8:#3b5bdb;--oc-indigo-8-rgb:59,91,219;--oc-indigo-9:#364fc7;--oc-indigo-9-rgb:54,79,199;--oc-blue-0:#e7f5ff;--oc-blue-0-rgb:231,245,255;--oc-blue-1:#d0ebff;--oc-blue-1-rgb:208,235,255;--oc-blue-2:#a5d8ff;--oc-blue-2-rgb:165,216,255;--oc-blue-3:#74c0fc;--oc-blue-3-rgb:116,192,252;--oc-blue-4:#4dabf7;--oc-blue-4-rgb:77,171,247;--oc-blue-5:#339af0;--oc-blue-5-rgb:51,154,240;--oc-blue-6:#228be6;--oc-blue-6-rgb:34,139,230;--oc-blue-7:#1c7ed6;--oc-blue-7-rgb:28,126,214;--oc-blue-8:#1971c2;--oc-blue-8-rgb:25,113,194;--oc-blue-9:#1864ab;--oc-blue-9-rgb:24,100,171;--oc-cyan-0:#e3fafc;--oc-cyan-0-rgb:227,250,252;--oc-cyan-1:#c5f6fa;--oc-cyan-1-rgb:197,246,250;--oc-cyan-2:#99e9f2;--oc-cyan-2-rgb:153,233,242;--oc-cyan-3:#66d9e8;--oc-cyan-3-rgb:102,217,232;--oc-cyan-4:#3bc9db;--oc-cyan-4-rgb:59,201,219;--oc-cyan-5:#22b8cf;--oc-cyan-5-rgb:34,184,207;--oc-cyan-6:#15aabf;--oc-cyan-6-rgb:21,170,191;--oc-cyan-7:#1098ad;--oc-cyan-7-rgb:16,152,173;--oc-cyan-8:#0c8599;--oc-cyan-8-rgb:12,133,153;--oc-cyan-9:#0b7285;--oc-cyan-9-rgb:11,114,133;--oc-teal-0:#e6fcf5;--oc-teal-0-rgb:230,252,245;--oc-teal-1:#c3fae8;--oc-teal-1-rgb:195,250,232;--oc-teal-2:#96f2d7;--oc-teal-2-rgb:150,242,215;--oc-teal-3:#63e6be;--oc-teal-3-rgb:99,230,190;--oc-teal-4:#38d9a9;--oc-teal-4-rgb:56,217,169;--oc-teal-5:#20c997;--oc-teal-5-rgb:32,201,151;--oc-teal-6:#12b886;--oc-teal-6-rgb:18,184,134;--oc-teal-7:#0ca678;--oc-teal-7-rgb:12,166,120;--oc-teal-8:#099268;--oc-teal-8-rgb:9,146,104;--oc-teal-9:#087f5b;--oc-teal-9-rgb:8,127,91;--oc-green-0:#ebfbee;--oc-green-0-rgb:235,251,238;--oc-green-1:#d3f9d8;--oc-green-1-rgb:211,249,216;--oc-green-2:#b2f2bb;--oc-green-2-rgb:178,242,187;--oc-green-3:#8ce99a;--oc-green-3-rgb:140,233,154;--oc-green-4:#69db7c;--oc-green-4-rgb:105,219,124;--oc-green-5:#51cf66;--oc-green-5-rgb:81,207,102;--oc-green-6:#40c057;--oc-green-6-rgb:64,192,87;--oc-green-7:#37b24d;--oc-green-7-rgb:55,178,77;--oc-green-8:#2f9e44;--oc-green-8-rgb:47,158,68;--oc-green-9:#2b8a3e;--oc-green-9-rgb:43,138,62;--oc-lime-0:#f4fce3;--oc-lime-0-rgb:244,252,227;--oc-lime-1:#e9fac8;--oc-lime-1-rgb:233,250,200;--oc-lime-2:#d8f5a2;--oc-lime-2-rgb:216,245,162;--oc-lime-3:#c0eb75;--oc-lime-3-rgb:192,235,117;--oc-lime-4:#a9e34b;--oc-lime-4-rgb:169,227,75;--oc-lime-5:#94d82d;--oc-lime-5-rgb:148,216,45;--oc-lime-6:#82c91e;--oc-lime-6-rgb:130,201,30;--oc-lime-7:#74b816;--oc-lime-7-rgb:116,184,22;--oc-lime-8:#66a80f;--oc-lime-8-rgb:102,168,15;--oc-lime-9:#5c940d;--oc-lime-9-rgb:92,148,13;--oc-yellow-0:#fff9db;--oc-yellow-0-rgb:255,249,219;--oc-yellow-1:#fff3bf;--oc-yellow-1-rgb:255,243,191;--oc-yellow-2:#ffec99;--oc-yellow-2-rgb:255,236,153;--oc-yellow-3:#ffe066;--oc-yellow-3-rgb:255,224,102;--oc-yellow-4:#ffd43b;--oc-yellow-4-rgb:255,212,59;--oc-yellow-5:#fcc419;--oc-yellow-5-rgb:252,196,25;--oc-yellow-6:#fab005;--oc-yellow-6-rgb:250,176,5;--oc-yellow-7:#f59f00;--oc-yellow-7-rgb:245,159,0;--oc-yellow-8:#f08c00;--oc-yellow-8-rgb:240,140,0;--oc-yellow-9:#e67700;--oc-yellow-9-rgb:230,119,0;--oc-orange-0:#fff4e6;--oc-orange-0-rgb:255,244,230;--oc-orange-1:#ffe8cc;--oc-orange-1-rgb:255,232,204;--oc-orange-2:#ffd8a8;--oc-orange-2-rgb:255,216,168;--oc-orange-3:#ffc078;--oc-orange-3-rgb:255,192,120;--oc-orange-4:#ffa94d;--oc-orange-4-rgb:255,169,77;--oc-orange-5:#ff922b;--oc-orange-5-rgb:255,146,43;--oc-orange-6:#fd7e14;--oc-orange-6-rgb:253,126,20;--oc-orange-7:#f76707;--oc-orange-7-rgb:247,103,7;--oc-orange-8:#e8590c;--oc-orange-8-rgb:232,89,12;--oc-orange-9:#d9480f;--oc-orange-9-rgb:217,72,15}#backstage{--backstage-ui-padding:8px;--backstage-bg:var(--oc-gray-3);--backstage-fg:#000;--backstage-input-bg:transparent;--backstage-input-fg:var(--backstage-fg);--backstage-input-border:var(--backstage-fg);--backstage-table-border:var(--backstage-fg);--backstage-font-size:12px;--backstage-tab-height:28px}#backstage ul.tabs{border:1px solid var(--backstage-fg);display:flex;font-size:12px;list-style:none;margin:var(--backstage-ui-padding);padding:0}#backstage ul.tabs li{border-right:1px solid var(--backstage-fg);flex-grow:1;text-align:center}#backstage ul.tabs li:last-child{border-right:none}#backstage ul.tabs li button{border:none;border-radius:0;color:var(--backstage-fg);display:block;height:var(--backstage-tab-height);padding:var(--backstage-ui-padding);text-decoration:none;width:100%}#backstage ul.tabs li button.active{background:var(--backstage-fg);color:var(--backstage-bg)}#backstage .tab-content{max-height:calc(100vh - var(--backstage-tab-height));overflow:auto}
:root{--oc-white:#fff;--oc-white-rgb:255,255,255;--oc-black:#000;--oc-black-rgb:0,0,0;--oc-gray-0:#f8f9fa;--oc-gray-0-rgb:248,249,250;--oc-gray-1:#f1f3f5;--oc-gray-1-rgb:241,243,245;--oc-gray-2:#e9ecef;--oc-gray-2-rgb:233,236,239;--oc-gray-3:#dee2e6;--oc-gray-3-rgb:222,226,230;--oc-gray-4:#ced4da;--oc-gray-4-rgb:206,212,218;--oc-gray-5:#adb5bd;--oc-gray-5-rgb:173,181,189;--oc-gray-6:#868e96;--oc-gray-6-rgb:134,142,150;--oc-gray-7:#495057;--oc-gray-7-rgb:73,80,87;--oc-gray-8:#343a40;--oc-gray-8-rgb:52,58,64;--oc-gray-9:#212529;--oc-gray-9-rgb:33,37,41;--oc-red-0:#fff5f5;--oc-red-0-rgb:255,245,245;--oc-red-1:#ffe3e3;--oc-red-1-rgb:255,227,227;--oc-red-2:#ffc9c9;--oc-red-2-rgb:255,201,201;--oc-red-3:#ffa8a8;--oc-red-3-rgb:255,168,168;--oc-red-4:#ff8787;--oc-red-4-rgb:255,135,135;--oc-red-5:#ff6b6b;--oc-red-5-rgb:255,107,107;--oc-red-6:#fa5252;--oc-red-6-rgb:250,82,82;--oc-red-7:#f03e3e;--oc-red-7-rgb:240,62,62;--oc-red-8:#e03131;--oc-red-8-rgb:224,49,49;--oc-red-9:#c92a2a;--oc-red-9-rgb:201,42,42;--oc-pink-0:#fff0f6;--oc-pink-0-rgb:255,240,246;--oc-pink-1:#ffdeeb;--oc-pink-1-rgb:255,222,235;--oc-pink-2:#fcc2d7;--oc-pink-2-rgb:252,194,215;--oc-pink-3:#faa2c1;--oc-pink-3-rgb:250,162,193;--oc-pink-4:#f783ac;--oc-pink-4-rgb:247,131,172;--oc-pink-5:#f06595;--oc-pink-5-rgb:240,101,149;--oc-pink-6:#e64980;--oc-pink-6-rgb:230,73,128;--oc-pink-7:#d6336c;--oc-pink-7-rgb:214,51,108;--oc-pink-8:#c2255c;--oc-pink-8-rgb:194,37,92;--oc-pink-9:#a61e4d;--oc-pink-9-rgb:166,30,77;--oc-grape-0:#f8f0fc;--oc-grape-0-rgb:248,240,252;--oc-grape-1:#f3d9fa;--oc-grape-1-rgb:243,217,250;--oc-grape-2:#eebefa;--oc-grape-2-rgb:238,190,250;--oc-grape-3:#e599f7;--oc-grape-3-rgb:229,153,247;--oc-grape-4:#da77f2;--oc-grape-4-rgb:218,119,242;--oc-grape-5:#cc5de8;--oc-grape-5-rgb:204,93,232;--oc-grape-6:#be4bdb;--oc-grape-6-rgb:190,75,219;--oc-grape-7:#ae3ec9;--oc-grape-7-rgb:174,62,201;--oc-grape-8:#9c36b5;--oc-grape-8-rgb:156,54,181;--oc-grape-9:#862e9c;--oc-grape-9-rgb:134,46,156;--oc-violet-0:#f3f0ff;--oc-violet-0-rgb:243,240,255;--oc-violet-1:#e5dbff;--oc-violet-1-rgb:229,219,255;--oc-violet-2:#d0bfff;--oc-violet-2-rgb:208,191,255;--oc-violet-3:#b197fc;--oc-violet-3-rgb:177,151,252;--oc-violet-4:#9775fa;--oc-violet-4-rgb:151,117,250;--oc-violet-5:#845ef7;--oc-violet-5-rgb:132,94,247;--oc-violet-6:#7950f2;--oc-violet-6-rgb:121,80,242;--oc-violet-7:#7048e8;--oc-violet-7-rgb:112,72,232;--oc-violet-8:#6741d9;--oc-violet-8-rgb:103,65,217;--oc-violet-9:#5f3dc4;--oc-violet-9-rgb:95,61,196;--oc-indigo-0:#edf2ff;--oc-indigo-0-rgb:237,242,255;--oc-indigo-1:#dbe4ff;--oc-indigo-1-rgb:219,228,255;--oc-indigo-2:#bac8ff;--oc-indigo-2-rgb:186,200,255;--oc-indigo-3:#91a7ff;--oc-indigo-3-rgb:145,167,255;--oc-indigo-4:#748ffc;--oc-indigo-4-rgb:116,143,252;--oc-indigo-5:#5c7cfa;--oc-indigo-5-rgb:92,124,250;--oc-indigo-6:#4c6ef5;--oc-indigo-6-rgb:76,110,245;--oc-indigo-7:#4263eb;--oc-indigo-7-rgb:66,99,235;--oc-indigo-8:#3b5bdb;--oc-indigo-8-rgb:59,91,219;--oc-indigo-9:#364fc7;--oc-indigo-9-rgb:54,79,199;--oc-blue-0:#e7f5ff;--oc-blue-0-rgb:231,245,255;--oc-blue-1:#d0ebff;--oc-blue-1-rgb:208,235,255;--oc-blue-2:#a5d8ff;--oc-blue-2-rgb:165,216,255;--oc-blue-3:#74c0fc;--oc-blue-3-rgb:116,192,252;--oc-blue-4:#4dabf7;--oc-blue-4-rgb:77,171,247;--oc-blue-5:#339af0;--oc-blue-5-rgb:51,154,240;--oc-blue-6:#228be6;--oc-blue-6-rgb:34,139,230;--oc-blue-7:#1c7ed6;--oc-blue-7-rgb:28,126,214;--oc-blue-8:#1971c2;--oc-blue-8-rgb:25,113,194;--oc-blue-9:#1864ab;--oc-blue-9-rgb:24,100,171;--oc-cyan-0:#e3fafc;--oc-cyan-0-rgb:227,250,252;--oc-cyan-1:#c5f6fa;--oc-cyan-1-rgb:197,246,250;--oc-cyan-2:#99e9f2;--oc-cyan-2-rgb:153,233,242;--oc-cyan-3:#66d9e8;--oc-cyan-3-rgb:102,217,232;--oc-cyan-4:#3bc9db;--oc-cyan-4-rgb:59,201,219;--oc-cyan-5:#22b8cf;--oc-cyan-5-rgb:34,184,207;--oc-cyan-6:#15aabf;--oc-cyan-6-rgb:21,170,191;--oc-cyan-7:#1098ad;--oc-cyan-7-rgb:16,152,173;--oc-cyan-8:#0c8599;--oc-cyan-8-rgb:12,133,153;--oc-cyan-9:#0b7285;--oc-cyan-9-rgb:11,114,133;--oc-teal-0:#e6fcf5;--oc-teal-0-rgb:230,252,245;--oc-teal-1:#c3fae8;--oc-teal-1-rgb:195,250,232;--oc-teal-2:#96f2d7;--oc-teal-2-rgb:150,242,215;--oc-teal-3:#63e6be;--oc-teal-3-rgb:99,230,190;--oc-teal-4:#38d9a9;--oc-teal-4-rgb:56,217,169;--oc-teal-5:#20c997;--oc-teal-5-rgb:32,201,151;--oc-teal-6:#12b886;--oc-teal-6-rgb:18,184,134;--oc-teal-7:#0ca678;--oc-teal-7-rgb:12,166,120;--oc-teal-8:#099268;--oc-teal-8-rgb:9,146,104;--oc-teal-9:#087f5b;--oc-teal-9-rgb:8,127,91;--oc-green-0:#ebfbee;--oc-green-0-rgb:235,251,238;--oc-green-1:#d3f9d8;--oc-green-1-rgb:211,249,216;--oc-green-2:#b2f2bb;--oc-green-2-rgb:178,242,187;--oc-green-3:#8ce99a;--oc-green-3-rgb:140,233,154;--oc-green-4:#69db7c;--oc-green-4-rgb:105,219,124;--oc-green-5:#51cf66;--oc-green-5-rgb:81,207,102;--oc-green-6:#40c057;--oc-green-6-rgb:64,192,87;--oc-green-7:#37b24d;--oc-green-7-rgb:55,178,77;--oc-green-8:#2f9e44;--oc-green-8-rgb:47,158,68;--oc-green-9:#2b8a3e;--oc-green-9-rgb:43,138,62;--oc-lime-0:#f4fce3;--oc-lime-0-rgb:244,252,227;--oc-lime-1:#e9fac8;--oc-lime-1-rgb:233,250,200;--oc-lime-2:#d8f5a2;--oc-lime-2-rgb:216,245,162;--oc-lime-3:#c0eb75;--oc-lime-3-rgb:192,235,117;--oc-lime-4:#a9e34b;--oc-lime-4-rgb:169,227,75;--oc-lime-5:#94d82d;--oc-lime-5-rgb:148,216,45;--oc-lime-6:#82c91e;--oc-lime-6-rgb:130,201,30;--oc-lime-7:#74b816;--oc-lime-7-rgb:116,184,22;--oc-lime-8:#66a80f;--oc-lime-8-rgb:102,168,15;--oc-lime-9:#5c940d;--oc-lime-9-rgb:92,148,13;--oc-yellow-0:#fff9db;--oc-yellow-0-rgb:255,249,219;--oc-yellow-1:#fff3bf;--oc-yellow-1-rgb:255,243,191;--oc-yellow-2:#ffec99;--oc-yellow-2-rgb:255,236,153;--oc-yellow-3:#ffe066;--oc-yellow-3-rgb:255,224,102;--oc-yellow-4:#ffd43b;--oc-yellow-4-rgb:255,212,59;--oc-yellow-5:#fcc419;--oc-yellow-5-rgb:252,196,25;--oc-yellow-6:#fab005;--oc-yellow-6-rgb:250,176,5;--oc-yellow-7:#f59f00;--oc-yellow-7-rgb:245,159,0;--oc-yellow-8:#f08c00;--oc-yellow-8-rgb:240,140,0;--oc-yellow-9:#e67700;--oc-yellow-9-rgb:230,119,0;--oc-orange-0:#fff4e6;--oc-orange-0-rgb:255,244,230;--oc-orange-1:#ffe8cc;--oc-orange-1-rgb:255,232,204;--oc-orange-2:#ffd8a8;--oc-orange-2-rgb:255,216,168;--oc-orange-3:#ffc078;--oc-orange-3-rgb:255,192,120;--oc-orange-4:#ffa94d;--oc-orange-4-rgb:255,169,77;--oc-orange-5:#ff922b;--oc-orange-5-rgb:255,146,43;--oc-orange-6:#fd7e14;--oc-orange-6-rgb:253,126,20;--oc-orange-7:#f76707;--oc-orange-7-rgb:247,103,7;--oc-orange-8:#e8590c;--oc-orange-8-rgb:232,89,12;--oc-orange-9:#d9480f;--oc-orange-9-rgb:217,72,15;--page-margin:1em;--page-width:40em;--font-monospaced:"Courier New","Courier",monospace;--font-system:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu Cantarell,"Helvetica Neue",sans-serif}.small-caps{font-size:70%;letter-spacing:.075em;text-transform:uppercase}#backstage{--backstage-ui-padding:8px;--backstage-bg:var(--oc-gray-3);--backstage-fg:#000;--backstage-input-bg:transparent;--backstage-input-fg:var(--backstage-fg);--backstage-input-border:var(--backstage-fg);--backstage-table-border:var(--backstage-fg);--backstage-font-size:12px;--backstage-tab-height:28px}body.backstage-visible #backdrop{justify-content:flex-start;max-width:67vw}#backstage{bottom:0;box-shadow:inset 2px 0 3px rgba(0,0,0,.25);color:var(--backstage-fg);font:18px var(--font-system);max-height:100vh;position:fixed;right:0;top:0;transform:translateX(100%);width:33vw}#backstage,#backstage:before{background:var(--backstage-bg)}#backstage:before{content:"";height:50px;position:absolute;right:calc(100% - 4px);top:calc(50% - 25px);width:4px;z-index:2}@media screen and (max-width:425px){#backstage{width:calc(100vw - 25px)}}#backstage.open{transform:none}#backstage .toggle-visibility{background:var(--backstage-bg);border:none;border-bottom-left-radius:25px;border-bottom-right-radius:0;border-top-left-radius:25px;border-top-right-radius:0;box-shadow:inset 2px 0 3px rgba(0,0,0,.25);color:var(--backstage-fg);font-size:18px;height:50px;padding:0;position:absolute;right:100%;top:calc(50% - 25px);width:25px;z-index:1}#backstage button{background:var(--backstage-input-bg);border:1px solid var(--backstage-input-border);border-radius:calc(var(--backstage-ui-padding)*2);color:var(--backstage-input-fg);padding:var(--backstage-ui-padding)}#backstage button:hover{background:var(--oc-gray-2)}#backstage p{padding:0 var(--backstage-ui-padding)}#backstage li,#backstage p,#backstage td{font-size:var(--backstage-font-size)}#backstage input,#backstage select{background:var(--backstage-input-bg);border:1px solid var(--backstage-input-border);color:var(--backstage-input-fg);padding:var(--backstage-ui-padding)}#backstage table{background:var(--backstage-input-bg);border-collapse:collapse;margin:var(--backstage-ui-padding);table-layout:fixed;width:calc(100% - var(--backstage-ui-padding)*2)}#backstage th{text-align:left}#backstage td{border:1px solid var(--backstage-table-border);padding:var(--backstage-ui-padding);position:relative;vertical-align:top}#backstage td:first-child{border-left:none}#backstage td:last-child{border-right:none}#backstage td button,#backstage td input{background:none;border:none;border-radius:0;bottom:0;left:0;padding:var(--backstage-ui-padding);position:absolute;top:0;width:100%}#backstage textarea{background:var(--backstage-input-bg);border:1px solid var(--backstage-input-border);color:var(--backstage-input-fg);height:7.75em;padding:var(--backstage-ui-padding);width:100%}#backstage .block{display:block;margin:var(--backstage-ui-padding);width:calc(100% - var(--backstage-ui-padding)*2)}#backstage .disabled{color:var(--oc-gray-6)}#backstage .indented-input{font-size:12px;margin-left:calc(10em + var(--backstage-ui-padding))}#backstage .input-group{align-items:center;display:flex}#backstage .input-group label:first-child{margin-right:var(--backstage-ui-padding);text-align:right;width:10em}#backstage .input-group input,#backstage .input-group select{flex-grow:1}#backstage .segmented-button{display:flex}#backstage .segmented-button button{border-left:none;border-radius:0;flex-grow:1;margin:0}#backstage .segmented-button button:first-child{border-bottom-left-radius:calc(var(--backstage-ui-padding)*2);border-left:1px solid var(--backstage-input-border);border-top-left-radius:calc(var(--backstage-ui-padding)*2)}#backstage .segmented-button button:last-child{border-bottom-right-radius:calc(var(--backstage-ui-padding)*2);border-top-right-radius:calc(var(--backstage-ui-padding)*2)}#backstage .segmented-button .fixed{flex-grow:0;min-width:24px}#backstage .tab-content{max-height:calc(100vh - var(--backstage-tab-height));overflow:auto}
.fade-in{animation:fade-in 1s ease-out forwards;opacity:0}.fade-out{animation:fade-in 1s ease-out reverse forwards}.skip-animation{animation-delay:0s!important}@keyframes fade-in{0%{opacity:0}to{opacity:1}}
#page .warnings{list-style-type:none;margin-left:0;padding-left:0}
:root{--oc-white:#fff;--oc-white-rgb:255,255,255;--oc-black:#000;--oc-black-rgb:0,0,0;--oc-gray-0:#f8f9fa;--oc-gray-0-rgb:248,249,250;--oc-gray-1:#f1f3f5;--oc-gray-1-rgb:241,243,245;--oc-gray-2:#e9ecef;--oc-gray-2-rgb:233,236,239;--oc-gray-3:#dee2e6;--oc-gray-3-rgb:222,226,230;--oc-gray-4:#ced4da;--oc-gray-4-rgb:206,212,218;--oc-gray-5:#adb5bd;--oc-gray-5-rgb:173,181,189;--oc-gray-6:#868e96;--oc-gray-6-rgb:134,142,150;--oc-gray-7:#495057;--oc-gray-7-rgb:73,80,87;--oc-gray-8:#343a40;--oc-gray-8-rgb:52,58,64;--oc-gray-9:#212529;--oc-gray-9-rgb:33,37,41;--oc-red-0:#fff5f5;--oc-red-0-rgb:255,245,245;--oc-red-1:#ffe3e3;--oc-red-1-rgb:255,227,227;--oc-red-2:#ffc9c9;--oc-red-2-rgb:255,201,201;--oc-red-3:#ffa8a8;--oc-red-3-rgb:255,168,168;--oc-red-4:#ff8787;--oc-red-4-rgb:255,135,135;--oc-red-5:#ff6b6b;--oc-red-5-rgb:255,107,107;--oc-red-6:#fa5252;--oc-red-6-rgb:250,82,82;--oc-red-7:#f03e3e;--oc-red-7-rgb:240,62,62;--oc-red-8:#e03131;--oc-red-8-rgb:224,49,49;--oc-red-9:#c92a2a;--oc-red-9-rgb:201,42,42;--oc-pink-0:#fff0f6;--oc-pink-0-rgb:255,240,246;--oc-pink-1:#ffdeeb;--oc-pink-1-rgb:255,222,235;--oc-pink-2:#fcc2d7;--oc-pink-2-rgb:252,194,215;--oc-pink-3:#faa2c1;--oc-pink-3-rgb:250,162,193;--oc-pink-4:#f783ac;--oc-pink-4-rgb:247,131,172;--oc-pink-5:#f06595;--oc-pink-5-rgb:240,101,149;--oc-pink-6:#e64980;--oc-pink-6-rgb:230,73,128;--oc-pink-7:#d6336c;--oc-pink-7-rgb:214,51,108;--oc-pink-8:#c2255c;--oc-pink-8-rgb:194,37,92;--oc-pink-9:#a61e4d;--oc-pink-9-rgb:166,30,77;--oc-grape-0:#f8f0fc;--oc-grape-0-rgb:248,240,252;--oc-grape-1:#f3d9fa;--oc-grape-1-rgb:243,217,250;--oc-grape-2:#eebefa;--oc-grape-2-rgb:238,190,250;--oc-grape-3:#e599f7;--oc-grape-3-rgb:229,153,247;--oc-grape-4:#da77f2;--oc-grape-4-rgb:218,119,242;--oc-grape-5:#cc5de8;--oc-grape-5-rgb:204,93,232;--oc-grape-6:#be4bdb;--oc-grape-6-rgb:190,75,219;--oc-grape-7:#ae3ec9;--oc-grape-7-rgb:174,62,201;--oc-grape-8:#9c36b5;--oc-grape-8-rgb:156,54,181;--oc-grape-9:#862e9c;--oc-grape-9-rgb:134,46,156;--oc-violet-0:#f3f0ff;--oc-violet-0-rgb:243,240,255;--oc-violet-1:#e5dbff;--oc-violet-1-rgb:229,219,255;--oc-violet-2:#d0bfff;--oc-violet-2-rgb:208,191,255;--oc-violet-3:#b197fc;--oc-violet-3-rgb:177,151,252;--oc-violet-4:#9775fa;--oc-violet-4-rgb:151,117,250;--oc-violet-5:#845ef7;--oc-violet-5-rgb:132,94,247;--oc-violet-6:#7950f2;--oc-violet-6-rgb:121,80,242;--oc-violet-7:#7048e8;--oc-violet-7-rgb:112,72,232;--oc-violet-8:#6741d9;--oc-violet-8-rgb:103,65,217;--oc-violet-9:#5f3dc4;--oc-violet-9-rgb:95,61,196;--oc-indigo-0:#edf2ff;--oc-indigo-0-rgb:237,242,255;--oc-indigo-1:#dbe4ff;--oc-indigo-1-rgb:219,228,255;--oc-indigo-2:#bac8ff;--oc-indigo-2-rgb:186,200,255;--oc-indigo-3:#91a7ff;--oc-indigo-3-rgb:145,167,255;--oc-indigo-4:#748ffc;--oc-indigo-4-rgb:116,143,252;--oc-indigo-5:#5c7cfa;--oc-indigo-5-rgb:92,124,250;--oc-indigo-6:#4c6ef5;--oc-indigo-6-rgb:76,110,245;--oc-indigo-7:#4263eb;--oc-indigo-7-rgb:66,99,235;--oc-indigo-8:#3b5bdb;--oc-indigo-8-rgb:59,91,219;--oc-indigo-9:#364fc7;--oc-indigo-9-rgb:54,79,199;--oc-blue-0:#e7f5ff;--oc-blue-0-rgb:231,245,255;--oc-blue-1:#d0ebff;--oc-blue-1-rgb:208,235,255;--oc-blue-2:#a5d8ff;--oc-blue-2-rgb:165,216,255;--oc-blue-3:#74c0fc;--oc-blue-3-rgb:116,192,252;--oc-blue-4:#4dabf7;--oc-blue-4-rgb:77,171,247;--oc-blue-5:#339af0;--oc-blue-5-rgb:51,154,240;--oc-blue-6:#228be6;--oc-blue-6-rgb:34,139,230;--oc-blue-7:#1c7ed6;--oc-blue-7-rgb:28,126,214;--oc-blue-8:#1971c2;--oc-blue-8-rgb:25,113,194;--oc-blue-9:#1864ab;--oc-blue-9-rgb:24,100,171;--oc-cyan-0:#e3fafc;--oc-cyan-0-rgb:227,250,252;--oc-cyan-1:#c5f6fa;--oc-cyan-1-rgb:197,246,250;--oc-cyan-2:#99e9f2;--oc-cyan-2-rgb:153,233,242;--oc-cyan-3:#66d9e8;--oc-cyan-3-rgb:102,217,232;--oc-cyan-4:#3bc9db;--oc-cyan-4-rgb:59,201,219;--oc-cyan-5:#22b8cf;--oc-cyan-5-rgb:34,184,207;--oc-cyan-6:#15aabf;--oc-cyan-6-rgb:21,170,191;--oc-cyan-7:#1098ad;--oc-cyan-7-rgb:16,152,173;--oc-cyan-8:#0c8599;--oc-cyan-8-rgb:12,133,153;--oc-cyan-9:#0b7285;--oc-cyan-9-rgb:11,114,133;--oc-teal-0:#e6fcf5;--oc-teal-0-rgb:230,252,245;--oc-teal-1:#c3fae8;--oc-teal-1-rgb:195,250,232;--oc-teal-2:#96f2d7;--oc-teal-2-rgb:150,242,215;--oc-teal-3:#63e6be;--oc-teal-3-rgb:99,230,190;--oc-teal-4:#38d9a9;--oc-teal-4-rgb:56,217,169;--oc-teal-5:#20c997;--oc-teal-5-rgb:32,201,151;--oc-teal-6:#12b886;--oc-teal-6-rgb:18,184,134;--oc-teal-7:#0ca678;--oc-teal-7-rgb:12,166,120;--oc-teal-8:#099268;--oc-teal-8-rgb:9,146,104;--oc-teal-9:#087f5b;--oc-teal-9-rgb:8,127,91;--oc-green-0:#ebfbee;--oc-green-0-rgb:235,251,238;--oc-green-1:#d3f9d8;--oc-green-1-rgb:211,249,216;--oc-green-2:#b2f2bb;--oc-green-2-rgb:178,242,187;--oc-green-3:#8ce99a;--oc-green-3-rgb:140,233,154;--oc-green-4:#69db7c;--oc-green-4-rgb:105,219,124;--oc-green-5:#51cf66;--oc-green-5-rgb:81,207,102;--oc-green-6:#40c057;--oc-green-6-rgb:64,192,87;--oc-green-7:#37b24d;--oc-green-7-rgb:55,178,77;--oc-green-8:#2f9e44;--oc-green-8-rgb:47,158,68;--oc-green-9:#2b8a3e;--oc-green-9-rgb:43,138,62;--oc-lime-0:#f4fce3;--oc-lime-0-rgb:244,252,227;--oc-lime-1:#e9fac8;--oc-lime-1-rgb:233,250,200;--oc-lime-2:#d8f5a2;--oc-lime-2-rgb:216,245,162;--oc-lime-3:#c0eb75;--oc-lime-3-rgb:192,235,117;--oc-lime-4:#a9e34b;--oc-lime-4-rgb:169,227,75;--oc-lime-5:#94d82d;--oc-lime-5-rgb:148,216,45;--oc-lime-6:#82c91e;--oc-lime-6-rgb:130,201,30;--oc-lime-7:#74b816;--oc-lime-7-rgb:116,184,22;--oc-lime-8:#66a80f;--oc-lime-8-rgb:102,168,15;--oc-lime-9:#5c940d;--oc-lime-9-rgb:92,148,13;--oc-yellow-0:#fff9db;--oc-yellow-0-rgb:255,249,219;--oc-yellow-1:#fff3bf;--oc-yellow-1-rgb:255,243,191;--oc-yellow-2:#ffec99;--oc-yellow-2-rgb:255,236,153;--oc-yellow-3:#ffe066;--oc-yellow-3-rgb:255,224,102;--oc-yellow-4:#ffd43b;--oc-yellow-4-rgb:255,212,59;--oc-yellow-5:#fcc419;--oc-yellow-5-rgb:252,196,25;--oc-yellow-6:#fab005;--oc-yellow-6-rgb:250,176,5;--oc-yellow-7:#f59f00;--oc-yellow-7-rgb:245,159,0;--oc-yellow-8:#f08c00;--oc-yellow-8-rgb:240,140,0;--oc-yellow-9:#e67700;--oc-yellow-9-rgb:230,119,0;--oc-orange-0:#fff4e6;--oc-orange-0-rgb:255,244,230;--oc-orange-1:#ffe8cc;--oc-orange-1-rgb:255,232,204;--oc-orange-2:#ffd8a8;--oc-orange-2-rgb:255,216,168;--oc-orange-3:#ffc078;--oc-orange-3-rgb:255,192,120;--oc-orange-4:#ffa94d;--oc-orange-4-rgb:255,169,77;--oc-orange-5:#ff922b;--oc-orange-5-rgb:255,146,43;--oc-orange-6:#fd7e14;--oc-orange-6-rgb:253,126,20;--oc-orange-7:#f76707;--oc-orange-7-rgb:247,103,7;--oc-orange-8:#e8590c;--oc-orange-8-rgb:232,89,12;--oc-orange-9:#d9480f;--oc-orange-9-rgb:217,72,15;--page-margin:1em;--page-width:40em;--font-monospaced:"Courier New","Courier",monospace;--font-system:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu Cantarell,"Helvetica Neue",sans-serif}.small-caps{font-size:70%;letter-spacing:.075em;text-transform:uppercase}#backdrop{align-items:center;min-height:100vh}#backdrop,#page{display:flex;justify-content:center}#page{flex-direction:column;line-height:150%;margin:var(--page-margin);max-width:calc(100vw - 2em);min-height:calc(100vh - var(--page-margin)*2);padding:4em 4em 2em;position:relative;width:var(--page-width)}#page article{display:flex;flex-grow:1}#page article>:first-child{margin-top:0;width:100%}#page footer,#page header{display:flex}#page footer>div,#page header>div{flex-grow:1}#page footer p,#page header p{margin:.5em 0 0}#page footer .center,#page header .center{text-align:center}#page footer .right p,#page header .right p{text-align:right}#page header{margin-top:0}#page header.has-content{border-bottom:1px solid #000}#page header.has-content+article>article>div>p:first-child,#page header.has-content+article>div>p:first-child{margin-top:1em}#page footer{margin-bottom:0}#page footer.has-content{border-top:1px solid #000}#page hr{border:none}#page hr:after{content:"*  *  *";display:block;text-align:center}#page .error,#page .warning{background:var(--oc-red-0);border-left:4px solid var(--oc-red-3);color:var(--oc-red-9);margin-bottom:1em;overflow:auto;padding:.5em;position:relative}#page .error :first-child,#page .warning :first-child{margin-top:0}#page .error :last-child,#page .warning :last-child{margin-bottom:0}#page .error a,#page .warning a{color:var(--oc-red-9)}#page .warning{background:var(--oc-yellow-0)}#page .warning,#page .warning a{color:var(--oc-yellow-9)}#page .fork p{display:flex;flex-direction:column;width:100%}#page .fork p a{display:block;flex-grow:1;padding:.5em;text-align:center}@media screen and (max-width:768px){#page{margin:0;max-width:100vw;min-height:100vh;padding:1em;width:100vw}}#spinner{bottom:0;opacity:0;pointer-events:none;position:absolute;right:0;transition:opacity .25s ease-in-out}#spinner.visible{display:block;opacity:1}
*{box-sizing:border-box}body{margin:0;padding:0}img{height:auto;max-width:100%}input[type=text],select{padding:.25em}pre{white-space:pre-wrap}tw-storydata{display:none}</style></head><body></body><html></html><head></head><body><form id="cb-validation" action="javascript:void(0)"><button id="cb-validation-tester" hidden=""></button><button id="cb-block-enter-key" hidden=""></button><div id="backdrop"><div id="page" aria-live="polite"><header><div class="left"></div><div class="center"></div><div class="right"></div></header><article></article><ul class="warnings"></ul><footer><div class="left"></div><div class="center"></div><div class="right"></div></footer><div id="spinner"><svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 100 100">
<rect x="31" y="14" width="38" height="72" rx="4" fill="white" />
<circle cx="50" cy="50" r="28" fill="white" />
<rect x="35" y="18" width="30" height="64" rx="4" fill="white" stroke-width="2px" stroke="black" />
<circle cx="50" cy="50" r="20" stroke="black" fill="white" stroke-width="2px" />
<line x1="50" y1="50" x2="50" y2="37" stroke="black" stroke-width="2px" stroke-linecap="round">
<animateTransform
attributeName="transform"
begin="0s"
dur="20s"
type="rotate"
from="0 50 50"
to="360 50 50"
repeatCount="indefinite"
/>
</line>
<line x1="50" y1="50" x2="42" y2="50" stroke="black" stroke-width="2px" stroke-linecap="round">
<animateTransform
attributeName="transform"
begin="0s"
dur="120s"
type="rotate"
from="0 50 50"
to="360 50 50"
repeatCount="indefinite"
/>
</line>
</svg></div></div></div></form><tw-storydata name="The Gadfly of Gensokyo" startnode="4" creator="Twine" creator-version="2.4.1" format="Chapbook" format-version="1.2.2" ifid="9E6B1F68-AEE5-4040-AC7D-0A704489E935" options="" tags="" zoom="0.6" hidden><style role="stylesheet" id="twine-user-stylesheet" type="text/twine-css">#spinner {
max-width: 10%;
position: fixed;
}
#leftPortrait {
max-width: 100%;
}
#leftContainer {
flex-direction: column;
line-height: 150%;
margin: var(--page-margin);
max-width: 360px;
height: 600px;
padding: 4em 4em 2em;
position: relative;
left: 7vw;
width: var(--page-width);
}
#rightPortrait {
max-width: 100%;
}
#rightContainer {
flex-direction: column;
line-height: 150%;
margin: var(--page-margin);
max-width: 360px;
height: 600px;
padding: 4em 4em 2em;
position: relative;
right: 7vw;
width: var(--page-width);
}
#backdrop {
align-items: flex-start;
}
.stop-scrolling {
height: 100%;
overflow: hidden;
}
#splash-screen {
position: fixed;
left: 0;
top: 0;
right: 0;
bottom: 0;
z-index: 100;
background-color: #111;
color: #eee;
}
#splash-screen > img {
display: block;
position: absolute;
left: 50%;
top: 50%;
transform: translateX(-50%) translateY(-50%);
}</style><script role="script" id="twine-user-script" type="text/twine-javascript"></script><tw-passagedata pid="1" name="SOCRATES 1" tags="" position="200,425" size="100,100">sound.ambient.youmu.url: &#39;Assets/Audio/youmu.ogg&#39;
sound.ambient.youmu.description: &#39;Youmu theme is playing.&#39;
sound.ambient.reimu.url: &#39;Assets/Audio/reimu.ogg&#39;
sound.ambient.reimu.description: &#39;Reimu theme is playing.&#39;
sound.ambient.youmu2.url: &#39;Assets/Audio/youmu2.ogg&#39;
sound.ambient.youmu2.description: &#39;Youmu theme is playing.&#39;
sound.ambient.suika.url: &#39;Assets/Audio/suika.ogg&#39;
sound.ambient.suika.description: &#39;Suika theme is playing.&#39;
sound.ambient.badapple.url: &#39;Assets/Audio/bad apple.ogg&#39;
sound.ambient.badapple.description: &#39;Bad Apple is playing.&#39;
sound.effect.synth.url: &#39;Assets/Audio/synth.ogg&#39;
config.footer.left: story.name
config.footer.center: &quot;&quot;
config.header.center: &quot; &quot;
--
{ambient sound: &#39;badapple&#39;}
DIOTIMA: *Who am I, you ask? I&#39;m still getting a handle on that, hold on. Let me try and retrace my steps.*
DIOTIMA: *I am... Diotima, born in Mantineia, yes that sounds right.*
DIOTIMA: *And I am another one of the many grandstanders and sophists of Athens. Sometimes, we&#39;re called philosophers.*
DIOTIMA: *Our job is generally to make arguments that at times, provoke and at others, convince. For most, truth-seeking is secondary.*
DIOTIMA: *If all it takes is some empty rhetoric, and a few parlor tricks to convince people then why try? People confuse right from left, how can they tell right from wrong?*
DIOTIMA: *There are still a few of us who are insane enough to take on the burden of truth though.*
DIOTIMA: *Most of us have a kind of obsession to center their ideas around. Thales has water, Pythagoras has numbers, and then I have love.*
DIOTIMA: *Sorry, I HAD love. That part of my life is behind me now.*
DIOTIMA: *Recently, I have taken to teaching others under my wing.*
DIOTIMA: *It is also useful for keeping my coin satchel full and mouth fed.*
DIOTIMA: *[[Here comes one of my students now.|SOCRATES 2]]*
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/greece.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]
[JavaScript]
///////////
const img1 = document.createElement(&quot;img&quot;);
img1.setAttribute(&quot;src&quot;, &quot;Assets/Images/Diotima Human.png&quot;);
///////////
img1.setAttribute(&quot;id&quot;, &quot;leftPortrait&quot;);
const cont1 = document.createElement(&quot;div&quot;);
cont1.setAttribute(&quot;id&quot;, &quot;leftContainer&quot;);
cont1.appendChild(img1);
document.getElementById(&quot;backdrop&quot;).prepend(cont1);
//////////
const img2 = document.createElement(&quot;img&quot;);
img2.setAttribute(&quot;src&quot;, &quot;Assets/Images/trans parent.png&quot;);
///////////
img2.setAttribute(&quot;id&quot;, &quot;rightPortrait&quot;);
const cont2 = document.createElement(&quot;div&quot;);
cont2.setAttribute(&quot;id&quot;, &quot;rightContainer&quot;);
cont2.appendChild(img2);
document.getElementById(&quot;backdrop&quot;).appendChild(cont2);
document.body.removeAttribute(&quot;class&quot;);</tw-passagedata><tw-passagedata pid="2" name="SOCRATES 2" tags="" position="325,425" size="100,100">progressA: 0
progressB: 0
inventory: [&quot;People are naive and can be tricked.&quot;, &quot;Your argument is a sham and you are an idiot.&quot;]
cred: 4
--
DIOTIMA: Socrates! Good to see you.
SOCRATES: Good day to you, Diotima!
DIOTIMA: You&#39;re sounding chipper today, any new discoveries?
SOCRATES: That&#39;s right! You see this new coat of mine?
SOCRATES: I&#39;ve discovered that you can use drawing compasses to make a hook.
SOCRATES: Tie it to a string and it&#39;ll hook onto any garment left unguarded.
DIOTIMA: *This is Socrates, a young student of mine. However, he isn&#39;t from a wealthy family like most of them so he makes due however he can.*
DIOTIMA: Clever. Not at all moral or right though.
SOCRATES: How can you prove that? Aren&#39;t all moral judgements relative?
DIOTIMA: *He has recently fallen into the traps many sophists are tricked into believing.*
DIOTIMA: *Nearly all ideas can be doubted. Especially if your opponent believes it. It&#39;s made him insufferable; more so than usual.*
DIOTIMA: I don&#39;t know, but do you have proof to the contrary?
SOCRATES: Turning it back on me. This is exactly what I pay you for! Let me try...
[[Begin dialogue with Socrates|SOCRATES 3]]
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/greece.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]</tw-passagedata><tw-passagedata pid="3" name="SOCRATES 3" tags="" position="450,425" size="100,100">cred (cred &lt; 5): cred + 1
--
[align center]
BEGIN DIALOGUE
[align left]
SOCRATES: All ideas can be doubted.
[[QUESTION|SOCRATES 3a]] or
[[PRESENT|SOCRATES 3 PRESENT a]]
[if progressA == 0]
SOCRATES: All material things cannot be doubted.
[[QUESTION|SOCRATES 3b]] or
[[PRESENT|SOCRATES 3 PRESENT b]]
[else]
SOCRATES: All sensory things cannot be doubted.
[[PRESENT|SOCRATES 3 PRESENT b]]
[continued]
[if progressB == 0]
SOCRATES: That means, I am neither right nor wrong as those are not real qualities I can have.
[[QUESTION|SOCRATES 3c]] or
[[PRESENT|SOCRATES 3 PRESENT c]]
[else]
SOCRATES: Therefore, right and wrong can be doubted.
[[PRESENT|SOCRATES 3 PRESENT c]]
[continued]
***
**Ideas**
&lt;ul&gt;
[JavaScript]
inventory.forEach(function(value, index){
write(&quot;&lt;li&gt;&quot; + value + &quot;&lt;/li&gt;&quot;);
});
[continued]
&lt;/ul&gt;
***
[if cred == 1]
Your credibility is ABYSMAL.
[if cred == 2]
Your credibility is LOW.
[if cred == 3]
Your credibility is SHAKY.
[if cred == 4]
Your credibility is SOLID.
[if cred == 5]
Your credibility is UNDOUBTABLE.
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/greece.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]</tw-passagedata><tw-passagedata pid="4" name="TITLE" tags="" position="200,300" size="100,100">config.header.center: &quot;This is a fan-made video game not affiliated with the original creators.&quot;
config.footer.center: &quot;Touhou Project original concept, elements, etc. are property of ZUN and Team Shanghai Alice.&quot;
config.footer.left: &quot; &quot;
--
[align center]
{embed image: &#39;Assets/Images/logos.png&#39;}
[[Start|SOCRATES 1]]
[[Instructions|INSTRUCTIONS]]
[[About|ABOUT]]
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/greece.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]</tw-passagedata><tw-passagedata pid="5" name="INSTRUCTIONS" tags="" position="200,175" size="100,100">[align center]
You are a **PHILOSOPHER**.
Engage your opponents in **DIALOGUE**.
**QUESTION** their arguments.
**PRESENT** your ideas to the contrary.
**SEARCH** for truth.
Figure out **LOVE**.
[[Go back.|TITLE]]
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/greece.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]
</tw-passagedata><tw-passagedata pid="6" name="SOCRATES 3a" tags="" position="450,550" size="100,100">cred: cred - 1
--
DIOTIMA: Why can all ideas be doubted?
SOCRATES: Because ideas are arbitrary. If we disagree on how tall the Parthenon is, there is a fact in reality that we are pointing to.
SOCRATES: Ideas like justice and love cannot be measured the same way we measure with rulers. We can argue as much as we want but there is no physical thing we can use to resolve our argument.
SOCRATES: Thus, they can be doubted.
[[Go back.|SOCRATES 3]]
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/greece.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]</tw-passagedata><tw-passagedata pid="7" name="SOCRATES 3b" tags="" position="450,675" size="100,100">progressA: progressA + 1
cred: cred - 1
--
DIOTIMA: What are material things by your definition?
SOCRATES: Material things are anything that I can see, hear, hold, or sense basically. I could rephrase it as:
SOCRATES: All sensory things cannot be doubted.
[[Fascinating.|SOCRATES 3]]
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/greece.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]</tw-passagedata><tw-passagedata pid="8" name="SOCRATES 3c" tags="" position="450,800" size="100,100">progressB: progressB + 1
cred: cred - 1
--
DIOTIMA: Could you formalize that? Generalize your conclusion, I mean.
SOCRATES: Sure. I&#39;d rephrase it as:
SOCRATES: Therefore, right and wrong can be doubted.
[[Fascinating.|SOCRATES 3]]
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/greece.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]</tw-passagedata><tw-passagedata pid="9" name="SOCRATES 3bA" tags="" position="575,425" size="100,100">progressA: 0
progressB: 0
inventory: [&quot;Our senses can be doubted.&quot;, &quot;Your argument is a sham and you are an idiot.&quot;]
--
DIOTIMA: Interesting point, Socrates.
SOCRATES: Thank you. Does that mean you agree?
DIOTIMA: No. It&#39;s interesting because of how wrong it is.
SOCRATES: Ah.
DIOTIMA: All material things cannot be doubted that might have been true if we were perfect beings. However, senses can betray us.
DIOTIMA: You recall the construction of the Parthenon, correct? Its pillars were refined to bend slightly to correct for what we call an optical illusion.
DIOTIMA: Two parallel lines, no matter the true straightness, seem to curve outwards when intersected by converging lines.
DIOTIMA: A bit of geometric trivia from your back alley Pythagoras.
DIOTIMA: That means we can, in fact, doubt material things given they rely on our imperfect senses.
SOCRATES: I see!
SOCRATES: I&#39;m learning so much from your argument!
DIOTIMA: Is that right? Does that mean you&#39;re ready to accept you were in the wrong?
SOCRATES: Hold on, we&#39;re not quite there yet. [[My argument still holds.|SOCRATES 4]]
[align center]
~~LOST &quot;People are naive and can be tricked.&quot;~~
~~GAINED &quot;Our senses can be doubted.&quot;~~
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/greece.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]</tw-passagedata><tw-passagedata pid="10" name="SOCRATES 4" tags="" position="700,425" size="100,100">cred (cred &lt; 5): cred + 1
--
[align center]
BEGIN DIALOGUE
[align left]
SOCRATES: It is true that material things can be doubted on the basis of our imperfect senses.
[[QUESTION|SOCRATES 4a]] or
[[PRESENT|SOCRATES 4 PRESENT a]]
SOCRATES: But that does not change that all ideas can be doubted as well.
[[QUESTION|SOCRATES 4b]] or
[[PRESENT|SOCRATES 4 PRESENT b]]
[if progressA == 0]
SOCRATES: My original conclusion remains that right and wrong can be doubted.
[[QUESTION|SOCRATES 4c]] or
[[PRESENT|SOCRATES 4 PRESENT c]]
[else]
SOCRATES: Right and wrong are decided by what each person believes is right or wrong.
[[PRESENT|SOCRATES 4 PRESENT c]]
[continued]
***
**Ideas**
&lt;ul&gt;
[JavaScript]
inventory.forEach(function(value, index){
write(&quot;&lt;li&gt;&quot; + value + &quot;&lt;/li&gt;&quot;);
});
[continued]
&lt;/ul&gt;
***
[if cred == 1]
Your credibility is ABYSMAL.
[if cred == 2]
Your credibility is LOW.
[if cred == 3]
Your credibility is SHAKY.
[if cred == 4]
Your credibility is SOLID.
[if cred == 5]
Your credibility is UNDOUBTABLE.
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/greece.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]</tw-passagedata><tw-passagedata pid="11" name="SOCRATES 3 PRESENT a" tags="" position="450,300" size="100,100">idea1: inventory[0]
idea2: inventory[1]
cred: cred - 1
--
[if cred &lt; 0]
{embed passage: &#39;SOCRATES LOSS&#39;}
[continued]
SOCRATES: All ideas can be doubted.
[[RETURN|SOCRATES 3]]
***
**Pick an idea to present.**
- [[{idea1}|SOCRATES 3 PRESENT a]]
- [[{idea2}|SOCRATES 3 PRESENT a]]
***
[if cred == 0]
Your credibility is ABYSMAL.
[if cred == 1]
Your credibility is LOW.
[if cred == 2]
Your credibility is SHAKY.
[if cred == 3]
Your credibility is SOLID.
[if cred == 4]
Your credibility is UNDOUBTABLE.
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/greece.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]
[JavaScript]
if(cred &lt; 0){
document.body.setAttribute(&quot;class&quot;, &quot;stop-scrolling&quot;);
}</tw-passagedata><tw-passagedata pid="12" name="SOCRATES 3 PRESENT b" tags="" position="450,175" size="100,100">idea1: inventory[0]
idea2: inventory[1]
cred: cred - 1
--
[if cred &lt; 0]
{embed passage: &#39;SOCRATES LOSS&#39;}
[continued]
[if progressA == 0]
SOCRATES: Real things cannot be doubted.
[else]
SOCRATES: All sensory things cannot be doubted.
[continued]
[[RETURN|SOCRATES 3]]
***
**Pick an idea to present.**
[if progressA == 0]
- [[{idea1}|SOCRATES 3 PRESENT b]]
[else]
- [[{idea1}|SOCRATES 3bA]]
[continued]
- [[{idea2}|SOCRATES 3 PRESENT b]]
***
[if cred == 0]
Your credibility is ABYSMAL.
[if cred == 1]
Your credibility is LOW.
[if cred == 2]
Your credibility is SHAKY.
[if cred == 3]
Your credibility is SOLID.
[if cred == 4]
Your credibility is UNDOUBTABLE.
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/greece.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]
[JavaScript]
if(cred &lt; 0){
document.body.setAttribute(&quot;class&quot;, &quot;stop-scrolling&quot;);
}</tw-passagedata><tw-passagedata pid="13" name="SOCRATES 3 PRESENT c" tags="" position="450,50" size="100,100">idea1: inventory[0]
idea2: inventory[1]
cred: cred - 1
--
[if cred &lt; 0]
{embed passage: &#39;SOCRATES LOSS&#39;}
[continued]
[if progressB == 0]
SOCRATES: That means, I am neither right nor wrong as those are not real qualities I can have.
[else]
SOCRATES: Therefore, right and wrong can be doubted.
[continued]
[[RETURN|SOCRATES 3]]
***
**Pick an idea to present.**
- [[{idea1}|SOCRATES 3 PRESENT c]]
- [[{idea2}|SOCRATES 3 PRESENT c]]
***
[if cred == 0]
Your credibility is ABYSMAL.
[if cred == 1]
Your credibility is LOW.
[if cred == 2]
Your credibility is SHAKY.
[if cred == 3]
Your credibility is SOLID.
[if cred == 4]
Your credibility is UNDOUBTABLE.
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/greece.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]
[JavaScript]
if(cred &lt; 0){
document.body.setAttribute(&quot;class&quot;, &quot;stop-scrolling&quot;);
}</tw-passagedata><tw-passagedata pid="14" name="ABOUT" tags="" position="200,50" size="100,100">[align center]
*&quot;A spectre is haunting Gensokyo — the spectre of dialectics!&quot;*
Depictions are anachronistic, Socrates is largely based on his appearance in The Clouds, a satire, and Diotima did not in fact travel to Gensokyo. This is my warning to any nerds (pulls out locker to stuff you into).
~~By Jacoder23 for Touhou Fan Game Jam 9~~
~~This is the original version of the game submitted to Touhou Fan Game Jam 9.~~
External assets:
&lt;a href=&quot;https://pixabay.com/vectors/abstract-decorative-divider-fancy-3166168/&quot;&gt;Fancy divider by GDJ&lt;/a&gt;
&lt;a href=&quot;https://www.britannica.com/place/ancient-Greece&quot; target=&quot;_blank&quot;&gt;Athens: Acropolis by sborisov— iStock/Getty Images&lt;/a&gt;
&lt;a href=&quot;https://commons.wikimedia.org/wiki/File:Suwa_taisha_harumiya13bs3200.jpg&quot; target=&quot;_blank&quot;&gt;Shrine image by 663highland&lt;/a&gt;
&lt;a href=&quot;https://www.pexels.com/photo/photo-of-abstract-painting-2693212/&quot;&gt;Abstract image by Anni Roenkae&lt;/a&gt;
&lt;a href=&quot;https://www.pexels.com/photo/gray-and-white-wallpaper-1103970/&quot;&gt;Other abstract image by Johannes Plenio&lt;/a&gt;
&lt;a href=&quot;https://sonniss.com/gameaudiogdc&quot; target=&quot;_blank&quot;&gt;Bluezone - Heaven - Ethereal Ambient Samples&lt;/a&gt;
[[Go back.|TITLE]]
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/greece.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]
</tw-passagedata><tw-passagedata pid="15" name="SOCRATES 4a" tags="" position="700,550" size="100,100">cred: cred - 1
--
DIOTIMA: Can that be proven?
SOCRATES: I believe you just did exactly that by using an optical illusion as an example.
[[Go back.|SOCRATES 4]]
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/greece.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]</tw-passagedata><tw-passagedata pid="16" name="SOCRATES 4 PRESENT a" tags="" position="700,300" size="100,100">idea1: inventory[0]
idea2: inventory[1]
cred: cred - 1
--
[if cred &lt; 0]
{embed passage: &#39;SOCRATES LOSS&#39;}
[continued]
SOCRATES: It is true that material things can be doubted on the basis of our imperfect senses.
[[RETURN|SOCRATES 4]]
***
**Pick an idea to present.**
- [[{idea1}|SOCRATES 4 PRESENT a]]
- [[{idea2}|SOCRATES 4 PRESENT a]]
***
[if cred == 0]
Your credibility is ABYSMAL.
[if cred == 1]
Your credibility is LOW.
[if cred == 2]
Your credibility is SHAKY.
[if cred == 3]
Your credibility is SOLID.
[if cred == 4]
Your credibility is UNDOUBTABLE.
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/greece.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]
[JavaScript]
if(cred &lt; 0){
document.body.setAttribute(&quot;class&quot;, &quot;stop-scrolling&quot;);
}</tw-passagedata><tw-passagedata pid="17" name="SOCRATES 4 PRESENT b" tags="" position="700,175" size="100,100">idea1: inventory[0]
idea2: inventory[1]
cred: cred - 1
--
[if cred &lt; 0]
{embed passage: &#39;SOCRATES LOSS&#39;}
[continued]
SOCRATES: It is true that material things can be doubted on the basis of our imperfect senses.
[[RETURN|SOCRATES 4]]
***
**Pick an idea to present.**
- [[{idea1}|SOCRATES 4 PRESENT b]]
- [[{idea2}|SOCRATES 4 PRESENT b]]
***
[if cred == 0]
Your credibility is ABYSMAL.
[if cred == 1]
Your credibility is LOW.
[if cred == 2]
Your credibility is SHAKY.
[if cred == 3]
Your credibility is SOLID.
[if cred == 4]
Your credibility is UNDOUBTABLE.
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/greece.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]
[JavaScript]
if(cred &lt; 0){
document.body.setAttribute(&quot;class&quot;, &quot;stop-scrolling&quot;);
}</tw-passagedata><tw-passagedata pid="18" name="SOCRATES 4b" tags="" position="700,675" size="100,100">cred: cred - 1
--
DIOTIMA: So does that mean you believe you can doubt everything?
SOCRATES: I doubt I have to believe that for my argument to hold.
DIOTIMA: Okay, you can&#39;t literally doubt everything.
SOCRATES: Sure I can.
DIOTIMA: Can you doubt you can doubt?
SOCRATES: I don&#39;t know if I can doubt I can doubt.
DIOTIMA: You don&#39;t or you can&#39;t?
SOCRATES: I... hm. Well I think my point still stands either which way.
[[Go back.|SOCRATES 4]]
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/greece.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]</tw-passagedata><tw-passagedata pid="19" name="SOCRATES 4c" tags="" position="700,800" size="100,100">progressA: progressA+1
cred: cred - 1
--
DIOTIMA: I must ask Socrates, but where did you hear this argument?
SOCRATES: Oh, I heard it from Protagoras preaching atop his mansion&#39;s rooftop.
DIOTIMA: And did he have a continuation of this argument?
DIOTIMA: Surely, he did not shout here is no right or wrong, without an elaboration?
SOCRATES: Ah yes, I think he did continue it. But it just didn&#39;t seem relevant.
SOCRATES: He said that right and wrong had to exist, of course, but given they had no objective measure that meant they could only have one source.
SOCRATES: Protagoras said that man is the measure of all things.
SOCRATES: He&#39;d do a better job of explaining but I think it can summed up for our argument as:
SOCRATES: Right and wrong are relative and are decided by what each person believes is right or wrong.
[[Insightful..|SOCRATES 4]]
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/greece.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]</tw-passagedata><tw-passagedata pid="20" name="SOCRATES 4 PRESENT c" tags="" position="700,50" size="100,100">idea1: inventory[0]
idea2: inventory[1]
cred: cred - 1
--
[if cred &lt; 0]
{embed passage: &#39;SOCRATES LOSS&#39;}
[continued]
[if progressA == 0]
SOCRATES: My original conclusion remains that right and wrong can be doubted.
[else]
SOCRATES: Right and wrong are decided by what each person believes is right or wrong.
[continued]
[[RETURN|SOCRATES 4]]
***
**Pick an idea to present.**
- [[{idea1}|SOCRATES 4 PRESENT c]]
[if progressA == 0]
- [[{idea2}|SOCRATES 4 PRESENT c]]
[else]
- [[{idea2}|SOCRATES 4cA]]
[continued]
***
[if cred == 0]
Your credibility is ABYSMAL.
[if cred == 1]
Your credibility is LOW.
[if cred == 2]
Your credibility is SHAKY.
[if cred == 3]
Your credibility is SOLID.
[if cred == 4]
Your credibility is UNDOUBTABLE.
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/greece.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]
[JavaScript]
if(cred &lt; 0){
document.body.setAttribute(&quot;class&quot;, &quot;stop-scrolling&quot;);
}</tw-passagedata><tw-passagedata pid="21" name="SOCRATES 4cA" tags="" position="825,425" size="100,100">progressA: 0
progressB: 0
inventory: [&quot;Our senses can be doubted.&quot;]
cred: 5
--
DIOTIMA: Another interesting stance. So whatever you believe is right is right? That is to say: truth is relative?
SOCRATES: I believe so.
DIOTIMA: Then if I believe that your argument is sham and I have wasted my time as a teacher then am I right?
SOCRATES: Ah.
DIOTIMA: I think it should be self-evident by now that this statement, as succinct and convincing as it sounds at first, is entirely self-defeating.
DIOTIMA: If all it takes is belief then my belief that man is not the measure of all things is a paradox. If my belief is true then the statement is false, if my belief is false then so is the statement.
A pause. In the distance is the buzz of the city&#39;s streets.
DIOTIMA: Did I go too hard on the kid?
SOCRATES: Brilliant! I&#39;m so glad to be learning from you, priestess! That argument bothered me for days but I couldn&#39;t place why.
DIOTIMA: *Ah, that&#39;s the last thing about myself. I might call myself a philosopher but you don&#39;t exactly see a lot of women as philosophers.*
DIOTIMA: *My official title is priestess, though a priestess of whom I&#39;ve not figured out yet.*
DIOTIMA: *I got it when I first arrived in Athens and a plague was spreading.*
DIOTIMA: *I advised the authorities to begin sacrifices to the appropriate Gods and the plague ended just as quickly as it began.*
DIOTIMA: *That got me in with a good standing with the citizens, but until another plague hits I&#39;m stuck between jobs.*
DIOTIMA: *I&#39;m probably still gonna stick with this though as it&#39;s been far more rewarding. I&#39;ll let those snobs deal with their disasters on their own. What happens to them happens.*
SOCRATES: DIOTIMA? Are you alright?
DIOTIMA: Ah? Yes, yes I am. I was just thinking.
SOCRATES: So was I! I was just wondering that if we assume right and wrong are truths out there somehow, how we could arrive at them?
DIOTIMA: That is a good question. You see…
DIOTIMA stumbles, seemingly slipping on nothing. Socrates moves to help her but she finds her footing.
SOCRATES: Are you alright?
DIOTIMA: Yes, yes. I&#39;ve just been lightheaded recently.
DIOTIMA: [[As I was sayin—|INTERLUDE 1]]
[align center]
~~LOST &quot;Your argument is a sham and you are an idiot.&quot;~~
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/greece.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]</tw-passagedata><tw-passagedata pid="22" name="INTERLUDE 1" tags="" position="950,350" size="100,100">DIOTIMA: And then I found myself in what I have no reference to compare to. It was as if I was being pulled by a great thousands of storms, rushing, pulling, screaming in my ear.
DIOTIMA: Then, strange as it sounds, I felt one of the storms... staring at me. I was then hurtling into that particular storm and a quiet darkness surrounded me.
DIOTIMA: I opened my eyes, then I was [[here.|INTERLUDE 2]]
{no ambient sound}
{sound effect: &#39;synth&#39;}
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/storm.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]</tw-passagedata><tw-passagedata pid="23" name="SOCRATES LOSS" tags="" position="575,175" size="100,100">DIOTIMA: *Now wait a moment. I didn&#39;t say anything of that sort!*
Diotima sighs.
DIOTIMA: *I think we&#39;ve gotten a bit muddled on our way here. Let me try and retrace my steps again...*
{restart link, label: &quot;RESTART&quot;}
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/greece.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]
[note]
This is all invisible characters.
[continued]
</tw-passagedata><tw-passagedata pid="24" name="INTERLUDE 2" tags="" position="1000,500" size="100,100">REIMU: And also you&#39;re a ghost now.
REIMU: Didn&#39;t really need to know all that but if you&#39;ve got that out of your system I&#39;m gonna get back to drinking myself to an early death.
DIOTIMA: Ah, of course.
REIMU: I can show you tomorrow where the Yama go to judge people headed for the afterlife and you can ask them any questions you have. But this night festival isn&#39;t over until I&#39;m out cold!
REIMU: Get something for yourself if you wanna hang around.
DIOTIMA: Very well.
Diotima, now translucent and with an ectoplasmic tail where he legs used to be, floats over to an juicy, unclaimed skewer of grilled lamprey. Her hand passes straight through it. She&#39;s heartbroken.
DIOTIMA: Oh. [[What exactly can I &quot;get for myself&quot;?|INTERLUDE 3]]
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/shrine.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]
[JavaScript]
///////////
const img1 = document.getElementById(&quot;leftPortrait&quot;);
img1.setAttribute(&quot;src&quot;, &quot;Assets/Images/Diotima.png&quot;);
///////////
//////////
const img2 = document.getElementById(&quot;rightPortrait&quot;);
img2.setAttribute(&quot;src&quot;, &quot;Assets/Images/trans parent.png&quot;);
///////////</tw-passagedata><tw-passagedata pid="25" name="INTERLUDE 3" tags="" position="1075,350" size="100,100">SUIKA: [[Love!|INTERLUDE 4]]
SUIKA: I don&#39;t want anything to do with love anymore!
SUIKA hiccups, a comically large bubble leaves her mouth and floats in the air for a full 5 seconds before popping.
DIOTIMA: Is she drunk?
REIMU: She&#39;s always drunk. This is just a different stage of it; like going from happy drunk to sad drunk.
Most of the partygoers appear to have either left or are fast asleep. The exception being the short, horned girl apparently called Suika, the festival&#39;s organizer, Reimu, and a white-haired girl sitting up against a tree that Diotima feels an odd kinship with.
She appears to be wide awake unlike the rest and sees Diotima. She&#39;s staring intently.
REIMU: That&#39;s just Youmu. She&#39;s not good with ghosts. She&#39;s also half-phantom though so take that how you will.
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/shrine.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]</tw-passagedata><tw-passagedata pid="26" name="INTERLUDE 4" tags="" position="1125,500" size="100,100">progressSuikaA: 0
progressSuikaB: 0
progressYoumuA: 0
progressYoumuB: 0
progressReimuA: 0
SuikaComplete: false
YoumuComplete: false
ReimuComplete: false
completed: false
inventory: [&quot;Our senses can be doubted.&quot;]
cred: 5
fac: 0
youmuSlash: false
--
DIOTIMA: *Yes, I suppose, I could just do what I&#39;ve always wanted to do.*
DIOTIMA: *I am willing to bet ghosts have cool powers and use them to do amazing things. So I&#39;m gonna use them to revive my old passion and figure out just what is love!*
As Diotima pumps her fists, a bolt of lightning comes flying out of her and into the sky. After a moment, it comes back down and strikes a boulder, slicing it cleanly in half.
DIOTIMA: *...and then when I&#39;m done I am definitely gonna try and figure out the other side of these powers.*
[[Continue.|HUB]]
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/shrine.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]
[JavaScript]
document.body.removeAttribute(&quot;class&quot;);
[continued]
</tw-passagedata><tw-passagedata pid="27" name="HUB" tags="" position="1250,425" size="100,100">anyComplete: false
anyComplete (SuikaComplete): true
anyComplete (YoumuComplete): true
anyComplete (ReimuComplete): true
--
[align center]
[after 1 second]
You are a **PHILOSOPHER**.
[align center]
[after 2 seconds]
Engage your opponents in **DIALOGUE**.
[align center]
[after 3 seconds]
**QUESTION** their arguments.
[align center]
[after 4 seconds]
**PRESENT** your ideas to the contrary.
[align center]
[after 5 seconds]
**SEARCH** for truth.
[align center]
[after 6 seconds]
Figure out **LOVE**.
[continued]
[align center]
[if SuikaComplete == false]
[align center]
[[Talk to Suika.|SUIKA 1]] [[Haunt Suika.|SUIKA H 1]]
[continued]
[if ReimuComplete == false]
[align center]
[[Talk to Reimu.|REIMU 1]] [[Haunt Reimu.|REIMU H 1]]
[continued]
[if YoumuComplete == false]
[align center]
[[Talk to Youmu.|YOUMU 1]] [[Haunt Youmu.|YOUMU H 0]]
[continued]
[if anyComplete == true]
[align center]
[[I&#39;ve heard enough.|IDEA CLOUD]]
[continued]
***
[align left]
**Ideas**
[align left]
&lt;ul&gt;
[JavaScript]
inventory.forEach(function(value, index){
write(&quot;&lt;li&gt;&quot; + value + &quot;&lt;/li&gt;&quot;);
});
[continued]
&lt;/ul&gt;
***
[if cred == 1]
Your credibility is ABYSMAL.
[if cred == 2]
Your credibility is LOW.
[if cred == 3]
Your credibility is SHAKY.
[if cred == 4]
Your credibility is SOLID.
[if cred == 5]
Your credibility is UNDOUBTABLE.
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/shrine.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]</tw-passagedata><tw-passagedata pid="28" name="IDEA CLOUD" tags="" position="1000,800" size="100,100">[align center]
[after 2 seconds]
You know what you have to do.
[align center]
[after 4 seconds]
There are no takebacks after your final decision.
[align center]
[after 6 seconds]
Have you decided?
[continued]
[align center]
[after 8 seconds]
[[I know what is love.|IDCLOUD 1]]
[[Go back.|HUB]]
[continued]
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/shrine.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]</tw-passagedata><tw-passagedata pid="29" name="IDCLOUD 1" tags="" position="1125,825" size="100,100">[align left]
[align center]
{cycling link for: &#39;answer1&#39;, choices: [&quot;Love&quot;, &quot;Loving someone&quot;, &quot;Love on its own&quot;, &quot;Love in its highest form&quot;, &quot;The act of loving&quot;]} {cycling link for: &#39;answer2&#39;, choices: [&quot;is&quot;, &quot;is not&quot;, &quot;can be&quot;, &quot;cannot be&quot;, &quot;probably is&quot;, &quot;probably is not&quot;]} {cycling link for: &#39;answer3&#39;, choices: [&quot;selfish&quot;, &quot;duty&quot;, &quot;friendship&quot;, &quot;sacrifice&quot;, &quot;transient&quot;, &quot;understandable&quot;]}
[continued]
&lt;/ul&gt;
***
[[Continue.|IDCLOUD 2]]
[[Go back.|HUB]]
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/storm.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]</tw-passagedata><tw-passagedata pid="30" name="REIMU 1" tags="" position="1625,425" size="100,100">cred: cred - 1
--
{ambient sound: &#39;reimu&#39;}
REIMU: What is it?
DIOTIMA: I was wondering if could ask something of you.
REIMU: Shoot.
DIOTIMA: You are this land&#39;s priestess correct? That makes us peers.
REIMU: Close, I&#39;m its shrine maiden.
REIMU: We&#39;re in the same boat, you and me.
Reimu swirls her cups, staring into its rippling waves before taking another swig.
REIMU: We&#39;ve got no idea about the god we&#39;re serving. Just trying to make do.
DIOTIMA: Indeed. It&#39;s a... less than fulfilling experience.
REIMU: Word.
Reimu points a finger gun at Diotima while saying this.
DIOTIMA: While I&#39;m here, I&#39;d like to ask you, if you don&#39;t mind, about love.
REIMU: Love?
DIOTIMA: Love. You already know it was an old passion of mind as a philosopher; exploring the topic of love.
DIOTIMA: I want to know what is love, definitively.
REIMU: Hmm. I&#39;ll indulge you. [[Here&#39;s what I think of love.|REIMU 2]]
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/shrine.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]</tw-passagedata><tw-passagedata pid="31" name="YOUMU 1" tags="" position="2750,425" size="100,100">cred: cred - 1
--
{ambient sound: &#39;youmu2&#39;}
[if youmuSlash]
YOUMU: ...
Diotima waves her hands in the air.
DIOTIMA: I&#39;m not gonna harm you!
YOUMU: I know. I&#39;m just worried I might harm you.
Youmu puts down her sword with more than a little hesitation.
YOUMU: [[Let&#39;s continue then?|YOUMU 3]]
[else]
YOUMU: S-stop! Fiendish ghoul! You may move no closer!
DIOTIMA: I was wondering if—
YOUMU: No!
Youmu brandishes a longsword of a make unbeknownst to Diotima.
DIOTIMA: I was—
YOUMU: AHHHHH! Stay back!
Diotima stops speaking entirely. Youmu holds her sword up defensively.
DIOTIMA: Does that even work on—
YOUMU: The things that cannot be cut by my Roukanken...
YOUMU: [[...are next to none!|YOUMU 2]]
[continued]
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/shrine.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]</tw-passagedata><tw-passagedata pid="32" name="SUIKA 1" tags="" position="2125,425" size="100,100">cred: cred - 1
--
{ambient sound: &#39;suika&#39;}
SUIKA: Whaddya want?
DIOTIMA: I was wondering if could ask something of you.
SUIKA: Go right ahead.
Suika downs her (seemingly bottomless) gourd again, spilling some on the ground.
DIOTIMA: I would like to know what is love.
SUIKA: Hooh. You don&#39;t know?
DIOTIMA: I do not.
SUIKA: No, you think you do. I can see through you and your facade of ignorance.
DIOTIMA: I have no such facade.
SUIKA: You&#39;re a proud one alright. Just not honest about it. [[Let me show you how honesty&#39;s done.|SUIKA 2]]
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/shrine.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]</tw-passagedata><tw-passagedata pid="33" name="IDCLOUD 2" tags="" position="1000,925" size="100,100">positive: false
positive (answer2 == &quot;is&quot;): true
positive (answer2 == &quot;can be&quot;): true
positive (answer2 == &quot;probably is&quot;): true
confident: false
confident (answer2 == &quot;is&quot;): true
confident (answer2 == &quot;is not&quot;): true
confident (answer2 == &quot;cannot be&quot;): true
action: false
action (answer1 == &quot;Love on its own&quot;): true
action (answer1 == &quot;The act of loving&quot;): true
--
[JavaScript]
// This is way more scuffed than it has to be but in my defense it&#39;s because I wanted to write a custom explanation for literally every combination but turn out that takes time.
if (!positive &amp;&amp; !confident &amp;&amp; !action){
// 000
write(&quot;DIOTIMA: Now I&#39;m not entirely sure.&lt;/p&gt;&lt;p&gt;&quot;);
write(&quot;DIOTIMA: But I think love is an idea. Actions of love are just manifestations of the true form of love.&lt;/p&gt;&lt;p&gt;&quot;);
write(&quot;DIOTIMA: That form of love must be &quot; + answer3 + &quot;.&lt;/p&gt;&quot;);
}
else if (!positive &amp;&amp; !confident &amp;&amp; action){
// 001
write(&quot;DIOTIMA: Now I&#39;m not entirely sure.&lt;/p&gt;&lt;p&gt;&quot;);
write(&quot;DIOTIMA: But I think love is an act. There cannot be love without people showing it, living in it.&lt;/p&gt;&lt;p&gt;&quot;);
write(&quot;DIOTIMA: That means that love cannot be &quot; + answer3 + &quot;.&lt;/p&gt;&quot;);
}
else if (!positive &amp;&amp; confident &amp;&amp; !action){
// 010
write(&quot;DIOTIMA: I&#39;m sure of this. I can feel it to be right.&lt;/p&gt;&lt;p&gt;&quot;);
write(&quot;DIOTIMA: Love is an idea. Actions of love are just manifestations of the true form of love.&lt;/p&gt;&lt;p&gt;&quot;);
write(&quot;DIOTIMA: That form of love cannot be &quot; + answer3 + &quot;.&lt;/p&gt;&quot;);
}
else if (!positive &amp;&amp; confident &amp;&amp; action){
// 011
write(&quot;DIOTIMA: I&#39;m sure of this. I can feel it to be right.&lt;/p&gt;&lt;p&gt;&quot;);
write(&quot;DIOTIMA: Love is an act. There cannot be love without people showing it, living in it.&lt;/p&gt;&lt;p&gt;&quot;);
write(&quot;DIOTIMA: That means that love cannot be &quot; + answer3 + &quot;.&lt;/p&gt;&quot;);
}
else if (positive &amp;&amp; !confident &amp;&amp; !action){
// 100
write(&quot;DIOTIMA: Now I&#39;m not entirely sure.&lt;/p&gt;&lt;p&gt;&quot;);
write(&quot;DIOTIMA: But I think love is an idea. Actions of love are just manifestations of the true form of love.&lt;/p&gt;&lt;p&gt;&quot;);
write(&quot;DIOTIMA: That form of love must be &quot; + answer3 + &quot;.&lt;/p&gt;&quot;);
}
else if (positive &amp;&amp; !confident &amp;&amp; action){
// 101
write(&quot;DIOTIMA: Now I&#39;m not entirely sure.&lt;/p&gt;&lt;p&gt;&quot;);
write(&quot;DIOTIMA: But I think love is an act. There cannot be love without people showing it, living in it.&lt;/p&gt;&lt;p&gt;&quot;);
write(&quot;DIOTIMA: That means that love must be &quot; + answer3 + &quot;.&lt;/p&gt;&quot;);
}
else if (positive &amp;&amp; confident &amp;&amp; !action){
// 110
write(&quot;DIOTIMA: I&#39;m sure of this. I can feel it to be right.&lt;/p&gt;&lt;p&gt;&quot;);
write(&quot;DIOTIMA: Love is an idea. Actions of love are just manifestations of the true form of love.&lt;/p&gt;&lt;p&gt;&quot;);
write(&quot;DIOTIMA: That form of love must be &quot; + answer3 + &quot;.&lt;/p&gt;&quot;);
}
else if (positive &amp;&amp; confident &amp;&amp; action){
// 111
write(&quot;DIOTIMA: I&#39;m sure of this. I can feel it to be right.&lt;/p&gt;&lt;p&gt;&quot;);
write(&quot;DIOTIMA: Love is an act. There cannot be love without people showing it, living in it.&lt;/p&gt;&lt;p&gt;&quot;);
write(&quot;DIOTIMA: That means that love must be &quot; + answer3 + &quot;.&lt;/p&gt;&quot;);
}
[continued]
[after 5 seconds]
DIOTIMA: But that&#39;s not quite complete.
DIOTIMA: What do you think?
YOU: {text input for: &#39;yourAnswer&#39;}
[[Continue.|IDCLOUD 3]]
[continued]
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/storm.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]</tw-passagedata><tw-passagedata pid="34" name="REIMU H 1" tags="" position="1250,275" size="100,100">cred: cred - 1
--
Diotima focuses her ghostly energies on Reimu... doing so takes a toll on her and she&#39;ll lose her presence while trying.
...and it fails miserably. Reimu&#39;s still too buzzed to notice but it appears her spiritual powers prevent Diotima from possessing her. It&#39;s like blowing bubbles inside of a hurricane; you&#39;re not gonna achieve anything by trying.
[[Give up.|HUB]]
***
[if cred == 0]
Your credibility is ABYSMAL.
[if cred == 1]
Your credibility is LOW.
[if cred == 2]
Your credibility is SHAKY.
[if cred == 3]
Your credibility is SOLID.
[if cred == 4]
Your credibility is UNDOUBTABLE.
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/storm.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]</tw-passagedata><tw-passagedata pid="35" name="SUIKA H 1" tags="" position="1500,275" size="100,100">cred: cred - 1
--
[if cred &lt; 0]
{embed passage: &#39;HUB LOSS&#39;}
[continued]
Diotima focuses her ghostly energies on Suika... doing so takes a toll on her and she&#39;ll lose her presence while trying.
Her will is far from weak but she appears to be nursing some emotional wounds. She might be vulnerable if you can just push through her strength.
**Pick an idea to attack her with.**
&lt;ul&gt;
[JavaScript]
inventory.forEach(function(value, index){
if(value == &quot;Love is duty.&quot;)
{
write(&quot;&lt;li&gt;&lt;a href=\&quot;javascript:void(0)\&quot; data-cb-go=\&quot;SUIKA CLUES\&quot;&gt;&quot; + value + &quot;&lt;/a&gt;&lt;/li&gt;&quot;);
}
else
{
write(&quot;&lt;li&gt;&lt;a href=\&quot;javascript:void(0)\&quot; data-cb-go=\&quot;{passage.name}\&quot;&gt;&quot; + value + &quot;&lt;/a&gt;&lt;/li&gt;&quot;);
}
});
[continued]
&lt;/ul&gt;
[[Give up.|HUB]]
***
[if cred == 0]
Your credibility is ABYSMAL.
[if cred == 1]
Your credibility is LOW.
[if cred == 2]
Your credibility is SHAKY.
[if cred == 3]
Your credibility is SOLID.
[if cred == 4]
Your credibility is UNDOUBTABLE.
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/storm.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]</tw-passagedata><tw-passagedata pid="36" name="YOUMU H 1" tags="" position="1375,150" size="100,100">cred: cred - 2
--
[if cred &lt; 0]
{embed passage: &#39;HUB LOSS&#39;}
[continued]
Diotima focuses her ghostly energies on Youmu... doing so takes a toll on her and she&#39;ll lose her presence while trying.
She appears to be fearful of Diotima. She&#39;d be easy to enter but fighting off her phantom half be VERY, VERY draining. It&#39;d be best to end things fast.
**Pick an idea to attack her with.**
&lt;ul&gt;
[JavaScript]
inventory.forEach(function(value, index){
if(value == &quot;Love appears differently in many ways.&quot; || value == &quot;Love is a wild, ultimately transient state.&quot;)
{
write(&quot;&lt;li&gt;&lt;a href=\&quot;javascript:void(0)\&quot; data-cb-go=\&quot;YOUMU CLUES\&quot;&gt;&quot; + value + &quot;&lt;/a&gt;&lt;/li&gt;&quot;);
}
else
{
write(&quot;&lt;li&gt;&lt;a href=\&quot;javascript:void(0)\&quot; data-cb-go=\&quot;{passage.name}\&quot;&gt;&quot; + value + &quot;&lt;/a&gt;&lt;/li&gt;&quot;);
}
});
[continued]
&lt;/ul&gt;
[[Give up.|HUB]]
***
[if cred == 0]
Your credibility is ABYSMAL.
[if cred == 1]
Your credibility is LOW.
[if cred == 2]
Your credibility is SHAKY.
[if cred == 3]
Your credibility is SOLID.
[if cred == 4]
Your credibility is UNDOUBTABLE.
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/storm.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]</tw-passagedata><tw-passagedata pid="37" name="IDCLOUD 3" tags="" position="1125,950" size="100,100">DIOTIMA: Interesting.
DIOTIMA: I could tell you were listening in for a little while now.
DIOTIMA: Like me, you are but an observer of this world. A guest not a resident.
DIOTIMA: Just the same, I was never a citizen of Athens. Even if I wanted to, the best I could become would be the wife of a man of higher standing. Even then, I&#39;d still be more lowly than even the most crapulent, conniving, catastrophic citizen.
DIOTIMA: I had personal love too, once. My own eros. But that turned sour as quickly as it sweetened.
DIOTIMA: We didn&#39;t agree on as many things as I initially thought. Some of those things were dealbreakers.
DIOTIMA: I don&#39;t regret it though. With all the earthly pains that love can bring comes all its pleasures. Not pleasure of the body mind you, but those of the soul.
DIOTIMA: I loved but I did not understand it until it tore me apart. I won&#39;t rest until I truly can comprehend it.
DIOTIMA: How about you?
DIOTIMA: Are you still searching for it?
YOU: {text input for: &#39;yourAnswer&#39;}
[[Continue.|IDCLOUD 4]]
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/shrine.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]</tw-passagedata><tw-passagedata pid="38" name="IDCLOUD 4" tags="" position="1000,1050" size="100,100">DIOTIMA: I see.
DIOTIMA: I can only wish you the best of luck on your journey and hope you do the same for me.
Diotima stands, her legs returned. She makes her way to the grilled lamprey from earlier.
DIOTIMA: It appears that while I&#39;ve not come to a perfect answer my progress has returned my mortal, physical form to me.
DIOTIMA: Time to celebrate!
Her hands still passes through the skewer. She is slightly more solid now however so rather than it passing through harmlessly she knocks the skewer over and it falls onto the ground.
DIOTIMA: ...
DIOTIMA: Well, [[FU—|Ending]]
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/shrine.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]</tw-passagedata><tw-passagedata pid="39" name="Ending" tags="" position="1125,1075" size="100,100">Author here, this is the end of the game. I&#39;d put a photo here to celebrate but because of budget constraints I can only afford a word.
Congratulations!
~~Feel free to replay the game since there&#39;s at least two different approaches to beating it. Or don&#39;t.~~
{restart link, label: &quot;RESTART&quot;}</tw-passagedata><tw-passagedata pid="40" name="REIMU 2" tags="" position="1750,425" size="100,100">cred (cred &lt; 5): cred + 1
--
[align center]
BEGIN DIALOGUE
[align left]
REIMU: Love appears differently in many ways.
[[QUESTION|REIMU 2a]] or
[[PRESENT|REIMU 2 PRESENT a]]
[if progressReimuA == 0]
REIMU: But true love is comfortable, tranquil, like a lazy Sunday.
[[QUESTION|REIMU 2b]] or
[[PRESENT|REIMU 2 PRESENT b]]
[else]
REIMU: Love is eternal and reliable.
[[PRESENT|REIMU 2 PRESENT b]]
[continued]
REIMU: I think then that love is at its purest in friendship.
[[QUESTION|REIMU 2c]] or
[[PRESENT|REIMU 2 PRESENT c]]
[[Go back.|HUB]]
***
~~GAINED &quot;Love appears differently in many ways.&quot;~~
***
**Ideas**
&lt;ul&gt;
[JavaScript]
var newItem = &quot;Love appears differently in many ways.&quot;;
inventory.indexOf(newItem) === -1 ? inventory.push(newItem) : console.log(&quot;This idea already exists&quot;);
inventory.forEach(function(value, index){
write(&quot;&lt;li&gt;&quot; + value + &quot;&lt;/li&gt;&quot;);
});
[continued]
&lt;/ul&gt;
***
[if cred == 1]
Your credibility is ABYSMAL.
[if cred == 2]
Your credibility is LOW.
[if cred == 3]
Your credibility is SHAKY.
[if cred == 4]
Your credibility is SOLID.
[if cred == 5]
Your credibility is UNDOUBTABLE.
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/shrine.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]</tw-passagedata><tw-passagedata pid="41" name="REIMU 2 PRESENT c" tags="" position="1750,50" size="100,100">cred: cred - 1
--
[if cred &lt; 0]
{embed passage: &#39;HUB LOSS&#39;}
[continued]
REIMU: I think then that love is at its purest in friendship.
[[RETURN|REIMU 2]]
***
**Pick an idea to present**
&lt;ul&gt;
[JavaScript]
inventory.forEach(function(value, index){
write(&quot;&lt;li&gt;&lt;a href=\&quot;javascript:void(0)\&quot; data-cb-go=\&quot;{passage.name}\&quot;&gt;&quot; + value + &quot;&lt;/a&gt;&lt;/li&gt;&quot;);
});
[continued]
&lt;/ul&gt;
***
[if cred == 0]
Your credibility is ABYSMAL.
[if cred == 1]
Your credibility is LOW.
[if cred == 2]
Your credibility is SHAKY.
[if cred == 3]
Your credibility is SOLID.
[if cred == 4]
Your credibility is UNDOUBTABLE.
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/shrine.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]
[JavaScript]
if(cred &lt; 0){
document.body.setAttribute(&quot;class&quot;, &quot;stop-scrolling&quot;);
}</tw-passagedata><tw-passagedata pid="42" name="REIMU 2c" tags="" position="1750,800" size="100,100">DIOTIMA: I think we have similar lines of thinking.
REIMU: Really?
DIOTIMA: Yes, I had my own theory regarding love. I compared it to a ladder one has to climb. Carnal affections were at the lowest rungs and ascending past that is an important step.
REIMU: That does sound interesting. You sure you haven&#39;t figured it out yet?
DIOTIMA: I recognize its flaws. It was less an explanation of what is love and more of the process to understanding love.
DIOTIMA: Even so, I think I did pretty good with that one.
[[Go back.|REIMU 2]]
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/shrine.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]</tw-passagedata><tw-passagedata pid="43" name="REIMU 2b" tags="" position="1750,675" size="100,100">cred: cred - 1
progressReimuA: progressReimuA + 1
--
DIOTIMA: What makes you say that?
REIMU: Well, there&#39;s love and then there&#39;s lust right?
REIMU: What&#39;s the difference between the two?
DIOTIMA: Oh. Is it because lust is superficial?
REIMU: Bingo. It&#39;s like Suika wanting to drink or you wanting to eat.
Diotima pouts. Reimu chuckles.
REIMU: We&#39;ll find you whatever ghosts eat later. Youmu&#39;s mistress has a whole village&#39;s worth of food stocked and then some.
DIOTIMA: Her mistress?
REIMU: Yuyuko. She&#39;s a ghost too.
DIOTIMA: I see, would you continue?
REIMU: Right. So if lust is like an impulse, love should be the opposite.
REIMU: Love is comforting, reliable. It&#39;s eternal.
REIMU: ...damn that sounds cheesy.
[[It does.|REIMU 2]]
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/shrine.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]</tw-passagedata><tw-passagedata pid="44" name="REIMU 2 PRESENT b" tags="" position="1750,175" size="100,100">cred: cred - 1
--
[if cred &lt; 0]
{embed passage: &#39;HUB LOSS&#39;}
[continued]
[if progressReimuA == 0]
REIMU: But true love is comfortable, tranquil, like a lazy Sunday.
[else]
REIMU: Love is eternal and reliable.
[continued]
[[RETURN|REIMU 2]]
***
**Pick an idea to present**
&lt;ul&gt;
[JavaScript]
inventory.forEach(function(value, index){
if(progressReimuA != 0 &amp;&amp; value == &quot;Love is a wild, ultimately transient state.&quot;)
{
write(&quot;&lt;li&gt;&lt;a href=\&quot;javascript:void(0)\&quot; data-cb-go=\&quot;REIMU 3\&quot;&gt;&quot; + value + &quot;&lt;/a&gt;&lt;/li&gt;&quot;);
}
else
{
write(&quot;&lt;li&gt;&lt;a href=\&quot;javascript:void(0)\&quot; data-cb-go=\&quot;{passage.name}\&quot;&gt;&quot; + value + &quot;&lt;/a&gt;&lt;/li&gt;&quot;);
}
});
[continued]
&lt;/ul&gt;
***
[if cred == 0]
Your credibility is ABYSMAL.
[if cred == 1]
Your credibility is LOW.
[if cred == 2]
Your credibility is SHAKY.
[if cred == 3]
Your credibility is SOLID.
[if cred == 4]
Your credibility is UNDOUBTABLE.
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/shrine.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]
[JavaScript]
if(cred &lt; 0){
document.body.setAttribute(&quot;class&quot;, &quot;stop-scrolling&quot;);
}</tw-passagedata><tw-passagedata pid="45" name="REIMU 2 PRESENT a" tags="" position="1750,300" size="100,100">cred: cred - 1
--
[if cred &lt; 0]
{embed passage: &#39;HUB LOSS&#39;}
[continued]
REIMU: Love appears differently in many ways.
[[RETURN|REIMU 2]]
***
**Pick an idea to present**
&lt;ul&gt;
[JavaScript]
inventory.forEach(function(value, index){
write(&quot;&lt;li&gt;&lt;a href=\&quot;javascript:void(0)\&quot; data-cb-go=\&quot;{passage.name}\&quot;&gt;&quot; + value + &quot;&lt;/a&gt;&lt;/li&gt;&quot;);
});
[continued]
&lt;/ul&gt;
***
[if cred == 0]
Your credibility is ABYSMAL.
[if cred == 1]
Your credibility is LOW.
[if cred == 2]
Your credibility is SHAKY.
[if cred == 3]
Your credibility is SOLID.
[if cred == 4]
Your credibility is UNDOUBTABLE.
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/shrine.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]
[JavaScript]
if(cred &lt; 0){
document.body.setAttribute(&quot;class&quot;, &quot;stop-scrolling&quot;);
}</tw-passagedata><tw-passagedata pid="46" name="REIMU 2a" tags="" position="1750,550" size="100,100">DIOTIMA: How can love appear differently?
REIMU: It&#39;s like that story you told. We use our senses to experience the world.
REIMU: Love looks different from different perspectives.
DIOTIMA: Does mean they&#39;re all correct?
REIMU: I hope you&#39;re not trying to trick me into the trap you got your student in.
DIOTIMA: No promises.
REIMU: Well, in that case, no. They&#39;re not all correct.
DIOTIMA: How come?
REIMU: Well they&#39;re all just getting one side of the story.
REIMU: Love is all of it.
Reimu does a big gesture waving her hands in the air.
REIMU: But to say any one bit of it is love as a whole is wrong.
DIOTIMA: They are all getting pieces of the truth, is what you&#39;re saying?
REIMU: That&#39;s right.
[[Go back.|REIMU 2]]
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/shrine.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]</tw-passagedata><tw-passagedata pid="47" name="HUB LOSS" tags="" position="1375,425" size="100,100">DIOTIMA: *Now wait a moment. I do anything of that sort.*
Diotima sighs.
DIOTIMA: *I think we&#39;ve gotten a bit muddled on our way here. Let me try and retrace my steps again.*
DIOTIMA: *We&#39;ll at least skip past Socrates though.*
[[Restart from checkpoint.|INTERLUDE 1]]
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/greece.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]
[note]
This is all invisible characters.
[continued]
</tw-passagedata><tw-passagedata pid="48" name="REIMU 3" tags="" position="1875,425" size="100,100">cred: cred + 1
ReimuComplete: true
--
DIOTIMA: Reimu, I do agree with you on many things regarding love.
DIOTIMA: But I believe Suika raised a good point when I spoke with her.
REIMU: What&#39;s that?
DIOTIMA: Love is a wild, ultimately transient state.
DIOTIMA: To choose to love a person, to open up to them is a continous risk. It means being vulnerable around them.
DIOTIMA: You said yourself that love can appear in many different ways. You understood love at its highest form as the kind of respite found in friendship.
DIOTIMA: But even friendships can be fickle things and betrayal is hardly unheard of.
REIMU: Are you saying love is just chaos?
DIOTIMA: I am not. I am simply pointing out that trying to rank different manifestations of love over each other is still just giving different examples of love.
DIOTIMA: To understand love, we&#39;d need something more robust as simple examples always have exceptions.
REIMU: ...hm. You have a point.
REIMU: I&#39;m not fully convinced but you did prove me wrong. I probably won&#39;t think too hard on it though.
REIMU: But thanks anyways. That was interesting.
[[Return.|HUB]]
~~You&#39;ve gained credibility.~~
~~GAINED &quot;Examples of love cannot explain what is love.&quot;~~
~~LOST &quot;Love is a wild, ultimately transient state.&quot;~~
***
[if cred == 1]
Your credibility is ABYSMAL.
[if cred == 2]
Your credibility is LOW.
[if cred == 3]
Your credibility is SHAKY.
[if cred == 4]
Your credibility is SOLID.
[if cred == 5]
Your credibility is UNDOUBTABLE.
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/shrine.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]
[JavaScript]
var newItem = &quot;Examples of love cannot explain what is love.&quot;;
inventory.indexOf(newItem) === -1 ? inventory.push(newItem) : console.log(&quot;This idea already exists&quot;);
if (inventory.indexOf(&quot;Love is a wild, ultimately transient state.&quot;) &gt; -1) {
inventory.splice(inventory.indexOf(&quot;Love is a wild, ultimately transient state.&quot;), 1); // 2nd parameter means remove one item only
}
[continued]</tw-passagedata><tw-passagedata pid="49" name="YOUMU CLUES" tags="" position="1375,25" size="100,100">Entering into Youmu&#39;s mind (or soul, Diotima isn&#39;t really sure which), she finds herself in a peaceful, tranquil place. It&#39;s dead silent.
Inside she finds an idea:
- Item
[[Leave.|HUB]]
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/quiet.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]</tw-passagedata><tw-passagedata pid="50" name="SUIKA CLUES" tags="" position="1500,150" size="100,100">Entering into Suika&#39;s mind (or soul, Diotima isn&#39;t really sure which), she finds herself in a vast flowing ocean of aether. It rushes past her ears, roaring. You&#39;d think it&#39;d be unpleasant but it&#39;s actually awe-inspiring. Diotima thinks that it&#39;d be exhausting to be like this all the time though.
Inside she finds an idea:
- We all wear facades.
[[Leave.|HUB]]
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/loud.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]
[JavaScript]
var newItem = &quot;We all wear facades.&quot;;
inventory.indexOf(newItem) === -1 ? inventory.push(newItem) : console.log(&quot;This idea already exists&quot;);
[continued]</tw-passagedata><tw-passagedata pid="51" name="SUIKA 2" tags="" position="2250,425" size="100,100">cred (cred &lt; 5): cred + 1
--
[align center]
BEGIN DIALOGUE
[align left]
SUIKA: Love is a wild, ultimately transient state.
[[QUESTION|SUIKA 2a]] or
[[PRESENT|SUIKA 2 PRESENT a]]
SUIKA: It means being vulnerable and opening up to risks.
[[QUESTION|SUIKA 2b]] or
[[PRESENT|SUIKA 2 PRESENT b]]
[continued]
SUIKA: You can&#39;t love while wearing a facade! Love is authentic and it can bite ya!
[[QUESTION|SUIKA 2c]] or
[[PRESENT|SUIKA 2 PRESENT c]]
[[Go back.|HUB]]
***
~~GAINED &quot;Love is a wild, ultimately transient state.&quot;~~
***
**Ideas**
&lt;ul&gt;
[JavaScript]
var newItem = &quot;Love is a wild, ultimately transient state.&quot;;
inventory.indexOf(newItem) === -1 ? inventory.push(newItem) : console.log(&quot;This idea already exists&quot;);
inventory.forEach(function(value, index){
write(&quot;&lt;li&gt;&quot; + value + &quot;&lt;/li&gt;&quot;);
});
[continued]
&lt;/ul&gt;
***
[if cred == 1]
Your credibility is ABYSMAL.
[if cred == 2]
Your credibility is LOW.
[if cred == 3]
Your credibility is SHAKY.
[if cred == 4]
Your credibility is SOLID.
[if cred == 5]
Your credibility is UNDOUBTABLE.
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/shrine.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]</tw-passagedata><tw-passagedata pid="52" name="SUIKA 2a" tags="" position="2250,550" size="100,100">DIOTIMA: What do you mean by this?
SUIKA: It means what it means.
DIOTIMA: Could you clarify?
SUIKA: Well, it means that all love has to end someday.
SUIKA: By hook or by crook, I say!
DIOTIMA: You mean an ending in betrayal?
SUIKA: Sure, that&#39;s an example, but it&#39;s not the only one.
DIOTIMA: Could you formalize this for me?
DIOTIMA: What does it mean to love?
SUIKA: Hold your horses, that&#39;s coming up next.
[[Go back.|SUIKA 2]]
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/shrine.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]</tw-passagedata><tw-passagedata pid="53" name="SUIKA 2 PRESENT a" tags="" position="2250,300" size="100,100">cred: cred - 1
--
[if cred &lt; 0]
{embed passage: &#39;HUB LOSS&#39;}
[continued]
SUIKA: Love is a wild, ultimately transient state.
[[RETURN|SUIKA 2]]
***
**Pick an idea to present**
&lt;ul&gt;
[JavaScript]
inventory.forEach(function(value, index){
write(&quot;&lt;li&gt;&lt;a href=\&quot;javascript:void(0)\&quot; data-cb-go=\&quot;{passage.name}\&quot;&gt;&quot; + value + &quot;&lt;/a&gt;&lt;/li&gt;&quot;);
});
[continued]
&lt;/ul&gt;
***
[if cred == 0]
Your credibility is ABYSMAL.
[if cred == 1]
Your credibility is LOW.
[if cred == 2]
Your credibility is SHAKY.
[if cred == 3]
Your credibility is SOLID.
[if cred == 4]
Your credibility is UNDOUBTABLE.
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/shrine.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]
[JavaScript]
if(cred &lt; 0){
document.body.setAttribute(&quot;class&quot;, &quot;stop-scrolling&quot;);
}</tw-passagedata><tw-passagedata pid="54" name="SUIKA 2b" tags="" position="2250,675" size="100,100">DIOTIMA: What kind of risks are you talking about?
SUIKA: The backstabbing kind, the falling out of love kind, the different lifespan kind; I could name you a thousand examples.
DIOTIMA: Will you?
SUIKA: Nah.
Suika takes another big gulp from her gourd. Diotima swears that she saw it empty a second ago.
SUIKA: I&#39;m just saying, I think you already know what I&#39;m talking about.
DIOTIMA: I assure you I don&#39;t.
SUIKA: Sure... well go ahead and ask away!
[[Go back.|SUIKA 2]]
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/shrine.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]</tw-passagedata><tw-passagedata pid="55" name="SUIKA 2 PRESENT b" tags="" position="2250,175" size="100,100">cred: cred - 1
--
[if cred &lt; 0]
{embed passage: &#39;HUB LOSS&#39;}
[continued]
SUIKA: It means being vulnerable and opening up to risks.
[[RETURN|SUIKA 2]]
***
**Pick an idea to present**
&lt;ul&gt;
[JavaScript]
inventory.forEach(function(value, index){
if(value == &quot;Humans cope with danger by setting boundaries.&quot; || value == &quot;We all wear facades.&quot;)
{
write(&quot;&lt;li&gt;&lt;a href=\&quot;javascript:void(0)\&quot; data-cb-go=\&quot;SUIKA 4\&quot;&gt;&quot; + value + &quot;&lt;/a&gt;&lt;/li&gt;&quot;);
}
else
{
write(&quot;&lt;li&gt;&lt;a href=\&quot;javascript:void(0)\&quot; data-cb-go=\&quot;{passage.name}\&quot;&gt;&quot; + value + &quot;&lt;/a&gt;&lt;/li&gt;&quot;);
}
});
[continued]
&lt;/ul&gt;
***
[if cred == 0]
Your credibility is ABYSMAL.
[if cred == 1]
Your credibility is LOW.
[if cred == 2]
Your credibility is SHAKY.
[if cred == 3]
Your credibility is SOLID.
[if cred == 4]
Your credibility is UNDOUBTABLE.
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/shrine.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]
[JavaScript]
if(cred &lt; 0){
document.body.setAttribute(&quot;class&quot;, &quot;stop-scrolling&quot;);
}</tw-passagedata><tw-passagedata pid="56" name="SUIKA 2c" tags="" position="2250,800" size="100,100">fac: fac +1
--
[if fac &lt; 2]
DIOTIMA: Was that targeted at me?
SUIKA: I ain&#39;t talking to anyone else here am I?
DIOTIMA: It just doesn&#39;t seem relevant. We&#39;re not talking about me.
SUIKA: I think it&#39;s very relevant.
DIOTIMA: Could you at least clarify what you mean by facade?
SUIKA: Nah.
DIOTIMA: You&#39;re very rude.
SUIKA: I&#39;m very honest, you mean. You&#39;re the one being rude by interrupting my sorrows drowning!
DIOTIMA: *Stubborn. It&#39;ll take more to get to her to concede on this point.*
[else]
DIOTIMA: Since you&#39;re not cooperating, how about we reverse things?
SUIKA: Ooh, is that a challenge?
DIOTIMA: Take it how you will.
SUIKA: Haha! Now you&#39;re speaking my language.
DIOTIMA: I&#39;ll supply the argument, and you challenge my points.
SUIKA: Hm. Sure! It&#39;s no fight but at least you&#39;re making it interesting for a change.
[[Continue.|SUIKA 3]]
[continued]
[[Go back.|SUIKA 2]]
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/shrine.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]</tw-passagedata><tw-passagedata pid="57" name="SUIKA 2 PRESENT c" tags="" position="2250,50" size="100,100">cred: cred - 1
--
[if cred &lt; 0]
{embed passage: &#39;HUB LOSS&#39;}
[continued]
SUIKA: You can&#39;t love while wearing a facade! Love is authentic and it can bite ya!
[[RETURN|SUIKA 2]]
***
**Pick an idea to present**
&lt;ul&gt;
[JavaScript]
inventory.forEach(function(value, index){
if(value == &quot;Humans cope with danger by setting boundaries.&quot; || value == &quot;We all wear facades.&quot;)
{
write(&quot;&lt;li&gt;&lt;a href=\&quot;javascript:void(0)\&quot; data-cb-go=\&quot;SUIKA 4\&quot;&gt;&quot; + value + &quot;&lt;/a&gt;&lt;/li&gt;&quot;);
}
else
{
write(&quot;&lt;li&gt;&lt;a href=\&quot;javascript:void(0)\&quot; data-cb-go=\&quot;{passage.name}\&quot;&gt;&quot; + value + &quot;&lt;/a&gt;&lt;/li&gt;&quot;);
}
});
[continued]
&lt;/ul&gt;
***
[if cred == 0]
Your credibility is ABYSMAL.
[if cred == 1]
Your credibility is LOW.
[if cred == 2]
Your credibility is SHAKY.
[if cred == 3]
Your credibility is SOLID.
[if cred == 4]
Your credibility is UNDOUBTABLE.
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/shrine.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]
[JavaScript]
if(cred &lt; 0){
document.body.setAttribute(&quot;class&quot;, &quot;stop-scrolling&quot;);
}</tw-passagedata><tw-passagedata pid="58" name="SUIKA 3" tags="" position="2375,425" size="100,100">Diotima begins her argument.
DIOTIMA: I believe that love is state of order and coexistence.
DIOTIMA: It means putting up boundaries and picking your battles.
DIOTIMA: You must love while wearing a facade! Love is authentic and it can bite you!
Diotima concludes her argument.
SUIKA: Well that was dumb! You just inverted my own argument.
DIOTIMA: Indeed. Does that mean you&#39;re backing down?
SUIKA: Oh hell no. I&#39;m decimating your argument. First:
SUIKA: If love is order then how do you explain breakups, manipulation, and all the messy stuff in love?
DIOTIMA: Hm. Breakups are merely the end of order. Manipulation and similar examples are the same; though it is still called love from the outside, those inside of the relationship can tell there&#39;s a difference.
SUIKA: Fine. I&#39;ll admit I was overeager there. What was your third point again?
DIOTIMA: It was, &quot;you must love while wearing a facade! Love is authentic and it can bite you!&quot;
SUIKA: Well isn&#39;t that already contradicting itself? Love is authentic but has a facade?
DIOTIMA: Not quite. I said that the act of loving needs a facade in order to protect one&#39;s self from love&#39;s dangerous elements.
SUIKA: Hm. But that goes for all things in life, no? You humans put up walls around yourself because you&#39;re weak inside.
DIOTIMA: That&#39;s true.
SUIKA: Then that&#39;s less explaining love than an explanation of coping with it.
DIOTIMA: That... is also true.
SUIKA: Does that mean... I win?
DIOTIMA: Indeed, you won that argument Suika.
SUIKA: Hm. Well it&#39;s less dramatic than a fight but that&#39;s actually pretty fun!
DIOTIMA: [[Now let us return to your original argument.|SUIKA 2]]
SUIKA: H-huh?
[[Go back.|SUIKA 2]]
***
~~GAINED &quot;Humans cope with danger by setting boundaries.&quot;~~
***
**Ideas**
&lt;ul&gt;
[JavaScript]
var newItem = &quot;Humans cope with danger by setting boundaries.&quot;;
inventory.indexOf(newItem) === -1 ? inventory.push(newItem) : console.log(&quot;This idea already exists&quot;);
inventory.forEach(function(value, index){
write(&quot;&lt;li&gt;&quot; + value + &quot;&lt;/li&gt;&quot;);
});
[continued]
&lt;/ul&gt;
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/shrine.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]</tw-passagedata><tw-passagedata pid="59" name="SUIKA 4" tags="" position="2500,425" size="100,100">cred: cred + 1
ReimuComplete: true
--
DIOTIMA: Suika, do you truly believe that loving without boundaries is the only form of love?
The two sit in silence. Suika pauses from her drinking and stares at the ground.
DIOTIMA: I once loved too. And then it ended.
Suika looks back up at Diotima, floating.
SUIKA: How come?
DIOTIMA: I thought he wanted me just as I wanted him.
DIOTIMA: What he wanted was just a wife, not me. When the pieces didn&#39;t fit, we went our seperate ways.
DIOTIMA: All things considered it was more amicable than most breakups, though it didn&#39;t feel like it at the time.
SUIKA: ...do you still talk?
DIOTIMA: ...
DIOTIMA: ...not really.
Suika sighs from a place deep inside.
SUIKA: I&#39;m an oni. We&#39;re the strong, honest ones around here.
SUIKA: When an old flame of mine avoided me, I understood why. She has her own different life now. Her old identity is behind her. I got that part.
SUIKA: I wasn&#39;t hoping for the same old as if nothing had happen but... she shut me out entirely.
SUIKA: There aren&#39;t a lot of us left, so even if she want to give me the cold shoulder I just... I just can&#39;t get over her.
The two sit in silence again. Suika lifts her gourd above her head, but it&#39;s empty. She sighs and plugs it. The sound of the gourd refilling fills the empty air.
SUIKA: Ya got me. I&#39;m a liar just like you. Happy?
Suika takes another swig.
DIOTIMA: Huhuhu...
SUIKA: Hm?
DIOTIMA: Hahaha! Well if it got you to admit it then yeah!
DIOTIMA: I suppose that makes both of us the losers of this argument, no?
SUIKA; ...PHAHAHA!
Suika&#39;s laugh is much deeper and louder than Diotima despite her diminuitive size.
SUIKA: Yeah, yeah I guess so.
[[Return.|HUB]]
~~You&#39;ve gained credibility.~~
[todo]
Figure out which of the two possible ideas were used by saving it in a variable and then clear it (POST-JAM)
[continued]
***
[if cred == 1]
Your credibility is ABYSMAL.
[if cred == 2]
Your credibility is LOW.
[if cred == 3]
Your credibility is SHAKY.
[if cred == 4]
Your credibility is SOLID.
[if cred == 5]
Your credibility is UNDOUBTABLE.
[JavaScript]
if (inventory.indexOf(&quot;Humans cope with danger by setting boundaries.&quot;) &gt; -1) {
inventory.splice(inventory.indexOf(&quot;Humans cope with danger by setting boundaries.&quot;), 1);
}
if (inventory.indexOf(&quot;We all wear facades.&quot;) &gt; -1) {
inventory.splice(inventory.indexOf(&quot;We all wear facades.&quot;), 1);
}
[continued]
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/shrine.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]</tw-passagedata><tw-passagedata pid="60" name="YOUMU 2" tags="" position="2875,425" size="100,100">cred: cred - 1
cred (cred &lt; 0): 0
youmuSlash: true
--
Youmu cuts at Diotima. Shockingly, it hurts. The girl was not lying about that sword&#39;s ability.
She&#39;s not dead though. Dead again? Second death? Whatever she isn&#39;t, Diotima is also starting off on the wrong foot with Youmu.
***
~~You&#39;ve lost credibility.~~
***
Youmu gapes at her apparent inability to (perfectly) cut this phantom.
YOUMU: Oh god, you&#39;re not dead.
DIOTIMA: Ouch, shit.
DIOTIMA: Well maybe being a shivering, shaking, scared mess didn&#39;t do your swinging arm any favors.
YOUMU: Oh.
DIOTIMA: Oh; and hello to you too. I wasn&#39;t exactly planning on harming you but now you&#39;re making me feel like it.
YOUMU: I am so sorry.
Youmu bows deeply.
YOUMU: I just... reacted on instinct. Please let me make it up to you.
DIOTIMA: Fine. Would you help me out if have a request of you?
YOUMU: Absolutely!
DIOTIMA: No matter the request?
YOUMU: Positively!
DIOTIMA: Alright. Then I was wondering if could ask you to explain to me what is love.
YOUMU: ...
YOUMU: I have a bad feeling about this.
YOUMU: But a promise is a promise. [[Here&#39;s what I think.|YOUMU 3]]
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/shrine.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]</tw-passagedata><tw-passagedata pid="61" name="YOUMU 3" tags="" position="3000,425" size="100,100">cred (cred &lt; 5): cred + 1
--
[align center]
BEGIN DIALOGUE
[align left]
YOUMU: Love is duty.
[[QUESTION|YOUMU 2a]] or
[[PRESENT|YOUMU 2 PRESENT a]]
YOUMU: To love thy neighbor, thy master, and thy family is to love.
[[QUESTION|YOUMU 2b]] or
[[PRESENT|YOUMU 2 PRESENT b]]
[continued]
YOUMU: Cultivating love involves obeying one&#39;s duty to others.
[[QUESTION|YOUMU 2c]] or
[[PRESENT|YOUMU 2 PRESENT c]]
[[Go back.|HUB]]
***
~~GAINED &quot;Love is duty.&quot;~~
***
**Ideas**
&lt;ul&gt;
[JavaScript]
var newItem = &quot;Love is duty.&quot;;
inventory.indexOf(newItem) === -1 ? inventory.push(newItem) : console.log(&quot;This idea already exists&quot;);
inventory.forEach(function(value, index){
write(&quot;&lt;li&gt;&quot; + value + &quot;&lt;/li&gt;&quot;);
});
[continued]
&lt;/ul&gt;
***
[if cred == 1]
Your credibility is ABYSMAL.
[if cred == 2]
Your credibility is LOW.
[if cred == 3]
Your credibility is SHAKY.
[if cred == 4]
Your credibility is SOLID.
[if cred == 5]
Your credibility is UNDOUBTABLE.
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/shrine.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]</tw-passagedata><tw-passagedata pid="62" name="YOUMU H 0" tags="" position="1375,275" size="100,100">[if youmuSlash]
Successful!
...at getting past Youmu&#39;s physical defenses. But her ghostly half will be even more challenging to overcome, will you [[continue|YOUMU H 1]]?
[[Give up.|HUB]]
[else]
Attempting to haunt Youmu proves difficult as she turns to face Diotima every time she tries to approach her. Perhaps, she needs a little convincing before she lets her guard down?
[[Give up.|HUB]]
[continue]
[CSS]
#backdrop {
background-image: url(&quot;Assets/Images/shrine.jpg&quot;);
background-repeat: no-repeat;
background-size: cover;
}
[continued]</tw-passagedata><tw-passagedata pid="63" name="YOUMU 2a" tags="" position="3000,550" size="100,100"></tw-passagedata><tw-passagedata pid="64" name="YOUMU 2 PRESENT a" tags="" position="2750,675" size="100,100"></tw-passagedata><tw-passagedata pid="65" name="YOUMU 2b" tags="" position="2875,675" size="100,100"></tw-passagedata><tw-passagedata pid="66" name="YOUMU 2 PRESENT b" tags="" position="3000,675" size="100,100"></tw-passagedata><tw-passagedata pid="67" name="YOUMU 2c" tags="" position="3125,675" size="100,100"></tw-passagedata><tw-passagedata pid="68" name="YOUMU 2 PRESENT c" tags="" position="3250,675" size="100,100"></tw-passagedata></tw-storydata><script>!function(){"use strict";var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function t(e){if(e.__esModule)return e;var t=Object.defineProperty({},"__esModule",{value:!0});return Object.keys(e).forEach((function(n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})})),t}var n="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function r(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}var i=r,a=o;function s(e){if(i===setTimeout)return setTimeout(e,0);if((i===r||!i)&&setTimeout)return i=setTimeout,setTimeout(e,0);try{return i(e,0)}catch(t){try{return i.call(null,e,0)}catch(t){return i.call(this,e,0)}}}"function"==typeof n.setTimeout&&(i=setTimeout),"function"==typeof n.clearTimeout&&(a=clearTimeout);var c,l=[],u=!1,f=-1;function p(){u&&c&&(u=!1,c.length?l=c.concat(l):f=-1,l.length&&d())}function d(){if(!u){var e=s(p);u=!0;for(var t=l.length;t;){for(c=l,l=[];++f<t;)c&&c[f].run();f=-1,t=l.length}c=null,u=!1,function(e){if(a===clearTimeout)return clearTimeout(e);if((a===o||!a)&&clearTimeout)return a=clearTimeout,clearTimeout(e);try{a(e)}catch(t){try{return a.call(null,e)}catch(t){return a.call(this,e)}}}(e)}}function h(e,t){this.fun=e,this.array=t}h.prototype.run=function(){this.fun.apply(null,this.array)};function g(){}var m=g,b=g,v=g,y=g,w=g,k=g,x=g;var S=n.performance||{},_=S.now||S.mozNow||S.msNow||S.oNow||S.webkitNow||function(){return(new Date).getTime()};var E=new Date;var C={nextTick:function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];l.push(new h(e,t)),1!==l.length||u||s(d)},title:"browser",browser:!0,env:{},argv:[],version:"",versions:{},on:m,addListener:b,once:v,off:y,removeListener:w,removeAllListeners:k,emit:x,binding:function(e){throw new Error("process.binding is not supported")},cwd:function(){return"/"},chdir:function(e){throw new Error("process.chdir is not supported")},umask:function(){return 0},hrtime:function(e){var t=.001*_.call(S),n=Math.floor(t),r=Math.floor(t%1*1e9);return e&&(n-=e[0],(r-=e[1])<0&&(n--,r+=1e9)),[n,r]},platform:"browser",release:{},config:{},uptime:function(){return(new Date-E)/1e3}};function A(e){return null!=e&&(!!e._isBuffer||O(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&O(e.slice(0,0))}(e))}function O(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}void 0===n.TYPED_ARRAY_SUPPORT||n.TYPED_ARRAY_SUPPORT;var T="function"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e};function j(e,t){var n={seen:[],stylize:L};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),I(t)?n.showHidden=t:t&&J(n,t),R(n.showHidden)&&(n.showHidden=!1),R(n.depth)&&(n.depth=2),R(n.colors)&&(n.colors=!1),R(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=z),N(n,e,n.depth)}function z(e,t){var n=j.styles[t];return n?"["+j.colors[n][0]+"m"+e+"["+j.colors[n][1]+"m":e}function L(e,t){return e}function N(e,t,n){if(e.customInspect&&t&&H(t.inspect)&&t.inspect!==j&&(!t.constructor||t.constructor.prototype!==t)){var r=t.inspect(n,e);return q(r)||(r=N(e,r,n)),r}var o=function(e,t){if(R(t))return e.stylize("undefined","undefined");if(q(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}if(r=t,"number"==typeof r)return e.stylize(""+t,"number");var r;if(I(t))return e.stylize(""+t,"boolean");if(P(t))return e.stylize("null","null")}(e,t);if(o)return o;var i=Object.keys(t),a=function(e){var t={};return e.forEach((function(e,n){t[e]=!0})),t}(i);if(e.showHidden&&(i=Object.getOwnPropertyNames(t)),U(t)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return $(t);if(0===i.length){if(H(t)){var s=t.name?": "+t.name:"";return e.stylize("[Function"+s+"]","special")}if(M(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(B(t))return e.stylize(Date.prototype.toString.call(t),"date");if(U(t))return $(t)}var c,l,u="",f=!1,p=["{","}"];(c=t,Array.isArray(c)&&(f=!0,p=["[","]"]),H(t))&&(u=" [Function"+(t.name?": "+t.name:"")+"]");return M(t)&&(u=" "+RegExp.prototype.toString.call(t)),B(t)&&(u=" "+Date.prototype.toUTCString.call(t)),U(t)&&(u=" "+$(t)),0!==i.length||f&&0!=t.length?n<0?M(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),l=f?function(e,t,n,r,o){for(var i=[],a=0,s=t.length;a<s;++a)G(t,String(a))?i.push(D(e,t,n,r,String(a),!0)):i.push("");return o.forEach((function(o){o.match(/^\d+$/)||i.push(D(e,t,n,r,o,!0))})),i}(e,t,n,a,i):i.map((function(r){return D(e,t,n,a,r,f)})),e.seen.pop(),function(e,t,n){if(e.reduce((function(e,t){return t.indexOf("\n"),e+t.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1];return n[0]+t+" "+e.join(", ")+" "+n[1]}(l,u,p)):p[0]+u+p[1]}function $(e){return"["+Error.prototype.toString.call(e)+"]"}function D(e,t,n,r,o,i){var a,s,c;if((c=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]}).get?s=c.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):c.set&&(s=e.stylize("[Setter]","special")),G(r,o)||(a="["+o+"]"),s||(e.seen.indexOf(c.value)<0?(s=P(n)?N(e,c.value,null):N(e,c.value,n-1)).indexOf("\n")>-1&&(s=i?s.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+s.split("\n").map((function(e){return" "+e})).join("\n")):s=e.stylize("[Circular]","special")),R(a)){if(i&&o.match(/^\d+$/))return s;(a=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+s}function I(e){return"boolean"==typeof e}function P(e){return null===e}function q(e){return"string"==typeof e}function R(e){return void 0===e}function M(e){return F(e)&&"[object RegExp]"===W(e)}function F(e){return"object"==typeof e&&null!==e}function B(e){return F(e)&&"[object Date]"===W(e)}function U(e){return F(e)&&("[object Error]"===W(e)||e instanceof Error)}function H(e){return"function"==typeof e}function Z(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e}function W(e){return Object.prototype.toString.call(e)}function J(e,t){if(!t||!F(t))return e;for(var n=Object.keys(t),r=n.length;r--;)e[n[r]]=t[n[r]];return e}function G(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function V(e,t){if(e===t)return 0;for(var n=e.length,r=t.length,o=0,i=Math.min(n,r);o<i;++o)if(e[o]!==t[o]){n=e[o],r=t[o];break}return n<r?-1:r<n?1:0}j.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},j.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};var Y,X=Object.prototype.hasOwnProperty,K=Object.keys||function(e){var t=[];for(var n in e)X.call(e,n)&&t.push(n);return t},Q=Array.prototype.slice;function ee(){return void 0!==Y?Y:Y="foo"===function(){}.name}function te(e){return Object.prototype.toString.call(e)}function ne(e){return!A(e)&&("function"==typeof n.ArrayBuffer&&("function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):!!e&&(e instanceof DataView||!!(e.buffer&&e.buffer instanceof ArrayBuffer))))}function re(e,t){e||le(e,!0,t,"==",ue)}var oe=/\s*function\s+([^\(\s]*)\s*/;function ie(e){if(H(e)){if(ee())return e.name;var t=e.toString().match(oe);return t&&t[1]}}function ae(e){this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=function(e){return se(ce(e.actual),128)+" "+e.operator+" "+se(ce(e.expected),128)}(this),this.generatedMessage=!0);var t=e.stackStartFunction||le;if(Error.captureStackTrace)Error.captureStackTrace(this,t);else{var n=new Error;if(n.stack){var r=n.stack,o=ie(t),i=r.indexOf("\n"+o);if(i>=0){var a=r.indexOf("\n",i+1);r=r.substring(a+1)}this.stack=r}}}function se(e,t){return"string"==typeof e?e.length<t?e:e.slice(0,t):e}function ce(e){if(ee()||!H(e))return j(e);var t=ie(e);return"[Function"+(t?": "+t:"")+"]"}function le(e,t,n,r,o){throw new ae({message:n,actual:e,expected:t,operator:r,stackStartFunction:o})}function ue(e,t){e||le(e,!0,t,"==",ue)}function fe(e,t,n){e!=t&&le(e,t,n,"==",fe)}function pe(e,t,n){e==t&&le(e,t,n,"!=",pe)}function de(e,t,n){ge(e,t,!1)||le(e,t,n,"deepEqual",de)}function he(e,t,n){ge(e,t,!0)||le(e,t,n,"deepStrictEqual",he)}function ge(e,t,n,r){if(e===t)return!0;if(A(e)&&A(t))return 0===V(e,t);if(B(e)&&B(t))return e.getTime()===t.getTime();if(M(e)&&M(t))return e.source===t.source&&e.global===t.global&&e.multiline===t.multiline&&e.lastIndex===t.lastIndex&&e.ignoreCase===t.ignoreCase;if(null!==e&&"object"==typeof e||null!==t&&"object"==typeof t){if(ne(e)&&ne(t)&&te(e)===te(t)&&!(e instanceof Float32Array||e instanceof Float64Array))return 0===V(new Uint8Array(e.buffer),new Uint8Array(t.buffer));if(A(e)!==A(t))return!1;var o=(r=r||{actual:[],expected:[]}).actual.indexOf(e);return-1!==o&&o===r.expected.indexOf(t)||(r.actual.push(e),r.expected.push(t),function(e,t,n,r){if(null==e||null==t)return!1;if(Z(e)||Z(t))return e===t;if(n&&Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;var o=me(e),i=me(t);if(o&&!i||!o&&i)return!1;if(o)return ge(e=Q.call(e),t=Q.call(t),n);var a,s,c=K(e),l=K(t);if(c.length!==l.length)return!1;for(c.sort(),l.sort(),s=c.length-1;s>=0;s--)if(c[s]!==l[s])return!1;for(s=c.length-1;s>=0;s--)if(!ge(e[a=c[s]],t[a],n,r))return!1;return!0}(e,t,n,r))}return n?e===t:e==t}function me(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function be(e,t,n){ge(e,t,!1)&&le(e,t,n,"notDeepEqual",be)}function ve(e,t,n){ge(e,t,!0)&&le(e,t,n,"notDeepStrictEqual",ve)}function ye(e,t,n){e!==t&&le(e,t,n,"===",ye)}function we(e,t,n){e===t&&le(e,t,n,"!==",we)}function ke(e,t){if(!e||!t)return!1;if("[object RegExp]"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(e){}return!Error.isPrototypeOf(t)&&!0===t.call({},e)}function xe(e,t,n,r){var o;if("function"!=typeof t)throw new TypeError('"block" argument must be a function');"string"==typeof n&&(r=n,n=null),o=function(e){var t;try{e()}catch(e){t=e}return t}(t),r=(n&&n.name?" ("+n.name+").":".")+(r?" "+r:"."),e&&!o&&le(o,n,"Missing expected exception"+r);var i="string"==typeof r,a=!e&&o&&!n;if((!e&&U(o)&&i&&ke(o,n)||a)&&le(o,n,"Got unwanted exception"+r),e&&o&&n&&!ke(o,n)||!e&&o)throw o}function Se(e,t,n){xe(!0,e,t,n)}function _e(e,t,n){xe(!1,e,t,n)}function Ee(e){if(e)throw e}re.AssertionError=ae,T(ae,Error),re.fail=le,re.ok=ue,re.equal=fe,re.notEqual=pe,re.deepEqual=de,re.deepStrictEqual=he,re.notDeepEqual=be,re.notDeepStrictEqual=ve,re.strictEqual=ye,re.notStrictEqual=we,re.throws=Se,re.doesNotThrow=_e,re.ifError=Ee;var Ce=t(Object.freeze({__proto__:null,default:re,AssertionError:ae,fail:le,ok:ue,assert:ue,equal:fe,notEqual:pe,deepEqual:de,deepStrictEqual:he,notDeepEqual:be,notDeepStrictEqual:ve,strictEqual:ye,notStrictEqual:we,throws:Se,doesNotThrow:_e,ifError:Ee})),Ae=Ce,Oe="undefined"!=typeof window;function Te(e){this.hasWindow=e,this.hasIdle=this.hasWindow&&window.requestIdleCallback,this.method=this.hasIdle?window.requestIdleCallback.bind(window):this.setTimeout,this.scheduled=!1,this.queue=[]}Te.prototype.push=function(e){Ae.equal(typeof e,"function","nanoscheduler.push: cb should be type function"),this.queue.push(e),this.schedule()},Te.prototype.schedule=function(){if(!this.scheduled){this.scheduled=!0;var e=this;this.method((function(t){for(;e.queue.length&&t.timeRemaining()>0;)e.queue.shift()(t);e.scheduled=!1,e.queue.length&&e.schedule()}))}},Te.prototype.setTimeout=function(e){setTimeout(e,0,{timeRemaining:function(){return 1}})};var je,ze=function(){var e;return Oe?(window._nanoScheduler||(window._nanoScheduler=new Te(!0)),e=window._nanoScheduler):e=new Te,e},Le=ze(),Ne=Ce;De.disabled=!0;try{je=window.performance,De.disabled="true"===window.localStorage.DISABLE_NANOTIMING||!je.mark}catch(e){}var $e=De;function De(e){if(Ne.equal(typeof e,"string","nanotiming: name should be type string"),De.disabled)return Ie;var t=(1e4*je.now()).toFixed()%Number.MAX_SAFE_INTEGER,n="start-"+t+"-"+e;function r(r){var o="end-"+t+"-"+e;je.mark(o),Le.push((function(){var i=null;try{var a=e+" ["+t+"]";je.measure(a,n,o),je.clearMarks(n),je.clearMarks(o)}catch(e){i=e}r&&r(i,e)}))}return je.mark(n),r.uuid=t,r}function Ie(e){e&&Le.push((function(){e(new Error("nanotiming: performance API unavailable"))}))}var Pe,qe=Ce;Re.disabled=!0;try{Pe=require("perf_hooks").performance,Re.disabled=C.env.DISABLE_NANOTIMING||!Pe.mark}catch(e){}function Re(e){if("undefined"!=typeof window)return $e(e);if(qe.equal(typeof e,"string","nanotiming: name should be type string"),Re.disabled)return Me;var t=(1e4*Pe.now()).toFixed()%Number.MAX_SAFE_INTEGER,n="start-"+t+"-"+e;function r(r){var o="end-"+t+"-"+e;Pe.mark(o);var i=null;try{var a=e+" ["+t+"]";Pe.measure(a,n,o),Pe.clearMarks(n),Pe.clearMarks(o)}catch(e){i=e}r&&r(i,e)}return Pe.mark(n),r.uuid=t,r}function Me(e){e&&e(new Error("nanotiming: performance API unavailable"))}var Fe=function(e,t,n){var r,o=e.length;if(!(t>=o||0===n)){var i=o-(n=t+n>o?o-t:n);for(r=t;r<i;++r)e[r]=e[r+n];e.length=i}},Be=Re,Ue=Ce,He=Ze;function Ze(e){if(!(this instanceof Ze))return new Ze(e);this._name=e||"nanobus",this._starListeners=[],this._listeners={}}Ze.prototype.emit=function(e){Ue.ok("string"==typeof e||"symbol"==typeof e,"nanobus.emit: eventName should be type string or symbol");for(var t=[],n=1,r=arguments.length;n<r;n++)t.push(arguments[n]);var o=Be(this._name+"('"+e.toString()+"')"),i=this._listeners[e];return i&&i.length>0&&this._emit(this._listeners[e],t),this._starListeners.length>0&&this._emit(this._starListeners,e,t,o.uuid),o(),this},Ze.prototype.on=Ze.prototype.addListener=function(e,t){return Ue.ok("string"==typeof e||"symbol"==typeof e,"nanobus.on: eventName should be type string or symbol"),Ue.equal(typeof t,"function","nanobus.on: listener should be type function"),"*"===e?this._starListeners.push(t):(this._listeners[e]||(this._listeners[e]=[]),this._listeners[e].push(t)),this},Ze.prototype.prependListener=function(e,t){return Ue.ok("string"==typeof e||"symbol"==typeof e,"nanobus.prependListener: eventName should be type string or symbol"),Ue.equal(typeof t,"function","nanobus.prependListener: listener should be type function"),"*"===e?this._starListeners.unshift(t):(this._listeners[e]||(this._listeners[e]=[]),this._listeners[e].unshift(t)),this},Ze.prototype.once=function(e,t){Ue.ok("string"==typeof e||"symbol"==typeof e,"nanobus.once: eventName should be type string or symbol"),Ue.equal(typeof t,"function","nanobus.once: listener should be type function");var n=this;return this.on(e,(function r(){t.apply(n,arguments),n.removeListener(e,r)})),this},Ze.prototype.prependOnceListener=function(e,t){Ue.ok("string"==typeof e||"symbol"==typeof e,"nanobus.prependOnceListener: eventName should be type string or symbol"),Ue.equal(typeof t,"function","nanobus.prependOnceListener: listener should be type function");var n=this;return this.prependListener(e,(function r(){t.apply(n,arguments),n.removeListener(e,r)})),this},Ze.prototype.removeListener=function(e,t){return Ue.ok("string"==typeof e||"symbol"==typeof e,"nanobus.removeListener: eventName should be type string or symbol"),Ue.equal(typeof t,"function","nanobus.removeListener: listener should be type function"),"*"===e?(this._starListeners=this._starListeners.slice(),n(this._starListeners,t)):(void 0!==this._listeners[e]&&(this._listeners[e]=this._listeners[e].slice()),n(this._listeners[e],t));function n(e,t){if(e){var n=e.indexOf(t);return-1!==n?(Fe(e,n,1),!0):void 0}}},Ze.prototype.removeAllListeners=function(e){return e?"*"===e?this._starListeners=[]:this._listeners[e]=[]:(this._starListeners=[],this._listeners={}),this},Ze.prototype.listeners=function(e){var t="*"!==e?this._listeners[e]:this._starListeners,n=[];if(t)for(var r=t.length,o=0;o<r;o++)n.push(t[o]);return n},Ze.prototype._emit=function(e,t,n,r){if(void 0!==e&&0!==e.length){void 0===n&&(n=t,t=null),t&&(n=void 0!==r?[t].concat(n,r):[t].concat(n));for(var o=e.length,i=0;i<o;i++){var a=e[i];a.apply(a,n)}}};var We=He();function Je(e){return Je="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Je(e)}function Ge(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ve(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Ye(e,t,n){return t&&Ve(e.prototype,t),n&&Ve(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function Xe(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Qe(e,t)}function Ke(e){return Ke=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},Ke(e)}function Qe(e,t){return Qe=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},Qe(e,t)}function et(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function tt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Ke(e);if(t){var o=Ke(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return et(this,n)}}function nt(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,o,i=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);a=!0);}catch(e){s=!0,o=e}finally{try{a||null==n.return||n.return()}finally{if(s)throw o}}return i}(e,t)||ot(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}
/*!
* isobject <https://github.com/jonschlinkert/isobject>
*
* Copyright (c) 2014-2017, Jon Schlinkert.
* Released under the MIT License.
*/()}function rt(e){return function(e){if(Array.isArray(e))return it(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||ot(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ot(e,t){if(e){if("string"==typeof e)return it(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?it(e,t):void 0}}function it(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var at=function(e){return null!=e&&"object"==typeof e&&!1===Array.isArray(e)};
/*!
* get-value <https://github.com/jonschlinkert/get-value>
*
* Copyright (c) 2014-2018, Jon Schlinkert.
* Released under the MIT License.
*/const st=at;var ct=function(e,t,n){if(st(n)||(n={default:n}),!ft(e))return void 0!==n.default?n.default:e;"number"==typeof t&&(t=String(t));const r=Array.isArray(t),o="string"==typeof t,i=n.separator||".",a=n.joinChar||("string"==typeof i?i:".");if(!o&&!r)return e;if(o&&t in e)return ut(t,e,n)?e[t]:n.default;let s=r?t:function(e,t,n){if("function"==typeof n.split)return n.split(e);return e.split(t)}(t,i,n),c=s.length,l=0;do{let t=s[l];for("number"==typeof t&&(t=String(t));t&&"\\"===t.slice(-1);)t=lt([t.slice(0,-1),s[++l]||""],a,n);if(t in e){if(!ut(t,e,n))return n.default;e=e[t]}else{let r=!1,o=l+1;for(;o<c;)if(t=lt([t,s[o++]],a,n),r=t in e){if(!ut(t,e,n))return n.default;e=e[t],l=o-1;break}if(!r)return n.default}}while(++l<c&&ft(e));return l===c?e:n.default};function lt(e,t,n){return"function"==typeof n.join?n.join(e):e[0]+t+e[1]}function ut(e,t,n){return"function"!=typeof n.isValid||n.isValid(e,t)}function ft(e){return st(e)||Array.isArray(e)||"function"==typeof e}
/*!
* is-plain-object <https://github.com/jonschlinkert/is-plain-object>
*
* Copyright (c) 2014-2017, Jon Schlinkert.
* Released under the MIT License.
*/var pt=at;function dt(e){return!0===pt(e)&&"[object Object]"===Object.prototype.toString.call(e)}
/*!
* set-value <https://github.com/jonschlinkert/set-value>
*
* Copyright (c) 2014-2018, Jon Schlinkert.
* Released under the MIT License.
*/
const ht=function(e){var t,n;return!1!==dt(e)&&("function"==typeof(t=e.constructor)&&(!1!==dt(n=t.prototype)&&!1!==n.hasOwnProperty("isPrototypeOf")))};function gt(e,t,n,r){if(!vt(e))return e;let o=r||{};const i=Array.isArray(t);if(!i&&"string"!=typeof t)return e;let a=o.merge;a&&"function"!=typeof a&&(a=Object.assign);const s=(i?t:function(e,t){const n=function(e,t){let n=e;if(void 0===t)return n+"";const r=Object.keys(t);for(let e=0;e<r.length;e++){const o=r[e];n+=";"+o+"="+String(t[o])}return n}(e,t);if(gt.memo[n])return gt.memo[n];const r=t&&t.separator?t.separator:".";let o=[],i=[];o=t&&"function"==typeof t.split?t.split(e):e.split(r);for(let e=0;e<o.length;e++){let t=o[e];for(;t&&"\\"===t.slice(-1)&&o[e+1];)t=t.slice(0,-1)+r+o[++e];i.push(t)}return gt.memo[n]=i,i}(t,o)).filter(bt),c=s.length,l=e;if(!r&&1===s.length)return mt(e,s[0],n,a),e;for(let t=0;t<c;t++){let r=s[t];if(vt(e[r])||(e[r]={}),t===c-1){mt(e,r,n,a);break}e=e[r]}return l}function mt(e,t,n,r){r&&ht(e[t])&&ht(n)?e[t]=r({},e[t],n):e[t]=n}function bt(e){return"__proto__"!==e&&"constructor"!==e&&"prototype"!==e}function vt(e){return null!==e&&("object"==typeof e||"function"==typeof e)}gt.memo={};var yt=gt,wt={}.toString,kt=Array.isArray||function(e){return"[object Array]"==wt.call(e)};function xt(e){return e?Array.isArray(e)?e.join("."):e:""}
/*!
* has-value <https://github.com/jonschlinkert/has-value>
*
* Copyright (c) 2014-2016, Jon Schlinkert.
* Licensed under the MIT License.
*/var St=function(e){return null!=e&&"object"==typeof e&&!1===kt(e)},_t=function(e,t){if(null==e)return!1;if("boolean"==typeof e)return!0;if("number"==typeof e)return 0!==e||!0!==t;if(void 0!==e.length)return 0!==e.length;for(var n in e)if(e.hasOwnProperty(n))return!0;return!1},Et=function(e,t,n,r,o){if(null===(i=e)||"object"!=typeof i&&"function"!=typeof i||!t)return e;var i;if(t=xt(t),n&&(t+="."+xt(n)),r&&(t+="."+xt(r)),o&&(t+="."+xt(o)),t in e)return e[t];for(var a=t.split("."),s=a.length,c=-1;e&&++c<s;){for(var l=a[c];"\\"===l[l.length-1];)l=l.slice(0,-1)+"."+a[++c];e=e[l]}return e},Ct=at,At=function(e,t,n){return St(e)?_t(Et(e,t),n):_t(e,t)},Ot={"config.logger.show.parse":!1,"config.logger.show.render":!1,"config.logger.show.sound":!1,"config.logger.show.state":!1,"config.logger.show.story":!1,"config.logger.show.style":!1};function Tt(e){return e+": "}function jt(e,t){ln("config.logger.show.".concat(e))&&console.log(Tt(e)+t),We.emit("log",{source:e,message:t})}function zt(e,t){console.warn(Tt(e)+t),We.emit("log-warning",{source:e,message:t})}function Lt(e){return{log:function(t){jt(e,t)},warn:function(t){zt(e,t)}}}function Nt(e,t){return e.querySelector(t)}function $t(e,t){return Array.from(e.querySelectorAll(t))}window.logger={log:jt,warn:zt};var Dt=Lt("story"),It={customScripts:[],customStyles:[]},Pt=[];function qt(e){["name","creator","ifid","options"].forEach((function(t){return It[t]=e.getAttribute(t)})),It.startNode=parseInt(e.getAttribute("startnode")),It.creatorVersion=e.getAttribute("creator-version");var t=function(e){return e.map((function(e){return e.textContent}))};It.customScripts=t($t(e,'[type="text/twine-javascript"]')),It.customStyles=t($t(e,'[type="text/twine-css"]')),Pt=$t(e,"tw-passagedata").map((function(e){var t={id:parseInt(e.getAttribute("pid")),name:e.getAttribute("name"),source:e.textContent},n=e.getAttribute("tags");return t.tags=n?n.split(" "):[],t}))}function Rt(){sn("trail",[Zt().name]),sn("config.testing","string"==typeof It.options&&-1!==It.options.indexOf("debug")||!1),document.title=It.name}function Mt(){Dt.log("Running custom scripts (".concat(It.customScripts.length,")")),It.customScripts.forEach((function(e){new Function(e).apply(window)}))}function Ft(){Dt.log("Adding custom styles (".concat(It.customStyles.length,")")),It.customStyles.forEach((function(e){var t=document.createElement("style");t.innerHTML=e,document.head.appendChild(t)}))}function Bt(){return It.ifid}function Ut(){return It.name}function Ht(){return Pt}function Zt(){return Pt.find((function(e){return e.id===It.startNode}))}function Wt(e){return Pt.find((function(t){return t.name===e}))}var Jt,Gt=Object.freeze({__proto__:null,loadFromData:qt,init:Rt,runCustomScripts:Mt,addCustomStyles:Ft,ifid:Bt,name:Ut,exportedPassages:Ht,passages:Ht,startPassage:Zt,passageNamed:Wt,passageWithId:function(e){return Pt.find((function(t){return t.id===e}))}}),Vt=Lt("state").log,Yt={},Xt={},Kt={},Qt={"config.state.autosave":!0};function en(e,t){if(!e[t]){Object.defineProperty(e,t,{get:function(){return ln(t)},set:function(e){an(t,e)},configurable:!0});var n=t.split(".");n.length>1&&(n.pop(),en(e,n.join(".")))}}function tn(e,t){!function(e,t){if(!Ct(e))throw new TypeError("expected an object.");if(e.hasOwnProperty(t))return delete e[t],!0;if(At(e,t)){for(var n=t.split("."),r=n.pop();n.length&&"\\"===n[n.length-1].slice(-1);)r=n.pop().slice(0,-1)+"."+r;for(;n.length;)e=e[t=n.shift()];return delete e[r]}}(e,t)}function nn(){var e=Bt(),t=Ut();if(void 0===t)throw new Error("Cannot set up state: the story has no name");Jt="chapbook-state-".concat(t,"-").concat(e)}function rn(){!function e(t,n){Object.keys(t).forEach((function(r){var o=""===n?r:"".concat(n,".").concat(r);if("object"!==Je(t[r])||Array.isArray(t[r])){var i=t[r];delete t[r],tn(window,n),We.emit("state-change",{name:o,value:ln(o),previous:i})}else e(t[r],o)}))}(Yt,""),We.emit("state-reset"),ln("config.state.autosave")&&dn()}function on(e,t){for(var n=e.split("."),r=t.split("."),o=0;o<n.length&&o<r.length;o++)if(n[o]!==r[o])return!1;return!0}function an(e,t){var n=ln(e);yt(Yt,e,t),en(window,e),t!==n&&We.emit("state-change",{name:e,previous:n,value:t}),ln("config.state.autosave")&&dn()}function sn(e,t){var n=ln(e);Vt('Defaulting "'.concat(e,'" to ').concat(JSON.stringify(t))),yt(Xt,e,t),en(window,e),null==n&&We.emit("state-change",{name:e,value:t,previous:n})}function cn(e,t){var n=ln(e);Vt("Adding lookup variable ".concat(e)),yt(Kt,e,t),function(e,t){if(!e[t]){for(var n=t.split("."),r=n[n.length-1],o=0;o<n.length-1;o++)e[n[o]]=e[n[o]]||{},e=e[n[o]];Object.defineProperty(e,r,{get:function(){return ln(t)},set:function(){throw new Error("Chapbook lookup variables may only be read.")},configurable:!0})}}(window,e),null==n&&We.emit("state-change",{name:e,value:ln(e),previous:n})}function ln(e){var t=ct(Kt,e);if("function"==typeof t)return t(ln,an);var n=ct(Yt,e);return null==n?ct(Xt,e):n}function un(){return Object.assign({},Yt)}function fn(e){rn(),Object.keys(e).forEach((function(t){return an(t,e[t])}))}function pn(){try{return window.localStorage.setItem("chapbook-test","a"),window.localStorage.removeItem("chapbook-test"),!0}catch(e){return!1}}function dn(){Vt("Saving to local storage: "+JSON.stringify(un())),window.localStorage.setItem(Jt,JSON.stringify(un())),Vt("Save complete")}function hn(){return pn()&&null!==window.localStorage.getItem(Jt)}function gn(){Vt("Restoring variables from local storage"),fn(JSON.parse(window.localStorage.getItem(Jt))),Vt("Restore complete")}function mn(e){e||Vt("Purging variables from local storage"),fn(JSON.parse(window.localStorage.getItem(Jt))),e||Vt("Purge complete")}function bn(e){function t(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return Object.keys(e).reduce((function(r,o){if("object"===Je(e[o])&&e[o]&&!Array.isArray(e[o]))t(e[o],n?n+"."+o:o,r);else{var i=n?n+"."+o:o;-1===r.indexOf(i)&&r.push(i)}return r}),r)}return e?t(Xt,null,t(Yt,null)).sort():t(Yt).sort()}var vn=Object.freeze({__proto__:null,defaults:Qt,init:nn,reset:rn,sameObject:on,set:an,setDefault:sn,setLookup:cn,get:ln,saveToObject:un,restoreFromObject:fn,canSaveToStorage:pn,saveToStorage:dn,canRestoreFromStorage:hn,restoreFromStorage:gn,purgeFromStorage:mn,varNames:bn});function yn(e){jt("actions",e)}function wn(e){yn('Going to passage "'.concat(e,'"'));var t=Wt(e);if(!t)throw new Error('There is no passage with the name "'.concat(e,'"'));$t(document,"[data-cb-set]").forEach((function(e){var t=e.dataset.set;switch(e.nodeName){case"INPUT":an(t,e.value);break;case"SELECT":an(t,e.options[e.selectedIndex].value);break;default:an(t,e.textContent)}})),an("trail",ln("trail").concat(t.name))}function kn(){yn("Restarting"),rn(),window.location.reload()}We.on("dom-click",(function(e){var t,n;e.dataset.cbGo&&(t=document.querySelector("form#cb-validation"),n=$t(t,"input, select"),new Promise((function(e,r){var o=function e(){t.removeEventListener("submit",i),n.forEach((function(t){return t.removeEventListener("invalid",e)})),r()},i=function r(){t.removeEventListener("submit",r),n.forEach((function(e){return e.removeEventListener("invalid",o)})),e()};n.forEach((function(e){return e.addEventListener("invalid",o)})),t.addEventListener("submit",i),document.querySelector("button#cb-validation-tester").click()}))).then((function(){return wn(e.dataset.cbGo)}))})),We.on("dom-click",(function(e){e.dataset.cbRestart&&kn()}));var xn=function(){},Sn={},_n=[],En=[];function Cn(e,t){var n,r,o,i,a=En;for(i=arguments.length;i-- >2;)_n.push(arguments[i]);for(t&&null!=t.children&&(_n.length||_n.push(t.children),delete t.children);_n.length;)if((r=_n.pop())&&void 0!==r.pop)for(i=r.length;i--;)_n.push(r[i]);else"boolean"==typeof r&&(r=null),(o="function"!=typeof e)&&(null==r?r="":"number"==typeof r?r=String(r):"string"!=typeof r&&(o=!1)),o&&n?a[a.length-1]+=r:a===En?a=[r]:a.push(r),n=o;var s=new xn;return s.nodeName=e,s.children=a,s.attributes=null==t?void 0:t,s.key=null==t?void 0:t.key,s}function An(e,t){for(var n in t)e[n]=t[n];return e}function On(e,t){null!=e&&("function"==typeof e?e(t):e.current=t)}var Tn="function"==typeof Promise?Promise.resolve().then.bind(Promise.resolve()):setTimeout,jn=/acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i,zn=[];function Ln(e){!e._dirty&&(e._dirty=!0)&&1==zn.push(e)&&Tn(Nn)}function Nn(){for(var e;e=zn.pop();)e._dirty&&Qn(e)}function $n(e,t,n){return"string"==typeof t||"number"==typeof t?void 0!==e.splitText:"string"==typeof t.nodeName?!e._componentConstructor&&Dn(e,t.nodeName):n||e._componentConstructor===t.nodeName}function Dn(e,t){return e.normalizedNodeName===t||e.nodeName.toLowerCase()===t.toLowerCase()}function In(e){var t=An({},e.attributes);t.children=e.children;var n=e.nodeName.defaultProps;if(void 0!==n)for(var r in n)void 0===t[r]&&(t[r]=n[r]);return t}function Pn(e){var t=e.parentNode;t&&t.removeChild(e)}function qn(e,t,n,r,o){if("className"===t&&(t="class"),"key"===t);else if("ref"===t)On(n,null),On(r,e);else if("class"!==t||o)if("style"===t){if(r&&"string"!=typeof r&&"string"!=typeof n||(e.style.cssText=r||""),r&&"object"==typeof r){if("string"!=typeof n)for(var i in n)i in r||(e.style[i]="");for(var i in r)e.style[i]="number"==typeof r[i]&&!1===jn.test(i)?r[i]+"px":r[i]}}else if("dangerouslySetInnerHTML"===t)r&&(e.innerHTML=r.__html||"");else if("o"==t[0]&&"n"==t[1]){var a=t!==(t=t.replace(/Capture$/,""));t=t.toLowerCase().substring(2),r?n||e.addEventListener(t,Rn,a):e.removeEventListener(t,Rn,a),(e._listeners||(e._listeners={}))[t]=r}else if("list"!==t&&"type"!==t&&!o&&t in e){try{e[t]=null==r?"":r}catch(e){}null!=r&&!1!==r||"spellcheck"==t||e.removeAttribute(t)}else{var s=o&&t!==(t=t.replace(/^xlink:?/,""));null==r||!1===r?s?e.removeAttributeNS("http://www.w3.org/1999/xlink",t.toLowerCase()):e.removeAttribute(t):"function"!=typeof r&&(s?e.setAttributeNS("http://www.w3.org/1999/xlink",t.toLowerCase(),r):e.setAttribute(t,r))}else e.className=r||""}function Rn(e){return this._listeners[e.type](e)}var Mn=[],Fn=0,Bn=!1,Un=!1;function Hn(){for(var e;e=Mn.shift();)e.componentDidMount&&e.componentDidMount()}function Zn(e,t,n,r,o,i){Fn++||(Bn=null!=o&&void 0!==o.ownerSVGElement,Un=null!=e&&!("__preactattr_"in e));var a=Wn(e,t,n,r,i);return o&&a.parentNode!==o&&o.appendChild(a),--Fn||(Un=!1,i||Hn()),a}function Wn(e,t,n,r,o){var i=e,a=Bn;if(null!=t&&"boolean"!=typeof t||(t=""),"string"==typeof t||"number"==typeof t)return e&&void 0!==e.splitText&&e.parentNode&&(!e._component||o)?e.nodeValue!=t&&(e.nodeValue=t):(i=document.createTextNode(t),e&&(e.parentNode&&e.parentNode.replaceChild(i,e),Jn(e,!0))),i.__preactattr_=!0,i;var s,c,l=t.nodeName;if("function"==typeof l)return function(e,t,n,r){var o=e&&e._component,i=o,a=e,s=o&&e._componentConstructor===t.nodeName,c=s,l=In(t);for(;o&&!c&&(o=o._parentComponent);)c=o.constructor===t.nodeName;o&&c&&(!r||o._component)?(Kn(o,l,3,n,r),e=o.base):(i&&!s&&(er(i),e=a=null),o=Yn(t.nodeName,l,n),e&&!o.nextBase&&(o.nextBase=e,a=null),Kn(o,l,1,n,r),e=o.base,a&&e!==a&&(a._component=null,Jn(a,!1)));return e}(e,t,n,r);if(Bn="svg"===l||"foreignObject"!==l&&Bn,l=String(l),(!e||!Dn(e,l))&&(s=l,(c=Bn?document.createElementNS("http://www.w3.org/2000/svg",s):document.createElement(s)).normalizedNodeName=s,i=c,e)){for(;e.firstChild;)i.appendChild(e.firstChild);e.parentNode&&e.parentNode.replaceChild(i,e),Jn(e,!0)}var u=i.firstChild,f=i.__preactattr_,p=t.children;if(null==f){f=i.__preactattr_={};for(var d=i.attributes,h=d.length;h--;)f[d[h].name]=d[h].value}return!Un&&p&&1===p.length&&"string"==typeof p[0]&&null!=u&&void 0!==u.splitText&&null==u.nextSibling?u.nodeValue!=p[0]&&(u.nodeValue=p[0]):(p&&p.length||null!=u)&&function(e,t,n,r,o){var i,a,s,c,l,u=e.childNodes,f=[],p={},d=0,h=0,g=u.length,m=0,b=t?t.length:0;if(0!==g)for(var v=0;v<g;v++){var y=u[v],w=y.__preactattr_;null!=(k=b&&w?y._component?y._component.__key:w.key:null)?(d++,p[k]=y):(w||(void 0!==y.splitText?!o||y.nodeValue.trim():o))&&(f[m++]=y)}if(0!==b)for(v=0;v<b;v++){var k;if(l=null,null!=(k=(c=t[v]).key))d&&void 0!==p[k]&&(l=p[k],p[k]=void 0,d--);else if(h<m)for(i=h;i<m;i++)if(void 0!==f[i]&&$n(a=f[i],c,o)){l=a,f[i]=void 0,i===m-1&&m--,i===h&&h++;break}l=Wn(l,c,n,r),s=u[v],l&&l!==e&&l!==s&&(null==s?e.appendChild(l):l===s.nextSibling?Pn(s):e.insertBefore(l,s))}if(d)for(var v in p)void 0!==p[v]&&Jn(p[v],!1);for(;h<=m;)void 0!==(l=f[m--])&&Jn(l,!1)}(i,p,n,r,Un||null!=f.dangerouslySetInnerHTML),function(e,t,n){var r;for(r in n)t&&null!=t[r]||null==n[r]||qn(e,r,n[r],n[r]=void 0,Bn);for(r in t)"children"===r||"innerHTML"===r||r in n&&t[r]===("value"===r||"checked"===r?e[r]:n[r])||qn(e,r,n[r],n[r]=t[r],Bn)}(i,t.attributes,f),Bn=a,i}function Jn(e,t){var n=e._component;n?er(n):(null!=e.__preactattr_&&On(e.__preactattr_.ref,null),!1!==t&&null!=e.__preactattr_||Pn(e),Gn(e))}function Gn(e){for(e=e.lastChild;e;){var t=e.previousSibling;Jn(e,!0),e=t}}var Vn=[];function Yn(e,t,n){var r,o=Vn.length;for(e.prototype&&e.prototype.render?(r=new e(t,n),tr.call(r,t,n)):((r=new tr(t,n)).constructor=e,r.render=Xn);o--;)if(Vn[o].constructor===e)return r.nextBase=Vn[o].nextBase,Vn.splice(o,1),r;return r}function Xn(e,t,n){return this.constructor(e,n)}function Kn(e,t,n,r,o){e._disable||(e._disable=!0,e.__ref=t.ref,e.__key=t.key,delete t.ref,delete t.key,void 0===e.constructor.getDerivedStateFromProps&&(!e.base||o?e.componentWillMount&&e.componentWillMount():e.componentWillReceiveProps&&e.componentWillReceiveProps(t,r)),r&&r!==e.context&&(e.prevContext||(e.prevContext=e.context),e.context=r),e.prevProps||(e.prevProps=e.props),e.props=t,e._disable=!1,0!==n&&(1!==n&&!1===Sn.syncComponentUpdates&&e.base?Ln(e):Qn(e,1,o)),On(e.__ref,e))}function Qn(e,t,n,r){if(!e._disable){var o,i,a,s=e.props,c=e.state,l=e.context,u=e.prevProps||s,f=e.prevState||c,p=e.prevContext||l,d=e.base,h=e.nextBase,g=d||h,m=e._component,b=!1,v=p;if(e.constructor.getDerivedStateFromProps&&(c=An(An({},c),e.constructor.getDerivedStateFromProps(s,c)),e.state=c),d&&(e.props=u,e.state=f,e.context=p,2!==t&&e.shouldComponentUpdate&&!1===e.shouldComponentUpdate(s,c,l)?b=!0:e.componentWillUpdate&&e.componentWillUpdate(s,c,l),e.props=s,e.state=c,e.context=l),e.prevProps=e.prevState=e.prevContext=e.nextBase=null,e._dirty=!1,!b){o=e.render(s,c,l),e.getChildContext&&(l=An(An({},l),e.getChildContext())),d&&e.getSnapshotBeforeUpdate&&(v=e.getSnapshotBeforeUpdate(u,f));var y,w,k=o&&o.nodeName;if("function"==typeof k){var x=In(o);(i=m)&&i.constructor===k&&x.key==i.__key?Kn(i,x,1,l,!1):(y=i,e._component=i=Yn(k,x,l),i.nextBase=i.nextBase||h,i._parentComponent=e,Kn(i,x,0,l,!1),Qn(i,1,n,!0)),w=i.base}else a=g,(y=m)&&(a=e._component=null),(g||1===t)&&(a&&(a._component=null),w=Zn(a,o,l,n||!d,g&&g.parentNode,!0));if(g&&w!==g&&i!==m){var S=g.parentNode;S&&w!==S&&(S.replaceChild(w,g),y||(g._component=null,Jn(g,!1)))}if(y&&er(y),e.base=w,w&&!r){for(var _=e,E=e;E=E._parentComponent;)(_=E).base=w;w._component=_,w._componentConstructor=_.constructor}}for(!d||n?Mn.push(e):b||e.componentDidUpdate&&e.componentDidUpdate(u,f,v);e._renderCallbacks.length;)e._renderCallbacks.pop().call(e);Fn||r||Hn()}}function er(e){var t=e.base;e._disable=!0,e.componentWillUnmount&&e.componentWillUnmount(),e.base=null;var n=e._component;n?er(n):t&&(null!=t.__preactattr_&&On(t.__preactattr_.ref,null),e.nextBase=t,Pn(t),Vn.push(e),Gn(t)),On(e.__ref,null)}function tr(e,t){this._dirty=!0,this.context=t,this.props=e,this.state=this.state||{},this._renderCallbacks=[]}An(tr.prototype,{setState:function(e,t){this.prevState||(this.prevState=this.state),this.state=An(An({},this.state),"function"==typeof e?e(this.state,this.props):e),t&&this._renderCallbacks.push(t),Ln(this)},forceUpdate:function(e){e&&this._renderCallbacks.push(e),Qn(this,2)},render:function(){}});var nr=[],rr=!0;function or(){rr&&(nr=[],We.emit("backstage-recorder-update"))}function ir(e){var t=e.name,n=e.value;rr&&(nr.length===ln("config.backstage.trail.maxLength")&&nr.shift(),nr.push({change:{name:t,value:n},state:un()}),We.emit("backstage-recorder-update"))}var ar=function(e){Xe(n,e);var t=tt(n);function n(e){var r;return Ge(this,n),(r=t.call(this,e)).state={open:void 0===r.props.initiallyOpen||r.props.initiallyOpen},r}return Ye(n,[{key:"toggle",value:function(){this.setState({open:!this.state.open})}},{key:"render",value:function(){var e=this;return Cn("div",{class:"panel"+(this.state.open?" open":"")},Cn("h2",null,Cn("button",{className:"small-caps",onClick:function(){return e.toggle()}},this.props.title)),this.state.open&&Cn("div",{class:"content"},this.props.children))}}]),n}(tr);function sr(e){if(0===e.length)return[];var t,n=[],r=[];return e.forEach((function(e,o){var i=e.change;"trail"===i.name?(n.push({historyIndex:o-1,passage:t,varChanges:r}),r=[],t=i.value[i.value.length-1]):r.push({name:i.name,value:i.value})})),n.push({historyIndex:e.length-1,passage:t,varChanges:r}),console.log("Parsed",e,n),n}function cr(e){var t=e.historyIndex,n=e.passage,r=e.varChanges,o=[Cn("tr",null,Cn("td",{class:"actions",rowspan:r.length+1},Cn("button",{onClick:t>=0?function(){return function(e){if(!nr[e])throw new Error("There is no history at index ".concat(e," to rewind to."));rr=!1,fn(nr[e].state),nr.length=e+1,rr=!0,We.emit("backstage-recorder-update")}(t)}:rn},"↪")),Cn("td",{class:"go",rowspan:r.length+1,colspan:r.length>0?1:2},n?'Go to "'.concat(n,'"'):"Startup"))];return r.forEach((function(e){o.push(Cn("tr",null,Cn("td",null,e.name," ← ",JSON.stringify(e.value))))})),o}var lr=function(e){Xe(n,e);var t=tt(n);function n(e){var r;return Ge(this,n),(r=t.call(this,e)).state={history:sr(nr)},r.updateBound=function(){return r.update()},r}return Ye(n,[{key:"update",value:function(){this.setState({history:sr(nr)})}},{key:"render",value:function(){var e;return e=this.state.history.length>0?Cn("table",{class:"history"},this.state.history.map(cr)):Cn("table",{class:"history"},Cn("tr",null,Cn("td",{class:"actions"},Cn("button",{onClick:rn},"↪")),Cn("td",{class:"go"},"Startup"))),Cn(ar,{title:"History"},e)}},{key:"componentDidMount",value:function(){We.on("backstage-recorder-update",this.updateBound)}},{key:"componentDidUnmount",value:function(){We.removeEventListener("backstage-recorder-update",this.updateBound)}}]),n}(tr),ur="[object Symbol]",fr=/[&<>"'`]/g,pr=RegExp(fr.source),dr="object"==typeof e&&e&&e.Object===Object&&e,hr="object"==typeof self&&self&&self.Object===Object&&self,gr=dr||hr||Function("return this")();var mr,br=(mr={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","`":"&#96;"},function(e){return null==mr?void 0:mr[e]}),vr=Object.prototype.toString,yr=gr.Symbol,wr=yr?yr.prototype:void 0,kr=wr?wr.toString:void 0;function xr(e){if("string"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&vr.call(e)==ur}(e))return kr?kr.call(e):"";var t=e+"";return"0"==t&&1/e==-Infinity?"-0":t}var Sr=function(e){var t;return(e=null==(t=e)?"":xr(t))&&pr.test(e)?e.replace(fr,br):e},_r=function(e){Xe(n,e);var t=tt(n);function n(e){var r;Ge(this,n),r=t.call(this,e);var o=ln("trail");return r.state={currentPassage:o[o.length-1],notes:{}},r.restore(),r.syncBound=function(e){return r.sync(e)},r}return Ye(n,[{key:"sync",value:function(e){var t=e.name,n=e.value;"trail"===t&&this.setState({currentPassage:n[n.length-1]})}},{key:"restore",value:function(){var e=window.localStorage.getItem("cb-passage-notes-".concat(ln("config.state.saveKey")));e&&this.setState({notes:JSON.parse(e)})}},{key:"save",value:function(){window.localStorage.setItem("cb-passage-notes-".concat(ln("config.state.saveKey")),JSON.stringify(this.state.notes))}},{key:"saveNote",value:function(e,t){var n=Object.assign({},this.state.notes);n[e]=t,this.setState({notes:n}),this.save()}},{key:"export",value:function(){var e=this,t=Object.keys(this.state.notes).reduce((function(t,n){return t+'<li class="note"><span class="passage">'.concat(Sr(n),"</span><pre>").concat(Sr(e.state.notes[n]),"</pre></li>")}),""),n=document.createElement("a");n.setAttribute("download","".concat(ln("story.name")," Notes - ").concat((new Date).toDateString()," ").concat((new Date).toTimeString(),".html")),n.setAttribute("href","data:text/html;base64,"+window.btoa("<style>body {font-family: sans-serif}</style><h1>Notes for &ldquo;".concat(Sr(ln("story.name")),'&rdquo;</h1><ul data-cb-backstage-notes data-cb-version="').concat(ln("engine.version"),'">').concat(t,"</ul>"))),document.body.appendChild(n),n.click(),document.body.removeChild(n)}},{key:"startImport",value:function(){this.upload.click()}},{key:"import",value:function(e){var t=this,n=this.upload.files[0];if(n){var r=new FileReader(n);r.onload=function(e){var n=document.createElement("div"),r=Object.assign({},t.state.notes),o=0;n.innerHTML=e.target.result;var i=$t(n,"ul[data-cb-backstage-notes] li");0!==i.length?(i.forEach((function(e){var t=Nt(e,"span.passage"),n=Nt(e,"pre");t&&n&&(r[t.textContent]=(r[t.textContent]||"")+"\n\n"+n.textContent,o++)})),t.setState({notes:r}),t.save(),window.alert("".concat(o," note(s) were imported."))):window.alert("No notes were found in this file.")},r.readAsText(n)}}},{key:"deleteAll",value:function(){window.confirm("Are you sure? This will delete all text entered in the Notes panel of Backstage, and cannot be undone.")&&(this.setState({notes:{}}),this.save())}},{key:"render",value:function(){var e=this;return Cn("div",null,Cn("p",null,Cn("label",null,"Notes on “",this.state.currentPassage,"”")),Cn("p",null,Cn("textarea",{value:this.state.notes[this.state.currentPassage],onInput:function(t){return e.saveNote(e.state.currentPassage,t.target.value)}})),Cn("p",null,Cn("button",{onClick:function(){return e.export()}},"Export All Notes"),Cn("button",{onClick:function(){return e.startImport()}},"Import Notes From File"),Cn("button",{onClick:function(){return e.deleteAll()}},"Delete All Notes")),Cn("input",{type:"file",hidden:!0,ref:function(t){return e.upload=t},onChange:function(){return e.import()}}))}},{key:"componentDidMount",value:function(){We.on("state-change",this.syncBound)}},{key:"componentDidUnmount",value:function(){We.removeListener("state-change",this.syncBound)}}]),n}(tr),Er=function(e){Xe(n,e);var t=tt(n);function n(e){var r;return Ge(this,n),(r=t.call(this,e)).state={snapshots:[]},r.restore(),r}return Ye(n,[{key:"addSnapshot",value:function(){var e=window.prompt("Enter a name for this snapshot:");e&&this.setState({snapshots:this.state.snapshots.concat({name:e,state:un()})})}},{key:"loadSnapshot",value:function(e){fn(this.state.snapshots[e].state)}},{key:"deleteSnapshot",value:function(e){window.confirm('Are you sure you want to delete the snapshot "'.concat(this.state.snapshots[e].name,'"? This cannot be undone.'))&&this.setState({snapshots:this.state.snapshots.filter((function(t,n){return n!==e}))})}},{key:"save",value:function(){window.localStorage.setItem("cb-snapshots-".concat(ln("config.state.saveKey")),JSON.stringify(this.state.snapshots))}},{key:"restore",value:function(){var e=window.localStorage.getItem("cb-snapshots-".concat(ln("config.state.saveKey")));e&&this.setState({snapshots:JSON.parse(e)})}},{key:"render",value:function(){var e=this,t=this.state.snapshots.map((function(t,n){return Cn("div",{class:"segmented-button block"},Cn("button",{onClick:function(){return e.loadSnapshot(n)},title:'Load snapshot "{s.name}"'},t.name),Cn("button",{onClick:function(){return e.deleteSnapshot(n)},class:"fixed",title:'Delete snapshot "{s.name}"'},Cn("strong",null,"×")))}));return Cn(ar,{title:"Snapshots"},t,Cn("button",{class:"block",onClick:function(){return e.addSnapshot()}},"Add Snapshot"))}},{key:"componentDidUpdate",value:function(){this.save()}}]),n}(tr),Cr=function(e){Xe(n,e);var t=tt(n);function n(e){var r;return Ge(this,n),(r=t.call(this,e)).state={varNames:[],showDefaults:!1},r.syncBound=function(){return r.syncWithState()},r}return Ye(n,[{key:"syncWithState",value:function(){this.setState({varNames:bn(this.state.showDefaults)})}},{key:"onChangeDefaults",value:function(e){this.setState({showDefaults:e.target.checked})}},{key:"onChangeVar",value:function(e,t){an(t,JSON.parse(e.target.value))}},{key:"render",value:function(){var e=this;return Cn(ar,{title:"Variables"},Cn("p",null,Cn("input",{type:"checkbox",id:"cb-backstage-show-defaults",checked:this.state.showDefaults,onChange:function(t){return e.onChangeDefaults(t)}}),Cn("label",{for:"cb-backstage-show-defaults"},"Show Defaults")),Cn("table",null,this.state.varNames.map((function(t){return Cn("tr",null,Cn("td",null,t),Cn("td",null,Cn("input",{type:"text",value:JSON.stringify(ln(t)),onChange:function(n){return e.onChangeVar(n,t)}})))}))))}},{key:"componentWillMount",value:function(){this.syncWithState(),We.on("state-change",this.syncBound)}},{key:"componentDidUpdate",value:function(e,t){t.showDefaults!==this.state.showDefaults&&this.syncWithState()}},{key:"componentWillUnmount",value:function(){We.removeListener("state-change",this.syncBound)}}]),n}(tr);function Ar(){return Cn("div",null,Cn(Cr,null),Cn(Er,null))}var Or=["page","page.header","page.footer"].reduce((function(e,t){return e.concat(["config.style.".concat(t,".font"),"config.style.".concat(t,".color"),"config.style.".concat(t,".link.font"),"config.style.".concat(t,".link.color"),"config.style.".concat(t,".link.lineColor"),"config.style.".concat(t,".link.active.font"),"config.style.".concat(t,".link.active.color"),"config.style.".concat(t,".link.active.lineColor")])}),[]),Tr=function(e){Xe(n,e);var t=tt(n);function n(e){var r;return Ge(this,n),(r=t.call(this,e)).state=Or.reduce((function(e,t){return e[t]=ln(t),e}),{}),r.onStateChangeBound=function(e){var t=e.name,n=e.value;return r.onStateChange(t,n)},r}return Ye(n,[{key:"onStateChange",value:function(e,t){this.state[e]&&this.setState(function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}({},e,t))}},{key:"render",value:function(){var e=Object.keys(this.state).reduce((function(e,t){var n=ln(t);return n?e+"".concat(t,": ").concat(JSON.stringify(n),"\n"):e}),"").trim();return Cn(ar,{title:"Config"},Cn("p",null,Cn("label",{for:"cb-backstage-style-config"},"Enter this code into your first passages vars section to permanently use this style:")),Cn("p",null,Cn("textarea",{readonly:!0,id:"cb-backstage-style-config",onClick:function(e){return e.target.select()}},e)))}},{key:"componentWillMount",value:function(){We.on("state-change",this.onStateChangeBound)}},{key:"componentWillUnmount",value:function(){We.removeListener("state-change",this.onStateChangeBound)}}]),n}(tr);function jr(e){var t=e.label,n=e.binding;return Cn("p",{class:"input-group"},Cn("label",{for:"cb-backstage-".concat(n)},t),Cn("input",{type:"text",id:"cb-backstage-".concat(n),value:ln(n),onChange:function(e){return an(n,e.target.value)}}))}function zr(e){var t=e.title,n=e.prefix;return Cn(ar,{title:t,initiallyOpen:!1},Cn(jr,{label:"Font",binding:"config.style.".concat(n,".font")}),Cn(jr,{label:"Color",binding:"config.style.".concat(n,".color")}),Cn(jr,{label:"Link Font",binding:"config.style.".concat(n,".link.font")}),Cn(jr,{label:"Link Color",binding:"config.style.".concat(n,".link.color")}),Cn(jr,{label:"Link Line Color",binding:"config.style.".concat(n,".link.lineColor")}),Cn(jr,{label:"Active Link Font",binding:"config.style.".concat(n,".link.active.font")}),Cn(jr,{label:"Active Link Color",binding:"config.style.".concat(n,".link.active.color")}),Cn(jr,{label:"Active Link Line Color",binding:"config.style.".concat(n,".link.active.lineColor")}))}function Lr(){return Cn("div",null,Cn(Tr,null),Cn(zr,{title:"Page",prefix:"page"}),Cn(zr,{title:"Header",prefix:"page.header"}),Cn(zr,{title:"Footer",prefix:"page.footer"}))}var Nr=function(e){Xe(n,e);var t=tt(n);function n(e){var r;return Ge(this,n),(r=t.call(this,e)).state={selected:0},r}return Ye(n,[{key:"select",value:function(e){this.setState({selected:e})}},{key:"render",value:function(){var e=this,t=this.props.children.map((function(t,n){return Cn("li",null,Cn("button",{onClick:function(){return e.select(n)},class:n===e.state.selected&&"active"},t.attributes.label))}));return Cn("div",null,Cn("ul",{class:"tabs"},t),Cn("div",{class:"tab-content"},this.props.children[this.state.selected]))}}]),n}(tr),$r=function(e){Xe(n,e);var t=tt(n);function n(e){var r;return Ge(this,n),(r=t.call(this,e)).state={open:!0},r}return Ye(n,[{key:"setBodyClass",value:function(){this.state.open?document.body.classList.add("backstage-visible"):document.body.classList.remove("backstage-visible")}},{key:"toggle",value:function(){this.setState({open:!this.state.open})}},{key:"render",value:function(){var e=this,t=this.state.open?{icon:"→",text:"Close"}:{icon:"←",text:"Open"};return Cn("div",{id:"backstage",class:this.state.open&&"open"},Cn("button",{onClick:function(t){return e.toggle()},title:t.text+" backstage panel",class:"toggle-visibility"},t.icon),Cn(Nr,null,Cn(Ar,{label:"State"}),Cn(lr,{label:"History"}),Cn(Lr,{label:"Style"}),Cn(_r,{label:"Notes"})))}},{key:"componentDidMount",value:function(){this.setBodyClass()}},{key:"componentDidUpdate",value:function(){this.setBodyClass()}}]),n}(tr);function Dr(){We.on("state-change",ir),We.on("state-reset",or),function(e,t,n){Zn(n,e,{},!1,t,!1)}(Cn($r,null),document.body)}var Ir=Object.freeze({__proto__:null,Backstage:$r,init:Dr}),Pr={match:/^(no )?ambient\s+sound/i,render:function(e,t){var n=ln("sound.ambient");if(n&&Object.keys(n).forEach((function(t){t!==e&&n[t].playing&&an("sound.ambient.".concat(t,".playing"),!1)})),e){var r=ln("sound.ambient.".concat(e,".description"))||"";return t.volume&&an("sound.ambient.".concat(e,".volume"),t.volume),an("sound.ambient.".concat(e,".playing"),!0),"<audio>".concat(r,"</audio>")}}};function qr(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=document.createElement(e);return Object.keys(t).forEach((function(e){void 0!==t[e]&&r.setAttribute(e,t[e])})),n.forEach((function(e){"string"==typeof e?r.appendChild(document.createTextNode(e)):r.appendChild(e)})),r}function Rr(){return qr.apply(void 0,arguments).outerHTML}function Mr(e,t){return/^\w+:\/\/\/?\w/i.test(e)?Rr("a",{href:e},[t||e]):Rr("a",{href:"javascript:void(0)","data-cb-go":e},[t||e])}function Fr(e){return e.replace(/\[\[(.*?)\]\]/g,(function(e,t){var n=t,r=t.indexOf("|");if(-1!==r)n=t.substr(0,r),t=t.substr(r+1);else{var o=t.indexOf("->");if(-1!==o)n=t.substr(0,o),t=t.substr(o+2);else{var i=t.indexOf("<-");-1!==i&&(n=t.substr(i+2),t=t.substr(0,i))}}return Mr(t,n||t)}))}var Br={match:/^back\s+link/i,render:function(e,t){var n=ln("trail");return Mr(n.length>1?n[n.length-2]:n[0],t.label||"Back")}};var Ur=function(e,t,n){n=Object.assign({},Hr,n||{});let r=0,o=function(e){let t={ms:.001,s:1,m:60,h:3600};return t.d=e.hoursPerDay*t.h,t.w=e.daysPerWeek*t.d,t.mth=e.daysPerYear/e.monthsPerYear*t.d,t.y=e.daysPerYear*t.d,t}(n),i=e.toLowerCase().replace(/[^.\w+-]+/g,"").match(/[-+]?[0-9.]+[a-z]+/g);null!==i&&i.forEach((e=>{let t=e.match(/[0-9.]+/g)[0],n=e.match(/[a-z]+/g)[0];r+=function(e,t,n){return e*n[Wr(t)]}(t,n,o)}));if(t)return function(e,t,n){return e/n[Wr(t)]}(r,t,o);return r};const Hr={hoursPerDay:24,daysPerWeek:7,weeksPerMonth:4,monthsPerYear:12,daysPerYear:365.25},Zr={ms:["ms","milli","millisecond","milliseconds"],s:["s","sec","secs","second","seconds"],m:["m","min","mins","minute","minutes"],h:["h","hr","hrs","hour","hours"],d:["d","day","days"],w:["w","week","weeks"],mth:["mon","mth","mths","month","months"],y:["y","yr","yrs","year","years"]};function Wr(e){for(let t of Object.keys(Zr))if(Zr[t].indexOf(e)>-1)return t;throw new Error(`The unit [${e}] is not supported by timestring`)}function Jr(e){"static"===window.getComputedStyle(e).position&&(e.style.position="relative")}function Gr(e){var t=document.createElement(e.nodeName.toLowerCase());return t.innerHTML=e.innerHTML,t.style.width=e.clientWidth+"px",t.style.height=e.clientHeight+"px",t.setAttribute("aria-hidden",!0),t.style.pointerEvents="none",$t(t,"audio").forEach((function(e){return e.parentNode.removeChild(e)})),t}var Vr=Element.prototype,Yr=Vr.matchesSelector||Vr.webkitMatchesSelector||Vr.mozMatchesSelector||Vr.msMatchesSelector||Vr.oMatchesSelector;var Xr,Kr,Qr,eo=function(e,t){if(Yr)return Yr.call(e,t);for(var n=e.parentNode.querySelectorAll(t),r=0;r<n.length;++r)if(n[r]==e)return!0;return!1},to=function(e,t,n){for(var r=n?e:e.parentNode;r&&r!==document;){if(eo(r,t))return r;r=r.parentNode}};function no(e){try{var t="";t=(t=e.error&&e.error.stack?e.message+"\n\nStack trace:\n"+e.error.stack:e.message+"\n\n[No stack trace available]").replace("\nPlease report this to https://github.com/chjj/marked.","");var n=document.createElement("div"),r=document.querySelector("#page article"),o=ln("trail");n.className="error",n.innerHTML="\n\t\t\t<p>\n\t\t\tAn unexpected error has occurred.\n\t\t\t</p>\n\t\t\t<pre>".concat(ln("config.testing")?t:"",'</pre>\n\t\t\t<ul>\n\t\t\t\t<li>\n\t\t\t\t\t<a href="javascript:void(0)" ').concat(o.length>1?"data-cb-back":"data-cb-refresh",'>Go back</a> to the previous passage.\n\t\t\t\t</li>\n\t\t\t\t<li>\n\t\t\t\t\t<a href="javascript:void(0)" data-cb-hard-restart>Hard restart</a>, clearing all progress and beginning from the start.\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t'),n.addEventListener("click",(function(e){if(to(e.target,"[data-cb-back]",!0)){var t=ln("trail");Array.isArray(t)?an("trail",t.slice(0,t.length-1)):window.alert("Sorry, going back was not successful. Please try hard restarting.")}else{if(to(e.target,"[data-cb-refresh]",!0))an("trail",rt(ln("trail")));else to(e.target,"[data-cb-hard-restart]",!0)&&(mn(!0),window.location.reload())}})),r.innerHTML="",r.appendChild(n)}catch(e){console.error(e)}}var ro={crossfade:function(e,t,n){return new Promise((function(r){var o=e.style.pointerEvents,i=Ur(n,"s");Jr(e),e.style.pointerEvents="none";var a=document.createElement("div");if(a.innerHTML=t,a.className="fade-in",a.style.animationDuration=i+"s",a.addEventListener("animationend",(function t(){a.removeEventListener("animationend",t),a.style.animationDuration=null,a.className="",e.style.pointerEvents=o,r()})),""!==e.innerHTML.trim()){var s=Gr(e);s.style.position="absolute",s.style.top="0",s.style.left="0",s.className="fade-out",s.style.animationDuration=i+"s",s.addEventListener("animationend",(function e(){s.removeEventListener("animationend",e),s.style.opacity=.5,s.parentNode.removeChild(s)})),e.innerHTML="",e.appendChild(a),e.appendChild(s)}else e.innerHTML="",e.appendChild(a)}))},fadeInOut:function(e,t,n){return new Promise((function(r){var o=e.style.pointerEvents,i=Ur(n,"s")/2;Jr(e),e.style.pointerEvents="none";var a=document.createElement("div");if(a.innerHTML=t,a.style.visibility="hidden",a.style.animationDuration=i+"s",a.addEventListener("animationend",(function t(){a.removeEventListener("animationend",t),a.className="",a.style.animationDuration=i+"s",e.style.pointerEvents=o,r()})),""!==e.innerHTML.trim()){var s=Gr(e);s.style.position="absolute",s.style.top="0",s.style.left="0",s.className="fade-out",s.style.animationDuration=i+"s",s.addEventListener("animationend",(function e(){s.removeEventListener("animationend",e),s.parentNode.removeChild(s),a.style.visibility="visible",a.className="fade-in"})),e.innerHTML="",e.appendChild(a),e.appendChild(s)}else a.className="fade-in",a.animationDuration=2*i,a.style.visibility="visible",a.className="fade-in",e.appendChild(a)}))},none:function(e,t){return new Promise((function(n){e.innerHTML="<div>".concat(t,"</div>"),n()}))}},oo={"config.body.transition.name":"crossfade","config.body.transition.duration":"500ms","config.header.left":"","config.header.center":"","config.header.right":"","config.header.transition.name":"none","config.header.transition.duration":"500ms","config.footer.left":"_{story.name}_","config.footer.center":"","config.footer.right":"{restart link}","config.footer.transition.name":"none","config.footer.transition.duration":"500ms"};function io(e,t,n,r){ro[n]?ro[n](e,t,r):ro.none(e,t)}var ao,so,co,lo=(ao=function(e){if(e.some((function(e){return e[0]}))){var t=ln("trail"),n=Wt(t[t.length-1]);if(!n)throw new Error('There is no passage named "'.concat(t[t.length-1],'".'));window.scrollTo(0,0),io(Xr,ha(n.source),ln("config.body.transition.name"),ln("config.body.transition.duration")),function(e,t){var n,r=Date.now(),o=$t(e,"[data-cb-skippable]").map((function(e){return{el:e,delay:1e3*Ur(window.getComputedStyle(e).animationDelay)}})).sort((function(e,t){return e.delay-t.delay}));function i(){var e=Date.now()-r,t=Object.assign({},o.find((function(t){return t.delay>e})));t?(o.forEach((function(e){e.delay<=t.delay?(e.delay=0,e.el.classList.add("skip-animation")):(e.delay-=t.delay,e.el.style.animationDelay="".concat(e.delay,"ms"))})),r=Date.now(),window.clearTimeout(n),a()):s()}function a(){n&&window.clearTimeout(n),n=window.setTimeout(s,o[o.length-1].delay)}function s(){t.classList.remove("visible"),document.body.removeEventListener("click",i),document.body.removeEventListener("keyup",i)}0!==o.length&&(t.classList.add("visible"),a(),window.setTimeout((function(){document.body.addEventListener("click",i),document.body.addEventListener("keyup",i)}),50))}(Xr,Qr)}["header","footer"].forEach((function(e){Kr[e].container.classList.remove("has-content"),["left","center","right"].forEach((function(t){var n=ha(ln("config.".concat(e,".").concat(t)));""!==n&&Kr[e].container.classList.add("has-content"),io(Kr[e][t],n,ln("config.".concat(e,".transition.name")),ln("config.".concat(e,".transition.duration")))}))}))},so=[],co=!1,function(){co||(co=!0,Promise.resolve().then((function(){try{ao(so)}catch(e){window.setTimeout((function(){throw e}),0)}so=[],co=!1})));for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];so.push(t)});function uo(e){$t(Xr,"input").forEach((function(e){e.setAttribute("value",e.value)})),$t(Xr,"select").forEach((function(e){for(var t=0;t<e.options.length;t++)t===e.options.selectedIndex?e.options[t].setAttribute("selected",""):e.options[t].removeAttribute("selected")}));for(var t={x:window.scrollX,y:window.scrollY},n=Xr.innerHTML,r=document.createElement("div");Xr.firstChild;)r.insertBefore(Xr.firstChild,r.firstChild);Xr.innerHTML=n,e(r),window.scrollX=t.x,window.scrollY=t.y,io(Xr,r.innerHTML,ln("config.body.transition.name"),ln("config.body.transition.duration"))}var fo={match:/^cycling\s+link(\s+for)?/i,render:function(e,t){var n;return e?void 0===(n=ln(e))&&(an(e,t.choices[0]),n=t.choices[0]):n=t.choices[0],Rr("a",{href:"javascript:void(0)","data-cb-cycle-set":e||void 0,"data-cb-cycle-choices":JSON.stringify(t.choices)},[n])}};We.on("dom-click",(function(e){if(e.dataset.cbCycleChoices){var t=JSON.parse(e.dataset.cbCycleChoices),n=t.indexOf(e.textContent)+1;n===t.length&&(n=0),uo((function(){return e.textContent=t[n]})),e.dataset.cbCycleSet&&an(e.dataset.cbCycleSet,t[n])}}));var po={match:/^embed\s+flickr(\s+image)?/i,render:function(e,t){return Rr("img",Object.assign({},t,{src:/img src="(.+?)"/.exec(e)[1]}))}},ho={match:/^embed\s+image?/i,render:function(e,t){return Rr("img",Object.assign({},t,{src:e}))}},go={match:/^embed\s+passage(\s+named)?/i,render:function(e){return ha(Wt(e).source)}},mo={match:/^embed\s+unsplash(\s+image)?/i,render:function(e,t){return Rr("img",Object.assign({},t,{src:"https://source.unsplash.com/".concat(e.replace(/.*\//,""),"/").concat(t.width,"x").concat(t.height)}))}},bo={match:/^embed\s+youtube(\s+video)?/i,render:function(e,t){var n="https://www.youtube-nocookie.com/embed/".concat(e.replace(/.*\?v=/,""),"?modestbranding=1&rel=0&controls=").concat(t.controls?1:0,"&");return t.autoplay&&(n+="autoplay=1&"),t.loop&&(n+="loop=1&"),Rr("div",{style:"position: relative; height: 0; padding-bottom: 56.25%; margin-bottom: 1em"},[qr("iframe",{src:n,frameBorder:0,style:"position: absolute; top: 0; left: 0; width: 100%; height: 100%"})])}},vo={match:/^link\s+to/i,render:function(e,t){return Mr(e,t.label)}},yo={match:/^dropdown menu(\s+for)?/i,render:function(e,t){var n;return e&&void 0===(n=ln(e))&&(an(e,t.choices[0]),n=t.choices[0]),Rr("select",{"data-cb-menu-set":e||void 0},t.choices.map((function(t){var r={value:t};return e&&n===t&&(r.selected=""),qr("option",r,[t])})))}};We.on("dom-change",(function(e){e.dataset.cbMenuSet&&an(e.dataset.cbMenuSet,e.querySelectorAll("option")[e.selectedIndex].value)}));var wo={match:/^restart\s+link/i,render:function(e,t){return Rr("a",{href:"javascript:void(0)","data-cb-restart":!0},[t.label||"Restart"])}},ko={match:/^reveal\s+link/i,render:function(e,t){return t.text?Rr("a",{href:"javascript:void(0)","data-cb-reveal-text":t.text},[e]):t.passage?Rr("a",{href:"javascript:void(0)","data-cb-reveal-passage":t.passage},[e]):void 0}};We.on("dom-click",(function(e){var t=e.dataset.cbRevealText;if(e.dataset.cbRevealPassage&&(t=Wt(e.dataset.cbRevealPassage).source),t){var n=document.createElement("div");n.innerHTML=ha(t).trim(),uo((function(){var t=n.children.length;if(t>0){var r=document.createElement("span");if(r.innerHTML=n.firstChild.innerHTML,e.parentNode.insertBefore(r,e),n.removeChild(n.firstChild),t>1){for(var o=n.lastChild;n.lastChild;)e.parentNode.parentNode.insertBefore(n.lastChild,e.parentNode.nextSibling);for(;e.nextSibling;)o.insertBefore(e.nextSibling,null)}}e.parentNode.removeChild(e)}))}}));var xo={match:/^sound\s+effect/i,render:function(e,t){var n=ln("sound.effect.".concat(e,".description"))||"";return t.volume&&an("sound.effect.".concat(e,".volume"),t.volume),an("sound.effect.".concat(e,".playing"),!0),"<audio>".concat(n,"</audio>")}},So={match:/^text\s+input(\s+for)?/i,render:function(e,t){return Rr("input",{type:"text",value:e?ln(e):"","data-cb-text-field-set":e||void 0,required:!1!==t.required?"":void 0})}};We.on("dom-change",(function(e){e.dataset.cbTextFieldSet&&an(e.dataset.cbTextFieldSet,e.value)}));var _o=[Pr,Br,fo,po,ho,go,mo,bo,vo,yo,wo,ko,xo,So],Eo=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n="<span"+Object.keys(t).reduce((function(e,n){return e+" ".concat(n,'="').concat(t[n],'"')}),"")+">",r=n+e.replace(/[\r\n]{2,}/g,"</span>$&".concat(n))+"</span>";return r=r.replace(/(<span.*?>)\s*(#+)/gi,"$2 $1")},Co={match:/^after\s/i,process:function(e,t){var n=t.invocation,r=Ur(n.replace(/^after\s/i,""),"ms");e.text=Eo(e.text,{"data-cb-skippable":"",class:"fade-in",style:"animation-delay: ".concat(r,"ms")})}},Ao={match:/^align\s+(left|right|center)/i,process:function(e,t){var n=t.invocation.replace(/^align\s+/i,"");e.text=Eo(e.text,{style:"display: block; text-align: ".concat(n)})}},Oo={match:/^if(always|never)?\s|else$|unless\s/i,processRaw:function(e,t){var n,r=t.invocation,o=t.state,i=r.replace(/\s.*/,"").toLowerCase();switch("else"!==i&&(n=new Function("return "+r.replace(/.*?\s/,""))),i){case"if":o.conditionEval=n.apply(window);break;case"ifalways":o.conditionEval=!0;break;case"ifnever":o.conditionEval=!1;break;case"unless":o.conditionEval=!n.apply(window);break;case"else":if(void 0===o.conditionEval)throw new Error("There was no matching if modifier for an else modifier.");o.conditionEval=!o.conditionEval}o.conditionEval||(e.text="")}},To="[object Symbol]",jo=/&(?:amp|lt|gt|quot|#39|#96);/g,zo=RegExp(jo.source),Lo="object"==typeof e&&e&&e.Object===Object&&e,No="object"==typeof self&&self&&self.Object===Object&&self,$o=Lo||No||Function("return this")();var Do=function(e){return function(t){return null==e?void 0:e[t]}}({"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'","&#96;":"`"}),Io=Object.prototype.toString,Po=$o.Symbol,qo=Po?Po.prototype:void 0,Ro=qo?qo.toString:void 0;function Mo(e){if("string"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&Io.call(e)==To}(e))return Ro?Ro.call(e):"";var t=e+"";return"0"==t&&1/e==-Infinity?"-0":t}var Fo=function(e){var t;return(e=null==(t=e)?"":Mo(t))&&zo.test(e)?e.replace(jo,Do):e},Bo={match:/^javascript$/i,process:function(e){try{var t=new Function("\n\t\t\t\t\t\tfunction write() { write.__out += write.__join.call(arguments, ''); }\n\t\t\t\t\t\twrite.__out = '';\n\t\t\t\t\t\twrite.__join = Array.prototype.join;\n\t\t\t\t\t\t".concat(Fo(e.text),";\n\t\t\t\t\t\treturn write.__out;\n\t\t\t\t\t"));e.text=t.apply(window)}catch(t){if(!ln("config.testing"))throw t;var n="unknown error";n=t.error&&t.error.stack?t.error.stack:t.message+"\n[No stack trace available]",e.text='<div class="error">An error occured evaluating:<pre>'.concat(e.text,"</pre><p><pre>").concat(n,"</pre></p></div>")}}},Uo=[Co,Ao,{match:/^append$/i,process:function(e){e.startsNewParagraph=!1}},Oo,{match:/^continued?|cont('d)?$/i,process:function(){}},{match:/^css$/i,process:function(e){e.text="<style>".concat(e.text,"</style>")}},Bo,{match:/^(note(\s+to\s+self)?|n?b?|todo|fixme)$/i,process:function(e){e.text=""}}],Ho=function(e,t){if("string"!=typeof e)throw new TypeError("Expected a string in the first argument, got "+typeof e);if(!(t&&t.preserveNewlines))return e.split(/\r?\n/);for(var n=e.split(/(\r?\n)/),r=[],o=0;o<n.length;o+=2)r.push(n[o]+(n[o+1]||""));return r},Zo=Lt("parse"),Wo=Zo.log,Jo=Zo.warn,Go={varsSep:/^--$/m,modifierPattern:/^\[([^[].+[^\]])\]$/gm};function Vo(e){var t,n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Go,o={vars:[],blocks:[]},i=e.split(r.varsSep,2);if(2===i.length){Wo("Detected vars section");var a=nt(i,2);t=a[0],n=a[1],Ho(t).forEach((function(e){if(""!==e.trim()){var t=e.indexOf(":");if(-1!==t){var n=e.substr(0,t).trim(),r=e.substr(t+1).trim(),i={name:n,value:new Function("return (".concat(r,")"))},a=n.match(/\(.+\)/);a?(i.condition=new Function("return (".concat(a[0],")")),i.name=(i.name.substr(0,a.index)+i.name.substr(a.index+a[0].length)).trim(),Wo('Setting variable "'.concat(i.name,'" to "').concat(r,'" with condition (').concat(a[0],")"))):Wo('Setting variable "'.concat(n,'" to "').concat(r,'" without condition')),o.vars.push(i)}else Jo('The line "'.concat(e,'" in the vars section is missing a colon. It was ignored.'))}}))}else Wo("No vars section detected"),n=i[0];for(var s=function(e,t){var n=t.trim();""!==n&&(Wo("Creating '".concat(e,"' block with content: \"").concat(n,'"')),o.blocks.push({type:e,content:n}))},c=new RegExp(r.modifierPattern),l=0,u=c.exec(n);u;){s("text",n.substring(l,u.index));for(var f=u[1],p="",d=0;d<f.length;d++)switch(f[d]){case'"':for(p+='"',d+=1;d<f.length&&(p+=f[d],'"'!==f[d]||"\\"===f[d-1]);d++);break;case";":s("modifier",p),p="";break;default:p+=f[d]}s("modifier",p),l=c.lastIndex,u=c.exec(n)}return s("text",n.substring(l)),o}var Yo={exports:{}};function Xo(){return{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}Yo.exports={defaults:{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1},getDefaults:Xo,changeDefaults:function(e){Yo.exports.defaults=e}};const Ko=/[&<>"']/,Qo=/[&<>"']/g,ei=/[<>"']|&(?!#?\w+;)/,ti=/[<>"']|&(?!#?\w+;)/g,ni={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},ri=e=>ni[e];const oi=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function ii(e){return e.replace(oi,((e,t)=>"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""))}const ai=/(^|[^\[])\^/g;const si=/[^\w:]/g,ci=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;const li={},ui=/^[^:]+:\/*[^/]*$/,fi=/^([^:]+:)[\s\S]*$/,pi=/^([^:]+:\/*[^/]*)[\s\S]*$/;function di(e,t){li[" "+e]||(ui.test(e)?li[" "+e]=e+"/":li[" "+e]=hi(e,"/",!0));const n=-1===(e=li[" "+e]).indexOf(":");return"//"===t.substring(0,2)?n?t:e.replace(fi,"$1")+t:"/"===t.charAt(0)?n?t:e.replace(pi,"$1")+t:e+t}function hi(e,t,n){const r=e.length;if(0===r)return"";let o=0;for(;o<r;){const i=e.charAt(r-o-1);if(i!==t||n){if(i===t||!n)break;o++}else o++}return e.substr(0,r-o)}var gi={escape:function(e,t){if(t){if(Ko.test(e))return e.replace(Qo,ri)}else if(ei.test(e))return e.replace(ti,ri);return e},unescape:ii,edit:function(e,t){e=e.source||e,t=t||"";const n={replace:(t,r)=>(r=(r=r.source||r).replace(ai,"$1"),e=e.replace(t,r),n),getRegex:()=>new RegExp(e,t)};return n},cleanUrl:function(e,t,n){if(e){let e;try{e=decodeURIComponent(ii(n)).replace(si,"").toLowerCase()}catch(e){return null}if(0===e.indexOf("javascript:")||0===e.indexOf("vbscript:")||0===e.indexOf("data:"))return null}t&&!ci.test(n)&&(n=di(t,n));try{n=encodeURI(n).replace(/%25/g,"%")}catch(e){return null}return n},resolveUrl:di,noopTest:{exec:function(){}},merge:function(e){let t,n,r=1;for(;r<arguments.length;r++)for(n in t=arguments[r],t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},splitCells:function(e,t){const n=e.replace(/\|/g,((e,t,n)=>{let r=!1,o=t;for(;--o>=0&&"\\"===n[o];)r=!r;return r?"|":" |"})).split(/ \|/);let r=0;if(n.length>t)n.splice(t);else for(;n.length<t;)n.push("");for(;r<n.length;r++)n[r]=n[r].trim().replace(/\\\|/g,"|");return n},rtrim:hi,findClosingBracket:function(e,t){if(-1===e.indexOf(t[1]))return-1;const n=e.length;let r=0,o=0;for(;o<n;o++)if("\\"===e[o])o++;else if(e[o]===t[0])r++;else if(e[o]===t[1]&&(r--,r<0))return o;return-1},checkSanitizeDeprecation:function(e){e&&e.sanitize&&!e.silent&&console.warn("marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options")},repeatString:function(e,t){if(t<1)return"";let n="";for(;t>1;)1&t&&(n+=e),t>>=1,e+=e;return n+e}};const{defaults:mi}=Yo.exports,{rtrim:bi,splitCells:vi,escape:yi,findClosingBracket:wi}=gi;function ki(e,t,n){const r=t.href,o=t.title?yi(t.title):null,i=e[1].replace(/\\([\[\]])/g,"$1");return"!"!==e[0].charAt(0)?{type:"link",raw:n,href:r,title:o,text:i}:{type:"image",raw:n,href:r,title:o,text:yi(i)}}var xi=class{constructor(e){this.options=e||mi}space(e){const t=this.rules.block.newline.exec(e);if(t)return t[0].length>1?{type:"space",raw:t[0]}:{raw:"\n"}}code(e,t){const n=this.rules.block.code.exec(e);if(n){const e=t[t.length-1];if(e&&"paragraph"===e.type)return{raw:n[0],text:n[0].trimRight()};const r=n[0].replace(/^ {4}/gm,"");return{type:"code",raw:n[0],codeBlockStyle:"indented",text:this.options.pedantic?r:bi(r,"\n")}}}fences(e){const t=this.rules.block.fences.exec(e);if(t){const e=t[0],n=function(e,t){const n=e.match(/^(\s+)(?:```)/);if(null===n)return t;const r=n[1];return t.split("\n").map((e=>{const t=e.match(/^\s+/);if(null===t)return e;const[n]=t;return n.length>=r.length?e.slice(r.length):e})).join("\n")}(e,t[3]||"");return{type:"code",raw:e,lang:t[2]?t[2].trim():t[2],text:n}}}heading(e){const t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(/#$/.test(e)){const t=bi(e,"#");this.options.pedantic?e=t.trim():t&&!/ $/.test(t)||(e=t.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:e}}}nptable(e){const t=this.rules.block.nptable.exec(e);if(t){const e={type:"table",header:vi(t[1].replace(/^ *| *\| *$/g,"")),align:t[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:t[3]?t[3].replace(/\n$/,"").split("\n"):[],raw:t[0]};if(e.header.length===e.align.length){let t,n=e.align.length;for(t=0;t<n;t++)/^ *-+: *$/.test(e.align[t])?e.align[t]="right":/^ *:-+: *$/.test(e.align[t])?e.align[t]="center":/^ *:-+ *$/.test(e.align[t])?e.align[t]="left":e.align[t]=null;for(n=e.cells.length,t=0;t<n;t++)e.cells[t]=vi(e.cells[t],e.header.length);return e}}}hr(e){const t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:t[0]}}blockquote(e){const t=this.rules.block.blockquote.exec(e);if(t){const e=t[0].replace(/^ *> ?/gm,"");return{type:"blockquote",raw:t[0],text:e}}}list(e){const t=this.rules.block.list.exec(e);if(t){let e=t[0];const n=t[2],r=n.length>1,o={type:"list",raw:e,ordered:r,start:r?+n.slice(0,-1):"",loose:!1,items:[]},i=t[0].match(this.rules.block.item);let a,s,c,l,u,f,p,d,h=!1,g=i.length;c=this.rules.block.listItemStart.exec(i[0]);for(let t=0;t<g;t++){if(a=i[t],e=a,t!==g-1){if(l=this.rules.block.listItemStart.exec(i[t+1]),l[1].length>c[0].length||l[1].length>3){i.splice(t,2,i[t]+"\n"+i[t+1]),t--,g--;continue}(!this.options.pedantic||this.options.smartLists?l[2][l[2].length-1]!==n[n.length-1]:r===(1===l[2].length))&&(u=i.slice(t+1).join("\n"),o.raw=o.raw.substring(0,o.raw.length-u.length),t=g-1),c=l}s=a.length,a=a.replace(/^ *([*+-]|\d+[.)]) ?/,""),~a.indexOf("\n ")&&(s-=a.length,a=this.options.pedantic?a.replace(/^ {1,4}/gm,""):a.replace(new RegExp("^ {1,"+s+"}","gm"),"")),f=h||/\n\n(?!\s*$)/.test(a),t!==g-1&&(h="\n"===a.charAt(a.length-1),f||(f=h)),f&&(o.loose=!0),this.options.gfm&&(p=/^\[[ xX]\] /.test(a),d=void 0,p&&(d=" "!==a[1],a=a.replace(/^\[[ xX]\] +/,""))),o.items.push({type:"list_item",raw:e,task:p,checked:d,loose:f,text:a})}return o}}html(e){const t=this.rules.block.html.exec(e);if(t)return{type:this.options.sanitize?"paragraph":"html",raw:t[0],pre:!this.options.sanitizer&&("pre"===t[1]||"script"===t[1]||"style"===t[1]),text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(t[0]):yi(t[0]):t[0]}}def(e){const t=this.rules.block.def.exec(e);if(t){t[3]&&(t[3]=t[3].substring(1,t[3].length-1));return{tag:t[1].toLowerCase().replace(/\s+/g," "),raw:t[0],href:t[2],title:t[3]}}}table(e){const t=this.rules.block.table.exec(e);if(t){const e={type:"table",header:vi(t[1].replace(/^ *| *\| *$/g,"")),align:t[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:t[3]?t[3].replace(/\n$/,"").split("\n"):[]};if(e.header.length===e.align.length){e.raw=t[0];let n,r=e.align.length;for(n=0;n<r;n++)/^ *-+: *$/.test(e.align[n])?e.align[n]="right":/^ *:-+: *$/.test(e.align[n])?e.align[n]="center":/^ *:-+ *$/.test(e.align[n])?e.align[n]="left":e.align[n]=null;for(r=e.cells.length,n=0;n<r;n++)e.cells[n]=vi(e.cells[n].replace(/^ *\| *| *\| *$/g,""),e.header.length);return e}}}lheading(e){const t=this.rules.block.lheading.exec(e);if(t)return{type:"heading",raw:t[0],depth:"="===t[2].charAt(0)?1:2,text:t[1]}}paragraph(e){const t=this.rules.block.paragraph.exec(e);if(t)return{type:"paragraph",raw:t[0],text:"\n"===t[1].charAt(t[1].length-1)?t[1].slice(0,-1):t[1]}}text(e,t){const n=this.rules.block.text.exec(e);if(n){const e=t[t.length-1];return e&&"text"===e.type?{raw:n[0],text:n[0]}:{type:"text",raw:n[0],text:n[0]}}}escape(e){const t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:yi(t[1])}}tag(e,t,n){const r=this.rules.inline.tag.exec(e);if(r)return!t&&/^<a /i.test(r[0])?t=!0:t&&/^<\/a>/i.test(r[0])&&(t=!1),!n&&/^<(pre|code|kbd|script)(\s|>)/i.test(r[0])?n=!0:n&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(r[0])&&(n=!1),{type:this.options.sanitize?"text":"html",raw:r[0],inLink:t,inRawBlock:n,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(r[0]):yi(r[0]):r[0]}}link(e){const t=this.rules.inline.link.exec(e);if(t){const e=t[2].trim();if(!this.options.pedantic&&/^</.test(e)){if(!/>$/.test(e))return;const t=bi(e.slice(0,-1),"\\");if((e.length-t.length)%2==0)return}else{const e=wi(t[2],"()");if(e>-1){const n=(0===t[0].indexOf("!")?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,n).trim(),t[3]=""}}let n=t[2],r="";if(this.options.pedantic){const e=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(n);e&&(n=e[1],r=e[3])}else r=t[3]?t[3].slice(1,-1):"";return n=n.trim(),/^</.test(n)&&(n=this.options.pedantic&&!/>$/.test(e)?n.slice(1):n.slice(1,-1)),ki(t,{href:n?n.replace(this.rules.inline._escapes,"$1"):n,title:r?r.replace(this.rules.inline._escapes,"$1"):r},t[0])}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let e=(n[2]||n[1]).replace(/\s+/g," ");if(e=t[e.toLowerCase()],!e||!e.href){const e=n[0].charAt(0);return{type:"text",raw:e,text:e}}return ki(n,e,n[0])}}strong(e,t,n=""){let r=this.rules.inline.strong.start.exec(e);if(r&&(!r[1]||r[1]&&(""===n||this.rules.inline.punctuation.exec(n)))){t=t.slice(-1*e.length);const n="**"===r[0]?this.rules.inline.strong.endAst:this.rules.inline.strong.endUnd;let o;for(n.lastIndex=0;null!=(r=n.exec(t));)if(o=this.rules.inline.strong.middle.exec(t.slice(0,r.index+3)),o)return{type:"strong",raw:e.slice(0,o[0].length),text:e.slice(2,o[0].length-2)}}}em(e,t,n=""){let r=this.rules.inline.em.start.exec(e);if(r&&(!r[1]||r[1]&&(""===n||this.rules.inline.punctuation.exec(n)))){t=t.slice(-1*e.length);const n="*"===r[0]?this.rules.inline.em.endAst:this.rules.inline.em.endUnd;let o;for(n.lastIndex=0;null!=(r=n.exec(t));)if(o=this.rules.inline.em.middle.exec(t.slice(0,r.index+2)),o)return{type:"em",raw:e.slice(0,o[0].length),text:e.slice(1,o[0].length-1)}}}codespan(e){const t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(/\n/g," ");const n=/[^ ]/.test(e),r=/^ /.test(e)&&/ $/.test(e);return n&&r&&(e=e.substring(1,e.length-1)),e=yi(e,!0),{type:"codespan",raw:t[0],text:e}}}br(e){const t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e){const t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2]}}autolink(e,t){const n=this.rules.inline.autolink.exec(e);if(n){let e,r;return"@"===n[2]?(e=yi(this.options.mangle?t(n[1]):n[1]),r="mailto:"+e):(e=yi(n[1]),r=e),{type:"link",raw:n[0],text:e,href:r,tokens:[{type:"text",raw:e,text:e}]}}}url(e,t){let n;if(n=this.rules.inline.url.exec(e)){let e,r;if("@"===n[2])e=yi(this.options.mangle?t(n[0]):n[0]),r="mailto:"+e;else{let t;do{t=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])[0]}while(t!==n[0]);e=yi(n[0]),r="www."===n[1]?"http://"+e:e}return{type:"link",raw:n[0],text:e,href:r,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(e,t,n){const r=this.rules.inline.text.exec(e);if(r){let e;return e=t?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(r[0]):yi(r[0]):r[0]:yi(this.options.smartypants?n(r[0]):r[0]),{type:"text",raw:r[0],text:e}}}};const{noopTest:Si,edit:_i,merge:Ei}=gi,Ci={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:\\n{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)|</(?!script|pre|style)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$))",def:/^ {0,3}\[(label)\]: *\n? *<?([^\s>]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:Si,table:Si,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};Ci.def=_i(Ci.def).replace("label",Ci._label).replace("title",Ci._title).getRegex(),Ci.bullet=/(?:[*+-]|\d{1,9}[.)])/,Ci.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,Ci.item=_i(Ci.item,"gm").replace(/bull/g,Ci.bullet).getRegex(),Ci.listItemStart=_i(/^( *)(bull)/).replace("bull",Ci.bullet).getRegex(),Ci.list=_i(Ci.list).replace(/bull/g,Ci.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+Ci.def.source+")").getRegex(),Ci._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Ci._comment=/<!--(?!-?>)[\s\S]*?(?:-->|$)/,Ci.html=_i(Ci.html,"i").replace("comment",Ci._comment).replace("tag",Ci._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Ci.paragraph=_i(Ci._paragraph).replace("hr",Ci.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)").replace("tag",Ci._tag).getRegex(),Ci.blockquote=_i(Ci.blockquote).replace("paragraph",Ci.paragraph).getRegex(),Ci.normal=Ei({},Ci),Ci.gfm=Ei({},Ci.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),Ci.gfm.nptable=_i(Ci.gfm.nptable).replace("hr",Ci.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)").replace("tag",Ci._tag).getRegex(),Ci.gfm.table=_i(Ci.gfm.table).replace("hr",Ci.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)").replace("tag",Ci._tag).getRegex(),Ci.pedantic=Ei({},Ci.normal,{html:_i("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",Ci._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Si,paragraph:_i(Ci.normal._paragraph).replace("hr",Ci.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",Ci.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});const Ai={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:Si,tag:"^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",strong:{start:/^(?:(\*\*(?=[*punctuation]))|\*\*)(?![\s])|__/,middle:/^\*\*(?:(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)|\*(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)*?\*)+?\*\*$|^__(?![\s])((?:(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)|_(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)*?_)+?)__$/,endAst:/[^punctuation\s]\*\*(?!\*)|[punctuation]\*\*(?!\*)(?:(?=[punctuation_\s]|$))/,endUnd:/[^\s]__(?!_)(?:(?=[punctuation*\s])|$)/},em:{start:/^(?:(\*(?=[punctuation]))|\*)(?![*\s])|_/,middle:/^\*(?:(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)|\*(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)*?\*)+?\*$|^_(?![_\s])(?:(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)|_(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)*?_)+?_$/,endAst:/[^punctuation\s]\*(?!\*)|[punctuation]\*(?!\*)(?:(?=[punctuation_\s]|$))/,endUnd:/[^\s]_(?!_)(?:(?=[punctuation*\s])|$)/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:Si,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*]|\b_|$)|[^ ](?= {2,}\n)))/,punctuation:/^([\s*punctuation])/,_punctuation:"!\"#$%&'()+\\-.,/:;<=>?@\\[\\]`^{|}~"};Ai.punctuation=_i(Ai.punctuation).replace(/punctuation/g,Ai._punctuation).getRegex(),Ai._blockSkip="\\[[^\\]]*?\\]\\([^\\)]*?\\)|`[^`]*?`|<[^>]*?>",Ai._overlapSkip="__[^_]*?__|\\*\\*\\[^\\*\\]*?\\*\\*",Ai._comment=_i(Ci._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),Ai.em.start=_i(Ai.em.start).replace(/punctuation/g,Ai._punctuation).getRegex(),Ai.em.middle=_i(Ai.em.middle).replace(/punctuation/g,Ai._punctuation).replace(/overlapSkip/g,Ai._overlapSkip).getRegex(),Ai.em.endAst=_i(Ai.em.endAst,"g").replace(/punctuation/g,Ai._punctuation).getRegex(),Ai.em.endUnd=_i(Ai.em.endUnd,"g").replace(/punctuation/g,Ai._punctuation).getRegex(),Ai.strong.start=_i(Ai.strong.start).replace(/punctuation/g,Ai._punctuation).getRegex(),Ai.strong.middle=_i(Ai.strong.middle).replace(/punctuation/g,Ai._punctuation).replace(/overlapSkip/g,Ai._overlapSkip).getRegex(),Ai.strong.endAst=_i(Ai.strong.endAst,"g").replace(/punctuation/g,Ai._punctuation).getRegex(),Ai.strong.endUnd=_i(Ai.strong.endUnd,"g").replace(/punctuation/g,Ai._punctuation).getRegex(),Ai.blockSkip=_i(Ai._blockSkip,"g").getRegex(),Ai.overlapSkip=_i(Ai._overlapSkip,"g").getRegex(),Ai._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,Ai._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,Ai._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,Ai.autolink=_i(Ai.autolink).replace("scheme",Ai._scheme).replace("email",Ai._email).getRegex(),Ai._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,Ai.tag=_i(Ai.tag).replace("comment",Ai._comment).replace("attribute",Ai._attribute).getRegex(),Ai._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Ai._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,Ai._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,Ai.link=_i(Ai.link).replace("label",Ai._label).replace("href",Ai._href).replace("title",Ai._title).getRegex(),Ai.reflink=_i(Ai.reflink).replace("label",Ai._label).getRegex(),Ai.reflinkSearch=_i(Ai.reflinkSearch,"g").replace("reflink",Ai.reflink).replace("nolink",Ai.nolink).getRegex(),Ai.normal=Ei({},Ai),Ai.pedantic=Ei({},Ai.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:_i(/^!?\[(label)\]\((.*?)\)/).replace("label",Ai._label).getRegex(),reflink:_i(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Ai._label).getRegex()}),Ai.gfm=Ei({},Ai.normal,{escape:_i(Ai.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*~]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@))|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@))/}),Ai.gfm.url=_i(Ai.gfm.url,"i").replace("email",Ai.gfm._extended_email).getRegex(),Ai.breaks=Ei({},Ai.gfm,{br:_i(Ai.br).replace("{2,}","*").getRegex(),text:_i(Ai.gfm.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()});var Oi={block:Ci,inline:Ai};const Ti=xi,{defaults:ji}=Yo.exports,{block:zi,inline:Li}=Oi,{repeatString:Ni}=gi;function $i(e){return e.replace(/---/g,"—").replace(/--/g,"").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1").replace(/'/g,"").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…")}function Di(e){let t,n,r="";const o=e.length;for(t=0;t<o;t++)n=e.charCodeAt(t),Math.random()>.5&&(n="x"+n.toString(16)),r+="&#"+n+";";return r}const{defaults:Ii}=Yo.exports,{cleanUrl:Pi,escape:qi}=gi;var Ri=class{constructor(e){this.options=e||Ii}code(e,t,n){const r=(t||"").match(/\S*/)[0];if(this.options.highlight){const t=this.options.highlight(e,r);null!=t&&t!==e&&(n=!0,e=t)}return r?'<pre><code class="'+this.options.langPrefix+qi(r,!0)+'">'+(n?e:qi(e,!0))+"</code></pre>\n":"<pre><code>"+(n?e:qi(e,!0))+"</code></pre>\n"}blockquote(e){return"<blockquote>\n"+e+"</blockquote>\n"}html(e){return e}heading(e,t,n,r){return this.options.headerIds?"<h"+t+' id="'+this.options.headerPrefix+r.slug(n)+'">'+e+"</h"+t+">\n":"<h"+t+">"+e+"</h"+t+">\n"}hr(){return this.options.xhtml?"<hr/>\n":"<hr>\n"}list(e,t,n){const r=t?"ol":"ul";return"<"+r+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"</"+r+">\n"}listitem(e){return"<li>"+e+"</li>\n"}checkbox(e){return"<input "+(e?'checked="" ':"")+'disabled="" type="checkbox"'+(this.options.xhtml?" /":"")+"> "}paragraph(e){return"<p>"+e+"</p>\n"}table(e,t){return t&&(t="<tbody>"+t+"</tbody>"),"<table>\n<thead>\n"+e+"</thead>\n"+t+"</table>\n"}tablerow(e){return"<tr>\n"+e+"</tr>\n"}tablecell(e,t){const n=t.header?"th":"td";return(t.align?"<"+n+' align="'+t.align+'">':"<"+n+">")+e+"</"+n+">\n"}strong(e){return"<strong>"+e+"</strong>"}em(e){return"<em>"+e+"</em>"}codespan(e){return"<code>"+e+"</code>"}br(){return this.options.xhtml?"<br/>":"<br>"}del(e){return"<del>"+e+"</del>"}link(e,t,n){if(null===(e=Pi(this.options.sanitize,this.options.baseUrl,e)))return n;let r='<a href="'+qi(e)+'"';return t&&(r+=' title="'+t+'"'),r+=">"+n+"</a>",r}image(e,t,n){if(null===(e=Pi(this.options.sanitize,this.options.baseUrl,e)))return n;let r='<img src="'+e+'" alt="'+n+'"';return t&&(r+=' title="'+t+'"'),r+=this.options.xhtml?"/>":">",r}text(e){return e}},Mi=class{strong(e){return e}em(e){return e}codespan(e){return e}del(e){return e}html(e){return e}text(e){return e}link(e,t,n){return""+n}image(e,t,n){return""+n}br(){return""}},Fi=class{constructor(){this.seen={}}serialize(e){return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")}getNextSafeSlug(e,t){let n=e,r=0;if(this.seen.hasOwnProperty(n)){r=this.seen[e];do{r++,n=e+"-"+r}while(this.seen.hasOwnProperty(n))}return t||(this.seen[e]=r,this.seen[n]=0),n}slug(e,t={}){const n=this.serialize(e);return this.getNextSafeSlug(n,t.dryrun)}};const Bi=Ri,Ui=Mi,Hi=Fi,{defaults:Zi}=Yo.exports,{unescape:Wi}=gi;const Ji=class e{constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||ji,this.options.tokenizer=this.options.tokenizer||new Ti,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;const t={block:zi.normal,inline:Li.normal};this.options.pedantic?(t.block=zi.pedantic,t.inline=Li.pedantic):this.options.gfm&&(t.block=zi.gfm,this.options.breaks?t.inline=Li.breaks:t.inline=Li.gfm),this.tokenizer.rules=t}static get rules(){return{block:zi,inline:Li}}static lex(t,n){return new e(n).lex(t)}static lexInline(t,n){return new e(n).inlineTokens(t)}lex(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(e,this.tokens,!0),this.inline(this.tokens),this.tokens}blockTokens(e,t=[],n=!0){let r,o,i,a;for(e=e.replace(/^ +$/gm,"");e;)if(r=this.tokenizer.space(e))e=e.substring(r.raw.length),r.type&&t.push(r);else if(r=this.tokenizer.code(e,t))e=e.substring(r.raw.length),r.type?t.push(r):(a=t[t.length-1],a.raw+="\n"+r.raw,a.text+="\n"+r.text);else if(r=this.tokenizer.fences(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.heading(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.nptable(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.hr(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.blockquote(e))e=e.substring(r.raw.length),r.tokens=this.blockTokens(r.text,[],n),t.push(r);else if(r=this.tokenizer.list(e)){for(e=e.substring(r.raw.length),i=r.items.length,o=0;o<i;o++)r.items[o].tokens=this.blockTokens(r.items[o].text,[],!1);t.push(r)}else if(r=this.tokenizer.html(e))e=e.substring(r.raw.length),t.push(r);else if(n&&(r=this.tokenizer.def(e)))e=e.substring(r.raw.length),this.tokens.links[r.tag]||(this.tokens.links[r.tag]={href:r.href,title:r.title});else if(r=this.tokenizer.table(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.lheading(e))e=e.substring(r.raw.length),t.push(r);else if(n&&(r=this.tokenizer.paragraph(e)))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.text(e,t))e=e.substring(r.raw.length),r.type?t.push(r):(a=t[t.length-1],a.raw+="\n"+r.raw,a.text+="\n"+r.text);else if(e){const t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw new Error(t)}return t}inline(e){let t,n,r,o,i,a;const s=e.length;for(t=0;t<s;t++)switch(a=e[t],a.type){case"paragraph":case"text":case"heading":a.tokens=[],this.inlineTokens(a.text,a.tokens);break;case"table":for(a.tokens={header:[],cells:[]},o=a.header.length,n=0;n<o;n++)a.tokens.header[n]=[],this.inlineTokens(a.header[n],a.tokens.header[n]);for(o=a.cells.length,n=0;n<o;n++)for(i=a.cells[n],a.tokens.cells[n]=[],r=0;r<i.length;r++)a.tokens.cells[n][r]=[],this.inlineTokens(i[r],a.tokens.cells[n][r]);break;case"blockquote":this.inline(a.tokens);break;case"list":for(o=a.items.length,n=0;n<o;n++)this.inline(a.items[n].tokens)}return e}inlineTokens(e,t=[],n=!1,r=!1){let o,i,a,s,c=e;if(this.tokens.links){const e=Object.keys(this.tokens.links);if(e.length>0)for(;null!=(i=this.tokenizer.rules.inline.reflinkSearch.exec(c));)e.includes(i[0].slice(i[0].lastIndexOf("[")+1,-1))&&(c=c.slice(0,i.index)+"["+Ni("a",i[0].length-2)+"]"+c.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(i=this.tokenizer.rules.inline.blockSkip.exec(c));)c=c.slice(0,i.index)+"["+Ni("a",i[0].length-2)+"]"+c.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;e;)if(a||(s=""),a=!1,o=this.tokenizer.escape(e))e=e.substring(o.raw.length),t.push(o);else if(o=this.tokenizer.tag(e,n,r))e=e.substring(o.raw.length),n=o.inLink,r=o.inRawBlock,t.push(o);else if(o=this.tokenizer.link(e))e=e.substring(o.raw.length),"link"===o.type&&(o.tokens=this.inlineTokens(o.text,[],!0,r)),t.push(o);else if(o=this.tokenizer.reflink(e,this.tokens.links))e=e.substring(o.raw.length),"link"===o.type&&(o.tokens=this.inlineTokens(o.text,[],!0,r)),t.push(o);else if(o=this.tokenizer.strong(e,c,s))e=e.substring(o.raw.length),o.tokens=this.inlineTokens(o.text,[],n,r),t.push(o);else if(o=this.tokenizer.em(e,c,s))e=e.substring(o.raw.length),o.tokens=this.inlineTokens(o.text,[],n,r),t.push(o);else if(o=this.tokenizer.codespan(e))e=e.substring(o.raw.length),t.push(o);else if(o=this.tokenizer.br(e))e=e.substring(o.raw.length),t.push(o);else if(o=this.tokenizer.del(e))e=e.substring(o.raw.length),o.tokens=this.inlineTokens(o.text,[],n,r),t.push(o);else if(o=this.tokenizer.autolink(e,Di))e=e.substring(o.raw.length),t.push(o);else if(n||!(o=this.tokenizer.url(e,Di))){if(o=this.tokenizer.inlineText(e,r,$i))e=e.substring(o.raw.length),s=o.raw.slice(-1),a=!0,t.push(o);else if(e){const t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw new Error(t)}}else e=e.substring(o.raw.length),t.push(o);return t}},Gi=class e{constructor(e){this.options=e||Zi,this.options.renderer=this.options.renderer||new Bi,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new Ui,this.slugger=new Hi}static parse(t,n){return new e(n).parse(t)}static parseInline(t,n){return new e(n).parseInline(t)}parse(e,t=!0){let n,r,o,i,a,s,c,l,u,f,p,d,h,g,m,b,v,y,w="";const k=e.length;for(n=0;n<k;n++)switch(f=e[n],f.type){case"space":continue;case"hr":w+=this.renderer.hr();continue;case"heading":w+=this.renderer.heading(this.parseInline(f.tokens),f.depth,Wi(this.parseInline(f.tokens,this.textRenderer)),this.slugger);continue;case"code":w+=this.renderer.code(f.text,f.lang,f.escaped);continue;case"table":for(l="",c="",i=f.header.length,r=0;r<i;r++)c+=this.renderer.tablecell(this.parseInline(f.tokens.header[r]),{header:!0,align:f.align[r]});for(l+=this.renderer.tablerow(c),u="",i=f.cells.length,r=0;r<i;r++){for(s=f.tokens.cells[r],c="",a=s.length,o=0;o<a;o++)c+=this.renderer.tablecell(this.parseInline(s[o]),{header:!1,align:f.align[o]});u+=this.renderer.tablerow(c)}w+=this.renderer.table(l,u);continue;case"blockquote":u=this.parse(f.tokens),w+=this.renderer.blockquote(u);continue;case"list":for(p=f.ordered,d=f.start,h=f.loose,i=f.items.length,u="",r=0;r<i;r++)m=f.items[r],b=m.checked,v=m.task,g="",m.task&&(y=this.renderer.checkbox(b),h?m.tokens.length>0&&"text"===m.tokens[0].type?(m.tokens[0].text=y+" "+m.tokens[0].text,m.tokens[0].tokens&&m.tokens[0].tokens.length>0&&"text"===m.tokens[0].tokens[0].type&&(m.tokens[0].tokens[0].text=y+" "+m.tokens[0].tokens[0].text)):m.tokens.unshift({type:"text",text:y}):g+=y),g+=this.parse(m.tokens,h),u+=this.renderer.listitem(g,v,b);w+=this.renderer.list(u,p,d);continue;case"html":w+=this.renderer.html(f.text);continue;case"paragraph":w+=this.renderer.paragraph(this.parseInline(f.tokens));continue;case"text":for(u=f.tokens?this.parseInline(f.tokens):f.text;n+1<k&&"text"===e[n+1].type;)f=e[++n],u+="\n"+(f.tokens?this.parseInline(f.tokens):f.text);w+=t?this.renderer.paragraph(u):u;continue;default:{const e='Token with "'+f.type+'" type was not found.';if(this.options.silent)return void console.error(e);throw new Error(e)}}return w}parseInline(e,t){t=t||this.renderer;let n,r,o="";const i=e.length;for(n=0;n<i;n++)switch(r=e[n],r.type){case"escape":case"text":o+=t.text(r.text);break;case"html":o+=t.html(r.text);break;case"link":o+=t.link(r.href,r.title,this.parseInline(r.tokens,t));break;case"image":o+=t.image(r.href,r.title,r.text);break;case"strong":o+=t.strong(this.parseInline(r.tokens,t));break;case"em":o+=t.em(this.parseInline(r.tokens,t));break;case"codespan":o+=t.codespan(r.text);break;case"br":o+=t.br();break;case"del":o+=t.del(this.parseInline(r.tokens,t));break;default:{const e='Token with "'+r.type+'" type was not found.';if(this.options.silent)return void console.error(e);throw new Error(e)}}return o}},Vi=xi,Yi=Ri,Xi=Mi,Ki=Fi,{merge:Qi,checkSanitizeDeprecation:ea,escape:ta}=gi,{getDefaults:na,changeDefaults:ra,defaults:oa}=Yo.exports;function ia(e,t,n){if(null==e)throw new Error("marked(): input parameter is undefined or null");if("string"!=typeof e)throw new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected");if("function"==typeof t&&(n=t,t=null),t=Qi({},ia.defaults,t||{}),ea(t),n){const r=t.highlight;let o;try{o=Ji.lex(e,t)}catch(e){return n(e)}const i=function(e){let i;if(!e)try{i=Gi.parse(o,t)}catch(t){e=t}return t.highlight=r,e?n(e):n(null,i)};if(!r||r.length<3)return i();if(delete t.highlight,!o.length)return i();let a=0;return ia.walkTokens(o,(function(e){"code"===e.type&&(a++,setTimeout((()=>{r(e.text,e.lang,(function(t,n){if(t)return i(t);null!=n&&n!==e.text&&(e.text=n,e.escaped=!0),a--,0===a&&i()}))}),0))})),void(0===a&&i())}try{const n=Ji.lex(e,t);return t.walkTokens&&ia.walkTokens(n,t.walkTokens),Gi.parse(n,t)}catch(e){if(e.message+="\nPlease report this to https://github.com/markedjs/marked.",t.silent)return"<p>An error occurred:</p><pre>"+ta(e.message+"",!0)+"</pre>";throw e}}ia.options=ia.setOptions=function(e){return Qi(ia.defaults,e),ra(ia.defaults),ia},ia.getDefaults=na,ia.defaults=oa,ia.use=function(e){const t=Qi({},e);if(e.renderer){const n=ia.defaults.renderer||new Yi;for(const t in e.renderer){const r=n[t];n[t]=(...o)=>{let i=e.renderer[t].apply(n,o);return!1===i&&(i=r.apply(n,o)),i}}t.renderer=n}if(e.tokenizer){const n=ia.defaults.tokenizer||new Vi;for(const t in e.tokenizer){const r=n[t];n[t]=(...o)=>{let i=e.tokenizer[t].apply(n,o);return!1===i&&(i=r.apply(n,o)),i}}t.tokenizer=n}if(e.walkTokens){const n=ia.defaults.walkTokens;t.walkTokens=t=>{e.walkTokens(t),n&&n(t)}}ia.setOptions(t)},ia.walkTokens=function(e,t){for(const n of e)switch(t(n),n.type){case"table":for(const e of n.tokens.header)ia.walkTokens(e,t);for(const e of n.tokens.cells)for(const n of e)ia.walkTokens(n,t);break;case"list":ia.walkTokens(n.items,t);break;default:n.tokens&&ia.walkTokens(n.tokens,t)}},ia.parseInline=function(e,t){if(null==e)throw new Error("marked.parseInline(): input parameter is undefined or null");if("string"!=typeof e)throw new Error("marked.parseInline(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected");t=Qi({},ia.defaults,t||{}),ea(t);try{const n=Ji.lexInline(e,t);return t.walkTokens&&ia.walkTokens(n,t.walkTokens),Gi.parseInline(n,t)}catch(e){if(e.message+="\nPlease report this to https://github.com/markedjs/marked.",t.silent)return"<p>An error occurred:</p><pre>"+ta(e.message+"",!0)+"</pre>";throw e}},ia.Parser=Gi,ia.parser=Gi.parse,ia.Renderer=Yi,ia.TextRenderer=Xi,ia.Lexer=Ji,ia.lexer=Ji.lex,ia.Tokenizer=Vi,ia.Slugger=Ki,ia.parse=ia;var aa=ia,sa=new aa.Renderer;function ca(e,t){var n=e.substr(1,e.length-2).trim();if(/\s/.test(n)){var r=n.match(/^[^:,]+/)[0],o=t.find((function(e){return e.match.test(r)}));if(o){var i=n.replace(r,"");if(":"===i[0]){var a=new Function('return {"'.concat(r,'" ').concat(i,"}"))(),s=a[r];return delete a[r],o.render(s,a,n)}if(","===i[0]){var c=new Function("return {".concat(i.substr(1),"}"))();return o.render(null,c,n)}if(""===i)return o.render(null,{},n)}}else{var l,u=/(.+)\[(.+)\]$/.exec(n);if(void 0!==(l=u?ln(u[1])[u[2]]:ln(n)))return l}return e}function la(e,t){var n="",r=0,o=e.indexOf("{");if(-1===o)return e;for(var i,a=!1,s=o+1;s<e.length;s++)switch(e[s]){case"{":o=s,a=!1;break;case'"':case"'":s>0&&"\\"!==e[s-1]&&(a?a&&i===e[s]&&(a=!1):(a=!0,i=e[s]));break;case"}":if(!a){var c=e.substring(o,s+1),l="";try{l=ca(c,t)}catch(e){console.warn('An error occurred while rendering "'.concat(c,'": ').concat(e.message)),l=c}void 0===l&&(l=""),n+=e.substring(r,o)+l,r=s+1,-1===(o=e.indexOf("{",r))&&(s=e.index)}}return n+e.substring(r)}Object.assign(sa,{blockquote:function(e){return'<div class="fork">'.concat(e,"</div>")},del:function(e){return'<span class="small-caps">'.concat(e,"</span>")}});var ua=Lt("render").log,fa={renderer:sa,smartypants:!0};function pa(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(!e.vars)throw new Error("The renderer was given an object with no vars property.");if(!e.blocks)throw new Error("The renderer was given an object with no blocks property.");var o="";r||(ua("Setting vars (".concat(e.vars.length,")")),e.vars.forEach((function(e){e.condition?e.condition()?(ua('Setting var "'.concat(name,'" (condition is currently true)')),an(e.name,e.value())):ua('Not setting var "'.concat(name,'" (condition is currently false)')):(ua('Setting var "'.concat(name,'"')),an(e.name,e.value()))})));var i=[],a={};return e.blocks.forEach((function(e){switch(e.type){case"text":var r={text:e.content,startsNewParagraph:!0},s=i.filter((function(e){return!!e.mod.processRaw}));ua("Running ".concat(s.length," modifiers on raw source block")),s.forEach((function(e){e.mod.processRaw(r,{state:a[e.mod],invocation:e.invocation})})),r.text=la(Fr(r.text),t);var c=i.filter((function(e){return!!e.mod.process}));ua("Running ".concat(c.length," modifiers on source block")),c.forEach((function(e){return e.mod.process(r,{state:a[e.mod],invocation:e.invocation})})),ua("Output after modifiers: ".concat(JSON.stringify(r))),""!==r.text.trim()&&(""!==o&&(o+=r.startsNewParagraph?"\n\n":" "),o+=r.text),i=[];break;case"modifier":var l=n.filter((function(t){return t.match.test(e.content)}));if(1===l.length){var u=l[0];ua('Activated "'.concat(u.name,'" modifier matching [').concat(e.content,"]")),a[u]=a[u]||{},i.push({mod:u,invocation:e.content})}else 0===l.length||console.warn('More than one modifier matched "['.concat(e.content,']".')),o+="\n\n[".concat(e.content,"]\n\n");break;default:throw new Error("Don't know how to render a block with type \"".concat(e.type,'".'))}})),o=o.replace(/^((>|-|\*).*$)\n+\2/gm,"$1\n$2"),aa.setOptions(fa),ua("Final Markdown:\n".concat(o)),aa(o)}var da={"config.template.inserts":_o,"config.template.modifiers":Uo};function ha(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return pa(Vo(e),ln("config.template.inserts")||[],ln("config.template.modifiers")||[],t)}var ga=Lt("extensibility").warn;function ma(e){return e.split(".").map(window.parseInt)}function ba(e,t,n){var r,o=e.volume,i=t-o,a=0;return new Promise((function(t){return window.requestAnimationFrame((function(s){r=s,window.requestAnimationFrame((function s(c){a+=c-r,e.volume=function(e,t,n,r){return(e/=r/2)<1?n/2*e*e+t:-n/2*(--e*(e-2)-1)+t}(a,o,i,n),a<n?(r=c,window.requestAnimationFrame(s)):t()}))}))}))}var va,ya=Lt("sound"),wa=ya.log,ka=ya.warn,xa={},Sa={"sound.mute":!1,"sound.volume":1,"sound.transitionDuration":"1s"};function _a(e,t,n){xa[e]?(xa[e].setAttribute("src",t),n?xa[e].setAttribute("preload","auto"):xa[e].removeAttribute("preload"),wa('Updated <audio> element in sound bank for "'.concat(e,'" to use ').concat(t))):(xa[e]=document.createElement("audio"),xa[e].setAttribute("src",t),n&&xa[e].setAttribute("preload","auto"),va.appendChild(xa[e]),wa('Added new <audio> element to sound bank for "'.concat(e,'" for ').concat(t)))}function Ea(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(!xa[e])throw new Error("There is no sound loaded named ".concat(e,"."));return wa('Playing sound "'.concat(e,'" (looping: ').concat(t,")")),n>0&&(xa[e].volume=0,ba(xa[e],1,n)),t?(xa[e].loop=!0,xa[e].play()):(xa[e].loop=!1,new Promise((function(t,n){try{xa[e].addEventListener("ended",(function n(){xa[e].removeEventListener("ended",n),t()})),xa[e].play().catch((function(e){return n(e)}))}catch(e){n(e)}})))}function Ca(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(!xa[e])throw new Error("There is no sound loaded named ".concat(e,"."));if(t<=0)xa[e].pause(),xa[e].currentTime=0;else{var n=xa[e].volume;ba(xa[e],0,t).then((function(){xa[e].pause(),xa[e].volume=n,xa[e].currentTime=0}))}}function Aa(e,t){if(!xa[e])throw new Error("There is no sound loaded named ".concat(e,"."));if(t<0||t>1)throw new Error("A sound volume must be between 0 and 1.");xa[e].volume=t}function Oa(e,t){if(!xa[e])throw new Error("There is no sound loaded named ".concat(e,"."));xa[e].muted=t}var Ta="1.2.2";var ja={exports:{}};(function(e,t,n){function r(e){var t=this,n=function(){var e=4022871197,t=function(t){t=t.toString();for(var n=0;n<t.length;n++){var r=.02519603282416938*(e+=t.charCodeAt(n));r-=e=r>>>0,e=(r*=e)>>>0,e+=4294967296*(r-=e)}return 2.3283064365386963e-10*(e>>>0)};return t}();t.next=function(){var e=2091639*t.s0+2.3283064365386963e-10*t.c;return t.s0=t.s1,t.s1=t.s2,t.s2=e-(t.c=0|e)},t.c=1,t.s0=n(" "),t.s1=n(" "),t.s2=n(" "),t.s0-=n(e),t.s0<0&&(t.s0+=1),t.s1-=n(e),t.s1<0&&(t.s1+=1),t.s2-=n(e),t.s2<0&&(t.s2+=1),n=null}function o(e,t){return t.c=e.c,t.s0=e.s0,t.s1=e.s1,t.s2=e.s2,t}function i(e,t){var n=new r(e),i=t&&t.state,a=n.next;return a.int32=function(){return 4294967296*n.next()|0},a.double=function(){return a()+11102230246251565e-32*(2097152*a()|0)},a.quick=a,i&&("object"==typeof i&&o(i,n),a.state=function(){return o(n,{})}),a}t&&t.exports?t.exports=i:n&&n.amd?n((function(){return i})):this.alea=i})(0,ja,!1);var za={exports:{}};!function(e){!function(e,t,n){function r(e){var t=this,n="";t.x=0,t.y=0,t.z=0,t.w=0,t.next=function(){var e=t.x^t.x<<11;return t.x=t.y,t.y=t.z,t.z=t.w,t.w^=t.w>>>19^e^e>>>8},e===(0|e)?t.x=e:n+=e;for(var r=0;r<n.length+64;r++)t.x^=0|n.charCodeAt(r),t.next()}function o(e,t){return t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t}function i(e,t){var n=new r(e),i=t&&t.state,a=function(){return(n.next()>>>0)/4294967296};return a.double=function(){do{var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},a.int32=n.next,a.quick=a,i&&("object"==typeof i&&o(i,n),a.state=function(){return o(n,{})}),a}t&&t.exports?t.exports=i:n&&n.amd?n((function(){return i})):this.xor128=i}(0,e,!1)}(za);var La={exports:{}};!function(e){!function(e,t,n){function r(e){var t=this,n="";t.next=function(){var e=t.x^t.x>>>2;return t.x=t.y,t.y=t.z,t.z=t.w,t.w=t.v,(t.d=t.d+362437|0)+(t.v=t.v^t.v<<4^e^e<<1)|0},t.x=0,t.y=0,t.z=0,t.w=0,t.v=0,e===(0|e)?t.x=e:n+=e;for(var r=0;r<n.length+64;r++)t.x^=0|n.charCodeAt(r),r==n.length&&(t.d=t.x<<10^t.x>>>4),t.next()}function o(e,t){return t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t.v=e.v,t.d=e.d,t}function i(e,t){var n=new r(e),i=t&&t.state,a=function(){return(n.next()>>>0)/4294967296};return a.double=function(){do{var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},a.int32=n.next,a.quick=a,i&&("object"==typeof i&&o(i,n),a.state=function(){return o(n,{})}),a}t&&t.exports?t.exports=i:n&&n.amd?n((function(){return i})):this.xorwow=i}(0,e,!1)}(La);var Na={exports:{}};!function(e){!function(e,t,n){function r(e){var t=this;t.next=function(){var e,n,r=t.x,o=t.i;return e=r[o],n=(e^=e>>>7)^e<<24,n^=(e=r[o+1&7])^e>>>10,n^=(e=r[o+3&7])^e>>>3,n^=(e=r[o+4&7])^e<<7,e=r[o+7&7],n^=(e^=e<<13)^e<<9,r[o]=n,t.i=o+1&7,n},function(e,t){var n,r=[];if(t===(0|t))r[0]=t;else for(t=""+t,n=0;n<t.length;++n)r[7&n]=r[7&n]<<15^t.charCodeAt(n)+r[n+1&7]<<13;for(;r.length<8;)r.push(0);for(n=0;n<8&&0===r[n];++n);for(8==n&&(r[7]=-1),e.x=r,e.i=0,n=256;n>0;--n)e.next()}(t,e)}function o(e,t){return t.x=e.x.slice(),t.i=e.i,t}function i(e,t){null==e&&(e=+new Date);var n=new r(e),i=t&&t.state,a=function(){return(n.next()>>>0)/4294967296};return a.double=function(){do{var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},a.int32=n.next,a.quick=a,i&&(i.x&&o(i,n),a.state=function(){return o(n,{})}),a}t&&t.exports?t.exports=i:n&&n.amd?n((function(){return i})):this.xorshift7=i}(0,e,!1)}(Na);var $a={exports:{}};!function(e){!function(e,t,n){function r(e){var t=this;t.next=function(){var e,n,r=t.w,o=t.X,i=t.i;return t.w=r=r+1640531527|0,n=o[i+34&127],e=o[i=i+1&127],n^=n<<13,e^=e<<17,n^=n>>>15,e^=e>>>12,n=o[i]=n^e,t.i=i,n+(r^r>>>16)|0},function(e,t){var n,r,o,i,a,s=[],c=128;for(t===(0|t)?(r=t,t=null):(t+="\0",r=0,c=Math.max(c,t.length)),o=0,i=-32;i<c;++i)t&&(r^=t.charCodeAt((i+32)%t.length)),0===i&&(a=r),r^=r<<10,r^=r>>>15,r^=r<<4,r^=r>>>13,i>=0&&(a=a+1640531527|0,o=0==(n=s[127&i]^=r+a)?o+1:0);for(o>=128&&(s[127&(t&&t.length||0)]=-1),o=127,i=512;i>0;--i)r=s[o+34&127],n=s[o=o+1&127],r^=r<<13,n^=n<<17,r^=r>>>15,n^=n>>>12,s[o]=r^n;e.w=a,e.X=s,e.i=o}(t,e)}function o(e,t){return t.i=e.i,t.w=e.w,t.X=e.X.slice(),t}function i(e,t){null==e&&(e=+new Date);var n=new r(e),i=t&&t.state,a=function(){return(n.next()>>>0)/4294967296};return a.double=function(){do{var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},a.int32=n.next,a.quick=a,i&&(i.X&&o(i,n),a.state=function(){return o(n,{})}),a}t&&t.exports?t.exports=i:n&&n.amd?n((function(){return i})):this.xor4096=i}(0,e,!1)}($a);var Da={exports:{}};!function(e){!function(e,t,n){function r(e){var t=this,n="";t.next=function(){var e=t.b,n=t.c,r=t.d,o=t.a;return e=e<<25^e>>>7^n,n=n-r|0,r=r<<24^r>>>8^o,o=o-e|0,t.b=e=e<<20^e>>>12^n,t.c=n=n-r|0,t.d=r<<16^n>>>16^o,t.a=o-e|0},t.a=0,t.b=0,t.c=-1640531527,t.d=1367130551,e===Math.floor(e)?(t.a=e/4294967296|0,t.b=0|e):n+=e;for(var r=0;r<n.length+20;r++)t.b^=0|n.charCodeAt(r),t.next()}function o(e,t){return t.a=e.a,t.b=e.b,t.c=e.c,t.d=e.d,t}function i(e,t){var n=new r(e),i=t&&t.state,a=function(){return(n.next()>>>0)/4294967296};return a.double=function(){do{var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},a.int32=n.next,a.quick=a,i&&("object"==typeof i&&o(i,n),a.state=function(){return o(n,{})}),a}t&&t.exports?t.exports=i:n&&n.amd?n((function(){return i})):this.tychei=i}(0,e,!1)}(Da);var Ia={exports:{}};!function(e){!function(t,n){var r,o=(0,eval)("this"),i=256,a=n.pow(i,6),s=n.pow(2,52),c=2*s,l=255;function u(e,l,u){var m=[],b=h(d((l=1==l?{entropy:!0}:l||{}).entropy?[e,g(t)]:null==e?function(){try{var e;return r&&(e=r.randomBytes)?e=e(i):(e=new Uint8Array(i),(o.crypto||o.msCrypto).getRandomValues(e)),g(e)}catch(e){var n=o.navigator,a=n&&n.plugins;return[+new Date,o,a,o.screen,g(t)]}}():e,3),m),v=new f(m),y=function(){for(var e=v.g(6),t=a,n=0;e<s;)e=(e+n)*i,t*=i,n=v.g(1);for(;e>=c;)e/=2,t/=2,n>>>=1;return(e+n)/t};return y.int32=function(){return 0|v.g(4)},y.quick=function(){return v.g(4)/4294967296},y.double=y,h(g(v.S),t),(l.pass||u||function(e,t,r,o){return o&&(o.S&&p(o,v),e.state=function(){return p(v,{})}),r?(n.random=e,t):e})(y,b,"global"in l?l.global:this==n,l.state)}function f(e){var t,n=e.length,r=this,o=0,a=r.i=r.j=0,s=r.S=[];for(n||(e=[n++]);o<i;)s[o]=o++;for(o=0;o<i;o++)s[o]=s[a=l&a+e[o%n]+(t=s[o])],s[a]=t;(r.g=function(e){for(var t,n=0,o=r.i,a=r.j,s=r.S;e--;)t=s[o=l&o+1],n=n*i+s[l&(s[o]=s[a=l&a+t])+(s[a]=t)];return r.i=o,r.j=a,n})(i)}function p(e,t){return t.i=e.i,t.j=e.j,t.S=e.S.slice(),t}function d(e,t){var n,r=[],o=typeof e;if(t&&"object"==o)for(n in e)try{r.push(d(e[n],t-1))}catch(e){}return r.length?r:"string"==o?e:e+"\0"}function h(e,t){for(var n,r=e+"",o=0;o<r.length;)t[l&o]=l&(n^=19*t[l&o])+r.charCodeAt(o++);return g(t)}function g(e){return String.fromCharCode.apply(0,e)}if(n.seedrandom=u,h(n.random(),t),e.exports){e.exports=u;try{r=require("crypto")}catch(e){}}}([],Math)}(Ia);var Pa=ja.exports,qa=za.exports,Ra=La.exports,Ma=Na.exports,Fa=$a.exports,Ba=Da.exports,Ua=Ia.exports;Ua.alea=Pa,Ua.xor128=qa,Ua.xorwow=Ra,Ua.xorshift7=Ma,Ua.xor4096=Fa,Ua.tychei=Ba;var Ha=Ua,Za={"config.random.seed":function(){return new Date},"config.random.privateState":null},Wa=Ha(new Date,{state:!0});We.on("state-change",(function(e){var t=e.name,n=e.value;"config.random.seed"===t&&(Wa=Ha(n,{state:!0}))}));var Ja=Lt("style").log,Ga=document.createElement("div"),Va=document.createElement("div"),Ya=document.createElement("div"),Xa={};function Ka(e,t,n){var r=t.match(/\.(.+)$/);if(r&&r[1]){var o=r[1],i=Xa[e]||document.createElement("style");i.dataset.cbFontLoader=e,i.innerHTML='@font-face { font-family: "'.concat(n,'"; src: url("').concat(t,'") format("').concat(o,'"); }'),i.parentNode||Ya.appendChild(i)}}var Qa={white:"#ffffff",black:"#000000",gray:["#f8f9fa","#f1f3f5","#e9ecef","#dee2e6","#ced4da","#adb5bd","#868e96","#495057","#343a40","#212529"],red:["#fff5f5","#ffe3e3","#ffc9c9","#ffa8a8","#ff8787","#ff6b6b","#fa5252","#f03e3e","#e03131","#c92a2a"],pink:["#fff0f6","#ffdeeb","#fcc2d7","#faa2c1","#f783ac","#f06595","#e64980","#d6336c","#c2255c","#a61e4d"],grape:["#f8f0fc","#f3d9fa","#eebefa","#e599f7","#da77f2","#cc5de8","#be4bdb","#ae3ec9","#9c36b5","#862e9c"],violet:["#f3f0ff","#e5dbff","#d0bfff","#b197fc","#9775fa","#845ef7","#7950f2","#7048e8","#6741d9","#5f3dc4"],indigo:["#edf2ff","#dbe4ff","#bac8ff","#91a7ff","#748ffc","#5c7cfa","#4c6ef5","#4263eb","#3b5bdb","#364fc7"],blue:["#e7f5ff","#d0ebff","#a5d8ff","#74c0fc","#4dabf7","#339af0","#228be6","#1c7ed6","#1971c2","#1864ab"],cyan:["#e3fafc","#c5f6fa","#99e9f2","#66d9e8","#3bc9db","#22b8cf","#15aabf","#1098ad","#0c8599","#0b7285"],teal:["#e6fcf5","#c3fae8","#96f2d7","#63e6be","#38d9a9","#20c997","#12b886","#0ca678","#099268","#087f5b"],green:["#ebfbee","#d3f9d8","#b2f2bb","#8ce99a","#69db7c","#51cf66","#40c057","#37b24d","#2f9e44","#2b8a3e"],lime:["#f4fce3","#e9fac8","#d8f5a2","#c0eb75","#a9e34b","#94d82d","#82c91e","#74b816","#66a80f","#5c940d"],yellow:["#fff9db","#fff3bf","#ffec99","#ffe066","#ffd43b","#fcc419","#fab005","#f59f00","#f08c00","#e67700"],orange:["#fff4e6","#ffe8cc","#ffd8a8","#ffc078","#ffa94d","#ff922b","#fd7e14","#f76707","#e8590c","#d9480f"]},es=/-?\d+(\.\d+)?%?/g;var ts=function(e){return e.match(es)};var ns=function(e,t,n){return Math.min(Math.max(e,t),n)},rs=ts,os=ns;function is(e,t){switch(e=parseFloat(e),t){case 0:return os(e,0,360);case 1:case 2:return os(e,0,100);case 3:return os(e,0,1)}}var as=function(e){4!==e.length&&5!==e.length||(e=function(e){for(var t="#",n=1;n<e.length;n++){var r=e.charAt(n);t+=r+r}return t}(e));var t=[parseInt(e.substring(1,3),16),parseInt(e.substring(3,5),16),parseInt(e.substring(5,7),16)];if(9===e.length){var n=parseFloat((parseInt(e.substring(7,9),16)/255).toFixed(2));t.push(n)}return t},ss=ts,cs=ns;function ls(e,t){return t<3?-1!=e.indexOf("%")?Math.round(255*cs(parseInt(e,10),0,100)/100):cs(parseInt(e,10),0,255):cs(parseFloat(e),0,1)}var us=function(e){var t,n,r,o,i,a=e[0]/360,s=e[1]/100,c=e[2]/100;if(0==s)return[i=255*c,i,i];t=2*c-(n=c<.5?c*(1+s):c+s-c*s),o=[0,0,0];for(var l=0;l<3;l++)(r=a+1/3*-(l-1))<0&&r++,r>1&&r--,i=6*r<1?t+6*(n-t)*r:2*r<1?n:3*r<2?t+(n-t)*(2/3-r)*6:t,o[l]=255*i;return o},fs=function(e){return rs(e).map(is)},ps=as,ds=function(e){return ss(e).map(ls)},hs=us;var gs={"#":ps,hsl:function(e){var t=fs(e),n=hs(t);return 4===t.length&&n.push(t[3]),n},rgb:ds};function ms(e){for(var t in gs)if(0===e.indexOf(t))return gs[t](e)}ms.rgb=ds,ms.hsl=fs,ms.hex=ps;var bs=ms;var vs=function(e){var t,n,r=e[0]/255,o=e[1]/255,i=e[2]/255,a=Math.min(r,o,i),s=Math.max(r,o,i),c=s-a;return s==a?t=0:r==s?t=(o-i)/c:o==s?t=2+(i-r)/c:i==s&&(t=4+(r-o)/c),(t=Math.min(60*t,360))<0&&(t+=360),n=(a+s)/2,[t,100*(s==a?0:n<=.5?c/(s+a):c/(2-s-a)),100*n]};function ys(e){if("string"!=typeof e)throw new Error("Only strings can be parsed as color values.");Qa[e]&&(e=Array.isArray(Qa[e])?Qa[e][Qa[e].length-1]:Qa[e]);var t=/^(\w+)-(\d)$/.exec(e);t&&Qa[t[1]]&&(e=Qa[t[1]][t[2]]);var n=bs(e),r=vs(n);return r[3]=void 0!==n[3]?n[3]:1,"hsla(".concat(r[0],", ").concat(r[1],"%, ").concat(r[2],"%, ").concat(r[3],")")}function ws(e){if(void 0===e)return{"background-color":"inherit",color:"inherit"};if("string"!=typeof e)throw new Error("Only strings can be parsed as colors.");var t={color:"inherit","background-color":"inherit"},n=e.split(/ on /i);return t.color=ys(n[0].trim().toLowerCase()),2===n.length&&(t["background-color"]=ys(n[1].trim().toLowerCase())),t}var ks,xs,Ss=Lt("style").log,_s={"config.style.backdrop":"gray-0","config.style.page.style":"shadow","config.style.page.style.borderColor":"gray-2","config.style.page.font":"Iowan Old Style/Constantia/Georgia/serif 18","config.style.page.color":"gray-9 on white","config.style.page.fork.divider.color":"gray-3","config.style.page.fork.divider.style":"dashed","config.style.page.fork.divider.size":1,"config.style.page.link.color":"gray-9","config.style.page.link.lineColor":"red-8","config.style.page.link.font":"underline","config.style.page.link.active.color":"red-8 on red-0","config.style.page.verticalAlign":"center","config.style.page.header.font":"16","config.style.page.header.link.font":"small caps","config.style.page.footer.font":"16","config.style.page.footer.link.font":"small caps"},Es={},Cs=document.createElement("style");function As(e,t){Es[e]=Es[e]||{},Object.assign(Es[e],t),function(){function e(e,t){return e+"{"+Object.keys(t).sort().reduce((function(e,n){return t[n]?e+n+":"+t[n].toString()+";":e}),"")+"}"}Cs.innerHTML=Object.keys(Es).reduce((function(t,n){return t+e(n,Es[n])}),"")}()}function Os(e,t){var n="#page",r=e.replace(/^config\.style\.page\./i,"").split(".");switch("header"===r[0].toLowerCase()?(n+=" header",r.shift()):"footer"===r[0].toLowerCase()&&(n+=" footer",r.shift()),"link"===r[0].toLowerCase()&&(n+=" a",r.shift()),"active"===r[0].toLowerCase()&&(n="".concat(n,":hover, ").concat(n,":active"),r.shift()),r[0].toLowerCase()){case"color":Ss("Setting color for ".concat(n)),As(n,ws(t));break;case"linecolor":Ss("Setting line color for ".concat(n));var o=ws(t).color;As(n,{"text-decoration-color":o,"-webkit-text-decoration-color":o});break;case"font":Ss("Setting font for ".concat(n)),As(n,function(e){var t={"font-family":"inherit","font-size":"inherit","font-style":"inherit","font-weight":"inherit","letter-spacing":"inherit","text-decoration":"inherit","text-transform":"inherit"};if(void 0===e)return t;if("string"!=typeof e)throw new Error("Only strings can be parsed as fonts.");function n(e,t){e["font-family"]=t.split("/").map((function(e){var t=e;return'"'!==t[0]&&(t='"'+t),'"'!==t[t.length-1]&&(t+='"'),t})).join(",")}function r(e){e["font-weight"]="bold"}function o(e){e["font-style"]="italic"}function i(e){e["font-style"]="none",e["font-weight"]="normal",e["letter-spacing"]="normal",e["text-decoration"]="none",e["text-transform"]="none"}function a(e){e["letter-spacing"]="0.075em",e["text-transform"]="uppercase",e["font-size"]&&"inherit"!==e["font-size"]?e["font-size"]="calc(0.7 * ".concat(e["font-size"],")"):e["font-size"]="70%"}function s(e){e["text-decoration"]="underline"}var c=/\b\d+(?:\.\d+)?(ch|cm|ex|in|mm|pc|pt|px|r?em|vh|vmax|vmin|vw|%)?/i.exec(e);if(c){/^\d+$/.test(c[0])?t["font-size"]=c[0]+"px":t["font-size"]=c[0],0!==c.index&&n(t,e.substr(0,c.index).trim());var l=e.substr(c.index);/\bregular\b/i.test(l)?(t["font-style"]="none",t["font-weight"]="normal",t["letter-spacing"]="normal",t["text-decoration"]="none",t["text-transform"]="none"):(/\bbold\b/.test(l)&&r(t),/\bitalics?\b/.test(l)&&o(t),/\bunderlined?/.test(l)&&s(t),/\bsmall caps?\b/.test(l)&&a(t))}else{for(var u,f=e;u=/(bold|italics?|regular|small caps|underlined?)$/.exec(f);){switch(u[0]){case"bold":r(t);break;case"italic":case"italics":o(t);break;case"regular":i(t);break;case"small caps":a(t);break;case"underline":case"underlined":s(t)}f=f.substr(0,u.index).trim()}""!==f.trim()&&n(t,f)}return t}(t))}}qt(document.querySelector("tw-storydata")),window.engine={extend:function(e,t){var n=ln("engine.version"),r=ma(e),o=ma(n);o[0]<r[0]?ga("The current engine version (".concat(n,") has a lower major version than requested (").concat(e,"); skipping")):(o[0]>r[0]?ga("The current engine version (".concat(n,") has a higher major version than requested (").concat(e,"); running code but you may encounter problems")):(o[1]<r[1]&&ga("The current engine version (".concat(n,") has a lower minor version than requested (").concat(e,"); running code but you may encounter problems")),o[1]===r[1]&&o[2]<r[2]&&ga("The current engine version (".concat(n,") has a lower patch version than requested (").concat(e,"); running code but you may encounter problems"))),t())},event:We,log:jt,render:ha,state:vn,story:Gt,warn:zt},nn(),Object.assign(window,{go:wn,restart:kn}),Ga.dataset.cbGoogleFontLoader="",Ga.setAttribute("hidden",!0),Va.dataset.cbTypekitFontLoader="",Va.setAttribute("hidden",!0),Ya.dataset.cbUrlFontLoader="",Ya.setAttribute("hidden",!0),document.body.appendChild(Ga),document.body.appendChild(Va),document.body.appendChild(Ya),We.on("state-change",(function(e){var t=e.name;if("config"===t||"config.style"===t||"config.style.fonts"===t){var n=ln("config.style.fonts");if(!n)return;Object.keys(n).forEach((function(e){var t=n[e].name,r=n[e].url;t&&r&&Ka(e,r,t)}))}else{var r=t.match(/^config\.style\.fonts\.([^.]+)/i);if(r){var o=r[1],i=ln("config.style.fonts.".concat(o,".name")),a=ln("config.style.fonts.".concat(o,".url"));return void(a&&i&&(Ja("Adding font from URL (".concat(i,")")),Ka(o,a,i)))}}on(t,"config.style.googleFont")&&(Ja("Adding Google font"),Ga.innerHTML=ln("config.style.googleFont")),on(t,"config.style.typekitFont")&&(Ja("Adding Typekit font"),Va.innerHTML=ln("config.style.typekitFont"))})),Cs.dataset.cbAuthorStyles="",document.head.appendChild(Cs),We.on("state-change",(function(e){var t=e.name,n=e.value;if(on(t,"config.style.backdrop")&&(Ss("Setting backdrop color"),As("#backdrop",{"background-color":ws(ln("config.style.backdrop")).color})),on(t,"config.style.page.fork.divider.color")&&(Ss("Setting fork divider color"),As("#page .fork p a + a",{"border-top-color":ws(ln("config.style.page.fork.divider.color")).color})),on(t,"config.style.page.fork.divider.size")&&(Ss("Setting fork divider size"),As("#page .fork p a + a",{"border-top-width":"".concat(ln("config.style.page.fork.divider.size"),"px")})),on(t,"config.style.page.fork.divider.style")&&(Ss("Setting fork divider style"),As("#page .fork p a + a",{"border-top-style":ln("config.style.page.fork.divider.style")})),on(t,"config.style.page.style")||on(t,"config.style.page.style.borderColor"))switch(Ss("Setting page style"),ln("config.style.page.style")){case"none":As("#page",{border:"none","box-shadow":"none"});break;case"shadow":As("#page",{border:"none","box-shadow":"0 4px 8px hsla(0, 0%, 0%, 0.25)"});break;case"thick-line":As("#page",{border:"4px solid ".concat(ws(ln("config.style.page.style.borderColor")).color),"box-shadow":"none"});break;case"thin-line":As("#page",{border:"1px solid ".concat(ws(ln("config.style.page.style.borderColor")).color),"box-shadow":"none"})}if(on(t,"config.style.page.verticalAlign"))switch(Ss("Setting page vertical alignment"),ln("config.style.page.verticalAlign")){case"top":As("#page article",{"align-items":"flex-start"});break;case"center":As("#page article",{"align-items":"center"});break;case"bottom":As("#page article",{"align-items":"flex-end"})}/^config\.style\.page\..*\.((line)?color|font)$/i.test(t)&&Os(t,n),on(t,"config.style.page")&&["config.style.page","config.style.page.header","config.style.page.footer"].forEach((function(e){var t=ln(e);t&&function(e,t){["color","font","lineColor"].forEach((function(n){t[n]&&Os("".concat(e,".").concat(n),t[n]),t.link&&(t.link[n]&&Os("".concat(e,".link.").concat(n),t.link[n]),t.link.active&&t.link.active[n]&&Os("".concat(e,".link.active.").concat(n),t.link.active[n]))}))}(e,t)}))})),[oo,Ot,Za,Sa,Qt,_s,da].forEach((function(e){return Object.keys(e).forEach((function(t){"function"==typeof e[t]?sn(t,e[t]()):sn(t,e[t])}))})),function(e){e("browser.height",(function(){return window.innerHeight})),e("browser.online",(function(){return window.navigator.onLine})),e("browser.width",(function(){return window.innerWidth}))}(cn),function(e){e("engine.version",(function(){return Ta}))}(cn),function(e){e("now.second",(function(){return(new Date).getSeconds()})),e("now.minute",(function(){return(new Date).getMinutes()})),e("now.hour",(function(){return(new Date).getHours()})),e("now.day",(function(){return(new Date).getDate()})),e("now.weekday",(function(){return(new Date).getDay()+1})),e("now.weekdayName",(function(){return(new Date).toLocaleString(navigator.language,{weekday:"long"})})),e("now.month",(function(){return(new Date).getMonth()+1})),e("now.monthName",(function(){return(new Date).toLocaleString(navigator.language,{month:"long"})})),e("now.year",(function(){return(new Date).getFullYear()})),e("now.timestamp",(function(){return(new Date).toLocaleString(navigator.language,{hour:"numeric",minute:"numeric",second:"numeric"})}))}(cn),function(e){e("passage.name",(function(){var e=ln("trail");if(e)return e[e.length-1]})),e("passage.visits",(function(){var e=ln("trail"),t=ln("passage.name");if(e)return e.reduce((function(e,n){return n===t?e+1:e}),0)}))}(cn),function(e){e("random.coinFlip",(function(){return Wa()>.5})),e("random.fraction",(function(){return Wa()})),[4,5,6,8,10,12,20,25,50,100,1e3].forEach((function(t){e("random.d".concat(t),(function(){return 1+Math.round(Wa()*(t-1))}))}))}(cn),function(e){e("story.name",Ut)}(cn),window.addEventListener("error",no),window.addEventListener("unhandledrejection",(function(e){return no(e.reason)})),ks=window.console.warn,xs=document.querySelector("#page .warnings"),console.warn=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];if(ln("config.testing"))try{xs.removeAttribute("hidden"),t.forEach((function(e){var t=document.createElement("li");t.className="warning",t.innerHTML="Warning: ".concat(Sr(e)),xs.appendChild(t)}))}catch(e){}ks.apply(window.console,t)},We.on("state-change",(function(e){"trail"===e.name&&(xs.setAttribute("hidden",""),xs.innerHTML="")})),Xr=document.querySelector("#page article"),Qr=document.querySelector("#page #spinner"),Kr={},["header","footer"].forEach((function(e){Kr[e]={container:document.querySelector("#page ".concat(e))},["left","center","right"].forEach((function(t){Kr[e][t]=document.querySelector("#page ".concat(e," .").concat(t))}))})),We.on("state-change",(function(e){var t=e.name;return lo("trail"===t)})),["change","click"].forEach((function(e){document.body.addEventListener(e,(function(e){for(var t=e.target;t;)t.dataset&&Object.keys(t.dataset).some((function(e){return/^cb[A-Z]/.test(e)}))&&We.emit("dom-".concat(e.type),t),t=t.parentNode}))})),(va=document.createElement("div")).setAttribute("hidden",!0),va.dataset.cbSounds="",document.body.appendChild(va),We.on("state-change",(function(e){var t=e.name,n=e.value,r=on(t,"sound.ambient"),o=on(t,"sound.effect");if(r){var i=ln("sound.ambient");i&&Object.keys(i).forEach((function(e){i[e].url&&_a(e,i[e].url,!1),i[e].volume&&Aa(e,i[e].volume),void 0!==i[e].muted&&Oa(e,i[e].muted),i[e].playing&&Ea(e,!0).catch((function(t){return ka('Could not resume playing ambient sound "'.concat(e,'" (').concat(t.message,")"))}))}))}if(o){var a=ln("sound.effect");a&&Object.keys(a).forEach((function(e){a[e].url&&_a(e,a[e].url,!0),a[e].volume&&Aa(e,a[e].volume),void 0!==a[e].muted&&Oa(e,a[e].muted),a[e].playing&&Ea(e,!1).then((function(){return an("sound.effect.".concat(e,".playing"),!1)})).catch((function(t){return ka('Could not resume playing sound effect "'.concat(e,'" (').concat(t.message))}))}))}if(!r&&!o){var s=/^sound\.(ambient|effect)\.(.+?)\.(.+)$/i.exec(t);if(s)switch(s[3].toLowerCase()){case"playing":n?"ambient"===s[1]?Ea(s[2],!0,Ur(ln("".concat(s[2],".transitionDuration"))||ln("sound.transitionDuration")||"0s","ms")):Ea(s[2],!1).then((function(){return an(t,!1)})):"ambient"===s[1]?Ca(s[2],Ur(ln("".concat(s[2],".transitionDuration"))||ln("sound.transitionDuration")||"0s","ms")):Ca(s[2]);break;case"url":_a(s[2],n,"effect"===s[1]);break;case"volume":Aa(s[2],n)}}})),Rt(),Ir&&ln("config.testing")&&Dr(),!ln("config.testing")&&hn()&&gn(),Ft(),Mt()}();
</script></body></html>