From 1f78b34072693e94eb4e5ae0db1e8d7bc60807b2 Mon Sep 17 00:00:00 2001 From: Daniel Micay Date: Thu, 25 Apr 2019 17:58:53 -0400 Subject: [PATCH] initial commit based on seamlessupdate.app --- deploy_static | 17 ++++ static/favicon.ico | Bin 0 -> 34494 bytes static/grapheneos.css | 69 ++++++++++++++++ static/grapheneos.js | 86 ++++++++++++++++++++ static/index.html | 123 +++++++++++++++++++++++++++++ static/roboto_bold_latin.woff2 | Bin 0 -> 15436 bytes static/roboto_latin.woff2 | Bin 0 -> 15344 bytes static/robotomono_bold_latin.woff2 | Bin 0 -> 15956 bytes static/robotomono_latin.woff2 | Bin 0 -> 16028 bytes static/robots.txt | 2 + static/sitemap.xml | 9 +++ 11 files changed, 306 insertions(+) create mode 100755 deploy_static create mode 100644 static/favicon.ico create mode 100644 static/grapheneos.css create mode 100644 static/grapheneos.js create mode 100644 static/index.html create mode 100644 static/roboto_bold_latin.woff2 create mode 100644 static/roboto_latin.woff2 create mode 100644 static/robotomono_bold_latin.woff2 create mode 100644 static/robotomono_latin.woff2 create mode 100644 static/robots.txt create mode 100644 static/sitemap.xml diff --git a/deploy_static b/deploy_static new file mode 100755 index 00000000..03d29071 --- /dev/null +++ b/deploy_static @@ -0,0 +1,17 @@ +#!/bin/bash -x + +set -o errexit + +remote=root@grapheneos.org +current=$(ssh $remote readlink /var/www/html) + +if [[ $current = html_a ]]; then + target=html_b +else + target=html_a +fi + +ssh $remote rm -rf /var/www/$target +scp -r static $remote:/var/www/$target +ssh $remote chmod -R a+rX /var/www/$target +ssh $remote ln -snf $target /var/www/html diff --git a/static/favicon.ico b/static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..5280b75619a662087af5908ad88a5656e7b74f8a GIT binary patch literal 34494 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 literal 0 HcmV?d00001 diff --git a/static/grapheneos.css b/static/grapheneos.css new file mode 100644 index 00000000..e9f86049 --- /dev/null +++ b/static/grapheneos.css @@ -0,0 +1,69 @@ +/* use the standard Material Light theme to match the Updater app */ +/* https://android.googlesource.com/platform/frameworks/base/+/android-8.1.0_r15/core/res/res/values/colors_material.xml */ + +body { + font-family: Roboto, sans-serif; + background-color: #fafafa; /* grey50 */ + color: rgba(0, 0, 0, 0.87); /* 87% black */ + margin: 0; + padding: 0; +} + +pre { + overflow-x: auto; +} + +code, pre { + font-family: "Roboto Mono", monospace; +} + +a { + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +#content { + margin: auto; + padding: 1em; + max-width: 800px; + overflow-wrap: break-word; +} + +/* latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + src: local('Roboto'), local('Roboto-Regular'), url(/roboto_latin.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} + +/* latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + src: local('Roboto Bold'), local('Roboto-Bold'), url(/roboto_bold_latin.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} + +/* latin */ +@font-face { + font-family: 'Roboto Mono'; + font-style: normal; + font-weight: 400; + src: local('Roboto Mono'), local('RobotoMono-Regular'), url(/robotomono_latin.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} + +/* latin */ +@font-face { + font-family: 'Roboto Mono'; + font-style: normal; + font-weight: 700; + src: local('Roboto Mono Bold'), local('RobotoMono-Bold'), url(/robotomono_bold_latin.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} diff --git a/static/grapheneos.js b/static/grapheneos.js new file mode 100644 index 00000000..d5ba5082 --- /dev/null +++ b/static/grapheneos.js @@ -0,0 +1,86 @@ +"use strict"; + +const devices = ["blueline", "crosshatch", "taimen", "walleye"]; +const channels = ["stable", "beta"]; + +function createLink(href, text) { + const link = document.createElement("a"); + link.appendChild(document.createTextNode(text)); + link.href = href; + return link; +} + +function deviceModel(device) { + if (device === "blueline") { + return "Pixel 3"; + } + if (device === "crosshatch") { + return "Pixel 3 XL"; + } + if (device === "marlin") { + return "Pixel XL"; + } + if (device === "sailfish") { + return "Pixel"; + } + if (device === "taimen") { + return "Pixel 2 XL"; + } + if (device === "walleye") { + return "Pixel 2"; + } + return "Unknown"; +} + +for (const channel of channels) { + for (const device of devices) { + fetch("https://seamlessupdate.app/" + device + "-" + channel).then(response => { + if (!response.ok) { + return Promise.reject(); + } + return response.text(); + }).then(text => { + const metadata = text.trim().split(" "); + const date = new Date(parseInt(metadata[1], 10) * 1000); + const dateString = date.toISOString().replace("T", " ").replace("Z", "").split(".")[0]; + + const baseUrl = "https://seamlessupdate.app/"; + + const factoryFilename = device + "-factory-" + metadata[0] + ".zip"; + const factoryUrl = baseUrl + factoryFilename; + + const updateFilename = device + "-ota_update-" + metadata[0] + ".zip"; + const updateUrl = baseUrl + updateFilename; + + const list = document.getElementById(channel); + + const model = deviceModel(device); + + const release = document.createElement("div"); + release.dataset.model = model; + + const header = document.createElement("h3"); + header.appendChild(document.createTextNode(model)); + release.appendChild(header); + + const version = document.createElement("p"); + version.appendChild(document.createTextNode("Version: " + metadata[2] + "." + metadata[0])); + release.appendChild(version); + + release.appendChild(createLink(factoryUrl, factoryFilename)); + release.appendChild(document.createElement("br")); + release.appendChild(createLink(factoryUrl + ".sig", factoryFilename + ".sig")); + release.appendChild(document.createElement("br")); + release.appendChild(createLink(updateUrl, updateFilename)); + + for (const item of list.children) { + if (model < item.dataset.model) { + list.insertBefore(release, item); + return; + } + } + + list.appendChild(release); + }); + } +} diff --git a/static/index.html b/static/index.html new file mode 100644 index 00000000..dc3acf1d --- /dev/null +++ b/static/index.html @@ -0,0 +1,123 @@ + + + + + + + + GrapheneOS + + + +
+

