From b969a12595ea3838d77ac5789dd99dc3ea7bdb6e Mon Sep 17 00:00:00 2001 From: rascul Date: Sat, 23 Jul 2022 21:39:27 -0500 Subject: [PATCH] the replay stuff so it plays back --- src/main.rs | 9 +- src/routes/mod.rs | 1 + src/routes/replay.rs | 36 ++ static/ansi2html.css | 1070 +++++++++++++++++++++++++++++++++++++++++ static/rewot.js | 60 ++- templates/replay.html | 81 ++++ 6 files changed, 1225 insertions(+), 32 deletions(-) create mode 100644 src/routes/replay.rs create mode 100644 static/ansi2html.css create mode 100644 templates/replay.html diff --git a/src/main.rs b/src/main.rs index e9261a7..b1622b9 100644 --- a/src/main.rs +++ b/src/main.rs @@ -4,7 +4,7 @@ mod routes; mod wot_log; use actix_files::Files; -use actix_web::{middleware, web, App, HttpServer}; +use actix_web::{guard, middleware, web, App, HttpResponse, HttpServer}; use handlebars::Handlebars; use log::info; @@ -13,6 +13,8 @@ use client::Client; use options::Options; use wot_log::WotLog; +pub type Result = std::result::Result>; + pub fn default_false() -> bool { false } @@ -41,9 +43,14 @@ async fn main() -> std::io::Result<()> { .wrap(middleware::Logger::default()) .service(routes::help::get) .service(routes::index::get) + //.service( + // web::resource("/r/{id}").name("replay").guard(guard::Get()).to(HttpResponse::Ok), + //) + .service(routes::replay::get) .service(routes::submit::get) .service(routes::submit::post) .service(Files::new("/static", "static").show_files_listing()) + .service(Files::new("/replays", "replays")) }) .bind((options.address, options.port))? .workers(options.workers) diff --git a/src/routes/mod.rs b/src/routes/mod.rs index 1f42d84..1a48cc6 100644 --- a/src/routes/mod.rs +++ b/src/routes/mod.rs @@ -1,3 +1,4 @@ pub mod help; pub mod index; +pub mod replay; pub mod submit; diff --git a/src/routes/replay.rs b/src/routes/replay.rs new file mode 100644 index 0000000..c701b14 --- /dev/null +++ b/src/routes/replay.rs @@ -0,0 +1,36 @@ +use std::fs::File; +use std::io::{BufReader, Read}; +use std::path::PathBuf; + +use actix_web::http::header; +use actix_web::{get, HttpRequest, HttpResponse}; +use actix_web::web::{Data, Path}; + +use handlebars::Handlebars; +use log::info; +use serde_json::json; + +use crate::Result; + +#[get("/+{id}")] +pub async fn get(req: HttpRequest, id: Path, hb: Data>) -> Result { + println!("HIHIHI"); + let mut path = PathBuf::from("replays"); + let id: String = id.into_inner(); + path.push(&id); + let file: File = File::open(&path)?; + info!("loaded file: {:?}", path); + let mut buffer = BufReader::new(file); + let mut file_contents = String::new(); + buffer.read_to_string(&mut file_contents)?; + info!("read to buffer"); + + + + let data = json!({ + "replayid": id, + }); + let body = hb.render("replay", &data).unwrap(); + + Ok(HttpResponse::Ok().body(body)) +} diff --git a/static/ansi2html.css b/static/ansi2html.css new file mode 100644 index 0000000..54bbc4c --- /dev/null +++ b/static/ansi2html.css @@ -0,0 +1,1070 @@ +.ansi2html-content { display: inline; white-space: pre-wrap; word-wrap: break-word; } +.body_foreground { color: #AAAAAA; } +.body_background { background-color: #000000; } +.body_foreground > .bold,.bold > .body_foreground, body.body_foreground > pre > .bold { color: #FFFFFF; font-weight: normal; } +.inv_foreground { color: #000000; } +.inv_background { background-color: #AAAAAA; } +.ansi1 { font-weight: bold; } +.ansi2 { font-weight: lighter; } +.ansi3 { font-style: italic; } +.ansi4 { text-decoration: underline; } +.ansi5 { text-decoration: blink; } +.ansi6 { text-decoration: blink; } +.ansi8 { visibility: hidden; } +.ansi9 { text-decoration: line-through; } +.ansi30 { color: #000316; } +.inv30 { background-color: #000316; } +.ansi31 { color: #aa0000; } +.inv31 { background-color: #aa0000; } +.ansi32 { color: #00aa00; } +.inv32 { background-color: #00aa00; } +.ansi33 { color: #aa5500; } +.inv33 { background-color: #aa5500; } +.ansi34 { color: #0000aa; } +.inv34 { background-color: #0000aa; } +.ansi35 { color: #E850A8; } +.inv35 { background-color: #E850A8; } +.ansi36 { color: #00aaaa; } +.inv36 { background-color: #00aaaa; } +.ansi37 { color: #F5F1DE; } +.inv37 { background-color: #F5F1DE; } +.ansi40 { background-color: #000316; } +.inv40 { color: #000316; } +.ansi41 { background-color: #aa0000; } +.inv41 { color: #aa0000; } +.ansi42 { background-color: #00aa00; } +.inv42 { color: #00aa00; } +.ansi43 { background-color: #aa5500; } +.inv43 { color: #aa5500; } +.ansi44 { background-color: #0000aa; } +.inv44 { color: #0000aa; } +.ansi45 { background-color: #E850A8; } +.inv45 { color: #E850A8; } +.ansi46 { background-color: #00aaaa; } +.inv46 { color: #00aaaa; } +.ansi47 { background-color: #F5F1DE; } +.inv47 { color: #F5F1DE; } +.ansi38-0 { color: #000316; } +.inv38-0 { background-color: #000316; } +.ansi38-1 { color: #aa0000; } +.inv38-1 { background-color: #aa0000; } +.ansi38-2 { color: #00aa00; } +.inv38-2 { background-color: #00aa00; } +.ansi38-3 { color: #aa5500; } +.inv38-3 { background-color: #aa5500; } +.ansi38-4 { color: #0000aa; } +.inv38-4 { background-color: #0000aa; } +.ansi38-5 { color: #E850A8; } +.inv38-5 { background-color: #E850A8; } +.ansi38-6 { color: #00aaaa; } +.inv38-6 { background-color: #00aaaa; } +.ansi38-7 { color: #F5F1DE; } +.inv38-7 { background-color: #F5F1DE; } +.ansi38-8 { color: #7f7f7f; } +.inv38-8 { background-color: #7f7f7f; } +.ansi38-9 { color: #ff0000; } +.inv38-9 { background-color: #ff0000; } +.ansi38-10 { color: #00ff00; } +.inv38-10 { background-color: #00ff00; } +.ansi38-11 { color: #ffff00; } +.inv38-11 { background-color: #ffff00; } +.ansi38-12 { color: #5c5cff; } +.inv38-12 { background-color: #5c5cff; } +.ansi38-13 { color: #ff00ff; } +.inv38-13 { background-color: #ff00ff; } +.ansi38-14 { color: #00ffff; } +.inv38-14 { background-color: #00ffff; } +.ansi38-15 { color: #ffffff; } +.inv38-15 { background-color: #ffffff; } +.ansi48-0 { background-color: #000316; } +.inv48-0 { color: #000316; } +.ansi48-1 { background-color: #aa0000; } +.inv48-1 { color: #aa0000; } +.ansi48-2 { background-color: #00aa00; } +.inv48-2 { color: #00aa00; } +.ansi48-3 { background-color: #aa5500; } +.inv48-3 { color: #aa5500; } +.ansi48-4 { background-color: #0000aa; } +.inv48-4 { color: #0000aa; } +.ansi48-5 { background-color: #E850A8; } +.inv48-5 { color: #E850A8; } +.ansi48-6 { background-color: #00aaaa; } +.inv48-6 { color: #00aaaa; } +.ansi48-7 { background-color: #F5F1DE; } +.inv48-7 { color: #F5F1DE; } +.ansi48-8 { background-color: #7f7f7f; } +.inv48-8 { color: #7f7f7f; } +.ansi48-9 { background-color: #ff0000; } +.inv48-9 { color: #ff0000; } +.ansi48-10 { background-color: #00ff00; } +.inv48-10 { color: #00ff00; } +.ansi48-11 { background-color: #ffff00; } +.inv48-11 { color: #ffff00; } +.ansi48-12 { background-color: #5c5cff; } +.inv48-12 { color: #5c5cff; } +.ansi48-13 { background-color: #ff00ff; } +.inv48-13 { color: #ff00ff; } +.ansi48-14 { background-color: #00ffff; } +.inv48-14 { color: #00ffff; } +.ansi48-15 { background-color: #ffffff; } +.inv48-15 { color: #ffffff; } +.ansi38-16 { color: #000000; } +.inv38-16 { background: #000000; } +.ansi48-16 { background: #000000; } +.inv48-16 { color: #000000; } +.ansi38-17 { color: #00002a; } +.inv38-17 { background: #00002a; } +.ansi48-17 { background: #00002a; } +.inv48-17 { color: #00002a; } +.ansi38-18 { color: #000054; } +.inv38-18 { background: #000054; } +.ansi48-18 { background: #000054; } +.inv48-18 { color: #000054; } +.ansi38-19 { color: #00007e; } +.inv38-19 { background: #00007e; } +.ansi48-19 { background: #00007e; } +.inv48-19 { color: #00007e; } +.ansi38-20 { color: #0000a8; } +.inv38-20 { background: #0000a8; } +.ansi48-20 { background: #0000a8; } +.inv48-20 { color: #0000a8; } +.ansi38-21 { color: #0000d2; } +.inv38-21 { background: #0000d2; } +.ansi48-21 { background: #0000d2; } +.inv48-21 { color: #0000d2; } +.ansi38-52 { color: #2a0000; } +.inv38-52 { background: #2a0000; } +.ansi48-52 { background: #2a0000; } +.inv48-52 { color: #2a0000; } +.ansi38-53 { color: #2a002a; } +.inv38-53 { background: #2a002a; } +.ansi48-53 { background: #2a002a; } +.inv48-53 { color: #2a002a; } +.ansi38-54 { color: #2a0054; } +.inv38-54 { background: #2a0054; } +.ansi48-54 { background: #2a0054; } +.inv48-54 { color: #2a0054; } +.ansi38-55 { color: #2a007e; } +.inv38-55 { background: #2a007e; } +.ansi48-55 { background: #2a007e; } +.inv48-55 { color: #2a007e; } +.ansi38-56 { color: #2a00a8; } +.inv38-56 { background: #2a00a8; } +.ansi48-56 { background: #2a00a8; } +.inv48-56 { color: #2a00a8; } +.ansi38-57 { color: #2a00d2; } +.inv38-57 { background: #2a00d2; } +.ansi48-57 { background: #2a00d2; } +.inv48-57 { color: #2a00d2; } +.ansi38-88 { color: #540000; } +.inv38-88 { background: #540000; } +.ansi48-88 { background: #540000; } +.inv48-88 { color: #540000; } +.ansi38-89 { color: #54002a; } +.inv38-89 { background: #54002a; } +.ansi48-89 { background: #54002a; } +.inv48-89 { color: #54002a; } +.ansi38-90 { color: #540054; } +.inv38-90 { background: #540054; } +.ansi48-90 { background: #540054; } +.inv48-90 { color: #540054; } +.ansi38-91 { color: #54007e; } +.inv38-91 { background: #54007e; } +.ansi48-91 { background: #54007e; } +.inv48-91 { color: #54007e; } +.ansi38-92 { color: #5400a8; } +.inv38-92 { background: #5400a8; } +.ansi48-92 { background: #5400a8; } +.inv48-92 { color: #5400a8; } +.ansi38-93 { color: #5400d2; } +.inv38-93 { background: #5400d2; } +.ansi48-93 { background: #5400d2; } +.inv48-93 { color: #5400d2; } +.ansi38-124 { color: #7e0000; } +.inv38-124 { background: #7e0000; } +.ansi48-124 { background: #7e0000; } +.inv48-124 { color: #7e0000; } +.ansi38-125 { color: #7e002a; } +.inv38-125 { background: #7e002a; } +.ansi48-125 { background: #7e002a; } +.inv48-125 { color: #7e002a; } +.ansi38-126 { color: #7e0054; } +.inv38-126 { background: #7e0054; } +.ansi48-126 { background: #7e0054; } +.inv48-126 { color: #7e0054; } +.ansi38-127 { color: #7e007e; } +.inv38-127 { background: #7e007e; } +.ansi48-127 { background: #7e007e; } +.inv48-127 { color: #7e007e; } +.ansi38-128 { color: #7e00a8; } +.inv38-128 { background: #7e00a8; } +.ansi48-128 { background: #7e00a8; } +.inv48-128 { color: #7e00a8; } +.ansi38-129 { color: #7e00d2; } +.inv38-129 { background: #7e00d2; } +.ansi48-129 { background: #7e00d2; } +.inv48-129 { color: #7e00d2; } +.ansi38-160 { color: #a80000; } +.inv38-160 { background: #a80000; } +.ansi48-160 { background: #a80000; } +.inv48-160 { color: #a80000; } +.ansi38-161 { color: #a8002a; } +.inv38-161 { background: #a8002a; } +.ansi48-161 { background: #a8002a; } +.inv48-161 { color: #a8002a; } +.ansi38-162 { color: #a80054; } +.inv38-162 { background: #a80054; } +.ansi48-162 { background: #a80054; } +.inv48-162 { color: #a80054; } +.ansi38-163 { color: #a8007e; } +.inv38-163 { background: #a8007e; } +.ansi48-163 { background: #a8007e; } +.inv48-163 { color: #a8007e; } +.ansi38-164 { color: #a800a8; } +.inv38-164 { background: #a800a8; } +.ansi48-164 { background: #a800a8; } +.inv48-164 { color: #a800a8; } +.ansi38-165 { color: #a800d2; } +.inv38-165 { background: #a800d2; } +.ansi48-165 { background: #a800d2; } +.inv48-165 { color: #a800d2; } +.ansi38-196 { color: #d20000; } +.inv38-196 { background: #d20000; } +.ansi48-196 { background: #d20000; } +.inv48-196 { color: #d20000; } +.ansi38-197 { color: #d2002a; } +.inv38-197 { background: #d2002a; } +.ansi48-197 { background: #d2002a; } +.inv48-197 { color: #d2002a; } +.ansi38-198 { color: #d20054; } +.inv38-198 { background: #d20054; } +.ansi48-198 { background: #d20054; } +.inv48-198 { color: #d20054; } +.ansi38-199 { color: #d2007e; } +.inv38-199 { background: #d2007e; } +.ansi48-199 { background: #d2007e; } +.inv48-199 { color: #d2007e; } +.ansi38-200 { color: #d200a8; } +.inv38-200 { background: #d200a8; } +.ansi48-200 { background: #d200a8; } +.inv48-200 { color: #d200a8; } +.ansi38-201 { color: #d200d2; } +.inv38-201 { background: #d200d2; } +.ansi48-201 { background: #d200d2; } +.inv48-201 { color: #d200d2; } +.ansi38-22 { color: #002a00; } +.inv38-22 { background: #002a00; } +.ansi48-22 { background: #002a00; } +.inv48-22 { color: #002a00; } +.ansi38-23 { color: #002a2a; } +.inv38-23 { background: #002a2a; } +.ansi48-23 { background: #002a2a; } +.inv48-23 { color: #002a2a; } +.ansi38-24 { color: #002a54; } +.inv38-24 { background: #002a54; } +.ansi48-24 { background: #002a54; } +.inv48-24 { color: #002a54; } +.ansi38-25 { color: #002a7e; } +.inv38-25 { background: #002a7e; } +.ansi48-25 { background: #002a7e; } +.inv48-25 { color: #002a7e; } +.ansi38-26 { color: #002aa8; } +.inv38-26 { background: #002aa8; } +.ansi48-26 { background: #002aa8; } +.inv48-26 { color: #002aa8; } +.ansi38-27 { color: #002ad2; } +.inv38-27 { background: #002ad2; } +.ansi48-27 { background: #002ad2; } +.inv48-27 { color: #002ad2; } +.ansi38-58 { color: #2a2a00; } +.inv38-58 { background: #2a2a00; } +.ansi48-58 { background: #2a2a00; } +.inv48-58 { color: #2a2a00; } +.ansi38-59 { color: #2a2a2a; } +.inv38-59 { background: #2a2a2a; } +.ansi48-59 { background: #2a2a2a; } +.inv48-59 { color: #2a2a2a; } +.ansi38-60 { color: #2a2a54; } +.inv38-60 { background: #2a2a54; } +.ansi48-60 { background: #2a2a54; } +.inv48-60 { color: #2a2a54; } +.ansi38-61 { color: #2a2a7e; } +.inv38-61 { background: #2a2a7e; } +.ansi48-61 { background: #2a2a7e; } +.inv48-61 { color: #2a2a7e; } +.ansi38-62 { color: #2a2aa8; } +.inv38-62 { background: #2a2aa8; } +.ansi48-62 { background: #2a2aa8; } +.inv48-62 { color: #2a2aa8; } +.ansi38-63 { color: #2a2ad2; } +.inv38-63 { background: #2a2ad2; } +.ansi48-63 { background: #2a2ad2; } +.inv48-63 { color: #2a2ad2; } +.ansi38-94 { color: #542a00; } +.inv38-94 { background: #542a00; } +.ansi48-94 { background: #542a00; } +.inv48-94 { color: #542a00; } +.ansi38-95 { color: #542a2a; } +.inv38-95 { background: #542a2a; } +.ansi48-95 { background: #542a2a; } +.inv48-95 { color: #542a2a; } +.ansi38-96 { color: #542a54; } +.inv38-96 { background: #542a54; } +.ansi48-96 { background: #542a54; } +.inv48-96 { color: #542a54; } +.ansi38-97 { color: #542a7e; } +.inv38-97 { background: #542a7e; } +.ansi48-97 { background: #542a7e; } +.inv48-97 { color: #542a7e; } +.ansi38-98 { color: #542aa8; } +.inv38-98 { background: #542aa8; } +.ansi48-98 { background: #542aa8; } +.inv48-98 { color: #542aa8; } +.ansi38-99 { color: #542ad2; } +.inv38-99 { background: #542ad2; } +.ansi48-99 { background: #542ad2; } +.inv48-99 { color: #542ad2; } +.ansi38-130 { color: #7e2a00; } +.inv38-130 { background: #7e2a00; } +.ansi48-130 { background: #7e2a00; } +.inv48-130 { color: #7e2a00; } +.ansi38-131 { color: #7e2a2a; } +.inv38-131 { background: #7e2a2a; } +.ansi48-131 { background: #7e2a2a; } +.inv48-131 { color: #7e2a2a; } +.ansi38-132 { color: #7e2a54; } +.inv38-132 { background: #7e2a54; } +.ansi48-132 { background: #7e2a54; } +.inv48-132 { color: #7e2a54; } +.ansi38-133 { color: #7e2a7e; } +.inv38-133 { background: #7e2a7e; } +.ansi48-133 { background: #7e2a7e; } +.inv48-133 { color: #7e2a7e; } +.ansi38-134 { color: #7e2aa8; } +.inv38-134 { background: #7e2aa8; } +.ansi48-134 { background: #7e2aa8; } +.inv48-134 { color: #7e2aa8; } +.ansi38-135 { color: #7e2ad2; } +.inv38-135 { background: #7e2ad2; } +.ansi48-135 { background: #7e2ad2; } +.inv48-135 { color: #7e2ad2; } +.ansi38-166 { color: #a82a00; } +.inv38-166 { background: #a82a00; } +.ansi48-166 { background: #a82a00; } +.inv48-166 { color: #a82a00; } +.ansi38-167 { color: #a82a2a; } +.inv38-167 { background: #a82a2a; } +.ansi48-167 { background: #a82a2a; } +.inv48-167 { color: #a82a2a; } +.ansi38-168 { color: #a82a54; } +.inv38-168 { background: #a82a54; } +.ansi48-168 { background: #a82a54; } +.inv48-168 { color: #a82a54; } +.ansi38-169 { color: #a82a7e; } +.inv38-169 { background: #a82a7e; } +.ansi48-169 { background: #a82a7e; } +.inv48-169 { color: #a82a7e; } +.ansi38-170 { color: #a82aa8; } +.inv38-170 { background: #a82aa8; } +.ansi48-170 { background: #a82aa8; } +.inv48-170 { color: #a82aa8; } +.ansi38-171 { color: #a82ad2; } +.inv38-171 { background: #a82ad2; } +.ansi48-171 { background: #a82ad2; } +.inv48-171 { color: #a82ad2; } +.ansi38-202 { color: #d22a00; } +.inv38-202 { background: #d22a00; } +.ansi48-202 { background: #d22a00; } +.inv48-202 { color: #d22a00; } +.ansi38-203 { color: #d22a2a; } +.inv38-203 { background: #d22a2a; } +.ansi48-203 { background: #d22a2a; } +.inv48-203 { color: #d22a2a; } +.ansi38-204 { color: #d22a54; } +.inv38-204 { background: #d22a54; } +.ansi48-204 { background: #d22a54; } +.inv48-204 { color: #d22a54; } +.ansi38-205 { color: #d22a7e; } +.inv38-205 { background: #d22a7e; } +.ansi48-205 { background: #d22a7e; } +.inv48-205 { color: #d22a7e; } +.ansi38-206 { color: #d22aa8; } +.inv38-206 { background: #d22aa8; } +.ansi48-206 { background: #d22aa8; } +.inv48-206 { color: #d22aa8; } +.ansi38-207 { color: #d22ad2; } +.inv38-207 { background: #d22ad2; } +.ansi48-207 { background: #d22ad2; } +.inv48-207 { color: #d22ad2; } +.ansi38-28 { color: #005400; } +.inv38-28 { background: #005400; } +.ansi48-28 { background: #005400; } +.inv48-28 { color: #005400; } +.ansi38-29 { color: #00542a; } +.inv38-29 { background: #00542a; } +.ansi48-29 { background: #00542a; } +.inv48-29 { color: #00542a; } +.ansi38-30 { color: #005454; } +.inv38-30 { background: #005454; } +.ansi48-30 { background: #005454; } +.inv48-30 { color: #005454; } +.ansi38-31 { color: #00547e; } +.inv38-31 { background: #00547e; } +.ansi48-31 { background: #00547e; } +.inv48-31 { color: #00547e; } +.ansi38-32 { color: #0054a8; } +.inv38-32 { background: #0054a8; } +.ansi48-32 { background: #0054a8; } +.inv48-32 { color: #0054a8; } +.ansi38-33 { color: #0054d2; } +.inv38-33 { background: #0054d2; } +.ansi48-33 { background: #0054d2; } +.inv48-33 { color: #0054d2; } +.ansi38-64 { color: #2a5400; } +.inv38-64 { background: #2a5400; } +.ansi48-64 { background: #2a5400; } +.inv48-64 { color: #2a5400; } +.ansi38-65 { color: #2a542a; } +.inv38-65 { background: #2a542a; } +.ansi48-65 { background: #2a542a; } +.inv48-65 { color: #2a542a; } +.ansi38-66 { color: #2a5454; } +.inv38-66 { background: #2a5454; } +.ansi48-66 { background: #2a5454; } +.inv48-66 { color: #2a5454; } +.ansi38-67 { color: #2a547e; } +.inv38-67 { background: #2a547e; } +.ansi48-67 { background: #2a547e; } +.inv48-67 { color: #2a547e; } +.ansi38-68 { color: #2a54a8; } +.inv38-68 { background: #2a54a8; } +.ansi48-68 { background: #2a54a8; } +.inv48-68 { color: #2a54a8; } +.ansi38-69 { color: #2a54d2; } +.inv38-69 { background: #2a54d2; } +.ansi48-69 { background: #2a54d2; } +.inv48-69 { color: #2a54d2; } +.ansi38-100 { color: #545400; } +.inv38-100 { background: #545400; } +.ansi48-100 { background: #545400; } +.inv48-100 { color: #545400; } +.ansi38-101 { color: #54542a; } +.inv38-101 { background: #54542a; } +.ansi48-101 { background: #54542a; } +.inv48-101 { color: #54542a; } +.ansi38-102 { color: #545454; } +.inv38-102 { background: #545454; } +.ansi48-102 { background: #545454; } +.inv48-102 { color: #545454; } +.ansi38-103 { color: #54547e; } +.inv38-103 { background: #54547e; } +.ansi48-103 { background: #54547e; } +.inv48-103 { color: #54547e; } +.ansi38-104 { color: #5454a8; } +.inv38-104 { background: #5454a8; } +.ansi48-104 { background: #5454a8; } +.inv48-104 { color: #5454a8; } +.ansi38-105 { color: #5454d2; } +.inv38-105 { background: #5454d2; } +.ansi48-105 { background: #5454d2; } +.inv48-105 { color: #5454d2; } +.ansi38-136 { color: #7e5400; } +.inv38-136 { background: #7e5400; } +.ansi48-136 { background: #7e5400; } +.inv48-136 { color: #7e5400; } +.ansi38-137 { color: #7e542a; } +.inv38-137 { background: #7e542a; } +.ansi48-137 { background: #7e542a; } +.inv48-137 { color: #7e542a; } +.ansi38-138 { color: #7e5454; } +.inv38-138 { background: #7e5454; } +.ansi48-138 { background: #7e5454; } +.inv48-138 { color: #7e5454; } +.ansi38-139 { color: #7e547e; } +.inv38-139 { background: #7e547e; } +.ansi48-139 { background: #7e547e; } +.inv48-139 { color: #7e547e; } +.ansi38-140 { color: #7e54a8; } +.inv38-140 { background: #7e54a8; } +.ansi48-140 { background: #7e54a8; } +.inv48-140 { color: #7e54a8; } +.ansi38-141 { color: #7e54d2; } +.inv38-141 { background: #7e54d2; } +.ansi48-141 { background: #7e54d2; } +.inv48-141 { color: #7e54d2; } +.ansi38-172 { color: #a85400; } +.inv38-172 { background: #a85400; } +.ansi48-172 { background: #a85400; } +.inv48-172 { color: #a85400; } +.ansi38-173 { color: #a8542a; } +.inv38-173 { background: #a8542a; } +.ansi48-173 { background: #a8542a; } +.inv48-173 { color: #a8542a; } +.ansi38-174 { color: #a85454; } +.inv38-174 { background: #a85454; } +.ansi48-174 { background: #a85454; } +.inv48-174 { color: #a85454; } +.ansi38-175 { color: #a8547e; } +.inv38-175 { background: #a8547e; } +.ansi48-175 { background: #a8547e; } +.inv48-175 { color: #a8547e; } +.ansi38-176 { color: #a854a8; } +.inv38-176 { background: #a854a8; } +.ansi48-176 { background: #a854a8; } +.inv48-176 { color: #a854a8; } +.ansi38-177 { color: #a854d2; } +.inv38-177 { background: #a854d2; } +.ansi48-177 { background: #a854d2; } +.inv48-177 { color: #a854d2; } +.ansi38-208 { color: #d25400; } +.inv38-208 { background: #d25400; } +.ansi48-208 { background: #d25400; } +.inv48-208 { color: #d25400; } +.ansi38-209 { color: #d2542a; } +.inv38-209 { background: #d2542a; } +.ansi48-209 { background: #d2542a; } +.inv48-209 { color: #d2542a; } +.ansi38-210 { color: #d25454; } +.inv38-210 { background: #d25454; } +.ansi48-210 { background: #d25454; } +.inv48-210 { color: #d25454; } +.ansi38-211 { color: #d2547e; } +.inv38-211 { background: #d2547e; } +.ansi48-211 { background: #d2547e; } +.inv48-211 { color: #d2547e; } +.ansi38-212 { color: #d254a8; } +.inv38-212 { background: #d254a8; } +.ansi48-212 { background: #d254a8; } +.inv48-212 { color: #d254a8; } +.ansi38-213 { color: #d254d2; } +.inv38-213 { background: #d254d2; } +.ansi48-213 { background: #d254d2; } +.inv48-213 { color: #d254d2; } +.ansi38-34 { color: #007e00; } +.inv38-34 { background: #007e00; } +.ansi48-34 { background: #007e00; } +.inv48-34 { color: #007e00; } +.ansi38-35 { color: #007e2a; } +.inv38-35 { background: #007e2a; } +.ansi48-35 { background: #007e2a; } +.inv48-35 { color: #007e2a; } +.ansi38-36 { color: #007e54; } +.inv38-36 { background: #007e54; } +.ansi48-36 { background: #007e54; } +.inv48-36 { color: #007e54; } +.ansi38-37 { color: #007e7e; } +.inv38-37 { background: #007e7e; } +.ansi48-37 { background: #007e7e; } +.inv48-37 { color: #007e7e; } +.ansi38-38 { color: #007ea8; } +.inv38-38 { background: #007ea8; } +.ansi48-38 { background: #007ea8; } +.inv48-38 { color: #007ea8; } +.ansi38-39 { color: #007ed2; } +.inv38-39 { background: #007ed2; } +.ansi48-39 { background: #007ed2; } +.inv48-39 { color: #007ed2; } +.ansi38-70 { color: #2a7e00; } +.inv38-70 { background: #2a7e00; } +.ansi48-70 { background: #2a7e00; } +.inv48-70 { color: #2a7e00; } +.ansi38-71 { color: #2a7e2a; } +.inv38-71 { background: #2a7e2a; } +.ansi48-71 { background: #2a7e2a; } +.inv48-71 { color: #2a7e2a; } +.ansi38-72 { color: #2a7e54; } +.inv38-72 { background: #2a7e54; } +.ansi48-72 { background: #2a7e54; } +.inv48-72 { color: #2a7e54; } +.ansi38-73 { color: #2a7e7e; } +.inv38-73 { background: #2a7e7e; } +.ansi48-73 { background: #2a7e7e; } +.inv48-73 { color: #2a7e7e; } +.ansi38-74 { color: #2a7ea8; } +.inv38-74 { background: #2a7ea8; } +.ansi48-74 { background: #2a7ea8; } +.inv48-74 { color: #2a7ea8; } +.ansi38-75 { color: #2a7ed2; } +.inv38-75 { background: #2a7ed2; } +.ansi48-75 { background: #2a7ed2; } +.inv48-75 { color: #2a7ed2; } +.ansi38-106 { color: #547e00; } +.inv38-106 { background: #547e00; } +.ansi48-106 { background: #547e00; } +.inv48-106 { color: #547e00; } +.ansi38-107 { color: #547e2a; } +.inv38-107 { background: #547e2a; } +.ansi48-107 { background: #547e2a; } +.inv48-107 { color: #547e2a; } +.ansi38-108 { color: #547e54; } +.inv38-108 { background: #547e54; } +.ansi48-108 { background: #547e54; } +.inv48-108 { color: #547e54; } +.ansi38-109 { color: #547e7e; } +.inv38-109 { background: #547e7e; } +.ansi48-109 { background: #547e7e; } +.inv48-109 { color: #547e7e; } +.ansi38-110 { color: #547ea8; } +.inv38-110 { background: #547ea8; } +.ansi48-110 { background: #547ea8; } +.inv48-110 { color: #547ea8; } +.ansi38-111 { color: #547ed2; } +.inv38-111 { background: #547ed2; } +.ansi48-111 { background: #547ed2; } +.inv48-111 { color: #547ed2; } +.ansi38-142 { color: #7e7e00; } +.inv38-142 { background: #7e7e00; } +.ansi48-142 { background: #7e7e00; } +.inv48-142 { color: #7e7e00; } +.ansi38-143 { color: #7e7e2a; } +.inv38-143 { background: #7e7e2a; } +.ansi48-143 { background: #7e7e2a; } +.inv48-143 { color: #7e7e2a; } +.ansi38-144 { color: #7e7e54; } +.inv38-144 { background: #7e7e54; } +.ansi48-144 { background: #7e7e54; } +.inv48-144 { color: #7e7e54; } +.ansi38-145 { color: #7e7e7e; } +.inv38-145 { background: #7e7e7e; } +.ansi48-145 { background: #7e7e7e; } +.inv48-145 { color: #7e7e7e; } +.ansi38-146 { color: #7e7ea8; } +.inv38-146 { background: #7e7ea8; } +.ansi48-146 { background: #7e7ea8; } +.inv48-146 { color: #7e7ea8; } +.ansi38-147 { color: #7e7ed2; } +.inv38-147 { background: #7e7ed2; } +.ansi48-147 { background: #7e7ed2; } +.inv48-147 { color: #7e7ed2; } +.ansi38-178 { color: #a87e00; } +.inv38-178 { background: #a87e00; } +.ansi48-178 { background: #a87e00; } +.inv48-178 { color: #a87e00; } +.ansi38-179 { color: #a87e2a; } +.inv38-179 { background: #a87e2a; } +.ansi48-179 { background: #a87e2a; } +.inv48-179 { color: #a87e2a; } +.ansi38-180 { color: #a87e54; } +.inv38-180 { background: #a87e54; } +.ansi48-180 { background: #a87e54; } +.inv48-180 { color: #a87e54; } +.ansi38-181 { color: #a87e7e; } +.inv38-181 { background: #a87e7e; } +.ansi48-181 { background: #a87e7e; } +.inv48-181 { color: #a87e7e; } +.ansi38-182 { color: #a87ea8; } +.inv38-182 { background: #a87ea8; } +.ansi48-182 { background: #a87ea8; } +.inv48-182 { color: #a87ea8; } +.ansi38-183 { color: #a87ed2; } +.inv38-183 { background: #a87ed2; } +.ansi48-183 { background: #a87ed2; } +.inv48-183 { color: #a87ed2; } +.ansi38-214 { color: #d27e00; } +.inv38-214 { background: #d27e00; } +.ansi48-214 { background: #d27e00; } +.inv48-214 { color: #d27e00; } +.ansi38-215 { color: #d27e2a; } +.inv38-215 { background: #d27e2a; } +.ansi48-215 { background: #d27e2a; } +.inv48-215 { color: #d27e2a; } +.ansi38-216 { color: #d27e54; } +.inv38-216 { background: #d27e54; } +.ansi48-216 { background: #d27e54; } +.inv48-216 { color: #d27e54; } +.ansi38-217 { color: #d27e7e; } +.inv38-217 { background: #d27e7e; } +.ansi48-217 { background: #d27e7e; } +.inv48-217 { color: #d27e7e; } +.ansi38-218 { color: #d27ea8; } +.inv38-218 { background: #d27ea8; } +.ansi48-218 { background: #d27ea8; } +.inv48-218 { color: #d27ea8; } +.ansi38-219 { color: #d27ed2; } +.inv38-219 { background: #d27ed2; } +.ansi48-219 { background: #d27ed2; } +.inv48-219 { color: #d27ed2; } +.ansi38-40 { color: #00a800; } +.inv38-40 { background: #00a800; } +.ansi48-40 { background: #00a800; } +.inv48-40 { color: #00a800; } +.ansi38-41 { color: #00a82a; } +.inv38-41 { background: #00a82a; } +.ansi48-41 { background: #00a82a; } +.inv48-41 { color: #00a82a; } +.ansi38-42 { color: #00a854; } +.inv38-42 { background: #00a854; } +.ansi48-42 { background: #00a854; } +.inv48-42 { color: #00a854; } +.ansi38-43 { color: #00a87e; } +.inv38-43 { background: #00a87e; } +.ansi48-43 { background: #00a87e; } +.inv48-43 { color: #00a87e; } +.ansi38-44 { color: #00a8a8; } +.inv38-44 { background: #00a8a8; } +.ansi48-44 { background: #00a8a8; } +.inv48-44 { color: #00a8a8; } +.ansi38-45 { color: #00a8d2; } +.inv38-45 { background: #00a8d2; } +.ansi48-45 { background: #00a8d2; } +.inv48-45 { color: #00a8d2; } +.ansi38-76 { color: #2aa800; } +.inv38-76 { background: #2aa800; } +.ansi48-76 { background: #2aa800; } +.inv48-76 { color: #2aa800; } +.ansi38-77 { color: #2aa82a; } +.inv38-77 { background: #2aa82a; } +.ansi48-77 { background: #2aa82a; } +.inv48-77 { color: #2aa82a; } +.ansi38-78 { color: #2aa854; } +.inv38-78 { background: #2aa854; } +.ansi48-78 { background: #2aa854; } +.inv48-78 { color: #2aa854; } +.ansi38-79 { color: #2aa87e; } +.inv38-79 { background: #2aa87e; } +.ansi48-79 { background: #2aa87e; } +.inv48-79 { color: #2aa87e; } +.ansi38-80 { color: #2aa8a8; } +.inv38-80 { background: #2aa8a8; } +.ansi48-80 { background: #2aa8a8; } +.inv48-80 { color: #2aa8a8; } +.ansi38-81 { color: #2aa8d2; } +.inv38-81 { background: #2aa8d2; } +.ansi48-81 { background: #2aa8d2; } +.inv48-81 { color: #2aa8d2; } +.ansi38-112 { color: #54a800; } +.inv38-112 { background: #54a800; } +.ansi48-112 { background: #54a800; } +.inv48-112 { color: #54a800; } +.ansi38-113 { color: #54a82a; } +.inv38-113 { background: #54a82a; } +.ansi48-113 { background: #54a82a; } +.inv48-113 { color: #54a82a; } +.ansi38-114 { color: #54a854; } +.inv38-114 { background: #54a854; } +.ansi48-114 { background: #54a854; } +.inv48-114 { color: #54a854; } +.ansi38-115 { color: #54a87e; } +.inv38-115 { background: #54a87e; } +.ansi48-115 { background: #54a87e; } +.inv48-115 { color: #54a87e; } +.ansi38-116 { color: #54a8a8; } +.inv38-116 { background: #54a8a8; } +.ansi48-116 { background: #54a8a8; } +.inv48-116 { color: #54a8a8; } +.ansi38-117 { color: #54a8d2; } +.inv38-117 { background: #54a8d2; } +.ansi48-117 { background: #54a8d2; } +.inv48-117 { color: #54a8d2; } +.ansi38-148 { color: #7ea800; } +.inv38-148 { background: #7ea800; } +.ansi48-148 { background: #7ea800; } +.inv48-148 { color: #7ea800; } +.ansi38-149 { color: #7ea82a; } +.inv38-149 { background: #7ea82a; } +.ansi48-149 { background: #7ea82a; } +.inv48-149 { color: #7ea82a; } +.ansi38-150 { color: #7ea854; } +.inv38-150 { background: #7ea854; } +.ansi48-150 { background: #7ea854; } +.inv48-150 { color: #7ea854; } +.ansi38-151 { color: #7ea87e; } +.inv38-151 { background: #7ea87e; } +.ansi48-151 { background: #7ea87e; } +.inv48-151 { color: #7ea87e; } +.ansi38-152 { color: #7ea8a8; } +.inv38-152 { background: #7ea8a8; } +.ansi48-152 { background: #7ea8a8; } +.inv48-152 { color: #7ea8a8; } +.ansi38-153 { color: #7ea8d2; } +.inv38-153 { background: #7ea8d2; } +.ansi48-153 { background: #7ea8d2; } +.inv48-153 { color: #7ea8d2; } +.ansi38-184 { color: #a8a800; } +.inv38-184 { background: #a8a800; } +.ansi48-184 { background: #a8a800; } +.inv48-184 { color: #a8a800; } +.ansi38-185 { color: #a8a82a; } +.inv38-185 { background: #a8a82a; } +.ansi48-185 { background: #a8a82a; } +.inv48-185 { color: #a8a82a; } +.ansi38-186 { color: #a8a854; } +.inv38-186 { background: #a8a854; } +.ansi48-186 { background: #a8a854; } +.inv48-186 { color: #a8a854; } +.ansi38-187 { color: #a8a87e; } +.inv38-187 { background: #a8a87e; } +.ansi48-187 { background: #a8a87e; } +.inv48-187 { color: #a8a87e; } +.ansi38-188 { color: #a8a8a8; } +.inv38-188 { background: #a8a8a8; } +.ansi48-188 { background: #a8a8a8; } +.inv48-188 { color: #a8a8a8; } +.ansi38-189 { color: #a8a8d2; } +.inv38-189 { background: #a8a8d2; } +.ansi48-189 { background: #a8a8d2; } +.inv48-189 { color: #a8a8d2; } +.ansi38-220 { color: #d2a800; } +.inv38-220 { background: #d2a800; } +.ansi48-220 { background: #d2a800; } +.inv48-220 { color: #d2a800; } +.ansi38-221 { color: #d2a82a; } +.inv38-221 { background: #d2a82a; } +.ansi48-221 { background: #d2a82a; } +.inv48-221 { color: #d2a82a; } +.ansi38-222 { color: #d2a854; } +.inv38-222 { background: #d2a854; } +.ansi48-222 { background: #d2a854; } +.inv48-222 { color: #d2a854; } +.ansi38-223 { color: #d2a87e; } +.inv38-223 { background: #d2a87e; } +.ansi48-223 { background: #d2a87e; } +.inv48-223 { color: #d2a87e; } +.ansi38-224 { color: #d2a8a8; } +.inv38-224 { background: #d2a8a8; } +.ansi48-224 { background: #d2a8a8; } +.inv48-224 { color: #d2a8a8; } +.ansi38-225 { color: #d2a8d2; } +.inv38-225 { background: #d2a8d2; } +.ansi48-225 { background: #d2a8d2; } +.inv48-225 { color: #d2a8d2; } +.ansi38-46 { color: #00d200; } +.inv38-46 { background: #00d200; } +.ansi48-46 { background: #00d200; } +.inv48-46 { color: #00d200; } +.ansi38-47 { color: #00d22a; } +.inv38-47 { background: #00d22a; } +.ansi48-47 { background: #00d22a; } +.inv48-47 { color: #00d22a; } +.ansi38-48 { color: #00d254; } +.inv38-48 { background: #00d254; } +.ansi48-48 { background: #00d254; } +.inv48-48 { color: #00d254; } +.ansi38-49 { color: #00d27e; } +.inv38-49 { background: #00d27e; } +.ansi48-49 { background: #00d27e; } +.inv48-49 { color: #00d27e; } +.ansi38-50 { color: #00d2a8; } +.inv38-50 { background: #00d2a8; } +.ansi48-50 { background: #00d2a8; } +.inv48-50 { color: #00d2a8; } +.ansi38-51 { color: #00d2d2; } +.inv38-51 { background: #00d2d2; } +.ansi48-51 { background: #00d2d2; } +.inv48-51 { color: #00d2d2; } +.ansi38-82 { color: #2ad200; } +.inv38-82 { background: #2ad200; } +.ansi48-82 { background: #2ad200; } +.inv48-82 { color: #2ad200; } +.ansi38-83 { color: #2ad22a; } +.inv38-83 { background: #2ad22a; } +.ansi48-83 { background: #2ad22a; } +.inv48-83 { color: #2ad22a; } +.ansi38-84 { color: #2ad254; } +.inv38-84 { background: #2ad254; } +.ansi48-84 { background: #2ad254; } +.inv48-84 { color: #2ad254; } +.ansi38-85 { color: #2ad27e; } +.inv38-85 { background: #2ad27e; } +.ansi48-85 { background: #2ad27e; } +.inv48-85 { color: #2ad27e; } +.ansi38-86 { color: #2ad2a8; } +.inv38-86 { background: #2ad2a8; } +.ansi48-86 { background: #2ad2a8; } +.inv48-86 { color: #2ad2a8; } +.ansi38-87 { color: #2ad2d2; } +.inv38-87 { background: #2ad2d2; } +.ansi48-87 { background: #2ad2d2; } +.inv48-87 { color: #2ad2d2; } +.ansi38-118 { color: #54d200; } +.inv38-118 { background: #54d200; } +.ansi48-118 { background: #54d200; } +.inv48-118 { color: #54d200; } +.ansi38-119 { color: #54d22a; } +.inv38-119 { background: #54d22a; } +.ansi48-119 { background: #54d22a; } +.inv48-119 { color: #54d22a; } +.ansi38-120 { color: #54d254; } +.inv38-120 { background: #54d254; } +.ansi48-120 { background: #54d254; } +.inv48-120 { color: #54d254; } +.ansi38-121 { color: #54d27e; } +.inv38-121 { background: #54d27e; } +.ansi48-121 { background: #54d27e; } +.inv48-121 { color: #54d27e; } +.ansi38-122 { color: #54d2a8; } +.inv38-122 { background: #54d2a8; } +.ansi48-122 { background: #54d2a8; } +.inv48-122 { color: #54d2a8; } +.ansi38-123 { color: #54d2d2; } +.inv38-123 { background: #54d2d2; } +.ansi48-123 { background: #54d2d2; } +.inv48-123 { color: #54d2d2; } +.ansi38-154 { color: #7ed200; } +.inv38-154 { background: #7ed200; } +.ansi48-154 { background: #7ed200; } +.inv48-154 { color: #7ed200; } +.ansi38-155 { color: #7ed22a; } +.inv38-155 { background: #7ed22a; } +.ansi48-155 { background: #7ed22a; } +.inv48-155 { color: #7ed22a; } +.ansi38-156 { color: #7ed254; } +.inv38-156 { background: #7ed254; } +.ansi48-156 { background: #7ed254; } +.inv48-156 { color: #7ed254; } +.ansi38-157 { color: #7ed27e; } +.inv38-157 { background: #7ed27e; } +.ansi48-157 { background: #7ed27e; } +.inv48-157 { color: #7ed27e; } +.ansi38-158 { color: #7ed2a8; } +.inv38-158 { background: #7ed2a8; } +.ansi48-158 { background: #7ed2a8; } +.inv48-158 { color: #7ed2a8; } +.ansi38-159 { color: #7ed2d2; } +.inv38-159 { background: #7ed2d2; } +.ansi48-159 { background: #7ed2d2; } +.inv48-159 { color: #7ed2d2; } +.ansi38-190 { color: #a8d200; } +.inv38-190 { background: #a8d200; } +.ansi48-190 { background: #a8d200; } +.inv48-190 { color: #a8d200; } +.ansi38-191 { color: #a8d22a; } +.inv38-191 { background: #a8d22a; } +.ansi48-191 { background: #a8d22a; } +.inv48-191 { color: #a8d22a; } +.ansi38-192 { color: #a8d254; } +.inv38-192 { background: #a8d254; } +.ansi48-192 { background: #a8d254; } +.inv48-192 { color: #a8d254; } +.ansi38-193 { color: #a8d27e; } +.inv38-193 { background: #a8d27e; } +.ansi48-193 { background: #a8d27e; } +.inv48-193 { color: #a8d27e; } +.ansi38-194 { color: #a8d2a8; } +.inv38-194 { background: #a8d2a8; } +.ansi48-194 { background: #a8d2a8; } +.inv48-194 { color: #a8d2a8; } +.ansi38-195 { color: #a8d2d2; } +.inv38-195 { background: #a8d2d2; } +.ansi48-195 { background: #a8d2d2; } +.inv48-195 { color: #a8d2d2; } +.ansi38-226 { color: #d2d200; } +.inv38-226 { background: #d2d200; } +.ansi48-226 { background: #d2d200; } +.inv48-226 { color: #d2d200; } +.ansi38-227 { color: #d2d22a; } +.inv38-227 { background: #d2d22a; } +.ansi48-227 { background: #d2d22a; } +.inv48-227 { color: #d2d22a; } +.ansi38-228 { color: #d2d254; } +.inv38-228 { background: #d2d254; } +.ansi48-228 { background: #d2d254; } +.inv48-228 { color: #d2d254; } +.ansi38-229 { color: #d2d27e; } +.inv38-229 { background: #d2d27e; } +.ansi48-229 { background: #d2d27e; } +.inv48-229 { color: #d2d27e; } +.ansi38-230 { color: #d2d2a8; } +.inv38-230 { background: #d2d2a8; } +.ansi48-230 { background: #d2d2a8; } +.inv48-230 { color: #d2d2a8; } +.ansi38-231 { color: #d2d2d2; } +.inv38-231 { background: #d2d2d2; } +.ansi48-231 { background: #d2d2d2; } +.inv48-231 { color: #d2d2d2; } +.ansi38-232 { color: #080808; } +.inv38-232 { background: #080808; } +.ansi48-232 { background: #080808; } +.inv48-232 { color: #080808; } +.ansi38-233 { color: #121212; } +.inv38-233 { background: #121212; } +.ansi48-233 { background: #121212; } +.inv48-233 { color: #121212; } +.ansi38-234 { color: #1c1c1c; } +.inv38-234 { background: #1c1c1c; } +.ansi48-234 { background: #1c1c1c; } +.inv48-234 { color: #1c1c1c; } +.ansi38-235 { color: #262626; } +.inv38-235 { background: #262626; } +.ansi48-235 { background: #262626; } +.inv48-235 { color: #262626; } +.ansi38-236 { color: #303030; } +.inv38-236 { background: #303030; } +.ansi48-236 { background: #303030; } +.inv48-236 { color: #303030; } +.ansi38-237 { color: #3a3a3a; } +.inv38-237 { background: #3a3a3a; } +.ansi48-237 { background: #3a3a3a; } +.inv48-237 { color: #3a3a3a; } +.ansi38-238 { color: #444444; } +.inv38-238 { background: #444444; } +.ansi48-238 { background: #444444; } +.inv48-238 { color: #444444; } +.ansi38-239 { color: #4e4e4e; } +.inv38-239 { background: #4e4e4e; } +.ansi48-239 { background: #4e4e4e; } +.inv48-239 { color: #4e4e4e; } +.ansi38-240 { color: #585858; } +.inv38-240 { background: #585858; } +.ansi48-240 { background: #585858; } +.inv48-240 { color: #585858; } +.ansi38-241 { color: #626262; } +.inv38-241 { background: #626262; } +.ansi48-241 { background: #626262; } +.inv48-241 { color: #626262; } +.ansi38-242 { color: #6c6c6c; } +.inv38-242 { background: #6c6c6c; } +.ansi48-242 { background: #6c6c6c; } +.inv48-242 { color: #6c6c6c; } +.ansi38-243 { color: #767676; } +.inv38-243 { background: #767676; } +.ansi48-243 { background: #767676; } +.inv48-243 { color: #767676; } +.ansi38-244 { color: #808080; } +.inv38-244 { background: #808080; } +.ansi48-244 { background: #808080; } +.inv48-244 { color: #808080; } +.ansi38-245 { color: #8a8a8a; } +.inv38-245 { background: #8a8a8a; } +.ansi48-245 { background: #8a8a8a; } +.inv48-245 { color: #8a8a8a; } +.ansi38-246 { color: #949494; } +.inv38-246 { background: #949494; } +.ansi48-246 { background: #949494; } +.inv48-246 { color: #949494; } +.ansi38-247 { color: #9e9e9e; } +.inv38-247 { background: #9e9e9e; } +.ansi48-247 { background: #9e9e9e; } +.inv48-247 { color: #9e9e9e; } +.ansi38-248 { color: #a8a8a8; } +.inv38-248 { background: #a8a8a8; } +.ansi48-248 { background: #a8a8a8; } +.inv48-248 { color: #a8a8a8; } +.ansi38-249 { color: #b2b2b2; } +.inv38-249 { background: #b2b2b2; } +.ansi48-249 { background: #b2b2b2; } +.inv48-249 { color: #b2b2b2; } +.ansi38-250 { color: #bcbcbc; } +.inv38-250 { background: #bcbcbc; } +.ansi48-250 { background: #bcbcbc; } +.inv48-250 { color: #bcbcbc; } +.ansi38-251 { color: #c6c6c6; } +.inv38-251 { background: #c6c6c6; } +.ansi48-251 { background: #c6c6c6; } +.inv48-251 { color: #c6c6c6; } +.ansi38-252 { color: #d0d0d0; } +.inv38-252 { background: #d0d0d0; } +.ansi48-252 { background: #d0d0d0; } +.inv48-252 { color: #d0d0d0; } +.ansi38-253 { color: #dadada; } +.inv38-253 { background: #dadada; } +.ansi48-253 { background: #dadada; } +.inv48-253 { color: #dadada; } +.ansi38-254 { color: #e4e4e4; } +.inv38-254 { background: #e4e4e4; } +.ansi48-254 { background: #e4e4e4; } +.inv48-254 { color: #e4e4e4; } +.ansi38-255 { color: #eeeeee; } +.inv38-255 { background: #eeeeee; } +.ansi48-255 { background: #eeeeee; } +.inv48-255 { color: #eeeeee; } diff --git a/static/rewot.js b/static/rewot.js index 272ec2b..77b97e9 100644 --- a/static/rewot.js +++ b/static/rewot.js @@ -13,7 +13,7 @@ var timeout = null; function scroll(el) { var de = document.documentElement; - + if ((el.offsetTop < de.scrollTop) || (el.offsetTop + el.offsetHeight > de.scrollTop + de.clientHeight)) { el.scrollIntoView(); @@ -26,12 +26,12 @@ function add_line(line, visible) { div.id = "replay-div-" + counter; div.innerHTML = line || "\n"; elmain.appendChild(div); - + if (visible) { div.classList.add("replay-div-visible"); scroll(div); } - + counter += 1; return counter - 1; } @@ -50,8 +50,8 @@ function del_line(id) { function finished() { playing = false; - notice('Finished ' + - (json.meta.title || json.meta.id) + '', true); + notice('Finished ' + + (json.title || json.id) + '', true); document.getElementById("play_pause").className = "icon-play"; } @@ -79,22 +79,22 @@ function fetch_json(url, callback) { function load_log_lines() { json = JSON.parse(this.responseText); - + if (!json) { notice("Loading failed", true); return; } - - var ready = notice((json.meta.title || json.meta.id) + + + var ready = notice((json.title || json.id) + ' loaded Play', false); - - json.log.forEach(function(line) { - json.log[line.lineno - 1].lineid = - add_line(line.line, false); + + json.replay.forEach(function(line) { + json.replay[line.lineno - 1].lineid = + add_line(line.text, false); }); - - document.getElementById("progress").max = json.log.length; - document.title = "ReWoT :: " + (json.meta.title || json.meta.id); + + document.getElementById("progress").max = json.lines; + document.title = "ReWoT :: " + (json.title || json.id); document.getElementById("play_pause").className = "icon-play"; update_progress(); show_line(ready); @@ -107,7 +107,7 @@ function load_log(url) { function play_pause() { var el = document.getElementById("play_pause"); - + if (playing) { if (timeout) { window.clearTimeout(timeout); @@ -122,8 +122,8 @@ function play_pause() { if (pausedid) { del_line(pausedid); } - if (lineno > json.log.slice(-1)[0].lineno) { - lineno = json.log.slice(-1)[0].lineno; + if (lineno > json.replay.slice(-1)[0].lineno) { + lineno = json.replay.slice(-1)[0].lineno; } else if (lineno < 1) { lineno = 1; } @@ -136,25 +136,25 @@ function play_pause() { } function replay_log() { - if (!json.log[lineno] || !playing) { + if (!json.replay[lineno] || !playing) { return; } - - show_line(json.log[lineno].lineid); - + + show_line(json.replay[lineno].lineid); + if (direction == "forward") { lineno += 1; } else { - hide_line(json.log[lineno].lineid); + hide_line(json.replay[lineno].lineid); lineno -= 1; } - - if (json.log[lineno]) { + + if (json.replay[lineno]) { if (fast_forward_lines) { fast_forward_lines -= 1; replay_log(); } else { - var d = parseFloat(json.log[lineno].delta) * speed; + var d = parseFloat(json.replay[lineno].delta) * speed; if (d > 4000) { d = 4000; } @@ -188,13 +188,11 @@ function hide_line(id) { } function update_lineno() { - document.getElementById("lineno").innerHTML = json.log[lineno].lineno; + document.getElementById("lineno").innerHTML = json.replay[lineno].lineno; } function update_progress() { var el = document.getElementById("progress"); - el.value = json.log[lineno].lineno; - el.title = json.log[lineno].lineno + " / " + el.max; + el.value = json.replay[lineno].lineno; + el.title = json.replay[lineno].lineno + " / " + el.max; } - - diff --git a/templates/replay.html b/templates/replay.html new file mode 100644 index 0000000..7834bf5 --- /dev/null +++ b/templates/replay.html @@ -0,0 +1,81 @@ + + + + + + ReWoT + + + + + + +
+

ReWoT

+ +
+ +
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + + + + + + + + + +
+ + + + + x1 +
+ # + + +
+
+ +
+ + +
+ + + + + +