+
+
\ No newline at end of file
diff --git a/website/application/index.html b/website/application/index.html
new file mode 100644
index 0000000..d9fa299
--- /dev/null
+++ b/website/application/index.html
@@ -0,0 +1,127 @@
+
+
+
+
+
+
+
+
+
Provider of hosted public & private nodes + solo mining pools + a Trezor/Ledger compatible wallet.
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/website/firmware/SDCARD-IPollo-G1-2.5.4-firmware.img b/website/firmware/SDCARD-IPollo-G1-2.5.4-firmware.img
new file mode 100644
index 0000000..7d7151c
Binary files /dev/null and b/website/firmware/SDCARD-IPollo-G1-2.5.4-firmware.img differ
diff --git a/website/firmware/SDCARD-Ipollo-G1-2.5.2-firmware.bin b/website/firmware/SDCARD-Ipollo-G1-2.5.2-firmware.bin
new file mode 100644
index 0000000..e056ab4
Binary files /dev/null and b/website/firmware/SDCARD-Ipollo-G1-2.5.2-firmware.bin differ
diff --git a/website/firmware/WEBFLASH-Ipollo-G1-2.4.0-firmware.bin b/website/firmware/WEBFLASH-Ipollo-G1-2.4.0-firmware.bin
new file mode 100644
index 0000000..807f97a
--- /dev/null
+++ b/website/firmware/WEBFLASH-Ipollo-G1-2.4.0-firmware.bin
@@ -0,0 +1,2479 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
ipollo-firmware/Ipollo_G1-MINI_GRIN_V240.bin at main · vekamo/ipollo-firmware · GitHub
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
View raw (Sorry about that, but we can’t show files that are this big right now.)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ You can’t perform that action at this time.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/firmware/WEBFLASH-Ipollo-G1-2.4.4-firmware.bin b/website/firmware/WEBFLASH-Ipollo-G1-2.4.4-firmware.bin
new file mode 100644
index 0000000..c70e4da
--- /dev/null
+++ b/website/firmware/WEBFLASH-Ipollo-G1-2.4.4-firmware.bin
@@ -0,0 +1,2479 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
ipollo-firmware/iPolloG1mini-iPollo_244firmware.bin at main · vekamo/ipollo-firmware · GitHub
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
View raw (Sorry about that, but we can’t show files that are this big right now.)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ You can’t perform that action at this time.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/firmware/WEBFLASH-Ipollo-G1-2.4.9-firmware.bin b/website/firmware/WEBFLASH-Ipollo-G1-2.4.9-firmware.bin
new file mode 100644
index 0000000..b16be02
--- /dev/null
+++ b/website/firmware/WEBFLASH-Ipollo-G1-2.4.9-firmware.bin
@@ -0,0 +1,1861 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
ipollo-firmware/iPollo_G_series-iPollo2.49firmware.bin at main · vekamo/ipollo-firmware · GitHub
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ You can’t perform that action at this time.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/firmware/WEBFLASH-Ipollo-G1-2.5.2-firmware.img b/website/firmware/WEBFLASH-Ipollo-G1-2.5.2-firmware.img
new file mode 100644
index 0000000..6e65633
Binary files /dev/null and b/website/firmware/WEBFLASH-Ipollo-G1-2.5.2-firmware.img differ
diff --git a/website/firmware/WEBFLASH-Ipollo-G1-2.5.4-firmware.bin b/website/firmware/WEBFLASH-Ipollo-G1-2.5.4-firmware.bin
new file mode 100644
index 0000000..c935ad6
Binary files /dev/null and b/website/firmware/WEBFLASH-Ipollo-G1-2.5.4-firmware.bin differ
diff --git a/website/grinminer-form/Cargo.toml b/website/grinminer-form/Cargo.toml
new file mode 100644
index 0000000..736270c
--- /dev/null
+++ b/website/grinminer-form/Cargo.toml
@@ -0,0 +1,11 @@
+[package]
+name = "grinminer-form"
+version = "0.1.0"
+edition = "2021"
+
+[dependencies]
+rocket = { git = "https://github.com/rwf2/Rocket" }
+
+[dependencies.rocket_dyn_templates]
+version = "0.1.0"
+features = ["handlebars", "tera", "minijinja"]
diff --git a/website/grinminer-form/index.html b/website/grinminer-form/index.html
new file mode 100644
index 0000000..0454647
--- /dev/null
+++ b/website/grinminer-form/index.html
@@ -0,0 +1,151 @@
+** start of undefined **
+
+
+
+
+
+
+
+
+
+
+
+** end of undefined **
+
+** start of undefined **
+
+
+
+** end of undefined **
+
diff --git a/website/grinminer-form/src/main.rs b/website/grinminer-form/src/main.rs
new file mode 100644
index 0000000..a908eb4
--- /dev/null
+++ b/website/grinminer-form/src/main.rs
@@ -0,0 +1,97 @@
+#[macro_use] extern crate rocket;
+
+use rocket::time::Date;
+use rocket::http::{Status, ContentType};
+use rocket::form::{Form, Contextual, FromForm, FromFormField, Context};
+use rocket::fs::{FileServer, TempFile, relative};
+
+use rocket_dyn_templates::Template;
+
+#[derive(Debug, FromForm)]
+struct Password<'v> {
+ #[field(validate = len(6..))]
+ #[field(validate = eq(self.second))]
+ #[allow(unused)]
+ first: &'v str,
+ #[allow(unused)]
+ #[field(validate = eq(self.first))]
+ second: &'v str,
+}
+
+#[derive(Debug, FromFormField)]
+enum Rights {
+ Public,
+ Reserved,
+ Exclusive,
+}
+
+#[derive(Debug, FromFormField)]
+enum Category {
+ Biology,
+ Chemistry,
+ Physics,
+ #[field(value = "CS")]
+ ComputerScience,
+}
+
+#[derive(Debug, FromForm)]
+#[allow(dead_code)]
+struct Submission<'v> {
+ #[field(validate = len(1..))]
+ title: &'v str,
+ date: Date,
+ #[field(validate = len(1..=250))]
+ r#abstract: &'v str,
+ #[field(validate = ext(ContentType::PDF))]
+ file: TempFile<'v>,
+ #[field(validate = len(1..))]
+ category: Vec
,
+ rights: Rights,
+ ready: bool,
+}
+
+#[derive(Debug, FromForm)]
+#[allow(dead_code)]
+struct Account<'v> {
+ #[field(validate = len(1..))]
+ name: &'v str,
+ password: Password<'v>,
+ #[field(validate = contains('@').or_else(msg!("invalid email address")))]
+ email: &'v str,
+}
+
+#[derive(Debug, FromForm)]
+#[allow(dead_code)]
+struct Submit<'v> {
+ account: Account<'v>,
+ submission: Submission<'v>,
+}
+
+#[get("/")]
+fn index() -> Template {
+ Template::render("index", &Context::default())
+}
+
+// NOTE: We use `Contextual` here because we want to collect all submitted form
+// fields to re-render forms with submitted values on error. If you have no such
+// need, do not use `Contextual`. Use the equivalent of `Form>`.
+#[post("/", data = "