GrapheneOS releases

+

These are early sample releases of GrapheneOS, an open source privacy and security + oriented mobile OS with Android app compatibility. Many past features of the project + still need to be ported to the current releases. The project is in the 5th year of + development and has been reborn as a non-profit open source project not strongly + associated with any specific company or organization. It will take some time for the + pieces to come into place turning it into a much broader and more sustainable project + with a strong development team. There are multiple organizations and companies in the + process of backing this new incarnation of the hardened mobile OS project.

+

See the GitHub organization for sources + of the OS sub-projects including the cutting edge + new + hardened memory allocator.

+

These official GrapheneOS releases are supported by the + Auditor app and + attestation service for hardware-based + attestation. For more details, see the about page and tutorial.

+

The sources are available via the + manifest on GitHub.

+

Bitcoin donations can be sent to 3QpKs45BLXirWAgYtV1sTCbAkfUe7HByR5 to support the + project. Alternatively, PayPal donations can be sent to danielmicay@gmail.com (please + state that it's a GrapheneOS donation in the payment reason). Other ways of making + donations will be provided in the future including donations via a registered charity + in the US supporting the project.

+

Installation

+

Prerequisites

+

You should have at least 2GB of free memory available.

+

You need the unlocked variant of one of the supported devices, not a locked carrier + specific variant.

+

You need an updated copy of the fastboot tool and it needs to be + included in your PATH environment variable. You can run fastboot + --version to determine the current version. It should be at least + 28.0.0. Don't proceed with the installation process until this is set up + properly in your current shell. A very common mistake is using an outdated copy of + fastboot from a Linux distribution package not receiving regular updates. + Make sure that the fastboot found earliest in your PATH is + the correct one if you have multiple copies on your system. You can run which + fastboot to determine where the tool being used is coming from. Older versions + do not have support for current devices. Very old versions of fastboot + from several years ago are still shipped by Linux distributions like Debian and lack + the compatibility detection of modern versions so they can soft brick devices.

+

Enabling OEM unlocking

+

OEM unlocking needs to be enabled from within the operating system.

+

Enable the developer settings menu by going to Settings -> System -> About phone + and pressing on the build number menu entry until developer mode is enabled.

+

Next, go to Settings -> System -> Advanced -> Developer settings and toggle on the + 'Enable OEM unlocking' setting. This requires internet access on devices with Google + Play Services.

+

Unlocking the bootloader

+

First, boot into the bootloader interface. You can do this by turning off the + device and then turning it on by holding both the Volume Down and Power buttons.

+

The bootloader now needs to be unlocked to allow flashing new images:

+
fastboot flashing unlock
+

The command needs to be confirmed on the device.

+

Obtaining factory images

+

The initial install will be performed by flashing the factory images. This will + replace the existing OS installation and wipe all the existing data.

+

You can download the factory images from the bottom of this page.

+

Verify the official factory images using the GPG signature:

+
gpg --recv-keys 65EEFE022108E2B708CBFCF7F9E712E59AF5F22A
+gpg --verify blueline-factory-2018.12.21.18.zip.sig blueline-factory-2018.12.21.18.zip
+

When this signing key is replaced, the new key will be signed with it.

+

Flashing factory images

+

Next, extract the factory images and run the script to flash them. Note that the + fastboot command run by the flashing script requires a fair bit of free + space in a temporary directory, which defaults to /tmp:

+

unzip blueline-factory-2018.12.21.18.zip
+cd blueline-pq1a.181205.006
+./flash-all.sh
+

Use a different temporary directory if your /tmp doesn't have enough + space available:

+
mkdir tmp
+TMPDIR="$PWD/tmp" ./flash-all.sh
+

Wait for the flashing process to complete and for the device to boot up using the + new operating system.

+

You should now proceed to locking the bootloader before using the device as locking + wipes the data again.

+

Locking the bootloader

+

Locking the bootloader is important as it enables full verified boot. It also prevents using + fastboot to flash, format or erase partitions. Verified boot will detect modifications to any of + the OS partitions (vbmeta, boot/dtbo, system, vendor) and it will prevent reading any modified / + corrupted data. If changes are detected, error correction data is used to attempt to obtain the + original data at which point it's verified again which makes verified boot robust to non-malicious + corruption.

+

Reboot into the bootloader menu and set it to locked:

+
fastboot flashing lock
+

The command needs to be confirmed on the device since it needs to perform a factory + reset.

+

Unlocking the bootloader again will perform a factory reset.

+

Disabling OEM unlocking

+

OEM unlocking can be disabled again in the developer settings menu within the + operating system after booting it up again.

+

Replacing GrapheneOS with the stock OS

+

Installation of the stock OS via the stock factory images is the same process + described above. However, before locking, there's an additional step to fully revert + the device to a clean factory state.

+

The GrapheneOS factory images flash a non-stock Android Verified Boot key which + needs to be erased to fully revert back to a stock device state. After flashing the + stock factory images and before locking the bootloader, you should erase the custom + Android Verified Boot key to untrust it:

+
fastboot erase avb_custom_key
+

Stable channel

+
+

Beta channel

+
+ +
+ + diff --git a/static/roboto_bold_latin.woff2 b/static/roboto_bold_latin.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..e327dc95b6a3b75d2cfecfc611b84526dd360cb7 GIT binary patch literal 15436 zcmXT-cQayOWME)mu<>CK0?}PH3=GyUAz~mtDwax-o>?W+?8TPA(B{M8!P#sh$ivlm zRiJTCDtB`ngHU4yqZyM5bGsRf0&7zpy8=&>rnGsr=$jkf4WAnnj%3%(ZF>1k>0Oz| z)SnxpdwH$|xlU90{ok8O)>&tV`ik4tPToDvYQo=7p1Y~;qsYRw(-B)ph&F+ca} z2^mNCeHM{ZvfdXL9(w-GyajLmzwu~0wNRpG#hEjD!8@`Z-(K%)B{cPk5w`TJnU>4+TP?4B+N40#qy^5~LrR#SsTdhjvM9;P^D!u4A_xRM1 zlING^7WcmtU3KpI1BRT)l@nHbT{Fw~6XCCv+IQYi$5Sw};@jGs(zQ2gKle{fUD)^E zKmF(a6v=;QBFYZQDokB@DbsCP?92xh@BOybE34{McB@@k%BrKKax-p4-uJIFV{UtI z4%q1RtfOK(=Oho6z7@I?7oC1K<3_=Z1B@s8HS^K8@)M_Th+|ZcXoBG}CnL4sBTRY5My3XC( z|N8g7bI+|x)bA!*3x{j06I61S{rqQtVUKQ4)YaX;wlOfiwD!9H*5J9C{vT6uh1QTi zdrtN-FbS9cduQFudAUU3$TWG6T_qE2Div6{94aalmU=m!3T-NR&1{`6%)-R%Ai^La zz@RXpM1Y}1P`1V9#e|)v8gV~rirJ2O=YR8GSaJ2+T~-lAMuvN>d^?l#LTw4z({aw4p;%9|7-qGu>5o!REGGy3wG zrZN||B{#o`Z7nrnwURl&u(|U5w2H0Ac8l)QT9FgG*s(ja)oOk#_l^$l9X+03cWi(5 zfyMtL&-ts}*Y+OK-g8X4<_MG6#+KBrmu7{oNsP_il2mMaWckcbf$tkPcAS=OPr70~ zMQp~FgKNy?4l1yonRS+hf8IOhrU|i+Z;H&9>(Y!$+xThIvDZ5;?NaQVnC7`D>F*wg z2nVJ`5!)Y4{2te`?5HSXcoip9G3eRN#{ZaXl)C}0qtTG2SYqV;;kWvfZHnL1T99-G*iB+mBl+tZ&T z#v`_|SqFF8nC8 z{)1HhmE$|aHgu@!L~B&|v-BR@_-o6l_jm6l>27>8+fV4go7( zmq!z4#@;y>B!5hITbJv6c22VoUqa-o<^JsxFPxRRSZ~sjT^DQSul(~ebdu(hy&OL? zFC=j9b6-=pO(iUO{v!P(tE*ct{&iOO%+dON=go}r(~$?=jJ@9-QZwY->}7g-VVZ3F zw}+o&S|^DAKT+!}EtM91d5_)SFO@;dr!LoN6RnE>nDKmH@%w+vug|Wwz4az-t+0Re zgmwF!UDvwY((>b9QEt6=$?GEXSNpdwxw-l4(^uMS%LL*sr}WP$S6`i@kCis{^av*zT zlkVc18yT|P+`<$c6`0FCcnq4{-5in>by}1XH23Ko=|4I(vN6AX-yFAyrTLxv=7?>W z6c$#bCsTA!<;In@p0mnCPv!n^I8)_uLs?Ys)yC%+;#y8uyySKKd|SD83(vy1bpoD~ zmgxHm>3DZ7&5Sasxlw1}GyCZT3AeNviEc3)oertE7`3Q!3Muwn(^}AMk-@#vg~RC= zhmXM%f$mSI7KljCRN#!-7_Vcu#>se1QMJcft4&gqR6HlEc>cb0?$D{G3u0mY2|`MO z9431hU%GX0RIQC@FKXIfwQSv?ns;{k$;YzY68;+>XbdT+Bhz0&LmW&;30%>B!#1Wi7l?6YOeEY)E#KG0)Oze$*{j z93&so#Cyt(rH{esMOrDy0^tscIzJ;e1W-BxFJWx2v?BKI)-Iw|A zr%1nx{&bRW$!&>3<+x+7bCtAnHXN1vE%R8`zAxy%^@IlJ^5W!WcfTCiblz*%_pFGd z+y@8W-Tq-HcA`(a`>IG^?E;r(1$ht{5FYr0i1`$693$i2EbOHY<zK?;oWZ$+F9{&ZW?NneXyf(f)Hui6FV4qA=|=DEy7{MguRY70Gf9C8 zEzb`2&Z~~mKKnMp^e~^fTzGACPo(CdiL0X@CwHejK4tQ7>f*JIZV~!th2r+Mcx}`C zE&KX9lLG60Jq|CwU9mDNo}VgRot2uy8UE?J$cp9zO_M&H^51t$sAB%JY=+rqU6(lW zCw;06*X5A2zW@EGuKbtRuOBWu@{W1Qe|CnCwhZy?FZMEP6#U3Lsi?sbpkgDQ(DvYX z)Jn!V9Qh0?2a35l3+5YfamA`BE!eMOF(-^^Q~h(9?JOKYUW|+ZEe;Jl)nbf4)l8>s z^_2a*mhJ0t36IQ0k3YK{{we0au0*W-)Q4T)!WJLB)cNt&gMIq0`M%*?E*meNUz-wl zYVOrAd7ZG-how)~WX%l^-z2m&G-}bG4}9XnZ_d5;+ZG+XP_wkN_-)RGdpo+n{rSA= z3tKzi)x!O}wvSF`8C&kZ+FCx>X|XQf^BWRxU0#}L8CYvPeR8&UqILJRZ9#0k&2!g= zgq@!BQ)rIBj->X#s&TxBW)?T!Ug5epb#?RVIR*#b%{hMg(VC}zg<*0RgU$wX2`+3o zIw$){$GOGn{dy187FuoXoaMp%%3=2+PnpdpDLXRz$~bxkCnLDx66Ib8qf;oWW7 zTY47!7k{pFa{nrYYsdGUYhlgzc$<4=BByfUgPCjd9?d@WBfE0N&e!Eqi>_UMyX*Q2 z$*^fPiqe`<`b`V;;@rNSdhv^S@|9OvNeA;gqSLQ#xPRsMrhBph-*pRg{_|<_o03R|$V+$sp z_{!y2-?s_-`x}iOeU<&6p1j8YZ}3OTk*c}>F1Uwy0N>nedNxa zSpMN>v}{(zlYTc5vSJ@Ynj?-&0AjfJQ8E}zGH z|62b~x4A8aY8nQc^=JMIn|}Di*RW*|6^`4_wBg&+ygn-8<$cbzaqef6YrEz=f4C<) zyRLl6+Eb<{vlQ2_iWOA;#=qpDukP04H&tbA^G#2kT2~8vd~^O}@U-4Zbtw^Ick9azXk1KvnG@;%G{${phx9yqxl<5+s+89E%^l4RtB(maXl=eGaPFmFzmn>MX&r}xoaf~!3hYqb%%-!u zV!N(*fTV%U|H);CIR&_qat~h!>|U{G^*l}4vPLs)!6IKx?o+Re)2~WKsvQa5k+{e~ zqe-1*@B0;EtA-OB>tSv>*BE zx7hDkc{7uttv|;7MEZC2OFL(z`L?A56utYy^E{(?v#op zg-a|C&YHXJ^yY~X9?_;3;{Q%ms(jx0c4D4iNun3qs=hfNH1l#(ITys3h-Au?w1-|* z6#4e^+QwsnJ6C9yg#^B1t!rs2xs`kI$6SY&vsc`B?LHje68y8|)ch}hU-pR3@mzE0 zsIYXhd+-~*S?6m0c_ic>h~n>P<;!Kx_u0aAPmc8(lh9$u*+-k%WqUrjXo@yQcwDp8 zh%b}3Txe?XO1l4FI@geW!HvZ`j!N#@t)lBt?vkVS?&3}!!PWcHch)|tx0}q`e7*Ev zb+g;%D@qq6B^Q0qlU_YDWJ_6{M_;>bV)C1CqawA5GQ7q*mzm3LJ;EY5e%I^9DBoZ8 z#LM~Gq%%{mik{fDJ7o9Six=d3O6ni*{+`JY!!Eel{xG|W*4j#z^le=8doNaOQrdRJ ziu0PX_ooBD4t*C|oZ=~dL#yG-{s-24oxfxr?mOw)WVGk%F2l{MbbVA8C_F#EBRt-8 zy`QAu>EvVWQ)kP(QAzvIyZ!O%+g_wlXY9}?;M?B6LtuX)mSH_~%Vlq^pF z6rC%v)y`Frb#2=8W{X*8r|SG)xowumtG4&5pGCyA%n}R_^c;A!(I_P(ZCkp+W5GTa z?paUW-S3~YQ)Q1xU2Ar~a$d%!Wv}!9dZqVDT3ozwW$Gotxc^%xOjpg4n^2m?Z@qsVSl!0ZV7hnfYj2BX4!ux~M74+jHXU zYZZedb4-i&r#e21oEBp4q%iCL`W|kVtGuH7)aPGL=sR4aR3DLQ!}QAc9jAiAlr)uJ zO!=8+q8{(fyHg}LE>oB@>&}4*0`J!vMW*U{I;GsP-E!Py@{2Yeg(fG7>MTQZvv;?< zO78#Y^~~L(c`eg_#;3KO!W;}{DVsQ!&(PsJA*3yvS+nGO?fIWcN&Ha{L{{ZLS@-XK z+j8dU@_WXazn4C|W$;t-+Kp@CuU0SHJmXrJ-Aq60SjE$qMJ~@@boJKa%HzvQwlCej z^UVpKuO}k6{i=|;6dENdyr6Vm;0rD*=_=E2_su^4{kVVWgzay6`d6$kdBOHYGN zg6#6AZZd0lr0TxqIDN{z&b{x?+5GU2nU0z~<@(!pKUSQt`(IgZqRe5T`N{qA^QZ5+ zS^0S0ncwpN9|Z5bDHEn)&G>a~tGQJ`r0uP6Pi?ukYu8AByZ<_X1$W~ zjbp3$&gry&aNc-P!0hJ3fIW-j>>H(=mIw3Q+O6U_DS684^I2z4rtZ*Lwmn}?$JjV$ zb?>XatJW^NT)Wrq+=it$N__1X%YEb$PB58&{qNO1XO3)GI_Yw?(ZXcm8Bzm(c_u&GI zqY+C#U-UgEB^LHF;MVW_2WlO?KNnp4DxW!3Wol^V>9kvcH+`a|<@u$q9(R6R_RQGk z{Q=`OrA^zv?SFPVdVlZ3*hRbk&))Mdm*xE-%{hFpx_P)QxcFIoS!DVj{rKj5JfmWd zdH3dbe|>tL;&*-gQthC!d#;p(#B1RrPmit=Pu(ANZq5G>uWx>Rv7`Jb@3%KB@;|G> zvU5^;__dWLobC9$?6EN4{3_X~Ej?AWsw%Yx9R(Hjw<>Ol9=&>X`lasaAK$ef-g|iR zqP_8Tc0t*fHm|PVdY>i#kcjQtpQTyX^MYDMdp57%bNYwJoo&|)xQsojHt?+tS+=LP zc*o8U%ulBj0;IHg5zw#3ELJ3oB>I(cWjzM)F={}~nWWjy8w%(d(e z^b0Tk)b&#I*}G?=XRMxx-aOuQMpf-bVe;(sX{`1k>3Ms#*Q}@vpR35`ws?`Uwd|2M z2fjVGTvmNauO(`Fl>GI#dWBbPkA#%n{cTf~pY-i&&SaaWiVta`N2QmQ6@J zs8Dcl<$Bf3$I>N7=N9u`cr<6%nmgCCcx?IVBFh7+UNAX5Zh!PkFDK12>DI(^t_JUS zTkNtj@mczBT21n_7k(@(dULJ!86KSZ&Zl73&*JS`E$TIgo_{)A{9Z_V`ogX0w*uo9 zHqKjk($K|fYwm{Cf4QW%{8ab!x_|m`t=d`E-99~+KYqvJy*ujm#c=qYV+&^s_`@8k zmHde}ZS$wrWm=0vovo^OK4wS^KltRykLcT>_O^TPU#$K2W^-Eh(T|&#Pj$P!=7969 z&0*F@H@+}`_x{03zKAz>b28t>GJn2OzW09g?A_)EY;r{$lH2ooe$_1%+qzYy3>5FSZMwAeD+g)8PjQ9yR0*NC;Bhk z(H;Fzpeg>5v5?c@$&)T`Z|1$bY39m%ZHo7f%y*R!<~skEE8qIp)YHG0Hwa7;oh>l? zT-lPapVQyoEsXhF@n+Mh%lghY4x9RG@#j2V6l8l?=C_`IoLY?C_pR>7Igif&wZ)%p zqj2blU$TdMNyS-A}HB8OI zvmfd@=l1XA&R=`i>NAVX&DT1brKgont@!Npg?po0!h?j_dA9wo`vUi$?0?Xyrobrm zU~ALls{B3S;ztyJADVsWw8tI6zdt^8{at!#TH+DQ>kpg-e3_1@%-<CV6Y z8ShWs&G)`Ah2;oGUjaYw>eu12JZnog-T9hc_y23(h9|bK77RDu zUBEoX@|H8YRT44{cW*8K7`oG(TW6~2p1<1cOXmo5uQ|~v_r-Vhn++c-h1FsvJUi(r z(!XkQ^PgtrAhpB0p6|MuE_Y{F%B#-S`;sre%UOQOc^4V6;_SM5^O8J&mZjY-i&9q? z$*()MWqI8P<89|9`@OP#&sfU%b3XeP_t)o-yn4iZ8-chCk&??68v079I~?}?i*kAy z!LaG6N!^v}txsnsi*P(-lzQ-X_Z7`oRYlY0@v#4P=JD1RTikclAbiR)mHB&W9xrJ& zO}pr^dVx*oHq#4FeqK58@OkHlg5L-0ze~1-WJ=55o4QcM{kC3d1KTUDB5sj`TUxrZ z`RD$6^jq$;`@6IALgps~+tz$4H9jEpuSI_D!>Ne^zu5gfCuc9^)7j_q&g$ZvJMu?8 z-)!Dm*YY=ip21~tq5tCi0s5}3O3Its^7meJdK7SW&bqTm%R~NMJB(iHO;cH9{`98Zu18Fd>kiL1-tH~O zx`dC_Q&C3w?j8v__S&h^xh?0<&kZ-L&GFn){dD02UzeAG*3Yb3Z0n8`eA4TmyOYy5 z{&>7h-db~xzpMQYRwyv#*nCTr+@u+y7brb8-Xhhp7USGz1+^k^7)J}TcT#)aJQP&wt0Kvn{=UXTb6C* z-+ZY3DJn-+*z| zR?dVHrzN_rzH{wHTCnQwiMh7YYhV1dwhw!MK6n58u;i+$ospGnY#iq% zn@?I}7$|$Q{N1+nr(z)?pS_xHue;yTkx?0&$!fETasD)nN>{=_l{P8)Tgy=|C zogN{hphfR|)Q%pllDWNPiQC;>b0m(l9{Z5CNN�zLcEG-%l;{1kKwftDbn(`%?8) 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 pmr2Gfx=_vWXrV%wuk-B}9_E&w|RoizXe literal 0 HcmV?d00001 diff --git a/static/robotomono_bold_latin.woff2 b/static/robotomono_bold_latin.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..d4c3305c3d98de68534ec05c784609a4c8dc2314 GIT binary patch literal 15956 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 Ldu6%hHX9iLhkVs# literal 0 HcmV?d00001 diff --git a/static/robotomono_latin.woff2 b/static/robotomono_latin.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..6163de7b0ab1b46dfa01699d5d520fe2bf24980d GIT binary patch literal 16028 zcmXT-cQayOWME)mu$#lc527o-FfiCTK*T_NR4k*wmcY=I!_g?iIbB?kgRAjiO5+A* z?q(|nMl&WA<~BAK1=i*y_7-uTMm_0(Jk{hoXWx`LuuOcV+vma|&F+!%;MEC-4TT#n zwr$_^|No3RJ&HQ~&R4BEQxEEt-#PJR4qq7i$7^}+-O{xu=9Brb>*x3Be>T7WVIT5xv*`)%^|ob3)`>c_$VF9Tx$WzBJ=~ku?Gq3E|KD`&`h$Ie0vAnOU7J;dwQv90xbOG9 z^~Rff+aJW$PB+w5l;*Y&<5tft<)b`lR?A8I z7p!6D&V9LN%j(_kQ+}R1pdoznK;~t~`FigzEn68g#qw0M_LtrH{_;r zhn)_Tbm}NCA|1WI4Yil64g-J7zjpO7sqwMM8#R-8c zSLl0q-h7baoL#mc`(!oSdBNDPFT``!Y)iFy^*==Swmri`)t%x8yaTH}H*LNrde$pu z`IX(p&lgGY9gs|LU{LW06e$Vey1?3XYLClAagVsJg_nY6FS%Rlw=?r^Re9d+38zZ~ zcfODcKH-;dAJA=dMzi9~UazljPJBOVq@I#!usir1+Xjxcz1@Y3Z??|Q*V9XopRgxj z71yk9Q}6tJ8_r#_HE;H@ZKtC|Tw2ucBz=Fr^=I_og7At(@sC!7dU^-ltgRJr;Crgd zlzMN%6UMp>hWDA<)_f`Ld&HYI`6Qcy*4y_^cbj&yDC8-}$~%-paEy zVaJK1RbNjp<@wM1&rtf0>i_C()qiI?@yBg%^!#=G`}-^VgZXc7&3N`G#8Lb0VR`$4 zqf-|w^{#jRcWvIvi~k<1-SK#X^0c)PTbG?yOrKMFu2N3C8f|Ih^_qFet zQdQdj>687GfP3jyrT3Wm%}Q@Hrx+h+Xzbg>qj4hU$9-YH`M>PGTF&adSK}AAclGx6 zIrG%d-)a_q_KtskwLzxH-c-MMskaZb6MOm%5B`^l^!lswt!%=T;$zk)Y%2B79600d zXlBgbIZQG^~qk#X};NzE$LUE6_hM|gkRv)vVK|JojQf-P?O@_c`xbNxvxGX;4q_gybq&$Pm=D6#wFl;hLvTxUjJ*u`~A{2q_F z;I|0-)N_3kuUmgHeAedRI;Ch{_7Y1)=84Thc~*+&Zs#zEm2e2I`Ld+yTVTK;FX5^8 zRg1(@T}~-^HhWLuxqAQS(a;m8+}7ytKYH#&f5CIz05|8CRSTNjey_;#(p@W;tujk; zn}helYeM<uct3u7VyoMM+21l}_cfO;D_QEg(c<$0}#PHN39l_qwNV z){9#jcQ+lq`8Z7T{&joCo&2Hmb1d0E@#u*dPgnoC@E7;l@8^F6Y`@*I>^f8MgxZ-7 zXB&L~@rulFE3dLQaK6r67-n59=Ii-&QOOzBz>t2Mb@PQM$4xXTwGb-vttD_t!{?D4`A0*>DVcJZ1Jk&`FmDPKIN8wMf;A^jhJb97jOHx|E-A=9W0ky zh4(byGz?15cN13;tFzVmedz4ll~vm=9D4bsFY$-EVW-U^tD8}Id)D7R_j}h_X`6ky z9IJM3xcsbC{A#1F_}gPzoiD#cG~YTlu|8{yTD9`;j0Fk@O}@!B+$=AUb}C(R>EsT# zt8V8MoeUd`ANO5gPHyXCZJMmWX(cLh&dI^;InzPc2`sT(T;YljSYo+Z%pHYFv^9PR zIFzUh++p{;(7fP-1kIs$%WjQLmwEI@o%VU*xOW4)ACx`Mt=F>&7h; zzx>?l>6Jg*CtL9{DDF{T#Cb=xn|sfs?+mWf7@o#4tgvO+WZAGvTIS`XeG8bHoi{nljiInJr+cqU8Fa)WB~DZcvw`cHS1 zd}yDhbN<*3k5g?5bEl>#%st!vY*OpSSJTf+_6M0+ItcHQFFfKYS-|*FVzbud9cd~> zMiZi;U8eFy(tXEn*XK$IOLpWIx|RMm zFs#g0ExNADJVEc)sw4-Yop-qAA60pO$Gk{=SLN{;r5k0L7JbY$vgNRzVzNvcSu4lvm@MhHz`mebj_Y2kqfX?dq6KU$KM)x)=C z%|wsMZgD|>O6*J>Wvsie*vxsDW40jj@g>*lrVX)j^QQ9k1@-9{?aMrMQ&jKn%!c5u znwdSuOH-$d`}iC=cG*LDE4M|@(;TzpcTUG=ZZ;2;n#Lit{gBoXtD=XupPyItt+;mj ztytdAl3;c&D}atx*s!n`cSI5?7&>FQ+b$%y?s{^r`Ps$m(n7nJlbJ zwY~)!=rp*@D(hRWu6@_s)xiDQ0x{F0JdABN{Jx*nl_xRv$FJtuaw}lMmcG{;BMq(j-KRxG9_X?RdRo>^SZQYkxi&k+zHb%0Yvla>WX&8# z!zJo_EiXO1vRfqbfOTq8^U^E*&xGoB=f?Ypg*Tp6QA{f}e)Zw*o>c;}6>c(8@9({F zj{f}2Bv<1^l5Eq|IZ~OPuWx*K;+|Efb?t?X+v{Zx*XpE#YTIWj{M&c)?Tn1QDn05? z(oY|VSbMVA+2h>CrldP2i$F&rw7%Av?&a`syVrFsCs(CQIqrLq&Qr_Fs#^Tc{hjbjW$q7)7$>bvw5bahuw2!%$?xa& z8INSVZKZaku?qb+j1yO@Z*gW3pcJ5e#tB=cjV{f z-Q`!RZ^^uCGgSY`x>AeJ?9}38p;H}ycWER=3U^!I_#>OU;bP{DCx@5&8?yU2Jw0Ic ztv$oz)V19%J6{M*Q`>U*SahcN!G&`_UF>r>svMfs!*C@~DkxonX<2gU3@@QS9qZ*a zR94SAwLPlmz?S9@tN(11cqqFo)O_pf_daXO)8{Il@ZRVddUR%jt~pDhTi4VzhhNHs zOb^~wD&lv0+Oh!KPt#LXQ*Hk~7rebvBt7;}wg={)_Ti!@`h&T)2d_v zjb;O@d2I~Om;5_q%JAdsl&2g;nc0hXZ=HTQGh^3@J3)<&qNneRc1$j~bW@M<&^gmp ztHiEycV$(H{ygtmG_%o9UyA?I1(DgZ{JQMv+qBJ3x0>EnZ1lT5DdyJS;#W)Vyvf%) z?soIac5e&Eg%*7t)v6_3cb&vbSmw-o(khgy!24mzjk5w~9}5ag%gp#pg-g@Qs}eNq zes8=vL28krsgt+z#6-_dCB@F8>KBewNIi;OByi1?_0XAnsZHK{mG)gREi=C9>MnPF zT4{dq);NzSla+U7W-&@8U42qzD8=&O&zlLelcCdVBTl)#M#l?_RC{cswy^ z&MQ+f_ltp7g?Z9+FS+mjnZD{rwN`H4ytDhV3VPl#E%{h*XTs^4U3Ootg&RC{e7CGL zpvt~4c*gO(Z(B3;W-Tk@)UUtMw6jOP;G*99k#IiMVSV(4JgX4n@`hG6ZvO5w zU-ee!X-euG6VABun?CpEURbtq?G735r&lFnBo!z8d%be!-|DY39xd(uG@Z>_SV2%- zaAw0JMNPv#Z?Tvvjt!>{R$WMM4$%y`U3tv$kyOc=Gs|mo7S~?8aCt(PN#=Yu>p4eq z)M|g-+pd)p8t-WHG16J&fXl~XJt5X>f7Tsvde|ce z5?>IRpxK_M=#k_ltbTN=+98L9(>B~)Ab;-SkG*z3XI&|uk+C*W?@Hw-qgX6Pt)skY8I8DwAmSo{Fu$% zcd_d4ymk5hp7oo!GSwrh4$It(n`vEDW4~X&x@Bvf-YhNOM>_54&09m#408@2Jnu1+ zSHsQuq`GXXa$sksl9$mWMmv#%*&fwK+m7yIu6Q@gRXSC9#r~uIU)6PPuia%)ahiQC zx9I$*i}cuH&$x!y+}rhq;a$h((1@}ZcNZ;RvEN9 z#g{f7TR)4R&vw?iO|kV(eNcno3_Lx`daxjZ7kB8azT7{^tGRTrY&KVn$lEVGV-Thcw9{+FW{n<3j@ZBbzi$1?tV`^1v`#A-JJI zx@E~DkKk!Ds~4QzI*SyG5V{g+-mg3(#pP294 zV_NI|H1KT1<#m56lzabPTg!fa!u|aMHa~xDv00nHlT*$7Y~kCvmdkTOj|lg@Gj()+ z*mx$aIp@~>7krtw?>kpRyx)F`D_QCjHT$ZV@queni|?PaOrLfCb=4uc zO4CUTeFYw$d~|jT*O$DNCtH*ad1uP#E(txrU~cTq>%x`pz+kPsgKIX=txZ2<&irCw z_gNdi@g>^Sbk|t^zHG*~ z$KKw24_^D8x%;oy?uyCefCRs#mwZ>&Fy3)ldiZP2Hpx>9W-VYUn`QS?ImyegIdq1T zLWW|A+L9KZHW5P!Rsp7c0*4YDx0l|0U+ z<(V#fdzxt9p0yI2yN>$W9h>1!t_(mznknmJ(th^%irCSter|iu0m5*JNtUC z>Txl;JmIWn(>8922VrhI=N(^l+JU!sxF8hMRxx%Og(NzK0E4{Z*xRv(Dm zBp;nK>+GgiC#<_!X3hd-j$L&3Y=?jI%=$jH9N2bH>ri#WUf#Jg-_I!b zDe&O(F7fnR@2Ix_Lcowd5m=3oBR8uh%NZu0TMo%ahFs?wS*|E@|n zx@Yxi6Xz>i;`CnI`Tc)evgKmSn!{32knq|wW_I=+E z|GUp08rH5iJ=n+e$S#m$%|bS>r^yG*?L9Krd3e^CL^(bdJMh-$fXaRIfUSNyjEkl* z3%h9tKk@OgEHz#fbH>O~{6Y1e4Q(!(s><_yjy^ff@l4|Aev^02n;YF;7FB=NTD>d7 z=5*wWEXAH9atwa?jJC=A0&XE|&mG#hCh4`*>b0R;!~$M^Ojdf`^3yaz@pOj($HrYO z*$XBYvW%&j}Q_9yR*HLPl;`*r93@U!Pt z`LwuNE%v~yLmMX-NdCxU%{k)zO*XqooMYGyAy)|h^}YXA16efoZ;@^|&W9rzXU z{C%!0`8_-RfBih>W3{uSL*zbbEP1wlf0N6d%MCjWw|HN$VQWZ^VL8(4P`xojT(~mv z?}5NCIp10qosP5f($EU3&<-hktd_*b;NH&9oVPr$npMh~tNzQKW#^mBSS%jpO1kZH zX-_gL$v7Z)d^3}5-08T+Qcl;DthO|xuNm`LJ}2d`y3LUHh}))N$Nbk0ubS%2N_xpe97)0l=LZ34huAk|!{6loMYPVV4 ztnTFE&bmcJ42%yja!{pbcIgZWO|b+??&i>mbq*yZ(iwW_C0>f zwrIM7@OKyY|AwBSXAKLZ?Z2yh;BDAf!aQ5Q@!SVB$BnHgo?jPYQQe>>zN97<2v2<3Vn_K5onYC-`_r-wRgeis{8Zqvfr9I zFZb7@+5>sj^=aY)bMCWp7VYdmPNanucYL3Tf@2!^O>*Z z)kqzg##@+^P*pTLt>oI{>&xo+e|%V){W9;9tKTxNFsa7tZ%(W^aoDtgtCHE4HGN{K z`Df#WL23(i6x&yH?v`QMxuG*CU3-@5EHAzVb6n3Hd~~1l;n|Oh`*w3IEfgww{r|r0 zrixX2jC7~14LDY45xJ1}$o6dYw5wA?jh$?cuP+rfXlQRr_ABZQEk1S2@X=YZew)G> zxf?HuMpS+=ZKgqn?8)mQWAs4P@zJl+`VnBV=6!S!;P-|bzq ztFAV!SQ?jox7P1=nBn}}0Y_y5W!Zn3#H6wIEXjQEA-D5(B}d&OzIkgKCvRrHHmUlu zq1kei7jBZ5eE1U@LhoDI6i>>%a(>lY;VavvZ9Y9wj9WWZ?W};i&41-L<{Fz-*GHr+ z{;YHI@F!X8!*j!zG+Q5Ce^v3-OmetCufW)T?3kW@5Ub z?5)(+6|-y@KCayFX|&{ID$8>vtqKxq(vomc5pDmwm z%dqpDp~KU(aaE#{W0vmvEhTdn8lPF2D{MLI$0V`iUP||W8oz13aDRTcvZ1xduh&LG zk^9@{Y!3?Kee(XmE3LxK*F?|Xa!Bvz){wcn;76j|0S39m2bo^K;_m+Gt2{oR@2zT2 zugjYw3vPETi7L5~$<-3+I%{*px5+&zd;LovY!UBcWqH_@e6yrtYRSH+GRassrP4(g z->L+0{yT2ZCTbG=d!pL+kJ6py8)J&Kky{sxQumpId=S+#LK`-JJ*b$T}0ZRuL~ zyC)-L@5LR!O8!`E_j#)2B<1Lk%WH zhgq)Q<{wbg8eMQ(Er%yFaq=D;p~t1p8(1sNkBHpZws)&g;id@nnx~#$UOwvb{c*2S ze9f;ntX;SBdm{_(#kkfm_}%-vPSaH;M98dpdq+`Ej@Z@A^Y>>*X3aUhP5k+`PqqOX zub(R!ST0vcd&_FE@?D3V4xdqurNfG;6MS+Q4~MRga|pk2O`}(Ii{85SmdU4#P8~Lm zY5sY$K<{w+{}XkbvTI5>4qXmv{_it7U3mUP+N=4w<_u?YY>pnTK_MOud+EySrh(^X*;7!#*w) zn=vzJMOt)_x1y)+sfZd-RAuB zQZhDBLEM|I?Nh13q7SdsbyB+bT=7at*Kkq|2rQd>w4vA`e|K`kheiRhO`c&HM>iU- zGI;q>?%Tw!HSy>7zBY`pI2QlD@)_r!kk&}`iRp$BM$JBp42rDG&s|rUac6<{>r^hL zeIIIK<*Zie%O8@{cb}4c{d9Zt`u!LBZRAfd|FU?h7SnIgUbmzB{k5O_9v%Ds_rLPB zpFZ9EpOsnmb*bDBZ%=#n*KAfKx8CuCbGo`RlcsiBEZOVOF22EIRzyx2;~YJYm5IOe zQqEk^xUq+Q@{d1%?*8D{&aU2mYi{bw$6mZe{#J`u=GK}@Md|USYltY{@b-OM+ngI4 zd*Wq{>nn||`vl_`J?C6>#;$kY#6wSaX-L^_^H(`kw7>gJzRKgrxrJ3b6c23tQt?u5 z?Na%Ylm(Ry&mV3z-@bm!_9uFGtLOZ^|4hUG%I$ggrB;8QdAxMj+gl-iZ3!154oJVz zv+dmaN`Jwzo>uR(&mA|-nN<`PT%&iMZ<^rcrIHa6;l8iV>-Deivp#)J)VSH@Pi`<+gQXbOEZ|s{;-&UQ} z8F%9ni#~2&-u3$41wMbx{GBnUZXY(z&v^Z6T~>SglbBv$4(E6O)!DoVsfAf>Ensr$FW}i{00*bZ+(gFTbzk zS-ksg8biR6KT(j?=MFkaO{y;#5U{XnWY^SO8+CBs&-CE_kO%-)#R2d zA-smV)21JN_>pgYf1i(PZPKa7ohNT*sLk{hOJk8a;ijp&{KIeER(ZDGkLvm!(_y}jq&)mdy{`A9~8ms<3M>m1E{KksMwAFIFklZKh{j&7xp zBZ=9!r+&2gzf0fGO+2JPZL~K4XeA;Ak$^Ul6wA&YtMHtVPSS|ZDy|Q;>p@A`P<>nY{m6L&Fx3p{YeL2u7i5%I}4>o3l86I-rznJ>JTcdke1 zi->VAW7n(={ImYE?44K~r4aIAN$=X4nGWA3EmdlbU$a9({@su18{YeU6i8h1>BomV z&nEa(2L%^cf9<}Je{RqG&8zHKQ^IO_IFp= z5BAcd1LB#&Y^v7s(kvBV~`i zI#=Skt8B7TkF2x*eQE7qJ;E#}6OQjwYfoRGlG8Wmc-X?TbFLIT3vXGU@nH?i#Ou>N z+m1CKuvg{Oh_h65`W&EnCZtkiT70+2sRw-T9#%ikyHM`E!c}Hhh^pPo)2=r|jKrN5 z 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 Z3{(1iY|pOypZ}k>`@V4UuGd|K3;<-ou@wLS literal 0 HcmV?d00001 diff --git a/static/robots.txt b/static/robots.txt new file mode 100644 index 00000000..7cc35dc7 --- /dev/null +++ b/static/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Sitemap: https://grapheneos.org/sitemap.xml diff --git a/static/sitemap.xml b/static/sitemap.xml new file mode 100644 index 00000000..066565fd --- /dev/null +++ b/static/sitemap.xml @@ -0,0 +1,9 @@ + + + + https://grapheneos.org/ + 1.0 + +