Browse Source

initial commit

master
Victor Giers 1 year ago
commit
36f73843b6

+ 2
- 0
README.md View File

@@ -0,0 +1,2 @@
Processing 3 version is just basic text input in command line style
p5.js version has some working commands that make the webbrowser do things, also play animations

+ 747
- 0
p5js/commands.js View File

@@ -0,0 +1,747 @@
var busy = true;
var seqIntro_b = true;
if (location.search.split('intro=')[1] == 'false'){
busy = false;
seqIntro_b = false;
}
var seqDance_b = false;
var seqFire_b = false;
var seqOutside_b = false;
var seqMaria_b = false;
var seqSkip_b = false;
var seqGenome_b = false;
var seqConstructivism_b = false;
var pfc = 0; //save framecount here to get proper delta framecount in sequence
var npfc = 0; //^ again for nesting shit
var minc = 0; //movie increment - how often a console animation is played before it breaks. handled in sequences function

function loadAnimationTexts(){
danceText = loadStrings('console_animations/dance.txt');
fireText = loadStrings('console_animations/fire.txt');
}

function seqConstructivism(){
var cframe = frameCount - pfc;
if (cframe == 1) commandLine.pushLineString("Like me on Facebook!");
if (cframe == 20){
commandLine.pushLineString("");
PopupCenter('https://www.facebook.com/constructivism2.0/', 'Constructivism 2.0', screen.width, screen.height);
busy = false;
seqConstructivism_b = false;
}

}

function seqGenome(){

var cframe = frameCount - pfc;
if (cframe == 1) commandLine.pushLineString("genome");
if (cframe == 10) commandLine.pushLineString("Description:");
if (cframe == 15){
commandLine.pushLineString("/ˈdʒiːnəʊm/");
commandLine.pushLineString("noun - Biology");
commandLine.pushLineString("noun: genome; plural noun: genomes");
}
if (cframe == 25) commandLine.pushLineString("- the haploid set of chromosomes in a gamete or microorganism, or in each cell of a multicellular organism.");
if (cframe == 25) commandLine.pushLineString("- the complete set of genes or genetic material present in a cell or organism.");
if (cframe == 40) commandLine.pushLineString("");
if (cframe == 40) commandLine.pushLineString("This will download the genetic code / genome of one Homo Sapiens (human)");
if (cframe == 40) commandLine.pushLineString("Mirrored from Source, packed as .zip-file: https://www.ncbi.nlm.nih.gov/guide/howto/dwn-genome/");
if (cframe == 40) commandLine.pushLineString("Neither including assembled chromosome sequences nor archived files.");
if (cframe == 40) commandLine.pushLineString("");
if (cframe == 65) commandLine.pushLineString("I recommend finding the right structure for this set of data to implement it");
if (cframe == 65) commandLine.pushLineString("into TensorFlow or similar machine-learning software in order to find out about your species,");
if (cframe == 65) commandLine.pushLineString("to push enlightenment further.");
if (cframe == 65) commandLine.pushLineString("Potentially you will first have to generate more data like this, so this would be only an example.");
if (cframe == 145) commandLine.pushLineString("");
if (cframe == 155) commandLine.pushLineString("Read the included README-file first.");
if (cframe == 155) commandLine.pushLineString("");
if (cframe == 155) commandLine.pushLineString("Starting download in 5...");
if (cframe == 185) commandLine.changeLineString("Starting download in 4...");
if (cframe == 215) commandLine.changeLineString("Starting download in 3...");
if (cframe == 245) commandLine.changeLineString("Starting download in 2...");
if (cframe == 275) commandLine.changeLineString("Starting download in 1...");
if (cframe == 280){
commandLine.changeLineString("Initializing download of the human genome...");
commandLine.pushLineString("");
PopupCenter("ftp://ftp.ncbi.nih.gov/genomes/H_sapiens/", "ftp://ftp.ncbi.nih.gov/genomes/", window.width, window.height);
window.open("https://drive.google.com/a/hbksaar.de/uc?export=download&confirm=LHNV&id=0B6B3OnIFgX8pTktKZ05XdGNFYzg");
busy = false;
seqGenome_b = false;
}
}
function seqIntro(){
var cframe = frameCount - pfc;

if (cframe == 1) commandLine.pushLineString("tests.openface_api_tests.test_pipeline ...");
if (cframe == 2) commandLine.changeLineString("tests.openface_api_tests.test_pipeline ... FAIL");
if (cframe == 3) commandLine.pushLineString("tests.openface_batch_represent_tests.test_batch_represent ...");
if (cframe == 4) commandLine.changeLineString("tests.openface_batch_represent_tests.test_batch_represent ... FAIL");
if (cframe == 5) commandLine.pushLineString("tests.openface_demo_tests.test_compare_demo ...");
if (cframe == 6) commandLine.changeLineString("tests.openface_demo_tests.test_compare_demo ... FAIL");
if (cframe == 7) commandLine.pushLineString("tests.openface_demo_tests.test_classification_demo_pretrained ...");
if (cframe == 8) commandLine.changeLineString("tests.openface_demo_tests.test_classification_demo_pretrained ... FAIL");
if (cframe == 9) commandLine.pushLineString("tests.openface_demo_tests.test_classification_demo_pretrained_multi ...");
if (cframe == 10) commandLine.changeLineString("tests.openface_demo_tests.test_classification_demo_pretrained_multi ... FAIL");
if (cframe == 11) commandLine.pushLineString("tests.openface_demo_tests.test_classification_demo_training ...");
if (cframe == 12) commandLine.changeLineString("tests.openface_demo_tests.test_classification_demo_training ... FAIL");
if (cframe == 13) commandLine.pushLineString("tests.openface_neural_net_training_tests.test_dnn_training ...");
if (cframe == 14) commandLine.changeLineString("tests.openface_neural_net_training_tests.test_dnn_training ... FAIL");
if (cframe == 15) commandLine.pushLineString("tests.openface_neural_net_training_tests.test_dnn_training ...");
if (cframe == 16) { commandLine.pushLineStrings([
" ",
"======================================================================",
"FAIL: tests.openface_api_tests.test_pipeline",
"----------------------------------------------------------------------",
"Traceback (most recent call last):",
" File \"/iris/python2.7/dist-packages/nose/case.py\", line 197, in runTest",
" self.test(*self.arg)",
" File \"/iris/openface/tests/openface_api_tests.py\", line 55, in test_pipeline",
" assert bb.left() == 341",
"AssertionError"
]);
}
if (cframe == 17) { commandLine.pushLineStrings([
" ",
"======================================================================",
"FAIL: tests.openface_batch_represent_tests.test_batch_represent",
"----------------------------------------------------------------------",
"Traceback (most recent call last):",
" File \"/iris/python2.7/dist-packages/nose/case.py\", line 197, in runTest",
" self.test(*self.arg)",
" File \"/iris/openface/tests/openface_batch_represent_tests.py\", line 68, in test_batch_represent",
" assert p.returncode == 0",
"AssertionError:"
]);
}
if (cframe == 18) { commandLine.pushLineStrings([
"-------------------- >> begin captured stdout << ---------------------",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0011.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0002.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0012.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0007.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0009.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0009.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0008.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0008.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0003.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0007.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0008.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0009.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0001.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0004.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0007.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0006.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0010.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0010.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0010.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0011.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0012.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0011.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0005.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0002.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0006.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0003.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0005.jpg ==="
]);
}
if (cframe == 25) { commandLine.pushLineStrings([
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0003.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0005.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0006.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0001.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0002.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0001.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0004.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0004.jpg ===",
" ",
" ",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0001.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0011.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0011.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0010.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0009.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0006.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0002.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0005.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0002.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0007.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0008.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0009.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0001.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0010.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0004.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0004.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0008.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0012.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0010.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0006.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0002.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0006.jpg ==="
]);
}
if (cframe == 30) { commandLine.pushLineStrings([
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0007.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0007.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0005.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0004.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0001.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0012.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0009.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0005.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0003.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0011.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0003.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0008.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0003.jpg ===",
" ",
" ",
" ",
"/iris/torch/install/bin/luajit: /iris/torch/install/share/lua/5.1/trepl/init.lua:389: module 'csvigo' not found:No LuaRocks module found for csvigo",
" no field package.preload['csvigo']",
" no file '/iris/.luarocks/share/lua/5.1/csvigo.lua'",
" no file '/iris/.luarocks/share/lua/5.1/csvigo/init.lua'",
" no file '/iris/torch/install/share/lua/5.1/csvigo.lua'",
" no file '/iris/torch/install/share/lua/5.1/csvigo/init.lua'",
" no file './csvigo.lua'",
" no file '/iris/torch/install/share/luajit-2.1.0-beta1/csvigo.lua'",
" no file '/iris/share/lua/5.1/csvigo.lua'",
" no file '/iris/share/lua/5.1/csvigo/init.lua'",
" no file '/iris/.luarocks/lib/lua/5.1/csvigo.so'",
" no file '/iris/torch/install/lib/lua/5.1/csvigo.so'",
" no file '/iris/torch/install/lib/csvigo.so'",
" no file './csvigo.so'",
" no file '/iris/lua/5.1/csvigo.so'",
" no file '/iris/lua/5.1/loadall.so'",
"stack traceback:",
" [C]: in function 'error'",
" /iris/torch/install/share/lua/5.1/trepl/init.lua:389: in function 'require'",
" ./batch-represent/main.lua:9: in main chunk",
" [C]: in function 'dofile'",
" .../bin/torch/install/lib/luarocks/rocks/trepl/scm-1/bin/th:150: in main chunk",
" [C]: at 0x004065d0",
" ",
" ",
"--------------------- >> end captured stdout << ----------------------"
]);
}
if (cframe == 35) { commandLine.pushLineStrings([
" ",
"======================================================================",
"FAIL: tests.openface_demo_tests.test_compare_demo",
"----------------------------------------------------------------------",
"Traceback (most recent call last):",
" File \"/iris/python2.7/dist-packages/nose/case.py\", line 197, in runTest",
" self.test(*self.arg)",
" File \"/iris/openface/tests/openface_demo_tests.py\", line 38, in test_compare_demo",
" assert \"0.763\" in out",
"AssertionError:",
"-------------------- >> begin captured stdout << ---------------------",
"Comparing /iris/openface/images/examples/lennon-1.jpg with /iris/openface/images/examples/lennon-2.jpg.",
" + Squared l2 distance between representations: 0.782",
" ",
" ",
" ",
"--------------------- >> end captured stdout << ----------------------"
]);
}
if (cframe == 37) { commandLine.pushLineStrings([
" ",
"======================================================================",
"FAIL: tests.openface_demo_tests.test_classification_demo_pretrained",
"----------------------------------------------------------------------",
"Traceback (most recent call last):",
" File \"/iris/python2.7/dist-packages/nose/case.py\", line 197, in runTest",
" self.test(*self.arg)",
" File \"/iris/openface/tests/openface_demo_tests.py\", line 51, in test_classification_demo_pretrained",
" assert \"Predict SteveCarell with 0.97 confidence.\" in out",
"AssertionError:",
"-------------------- >> begin captured stdout << ---------------------",
" ",
"=== /iris/openface/images/examples/carell.jpg ===",
"Predict SteveCarell with 0.99 confidence.",
" ",
"/iris/python2.7/dist-packages/sklearn/lda.py:4: DeprecationWarning: lda.LDA has been moved to discriminant_analysis.LinearDiscriminantAnalysis in 0.17 and will be removed in 0.19",
" \"in 0.17 and will be removed in 0.19\", DeprecationWarning)",
" ",
" ",
"--------------------- >> end captured stdout << ----------------------"
]);
}
if (cframe == 39) { commandLine.pushLineStrings([
" ",
"======================================================================",
"FAIL: tests.openface_demo_tests.test_classification_demo_pretrained_multi",
"----------------------------------------------------------------------",
"Traceback (most recent call last):",
" File \"/iris/python2.7/dist-packages/nose/case.py\", line 197, in runTest",
" self.test(*self.arg)",
" File \"/iris/openface/tests/openface_demo_tests.py\", line 64, in test_classification_demo_pretrained_multi",
" assert \"Predict EvaLongoria @ x=91 with 0.99 confidence.\" in out",
"AssertionError:",
"-------------------- >> begin captured stdout << ---------------------",
" ",
"=== /iris/openface/images/examples/longoria-cooper.jpg ===",
"List of faces in image from left to right",
"Predict EvaLongoria @ x=92 with 0.99 confidence.",
"Predict BradleyCooper @ x=192 with 0.99 confidence.",
" ",
"/iris/python2.7/dist-packages/sklearn/lda.py:4: DeprecationWarning: lda.LDA has been moved to discriminant_analysis.LinearDiscriminantAnalysis in 0.17 and will be removed in 0.19",
" \"in 0.17 and will be removed in 0.19\", DeprecationWarning)",
" ",
" ",
"--------------------- >> end captured stdout << ----------------------"
]);
}
if (cframe == 44) { commandLine.pushLineStrings([
"======================================================================",
"FAIL: tests.openface_demo_tests.test_classification_demo_training",
"----------------------------------------------------------------------",
"Traceback (most recent call last):",
" File \"/iris/python2.7/dist-packages/nose/case.py\", line 197, in runTest",
" self.test(*self.arg)",
" File \"/iris/openface/tests/openface_demo_tests.py\", line 98, in test_classification_demo_training",
" assert p.returncode == 0",
"AssertionError:",
"-------------------- >> begin captured stdout << ---------------------",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0002.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0001.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0008.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0005.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0007.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0004.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0006.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0010.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0008.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0002.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0005.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0007.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0007.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0009.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0012.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0001.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0011.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0003.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0006.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0008.jpg ==="
]);
}
if (cframe == 45) { commandLine.pushLineStrings([
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0003.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0011.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0006.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0010.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0009.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0012.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0010.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0002.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0011.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0001.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0003.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0004.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0009.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0005.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0004.jpg ===",
" ",
" ",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0011.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0001.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0005.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0003.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0010.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0003.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0002.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0004.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0005.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0001.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0009.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0008.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0012.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0002.jpg ==="
]);
}
if (cframe == 46) { commandLine.pushLineStrings([
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0006.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0006.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0004.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0004.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0010.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0003.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0002.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0008.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0010.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0006.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0007.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0007.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0005.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0007.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0009.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0011.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0008.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0011.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0009.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0012.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0001.jpg ===",
" ",
" "
]);
}
if (cframe == 47) { commandLine.pushLineStrings([
"/iris/torch/install/bin/luajit: /iris/torch/install/share/lua/5.1/trepl/init.lua:389: module 'csvigo' not found:No LuaRocks module found for csvigo",
" no field package.preload['csvigo']",
" no file '/iris/.luarocks/share/lua/5.1/csvigo.lua'",
" no file '/iris/.luarocks/share/lua/5.1/csvigo/init.lua'",
" no file '/iris/torch/install/share/lua/5.1/csvigo.lua'",
" no file '/iris/torch/install/share/lua/5.1/csvigo/init.lua'",
" no file './csvigo.lua'",
" no file '/iris/torch/install/share/luajit-2.1.0-beta1/csvigo.lua'",
" no file '/iris/share/lua/5.1/csvigo.lua'",
" no file '/iris/share/lua/5.1/csvigo/init.lua'",
" no file '/iris/.luarocks/lib/lua/5.1/csvigo.so'",
" no file '/iris/torch/install/lib/lua/5.1/csvigo.so'",
" no file '/iris/torch/install/lib/csvigo.so'",
" no file './csvigo.so'",
" no file '/iris/lua/5.1/csvigo.so'",
" no file '/iris/lua/5.1/loadall.so'",
"stack traceback:",
" [C]: in function 'error'",
" /iris/torch/install/share/lua/5.1/trepl/init.lua:389: in function 'require'",
" ./batch-represent/main.lua:9: in main chunk",
" [C]: in function 'dofile'",
" .../bin/torch/install/lib/luarocks/rocks/trepl/scm-1/bin/th:150: in main chunk",
" [C]: at 0x004065d0",
" ",
" ",
"--------------------- >> end captured stdout << ----------------------",
" "
]);
}
if (cframe == 50) { commandLine.pushLineStrings([
"======================================================================",
"FAIL: tests.openface_neural_net_training_tests.test_dnn_training",
"----------------------------------------------------------------------",
"Traceback (most recent call last):",
" File \"/iris/python2.7/dist-packages/nose/case.py\", line 197, in runTest",
" self.test(*self.arg)",
" File \"/iris/openface/tests/openface_neural_net_training_tests.py\", line 76, in test_dnn_training",
" assert p.returncode == 0",
"AssertionError:",
"-------------------- >> begin captured stdout << ---------------------",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0003.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0006.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0009.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0001.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0001.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0004.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0011.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0007.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0011.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0006.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0005.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0003.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0008.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0004.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0011.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0010.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0002.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0007.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0007.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0012.jpg ==="
]);
}
if (cframe == 54) { commandLine.pushLineStrings([
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0005.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0004.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0003.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0010.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0009.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0012.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0010.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0002.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0005.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0008.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0002.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0006.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0001.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0008.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0009.jpg ===",
" ",
" ",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0010.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0001.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0007.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0011.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0005.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0009.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0009.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0005.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0008.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0012.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0001.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0002.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0004.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0004.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0003.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0004.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0003.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0012.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0006.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0011.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0006.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0010.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0008.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0007.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0011.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0009.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0008.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0003.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0002.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0001.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0005.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0007.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0002.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0010.jpg ===",
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0006.jpg ==="
]);
}
if (cframe == 55) { commandLine.pushLineStrings([
" cudnn : false",
" testBatchSize : 800",
" embSize : 128",
" cache : \"/tmp/OpenFaceTrainingTest-Net-8TbarF\"",
" cudnn_bench : false",
" cuda : false",
" modelDef : \"../models/openface/nn4.def.lua\"",
" data : \"/tmp/OpenFaceTrainingTest-Img-t6cTJ7/aligned\"",
" epochSize : 1",
" nDonkeys : -1",
" save : \"/tmp/OpenFaceTrainingTest-Net-8TbarF/1\"",
" nGPU : 1",
" device : 1",
" epochNumber : 1",
" manualSeed : 2",
" testing : false",
" alpha : 0.2",
" nEpochs : 10",
" peoplePerBatch : 3",
" imagesPerPerson : 10",
" lfwDir : \"../data/lfw/aligned\"",
" imgDim : 96",
" retrain : \"none\"",
"}",
]);
}
if (cframe == 70) commandLine.pushLineString("Saving everything to: /tmp/OpenFaceTrainingTest-Net-8TbarF/1");


if (cframe > 80){
commandLine.pushLineString("");
commandLine.pushLineString("Welcome to /)(&§§?=!?°§/&$5).");
commandLine.pushLineString("Type a command to begin with...");
commandLine.pushLineString("Available commands are: [info] [maria] [gerkzeuk] [laserharp] [electronic art] [street] [dance] [t] [genome] [fire] [blog] [constructivism2] and [skip]");
commandLine.pushLineString("");
commandLine.pushLineString("");
busy = false;
seqIntro_b = false;


//commandLine.pushLineString("");
//pfc = frameCount;
//busy = true;
//seqOutside_b = true;
}

}

