1
0

- Updated UI

- Cleaned up repo
- Removed legacy redirections from web.config
- Replaced backup fonts with freeware ones
This commit is contained in:
Michael Gordeev
2020-11-04 15:53:51 +03:00
parent 4c3b1bf5da
commit 9b8c24948e
91 changed files with 1924 additions and 100788 deletions
@@ -1,20 +1,30 @@
using Microsoft.AspNetCore.Mvc;
using MyWebsite.Controllers;
using MyWebsite.Models.Databases;
using System.Linq;
namespace MyWebsite.Areas.API
{
[ApiController]
[Route("API/[controller]")]
public class GUTScheduleController : ExtendedController
{
GUTScheduleDatabaseContext databaseContext;
public GUTScheduleController(DatabaseContext context, GUTScheduleDatabaseContext db) : base(context) =>
databaseContext = db;
[Route("SemesterOffsetDay")]
public string SemesterOffsetDay() =>
databaseContext.OffsetDates?.FirstOrDefault()?.Value ?? "undefined";
}
using Microsoft.AspNetCore.Mvc;
using System;
using MyWebsite.Controllers;
using MyWebsite.Models.Databases;
using System.Linq;
namespace MyWebsite.Areas.API
{
[ApiController]
[Route("API/[controller]")]
public class GUTScheduleController : ExtendedController
{
GUTScheduleDatabaseContext databaseContext;
public GUTScheduleController(DatabaseContext context, GUTScheduleDatabaseContext db) : base(context) =>
databaseContext = db;
[Route("SemesterOffsetDay")]
public string SemesterOffsetDay()
{
try
{
return DateTime.Parse(databaseContext.OffsetDates?.FirstOrDefault()?.Value).Ticks.ToString();
}
catch
{
return "undefined";
}
}
}
}
@@ -1,6 +1,8 @@
using System;
using System.IO;
using System.Linq;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using MyWebsite.Controllers;
using MyWebsite.Models;
@@ -19,7 +21,7 @@ namespace MyWebsite.Areas.Admin.Controllers
public IActionResult Index() =>
View(ViewPath, Database.ShortLinks.ToList());
[HttpPost]
[HttpGet]
public IActionResult Create(string url, string id = "")
{
if (!string.IsNullOrWhiteSpace(id) && Database.ShortLinks.Find(id) != null)
@@ -64,9 +66,43 @@ namespace MyWebsite.Areas.Admin.Controllers
{
key = new string(Enumerable.Repeat(chars, length)
.Select(s => s[random.Next(s.Length)]).ToArray());
} while (Database.ShortLinks.Any(i => i.LinkId == key));
} while (Database.ShortLinks.AsEnumerable().Any(i => i.LinkId == key));
return key;
}
[HttpPost]
public IActionResult Upload()
{
if (Request?.Form?.Files == null || Request.Form.Files.Count < 1)
throw new ArgumentNullException("Files");
foreach (IFormFile file in Request.Form.Files)
{
if (!string.IsNullOrWhiteSpace(Request.Form["directory"]))
Directory.CreateDirectory("wwwroot/assets/SharedFiles" + Request.Form["directory"]);
string path = string.Join('/', new[] { Request.Form["directory"].ToString(), file.FileName });
using FileStream stream = System.IO.File.Create("wwwroot/assets/SharedFiles" + path);
if (stream != null)
file.CopyTo(stream);
}
return RedirectToAction("Index");
}
[HttpGet]
public IActionResult DeleteFile(string file)
{
if (System.IO.File.Exists("wwwroot" + file))
System.IO.File.Delete("wwwroot" + file);
if (Database.ShortLinks.AsEnumerable().FirstOrDefault(i => i.Uri.LocalPath == file.Replace("\\", "/")) is ShortLinkModel link)
{
Database.ShortLinks.Remove(link);
Database.SaveChanges();
}
return RedirectToAction("Index");
}
}
}
@@ -1,107 +1,112 @@
@model MyWebsite.Models.ProjectModel
@{
ViewData["Title"] = "New Project";
}
<header>
<p>&#xE760; <a asp-action="Index">Back to the list</a></p>
<h1>Create new project</h1>
</header>
<article>
<form asp-action="Create" onsubmit="ConfigureBadges()">
<div asp-validation-summary="All" class="text-danger"></div>
<input asp-for="Order" type="number" value="-1" hidden />
<div>
<label asp-for="EnglishTitle"></label>
<input asp-for="EnglishTitle" type="text" required />
<span asp-validation-for="EnglishTitle" class="text-danger"></span>
</div>
<div>
<label asp-for="RussianTitle"></label>
<input asp-for="RussianTitle" type="text" />
<span asp-validation-for="RussianTitle" class="text-danger"></span>
</div>
<div>
<label asp-for="EnglishDescription"></label>
<textarea asp-for="EnglishDescription" required></textarea>
<span asp-validation-for="EnglishDescription" class="text-danger"></span>
</div>
<div>
<label asp-for="RussianDescription"></label>
<textarea asp-for="RussianDescription"></textarea>
<span asp-validation-for="RussianDescription" class="text-danger"></span>
</div>
<div>
<label asp-for="Link"></label>
<input asp-for="Link" type="text" />
<span asp-validation-for="Link" class="text-danger"></span>
</div>
<div>
<label asp-for="EnglishLinkCaption"></label>
<input asp-for="EnglishLinkCaption" type="text" />
<span asp-validation-for="EnglishLinkCaption" class="text-danger"></span>
</div>
<div>
<label asp-for="RussianLinkCaption"></label>
<input asp-for="RussianLinkCaption" type="text" />
<span asp-validation-for="RussianLinkCaption" class="text-danger"></span>
</div>
<div>
<label asp-for="Badges"></label>
<input asp-for="Badges" type="text" id="badges" hidden />
<span asp-validation-for="Badges" class="text-danger"></span>
<div class="badge-list">
@foreach (BadgeModel badge in ViewData["Badges"] as List<BadgeModel>)
{
<input type="checkbox" id="@badge.Name"/>
<div class="badge" style="background-image: url('/images/Badges/@(badge?.Image).png')" title="@(badge?.Description)"></div>
<span>@badge.Description</span><br />
}
</div>
</div>
<input type="submit" value="Create" />
</form>
</article>
@section Imports
{
<script type="text/javascript">
function ConfigureBadges()
{
var checkboxes = document.querySelectorAll(".badge-list input");
var badges = [];
for (var k = 0; k < checkboxes.length; k++)
if (checkboxes[k].checked == true)
badges[badges.length] = checkboxes[k].id;
document.querySelector("#badges").value = badges.join(",");
}
</script>
<style type="text/css">
form
{
max-width: initial;
}
textarea
{
max-height: 250px;
}
.badge-list
{
margin: 10px 0px;
}
.badge-list div
{
height: 25px;
width: 25px;
display: inline-block;
background-size: contain;
}
</style>
@model MyWebsite.Models.ProjectModel
@{
ViewData["Title"] = "New Project";
}
<header>
<p>&#xE760; <a asp-action="Index">Back to the list</a></p>
<h1>Create new project</h1>
</header>
<article>
<form asp-action="Create" onsubmit="ConfigureBadges()">
<div asp-validation-summary="All" class="text-danger"></div>
<input asp-for="Order" type="number" value="-1" hidden />
<div>
<label asp-for="EnglishTitle"></label>
<input asp-for="EnglishTitle" type="text" required />
<span asp-validation-for="EnglishTitle" class="text-danger"></span>
</div>
<div>
<label asp-for="RussianTitle"></label>
<input asp-for="RussianTitle" type="text" />
<span asp-validation-for="RussianTitle" class="text-danger"></span>
</div>
<div>
<label asp-for="EnglishDescription"></label>
<textarea asp-for="EnglishDescription" required></textarea>
<span asp-validation-for="EnglishDescription" class="text-danger"></span>
</div>
<div>
<label asp-for="RussianDescription"></label>
<textarea asp-for="RussianDescription"></textarea>
<span asp-validation-for="RussianDescription" class="text-danger"></span>
</div>
<div>
<label asp-for="Logo"></label>
<input asp-for="Logo" type="url" />
<span asp-validation-for="Logo" class="text-danger"></span>
</div>
<div>
<label asp-for="Link"></label>
<input asp-for="Link" type="text" />
<span asp-validation-for="Link" class="text-danger"></span>
</div>
<div>
<label asp-for="EnglishLinkCaption"></label>
<input asp-for="EnglishLinkCaption" type="text" />
<span asp-validation-for="EnglishLinkCaption" class="text-danger"></span>
</div>
<div>
<label asp-for="RussianLinkCaption"></label>
<input asp-for="RussianLinkCaption" type="text" />
<span asp-validation-for="RussianLinkCaption" class="text-danger"></span>
</div>
<div>
<label asp-for="Badges"></label>
<input asp-for="Badges" type="text" id="badges" hidden />
<span asp-validation-for="Badges" class="text-danger"></span>
<div class="badge-list">
@foreach (BadgeModel badge in ViewData["Badges"] as List<BadgeModel>)
{
<input type="checkbox" id="@badge.Name"/>
<div class="badge" style="background-image: url('/images/Badges/@(badge?.Image).png')" title="@(badge?.Description)"></div>
<span>@badge.Description</span><br />
}
</div>
</div>
<input type="submit" value="Create" />
</form>
</article>
@section Imports
{
<script type="text/javascript">
function ConfigureBadges()
{
var checkboxes = document.querySelectorAll(".badge-list input");
var badges = [];
for (var k = 0; k < checkboxes.length; k++)
if (checkboxes[k].checked == true)
badges[badges.length] = checkboxes[k].id;
document.querySelector("#badges").value = badges.join(",");
}
</script>
<style type="text/css">
form
{
max-width: initial;
}
textarea
{
max-height: 250px;
}
.badge-list
{
margin: 10px 0px;
}
.badge-list div
{
height: 25px;
width: 25px;
display: inline-block;
background-size: contain;
}
</style>
}
@@ -10,6 +10,10 @@
</header>
<article>
@if (Uri.IsWellFormedUriString(Model.Logo, UriKind.RelativeOrAbsolute))
{
<img src="@Model.Logo" />
}
<p>
<b>@Html.DisplayNameFor(model => model.Id):</b> @Model.Id<br />
</p>
@@ -59,5 +63,11 @@
display: inline-block;
background-size: contain;
}
img
{
width: 128px;
height: 128px;
}
</style>
}
@@ -1,111 +1,116 @@
@model MyWebsite.Models.ProjectModel
@{
ViewData["Title"] = "Edit";
}
<header>
&#xE760; <a asp-action="Index">Back to the list</a>
<h1>Edit project</h1>
</header>
<article>
<form asp-action="Edit" onsubmit="ConfigureBadges()">
<div asp-validation-summary="All" class="text-danger"></div>
<input asp-for="Order" type="number" hidden />
<div>
<label asp-for="Id"></label>
<input asp-for="Id" type="text" readonly />
</div>
<div>
<label asp-for="EnglishTitle"></label>
<input asp-for="EnglishTitle" type="text" required />
<span asp-validation-for="EnglishTitle" class="text-danger"></span>
</div>
<div>
<label asp-for="RussianTitle"></label>
<input asp-for="RussianTitle" type="text" />
<span asp-validation-for="RussianTitle" class="text-danger"></span>
</div>
<div>
<label asp-for="EnglishDescription"></label>
<textarea asp-for="EnglishDescription" required></textarea>
<span asp-validation-for="EnglishDescription" class="text-danger"></span>
</div>
<div>
<label asp-for="RussianDescription"></label>
<textarea asp-for="RussianDescription"></textarea>
<span asp-validation-for="RussianDescription" class="text-danger"></span>
</div>
<div>
<label asp-for="Link"></label>
<input asp-for="Link" type="text" />
<span asp-validation-for="Link" class="text-danger"></span>
</div>
<div>
<label asp-for="EnglishLinkCaption"></label>
<input asp-for="EnglishLinkCaption" type="text" />
<span asp-validation-for="EnglishLinkCaption" class="text-danger"></span>
</div>
<div>
<label asp-for="RussianLinkCaption"></label>
<input asp-for="RussianLinkCaption" type="text" />
<span asp-validation-for="RussianLinkCaption" class="text-danger"></span>
</div>
<div>
<label asp-for="Badges"></label>
<input asp-for="Badges" type="text" id="badges" hidden />
<span asp-validation-for="Badges" class="text-danger"></span>
<div class="badge-list">
@foreach (BadgeModel badge in ViewData["Badges"] as List<BadgeModel>)
{
<input type="checkbox" id="@badge.Name" checked="@(Model.Badges?.Split(',').Contains(badge.Name) ?? false)"/>
<div class="badge" style="background-image: url('/images/Badges/@(badge?.Image).png')" title="@(badge?.Description)"></div>
<span>@badge.Description</span><br />
}
</div>
</div>
<input type="submit" value="Save" />
</form>
</article>
@section Imports
{
<script type="text/javascript">
function ConfigureBadges()
{
var checkboxes = document.querySelectorAll(".badge-list input");
var badges = [];
for (var k = 0; k < checkboxes.length; k++)
if (checkboxes[k].checked == true)
badges[badges.length] = checkboxes[k].id;
document.querySelector("#badges").value = badges.join(",");
}
</script>
<style type="text/css">
form
{
max-width: initial;
}
textarea
{
max-height: 250px;
}
.badge-list
{
margin: 10px 0px;
}
.badge-list div
{
height: 25px;
width: 25px;
display: inline-block;
background-size: contain;
}
</style>
@model MyWebsite.Models.ProjectModel
@{
ViewData["Title"] = "Edit";
}
<header>
&#xE760; <a asp-action="Index">Back to the list</a>
<h1>Edit project</h1>
</header>
<article>
<form asp-action="Edit" onsubmit="ConfigureBadges()">
<div asp-validation-summary="All" class="text-danger"></div>
<input asp-for="Order" type="number" hidden />
<div>
<label asp-for="Id"></label>
<input asp-for="Id" type="text" readonly />
</div>
<div>
<label asp-for="EnglishTitle"></label>
<input asp-for="EnglishTitle" type="text" required />
<span asp-validation-for="EnglishTitle" class="text-danger"></span>
</div>
<div>
<label asp-for="RussianTitle"></label>
<input asp-for="RussianTitle" type="text" />
<span asp-validation-for="RussianTitle" class="text-danger"></span>
</div>
<div>
<label asp-for="EnglishDescription"></label>
<textarea asp-for="EnglishDescription" required></textarea>
<span asp-validation-for="EnglishDescription" class="text-danger"></span>
</div>
<div>
<label asp-for="RussianDescription"></label>
<textarea asp-for="RussianDescription"></textarea>
<span asp-validation-for="RussianDescription" class="text-danger"></span>
</div>
<div>
<label asp-for="Logo"></label>
<input asp-for="Logo" type="url" />
<span asp-validation-for="Logo" class="text-danger"></span>
</div>
<div>
<label asp-for="Link"></label>
<input asp-for="Link" type="text" />
<span asp-validation-for="Link" class="text-danger"></span>
</div>
<div>
<label asp-for="EnglishLinkCaption"></label>
<input asp-for="EnglishLinkCaption" type="text" />
<span asp-validation-for="EnglishLinkCaption" class="text-danger"></span>
</div>
<div>
<label asp-for="RussianLinkCaption"></label>
<input asp-for="RussianLinkCaption" type="text" />
<span asp-validation-for="RussianLinkCaption" class="text-danger"></span>
</div>
<div>
<label asp-for="Badges"></label>
<input asp-for="Badges" type="text" id="badges" hidden />
<span asp-validation-for="Badges" class="text-danger"></span>
<div class="badge-list">
@foreach (BadgeModel badge in ViewData["Badges"] as List<BadgeModel>)
{
<input type="checkbox" id="@badge.Name" checked="@(Model.Badges?.Split(',').Contains(badge.Name) ?? false)"/>
<div class="badge" style="background-image: url('/images/Badges/@(badge?.Image).png')" title="@(badge?.Description)"></div>
<span>@badge.Description</span><br />
}
</div>
</div>
<input type="submit" value="Save" />
</form>
</article>
@section Imports
{
<script type="text/javascript">
function ConfigureBadges()
{
var checkboxes = document.querySelectorAll(".badge-list input");
var badges = [];
for (var k = 0; k < checkboxes.length; k++)
if (checkboxes[k].checked == true)
badges[badges.length] = checkboxes[k].id;
document.querySelector("#badges").value = badges.join(",");
}
</script>
<style type="text/css">
form
{
max-width: initial;
}
textarea
{
max-height: 250px;
}
.badge-list
{
margin: 10px 0px;
}
.badge-list div
{
height: 25px;
width: 25px;
display: inline-block;
background-size: contain;
}
</style>
}
@@ -18,6 +18,9 @@
<th class="hide-l1">
@Html.DisplayNameFor(model => model.projects.First().Id)
</th>
<th class="hide-l1">
@Html.DisplayNameFor(model => model.projects.First().Logo)
</th>
<th>
@Html.DisplayNameFor(model => model.projects.First().Title)
</th>
@@ -44,6 +47,12 @@
<a onclick="Down(this)">&#xE011;</a>
</td>
<td class="hide-l1">@item.Id</td>
<td class="hide-l1">
@if (Uri.IsWellFormedUriString(item.Logo, UriKind.RelativeOrAbsolute))
{
<img src="@item.Logo"/>
}
</td>
<td>
@item.EnglishTitle (en)<br />
@(item.RussianTitle ?? "<not_set>") (ru)
@@ -104,6 +113,12 @@
color: gray;
text-decoration: underline;
}
img
{
width: 25px;
height: 25px;
}
</style>
<script type="text/javascript" src="~/js/ReorderScript.js"></script>
@@ -16,7 +16,7 @@
<form asp-action="Index">
<input asp-for="Key" value="offset" hidden />
<label asp-for="Value">First work day in the semester: (Current: @Model?.Value)</label>
<input type="number" asp-for="Value" />
<input type="date" asp-for="Value" />
<span asp-validation-for="Value" class="text-danger"></span>
<input type="submit" value="Update" />
</form>
@@ -1,6 +1,10 @@
@model List<ShortLinkModel>
@{
ViewData["Title"] = "Link shortener";
var blogLinks = Model.Where(i => i.Uri.AbsoluteUri.Contains("xfox111.net/Blog/Post"));
var fileLinks = Model.Where(i => i.Uri.AbsoluteUri.Contains("xfox111.net/assets/SharedFiles") && System.IO.File.Exists("wwwroot" + i.Uri.LocalPath));
var otherLinks = Model.Where(i => !blogLinks.Contains(i) && !fileLinks.Contains(i));
}
<header>
@@ -12,9 +16,9 @@
<div asp-validation-summary="All" class="text-danger"></div>
<h2>Create new link</h2>
<form method="post" asp-action="Create" enctype="multipart/form-data">
<form method="get" asp-action="Create" enctype="multipart/form-data">
<label for="original-link">Original link</label>
<input id="original-link" name="url" type="url" />
<input id="original-link" name="url" type="url" required/>
<label for="link-id">Short link identifier (optional)</label>
<input id="link-id" name="id" type="text" />
@@ -31,11 +35,13 @@
</tr>
</thead>
<tbody>
@foreach (ShortLinkModel link in Model)
@foreach (ShortLinkModel link in otherLinks)
{
<tr>
<td>@link.Uri.OriginalString</td>
<td>//xfox111.net/@link.LinkId</td>
<td>
<a target="_blank" rel="noreferrer noopener" href="@link.Uri.OriginalString">@link.Uri.OriginalString</a>
</td>
<td>https://xfox111.net/@link.LinkId</td>
<td>
<a asp-action="Delete" asp-route-id="@link.LinkId">Delete</a>
</td>
@@ -43,4 +49,71 @@
}
</tbody>
</table>
<h2>Blog links</h2>
<table>
<thead>
<tr>
<th>Original link</th>
<th>Short link</th>
</tr>
</thead>
<tbody>
@foreach (ShortLinkModel link in blogLinks)
{
<tr>
<td>
<a target="_blank" rel="noreferrer noopener" href="@link.Uri.OriginalString">@link.Uri.OriginalString</a>
</td>
<td>https://xfox111.net/@link.LinkId</td>
<td>
<a asp-action="Delete" asp-route-id="@link.LinkId">Delete</a>
</td>
</tr>
}
</tbody>
</table>
<h2>Shared files</h2>
<form method="post" asp-action="Upload" enctype="multipart/form-data">
<label for="file-field">Files</label>
<input type="file" name="file" id="file-field" required multiple/>
<label for="directory">Folder routing</label>
<input type="text" value="" name="directory" id="directory"/>
<input type="submit" value="Upload" />
</form>
<table>
<thead>
<tr>
<th>File name</th>
<th>Short link</th>
<th>Action</th>
</tr>
</thead>
<tbody>
@foreach (string file in System.IO.Directory.GetFiles("wwwroot/assets/SharedFiles", "*", System.IO.SearchOption.AllDirectories))
{
<tr>
<td>
<a target="_blank" rel="noreferrer noopener" href="@(file.Replace("wwwroot", ""))">@(file.Replace("wwwroot", ""))</a>
</td>
<td>
@if (fileLinks.FirstOrDefault(i => i.Uri.OriginalString.EndsWith(file.Replace("wwwroot", "").Replace("\\", "/"), StringComparison.InvariantCultureIgnoreCase)) is ShortLinkModel link)
{
<span>https://xfox111.net/@link.LinkId</span>
}
else
{
<a href="Shortener/Create?url=https://xfox111.net@(file.Replace("wwwroot", ""))">Shorten link</a>
}
</td>
<td>
<a asp-action="DeleteFile" asp-route-file="@(file.Replace("wwwroot", ""))">Delete file</a>
</td>
</tr>
}
</tbody>
</table>
</article>
@@ -3,13 +3,13 @@
<html>
<head>
<title>@ViewData["Title"] - FoxTube - XFox111.NET</title>
<base href="~/assets/FoxTube/" />
<base href="~/Projects/FoxTube/" />
<link rel="shortcut icon" type="image/png" href="favicon.png" />
<link rel="apple-touch-icon" type="image/png" href="apple-touch-favicon.png" />
<link rel="stylesheet" type="text/css" href="~/css/Fonts.css" />
<link rel="stylesheet" type="text/css" href="~/css/Socicon.css" />
<link rel="stylesheet" type="text/css" href="FoxTube.css" />
<link rel="stylesheet" type="text/css" href="Style.css" />
<script type="text/javascript">
function ToggleMenu()
@@ -32,7 +32,7 @@
<meta name="author" content="Michael 'XFox' Gordeev">
<meta name="description" content="YouTube client for Windows 10 family devices. It's fast and convenient. It also supports live streams and 8K videos!">
<meta property="og:image" content="/assets/FoxTube/Logo.svg">
<meta property="og:image" content="/Project/FoxTube/Logo.svg">
<meta property="og:site_name" content="FoxTube - New YouTube client for Windows 10" />
<meta property="og:video" content="//www.youtube.com/embed/Mio9FbxmbhM">
<meta property="og:video" content="https://www.youtube.com/embed/Mio9FbxmbhM">
@@ -1,43 +1,43 @@
using Microsoft.AspNetCore.Mvc;
using MyWebsite.Models.Databases;
using MyWebsite.ViewModels;
using SelectPdf;
using System.Globalization;
namespace MyWebsite.Controllers
{
public class ResumeController : ExtendedController
{
public ResumeController(DatabaseContext context) : base(context) { }
public IActionResult Index()
{
ResumeViewModel model = new ResumeViewModel(Database, CultureInfo.CurrentUICulture);
if (model.Resume == null)
return NotFound();
model.Resume.Content = model.Resume.Content
.Replace("%WEBSITE%", $"{Request.Scheme}://{Request.Host}/", true, CultureInfo.InvariantCulture)
.Replace("%PHONE_NUMBER%", "+7 (996) 929-19-69", true, CultureInfo.InvariantCulture)
.Replace("%EMAIL%", Database.Links.Find("outlook").Username, true, CultureInfo.InvariantCulture);
return View(model);
}
public IActionResult Print() =>
Index();
public IActionResult Download()
{
HtmlToPdf converter = new HtmlToPdf();
converter.Options.MarginTop = 25;
converter.Options.MarginBottom = 25;
converter.Options.MarginLeft = 25;
converter.Options.MarginRight = 25;
PdfDocument doc = converter.ConvertUrl($"{Request.Scheme}://{Request.Host}/Resume/Print#preview");
byte[] data = doc.Save();
doc.Close();
return File(data, "application/pdf", "[Michael Gordeev] CV.pdf");
}
}
using Microsoft.AspNetCore.Mvc;
using MyWebsite.Models.Databases;
using MyWebsite.ViewModels;
using SelectPdf;
using System.Globalization;
namespace MyWebsite.Controllers
{
public class ResumeController : ExtendedController
{
public ResumeController(DatabaseContext context) : base(context) { }
public IActionResult Index()
{
ResumeViewModel model = new ResumeViewModel(Database, CultureInfo.CurrentUICulture);
if (model.Resume == null)
return NotFound();
model.Resume.Content = model.Resume.Content
.Replace("%WEBSITE%", $"{Request.Scheme}://{Request.Host}/", true, CultureInfo.InvariantCulture)
.Replace("%PHONE_NUMBER%", Database.Links.Find("phone")?.Username, true, CultureInfo.InvariantCulture)
.Replace("%EMAIL%", Database.Links.Find("outlook")?.Username, true, CultureInfo.InvariantCulture);
return View(model);
}
public IActionResult Print() =>
Index();
public IActionResult Download()
{
HtmlToPdf converter = new HtmlToPdf();
converter.Options.MarginTop = 25;
converter.Options.MarginBottom = 25;
converter.Options.MarginLeft = 25;
converter.Options.MarginRight = 25;
PdfDocument doc = converter.ConvertUrl($"{Request.Scheme}://{Request.Host}/Resume/Print#preview");
byte[] data = doc.Save();
doc.Close();
return File(data, "application/pdf", "[Michael Gordeev] CV.pdf");
}
}
}
+66 -62
View File
@@ -1,63 +1,67 @@
using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Globalization;
#pragma warning disable CA1724
namespace MyWebsite.Models
{
public class ProjectModel
{
[Key]
[Required]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[DisplayName("ID")]
public Guid Id { get; set; }
[Required]
[Column(TypeName = "int")]
[DisplayName("Order")]
public int Order { get; set; }
[DisplayName("Title")]
public string Title => CultureInfo.CurrentUICulture.TwoLetterISOLanguageName == "ru" && !string.IsNullOrWhiteSpace(RussianTitle) ? RussianTitle : EnglishTitle;
[Required]
[Column(TypeName = "varchar(100)")]
[DisplayName("Title (en)")]
public string EnglishTitle { get; set; }
[Column(TypeName = "varchar(100)")]
[DisplayName("Title (ru)")]
public string RussianTitle { get; set; }
[DisplayName("Caption")]
public string Description => CultureInfo.CurrentUICulture.TwoLetterISOLanguageName == "ru" && !string.IsNullOrWhiteSpace(RussianDescription) ? RussianDescription : EnglishDescription;
[Required]
[Column(TypeName = "text")]
[DisplayName("Description (en)")]
public string EnglishDescription { get; set; }
[Column(TypeName = "text")]
[DisplayName("Description (ru)")]
public string RussianDescription { get; set; }
[Column(TypeName = "varchar(50)")]
[DisplayName("Link")]
public string Link { get; set; }
[DisplayName("Link text caption")]
public string LinkCaption => CultureInfo.CurrentUICulture.TwoLetterISOLanguageName == "ru" && !string.IsNullOrWhiteSpace(RussianLinkCaption) ? RussianLinkCaption : EnglishLinkCaption;
[Column(TypeName = "varchar(50)")]
[DisplayName("Link text caption (en)")]
public string EnglishLinkCaption { get; set; }
[Column(TypeName = "varchar(50)")]
[DisplayName("Link text caption (ru)")]
public string RussianLinkCaption { get; set; }
[Column(TypeName = "varchar(100)")]
[DisplayName("Badges")]
public string Badges { get; set; }
}
using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Globalization;
#pragma warning disable CA1724
namespace MyWebsite.Models
{
public class ProjectModel
{
[Key]
[Required]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[DisplayName("ID")]
public Guid Id { get; set; }
[Required]
[Column(TypeName = "int")]
[DisplayName("Order")]
public int Order { get; set; }
[DisplayName("Title")]
public string Title => CultureInfo.CurrentUICulture.TwoLetterISOLanguageName == "ru" && !string.IsNullOrWhiteSpace(RussianTitle) ? RussianTitle : EnglishTitle;
[Required]
[Column(TypeName = "varchar(100)")]
[DisplayName("Title (en)")]
public string EnglishTitle { get; set; }
[Column(TypeName = "varchar(100)")]
[DisplayName("Title (ru)")]
public string RussianTitle { get; set; }
[DisplayName("Caption")]
public string Description => CultureInfo.CurrentUICulture.TwoLetterISOLanguageName == "ru" && !string.IsNullOrWhiteSpace(RussianDescription) ? RussianDescription : EnglishDescription;
[Required]
[Column(TypeName = "text")]
[DisplayName("Description (en)")]
public string EnglishDescription { get; set; }
[Column(TypeName = "text")]
[DisplayName("Description (ru)")]
public string RussianDescription { get; set; }
[Column(TypeName = "varchar(50)")]
[DisplayName("Link")]
public string Link { get; set; }
[DisplayName("Link text caption")]
public string LinkCaption => CultureInfo.CurrentUICulture.TwoLetterISOLanguageName == "ru" && !string.IsNullOrWhiteSpace(RussianLinkCaption) ? RussianLinkCaption : EnglishLinkCaption;
[Column(TypeName = "varchar(50)")]
[DisplayName("Link text caption (en)")]
public string EnglishLinkCaption { get; set; }
[Column(TypeName = "varchar(50)")]
[DisplayName("Link text caption (ru)")]
public string RussianLinkCaption { get; set; }
[Column(TypeName = "varchar(100)")]
[DisplayName("Badges")]
public string Badges { get; set; }
[Column(TypeName = "varchar(255)")]
[DisplayName("Logo")]
public string Logo { get; set; }
}
}
+8 -6
View File
@@ -11,21 +11,23 @@
<Copyright>©2020 Michael "XFox" Gordeev</Copyright>
<PackageProjectUrl>https://xfox111.net/</PackageProjectUrl>
<RepositoryUrl>https://github.com/xfox111/cvwebsite</RepositoryUrl>
<UserSecretsId>7e5f90e2-b583-4979-820a-e8204e9aab6a</UserSecretsId>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Google.Apis.Blogger.v3" Version="1.45.0.1966" />
<PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers" Version="3.0.0">
<PackageReference Include="Google.Apis.Blogger.v3" Version="1.49.0.2071" />
<PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers" Version="3.3.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.4" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.1.4" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="3.1.4" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="3.1.3" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.7" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.1.7" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="3.1.7" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="3.1.4" />
<PackageReference Include="Select.HtmlToPdf.NetCore" Version="20.1.0" />
</ItemGroup>
<ItemGroup>
<Folder Include="Resources\Areas\" />
<Folder Include="wwwroot\assets\SharedFiles\" />
<Folder Include="wwwroot\images\Gallery\Cache\" />
</ItemGroup>
</Project>
@@ -120,6 +120,9 @@
<data name="AboutMe" xml:space="preserve">
<value>ОбоМне</value>
</data>
<data name="Add comment on Blogspot" xml:space="preserve">
<value>Оставить комментарий на Blogspot</value>
</data>
<data name="All links are clickable" xml:space="preserve">
<value>Все ссылки кликабельны</value>
</data>
@@ -132,6 +135,9 @@
<data name="Blog" xml:space="preserve">
<value>Блог</value>
</data>
<data name="Comments" xml:space="preserve">
<value>Комментарии</value>
</data>
<data name="Contact information" xml:space="preserve">
<value>Контактная информация</value>
</data>
@@ -0,0 +1,129 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Important notice" xml:space="preserve">
<value>Важно</value>
</data>
<data name="So if you don't like this stuff, you can leave your feedback at ask@who-cares.com and I will gladly review your suggestions" xml:space="preserve">
<value>Так что если вам не нравится то что здесь представлено, вы можете оставить свой отзыв на спроси@кого-волнует.org и я с радостью рассмотрю ваше замечание</value>
</data>
<data name="These artworks are made by me for me. I'm not a professional artist or even beginner and I never planned to become any of them." xml:space="preserve">
<value>Все эти рисунки были сделаны мной для меня. Я не профессиональный художник и даже не начинающий и никогда не планировал становиться им.</value>
</data>
</root>
+1 -1
View File
@@ -15,7 +15,7 @@
<a asp-action="Contacts" class="comment">// Contact links</a>
</p>
<p>
<a asp-action="Shortener" class="comment">// Link shortener</a>
<a asp-action="Shortener" class="comment">// Link shortener & Files</a>
</p>
<p>
<a asp-action="FoxTube" class="comment">// FoxTube API</a><br />
@@ -0,0 +1,17 @@
@model ViewModelBase
<aside>
<a class="twitter-timeline" data-lang="@SharedLocalizer["en"]" data-width="300" data-height="600" data-theme="light" href="https://twitter.com/xfox111?ref_src=twsrc%5Etfw">Tweets by xfox111</a>
<h3>@SharedLocalizer["Follow me on"]</h3>
<div class="follow-list">
@foreach (LinkModel link in Model.Links.Where(i => new[] { "twitter", "blogger", "github" }.Contains(i.Name)).OrderBy(i => i.Order))
{
<a class="socicon-@(link.Name)" href="@(link.Url)" target="_blank" rel="noopener noreferrer" title="@(link.Title)"></a>
}
<a class="socicon-rss" href="/RSS" target="_blank" rel="noopener noreferrer" title="RSS Feed"></a>
<a href="//buymeacoff.ee/xfox111" target="_blank" rel="noopener noreferrer" title="Buy me a coffee">
<img width="24" height="25" src="https://cdn.buymeacoffee.com/buttons/bmc-new-btn-logo.svg">
</a>
</div>
</aside>
+7 -24
View File
@@ -26,7 +26,9 @@
{
<h1>@SharedLocalizer["Search results for"] @Model.SearchTerm</h1>
}
@Localizer["Visit on"] <a target="_blank" rel="noopener noreferrer" href="@Model.Links.FirstOrDefault(i => i.Name == "blogger")?.Url">Blogspot</a>
<p>
@Localizer["Visit on"] <a target="_blank" rel="noopener noreferrer" href="@Model.Links.FirstOrDefault(i => i.Name == "blogger")?.Url">Blogspot</a>
</p>
</header>
<form method="get" action="https://xfox111.blogspot.com/search" target="_blank" rel="noopener noreferrer">
@@ -35,7 +37,7 @@
</form>
<article>
<div>
<div class="timelineContainer">
@if (Model.Posts.Items == null || Model.Posts.Items.Count < 1)
{
<p class="comment">// @SharedLocalizer["No content available"]</p>
@@ -43,18 +45,14 @@
else
foreach (Google.Apis.Blogger.v3.Data.Post post in Model.Posts.Items)
{
<div class="item">
<div class="post" lang="en-us">
@if (post.Images != null && post.Images.Count > 0)
{
<img src="@post.Images.FirstOrDefault()?.Url" title="@post.Title" onerror="this.parentElement.removeChild(this)" />
}
<div>
<p>
@DateTime.Parse(post.Published).ToShortDateString() | <a href="@post.Author.Url" target="_blank" rel="noopener noreferrer">@post.Author.DisplayName</a><br />
@if (post.Labels != null && post.Labels.Count > 0)
{
<span class="comment">// @(Html.Raw(string.Join(", ", (post.Labels ?? new string[0]).Select(i => $"<a class=\"comment\" href=\"Blog/Tags/{i}\">{i}</a>"))))</span>
}
@DateTime.Parse(post.Published).ToShortDateString() | <a href="@post.Author.Url" target="_blank" rel="noopener noreferrer">@post.Author.DisplayName</a>
</p>
<h2><a asp-action="Post" asp-route-id="@post.Id">@post.Title</a></h2>
</div>
@@ -78,22 +76,7 @@
}
</article>
<aside>
<a class="twitter-timeline" data-lang="@SharedLocalizer["en"]" data-width="300" data-height="600" data-theme="light" href="https://twitter.com/xfox111?ref_src=twsrc%5Etfw">Tweets by xfox111</a>
<h3>@SharedLocalizer["Follow me on"]</h3>
<div class="follow-list">
@foreach (LinkModel link in Model.Links.Where(i => new[] { "twitter", "blogger", "github" }.Contains(i.Name)).OrderBy(i => i.Order))
{
<a class="socicon-@(link.Name)" href="@(link.Url)" target="_blank" rel="noopener noreferrer" title="@(link.Title)"></a>
}
<a class="socicon-rss" href="/Blog/RSS" target="_blank" rel="noopener noreferrer" title="RSS Feed"></a>
<a href="//buymeacoff.ee/xfox111" target="_blank" rel="noopener noreferrer" title="Buy me a coffee">
<img width="24" height="25" src="https://cdn.buymeacoffee.com/buttons/bmc-new-btn-logo.svg">
</a>
</div>
</aside>
<partial name="~/Views/Blog/BlogSidebar.cshtml" model="Model" />
@section Imports
{
+66 -81
View File
@@ -1,12 +1,16 @@
@model BlogPostViewModel
@using System.Text.RegularExpressions
@{
ViewData["Title"] = Model.Post.Title + " - Fox, Coffee and Science - " + SharedLocalizer["Blog"];
string description = new System.Text.RegularExpressions.Regex(@"(?<=\<p\>\s{1,})(.|\s)*?\s*(?=\<\/p\>)").Match(Model.Post.Content).Value
.Replace("\n", "");
description = Regex.Replace(description, "<.*?>", string.Empty);
}
@section OpenGraph
{
<meta name="author" content="@Model.Post.Author.DisplayName" />
<meta name="description" content="@(new System.Text.RegularExpressions.Regex(@"(?<=\<p\>)(\s*.*\s*)(?=\<\/p\>)").Match(Model.Post.Content).Value.Replace("\n", ""))" />
<meta name="description" content="@description" />
<meta property="og:type" content="article" />
<meta property="og:site_name" content="Fox, Coffee and Science Blog" />
@@ -15,7 +19,7 @@
<meta property="og:title" content="@Model.Post.Title" />
<meta property="og:image" content="@(Model.Post.Images.FirstOrDefault()?.Url)" />
<meta property="og:description" content="@(new System.Text.RegularExpressions.Regex(@"(?<=\<p\>)(\s*.*\s*)(?=\<\/p\>)").Match(Model.Post.Content).Value.Replace("\n", ""))" />
<meta property="og:description" content="@description" />
<meta property="article:published_time" content="@Model.Post.Published" />
<meta property="article:modified_time" content="@Model.Post.Updated" />
@@ -25,88 +29,71 @@
}
}
<article>
<div class="post-body" allow-select>
<div class="post-header">
<h2>@Model.Post.Title</h2>
<p>
@DateTime.Parse(Model.Post.Published).ToShortDateString() | <a href="@Model.Post.Author.Url" target="_blank" rel="noopener noreferrer">@Model.Post.Author.DisplayName</a><br />
</p>
<div class="share-btns">
<a class="share-btn facebook" target="_blank" rel="noopener noreferrer" href="//www.facebook.com/sharer/sharer.php?u=@Context.Request.Scheme://@Context.Request.Host@Context.Request.Path" title="Facebook">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" class="eapps-social-share-buttons-item-icon">
<path d="M5.677,12.998V8.123h3.575V6.224C9.252,2.949,11.712,0,14.736,0h3.94v4.874h-3.94 c-0.432,0-0.934,0.524-0.934,1.308v1.942h4.874v4.874h-4.874V24H9.252V12.998H5.677z"></path>
</svg>
</a>
<a class="share-btn twitter" target="_blank" rel="noopener noreferrer" href="//twitter.com/intent/tweet?url=@Context.Request.Scheme://@Context.Request.Host@Context.Request.Path&text=@Model.Post.Title" title="Twitter">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" class="eapps-social-share-buttons-item-icon">
<path fill="%233E68C0" d="M21.535,7.063c0.311,6.923-4.852,14.642-13.99,14.642 c-2.78,0-5.368-0.815-7.545-2.213c2.611,0.308,5.217-0.415,7.287-2.038c-2.154-0.039-3.972-1.462-4.599-3.418 c0.771,0.148,1.53,0.105,2.223-0.084c-2.367-0.475-4.002-2.608-3.948-4.888c0.664,0.369,1.423,0.59,2.229,0.615 C1.001,8.215,0.38,5.32,1.67,3.108c2.428,2.978,6.055,4.938,10.145,5.143c-0.717-3.079,1.618-6.044,4.796-6.044 c1.415,0,2.694,0.598,3.592,1.554c1.121-0.221,2.174-0.631,3.126-1.195c-0.368,1.149-1.149,2.114-2.164,2.724 c0.995-0.119,1.944-0.384,2.826-0.776C23.331,5.503,22.497,6.37,21.535,7.063z"></path>
</svg>
</a>
<a class="share-btn linkedin" target="_blank" rel="noopener noreferrer" href="https://www.linkedin.com/sharing/share-offsite/?url=@Context.Request.Scheme://@Context.Request.Host@Context.Request.Path" title="LinkedIn">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" class="eapps-social-share-buttons-item-icon">
<path fill="%233E68C0" d="M6.52,22h-4.13V8.667h4.13V22z M4.436,6.92 c-1.349,0-2.442-1.101-2.442-2.46C1.994,3.102,3.087,2,4.436,2s2.442,1.102,2.442,2.46C6.877,5.819,5.784,6.92,4.436,6.92z M21.994,22h-4.109c0,0,0-5.079,0-6.999c0-1.919-0.73-2.991-2.249-2.991c-1.652,0-2.515,1.116-2.515,2.991c0,2.054,0,6.999,0,6.999 h-3.96V8.667h3.96v1.796c0,0,1.191-2.202,4.02-2.202c2.828,0,4.853,1.727,4.853,5.298C21.994,17.129,21.994,22,21.994,22z"></path>
</svg>
</a>
<a class="share-btn vk" target="_blank" rel="noopener noreferrer" href="//vk.com/share.php?url=@Context.Request.Scheme://@Context.Request.Host@Context.Request.Path&title=@Model.Post.Title" title="VK">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" class="eapps-social-share-buttons-item-icon">
<path fill="%233E68C0" d="M23.876,17.52c-0.029-0.063-0.056-0.115-0.081-0.156c-0.416-0.75-1.212-1.67-2.387-2.762l-0.025-0.025 l-0.012-0.012l-0.013-0.013h-0.013c-0.533-0.508-0.871-0.85-1.012-1.025c-0.259-0.333-0.317-0.671-0.175-1.012 c0.1-0.258,0.475-0.804,1.125-1.637c0.342-0.442,0.612-0.795,0.812-1.062c1.441-1.916,2.066-3.141,1.874-3.674l-0.074-0.125 c-0.05-0.075-0.096-0.116-0.304-0.178c-0.208-0.062-0.466-0.057-1.107-0.057l-3.03,0.021c-0.155,0-0.486-0.017-0.594,0.008 s-0.163,0.038-0.163,0.038L18.633,5.88l-0.05,0.038c-0.042,0.025-0.087,0.069-0.138,0.131c-0.05,0.062-0.091,0.135-0.125,0.219 c-0.392,1.008-0.837,1.945-1.337,2.811c-0.308,0.517-0.591,0.964-0.85,1.343c-0.258,0.379-0.475,0.658-0.65,0.837 c-0.175,0.179-0.333,0.323-0.475,0.431s-0.25,0.154-0.325,0.138c-0.075-0.017-0.146-0.033-0.213-0.05 c-0.117-0.075-0.21-0.177-0.281-0.306s-0.119-0.292-0.144-0.487c-0.025-0.196-0.04-0.364-0.044-0.506 c-0.004-0.141-0.002-0.342,0.006-0.6c0.009-0.258,0.013-0.433,0.013-0.525c0-0.317,0.006-0.66,0.019-1.031s0.023-0.664,0.031-0.881 s0.012-0.446,0.012-0.687c0-0.242-0.015-0.431-0.044-0.569c-0.029-0.137-0.073-0.271-0.131-0.4s-0.144-0.229-0.256-0.3 c-0.112-0.071-0.252-0.127-0.419-0.169c-0.442-0.1-1.004-0.154-1.687-0.162C9.996,5.138,9,5.238,8.559,5.455 C8.384,5.547,8.226,5.672,8.084,5.83c-0.15,0.183-0.171,0.283-0.063,0.3c0.5,0.075,0.854,0.254,1.062,0.537l0.075,0.15 c0.058,0.108,0.117,0.3,0.175,0.575c0.058,0.275,0.096,0.579,0.112,0.912c0.042,0.608,0.042,1.129,0,1.562 s-0.081,0.771-0.119,1.012c-0.038,0.242-0.094,0.437-0.169,0.587s-0.125,0.242-0.15,0.275s-0.046,0.054-0.062,0.062 c-0.108,0.042-0.221,0.063-0.337,0.063c-0.117,0-0.258-0.058-0.425-0.175c-0.167-0.117-0.339-0.277-0.519-0.481 c-0.179-0.204-0.381-0.489-0.606-0.856c-0.225-0.366-0.458-0.8-0.7-1.299l-0.2-0.362C6.033,8.459,5.862,8.119,5.646,7.674 C5.429,7.228,5.238,6.797,5.071,6.381c-0.067-0.175-0.167-0.308-0.3-0.4L4.708,5.943C4.666,5.91,4.6,5.874,4.508,5.837 C4.416,5.799,3.576,5.766,3.219,5.766L0.831,5.78c-0.35,0-0.621,0.08-0.746,0.239l-0.05,0.075c-0.025,0.042-0.038,0.108-0.038,0.2 s0.025,0.204,0.075,0.337c0.5,1.175,1.043,2.308,1.631,3.399C2.29,11.121,2.801,12,3.234,12.666 c0.433,0.667,0.875,1.296,1.325,1.887c0.45,0.592,0.748,0.971,0.893,1.137c0.146,0.167,0.26,0.292,0.344,0.375l0.312,0.3 c0.2,0.2,0.494,0.439,0.881,0.718c0.387,0.279,0.816,0.554,1.287,0.825c0.471,0.271,1.018,0.491,1.643,0.662 s1.218,0.206,1.824,0.206h1.437c0.291-0.025,0.512-0.117,0.662-0.275l0.05-0.063c0.033-0.05,0.065-0.127,0.094-0.231 s0.044-0.219,0.044-0.344c-0.009-0.358,0.019-0.681,0.081-0.968s0.133-0.504,0.213-0.65c0.079-0.146,0.169-0.269,0.269-0.368 c0.1-0.1,0.171-0.16,0.213-0.181c0.041-0.021,0.075-0.035,0.1-0.044c0.2-0.067,0.435-0.002,0.706,0.194s0.525,0.437,0.762,0.725 s0.523,0.61,0.856,0.968s0.625,0.625,0.875,0.8l0.25,0.15c0.167,0.1,0.383,0.192,0.65,0.275c0.266,0.083,0.401,0.062,0.7,0.062 l3.262-0.003c0.316,0,0.5-0.099,0.674-0.203c0.175-0.104,0.279-0.219,0.312-0.344s0.035-0.267,0.006-0.425 C23.935,17.693,23.905,17.582,23.876,17.52z"></path>
</svg>
</a>
</div>
</div>
@Html.Raw(Model.Post.Content)
<p>
@if (Model.Post.Labels != null && Model.Post.Labels.Count > 0)
{
<span class="comment">// @SharedLocalizer["Tags"]: @(Html.Raw(string.Join(", ", (Model.Post.Labels ?? new string[0]).Select(i => $"<a class=\"comment\" href=\"/Blog/Tags/{i}\">{i}</a>"))))</span>
}
</p>
<article lang="en-us" allow-select class="article">
<h2>@Model.Post.Title</h2>
<p>
@DateTime.Parse(Model.Post.Published).ToShortDateString() | <a href="@Model.Post.Author.Url" target="_blank" rel="noopener noreferrer">@Model.Post.Author.DisplayName</a><br />
</p>
<div class="share-btns">
<a class="share-btn facebook" target="_blank" rel="noopener noreferrer" href="//www.facebook.com/sharer/sharer.php?u=@Context.Request.Scheme://@Context.Request.Host@Context.Request.Path" title="Facebook">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" class="eapps-social-share-buttons-item-icon">
<path d="M5.677,12.998V8.123h3.575V6.224C9.252,2.949,11.712,0,14.736,0h3.94v4.874h-3.94 c-0.432,0-0.934,0.524-0.934,1.308v1.942h4.874v4.874h-4.874V24H9.252V12.998H5.677z"></path>
</svg>
</a>
<a class="share-btn twitter" target="_blank" rel="noopener noreferrer" href="//twitter.com/intent/tweet?url=@Context.Request.Scheme://@Context.Request.Host@Context.Request.Path&text=@Model.Post.Title" title="Twitter">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" class="eapps-social-share-buttons-item-icon">
<path fill="%233E68C0" d="M21.535,7.063c0.311,6.923-4.852,14.642-13.99,14.642 c-2.78,0-5.368-0.815-7.545-2.213c2.611,0.308,5.217-0.415,7.287-2.038c-2.154-0.039-3.972-1.462-4.599-3.418 c0.771,0.148,1.53,0.105,2.223-0.084c-2.367-0.475-4.002-2.608-3.948-4.888c0.664,0.369,1.423,0.59,2.229,0.615 C1.001,8.215,0.38,5.32,1.67,3.108c2.428,2.978,6.055,4.938,10.145,5.143c-0.717-3.079,1.618-6.044,4.796-6.044 c1.415,0,2.694,0.598,3.592,1.554c1.121-0.221,2.174-0.631,3.126-1.195c-0.368,1.149-1.149,2.114-2.164,2.724 c0.995-0.119,1.944-0.384,2.826-0.776C23.331,5.503,22.497,6.37,21.535,7.063z"></path>
</svg>
</a>
<a class="share-btn linkedin" target="_blank" rel="noopener noreferrer" href="https://www.linkedin.com/sharing/share-offsite/?url=@Context.Request.Scheme://@Context.Request.Host@Context.Request.Path" title="LinkedIn">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" class="eapps-social-share-buttons-item-icon">
<path fill="%233E68C0" d="M6.52,22h-4.13V8.667h4.13V22z M4.436,6.92 c-1.349,0-2.442-1.101-2.442-2.46C1.994,3.102,3.087,2,4.436,2s2.442,1.102,2.442,2.46C6.877,5.819,5.784,6.92,4.436,6.92z M21.994,22h-4.109c0,0,0-5.079,0-6.999c0-1.919-0.73-2.991-2.249-2.991c-1.652,0-2.515,1.116-2.515,2.991c0,2.054,0,6.999,0,6.999 h-3.96V8.667h3.96v1.796c0,0,1.191-2.202,4.02-2.202c2.828,0,4.853,1.727,4.853,5.298C21.994,17.129,21.994,22,21.994,22z"></path>
</svg>
</a>
<a class="share-btn vk" target="_blank" rel="noopener noreferrer" href="//vk.com/share.php?url=@Context.Request.Scheme://@Context.Request.Host@Context.Request.Path&title=@Model.Post.Title" title="VK">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" class="eapps-social-share-buttons-item-icon">
<path fill="%233E68C0" d="M23.876,17.52c-0.029-0.063-0.056-0.115-0.081-0.156c-0.416-0.75-1.212-1.67-2.387-2.762l-0.025-0.025 l-0.012-0.012l-0.013-0.013h-0.013c-0.533-0.508-0.871-0.85-1.012-1.025c-0.259-0.333-0.317-0.671-0.175-1.012 c0.1-0.258,0.475-0.804,1.125-1.637c0.342-0.442,0.612-0.795,0.812-1.062c1.441-1.916,2.066-3.141,1.874-3.674l-0.074-0.125 c-0.05-0.075-0.096-0.116-0.304-0.178c-0.208-0.062-0.466-0.057-1.107-0.057l-3.03,0.021c-0.155,0-0.486-0.017-0.594,0.008 s-0.163,0.038-0.163,0.038L18.633,5.88l-0.05,0.038c-0.042,0.025-0.087,0.069-0.138,0.131c-0.05,0.062-0.091,0.135-0.125,0.219 c-0.392,1.008-0.837,1.945-1.337,2.811c-0.308,0.517-0.591,0.964-0.85,1.343c-0.258,0.379-0.475,0.658-0.65,0.837 c-0.175,0.179-0.333,0.323-0.475,0.431s-0.25,0.154-0.325,0.138c-0.075-0.017-0.146-0.033-0.213-0.05 c-0.117-0.075-0.21-0.177-0.281-0.306s-0.119-0.292-0.144-0.487c-0.025-0.196-0.04-0.364-0.044-0.506 c-0.004-0.141-0.002-0.342,0.006-0.6c0.009-0.258,0.013-0.433,0.013-0.525c0-0.317,0.006-0.66,0.019-1.031s0.023-0.664,0.031-0.881 s0.012-0.446,0.012-0.687c0-0.242-0.015-0.431-0.044-0.569c-0.029-0.137-0.073-0.271-0.131-0.4s-0.144-0.229-0.256-0.3 c-0.112-0.071-0.252-0.127-0.419-0.169c-0.442-0.1-1.004-0.154-1.687-0.162C9.996,5.138,9,5.238,8.559,5.455 C8.384,5.547,8.226,5.672,8.084,5.83c-0.15,0.183-0.171,0.283-0.063,0.3c0.5,0.075,0.854,0.254,1.062,0.537l0.075,0.15 c0.058,0.108,0.117,0.3,0.175,0.575c0.058,0.275,0.096,0.579,0.112,0.912c0.042,0.608,0.042,1.129,0,1.562 s-0.081,0.771-0.119,1.012c-0.038,0.242-0.094,0.437-0.169,0.587s-0.125,0.242-0.15,0.275s-0.046,0.054-0.062,0.062 c-0.108,0.042-0.221,0.063-0.337,0.063c-0.117,0-0.258-0.058-0.425-0.175c-0.167-0.117-0.339-0.277-0.519-0.481 c-0.179-0.204-0.381-0.489-0.606-0.856c-0.225-0.366-0.458-0.8-0.7-1.299l-0.2-0.362C6.033,8.459,5.862,8.119,5.646,7.674 C5.429,7.228,5.238,6.797,5.071,6.381c-0.067-0.175-0.167-0.308-0.3-0.4L4.708,5.943C4.666,5.91,4.6,5.874,4.508,5.837 C4.416,5.799,3.576,5.766,3.219,5.766L0.831,5.78c-0.35,0-0.621,0.08-0.746,0.239l-0.05,0.075c-0.025,0.042-0.038,0.108-0.038,0.2 s0.025,0.204,0.075,0.337c0.5,1.175,1.043,2.308,1.631,3.399C2.29,11.121,2.801,12,3.234,12.666 c0.433,0.667,0.875,1.296,1.325,1.887c0.45,0.592,0.748,0.971,0.893,1.137c0.146,0.167,0.26,0.292,0.344,0.375l0.312,0.3 c0.2,0.2,0.494,0.439,0.881,0.718c0.387,0.279,0.816,0.554,1.287,0.825c0.471,0.271,1.018,0.491,1.643,0.662 s1.218,0.206,1.824,0.206h1.437c0.291-0.025,0.512-0.117,0.662-0.275l0.05-0.063c0.033-0.05,0.065-0.127,0.094-0.231 s0.044-0.219,0.044-0.344c-0.009-0.358,0.019-0.681,0.081-0.968s0.133-0.504,0.213-0.65c0.079-0.146,0.169-0.269,0.269-0.368 c0.1-0.1,0.171-0.16,0.213-0.181c0.041-0.021,0.075-0.035,0.1-0.044c0.2-0.067,0.435-0.002,0.706,0.194s0.525,0.437,0.762,0.725 s0.523,0.61,0.856,0.968s0.625,0.625,0.875,0.8l0.25,0.15c0.167,0.1,0.383,0.192,0.65,0.275c0.266,0.083,0.401,0.062,0.7,0.062 l3.262-0.003c0.316,0,0.5-0.099,0.674-0.203c0.175-0.104,0.279-0.219,0.312-0.344s0.035-0.267,0.006-0.425 C23.935,17.693,23.905,17.582,23.876,17.52z"></path>
</svg>
</a>
</div>
<div class="post-comments" style="display: none !important;">
<h3>Comments: @Model.Post.Replies.TotalItems</h3>
<p>
<a class="comment" href="@Model.Post.Url" target="_blank" rel="noopener noreferrer">// Add comment on Blogpost</a>
</p>
<div>
@foreach (var i in Model.Post.Replies.Items.Where(i => i.InReplyTo == null))
@Html.Raw(Model.Post.Content)
<p>
@if (Model.Post.Labels != null && Model.Post.Labels.Count > 0)
{
<span class="comment">// @SharedLocalizer["Tags"]: @(Html.Raw(string.Join(", ", (Model.Post.Labels ?? new string[0]).Select(i => $"<a class=\"comment\" href=\"/Blog/Tags/{i}\">{i}</a>"))))</span>
}
</p>
</article>
<partial name="~/Views/Blog/BlogSidebar.cshtml" model="Model"/>
<div class="post-comments" style="display: none !important;">
<h3>@SharedLocalizer["Comments"]: @Model.Post.Replies.TotalItems</h3>
<p>
<a class="comment" href="@Model.Post.Url" target="_blank" rel="noopener noreferrer">// @SharedLocalizer["Add comment on Blogspot"]</a>
</p>
<div>
@if (Model.Post.Replies.Items != null)
foreach (var i in Model.Post.Replies.Items.Where(i => i.InReplyTo == null))
{
@Html.Raw(GetCommentCard(i.Id))
}
</div>
</div>
</article>
</div>
<aside>
<a class="twitter-timeline" data-lang="@SharedLocalizer["en"]" data-width="300" data-height="600" data-theme="light" href="https://twitter.com/xfox111?ref_src=twsrc%5Etfw">Tweets by xfox111</a>
<script type="text/javascript">
if (document.querySelector("article.article *[allow-comments]"))
document.querySelector(".post-comments").removeAttribute("style");
<h3>@SharedLocalizer["Follow me on"]</h3>
<div class="follow-list">
@foreach (LinkModel link in Model.Links.Where(i => new[] { "twitter", "blogger", "github" }.Contains(i.Name)).OrderBy(i => i.Order))
{
<a class="socicon-@(link.Name)" href="@(link.Url)" target="_blank" rel="noopener noreferrer" title="@(link.Title)"></a>
}
<a class="socicon-rss" href="/Blog/RSS" target="_blank" rel="noopener noreferrer" title="RSS Feed"></a>
<a href="//buymeacoff.ee/xfox111" target="_blank" rel="noopener noreferrer" title="Buy me a coffee">
<img width="24" height="25" src="https://cdn.buymeacoffee.com/buttons/bmc-new-btn-logo.svg">
</a>
</div>
</aside>
document.querySelectorAll("article.article img").forEach(i => i.addEventListener("click", () => window.open(i.src)));
</script>
@section Imports
{
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
<link rel="stylesheet" type="text/css" href="~/css/Blog.css" />
<style type="text/css">
main
{
padding-top: 50px;
}
</style>
}
@functions
@@ -116,18 +103,16 @@
var comment = Model.Post.Replies.Items.FirstOrDefault(i => i.Id == commentId);
return $@"
<div class= ""post-comment"">
<img src=""{comment.Author.Image.Url}"" />
<div>
<img src=""{comment.Author.Image.Url}"" />
<p>
<a href=""{comment.Author.Url}"" target=""_blank"">{comment.Author.DisplayName}</a> | {DateTime.Parse(comment.Published).ToString()}
</p>
<p>
{comment.Content}
</p>
<div>
<span>
<a href=""{comment.Author.Url}"" target=""_blank"">{comment.Author.DisplayName}</a> | {DateTime.Parse(comment.Published).ToString()}
</span>
<p>
{comment.Content}
</p>
<div>
{(string.Join(string.Empty, Model.Post.Replies.Items.Where(i => i.InReplyTo?.Id == commentId).Select(i => GetCommentCard(i.Id))))}
</div>
{(string.Join(string.Empty, Model.Post.Replies.Items.Where(i => i.InReplyTo?.Id == commentId).Select(i => GetCommentCard(i.Id))))}
</div>
</div>
</div>
+29 -24
View File
@@ -1,25 +1,30 @@
@model ArtworkViewModel
@{
ViewData["Title"] = SharedLocalizer["My artworks"];
}
<header>
<h1>@SharedLocalizer["My artworks"]</h1>
</header>
<article class="gallery">
@if (Model.Images.Count > 0)
foreach (ImageModel image in Model.Images)
{
<a asp-action="Details" asp-route-id="@image.FileName"><img title="@image.Title" src="~/images/Gallery/@(image.FileName.EndsWith(".svg", StringComparison.OrdinalIgnoreCase) ? image.FileName : $"Cache/{image.FileName}.jpg")" onerror="this.src = '/images/Gallery/@image.FileName'" /></a>
}
else
{
<p class="comment">// @SharedLocalizer["No content available"]</p>
}
</article>
@section Imports
{
<link rel="stylesheet" type="text/css" href="~/css/Gallery.css" />
@model ArtworkViewModel
@{
ViewData["Title"] = SharedLocalizer["My artworks"];
}
<header>
<h1>@SharedLocalizer["My artworks"]</h1>
<p>
<b>@(Localizer["Important notice"]):</b><br />
@Localizer["These artworks are made by me for me. I'm not a professional artist or even beginner and I never planned to become any of them."]<br />
@Localizer["So if you don't like this stuff, you can leave your feedback at ask@who-cares.com and I will gladly review your suggestions"]
</p>
</header>
<article class="gallery">
@if (Model.Images.Count > 0)
foreach (ImageModel image in Model.Images)
{
<a asp-action="Details" asp-route-id="@image.FileName"><img title="@image.Title" src="~/images/Gallery/@(image.FileName.EndsWith(".svg", StringComparison.OrdinalIgnoreCase) ? image.FileName : $"Cache/{image.FileName}.jpg")" onerror="this.src = '/images/Gallery/@image.FileName'" /></a>
}
else
{
<p class="comment">// @SharedLocalizer["No content available"]</p>
}
</article>
@section Imports
{
<link rel="stylesheet" type="text/css" href="~/css/Gallery.css" />
}
@@ -34,4 +34,14 @@
@section Footer
{
<partial name="~/Views/Shared/ContactsBlock.cshtml" />
}
@section Imports
{
<style type="text/css">
main
{
max-width: 1024px;
}
</style>
}
@@ -17,13 +17,11 @@
@foreach (ProjectModel project in Model.Projects.OrderBy(i => i.Order))
{
<div class="project-item">
<div>
<h1 allow-select>@project.Title</h1>
<p allow-select>
@Html.Raw(project.Description?.Replace("\n", "<br />"))
</p>
<a href="@(project.Link)" target="_blank" rel="noopener noreferrer">@project.LinkCaption</a>
</div>
<h1 allow-select>@project.Title</h1>
<p allow-select>
@Html.Raw(project.Description?.Replace("\n", "<br />"))
</p>
<a href="@(project.Link)" target="_blank" rel="noopener noreferrer">@project.LinkCaption</a>
<div class="badge-placeholder">
@foreach (string b in (project.Badges ?? "").Split(','))
{
@@ -31,6 +29,10 @@
<div style="background-image: url('../images/Badges/@(badge?.Image).png')" title="@(badge?.Description)"></div>
}
</div>
@if(Uri.IsWellFormedUriString(project.Logo, UriKind.RelativeOrAbsolute))
{
<img src="@project.Logo"/>
}
</div>
}
}
@@ -14,7 +14,7 @@
<style type="text/css">
body
{
font-family: 'Comic Sans MS', 'Consolas', 'SegoeMDL2Assets';
font-family: "Comic Sans MS", "Consolas", "Segoe MDL2 Assets";
}
</style>
}
-9
View File
@@ -17,17 +17,8 @@
<match url="Projects/FoxTube/PrivacyPolicy.txt" />
<action type="Redirect" url="/Projects/FoxTube/PrivacyPolicy" redirectType="Permanent" appendQueryString="false" />
</rule>
<rule name="Blog RSS" stopProcessing="true">
<match url="/blog/rss"/>
<action type="Redirect" url="https://xfox111.blogspot.com/feeds/posts/default?alt=rss" redirectType="Permanent" appendQueryString="false"/>
</rule>
<!--/Legacy redirects-->
<rule name="Tabs Aside redirect" stopProcessing="true">
<match url="TabsAside(?!(\.png))" />
<action type="Redirect" url="https://github.com/XFox111/ChromiumTabsAside" redirectType="Permanent" appendQueryString="false" />
</rule>
<!--Website maintainence redirect-->
<rule name="Construction redirect" stopProcessing="true" enabled="false">
<match url="^(?!Admin|API|Construction|css|assets|fonts|images)" />

Before

Width:  |  Height:  |  Size: 116 KiB

After

Width:  |  Height:  |  Size: 116 KiB

@@ -1,190 +1,203 @@
/* Header styles */
nav
{
display: grid;
grid-template-columns: auto auto 1fr auto;
grid-column-gap: 10px;
background-color: #343434;
position: fixed;
top: 0;
right: 0;
left: 0;
z-index: 10;
font-size: 26px;
padding: 10px;
min-height: 64px;
}
nav img
{
height: 64px;
}
nav a
{
text-decoration: none;
color: white;
}
nav a:hover
{
color: gray;
}
nav p
{
grid-column: 4;
user-select: none;
cursor: pointer;
text-align: right;
margin: 0px;
}
menu
{
margin: 26px 0px;
grid-row: 2;
grid-column: 1/5;
list-style: none;
}
menu li
{
font-size: 20px;
margin-top: 10px;
display: block;
}
/* Body styles */
html
{
overflow: hidden;
}
body
{
font-family: 'Consolas', 'SegoeMDL2Assets';
overflow: auto;
margin: 0px;
margin-top: 84px;
display: grid;
grid-template-rows: 1fr auto;
height: calc(100vh - 84px);
}
main
{
font-family: 'Calibri', 'SegoeMDL2Assets';
}
.back
{
text-decoration: none;
color: black !important;
}
.back:hover
{
text-decoration: underline;
}
article
{
margin: 0px 20px;
}
article a:visited, article a:link
{
color: blue;
}
.comment, .comment:visited
{
color: #57a64a !important;
}
.video
{
max-width: 560px;
height: 315px;
width: 100%;
}
*[hidden]
{
display: none;
}
/* Footer styles */
footer
{
padding: 10px;
display: grid;
align-items: center;
grid-template-columns: 1fr auto;
grid-column-gap: 10px;
}
footer a
{
text-decoration: none;
color: black;
}
footer a:hover
{
color: orangered;
}
/* Adaptive code */
@media only screen and (min-width: 1150px)
{
menu
{
display: initial !important;
grid-row: 1;
grid-column: 3;
margin: 0px;
align-self: end;
margin-bottom: 3px;
}
menu li
{
display: inline-block;
margin-right: 10px;
margin-top: 0px;
}
#menu-toggle
{
display: none;
}
}
@media only screen and (max-width: 700px) and (min-width: 480px)
{
body
{
margin-top: 112px !important;
height: calc(100vh - 112px) !important;
}
}
@media only screen and (max-width: 480px)
{
nav > a > span
{
display: none;
}
.video
{
height: 240px !important;
}
}
nav > p > a:nth-last-child(2)
{
visibility: hidden;
/* Header styles */
nav
{
display: grid;
grid-template-columns: auto auto 1fr auto;
grid-column-gap: 10px;
background-color: #343434;
position: fixed;
top: 0;
right: 0;
left: 0;
z-index: 10;
font-size: 26px;
padding: 10px;
min-height: 64px;
}
nav img
{
height: 64px;
}
nav a
{
text-decoration: none;
color: white;
}
nav a:hover
{
color: gray;
}
nav p
{
grid-column: 4;
user-select: none;
cursor: pointer;
text-align: right;
margin: 0px;
}
menu
{
margin: 26px 0px;
grid-row: 2;
grid-column: 1/5;
list-style: none;
}
menu li
{
font-size: 20px;
margin-top: 10px;
display: block;
}
/* Body styles */
html
{
overflow: hidden;
}
body
{
font-family: "Consolas", "Segoe MDL2 Assets";
overflow: auto;
margin: 0px;
margin-top: 84px;
display: grid;
grid-template-rows: 1fr auto;
height: calc(100vh - 84px);
}
main
{
font-family: "Segoe UI", "Segoe MDL2 Assets";
font-size: 14px;
}
h1, h2, h3, h4, h5, h6
{
font-weight: 400;
margin: 0px;
}
h1
{
font-size: 24px;
margin-top: 10px;
}
h2
{
font-size: 20px;
}
h3
{
font-size: 14px
}
.back
{
text-decoration: none;
color: black !important;
}
.back:hover
{
text-decoration: underline;
}
article
{
margin: 0px 20px;
}
article a:visited, article a:link
{
color: red;
}
.video
{
max-width: 560px;
height: 315px;
width: 100%;
}
/* Footer styles */
footer
{
padding: 10px;
display: grid;
align-items: center;
grid-template-columns: 1fr auto;
grid-column-gap: 10px;
}
footer a
{
text-decoration: none;
color: black;
}
footer a:hover
{
color: orangered;
}
/* Adaptive code */
@media only screen and (min-width: 1150px)
{
menu
{
display: initial !important;
grid-row: 1;
grid-column: 3;
margin: 0px;
align-self: end;
margin-bottom: 3px;
}
menu li
{
display: inline-block;
margin-right: 10px;
margin-top: 0px;
}
#menu-toggle
{
display: none;
}
}
@media only screen and (max-width: 700px) and (min-width: 480px)
{
body
{
margin-top: 112px !important;
height: calc(100vh - 112px) !important;
}
}
@media only screen and (max-width: 480px)
{
nav > a > span
{
display: none;
}
.video
{
height: 240px !important;
}
}
nav > p > a:nth-last-child(2)
{
visibility: hidden;
}

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Before

Width:  |  Height:  |  Size: 461 B

After

Width:  |  Height:  |  Size: 461 B

Before

Width:  |  Height:  |  Size: 644 B

After

Width:  |  Height:  |  Size: 644 B

@@ -1,248 +1,248 @@
/* Header */
nav
{
user-select: none;
position: fixed;
right: 0px;
left: 0px;
}
nav > div:first-child
{
display: grid;
grid-template-columns: auto 1fr auto;
background-color: #007acc;
height: 22px;
background-image: url('Images/strip.png');
}
nav > div:first-child span
{
background-color: inherit;
padding: 2px 5px;
}
nav > div:first-child > div:last-child
{
background-color: inherit;
padding: 0px 2px;
}
nav > div:first-child > div div
{
display: inline-block;
margin: 2px 0px;
height: 17px;
width: 17px;
text-align: center;
line-height: 17px;
font-size: 11pt;
}
nav > div:last-child
{
display: grid;
grid-template-columns: auto auto 1fr;
background-color: #2d2d30;
height: 26px;
}
nav > div:last-child span
{
margin: 0px 6px;
line-height: 26px;
text-align: center;
}
nav > div:last-child select
{
background-color: #333337;
color: white;
border: 1px solid #434346;
border-radius: 0px;
width: 300px;
height: 21px;
margin: 2px 0px;
}
nav > div:last-child img
{
height: 26px;
}
/* Body */
html
{
overflow: hidden;
}
body
{
background-color: #252526;
color: white;
font-size: 9pt;
margin: 0px;
font-family: 'SegoeUISymbol';
overflow: auto;
display: grid;
height: 100vh;
}
main
{
font-family: 'Consolas';
margin: 50px 0px 50px 12px;
}
main p
{
margin: 0px;
display: none;
white-space: nowrap;
}
a
{
color: #569cd6;
}
a:visited
{
color: #569cd6;
}
.err
{
color: #e51400;
}
/* Footer */
footer
{
background-color: #007acc;
color: white;
height: 26px;
position: fixed;
bottom: 0;
left: 0;
right: 0;
padding-right: 12px;
display: grid;
grid-template-columns: auto 1fr auto auto auto auto auto;
user-select: none;
}
.status-bar-btn
{
width: 26px;
height: 26px;
display: inline-block;
text-align: center;
font-size: 12pt;
}
.git-btn
{
padding: 0px 5px;
margin: 4px;
height: 17px;
min-width: 26px;
}
.btn
{
cursor: pointer;
}
.btn:hover
{
background-color: #ffffff33;
}
#status
{
margin: 0px 5px;
vertical-align: central;
line-height: 26px;
}
/* Button icons */
.push:before
{
content: '\e1fe';
}
.commit:before
{
content: '\e104';
}
.branch:before
{
content: '\E14B';
}
.git:before
{
content: '\1F4D3';
}
.notification:before
{
content: '\E1FA';
}
.task:before
{
content: '\23E5';
}
.hide:before
{
content: '\23F7';
}
.maximize:before
{
content: '\1F5D7';
}
.close:before
{
content: '\1F7A8';
}
@media only screen and (max-width: 560px)
{
nav > div:last-child
{
height: initial;
grid-template-columns: initial;
}
nav > div:last-child select
{
width: initial;
margin: 0px 5px;
}
nav > div > span
{
text-align: start !important;
}
main
{
margin-top: 110px;
}
.git-btn
{
min-width: 17px;
}
.git-btn > span
{
display: none;
}
}
/* Header */
nav
{
user-select: none;
position: fixed;
right: 0px;
left: 0px;
}
nav > div:first-child
{
display: grid;
grid-template-columns: auto 1fr auto;
background-color: #007acc;
height: 22px;
background-image: url('Images/strip.png');
}
nav > div:first-child span
{
background-color: inherit;
padding: 2px 5px;
}
nav > div:first-child > div:last-child
{
background-color: inherit;
padding: 0px 2px;
}
nav > div:first-child > div div
{
display: inline-block;
margin: 2px 0px;
height: 17px;
width: 17px;
text-align: center;
line-height: 17px;
font-size: 11pt;
}
nav > div:last-child
{
display: grid;
grid-template-columns: auto auto 1fr;
background-color: #2d2d30;
height: 26px;
}
nav > div:last-child span
{
margin: 0px 6px;
line-height: 26px;
text-align: center;
}
nav > div:last-child select
{
background-color: #333337;
color: white;
border: 1px solid #434346;
border-radius: 0px;
width: 300px;
height: 21px;
margin: 2px 0px;
}
nav > div:last-child img
{
height: 26px;
}
/* Body */
html
{
overflow: hidden;
}
body
{
background-color: #252526;
color: white;
font-size: 9pt;
margin: 0px;
font-family: "Segoe UI";
overflow: auto;
display: grid;
height: 100vh;
}
main
{
font-family: "Consolas";
margin: 50px 0px 50px 12px;
}
main p
{
margin: 0px;
display: none;
white-space: nowrap;
}
a
{
color: #569cd6;
}
a:visited
{
color: #569cd6;
}
.err
{
color: #e51400;
}
/* Footer */
footer
{
background-color: #007acc;
color: white;
height: 26px;
position: fixed;
bottom: 0;
left: 0;
right: 0;
padding-right: 12px;
display: grid;
grid-template-columns: auto 1fr auto auto auto auto auto;
user-select: none;
}
.status-bar-btn
{
width: 26px;
height: 26px;
display: inline-block;
text-align: center;
font-size: 12pt;
}
.git-btn
{
padding: 0px 5px;
margin: 4px;
height: 17px;
min-width: 26px;
}
.btn
{
cursor: pointer;
}
.btn:hover
{
background-color: #ffffff33;
}
#status
{
margin: 0px 5px;
vertical-align: central;
line-height: 26px;
}
/* Button icons */
.push:before
{
content: '\e1fe';
}
.commit:before
{
content: '\e104';
}
.branch:before
{
content: '\E14B';
}
.git:before
{
content: '\1F4D3';
}
.notification:before
{
content: '\E1FA';
}
.task:before
{
content: '\23E5';
}
.hide:before
{
content: '\23F7';
}
.maximize:before
{
content: '\1F5D7';
}
.close:before
{
content: '\1F7A8';
}
@media only screen and (max-width: 560px)
{
nav > div:last-child
{
height: initial;
grid-template-columns: initial;
}
nav > div:last-child select
{
width: initial;
margin: 0px 5px;
}
nav > div > span
{
text-align: start !important;
}
main
{
margin-top: 110px;
}
.git-btn
{
min-width: 17px;
}
.git-btn > span
{
display: none;
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 398 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 370 KiB

+9 -1
View File
@@ -94,7 +94,7 @@ textarea
padding: 10px;
box-sizing: border-box;
height: 68vh;
font-family: 'Consolas';
font-family: "Consolas";
}
.select-container::after
@@ -141,6 +141,13 @@ th
text-align: left;
}
tr:nth-child(even)
{
background: lightgray;
box-sizing: border-box;
margin: 5px;
}
td
{
text-align: start;
@@ -151,6 +158,7 @@ table
width: 100%;
}
.text-danger
{
text-decoration: solid;
+129 -99
View File
@@ -6,8 +6,9 @@
grid-column-gap: 50px;
grid-row-gap: 25px;
max-width: 1100px;
margin: 0px auto;
padding: 0px 30px;
width: calc(100vw - 117px);
margin: 50px auto 40px auto;
box-sizing: border-box;
}
article, header
@@ -15,61 +16,57 @@ article, header
margin: 0px;
}
header a:link
{
text-decoration: underline;
}
body
{
background-color: whitesmoke;
}
.item
.timelineContainer
{
display: grid;
grid-row-gap: 25px;
}
.post
{
background: white;
margin-bottom: 20px;
border-radius: 5px;
}
header
{
margin: 25px 0px;
}
header a:link
{
text-decoration: underline;
}
header > h1
.post > img
{
margin-bottom: 0px;
width: 100%;
border-radius: 5px 5px 0px 0px;
}
.item > img
{
width: 100%;
border-radius: 5px 5px 0px 0px;
}
.post-body img
{
width: 100%;
}
.item > div
{
padding: 10px 25px;
}
.item > div > p
.post > div
{
color: gray;
padding: 25px;
padding-top: 0px;
}
.item > div > h2 > a
{
color: black;
text-decoration: none;
}
.post > div > p
{
color: gray;
}
.item > div > h2::after
.post > div > h2
{
margin: 0px;
}
.post > div > h2 > a
{
color: black;
text-decoration: none;
}
.post h2::after
{
content: " \E00F";
font-size: initial;
@@ -79,9 +76,7 @@ header a:link
main > form
{
align-self: center;
background-color: white;
position: relative;
border-radius: 5px;
}
main > form > input[type=text]
@@ -92,11 +87,12 @@ main > form
padding: 0px 10px;
height: 32px;
width: 100%;
outline: none;
}
main > form > input[type=submit]
{
font-family: "SegoeMDL2Assets";
font-family: "Segoe MDL2 Assets";
height: 32px;
width: 32px;
background-color: transparent;
@@ -109,9 +105,7 @@ main > form
.page-navigation
{
background-color: white;
border-radius: 5px;
display: table;
user-select: none;
margin: auto;
}
@@ -131,18 +125,6 @@ main > form
line-height: 33px;
}
.follow-list a
{
color: black;
text-decoration: none;
font-size: x-large;
}
.follow-list a:hover
{
opacity: .5;
}
.follow-list
{
display: inline-grid;
@@ -150,33 +132,53 @@ main > form
grid-column-gap: 20px;
}
.post-body
{
background: white;
margin-bottom: 20px;
border-radius: 5px;
padding: 1px 0px;
}
.post-body .post-header, .post-body > p
.follow-list a
{
margin-right: 25px;
margin-left: 25px;
margin-bottom: 25px;
color: black;
text-decoration: none;
font-size: x-large;
}
.post-body > hr,
.post-body > h1,
.post-body > h2,
.post-body > h3,
.post-body > h6,
.post-body > h5,
.post-body > h6,
.post-body > ol,
.post-body > ul
.follow-list a:hover
{
opacity: .5;
}
article.article, .post-comments
{
background: white;
border-radius: 5px;
padding: 5px 20px;
}
article.article img
{
margin-right: 25px;
margin-left: 25px;
width: 100%;
cursor: zoom-in;
}
article.article > img
{
width: calc(100% + 40px);
margin: 0px -20px;
}
article.article pre
{
margin: 0px -20px;
padding: 0px 20px;
overflow: auto;
background-color: #eee;
}
article.article code
{
background-color: #eee;
}
article.article p code
{
word-break: break-all;
}
.share-btns
@@ -184,6 +186,7 @@ main > form
display: inline-grid;
grid-auto-flow: column;
grid-column-gap: 5px;
margin-bottom: 20px;
}
.share-btn
@@ -251,57 +254,83 @@ main > form
fill: #3673be !important;
}
.post-comments
{
background-color: white;
border-radius: 5px;
padding: 5px 25px;
}
.post-comment > div
.post-comment
{
display: grid;
grid-template-columns: auto 1fr;
grid-template-columns: 35px 1fr;
grid-column-gap: 20px;
margin-top: 20px;
}
.post-comment > div > div > span
.post-comment > div > p:first-child
{
margin: 0px;
line-height: 35px;
}
.post-comment > div > div > div
.post-comment > img
{
margin-top: 30px;
border-radius: 18px;
}
.post-comment > div > img
main input, .post, article.article, .twitter-timeline, .post-comments
{
transition-duration: .2s;
box-shadow: 0px 0px 10px rgba(0, 0, 0, .1);
}
main input:focus, main input:hover, article .post:hover
{
border-radius: 999px;
box-shadow: 0px 0px 10px rgba(0, 0, 0, .5);
}
@media only screen and (max-width: 1200px)
{
main
{
margin: 50px 50px 0px 50px;
}
article.article
{
width: calc(100vw - 467px)
}
}
@media only screen and (max-width: 1000px)
{
main
{
grid-column-gap: 25px;
}
article.article
{
width: calc(100vw - 442px)
}
}
@media only screen and (max-width: 800px)
{
main > aside, main > form
.twitter-timeline
{
display: none;
display: none !important;
}
main > form
{
margin: 25px 0px;
}
main
{
display: block;
margin: 20px 50px 0px 50px;
}
header
article.article
{
margin-bottom: 25px;
width: unset;
}
}
@@ -309,6 +338,7 @@ main > form
{
main
{
padding: 10px !important;
margin: 10px;
width: calc(100vw - 37px);
}
}
+37 -22
View File
@@ -1,23 +1,38 @@
@font-face
{
font-family: 'Consolas';
src: local("Consolas"), url("/fonts/Consolas/consolas.eot"), url("/fonts/Consolas/consolas.eot?#iefix") format("embedded-opentype"), url("/fonts/Consolas/consolas.otf") format("opentype"), url("/fonts/Consolas/consolas.svg") format("svg"), url("/fonts/Consolas/consolas.ttf") format("truetype"), url("/fonts/Consolas/consolas.woff") format("woff"), url("/fonts/Consolas/consolas.woff2") format("woff2");
}
@font-face
{
font-family: 'SegoeMDL2Assets';
src: local("Segoe MDL2 Assets"), url("/fonts/Segoe MDL2 Assets/segoeMLD2assets.eot"), url("/fonts/Segoe MDL2 Assets/segoeMLD2assets.eot?#iefix") format("embedded-opentype"), url("/fonts/Segoe MDL2 Assets/segoeMLD2assets.otf") format("opentype"), url("/fonts/Segoe MDL2 Assets/segoeMLD2assets.svg") format("svg"), url("/fonts/Segoe MDL2 Assets/segoeMLD2assets.ttf") format("truetype"), url("/fonts/Segoe MDL2 Assets/segoeMLD2assets.woff") format("woff"), url("/fonts/Segoe MDL2 Assets/segoeMLD2assets.woff2") format("woff2");
}
@font-face
{
font-family: 'Calibri';
src: local("Calibri"), url("/fonts/Calibri/calibri.eot"), url("/fonts/Calibri/calibri.eot?#iefix") format("embedded-opentype"), url("/fonts/Calibri/calibri.otf") format("opentype"), url("/fonts/Calibri/calibri.svg") format("svg"), url("/fonts/Calibri/calibri.ttf") format("truetype"), url("/fonts/Calibri/calibri.woff") format("woff"), url("/fonts/Calibri/calibri.woff2") format("woff2");
}
@font-face
{
font-family: 'SegoeUISymbol';
src: local("Segoe UI Symbol"), url("/fonts/Segoe UI Symbol/segoeUISymbol.eot"), url("/fonts/Segoe UI Symbol/segoeUISymbol.eot?#iefix") format("embedded-opentype"), url("/fonts/Segoe UI Symbol/segoeUISymbol.otf") format("opentype"), url("/fonts/Segoe UI Symbol/segoeUISymbol.svg") format("svg"), url("/fonts/Segoe UI Symbol/segoeUISymbol.ttf") format("truetype"), url("/fonts/Segoe UI Symbol/segoeUISymbol.woff") format("woff"), url("/fonts/Segoe UI Symbol/segoeUISymbol.woff2") format("woff2");
@font-face
{
font-family: "Consolas";
src: local("Consolas"),
local("DMCA Sans Serif"),
url("/fonts/DMCAsansserif.ttf") format("truetype");
}
@font-face
{
font-family: "Segoe MDL2 Assets";
src: local("Segoe MDL2 Assets"),
local("Fabric External MDL2 Assets"),
url("/fonts/fabricmdl2.ttf") format("truetype");
}
@font-face
{
font-family: "Segoe UI";
src: local("Segoe UI"),
local("Segoe UI Symbol"),
local("Selawik"),
url("/fonts/SegoeUI/segoeui.ttf") format("truetype"),
url("/fonts/Selawik/selawk.eot"),
url("/fonts/Selawik/selawk.eot?#iefix") format("embedded-opentype"),
url("/fonts/Selawik/selawk.svg") format("svg"),
url("/fonts/Selawik/selawk.ttf") format("truetype"),
url("/fonts/Selawik/selawk.woff") format("woff"),
url("/fonts/Selawik/selawk.woff2") format("woff2");
}
@font-face
{
font-family: "Comic Sans MS";
src: local("Comic Sans MS"),
url("/fonts/emcomic.ttf") format("truetype"),
url("/fonts/nyashasans.ttf") format("truetype");
}
+106 -60
View File
@@ -1,60 +1,106 @@
/* Header style rules */
header
{
display: grid;
grid-template-columns: 1fr auto;
grid-column-gap: 20px;
margin-top: 20px;
margin-bottom: 20px;
}
h1
{
margin: 0px;
}
.github-stats
{
width: 200px;
height: 110px;
}
@media only screen and (max-width: 600px)
{
.github-stats
{
grid-row: 2;
}
}
/* Content styles */
article
{
display: grid;
grid-row-gap: 10px;
margin: 0px 10px;
}
.project-item
{
display: grid;
padding: 20px;
grid-row-gap: 20px;
background-color: whitesmoke;
}
.badge-placeholder
{
display: grid;
grid-column-gap: 10px;
grid-auto-columns: max-content;
grid-auto-flow: column;
}
.badge-placeholder div
{
height: 25px;
width: 25px;
display: inline-block;
background-size: contain;
}
/* Header style rules */
header
{
display: grid;
grid-template-columns: 1fr auto;
grid-column-gap: 20px;
margin-top: 20px;
margin-bottom: 20px;
}
body
{
background-color: whitesmoke;
}
h1
{
margin: 0px;
}
.github-stats
{
width: 200px;
height: 110px;
}
@media only screen and (max-width: 600px)
{
.github-stats
{
grid-row: 2;
}
}
/* Content styles */
article
{
display: grid;
grid-gap: 10px;
margin: 0px 10px;
grid-template-columns: 1fr 1fr;
}
.project-item
{
display: grid;
padding: 20px;
grid-row-gap: 20px;
grid-column-gap: 20px;
background-color: white;
box-shadow: 0px 0px 10px rgba(0, 0, 0, .1);
border-radius: 5px;
grid-template-rows: auto 1fr auto auto;
grid-template-columns: 1fr auto;
}
.project-item > *
{
grid-column: 1/2;
}
.project-item img
{
width: 150px;
height: 150px;
grid-column: 2/3;
grid-row: 1/5;
filter: drop-shadow(0px 0px 5px rgb(150, 150, 150));
}
.project-item > p
{
margin: 0px;
}
.badge-placeholder
{
display: grid;
grid-column-gap: 10px;
grid-auto-columns: max-content;
grid-auto-flow: column;
}
.badge-placeholder div
{
height: 25px;
width: 25px;
display: inline-block;
background-size: contain;
}
@media only screen and (max-width: 1024px)
{
article
{
grid-template-columns: 1fr;
}
}
@media only screen and (max-width: 480px)
{
.project-item img
{
display: none;
}
}
+1 -1
View File
@@ -83,7 +83,7 @@ body
overflow: auto;
margin: 0px;
margin-top: 53px;
font-family: 'Consolas', 'SegoeMDL2Assets';
font-family: "Consolas", "Segoe MDL2 Assets";
/* This stuff is necessary for sticky footer */
display: grid;
grid-template-rows: 1fr auto;
File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 5.8 MiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 1021 KiB

Binary file not shown.
File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 783 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 6.0 MiB

Binary file not shown.
@@ -0,0 +1,383 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg xmlns="http://www.w3.org/2000/svg">
<metadata>
<version>1.0</version>
<id><![CDATA[Selawik]]></id>
<vendor>Monotype Imaging Inc.</vendor>
<credits>
<name>Fonts.com WebFonts</name>
<URL>http://www.fonts.com</URL>
<role>Home of the Web fonts</role>
</credits>
<license>
<URL>http://www.fonts.com/info/legal</URL>
</license>
<copyright><![CDATA[© 2015 Microsoft Corporation (www.microsoft.com), with Reserved Font Name Selawik. Selawik is a trademark of Microsoft Corporation in the United States and/or other countries.]]></copyright>
<trademark><![CDATA[Selawik is a trademark of the Microsoft group of companies.]]></trademark>
<licensee>
<name></name>
</licensee>
</metadata>
<defs>
<font horiz-adv-x="1103" id="Selawik">
<font-face font-family="Selawik" panose-1="2 11 5 2 4 2 4 2 2 3" ascent="2027" descent="-431" units-per-em="2048" alphabetic="0">
</font-face>
<missing-glyph horiz-adv-x="1322" />
<glyph unicode="&#xA;" />
<glyph unicode="&#xD;" horiz-adv-x="199" />
<glyph unicode=" " horiz-adv-x="561" />
<glyph unicode="!" horiz-adv-x="582" d="M203 1434H375L356 344H221L203 1434ZM240 -22T210 8T179 90Q179 141 209 172T291 203Q342 203 373 172T404 90Q404 39 373 9T291 -22Q240 -22 210 8Z" />
<glyph unicode="&quot;" horiz-adv-x="803" d="M163 1469H308V1000H163V1469ZM495 1469H640V1000H495V1469Z" />
<glyph unicode="#" horiz-adv-x="1210" d="M881 925L817 625H1100L1071 518H794L710 123H583L667 518H416L332 119H212L295 518H24L53 625H318L381 925H94L123 1032H403L487 1434H610L525 1032H777L864 1438H991L904 1032H1170L1141 925H881ZM754 925H502L439 625H690L754 925Z" />
<glyph unicode="$" horiz-adv-x="1104" d="M745 770T821 721T948 589T1000 386Q1000 226 904 124T631 -3V-209H525V-11H521Q414 -12 319 13T100 98L165 247Q278 189 359 167T521 144H525V675Q404 724 331 765T207 883T156 1078Q156 1242 255 1332T525 1442V1620H631V1447Q797 1444 958 1380L893 1223L868 1232Q806 1255 755 1268T631 1282V820Q745 770 821 721ZM326 1012T377 963T525 867V1275Q434 1260 380 1215T326 1088Q326 1012 377 963ZM729 176T775 237T821 386Q821 475 772 530T631 629V155Q729 176 775 237Z" />
<glyph unicode="%" horiz-adv-x="1676" d="M337 0L1212 1472L1355 1412L481 -60L337 0ZM313 755T239 799T123 921T80 1093Q80 1192 125 1273T248 1400T424 1446Q515 1446 588 1403T704 1283T746 1114Q746 1013 701 931T578 802T404 755Q313 755 239 799ZM462 896T501 924T562 1001T584 1110Q584 1165 563 1210T503 1280T418 1306Q369 1306 329 1280T266 1206T243 1102Q243 1044 265 997T327 923T414 896Q462 896 501 924ZM1168 -10T1094 34T978 156T935 328Q935 427 980 508T1103 635T1279 681Q1370 681 1443 638T1559 518T1601 349Q1601 248 1556 166T1433 37T1259 -10Q1168 -10 1094 34ZM1317 131T1356 159T1417 236T1439 345Q1439 400 1418 445T1358 515T1273 541Q1224 541 1184 515T1121 441T1098 337Q1098 279 1120 232T1182 158T1269 131Q1317 131 1356 159Z" />
<glyph unicode="&amp;" horiz-adv-x="1639" d="M1561 -42Q1286 53 1046 195Q928 91 800 34T550 -23Q429 -23 331 25T176 156T119 342Q119 436 164 506T280 625T455 723Q334 909 334 1077Q334 1184 383 1271T519 1409T713 1459Q813 1459 894 1411T1022 1277T1069 1087Q1069 991 1018 916T888 785T693 670Q829 519 1041 381Q1123 476 1192 593T1312 842L1429 766Q1382 638 1314 522T1160 309Q1367 189 1613 96L1561 -42ZM504 939T602 788Q704 834 770 874T877 970T919 1098Q919 1160 892 1210T818 1290T713 1319Q654 1319 607 1288T532 1201T504 1077Q504 939 602 788ZM670 117T756 156T929 269Q702 421 550 598Q421 531 354 471T286 332Q286 271 326 222T435 145T590 117Q670 117 756 156Z" />
<glyph unicode="&apos;" horiz-adv-x="471" d="M163 1469H308V1000H163V1469Z" />
<glyph unicode="(" horiz-adv-x="618" d="M291 -131T220 71T148 549Q148 816 217 1018T441 1404L537 1324Q415 1149 360 966T304 549Q304 322 362 139T549 -226L451 -306Q291 -131 220 71Z" />
<glyph unicode=")" horiz-adv-x="618" d="M340 -131T411 71T483 549Q483 816 414 1018T190 1404L94 1324Q216 1149 271 966T327 549Q327 322 269 139T82 -226L180 -306Q340 -131 411 71Z" />
<glyph unicode="*" horiz-adv-x="854" d="M527 1078L771 959L703 841L478 994L497 722H361L380 993L155 841L87 959L331 1078L87 1197L155 1315L380 1163L361 1434H497L478 1163L703 1315L771 1197L527 1078Z" />
<glyph unicode="+" horiz-adv-x="1401" d="M635 530H232V664H635V1067H768V664H1172V530H768V127H635V530Z" />
<glyph unicode="&#x2c;" horiz-adv-x="444" d="M39 -194Q106 -69 131 19T156 228H336Q336 104 293 -30T176 -264L39 -194Z" />
<glyph unicode="-" horiz-adv-x="819" d="M144 585H690V456H144V585Z" />
<glyph unicode="." horiz-adv-x="444" d="M172 -22T142 8T111 90Q111 141 141 172T223 203Q274 203 305 172T336 90Q336 39 305 9T223 -22Q172 -22 142 8Z" />
<glyph unicode="/" horiz-adv-x="798" d="M803 1434L670 1484L1 -190L130 -240L803 1434Z" />
<glyph unicode="0" horiz-adv-x="1104" d="M395 -27T293 57T138 301T85 687Q85 931 142 1104T307 1367T569 1458V1456Q712 1456 813 1370T968 1119T1021 722Q1021 485 965 317T800 61T538 -27Q395 -27 293 57ZM556 124Q647 124 711 192T808 391T842 706Q842 897 809 1032T714 1237T562 1308Q468 1308 402 1236T300 1027T265 694Q265 513 299 385T398 190T555 123L556 124Z" />
<glyph unicode="1" horiz-adv-x="1104" d="M551 1277L249 1177L213 1320L609 1466H724L725 -1H551V1277Z" />
<glyph unicode="2" horiz-adv-x="1104" d="M108 61Q108 228 161 343T290 529T487 682Q582 747 635 793T724 904T760 1058Q760 1303 469 1303Q403 1303 342 1294T191 1267L153 1259L127 1418L167 1425Q352 1462 482 1462Q680 1462 809 1376T938 1073Q938 933 891 836T776 679T598 544Q505 482 451 437T361 325T324 167H993V0H108V61Z" />
<glyph unicode="3" horiz-adv-x="1104" d="M167 183Q224 166 301 153T456 139Q597 139 688 196T779 390Q779 671 334 671L328 810Q728 810 728 1074Q728 1206 650 1259T449 1312Q393 1312 340 1305T252 1290T208 1281L190 1431L216 1435Q285 1446 345 1453T473 1460Q657 1460 779 1385T902 1115Q902 831 675 751V747Q763 736 825 687T919 563T951 405Q951 168 804 74T442 -21Q350 -21 265 -8T139 19L167 183Z" />
<glyph unicode="4" horiz-adv-x="1104" d="M687 286H13V428L675 1434L849 1433V436H1033V286H849V-1H687V286ZM687 436V1188L198 436H687Z" />
<glyph unicode="5" horiz-adv-x="1104" d="M161 197Q210 178 296 159T470 140Q609 140 699 205T789 428Q789 571 692 644T432 717Q391 717 312 713T191 705L240 1434H903V1266H392L363 865L412 867Q457 870 485 870Q646 870 754 815T914 663T967 441Q967 187 819 83T456 -21Q384 -21 315 -12T197 11T130 36L161 197Z" />
<glyph unicode="6" horiz-adv-x="1104" d="M745 900T839 837T978 672T1022 456Q1022 303 962 194T799 30T571 -26Q305 -26 208 166T111 630Q111 920 173 1101T362 1369T687 1455Q789 1455 916 1432L886 1268Q790 1285 704 1285Q547 1285 458 1223T332 1050T291 776Q332 828 409 864T602 900Q745 900 839 837ZM720 135T782 218T845 432Q845 516 817 587T727 702T566 747Q457 747 388 713T292 633V621L293 580Q296 452 312 362T390 203T579 135Q720 135 782 218Z" />
<glyph unicode="7" horiz-adv-x="1104" d="M807 1276H98V1434H1010L1012 1341L521 0H335L807 1276Z" />
<glyph unicode="8" horiz-adv-x="1104" d="M408 -23T303 35T145 190T92 400Q92 492 130 569T229 698T358 776Q264 829 210 910T155 1090Q155 1186 202 1270T340 1406T556 1458Q654 1458 746 1418T899 1294T959 1090Q959 992 905 911T757 776Q824 750 884 697T982 568T1021 400Q1021 286 967 189T807 35T555 -23Q408 -23 303 35ZM615 846T666 873T750 954T783 1081Q783 1141 758 1194T682 1281T563 1315Q494 1315 441 1284T358 1200T328 1081Q328 1024 355 970T435 881T561 846Q615 846 666 873ZM654 125T718 167T812 274T843 413Q843 505 802 570T695 668T559 701Q466 701 402 659T307 551T275 414Q275 317 314 252T418 156T560 125Q654 125 718 167Z" />
<glyph unicode="9" horiz-adv-x="1104" d="M785 1459T890 1290T995 799Q995 418 868 198T427 -23Q337 -23 235 -4L255 165Q353 143 433 143Q566 143 646 201T764 367T812 635Q727 530 494 530Q386 530 293 582T143 738T86 988Q86 1124 142 1231T304 1398T548 1459Q785 1459 890 1290ZM746 688T817 805V815Q816 993 789 1098T702 1252T537 1301Q392 1301 331 1219T269 1011Q269 905 304 833T401 724T540 688Q746 688 817 805Z" />
<glyph unicode=":" horiz-adv-x="444" d="M167 741T129 777T91 868Q91 923 129 959T223 996Q280 996 318 960T356 868Q356 814 318 778T223 741Q167 741 129 777ZM167 -22T129 14T91 105Q91 160 129 196T223 233Q280 233 318 197T356 105Q356 51 318 15T223 -22Q167 -22 129 14Z" />
<glyph unicode=";" horiz-adv-x="444" d="M175 804T139 839T103 926Q103 977 139 1011T226 1046Q277 1046 312 1012T348 926Q348 875 313 840T226 804Q175 804 139 839ZM39 -194Q106 -69 131 19T156 228H336Q336 104 293 -30T176 -264L39 -194Z" />
<glyph unicode="&lt;" horiz-adv-x="1401" d="M1132 276L488 588V594L1132 950V1100L272 618V559L1132 127V276Z" />
<glyph unicode="=" horiz-adv-x="1401" d="M232 876H1172V744H232V876ZM232 450H1172V318H232V450Z" />
<glyph unicode="&gt;" horiz-adv-x="1401" d="M272 276L916 588V594L272 950V1100L1132 618V559L272 127V276Z" />
<glyph unicode="?" horiz-adv-x="918" d="M325 522Q325 630 351 700T414 809T510 893Q555 927 581 952T624 1015T641 1107Q641 1199 580 1250T407 1303Q314 1303 161 1268L124 1420Q192 1438 269 1448T420 1458Q601 1458 700 1371T799 1123Q799 1022 775 956T716 852T624 770Q577 734 550 706T504 635T486 528V360H325V522ZM364 -22T334 8T303 90Q303 141 333 172T415 203Q466 203 497 172T528 90Q528 39 497 9T415 -22Q364 -22 334 8Z" />
<glyph unicode="@" horiz-adv-x="1956" d="M1788 337T1739 210T1585 22T1312 -39V-38L1310 -39Q1255 57 1227 159Q1210 109 1161 67T1044 1T906 -23Q807 -23 729 8T605 104T559 266Q559 360 606 429T739 536T941 573Q1079 573 1204 502V604Q1204 724 1148 779T982 834Q940 834 862 828T715 810L687 974Q809 988 878 994T995 1000Q1177 1000 1271 904T1366 618L1368 330Q1369 213 1422 93Q1539 115 1592 220T1645 531Q1645 765 1579 910T1374 1125T1010 1194Q769 1194 619 1120T397 888T325 478Q325 224 398 67T624 -165T1025 -240Q1176 -240 1302 -210T1557 -114L1607 -235Q1489 -310 1352 -344T1027 -378Q725 -378 538 -289T261 -10T172 482Q172 782 259 968T529 1243T1008 1332Q1283 1332 1454 1250T1707 995T1788 542Q1788 337 1739 210ZM1021 130T1080 157T1171 234T1204 349V358Q1154 386 1093 401T966 417Q859 417 795 380T731 276Q731 233 757 200T832 149T943 130Q1021 130 1080 157Z" />
<glyph unicode="A" horiz-adv-x="1321" d="M998 312H324L211 0H24L574 1434H748L1300 0H1114L998 312ZM942 463L682 1164Q678 1180 671 1208T659 1260H655Q653 1245 644 1209T631 1164L378 463H942Z" />
<glyph unicode="B" horiz-adv-x="1174" d="M188 1V1435H596Q707 1435 794 1396T930 1283T980 1107Q980 984 920 895T752 767V763Q850 752 922 706T1032 584T1071 412Q1071 288 1010 195T843 51T606 0L188 1ZM529 820Q656 820 730 885T805 1074Q805 1185 739 1234T549 1283H357V820H529ZM586 153Q730 153 813 220T897 415Q897 669 550 669H358V153H586Z" />
<glyph unicode="C" horiz-adv-x="1268" d="M528 -20T385 66T168 316T93 713Q93 949 179 1117T429 1372T825 1460Q979 1460 1149 1416L1100 1256Q1061 1269 973 1279T823 1292Q811 1293 787 1293Q627 1293 513 1224T339 1025T279 721Q279 540 334 410T496 211T752 142Q840 142 932 163T1124 218L1180 65Q1086 29 964 5T729 -20Q528 -20 385 66Z" />
<glyph unicode="D" horiz-adv-x="1436" d="M187 1432H583Q959 1432 1150 1261T1341 734Q1341 510 1245 344T974 89T568 0L187 -2V1432ZM570 148Q758 148 892 216T1096 414T1166 728Q1166 1280 579 1280L356 1278V148H570Z" />
<glyph unicode="E" horiz-adv-x="1036" d="M188 1434H916V1282H356V805H854V654H356V152H948V0H188V1434Z" />
<glyph unicode="F" horiz-adv-x="1000" d="M188 1434H916V1282H356V786H854V635H356V0H188V1434Z" />
<glyph unicode="G" horiz-adv-x="1405" d="M564 -22T410 63T176 310T95 700Q95 940 182 1110T436 1370T838 1459Q930 1459 1034 1446T1232 1413L1177 1265Q1103 1278 1006 1290T820 1302Q646 1302 523 1233T335 1031T270 711Q270 526 332 395T513 196T800 127Q881 127 957 144T1092 194V586H728V738H1260L1261 100Q1159 42 1034 10T781 -22Q564 -22 410 63Z" />
<glyph unicode="H" horiz-adv-x="1454" d="M188 1434H356V785H1098V1434H1266V0H1098V634H356V0H188V1434Z" />
<glyph unicode="I" horiz-adv-x="545" d="M188 1434H356V0H188V1434Z" />
<glyph unicode="J" horiz-adv-x="731" d="M69 -332Q179 -319 246 -295T352 -208T391 -29V1434H555V-20Q555 -258 431 -364T90 -482L69 -332Z" />
<glyph unicode="K" horiz-adv-x="1188" d="M589 749L356 465V0H188V1434H356V721Q424 805 459 847L984 1484L1169 1459L713 902L1179 0H978L589 749Z" />
<glyph unicode="L" horiz-adv-x="964" d="M188 1434H356V152H932V0H188V1434Z" />
<glyph unicode="M" horiz-adv-x="1839" d="M188 1434H410L850 441Q866 403 887 346T916 259H922L938 302Q974 405 991 443L1440 1434H1650V0H1486V923Q1486 1118 1497 1233H1493Q1484 1197 1475 1170T1449 1104L959 0H877L388 1096Q361 1149 346 1214H342Q347 1151 347 902V0H188V1434Z" />
<glyph unicode="N" horiz-adv-x="1532" d="M188 1435H406L1124 310Q1136 290 1155 253T1185 194H1189Q1184 231 1181 298T1178 424V1434H1344L1345 0H1139L404 1145Q392 1163 377 1196T352 1255H346Q350 1234 352 1167T354 1037V0H188V1435Z" />
<glyph unicode="O" horiz-adv-x="1544" d="M564 -25T410 70T174 333T92 712Q92 925 174 1094T410 1360T770 1457Q979 1457 1133 1361T1368 1095T1447 712Q1447 500 1366 333T1132 70T770 -25Q564 -25 410 70ZM927 135T1037 206T1204 407T1260 712Q1260 889 1204 1020T1037 1224T770 1296Q612 1296 501 1224T333 1021T276 712Q276 537 333 407T501 206T770 135Q927 135 1037 206Z" />
<glyph unicode="P" horiz-adv-x="1147" d="M190 1434H584Q733 1434 841 1385T1008 1240T1066 1006Q1066 865 1000 760T815 599T545 542H358V0H190V1434ZM533 693Q701 693 796 770T891 998Q891 1145 805 1213T555 1282L357 1281V693H533Z" />
<glyph unicode="Q" horiz-adv-x="1544" d="M1191 -37T1293 -106T1517 -203L1426 -361Q1281 -324 1156 -231T947 -5Q862 -25 770 -25Q564 -25 410 70T174 333T92 712Q92 925 174 1094T410 1360T770 1457Q978 1457 1131 1362T1365 1098T1447 719Q1447 499 1363 327T1122 64Q1191 -37 1293 -106ZM276 537T333 407T501 206T770 135Q927 135 1037 206T1204 407T1260 712Q1260 889 1204 1020T1037 1224T770 1296Q612 1296 501 1224T333 1021T276 712Q276 537 333 407Z" />
<glyph unicode="R" horiz-adv-x="1225" d="M970 0L569 612H545H358V0H190V1434H584Q730 1434 836 1390T999 1258T1056 1046Q1056 899 977 795T758 644L1186 0H970ZM696 763T788 832T881 1038Q881 1164 798 1223T555 1282L357 1281V763H533Q696 763 788 832Z" />
<glyph unicode="S" horiz-adv-x="1088" d="M391 -11T296 14T80 98L145 247Q258 189 339 167T501 144Q658 144 729 210T801 386Q801 465 762 517T664 602T503 675Q383 724 311 766T187 884T136 1078Q136 1264 262 1355T599 1447Q770 1447 938 1380L873 1223L848 1232Q786 1256 732 1269T602 1282Q473 1282 390 1236T306 1088Q306 1025 342 980T433 905T584 831Q710 776 789 728T924 596T980 386Q980 264 923 175T757 37T495 -11Q391 -11 296 14Z" />
<glyph unicode="T" horiz-adv-x="1073" d="M454 1282H41V1434H1036V1282H622V0H454V1282Z" />
<glyph unicode="U" horiz-adv-x="1407" d="M425 -24T297 125T169 557V1434H337V568Q337 126 709 126Q1069 126 1069 553V1434H1237V580Q1237 -24 692 -24Q425 -24 297 125Z" />
<glyph unicode="V" horiz-adv-x="1272" d="M16 1433H200L600 291Q621 236 630 164H634Q642 218 668 294L1076 1434L1252 1433L721 -1H536L16 1433Z" />
<glyph unicode="W" horiz-adv-x="1913" d="M25 1434H208L515 329Q524 298 531 257T539 185H544Q547 209 556 251T576 329L893 1434H1054L1358 321Q1374 261 1382 187H1386Q1389 230 1413 325L1708 1434H1887L1482 0H1285L990 1053Q982 1083 975 1124T967 1199H963Q957 1128 937 1055L640 0H445L25 1434Z" />
<glyph unicode="X" horiz-adv-x="1208" d="M507 723L65 1436H269L564 930Q574 913 589 883T614 828H618Q660 910 674 932L981 1434H1172L721 723L1181 0H978L646 552Q638 566 629 586T612 624H608L573 553L231 0H27L507 723Z" />
<glyph unicode="Y" horiz-adv-x="1132" d="M480 526L19 1434H207L531 781Q537 768 547 743T566 693H569Q578 726 606 781L945 1434H1121L648 530V0H480V526Z" />
<glyph unicode="Z" horiz-adv-x="1168" d="M53 47L816 1282H80V1434H1084V1394L314 152H1104V0H53V47Z" />
<glyph unicode="[" horiz-adv-x="618" d="M200 1434H568V1315H346V-207H568V-326H200V1434Z" />
<glyph unicode="\" horiz-adv-x="776" d="M-26 1434L107 1484L776 -190L647 -240L-26 1434Z" />
<glyph unicode="]" horiz-adv-x="618" d="M421 1434H53V1315H275V-207H53V-326H421V1434Z" />
<glyph unicode="^" horiz-adv-x="1401" d="M652 1458H717L1174 624H1024L692 1243H686L377 624H230L652 1458Z" />
<glyph unicode="_" horiz-adv-x="850" d="M50 -157H800V-297H50V-157Z" />
<glyph unicode="`" horiz-adv-x="549" d="M102 1536H300L501 1218H344L102 1536Z" />
<glyph unicode="a" horiz-adv-x="1042" d="M842 -39Q787 57 759 159Q742 109 693 67T576 1T438 -23Q339 -23 261 8T137 104T91 266Q91 360 138 429T271 536T473 573Q611 573 736 502V604Q736 724 680 779T514 834Q472 834 394 828T247 810L219 974Q341 988 410 994T527 1000Q709 1000 803 904T898 618L900 330Q901 183 987 28L842 -39ZM553 130T612 157T703 234T736 349V358Q686 386 625 401T498 417Q391 417 327 380T263 276Q263 233 289 200T364 149T475 130Q553 130 612 157Z" />
<glyph unicode="b" horiz-adv-x="1204" d="M814 1000T912 940T1060 769T1109 509Q1109 346 1055 227T895 42T635 -23Q403 -23 335 144L288 0H169L167 1516H332V855Q467 1000 671 1000Q814 1000 912 940ZM729 130T793 170T895 295T933 511Q933 606 901 679T804 794T651 836Q551 836 485 816T332 736V548L333 418Q333 308 384 244T507 155T647 130Q729 130 793 170Z" />
<glyph unicode="c" horiz-adv-x="946" d="M427 -23T318 38T152 213T95 485Q95 641 153 757T323 936T592 998Q674 999 753 984T887 942L847 776Q725 831 593 831Q426 831 351 746T276 490Q276 312 361 225T611 138Q678 138 730 151T869 197L920 45Q836 13 747 -5T578 -23Q427 -23 318 38Z" />
<glyph unicode="d" horiz-adv-x="1206" d="M982 -39Q925 64 898 163Q855 71 765 24T537 -23Q406 -23 307 38T154 212T99 472Q99 629 160 748T332 934T591 1000Q742 1000 876 896V1517H1040V330Q1041 183 1127 28L982 -39ZM723 134T799 217T876 453V753Q814 807 742 829T604 851Q503 851 429 807T315 680T275 483Q275 397 307 317T407 186T577 134Q723 134 799 217Z" />
<glyph unicode="e" horiz-adv-x="1071" d="M694 128T769 143T919 187L970 47Q899 17 790 -3T592 -23Q356 -23 226 103T96 493Q96 657 153 771T320 945T582 1004Q717 1004 808 942T943 779T987 563Q987 484 965 405L269 400Q291 265 381 197T627 128Q694 128 769 143ZM418 847T346 765T264 544L805 549Q807 573 807 585Q807 653 782 712T702 809T560 847Q418 847 346 765Z" />
<glyph unicode="f" horiz-adv-x="641" d="M472 1371T443 1346T402 1271T391 1141V975L630 976V831H391V2H227V831H52V974L227 975V1131Q227 1319 290 1426T514 1534Q548 1534 642 1524L684 1519L648 1359Q611 1363 601 1364Q552 1371 527 1371Q472 1371 443 1346Z" />
<glyph unicode="g" horiz-adv-x="1206" d="M1040 974V0Q1040 -246 866 -363T375 -482L356 -328Q547 -319 660 -276T825 -152T876 55V123Q780 -23 537 -23Q406 -23 307 38T154 212T99 472Q99 629 160 748T332 934T591 1000Q751 1000 895 880L917 974H1040ZM877 452V752Q815 806 743 828T604 851Q503 851 429 807T315 680T275 483Q275 397 307 317T407 186T577 134Q723 134 799 217T876 453L877 452Z" />
<glyph unicode="h" horiz-adv-x="1159" d="M755 1000T842 950T972 812T1016 610V0H852V564Q852 687 799 765T626 843Q540 843 464 813T329 728V0H165V1517H329V887Q444 1000 627 1000Q755 1000 842 950Z" />
<glyph unicode="i" horiz-adv-x="496" d="M203 1279T171 1311T139 1391Q139 1438 171 1470T251 1502Q298 1502 330 1470T362 1391Q362 1343 330 1311T251 1279Q203 1279 171 1311ZM166 974H330V0H166V974Z" />
<glyph unicode="j" horiz-adv-x="496" d="M205 1279T172 1312T139 1391Q139 1437 172 1469T251 1502Q297 1502 329 1470T362 1391Q362 1345 330 1312T251 1279Q205 1279 172 1312ZM-156 -322Q-28 -305 41 -262T138 -144T166 58V974H330V20Q330 -233 205 -351T-135 -482L-156 -322Z" />
<glyph unicode="k" horiz-adv-x="1018" d="M514 494L330 291V0H166V1516H330V501Q370 563 400 594L784 1000L949 974L623 614L992 -2H810L514 494Z" />
<glyph unicode="l" horiz-adv-x="496" d="M166 1516H330V0H166V1516Z" />
<glyph unicode="m" horiz-adv-x="1764" d="M1377 1000T1457 950T1578 812T1619 610V0H1455V564Q1453 688 1403 765T1239 843Q1158 843 1087 815T962 736Q976 675 976 610V0H812V564Q810 688 760 765T596 843Q520 843 452 815T331 735L329 0H165L167 974H288L319 878Q432 1000 617 1000Q719 1000 793 962T912 854Q1058 1000 1260 1000Q1377 1000 1457 950Z" />
<glyph unicode="n" horiz-adv-x="1159" d="M755 1000T842 950T972 812T1016 610V0H852V564Q852 687 800 765T626 844Q540 843 465 813T331 727L329 0H165L167 974H288L319 877Q435 1000 627 1000Q755 1000 842 950Z" />
<glyph unicode="o" horiz-adv-x="1200" d="M453 -25T338 38T159 216T95 483Q95 636 158 753T337 934T605 998Q754 998 867 934T1041 754T1101 483Q1101 331 1040 216T866 38T605 -25Q453 -25 338 38ZM699 133T771 176T884 299T927 483Q925 589 884 670T771 795T605 840Q505 840 429 795T311 669T269 481Q269 377 310 298T428 176T605 133Q699 133 771 176Z" />
<glyph unicode="p" horiz-adv-x="1204" d="M809 1000T907 943T1057 775T1109 509Q1109 346 1055 227T895 42T635 -23Q398 -23 332 151V-470H167V974H289L328 850Q395 922 483 961T671 1000Q809 1000 907 943ZM729 130T793 170T895 295T933 511Q933 666 860 751T651 836Q574 836 492 810T332 735V418Q332 308 384 244T507 155T647 130Q729 130 793 170Z" />
<glyph unicode="q" horiz-adv-x="1206" d="M1040 974V-472H876V154Q781 -23 537 -23Q406 -23 307 38T154 212T99 472Q99 639 156 757T324 938T591 1000Q668 1000 746 969T894 881L916 974H1040ZM723 134T799 217T876 453V753Q821 800 751 825T604 851Q447 851 361 755T275 483Q275 397 307 317T407 186T577 134Q723 134 799 217Z" />
<glyph unicode="r" horiz-adv-x="712" d="M416 999T577 999Q622 999 671 990L643 834Q615 837 588 837Q433 837 331 741V0H167V974H291L313 880Q416 999 577 999Z" />
<glyph unicode="s" horiz-adv-x="869" d="M257 -24T86 53L140 200Q301 128 415 126Q623 129 624 263Q624 310 598 340T532 388T423 428Q332 457 275 485T178 571T137 722Q140 1002 478 1002Q633 1002 748 949L691 800Q576 851 478 851Q299 849 292 722Q292 684 316 659T375 619T475 582Q570 552 630 522T735 429T779 263Q779 -25 415 -25Q257 -24 86 53Z" />
<glyph unicode="t" horiz-adv-x="694" d="M373 828V302Q373 258 392 217T452 149T549 122Q589 122 640 129V-18Q575 -24 508 -24Q415 -24 350 16T252 123T219 273V828H43V973H219V1323H373V973H641V828H373Z" />
<glyph unicode="u" horiz-adv-x="1159" d="M936 -39Q878 65 854 157Q839 116 797 75T687 6T533 -22Q392 -22 305 33T181 175T144 368V973H308V419Q308 288 362 209T569 130Q682 130 756 183T830 362V974H994V330Q995 183 1081 28L936 -39Z" />
<glyph unicode="v" horiz-adv-x="981" d="M16 974H191L451 305Q459 285 472 231T487 161H491Q493 182 504 234T521 301L793 974H973L565 -5H404L16 974Z" />
<glyph unicode="w" horiz-adv-x="1480" d="M24 974H191L403 278Q407 262 411 232T416 188H424Q425 200 431 235T442 283L674 975H824L1040 279Q1043 270 1048 236T1055 187H1063Q1064 197 1070 227T1081 277L1289 974H1457L1150 -5H980L768 653Q762 674 756 705T748 746H744Q743 737 736 706T722 654L498 -5H334L24 974Z" />
<glyph unicode="x" horiz-adv-x="940" d="M366 472L42 974H230L470 584H474L730 974H916L582 486L910 0H722L475 380H471L219 0H27L366 472Z" />
<glyph unicode="y" horiz-adv-x="991" d="M73 -329Q158 -310 216 -276T316 -185T389 -42L407 5L15 974H207L471 276L491 198H497L517 274L793 974L984 976L529 -138Q478 -269 415 -338T290 -432T131 -478L110 -482L73 -329Z" />
<glyph unicode="z" horiz-adv-x="926" d="M53 51L611 827H80V974H870V927L302 147H874V0H53V51Z" />
<glyph unicode="{" horiz-adv-x="618" d="M248 -322T248 -16V284Q248 486 92 496V612Q248 623 248 828V1120Q248 1430 555 1434V1306Q396 1302 396 1108V815Q396 605 246 557V553Q396 508 396 297V8Q396 -67 411 -111T461 -177T555 -200V-326Q248 -322 248 -16Z" />
<glyph unicode="|" horiz-adv-x="490" d="M172 1566H320V-482H172V1566Z" />
<glyph unicode="}" horiz-adv-x="618" d="M373 -322T373 -16V284Q373 486 529 496V612Q373 623 373 828V1120Q373 1430 66 1434V1306Q225 1302 225 1108V815Q225 605 375 557V553Q225 508 225 297V8Q225 -67 210 -111T160 -177T66 -200V-326Q373 -322 373 -16Z" />
<glyph unicode="~" horiz-adv-x="1401" d="M212 485T247 555T344 662T490 700Q545 700 599 676T730 603Q802 560 842 541T922 522Q982 522 1019 570T1059 700H1194Q1187 552 1114 471T914 390Q852 390 796 415T662 490Q602 528 564 547T490 566Q350 566 344 390H209Q212 485 247 555Z" />
<glyph unicode="&#xA1;" horiz-adv-x="582" d="M379 -431H207L226 659H361L379 -431ZM342 1025T372 995T403 913Q403 862 373 831T291 800Q240 800 209 831T178 913Q178 964 209 994T291 1025Q342 1025 372 995Z" />
<glyph unicode="&#xA2;" horiz-adv-x="1104" d="M859 -11T722 -21V-209H607V-20Q474 -8 379 56T234 229T184 485Q184 628 233 737T378 914T607 995V1213H722V998Q794 995 861 980T976 942L936 776Q836 822 722 830V138Q781 141 829 154T958 197L1009 45Q859 -11 722 -21ZM365 339T426 254T607 146V826Q481 808 423 724T365 490Q365 339 426 254Z" />
<glyph unicode="&#xA3;" horiz-adv-x="1104" d="M888 136V0H80V136Q332 282 332 469V641H115V764L332 765V1001Q332 1212 419 1333T729 1454Q753 1454 779 1450T844 1436L879 1429L863 1304Q848 1307 836 1309T815 1314Q767 1326 742 1326Q639 1326 583 1291T507 1189T486 1011V765L751 766V641H486V469Q472 275 271 136H888Z" />
<glyph unicode="&#xA4;" horiz-adv-x="1138" d="M100 219L238 353Q162 465 162 590Q162 720 238 827L100 963L192 1059L330 922Q440 999 570 999Q698 999 807 922L946 1059L1038 963L901 827Q979 714 979 590Q979 469 901 353L1038 219L946 123L809 261Q705 185 570 185Q433 185 330 261L192 123L100 219ZM639 337T698 371T791 464T826 592Q826 660 791 719T696 812T570 847Q499 847 441 813T349 720T315 592Q315 523 349 465T442 372T570 337Q639 337 698 371Z" />
<glyph unicode="&#xA5;" horiz-adv-x="1104" d="M694 698H971V558H643V373H971V233H643V0H485V233H129V373H485V558H129V698H430L69 1434H247L531 831Q537 818 547 793T566 743H569Q574 760 588 791T606 831L875 1434H1041L694 698Z" />
<glyph unicode="&#xA6;" horiz-adv-x="490" d="M172 1566H320V715H172V1566ZM172 370H320V-482H172V370Z" />
<glyph unicode="&#xA7;" horiz-adv-x="918" d="M705 427T736 370T769 223Q769 86 677 11T415 -65Q340 -64 254 -44T86 13L140 150Q217 115 289 96T415 76Q478 77 525 98T598 152T624 223Q624 271 597 302T530 353T420 399Q330 431 274 461T177 549T137 697Q138 786 177 850T292 950Q220 991 179 1054T137 1222Q139 1356 228 1429T478 1502Q552 1502 622 1488T748 1449L691 1310Q636 1334 580 1347T478 1361Q386 1360 341 1331T292 1222Q292 1171 317 1138T381 1086T486 1043Q576 1010 632 978T728 881T769 708Q769 624 739 562T649 465Q705 427 736 370ZM298 652T323 623T385 576T488 535Q554 559 588 603T624 708Q623 771 584 807T469 874Q391 866 347 820T298 697Q298 652 323 623Z" />
<glyph unicode="&#xA8;" horiz-adv-x="848" d="M193 1167T165 1183T121 1227T104 1287Q104 1338 138 1372T223 1406Q273 1406 309 1372T345 1287Q345 1255 329 1227T285 1183T226 1167Q193 1167 165 1183ZM561 1167T526 1201T491 1287Q491 1338 525 1372T608 1406Q658 1406 693 1372T729 1287Q729 1237 695 1202T610 1167Q561 1167 526 1201Z" />
<glyph unicode="&#xA9;" horiz-adv-x="1823" d="M708 -33T536 67T263 340T162 717Q162 921 262 1093T535 1366T912 1467Q1115 1467 1287 1366T1560 1093T1661 717Q1661 513 1560 341T1287 68T912 -33Q708 -33 536 67ZM1081 106T1218 186T1434 405T1513 717Q1513 889 1435 1029T1219 1249T913 1329Q743 1329 606 1249T389 1029T310 717Q310 545 389 406T605 186T912 106Q1081 106 1218 186ZM808 275T714 328T570 480T520 715Q520 850 570 950T718 1105T951 1159Q1021 1160 1089 1147T1206 1111L1172 967Q1063 1015 952 1015Q807 1015 742 941T677 719Q677 565 751 490T967 415Q1026 415 1072 426T1191 466L1235 334Q1162 306 1086 291T939 275Q808 275 714 328Z" />
<glyph unicode="&#xAB;" horiz-adv-x="1036" d="M92 487L391 831H609L304 487L607 151H391L92 487ZM480 487L779 831H997L692 487L995 151H779L480 487Z" />
<glyph unicode="&#xAC;" horiz-adv-x="1401" d="M1040 684H232V817H1172V254H1040V684Z" />
<glyph unicode="&#xAD;" horiz-adv-x="819" d="M144 585H690V456H144V585Z" />
<glyph unicode="&#xAE;" horiz-adv-x="1823" d="M1115 1467T1287 1366T1560 1093T1661 717Q1661 513 1560 341T1287 68T912 -33Q708 -33 536 67T263 340T162 717Q162 921 262 1093T535 1366T912 1467Q1115 1467 1287 1366ZM1081 106T1218 186T1434 405T1513 717Q1513 889 1435 1029T1219 1249T912 1329Q743 1329 606 1249T389 1029T310 717Q310 545 389 406T605 186T912 106Q1081 106 1218 186ZM1182 818T1141 758T1025 667L1247 347H1072L868 641H818V347H681V1137H909Q1037 1137 1109 1076T1182 902Q1182 818 1141 758ZM818 769H879Q955 769 998 796T1041 878Q1041 1009 892 1009L818 1008V769Z" />
<glyph unicode="&#xAF;" horiz-adv-x="850" d="M50 1329H800V1189H50V1329Z" />
<glyph unicode="&#xB0;" horiz-adv-x="772" d="M307 897T244 933T144 1034T108 1176Q108 1253 144 1315T243 1414T383 1450Q461 1450 525 1414T625 1316T662 1176Q662 1098 626 1034T527 934T385 897Q307 897 244 933ZM428 1014T464 1035T521 1094T542 1176Q542 1220 522 1256T465 1312T385 1333Q341 1333 305 1313T249 1256T228 1176Q228 1131 248 1094T304 1036T383 1014Q428 1014 464 1035Z" />
<glyph unicode="&#xB1;" horiz-adv-x="1401" d="M635 655H232V789H635V1192H768V789H1172V655H768V252H635V655ZM232 133H1172V0H232V133Z" />
<glyph unicode="&#xB2;" horiz-adv-x="750" d="M98 946Q98 1010 127 1063T198 1156T309 1252Q366 1298 400 1329T457 1399T480 1479Q480 1599 328 1599Q287 1599 245 1592T153 1574L133 1570L107 1719Q112 1720 142 1726Q204 1738 252 1745T354 1753Q478 1753 558 1696T638 1494Q638 1421 606 1361T530 1258T419 1161Q363 1117 339 1092T314 1042H663V885H98V946Z" />
<glyph unicode="&#xB3;" horiz-adv-x="750" d="M300 863T237 872T131 896L151 1042Q197 1029 257 1022T372 1014Q428 1014 462 1040T496 1111Q496 1167 434 1200T270 1234L266 1388Q358 1388 414 1426T470 1526Q470 1567 447 1591T386 1615Q335 1615 278 1606T178 1581L158 1717Q201 1734 266 1744T397 1754Q465 1754 517 1729T597 1659T626 1553Q626 1477 587 1416T483 1331V1327Q561 1305 608 1245T655 1106Q655 1034 619 979T515 894T360 863Q300 863 237 872Z" />
<glyph unicode="&#xB4;" horiz-adv-x="578" d="M338 1546H534L272 1218H115L338 1546Z" />
<glyph unicode="&#xB5;" horiz-adv-x="1182" d="M956 -39Q898 65 874 157Q859 116 817 75T707 6T553 -22Q418 -22 327 32V-396H165V333Q164 345 164 368V973H328V419Q328 288 382 209T589 130Q702 130 776 183T850 362V974H1014V330Q1015 183 1101 28L956 -39Z" />
<glyph unicode="&#xB6;" horiz-adv-x="938" d="M384 903Q299 903 231 938T123 1033T84 1170Q84 1246 118 1306T210 1400T340 1434H834V1331H706V0H600V1331H492V0H384V903Z" />
<glyph unicode="&#xB7;" horiz-adv-x="444" d="M172 500T142 530T111 612Q111 663 141 694T223 725Q274 725 305 694T336 612Q336 561 305 531T223 500Q172 500 142 530Z" />
<glyph unicode="&#xB8;" horiz-adv-x="420" d="M87 -432T51 -430V-320Q95 -326 121 -326Q242 -326 242 -266Q242 -204 133 -204Q120 -204 92 -208V70H191V-104Q284 -104 337 -144T391 -256Q391 -432 116 -432Q87 -432 51 -430Z" />
<glyph unicode="&#xB9;" horiz-adv-x="719" d="M369 1563L141 1487L105 1620L459 1746H514L515 883H369V1563Z" />
<glyph unicode="&#xBB;" horiz-adv-x="1036" d="M74 151L377 487L72 831H290L589 487L290 151H74ZM462 151L765 487L460 831H678L977 487L678 151H462Z" />
<glyph unicode="&#xBC;" horiz-adv-x="1856" d="M381 0L1256 1472L1399 1412L525 -60L381 0ZM384 1266L156 1190L120 1323L474 1449H529L530 586H384V1266ZM1459 176H1063V328L1425 854L1599 853V306H1703V176H1599V-1H1459V176ZM1459 306V638L1217 306H1459Z" />
<glyph unicode="&#xBD;" horiz-adv-x="1906" d="M387 0L1262 1472L1405 1412L531 -60L387 0ZM394 1266L166 1190L130 1323L484 1449H539L540 586H394V1266ZM1184 61Q1184 125 1213 178T1284 271T1395 367Q1452 413 1486 444T1543 514T1566 594Q1566 714 1414 714Q1373 714 1331 707T1239 689L1219 685L1193 834Q1198 835 1228 841Q1290 853 1338 860T1440 868Q1564 868 1644 811T1724 609Q1724 536 1692 476T1616 373T1505 276Q1449 232 1425 207T1400 157H1749V0H1184V61Z" />
<glyph unicode="&#xBE;" horiz-adv-x="1950" d="M447 0L1322 1472L1465 1412L591 -60L447 0ZM310 564T247 573T141 597L161 743Q207 730 267 723T382 715Q438 715 472 741T506 812Q506 868 444 901T280 935L276 1089Q368 1089 424 1127T480 1227Q480 1268 457 1292T396 1316Q345 1316 288 1307T188 1282L168 1418Q211 1435 276 1445T407 1455Q475 1455 527 1430T607 1360T636 1254Q636 1178 597 1117T493 1032V1028Q571 1006 618 946T665 807Q665 735 629 680T525 595T370 564Q310 564 247 573ZM1519 176H1123V328L1485 854L1659 853V306H1763V176H1659V-1H1519V176ZM1519 306V638L1277 306H1519Z" />
<glyph unicode="&#xBF;" horiz-adv-x="918" d="M593 464Q593 356 567 286T504 177T408 93Q363 59 337 34T294 -29T277 -121Q277 -213 338 -264T511 -317Q604 -317 757 -282L794 -434Q726 -452 649 -462T498 -472Q317 -472 218 -385T119 -137Q119 -36 143 30T202 134T294 216Q341 252 368 280T414 351T432 458V626H593V464ZM554 1008T584 978T615 896Q615 845 585 814T503 783Q452 783 421 814T390 896Q390 947 421 977T503 1008Q554 1008 584 978Z" />
<glyph unicode="&#xC0;" horiz-adv-x="1321" d="M583 1596L341 1824H539L740 1596H583ZM998 312H324L211 0H24L574 1434H748L1300 0H1114L998 312ZM942 463L682 1164Q678 1180 671 1208T659 1260H655Q653 1245 644 1209T631 1164L378 463H942Z" />
<glyph unicode="&#xC1;" horiz-adv-x="1321" d="M752 1628H575L798 1826H1014L752 1628ZM998 312H324L211 0H24L574 1434H748L1300 0H1114L998 312ZM942 463L682 1164Q678 1180 671 1208T659 1260H655Q653 1245 644 1209T631 1164L378 463H942Z" />
<glyph unicode="&#xC2;" horiz-adv-x="1321" d="M515 1596H332L607 1830H740L1016 1596H824L670 1717L515 1596ZM998 312H324L211 0H24L574 1434H748L1300 0H1114L998 312ZM942 463L682 1164Q678 1180 671 1208T659 1260H655Q653 1245 644 1209T631 1164L378 463H942Z" />
<glyph unicode="&#xC3;" horiz-adv-x="1321" d="M454 1705T454 1612H340Q340 1720 388 1784T522 1848Q558 1848 588 1835T662 1796Q702 1771 730 1759T789 1747Q863 1747 863 1843H981Q981 1773 959 1719T897 1635T803 1605Q767 1605 733 1618T648 1659Q606 1682 578 1693T522 1705Q454 1705 454 1612ZM998 312H324L211 0H24L574 1434H748L1300 0H1114L998 312ZM942 463L682 1164Q678 1180 671 1208T659 1260H655Q653 1245 644 1209T631 1164L378 463H942Z" />
<glyph unicode="&#xC4;" horiz-adv-x="1321" d="M437 1577T409 1593T365 1637T348 1697Q348 1748 382 1782T467 1816Q517 1816 553 1782T589 1697Q589 1665 573 1637T529 1593T470 1577Q437 1577 409 1593ZM805 1577T770 1611T735 1697Q735 1748 769 1782T852 1816Q902 1816 937 1782T973 1697Q973 1647 939 1612T854 1577Q805 1577 770 1611ZM998 312H324L211 0H24L574 1434H748L1300 0H1114L998 312ZM942 463L682 1164Q678 1180 671 1208T659 1260H655Q653 1245 644 1209T631 1164L378 463H942Z" />
<glyph unicode="&#xC5;" horiz-adv-x="1321" d="M600 1516T554 1541T482 1609T455 1706Q455 1762 482 1807T557 1878T664 1904Q721 1904 767 1879T840 1810T867 1712Q867 1657 840 1612T764 1542T657 1516Q600 1516 554 1541ZM622 1803T596 1777T569 1710Q569 1671 595 1645T661 1618Q702 1618 729 1644T757 1710Q757 1750 730 1776T661 1803Q622 1803 596 1777ZM998 312H324L211 0H24L574 1434H748L1300 0H1114L998 312ZM942 463L682 1164Q678 1180 671 1208T659 1260H655Q653 1245 644 1209T631 1164L378 463H942Z" />
<glyph unicode="&#xC6;" horiz-adv-x="1762" d="M1667 152V0H907V312H380L211 0H24L821 1434H1635V1282H1075V805H1573V654H1075V152H1667ZM907 463V1281L463 463H907Z" />
<glyph unicode="&#xC7;" horiz-adv-x="1268" d="M785 -64T846 -109T907 -236Q907 -432 612 -432Q583 -432 547 -430V-310Q590 -316 617 -316Q758 -316 758 -246Q758 -174 629 -174Q616 -174 591 -178V-9Q432 19 321 112T151 357T93 713Q93 949 179 1117T429 1372T825 1460Q979 1460 1149 1416L1100 1256Q1061 1269 973 1279T823 1292Q811 1293 787 1293Q627 1293 513 1224T339 1025T279 721Q279 540 334 410T496 211T752 142Q840 142 932 163T1124 218L1180 65Q1086 29 964 5T729 -20Q695 -20 679 -19V-64Q785 -64 846 -109Z" />
<glyph unicode="&#xC8;" horiz-adv-x="1036" d="M228 1794H426L627 1566H470L228 1794ZM188 1434H916V1282H356V805H854V654H356V152H948V0H188V1434Z" />
<glyph unicode="&#xC9;" horiz-adv-x="1036" d="M685 1796H901L639 1598H462L685 1796ZM188 1434H916V1282H356V805H854V654H356V152H948V0H188V1434Z" />
<glyph unicode="&#xCA;" horiz-adv-x="1036" d="M494 1800H627L903 1566H711L557 1687L402 1566H219L494 1800ZM188 1434H916V1282H356V805H854V654H356V152H948V0H188V1434Z" />
<glyph unicode="&#xCB;" horiz-adv-x="1036" d="M324 1547T296 1563T252 1607T235 1667Q235 1718 269 1752T354 1786Q404 1786 440 1752T476 1667Q476 1635 460 1607T416 1563T357 1547Q324 1547 296 1563ZM692 1547T657 1581T622 1667Q622 1718 656 1752T739 1786Q789 1786 824 1752T860 1667Q860 1617 826 1582T741 1547Q692 1547 657 1581ZM188 1434H916V1282H356V805H854V654H356V152H948V0H188V1434Z" />
<glyph unicode="&#xCC;" horiz-adv-x="545" d="M-47 1794H151L352 1566H195L-47 1794ZM188 1434H356V0H188V1434Z" />
<glyph unicode="&#xCD;" horiz-adv-x="545" d="M410 1796H626L364 1598H187L410 1796ZM188 1434H356V0H188V1434Z" />
<glyph unicode="&#xCE;" horiz-adv-x="545" d="M219 1800H352L628 1566H436L282 1687L127 1566H-56L219 1800ZM188 1434H356V0H188V1434Z" />
<glyph unicode="&#xCF;" horiz-adv-x="545" d="M49 1547T21 1563T-23 1607T-40 1667Q-40 1718 -6 1752T79 1786Q129 1786 165 1752T201 1667Q201 1635 185 1607T141 1563T82 1547Q49 1547 21 1563ZM417 1547T382 1581T347 1667Q347 1718 381 1752T464 1786Q514 1786 549 1752T585 1667Q585 1617 551 1582T466 1547Q417 1547 382 1581ZM188 1434H356V0H188V1434Z" />
<glyph unicode="&#xD0;" horiz-adv-x="1436" d="M187 1432H583Q959 1432 1150 1261T1341 734Q1341 510 1245 344T974 89T568 0L187 -2V1432ZM570 148Q758 148 892 216T1096 414T1166 728Q1166 1280 579 1280L356 1278V148H570ZM93 773H691V628H93V773Z" />
<glyph unicode="&#xD1;" horiz-adv-x="1532" d="M872 1575T838 1588T753 1629Q711 1652 683 1663T627 1675Q559 1675 559 1582H445Q445 1690 493 1754T627 1818Q663 1818 693 1805T767 1766Q807 1741 835 1729T894 1717Q968 1717 968 1813H1086Q1086 1743 1064 1689T1002 1605T908 1575Q872 1575 838 1588ZM188 1435H406L1124 310Q1136 290 1155 253T1185 194H1189Q1184 231 1181 298T1178 424V1434H1344L1345 0H1139L404 1145Q392 1163 377 1196T352 1255H346Q350 1234 352 1167T354 1037V0H188V1435Z" />
<glyph unicode="&#xD2;" horiz-adv-x="1544" d="M452 1794H650L851 1566H694L452 1794ZM564 -25T410 70T174 333T92 712Q92 925 174 1094T410 1360T770 1457Q979 1457 1133 1361T1368 1095T1447 712Q1447 500 1366 333T1132 70T770 -25Q564 -25 410 70ZM927 135T1037 206T1204 407T1260 712Q1260 889 1204 1020T1037 1224T770 1296Q612 1296 501 1224T333 1021T276 712Q276 537 333 407T501 206T770 135Q927 135 1037 206Z" />
<glyph unicode="&#xD3;" horiz-adv-x="1544" d="M909 1796H1125L863 1598H686L909 1796ZM564 -25T410 70T174 333T92 712Q92 925 174 1094T410 1360T770 1457Q979 1457 1133 1361T1368 1095T1447 712Q1447 500 1366 333T1132 70T770 -25Q564 -25 410 70ZM927 135T1037 206T1204 407T1260 712Q1260 889 1204 1020T1037 1224T770 1296Q612 1296 501 1224T333 1021T276 712Q276 537 333 407T501 206T770 135Q927 135 1037 206Z" />
<glyph unicode="&#xD4;" horiz-adv-x="1544" d="M718 1800H851L1127 1566H935L781 1687L626 1566H443L718 1800ZM564 -25T410 70T174 333T92 712Q92 925 174 1094T410 1360T770 1457Q979 1457 1133 1361T1368 1095T1447 712Q1447 500 1366 333T1132 70T770 -25Q564 -25 410 70ZM927 135T1037 206T1204 407T1260 712Q1260 889 1204 1020T1037 1224T770 1296Q612 1296 501 1224T333 1021T276 712Q276 537 333 407T501 206T770 135Q927 135 1037 206Z" />
<glyph unicode="&#xD5;" horiz-adv-x="1544" d="M878 1575T844 1588T759 1629Q717 1652 689 1663T633 1675Q565 1675 565 1582H451Q451 1690 499 1754T633 1818Q669 1818 699 1805T773 1766Q813 1741 841 1729T900 1717Q974 1717 974 1813H1092Q1092 1743 1070 1689T1008 1605T914 1575Q878 1575 844 1588ZM564 -25T410 70T174 333T92 712Q92 925 174 1094T410 1360T770 1457Q979 1457 1133 1361T1368 1095T1447 712Q1447 500 1366 333T1132 70T770 -25Q564 -25 410 70ZM927 135T1037 206T1204 407T1260 712Q1260 889 1204 1020T1037 1224T770 1296Q612 1296 501 1224T333 1021T276 712Q276 537 333 407T501 206T770 135Q927 135 1037 206Z" />
<glyph unicode="&#xD6;" horiz-adv-x="1544" d="M548 1547T520 1563T476 1607T459 1667Q459 1718 493 1752T578 1786Q628 1786 664 1752T700 1667Q700 1635 684 1607T640 1563T581 1547Q548 1547 520 1563ZM916 1547T881 1581T846 1667Q846 1718 880 1752T963 1786Q1013 1786 1048 1752T1084 1667Q1084 1617 1050 1582T965 1547Q916 1547 881 1581ZM564 -25T410 70T174 333T92 712Q92 925 174 1094T410 1360T770 1457Q979 1457 1133 1361T1368 1095T1447 712Q1447 500 1366 333T1132 70T770 -25Q564 -25 410 70ZM927 135T1037 206T1204 407T1260 712Q1260 889 1204 1020T1037 1224T770 1296Q612 1296 501 1224T333 1021T276 712Q276 537 333 407T501 206T770 135Q927 135 1037 206Z" />
<glyph unicode="&#xD7;" horiz-adv-x="1401" d="M268 258L608 596L268 936L362 1030L700 690L1040 1030L1134 936L794 596L1134 258L1040 164L700 504L362 164L268 258Z" />
<glyph unicode="&#xD8;" horiz-adv-x="1544" d="M1352 1154T1400 1015T1447 712Q1447 500 1366 333T1132 70T770 -25Q637 -25 524 16T325 133L172 -51L94 14L255 207Q175 304 134 433T92 712Q92 925 174 1094T410 1360T770 1457Q893 1457 998 1423T1187 1323L1327 1491L1405 1428L1260 1254Q1352 1154 1400 1015ZM276 487T368 342L1078 1193Q956 1296 770 1296Q612 1296 501 1224T333 1021T276 712Q276 487 368 342ZM926 135T1036 205T1203 405T1260 709Q1260 836 1232 939T1147 1119L432 261Q560 135 770 135Q926 135 1036 205Z" />
<glyph unicode="&#xD9;" horiz-adv-x="1407" d="M384 1794H582L783 1566H626L384 1794ZM425 -24T297 125T169 557V1434H337V568Q337 126 709 126Q1069 126 1069 553V1434H1237V580Q1237 -24 692 -24Q425 -24 297 125Z" />
<glyph unicode="&#xDA;" horiz-adv-x="1407" d="M841 1796H1057L795 1598H618L841 1796ZM425 -24T297 125T169 557V1434H337V568Q337 126 709 126Q1069 126 1069 553V1434H1237V580Q1237 -24 692 -24Q425 -24 297 125Z" />
<glyph unicode="&#xDB;" horiz-adv-x="1407" d="M650 1800H783L1059 1566H867L713 1687L558 1566H375L650 1800ZM425 -24T297 125T169 557V1434H337V568Q337 126 709 126Q1069 126 1069 553V1434H1237V580Q1237 -24 692 -24Q425 -24 297 125Z" />
<glyph unicode="&#xDC;" horiz-adv-x="1407" d="M480 1547T452 1563T408 1607T391 1667Q391 1718 425 1752T510 1786Q560 1786 596 1752T632 1667Q632 1635 616 1607T572 1563T513 1547Q480 1547 452 1563ZM848 1547T813 1581T778 1667Q778 1718 812 1752T895 1786Q945 1786 980 1752T1016 1667Q1016 1617 982 1582T897 1547Q848 1547 813 1581ZM425 -24T297 125T169 557V1434H337V568Q337 126 709 126Q1069 126 1069 553V1434H1237V580Q1237 -24 692 -24Q425 -24 297 125Z" />
<glyph unicode="&#xDD;" horiz-adv-x="1132" d="M703 1796H919L657 1598H480L703 1796ZM480 526L19 1434H207L531 781Q537 768 547 743T566 693H569Q578 726 606 781L945 1434H1121L648 530V0H480V526Z" />
<glyph unicode="&#xDE;" horiz-adv-x="1147" d="M733 1184T841 1135T1008 990T1066 756Q1066 615 1000 510T815 349T545 292H358V0H190V1434H357V1184H584Q733 1184 841 1135ZM701 443T796 520T891 748Q891 895 805 963T555 1032L357 1031V443H533Q701 443 796 520Z" />
<glyph unicode="&#xDF;" horiz-adv-x="1114" d="M627 722T649 691T705 642T798 604Q875 578 924 550T1009 460T1044 293Q1044 142 965 59T740 -25Q653 -24 579 -11T411 35L439 209Q537 167 604 150T740 132Q878 135 877 293Q877 345 854 378T795 429T700 469Q623 497 576 524T496 607T462 758Q462 828 486 874T544 948T635 1007Q685 1036 714 1058T764 1116T784 1204Q784 1283 734 1330T600 1378Q519 1378 458 1344T364 1247T330 1102V2H166V1116Q166 1240 221 1334T376 1480T609 1532Q708 1532 783 1493T899 1383T940 1218Q940 1116 911 1053T842 959T740 898Q700 879 679 865T642 828T627 774Q627 722 649 691Z" />
<glyph unicode="&#xE0;" horiz-adv-x="1042" d="M842 -39Q787 57 759 159Q742 109 693 67T576 1T438 -23Q339 -23 261 8T137 104T91 266Q91 360 138 429T271 536T473 573Q611 573 736 502V604Q736 724 680 779T514 834Q472 834 394 828T247 810L219 974Q341 988 410 994T527 1000Q709 1000 803 904T898 618L900 330Q901 183 987 28L842 -39ZM553 130T612 157T703 234T736 349V358Q686 386 625 401T498 417Q391 417 327 380T263 276Q263 233 289 200T364 149T475 130Q553 130 612 157ZM211 1536H409L610 1218H453L211 1536Z" />
<glyph unicode="&#xE1;" horiz-adv-x="1042" d="M842 -39Q787 57 759 159Q742 109 693 67T576 1T438 -23Q339 -23 261 8T137 104T91 266Q91 360 138 429T271 536T473 573Q611 573 736 502V604Q736 724 680 779T514 834Q472 834 394 828T247 810L219 974Q341 988 410 994T527 1000Q709 1000 803 904T898 618L900 330Q901 183 987 28L842 -39ZM553 130T612 157T703 234T736 349V358Q686 386 625 401T498 417Q391 417 327 380T263 276Q263 233 289 200T364 149T475 130Q553 130 612 157ZM638 1546H834L572 1218H415L638 1546Z" />
<glyph unicode="&#xE2;" horiz-adv-x="1042" d="M842 -39Q787 57 759 159Q742 109 693 67T576 1T438 -23Q339 -23 261 8T137 104T91 266Q91 360 138 429T271 536T473 573Q611 573 736 502V604Q736 724 680 779T514 834Q472 834 394 828T247 810L219 974Q341 988 410 994T527 1000Q709 1000 803 904T898 618L900 330Q901 183 987 28L842 -39ZM553 130T612 157T703 234T736 349V358Q686 386 625 401T498 417Q391 417 327 380T263 276Q263 233 289 200T364 149T475 130Q553 130 612 157ZM454 1550H587L803 1218H661L517 1428L372 1218H239L454 1550Z" />
<glyph unicode="&#xE3;" horiz-adv-x="1042" d="M842 -39Q787 57 759 159Q742 109 693 67T576 1T438 -23Q339 -23 261 8T137 104T91 266Q91 360 138 429T271 536T473 573Q611 573 736 502V604Q736 724 680 779T514 834Q472 834 394 828T247 810L219 974Q341 988 410 994T527 1000Q709 1000 803 904T898 618L900 330Q901 183 987 28L842 -39ZM553 130T612 157T703 234T736 349V358Q686 386 625 401T498 417Q391 417 327 380T263 276Q263 233 289 200T364 149T475 130Q553 130 612 157ZM627 1195T593 1208T508 1249Q466 1272 438 1283T382 1295Q314 1295 314 1202H200Q200 1310 248 1374T382 1438Q418 1438 448 1425T522 1386Q562 1361 590 1349T649 1337Q723 1337 723 1433H841Q841 1363 819 1309T757 1225T663 1195Q627 1195 593 1208Z" />
<glyph unicode="&#xE4;" horiz-adv-x="1042" d="M842 -39Q787 57 759 159Q742 109 693 67T576 1T438 -23Q339 -23 261 8T137 104T91 266Q91 360 138 429T271 536T473 573Q611 573 736 502V604Q736 724 680 779T514 834Q472 834 394 828T247 810L219 974Q341 988 410 994T527 1000Q709 1000 803 904T898 618L900 330Q901 183 987 28L842 -39ZM553 130T612 157T703 234T736 349V358Q686 386 625 401T498 417Q391 417 327 380T263 276Q263 233 289 200T364 149T475 130Q553 130 612 157ZM297 1167T269 1183T225 1227T208 1287Q208 1338 242 1372T327 1406Q377 1406 413 1372T449 1287Q449 1255 433 1227T389 1183T330 1167Q297 1167 269 1183ZM665 1167T630 1201T595 1287Q595 1338 629 1372T712 1406Q762 1406 797 1372T833 1287Q833 1237 799 1202T714 1167Q665 1167 630 1201Z" />
<glyph unicode="&#xE5;" horiz-adv-x="1042" d="M842 -39Q787 57 759 159Q742 109 693 67T576 1T438 -23Q339 -23 261 8T137 104T91 266Q91 360 138 429T271 536T473 573Q611 573 736 502V604Q736 724 680 779T514 834Q472 834 394 828T247 810L219 974Q341 988 410 994T527 1000Q709 1000 803 904T898 618L900 330Q901 183 987 28L842 -39ZM553 130T612 157T703 234T736 349V358Q686 386 625 401T498 417Q391 417 327 380T263 276Q263 233 289 200T364 149T475 130Q553 130 612 157ZM460 1146T414 1171T342 1239T315 1336Q315 1392 342 1437T417 1508T524 1534Q581 1534 627 1509T700 1440T727 1342Q727 1287 700 1242T624 1172T517 1146Q460 1146 414 1171ZM562 1248T589 1274T617 1340Q617 1380 590 1406T521 1433Q482 1433 456 1407T429 1340Q429 1301 455 1275T521 1248Q562 1248 589 1274Z" />
<glyph unicode="&#xE6;" horiz-adv-x="1704" d="M1335 128T1410 143T1560 187L1611 47Q1540 17 1431 -3T1233 -23Q1077 -23 966 32T797 201Q795 141 743 90T608 8T438 -23Q339 -23 261 8T137 104T91 266Q91 360 138 429T271 536T473 573Q610 573 737 502Q737 524 738 535V604Q738 724 682 779T516 834Q474 834 396 828T249 810L221 974Q343 988 412 994T529 1000Q757 1000 846 851Q908 926 1004 965T1223 1004Q1358 1004 1449 942T1584 779T1628 563Q1628 484 1606 405L910 400Q932 265 1022 197T1268 128Q1335 128 1410 143ZM1059 847T987 765T905 544L1446 549Q1448 573 1448 585Q1448 653 1423 712T1343 809T1201 847Q1059 847 987 765ZM589 130T664 175T760 299Q750 338 747 361Q697 392 633 409T498 427Q392 427 328 387T263 276Q263 233 289 200T364 149T475 130Q589 130 664 175Z" />
<glyph unicode="&#xE7;" horiz-adv-x="946" d="M713 -104T766 -144T820 -256Q820 -432 545 -432Q516 -432 480 -430V-320Q523 -326 550 -326Q671 -326 671 -266Q671 -204 562 -204Q549 -204 521 -208V-21Q387 -10 291 54T145 228T95 485Q95 641 153 757T323 936T592 998Q674 999 753 984T887 942L847 776Q725 831 593 831Q426 831 351 746T276 490Q276 312 361 225T611 138Q678 138 730 151T869 197L920 45Q767 -13 620 -22V-104Q713 -104 766 -144Z" />
<glyph unicode="&#xE8;" horiz-adv-x="1071" d="M694 128T769 143T919 187L970 47Q899 17 790 -3T592 -23Q356 -23 226 103T96 493Q96 657 153 771T320 945T582 1004Q717 1004 808 942T943 779T987 563Q987 484 965 405L269 400Q291 265 381 197T627 128Q694 128 769 143ZM418 847T346 765T264 544L805 549Q807 573 807 585Q807 653 782 712T702 809T560 847Q418 847 346 765ZM226 1536H424L625 1218H468L226 1536Z" />
<glyph unicode="&#xE9;" horiz-adv-x="1071" d="M694 128T769 143T919 187L970 47Q899 17 790 -3T592 -23Q356 -23 226 103T96 493Q96 657 153 771T320 945T582 1004Q717 1004 808 942T943 779T987 563Q987 484 965 405L269 400Q291 265 381 197T627 128Q694 128 769 143ZM418 847T346 765T264 544L805 549Q807 573 807 585Q807 653 782 712T702 809T560 847Q418 847 346 765ZM653 1546H849L587 1218H430L653 1546Z" />
<glyph unicode="&#xEA;" horiz-adv-x="1071" d="M694 128T769 143T919 187L970 47Q899 17 790 -3T592 -23Q356 -23 226 103T96 493Q96 657 153 771T320 945T582 1004Q717 1004 808 942T943 779T987 563Q987 484 965 405L269 400Q291 265 381 197T627 128Q694 128 769 143ZM418 847T346 765T264 544L805 549Q807 573 807 585Q807 653 782 712T702 809T560 847Q418 847 346 765ZM469 1550H602L818 1218H676L532 1428L387 1218H254L469 1550Z" />
<glyph unicode="&#xEB;" horiz-adv-x="1071" d="M694 128T769 143T919 187L970 47Q899 17 790 -3T592 -23Q356 -23 226 103T96 493Q96 657 153 771T320 945T582 1004Q717 1004 808 942T943 779T987 563Q987 484 965 405L269 400Q291 265 381 197T627 128Q694 128 769 143ZM418 847T346 765T264 544L805 549Q807 573 807 585Q807 653 782 712T702 809T560 847Q418 847 346 765ZM312 1167T284 1183T240 1227T223 1287Q223 1338 257 1372T342 1406Q392 1406 428 1372T464 1287Q464 1255 448 1227T404 1183T345 1167Q312 1167 284 1183ZM680 1167T645 1201T610 1287Q610 1338 644 1372T727 1406Q777 1406 812 1372T848 1287Q848 1237 814 1202T729 1167Q680 1167 645 1201Z" />
<glyph unicode="&#xEC;" horiz-adv-x="496" d="M166 974H330V0H166V974ZM-62 1536H136L337 1218H180L-62 1536Z" />
<glyph unicode="&#xED;" horiz-adv-x="496" d="M166 974H330V0H166V974ZM365 1546H561L299 1218H142L365 1546Z" />
<glyph unicode="&#xEE;" horiz-adv-x="496" d="M166 974H330V0H166V974ZM181 1550H314L530 1218H388L244 1428L99 1218H-34L181 1550Z" />
<glyph unicode="&#xEF;" horiz-adv-x="496" d="M166 974H330V0H166V974ZM24 1167T-4 1183T-48 1227T-65 1287Q-65 1338 -31 1372T54 1406Q104 1406 140 1372T176 1287Q176 1255 160 1227T116 1183T57 1167Q24 1167 -4 1183ZM392 1167T357 1201T322 1287Q322 1338 356 1372T439 1406Q489 1406 524 1372T560 1287Q560 1237 526 1202T441 1167Q392 1167 357 1201Z" />
<glyph unicode="&#xF0;" horiz-adv-x="1145" d="M421 -22T315 41T153 221T96 500Q96 661 155 785T323 977T576 1046Q699 1046 786 968L790 971Q699 1134 592 1237L293 1086L242 1184L512 1315Q483 1341 446 1368T403 1400L370 1424L479 1509Q542 1464 641 1380L930 1524L985 1430L721 1300Q1048 992 1048 526Q1048 366 990 242T822 48T568 -22Q421 -22 315 41ZM670 114T738 163T843 301T880 510Q880 910 582 910Q484 910 413 861T303 721T264 506Q264 386 301 298T409 162T578 114Q670 114 738 163Z" />
<glyph unicode="&#xF1;" horiz-adv-x="1159" d="M755 1000T842 950T972 812T1016 610V0H852V564Q852 687 800 765T626 844Q540 843 465 813T331 727L329 0H165L167 974H288L319 877Q435 1000 627 1000Q755 1000 842 950ZM686 1195T652 1208T567 1249Q525 1272 497 1283T441 1295Q373 1295 373 1202H259Q259 1310 307 1374T441 1438Q477 1438 507 1425T581 1386Q621 1361 649 1349T708 1337Q782 1337 782 1433H900Q900 1363 878 1309T816 1225T722 1195Q686 1195 652 1208Z" />
<glyph unicode="&#xF2;" horiz-adv-x="1200" d="M453 -25T338 38T159 216T95 483Q95 636 158 753T337 934T605 998Q754 998 867 934T1041 754T1101 483Q1101 331 1040 216T866 38T605 -25Q453 -25 338 38ZM699 133T771 176T884 299T927 483Q925 589 884 670T771 795T605 840Q505 840 429 795T311 669T269 481Q269 377 310 298T428 176T605 133Q699 133 771 176ZM290 1536H488L689 1218H532L290 1536Z" />
<glyph unicode="&#xF3;" horiz-adv-x="1200" d="M453 -25T338 38T159 216T95 483Q95 636 158 753T337 934T605 998Q754 998 867 934T1041 754T1101 483Q1101 331 1040 216T866 38T605 -25Q453 -25 338 38ZM699 133T771 176T884 299T927 483Q925 589 884 670T771 795T605 840Q505 840 429 795T311 669T269 481Q269 377 310 298T428 176T605 133Q699 133 771 176ZM717 1546H913L651 1218H494L717 1546Z" />
<glyph unicode="&#xF4;" horiz-adv-x="1200" d="M453 -25T338 38T159 216T95 483Q95 636 158 753T337 934T605 998Q754 998 867 934T1041 754T1101 483Q1101 331 1040 216T866 38T605 -25Q453 -25 338 38ZM699 133T771 176T884 299T927 483Q925 589 884 670T771 795T605 840Q505 840 429 795T311 669T269 481Q269 377 310 298T428 176T605 133Q699 133 771 176ZM533 1550H666L882 1218H740L596 1428L451 1218H318L533 1550Z" />
<glyph unicode="&#xF5;" horiz-adv-x="1200" d="M453 -25T338 38T159 216T95 483Q95 636 158 753T337 934T605 998Q754 998 867 934T1041 754T1101 483Q1101 331 1040 216T866 38T605 -25Q453 -25 338 38ZM699 133T771 176T884 299T927 483Q925 589 884 670T771 795T605 840Q505 840 429 795T311 669T269 481Q269 377 310 298T428 176T605 133Q699 133 771 176ZM706 1195T672 1208T587 1249Q545 1272 517 1283T461 1295Q393 1295 393 1202H279Q279 1310 327 1374T461 1438Q497 1438 527 1425T601 1386Q641 1361 669 1349T728 1337Q802 1337 802 1433H920Q920 1363 898 1309T836 1225T742 1195Q706 1195 672 1208Z" />
<glyph unicode="&#xF6;" horiz-adv-x="1200" d="M453 -25T338 38T159 216T95 483Q95 636 158 753T337 934T605 998Q754 998 867 934T1041 754T1101 483Q1101 331 1040 216T866 38T605 -25Q453 -25 338 38ZM699 133T771 176T884 299T927 483Q925 589 884 670T771 795T605 840Q505 840 429 795T311 669T269 481Q269 377 310 298T428 176T605 133Q699 133 771 176ZM376 1167T348 1183T304 1227T287 1287Q287 1338 321 1372T406 1406Q456 1406 492 1372T528 1287Q528 1255 512 1227T468 1183T409 1167Q376 1167 348 1183ZM744 1167T709 1201T674 1287Q674 1338 708 1372T791 1406Q841 1406 876 1372T912 1287Q912 1237 878 1202T793 1167Q744 1167 709 1201Z" />
<glyph unicode="&#xF7;" horiz-adv-x="1401" d="M664 868T634 898T604 973Q604 1019 633 1050T708 1082Q811 1082 811 975Q811 929 781 899T708 868Q664 868 634 898ZM232 664H1172V530H232V664ZM660 112T629 142T598 215Q598 261 628 293T704 326Q805 326 805 217Q805 172 776 142T704 112Q660 112 629 142Z" />
<glyph unicode="&#xF8;" horiz-adv-x="1200" d="M1000 819Q1050 753 1076 668T1101 483Q1101 331 1040 216T866 38T605 -25Q511 -25 431 -1T286 70L183 -38L105 35L208 143Q153 209 124 295T95 483Q95 636 158 753T337 934T605 998Q700 998 780 972T924 896L1037 1015L1116 940L1000 819ZM269 358T328 269L805 771Q722 840 605 840Q505 840 429 796T311 670T269 483Q269 358 328 269ZM924 601T875 687L403 192Q487 133 605 133Q699 133 771 176T884 299T927 483Q924 601 875 687Z" />
<glyph unicode="&#xF9;" horiz-adv-x="1159" d="M936 -39Q878 65 854 157Q839 116 797 75T687 6T533 -22Q392 -22 305 33T181 175T144 368V973H308V419Q308 288 362 209T569 130Q682 130 756 183T830 362V974H994V330Q995 183 1081 28L936 -39ZM270 1536H468L669 1218H512L270 1536Z" />
<glyph unicode="&#xFA;" horiz-adv-x="1159" d="M936 -39Q878 65 854 157Q839 116 797 75T687 6T533 -22Q392 -22 305 33T181 175T144 368V973H308V419Q308 288 362 209T569 130Q682 130 756 183T830 362V974H994V330Q995 183 1081 28L936 -39ZM697 1546H893L631 1218H474L697 1546Z" />
<glyph unicode="&#xFB;" horiz-adv-x="1159" d="M936 -39Q878 65 854 157Q839 116 797 75T687 6T533 -22Q392 -22 305 33T181 175T144 368V973H308V419Q308 288 362 209T569 130Q682 130 756 183T830 362V974H994V330Q995 183 1081 28L936 -39ZM513 1550H646L862 1218H720L576 1428L431 1218H298L513 1550Z" />
<glyph unicode="&#xFC;" horiz-adv-x="1159" d="M936 -39Q878 65 854 157Q839 116 797 75T687 6T533 -22Q392 -22 305 33T181 175T144 368V973H308V419Q308 288 362 209T569 130Q682 130 756 183T830 362V974H994V330Q995 183 1081 28L936 -39ZM356 1167T328 1183T284 1227T267 1287Q267 1338 301 1372T386 1406Q436 1406 472 1372T508 1287Q508 1255 492 1227T448 1183T389 1167Q356 1167 328 1183ZM724 1167T689 1201T654 1287Q654 1338 688 1372T771 1406Q821 1406 856 1372T892 1287Q892 1237 858 1202T773 1167Q724 1167 689 1201Z" />
<glyph unicode="&#xFD;" horiz-adv-x="991" d="M73 -329Q158 -310 216 -276T316 -185T389 -42L407 5L15 974H207L471 276L491 198H497L517 274L793 974L984 976L529 -138Q478 -269 415 -338T290 -432T131 -478L110 -482L73 -329ZM612 1546H808L546 1218H389L612 1546Z" />
<glyph unicode="&#xFE;" horiz-adv-x="1204" d="M809 1000T907 943T1057 775T1109 509Q1109 346 1055 227T895 42T635 -23Q398 -23 332 151V-470H167V974H169V1434H332V855Q398 924 486 962T671 1000Q809 1000 907 943ZM729 130T793 170T895 295T933 511Q933 666 860 751T651 836Q574 836 492 810T332 735V418Q332 308 384 244T507 155T647 130Q729 130 793 170Z" />
<glyph unicode="&#xFF;" horiz-adv-x="991" d="M73 -329Q158 -310 216 -276T316 -185T389 -42L407 5L15 974H207L471 276L491 198H497L517 274L793 974L984 976L529 -138Q478 -269 415 -338T290 -432T131 -478L110 -482L73 -329ZM271 1167T243 1183T199 1227T182 1287Q182 1338 216 1372T301 1406Q351 1406 387 1372T423 1287Q423 1255 407 1227T363 1183T304 1167Q271 1167 243 1183ZM639 1167T604 1201T569 1287Q569 1338 603 1372T686 1406Q736 1406 771 1372T807 1287Q807 1237 773 1202T688 1167Q639 1167 604 1201Z" />
<glyph unicode="&#x100;" horiz-adv-x="1321" d="M976 1599H346V1739H976V1599ZM998 312H324L211 0H24L574 1434H748L1300 0H1114L998 312ZM942 463L682 1164Q678 1180 671 1208T659 1260H655Q653 1245 644 1209T631 1164L378 463H942Z" />
<glyph unicode="&#x101;" horiz-adv-x="1042" d="M842 -39Q787 57 759 159Q742 109 693 67T576 1T438 -23Q339 -23 261 8T137 104T91 266Q91 360 138 429T271 536T473 573Q611 573 736 502V604Q736 724 680 779T514 834Q472 834 394 828T247 810L219 974Q341 988 410 994T527 1000Q709 1000 803 904T898 618L900 330Q901 183 987 28L842 -39ZM553 130T612 157T703 234T736 349V358Q686 386 625 401T498 417Q391 417 327 380T263 276Q263 233 289 200T364 149T475 130Q553 130 612 157ZM146 1329H896V1189H146V1329Z" />
<glyph unicode="&#x102;" horiz-adv-x="1321" d="M524 1588T448 1643T366 1800H526Q531 1759 565 1737T658 1715Q714 1715 750 1737T793 1800H955Q944 1699 866 1644T656 1588Q524 1588 448 1643ZM998 312H324L211 0H24L574 1434H748L1300 0H1114L998 312ZM942 463L682 1164Q678 1180 671 1208T659 1260H655Q653 1245 644 1209T631 1164L378 463H942Z" />
<glyph unicode="&#x103;" horiz-adv-x="1042" d="M842 -39Q787 57 759 159Q742 109 693 67T576 1T438 -23Q339 -23 261 8T137 104T91 266Q91 360 138 429T271 536T473 573Q611 573 736 502V604Q736 724 680 779T514 834Q472 834 394 828T247 810L219 974Q341 988 410 994T527 1000Q709 1000 803 904T898 618L900 330Q901 183 987 28L842 -39ZM553 130T612 157T703 234T736 349V358Q686 386 625 401T498 417Q391 417 327 380T263 276Q263 233 289 200T364 149T475 130Q553 130 612 157ZM439 1208T379 1240T284 1332T246 1470H386Q395 1335 518 1335Q571 1335 608 1371T653 1470H795Q789 1393 751 1334T652 1241T516 1208Q439 1208 379 1240Z" />
<glyph unicode="&#x104;" horiz-adv-x="1321" d="M1215 -277T1236 -270L1252 -387Q1233 -400 1140 -400Q932 -400 932 -240Q932 -191 961 -141T1034 -52T1114 0L998 312H324L211 0H24L574 1434H748L1300 0Q1228 -15 1176 -50T1096 -126T1068 -193Q1068 -277 1166 -277Q1215 -277 1236 -270ZM942 463L682 1164Q678 1180 671 1208T659 1260H655Q653 1245 644 1209T631 1164L378 463H942Z" />
<glyph unicode="&#x105;" horiz-adv-x="1042" d="M937 -273T962 -260L977 -387Q942 -400 880 -400Q682 -400 682 -230Q682 -119 824 -5Q780 82 759 159Q742 109 693 67T576 1T438 -23Q339 -23 261 8T137 104T91 266Q91 360 138 429T271 536T473 573Q611 573 736 502V604Q736 724 680 779T514 834Q472 834 394 828T247 810L219 974Q341 988 410 994T527 1000Q709 1000 803 904T898 618L900 330Q901 183 987 28Q818 -107 818 -183Q818 -273 906 -273Q937 -273 962 -260ZM553 130T612 157T703 234T736 349V358Q686 386 625 401T498 417Q391 417 327 380T263 276Q263 233 289 200T364 149T475 130Q553 130 612 157Z" />
<glyph unicode="&#x106;" horiz-adv-x="1268" d="M851 1796H1067L805 1598H628L851 1796ZM528 -20T385 66T168 316T93 713Q93 949 179 1117T429 1372T825 1460Q979 1460 1149 1416L1100 1256Q1061 1269 973 1279T823 1292Q811 1293 787 1293Q627 1293 513 1224T339 1025T279 721Q279 540 334 410T496 211T752 142Q840 142 932 163T1124 218L1180 65Q1086 29 964 5T729 -20Q528 -20 385 66Z" />
<glyph unicode="&#x107;" horiz-adv-x="946" d="M427 -23T318 38T152 213T95 485Q95 641 153 757T323 936T592 998Q674 999 753 984T887 942L847 776Q725 831 593 831Q426 831 351 746T276 490Q276 312 361 225T611 138Q678 138 730 151T869 197L920 45Q836 13 747 -5T578 -23Q427 -23 318 38ZM590 1546H786L524 1218H367L590 1546Z" />
<glyph unicode="&#x10A;" horiz-adv-x="1268" d="M682 1562T655 1578T611 1621T594 1682Q594 1730 629 1764T714 1799Q764 1799 798 1766T833 1682Q833 1632 799 1597T714 1562Q682 1562 655 1578ZM528 -20T385 66T168 316T93 713Q93 949 179 1117T429 1372T825 1460Q979 1460 1149 1416L1100 1256Q1061 1269 973 1279T823 1292Q811 1293 787 1293Q627 1293 513 1224T339 1025T279 721Q279 540 334 410T496 211T752 142Q840 142 932 163T1124 218L1180 65Q1086 29 964 5T729 -20Q528 -20 385 66Z" />
<glyph unicode="&#x10B;" horiz-adv-x="946" d="M427 -23T318 38T152 213T95 485Q95 641 153 757T323 936T592 998Q674 999 753 984T887 942L847 776Q725 831 593 831Q426 831 351 746T276 490Q276 312 361 225T611 138Q678 138 730 151T869 197L920 45Q836 13 747 -5T578 -23Q427 -23 318 38ZM441 1182T414 1198T370 1241T353 1302Q353 1350 388 1384T473 1419Q523 1419 557 1386T592 1302Q592 1252 558 1217T473 1182Q441 1182 414 1198Z" />
<glyph unicode="&#x10C;" horiz-adv-x="1268" d="M373 1802H548L712 1668L876 1802H1055L781 1567H649L373 1802ZM528 -20T385 66T168 316T93 713Q93 949 179 1117T429 1372T825 1460Q979 1460 1149 1416L1100 1256Q1061 1269 973 1279T823 1292Q811 1293 787 1293Q627 1293 513 1224T339 1025T279 721Q279 540 334 410T496 211T752 142Q840 142 932 163T1124 218L1180 65Q1086 29 964 5T729 -20Q528 -20 385 66Z" />
<glyph unicode="&#x10D;" horiz-adv-x="946" d="M427 -23T318 38T152 213T95 485Q95 641 153 757T323 936T592 998Q674 999 753 984T887 942L847 776Q725 831 593 831Q426 831 351 746T276 490Q276 312 361 225T611 138Q678 138 730 151T869 197L920 45Q836 13 747 -5T578 -23Q427 -23 318 38ZM192 1548H307L471 1319L635 1548H754L540 1218H408L192 1548Z" />
<glyph unicode="&#x10E;" horiz-adv-x="1436" d="M327 1802H502L666 1668L830 1802H1009L735 1567H603L327 1802ZM187 1432H583Q959 1432 1150 1261T1341 734Q1341 510 1245 344T974 89T568 0L187 -2V1432ZM570 148Q758 148 892 216T1096 414T1166 728Q1166 1280 579 1280L356 1278V148H570Z" />
<glyph unicode="&#x10F;" horiz-adv-x="1381" d="M982 -39Q925 64 898 163Q855 71 765 24T537 -23Q406 -23 307 38T154 212T99 472Q99 629 160 748T332 934T591 1000Q742 1000 876 896V1517H1040V330Q1041 183 1127 28L982 -39ZM723 134T799 217T876 453V753Q814 807 742 829T604 851Q503 851 429 807T315 680T275 483Q275 397 307 317T407 186T577 134Q723 134 799 217ZM1130 1516H1299L1190 1224H1102L1130 1516Z" />
<glyph unicode="&#x110;" horiz-adv-x="1436" d="M187 1432H583Q959 1432 1150 1261T1341 734Q1341 510 1245 344T974 89T568 0L187 -2V1432ZM570 148Q758 148 892 216T1096 414T1166 728Q1166 1280 579 1280L356 1278V148H570ZM93 773H691V628H93V773Z" />
<glyph unicode="&#x111;" horiz-adv-x="1206" d="M1040 1184V330Q1041 183 1127 28L982 -39Q925 64 898 163Q855 71 765 24T537 -23Q406 -23 307 38T154 212T99 472Q99 629 160 748T332 934T591 1000Q742 1000 876 896V1184H576V1329H876V1517H1040V1329H1174V1184H1040ZM723 134T799 217T876 453V753Q814 807 742 829T604 851Q503 851 429 807T315 680T275 483Q275 397 307 317T407 186T577 134Q723 134 799 217Z" />
<glyph unicode="&#x112;" horiz-adv-x="1036" d="M233 1709H863V1569H233V1709ZM188 1434H916V1282H356V805H854V654H356V152H948V0H188V1434Z" />
<glyph unicode="&#x113;" horiz-adv-x="1071" d="M694 128T769 143T919 187L970 47Q899 17 790 -3T592 -23Q356 -23 226 103T96 493Q96 657 153 771T320 945T582 1004Q717 1004 808 942T943 779T987 563Q987 484 965 405L269 400Q291 265 381 197T627 128Q694 128 769 143ZM418 847T346 765T264 544L805 549Q807 573 807 585Q807 653 782 712T702 809T560 847Q418 847 346 765ZM161 1329H911V1189H161V1329Z" />
<glyph unicode="&#x116;" horiz-adv-x="1036" d="M516 1562T489 1578T445 1621T428 1682Q428 1730 463 1764T548 1799Q598 1799 632 1766T667 1682Q667 1632 633 1597T548 1562Q516 1562 489 1578ZM188 1434H916V1282H356V805H854V654H356V152H948V0H188V1434Z" />
<glyph unicode="&#x117;" horiz-adv-x="1071" d="M694 128T769 143T919 187L970 47Q899 17 790 -3T592 -23Q356 -23 226 103T96 493Q96 657 153 771T320 945T582 1004Q717 1004 808 942T943 779T987 563Q987 484 965 405L269 400Q291 265 381 197T627 128Q694 128 769 143ZM418 847T346 765T264 544L805 549Q807 573 807 585Q807 653 782 712T702 809T560 847Q418 847 346 765ZM504 1182T477 1198T433 1241T416 1302Q416 1350 451 1384T536 1419Q586 1419 620 1386T655 1302Q655 1252 621 1217T536 1182Q504 1182 477 1198Z" />
<glyph unicode="&#x118;" horiz-adv-x="1036" d="M963 -387Q944 -400 851 -400Q643 -400 643 -240Q643 -191 672 -141T745 -52T825 0H188V1434H916V1282H356V805H854V654H356V152H948V0H949Q896 -15 858 -50T799 -126T779 -193Q779 -277 877 -277Q926 -277 947 -270L963 -387Z" />
<glyph unicode="&#x119;" horiz-adv-x="1071" d="M916 -273T933 -250L974 -365Q934 -400 856 -400Q638 -400 638 -230Q638 -120 780 -5Q674 -23 592 -23Q356 -23 226 103T96 493Q96 657 153 771T320 945T582 1004Q717 1004 808 942T943 779T987 563Q987 484 965 405L269 400Q291 265 381 197T627 128Q694 128 769 143T919 187L970 48V47L967 46Q774 -99 774 -183Q774 -273 882 -273Q916 -273 933 -250ZM418 847T346 765T264 544L805 549Q807 573 807 585Q807 653 782 712T702 809T560 847Q418 847 346 765Z" />
<glyph unicode="&#x11A;" horiz-adv-x="1036" d="M207 1802H382L546 1668L710 1802H889L615 1567H483L207 1802ZM188 1434H916V1282H356V805H854V654H356V152H948V0H188V1434Z" />
<glyph unicode="&#x11B;" horiz-adv-x="1071" d="M694 128T769 143T919 187L970 47Q899 17 790 -3T592 -23Q356 -23 226 103T96 493Q96 657 153 771T320 945T582 1004Q717 1004 808 942T943 779T987 563Q987 484 965 405L269 400Q291 265 381 197T627 128Q694 128 769 143ZM418 847T346 765T264 544L805 549Q807 573 807 585Q807 653 782 712T702 809T560 847Q418 847 346 765ZM255 1548H370L534 1319L698 1548H817L603 1218H471L255 1548Z" />
<glyph unicode="&#x11E;" horiz-adv-x="1405" d="M646 1558T570 1613T488 1770H648Q653 1729 687 1707T780 1685Q836 1685 872 1707T915 1770H1077Q1066 1669 988 1614T778 1558Q646 1558 570 1613ZM564 -22T410 63T176 310T95 700Q95 940 182 1110T436 1370T838 1459Q930 1459 1034 1446T1232 1413L1177 1265Q1103 1278 1006 1290T820 1302Q646 1302 523 1233T335 1031T270 711Q270 526 332 395T513 196T800 127Q881 127 957 144T1092 194V586H728V738H1260L1261 100Q1159 42 1034 10T781 -22Q564 -22 410 63Z" />
<glyph unicode="&#x11F;" horiz-adv-x="1206" d="M1040 974V0Q1040 -246 866 -363T375 -482L356 -328Q547 -319 660 -276T825 -152T876 55V123Q780 -23 537 -23Q406 -23 307 38T154 212T99 472Q99 629 160 748T332 934T591 1000Q751 1000 895 880L917 974H1040ZM877 452V752Q815 806 743 828T604 851Q503 851 429 807T315 680T275 483Q275 397 307 317T407 186T577 134Q723 134 799 217T876 453L877 452ZM521 1208T461 1240T366 1332T328 1470H468Q477 1335 600 1335Q653 1335 690 1371T735 1470H877Q871 1393 833 1334T734 1241T598 1208Q521 1208 461 1240Z" />
<glyph unicode="&#x120;" horiz-adv-x="1405" d="M751 1562T724 1578T680 1621T663 1682Q663 1730 698 1764T783 1799Q833 1799 867 1766T902 1682Q902 1632 868 1597T783 1562Q751 1562 724 1578ZM564 -22T410 63T176 310T95 700Q95 940 182 1110T436 1370T838 1459Q930 1459 1034 1446T1232 1413L1177 1265Q1103 1278 1006 1290T820 1302Q646 1302 523 1233T335 1031T270 711Q270 526 332 395T513 196T800 127Q881 127 957 144T1092 194V586H728V738H1260L1261 100Q1159 42 1034 10T781 -22Q564 -22 410 63Z" />
<glyph unicode="&#x121;" horiz-adv-x="1206" d="M1040 974V0Q1040 -246 866 -363T375 -482L356 -328Q547 -319 660 -276T825 -152T876 55V123Q780 -23 537 -23Q406 -23 307 38T154 212T99 472Q99 629 160 748T332 934T591 1000Q751 1000 895 880L917 974H1040ZM877 452V752Q815 806 743 828T604 851Q503 851 429 807T315 680T275 483Q275 397 307 317T407 186T577 134Q723 134 799 217T876 453L877 452ZM571 1182T544 1198T500 1241T483 1302Q483 1350 518 1384T603 1419Q653 1419 687 1386T722 1302Q722 1252 688 1217T603 1182Q571 1182 544 1198Z" />
<glyph unicode="&#x122;" horiz-adv-x="1405" d="M564 -22T410 63T176 310T95 700Q95 940 182 1110T436 1370T838 1459Q930 1459 1034 1446T1232 1413L1177 1265Q1103 1278 1006 1290T820 1302Q646 1302 523 1233T335 1031T270 711Q270 526 332 395T513 196T800 127Q881 127 957 144T1092 194V586H728V738H1260L1261 100Q1159 42 1034 10T781 -22Q564 -22 410 63ZM557 -407Q596 -322 610 -264T624 -125H784Q784 -213 754 -309T674 -477L557 -407Z" />
<glyph unicode="&#x123;" horiz-adv-x="1206" d="M1040 974V0Q1040 -246 866 -363T375 -482L356 -328Q547 -319 660 -276T825 -152T876 55V123Q780 -23 537 -23Q406 -23 307 38T154 212T99 472Q99 629 160 748T332 934T591 1000Q751 1000 895 880L917 974H1040ZM877 452V752Q815 806 743 828T604 851Q503 851 429 807T315 680T275 483Q275 397 307 317T407 186T577 134Q723 134 799 217T876 453L877 452ZM781 1572Q720 1456 697 1374T674 1180H514Q514 1296 554 1422T664 1642L781 1572Z" />
<glyph unicode="&#x126;" horiz-adv-x="1454" d="M1426 998H1266V0H1098V634H356V0H188V998H28V1150H188V1434H356V1150H1098V1434H1266V1150H1426V998ZM1098 998H356V785H1098V998Z" />
<glyph unicode="&#x127;" horiz-adv-x="1159" d="M755 1000T842 950T972 812T1016 610V0H852V564Q852 687 799 765T626 843Q540 843 464 813T329 728V0H165V1198H30V1343H165V1517H329V1343H628V1198H329V887Q444 1000 627 1000Q755 1000 842 950Z" />
<glyph unicode="&#x12A;" horiz-adv-x="545" d="M-42 1709H588V1569H-42V1709ZM188 1434H356V0H188V1434Z" />
<glyph unicode="&#x12B;" horiz-adv-x="496" d="M166 974H330V0H166V974ZM-127 1329H623V1189H-127V1329Z" />
<glyph unicode="&#x12E;" horiz-adv-x="545" d="M430 -387Q411 -400 318 -400Q110 -400 110 -240Q110 -191 139 -141T212 -52T292 0H188V1434H356V0H416Q363 -15 325 -50T266 -126T246 -193Q246 -277 344 -277Q393 -277 414 -270L430 -387Z" />
<glyph unicode="&#x12F;" horiz-adv-x="496" d="M166 974H330V0H166V974ZM216 1182T189 1198T145 1241T128 1302Q128 1350 163 1384T248 1419Q298 1419 332 1386T367 1302Q367 1252 333 1217T248 1182Q216 1182 189 1198ZM64 -400T64 -240Q64 -192 86 -149T133 -78T206 0H330Q200 -123 200 -193Q200 -277 298 -277Q347 -277 368 -270L384 -387Q365 -400 272 -400Q64 -400 64 -240Z" />
<glyph unicode="&#x130;" horiz-adv-x="545" d="M241 1562T214 1578T170 1621T153 1682Q153 1730 188 1764T273 1799Q323 1799 357 1766T392 1682Q392 1632 358 1597T273 1562Q241 1562 214 1578ZM188 1434H356V0H188V1434Z" />
<glyph unicode="&#x131;" horiz-adv-x="496" d="M166 974H330V0H166V974Z" />
<glyph unicode="&#x132;" horiz-adv-x="1276" d="M188 1434H356V0H188V1434ZM614 -332Q724 -319 791 -295T897 -208T936 -29V1434H1100V-20Q1100 -258 976 -364T635 -482L614 -332Z" />
<glyph unicode="&#x133;" horiz-adv-x="1014" d="M203 1279T171 1311T139 1391Q139 1438 171 1470T251 1502Q298 1502 330 1470T362 1391Q362 1343 330 1311T251 1279Q203 1279 171 1311ZM166 974H330V0H166V974ZM731 1279T698 1312T665 1391Q665 1437 698 1469T777 1502Q823 1502 855 1470T888 1391Q888 1345 856 1312T777 1279Q731 1279 698 1312ZM370 -322Q498 -305 567 -262T664 -144T692 58V974H856V20Q856 -233 731 -351T391 -482L370 -322Z" />
<glyph unicode="&#x136;" horiz-adv-x="1188" d="M1179 0H978L589 749L356 465V0H188V1434H356V721Q424 805 459 847L984 1484L1169 1459L713 902L1179 0ZM487 -322T501 -264T515 -125H675Q675 -213 645 -309T565 -477L448 -407Q487 -322 501 -264Z" />
<glyph unicode="&#x137;" horiz-adv-x="1018" d="M514 494L330 291V0H166V1516H330V501Q370 563 400 594L784 1000L949 974L623 614L992 -2H810L514 494ZM313 -547Q380 -422 405 -334T430 -125H610Q610 -249 567 -383T450 -617L313 -547Z" />
<glyph unicode="&#x139;" horiz-adv-x="964" d="M409 1786H625L363 1588H186L409 1786ZM188 1434H356V152H932V0H188V1434Z" />
<glyph unicode="&#x13A;" horiz-adv-x="496" d="M166 1516H330V0H166V1516ZM367 1936H563L301 1608H144L367 1936Z" />
<glyph unicode="&#x13B;" horiz-adv-x="964" d="M188 1434H356V152H932V0H188V1434ZM336 -407Q375 -322 389 -264T403 -125H563Q563 -213 533 -309T453 -477L336 -407Z" />
<glyph unicode="&#x13C;" horiz-adv-x="496" d="M166 1516H330V0H166V1516ZM52 -547Q119 -422 144 -334T169 -125H349Q349 -249 306 -383T189 -617L52 -547Z" />
<glyph unicode="&#x13D;" horiz-adv-x="964" d="M188 1434H356V152H932V0H188V1434ZM882 1976H1051L942 1684H854L882 1976Z" />
<glyph unicode="&#x13E;" horiz-adv-x="785" d="M166 1516H330V0H166V1516ZM494 1516H663L554 1224H466L494 1516Z" />
<glyph unicode="&#x13F;" horiz-adv-x="964" d="M188 1434H356V152H932V0H188V1434ZM670 631T640 661T609 743Q609 794 639 825T721 856Q772 856 803 825T834 743Q834 692 803 662T721 631Q670 631 640 661Z" />
<glyph unicode="&#x140;" horiz-adv-x="645" d="M166 1516H330V0H166V1516ZM483 600T453 630T422 712Q422 763 452 794T534 825Q585 825 616 794T647 712Q647 661 616 631T534 600Q483 600 453 630Z" />
<glyph unicode="&#x141;" horiz-adv-x="964" d="M932 152V0H188V546L33 450V602L188 698V1434H356V802L684 1006V852L356 649V152H932Z" />
<glyph unicode="&#x142;" horiz-adv-x="561" d="M530 811L360 693V0H196V580L22 459V616L196 737V1516H360V850L530 968V811Z" />
<glyph unicode="&#x143;" horiz-adv-x="1532" d="M903 1796H1119L857 1598H680L903 1796ZM188 1435H406L1124 310Q1136 290 1155 253T1185 194H1189Q1184 231 1181 298T1178 424V1434H1344L1345 0H1139L404 1145Q392 1163 377 1196T352 1255H346Q350 1234 352 1167T354 1037V0H188V1435Z" />
<glyph unicode="&#x144;" horiz-adv-x="1159" d="M755 1000T842 950T972 812T1016 610V0H852V564Q852 687 800 765T626 844Q540 843 465 813T331 727L329 0H165L167 974H288L319 877Q435 1000 627 1000Q755 1000 842 950ZM697 1546H893L631 1218H474L697 1546Z" />
<glyph unicode="&#x145;" horiz-adv-x="1532" d="M188 1435H406L1124 310Q1136 290 1155 253T1185 194H1189Q1184 231 1181 298T1178 424V1434H1344L1345 0H1139L404 1145Q392 1163 377 1196T352 1255H346Q350 1234 352 1167T354 1037V0H188V1435ZM620 -407Q659 -322 673 -264T687 -125H847Q847 -213 817 -309T737 -477L620 -407Z" />
<glyph unicode="&#x146;" horiz-adv-x="1159" d="M755 1000T842 950T972 812T1016 610V0H852V564Q852 687 800 765T626 844Q540 843 465 813T331 727L329 0H165L167 974H288L319 877Q435 1000 627 1000Q755 1000 842 950ZM384 -547Q451 -422 476 -334T501 -125H681Q681 -249 638 -383T521 -617L384 -547Z" />
<glyph unicode="&#x147;" horiz-adv-x="1532" d="M425 1802H600L764 1668L928 1802H1107L833 1567H701L425 1802ZM188 1435H406L1124 310Q1136 290 1155 253T1185 194H1189Q1184 231 1181 298T1178 424V1434H1344L1345 0H1139L404 1145Q392 1163 377 1196T352 1255H346Q350 1234 352 1167T354 1037V0H188V1435Z" />
<glyph unicode="&#x148;" horiz-adv-x="1159" d="M755 1000T842 950T972 812T1016 610V0H852V564Q852 687 800 765T626 844Q540 843 465 813T331 727L329 0H165L167 974H288L319 877Q435 1000 627 1000Q755 1000 842 950ZM299 1548H414L578 1319L742 1548H861L647 1218H515L299 1548Z" />
<glyph unicode="&#x14A;" horiz-adv-x="1532" d="M1345 1V0Q1345 -242 1219 -356T877 -482L856 -322Q975 -306 1042 -269T1141 -166T1177 6L404 1145Q381 1178 352 1255H346Q350 1234 352 1167T354 1037V0H188V1435H406L1124 370Q1137 351 1156 313T1185 254H1189Q1184 291 1181 358T1178 484V1434H1344L1345 114V1Z" />
<glyph unicode="&#x14B;" horiz-adv-x="1159" d="M755 1000T842 950T972 812T1016 610V0H1015Q1015 -243 890 -357T550 -482L529 -322Q657 -305 726 -262T824 -144T852 58V564Q852 687 800 765T626 844Q540 843 465 813T331 727L329 0H165L167 974H288L319 877Q435 1000 627 1000Q755 1000 842 950Z" />
<glyph unicode="&#x14C;" horiz-adv-x="1544" d="M457 1709H1087V1569H457V1709ZM564 -25T410 70T174 333T92 712Q92 925 174 1094T410 1360T770 1457Q979 1457 1133 1361T1368 1095T1447 712Q1447 500 1366 333T1132 70T770 -25Q564 -25 410 70ZM927 135T1037 206T1204 407T1260 712Q1260 889 1204 1020T1037 1224T770 1296Q612 1296 501 1224T333 1021T276 712Q276 537 333 407T501 206T770 135Q927 135 1037 206Z" />
<glyph unicode="&#x14D;" horiz-adv-x="1200" d="M453 -25T338 38T159 216T95 483Q95 636 158 753T337 934T605 998Q754 998 867 934T1041 754T1101 483Q1101 331 1040 216T866 38T605 -25Q453 -25 338 38ZM699 133T771 176T884 299T927 483Q925 589 884 670T771 795T605 840Q505 840 429 795T311 669T269 481Q269 377 310 298T428 176T605 133Q699 133 771 176ZM225 1329H975V1189H225V1329Z" />
<glyph unicode="&#x150;" horiz-adv-x="1544" d="M726 1776H906L686 1568H540L726 1776ZM1020 1776H1203L978 1568H831L1020 1776ZM564 -25T410 70T174 333T92 712Q92 925 174 1094T410 1360T770 1457Q979 1457 1133 1361T1368 1095T1447 712Q1447 500 1366 333T1132 70T770 -25Q564 -25 410 70ZM927 135T1037 206T1204 407T1260 712Q1260 889 1204 1020T1037 1224T770 1296Q612 1296 501 1224T333 1021T276 712Q276 537 333 407T501 206T770 135Q927 135 1037 206Z" />
<glyph unicode="&#x151;" horiz-adv-x="1200" d="M453 -25T338 38T159 216T95 483Q95 636 158 753T337 934T605 998Q754 998 867 934T1041 754T1101 483Q1101 331 1040 216T866 38T605 -25Q453 -25 338 38ZM699 133T771 176T884 299T927 483Q925 589 884 670T771 795T605 840Q505 840 429 795T311 669T269 481Q269 377 310 298T428 176T605 133Q699 133 771 176ZM624 1536H754L514 1218H418L624 1536ZM868 1536H1001L756 1218H659L868 1536Z" />
<glyph unicode="&#x152;" horiz-adv-x="1906" d="M1810 152V0H1152Q1099 0 989 -11Q843 -25 750 -25Q549 -25 400 70T172 333T92 712Q92 925 180 1094T434 1360T820 1457Q867 1457 918 1453T1016 1444Q1116 1434 1152 1434H1778V1282H1218V805H1716V654H1218V152H1810ZM276 537T330 407T492 206T750 135Q927 135 1050 163V1270Q955 1296 820 1296Q647 1296 525 1224T339 1021T276 712Q276 537 330 407Z" />
<glyph unicode="&#x153;" horiz-adv-x="1900" d="M1531 128T1606 143T1756 187L1807 47Q1736 17 1627 -3T1429 -23Q1285 -23 1179 24T1011 169Q946 76 842 26T606 -25Q454 -25 339 38T160 216T96 483Q96 636 159 753T338 934T606 998Q737 998 841 948T1010 806Q1070 903 1174 953T1419 1004Q1554 1004 1645 942T1780 779T1824 563Q1824 484 1802 405L1106 400Q1128 265 1218 197T1464 128Q1531 128 1606 143ZM1255 847T1183 765T1101 544L1642 549Q1644 573 1644 585Q1644 653 1619 712T1539 809T1397 847Q1255 847 1183 765ZM700 133T772 176T885 299T928 483Q926 589 885 670T772 795T606 840Q506 840 430 795T312 669T270 481Q270 377 311 298T429 176T606 133Q700 133 772 176Z" />
<glyph unicode="&#x154;" horiz-adv-x="1225" d="M664 1588H487L710 1786H926L664 1588ZM970 0L569 612H545H358V0H190V1434H584Q730 1434 836 1390T999 1258T1056 1046Q1056 899 977 795T758 644L1186 0H970ZM696 763T788 832T881 1038Q881 1164 798 1223T555 1282L357 1281V763H533Q696 763 788 832Z" />
<glyph unicode="&#x155;" horiz-adv-x="712" d="M416 999T577 999Q622 999 671 990L643 834Q615 837 588 837Q433 837 331 741V0H167V974H291L313 880Q416 999 577 999ZM473 1546H669L407 1218H250L473 1546Z" />
<glyph unicode="&#x156;" horiz-adv-x="1225" d="M1186 0H970L569 612H545H358V0H190V1434H584Q730 1434 836 1390T999 1258T1056 1046Q1056 899 977 795T758 644L1186 0ZM696 763T788 832T881 1038Q881 1164 798 1223T555 1282L357 1281V763H533Q696 763 788 832ZM506 -322T520 -264T534 -125H694Q694 -213 664 -309T584 -477L467 -407Q506 -322 520 -264Z" />
<glyph unicode="&#x157;" horiz-adv-x="712" d="M416 999T577 999Q622 999 671 990L643 834Q615 837 588 837Q433 837 331 741V0H167V974H291L313 880Q416 999 577 999ZM54 -547Q121 -422 146 -334T171 -125H351Q351 -249 308 -383T191 -617L54 -547Z" />
<glyph unicode="&#x158;" horiz-adv-x="1225" d="M508 1557L232 1792H407L571 1658L735 1792H914L640 1557H508ZM970 0L569 612H545H358V0H190V1434H584Q730 1434 836 1390T999 1258T1056 1046Q1056 899 977 795T758 644L1186 0H970ZM696 763T788 832T881 1038Q881 1164 798 1223T555 1282L357 1281V763H533Q696 763 788 832Z" />
<glyph unicode="&#x159;" horiz-adv-x="712" d="M416 999T577 999Q622 999 671 990L643 834Q615 837 588 837Q433 837 331 741V0H167V974H291L313 880Q416 999 577 999ZM75 1548H190L354 1319L518 1548H637L423 1218H291L75 1548Z" />
<glyph unicode="&#x15A;" horiz-adv-x="1088" d="M681 1796H897L635 1598H458L681 1796ZM391 -11T296 14T80 98L145 247Q258 189 339 167T501 144Q658 144 729 210T801 386Q801 465 762 517T664 602T503 675Q383 724 311 766T187 884T136 1078Q136 1264 262 1355T599 1447Q770 1447 938 1380L873 1223L848 1232Q786 1256 732 1269T602 1282Q473 1282 390 1236T306 1088Q306 1025 342 980T433 905T584 831Q710 776 789 728T924 596T980 386Q980 264 923 175T757 37T495 -11Q391 -11 296 14Z" />
<glyph unicode="&#x15B;" horiz-adv-x="869" d="M257 -24T86 53L140 200Q301 128 415 126Q623 129 624 263Q624 310 598 340T532 388T423 428Q332 457 275 485T178 571T137 722Q140 1002 478 1002Q633 1002 748 949L691 800Q576 851 478 851Q299 849 292 722Q292 684 316 659T375 619T475 582Q570 552 630 522T735 429T779 263Q779 -25 415 -25Q257 -24 86 53ZM552 1546H748L486 1218H329L552 1546Z" />
<glyph unicode="&#x15E;" horiz-adv-x="1088" d="M306 1025T342 980T433 905T584 831Q710 776 789 728T924 596T980 386Q980 277 935 194T801 59T589 -6V-64Q695 -64 756 -109T817 -236Q817 -432 522 -432Q493 -432 457 -430V-310Q501 -316 527 -316Q668 -316 668 -246Q668 -174 539 -174Q526 -174 501 -178V-11Q394 -12 299 13T80 98L145 247Q258 189 339 167T501 144Q658 144 729 210T801 386Q801 465 762 517T664 602T503 675Q383 724 311 766T187 884T136 1078Q136 1264 262 1355T599 1447Q770 1447 938 1380L873 1223L848 1232Q786 1256 732 1269T602 1282Q473 1282 390 1236T306 1088Q306 1025 342 980Z" />
<glyph unicode="&#x15F;" horiz-adv-x="869" d="M779 -2T472 -23V-104Q565 -104 618 -144T672 -256Q672 -432 397 -432Q368 -432 332 -430V-320Q376 -326 402 -326Q523 -326 523 -266Q523 -204 414 -204Q401 -204 373 -208V-23Q237 -14 86 53L140 200Q301 128 415 126Q623 129 624 263Q624 310 598 340T532 388T423 428Q332 457 275 485T178 571T137 722Q140 1002 478 1002Q633 1002 748 949L691 800Q576 851 478 851Q299 849 292 722Q292 684 316 659T375 619T475 582Q570 552 630 522T735 429T779 263Q779 -2 472 -23Z" />
<glyph unicode="&#x160;" horiz-adv-x="1088" d="M203 1802H378L542 1668L706 1802H885L611 1567H479L203 1802ZM391 -11T296 14T80 98L145 247Q258 189 339 167T501 144Q658 144 729 210T801 386Q801 465 762 517T664 602T503 675Q383 724 311 766T187 884T136 1078Q136 1264 262 1355T599 1447Q770 1447 938 1380L873 1223L848 1232Q786 1256 732 1269T602 1282Q473 1282 390 1236T306 1088Q306 1025 342 980T433 905T584 831Q710 776 789 728T924 596T980 386Q980 264 923 175T757 37T495 -11Q391 -11 296 14Z" />
<glyph unicode="&#x161;" horiz-adv-x="869" d="M257 -24T86 53L140 200Q301 128 415 126Q623 129 624 263Q624 310 598 340T532 388T423 428Q332 457 275 485T178 571T137 722Q140 1002 478 1002Q633 1002 748 949L691 800Q576 851 478 851Q299 849 292 722Q292 684 316 659T375 619T475 582Q570 552 630 522T735 429T779 263Q779 -25 415 -25Q257 -24 86 53ZM154 1548H269L433 1319L597 1548H716L502 1218H370L154 1548Z" />
<glyph unicode="&#x162;" horiz-adv-x="1073" d="M582 0V-64Q688 -64 749 -109T810 -236Q810 -432 515 -432Q486 -432 450 -430V-310Q494 -316 520 -316Q661 -316 661 -246Q661 -174 532 -174Q519 -174 494 -178V0H454V1282H41V1434H1036V1282H622V0H582Z" />
<glyph unicode="&#x163;" horiz-adv-x="694" d="M373 828V302Q373 258 392 217T452 149T549 122Q589 122 640 129V-18Q575 -24 508 -24Q454 -24 404 -8V-104Q497 -104 550 -144T604 -256Q604 -432 329 -432Q300 -432 264 -430V-320Q307 -326 334 -326Q455 -326 455 -266Q455 -204 346 -204Q333 -204 305 -208V50Q263 91 241 149T219 273V828H43V973H219V1323H373V973H641V828H373Z" />
<glyph unicode="&#x164;" horiz-adv-x="1073" d="M196 1802H371L535 1668L699 1802H878L604 1567H472L196 1802ZM454 1282H41V1434H1036V1282H622V0H454V1282Z" />
<glyph unicode="&#x165;" horiz-adv-x="901" d="M373 828V302Q373 258 392 217T452 149T549 122Q589 122 640 129V-18Q575 -24 508 -24Q415 -24 350 16T252 123T219 273V828H43V973H219V1323H373V973H641V828H373ZM652 1436H821L712 1144H624L652 1436Z" />
<glyph unicode="&#x166;" horiz-adv-x="1073" d="M622 1282V773H826V628H622V0H454V628H228V773H454V1282H41V1434H1036V1282H622Z" />
<glyph unicode="&#x167;" horiz-adv-x="694" d="M373 828V683H641V538H373V302Q373 258 392 217T452 149T549 122Q589 122 640 129V-18Q575 -24 508 -24Q415 -24 350 16T252 123T219 273V538H43V683H219V828H43V973H219V1323H373V973H641V828H373Z" />
<glyph unicode="&#x16A;" horiz-adv-x="1407" d="M389 1709H1019V1569H389V1709ZM425 -24T297 125T169 557V1434H337V568Q337 126 709 126Q1069 126 1069 553V1434H1237V580Q1237 -24 692 -24Q425 -24 297 125Z" />
<glyph unicode="&#x16B;" horiz-adv-x="1159" d="M936 -39Q878 65 854 157Q839 116 797 75T687 6T533 -22Q392 -22 305 33T181 175T144 368V973H308V419Q308 288 362 209T569 130Q682 130 756 183T830 362V974H994V330Q995 183 1081 28L936 -39ZM205 1329H955V1189H205V1329Z" />
<glyph unicode="&#x16E;" horiz-adv-x="1407" d="M643 1486T597 1511T525 1579T498 1676Q498 1732 525 1777T600 1848T707 1874Q764 1874 810 1849T883 1780T910 1682Q910 1627 883 1582T807 1512T700 1486Q643 1486 597 1511ZM745 1588T772 1614T800 1680Q800 1720 773 1746T704 1773Q665 1773 639 1747T612 1680Q612 1641 638 1615T704 1588Q745 1588 772 1614ZM425 -24T297 125T169 557V1434H337V568Q337 126 709 126Q1069 126 1069 553V1434H1237V580Q1237 -24 692 -24Q425 -24 297 125Z" />
<glyph unicode="&#x16F;" horiz-adv-x="1159" d="M936 -39Q878 65 854 157Q839 116 797 75T687 6T533 -22Q392 -22 305 33T181 175T144 368V973H308V419Q308 288 362 209T569 130Q682 130 756 183T830 362V974H994V330Q995 183 1081 28L936 -39ZM519 1146T473 1171T401 1239T374 1336Q374 1392 401 1437T476 1508T583 1534Q640 1534 686 1509T759 1440T786 1342Q786 1287 759 1242T683 1172T576 1146Q519 1146 473 1171ZM621 1248T648 1274T676 1340Q676 1380 649 1406T580 1433Q541 1433 515 1407T488 1340Q488 1301 514 1275T580 1248Q621 1248 648 1274Z" />
<glyph unicode="&#x170;" horiz-adv-x="1407" d="M658 1776H838L618 1568H472L658 1776ZM952 1776H1135L910 1568H763L952 1776ZM425 -24T297 125T169 557V1434H337V568Q337 126 709 126Q1069 126 1069 553V1434H1237V580Q1237 -24 692 -24Q425 -24 297 125Z" />
<glyph unicode="&#x171;" horiz-adv-x="1159" d="M936 -39Q878 65 854 157Q839 116 797 75T687 6T533 -22Q392 -22 305 33T181 175T144 368V973H308V419Q308 288 362 209T569 130Q682 130 756 183T830 362V974H994V330Q995 183 1081 28L936 -39ZM604 1536H734L494 1218H398L604 1536ZM848 1536H981L736 1218H639L848 1536Z" />
<glyph unicode="&#x172;" horiz-adv-x="1407" d="M1237 1434V580Q1237 30 785 -19Q747 -40 719 -72T677 -138T662 -193Q662 -277 760 -277Q809 -277 830 -270L846 -387Q827 -400 734 -400Q526 -400 526 -240Q526 -181 568 -121T664 -24Q412 -16 291 133T169 557V1434H337V568Q337 126 709 126Q1069 126 1069 553V1434H1237Z" />
<glyph unicode="&#x173;" horiz-adv-x="1159" d="M1026 -273T1048 -260L1078 -387Q1043 -400 966 -400Q881 -400 830 -359T778 -250Q778 -186 811 -127T916 -2Q875 80 854 157Q839 116 797 75T687 6T533 -22Q392 -22 305 33T181 175T144 368V973H308V419Q308 288 362 209T569 130Q682 130 756 183T830 362V974H994V330Q995 183 1081 28Q993 -44 954 -94T914 -183Q914 -230 932 -251T992 -273Q1026 -273 1048 -260Z" />
<glyph unicode="&#x174;" horiz-adv-x="1913" d="M913 1800H1046L1322 1566H1130L976 1687L821 1566H638L913 1800ZM25 1434H208L515 329Q524 298 531 257T539 185H544Q547 209 556 251T576 329L893 1434H1054L1358 321Q1374 261 1382 187H1386Q1389 230 1413 325L1708 1434H1887L1482 0H1285L990 1053Q982 1083 975 1124T967 1199H963Q957 1128 937 1055L640 0H445L25 1434Z" />
<glyph unicode="&#x175;" horiz-adv-x="1480" d="M24 974H191L403 278Q407 262 411 232T416 188H424Q425 200 431 235T442 283L674 975H824L1040 279Q1043 270 1048 236T1055 187H1063Q1064 197 1070 227T1081 277L1289 974H1457L1150 -5H980L768 653Q762 674 756 705T748 746H744Q743 737 736 706T722 654L498 -5H334L24 974ZM673 1550H806L1022 1218H880L736 1428L591 1218H458L673 1550Z" />
<glyph unicode="&#x176;" horiz-adv-x="1132" d="M512 1800H645L921 1566H729L575 1687L420 1566H237L512 1800ZM480 526L19 1434H207L531 781Q537 768 547 743T566 693H569Q578 726 606 781L945 1434H1121L648 530V0H480V526Z" />
<glyph unicode="&#x177;" horiz-adv-x="991" d="M72 -329Q157 -310 215 -276T315 -185T388 -42L406 5L14 974H206L470 276L490 198H496L516 274L792 974L983 976L528 -138Q477 -269 414 -338T289 -432T130 -478L109 -482L72 -329ZM427 1550H560L776 1218H634L490 1428L345 1218H212L427 1550Z" />
<glyph unicode="&#x178;" horiz-adv-x="1132" d="M342 1547T314 1563T270 1607T253 1667Q253 1718 287 1752T372 1786Q422 1786 458 1752T494 1667Q494 1635 478 1607T434 1563T375 1547Q342 1547 314 1563ZM710 1547T675 1581T640 1667Q640 1718 674 1752T757 1786Q807 1786 842 1752T878 1667Q878 1617 844 1582T759 1547Q710 1547 675 1581ZM480 526L19 1434H207L531 781Q537 768 547 743T566 693H569Q578 726 606 781L945 1434H1121L648 530V0H480V526Z" />
<glyph unicode="&#x179;" horiz-adv-x="1168" d="M721 1796H937L675 1598H498L721 1796ZM53 47L816 1282H80V1434H1084V1394L314 152H1104V0H53V47Z" />
<glyph unicode="&#x17A;" horiz-adv-x="926" d="M53 51L611 827H80V974H870V927L302 147H874V0H53V51ZM580 1546H776L514 1218H357L580 1546Z" />
<glyph unicode="&#x17B;" horiz-adv-x="1168" d="M552 1562T525 1578T481 1621T464 1682Q464 1730 499 1764T584 1799Q634 1799 668 1766T703 1682Q703 1632 669 1597T584 1562Q552 1562 525 1578ZM53 47L816 1282H80V1434H1084V1394L314 152H1104V0H53V47Z" />
<glyph unicode="&#x17C;" horiz-adv-x="926" d="M53 51L611 827H80V974H870V927L302 147H874V0H53V51ZM431 1182T404 1198T360 1241T343 1302Q343 1350 378 1384T463 1419Q513 1419 547 1386T582 1302Q582 1252 548 1217T463 1182Q431 1182 404 1198Z" />
<glyph unicode="&#x17D;" horiz-adv-x="1168" d="M243 1802H418L582 1668L746 1802H925L651 1567H519L243 1802ZM53 47L816 1282H80V1434H1084V1394L314 152H1104V0H53V47Z" />
<glyph unicode="&#x17E;" horiz-adv-x="926" d="M53 51L611 827H80V974H870V927L302 147H874V0H53V51ZM182 1548H297L461 1319L625 1548H744L530 1218H398L182 1548Z" />
<glyph unicode="&#x192;" horiz-adv-x="1104" d="M147 -278T84 -262L120 -132Q147 -140 180 -140Q330 -140 370 152L461 788H358V926H482L510 1145Q521 1232 564 1297T678 1398T836 1434Q901 1434 952 1415L922 1280Q890 1294 844 1294Q698 1294 674 1134L643 926H809V788H622L532 140Q474 -278 184 -278Q147 -278 84 -262Z" />
<glyph unicode="&#x218;" horiz-adv-x="1088" d="M391 -11T296 14T80 98L145 247Q258 189 339 167T501 144Q658 144 729 210T801 386Q801 465 762 517T664 602T503 675Q383 724 311 766T187 884T136 1078Q136 1264 262 1355T599 1447Q770 1447 938 1380L873 1223L848 1232Q786 1256 732 1269T602 1282Q473 1282 390 1236T306 1088Q306 1025 342 980T433 905T584 831Q710 776 789 728T924 596T980 386Q980 264 923 175T757 37T495 -11Q391 -11 296 14ZM398 -407Q437 -322 451 -264T465 -125H625Q625 -213 595 -309T515 -477L398 -407Z" />
<glyph unicode="&#x219;" horiz-adv-x="869" d="M257 -24T86 53L140 200Q301 128 415 126Q623 129 624 263Q624 310 598 340T532 388T423 428Q332 457 275 485T178 571T137 722Q140 1002 478 1002Q633 1002 748 949L691 800Q576 851 478 851Q299 849 292 722Q292 684 316 659T375 619T475 582Q570 552 630 522T735 429T779 263Q779 -25 415 -25Q257 -24 86 53ZM229 -547Q296 -422 321 -334T346 -125H526Q526 -249 483 -383T366 -617L229 -547Z" />
<glyph unicode="&#x21A;" horiz-adv-x="1073" d="M454 1282H41V1434H1036V1282H622V0H454V1282ZM391 -407Q430 -322 444 -264T458 -125H618Q618 -213 588 -309T508 -477L391 -407Z" />
<glyph unicode="&#x21B;" horiz-adv-x="694" d="M373 828V302Q373 258 392 217T452 149T549 122Q589 122 640 129V-18Q575 -24 508 -24Q415 -24 350 16T252 123T219 273V828H43V973H219V1323H373V973H641V828H373ZM161 -547Q228 -422 253 -334T278 -125H458Q458 -249 415 -383T298 -617L161 -547Z" />
<glyph unicode="&#x237;" horiz-adv-x="496" d="M-156 -322Q-28 -305 41 -262T138 -144T166 58V974H330V20Q330 -233 205 -351T-135 -482L-156 -322Z" />
<glyph unicode="&#x2C6;" horiz-adv-x="760" d="M307 1550H440L656 1218H514L370 1428L225 1218H92L307 1550Z" />
<glyph unicode="&#x2C7;" horiz-adv-x="760" d="M102 1548H217L381 1319L545 1548H664L450 1218H318L102 1548Z" />
<glyph unicode="&#x2D8;" horiz-adv-x="622" d="M230 1208T170 1240T75 1332T37 1470H177Q186 1335 309 1335Q362 1335 399 1371T444 1470H586Q580 1393 542 1334T443 1241T307 1208Q230 1208 170 1240Z" />
<glyph unicode="&#x2D9;" horiz-adv-x="412" d="M175 1182T148 1198T104 1241T87 1302Q87 1350 122 1384T207 1419Q257 1419 291 1386T326 1302Q326 1252 292 1217T207 1182Q175 1182 148 1198Z" />
<glyph unicode="&#x2DA;" horiz-adv-x="574" d="M227 1176T181 1201T109 1269T82 1366Q82 1422 109 1467T184 1538T291 1564Q348 1564 394 1539T467 1470T494 1372Q494 1317 467 1272T391 1202T284 1176Q227 1176 181 1201ZM329 1278T356 1304T384 1370Q384 1410 357 1436T288 1463Q249 1463 223 1437T196 1370Q196 1331 222 1305T288 1278Q329 1278 356 1304Z" />
<glyph unicode="&#x2DB;" horiz-adv-x="379" d="M72 -400T72 -240Q72 -192 94 -149T141 -78T214 0H338Q208 -123 208 -193Q208 -277 306 -277Q355 -277 376 -270L392 -387Q373 -400 280 -400Q72 -400 72 -240Z" />
<glyph unicode="&#x2DC;" horiz-adv-x="690" d="M462 1195T428 1208T343 1249Q301 1272 273 1283T217 1295Q149 1295 149 1202H35Q35 1310 83 1374T217 1438Q253 1438 283 1425T357 1386Q397 1361 425 1349T484 1337Q558 1337 558 1433H676Q676 1363 654 1309T592 1225T498 1195Q462 1195 428 1208Z" />
<glyph unicode="&#x2DD;" horiz-adv-x="664" d="M270 1536H400L160 1218H64L270 1536ZM514 1536H647L402 1218H305L514 1536Z" />
<glyph unicode="&#x300;" horiz-adv-x="0" d="M-447 1536H-249L-48 1218H-205L-447 1536Z" />
<glyph unicode="&#x301;" horiz-adv-x="0" d="M-231 1546H-35L-297 1218H-454L-231 1546Z" />
<glyph unicode="&#x302;" horiz-adv-x="0" d="M-453 1550H-320L-104 1218H-246L-390 1428L-535 1218H-668L-453 1550Z" />
<glyph unicode="&#x303;" horiz-adv-x="0" d="M-228 1195T-262 1208T-347 1249Q-389 1272 -417 1283T-473 1295Q-541 1295 -541 1202H-655Q-655 1310 -607 1374T-473 1438Q-437 1438 -407 1425T-333 1386Q-293 1361 -265 1349T-206 1337Q-132 1337 -132 1433H-14Q-14 1363 -36 1309T-98 1225T-192 1195Q-228 1195 -262 1208Z" />
<glyph unicode="&#x304;" horiz-adv-x="0" d="M-800 1329H-50V1189H-800V1329Z" />
<glyph unicode="&#x306;" horiz-adv-x="0" d="M-392 1208T-452 1240T-547 1332T-585 1470H-445Q-436 1335 -313 1335Q-260 1335 -223 1371T-178 1470H-36Q-42 1393 -80 1334T-179 1241T-315 1208Q-392 1208 -452 1240Z" />
<glyph unicode="&#x307;" horiz-adv-x="0" d="M-237 1182T-264 1198T-308 1241T-325 1302Q-325 1350 -290 1384T-205 1419Q-155 1419 -121 1386T-86 1302Q-86 1252 -120 1217T-205 1182Q-237 1182 -264 1198Z" />
<glyph unicode="&#x308;" horiz-adv-x="0" d="M-655 1167T-683 1183T-727 1227T-744 1287Q-744 1338 -710 1372T-625 1406Q-575 1406 -539 1372T-503 1287Q-503 1255 -519 1227T-563 1183T-622 1167Q-655 1167 -683 1183ZM-287 1167T-322 1201T-357 1287Q-357 1338 -323 1372T-240 1406Q-190 1406 -155 1372T-119 1287Q-119 1237 -153 1202T-238 1167Q-287 1167 -322 1201Z" />
<glyph unicode="&#x30A;" horiz-adv-x="0" d="M-347 1146T-393 1171T-465 1239T-492 1336Q-492 1392 -465 1437T-390 1508T-283 1534Q-226 1534 -180 1509T-107 1440T-80 1342Q-80 1287 -107 1242T-183 1172T-290 1146Q-347 1146 -393 1171ZM-245 1248T-218 1274T-190 1340Q-190 1380 -217 1406T-286 1433Q-325 1433 -351 1407T-378 1340Q-378 1301 -352 1275T-286 1248Q-245 1248 -218 1274Z" />
<glyph unicode="&#x30B;" horiz-adv-x="0" d="M-394 1536H-264L-504 1218H-600L-394 1536ZM-150 1536H-17L-262 1218H-359L-150 1536Z" />
<glyph unicode="&#x30C;" horiz-adv-x="0" d="M-658 1548H-543L-379 1319L-215 1548H-96L-310 1218H-442L-658 1548Z" />
<glyph unicode="&#x312;" horiz-adv-x="0" d="M-35 1572Q-96 1456 -119 1374T-142 1180H-302Q-302 1296 -262 1422T-152 1642L-35 1572Z" />
<glyph unicode="&#x326;" horiz-adv-x="0" d="M-405 -547Q-338 -422 -313 -334T-288 -125H-108Q-108 -249 -151 -383T-268 -617L-405 -547Z" />
<glyph unicode="&#x327;" horiz-adv-x="0" d="M-256 -432T-292 -430V-320Q-249 -326 -222 -326Q-101 -326 -101 -266Q-101 -204 -210 -204Q-223 -204 -251 -208V70H-152V-104Q-59 -104 -6 -144T48 -256Q48 -432 -227 -432Q-256 -432 -292 -430Z" />
<glyph unicode="&#x328;" horiz-adv-x="0" d="M-307 -400T-307 -240Q-307 -192 -285 -149T-238 -78T-165 0H-41Q-171 -123 -171 -193Q-171 -277 -73 -277Q-24 -277 -3 -270L13 -387Q-6 -400 -99 -400Q-307 -400 -307 -240Z" />
<glyph unicode="&#x335;" horiz-adv-x="0" d="M93 773H691V628H93V773Z" />
<glyph unicode="&#x336;" horiz-adv-x="0" d="M28 1150H1426V998H28V1150Z" />
<glyph unicode="&#x1E80;" horiz-adv-x="1913" d="M647 1794H845L1046 1566H889L647 1794ZM25 1434H208L515 329Q524 298 531 257T539 185H544Q547 209 556 251T576 329L893 1434H1054L1358 321Q1374 261 1382 187H1386Q1389 230 1413 325L1708 1434H1887L1482 0H1285L990 1053Q982 1083 975 1124T967 1199H963Q957 1128 937 1055L640 0H445L25 1434Z" />
<glyph unicode="&#x1E81;" horiz-adv-x="1480" d="M24 974H191L403 278Q407 262 411 232T416 188H424Q425 200 431 235T442 283L674 975H824L1040 279Q1043 270 1048 236T1055 187H1063Q1064 197 1070 227T1081 277L1289 974H1457L1150 -5H980L768 653Q762 674 756 705T748 746H744Q743 737 736 706T722 654L498 -5H334L24 974ZM430 1536H628L829 1218H672L430 1536Z" />
<glyph unicode="&#x1E82;" horiz-adv-x="1913" d="M1104 1796H1320L1058 1598H881L1104 1796ZM25 1434H208L515 329Q524 298 531 257T539 185H544Q547 209 556 251T576 329L893 1434H1054L1358 321Q1374 261 1382 187H1386Q1389 230 1413 325L1708 1434H1887L1482 0H1285L990 1053Q982 1083 975 1124T967 1199H963Q957 1128 937 1055L640 0H445L25 1434Z" />
<glyph unicode="&#x1E83;" horiz-adv-x="1480" d="M24 974H191L403 278Q407 262 411 232T416 188H424Q425 200 431 235T442 283L674 975H824L1040 279Q1043 270 1048 236T1055 187H1063Q1064 197 1070 227T1081 277L1289 974H1457L1150 -5H980L768 653Q762 674 756 705T748 746H744Q743 737 736 706T722 654L498 -5H334L24 974ZM857 1546H1053L791 1218H634L857 1546Z" />
<glyph unicode="&#x1E84;" horiz-adv-x="1913" d="M743 1547T715 1563T671 1607T654 1667Q654 1718 688 1752T773 1786Q823 1786 859 1752T895 1667Q895 1635 879 1607T835 1563T776 1547Q743 1547 715 1563ZM1111 1547T1076 1581T1041 1667Q1041 1718 1075 1752T1158 1786Q1208 1786 1243 1752T1279 1667Q1279 1617 1245 1582T1160 1547Q1111 1547 1076 1581ZM25 1434H208L515 329Q524 298 531 257T539 185H544Q547 209 556 251T576 329L893 1434H1054L1358 321Q1374 261 1382 187H1386Q1389 230 1413 325L1708 1434H1887L1482 0H1285L990 1053Q982 1083 975 1124T967 1199H963Q957 1128 937 1055L640 0H445L25 1434Z" />
<glyph unicode="&#x1E85;" horiz-adv-x="1480" d="M24 974H191L403 278Q407 262 411 232T416 188H424Q425 200 431 235T442 283L674 975H824L1040 279Q1043 270 1048 236T1055 187H1063Q1064 197 1070 227T1081 277L1289 974H1457L1150 -5H980L768 653Q762 674 756 705T748 746H744Q743 737 736 706T722 654L498 -5H334L24 974ZM516 1167T488 1183T444 1227T427 1287Q427 1338 461 1372T546 1406Q596 1406 632 1372T668 1287Q668 1255 652 1227T608 1183T549 1167Q516 1167 488 1183ZM884 1167T849 1201T814 1287Q814 1338 848 1372T931 1406Q981 1406 1016 1372T1052 1287Q1052 1237 1018 1202T933 1167Q884 1167 849 1201Z" />
<glyph unicode="&#x1EF2;" horiz-adv-x="1132" d="M246 1794H444L645 1566H488L246 1794ZM480 526L19 1434H207L531 781Q537 768 547 743T566 693H569Q578 726 606 781L945 1434H1121L648 530V0H480V526Z" />
<glyph unicode="&#x1EF3;" horiz-adv-x="991" d="M73 -329Q158 -310 216 -276T316 -185T389 -42L407 5L15 974H207L471 276L491 198H497L517 274L793 974L984 976L529 -138Q478 -269 415 -338T290 -432T131 -478L110 -482L73 -329ZM185 1536H383L584 1218H427L185 1536Z" />
<glyph unicode="&#x2013;" horiz-adv-x="1024" d="M1024 456H0V585H1024V456Z" />
<glyph unicode="&#x2014;" horiz-adv-x="2048" d="M2024 456H0V585H2024V456Z" />
<glyph unicode="&#x2018;" horiz-adv-x="469" d="M382 1409Q315 1284 290 1196T265 987H85Q85 1111 128 1245T245 1479L382 1409Z" />
<glyph unicode="&#x2019;" horiz-adv-x="469" d="M89 1035Q156 1160 181 1248T206 1457H386Q386 1333 343 1199T226 965L89 1035Z" />
<glyph unicode="&#x201A;" horiz-adv-x="469" d="M39 -194Q106 -69 131 19T156 228H336Q336 104 293 -30T176 -264L39 -194Z" />
<glyph unicode="&#x201C;" horiz-adv-x="772" d="M382 1409Q315 1284 290 1196T265 987H85Q85 1111 128 1245T245 1479L382 1409ZM687 1409Q620 1284 595 1196T570 987H390Q390 1111 433 1245T550 1479L687 1409Z" />
<glyph unicode="&#x201D;" horiz-adv-x="772" d="M93 1035Q160 1160 185 1248T210 1457H390Q390 1333 347 1199T230 965L93 1035ZM398 1035Q465 1160 490 1248T515 1457H695Q695 1333 652 1199T535 965L398 1035Z" />
<glyph unicode="&#x201E;" horiz-adv-x="772" d="M360 -194Q427 -69 452 19T477 228H657Q657 104 614 -30T497 -264L360 -194ZM39 -194Q106 -69 131 19T156 228H336Q336 104 293 -30T176 -264L39 -194Z" />
<glyph unicode="&#x2020;" horiz-adv-x="768" d="M445 1084L475 1434H296L326 1084L48 1104V948L306 968L334 342H433L465 968L728 948V1104L445 1084Z" />
<glyph unicode="&#x2021;" horiz-adv-x="768" d="M465 1008L430 782L465 555L728 575V419L445 439L475 129H296L326 439L48 419V575L306 555L341 782L306 1008L48 988V1144L326 1124L296 1434H475L445 1124L728 1144V988L465 1008Z" />
<glyph unicode="&#x2022;" horiz-adv-x="832" d="M486 268T543 301T634 392T668 518Q668 587 635 645T544 737T418 772Q350 772 292 737T199 644T164 518Q164 450 198 393T291 302T418 268Q486 268 543 301Z" />
<glyph unicode="&#x2026;" horiz-adv-x="1501" d="M198 -22T168 8T137 90Q137 141 167 172T249 203Q300 203 331 172T362 90Q362 39 331 9T249 -22Q198 -22 168 8ZM701 -22T671 8T640 90Q640 141 670 172T752 203Q803 203 834 172T865 90Q865 39 834 9T752 -22Q701 -22 671 8ZM1207 -22T1177 8T1146 90Q1146 141 1176 172T1258 203Q1309 203 1340 172T1371 90Q1371 39 1340 9T1258 -22Q1207 -22 1177 8Z" />
<glyph unicode="&#x2030;" horiz-adv-x="2478" d="M337 0L1212 1472L1355 1412L481 -60L337 0ZM313 755T239 799T123 921T80 1093Q80 1192 125 1273T248 1400T424 1446Q515 1446 588 1403T704 1283T746 1114Q746 1013 701 931T578 802T404 755Q313 755 239 799ZM462 896T501 924T562 1001T584 1110Q584 1165 563 1210T503 1280T418 1306Q369 1306 329 1280T266 1206T243 1102Q243 1044 265 997T327 923T414 896Q462 896 501 924ZM1168 -10T1094 34T978 156T935 328Q935 427 980 508T1103 635T1279 681Q1370 681 1443 638T1559 518T1601 349Q1601 248 1556 166T1433 37T1259 -10Q1168 -10 1094 34ZM1969 -12T1895 32T1779 154T1736 326Q1736 425 1781 506T1904 633T2080 679Q2171 679 2244 636T2360 516T2402 347Q2402 246 2357 164T2234 35T2060 -12Q1969 -12 1895 32ZM1317 131T1356 159T1417 236T1439 345Q1439 400 1418 445T1358 515T1273 541Q1224 541 1184 515T1121 441T1098 337Q1098 279 1120 232T1182 158T1269 131Q1317 131 1356 159ZM2118 129T2157 157T2218 234T2240 343Q2240 398 2219 443T2159 513T2074 539Q2025 539 1985 513T1922 439T1899 335Q1899 277 1921 230T1983 156T2070 129Q2118 129 2157 157Z" />
<glyph unicode="&#x2039;" horiz-adv-x="647" d="M92 487L391 831H609L304 487L607 151H391L92 487Z" />
<glyph unicode="&#x203A;" horiz-adv-x="647" d="M559 487L260 831H42L347 487L44 151H260L559 487Z" />
<glyph unicode="&#x20AC;" horiz-adv-x="1104" d="M1060 65Q991 29 901 5T729 -20Q523 -20 393 110T221 485H102V625H205Q203 681 203 713Q203 762 206 807H102V947H223Q267 1194 409 1327T775 1460Q895 1460 1029 1416L980 1266Q950 1279 880 1290T773 1302Q629 1302 534 1211T401 947H896V807H382Q379 765 379 721Q379 672 382 625H896V485H401Q437 315 527 224T752 132Q812 132 874 153T1004 208L1060 65Z" />
<glyph unicode="&#x2122;" horiz-adv-x="1583" d="M262 1286H76V1434H602V1286H413V772H262V1286ZM686 1434H843L1038 998H1042L1240 1434H1396V772H1258V1180H1254L1065 772H1006L822 1180H818V772H686V1434Z" />
</font>
</defs>
<text x="40" y="40" font-family="Selawik" font-size="30" fill="#933">ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz AÁÀÂÄÅÃÆ CÇ DÐ EÉÈÊË I Í Ì Î Ï NÑ</text>
<text x="40" y="80" font-family="Selawik" font-size="30" fill="#933">OÓÒÔÖÕØŒ SŠ UÚÙÛÜ YÝŸ ZŽ Þ aáàâäåãæ cç dð eéèêë i ı í ì î ï nñ oóòôöõøœ sšß uúùûü yýÿ zž</text>
<text x="40" y="120" font-family="Selawik" font-size="30" fill="#933">þ 1234567890 ½ ¼ ¾ % ‰ $¢£¥ƒ€¤ † ‡ § ¶ # ^~µ +×± &lt; = &gt; ÷¬ !¡?¿ &quot; &amp; &apos; * ° . , : ; () [ \ ] {} / |</text>
<text x="40" y="160" font-family="Selawik" font-size="30" fill="#933">¦ _ ‚ „ … ‹› «» ‘ ’ “ ” • ­ - – — @ © ® ™ ªº ¹²³ ´ ` ˆ ˜ ¨ ¯ · ¸</text>
</svg>

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.