Intial Commit

This commit is contained in:
Varun Seth 2023-02-25 13:49:01 +08:00
parent db4fea9fa1
commit 2fe529c8d2
778 changed files with 69771 additions and 1471 deletions

46
.github/workflows/build-release.yml vendored Normal file
View file

@ -0,0 +1,46 @@
name: Publish Release - Kasm
on:
workflow_dispatch:
push:
branches:
- main
- release/*
paths:
- "**/kasm_release_*/**"
- "**/build-release.yml"
env:
current_release: "kasm_release_1.12.0.d4fd8a"
tag: "kasm_release_1.12.0.d4fd8a_Build-${{github.run_number}}"
fileName: "kasm_release_1.12.0.d4fd8a_Build-${{github.run_number}}.tar.gz"
jobs:
Release:
name: prepare release package
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
with:
ref: main
- name: Tar action
uses: a7ul/tar-action@v1.1.2
with:
cwd: "/home/runner/work/kasm-terraform/kasm-terraform/kasm_release/"
# c = compress
command: c
# List of files or folders to archive
files: "${{env.current_release}}"
# Path of the output archive (ex: abc.tar.gz)
outPath: "${{env.fileName}}"
- uses: "marvinpinto/action-automatic-releases@latest"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: "${{env.tag}}"
prerelease: false
title: "Release Build - ${{env.tag}}"
files: |
**/*.tar.gz

View file

@ -7,10 +7,3 @@ Administators should review the projects and add additional customizations and s
# AWS
- [Multi-Server Single Region](aws/standard/README.md)
- [Multi-Region](aws/multi_region/README.md)
# Oracle Cloud
- [Single Server](oci/single_server/README.md)
- [Multi-Server Single Region](oci/standard/README.md)
# DigitalOcean
- [Single Server](digitalocean/single_server/README.md)

View file

@ -1,13 +1,13 @@
resource "aws_instance" "kasm-agent" {
count = "${var.num_agents}"
ami = "${var.ec2_ami}"
instance_type = "${var.agent_instance_type}"
vpc_security_group_ids = ["${aws_security_group.kasm-agent-sg.id}"]
subnet_id = "${aws_subnet.kasm-agent-subnet.id}"
key_name = "${var.aws_key_pair}"
count = var.num_agents
ami = var.ec2_ami
instance_type = var.agent_instance_type
vpc_security_group_ids = ["${aws_security_group.kasm-agent-sg.id}"]
subnet_id = aws_subnet.kasm-agent-subnet.id
key_name = var.aws_key_pair
root_block_device {
volume_size = "50"
volume_size = "75"
}
user_data = <<-EOF
@ -21,9 +21,9 @@ resource "aws_instance" "kasm-agent" {
wget ${var.kasm_build}
tar xvf kasm_*.tar.gz
PUBLIC_DNS=(`curl -s http://169.254.169.254/latest/meta-data/public-ipv4`)
bash kasm_release/install.sh -S agent -e -p $PUBLIC_DNS -m ${var.zone_name}-lb.${var.aws_domain_name} -M ${var.manager_token}
bash kasm_release/install.sh --accept-eula --role agent --public-hostname $PUBLIC_DNS --manager-hostname ${var.zone_name}-lb.${var.aws_domain_name} --manager-token ${var.manager_token}
EOF
tags = {
Name = "${var.project_name}-${var.zone_name}-kasm-agent"
}
}
}

View file

@ -39,7 +39,7 @@ variable "manager_token" {
}
variable "kasm_build" {
default = "https://kasm-static-content.s3.amazonaws.com/kasm_release_1.9.0.077388.tar.gz"
default = "https://kasm-static-content.s3.amazonaws.com/kasm_release_1.12.0.d4fd8a.tar.gz"
}
variable "ssh_access_cidr" {

View file

@ -1,7 +1,7 @@
resource "aws_security_group" "kasm-default-elb-sg" {
name = "${var.project_name}-${var.zone_name}-kasm-allow-elb-access"
description = "Security Group for ELB"
vpc_id = "${var.primary_vpc_id}"
vpc_id = var.primary_vpc_id
ingress {
from_port = 443
@ -30,8 +30,8 @@ resource "aws_security_group" "kasm-default-elb-sg" {
}
resource "aws_s3_bucket" "kasm-s3-logs" {
bucket_prefix = "${var.project_name}-${var.zone_name}-"
acl = "private"
bucket_prefix = lower("${var.project_name}-${var.zone_name}-")
acl = "private"
force_destroy = true
}
@ -73,7 +73,7 @@ resource "aws_lb" "kasm-alb" {
subnets = ["${var.webapp_subnet_id_1}", "${var.webapp_subnet_id_2}"]
access_logs {
bucket = "${aws_s3_bucket.kasm-s3-logs.bucket}"
bucket = aws_s3_bucket.kasm-s3-logs.bucket
enabled = true
}
}
@ -82,17 +82,17 @@ resource "aws_lb_target_group" "kasm-target-group" {
name = "${var.project_name}-${var.zone_name}-tg"
port = 443
protocol = "HTTPS"
vpc_id = "${var.primary_vpc_id}"
vpc_id = var.primary_vpc_id
health_check {
path = "/api/__healthcheck"
matcher = 200
protocol = "HTTPS"
path = "/api/__healthcheck"
matcher = 200
protocol = "HTTPS"
}
}
data "aws_route53_zone" "kasm-route53-zone" {
name = "${var.aws_domain_name}"
name = var.aws_domain_name
private_zone = false
}
@ -100,7 +100,7 @@ resource "aws_lb_listener" "kasm-alb-listener" {
load_balancer_arn = aws_lb.kasm-alb.arn
port = "443"
protocol = "HTTPS"
certificate_arn = "${var.certificate_arn}"
certificate_arn = var.certificate_arn
default_action {
type = "forward"
@ -109,7 +109,7 @@ resource "aws_lb_listener" "kasm-alb-listener" {
}
resource "aws_lb_target_group_attachment" "kasm-target-group-attachment" {
count = "${var.num_webapps}"
count = var.num_webapps
target_group_arn = aws_lb_target_group.kasm-target-group.arn
target_id = aws_instance.kasm-web-app[count.index].id
port = 443
@ -131,9 +131,9 @@ resource "aws_route53_record" "kasm-route53-elb-record" {
}
resource "aws_route53_record" "kasm-app-url" {
zone_id = data.aws_route53_zone.kasm-route53-zone.zone_id
name = "${var.aws_domain_name}"
type = "A"
zone_id = data.aws_route53_zone.kasm-route53-zone.zone_id
name = var.aws_domain_name
type = "A"
set_identifier = "${var.project_name}-${var.zone_name}-set-id"
@ -144,7 +144,7 @@ resource "aws_route53_record" "kasm-app-url" {
}
latency_routing_policy {
region = "${var.faux_aws_region}"
region = var.faux_aws_region
}
}
@ -159,4 +159,4 @@ resource "aws_route53_health_check" "kasm-elb-hc" {
tags = {
Name = "hc-${var.zone_name}-lb.${var.aws_domain_name}"
}
}
}

View file

@ -1,30 +1,28 @@
module "standard" {
source = "./module"
aws_access_key = ""
aws_secret_key = ""
aws_key_pair = ""
aws_region = "us-east-1"
aws_domain_name = "kasm.contoso.com"
project_name = "contoso"
num_agents = "2"
num_webapps = "2"
source = "./module"
aws_access_key = ""
aws_secret_key = ""
aws_key_pair = "Kasm_AWS_KeyPair"
aws_region = "us-east-2"
aws_domain_name = "default"
project_name = "default-FSxN"
num_agents = "2"
num_webapps = "2"
agent_instance_type = "t3.medium"
webapp_instance_type = "t3.small"
db_instance_type = "t3.small"
ec2_ami = "ami-0747bdcabd34c712a"
ssh_access_cidr = "0.0.0.0/0"
database_password = "changeme"
redis_password = "changeme"
user_password = "changeme"
admin_password = "changeme"
manager_token = "changeme"
zone_name = "default"
kasm_build = "https://kasm-static-content.s3.amazonaws.com/kasm_release_1.9.0.077388.tar.gz"
agent_instance_type = "t3.medium"
webapp_instance_type = "t3.small"
db_instance_type = "t3.small"
ec2_ami = "ami-0747bdcabd34c712a" // ap-southeast-1 "ami-055147723b7bca09a" // us-east-1 "ami-0747bdcabd34c712a"
ssh_access_cidr = "0.0.0.0/0"
database_password = "DefaultPass@1#"
redis_password = "DefaultPass@1#"
user_password = "DefaultPass@1#"
admin_password = "DefaultPass@1#"
manager_token = "DefaultPass@1#"
zone_name = "default"
kasm_build = "https://api.github.com/repos/varunrai/kasmtech-terraform/releases/latest"
}

View file

@ -1,30 +1,60 @@
resource "aws_instance" "kasm-agent" {
count = "${var.num_agents}"
ami = "${var.ec2_ami}"
instance_type = "${var.agent_instance_type}"
vpc_security_group_ids = ["${aws_security_group.kasm-agent-sg.id}"]
subnet_id = "${aws_subnet.kasm-use-natgw-subnet.id}"
key_name = "${var.aws_key_pair}"
depends_on = [
aws_fsx_ontap_storage_virtual_machine.fsxsvm01,
aws_fsx_ontap_volume.fsxvol01
]
count = var.num_agents
ami = var.ec2_ami
instance_type = var.agent_instance_type
vpc_security_group_ids = ["${aws_security_group.kasm-agent-sg.id}", "${aws_security_group.kasm-nfs-sg.id}"]
subnet_id = aws_subnet.kasm-use-natgw-subnet.id
key_name = var.aws_key_pair
associate_public_ip_address = false
root_block_device {
volume_size = "50"
volume_size = "75"
}
user_data = <<-EOF
#!/bin/bash
apt update
echo nameserver 169.254.169.253 | sudo tee /etc/resolv.conf
service network-manager restart
apt install -y nfs-common jq
fallocate -l 5g /mnt/kasm.swap
chmod 600 /mnt/kasm.swap
mkswap /mnt/kasm.swap
swapon /mnt/kasm.swap
echo '/mnt/kasm.swap swap swap defaults 0 0' | tee -a /etc/fstab
mkdir -p /mnt/kasm_shared
echo '${aws_fsx_ontap_storage_virtual_machine.fsxsvm01.id}.${aws_fsx_ontap_file_system.fsx_ontap_fs.id}.fsx.${var.aws_region}.amazonaws.com:/${aws_fsx_ontap_volume.fsxvol01.junction_path} /mnt/kasm_shared nfs defaults 0 0' | tee -a /etc/fstab
mount -a
mkdir -p /mnt/kasm_shared/profiles
cd /tmp
wget ${var.kasm_build}
tar xvf kasm_*.tar.gz
mkdir -p kasm_release
wget $(curl -s ${var.kasm_build} | jq '.assets[0].browser_download_url' | sed 's/"//g')
tar xvf kasm_*.tar.gz -C kasm_release/ --strip-components=1
echo "Checking for Kasm DB..."
while ! nc -w 1 -z ${aws_instance.kasm-db.private_ip} 5432; do
echo "Not Ready..."
sleep 5
done
echo "DB is alive"
echo "Checking for Kasm Web App..."
while ! nc -w 1 -z ${var.zone_name}-lb.${var.aws_domain_name} 443; do
echo "Not Ready..."
sleep 5
done
echo "DB is alive"
PRIVATE_IP=(`curl -s http://169.254.169.254/latest/meta-data/local-ipv4`)
bash kasm_release/install.sh -S agent -e -p $PRIVATE_IP -m ${var.zone_name}-lb.${var.aws_domain_name} -M ${var.manager_token}
bash kasm_release/install.sh --accept-eula --role agent --public-hostname $PRIVATE_IP --manager-hostname ${var.zone_name}-lb.${var.aws_domain_name} --manager-token ${var.manager_token}
EOF
tags = {
Name = "${var.project_name}-${var.zone_name}-kasm-agent"
}
}
// bash kasm_release/install.sh --role agent --public-hostname $PRIVATE_IP --manager-hostname default-lb.kasm.trackeroid.space --manager-token changeme

View file

@ -1,9 +1,9 @@
resource "aws_instance" "kasm-db" {
ami = "${var.ec2_ami}"
instance_type = "${var.db_instance_type}"
ami = var.ec2_ami
instance_type = var.db_instance_type
vpc_security_group_ids = ["${aws_security_group.kasm-db-sg.id}"]
subnet_id = "${aws_subnet.kasm-db-subnet.id}"
key_name = "${var.aws_key_pair}"
subnet_id = aws_subnet.kasm-db-subnet.id
key_name = var.aws_key_pair
root_block_device {
volume_size = "40"
@ -12,17 +12,20 @@ resource "aws_instance" "kasm-db" {
user_data = <<-EOF
#!/bin/bash
apt update
apt install -y jq
fallocate -l 4g /mnt/kasm.swap
chmod 600 /mnt/kasm.swap
mkswap /mnt/kasm.swap
swapon /mnt/kasm.swap
echo '/mnt/kasm.swap swap swap defaults 0 0' | tee -a /etc/fstab
cd /tmp
wget ${var.kasm_build}
tar xvf kasm_*.tar.gz
mkdir -p kasm_release
wget $(curl -s ${var.kasm_build} | jq '.assets[0].browser_download_url' | sed 's/"//g')
tar xvf kasm_*.tar.gz -C kasm_release/ --strip-components=1
bash kasm_release/install.sh -S db -e -Q ${var.database_password} -R ${var.redis_password} -U ${var.user_password} -P ${var.admin_password} -M ${var.manager_token}
EOF
tags = {
Name = "${var.project_name}-kasm-db"
}
}
}

View file

@ -1,10 +1,10 @@
data "aws_route53_zone" "kasm-route53-zone" {
name = "${var.aws_domain_name}"
name = var.aws_domain_name
}
resource "aws_s3_bucket" "kasm-s3-logs" {
bucket_prefix = "${var.project_name}-${var.zone_name}-"
acl = "private"
bucket_prefix = lower("${var.project_name}-${var.zone_name}-")
acl = "private"
force_destroy = true
}
@ -46,7 +46,7 @@ resource "aws_lb" "kasm-alb" {
subnets = ["${aws_subnet.kasm-webapp-subnet.id}", "${aws_subnet.kasm-webapp-subnet-2.id}"]
access_logs {
bucket = "${aws_s3_bucket.kasm-s3-logs.bucket}"
bucket = aws_s3_bucket.kasm-s3-logs.bucket
enabled = true
}
}
@ -55,12 +55,12 @@ resource "aws_lb_target_group" "kasm-target-group" {
name = "${var.project_name}-target-group"
port = 443
protocol = "HTTPS"
vpc_id = "${aws_vpc.kasm-default-vpc.id}"
vpc_id = aws_vpc.kasm-default-vpc.id
health_check {
path = "/api/__healthcheck"
matcher = 200
protocol = "HTTPS"
path = "/api/__healthcheck"
matcher = 200
protocol = "HTTPS"
}
}
@ -69,9 +69,9 @@ resource "aws_lb_listener" "kasm-alb-listener" {
load_balancer_arn = aws_lb.kasm-alb.arn
port = "443"
protocol = "HTTPS"
certificate_arn = "${aws_acm_certificate_validation.kasm-elb-certificate-validation.certificate_arn}"
certificate_arn = aws_acm_certificate_validation.kasm-elb-certificate-validation.certificate_arn
default_action {
default_action {
type = "forward"
target_group_arn = aws_lb_target_group.kasm-target-group.arn
}
@ -80,7 +80,7 @@ resource "aws_lb_listener" "kasm-alb-listener" {
resource "aws_lb_target_group_attachment" "kasm-target-group-attachment" {
count = "${var.num_webapps}"
count = var.num_webapps
target_group_arn = aws_lb_target_group.kasm-target-group.arn
target_id = aws_instance.kasm-web-app[count.index].id
port = 443
@ -99,9 +99,9 @@ resource "aws_route53_record" "kasm-route53-elb-record" {
}
resource "aws_route53_record" "kasm-app-url" {
zone_id = data.aws_route53_zone.kasm-route53-zone.zone_id
name = "${var.aws_domain_name}"
type = "A"
zone_id = data.aws_route53_zone.kasm-route53-zone.zone_id
name = var.aws_domain_name
type = "A"
set_identifier = "${var.project_name}-${var.zone_name}-set-id"
@ -112,7 +112,7 @@ resource "aws_route53_record" "kasm-app-url" {
}
latency_routing_policy {
region = "${var.aws_region}"
region = var.aws_region
}
}
@ -127,4 +127,4 @@ resource "aws_route53_health_check" "kasm-elb-hc" {
tags = {
Name = "hc-${var.zone_name}-lb.${var.aws_domain_name}"
}
}
}

View file

@ -0,0 +1,60 @@
/* resource "aws_efs_file_system" "filesystem" {
creation_token = "efs"
performance_mode = "generalPurpose"
throughput_mode = "bursting"
encrypted = "true"
availability_zone_name = "us-east-1b"
tags = {
Name = "EFS"
}
}
resource "aws_efs_mount_target" "efs-mt" {
file_system_id = aws_efs_file_system.filesystem.id
subnet_id = aws_subnet.kasm-use-natgw-subnet.id
security_groups = [aws_security_group.kasm-nfs-sg.id]
} */
// FSxN Configuration
resource "aws_fsx_ontap_file_system" "fsx_ontap_fs" {
storage_capacity = 1024
subnet_ids = [aws_subnet.kasm-use-natgw-subnet.id]
deployment_type = "SINGLE_AZ_1"
//subnet_ids = [aws_subnet.fsxsubnet01.id, aws_subnet.fsxsubnet02.id]
//deployment_type = "MULTI_AZ_1"
preferred_subnet_id = aws_subnet.kasm-use-natgw-subnet.id
security_group_ids = [aws_security_group.kasm-nfs-sg.id]
throughput_capacity = 128
fsx_admin_password = "DefaultPass#1"
tags = {
"Name" = "FSxN-Demo-1"
}
}
resource "aws_fsx_ontap_storage_virtual_machine" "fsxsvm01" {
file_system_id = aws_fsx_ontap_file_system.fsx_ontap_fs.id
name = "svm01"
root_volume_security_style = "MIXED"
svm_admin_password = "DefaultPass#1"
}
resource "aws_fsx_ontap_volume" "fsxvol01" {
name = "vol1"
junction_path = "/vol1"
security_style = "MIXED"
size_in_megabytes = 1280000
storage_efficiency_enabled = true
storage_virtual_machine_id = aws_fsx_ontap_storage_virtual_machine.fsxsvm01.id
tiering_policy {
name = "AUTO"
cooling_period = 2
}
tags = {
"Department" = "TestDepartment"
}
}

View file

@ -1,7 +1,7 @@
resource "aws_security_group" "kasm-default-elb-sg" {
name = "${var.project_name}-kasm-allow-elb-access"
description = "Security Group for ELB"
vpc_id = "${aws_vpc.kasm-default-vpc.id}"
vpc_id = aws_vpc.kasm-default-vpc.id
ingress {
from_port = 443
@ -28,7 +28,7 @@ resource "aws_security_group" "kasm-default-elb-sg" {
resource "aws_security_group" "kasm-webapp-sg" {
name = "${var.project_name}-${var.zone_name}-kasm-webapp"
description = "Allow access to webapps"
vpc_id = "${aws_vpc.kasm-default-vpc.id}"
vpc_id = aws_vpc.kasm-default-vpc.id
ingress {
from_port = 22
@ -38,9 +38,9 @@ resource "aws_security_group" "kasm-webapp-sg" {
}
ingress {
from_port = 443
to_port = 443
protocol = "tcp"
from_port = 443
to_port = 443
protocol = "tcp"
security_groups = ["${aws_security_group.kasm-default-elb-sg.id}"]
}
@ -51,6 +51,13 @@ resource "aws_security_group" "kasm-webapp-sg" {
cidr_blocks = ["${aws_subnet.kasm-agent-subnet.cidr_block}"]
}
ingress {
from_port = 443
to_port = 443
protocol = "tcp"
cidr_blocks = ["${aws_subnet.kasm-use-natgw-subnet.cidr_block}"]
}
egress {
from_port = 0
to_port = 0
@ -67,7 +74,7 @@ resource "aws_security_group" "kasm-webapp-sg" {
resource "aws_security_group" "kasm-agent-sg" {
name = "${var.project_name}-${var.zone_name}-kasm-agent-access"
description = "Allow access to agents"
vpc_id = "${aws_vpc.kasm-default-vpc.id}"
vpc_id = aws_vpc.kasm-default-vpc.id
ingress {
from_port = 22
@ -80,7 +87,7 @@ resource "aws_security_group" "kasm-agent-sg" {
from_port = 443
to_port = 443
protocol = "tcp"
cidr_blocks = ["${aws_subnet.kasm-webapp-subnet.cidr_block}", "${aws_subnet.kasm-webapp-subnet-2.cidr_block}" ]
cidr_blocks = ["${aws_subnet.kasm-webapp-subnet.cidr_block}", "${aws_subnet.kasm-webapp-subnet-2.cidr_block}"]
}
egress {
@ -96,7 +103,7 @@ resource "aws_security_group" "kasm-agent-sg" {
resource "aws_security_group" "kasm-db-sg" {
name = "${var.project_name}-${var.zone_name}-kasm-db-access"
description = "Allow access to webapps"
vpc_id = "${aws_vpc.kasm-default-vpc.id}"
vpc_id = aws_vpc.kasm-default-vpc.id
ingress {
from_port = 22
@ -112,6 +119,13 @@ resource "aws_security_group" "kasm-db-sg" {
cidr_blocks = ["${aws_subnet.kasm-webapp-subnet.cidr_block}"]
}
ingress {
from_port = 5432
to_port = 5432
protocol = "tcp"
cidr_blocks = ["${aws_subnet.kasm-use-natgw-subnet.cidr_block}"]
}
ingress {
from_port = 6379
to_port = 6379
@ -126,3 +140,57 @@ resource "aws_security_group" "kasm-db-sg" {
cidr_blocks = ["0.0.0.0/0"]
}
}
resource "aws_security_group" "kasm-nfs-sg" {
name = "${var.project_name}-kasm-nfs-access"
description = "Security Group for NFS"
vpc_id = aws_vpc.kasm-default-vpc.id
ingress {
from_port = 111
to_port = 111
protocol = "tcp"
cidr_blocks = ["10.${var.master_subnet_id}.0.0/16"]
}
ingress {
from_port = 2049
to_port = 2049
protocol = "tcp"
cidr_blocks = ["10.${var.master_subnet_id}.0.0/16"]
}
egress {
from_port = 0
to_port = 0
protocol = "-1"
cidr_blocks = ["0.0.0.0/0"]
}
tags = {
Name = "${var.project_name}-kasm-nfs-access"
}
}
resource "aws_security_group" "kasm-fsx-sg" {
name = "${var.project_name}-kasm-fsx-access"
description = "Security Group for NFS"
vpc_id = aws_vpc.kasm-default-vpc.id
ingress {
from_port = 0
to_port = 65000
protocol = "tcp"
cidr_blocks = ["10.${var.master_subnet_id}.0.0/16"]
}
egress {
from_port = 0
to_port = 0
protocol = "-1"
cidr_blocks = ["0.0.0.0/0"]
}
tags = {
Name = "${var.project_name}-kasm-fsx-access"
}
}

View file

@ -1,27 +1,31 @@
resource "aws_subnet" "kasm-db-subnet" {
vpc_id = "${aws_vpc.kasm-default-vpc.id}"
cidr_block = "10.${var.master_subnet_id}.10.0/24"
map_public_ip_on_launch = true
vpc_id = aws_vpc.kasm-default-vpc.id
cidr_block = "10.${var.master_subnet_id}.10.0/24"
map_public_ip_on_launch = true
enable_resource_name_dns_a_record_on_launch = true
availability_zone = "us-east-1d"
tags = {
Name = "${var.project_name}-kasm-db-subnet"
}
}
resource "aws_subnet" "kasm-webapp-subnet" {
vpc_id = "${aws_vpc.kasm-default-vpc.id}"
cidr_block = "10.${var.master_subnet_id}.20.0/24"
availability_zone = data.aws_availability_zones.available.names[0]
map_public_ip_on_launch = true
vpc_id = aws_vpc.kasm-default-vpc.id
cidr_block = "10.${var.master_subnet_id}.20.0/24"
availability_zone = "us-east-1c"
map_public_ip_on_launch = true
enable_resource_name_dns_a_record_on_launch = true
tags = {
Name = "${var.project_name}-kasm-webapp-subnet"
}
}
resource "aws_subnet" "kasm-webapp-subnet-2" {
vpc_id = "${aws_vpc.kasm-default-vpc.id}"
cidr_block = "10.${var.master_subnet_id}.30.0/24"
availability_zone = data.aws_availability_zones.available.names[1]
map_public_ip_on_launch = true
vpc_id = aws_vpc.kasm-default-vpc.id
cidr_block = "10.${var.master_subnet_id}.30.0/24"
availability_zone = "us-east-1b"
map_public_ip_on_launch = true
enable_resource_name_dns_a_record_on_launch = true
tags = {
Name = "${var.project_name}-kasm-webapp-subnet"
}
@ -29,9 +33,12 @@ resource "aws_subnet" "kasm-webapp-subnet-2" {
resource "aws_subnet" "kasm-agent-subnet" {
vpc_id = "${aws_vpc.kasm-default-vpc.id}"
cidr_block = "10.${var.master_subnet_id}.40.0/24"
map_public_ip_on_launch = true
vpc_id = aws_vpc.kasm-default-vpc.id
cidr_block = "10.${var.master_subnet_id}.40.0/24"
availability_zone = "us-east-1b"
map_public_ip_on_launch = true
enable_resource_name_dns_a_record_on_launch = true
tags = {
Name = "${var.project_name}-kasm-agent-subnet"
}
@ -39,11 +46,12 @@ resource "aws_subnet" "kasm-agent-subnet" {
resource "aws_subnet" "kasm-use-natgw-subnet" {
vpc_id = "${aws_vpc.kasm-default-vpc.id}"
cidr_block = "10.${var.master_subnet_id}.50.0/24"
map_public_ip_on_launch = true
vpc_id = aws_vpc.kasm-default-vpc.id
cidr_block = "10.${var.master_subnet_id}.50.0/24"
map_public_ip_on_launch = true
enable_resource_name_dns_a_record_on_launch = true
availability_zone = "us-east-1b"
tags = {
Name = "${var.project_name}-natgw-kasm-subnet"
}
}

View file

@ -1,21 +1,23 @@
resource "aws_vpc" "kasm-default-vpc" {
cidr_block = "10.${var.master_subnet_id}.0.0/16"
cidr_block = "10.${var.master_subnet_id}.0.0/16"
enable_dns_support = true
enable_dns_hostnames = true
tags = {
Name = "${var.project_name}-kasm-db-vpc"
}
}
resource "aws_internet_gateway" "kasm-default-ig" {
vpc_id = "${aws_vpc.kasm-default-vpc.id}"
vpc_id = aws_vpc.kasm-default-vpc.id
tags = {
Name = "${var.project_name}-kasm-ig"
}
}
resource "aws_route" "internet_access" {
route_table_id = "${aws_vpc.kasm-default-vpc.main_route_table_id}"
route_table_id = aws_vpc.kasm-default-vpc.main_route_table_id
destination_cidr_block = "0.0.0.0/0"
gateway_id = "${aws_internet_gateway.kasm-default-ig.id}"
gateway_id = aws_internet_gateway.kasm-default-ig.id
}

View file

@ -1,10 +1,10 @@
resource "aws_instance" "kasm-web-app" {
count = "${var.num_webapps}"
ami = "${var.ec2_ami}"
instance_type = "${var.webapp_instance_type}"
count = var.num_webapps
ami = var.ec2_ami
instance_type = var.webapp_instance_type
vpc_security_group_ids = ["${aws_security_group.kasm-webapp-sg.id}"]
subnet_id = "${aws_subnet.kasm-webapp-subnet.id}"
key_name = "${var.aws_key_pair}"
subnet_id = aws_subnet.kasm-webapp-subnet.id
key_name = var.aws_key_pair
associate_public_ip_address = true
root_block_device {
@ -13,6 +13,8 @@ resource "aws_instance" "kasm-web-app" {
user_data = <<-EOF
#!/bin/bash
apt update
apt install -y jq
set -x
fallocate -l 4g /mnt/kasm.swap
chmod 600 /mnt/kasm.swap
@ -20,15 +22,23 @@ resource "aws_instance" "kasm-web-app" {
swapon /mnt/kasm.swap
echo '/mnt/kasm.swap swap swap defaults 0 0' | tee -a /etc/fstab
cd /tmp
wget ${var.kasm_build}
tar xvf kasm_*.tar.gz
mkdir -p kasm_release
wget $(curl -s ${var.kasm_build} | jq '.assets[0].browser_download_url' | sed 's/"//g')
tar xvf kasm_*.tar.gz -C kasm_release/ --strip-components=1
echo "Checking for Kasm DB..."
while ! nc -w 1 -z ${aws_instance.kasm-db.private_ip} 5432; do
while ! nc -vz -w 3 ${aws_instance.kasm-db.private_ip} 5432; do
echo "Not Ready..."
sleep 5
done
echo "DB is alive"
echo "Kasm DB is alive"
echo "Checking for Redis DB..."
while ! nc -vz -w 3 ${aws_instance.kasm-db.private_ip} 6379; do
echo "Not Ready..."
sleep 5
done
echo "Redis DB is alive"
bash kasm_release/install.sh -S app -e -z ${var.zone_name} -q "${aws_instance.kasm-db.private_ip}" -Q ${var.database_password} -R ${var.redis_password}
EOF

View file

@ -1,40 +0,0 @@
# DigitalOcean Single Server
This project will deploy Kasm Workspaces in a single-server deployment on DigitalOcean.
![Diagram][Image_Diagram]
[Image_Diagram]: https://f.hubspotusercontent30.net/hubfs/5856039/terraform/diagrams/digitalocean-single-server.png "Diagram"
# Pre-Configuration
### Domain Configuration
If digitalocean is not already managing your domain you will need to have your registrar point to the DigitalOcean nameservers: https://www.digitalocean.com/community/tutorials/how-to-point-to-digitalocean-nameservers-from-common-domain-registrars
### API Tokens
Create a personal access token with read/write permissions at https://cloud.digitalocean.com/account/api/tokens
### SSH Authorized Keys
This project will launch a droplet and allow connections using the ssh keys defined by `ssh_key_fingerprints`. You can copy the fingerprint from the desired ssh keys from https://cloud.digitalocean.com/account/security
# Terraform Configuration
1. Initialize the project
terraform init
2. Open `deployment.tf` and update the variables. The variable definitions and descriptions
can be found in `module/variables.tf`
3. Verify the configuration
terraform plan
4. Deploy
terraform apply
5. Login to the Deployment as an Admin via the domain defined e.g `https://kasm.contoso.com`. Single server installs
download all workspaces images during the install process so it may take ~15 minutes for the server to fully come online.

View file

@ -1,19 +0,0 @@
module "kasm" {
source = "./module"
digital_ocean_token = ""
do_domain_name = "kasm.contoso.com"
project_name = "contoso"
digital_ocean_region = "nyc3"
digital_ocean_image = "docker-18-04"
digital_ocean_droplet_slug = "s-2vcpu-4gb-intel"
swap_size = 2048
kasm_build_url = "https://kasm-static-content.s3.amazonaws.com/kasm_release_1.9.0.077388.tar.gz"
user_password = "changeme"
admin_password = "changeme"
allow_ssh_cidrs = ["0.0.0.0/0"]
ssh_key_fingerprints = []
}

View file

@ -1,43 +0,0 @@
resource "digitalocean_domain" "default" {
name = "${var.do_domain_name}"
}
resource "digitalocean_record" "static" {
domain = digitalocean_domain.default.name
type = "A"
name = "static"
value = digitalocean_loadbalancer.www-lb.ip
}
resource "digitalocean_certificate" "cert" {
name = "${var.project_name}-cert"
type = "lets_encrypt"
domains = ["${digitalocean_domain.default.id}"]
lifecycle {
create_before_destroy = true
}
}
resource "digitalocean_loadbalancer" "www-lb" {
name = "${var.project_name}-lb"
region = "${var.digital_ocean_region}"
forwarding_rule {
entry_port = 443
entry_protocol = "https"
target_port = 443
target_protocol = "https"
certificate_name = digitalocean_certificate.cert.name
}
healthcheck {
port = 443
protocol = "https"
path = "/"
}
droplet_ids = digitalocean_droplet.kasm-server.*.id
}

View file

@ -1,18 +0,0 @@
#!/bin/bash
set -ex
echo "Starting Kasm Workspaces Install"
/bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=${swap_size}
/sbin/mkswap /var/swap.1
chmod 600 /var/swap.1
/sbin/swapon /var/swap.1
cd /tmp
PRIVATE_IP=(`hostname -I | cut -d ' ' -f1 | tr -d '\\n'`)
wget ${kasm_build_url} -O kasm_workspaces.tar.gz
tar -xf kasm_workspaces.tar.gz
bash kasm_release/install.sh -e -U ${user_password} -P ${admin_password} -p $PRIVATE_IP -m $PRIVATE_IP
echo "Done

View file

@ -1,34 +0,0 @@
resource "digitalocean_firewall" "workspaces-fw" {
name = "${var.project_name}-fw"
tags = ["${digitalocean_tag.project.id}"]
inbound_rule {
protocol = "tcp"
port_range = "22"
source_addresses = "${var.allow_ssh_cidrs}"
}
inbound_rule {
protocol = "tcp"
port_range = "443"
source_addresses = ["0.0.0.0/0", "::/0"]
}
outbound_rule {
protocol = "tcp"
port_range = "1-65535"
destination_addresses = ["0.0.0.0/0", "::/0"]
}
outbound_rule {
protocol = "udp"
port_range = "1-65535"
destination_addresses = ["0.0.0.0/0", "::/0"]
}
outbound_rule {
protocol = "icmp"
destination_addresses = ["0.0.0.0/0", "::/0"]
}
}

View file

@ -1,10 +0,0 @@
resource "digitalocean_project" "project" {
name = "${var.project_name}"
description = "Deployment for ${var.project_name}"
purpose = "Kasm Workspaces"
environment = "Development"
resources = [
digitalocean_droplet.kasm-server.urn,
digitalocean_domain.default.urn
]
}

View file

@ -1,43 +0,0 @@
data "template_file" "user_data" {
template = "${file("${path.module}/files/kasm_server_init.sh")}"
vars = {
kasm_build_url = "${var.kasm_build_url}"
user_password = "${var.user_password}"
admin_password = "${var.admin_password}"
swap_size = "${var.swap_size}"
}
}
resource "digitalocean_droplet" "kasm-server" {
ssh_keys = "${var.ssh_key_fingerprints}"
image = "${var.digital_ocean_image}"
region = "${var.digital_ocean_region}"
size = "${var.digital_ocean_droplet_slug}"
private_networking = false
backups = false
ipv6 = false
name = "${var.project_name}-workspaces"
tags = ["${digitalocean_tag.project.id}"]
user_data = "${data.template_file.user_data.rendered}"
}
output "kasm_server_ip" {
value = "${digitalocean_droplet.kasm-server.ipv4_address}"
}
terraform {
required_providers {
digitalocean = {
source = "digitalocean/digitalocean"
version = "~> 2.0"
}
}
}
provider "digitalocean" {
token = "${var.digital_ocean_token}"
}
resource "digitalocean_tag" "project" {
name = "${var.project_name}"
}

View file

@ -1,45 +0,0 @@
variable "project_name" {
description = "The name of the project/deployment/company eg (acme). Lower case all one word as this will be used in a domain name"
}
variable "digital_ocean_token" {
description = "Authentication Token For Digital Ocean"
}
variable "digital_ocean_region" {
description = "The Default Digital Ocean Region Slug: https://docs.digitalocean.com/products/platform/availability-matrix/"
default = "nyc3"
}
variable "digital_ocean_droplet_slug" {
description = "The Default Digital Ocean Droplet Slug: https://slugs.do-api.dev/"
default = "s-2vcpu-4gb-intel"
}
variable "digital_ocean_image" {
description = "Default Image for Ubuntu LTS"
default = "docker-18-04"
}
variable "kasm_build_url" {
description = "The Build file to install"
default = "https://kasm-static-content.s3.amazonaws.com/kasm_release_1.9.0.077388.tar.gz"
}
variable "user_password" {
default = "changeme"
description = "The default password to be used for the default user@kasm.local account. Only use alphanumeric characters"
}
variable "admin_password" {
default = "changeme"
description = "The default password to be used for the default admin@kasm.local account. Only use alphanumeric characters"
}
variable "allow_ssh_cidrs" {
description = "CIDR notation for hosts allowed to SSH"
}
variable "do_domain_name" {
description = "The domain name that users will use to access kasm"
}
variable "ssh_key_fingerprints" {
# The ssh key fingerprints from uploaded keys can be obtained at https://cloud.digitalocean.com/account/security
description = "Keys used for sshing into kasm hosts"
}
variable swap_size {
description = "The amount of swap (in MB) to configure inside the compute instances"
default = 2048
}

View file

@ -0,0 +1,18 @@
#!/usr/bin/env bash
set -e
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root"
exit 1
fi
KASM_VERSION="1.12.0"
KASM_INSTALL_BASE="/opt/kasm/${KASM_VERSION}"
pushd ${KASM_INSTALL_BASE}/docker > /dev/null
# TODO: Start in daemon mode, run connectivity tests, tell the user how to access website
echo "Starting Kasm Services"
export KASM_UID=$(id kasm -u)
export KASM_GID=$(id kasm -g)
docker compose up -d
popd > /dev/null

View file

@ -0,0 +1,18 @@
#!/usr/bin/env bash
set -e
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root"
exit 1
fi
KASM_VERSION="1.12.0"
KASM_INSTALL_BASE="/opt/kasm/${KASM_VERSION}"
pushd ${KASM_INSTALL_BASE}/docker > /dev/null
echo "Stopping Kasm Services"
export KASM_UID=$(id kasm -u)
export KASM_GID=$(id kasm -g)
docker compose stop
popd > /dev/null

View file

@ -0,0 +1,78 @@
#!/usr/bin/env bash
set -e
KASM_VERSION="1.12.0"
KASM_INSTALL_BASE="/opt/kasm/${KASM_VERSION}"
DATABASE_HOSTNAME='false'
DATABASE_PASSWORD=''
DATABASE_PORT='5432'
DATABASE_SSL='false'
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root"
exit 1
fi
function display_help() {
echo "Usage: ${0}"
echo "-h Display this help menu"
echo "-a Activation key path"
echo "-v Verbose output"
}
while getopts 'vihs:t:T:q:Q:a:' flag; do
case "${flag}" in
h)
display_help
exit 0
;;
v)
set -x
;;
q)
DATABASE_HOSTNAME=$OPTARG
;;
Q)
DATABASE_PASSWORD=$OPTARG
;;
T)
DATABASE_PORT=$OPTARG
;;
t)
DATABASE_SSL=$OPTARG
;;
a)
ACTIVATION_KEY_FILE=$(readlink -f ${OPTARG})
ACTIVATION_KEY_FILE_NAME=$(basename ${ACTIVATION_KEY_FILE})
if [ ! -f "$ACTIVATION_KEY_FILE" ]; then
echo "FATAL: Activation key file does not exist: ${ACTIVATION_KEY_FILE}"
exit 1
fi
echo "Setting activation key file as ${ACTIVATION_KEY_FILE}"
;;
*)
echo "Unexpected option ${flag}"
display_help
;;
esac
done
if [ -z "${ACTIVATION_KEY_FILE}" ]; then
echo "Error - No activation key file specified ! "
echo ""
display_help
exit 1
fi
export KASM_UID=$(id kasm -u)
export KASM_GID=$(id kasm -g)
pushd ${KASM_INSTALL_BASE}/docker > /dev/null
docker compose stop
if [ "$DATABASE_HOSTNAME" == 'false' ] ; then
docker compose up -d db --wait
fi
docker compose -f ${KASM_INSTALL_BASE}/docker/.conf/docker-compose-api.yaml run -v ${ACTIVATION_KEY_FILE}:/tmp/${ACTIVATION_KEY_FILE_NAME} --rm --entrypoint "/usr/bin/kasm_server.so --cfg /opt/kasm/current/conf/app/api.app.config.yaml --activation-key-file /tmp/${ACTIVATION_KEY_FILE_NAME}" kasm_api 2>&1 | grep -v UserWarning
docker compose stop

View file

@ -0,0 +1,127 @@
#!/usr/bin/env bash
DATABASE_HOSTNAME='false'
ARCH=$(uname -m | sed 's/aarch64/arm64/g' | sed 's/x86_64/amd64/g')
ARGS=("$@")
set -e
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root"
exit 1
fi
# Check for yq
if [ "${ARCH}" == "amd64" ] ; then
BIN_ARCH="x64_64"
else
BIN_ARCH="aarch64"
fi
if [ ! -f "/opt/kasm/bin/utils/yq_${BIN_ARCH}" ]; then
# Check for internet connectivity
if ! curl -s --connect-timeout 5 https://www.google.com > /dev/null; then
echo "Without internet connectivity I cannot download YQ please install it at /opt/kasm/bin/utils/yq_${BIN_ARCH}"
exit 1
fi
YQ_RELEASE=$(curl -sX GET "https://api.github.com/repos/mikefarah/yq/releases/latest" \
| awk '/tag_name/{print $4;exit}' FS='[""]');
mkdir -p /opt/kasm/bin/utils/
curl -L -o \
/opt/kasm/bin/utils/yq_${BIN_ARCH} \
https://github.com/mikefarah/yq/releases/download/${YQ_RELEASE}/yq_linux_${ARCH}
chmod +x /opt/kasm/bin/utils/yq_${BIN_ARCH}
fi
function display_help() {
CMD='\033[0;31m'
NC='\033[0m'
echo "Usage IE:"
echo "${0} --path /opt/kasm/current --backup-file /home/ubuntu/kasm_backup.tar"
echo ""
echo "Flag Description"
echo "----------------------------------------------------------------------------------------------------------"
echo -e "| ${CMD}-h|--help${NC} |Display this help menu |"
echo -e "| ${CMD}-f|--backup-file${NC} |Path to kasm db backup file (tar) |"
echo -e "| ${CMD}-p|--path${NC} |Path to kasm installation desired for backup e.g /opt/kasm/1.0.0 |"
echo -e "| ${CMD}-q|--database-hostname${NC} |Database hostname |"
echo -e "| ${CMD}-v|--verbose${NC} |Verbose output |"
echo "----------------------------------------------------------------------------------------------------------"
}
for index in "${!ARGS[@]}"; do
case "${ARGS[index]}" in
-h|--help)
display_help
exit 0
;;
-f|--backup-file)
DB_FILE="${ARGS[index+1]}"
;;
-p|--path)
KASM_INSTALL_BASE="${ARGS[index+1]}"
;;
-q|--database-hostname)
DATABASE_HOSTNAME="${ARGS[index+1]}"
;;
-v|--verbose)
set -x
;;
-*|--*)
echo "Unknown option ${ARGS[index]}"
display_help
exit 1
;;
esac
done
if [ -z "$DB_FILE" ]; then
echo "Error - No database file specified ! "
echo ""
display_help
exit 1
fi
if [ -z "$KASM_INSTALL_BASE" ]; then
echo "Error - No kasm installation path specified ! "
echo ""
display_help
exit 1
fi
export KASM_UID=$(id kasm -u)
export KASM_GID=$(id kasm -g)
DB_BACKUP_DIR=$(dirname "${DB_FILE}")
DB_BACKUP_FILE_NAME=$(basename "${DB_FILE}")
if [ "${DATABASE_HOSTNAME}" == "false" ] ; then
TEMP_DB_CONTAINER_NAME=temp_kasm_db_backup
pushd ${KASM_INSTALL_BASE}/docker > /dev/null
echo "Removing Existing Database container"
docker compose rm -f db > /dev/null
docker stop ${TEMP_DB_CONTAINER_NAME} &> /dev/null || true && docker rm ${TEMP_DB_CONTAINER_NAME} &> /dev/null || true
echo "Creating temporary database backup container..."
docker compose run -v ${DB_BACKUP_DIR}/:/backup/ -d --name ${TEMP_DB_CONTAINER_NAME} db
sleep 10
echo "Executing Backup"
docker exec ${TEMP_DB_CONTAINER_NAME} pg_dump -b -C -U kasmapp -Ft kasm -f /backup/${DB_BACKUP_FILE_NAME}
echo "Removing Temporary Backup Container"
docker rm -f ${TEMP_DB_CONTAINER_NAME}
popd > /dev/null
else
DB_IMAGE_NAME=$(/opt/kasm/bin/utils/yq_${BIN_ARCH} '.services.db.image' "${KASM_INSTALL_BASE}/docker/.conf/docker-compose-db.yaml")
DATABASE_PASSWORD=$(/opt/kasm/bin/utils/yq_${BIN_ARCH} '.database.password' "${KASM_INSTALL_BASE}/conf/app/api.app.config.yaml")
docker run -v ${DB_BACKUP_DIR}/:/backup/ -e PGPASSWORD="${DATABASE_PASSWORD}" --rm "${DB_IMAGE_NAME}" pg_dump -b -C -h "${DATABASE_HOSTNAME}" -p "${DATABASE_PORT}" -U kasmapp -Ft kasm -f "/backup/${DB_BACKUP_FILE_NAME}"
fi
if [ ! -f "${DB_FILE}" ] ;
then
echo "Database backup failed, backup file not present. Please correct the error and try again."
exit 1
fi
echo "Database backup is at the following location: ${DB_FILE}"

View file

@ -0,0 +1,106 @@
#!/usr/bin/env bash
set -e
KASM_VERSION="1.12.0"
KASM_INSTALL_BASE="/opt/kasm/${KASM_VERSION}"
DATABASE_HOSTNAME='false'
DATABASE_PASSWORD=''
DATABASE_PORT='5432'
DATABASE_SSL='false'
ARGS=("$@")
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root"
exit 1
fi
function display_help() {
CMD='\033[0;31m'
NC='\033[0m'
echo "Usage IE:"
echo "${0} --initialize --seed-file my_seed_file"
echo ""
echo "Flag Description"
echo "-----------------------------------------------------------------------------------------------"
echo -e "| ${CMD}-h|--help${NC} |Display this help menu |"
echo -e "| ${CMD}-i|--initialize${NC} |Initialize the database (delete and recreated schema) |"
echo -e "| ${CMD}-s|--seed-file${NC} |Absolute path to the seed file (yaml) |"
echo -e "| ${CMD}-v|--verbose${NC} |Verbose output |"
echo -e "| ${CMD}-q|--database-hostname${NC} |Database hostname |"
echo "-----------------------------------------------------------------------------------------------"
}
for index in "${!ARGS[@]}"; do
case "${ARGS[index]}" in
-h|--help)
display_help
exit 0
;;
-s|--seed-file)
SEED_FILE="${ARGS[index+1]}"
SEED_FILE_NAME=$(basename ${SEED_FILE})
echo "Setting Seed file as ${SEED_FILE}"
;;
-i|--initialize)
INITIALIZE_DATABASE="--initialize-database"
;;
-v|--verbose)
set -x
;;
-q|--database-hostname)
DATABASE_HOSTNAME="${ARGS[index+1]}"
;;
-Q|--database-password)
DATABASE_PASSWORD="${ARGS[index+1]}"
;;
-T|--database-port)
DATABASE_PORT="${ARGS[index+1]}"
;;
-t|--database-ssl)
DATABASE_SSL="${ARGS[index+1]}"
;;
-*|--*)
echo "Unknown option ${ARGS[index]}"
display_help
exit 1
;;
esac
done
if [ -z "${SEED_FILE}" ]; then
echo "Error - No seed file specified ! "
echo ""
display_help
exit 1
fi
export KASM_UID=$(id kasm -u)
export KASM_GID=$(id kasm -g)
pushd ${KASM_INSTALL_BASE}/docker > /dev/null
# local database
if [ "$DATABASE_HOSTNAME" == 'false' ] ; then
# TODO Check of the db already exists or not
set +e
docker compose stop
docker kill kasm_db &> /dev/null
docker container rm kasm_db &> /dev/null
set -e
if [ ! -z "${INITIALIZE_DATABASE}" ]; then
set +e
docker volume rm kasm_db_${KASM_VERSION} &> /dev/null
set -e
docker volume create kasm_db_${KASM_VERSION}
fi
docker compose up -d db --wait
fi
${KASM_INSTALL_BASE}/bin/utils/yq_$(uname -m) -i '.services.kasm_api += {"read_only": false}' ${KASM_INSTALL_BASE}/docker/.conf/docker-compose-api.yaml
docker compose -f ${KASM_INSTALL_BASE}/docker/.conf/docker-compose-api.yaml run -v ${SEED_FILE}:/tmp/${SEED_FILE_NAME} --rm --entrypoint "/usr/bin/kasm_server.so ${INITIALIZE_DATABASE} --cfg /opt/kasm/current/conf/app/api.app.config.yaml --populate-production --seed-file /tmp/${SEED_FILE_NAME}" kasm_api 2>&1 | grep -v UserWarning
${KASM_INSTALL_BASE}/bin/utils/yq_$(uname -m) -i '.services.kasm_api += {"read_only": true}' ${KASM_INSTALL_BASE}/docker/.conf/docker-compose-api.yaml
docker compose stop
echo "Database Initialization Complete"
popd > /dev/null

View file

@ -0,0 +1,195 @@
#!/usr/bin/env bash
DATABASE_HOSTNAME='false'
DATABASE_MASTER_USER='postgres'
ARCH=$(uname -m | sed 's/aarch64/arm64/g' | sed 's/x86_64/amd64/g')
ARGS=("$@")
set -e
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root"
exit 1
fi
function verify() {
printf "\n\n"
echo "WARNING!!!"
echo "__________________________"
printf "\n\n"
echo "Contents of the existing database will be removed. This is irreversible!"
printf "\n"
read -p "Continue? (y/n) " choice
case "$choice" in
y|Y )
return
;;
n|N )
echo "Exiting"
exit 1
;;
* )
echo "Invalid Response"
echo "Exiting"
exit 1
;;
esac
}
# Check for yq
if [ "${ARCH}" == "amd64" ] ; then
BIN_ARCH="x64_64"
else
BIN_ARCH="aarch64"
fi
if [ ! -f "/opt/kasm/bin/utils/yq_${BIN_ARCH}" ]; then
# Check for internet connectivity
if ! curl -s --connect-timeout 5 https://www.google.com > /dev/null; then
echo "Without internet connectivity I cannot download YQ please install it at /opt/kasm/bin/utils/yq_${BIN_ARCH}"
exit 1
fi
YQ_RELEASE=$(curl -sX GET "https://api.github.com/repos/mikefarah/yq/releases/latest" \
| awk '/tag_name/{print $4;exit}' FS='[""]');
mkdir -p /opt/kasm/bin/utils/
curl -L -o \
/opt/kasm/bin/utils/yq_${BIN_ARCH} \
https://github.com/mikefarah/yq/releases/download/${YQ_RELEASE}/yq_linux_${ARCH}
chmod +x /opt/kasm/bin/utils/yq_${BIN_ARCH}
fi
function display_help() {
CMD='\033[0;31m'
NC='\033[0m'
echo "Usage IE:"
echo "${0} --path /opt/kasm/current --backup-file /home/ubuntu/kasm_backup.tar"
echo ""
echo "Flag Description"
echo "---------------------------------------------------------------------------------------------------------------------"
echo -e "| ${CMD}-h|--help${NC} |Display this help menu |"
echo -e "| ${CMD}-f|--backup-file${NC} |Path to kasm db backup file (tar) |"
echo -e "| ${CMD}-p|--path${NC} |Path to kasm installation desired for restore e.g /opt/kasm/1.0.0 |"
echo -e "| ${CMD}-q|--database-hostname${NC} |Database hostname |"
echo -e "| ${CMD}-g|--database-master-user${NC} |Database master username |"
echo -e "| ${CMD}-G|--database-master-password${NC} |Database master password |"
echo -e "| ${CMD}-v|--verbose${NC} |Verbose output |"
echo -e "| ${CMD}-a|--accept-warning${NC} |Accept warning regarding db_restore overwriting the current database |"
echo "---------------------------------------------------------------------------------------------------------------------"
}
for index in "${!ARGS[@]}"; do
case "${ARGS[index]}" in
-h|--help)
display_help
exit 0
;;
-a|--accept-warning)
ACCEPT_WARNING=true
;;
-f|--backup-file)
DB_FILE="${ARGS[index+1]}"
;;
-p|--path)
KASM_INSTALL_BASE="${ARGS[index+1]}"
;;
-q|--database-hostname)
DATABASE_HOSTNAME="${ARGS[index+1]}"
;;
-g|--database-master-user)
DATABASE_MASTER_USER="${ARGS[index+1]}"
echo "Using Database Master User ${DATABASE_MASTER_USER}"
;;
-G|--database-master-password)
DATABASE_MASTER_PASSWORD="${ARGS[index+1]}"
echo "Using Database Master Password from stdin -G"
;;
-v|--verbose)
set -x
;;
-*|--*)
echo "Unknown option ${ARGS[index]}"
display_help
exit 1
;;
esac
done
if [ -z "$DB_FILE" ]; then
echo "Error - No database file specified ! "
echo ""
display_help
exit 1
fi
if [ -z "$KASM_INSTALL_BASE" ]; then
echo "Error - No kasm installation path specified ! "
echo ""
display_help
exit 1
fi
if [ -z "$DATABASE_MASTER_PASSWORD" ] && [ "${DATABASE_HOSTNAME}" != "false" ]; then
echo "Error - When restoring a remote database please provide master password for the remote database"
echo ""
display_help
exit 1
fi
if [ ! "${ACCEPT_WARNING}" = true ]
then
verify
fi
TEMP_DB_BACKUP_PATH=${KASM_INSTALL_BASE}/conf/database/
DB_BACKUP_DIR=$(dirname "${DB_FILE}")
DB_BACKUP_FILE_NAME=$(basename "${DB_FILE}")
cp ${DB_FILE} ${TEMP_DB_BACKUP_PATH}/${DB_BACKUP_FILE_NAME}
pushd ${KASM_INSTALL_BASE}/docker > /dev/null
export KASM_UID=$(id kasm -u)
export KASM_GID=$(id kasm -g)
if [ "${DATABASE_HOSTNAME}" == "false" ] ; then
echo "Stopping Services"
sudo ${KASM_INSTALL_BASE}/bin/stop
echo "Starting DB Service"
docker compose up -d db
sleep 10
echo "Executing restore"
docker compose exec db psql -e -U kasmapp -c "drop database if exists kasm;" postgres
docker compose exec db psql -e -U kasmapp -c "create database kasm;" postgres
# Only drop schemas if we are not already on postgres 12
POSTGRES_MAJOR=$(tar -xOf ${DB_FILE} restore.sql | awk -F'(Dumped from database version |\\.)' '/Dumped from database version / {print $2}')
if [ ! "${POSTGRES_MAJOR}" -ge 12 ]; then
docker compose exec db psql -e -U kasmapp -c "drop schema if exists public cascade;" kasm
fi
docker compose exec db pg_restore -e -U kasmapp -Ft -d kasm /tmp/${DB_BACKUP_FILE_NAME}
rm ${TEMP_DB_BACKUP_PATH}/${DB_BACKUP_FILE_NAME}
echo "Stopping Services"
sudo ${KASM_INSTALL_BASE}/bin/stop
popd > /dev/null
else
DB_IMAGE_NAME=$(/opt/kasm/bin/utils/yq_${BIN_ARCH} '.services.db.image' "${KASM_INSTALL_BASE}/docker/.conf/docker-compose-db.yaml")
DATABASE_PASSWORD=$(/opt/kasm/bin/utils/yq_${BIN_ARCH} '.database.password' "${KASM_INSTALL_BASE}/conf/app/api.app.config.yaml")
docker run -e PGPASSWORD="${DATABASE_MASTER_PASSWORD}" --rm "${DB_IMAGE_NAME}" psql -h "${DATABASE_HOSTNAME}" -p "${DATABASE_PORT}" -e -U ${DATABASE_MASTER_USER} -c "drop database if exists kasm;" postgres
docker run -e PGPASSWORD="${DATABASE_MASTER_PASSWORD}" --rm "${DB_IMAGE_NAME}" psql -h "${DATABASE_HOSTNAME}" -p "${DATABASE_PORT}" -e -U ${DATABASE_MASTER_USER} -c "create database kasm;" postgres
POSTGRES_MAJOR=$(tar -xOf "${DB_FILE}" restore.sql | awk -F'(Dumped from database version |\\.)' '/Dumped from database version / {print $2}')
if [ ! "${POSTGRES_MAJOR}" -ge 12 ]; then
docker run -v -e PGPASSWORD="${DATABASE_MASTER_PASSWORD}" --rm "${DB_IMAGE_NAME}" psql -h "${DATABASE_HOSTNAME}" -p "${DATABASE_PORT}" -e -U ${DATABASE_MASTER_USER} -c "drop schema if exists public cascade;" kasm
fi
docker run -v "${TEMP_DB_BACKUP_PATH}/${DB_BACKUP_FILE_NAME}:/restore/${DB_BACKUP_FILE_NAME}" -e PGPASSWORD="${DATABASE_MASTER_PASSWORD}" --rm "${DB_IMAGE_NAME}" pg_restore -h "${DATABASE_HOSTNAME}" -p "${DATABASE_PORT}" -e -U ${DATABASE_MASTER_USER} -Ft -d kasm "/restore/${DB_BACKUP_FILE_NAME}"
fi
echo "Restore Complete"

View file

@ -0,0 +1,126 @@
#!/usr/bin/env bash
DATABASE_HOSTNAME='false'
ARCH=$(uname -m | sed 's/aarch64/arm64/g' | sed 's/x86_64/amd64/g')
ARGS=("$@")
set -e
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root"
exit 1
fi
export KASM_UID=$(id kasm -u)
export KASM_GID=$(id kasm -g)
# Check for yq
if [ "${ARCH}" == "amd64" ] ; then
BIN_ARCH="x64_64"
else
BIN_ARCH="aarch64"
fi
if [ ! -f "/opt/kasm/bin/utils/yq_${BIN_ARCH}" ]; then
# Check for internet connectivity
if ! curl -s --connect-timeout 5 https://www.google.com > /dev/null; then
echo "Without internet connectivity I cannot download YQ please install it at /opt/kasm/bin/utils/yq_${BIN_ARCH}"
exit 1
fi
YQ_RELEASE=$(curl -sX GET "https://api.github.com/repos/mikefarah/yq/releases/latest" \
| awk '/tag_name/{print $4;exit}' FS='[""]');
mkdir -p /opt/kasm/bin/utils/
curl -L -o \
/opt/kasm/bin/utils/yq_${BIN_ARCH} \
https://github.com/mikefarah/yq/releases/download/${YQ_RELEASE}/yq_linux_${ARCH}
chmod +x /opt/kasm/bin/utils/yq_${BIN_ARCH}
fi
function display_help() {
CMD='\033[0;31m'
NC='\033[0m'
echo "Usage IE:"
echo "${0} --path /opt/kasm/current"
echo ""
echo "Flag Description"
echo "--------------------------------------------------------------------------------------------------------------"
echo -e "| ${CMD}-h|--help${NC} |Display this help menu |"
echo -e "| ${CMD}-p|--path${NC} |Path to kasm installation desired for upgrade e.g /opt/kasm/1.0.0 |"
echo -e "| ${CMD}-q|--database-hostname${NC} |Database hostname |"
echo -e "| ${CMD}-v|--verbose${NC} |Verbose output |"
echo "--------------------------------------------------------------------------------------------------------------"
}
for index in "${!ARGS[@]}"; do
case "${ARGS[index]}" in
-h|--help)
display_help
exit 0
;;
-p|--path)
KASM_INSTALL_BASE="${ARGS[index+1]}"
;;
-q|--database-hostname)
DATABASE_HOSTNAME="${ARGS[index+1]}"
;;
-v|--verbose)
set -x
;;
-*|--*)
echo "Unknown option ${ARGS[index]}"
display_help
exit 1
;;
esac
done
if [ -z "$KASM_INSTALL_BASE" ]; then
echo "Error - No kasm installation path specified ! "
echo ""
display_help
exit 1
fi
pushd ${KASM_INSTALL_BASE}/docker > /dev/null
# local database
if [ "$DATABASE_HOSTNAME" == 'false' ] ; then
echo "Removing Existing Database container"
echo "Stopping Services"
${KASM_INSTALL_BASE}/bin/stop
docker compose rm -f db
sed "s/kasm_api:/kasm_api:\n healthcheck:\n disable: true/g" ${KASM_INSTALL_BASE}/docker/.conf/docker-compose-all.yaml > ${KASM_INSTALL_BASE}/docker/.conf/docker-compose-all-upgrade.yaml
docker compose -f ${KASM_INSTALL_BASE}/docker/.conf/docker-compose-all-upgrade.yaml rm -f db
docker compose -f ${KASM_INSTALL_BASE}/docker/.conf/docker-compose-all-upgrade.yaml up -d db
sleep 10
set +e
${KASM_INSTALL_BASE}/bin/utils/yq_$(uname -m) -i '.services.kasm_api += {"read_only": false}' ${KASM_INSTALL_BASE}/docker/.conf/docker-compose-all-upgrade.yaml
docker compose -f ${KASM_INSTALL_BASE}/docker/.conf/docker-compose-all-upgrade.yaml run --rm --entrypoint "/usr/bin/kasm_server.so --upgrade-database --cfg /opt/kasm/current/conf/app/api.app.config.yaml" kasm_api 2>&1 | grep -v UserWarning
${KASM_INSTALL_BASE}/bin/utils/yq_$(uname -m) -i '.services.kasm_api += {"read_only": true}' ${KASM_INSTALL_BASE}/docker/.conf/docker-compose-all-upgrade.yaml
set -e
docker compose -f ${KASM_INSTALL_BASE}/docker/.conf/docker-compose-all-upgrade.yaml stop
docker compose -f ${KASM_INSTALL_BASE}/docker/.conf/docker-compose-all-upgrade.yaml rm -f kasm_api
docker compose -f ${KASM_INSTALL_BASE}/docker/.conf/docker-compose-all-upgrade.yaml rm -f db
rm ${KASM_INSTALL_BASE}/docker/.conf/docker-compose-all-upgrade.yaml
else
sed "s/kasm_api:/kasm_api:\n healthcheck:\n disable: true/g" ${KASM_INSTALL_BASE}/docker/.conf/docker-compose-api.yaml > ${KASM_INSTALL_BASE}/docker/.conf/docker-compose-api-upgrade.yaml
set +e
${KASM_INSTALL_BASE}/bin/utils/yq_$(uname -m) -i '.services.kasm_api += {"read_only": false}' ${KASM_INSTALL_BASE}/docker/.conf/docker-compose-api-upgrade.yaml
docker compose -f ${KASM_INSTALL_BASE}/docker/.conf/docker-compose-api-upgrade.yaml run --rm --entrypoint "/usr/bin/kasm_server.so --upgrade-database --cfg /opt/kasm/current/conf/app/api.app.config.yaml" kasm_api 2>&1 | grep -v UserWarning
${KASM_INSTALL_BASE}/bin/utils/yq_$(uname -m) -i '.services.kasm_api += {"read_only": true}' ${KASM_INSTALL_BASE}/docker/.conf/docker-compose-api-upgrade.yaml
set -e
docker compose -f ${KASM_INSTALL_BASE}/docker/.conf/docker-compose-api-upgrade.yaml stop
docker compose -f ${KASM_INSTALL_BASE}/docker/.conf/docker-compose-api-upgrade.yaml rm -f kasm_api
rm ${KASM_INSTALL_BASE}/docker/.conf/docker-compose-api-upgrade.yaml
fi
echo "Database Upgrade Complete"
popd > /dev/null

View file

@ -0,0 +1,78 @@
agent:
default_host_key: 1234
heartbeat_interval: 30000
images_interval: 3600
nginx_container_dir: /etc/nginx/conf.d/containers.d/
port: 4444
provider: hardware
public_hostname: proxy
public_port: 443
server_id: A0EEBC99-9C0B-4EF8-BB6D-6BB9BD380A11
starting_nginx_port: 5971
docker_port_listen_addr: 'localhost'
type: host
validate_images: true
auto_generate_kasm_docker_networks: false
remove_failed_containers: true
log_heartbeat_data: false
docker_script_timeout: 180
persist_config_updates: true
persist_config_interval: 100000
log_container_stats: false
forward_logs_to_manager: true
max_concurrent_docker_pulls: 2
manager:
client_cert: /srv/provision_agent/client_cert.pem
heartbeat_path: /manager_api/api/v1/heartbeat
images_path: /manager_api/api/v1/images
hostnames: ['proxy']
public_port: 443
scheme: https
server_cert: /srv/provision_agent/server_cert.pem
token: default-manager-token
logging:
agent:
formatters:
pythonjsonlogger:
(): pythonjsonlogger.jsonlogger.JsonFormatter
fmt: '%(asctime) %(name) %(processName) %(filename) %(funcName) %(levelname) %(lineno) %(module) %(threadName) %(message)'
timestamp: true
standard:
format: '%(asctime)s [%(levelname)s] %(name)s: %(message)s'
handlers:
file_handler:
backupCount: 5
class: logging.handlers.RotatingFileHandler
encoding: utf8
filename: /opt/kasm/current/log/agent.log
formatter: standard
level: DEBUG
maxBytes: 10485760
file_handler_json:
backupCount: 5
class: logging.handlers.RotatingFileHandler
encoding: utf8
filename: /opt/kasm/current/log/agent_json.log
formatter: pythonjsonlogger
level: DEBUG
maxBytes: 10485760
stream:
class: logging.StreamHandler
formatter: standard
level: DEBUG
syslog:
class: logging.handlers.SysLogHandler
formatter: pythonjsonlogger
level: DEBUG
loggers:
? ''
: handlers:
- stream
- syslog
- file_handler
- file_handler_json
level: DEBUG
propagate: true
tornado:
level: INFO
version: 1

View file

@ -0,0 +1,293 @@
database:
name: kasm
username: kasmapp
password: changeme
host: db
port: 5432
type: postgres
ssl: true
redis:
host: kasm_redis
port: 6379
redis_password: changeme
logging:
agent:
formatters:
pythonjsonlogger:
(): pythonjsonlogger.jsonlogger.JsonFormatter
fmt: '%(asctime) %(name) %(processName) %(filename) %(funcName) %(levelname) %(lineno) %(module) %(threadName) %(message)'
timestamp: true
standard:
format: '%(asctime)s [%(levelname)s] %(name)s: %(message)s'
handlers:
file_handler:
backupCount: 20
class: logging.handlers.RotatingFileHandler
encoding: utf8
filename: /opt/kasm/current/log/agent.log
formatter: standard
level: DEBUG
maxBytes: 10485760
file_handler_json:
backupCount: 20
class: logging.handlers.RotatingFileHandler
encoding: utf8
filename: /opt/kasm/current/log/agent_json.log
formatter: pythonjsonlogger
level: DEBUG
maxBytes: 10485760
stream:
class: logging.StreamHandler
formatter: standard
level: INFO
syslog:
class: logging.handlers.SysLogHandler
formatter: pythonjsonlogger
level: DEBUG
loggers:
? ''
: handlers:
- stream
- syslog
- file_handler
- file_handler_json
level: DEBUG
propagate: true
version: 1
kasm_share:
formatters:
pythonjsonlogger:
(): pythonjsonlogger.jsonlogger.JsonFormatter
fmt: '%(asctime) %(name) %(processName) %(filename) %(funcName) %(levelname) %(lineno) %(module) %(threadName) %(message)'
timestamp: true
standard:
format: '%(asctime)s [%(levelname)s] %(name)s: %(message)s'
handlers:
file_handler:
backupCount: 20
class: logging.handlers.RotatingFileHandler
encoding: utf8
filename: /opt/kasm/current/log/share.log
formatter: standard
level: DEBUG
maxBytes: 10485760
file_handler_json:
backupCount: 20
class: logging.handlers.RotatingFileHandler
encoding: utf8
filename: /opt/kasm/current/log/share_json.log
formatter: pythonjsonlogger
level: DEBUG
maxBytes: 10485760
stream:
class: logging.StreamHandler
formatter: standard
level: DEBUG
syslog:
class: logging.handlers.SysLogHandler
formatter: pythonjsonlogger
level: DEBUG
loggers:
? ''
: handlers:
- stream
- syslog
- file_handler
- file_handler_json
level: DEBUG
propagate: true
tornado.application:
level: DEBUG
tornado.access:
level: DEBUG
tornado.general:
level: DEBUG
version: 1
manager_api_server:
filters:
internal_log_filter:
(): log.handlers.InternalLogFilter
web_filter_log_filter:
(): log.handlers.ExternalLogFilter
application: 'kasm_squid_adapter'
formatters:
pythonjsonlogger:
(): pythonjsonlogger.jsonlogger.JsonFormatter
fmt: '%(asctime) %(name) %(processName) %(filename) %(funcName) %(levelname) %(lineno) %(module) %(threadName) %(message)'
timestamp: true
standard:
format: '%(asctime)s [%(levelname)s] %(name)s: %(message)s'
handlers:
file_handler:
backupCount: 20
class: logging.handlers.RotatingFileHandler
encoding: utf8
filename: /opt/kasm/current/log/manager_api_server.log
formatter: standard
level: DEBUG
maxBytes: 10485760
filters: [ internal_log_filter ]
file_handler_json:
backupCount: 20
class: logging.handlers.RotatingFileHandler
encoding: utf8
filename: /opt/kasm/current/log/manager_api_server_json.log
formatter: pythonjsonlogger
level: DEBUG
maxBytes: 10485760
filters: [ internal_log_filter ]
web_filter_file_handler:
backupCount: 20
class: logging.handlers.RotatingFileHandler
encoding: utf8
filename: /opt/kasm/current/log/web_filter_access_json.log
level: DEBUG
maxBytes: 10485760
filters: [ web_filter_log_filter ]
stream:
class: logging.StreamHandler
formatter: standard
level: INFO
filters: [ internal_log_filter ]
syslog:
class: logging.handlers.SysLogHandler
formatter: pythonjsonlogger
level: DEBUG
filters: [ internal_log_filter ]
loggers:
? ''
: handlers:
- stream
- syslog
- file_handler
- file_handler_json
- web_filter_file_handler
level: DEBUG
propagate: true
__main__.handler:
level: DEBUG
googleapiclient.discovery_cache:
level: ERROR
provider_manager:
level: DEBUG
provider:
level: DEBUG
tornado:
level: INFO
sqlalchemy.pool:
level: WARNING
sqlalchemy.engine:
level: WARNING
sqlalchemy.dialects:
level: WARNING
sqlalchemy.orm:
level: WARNING
botocore:
level: WARNING
azure:
level: WARNING
version: 1
api_server:
filters:
request_context_filter:
(): utils.RequestContextFilter
formatters:
pythonjsonlogger:
(): pythonjsonlogger.jsonlogger.JsonFormatter
fmt: '%(asctime) %(name) %(processName) %(filename) %(funcName) %(levelname) %(lineno) %(module) %(threadName) %(message)'
timestamp: true
standard:
format: '%(asctime)s [%(levelname)s] %(name)s: %(message)s'
handlers:
file_handler:
backupCount: 20
class: logging.handlers.RotatingFileHandler
encoding: utf8
filename: /opt/kasm/current/log/api_server.log
formatter: standard
level: DEBUG
maxBytes: 10485760
file_handler_json:
backupCount: 20
class: logging.handlers.RotatingFileHandler
encoding: utf8
filename: /opt/kasm/current/log/api_server_json.log
formatter: pythonjsonlogger
level: DEBUG
maxBytes: 10485760
filters: [request_context_filter]
subscription_file_handler:
backupCount: 20
class: logging.handlers.RotatingFileHandler
encoding: utf8
filename: /opt/kasm/current/log/subscription_api_server.log
formatter: standard
level: DEBUG
maxBytes: 10485760
admin_file_handler:
backupCount: 20
class: logging.handlers.RotatingFileHandler
encoding: utf8
filename: /opt/kasm/current/log/admin_api_server.log
formatter: standard
level: DEBUG
maxBytes: 10485760
client_file_handler:
backupCount: 20
class: logging.handlers.RotatingFileHandler
encoding: utf8
filename: /opt/kasm/current/log/client_api_server.log
formatter: standard
level: DEBUG
maxBytes: 10485760
stream:
class: logging.StreamHandler
formatter: standard
level: DEBUG
syslog:
class: logging.handlers.SysLogHandler
formatter: pythonjsonlogger
level: DEBUG
loggers:
? ''
: handlers:
- stream
- syslog
- file_handler
- file_handler_json
level: DEBUG
propagate: true
client_api_server:
handlers:
- client_file_handler
admin_api_server:
handlers:
- admin_file_handler
subscription_api_server:
handlers:
- subscription_file_handler
cherrypy.error:
level: INFO
cherrypy.access:
level: INFO
sqlalchemy.pool:
level: WARNING
sqlalchemy.engine:
level: WARNING
sqlalchemy.dialects:
level: WARNING
sqlalchemy.orm:
level: WARNING
requests_oauthlib:
level: INFO
version: 1
manager:
manager_id: null
update_timer: 86400
server:
server_id: null
server_hostname: null
zone_name: default
sanitize_errors: true
share:
share_id: null

View file

@ -0,0 +1,15 @@
kasmguac:
id: 157481f79f8445278ea26889c6442045
port: 3000
kasm_delete_session_watch_interval: 60
logging:
errorEventName: error
logDirectory: /opt/kasm/current/log/
fileNamePattern: kasmguac-<DATE>.log
dateFormat: YYYY.MM.DD
timestampFormat: YYYY-MM-DD HH:mm:ss.SSS
api:
hostnames: ['APIHOSTNAME']
port: 443
token: GUACTOKEN
allow_self_signed_cert: true

View file

@ -0,0 +1,2 @@
CREATE EXTENSION IF NOT EXISTS "uuid-ossp" WITH SCHEMA public;
COMMENT ON EXTENSION "uuid-ossp" IS 'generate universally unique identifiers (UUIDs)';

View file

@ -0,0 +1,99 @@
# PostgreSQL Client Authentication Configuration File
# ===================================================
#
# Refer to the "Client Authentication" section in the PostgreSQL
# documentation for a complete description of this file. A short
# synopsis follows.
#
# This file controls: which hosts are allowed to connect, how clients
# are authenticated, which PostgreSQL user names they can use, which
# databases they can access. Records take one of these forms:
#
# local DATABASE USER METHOD [OPTIONS]
# host DATABASE USER ADDRESS METHOD [OPTIONS]
# hostssl DATABASE USER ADDRESS METHOD [OPTIONS]
# hostnossl DATABASE USER ADDRESS METHOD [OPTIONS]
# hostgssenc DATABASE USER ADDRESS METHOD [OPTIONS]
# hostnogssenc DATABASE USER ADDRESS METHOD [OPTIONS]
#
# (The uppercase items must be replaced by actual values.)
#
# The first field is the connection type: "local" is a Unix-domain
# socket, "host" is either a plain or SSL-encrypted TCP/IP socket,
# "hostssl" is an SSL-encrypted TCP/IP socket, and "hostnossl" is a
# non-SSL TCP/IP socket. Similarly, "hostgssenc" uses a
# GSSAPI-encrypted TCP/IP socket, while "hostnogssenc" uses a
# non-GSSAPI socket.
#
# DATABASE can be "all", "sameuser", "samerole", "replication", a
# database name, or a comma-separated list thereof. The "all"
# keyword does not match "replication". Access to replication
# must be enabled in a separate record (see example below).
#
# USER can be "all", a user name, a group name prefixed with "+", or a
# comma-separated list thereof. In both the DATABASE and USER fields
# you can also write a file name prefixed with "@" to include names
# from a separate file.
#
# ADDRESS specifies the set of hosts the record matches. It can be a
# host name, or it is made up of an IP address and a CIDR mask that is
# an integer (between 0 and 32 (IPv4) or 128 (IPv6) inclusive) that
# specifies the number of significant bits in the mask. A host name
# that starts with a dot (.) matches a suffix of the actual host name.
# Alternatively, you can write an IP address and netmask in separate
# columns to specify the set of hosts. Instead of a CIDR-address, you
# can write "samehost" to match any of the server's own IP addresses,
# or "samenet" to match any address in any subnet that the server is
# directly connected to.
#
# METHOD can be "trust", "reject", "md5", "password", "scram-sha-256",
# "gss", "sspi", "ident", "peer", "pam", "ldap", "radius" or "cert".
# Note that "password" sends passwords in clear text; "md5" or
# "scram-sha-256" are preferred since they send encrypted passwords.
#
# OPTIONS are a set of options for the authentication in the format
# NAME=VALUE. The available options depend on the different
# authentication methods -- refer to the "Client Authentication"
# section in the documentation for a list of which options are
# available for which authentication methods.
#
# Database and user names containing spaces, commas, quotes and other
# special characters must be quoted. Quoting one of the keywords
# "all", "sameuser", "samerole" or "replication" makes the name lose
# its special character, and just match a database or username with
# that name.
#
# This file is read on server startup and when the server receives a
# SIGHUP signal. If you edit the file on a running system, you have to
# SIGHUP the server for the changes to take effect, run "pg_ctl reload",
# or execute "SELECT pg_reload_conf()".
#
# Put your actual configuration here
# ----------------------------------
#
# If you want to allow non-local connections, you need to add more
# "host" records. In that case you will also need to make PostgreSQL
# listen on a non-local interface via the listen_addresses
# configuration parameter, or via the -i or -h command line switches.
# CAUTION: Configuring the system for local "trust" authentication
# allows any local user to connect as any PostgreSQL user, including
# the database superuser. If you do not trust all your local users,
# use another authentication method.
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all trust
host replication all 127.0.0.1/32 trust
host replication all ::1/128 trust
hostssl all all all md5

View file

@ -0,0 +1,751 @@
# -----------------------------
# PostgreSQL configuration file
# -----------------------------
#
# This file consists of lines of the form:
#
# name = value
#
# (The "=" is optional.) Whitespace may be used. Comments are introduced with
# "#" anywhere on a line. The complete list of parameter names and allowed
# values can be found in the PostgreSQL documentation.
#
# The commented-out settings shown in this file represent the default values.
# Re-commenting a setting is NOT sufficient to revert it to the default value;
# you need to reload the server.
#
# This file is read on server startup and when the server receives a SIGHUP
# signal. If you edit the file on a running system, you have to SIGHUP the
# server for the changes to take effect, run "pg_ctl reload", or execute
# "SELECT pg_reload_conf()". Some parameters, which are marked below,
# require a server shutdown and restart to take effect.
#
# Any parameter can also be given as a command-line option to the server, e.g.,
# "postgres -c log_connections=on". Some parameters can be changed at run time
# with the "SET" SQL command.
#
# Memory units: B = bytes Time units: us = microseconds
# kB = kilobytes ms = milliseconds
# MB = megabytes s = seconds
# GB = gigabytes min = minutes
# TB = terabytes h = hours
# d = days
#------------------------------------------------------------------------------
# FILE LOCATIONS
#------------------------------------------------------------------------------
# The default values of these variables are driven from the -D command-line
# option or PGDATA environment variable, represented here as ConfigDir.
#data_directory = 'ConfigDir' # use data in another directory
# (change requires restart)
#hba_file = 'ConfigDir/pg_hba.conf' # host-based authentication file
# (change requires restart)
#ident_file = 'ConfigDir/pg_ident.conf' # ident configuration file
# (change requires restart)
# If external_pid_file is not explicitly set, no extra PID file is written.
#external_pid_file = '' # write an extra PID file
# (change requires restart)
#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------
# - Connection Settings -
listen_addresses = '*'
# comma-separated list of addresses;
# defaults to 'localhost'; use '*' for all
# (change requires restart)
#port = 5432 # (change requires restart)
max_connections = 100 # (change requires restart)
#superuser_reserved_connections = 3 # (change requires restart)
#unix_socket_directories = '/var/run/postgresql' # comma-separated list of directories
# (change requires restart)
#unix_socket_group = '' # (change requires restart)
#unix_socket_permissions = 0777 # begin with 0 to use octal notation
# (change requires restart)
#bonjour = off # advertise server via Bonjour
# (change requires restart)
#bonjour_name = '' # defaults to the computer name
# (change requires restart)
# - TCP settings -
# see "man 7 tcp" for details
tcp_keepalives_idle = 7200 # TCP_KEEPIDLE, in seconds;
# 0 selects the system default
tcp_keepalives_interval = 75 # TCP_KEEPINTVL, in seconds;
# 0 selects the system default
tcp_keepalives_count = 9 # TCP_KEEPCNT;
# 0 selects the system default
#tcp_user_timeout = 0 # TCP_USER_TIMEOUT, in milliseconds;
# 0 selects the system default
# - Authentication -
#authentication_timeout = 1min # 1s-600s
#password_encryption = md5 # md5 or scram-sha-256
#db_user_namespace = off
# GSSAPI using Kerberos
#krb_server_keyfile = 'FILE:${sysconfdir}/krb5.keytab'
#krb_caseins_users = off
# - SSL -
#ssl = off
#ssl_ca_file = ''
#ssl_cert_file = 'server.crt'
#ssl_crl_file = ''
#ssl_key_file = 'server.key'
ssl_ciphers = 'TLSv1.2+FIPS:kRSA+FIPS:!eNULL:!aNULL'
#ssl_prefer_server_ciphers = on
#ssl_ecdh_curve = 'prime256v1'
#ssl_min_protocol_version = 'TLSv1'
#ssl_max_protocol_version = ''
#ssl_dh_params_file = ''
#ssl_passphrase_command = ''
#ssl_passphrase_command_supports_reload = off
#------------------------------------------------------------------------------
# RESOURCE USAGE (except WAL)
#------------------------------------------------------------------------------
# - Memory -
shared_buffers = 128MB # min 128kB
# (change requires restart)
#huge_pages = try # on, off, or try
# (change requires restart)
#temp_buffers = 8MB # min 800kB
#max_prepared_transactions = 0 # zero disables the feature
# (change requires restart)
# Caution: it is not advisable to set max_prepared_transactions nonzero unless
# you actively intend to use prepared transactions.
#work_mem = 4MB # min 64kB
#maintenance_work_mem = 64MB # min 1MB
#autovacuum_work_mem = -1 # min 1MB, or -1 to use maintenance_work_mem
#max_stack_depth = 2MB # min 100kB
#shared_memory_type = mmap # the default is the first option
# supported by the operating system:
# mmap
# sysv
# windows
# (change requires restart)
dynamic_shared_memory_type = posix # the default is the first option
# supported by the operating system:
# posix
# sysv
# windows
# mmap
# (change requires restart)
# - Disk -
#temp_file_limit = -1 # limits per-process temp file space
# in kB, or -1 for no limit
# - Kernel Resources -
#max_files_per_process = 1000 # min 25
# (change requires restart)
# - Cost-Based Vacuum Delay -
#vacuum_cost_delay = 0 # 0-100 milliseconds (0 disables)
#vacuum_cost_page_hit = 1 # 0-10000 credits
#vacuum_cost_page_miss = 10 # 0-10000 credits
#vacuum_cost_page_dirty = 20 # 0-10000 credits
#vacuum_cost_limit = 200 # 1-10000 credits
# - Background Writer -
#bgwriter_delay = 200ms # 10-10000ms between rounds
#bgwriter_lru_maxpages = 100 # max buffers written/round, 0 disables
#bgwriter_lru_multiplier = 2.0 # 0-10.0 multiplier on buffers scanned/round
#bgwriter_flush_after = 512kB # measured in pages, 0 disables
# - Asynchronous Behavior -
#effective_io_concurrency = 1 # 1-1000; 0 disables prefetching
#max_worker_processes = 8 # (change requires restart)
#max_parallel_maintenance_workers = 2 # taken from max_parallel_workers
#max_parallel_workers_per_gather = 2 # taken from max_parallel_workers
#parallel_leader_participation = on
#max_parallel_workers = 8 # maximum number of max_worker_processes that
# can be used in parallel operations
#old_snapshot_threshold = -1 # 1min-60d; -1 disables; 0 is immediate
# (change requires restart)
#backend_flush_after = 0 # measured in pages, 0 disables
#------------------------------------------------------------------------------
# WRITE-AHEAD LOG
#------------------------------------------------------------------------------
# - Settings -
#wal_level = replica # minimal, replica, or logical
# (change requires restart)
#fsync = on # flush data to disk for crash safety
# (turning this off can cause
# unrecoverable data corruption)
#synchronous_commit = on # synchronization level;
# off, local, remote_write, remote_apply, or on
#wal_sync_method = fsync # the default is the first option
# supported by the operating system:
# open_datasync
# fdatasync (default on Linux and FreeBSD)
# fsync
# fsync_writethrough
# open_sync
#full_page_writes = on # recover from partial page writes
#wal_compression = off # enable compression of full-page writes
#wal_log_hints = off # also do full page writes of non-critical updates
# (change requires restart)
#wal_init_zero = on # zero-fill new WAL files
#wal_recycle = on # recycle WAL files
#wal_buffers = -1 # min 32kB, -1 sets based on shared_buffers
# (change requires restart)
#wal_writer_delay = 200ms # 1-10000 milliseconds
#wal_writer_flush_after = 1MB # measured in pages, 0 disables
#commit_delay = 0 # range 0-100000, in microseconds
#commit_siblings = 5 # range 1-1000
# - Checkpoints -
#checkpoint_timeout = 5min # range 30s-1d
max_wal_size = 1GB
min_wal_size = 80MB
#checkpoint_completion_target = 0.5 # checkpoint target duration, 0.0 - 1.0
#checkpoint_flush_after = 256kB # measured in pages, 0 disables
#checkpoint_warning = 30s # 0 disables
# - Archiving -
#archive_mode = off # enables archiving; off, on, or always
# (change requires restart)
#archive_command = '' # command to use to archive a logfile segment
# placeholders: %p = path of file to archive
# %f = file name only
# e.g. 'test ! -f /mnt/server/archivedir/%f && cp %p /mnt/server/archivedir/%f'
#archive_timeout = 0 # force a logfile segment switch after this
# number of seconds; 0 disables
# - Archive Recovery -
# These are only used in recovery mode.
#restore_command = '' # command to use to restore an archived logfile segment
# placeholders: %p = path of file to restore
# %f = file name only
# e.g. 'cp /mnt/server/archivedir/%f %p'
# (change requires restart)
#archive_cleanup_command = '' # command to execute at every restartpoint
#recovery_end_command = '' # command to execute at completion of recovery
# - Recovery Target -
# Set these only when performing a targeted recovery.
#recovery_target = '' # 'immediate' to end recovery as soon as a
# consistent state is reached
# (change requires restart)
#recovery_target_name = '' # the named restore point to which recovery will proceed
# (change requires restart)
#recovery_target_time = '' # the time stamp up to which recovery will proceed
# (change requires restart)
#recovery_target_xid = '' # the transaction ID up to which recovery will proceed
# (change requires restart)
#recovery_target_lsn = '' # the WAL LSN up to which recovery will proceed
# (change requires restart)
#recovery_target_inclusive = on # Specifies whether to stop:
# just after the specified recovery target (on)
# just before the recovery target (off)
# (change requires restart)
#recovery_target_timeline = 'latest' # 'current', 'latest', or timeline ID
# (change requires restart)
#recovery_target_action = 'pause' # 'pause', 'promote', 'shutdown'
# (change requires restart)
#------------------------------------------------------------------------------
# REPLICATION
#------------------------------------------------------------------------------
# - Sending Servers -
# Set these on the master and on any standby that will send replication data.
#max_wal_senders = 10 # max number of walsender processes
# (change requires restart)
#wal_keep_segments = 0 # in logfile segments; 0 disables
#wal_sender_timeout = 60s # in milliseconds; 0 disables
#max_replication_slots = 10 # max number of replication slots
# (change requires restart)
#track_commit_timestamp = off # collect timestamp of transaction commit
# (change requires restart)
# - Master Server -
# These settings are ignored on a standby server.
#synchronous_standby_names = '' # standby servers that provide sync rep
# method to choose sync standbys, number of sync standbys,
# and comma-separated list of application_name
# from standby(s); '*' = all
#vacuum_defer_cleanup_age = 0 # number of xacts by which cleanup is delayed
# - Standby Servers -
# These settings are ignored on a master server.
#primary_conninfo = '' # connection string to sending server
# (change requires restart)
#primary_slot_name = '' # replication slot on sending server
# (change requires restart)
#promote_trigger_file = '' # file name whose presence ends recovery
#hot_standby = on # "off" disallows queries during recovery
# (change requires restart)
#max_standby_archive_delay = 30s # max delay before canceling queries
# when reading WAL from archive;
# -1 allows indefinite delay
#max_standby_streaming_delay = 30s # max delay before canceling queries
# when reading streaming WAL;
# -1 allows indefinite delay
#wal_receiver_status_interval = 10s # send replies at least this often
# 0 disables
#hot_standby_feedback = off # send info from standby to prevent
# query conflicts
#wal_receiver_timeout = 60s # time that receiver waits for
# communication from master
# in milliseconds; 0 disables
#wal_retrieve_retry_interval = 5s # time to wait before retrying to
# retrieve WAL after a failed attempt
#recovery_min_apply_delay = 0 # minimum delay for applying changes during recovery
# - Subscribers -
# These settings are ignored on a publisher.
#max_logical_replication_workers = 4 # taken from max_worker_processes
# (change requires restart)
#max_sync_workers_per_subscription = 2 # taken from max_logical_replication_workers
#------------------------------------------------------------------------------
# QUERY TUNING
#------------------------------------------------------------------------------
# - Planner Method Configuration -
#enable_bitmapscan = on
#enable_hashagg = on
#enable_hashjoin = on
#enable_indexscan = on
#enable_indexonlyscan = on
#enable_material = on
#enable_mergejoin = on
#enable_nestloop = on
#enable_parallel_append = on
#enable_seqscan = on
#enable_sort = on
#enable_tidscan = on
#enable_partitionwise_join = off
#enable_partitionwise_aggregate = off
#enable_parallel_hash = on
#enable_partition_pruning = on
# - Planner Cost Constants -
#seq_page_cost = 1.0 # measured on an arbitrary scale
#random_page_cost = 4.0 # same scale as above
#cpu_tuple_cost = 0.01 # same scale as above
#cpu_index_tuple_cost = 0.005 # same scale as above
#cpu_operator_cost = 0.0025 # same scale as above
#parallel_tuple_cost = 0.1 # same scale as above
#parallel_setup_cost = 1000.0 # same scale as above
#jit_above_cost = 100000 # perform JIT compilation if available
# and query more expensive than this;
# -1 disables
#jit_inline_above_cost = 500000 # inline small functions if query is
# more expensive than this; -1 disables
#jit_optimize_above_cost = 500000 # use expensive JIT optimizations if
# query is more expensive than this;
# -1 disables
#min_parallel_table_scan_size = 8MB
#min_parallel_index_scan_size = 512kB
#effective_cache_size = 4GB
# - Genetic Query Optimizer -
#geqo = on
#geqo_threshold = 12
#geqo_effort = 5 # range 1-10
#geqo_pool_size = 0 # selects default based on effort
#geqo_generations = 0 # selects default based on effort
#geqo_selection_bias = 2.0 # range 1.5-2.0
#geqo_seed = 0.0 # range 0.0-1.0
# - Other Planner Options -
#default_statistics_target = 100 # range 1-10000
#constraint_exclusion = partition # on, off, or partition
#cursor_tuple_fraction = 0.1 # range 0.0-1.0
#from_collapse_limit = 8
#join_collapse_limit = 8 # 1 disables collapsing of explicit
# JOIN clauses
#force_parallel_mode = off
#jit = on # allow JIT compilation
#plan_cache_mode = auto # auto, force_generic_plan or
# force_custom_plan
#------------------------------------------------------------------------------
# REPORTING AND LOGGING
#------------------------------------------------------------------------------
# - Where to Log -
log_destination = 'stderr,syslog' # Valid values are combinations of
# stderr, csvlog, syslog, and eventlog,
# depending on platform. csvlog
# requires logging_collector to be on.
# This is used when logging to stderr:
logging_collector = on # Enable capturing of stderr and csvlog
# into log files. Required to be on for
# csvlogs.
# (change requires restart)
# These are only used if logging_collector is on:
log_directory = '/var/log/postgres' # directory where log files are written,
# can be absolute or relative to PGDATA
log_filename = 'postgresql-%m-%d.log' # log file name pattern,
# can include strftime() escapes
log_file_mode = 0600 # creation mode for log files,
# begin with 0 to use octal notation
log_truncate_on_rotation = off # If on, an existing log file with the
# same name as the new log file will be
# truncated rather than appended to.
# But such truncation only occurs on
# time-driven rotation, not on restarts
# or size-driven rotation. Default is
# off, meaning append to existing files
# in all cases.
log_rotation_age = 1d # Automatic rotation of logfiles will
# happen after that time. 0 disables.
#log_rotation_size = 10MB # Automatic rotation of logfiles will
# happen after that much log output.
# 0 disables.
# These are relevant when logging to syslog:
syslog_facility = 'LOCAL0'
syslog_ident = 'postgres'
#syslog_sequence_numbers = on
#syslog_split_messages = on
# This is only relevant when logging to eventlog (win32):
# (change requires restart)
#event_source = 'PostgreSQL'
# - When to Log -
#log_min_messages = warning # values in order of decreasing detail:
# debug5
# debug4
# debug3
# debug2
# debug1
# info
# notice
# warning
# error
# log
# fatal
# panic
#log_min_error_statement = error # values in order of decreasing detail:
# debug5
# debug4
# debug3
# debug2
# debug1
# info
# notice
# warning
# error
# log
# fatal
# panic (effectively off)
#log_min_duration_statement = -1 # -1 is disabled, 0 logs all statements
# and their durations, > 0 logs only
# statements running at least this number
# of milliseconds
#log_transaction_sample_rate = 0.0 # Fraction of transactions whose statements
# are logged regardless of their duration. 1.0 logs all
# statements from all transactions, 0.0 never logs.
# - What to Log -
#debug_print_parse = off
#debug_print_rewritten = off
#debug_print_plan = off
#debug_pretty_print = on
#log_checkpoints = off
log_connections = off
log_disconnections = off
#log_duration = off
#log_error_verbosity = default # terse, default, or verbose messages
log_hostname = on
log_line_prefix = '< %m %a %u %d %r %p %i %e %s %c:>' # special values:
# %a = application name
# %u = user name
# %d = database name
# %r = remote host and port
# %h = remote host
# %p = process ID
# %t = timestamp without milliseconds
# %m = timestamp with milliseconds
# %n = timestamp with milliseconds (as a Unix epoch)
# %i = command tag
# %e = SQL state
# %c = session ID
# %l = session line number
# %s = session start timestamp
# %v = virtual transaction ID
# %x = transaction ID (0 if none)
# %q = stop here in non-session
# processes
# %% = '%'
# e.g. '<%u%%%d> '
#log_lock_waits = off # log lock waits >= deadlock_timeout
#log_statement = 'none' # none, ddl, mod, all
#log_replication_commands = off
#log_temp_files = -1 # log temporary files equal or larger
# than the specified size in kilobytes;
# -1 disables, 0 logs all temp files
log_timezone = 'UTC'
#------------------------------------------------------------------------------
# PROCESS TITLE
#------------------------------------------------------------------------------
#cluster_name = '' # added to process titles if nonempty
# (change requires restart)
#update_process_title = on
#------------------------------------------------------------------------------
# STATISTICS
#------------------------------------------------------------------------------
# - Query and Index Statistics Collector -
#track_activities = on
#track_counts = on
#track_io_timing = off
#track_functions = none # none, pl, all
#track_activity_query_size = 1024 # (change requires restart)
#stats_temp_directory = 'pg_stat_tmp'
# - Monitoring -
#log_parser_stats = off
#log_planner_stats = off
#log_executor_stats = off
#log_statement_stats = off
#------------------------------------------------------------------------------
# AUTOVACUUM
#------------------------------------------------------------------------------
#autovacuum = on # Enable autovacuum subprocess? 'on'
# requires track_counts to also be on.
#log_autovacuum_min_duration = -1 # -1 disables, 0 logs all actions and
# their durations, > 0 logs only
# actions running at least this number
# of milliseconds.
#autovacuum_max_workers = 3 # max number of autovacuum subprocesses
# (change requires restart)
#autovacuum_naptime = 1min # time between autovacuum runs
#autovacuum_vacuum_threshold = 50 # min number of row updates before
# vacuum
#autovacuum_analyze_threshold = 50 # min number of row updates before
# analyze
#autovacuum_vacuum_scale_factor = 0.2 # fraction of table size before vacuum
#autovacuum_analyze_scale_factor = 0.1 # fraction of table size before analyze
#autovacuum_freeze_max_age = 200000000 # maximum XID age before forced vacuum
# (change requires restart)
#autovacuum_multixact_freeze_max_age = 400000000 # maximum multixact age
# before forced vacuum
# (change requires restart)
#autovacuum_vacuum_cost_delay = 2ms # default vacuum cost delay for
# autovacuum, in milliseconds;
# -1 means use vacuum_cost_delay
#autovacuum_vacuum_cost_limit = -1 # default vacuum cost limit for
# autovacuum, -1 means use
# vacuum_cost_limit
#------------------------------------------------------------------------------
# CLIENT CONNECTION DEFAULTS
#------------------------------------------------------------------------------
# - Statement Behavior -
client_min_messages = error # values in order of decreasing detail:
# debug5
# debug4
# debug3
# debug2
# debug1
# log
# notice
# warning
# error
#search_path = '"$user", public' # schema names
#row_security = on
#default_tablespace = '' # a tablespace name, '' uses the default
#temp_tablespaces = '' # a list of tablespace names, '' uses
# only default tablespace
#default_table_access_method = 'heap'
#check_function_bodies = on
#default_transaction_isolation = 'read committed'
#default_transaction_read_only = off
#default_transaction_deferrable = off
#session_replication_role = 'origin'
statement_timeout = 0 # in milliseconds, 0 is disabled
#lock_timeout = 0 # in milliseconds, 0 is disabled
#idle_in_transaction_session_timeout = 0 # in milliseconds, 0 is disabled
#vacuum_freeze_min_age = 50000000
#vacuum_freeze_table_age = 150000000
#vacuum_multixact_freeze_min_age = 5000000
#vacuum_multixact_freeze_table_age = 150000000
#vacuum_cleanup_index_scale_factor = 0.1 # fraction of total number of tuples
# before index cleanup, 0 always performs
# index cleanup
#bytea_output = 'hex' # hex, escape
#xmlbinary = 'base64'
#xmloption = 'content'
#gin_fuzzy_search_limit = 0
#gin_pending_list_limit = 4MB
# - Locale and Formatting -
datestyle = 'iso, mdy'
#intervalstyle = 'postgres'
timezone = 'UTC'
#timezone_abbreviations = 'Default' # Select the set of available time zone
# abbreviations. Currently, there are
# Default
# Australia (historical usage)
# India
# You can create your own file in
# share/timezonesets/.
#extra_float_digits = 1 # min -15, max 3; any value >0 actually
# selects precise output mode
#client_encoding = sql_ascii # actually, defaults to database
# encoding
# These settings are initialized by initdb, but they can be changed.
lc_messages = 'en_US.utf8' # locale for system error message
# strings
lc_monetary = 'en_US.utf8' # locale for monetary formatting
lc_numeric = 'en_US.utf8' # locale for number formatting
lc_time = 'en_US.utf8' # locale for time formatting
# default configuration for text search
default_text_search_config = 'pg_catalog.english'
# - Shared Library Preloading -
#shared_preload_libraries = '' # (change requires restart)
#local_preload_libraries = ''
#session_preload_libraries = ''
#jit_provider = 'llvmjit' # JIT library to use
# - Other Defaults -
#dynamic_library_path = '$libdir'
#------------------------------------------------------------------------------
# LOCK MANAGEMENT
#------------------------------------------------------------------------------
#deadlock_timeout = 1s
#max_locks_per_transaction = 64 # min 10
# (change requires restart)
#max_pred_locks_per_transaction = 64 # min 10
# (change requires restart)
#max_pred_locks_per_relation = -2 # negative values mean
# (max_pred_locks_per_transaction
# / -max_pred_locks_per_relation) - 1
#max_pred_locks_per_page = 2 # min 0
#------------------------------------------------------------------------------
# VERSION AND PLATFORM COMPATIBILITY
#------------------------------------------------------------------------------
# - Previous PostgreSQL Versions -
#array_nulls = on
#backslash_quote = safe_encoding # on, off, or safe_encoding
#escape_string_warning = on
#lo_compat_privileges = off
#operator_precedence_warning = off
#quote_all_identifiers = off
#standard_conforming_strings = on
#synchronize_seqscans = on
# - Other Platforms and Clients -
#transform_null_equals = off
#------------------------------------------------------------------------------
# ERROR HANDLING
#------------------------------------------------------------------------------
#exit_on_error = off # terminate session on any error?
#restart_after_crash = on # reinitialize after backend crash?
#data_sync_retry = off # retry or panic on failure to fsync
# data?
# (change requires restart)
#------------------------------------------------------------------------------
# CONFIG FILE INCLUDES
#------------------------------------------------------------------------------
# These options allow settings to be loaded from files other than the
# default postgresql.conf. Note that these are directives, not variable
# assignments, so they can usefully be given more than once.
#include_dir = '...' # include files ending in '.conf' from
# a directory, e.g., 'conf.d'
#include_if_exists = '...' # include file only if it exists
#include = '...' # include file
#------------------------------------------------------------------------------
# CUSTOMIZED OPTIONS
#------------------------------------------------------------------------------
# Add settings for extensions here

View file

@ -0,0 +1,11 @@
servers:
00000000-0000-0000-0000-000000000000:
server_type: host
agent_version: 1
cores_override: 0
container_limit: 0
operational_status: starting
hostname: proxy
memory_override: 0
provider: hardware
enabled: true

View file

@ -0,0 +1,8 @@
connection_proxies:
kasm-guac:
connection_proxy_id: "157481f7-9f84-4527-8ea2-6889c6442045"
server_address: "APIHOSTNAME"
server_port: 443
connection_proxy_type: RDP
auth_token: GUACTOKEN
zone_name: default

View file

@ -0,0 +1,560 @@
images:
Ubuntu Focal:
cores: 2.0
description: 'Ubuntu is a Linux distribution based on Debian.'
docker_registry: https://index.docker.io/v1/
docker_registry_username: null
docker_registry_password: null
enabled: true
image_src: img/thumbnails/ubuntu.png
add_to_all_users_group: true
memory: 2768000000
name: kasmweb/ubuntu-focal-desktop:1.12.0
run_config: '{"hostname": "kasm"}'
x_res: 800
y_res: 600
categories: '["Desktop", "Productivity", "Development"]'
require_gpu: false
gpu_count: 0
persistent_profile_path: '/mnt/kasm_shared/profiles/ubuntu-focal/{username}'
session_time_limit: null
volume_mappings: '{
"/mnt/kasm_shared/data": {
"bind":"/share",
"mode":"rw",
"uid": 1000,
"gid": 1000,
"required": true,
"skip_check": false
}
}'
hash: null
hidden: false
cpu_allocation_method: Inherit
Ubuntu Jammy:
description: 'Ubuntu is a Linux distribution based on Debian.'
docker_registry: https://index.docker.io/v1/
enabled: false
image_src: img/thumbnails/ubuntu.png
name: kasmweb/ubuntu-jammy-desktop:1.12.0
run_config: '{"hostname": "kasm"}'
categories: '["Desktop", "Productivity", "Development"]'
persistent_profile_path: '/mnt/kasm_shared/profiles/ubuntu-jammy/{username}/'
hidden: false
notes: |
The Kasm Ubuntu Jammy Workspace requires libseccomp => 2.5.3 to run.
This can be checked by running runc --version
If you still want to run Ubuntu Jammy but do not have the minimum required libseccomp version, it can be run in an unsecure manner by adding: {"security_opt":["seccomp=unconfined"]} to the Docker Run Config Override (JSON) setting above.
NOTE: This will run the Workspace without the docker seccomp sandbox and will significantly reduce the amount of protection that Kasm Workspaces can provide.
CentOS 7:
description: 'CentOS is a Linux distribution that provides a free and open-source community-supported computing platform, functionally compatible with its upstream source, Red Hat Enterprise Linux.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/centos-7-desktop:1.12.0
run_config: '{"hostname": "kasm"}'
image_src: img/thumbnails/centos.png
add_to_all_users_group: true
categories: '["Desktop", "Productivity"]'
persistent_profile_path: '/mnt/kasm_shared/profiles/centos/{username}/'
hidden: false
Firefox:
description: 'Firefox was created by Mozilla as a faster, more private alternative to browsers like Internet Explorer, and now Chrome.'
docker_registry: https://index.docker.io/v1/
image_src: img/thumbnails/firefox.png
add_to_all_users_group: true
name: kasmweb/firefox:1.12.0
run_config: '{"hostname": "kasm"}'
exec_config: '{"go":{"cmd":"bash -c ''/dockerstartup/custom_startup.sh --go --url \"$KASM_URL\"''"},"assign":{"cmd":"bash -c ''/dockerstartup/custom_startup.sh --assign --url \"$KASM_URL\"''"}}'
categories: '["Browser"]'
hidden: false
persistent_profile_path: '/mnt/kasm_shared/profiles/firefox/{username}/'
Chrome:
description: 'Google Chrome is a cross-platform web browser developed by Google.'
docker_registry: https://index.docker.io/v1/
image_src: img/thumbnails/chrome.png
add_to_all_users_group: true
name: kasmweb/chrome:1.12.0
run_config: '{"hostname": "kasm"}'
exec_config: '{"go":{"cmd":"bash -c ''/dockerstartup/custom_startup.sh --go --url \"$KASM_URL\"''"},"assign":{"cmd":"bash -c ''/dockerstartup/custom_startup.sh --assign --url \"$KASM_URL\"''"}}'
categories: '["Browser"]'
hidden: false
persistent_profile_path: '/mnt/kasm_shared/profiles/chrome/{username}/'
Chromium:
description: 'Chromium is a free and open-source browser, primarily developed and maintained by Google.'
docker_registry: https://index.docker.io/v1/
image_src: img/thumbnails/chromium.png
add_to_all_users_group: true
name: kasmweb/chromium:1.12.0
run_config: '{"hostname": "kasm"}'
exec_config: '{"go":{"cmd":"bash -c ''/dockerstartup/custom_startup.sh --go --url \"$KASM_URL\"''"},"assign":{"cmd":"bash -c ''/dockerstartup/custom_startup.sh --assign --url \"$KASM_URL\"''"}}'
categories: '["Browser"]'
hidden: false
persistent_profile_path: '/mnt/kasm_shared/profiles/chromium/{username}/'
Tor-Browser:
description: 'Tor is free and open-source software for enabling anonymous communication by directing Internet traffic through a free, worldwide, volunteer overlay network.'
docker_registry: https://index.docker.io/v1/
image_src: img/thumbnails/tor-browser.png
add_to_all_users_group: true
name: kasmweb/tor-browser:1.12.0
run_config: '{"hostname": "kasm"}'
exec_config: '{"go":{"cmd":"bash -c ''/dockerstartup/custom_startup.sh --go --url \"$KASM_URL\"''"},"assign":{"cmd":"bash -c ''/dockerstartup/custom_startup.sh --assign --url \"$KASM_URL\"''"}}'
categories: '["Browser", "Privacy"]'
hidden: false
persistent_profile_path: '/mnt/kasm_shared/profiles/tor/{username}/'
Terminal:
description: 'Xfce Terminal is a lightweight and easy to use terminal emulator application with many advanced features including drop down, tabs, unlimited scrolling, full colors, fonts, transparent backgrounds, and more.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/terminal:1.12.0
run_config: '{"hostname": "kasm", "environment":{"TERMINAL_ARGS":"--fullscreen --hide-borders --hide-menubar --zoom=-1 --hide-scrollbar"}}'
image_src: img/thumbnails/terminal.png
add_to_all_users_group: true
persistent_profile_path: '/mnt/kasm_shared/profiles/terminal/{username}/'
hidden: false
Brave:
description: 'The Brave browser is a fast, private and secure web browser.'
docker_registry: https://index.docker.io/v1/
image_src: img/thumbnails/brave.png
add_to_all_users_group: true
name: kasmweb/brave:1.12.0
run_config: '{"hostname": "kasm"}'
exec_config: '{"go":{"cmd":"bash -c ''/dockerstartup/custom_startup.sh --go --url \"$KASM_URL\"''"},"assign":{"cmd":"bash -c ''/dockerstartup/custom_startup.sh --assign --url \"$KASM_URL\"''"}}'
categories: '["Browser"]'
persistent_profile_path: '/mnt/kasm_shared/profiles/brave/{username}/'
hidden: false
Edge:
description: 'Microsoft Edge is a cross-platform web browser developed by Microsoft.'
docker_registry: https://index.docker.io/v1/
image_src: img/thumbnails/edge.png
add_to_all_users_group: true
name: kasmweb/edge:1.12.0
run_config: '{"hostname": "kasm"}'
exec_config: '{"go":{"cmd":"bash -c ''/dockerstartup/custom_startup.sh --go --url \"$KASM_URL\"''"},"assign":{"cmd":"bash -c ''/dockerstartup/custom_startup.sh --assign --url \"$KASM_URL\"''"}}'
categories: '["Browser"]'
persistent_profile_path: '/mnt/kasm_shared/profiles/edge/{username}/'
hidden: false
notes: |
The Kasm Edge Workspace requires "seccomp=unconfined" to function properly.
This can be run in an unsecure manner by adding: {"security_opt":["seccomp=unconfined"]} to the Docker Run Config Override (JSON) setting above.
NOTE: This will run the Workspace without the docker seccomp sandbox and will significantly reduce the amount of protection that Kasm Workspaces can provide.
Insomnia:
description: 'Insomnia API Design Platform'
docker_registry: https://index.docker.io/v1/
name: kasmweb/insomnia:1.12.0
image_src: img/thumbnails/insomnia.png
add_to_all_users_group: true
categories: '["Development"]'
persistent_profile_path: '/mnt/kasm_shared/profiles/insomnia/{username}/'
hidden: false
Libre Office:
description: 'LibreOffice is a free and powerful office suite, and a successor to OpenOffice.org'
docker_registry: https://index.docker.io/v1/
name: kasmweb/libre-office:1.12.0
image_src: img/thumbnails/libre-office.png
add_to_all_users_group: true
categories: '["Productivity", "Office"]'
persistent_profile_path: '/mnt/kasm_shared/profiles/libre-office/{username}/'
hidden: false
Postman:
description: 'The Collaboration Platform for API Development.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/postman:1.12.0
image_src: img/thumbnails/postman.png
add_to_all_users_group: true
categories: '["Development"]'
enabled: false
hidden: false
persistent_profile_path: '/mnt/kasm_shared/profiles/postman/{username}/'
Signal:
description: 'Chat app supporting end-to-end encryption.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/signal:1.12.0
image_src: img/thumbnails/signal.png
add_to_all_users_group: true
categories: '["Communication", "Chat", "Privacy"]'
persistent_profile_path: '/mnt/kasm_shared/profiles/signal/{username}/'
hidden: false
Zoom:
description: 'Videotelephony and online chat services.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/zoom:1.12.0
image_src: img/thumbnails/zoom.png
add_to_all_users_group: true
categories: '["Communication"]'
persistent_profile_path: '/mnt/kasm_shared/profiles/zoom/{username}/'
hidden: false
Only Office:
description: 'ONLYOFFICE offers a secure online office suite highly compatible with MS Office formats.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/only-office:1.12.0
image_src: img/thumbnails/only-office.png
add_to_all_users_group: true
categories: '["Productivity", "Office"]'
persistent_profile_path: '/mnt/kasm_shared/profiles/only-office/{username}/'
hidden: false
Teams:
description: 'Chat, Meet, Call, and Collaborate.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/teams:1.12.0
image_src: img/thumbnails/teams.png
add_to_all_users_group: true
categories: '["Communication"]'
persistent_profile_path: '/mnt/kasm_shared/profiles/teams/{username}/'
hidden: false
Visual Studio Code:
description: 'Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/vs-code:1.12.0
image_src: img/thumbnails/vs-code.png
add_to_all_users_group: true
categories: '["Development"]'
persistent_profile_path: '/mnt/kasm_shared/profiles/vscode/{username}/'
hidden: false
Gimp:
description: 'GIMP is a cross-platform image editor.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/gimp:1.12.0
image_src: img/thumbnails/gimp.png
add_to_all_users_group: true
categories: '["Multimedia"]'
persistent_profile_path: '/mnt/kasm_shared/profiles/gimp/{username}/'
hidden: false
Sublime Text:
description: 'Sublime Text is a sophisticated text editor for code, markup and prose.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/sublime-text:1.12.0
image_src: img/thumbnails/sublime-text.png
add_to_all_users_group: true
categories: '["Development"]'
persistent_profile_path: '/mnt/kasm_shared/profiles/sublime/{username}/'
hidden: false
Discord:
description: 'Discord is the easiest way to talk over voice, video, and text. Talk, chat, hang out, and stay close with your friends and communities.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/discord:1.12.0
image_src: img/thumbnails/discord.png
add_to_all_users_group: true
categories: '["Communication", "Games"]'
persistent_profile_path: '/mnt/kasm_shared/profiles/discord/{username}/'
hidden: false
Remmina:
description: 'Remmina is a remote desktop client for POSIX-based computer operating systems. It supports the Remote Desktop Protocol, VNC, NX, XDMCP, SPICE and SSH.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/remmina:1.12.0
image_src: img/thumbnails/remmina.png
add_to_all_users_group: true
categories: '["Productivity", "Remote Access"]'
persistent_profile_path: '/mnt/kasm_shared/profiles/remnina/{username}/'
hidden: false
VLC:
description: 'VLC media player is a free and open-source, portable, cross-platform media player software, and streaming media server.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/vlc:1.12.0
image_src: img/thumbnails/vlc.png
add_to_all_users_group: true
categories: '["Multimedia"]'
persistent_profile_path: '/mnt/kasm_shared/profiles/vlc/{username}/'
hidden: false
Kali Linux:
description: 'Kali Linux is a Debian-derived Linux distribution designed for digital forensics and penetration testing.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/core-kali-rolling:1.12.0
image_src: img/thumbnails/kali.png
add_to_all_users_group: true
categories: '["Desktop", "Security", "Development"]'
persistent_profile_path: '/mnt/kasm_shared/profiles/kali/{username}/'
enabled: false
hidden: false
notes: |
The Kasm Kali Linux Workspace requires libseccomp => 2.5.3 to run.
This can be checked by running runc --version
If you still want to run Kali Linux but do not have the minimum required libseccomp version, it can be run in an unsecure manner by adding: {"security_opt":["seccomp=unconfined"]} to the Docker Run Config Override (JSON) setting above.
NOTE: This will run the Workspace without the docker seccomp sandbox and will significantly reduce the amount of protection that Kasm Workspaces can provide.
REMnux:
description: 'REMnux is a Linux toolkit for reverse-engineering and analyzing malicious software.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/core-remnux-focal:1.12.0
image_src: img/thumbnails/remnux.png
add_to_all_users_group: true
categories: '["Desktop", "Security", "Development"]'
persistent_profile_path: '/mnt/kasm_shared/profiles/remnux/{username}/'
enabled: false
hidden: false
CUDA Development Toolkit:
description: 'The CUDA Toolkit includes GPU-accelerated libraries, a compiler, development tools and the CUDA runtime.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/core-cuda-focal:1.12.0
image_src: img/thumbnails/nvidia.png
add_to_all_users_group: true
categories: '["Desktop", "Development"]'
persistent_profile_path: '/mnt/kasm_shared/profiles/cuda/{username}/'
enabled: false
hidden: false
Steam:
description: 'Steam is the ultimate destination for playing, discussing, and creating games.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/steam:1.12.0
image_src: img/thumbnails/steam.png
add_to_all_users_group: true
persistent_profile_path: '/mnt/kasm_shared/profiles/steam/{username}/'
categories: '["Games"]'
enabled: false
hidden: false
notes: |
The Kasm Steam Workspace is highly experimental. If the application fails to launch or the steam store fails to render try adding {"security_opt":["seccomp=unconfined"]} to the Docker Run Config Override (JSON) setting above.
NOTE: This will run the Workspace without the docker seccomp sandbox and will significantly reduce the amount of protection that Kasm Workspaces can provide.
NOTE: 3D acceleration is provided by VirtualGL, if a game fails to run look into specific launch options that might be needed to leverage VirtualGL.
Doom:
description: 'Doom is a 1993 first-person shooter developed by id Software.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/doom:1.12.0
image_src: img/thumbnails/doom.png
add_to_all_users_group: true
categories: '["Games"]'
persistent_profile_path: '/mnt/kasm_shared/profiles/doom/{username}/'
enabled: false
hidden: false
Telegram:
description: 'Telegram is a messaging app with a focus on speed and security.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/telegram:1.12.0
image_src: img/thumbnails/telegram.png
add_to_all_users_group: true
categories: '["Communication"]'
persistent_profile_path: '/mnt/kasm_shared/profiles/telegram/{username}/'
hidden: false
OpenSUSE Leap 15:
description: 'OpenSUSE Leap is a new type of hybrid Linux distribution based on SUSE Linux Enterprise.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/opensuse-15-desktop:1.12.0
image_src: img/thumbnails/opensuse.png
add_to_all_users_group: true
categories: '["Desktop", "Productivity", "Development"]'
persistent_profile_path: '/mnt/kasm_shared/profiles/open-suse/{username}/'
enabled: false
hidden: false
Oracle Linux 7:
description: 'Oracle Linux is a highly performant and secure operating system that provides a 100% application binary compatible alternative to RHEL and CentOS.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/oracle-7-desktop:1.12.0
image_src: img/thumbnails/oracle-linux.png
add_to_all_users_group: true
categories: '["Desktop", "Productivity", "Development"]'
enabled: false
hidden: false
Oracle Linux 8:
description: 'Oracle Linux is a highly performant and secure operating system that provides a 100% application binary compatible alternative to RHEL and CentOS.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/oracle-8-desktop:1.12.0
image_src: img/thumbnails/oracle-linux.png
add_to_all_users_group: true
categories: '["Desktop", "Productivity", "Development"]'
persistent_profile_path: '/mnt/kasm_shared/profiles/ol8/{username}/'
enabled: false
hidden: false
Thunderbird:
description: 'A free and open-source cross-platform email client, personal information manager, news client, RSS and chat client.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/thunderbird:1.12.0
image_src: img/thumbnails/thunderbird.png
add_to_all_users_group: true
categories: '["Productivity", "Communication"]'
persistent_profile_path: '/mnt/kasm_shared/profiles/thunderbird/{username}/'
enabled: true
hidden: false
FileZilla:
description: 'A free and open-source, cross-platform FTP/FTPS application.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/filezilla:1.12.0
image_src: img/thumbnails/filezilla.png
add_to_all_users_group: true
categories: '["Productivity"]'
persistent_profile_path: '/mnt/kasm_shared/profiles/filezilla/{username}/'
enabled: true
hidden: false
Atom:
description: 'A hackable text editor for the 21st Century.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/atom:1.12.0
image_src: img/thumbnails/atom.png
add_to_all_users_group: true
categories: '["Development"]'
persistent_profile_path: '/mnt/kasm_shared/profiles/hackabletext/{username}/'
enabled: false
hidden: false
Audacity:
description: 'An easy-to-use, multi-track audio editor and recorder.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/audacity:1.12.0
image_src: img/thumbnails/audacity.png
add_to_all_users_group: true
categories: '["Multimedia"]'
enabled: false
hidden: false
persistent_profile_path: '/mnt/kasm_shared/profiles/audacity/{username}/'
Deluge:
description: 'A lightweight, Free Software, cross-platform BitTorrent client.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/deluge:1.12.0
image_src: img/thumbnails/deluge.png
add_to_all_users_group: true
categories: '["Productivity"]'
enabled: false
persistent_profile_path: '/mnt/kasm_shared/profiles/deluge/{username}/'
hidden: false
Inkscape:
description: 'A free and open-source vector graphics editor used to create vector images, primarily in Scalable Vector Graphics (SVG) format.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/inkscape:1.12.0
image_src: img/thumbnails/inkscape.png
add_to_all_users_group: true
categories: '["Multimedia"]'
enabled: false
persistent_profile_path: '/mnt/kasm_shared/profiles/InkScape/{username}/'
hidden: false
Pinta:
description: 'An open-source, cross-platform bitmap image drawing and editing program inspired by Paint.NET.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/pinta:1.12.0
image_src: img/thumbnails/pinta.png
add_to_all_users_group: true
categories: '["Multimedia"]'
persistent_profile_path: '/mnt/kasm_shared/profiles/pinta/{username}/'
enabled: false
hidden: false
qBittorrent:
description: 'qBittorrent aims to provide an open-source software alternative to µTorrent.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/qbittorrent:1.12.0
image_src: img/thumbnails/qbittorrent.png
add_to_all_users_group: true
categories: '["Productivity"]'
persistent_profile_path: '/mnt/kasm_shared/profiles/qbittorrent/{username}/'
enabled: false
hidden: false
Blender:
description: 'Blender is the Free and Open Source 3D creation suite. It supports the entirety of the 3D pipeline modeling, sculpting, rigging, 3D and 2D animation, simulation, rendering, compositing, motion tracking and video editing.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/blender:1.12.0
image_src: img/thumbnails/blender.png
add_to_all_users_group: true
categories: '["Multimedia", "Development"]'
persistent_profile_path: '/mnt/kasm_shared/profiles/blender/{username}/'
enabled: false
hidden: false
Unity Hub:
description: 'Unity Hub manages multiple installations of Unity Editor, the worlds most popular development platform for creating 2D and 3D multiplatform games and interactive experiences.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/unityhub:1.12.0
image_src: img/thumbnails/unityhub.png
add_to_all_users_group: true
categories: '["Multimedia", "Development"]'
persistent_profile_path: '/mnt/kasm_shared/profiles/unity-hub/{username}/'
enabled: false
hidden: false
Vivaldi:
description: 'Vivaldi is a freeware, cross-platform web browser developed by Vivaldi Technologies.'
docker_registry: https://index.docker.io/v1/
image_src: img/thumbnails/vivaldi.svg
add_to_all_users_group: true
name: kasmweb/vivaldi:1.12.0
run_config: '{"hostname": "kasm"}'
exec_config: '{"go":{"cmd":"bash -c ''/dockerstartup/custom_startup.sh --go --url \"$KASM_URL\"''"},"assign":{"cmd":"bash -c ''/dockerstartup/custom_startup.sh --assign --url \"$KASM_URL\"''"}}'
categories: '["Browser"]'
persistent_profile_path: '/mnt/kasm_shared/profiles/vivaldi/{username}/'
enabled: true
hidden: false
Docker Ubuntu Jammy:
description: 'Docker in Docker Desktop image Ubuntu Jammy based.'
docker_registry: https://index.docker.io/v1/
enabled: false
image_src: img/thumbnails/ubuntu.png
name: kasmweb/ubuntu-jammy-dind:1.12.0
run_config: '{"hostname": "kasm","privileged": true}'
categories: '["Desktop", "Productivity", "Development"]'
persistent_profile_path: '/mnt/kasm_shared/profiles/docker-ubuntu-jammy/{username}/'
hidden: false
notes: |
The Kasm Docker Ubuntu Jammy Workspace requires libseccomp => 2.5.3 to run.
This can be checked by running runc --version
If you still want to run Docker Ubuntu Jammy but do not have the minimum required libseccomp version, it can be run in an unsecure manner by adding: {"security_opt":["seccomp=unconfined"]} to the Docker Run Config Override (JSON) setting above.
NOTE: This will run the Workspace without the docker seccomp sandbox and will significantly reduce the amount of protection that Kasm Workspaces can provide.
Docker Rootless Ubuntu Jammy:
description: 'Rootless Docker in Docker Desktop image Ubuntu Jammy based.'
docker_registry: https://index.docker.io/v1/
enabled: false
image_src: img/thumbnails/ubuntu.png
name: kasmweb/ubuntu-jammy-dind-rootless:1.12.0
run_config: '{"hostname": "kasm","privileged": true}'
categories: '["Desktop", "Productivity", "Development"]'
persistent_profile_path: '/mnt/kasm_shared/profiles/docker-rootless-ubuntu-jammy/{username}/'
hidden: false
notes: |
The Kasm Docker Rootless Ubuntu Jammy Workspace requires libseccomp => 2.5.3 to run.
This can be checked by running runc --version
If you still want to run Docker Rootless Ubuntu Jammy but do not have the minimum required libseccomp version, it can be run in an unsecure manner by adding: {"security_opt":["seccomp=unconfined"]} to the Docker Run Config Override (JSON) setting above.
NOTE: This will run the Workspace without the docker seccomp sandbox and will significantly reduce the amount of protection that Kasm Workspaces can provide.
Docker Ubuntu Focal:
description: 'Docker in Docker Desktop image Ubuntu Focal based.'
docker_registry: https://index.docker.io/v1/
enabled: false
image_src: img/thumbnails/ubuntu.png
name: kasmweb/ubuntu-focal-dind:1.12.0
run_config: '{"hostname": "kasm","privileged": true}'
categories: '["Desktop", "Productivity", "Development"]'
persistent_profile_path: '/mnt/kasm_shared/profiles/docker-ubuntu-focal/{username}/'
hidden: false
Docker Rootless Ubuntu Focal:
description: 'Rootless Docker in Docker Desktop image Ubuntu Focal based.'
docker_registry: https://index.docker.io/v1/
enabled: false
image_src: img/thumbnails/ubuntu.png
name: kasmweb/ubuntu-focal-dind-rootless:1.12.0
run_config: '{"hostname": "kasm","privileged": true}'
categories: '["Desktop", "Productivity", "Development"]'
persistent_profile_path: '/mnt/kasm_shared/profiles/docker-rootless-ubuntu-focal/{username}/'
hidden: false
RetroArch:
description: 'RetroArch is a frontend for emulators, game engines and media players.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/retroarch:1.12.0
image_src: img/thumbnails/retroarch.svg
add_to_all_users_group: true
categories: '["Games"]'
persistent_profile_path: '/mnt/kasm_shared/profiles/RetroArch/{username}/'
enabled: false
hidden: false
Minetest:
description: 'An open source voxel game engine.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/minetest:1.12.0
image_src: img/thumbnails/minetest.svg
add_to_all_users_group: true
categories: '["Games"]'
persistent_profile_path: '/mnt/kasm_shared/profiles/MineTest/{username}/'
enabled: false
hidden: false
SuperTuxKart:
description: 'SuperTuxKart is a 3D open-source arcade racer with a variety characters, tracks, and modes to play.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/super-tux-kart:1.12.0
image_src: img/thumbnails/super-tux-kart.png
add_to_all_users_group: true
categories: '["Games"]'
persistent_profile_path: '/mnt/kasm_shared/profiles/SuperTuxKart/{username}/'
enabled: false
hidden: false

View file

@ -0,0 +1,254 @@
images:
Ubuntu Focal:
cores: 2.0
description: 'Ubuntu is a Linux distribution based on Debian.'
docker_registry: https://index.docker.io/v1/
docker_registry_username: null
docker_registry_password: null
enabled: true
image_src: img/thumbnails/ubuntu.png
add_to_all_users_group: true
memory: 2768000000
name: kasmweb/ubuntu-focal-desktop:1.12.0
run_config: '{"hostname": "kasm"}'
x_res: 800
y_res: 600
categories: '["Desktop", "Productivity", "Development"]'
require_gpu: false
gpu_count: 0
persistent_profile_path: null
session_time_limit: null
volume_mappings: '{}'
hash: null
hidden: false
cpu_allocation_method: Inherit
Ubuntu Jammy:
description: 'Ubuntu is a Linux distribution based on Debian.'
docker_registry: https://index.docker.io/v1/
enabled: false
image_src: img/thumbnails/ubuntu.png
name: kasmweb/ubuntu-jammy-desktop:1.12.0
run_config: '{"hostname": "kasm"}'
categories: '["Desktop", "Productivity", "Development"]'
hidden: false
notes: |
The Kasm Ubuntu Jammy Workspace requires libseccomp => 2.5.3 to run.
This can be checked by running runc --version
If you still want to run Ubuntu Jammy but do not have the minimum required libseccomp version, it can be run in an unsecure manner by adding: {"security_opt":["seccomp=unconfined"]} to the Docker Run Config Override (JSON) setting above.
NOTE: This will run the Workspace without the docker seccomp sandbox and will significantly reduce the amount of protection that Kasm Workspaces can provide.
Firefox:
description: 'Firefox was created by Mozilla as a faster, more private alternative to browsers like Internet Explorer, and now Chrome.'
docker_registry: https://index.docker.io/v1/
image_src: img/thumbnails/firefox.png
add_to_all_users_group: true
name: kasmweb/firefox:1.12.0
run_config: '{"hostname": "kasm"}'
exec_config: '{"go":{"cmd":"bash -c ''/dockerstartup/custom_startup.sh --go --url \"$KASM_URL\"''"},"assign":{"cmd":"bash -c ''/dockerstartup/custom_startup.sh --assign --url \"$KASM_URL\"''"}}'
categories: '["Browser"]'
hidden: false
Doom:
description: 'Doom is a 1993 first-person shooter developed by id Software.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/doom:1.12.0
image_src: img/thumbnails/doom.png
add_to_all_users_group: true
categories: '["Games"]'
enabled: false
hidden: false
Chromium:
description: 'Chromium is a free and open-source browser, primarily developed and maintained by Google.'
docker_registry: https://index.docker.io/v1/
image_src: img/thumbnails/chromium.png
add_to_all_users_group: true
name: kasmweb/chromium:1.12.0
run_config: '{"hostname": "kasm"}'
exec_config: '{"go":{"cmd":"bash -c ''/dockerstartup/custom_startup.sh --go --url \"$KASM_URL\"''"},"assign":{"cmd":"bash -c ''/dockerstartup/custom_startup.sh --assign --url \"$KASM_URL\"''"}}'
categories: '["Browser"]'
hidden: false
Libre Office:
description: 'LibreOffice is a free and powerful office suite, and a successor to OpenOffice.org'
docker_registry: https://index.docker.io/v1/
name: kasmweb/libre-office:1.12.0
image_src: img/thumbnails/libre-office.png
add_to_all_users_group: true
categories: '["Productivity", "Office"]'
hidden: false
OpenSUSE Leap 15:
description: 'OpenSUSE Leap is a new type of hybrid Linux distribution based on SUSE Linux Enterprise.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/opensuse-15-desktop:1.12.0
image_src: img/thumbnails/opensuse.png
add_to_all_users_group: true
categories: '["Desktop", "Productivity", "Development"]'
enabled: false
hidden: false
Sublime Text:
description: 'Sublime Text is a sophisticated text editor for code, markup and prose.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/sublime-text:1.12.0
image_src: img/thumbnails/sublime-text.png
add_to_all_users_group: true
categories: '["Development"]'
hidden: false
Telegram:
description: 'Telegram is a messaging app with a focus on speed and security.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/telegram:1.12.0
image_src: img/thumbnails/telegram.png
add_to_all_users_group: true
categories: '["Communication"]'
hidden: false
Terminal:
description: 'Xfce Terminal is a lightweight and easy to use terminal emulator application with many advanced features including drop down, tabs, unlimited scrolling, full colors, fonts, transparent backgrounds, and more.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/terminal:1.12.0
run_config: '{"hostname": "kasm", "environment":{"TERMINAL_ARGS":"--fullscreen --hide-borders --hide-menubar --zoom=-1 --hide-scrollbar"}}'
image_src: img/thumbnails/terminal.png
add_to_all_users_group: true
hidden: false
Tor-Browser:
description: 'Tor is free and open-source software for enabling anonymous communication by directing Internet traffic through a free, worldwide, volunteer overlay network.'
docker_registry: https://index.docker.io/v1/
image_src: img/thumbnails/tor-browser.png
add_to_all_users_group: true
name: kasmweb/tor-browser:1.12.0
run_config: '{"hostname": "kasm"}'
exec_config: '{"go":{"cmd":"bash -c ''/dockerstartup/custom_startup.sh --go --url \"$KASM_URL\"''"},"assign":{"cmd":"bash -c ''/dockerstartup/custom_startup.sh --assign --url \"$KASM_URL\"''"}}'
categories: '["Browser", "Privacy"]'
hidden: false
Visual Studio Code:
description: 'Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/vs-code:1.12.0
image_src: img/thumbnails/vs-code.png
add_to_all_users_group: true
categories: '["Development"]'
hidden: false
Gimp:
description: 'GIMP is a cross-platform image editor.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/gimp:1.12.0
image_src: img/thumbnails/gimp.png
add_to_all_users_group: true
categories: '["Multimedia"]'
hidden: false
Remmina:
description: 'Remmina is a remote desktop client for POSIX-based computer operating systems. It supports the Remote Desktop Protocol, VNC, NX, XDMCP, SPICE and SSH.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/remmina:1.12.0
image_src: img/thumbnails/remmina.png
add_to_all_users_group: true
categories: '["Productivity", "Remote Access"]'
hidden: false
VLC:
description: 'VLC media player is a free and open-source, portable, cross-platform media player software, and streaming media server.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/vlc:1.12.0
image_src: img/thumbnails/vlc.png
add_to_all_users_group: true
categories: '["Multimedia"]'
hidden: false
Thunderbird:
description: 'A free and open-source cross-platform email client, personal information manager, news client, RSS and chat client.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/thunderbird:1.12.0
image_src: img/thumbnails/thunderbird.png
add_to_all_users_group: true
categories: '["Productivity", "Communication"]'
enabled: true
hidden: false
FileZilla:
description: 'A free and open-source, cross-platform FTP/FTPS application.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/filezilla:1.12.0
image_src: img/thumbnails/filezilla.png
add_to_all_users_group: true
categories: '["Productivity"]'
enabled: true
hidden: false
Audacity:
description: 'An easy-to-use, multi-track audio editor and recorder.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/audacity:1.12.0
image_src: img/thumbnails/audacity.png
add_to_all_users_group: true
categories: '["Multimedia"]'
enabled: false
hidden: false
Deluge:
description: 'A lightweight, Free Software, cross-platform BitTorrent client.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/deluge:1.12.0
image_src: img/thumbnails/deluge.png
add_to_all_users_group: true
categories: '["Productivity"]'
enabled: false
hidden: false
Inkscape:
description: 'A free and open-source vector graphics editor used to create vector images, primarily in Scalable Vector Graphics (SVG) format.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/inkscape:1.12.0
image_src: img/thumbnails/inkscape.png
add_to_all_users_group: true
categories: '["Multimedia"]'
enabled: false
hidden: false
Pinta:
description: 'An open-source, cross-platform bitmap image drawing and editing program inspired by Paint.NET.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/pinta:1.12.0
image_src: img/thumbnails/pinta.png
add_to_all_users_group: true
categories: '["Multimedia"]'
enabled: false
hidden: false
qBittorrent:
description: 'qBittorrent aims to provide an open-source software alternative to µTorrent.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/qbittorrent:1.12.0
image_src: img/thumbnails/qbittorrent.png
add_to_all_users_group: true
categories: '["Productivity"]'
enabled: false
hidden: false
Vivaldi:
description: 'Vivaldi is a freeware, cross-platform web browser developed by Vivaldi Technologies.'
docker_registry: https://index.docker.io/v1/
image_src: img/thumbnails/vivaldi.svg
add_to_all_users_group: true
name: kasmweb/vivaldi:1.12.0
run_config: '{"hostname": "kasm"}'
exec_config: '{"go":{"cmd":"bash -c ''/dockerstartup/custom_startup.sh --go --url \"$KASM_URL\"''"},"assign":{"cmd":"bash -c ''/dockerstartup/custom_startup.sh --assign --url \"$KASM_URL\"''"}}'
categories: '["Browser"]'
enabled: true
hidden: false
RetroArch:
description: 'RetroArch is a frontend for emulators, game engines and media players.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/retroarch:1.12.0
image_src: img/thumbnails/retroarch.svg
add_to_all_users_group: true
categories: '["Games"]'
enabled: false
hidden: false
Minetest:
description: 'An open source voxel game engine.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/minetest:1.12.0
image_src: img/thumbnails/minetest.svg
add_to_all_users_group: true
categories: '["Games"]'
enabled: false
hidden: false
SuperTuxKart:
description: 'SuperTuxKart is a 3D open-source arcade racer with a variety characters, tracks, and modes to play.'
docker_registry: https://index.docker.io/v1/
name: kasmweb/super-tux-kart:1.12.0
image_src: img/thumbnails/super-tux-kart.png
add_to_all_users_group: true
categories: '["Games"]'
enabled: false
hidden: false

View file

@ -0,0 +1,571 @@
global_settings:
logging:
log_protocol:
title: Log Protocol
value: internal
value_type: string
restart: manager,api
description: The logging protocol used, allowed values are internal, https, splunk, and elasticsearch
log_port:
title: Log Port
value: 443
value_type: int
restart: manager,api
description: The port to use for logging communication.
log_host:
title: Log Host
value: None
value_type: string
restart: manager,api
description: The hostname or IP address of the remote logging server, not applicable for internal logging.
hec_token:
title: Splunk HEC Token
value: None
value_type: password
restart: manager,api
description: The Splunk HEC token used for authentication of logs to a Splunk server.
sanitize: true
https_insecure:
title: Disable Log Certificate Validation
value: true
value_type: bool
restart: manager,api
description: Set to true if the remote logging server does not have a valid signed cert by a public certificate authority.
http_method:
title: HTTP Method
value: post
value_type: string
restart: manager,api
description: HTTP method to use, valid values are post and put. Splunk uses POST while ElasticSearch API uses PUT
url_endpoint:
title: URL Endpoint
value: /services/collector/event
value_type: string
restart: manager,api
description: The Splunk endpoint, most likely /service/collector/event. For ElasticSearch it would be index/_doc/.
log_retention:
title: Log Retention
value: 7
value_type: int
description: "Number of days to retain local Kasm logs. WARNING - See Kasm documentation before adjusting."
debug_retention:
title: Debug Log Retention
value: 4
value_type: int
description: "Number of hours to retain local Kasm debug logs. WARNING - See Kasm documentation before adjusting."
minimize_local_logging:
title: Minimize Local logging
value: false
value_type: bool
restart: manager
description: "When using a remote logging solution like Splunk, minimize local database logging for better scalability."
auth:
anonymous_user_expiration:
title: Anonymous User Expiration (hours)
value: 0
value_type: float
description: If configured, anonymous user accounts will be automatically deleted after this amount of time specified in hours.
notice_message:
value:
value_type: multiline_string
title: Notice Message
description: Login notice banner message.
notice_title:
value: Notice
value_type: string
title: Notice Title
description: Login notice title.
login_assistance:
value:
title: Login Assistance
value_type: String
description: Enables a Login Assitance link on the login page to the entered URL. Not shown if value is empty.
enable_kasm_auth:
title: Enable Kasm Authorization
value: true
value_type: bool
description: Require client requests to the Kasm for content such as downloads and uploads to be authenticated with the user's current session token.
kasm_auth_domain:
title: Kasm Authorization Domain
value: $request_host$
value_type: string
description: Override the domain used in the Kasm session cookie.
max_login_attempts:
title: Max Login Attempts
name: max_login_attempts
value: 5
value_type: int
description: The number of invalid login attempts before an account is locked out. This setting only applies to local accounts.
same_site:
title: Same Site Cookie Policy
value: Lax
value_type: string
description: Configures the SameSite attribute for the Set-Cookie HTTP response headers. Valid options are Lax, Strict and None.
restart: api
session_lifetime:
title: Session Lifetime
value: 288000
value_type: int
description: The number of seconds a session token is valid for.
api_private_key:
title: API Private Key
value: <gen_rsa_private_key>
value_type: multiline_string
description: Private Key used to sign request between Kasm components.
sanitize: true
api_public_cert:
title: API Public Cert
value: <rsa_public_key>
value_type: multiline_string
description: Public key used by Kasm components to validate internal API calls.
registration_token:
title: Component Registration Token
value: default-registration-token
value_type: password
description: Token used to self-register new components to the deployment.
cast:
google_recaptcha_api_url:
title: Google reCAPTCHA API URL
value: https://www.google.com/recaptcha/api/siteverify
value_type: string
description: Google reCAPTCHA API URL.
google_recaptcha_priv_key:
title: Google reCAPTCHA Private Key
value: changeme
value_type: password
description: Google reCAPTCHA Private Key.
sanitize: true
google_recaptcha_site_key:
title: Google reCAPTCHA Site Key
value: changeme
value_type: string
description: Google reCAPTCHA Site Key.
manager:
update_check:
title: Update Check
value: true
value_type: bool
description: This Setting will stop the manager from checking for Kasm system updates.
agent_version:
title: Agent Version
value: 1
value_type: string
description: This setting is used to restrict which versions of the Kasm Agent are allowed to communicate with the Manager.
primary_manager_timeout:
title: Primary Manager Timeout
restart: manager
value: 600
value_type: int
description: The number of seconds until the primary manager is considered unavailable. If other managers are alive one will take over the primary role.
same_zone_reply:
title: Same Zone Reply
restart: manager
value: true
value_type: bool
description: If set to true, a manager will only reply to agent heartbeats with a list of managers in the same zone as itself. Otherwise a list of all managers is given. This allows Agents to failover to managers in other zones.
token:
title: Token
restart: manager
value: default-manager-token
value_type: password
description: An authentication token used the communication between Kasm Agents and the Manager API server.
manager_expiration:
title: Manager Expiration
restart: manager
value: 0
value_type: int
description: The number of seconds until the manager is considered permantly unavaiable, at which time the manager record will be removed from the database. A value of 0 disables the expiration check.
scale:
guardian_interval:
title: Guardian Interval
value: 15
value_type: int
description: The number of seconds between the Manager API inspection of existing Agent, and Kasm availability.
guardian_provision_threads:
title: Guardian Provision Threads
value: 10
value_type: int
description: The number of threads the Manager API server uses for teardown and provision tasks.
host_dead_expiration:
title: Host Dead Expiration
value: 240
value_type: int
description: The number of seconds since an Agent's last check-in before marking it as dead. Dead servers are automatically destroyed if they were dynamically provisioned.
host_missing_expiration:
title: Host Missing Expiration
value: 120
value_type: int
description: The number of seconds since an Agent's last check-in before marking it as dead.
keepalive_expiration:
title: Keep Alive Expiration
value: 3600
value_type: int
description: Clients regularly send keepalive requests when logged into a Kasm. This value is the number of seconds a Kasm will remain active after the last keepalive is received.
provision_timeout:
title: Provision Timeout
value: 300
value_type: int
description: The maximum amount of time to wait for auto-scaled VMs to check-in and become available. After this time is exceeded, the VM is automatically destroyed.
auto_agent:
title: Automatically Enable Agents
value: false
value_type: bool
description: Automatically enable an agent when it calls in.
forward_inter_zone_agent_requests:
title: Forward Inter-Zone Agent Requests
value: false
value_type: bool
description: When contacting Agents in a different zone, forward requests through the alternate Zone's proxy address.
images:
add_images_to_default_group:
title: Add Images to Default Group
value: true
value_type: bool
description: Automatically add images to default group when new images are added.
default_cpu_allocation_method:
title: Default CPU Allocation Method
value: Shares
value_type: string
description: Sets the default cpu allocation strategy for container images. Valid options are Quotas or Shares.
theme:
launcher_background_url:
title: Launcher Background URL
value: img/backgrounds/background1.jpg
value_type: string
description: Url used to specify the background image for the launcher.
web_filter:
web_filter_update_url:
title: Web Filter Update URL
value: https://filter.kasmweb.com
value_type: string
description: Url used to updated the Web Filter Categorization database
restart: api
licensing:
license_server_url:
title: License Server URL
value: https://license.kasmweb.com
value_type: string
description: The URL to the Kasm Licensing Server.
connections:
default_vm_connection_settings:
title: Default VM Connection Settings
value: |
{
"guac": {
"type": "rdp",
"settings": {
"security": "any",
"ignore-cert": true,
"enable-font-smoothing": true,
"enable-wallpaper": true,
"enable-theming": true,
"enable-full-window-drag": false,
"enable-menu-animations": false,
"resize-method": "display-update",
"server-layout": "en-us-qwerty"
}
},
"kasm_svc": {
"port": 4902
}
}
value_type: json
description: Default connection settings for VM sessions.
restart: api
group_settings:
administrator:
description: Allows users to see and edit all attributes of the Kasm application.
value: 'False'
value_type: bool
allow_kasm_audio:
description: Allow audio streaming for a Kasm.
value: 'False'
value_type: bool
allow_kasm_microphone:
description: Allow microphone passthrough to a Kasm.
value: 'False'
value_type: bool
allow_kasm_gamepad:
description: Allow gamepad passthrough to a Kasm.
value: 'False'
value_type: bool
allow_kasm_clipboard_down:
description: Allows users to paste text from the Kasm to their local computer.
value: 'False'
value_type: bool
allow_kasm_clipboard_seamless:
description: Allows users to copy and paste text without using Kasm control panel.
value: 'False'
value_type: bool
allow_kasm_clipboard_up:
description: Allow users to paste from their local computer to the Kasm.
value: 'False'
value_type: bool
allow_kasm_downloads:
description: Allow users to download files from a Kasm.
value: 'False'
value_type: bool
allow_kasm_uploads:
description: Allow users to upload files to a Kasm.
value: 'False'
value_type: bool
allow_persistent_profile:
description: Allow the use of persistent profiles if configured on the Kasm Image.
value: 'True'
value_type: bool
allow_kasm_sharing:
description: Allow the user to share access to Kasms with other users.
value: 'False'
value_type: bool
allow_zone_selection:
description: Allow the user to specify the deployment Zone for applicable Images.
value: 'False'
value_type: bool
display_ui_errors:
description: Display detailed errors to the user if the UI experiences an unexpected error.
value: 'False'
value_type: bool
enable_ui_server_logging:
description: When enabled, the UI will send log messages to the server.
value: 'True'
value_type: bool
expose_user_environment_vars:
description: Expose KASM_USER and KASM_USER_ID environment variables inside the Kasm.
value: 'False'
value_type: bool
dashboard_redirect:
description: If configured, the user will be redirected to this URL instead of the main dashboard.
value: ''
value_type: string
idle_disconnect:
description: Disconnect the Kasm connection if idle for this long. Time specified in minutes.
value: '20'
value_type: float
inject_ssh_keys:
description: Automatically inject SSH public and private keys into Kasm sessions.
value: "False"
value_type: bool
kasm_audio_default_on:
description: Default to audio enabled on Kasm start
value: 'False'
value_type: bool
keepalive_expiration:
description: The number of seconds a Kasm will stay alive unless a keeplive request is sent from the client.
value: '3600'
value_type: int
max_kasms_per_user:
description: The maximum number of simultaneous Kasms a users is allowed to provision.
value: '5'
value_type: int
enable_webp:
description: Enable webp image compression for compatible browsers. This will increase server side processing requirements but cut bandwidth by 30 percent.
value: 'False'
value_type: bool
run_config:
description: Specify arbitrary docker run params.
value: '{}'
value_type: json
default_image:
description: Sets the Default image for the /go route. Will automatically provision this kasm image.
value: ''
value_type: image
enable_totp_two_factor:
description: "Enables two factor authentication for group. Users will be prompted to set Key on next log on."
value: 'False'
value_type: bool
session_time_limit:
description: "If enabled, sessions are limited to the defined value in seconds."
value: 0
value_type: int
shared_session_full_control:
description: When enabled, all users that join a shared session will have the ability to control the session.
value: 'False'
value_type: bool
show_disabled_images:
description: When enabled, Images that have been disabled by the administator will be visible to the user.
value: 'False'
value_type: bool
require_subscription:
description: When enabled, a user must be subscribed to a plan to utilize the system.
value: 'False'
value_type: bool
disabled_image_message:
description: This message is displayed to the user when an images is currently disabled.
value: ''
value_type: string
kasm_ime_mode_default_on:
description: Enable IME mode by default.
value: 'False'
value_type: bool
volume_mapping:
description: "\n \tMap a local server directory to kasm. The format is\
\ in json. \n \tExample: {\"/data/departments/sales\": {\"bind\": \"\
/headless/documents/sales\", \"mode\": \"rw\"} \n \tThis example mounts\
\ a directory on the local server, /data/department/sales to the container \n\
\ \tat the location /shares/sales with read and write permissions. \n\
\ \tIn order for the user in the Kasm to have write permissions on the\
\ mount the permissions \n \ton the server must allow read, write, execute\
\ for ALL users. This is because the \n \tuser running inside the Kasm\
\ is not a valid user on the server.\n \t"
value: "{\"/mnt/kasm_shared/data\":{\"bind\":\"/share\",\"mode\":\"rw\",\"uid\":1000,\"gid\":1000,\"required\":true,\"skip_check\":false},\"/mnt/kasm_shared/profiles\":{\"bind\":\"/profiles\",\"mode\":\"rw\",\"uid\":1000,\"gid\":1000,\"required\":true,\"skip_check\":false}}"
value_type: json
auto_login_to_kasm:
description: Sends users directly to kasm using default image after login
value: 'False'
value_type: bool
chat_history_messages:
description: The number of chat history messages to show when a new user connects to a shared Kasm. Set this value to 0 to disable showing chat history.
value: 0
value_type: int
lock_sharing_video_mode:
description: Locks video quality to static resolution of 720p when sharing is enabled. Recomended for best performance.
value: 'True'
value_type: bool
keepalive_interval:
description: When connected to a session, the client will send a keepalive request to the server at this interval (defined in seconds) to extend the expiration of the session.
value: 300
value_type: int
usage_limit:
description: "Enable usage limits for the group. \
\n Specify a Type, Interval and number of Hours to set limit.\
\n Type is either per_user or per_group. \
\n Interval is one of Daily, Weekly, Monthly, or Total.\
\n Hours is a positive number of hours for the limit cap."
value: '{}'
value_type: usage_limit
web_filter_policy:
description: Sets the Web Filter Policy to be applied.
value: ''
value_type: filter_policy
metadata:
description: Arbitrary metadata for the group.
value: '{}'
value_type: json
password_expires:
description: The number of days a password is valid for, after which the user will be required to change their password. A value of 0 disables password expiration.
value: 0
value_type: int
control_panel.show_delete_session:
value: 'True'
value_type: bool
description: Display delete Kasm session option on the Kasm session control panel
control_panel.show_return_to_workspaces:
value: 'True'
value_type: bool
description: Display return to workspaces option on the Kasm session control panel
control_panel.show_logout:
value: 'True'
value_type: bool
description: Display logout option on Kasm session control panel
control_panel.show_streaming_quality:
value: 'True'
value_type: bool
description: Display logout option on Kasm session control panel
control_panel.advanced_settings.show_prefer_local_cursor:
value: 'True'
value_type: bool
description: Display prefer local cursor option on Kasm session control panel
control_panel.advanced_settings.show_keyboard_controls:
value: 'True'
value_type: bool
description: Display show keyboard controls on Kasm session control panel
control_panel.advanced_settings.show_ime_input_mode:
value: 'True'
value_type: bool
description: Display IME input mode on Kasm session control panel
control_panel.advanced_settings.show_game_mode:
value: 'True'
value_type: bool
description: Display game mode on Kasm session control panel
control_panel.advanced_settings.show_pointer_lock:
value: 'True'
value_type: bool
description: Display pointer lock on Kasm session control panel
groups:
All Users:
description: "Default Users Group: All users are members of this group"
is_system: true
priority: 1000
group_id: 68d557ac-4cac-42cc-a9f3-1c7c853de0f3
settings:
allow_kasm_audio:
value: 'True'
allow_kasm_microphone:
value: 'True'
allow_kasm_gamepad:
value: 'False'
allow_kasm_clipboard_down:
value: 'True'
allow_kasm_clipboard_seamless:
value: 'True'
allow_kasm_clipboard_up:
value: 'True'
allow_kasm_downloads:
value: 'True'
allow_kasm_uploads:
value: 'True'
allow_persistent_profile:
value: 'True'
allow_kasm_sharing:
value: 'True'
idle_disconnect:
value: '20'
kasm_audio_default_on:
value: 'True'
keepalive_expiration:
value: '3600'
max_kasms_per_user:
value: '5'
control_panel.show_delete_session:
value: 'True'
control_panel.show_return_to_workspaces:
value: 'True'
control_panel.show_logout:
value: 'True'
control_panel.show_streaming_quality:
value: 'True'
control_panel.advanced_settings.show_prefer_local_cursor:
value: 'True'
control_panel.advanced_settings.show_keyboard_controls:
value: 'True'
control_panel.advanced_settings.show_ime_input_mode:
value: 'True'
control_panel.advanced_settings.show_game_mode:
value: 'True'
control_panel.advanced_settings.show_pointer_lock:
value: 'True'
Administrators:
description: Default Administrators Group
is_system: true
priority: 1
settings:
administrator:
value: 'True'
show_disabled_images:
value: 'True'
disabled_image_message:
value: 'This image is currently disabled.'
users:
admin@kasm.local:
groups:
Administrators: {}
password: admin
disabled: false
user@kasm.local:
password: user
disabled: false
zones:
default:
load_strategy: least_load
prioritize_static_agents: true
search_alternate_zones: true
allow_origin_domain: '$request_host$'
upstream_auth_address: '$request_host$'
proxy_connections: True
proxy_hostname: '$request_host$'
proxy_path: desktop
proxy_port: 0

View file

@ -0,0 +1,6 @@
gzip on;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 9;
gzip_types text/plain text/css application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript image/x-icon image/vnd.microsoft.icon image/bmp image/svg+xml;

View file

@ -0,0 +1,40 @@
log_format json_combined escape=json
'{'
'"upstream_response_length": "$upstream_response_length",'
'"body_bytes_sent": "$body_bytes_sent",'
'"server_addr": "$server_addr",'
'"server_port": "$server_port",'
'"request_method": "$request_method",'
'"http_referer": "$http_referer",'
'"http_user_agent": "$http_user_agent",'
'"http_x_forwarded_for": "$http_x_forwarded_for",'
'"http_x_header": "$http_x_header",'
'"nginx_version": "$nginx_version",'
'"server_protocol": "$server_protocol",'
'"request":"$request",'
'"request_length": "$request_length",'
'"request_time": "$request_time",'
'"upstream_response_time": "$upstream_response_time",'
'"request_host":"$host",'
'"server_name": "$server_name",'
'"remote_addr": "$remote_addr",'
'"realip_remote_addr": "$realip_remote_addr",'
'"http_status": "$status",'
'"time_local":"$time_local",'
'"time_iso8601":"$time_iso8601",'
'"msec":"$msec",'
'"upstream_addr": "$upstream_addr",'
'"upstream_connect_time": "$upstream_connect_time",'
'"upstream_response_time": "$upstream_response_time",'
'"upstream_status": "$upstream_status",'
'"uri": "$uri",'
'"query_string": "$query_string",'
'"remote_user": "$remote_user",'
'"cookie_username": "$cookie_username",'
'"upstream_header_time": "$upstream_header_time"'
'}';
access_log /var/log/external/nginx/access_json.log json_combined ;
error_log /var/log/external/nginx/error.log warn;

View file

@ -0,0 +1,21 @@
server {
listen 443 ssl;
server_name ubuntu-base;
ssl_certificate /etc/ssl/certs/kasm_nginx.crt;
ssl_certificate_key /etc/ssl/private/kasm_nginx.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers off;
ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384";
ssl_stapling on;
ssl_stapling_verify on;
add_header Strict-Transport-Security "max-age=63072000" always;
include /etc/nginx/conf.d/services.d/*.conf;
include /etc/nginx/conf.d/containers.d/*.conf;
client_max_body_size 1G;
server_tokens off;
}

View file

@ -0,0 +1,11 @@
location /api/admin/ {
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://kasm_api;
}

View file

@ -0,0 +1,11 @@
location /agent/ {
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://kasm_agent/;
}

View file

@ -0,0 +1,10 @@
location /api/ {
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://kasm_api;
}

View file

@ -0,0 +1,119 @@
location /guac_connect/vnc/ {
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://kasm_guac:3000/;
proxy_read_timeout 1800s;
proxy_send_timeout 1800s;
proxy_connect_timeout 1800s;
proxy_buffering off;
client_max_body_size 1G;
expires 4h;
add_header Cache-Control "private";
}
location /vm_connect {
internal;
proxy_pass http://kasm_guac:3000/vm_connect;
proxy_pass_request_body off;
proxy_set_header Content-Length '';
proxy_set_header X-Original-URI $request_uri;
}
location /guac_connect/uploads/ {
auth_request /vm_connect;
auth_request_set $connect_hostname $upstream_http_connect_hostname;
auth_request_set $connect_port $upstream_http_connect_port;
auth_request_set $connect_path $upstream_http_connect_path;
auth_request_set $connect_auth $upstream_http_connect_auth;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Authorization "Bearer ${connect_auth}";
rewrite ^/guac_connect/uploads/(.*) /$1 break;
proxy_pass https://$connect_hostname:$connect_port;
proxy_read_timeout 1800s;
proxy_send_timeout 1800s;
proxy_connect_timeout 1800s;
proxy_buffering off;
client_max_body_size 1G;
expires 4h;
add_header Cache-Control "private";
}
location /guac_connect/downloads/ {
auth_request /vm_connect;
auth_request_set $connect_hostname $upstream_http_connect_hostname;
auth_request_set $connect_port $upstream_http_connect_port;
auth_request_set $connect_path $upstream_http_connect_path;
auth_request_set $connect_auth $upstream_http_connect_auth;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Authorization "Bearer ${connect_auth}";
rewrite ^/guac_connect/downloads/(.*) /$1 break;
proxy_pass https://$connect_hostname:$connect_port;
proxy_read_timeout 1800s;
proxy_send_timeout 1800s;
proxy_connect_timeout 1800s;
proxy_buffering off;
client_max_body_size 1G;
expires 4h;
add_header Cache-Control "private";
}
location /guac_connect/api/ {
auth_request /vm_connect;
auth_request_set $connect_hostname $upstream_http_connect_hostname;
auth_request_set $connect_port $upstream_http_connect_port;
auth_request_set $connect_path $upstream_http_connect_path;
auth_request_set $connect_auth $upstream_http_connect_auth;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Authorization "Bearer ${connect_auth}";
rewrite ^/guac_connect/api/(.*) /$1 break;
proxy_pass https://$connect_hostname:$connect_port;
proxy_read_timeout 1800s;
proxy_send_timeout 1800s;
proxy_connect_timeout 1800s;
proxy_buffering off;
client_max_body_size 1G;
expires 4h;
add_header Cache-Control "private";
}
location /guac_login {
proxy_pass http://kasm_guac:3000/guac_login;
}
location /guac/__healthcheck {
proxy_pass http://kasm_guac:3000/__healthcheck;
}
location /guac/vm_disconnect {
proxy_pass http://kasm_guac:3000/vm_disconnect;
}

View file

@ -0,0 +1,11 @@
location /manager_api/ {
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://kasm_manager/;
}

View file

@ -0,0 +1,10 @@
location /api/share/ {
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://kasm_share;
}

View file

@ -0,0 +1,20 @@
location /api/subscriptions/ {
add_header 'Access-Control-Allow-Origin' 'https://www.kasmweb.com' always;
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'Authorization,Content-Type,Accept,Origin,User-Agent,DNT,Cache-Control,X-Mx-ReqToken,Keep-Alive,X-Requested-With,If-Modified-Since';
add_header 'Access-Control-Allow-Credentials' 'true';
if ($request_method = 'OPTIONS') {
return 204;
}
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://kasm_api;
}

View file

@ -0,0 +1,39 @@
location /kasm_connect {
internal;
proxy_pass http://kasm_api/api/kasm_connect/;
proxy_pass_request_body off;
proxy_set_header Content-Length '';
proxy_set_header X-Original-URI $request_uri;
proxy_set_header Cookie "username=$cookie_username; session_token=$cookie_session_token; kasm_client_key=$cookie_kasm_client_key";
}
location /desktop/ {
auth_request /kasm_connect;
auth_request_set $connect_hostname $upstream_http_connect_hostname;
auth_request_set $connect_port $upstream_http_connect_port;
auth_request_set $connect_path $upstream_http_connect_path;
auth_request_set $connect_auth $upstream_http_connect_auth;
auth_request_set $connect_kasm_id $upstream_http_connect_kasm_id;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Authorization "${connect_auth}";
proxy_set_header X-Kasm-ID "${connect_kasm_id}";
proxy_set_header Cookie "username=$cookie_username; session_token=$cookie_session_token; kasm_client_key=$cookie_kasm_client_key";
rewrite ^/desktop/(.*) /$1 break;
proxy_pass https://$connect_hostname:$connect_port/$connect_path;
proxy_read_timeout 1800s;
proxy_send_timeout 1800s;
proxy_connect_timeout 1800s;
proxy_buffering off;
client_max_body_size 1G;
expires 4h;
add_header Cache-Control "private";
}

View file

@ -0,0 +1,6 @@
location / {
expires 4h;
add_header Cache-Control "private";
add_header X-Robots-Tag "noindex, nofollow, nosnippet, noarchive";
root /srv/www;
}

View file

@ -0,0 +1,3 @@
upstream kasm_agent {
server kasm_agent:4444;
}

View file

@ -0,0 +1,3 @@
upstream kasm_api {
server kasm_api:8080;
}

View file

@ -0,0 +1,3 @@
upstream kasm_manager {
server kasm_manager:8181;
}

View file

@ -0,0 +1,3 @@
upstream kasm_share {
server kasm_share:8182;
}

View file

@ -0,0 +1,45 @@
version: '3'
services:
kasm_agent:
container_name: kasm_agent
user: root
image: "kasmweb/agent:1.12.0"
read_only: true
networks:
- kasm_default_network
volumes:
- /opt/kasm/1.12.0:/opt/kasm/current
- /var/run/docker.sock:/var/run/docker.sock
- /usr/bin/docker:/usr/bin/docker
- /opt/kasm/1.12.0/conf/nginx:/etc/nginx/conf.d
restart: always
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "20"
proxy:
container_name: kasm_proxy
image: "kasmweb/nginx:latest"
ports:
- "443:443"
networks:
- kasm_default_network
volumes:
- /opt/kasm/1.12.0/conf/nginx:/etc/nginx/conf.d:ro
- /opt/kasm/1.12.0/certs/kasm_nginx.key:/etc/ssl/private/kasm_nginx.key
- /opt/kasm/1.12.0/certs/kasm_nginx.crt:/etc/ssl/certs/kasm_nginx.crt
- /opt/kasm/1.12.0/www:/srv/www:ro
- /opt/kasm/1.12.0/log/nginx:/var/log/external/nginx/
- /opt/kasm/1.12.0/log/logrotate:/var/log/external/logrotate/
restart: always
depends_on:
- kasm_agent
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "20"
networks:
kasm_default_network:
external: true

View file

@ -0,0 +1,169 @@
version: '3'
services:
db:
container_name: kasm_db
image: postgres:12-alpine
restart: always
healthcheck:
test: "pg_isready --username=kasmapp && cat /proc/1/cmdline | grep -q '^postgres'"
timeout: 5s
retries: 20
networks:
- kasm_default_network
environment:
POSTGRES_PASSWORD: changeme
POSTGRES_USER: kasmapp
POSTGRES_DB: kasm
volumes:
- /opt/kasm/1.12.0/conf/database/data.sql:/docker-entrypoint-initdb.d/data.sql
- /opt/kasm/1.12.0/conf/database/pg_hba.conf:/var/lib/postgresql/conf/pg_hba.conf
- /opt/kasm/1.12.0/conf/database/postgresql.conf:/var/lib/postgresql/conf/postgresql.conf
- /opt/kasm/1.12.0/conf/database/:/tmp/
- /opt/kasm/1.12.0/certs/db_server.crt:/etc/ssl/certs/db_server.crt
- /opt/kasm/1.12.0/certs/db_server.key:/etc/ssl/certs/db_server.key
- /opt/kasm/1.12.0/log/postgres/:/var/log/postgres/
- kasm_db_1.12.0:/var/lib/postgresql/data
restart: always
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "20"
command: postgres -c ssl=on -c ssl_cert_file=/etc/ssl/certs/db_server.crt -c ssl_key_file=/etc/ssl/certs/db_server.key -c config_file=/var/lib/postgresql/conf/postgresql.conf -c hba_file=/var/lib/postgresql/conf/pg_hba.conf
kasm_redis:
container_name: kasm_redis
command: ["sh", "-c", "redis-server --requirepass $${REDIS_PASSWORD}"]
user: "${KASM_UID?}:${KASM_GID?}"
image: redis:5-alpine
restart: always
networks:
- kasm_default_network
environment:
REDIS_PASSWORD: changeme
restart: always
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "20"
kasm_api:
container_name: kasm_api
user: "${KASM_UID?}:${KASM_GID?}"
image: "kasmweb/api:1.12.0"
read_only: true
networks:
- kasm_default_network
volumes:
- /opt/kasm/1.12.0:/opt/kasm/current
- /opt/kasm/1.12.0/tmp/api:/tmp
depends_on:
- db
restart: always
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "20"
kasm_manager:
container_name: kasm_manager
user: "${KASM_UID?}:${KASM_GID?}"
image: "kasmweb/manager:1.12.0"
read_only: true
networks:
- kasm_default_network
volumes:
- /opt/kasm/1.12.0:/opt/kasm/current
depends_on:
- db
restart: always
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "20"
kasm_agent:
container_name: kasm_agent
user: root
image: "kasmweb/agent:1.12.0"
read_only: true
networks:
- kasm_default_network
volumes:
- /opt/kasm/1.12.0:/opt/kasm/current
- /var/run/docker.sock:/var/run/docker.sock
- /usr/bin/docker:/usr/bin/docker
- /opt/kasm/1.12.0/conf/nginx:/etc/nginx/conf.d
depends_on:
- kasm_manager
restart: always
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "20"
kasm_share:
container_name: kasm_share
user: root
image: "kasmweb/share:1.12.0"
read_only: true
networks:
- kasm_default_network
volumes:
- /opt/kasm/1.12.0:/opt/kasm/current
restart: always
depends_on:
- db
- kasm_redis
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "20"
kasm_guac:
container_name: kasm_guac
user: "${KASM_UID?}:${KASM_GID?}"
image: "kasmweb/kasm-guac:1.12.0"
read_only: true
networks:
- kasm_default_network
volumes:
- /opt/kasm/1.12.0:/opt/kasm/current
restart: always
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "20"
proxy:
container_name: kasm_proxy
image: "kasmweb/nginx:latest"
ports:
- "443:443"
networks:
- kasm_default_network
volumes:
- /opt/kasm/1.12.0/conf/nginx:/etc/nginx/conf.d:ro
- /opt/kasm/1.12.0/certs/kasm_nginx.key:/etc/ssl/private/kasm_nginx.key
- /opt/kasm/1.12.0/certs/kasm_nginx.crt:/etc/ssl/certs/kasm_nginx.crt
- /opt/kasm/1.12.0/www:/srv/www:ro
- /opt/kasm/1.12.0/log/nginx:/var/log/external/nginx/
- /opt/kasm/1.12.0/log/logrotate:/var/log/external/logrotate/
depends_on:
- kasm_manager
- kasm_api
- kasm_agent
- kasm_share
- kasm_guac
restart: always
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "20"
volumes:
kasm_db_1.12.0:
external: true
networks:
kasm_default_network:
external: true

View file

@ -0,0 +1,57 @@
version: '3'
services:
kasm_api:
container_name: kasm_api
user: "${KASM_UID?}:${KASM_GID?}"
image: "kasmweb/api:1.12.0"
read_only: true
networks:
- kasm_default_network
volumes:
- /opt/kasm/1.12.0:/opt/kasm/current
- /opt/kasm/1.12.0/tmp/api:/tmp
restart: always
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "20"
proxy:
container_name: kasm_proxy
image: "kasmweb/nginx:latest"
ports:
- "443:443"
networks:
- kasm_default_network
volumes:
- /opt/kasm/1.12.0/conf/nginx:/etc/nginx/conf.d:ro
- /opt/kasm/1.12.0/certs/kasm_nginx.key:/etc/ssl/private/kasm_nginx.key
- /opt/kasm/1.12.0/certs/kasm_nginx.crt:/etc/ssl/certs/kasm_nginx.crt
- /opt/kasm/1.12.0/www:/srv/www:ro
- /opt/kasm/1.12.0/log/nginx:/var/log/external/nginx/
- /opt/kasm/1.12.0/log/logrotate:/var/log/external/logrotate/
depends_on:
- kasm_api
restart: always
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "20"
kasm_share:
container_name: kasm_share
user: root
image: "kasmweb/share:1.12.0"
networks:
- kasm_default_network
volumes:
- /opt/kasm/1.12.0:/opt/kasm/current
restart: always
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "20"
networks:
kasm_default_network:
external: true

View file

@ -0,0 +1,73 @@
version: '3'
services:
kasm_api:
container_name: kasm_api
user: "${KASM_UID?}:${KASM_GID?}"
image: "kasmweb/api:1.12.0"
read_only: true
networks:
- kasm_default_network
volumes:
- /opt/kasm/1.12.0:/opt/kasm/current
- /opt/kasm/1.12.0/tmp/api:/tmp
restart: always
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "20"
kasm_manager:
container_name: kasm_manager
user: "${KASM_UID?}:${KASM_GID?}"
image: "kasmweb/manager:1.12.0"
networks:
- kasm_default_network
volumes:
- /opt/kasm/1.12.0:/opt/kasm/current
restart: always
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "20"
proxy:
container_name: kasm_proxy
image: "kasmweb/nginx:latest"
ports:
- "443:443"
networks:
- kasm_default_network
volumes:
- /opt/kasm/1.12.0/conf/nginx:/etc/nginx/conf.d:ro
- /opt/kasm/1.12.0/certs/kasm_nginx.key:/etc/ssl/private/kasm_nginx.key
- /opt/kasm/1.12.0/certs/kasm_nginx.crt:/etc/ssl/certs/kasm_nginx.crt
- /opt/kasm/1.12.0/www:/srv/www:ro
- /opt/kasm/1.12.0/log/nginx:/var/log/external/nginx/
- /opt/kasm/1.12.0/log/logrotate:/var/log/external/logrotate/
depends_on:
- kasm_manager
- kasm_api
restart: always
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "20"
kasm_share:
container_name: kasm_share
user: root
image: "kasmweb/share:1.12.0"
networks:
- kasm_default_network
volumes:
- /opt/kasm/1.12.0:/opt/kasm/current
restart: always
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "20"
networks:
kasm_default_network:
external: true

View file

@ -0,0 +1,59 @@
version: '3'
services:
db:
container_name: kasm_db
image: postgres:12-alpine
restart: always
ports:
- "5432:5432"
networks:
- kasm_default_network
environment:
POSTGRES_PASSWORD: changeme
POSTGRES_USER: kasmapp
POSTGRES_DB: kasm
volumes:
- /opt/kasm/1.12.0/conf/database/data.sql:/docker-entrypoint-initdb.d/data.sql
- /opt/kasm/1.12.0/conf/database/pg_hba.conf:/var/lib/postgresql/conf/pg_hba.conf
- /opt/kasm/1.12.0/conf/database/postgresql.conf:/var/lib/postgresql/conf/postgresql.conf
- /opt/kasm/1.12.0/conf/database/:/tmp/
- /opt/kasm/1.12.0/certs/db_server.crt:/etc/ssl/certs/db_server.crt
- /opt/kasm/1.12.0/certs/db_server.key:/etc/ssl/certs/db_server.key
- /opt/kasm/1.12.0/log/postgres/:/var/log/postgres/
- kasm_db_1.12.0:/var/lib/postgresql/data
restart: always
healthcheck:
test: "pg_isready --username=kasmapp && cat /proc/1/cmdline | grep -q '^postgres'"
timeout: 5s
retries: 20
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "20"
command: postgres -c ssl=on -c ssl_cert_file=/etc/ssl/certs/db_server.crt -c ssl_key_file=/etc/ssl/certs/db_server.key -c config_file=/var/lib/postgresql/conf/postgresql.conf -c hba_file=/var/lib/postgresql/conf/pg_hba.conf
kasm_redis:
container_name: kasm_redis
command: ["sh", "-c", "redis-server --requirepass $${REDIS_PASSWORD}"]
user: "${KASM_UID?}:${KASM_GID?}"
image: redis:5-alpine
restart: always
ports:
- "6379:6379"
networks:
- kasm_default_network
environment:
REDIS_PASSWORD: changeme
restart: always
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "20"
volumes:
kasm_db_1.12.0:
external: true
networks:
kasm_default_network:
external: true

View file

@ -0,0 +1,41 @@
version: '3'
services:
db:
container_name: kasm_db
image: postgres:12-alpine
restart: always
ports:
- "5432:5432"
networks:
- kasm_default_network
environment:
POSTGRES_PASSWORD: changeme
POSTGRES_USER: kasmapp
POSTGRES_DB: kasm
volumes:
- /opt/kasm/1.12.0/conf/database/data.sql:/docker-entrypoint-initdb.d/data.sql
- /opt/kasm/1.12.0/conf/database/pg_hba.conf:/var/lib/postgresql/conf/pg_hba.conf
- /opt/kasm/1.12.0/conf/database/postgresql.conf:/var/lib/postgresql/conf/postgresql.conf
- /opt/kasm/1.12.0/conf/database/:/tmp/
- /opt/kasm/1.12.0/certs/db_server.crt:/etc/ssl/certs/db_server.crt
- /opt/kasm/1.12.0/certs/db_server.key:/etc/ssl/certs/db_server.key
- /opt/kasm/1.12.0/log/postgres/:/var/log/postgres/
- kasm_db_1.12.0:/var/lib/postgresql/data
restart: always
healthcheck:
test: "pg_isready --username=kasmapp && cat /proc/1/cmdline | grep -q '^postgres'"
timeout: 5s
retries: 20
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "20"
command: postgres -c ssl=on -c ssl_cert_file=/etc/ssl/certs/db_server.crt -c ssl_key_file=/etc/ssl/certs/db_server.key -c config_file=/var/lib/postgresql/conf/postgresql.conf -c hba_file=/var/lib/postgresql/conf/pg_hba.conf
volumes:
kasm_db_1.12.0:
external: true
networks:
kasm_default_network:
external: true

View file

@ -0,0 +1,43 @@
version: '3'
services:
kasm_guac:
container_name: kasm_guac
user: "${KASM_UID?}:${KASM_GID?}"
image: "kasmweb/kasm-guac:1.12.0"
read_only: true
networks:
- kasm_default_network
volumes:
- /opt/kasm/1.12.0:/opt/kasm/current
restart: always
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "20"
proxy:
container_name: kasm_proxy
image: "kasmweb/nginx:latest"
ports:
- "443:443"
networks:
- kasm_default_network
volumes:
- /opt/kasm/1.12.0/conf/nginx:/etc/nginx/conf.d:ro
- /opt/kasm/1.12.0/certs/kasm_nginx.key:/etc/ssl/private/kasm_nginx.key
- /opt/kasm/1.12.0/certs/kasm_nginx.crt:/etc/ssl/certs/kasm_nginx.crt
- /opt/kasm/1.12.0/www:/srv/www:ro
- /opt/kasm/1.12.0/log/nginx:/var/log/external/nginx/
- /opt/kasm/1.12.0/log/logrotate:/var/log/external/logrotate/
depends_on:
- kasm_guac
restart: always
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "20"
networks:
kasm_default_network:
external: true

View file

@ -0,0 +1,26 @@
version: '3'
services:
proxy:
container_name: kasm_proxy
image: "kasmweb/nginx:latest"
ports:
- "443:443"
networks:
- kasm_default_network
volumes:
- /opt/kasm/1.12.0/conf/nginx:/etc/nginx/conf.d:ro
- /opt/kasm/1.12.0/certs/kasm_nginx.key:/etc/ssl/private/kasm_nginx.key
- /opt/kasm/1.12.0/certs/kasm_nginx.crt:/etc/ssl/certs/kasm_nginx.crt
- /opt/kasm/1.12.0/www:/srv/www:ro
- /opt/kasm/1.12.0/log/nginx:/var/log/external/nginx/
- /opt/kasm/1.12.0/log/logrotate:/var/log/external/logrotate/
restart: always
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "20"
networks:
kasm_default_network:
external: true

View file

@ -0,0 +1,24 @@
version: '3'
services:
kasm_redis:
container_name: kasm_redis
command: ["sh", "-c", "redis-server --requirepass $${REDIS_PASSWORD}"]
user: "${KASM_UID?}:${KASM_GID?}"
image: redis:5-alpine
restart: always
ports:
- "6379:6379"
networks:
- kasm_default_network
environment:
REDIS_PASSWORD: changeme
restart: always
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "20"
networks:
kasm_default_network:
external: true

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,264 @@
#!/usr/bin/env bash
set -e
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root"
exit 1
fi
OS_ID='unknown'
OS_VERSION_ID='unknown'
SUPPORTED='false'
INSTALL_COMPOSE='false'
INSTALL_DOCKER='false'
MIN_DOCKER_VERSION='18.06'
MIN_DOCKER_COMPOSE_VERSION='2.1.1'
CPU_ARCH="$(uname -i)"
function verlte() {
[ "$1" = "`echo -e "$1\n$2" | sort -V | head -n1`" ]
}
# Checks if version $1 is less than $2
function verlt() {
[ "$1" = "$2" ] && return 1 || verlte $1 $2
}
function check_docker_dependencies (){
echo "Checking if docker and docker compose are installed."
set +e
DOCKER_VERSION=$(docker system info | grep "Server Version" | awk '{ print $3 }')
DOCKER="$(command -v docker)"
DOCKER_COMPOSE="$(docker compose 2>/dev/null)"
DOCKER_COMPOSE_VERSION="$( (docker compose version --short | sed s/v//g) 2>/dev/null)"
set -e
if [ -z "${DOCKER}" ] ; then
INSTALL_DOCKER='true'
else
echo "Docker is installed"
if [ -z "${DOCKER_VERSION}" ] ; then
echo "Unable to check Docker version, is the Docker daemon running?"
echo "Aborting Kasm Workspaces install."
exit -1
elif verlt "${DOCKER_VERSION}" "${MIN_DOCKER_VERSION}" ; then
echo "The installed Docker Version: $DOCKER_VERSION is an unsupported version of Docker."
echo "Aborting Kasm Workspaces install."
exit -1
else
echo "$DOCKER_VERSION is a supported version of docker."
fi
if (docker system info | grep 'Docker Root Dir' | grep -q '/var/snap/docker') > /dev/null 2>&1 ; then
echo "Detected version of Docker is installed via snap. This is unsupported."
echo "Aborting Kasm Workspaces install."
exit -1
fi
fi
if [ -z "${DOCKER_COMPOSE}" ] ; then
echo "Docker Compose is not installed."
INSTALL_COMPOSE='true'
else
echo "Docker compose is installed"
if [ -z "${DOCKER_COMPOSE_VERSION}" ] ; then
echo "Unable to determine docker compose version"
echo "Aborting workspaces install"
exit -1
elif verlt "${DOCKER_COMPOSE_VERSION}" "${MIN_DOCKER_COMPOSE_VERSION}" ; then
echo "${DOCKER_COMPOSE_VERSION} is an old version of docker compose, installing a new version"
INSTALL_COMPOSE='true'
else
echo "${DOCKER_COMPOSE_VERSION} is a supported version of docker compose"
fi
fi
if [ "${INSTALL_DOCKER}" == 'false' ] && [ "${INSTALL_COMPOSE}" == 'false' ] ; then
echo "Commands docker and docker compose detected."
echo "Skipping Dependency Installation."
exit 0
fi
}
function install_docker_compose (){
echo "Installing Docker Compose"
mkdir -p /usr/local/lib/docker/cli-plugins
curl -L https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/lib/docker/cli-plugins/docker-compose
chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
}
function install_centos (){
echo "CentOS 7.x/8.x/9.x Install"
echo "Installing Base CentOS Packages"
NO_BEST=""
if [ "${1}" == '"8"' ] || [ "${1}" == '"9"' ]; then
NO_BEST="--nobest"
fi
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2 \
lsof
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
echo "Installing Docker-CE"
yum install -y docker-ce $NO_BEST
systemctl start docker
}
function install_ubuntu (){
echo "Ubuntu 18.04/20.04/22.04 Install"
echo "Installing Base Ubuntu Packages"
apt-get update
apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
if dpkg -s docker-ce | grep Status: | grep installed ; then
echo "Docker Installed"
else
echo "Installing Docker-CE"
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
add-apt-repository -y "deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
apt-get update
apt-get -y install docker-ce
fi
}
function install_debian (){
echo "Debian 9.x/10.x/11.x Install"
echo "Installing Base Debian Packages"
apt-get update
sudo apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
gnupg2 \
software-properties-common
if dpkg -s docker-ce | grep Status: | grep installed ; then
echo "Docker Installed"
else
echo "Installing Docker-CE"
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
add-apt-repository "deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
apt-get update
apt-get -y install docker-ce
fi
}
function install_oracle (){
echo "Oracle Linux 7.x/8.x/9.x Install"
echo "Installing Base Oracle Linux Packages"
NO_BEST=""
if [[ "${1}" == '"8.'* ]] || [[ "${1}" == '"9.'* ]]; then
NO_BEST="--nobest"
else
sudo yum-config-manager --enable ol7_developer
fi
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2 \
lsof
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
echo "Installing Docker-CE"
yum install -y docker-ce $NO_BEST
systemctl start docker
}
function install_openssl (){
if [ "${OS_ID}" == "ubuntu" ] && ( [ "${OS_VERSION_ID}" == '"18.04"' ] || [ "${OS_VERSION_ID}" == '"20.04"' ] || [ "${OS_VERSION_ID}" == '"22.04"' ] ) ; then
sudo apt-get update
sudo apt-get install -y openssl
fi
if [ "${OS_ID}" == "debian" ] && ( [ "${OS_VERSION_ID}" == '"9"' ] || [ "${OS_VERSION_ID}" == '"10"' ] || [ "${OS_VERSION_ID}" == '"11"' ] ) ; then
sudo apt-get update
sudo apt-get install -y openssl
fi
if [ "${OS_ID}" == '"centos"' ] && ( [ "${OS_VERSION_ID}" == '"7"' ] || [ "${OS_VERSION_ID}" == '"8"' ] || [ "${OS_VERSION_ID}" == '"9"' ] ) ; then
yum install -y openssl
fi
if [ "${OS_ID}" == '"ol"' ] && ( [[ "${OS_VERSION_ID}" == '"7.'* ]] || [[ "${OS_VERSION_ID}" == '"8.'* ]] || [[ "${OS_VERSION_ID}" == '"9.'* ]] ) ; then
yum install -y openssl
fi
}
if [ -f /etc/os-release ] ; then
OS_ID="$(awk -F= '/^ID=/{print $2}' /etc/os-release)"
OS_VERSION_ID="$(awk -F= '/^VERSION_ID/{print $2}' /etc/os-release)"
fi
if ! openssl version > /dev/null 2>&1; then
echo "Installing OpenSSL"
install_openssl
fi
check_docker_dependencies
if [ "${OS_ID}" == "ubuntu" ] && ( [ "${OS_VERSION_ID}" == '"18.04"' ] || [ "${OS_VERSION_ID}" == '"20.04"' ] || [ "${OS_VERSION_ID}" == '"22.04"' ] ) ; then
SUPPORTED='true'
if [ $INSTALL_DOCKER == 'true' ] ; then
install_ubuntu
fi
if [ $INSTALL_COMPOSE == 'true' ] ; then
install_docker_compose
fi
fi
if [ "${OS_ID}" == "debian" ] && ( [ "${OS_VERSION_ID}" == '"9"' ] || [ "${OS_VERSION_ID}" == '"10"' ] || [ "${OS_VERSION_ID}" == '"11"' ] ) ; then
SUPPORTED='true'
if [ $INSTALL_DOCKER == 'true' ] ; then
install_debian
fi
if [ $INSTALL_COMPOSE == 'true' ] ; then
install_docker_compose
fi
fi
if [ "${OS_ID}" == '"centos"' ] && ( [ "${OS_VERSION_ID}" == '"7"' ] || [ "${OS_VERSION_ID}" == '"8"' ] || [ "${OS_VERSION_ID}" == '"9"' ] ) ; then
SUPPORTED='true'
if [ $INSTALL_DOCKER == 'true' ] ; then
install_centos ${OS_VERSION_ID}
fi
if [ $INSTALL_COMPOSE == 'true' ] ; then
install_docker_compose
fi
fi
if [ "${OS_ID}" == '"ol"' ] && ( [[ "${OS_VERSION_ID}" == '"7.'* ]] || [[ "${OS_VERSION_ID}" == '"8.'* ]] || [[ "${OS_VERSION_ID}" == '"9.'* ]] ) ; then
SUPPORTED='true'
if [ $INSTALL_DOCKER == 'true' ] ; then
install_oracle ${OS_VERSION_ID}
fi
if [ $INSTALL_COMPOSE == 'true' ] ; then
install_docker_compose
fi
fi
if [ "${SUPPORTED}" == "false" ] ; then
echo "Installation Not Supported for this Operating System. Exiting"
exit -1
fi
echo "Dependency Installation Complete"

View file

@ -0,0 +1,299 @@
KASM WORKSPACES END USER LICENSE AGREEMENT
BY DOWNLOADING, INSTALLING, OR USING THE SOFTWARE, YOU AGREE TO THE TERMS OF
THIS END USER LICENSE AGREEMENT (“EULA”). IF YOU DO NOT AGREE TO THESE TERMS, YOU
MUST NOT DOWNLOAD, INSTALL, OR USE THE SOFTWARE, AND YOU MUST DELETE THE
SOFTWARE AND REQUEST A REFUND OF THE LICENSE FEE.
1. DEFINITIONS
1.1. “Documentation” means that documentation that is generally provided to You by Kasm
Technologies with the Software and which may include end user manuals, operation instructions,
installation guides, release notes, and on-line help files regarding the use of the Software.
1.2. “Kasm Technologies” means Kasm Technologies Inc, a Virginia corporation, located at 1765
Greensboro Station Place STE 900, MCLEAN, VA 22102.
1.3. “License” means a license granted under Section 2.1 (General License Grant).
1.4. “Open-Source Software” or “OSS” means software components embedded in the Software
and provided under separate license terms, which can be found in the open_source_licenses.txt file
provided within the Software.
1.5. “Order” means a purchase order, enterprise license agreement, or other ordering document
issued by You to Kasm Technologies or a Kasm Technologies authorized reseller that references and
incorporates this EULA and is accepted by Kasm Technologies. No Orders are binding on Kasm
Technologies until accepted by Kasm Technologies.
1.6. “Software” means the Kasm Technologies computer programs to which You acquire a license
under an Order, together with any software code pursuant to a support and/or subscription service
contract and that is not subject to a separate license agreement.
1.7. “You” means the individual, company or other legal entity using the software.
2. LICENSE GRANT
2.1. General License Grant. Kasm Technologies grants to You a non-exclusive, non-transferable
license to use the Software and Documentation for the duration of the license solely for Your
business operations, and subject to the provisions of your Order, Documentation and related support
agreements.
2.2. Community Edition Restrictions. The Community Edition of the Kasm Workspaces license is
restricted to the following usage and may not be used for revenue-generating business activities.
Notwithstanding any other provision in this EULA, the Community Edition License of the Software is
provided “AS-IS” without indemnification, support or warranty of any kind, expressed or implied.
2.2.1. Evaluation. Temporary usage of the Software to validate business requirements.
2.2.2. Personal/Home. For use by an individual/household for personal, non-business activities.
2.2.3. Non-Profit. For use by non-profit organizations or researchers.
2.3. Software Support and Subscriptions. Except as expressly specified in your software Order,
Kasm Technologies does not provide any support or subscription services for the Software under this
EULA. You have no rights to any updates, upgrades or extensions or enhancements to the Software
developed by Kasm Technologies other than those defined in a separate software license Order.
2.4. Software Updates. The Software may be updated with enhancements or improvements to the
features/functionality, which may include patches, bug fixes, updates, upgrades and other
modifications. Updates may modify or delete certain features and/or functionalities of the Software.
You agree that Kasm Technologies has no obligation to (i) provide any Updates, or (ii) continue to
provide Software features and/or functionalities.
2.5. Third Party Agents. Under the License You may permit Your third-party agents to access, use
and/or operate the Software on Your behalf for the sole purpose of delivering services to You,
provided that You will be fully responsible for compliance with terms and conditions of this EULA and
any breach of this EULA by a third-party agent shall be deemed to be a breach by You.
2.6. Open-Source Software. Notwithstanding anything herein to the contrary, Open-Source
Software is licensed to You under such OSSs own applicable license terms. These OSS license
terms are consistent with the license granted in this Section. The OSS license terms shall take
precedence over this EULA to the extent that this EULA imposes greater restrictions on You than the
applicable OSS license terms. To the extent the license for any Open-Source Software requires
Kasm Technologies to make available to You the corresponding source code and/or modifications,
You may obtain a copy of the applicable Source Files.
3. RESTRICTIONS OF OWNERSHIP
3.1. License Restrictions. Without Kasm Technologies prior written consent, You must not, and
must not allow any third-party to: (a) use Software in an application services provider except that You
may use the Software to deliver hosted services to Your affiliates; (b) make available Software in any
form to anyone other than Your employees, except as specified in Section 2.5 (Third Party Agents);
(c) transfer or sublicense Software or Documentation to an affiliate or any third party; (d) use
Software in conflict with the terms and restrictions of the Softwares licensing model and other
requirements specified in Documentation and/or Order; (e) except to the extent permitted by
applicable mandatory law, modify, translate, enhance, or create derivative works from the Software,
or reverse engineer, decompile, or otherwise attempt to derive source code from the Software; or (f)
violate or circumvent any technological restrictions within the Software or specified in this EULA.
3.2. Ownership. The Software and Documentation and all improvements, enhancements,
modifications and derivative works thereof, and all Intellectual Property Rights therein, are and shall
remain the sole and exclusive property of Kasm Technologies. Intellectual property rights, including
without limitation, copyrights, trademarks, service marks, trade secrets, know how, inventions,
patents, patent applications, moral rights and all other proprietary rights, whether registered or
unregistered. Your rights to use the Software and Documentation shall be limited to those expressly
granted in this EULA and any applicable Order. No other rights with respect to the Software or any
related Intellectual Property Rights are implied. You are not authorized to use (and shall not permit
any third party to use) the Software, Documentation or any portion thereof except as expressly
authorized by this EULA or the applicable Order. Kasm Technologies reserves all rights not expressly
granted to You.
3.3. Third Party Software. You acknowledge that You are responsible for obtaining and complying
with any licenses necessary to integrate, orchestrate or access all third-party software used within the
Software.
3.4. Software Feedback. Feedback, bug reports, enhancements or recommendations provided by
You to Kasm Technologies for the purpose of improving the Software shall become exclusively
owned by Kasm Technologies and may be used/redistributed without compensation to the source of
the submission.
4. CONTENT AND USAGE
4.1. Software Usage Responsibility. Kasm Technologies is not responsible for the information,
content and activities of the Software users. You understand and agree that You are solely
responsible for the content and for all activity that occurs under your Software, whether done so by
You or any third person.
4.2. Content and Usage Disclaimer. Kasm Technologies does not control or restrict content or
activities by users and/or third parties within the Software, you agree to use the Software at your own
risk. You agree that under no circumstances will Kasm Technologies be liable in any way for any
content within the Software, activities performed using the Software, or any loss or damage incurred
as a result of your use of the Software.
5. WARRANTIES
5.1. Software Warranty, Duration and Remedy. Kasm Technologies warrants to You that the
Software will, for a period of ninety (90) days following notice of availability for electronic download or
delivery (“Warranty Period”), substantially conform to the applicable Documentation, provided that
the Software: (a) has been properly installed and used at all times in accordance with the applicable
Documentation; and (b) has not been modified or added to by persons other than Kasm Technologies
or its authorized representative. Kasm Technologies will provide remedy for any breach of this
warranty, either replace that Software or correct any reproducible error in that Software reported to
Kasm Technologies by You in writing during the Warranty Period. If Kasm Technologies determines
that it is unable to correct the error or replace the Software, Kasm Technologies will refund to You the
amount paid by You for that Software, in which case the License for that Software will terminate.
5.2. Software Disclaimer of Warranty. Other than the warranty above, and to the maximum extent
permitted by applicable law, Kasm Technologies and its suppliers make no other express warranties
or guarantees under this EULA, and disclaim all implied warranties of merchantability, fitness for a
particular purpose, title and non-infringement, and any warranty arising by statute, operation of law,
course of dealing or performance, or usage of trade. Kasm technologies and its licensors do not
warrant that the software will operate uninterrupted or that it will be free from defects or that it will
meet your requirements.
6. INTELLECTUAL PROPERTY INDEMNIFICATION
6.1. Defense and Indemnification. Kasm Technologies shall defend You against any third party
claim that the Software infringes any patent, trademark or copyright of such third party, or
misappropriates a trade secret (but only to the extent that the misappropriation is not a result of Your
actions) and indemnify You from the resulting costs and damages finally awarded against You to
such third party by a court of competent jurisdiction or agreed to in settlement. The foregoing
obligations are applicable only if You: (i) promptly notify Kasm Technologies in writing of the
Infringement Claim; (ii) allow Kasm Technologies sole control over the defense for the claim, any
settlement negotiations and any related action challenging the validity of the allegedly infringed
patent, trademark, or copyright; and (iii) reasonably cooperate in response to Kasm Technologies
requests for assistance. You may not settle or compromise any Infringement Claim without the prior
written consent of Kasm Technologies.
6.2. Remedies. If the alleged infringing Software become, or in Kasm Technologies opinion be likely
to become, the subject of an Infringement Claim, Kasm Technologies will, at Kasm Technologies
option and expense, do one of the following: (a) procure the rights necessary for You to make
continued use of the affected Software; (b) replace or modify the affected Software to make it non-
infringing; or (c) terminate the License to the affected Software and discontinue the related support
services, and, upon Your certified deletion of the affected Software, refund: (i) the fees paid by You
for the License to the affected Software, less straight-line depreciation over a three (3) year useful life
beginning on the date such Software was delivered; and (ii) any pre-paid service fee attributable to
related support services to be delivered after the date such service is stopped.
6.3. Exclusions. Notwithstanding the foregoing, Kasm Technologies will have no obligation under
this Section 8 (Intellectual Property Indemnification) or otherwise with respect to any claim based on:
(a) a combination of Software with non-Kasm Technologies products (other than non-Kasm
Technologies products that are listed on the Order and used in an unmodified form); (b) use for a
purpose or in a manner for which the Software was not designed; (c) use of any older version of the
Software when use of a newer Kasm Technologies version would have avoided the infringement; (d)
any modification to the Software made without Kasm Technologies express written approval; (e) any
claim that relates to open source software or freeware technology or any derivatives or other
adaptations thereof that is not embedded by Kasm Technologies into Software; or (f) any Software
provided on a no charge or evaluation basis. This Section 8 (intellectual property indemnification)
states your sole and exclusive remedy and Kasm Technologies entire liability for any infringement
claims or actions.
7. LIMITATION OF LIABILITY
7.1. Limitation of Liability. To the maximum extent mandated by law, in no event will Kasm
Technologies and its licensors be liable for any lost profits or business opportunities, loss of use, loss
of revenue, loss of goodwill, business interruption, loss of data, or any indirect, special, incidental, or
consequential damages under any theory of liability, whether based in contract, tort, negligence,
product liability, or otherwise. Because some jurisdictions do not allow the exclusion or limitation of
liability for consequential or incidental damages, the preceding limitation may not apply to you. Kasm
Technologies and its licensors liability under this EULA will not, in any event, regardless of whether
the claim is based in contract, tort, strict liability, or otherwise, exceed the greater of the license fees
you paid for the software giving rise to the claim or $100. The foregoing limitations shall apply
regardless of whether Kasm Technologies or its licensors have been advised of the possibility of such
damages and regardless of whether any remedy fails of its essential purpose. You may not bring a
claim under this EULA more than twelve (12) months after the cause of action arises.
7.2. Indemnification. You agree to indemnify and hold Kasm Technologies and its parents,
subsidiaries, affiliates, officers, employees, agents, partners and licensors (if any) harmless from any
claim or demand, including reasonable attorneys' fees, due to or arising out of your: (a) use of the
Software; (b) violation of this agreement or any law or regulation; or (c) violation of any right of a third
party.
8. TERMINATION.
8.1. EULA Term. The term of this EULA begins on the notice of availability for electronic download
or delivery of the Software and continues until this EULA is terminated.
8.2. Termination for Breach. Kasm Technologies may terminate this EULA effective immediately
upon written notice to You if: (a) You fail to pay any portion of the fees under an applicable Order
within ten (10) days after receiving written notice from Kasm Technologies that payment is past due;
or (b) You breach any other provision of this EULA and fail to cure within thirty (30) days after receipt
of Kasm Technologies written notice thereof.
8.3. Termination for Insolvency. Kasm Technologies may terminate this EULA effective
immediately upon written notice to You if You: (a) terminate or suspend your business; (b) become
insolvent; or become subject to control of a trustee or similar authority; or (c) become subject to a
bankruptcy or insolvency proceeding.
8.4. Effect of Termination. Upon Kasm Technologies termination of this EULA: (a) all Licensed
rights to all Software granted to You under this EULA will immediately cease; and (b) You must cease
all use of all Software, and certify destruction of all Software, confidential information, and license
keys.
9. CONFIDENTIAL INFORMATION
9.1. “Confidential Information” means information or materials provided by one party (“Discloser”)
to the other party (“Recipient”) which are in tangible form and labelled “confidential” or the like, or,
information which a reasonable person knew or should have known to be confidential. The following
information shall be considered Confidential Information whether or not marked or identified as such:
(a) license keys; (b) information regarding Kasm Technologies pricing, product roadmaps or strategic
marketing plans; and (c) non-public materials relating to the Software.
9.2. Protection. Recipient may use Confidential Information of Discloser; (a) to exercise its rights
and perform its obligations under this EULA; or (b) in connection with the parties ongoing business
relationship. Recipient will not use any Confidential Information of Discloser for any purpose not
expressly permitted by this EULA and will disclose the Confidential Information of Discloser only to
the employees or contractors of Recipient who have a need to know such Confidential Information for
purposes of this EULA and who are under a duty of confidentiality no less restrictive than Recipients
duty hereunder. Recipient will protect Confidential Information from unauthorized use, access, or
disclosure in the same manner as Recipient protects its own confidential or proprietary information of
a similar nature but with no less than reasonable care.
9.3. Data Privacy. You agree that Kasm Technologies may process technical and related information
about Your use of the Software which may include internet protocol address, hardware identification,
operating system, application software, peripheral hardware, and non-personally identifiable Software
usage statistics to facilitate the provisioning of updates, support, invoicing or online services.
10. GENERAL
10.1. Transfers & Assignment. Except to the extent transfer may not legally be restricted, You will
not assign this EULA, any Order, or any right or obligation herein or delegate any performance
without Kasm Technologies prior written consent, which consent will not be unreasonably withheld.
Kasm Technologies may use sufficiently qualified subcontractors to provide services to You, provided
that Kasm Technologies remains responsible to You for the performance of the services.
10.2. Waiver. The failure to exercise a right or to require performance of an obligation under this
Agreement shall not effect a party's ability to exercise such right or require such performance at any
time thereafter nor shall be the waiver of a breach constitute a waiver of any subsequent breach.
10.3. Severability. If any provision of this Agreement is held to be unenforceable or invalid, such
provision will be changed and interpreted to accomplish the objectives of such provision to the
greatest extent possible under applicable law and the remaining provisions will continue in full force
and effect.
10.4. Compliance with Laws; Export Control; Government Regulations. Each party shall comply
with all laws applicable to the actions contemplated by this EULA. You acknowledge that the Software
is of United States origin, is provided subject to the U.S. Export Administration Regulations, may
be subject to the export control laws of the applicable territory, and that diversion contrary to applicable
export control laws is prohibited. You represent that (1) you are not, and are not acting on behalf of,
(a) any person who is a citizen, national, or resident of, or who is controlled by the government of any
country to which the United States has prohibited export transactions; or (b) any person or entity
listed on the U.S. Treasury Department list of Specially Designated Nationals and Blocked Persons,
or the U.S. Commerce Department Denied Persons List or Entity List; and (2) you will not permit the
Software to be used for, any purposes prohibited by law, including, any prohibited development,
design, manufacture or production of missiles or nuclear, chemical or biological weapons. The
Software and accompanying documentation are deemed to be “commercial computer software” and
“commercial computer software documentation”, respectively, pursuant to DFARS Section 227.7202
and FAR Section 12.212(b), as applicable. Any use, modification, reproduction, release, performing,
displaying or disclosing of the Software and documentation by or for the U.S. Government shall be
governed solely by the terms and conditions of this EULA.
10.5. Governing Law. This EULA is governed by the laws of the State of Virginia, United States of
America (excluding its conflict of law rules), and the federal laws of the United States. The state and
federal courts located in Virginia will be the exclusive jurisdiction for disputes.
10.6. Order of Precedence. In the event of conflict or inconsistency among this EULA and the
Order, the terms of this EULA shall supersede and control over any conflicting or additional terms and
conditions of any order, acknowledgement or confirmation or other document issued by You.
10.7. Entire Agreement. This EULA, including accepted Orders and any amendments, contain the
entire agreement of the parties with respect to this EULA and supersede all previous or
contemporaneous communications, representations, proposals, commitments, understandings and
agreements, whether written or oral, between the parties.
10.8. Contact Information. Please direct legal notices or other correspondence to:
contracts@kasmweb.com
Kasm Technologies
1765 Greensboro Station Place STE 900
McLean, Virginia 22102
United States of America

View file

@ -0,0 +1,12 @@
1.0 Definitions
--------------
1.1 Company - Kasm Technologies LLC
1.2 Kasm - The containerized desktop or application accessed by a client through a browser
1.3 Base Kasm - All Kasms are derived from the Base Kasm docker image
1.4 Kasm Server - The server side application that serves the Kasms to the users
This directory contains all licenses for software distributed with or installed
by the Kasm Server software. The base Kasm image contains all licenses that pertain to
the Kasm. Custom Kasms must derive from the base Kasm and include all license from
the base image.

View file

@ -0,0 +1,30 @@
Kasm Technologies LLC utilizes and redistributes the Alpine Docker
image as part of the Kasm application.
https://github.com/gliderlabs/docker-alpine/blob/62606823dbae10f763dae1878f44ec918ac8dce5/LICENSE
Copyright (c) 2015, Glider Labs, LLC
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

View file

@ -0,0 +1,35 @@
Kasm Technologies LLC utilizes and redistributes the CherryPy
Python Library as part of the Kasm application.
https://github.com/cherrypy/cherrypy
Copyright © 2004-2018, CherryPy Team (team@cherrypy.org)
All rights reserved.
* * *
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the name of CherryPy nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

View file

@ -0,0 +1,19 @@
Docker
Copyright 2012-2017 Docker, Inc.
This product includes software developed at Docker, Inc. (https://www.docker.com).
This product contains software (https://github.com/kr/pty) developed
by Keith Rarick, licensed under the MIT License.
The following is courtesy of our legal counsel:
Use and transfer of Docker may be subject to certain restrictions by the
United States and other governments.
It is your responsibility to ensure that your use and/or transfer does not
violate applicable laws.
For more information, please see https://www.bis.doc.gov
See also https://www.apache.org/dev/crypto.html and/or seek legal counsel.

View file

@ -0,0 +1,193 @@
Kasm Technologies LLC installs Docker CE as part of the Kasm application without modifications.
Apache License
Version 2.0, January 2004
https://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
Copyright 2013-2017 Docker, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View file

@ -0,0 +1,195 @@
Kasm Technologies LLC installs and utilizes docker compose as part of the Kasm application.
https://github.com/docker/compose
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
Copyright 2014 Docker, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View file

@ -0,0 +1,31 @@
Kasm Technologies LLC utilizes and redistributes NGINX as part of the Kasm application.
www.nginx.org
/*
* Copyright (C) 2002-2018 Igor Sysoev
* Copyright (C) 2011-2018 Nginx, Inc.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/

View file

@ -0,0 +1,27 @@
Kasm Technologies LLC utilizes and redistributes NGINX as part of the Kasm application.
https://github.com/nginxinc/docker-nginx
Copyright (C) 2011-2016 Nginx, Inc.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.

View file

@ -0,0 +1,16 @@
Kasm Technologies LLC utilizes and redistributes PostgreSQL as part of the Kasm application without modifications.
PostgreSQL is released under the PostgreSQL License, a liberal Open Source license, similar to the BSD or MIT licenses.
PostgreSQL Database Management System
(formerly known as Postgres, then as Postgres95)
Portions Copyright © 1996-2018, The PostgreSQL Global Development Group
Portions Copyright © 1994, The Regents of the University of California
Permission to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and without a written agreement is hereby granted, provided that the above copyright notice and this paragraph and the following two paragraphs appear in all copies.
IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.

View file

@ -0,0 +1,27 @@
Kasm Technologies LLC utilizes and redistributes the PostgreSQL Docker
image as part of the Kasm application.
https://github.com/docker-library/postgres
Copyright (c) 2014-2015, Docker PostgreSQL Authors (See AUTHORS)
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.

View file

@ -0,0 +1,45 @@
Kasm Technologies LLC utilizes and redistributes Python3 as part of the Kasm application.
https://www.python.org/
1. This LICENSE AGREEMENT is between the Python Software Foundation ("PSF"), and
the Individual or Organization ("Licensee") accessing and otherwise using Python
3.6.5 software in source or binary form and its associated documentation.
2. Subject to the terms and conditions of this License Agreement, PSF hereby
grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce,
analyze, test, perform and/or display publicly, prepare derivative works,
distribute, and otherwise use Python 3.6.5 alone or in any derivative
version, provided, however, that PSF's License Agreement and PSF's notice of
copyright, i.e., "Copyright © 2001-2018 Python Software Foundation; All Rights
Reserved" are retained in Python 3.6.5 alone or in any derivative version
prepared by Licensee.
3. In the event Licensee prepares a derivative work that is based on or
incorporates Python 3.6.5 or any part thereof, and wants to make the
derivative work available to others as provided herein, then Licensee hereby
agrees to include in any such work a brief summary of the changes made to Python
3.6.5.
4. PSF is making Python 3.6.5 available to Licensee on an "AS IS" basis.
PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF
EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND DISCLAIMS ANY REPRESENTATION OR
WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE
USE OF PYTHON 3.6.5 WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.
5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON 3.6.5
FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF
MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 3.6.5, OR ANY DERIVATIVE
THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
6. This License Agreement will automatically terminate upon a material breach of
its terms and conditions.
7. Nothing in this License Agreement shall be deemed to create any relationship
of agency, partnership, or joint venture between PSF and Licensee. This License
Agreement does not grant permission to use PSF trademarks or trade name in a
trademark sense to endorse or promote products or services of Licensee, or any
third party.
8. By copying, installing or otherwise using Python 3.6.5, Licensee agrees
to be bound by the terms and conditions of this License Agreement.

View file

@ -0,0 +1,209 @@
Kasm Technologies LLC utilizes and redistributes the Tornado
Python Library as part of the Kasm application.
http://www.tornadoweb.org/
© Copyright 2009-2018, The Tornado Authors. Revision bbdd75a1.
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View file

@ -0,0 +1,207 @@
Kasm Technologies LLC utilizes and redistributes the Ubuntu Docker
image as part of the Kasm application.
https://github.com/tianon/docker-brew-ubuntu-core/tree/404d80486fada09bff68a210b7eddf78f3235156
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View file

@ -0,0 +1 @@
accept-eula: true

View file

@ -0,0 +1,4 @@
accept-eula: true
no-images: true
no-check-ports: true
no-check-disk: true

View file

@ -0,0 +1,423 @@
#!/usr/bin/env bash
set -e
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root"
exit 1
fi
KASM_VERSION="1.12.0"
CURRENT_VERSION=$(readlink -f /opt/kasm/current | awk -F'/' '{print $4}')
KASM_INSTALL_BASE="/opt/kasm/${KASM_VERSION}"
OFFLINE_INSTALL="false"
PULL_IMAGES="false"
PURGE_IMAGES="false"
DATABASE_HOSTNAME="false"
DB_PASSWORD="false"
DATABASE_PORT=5432
SCRIPT_PATH="$( cd "$(dirname "$0")" ; pwd -P )"
KASM_RELEASE="$(realpath $SCRIPT_PATH)"
ARCH=$(uname -m)
DISK_SPACE=50000000000
DEFAULT_PROXY_LISTENING_PORT='443'
API_SERVER_HOSTNAME='false'
ENABLE_LOSSLESS='false'
ARGS=("$@")
# Functions
function gather_vars() {
ARCH=$(uname -m)
if [ "${DB_PASSWORD}" == "false" ] ; then
DB_PASSWORD=$(${SCRIPT_PATH}/bin/utils/yq_${ARCH} '.database.password' /opt/kasm/${CURRENT_VERSION}/conf/app/api.app.config.yaml)
fi
MANAGER_TOKEN=$(${SCRIPT_PATH}/bin/utils/yq_${ARCH} '.manager.token' /opt/kasm/${CURRENT_VERSION}/conf/app/agent.app.config.yaml)
MANAGER_HOSTNAME=$(${SCRIPT_PATH}/bin/utils/yq_${ARCH} '.manager.hostnames.[0]' /opt/kasm/${CURRENT_VERSION}/conf/app/agent.app.config.yaml)
SERVER_ID=$(${SCRIPT_PATH}/bin/utils/yq_${ARCH} '.agent.server_id' /opt/kasm/${CURRENT_VERSION}/conf/app/agent.app.config.yaml)
PUBLIC_HOSTNAME=$(${SCRIPT_PATH}/bin/utils/yq_${ARCH} '.agent.public_hostname' /opt/kasm/${CURRENT_VERSION}/conf/app/agent.app.config.yaml)
MANAGER_ID=$(${SCRIPT_PATH}/bin/utils/yq_${ARCH} '.manager.manager_id' /opt/kasm/${CURRENT_VERSION}/conf/app/api.app.config.yaml)
SERVER_HOSTNAME=$(${SCRIPT_PATH}/bin/utils/yq_${ARCH} '.server.server_hostname' /opt/kasm/${CURRENT_VERSION}/conf/app/api.app.config.yaml)
REDIS_PASSWORD=$(${SCRIPT_PATH}/bin/utils/yq_${ARCH} '.redis.redis_password' /opt/kasm/${CURRENT_VERSION}/conf/app/api.app.config.yaml)
if [ "${DATABASE_HOSTNAME}" == "false" ] ; then
DATABASE_HOSTNAME=$(${SCRIPT_PATH}/bin/utils/yq_${ARCH} '.database.host' /opt/kasm/${CURRENT_VERSION}/conf/app/api.app.config.yaml)
fi
DB_IMAGE_NAME=$(${SCRIPT_PATH}/bin/utils/yq_${ARCH} '.services.db.image' /opt/kasm/${CURRENT_VERSION}/docker/.conf/docker-compose-db.yaml)
}
function stop_kasm() {
/opt/kasm/bin/stop
}
function start_kasm() {
/opt/kasm/bin/start
}
function backup_db() {
mkdir -p /opt/kasm/backups/
# Hotfix in case we have old paths for dumping DB
sed -i 's/tmp/backup/g' /opt/kasm/${CURRENT_VERSION}/bin/utils/db_backup
# Run backup
if [ "${ROLE}" == "db" ] || [ -z "${ROLE}" ] ; then
bash /opt/kasm/${CURRENT_VERSION}/bin/utils/db_backup -f /opt/kasm/backups/kasm_db_backup.tar -p /opt/kasm/${CURRENT_VERSION}/
else
CURRENT_MAJOR_VERSION=$(echo ${CURRENT_VERSION} | awk -F'\\.' '{print $1}')
CURRENT_MINOR_VERSION=$(echo ${CURRENT_VERSION} | awk -F'\\.' '{print $2}')
if [ "${CURRENT_MAJOR_VERSION}" == "1" ] && [ "${CURRENT_MINOR_VERSION}" -le "10" ] ; then
# Kasm versions earlier than 1.11.0 didn't have a backup utility that worked with remote databases
bash ${SCRIPT_PATH}/bin/utils/db_backup -f /opt/kasm/backups/kasm_db_backup.tar -p /opt/kasm/${CURRENT_VERSION}/ -q "${DATABASE_HOSTNAME}"
else
bash /opt/kasm/${CURRENT_VERSION}/bin/utils/db_backup -f /opt/kasm/backups/kasm_db_backup.tar -p /opt/kasm/${CURRENT_VERSION}/ -q "${DATABASE_HOSTNAME}"
fi
fi
if [ ! -f "/opt/kasm/backups/kasm_db_backup.tar" ]; then
echo "Error backing up database, please follow the instructions at https://kasmweb.com/docs/latest/upgrade/single_server_upgrade.html to manually upgrade your installation"
start_kasm
exit 1
fi
}
function clean_install() {
echo "Installing Kasm Workspaces ${KASM_VERSION}"
if [ ! -z "${SERVICE_IMAGE_TARFILE}" ]; then
OPTS="-s ${SERVICE_IMAGE_TARFILE} -I"
else
OPTS="-I"
fi
LOSSLESS=""
if [ "${ENABLE_LOSSLESS}" == "true" ]; then
LOSSLESS="-A"
fi
bash ${SCRIPT_PATH}/install.sh -N -e -H -D ${OPTS} ${LOSSLESS} -Q ${DB_PASSWORD} -M ${MANAGER_TOKEN} -L ${DEFAULT_PROXY_LISTENING_PORT}
}
function db_install() {
echo "Installing Kasm Workspaces ${KASM_VERSION}"
if [ ! -z "${SERVICE_IMAGE_TARFILE}" ]; then
OPTS="-s ${SERVICE_IMAGE_TARFILE} -I"
else
OPTS="-I"
fi
if [ "${ROLE}" == "db" ] ; then
bash ${SCRIPT_PATH}/install.sh -e -H -D ${OPTS} -S db -Q ${DB_PASSWORD} -R ${REDIS_PASSWORD} -L ${DEFAULT_PROXY_LISTENING_PORT}
else
bash ${SCRIPT_PATH}/install.sh -N -e -H -D ${OPTS} -S init_remote_db -q "${DATABASE_HOSTNAME}" -Q "${DB_PASSWORD}" -R "${REDIS_PASSWORD}" -L ${DEFAULT_PROXY_LISTENING_PORT} -g "${DATABASE_MASTER_USER}" -G "${DATABASE_MASTER_PASSWORD}"
fi
}
function agent_install() {
echo "Installing Kasm Workspaces ${KASM_VERSION}"
if [ ! -z "${SERVICE_IMAGE_TARFILE}" ]; then
OPTS="-s ${SERVICE_IMAGE_TARFILE} -I"
else
OPTS="-I"
fi
bash ${SCRIPT_PATH}/install.sh -N -e -H ${OPTS} -S agent -D -p ${PUBLIC_HOSTNAME} -m ${MANAGER_HOSTNAME} -M ${MANAGER_TOKEN} -L ${DEFAULT_PROXY_LISTENING_PORT}
}
function app_install() {
echo "Installing Kasm Workspaces ${KASM_VERSION}"
if [ ! -z "${SERVICE_IMAGE_TARFILE}" ]; then
OPTS="-s ${SERVICE_IMAGE_TARFILE} -I"
else
OPTS="-I"
fi
bash ${SCRIPT_PATH}/install.sh -N -e -H ${OPTS} -S app -D -q ${DATABASE_HOSTNAME} -Q ${DB_PASSWORD} -R ${REDIS_PASSWORD} -L ${DEFAULT_PROXY_LISTENING_PORT}
}
function proxy_install() {
echo "Installing Kasm Workspaces ${KASM_VERSION}"
if [ ! -z "${SERVICE_IMAGE_TARFILE}" ]; then
OPTS="-s ${SERVICE_IMAGE_TARFILE} -I"
else
OPTS="-I"
fi
if [ "${API_SERVER_HOSTNAME}" == "false" ]; then
echo "FATAL: option -n|--api-hostname is required for the proxy role"
exit 1
fi
bash ${SCRIPT_PATH}/install.sh -e -H ${OPTS} -S proxy -L ${DEFAULT_PROXY_LISTENING_PORT} -n ${API_SERVER_HOSTNAME}
}
function modify_agent_configs() {
${SCRIPT_PATH}/bin/utils/yq_${ARCH} -i '.agent.server_id = "'${SERVER_ID}'"' /opt/kasm/${KASM_VERSION}/conf/app/agent.app.config.yaml
${SCRIPT_PATH}/bin/utils/yq_${ARCH} -i '.agent.public_hostname = "'${PUBLIC_HOSTNAME}'"' /opt/kasm/${KASM_VERSION}/conf/app/agent.app.config.yaml
# There may be multiple manager hostnames we want to populate all of them.
MANAGER_HOSTNAMES=$(${SCRIPT_PATH}/bin/utils/yq_${ARCH} -o j '.manager.hostnames' /opt/kasm/${CURRENT_VERSION}/conf/app/agent.app.config.yaml)
${SCRIPT_PATH}/bin/utils/yq_${ARCH} -i ".manager.hostnames |= ${MANAGER_HOSTNAMES}" /opt/kasm/${KASM_VERSION}/conf/app/agent.app.config.yaml
}
function modify_api_configs() {
${SCRIPT_PATH}/bin/utils/yq_${ARCH} -i '.manager.manager_id = "'${MANAGER_ID}'"' /opt/kasm/${KASM_VERSION}/conf/app/api.app.config.yaml
${SCRIPT_PATH}/bin/utils/yq_${ARCH} -i '.server.server_hostname = "'${SERVER_HOSTNAME}'"' /opt/kasm/${KASM_VERSION}/conf/app/api.app.config.yaml
}
function copy_nginx() {
if [ $(ls -A /opt/kasm/${CURRENT_VERSION}/conf/nginx/containers.d/) ]; then
cp /opt/kasm/${CURRENT_VERSION}/conf/nginx/containers.d/* /opt/kasm/${KASM_VERSION}/conf/nginx/containers.d/
fi
}
function restore_db() {
if [ "${ROLE}" == "db" ] || [ -z "${ROLE}" ] ; then
/opt/kasm/${KASM_VERSION}/bin/utils/db_restore -a -f /opt/kasm/backups/kasm_db_backup.tar -p /opt/kasm/${KASM_VERSION}
/opt/kasm/${KASM_VERSION}/bin/utils/db_upgrade -p /opt/kasm/${KASM_VERSION}
else
/opt/kasm/${KASM_VERSION}/bin/utils/db_restore -a -f /opt/kasm/backups/kasm_db_backup.tar -p /opt/kasm/${KASM_VERSION} -q "${DATABASE_HOSTNAME}" -g "${DATABASE_MASTER_USER}" -G "${DATABASE_MASTER_PASSWORD}"
/opt/kasm/${KASM_VERSION}/bin/utils/db_upgrade -p /opt/kasm/${KASM_VERSION} -q "${DATABASE_HOSTNAME}"
fi
}
function pull_images() {
CLEAN_ARCH=$(uname -p | sed 's/aarch64/arm64/g' | sed 's/x86_64/amd64/g')
if [ "${PURGE_IMAGES}" == "true" ] && [ "${PULL_IMAGES}" == "true" ]; then
if [ -z "${ROLE}" ]; then
echo "Purging old images from system"
sudo docker exec kasm_db psql -U kasmapp -d kasm -t -c "SELECT name FROM images;" | xargs -L 1 sudo docker rmi || :
elif [ "${ROLE}" == "agent" ]; then
echo "Purging old images from system"
docker run -e PGPASSWORD="${DB_PASSWORD}" --rm "${DB_IMAGE_NAME}" psql -h "${DATABASE_HOSTNAME}" -p "${DATABASE_PORT}" -U kasmapp -d kasm -t -c "SELECT name FROM images;" | xargs -L 1 sudo docker rmi || :
fi
if [ "${ROLE}" == "db" ] || [ -z "${ROLE}" ]; then
sudo docker exec kasm_db psql -U kasmapp -d kasm -t -c "DELETE FROM images;"
elif [ "${ROLE}" == "remote_db" ]; then
docker run -e PGPASSWORD="${DB_PASSWORD}" --rm "${DB_IMAGE_NAME}" psql -h "${DATABASE_HOSTNAME}" -p "${DATABASE_PORT}" -U kasmapp -d kasm -t -c "DELETE FROM images;"
fi
elif [ "${PURGE_IMAGES}" == "false" ] && [ "${PULL_IMAGES}" == "true" ]; then
if [ "${ROLE}" == "db" ] || [ -z "${ROLE}" ]; then
sudo docker exec kasm_db psql -U kasmapp -d kasm -t -c "UPDATE images set enabled = 'false';"
elif [ "${ROLE}" == "remote_db" ]; then
docker run -e PGPASSWORD="${DB_PASSWORD}" --rm "${DB_IMAGE_NAME}" psql -h "${DATABASE_HOSTNAME}" -p "${DATABASE_PORT}" -U kasmapp -d kasm -t -c "UPDATE images set enabled = 'false';"
fi
fi
if [ ! -z "${WORKSPACE_IMAGE_TARFILE}" ]; then
echo "Adding offline Workspaces images"
tar xf ${WORKSPACE_IMAGE_TARFILE} --strip-components=1 -C /opt/kasm/${KASM_VERSION}/conf/database/seed_data/ workspace_images/default_images_${CLEAN_ARCH}.yaml
fi
if [ ! -z "${WORKSPACE_IMAGE_TARFILE}" ] || [ "${PULL_IMAGES}" == "true" ] ; then
if [ -z "${ROLE}" ] || [ "${ROLE}" == "db" ]; then
/opt/kasm/${KASM_VERSION}/bin/utils/db_init -s /opt/kasm/${KASM_VERSION}/conf/database/seed_data/default_images_${CLEAN_ARCH}.yaml
start_kasm
elif [ "${ROLE}" == "remote_db" ]; then
/opt/kasm/${KASM_VERSION}/bin/utils/db_init -s /opt/kasm/${KASM_VERSION}/conf/database/seed_data/default_images_${CLEAN_ARCH}.yaml -q "${DATABASE_HOSTNAME}"
fi
fi
if [ ! -z "${WORKSPACE_IMAGE_TARFILE}" ] && ([ -z "${ROLE}" ] || [ "${ROLE}" == "agent" ]); then
echo "Extracting offline Workspace images"
tar xf "${WORKSPACE_IMAGE_TARFILE}" -C "${KASM_RELEASE}"
# install all kasm infrastructure images
while IFS="" read -r image || [ -n "$image" ]; do
echo "Loading image: $image"
IMAGE_FILENAME=$(echo $image | sed -r 's#[:/]#_#g')
docker load --input ${KASM_RELEASE}/workspace_images/${IMAGE_FILENAME}.tar
done < ${KASM_RELEASE}/workspace_images/images.txt
elif [ "${PULL_IMAGES}" == "true" ] ; then
if [ -z "${ROLE}" ] ; then
if [ $(sudo docker exec kasm_db psql -U kasmapp -d kasm -t -c "SELECT name FROM images WHERE enabled = true;"| sed '/^ *$/ d'| wc -l) -ne 0 ]; then
echo "Pulling default Workspaces Images"
sudo docker exec kasm_db psql -U kasmapp -d kasm -t -c "SELECT name FROM images WHERE enabled = true;" | xargs -L 1 sudo docker pull
fi
elif [ "${ROLE}" == "agent" ] ; then
if [ $(docker run -e PGPASSWORD="${DB_PASSWORD}" --rm "${DB_IMAGE_NAME}" psql -h "${DATABASE_HOSTNAME}" -p "${DATABASE_PORT}" -U kasmapp -d kasm -t -c "SELECT name FROM images WHERE enabled = true;" | sed '/^ *$/ d' | wc -l) -ne 0 ]; then
echo "Pulling default Workspaces Images"
docker run -e PGPASSWORD="${DB_PASSWORD}" --rm "${DB_IMAGE_NAME}" psql -h "${DATABASE_HOSTNAME}" -p "${DATABASE_PORT}" -U kasmapp -d kasm -t -c "SELECT name FROM images WHERE enabled = true;" | xargs -L 1 sudo docker pull
fi
fi
fi
}
function connection_proxy_db_init() {
if [ -z "${ROLE}" ] || [ "${ROLE}" == "db" ]; then
/opt/kasm/${KASM_VERSION}/bin/utils/db_init -s /opt/kasm/${KASM_VERSION}/conf/database/seed_data/default_connection_proxies.yaml
start_kasm
fi
}
function display_help() {
CMD='\033[0;31m'
NC='\033[0m'
echo "Kasm Upgrader ${KASM_VERSION}"
echo "Usage IE:"
echo "${0} --upgrade-images --role all"
echo ""
echo "Flag Description"
echo "--------------------------------------------------------------------------------------------------------------------------"
echo -e "| ${CMD}-h|--help${NC} | Display this help menu |"
echo -e "| ${CMD}-L|--proxy-port${NC} | Default Proxy Listening Port |"
echo -e "| ${CMD}-I|--no-images${NC} | Don't seed or pull default Workspaces Images |"
echo -e "| ${CMD}-U|--upgrade-images${NC} | Upgrade Images to current set purging previous images |"
echo -e "| ${CMD}-K|--add-images${NC} | Ingest the latest images keeping old images in place |"
echo -e "| ${CMD}-w|--offline-workspaces${NC} | Path to the tar.gz workspace images offline installer |"
echo -e "| ${CMD}-s|--offline-service${NC} | Path to the tar.gz service images offline installer |"
echo -e "| ${CMD}-S|--role${NC} | Role to Upgrade: [app|db|agent|remote_db|guac|proxy] |"
echo -e "| ${CMD}-g|--database-master-user${NC} | Database master username required for remote DB |"
echo -e "| ${CMD}-G|--database-master-password${NC} | Database master password required for remote DB |"
echo -e "| ${CMD}-q|--db-hostname${NC} | Database Hostname needed when upgrading agent and pulling images |"
echo -e "| ${CMD}-T|--db-port${NC} | Database port needed when upgrading agent and pulling images (default 5432) |"
echo -e "| ${CMD}-Q|--db-password${NC} | Database Password needed when upgrading agent and pulling images |"
echo -e "| ${CMD}-n|--api-hostname${NC} | Set API server hostname |"
echo -e "| ${CMD}-A|--enable-lossless${NC} | Enable lossless streaming option (1.12 and above) |"
echo "--------------------------------------------------------------------------------------------------------------------------"
}
function check_role() {
if [ "${ROLE}" != "agent" ] && [ "${ROLE}" != "app" ] && [ "${ROLE}" != "db" ] && [ "${ROLE}" != "remote_db" ] && [ "${ROLE}" != "guac" ] && [ "${ROLE}" != "proxy" ];
then
echo "Invalid Role Defined"
display_help
exit 1
fi
}
# Command line opts
for index in "${!ARGS[@]}"; do
case ${ARGS[index]} in
-L|--proxy-port)
DEFAULT_PROXY_LISTENING_PORT="${ARGS[index+1]}"
echo "Setting Default Listening Port as ${DEFAULT_PROXY_LISTENING_PORT}"
;;
-S|--role)
ROLE="${ARGS[index+1]}"
check_role
echo "Setting Role as ${ROLE}"
;;
-h|--help)
display_help
exit 0
;;
-I|--no-images)
PULL_IMAGES="false"
;;
-U|--upgrade-images)
PURGE_IMAGES="true"
PULL_IMAGES="true"
;;
-K|--add-images)
PURGE_IMAGES="false"
PULL_IMAGES="true"
;;
-w|--offline-workspaces)
WORKSPACE_IMAGE_TARFILE="${ARGS[index+1]}"
OFFLINE_INSTALL="true"
if [ ! -f "$WORKSPACE_IMAGE_TARFILE" ]; then
echo "FATAL: Workspace image tarfile does not exist: ${WORKSPACE_IMAGE_TARFILE}"
exit 1
fi
echo "Setting workspace image tarfile to ${WORKSPACE_IMAGE_TARFILE}"
;;
-s|--offline-service)
SERVICE_IMAGE_TARFILE="${ARGS[index+1]}"
OFFLINE_INSTALL="true"
PULL_IMAGES="false"
if [ ! -f "$SERVICE_IMAGE_TARFILE" ]; then
echo "FATAL: Service image tarfile does not exist: ${SERVICE_IMAGE_TARFILE}"
exit 1
fi
echo "Setting service image tarfile to ${SERVICE_IMAGE_TARFILE}"
;;
-g|--database-master-user)
DATABASE_MASTER_USER="${ARGS[index+1]}"
echo "Using Database Master User ${DATABASE_MASTER_USER}"
;;
-G|--database-master-password)
DATABASE_MASTER_PASSWORD="${ARGS[index+1]}"
echo "Using Database Master Password from stdin -G"
;;
-q|--db-hostname)
DATABASE_HOSTNAME="${ARGS[index+1]}"
echo "Setting Database Hostname as ${DATABASE_HOSTNAME}"
;;
-T|--db-port)
DATABASE_PORT="${ARGS[index+1]}"
echo "Setting Database Port to ${DATABASE_PORT}"
;;
-Q|--db-password)
DB_PASSWORD="${ARGS[index+1]}"
echo "Setting Default Database Password from stdin -Q"
;;
-n|--api-hostname)
API_SERVER_HOSTNAME="${ARGSAPPEND[index+1]}"
echo "Setting API Server Hostname as ${API_SERVER_HOSTNAME}"
;;
-A|--enable-lossless)
ENABLE_LOSSLESS="true"
;;
-*|--*)
echo "Unknown option ${ARG}"
display_help
exit 1
;;
esac
done
# Check to ensure docker has enough disk space
DOCKER_DIR=$(docker info | awk -F': ' '/Docker Root Dir/ {print $2}')
BYTES=$(df --output=avail -B 1 "${DOCKER_DIR}" | tail -n 1)
if [ "${BYTES}" -lt "${DISK_SPACE}" ] && [ "${PULL_IMAGES}" == "true" ] && { [ -z "${ROLE}" ] || [ "${ROLE}" == "agent" ]; } ; then
echo "Not enough disk space for the upgrade - Please free up disk space or use -I to not preseed images"
exit -1
fi
# Perform upgrade
if [ -z "${ROLE}" ]; then
gather_vars
stop_kasm
backup_db
clean_install
modify_agent_configs
modify_api_configs
copy_nginx
restore_db
start_kasm
connection_proxy_db_init
pull_images
start_kasm
elif [ "${ROLE}" == "db" ]; then
gather_vars
stop_kasm
backup_db
db_install
restore_db
start_kasm
connection_proxy_db_init
pull_images
start_kasm
elif [ "${ROLE}" == "remote_db" ]; then
gather_vars
stop_kasm
backup_db
db_install
restore_db
pull_images
elif [ "${ROLE}" == "agent" ]; then
gather_vars
stop_kasm
agent_install
modify_agent_configs
copy_nginx
start_kasm
pull_images
start_kasm
elif [ "${ROLE}" == "app" ]; then
gather_vars
stop_kasm
app_install
modify_api_configs
start_kasm
elif [ "${ROLE}" == "guac" ]; then
gather_vars
stop_kasm
guac_install
modify_api_configs
start_kasm
elif [ "${ROLE}" == "proxy" ]; then
stop_kasm
proxy_install
start_kasm
fi
printf "\n\n"
echo "Upgrade from ${CURRENT_VERSION} to ${KASM_VERSION} Complete"

View file

@ -0,0 +1,200 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<defs>
<font id="simple-line-icons" horiz-adv-x="1024">
<font-face underline-position="0" panose-1="2 0 5 3 0 0 0 0 0 0" underline-thickness="0" font-weight="400" font-family="simple-line-icons" bbox="-3.63064 -66.0327 1030.76 962.035" descent="-64" units-per-em="1024" unicode-range="U+0020-E620" ascent="960"/>
<missing-glyph/>
<glyph glyph-name="space" unicode=" " horiz-adv-x="512"/>
<glyph glyph-name="user-female" unicode="" d="M960.032 157.312l-278.497 132.064c37.1523 18.624 182.256 24.5283 194.256 57.2803c0 0 -57.3438 88.0156 -71.3438 202.336c-5.44043 44.3682 -14.752 102.592 -24 184.592c-15.0078 133.008 -126.88 226.416 -268.191 226.416h-0.255859h-0.255859 c-141.312 0 -253.184 -93.4082 -268.176 -226.4c-9.24805 -82 -18.5605 -140.224 -24.001 -184.592c-14 -114.336 -71.3438 -202.336 -71.3438 -202.336c12 -32.752 157.088 -38.6562 194.256 -57.2803l-278.512 -132.08s-63.9678 -22.4639 -63.9678 -75.4717v-84.5283 c0 -35.376 28.624 -61.3115 63.9678 -61.3115h896.064c35.3438 0 63.9678 25.9355 63.9678 61.3115v84.5283c0 53.0078 -63.9678 75.4717 -63.9675 75.4717zM63.999 -0v81.8398c0 3.4082 12.0957 11.6006 21.9355 15.3447c2.12793 0.751953 3.44043 1.34375 5.44043 2.31934 l278.496 132.064c22.1279 10.4639 36.3203 32.6875 36.5928 57.1514c0.255859 24.4639 -13.4404 46.9756 -35.3125 57.9355c-21.6797 10.8799 -50.3359 16.2559 -95.248 24.0322c-10.6562 1.87207 -25.2158 4.49609 -39.3438 7.3125 c18.3203 41.1045 38.5605 98.5928 46.5283 163.633c1.96777 16.1924 4.49609 34.416 7.3125 54.5918c4.84766 34.3359 10.8477 77.8721 16.752 130.224c11.168 98.8643 95.2803 169.553 204.592 169.553h0.255859h0.255859c109.312 0 193.439 -70.6885 204.592 -169.568 c5.9043 -52.3359 11.9043 -95.8877 16.752 -130.224c2.81641 -20.1758 5.34473 -38.3994 7.3125 -54.5918c7.96777 -65.0244 28.2236 -122.513 46.5273 -163.633c-14.1279 -2.81641 -28.6875 -5.44043 -39.3438 -7.3125 c-44.9121 -7.77637 -73.5684 -13.1523 -95.248 -24.0322c-21.8721 -10.9756 -35.5684 -33.4717 -35.3125 -57.9355c0.288086 -24.4639 14.4639 -46.6875 36.5918 -57.1514l278.496 -132.064c2 -0.975586 3.31152 -1.56738 5.43945 -2.31934 c9.83984 -3.74414 20.4961 -11.9365 21.9365 -15.3447l0.0322266 -81.8242h-896.032z"/>
<glyph glyph-name="people" unicode="" d="M746 124.72l-201.471 111.602c74.8799 58.9121 95.2158 174.688 95.2158 239.601v135.12c0 89.4717 -118.88 189.12 -238.288 189.12c-119.376 0 -241.408 -99.6641 -241.408 -189.12v-135.12c0 -59.0244 24.9756 -178.433 100.624 -239.089l-206.672 -112.112 s-54 -24.0645 -54 -54.0645v-81.0879c0 -29.8398 24.2236 -54.0635 54 -54.0635h692c29.8076 0 54.0312 24.2236 54.0312 54.0635v81.0879c0 31.8076 -54.0322 54.0635 -54.0322 54.0635zM736.033 -0.495117h-672.031v57.2158 c4.5918 3.34375 11.0078 7.21582 16.0635 9.53613c1.50391 0.688477 3.00781 1.4082 4.43164 2.22461l206.688 112.096c18.8477 10.2236 31.3438 29.1836 33.248 50.5273s-7.00781 42.2559 -23.7119 55.6641c-53.6641 43.0244 -76.6562 138.32 -76.6562 189.152v135.12 c0 45.9678 86.6562 125.12 177.408 125.12c92.4316 0 174.288 -78.0645 174.288 -125.12v-135.12c0 -50.1279 -15.5684 -145.84 -70.7842 -189.28c-16.9121 -13.3115 -26 -34.2236 -24.2236 -55.6641c1.80762 -21.4404 14.2559 -40.5283 33.1201 -50.8486l201.472 -111.6 c1.77637 -0.975586 4.03223 -2.03125 5.9043 -2.84766c4.71973 -2 10.5273 -5.34375 14.7832 -8.28809v-57.8877zM969.97 284.064l-204.465 111.601c74.8799 58.9121 98.2236 174.688 98.2236 239.601v135.12c0 89.4717 -121.872 190.128 -241.28 190.128 c-77.5996 0 -156.943 -42.1924 -203.119 -96.2246c26.3359 -1.63184 55.376 -1.66406 80.4639 -9.66406c33.7119 26.2559 76.3682 41.8721 122.656 41.8721c92.4316 0 177.279 -79.0557 177.279 -126.128v-135.12c0 -50.1279 -18.5596 -145.84 -73.7754 -189.28 c-16.9121 -13.3115 -26 -34.2236 -24.2236 -55.6641c1.80762 -21.4404 14.2559 -40.5283 33.1201 -50.8486l204.464 -111.6c1.77637 -0.975586 4.03223 -2.03125 5.9043 -2.84766c4.71973 -2 10.5273 -5.34375 14.7832 -8.28809v-56.9121h-129.184 c19.5039 -14.7197 25.4082 -35.7754 32.9766 -63.999h106.192c29.8076 0 54.0312 24.2236 54.0312 54.0635v80.0957c-0.015625 31.8398 -54.0479 54.0957 -54.0479 54.0957z"/>
<glyph glyph-name="user-follow" unicode="" d="M64.0645 65.3115c0 25.4404 19.0908 33.4053 26.7227 36.9414l281.04 132.624c20.1436 9.24805 34.0479 28.3203 36.752 50.3203c2.71973 22 -6.16016 43.8398 -23.4561 57.7119c-66.4805 53.376 -97.4561 170.688 -97.4561 233.185v159.904 c0 66.8643 116.4 159.856 224.128 159.856c108.672 0 223.92 -91.5361 223.92 -159.856v-159.92c0 -61.5518 -25.5996 -179.312 -94.2559 -233.359c-17.5039 -13.7764 -26.5918 -35.6807 -23.9678 -57.8086c2.62402 -22.1602 16.5918 -41.3125 36.8477 -50.624 l95.9199 -45.5039l15.8076 63.8721l-85.0078 39.7764c88.6562 69.7764 118.656 206.832 118.656 283.648v159.92c0 105.92 -146.624 223.855 -287.92 223.855c-141.312 0 -288.129 -117.936 -288.129 -223.855v-159.92c0 -69.8721 31.8877 -211.248 121.392 -283.088 l-281.04 -132.624s-63.9521 -28.4961 -63.9521 -63.9678v-96.0322c0 -35.3438 28.6396 -63.9678 63.9512 -63.9678h703.92v64l-703.872 -0.0322266v64.9443zM991.939 128.125h-96v96c0 17.6797 -14.3359 32 -32 32s-32 -14.3203 -32 -32v-96h-96 c-17.6641 0 -32 -14.3203 -32 -32c0 -17.6641 14.3359 -32 32 -32h96v-96c0 -17.6641 14.3359 -32 32 -32s32 14.3359 32 32v96h96c17.6641 0 32 14.3359 32 32c0 17.6797 -14.3203 32 -32 32z"/>
<glyph glyph-name="user-following" unicode="" d="M63.5039 0.240234l0.00195312 64.9414c0 25.4404 19.1035 33.4248 26.7197 36.9443l281.04 132.624c20.1436 9.24805 34.0479 28.3203 36.752 50.3203c2.71973 22 -6.16016 43.8398 -23.4561 57.7119c-66.4805 53.376 -97.4561 170.704 -97.4561 233.185v159.92 c0 66.8643 116.4 159.856 224.128 159.856c108.672 0 223.936 -91.5361 223.936 -159.856v-159.92c0 -61.5518 -25.5996 -179.312 -94.2559 -233.376c-17.5039 -13.7764 -26.5918 -35.6807 -23.9678 -57.8086c2.62402 -22.1602 16.5918 -41.3125 36.8477 -50.624 l162.24 -77.248l38.1436 54.0645l-173.664 81.3438c88.6562 69.7764 118.656 206.849 118.656 283.665v159.92c0 105.92 -146.624 223.855 -287.936 223.855s-288.128 -117.936 -288.128 -223.855v-159.92c0 -69.8721 31.8877 -211.248 121.392 -283.088l-281.04 -132.656 s-63.9521 -28.4961 -63.9521 -63.9678v-96.0322c0 -35.3438 28.6396 -63.9678 63.9512 -63.9678h639.712l-52 63.9844zM1012.21 236.493c-13.9043 10.9121 -34.0322 8.43164 -44.9121 -5.47266l-136.848 -208.704l-85.0557 85.0723 c-12.4961 12.4961 -32.7686 12.4961 -45.2646 0s-12.4961 -32.752 0 -45.248l113.136 -113.136c12.4961 -12.4961 32.752 -12.4961 45.248 0c3.04004 3.02441 5.3125 6.54395 6.88086 10.2881l152.304 232.304c10.8799 13.9043 8.43164 34.0166 -5.48828 44.8965z"/>
<glyph glyph-name="user-unfollow" unicode="" d="M799.12 576.144l0.000976562 159.92c0 105.92 -146.608 223.855 -287.904 223.855c-141.312 0 -288.128 -117.936 -288.128 -223.855v-159.92c0 -69.8721 31.8877 -211.232 121.392 -283.072l-281.04 -132.64s-63.9521 -28.4961 -63.9521 -63.9678v-96.0322 c0 -35.3438 28.6396 -63.9678 63.9512 -63.9678h607.936v64l-607.888 -0.0322266v64.9443c0 25.4404 19.1035 33.4248 26.7197 36.9443l281.04 132.624c20.1436 9.24805 34.0479 28.3359 36.752 50.3359c2.71973 22 -6.16016 43.8242 -23.4561 57.6963 c-66.4805 53.376 -97.4561 170.688 -97.4561 233.199v159.92c0 66.8643 116.4 159.856 224.128 159.856c108.688 0 223.904 -91.5361 223.904 -159.856v-159.92c0 -61.5518 -25.5996 -179.328 -94.2236 -233.36c-17.5361 -13.7598 -26.624 -35.6641 -23.9678 -57.792 c2.5918 -22.1602 16.5596 -41.3125 36.8477 -50.624l18.1123 -8.35156l28.0645 51.792l-19.4883 14.7197c88.6562 69.7275 118.656 206.768 118.656 283.584zM924.625 81.1992l90.4961 90.5117c12.4961 12.4639 12.4961 32.752 0 45.248 c-12.4805 12.4805 -32.7529 12.4805 -45.2334 0l-90.5117 -90.5283l-90.4961 90.5283c-12.4961 12.4805 -32.7686 12.4805 -45.249 0c-12.4961 -12.4961 -12.4961 -32.7842 0 -45.248l90.4961 -90.5117l-90.4961 -90.4961c-12.4961 -12.4805 -12.4961 -32.7686 0 -45.2646 c12.4805 -12.4639 32.7529 -12.4639 45.249 0l90.4961 90.5117l90.5117 -90.5117c12.4805 -12.4639 32.7529 -12.4639 45.2334 0c12.4961 12.4961 12.4961 32.7842 0 45.2646z"/>
<glyph glyph-name="user" unicode="" d="M511.728 896c108.672 0 223.92 -91.5342 223.92 -159.854v-159.92c0 -61.5518 -25.5996 -179.312 -94.2559 -233.376c-17.5039 -13.7764 -26.5918 -35.6807 -23.9678 -57.8086c2.62402 -22.1602 16.5918 -41.3125 36.8477 -50.625l278.496 -132.064 c2.17578 -0.992188 26.6875 -5.10449 26.6875 -39.3447l0.0322266 -62.4639l-895.488 -0.0478516v64.9443c0 25.4404 19.0879 33.4248 26.7197 36.9443l281.024 132.624c20.1602 9.24805 34.0645 28.3203 36.7686 50.3203c2.71973 22 -6.16016 43.8398 -23.4561 57.7119 c-66.4805 53.376 -97.4561 170.704 -97.4561 233.185v159.92c0.015625 66.8477 116.416 159.855 224.128 159.854zM511.728 960.002c-141.312 0 -288.127 -117.938 -288.127 -223.857v-159.92c0 -69.8721 31.8877 -211.248 121.392 -283.088l-281.04 -132.64 s-63.9521 -28.4961 -63.9521 -63.9678v-96.0322c0 -35.3438 28.6396 -63.9678 63.9512 -63.9678h895.552c35.3438 0 63.9678 28.624 63.9678 63.9678v96.0322c0 37.5996 -63.9678 63.9678 -63.9678 63.9678l-278.496 132.064 c88.6562 69.7764 118.656 206.849 118.656 283.665v159.92c0 105.92 -146.64 223.855 -287.936 223.855v0z"/>
<glyph glyph-name="trophy" unicode="" d="M735.808 32.1279h-449.936c-17.6797 0 -32 -14.3203 -32 -32s14.3203 -32 32 -32h449.936c17.6797 0 32 14.3203 32 32s-14.3037 32 -32 32zM1017.31 838.368c-3.02441 14.8799 -16.1592 25.5684 -31.3428 25.5684h-156.624v31.9355c0 17.6797 -14.3203 32 -32 32 h-575.536c-17.6797 0 -32 -14.3203 -32 -32v-31.9355h-151.776c-15.1836 0 -28.3193 -10.6885 -31.3438 -25.5684c-0.944336 -4.62402 -22.4004 -116.752 39.9033 -193.152c35.8398 -43.9199 90.6074 -66.9277 162.495 -68.9756 c40.9922 -121.152 144.064 -210.864 268.192 -224.24v-222.912h-95.7764c-17.6797 0 -32 -14.3203 -32 -32s14.3203 -32 32 -32h258.688c17.6797 0 32 14.3203 32 32s-14.3203 32 -32 32h-98.9121v222.88c124.336 13.1201 227.632 102.8 268.736 224.08 c74.3359 1.08789 130.736 24.2402 167.393 69.168c62.3037 76.416 40.8477 188.528 39.9038 193.152zM96.4014 685.44c-28.3359 34.4961 -31.1846 85.4092 -29.7441 114.497h123.152v-108.032c0 -17.2959 1.59961 -34.1602 3.93555 -50.7686 c-43.6797 4.08008 -76.4473 18.832 -97.3438 44.3037zM765.345 691.905c0 -153.088 -114.721 -277.663 -255.713 -277.663c-141.056 0 -255.808 124.56 -255.808 277.663v171.968h511.536v-171.968h-0.015zM927.6 685.442 c-21.6797 -26.4316 -56.0322 -41.4883 -102.272 -44.8643c2.38379 16.7842 4.01562 33.8398 4.01562 51.3281v108.032h128c1.44043 -29.1201 -1.40723 -80 -29.7436 -114.496z"/>
<glyph glyph-name="speedometer" unicode="" d="M511.984 923.872c-281.968 0 -511.345 -229.408 -511.345 -511.376c0 -177.152 89.6797 -339.185 239.903 -433.408c14.9443 -9.47168 34.6885 -4.87988 44.0967 10.0957s4.87988 34.7197 -10.0957 44.0957c-54.0957 33.9521 -99.04 78.0479 -133.424 128.88 l33.5518 19.376c15.3115 8.84766 20.5596 28.3994 11.7119 43.7109c-8.87988 15.3438 -28.4639 20.5596 -43.7119 11.7119l-33.5996 -19.3916c-24.4004 50.5117 -39.2969 105.792 -43.2812 163.424h35.6162c17.6797 0 32 14.3203 32 32s-14.3203 32 -32 32h-35.4561 c4.24023 58.6875 19.7764 114.304 44.5605 164.592l32.1602 -18.5596c5.02441 -2.91211 10.5283 -4.28809 15.9688 -4.28809c11.0557 0 21.8076 5.74414 27.7432 16c8.84766 15.3125 3.59961 34.8809 -11.7119 43.7129l-31.8398 18.3682 c32.1123 46.832 72.8643 87.2959 119.984 119.023l18.0156 -31.2002c5.93555 -10.2881 16.6875 -16 27.7432 -16c5.44043 0 10.9443 1.37598 15.9688 4.28809c15.3115 8.84766 20.5596 28.3994 11.7119 43.7119l-17.9521 31.0723 c49.3281 23.792 103.68 38.6562 160.976 42.8164v-39.8721c0 -17.6797 14.3203 -32 32 -32s32 14.3203 32 32v40c58.5918 -4.08008 114.128 -19.3916 164.384 -43.9512l-17.3604 -30.0479c-8.84766 -15.3115 -3.59961 -34.8799 11.7119 -43.7119 c5.02441 -2.91211 10.5283 -4.28809 15.9688 -4.28809c11.0557 0 21.8076 5.71191 27.7432 16l17.2803 29.9355c46.6885 -31.7764 87.0723 -72.1445 118.88 -118.816l-29.9678 -17.3115c-15.3115 -8.84766 -20.5596 -28.3994 -11.7119 -43.7109 c5.93555 -10.2881 16.6875 -16 27.7432 -16c5.44043 0 10.9443 1.37598 15.9688 4.28809l30.1279 17.3916c24.5918 -50.2725 39.9521 -105.824 44.0479 -164.433h-35.1357c-17.6797 0 -32 -14.3203 -32 -32s14.3203 -32 32 -32h35.1201 c-4.04785 -56.8799 -18.5918 -111.439 -42.4961 -161.312l-31.6797 18.2881c-15.2803 8.84766 -34.9121 3.56738 -43.7119 -11.7129c-8.84766 -15.3115 -3.59961 -34.8799 11.7119 -43.7119l31.7764 -18.3516c-35.1035 -52.2402 -81.4395 -97.3926 -137.359 -131.824 c-15.0557 -9.28027 -19.7119 -29.0078 -10.4639 -44.0322c6.06445 -9.80762 16.5283 -15.2158 27.2803 -15.2158c5.71191 0 11.5361 1.53613 16.752 4.75195c152.464 93.9043 243.472 256.784 243.472 435.632c0 281.952 -229.408 511.36 -511.376 511.36zM748.111 512.272 c15.2959 8.84766 20.5439 28.3984 11.7119 43.71c-8.83203 15.2959 -28.416 20.5439 -43.7119 11.6963l-173.824 -100.352c-9.28027 5.24805 -19.8564 8.49609 -31.2803 8.49609c-35.2803 0 -63.8398 -28.5918 -63.8398 -63.8076 c0 -35.248 28.5762 -63.8398 63.8398 -63.8398c35.2803 0 63.8398 28.5918 63.8398 63.8398c0 0.0644531 -0.015625 0.144531 -0.015625 0.208984z"/>
<glyph glyph-name="social-youtube" unicode="" d="M940.736 770.304c-27.7441 19.9678 -105.056 46.4961 -429.008 46.4961c-347.152 0 -398.656 -30.4639 -415.185 -40.4316c-87.9678 -52.8477 -96.3193 -286.815 -97.0869 -334.256c1.05566 -62.6562 11.1836 -271.12 97.0234 -322.688 c16.4961 -9.93555 67.7119 -40.2236 415.248 -40.2236c324.16 0 401.376 26.4004 429.008 46.2881c74.9756 53.9355 83.5996 239.68 83.8076 317.439c-0.192383 62.5283 -6.75195 271.872 -83.8071 327.376zM903.36 177.424 c-11.1523 -8.03223 -75.1855 -34.2227 -391.634 -34.2227c-305.936 0 -370.128 23.7441 -382.256 31.0557c-30.8799 18.5283 -63.4717 116.88 -66.0312 268.032c2.52832 150.816 35.5684 260.912 66.0967 279.216c12.1602 7.34375 76.5918 31.2793 382.191 31.2793 c316.192 0 380.4 -26.3682 391.633 -34.4326c27.4082 -19.7441 56.752 -123.68 57.1836 -275.632c-0.431641 -154.336 -29.9678 -245.712 -57.1836 -265.296zM720.415 473.17l-287.934 176.689c-9.9043 5.96777 -22.2246 6.12793 -32.2568 0.463867 c-10.0645 -5.67969 -16.2881 -16.3359 -16.2881 -27.8721v-353.44c0 -11.5361 6.22363 -22.1924 16.2881 -27.8721c4.87988 -2.75195 10.3203 -4.12793 15.7119 -4.12793c5.71191 0 11.4717 1.53613 16.5273 4.5918l287.936 176.752 c9.59961 5.80762 15.4717 16.1914 15.4717 27.4072s-5.85645 21.6318 -15.4561 27.4083zM447.953 325.699v240.097l194 -120.032z"/>
<glyph glyph-name="social-twitter" unicode="" d="M684.4 801.312c52.8799 0 100.621 -21.6357 134.253 -56.3721c41.8398 8.0957 81.2803 22.8477 116.721 43.2793c-13.7119 -41.6318 -42.8799 -76.5596 -80.8154 -98.6553c37.1201 4.36816 72.6562 13.9043 105.632 28.1602 c-24.7197 -35.7441 -55.8398 -67.2158 -91.7754 -92.3682c0.335938 -7.63184 0.52832 -15.3438 0.52832 -23.0234c0 -235.728 -185.008 -507.615 -523.312 -507.615c-103.84 0 -200.56 29.6318 -281.903 80.2236c14.3682 -1.67969 29.0078 -2.52734 43.8398 -2.52734 c86.1602 0 165.504 28.4961 228.464 76.4004c-80.5283 1.37598 -148.496 53.0078 -171.808 123.84c11.2158 -2.0957 22.752 -3.21582 34.624 -3.21582c16.7197 0 33.0078 2.16016 48.3994 6.25586c-84.1279 16.3359 -147.536 88.4482 -147.536 174.929v2.28809 c24.8164 -13.376 53.1523 -21.4082 83.3447 -22.3359c-49.376 32.0322 -81.8398 86.5605 -81.8398 148.465c0 32.7197 9.08789 63.376 24.9121 89.6318c90.6885 -107.872 226.208 -178.912 379.088 -186.384c-3.15234 13.0244 -4.78418 26.7842 -4.78418 40.624 c0 98.5439 82.3516 178.4 183.967 178.4zM960.189 717.691h0.160156h-0.160156zM684.397 865.308c-125.664 0 -229.773 -91.8086 -245.806 -210.433c-102.816 20.6562 -196.32 75.0879 -263.504 154.944c-12.1924 14.5117 -30.1602 22.8154 -48.9766 22.8154 c-1.66406 0 -3.34375 -0.0644531 -5.02344 -0.192383c-20.5918 -1.64844 -39.1201 -13.1201 -49.7764 -30.7842c-22.3203 -37.0244 -34.0967 -79.4404 -34.0967 -122.656c0 -28.8477 5.18359 -56.9434 15.0078 -83.2158 c-10.4639 -11.6318 -16.4961 -26.8477 -16.4961 -42.9121v-2.28809c0 -62.6885 24.7842 -120.864 65.9365 -164.464c-2.36816 -10.9756 -1.83984 -22.4639 1.77637 -33.4717c14.1924 -43.1836 40.0322 -80.3994 73.5361 -108.751 c-22.4961 -5.00781 -45.7119 -7.53613 -69.4082 -7.53613c-12.5283 0 -24.7207 0.688477 -36.2568 2.09668c-2.55957 0.320312 -5.08789 0.432617 -7.63184 0.432617c-26.8799 0 -51.2803 -16.9443 -60.3359 -42.7842c-9.93555 -28.3203 1.08887 -59.7119 26.5605 -75.5684 c94.5283 -58.8164 203.712 -89.8721 315.712 -89.8721c364.032 0 583.008 284.976 587.264 563.344c29.792 24.6562 56.1279 53.1846 78.4482 85.1523c8.12793 10.6885 12.96 24.0322 12.96 38.4961c0 21.7764 -10.8955 41.0244 -27.4873 52.5928 c7.18359 24.624 -1.00879 51.2803 -21.0088 67.5684c-11.6797 9.50391 -26 14.3359 -40.4004 14.3359c-11.0078 0 -22.0322 -2.81641 -31.9678 -8.56055c-21.1523 -12.1924 -43.7764 -21.8408 -67.6006 -28.7852c-43.1045 32.4316 -96.5449 50.4961 -151.425 50.4967z"/>
<glyph glyph-name="social-tumblr" unicode="" d="M528.016 896.256l-0.00195312 -223.871h224.32v-95.9678h-223.328l-0.320312 -278.528c0 -51.7764 2.68848 -85.0088 8.16016 -99.7451c8.52832 -23.248 39.5684 -53.0078 97.1846 -53.0078c44.6885 0 104.977 13.4404 150.16 47.248v-149.312 c-37.6797 -17.9678 -72.7197 -25.2158 -103.248 -32.4639c-30.5596 -7.21582 -63.6631 -10.8477 -99.1514 -10.8477c-39.5361 0 -153.664 1.08789 -200.496 120.399c-8.43164 21.4717 -12.6553 52.6553 -12.6553 93.4717v362.624h-128.848l0.624023 98.1279 c42.6562 0 170.624 25.9043 170.624 221.872zM528.014 960.257l-116.976 0.00195312c-35.3438 0 -64 -28.6562 -64 -64c0 -146.496 -81.6318 -157.872 -106.624 -157.872c-35.2158 0 -63.8398 -28.4639 -64 -63.6797l-0.624023 -98.1279 c-0.0957031 -17.0244 6.62402 -33.376 18.624 -45.4717c12.0322 -12.0645 28.3359 -18.8486 45.376 -18.8486h64.8477v-298.624c0 -49.376 5.59961 -87.6318 17.0879 -116.88c28.8477 -73.4404 97.376 -161.009 260.064 -161.009c40.2881 0 78.5918 4.22363 113.872 12.5596 l7.05566 1.66406c29.8721 7.02441 68.0322 15.7764 109.008 35.3125c22.2881 10.624 36.4639 33.0879 36.4639 57.7764v149.312c0 24.2236 -13.6797 46.3672 -35.3438 57.2148c-9.05566 4.55957 -18.8799 6.7832 -28.6562 6.7832 c-13.5684 0 -27.0566 -4.32031 -38.3369 -12.752c-38.0957 -28.5283 -86.8477 -34.4961 -111.808 -34.4961c-25.5996 0 -35.1191 9.28027 -37.2148 11.7441c-1.08789 5.02441 -4.12793 23.7764 -4.12793 77.0088l0.223633 214.528h159.408c35.3438 0 64 28.6562 64 64 v95.9678c0 35.3438 -28.6562 64 -64 64h-160.32v159.888c0 35.3438 -28.6562 64 -64 64v0z"/>
<glyph glyph-name="social-facebook" unicode="" d="M581.76 879.504c3.80762 0 5.99902 -0.15918 5.99902 -0.15918h83.5684l-0.431641 -96h-83.0078c-45.6797 0 -44.624 -39.0078 -44.624 -39.0078v-152.192h161.632l-22.5596 -95.8721h-139.6v-479.776h-95.9043l-0.0644531 479.776h-127.408l-0.255859 95.8721h127.712 v149.184c0.015625 130.08 108.048 138.176 134.944 138.176zM671.327 879.345h0.160156h-0.160156zM581.76 943.505c-23.0078 0 -67.9697 -3.80859 -110.562 -29.4727c-40.3203 -24.2559 -88.3682 -73.9355 -88.3682 -172.688v-85.1836h-63.7119 c-17.0078 0 -33.3115 -6.78418 -45.3438 -18.8164c-12 -12.0645 -18.7197 -28.3682 -18.6553 -45.4082l0.255859 -95.8721c0.12793 -35.248 28.752 -63.7764 64 -63.7764h63.4082l0.0644531 -415.776c0 -35.3438 28.6562 -64 64 -64h95.9043c35.3438 0 64 28.6562 64 64 v415.776h75.5996c28.4004 0 53.4082 18.7197 61.4082 45.9678l22.5596 95.8721c5.67969 19.3438 1.90332 40.2559 -10.1924 56.3682c-12.0645 16.1602 -31.0566 25.6641 -51.2168 25.6641h-97.6318v63.1523l63.6318 0.0322266c35.2158 0 63.8398 28.4639 64 63.7119 l0.431641 92.752c0.0644531 1.18359 0.0966797 2.33594 0.0966797 3.53613c0 35.3438 -28.5918 64 -63.9355 64h-81.9355c-1.83984 0.0957031 -4.49609 0.160156 -7.80713 0.160643z"/>
<glyph glyph-name="social-dropbox" unicode="" d="M1023.42 735.248c-0.719727 10.2236 -6.28711 19.4736 -14.9756 24.9141l-285.184 177.968c-11.5996 7.21582 -26.4316 6.31934 -37.0557 -2.28906l-174.224 -140.944l-174.192 140.944c-10.5918 8.55957 -25.5361 9.53516 -37.0557 2.28711l-285.184 -177.968 c-8.68848 -5.44043 -14.2568 -14.6885 -14.9766 -24.9121c-0.751953 -10.2236 3.47168 -20.1592 11.3115 -26.751l165.216 -138.816l-141.536 -111.184c-8.0957 -6.32031 -12.624 -16.1768 -12.2236 -26.417s5.68066 -19.6641 14.2246 -25.3604l130.976 -87.3115 c-6.43164 -5.83984 -10.5439 -14.208 -10.5439 -23.5996v-128.336c0 -11.1201 5.77637 -21.4404 15.248 -27.2803l321.968 -182.432c5.12012 -3.15234 10.9443 -4.7207 16.752 -4.7207s11.6318 1.59961 16.7842 4.75195l318.224 182.432 c9.47168 5.83984 15.2158 16.1602 15.2158 27.248v150.528c0 2.06445 -0.240234 4.08008 -0.608398 6.03223l124.048 82.6885c8.52832 5.67969 13.8086 15.0879 14.2246 25.3281c0.400391 10.2559 -4.0957 20.0801 -12.1602 26.416l-140.912 111.152l165.312 138.88 c7.85645 6.5918 12.0801 16.5273 11.3281 26.751zM736.673 569.346l-224.688 -140.784l-224.688 140.784l224.688 146.224zM86.8008 729.153l228.464 142.592l142.368 -115.184l-227.344 -147.968zM229.921 529.777l225.969 -141.6l-128.064 -98.0322l-218 145.312z M222.018 283.777l89.3438 -59.5674c11.3438 -7.56836 26.3193 -7.05664 37.1836 1.21582l129.408 99.04v-282.8l-255.936 143.68v98.4316zM798.209 185.346l-256.256 -145.681v287.776l132.656 -101.968c5.71191 -4.40039 12.624 -6.62402 19.5039 -6.62402 c6.19238 0 12.3682 1.77637 17.7441 5.37598l86.3359 57.5684v-96.4482h0.015625zM913.457 435.521l-218.031 -145.327l-127.44 97.9355l226 141.632zM793.666 608.595l-227.345 147.968l142.4 115.184l228.464 -142.592z"/>
<glyph glyph-name="social-dribbble" unicode="" d="M511.984 959.728c-69.8564 0 -136.464 -14.1113 -197.184 -39.5674c-2.1123 -0.671875 -4.17676 -1.55176 -6.14453 -2.67188c-181.264 -78.8164 -308.384 -259.553 -308.384 -469.505c0 -282.16 229.568 -511.712 511.712 -511.712 c282.192 0 511.744 229.568 511.744 511.712c0 282.192 -229.552 511.744 -511.744 511.744zM959.729 447.984c0 -3.58398 -0.192383 -7.11914 -0.272461 -10.6709c-49.0244 13.0078 -173.393 37.4395 -326.801 3.74316c-13.5195 30.8955 -28.5117 62.5752 -45.2793 94.8154 c-1.4082 2.7041 -2.78418 5.28027 -4.17578 7.95215c164.128 63.3438 233.888 148.672 262.768 201.952c70.6885 -79.2158 113.761 -183.552 113.761 -297.792zM797.537 792.562c-14.9121 -35.2002 -69.0391 -126 -244.719 -191.888 c-78.8965 144.224 -140.225 230.672 -174.593 274.64c42.2559 13.2637 87.1836 20.416 133.76 20.416c108.432 0 207.983 -38.7676 285.552 -103.168zM316.05 850.481c27.2158 -33.2803 90.3838 -117.056 175.104 -270.447c-200 -60.2881 -362.448 -53.04 -418.832 -47.792 c26.8164 140.144 119.072 257.312 243.729 318.239h-0.001zM64.2734 447.986c0 6.89648 0.209961 13.7451 0.530273 20.5771c19.248 -1.93555 49.1523 -4.0791 88.2881 -4.0791c86.8955 0 217.712 10.752 369.008 58.1436 c2.84766 -5.37598 5.66406 -10.7363 8.54395 -16.2725c14.4316 -27.7764 27.4873 -55.1846 39.4072 -82.0645c-27.376 -8.6084 -55.3916 -19.0723 -83.8721 -31.9688c-182.624 -82.7041 -268.192 -200.704 -298.673 -252.336 c-76.2725 80.3203 -123.232 188.752 -123.232 308zM236.1 95.7637c16.2402 30.752 90.6074 154.082 276.447 238.258c27.9678 12.6719 55.5195 22.7842 82.3838 30.9121c60.7363 -154.32 81.8086 -281.568 88.1768 -330.593 c-52.752 -21.9043 -110.528 -34.0645 -171.12 -34.0645c-104.016 0 -199.792 35.7598 -275.888 95.4873zM743.618 64.9658c-9.23242 61.5996 -32.1445 177.392 -85.9688 315.664c148.448 29.5518 265.952 0.55957 295.616 -8.08008 c-22.2236 -130.208 -100.735 -241.488 -209.647 -307.584z"/>
<glyph glyph-name="shield" unicode="" d="M907.952 815.52c-11.8721 11.0879 -27.5029 17.2168 -43.6631 17.2168c-1.47168 0 -2.94336 -0.0644531 -4.39941 -0.160156c-0.912109 -0.0644531 -11.1846 -0.688477 -27.2803 -0.688477c-26.6562 0 -78.6885 1.80762 -127.969 13.9355 c-63.6641 15.6318 -137.12 88.1602 -158.496 102.464c-10.752 7.18359 -23.1523 10.7832 -35.5684 10.7832c-12.3682 0 -24.7842 -3.59961 -35.5361 -10.752c-2.5918 -1.74414 -79.5039 -84.0322 -154.752 -102.496c-49.248 -12.1279 -102.288 -13.9355 -128.912 -13.9355 c-16.0957 0 -26.3682 0.624023 -27.376 0.688477c-1.4082 0.0957031 -2.81641 0.160156 -4.22461 0.160156c-16.1924 0 -31.8721 -6.16016 -43.7764 -17.2803c-12.9443 -12.0957 -20.3203 -29.0078 -20.3203 -46.7197v-160.032c0 -591.632 387.12 -667.808 403.568 -670.783 c3.74414 -0.65625 7.53613 -1.00781 11.3125 -1.00781c3.77637 0 7.60059 0.335938 11.3125 1.00781c16.4316 2.97559 406.399 79.1514 406.399 670.783v160.032c0.0322266 17.7441 -7.34375 34.6885 -20.3193 46.7842zM864.305 608.704 c0 -544.912 -353.714 -607.777 -353.714 -607.777s-350.88 62.8799 -350.88 607.776v160.032s12.0957 -0.847656 31.6797 -0.847656c33.5684 0 90.0322 2.46387 144.16 15.7754c88.624 21.7441 175.024 111.408 175.024 111.408s90.2559 -89.6641 178.784 -111.408 c54.1924 -13.3115 109.681 -15.7754 143.249 -15.7754c19.5684 0 31.6807 0.847656 31.6807 0.847656s0.015625 -20.3516 0.015625 -160.031h0.000975zM647.599 613.759c-12.4961 12.4961 -32.7686 12.4961 -45.249 0l-90.5117 -90.5117l-90.5117 90.5117 c-12.4961 12.4961 -32.7686 12.4961 -45.2646 0s-12.4961 -32.7686 0 -45.249l90.5117 -90.5117l-90.5117 -90.5117c-12.4961 -12.4805 -12.4961 -32.7529 0 -45.249s32.7686 -12.4961 45.2646 0l90.5117 90.5117l90.5117 -90.5117 c12.4805 -12.4961 32.7529 -12.4961 45.249 0s12.4961 32.7686 0 45.249l-90.5117 90.5117l90.5117 90.5117c12.4961 12.4805 12.4961 32.7529 0 45.249z"/>
<glyph glyph-name="screen-tablet" unicode="" d="M832.144 960h-640.288c-53.0244 0 -96 -42.9756 -96 -96v-832c0 -53.0244 42.9756 -96 96 -96h640.288c53.0244 0 96 42.9756 96 96v832c0 53.0244 -42.9756 96 -96 96zM864.144 32c0 -17.6641 -14.3359 -32 -32 -32h-640.288c-17.6641 0 -32 14.3359 -32 32v832 c0 17.6641 14.3359 32 32 32h640.288c17.6641 0 32 -14.3359 32 -32v-832zM512.048 159.824c-35.2803 0 -63.8398 -28.5918 -63.8398 -63.8242s28.5596 -63.8408 63.8398 -63.8408c35.2637 0 63.8398 28.6084 63.8398 63.8408c0 35.2324 -28.5762 63.8242 -63.8398 63.8242z M576.048 864h-128c-17.6641 0 -32 -14.3359 -32 -32s14.3359 -32 32 -32h128c17.6641 0 32 14.3359 32 32s-14.3359 32 -32 32z"/>
<glyph glyph-name="screen-smartphone" unicode="" d="M704.144 960h-384.288c-53.0244 0 -96 -42.9756 -96 -96v-832c0 -53.0244 42.9756 -96 96 -96h384.288c53.0244 0 96 42.9756 96 96v832c0 53.0244 -42.9756 96 -96 96zM736.144 32c0 -17.6641 -14.3359 -32 -32 -32h-384.288c-17.6641 0 -32 14.3359 -32 32v832 c0 17.6641 14.3359 32 32 32h384.288c17.6641 0 32 -14.3359 32 -32v-832zM512.048 159.824c-35.2803 0 -63.8398 -28.5918 -63.8398 -63.8242s28.5762 -63.8408 63.8398 -63.8408c35.2803 0 63.8398 28.6084 63.8398 63.8408c0 35.2324 -28.5596 63.8242 -63.8398 63.8242z M576.048 864h-128c-17.6641 0 -32 -14.3359 -32 -32s14.3359 -32 32 -32h128c17.6641 0 32 14.3359 32 32s-14.3359 32 -32 32z"/>
<glyph glyph-name="screen-desktop" unicode="" d="M960 864.192h-896c-35.1836 0 -64 -28.7998 -64 -64v-544.192c0 -35.1836 28.8164 -63.9834 64 -63.9834h416v-96.208h-160c-17.6641 0 -32 -14.3359 -32 -32s14.3359 -32 32 -32h384c17.6641 0 32 14.3359 32 32c0 17.6641 -14.3359 32 -32 32h-160v96.208h416 c35.1836 0 64 28.7998 64 63.9834v544.192c0 35.2002 -28.8164 64 -64 64zM960 256h-896v544.192h896v-544.192z"/>
<glyph glyph-name="plane" unicode="" d="M934.32 894.096c10.4316 0 17.7764 -1.93848 21.6006 -3.41016c4.5918 -12.2236 10.752 -56.0312 -34.5283 -101.343l-230.992 -230.976l1.66406 -28.6562c3.50391 -59.9678 10 -167.439 15.5996 -259.567c4.94434 -82 9.63281 -159.44 9.93652 -166.032 c0.160156 -4.52832 0.224609 -5.60059 -3.99902 -10.6885c-9.44043 -11.4717 -27.0566 -30.9121 -41.9043 -47.0244c-23.0244 62.0322 -71.4082 193.057 -98.1279 266.4l-34.3359 94.3682l-71.0244 -71.0244l-130.608 -125.584l-18.1924 -18.1602l-0.55957 -25.6797 c-0.431641 -20.4961 -0.335938 -57.2803 -0.288086 -89.7119c0.0644531 -22.5918 0.128906 -43.1201 -0.03125 -54.4316c-0.288086 -0.52832 4.36816 -1.15234 3.93652 -1.9043c-2.78418 4.46387 -5.77637 9.28027 -8.94434 14.2881 c-26.3359 42 -62.7842 100.096 -73.9043 118.224l-8.12793 13.2803l-13.3438 8.06445c-48.5283 29.3115 -102.288 63.1514 -135.088 84.2871c1.13574 0.65625 2.06348 -2.81543 2.81543 -2.41504h2.12793c10.3203 0 27.376 -0.223633 46.4961 -0.496094 c25.0078 -0.335938 53.376 -0.751953 75.0879 -0.751953c8.32031 0 15.7119 0.0644531 21.6641 0.192383l25.6797 0.591797l18.1602 18.1602l125.744 129.712l70.7842 70.752l-93.9355 34.5596c-70.5918 25.9678 -205.808 76.4639 -269.056 100.224 c16.2236 14.9443 35.7754 32.6885 47.1836 42.1289c3.18359 2.62402 5.66406 3.96777 7.37598 3.96777l2.25586 -0.0644531c7.05566 -0.335938 94.6875 -6.06348 179.407 -11.5996c89.9355 -5.87207 191.439 -12.4961 249.151 -16.1602l28.8477 -1.80762l231.024 231.04 c32.4482 32.4004 64.3203 37.248 80.449 37.2475zM934.321 958.093c-37.8076 0 -84.2217 -14.5264 -125.678 -55.998l-210.608 -210.592c-118.624 7.50391 -422.432 27.5996 -429.968 27.8076c-1.34375 0.0644531 -3.00781 0.128906 -4.87988 0.128906 c-10.2559 0 -27.9678 -1.96777 -48.1279 -18.624c-23.6641 -19.5684 -73.0078 -65.9688 -73.0078 -65.9688c-11.9043 -11.9355 -17.9365 -26.7197 -16.4961 -40.624c0.879883 -8.40039 5.43945 -23.7119 26.0635 -31.7764 c12.5283 -4.91211 211.904 -79.5039 303.969 -113.376l-125.744 -129.712c-5.56836 -0.12793 -12.4648 -0.192383 -20.2568 -0.192383c-38.3359 0 -97.7764 1.24805 -121.601 1.24805c-3.15234 0 -5.68066 0 -7.47266 -0.0644531 c-7.24805 -0.223633 -22.2559 3.34473 -61.8398 -29.7432l-2.81641 -2.62402c-11.8721 -11.8721 -14.6562 -23.7119 -14.9121 -31.5361c-0.255859 -8.06445 1.9043 -19.6807 13.5684 -29.0244c7.00781 -5.66406 96.8477 -63.1836 170.527 -107.68 c17.6641 -28.8164 98.9443 -158 103.185 -165.008c6.19238 -10.4639 16.3203 -16.4316 28.4326 -16.8154h1.00781c11.7764 0 23.8721 5.83984 35.7119 17.3438c33.5039 39.1836 28.8799 55.4072 29.0234 62.2236c0.52832 21.376 -0.368164 111.936 0.399414 147.84 l130.592 125.6c33.376 -91.6797 106.336 -289.008 111.216 -301.567c8.12793 -20.624 23.4404 -25.1523 31.8408 -26c1.37598 -0.160156 2.78418 -0.224609 4.16016 -0.224609c12.624 0 25.7119 5.93555 36.4316 16.6553c0 0 46.2559 49.0879 65.9043 72.9756 c19.6797 23.8721 18.9121 44.2559 18.5283 53.8721c-0.160156 6.65625 -18.6885 308.816 -25.5684 426.816l210.656 210.656c74.6562 74.6885 62.7842 164.688 35.0566 192.368c-12.2402 12.3037 -37.0244 21.6152 -67.2969 21.6158z"/>
<glyph glyph-name="notebook" unicode="" d="M849.152 960h-637.999c-46 0 -66.0322 -34 -66.0322 -66v-127.312h-34.9277c-17.3115 0 -31.3438 -14.0322 -31.3438 -31.3447c0 -17.3115 14.0322 -31.3438 31.3438 -31.3438h34.9277v-128.752h-31.9355c-17.3125 0 -31.3447 -14.0322 -31.3447 -31.3438 c0 -17.3125 14.0322 -31.3447 31.3438 -31.3447h31.9355v-129.44h-32.624c-17.3115 0 -31.3438 -14.0322 -31.3438 -31.3438s14.0322 -31.3438 31.3438 -31.3438h32.624v-128.464h-32.624c-17.3115 0 -31.3438 -14.0322 -31.3438 -31.3438 s14.0322 -31.3438 31.3438 -31.3438h32.624v-129.28c0 -53.0244 41.5361 -64 64.5283 -64h639.504c53.0244 0 96 42.9756 96 96v832c0 53.0244 -42.96 96 -96.0002 96.0002zM209.121 0l-0.000976562 129.279h33.3438c17.3115 0 31.3438 14.0322 31.3438 31.3438 c0 17.3125 -14.0322 31.3447 -31.3438 31.3447h-33.3438v128.464h33.3438c17.3115 0 31.3438 14.0322 31.3438 31.3438s-14.0322 31.3438 -31.3438 31.3438h-33.3438v129.44h34.0322c17.3125 0 31.3447 14.0322 31.3447 31.3447 c0 17.3115 -14.0322 31.3438 -31.3438 31.3438h-34.0322v128.752h31.0244c17.3115 0 31.3438 14.0322 31.3438 31.3438c0 17.3125 -14.0322 31.3447 -31.3438 31.3447h-31.0244v127.312c0 0.751953 0.0644531 1.37598 0.160156 1.93555 c0.496094 0.0322266 1.12012 0.0644531 1.87207 0.0644531h510v-896h-512.032zM881.152 31.999c0 -17.6641 -14.3359 -32 -32 -32h-64v896h64c17.6641 0 32 -14.3359 32 -32v-832z"/>
<glyph glyph-name="mustache" unicode="" d="M792.848 223.28c-101.344 0 -158.865 47.6289 -196.945 79.1484c-13.4717 11.1523 -25.7275 21.9043 -36.8799 31.6641c-16.9121 14.8477 -38 33.3438 -45.3438 35.9033c-0.223633 0 -3.71191 0.160156 -3.93555 0.192383 c-1.16797 -0.0957031 -4.14355 -0.6875 -4.44727 -0.719727c-5.07227 -2.06445 -23.0879 -17.5684 -37.5684 -30c-13.1357 -11.2803 -28.1113 -24.1602 -45.0391 -37.376l-3.08789 -2.36816c-43.4717 -33.9355 -97.584 -76.1592 -193.152 -76.1592 c-70.9922 0 -140.928 32.1279 -182.576 83.8721c-27.9199 34.6885 -57.2959 95.0244 -38.6719 185.473c2.25586 10.9443 10.0156 19.9043 20.4316 23.6318c10.4805 3.77637 22.0166 1.71191 30.6084 -5.37598c0.624023 -0.463867 22.5762 -17.3438 59.0566 -17.3438 c18.3682 0 37.5039 4.33594 56.832 12.9443c33.1357 14.752 56.7354 56.1279 81.7109 84.0635c34.1758 38.1602 72.8477 81.4082 136.688 81.9043c44.0479 0 83.792 -16.2881 119.248 -48.4961c35.3115 32.0645 74.7676 48.2568 117.68 48.2568 c65.1035 -0.496094 104.592 -43.7764 139.439 -82c25.4404 -27.8721 49.4727 -69.2158 82.6084 -83.9678c19.3281 -8.5918 38.6719 -12.9434 57.4883 -12.9434c37.8721 0 61.5039 17.3115 62.4482 18.0635c8.76758 6.49609 20.3193 8.19238 30.4795 4.22461 c10.1436 -4 17.6797 -12.8799 19.7119 -23.6641c17.0879 -89.4404 -12.96 -149.408 -41.1836 -183.968c-42.7676 -52.4004 -113.903 -84.96 -185.6 -84.9598zM510.733 434.125c0.992188 0 3.68262 -0.0947266 4.62695 -0.19043 c0.0322266 0 4.68848 -0.335938 4.68848 -0.368164c0.335938 -0.0322266 3.00781 -0.368164 3.2959 -0.432617c23.1523 -3.28027 44.624 -22.1279 77.2158 -50.6875c10.7041 -9.4082 22.4961 -19.7441 35.4717 -30.4961c34.7842 -28.8164 78.0967 -64.6562 156.816 -64.6562 c53.3115 0 105.743 23.6318 136.783 61.6797c20.4004 24.9756 31.0088 54.7197 31.6807 88.7842c-15.0244 -4.68848 -33.2803 -8.19238 -54.3203 -8.19238c-27.6641 0 -55.5684 6.19238 -82.9766 18.3682c-45.248 20.0957 -76.3037 69.1201 -103.68 99.1523 c-34.5283 37.8721 -57.4727 61.0879 -92.0811 61.376c-46.1602 0 -75.9521 -29.0557 -94.416 -50.9121c-6.03223 -7.12012 -14.8164 -11.2158 -24.0967 -11.2158v0c-9.28027 0 -18.0801 4.12793 -24.0801 11.248c-18.5283 21.9355 -48.416 51.1191 -93.8398 51.1191 c-35.0879 -0.255859 -57.4082 -23.2803 -90.9922 -60.8486c-27.0557 -30.2236 -57.6953 -79.4717 -103.231 -99.6797c-27.3916 -12.1924 -55.1035 -18.3682 -82.3037 -18.3682c-20.4004 0 -38.0645 3.4082 -52.624 8.03223 c-0.0322266 -34.7197 10.1113 -64.9121 30.335 -90.0322c29.9355 -37.1523 81.0391 -60.2559 133.439 -60.2559c74 0 114.896 31.9355 154.464 62.8154l3.08789 2.41602c16.0479 12.5283 30.2402 24.752 42.6885 35.4404c28.5117 24.4961 47.3281 40.6885 67.6484 44.2881v0 c0.015625 -0.015625 9.69531 1.61621 16.3994 1.61621z"/>
<glyph glyph-name="mouse" unicode="" d="M513.584 960c-158.128 0 -289.504 -128.225 -289.504 -286.337v-451.312c0 -158.128 131.376 -286.352 289.504 -286.352s286.352 128.224 286.352 286.336v451.328c0 158.112 -128.224 286.336 -286.352 286.336v0.001zM735.936 222.335 c0 -122.592 -99.7422 -222.336 -222.351 -222.336s-225.505 99.7441 -225.505 222.336v451.328c0 122.592 102.912 222.336 225.504 222.336s222.352 -99.7441 222.352 -222.336v-451.328zM512.338 767.999c-17.6641 0 -32 -14.3359 -32 -32v-160 c0 -17.6641 14.3359 -32 32 -32c17.6641 0 32 14.3359 32 32v160c0 17.6641 -14.3359 32 -32 32z"/>
<glyph glyph-name="magnet" unicode="" d="M960.288 899.824v29.0078c0 17.6797 -14.3203 32 -32 32h-224.624c-17.6797 0 -32 -14.3203 -32 -32v-130.656c0 -0.0478516 0.0322266 -0.0957031 0.0322266 -0.143555v-397.52c0 -96.3203 -54.3359 -174.656 -150.656 -174.656s-168.656 78.3359 -168.656 174.656 v499.312h-0.0957031v29.0078c0 17.6797 -14.3203 32 -32 32h-224.624c-17.6797 0 -32 -14.3203 -32 -32v-130.656c0 -0.65625 0.335938 -1.2002 0.368164 -1.83984v-410.496c0 -248.912 198.784 -450.656 447.664 -450.656c248.88 0 448.656 201.744 448.656 450.656 v513.984zM896.288 896.832v-128.336h-160.256v128.336h160.256zM288.288 896.832v-128.336h-160.256v128.336h160.256zM511.68 -0.832031c-213.216 0 -383.663 173.472 -383.663 386.655v318.672h160.336v-303.984c0 -131.808 100.848 -238.655 232.655 -238.655 s214.672 106.848 214.672 238.655v303.984h160.656v-318.672c0 -213.184 -171.424 -386.655 -384.656 -386.655z"/>
<glyph glyph-name="magic-wand" unicode="" d="M1020.51 530.624l-102.783 153.678l51.1523 178.816c3.18359 11.2158 0.0634766 23.2803 -8.22461 31.5039c-8.25586 8.25586 -20.2559 11.3115 -31.5361 8.03125l-178.512 -52.1279l-154.288 103.904c-9.71191 6.52832 -22.1602 7.3125 -32.4639 1.93652 c-10.3682 -5.31152 -17.0244 -15.8711 -17.4082 -27.5029l-5.53613 -185.936l-146.496 -114.592c-9.18359 -7.18359 -13.7119 -18.8154 -11.8721 -30.3193s9.80762 -21.0879 20.8154 -25.0234l137.456 -49.2803c-0.927734 -0.736328 -1.90332 -1.39258 -2.76758 -2.25684 l-530.752 -530.752c-12.4961 -12.4961 -12.4961 -32.752 0 -45.248c6.25586 -6.25586 14.4316 -9.37598 22.624 -9.37598c8.1924 0 16.3682 3.12012 22.624 9.37598l530.752 530.752c2.06445 2.06445 3.66406 4.40039 5.04004 6.81641l53.792 -147.552 c4 -10.9443 13.6318 -18.8486 25.1514 -20.6562c1.63184 -0.255859 3.28027 -0.368164 4.91211 -0.368164c9.80762 0 19.1836 4.52832 25.3115 12.4326l113.776 147.168l183.904 6.55957c11.6641 0.400391 22.1602 7.12012 27.4404 17.5361 c5.26367 10.3838 4.44727 22.8477 -2.1123 32.4795zM794.049 537.454c-9.50391 -0.320312 -18.3682 -4.88184 -24.1924 -12.4014l-87.4717 -113.104l-48.9756 134.32c-3.24805 8.94434 -10.3203 15.9365 -19.2803 19.1523l-134.592 48.2559l112.624 88.0645 c7.50391 5.87207 11.9678 14.752 12.2881 24.2559l4.25586 142.944l118.592 -79.8721c7.9043 -5.31152 17.7764 -6.81543 26.8486 -4.19141l137.248 40.0957l-39.3438 -137.472c-2.5918 -9.15234 -1.00781 -18.9766 4.33594 -26.8486l80.5596 -118.128z"/>
<glyph glyph-name="hourglass" unicode="" d="M833.056 895.392h-64.4648v-215.408c0 -104.384 -56.6562 -183.359 -178.097 -245.199c126.064 -63.8076 179.104 -142.159 179.104 -259.071c0 -76.1279 -0.335938 -140 -0.591797 -175.12h64.0645c17.6797 0 32 -14.2881 32 -31.9678s-14.3203 -32 -32 -32h-642.128 c-17.6797 0 -32 14.3203 -32 32s14.3203 31.9678 32 31.9678h65.9355c-0.240234 35.1201 -0.591797 99.0078 -0.591797 175.12c0 116.912 52.2881 195.248 178.145 259.056c-121.232 61.8398 -177.137 140.815 -177.137 245.199v215.424h-66.3516 c-17.6797 0 -32 14.3037 -32 32c0 17.6641 14.3203 31.9844 32 31.9844h642.128c17.6797 0 32 -14.3203 32 -31.9844c-0.015625 -17.6963 -14.3193 -32 -32.0156 -32zM320.271 175.712c0 -76.2881 0.352539 -140.224 0.592773 -175.12h384.176 c0.223633 34.9121 0.591797 98.8477 0.591797 175.12c0 89.0078 -33.1201 158.032 -193.185 224.4c-160.016 -66.3682 -192.176 -135.393 -192.176 -224.4zM704.623 895.392h-383.359v-215.408c0 -61.376 20.6396 -140.416 191.168 -210.528 c170.56 70.1123 192.191 149.152 192.191 210.528v215.408z"/>
<glyph glyph-name="graduation" unicode="" d="M990.848 263.696v258.144l16.0957 8.49609c10.4639 5.44043 17.0557 16.2246 17.1836 28.0322c0.12793 11.7764 -6.25586 22.6885 -16.5918 28.3682l-481.44 257.6c-9.63184 5.28027 -21.2803 5.24805 -30.9766 -0.0957031l-478.8 -257.92 c-10.1924 -5.67969 -16.4961 -16.4639 -16.4316 -28.1602s6.49609 -22.4004 16.8164 -27.9688l210.384 -111.984c-2.63965 -4.65625 -4.27148 -9.96777 -4.27148 -15.6953v-270.784c0 -9.12012 3.9043 -17.8398 10.7207 -23.9043 c6.94434 -6.16016 73.4404 -60.0957 276.752 -60.0957c202.592 0 270.88 50.9756 278 56.7832c7.44043 6.06445 11.7441 15.1523 11.7441 24.7842v277.728c0 4.49609 -0.944336 8.76855 -2.6084 12.6406l129.424 68.3682v-224.512 c-18.9756 -11.1035 -31.8398 -31.4717 -31.8398 -55.0234c0 -35.3438 28.6562 -64 64 -64s64 28.6562 64 64c0 23.6963 -13.04 44.1445 -32.1602 55.2002zM736.031 147.632c-25.1523 -12.0957 -91.7119 -35.9043 -225.744 -35.9043 c-134.88 0 -199.936 25.3438 -223.472 37.5361v237.136l207.808 -110.624c4.71973 -2.55957 9.96777 -3.83984 15.1836 -3.83984c5.08789 0 10.1924 1.21582 14.8164 3.66406l211.408 111.664v-239.632zM510.063 340.19l-411.6 218.561l412.32 220.976l413.6 -220.336z"/>
<glyph glyph-name="ghost" unicode="" d="M511.984 960.128c-229.216 0 -415.681 -199.903 -415.681 -445.6v-546.672c0 -13.2158 8.16016 -25.0879 20.4961 -29.8398c3.71191 -1.47168 7.63184 -2.16016 11.5039 -2.16016c8.84766 0 17.5361 3.67969 23.7119 10.5273l120.592 133.12l94.4316 -130.432 c5.96777 -8.25586 15.5039 -13.1514 25.6797 -13.2158h0.223633c10.0957 0 19.6318 4.78418 25.6641 12.9121l94.8164 127.344l93.1836 -127.152c6.03223 -8.22363 15.6006 -13.0879 25.8086 -13.0879c10.1924 0 19.7764 4.84766 25.8086 13.0557l95.5684 130.288 l118 -132.624c8.81641 -9.9043 22.9443 -13.376 35.2803 -8.62402c12.4004 4.71973 20.624 16.624 20.624 29.9043v546.672c0 245.68 -186.496 445.584 -415.712 445.584zM863.695 51.9688l-88.4023 99.375c-6.43164 7.21582 -15.8076 11.3115 -25.4072 10.6875 c-9.66406 -0.463867 -18.5918 -5.24805 -24.3193 -13.0244l-93.1201 -127.008l-93.0078 126.912c-6 8.19238 -15.5361 13.0566 -25.6797 13.0889h-0.12793c-10.1279 0 -19.6318 -4.78418 -25.6641 -12.9121l-94.6885 -127.152l-92 127.088 c-5.66406 7.80762 -14.5283 12.6553 -24.1602 13.1514c-0.591797 0.0322266 -1.15137 0.0644531 -1.74316 0.0644531c-9.00781 0 -17.6318 -3.80762 -23.7119 -10.5273l-91.376 -100.848v463.68c0 210.4 157.776 381.601 351.681 381.601 c193.936 0 351.712 -171.184 351.712 -381.6v-462.576h0.015625zM671.997 607.84c-35.2803 0 -63.8398 -28.5918 -63.8398 -63.8076c0 -35.248 28.5596 -63.8398 63.8398 -63.8398s63.8398 28.5918 63.8398 63.8398c0 35.2158 -28.5596 63.8076 -63.8398 63.8076z M351.997 607.84c-35.2803 0 -63.8398 -28.5918 -63.8398 -63.8076c0 -35.248 28.5762 -63.8398 63.8398 -63.8398s63.8398 28.5918 63.8398 63.8398c0 35.2158 -28.5596 63.8076 -63.8398 63.8076z"/>
<glyph glyph-name="game-controller" unicode="" d="M743.216 884.448c-25.5996 12.0156 -49.8057 23.3281 -71.8379 34.3838c-56.4639 28.2881 -107.664 42.0322 -156.464 42.0322c-98.2881 0 -166.304 -56.7041 -208.96 -99.3604l-206.848 -207.072c-110.688 -110.8 -128.368 -223.6 -57.2646 -365.808 c11.0244 -22.0801 22.3682 -46.3359 34.3682 -72.0322c64.7041 -138.384 131.584 -281.487 241.056 -281.487c3.07227 0 6.1123 0.0957031 9.21582 0.335938c112.976 8.84766 145.023 154.288 173.312 282.592c4.49609 20.3203 8.75195 39.8086 13.1201 57.2803 c7.59961 30.208 22.5596 48.9756 63.5518 90.0635l5.63184 5.66406l3.47168 3.47168l9.12012 9.08789c41.0879 41.0879 59.8555 56.0322 90.0957 63.6641c17.3115 4.35156 36.752 8.63965 57.0244 13.0879c128.224 28.3037 273.6 60.3682 282.399 173.521 c8.87988 114.832 -138.464 183.84 -280.992 250.575zM958.466 639.665c-6.22363 -79.7764 -184.813 -103.324 -291.102 -129.98c-47.0078 -11.8721 -75.6162 -36.752 -118.784 -79.9355c-3.00781 -3.00781 -6.03223 -6.01562 -9.08789 -9.07129 c-3.02441 -3.02441 -6.03223 -6.09668 -9.05664 -9.08887c-43.168 -43.2158 -68 -71.8076 -79.8242 -118.88c-26.6719 -106.384 -50.1914 -285.168 -129.871 -291.44c-1.44043 -0.112305 -2.88086 -0.144531 -4.32129 -0.144531c-84.5439 0 -155.68 192.24 -218.447 317.664 c-63.7441 127.504 -36.4326 210.224 45.3594 292.096c15.6963 15.7275 35.2158 35.2471 59.1357 59.1826c24.4316 24.4639 53.4873 53.5518 87.9189 88c23.9043 23.9355 43.4082 43.4238 59.1201 59.1836c50.7998 50.8477 101.936 80.6396 163.92 80.6396 c37.8076 0 79.6318 -11.0557 127.872 -35.248c127.456 -63.9043 323.888 -136.48 317.168 -222.978zM478.788 608.725h64v64h-64v-64zM478.788 704.725h64v64h-64v-64zM574.788 704.725h64v64h-64v-64zM574.788 608.725h64v64h-64v-64zM329.893 416.564l24.3359 24.3359 c12 12 12 31.4717 0 43.4561c-12 12 -31.4404 12 -43.4404 0l-24.3516 -24.3516l-24.3516 24.3516c-12 12 -31.4404 12 -43.4404 0s-12 -31.4561 0 -43.4561l24.3516 -24.3516l-24.3516 -24.3516c-12 -11.9844 -12 -31.4404 0 -43.4404s31.4561 -12 43.4404 0 l24.3516 24.3359l25.0557 -25.0557c12 -12 31.4404 -12 43.4404 0s12 31.4717 0 43.4717z"/>
<glyph glyph-name="fire" unicode="" d="M508.416 -63.2803c-241.248 0 -412.369 167.281 -412.369 397.777c0 122.368 73.376 254.192 76.4961 259.712c6.36816 11.3438 18.8799 17.5039 31.9355 16.0635c12.9121 -1.66406 23.5361 -10.9756 26.8799 -23.5674 c0.192383 -0.751953 19.9688 -74.752 46.0645 -115.84c17.5361 -27.6484 35.3125 -47.1846 55.3125 -60.7529c-13.5361 58.6562 -23.9043 146.912 -7.02441 237.472c46.3359 248.576 241.984 308.048 250.368 310.448c10.7842 3.08789 22.2246 0.320312 30.4326 -7.15137 c8.19238 -7.50391 11.9365 -18.752 9.80859 -29.6641c-0.320312 -1.74414 -32.624 -175.776 35.9355 -324.064c6.22363 -13.4717 14.9121 -29.1201 24.2559 -44.7842c2.65625 21.5039 6.78418 44.3682 13.1201 66.5605c25.1523 87.9678 90.1924 118 92.9443 119.216 c10.8477 4.94434 23.5039 3.3125 32.8799 -4.03125c9.34375 -7.37598 13.8398 -19.2803 11.6797 -31.0078c-0.335938 -2.16016 -9.4082 -62.0322 41.5361 -146.944c46 -76.6719 59.2803 -126.368 59.2803 -221.681c0 -230.48 -176.432 -397.761 -419.536 -397.761z M195.695 492.32c-17.5684 -44.3037 -35.665 -103.246 -35.665 -157.806c0 -193.408 144.192 -333.776 348.368 -333.776c206 0 355.536 140.368 355.536 333.776c0 83.5361 -10.3203 122.32 -50.1602 188.752c-26.624 44.3682 -39.7764 84.2559 -46.0645 116 c-6.33594 -10.2559 -12.2236 -22.7842 -16.5273 -37.8721c-19.5039 -68.1924 -14.5918 -147.937 -14.5273 -148.753c0.944336 -14.2725 -7.74414 -27.4727 -21.248 -32.2568s-28.5283 -0.0644531 -36.8164 11.6631c-2.40039 3.4082 -59.3125 83.9678 -84.4004 138.24 c-52.0957 112.592 -51.2158 234.336 -45.9043 304.464c-52.7197 -30.7197 -133.664 -99.3438 -159.664 -238.912c-25.3115 -135.808 23.8721 -271.6 24.4004 -272.943c4.25586 -11.0879 2 -23.6641 -5.80762 -32.5918 c-7.83984 -8.87988 -19.9043 -12.8154 -31.5361 -10.0312c-3.96777 0.975586 -94.0322 24.3994 -152.336 116.287c-10.416 16.4639 -19.7598 36.3838 -27.6475 55.7598z"/>
<glyph glyph-name="eyeglass" unicode="" d="M1025.38 308.208c-0.975586 13.8398 -53.0078 319.313 -61.1514 368.226c-0.78418 4.68848 -1.4082 9.68066 -2.0957 14.9443c-6.28809 49.1523 -18.0322 140.624 -165.473 140.624c-17.6797 0 -32 -14.3203 -32 -32s14.3203 -32 32 -32 c91.1201 0 95.9365 -37.4082 102.001 -84.7842c0.78418 -6.06445 1.53613 -11.8721 2.43262 -17.2803c3.74414 -22.5283 20.7041 -112.16 35.3438 -201.024c-37.5518 28.624 -84.2881 45.8076 -135.12 45.8076c-81.6484 0 -154.32 -43.9521 -194.272 -109.36 c-19.2158 7.26367 -51.8242 16.3359 -95.3926 16.3359c-42.9443 0 -74.5127 -9.13574 -94.0322 -17.0879c-38.8477 65.8242 -110.304 110.128 -192.271 110.128c-53.2637 0 -102.735 -18.7197 -141.84 -49.8398c14.832 89.9844 32.4004 182.032 36.208 205.024 c0.912109 5.4082 1.66406 11.2158 2.43164 17.2803c6.06445 47.376 10.8809 84.7842 102.001 84.7842c17.6797 0 32 14.3203 32 32s-14.3203 32 -32 32c-147.44 0 -159.185 -91.4717 -165.473 -140.624c-0.688477 -5.24805 -1.3125 -10.2559 -2.09668 -14.9443 c-8.16016 -48.9121 -57.0078 -352.368 -57.9678 -366.225c-0.223633 -3.08789 0.144531 -6.04785 0.75293 -8.94336c-0.303711 -4.62402 -0.719727 -9.21582 -0.719727 -13.9043c0 -123.344 103.344 -223.344 226.688 -223.344c123.344 0 223.344 100 223.344 223.344 c0 18.6562 -2.54395 36.6719 -6.84766 53.9834c13.1201 5.28027 36.832 12.3359 69.8076 12.3359c32.1758 0 56.4639 -6.43164 70.3037 -11.3281c-4.6084 -17.6318 -7.32812 -35.9678 -7.32812 -54.9922c0 -123.344 103.344 -223.344 226.688 -223.344 s223.344 100 223.344 223.344c0 3.34375 -0.351562 6.60742 -0.495117 9.91992c0.975586 3.48828 1.51953 7.13672 1.23145 10.9443zM225.344 128.018c-88.1924 0 -162.688 72.9756 -162.688 159.344s74.4961 159.344 162.688 159.344 c87.8721 0 159.344 -71.4717 159.344 -159.344s-71.4717 -159.344 -159.344 -159.344zM801.312 128.018c-88.1924 0 -162.689 72.9775 -162.689 159.346s74.4961 159.344 162.688 159.344c76 0 139.632 -53.4883 155.456 -124.784 c0.65625 -6.52832 1.2002 -12.6719 1.61621 -18.2881c0.192383 -2.68848 0.912109 -5.2168 1.83984 -7.66504c0.160156 -2.87988 0.432617 -5.71191 0.432617 -8.62402c0 -87.8564 -71.4717 -159.328 -159.344 -159.328z"/>
<glyph glyph-name="envelope-open" unicode="" d="M1023.31 486.704c-1.36035 11.3115 -5.61426 21.7129 -12.0947 30.4648h0.160156l-0.879883 0.879883c-3.28027 4.32031 -7.12012 8.12793 -11.4082 11.5039l-417.28 403.408c-36.2236 36.2236 -99.5039 36.2881 -135.776 0l-417.216 -400.256 c-9.02441 -8.40039 -28.8809 -31.0889 -28.8809 -53.3447v-479.52c0 -35.1836 28.8164 -64 64 -64h896c35.1836 0 64 28.8164 64 64v478.256c0.223633 2.87988 -0.0644531 5.75977 -0.624023 8.60742zM269.794 233.665l-205.856 -189.567v371.184zM335.569 207.281 c2.28809 1.51953 4.46484 3.24805 6.36914 5.4082c0.368164 0.416016 0.624023 0.912109 0.959961 1.34375l141.168 130c7.24805 5.83984 15.8398 8.91211 24.8799 8.91211c9.18359 0 18.3672 -3.21582 24.5273 -8l383.6 -345.104h-806.736zM757.458 229.442l202.48 179.696 v-361.84zM103.778 517.171l387.501 370.544c6.06445 6.03223 14.0967 9.37598 22.625 9.37598c8.55957 0 16.5918 -3.34375 22.6562 -9.37598l361.376 -344.352h-0.975586l54.8965 -55.792l-242.304 -215.04l-135.248 121.664 c-37.6797 29.5361 -91.7754 30.8164 -131.68 -1.37598l-125.504 -115.584l-241.792 213.344l26.9922 26.5918h1.45605z"/>
<glyph glyph-name="envolope-letter" unicode="" d="M1023.31 486.72c-1.36035 11.3115 -5.61426 21.7129 -12.0947 30.4648h0.160156l-0.879883 0.879883c-3.28027 4.32031 -7.12012 8.12793 -11.4082 11.5039l-167.152 168.384v103.264c0 17.6797 -14.3203 32 -32 32h-101.328l-116.8 99.7119 c-36.2236 36.2236 -99.5039 36.2881 -135.776 0l-116.4 -99.7119h-105.696c-17.6797 0 -32 -14.3203 -32 -32v-105.376l-163.12 -163.12c-17.3438 -11.4717 -28.8799 -31.0879 -28.8799 -53.3438v-479.504c0 -35.1836 28.8164 -64 64 -64h896c35.1836 0 64 28.8164 64 64 v478.24c0.223633 2.87988 -0.0644531 5.75977 -0.624023 8.60742zM268.865 234.497l-204.928 -190.079v370.896zM330.562 204.498c4.22363 1.80762 8.12891 4.52734 11.377 8.22363c1.71191 1.93555 3.05566 4.06348 4.22363 6.25586l137.904 127.936 c7.24805 5.83984 15.8398 8.91211 24.8799 8.91211c9.18359 0 18.3672 -3.21582 24.5273 -8l383.84 -347.936h-807.312zM758.339 230.274l201.6 178.896v-361.632zM897.938 543.378h-0.975586l54.8955 -55.792l-119.92 -106.432v228.208zM491.283 887.682 c6.06445 6.03223 14.0947 9.37598 22.623 9.37598c8.55957 0 16.5918 -3.34375 22.6562 -9.37598l64.624 -54.4639h-174.432zM767.938 769.218v-444.848l-57.3115 -50.8799l-136.32 123.568c-37.6797 29.5361 -91.7754 30.8164 -131.68 -1.37598l-126.624 -117.44 l-60.0645 53.0078v437.968zM103.777 517.187l88.1602 88.1289v-217.616l-116.624 102.896l26.9922 26.5918h1.47168z"/>
<glyph glyph-name="energy" unicode="" d="M595.344 895.28h0.175781h-0.175781zM595.344 895.28l-72.207 -379.377l261.584 -0.879883l-356.064 -514.304l72.208 417.376l-261.568 0.912109zM595.393 959.279c-1.72754 0 -3.45508 -0.0625 -5.15137 -0.19043 c-11.2959 -0.912109 -18.7842 -4.68848 -27.6641 -10.6562c-4.92773 -3.28027 -9.43945 -7.28027 -13.3916 -11.9365c-1.16797 -1.37598 -2.27246 -2.81641 -3.29688 -4.28809l-358.608 -474.608c-14.1602 -19.4082 -16.2402 -45.0244 -5.36035 -66.4326 c10.8643 -21.4082 32.832 -34.9766 56.9121 -35.1523l184.736 -1.34375l-58.0801 -342.192c-5.51953 -29.4082 10.1602 -58.7207 37.7598 -70.5283c8.22363 -3.53613 16.8633 -5.21582 25.3916 -5.21582c20.1123 0 36.6406 9.4082 49.041 26.4004l359.056 514.304 c14.1602 19.4082 16.2246 45.0566 5.36035 66.4326c-10.8643 21.4082 -32.832 34.9766 -56.9121 35.1523l-184.736 0.320312l57.4561 300.88c1.2002 4.84766 1.82422 9.87207 1.82422 15.0557c0 34.624 -27.5684 62.8477 -62.0645 63.9678 c-0.767578 0.0322266 -1.51953 0.0322266 -2.27148 0.0322266v0z"/>
<glyph glyph-name="emotsmile" unicode="" d="M781.264 352.848c-16.2559 7.28027 -35.0889 -0.0644531 -42.2568 -16.1924c-0.65625 -1.42383 -66.1279 -144.208 -229.439 -146.128c-1.00781 0 -2 -0.0322266 -3.00781 -0.0322266c-153.664 0 -219.937 140.368 -222.688 146.4 c-7.31152 16 -26.1914 23.1201 -42.3193 15.8721c-16.0957 -7.28027 -23.248 -26.208 -15.9678 -42.3359c3.4082 -7.56836 85.376 -183.937 280.848 -183.937c1.28027 0 2.5918 0.0322266 3.87207 0.0322266c203.872 2.40039 283.84 176.656 287.12 184.064 c7.24805 16.1602 -0.0322266 35.0723 -16.1602 42.2559zM511.999 959.999c-282.784 0 -512 -229.216 -512 -512s229.216 -512 512 -512s512 229.216 512 512s-229.216 512 -512 512zM511.999 -0.000976562c-247.024 0 -448 200.976 -448 448s200.976 448 448 448 s448 -200.976 448 -448s-200.976 -448 -448 -448zM351.503 480.175c35.2637 0 63.8398 28.5918 63.8398 63.8242s-28.5762 63.8242 -63.8398 63.8242c-35.2803 0 -63.8398 -28.5918 -63.8398 -63.8242s28.5596 -63.8242 63.8398 -63.8242zM671.503 480.175 c35.2637 0 63.8398 28.5918 63.8398 63.8242s-28.5762 63.8242 -63.8398 63.8242c-35.2803 0 -63.8398 -28.5918 -63.8398 -63.8242s28.5596 -63.8242 63.8398 -63.8242z"/>
<glyph glyph-name="disc" unicode="" d="M512 960c-282.784 0 -512 -229.216 -512 -512s229.216 -512 512 -512s512 229.216 512 512s-229.216 512 -512 512zM960 448c0 -66.3203 -14.5928 -129.263 -40.5605 -185.935l-283.216 151.552c3.02441 10.9756 4.78418 22.4639 4.78418 34.3838 c0 71.248 -57.7441 129.008 -129.008 129.008c-14.624 0 -28.624 -2.54395 -41.7119 -7.02441l-169.616 272.912c62.9922 33.8398 134.944 53.1035 211.328 53.1035c247.024 0 448 -200.976 448 -448zM511.999 512.994c35.8398 0 65.0078 -29.1514 65.0078 -65.0078 s-29.168 -64.9922 -65.0078 -64.9922s-64.9922 29.168 -64.9922 65.0078s29.1523 64.9922 64.9922 64.9922zM246.575 808.627l170.177 -273.84c-0.751953 -0.832031 -1.53613 -1.64844 -2.28809 -2.5127l-283.168 151.52c30.208 48.5762 69.3916 90.9766 115.279 124.833z M64 448.003c0 63.6797 13.4395 124.256 37.5039 179.168l284.368 -152.16c-1.85645 -8.71973 -2.88086 -17.7275 -2.88086 -27.0078c0 -71.248 57.7441 -129.008 129.008 -129.008c12.4004 0 24.3525 1.83984 35.6963 5.10352l170.192 -273.792 c-61.6797 -32.0479 -131.664 -50.3037 -205.888 -50.3037c-247.024 0 -448 200.976 -448 448zM772.447 83.8428l-169.504 272.688c0.496094 0.496094 0.959961 1.02441 1.45605 1.53613l284.288 -152.144c-30.752 -47.6318 -70.2402 -89.0879 -116.24 -122.08z"/>
<glyph glyph-name="cursor-move" unicode="" d="M1016.4 463.36l-8.47949 8.0791c-0.160156 0.160156 -0.335938 0.224609 -0.52832 0.368164l-129.744 118.432c-9.34375 8.94434 -24.4482 8.94434 -33.8242 0l-5.48828 -8.06445c-9.34375 -8.94434 -6.30371 -23.4082 3.04004 -32.3359l76.4639 -69.3438h-371.344 v373.344l69.3438 -76.4639c8.94434 -9.34375 23.4082 -12.3838 32.3359 -3.02344l8.06445 5.47168c8.94434 9.37598 8.94434 24.4805 0 33.8408l-113.168 123.968c-2.75195 5.55176 -7.00781 10.1436 -12.3193 13.2959l-1.42383 1.48828 c-4.43164 4.67188 -10.3359 7.00781 -16.2236 6.97559c-5.9043 0.0322266 -11.7764 -2.30371 -16.2881 -6.97559l-8.0957 -8.46387c-0.160156 -0.160156 -0.175781 -0.368164 -0.335938 -0.543945l-115.504 -127.744c-8.92773 -9.32812 -8.92773 -24.4482 0 -33.8242 l8.06445 -5.47168c8.92773 -9.34375 23.4238 -6.31934 32.3682 3.02441l69.1523 77.1045v-375.984h-376.304l76.4639 69.3438c9.34375 8.94434 12.3838 23.4082 3.04004 32.3359l-5.47168 8.06445c-9.36035 8.94434 -24.4961 8.94434 -33.8398 0l-123.984 -113.184 c-5.53613 -2.73633 -10.1279 -7.00879 -13.2803 -12.2891l-1.48828 -1.42383c-4.68848 -4.44824 -7.00879 -10.3525 -6.97656 -16.2402c-0.015625 -5.9043 2.28809 -11.7764 6.97656 -16.2881l8.46387 -8.0957c0.160156 -0.160156 0.368164 -0.175781 0.52832 -0.335938 l127.744 -115.504c9.34375 -8.92773 24.4639 -8.92773 33.8398 0l5.47168 8.06445c9.34375 8.94434 6.30371 23.4404 -3.04004 32.3682l-77.1201 69.1523h379.008v-376.96l-69.1523 77.1035c-8.94434 9.34375 -23.4404 12.3682 -32.3682 3.02441l-8.06445 -5.47168 c-8.92773 -9.37598 -8.92773 -24.4961 0 -33.8242l115.504 -127.744c0.160156 -0.175781 0.192383 -0.368164 0.335938 -0.52832l8.0957 -8.48047c4.51172 -4.67188 10.3838 -7.00781 16.2881 -6.97559c5.87207 -0.0322266 11.7764 2.30371 16.2246 6.97559l8.0957 8.48047 c0.160156 0.160156 0.224609 0.335938 0.368164 0.52832l118.432 129.744c8.94434 9.34375 8.94434 24.4639 0 33.8242l-8.06445 5.48828c-8.94434 9.34375 -23.4082 6.30371 -32.3359 -3.04004l-69.3438 -76.4639v374.336h373.968l-77.1045 -69.1523 c-9.34375 -8.94434 -12.3682 -23.4404 -3.02441 -32.3682l5.47168 -8.06445c9.37598 -8.92773 24.4961 -8.92773 33.8242 0l127.744 115.504c0.175781 0.175781 0.368164 0.191406 0.52832 0.334961l8.48047 8.0957c4.67188 4.49609 7.00781 10.3682 6.97559 16.2881 c0.0322266 5.85645 -2.30371 11.7764 -6.97559 16.2246z"/>
<glyph glyph-name="crop" unicode="" d="M992 160l-128 -0.00195312v593.904l119.456 119.296c12.4805 12.4961 12.4805 32.7686 0 45.2646c-12.4961 12.4961 -32.7686 12.4961 -45.2646 0l-118.608 -118.464h-595.584v128c0 17.6797 -14.3203 32 -32 32s-32 -14.3203 -32 -32v-128h-128 c-17.6797 0 -32 -14.3203 -32 -32c0 -17.6641 14.3203 -32 32 -32h128v-608c0 -2.94434 0.944336 -5.60059 1.68066 -8.28809c0.320312 -1.21582 0.255859 -2.46387 0.719727 -3.63184c3.21582 -8.06445 9.59961 -14.4326 17.6641 -17.6807 c1.37598 -0.55957 2.87988 -0.495117 4.28809 -0.84668c2.52832 -0.639648 4.92871 -1.55176 7.64844 -1.55176h608v-128c0 -17.6797 14.3203 -32 32 -32s32 14.3203 32 32v128h128c17.6797 0 32 14.3203 32 32c0 17.6797 -14.3203 32 -32 32zM755.488 735.998 l-531.488 -530.784v530.784h531.488zM269.28 159.998l530.72 529.984v-529.984z"/>
<glyph glyph-name="credit-card" unicode="" d="M928.144 784h-832.288c-53.0244 0 -96 -42.9756 -96 -96v-480c0 -53.0244 42.9756 -96 96 -96h832.288c53.0244 0 96 42.9756 96 96v480c0 53.0244 -42.9756 96 -96 96zM95.8555 720h832.288c17.6641 0 32 -14.3359 32 -32v-64h-896.288v64c0 17.6641 14.3516 32 32 32z M928.144 176h-832.288c-17.6641 0 -32 14.3359 -32 32v288h896.288v-288c0 -17.6641 -14.3516 -32 -32 -32z"/>
<glyph glyph-name="chemistry" unicode="" d="M810.416 -10.7197l-170.401 201.664v353.504h21.3115c17.6797 0 32 14.3203 32 32s-14.3203 32 -32 32h-53.3115c-17.6797 0 -32 -14.3203 -32 -32v-397.824c0 -7.93555 2.94434 -15.5674 8.25586 -21.4395l130.368 -157.344h-405.28l130.368 157.344 c5.31152 5.87207 8.25586 13.5039 8.25586 21.4395v397.824c0 17.6797 -14.3203 32 -32 32h-53.3115c-17.6797 0 -32 -14.3203 -32 -32s14.3203 -32 32 -32h21.3115v-353.504l-170.4 -201.664c-8.46387 -9.37598 -10.624 -22.8799 -5.50391 -34.4316 c5.15234 -11.5684 16.5928 -19.0088 29.249 -19.0088h549.344c12.6562 0 24.0967 7.44043 29.249 19.0088c5.12012 11.5518 2.97656 25.0557 -5.50391 34.4316zM479.999 640.32c35.2637 0 63.8398 28.5918 63.8398 63.8398c0 35.2158 -28.5762 63.8076 -63.8398 63.8076 c-35.2803 0 -63.8398 -28.5918 -63.8398 -63.8076c0 -35.248 28.5596 -63.8398 63.8398 -63.8398zM688.479 735.312c62.3682 0 112.928 50.3359 112.928 112.416s-50.5439 112.416 -112.928 112.416c-62.3516 0 -112.928 -50.3359 -112.928 -112.416 s50.5762 -112.416 112.928 -112.416zM687.983 896.337c26.6562 0 48.3359 -21.584 48.3359 -48.1279c0 -26.5283 -21.6797 -48.1279 -48.3359 -48.1279s-48.3359 21.5996 -48.3359 48.1279c0.015625 26.5439 21.6797 48.1279 48.3359 48.1279z"/>
<glyph glyph-name="bell" unicode="" d="M905.616 248.112c-37.3438 45.4238 -88.4805 109.742 -88.4805 175.358v208.96c0 180.016 -134.64 326.479 -306.688 326.479c-172.08 0 -305.664 -146.464 -305.664 -326.479v-208.96c0 -64.5117 -55.4883 -125.487 -90.6719 -172.799 c-31.6484 -42.5117 -56.624 -76.0957 -39.7598 -109.664c14.832 -29.5361 51.9678 -33.3281 82.6553 -33.3281h183.36c0.0478516 -94.208 76.4482 -170.576 170.672 -170.576c94.2402 0 170.641 76.3682 170.688 170.576h187.664c19.5195 0 65.1514 0 80.8633 33.2002 c15.8564 33.6162 -9.51953 64.5127 -44.6396 107.232zM511.007 4.14258c-57.2158 0 -103.632 46.3516 -103.712 103.535h207.424c-0.0800781 -57.1836 -46.4639 -103.535 -103.712 -103.535zM869.391 175.807h-712.385c-4.89551 0 -8.99121 0.160156 -12.3672 0.368164 c6.5918 10.208 16.2715 23.248 24.1436 33.8564c38.9922 52.4004 104.145 126.368 104.145 213.424v208.96c0 142.464 103.04 258.352 237.521 258.352s238.561 -115.888 238.561 -258.352v-208.96c0 -90.0156 60.0801 -165.248 103.968 -218.608 c7.3916 -8.99219 16.2393 -19.7598 23.1191 -28.96c-2.03223 -0.0478516 -4.27246 -0.0800781 -6.7041 -0.0800781z"/>
<glyph glyph-name="badge" unicode="" d="M1021.06 120.032l-187.262 346.304c19.1035 43.3604 29.792 91.2803 29.792 141.696c0 194.304 -157.52 351.808 -351.808 351.808c-194.336 0 -351.84 -157.52 -351.84 -351.808c0 -51.6318 11.2158 -100.624 31.1836 -144.784l-188.096 -343.056 c-6.06445 -11.0244 -5.05664 -24.624 2.52734 -34.6885c7.59961 -10.0322 20.4316 -14.752 32.6875 -11.8721l160.624 36.8477l54.9756 -153.12c4.28809 -11.9043 15.1523 -20.1602 27.7441 -21.0879c0.816406 -0.0644531 1.60059 -0.0966797 2.36816 -0.0966797 c11.7119 0 22.5918 6.43164 28.1914 16.8799l163.696 304.976c11.8076 -1.2002 23.792 -1.80859 35.9199 -1.80859c11.1201 0 22.0957 0.576172 32.9434 1.60059l167.248 -305.008c5.66406 -10.3203 16.4316 -16.624 28.0635 -16.624 c0.816406 0 1.66406 0.0322266 2.49609 0.0966797c12.5596 1.00781 23.376 9.24805 27.6318 21.0879l54.9756 153.12l160.624 -36.8477c12.3203 -2.97559 25.0244 1.80859 32.624 11.8086c7.63184 9.98438 8.65625 23.5205 2.68848 34.5762zM289.778 46.6562 l-40.2578 112.161c-5.50391 15.248 -21.4717 24.1279 -37.2793 20.3682l-118.8 -27.248l135.408 246.976c44.5918 -60.2402 107.952 -105.681 181.44 -127.793zM224.225 608.033c0 158.544 129.009 287.536 287.568 287.536c158.544 0 287.536 -128.992 287.536 -287.536 s-128.992 -287.568 -287.536 -287.568c-158.576 0 -287.568 129.024 -287.568 287.568zM811.745 179.186c-15.8721 3.74414 -31.7764 -5.11914 -37.2803 -20.3672l-40.5283 -112.976l-123.152 224.56c75.4404 22.0957 140.337 68.7354 185.505 130.735l134.848 -249.328z "/>
<glyph glyph-name="anchor" unicode="" d="M1021.02 228.592l-82.2861 151.298c-0.12793 0.208008 -0.0957031 0.400391 -0.223633 0.592773l-5.87207 10.1436c-3.28027 5.61621 -8.43262 9.23242 -14.1924 10.5928c-5.69629 1.4082 -11.9844 0.543945 -17.4082 -2.97559l-9.83984 -6.33594 c-0.192383 -0.112305 -0.304688 -0.288086 -0.49707 -0.416016l-145.6 -98.3203c-10.8799 -7.00781 -14.416 -21.6797 -7.93555 -32.9121l6.54395 -7.2002c6.48047 -11.1836 21.2646 -11.6475 32.1611 -4.63965l87.04 59.1836 c-20.6084 -166 -154.736 -293.392 -318.96 -308.176v641.6h128.048c17.6641 0 32 14.3359 32 32s-14.3359 32 -32 32h-129.44c-0.240234 0.832031 -0.448242 1.66406 -0.768555 2.46387c57.1035 13.2803 99.6953 64.3682 99.6953 125.536 c0 71.248 -57.7441 129.008 -129.008 129.008c-71.248 0 -128.992 -57.7441 -128.992 -129.008c0 -60.8164 42.1123 -111.664 98.7363 -125.28c-0.335938 -0.879883 -0.576172 -1.80762 -0.848633 -2.71973h-129.376c-17.6641 0 -32 -14.3359 -32 -32s14.3359 -32 32 -32 h127.984v-641.584c-164.176 14.7842 -298.16 142.128 -318.816 308.112l86.9443 -59.1201c10.8799 -7.00781 25.6641 -6.54395 32.1445 4.63965l6.55957 7.2002c6.48047 11.2158 2.94434 25.9033 -7.95117 32.9111l-145.6 98.3203 c-0.192383 0.143555 -0.304688 0.319336 -0.480469 0.415039l-9.85645 6.33594c-5.4082 3.51953 -11.6963 4.36719 -17.4082 2.97559c-5.74414 -1.36035 -10.9121 -4.99219 -14.1924 -10.5918l-5.87207 -10.1602 c-0.112305 -0.192383 -0.0966797 -0.384766 -0.208984 -0.592773l-82.2725 -151.296c-6.49609 -11.168 -2.94434 -25.8721 7.95215 -32.8965l9.12012 -3.42383c10.8799 -6.99219 24.2559 -0.640625 30.752 10.543l47.9043 88.9756 c29.376 -204.72 205.104 -357.823 413.279 -357.823c208.064 0 383.921 153.088 413.361 357.712l47.8398 -88.8643c6.49609 -11.1836 19.8877 -17.5352 30.7676 -10.543l9.12012 3.42383c10.8965 7.02441 14.4482 21.7285 7.95215 32.8965zM447.506 833.025 c0 35.8398 29.1533 65.0098 64.9932 65.0098c35.8399 0 65.0078 -29.1523 65.0078 -65.0088s-29.1523 -65.0088 -65.0088 -65.0088c-35.8242 0.015625 -64.9922 29.168 -64.9922 65.0078z"/>
<glyph glyph-name="wallet" unicode="" d="M1023.65 669.52c0.463867 23.6641 -5.9043 78.8477 -77.8398 98.0635l-722.416 144.624c-52.9443 0 -96 -43.0557 -96 -96v-128.704l-32 0.0800781c-52.752 -0.223633 -95.6318 -43.1514 -95.6318 -95.9678v-511.808c0 -52.9443 43.0557 -96 96 -96h832.464 c52.9443 0 96 43.0557 96 96zM191.393 816.207c0 16.7197 12.8799 30.4629 29.2158 31.8711l706 -142.88c0.255859 -0.12793 -5.24805 -17.9355 -30.8799 -17.5996h-704.336zM960.24 79.79c0 -17.6641 -14.3359 -32 -32 -32h-832.48c-17.6641 0 -32 14.3359 -32 32v511.824 c0 17.6641 14.3359 32 32 32h800.064c31.4082 0 64.4004 10.7041 64.4004 31.8877v-575.712h0.015625zM191.824 399.502c-35.3438 0 -64 -28.6562 -64 -64s28.6562 -64 64 -64s64 28.6562 64 64s-28.6562 64 -64 64z"/>
<glyph glyph-name="vector" unicode="" d="M992 288h-32.2725v1.61621c0 161.92 -86.5283 303.808 -215.664 382.384h160.816c11.0879 -19.04 31.5039 -32 55.1201 -32c35.3438 0 64 28.6562 64 64s-28.6562 64 -64 64c-23.6318 0 -44.0322 -12.96 -55.1201 -32h-296.88v32c0 17.6641 -14.3359 32 -32 32h-128 c-17.6641 0 -32 -14.3359 -32 -32v-32h-296.88c-11.0879 19.04 -31.4883 32 -55.1201 32c-35.3438 0 -64 -28.6562 -64 -64s28.6562 -64 64 -64c23.6318 0 44.0322 12.96 55.1201 32h160.8c-129.136 -78.5918 -215.647 -220.464 -215.647 -382.384v-1.61621h-32.2725 c-17.6641 0 -32 -14.3359 -32 -32v-128c0 -17.6641 14.3359 -32 32 -32h128c17.6641 0 32 14.3359 32 32v128c0 17.6641 -14.3359 32 -32 32h-31.7275v1.61621c0 178.448 122.464 328.672 287.728 371.392v-21.0078c0 -17.6641 14.3359 -32 32 -32h128 c17.6641 0 32 14.3359 32 32v21.0078c165.264 -42.7363 287.728 -192.96 287.728 -371.392v-1.61621h-31.7275c-17.6641 0 -32 -14.3359 -32 -32v-128c0 -17.6641 14.3359 -32 32 -32h128c17.6641 0 32 14.3359 32 32v128c0 17.6641 -14.3359 32 -32 32zM128 160h-64v64h64 v-64zM544 672h-64v64h64v-64zM960 160h-64v64h64v-64z"/>
<glyph glyph-name="speech" unicode="" d="M960 896.4h-895.999c-35.3438 0 -64 -28.6562 -64 -64v-577.504c0 -35.3438 28.6562 -64 64 -64h127.536v-159.312c0 -12.9121 7.74414 -24.5283 19.6318 -29.5039c4 -1.67969 8.22363 -2.49609 12.3672 -2.49609c8.25586 0 16.3359 3.18359 22.4316 9.18359 l185.024 182.128h529.008c35.3438 0 64 28.6562 64 64v577.504c0 35.3438 -28.6562 64 -63.9996 64.0004zM960.001 254.912h-555.216l-149.248 -146.912v146.912h-191.536v577.488h896v-577.488zM224.001 510.992h576c17.6641 0 32 14.3359 32 32s-14.3359 32 -32 32h-576 c-17.6641 0 -32 -14.3359 -32 -32s14.3359 -32 32 -32zM224.001 638.992h576c17.6641 0 32 14.3359 32 32s-14.3359 32 -32 32h-576c-17.6641 0 -32 -14.3359 -32 -32s14.3359 -32 32 -32zM224.001 382.992h384c17.6641 0 32 14.3359 32 32s-14.3359 32 -32 32h-384 c-17.6641 0 -32 -14.3359 -32 -32s14.3359 -32 32 -32z"/>
<glyph glyph-name="puzzle" unicode="" d="M512 -64.1602c-20.2881 0 -39.3779 7.87012 -53.7461 22.1904l-436.512 436.496c-29.5361 29.6797 -29.5361 77.9521 -0.0644531 107.568l159.904 159.872c9.87207 9.87207 25.0244 12.2236 37.4404 5.74316c12.3682 -6.46387 19.1201 -20.2236 16.6885 -33.9678 c-1.63184 -9.15234 -2.36816 -16.4961 -2.36816 -23.1201c0 -70 56.9756 -128.144 127.008 -128.144c70.0957 0 121.279 58.1436 121.279 128.144c0 70.0957 -51.1836 127.088 -121.279 127.088c-6.55957 0 -13.8711 -0.751953 -23.0234 -2.36816 c-13.8721 -2.55957 -27.5039 4.32031 -33.9678 16.6885c-6.46387 12.4004 -4.12793 27.5684 5.74414 37.4404l149.088 149.12c28.8799 28.752 78.8154 28.6875 107.567 0.0634766l109.152 -109.216c22.7842 70.8164 89.2803 122.225 167.536 122.225 c97.0244 0 175.969 -78.9756 175.969 -176.031c0 -78.2559 -51.376 -144.752 -122.224 -167.504l106.032 -105.968c29.5996 -29.6797 29.5996 -77.9521 0.03125 -107.601l-436.448 -436.464c-14.4316 -14.3838 -33.5195 -22.2559 -53.8076 -22.2559zM174.895 564.782 l-107.905 -107.872c-4.65625 -4.68848 -4.65625 -12.4326 0.0634766 -17.1846l436.368 -436.384c6.12793 -6.06445 10.9443 -6.12891 17.1846 0.0634766l436.352 436.384c4.68848 4.71973 4.68848 12.3994 -0.03125 17.1514l-153.904 153.808 c-9.63184 9.63184 -12.1279 24.3203 -6.19238 36.5605s18.8477 19.5039 32.5273 17.8398l4.87988 -0.624023c2.68848 -0.368164 5.37695 -0.816406 8.19336 -0.816406c61.7441 0 111.968 50.1924 111.968 111.904c0 61.7764 -50.2236 112.032 -111.968 112.032 c-61.7119 0 -111.936 -50.2559 -111.936 -112.032c0 -2.55957 0.400391 -5.05566 0.751953 -7.56738l0.688477 -5.71191c1.44043 -13.5039 -5.77539 -26.4316 -18.0312 -32.2881c-12.1602 -5.80762 -26.8164 -3.31152 -36.4004 6.25684l-156.944 157.024 c-6.12793 6.06445 -10.9443 6.12891 -17.1846 -0.0634766l-97.1201 -97.1201c83.2803 -20.624 139.376 -95.9678 139.376 -185.536c0 -105.312 -79.9199 -192.128 -185.296 -192.128c-89.5361 0.015625 -164.848 63.0879 -185.439 146.304z"/>
<glyph glyph-name="printer" unicode="" d="M952.736 705.072h-120.719v254.448h-640.032v-254.448h-120.72c-39.3125 0 -71.3125 -32 -71.3125 -71.3438v-433.888c0 -39.3438 32 -71.3438 71.3115 -71.3438h120.72v-192.016h640.032v192.016h120.72c39.3125 0 71.3125 32 71.3125 71.3438v433.888 c0 39.3438 -32 71.3438 -71.3125 71.3438zM255.985 896.513h512.032v-191.44h-512.032v191.44zM768.018 0.480469h-512.032v352.4h512.032v-352.4zM960.05 199.841c0 -4.08008 -3.28027 -7.34375 -7.3125 -7.34375h-120.72v224.384h-640.032v-224.368h-120.72 c-4.03223 0 -7.3125 3.26367 -7.3125 7.34375v433.872c0 4.06445 3.28027 7.34473 7.3125 7.34473h881.472c4.03223 0 7.3125 -3.28027 7.3125 -7.34473zM832.002 576.561h-32c-17.6641 0 -32 -14.3359 -32 -32s14.3359 -32 32 -32h32c17.6641 0 32 14.3359 32 32 s-14.3359 32 -32 32z"/>
<glyph glyph-name="present" unicode="" d="M1024 639.504c0 35.3438 -28.6543 64 -63.998 64h-109.248c28.2725 27.8877 46.3682 64.4473 46.3682 109.472c0 55.4404 -31.8398 115.664 -121.216 115.664c-117.6 0 -215.84 -125.216 -262 -195.408c-46.1924 70.1758 -147.44 195.392 -265.024 195.392 c-89.376 0 -121.216 -60.2236 -121.216 -115.664c0 -45.0078 18.5918 -81.584 47.4395 -109.472h-111.104c-35.3438 0 -64 -28.6562 -64 -64v-191.568h64.5596v-416.56c0 -35.3438 28.6562 -64 64 -64h767.68c35.3438 0 64 28.6562 64 64v416.576h63.7598v191.568z M775.906 864.624c39.5684 0 57.2158 -16.625 57.2158 -51.665c0 -71.0879 -79.3438 -109.439 -153.968 -109.439h-108.336c45.4717 67.5361 125.504 161.104 205.088 161.104zM248.881 864.623c79.5996 0 162.655 -93.5684 208.127 -161.088h-108.368 c-74.624 0 -156.976 39.3438 -156.976 110.432c0 35.0244 17.6484 50.6562 57.217 50.656zM960.001 511.936h-416v127.568h416v-127.568zM64.001 639.504h416v-127.568h-416zM128.561 447.936h351.44v-416.56h-351.44zM896.257 31.376h-352.256v416.56h352.256v-416.56z"/>
<glyph glyph-name="playlist" unicode="" d="M33.7598 896.24h448c17.6641 0 32 14.3359 32 32s-14.3359 32 -32 32h-448c-17.6641 0 -32 -14.3359 -32 -32s14.3203 -32 32 -32zM33.7598 704.24h448c17.6641 0 32 14.3359 32 32s-14.3359 32 -32 32h-448c-17.6641 0 -32 -14.3359 -32 -32s14.3203 -32 32 -32z M513.76 544.24c0 17.6641 -14.3359 32 -32 32h-448c-17.6641 0 -32 -14.3359 -32 -32s14.3359 -32 32 -32h448c17.6641 0 32 14.3359 32 32zM1012.88 635.456l-312.912 312.898c-9.9043 9.91992 -24.6562 11.8398 -36.5918 6.01562 c-12.5439 -4.33594 -21.6162 -16.1123 -21.6162 -30.1279v-708.4c-33.9199 25.1357 -78.4316 40.5273 -127.376 40.5273c-106.064 0 -192.097 -71.7764 -192.097 -160.288c0 -88.5283 86.0322 -160.336 192.097 -160.336c106.128 0 192.096 71.8076 192.096 160.336 c0 4.01562 -0.368164 7.93555 -0.719727 11.8711v744.096l261.84 -261.856c12.4961 -12.4961 32.7686 -12.4961 45.2646 0c12.496 12.4961 12.4961 32.7686 0.015625 45.2646zM641.76 92.9785c-2.30371 -44.4961 -54.1914 -92.8145 -128.127 -92.8145 c-75.6484 0 -128.353 50.5596 -128.353 95.8711c0 45.3438 52.7041 95.8398 128.353 95.8398c73.9355 0 125.823 -48.2559 128.127 -92.7842v-6.1123v0.0001z"/>
<glyph glyph-name="pin" unicode="" d="M1014.85 580.336l-368.158 370.015c-7.93555 7.96777 -19.376 11.2158 -30.3203 8.49609c-10.9121 -2.65625 -19.6006 -10.8486 -22.9443 -21.5684c-22.1602 -71.3115 -24.7197 -135.84 -7.79199 -194.688c-1.55176 -1.07227 -3.04004 -2.24023 -4.41602 -3.61621 l-171.104 -171.072c-55.2002 25.5996 -114.544 39.4561 -173.696 39.4561c-37.5996 0 -74.4639 -5.56836 -109.567 -16.4648c-10.6885 -3.34375 -18.8809 -12 -21.5693 -22.8477c-2.68848 -10.8799 0.463867 -22.3359 8.36816 -30.2881l218.976 -220.384l-306.16 -311.04 l-26.624 -70.1279l64.3682 24.8799l313.36 311.04l221.824 -223.264c6.06445 -6.12793 14.2881 -9.43945 22.6885 -9.43945c2.52832 0 5.08789 0.320312 7.63184 0.912109c10.9121 2.68848 19.6006 10.8809 22.9443 21.6006 c28.9756 93.2324 20.4795 193.345 -20.3369 283.121l174.704 174.736c0.624023 0.624023 1.05566 1.32812 1.63184 2c26.3682 -7.53613 53.6963 -11.5684 82.0479 -11.5684c35.2158 0 72.5596 5.05566 110.976 17.0078c10.6885 3.3125 18.8809 12 21.5693 22.8477 c2.65625 10.8477 -0.496094 22.3037 -8.40039 30.2559zM603.153 135.854l-402.783 405.407c103.376 12.0645 214.848 -29.5996 295.567 -110.319c80.3203 -80.3037 119.504 -191.296 107.216 -295.088zM600.227 403.454c-16.832 25.7275 -36.4648 50.1758 -59.0244 72.752 c-22.4639 22.4639 -47.0078 42.2559 -72.96 59.3281l144.128 144.096c14.7041 -25.5684 33.6641 -50 57.0078 -73.3281c23.8564 -23.8398 49.0889 -43.1357 75.6006 -58.0635zM714.626 651.55c-61.5361 61.5361 -85.2471 130.129 -72.6875 212.881l286.912 -288.4 c-82.6562 -11.8564 -151.601 12.8955 -214.225 75.519z"/>
<glyph glyph-name="picture" unicode="" d="M960 880.096h-896c-35.1836 0 -64 -28.8164 -64 -64v-736.192c0 -35.1836 28.8164 -64 64 -64h896c35.1836 0 64 28.8164 64 64v736.192c0 35.1836 -28.8164 64 -64 64zM960 79.9033l-895.999 0.000976562v188.56l256.848 248.912l264.784 -264.496 c10.9121 -13.248 30.3359 -11.5684 44.1279 -1.12012l116.88 105.808l210.8 -216.384c0.799805 -0.799805 1.69531 -1.3916 2.55957 -2.08008v-59.2002zM960.001 230.208l-188.031 192.416c-11.4082 11.248 -29.2803 12.4004 -41.9365 2.75195l-120.56 -105.024 l-264.944 262.08c-5.66406 6.84766 -13.8398 11.0234 -22.6875 11.5996c-8.81641 0.320312 -17.5049 -2.55957 -23.9688 -8.62402l-233.872 -227.6v458.288h896v-585.888zM736.002 559.872c35.2803 0 63.8398 28.6084 63.8398 63.8408 c0 35.2158 -28.5596 63.8242 -63.8398 63.8242s-63.8398 -28.6084 -63.8398 -63.8242c0 -35.2324 28.5596 -63.8408 63.8398 -63.8408z"/>
<glyph glyph-name="map" unicode="" d="M993.184 824.992l-320.961 133.069l-319.44 -126.432l-321.968 126.368c-2.75195 0.816406 -5.43945 1.12012 -7.96777 1.12012c-13.1357 0.0644531 -22.8477 -9.74316 -22.8477 -24.4951v-830c0 -17.5684 13.8721 -35.8721 30.8164 -40.5605l322.336 -127.184 l319.008 129.504l321.024 -126.128c2.75195 -0.751953 5.44043 -1.12012 7.96875 -1.12012c13.1201 0 22.8477 9.74414 22.8477 24.4961v820.736c0 17.5684 -13.8721 35.8887 -30.8164 40.625zM383.999 778.861l256 100.304v-761.504l-256 -101.184v762.384zM63.999 873.309 l256 -94.5771v-761.76l-256 104.272v752.064zM959.999 21.9951l-256 96.3838v759.824l256 -110.384v-745.824v0.0002z"/>
<glyph glyph-name="layers" unicode="" d="M21.8398 658.192l475.09 -258.72c4.78418 -2.5918 10.0322 -3.9043 15.3125 -3.9043c5.21582 0 10.4316 1.28027 15.1836 3.83984l480.096 258.72c10.4639 5.63184 16.9756 16.624 16.8154 28.5283c-0.160156 11.9355 -6.91211 22.752 -17.5039 28.1602l-475.12 241.28 c-9.05566 4.5918 -19.7441 4.62402 -28.8799 0.0644531l-480.048 -241.28c-10.624 -5.34375 -17.4404 -16.1602 -17.6328 -28.0645s6.25586 -22.9443 16.6875 -28.624zM517.153 891.713l406.159 -206.271l-410.976 -221.472l-406.176 221.184zM1001.34 479.682 l-94.9736 48.2246l-68.5596 -36.9756l80 -40.624l-410.96 -221.456l-406.192 221.184l85.3115 42.8799l-68.3682 37.248l-100.32 -50.4004c-10.624 -5.34375 -17.4404 -16.1602 -17.6328 -28.0645s6.25586 -22.9443 16.6875 -28.624l475.088 -258.72 c4.78418 -2.5918 10.0322 -3.90332 15.3125 -3.90332c5.21582 0 10.4316 1.28027 15.1836 3.83984l480.096 258.72c10.4639 5.63184 16.9756 16.624 16.8154 28.5283c-0.143555 11.9355 -6.89551 22.752 -17.4873 28.1436zM1001.35 255.683l-89.9658 44.2236 l-68.5596 -36.9756l75.0078 -36.624l-410.976 -221.456l-406.192 221.184l79.3115 35.8721l-68.3682 37.248l-94.3203 -43.4082c-10.624 -5.34375 -17.4404 -16.1602 -17.6328 -28.0645s6.25586 -22.9443 16.6875 -28.624l475.088 -258.72 c4.78418 -2.5918 10.0322 -3.90332 15.3125 -3.90332c5.21582 0 10.4316 1.28027 15.1836 3.83984l480.096 258.72c10.4639 5.63184 16.9756 16.624 16.8154 28.5283c-0.143555 11.9521 -6.89551 22.7686 -17.4873 28.1602z"/>
<glyph glyph-name="handbag" unicode="" d="M1022.74 17.3604l-83.4072 503.777c-7.44043 65.3115 -66.9766 118.432 -132.721 118.432h-70.6562v85.2803c0 130.16 -92.8477 236.032 -222.976 236.032c-130.096 0 -224.943 -105.872 -224.943 -236.032v-85.2803h-76.6719 c-65.7441 0 -125.28 -53.1201 -132.528 -117.056l-77.2803 -504.16c-2.97559 -26.5596 2.22461 -47.5039 15.4082 -62.2881c12.4316 -13.9043 30.5273 -20.9766 53.7432 -20.9766h873.568c32.9121 0 51.7764 13.2158 61.8408 24.3203 c9.21582 10.208 19.6475 28.1436 16.623 57.9512zM352.049 724.865c0 94.8477 66.127 172.031 160.943 172.031c94.816 0 158.977 -77.1836 158.977 -172.031v-85.2803h-319.92zM947.168 -0.446289l-872.498 -0.449219c-5.50391 0 -11.0078 2.94434 -9.71191 10.6885 l77.248 504.096c3.83984 33.4404 35.5039 61.6807 69.1523 61.6807h76.6885v-72.9277c-19.0723 -11.0723 -32.0479 -31.4883 -32.0479 -55.1367c0 -35.3438 28.6562 -64 64 -64s64 28.6562 64 64c0 23.6162 -12.9277 44 -31.9521 55.0879v72.9922h319.904v-72.9922 c-19.0078 -11.0879 -31.9521 -31.4883 -31.9521 -55.0879c0 -35.3438 28.6562 -64 64 -64s64 28.6562 64 64c0 23.6484 -12.9756 44.0645 -32.0479 55.1523v72.9277h70.6562c33.6641 0 65.3125 -28.2559 69.4082 -63.4395l83.3438 -503.28 c0.400391 -4.0957 -2.81543 -9.31152 -12.1914 -9.31152z"/>
<glyph glyph-name="globe-alt" unicode="" d="M929.504 545.584c0 168.784 -88.9775 321.873 -237.97 409.569c-15.248 9.00781 -34.8799 3.87207 -43.8076 -11.376c-8.94434 -15.2158 -3.87207 -34.8477 11.376 -43.8076c129.248 -76.0322 206.4 -208.528 206.4 -354.368 c0 -242.368 -175.936 -418.288 -418.319 -418.288c-54.1924 0 -106.784 10.1602 -156.32 30.1602c-16.3682 6.65625 -35.0566 -1.2793 -41.665 -17.6631c-6.62402 -16.4004 1.28027 -35.0566 17.6641 -41.665c57.2158 -23.1201 117.872 -34.8477 180.32 -34.8477 c0.192383 0 0.384766 0.015625 0.577148 0.015625v-63.0078h-92.9277c-18.4639 0 -33.4395 -14.3037 -33.4395 -31.9521s14.9756 -31.9365 33.4395 -31.9365h252.848c18.4639 0 33.4395 14.3037 33.4395 31.9355c0 17.6641 -14.9756 31.9521 -33.4395 31.9521h-96.3838 v66.7998c245.808 28.5596 418.208 220.911 418.208 478.479zM799.374 542.705c0 194.656 -157.744 353.408 -352.4 353.408c-194.688 0 -352.465 -158.752 -352.465 -353.408s157.776 -351.44 352.465 -351.44c194.656 0 352.4 156.784 352.4 351.44zM158.494 542.705 c0 159.024 129.408 289.408 288.464 289.408c159.024 0 288.4 -130.368 288.4 -289.408s-129.376 -287.44 -288.4 -287.44c-159.056 0 -288.464 128.4 -288.464 287.44z"/>
<glyph glyph-name="globe" unicode="" d="M1025.02 448c0 272.016 -213.663 495.104 -482.319 511.023c-5.53613 0.608398 -11.0879 1.00879 -16.7197 1.00879c-1.66406 0 -3.32812 -0.175781 -4.99219 -0.223633c-2.99219 0.0478516 -5.96777 0.223633 -8.99219 0.223633 c-282.88 0 -513.023 -229.696 -513.023 -512.032s230.144 -512.032 513.023 -512.032c3.02441 0 6 0.175781 9.00781 0.240234c1.66406 -0.0644531 3.32812 -0.240234 4.99219 -0.240234c5.63184 0 11.1836 0.400391 16.7197 1.00879 c268.64 15.9199 482.304 238.976 482.303 511.023zM929.569 283.168c-17.6318 5.12012 -61.9209 16.2393 -140.064 25.3916c6.46387 44.1924 10 90.8965 10 139.44c0 38.2559 -2.20801 75.3438 -6.28809 111.008c99.0078 11.8242 142.384 26.7207 145.296 27.7451 l-11.9199 33.584c22.2402 -53.0879 34.5605 -111.296 34.5605 -172.336c0 -58.1924 -11.2803 -113.761 -31.584 -164.833zM285.488 447.999c0 35.8076 2.36914 70.7695 6.70508 104.401c51.8877 -4.08008 113.936 -7.08789 186.863 -7.79199v-222.064 c-70.9922 -0.688477 -131.664 -3.56836 -182.688 -7.47266c-7.04004 42.1924 -10.8799 86.8799 -10.8801 132.928zM542.945 891.777c78.4639 -22.7363 145.648 -131.695 175.744 -276.111c-48.3682 -3.85645 -106.624 -6.67285 -175.744 -7.3291v283.44zM479.059 890.994 v-282.624c-68.3682 0.688477 -126.88 3.47266 -176.063 7.23242c30.7041 142.608 98.4316 250.752 176.063 275.392zM479.059 258.771l0.000976562 -253.743c-72.4004 22.9756 -136.192 118.575 -169.36 247.023c47.7598 3.50391 104.096 6.06348 169.359 6.71973z M542.947 4.22754l-0.000976562 254.561c65.9521 -0.624023 122.064 -3.28027 169.217 -6.92871c-32.6084 -130.128 -96 -226.416 -169.216 -247.632zM542.946 322.548l0.000976562 222.032c73.3115 0.688477 134.991 3.77637 186.191 8 c4.20801 -33.6963 6.49609 -68.7041 6.49609 -104.592c0 -46.1279 -3.71191 -90.8643 -10.5283 -133.12c-50.416 4.08008 -110.8 7.00781 -182.16 7.67969zM914.804 646.068c-9.66406 -3.00781 -50.0635 -14.4805 -131.023 -24.0322 c-18.0479 95.9521 -50.6719 177.968 -93.1201 237.168c97.5361 -42.3838 177.136 -118.304 224.144 -213.136zM358.82 869.411c-52.208 -59.9521 -94.832 -146.161 -118.096 -248.113c-72.4805 7.85645 -115.921 17.0889 -133.312 21.2812 c50.7197 104.64 141.04 186.752 251.408 226.832zM83.6367 582.818c12.3203 -3.34375 58.9131 -14.9414 145.553 -24.5254c-4.95996 -35.4404 -7.67969 -72.3047 -7.67969 -110.305c0 -48.2725 4.36816 -94.7207 12.2402 -138.688 c-74.4004 -8.03223 -120.16 -17.6484 -140.688 -22.6084c-19.4404 50.0957 -30.208 104.447 -30.208 161.312c0 46.96 7.31152 92.2559 20.7832 134.815zM121.094 227.652c23.2637 4.94434 64.9121 12.4639 126.592 18.9277 c24.2881 -89.7119 63.792 -165.616 111.136 -219.968c-101.12 36.7197 -185.296 108.752 -237.728 201.04v0.0003zM690.662 36.8203c38.2236 53.2637 68.4795 125.024 87.2959 208.801c63.4082 -7.28027 103.216 -15.792 123.296 -20.8643 c-48.0156 -83.0723 -121.855 -149.393 -210.592 -187.937z"/>
<glyph glyph-name="frame" unicode="" d="M224 848h-192c-17.6641 0 -32 -14.3359 -32 -32v-192c0 -17.6641 14.3359 -32 32 -32s32 14.3359 32 32v160h160c17.6641 0 32 14.3359 32 32s-14.3359 32 -32 32zM992 304c-17.6641 0 -32 -14.3359 -32 -32v-160h-160c-17.6641 0 -32 -14.3359 -32 -32 s14.3359 -32 32 -32h192c17.6641 0 32 14.3359 32 32v192c0 17.6641 -14.3359 32 -32 32zM224 112h-160v160c0 17.6641 -14.3359 32 -32 32s-32 -14.3359 -32 -32v-192c0 -17.6641 14.3359 -32 32 -32h192c17.6641 0 32 14.3359 32 32c0 17.6641 -14.3359 32 -32 32z M992 848h-192c-17.6641 0 -32 -14.3359 -32 -32s14.3359 -32 32 -32h160v-160c0 -17.6641 14.3359 -32 32 -32s32 14.3359 32 32v192c0 17.6641 -14.3359 32 -32 32z"/>
<glyph glyph-name="folder-alt" unicode="" d="M960.16 752h-480l-96 96h-320c-35.3438 0 -64 -28.6562 -64 -64v-160h-0.303711v-64h0.303711v-448c0 -35.3438 28.6562 -64 64 -64h896c35.3438 0 64 28.6562 64 64v576c0 35.3438 -28.6562 64 -64 64zM64.1445 784h290.751l78.624 -77.248l20.1123 -18.752h506.528v-64 h-896v160h-0.015625h0.000325zM64.1436 112v448h896v-448h-896z"/>
<glyph glyph-name="film" unicode="" d="M800 687.712h64c17.6641 0 32 14.3359 32 32v32c0 17.6641 -14.3359 32 -32 32h-64c-17.6641 0 -32 -14.3359 -32 -32v-32c0 -17.6641 14.3359 -32 32 -32zM800 495.712h64c17.6641 0 32 14.3359 32 32v32c0 17.6641 -14.3359 32 -32 32h-64 c-17.6641 0 -32 -14.3359 -32 -32v-32c0 -17.6641 14.3359 -32 32 -32zM800 303.712h64c17.6641 0 32 14.3359 32 32v32c0 17.6641 -14.3359 32 -32 32h-64c-17.6641 0 -32 -14.3359 -32 -32v-32c0 -17.6641 14.3359 -32 32 -32zM800 111.712h64c17.6641 0 32 14.3359 32 32 v32c0 17.6641 -14.3359 32 -32 32h-64c-17.6641 0 -32 -14.3359 -32 -32v-32c0 -17.6641 14.3359 -32 32 -32zM160 687.712h64c17.6641 0 32 14.3359 32 32v32c0 17.6641 -14.3359 32 -32 32h-64c-17.6641 0 -32 -14.3359 -32 -32v-32c0 -17.6641 14.3359 -32 32 -32z M160 495.712h64c17.6641 0 32 14.3359 32 32v32c0 17.6641 -14.3359 32 -32 32h-64c-17.6641 0 -32 -14.3359 -32 -32v-32c0 -17.6641 14.3359 -32 32 -32zM160 303.712h64c17.6641 0 32 14.3359 32 32v32c0 17.6641 -14.3359 32 -32 32h-64 c-17.6641 0 -32 -14.3359 -32 -32v-32c0 -17.6641 14.3359 -32 32 -32zM160 111.712h64c17.6641 0 32 14.3359 32 32v32c0 17.6641 -14.3359 32 -32 32h-64c-17.6641 0 -32 -14.3359 -32 -32v-32c0 -17.6641 14.3359 -32 32 -32zM960 944.096h-896 c-35.1836 0 -64 -28.8164 -64 -64v-864.192c0 -35.1836 28.8164 -64 64 -64h896c35.1836 0 64 28.8164 64 64v864.192c0 35.1836 -28.8164 64 -64 64zM960 15.9033h-896v864.192h896v-864.192z"/>
<glyph glyph-name="feed" unicode="" d="M101.872 629.744c-18.1279 0 -32.7686 -14.6562 -32.7686 -32.7686c0 -18.0957 14.6396 -32.7676 32.7676 -32.7676c303.008 0 525.344 -224.368 525.344 -527.36c0 -18.0957 14.6562 -32.752 32.7686 -32.752s32.7686 14.6562 32.7686 32.752 c0 340.368 -250.528 592.896 -590.88 592.896zM102.159 957.376c-18.1123 0 -32.7695 -14.6553 -32.7695 -32.7676s14.6562 -32.7686 32.7686 -32.7686c470.176 0 852.672 -382.496 852.672 -852.656c0 -18.0957 14.6562 -32.752 32.7686 -32.752 s32.7686 14.6562 32.7686 32.752c-0.015625 506.288 -411.92 918.192 -918.208 918.192zM184.015 300.401c-99.4717 0 -180.369 -81.1191 -180.369 -180.879c0 -99.7119 80.9121 -180.912 180.368 -180.912c99.4559 0 180.4 81.1836 180.4 180.911 c0 99.7598 -80.9277 180.88 -180.399 180.88zM184.014 1.9707c-64.6084 0 -117.168 52.752 -117.168 117.568s52.5596 117.536 117.168 117.536c64.624 0 117.216 -52.7197 117.216 -117.536s-52.5918 -117.568 -117.216 -117.568z"/>
<glyph glyph-name="earphones-alt" unicode="" d="M1023.84 387.456c0.0957031 21.0557 -3.2168 100.496 -5.74512 123.216c-29.1201 260.752 -240.752 450 -503.184 450c-273.344 0 -494.815 -210.624 -509.84 -489.904c-0.320312 -6.0957 -2.56055 -49.3438 -2.7207 -75.0879l-0.0800781 -14.3203 c-1.31152 -5.91992 -2.11133 -12.0322 -2.11133 -18.3359v-214.656c0 -46.8799 38.1279 -85.0078 85.0078 -85.0078h86.2881c46.8799 0 85.0234 38.1279 85.0234 85.0078v214.64c0 46.8799 -38.1602 85.0078 -85.0244 85.0078h-86.3037 c-5.8877 0 -11.6318 -0.608398 -17.1836 -1.74414c0.480469 10.3838 0.912109 18.5762 1.02441 21.0566c13.168 244.784 207.136 429.344 445.92 429.344c229.28 0 414.128 -165.344 439.568 -393.12c1.07227 -9.50391 2.44824 -33.6641 3.55176 -57.9199 c-6.19238 1.44043 -12.5762 2.38477 -19.2002 2.38477h-85.2803c-46.8799 0 -85.0078 -38.1279 -85.0078 -85.0078v-213.664c0 -32.3682 18.4004 -60.2559 45.0889 -74.5918l-205.44 -80.6562v5.21582c0 17.6641 -14.3359 32 -32 32h-96c-17.6641 0 -32 -14.3359 -32 -32 v-32c0 -17.6641 14.3359 -32 32 -32h96c0.272461 0 0.512695 0.0800781 0.785156 0.0800781l57.3604 0.223633l329.552 129.376c4.32031 1.79199 7.98438 4.46387 10.9922 7.66406c28.8477 13.6162 48.9912 42.7363 48.9912 76.6885v213.664 c0 5.21582 -0.639648 10.2881 -1.55176 15.2324c0.879883 2.94434 1.50391 6 1.51953 9.21582zM85.1514 384.016h86.2891c11.5996 0 21.0234 -9.4082 21.0234 -21.0078v-214.656c0 -11.5996 -9.44043 -21.0078 -21.0244 -21.0078h-86.2881 c-11.5996 0 -21.0078 9.4082 -21.0078 21.0078v214.656c0.015625 11.5996 9.42383 21.0078 21.0078 21.0078zM832.528 363.008c0 11.5996 9.40918 21.0078 21.0088 21.0078h85.2803c11.5996 0 21.0234 -9.4082 21.0234 -21.0078v-213.664 c0 -11.5996 -9.44043 -21.0078 -21.0244 -21.0078h-85.2803c-11.5996 0 -21.0078 9.4082 -21.0078 21.0078v213.664z"/>
<glyph glyph-name="earphones" unicode="" d="M1023.84 355.44c0.0957031 21.0557 -3.21582 100.497 -5.74414 123.217c-29.1201 260.752 -240.752 450 -503.184 450c-273.344 0 -494.815 -210.624 -509.84 -489.904c-0.320312 -6.0957 -2.56055 -49.3438 -2.7207 -75.0879l-0.0800781 -14.3203 c-1.31152 -5.91992 -2.11133 -12.0322 -2.11133 -18.3359v-278.656c0 -46.8799 38.1279 -85.0078 85.0078 -85.0078h86.2881c46.8799 0 85.0234 38.1279 85.0234 85.0078v278.64c0 46.8799 -38.1602 85.0078 -85.0244 85.0078h-86.3203 c-5.8877 0 -11.6318 -0.608398 -17.1836 -1.74414c0.480469 10.3838 0.912109 18.5918 1.02441 21.0557c13.1836 244.784 207.136 429.344 445.936 429.344c229.28 0 414.128 -165.344 439.568 -393.12c1.08789 -9.50391 2.46387 -33.6641 3.56836 -57.9199 c-6.24023 1.44043 -12.6084 2.38477 -19.2324 2.38477h-85.2803c-46.8799 0 -85.0078 -38.1279 -85.0078 -85.0078v-277.664c0 -46.8955 38.1279 -85.0078 85.0078 -85.0078h85.2803c46.8799 0 85.0234 38.1279 85.0234 85.0078v277.664 c0 5.21582 -0.639648 10.2881 -1.56738 15.2158c0.927734 2.94434 1.53613 6.0166 1.56836 9.23242zM85.1357 352.001h86.2881c11.5996 0 21.0234 -9.4082 21.0234 -21.0078v-278.656c0 -11.6162 -9.44043 -21.0078 -21.0244 -21.0078h-86.2881 c-11.5996 0 -21.0078 9.4082 -21.0078 21.0078v278.656c0.0322266 11.5996 9.44043 21.0078 21.0088 21.0078zM959.84 53.3447c0 -11.5996 -9.43945 -21.0078 -21.0234 -21.0078h-85.2803c-11.5996 0 -21.0078 9.4082 -21.0078 21.0078v277.648 c0 11.5996 9.4082 21.0078 21.0078 21.0078h85.2803c11.5996 0 21.0234 -9.4082 21.0234 -21.0078v-277.648z"/>
<glyph glyph-name="drop" unicode="" d="M510.4 -62.7041c-193.312 0 -350.592 155.12 -350.592 345.776c0 222.688 311.632 644.848 324.912 662.72c6 8.06445 15.4082 12.8486 25.4727 12.9131c11.1836 0.0957031 19.5674 -4.59277 25.6631 -12.5605c13.4082 -17.5361 328.336 -432.225 328.336 -663.057 c0 -190.672 -158.72 -345.792 -353.792 -345.792zM510.752 872.304c-74.4004 -105.664 -286.943 -422.064 -286.943 -589.217c0 -155.376 128.56 -281.776 286.592 -281.776c159.776 0 289.776 126.4 289.776 281.776c0.015625 173.36 -214.145 485.024 -289.425 589.217z "/>
<glyph glyph-name="drawer" unicode="" d="M1022.98 450.016l-117.505 407.089c-3.83984 13.8721 -16.4639 23.4717 -30.8477 23.4717h-735.344c-14.4961 0 -27.1846 -9.74414 -30.9443 -23.7764l-107.392 -386.352c-1.98438 -7.50391 -1.00879 -15.0078 1.99902 -21.5361 c-1.72754 -5.79199 -2.94336 -11.8242 -2.94336 -18.1758v-351.312c0 -35.3438 28.6562 -64 64 -64h896c35.3438 0 64 28.6562 64 64v351.312c0 1.71191 -0.368164 3.32812 -0.496094 5.00781c0.832031 4.5918 0.816406 9.43945 -0.526566 14.2718zM163.902 816.576 l686.369 0.000976562l93.1201 -321.84h-298.336c-1.44043 -76.8164 -55.9043 -129.681 -133.057 -129.681s-130.624 52.8799 -132.064 129.68h-305.776zM959.999 79.4248h-895.998v351.312h263.12c27.9355 -80.4316 95.7754 -129.68 184.879 -129.68 s157.936 49.248 185.871 129.68h262.128v-351.312z"/>
<glyph glyph-name="docs" unicode="" d="M768 960h-352c-35.3438 0 -64 -28.6562 -64 -64h352v-256h256v-512h-224v-64h224c35.3438 0 64 28.6562 64 64v575.984zM768 704v165.504l165.472 -165.504h-165.472zM64 832c-35.3438 0 -64 -28.6562 -64 -64v-768c0 -35.3438 28.6562 -64 64 -64h544 c35.3438 0 64 28.6562 64 64v575.984l-256 256.016h-352zM608 0h-544v768h288v-256h256v-512zM416 576v165.504l165.472 -165.504h-165.472z"/>
<glyph glyph-name="directions" unicode="" d="M1017.06 773.936l-99.6963 111.343c-6.06445 6.84766 -14.7842 10.752 -23.9365 10.752h-350.256v33.9678c0 16.5596 -14.3359 30 -32 30s-32 -13.4404 -32 -30v-33.9678h-255.808c-17.6797 0 -32 -14.3203 -32 -32v-223.664c0 -17.6797 14.3203 -32 32 -32h255.808 v-64.0957h-348.592c-9.15234 0 -17.8721 -3.9043 -23.9365 -10.752l-99.6797 -113.312c-10.752 -12.1279 -10.752 -30.3682 0 -42.4961l99.6797 -112.288c6.1123 -6.84766 14.7842 -9.74414 23.9365 -9.74414h348.592v-289.68c0 -16.5596 14.3359 -30 32 -30 c17.6641 0 32 13.4404 32 30v289.68h256.464c17.6797 0 32 14.3203 32 32v224.608c0 17.6797 -14.3203 32 -32 32h-256.464v64.0957h350.256c9.15234 0 17.8721 3.9043 23.9365 10.752l99.6963 112.32c10.7363 12.1123 10.7363 30.3525 0 42.4805v0.00074zM767.647 319.679 h-622.688l-71.2803 79.2803l71.2803 81.3115h622.688v-160.592zM879.039 672.367h-623.68v159.664h623.68l71.2803 -79.3438z"/>
<glyph glyph-name="direction" unicode="" d="M966.912 661.84l-179.121 192c-6.08008 6.48047 -14.5439 10.1602 -23.4238 10.1602h-267.12l-1.00781 66c0 16.5596 -14.3359 30 -32 30s-30 -13.4404 -30 -30l-0.975586 -66h-352.768c-17.6797 0 -32 -14.3203 -32 -32v-384c0 -17.6797 14.3203 -32 32 -32h352.336 v-450c0 -16.5596 14.3359 -30 32 -30s32 13.4404 32 30v450h267.536c8.87988 0 17.3438 3.67969 23.4082 10.1602l179.12 192c11.4717 12.3037 11.4717 31.376 0.015996 43.6796zM750.463 480h-637.968v320h637.968l149.28 -160z"/>
<glyph glyph-name="diamond" unicode="" d="M1018.72 664.528l-139.872 267.442c-8.16016 15.5996 -29.2637 28.3516 -46.8477 28.3516h-321.936c-0.351562 0.015625 -0.703125 0.111328 -1.05469 0.126953c-0.288086 0 -0.560547 -0.112305 -0.848633 -0.12793h-316.16 c-17.5996 0 -38.752 -12.7197 -47.0244 -28.2559l-139.504 -262.288c-8.28809 -15.5361 -6.62402 -39.9365 3.63184 -54.2568l480.016 -669.152c5.15234 -7.18359 12 -10.8154 18.832 -10.8154c6.78418 0 13.584 3.53613 18.7676 10.5918l487.904 664.256 c10.3838 14.1924 12.2559 38.5439 4.09598 54.1277zM942.367 672.371h-171.456l68.6562 196.608zM575.343 896.323h205.968l-63.8877 -182.928zM668.238 672.371h-297.647l140.672 202.096zM313.887 702.915l-64.1768 193.408h198.816zM680.75 608.371l-172.032 -492.544 l-163.456 492.544h335.488zM436.926 128.915l-343.936 479.456h184.832zM748.542 608.371h185.168l-352.976 -480.56zM188.478 877.587l68.0957 -205.216h-177.248z"/>
<glyph glyph-name="cup" unicode="" d="M832.56 544.208c-8.33594 0 -35.2021 0.160156 -64.3057 0.368164l0.112305 63.9678c0 35.3438 -28.6562 64 -64 64l-640.496 0.160156c-35.3438 0 -64 -28.6562 -64 -64v-480.944c0 -106.032 85.9678 -192 192 -192h384.656c106.032 0 191.008 85.9678 191.008 192 l0.0644531 32.8477c29.0244 -0.223633 58.6084 -0.399414 64.9766 -0.399414c105.776 0 191.568 85.04 191.568 191.072c-0.015625 106.048 -85.8076 192.928 -191.584 192.928zM703.533 127.76c0 -70.5918 -56.3994 -128 -127.008 -128h-384.656 c-70.5918 0 -128 57.4082 -128 128l-0.0957031 480.944l640.592 -0.192383zM832.559 223.279c-6.35156 0 -35.8877 0.191406 -64.8633 0.399414l0.448242 256.816c29.1201 -0.208008 56.0479 -0.368164 64.3994 -0.368164c73.1201 0 128.624 -54.5439 128.624 -127.84 s-55.4883 -129.008 -128.608 -129.008zM575.87 736.238c17.6641 0 32 14.3359 32 32v160c0 17.6641 -14.3359 32 -32 32s-32 -14.3359 -32 -32v-160c0 -17.6797 14.3359 -32 32 -32zM191.87 736.238c17.6641 0 32 14.3359 32 32v160c0 17.6641 -14.3359 32 -32 32 s-32 -14.3359 -32 -32v-160c0 -17.6797 14.3359 -32 32 -32zM383.87 736.238c17.6641 0 32 14.3359 32 32v160c0 17.6641 -14.3359 32 -32 32s-32 -14.3359 -32 -32v-160c0 -17.6797 14.3359 -32 32 -32z"/>
<glyph glyph-name="compass" unicode="" d="M733.184 679.728l-313.15 -134.64c-5.66406 -2.87988 -10.2559 -7.47168 -13.1514 -13.1514l-143.456 -289.216c-5.87207 -11.5361 -3.74414 -25.5361 5.31152 -34.7842c5.80762 -5.9043 13.6318 -9.02441 21.5361 -9.02441c4.43164 0 8.94336 0.975586 13.1191 3.00781 l305.728 126.976c5.59961 2.68848 10.2236 7.05664 13.2158 12.4971l150.88 296.896c6.43164 11.5996 4.52734 26.0312 -4.65625 35.5674c-9.21582 9.53613 -23.584 11.8721 -35.376 5.87207zM357.857 295.184l87.0078 177.681l87.8721 -109.984zM584.705 400.384 l-88.7998 111.152l176.784 69.7598zM512.001 960c-282.768 0 -512 -229.232 -512 -512c0 -282.784 229.232 -512 512 -512c282.784 0 512 229.216 512 512c0 282.768 -229.216 512 -512 512zM512.001 -1.00781c-247.024 0 -448 201.984 -448 449.009 c0 247.025 200.976 448 448 448s448 -200.976 448 -448s-200.976 -449.009 -448 -449.009z"/>
<glyph glyph-name="call-out" unicode="" d="M1000.35 188.384c-15.6641 11.0078 -187.059 124.974 -208.066 137.806c-9.15234 5.59961 -20.3203 8.33594 -32.4639 8.33594c-15.6641 0 -33.0078 -4.55957 -49.9355 -13.4717c-16.4961 -8.68848 -66.4639 -37.1201 -90.9121 -51.0879 c-21.5361 15.1201 -72.1279 53.8721 -151.84 133.664c-79.2158 79.1836 -118.319 130.191 -133.535 151.84c13.9355 24.4316 42.3359 74.3994 50.9756 90.8477c16.3682 31.0078 18.2246 61.9678 4.94434 82.8477c-12.4639 19.6797 -125.968 191.808 -137.68 208 c-11.0244 15.2803 -30.8164 23.5361 -52.2881 23.5361c-16.9443 0 -34.9121 -5.12012 -50.4961 -15.9678c-1.50391 -1.07227 -152.096 -110.256 -150.096 -172.352c5.55176 -174.432 175.056 -379.424 316.271 -520.688c141.215 -141.264 346.224 -310.815 521.344 -316.399 h1.44043c61.3115 0 169.088 148.688 170.128 150.16c28.2725 40.4004 17.9688 84.8809 -7.79067 102.929zM956.141 122.733c-40.5918 -56.2236 -98.2246 -114.945 -120.784 -123.346c-120.032 5.63184 -288.464 111.12 -474.88 297.568 c-186.4 186.464 -291.872 354.704 -297.44 474.336c8.0957 22.624 66.8154 80.624 122.527 120.912c4.12793 2.84766 9.21582 4.49609 13.9678 4.49609c1.05566 0 1.93555 -0.0957031 2.62402 -0.223633c18 -26.1602 114.624 -172.433 132.16 -199.776 c0.0644531 -2.87988 -0.911133 -10.1914 -6.39941 -20.623c-5.83984 -11.1201 -24.0322 -43.5361 -49.9043 -88.8799l-20.1279 -35.2803l23.3438 -33.248c17.4082 -24.7197 58.8164 -78.4639 140.624 -160.288c82.1602 -82.1924 135.712 -123.473 160.336 -140.784 l33.248 -23.3438l35.2803 20.1602c34.1924 19.5361 75.5039 42.9443 88.9443 50c10.7842 5.67969 18.1602 6.12793 20.1602 6.12793c0.320312 0 0.592773 0 0.816406 -0.0322266c24.4961 -15.376 173.937 -114.592 200.32 -132.688 c0.431641 -2.55957 0.03125 -8.12793 -4.81641 -15.0879zM683.899 577.724l275.246 273.572l-0.879883 -155.056c-0.288086 -12.9443 9.96777 -24.1924 22.9121 -23.8887l16.416 0.015625c12.96 0.320312 23.6484 8 23.9209 20.9277l0.65625 231.008 c0 0.223633 -0.864258 0.383789 -0.864258 0.607422l1.26367 11.7119c0.12793 6.49609 -1.37598 12.2881 -5.59961 16.4316c-4.12793 4.17578 -9.93555 6.71973 -16.3838 6.54395l-11.6963 -0.272461c-0.223633 0 -0.399414 -0.0957031 -0.655273 -0.12793l-229.472 1.02441 c-12.9277 -0.288086 -23.6162 -10.9766 -23.9199 -23.9209l-0.0322266 -16.416c1.96777 -15.2324 13.9355 -24.1602 26.8799 -23.8721l151.248 -0.400391l-274.288 -272.624c-12.4961 -12.4961 -12.4961 -32.7686 0 -45.2646 c12.4961 -12.4805 32.752 -12.4805 45.2484 0.000475z"/>
<glyph glyph-name="call-in" unicode="" d="M1000.35 188.384c-15.6641 11.0078 -187.059 124.974 -208.066 137.806c-9.15234 5.59961 -20.3203 8.33594 -32.4639 8.33594c-15.6641 0 -33.0078 -4.55957 -49.9355 -13.4717c-16.4961 -8.68848 -66.4639 -37.1201 -90.9121 -51.0879 c-21.5361 15.1201 -72.1279 53.8721 -151.84 133.664c-79.2158 79.1836 -118.319 130.191 -133.535 151.84c13.9355 24.4316 42.3359 74.3994 50.9756 90.8477c16.3682 31.0078 18.2246 61.9678 4.94434 82.8477c-12.4639 19.6797 -125.968 191.808 -137.68 208 c-11.0244 15.2803 -30.8164 23.5361 -52.2881 23.5361c-16.9443 0 -34.9121 -5.12012 -50.4961 -15.9678c-1.50391 -1.07227 -152.096 -110.256 -150.096 -172.352c5.55176 -174.432 175.056 -379.424 316.271 -520.688c141.215 -141.264 346.224 -310.815 521.344 -316.399 h1.44043c61.3115 0 169.088 148.688 170.128 150.16c28.2725 40.4004 17.9688 84.8809 -7.79067 102.929zM956.141 122.733c-40.5918 -56.2236 -98.2246 -114.945 -120.784 -123.346c-120.032 5.63184 -288.464 111.12 -474.88 297.568 c-186.4 186.464 -291.872 354.704 -297.44 474.336c8.0957 22.624 66.8154 80.624 122.527 120.912c4.12793 2.84766 9.21582 4.49609 13.9678 4.49609c1.05566 0 1.93555 -0.0957031 2.62402 -0.223633c18 -26.1602 114.624 -172.433 132.16 -199.776 c0.0644531 -2.87988 -0.911133 -10.1914 -6.39941 -20.623c-5.83984 -11.1201 -24.0322 -43.5361 -49.9043 -88.8799l-20.1279 -35.2803l23.3438 -33.248c17.4082 -24.7197 58.8164 -78.4639 140.624 -160.288c82.1602 -82.1924 135.712 -123.473 160.336 -140.784 l33.248 -23.3438l35.2803 20.1602c34.1924 19.5361 75.5039 42.9443 88.9443 50c10.7842 5.67969 18.1602 6.12793 20.1602 6.12793c0.320312 0 0.592773 0 0.816406 -0.0322266c24.4961 -15.376 173.937 -114.592 200.32 -132.688 c0.431641 -2.55957 0.03125 -8.12793 -4.81641 -15.0879zM643.836 583.483c4.12793 -4.17578 9.9375 -6.72168 16.3857 -6.5459l11.7119 0.272461c0.223633 0 0.383789 0.0957031 0.639648 0.111328l229.504 -1.00781c12.9121 0.303711 23.6162 10.9922 23.9199 23.9365 l0.015625 16.416c-1.95215 15.2324 -13.9365 24.1602 -26.8643 23.8721l-151.504 0.400391l261.952 261.6c12.4961 12.4961 12.4961 32.7686 0 45.2646c-12.4961 12.4805 -32.752 12.4805 -45.248 0.000976562l-262.672 -262.32l0.879883 154.832 c0.288086 12.9277 -9.96777 24.1914 -22.8955 23.8877l-16.416 -0.015625c-12.96 -0.320312 -23.6641 -8.0166 -23.9365 -20.9443l-0.65625 -231.008c0 -0.223633 0.879883 -0.383789 0.879883 -0.607422l-1.28027 -11.7119 c-0.12793 -6.49609 1.3916 -12.2725 5.58428 -16.4331z"/>
<glyph glyph-name="call-end" unicode="" d="M961.696 760.448c0 -1.05566 -0.0966797 -1.93457 -0.224609 -2.62305c-26.1602 -18 -172.433 -114.624 -199.776 -132.16c-2.87988 -0.0644531 -10.1914 0.911133 -20.623 6.39941c-11.1201 5.83984 -43.5361 24.0322 -88.8799 49.9043l-35.2803 20.1279 l-33.248 -23.3438c-24.7197 -17.4082 -78.4639 -58.8164 -160.288 -140.624c-82.1758 -82.1602 -123.456 -135.712 -140.768 -160.336l-23.3438 -33.248l20.1602 -35.2803c19.5361 -34.1924 42.9443 -75.5039 50 -88.9443 c5.67969 -10.7842 6.12793 -18.1602 6.12793 -20.1602c0 -0.320312 0 -0.592773 -0.0322266 -0.816406c-15.3604 -24.4961 -114.593 -173.937 -132.673 -200.32c-2.55957 -0.431641 -8.12793 -0.03125 -15.0879 4.81641c-56.2559 40.6084 -114.96 98.2402 -123.376 120.8 c5.63184 120.032 111.12 288.464 297.568 474.88c186.464 186.4 354.72 291.872 474.352 297.44c22.624 -8.0957 80.624 -66.8154 120.912 -122.527c2.83203 -4.12793 4.48047 -9.23242 4.48061 -13.985zM1023.7 760.449c0 16.9443 -5.12109 34.9141 -15.9688 50.498 c-1.05566 1.50391 -108.256 152.096 -170.336 150.096c-174.432 -5.55176 -379.439 -175.056 -520.703 -316.271c-141.232 -141.216 -310.801 -346.224 -316.385 -521.344v-1.44043c0 -61.3115 148.672 -169.088 150.144 -170.128 c40.4004 -28.2881 84.8809 -17.9678 102.945 7.77637c11.0078 15.6641 124.976 187.056 137.808 208.063c5.59961 9.15234 8.33594 20.3203 8.33594 32.4639c0 15.6641 -4.57617 33.0078 -13.4727 49.9355c-8.6875 16.4961 -37.1191 66.4639 -51.0869 90.9121 c15.1201 21.5361 53.8721 72.1279 133.664 151.84c79.1836 79.2158 130.191 118.319 151.84 133.535c24.4316 -13.9355 74.3994 -42.3359 90.8477 -50.9756c31.0078 -16.3682 61.9678 -18.2246 82.8477 -4.94434c19.6797 12.4639 189.808 125.968 206 137.68 c15.2803 11.0557 23.5205 30.8477 23.5201 52.3035z"/>
<glyph glyph-name="calculator" unicode="" d="M960 960.096h-896c-35.1836 0 -64 -28.8164 -64 -64v-896.192c0 -35.1836 28.8164 -64 64 -64h896c35.1836 0 64 28.8164 64 64v896.192c0 35.1836 -28.8164 64 -64 64zM960 -0.0966797h-896v896.192h896v-896.192zM224 607.695h64v-64c0 -17.6641 14.3359 -32 32 -32 s32 14.3359 32 32v64h64c17.6641 0 32 14.3359 32 32s-14.3359 32 -32 32h-64v64c0 17.6641 -14.3359 32 -32 32s-32 -14.3359 -32 -32v-64h-64c-17.6641 0 -32 -14.3359 -32 -32s14.3359 -32 32 -32zM433.136 368.848 c-12.4961 12.4961 -32.752 12.4971 -45.248 0.000976562l-67.8877 -67.8721l-67.8877 67.8721c-12.4961 12.4961 -32.752 12.4961 -45.2637 0c-12.4961 -12.4961 -12.4961 -32.7686 0 -45.2646l67.8721 -67.8721l-67.8721 -67.8721 c-12.4961 -12.4961 -12.4961 -32.7686 0 -45.2646s32.752 -12.4961 45.2637 0l67.8877 67.8564l67.8877 -67.8721c12.4961 -12.4961 32.752 -12.4961 45.248 0s12.4961 32.7686 0 45.2646l-67.8721 67.8721l67.8721 67.8721c12.4961 12.5117 12.4961 32.7676 0 45.2793z M608 607.696h192c17.6641 0 32 14.3359 32 32s-14.3359 32 -32 32h-192c-17.6641 0 -32 -14.3359 -32 -32s14.3359 -32 32 -32zM608 287.696h192c17.6641 0 32 14.3359 32 32s-14.3359 32 -32 32h-192c-17.6641 0 -32 -14.3359 -32 -32s14.3359 -32 32 -32zM608 159.696h192 c17.6641 0 32 14.3359 32 32s-14.3359 32 -32 32h-192c-17.6641 0 -32 -14.3359 -32 -32s14.3359 -32 32 -32z"/>
<glyph glyph-name="bubbles" unicode="" d="M424.816 280.656c230.944 0 409.902 131.903 407.15 327.631c0 173.184 -183.216 311.632 -414.16 311.632c-230.976 0 -418.159 -138.448 -418.159 -311.632c0 -107.872 52.9121 -222.88 163.408 -279.376c0 -0.65625 -0.192383 -1.15234 -0.192383 -1.87207 c0 -46.8799 -39.0244 -111.152 -54.4004 -137.664h0.0644531c-1.21582 -2.87988 -1.95215 -6 -1.95215 -9.34375c0 -13.1201 10.5762 -23.6641 23.6963 -23.6641c1.93555 0 5.08789 0.400391 6.22363 0.400391c0.320312 0 0.432617 0 0.400391 -0.0957031 c81.6641 13.3438 202.256 105.248 220.128 127.024c18.3359 -2.71973 30.7197 -3.15137 46.0801 -3.15137c6.52832 0.015625 13.4727 0.111328 21.7129 0.111328zM330.687 349.535l-40.9766 -34.0322c-9.50391 -10.9756 -50.7998 -45.4395 -86.3516 -67.8076 c21.6484 61.6797 20.7041 81.2158 20.7041 81.2158l3.00781 39.1523l-34.8799 17.8076c-88.6719 45.3438 -128.528 139.744 -128.528 222.4c0 137.664 158.864 247.632 354.16 247.632c195.28 0 350.16 -109.968 350.16 -247.632 c-0.608398 -152.608 -145.872 -264.624 -341.152 -264.624c0 0 -29.8076 -1.15234 -60.3994 3.37598zM1024.33 349.807c0 86.7363 -33.8867 152.881 -118.446 202.513c-2.06445 -23.0723 -8.64062 -47.8242 -15.793 -69.5684 c54.6562 -37.7764 70.2559 -76.5605 70.2559 -132.944c0 -69.0244 -32.1602 -119.089 -106.912 -157.345l-31.8398 -15.8076s3.31152 -82 8.22363 -102.752c-62.4482 45.7764 -83.9043 84 -83.9043 84l-33.6641 -5.18359 c-13.3115 -1.93555 -49.3115 -1.96777 -49.3115 -1.96777c-86.9443 0 -151.376 20.7197 -206.336 63.7441c14.9277 0.912109 -89.1846 0.879883 -91.5049 -1.15234c63.5684 -77.6318 167.473 -126.592 297.841 -126.592c7.08789 0 13.0879 -0.0644531 18.7197 -0.0644531 c13.2803 0 24 0.368164 39.8398 2.68848c15.4883 -18.7842 102.225 -101.504 172.816 -113.008c-0.0322266 0.0644531 0.0634766 0.0644531 0.367188 0.0644531c0.944336 0 3.68066 -0.335938 5.34473 -0.335938c11.3438 0 20.4961 9.12012 20.4961 20.4639 c0 2.87988 -0.65625 5.59961 -1.68066 8.06348h0.0644531c-13.2803 22.8799 -34.1279 89.7441 -34.1279 130.256c0 0.624023 -0.192383 1.05566 -0.192383 1.63184c95.5039 48.832 139.744 120.08 139.744 213.296z"/>
<glyph glyph-name="briefcase" unicode="" d="M960.016 768.528h-255.601v62c0 52.9443 -43.0557 96 -96 96h-192.432c-52.9443 0 -96 -43.0557 -96 -96v-62h-255.968c-35.1836 0 -64 -28.8164 -64 -64v-224.256h-0.0322266v-64h0.0322266v-382.816c0 -35.1836 28.8164 -64 64 -64h896c35.1836 0 64 28.8164 64 64 v671.072c0 35.1836 -28.8164 64 -64 64h0.001zM383.983 830.528c0 17.6641 14.3359 32 32 32h192.432c17.6641 0 32 -14.3359 32 -32v-62h-256.432zM64.0156 704.528h896v-224.256h-352.368v32.752c0 35.2803 -28.7197 64 -64 64h-63.7441c-35.2803 0 -64 -28.7197 -64 -64 v-32.752h-351.888v224.256h0.0001zM543.695 351.872h-63.8086v161.152h63.7441zM64.0146 33.4717v382.816h351.872v-64.4004c0 -35.2803 28.7197 -64 64 -64h63.7441c35.2803 0 64 28.7197 64 64v64.4004h352.368v-382.816h-895.984h-0.0001z"/>
<glyph glyph-name="book-open" unicode="" d="M952.08 958.448l-423.041 -114.592c-10.752 -2.87988 -34.0957 -2.84766 -44.8154 0.160156l-412.144 114.208c-36.7842 10.1279 -72.416 -16.4004 -72.416 -54.2725v-778.112c0 -32.0957 24.3359 -62.7842 55.3115 -71.4082l412.16 -114.224 c11.0244 -3.05566 25.2168 -4.75195 39.9365 -4.75195c10.0957 0 25.0078 0.78418 38.7197 4.52832l423.024 114.592c31.0557 8.40039 55.5039 39.0244 55.5039 71.248v778.128c0.015625 37.8398 -35.6162 64.4639 -72.2402 54.4961zM479.999 3.05664l-408.928 113.056 c-3.08789 0.847656 -7.4082 6.49609 -7.4082 9.71191v768.032l403.472 -111.536c3.9043 -1.08789 8.28809 -1.93555 12.8643 -2.65527v-776.608zM960.335 125.824c0 -3.15234 -5.18359 -8.65527 -8.25586 -9.50293l-408.08 -110.528v775.92 c0.591797 0.143555 1.2002 0.223633 1.79199 0.383789l414.528 112.128v-768.4h0.015625zM641.999 593.697c2.87988 0 5.80957 0.367188 8.68945 1.18359l223.936 63.0244c17.0244 4.81641 26.9443 22.4648 22.1602 39.4727s-22.5605 26.8799 -39.4727 22.1602 l-223.936 -63.0244c-17.0244 -4.81641 -26.9443 -22.4648 -22.1602 -39.4727c3.96777 -14.1279 16.8154 -23.3438 30.7833 -23.3438zM642.001 401.696c2.87988 0 5.80957 0.368164 8.68945 1.18457l223.936 63.0244c17.0244 4.81641 26.9443 22.4648 22.1602 39.4727 c-4.7841 17.0079 -22.5605 26.8799 -39.4727 22.1602l-223.936 -63.0244c-17.0244 -4.81641 -26.9443 -22.4648 -22.1602 -39.457c3.96777 -14.1279 16.8154 -23.3604 30.7833 -23.3605zM642.003 209.696c2.87988 0 5.80957 0.368164 8.68945 1.18457l223.936 63.0244 c17.0244 4.81641 26.9443 22.4648 22.1602 39.4727s-22.5605 26.8799 -39.4727 22.1602l-223.936 -63.0244c-17.0244 -4.81641 -26.9443 -22.4648 -22.1602 -39.4727c3.96777 -14.1123 16.8154 -23.3447 30.7833 -23.3448zM394.629 656.513l-223.934 63.0254 c-16.9121 4.71973 -34.6885 -5.15234 -39.4727 -22.1602s5.12012 -34.6562 22.1602 -39.4727l223.936 -63.0244c2.87988 -0.816406 5.80762 -1.18457 8.6875 -1.18457c13.9678 0 26.8154 9.21582 30.7832 23.3438c4.78418 16.9922 -5.12012 34.6562 -22.1602 39.4727z M394.631 464.514l-223.934 63.0254c-16.9121 4.71973 -34.6885 -5.15234 -39.4727 -22.1602s5.12012 -34.6562 22.1602 -39.4727l223.936 -63.0244c2.87988 -0.816406 5.80762 -1.18457 8.6875 -1.18457c13.9678 0 26.8154 9.21582 30.7832 23.3438 c4.78418 16.9922 -5.12012 34.6562 -22.1602 39.4727zM394.633 272.515l-223.934 63.0254c-16.9121 4.71973 -34.6885 -5.15234 -39.4727 -22.1602s5.12012 -34.6562 22.1602 -39.4727l223.936 -63.0244c2.87988 -0.816406 5.80762 -1.18457 8.6875 -1.18457 c13.9678 0 26.8154 9.21582 30.7832 23.3438c4.78418 17.0078 -5.12012 34.6562 -22.1602 39.4727z"/>
<glyph glyph-name="basket-loaded" unicode="" d="M1015.66 676c-5.96777 8.46387 -15.6631 13.502 -25.999 13.502h-99.7441l-205.136 174.832c-24.9756 24.9756 -65.5195 25.0078 -90.4951 0l-201.648 -174.832h-82.0957l-51.4082 177.28c-20.1602 69.8076 -68.0645 77.3438 -87.7129 77.3438h-137.088 c-17.5684 0 -31.7764 -14.2236 -31.7764 -31.7754s14.2236 -31.7754 31.7754 -31.7754h137.056c4.33594 0 17.5684 0 26.5928 -31.1836l176.848 -649.936c3.83984 -13.7119 16.3359 -23.1836 30.5918 -23.1836h431.968c13.4082 0 25.376 8.40039 29.9043 21.0244 l152.256 449.68c3.50391 9.74414 2.04785 20.5918 -3.8877 29.0234zM639.537 819.07l152.032 -129.584h-304.112zM815.025 239.807h-385.487l-101.152 386.128h616.096zM752.002 111.871c-44.1924 0 -80 -35.8076 -80 -80s35.8076 -80 80 -80s80 35.8076 80 80 c0 44.1924 -35.8076 80 -80 80zM464.002 111.871c-44.1924 0 -80 -35.8076 -80 -80s35.8076 -80 80 -80s80 35.8076 80 80c0 44.1924 -35.8076 80 -80 80z"/>
<glyph glyph-name="basket" unicode="" d="M1015.66 676c-5.96777 8.46387 -15.6621 13.502 -25.998 13.502h-679.136l-51.4082 177.28c-20.1602 69.8076 -68.0645 77.3438 -87.7129 77.3438h-137.072c-17.5684 0 -31.7764 -14.2236 -31.7764 -31.7754s14.2236 -31.7754 31.7754 -31.7754h137.056 c4.33594 0 17.5684 0 26.5928 -31.1836l176.848 -649.936c3.83984 -13.7119 16.3359 -23.1836 30.5918 -23.1836h431.968c13.4082 0 25.376 8.40039 29.9043 21.0244l152.256 449.68c3.50391 9.74414 2.04785 20.5918 -3.8877 29.0234zM815.026 239.806h-385.487 l-101.152 386.128h616.096zM752.003 111.87c-44.1924 0 -80 -35.8076 -80 -80s35.8076 -80 80 -80s80 35.8076 80 80c0 44.1924 -35.8076 80 -80 80zM464.003 111.87c-44.1924 0 -80 -35.8076 -80 -80s35.8076 -80 80 -80s80 35.8076 80 80c0 44.1924 -35.8076 80 -80 80z "/>
<glyph glyph-name="bag" unicode="" d="M864 801.296h-191.185v61.376c0 52.9443 -43.0557 96 -96 96h-127.632c-52.9443 0 -96 -43.0557 -96 -96v-61.376h-193.184c-35.3438 0 -64 -28.6562 -64 -64v-735.968c0 -35.3438 28.6562 -64 64 -64h704c35.3438 0 64 28.6562 64 64v735.968 c0 35.3438 -28.6562 64 -64 64h0.001zM417.184 862.672c0 17.6641 14.3359 32 32 32h127.632c17.6641 0 32 -14.3359 32 -32v-61.376h-191.632v61.376zM864 1.32812h-704v735.968h193.184v-65.8398s-0.847656 -31.9678 31.8086 -31.9678 c36 0 32.1924 31.9678 32.1924 31.9678v65.8398h191.632v-65.8398s-2.12793 -32.1279 31.8721 -32.1279c32 0 32.1279 32.1279 32.1279 32.1279v65.8398h191.184v-735.968z"/>
<glyph glyph-name="action-undo" unicode="" d="M990.064 17.6641c-0.335938 0 -0.719727 -0.000976562 -1.08789 0.03125c-16.1924 0.52832 -26.4004 13.0879 -27.7764 29.2158c-1.08789 11.8721 -33.9678 299.088 -482.256 298.784v-183.664c0 -12.3682 -7.12012 -23.6641 -18.3359 -28.9443 c-11.0879 -5.31152 -24.4316 -3.67969 -33.9678 4.22461l-414.976 343.776c-7.44043 6.0957 -11.7129 15.1836 -11.6807 24.7832c0.0322 9.5996 4.33594 18.6875 11.7764 24.752l414.96 340.56c9.56836 7.80762 22.7842 9.31152 33.9365 4.0957 c11.1523 -5.31152 18.2881 -16.5596 18.2881 -28.9111v-179.632c185.968 -5.9043 330.992 -65.7119 424.336 -174.976c151.936 -177.776 118.031 -436.16 116.432 -446.912c-2.36816 -15.6641 -13.8721 -27.1836 -29.6484 -27.1836zM446.944 410.191l0.0625 0.000976562 c320.224 -0.192383 442.592 -108.32 512.464 -203.809c-10.2236 76.4961 -40.0635 168.72 -105.008 244.031c-86.3359 100.096 -225.439 152.848 -407.535 152.848c-17.6797 0 -32 14.3203 -32 32v143.776l-332.432 -273.36l332.432 -275.904v148.4 c0 8.49609 3.37598 16.6562 9.4082 22.6562c6 5.98438 14.1279 9.36035 22.6084 9.36035z"/>
<glyph glyph-name="action-redo" unicode="" d="M33.9355 17.6641c0.335938 0 0.719727 -0.000976562 1.08789 0.03125c16.1924 0.52832 26.4004 13.0879 27.7764 29.2158c1.08789 11.8721 32.9756 299.088 481.248 298.784l1.00781 -183.664c0 -12.3682 7.12012 -23.6641 18.3359 -28.9443 c11.0879 -5.31152 24.4316 -3.67969 33.9678 4.22461l414.976 343.776c7.44043 6.0957 11.7129 15.1836 11.6807 24.7832c-0.0322 9.5996 -4.33594 18.6875 -11.7764 24.752l-414.96 340.56c-9.56836 7.80762 -22.7842 9.31152 -33.9365 4.0957 c-11.1523 -5.31152 -18.2881 -16.5596 -18.2881 -28.9111l-1.00781 -179.632c-185.952 -5.8877 -329.968 -65.7119 -423.328 -174.96c-151.936 -177.776 -118.031 -436.16 -116.432 -446.912c2.36816 -15.6797 13.8721 -27.1992 29.6484 -27.1992zM577.056 410.191h-0.0625 c-320.208 -0.192383 -442.592 -108.32 -512.464 -203.824c10.2236 76.4961 40.0635 168.72 105.008 244.031c86.3359 100.096 225.44 152.848 407.536 152.848c17.6797 0 32 14.3203 32 32v143.776l332.432 -273.344l-332.448 -275.904v148.4 c0 8.49609 -3.37598 16.6562 -9.4082 22.6562c-5.98438 5.98438 -14.1123 9.36035 -22.5928 9.36035z"/>
<glyph glyph-name="wrench" unicode="" d="M1006.37 744.064c-10.7842 4.97559 -23.582 3.08789 -32.5576 -4.84766l-161.312 -144.896l-145.632 149.408l144.192 166.528c7.83984 9.05566 9.74414 21.5361 4.86426 32.5117s-15.6641 17.6953 -27.5205 17.6953h-8.68848 c-89.1201 0 -242.977 -7.66406 -311.664 -77.3438l-13.8564 -13.7598c-73.2803 -74.7676 -86.2881 -197.376 -47.6797 -290.576l-369.28 -376.896c-49.792 -50.4805 -49.792 -132.32 0 -182.816l45.0723 -45.6963c24.8955 -25.2324 57.5352 -37.8564 90.1748 -37.8564 c32.624 0 65.2637 12.624 90.1436 37.8564l374.72 377.728c35.4404 -19.1523 84 -31.6641 124.784 -31.6641c65.376 0 127.344 26.3682 174.527 74.2559l13.6641 13.8398c74.6084 75.6484 73.4561 237.297 73.792 308.417 c0.0322266 12.0957 -6.92773 23.0879 -17.7434 28.112zM905.666 450.992l-11.873 -13.8711c-35.7441 -36.2725 -82.4961 -53.6484 -131.664 -53.6484c-24.3203 0 -57.0879 4.57617 -79.2158 13.792c-20 8.30371 -38.5762 20.2881 -55.2002 35.4238l-410.176 -413.616 c-12.0322 -12.2236 -28.0322 -18.9434 -45.0566 -18.9434s-33.04 6.71973 -45.0879 18.9434l-45.0557 45.6797c-24.8643 25.2158 -24.8643 66.2236 -0.0166016 91.4395l400.784 408.864c-13.4404 19.5684 -22.5928 40.8965 -28.0488 62.9766h-0.015625 c-15.4238 62.3838 -6.43164 148.607 42.0166 198.048l13.792 13.9199c41.5518 42.1602 149.456 54.624 209.2 58.3037l-117.36 -135.536c-10.4961 -12.1279 -9.96777 -30.4004 1.21582 -41.8721l185.536 -190.336c11.248 -11.584 29.4404 -12.2559 41.5527 -1.51953 l130.608 117.632c-3.8877 -63.3604 -16.1914 -155.376 -55.9349 -195.68z"/>
<glyph glyph-name="umbrella" unicode="" d="M1024.32 450.416c0 -17.6641 -14.29 -31.9844 -31.9697 -31.9844h-448.88v-324.192c0 -87.1523 -70.9121 -158.08 -158.096 -158.08s-158.111 70.9277 -158.111 158.08c0 17.6641 14.3203 31.9844 31.9844 31.9844c17.6641 0 31.9844 -14.3203 31.9844 -31.9844 c0 -51.9043 42.2236 -94.1279 94.1592 -94.1279c51.9199 0 94.1602 42.2236 94.1602 94.1279v324.192h-447.888c-17.6641 0 -31.9844 14.3359 -31.9844 31.9844c0 247.296 180.912 404.112 479.856 414.48v62.9756c0 17.6641 14.3203 31.9678 31.9844 31.9678 c17.6797 0 31.9678 -14.3203 31.9678 -31.9688v-62.9756c299.008 -10.3516 480.832 -167.184 480.833 -414.479zM959.15 482.384c-15.7764 200.528 -178.896 319.119 -447.648 319.119s-430.896 -118.592 -446.655 -319.104h894.304v-0.015625z"/>
<glyph glyph-name="trash" unicode="" d="M896.8 800.976l-225.277 -0.000976562v87.2637c0 40.5283 -33.0078 72.4961 -73.5361 72.4961h-171.984c-40.5283 0 -73.5205 -31.9678 -73.5205 -72.4961v-87.2637h-225.28c-17.6641 0 -32 -14.3359 -32 -32s14.3359 -32 32 -32h44.0156l74.2402 -739.92 c3.10352 -34.624 32.6074 -61.7764 67.1357 -61.7764h398.8c34.5283 0 64 27.1523 67.0879 61.4727l74.3037 740.24h44.0156c17.6797 0 32 14.3359 32 32s-14.3203 31.9844 -32 31.9844zM416.482 888.238c0 5.23242 4.27148 9.50488 9.51953 9.50488h171.984 c5.24805 0 9.53613 -4.27246 9.53613 -9.50488v-87.2637h-191.04zM714.77 2.79785c-0.160156 -1.77637 -2.25586 -3.53613 -3.37598 -3.53613h-398.8c-1.12012 0 -3.23242 1.74414 -3.4248 3.83984l-73.6318 733.856h552.912z"/>
<glyph glyph-name="tag" unicode="" d="M1023.98 543.728l-0.000976562 338.367c0 42.9443 -34.9443 77.9043 -77.8721 77.9043h-345.376c-21.6797 0 -54.4961 0 -75.9199 -21.4404l-505.936 -505.952c-12.1602 -12.1602 -18.8799 -28.3037 -18.8799 -45.4873c0 -17.2158 6.68848 -33.376 18.8486 -45.5361 l386.8 -386.72c12.1123 -12.1758 28.2725 -18.8643 45.4561 -18.8643s33.3594 6.68848 45.4873 18.8486l505.952 505.968c21.6963 21.6484 21.5684 52.8164 21.4409 82.9122zM957.295 506.062l-506.417 -505.936l-386.752 387.216l505.392 505.504 c5.08789 3.15234 23.4082 3.15234 30.9922 3.15234l14.4004 -0.0478516l331.2 0.0478516c7.66406 0 13.8721 -6.24023 13.8721 -13.9043v-338.624c0.0644531 -12.1758 0.128906 -32.5439 -2.6877 -37.408zM768.014 831.999c-70.6885 0 -128 -57.3115 -128 -128 s57.3115 -128 128 -128c70.6875 0 128 57.3115 128 128s-57.3115 128 -128 128zM768.014 639.999c-35.3438 0 -64 28.6562 -64 64s28.6562 64 64 64s64 -28.6562 64 -64s-28.6562 -64 -64 -64z"/>
<glyph glyph-name="support" unicode="" d="M512 960c-282.768 0 -512 -229.232 -512 -512s229.232 -512 512 -512s512 229.232 512 512s-229.232 512 -512 512zM640 877.024c144.224 -42.9922 257.648 -156.8 300.704 -301.023h-207.568c-22.416 38.5283 -54.5918 70.6719 -93.1357 93.0557zM703.633 447.792 c0 -105.936 -85.792 -191.808 -191.632 -191.808s-191.632 85.8721 -191.632 191.808s85.8076 191.823 191.632 191.823c105.824 0 191.632 -85.8877 191.632 -191.823zM448.001 891.072c20.9121 2.99219 42.2559 4.62402 64 4.62402 c21.7275 0 43.0879 -1.63184 64 -4.62402v-195.808c-20.4805 5.2959 -41.8564 8.39941 -64 8.39941s-43.5039 -3.10352 -64 -8.39941v195.808zM384.001 877.024v-207.968c-38.5596 -22.3838 -70.7197 -54.5439 -93.1357 -93.0557h-207.568 c43.04 144.224 156.48 258.031 300.704 301.024zM64.3047 447.841c0 21.8242 1.85547 43.1689 4.87988 64.1611h195.392c-5.31152 -20.5117 -8.23926 -41.9834 -8.23926 -64.1758c0 -22.0645 2.91211 -43.4248 8.16016 -63.8252h-195.36 c-2.97559 20.8799 -4.83203 42.1436 -4.83203 63.8398zM384 18.6738c-144.336 43.0078 -257.807 156.977 -300.799 301.328h207.472c22.4316 -38.6562 54.6553 -70.9443 93.3271 -93.3926v-207.936zM576.001 4.62695c-20.9121 -2.99219 -42.2725 -4.62402 -64 -4.62402 c-21.7441 0 -43.0879 1.64844 -64 4.62402v195.776c20.4961 -5.2959 41.8564 -8.39941 64 -8.39941s43.5195 3.10352 64 8.39941v-195.776zM640.001 18.6748v207.936c38.6562 22.4482 70.8965 54.7363 93.3125 93.3926h207.472 c-42.9922 -144.336 -156.464 -258.32 -300.784 -301.328zM759.505 384.002c5.24805 20.4004 8.16016 41.7607 8.16016 63.8252c0 22.1924 -2.92773 43.6641 -8.25586 64.1758h195.408c3.00781 -20.9922 4.87988 -42.3359 4.87988 -64.1602 c0 -21.6963 -1.83984 -42.9766 -4.83203 -63.8408h-195.36z"/>
<glyph glyph-name="size-fullscreen" unicode="" d="M685.904 576.816l275.264 273.572l-0.896484 -155.072c-0.288086 -12.9277 9.96777 -24.1758 22.9121 -23.8877l16.416 0.015625c12.9443 0.303711 23.6484 8 23.9209 20.9277l0.671875 231.008c0 0.223633 -0.879883 0.399414 -0.879883 0.623047l1.26367 11.7119 c0.12793 6.49609 -1.3916 12.2881 -5.58398 16.4316c-4.14355 4.17578 -9.95117 6.71973 -16.3994 6.54395l-11.6963 -0.272461c-0.223633 0 -0.399414 -0.0800781 -0.639648 -0.112305l-229.488 1.00781c-12.9277 -0.288086 -23.6318 -10.9766 -23.9199 -23.9209 l-0.0322266 -16.416c1.96777 -15.248 13.9521 -24.1602 26.8799 -23.8721l151.248 -0.400391l-274.288 -272.624c-12.4961 -12.4961 -12.4961 -32.752 0 -45.2637c12.4961 -12.4805 32.752 -12.4805 45.2474 -7.5e-05zM339.088 319.188l-275.263 -272.72l0.879883 154.224 c0.303711 12.9443 -9.96875 24.1924 -22.8965 23.9043l-17.4238 -0.0322266c-12.96 -0.320312 -23.6484 -8 -23.9209 -20.9443l-0.671875 -231.008c0 -0.223633 0.879883 -0.367188 0.879883 -0.623047l-1.26367 -11.6797 c-0.143555 -6.49609 1.37598 -12.3203 5.58398 -16.4326c4.12793 -4.19238 9.95215 -6.7207 16.3838 -6.56055l11.7119 0.288086c0.223633 0 0.383789 0.0957031 0.639648 0.0957031l230.496 -1.00781c12.9277 0.320312 23.6162 11.0088 23.9199 23.9365l0.0322266 16.4316 c-1.96777 15.2158 -13.9521 24.1602 -26.8799 23.8721l-151.248 0.400391l274.272 272.592c12.4961 12.4961 12.4961 32.752 0 45.248s-32.7363 12.5117 -45.2324 0.015625zM1024.21 -27.3711l-0.671875 231.009c-0.288086 12.9443 -10.9922 20.624 -23.9199 20.9443 l-16.416 0.0322266c-12.9443 0.288086 -23.1846 -10.9756 -22.9121 -23.9033l0.895508 -155.072l-275.28 273.552c-12.4961 12.4961 -32.752 12.4961 -45.248 0s-12.4961 -32.752 0 -45.248l274.272 -272.592l-151.232 -0.400391 c-12.9277 0.288086 -24.9121 -8.65625 -26.8799 -23.8721l0.0322266 -16.4316c0.303711 -12.9443 11.0078 -23.6328 23.9199 -23.9365l229.504 1.00781c0.240234 0 0.416016 -0.0957031 0.639648 -0.0957031l11.6963 -0.288086 c6.44824 -0.160156 12.2725 2.36816 16.4004 6.56055c4.19238 4.12793 5.69629 9.93555 5.58398 16.4316l-1.26367 11.6797c0 0.255859 0.879883 0.399414 0.879883 0.623047zM110.049 894.678l151.264 0.397461c12.9277 -0.288086 24.9121 8.63965 26.8799 23.8721 l-0.0322266 16.4316c-0.320312 12.9443 -11.0088 23.6484 -23.9209 23.9209l-230.512 -0.992188c-0.255859 0.0322266 -0.416016 0.112305 -0.639648 0.112305l-11.7119 0.272461c-6.43164 0.175781 -12.2715 -2.36816 -16.3838 -6.54395 c-4.20801 -4.14355 -5.72754 -9.93555 -5.58398 -16.4316l1.26367 -11.7119c0 -0.223633 -0.879883 -0.383789 -0.879883 -0.624023l0.671875 -231.008c0.288086 -12.9277 10.9766 -20.624 23.9209 -20.9277l17.4238 -0.015625 c12.9277 -0.288086 23.1836 10.96 22.8955 23.8877l-0.879883 154.224l275.264 -272.72c12.4805 -12.4961 32.7529 -12.4961 45.249 0s12.4961 32.7686 0 45.2646z"/>
<glyph glyph-name="size-actual" unicode="" d="M383.2 613.2l-0.672852 231.011c-0.288086 12.9277 -10.9922 20.624 -23.9199 20.9277l-16.416 0.015625c-12.9443 0.288086 -23.1846 -10.9756 -22.9121 -23.8877l0.895508 -155.248l-266.272 263.728c-12.4961 12.4961 -32.752 12.4961 -45.248 0 s-12.4961 -32.752 0 -45.248l265.12 -262.608l-151.088 -0.400391c-12.9277 0.288086 -24.9121 -8.63965 -26.8799 -23.8721l0.0322266 -16.416c0.320312 -12.9443 11.0088 -23.6484 23.9209 -23.9365l229.504 1.00781 c0.255859 -0.015625 0.416016 -0.111328 0.639648 -0.111328l11.6963 -0.272461c6.44824 -0.175781 12.2725 2.35254 16.4004 6.54492c4.20801 4.14355 5.71191 9.95117 5.58398 16.4316l-1.26367 11.7119c0.015625 0.223633 0.879883 0.399414 0.879883 0.623047z M645.983 584.435c4.12793 -4.17578 9.95215 -6.72363 16.4004 -6.54785l11.6963 0.272461c0.223633 0 0.383789 0.0800781 0.639648 0.112305l229.504 -1.00781c12.9277 0.288086 23.6162 10.9922 23.9199 23.9365l0.0322266 16.416 c-1.96777 15.248 -13.9521 24.1602 -26.8799 23.8721l-151.088 0.400391l265.12 262.608c12.4961 12.4961 12.4961 32.752 0 45.248s-32.752 12.4961 -45.248 0l-266.256 -263.712l0.879883 155.232c0.303711 12.9277 -9.95215 24.1758 -22.8965 23.8877l-16.416 -0.015625 c-12.96 -0.303711 -23.6484 -8 -23.9209 -20.9277l-0.671875 -231.008c0 -0.223633 0.879883 -0.383789 0.879883 -0.624023l-1.26367 -11.7119c-0.143555 -6.49609 1.36035 -12.2881 5.56836 -16.4316zM378.016 312.574 c-4.14355 4.17578 -9.95215 6.70508 -16.4004 6.54492l-11.6963 -0.288086c-0.223633 0 -0.383789 -0.0957031 -0.639648 -0.111328l-229.52 1.00781c-12.9277 -0.303711 -23.6162 -10.9922 -23.9199 -23.9199l-0.0322266 -16.4316 c1.96777 -15.2158 13.9521 -24.1602 26.8799 -23.8564l151.248 -0.400391l-265.28 -263.616c-12.4961 -12.4961 -12.4961 -32.752 0 -45.248c12.4961 -12.496 32.752 -12.4961 45.248 0l266.272 264.576l-0.896484 -156.08 c-0.288086 -12.9443 9.96777 -24.1924 22.9121 -23.9043l16.416 0.0322266c12.9443 0.320312 23.6484 8 23.9209 20.9277l0.671875 231.008c0 0.223633 -0.879883 0.367188 -0.879883 0.607422l1.26367 12.7041c0.143555 6.49609 -1.36035 12.2881 -5.56836 16.4482z M750.062 255.104l151.249 0.400391c12.9277 -0.303711 24.9121 8.64062 26.8799 23.8564l-0.0322266 16.4316c-0.320312 12.9443 -11.0088 23.6328 -23.9209 23.9209h-229.504c-0.255859 0.015625 -0.416016 0.111328 -0.639648 0.111328l-13.6963 0.272461 c-6.44824 0.175781 -12.2881 -4.35254 -16.4004 -8.54492c-4.20801 -4.14355 -5.71191 -9.93555 -5.58398 -16.4316l1.26367 -11.6963c0 -0.240234 -0.879883 -0.383789 -0.879883 -0.607422l0.671875 -231.008c0.288086 -12.9277 10.9766 -20.6074 23.9209 -20.9277 l17.4238 -0.0322266c12.9443 -0.288086 23.1846 10.9756 22.8965 23.9033l-0.879883 154.528l267.264 -263.024c12.4961 -12.4961 32.752 -12.4961 45.248 0c12.496 12.4961 12.4961 32.752 0 45.248z"/>
<glyph glyph-name="shuffle" unicode="" d="M402.304 454.144l39.2637 55.248l-134.304 183.28h-304.528v-64h271.488zM918.783 628.672l-77.5361 -69.5352c-9.34375 -8.94434 -12.3682 -23.4404 -3.02441 -32.3682l5.47168 -8.06445c9.37598 -8.94434 24.4961 -8.94434 33.8242 0l127.744 115.504 c0.175781 0.160156 0.383789 0.192383 0.543945 0.335938l8.46387 8.0957c4.67188 4.49609 7.00781 10.3682 6.97559 16.2881c0.0322266 5.87207 -2.30371 11.7764 -6.97559 16.2246l-8.46387 8.0957c-0.160156 0.160156 -0.335938 0.224609 -0.543945 0.368164 l-129.728 118.432c-9.36035 8.94434 -24.4639 8.94434 -33.8398 0l-5.47168 -8.06445c-9.36035 -8.94434 -6.32031 -23.4082 3.02344 -32.3359l76.0479 -68.9756h-231.76l-409.312 -576h-271.488v-64h304.512l409.328 576zM1005.81 107.232 c-0.160156 0.160156 -0.336914 0.225586 -0.544922 0.369141l-129.728 118.432c-9.36035 8.94434 -24.4639 8.94434 -33.8398 0l-5.47168 -8.06445c-9.36035 -8.94434 -6.32031 -23.4082 3.02344 -32.3359l76.3359 -69.2324l-199.008 0.272461l-114.432 177.008 l-39.2803 -55.248l120.656 -185.76l234.944 -0.288086l-77.2158 -69.248c-9.34375 -8.94434 -12.3682 -23.4404 -3.02441 -32.3682l5.47168 -8.06445c9.37598 -8.94434 24.4961 -8.94434 33.8242 0l127.744 115.504c0.175781 0.160156 0.383789 0.192383 0.543945 0.335938 l8.46387 8.0957c4.67188 4.49609 7.00781 10.3682 6.97559 16.2881c0.0322266 5.87207 -2.30371 11.7764 -6.97559 16.2246z"/>
<glyph glyph-name="share-alt" unicode="" d="M901.84 10.624h-831.999v640h257.6l64.7197 62.3359l-1.66406 1.66406h-320.656c-35.3438 0 -64 -28.6562 -64 -64v-640c0 -35.3438 28.6562 -64 64 -64h832c35.3438 0 64 28.6562 64 64v500.672l-64 -61.0879v-439.584zM270.129 266.624l64.4805 0.000976562 c44.8643 254.496 266.544 448 533.888 448c11.2158 0 21.8555 -0.0957031 32.623 -0.175781l-117.248 -117.232c-12.4639 -12.4961 -12.4639 -32.752 0 -45.248c6.25586 -6.25586 14.4639 -9.37598 22.6562 -9.37598s16.3359 3.12012 22.5918 9.37598l189.024 194 l-189.024 194.032c-12.4639 12.4961 -32.7197 12.4961 -45.248 0c-12.4639 -12.4961 -12.4639 -32.752 0 -45.248l116.176 -116.16c-10.0322 0.015625 -19.9678 0.0478516 -30.208 0.0478516c-303.056 0 -553.567 -221.952 -599.711 -512.017z"/>
<glyph glyph-name="share" unicode="" d="M864 256c-52.6885 0 -99.2949 -25.585 -128.431 -64.8809l-421.36 214.72c3.66406 13.4561 5.79199 27.5361 5.79199 42.1602c0 18.3037 -3.21582 35.8076 -8.87988 52.1758l423.76 205.616c29.0879 -39.8076 76.0156 -65.792 129.119 -65.792 c88.3682 0 160 71.6484 160 160c0 88.3682 -71.6318 160 -160 160s-160 -71.6318 -160 -160c0 -12.4316 1.56836 -24.4639 4.24023 -36.0801l-429.84 -208.576c-29.2803 32.2725 -71.3926 52.6562 -118.4 52.6562c-88.3682 0 -160 -71.6318 -160 -160 c0 -88.3516 71.6318 -160 160 -160c50.8955 0 96.1279 23.8242 125.424 60.8643l423.104 -215.632c-2.86426 -11.9678 -4.52832 -24.3838 -4.52832 -37.2314c0 -88.3682 71.6318 -160 160 -160s160 71.6318 160 160s-71.6318 160 -160 160zM864.002 895.999 c53.0078 0 96 -42.9922 96 -96s-42.9922 -96 -96 -96s-96 42.9922 -96 96s42.9922 96 96 96zM160.002 351.999c-53.0244 0 -96 42.9922 -96 96s42.9756 96 96 96c53.0078 0 96 -42.9922 96 -96s-42.9922 -96 -96 -96zM864.002 -0.000976562c-53.0078 0 -96 42.9922 -96 96 c0 53.0078 42.9922 96 96 96s96 -42.9922 96 -96s-42.9922 -96 -96 -96z"/>
<glyph glyph-name="rocket" unicode="" d="M209.68 76.7363c-20.1123 -41.8076 -32.8018 -69.666 -144.689 -73.7305c3.21582 107.968 23.792 119.552 64.9922 140.08c17.2959 8.62402 38.832 19.3438 62.1123 37.248l-38.96 49.7441c-18.4004 -14.1279 -35.3281 -21.5684 -51.6963 -29.7119 c-68.6396 -34.2236 -100.991 -67.9355 -100.991 -228.655l0.543945 -32.7041l31.4561 0.704102c169.632 0 201.328 38.3203 233.104 104.32c6.95996 14.4639 10.832 24.2402 22.5596 43.7285l-47.4561 43.1045c-14.2236 -19.4082 -23.1035 -37.8721 -30.9756 -54.1279z M704.959 771.343c-70.7676 0 -128.352 -57.583 -128.352 -128.335c0 -70.7842 57.5996 -128.353 128.352 -128.353s128.336 57.584 128.336 128.352c0 70.752 -57.5996 128.336 -128.336 128.336zM704.959 578.928c-35.3281 0 -64.0801 28.752 -64.0801 64.0801 c0 35.3125 28.752 64.0801 64.0801 64.0801s64.0801 -28.7676 64.0801 -64.0801c-0.015625 -35.3438 -28.752 -64.0801 -64.0801 -64.0801zM1023.78 930.688c-0.975586 15.9678 -13.6299 28.7715 -29.5977 29.9551c0 0 -179.088 13.0557 -351.376 -51.2803 c-62.9443 -23.5039 -114.752 -60.7363 -163.104 -117.137c-40.3203 -47.0244 -80.3848 -132.032 -115.745 -202.608c-13.6641 -27.248 -26.7197 -53.3125 -37.792 -73.2168h-178.016c-9.15234 0 -17.8564 -3.91992 -23.9365 -10.7676l-117.296 -127.136 c-7.50391 -8.46387 -9.98438 -20.2559 -6.52832 -31.0078c3.44043 -10.7842 12.3203 -18.9443 23.3281 -21.4404l190.944 -43.6641c13.0078 -16.0645 34.6875 -40.0967 69.376 -78.5928l72.3359 -80.1924l38.9443 -164.72 c2.55957 -10.8477 10.6074 -19.5996 21.2314 -23.0557c3.23242 -1.02441 6.57617 -1.56836 9.9043 -1.56836c7.53613 0 14.9443 2.65625 20.832 7.71191l118.56 117.936c7.08789 6.06445 11.1836 14.9443 11.1836 24.2881v165.12 c15.9355 9.9043 44.1914 25.1523 70.7832 40.0322c72.4639 40.4961 180.624 90.9121 225.472 130.784c63.1523 56.1279 86.1602 97.2803 108.752 158.112c53.7119 144.688 42.2881 344.031 41.7441 352.447zM922.001 600.531 c-19.7119 -53.0723 -37.5684 -84.8301 -91.248 -132.558c-39.6641 -35.2324 -148.128 -85.8242 -214.192 -122.769c-49.3115 -27.5684 -78.8477 -43.6641 -91.792 -54.2559c-7.44043 -6.06445 -11.7607 -15.1523 -11.7607 -24.7842v-167.248l-67.5195 -74.1924 l-28.752 121.6c-1.23242 5.21582 -3.77637 10.0635 -7.39258 14.0635c-58.8477 65.2158 -147.743 163.808 -154.56 171.632c-4.44824 5.4082 -10.6084 9.24805 -17.5684 10.8477l-146.592 33.5361l71.9043 76h182.032c11.1201 0 21.4561 5.77637 27.2637 15.248 c14.0801 22.9277 30.416 55.5361 49.3438 93.2959c32.0479 63.9521 71.9199 148.544 107.12 189.632c41.584 48.5283 83.8242 79.0088 136.896 98.8486c118.096 44.1279 239.968 48.7676 295.68 48.3516c1.04004 -59.0078 -1.18359 -195.824 -38.8626 -297.248z"/>
<glyph glyph-name="question" unicode="" d="M512 960c-282.768 0 -512 -229.232 -512 -512c0 -282.784 229.232 -512 512 -512c282.784 0 512.017 229.216 512.017 512c0 282.768 -229.232 512 -512.017 512zM512 -1.00781c-247.024 0 -448 201.984 -448 449.009c0 247.025 200.976 448 448 448 s448.017 -200.976 448.017 -448s-200.992 -449.009 -448.017 -449.009zM464.944 159.521h80.5117v81.248h-80.5117zM511.056 736.465c-46.8799 0 -85.5029 -12.6406 -115.839 -37.8887c-30.3359 -25.2637 -45.0879 -75.8555 -44.3359 -117.775l1.18359 -2.33594h73.4404 c0 25.0078 8.33594 60.9434 25.0078 73.8398c16.6562 12.8799 36.8486 19.3281 60.5605 19.3281c27.3281 0 48.3359 -7.42383 63.0723 -22.2715c14.7197 -14.8477 22.0635 -36.0801 22.0635 -63.6641c0 -23.1836 -5.44043 -42.9756 -16.3682 -59.376 c-10.96 -16.4004 -29.3281 -39.8408 -55.0879 -70.3213c-26.5762 -23.9678 -42.9922 -43.2314 -49.2324 -57.8076c-6.25586 -14.5918 -9.50391 -40.7676 -9.74414 -78.5117h76.96c0 23.6797 1.50391 41.1357 4.49609 52.3359 c2.97559 11.1836 11.5039 23.8232 25.5684 37.8877c30.2236 29.1523 54.4961 57.6641 72.8799 85.5518c18.3359 27.8564 27.5195 58.5928 27.5195 92.1924c0 46.8799 -14.1758 83.4082 -42.5762 109.568c-28.416 26.1758 -68.2725 39.248 -119.568 39.2481z"/>
<glyph glyph-name="pie-chart" unicode="" d="M575.6 866.592c-17.6641 0 -32.001 -14.3369 -32.001 -32.001s14.3359 -32 32 -32c226.448 0 384.4 -165.472 384.4 -391.903c0 -226.464 -184.224 -410.688 -410.672 -410.688c-226.432 0 -391.92 163.6 -391.92 390.063c0 17.6641 -14.3359 32 -32 32 s-32 -14.3359 -32 -32c0 -261.744 194.192 -454.064 455.92 -454.064c261.728 0 474.672 212.944 474.672 474.688c0 261.712 -186.672 455.904 -448.399 455.904v0.001zM480.255 511.743v416.256c0 17.6641 -14.3359 32 -32 32 c-249.248 0 -448.256 -199.008 -448.256 -448.256c0 -17.6641 14.3359 -32 32 -32h416.256c17.6641 0 32 14.3359 32 32zM416.255 543.743h-350.944c15.4561 188.496 162.448 335.488 350.944 350.944v-350.944z"/>
<glyph glyph-name="pencil" unicode="" d="M964.256 910.336c-34.8643 33.4082 -73.3232 50.3359 -114.379 50.3359c-64.1924 0 -111.024 -41.4717 -123.841 -54.1758c-18.0322 -17.8564 -633.152 -633.2 -633.152 -633.2c-4.01562 -4.03223 -6.94336 -9.07227 -8.44727 -14.5918 c-13.8721 -51.2637 -83.3604 -278.72 -84.0488 -281.008c-3.56836 -11.6484 -0.384766 -24.3369 8.20703 -32.9287c6.17578 -6.14355 14.3994 -9.43945 22.8311 -9.43945c3.31152 0 6.65527 0.496094 9.91895 1.56836c2.35156 0.767578 237.136 76.6553 275.775 88.1914 c5.08789 1.53613 9.74414 4.28809 13.5361 8.03223c24.416 24.1279 598.128 591.456 636.208 630.784c39.3916 40.5918 58.96 82.8643 58.208 125.616c-0.78418 42.208 -21.248 82.8477 -60.8161 120.816zM715.845 804.16 c16.3037 -3.95215 54.7529 -16.8623 94.0166 -56.4785c39.6797 -40.0322 50.416 -85.792 52.416 -96.208c-125.824 -125.168 -415.456 -411.728 -529.632 -524.672c-10.5439 24.5596 -27.584 54.1436 -54.9922 81.7598c-33.4717 33.7275 -67.5361 52.7832 -93.8086 63.5029 c112.992 113.008 408.08 408.224 532 532.096zM140.39 218.05c17.584 -4.67188 54.1113 -18.2236 91.3438 -55.7598c28.6719 -28.9121 42.208 -60.7998 48.2881 -80.2402c-44.4805 -14.3037 -141.872 -47.9199 -203.76 -67.8721 c18.3359 60.3359 49.3115 154.304 64.1279 203.872zM920.421 709.634c-1.31152 -1.34375 -3.47363 -3.53516 -6.06543 -6.15918c-10.1123 26.0479 -27.8564 59.5195 -58.5762 90.4951c-31.3916 31.6484 -63.2314 50.3203 -88.751 61.3604 c2.17578 2.16016 3.85547 3.85645 4.51172 4.49609c3.66406 3.61621 36.8965 35.376 78.3203 35.376c23.8398 0 47.248 -10.8799 69.6162 -32.3203c26.5117 -25.4238 40.1758 -50.5117 40.624 -74.5918c0.431641 -24.5762 -12.9121 -51.04 -39.6796 -78.6563z"/>
<glyph glyph-name="note" unicode="" d="M799.344 -0.288086h-736v800h449.6l64.7041 62.3359l-1.66406 1.66406h-512.64c-35.3438 0 -64 -28.6562 -64 -64v-800c0 -35.3438 28.6562 -64 64 -64h736c35.3438 0 64 28.6562 64 64v468.656l-64 -61.0879v-407.568zM974.224 918.56 c-28.8799 27.6797 -60.751 41.7129 -94.751 41.7129c-53.2158 0 -92.0322 -34.3682 -102.592 -44.8965c-14.9756 -14.7842 -439.168 -438.353 -439.168 -438.353c-3.32812 -3.3916 -5.75977 -7.53516 -7.00781 -12.1436 c-11.4883 -42.4482 -69.0723 -230.992 -69.6484 -232.864c-2.97559 -9.66406 -0.319336 -20.1924 6.80078 -27.2168c5.10352 -5.12012 11.9199 -7.83984 18.9121 -7.83984c2.75195 0 5.51953 0.400391 8.23926 1.24805c1.95215 0.65625 196.496 63.5684 228.512 73.1201 c4.22363 1.24805 8.04785 3.53613 11.2158 6.62402c20.208 19.9355 410.112 403.792 441.664 436.384c32.624 33.6641 48.8477 68.6562 48.2236 104.097c-0.591797 35.0078 -17.6162 68.7041 -50.4003 100.128zM930.433 758.881 c-17.8076 -18.3682 -157.249 -156.16 -414.449 -409.536l-19.6797 -19.4082c-29.4883 -9.12012 -100.097 -31.8076 -153.473 -49.0234c17.1836 56.752 37.8076 125.312 47.0078 157.743c54.96 54.8799 418.384 417.744 432.191 431.376 c2.68848 2.68848 27.2168 26.2568 57.4404 26.2568c17.1523 0 33.6807 -7.82422 50.4648 -23.9199c20.0645 -19.248 30.4004 -37.7441 30.6885 -55.0244c0.320312 -17.792 -9.83984 -37.4561 -30.1908 -58.4639z"/>
<glyph glyph-name="music-tone-alt" unicode="" d="M991.728 254.592c0.015625 0.55957 0.160156 1.07129 0.160156 1.63086v667.024c0.383789 3.50391 0.255859 7.12012 -0.576172 10.752c-2.73633 14.9121 -15.7285 26.2236 -31.4248 26.2236c-5.8877 0 -11.3438 -1.69629 -16.0801 -4.48047l-597.872 -155.648 c-10.7676 -2.67188 -18.752 -10.7197 -22.0322 -20.6719c-2.48047 -4.54395 -4 -9.66406 -4 -15.2002v-572.544c-30.4639 20.3838 -69.4082 32.6562 -111.872 32.6562c-97.5361 0 -176.64 -64.6084 -176.64 -144.272c0 -79.6797 79.1035 -144.304 176.64 -144.304 c97.5684 0 176.608 64.6084 176.608 144.305c0 4.06445 -0.335938 8.06445 -0.736328 12.0488v0.0957031v651.648l544 141.6v-533.76c-30.4482 20.3838 -69.4082 32.6562 -111.872 32.6562c-97.5361 0 -176.64 -64.624 -176.64 -144.272 c0 -79.6797 79.1035 -144.304 176.64 -144.304c97.5684 0 176.608 64.6084 176.608 144.305c-0.015625 4.91211 -0.319336 9.74414 -0.911133 14.5117zM208.704 0.0478516c-66.5596 0 -112.961 42.1914 -112.961 79.999c0 37.8242 46.3838 79.9521 112.96 79.9521 c59.2324 0 102.4 -33.3916 111.185 -67.4072v-0.368164c0 -3.23242 0.624023 -6.28809 1.52051 -9.21582c0.0644531 -0.992188 0.224609 -1.96777 0.224609 -2.95996c0 -37.8076 -46.4004 -80 -112.929 -80zM815.695 160.047c-65.9678 0 -111.953 42.1758 -111.953 80 s45.9844 79.9521 111.952 79.9521c65.9521 0 111.937 -42.1279 111.937 -79.9521s-45.9678 -80 -111.936 -80z"/>
<glyph glyph-name="music-tone" unicode="" d="M852.608 636.704l-312.914 312.912c-9.91992 9.91992 -24.6719 11.8398 -36.6074 6.01562c-12.5439 -4.33594 -21.5996 -16.1123 -21.5996 -30.1279v-708.4c-33.9199 25.1201 -78.4316 40.5283 -127.376 40.5283c-106.064 0 -192.112 -71.7764 -192.112 -160.288 c0 -88.5439 86.0479 -160.336 192.112 -160.336c106.112 0 192.08 71.7764 192.08 160.336c0 3.91992 -0.368164 7.75977 -0.704102 11.6318v744.336l261.872 -261.856c12.4805 -12.4961 32.7529 -12.4961 45.249 0s12.4961 32.7686 0 45.249zM353.374 1.42383 c-75.6484 0 -128.352 50.5439 -128.352 95.8721c0 45.3282 52.7197 95.8242 128.352 95.8242c74.0322 0 126 -48.4004 128.128 -92.9922v-5.67969c-2.14355 -44.5762 -54.0957 -93.0244 -128.128 -93.0244v-1e-05z"/>
<glyph glyph-name="microphone" unicode="" d="M510.88 256h7.60059c88.96 0 153.52 65.5996 153.52 155.968v381.408c0 93.4404 -67.4404 166.624 -153.536 166.624h-7.58398c-87.6162 0 -158.88 -74.752 -158.88 -166.624v-381.408c0 -88.9121 68.3037 -155.968 158.88 -155.968zM416 793.376 c0 56.5918 42.5596 102.624 94.8799 102.624h7.59961c51.0244 0 89.5205 -44.1279 89.5205 -102.624v-381.408c0 -54.9922 -35.9678 -91.9678 -89.5361 -91.9678h-7.58398c-55.8721 0 -94.8799 37.8076 -94.8799 91.9678zM800 608c-17.6797 0 -32 -14.3359 -32 -32v-133.072 c0 -190.4 -67.9678 -282.929 -207.744 -282.929h-95.1357c-182.8 0 -209.12 153.84 -209.12 282.928v133.072c0 17.6641 -14.3359 32 -32 32s-32 -14.3359 -32 -32v-133.072c0 -220.496 91.8877 -346.928 273.12 -346.928h14.8799v-96h-160c-17.6641 0 -32 -14.3359 -32 -32 s14.3359 -32 32 -32h384c17.6641 0 32 14.3359 32 32s-14.3359 32 -32 32h-160v96h16.2559c123.968 0 271.744 60.1924 271.744 346.929v133.072c0 17.6641 -14.3203 32 -32.0001 32z"/>
<glyph glyph-name="loop" unicode="" d="M960 858.16l-896.002 -0.00195312c-35.3438 0 -64 -28.6562 -64 -64v-576c0 -35.3604 28.6562 -64 64 -64h160c20.4961 0 32 26.3203 32 31.9844v0.015625c0 5.82422 -10.8799 32.416 -32 32.416h-120.96c-21.376 0 -38.7197 17.3438 -38.7197 38.7197v496.704 c0 21.3916 17.3281 38.7197 38.7197 38.7197l818.272 1.00781c21.376 0 38.7197 -17.3281 38.7197 -38.7197v-497.696c0 -21.376 -17.3438 -38.7197 -38.7197 -38.7197h-403.168l75.9844 68.9121c9.34375 8.94434 12.3682 23.4082 3.02441 32.3359l-5.47168 8.06445 c-9.37598 8.94434 -24.4961 8.94434 -33.8398 0l-129.728 -118.432c-0.192383 -0.160156 -0.368164 -0.224609 -0.52832 -0.368164l-8.48047 -8.0957c-4.67188 -4.43164 -7.00781 -10.3359 -6.97559 -16.2236c-0.0322266 -5.9043 2.28809 -11.7764 6.97656 -16.2881 l8.48047 -8.0957c0.160156 -0.160156 0.368164 -0.192383 0.52832 -0.335938l127.728 -115.504c9.34375 -8.94434 24.4639 -8.94434 33.8398 0l5.47168 8.06445c9.34375 8.94434 6.31934 23.4404 -3.02441 32.3682l-77.1357 69.168h445.008c35.3438 0 64 28.6396 64 64v576 c0 35.3438 -28.6562 64 -63.9997 64.0002z"/>
<glyph glyph-name="logout" unicode="" d="M116.832 416.336h554.448c17.6963 0 32 14.3359 32 32s-14.3037 32 -32 32h-552.448l115.76 115.76c12.4961 12.4961 12.4961 32.752 0 45.248s-32.752 12.4961 -45.248 0l-189.008 -194l189.008 -194c6.25586 -6.25586 14.4316 -9.37598 22.624 -9.37598 s16.3682 3.12012 22.624 9.37598c12.4961 12.4961 12.4961 32.752 0 45.248zM959.664 960h-544.001c-35.3604 0 -64 -28.6562 -64 -64v-288h64.416v248.976c0 21.376 17.3438 38.7197 38.7197 38.7197h464.72c21.3916 0 38.7197 -17.3438 38.7197 -38.7197l1.00781 -818.288 c0 -21.376 -17.3281 -38.7197 -38.7197 -38.7197h-465.712c-21.376 0 -38.7197 17.3438 -38.7197 38.7197v250.368l-64.416 -0.0800781v-288.976c0 -35.3438 28.6396 -64 64 -64h543.984c35.3604 0 64.0166 28.6562 64.0166 64v896 c-0.015625 35.3438 -28.6719 64 -64.0154 64.0001z"/>
<glyph glyph-name="login" unicode="" d="M532.528 298.592c-12.5117 -12.4961 -12.5127 -32.752 -0.000976562 -45.248c6.25586 -6.25586 14.4316 -9.37598 22.624 -9.37598s16.3682 3.12012 22.624 9.37598l189.008 194l-189.008 194.016c-12.4961 12.4961 -32.752 12.4961 -45.248 0 c-12.5117 -12.4961 -12.5117 -32.752 0 -45.248l115.744 -115.76h-616.432c-17.6797 0 -32 -14.3359 -32 -32s14.3203 -32 32 -32h618.448zM960.159 960h-576c-35.3604 0 -64.0166 -28.6562 -64.0166 -64v-288h64.4316v248.976c0 21.376 17.3438 38.7197 38.7197 38.7197 h496.704c21.4082 0 38.7197 -17.3438 38.7197 -38.7197l1.00781 -818.288c0 -21.376 -17.3115 -38.7197 -38.7197 -38.7197h-497.696c-21.376 0 -38.7197 17.3438 -38.7197 38.7197v250.368l-64.4316 -0.0800781v-288.976c0 -35.3438 28.6562 -64 64.0166 -64h576 c35.3438 0 64 28.6562 64 64v896c-0.015625 35.3438 -28.6719 64 -64.0158 64.0001z"/>
<glyph glyph-name="list" unicode="" d="M96 512h-64c-17.6641 0 -32 -14.3359 -32 -32v-64c0 -17.6641 14.3359 -32 32 -32h64c17.6641 0 32 14.3359 32 32v64c0 17.6641 -14.3359 32 -32 32zM992 480h-672c-17.6641 0 -32 -14.3359 -32 -32s14.3359 -32 32 -32h672c17.6641 0 32 14.3359 32 32 s-14.3359 32 -32 32zM96 256h-64c-17.6641 0 -32 -14.3359 -32 -32v-64c0 -17.6641 14.3359 -32 32 -32h64c17.6641 0 32 14.3359 32 32v64c0 17.6641 -14.3359 32 -32 32zM992 224h-672c-17.6641 0 -32 -14.3359 -32 -32s14.3359 -32 32 -32h672 c17.6641 0 32 14.3359 32 32s-14.3359 32 -32 32zM96 768h-64c-17.6641 0 -32 -14.3359 -32 -32v-64c0 -17.6641 14.3359 -32 32 -32h64c17.6641 0 32 14.3359 32 32v64c0 17.6641 -14.3359 32 -32 32zM320 672h672c17.6641 0 32 14.3359 32 32s-14.3359 32 -32 32h-672 c-17.6641 0 -32 -14.3359 -32 -32s14.3359 -32 32 -32z"/>
<glyph glyph-name="like" unicode="" d="M608.544 -63.7441c-290.832 0 -293.071 12.0625 -329.087 39.1826c-19.1035 14.3682 -55.1514 24.3203 -186.815 32.8965c-9.55176 0.624023 -18.6396 4.28809 -24.7354 11.6797c-2.7998 3.4082 -68.5918 99.3604 -68.5918 253.04 c0 151.44 47.0879 220.465 49.1035 223.665c5.83984 9.36035 16.0957 15.04 27.1201 15.04c108.112 0 257.984 138 358.736 378.896c17.4238 41.6641 21.0234 69.0723 85.0234 69.0723c36.4004 0 77.2002 -26.0645 97.3438 -59.5049 c41.3281 -68.3203 20.3359 -215.057 0.927734 -293.473c66 0.52832 185.472 1.4248 242.319 1.4248c79.0723 0 131.408 -47.1523 132.992 -116.08c0.52832 -22.752 -2.46387 -51.8076 -9.04004 -66.8477c17.4082 -17.3604 39.8564 -43.5361 40.832 -77.248 c1.21582 -43.5195 -27.2803 -76.6553 -45.4727 -95.6631c4.17578 -12.6562 12.5273 -29.4404 11.7109 -49.5049c-2 -49.3438 -40.0957 -81.1357 -63.8232 -97.7275c1.96777 -13.5039 3.50391 -38.9756 -0.832031 -58.6719 c-17.1201 -78.6084 -132.4 -110.177 -317.712 -110.177zM109.617 73.2295c114.688 -9.48828 175.998 -22.3359 208.334 -46.6719c25.0244 -18.8477 21.168 -26.3193 290.592 -26.3193c82.1758 0 242.896 3.42383 255.216 59.8398 c4.89648 22.5596 -18.8955 44.7354 -18.9756 44.9111c-6.49609 16.0322 0.736328 34.8486 16.5762 41.7764c0.255859 0.12793 64.1436 23.0078 65.5996 58.7197c0.959961 22.832 -14.7197 36.5439 -15.0713 37.1201c-9.32812 14.4639 -5.91992 34.3037 8.22363 44.1602 c0.160156 0.12793 41.5518 25.2158 40.5439 59.4238c-0.78418 27.168 -36.5762 46.2881 -37.6641 46.9277c-8 4.57617 -13.8242 12.4961 -15.6484 21.5518c-1.79199 9.04004 0.223633 18.5283 5.83984 25.8721c0 0 16.2725 25.8564 15.6807 50.1123 c-1.16797 51.9199 -57.0078 53.5518 -68.9922 53.5518c-80.7197 0 -288.031 -0.816406 -288.031 -0.816406c-11.1836 -0.0478516 -20.8633 5.23242 -26.8789 14.1768c-6 8.94434 -6.44824 20.0479 -2.92871 30.2236c31.2637 90.0322 48.7197 231.28 19.7275 279.536 c-8.54395 14.2236 -10.4961 28.4316 -42.4961 28.4316c-4.43164 0 -14.9912 -3.50391 -25.999 -29.7441c-106.928 -255.84 -266.64 -403.824 -397.456 -417.168c-11.2803 -25.7275 -32.4961 -79.0391 -32.4961 -175.775c0 -98.7363 31.2803 -175.12 46.3047 -199.84z"/>
<glyph glyph-name="home" unicode="" d="M1016.7 446.64l-480.369 503.168c-6.03223 6.30371 -14.3682 9.83984 -23.0879 9.83984c-8.7041 0 -17.04 -3.55176 -23.0879 -9.83984l-482.848 -503.152c-12.2402 -12.752 -11.8086 -32.9922 0.943359 -45.248c12.752 -12.2236 32.9922 -11.8721 45.248 0.944336 l43.0078 44.832v-478.832c0 -17.6797 14.3359 -32 32 -32h223.552c17.6318 0 31.9355 14.2559 32 31.9043l1.00781 319.664h254.992v-319.568c0 -17.6797 14.3203 -32 32 -32h223.472c17.6797 0 32 14.3203 32 32v478.992l42.9922 -45.04 c6.28809 -6.52832 14.6885 -9.83984 23.0889 -9.83984c7.96777 0 15.9678 2.94434 22.1602 8.94434c12.7363 12.2236 13.1523 32.4795 0.928711 45.2314zM863.535 505.184v-504.831h-159.472v319.552c0 17.6797 -14.3203 32 -32 32h-318.88 c-17.6318 0 -31.9355 -14.2559 -32 -31.9043l-1.00781 -319.664h-159.664v504.848c0 2.63965 -0.416016 5.16797 -1.00781 7.63184l353.76 368.624l351.424 -368.208c-0.688477 -2.5918 -1.15234 -5.26367 -1.15234 -8.04785z"/>
<glyph glyph-name="grid" unicode="" d="M960 -64h-320c-35.3438 0 -64 28.6562 -64 64v320c0 35.3438 28.6562 64 64 64h320c35.3438 0 64 -28.6562 64 -64v-320c0 -35.3438 -28.6562 -64 -64 -64zM960 320h-320v-320h320v320zM960 512h-320c-35.3438 0 -64 28.6562 -64 64v320c0 35.3438 28.6562 64 64 64h320 c35.3438 0 64 -28.6562 64 -64v-320c0 -35.3438 -28.6562 -64 -64 -64zM960 896h-320v-320h320v320zM384 -64h-320c-35.3438 0 -64 28.6562 -64 64v320c0 35.3438 28.6562 64 64 64h320c35.3438 0 64 -28.6562 64 -64v-320c0 -35.3438 -28.6562 -64 -64 -64zM384 320h-320 v-320h320v320zM384 512h-320c-35.3438 0 -64 28.6562 -64 64v320c0 35.3438 28.6562 64 64 64h320c35.3438 0 64 -28.6562 64 -64v-320c0 -35.3438 -28.6562 -64 -64 -64zM384 896h-320v-320h320v320z"/>
<glyph glyph-name="graph" unicode="" d="M944 736c-44.1924 0 -79.999 -35.8242 -79.999 -80c0 -9.07227 1.83984 -17.6318 4.60742 -25.7598l-195.008 -167.92c-13.6797 10.8955 -30.752 17.6797 -49.5996 17.6797c-21.7441 0 -41.4082 -8.73633 -55.8086 -22.8164l-152.752 76.4805 c-2.97559 41.4883 -37.1992 74.3359 -79.4395 74.3359c-44.1758 0 -80 -35.8242 -80 -80c0 -12.0957 2.87988 -23.4395 7.67969 -33.7119l-155.744 -179.584c-8.73633 3.26367 -18.0645 5.2959 -27.9365 5.2959c-44.1758 0 -80 -35.8242 -80 -80s35.8242 -80 80 -80 c44.1758 0 80 35.8242 80 80c0 10.6396 -2.17578 20.7676 -5.95215 30.0479l158.272 181.92c7.53613 -2.33594 15.376 -3.96777 23.6797 -3.96777c23.2803 0 44.0479 10.1123 58.6719 26l149.408 -74.9121c0.52832 -43.7441 36.0479 -79.0879 79.9199 -79.0879 c44.1924 0 80 35.8242 80 80c0 1.42383 -0.335938 2.75195 -0.416016 4.16016l208.096 178.768c9.9043 -4.38379 20.7842 -6.92773 32.3203 -6.92773c44.1924 0 80 35.8076 80 80c0 44.1758 -35.8076 80 -79.9995 79.9995z"/>
<glyph glyph-name="equalizer" unicode="" d="M160.048 572.128v355.872c0 17.6641 -14.3359 32 -32 32s-32 -14.3359 -32 -32v-355.84c-55.3281 -14.2559 -96.4004 -64.4482 -96.4004 -124.16c0 -59.7275 41.0723 -109.903 96.4004 -124.176v-355.824c0 -17.6641 14.3359 -32 32 -32c17.6641 0 32 14.3359 32 32 v355.856c55.2803 14.3037 96.3047 64.4473 96.3047 124.144c0 59.6797 -41.0244 109.84 -96.3047 124.128zM128.416 383.968c-0.112305 0 -0.240234 0.0302734 -0.368164 0.0302734c-0.143555 0 -0.271484 -0.0322266 -0.415039 -0.0478516 c-35.1523 0.208008 -63.6963 28.8477 -63.6963 64.0479c0 35.1836 28.5596 63.8398 63.7119 64.0322c0.12793 0 0.271484 -0.0322266 0.399414 -0.0322266c0.12793 0 0.240234 0.0322266 0.368164 0.0322266c35.1357 -0.223633 63.6641 -28.8633 63.6641 -64.0312 c0 -35.1836 -28.5283 -63.8076 -63.6641 -64.0313zM544.064 380.126l-0.000976562 547.872c0 17.6641 -14.3359 32 -32 32s-32 -14.3359 -32 -32v-547.84c-55.3281 -14.2725 -96.4004 -64.4326 -96.4004 -124.16s41.0723 -109.903 96.4004 -124.176v-163.824 c0 -17.6641 14.3359 -32 32 -32c17.6641 0 32 14.3359 32 32v163.856c55.2637 14.3037 96.2881 64.4473 96.2881 124.144c-0.015625 59.6641 -41.0234 109.824 -96.2871 124.128zM512.415 191.966c-0.12793 0 -0.240234 0.03125 -0.368164 0.03125 c-0.143555 0 -0.271484 -0.0322266 -0.415039 -0.0478516c-35.1523 0.208008 -63.6963 28.8477 -63.6963 64.0479c0 35.2158 28.6084 63.8721 63.792 64.0322c0.112305 0 0.224609 -0.0322266 0.336914 -0.0322266c0.0957031 0 0.191406 0.0322266 0.287109 0.0322266 c35.168 -0.192383 63.7441 -28.832 63.7441 -64.0322c0 -35.1836 -28.5283 -63.8076 -63.6806 -64.0313zM928.063 764.125l-0.000976562 163.871c0 17.6641 -14.3359 32 -32 32c-17.6797 0 -32 -14.3359 -32 -32v-163.84 c-55.3281 -14.2559 -96.4004 -64.4316 -96.4004 -124.159s41.0723 -109.92 96.4004 -124.176v-547.824c0 -17.6641 14.3203 -32 32 -32c17.6641 0 32 14.3359 32 32v547.856c55.2637 14.3037 96.2881 64.4473 96.2881 124.144 c-0.015625 59.6641 -41.0234 109.824 -96.2871 124.128zM896.414 575.964c-0.12793 0 -0.239258 0.03125 -0.351562 0.03125c-0.143555 0 -0.287109 -0.0322266 -0.415039 -0.0322266c-35.1523 0.192383 -63.7119 28.832 -63.7119 64.0322 c0 35.1836 28.5596 63.8398 63.6953 64.0322c0.143555 0 0.287109 -0.0322266 0.415039 -0.0322266s0.240234 0.0322266 0.352539 0.0322266c35.1357 -0.240234 63.6641 -28.8643 63.6641 -64.0322c0.0322266 -35.1836 -28.4961 -63.8076 -63.6485 -64.0312z"/>
<glyph glyph-name="dislike" unicode="" d="M415.44 959.76c290.832 0 293.089 -12.0664 329.104 -39.1865c19.1035 -14.3682 55.1514 -24.3359 186.831 -32.9121c9.56836 -0.624023 18.6406 -4.28809 24.7363 -11.6797c2.7998 -3.4082 68.5918 -99.3604 68.5918 -253.024 c0 -151.44 -47.0879 -220.48 -49.1035 -223.696c-5.83984 -9.34375 -16.0957 -15.0234 -27.1201 -15.0234c-108.112 0 -257.984 -138 -358.752 -378.912c-17.4238 -41.6641 -21.0078 -69.0557 -85.0234 -69.0557c-36.4004 0 -77.2002 26.0645 -97.376 59.5049 c-41.3115 68.3203 -20.3359 215.057 -0.912109 293.473c-66 -0.52832 -185.472 -1.44043 -242.319 -1.44043c-79.0723 0 -131.393 47.1523 -133.009 116.097c-0.511719 22.752 2.46387 51.8242 9.05566 66.832c-17.3916 17.3604 -39.8555 43.5527 -40.8311 77.2646 c-1.23242 43.5039 27.2793 76.6396 45.4551 95.6641c-4.16016 12.6562 -12.5117 29.4404 -11.7119 49.5049c2.01562 49.3438 40.0957 81.1514 63.8398 97.7432c-1.95215 13.4561 -3.48828 38.9443 0.832031 58.624c17.1201 78.624 132.4 110.224 317.712 110.224z M914.386 822.75c-114.688 9.48828 -175.996 22.3379 -208.332 46.6895c-25.0244 18.832 -21.1523 26.3037 -290.608 26.3037c-82.1758 0 -242.896 -3.42383 -255.216 -59.8242c-4.91211 -22.5596 18.8799 -44.752 18.9756 -44.9121 c6.49609 -16.0479 -0.751953 -34.8477 -16.5918 -41.7754c-0.255859 -0.12793 -64.1279 -23.0244 -65.5996 -58.7363c-0.944336 -22.832 14.7197 -36.5439 15.0879 -37.1035c9.31152 -14.4639 5.90332 -34.3203 -8.22461 -44.1602 c-0.160156 -0.12793 -41.5684 -25.2158 -40.5439 -59.4395c0.78418 -27.1523 36.5762 -46.2881 37.6641 -46.9277c8 -4.57617 13.8242 -12.4961 15.6318 -21.5684c1.80762 -9.02441 -0.224609 -18.5283 -5.82422 -25.8398c0 0 -16.2725 -25.8721 -15.6963 -50.1123 c1.18359 -51.9355 57.0234 -53.5674 69.0078 -53.5674c80.7197 0 288.031 0.847656 288.031 0.847656c11.1836 0.0322266 20.8633 -5.24805 26.8633 -14.1924s6.46387 -20.0645 2.92773 -30.2246c-31.248 -90.0322 -48.7041 -231.28 -19.7119 -279.536 c8.52832 -14.2236 10.4961 -28.4316 42.4961 -28.4316c4.43164 0 14.9912 3.50391 25.999 29.7441c106.992 255.808 266.704 403.808 397.521 417.151c11.2803 25.7275 32.4961 79.0391 32.4961 175.791c-0.0322266 98.7363 -31.3125 175.104 -46.3531 199.824z"/>
<glyph glyph-name="cursor" unicode="" d="M921.088 856.768l-336.256 -785.792l-119.312 344.512l-344.192 104.032zM1004.46 959.231c-6.0957 0 -13.5195 -1.72754 -22.0957 -5.35938l-954.656 -405.072c-34.3838 -14.5918 -36.5596 -42.7041 -4.84766 -62.4639l395.296 -123.584l129.36 -403.264 c9.28027 -15.1836 20.4961 -22.7197 31.2637 -22.7197c11.9355 0 23.2959 9.15234 31.04 27.248l408.272 953.728c11.0557 25.8877 4.76758 41.4873 -13.6323 41.487z"/>
<glyph glyph-name="control-start" unicode="" d="M974.944 894.608c0 23.2324 -12.5918 44.6543 -32.9121 55.9346c-9.67969 5.3916 -20.3682 8.06348 -31.0879 8.06348c-11.7119 0 -23.4717 -3.23242 -33.7754 -9.64844l-735.728 -446.592c-15.9521 -9.9043 -26.5117 -26.208 -29.376 -44.4004v470.032 c0 17.6641 -14.3359 32 -32 32s-32 -14.3359 -32 -32v-960c0 -17.6641 14.3359 -32 32 -32c17.6641 0 32 14.3359 32 32v470.064c2.87988 -18.208 13.4395 -34.5117 29.375 -44.3838l736.72 -446.64c10.3203 -6.43164 22.0645 -9.66406 33.7764 -9.66406 c10.7197 0 21.4082 2.68848 31.0879 8.06445c20.3203 11.2803 32.9121 32.6885 32.9121 55.9365zM175.2 448.015l735.744 446.592l1.00781 -893.216z"/>
<glyph glyph-name="control-rewind" unicode="" d="M573.92 762.096l-505.28 -314.097l505.28 -314.096v246.976l384 -246.976v628.192l-384 -246.992v255.84v-8.847zM571.264 826.095c10.7041 0 22.7363 -2.6709 32.416 -8.0625c20.3203 -11.2803 34.2402 -32.7041 34.2402 -55.9365v-131.84l298.224 186.192 c10.3203 6.40039 21.376 9.64844 33.1201 9.64844c10.6875 0 15.7275 -2.67188 25.4238 -8.06348c20.3203 -11.2803 27.2324 -32.7041 27.2324 -55.9365v-628.192c0 -23.248 -7.24805 -44.6562 -27.5684 -55.9365c-9.67969 -5.37598 -17.7275 -8.06348 -28.4316 -8.06348 c-11.7275 0 -20.7832 3.21582 -31.1035 9.66406l-296.896 186.176v-131.84c0 -23.248 -13.9199 -44.6562 -34.2402 -55.9365c-9.67969 -5.37598 -21.04 -8.06445 -31.7598 -8.06445c-11.7119 0 -23.792 3.21582 -34.1123 9.66406l-505.456 314.096 c-18.7676 11.6484 -30.2715 32.208 -30.2715 54.3359s11.376 42.6719 30.1602 54.3516l505.264 314.096c10.3037 6.41602 22.0312 9.64844 33.7586 9.64785z"/>
<glyph glyph-name="control-play" unicode="" d="M144.624 894.608l735.744 -446.592l-736.736 -446.624zM144.624 958.608c-10.7197 0 -21.4082 -2.67188 -31.0879 -8.06348c-20.3203 -11.2803 -32.9121 -32.7041 -32.9121 -55.9365l-0.992188 -893.216c0 -23.248 12.5918 -44.6562 32.9121 -55.9365 c9.67969 -5.37598 20.3682 -8.06445 31.0879 -8.06445c11.7119 0 23.4717 3.21582 33.7754 9.66406l736.72 446.624c18.8164 11.6641 30.2568 32.2236 30.2568 54.3359s-11.4404 42.6719 -30.2568 54.3516l-735.728 446.608 c-10.3037 6.40039 -22.0635 9.63281 -33.7754 9.63281v0z"/>
<glyph glyph-name="control-pause" unicode="" d="M416.272 960h-224.208c-17.6641 0 -32 -14.3203 -32 -32v-960c0 -17.6641 14.3359 -32 32 -32h224.208c17.6797 0 32 14.3359 32 32v960c0 17.6797 -14.3203 32 -32 32zM384.272 0h-160.208v896h160.208v-896zM831.937 960h-223.056c-17.6797 0 -32 -14.3203 -32 -32 v-960c0 -17.6641 14.3203 -32 32 -32h223.056c17.6797 0 32 14.3359 32 32v960c0 17.6797 -14.3037 32 -32 32zM799.937 0h-159.056v896h159.056v-896z"/>
<glyph glyph-name="control-forward" unicode="" d="M450.08 762.096l505.28 -314.097l-505.28 -314.096v246.976l-384 -246.976v628.192l384 -246.992v255.84zM452.736 826.095c-10.7197 0 -22.7363 -2.6709 -32.4326 -8.0625c-20.3037 -11.2803 -34.2236 -32.7041 -34.2236 -55.9365v-131.84l-298.224 186.192 c-10.3203 6.40039 -21.376 9.64844 -33.1201 9.64844c-10.6885 0 -15.7285 -2.67188 -25.4404 -8.06348c-20.2881 -11.2803 -27.2158 -32.7041 -27.2158 -55.9365v-628.192c0 -23.248 7.24805 -44.6562 27.5684 -55.9365 c9.67969 -5.37598 17.7275 -8.06348 28.4316 -8.06348c11.7275 0 20.7832 3.21582 31.1035 9.66406l296.896 186.176v-131.84c0 -23.248 13.9199 -44.6562 34.2236 -55.9365c9.69629 -5.37598 21.0566 -8.06445 31.7764 -8.06445c11.7119 0 23.792 3.21582 34.1123 9.66406 l505.456 314.096c18.7842 11.6641 30.2881 32.2236 30.2881 54.3359s-11.376 42.6719 -30.1602 54.3516l-505.28 314.096c-10.3037 6.41602 -22.0479 9.64844 -33.7598 9.64844v0z"/>
<glyph glyph-name="control-end" unicode="" d="M943.936 960c-17.6641 0 -31.998 -14.3379 -31.998 -32.002v-470c-2.87988 18.1924 -13.4395 34.4648 -29.375 44.3691l-735.712 446.608c-10.3203 6.40039 -22.0645 9.64844 -33.7764 9.64844c-10.7197 0 -21.4082 -2.67188 -31.0879 -8.06348 c-20.3203 -11.2803 -32.9121 -32.7041 -32.9121 -55.9365l-1.00781 -893.232c0 -23.248 12.5918 -44.6562 32.9121 -55.9365c9.67969 -5.37598 20.3672 -8.06445 31.0869 -8.06445c11.7119 0 23.4717 3.21582 33.7754 9.66406l736.72 446.608 c15.9355 9.87207 26.4951 26.1602 29.375 44.3525v-470.016c0 -17.6641 14.3359 -32 32 -32s32 14.3359 32 32v960c0 17.6641 -14.3203 32 -32.0002 32.0008zM112.065 1.38965l0.992188 893.216l735.744 -446.592z"/>
<glyph glyph-name="calender" unicode="" d="M960 864.112l-256.224 -0.000976562v63.7764c0 17.6797 -14.3203 32 -32 32s-32 -14.3203 -32 -32v-63.7598h-256v63.7598c0 17.6797 -14.3203 32 -32 32s-32 -14.3203 -32 -32v-63.7598h-255.776c-35.3438 0 -64 -28.6562 -64 -64v-800c0 -35.3438 28.6562 -64 64 -64 h896c35.3438 0 64 28.6562 64 64v800c0 35.3281 -28.6562 63.9844 -64 63.9844zM960 0.126953l-896 0.000976562v800h255.776v-32.2402c0 -17.6797 14.3203 -32 32 -32s32 14.3203 32 32v32.2236h256v-32.2402c0 -17.6797 14.3203 -32 32 -32s32 14.3203 32 32v32.2402 h256.224v-799.984v-0.000376562zM736 448.112h64c17.6641 0 32 14.3359 32 32v64c0 17.6641 -14.3359 32 -32 32h-64c-17.6641 0 -32 -14.3359 -32 -32v-64c0 -17.6641 14.3359 -32 32 -32zM736 192.128h64c17.6641 0 32 14.3203 32 32v64c0 17.6641 -14.3359 32 -32 32h-64 c-17.6641 0 -32 -14.3359 -32 -32v-64c0 -17.6963 14.3359 -32 32 -32zM544 320.128h-64c-17.6641 0 -32 -14.3359 -32 -32v-64c0 -17.6797 14.3359 -32 32 -32h64c17.6641 0 32 14.3203 32 32v64c0 17.6484 -14.3359 32 -32 32zM544 576.112h-64 c-17.6641 0 -32 -14.3359 -32 -32v-64c0 -17.6641 14.3359 -32 32 -32h64c17.6641 0 32 14.3359 32 32v64c0 17.6797 -14.3359 32 -32 32zM288 576.112h-64c-17.6641 0 -32 -14.3359 -32 -32v-64c0 -17.6641 14.3359 -32 32 -32h64c17.6641 0 32 14.3359 32 32v64 c0 17.6797 -14.3359 32 -32 32zM288 320.128h-64c-17.6641 0 -32 -14.3359 -32 -32v-64c0 -17.6797 14.3359 -32 32 -32h64c17.6641 0 32 14.3203 32 32v64c0 17.6484 -14.3359 32 -32 32z"/>
<glyph glyph-name="bulb" unicode="" d="M511.984 960c-198.032 0 -353.12 -161.104 -353.12 -359.136c0 -149.2 73.2803 -220.256 131.185 -272.128c37.2803 -33.4238 62.3682 -53.5518 62.3682 -78.3516v-54.2559c0 -1.3916 0.192383 -2.75195 0.368164 -4.12793h-0.719727v-92.624 c0.015625 -97.7119 63.1992 -163.376 161.071 -163.376c94.4639 0 158.944 65.6641 158.944 163.376v92.624h-0.927734c0.175781 1.37598 0.416016 2.73633 0.416016 4.12793v54.2559c0 37.7598 28.0322 60.5918 70.5283 97.6953 c57.5039 50.208 123.023 112.688 123.023 252.784c0.015625 198.032 -155.104 359.136 -353.137 359.136zM510.769 0c-59.9043 0 -94.6885 37.1523 -94.6885 99.376l-0.463867 42.6719c23.0244 -7.87207 54.3848 -14.0479 96.3848 -14.0479 c41.4238 0 72.8477 6.62402 96.0801 14.7676v-43.3916c0 -63.1523 -35.248 -99.376 -97.3125 -99.376zM700.017 396.288c-43.4717 -37.9678 -92.4326 -77.2158 -92.4326 -145.904v-40.4316c-15.1836 -8.48047 -43.1836 -18.5605 -96.1279 -18.5605 c-55.5684 0 -81.9199 9.85645 -95.0234 17.4727v41.5361c0 54.6084 -42.6885 89.2969 -83.6807 126.017c-54.3203 48.6719 -109.872 103.84 -109.872 224.464c-0.015625 162.72 126.385 295.12 289.104 295.12c162.752 0 289.152 -132.4 289.152 -295.137 c0 -111.024 -48.4639 -158.576 -101.12 -204.576z"/>
<glyph glyph-name="chart" unicode="" d="M272.064 640.016h-224.064c-17.6797 0 -32 -14.3203 -32 -32v-640.016c0 -17.6797 14.3203 -32 32 -32h224.064c17.6797 0 32 14.3203 32 32v640.016c0 17.6797 -14.3203 32 -32 32zM240.064 -0h-160.064v576.016h160.064v-576.016zM623.744 449.744h-224.08 c-17.6797 0 -32 -14.3203 -32 -32v-449.744c0 -17.6797 14.3203 -32 32 -32h224.08c17.6797 0 32 14.3203 32 32v449.744c0 17.6963 -14.3037 32 -32 32zM591.744 0h-160.08v385.744h160.08v-385.744zM976 960h-223.728c-17.6797 0 -32 -14.3203 -32 -32v-960 c0 -17.6797 14.3203 -32 32 -32h223.728c17.6797 0 32 14.3203 32 32v960c0 17.6797 -14.3203 32 -32 32zM944 0h-159.728v896h159.728v-896z"/>
<glyph glyph-name="arrow-up-circle" unicode="" d="M1024 448c0 282.784 -229.232 512 -512 512c-282.784 0 -512 -229.216 -512 -512c0 -282.768 229.216 -512 512 -512c282.768 0 512 229.232 512 512zM63.0078 448c0 247.024 201.968 448 448.992 448c247.024 0 448 -200.976 448 -448s-200.976 -448 -448 -448 s-448.992 200.976 -448.992 448zM544.336 223.68v360.464l115.76 -115.76c12.4961 -12.4961 32.752 -12.4961 45.248 0s12.4961 32.752 0 45.248l-194 189.008l-194 -189.008c-6.25586 -6.25586 -9.37598 -14.4316 -9.37598 -22.624s3.12012 -16.3682 9.37598 -22.624 c12.4961 -12.4961 32.752 -12.4961 45.248 0l117.744 117.76v-362.464c0 -17.6797 14.3359 -32 32 -32c17.6641 0 32 14.3203 32 32z"/>
<glyph glyph-name="arrow-right-circle" unicode="" d="M512 960c-282.768 0 -512 -229.232 -512 -512c0 -282.784 229.232 -512 512 -512c282.784 0 512 229.216 512 512c0 282.768 -229.216 512 -512 512zM512 -1.00781c-247.024 0 -448 201.984 -448 449.009c0 247.025 200.976 448 448 448s448 -200.976 448 -448 s-200.976 -449.009 -448 -449.009zM532.368 641.36c-12.4961 -12.4961 -12.4961 -32.752 0 -45.248l115.76 -115.76h-360.448c-17.6797 0 -32 -14.3359 -32 -32s14.3203 -32 32 -32h362.464l-117.76 -117.744c-12.4961 -12.4961 -12.4961 -32.752 0 -45.248 c6.25586 -6.25586 14.4316 -9.37598 22.624 -9.37598s16.3682 3.12012 22.624 9.37598l189.008 194l-189.008 194c-12.5117 12.4961 -32.752 12.4961 -45.264 1.13687e-13z"/>
<glyph glyph-name="arrow-left-circle" unicode="" d="M512 960c-282.784 0 -512 -229.232 -512 -512c0 -282.784 229.216 -512 512 -512c282.768 0 512 229.216 512 512c0 282.768 -229.232 512 -512 512zM512 -1.00781c-247.024 0 -448 201.984 -448 449.009c0 247.025 200.976 448 448 448s448 -200.976 448 -448 s-200.976 -449.009 -448 -449.009zM736.32 480.336h-360.464l115.76 115.76c12.4961 12.4961 12.4961 32.752 0 45.248s-32.752 12.4961 -45.248 0l-189.008 -194l189.008 -194c6.25586 -6.25586 14.4316 -9.37598 22.624 -9.37598s16.3682 3.12012 22.624 9.37598 c12.4961 12.4961 12.4961 32.752 0 45.248l-117.76 117.744h362.464c17.6797 0 32 14.3359 32 32s-14.3203 32 -32 32z"/>
<glyph glyph-name="arrow-down-circle" unicode="" d="M0 448c0 -282.784 229.232 -512 512 -512c282.784 0 512 229.216 512 512c0 282.768 -229.216 512 -512 512c-282.768 0 -512 -229.232 -512 -512zM961.008 448c0 -247.024 -201.969 -448 -449.009 -448s-448 200.976 -448 448s200.976 448 448 448 s449.009 -200.976 449.009 -448zM479.663 672.32v-360.448l-115.76 115.76c-12.4961 12.4961 -32.752 12.4961 -45.248 0s-12.4961 -32.752 0 -45.248l194.016 -189.008l194 189.008c6.25586 6.25586 9.37598 14.4316 9.37598 22.624s-3.12012 16.3682 -9.37598 22.624 c-12.4961 12.4961 -32.752 12.4961 -45.248 0l-117.744 -117.76v362.448c0 17.6797 -14.3359 32 -32 32s-32.0156 -14.3203 -32.016 -32z"/>
<glyph glyph-name="ban" unicode="" d="M512 960c-282.768 0 -512 -229.232 -512 -512c0 -282.784 229.232 -512 512 -512c282.784 0 512 229.216 512 512c0 282.768 -229.216 512 -512 512zM64 448c0 112.272 41.6152 214.959 110.096 293.663l631.856 -631.856 c-78.7363 -68.8799 -181.536 -110.815 -293.952 -110.815c-247.024 0 -448 201.984 -448 449.009v-0.001zM851.023 155.214l-631.615 631.616c78.5762 67.9355 180.832 109.168 292.592 109.168c247.024 0 448 -200.976 448 -448 c0 -111.664 -41.1523 -214.032 -108.977 -292.784z"/>
<glyph glyph-name="bubble" unicode="" d="M512 832c247.024 0 448 -143.553 448 -320.001c0 -176.432 -200.976 -320 -448 -320l-26.5117 -0.0957031c-17.584 0 -29.0879 0.463867 -47.0723 3.15234l-35.8564 5.12012l-23.0078 -27.8398c-10.5762 -12.7842 -64.5439 -57.1201 -124.112 -85.6641 c12.1123 32.0322 21.04 67.0078 21.8398 101.6l0.320312 1.9043v44.624l-34.8643 17.8076c-113.6 58.1123 -178.735 152.641 -178.735 259.393c0 176.448 200.976 320 448 320zM512 895.999c-282.8 0 -512 -171.935 -512 -383.999 c0 -132.064 78.2559 -247.152 213.584 -316.336c0 -0.816406 -0.255859 -1.4082 -0.255859 -2.32031c0 -57.376 -32.1602 -120.464 -51.0078 -152.944h0.0478516c-1.48828 -3.48828 -2.36816 -7.3125 -2.36816 -11.4082c0 -16.0801 12.96 -28.9922 29.0078 -28.9922 c2.41602 0 6.25586 0.496094 7.66406 0.496094c0.335938 0 0.52832 0 0.496094 -0.0957031c100 16.3359 209.952 104.688 231.824 131.344c22.4805 -3.34375 37.6641 -3.83984 56.4805 -3.83984c7.93555 0 16.4951 0.0957031 26.5273 0.0957031 c282.752 0 512 171.904 512 384c0 212.064 -229.248 384 -512 383.999z"/>
<glyph glyph-name="camrecorder" unicode="" d="M638.128 736.624c1.28027 0 2.32031 -1.00781 2.32031 -2.24023v-127.872c0 -23.6641 13.0557 -45.4238 34 -56.5273c9.4082 -5.00781 19.7119 -7.47168 30 -7.47168c12.5596 0 27.0557 3.67969 37.8398 10.9912l217.712 123.232v-456.416l-218.912 119.52 c-10.9756 7.66406 -23.7754 11.5361 -36.6553 11.5361c-10.1279 0 -20.2559 -2.40039 -29.5674 -7.2168c-21.1201 -11.0244 -34.4004 -32.8809 -34.4326 -56.6885l-0.160156 -125.84c0 -1.24805 -1.00781 -2.25586 -2.28809 -2.25586h-571.696 c-1.28027 0 -2.28809 0.992188 -2.28809 2.22461l0.160156 572.784c0 1.24805 1.00781 2.24023 2.28809 2.24023h571.68zM990.368 768.656c-6.81641 0 -20.291 -2.01562 -27.9707 -9.66406l-257.968 -152.48v127.872c0 36.5596 -29.6797 66.2393 -66.3193 66.2393h-571.68 c-36.6719 0 -66.2881 -29.6641 -66.2881 -66.2402l-0.143555 -572.752c0 -36.5596 29.6318 -66.2559 66.2881 -66.2559h571.712c36.6562 0 66.2881 29.6797 66.2881 66.2559l0.160156 125.744l262.976 -153.312c7.71191 -7.67969 16.2559 -6.6875 23.0879 -6.6875 c7.08789 0 12.3682 2.16016 13.0244 2.43262c12.4316 5.18359 20.4639 17.1836 20.4639 30.6875v574.976c0 13.5039 -8.03223 25.5518 -20.4639 30.6562c-0.719727 0.320312 -6.03125 2.52832 -13.167 2.52814z"/>
<glyph glyph-name="camera" unicode="" d="M928 736h-147.184l-76.8164 128h-384l-76.7998 -128h-147.2c-32 0 -96 -32 -96 -95.0078v-512.992c0 -53.0078 48 -96 89.3281 -96h840.672c42 0 94 44.9922 94 94.9922v513.008c0 32 -32 96 -95.9999 95.9996zM960 126.992 c0 -12.624 -20.4629 -30.2881 -29.999 -31.0078h-840.48c-7.4082 0.608398 -25.5205 15.04 -25.5205 32.0156v512.992c0 20.2725 27.2324 30.4961 32 31.0078h183.44l76.7998 128h313.648l57.1201 -96.9443l17.5996 -31.0557h183.392c22.5596 0 31.6797 -29.4717 32 -32 v-513.008v0.0004zM512.001 640c-123.712 0 -224 -100.288 -224 -224s100.288 -224 224 -224s224 100.288 224 224s-100.288 224 -224 224zM512.001 256c-88.2236 0 -160 71.7764 -160 160s71.7764 160 160 160s160 -71.7764 160 -160s-71.7764 -160 -160 -160z"/>
<glyph glyph-name="check" unicode="" d="M512 960c-282.768 0 -512 -229.232 -512 -512c0 -282.784 229.232 -512 512 -512c282.784 0 512 229.216 512 512c0 282.768 -229.216 512 -512 512zM512 -1.00781c-247.024 0 -448 201.984 -448 449.009c0 247.025 200.976 448 448 448s448 -200.976 448 -448 s-200.976 -449.009 -448 -449.009zM716.336 635.344l-300.401 -302.288l-135.28 135.28c-12.4961 12.4961 -32.752 12.4961 -45.2637 0c-12.4961 -12.4961 -12.4961 -32.752 0 -45.248l158.384 -158.4c12.4961 -12.4805 32.752 -12.4805 45.2637 0 c1.44043 1.44043 2.67285 3.00879 3.79297 4.64062l318.784 320.752c12.4805 12.4961 12.4805 32.752 0 45.2637c-12.5117 12.4961 -32.7676 12.4961 -45.28 -0.00032z"/>
<glyph glyph-name="clock" unicode="" d="M512 960c-282.768 0 -512 -229.232 -512 -512c0 -282.784 229.232 -512 512 -512c282.784 0 512 229.216 512 512c0 282.768 -229.216 512 -512 512zM512 -1.00781c-247.024 0 -448 201.984 -448 449.009c0 247.025 200.976 448 448 448s448 -200.976 448 -448 s-200.976 -449.009 -448 -449.009zM544 460.992v307.006c0 17.6641 -14.3359 32 -32 32s-32 -14.3359 -32 -32v-320c0 -9.05566 3.79199 -17.1992 9.85645 -23.0068c0.52832 -0.624023 0.959961 -1.2959 1.53613 -1.8877l158.384 -158.4 c12.4961 -12.4805 32.752 -12.4805 45.248 0c12.4961 12.4961 12.4961 32.7686 0 45.2646z"/>
<glyph glyph-name="close" unicode="" d="M512 960c-282.768 0 -512 -229.232 -512 -512c0 -282.784 229.232 -512 512 -512c282.784 0 512 229.216 512 512c0 282.768 -229.216 512 -512 512zM512 -1.00781c-247.024 0 -448 201.984 -448 449.009c0 247.025 200.976 448 448 448s448 -200.976 448 -448 s-200.976 -449.009 -448 -449.009zM693.008 629.008c-12.4961 12.4961 -32.752 12.4961 -45.248 0l-135.76 -135.76l-135.76 135.76c-12.4961 12.4961 -32.752 12.4961 -45.2637 0c-12.4961 -12.4961 -12.4961 -32.752 0 -45.248l135.76 -135.76l-135.76 -135.76 c-12.4961 -12.4805 -12.4961 -32.7686 0 -45.249c12.4961 -12.4961 32.752 -12.4961 45.2637 0l135.76 135.76l135.76 -135.76c12.4961 -12.4961 32.752 -12.4961 45.248 0c12.4961 12.4805 12.4961 32.7686 0 45.249l-135.76 135.76l135.76 135.76 c12.5117 12.5117 12.5117 32.7676 0 45.248z"/>
<glyph glyph-name="cloud-download" unicode="" d="M763.024 700c-44.624 118.432 -140.559 193.441 -285.455 193.441c-184.384 0 -313.392 -136.912 -324.479 -315.536c-88.9121 -28.4316 -153.088 -119.12 -153.088 -221.84c0 -125.744 98.8477 -231.968 215.823 -231.968h28.4482c17.6641 0 32 14.3203 32 32 s-14.3359 32 -32 32h-28.4482c-82.3037 0 -152.832 76.9121 -152.832 167.968c0 80.4639 56.416 153.056 127.184 165.216l29.04 5.00781l-2.5918 29.3438l-0.240234 0.368164c0.015625 155.872 102.607 273.44 261.184 273.44c127.104 0 198.513 -62.624 231.553 -169.44 l6.83203 -22.0322l23.0723 -0.496094c118.864 -2.49609 223.088 -98.9443 223.088 -218.784c0 -109.056 -72.2725 -230.592 -181.713 -230.592h-9.10449c-17.6641 0 -32 -14.3203 -32 -32s14.3359 -32 32 -32v0.0957031c160 4.22363 252.24 157.088 252.24 294.496 c-0.0322266 147.728 -115.792 265.743 -260.512 281.312zM646.337 184.53c-8.94434 9.34375 -23.4072 9.34473 -32.335 0.000976562l-70.3838 -77.6484v322.144c0 17.6641 -14.3359 32 -32 32s-32 -14.3359 -32 -32v-322.432l-68.1123 75.9355 c-8.94434 9.34375 -23.4404 11.3438 -32.3682 2l-8.06445 -4.41602c-8.94434 -9.37598 -8.94434 -24.4795 0 -33.8232l115.504 -127.744c0.160156 -0.160156 0.192383 -0.368164 0.335938 -0.52832l8.0957 -8.46387c4.49609 -4.68848 10.3682 -7.00879 16.2881 -6.97656 c5.87207 -0.0322266 11.7764 2.28809 16.2246 6.97656l8.0957 8.46387c0.160156 0.160156 0.240234 0.335938 0.368164 0.52832l118.432 129.744c8.94434 9.34375 8.94434 20.4473 0 29.8232z"/>
<glyph glyph-name="cloud-upload" unicode="" d="M763.024 700.032c-44.624 118.432 -140.559 193.441 -285.471 193.441c-184.384 0 -313.392 -136.912 -324.479 -315.536c-88.8965 -28.4316 -153.072 -119.12 -153.072 -221.84c0 -125.744 98.8477 -231.968 215.823 -231.968h92.4482c17.6641 0 32 14.3359 32 32 c0 17.6797 -14.3359 32 -32 32h-92.4482c-82.3037 0 -152.832 76.9121 -152.832 167.968c0 80.4639 56.416 153.056 127.184 165.216l29.04 5.00781l-2.57617 29.3281l-0.240234 0.368164c0 155.872 102.576 273.44 261.152 273.44 c127.104 0 198.513 -62.624 231.537 -169.44l6.84766 -22.0322l23.0557 -0.496094c118.88 -2.49609 223.104 -98.9443 223.104 -218.769c0 -109.056 -72.2725 -230.592 -181.696 -230.592h-73.1201c-17.6641 0 -32 -14.3359 -32 -32c0 -17.6797 14.3359 -32 32 -32 l72.8799 0.0957031c160 4.22363 243.344 157.071 243.344 294.495c0 147.712 -115.76 265.744 -260.479 281.312zM535.985 445.059c-0.175781 0.192383 -0.241211 0.351562 -0.353516 0.511719l-8.0957 8.46387c-4.43164 4.68848 -10.3359 7.00879 -16.2402 6.97656 c-5.9043 0.0478516 -11.7764 -2.28809 -16.2881 -6.97559l-8.0957 -8.46387c-0.160156 -0.160156 -0.192383 -0.352539 -0.335938 -0.512695l-115.504 -127.744c-8.94434 -9.34375 -8.94434 -24.4639 0 -33.8398l8.06445 -5.47168 c8.94434 -9.34375 23.4404 -6.31934 32.3682 3.02441l68.1123 75.9355v-322.432c0 -17.6641 14.3359 -32 32 -32c17.6641 0 32 14.3359 32 32v322.128l70.3682 -77.6318c8.94434 -9.34375 23.4082 -12.3682 32.3359 -3.02441l8.06445 5.47168 c8.94434 9.37598 8.94434 24.4961 0 33.8398z"/>
<glyph glyph-name="doc" unicode="" d="M560 960h-352c-35.3438 0 -64 -28.6562 -64 -64v-896c0 -35.3438 28.6562 -64 64 -64h608c35.3438 0 64 28.6562 64 64v639.984zM816 613.472v-5.47168h-288v288h5.50391zM208 0v896h256v-352h352v-544h-608z"/>
<glyph glyph-name="envolope" unicode="" d="M1023.46 728c0.992188 6.14355 0.176758 12.4795 -2.47949 18.2715c-8.06445 35.4404 -33.6807 53.7285 -76.9766 53.7285h-832c-38.0801 0 -79.1045 -14 -99.2803 -41.4717c-1.74414 -1.32812 -3.4082 -2.83203 -4.91211 -4.57617 c-6.44824 -7.44043 -8.7041 -17.0088 -7.26367 -26.0332c-0.288086 -2.5918 -0.543945 -5.2002 -0.543945 -7.91992v-512c0 -53.0244 58.9922 -112 112 -112h832c53.0244 0 80 58.9756 80 112v512c0 2.83203 -0.368164 5.3125 -0.543885 8.00099zM112.001 736 l832.001 0.000976562h0.431641l-432.432 -344.656l-430.688 343.248c9.79199 1.80762 21.8398 1.40723 30.6875 1.40723zM944.002 160.001h-831.999c-17.6484 0 -48 30.3359 -48 48v458.448l427.04 -341.648c6.01562 -5.2002 13.4873 -7.79199 20.959 -7.79199 c7.4717 0 14.9434 2.5918 20.9756 7.79199l427.024 341.632v-458.432c0 -17.6641 1.66406 -48 -15.9996 -48z"/>
<glyph glyph-name="eye" unicode="" d="M515.472 638.592c-106.032 0 -192 -85.9678 -192 -192c0 -106.016 85.9678 -192 192 -192s192 85.9678 192 192s-85.9678 192 -192 192zM515.472 318.592c-70.5762 0 -129.473 58.8164 -129.473 129.393c0 70.5766 57.4238 128 128 128c70.5918 0 128 -57.4238 128 -128 s-55.9355 -129.393 -126.527 -129.393zM1023.68 455.424c-0.368164 1.61621 -0.207031 3.3252 -0.6875 4.90918c-0.208008 0.671875 -0.624023 1.05566 -0.864258 1.64746c-0.335938 0.912109 -0.255859 1.98438 -0.719727 2.86426 c-93.0723 213.104 -293.664 335.76 -507.424 335.76s-418.368 -122.432 -511.488 -335.552c-0.400391 -0.896484 -0.335938 -1.82422 -0.65625 -2.84863c-0.223633 -0.624023 -0.6875 -0.975586 -0.895508 -1.56738 c-0.496094 -1.61621 -0.303711 -3.2959 -0.607422 -4.92773c-0.591797 -2.87988 -1.13574 -5.67969 -1.13574 -8.5918c0 -2.94434 0.543945 -5.66406 1.13574 -8.5918c0.320312 -1.59961 0.112305 -3.34375 0.608398 -4.87988 c0.208008 -0.719727 0.671875 -1.02344 0.895508 -1.67969c0.335938 -0.879883 0.255859 -1.96777 0.65625 -2.84766c93.1357 -213.056 295.744 -333.712 509.504 -333.712c213.776 0 416.336 120.4 509.44 333.505c0.463867 0.912109 0.368164 1.87207 0.719727 2.87988 c0.223633 0.55957 0.655273 0.975586 0.847656 1.59961c0.496094 1.56836 0.335938 3.28027 0.6875 4.91211c0.55957 2.86426 1.08789 5.66406 1.08789 8.62402c0 2.81641 -0.52832 5.60059 -1.10426 8.49705zM512 159.405c-181.296 0 -359.743 95.5684 -447.423 287.681 c86.8477 191.472 267.68 289.504 449.424 289.504c181.68 0 358.496 -98.1436 445.376 -289.712c-86.8164 -191.408 -265.633 -287.473 -447.377 -287.473z"/>
<glyph glyph-name="flag" unicode="" d="M680 864.672c-160 0 -202.655 96 -405.312 96c-130.688 0 -210.688 -98.6885 -210.688 -98.6885v-894.656c0 -17.6641 14.3359 -32 32 -32s32 14.3359 32 32v407.872c33.7598 21.7764 80.3359 41.4727 138.688 41.4727c202.656 0 261.312 -96 421.312 -96s272 96 272 96 v544s-120 -96 -280 -96.0002zM896.001 449.28c-36.1602 -23.584 -112.784 -64.6064 -208 -64.6064c-62.9121 0 -105.84 17.2637 -160.224 39.1357c-66.2725 26.6396 -141.408 56.8633 -261.088 56.8633c-54.6885 0 -101.072 -13.7598 -138.688 -32.1602v387.472 c24.0957 21.9199 76.624 60.6875 146.688 60.6875c94.1123 0 147.088 -22.8477 203.184 -47.0078c55.8721 -24.0801 113.664 -48.9922 202.128 -48.9922c85.248 0 160.128 23.5684 216 48.9121v-400.304z"/>
<glyph glyph-name="folder" unicode="" d="M354.752 784l78.624 -77.248l20.1123 -18.752h506.512v-576h-896v672h288h2.7517zM384 848h-320c-35.3438 0 -64 -28.6562 -64 -64v-672c0 -35.3438 28.6562 -64 64 -64h896c35.3438 0 64 28.6562 64 64v576c0 35.3438 -28.6562 64 -64 64h-480z"/>
<glyph glyph-name="heart" unicode="" d="M287.984 845.84c31.376 0 88.0938 -15.0078 180.094 -105.616l45.6162 -44.9121l44.9277 45.6318c63.8721 64.8965 131.84 105.2 177.376 105.2c61.4082 0 109.809 -21.0078 157.009 -68.0957c44.4639 -44.3682 68.9922 -103.36 68.9922 -166.112 c0.0322266 -62.7842 -24.4482 -121.824 -69.4082 -166.672c-3.66406 -3.71191 -196.992 -212.304 -358.96 -387.104c-7.63184 -7.24805 -16.3516 -8.32031 -20.9912 -8.32031c-4.57617 0 -13.2002 1.02441 -20.7998 8.09668c-39.4717 43.9043 -325.552 362 -358.815 395.232 c-44.5283 44.416 -69.0244 103.456 -69.0244 166.224c0.015625 62.752 24.5117 121.728 69.04 166.144c43.2959 43.2637 93.9844 60.3037 154.944 60.3037zM287.982 909.84c-76.5283 0 -144 -22.8955 -200.176 -79.0078c-117.072 -116.768 -117.072 -306.128 0 -422.96 c33.4238 -33.4404 357.855 -394.337 357.855 -394.337c18.4805 -18.4961 42.7529 -27.6797 66.9609 -27.6797c24.2236 0 48.3994 9.18359 66.9111 27.6797c0 0 354.88 383.024 358.656 386.849c117.04 116.88 117.04 306.24 0 423.008 c-58.1123 58 -123.024 86.7842 -202.208 86.7842c-75.6484 0 -160 -60.3203 -223.008 -124.32c-64.9922 63.9844 -146.736 123.984 -224.992 123.984v0z"/>
<glyph glyph-name="info" unicode="" d="M576 224l-32 0.000976562v286c0 0.335938 -0.0957031 0.65625 -0.0957031 1.00781s0.0957031 0.655273 0.0957031 0.991211c0 17.6641 -14.3359 32 -32 32h-64c-17.6641 0 -32 -14.3359 -32 -32s14.3359 -32 32 -32h32v-256h-32c-17.6641 0 -32 -14.3359 -32 -32 s14.3359 -32 32 -32h128c17.6641 0 32 14.3359 32 32s-14.3359 32 -32 32zM512 608.001c35.3438 0 64 28.6562 64 64s-28.6562 64 -64 64s-64 -28.6562 -64 -64s28.6562 -64 64 -64zM512 960.001c-282.768 0 -512 -229.232 -512 -512c0 -282.784 229.232 -512 512 -512 c282.784 0 512 229.216 512 512c0 282.768 -229.216 512 -512 512zM512 -1.00684c-247.024 0 -448 201.984 -448 449.009c0 247.025 200.976 448 448 448s448 -200.976 448 -448s-200.976 -449.009 -448 -449.009z"/>
<glyph glyph-name="key" unicode="" d="M655.696 960c-159.056 0 -288.003 -129.154 -288.003 -288.467c0 -71.4082 26.0322 -136.624 68.9443 -187.008c-8.83203 0.543945 -17.8398 -2.43164 -24.5918 -9.18359l-322.384 -324.384c-12.4805 -12.4961 -12.4805 -32.7686 0 -45.249 c0.240234 -0.240234 0.512695 -0.383789 0.768555 -0.624023c0.0800781 -0.0800781 0.12793 -0.175781 0.208008 -0.255859l156.912 -159.904c12.4805 -12.4961 32.7529 -12.4961 45.249 0s12.4961 32.7686 0 45.249l-135.472 138.064l82.4961 83.0078l135.728 -138.32 c12.4805 -12.4961 32.7529 -12.4961 45.249 0s12.4805 32.7686 0 45.249l-135.856 138.448l172.384 173.472c6.67188 6.67188 9.66406 15.5361 9.21582 24.2725c50.624 -44.2881 116.672 -71.3125 189.168 -71.3125c159.056 0 288 129.152 288 288.48 c-0.015625 159.312 -128.943 288.465 -288.016 288.466zM655.693 447.998c-123.248 0 -224 100.272 -224 224c0 123.744 100.752 224 224 224s224 -100.256 224 -224c0 -123.728 -100.736 -224 -224 -224z"/>
<glyph glyph-name="link" unicode="" d="M295.664 227.552c6.25586 -6.25586 14.4316 -9.37598 22.624 -9.37598s16.3682 3.12012 22.624 9.37598l387.664 390.688c12.4961 12.4961 12.4961 32.752 0 45.248s-32.752 12.4961 -45.248 0l-387.664 -390.688c-12.5117 -12.4961 -12.5117 -32.752 0 -45.248z M475.872 295.695c10.5762 -46.624 -0.833984 -92.3994 -36.8662 -128.432l-129.248 -125.248c-27.2002 -27.1836 -63.3604 -42.1592 -101.824 -42.1592s-74.624 14.9756 -101.808 42.1592c-56.1436 56.1602 -56.1436 147.536 -0.335938 203.344l126.256 130.256 c27.2002 27.1836 63.3604 42.1758 101.824 42.1758c13.1523 0 25.8242 -2.35156 38.1758 -5.74316l49.9521 49.9521c-27.8721 13.0244 -57.9521 19.792 -88.1279 19.792c-53.2324 0 -106.465 -20.3203 -147.073 -60.9287l-125.936 -129.936 c-81.2158 -81.2158 -81.2158 -212.912 0 -294.16c40.6084 -40.624 93.8408 -60.9121 147.073 -60.9121s106.465 20.2881 147.073 60.9121l128.944 124.944c62.1279 62.1279 75.5684 148.72 42.6562 224.72zM963.134 899.216 c-40.624 40.6084 -93.8408 60.9287 -147.057 60.9287c-53.248 0 -106.496 -20.3203 -147.088 -60.9287l-128.928 -124.944c-64.4004 -64.4004 -77.5361 -160.465 -39.792 -238.033l49.6641 49.6484c-14.7041 49.1035 -3.4082 104.336 35.0557 142.832l129.248 125.248 c27.2158 27.1836 63.3438 42.1758 101.84 42.1758c38.4316 0 74.624 -14.9922 101.808 -42.1758c56.1279 -56.1602 56.1279 -147.536 0.320312 -203.344l-129.248 -129.248c-27.1836 -27.1836 -63.376 -42.1592 -101.808 -42.1592 c-9.80762 0 -18.4316 -0.992188 -27.8398 0.927734l-50.9756 -51.0078c25.4717 -10.5918 51.6318 -13.9355 78.8154 -13.9355c53.2158 0 106.432 20.3037 147.056 60.9277l128.944 128.944c81.2002 81.2158 81.2002 212.896 -0.015112 294.144z"/>
<glyph glyph-name="lock" unicode="" d="M800 576h-32v122.128c0 146.848 -106.256 261.872 -257.184 261.872c-151.536 0 -254.816 -117.472 -254.816 -261.872v-122.128h-32c-70.5918 0 -128 -57.4082 -128 -128v-384c0 -70.5918 57.4082 -128 128 -128h576c70.5918 0 128 57.4082 128 128v384 c0 70.5918 -57.4082 128 -128 128zM320 698.128c0 109.088 74.5605 197.872 190.816 197.872c115.056 0 193.184 -86.9121 193.184 -197.872v-122.128h-384v122.128zM864.001 64c0 -35.2803 -28.7197 -64 -64 -64h-576c-35.2803 0 -64 28.7197 -64 64v384 c0 35.2803 28.7197 64 64 64h576c35.2803 0 64 -28.7197 64 -64v-384zM512.001 384c-35.3438 0 -64 -28.6562 -64 -64c0 -23.6318 12.96 -44.0322 32 -55.1201v-104.88c0 -17.6641 14.3359 -32 32 -32c17.6641 0 32 14.3359 32 32v104.88 c19.04 11.0879 32 31.5039 32 55.1201c0 35.3438 -28.6562 64 -64 64z"/>
<glyph glyph-name="lock-open" unicode="" d="M800 574.896l-456.96 -0.000976562l-16.5596 74.2725c-28.2402 105.376 20.8154 210.432 133.088 240.512c111.136 29.7764 209.088 -33.9355 237.824 -141.119l13.5996 -53.9678c4.57617 -17.0723 22.1123 -27.2002 39.2002 -22.624 c17.0723 4.57617 27.2002 22.1123 22.624 39.1846l-13.6162 53.9678c-37.9844 141.84 -170.385 225.439 -316.192 186.384c-146.368 -39.2158 -215.712 -179.424 -178.336 -318.912l12.8643 -57.6963h-53.5361c-70.5918 0 -128 -57.4082 -128 -128v-384 c0 -70.5918 57.4082 -128 128 -128h576c70.5918 0 128 57.4082 128 128v384c0 70.5918 -57.4082 128 -128 128zM864 62.8955c0 -35.2803 -28.7197 -64 -64 -64h-576c-35.2803 0 -64 28.7197 -64 64v384c0 35.2803 28.7197 64 64 64h576c35.2803 0 64 -28.7197 64 -64v-384z M512 382.896c-35.3438 0 -64 -28.6562 -64 -64c0 -23.6318 12.96 -44.0322 32 -55.1201v-104.88c0 -17.6641 14.3359 -32 32 -32c17.6641 0 32 14.3359 32 32v104.88c19.04 11.0879 32 31.5039 32 55.1201c0 35.3438 -28.6562 64 -64 64z"/>
<glyph glyph-name="magnifier" unicode="" d="M1014.64 -9.04004l-310.93 312.833c57.9521 69.4082 92.8799 158.704 92.8799 256.208c0 220.912 -179.088 400 -400 400s-400 -179.088 -400 -400s179.088 -400 400 -400c100.368 0 192.048 37.0557 262.288 98.1436l310.496 -312.448 c12.4961 -12.4961 32.7686 -12.4961 45.2646 0c12.4805 12.4961 12.4805 32.752 0.000976562 45.2637zM396.59 223.473c-185.856 0 -336.528 150.672 -336.528 336.528s150.672 336.528 336.528 336.528c185.856 0 336.528 -150.672 336.528 -336.528 s-150.672 -336.528 -336.528 -336.528z"/>
<glyph glyph-name="magnifier-add" unicode="" d="M1014.62 -9.04004l-283.026 284.767c60.6084 72.4004 97.0889 165.761 97.0889 267.713c0 230.064 -185.504 416.561 -415.552 416.561s-416.544 -186.496 -416.544 -416.544s186.496 -416.544 416.544 -416.544c105.008 0 200.672 38.96 273.696 103.072 l282.528 -284.304c12.4961 -12.4961 32.7686 -12.4961 45.249 0c12.5117 12.5117 12.5117 32.7676 0.015625 45.2793zM412.59 191.999c-193.552 0 -352 158.448 -352 352s158.448 352 352 352c193.552 0 352 -158.448 352 -352s-158.448 -352 -352 -352zM572.59 575.999 h-128v128c0 17.6641 -14.3359 32 -32 32s-32 -14.3359 -32 -32v-128h-128c-17.6641 0 -32 -14.3359 -32 -32s14.3359 -32 32 -32h128v-128c0 -17.6641 14.3359 -32 32 -32s32 14.3359 32 32v128h128c17.6641 0 32 14.3359 32 32s-14.3203 32 -32 32z"/>
<glyph glyph-name="magnifier-remove" unicode="" d="M1014.62 -9.04004l-283.026 284.767c60.6084 72.4004 97.0889 165.761 97.0889 267.713c0 230.064 -185.504 416.561 -415.552 416.561s-416.544 -186.496 -416.544 -416.544s186.496 -416.544 416.544 -416.544c105.008 0 200.672 38.96 273.696 103.072 l282.528 -284.304c12.4961 -12.4961 32.7686 -12.4961 45.249 0c12.5117 12.5117 12.5117 32.7676 0.015625 45.2793zM412.59 191.999c-193.552 0 -352 158.448 -352 352s158.448 352 352 352c193.552 0 352 -158.448 352 -352s-158.448 -352 -352 -352zM572.59 575.999 h-320c-17.6641 0 -32 -14.3359 -32 -32s14.3359 -32 32 -32h320c17.6641 0 32 14.3359 32 32s-14.3203 32 -32 32z"/>
<glyph glyph-name="paper-clip" unicode="" d="M172.72 -47.6318c-43.4082 0 -85.085 17.9648 -118.301 51.2129c-73.6484 73.8877 -73.6484 194.063 -0.0166016 267.903l574.272 609.824c89.5996 89.7441 226.848 81.6797 327.008 -18.6084c44.8799 -44.96 70.0635 -109.776 69.1191 -177.904 c-0.944336 -67.4082 -27.2803 -131.92 -72.2881 -177.008l-434.016 -462.048c-12.0801 -12.9443 -32.3359 -13.5361 -45.2314 -1.39258c-12.8643 12.1602 -13.4883 32.4482 -1.36035 45.3447l434.672 462.752c34 34.0645 53.5039 82.3848 54.2236 133.249 c0.719727 50.8955 -17.6641 98.8799 -50.3682 131.664c-61.4404 61.5684 -161.473 93.8086 -235.841 19.2646l-574.256 -609.824c-49.376 -49.5039 -49.3604 -129.008 -0.640625 -177.855c22.8477 -22.8643 49.9678 -34 78.8477 -32.2559 c28.5762 1.74414 57.9521 16.4004 82.7197 41.2324l456.928 486.336c16.5596 16.5918 49.8398 57.2637 15.9678 91.2158c-19.1836 19.2158 -32.6553 18.0322 -37.0869 17.6641c-12.6562 -1.12012 -27.4404 -9.87207 -42.7842 -25.2637l-343.92 -365.776 c-12.1436 -12.9121 -32.416 -13.5361 -45.2324 -1.36035c-12.8799 12.1279 -13.4717 32.4482 -1.35938 45.3125l344.544 366.464c27.0879 27.2158 54.7842 41.9678 82.9766 44.4961c22 1.95215 54.7197 -2.73633 88.0957 -36.208 c49.5361 -49.6318 43.376 -122.432 -15.2803 -181.216l-456.928 -486.304c-36.4805 -36.6084 -80.5283 -57.8721 -124.721 -60.5918c-3.24805 -0.223633 -6.49609 -0.319336 -9.74414 -0.319336z"/>
<glyph glyph-name="paper-plane" unicode="" d="M1004.03 960c-6.0957 0 -13.5195 -1.72949 -22.0957 -5.36133l-954.656 -405.088c-34.3682 -14.5762 -36.5439 -42.6885 -4.83203 -62.4482l269.76 -168.032c31.7119 -19.7441 73.6475 -62.0801 93.1836 -94.0479l161.712 -264.768 c9.28027 -15.1836 20.4961 -22.7197 31.2803 -22.7197c11.9199 0 23.2803 9.15234 31.0244 27.2324l408.256 953.744c11.0557 25.8721 4.75195 41.4883 -13.6326 41.4887zM325.552 376.078l-218.656 136.209l733.616 311.248l-472.192 -480.192 c-14.4316 12.7998 -29.0879 24.2236 -42.7676 32.7354zM572.72 44.7354l-130.432 213.52c-7.69629 12.6084 -17.8564 26.0488 -29.1846 39.3926l474.384 482.384z"/>
<glyph glyph-name="plus" unicode="" d="M512 960c-282.768 0 -512 -229.232 -512 -512c0 -282.784 229.232 -512 512 -512c282.784 0 512 229.216 512 512c0 282.768 -229.216 512 -512 512zM512 -1.00781c-247.024 0 -448 201.984 -448 449.009c0 247.025 200.976 448 448 448s448 -200.976 448 -448 s-200.976 -449.009 -448 -449.009zM736 480h-192v192c0 17.6641 -14.3359 32 -32 32s-32 -14.3359 -32 -32v-192h-192c-17.6641 0 -32 -14.3359 -32 -32s14.3359 -32 32 -32h192v-192c0 -17.6641 14.3359 -32 32 -32c17.6641 0 32 14.3359 32 32v192h192 c17.6641 0 32 14.3359 32 32s-14.3359 32 -32 32z"/>
<glyph glyph-name="location-pin" unicode="" d="M515.664 960.368c-209.904 0 -387.664 -178.768 -387.664 -390.544c0 -221.76 206.032 -448.544 344.624 -607.936c0.52832 -0.639648 22.9287 -25.5195 50.5283 -25.5195h2.44824c27.5996 0 49.8398 24.8799 50.3994 25.5195c130.064 149.52 320 396.048 320 607.936 c0 211.776 -138.656 390.544 -380.336 390.544zM528.496 4.81641c-1.12012 -1.12012 -2.75293 -2.36914 -4.19336 -3.40918c-1.47168 1.00781 -3.07129 2.28809 -4.25488 3.4082l-16.7363 19.248c-131.392 150.736 -311.312 357.152 -311.312 545.761 c0 177.008 148.224 326.56 323.664 326.56c218.528 0 316.336 -164 316.336 -326.56c0 -143.184 -102.128 -333.296 -303.504 -565.008zM513.119 766.592c-106.032 0 -192 -85.9678 -192 -192s85.9678 -192 192 -192s192 85.9678 192 192s-85.9678 192 -192 192z M513.119 446.592c-70.5762 0 -129.473 58.8164 -129.473 129.408c0 70.5762 57.4238 128 128 128c70.624 0 128 -57.4238 128 -128c0.0322266 -70.5918 -55.9033 -129.408 -126.527 -129.408z"/>
<glyph glyph-name="power" unicode="" d="M701.552 795.904c-16 7.45605 -35.0254 0.59082 -42.5293 -15.4248c-7.51953 -16 -0.591797 -35.04 15.4082 -42.5439c162.336 -76 250.496 -251.952 214.353 -427.872c-42.9121 -208.88 -247.664 -343.808 -456.56 -301.023 c-101.168 20.7842 -184.208 79.7119 -241.056 165.936c-56.8643 86.2559 -76.7363 189.504 -55.9521 290.672c24.7041 120.224 102.624 219.328 213.76 271.904c15.9678 7.55176 22.7998 26.624 15.2314 42.6084c-7.55176 15.9521 -26.5918 22.7363 -42.5918 15.2324 c-129.504 -61.2637 -220.288 -176.735 -249.088 -316.863c-24.2236 -117.936 -1.07129 -238.256 65.1846 -338.784c66.2725 -100.48 163.696 -169.169 281.632 -193.409c30.4316 -6.25586 60.8154 -9.24805 90.751 -9.24805c209.456 0 397.648 147.12 441.376 360.112 c42.1123 205.008 -60.6553 410.096 -249.919 498.704zM512.015 543.999c17.6641 0 32 14.3359 32 32v352c0 17.6641 -14.3359 32 -32 32s-32 -14.3359 -32 -32v-352c0 -17.6641 14.3359 -32 32 -32z"/>
<glyph glyph-name="refresh" unicode="" d="M497.408 61.4404c-0.0800781 0.192383 -0.272461 0.322266 -0.384766 0.482422l-91.9199 143.664c-6.52832 10.7197 -20.6885 14.5273 -31.7285 8.51172l-8.19238 -5.04004c-11.0078 -6 -10.7676 -21.5361 -4.25586 -32.2559l58.9277 -91.4082 c-5.02441 1.10352 -10.0967 2 -15.0566 3.2959c-103.184 26.9922 -190.495 96.832 -239.535 191.6c-46.3359 89.5195 -55.04 191.695 -24.5117 287.743c30.5117 96.0479 99.7754 174.464 189.295 220.784c15.248 7.8877 21.2002 26.6396 13.3125 41.8555 c-7.87207 15.2637 -26.6396 21.2314 -41.8555 13.3271c-104.272 -53.9521 -184.4 -145.28 -219.969 -257.152c-35.5518 -111.856 -25.4238 -230.881 28.5439 -335.137c57.1357 -110.336 158.832 -191.664 279.024 -223.136 c1.36035 -0.351562 2.78418 -0.55957 4.16016 -0.911133l-81.3115 -41.2324c-11.0078 -6.03223 -14.6562 -19.6318 -8.12793 -30.3516l3.15234 -8.17578c6.55957 -10.7197 17.8398 -14.5273 28.8154 -8.51172l148.832 76.208 c0.192383 0.12793 0.384766 0.0957031 0.577148 0.223633l9.98438 5.45605c5.51953 3.02441 9.16797 7.96875 10.624 13.5049c1.51953 5.51953 0.81543 11.6631 -2.44824 16.9912zM913.904 639.187c-57.0557 110.304 -155.586 191.63 -275.762 223.118 c-8.55957 2.24023 -17.3115 3.98438 -26.0479 5.71191l79.8242 40.4805c11.0078 6.03223 17.5674 19.6318 11.0391 30.3682l-3.15234 8.16016c-6.55957 10.7363 -20.752 14.5283 -31.7275 8.52832l-148.816 -76.208 c-0.175781 -0.112305 -0.383789 -0.0800781 -0.576172 -0.208008l-9.96777 -5.47168c-5.53613 -3.04004 -9.16797 -7.96777 -10.624 -13.5039c-1.51953 -5.51953 -0.81543 -11.6475 2.46484 -16.9756l5.91992 -9.71191 c0.0957031 -0.192383 0.271484 -0.304688 0.383789 -0.49707l91.9199 -143.648c6.51172 -10.7363 20.6875 -14.5283 31.7119 -8.5127l7.21582 5.02441c11.0078 6 11.7275 21.5361 5.23145 32.2402l-59.2002 91.8564c13.0078 -2 25.9678 -4.41602 38.624 -7.75977 c103.232 -27.04 187.393 -96.8643 236.4 -191.568c46.3203 -89.5195 55.0244 -191.695 24.4805 -287.728c-30.5117 -96.0479 -96.6553 -174.448 -186.175 -220.816c-15.2324 -7.8877 -21.168 -26.6074 -13.2803 -41.8711 c5.51953 -10.6396 16.3359 -16.7676 27.5996 -16.7676c4.7998 0 9.66406 1.12012 14.2725 3.48828c104.272 53.9355 181.248 145.279 216.816 257.119c35.5361 111.904 25.3926 230.929 -28.5743 335.152z"/>
<glyph glyph-name="reload" unicode="" d="M511.28 960c-255.808 0 -463.92 -208.126 -463.92 -463.934c0 -240.448 185.296 -441.536 423.568 -462.096l-91.8564 -46.5596c-11.3438 -6.22363 -18.0957 -20.2236 -11.376 -31.2793l3.24805 -8.40039c6.75195 -11.0557 21.376 -14.9756 32.6875 -8.7832 l153.312 78.4961c0.192383 0.12793 0.400391 0.0957031 0.592773 0.223633l10.2881 5.63184c5.67969 3.12012 9.43945 8.22363 10.9434 13.9033c1.56836 5.67969 0.848633 12 -2.52734 17.5039l-6.0957 10c-0.0957031 0.192383 -0.288086 0.320312 -0.400391 0.496094 l-94.6885 147.968c-6.71973 11.0557 -21.3115 14.9756 -32.6875 8.7832l-7.44043 -5.18359c-11.3438 -6.19238 -12.0957 -22.1924 -5.37598 -33.2168l55.8721 -86.6719c-0.303711 0.015625 -0.576172 0.12793 -0.864258 0.143555 c-209.28 13.7275 -373.2 189.039 -373.2 399.039c0 220.528 179.408 399.937 399.92 399.937c220.544 0 400.96 -179.408 400.96 -399.937c0 -126.976 -58.3203 -243.6 -160 -319.968c-14.1279 -10.624 -16.9756 -30.6885 -6.36719 -44.8164 c10.624 -14.1602 30.6885 -16.9766 44.8164 -6.36816c117.936 88.5918 185.567 223.872 185.567 371.152c-0.015625 255.808 -209.151 463.936 -464.976 463.937z"/>
<glyph glyph-name="settings" unicode="" d="M960.496 544.944l-82.1289 18.2236c-6.40039 20.4805 -14.7842 40.0801 -24.4004 58.9277l44.4316 74.0322c16.5918 26.5117 24.9756 65.5195 0 90.5117l-45.2803 45.248c-24.9756 24.9922 -67.1514 20.4961 -92.623 2.83203l-72.0322 -45.8877 c-18.6885 9.69629 -38.2246 18 -58.5283 24.5596l-18.4316 83.1201c-5.50391 30.4805 -32.1602 63.4883 -67.5039 63.4883h-64c-35.3438 0 -57.0078 -33.5039 -64 -64l-20.5283 -82.1279c-21.6797 -6.91211 -42.4961 -15.7441 -62.3359 -26.208l-73.8398 47.0244 c-25.4561 17.6641 -67.6484 22.1602 -92.624 -2.83203l-45.2637 -45.248c-24.9922 -25.0078 -16.6084 -64 0 -90.5117l46.752 -77.9199c-8.76758 -17.6641 -16.5439 -35.9365 -22.5439 -55.0244l-82.1123 -18.2236c-30.4961 -5.48828 -63.5039 -32.1445 -63.5039 -67.4883 v-64c0 -35.3438 33.5039 -57.0078 64 -64l83.1523 -20.7842c5.74414 -17.6318 12.9277 -34.5596 21.0557 -50.9756l-46.7998 -78c-16.5918 -26.4961 -24.9756 -65.5039 0 -90.4961l45.2803 -45.248c24.9756 -25.0078 67.1514 -20.4961 92.623 -2.84766l74 47.1523 c19.9521 -10.5283 40.8799 -19.4404 62.7041 -26.3369l20.4805 -81.9043c7.00781 -30.4961 28.6562 -64 64 -64h64c35.3438 0 62 33.0078 67.5039 63.5039l18.4639 83.3438c20.0957 6.49609 39.376 14.6885 57.8398 24.2568l72.1924 -46 c25.4717 -17.6641 67.6641 -22.1602 92.624 2.84766l45.2803 45.248c24.9756 25.0078 16.5918 64 0 90.4961l-44.4639 74.1279c8.94434 17.5684 16.6885 35.8408 22.9121 54.8486l83.1523 20.7676c30.4961 7.00781 64 28.6562 64 64v64 c0 35.3438 -32.9922 62 -63.5041 67.504zM960.031 417.952c-2.71973 -1.95215 -7.8418 -4.63477 -14.3379 -6.13867l-118.656 -29.6318l-11.0078 -33.6318c-4.97559 -15.1523 -11.4072 -30.5283 -19.1191 -45.7119l-16.0645 -31.5684l62.6885 -104.528 c4 -6.40039 5.87207 -12.1279 6.43164 -15.5039l-42.0957 -42.0322c-4.06445 1.28027 -8.68848 2.94434 -10.9121 4.46387l-105.344 67.1836l-32.752 -16.9443c-15.7764 -8.19238 -31.9688 -14.9766 -48.0967 -20.1924l-34.8799 -11.2803l-26.3682 -119.12 c-1.21582 -6.36816 -4.62402 -11.5039 -6.95996 -13.3438h-57.5996c-1.95215 2.71973 -4.62402 7.83984 -6.1123 14.3203l-29.4561 117.808l-34.0957 10.8164c-17.5684 5.53613 -35.0879 12.9121 -52.1436 21.9043l-32.9121 17.376l-105.36 -67.1523 c-4.30371 -2.91211 -8.91211 -4.56055 -13.0879 -4.56055l-41.9678 40.8477c0.55957 3.31152 2.30371 8.7832 5.79199 14.3672l65.4561 109.056l-15.5684 31.3438c-7.26367 14.7842 -13.0234 28.6562 -17.5039 42.4004l-10.9922 33.6641l-117.488 29.376 c-7.3916 1.67969 -12.7354 4.43164 -15.5195 6.39941v59.5039c0.0322266 -0.015625 0.0800781 -0.03125 0.144531 -0.03125c1.07227 0 6.33594 3.74414 10.7197 4.54395l120.72 26.7363l11.0879 35.2803c4.51172 14.3682 10.6719 29.3438 18.8154 45.7754l15.5684 31.3604 l-64.7676 107.92c-4.01562 6.43164 -5.87207 12.1592 -6.43164 15.5195l42.0801 42.0645c4.08008 -1.31152 8.67188 -2.95996 10.8799 -4.47949l107.312 -68.4004l32.8799 17.3438c16.8799 8.89551 34.3359 16.2393 51.9043 21.8232l34.0156 10.832l29.1836 116.768 c1.69629 7.3916 4.41602 12.7354 6.40039 15.5195h59.4883c-0.431641 -0.65625 3.68066 -6.24023 4.52832 -10.8643l26.8799 -121.408l34.8477 -11.2637c16.3359 -5.28027 32.752 -12.1602 48.7197 -20.4482l32.752 -17.0078l103.152 65.7119 c4.32031 2.94434 8.94434 4.57617 13.0879 4.57617l42 -40.8164c-0.55957 -3.32812 -2.31934 -8.81641 -5.80762 -14.416l-63.3438 -105.488l16.1602 -31.6162c8.71973 -17.0557 15.376 -33.0557 20.3203 -48.9277l11.0557 -35.3438l118.288 -26.2559 c7.15234 -1.32812 12.7207 -5.45605 13.9043 -7.69629zM512.43 640.326c-106.272 0 -192.736 -86.2881 -192.736 -192.32c0 -106.016 86.4639 -192.304 192.736 -192.304s192.736 86.2881 192.736 192.304c0 106.032 -86.4639 192.32 -192.736 192.32zM511.998 320.006 c-70.5762 0 -128 57.4238 -128 128c0 70.5918 57.4238 128 128 128c70.5918 0 128 -57.4082 128 -128c0 -70.5762 -57.4238 -128 -128 -128z"/>
<glyph glyph-name="star" unicode="" d="M512 882.512l137.472 -285.088l312.608 -46.4639l-226.416 -225.84l7.61621 -45.3115l45.2803 -270.16l-276.608 148.784l-276.592 -148.848l45.2959 270.224l7.58398 45.3115l-226.336 225.872l312.592 46.4639l20.5439 42.5439zM511.983 944.448 c-28.6562 0 -54.7842 -16.1758 -66.9766 -41.4561l-115.904 -240.64l-266.704 -39.6641c-27.3916 -4.0957 -50.1436 -22.7998 -58.9756 -48.3838c-8.81641 -25.6641 -2.14453 -53.9043 17.1992 -73.1523l195.408 -195.2l-45.3281 -270.656 c-4.55957 -27.2803 7.23242 -54.624 30.3682 -70.5762c12.7197 -8.73633 27.6641 -13.1523 42.624 -13.1523c12.3203 0 24.6406 2.99219 35.793 8.97656l232.496 125.184l232.512 -125.184c11.1836 -5.98438 23.5039 -8.97656 35.7764 -8.97656 c14.96 0 29.9043 4.41602 42.6562 13.1523c23.1035 15.9521 34.9111 43.2959 30.3193 70.5762l-45.3438 270.656l195.504 195.2c19.3438 19.248 25.9678 47.5039 17.1514 73.1523c-8.84766 25.6162 -31.5996 44.3203 -58.9756 48.3848l-266.656 39.6641l-115.968 240.64 c-12.1123 25.3115 -38.2559 41.4551 -66.976 41.4551z"/>
<glyph glyph-name="symble-female" unicode="" d="M623.696 960.224c-220.912 0 -400 -179.073 -400 -400.001c0 -98.5117 35.6797 -188.672 94.7354 -258.368l-127.312 -128.096l-135.264 136.544c-12.4805 12.4961 -32.7529 12.4961 -45.249 0s-12.4961 -32.752 0 -45.248l135.392 -136.688l-136.352 -137.184 c-12.4961 -12.4961 -12.4961 -32.7842 0 -45.248c12.4805 -12.4961 32.7529 -12.4961 45.249 0l136.144 136.992l136.464 -137.76c12.4961 -12.4961 32.752 -12.4961 45.248 0s12.4961 32.752 0 45.248l-136.608 137.904l127.408 128.192 c69.9521 -59.9678 160.769 -96.2881 260.129 -96.2881c220.912 0 400 179.088 400 400c0.015625 220.928 -179.072 400 -399.984 400zM623.696 223.679c-185.856 0 -336.528 150.688 -336.528 336.545s150.672 336.528 336.528 336.528s336.528 -150.672 336.528 -336.528 c0.015625 -185.856 -150.656 -336.545 -336.528 -336.545z"/>
<glyph glyph-name="symbol-male" unicode="" d="M1023.3 937.344c0.143555 6.48047 -1.37793 12.2891 -5.58594 16.4326c-4.14355 4.17578 -9.95117 6.71973 -16.3994 6.52734l-11.6963 -0.272461c-0.223633 0 -0.383789 -0.0800781 -0.639648 -0.112305l-293.504 1.02441 c-12.9277 -0.288086 -23.6162 -10.9922 -23.9199 -23.9199l-0.0322266 -16.4316c1.96777 -15.248 13.9521 -24.1602 26.8799 -23.8721l215.216 -0.431641l-256.144 -254.592c-69.4883 58.2402 -159.008 93.3604 -256.768 93.3604c-220.928 0 -400 -179.072 -400 -400 c0 -220.912 179.072 -400 400 -400c220.912 0 400 179.088 400 400c0 100.112 -36.8643 191.568 -97.6641 261.712l256.896 255.312l-0.944336 -219.152c-0.303711 -12.9277 9.95215 -24.1758 22.8965 -23.8877l16.416 0.0322266c12.96 0.303711 23.6475 8 23.9199 20.9277 l0.671875 295.008c0 0.240234 -0.879883 0.400391 -0.879883 0.624023zM737.229 335.057c0 -185.856 -150.672 -336.528 -336.544 -336.528c-185.856 0 -336.528 150.672 -336.528 336.528c0 185.856 150.672 336.528 336.528 336.528 c185.872 0.015625 336.544 -150.656 336.544 -336.528z"/>
<glyph glyph-name="target" unicode="" d="M992 480h-97.4404c-15.3916 186.528 -164.048 335.04 -350.56 350.464v97.5361c0 17.6641 -14.3359 32 -32 32s-32 -14.3359 -32 -32v-97.5361c-186.496 -15.4238 -335.168 -163.936 -350.576 -350.464h-97.4238c-17.6641 0 -32 -14.3359 -32 -32s14.3359 -32 32 -32 h97.4238c15.4082 -186.512 164.08 -335.04 350.576 -350.464v-97.5361c0 -17.6641 14.3359 -32 32 -32c17.6641 0 32 14.3359 32 32v97.5361c186.512 15.4238 335.168 163.952 350.56 350.464h97.4404c17.6641 0 32 14.3359 32 32s-14.3359 32 -32 32zM480 766.416v-286.416 h-286.448c15.0078 151.2 135.248 271.408 286.448 286.416zM193.552 416h286.448v-286.416c-151.2 15.0078 -271.44 135.216 -286.448 286.416zM544 129.584v286.416h286.448c-15.0078 -151.2 -135.248 -271.408 -286.448 -286.416zM544 480v286.416 c151.2 -15.0078 271.44 -135.216 286.448 -286.416z"/>
<glyph glyph-name="volume-1" unicode="" d="M654.768 894.096c-10.4316 5.55176 -23.0879 4.92773 -32.9121 -1.69629l-321.088 -252.112l-106.624 -0.0800781c-54.5117 0 -98.8799 -38.6562 -98.8799 -86.4004l1.71191 -211.136c0 -47.5361 44.3516 -86.2246 98.8633 -86.2246l106.592 -0.0644531l319.392 -252.752 c5.37598 -3.63184 11.6318 -5.47168 17.9043 -5.47168c5.15234 0 10.3203 1.24805 15.0088 3.74414c10.4639 5.53613 17.0078 16.4004 17.0078 28.2568v835.68c-0.015625 11.8242 -6.54395 22.6885 -16.9761 28.2566zM607.728 90.3682l-277.599 224.526 c-5.28027 3.56836 -11.5205 5.47266 -17.8887 5.47266l-116.384 0.0644531c-20.5439 0 -34.8799 11.7119 -34.8799 22.4639l-1.71191 211.152c0 10.4805 14.3359 22.1602 34.8955 22.1602l116.4 0.0800781c6.35156 0 12.5752 1.9043 17.8555 5.45605l279.312 224v-715.376z M789.825 612.366c-17.7119 2.92773 -33.9365 -8.86426 -36.8486 -26.3047c-2.91211 -17.4238 8.87988 -33.9199 26.2881 -36.832c50.3203 -8.40039 85.4727 -52.3047 85.4727 -106.753c0 -51.8398 -36.3682 -96.6875 -86.4961 -106.688 c-17.3438 -3.44043 -28.5918 -20.2881 -25.1201 -37.6318c3.02441 -15.2158 16.3682 -25.7441 31.3438 -25.7441c2.06445 0 4.19238 0.192383 6.28809 0.624023c79.9678 15.9043 138 87.1846 138 169.44c-0.015625 85.0244 -58.4473 156.465 -138.928 169.89z"/>
<glyph glyph-name="volume-2" unicode="" d="M574.496 894.096c-10.4316 5.55176 -23.0869 4.92773 -32.9111 -1.69629l-321.088 -252.112l-106.624 -0.0800781c-54.5117 0 -98.8799 -38.6562 -98.8799 -86.4004l1.71191 -211.136c0 -47.5361 44.3516 -86.2246 98.8633 -86.2246l106.592 -0.0644531l319.392 -252.752 c5.37598 -3.63184 11.6318 -5.47168 17.9043 -5.47168c5.15234 0 10.3203 1.24805 15.0088 3.74414c10.4639 5.53613 17.0078 16.4004 17.0078 28.2568v835.68c0 11.8242 -6.52832 22.6885 -16.9771 28.2566zM527.473 90.3682l-277.599 224.526 c-5.28027 3.56836 -11.5205 5.47266 -17.8887 5.47266l-116.384 0.0644531c-20.5439 0 -34.8799 11.7119 -34.8799 22.4639l-1.71191 211.152c0 10.4805 14.3359 22.1602 34.8955 22.1602l116.4 0.0800781c6.35156 0 12.5752 1.9043 17.8555 5.45605l279.312 224v-715.376z M848.466 442.494c0 85.0078 -58.4326 156.433 -138.913 169.873c-17.7119 2.92773 -33.9355 -8.86426 -36.8477 -26.3047c-2.91211 -17.4238 8.87988 -33.9199 26.2881 -36.832c50.3203 -8.40039 85.4727 -52.3047 85.4727 -106.753 c0 -51.8398 -36.3682 -96.6875 -86.4961 -106.688c-17.3438 -3.44043 -28.5918 -20.2881 -25.1201 -37.6318c3.02441 -15.2158 16.3682 -25.7441 31.3438 -25.7441c2.06445 0 4.19238 0.192383 6.28809 0.624023c79.9521 15.9355 137.984 87.2158 137.984 169.456z M806.001 736.095c-16.5283 6.16016 -35.0098 -2.24121 -41.1533 -18.8008c-6.19238 -16.5596 2.22363 -34.9912 18.7832 -41.167c96.5283 -36.0156 161.376 -129.903 161.376 -233.631c0 -103.776 -64.8477 -197.841 -161.312 -234.001 c-16.5596 -6.22363 -24.9434 -24.6553 -18.751 -41.1836c4.81641 -12.8799 17.0088 -20.7842 29.9688 -20.7842c3.74414 0 7.53613 0.65625 11.2158 2.03223c121.344 45.5039 202.88 163.632 202.88 293.936s-81.5996 248.288 -203.007 293.599z"/>
<glyph glyph-name="volume-off" unicode="" d="M575.536 894.096c-10.4316 5.55176 -23.0869 4.92773 -32.9111 -1.69629l-321.104 -252.112l-106.624 -0.0800781c-54.5117 0 -98.8799 -38.6562 -98.8799 -86.4004l1.71191 -211.136c0 -47.5361 44.3516 -86.2246 98.8633 -86.2246l106.592 -0.0644531l319.392 -252.752 c5.37598 -3.63184 11.6318 -5.47168 17.9043 -5.47168c5.15234 0 10.3203 1.24805 15.0088 3.74414c10.4639 5.53613 17.0078 16.4004 17.0078 28.2568v835.68c0 11.8242 -6.52832 22.6885 -16.96 28.2568zM528.497 90.3682l-277.6 224.526 c-5.28027 3.56836 -11.5205 5.47266 -17.8887 5.47266l-116.384 0.0644531c-20.5439 0 -34.8799 11.7119 -34.8799 22.4639l-1.72754 211.152c0 10.4805 14.3359 22.1602 34.8955 22.1602l116.4 0.0800781c6.35156 0 12.5752 1.9043 17.8555 5.45605l279.328 224v-715.376z M894.002 447.486l104.593 105.84c12.4961 12.4961 12.4961 32.752 0 45.248c-12.4639 12.4961 -32.752 12.4961 -45.248 0l-104.336 -105.568l-104.336 105.568c-12.4639 12.4961 -32.752 12.4961 -45.248 0s-12.4961 -32.752 0 -45.248l104.592 -105.84l-103.6 -104.816 c-12.4639 -12.4805 -12.4961 -32.7529 0 -45.249s32.7842 -12.4961 45.2803 0l103.312 104.544l103.312 -104.544c12.4961 -12.4961 32.752 -12.4961 45.248 0s12.4961 32.7686 0 45.249z"/>
<glyph glyph-name="phone" unicode="" d="M262.2 923c37.4004 -51.5996 82.002 -118.197 133.602 -199.598c13 -22 11 -48.4004 -5.7998 -79.4004c-6.40039 -13 -22.6006 -42.5996 -48.4004 -89.1992c28.4004 -40 71.6006 -89.2002 129.801 -147.2s106.601 -101.4 145.2 -129.801 c46.4004 27.2002 76.2002 43.7998 89.2002 50.3994c16.7998 9 33 13.5996 48.4004 13.5996c11.5996 0 22 -2.59961 31 -7.7998c59.4004 -36.2002 126.601 -80.7998 201.4 -133.6c14.2002 -10.4004 22.2002 -24.6006 24.2002 -42.6006 c2 -18.2002 -3.59961 -37.4004 -16.3994 -58.2002c-6.40039 -9 -16.8008 -22.2002 -31.001 -39.7998c-14.2002 -17.4004 -35.6006 -39.4004 -64.001 -65.8008s-51.6006 -39.8008 -69.8008 -39.8008h-2c-136.6 5.40039 -305 107.801 -504.4 307.201 c-199.6 199.6 -302 367.8 -307.2 504.6c0 18 13.2002 41.5996 39.7998 70.7998c26.4004 29 48.2002 50 64.7998 63c16.7998 12.7998 31 23.2002 42.5996 31c14.2002 10.4004 30.4004 15.4004 48.4004 15.4004c22.2002 0 38.7998 -7.7998 50.5996 -23.2002zM198.202 882.402 c-27.2002 -19.4004 -52.6035 -41.1982 -76.6035 -64.998c-23.7998 -24 -37.7998 -41.5996 -41.5996 -53.1992c5.2002 -120.2 101 -273.2 287.6 -459.2c186.6 -186 340 -282.2 460 -288.601c10.4004 3.7998 27.4004 18 51.4004 42.5996s45.5996 50.3994 64.7998 77.3994 c3.7998 5.2002 5.2002 9.60059 3.7998 13.6006c-77.4004 54.2002 -142 97.4004 -193.8 129.801c-5.2002 0 -11.6006 -2 -19.4004 -5.7998c-11.5996 -6.40039 -40.5996 -22.6006 -87.1992 -48.4004l-33 -19.4004l-33 21.4004 c-42.5996 29.5996 -94.1992 75.5996 -154.999 137.6c-60.5996 60.5996 -105.8 112.399 -135.6 154.999l-23.2002 31l19.4004 34.7998c25.7998 46.4004 42 75.6006 48.4004 87.2002c3.7998 7.7998 5.7998 14.2002 5.7998 19.4004c-46 73.4004 -88.5996 138 -127.399 193.6h-2 c-5 0 -9.59961 -1.40039 -13.3994 -3.80078z"/>
<glyph glyph-name="menu" unicode="" d="M27 766.4c-8.2002 8.2002 -12.2002 18.6006 -12.2002 31.2002s4 23 12.2002 31.2002s18.6006 12.2002 31.2002 12.2002h912.4c12.5996 0 23 -4 31.2002 -12.2002s12.2002 -18.6006 12.2002 -31.2002s-4 -23 -12.2002 -31.2002s-18.6006 -12.2002 -31.2002 -12.2002 h-912.4c-12.5996 0 -23 4 -31.2002 12.2002zM1001.8 481.2c8.2002 -8.2002 12.2002 -18.6006 12.2002 -31.2002s-4 -23 -12.2002 -31.2002s-18.6006 -12.2002 -31.2002 -12.2002h-912.4c-12.5996 0 -23 4 -31.2002 12.2002s-12.2002 18.6006 -12.2002 31.2002 s4 23 12.2002 31.2002s18.6006 12.2002 31.2002 12.2002h912.4c12.5996 0 23 -4 31.2002 -12.2002zM1001.8 133.8c8.2002 -8.2002 12.2002 -18.6006 12.2002 -31.2002s-4 -23 -12.2002 -31.2002s-18.6006 -12.2002 -31.2002 -12.2002h-912.4 c-12.5996 0 -23 4 -31.2002 12.2002c-8.2002 8.2002 -12.2002 18.6006 -12.2002 31.2002s4 23 12.2002 31.2002s18.6006 12.2002 31.2002 12.2002h912.4c12.5996 0 23 -4.2002 31.2002 -12.2002z"/>
<glyph glyph-name="options-vertical" unicode="" d="M388.8 63.5996v27.1982c0.599609 2.2002 1.59961 4.2002 2 6.40039c8.7998 57.2002 56.3994 102.4 112.199 106.2c62.4004 4.40039 115.2 -31.1992 132.4 -89.1992c2.2002 -7.59961 3.7998 -15.5996 5.7998 -23.3994v-27.2002 c-0.599609 -1.7998 -1.59961 -3.39941 -1.7998 -5.39941c-8.59961 -52.7998 -46.5996 -93 -98.5996 -104.4c-4 -0.799805 -8 -2 -12 -3h-27.2002c-1.7998 0.599609 -3.59961 1.59961 -5.39941 1.7998c-52 8.40039 -91.5996 45.4004 -103.6 96.8008 c-1.2002 5 -2.60059 9.59961 -3.80078 14.1992zM641.2 832.397l-0.000976562 -27.2021c-0.599609 -2.2002 -1.59961 -4.2002 -1.7998 -6.40039c-9 -57.5996 -56.7998 -102.6 -113.2 -106.199c-62.2002 -4 -114.8 32 -131.8 90.2002 c-2.2002 7.40039 -3.7998 15 -5.59961 22.4004v27.2002c0.599609 1.7998 1.59961 3.39941 2 5.19922c9.59961 52 39.7998 86 90.2002 102.2c6.59961 2.2002 13.5996 3.40039 20.3994 5.2002h27.2002c1.7998 -0.599609 3.59961 -1.59961 5.39941 -1.7998 c52.2002 -8.59961 91.6006 -45.3994 103.601 -96.7998c1.2002 -4.7998 2.40039 -9.39941 3.60018 -13.9991zM641.199 461.596v-27.1992c-0.599609 -2.2002 -1.59961 -4.2002 -2 -6.40039c-9 -57.4004 -58.5996 -103.601 -114.6 -106.001 c-63 -2.7998 -116.4 35.2002 -131.4 93.7998c-1.59961 6.2002 -3 12.4004 -4.40039 18.6006v27.2002c0.599609 2.2002 1.59961 4.2002 2 6.40039c8.7998 57.4004 58.5996 103.601 114.6 106.2c63 3 116.4 -35.2002 131.4 -93.7998 c1.59961 -6.40039 3 -12.6006 4.40039 -18.8006z"/>
<glyph glyph-name="options" unicode="" d="M899.4 321.8h-27.1982c-2.2002 0.599609 -4.2002 1.59961 -6.40039 2c-57.2002 8.7998 -102.4 56.3994 -106.2 112.199c-4.40039 62.4004 31.1992 115.2 89.1992 132.4c7.59961 2.2002 15.5996 3.7998 23.3994 5.7998h27.2002 c1.7998 -0.599609 3.39941 -1.59961 5.39941 -1.7998c52.7998 -8.59961 93 -46.5996 104.4 -98.5996c0.799805 -4 2 -8 3 -12v-27.2002c-0.599609 -1.7998 -1.59961 -3.59961 -1.7998 -5.39941c-8.40039 -52 -45.4004 -91.5996 -96.8008 -103.6 c-5 -1.2002 -9.59961 -2.60059 -14.1992 -3.80078zM130.603 574.2l27.2021 -0.000976562c2.2002 -0.599609 4.2002 -1.59961 6.40039 -1.7998c57.5996 -9 102.6 -56.7998 106.199 -113.2c4 -62.2002 -32 -114.8 -90.2002 -131.8 c-7.40039 -2.2002 -15 -3.7998 -22.4004 -5.59961h-27.2002c-1.7998 0.599609 -3.39941 1.59961 -5.19922 2c-52 9.59961 -86 39.7998 -102.2 90.2002c-2.2002 6.59961 -3.40039 13.5996 -5.2002 20.3994v27.2002c0.599609 1.7998 1.59961 3.59961 1.7998 5.39941 c8.59961 52.2002 45.3994 91.6006 96.7998 103.601c4.7998 1.2002 9.39941 2.40039 13.999 3.60059zM501.404 574.199h27.1992c2.2002 -0.599609 4.2002 -1.59961 6.40039 -2c57.4004 -9 103.601 -58.5996 106.001 -114.6c2.7998 -63 -35.2002 -116.4 -93.7998 -131.4 c-6.2002 -1.59961 -12.4004 -3 -18.6006 -4.40039h-27.2002c-2.2002 0.599609 -4.2002 1.59961 -6.40039 2c-57.4004 8.7998 -103.601 58.5996 -106.2 114.6c-3 63 35.2002 116.4 93.7998 131.4c6.40039 1.59961 12.6006 3 18.8006 4.40039z"/>
<glyph glyph-name="arrow-down" unicode="" d="M8.2002 684.6c0 8.59961 3.40039 17.4014 10 24.001c13.2002 13.2002 34.7998 13.2002 48 0l451.8 -451.8l445.2 445.2c13.2002 13.2002 34.7998 13.2002 48 0s13.2002 -34.7998 0 -48l-469.2 -469.4c-13.2002 -13.2002 -34.7998 -13.2002 -48 0l-475.8 475.8 c-6.7998 6.7998 -10 15.3994 -10 24.199z"/>
<glyph glyph-name="arrow-left" unicode="" d="M752.145 960c8.68457 0 17.5723 -3.43359 24.2373 -10.0986c13.3301 -13.3301 13.3301 -35.1436 0 -48.4736l-456.256 -456.458l449.591 -449.591c13.3301 -13.3301 13.3301 -35.1436 0 -48.4736c-13.3301 -13.33 -35.1426 -13.3301 -48.4727 0l-473.827 473.827 c-13.3301 13.3301 -13.3301 35.1436 0 48.4736l480.492 480.694c6.66504 6.66504 15.5518 10.0986 24.2363 10.0986z"/>
<glyph glyph-name="arrow-right" unicode="" d="M271.653 -63.1924c-8.68457 0 -17.5732 3.43262 -24.2383 10.0977c-13.3301 13.3301 -13.3301 35.1436 0 48.4736l456.256 456.458l-449.591 449.591c-13.3301 13.3301 -13.3301 35.1436 0 48.4736c13.3301 13.33 35.1436 13.3301 48.4736 0l473.827 -473.827 c13.3301 -13.3301 13.3301 -35.1426 0 -48.4727l-480.492 -480.694c-6.66504 -6.66504 -15.5518 -10.0986 -24.2363 -10.0986z"/>
<glyph glyph-name="arrow-up" unicode="" d="M8.2002 208.6c0 -8.59961 3.40039 -17.4014 10 -24.001c13.2002 -13.2002 34.7998 -13.2002 48 0l451.8 451.8l445.2 -445.2c13.2002 -13.2002 34.7998 -13.2002 48 0s13.2002 34.7998 0 48l-469.2 469.4c-13.2002 13.2002 -34.7998 13.2002 -48 0l-475.8 -475.8 c-6.7998 -6.7998 -10 -15.3994 -10 -24.1992z"/>
<glyph glyph-name="paypal" unicode="" d="M318.753 104.566h-215.652c-8.75195 0 -17.1543 3.85059 -22.7559 10.6777s-7.87695 15.5791 -6.30176 24.3311l138.284 752.159c8.22656 41.1348 42.0098 68.4414 84.3711 68.4414h331.881c133.383 0 223.179 -85.2461 223.179 -212.152 c0 -127.956 -88.2217 -366.89 -300.548 -366.89h-145.11l-58.4639 -253.637c-3.15137 -13.4775 -15.0547 -22.9307 -28.8828 -22.9307zM138.635 163.557l156.66 0.00195312l58.2891 253.637c3.15137 13.4775 15.0547 22.9307 28.8828 22.9307h168.741 c168.566 0 241.385 203.75 241.385 307.725c0 94.3477 -62.8398 152.986 -164.015 152.986h-331.881c-8.22656 0 -22.7559 -2.62598 -26.2559 -20.4805zM421.151 -64.1729l-215.655 -0.000976562c-8.75195 0 -16.9785 3.85059 -22.5801 10.5029 s-8.05176 15.5791 -6.47656 24.1562l27.6572 157.538c2.80078 16.1045 18.0283 26.7822 34.1318 23.9814c16.1045 -2.80078 26.7822 -18.2041 23.9814 -34.1328l-21.5303 -122.88h156.663l55.8389 256.088c2.97559 13.6533 15.0537 23.2812 28.8818 23.2812h168.741 c168.566 0 241.385 203.75 241.385 307.725c0 67.7422 -28.5322 114.479 -84.5459 138.81c-14.8789 6.47656 -21.8799 23.9805 -15.2285 38.8584c6.47656 15.0537 23.9805 21.8799 38.8584 15.4043c77.3691 -33.6084 120.079 -102.226 120.079 -193.072 c0 -127.956 -88.2217 -366.89 -300.548 -366.89h-144.935l-55.8389 -256.088c-2.97559 -13.6533 -15.0537 -23.2812 -28.8818 -23.2812h0.00195312zM459.833 546.9h-58.1162c-8.75195 0 -16.9785 3.85059 -22.7559 10.6777 c-5.60059 6.65234 -8.05176 15.5791 -6.47656 24.1562l38.8594 215.653c2.45117 14.0029 14.7041 24.3311 29.0566 24.3311h93.998c35.5342 0 63.8916 -11.3779 81.9209 -32.7334c19.6055 -23.2812 26.0811 -56.3643 19.0801 -98.5488 c-14.1777 -100.299 -66.6904 -143.535 -175.567 -143.535zM437.076 606.065l22.7559 0.000976562c87.8711 0 108.526 31.5078 117.279 93.4727c2.80078 17.3291 4.02539 39.5605 -5.77637 51.2881c-8.22656 9.80176 -24.6807 11.7275 -36.9336 11.7275h-69.3174 l-28.0068 -156.488z"/>
<glyph glyph-name="social-instagram" unicode="" d="M511 956c138 0 155 -1 209 -3c53 -2 90 -11 123 -24c34 -13 62 -30 90 -58s45 -56 58 -90c13 -33 22 -70 24 -123c2 -54 3 -71 3 -209s-1 -155 -3 -209c-2 -53 -11 -90 -24 -123c-13 -34 -30 -62 -58 -90s-56 -45 -90 -58c-33 -13 -70 -22 -123 -24 c-54 -2 -71 -3 -209 -3s-155 1 -209 3c-53 2 -90 11 -123 24c-34 13 -62 30 -90 58s-45 56 -58 90c-13 33 -22 70 -24 123c-2 54 -3 71 -3 209s1 155 3 209c2 53 11 90 24 123c13 34 30 62 58 90s56 45 90 58c33 13 70 22 123 24c54 2 71 3 209 3zM511 890 c-144 0 -161 -1 -217 -3c-52 -2 -81 -12 -100 -19c-49 -20 -82 -53 -102 -102c-7 -19 -17 -48 -19 -100c-2 -56 -3 -73 -3 -217s1 -161 3 -217c2 -52 12 -81 19 -100c20 -49 53 -82 102 -102c19 -7 48 -17 100 -19c56 -2 73 -3 217 -3s161 1 217 3c52 2 81 12 100 19 c49 20 82 53 102 102c7 19 17 48 19 100c2 56 3 73 3 217s-1 161 -3 217c-2 52 -12 81 -19 100c-20 49 -53 82 -102 102c-19 7 -48 17 -100 19c-56 2 -73 3 -217 3zM511 246c112 0 203 91 203 203s-91 203 -203 203s-203 -91 -203 -203s91 -203 203 -203zM511 709 c144 0 260 -116 260 -260s-116 -260 -260 -260s-260 116 -260 260s116 260 260 260zM843 719c0 -34 -28 -60 -62 -60s-60 26 -60 60s26 62 60 62s62 -28 62 -62z"/>
<glyph glyph-name="social-linkedin" unicode="" d="M997.795 -42.4307h-208.026c-14.7148 0 -26.6074 11.8926 -26.6074 26.6074v335.017c0 114.898 -59.2627 114.898 -78.8154 114.898c-52.6113 0 -74.9863 -41.5244 -82.2432 -59.4658c-3.42676 -8.06348 -5.03906 -21.7705 -5.03906 -40.9209v-349.732 c0 -14.7148 -11.8926 -26.6074 -26.6074 -26.6074h-208.227c-7.05469 0 -13.9082 2.82227 -18.9473 7.86133s-7.86133 11.8936 -7.66016 18.9482c0 5.64355 2.82227 567.433 0 624.882c-0.40332 7.25684 2.2168 14.3115 7.25684 19.5527s11.8926 8.26562 19.3506 8.26562 h208.227c14.7148 0 26.6074 -11.8926 26.6074 -26.6074v-15.7227c35.0742 31.2441 85.6689 57.0459 161.058 57.0459c166.702 0 266.28 -115.301 266.28 -308.409v-359.005c0 -14.7148 -11.8926 -26.6074 -26.6074 -26.6074h0.000976562zM816.377 10.7842 l155.012 0.00390625v332.397c0 162.268 -77.6064 255.193 -213.065 255.193c-90.5068 0 -134.45 -45.1533 -162.066 -86.4766c-3.22461 -10.8848 -13.5059 -18.9482 -25.5996 -18.9482h-1.41113c-9.67578 0 -18.5449 5.24121 -23.1807 13.707 c-3.62793 6.65234 -4.43457 14.3125 -2.01562 21.3672v55.8359h-154.608c1.41113 -111.068 0 -470.477 -0.40332 -572.877h154.809v322.923c0 26.8086 2.82227 46.1602 8.86914 60.875c23.3828 57.8516 72.5664 92.7236 131.427 92.7236 c83.8555 0 132.031 -61.2793 132.031 -168.113v-308.611h0.203125zM247.131 -42.4268h-208.227c-14.7148 0 -26.6074 11.8926 -26.6074 26.6074v626.091c0 14.7148 11.8926 26.6074 26.6074 26.6074h208.227c14.7148 0 26.6074 -11.8926 26.6074 -26.6074v-626.091 c0 -14.7148 -11.8926 -26.6074 -26.6074 -26.6074zM65.5127 10.7881h155.011v572.876h-155.011v-572.876zM143.118 669.132l-1.41211 0.000976562c-82.041 0 -141.707 56.8438 -141.707 135.055c0 78.0088 60.6738 134.854 144.529 134.854 c82.4443 0 141.305 -55.2314 142.918 -134.249c0 -78.8164 -60.6738 -135.66 -144.328 -135.66zM144.528 885.624c-54.627 0 -91.3125 -32.8574 -91.3125 -81.6387c0 -47.9746 36.2832 -81.6377 88.4912 -81.6377h1.41113c54.4248 0 91.1113 32.8574 91.1113 81.6387 c-1.00781 49.3857 -36.2832 81.6377 -89.7011 81.6377z"/>
<glyph glyph-name="social-pintarest" unicode="" d="M886.796 608.541c-3.82227 186.292 -156.11 321.28 -362.52 321.28c-22.3311 0 -45.0645 -1.60938 -67.7979 -4.82812c-165.369 -22.9336 -292.313 -142.031 -316.053 -296.134c-16.8994 -109.844 18.5078 -241.816 135.393 -271.591l16.8994 -4.22461l9.8584 14.2842 c3.41992 4.82812 33.3955 49.0879 28.5664 85.7021c-2.41406 18.3066 -13.4795 29.5723 -20.1182 36.2109l-3.21875 3.21875c-18.3066 28.7686 -25.9512 77.4531 -18.3066 118.292c18.5078 100.589 102.399 173.617 208.621 181.664 c7.44434 0.603516 14.8877 0.804688 22.1309 0.804688c110.045 0 184.48 -65.584 189.712 -166.978c4.82812 -97.9736 -24.5439 -187.297 -76.8496 -233.166l-3.41992 -3.01758c-12.2725 -10.8643 -21.9287 -19.5146 -42.0469 -22.5322 c-5.23145 -0.804688 -10.4619 -1.20703 -15.291 -1.20703c-40.2363 0 -62.1641 26.5557 -62.9688 52.709c-1.00586 29.3721 10.6621 61.5615 23.1357 95.7617c15.29 42.0459 31.1826 85.7021 25.3486 130.767c-6.2373 46.6729 -48.6855 83.0869 -96.7676 83.0869 c-12.2725 0 -24.7451 -2.41406 -36.8164 -6.83984c-87.3115 -33.1943 -100.187 -147.464 -68.1992 -239.604c-7.64453 -36.4131 -17.5029 -72.4238 -27.9639 -110.447c-31.1826 -114.471 -63.5713 -232.965 -39.0283 -371.778l5.43164 -30.7803l28.7686 11.8701 c27.9639 11.668 43.0518 37.4189 55.5244 58.7441c2.41406 4.02441 4.82812 8.04785 7.04102 11.8711c40.8389 64.1758 63.7734 140.825 81.4766 215.261c44.0576 -33.1943 89.1221 -43.8574 153.298 -36.8164c177.44 19.3135 269.58 209.428 266.16 378.418z M406.587 478.777l1.41309 7.04004l-2.61523 6.83984c-27.3604 72.2227 -21.124 160.138 36.6152 182.066c6.2373 2.41406 12.6738 3.62109 18.9111 3.62109c23.5381 0 44.2588 -17.3008 47.0762 -39.4307c4.42578 -32.9932 -8.85254 -68.8027 -22.7334 -107.026 c-13.4795 -37.0166 -27.5615 -75.2402 -26.1533 -114.471c1.60938 -49.0879 41.8457 -101.193 113.062 -101.193c7.44434 0 15.0879 0.603516 22.9336 1.81055c34.8037 5.23145 54.1162 22.3311 67.9971 34.8037l3.21875 2.81738 c63.3711 55.7266 99.3818 160.541 93.749 273.402c-6.83984 136.399 -115.678 224.918 -265.556 213.652c-129.358 -9.8584 -231.356 -99.1816 -254.09 -222.505c-9.8584 -53.1113 0.401367 -115.275 25.3486 -154.506c3.01758 -4.62695 6.4375 -8.24805 9.65625 -11.4668 c2.21289 -2.41406 5.83398 -5.83398 6.03516 -7.44434c0.804688 -6.83984 -3.41992 -20.9229 -10.6621 -34.8037c-72.8271 30.9824 -93.3467 128.956 -80.874 209.628c20.1182 131.973 129.961 234.172 273.402 254.089c20.5195 2.81738 41.0391 4.22559 60.9561 4.22559 c177.842 0 309.212 -114.471 312.229 -272.194c3.01758 -146.861 -73.6318 -311.426 -221.096 -327.721c-10.0586 -1.00586 -19.5137 -1.6084 -28.3652 -1.6084c-53.5137 0 -82.2812 18.5078 -116.884 52.9102l-32.1895 31.9873l-9.8584 -44.2588 c-18.9111 -84.0928 -40.8389 -172.008 -84.2939 -240.409c-2.81738 -4.42578 -5.63379 -9.25391 -8.45117 -14.2842c-1.00586 -1.81055 -2.01172 -3.62012 -3.21875 -5.23047c-8.04688 107.429 18.5078 204.8 44.4609 299.555 c10.6621 39.2305 21.9277 80.0693 29.9756 120.104z"/>
<glyph glyph-name="social-github" unicode="" d="M158.6 437.4c-11.5996 0 -22.4004 7.40234 -26 19.002c-29.4004 91.7998 -33.6006 254 29.3994 327.6c-14 53.2002 -6.2002 125.2 19.5996 163.8c5.40039 8 14.2002 12.5996 24 12.1992c73.4004 -3.2002 121.2 -33.7998 163.2 -61.7998 c59.7998 15.5996 118 21 187 17.2002c17 -1 33.7998 -4.7998 48.5996 -8.2002c14 -3.2002 28.4004 -6.60059 36.8008 -5.80078c7.59961 0.799805 21.1992 10 32.1992 17.5996c10.2002 7 21 14.2002 32.2002 19.2002c32 14 60.7998 20.4004 99.5996 21.8008 c15 0.400391 27.7998 -11.1992 28.3994 -26.3994s-11.2002 -27.7998 -26.4004 -28.2002c-32.2002 -1.2002 -53.7998 -5.7998 -79.5996 -17.2002c-6.59961 -3 -14.7998 -8.40039 -23.3994 -14.4004c-17 -11.5996 -36.4004 -24.7998 -58 -26.7998 c-17.4004 -1.59961 -35.4004 2.40039 -54.4004 7c-13.2002 3 -27 6.2002 -39.2002 7c-67.4004 3.7998 -123.4 -2 -181.4 -18.5996c-7.59961 -2.2002 -15.7998 -1 -22.5996 3.59961l-6.7998 4.59961c-36.5996 24.2002 -71.1992 47.4004 -121.799 53.6006 c-12.5996 -32.2002 -14.1992 -85.6006 -1.59961 -117.2c4.40039 -10.7998 1.2002 -23.3994 -7.59961 -30.7998c-49.4004 -42 -55.6006 -190.6 -26.2002 -282.8c4.59961 -14.4004 -3.40039 -29.8008 -17.8008 -34.4004c-2.7998 -1.2002 -5.59961 -1.60059 -8.19922 -1.60059z M366.599 167.402c-2 0 -4.00195 0.200195 -6.00195 0.600586c-14.7998 3.2002 -24 17.7998 -20.7998 32.5996l1.7998 7.7998c8.40039 38 16.2002 68.5996 25.4004 91.3994c-112.2 23.4004 -194 76.8008 -232.8 152.4c-6.7998 13.4004 -1.59961 30 11.8008 36.7998 s30 1.59961 36.7998 -11.8008c35 -68.2002 117.4 -114.4 232.2 -130.2c11 -1.59961 20 -9.59961 22.7998 -20.1992c2.7998 -10.7998 -1.2002 -22.2002 -10.2002 -28.7998c-5.7998 -5.2002 -16.3994 -27 -32.5996 -101.2l-1.7998 -8 c-2.7998 -12.5996 -14 -21.3994 -26.5996 -21.3994zM316.196 -32.7979c-1.7998 0 -3.40039 0.199219 -5.2002 0.599609c-14.7998 3 -24.5996 16.7998 -21.5996 31.5996c5 25.4004 22.7998 36 33.3994 42.2002c7.2002 4.2002 9.40039 5.7998 10.6006 8.59961 c6.2002 13.2002 4.60059 47.4004 3.2002 74.8008c-0.599609 11.5996 -1.19922 23.3994 -1.39941 34.7998c-63.4004 -11 -132.2 -14.4004 -168.601 45.7998c-7.2002 12 -11.7998 24.2002 -16 35.2002c-4.7998 12.4004 -8.7998 23.2002 -15.3994 31.2002 c-9.59961 11.5996 -7.7998 28.7998 3.7998 38.3994s28.7998 8 38.3994 -3.7998c12.2002 -15 18.6006 -31.7998 24.2002 -46.5996c3.59961 -9.59961 7 -18.5996 11.5996 -26.1992c19.5996 -32.4004 62.3994 -30.4004 144.8 -13.8008 c8.59961 1.7998 17.3994 -0.799805 23.7998 -6.59961c6.40039 -6 9.60059 -14.5996 8.60059 -23.1992c-2 -17.4004 -0.799805 -40.2002 0.200195 -62.2002c2 -38.5996 3.7998 -75 -8.40039 -100.8c-8.7998 -18.5996 -23 -27 -32.4004 -32.4004 c-2.59961 -1.59961 -6.59961 -3.7998 -7.39941 -4.7998c-1.7998 -13.4004 -13.2002 -22.8008 -26.2002 -22.8008zM713.795 -27.5986c-9 0 -17.5996 4.39746 -23 12.3975c-2.2002 3.59961 -5.40039 5.7998 -11 9.59961c-8.7998 6.2002 -20.7998 14.6006 -29.7998 32.001 c-16.2002 31.7998 -13.6006 78 -11.001 126.8c1.59961 30 3.19922 61 -0.000976562 85.4004c-2.7998 20.5996 -10 29.7998 -20 42.5996c-6.40039 8.40039 -13.8008 17.8008 -19.6006 30.2012c-3.7998 8.2002 -3.2002 17.6006 1.2002 25.4004 c4.59961 7.7998 12.5996 12.7998 21.5996 13.3994c102.6 7.59961 183.6 56 222.6 132.6c6.7998 13.4004 23.2002 18.8008 36.7998 12.001c13.4004 -6.7998 18.8008 -23.2002 12.001 -36.7998c-41.5996 -82.2002 -121 -137.601 -221.4 -156.601 c9 -13.2002 17.7998 -30 21.2002 -55.7998c4 -29.4004 2.2002 -63 0.400391 -95.4004c-2 -37.5996 -4.2002 -80.1992 5.2002 -98.999c2.40039 -4.7998 5.40039 -7 12.2002 -11.7998c7.40039 -5 17.4004 -12 25.6006 -24.5996s4.60059 -29.5996 -7.99902 -37.7998 c-4.59961 -3.2002 -9.7998 -4.60059 -15 -4.60059zM869.195 442.998c-2.40039 0 -5.00195 0.399414 -7.40234 0.999023c-14.5996 4.2002 -23 19.2002 -18.7998 33.7998c30.2002 106.2 9.60059 244.2 -43.1992 289.2c-8.59961 7.40039 -11.7998 19.2002 -8 29.7998 c12.7998 36.5996 4.2002 91.5996 -10.3994 124.8c-6 13.7998 0.200195 30 14 36s30 -0.200195 36 -14c16.7998 -38 27.7998 -97.7998 16.7998 -147.6c65.2002 -72 78 -225.6 47.4004 -333.199c-3.59961 -12 -14.3994 -19.7998 -26.3995 -19.7996zM623.594 -64.4033 c-5 0 -10.2002 1.40039 -14.7998 4.40039c-5 3.2002 -20 12.7998 -47.7998 56c-12.5996 19.5996 -21.7998 117.199 -27.3994 290.399c-0.400391 15 11.3994 27.7998 26.3994 28.2002s27.7998 -11.3994 28.2002 -26.3994c3.59961 -113.4 12 -242 19.5996 -264 c20.4004 -31.5996 30 -38 30.4004 -38.2002c12.5996 -8.2002 16.3994 -25 8.19922 -37.7998c-5 -8.2002 -13.7998 -12.6006 -22.7998 -12.6006zM416.193 -64.4033c-9 0 -17.7998 4.40039 -23 12.6006c-8.2002 12.5996 -4.40039 29.5996 8.19922 37.7998 c0.400391 0.200195 10 6.60059 30.4004 38.2002c7.59961 21.7998 15.7998 150.6 19.5996 264c0.400391 15 13.2002 27 28.2002 26.4004c15 -0.400391 27 -13.2002 26.4004 -28.2002c-5.59961 -173.2 -14.7998 -271 -27.3994 -290.4 c-27.7998 -43 -42.7998 -52.7998 -47.7998 -56c-4.40039 -3 -9.60059 -4.40039 -14.6006 -4.40039z"/>
<glyph glyph-name="social-google" unicode="" d="M707 600c-70 75 -128 87 -184 88h-2c-126 0 -245 -104 -245 -248c0 -151 136 -239 244 -239h1c60 0 133 11 197 103h-246v255l523 -2c5 -26 14 -91 14 -125c0 -289 -194 -495 -493 -495c-284 0 -515 226 -515 508s231 507 515 507c139 0 288 -55 382 -180zM520 507v-154 h263c-12 -65 -81 -195 -263 -195c-159 0 -287 130 -287 285c0 156 131 287 287 287c91 0 152 -40 185 -72l126 119c-80 75 -185 120 -311 120c-256 0 -464 -201 -464 -454c0 -251 208 -453 464 -453c270 0 445 185 445 442c0 29 -2 52 -6 75h-439z"/>
<glyph glyph-name="social-reddit" unicode="" d="M664.6 230.2c-9.59961 2.59961 -21.1982 -0.800781 -35.3984 -10.2012l-1.40039 -1.2002c-23 -23 -64.7998 -34.5996 -124.2 -34.5996s-101.2 11.5996 -124.2 34.5996c-9.59961 9.59961 -29 9.59961 -38.5996 0c-10 -10 -10 -28.5996 0.599609 -39.1992 c42.5996 -35.5996 96.1992 -52.1992 168.399 -52.1992c75 0 135 18.7998 169 52.7998c4.7998 4.7998 7.59961 11.7998 7.59961 19.2002c0 6.7998 -2.40039 13.3994 -6.40039 17.999c-4.59961 8.40039 -10.7998 11.6006 -15.3994 12.8008zM438.2 380.601 c0 44.2002 -37.2002 84.4004 -78.2002 84.4004s-78.2002 -40.2002 -78.2002 -84.4004c0 -42.4004 35.7998 -78.2002 78.2002 -78.2002s78.2002 35.7998 78.2002 78.2002zM659.601 458.801c-42.4004 0 -78.2002 -35.7998 -78.2002 -78.2002 s35.7998 -78.2002 78.2002 -78.2002s78.2002 35.7998 78.2002 78.2002s-35.7998 78.2002 -78.2002 78.2002zM896.601 583.601c-25.5996 0 -55.5996 -11.5996 -75.7998 -28.5996c-68 43.2002 -159.8 70 -267.2 77.7998l50 167l140.2 -33.5996 c4.2002 -51.7998 50.4004 -95.5996 102.801 -95.5996c55 0 103.2 48.2002 103.2 103.2s-48.2002 103.2 -103.2 103.2c-37.7998 0 -76 -23 -92.7998 -54.5996l-166.8 41.7998l-2.40039 0.200195c-11.4004 0 -27.2002 -10 -28.2002 -26.5996l-66 -204.2 c-105.2 -1.2002 -208.601 -29.2002 -292.4 -79.4004c-25 15.5996 -49.5996 23.1992 -75 23.1992c-67.2002 0 -122 -54.5996 -122 -122c0 -42 20.2002 -79.4004 56.2002 -99.4004v-25.4004c0 -87.2002 47 -163.2 135.2 -220c83 -57.4004 195.8 -89 317.6 -89 s237.8 31.5996 320.8 89c87.2002 60.4004 138.4 138.601 138.4 220.001v26c26 22.7998 52.7998 63.5996 52.7998 105.199c-0.200195 67.2002 -58 121.8 -125.401 121.8zM962.001 455.4c0 -11.4004 -6.40137 -27.6006 -17.001 -39.6006 c-12.5996 33.4004 -36.3994 65 -74.5996 99.4004c7.59961 3.2002 16 5.40039 26.4004 5.40039c38.4004 0.200195 65.2002 -26.7998 65.2002 -65.2002zM905.8 330.601c0 -78 -59 -137.201 -107.8 -172.801c-84.7998 -52.2002 -184.399 -79.7998 -288.199 -79.7998 c-107.2 0 -212.2 29 -288 79.5996c-74.7998 49.7998 -114.2 109.6 -114.2 173s39.4004 123.2 114.2 173c77 51.2002 177 79.6006 281.8 79.6006c107.2 0 212.2 -29 288 -79.5996c74.5996 -49.7998 114.199 -109.6 114.199 -173zM150.399 517.6 c-32.2002 -25.5996 -59.5996 -59.8008 -78.7998 -98.6006c-7.7998 12.5996 -14 25 -14 36.4004c0 38.4004 26.7998 65.2002 65.2002 65.2002c13 0.200195 21 0 27.5996 -3zM800.2 773.599c0 26.2002 20.4004 46.6006 46.6006 46.6006s46.6006 -20.4004 46.6006 -46.6006 s-20.4004 -46.6006 -46.6006 -46.6006c-26.2002 0.200195 -46.6006 20.6006 -46.6006 46.6006z"/>
<glyph glyph-name="social-skype" unicode="" d="M977.768 385.546c3.24414 22.71 4.86816 45.8271 4.86816 68.7402c0 261.779 -212.911 474.894 -474.894 474.894c-21.8994 0 -44.2041 -1.62207 -65.9014 -4.46094c-42.9883 23.1162 -91.6533 35.2822 -140.725 35.2822c-163.84 0 -297.061 -133.221 -297.061 -296.858 c0 -48.2598 11.7607 -95.9111 34.2686 -138.291c-3.44727 -23.3193 -5.27246 -47.043 -5.27246 -70.5654c0 -261.779 212.911 -474.894 474.894 -474.894c18.4521 0 37.1074 1.01367 55.3574 3.24414c47.6514 -30.416 102.807 -46.6377 159.785 -46.6377 c163.84 0 296.858 133.221 296.858 296.858c0 53.9365 -14.5996 106.657 -42.1768 152.688zM884.898 71.0459c-43.1904 -43.1904 -100.777 -67.1182 -162.015 -67.1182c-45.2178 0 -88.8135 13.1797 -126.326 38.1211l-16.8301 11.1523l-20.0742 -2.63574 c-17.0332 -2.23047 -34.4717 -3.24414 -51.708 -3.24414c-54.9512 0 -108.28 10.7471 -158.365 32.0381c-48.4629 20.4805 -92.0586 49.8828 -129.368 87.1924s-66.7119 80.9053 -87.1924 129.368c-21.291 50.085 -32.0381 103.414 -32.0381 158.365 c0 21.4941 1.62207 43.1904 5.06934 64.4824l2.83887 18.25l-8.92188 16.2217c-18.25 33.457 -27.9834 71.376 -27.9834 109.903c0 61.2373 23.7236 118.622 67.1172 162.015c43.1904 43.1904 100.778 67.1182 162.016 67.1182c39.1348 0 77.8652 -10.1387 111.729 -29.1982 l16.2217 -9.125l18.4521 2.63574c19.8721 3.04199 40.3525 4.46094 60.4268 4.46094c54.9512 0 108.28 -10.7471 158.365 -32.0381c48.4629 -20.4805 92.0586 -49.8828 129.368 -87.1924s66.7119 -80.9053 87.1924 -129.368 c21.291 -50.085 32.0381 -103.414 32.0381 -158.365c0 -21.0879 -1.62207 -42.3789 -4.86719 -63.2646l-3.04199 -19.8721l10.7471 -17.2363c22.5078 -36.2959 34.4707 -78.0674 34.4707 -120.853c-0.203125 -61.0342 -24.1299 -118.622 -67.3203 -161.812v-0.000976562z M578.714 498.49l-96.1143 21.6943c-52.3154 11.7607 -78.6768 29.8076 -78.6768 54.5459c0 17.6406 7.2998 32.0381 21.6973 42.9883s34.8779 16.4248 61.0352 16.4248c30.8213 0 55.9648 -6.48926 75.0254 -19.6689c5.67773 -3.65039 17.8438 -15.6133 36.499 -35.6885 c12.166 -12.9766 25.3467 -19.6689 39.3379 -19.6689c14.3975 0 26.9697 4.05469 37.1074 12.166c10.3408 8.11133 15.4111 19.2637 15.4111 33.2559c0 32.2412 -21.291 60.2236 -63.873 83.9482c-40.1494 22.5078 -84.1504 33.6602 -132.006 33.6602 c-55.1543 0 -100.981 -11.7607 -137.48 -35.0801c-42.582 -27.5771 -63.873 -67.3203 -63.873 -119.027c0 -70.9697 41.1631 -117 123.488 -137.885l129.774 -32.8486c32.6455 -8.31445 49.0703 -25.9551 49.0703 -52.5186c0 -17.8438 -7.9082 -32.8486 -23.7246 -45.4209 c-17.2363 -13.9912 -40.1494 -21.0879 -68.5371 -21.0879c-33.0518 0 -59.6152 7.9082 -79.6904 23.7246c-4.66406 3.24414 -17.4385 17.6416 -38.3242 43.3936c-12.9766 15.8164 -27.7793 23.7246 -44.001 23.7246c-13.9912 0 -25.5488 -4.46094 -34.6738 -13.3828 s-13.5859 -20.2773 -13.5859 -34.2695c0 -31.835 17.0332 -59.8184 51.0996 -83.9482c39.541 -28.9961 92.8701 -43.3936 159.379 -43.3936c67.1182 0 118.825 15.208 155.324 45.624c34.4707 27.9834 51.707 65.9014 51.707 113.553 c0.608398 76.6484 -43.3926 125.11 -131.396 145.186z"/>
<glyph glyph-name="social-behance" unicode="" d="M376.743 545.159c15.9238 9.67578 23.9873 27.2139 23.9873 51.8057c0 27.2129 -10.6826 45.5557 -31.8486 54.4248c-17.7393 6.04688 -40.7188 9.07129 -68.1328 9.07129h-152.592v-129.613h167.106c24.9951 0 45.7568 4.83789 61.4795 14.3115zM360.215 596.965 c0 -9.27246 -1.61133 -15.3193 -4.63477 -17.1338c-9.27246 -5.64355 -22.7783 -8.46582 -40.5176 -8.46582h-126.387v48.5801h112.076c22.375 0 40.5166 -2.2168 53.8193 -6.4502c2.01562 -1.00781 5.64355 -2.62012 5.64355 -16.5293v-0.000976562zM374.932 429.256 c-13.707 6.24902 -33.2607 9.67578 -57.8525 9.87695h-168.92v-156.019h166.904c24.9951 0 44.75 3.42676 58.6582 10.2793c25.5996 12.6992 38.501 37.291 38.501 72.9697c0.202148 30.2363 -12.2959 51.4023 -37.291 62.8916v0.000976562zM188.676 398.616h128.402 c24.5918 -0.202148 36.2832 -4.03125 41.1211 -6.24902c7.25684 -3.42676 13.707 -7.86035 13.707 -26.002c0 -28.8252 -10.8848 -34.0664 -16.126 -36.6875c-3.83008 -1.81445 -15.1182 -6.04785 -40.7178 -6.04785h-126.387v74.9863zM848.229 507.266 c-17.9404 15.3203 -40.3135 23.1816 -66.7197 23.1816c-28.624 0 -51.4023 -8.26465 -67.3262 -24.7939c-15.9238 -16.3281 -26.0029 -38.7021 -29.833 -66.5205l-0.202148 -1.81445h194.52l-0.202148 1.61328c-2.2168 30.0352 -12.2959 53.0137 -30.2368 68.334z M743.612 478.038c3.42676 3.42676 12.6982 12.0947 37.8955 12.0947c15.7227 0 28.4219 -4.03125 38.7021 -12.0947h-76.5976zM1026.62 455.865c-6.04688 38.9043 -19.5518 73.7773 -40.1113 103.812c-18.9482 28.2197 -42.5322 50.3936 -70.5508 66.5195v160.857h-268.498 v-162.469c-16.3281 -9.87695 -31.2441 -21.5693 -45.1533 -35.4775c-31.6475 -31.8486 -52.4092 -72.7686 -62.6904 -121.952c-7.45801 10.8848 -16.3281 20.7617 -26.2051 29.4297c1.41113 1.61328 2.41895 2.82227 3.42676 4.03125 c23.584 28.4219 35.4766 65.1084 35.4766 109.253c0 42.1289 -11.2881 79.2188 -33.6631 110.261c-36.4854 49.7891 -96.5547 75.792 -178.395 77.2031h-343.887v-651.087h323.326c31.4463 0 61.4805 2.82227 88.8945 8.66797 c30.6387 6.4502 57.6494 18.5449 80.4277 36.082c20.1572 15.1182 36.8887 33.8652 50.1924 55.8359c5.24121 8.26465 9.87695 16.9316 13.707 26.0029c13.3037 -32.4541 32.6543 -59.2627 58.4561 -80.0244c49.9912 -40.3154 108.447 -60.6748 173.757 -60.6748 c79.4199 0 142.715 24.9951 188.068 74.3809c30.0352 31.8486 47.1689 64.9062 51.2002 98.3682l2.62012 22.5762h2.82227l0.605469 38.2988c1.00781 37.4932 -0.40332 67.9316 -3.83008 90.1045h0.00292969zM442.46 494.166l-3.22559 -1.61133l3.42676 -1.20898 c28.8252 -10.4824 50.7969 -27.2139 65.5117 -49.9922c14.7148 -22.7783 22.1729 -50.7969 22.1729 -83.0488c0 -33.4609 -8.46582 -63.8994 -25.3975 -90.709c-10.6826 -17.7393 -24.1885 -32.6553 -40.1123 -44.75c-17.9404 -13.707 -39.71 -23.3828 -64.1006 -28.4219 c-24.7939 -5.24121 -51.8047 -7.86133 -80.6299 -7.86133h-283.213v570.255h301.757c69.1396 -1.00781 118.728 -21.3672 147.351 -60.4727c17.335 -23.9873 26.0029 -53.0146 26.0029 -86.6777c0 -34.4688 -8.86914 -62.4873 -26.2051 -83.4512 c-9.87695 -11.6914 -24.3906 -22.375 -43.3389 -32.0498zM781.509 659.257c-10.0791 0 -19.957 -0.40332 -29.4307 -1.41113h-64.1006v88.6934h187.666v-88.6934h-64.1006c-9.87695 0.805664 -19.9561 1.41113 -30.0352 1.41113h0.0011zM681.525 365.764 c1.81445 -42.9346 16.9346 -73.374 45.1553 -90.71c17.1338 -10.6826 37.8955 -16.126 61.8828 -16.126c25.5996 0 46.5635 6.65234 62.4873 19.7539c8.66797 7.05469 16.3281 16.7305 22.7783 28.8242h110.463c-3.42676 -24.1895 -16.9316 -48.9834 -40.5166 -73.9785 c-37.4932 -40.7178 -90.709 -61.2783 -158.438 -61.2783c-55.8359 0 -105.827 17.335 -148.359 51.8047c-42.5322 34.2676 -64.1016 91.1113 -64.1016 168.517c0 72.5674 19.5527 129.209 57.8516 167.912c32.6553 32.8574 74.1807 52.0068 123.565 57.0469h55.0303 c25.5996 -2.62012 49.3857 -8.66797 70.9541 -18.3428c29.2275 -13.1016 53.6182 -34.0654 72.5664 -62.2861c17.1338 -24.7939 28.4219 -54.2236 33.4609 -87.0801c3.02441 -19.3506 4.2334 -46.9668 3.62793 -82.4434h-308.409v-1.61328h0.00195312zM825.653 310.129 c-8.86914 -7.25684 -20.9639 -10.6826 -37.0898 -10.6826c-16.5293 0 -29.6309 3.22461 -40.3145 9.87695c-5.24121 3.22461 -11.6914 8.0625 -16.9326 17.7383h107.036c-4.03125 -7.66016 -8.26562 -13.3037 -12.6992 -16.9316z"/>
<glyph glyph-name="social-foursqare" unicode="" d="M145 884.2c0.799805 1.7998 1.59766 3.79883 2.19727 5.59863c14.4004 46.2002 45.8008 69.7998 94.4004 69.7998c115.2 0.200195 230.4 0 345.601 0h197.8c14.4004 0 28.6006 -1.2002 42.4004 -5.2002c29.2002 -8.40039 46.4004 -30.2002 50 -60.2002 c4.2002 -34.2002 -4.2002 -66.7998 -11 -99.5996c-30.2002 -146.6 -60.7998 -293.199 -91.2002 -439.999c-3.40039 -16 -7.40039 -31.7998 -15 -46.3994c-17.4004 -33.4004 -47.4004 -43.8008 -82.6006 -44.001c-50.5996 -0.200195 -101.199 -0.200195 -151.799 0 c-9.2002 0 -16.2002 -2.59961 -22.2002 -9.59961c-35.7998 -41.7998 -71.5996 -83.3994 -107.6 -125.199c-50.2002 -58.4004 -100 -117.2 -150.8 -175.2c-15.5996 -17.7998 -37 -22 -59.7998 -16.7998c-21 4.7998 -33 19.2002 -38.4004 39.4004 c-0.599609 2 -1.39941 3.7998 -1.99902 5.7998v901.6zM231.198 35.7988c1.40039 2.59961 2.00391 4.20215 3.00391 5.40234c32.2002 40.4004 64.4004 80.6006 96.8008 121.001c36.5996 45.5996 73.1992 91.1992 109.399 136.999 c15.5996 19.5996 34.1992 29.7998 60.1992 29.2002c57.5996 -1.2002 115.399 -0.400391 172.999 -0.200195c27.7998 0 39.3994 10 44.999 37.2002c8.59961 42.5996 17.5996 85.3994 26 127.999c5.59961 28.4004 -8 44.6006 -36.5996 44.6006 c-62.2002 0 -124.4 1.7998 -186.4 -0.600586c-51.7998 -1.7998 -77 21 -74 74.5996c2.2002 40.7998 21.4004 61.5996 62.4004 61.7998h237.2c24.5996 0 36.3994 9.40039 41.3994 33.4004c9 42.5996 17.7998 85.1992 26.5996 127.999 c6.2002 30.5996 -6.7998 46.5996 -37.7998 46.5996h-508.4c-30.4004 0 -41.4004 -11 -41.4004 -41.7998v-789.2c0 -4 -1.2002 -8.59961 3.59961 -15z"/>
<glyph glyph-name="social-soundcloud" unicode="" d="M1021.8 382.2c0 -88 -71.3994 -159.399 -159.399 -159.399h-63.7998c-17.5996 0 -31.7998 14.2002 -31.7998 31.7998s14.2002 31.7998 31.7998 31.7998h63.7998c52.7998 0 95.5996 42.7998 95.5996 95.5996s-42.7998 95.5996 -95.5996 95.5996h-0.400391 c-41.4004 0 -76.8008 26.4004 -90.001 63.2002c0 0.200195 -0.400391 0.400391 -0.400391 0.800781c-24.7998 69.7998 -89 121 -166 126.6c-16.5996 -1 -29.7998 -14.7998 -29.7998 -31.5996v-381.8c0 -17.5996 -14.2002 -31.7998 -31.7998 -31.7998 s-31.7998 14.2002 -31.7998 31.7998v381.8c0 52.4004 42.2002 94.8008 94.4004 95.4004c104 -6 191.2 -74.2002 224.8 -168.2c0.200195 -0.200195 0.400391 -0.400391 0.600586 -0.400391c4.2002 -12.7998 16.2002 -22 30.2002 -22h0.400391 c1.7998 0 3.59961 -0.200195 5.19922 -0.200195h1c85 -3.40039 153 -73.2002 153 -159v0zM416.4 222.801c-17.5996 0 -31.7998 14.2012 -31.7998 31.8008v350.6c0 17.5996 14.2002 31.7998 31.7998 31.7998s31.7998 -14.2002 31.7998 -31.7998v-350.6 c0 -17.4004 -14.2002 -31.8008 -31.7998 -31.8008v-2.84217e-14zM288.801 222.802c-17.5996 0 -31.7998 14.2012 -31.7998 31.8008v366.6c0 17.5996 14.2002 31.7998 31.7998 31.7998s31.7998 -14.2002 31.7998 -31.7998v-366.4 c0.200195 -17.5996 -14.2002 -32 -31.7998 -32v0v-0.0008zM161.4 222.803c-17.5996 0 -31.7998 14.2012 -31.7998 31.8008v255c0 17.5996 14.2002 31.7998 31.7998 31.7998s31.7998 -14.2002 31.7998 -31.7998v-255c0 -17.4004 -14.2002 -31.8008 -31.7998 -31.8008 v2.84217e-14zM34 286.604c-17.5996 0 -31.7998 14.2002 -31.7998 31.7998v127.4c0 17.5996 14.2002 31.7998 31.7998 31.7998s31.7998 -14.2002 31.7998 -31.7998v-127.4c0 -17.5996 -14.2002 -31.7998 -31.7998 -31.7998v-5.68434e-14zM671.2 286.604 c17.5996 0 31.7998 -14.2002 31.7998 -31.7998s-14.2002 -31.7998 -31.7998 -31.7998s-31.7998 14.2002 -31.7998 31.7998s14.2002 31.7998 31.7998 31.7998v0z"/>
<glyph glyph-name="social-spotify" unicode="" d="M417.534 649.254c154.872 -4.20703 274.084 -22.042 384.678 -78.1396c15.627 -8.01367 34.4609 -19.4336 40.6709 -33.8594c5.80957 -13.4238 2.40332 -41.4727 -7.41406 -48.4844c-13.8242 -10.0176 -41.6729 -14.8252 -56.0986 -7.41211 c-113.8 58.9043 -235.013 77.7373 -360.634 72.7285c-50.2881 -2.00391 -100.777 -11.4199 -150.265 -21.0371c-32.2568 -6.41113 -58.9043 -2.80469 -68.3203 30.4541c-10.2178 35.2617 14.8262 53.2939 44.8789 58.9043c67.5186 12.0205 135.839 21.2363 172.503 26.8467z M440.576 496.582c110.194 -6.6123 214.176 -29.251 309.143 -83.3467c15.627 -8.81543 32.0557 -30.2539 33.6582 -47.084c2.60547 -30.0527 -31.8555 -40.2705 -67.5186 -21.2363c-123.217 65.5146 -253.646 80.1406 -389.685 57.0996 c-15.2266 -2.60547 -31.2549 -11.8213 -45.0791 -9.0166c-17.6309 3.80664 -33.459 16.6289 -50.0879 25.4453c10.418 15.8281 18.2324 42.4756 31.8564 45.8818c58.1016 14.4248 118.208 22.0391 177.712 32.2568zM420.141 343.513 c115.002 -1.80273 199.954 -19.4336 277.891 -63.5117c20.2363 -11.4199 44.0771 -26.6465 24.4434 -51.2891c-7.81445 -9.81738 -39.6709 -11.0195 -53.6953 -3.40625c-100.577 53.6943 -207.164 60.3066 -316.957 46.4824 c-18.2324 -2.2041 -36.4648 -10.418 -53.8955 -8.61523c-16.6289 1.80273 -32.2568 13.0225 -48.2852 20.0342c11.0186 13.4238 20.2354 36.0625 33.6582 38.8672c53.2939 11.8213 107.99 17.2305 136.841 21.4385zM1024 447.896 c0 -141.248 -50.0889 -262.062 -150.064 -362.036s-220.588 -150.063 -362.036 -150.063c-141.248 0 -262.061 50.0879 -362.035 150.063s-150.063 220.588 -150.063 362.036c0 141.248 50.0879 262.062 150.063 362.036c100.176 99.9756 220.788 150.063 362.036 150.063 s262.062 -50.0879 362.036 -150.063c99.9756 -99.9756 150.063 -220.788 150.063 -362.036zM959.891 447.896c0 124.018 -43.6748 229.603 -131.027 316.955c-87.1533 87.3545 -192.939 131.03 -316.957 131.03c-123.818 0 -229.604 -43.6768 -316.957 -131.029 s-131.029 -192.938 -131.029 -316.956s43.6768 -230.004 131.029 -317.959c87.3535 -87.9551 192.938 -132.032 316.956 -132.032s229.604 44.0771 316.956 132.032c87.3535 87.9551 131.029 193.941 131.029 317.959z"/>
<glyph glyph-name="social-stumbleupon" unicode="" d="M777.2 59.4004c-129.8 0 -236.401 105.601 -237.401 235.4v134c0 7.7998 4 15 10.5996 19.2002s14.7998 4.7998 22 1.39941l57.7998 -27l89.4004 26.7998c7 2 14.4004 0.799805 20.2002 -3.60059s9.2002 -11.2002 9.2002 -18.4004v-134.8c0 -15.4004 12.5996 -28 28 -28 s28 12.5996 28 28v137.4c0 6 2.40039 11.7998 6.60059 16.2002c4.2002 4.2002 10 6.60059 16.2002 6.60059v0h164.2c12.5996 0 22.7998 -10.2002 22.7998 -22.7998v-133.2c-0.200195 -130.8 -106.8 -237.2 -237.6 -237.2zM585.398 392.802v-98.002 c1 -104.6 87 -189.8 191.8 -189.8c105.8 0 191.8 86 191.8 191.8v110.2h-118.6v-114.6c0 -40.5996 -33 -73.5996 -73.5996 -73.5996s-73.7998 33 -73.7998 73.5996v104.2l-68.4004 -20.4004c-5.40039 -1.59961 -11.2002 -1.19922 -16.2002 1.20117zM246.398 59.3994 c-131 0 -237.6 106.4 -237.6 237.4v133c0 12.5996 10.2002 22.7998 22.7998 22.7998h164.2c12.5996 0 22.7998 -10.2002 22.7998 -22.7998v-131.4c0 -15.4004 12.5996 -28 28 -28s28 12.5996 28 28v310c4.59961 129.2 108.6 229.8 237 229.8c129 0 233 -101.2 237 -230.2 v-68.5996c0 -10.2002 -6.59961 -19 -16.3994 -22l-97.7998 -29.2002c-5.40039 -1.59961 -11.2002 -1.19922 -16.2002 1.20117l-65.5996 30.5996c-8 3.7998 -13.2002 11.7998 -13.2002 20.7998v59c0 15.4004 -12.5996 28 -28 28s-28 -12.5996 -28 -28l-0.200195 -306.2 c-1.40039 -129.2 -107.801 -234.2 -236.801 -234.2zM54.5986 406.999l-0.000976562 -110.198c0 -105.8 86 -191.8 191.8 -191.8c104.2 0 190 84.7998 191.4 189l0.200195 305.8c0 40.5996 33 73.5996 73.5996 73.5996c40.5996 0 73.5996 -33 73.5996 -73.5996v-44.4004 l44.5996 -20.7998l73.2002 21.7998v50.7998c-3.2002 103.6 -87.2002 185.199 -191.2 185.199c-103.6 0 -187.6 -81.2002 -191.199 -184.8v-309.2c0 -40.5996 -33 -73.5996 -73.5996 -73.5996s-73.5996 33 -73.5996 73.5996v108.6h-118.8z"/>
<glyph glyph-name="minus" unicode="" d="M512 960c283 0 512 -229 512 -512s-229 -512 -512 -512s-512 229 -512 512s229 512 512 512zM512 -1c247 0 448 202 448 449s-201 448 -448 448s-448 -201 -448 -448s201 -449 448 -449zM477 416h-189c-18 0 -32 14 -32 32s14 32 32 32h190h258c18 0 32 -14 32 -32 s-14 -32 -32 -32h-259z"/>
<glyph glyph-name="organization" unicode="" d="M815 384h145c35 0 64 -29 64 -64v-320c0 -35 -29 -64 -64 -64h-320c-35 0 -64 29 -64 64v320c0 35 29 64 64 64h113v38h-483v-38h114c35 0 64 -29 64 -64v-320c0 -35 -29 -64 -64 -64h-320c-35 0 -64 29 -64 64v320c0 35 29 64 64 64h144v60c0 22 28 33 53 33h220v36 h-138c-35 0 -64 29 -64 64v320c0 35 29 64 64 64h320c35 0 64 -29 64 -64v-320c0 -35 -29 -64 -64 -64h-118v-37c83 0 134 1 217 1c25 0 53 -10 53 -33v-60zM960 320h-320v-320h320v320zM663 897h-320v-320h320v320zM384 320h-320v-320h320v320z"/>
<glyph glyph-name="exclamation" unicode="" d="M480 286v482c0 18 14 32 32 32s32 -14 32 -32v-482h-64zM480 223h64v-60h-64v60zM0 448c0 283 229 512 512 512s512 -229 512 -512s-229 -512 -512 -512s-512 229 -512 512zM961 448c0 247 -202 448 -449 448s-448 -201 -448 -448s201 -448 448 -448s449 201 449 448z "/>
<glyph glyph-name="social-vkontakte" unicode="" d="M3 712c0 38 26 53 58 55l149 -1c9 0 17 -6 20 -15c34 -110 76 -178 126 -255c3 -6 8 -9 13 -9c4 0 8 2 11 7l3 11l1 173c0 25 -12 29 -40 33c-11 2 -18 12 -18 22c0 2 0 4 1 6c14 43 58 65 120 65l56 1c46 0 88 -20 88 -79v-227c4 -3 8 -5 13 -5c8 0 18 5 26 18 c52 73 111 160 119 206c0 2 1 3 2 5c11 22 39 37 51 41c2 1 5 2 9 2h155l10 -1c15 0 26 -10 31 -19c9 -14 7 -29 8 -35v-7c-15 -91 -119 -193 -163 -259c-6 -8 -9 -15 -9 -22c0 -6 3 -12 8 -18l146 -184c8 -11 12 -24 12 -35c0 -33 -31 -52 -61 -55l-17 -1h-152 c-3 0 -5 -1 -8 -1c-17 0 -31 9 -41 19c-32 39 -63 79 -94 118c-6 8 -8 9 -14 13c-7 -29 -13 -59 -20 -89l-3 -17c-5 -18 -18 -37 -42 -42l-14 -1h-98c-173 0 -328 246 -437 553c-3 8 -5 19 -5 29zM604 453c-26 0 -55 15 -55 43v230c0 27 -12 37 -45 37l-57 -2 c-32 0 -50 -5 -65 -15c23 -11 44 -26 44 -68v-176c-3 -35 -32 -58 -60 -58c-19 0 -36 11 -46 29c-45 68 -83 132 -116 224l-9 26l-133 1c-18 0 -16 -1 -16 -10c0 -6 1 -14 2 -19l21 -56c109 -282 246 -467 376 -467h99h1c14 0 13 17 16 27l19 88c4 9 7 17 14 24 c8 8 17 11 26 11c19 0 37 -15 49 -29l85 -108c7 -11 13 -13 17 -13h2h159h4c16 0 30 5 30 15c0 3 -1 7 -3 10l-145 181c-12 15 -17 30 -17 45c0 16 6 32 16 46c42 63 132 153 153 227l3 13c-1 5 -1 9 -2 14h-157c-10 -4 -18 -10 -24 -18l-6 -19c-23 -64 -86 -152 -131 -213 c-15 -14 -32 -20 -49 -20z"/>
<glyph glyph-name="event" unicode="" d="M676 98c-16 0 -28 13 -28 29v142c0 16 12 28 28 28h142c16 0 29 -12 29 -28v-142c0 -16 -13 -29 -29 -29h-142zM818 269h-142v-142h142v142zM960 864c35 0 64 -29 64 -64v-800c0 -35 -29 -64 -64 -64h-896c-35 0 -64 29 -64 64v800c0 35 29 64 64 64h256v64 c0 18 14 32 32 32s32 -14 32 -32v-64h256v64c0 18 14 32 32 32s32 -14 32 -32v-64h256zM64 0h896v800h-256v-32c0 -18 -14 -32 -32 -32s-32 14 -32 32v32h-256v-32c0 -18 -14 -32 -32 -32s-32 14 -32 32v32h-256v-800z"/>
<glyph glyph-name="social-steam" unicode="" d="M760 920c54 0 128 -30 163 -65l30 -30c37 -39 60 -104 64 -160v-37c-8 -116 -89 -204 -183 -236c-54 -19 -71 -8 -87 -20l-200 -147c-9 -7 -12 -8 -17 -12c-14 -113 -113 -176 -211 -176c-71 0 -140 33 -177 104c-13 25 -14 34 -19 46l-99 40c-8 3 -18 9 -20 21l-2 12 v213c1 21 13 32 29 32c4 0 8 -1 13 -2c61 -25 123 -48 183 -74l16 7c33 14 52 16 88 16c5 7 12 17 16 23l89 127c7 9 31 43 39 57c6 89 34 135 89 191c43 41 119 70 196 70zM326 408c-34 0 -44 -4 -84 -21c-5 -2 -10 -3 -14 -3c-12 0 -24 7 -34 11c-49 20 -99 40 -148 60 v-189l99 -40c25 -12 19 -34 36 -65c28 -55 83 -80 139 -80c76 0 152 47 165 132l2 11c3 19 16 24 33 37l201 147c29 21 53 10 99 26c78 27 146 100 153 197v32c-3 45 -23 97 -52 131l-29 29c-35 32 -93 53 -150 53c-30 0 -61 -6 -88 -19c-85 -42 -131 -110 -139 -216 c-6 -11 -38 -57 -44 -65l-88 -126c-15 -16 -15 -39 -40 -42h-17zM317 125c-22 0 -45 11 -58 20c-11 8 -33 26 -37 40c24 -6 57 -29 94 -29c20 0 42 8 64 28c19 18 29 44 29 70c-4 64 -50 91 -104 106c2 3 1 4 6 4h11c73 0 121 -57 121 -119c0 -60 -42 -120 -126 -120z M620 655c0 73 59 133 132 133s133 -60 133 -133s-60 -132 -133 -132s-132 59 -132 132zM664 655c0 -49 39 -88 88 -88s89 39 89 88s-40 89 -89 89s-88 -40 -88 -89z"/>
</font>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 233 KiB

View file

@ -0,0 +1,150 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-ad" viewBox="0 0 640 480">
<path fill="#d0103a" d="M0 0h640v480H0z"/>
<path fill="#fedf00" d="M0 0h435.2v480H0z"/>
<path fill="#0018a8" d="M0 0h204.8v480H0z"/>
<path fill="#c7b37f" d="M300.4 136.6c7.7 0 10.9 6.6 18.6 6.6 4.7 0 7.5-1.5 11.7-3.9 2.9-1.6 4.7-2.5 8-2.5 3.4 0 5.5 1 7.3 4 1 1.6 1.8 4.9 1.3 6.7a40 40 0 01-2.7 8.3c-.7 1.6-1.3 2.5-1.3 4.2 0 4.1 5.6 5.5 9.4 5.6.8 0 7.7 0 12-4.2-2.3-.1-4.9-2-4.9-4.3 0-2.6 1.8-4.3 4.3-5.1.5-.1 1.3.3 1.7 0 .7-.3.4-1 1-1.4 1.2-1 2-1.6 3.6-1.6 1 0 1.6.1 2.5.7.4.4.6.8 1 .8 1.2 0 1.8-.8 3-.8a5 5 0 012.3.6c.6.3.6 1.5 1.4 1.5.4 0 2.4-.9 3.5-.9 2.2 0 3.4.8 4.8 2.5.4.5.6 1.4 1 1.4a6.2 6.2 0 014.8 3c.3.4.7 1.4 1.1 1.5.6.3 1 .2 1.7.7a6 6 0 012.8 4.8c0 .7-.3 1.6-.5 2.2-1.8 6.5-6.3 8.6-10.8 14.3-2 2.4-3.5 4.3-3.5 7.4 0 .7 1 2.1 1.3 2.7-.2-1.4.5-3.2 2-3.3a4 4 0 014 3.6 4.5 4.5 0 01-.3 1.8 9.6 9.6 0 014-1.4h1.9c3.3 0 7 1.9 9.3 3.8a21 21 0 017.3 16.8c-.8 5.2-.3 14.8-13.8 18.6 2.5 1 4.2 3 4.2 5.2a4.5 4.5 0 01-4.4 4.7 4.4 4.4 0 01-3.5-1.4c-2.8 2.8-3.3 5.7-3.3 9.7 0 2.4.4 3.8 1.4 6 1 2.2 1.8 3.5 3.7 5.1 1-1.5 2.1-2.6 4-2.6 1.7 0 3.2.6 3.9 2.2.2.5 0 .9.3 1.4.3.6.8.7 1.1 1.3.5 1 0 1.8.5 2.7.3.7.9.8 1.2 1.4.4 1 .5 1.6.5 2.7 0 3-2.7 5.2-5.7 5.2-1 0-1.4-.4-2.3-.3 1.7 1.7 3 2.5 4.3 4.5a17.7 17.7 0 013 10.3 22 22 0 01-2.8 11.2 20 20 0 01-7 8.5 35 35 0 01-16 6.4 74.4 74.4 0 01-11 1.4l-14.1.8c-7.2.4-12.2 1.5-17.3 6.6 2.4 1.7 4 3.5 4 6.4 0 3-1.8 5.3-4.7 6.2-.7.2-1.2 0-1.9.4s-.7 1.3-1.4 1.7a6.2 6.2 0 01-3.8 1 8 8 0 01-6.4-2.5c-2.2 1.8-3 3.4-5.5 4.9-.8.4-1.2 1-2.1 1-1.5 0-2.2-1-3.4-1.8a23 23 0 01-4.4-4c-2.3 1.3-3.6 2.4-6.3 2.4a7 7 0 01-4-1c-.6-.5-.8-1.2-1.5-1.6-.7-.5-1.3-.3-2.1-.7-3-1.3-5-3.5-5-6.8 0-2.9 1.8-4.7 4.4-6-5-5-10-5.8-17-6.2l-14-.8c-4.4-.3-6.8-.7-11-1.4-3.3-.5-5.2-.7-8.2-2.1-10.2-4.8-16.8-11.3-18-22.5-.2-1-.2-1.5-.2-2.5 0-5.8 2.3-9.4 6.4-13.5-1-.3-1.7 0-2.8-.3-2.5-1-4.4-2.7-4.4-5.5 0-1 0-1.7.5-2.6.4-.6 1-.7 1.2-1.4.2-1 0-1.6.4-2.5.3-.5.8-.6 1-1.2 1-1.9 2-3.4 4.1-3.4 1.8 0 3 1 3.8 2.5 1.8-.8 2.2-2.1 3.2-3.7a15.5 15.5 0 001.4-13.3c-.4-1.5-.6-2.5-1.8-3.7-1 1-2 1.4-3.4 1.4-2.9 0-5-2.5-5-5.3a4.8 4.8 0 013-4.6c-1.6-1.4-3-1.5-4.7-2.6-2.6-1.6-3.5-3.4-5.2-6-1.2-1.6-1.5-2.8-2-4.7a19 19 0 01-1-7.8c.6-5 1.5-8 4.6-11.9 1.8-2.3 3-3.7 5.8-4.9 2.3-1 3.7-1.7 6.2-1.7l2 .1a6.9 6.9 0 012.8.8c.4.2 1.1.9 1.1.4s-.3-.8-.3-1.3c0-2 1.5-4 3.6-4 1.5 0 2.1 1.4 2.9 2.7.4-.8.7-1.4.7-2.3 0-3.4-1.9-5.2-4-7.9-4.7-5.8-10.5-8.5-10.5-16 0-2.2 1-3.7 3-4.9.5-.3 1.3 0 1.8-.3s.4-1 .7-1.4c.5-.7 1-1 1.6-1.6 1-1 2-.6 3.1-1.5.6-.4.8-1 1.2-1.4 1.3-1.6 2.5-2.4 4.6-2.4 1 0 1.6 0 2.5.4l1 .5c.3-.2.8-.8 1.5-1.1a4 4 0 012.2-.6c1.1 0 1.8.6 3 .6.3 0 .4-.4.8-.6 1-.7 1.5-1 2.7-1 1.2 0 1.8.3 2.8 1 1 .5 1 1.3 2 1.8.5.3 1 .2 1.5.4 2.6.9 4.5 2.6 4.5 5.3 0 1.5-.3 2.5-1.4 3.5-.9.7-1.7.6-2.8 1a16 16 0 0011.3 3.5c4.2 0 9.3-1.7 9.3-5.9 0-2-1-3-1.8-4.8a18.8 18.8 0 01-2.1-8.5c0-2.8.3-4.5 1.9-6.7 1.6-2.3 3.6-2.9 6.5-2.9z"/>
<g fill="none" stroke="#703d29">
<path stroke-linejoin="round" stroke-width=".7" d="M272.4 159a3.6 3.6 0 002.4 2.4c.8.3 2.7.2 3.8-1.4 1-1.2 1-2.8.6-4a4.7 4.7 0 00-1.7-2.2l-5.1 5.2z"/>
<path stroke-linecap="round" stroke-width=".7" d="M401 236.1c-1.2-2.9-4.3-1.6-4.4 0-.5 3.7 2.7 4.8 5 4.2a4 4 0 002.5-2c.6-1 .8-2.4.4-3.7a4.9 4.9 0 00-.8-1.6 5 5 0 00-1.3-1.2c-.9-.6-1.9-.6-3.4-.6-5.5 0-10.4 6.5-12 13.4-.6 2.2-1.3 7.3-.3 12a22.4 22.4 0 005.9 11.3 25.7 25.7 0 009.9 5.8 7.9 7.9 0 004 .1c3.2-.7 4.7-3.8 3-7-1.3-2.5-5.3-4-7.2-.6-.1.3-.4.9-.4 1.5 0 .9.4 2 1 2.4 1.5.9 3.8.6 3.7-2"/>
<path stroke-width=".8" d="M383.8 274a11.3 11.3 0 016.6-3.7c3-.4 5.6.5 8.2 2a18.5 18.5 0 0110.8 17c0 3.6-1 7.5-2 9.4-.8 1.7-3 9-15.3 14-7.1 3-18 3.6-25.7 4-10.4.3-20 .7-25.5 7.6"/>
<g stroke-width=".7">
<path d="M386.4 285.7c-.3-1 0-2.1.8-3.3 1.2-1.6 3.7-2.1 6-1a7.4 7.4 0 012.5 2.2l1.1 1.6c.7 1.1 1 2 1 2.5 2.5 7-1.4 14.5-6.5 17.6-4 2.4-8.7 3.4-14.4 4-2.5.4-4 .3-6.5.5h-9.6a70.1 70.1 0 00-7.2 0c-2.9.3-5 .4-7.6.8-1.6.2-3.4.5-5.4 1-.6 0-1.2.2-1.8.4l-1.2.3c-3.6 1.1-7 2.4-9.8 4.2-.8.5-1.8 1-2.5 1.7l-1.3 1.2c-2 2-3.9 4-4.4 6.7v1.6c0 1.8 1.4 4.3 5.4 5m5.5-170c.8 1.4 1.3 2.3.8 3.9-.6 1.7-1.8 2.8-3.6 2.8-4 0-6.3-4.8-4.5-7.8 3.2-5.3 9.3-2.3 15 .3-.3-1.3-.8-1.8-.7-3.5.1-4.2 3.2-6 4.5-10 .7-2.3 1-4.3-.7-6-1.5-1.3-3.2-1.3-5.1-.6-3.8 1.5-8.5 5.9-16.6 6-8.2-.1-12.8-4.5-16.7-6-2-.7-3.6-.7-5.1.7-1.7 1.6-1.4 3.6-.7 6 1.3 3.8 4.4 5.7 4.5 10 0 1.6-.4 2-.7 3.4 5.7-2.6 12-5.9 15-.3 1.7 3.2-.5 7.7-4.5 7.7-1.8 0-3-1-3.6-2.7-.4-1.5 0-2.8.8-4"/>
<path stroke-linecap="round" d="M314.6 159.9a5.3 5.3 0 012.4 5c-.2 2.5-.8 3.1-2.8 4.5m2.4-3.8c-.1 1.5-.7 2.5-2.3 3.1"/>
</g>
<path fill="#c7b37f" stroke="none" d="M276.7 153.3l.7.5.8.8.5 1 .2.8v1.9l-.2.8-.5.6-.6.6-.9.5-1 .2-1 .2-1-.5-.9-.6-.5-.8-.4-1v-.4l4.8-4.6z"/>
<path stroke-linecap="round" stroke-width=".7" d="M275.2 157.2c-.3-1.7-2.2-2-3-1-1.1 1.5-.3 4 2 4.7a4 4 0 003.9-1.4c1-1.3.9-2.8.5-4a4.5 4.5 0 00-1.7-2.2c-2.7-2-7.1-1.6-8.6 2-1.8 4.4 2.2 7.8 6 10.3 4.6 3.2 10 3.8 14 3.8 9.2-.1 16.2-4.5 20.7-7 1-.6 2.1-.5 2.7.2a2 2 0 01-.3 2.7"/>
<path stroke-width=".7" d="M248 281.2l-2 .7-2 1.6-1 1.3-1.1 2-.5 1.5-.4 1.8-.2 1.4m19-10.1l-.1 1.8-.3 1.2-1 2.2-1.3 1.8-1.5 1.2-1.1.5-1.6.4"/>
<path stroke-width=".8" d="M319.7 329.1c-.3 1.7-1.9 3.6-5.3 4.2l-.6.2"/>
<path stroke-width=".9" d="M404.2 276.2a18.3 18.3 0 015.6 13.5c0 3.6-1 7.5-2 9.4-.8 1.7-3 9-15.3 14a85 85 0 01-25.6 4c-10.3.3-19.8.7-25.4 7.3"/>
<path stroke-width=".6" d="M387.5 282.9c.8-1 3.5-2.4 5.8-1.1a6.2 6.2 0 012.3 2"/>
<path stroke-width=".9" d="M401.6 273.8l1.4.5a7 7 0 004 0c2.8-.8 4.6-3.4 3.2-6.9a6 6 0 00-1.8-2.1"/>
<path stroke-linecap="round" stroke-width=".7" d="M240.3 199.8c-2 1.1-3.3 1.4-4.8 3.1a28.1 28.1 0 00-2.6 6.8m46-51.7c0 1.8-1.2 2.8-3 3.2"/>
<path stroke-width=".6" d="M397.1 192a19 19 0 0118.6 19.8c0 16-9.9 18.5-13.8 19.6"/>
<path stroke-width=".7" d="M398.4 192c8.1-.3 16.5 5.7 16.9 20.7.3 11.7-8 17-12 18"/>
<path stroke-width=".6" d="M393.8 248.4l.1-1.6.6-2.5.7-2 .9-1.6 1-1.3m7.8-3.4v1.5l-.5 1-.7 1.1-.8.6-1.2.5h-1.1l-.8-.1m-14.3-52.8l.3-1.7.8-1.6 1-1.5 1.6-2.2 1.4-1.4 2-2.2 2-1.9 1.1-1.3 1.5-1.9 1.4-2 .8-1.7.5-2.2.1-2.7-.2-.8m-12.3 128.2l1.6-.4 1.2-.6.7-.7.5-.8.3-1.2v-.9m-158.2-12.1h2.7l1.6-.6m5-36.5l-.2 1.4-.4.6-.4.6-.7.5-.7.3-1 .1h-.6m9.9-15.5l-.3 2.1-.5 1-.8 1.2-1.2.9-1.2.6-2.3.5m15.3-39.7l-.5 1.3-.5 1-.8 1-1 1-1.2.5-1.1.3-.6-.1m.3-6.2v1"/>
<g stroke-width=".6">
<path stroke-linecap="round" d="M254.3 224a6.9 6.9 0 01-2.1 1.4m150.5 44.8l.5.2c1.4.8 4.2-.2 3.4-2.4"/>
<path d="M397.8 239.6c1 1.3 2.9 1.7 4.4 1.3a4 4 0 002.5-2c.6-1 .8-2.4.4-3.7a4.9 4.9 0 00-.9-1.6 6.8 6.8 0 00-1.3-1.5l-.4-.2m6.4 34a4 4 0 00.1-.7 4 4 0 00-1.3-3l-.8-.8m.4.5c0-1.8-1.5-3.2-3.4-3.5m-4.2 2.8l-1.3-1a15.7 15.7 0 01-4.3-10.7c0-4.2 1.6-8.4 3.6-10M341.2 324l1.8-1.6 1.2-1 2.3-1.4 2.2-1 1.6-.5 3-.6 3.6-.6m-29.5 19.4a17 17 0 01-7.6 6.1 17.7 17.7 0 01-7.6-6.1"/>
<path stroke-linecap="round" d="M314.4 332.6a10 10 0 01-2.2 4.2"/>
<path d="M314.7 330.5l-.4 2.2M312 337l-1 1-1.7.9-2 .6m-5.6-177.8c.3-.8.5-1.4.5-2.6-.1-4.2-3.2-6.1-4.5-10-.7-2.3-1-4.3.7-6 1.4-1.4 3.2-1.4 5-.6 4 1.5 8.6 5.8 16.7 6-8.1-.2-12.8-4.5-16.6-6-2-.8-3.8-1-5.3.5-1.7 1.6-1.2 3.8-.5 6.1 1.3 3.9 4.2 5.8 4.3 10 0 1.2-.3 1.8-.5 2.6M320 148c8-.4 14.9-5.8 17.1-6.3 2-.4 3-.2 4.5 1.1-1.4-1.3-3-1.2-5-.5-3.8 1.5-8.4 5.8-16.6 6m79.6 112.9a15.5 15.5 0 01-6.2-12.4c0-4.1 1.7-8.4 3.6-10m-70 97.6c-1.3 2-4.3 5-7.6 6.2a17.7 17.7 0 01-7.6-6.2"/>
<path stroke-linecap="round" d="M306.7 163.7l2.3-1.3c1-.6 2.3-.5 2.9.2.6.7.7 2-.2 2.8"/>
<path d="M294.7 169.3c5.5-1.2 10-3.6 13.4-5.5M340.3 328c.5.3.8 1 .8 1 .1.2.3.5.3.8.3 1.5-.7 2.4-2 2.6-1.7.2-3-.8-3.5-2M294.4 169c5.5-1.1 10-3.6 13.4-5.5m97.6 106.9c-1 .4-1.6.3-3-.2l-1.8-1a20.7 20.7 0 01-8.4-9 18.8 18.8 0 01-1.7-4.6 12 12 0 01-.5-3.3 25.6 25.6 0 014.7-15.3c1.1-1.6 2.1-2.5 4.2-2.6m-143.7-39.3a7.1 7.1 0 012.7 5.7c0 3.1-2.6 8.2-9 10a8.3 8.3 0 01-6.3-.8"/>
<path d="M256.3 205.6c1.1.8 1.6 1.7 1.6 3.3 0 1-.7 2.4-1.9 3.7a12.4 12.4 0 01-8.8 4c-2 0-4-.4-6-1.7a9 9 0 01-3.8-5.4"/>
<path d="M256.2 212.3c1.3 1.2 1.7 2.7 1.7 4.6 0 2.7-1.1 4.8-3.7 7-.6.6-1.2 1-2 1.5m129.5-22.1v3.5m-.3-4.4v5m.3-15.8v6.6m-.3-8v8.9m-1.9 82a18.7 18.7 0 01-4.2 5.6 19.6 19.6 0 01-5.8 4.1 24.6 24.6 0 01-6.6 2.2 33 33 0 01-6.8.9c-2.5 0-3.9 0-6.4-.2-2.6-.2-4-.6-6.7-.8-2.2-.2-3.4-.4-5.6-.3a28.3 28.3 0 00-11 1.8c-2.6 1-5.7 3-6.3 3.8a22 22 0 00-6.4-3.8 22 22 0 00-5.1-1.4c-2.3-.4-3.5-.4-5.8-.4-2.2 0-3.4.1-5.6.3-2.6.3-4 .6-6.7.8-2.5.2-3.9.3-6.4.2a33 33 0 01-13.4-3 19.5 19.5 0 01-6.4-4.8m42.1 53.4l1.8-.2m30.3-2.4l1.8-.1 1.7-.7 1.2-.8 1.7-2 .3-.6.3-1.7v-.8m47-136.7c.7-2.6-.2-5.4-2.8-5.3m-132 46.5a8.2 8.2 0 01-3.5 4.7m3.6-46.7a6.5 6.5 0 01-3.6 4c-1.9.8-4 0-5.2-.8"/>
<path stroke-linecap="round" d="M243.8 202.4c1.5.8 3.1-.4 2.8-2.4a2.9 2.9 0 00-2.5-2.2"/>
<path d="M250.2 286.6c.3.3.4.7.8.8.7.2 1.2.4 1.9-.5.8-1.1.3-2.8-.5-3.9a5 5 0 00-5.8-1c-.8.5-1.7 1-2.6 2.2l-1.1 1.6c-.7 1.1-1 2-1.1 2.4-2 5.9.4 12 4.1 15.7"/>
<path stroke-linecap="round" d="M340.2 327.8l.7.8.2.9c.3 1.5-.7 2.4-2 2.6-1.6.2-2.8-.8-3.3-2"/>
<path d="M389.4 154.8a7.4 7.4 0 016.3 7c0 4.4-1.5 6-3.8 9.2-2.5 3.4-10.7 9.6-10.7 16.7 0 4.3 1.2 7 4.3 8.4 2 1 4.3 0 5.4-1 2.6-2.4 1.5-6.5-1.2-7-3.2-.6-3.9 4.6-.7 4.3m17.9 69a3.7 3.7 0 00-3.6-3 3.7 3.7 0 00-3.7 3.7c0 1 .4 2 1 2.6"/>
<path d="M383.9 195.1a7.1 7.1 0 00-2.7 5.7c0 3.1 2.6 8.2 9 10 2.4.7 4.8.6 6.2-.3m-156-10.3a9.4 9.4 0 00-4.8 3.5 16.9 16.9 0 00-2.2 12.7 15.8 15.8 0 002.3 5.6 8 8 0 001 1.2l1.2 1m64 92c4.9 2.1 8.4 3.7 11.4 8.5a10 10 0 011.2 4.9c0 2.7-1 5.7-3.3 7.6a8.3 8.3 0 01-6.7 2c-1.9-.2-3.7-1.6-4-2.6M254 224.1c2.7 2.2 3.9 4.2 3.9 7.5a8.4 8.4 0 01-4 7.5"/>
<path stroke-linecap="round" d="M251.5 236.4c4 5.1 6.3 8.1 6.4 14.1.1 5.7-1.7 9.6-5 13.7"/>
<path d="M329.8 169.3a4.1 4.1 0 001.5-2.2c.5-1.5.5-2.8-.2-4 1 1.4 1 2.5.7 4-.1 1-.8 1.5-1.6 2.3m51.5 86.1v16.2l-.1 2.5a34.4 34.4 0 01-.3 1.7"/>
<path d="M381.4 254v19.9l-.5 2.6m.5-43v14.6m.3-13.4v11.8m0-26.8v8.8m-.3-9.9v11m.3-19v3.5m-.3-4.2v5m-1.8 65.2l-.4.7a18.7 18.7 0 01-4.1 5.7 19.6 19.6 0 01-5.9 4 24.6 24.6 0 01-6.5 2.2c-2.7.6-4.2.8-6.9.9-2.5 0-3.9 0-6.3-.2-2.7-.2-4.1-.5-6.8-.8-2.2-.2-3.4-.3-5.6-.3-2.2 0-3.5 0-5.7.4a22 22 0 00-5.2 1.4c-2.7 1.1-5.7 3-6.4 3.8-.6-.8-3.7-2.7-6.3-3.8a22 22 0 00-5.2-1.4c-2.2-.4-3.5-.4-5.8-.4-2.2 0-3.4.1-5.6.3-2.6.3-4 .6-6.7.8-2.5.2-3.9.3-6.3.2a33 33 0 01-13.5-3 19.5 19.5 0 01-5.8-4.1 22 22 0 01-2.5-2.8m-2-3.2a10.1 10.1 0 01-2.3 7.7c-.8.9-2.6 2.6-5 2.6-3.7 0-4.8-2.5-5-3.2"/>
<path d="M255.6 278.9c.7.7 1.3 1.5 1.9 2.5 1 1.8.6 4.8-.1 6.2a4.4 4.4 0 01-.3.4m-20.3 18c2.3 2.4 5.7 5 10.9 7.1 7.1 3 18.1 3.6 25.7 4 10 .3 19.3.7 25 7m17.3-4a12 12 0 014 5.5m-7.3 11.5a8.2 8.2 0 01-.7.7 8.3 8.3 0 01-6.6 2c-2-.2-3.8-1.6-4.3-2.6m-5.4-2.9l.3.4a7.6 7.6 0 005.1 2.4m27 0a18 18 0 01-7.7 6.1 17.7 17.7 0 01-7.6-6.1l-.3-.5m15.6.4l.7.7a8.3 8.3 0 006.7 2 5.5 5.5 0 004-2.5l.5-.7"/>
<path d="M339 336.6l-.7 1.2-1.1 1-1.7.7h-1.6"/>
<path d="M343 325.3a7.7 7.7 0 012.4 2.9c.3.7.4 1.5.5 2.3a5.8 5.8 0 01-1.5 4.2 7.5 7.5 0 01-5.4 2.4 5.5 5.5 0 01-.4 0m.2-.2a6.8 6.8 0 01-5.2-2.2m63.7-67.9a23.8 23.8 0 01-4.8-6.4 18.8 18.8 0 01-1.7-4.5 12 12 0 01-.5-3.3 26 26 0 014.6-15.3c.7-.8 1.4-1.8 2.1-2.2m-1.3-75.9c2.5.2 4.8 3 4.8 5.7 0 3.8-1.3 5.5-4.4 9.3-2.6 3.2-10.6 9-10.3 14.5 0 1 .5 2 1.1 2.8m-3.2 3.5a7 7 0 002 1.4 5 5 0 004.3-.3M369 153a6 6 0 012.2 2.6c1.8 4.5-2.2 7.9-6 10.4a21.3 21.3 0 01-8.3 3.3"/>
<path d="M364.6 161.6a4.2 4.2 0 01-3.1-1.5 3.4 3.4 0 01-.7-1m-15 4.9a4.6 4.6 0 01-1.2-1c-1-1-1.5-2.3-.8-4.4.6-1.9 3.7-7.2 3.8-10.9.2-5.6-2-9-5.3-10.2"/>
<path stroke-linecap="round" d="M347.3 146.5l-.1 2-.6 2.2-1 3-1 1.9-.8 1.9-.4 1.3-.2 1 .1.9m38 126.3l.6.8c.7 1 3.2 3 5.5 3 3.7 0 4.6-2.6 4.7-3.2.5-2.9-.5-3.6-2-4.5 0 0-.8-.4-1.9-.2"/>
<path d="M237 274.4a6.9 6.9 0 01-3.7 0c-2.9-.9-5.2-3.6-4-7m13.4-31.8c.3.3.4.7.4 1 .4 3.8-2.8 4.8-5 4.2a5.6 5.6 0 01-3-2.3 4.7 4.7 0 01-.7-2.3m22-23.6c.6.5 1 1 1.3 1.7m-1.1-8.5c.5.4.9.9 1.1 1.3"/>
<path stroke-linecap="round" d="M257.9 210.5a8.5 8.5 0 01-1.6 2.4 12.4 12.4 0 01-8.8 4c-2 0-4-.4-6-1.7a9.5 9.5 0 01-4-5.6"/>
<path d="M255.4 195.3a7.8 7.8 0 012.4 3.4"/>
<path stroke-linecap="round" d="M257.8 203.2c-.9 3-3.5 6.6-8.6 7.9-2.4.6-5.6-.2-6.6-1"/>
<path d="M240 202.6c.3 2.6 2 4.6 5.4 4.6 4.7.1 7.6-6.7 3.4-11.5"/>
<path stroke-linecap="round" d="M229.4 225.5c.7.9 1.5 1.7 2.4 2.4a16.8 16.8 0 006 3.3m5.2.5c4.2-.5 6.6-3.7 6-7.3-.3-2.8-2.8-5-4.6-5.1"/>
<path d="M249.8 188.1c1.9 0 3 1.6 2.9 3"/>
<path stroke-linecap="round" d="M249.4 163a11.5 11.5 0 005 5.9m144.2 31c1.7 2.3.6 7-4 7a5.2 5.2 0 01-4.5-2.5"/>
<path d="M381.7 169.1V185"/>
<path stroke-linecap="round" d="M243.8 202.3c1.4 1 3.3-.7 2.5-2.6-.5-1.2-2.2-2.6-4.7-.9-2.8 1.9-2 7.8 3.2 7.9 4.7 0 7.6-6.8 3.4-11.6-4-4.6-11.3-3.6-16 .2A21.4 21.4 0 00225 207a22.5 22.5 0 000 9.2 20.9 20.9 0 003 7.5l1.3 1.7c.8.8 1 1.2 2 2a15 15 0 0010.4 3.7c4.6-.2 7.3-3.4 6.8-7.3-.4-3.8-4.2-5.7-6.7-3.9-1.7 1.2-2.3 4.9.7 5.8 1.6.5 3.1-1.7 2-3M374 150.9c2.7-1.4 4.8-1.2 6.3 1a9.9 9.9 0 011.6 7.2 9.2 9.2 0 01-3.5 5.8"/>
<path stroke-linecap="round" d="M380.5 152c3.1-2 6.5-1.1 8.3 1.6 1.3 2 1.7 3.6 1.6 6.1a11.2 11.2 0 01-5.7 9.2"/>
<path d="M395 159.2c2.6.2 4.6 2.5 4.6 5.1 0 3.8-1 5.5-4 9.3-2.7 3.3-10.6 9-10.4 14.6 0 2.1 1.8 4 3.3 4.2"/>
<path stroke-linecap="round" d="M395.4 202.3c-1.5 1-3.3-.6-2.5-2.4.5-1.2 2.2-2.8 4.7-1.1 2.7 1.9 2 7.8-3.3 7.9-4.7 0-8-6.6-3.4-11.6 4-4.6 11.7-3.7 16.5.1 2 1.6 6.1 6 7 12 1 7 .9 15.6-6.4 21-3 2.1-7 3.1-10.6 3-4.6-.2-7.3-3.5-6.8-7.4.5-3.8 4-5.4 6.7-3.9 2.8 1.5 2.3 5.4-.7 5.8-1.7.2-3.1-1.7-2-3"/>
<path d="M392.9 199.9c.8-3.5 3.7-3.8 6.2-3.8 6.5.1 11.1 8 11.2 15.5 0 9.5-4 15.2-11 15.5-1.9 0-5-.8-5-3"/>
<path stroke-linecap="square" d="M397 198.3c6.9 1.6 9.3 7.8 9.3 13.8 0 4.9-.5 11.6-10 13.9"/>
<path d="M408.4 265.3a3.9 3.9 0 10-6.3 2.4"/>
<path stroke-linecap="round" d="M394.4 259.4c1.4 2 3 4.1 6.3 6m-1.3 10.5c-3.2-2.2-9.5-5-15-2.2a7.6 7.6 0 00-4.4 4.4 10 10 0 001.8 9.5c.9 1 2.7 2.6 5 2.7 3.8 0 4.7-2.6 4.8-3.2.4-2.8-1.2-3.9-2-4.1-.7-.3-2.8-.2-3.2 1.3-.2.5-.2 1.3.2 2"/>
<path stroke-linecap="round" d="M340.5 328.4c1 2.2-.2 3.2-1.6 3.4-2.2.3-3.3-1.4-3.4-3a4.4 4.4 0 014.3-4.7c2.3 0 4.1 1.5 5 3.5.3.7.5 1.5.5 2.4a5.8 5.8 0 01-1.4 4.1 7.5 7.5 0 01-5.4 2.5c-4.2.1-7.5-3.8-7.5-7.8 0-7.7 11.4-12 16-13a84 84 0 0117.9-2.4c3.5-.1 6.2 0 10.1-.5 3.5-.3 5.4-.5 9-1.3a27.2 27.2 0 0012.6-6.4c2.9-2.7 4.5-4.5 5.9-8.2a17 17 0 00-1.3-13.9 14.3 14.3 0 00-10.3-6.8c-3.7-.5-7 1.1-9 4.8-1 1.8-.6 4.8.1 6.2a6 6 0 004.8 3c3.8 0 4.7-2.6 4.8-3.2.4-2.8-1.2-3.9-2-4.2-.7-.2-2.8-.1-3.2 1.4-.2.5-.2 1.3.2 2"/>
<path stroke-linecap="round" d="M337.2 316.2c-4.8 2.1-8.4 3.7-11.4 8.5a9.9 9.9 0 00-1.2 4.9c0 2.7 1.1 5.7 3.3 7.6a8.3 8.3 0 006.7 2c2-.2 3.7-1.6 4-2.6"/>
<path d="M385.1 224.1c-2.3.8-3.9 4.2-3.9 7.5a8.4 8.4 0 004 7.5"/>
<path stroke-linecap="round" d="M387.6 236.4c-4 5.1-6.3 8.1-6.4 14.1 0 5.7 1.7 9.6 5.1 13.7"/>
<path d="M365.9 152l.3-.5c1.7-2.4 4.7-3.1 6.9-1.5 2.6 2 3.3 5.4 2.6 9-.5 2.2-2 4.1-4 5.5"/>
<path stroke-linecap="round" d="M265.1 150.8c-2.6-1.2-4.7-1-6.3 1a8.7 8.7 0 00-1.6 7.2c.6 2.7 1.4 3.8 3.5 5.8"/>
<path d="M258.6 152a5.8 5.8 0 00-8.3 1.6 9.1 9.1 0 00-1.6 6.1c.2 4.2 2.8 7.6 5.8 9.2"/>
<path d="M249.7 154.8a6.8 6.8 0 00-6 6.6c0 4.5 1 6.3 3.5 9.6 2.5 3.4 10.7 9.6 10.7 16.7 0 4.3-1.2 7-4.3 8.4-2 1-4.3 0-5.4-1-2.6-2.4-1.5-6.5 1.2-7 3.3-.6 3.9 4.6.7 4.3"/>
<path d="M244 159.2c-2.5.2-5 2.3-5 5 0 3.8 1.5 5.6 4.6 9.4 2.6 3.3 10.1 9 9.9 14.5 0 2-1.5 4.6-2.9 4.3"/>
<path stroke-linecap="round" d="M238 236.1c1.3-2.9 4.4-1.6 4.6 0 .4 3.7-2.8 4.8-5.1 4.2a4 4 0 01-2.5-2 4.8 4.8 0 01-.4-3.7 4.9 4.9 0 01.9-1.6 5 5 0 011.2-1.2c1-.6 1.9-.6 3.4-.6 5.5 0 10.4 6.5 12 13.4.6 2.2 1.3 7.3.3 12a22.4 22.4 0 01-5.8 11.3 25.8 25.8 0 01-10 5.8 7 7 0 01-3.9.1c-2.8-.9-4.6-3.5-3.2-7 1.2-2.6 5.4-4 7.3-.6.2.3.4.9.4 1.5 0 .9-.4 2-1 2.4-1.4.9-3.7.6-3.6-2"/>
<path d="M233.8 270.4c1 .4 1.6.3 2.9-.2l1.8-1c2.6-1.5 5.6-3.8 8.4-9.1a18.8 18.8 0 001.7-4.5c.3-1 .5-2.2.6-3.3a25.6 25.6 0 00-4.8-15.3c-1.1-1.6-2-2.5-4.2-2.6m-9.5 31a3.9 3.9 0 116.3 2.3"/>
<path d="M232.2 261.4a3.7 3.7 0 013.7-3 3.7 3.7 0 013.6 3.7 3.8 3.8 0 01-1 2.6"/>
<path d="M239.4 261.3a15.5 15.5 0 006.2-12.4c0-4.1-1.6-8.4-3.6-10"/>
<path stroke-linecap="round" d="M244.7 259.4a16.5 16.5 0 01-6.3 6"/>
<path d="M254.6 273.7c-1-2.2-2.8-3.2-5.8-3.5-3-.3-5.5.5-8.2 1.9a18.6 18.6 0 00-10.8 17 25 25 0 002 9.5c.9 1.6 3 9 15.3 14a86.1 86.1 0 0025.7 3.9c10.4.4 20 .8 25.6 7.6"/>
<path stroke-linecap="round" d="M239.7 275.9c3.3-2.2 9.5-5 15.1-2.2a8 8 0 014.3 4.4 10 10 0 01-1.8 9.5c-.9 1-2.7 2.6-5 2.7-3.8 0-4.7-2.6-4.8-3.2-.4-2.8 1.2-3.9 2-4.2.7-.2 2.8-.1 3.2 1.4.2.5.2 1.3-.2 2"/>
<path d="M252.7 285.7c.3-1 .2-2.2-.8-3.3a5.1 5.1 0 00-6-1c-.7.5-1.6 1-2.4 2.2-.4.4-1 1.1-1.2 1.6-.7 1.1-1 2-1 2.5-2.5 7 1.5 14.4 6.5 17.6 4.4 2.8 8.8 3.6 14.4 4 2.5.3 4 .3 6.5.5h9.6a70.1 70.1 0 017.2 0c3 .3 5.1.4 7.6.8 1.6.2 3.5.5 5.4 1 .6 0 1.2.2 1.8.4l1.2.3c3.6 1.1 7 2.4 9.8 4.2.8.5 1.8 1 2.5 1.7l1.3 1.2c2 2 4 4 4.4 6.7v1.6c0 1.8-1.4 4.3-5.3 5"/>
<path d="M298.6 328.4c-1 2.2.2 3.2 1.6 3.4 2.2.3 3.3-1.4 3.5-3a4.4 4.4 0 00-4.4-4.7 5.5 5.5 0 00-5 3.5 6.9 6.9 0 00-.5 2.4 5.8 5.8 0 001.4 4.1 7.5 7.5 0 005.4 2.5c4.2.1 7.5-3.8 7.5-7.8 0-7.7-11.4-12-16-13a84 84 0 00-17.9-2.4c-3.5-.1-6.2 0-10.1-.5-3.5-.3-5.4-.5-9-1.3a27.2 27.2 0 01-12.5-6.4 17 17 0 01-4.7-22 14.3 14.3 0 0110.3-6.9c3.8-.5 7 1.1 9 4.8 1 1.8.6 4.8-.1 6.2a6 6 0 01-4.8 3c-3.8 0-4.7-2.6-4.8-3.2-.4-2.8 1.2-3.9 2-4.2.7-.2 2.8-.1 3.2 1.4.2.5.2 1.3-.2 2"/>
<path stroke-linecap="round" d="M273.3 152l-.4-.5c-1.7-2.4-4.7-3.1-6.9-1.5-2.6 2-3.3 5.4-2.5 9a9 9 0 004 5.5"/>
<path d="M366.8 159.6c-4 4.4-8.1 5.8-14.1 6-2 0-5.5-.6-7.6-2.1-1.3-1-2.8-2.6-1.9-5.5.6-1.9 3.7-7.2 3.8-10.9.3-5.6-1.9-8.7-5.3-9.9-6.2-2.2-13 4-17 5.4-2.1.7-3.2.8-5.1.8-2 0-3-.1-5.2-.8-4-1.4-10.7-7.6-17-5.4-3.4 1.2-5.5 4.3-5.3 10 .1 3.6 3.2 9 3.8 10.8 1 2.9-.5 4.5-1.9 5.5-2 1.5-5.7 2.1-7.5 2-6-.1-10.1-1.5-14.1-5.9"/>
<path stroke-linecap="round" d="M297.3 314.4c.8.3.2-.2 5.3 2a22 22 0 0111.3 8.9 10.5 10.5 0 01.9 7.3"/>
<path d="M297.7 336a8 8 0 003.2.9c4.2.1 7.5-3.8 7.5-7.8 0-2.8-1.5-5.2-3.6-7"/>
<path stroke-linecap="round" d="M298.6 328.4c-1 2.3.4 3.5 1.8 3.7 2.2.2 3.4-1.4 3.6-3a4.5 4.5 0 00-2.2-4.2"/>
<path d="M390.1 154.8c3.2 0 6 3.6 6 7.2 0 4.3-2.2 6.9-3.9 8.8-1.3 1.6-2.7 3-4.4 4.7"/>
<path stroke-linecap="round" d="M386.3 151.4a9 9 0 012.8 2.4c1.3 2 1.7 3.7 1.6 6.2-.2 4.2-3.2 7.1-6 9m-4.7-17.6l.6.7c1.9 2.2 2 5.4 1.6 7.2a8.2 8.2 0 01-3.8 5.4m-5-14.4c2.6 2 3.4 5.4 2.5 9-.6 2.5-2.2 4-4.2 5.2m11.1 41.1c.3 1 .9 1.3 1.5 2a13.5 13.5 0 006.2 3.5c2.4.7 4.6.2 6.3-.9m-163 54c1.2 0 2.5.9 3.3 2.3.1.2.4.8.4 1.5 0 .9-.4 1.8-1 2.2-1.5 1-4 .5-4-2"/>
<path d="M241.5 231.3c5 1 9.7 6.9 11.2 13.3.6 2.3 1.3 7.3.3 12a22.4 22.4 0 01-6 11.4 16.5 16.5 0 01-2.1 1.9l-1 .7m-8-12.1c2 0 3.8 1.9 3.8 4a3.8 3.8 0 01-1 2.6"/>
<path d="M234.6 260.7c2.1 0 4.1 2 4.1 4.2a3.9 3.9 0 01-1.4 3"/>
<path stroke-linecap="round" d="M254 239.5a18 18 0 013.8 7.7m0 8.5a17.3 17.3 0 01-1.5 4 17.8 17.8 0 01-3.6 4.7"/>
<path d="M254.3 224.3c1.8 1.5 3 3 3.5 4.8"/>
<path stroke-linecap="round" d="M257.9 219.5a10 10 0 01-3.4 4.6m-9.2-17.2l2.2-.6 1.3-1 .8-1.1.7-1.8.3-1.5"/>
<path d="M241 199.3c-.7.2-1.6.4-2.5.8a9 9 0 00-3.5 3 17 17 0 00-2.2 12.7 15.8 15.8 0 002.3 5.6l1 1.4c1.4 1.3 2.6 2 4.6 1.7"/>
<path stroke-linecap="round" d="M253 189.8c-.3 1.3-1 2.9-3 2.7"/>
<path d="M245.7 198.5c-2-1.9-6-2.4-10.1.2L234 200a8.8 8.8 0 00-1.4 1.6 17.5 17.5 0 00-2.4 5c-.7 3-.7 5.6-.6 6.3 0 1 .2 1.9.3 2.7.6 2.8 1.4 4.8 2.3 6.2.9 1.5 3 5 7.7 5.4 1.8.1 4.8-.7 5-3"/>
<path stroke-linecap="round" d="M363.8 157c.3-1.6 2.3-1.9 3-1 1.2 1.6.4 4.2-2 4.9a4 4 0 01-3.8-1.4c-1-1.3-.9-2.8-.5-4 .2-.8.9-1.5 1.7-2.2 2.7-2 7.1-1.6 8.6 2 1.8 4.4-2.2 7.8-6 10.3-4.6 3.2-10 3.8-14 3.7-9.2 0-16.1-4.4-20.7-7-1-.5-2.1-.4-2.7.3a2 2 0 00.3 2.7"/>
<path stroke-linecap="round" d="M365.6 155.5c1 0 1.2.4 1.5.8 1.2 1.5.3 4.1-2 4.9m17.8 51.5c-3.5 3.8-.2 10.3 2.4 11.8.9.7 1.3.3 2 .7"/>
<path d="M383.1 205.4c-1.1.8-1.5 1.7-1.6 3.3a5.3 5.3 0 001.4 4 14 14 0 009.3 3.7c2 0 4-.4 6-1.7a9 9 0 003.8-5.4m-20.8 61.8l-.2 2.5a18.9 18.9 0 01-2 7 18.7 18.7 0 01-4.2 5.6 19.6 19.6 0 01-5.9 4 24.6 24.6 0 01-6.5 2.3 43.8 43.8 0 01-13.2.6c-2.7-.2-4.1-.5-6.8-.8-2.2-.1-3.4-.3-5.6-.3a28.3 28.3 0 00-10.9 1.9c-2.7 1-5.7 3-6.4 3.8-.6-.9-3.7-2.8-6.3-3.8a22 22 0 00-5.2-1.5c-2.2-.4-3.5-.4-5.8-.4-2.2 0-3.4.2-5.6.4-2.6.2-4 .6-6.7.7-2.5.2-3.9.3-6.3.2a33 33 0 01-7-.8 24.6 24.6 0 01-6.5-2.2 19.6 19.6 0 01-5.8-4.1 18.7 18.7 0 01-4.2-5.7 19 19 0 01-2-6.9c-.2-1-.2-2.5-.2-2.5V169.3h123.2v101.8z"/>
</g>
<g fill="#c7b37f" stroke="#c7b37f">
<path stroke-width=".3" d="M248 285.6a2.5 2.5 0 115 0 2.5 2.5 0 01-5 0zM232.5 268c0-1.3.8-2.3 1.8-2.3s1.7 1 1.7 2.3c0 1.2-.8 2.2-1.7 2.2-1 0-1.8-1-1.8-2.2z"/>
<path stroke="none" d="M241.3 223.6c0-1 .8-1.8 1.7-1.8 1 0 1.7.8 1.7 1.8s-.7 1.8-1.7 1.8-1.7-.8-1.7-1.8zM272 158c0-1 .5-2 1.4-2 .9-.1 1.7.6 1.8 1.6 0 1-.5 2-1.4 2-.9.1-1.6-.6-1.8-1.6z"/>
</g>
<g stroke="#c7b37f" stroke-linecap="round" stroke-width=".6">
<path d="M239.3 234c-.4.1-.6.2-.8.5-.3.3-.4.4-.6.9l-.2 1.2m4.7 26.7l1-1 .6-1 .5-1 .7-1.3m-1.3 14l-1.5.7-1.1.6a17.4 17.4 0 00-1.3.8l-1.2 1m15-37.9l-.8-.8-1-.8-.9-.8"/>
<path stroke-linecap="butt" d="M254.2 225l-1.2.5a5.1 5.1 0 01-1.5.3"/>
<path d="M237.4 208.4c.2.6.2 1 .5 1.5.2.7.5 1.1.9 1.7a8.3 8.3 0 002.6 2.7l1.5.8m-1-5.8l1.3.6a7.4 7.4 0 003 .6l1.8-.1m7.2-40.7l-2-1.2c-.9-.5-1.3-.9-2-1.5a9.3 9.3 0 01-1.1-1.3l-.8-1.3m7.5-4.6l.6 1.7a7.8 7.8 0 001.4 2c1 1 1.7 1.3 2.8 2.2m1.4-6c.3.7.3 1 .7 1.6.2.5.4.8.8 1.2l1.3 1.3c.7.6 1.2.7 2 1.1"/>
</g>
<path fill="#703d29" stroke-width=".2" d="M333.3 151.6c0-1.7-1.7-1.8-2.4-1.8-1.8 0-2.3 1.1-4.6 2.3a11.9 11.9 0 01-6.7 2 12 12 0 01-6.7-2c-2.3-1.2-2.7-2.3-4.6-2.3a2.3 2.3 0 00-2.2 2.4v.9l.3.2c0-.8.1-1.2.5-1.7a2.2 2.2 0 011.6-.8c1.8 0 2.5 1.2 4.8 2.4 3 1.6 4.2 1.9 6.7 2a12 12 0 006.8-2c2.3-1.2 3-2.5 4.8-2.5.6 0 1 .4 1.3 1v.9l.2.1c0-.3.2-.4.2-1z"/>
</g>
<g fill="#703d29">
<path d="M264.4 294c.5-.5.9-.3 1-.6 0-.2 0-.2-.3-.3l-.9-.2-.8-.4c-.1 0-.4-.2-.5 0-.1.4 1 .4.6 1.4a3.7 3.7 0 01-.8 1.2l-2.6 3-.2.1v-4.3l.1-1.8c.2-.4.8 0 .9-.4 0-.1 0-.2-.3-.3-.2 0-.5 0-1.1-.3l-1-.5c-.2 0-.5-.2-.6 0l.1.3c.4.2.5.4.5 1v7.4c0 .5.1.6.2.7.1 0 .2 0 .4-.3l5.3-5.7z"/>
<path d="M267.5 295.2c.3-1.1 1-.4 1-.8.1-.2 0-.2-.2-.3l-1.3-.4c-.4 0-.8-.3-1.2-.4 0 0-.3-.1-.4 0-.1.5 1.1.5.8 1.5l-1.7 5.5c-.3 1-1 .6-1.1 1v.1l1.2.4 1.6.5h.3c.2-.4-1.2-.3-.7-1.7l1.7-5.4zm3.7 1c.2-.6.5-.5.9-.4 1 .3 1.4 1.3 1 2.5-.2.6-.4 1.2-2 .8-.3-.1-.7-.2-.6-.5l.7-2.3zm-2.8 5c-.5 1.4-1.2.8-1.3 1.2 0 .2.2.2.3.3l1.6.4.8.3h.4c.1-.5-1-.3-.7-1.5l.6-2c.1-.4.1-.5.6-.3.6.1.7.3.8.8l.3 2c.2.9.3 1.7 1 2 .5 0 1.2 0 1.4-.4l-.2-.2h-.3s-.3 0-.3-.3l-.7-3.6c0-.2.4-.2.8-.3a2 2 0 001-1.3c.1-.5.4-2.2-1.8-2.9l-2.1-.5-1.2-.4h-.3c-.1.5 1.1.4.7 1.7l-1.5 5zm8.4 2.5c-.4 1.4-1.4.5-1.5 1 0 .2.1.3.3.3l1.5.3 1.4.4c.3 0 .5.2.6-.1 0-.3-1.3-.3-1-1.8l1.3-5.2c0-.6.2-.6.6-.5l1 .2c1.1.3.5 1.5 1 1.6.2 0 .2-.4.2-.6l.1-1v-.4l-3.3-.7-3.2-.8c-.1 0-.2 0-.2.2l-.5 1.5c-.1.1-.2.4 0 .4.5.1.5-1.5 1.7-1.2l.9.2c.4.1.5.2.4.8l-1.3 5.4zm12.7-3.3c.4-.6.8-.5.9-.7 0-.2-.2-.2-.4-.3h-.9l-.9-.3c-.1 0-.4-.1-.4.1-.1.4 1 .2.8 1.3 0 .2-.1.6-.6 1.3l-2 3.3-.3.2v-.2l-.7-4a5.4 5.4 0 01-.1-1.8c0-.5.7-.2.7-.5 0-.2 0-.2-.4-.3l-1.1-.1c-.4 0-.7-.2-1-.3-.2 0-.5-.1-.6.1l.1.2c.5.2.6.4.7.9l1.3 7.3c.1.5.2.7.3.7.1 0 .2 0 .4-.3l4.2-6.6zm.6 6.8c0 .3 0 .3.2.5.6.2 1 .6 1.7.7 1.4.2 2.6-.7 2.8-2.2.3-1.5-.3-2.1-1.4-2.9-1.3-.9-1.8-1.1-1.7-2 .1-.7.7-1 1.4-1 1.8.3 1.6 2.6 1.8 2.6.3 0 .3-.1.3-.4l.2-1.6v-.4h-.6c-.4 0-.7-.5-1.6-.7-1.2-.2-2.3.7-2.5 2-.2 1.2.4 1.8 1.2 2.4 1.6 1.1 2.2 1.4 2 2.4-.1 1-.9 1.4-1.7 1.3-1.2-.2-1.6-1.4-1.8-2.6 0-.2 0-.3-.2-.3s-.2.3-.2.5v1.7zm15.8-4.5c.3-.7.8-.6.8-.9 0-.2-.1-.1-.4-.2h-.9l-.9-.1c-.1 0-.4 0-.4.2 0 .4 1 0 1 1.1 0 .2-.1.6-.5 1.4l-1.8 3.5-.1.3-.1-.3-1.1-4a5.4 5.4 0 01-.3-1.6c0-.5.7-.3.7-.6 0-.2 0-.2-.4-.2h-1.2l-1-.2c-.2 0-.5-.1-.6.1l.2.2c.4.2.6.3.7.8l2.1 7.1.4.7c.1 0 .2 0 .3-.4l3.5-7z"/>
<path d="M307.6 308.5c0 1.2-1 1-1 1.5 0 .2.1.1.3.1h2.2l.4-.1c0-.6-1.4.2-1.4-2v-4.2l.1-.1.2.1 5.1 6.3.3.1.2-.3v-6.7c0-1.3 1-1 1-1.3 0 0 0-.2-.3-.2h-2.3c-.2 0-.2.1-.2.2 0 .4 1.3.2 1.3 1.3v4l-.1.4-.4-.3-4.2-5.3c-.2-.3-.1-.3-.4-.3h-1.8l-.2.1c0 .6 1.2-.2 1.2 2.1v4.6zM318 303c0-1.1.8-.7.8-1.1 0-.1 0-.2-.4-.2h-2.6s-.3 0-.3.2c0 .4 1.1 0 1.1 1.2v5.7c0 1.1-.8.8-.8 1.2 0 0 0 .2.2.2h2.8c.2 0 .3 0 .3-.2 0-.4-1.2.2-1.2-1.3l.1-5.7zm4.5 5.5c0 1.5-1.2 1-1.2 1.4 0 .2.2.2.4.2h3c.3 0 .5 0 .5-.3s-1.4 0-1.4-1.4V303c0-.6 0-.6.5-.6h1c1.2-.1.8 1.2 1.3 1.2.2 0 .1-.4.1-.6l-.1-1c0-.2 0-.4-.2-.4l-3.3.1h-3.3l-.2.3-.1 1.6.1.4c.5 0 .2-1.6 1.4-1.6h.9c.4 0 .5 0 .6.6v5.6zm6.3-2.2h-.4l.1-.5.7-2.2v-.2l.2.1 1 2.1.2.4c0 .2-.2.2-.4.2h-1.4zm1.8.5c.3 0 .3 0 .8 1l.2.8c0 .7-.7.6-.7 1 0 .1.2.1.4 0h1.2l1.3-.1c.3 0 .4 0 .4-.2 0-.4-.6 0-1-.7l-3.4-7-.3-.4c-.2 0-.2.2-.3.4L327 309c-.2.7-.8.7-.7 1h2.3c.2-.1.5 0 .5-.3s-1.2 0-1.3-.9l.2-1c.2-.8.4-.8.6-.8l2.1-.2zm8.3-5c-.1-.8 0-.8 1.2-1 2-.2 1.4 1.3 2 1.2.2 0 0-.4 0-.6l-.1-1.1c0-.1-.1-.2-.3-.2-1 0-1.7.2-2.4.3l-2.8.4c-.2 0-.3 0-.3.2.1.5 1.3 0 1.4 1l.7 5.5c.2 1.5-.7 1-.6 1.5 0 0 0 .1.2 0l1.4-.1 1.2-.1c.3 0 .5 0 .5-.3s-1.2.1-1.4-1.2l-.2-1.7c-.1-.7-.1-.9.3-1h.8c1.1-.2 1 1.1 1.3 1 .3 0 .2-.4.1-.5l-.3-2.1c0-.3-.2-.3-.2-.3-.3 0-.1 1.1-1 1.2l-.7.1c-.5.1-.5 0-.6-.5l-.2-1.7zm4 2.8c.4 2.3 2.1 3.7 4.2 3.3 3.4-.7 3.5-3.6 3.2-5.3-.5-2.5-2.3-3.7-4.4-3.3-2.5.5-3.5 2.7-3 5.3zm1.1-1c-.3-1.6 0-3.4 1.7-3.7 1.4-.3 3 .8 3.4 3.4.3 2 0 3.6-1.8 4-1.9.4-3-2-3.3-3.6zm8.3-4.1c-.1-.7.2-.8.6-.9 1-.2 1.8.5 2.1 1.6.2.7.3 1.4-1.3 1.8-.3 0-.7.1-.8-.2l-.5-2.3zm0 5.7c.4 1.4-.5 1.3-.5 1.6.1.3.3.2.4.1.6 0 1-.3 1.6-.4l1-.2c.2 0 .2-.1.2-.2 0-.4-1 .3-1.3-1l-.5-2c0-.4-.2-.4.4-.5.5-.2.7-.1 1.1.3l1.3 1.6c.5.6 1 1.3 1.8 1.1.5-.1 1-.5 1-.9l-.2-.1-.3.1s-.3.1-.4 0l-2.4-2.9.5-.6c.2-.4.4-.9.2-1.6-.1-.5-.7-2.1-3-1.6l-2.1.6-1.2.2c-.2 0-.3.1-.2.2 0 .5 1.1-.2 1.4 1l1.2 5.2zm8.7-2c.3 1.4-1 1.2-.9 1.6 0 .3.3.2.5.2l1.4-.5 1.5-.3c.3 0 .5 0 .4-.4 0-.3-1.3.4-1.7-1l-1.3-5.3c-.2-.5 0-.6.3-.7l1-.2c1.1-.4 1.1 1 1.5.9.3 0 0-.5 0-.7l-.4-1s0-.3-.2-.2l-3.2.9-3.2.7v.3l.1 1.6c0 .2 0 .4.3.4.5-.1-.3-1.6 1-1.9l.8-.2c.4-.1.6 0 .7.5l1.4 5.3zm5.5-7.3c-.3-1 .6-.9.4-1.3h-.3l-1.4.4-1.2.3s-.3 0-.3.2c.1.4 1.2-.2 1.5.8l1.6 5.6c.2 1-.6 1-.5 1.3 0 .1 0 .2.2.1l1.1-.3 1.6-.4c.3 0 .3-.1.3-.3-.1-.3-1.1.5-1.5-.9l-1.5-5.5zm2.3 2.7c.7 2.3 2.6 3.4 4.7 2.7 3.2-1.1 3-4.1 2.4-5.7-.8-2.4-2.8-3.3-4.8-2.7-2.4.9-3.2 3.2-2.3 5.7zm1-1c-.6-1.7-.6-3.5 1.1-4 1.3-.5 3 .4 3.9 2.9.6 1.8.5 3.6-1.2 4.2-1.8.6-3.2-1.5-3.8-3.2zm7.6-5.5c-.2-.7 0-.8.4-1 1-.3 2 .3 2.4 1.4.2.6.4 1.3-1.1 1.9-.3 0-.7.2-.8 0l-.9-2.3zm.8 5.6c.6 1.4-.4 1.4-.2 1.7 0 .3.2.1.4.1l1.5-.7.9-.2c.2-.1.2-.2.2-.3-.2-.4-1 .4-1.4-.8l-.8-1.9c-.2-.4-.2-.5.3-.7.5-.2.7-.1 1.1.3l1.6 1.4c.5.5 1.1 1.1 2 .8.3-.2.9-.7.7-1l-.2-.1-.2.2h-.5l-2.8-2.5.4-.7a2 2 0 000-1.6c-.1-.6-1-2-3.1-1.2l-2 .9-1.2.4-.2.2c.2.4 1.1-.4 1.6.8l2 5z"/>
</g>
<g fill="#fedf00" transform="matrix(.64 0 0 .64 0 16)">
<path fill="#d52b1e" d="M412.7 249.3h82.1v82h-82.1z"/>
<path id="a" fill="#fff" d="M451.2 313.8s0 3-.8 5.3c-1 2.7-1 2.7-1.9 4a13.2 13.2 0 01-3.8 4c-2 1.2-4 1.8-6 1.6-5.4-.4-8-6.4-9.2-11.2-1.3-5.1-5-8-7.5-6-1.4 1-1.4 2.8-.3 4.6a9 9 0 004.1 2.8l-2.9 3.7s-6.3-.8-7.5-7.4c-.5-2.5.7-7.1 4.9-8.5 5.3-1.8 8.6 2 10.3 5.2 2.2 4.4 3.2 12.4 9.4 11.2 3.4-.7 5-5.6 5-7.9l2.4-2.6 3.7 1.2h.1z"/>
<use width="100%" height="100%" transform="matrix(-1 0 0 1 907.5 0)" xlink:href="#a"/>
<path d="M461.1 279l10.8-11.7s1.6-1.3 1.6-3.4l-2.2.4-.5-1.2-.1-1.1 3-.7V260l.3-1.3-3.2.2.3-1.4.5-1 1.9-.4h1.9c1.8-3.4 9.2-6.4 14.4-1 3.8 4 3 11.2-2 13.2a6.3 6.3 0 01-6.8-1.1l2-4c2.7 1.7 5-.3 4.8-2.4-.2-2.7-2-4.3-4.3-4.5-2.3-.2-4 1-5 3-.6 1.3-.3 2.2-.5 3.6-.2 1.5 0 2.3-.5 3.8a8.8 8.8 0 01-2.4 3.6l-11 12-43 46.4-3.2-3 43.2-46.7z"/>
<path fill="#fff" d="M429.5 283s2.7 13.4 11.9 33.5c4.7-1.7 7.4-2.8 12.4-2.8 4.9 0 7.6 1 12.3 2.8A171 171 0 00478 283l-24.2-31-24.4 31z"/>
<path d="M456.1 262.4l16.8 21.7s-2.2 10.5-9 26.3c-2.7-.6-5-1.1-7.8-1.3v-46.7zm-4.7 0l-16.8 21.7s2.2 10.5 9 26.3c2.7-.6 5-1.1 7.8-1.3v-46.7z"/>
</g>
<g fill="#d52b1e">
<path fill="#fedf00" d="M322.3 175.5h52.6V228h-52.6z"/>
<path d="M329.7 175.5h7.8V228h-7.8zm15 0h7.8V228h-7.8zm15 0h7.9V228h-7.9z"/>
</g>
<g fill="#d52b1e" stroke="#d52b1e" stroke-width=".5">
<path fill="#fedf00" stroke="none" d="M264.3 273.5c.1 1 .5 2.6 1.4 4.3 1 1.5.6 1.4 2.7 3.8a15.3 15.3 0 004 2.9 32.7 32.7 0 0015 2.6c2.7-.1 4.8-.4 6.6-.7a71 71 0 0111-.6c1.5 0 3 .3 4.7.6 3.5.7 7 2 7 2v-54.7h-52.6V271l.2 2.4z"/>
<path stroke-width=".3" d="M270.4 283.1l2.5 1.5 3.4 1.2v-52.2h-5.9zm29.2 2.4v-51.9h-5.8v52.8l5.8-.7zm11.7-51.9h-5.8v52.1c1.9.2 3.8.6 5.8 1v-53zm-23.4 0V287s-3.8.2-5.8 0v-53.4z"/>
</g>
<g transform="matrix(.64 0 0 .64 0 16)">
<path fill="#fedf00" d="M585.5 402.4a20.8 20.8 0 01-2.2 6.6c-1.5 2.3-1 2.3-4.3 6a26.3 26.3 0 01-13 7 51.8 51.8 0 01-16.6 1.6c-4.3-.2-7.5-.7-10.3-1-3.8-.6-6.7-.9-11-1a62.9 62.9 0 00-6.2 0 83.3 83.3 0 00-18.3 4.2V340h82.2v58.5l-.3 3.8z"/>
<g id="b">
<path fill="#d52b1e" d="M524.6 347l-.6.2-.8.8c-.4.4-.7.5-1.2.8l-.6.5c-.3.3 0 .6-.3 1-.1.4-.3.6-.6 1-.4.4-.7.5-1 1l-1.2 1-.3.1h-.6c-.4.2-.5.6-.8.8l.3.6.8 1.4c.2.3.2.7.5.8.5.2.9.2 1.3.1.8.2 1.3.2 2 .5l1.5.8c.5.3.8.4 1.3.5h1.8v.3l2 1a1.7 1.7 0 00-.1.4c-.1.3-.2.7-.1.8.6 1.9 1.2 3 1.5 3.2.6.2.8.9 1.1 1.5l-.3.3c-.6.6-1.2 1-1.7 1.8-.7 1.2-1.2 1.2-.3 2.8l1.5 2.4c.4.7.6 1.2.8 2 .2.7.3 1.2.3 2l1 .3.7-.6.6-1.2v-1c-.2-.1-.3-.4-.2-.7 0-.4.5-.3.7-.6.3-.5-.4-.8-.7-1.1-.6-.7-1.4-.9-1.6-1.9 0-.2 0-.4.4-.7l2-1.8c.2.1.6.2 1 .1l1.3.4c.6.2.9 0 1.2 0h.4l.1.6c.1 1-.1 3 .2 3.5l.3.6.2.6v2l-.2 1.7c0 .4-.2.7-.5 1-.2.4-.6.4-1 .7v1l1.1.5 1.3.3.7-.3.1-.6.5-.5c.4-.2.8 0 .9-.1.2-.3 0-.4 0-.8 0-.6-.2-1-.3-1.6a11.8 11.8 0 01-.1-2.8c0-.6 0-1 .2-1.5.1-1 .4-1.4.6-2.2.3-1 .3-1.6.4-2.5a24.4 24.4 0 0010.1-.6c.8.7 1.7 1.2 2.7 1.6v1c0 .3 0 .4.2.7l.3.3c.3 0 .5 0 .7-.2.2-.2.2-.4.2-.7v-.7h1.8v1.1c.1.3.3.4.5.4a.7.7 0 00.6 0c.3-.2.2-.6.3-1v-.7l1-.4a5.1 5.1 0 010 .9l-.3.9c-.2.6-.5.8-.8 1.4-.4.6-.5 1-1 1.5l-.6.7-.6.9-.9 1c-.7.6-1.2.2-2 .9l-.3 1 1.4.6 1.3.2.4-.2c0-.3 0-.6.3-.8.2-.3.4-.3.7-.4.4 0 .8 0 1-.2.4-.3.4-1 .7-1.5a12.7 12.7 0 013-3.9l1.7-1.4c.2-.4.5-.5.5-1l-.2-.6-.2-1c1.5.7 1 .7 1.2 1.4.3.6 0 1 .1 1.7.1.8.5 1.1.5 1.9.1.9-.1 1.4-.3 2.3-.1.8-.1 1.3-.5 2a3.8 3.8 0 01-1.1 1.5l-.6.5-.1 1 1.1.4 1.6.4.4-.3c.2-.7 0-1.7.4-1.7.4-.1.7 0 .8-.3v-.7l.7-4.5.4-1.9.4-1.7c.7-2-.2-2.3-1-3.6-.5-.7-.7-1-.7-1.5V362a42.7 42.7 0 010-2.8l.4-.2c1.2-.7 1.7-.9 2.4-2.5a3.4 3.4 0 00.3-1.5v-1l-.4-1a3.2 3.2 0 00-.6-.8c-.7-1-1.7-1.1-2.7-1.5-1.5-.5-2.5-.4-4-.5-1.8-.2-2.7-.2-4.4 0-2 0-3.1.4-5.1.7l-4.9.4c-2.3 0-4.4-.5-5.8-.4-2.4.2-2.5.8-6.2 1.1a67 67 0 01-3.8.2l-2.2-.7c.9-.3 1.1-.5 1.5-1 .3-.4.2-.7.6-1.1l.7-1a2.2 2.2 0 00-.9-.4h-1a3 3 0 00-1.2.3l-.8.6-2.2-1.2a8.8 8.8 0 00-3-.9zm2 11.8z"/>
<g fill="none" stroke="#fedf00" stroke-linecap="round">
<path d="M568.8 359.5l-.8.3c-.9.4-1.6.4-2.6.5-2.6.2-4.3-1.1-7-.9-1.4.1-2 1.2-3.5 1.6a9.3 9.3 0 01-1.7.2l.5-1s-1.2.3-2 .3a7.5 7.5 0 01-1.6-.2l1-1-1.3-.2a4 4 0 01-1-.7 20.5 20.5 0 001.7-.3c1.5-.4 2-1.2 3.9-1.4 1.1 0 3 0 7.6.8 3 .5 4.4.2 5.5-.3.8-.3 1-1 1.1-1.8.1-.8-.4-1.4-.8-1.8-.1 0-.5-.3-1.1-.4"/>
<path fill="#fcd900" stroke-linecap="butt" stroke-width=".5" d="M524.8 350.6c-.5 0-.9 0-1.3.3-.5.3-.6.7-1 1.1.5.1.8.4 1.2.3.4 0 .5-.2.8-.5.3-.4.4-.7.4-1.2h-.1z"/>
<path d="M536 363.8a13.6 13.6 0 001 2.3c.2.8 0 1.2.2 2v1.6m6.8-7l-.3 1.3-1 3.5v.7m-11-4c.9.2.6 3.3 1.9 4"/>
<path stroke-linecap="butt" d="M560.1 369.8l.4-.3a8.2 8.2 0 002.7-1.8"/>
<path d="M552.4 368c3.5-.9 5.9-2.6 7.6-2.9m-4-1.5h.8c1.5-.3 1.7.6 2.7 1.2 1.9 1 2.1 2.3 4.3 3.4l.4.1.8.4"/>
<path fill="#fcd900" stroke-linecap="butt" stroke-width=".5" d="M517.7 354.5h.7l.8-.2c.3 0 .5 0 .7.2.2 0 .2.1.3.3 0 .2.2.3.1.5 0 .2-.3.4-.6.4-.2 0-.4 0-.5-.3a.5.5 0 010-.4 1 1 0 01-.9 0 1 1 0 01-.6-.5z"/>
</g>
<path fill="#0065bd" d="M525.1 364.2l-2-.9c.4-.2.7-.2 1-.5.3-.4.3-.8.5-1.3s.2-1 .7-1.4c.3-.2.8-.2 1.1-.1.4 0 .8.4.9.7 0 .6-.2 1-.3 1.5 0 .6-.3.9-.2 1.4 0 .4.2.6.4 1l-2-.4zm-1 1a.6.6 0 11.7.5.6.6 0 01-.7-.6zm-1.7-16.6h-.2c-.4-.4-.4-.8-.6-1.2a4 4 0 01-.3-1.2v-2c0-.3 0-.6-.2-.9 0-.2-.4-.3-.3-.4 0-.1.3 0 .4 0 .4 0 .6.1 1 .4.3.3.5.6.6 1l.4 1.5.3.8.5.6-.7.8-.9.6zm3.6 10.6l2.2 1a9.2 9.2 0 003.5-3.8c.9-1.8 1-2.7 1.4-4.4l-1.8-.5h-.4c-.5 1.8-.7 2.7-1.6 4.2-.8 1.3-1.7 2.3-2.6 3l-.7.5zm5 18.2l.8-1.3 1.4-1.1h.4a8.7 8.7 0 01-.5 2.8l-.4 1-.5.5c-.5-.8-1.3-1.3-1.3-2zm33 1.8l1.4.6 1.5.9v.5l-1.5.2a8.4 8.4 0 01-1.3 0h-1l-.6-.4c.5-.7.8-1.6 1.4-1.8zm-9.8-2l1.4.5 1.5 1c0 .1.1.3 0 .4a9 9 0 01-2.7.3l-1-.1-.7-.3c.6-.7.9-1.7 1.5-1.8zm-17.4 2.1l1.5.5 1.5 1v.5a9 9 0 01-2.8.2h-1l-.6-.4c.5-.7.8-1.6 1.4-1.8zm-9-29.8c-.6-.3-1-1-.6-1.6.1-.2.4-.2.6-.4.2-.3.1-.5 0-.8l-.1-1-.2-1c0-.6 0-1 .4-1.6.2-.3.7-.6.8-.6.2.1 0 .5 0 .8 0 .5.1.7.3 1.2l.7 1.3c.2.6.4.8.4 1.4 0 .5 0 .7-.2 1.2a2 2 0 01-.6.8 2 2 0 01-.8.4 1.1 1.1 0 01-.6 0z"/>
</g>
<use width="100%" height="100%" y="36.6" xlink:href="#b"/>
</g>
<path fill="none" stroke="#703d29" stroke-width=".5" d="M264.1 175.5h52.6V228h-52.6zm58.2 0h52.6V228h-52.6zm-58 98c.1 1 .5 2.6 1.4 4.3 1 1.5.6 1.4 2.7 3.8a15.3 15.3 0 004 2.9 32.7 32.7 0 0015 2.6c2.7-.1 4.8-.4 6.6-.7a71 71 0 0111-.6c1.5 0 3 .3 4.7.6 3.5.7 7 2 7 2v-54.7h-52.6V271l.2 2.4zm110.4 0a13 13 0 01-1.4 4.3c-1 1.5-.6 1.4-2.7 3.8a15.4 15.4 0 01-4 2.9c-1.3.7-2.3 1-4.4 1.6a32.6 32.6 0 01-10.6 1c-2.7-.1-4.8-.5-6.5-.7a71 71 0 00-7.2-.6 40.5 40.5 0 00-3.9 0c-1.5 0-3 .3-4.7.6-3.5.7-7 2-7 2v-54.8H375v37.5l-.2 2.4z"/>
</svg>

After

Width:  |  Height:  |  Size: 33 KiB

View file

@ -0,0 +1,148 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-ad" viewBox="0 0 512 512">
<path fill="#d0103a" d="M0 0h512v512H0z"/>
<path fill="#fedf00" d="M0 0h348.2v512H0z"/>
<path fill="#0018a8" d="M0 0h163.8v512H0z"/>
<path fill="#c7b37f" d="M240.3 173.3c6.2 0 8.7 5.3 14.9 5.3 3.8 0 6-1.2 9.3-3.1 2.4-1.3 3.8-2 6.5-2s4.4.8 5.8 3.1a9 9 0 011 5.4 32 32 0 01-2.1 6.7c-.5 1.2-1 2-1 3.3 0 3.3 4.4 4.4 7.4 4.5.7 0 6.3 0 9.7-3.4-1.9 0-4-1.5-4-3.4 0-2 1.5-3.5 3.5-4.1.4-.1 1 .2 1.4 0 .5-.2.2-.8.7-1.1 1-.8 1.6-1.3 2.9-1.3a3 3 0 012 .6c.3.2.5.6.9.6 1 0 1.4-.6 2.3-.6.7 0 1.2 0 1.8.4.6.3.6 1.2 1.2 1.2.3 0 1.9-.6 2.8-.6 1.7 0 2.7.6 3.8 2 .3.3.5 1 .8 1a5 5 0 013.9 2.4c.2.3.5 1.1.9 1.3.4.1.7.1 1.3.5a4.8 4.8 0 012.3 3.9c0 .5-.3 1.2-.4 1.7-1.5 5.2-5.1 7-8.7 11.4-1.6 2-2.8 3.5-2.8 6 0 .6.8 1.7 1 2.2-.1-1.2.4-2.6 1.6-2.7 1.7 0 3 1.2 3.2 2.8 0 .4 0 1.1-.2 1.5.9-.6 2-1 3.2-1.1a9.9 9.9 0 011.5 0 13 13 0 017.4 3 16.9 16.9 0 015.9 13.4c-.7 4.3-.3 11.9-11 15 2 .8 3.3 2.3 3.3 4.1 0 2-1.5 3.8-3.5 3.8a3.5 3.5 0 01-2.8-1.1c-2.2 2.2-2.7 4.5-2.7 7.7 0 1.9.4 3 1.2 4.7a9 9 0 003 4.2c.8-1.2 1.6-2 3-2 1.5 0 2.7.4 3.3 1.7.1.3 0 .7.2 1 .2.5.7.6 1 1.1.3.8 0 1.4.3 2.2.2.5.7.6 1 1 .3.9.4 1.4.4 2.3 0 2.4-2.2 4-4.6 4-.8 0-1.2-.2-1.9-.1 1.4 1.3 2.4 2 3.5 3.6a14.1 14.1 0 012.3 8.2c0 3.6-.6 5.8-2.2 9a16 16 0 01-5.6 6.8 28 28 0 01-12.8 5c-3.4.7-5.3 1-8.8 1.2l-11.3.6c-5.7.4-9.7 1.2-13.8 5.3 2 1.4 3.3 2.8 3.3 5.2 0 2.4-1.5 4.2-3.9 5-.5.1-1 0-1.4.2-.6.3-.6 1-1.2 1.4a5 5 0 01-3 .8c-2.2 0-3.6-.5-5.2-2-1.7 1.4-2.3 2.7-4.3 3.9-.7.3-1 .8-1.7.8-1.2 0-1.8-.7-2.7-1.4a18.4 18.4 0 01-3.6-3.3c-1.8 1.1-2.9 2-5 2a5.2 5.2 0 01-3.1-.9c-.6-.3-.7-.9-1.3-1.2-.6-.4-1-.2-1.7-.5-2.4-1-4-2.8-4-5.5 0-2.3 1.5-3.8 3.6-4.7-4-4-8-4.7-13.6-5-4.4-.4-7-.4-11.3-.7-3.4-.2-5.4-.6-8.8-1.1-2.6-.4-4.1-.6-6.5-1.7-8.2-3.8-13.4-9-14.5-18v-2c0-4.7 1.8-7.5 5-10.8-.8-.2-1.3 0-2.2-.2-2-.8-3.5-2.2-3.5-4.4 0-.8 0-1.4.4-2 .3-.6.8-.7 1-1.2.1-.8 0-1.3.3-2 .2-.5.6-.5.8-1 .7-1.5 1.6-2.7 3.3-2.7 1.4 0 2.3.8 3 2 1.4-.7 1.8-1.7 2.6-3 1.3-2.2 1.8-3.7 1.8-6.2a11 11 0 00-.7-4.4c-.4-1.2-.5-2-1.4-3a3.5 3.5 0 01-2.8 1.2c-2.3 0-4-2-4-4.3 0-1.7.8-3 2.4-3.7-1.3-1-2.4-1.2-3.7-2-2.1-1.4-2.9-2.7-4.2-4.8-1-1.4-1.2-2.3-1.6-3.8a15 15 0 01-.9-5v-1.3c.6-3.9 1.3-6.4 3.8-9.5a11 11 0 014.6-3.9 11.6 11.6 0 016.5-1.3c1 .2 1.5.2 2.3.7.3.2.9.7.9.3l-.2-1c0-1.7 1.2-3.2 2.8-3.2 1.2 0 1.7 1 2.3 2 .4-.6.6-1 .6-1.7 0-2.8-1.5-4.2-3.2-6.3-3.7-4.7-8.4-6.9-8.4-12.8 0-1.8.9-3 2.4-4 .4-.2 1 0 1.5-.2.3-.3.3-.7.5-1.1a4 4 0 011.3-1.3c.8-.8 1.6-.5 2.5-1.2.5-.3.6-.7 1-1.2 1-1.2 2-1.8 3.6-1.8.8 0 1.3 0 2 .3.3 0 .8.5.9.4.1-.2.6-.7 1.1-1 .7-.3 1-.4 1.8-.4.9 0 1.4.5 2.3.5.4 0 .4-.3.7-.5.8-.5 1.2-.8 2.2-.8 1 0 1.4.3 2.2.8.7.4.8 1 1.6 1.5l1.2.3c2 .6 3.6 2 3.6 4.2 0 1.2-.2 2-1.1 2.8-.7.6-1.4.5-2.3.8a13 13 0 009 2.8c3.5 0 7.6-1.3 7.6-4.7 0-1.6-.9-2.4-1.5-3.8a15 15 0 01-1.7-6.9c0-2.2.2-3.5 1.5-5.3 1.3-1.9 3-2.3 5.2-2.3z"/>
<g fill="none" stroke="#703d29">
<path stroke-linejoin="round" stroke-width=".5" d="M217.9 191.2c.2.9.9 1.6 2 2a3 3 0 003-1.1c.8-1 .7-2.3.5-3.3a3.8 3.8 0 00-1.4-1.8l-4.1 4.2z"/>
<path stroke-linecap="round" stroke-width=".5" d="M320.8 252.9c-1-2.3-3.4-1.3-3.6 0-.3 3 2.3 3.8 4.1 3.3.9-.2 1.6-.8 2-1.5.5-.8.6-2 .3-3a4 4 0 00-.7-1.3 4 4 0 00-1-1c-.7-.4-1.5-.5-2.7-.5-4.4 0-8.3 5.3-9.6 10.8a23.6 23.6 0 00-.2 9.6 18 18 0 004.7 9 20 20 0 007.9 4.7c1.1.3 2.2.3 3.1 0 2.7-.5 3.9-3 2.6-5.5-1.1-2-4.3-3.2-5.8-.6a2.6 2.6 0 00-.4 1.3c0 .7.3 1.5.8 1.8 1.2.8 3 .6 3-1.5"/>
<path stroke-width=".7" d="M307 283.2a9 9 0 015.3-3c2.4-.2 4.5.5 6.6 1.6a14.9 14.9 0 018.6 13.6c0 3-.8 6-1.5 7.6-.7 1.3-2.5 7.1-12.3 11.2a67.4 67.4 0 01-20.5 3c-8.4.4-16 .7-20.5 6.2"/>
<g stroke-width=".6">
<path d="M309.1 292.6c-.2-.9 0-1.7.7-2.7 1-1.3 2.9-1.7 4.7-.7.6.3 1.3.8 2 1.7l1 1.2.8 2c2 5.6-1.2 11.7-5.2 14.1-3.2 2-7 2.8-11.5 3.3l-5.3.3h-7.6a56.3 56.3 0 00-5.8 0l-6 .6-4.4.8-1.5.4-1 .3a31.9 31.9 0 00-7.7 3.3c-.7.4-1.5.9-2 1.4l-1.1 1c-1.5 1.4-3.1 3-3.5 5.3v1.3c0 1.4 1.1 3.4 4.3 4m4.4-136.1c.6 1.2 1 2 .6 3.1-.4 1.4-1.4 2.3-2.8 2.3-3.2 0-5-3.8-3.6-6.2 2.5-4.3 7.4-1.9 12 .2-.3-1-.7-1.4-.6-2.8 0-3.3 2.6-4.8 3.6-8 .6-1.8.8-3.4-.6-4.7-1.1-1.2-2.5-1.1-4-.5-3.1 1.2-6.8 4.6-13.3 4.7-6.5 0-10.3-3.5-13.4-4.7-1.5-.6-2.9-.7-4 .5-1.4 1.3-1.2 3-.6 4.8 1 3 3.5 4.6 3.6 8 0 1.3-.3 1.6-.6 2.7 4.6-2 9.7-4.7 12-.2 1.3 2.5-.4 6.2-3.6 6.2-1.4 0-2.4-1-2.8-2.3-.4-1.1 0-2.2.6-3.1"/>
<path stroke-linecap="round" d="M251.7 191.9c1.2 1 2 2.1 1.9 4-.1 2-.7 2.5-2.2 3.6m1.9-3c-.1 1.2-.6 2-1.8 2.5"/>
</g>
<path fill="#c7b37f" stroke="none" d="M221.4 186.6l.5.4.6.7.4.8.2.6v1.5l-.2.7-.4.5-.4.5-.7.3-.9.2-.7.2-.8-.4-.8-.5-.4-.7-.3-.8v-.3l3.9-3.7z"/>
<path stroke-linecap="round" stroke-width=".5" d="M220.2 189.7c-.3-1.3-1.8-1.6-2.4-.8-1 1.2-.3 3.2 1.6 3.8a3 3 0 003-1.1c.8-1 .8-2.3.5-3.2-.2-.7-.7-1.2-1.4-1.7-2.2-1.7-5.7-1.3-6.8 1.5-1.5 3.6 1.7 6.3 4.7 8.3 3.8 2.5 8 3 11.3 3 7.3-.1 12.9-3.6 16.5-5.6.8-.5 1.7-.4 2.1.2.5.6.5 1.5-.2 2.2"/>
<path stroke-width=".5" d="M198.4 289l-1.6.5-1.7 1.3-.7 1-.9 1.6-.4 1.2-.3 1.5-.2 1m15.2-8v1.4l-.3 1-.7 1.7-1.1 1.5-1.2 1-1 .4-1.2.3"/>
<path stroke-width=".6" d="M255.8 327.3c-.3 1.3-1.5 2.8-4.3 3.4h-.5"/>
<path stroke-width=".7" d="M323.4 285a14.6 14.6 0 014.5 10.8c-.1 2.8-.8 6-1.6 7.5-.7 1.3-2.5 7.2-12.3 11.2a67.7 67.7 0 01-20.5 3.1c-8.2.4-15.8.7-20.3 6"/>
<path stroke-width=".5" d="M310 290.3c.6-.9 2.8-1.9 4.6-1a5 5 0 012 1.7"/>
<path stroke-width=".7" d="M321.3 283l1.1.4a5.6 5.6 0 003.2 0c2.2-.6 3.7-2.7 2.5-5.5a4.5 4.5 0 00-1.4-1.7"/>
<path stroke-linecap="round" stroke-width=".5" d="M192.2 223.8c-1.5 1-2.6 1.2-3.8 2.5a22.5 22.5 0 00-2.1 5.5m36.9-41.4c0 1.4-1 2.3-2.4 2.6"/>
<path stroke-width=".5" d="M317.7 217.6c3.8 0 14.8 2.9 14.9 15.8 0 12.8-8 14.9-11.1 15.7"/>
<path stroke-width=".5" d="M318.7 217.6c6.5-.3 13.2 4.5 13.5 16.5.3 9.4-6.4 13.6-9.6 14.5m-7.6 14.1l.2-1.2.4-2 .6-1.7.7-1.3.8-1m6.3-2.7l-.1 1.2-.4.9-.5.8-.7.5-1 .3h-1.5m-11.4-42.3l.3-1.3.6-1.3.7-1.2 1.4-1.7 1-1.2 1.7-1.7 1.5-1.5 1-1.1 1.2-1.5 1-1.7.7-1.3.4-1.8.1-2.1-.2-.7M310 296.7l1.3-.3 1-.5.5-.5.4-.7.2-1v-.6M187 283.3l.9.1h1.2l1.3-.5m4-29.3l-.2 1.2-.2.4-.4.5-.5.4-.6.3-.8.1h-.5m8-12.5l-.3 1.8-.4.7-.7 1-1 .7-.9.5-1.8.4m12.2-31.8l-.3 1-.5.8-.6.9-.8.7-1 .5-.8.2h-.6m.3-5v.8"/>
<g stroke-width=".5">
<path stroke-linecap="round" d="M203.4 243.3a5.5 5.5 0 01-1.6 1M322.2 280l.4.2c1 .7 3.3-.2 2.7-2"/>
<path d="M318.2 255.7c.8 1 2.4 1.3 3.6 1 .9-.2 1.5-.8 2-1.6.4-.8.6-1.9.3-3a4 4 0 00-.7-1.3 5.4 5.4 0 00-1.1-1.1l-.3-.2m5.2 27.2a3.1 3.1 0 000-.6c0-.9-.4-1.7-1-2.3-.2-.2-.4-.5-.7-.6m.4.3c0-1.5-1.3-2.5-2.8-2.8m-3.3 2.3c-.4-.3-.8-.5-1-.9a12.6 12.6 0 01-3.5-8.5c0-3.3 1.3-6.7 2.8-8M273 323.3l1.5-1.3 1-.8 1.8-1.1 1.8-.9 1.2-.3 2.5-.5 2.9-.5M262 333.4a14.1 14.1 0 01-6.1 5 14.1 14.1 0 01-6.1-5"/>
<path stroke-linecap="round" d="M251.5 330.1a8 8 0 01-1.7 3.3"/>
<path d="M251.8 328.4l-.4 1.8m-1.8 3.3l-.8.8-1.4.7-1.5.5m-4.5-142.2c.2-.6.4-1.1.3-2.1 0-3.4-2.5-4.9-3.5-8-.6-1.8-.9-3.4.5-4.8 1.2-1.1 2.5-1 4-.5 3.2 1.2 6.9 4.7 13.4 4.8-6.5-.1-10.2-3.6-13.3-4.8-1.6-.6-3-.8-4.2.4-1.4 1.3-1 3-.4 5 1 3 3.3 4.5 3.4 7.9 0 1-.2 1.5-.4 2m14.9-10.7c6.4-.4 11.9-4.7 13.7-5 1.6-.3 2.4-.2 3.6.9-1.2-1.1-2.5-1-4-.5-3 1.2-6.8 4.7-13.3 4.8m63.7 90.3a12.4 12.4 0 01-5-9.9c0-3.3 1.3-6.7 2.9-8m-56 78a14.1 14.1 0 01-6 5 14 14 0 01-6.2-5"/>
<path stroke-linecap="round" d="M245.3 195l1.9-1c.8-.6 1.9-.5 2.3 0 .5.7.6 1.7-.1 2.3"/>
<path d="M235.8 199.4c4.4-.9 8-2.9 10.6-4.4m25.9 131.4l.6.7.2.7c.2 1.2-.6 2-1.5 2.1a2.7 2.7 0 01-2.8-1.6m-33.3-129.1c4.4-1 8-2.9 10.7-4.4m78 85.5c-.7.3-1.2.3-2.2-.2l-1.5-.8c-2-1.1-4.5-3-6.8-7.2a15 15 0 01-1.3-3.6c-.2-.9-.4-1.8-.4-2.7a20.5 20.5 0 01.5-5 16.2 16.2 0 013.2-7.2c1-1.3 1.7-2 3.5-2m-115-31.5a5.7 5.7 0 012.1 4.6c0 2.5-2 6.5-7.2 8-2 .5-3.8 0-5-.7"/>
<path d="M205 228.5c1 .6 1.3 1.4 1.3 2.6 0 .8-.5 2-1.5 3a9.9 9.9 0 01-7 3.2 8.2 8.2 0 01-4.8-1.4 7.3 7.3 0 01-3-4.3"/>
<path d="M205 233.8c1 1 1.3 2.2 1.3 3.7 0 2.2-.9 3.9-3 5.7a5 5 0 01-1.5 1m103.6-17.6v2.9m-.3-3.6v4m.3-12.6v5.2m-.3-6.3v7m-1.5 65.7c-1 2-1.8 3-3.3 4.5a15.7 15.7 0 01-4.7 3.3 19.7 19.7 0 01-5.2 1.7c-2.1.5-3.4.6-5.5.7-2 0-3.1 0-5.1-.2-2.1 0-3.3-.4-5.4-.6-1.7-.1-2.7-.3-4.5-.3a22.8 22.8 0 00-8.7 1.5c-2.2.9-4.6 2.4-5.1 3-.5-.6-3-2.1-5.1-3a22.8 22.8 0 00-8.8-1.5c-1.7 0-2.7.2-4.4.3-2.1.2-3.3.5-5.4.6a37.3 37.3 0 01-10.6-.5c-2.1-.5-3.3-.8-5.3-1.8a15.7 15.7 0 01-5-3.7m33.6 42.7l1.5-.2m24.2-1.9l1.4-.1 1.4-.6 1-.5 1.3-1.6.3-.6.2-1.3v-.6M314 218.8c.6-2.1-.2-4.3-2.2-4.3m-105.6 37.3a6.5 6.5 0 01-2.9 3.7m3-37.4a5.2 5.2 0 01-3 3.2c-1.4.7-3.2 0-4-.6"/>
<path stroke-linecap="round" d="M195 225.9c1.3.6 2.5-.3 2.3-1.9a2.3 2.3 0 00-2-1.8"/>
<path d="M200.1 293.3c.3.3.4.6.7.6.5.1 1 .3 1.5-.4.7-.9.3-2.2-.4-3.1a4 4 0 00-4.7-.7c-.5.3-1.3.7-2 1.6l-.9 1.3-.9 2c-1.6 4.6.3 9.5 3.4 12.5"/>
<path stroke-linecap="round" d="M272.2 326.3l.5.6.2.7c.2 1.2-.6 2-1.6 2-1.3.2-2.2-.6-2.7-1.6"/>
<path d="M311.6 187.8a6 6 0 015 5.6c0 3.6-1.2 4.9-3.1 7.4-2 2.7-8.5 7.7-8.5 13.4 0 3.4 1 5.6 3.4 6.7 1.6.7 3.5 0 4.3-.8 2-1.9 1.3-5.2-1-5.6-2.5-.4-3 3.7-.5 3.4m14.3 55.3a3 3 0 00-2.9-2.5 3 3 0 00-3 3c0 .8.4 1.5.9 2"/>
<path d="M307.1 220.1a5.7 5.7 0 00-2.1 4.6c0 2.5 2 6.5 7.2 8 1.9.5 3.8.4 5-.3m-124.9-8.2a7.5 7.5 0 00-3.8 2.7 13.5 13.5 0 00-1.9 4.9c-.1.7-.3 3 .1 5.3a12.7 12.7 0 001.9 4.5l.8 1 .9.7m51.2 73.6c3.9 1.8 6.7 3 9.2 6.9a8.2 8.2 0 01-1.7 10 6.6 6.6 0 01-5.4 1.6c-1.5-.2-3-1.3-3.2-2m-37.2-90a6.6 6.6 0 013.1 6c0 3-1.5 4.8-3.2 5.9"/>
<path stroke-linecap="round" d="M201.2 253.1c3.3 4.1 5 6.5 5.1 11.3.1 4.6-1.4 7.7-4 11"/>
<path d="M263.8 199.5a3.3 3.3 0 001.3-1.8c.4-1.2.4-2.2-.3-3.1.8 1 .9 1.9.7 3.1-.2.8-.7 1.2-1.3 1.8m41.2 69v12.8a19.6 19.6 0 01-.3 3.4m0-17.5V283l-.4 2.1m.4-34.3v11.6m.3-10.7v9.4m0-21.5v7.1m-.3-7.9v8.8m.3-15.2v2.8m-.3-3.4v4m-1.4 52.2l-.3.5a15 15 0 01-3.4 4.6 15.7 15.7 0 01-4.6 3.2 19.7 19.7 0 01-5.3 1.8c-2 .5-3.3.6-5.5.7-2 0-3 0-5-.2-2.2-.1-3.3-.4-5.4-.6-1.8-.1-2.8-.3-4.5-.3a22.9 22.9 0 00-8.8 1.5c-2.1.9-4.5 2.4-5 3a17 17 0 00-5.1-3 22.9 22.9 0 00-8.8-1.5c-1.7 0-2.7.2-4.5.3-2 .2-3.2.5-5.4.6a37.3 37.3 0 01-10.5-.5 19.8 19.8 0 01-10-5 17.6 17.6 0 01-1.9-2.3m-1.6-2.5a8 8 0 01-1.8 6.2c-.7.7-2.2 2-4 2-3 .1-4-2-4.1-2.5"/>
<path d="M204.5 287a8.2 8.2 0 011.5 2.1c.7 1.4.5 3.8-.1 5a3.7 3.7 0 01-.3.3m-16.1 14.4c1.8 2 4.5 4 8.7 5.7a67.4 67.4 0 0020.5 3.1c8 .3 15.5.7 20 5.7m13.9-3.3a12 12 0 013.2 4.5m-5.9 9.2a7 7 0 01-.5.5 6.6 6.6 0 01-5.3 1.6 5 5 0 01-3.5-2m-4.3-2.4l.3.3a6 6 0 004 2m21.6 0a14.1 14.1 0 01-6.1 4.9 14.1 14.1 0 01-6.1-5l-.2-.3m12.4.3l.6.6a6.6 6.6 0 005.3 1.6 4.4 4.4 0 003.3-2l.4-.6"/>
<path d="M271.2 333.3l-.6 1-.9.7-1.3.6H267"/>
<path d="M274.4 324.2a6.1 6.1 0 011.9 2.3c.2.6.4 1.3.4 2a4.7 4.7 0 01-1.1 3.2 6 6 0 01-4.4 2 4.4 4.4 0 01-.3 0m.1-.2a5.5 5.5 0 01-4.1-1.7m51-54.3a19 19 0 01-4-5.2 15 15 0 01-1.3-3.6c-.2-.9-.4-1.7-.4-2.6 0-1.6.1-3.2.5-5a16.7 16.7 0 013.3-7.3c.5-.6 1-1.4 1.6-1.8m-1-60.6c2 .2 3.8 2.3 3.8 4.5 0 3.1-1 4.4-3.5 7.4-2.1 2.7-8.5 7.3-8.3 11.7 0 .8.5 1.6 1 2.2M307 220c.4.5 1 .8 1.6 1.1a4 4 0 003.4-.2m-16.9-34.6a4.8 4.8 0 011.8 2.1c1.4 3.6-1.8 6.3-4.8 8.3a17 17 0 01-6.6 2.6"/>
<path d="M291.7 193.2c-.7 0-1.6-.2-2.5-1.2a2.7 2.7 0 01-.6-.7m-11.9 3.9a3.7 3.7 0 01-1-.8c-.7-.8-1.2-1.9-.7-3.5.5-1.5 3-5.8 3-8.7.3-4.5-1.5-7.2-4.2-8.2"/>
<path stroke-linecap="round" d="M277.9 181.2l-.1 1.7-.5 1.7-.9 2.3-.7 1.6-.7 1.5-.3 1-.2.8.1.8m30.5 101c0 .3.4.6.4.6a6.2 6.2 0 004.4 2.5c3 0 3.7-2.1 3.8-2.6.4-2.3-.4-3-1.6-3.6 0 0-.7-.3-1.5-.2"/>
<path d="M189.6 283.5a5.5 5.5 0 01-3 0c-2.3-.7-4-2.9-3.1-5.5m10.7-25.5c.2.2.3.6.3.8.3 3-2.2 3.8-4 3.4a4.5 4.5 0 01-2.5-1.9 3.8 3.8 0 01-.5-1.8m17.7-19c.4.5.8 1 1 1.5m-1-6.8c.5.3.8.6 1 1"/>
<path stroke-linecap="round" d="M206.3 232.4a6.8 6.8 0 01-1.3 2 9.9 9.9 0 01-7 3.1 8.2 8.2 0 01-4.8-1.4 7.6 7.6 0 01-3.3-4.4"/>
<path d="M204.3 220.2a6.2 6.2 0 012 2.7"/>
<path stroke-linecap="round" d="M206.3 226.6a9.4 9.4 0 01-7 6.3 7 7 0 01-5.2-.9"/>
<path d="M192 226c.2 2.1 1.7 3.7 4.3 3.8 3.8 0 6-5.4 2.7-9.3"/>
<path stroke-linecap="round" d="M183.6 244.4c.5.7 1.2 1.3 1.8 1.9a13.4 13.4 0 004.8 2.6m4.2.4c3.4-.4 5.3-2.9 4.9-5.8-.3-2.3-2.4-4-3.8-4"/>
<path d="M199.9 214.5c1.4 0 2.3 1.3 2.2 2.4"/>
<path stroke-linecap="round" d="M199.5 194.5a9.2 9.2 0 004 4.6M319 224a3.7 3.7 0 01-3.3 5.7 4.2 4.2 0 01-3.5-2"/>
<path d="M305.4 199.3v12.6"/>
<path stroke-linecap="round" d="M195 225.9c1.2.8 2.6-.6 2-2.1-.3-1-1.8-2.1-3.8-.8-2.1 1.5-1.5 6.3 2.7 6.3 3.7.1 6-5.4 2.7-9.2-3.2-3.7-9-2.9-13 .2a17.1 17.1 0 00-5.6 9.3 17 17 0 000 7.4 16.7 16.7 0 002.4 6l1 1.3 1.6 1.6a12 12 0 008.3 3c3.8-.1 6-2.8 5.5-5.9-.4-3-3.4-4.5-5.4-3-1.3.9-1.8 3.8.6 4.5 1.3.4 2.5-1.3 1.6-2.3m103.6-57.5c2.2-1.2 3.8-1 5 .7a7.9 7.9 0 011.3 5.8c-.4 2.2-1 3-2.8 4.6"/>
<path stroke-linecap="round" d="M304.4 185.6c2.5-1.6 5.2-1 6.6 1.3a7.3 7.3 0 011.3 4.9 9 9 0 01-4.6 7.3"/>
<path d="M316 191.3c2 .2 3.7 2 3.7 4.2 0 3-.8 4.4-3.3 7.4-2.1 2.6-8.4 7.2-8.3 11.7 0 1.6 1.5 3.2 2.7 3.3"/>
<path stroke-linecap="round" d="M316.3 225.9c-1.2.8-2.6-.5-2-2 .4-1 1.8-2.2 3.7-.9 2.2 1.5 1.6 6.3-2.6 6.3-3.7.1-6.3-5.2-2.7-9.2 3.3-3.7 9.4-3 13.2 0 1.6 1.4 5 5 5.6 9.6.9 5.6.7 12.6-5 16.8a13.8 13.8 0 01-8.5 2.4c-3.8-.1-6-2.8-5.5-5.9.4-3 3.3-4.3 5.4-3 2.2 1.1 1.8 4.3-.6 4.5-1.4.2-2.5-1.3-1.6-2.3"/>
<path d="M314.3 224c.6-2.9 3-3.1 5-3.1 5.2 0 8.9 6.3 9 12.4 0 7.6-3.3 12.1-9 12.3-1.3.1-3.8-.6-3.9-2.3"/>
<path stroke-linecap="square" d="M317.5 222.7c5.6 1.2 7.6 6.2 7.6 11 0 3.9-.4 9.2-8 11"/>
<path d="M326.7 276.3a3.1 3.1 0 10-5 1.8"/>
<path stroke-linecap="round" d="M315.6 271.5a13.3 13.3 0 005 4.8m-1 8.4c-2.7-1.7-7.7-4-12.2-1.8a6.3 6.3 0 00-3.4 3.5 8 8 0 001.5 7.7 6 6 0 004 2.1c3 0 3.7-2 3.8-2.5.3-2.2-1-3.1-1.6-3.3-.6-.2-2.2-.2-2.6 1-.1.4-.1 1.1.2 1.6"/>
<path stroke-linecap="round" d="M272.4 326.7c.8 1.8-.1 2.6-1.3 2.7-1.7.2-2.6-1.1-2.7-2.3-.2-2 1.5-3.9 3.5-3.8a4.4 4.4 0 014 2.8c.2.6.3 1.2.3 1.9a4.7 4.7 0 01-1.1 3.3 6 6 0 01-4.3 2c-3.4.1-6-3-6-6.3 0-6.1 9.1-9.5 12.8-10.4a67 67 0 0114.3-1.8c2.9-.2 5-.1 8.1-.4 2.8-.3 4.3-.5 7.2-1.1a22 22 0 0010-5.2 13.7 13.7 0 003.7-17.7 11.5 11.5 0 00-8.2-5.3c-3-.5-5.6.8-7.2 3.8a6.2 6.2 0 00.1 5c.5.9 2 2.3 3.8 2.3 3 0 3.8-2 3.9-2.5.3-2.2-1-3.1-1.6-3.3-.6-.2-2.2-.2-2.6 1-.1.4-.1 1.1.2 1.6"/>
<path stroke-linecap="round" d="M269.8 317c-4 1.7-6.8 3-9.2 6.7a7.9 7.9 0 00-1 4c0 2.1 1 4.5 2.7 6a6.6 6.6 0 005.4 1.7c1.5-.2 3-1.3 3.2-2"/>
<path d="M308 243.3c-1.7.6-3 3.4-3 6 0 3 1.4 5 3.2 6"/>
<path stroke-linecap="round" d="M310 253.1c-3.2 4.1-5 6.5-5 11.3-.1 4.6 1.3 7.7 4 11"/>
<path d="M292.7 185.6l.3-.4c1.3-2 3.7-2.5 5.5-1.2 2 1.6 2.6 4.3 2 7.2a7 7 0 01-3.2 4.4"/>
<path stroke-linecap="round" d="M212 184.7c-2-1-3.7-.8-5 .7a7.5 7.5 0 00-1.2 5.8c.4 2.1 1 3 2.8 4.6"/>
<path d="M206.9 185.6c-2.5-1.6-5.2-1-6.6 1.3a7.3 7.3 0 00-1.3 4.9 9 9 0 004.6 7.3"/>
<path d="M199.7 187.8a5.5 5.5 0 00-4.8 5.3c0 3.6.9 5 2.9 7.7s8.5 7.7 8.5 13.4c0 3.4-1 5.6-3.4 6.7-1.6.7-3.5 0-4.3-.8-2-1.9-1.2-5.2.9-5.6 2.6-.4 3.1 3.7.6 3.4"/>
<path d="M195.2 191.3c-2 .2-4 2-4 4 0 3.1 1.2 4.5 3.7 7.6 2 2.6 8 7.2 7.9 11.6 0 1.6-1.2 3.7-2.3 3.4"/>
<path stroke-linecap="round" d="M190.5 252.9c1-2.3 3.4-1.3 3.5 0 .4 3-2.2 3.8-4 3.3-1-.2-1.6-.8-2-1.5a3.9 3.9 0 01.4-4.3 4 4 0 011-1c.7-.4 1.5-.5 2.7-.5 4.4 0 8.3 5.3 9.6 10.8a23.6 23.6 0 01.2 9.6 18 18 0 01-4.7 9 20.1 20.1 0 01-7.9 4.7 5.6 5.6 0 01-3.2 0c-2.2-.6-3.7-2.8-2.5-5.5 1-2.1 4.3-3.2 5.8-.6.1.3.3.7.3 1.3 0 .7-.3 1.5-.8 1.8-1.1.8-3 .6-2.9-1.5"/>
<path d="M187 280.3c.8.3 1.3.3 2.3-.2l1.5-.8c2-1.1 4.5-3 6.7-7.2a15.1 15.1 0 001.4-3.6c.2-.9.4-1.8.4-2.7a20.5 20.5 0 00-.5-5 16.2 16.2 0 00-3.2-7.2c-1-1.3-1.7-2-3.5-2m-7.5 24.7a3.1 3.1 0 115 1.8"/>
<path d="M185.8 273.2a3 3 0 012.9-2.5 3 3 0 013 3 3 3 0 01-1 2"/>
<path d="M191.5 273a12.4 12.4 0 005-9.9c0-3.3-1.3-6.7-2.9-8"/>
<path stroke-linecap="round" d="M195.7 271.5a13.2 13.2 0 01-5 4.8"/>
<path d="M203.7 283c-.8-1.8-2.2-2.6-4.6-2.9a11 11 0 00-6.6 1.6 14.8 14.8 0 00-8 9 13.7 13.7 0 00-.6 4.6c0 2.9.8 6 1.6 7.5.6 1.4 2.4 7.2 12.2 11.2a67.7 67.7 0 0020.6 3.2c8.3.3 16 .6 20.4 6.1"/>
<path stroke-linecap="round" d="M191.7 284.7c2.7-1.7 7.6-4 12.1-1.8a7 7 0 013.5 3.5 8 8 0 01-1.5 7.7c-.7.7-2.1 2-4 2.1-3 0-3.7-2-3.8-2.5-.3-2.2 1-3.1 1.6-3.3.5-.2 2.2-.2 2.6 1 .1.4.1 1.1-.2 1.6"/>
<path d="M202.2 292.6a2.7 2.7 0 00-.7-2.7 4.1 4.1 0 00-4.7-.7 5 5 0 00-2 1.7l-1 1.2-.8 2c-2 5.6 1.2 11.6 5.2 14.1a24 24 0 0011.5 3.3l5.3.3h13.4l6 .6 4.4.8 1.5.4 1 .3a31.9 31.9 0 017.7 3.3c.7.4 1.5.8 2 1.4l1.1 1c1.5 1.4 3.1 3 3.5 5.3v1.3c0 1.4-1.1 3.4-4.3 4"/>
<path d="M239 326.7c-1 1.8 0 2.6 1.2 2.7 1.7.2 2.6-1.1 2.7-2.3.2-2-1.5-3.9-3.5-3.8a4.4 4.4 0 00-4 2.8 5.5 5.5 0 00-.3 1.9 4.7 4.7 0 001 3.3 6 6 0 004.4 2c3.4.1 6-3 6-6.3 0-6.1-9.1-9.5-12.8-10.4a67 67 0 00-14.3-1.8c-2.9-.2-5-.1-8.1-.4-2.8-.3-4.3-.5-7.2-1.1a22 22 0 01-10-5.2 13.7 13.7 0 01-3.7-17.7 11.5 11.5 0 018.2-5.3c3-.5 5.6.8 7.1 3.8.8 1.4.6 3.8 0 5a4.8 4.8 0 01-3.9 2.3c-3 0-3.7-2-3.8-2.5-.3-2.2 1-3.1 1.6-3.3.5-.2 2.2-.2 2.6 1 .1.4.1 1.1-.2 1.6"/>
<path stroke-linecap="round" d="M218.6 185.6a97 97 0 00-.3-.4c-1.3-2-3.7-2.5-5.5-1.2-2 1.6-2.6 4.3-2 7.2a7 7 0 003.2 4.4"/>
<path d="M293.4 191.7c-3.2 3.5-6.5 4.6-11.3 4.8-1.5 0-4.4-.5-6-1.7-1-.8-2.3-2-1.5-4.4.5-1.5 3-5.7 3-8.7.2-4.5-1.5-7-4.2-7.9-5-1.8-10.4 3.2-13.6 4.3a11 11 0 01-4.1.6c-1.6 0-2.5 0-4.2-.6-3.2-1.1-8.6-6-13.6-4.3-2.7 1-4.4 3.4-4.2 8 0 2.9 2.5 7.1 3 8.6.8 2.3-.4 3.6-1.5 4.4a11.6 11.6 0 01-6 1.7c-4.9-.2-8-1.3-11.3-4.8"/>
<path stroke-linecap="round" d="M237.9 315.5c.6.3.1-.1 4.2 1.7 3.8 1.7 6.6 3.2 9 7a8.5 8.5 0 01.7 5.9"/>
<path d="M238.1 332.8a6.4 6.4 0 002.6.7c3.4.1 6-3 6-6.3 0-2.2-1.2-4-2.9-5.6"/>
<path stroke-linecap="round" d="M238.9 326.7c-.9 1.9.3 2.8 1.5 3 1.7.2 2.6-1.2 2.8-2.4a3.6 3.6 0 00-1.7-3.3"/>
<path d="M312 187.8c2.6 0 4.9 2.9 4.9 5.8 0 3.4-1.8 5.5-3.1 7-1 1.3-2.2 2.4-3.6 3.8"/>
<path stroke-linecap="round" d="M309 185.1a5 5 0 012.3 2 7.3 7.3 0 011.2 4.9c-.1 3.4-2.5 5.7-4.7 7.1m-3.8-14l.5.6a7 7 0 011.2 5.7 6.5 6.5 0 01-3 4.4m-4-11.6c2 1.6 2.7 4.4 2 7.2-.5 2-1.8 3.3-3.3 4.2m8.9 32.9c.2.7.6 1 1.2 1.5a10.8 10.8 0 004.9 2.9 6.2 6.2 0 005-.7M187 275.4c1 0 2 .6 2.7 1.8a2.6 2.6 0 01.3 1.2c0 .7-.3 1.4-.8 1.8-1.2.7-3.2.4-3.1-1.7"/>
<path d="M193.2 249c4 .8 7.7 5.5 9 10.7a23.6 23.6 0 01.2 9.6 18 18 0 01-4.7 9c-.5.6-1 1-1.7 1.5l-.9.6m-6.3-9.7c1.6 0 3 1.5 3 3.2a3 3 0 01-.8 2"/>
<path d="M187.7 272.6c1.7 0 3.3 1.6 3.3 3.3a3.1 3.1 0 01-1.2 2.5"/>
<path stroke-linecap="round" d="M203.2 255.6c1.5 2 2.6 3.9 3 6.2m0 6.8a13.8 13.8 0 01-1.2 3.2 14.2 14.2 0 01-2.8 3.7"/>
<path d="M203.4 243.5a7.5 7.5 0 012.8 3.8"/>
<path stroke-linecap="round" d="M206.3 239.6a8.7 8.7 0 01-2.7 3.7m-7.3-13.8l1.7-.4 1-.8.7-1 .5-1.4.3-1.2"/>
<path d="M192.8 223.4l-2 .7a7 7 0 00-2.8 2.4 13.5 13.5 0 00-1.8 4.8c-.2.7-.4 3 0 5.3a12.6 12.6 0 002 4.6l.8 1c1 1 2 1.7 3.5 1.4"/>
<path stroke-linecap="round" d="M202.4 215.8c-.2 1-.8 2.3-2.4 2.2"/>
<path d="M196.5 222.8c-1.5-1.5-4.8-1.9-8 .2-.5.2-.9.6-1.3 1a7 7 0 00-1.1 1.2l-1.2 2a10 10 0 00-.7 2c-.6 2.3-.6 4.5-.6 5l.3 2.2a15 15 0 001.8 5 8.2 8.2 0 006.2 4.3c1.4.1 3.9-.6 4-2.4"/>
<path stroke-linecap="round" d="M291 189.7c.2-1.4 1.8-1.6 2.4-.8 1 1.2.4 3.2-1.5 3.8a3 3 0 01-3-1.1c-.9-1-.8-2.2-.5-3.2.2-.7.7-1.2 1.4-1.7 2.1-1.7 5.7-1.3 6.8 1.5 1.5 3.6-1.7 6.3-4.7 8.3-3.8 2.5-8 3-11.3 3-7.3-.1-12.9-3.6-16.5-5.6-.8-.5-1.7-.4-2.1.2-.5.6-.5 1.5.2 2.1"/>
<path stroke-linecap="round" d="M292.5 188.4c.8 0 1 .4 1.2.7 1 1.2.3 3.2-1.6 3.8m14.3 41.2c-2.8 3-.3 8.3 1.8 9.5.7.5 1 .2 1.6.6"/>
<path d="M306.5 228.3c-1 .7-1.2 1.4-1.3 2.6a4.2 4.2 0 001.2 3.2 11.2 11.2 0 007.3 3 8.2 8.2 0 004.9-1.4 7.3 7.3 0 003-4.3M305 281v2c-.4 2.2-.7 3.5-1.7 5.5a15 15 0 01-3.4 4.5 15.7 15.7 0 01-4.7 3.3 19.7 19.7 0 01-5.2 1.8 33 33 0 01-5.5.6h-5l-5.5-.7c-1.7-.2-2.7-.3-4.4-.3a22.8 22.8 0 00-8.8 1.5 17 17 0 00-5 3c-.6-.6-3-2.2-5.2-3a17.6 17.6 0 00-4.1-1.2c-1.8-.3-2.8-.3-4.6-.3-1.8 0-2.7.1-4.5.3-2 .2-3.3.5-5.4.6-2 .1-3 .2-5 .1-2.2 0-3.4-.2-5.6-.6a19.7 19.7 0 01-5.2-1.8c-2-1-3-1.7-4.7-3.3a15 15 0 01-3.3-4.5 15.1 15.1 0 01-1.7-5.5v-83.4H305V281z"/>
</g>
<g fill="#c7b37f" stroke="#c7b37f">
<path stroke-width=".3" d="M198.3 292.5a2 2 0 114 0 2 2 0 01-4 0zm-12.2-14.1c0-1 .6-1.8 1.4-1.8.8 0 1.4.8 1.4 1.8s-.6 1.8-1.4 1.8c-.8 0-1.4-.8-1.4-1.8z"/>
<path stroke="none" d="M193 242.9c0-.8.7-1.5 1.4-1.5.8 0 1.4.7 1.4 1.5s-.6 1.4-1.4 1.4c-.7 0-1.3-.6-1.3-1.4zm24.6-52.5c-.1-.9.4-1.6 1-1.6.7-.1 1.4.5 1.5 1.3 0 .8-.4 1.5-1.1 1.6-.7 0-1.4-.5-1.4-1.3z"/>
</g>
<g stroke="#c7b37f" stroke-linecap="round" stroke-width=".5">
<path d="M191.4 251.2a1.8 1.8 0 00-.6.4l-.5.7-.2 1m3.8 21.3l.7-.8.6-.8.4-.7.5-1m-1 11l-1.2.6-.9.5a14 14 0 00-1 .7l-1 .8m12-30.3l-.6-.7-.7-.7-.8-.5"/>
<path stroke-linecap="butt" d="M203.3 244l-1 .4a4 4 0 01-1.1.2"/>
<path d="M190 230.8c0 .4.1.7.3 1.1l.7 1.4a6.8 6.8 0 002.2 2.1l1.2.7m-.9-4.7l1 .5a6 6 0 002.4.5l1.5-.1m5.7-32.5l-1.6-1a9.6 9.6 0 01-2.4-2.3l-.7-1m6-3.6l.5 1.3 1.2 1.7c.7.8 1.3 1 2.2 1.6m1.1-4.7l.5 1.2.7 1 1 1c.6.5 1 .6 1.6 1"/>
</g>
<path fill="#703d29" stroke-width=".1" d="M266.6 185.3c0-1.4-1.3-1.5-1.9-1.5-1.4 0-1.8 1-3.7 2a9.5 9.5 0 01-5.3 1.4 9 9 0 01-5.4-1.5c-1.9-1-2.2-1.9-3.6-1.9-.8 0-1.9.7-1.8 2v.7s.2 0 .2.2c0-.7.1-1 .4-1.4a1.8 1.8 0 011.3-.7c1.5 0 2 1 3.9 2a9.5 9.5 0 005.3 1.5c2 0 3.1-.3 5.4-1.5 1.9-1 2.4-2 3.9-2 .5 0 .8.3 1 .8v.7h.2c0-.1.2-.2.1-.8z"/>
</g>
<g fill="#703d29">
<path d="M211.5 299.2c.4-.4.8-.3.8-.5l-.2-.2-.7-.2-.7-.3s-.3-.2-.4 0c0 .3.9.3.5 1.1 0 .2-.1.5-.6 1l-2.1 2.3-.2.2V299l.1-1.4c.2-.4.6 0 .7-.3 0-.2 0-.2-.2-.3-.2 0-.4 0-1-.3l-.7-.3c-.1 0-.4-.2-.5 0l.1.2c.3.2.4.3.4.7v6c0 .4.1.6.2.6l.3-.2 4.2-4.6z"/>
<path d="M214 300.1c.3-.8.8-.3.9-.6l-.3-.2-1-.3-1-.4h-.3c0 .4 1 .4.7 1.3l-1.4 4.4c-.3.8-.8.4-.9.7v.1l1 .3 1.2.4h.3c.1-.3-1-.2-.6-1.3l1.4-4.3zm3 1c.1-.6.4-.6.7-.5.8.3 1 1.1.8 2-.2.5-.4 1-1.6.7-.3-.1-.6-.2-.5-.4l.6-1.9zm-2.3 3.9c-.4 1.1-1 .6-1 1l.2.1 1.3.4.7.2h.3c0-.4-.9-.2-.6-1.2l.5-1.6c0-.3 0-.4.5-.3.4.2.5.3.6.7l.3 1.7c0 .6.2 1.3.8 1.4.3.2 1 .1 1-.2v-.1h-.3l-.3-.3-.5-3 .6-.2c.3-.2.6-.4.8-1 .1-.4.3-1.7-1.5-2.3l-1.6-.4-1-.3h-.2c-.1.4.9.3.6 1.3l-1.2 4zm6.7 2c-.2 1-1 .4-1.2.7 0 .2.1.3.3.3l1.2.2 1.1.4.5-.1c0-.3-1.1-.3-.8-1.4l1-4.2c0-.5.2-.5.5-.4l.7.2c1 .2.5 1.1.8 1.2.3 0 .2-.3.3-.5v-1.1l-2.6-.6-2.5-.6c-.2 0-.2 0-.2.2l-.5 1.2v.3c.5.1.5-1.2 1.4-1l.7.2c.4.1.5.2.4.6l-1 4.3zm10.2-2.7c.3-.5.7-.4.7-.6l-.3-.2h-.7l-.7-.2c-.1 0-.4-.1-.4 0 0 .4.9.2.7 1 0 .2-.1.6-.5 1.1l-1.7 2.7-.1.2v-.3l-.6-3.2a4.3 4.3 0 01-.1-1.3c0-.4.5-.2.6-.5l-.3-.2-1-.1-.8-.2c-.1 0-.4-.1-.4 0l.1.2c.4.2.5.3.5.7l1.1 5.9c.1.4.2.5.3.5l.2-.2 3.4-5.3zm.5 5.4l.1.4 1.4.6c1.1.2 2-.5 2.3-1.7.2-1.2-.3-1.7-1.2-2.3-1-.8-1.5-1-1.3-1.6 0-.6.5-1 1-.8 1.5.2 1.4 2 1.6 2 .1 0 .2 0 .2-.3l.1-1.3v-.3h-.5c-.3 0-.5-.4-1.2-.5-1-.2-1.8.5-2 1.6-.2 1 .2 1.4 1 1.9 1.2.9 1.7 1 1.6 1.9-.2.7-.8 1.1-1.4 1-1-.2-1.3-1.1-1.5-2l-.1-.3c-.2 0-.2.3-.2.4v1.3zm12.6-3.5c.3-.6.6-.5.7-.7 0-.2-.2-.2-.3-.2h-.8l-.7-.1-.4.1c0 .4 1 0 .8 1 0 .1 0 .5-.3 1l-1.4 2.9-.2.2v-.2l-1-3.2a4.3 4.3 0 01-.2-1.3c0-.4.6-.3.6-.5s0-.2-.3-.2h-1l-.8-.1c-.1 0-.4-.1-.4 0l.1.2c.4.2.5.3.6.6l1.7 5.8c.1.4.2.5.3.5l.2-.3 2.8-5.5z"/>
<path d="M246 310.8c0 1-.8.8-.8 1.2h1l1 .1.4-.1c0-.5-1.1.2-1.1-1.7v-3.4s.2 0 .3.2l4 5h.3v-.2l.1-5.3c0-1 .8-.8.8-1.1l-.2-.1h-2v.1c0 .3 1 .2 1 1v3.2l-.1.4-.3-.3-3.4-4.2c-.1-.2 0-.3-.3-.3h-1.4l-.1.2c0 .4 1-.2.9 1.7v3.6zm8.4-4.3c0-1 .6-.6.6-.9l-.3-.1h-2.3c0 .4.9.1.9 1v4.6c0 1-.6.7-.6 1v.1h2.3l.3-.1c0-.3-1 .1-1-1v-4.6zm3.6 4.4c0 1.2-1 .7-1 1 0 .3.2.3.3.3h2.4c.3 0 .5 0 .5-.2 0-.3-1.1 0-1.1-1.2v-4.3c0-.5 0-.5.3-.5h.8c1 0 .7 1 1 1 .3 0 .2-.4.2-.5l-.1-.9s0-.2-.2-.2H256c-.2 0-.2.2-.2.3l-.1 1.2.1.4c.4 0 .1-1.3 1.1-1.3h.7c.4 0 .5 0 .5.5v4.4zm5-1.8h-.3v-.4l.6-1.8h.1l1 1.7v.3l-.2.1-1.2.1zm1.5.4c.2 0 .3 0 .6.8l.2.6c0 .6-.6.6-.6.8 0 .2.2.1.3.1h1l1-.1c.3 0 .4 0 .4-.2 0-.3-.5.1-.8-.6l-2.8-5.6-.2-.3-.2.4-1.9 5.9c-.2.5-.6.5-.6.7 0 .2.2.1.3.1h1.5c.2-.1.5 0 .5-.3 0-.2-1 0-1-.7l.1-.7c.2-.7.3-.7.5-.7l1.7-.2zm6.6-4c0-.6 0-.6 1-.7 1.6-.3 1.1 1 1.5.9.2 0 .1-.4.1-.5l-.1-1h-.2l-2 .2-2.2.3c-.2 0-.2 0-.2.2 0 .3 1 0 1 .8l.6 4.4c.2 1.2-.5.7-.5 1.2h.2l1.1-.1 1-.1c.2 0 .4 0 .4-.2 0-.3-1 0-1.1-1l-.2-1.4c0-.5-.1-.6.3-.7h.6c.9-.2.8.9 1 .8.3 0 .2-.3.1-.5l-.2-1.6c0-.3-.2-.3-.2-.3-.2 0-.1 1-.8 1l-.6.1c-.4 0-.4 0-.4-.4l-.2-1.3zm3.2 2.2c.3 2 1.7 3 3.4 2.7 2.7-.5 2.8-3 2.5-4.2-.3-2-1.8-3-3.5-2.7-2 .4-2.8 2.2-2.4 4.2zm.9-.7c-.3-1.4 0-2.7 1.4-3 1-.3 2.3.6 2.7 2.7.3 1.6 0 3-1.4 3.2-1.5.3-2.4-1.5-2.7-2.9zm6.7-3.3c-.2-.6.1-.7.4-.7.8-.2 1.5.3 1.7 1.3.1.5.2 1-1 1.3-.3.1-.6.2-.7 0l-.4-2zm0 4.5c.3 1.2-.5 1-.4 1.3 0 .2.2.2.3.1l1.3-.3.7-.1c.2 0 .2-.2.2-.2 0-.4-.8.2-1-.8l-.4-1.6c-.1-.3-.2-.4.3-.5.4 0 .6 0 .9.3l1 1.3c.4.5.8 1 1.5.9.3-.1.8-.5.7-.7 0-.1 0-.2-.1-.1h-.6l-2-2.3.5-.5c.1-.3.3-.7.2-1.3-.1-.4-.6-1.7-2.5-1.2l-1.6.4-1 .2-.2.2c.1.4 1-.2 1.2.8l1 4.1zm6.9-1.5c.3 1-.8.9-.7 1.2 0 .2.2.2.3.2l1.2-.4 1.2-.3c.2 0 .4 0 .3-.2 0-.3-1 .2-1.3-.9l-1.1-4.2c-.1-.4 0-.5.3-.6l.7-.2c1-.3 1 .8 1.3.8.2 0 0-.4 0-.5l-.4-.9s0-.2-.2-.2l-2.5.7-2.5.7c-.2 0-.1.1-.1.2l.2 1.3c0 .1 0 .3.2.3.3-.1-.2-1.3.7-1.5l.7-.2c.3 0 .4 0 .6.4l1 4.3zm4.4-5.9c-.3-.9.4-.7.3-1h-.3c-.4 0-.7.2-1 .3l-1 .2s-.3 0-.2.2c0 .3 1-.2 1.2.6l1.2 4.4c.2 1-.4.8-.3 1.2l1-.2 1.3-.3c.2-.1.2-.2.2-.3 0-.3-.9.4-1.2-.7l-1.2-4.4zm1.8 2.1c.6 1.9 2.1 2.7 3.8 2.2 2.6-.9 2.3-3.3 1.9-4.5-.6-2-2.3-2.7-3.8-2.2-2 .7-2.6 2.6-1.9 4.5zm.8-.8c-.4-1.3-.4-2.7 1-3.2 1-.4 2.3.3 3 2.4.5 1.5.5 2.8-1 3.3-1.4.5-2.5-1.2-3-2.5zm6.1-4.3c-.2-.6 0-.7.4-.8.8-.3 1.5.2 1.8 1 .2.6.4 1-.8 1.6-.3 0-.6.2-.7 0l-.7-1.8zm.7 4.5c.4 1-.4 1-.2 1.3 0 .2.2.1.3 0 .4 0 .8-.3 1.2-.4l.7-.3c.2 0 .2-.1.2-.2-.1-.3-.8.3-1.2-.6l-.6-1.5c0-.4-.2-.4.3-.6.4-.1.5-.1.9.2l1.2 1.2c.5.4 1 .8 1.6.6.3-.1.7-.5.6-.8 0 0 0-.1-.1 0h-.6l-2.2-2 .3-.5c.1-.3.2-.7 0-1.3-.2-.4-.8-1.6-2.6-.9l-1.6.7-1 .3v.2c.1.3.8-.4 1.2.6l1.6 4z"/>
</g>
<g fill="#fedf00" transform="matrix(.512 0 0 .512 0 76.8)">
<path fill="#d52b1e" d="M412.7 249.3h82.1v82h-82.1z"/>
<path id="a" fill="#fff" d="M451.2 313.8s0 3-.8 5.3c-1 2.7-1 2.7-1.9 4a13.2 13.2 0 01-3.8 4c-2 1.2-4 1.8-6 1.6-5.4-.4-8-6.4-9.2-11.2-1.3-5.1-5-8-7.5-6-1.4 1-1.4 2.8-.3 4.6a9 9 0 004.1 2.8l-2.9 3.7s-6.3-.8-7.5-7.4c-.5-2.5.7-7.1 4.9-8.5 5.3-1.8 8.6 2 10.3 5.2 2.2 4.4 3.2 12.4 9.4 11.2 3.4-.7 5-5.6 5-7.9l2.4-2.6 3.7 1.2h.1z"/>
<use width="100%" height="100%" transform="matrix(-1 0 0 1 907.5 0)" xlink:href="#a"/>
<path d="M461.1 279l10.8-11.7s1.6-1.3 1.6-3.4l-2.2.4-.5-1.2-.1-1.1 3-.7V260l.3-1.3-3.2.2.3-1.4.5-1 1.9-.4h1.9c1.8-3.4 9.2-6.4 14.4-1 3.8 4 3 11.2-2 13.2a6.3 6.3 0 01-6.8-1.1l2-4c2.7 1.7 5-.3 4.8-2.4-.2-2.7-2-4.3-4.3-4.5-2.3-.2-4 1-5 3-.6 1.3-.3 2.2-.5 3.6-.2 1.5 0 2.3-.5 3.8a8.8 8.8 0 01-2.4 3.6l-11 12-43 46.4-3.2-3 43.2-46.7z"/>
<path fill="#fff" d="M429.5 283s2.7 13.4 11.9 33.5c4.7-1.7 7.4-2.8 12.4-2.8 4.9 0 7.6 1 12.3 2.8A171 171 0 00478 283l-24.2-31-24.4 31z"/>
<path d="M456.1 262.4l16.8 21.7s-2.2 10.5-9 26.3c-2.7-.6-5-1.1-7.8-1.3v-46.7zm-4.7 0l-16.8 21.7s2.2 10.5 9 26.3c2.7-.6 5-1.1 7.8-1.3v-46.7z"/>
</g>
<g fill="#d52b1e">
<path fill="#fedf00" d="M257.8 204.4H300v42h-42z"/>
<path d="M263.7 204.4h6.3v42h-6.3zm12 0h6.3v42h-6.2zm12 0h6.3v42h-6.2z"/>
</g>
<g fill="#d52b1e" stroke="#d52b1e" stroke-width=".5">
<path fill="#fedf00" stroke="none" d="M211.4 282.8c.2.8.4 2 1.1 3.4.8 1.2.5 1.2 2.2 3a13.8 13.8 0 006.7 3.6c3.4 1 5.7 1 8.5.9 2.2-.1 3.9-.4 5.3-.6 2-.2 3.4-.4 5.7-.5a32.4 32.4 0 013.1 0c1.2 0 2.4.3 3.7.5 2.8.6 5.6 1.7 5.6 1.7v-43.9h-42v30l.1 2z"/>
<path stroke-width=".3" d="M216.3 290.5l2 1.2 2.7 1v-41.8h-4.7zm23.4 2v-41.6H235v42.2l4.7-.5zm9.3-41.6h-4.6v41.7a31 31 0 014.6.8V251zm-18.6 0v42.7h-4.7v-42.7z"/>
</g>
<g transform="matrix(.512 0 0 .512 0 76.8)">
<path fill="#fedf00" d="M585.5 402.4a20.8 20.8 0 01-2.2 6.6c-1.5 2.3-1 2.3-4.3 6a26.3 26.3 0 01-13 7 51.8 51.8 0 01-16.6 1.6c-4.3-.2-7.5-.7-10.3-1-3.8-.6-6.7-.9-11-1a62.9 62.9 0 00-6.2 0 83.3 83.3 0 00-18.3 4.2V340h82.2v58.5l-.3 3.8z"/>
<g id="b">
<path fill="#d52b1e" d="M524.6 347l-.6.2-.8.8c-.4.4-.7.5-1.2.8l-.6.5c-.3.3 0 .6-.3 1-.1.4-.3.6-.6 1-.4.4-.7.5-1 1l-1.2 1-.3.1h-.6c-.4.2-.5.6-.8.8l.3.6.8 1.4c.2.3.2.7.5.8.5.2.9.2 1.3.1.8.2 1.3.2 2 .5l1.5.8c.5.3.8.4 1.3.5h1.8v.3l2 1a1.7 1.7 0 00-.1.4c-.1.3-.2.7-.1.8.6 1.9 1.2 3 1.5 3.2.6.2.8.9 1.1 1.5l-.3.3c-.6.6-1.2 1-1.7 1.8-.7 1.2-1.2 1.2-.3 2.8l1.5 2.4c.4.7.6 1.2.8 2 .2.7.3 1.2.3 2l1 .3.7-.6.6-1.2v-1c-.2-.1-.3-.4-.2-.7 0-.4.5-.3.7-.6.3-.5-.4-.8-.7-1.1-.6-.7-1.4-.9-1.6-1.9 0-.2 0-.4.4-.7l2-1.8c.2.1.6.2 1 .1l1.3.4c.6.2.9 0 1.2 0h.4l.1.6c.1 1-.1 3 .2 3.5l.3.6.2.6v2l-.2 1.7c0 .4-.2.7-.5 1-.2.4-.6.4-1 .7v1l1.1.5 1.3.3.7-.3.1-.6.5-.5c.4-.2.8 0 .9-.1.2-.3 0-.4 0-.8 0-.6-.2-1-.3-1.6a11.8 11.8 0 01-.1-2.8c0-.6 0-1 .2-1.5.1-1 .4-1.4.6-2.2.3-1 .3-1.6.4-2.5a24.4 24.4 0 0010.1-.6c.8.7 1.7 1.2 2.7 1.6v1c0 .3 0 .4.2.7l.3.3c.3 0 .5 0 .7-.2.2-.2.2-.4.2-.7v-.7h1.8v1.1c.1.3.3.4.5.4a.7.7 0 00.6 0c.3-.2.2-.6.3-1v-.7l1-.4a5.1 5.1 0 010 .9l-.3.9c-.2.6-.5.8-.8 1.4-.4.6-.5 1-1 1.5l-.6.7-.6.9-.9 1c-.7.6-1.2.2-2 .9l-.3 1 1.4.6 1.3.2.4-.2c0-.3 0-.6.3-.8.2-.3.4-.3.7-.4.4 0 .8 0 1-.2.4-.3.4-1 .7-1.5a12.7 12.7 0 013-3.9l1.7-1.4c.2-.4.5-.5.5-1l-.2-.6-.2-1c1.5.7 1 .7 1.2 1.4.3.6 0 1 .1 1.7.1.8.5 1.1.5 1.9.1.9-.1 1.4-.3 2.3-.1.8-.1 1.3-.5 2a3.8 3.8 0 01-1.1 1.5l-.6.5-.1 1 1.1.4 1.6.4.4-.3c.2-.7 0-1.7.4-1.7.4-.1.7 0 .8-.3v-.7l.7-4.5.4-1.9.4-1.7c.7-2-.2-2.3-1-3.6-.5-.7-.7-1-.7-1.5V362a42.7 42.7 0 010-2.8l.4-.2c1.2-.7 1.7-.9 2.4-2.5a3.4 3.4 0 00.3-1.5v-1l-.4-1a3.2 3.2 0 00-.6-.8c-.7-1-1.7-1.1-2.7-1.5-1.5-.5-2.5-.4-4-.5-1.8-.2-2.7-.2-4.4 0-2 0-3.1.4-5.1.7l-4.9.4c-2.3 0-4.4-.5-5.8-.4-2.4.2-2.5.8-6.2 1.1a67 67 0 01-3.8.2l-2.2-.7c.9-.3 1.1-.5 1.5-1 .3-.4.2-.7.6-1.1l.7-1a2.2 2.2 0 00-.9-.4h-1a3 3 0 00-1.2.3l-.8.6-2.2-1.2a8.8 8.8 0 00-3-.9zm2 11.8z"/>
<g fill="none" stroke="#fedf00" stroke-linecap="round">
<path d="M568.8 359.5l-.8.3c-.9.4-1.6.4-2.6.5-2.6.2-4.3-1.1-7-.9-1.4.1-2 1.2-3.5 1.6a9.3 9.3 0 01-1.7.2l.5-1s-1.2.3-2 .3a7.5 7.5 0 01-1.6-.2l1-1-1.3-.2a4 4 0 01-1-.7 20.5 20.5 0 001.7-.3c1.5-.4 2-1.2 3.9-1.4 1.1 0 3 0 7.6.8 3 .5 4.4.2 5.5-.3.8-.3 1-1 1.1-1.8.1-.8-.4-1.4-.8-1.8-.1 0-.5-.3-1.1-.4"/>
<path fill="#fcd900" stroke-linecap="butt" stroke-width=".5" d="M524.8 350.6c-.5 0-.9 0-1.3.3-.5.3-.6.7-1 1.1.5.1.8.4 1.2.3.4 0 .5-.2.8-.5.3-.4.4-.7.4-1.2h-.1z"/>
<path d="M536 363.8a13.6 13.6 0 001 2.3c.2.8 0 1.2.2 2v1.6m6.8-7l-.3 1.3-1 3.5v.7m-11-4c.9.2.6 3.3 1.9 4"/>
<path stroke-linecap="butt" d="M560.1 369.8l.4-.3a8.2 8.2 0 002.7-1.8"/>
<path d="M552.4 368c3.5-.9 5.9-2.6 7.6-2.9m-4-1.5h.8c1.5-.3 1.7.6 2.7 1.2 1.9 1 2.1 2.3 4.3 3.4l.4.1.8.4"/>
<path fill="#fcd900" stroke-linecap="butt" stroke-width=".5" d="M517.7 354.5h.7l.8-.2c.3 0 .5 0 .7.2.2 0 .2.1.3.3 0 .2.2.3.1.5 0 .2-.3.4-.6.4-.2 0-.4 0-.5-.3a.5.5 0 010-.4 1 1 0 01-.9 0 1 1 0 01-.6-.5z"/>
</g>
<path fill="#0065bd" d="M525.1 364.2l-2-.9c.4-.2.7-.2 1-.5.3-.4.3-.8.5-1.3s.2-1 .7-1.4c.3-.2.8-.2 1.1-.1.4 0 .8.4.9.7 0 .6-.2 1-.3 1.5 0 .6-.3.9-.2 1.4 0 .4.2.6.4 1l-2-.4zm-1 1a.6.6 0 11.7.5.6.6 0 01-.7-.6zm-1.7-16.6h-.2c-.4-.4-.4-.8-.6-1.2a4 4 0 01-.3-1.2v-2c0-.3 0-.6-.2-.9 0-.2-.4-.3-.3-.4 0-.1.3 0 .4 0 .4 0 .6.1 1 .4.3.3.5.6.6 1l.4 1.5.3.8.5.6-.7.8-.9.6zm3.6 10.6l2.2 1a9.2 9.2 0 003.5-3.8c.9-1.8 1-2.7 1.4-4.4l-1.8-.5h-.4c-.5 1.8-.7 2.7-1.6 4.2-.8 1.3-1.7 2.3-2.6 3l-.7.5zm5 18.2l.8-1.3 1.4-1.1h.4a8.7 8.7 0 01-.5 2.8l-.4 1-.5.5c-.5-.8-1.3-1.3-1.3-2zm33 1.8l1.4.6 1.5.9v.5l-1.5.2a8.4 8.4 0 01-1.3 0h-1l-.6-.4c.5-.7.8-1.6 1.4-1.8zm-9.8-2l1.4.5 1.5 1c0 .1.1.3 0 .4a9 9 0 01-2.7.3l-1-.1-.7-.3c.6-.7.9-1.7 1.5-1.8zm-17.4 2.1l1.5.5 1.5 1v.5a9 9 0 01-2.8.2h-1l-.6-.4c.5-.7.8-1.6 1.4-1.8zm-9-29.8c-.6-.3-1-1-.6-1.6.1-.2.4-.2.6-.4.2-.3.1-.5 0-.8l-.1-1-.2-1c0-.6 0-1 .4-1.6.2-.3.7-.6.8-.6.2.1 0 .5 0 .8 0 .5.1.7.3 1.2l.7 1.3c.2.6.4.8.4 1.4 0 .5 0 .7-.2 1.2a2 2 0 01-.6.8 2 2 0 01-.8.4 1.1 1.1 0 01-.6 0z"/>
</g>
<use width="100%" height="100%" y="36.6" xlink:href="#b"/>
</g>
<path fill="none" stroke="#703d29" stroke-width=".4" d="M211.3 204.4h42v42h-42zm46.5 0H300v42h-42zm-46.4 78.4c.2.8.4 2 1.1 3.4.8 1.2.5 1.2 2.2 3a13.8 13.8 0 006.7 3.6c3.4 1 5.7 1 8.5.9 2.2-.1 3.9-.4 5.3-.6 2-.2 3.4-.4 5.7-.5a32.4 32.4 0 013.1 0c1.2 0 2.4.3 3.7.5 2.8.6 5.6 1.7 5.6 1.7v-43.9h-42v30l.1 2zm88.4 0c-.1.8-.4 2-1.1 3.4-.8 1.2-.5 1.2-2.2 3a13.8 13.8 0 01-6.7 3.6 26.1 26.1 0 01-8.5.9c-2.2-.1-3.9-.4-5.3-.6a55.6 55.6 0 00-5.6-.5 32.4 32.4 0 00-3.2 0c-1.2 0-2.4.3-3.7.5-2.8.6-5.7 1.7-5.7 1.7v-43.9H300v30l-.1 2z"/>
</svg>

After

Width:  |  Height:  |  Size: 32 KiB

View file

@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ae" viewBox="0 0 512 512">
<path fill="#00732f" d="M0 0h512v170.7H0z"/>
<path fill="#fff" d="M0 170.7h512v170.6H0z"/>
<path d="M0 341.3h512V512H0z"/>
<path fill="red" d="M0 0h180v512H0z"/>
</svg>

After

Width:  |  Height:  |  Size: 262 B

View file

@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ae" viewBox="0 0 640 480">
<path fill="#00732f" d="M0 0h640v160H0z"/>
<path fill="#fff" d="M0 160h640v160H0z"/>
<path d="M0 320h640v160H0z"/>
<path fill="red" d="M0 0h220v480H0z"/>
</svg>

After

Width:  |  Height:  |  Size: 254 B

View file

@ -0,0 +1,81 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-af" viewBox="0 0 640 480">
<g fill-rule="evenodd" stroke-width="1pt">
<path d="M0 0h640v480H0z"/>
<path fill="#090" d="M426.7 0H640v480H426.7z"/>
<path fill="#bf0000" d="M213.3 0h213.4v480H213.3z"/>
</g>
<g fill="#fff" fill-rule="evenodd" stroke="#bd6b00" stroke-width=".5" transform="translate(1 27.3) scale(1.06346)">
<path d="M319.5 225.8h8.3c0 3.2 2 6.6 4.5 8.5h-16c2.5-2.2 3.2-5 3.2-8.5z"/>
<path stroke="none" d="M266.7 178.5l4.6 5 57 .2 4.6-5-14.6-.3-7-5h-23l-6.6 5.1h-15z"/>
<path d="M290 172.7h19.7c2.6-1.4 3.5-5.9 3.5-8.4 0-7.4-5.3-11-10.5-11.2-.8 0-1.7-.6-1.9-1.3-.5-1.6-.4-2.7-1-2.6-.4 0-.3 1-.7 2.4-.3.8-1.1 1.5-2 1.6-6.4.3-10.6 5-10.5 11.1.1 4 .6 6.4 3.4 8.4z"/>
<path stroke="none" d="M257.7 242.8H342l-7.5-6.1h-69.4l-7.5 6.1z"/>
<path d="M296.4 219.7l1.5 4.6h3.5l-2.8-4.6h-2.2zm-2 4.6l1 4.6h4l-1.5-4.6h-3.5zm7 0l2.8 4.6h5.9l-4.6-4.6h-4.1zm-34.5 10.4c3.1-2.9 5.1-5.3 5.1-8.8h7.6c0 2 .7 3.1 1.8 3h7.7v-4.5h-5.6v-24.7c-.2-8.8 10.6-13.8 15-13.8h-26.3v-.8h55.3v.8H301c7.9 0 15.5 7.5 15.6 13.8v7h-1l-.1-6.9c0-6.9-8.7-13.3-15.7-13.1-6 .1-15.4 5.9-15.3 13v2.2l14.3.1-.1 2.5 2.2 1.4 4.5 1.4v3.8l3.2.9v3.7l3.8 1.7v3.8l2.5 1.5-.1 3.9 3.3 2.3h-7.8l4.9 5.5h-7.3l-3.6-5.5h-4.7l2.1 5.4h-5l-1.3-5.4h-6.2v5.8H267zm22.2-15v4.6h5.3l-1-4.6H289z"/>
<path fill="none" d="M289.4 211.7h3.3v7.6h-3.3z"/>
<path fill="none" d="M284.7 219.8h3.2v-5.6c0-2.4 2.2-4.9 3.2-5 1.2 0 2.9 2.3 3 4.8v5.8h3.4v-14.4h-12.8v14.4zm25.6 3.3h4v3.2h-4zm-2.4-5.3h4v3.1h-4zm-3.9-5.4h4v3.1h-4zm-3.3-4.5h4v3.1h-4z"/>
<path fill="none" d="M298 219.8l4.2.2 7.3 6.4v-3.8l-2.5-1.8v-3l-3.6-2v-3.3l-3.5-1.2V207l-1.7-1.5-.1 14.4z"/>
<path d="M315.4 210.3h1v7.1h-1z"/>
<g id="a">
<path d="M257.3 186.5c-1.2-2-2.7 2.8-7.8 6.3-2.3 1.6-4 5.9-4 8.7 0 2 .2 3.9 0 5.8-.1 1.1-1.4 3.8-.5 4.5 2.2 1.6 5.1 5.4 6.4 6.7 1.2 1 2.2-5.3 3-8 1-3 .6-6.7 3.2-9.4 1.8-2 6.4-3.8 6-4.6l-6.3-10z"/>
<path fill="#bf0000" d="M257 201.9a10 10 0 00-1.6-2.6 6.1 6.1 0 00-2.4-1.8 5.3 5.3 0 01-2.4-1.5 3.6 3.6 0 01-.8-1.5 5.9 5.9 0 010-2l-.3.3c-2.3 1.6-4 5.9-4 8.7a28.5 28.5 0 000 2.3c.2.5.3 1 .6 1.3l1.1.8 2.7.7a7.1 7.1 0 012.6 2 10.5 10.5 0 011.8 2.6l.2-.8c.8-2.7.7-5.9 2.6-8.5z"/>
<path fill="none" d="M249.8 192.4c-.5 3.3 1.4 4.5 3.2 5.1 1.8.7 3.3 2.6 4 4.4m-11.7 1.5c.8 3 2.8 2.6 4.6 3.2 1.8.7 3.7 3 4.5 4.8"/>
<path d="M255.6 184.5l1-.6 17.7 29.9-1 .6-17.7-30z"/>
<path d="M257.5 183.3a2 2 0 11-4 0 2 2 0 114 0zm15.2-24h7.2v1.6h-7.2zm0 3.1h7.2v13.8h-7.2zm-.4-5h8c.2-2.7-2.5-5.6-4-5.6-1.6.1-4.1 3-4 5.6z"/>
<path fill="#bd6b00" stroke="none" d="M292.6 155.8c-1.5.6-2.7 2.3-3.4 4.3-.7 2-1 4.3-.6 6.1 0 .7.3 1.1.5 1.5.2.3.4.5.6.5.3 0 .6 0 .7-.3l.2-.8c-.1-2-.1-3.8.3-5.4a7.7 7.7 0 013-4.4c.3-.2.4-.5.5-.7a1 1 0 00-.3-.7c-.4-.3-1-.4-1.5-.1zm.2.4c.4-.2.8 0 1 .1l.1.2c0 .1 0 .2-.3.4a8.2 8.2 0 00-3.1 4.6 16.7 16.7 0 00-.3 5.6 1 1 0 01-.2.6s0 .1-.2 0c0 0-.2 0-.4-.3a3.9 3.9 0 01-.4-1.2c-.3-1.8 0-4 .7-6 .7-1.8 1.8-3.4 3-4z"/>
<path fill="#bd6b00" stroke="none" d="M295.2 157.7c-1.5.7-2.5 2.3-3 4.2a13.6 13.6 0 00-.3 5.9c.2 1.3 1 2 1.6 2 .3.1.6 0 .8-.3.2-.3.3-.6.2-1-.4-1.6-.5-3.4-.3-5.1.3-1.7 1-3.2 2.2-4.1.3-.3.5-.5.5-.8a.8.8 0 00-.2-.6c-.4-.3-1-.4-1.5-.2zm.2.5c.4-.2.8-.1 1 0l.1.3-.3.4a6.5 6.5 0 00-2.4 4.4c-.3 1.8-.1 3.7.2 5.2.1.4 0 .6 0 .8l-.5.1c-.3 0-1-.5-1.2-1.7-.3-1.7-.2-3.9.3-5.7.5-1.8 1.5-3.3 2.8-3.8z"/>
<path d="M272.3 187.4h8v11h-8zm.5 17.4h7.7v2.4h-7.7zm-.2 4.1h8v8.7h-8zm-.6 10.5h8.7v4.9H272zm1.1-16.6h7l1.4-2.4h-9.6l1.2 2.4zm9.4-8.6l.1-6h4.8a17.4 17.4 0 00-4.9 6z"/>
<path fill="none" d="M273.6 196.7c0 1.3 1.5.8 1.5.1v-5.6c0-1 2.4-.8 2.4-.1v6c0 1 1.7.9 1.6 0v-7c0-2.2-5.5-2.1-5.5-.1v6.7zm0 13.3h5.7v7h-5.7z"/>
<path d="M277.2 213h2v1h-2zm-3.5 0h2v1h-2zm2-3h1.5v3h-1.5zm0 4h1.5v3.1h-1.5zM244 139c.4 5.5-1.4 8.6-4.3 8.1-.8-3 1-5.1 4.3-8.1zm-6.5 12.3c-2.6-1.3-.7-11.5.3-15.8.7 5.5 2 13.3-.3 15.8z"/>
<path d="M238.4 151.8c4.4 1.5 8-3.2 9.1-8.7-3.6 5-9.5 5-9 8.7zm-3.3 5.1c-3.4-.9-1.4-11.7-.7-16 .7 4.5 3.1 14.5.7 16zm1.2-.3c.2-3.7 3.9-2.7 6.5-4.7-.5 2-2 5.2-6.5 4.7zm-4.2 5c-3.4-1-1.4-12.6-1.6-17.4 1 4.2 4.2 16.3 1.6 17.4zm1.6-.5c2.8.9 6.5-1 6.8-4.3-2.5 1.7-6.3.4-6.8 4.3z"/>
<path d="M229.5 166.7c-3.2.3-1.8-9.6-1.8-18.8 1.2 8.6 4.5 16.5 1.8 18.8z"/>
<path d="M230.7 166.3c2.2 1 6.1-.7 7.2-4.4-4 1.7-6.6 0-7.2 4.4zm25.6-22.2c-.6 4.9-2.6 7.7-5.5 7.2-.8-3 1.6-5 5.5-7.2zm-7.8 12.4c4.9.7 6.6-3 10-7.9-4.7 3.4-10.2 4-10 8z"/>
<path d="M247 156c-2.6-3.2 0-7.3 2-10.7-.4 5.1 1.3 8-2 10.7zm-1 5.3c-.4-3.2 5-3.9 7.4-5.6-.9 1.8-2 6.7-7.5 5.6z"/>
<path d="M244.8 161.3c-3.7-.4-2.2-6.7.5-10.1-1.1 4.8 2 8.1-.5 10.1z"/>
<path d="M242 166.6c-4.2-2-1.5-7.2 0-10.3-.6 4.1 2.8 7.2 0 10.2z"/>
<path d="M242.8 166c2.2 3 6.5-.8 7.4-5.2-3.7 3.1-6.5 2.6-7.4 5.3zm-9.6 20.3c-.4-4.3 2.8-12 .5-16.2-.3-.6.7-2.1 1.4-1.2 1 1.5 2 5.7 2.5 4.1.4-1.7.5-4.6 2-5.2 1-.3 2.3-.6 1.9 1-.4 1.4-1.2 3.4-.3 3.5.5 0 2-2 3.3-3 1-.8 2.6.6 1 1.8-4.8 4-9.5 5.9-12.3 15.2zm-8.7 64.5c-.6 0-1.3-.3-.6.6 5.7 7 7.3 9 15.6 8 8.3-1.1 10.3-3.4 16.2-6.7a14.6 14.6 0 0111.2-1c1.6.5 2.6.5 1.4-.7-1.2-1.1-2.5-2.7-4-3.8a17.5 17.5 0 00-12.7-2.7c-6 1-11.1 4.9-17.2 6.4a25 25 0 01-9.9 0zm47.8 12.5c1 .2 1.7 2.2 2.3.9.8-2.3.2-4-.8-3.9-1.2.3-3.1 3-1.5 3z"/>
<path stroke="none" d="M220.6 183c-1.2-1.4-.9-1.8 1-1.9 1.4 0 4.2 1 5.3.1 1-.7.5-3.7 1-5 .2-.9.7-2 2-.2 3.6 5.8 8 12.8 10 19.6 1 3.8 0 9.8-3.4 13.8 0-3.4-1.2-5.7-2.7-8.6-2-3.7-9.1-14-13.2-17.9z"/>
<path d="M235.5 213.4c4 0 4.7-5.3 4.7-6.8-2 .4-5.4 3.7-4.7 6.8zm34.5 51.9c2.8.6 2.7-6.2-.2-9.1 1.3 4.4-2 8.4.1 9zm-1.2-.1c.2 3.2-8-.4-10-3 4.8 2.1 9.8.4 10 3zm-3.5-4.6c.3 3.1-7 .3-9.3-2.1 4.9 1.6 9-.5 9.3 2zm1.3.4c2.9.7 2.4-6.4-.4-8.8 1.4 4.7-1.8 8.1.4 8.8zm-3-4.3c2.9.7 1.2-5.4-.9-7.8.4 4.4-1 7.5 1 7.8zm-1.5 0c.3 3.2-5.4.8-7.6-2.3 4.8 1.5 7.3-.3 7.6 2.3zm-1.5-2.5c1.8-1.3-.1-4.8-3.7-4.6.4 2.1 1.6 5.9 3.7 4.6zm14 14.7c.1 3.2-8 1.6-10.6-1.8 5.2 1 10.3-.8 10.5 1.8zm-32.4-5.8c.3 3.2-8.6-.4-10.8-3.4 4.7 1.6 10.5.8 10.8 3.4zm5.4 1.3c1.9-1.3-1.9-4.7-5-5.5.4 2.1 3 6.8 5 5.6zm.6 2.3c.2 2.9-9.5 1.3-12-1.4 8.3 1.5 11.7-1.1 12 1.4z"/>
<path d="M252.8 268.6c1 2.7-8.3 2-11.6.5 5.3 0 10.8-2.4 11.6-.5z"/>
<path d="M257.1 270.6c1 2.4-7.6 2.4-11.8 1 5.6 0 10.8-3.4 11.8-1zm6.3 1.3c1.6 2.9-7.6 3.1-10.5 1.7 5.2-.7 9.2-4 10.5-1.7zm-10.7-4.9c-2.9 1.8-2.7-3.6-5-7.3 3.6 3.3 7 5.6 5 7.3z"/>
<path d="M257.9 269c-2.4 2.1-4.4-5.3-6.6-9.5 3.6 4 8.8 7.7 6.6 9.4zm6.8 2c-2 2.4-8-7-10.2-12 3.3 3.9 11.8 10 10.2 12zm-5.8 7.2c-1 3.6-16.2-3.4-18-7.1 8.8 4.6 18.2 3.6 18 7zm-48.7-73.8c-.4-.5-1.4 0-1.2 1.1.3 1.5 2.5 9.2 6.3 11.8 2.7 2 17 5.1 23.4 6.5 3.6.7 6.5 2.5 8.9 5.3a94.4 94.4 0 00-3-9.8c-1.2-3-4.4-6.2-7.8-6.3-6.1-.3-14.1-.8-20-3.3a16 16 0 01-6.7-5.3z"/>
<path d="M245.5 234.9c2 1.4 4.1-3.7 1.7-8.6-.1 4.7-3.8 6.3-1.7 8.6z"/>
<path d="M247.4 239.6c2.7.8 3.5-4 1.8-7.8.3 4.1-4.3 6.6-1.8 7.8z"/>
<path d="M249.5 243.4c2.6 1.3 3.5-3.6 1.7-7.1.2 4.5-3.7 5.9-1.7 7z"/>
<path d="M248.4 243.7c-1 3-7-2.7-8-5.8 3.7 3.7 8.7 3.2 8 5.7z"/>
<path d="M245.7 239c-1.2 3-8.7-5-10.4-8.7 3.7 3.7 11.2 6.5 10.4 8.6z"/>
<path d="M244.2 234.3c-1.2 3.5-9.3-5.8-11.7-9.1 4 3.6 12.6 6.6 11.7 9.1zm-.3-3.4c3-.6-.1-3-3.7-6.9-.1 4.1.5 7 3.7 6.9z"/>
<path d="M239 228.5c1.3-1.3-1.1-1.9-4.1-5.3-.5 2.3 2.8 6.5 4.2 5.3zm14 15.2c1.6 1 2.6-2.3.7-5.2-.5 3.2-2.1 4-.7 5.2zm-34.2-20.3c-3.3 2-8.6-6-10-9.3 2.9 3.8 10.6 7.2 10 9.3z"/>
<path d="M221.7 228c-1.9 2-7.7-3.5-9.7-6.3 3 2.7 10.5 3 9.7 6.3z"/>
<path d="M224.8 232.2c-.6 2.8-9-3.5-11-6.5 3.6 3.5 11.6 3.2 11 6.5z"/>
<path d="M223.5 235.3c-1.3 2.5-8.2-3.8-9.9-7 4.3 3.6 11 4.5 10 7zM220 223c2.1-2.3 1.2-3.4-.4-7-.8 3.7-2.1 5.2.4 7zm2.9 4.3c4 .2 0-4.6-1-8.7.4 4.6-1 8.3 1 8.7z"/>
<path d="M225.4 231.1c2.7-.6 2-4.5-.2-9.2.5 5.1-2.3 8 .2 9.2zm-1 7.7c-1 3-8.8-4-10-6.8 4 3.4 10.7 4.5 10 6.8z"/>
<path d="M229.1 243.6c-1.1 3-9.3-3.2-11.8-6.6 4.9 4 12.4 3.6 11.8 6.6z"/>
<path d="M233.9 248.5c-1.3 4.3-9.9-2.6-12.4-6 5.4 4.2 13 3 12.4 6zm-8-11c2.3 1.1 3.2-5.4 1.9-10.1 0 5-4.7 8.8-2 10z"/>
<path d="M229.8 242.7c2.8.8 2-6.3-.5-11-.3 4.7-2.3 9 .5 11zm5 4.9c3 .1 1-6.1-1.6-9.6.4 4.5-1 9 1.6 9.6zm-5.5 2.6c-1 1.6-3.2-1.3-7-3.5 3.4 1 7.4 2 7 3.5zm-1.8-52.7c3-2.2.7-6.2 0-10-1 3.6-3.4 8.4 0 10zm0 5.3c-4.5-.5-3.8-6.1-4-9.7 1.4 4.9 5 5.7 4 9.8zm.6-.7c3.7-.2 3.5-4.4 3.7-8.6-1.9 3.9-4 4.5-3.7 8.6z"/>
<path d="M228 207.3c-3 .3-4.4-2.6-5-7 2.7 4.1 5.1 2.8 5 7zm1-.3c3.7.5 3-3.8 3-7-1.2 3-4.2 4-3 7z"/>
<path d="M223.2 205.2c.3 2.8 2.1 7.6 5 6.5 1.1-3.4-2.6-4.1-5-6.5z"/>
<path d="M229 212c-1.2-2.4 3-3.7 3.8-6.9.5 4.6.1 7.6-3.8 7zm-11.9-29.2c2.3-2.4.3-6.4-.4-10.2-1 3.6-2.5 8.4.4 10.2zm0 4.6c-4 .5-5-7.7-5.5-11.3 1.4 4.9 6 7 5.5 11.4zm.8 0c2.8-1.5 2.2-4.7 3-7-1.8 2.9-3.6 3.3-3 7z"/>
<path d="M217 192.8c-4.1.3-6.6-8.8-6.8-12.4 1.3 4.9 7.4 7.5 6.9 12.4zm.9-.2c4-.9 3.5-3.5 2.9-7.6-1.3 4.2-3.5 3.3-2.9 7.6z"/>
<path d="M217 198c-4.6.8-4.3-6.6-8-11.9 3.2 4 9 9 8 11.9zm1-.3c3.6.2 4-5.1 3.8-7.3-.9 2.2-5 4.2-3.7 7.4z"/>
<path d="M209.8 192.3c1.7 5.7 4.2 11.4 7.2 11 1.5-3.3-2.9-3.7-7.2-11z"/>
<path d="M218.1 202.4c-1.2-2.5 3-3.7 3.8-6.9.5 4.6.1 7.6-3.8 6.9zm-7.1-3.6c2.5 5.1 3.6 11 7 10.1 1.3-4-3.8-4.8-7-10.1z"/>
<path d="M218.7 208c-1.5-2.8 2.7-3.7 3.8-7.4.5 4.8 0 8.3-3.8 7.3zm7.2-34.5c2.4.6 5-2.1 4.1-6.2-2.8.6-4 3.2-4.1 6.2zm-7.9-2.1c.2 1.2 1.7 1.3 1.2-.4a5.3 5.3 0 010-3.4 7.5 7.5 0 000-4.6c-.4-1-1.8-.4-1.2.4.6.9.7 2.8.2 3.7-.6 1.3-.4 3-.2 4.3zm22.9 16c-1 1.3-2.9.4-1.4-1.5 1.2-1.5 3-2.8 3-4.4.2-2 1.3-5 2.4-6.1 1.1-1.1 2.4.4 1.2 1.2-1.3.8-2.2 4.4-2.1 5.8-.1 2-2 3.5-3.1 5zm-3-2.3c-1 1.4-2.4.5-1.6-1.7.7-1.5.8-3.5 1.6-4.6 1.2-1.7 3-3.1 4.1-4.2 1.2-1 2 0 1 1a27 27 0 00-3.3 4c-1.4 2.2-.8 4-1.8 5.5zm-15.7-7.2c-.1 2 1.5 2.4 1.4-.4 0-3-2.2-5.8-1-10.3.8-2.2.8-6.3.4-8.4-.4-2.2-2-.8-1.3.9.6 2-.1 5.6-.6 7.5-1.5 5.4 1.2 8 1 10.7zm4.3-11c-.2 1.9-1.8 2-1.3-.5.4-2 .4-3.6 0-5.3-.6-2.1-.4-5.7 0-7.2.5-1.6 2-.7 1.4.5a9.9 9.9 0 00-.3 5.9c.6 2 .5 4.8.2 6.7zM210.9 204c.8.9 2 .3 1-1-1-1-.7-1.2-1.3-2.4-.6-1.4-.5-2.1-1.2-3-.7-1-1.6 0-1 .7.8 1 .6 1.6 1 2.5 1 1.5.7 2.3 1.5 3.2zm20.4 24.6a8.6 8.6 0 014.4 6.7 16 16 0 002 7.1c-2-.5-3-3.7-3.3-6.8-.3-3.2-2-4.5-3-7zm5.1 5.9c1.7 3.1 4 4.3 4.2 6.6.2 2.7.4 2.8 1.1 5.4-2-.5-2.5-.7-3-4.7-.3-2.8-2.6-4.7-2.3-7.3z"/>
<path stroke="none" d="M289 263.3c1 1.8 2 4.5 4 4 0-1.3-2.1-2.3-4-4zm3 .6c3.7 1.6 7 1.2 7.5 3.6-3.6.4-5-1-7.6-3.6zm-16.1-12.7a14 14 0 015 7.7 29 29 0 003.6 7.8 13 13 0 01-5.3-7.4c-.7-3-1.6-5.3-3.3-8zm3.1 0c2.8 2.2 5.4 4.8 6.2 7.9.8 2.9 1.3 5.1 3.2 8-3-1.9-4.1-4.7-5-7.8-.7-3-2.5-5.2-4.4-8zm9.2 7.3a1.1 1.1 0 01.7-1.2 33.4 33.4 0 012.6-.8c1-.3 1.6.4 1.6.9v2c0 .7-.2.8-.7.9-.7.1-1.7.2-2.4.7-.6.4-1.2.1-1.5-.5l-.3-2zm10.6 0c0-.6-.2-1.1-.6-1.2a5.4 5.4 0 00-2.4-.4c-1 0-1.1.2-1.1.6v2.1c0 .8 0 .8.4 1 .7 0 1.8 0 2.5.6.5.3 1 0 1.1-.6l.1-2.1z"/>
</g>
<use width="100%" height="100%" x="-600" transform="scale(-1 1)" xlink:href="#a"/>
<g stroke="none">
<path d="M328.5 286.6c0 1.2.2 2.2 1 3.1a19 19 0 00-13.8 1.1c-1.8.8-4-1-1.9-2.7 3-2.3 9.7-1 14.7-1.5zm-57.5 0a7 7 0 01-.4 3c4.4-1.7 9.1-.2 13.6 1.6 3 1.3 3.3-1 2.8-1.7a6.5 6.5 0 00-5-2.9h-11zm3.8-21.7c-1.3-.5-2.7 0-4 1.4-4.3 4.2-9.4 8.3-13.5 11.6-1.5 1.3-3 3.7 3.4 6 .3.2 5 2 8 2 1.3 0 1.3 1.8 1 2.3-.5 1-.1 1.4-1.1 2.3-1.1 1 0 2.1 1 1.3 3.6-3.2 9.6-1.1 15.3.7 1.4.4 3.8.3 3.8-1.6 0-2 1.5-3.4 2.4-3.5 2.4.4 14 .5 17.5.1 2-.3 2.2 2.9 3.3 4 .8.9 3.7 1.1 5.8.2 4-1.8 10-1.8 12.5 0 1 .7 1.9 0 1.3-.7-.8-1-.7-1.6-1.1-2.4-1-2-.2-2.4.8-2.5 11-1.5 14.6-5.2 11.2-8.3-4.4-3.8-9.2-7.7-13.4-12.2-1.2-1.2-2-1.7-4.3-.7a66.5 66.5 0 01-25.3 5.9 76 76 0 01-24.6-5.8z"/>
<path fill="#bd6b00" d="M326.6 265.5l-1.6.4c-9 3.2-17.2 5.4-25.7 5.4-8.3 0-17-2.4-24.9-5.6a2.3 2.3 0 00-1.5 0c-.5.1-1 .4-1.3.7a115.5 115.5 0 01-11.8 10.3c-.7.5-.6 1.8.5 2.2 8.3 3 16.4 8.5 39.6 8.3 23.5-.2 31.8-5.6 39.2-8.1.5-.2 1-.5 1.3-1a1 1 0 00.1-.8 2 2 0 00-.6-.8c-4.3-3.5-8.8-6.3-11.8-10.4-.3-.5-.9-.6-1.5-.5zm0 .5c.5 0 1 0 1.1.3 3 4.3 7.7 7 11.9 10.5l.4.7a.5.5 0 010 .4c-.1.3-.6.6-1 .7-7.6 2.6-15.7 8-39 8.2-23.2.2-31.2-5.3-39.5-8.3-.8-.4-.7-1.2-.4-1.4 4.2-3.2 8.2-6.8 11.8-10.4a2.5 2.5 0 011.1-.6h1.2a68 68 0 0025 5.6c8.7 0 17-2.2 26-5.3a6.7 6.7 0 011.5-.4z"/>
<path d="M269.7 114.6c0-1.4 2-1.5 1.8.4-.3 2.3 4.5 8.3 4.9 12 .3 2.5-1.5 4.6-3.2 6a6.6 6.6 0 01-6.8.5c-.9-.8-1.7-3.3-1-4.3.2-.3 1.3 3.7 3.7 3.7 3.3 0 6-2.5 6-4.7.2-3.8-5.3-9.8-5.4-13.6zm9.5 9.4c.6-.4 1.4 1.3.8 1.7-.5.3-1.5-1.3-.8-1.8zm1.5-3.5c-.3.2-.8 0-.7-.2a12 12 0 013.6-3.3c.4-.2 1 .4.8.7a11 11 0 01-3.7 2.8zm12.6-10c.3-.6 2.1-1.3 2.6-1.7.4-.5.6.4.4.7-.3.7-1.9 1.7-2.6 1.8-.3 0-.6-.4-.4-.7zm4.3.3a8.3 8.3 0 012.5-3.4c.5-.3 1.3 0 1.1.4a9 9 0 01-2.9 3.3c-.3.3-.8 0-.7-.3zm-3.7 2.7c-.3.2-.1.7.1.8.6.2 1.5.2 2 0 .6-.4.3-2.9-.5-1.6-.6.8-1 .6-1.6.8zm-7.3 5.6c-1.3-1 .4-2.4 1.7-1.4 2.7 2-4 9.8-7.6 13.4-.7.7-1.3-1-.4-1.9a33.7 33.7 0 006.7-7.6c.4-.5.7-1.6-.4-2.5zm15.3-6.6c.1-1-1.6 0-1.6-1.3 0-.7 1.9-1.2 2.7-.4 1.3 1.4.3 3.7-2 3.9-1.8 0-5 2.7-4.5 3.2.5.7 5.4 1.1 8.3.7 1.8-.3 1.4 1.3-.4 1.5-1.8.2-3.2 0-4.8.6-2 .5-2.8 3-3.9 4-.2.2-.8-.8-.6-1.2.8-1.2 2-3 3.4-3.6.8-.3-2.4-.4-3.4-.7-.8-.2-.6-1.3-.3-1.9.4-.8 3.4-3.9 4.7-3.8 1.1 0 2.3-.3 2.4-1zm5 .2c.6-.5 1-1.3 1.5-1.8.3-.3.9 0 .8.8-.1.7-1 1.2-1.5 1.7-.5.3-1-.4-.7-.7zm6.5-2.3c.9 0 1 1.6.2 1.8-.6.2-1-1.7-.2-1.8zm-2.1 5c0 1.5.7 1.4 2 1.3 1.3 0 2.4 0 2.4-1.2 0-1.3-.7-2.5-1-1.6-.1.8-.3 2.2-.8 1.6-.4-.5-.2-.6-1 .2-.5.5-.5-.2-.8-.6-.2-.3-.8.2-.8.4zm-9.2 7.2c-.3 1.9 0 4.5.9 4.5 1.2 0 3.6-4 4.8-6.2.7-1.2 1.8-1.4 1.3-.1-.7 1.9-.6 6 0 7.2.4.6 3-.6 3.4-1.5.8-1.7.1-4.8.4-6.7.1-1.2 1.3-1.5 1.2-.3a75.6 75.6 0 00-.1 7.5c0 1 2.9 2.4 3.3-.6.2-1.8 1.2-3.7 0-5.7-.8-1.3 1.1-1.2 2.1.6.7 1.2-.6 3.2-.5 4.7 0 2.4-1.8 3.8-3.1 3.8-1.2 0-2-1.5-3-1.5s-2.2 1.7-3 1.6c-3.6-.2-1.7-5.3-2.8-5.4-1.2 0-2.5 5-4 4.9-1.4-.2-3-4.2-2.3-5.8.5-1.6 1.5-2 1.4-1zm16.9-8c-1.7-1 0-3.7.9-2.8 1.6 2 3.2 6.5 4.4 6.9.7.2.6-3.4 1.1-5 .4-1.3 1.8-.9 1.6.7-.1.5-2 6.4-1.8 6.6a47.1 47.1 0 013.3 7.8c.3 1.2-1.1.4-1.3.2-.9-1.4-2.4-6.5-2.4-6.2l-1.7 7.7c-.2 1-1.7.8-1.3-1 .3-1.4 2.3-8.3 2.2-8.6a17.2 17.2 0 00-5-6.3z"/>
<path d="M322 131.2c-.4 0-1.2 1 1.2 1.5 3.1.6 6.6-.5 7.6-3.6 1.3-3.7 2-7.2 2.7-8.5.8-1.5 1.8-1.4 1-3.6-.5-1.7-1.5-1.2-1.7-.3-.5 2.3-2.6 10-3.3 11.3-1.2 2.6-3.7 3.6-7.5 3.2z"/>
<path d="M328.4 119c-.4-.7-1.2 0-1 .7a1.2 1.2 0 001.2 1c.7 0 2.2.1 2.2-1 0-.8-.7-1.5-1.1-.6-.5.8-1 .7-1.3 0zm.7-3c-.2.2 0 1.1.3 1a7 7 0 003.3-.8c.2-.2.1-.7-.2-.7-1 0-2.6 0-3.4.5zm8.8 2.3c.8-1.2 2.8-1.3 2 .4a614.3 614.3 0 01-6.3 12.3c-.8 1.4-1.4.7-.8-.4.7-1.4 4.9-12 5.1-12.3z"/>
<path d="M330.2 133c-.2-.8-1.5-2-1.3.2.2 3.8 5.5 2.6 7 1.3s.3 4.3 2.2 4.9c1 .3 3-1.1 4-2.4 2.7-3.5 4.5-8.6 7-12 1-1.4-.5-2.4-1-1.3-2.4 3.8-5.2 11.6-8.3 13.6-2.5 1.6-1.7-2-1.8-3.2-.1-.8-1.1-2-2.4-.9a5.5 5.5 0 01-3.7 1.2c-.7 0-1.4 0-1.7-1.4z"/>
<path d="M339.6 126c0-.3-1.1-.4-1 .7 0 .8 1 1 1.1 1 1.5-1.2-.3-.6-.1-1.8zm-2.3 4.4c-.3 0-.6 1 .2 1.1l3.9-.2c.4 0 .6-.9-.4-.8-1.2 0-2.7-.3-3.7 0zm-62-16.6c.5 0 1.6 1.4 1.5 1.9 0 .2-1.2 0-1.5-.3-.3-.3-.2-1.6 0-1.6zm-5.3 10.4c-1 .6.2 1.7 1 1.2 2.8-1.9 7-3.8 8-7.5.3-1.2 1.4-3.1 2.5-3.5 1-.5 2.6 1.9 3.6 0 .6-1 2.7.7 3.2-.4.6-1.3.3-2 .3-3.4 0-.8-.7-1-1.2.3-.2.6 0 1.2-.1 1.6-.2.2-.6.4-1 .2-.2-.2 0-.7-.6-1-.2 0-.6-.1-.8.2-.7 1.3-1 2.5-2.1 1-.9-1-1.4-3.1-2-.3-.2 1-1.7 2.4-2.6 2.4-1.1 0-.8-3-3.2-2.5-1.3.3-1.2 2.7-1 3.5.3 1.3 4 .4 3.7 1.2-.6 2.7-4.4 5.4-7.7 7zm-22.7 13.2c-.1.5.5 1.7 1.1 1.8.6 0 1-1.3.8-1.8-.2-.3-1.8-.3-1.9 0zm3.3 4.9c-.4-.4-1.6.7-.6 1.5.5.5 2.5 1.1 3 .2.8-1.2-.7-5.5 0-6 .5-.5 2.8 2.8 4 3 2.7.4 2-4.6 5-4.2 1.9.2 2.1-2.2 1.8-3.8-.2-1.5-2.6-3.6-3.7-4.6-1.4-1.2-2.1 1-1.2 1.6 1.2 1 3.3 2.9 3.6 4.1.1.6-1.4 1.8-2 1.5-1.4-.8-2.6-4-3.8-4.7-.4-.2-1.4.3-1 1.3.6 1.1 3 2.7 3.1 3.9.1 1-1 3.2-1.8 3.2-.9 0-3-2.7-3.7-4-.4-.5-1.5-.5-1.7.4a22 22 0 00.5 5.5c.2 1.6-.9 1.7-1.5 1.1zm-4-8.6c-.4.4.8 1.2 1 1 .4-.4 2.1-2.3 1.8-3-.3-.6-2.6-2-3-1.3-.7 1.1 2.2 1.7 1.7 2a7 7 0 00-1.5 1.3zm4.1-8.4s.8 2.5 1.4 1.4c.4-.7-1.4-1.4-1.4-1.4zm1.2 4c-.2 0-1 .7-.5 1 .8.4 2.9.8 2.4-.7-.3-.9 3.2 0 2.3-2.4a3.7 3.7 0 00-1.7-1.7c-.4 0-1.5.5-.8.9.5.2 2 1.1 1.5 1.7-.7.6-1.1-.3-1.9-.1-.4 0-.1 1.2-.4 1.5 0 .2-.7-.4-.9-.3zm5.5-9.5a3.5 3.5 0 00-1.2 2c0 .2.3.6.5.5a3.2 3.2 0 001.2-1.9c0-.3-.2-.8-.5-.6zm2.8-.3c-.8-1 1-2.6 1.7-.5.5 1.3 5.5 7.9 6.5 10.1.8 1.5 0 2.1-.9 1-2.5-3.2-4.6-7.2-7.3-10.6zm5.2.1c.9-1 2.7-3 2.2-4-.4-1-1.5-1-1.7-.7-1 1.3.8 1 .5 1.4-.5 1-1 1.6-1.3 2.6-.1.3.1.9.3.7zm77.8 3.2c-.7-.5.6-3 1.5-2 2.3 2.7 3.4 11.6 4.1 18.3 0 0-1 .9-1 .7 0-3.5-1.5-14.4-4.6-17zm-53.1-8.6c-.8-1.8 1.1-2.4 1.4-1.2 1.3 5.8 4.5 10.2 7 14.1.7 1.2 0 2-1.7.8-1.2-.8-2.5-3.9-3-4-1.2-.2-3.8 5-9.1 3.5-1.4-.4-1.3-4.5-1.4-6.3 0-.9 1-1 1 0 0 1.7 0 5.2 2.1 5.4 1.8 0 5.6-2.4 6.4-4.4.8-2-1.9-5.9-2.7-8z"/>
<path d="M344.6 138.4c.4-1.2 6.1-10.8 6.9-12.9.4-1 2 1.8.4 3.3-1.4 1.2-5.5 8-6.3 10.4-.4 1-1.4.5-1-.8z"/>
<path d="M354.3 129.3c1-4 3.6.6 1.3 2.8-3.4 3.4-4.5 9.9-10 10.9-1.4.3-4-.7-4.8-1.3-.3-.2.2-1.6 1.1-.9 1.3 1 4.1 1.3 5.6.1a25.4 25.4 0 006.8-11.6zm-57 12.7c-.3.3-1 .3-1.1.7-.3 1.4 0 2.2-.3 3.6s-1.3 1.4-1.2.3c0-1.4 1.3-3.5.4-3.6-.6-.1-1-.9-.4-1.3 1.1-.7 1.7-.6 2.4-.4.3.1.4.5.2.7z"/>
<path d="M296.5 140c-1.4 1.4-2.8 1.9-4.1 3.5-.6.6-.5 1.5-.9 2.4-.3.9-1.4 1-1.7.9-.5-.4-.4-2-1-1.2-.6.9-.9 2-1.7 2-.7 0-2-1.5-1.3-1.5 2.3-.3 2.2-2 3-2.2 1-.1 1 1.5 1.7 1.2.4-.2.7-2.1 1.2-2.6 1.5-1.6 2.7-2.4 4.3-3.6.7-.6 1.3.5.5 1.2zm5.3 5c-1.2.2-1 1.7-.6 1.8.5.3 1.4.4 1.7-1.3.2-.7.3 3.5 1.8 1.9 1-1 3.1.2 4-1 .7-.9 1-1.5.4-2.7-.2-.3-1-.2-1 .7 0 .8-.5 1.7-1.3 1.6-.4-.1.2-1.9-.2-2.4a.5.5 0 00-.7 0c-.3.4.3 2.2-.6 2.4-1.2.2-.6-1.2-1-1.4-1.7-.8-1.8.2-2.5.3zm9-3c.9-.2.6-.2 2-1.3.5-.4.6.8.5 1.3 0 .7-1 .2-1.3.9-.4.9-.2 3-.4 3.8 0 .4-.8.4-.8 0-.2-1 .1-2 0-3.3 0-.4-.5-1.1 0-1.3zm-5-2.5c-.2.9-.2 1.6-.2 2.3 0 .5 1 .2 1 .1 0-.8.2-2 0-2.3-.2-.1-.7-.3-.8-.1z"/>
<path d="M299.5 130.2l-1.4 5.6-2-3.8v3.9l-4.4-5.2 1.5 5.6-4-3.4 2.2 3.8-7-4.5 4.4 5.2-5.6-2.8 4 3.4-9-3.4 8.7 4.3a29 29 0 0112.6-2.6c4.9 0 9.3 1 12.5 2.6l8.8-4.3-9 3.4 4-3.4-5.5 2.8 4.3-5.2-7 4.5 2.2-3.8-4 3.3 1.5-5.5-4.3 5.2V132l-2 3.8-1.5-5.6z"/>
</g>
</g>
<path fill="#fff" d="M311.3 295l-.3 2.6h-.4l-.1-1.8a9.3 9.3 0 00-.5-1.6 7.3 7.3 0 00-.5-1.3l-1-1.4.8-2.2a6.6 6.6 0 011.5 2.4 9.4 9.4 0 01.5 3.2m7-4.2c0 .7-.2 1.2-.5 1.5-.2.3-.6.6-1.3.7l.4 1.5a6.7 6.7 0 010 2 22.5 22.5 0 01-.1 1.3h-.4a8.2 8.2 0 00-.1-1.3 5.5 5.5 0 00-.2-1l-.4-1a10.5 10.5 0 00-.7-1.4l-1-1.7.6-2 1 1c.3.2.6.3 1 .3.8 0 1.2-.4 1.2-1.3h.4v1.4m6.4 4.8l-.5 2.1c-.4 0-.6-.3-.8-.7l-.4-1.3a12.4 12.4 0 01-.1-1.7 4 4 0 01-1 .2 2 2 0 01-1.3-.4 1.3 1.3 0 01-.5-1c0-.9.3-1.7.7-2.3.5-.7 1-1 1.5-1.1.5 0 .8.1 1 .4a2 2 0 01.3.9v2c0 .9.1 1.5.3 1.9 0 .3.3.6.8 1m-2-3.5c0-.6-.3-.8-.8-.8a1 1 0 00-.6.1c-.2.1-.2.2-.2.3 0 .3.3.5 1 .5l.6-.1m8.7 3l-.3 2.6c-.5-.4-1-1-1.4-2a25.4 25.4 0 01-1.3-4.1 52.8 52.8 0 01-1.8 5.5 2.9 2.9 0 01-.8.7v-2.5c.6-.7.9-1.1 1-1.5a7.6 7.6 0 00.8-1.7l.5-2.7h.4l.9 2.7c.2.6.5 1.2.9 1.6l1 1.4"/>
<path fill="#bf0000" d="M350.8 319.4c.4.4.6.8.7 1.2l.4 1.6-.8.1a7.8 7.8 0 00-1-1.5 18.8 18.8 0 00-1.1-1.2 46 46 0 00-1.7-1.5 34.4 34.4 0 00-2-1.7c-.4-.2-.6-.4-.6-.5a1.9 1.9 0 01-.3-.8 11.2 11.2 0 01-.2-1.6l2.7 2.2a44.3 44.3 0 012.5 2.2l1.4 1.5m-9.5-5.8l-.2 2H338l.3-2h3m8.4 8.9l-7.6 2.3-1.3-2 6.5-2-.7-.8a2.8 2.8 0 00-.9-.6 1.4 1.4 0 01-.4 1 2 2 0 01-1 .6 3.4 3.4 0 01-1.8 0 2 2 0 01-1.3-.7 4 4 0 01-.7-2.2c0-1 .3-1.6.9-1.8.7-.2 1.8 0 3 .7a8.1 8.1 0 013 2.4l2.3 3.1m-5.8-4a3.8 3.8 0 00-.8-.3 1.1 1.1 0 00-.6 0 .7.7 0 00-.5.3.5.5 0 000 .6l.5.2h.6l.4-.3.4-.5m-8-1.6l-.5 2-3.2-.3.5-2 3.1.3m7.5 7.7l-1.7.4a5.3 5.3 0 01-1.7 0 3.6 3.6 0 01-1.5-.4c-.3.5-.8 1-1.5 1.2a7.4 7.4 0 01-1.6.6l-1.2.3-1-2 1.1-.3a9.1 9.1 0 001.3-.4l.9-.5-1-.5h-.7a.4.4 0 00-.2 0 .6.6 0 00-.2.3h-.5c-.5-.8-.6-1.5-.3-2s.9-.8 2-1a6.8 6.8 0 012.6-.2c.8.1 1.3.4 1.5.9.2.2.2.5.2.7l-.4 1.2h.5a2 2 0 00.6 0l1.7-.3 1 2m-8 1.8l-1.6.3a3 3 0 01-2.2-.4 5.5 5.5 0 01-1.7-2.6l-.8-2.2a2 2 0 00-.8-1 4.6 4.6 0 00-.9-.5l.6-2.1c.6.3 1 .6 1.4 1l1 1.7.5 1.5 1.1 2.2c.3.3.7.4 1 .3l1.7-.2.7 2m-7-7.5l-1 1.9-3-.7 1-1.9 3 .7m1.8 8.4l-7.5.7-.4-2 6.2-.7a2.3 2.3 0 00-.6-.8 8.3 8.3 0 00-1-.6l.5-2c.7.4 1.2.9 1.6 1.3.3.5.6 1.2.8 2.1l.4 2m-6 1a17 17 0 01-2.2-.2 10.5 10.5 0 01-1.7-.5 5.6 5.6 0 01-1.3.4 9.9 9.9 0 01-1.7 0h-2a2.5 2.5 0 01-1.2-.3c-.3-.2-.5-.5-.8-1a4.1 4.1 0 01-1.5 1l-1.7.1h-1.7l.2-2.1h1.7c.8 0 1.5 0 2.1-.4a2 2 0 001.3-1.8l.7.1a30.2 30.2 0 00-.1 1.3c0 .3 0 .5.3.7.3.2.6.3 1 .3h1.5c1 0 1.6 0 2-.2.6-.2.9-.5 1-1.1l.1-.4s.3 0 .5-.2l.5-.2v.4a8.9 8.9 0 010 .3l-.3 1.1a12.4 12.4 0 002 .5c.1-.2 0-.4-.1-.7l-.3-.6a.5.5 0 01.1-.3l.3-.2 1-.9.5 1v1l-.2 2.9m-11.3-8.7l-2 1.3-1.3-.9-1.4 1-1.9-1 1.8-1.3 1.5.8 1.5-1 1.8 1m-3 8.2l-7.3-1.2.8-2 6.2 1c0-.4 0-.7-.2-1a5.2 5.2 0 00-.5-.8l1.6-1.7c.4.6.6 1 .7 1.6 0 .5-.2 1.2-.5 2.1l-.8 2m-6.1-1l-1.6-.3c-.9-.2-1.4-.6-1.5-1.2-.2-.6.1-1.5.8-2.8l1.2-2c.3-.5.4-.9.3-1.2a2.2 2.2 0 00-.3-.7l2.2-1.6c.3.5.3 1 .3 1.4 0 .5-.3 1.1-.7 1.8l-.8 1.4a5.8 5.8 0 00-.9 2.2c0 .4.2.6.5.7l1.6.4-1.1 2m-3.8-8l-2.5 1.1-1.8-1.7 2.6-1 1.7 1.7m-1 6.6a6.8 6.8 0 01-1.6 1.4 4.2 4.2 0 01-1.7.6l-2.4-.1a14.8 14.8 0 01-2.8-.7 7.7 7.7 0 01-3.4-2c-.6-.8-.6-1.5 0-2.2a7 7 0 012-1.6c.8-.5 2-1 3.8-1.6l.4.5-2.8 1.2c-.5.3-1 .6-1.3 1-.4.4-.3 1 .2 1.6a10.5 10.5 0 006.3 2.2c1.2 0 2-.3 2.3-.7.3-.3.4-.6.5-1l.2-1.6 2.5-1.5a8 8 0 01-.1 1.5 4.4 4.4 0 01-1 1.6l-1.2 1.4"/>
</svg>

After

Width:  |  Height:  |  Size: 21 KiB

View file

@ -0,0 +1,81 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-af" viewBox="0 0 512 512">
<g fill-rule="evenodd" stroke-width="1pt">
<path d="M0 0h512v512H0z"/>
<path fill="#090" d="M341.3 0H512v512H341.3z"/>
<path fill="#bf0000" d="M170.7 0h170.6v512H170.7z"/>
</g>
<g fill="#fff" fill-rule="evenodd" stroke="#bd6b00" stroke-width=".5" transform="translate(2.2 86.8) scale(.84611)">
<path d="M319.5 225.8h8.3c0 3.2 2 6.6 4.5 8.5h-16c2.5-2.2 3.2-5 3.2-8.5z"/>
<path stroke="none" d="M266.7 178.5l4.6 5 57 .2 4.6-5-14.6-.3-7-5h-23l-6.6 5.1h-15z"/>
<path d="M290 172.7h19.7c2.6-1.4 3.5-5.9 3.5-8.4 0-7.4-5.3-11-10.5-11.2-.8 0-1.7-.6-1.9-1.3-.5-1.6-.4-2.7-1-2.6-.4 0-.3 1-.7 2.4-.3.8-1.1 1.5-2 1.6-6.4.3-10.6 5-10.5 11.1.1 4 .6 6.4 3.4 8.4z"/>
<path stroke="none" d="M257.7 242.8H342l-7.5-6.1h-69.4l-7.5 6.1z"/>
<path d="M296.4 219.7l1.5 4.6h3.5l-2.8-4.6h-2.2zm-2 4.6l1 4.6h4l-1.5-4.6h-3.5zm7 0l2.8 4.6h5.9l-4.6-4.6h-4.1zm-34.5 10.4c3.1-2.9 5.1-5.3 5.1-8.8h7.6c0 2 .7 3.1 1.8 3h7.7v-4.5h-5.6v-24.7c-.2-8.8 10.6-13.8 15-13.8h-26.3v-.8h55.3v.8H301c7.9 0 15.5 7.5 15.6 13.8v7h-1l-.1-6.9c0-6.9-8.7-13.3-15.7-13.1-6 .1-15.4 5.9-15.3 13v2.2l14.3.1-.1 2.5 2.2 1.4 4.5 1.4v3.8l3.2.9v3.7l3.8 1.7v3.8l2.5 1.5-.1 3.9 3.3 2.3h-7.8l4.9 5.5h-7.3l-3.6-5.5h-4.7l2.1 5.4h-5l-1.3-5.4h-6.2v5.8H267zm22.2-15v4.6h5.3l-1-4.6H289z"/>
<path fill="none" d="M289.4 211.7h3.3v7.6h-3.3z"/>
<path fill="none" d="M284.7 219.8h3.2v-5.6c0-2.4 2.2-4.9 3.2-5 1.2 0 2.9 2.3 3 4.8v5.8h3.4v-14.4h-12.8v14.4zm25.6 3.3h4v3.2h-4zm-2.4-5.3h4v3.1h-4zm-3.9-5.4h4v3.1h-4zm-3.3-4.5h4v3.1h-4z"/>
<path fill="none" d="M298 219.8l4.2.2 7.3 6.4v-3.8l-2.5-1.8v-3l-3.6-2v-3.3l-3.5-1.2V207l-1.7-1.5-.1 14.4z"/>
<path d="M315.4 210.3h1v7.1h-1z"/>
<g id="a">
<path d="M257.3 186.5c-1.2-2-2.7 2.8-7.8 6.3-2.3 1.6-4 5.9-4 8.7 0 2 .2 3.9 0 5.8-.1 1.1-1.4 3.8-.5 4.5 2.2 1.6 5.1 5.4 6.4 6.7 1.2 1 2.2-5.3 3-8 1-3 .6-6.7 3.2-9.4 1.8-2 6.4-3.8 6-4.6l-6.3-10z"/>
<path fill="#bf0000" d="M257 201.9a10 10 0 00-1.6-2.6 6.1 6.1 0 00-2.4-1.8 5.3 5.3 0 01-2.4-1.5 3.6 3.6 0 01-.8-1.5 5.9 5.9 0 010-2l-.3.3c-2.3 1.6-4 5.9-4 8.7a28.5 28.5 0 000 2.3c.2.5.3 1 .6 1.3l1.1.8 2.7.7a7.1 7.1 0 012.6 2 10.5 10.5 0 011.8 2.6l.2-.8c.8-2.7.7-5.9 2.6-8.5z"/>
<path fill="none" d="M249.8 192.4c-.5 3.3 1.4 4.5 3.2 5.1 1.8.7 3.3 2.6 4 4.4m-11.7 1.5c.8 3 2.8 2.6 4.6 3.2 1.8.7 3.7 3 4.5 4.8"/>
<path d="M255.6 184.5l1-.6 17.7 29.9-1 .6-17.7-30z"/>
<path d="M257.5 183.3a2 2 0 11-4 0 2 2 0 114 0zm15.2-24h7.2v1.6h-7.2zm0 3.1h7.2v13.8h-7.2zm-.4-5h8c.2-2.7-2.5-5.6-4-5.6-1.6.1-4.1 3-4 5.6z"/>
<path fill="#bd6b00" stroke="none" d="M292.6 155.8c-1.5.6-2.7 2.3-3.4 4.3-.7 2-1 4.3-.6 6.1 0 .7.3 1.1.5 1.5.2.3.4.5.6.5.3 0 .6 0 .7-.3l.2-.8c-.1-2-.1-3.8.3-5.4a7.7 7.7 0 013-4.4c.3-.2.4-.5.5-.7a1 1 0 00-.3-.7c-.4-.3-1-.4-1.5-.1zm.2.4c.4-.2.8 0 1 .1l.1.2c0 .1 0 .2-.3.4a8.2 8.2 0 00-3.1 4.6 16.7 16.7 0 00-.3 5.6 1 1 0 01-.2.6s0 .1-.2 0c0 0-.2 0-.4-.3a3.9 3.9 0 01-.4-1.2c-.3-1.8 0-4 .7-6 .7-1.8 1.8-3.4 3-4z"/>
<path fill="#bd6b00" stroke="none" d="M295.2 157.7c-1.5.7-2.5 2.3-3 4.2a13.6 13.6 0 00-.3 5.9c.2 1.3 1 2 1.6 2 .3.1.6 0 .8-.3.2-.3.3-.6.2-1-.4-1.6-.5-3.4-.3-5.1.3-1.7 1-3.2 2.2-4.1.3-.3.5-.5.5-.8a.8.8 0 00-.2-.6c-.4-.3-1-.4-1.5-.2zm.2.5c.4-.2.8-.1 1 0l.1.3-.3.4a6.5 6.5 0 00-2.4 4.4c-.3 1.8-.1 3.7.2 5.2.1.4 0 .6 0 .8l-.5.1c-.3 0-1-.5-1.2-1.7-.3-1.7-.2-3.9.3-5.7.5-1.8 1.5-3.3 2.8-3.8z"/>
<path d="M272.3 187.4h8v11h-8zm.5 17.4h7.7v2.4h-7.7zm-.2 4.1h8v8.7h-8zm-.6 10.5h8.7v4.9H272zm1.1-16.6h7l1.4-2.4h-9.6l1.2 2.4zm9.4-8.6l.1-6h4.8a17.4 17.4 0 00-4.9 6z"/>
<path fill="none" d="M273.6 196.7c0 1.3 1.5.8 1.5.1v-5.6c0-1 2.4-.8 2.4-.1v6c0 1 1.7.9 1.6 0v-7c0-2.2-5.5-2.1-5.5-.1v6.7zm0 13.3h5.7v7h-5.7z"/>
<path d="M277.2 213h2v1h-2zm-3.5 0h2v1h-2zm2-3h1.5v3h-1.5zm0 4h1.5v3.1h-1.5zM244 139c.4 5.5-1.4 8.6-4.3 8.1-.8-3 1-5.1 4.3-8.1zm-6.5 12.3c-2.6-1.3-.7-11.5.3-15.8.7 5.5 2 13.3-.3 15.8z"/>
<path d="M238.4 151.8c4.4 1.5 8-3.2 9.1-8.7-3.6 5-9.5 5-9 8.7zm-3.3 5.1c-3.4-.9-1.4-11.7-.7-16 .7 4.5 3.1 14.5.7 16zm1.2-.3c.2-3.7 3.9-2.7 6.5-4.7-.5 2-2 5.2-6.5 4.7zm-4.2 5c-3.4-1-1.4-12.6-1.6-17.4 1 4.2 4.2 16.3 1.6 17.4zm1.6-.5c2.8.9 6.5-1 6.8-4.3-2.5 1.7-6.3.4-6.8 4.3z"/>
<path d="M229.5 166.7c-3.2.3-1.8-9.6-1.8-18.8 1.2 8.6 4.5 16.5 1.8 18.8z"/>
<path d="M230.7 166.3c2.2 1 6.1-.7 7.2-4.4-4 1.7-6.6 0-7.2 4.4zm25.6-22.2c-.6 4.9-2.6 7.7-5.5 7.2-.8-3 1.6-5 5.5-7.2zm-7.8 12.4c4.9.7 6.6-3 10-7.9-4.7 3.4-10.2 4-10 8z"/>
<path d="M247 156c-2.6-3.2 0-7.3 2-10.7-.4 5.1 1.3 8-2 10.7zm-1 5.3c-.4-3.2 5-3.9 7.4-5.6-.9 1.8-2 6.7-7.5 5.6z"/>
<path d="M244.8 161.3c-3.7-.4-2.2-6.7.5-10.1-1.1 4.8 2 8.1-.5 10.1z"/>
<path d="M242 166.6c-4.2-2-1.5-7.2 0-10.3-.6 4.1 2.8 7.2 0 10.2z"/>
<path d="M242.8 166c2.2 3 6.5-.8 7.4-5.2-3.7 3.1-6.5 2.6-7.4 5.3zm-9.6 20.3c-.4-4.3 2.8-12 .5-16.2-.3-.6.7-2.1 1.4-1.2 1 1.5 2 5.7 2.5 4.1.4-1.7.5-4.6 2-5.2 1-.3 2.3-.6 1.9 1-.4 1.4-1.2 3.4-.3 3.5.5 0 2-2 3.3-3 1-.8 2.6.6 1 1.8-4.8 4-9.5 5.9-12.3 15.2zm-8.7 64.5c-.6 0-1.3-.3-.6.6 5.7 7 7.3 9 15.6 8 8.3-1.1 10.3-3.4 16.2-6.7a14.6 14.6 0 0111.2-1c1.6.5 2.6.5 1.4-.7-1.2-1.1-2.5-2.7-4-3.8a17.5 17.5 0 00-12.7-2.7c-6 1-11.1 4.9-17.2 6.4a25 25 0 01-9.9 0zm47.8 12.5c1 .2 1.7 2.2 2.3.9.8-2.3.2-4-.8-3.9-1.2.3-3.1 3-1.5 3z"/>
<path stroke="none" d="M220.6 183c-1.2-1.4-.9-1.8 1-1.9 1.4 0 4.2 1 5.3.1 1-.7.5-3.7 1-5 .2-.9.7-2 2-.2 3.6 5.8 8 12.8 10 19.6 1 3.8 0 9.8-3.4 13.8 0-3.4-1.2-5.7-2.7-8.6-2-3.7-9.1-14-13.2-17.9z"/>
<path d="M235.5 213.4c4 0 4.7-5.3 4.7-6.8-2 .4-5.4 3.7-4.7 6.8zm34.5 51.9c2.8.6 2.7-6.2-.2-9.1 1.3 4.4-2 8.4.1 9zm-1.2-.1c.2 3.2-8-.4-10-3 4.8 2.1 9.8.4 10 3zm-3.5-4.6c.3 3.1-7 .3-9.3-2.1 4.9 1.6 9-.5 9.3 2zm1.3.4c2.9.7 2.4-6.4-.4-8.8 1.4 4.7-1.8 8.1.4 8.8zm-3-4.3c2.9.7 1.2-5.4-.9-7.8.4 4.4-1 7.5 1 7.8zm-1.5 0c.3 3.2-5.4.8-7.6-2.3 4.8 1.5 7.3-.3 7.6 2.3zm-1.5-2.5c1.8-1.3-.1-4.8-3.7-4.6.4 2.1 1.6 5.9 3.7 4.6zm14 14.7c.1 3.2-8 1.6-10.6-1.8 5.2 1 10.3-.8 10.5 1.8zm-32.4-5.8c.3 3.2-8.6-.4-10.8-3.4 4.7 1.6 10.5.8 10.8 3.4zm5.4 1.3c1.9-1.3-1.9-4.7-5-5.5.4 2.1 3 6.8 5 5.6zm.6 2.3c.2 2.9-9.5 1.3-12-1.4 8.3 1.5 11.7-1.1 12 1.4z"/>
<path d="M252.8 268.6c1 2.7-8.3 2-11.6.5 5.3 0 10.8-2.4 11.6-.5z"/>
<path d="M257.1 270.6c1 2.4-7.6 2.4-11.8 1 5.6 0 10.8-3.4 11.8-1zm6.3 1.3c1.6 2.9-7.6 3.1-10.5 1.7 5.2-.7 9.2-4 10.5-1.7zm-10.7-4.9c-2.9 1.8-2.7-3.6-5-7.3 3.6 3.3 7 5.6 5 7.3z"/>
<path d="M257.9 269c-2.4 2.1-4.4-5.3-6.6-9.5 3.6 4 8.8 7.7 6.6 9.4zm6.8 2c-2 2.4-8-7-10.2-12 3.3 3.9 11.8 10 10.2 12zm-5.8 7.2c-1 3.6-16.2-3.4-18-7.1 8.8 4.6 18.2 3.6 18 7zm-48.7-73.8c-.4-.5-1.4 0-1.2 1.1.3 1.5 2.5 9.2 6.3 11.8 2.7 2 17 5.1 23.4 6.5 3.6.7 6.5 2.5 8.9 5.3a94.4 94.4 0 00-3-9.8c-1.2-3-4.4-6.2-7.8-6.3-6.1-.3-14.1-.8-20-3.3a16 16 0 01-6.7-5.3z"/>
<path d="M245.5 234.9c2 1.4 4.1-3.7 1.7-8.6-.1 4.7-3.8 6.3-1.7 8.6z"/>
<path d="M247.4 239.6c2.7.8 3.5-4 1.8-7.8.3 4.1-4.3 6.6-1.8 7.8z"/>
<path d="M249.5 243.4c2.6 1.3 3.5-3.6 1.7-7.1.2 4.5-3.7 5.9-1.7 7z"/>
<path d="M248.4 243.7c-1 3-7-2.7-8-5.8 3.7 3.7 8.7 3.2 8 5.7z"/>
<path d="M245.7 239c-1.2 3-8.7-5-10.4-8.7 3.7 3.7 11.2 6.5 10.4 8.6z"/>
<path d="M244.2 234.3c-1.2 3.5-9.3-5.8-11.7-9.1 4 3.6 12.6 6.6 11.7 9.1zm-.3-3.4c3-.6-.1-3-3.7-6.9-.1 4.1.5 7 3.7 6.9z"/>
<path d="M239 228.5c1.3-1.3-1.1-1.9-4.1-5.3-.5 2.3 2.8 6.5 4.2 5.3zm14 15.2c1.6 1 2.6-2.3.7-5.2-.5 3.2-2.1 4-.7 5.2zm-34.2-20.3c-3.3 2-8.6-6-10-9.3 2.9 3.8 10.6 7.2 10 9.3z"/>
<path d="M221.7 228c-1.9 2-7.7-3.5-9.7-6.3 3 2.7 10.5 3 9.7 6.3z"/>
<path d="M224.8 232.2c-.6 2.8-9-3.5-11-6.5 3.6 3.5 11.6 3.2 11 6.5z"/>
<path d="M223.5 235.3c-1.3 2.5-8.2-3.8-9.9-7 4.3 3.6 11 4.5 10 7zM220 223c2.1-2.3 1.2-3.4-.4-7-.8 3.7-2.1 5.2.4 7zm2.9 4.3c4 .2 0-4.6-1-8.7.4 4.6-1 8.3 1 8.7z"/>
<path d="M225.4 231.1c2.7-.6 2-4.5-.2-9.2.5 5.1-2.3 8 .2 9.2zm-1 7.7c-1 3-8.8-4-10-6.8 4 3.4 10.7 4.5 10 6.8z"/>
<path d="M229.1 243.6c-1.1 3-9.3-3.2-11.8-6.6 4.9 4 12.4 3.6 11.8 6.6z"/>
<path d="M233.9 248.5c-1.3 4.3-9.9-2.6-12.4-6 5.4 4.2 13 3 12.4 6zm-8-11c2.3 1.1 3.2-5.4 1.9-10.1 0 5-4.7 8.8-2 10z"/>
<path d="M229.8 242.7c2.8.8 2-6.3-.5-11-.3 4.7-2.3 9 .5 11zm5 4.9c3 .1 1-6.1-1.6-9.6.4 4.5-1 9 1.6 9.6zm-5.5 2.6c-1 1.6-3.2-1.3-7-3.5 3.4 1 7.4 2 7 3.5zm-1.8-52.7c3-2.2.7-6.2 0-10-1 3.6-3.4 8.4 0 10zm0 5.3c-4.5-.5-3.8-6.1-4-9.7 1.4 4.9 5 5.7 4 9.8zm.6-.7c3.7-.2 3.5-4.4 3.7-8.6-1.9 3.9-4 4.5-3.7 8.6z"/>
<path d="M228 207.3c-3 .3-4.4-2.6-5-7 2.7 4.1 5.1 2.8 5 7zm1-.3c3.7.5 3-3.8 3-7-1.2 3-4.2 4-3 7z"/>
<path d="M223.2 205.2c.3 2.8 2.1 7.6 5 6.5 1.1-3.4-2.6-4.1-5-6.5z"/>
<path d="M229 212c-1.2-2.4 3-3.7 3.8-6.9.5 4.6.1 7.6-3.8 7zm-11.9-29.2c2.3-2.4.3-6.4-.4-10.2-1 3.6-2.5 8.4.4 10.2zm0 4.6c-4 .5-5-7.7-5.5-11.3 1.4 4.9 6 7 5.5 11.4zm.8 0c2.8-1.5 2.2-4.7 3-7-1.8 2.9-3.6 3.3-3 7z"/>
<path d="M217 192.8c-4.1.3-6.6-8.8-6.8-12.4 1.3 4.9 7.4 7.5 6.9 12.4zm.9-.2c4-.9 3.5-3.5 2.9-7.6-1.3 4.2-3.5 3.3-2.9 7.6z"/>
<path d="M217 198c-4.6.8-4.3-6.6-8-11.9 3.2 4 9 9 8 11.9zm1-.3c3.6.2 4-5.1 3.8-7.3-.9 2.2-5 4.2-3.7 7.4z"/>
<path d="M209.8 192.3c1.7 5.7 4.2 11.4 7.2 11 1.5-3.3-2.9-3.7-7.2-11z"/>
<path d="M218.1 202.4c-1.2-2.5 3-3.7 3.8-6.9.5 4.6.1 7.6-3.8 6.9zm-7.1-3.6c2.5 5.1 3.6 11 7 10.1 1.3-4-3.8-4.8-7-10.1z"/>
<path d="M218.7 208c-1.5-2.8 2.7-3.7 3.8-7.4.5 4.8 0 8.3-3.8 7.3zm7.2-34.5c2.4.6 5-2.1 4.1-6.2-2.8.6-4 3.2-4.1 6.2zm-7.9-2.1c.2 1.2 1.7 1.3 1.2-.4a5.3 5.3 0 010-3.4 7.5 7.5 0 000-4.6c-.4-1-1.8-.4-1.2.4.6.9.7 2.8.2 3.7-.6 1.3-.4 3-.2 4.3zm22.9 16c-1 1.3-2.9.4-1.4-1.5 1.2-1.5 3-2.8 3-4.4.2-2 1.3-5 2.4-6.1 1.1-1.1 2.4.4 1.2 1.2-1.3.8-2.2 4.4-2.1 5.8-.1 2-2 3.5-3.1 5zm-3-2.3c-1 1.4-2.4.5-1.6-1.7.7-1.5.8-3.5 1.6-4.6 1.2-1.7 3-3.1 4.1-4.2 1.2-1 2 0 1 1a27 27 0 00-3.3 4c-1.4 2.2-.8 4-1.8 5.5zm-15.7-7.2c-.1 2 1.5 2.4 1.4-.4 0-3-2.2-5.8-1-10.3.8-2.2.8-6.3.4-8.4-.4-2.2-2-.8-1.3.9.6 2-.1 5.6-.6 7.5-1.5 5.4 1.2 8 1 10.7zm4.3-11c-.2 1.9-1.8 2-1.3-.5.4-2 .4-3.6 0-5.3-.6-2.1-.4-5.7 0-7.2.5-1.6 2-.7 1.4.5a9.9 9.9 0 00-.3 5.9c.6 2 .5 4.8.2 6.7zM210.9 204c.8.9 2 .3 1-1-1-1-.7-1.2-1.3-2.4-.6-1.4-.5-2.1-1.2-3-.7-1-1.6 0-1 .7.8 1 .6 1.6 1 2.5 1 1.5.7 2.3 1.5 3.2zm20.4 24.6a8.6 8.6 0 014.4 6.7 16 16 0 002 7.1c-2-.5-3-3.7-3.3-6.8-.3-3.2-2-4.5-3-7zm5.1 5.9c1.7 3.1 4 4.3 4.2 6.6.2 2.7.4 2.8 1.1 5.4-2-.5-2.5-.7-3-4.7-.3-2.8-2.6-4.7-2.3-7.3z"/>
<path stroke="none" d="M289 263.3c1 1.8 2 4.5 4 4 0-1.3-2.1-2.3-4-4zm3 .6c3.7 1.6 7 1.2 7.5 3.6-3.6.4-5-1-7.6-3.6zm-16.1-12.7a14 14 0 015 7.7 29 29 0 003.6 7.8 13 13 0 01-5.3-7.4c-.7-3-1.6-5.3-3.3-8zm3.1 0c2.8 2.2 5.4 4.8 6.2 7.9.8 2.9 1.3 5.1 3.2 8-3-1.9-4.1-4.7-5-7.8-.7-3-2.5-5.2-4.4-8zm9.2 7.3a1.1 1.1 0 01.7-1.2 33.4 33.4 0 012.6-.8c1-.3 1.6.4 1.6.9v2c0 .7-.2.8-.7.9-.7.1-1.7.2-2.4.7-.6.4-1.2.1-1.5-.5l-.3-2zm10.6 0c0-.6-.2-1.1-.6-1.2a5.4 5.4 0 00-2.4-.4c-1 0-1.1.2-1.1.6v2.1c0 .8 0 .8.4 1 .7 0 1.8 0 2.5.6.5.3 1 0 1.1-.6l.1-2.1z"/>
</g>
<use width="100%" height="100%" x="-600" transform="scale(-1 1)" xlink:href="#a"/>
<g stroke="none">
<path d="M328.5 286.6c0 1.2.2 2.2 1 3.1a19 19 0 00-13.8 1.1c-1.8.8-4-1-1.9-2.7 3-2.3 9.7-1 14.7-1.5zm-57.5 0a7 7 0 01-.4 3c4.4-1.7 9.1-.2 13.6 1.6 3 1.3 3.3-1 2.8-1.7a6.5 6.5 0 00-5-2.9h-11zm3.8-21.7c-1.3-.5-2.7 0-4 1.4-4.3 4.2-9.4 8.3-13.5 11.6-1.5 1.3-3 3.7 3.4 6 .3.2 5 2 8 2 1.3 0 1.3 1.8 1 2.3-.5 1-.1 1.4-1.1 2.3-1.1 1 0 2.1 1 1.3 3.6-3.2 9.6-1.1 15.3.7 1.4.4 3.8.3 3.8-1.6 0-2 1.5-3.4 2.4-3.5 2.4.4 14 .5 17.5.1 2-.3 2.2 2.9 3.3 4 .8.9 3.7 1.1 5.8.2 4-1.8 10-1.8 12.5 0 1 .7 1.9 0 1.3-.7-.8-1-.7-1.6-1.1-2.4-1-2-.2-2.4.8-2.5 11-1.5 14.6-5.2 11.2-8.3-4.4-3.8-9.2-7.7-13.4-12.2-1.2-1.2-2-1.7-4.3-.7a66.5 66.5 0 01-25.3 5.9 76 76 0 01-24.6-5.8z"/>
<path fill="#bd6b00" d="M326.6 265.5l-1.6.4c-9 3.2-17.2 5.4-25.7 5.4-8.3 0-17-2.4-24.9-5.6a2.3 2.3 0 00-1.5 0c-.5.1-1 .4-1.3.7a115.5 115.5 0 01-11.8 10.3c-.7.5-.6 1.8.5 2.2 8.3 3 16.4 8.5 39.6 8.3 23.5-.2 31.8-5.6 39.2-8.1.5-.2 1-.5 1.3-1a1 1 0 00.1-.8 2 2 0 00-.6-.8c-4.3-3.5-8.8-6.3-11.8-10.4-.3-.5-.9-.6-1.5-.5zm0 .5c.5 0 1 0 1.1.3 3 4.3 7.7 7 11.9 10.5l.4.7a.5.5 0 010 .4c-.1.3-.6.6-1 .7-7.6 2.6-15.7 8-39 8.2-23.2.2-31.2-5.3-39.5-8.3-.8-.4-.7-1.2-.4-1.4 4.2-3.2 8.2-6.8 11.8-10.4a2.5 2.5 0 011.1-.6h1.2a68 68 0 0025 5.6c8.7 0 17-2.2 26-5.3a6.7 6.7 0 011.5-.4z"/>
<path d="M269.7 114.6c0-1.4 2-1.5 1.8.4-.3 2.3 4.5 8.3 4.9 12 .3 2.5-1.5 4.6-3.2 6a6.6 6.6 0 01-6.8.5c-.9-.8-1.7-3.3-1-4.3.2-.3 1.3 3.7 3.7 3.7 3.3 0 6-2.5 6-4.7.2-3.8-5.3-9.8-5.4-13.6zm9.5 9.4c.6-.4 1.4 1.3.8 1.7-.5.3-1.5-1.3-.8-1.8zm1.5-3.5c-.3.2-.8 0-.7-.2a12 12 0 013.6-3.3c.4-.2 1 .4.8.7a11 11 0 01-3.7 2.8zm12.6-10c.3-.6 2.1-1.3 2.6-1.7.4-.5.6.4.4.7-.3.7-1.9 1.7-2.6 1.8-.3 0-.6-.4-.4-.7zm4.3.3a8.3 8.3 0 012.5-3.4c.5-.3 1.3 0 1.1.4a9 9 0 01-2.9 3.3c-.3.3-.8 0-.7-.3zm-3.7 2.7c-.3.2-.1.7.1.8.6.2 1.5.2 2 0 .6-.4.3-2.9-.5-1.6-.6.8-1 .6-1.6.8zm-7.3 5.6c-1.3-1 .4-2.4 1.7-1.4 2.7 2-4 9.8-7.6 13.4-.7.7-1.3-1-.4-1.9a33.7 33.7 0 006.7-7.6c.4-.5.7-1.6-.4-2.5zm15.3-6.6c.1-1-1.6 0-1.6-1.3 0-.7 1.9-1.2 2.7-.4 1.3 1.4.3 3.7-2 3.9-1.8 0-5 2.7-4.5 3.2.5.7 5.4 1.1 8.3.7 1.8-.3 1.4 1.3-.4 1.5-1.8.2-3.2 0-4.8.6-2 .5-2.8 3-3.9 4-.2.2-.8-.8-.6-1.2.8-1.2 2-3 3.4-3.6.8-.3-2.4-.4-3.4-.7-.8-.2-.6-1.3-.3-1.9.4-.8 3.4-3.9 4.7-3.8 1.1 0 2.3-.3 2.4-1zm5 .2c.6-.5 1-1.3 1.5-1.8.3-.3.9 0 .8.8-.1.7-1 1.2-1.5 1.7-.5.3-1-.4-.7-.7zm6.5-2.3c.9 0 1 1.6.2 1.8-.6.2-1-1.7-.2-1.8zm-2.1 5c0 1.5.7 1.4 2 1.3 1.3 0 2.4 0 2.4-1.2 0-1.3-.7-2.5-1-1.6-.1.8-.3 2.2-.8 1.6-.4-.5-.2-.6-1 .2-.5.5-.5-.2-.8-.6-.2-.3-.8.2-.8.4zm-9.2 7.2c-.3 1.9 0 4.5.9 4.5 1.2 0 3.6-4 4.8-6.2.7-1.2 1.8-1.4 1.3-.1-.7 1.9-.6 6 0 7.2.4.6 3-.6 3.4-1.5.8-1.7.1-4.8.4-6.7.1-1.2 1.3-1.5 1.2-.3a75.6 75.6 0 00-.1 7.5c0 1 2.9 2.4 3.3-.6.2-1.8 1.2-3.7 0-5.7-.8-1.3 1.1-1.2 2.1.6.7 1.2-.6 3.2-.5 4.7 0 2.4-1.8 3.8-3.1 3.8-1.2 0-2-1.5-3-1.5s-2.2 1.7-3 1.6c-3.6-.2-1.7-5.3-2.8-5.4-1.2 0-2.5 5-4 4.9-1.4-.2-3-4.2-2.3-5.8.5-1.6 1.5-2 1.4-1zm16.9-8c-1.7-1 0-3.7.9-2.8 1.6 2 3.2 6.5 4.4 6.9.7.2.6-3.4 1.1-5 .4-1.3 1.8-.9 1.6.7-.1.5-2 6.4-1.8 6.6a47.1 47.1 0 013.3 7.8c.3 1.2-1.1.4-1.3.2-.9-1.4-2.4-6.5-2.4-6.2l-1.7 7.7c-.2 1-1.7.8-1.3-1 .3-1.4 2.3-8.3 2.2-8.6a17.2 17.2 0 00-5-6.3z"/>
<path d="M322 131.2c-.4 0-1.2 1 1.2 1.5 3.1.6 6.6-.5 7.6-3.6 1.3-3.7 2-7.2 2.7-8.5.8-1.5 1.8-1.4 1-3.6-.5-1.7-1.5-1.2-1.7-.3-.5 2.3-2.6 10-3.3 11.3-1.2 2.6-3.7 3.6-7.5 3.2z"/>
<path d="M328.4 119c-.4-.7-1.2 0-1 .7a1.2 1.2 0 001.2 1c.7 0 2.2.1 2.2-1 0-.8-.7-1.5-1.1-.6-.5.8-1 .7-1.3 0zm.7-3c-.2.2 0 1.1.3 1a7 7 0 003.3-.8c.2-.2.1-.7-.2-.7-1 0-2.6 0-3.4.5zm8.8 2.3c.8-1.2 2.8-1.3 2 .4a614.3 614.3 0 01-6.3 12.3c-.8 1.4-1.4.7-.8-.4.7-1.4 4.9-12 5.1-12.3z"/>
<path d="M330.2 133c-.2-.8-1.5-2-1.3.2.2 3.8 5.5 2.6 7 1.3s.3 4.3 2.2 4.9c1 .3 3-1.1 4-2.4 2.7-3.5 4.5-8.6 7-12 1-1.4-.5-2.4-1-1.3-2.4 3.8-5.2 11.6-8.3 13.6-2.5 1.6-1.7-2-1.8-3.2-.1-.8-1.1-2-2.4-.9a5.5 5.5 0 01-3.7 1.2c-.7 0-1.4 0-1.7-1.4z"/>
<path d="M339.6 126c0-.3-1.1-.4-1 .7 0 .8 1 1 1.1 1 1.5-1.2-.3-.6-.1-1.8zm-2.3 4.4c-.3 0-.6 1 .2 1.1l3.9-.2c.4 0 .6-.9-.4-.8-1.2 0-2.7-.3-3.7 0zm-62-16.6c.5 0 1.6 1.4 1.5 1.9 0 .2-1.2 0-1.5-.3-.3-.3-.2-1.6 0-1.6zm-5.3 10.4c-1 .6.2 1.7 1 1.2 2.8-1.9 7-3.8 8-7.5.3-1.2 1.4-3.1 2.5-3.5 1-.5 2.6 1.9 3.6 0 .6-1 2.7.7 3.2-.4.6-1.3.3-2 .3-3.4 0-.8-.7-1-1.2.3-.2.6 0 1.2-.1 1.6-.2.2-.6.4-1 .2-.2-.2 0-.7-.6-1-.2 0-.6-.1-.8.2-.7 1.3-1 2.5-2.1 1-.9-1-1.4-3.1-2-.3-.2 1-1.7 2.4-2.6 2.4-1.1 0-.8-3-3.2-2.5-1.3.3-1.2 2.7-1 3.5.3 1.3 4 .4 3.7 1.2-.6 2.7-4.4 5.4-7.7 7zm-22.7 13.2c-.1.5.5 1.7 1.1 1.8.6 0 1-1.3.8-1.8-.2-.3-1.8-.3-1.9 0zm3.3 4.9c-.4-.4-1.6.7-.6 1.5.5.5 2.5 1.1 3 .2.8-1.2-.7-5.5 0-6 .5-.5 2.8 2.8 4 3 2.7.4 2-4.6 5-4.2 1.9.2 2.1-2.2 1.8-3.8-.2-1.5-2.6-3.6-3.7-4.6-1.4-1.2-2.1 1-1.2 1.6 1.2 1 3.3 2.9 3.6 4.1.1.6-1.4 1.8-2 1.5-1.4-.8-2.6-4-3.8-4.7-.4-.2-1.4.3-1 1.3.6 1.1 3 2.7 3.1 3.9.1 1-1 3.2-1.8 3.2-.9 0-3-2.7-3.7-4-.4-.5-1.5-.5-1.7.4a22 22 0 00.5 5.5c.2 1.6-.9 1.7-1.5 1.1zm-4-8.6c-.4.4.8 1.2 1 1 .4-.4 2.1-2.3 1.8-3-.3-.6-2.6-2-3-1.3-.7 1.1 2.2 1.7 1.7 2a7 7 0 00-1.5 1.3zm4.1-8.4s.8 2.5 1.4 1.4c.4-.7-1.4-1.4-1.4-1.4zm1.2 4c-.2 0-1 .7-.5 1 .8.4 2.9.8 2.4-.7-.3-.9 3.2 0 2.3-2.4a3.7 3.7 0 00-1.7-1.7c-.4 0-1.5.5-.8.9.5.2 2 1.1 1.5 1.7-.7.6-1.1-.3-1.9-.1-.4 0-.1 1.2-.4 1.5 0 .2-.7-.4-.9-.3zm5.5-9.5a3.5 3.5 0 00-1.2 2c0 .2.3.6.5.5a3.2 3.2 0 001.2-1.9c0-.3-.2-.8-.5-.6zm2.8-.3c-.8-1 1-2.6 1.7-.5.5 1.3 5.5 7.9 6.5 10.1.8 1.5 0 2.1-.9 1-2.5-3.2-4.6-7.2-7.3-10.6zm5.2.1c.9-1 2.7-3 2.2-4-.4-1-1.5-1-1.7-.7-1 1.3.8 1 .5 1.4-.5 1-1 1.6-1.3 2.6-.1.3.1.9.3.7zm77.8 3.2c-.7-.5.6-3 1.5-2 2.3 2.7 3.4 11.6 4.1 18.3 0 0-1 .9-1 .7 0-3.5-1.5-14.4-4.6-17zm-53.1-8.6c-.8-1.8 1.1-2.4 1.4-1.2 1.3 5.8 4.5 10.2 7 14.1.7 1.2 0 2-1.7.8-1.2-.8-2.5-3.9-3-4-1.2-.2-3.8 5-9.1 3.5-1.4-.4-1.3-4.5-1.4-6.3 0-.9 1-1 1 0 0 1.7 0 5.2 2.1 5.4 1.8 0 5.6-2.4 6.4-4.4.8-2-1.9-5.9-2.7-8z"/>
<path d="M344.6 138.4c.4-1.2 6.1-10.8 6.9-12.9.4-1 2 1.8.4 3.3-1.4 1.2-5.5 8-6.3 10.4-.4 1-1.4.5-1-.8z"/>
<path d="M354.3 129.3c1-4 3.6.6 1.3 2.8-3.4 3.4-4.5 9.9-10 10.9-1.4.3-4-.7-4.8-1.3-.3-.2.2-1.6 1.1-.9 1.3 1 4.1 1.3 5.6.1a25.4 25.4 0 006.8-11.6zm-57 12.7c-.3.3-1 .3-1.1.7-.3 1.4 0 2.2-.3 3.6s-1.3 1.4-1.2.3c0-1.4 1.3-3.5.4-3.6-.6-.1-1-.9-.4-1.3 1.1-.7 1.7-.6 2.4-.4.3.1.4.5.2.7z"/>
<path d="M296.5 140c-1.4 1.4-2.8 1.9-4.1 3.5-.6.6-.5 1.5-.9 2.4-.3.9-1.4 1-1.7.9-.5-.4-.4-2-1-1.2-.6.9-.9 2-1.7 2-.7 0-2-1.5-1.3-1.5 2.3-.3 2.2-2 3-2.2 1-.1 1 1.5 1.7 1.2.4-.2.7-2.1 1.2-2.6 1.5-1.6 2.7-2.4 4.3-3.6.7-.6 1.3.5.5 1.2zm5.3 5c-1.2.2-1 1.7-.6 1.8.5.3 1.4.4 1.7-1.3.2-.7.3 3.5 1.8 1.9 1-1 3.1.2 4-1 .7-.9 1-1.5.4-2.7-.2-.3-1-.2-1 .7 0 .8-.5 1.7-1.3 1.6-.4-.1.2-1.9-.2-2.4a.5.5 0 00-.7 0c-.3.4.3 2.2-.6 2.4-1.2.2-.6-1.2-1-1.4-1.7-.8-1.8.2-2.5.3zm9-3c.9-.2.6-.2 2-1.3.5-.4.6.8.5 1.3 0 .7-1 .2-1.3.9-.4.9-.2 3-.4 3.8 0 .4-.8.4-.8 0-.2-1 .1-2 0-3.3 0-.4-.5-1.1 0-1.3zm-5-2.5c-.2.9-.2 1.6-.2 2.3 0 .5 1 .2 1 .1 0-.8.2-2 0-2.3-.2-.1-.7-.3-.8-.1z"/>
<path d="M299.5 130.2l-1.4 5.6-2-3.8v3.9l-4.4-5.2 1.5 5.6-4-3.4 2.2 3.8-7-4.5 4.4 5.2-5.6-2.8 4 3.4-9-3.4 8.7 4.3a29 29 0 0112.6-2.6c4.9 0 9.3 1 12.5 2.6l8.8-4.3-9 3.4 4-3.4-5.5 2.8 4.3-5.2-7 4.5 2.2-3.8-4 3.3 1.5-5.5-4.3 5.2V132l-2 3.8-1.5-5.6z"/>
</g>
</g>
<path fill="#fff" d="M249 299.7l-.1 2.2h-.4v-1.5a7.4 7.4 0 00-.4-1.3 5.8 5.8 0 00-.5-1 11.3 11.3 0 00-.8-1.1l.7-1.8a5.3 5.3 0 011.1 2 7.5 7.5 0 01.5 2.5m5.5-3.4c0 .6-.1 1-.3 1.2-.2.3-.6.5-1 .6l.2 1.1a5.3 5.3 0 010 1.7v1h-.4v-1a4.4 4.4 0 00-.2-.8 28.8 28.8 0 00-.3-.8 8.4 8.4 0 00-.6-1.2l-.8-1.3.5-1.6.8.9.7.2c.7 0 1-.3 1-1h.3a8 8 0 000 .5v.5m5.1 3.9l-.4 1.7-.6-.6a3.5 3.5 0 01-.3-1 9.9 9.9 0 010-1.4 3 3 0 01-.9.1c-.4 0-.7 0-1-.3a1 1 0 01-.4-.8c0-.7.2-1.3.6-1.8.3-.6.7-.9 1.2-.9.3 0 .6.1.7.3l.3.8v1.6c0 .7 0 1.2.2 1.4 0 .3.3.5.6.9m-1.5-2.9c0-.4-.3-.6-.7-.6a.8.8 0 00-.4.1c-.2.1-.2.2-.2.3 0 .2.2.3.8.3a2.2 2.2 0 00.5 0m6.9 2.3l-.2 2.1c-.4-.3-.8-.8-1.1-1.5a20 20 0 01-1.1-3.3 41.3 41.3 0 01-.8 3l-.6 1.3a2 2 0 01-.6.6v-2l.8-1.2a6 6 0 00.6-1.4 16 16 0 00.3-2h.4l.7 2a6.7 6.7 0 001.6 2.4"/>
<path fill="#bf0000" d="M280.5 319.2c.3.3.5.6.6 1l.2 1.2h-.6a6.2 6.2 0 00-.7-1.1 15.2 15.2 0 00-1-1l-1.3-1.2a27.3 27.3 0 00-1.6-1.3l-.5-.4-.2-.6a9 9 0 01-.1-1.3l2.1 1.7a35.3 35.3 0 012 1.8l1.1 1.2m-7.6-4.6l-.1 1.6-2.5-.1.2-1.6h2.4m6.7 7.1l-6 1.9-1.2-1.6 5.2-1.5a6.3 6.3 0 00-.5-.7l-.7-.5a1.1 1.1 0 01-.4.8 2 2 0 01-.8.5 2.7 2.7 0 01-1.4 0c-.5 0-.8-.3-1-.6a3.1 3.1 0 01-.5-1.7c0-.8.2-1.3.6-1.5.6-.2 1.4 0 2.5.5a6.5 6.5 0 012.4 2l1.8 2.4m-4.7-3.2a3.1 3.1 0 00-.6-.2.9.9 0 00-.5 0 .5.5 0 00-.4.3.4.4 0 000 .4l.4.2h.5a.9.9 0 00.3-.3l.3-.4m-6.4-1.2l-.4 1.6-2.5-.3.4-1.5 2.5.2m6 6l-1.4.4a4.2 4.2 0 01-1.4 0 2.8 2.8 0 01-1.2-.3c-.2.4-.6.7-1.1 1a5.9 5.9 0 01-1.3.4l-1 .3-.8-1.6 1-.2 1-.3.6-.4a4.7 4.7 0 00-.7-.4 1 1 0 00-.6-.1.3.3 0 00-.2 0 .5.5 0 000 .3h-.5c-.4-.7-.5-1.2-.3-1.6.3-.4.8-.7 1.6-.9.8-.2 1.5-.2 2.1 0 .6 0 1 .3 1.2.6.1.2.2.4.1.6 0 .2 0 .5-.3 1a1.6 1.6 0 001 0l1.3-.3.8 1.6m-6.4 1.5l-1.3.2c-.7 0-1.3 0-1.8-.4a4.3 4.3 0 01-1.3-2l-.6-1.7a2 2 0 00-.6-1l-.8-.3.5-1.7 1.1.9.8 1.3.4 1.2a5 5 0 001 1.7c.2.3.4.4.7.3l1.3-.2.6 1.7m-5.5-6l-.9 1.5-2.3-.6.8-1.5 2.4.6m1.4 6.7l-6 .5-.3-1.6 5-.5a1.9 1.9 0 00-.6-.7 6 6 0 00-.8-.5l.5-1.5c.5.3 1 .6 1.2 1 .2.4.5 1 .6 1.7l.4 1.6m-4.8.8a13 13 0 01-1.8-.2 8.3 8.3 0 01-1.3-.4 4.5 4.5 0 01-1 .3h-3c-.5 0-.8 0-1-.2l-.6-.8a3.3 3.3 0 01-1.3.7 4 4 0 01-1.3.2h-1.4l.2-1.8 1.3.1c.7 0 1.3 0 1.7-.3.6-.3 1-.8 1-1.4h.6a22.9 22.9 0 00-.1 1c0 .3 0 .5.3.6l.7.2h2.9c.4-.2.6-.5.7-1l.1-.3a2.6 2.6 0 01.4-.2l.4-.1v.6l-.3.8a6.4 6.4 0 001.7.4c0-.1 0-.3-.2-.5 0-.3-.2-.4-.2-.5a.4.4 0 01.1-.2l.3-.2.8-.7.3.7c0 .2.1.5 0 .8l-.1 2.4m-9-7l-1.5 1-1.1-.6-1.1.8-1.5-.9 1.4-1 1.2.7 1.1-.9 1.5 1m-2.4 6.4l-5.8-1 .7-1.6 4.8.8a1.3 1.3 0 000-.8 4 4 0 00-.5-.6l1.3-1.3c.3.4.5.8.5 1.2 0 .4 0 1-.4 1.7l-.6 1.6m-4.9-.8l-1.2-.3c-.7-.1-1.1-.4-1.2-.9-.1-.5.1-1.2.7-2.2l1-1.7.2-.9-.3-.6 1.8-1.2.2 1.1c0 .4-.2.9-.6 1.4l-.6 1.2a4 4 0 00-.7 1.7c0 .3.1.5.4.5l1.2.3-.9 1.6m-3-6.3l-2 .9-1.4-1.4 2-.8 1.5 1.3m-.9 5.3a4 4 0 01-1.2 1.1c-.4.3-.9.4-1.4.5a7 7 0 01-1.9 0 11.8 11.8 0 01-2.2-.6 6 6 0 01-2.7-1.6c-.5-.6-.5-1.2 0-1.8a5.6 5.6 0 011.5-1.3 18.8 18.8 0 013-1.2l.4.4c-1 .4-1.8.7-2.2 1a3.3 3.3 0 00-1 .7c-.3.4-.3.8.1 1.3a8.4 8.4 0 005 1.8c1 0 1.6-.3 1.9-.6l.4-.7.1-1.4 2-1.2-.1 1.2c-.1.4-.4.8-.8 1.3l-.9 1.1"/>
</svg>

After

Width:  |  Height:  |  Size: 20 KiB

View file

@ -0,0 +1,14 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ag" viewBox="0 0 512 512">
<defs>
<clipPath id="a">
<path fill="#25ff01" d="M109 47.6h464.8v464.9H109z"/>
</clipPath>
</defs>
<g fill-rule="evenodd" clip-path="url(#a)" transform="translate(-120 -52.4) scale(1.1014)">
<path fill="#fff" d="M0 47.6h693V512H0z"/>
<path d="M1.5 48.2h690.9v196.2H1.5z"/>
<path fill="#0061ff" d="M128.3 232.1h458.5v103.4H128.3z"/>
<path fill="#e20000" d="M692.5 49.2v463.3H347L692.5 49.2zm-691.3 0v463.3h345.7L1.2 49.2z"/>
<path fill="#ffd600" d="M508.8 232.2l-69.3-17.6 59-44.4-72.5 10.3 37.3-63-64.1 37.2 11.3-73.5-43.4 58-17.6-67.3-19.6 69.3-43.4-59 12.4 75.6-64.1-39.3 37.2 63-70.3-11.3 57.9 43.4-72.4 18.6h321.6z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 761 B

Some files were not shown because too many files have changed in this diff Show more