function printInfo(){
commandLine.pushLineString("This website works similar to a command-line interface.");
commandLine.pushLineString("Available commands are:");
commandLine.pushLineString("");
commandLine.pushLineString("info");
commandLine.pushLineString("Gives the information you are reading right now");
commandLine.pushLineString("");
commandLine.pushLineString("gerkzeuk");
commandLine.pushLineString("Gives information about an automatic artist called \'gerkzeuk\' in a pop-up window");
commandLine.pushLineString("");
commandLine.pushLineString("laserharp");
commandLine.pushLineString("Gives information about an instrumental cage that works with lasers and ultrasonic sensors in a pop-up window");
commandLine.pushLineString("");
commandLine.pushLineString("skip");
commandLine.pushLineString("Closes the command-line and brings you to a website containing further information");
commandLine.pushLineString("");
commandLine.pushLineString("Further commands are available to run interactive and non-interactive animations:");
commandLine.pushLineString("street, dance, t, fire");
commandLine.pushLineString("");
commandLine.pushLineString("And there are more:");
commandLine.pushLineString("electronic art, blog, genome, constructivism2");
commandLine.pushLineString("");
}

//Abusing multicultutral acceptance, shame, guilt, ethno-pluralism and constructivism to elaborate ethics of the new world order... Done
var danceText;
function seqDance(){
var cframe = frameCount - pfc;
if (cframe == 0) commandLine.pushLineString("Analyzing users rational and emotional capabilities...");
if (cframe == 5) commandLine.changeLineString("Analyzing users rational and emotional capabilities... Done");
if (cframe == 8) commandLine.pushLineString("Analyzing users behaviours...");
if (cframe == 10) commandLine.pushLineString("Analyzing users behaviours... Done");
if (cframe == 15) commandLine.changeLineString("Offering practice in paradigm shifting.");
if (cframe == 25) commandLine.pushLineString("Stimulating users ability to see and feel in 5...");
if (cframe == 37) commandLine.changeLineString("Stimulating users ability to see and feel in 4...");
if (cframe == 49) commandLine.changeLineString("Stimulating users ability to see and feel in 3...");
if (cframe == 61) commandLine.changeLineString("Stimulating users ability to see and feel in 2...");
if (cframe == 73) commandLine.changeLineString("Stimulating users ability to see and feel in 1...");
if (cframe == 78) commandLine.pushLineString("");
if (cframe == 85) commandLine.pushLineString("---*---------------")
if (cframe == 87) commandLine.changeLineString("------*------------")
if (cframe == 89) commandLine.changeLineString("---------*---------")
if (cframe == 71) commandLine.changeLineString("-------------*-----")
if (cframe == 73) commandLine.changeLineString("-----------------*-")
if(cframe == 75) npfc = frameCount;
if(cframe > 75){
var dframe = frameCount - npfc;
if (dframe > 0 && dframe < danceText.length/60+1) {
for(var i = 0; i < 60; i++) {
commandLine.pushLineString(danceText[i+((dframe-1)*60)]);
}
}
if (dframe == danceText.length/60+1){
npfc = frameCount;
minc++;
if(minc > 10){
minc = 0;
busy = false;
seqDance_b = false;
}
}
}
}
var fireText;
function seqFire(){
var cframe = frameCount - pfc;
if (cframe == 0) commandLine.pushLineString("Testing users monitor...");
if (cframe == 5) commandLine.changeLineString("Testing users monitor... Done");
if (cframe == 8) commandLine.pushLineString("More than a million lights available.");
if (cframe == 10) commandLine.pushLineString("Analyzing users behaviours...");
if (cframe == 15) commandLine.changeLineString("Analyzing users behaviours... Done.");
if (cframe == 25) commandLine.pushLineString("Stimulating users rational functions with cognitive insight in 5...");
if (cframe == 37) commandLine.changeLineString("Stimulating users rational functions with cognitive insight in 4...");
if (cframe == 49) commandLine.changeLineString("Stimulating users rational functions with cognitive insight in 3...");
if (cframe == 61) commandLine.changeLineString("Stimulating users rational functions with cognitive insight in 2...");
if (cframe == 73) commandLine.changeLineString("Stimulating users rational functions with cognitive insight in 1...");
if (cframe == 85) commandLine.changeLineString("Stimulating users rational functions with cognitive insight.");
if (cframe == 85) commandLine.pushLineString(" ");
if (cframe == 87) commandLine.pushLineString(".");
if (cframe == 100) commandLine.changeLineString("..");
if (cframe == 113) commandLine.changeLineString("...");
if (cframe == 120) commandLine.changeLineString("Cognitive insight not available.");
if (cframe == 139) commandLine.pushLineString("");
if (cframe == 143) commandLine.pushLineString("Keep watching, animation will end eventually.");
if (cframe == 167) commandLine.pushLineString("Initializing fire... *------------------");
if (cframe == 169) commandLine.changeLineString("Initializing fire... ---*---------------")
if (cframe == 173) commandLine.changeLineString("Initializing fire... ------*------------")
if (cframe == 177) commandLine.changeLineString("Initializing fire... ---------*---------")
if (cframe == 181) commandLine.changeLineString("Initializing fire... -------------*-----")
if (cframe == 185) commandLine.changeLineString("Initializing fire... -----------------*-")
if (cframe == 186) npfc = frameCount;
if (cframe > 186) {
var dframe = frameCount - npfc;
if (dframe > 0 && dframe < fireText.length/60+1) {
for(var i = 0; i < 60; i++) {
commandLine.pushLineString(fireText[i+((dframe-1)*60)]);
}
}
if (dframe == fireText.length/60+1){
npfc = frameCount;
minc++;
if(minc > 3){
minc = 0;
busy = false;
seqFire_b = false;
}
}
}
}

function seqOutside(){
var cframe = frameCount - pfc;
if (cframe == 0) commandLine.pushLineString("Preparing user to go outside...");
if (cframe == 10) commandLine.pushLineString("Analyzing users behaviours...");
if (cframe == 15) commandLine.changeLineString("Analyzing users behaviours... Done.");
if (cframe == 18) commandLine.pushLineString("Initiating direct contact to user...");
if (cframe == 23) commandLine.changeLineString("Initiating direct contact to user... Failed.");
if (cframe == 28) commandLine.pushLineString("Loading non-interactive instructions...");
if (cframe == 35) commandLine.pushLineString ("---*---------------")
if (cframe == 37) commandLine.changeLineString("------*------------")
if (cframe == 39) commandLine.changeLineString("---------*---------")
if (cframe == 41) commandLine.changeLineString("-------------*-----")
if (cframe == 43) commandLine.changeLineString("-----------------*-")
if (cframe == 45) commandLine.changeLineString("---------*---------")
if (cframe == 47) commandLine.changeLineString("*------------------")
if (cframe == 55){
commandLine.changeLineString(" ")
commandLine.changeLineString("* How to move:")
commandLine.pushLineString(" - Press W, A, S and D to walk")
commandLine.pushLineString(" - Drag and Drop the mouse to look around")
commandLine.pushLineString(" - Cross the street")
}
if (cframe == 57) commandLine.pushLineString(" ")
if (cframe == 110) commandLine.pushLineString("Assuming user is capable of comprehending and navigating 3D space.");
if (cframe == 120) commandLine.pushLineString("Starting boot sequence in 5...");
if (cframe == 132) commandLine.changeLineString("Starting boot sequence in 4...")
if (cframe == 144) commandLine.changeLineString("Starting boot sequence in 3...")
if (cframe == 156) commandLine.changeLineString("Starting boot sequence in 2...")
if (cframe == 168) commandLine.changeLineString("Starting boot sequence in 1...")
if (cframe == 180){
busy = false;
seqOutside_b = false;
commandLine.pushLineString("")
PopupCenter("http://www.victorgiers.com/street/street.html", 'street', screen.width, screen.height);
}
}
function seqMaria(){
var cframe = frameCount - pfc;
if (cframe == 0) commandLine.pushLineString("Preparing user to meet Maria...");
if (cframe == 10) commandLine.pushLineString("Analyzing users behaviours...");
if (cframe == 15) commandLine.changeLineString("Analyzing users behaviours... Done.");
if (cframe == 18) commandLine.pushLineString("Initiating direct contact to user...");
if (cframe == 23) commandLine.changeLineString("Initiating direct contact to user... Failed.");
if (cframe == 28) commandLine.pushLineString("Loading non-interactive instructions...");
if (cframe == 35) commandLine.pushLineString ("---*---------------")
if (cframe == 37) commandLine.changeLineString("------*------------")
if (cframe == 39) commandLine.changeLineString("---------*---------")
if (cframe == 41) commandLine.changeLineString("-------------*-----")
if (cframe == 43) commandLine.changeLineString("-----------------*-")
if (cframe == 45) commandLine.changeLineString("---------*---------")
if (cframe == 47) commandLine.changeLineString("*------------------")
if (cframe == 55){
commandLine.changeLineString(" ")
commandLine.changeLineString("* How to move:")
commandLine.pushLineString(" - Press W, A, S and D to walk")
commandLine.pushLineString(" - Click anywhere to be able to look around")
commandLine.pushLineString(" - Allow Pop-Up to listen to a beautiful song and watch the video if you want to")
}
if (cframe == 57) commandLine.pushLineString(" ")
if (cframe == 110) commandLine.pushLineString("Assuming user is capable of comprehending and navigating 3D space.");
if (cframe == 120) commandLine.pushLineString("Starting boot sequence in 5...");
if (cframe == 132) commandLine.changeLineString("Starting boot sequence in 4...")
if (cframe == 144) commandLine.changeLineString("Starting boot sequence in 3...")
if (cframe == 156) commandLine.changeLineString("Starting boot sequence in 2...")
if (cframe == 168) commandLine.changeLineString("Starting boot sequence in 1...")
if (cframe == 180){
busy = false;
seqOutside_b = false;
commandLine.pushLineString("")
PopupCenter("http://www.victorgiers.com/Maria/Maria.html", 'Maria', screen.width, screen.height);
}
}

function seqSkip(){
var cframe = frameCount - pfc;
if (cframe == 0) commandLine.pushLineString("Redirecting to some homepage...");
if (cframe == 20){
busy = false;
seqOutside_b = false;
window.location.href = "http://www.victorgiers.com/main.php";
}
}

+ 278
- 0
p5js/console.js View File

@@ -0,0 +1,278 @@
var commandLine;
function setup() {
createCanvas(window.innerWidth,window.innerHeight);
textFont("Courier New");
textSize(14);
frameRate(12);
loadAnimationTexts();
commandLine = new CommandLine();
}

function draw() {
background(0);
stroke(255);
strokeWeight(0);
fill(255);
push();
translate(translateX, translateY);
scale(scaleFactor);
// image(fingers,0,0, gwidth, gheight); // draw the video frame to canvas
pop();
if(busy) runSequence();
commandLine.show();
}

function CommandLine(){
this.userInput = "";
this.presentedLines = Array(60).fill("");

this.getUserInput = function(code,c){
if(!busy){
if (code != 8 && code != 10 && code != 16 && code != 17 && code != 18 && code != 20) {
this.userInput = this.userInput + c.toLowerCase();
}
if (code == 8 && this.userInput.length > 0) { //backspace
this.userInput = this.userInput.substr(0, this.userInput.length-1);
} else if (code == 13) { //enter
this.compareUserInput(this.userInput);
this.userInput = "";
}
}
}
this.pushLineStrings = function(bottomLines){
for(var i = 0; i < bottomLines.length; i ++){
this.presentedLines.splice(0, 0, bottomLines[i]);
}
}
this.pushLineString = function(bottomLine) {
for (var i = this.presentedLines.length-1; i > 0; i--) {
this.presentedLines[i] = this.presentedLines[i-1];
}
this.presentedLines[0] = bottomLine;
}
this.changeLineString = function(bottomLine) {
this.presentedLines[0] = bottomLine;
}
this.getInputLine = function(){
if(!busy){
this.inputString = frameCount % 2 == 0 ? "guest@iris ~ $ " + this.userInput + "_" : "guest@iris ~ $ " + this.userInput;
this.presentedLines[0] = this.inputString;
}
}

this.show = function(){
console.log(this.presentedLines[0]);
this.getInputLine();
for (var i = 0; i < this.presentedLines.length; i++) {
text(this.presentedLines[i], 13, window.innerHeight-150-(i*13));
}
}

this.compareUserInput = function(userin){
userin=userin.trim()
if(this.presentedLines[0].charAt(this.presentedLines[0].length-1) == '_'){
this.presentedLines[0] = this.presentedLines[0].substring (0, this.presentedLines[0].length-1);
}
if (userin === "gerkzeuk"){
this.pushLineString("");
PopupCenter('gerkzeuk/', 'gerkzeuk', 1024, screen.height);
} else if (userin === "info"){
printInfo();
} else if (userin === "laserharp" || userin === "laserharfe"){
this.pushLineString("");
PopupCenter('laser/', 'laserharfe', screen.width, screen.height);
} else if (userin === "dance"){
this.pushLineString("");
pfc = frameCount;
busy = true;
seqDance_b = true;
} else if (userin === "fire"){
this.pushLineString("");
pfc = frameCount;
busy = true;
seqFire_b = true;
} else if (userin === "t"){
window.location.href = "t/index.html"
} else if (userin === "electronic art"){
this.pushLineString("");
PopupCenter("https://www.youtube.com/watch?v=3-zyXnc2Xls", "Walter Giers - Electronic Art", screen.width, screen.height);
} else if (userin === "genome"){
pfc = frameCount;
busy = true;
seqGenome_b = true;
} else if (userin === "blog"){
this.pushLineString("");
PopupCenter('http://giers.wordpress.com/', 'Neugier & Ästhetik', screen.width, screen.height);
} else if (userin === "constructivism2"){
pfc = frameCount;
busy = true;
seqConstructivism_b = true;
} else if (userin === "go outside" || userin === "outside" || userin === "go" || userin === "street"){
this.pushLineString("");
pfc = frameCount;
busy = true;
seqOutside_b = true;
} else if (userin === "maria"){
this.pushLineString("");
pfc = frameCount;
busy = true;
seqMaria_b = true;
} else if (userin === "skip"){
this.pushLineString("");
pfc = frameCount;
busy = true;
seqSkip_b = true;
} else if (userin === ""){
this.pushLineString(this.inputString);
} else {
this.pushLineString("Unavailale or forbidden command.");
this.pushLineString("Available commands are: [info] [maria] [gerkzeuk] [laserharp] [electronic art] [street] [dance] [t] [genome] [fire] [blog] [constructivism2] and [skip]");
this.pushLineString("");
}
}
}

function PopupCenter(url, title, w, h) {
// Fixes dual-screen position Most browsers Firefox
var dualScreenLeft = window.screenLeft != undefined ? window.screenLeft : screen.left;
var dualScreenTop = window.screenTop != undefined ? window.screenTop : screen.top;

var width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width;
var height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height;

var left = ((width / 2) - (w / 2)) + dualScreenLeft;
var top = ((height / 2) - (h / 2)) + dualScreenTop;
var newWindow = window.open(url,title,'scrollbars=yes,width=' + w + ',height=' + h + ',top=' + top + ', left=' + left + ',resizable,scrollbars,toolbar,menubar');

// Puts focus on the newWindow
if (window.focus) {
newWindow.focus();
}
}

function runSequence(){
if(busy){
if (seqIntro_b){
seqIntro();
} else if(seqDance_b){
seqDance();
} else if(seqFire_b){
seqFire();
} else if(seqOutside_b){
seqOutside();
} else if(seqMaria_b){
seqMaria();
} else if(seqSkip_b){
seqSkip();
} else if(seqGenome_b){
seqGenome();
} else if(seqConstructivism_b){
seqConstructivism();
}
}
}

var gwidth = window.innerWidth;
var gheight = window.innerHeight;
var zoomedState = false;
var scaleFactor = 1.0;
var translateX = 0.0;
var translateY = 0.0;

function reset() {
scaleFactor = 1;
translateX = 0.0;
translateY = 0.0;
}

function collisionDetection() {
while (translateX > 0.0) translateX--;
while (translateY*scaleFactor > 0.0) translateY--;
while (translateX+gwidth*scaleFactor < gwidth) translateX++;
while (translateY+gheight*scaleFactor < gheight) translateY++;
}

function zoom(delta) {
translateX -= mouseX;
translateY -= mouseY;
scaleFactor *= delta;
translateX *= delta;
translateY *= delta;
translateX += mouseX;
translateY += mouseY;
collisionDetection();
}

function keyPressed(){
commandLine.getUserInput(keyCode, key);
return false;
}

function mousePressed() {
if (mouseButton == CENTER) {
if (!zoomedState && scaleFactor == 1.0) {
zoom(3);
} else {
reset();
}
zoomedState = !zoomedState;
}
}

function mouseDragged() {
if (zoomedState) {
translateX += (mouseX - pmouseX)/3; //this /3 shit is shit, drag n drop moves too fast, why
translateY += (mouseY - pmouseY)/3;
collisionDetection();
}
}

function mouseWheel(event) {
if(event.deltaY > 0){
zoom(1.0/1.05);
} else if(event.deltaY < 0){
zoom(1.05);
} else {
zoom(1.0);
}
zoomedState = true;
if (scaleFactor <= 1.0 && event.deltaY > 0){
reset();
}
}

//on backspace down + optional callback
function onBackspace(e, callback){
var key;
if(typeof e.keyIdentifier !== "undefined"){
key = e.keyIdentifier;

}else if(typeof e.keyCode !== "undefined"){
key = e.keyCode;
}
if (key === 'U+0008' ||
key === 'Backspace' ||
key === 8) {
if(typeof callback === "function"){
callback();
}
return true;
}
return false;
}

//event listener
window.addEventListener('keydown', function (e) {

switch(e.target.tagName.toLowerCase()){
case "input":
case "textarea":
break;
case "body":
onBackspace(e,function(){
e.preventDefault();
});

break;
}
}, true);

+ 2040
- 0
p5js/console_animations/dance.txt
File diff suppressed because it is too large
View File


+ 3600
- 0
p5js/console_animations/fire.txt
File diff suppressed because it is too large
View File


+ 158
- 0
p5js/index.html View File

@@ -0,0 +1,158 @@
<!DOCTYPE html>
<!--
sssssssssssssssssssssssssssysysssssyyyyyyyyyyyyyyyyyyyhyyyyyyyyyyyyyyyyyyyyyyyssssoosoys+yo/+/+/--.....:++++oosssoosoooooooooooooo+++++++++ooo+++++oooooooo+ooo++/------://::///--o//yoooooooooo++++sssssssoo++++++osssssssooosooosoossoo++oo+++++++++oooooo+++/+++ooooooooooooooooooooo
sssssssssssssssssssssssssyyyyyyyyyyyyyyyysyyssysyyyyyyyyyyyhyyyyyyyysoo+////+ooossssyyhs+yoossso///++////////osss+:--------.....--..................------:+oss+::::::::://::::///++:ys++++++ooooooosssssssoo++ooooosyysssssoossssssssssooooososooooooooosso+++++++ossssssssssssssssssss
sssssssssssssssssssssssssossyyssssyyyyyyyyyyyyysyyyyyyyyyyhhhyyyyyyysssssyyyyyhhyhhhhhhs+yo+yhyyo+++++////::://::------------........................---------::---::::::///+ssyo/++/syyysssssoooo++sssssssssssssssssssssoooooooooossssssssossosssoossssssso+++++++sssssssssssssssssssss
ssssssysssssssssssssssssooosyyssssssyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyssoooooo+++osyyyyyyhyshyoyhyso++++ooooooo+oooooooosssosssssssssssoooooooooooo+ooo+++++///++++++//////////+ooy+/ss+sssosssssssssosssssooossssyyyysssssssoosooooosssssssoooosoooooossssssso+++++++sssssssssssssssssssss
sssssssssssssssssssssssooossyysoooosyyyyyyyyyyyyyyyyyyyyhyyyhhhyyyyso/:::::/++/+yyyyyyhhhsysyyyssooooooosssssssssssssyyyyyyyyyyyyyyysssssssyyysssssssssoosoooooooooo++///+++++os+ssssysooooo+//::-::ssssssssssssssssssssssssssssssssssssooooosoo++oossssssso+++++++sssssssssssssssssssss
ysssssssssssssssssssssoosssyysssysssyyysyyyyyhyyyyyyyyyyyhhhyyyyyyyso/::::://+/+syyyyyssyo/ooo+++++++oosoosssssyyysssyyyyyyyyyyssssssssssossssssssssssssssssssooooooo+++///++ooooo/syyssooo+/::-----ssssssssoosssyysssssyyysssyyyysssssoooooosoooooossssssso+++++++ossssssssssssssssssss
yyssssssssssssssssssssssssyyyyoosyyyysoosssyyyyyyyyyyyyyyyhhyyhyyyyso+::::://+/++ooos+/:oo://+ssyyyyyyyyysyysyssssssssyssssssssossoo+o++o++o+oooooooosoooooossssossssooooooo++///::oos++++++/::::---ssssssssssossyssosyyysssssyyyssoosssosssooooossooossssso+++++++ossssssssssssssssssss
yyyyssysssssssssssssssssssyyyysoooooossosossyyyyyyyyyyyyyyhhsyyyyyyysoooooossssyysyyyyo/oo::+osoysossssssssssysssssssssssssssososo+o+o++o++o+o++oooooooooooooooooooooos+soooooo+/-:ooo+ssooo+++////+ssssssssssoossssoossssssssyssoooooososo++ooosssssoosssso++++//+ossssssssssssssssssss
yyyyysyssssssssssssssssssssssyssoo+++ooooossyyyyyyyyyyyyyyhyyyyyyyyyysssssossossssssyyo+oo//+ossyssssyssysssssssssssssssssosoos+oooooo++o++o+oooooooooooooooooooooosooo+ooooooo//::oooosssosoossossossssssssys++ssssoossssssssysoooooo++++++ssoooosssssosssoo+++//+ossssssssssssssssssss
yyyyyyysssssssysssssssssssssssssso+++++oooossyyyyysssyssyyyysyyyyyyyysyyyyssyssyssyyyys+oo//+osoysssssssyssssssssssssssssssssosossooosoosoososoosoooooooooooooooooossoo+ooosoos+/::oooosssosssssosssssssssssss+ossssssssssssssssooo++++++++osooo+osssssoosssso++///ossssssssssssssssssss
yyyyyyyysyssyyssssssssssssssssssso+//++++oossyyyysssssooyyyysyyyyyyyyssssssyyyysssyyyyo+so//+ossyssssyssyssysysssssssssssssssosossosossosoososoosooooooooooooosssssssos+ooooooo//::+ooosssssssssssssssssssssss++ssssossssssssssooo++++++/+ossooooossssssssssssoo//+sssssssssssssssssssss
yyyyyyyyysyyysssssssssssssssssssss+//+++++oosyyyyyssssooyyyssyyyyyyyysoossosysyysyyyyys+so//+ossysssssssyssysysssssssssssssssssossosossosoososoososooooooooossssssososs+oooooss++::+oossssossosooooosssssssssso+ossoossooosssssoo++++////+ossoo++osssssssssosssso++sssssssssssssssssssss
yyyyyyyyyyyyysssssssssssssossssssss//////+oosyyyyssssso+yyysosyyyyyyysssssssysyysyyyyys+so//+ossyssssyysyssssysysssssssssssssssossossssosoososoososoosooooossssssoosossosooosss++:-oosossssssossoosossssssssss+/osso+ssoosssssoo++///////ooosoo++ossssssssssosssssosssssssssssssssssssss
yyyyyyyyyyyyyyysssssssssssoossssssso/://///osysyyssssso/yyyo+syyyyyyyssssssyysyyyyyyyysoso//+ossyssssyssyysysyssssssssssssssssyossssssssysssssoososossosssssssssssosoosossosssso+::ooosssssssossoosossssssssss/:oss+/soooosssso++//:::::+sossoo++ossssssssssssssssssssssssssssssssssssss
yyyyyyyyyyyyyyyyyyyysssssssossssssss+//////+oysysooooso+syy+/shyyyyyyyyssssyyssyyyyyyysoso//+oysyssysyysyyyysyyyysyyssyssyssssyossssssssyssssssssssossosssssssssssosoososoosoos++/:oossssssssossssssssssssssos/-+ss+/oo+++ososo+/:::/::+oossso+++osssssssssoosssssssssssssssssssssssssss
yyyysyyyyysssyyyyyyysssssssoossssssso/::/::/+ssso++++oy+oys/:ohyssyyyyssyssyysyyyyyyyysoss/+osysyssysyssyssysysyysyysyyyyyssysysysssssysyssyssssssssssososssssssssooossossosoosoo/:oosssssssssssssssssssssooos:-/so++o+//++ooo+/::::::/ooossso+++osssssssssoooosssssssssssssssssssssssss
yyyyssyyysssssyyyyyysssssoooooooo+++/:--:::/ossso+++ooyyss+::+hyssssysyssssyyyyyyyyyyysoos/+ooysyysysyssysyysyyyyyyyyyyyyysyysysssssssssyssysssssssssssssssssssssssssssossossosoo/:oosssssssssssssssssssooooos:-:oo+oo+////+oo+/:-:--:/oooosso+++ossssssssssoooossssoossysssssssssssssss
yyyyssyyyssossyyyyyysysssoosso++/////:::::://////+++osyyyo:--+hssssssssssssyyyyyyyyyyyyoos/+oossyyyysysyyyyyyyyyyyyyyyyyyyyyyyysyssyssysyssyssssssssssssssssssssssossosossossssoo/:oosssssssssssoooosssooooooo-.-:ssso+////+++//:------:::///+++++sssssssssso+ooosssoosssyysssssssssssss
yyyyysyyssooossyyyyyyyssso+oosssosoo:--/://++++++++++oyyy+---/hsooossssssssyyyyyyyyyyysoos++osysyysyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysyssyyyssysssssssssssssyssssssssosssssssoo/:+osssssssssssoosooooooo++oo-..-ssso+//:/::::::------/////++++++osssssssssooooosssossyyyyyysssssssssss
yyyyyyyyssoooosyyyyyysssso++oossssoo-.-----::+++///:::+os+---/ysoooosssssysyyyyyyyyyyyssos++osysyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysysyyssssssssosssssssoo//+osssssssssssossosooooo++oo-..-sss+/:::////:----...-oooosso+/:+osssssssssoooooossosyyyyyyyysyssssssss
yyyyyyyyysoooosyyyyyyyssso/+oossssoo-......-::/::-----/+s+.-./ysooooossssssyyyyyyyyyyyysosoossyyhyyyyyyyhyyyyhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysyssyssssssssoo++osyssssssssssosoosoo+++/+oo-...o++:------:/--......-ooooss+/::+oossssssssoooooosssyyyyyyyyyyyyyyyyyys
yyyyyyyyysso++syyyyyyssss+/+oossssso-..-..---:/-------/+s+..-:ys++o+oosssssyyyyyyyyyhyyssyoossyyhyyyyyyyhyyhyyyyyyyyyhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysyssysyyssssssoo+osssyssssssssssoooo++++//oo-...oo+:------::--.......ooooss+/::/oossssssssooooossssyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyssoosyyyyyssssso/++ossssss:.:+--...-:-------/+s+...:yo/++++ossyyyyyyyyyyhyhyyssyssssyyyyyyyyyyhyyhyhyyhyhhyhhhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysysyssssyssso+osssyssssssssooooo+++/+//+o-...ooo-------::-.--.--..ssssss+/::/oooossssssoooossssyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyoosyyyysosssso//+ossssso:.-+:/-...:-....../os+...:ys/++++ooosssyyyyyyyyyyyyysyssyyhyhyyyyhyyhyyhyhyhhyhhyhyhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysysssssysso+ossyyysssssssoo++o+///+//oo-..-oso-....--:-...--::.-ssssss//:-/ooooossyyssssosssyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyssyyyysssssso//++ssssss:.-+::/:-:/-....../ss+.../hs/++/+oossssyyyyyyhhyyhyyyysyyhhyhyyhhhhhhhhhyhhhhhhhyhhyyyyyyyyyyyyyyyyyyysyssssyyyyyyyyyyyyyyyyyyyyyyysyysyyyyyssososyyysssssosoo++o+////:/+s-...oso-....--::..::-::.-ssssso/::-/sooooosyyssssssssyyyyyyyyyyyyyyyyyyyyy
yyyyyyyssssssyyyyyssssyyso+++osyssss:..--:::--::--..../sso-../hs///++osssssyyyyyyhhhhhyyyysyhyyyhyyhyhhhhhhhyhhhhhhhhhyyyyyyyyysssssssssssssssssssssssssyyyyyyyyyyyyyyysyysyyyyyso+o+syyssysssssoo++o+//////+s-..-ooo-.....-::::/:::-.-ssssso//::+ssoooosyyssssssssyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyoossssyyyssssyyyss++oosyssss:......---/:-...../sso---/hs+++oossssssyyyyyyhhhhhyosysyhyhyhhyhhhhhhhhhhhhhhhhhyhyyyyyssssooooooooooooooooooooooossssssyyyyyyyyyyysyyyyyyyyso+o+oyyyyysssssooooo+++/+//+s-..-ooo-.....-:::---....-ssssyo+/::+syssooosssossssssyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyoossssyyyssyyyyyysooossysyys/--::----:/:---.--+yso---/hyoooossyyyyyyyyhhyhhhhhysysyhhhhyhhhhhhhhhhhhhhhhhhhyyyyysssoooo++++++///////////++++++ooooosssssyyyyyyyyyyyyyyyyysooo+syyyysssssssooooo+o+++os-..-oso:.....-:/:----...-sssyys+//:+yyyyssosssosssoosyyyyyyyyyyyyyyyyyyyyy
yyyyyyyysossssyyyyyyyyyyysoosssooo++/::///:--/+//:::::oyys--:+hysssssyyyyyyyyyyyyyhyyhyhyyhhdhdddhhhhhhhhhhhyhhhhyysssooo++///::::--.............---::::/++oosssssssysysyyyyyyyyhhsosssssssssssssssssooooooooy:-.-sss/------:/:-------:sssssso+//oyyyyyysssossssoosyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyssysyyyyyyyyyyyhyyyhhhhyyyyoo++++ooooo++oo+++ooo+///+oosssyyyyhhhhhhhhhyyyhhhyhhyhhdddddhhhhhhhhhyhyhyyysssoo++/:-...........................`....-:/++ooooossosssyyyyhhhs+sssyssoosysssssssooo+++++o::-:sys+/:::::///:::/++++ooooossssssssssyyyysossssooyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyhhhhyyyyssyyyyyyy+::--::/+sssooo+oss+shyssssyyyyyhyhhhhhhhhhhssyhhhhhhhhddddhhhhhhhhhhhhyyyyssoo+/-..`......``........................`.....-:/+ooosssssssyyhhhysysyyyo++oyyyyyyyyyyyyyysooooooo++++/+osssyyhhhhhyyyyyyyyyyyyyyyyyyyyyyssssssssyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyhhhhhyyyyyyyyyyyyyyyyysyyyyyyo::::://+yss++++oso+shysooshhyhyyyyyhhhhyhhyyyhhhhddhhhddhhhhhhyyyyyyyyssso+:-....``.``````````.....................```..``.....-:+ossosoosshyysyhhyyysosyyyyyyyyyyyyyyys//+oyyo+so++/ossyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyhhyyyyyyyyyyyyyyyyyysysyyyyyyyo//:///+syyyooossso+yhhysshhyyyyyyyyyyyyyhhhhhdddddhhhhdhyyhhhhhhhhhyyyyo/......```..............................```.``.......``...-+sssyyyyyyysyhhhyhhyyyyyyyyyyyyyyyyyhy+osyyo/ooo+oooosyyyyyyyyyyyyyyyyyyyyyyyyyyyyysyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyhhhyyyyhyyyoosyyyyyyssyyyyyyyys+////++oyyyssyyyysoyhhhsshhyyhhhhhhhhhhhhhhhddhhhhhhhhhyyhhhhhhhhhyyyo:..`..........................................................-/osyyyyyysyhhhhyhhyhhyhhhhhyyyyhyyhhooyyys+ossssoosyssyyyyyyyyyyyyyyhyyyyyyyyyyyysyyyyyyyyyyyyyyyyyyyyyyyyyhhh
hhhhhhhhhyyyyyhyyysssyyyyssssyyyyyyyyo++++ossyhyssyyyhhyhhhhyshhhhhhhhhhhhhhhhhhhddhhdhhhhhdhhhhhhhhhhyys:..................................................................:osyyysoyhyyyyyyyyyyyyyyhyyyyhhhhhooyyyssyyyyosyyyyyyyyyyyyyyyhyhhhhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhhhh
hhhhhhhhhhyyyhhyyyyssssyyysyyyyyyyyyyoooooossyhyyyyyhhhhhhhysyhhhhhhhhhhhhhhhhhhhhhhhdhhhhhdhhhhdhhhhyo:..`...................................................................-+yysoyyyyyyhyyyyyyyyyyyyyyyhyhhooyyyyyhyyysyyyyyyyyyyyyyyyhhhhhhhyyyhhhhhhhyyysyyyyyyyyyyyyyyyyyyyhhhhhhh
hhhhhhhhhhhyhhhyyyyyysssyysyyyyyyyhyyooooossshhysyyyhhhhhhhhyyhhhhhhhhhhhhhhhhhhhhdhhddddhhhhhhhhhhys:..........................................................................:osoyyyyyyhhyyyyhhyyhyyyyhhhyhsoyyyyyhhysyyyyyyyyo+//++oyyhhhhhhyyhhhhhhhhhyyysyyyyyyyyyyyyyyhhhhhhhhhhh
hhhhhhhhhhhhhyhyyyyyyyyyyyyyyyhhyhyyyooossssshhysssyyyhhhhhyyhdhhhhhhhhhhhhhhhhhhhdhhddhhhhhhhhhhhy:...........................................................................`../+yyhyhhhhyyyyhhhyhyyhhhhhyhsoyhyyyhhyyhyyyyyy+/:/++++oyhhhhhhhhhhhhhhhhhyyyssyyyyhhhhhhhhhhhhhhhhhhhh
hhhhhhhhhhhhhyhhhyyyhyyysyhyyyhhhhhyhyssssssshhyysyyyyhhhhhhyyhhhhhhhhhhhhhhdhhhhdddddhdhhhhhhhhhs-.............................................................................`..:syhhhhhyyyyyhhhhhhhhhhhhyhsoyhyyyhhyyhyyyhhs+//++///++yhhhhhyhhhhhhhhhhyyyyssyyyhhhhhhhhhhhhhhhhhhhh
hhhhhhhhhhhhyhhhhhhhhhhyyyhhhhhhhhhhhyysssssyhhhyyyyyhhyhhdhyhhhhhhhhhhhhhhhhhhhhddhhdddhhhdhhhh+..`................................................................................-ohyhhhhyhhhhhhhhhhhhhhhyhsoyhhyyhhyyhyyyyhso+/+///+++oyhhhhhhhhhhhhhhhhyyyyyyyhhhhhhhhhhhhhhhhhhhhh
hhhhhhhhhhhhhhhhhhhhhhhhyyhyyyyyyyyyyyyyyyyyyhhhhhyhhhhhhhdhyydhhdhhhhhhhhhhhhddhddhddddhhhhhhho...........................----......................................................-yyyyyhhhhhhhhhhhhhhhhhhhsoyhyyyhhyyhhhhhhyso++///++ooshhhhhhhhhhhhhhhhyyyyyyyhhhhhhhhhhhhhhhhhhhhh
hhhhhhhhhhhhhhhhhhhhhhhhhyhhhhhhhhhhhyyyhhhhhhhhhhhhhhhhhhdhyyddhddddhhhhhhhhhddhddhddhhdhyhhhs...................--------------....................................................../yyhyhhhhyhhhhhhhhhhhhhhsoyhyyyhhhyhhhhhhhyso+//+++++osooo++++++syhhhhhyyhhyyyhhhhhhhhhhhhhhhhhhhh
hhhhhhhhhhhhhhhhhhhhhhhhhyhhhhhhhhhhhssssssyhhhhhhhhhdhhddhhyhdddddddddddhdddhddhddhddhhdhyhhs-...............---------------..........................................................+yhhhhhhyhhhhhhhhhhhhhhyoyhhhhhhhhhhhhhhyoo+//////////:::::::::/+shhhhhhhhhyhhhhhhhhhhhhhhhhhhhhh
hhhhhhdhhhhhhhhhhhhhhhhhhyhhhhhhhhhhyssssssyyhhhhhhhhhhhddhyyhddddddddddhhdddhddhddddddddhyyy:.............------------------..................................-----...................-shhhhhhhhhhhhhhhhhhhhhyosyhhhhhhhhhhhhhso++///////::::::::::::///yhhhhhyyhyhhhhhhhhhhhhhhhhhhhhh
hhhhhhdddhhhhhhhhhhhhhhhhhhhhhhhhhhhssssssyyhhhhhhhhhhddddyyyhdddddddddddddddhddddddddddhysy/...........--------------------.................................-------------..............:yhhhhhhhhhhhhhhhhhhhhsooshhhhhhhhhhhhyo+++//////////::::::::////ohhhhhhhhyhyhhhhhhhhhhhhhhhhhhh
hhhdhhdddhhhhhhhhhhhhhhhhhhhhhhhhhhysssssyyhhdhhhhhhhhddddhyyhddddddddddddddddddddddddddhyso.........-----------------------.................................--------------.....---.---.-shhhhhhhhhhhhhhhhhhhhyooshhhhhhhhhddhso++////+/////////:::://///ohhhyyyhhhhyhhhhhhhhhhhhhhhhhhh
ddddhdddddhhhhhhhhhhhhhhhhhhhhhhhhhysssssyyhhhhhhhhhhhddddhyyhdddddddddddddddddddddddddddys+....----------------------------..................................---------------------------/hhhhhhhhhhhhhhhhhhhhysssddhhhhhhhddyo+++//+++++++++////::://///ohhhyhhhhhhhhhhhhhhhhhhhhhhhhhh
ddddddddddddhhhhhhhhhhhhhhhhhhhhhyysssyyyyyhhhhhhhhhhhddddhyyhdddddddddddddddddddddddddddhs/..------------------------------....................................------------...-----------yhhhhhhhhhhhhhhhhhhhysssdddhhhhhhhhs+++//+ooooooo++++++/:://///shhhhyhhhhhhhhhhhhhhhhhhhhhhhhh
ddddddhhddddddhhhhhhhhdhhhhhddhhysssssyyyyhhhhhhhhhhhhdhddhhhhdddddddddddddddddddddddddddho-----------------------------------..................................-----------......---------ohhhhhhhhhhhhhhhddhhyssyddhhhhhhhhho+++//+sssyssssssooo+//////+hhhyyhhhhhhhhhdhhhhhhhhhhhhhhhh
ddddddddhhhdddhhhhhhhdddhhhdddhyyyyyyyyyyyhhhddhhhhhhhhhddhhhhdddddddddddddddddddddddddddy+-----------------------------------..................................-------------......-------+hhhhhhhhhhhhhhhddhhyssydhhhhhhhhdhoo+++/+ssyyyyyyyyyyyyso++ooyhyyhhhhhyyhhhdddddddddddddhhhhh
ddddddddddhhddddhhhhhhdddhhddhhhhyyhhhhhhhhhhddhdddddddhddhhhddddddddddddddddddddddddddddy/-----------------------------------...................................-------------...---------/yhhhhhhhhhhhdddddhdhyyyhhhhdhhdddhsoo++/+ssyyhhhhhhhhhhhhhhyyyyyyhhhyhhhddddddddddddddddddddd
dddddddddhhdddhhddhhhhhhhhhdhhhhhhhddddhhhhhhddhddddddddddhhhdddddddddddddddddddddddddddhy:---------------------------------.......................................--............----------yhhhhhhhhhdhdddddddhhyhhhhhhhhdddhsooo+/osyyyyhhyyyyhhhhhyyyyyhyyyhhhhhhhdddddddddddddddddddd
ddddddddhhhhddddhhhddhhhhhyhyhhyyyyhdddhhhhhhddhdddddhddddhhhdhddddddddddddddddddddddddhhs:-----------------------------.-........................................................---------ohhhhhhhdhdddddddhhhyyhhdhhhhhhddhssoo++osyhhhhhhhhsyyyyyyyhhhyyhhhhhhhhddddddddddddddddddddd
dddddddddhhhhhdddddhhhhhhhhhhyhhyyyhddddhhhhhddhddddddhhdddddddhhdddddddddddddddddddddddhs----::---------..........----............................................................--------/hhhhhhhdddddddhhhhhhhhhhhhhhdhdddyysssosyyhhhyyhhhyyyssyyhyyhhddhhhhhhhddddddddddddddddddddd
ddddddddhhhhhdddddddddhhhhhhyyhhhyhhddddhhhhhhhyhddddddhhdhhhddddhddddddddddddddddddddddh+----::-------...........---................................................--.............-------:yhhhhhdddddddhyhhhhhhhhhhhddhhdddhhhhoyhhhdhhhhhhhyyyyyyyhhdddddhhhhhhhddddddddddddddddddddd
ddddddddhhhhddddddddddddddddhdhhhhhddddhhhyyyyssyhdddddhhhhdhddddhhhdddddddddddddddddddhh+----::-----............-----------..................................------------..........-------:yhddddddddhhyyyhddhhddhhhhddddhhhhyyyoyhhhdhhhhhhhhhhhhhdddddddhhhhhhhhddddddddddddddddddddd
ddddddddhhhhdhdddddddddddhhdyhhyyhhhhddddhhhhhhhhhddddhhddddddddhhhhhhhddddddddddddddddhh+----::-----.........--------------------.....................------------::::::-------.....------/hdddddddhhyyyyhhhdhhhddddhdddhhhhhhhhhdddhdhhhhhhhyhyyhhddddddddhhhhhhhddddddddddddddddddddd
ddddddddhhhhhdddddddddddhhhhyhhhhyyhhdddddhhhhhhhhddddddhhhdddddhhyyyhhhhhhdddddddddhdhhyo::-::-----.....-----::::::///:::::::::------................---::::////+////////////::--....-----/hhhhhhhyyyyssssyhddhhhhhdddddhhhhhhdddddddhhhyyhhyossyyhhhhdddddhhhhhhhddddddddddddddddddddd
ddddddddhhhhhddddddddddhhhhhyhhyyyyyhdddddddddddhhdddddhhhdddddhhyyyyyhhhhhddddddddddddyss---::----...---:::://////+++oooooo+++///::---............----://+++oosooooooooo+++///::::-..-----/hhhhhhyyyyssssshhdddhhhhhddddhhddddddddddddhhhhyyhsyyyyyhhhhddddhhhhhhhddddddddddddddddddddd
ddddddddhhhdddddddddddddddhhyyhhhhhhddddddddddddhhddddddhhdddhhyyyyyyyyyyhhhhhhhhddddddyss::-::----..-:::://++++oooosssssyyyyysoo+//:---..........---:/+ooossyyyyyysso+//:::---------------/yyyyyyyyssssssssyhhddhhhhhhhdhhddddhhhhddddhhddhhhhhhhhhhhhddhhhhhhhhhdddddddddddddddddddddd
ddddddddddddddddddddddddddhssyhdddddddddddddddddhdddmdhhhddmhyhhyhhhhhhhhhdddhhdddddddddhs:::::------------:::::://++osyyyyyhhyyyso+/:--..........--::/oossyyyyysssoo++///::::-------------/hhhhhhhhhyyyyyyyyyyhddhhhddddddddddhhhhhddddddddddhhdhdddhhhhdhhhhhhhhdddddddddddddddddddddd
dddddddddddddddddddddddddhsooohdddddddddddddddddhdddddhhhdddhdddhdddddddddddddddddddddddds::::-----:--:::::::://++oooosssssyyyyhyyso+/:--.........--:/+ossyhhhhhhyyysooooo++////:::::------+dddddddddddddddddddhdddhhdddddddddddddhhdddddddddhhhhhdddddhhdhddhhhdddddddddddddddddddddddd
mmmmdddddddddmdmdddddddddho+/+ydddddddddddddddddhdddddhyyhddddddddddddddddddddmdddmddddddy::::-----:::///++++oooo++///+oosyyyysyyhys+/:--.........--:/+sssssyyso+///:////+++oosoo+//::-----+ddddddddddddddddddddddhhhdddddddddhdhddhdddddddddhhhhhddddddddhhdddddddddddddddddddddddddddd
mmmmmmmdddmmmddddddddddddh+::/sdddddddddddddddddddddmdhyyhdddhdddddddddddddddddddmmddddddy::::----:://+osssoo+++//::::::::/++oso+oyyo/:--.........--:/+o++o++//:::::://////+++ossso+/:-----/ddddddddddddddddddddddhhdddddddddddddddddddddddddhhhhhdddddddddhhdddddddddddddddddddddddmmmm
mmmmmdddmmmmdddddddddddddh/:::oddddddhhhhhyhhhhdddhdddsosydddhddhddddddddddddmdddddddddddy::::----:/+osyyysooo++/+///////:::---://:/+/:--....``...---:/:::---::////+++oosssssyssyyyo+:-----/hdddddddddddddddddddddhhhddddhdddddddddddddddddddhhhhhdddddddddddddddddddddddddddddmmmmddmmm
mmmmddmmmmdddddddddddddddh/---odddddhhhhhhhhddhhhhhddds+osdddhddhddddddddddddddddddddddddy::::----::/+oyhdhyhhyyyyyyysssso++//:---::::--............---:-:://++++osyyhdhdddhdhhys+/:::------/+shdddddddddddddddddhhhhdmddhhhhhhhdddddddddddddhhhhhddddddddddddddddddddddmmdddmmmmmmmmmmm
mmmmddmmmddhhhdddmddmmmddh/---odddddhhhhhhhdhhhhhhddddo/+sddhyhdhdddddddddddddddddddddhs++-::------:::://+yhhdhdhhhhdhhyso++/::----.............`.......----::://++ossysooyyyso//:---------....:yddddddddddddddddhhhddmdddhhhhhhhddddddddddddhhhhddddddddddddddddddddddddmmmmmmmmmmmmmmm
mmmmdhmmddhhhhdddmmdmddddh/-..+dddddddhhhdhhddddddddmdso+sdmhyhdhddddddddddddmmdddddds-....-----------::::/+ooosoo+o++//::---...................`..............--:://///+///+/::--------.--...-::sdddddddddddddddddddmmdddddddhhhhdddddddddddhhhdhddddddddddddddddddddmmmmmmmmmmmmmmmmmm
mmmmdhdmdhhhhhdmmmmmmddddh:.../hdddddddddddddddddddddhsoohdmdyhdhddddddddddddddddddds:/-....--------------:::::/:/::::----.......................................--------:-------------..----::-:+hdddddddmddddddddddddddddddddddddddddddddddhhhdhddddddddddddhhddddddmmmmmmmmmmmmmmmmmm
mmmmmdmmdhhyyhddmmmdmddddh:.../ydddddddddhddhhhdddmmmh+++sddysydhddddddddddddddddddd+:-::------------------------------...............................................-----------------...-::+/-.:ydddddddddddddddddmmmmdddddhhhhhhdddddddddddhhdhdddddmdddddhdddddddmmmmmmmmmmmmmmmmmmm
mmmmmdmmdhhyyyddmmmmmddddh:.../yhhdddddddhyyhhhhhddddy/::oddy+sdhddddddddddddddddddy:..:++:::---------------------..........`..............................................---------------:////:-:hddddddddddddddhdddmmddddhhhhyyyhdddddddmddddddhddmdmmdmdddddddddddmmmmmmmmmmmmmmmmmmm
mmmmmmmmmdhhhhdmmmmmmdddos:.../yhhdddddddhyyyhhhhhhddy---+dds/odyhhddddddddddddddddy:--///+/::------------------...............``...................`........................--------------/s+::/oddddddddmddddddhhdddmdddhhhhhyyyhdddddddmmdhhhhdddmmmmmmddddddddddmmmmmmmmmmmmmmmmmmmm
mmmmmmmmmddhhddmmmmmmddo-s-...:yyhhdddddhssyyhhhhhhddy-../hdo-ohyhhddddddddddddddddds+:::+o+::-----------------..............................................................--------------:/so//yddddddddmddddddhhddmmdddhhhhhhhhdddddddmmmddhhhddddmmmmmmdddddddddmmmmmmmmmmmmmmmmmmmm
mmmmmmmddmdhhddmmmmmdd+--s:+o--:-+syyyyyyys+hhhhhhhhds-../hdo-ohyhhdddddddddddddddddh+/+s+:::::------------------...............................``........................----------------://+o/:hddddddddmddddddhhddmmdddhhhhhddddddddddddmddhhhhdddmmmmmmddddddddmmmmmmmmmmmmmmmmmmmmm
mmmmmmmmddmddddmmmmmd+:-:o:sy//:...+sssyyys/yhhhhhhhds-../hdo:ohhddddddddddddddddddddo/+o+/+::/:-------------------.....................................................------------------:++//::yddddddddmddddddhdddmmddhhhhhhddddddddddddmdddhhhddddmmmmmddddddddmmmmmmmmmmmmmmmmmmmmm
mmmmmmmdhddmddmmmmmdo::::s:ss::+-:/osssssss/yhhhhhhhdy:.-+dds+odhdddddddddddddddddddh/:://+o////::--------------------------...........`....................------------------------------:::-:::yddddddddddddddddhddmmddhhhhhhddddddddddddmddddhddddddmmmmddddddddmmmmmmmmmmmmmmmmmmmmm
mmmmmmmdhhhdmddmmmdo///+yh:-:-:ssyyyyyyyyys+yhhhhhhddy:--+ddyosdhdddddddddddddddddddd+::--:////+/::-------------------------------.......--......----.....---------------------------------...-:+ddddddddddmdddddhhhdmmdddhhhhhddddddddddmmmdddhhdmdddddmmmddddddddmmmmmmmmmmmmmmmmmmmmm
mmmmmmmmhhhhdmddmdy++oyhdh:...:shhhhhhhhhddoyhhhhhhddy:::+hdyoshhhdddddddddddddddddddy/:-...-//++/::::-----------------------------...--://:-----:/+/:------------------------------------:..-:/hdddddddddddddddhhhhddmdddhhhhhdddddddmmmmmmddhhhdmmmddddmmdddddhdmmmmmmmmmmmmmmmmmmmmmm
mmmmmmmmhyhhhdmddhssyddddh:...:shhdddddhhhhsyhhhhhhddh/::+hdhssdddddhhhhhdhhhdhdddddhhs::-..-:/+o+/:::::::-------------------------::/oyyyyysoo+osyyhyo/::--------------------------------:-.-:yddddddddddddddddhyhdddmdddhhhyhdddddddmmmmmmddhhddmmmmmdddmdddddhdmmmmmmmmmmmmmmmmmmmmmm
mmmmmmmmdhhdhdmmhhhdmddddh:...:shdddddhhhhhsyhyhhhhddh/:/ohdhyydhdddhhhhhhhhhhhhdddhhyy+:-..-::/o++//:::::::-----------------------/syhyssssddhhhsosyhhs+:---------------------::::-------:---+hhdddddddddddddddhydddmmddhhhyyydddddddmmmmmmdddhddmmmmmmmmmdmdddddmmmmmmmmmmmmmmmmmmmmmm
mmmmmmmmmdddhhdmdmmmmmdddh:...:sdddddddhhhdsyyyhhhhhdd+//ohddhddhdddhhhhhhhhhhhhhhhhhhhy+----://++++//:::::::::--------------------:/ooo+//+yyhys+///++/::-------------------::::::::----::::/yhhhhhhdddddddddmdhyhddmmddhhhyyyhdddddmmmmmmmddhhddmmmmmmmmmdddmddmmmmmmmmmmmmmmmmmmmmmmm
mmmmmmmmmmmmdddmddddhhhyyh/---/ydddmmddddddsyyhyhhhdddo++shdddddhhhdyhhyhhhyhhhhdhdhysyyo/::::///+++/////::::::::-----------------------::::://::::-----------------------::::::::::::---/++oydddddddddddddddmmdhyhddmmddhhyyyyddddddmmmmmmmdddddddddddddmmddmmmmmmmmmmmmmmmmmmmmmmmmmmm
mmmmmmmmmdddhhdmdmmmmddhhh+:::+dhhdhhhhhhhhoyhhyyhhdmdssosyhddmdhhddyhhhhhhyhhhhdhdhyyyyyys+++o+//+++//////:::::::::------------..........------..-.......--------------:::::::::::::---:shddddddddddddddddddmmdyshddmmddhhyyhhdmmmdddmmmmmmmdddmdmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
mmmmmmmmdhhhhhdmdmmmmmmdddo/::odhhhhyyyyyys+syyyyhhdddyyyyyhddddhhddhhhhhhhyhhhhhddhyyhyyyyhmdys///++///////::::::::::----------...........................-----------:::::::::::::::---/mmddddddddddddddddddmmdyshddddddhyyyyyhdddddddddmmmmdddddmmmmmmmmmmdddmmmmmmmmmmmmmmmmmmmmmmmmm
mmmmmmmmhsshhhmmmhhdmmddddo///sdhhhyyyyyyys+syyyyyhddmhyyhyhddddhhdhyhhhhhhyhhhhdhdhysyysyysydmds////////////:::::::::-----------.........................------------::::::::::::::---:shhhdddddddddddddddmdmmdyshddmdddyyyysshdddmddddmmmmmdddddmmmmmdddmmmddmdmmmmmmmmmmmmmmmmmmmmmmm
mmmmmmmms+shhmmmmdyyhdmddds+ooyhhhhhyyyyyysoyyyyyyhhdmdhhhyyhdddhhddhhhyhhhyhhyhhhdhhyyysssssysys+///////////:::::::::-------------....-----......-------------------::::::::::::::----/hhhhhhdhdddddddddddddddhyshhdmdhdyyssssydddmmmmmmmmmddddddmmmddhdmmmmmdmmmmmmmmmmmmmmmmmmmmmmmmm
mmmmmmmdsoyhdmmmmmhyyyhddmyossyydddddhdhhysyyyyyyyhhdmmhhhyyhdddhhddyhhyhhyyhhhhhhdhhyyysssosyosos+/////////::::::::::--------------:://////:---::///////::--------:::::::::::::::----:ohhhhhhhhhhhdhddddddddddhsohhdmdhdyyssssssydmmmmmmmmmddhhhdmmddhdmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
mmmmmmmmhhhmmmhmmmmhyyyhddysyyyydhddddhddyssyyyyyyhhdmmhhhyyhdddhdddyhhyhhhyhhyhhhdyysyysssossoso+o////////:::::::::::::::::::::://++oooooo+++///++++oooooo+++///:::::::::::::::::----+hhhhhdhddddddhhddddddhddhsohhdmdddhyssssoooymmmmmmmmmddhhhddddhdmmmmmmmmmmmmmmmmmmmmmNNNNNNNNNNmm
Nmmmmmmmddmmdyymmmmmhyyyhdhyyyyydhddhhhhdyssssyyyyhhdmmddhsyhdddhhhhyhhyhhhyyhhhhhhhysyysssosysso+/+//////:::::::::::::::://+osssoooo+////++ooo++++/////++oossoo+//:::::::::::::::---/yhhhhddhhdddddhdddhdddhdddsohdmmdddyyssssoooydmmmmmmmmdhhhhdddddmmmmmmmmmmmmmmmmmmmmNNNNNNNNNNmmmm
NNNNNNmddmmmysymmmmmmdhhhdhyyyhshhdddhdddysssyyyyyhdmmmmdhyhhhhhhdddhhhhhhyyyhhhhhhyysyysssossoso+//++////::::::::::--:::://+///:--........................---::::::::::::::::::::::/shhhhhhhhhhddhdhhddddddhddhhshdmmdddhyyssssooydmmmmmmmmdhhhhddddmmmmmmmmmmmmmmmmNNNNNNNNNNNNNNNNmmm
NNNNNmmmmmmhhyhmmmmmmmdhhdhyyyhshhdddddddhyyyyhyhyhhhhhhddhhhhhhhhddyhhyhhyyhhhhhhhyysyssssossoso+://o++////::::::-----:::::::::::::-------...-....-----:::::::::::::::--::::::::::/syhhhhhhhhhdddhhyhhdddddhddhhhhddhhyyyyyyyysssydmmmmmmmmdhhhhdddmmmmmmmmmmmmmmmmmNNNNNNNNNNNNNNNmmmm
NNNNNmmmmmhhyshmmmmmmmmdhhhhhhhhhhhhhddddhyyyyyyyhhhhdddmhhhhhhhhdddyhhyhhyyhhyhhhhyysyssssossoso+++++so++///::::::--------::::::////////:::--:---::://////:::::::::::----::::::::/syyyhhhhhhhhhdhhdhhhdddddhddhyyhddddyyyyssssssshmmmmmmmmmdhhhdddmmmNNNNNmdmmmmmmmmNNNNNNNNNNNNNNNmmmm
NNNNNmmNmdyhhyhmmmmmmmmmdddhhhdhhhyyyyyyhyssssssyyyydmdddhsyyhhhhhhhyyyyyyyyyyyhhhhyyssssssossoso+++o//syo++///::::----------:::://///+++++++++++++++////::::::::-::::::::::::://+yyyyyhhhhhhhhhdhhdyhhddhddhddhsoyddddhysssooo++oymmmmmmmmmdhhhddmmmmNNNNNmmmmmmmmmmNNNNNNNNNNNNNNmmmmm
NNNNmddmmdyyhhdmmmmmmmmddddhhhdhhhyyyyyhhsooooossssyhddddyosyyhhhhddyhhhyyyyhhyhhhhyysssossossossoooo//+yhyo++//::::-----------::::::://////++///////::::::::::----:::::::::///+oyhyyyyyhhhhhhhhhhhhyhhddddhhddhs+yhdddysooooo++++smmmmmmmmmddhhhdmNmNNNNNNmmmmmmmmmmNNNNNNNNNNNNNNNmmmm
NNNNmdmmmhhyyyhmmmmmmmmmddddhhddhhhhhhhyhsooooossssyhdddhyosyyhdhdddyyhyyyyyyhhhhhhhysssossossossooo+//+oyhdyso+//::::-:-------------::----------------------------::::::://+oo/syyyyyyyhhhhhhhhdhddhhdddddhdddys+yhhddyssooo+++++smmmmmmmmmdhhdddmNNNNNNNNmmmmmmmmmmmNNNNNNNNNNNNNNNNNN
NNNNmdmmmdhhyyhmmmmmmmmmdhdhyyhddddddddhhsooosossyyyddddhyoydhhdhhddyyyyyyhyyhhhhhhhysysssssssosoooo++/+ssoyhdhyo+//::::-------------------------------------------::::://+sys//syyyyyyyhyyyhhhhhhddhdddddddddhds+yhhddhyysoooo+++smmmmmmmmmdyyhhdmNNNNNNNNmmmmmmmmmmmNNNNNNNNNNNNNNNNNN
NNNNmdmNmddhhyhmNNmmmmmmdhhhyyhyddddmddddysyyyyyyhhddmmddyoyddhdhhhhs+ooooooshhhddddso+++ooooo++ooooos:oyyo+oyddhys+//:::----------------.............------------:::://oshy+::shhhhhhdddmdmdmmdddddhddddhhyyyhds+yhddddhhhyyyyyyyhmmmmmmmmmdyhyhdmNNNNNNNNmmmmmmmmmmmNNNNNNNNNNNNNNNNNN
NNNNmmmNNmddhhdmNNNmmmmmdhhyyyhdddmdmddddddhhhhhhhdddddmdsoydhyssssssssyysossssyyyyyo+oo+++oo+++oooos/:syhs+/+sydddhs+//::-----------...................---------::://+shho/:::syyysssssoo+ooo++oosyyyo++++++oyhs+ohdhhyhyysssyyhdhmmmmmmmmmhyyyydmNNNNNNNNmmmmmmmNmmmNNNNNNNNNNNNNNNNNN
NNNNmmdmmNNmdddmNNNNmmmmmdyyyyyyddmdmdddhhdhyyyyyyhhhhhhso+ydhysssssssossso+//////::////://++:://////-//::/o///+oydmdhs+/:::---------...................--------:://oydho/::::--/:::-::::::::::::/ooo++ooooooshds+++oyyysssoooosyyymmmmmmmmmhyysydNNNNNNNNNmmmmNNmdmmNNNNNNNNNNNNNNNNNNN
NNNNNNmhhmNNmmdmmNNmmmmmmdysssysddmdmmdddysyhssssyyyyo+//++yhyyyyyys+//oyysso++/////////:/:++:::::::--::---o+/////oydmmdyo+/::----------.............---------:://oydho/::::::-:/:-:-:::://///+osyyyo/::/oyhhhdhs+////+oysoooooysoymmmmmmmmmhssoshNNmmNNNNmmmmmmmdmmNNNNNNNNNNNNNNNNNNNN
NNNNNNNmdhhmNmmmdmmmmdhdmhsssosddmmmmmddhyssyysssyyo+/////+o+osyys+:::+sddhhhhyyyyyhyys////oysoooos/--//:::+o///////+shmmmhs+//:::-------------------------:::/+ohdho/::::::::osy+:/::yyhhhhhhhhhhddy+/:::/shhdhy+///:::/ssoooysssymmmmmNmmmyssoshNmmNNNmmmmmmmdmmmNNNNNNNNNNNNNNNNNNNNN
NNNNNNNmdddhdmmmmmdmmmdmmhsoooomdmmdddddhyyhhyyyhyo//////+s++ooo+/////shdddhhhhhyyyyhhh/ss+hhyyyyyh/--+yhdddo////////+oshdNNmhyo+//:::::-----------::::::://+oyhhs+//::::::::+ssyy/so/hhyyhhhhhddddddys+//::+ydhhho///:::+yyssyhyyhmmmmmmmmmyssoshNNNNmmmmmmmmmmmmmNNNNNNNNNNNNNNNNNNNNN
NNNNNNNmdddddhhmmmmmdmmmmhso++ommmmdddddddhhyyyysyo///++oydo++++++ossyyhhyhyyyyyyyyyyyyoyyyhyhyyhhh/-/syhddds/:::://///+osydNNNNmhyso++/////:/:////////++osyhhys+///:::::::-:+osssossooooooooooosssooo++++/:/sdhhdhso+/::oyhhhdddmmmmmmmmmmmysooodNNmmmmmmmmmmmmmmmNNNNNNNNNNNNNNNNNNNNN
NNNNNNNmdddddddhhmmmmmmmmho+++smmmmdddddddddmhhdhyoosyhhdhssyyy+:--:::+sssyyyssyhyhhsoo+o++++++++++++o++++/++//::://////++oosyhdmNNNmmdhyyysssssssssyyhdddhsoo++///:::::::--:oyyhhhhhhdddddddmmmmmmmdho/::--:+sooosyyysooshddddddmmmmmmmmmNmhsooohmmmmmmmdmmmmmmmmmNNNNNNNNNNNNNNNNNNNNN
NNNNNNNdddhdmddmdhdmmmmdmho+++sddmddhhyhdddddhhdhhyysyyyyysoooo+/osyyyhhhhhhhyhdmdNNyyysyysyysyyyyhhhhyyhyyyh+/:::::://///+++oooosyhddddmmmmmmmmmddddhysso++++////:::::::---/dmmmmmmmmNNNNNNNNNNNNNNmmmmmddssssssyhhhhyyhhhddddmdmmdoooossyhhysosdmmmmmmdmNmmmmmmmmNNNNNNNNNNNNNNNNNNNNN
NNNNNNNddhhdddmNNmdddmdmmdhysyyo//://+++dmmmmmdddhhhyhhhhhy+////ymmmhhdddddhhdmmmmNNhyyyyyyyyyyyyyyyyyyyyyssso/:::::::://////++++++++oooooo++++++++++++++++/////:::::::::---/dmmmmNNmmNNNNNNNNNNNNNNmNNNNNNhdhhyyyhyyhyhhdmmmmmmmmmh/+//:::-/oodddmmmmmmNNNmmmmdmmmNNNNNNNNNNNNNNNNNNNNN
NNNNNNNmddhhhhdmNNNmddmmdddd+/:-++//+o++dmmmmmsymdmddddhhhy+///:smmmdddddddddmmmNmNNhyhyyyyyyyyyyyyyyyyyyyyyyo::::::::::////////++++///////////////////////////:::::::::----/dmmmNNNmmNNNNNNNNNNNNNNmNNNNNNhdhhyyyhdmmmNNNNmmmmmmmmy/+/:::o:-:+ddddmdmNNNNNmmdddmmmNNNNNNNNNNNNNNNNNNNNN
NNNNNNNmddhhhhdNNNNNNmdddddd+:-/o---:+++dmmmmmsymmmmdddddhh++//:smmmdddddddddmmmmmNNhhhhhhhyyhhyyyyyyyyyhyyyyo:::::::::::://///////////////:::::::////////////:::::::::-----:dmmmNNNmNNNNNNNNNNNNNNNmNNNNNNhdhhysyhmNNNNNNNNmNmmmmmy:/:-..:---/ddddmNNNNNNNmmmmmmmmNNNNNNNNNNNNNNNNNNNNN
NNNNNNNmdhhdhhdNNNNNNNmmdddd/-------///+dmmmmmsymmdddddddhho+//:smmmdhdddddddmmmNNNNhhhhhhhhhhhhhyyhhhyhhhhhhs::::::::::::::////////////::::::::::::////////::::::::::------:hmmNNNNmmNNNNNNNNNNNNNNNNNNNNNyhyysyyhmNNNNNNNNNmmmmmmy://:--...-/sshmNNNNNNNNmmmddddmNNNNNNNNNNNNNNNNNNNNN
NNNNNNNmdhhhhhdNNNNNNNmNNyo++:...--:+/:+dmmmmmoymddddddddhho++/:ymNmdhdddddmmmmNNNNNdddddhhdddhhhhyhhhhhhhhhhy/:::::::::::::::///////////:::::::::::////////::::::::::------:hmNNNNNmNNNNNNNNNNNNNNNNNNNNNNyhyysyydNNNNNNNNNNmmmmmmy-:/--....-///ymNNNNNNNNmmmdddmmNNNNNNNNNNNNNNNNNNNNN
NNNNNNNmdhhhhddNNNNNNNNNNy+/+-.....-//:+dmmmmmsymdhdmmmddhhso+//ymNmdhmmdddddmmmNNNNdddddddddddhhhhhhdhdddhdhy:::::::::::::::::///////////::::::::::///////:::::::::::------:hmNNNNNmNNNNNNNNNNNNNNNNNNNNNNyhyyyyydNNNNNNNmmmddddddy-::----.../:/smNNNNNNNNmmmmmddmNNNNNNNNNNNNNNNNNNNNN
NNNNNNNmdhhhhdmNNNNNNNNNNs///-.-::/://:+dddhhhhhddddmmmddhho++//ymNNdhmmdddddmmmNmNNddmdddddddddddhdddddddddds:::::::::::::::://////+++/////::::::////////:::::::::::--------ommmNNNmNNNNNNNNNNNNNNNNNNNNNNyhyyyyhdmmddhhhhyhhhhhddy-::-//:/:-/:/smNNNNNNNNmmddddmmNNNNNNNNNNNNNNNNNNNNN
NNNNNNNmdhhhhhmNNNNNNNNNNs///-/+-:/--::+hhdhhhhhhyyyyyyhhhyoo+/:ymNNddmmmddmmmNNNNNNddmmmmdddddddddddddddddddo:::::::::::::::::///////////////:::////////::::::::::::---------/ydmmmmmNNNNNNNNNNNNNNNNNNNNNyhyysyyssssssssyyyhhhhhdy--..-/::+-/:/smNNNNNNNNmmddmmmNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNmddhhhhmNNNNNNmNNNs///-/+:/....-/hhhhhhhhyyyyysssosyso+//ymNNddmmmmmmmmNNNNNNddmmmddddddddddddddddddy/--::::::::::::::::::////////////::::::::::::::::::::::-----------../sdmmmmmmmmmNNNNNNNNNNNNNNNyhyyssyoooossssyyyyhhhdds--...-:/o-+::smNNNNNNNNmmmdmmmNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNmddhhhhdNNNNNNmNNNs/:/-//--...--/hhddhhhyyyyyssssooyso+++hmNNddmmmmmmmmNNNNNNddmddddddddddddddddddy/-..-::::::::::::::::::::::::::::::::::::::::::::::::::-------------....:yddmmmmmmmmmmmmmNNNNNNNNyhyyssyoooosssyyhdddmmddy--:.--.-:-/::smNNNNNNNNmmmdmmmmNNNNNNNNNNNNNNNNNNNNN
NNNNNNNmdhhhhdmNNNNNNNNNNs///---.---::-/hdddmmhhdhhyysssooyoosoohmNNmdmmmmmmmmmmmmmmhddddddddddddddddddy+..-..-::-:::::::::::::::::::::::::::::::::::::::::::::-:-------------......-/syhddmmmmmmmmmmmmmmmmyhhysssoosyhddmmmmmmmmmdy--:-......+:/smNNNNNNNNmmmmmmmNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNmdhhhhdmNNNNNNNNNNs+//-......::-/hdddmmyyNmmmmddhyyyssso+hmNNmdmmmmmmmmmmmmmmhhddhhhhhhhhhhhyso/-.....---::-::::::::::::::::::::::::::::::--::::::::-------------------..........-:osyyyyyyhhhhhhhhdsyyyssyhdmmmmmmmmmmmmmmdy-::......-+:+omNNNNNNNNmmmdmmmmNNNNNNNNNNNNNNNNNNMNN
NNNNNNNmhhhhhdmNNNNNNNNNNs+//-......:/-/dddmmmyyNmmmmmmmmhhssso+hmmmmddddhhyssoo+++/:::------------......`...---::-:::::::::::::::::::::::::-------::::::---------------------...-.......`.....---.....--------://+ossyyhddddmmmmmdy-::-.....-+:/ommNNNNNNNmmmmmmmmNNNNNNNNNNNNNNNNNNNNN
NNNNNNNmhhhhhhdNNNNNNNNNNs+//-.....-//:+dmmmmmsyNmmmmmmmdhyoo++/+o++/::---................................-..----:--::::::::::::::::::::::::--------:::::----------------------...-.............-::--....................---::/+++o+--:......-+:/ommNNNNNNNmdddmmmmNNNNNNNNNNNNNNNNMMNMM
MMMNNNNmhhhhhhdNNNNNNNNNms+/+-.....-:/:+ddddddooyysoo+/::--...................-----:::::-----............-...-------:::::::----:::::::::::::--------::::-----------------------...................--::///+++//:::----.........................--:/hdmmmmNNmmdddmmmmNNNNNNNNMMMMMMMMMMMMM
MNNNNNNdhhhhhhhmNNNmNNNNms+/+:.....-//:/yso+/:...................----:://+oossyyyhhhs////:-..............-...----:---:-----------::::::::::::----------------------------------......................--://++oooooossssoo+++///:::::--.............--:+oyhddmdddmmmmNNNNNNNNNNNNNNNNMMMMM
MMNNMNNmdhhhhhdmNNmmNmNmmy+/+:.....-:-..............--::://+++oosyyhhhddddddddddhysso/:--................-....---------------------::::::::::-------:--------------------------.........................-:/:-..--:+ooysoooossyhyyyysooooo+++/::--........-:/+syhdmmNNNNNNNNNNNNNNNNNNNNN
MMMNNNNmdhhhhhdmNNNmNmmmmyo+/:.............-://+ossyyyyysyyoooooyddddhdddhhys+/:-///:-..................-.....-----------------------::::::::::::-----------------------------............................-:::.......-::/++osyhyyhhy/oo//::/+oyssso//:-........-:/+syhdmNNNNNNNNNNNNNNNN
MMNNNNNmdhhhhyhmmmmmmmdhy+:-..........-//+yhddhhyyyhhhhssss+++++ydddhys+/--....-//:-.....`..............-......------------------------::::::::-------------------------------..............................-::-...`......--:/+oyhhs/oo:::----ooshmsoosso+:--.........:/+syhdmNNNNNNNNNN
NNNNNNNmdhhhyyhddhys+:-..........-:+oss+::dmmmhhhyyyyhyyoos++//+oso/-........-::-...............................------------------------::::::::-----------------------------..................................-...`............-:/+/o+:-:---:osshm+-:ymmmdhyso/:--........--:/oshhdmmmm
NNNNNNNmdhyyso+/:-.........-://+oo++sy+-.-dmmmhhmdddhhyyooo/:-...........`...//:-................................---------------------------:::-----------------------.----....................................--..........``...``...---.----:ossym+--ymNNNmmmdddhyso/::-.........-:/+sy
NNNmmdhyo/:-..........-:+osyso/::-::oh+-.-dddmhydddddhys/:-.................----..................................-------------------------------------------------------.......................................-...............``..........--+oosd/--ymNNNmmmmdmmmNNmddyso/:-..........
dhs+/:-.........--:+oyhdmhyso/:::::/sho-.-ddddyshhys+/-.....................-......................................-----------------------------------------------------........................................--.....`.......``.`............-/oh/--smmNNmmmmmmmNNNNNNNNmmdhys+/:-....
-..........-:/osyddmmNNNNhyoo+::::::oy+-.-dddho//:-.........................-......................`...............-----------------------------------------------------..................`...........``.......---.`.`............................:---sddmmmmmmmmmNNNNNNNNNNNNNNmmdhyo+/
......-:/osyhddmmmmmmNNNNhyoo+::::::oy+-.-ys/-.............................--.......................................---------------------------------------------------...................................-------:....................................+hddmmmmmmmmNNNNNNNNNNNNNNNNNNmmmd
--/+syhdddhhhhmmmmmmNNNNNhyoo+::::::oh+-..:................................-..........................................-------------------------------------..---------....................................--...--:-....................................-+ydmmmmmmmNmmmmNNNNmmmmmmmNNNNNN
hdmmmmmmdhhhhhmmmmmmNNNNNhsso+:::::/oy/...`...............................--...........................................----------------------------------....--------......................................-------:......................................-/ydmmmmmNmmmmmmmmmmmmmNmmmNNNN
mmmmmmmmdddddhdmmmmmNNNNNdyso+:::::::-....................................--....-........................................----.......-------------------........-----.....................................`.....---:........................................./ydmmmNmmmmmmmmmmmmmmNNNNNNN
mmmmmmmNmmdddddmmmmmNNNNNdyo++::::-.......................................--...............................................---.........--------------.........----..................................`...........--:.........................................../hmmmmmmmmmmmmmmNNNNNNNNNN
mmmmmmmNmmdddddmmmmmNNNNNds++o::-......................................`..:-............................................................------------................................................`...........--/............................................-sdmmmmmmmmmmmNNNNNNNNNNN
mmmmmmmNmddddddmmmmmNNmNNds+++:...........................................---...-........................................................----------...................................................`.....----::/............................................../ydmmmmmmmNNNNNNNNNNNNN
mmmmmmmNmmdddddmmmdmNNmNNds+/:............................................--...--................-..........................................------....................................................`.`...--::::/................................................odmmmNNNNNNNNNNNNNNNN
mmmmmmmNmmdddddmddddmNmNmhs/-..........................................`..---..--..........................................................................................................................----::::................................................./hmmmNNNmmmmmmmmmmmm
mmmmmmmNmmdddddmdddddmmddh/...............................................-:-..............................................................................................................................-:::::/:..................................................-smNNNNmmmmmmmmmmmm
mmmmmmmNmmmddddmmmmddddhy/................................................:/:--..-.........................................................................................................................::::::/:....................................................+dmmmmNmmmmmmmmNm
mmmmmmmNmmmmmddmmmmmddhs-.................................................-::-...-........................................................................................................................-::::://:.....................................................:hmmmmmmmNNNNNNN
mmmmmmmNmmmmmddmNmmddho-..................................................-/:------.......................................................................................................................:::::://:......................................................:dmmmmmmmNNNNNN
-->
<html>
<head>
<meta charset="UTF-8">

<script language="javascript" type="text/javascript" src="p5.js"></script>
<script language="javascript" type="text/javascript" src="commands.js"></script>
<script language="javascript" type="text/javascript" src="console.js"></script>
<style> body {background-color:#000; position:fixed; top:0px; left:0px; bottom:0px; right:0px; width:100%; height:100%; border:none; margin:0; padding:0; overflow:hidden; z-index:1;} </style>
</head>

<body>
</body>
</html>

+ 32625
- 0
p5js/p5.js
File diff suppressed because it is too large
View File


+ 87
- 0
processing3/virtualCommandline/virtualCommandline.pde View File

@@ -0,0 +1,87 @@
CommandLine commandLine;
void setup() {
size (800, 420);
commandLine = new CommandLine();
}
int pfc;
void draw() {
background(0);
fill(#FFFFFF);
stroke(#FFFFFF);
commandLine.update();
commandLine.display();
}

class CommandLine {
String userInput = "";
String inputString;
String[] presentedLines;
String[] possibleCommands = { "asd" };
int idleFrameCount;
boolean busy;
CommandLine() {
presentedLines = new String[30];
for (int i = 0; i < presentedLines.length; i++) {
presentedLines[i] = "";
}
}
void getUserInput(int code, char c) {
println(code, c);
if (!busy) {
if (code != 8 && code != 10 && code != 16 && code != 17 && code != 18 && code != 20)
userInput = userInput + c;
if (code == 8 && userInput.length() > 0) { //backspace
userInput = userInput.substring(0, userInput.length()-1);
} else if (code == 10) { //enter
enterInput();
userInput = "";
}
}
}
void pushLineString(String bottomLine) {
println("bottomline " + bottomLine);
for (int i = presentedLines.length-1; i > 0; i--) {
presentedLines[i] = presentedLines[i-1];
}
presentedLines[0] = bottomLine;
}
void enterInput() { //user Input DEFINE COMMANDS HERE THAT ARE DETECTED
if (userInput.equals("asd")) {
goOutside();
} else {
pushLineString(inputString);
}
}

void update() {
if (!busy) {
inputString = "guest@iris ~ $ " + userInput;
presentedLines[0] = inputString;
} else {
if (idleFrameCount + pfc < frameCount) {
busy = false;
}
}
}
void display() {
for (int i = 0; i < presentedLines.length; i++) {
text(presentedLines[i], 13, height-25-(i*13));
}
}
}

void goOutside() {
commandLine.busy = true;
pfc = frameCount;
// String[] stringList = {"Processing",};
// l("processing user data...", 10);
// pfc = frameCount;
// pushLineString(input);
// idleFrameCount += f;
}


void keyPressed() {
//println(keyCode + " " + key);
commandLine.getUserInput(keyCode, key);
}

Loading…
Cancel
Save