hot demon girls in your area #1

Closed
cry wants to merge 0 commits from cry/flake-foxora:main into main
113 changed files with 1545 additions and 4625 deletions

763
flake.lock generated

File diff suppressed because it is too large Load diff

View file

@ -4,86 +4,49 @@
inputs = { inputs = {
systems.url = "github:nix-systems/default"; systems.url = "github:nix-systems/default";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11"; # WARNING: don't remove duplicate!! (cry64 will fix)
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
nixpkgs-staging.url = "github:NixOS/nixpkgs/staging-next"; nixpkgs-staging.url = "github:NixOS/nixpkgs/staging-next";
nixpkgs-master.url = "github:NixOS/nixpkgs/master";
home-manager = { home-manager = {
url = "github:nix-community/home-manager/release-25.11";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager-unstable = {
url = "github:nix-community/home-manager/master"; url = "github:nix-community/home-manager/master";
inputs.nixpkgs.follows = "nixpkgs-unstable"; inputs.nixpkgs.follows = "nixpkgs-unstable";
}; };
cerulean = { cerulean = {
url = "git+https://tearforge.net/cry/cerulean?rev=d5211287bd3cb96078f2053488d67d557848a8f2"; url = "github:emilelcb/Cerulean";
inputs = { inputs = {
systems.follows = "systems"; systems.follows = "systems";
nixpkgs.follows = "nixpkgs"; nixpkgs.follows = "nixpkgs-unstable";
nixpkgs-unstable.follows = "nixpkgs-unstable";
}; };
}; };
microvm = {
url = "github:microvm-nix/microvm.nix";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
cachyos.url = "github:xddxdd/nix-cachyos-kernel"; cachyos.url = "github:xddxdd/nix-cachyos-kernel";
nix-alien = {
# silly alien :3
url = "github:thiagokokada/nix-alien";
# inputs.nixpkgs.follows = "nixpkgs";
};
# wm/de/apps/theming flakes # wm/de/apps/theming flakes
hyprland-git = { hyprland-git = {
# pinned rev because color management is broken on hyprland url = "github:hyprwm/Hyprland/25250527793eb04bb60f103abe7f06370b9f6e1c";
# url = "github:hyprwm/Hyprland/25250527793eb04bb60f103abe7f06370b9f6e1c"; #url = "github:hyprwm/Hyprland";
url = "github:hyprwm/Hyprland";
inputs.nixpkgs.follows = "nixpkgs-unstable";
}; };
# hyprland-plugins = { hyprland-plugins = {
# url = "github:hyprwm/hyprland-plugins"; url = "github:hyprwm/hyprland-plugins";
# inputs.hyprland.follows = "hyprland-git"; inputs.hyprland.follows = "hyprland-git";
# };
mango = {
url = "github:mangowm/mango";
inputs.nixpkgs.follows = "nixpkgs-unstable";
}; };
nixcats.url = "github:BirdeeHub/nixCats-nvim"; nixcats.url = "github:BirdeeHub/nixCats-nvim";
awww.url = "git+https://codeberg.org/LGFae/awww";
awww = { zen.url = "github:0xc000022070/zen-browser-flake";
url = "git+https://codeberg.org/LGFae/awww"; iamb.url = "github:ulyssa/iamb";
inputs.nixpkgs.follows = "nixpkgs-unstable"; spicetify-nix.url = "github:Gerg-L/spicetify-nix";
}; nixcord.url = "github:FlameFlag/nixcord";
millennium.url = "github:trivaris/millennium?dir=packages/nix";
zen = {
url = "github:0xc000022070/zen-browser-flake";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
iamb = {
url = "github:ulyssa/iamb";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
nixcord = {
url = "github:FlameFlag/nixcord";
inputs.nixpkgs.follows = "nixpkgs";
};
millennium = {
url = "github:trivaris/millennium?dir=packages/nix";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
spicetify-nix = {
url = "github:Gerg-L/spicetify-nix";
inputs = {
nixpkgs.follows = "nixpkgs-unstable";
systems.follows = "systems";
};
};
# temp theme until i bother creating my own </3 # temp theme until i bother creating my own </3
sddm-silent = { sddm-silent = {
@ -96,5 +59,6 @@
extra-experimental-features = "pipe-operators"; extra-experimental-features = "pipe-operators";
}; };
outputs = inputs: import ./snow.nix inputs; outputs = inputs:
import ./snow.nix inputs;
} }

View file

@ -1,6 +0,0 @@
{...}: {
nix.settings = {
experimental-features = ["nix-command" "flakes" "pipe-operators"];
download-buffer-size = 524288000;
};
}

View file

@ -1,17 +0,0 @@
{...}: {
nix.settings = {
trusted-users = ["root" "@wheel"];
};
security = {
sudo = {
enable = true;
wheelNeedsPassword = true;
};
pam = {
sshAgentAuth.enable = true;
services.sudo.sshAgentAuth = true; # pam_ssh_agent_auth module
};
};
}

View file

@ -1,9 +0,0 @@
{
lib,
config,
...
}: {
nixpkgs.channels.default = {
default = lib.mkForce config.nixpkgs.channels.default.upkgs;
};
}

View file

@ -1,10 +1,8 @@
# aurora's configgg!! :333 # aurora's configgg!! :333
# trans <3 # trans <3
{ {
config,
inputs, inputs,
upkgs, upkgs,
mpkgs,
root, root,
system, system,
... ...
@ -12,7 +10,6 @@
imports = [ imports = [
inputs.zen.homeModules.twilight inputs.zen.homeModules.twilight
../modules/programs/alacritty/default.nix
../modules/programs/iamb/iamb.nix ../modules/programs/iamb/iamb.nix
../modules/programs/neovim/nixcats.nix ../modules/programs/neovim/nixcats.nix
../modules/programs/spicetify.nix ../modules/programs/spicetify.nix
@ -29,7 +26,6 @@
../modules/shell/fastfetch/fastfetch.nix ../modules/shell/fastfetch/fastfetch.nix
../modules/wm/hyprland/hyprland.nix ../modules/wm/hyprland/hyprland.nix
../modules/wm/mango/default.nix
../modules/wm/river.nix ../modules/wm/river.nix
../modules/wm/sway.nix ../modules/wm/sway.nix
@ -43,16 +39,12 @@
]; ];
home.sessionVariables = { home.sessionVariables = {
EDITOR = "avix";
# xdg session variables # xdg session variables
XDG_CACHE_HOME = "$HOME/.cache"; XDG_CACHE_HOME = "$HOME/.cache";
XDG_CONFIG_HOME = "$HOME/.config"; XDG_CONFIG_HOME = "$HOME/.config";
XDG_DATA_HOME = "$HOME/.local/share"; XDG_DATA_HOME = "$HOME/.local/share";
XDG_STATE_HOME = "$HOME/.local/state"; XDG_STATE_HOME = "$HOME/.local/state";
XDG_BIN_HOME = "$HOME/.local/bin"; # not official spec XDG_BIN_HOME = "$HOME/.local/bin"; # not official spec
NIXOS_OZONE_WL = "1";
}; };
home.sessionPath = [ home.sessionPath = [
@ -68,12 +60,6 @@
recursive = true; recursive = true;
}; };
# copies the ascii art into .local/share/ascii-art :3
home.file.".local/share/ascii-art" = {
source = root + "/homes/data/ascii-art";
recursive = true;
};
fonts.fontconfig.enable = true; fonts.fontconfig.enable = true;
home.file.".mozilla/native-messaging-hosts/tridactyl.json".source = "${upkgs.tridactyl-native}/lib/mozilla/native-messaging-hosts/tridactyl.json"; home.file.".mozilla/native-messaging-hosts/tridactyl.json".source = "${upkgs.tridactyl-native}/lib/mozilla/native-messaging-hosts/tridactyl.json";
@ -85,7 +71,6 @@
# fonts # fonts
nerd-fonts.departure-mono # pretty pixel art font i love!! x3 nerd-fonts.departure-mono # pretty pixel art font i love!! x3
nerd-fonts.jetbrains-mono
# cli / tui tools and commands! # cli / tui tools and commands!
eza # replaces: ls (rust) eza # replaces: ls (rust)
@ -106,16 +91,12 @@
popsicle # usb flasher (can be used as a gui tool too :3) popsicle # usb flasher (can be used as a gui tool too :3)
caligula # disk burning tool like popsicle! caligula # disk burning tool like popsicle!
exiftool # display and edit metadata on a variety of files exiftool # display and edit metadata on a variety of files
helix # like neovim but rust /hj :333
halloy # irc tui app written in rust halloy # irc tui app written in rust
pastel # color generator / manipulator :3 i love colors!! <3
eva # calculator repl
silicon # makes pretty images of code :3
wormhole-rs # send people stuff!! :3
# cli fun # cli fun
pokeget-rs # prints a random pokemon to the terminal :3 pokeget-rs # prints a random pokemon to the terminal :3
pipes # pipes program <3 pipes # pipes program <3
cmatrix # the matrix :3
# dev # dev
gnumake gnumake
@ -130,8 +111,6 @@
elixir elixir
gleam gleam
delta # git diff viewer delta # git diff viewer
tlrc # tldr rust client
shellcheck
# apps # apps
qutebrowser # keyboard-focused browser (chromium) qutebrowser # keyboard-focused browser (chromium)
@ -139,22 +118,23 @@
tridactyl-native # for firefox browsers tridactyl-native # for firefox browsers
chromium # (chromium) chromium # (chromium)
obsidian # literally best notes app (i use vim mode) obsidian # literally best notes app (i use vim mode)
kdePackages.dolphin
qimgv # image viewer! qimgv # image viewer!
feh # other image viewer! (im indecisive) feh # other image viewer! (im indecisive)
vesktop # modded discord client!
gimp # open source image manipulation program gimp # open source image manipulation program
krita # open source painting application! krita # open source painting application!
imhex # hex editor imhex # hex editor
kicad # open source electronics design program kicad # open source electronics design program
easyeda2kicad easyeda2kicad
# FIX: its fucking broken: https://github.com/NixOS/nixpkgs/pull/494721 libreoffice-qt # word, excel, pdf etc open source programs
mpkgs.libreoffice-qt # word, excel, pdf etc open source programs
hunspell # spell checker hunspell # spell checker
calibre # ebook reader
obs-studio obs-studio
cytoscape cytoscape
element-desktop # 'official' gui matrix client element-desktop # 'official' gui matrix client
blender # AMAZING 3D MODELLING PROGRAMMM <3 blender # AMAZING 3D MODELLING PROGRAMMM <3
session-desktop # idk silly chat app session-desktop # idk silly chat app
localsend # share files locally :3
# media # media
playerctl # mpris cli interface for media apps :3 playerctl # mpris cli interface for media apps :3
@ -175,6 +155,7 @@
# gui settings apps # gui settings apps
nwg-look # gtk 2 / 3 settings thing idc i hate gtk nwg-look # gtk 2 / 3 settings thing idc i hate gtk
pavucontrol # i wanna get rid of this but its audio control thing pavucontrol # i wanna get rid of this but its audio control thing
rquickshare # android quick share (this is pretty cool!!)
# wayland desktop tools / de / wm stuff / gui stuffs # wayland desktop tools / de / wm stuff / gui stuffs
cliphist cliphist
@ -200,7 +181,6 @@
alsa-utils alsa-utils
gphoto2 # for my dslr!!! gphoto2 # for my dslr!!!
ffmpeg ffmpeg
nix-index
]; ];
programs = { programs = {
@ -264,56 +244,47 @@
}; };
} }
{ {
condition = "hasconfig:remote.*.url:ssh://git@tearforge.net:2222/**"; condition = "hasconfig:remote.*.url:ssh://forgejo@forge.dobutterfliescry.net:2222/**";
contents = { contents = {
user = { user = {
name = "foxora"; name = "foxora";
email = "foxora@noreply.tearforge.net"; email = "foxora@noreply.forge.dobutterfliescry.net";
}; };
}; };
} }
{ {
condition = "hasconfig:remote.*.url:https://tearforge.net/**"; condition = "hasconfig:remote.*.url:https://forge.dobutterfliescry.net/**";
contents = { contents = {
user = { user = {
name = "foxora"; name = "foxora";
email = "foxora@noreply.tearforge.net"; email = "foxora@noreply.forge.dobutterfliescry.net";
}; };
}; };
} }
]; ];
}; };
lazygit = { kitty = {
enable = true; enable = true;
settings = { package = upkgs.kitty;
git.pagers = [
{
colorArg = "always";
pager = "delta --dark --pager=never";
}
];
};
};
foot = { font = {
enable = true; name = "DepartureMono Nerd Font Mono";
size = 10;
};
settings = { settings = {
main = { scrollback_lines = 16384;
font = "DepartureMono Nerd Font Mono:size=10"; enable_audio_bell = false;
include = "/home/${config.home.username}/.config/foot/theme.ini"; update_check_interval = 0;
}; allow_remote_control = "yes"; # used for scripts to control kitty
scrollback = {
lines = 131072; confirm_os_window_close = 0; # disable close window prompt
};
bell = {
system = "no";
urgent = "no";
notify = "no";
visual = "no";
};
}; };
extraConfig = ''
include ~/.config/kitty/theme.conf
'';
}; };
zen-browser = { zen-browser = {
@ -331,6 +302,13 @@
}; };
}; };
# Environment / Session Variables
home = {
sessionVariables = {
NIXOS_OZONE_WL = "1";
};
};
# The state version is required and should stay the version you originally installed # The state version is required and should stay the version you originally installed
home.stateVersion = "24.11"; home.stateVersion = "24.11";
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 196 KiB

View file

@ -1,19 +0,0 @@
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠖⠃⠀⠀⠀⡁⠀⠀⠀⠀⠀⠐⠆⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⢔⡤⠊⠁
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠁⠀⠀⠘⠁⢀⠀⠀⠀⠀⢈⠓⠂⠠⡄⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣶⠿⠞⠋⠁⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠒⠁⠀⠠⡚⠁⢀⣙⣀⣈⡩⠬⢁⠀⢑⠶⠤⡆⠤⡀⠀⠀⠀⠀⠀⠀⢀⠴⢲⣋⣽⣷⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⢠⠀⠀⣶⠃⠗⣡⣶⣮⣿⡿⠿⠿⢿⣿⣷⣶⣤⣤⠤⠴⠦⠬⣤⣤⠄⣉⠉⠝⢲⣿⡷⠻⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠁⡀⡸⠁⣰⣿⡿⠛⠋⣁⡀⠤⠤⢄⡀⠈⠛⢯⣿⣟⣾⣶⣶⣮⣭⣵⣾⣿⣟⠿⠉⢨⠖⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠀⢠⠳⡧⣻⡿⠋⢀⠒⠉⠀⠀⠀⠀⠀⠀⠉⠢⠀⠀⠙⠛⣻⣿⣿⣿⢿⣿⣿⠟⡱⠖⠊⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⢠⣧⠓⣾⣿⠁⠀⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⢦⣠⣾⣿⠿⣿⣿⣿⡿⣫⠏⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠂⢃⣸⣿⠇⢠⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣿⠟⢿⠁⠸⡿⣿⣯⡶⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⢘⡄⠘⣿⣿⠀⠸⡀⠀⠀⠀⠀⠀⢀⣀⣴⣾⣿⡿⡟⡋⠐⡇⠀⢸⣿⣿⠃⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢡⠘⢰⣿⡿⡆⠀⣇⠀⣀⣠⣤⣶⣿⢷⢟⠻⠀⠈⠀⠀⠀⡇⠀⣼⣿⣿⠂⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠔⢀⡴⢯⣾⠟⡏⢀⣠⣿⣿⣿⣟⢟⡋⠅⠘⠉⠀⠀⠀⠀⢀⠀⠁⢠⣿⣟⠃⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠞⣻⣷⡿⢙⣩⣶⡿⠿⠛⠉⠑⢡⡁⠀⠀⠀⠀⠀⠀⢀⠔⠁⠀⣰⣿⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣡⣾⣥⣾⢫⡦⠾⠛⠙⠉⠀⠀⢀⣀⠀⠈⠙⠓⠦⠤⠤⠀⠘⠁⢀⡤⣾⡿⠏⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠔⣴⣾⣿⣿⢟⢝⠢⠃⢀⣤⢴⣾⣮⣷⣶⢿⣶⡤⣐⡀⠀⣠⣤⢶⣪⣿⣿⡿⠟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⡀⣦⣾⡿⡛⠵⠺⢈⡠⠶⠿⠥⠥⡭⠉⠉⢱⡛⠻⠿⣿⣿⣿⣿⣿⠿⠿⠿⠟⠭⠛⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⢀⢴⠕⣋⠝⠕⠐⠀⠔⠉⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠁⠉⠁⠁⠁⠁⠈⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⢀⣠⠁⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀

View file

@ -1,22 +0,0 @@
⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀
⠀⠀⠀⢠⠞⠙⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡠⠞⠙⡆⠀
⠀⠀⢠⠏⠀⠀⠀⠑⢄⠀⠀⠀⢠⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡴⠋⠀⠀⠀⢸⡄
⠀⢀⡎⠀⠀⠀⠀⠀⠀⠳⣄⠀⠸⡄⠉⠉⠒⠢⣄⠀⠀⠀⠀⡴⠋⠀⠀⠀⠀⠀⠀⢧
⠀⢸⠀⠀⠀⠀⠀⠀⠀⠀⠈⠣⡀⠳⣀⣀⠀⠀⠀⠙⢦⣠⠎⠀⠀⠀⠀⠀⠀⠀⠀⢸
⠀⢸⠀⠀⠀⠀⠀⠀⠀⠀⣀⡴⠋⠉⠉⢁⠀⠀⠀⠀⠀⠙⠶⠀⠀⠀⠀⠀⠀⠀⠀⢸
⠀⢸⠀⠀⠀⠀⠀⠀⠀⠈⠉⠑⠒⠚⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼
⠀⠈⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠃
⠀⠀⠙⡄⠀⠀⠤⡤⠤⢤⣤⣤⣤⠄⠀⠀⠀⠀⢰⣶⣶⣶⡖⠒⢳⠛⠀⠀⠀⣠⠏⠀
⢤⣀⣀⡘⣤⠀⢸⠁⠀⢸⣿⣿⣿⠄⠀⠀⠀⠀⢸⣿⣿⣿⡇⠀⠈⡇⠀⠀⡴⠧⢤⡄
⠘⢆⠀⠉⠉⠀⢿⠀⠀⠘⣿⣿⡿⠀⠀⠀⠀⠀⠈⢿⣿⡿⠀⠀⢀⣇⠀⠀⠀⣠⠞⠀
⠀⠈⠙⢲⠀⡤⡮⣳⡀⠀⠙⠛⠁⠀⠻⠛⠀⠀⠀⠀⠁⠀⠀⡠⣮⡴⠀⠀⢾⡁⠀⠀
⠀⠀⣠⠃⠀⠀⠋⠁⠀⠀⠀⠀⠠⣀⣀⠴⠤⠤⠴⠒⠀⠀⠀⠶⠏⠀⠀⠀⠀⠹⡄⠀
⠀⠐⠧⠤⠤⠓⠦⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣠⠤⠚⠒⠒⠒⠊⠉⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠙⢟⠒⠒⠴⠇⠀⠀⠀⠀⠀⠀⠈⠉⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣱⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣆⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠼⠥⣼⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⡄⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢣⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⡄⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⢠⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⡆⠀⠀⠀⠀⠀

View file

@ -1,24 +0,0 @@
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡤⠎⠉⠉⠓⣦⡀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣧⡭⣽⠀⠀⠀⣿⡆⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠁⠀⠀⢠⣟⣇⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⣀⣀⣤⡤⣤⢤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠤⣞⡷⡟⠣⣄⡀⠀⠀⠀⠀
⠀⠀⠀⢀⣴⣫⣯⣿⠟⢛⣛⡷⢿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡶⠟⠟⠻⣟⣯⣿⡏⣯⢭⢽⣷⠆⠀⠀
⠀⠀⠀⠀⠉⣹⣿⣿⡟⠛⢏⣻⡏⣶⢙⡶⣄⠀⢠⠟⠛⢷⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⠃⠀⠀⠀⠀⠀⠙⡿⣿⡟⣻⡗⠂⠀⠀
⠀⠀⠀⠀⠀⠀⣿⣿⡿⣿⡻⡿⣗⡿⠿⣗⡙⢷⣇⠀⠀⣤⡇⠀⠀⠀⠀⠀⢀⣔⣽⡻⣤⣠⡤⣦⡤⣤⣤⣀⢹⡯⣿⠁⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⡿⡯⠁⠀⠀⠈⠈⠙⡷⡄⠀⠈⠳⡝⣆⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⡿⠛⠛⣫⡵⠋⠉⠉⣹⣿⣿⡿⡇⠀⠀⠀⠀
⠀⠀⣠⡶⠶⣶⣷⡧⡞⢀⣤⣤⣤⢤⣘⣷⣄⠀⠀⠦⡟⡇⠀⣠⣄⠀⠀⣾⡿⠈⢵⣶⡋⣗⣒⣒⣶⣾⠏⠁⢸⣿⣿⠀⠀⠀⠀⠀
⢠⡟⠁⠀⠀⠈⡷⣷⢥⣾⡿⠟⠿⢛⣻⣧⣝⣧⡀⠀⠘⣿⣼⣿⣿⣇⣿⢃⣾⠿⠟⠋⠉⠉⠫⣯⣹⣇⡀⣜⡟⡿⠀⠀⠀⠀⠀⠀
⡟⡇⠀⠀⠀⠀⠸⣟⠿⡿⡯⣧⢦⣄⠀⠈⠑⠳⣿⣷⣴⣯⠻⠹⠇⣿⢷⢏⣡⠋⠀⠀⠖⠛⠛⡣⣿⡏⡾⢹⡟⣿⣛⣓⡦⡄⠀⠀
⢟⣇⣀⣀⡇⠀⠀⠀⠳⣟⣿⣿⣇⡞⡽⢶⣦⡄⠀⠻⣧⠈⠁⠀⠀⣍⡿⢻⣻⡕⣃⣴⣶⡿⣿⢯⡷⠛⣠⣼⡞⠋⠁⠀⠈⢯⢧⠀
⠀⠙⠛⠛⠉⠀⢀⣠⡄⣈⠳⢟⣿⠷⠷⠯⡾⡿⠃⠀⢫⡀⠀⠀⠀⠃⡧⣾⡿⡷⣿⣟⣛⡿⢿⠟⣷⣿⣯⠇⠀⠠⢤⡀⠀⠀⢿⠀
⠀⠀⠀⠀⠀⠀⣟⠁⠉⠣⡝⡆⡵⡳⢳⣶⣾⣯⣮⣥⣀⠃⠀⠀⠀⠀⢛⡿⠿⣷⡶⠮⢿⣿⣺⣿⡯⠅⢭⣷⡤⠤⠜⠀⠀⣀⡼⠃
⠀⠀⠀⠀⠀⠀⠀⠀⠀⣶⣿⣿⣫⠇⣷⣗⣛⣽⠷⣿⡥⠄⠀⠀⠀⠀⠈⡏⠛⢻⣽⢿⣈⡿⡿⠃⠁⠀⠀⠀⠙⡷⡄⠀⠀⠀⠀⠁
⠀⠀⠀⠀⠀⠀⠀⠀⡷⣬⣻⡏⠁⡿⢸⣿⣿⣿⡿⠋⠁⡀⠀⠀⠀⠀⡾⣯⢟⡌⣿⣿⣿⠿⣿⣒⠂⠀⠀⠀⡄⠘⡇⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢰⣽⣻⡟⠁⠀⣧⣿⡿⠃⠀⣀⣀⣾⡇⡰⠀⠀⣜⢻⣇⢹⣿⡌⢿⣟⡄⣿⣿⣿⠟⠂⠙⠓⠛⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠘⢛⣿⣿⣿⡇⠀⡤⣿⡟⠁⠀⠈⣿⣿⢼⠻⠁⠀⠀⢸⠀⠹⣿⡟⣯⣿⣿⡭⠇⡻⣿⢷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢨⣷⣿⣿⣧⡗⠁⣿⡇⠀⠀⠀⡻⡟⠁⠀⠀⠀⠀⠘⡄⠀⠀⠛⡷⡯⣟⡏⠆⠀⣿⡿⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠈⢘⣾⣿⣿⣇⣤⡷⣥⠔⣆⡼⠋⠀⠀⠀⠀⠀⠀⠀⠻⣦⡀⠀⠘⠏⢯⢁⣤⣿⣟⣃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠏⠀⡏⡿⣿⣿⣫⣩⠿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢷⣷⣶⣶⣿⣿⣿⣿⡟⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠚⠁⡯⣿⡏⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⣿⠿⣿⣻⡿⣇⠀⠀⠀⣿⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠓⢿⣦⠀⠀⣠⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⣶⡄⠀⠀⣠⡷⢿⣿⠏⠑⠯⣛⡷⠟⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠿⣦⡽⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠻⠿⠷⣯⣽⠿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀

View file

@ -1,24 +0,0 @@
⠀⢀⣠⣤⣤⣤⣄⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣠⣤⣤⣤⣀⠀
⢰⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣤⡀⠀⠀⠀⠀⠀⢂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠎⠀⠀⠀⠀⠀⣀⣤⣶⣿⣿⣿⣿⣿⣿⣿⣿⣷
⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⡀⠀⠀⠈⢆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠜⠀⠀⠀⣠⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿
⠀⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠧⠉⠻⣶⣄⠀⠈⢆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠄⠀⢀⣠⡾⠛⠉⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃
⠀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣖⡒⠀⠀⠀⠀⠈⠻⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠌⠀⣠⣾⠋⠀⠀⠀⠀⠀⢒⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀
⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣟⠀⠀⠀⠀⠀⠀⠀⠙⢿⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⠟⠁⠀⠀⠀⠀⠀⠀⢘⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀
⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⠟⠂⠀⠀⠀⠀⠀⠀⠀⠀⠉⢷⡀⠀⠀⠀⠀⠀⠀⢠⡿⠁⠀⠀⠀⠀⠀⠀⠀⠐⢒⣿⣿⣿⣿⣿⣿⣿⠁⠀⠀
⠀⠀⠀⠘⣿⣿⣿⣿⡿⠟⠛⠉⡁⠀⠀⠀⠀⠀⠀⠀⠀⠈⢷⠀⠱⣀⣀⠀⢀⠟⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠛⠿⢿⣿⣿⣿⣿⣿⠀⠀⠀
⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⠟⠋⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠃⢸⣿⣿⠀⠊⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠙⠛⢿⣷⣿⣿⣿⣿⡟⠀⠀⠀
⠀⠀⠀⠀⠸⣿⣿⣿⣿⡷⠖⠒⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⣤⣿⣿⣿⣇⡠⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠑⠲⠶⣿⣿⣿⣿⣿⠁⠀⠀⠀
⠀⠀⠀⠀⠀⠙⠻⠿⠿⢿⣶⣤⣤⣤⣤⣄⠐⠒⠒⠀⠀⠀⠀⣻⣿⣿⣿⣿⡇⠀⠀⠀⠀⠐⠂⠀⣤⣤⣤⣤⣤⡾⠿⠿⠿⠛⠁⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢀⣤⣶⣿⣿⣿⣿⠿⠁⠀⠀⠀⠀⠀⠀⠀⠈⢻⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠩⢿⣿⣿⣿⣷⣦⡄⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⣿⣿⣯⠅⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⢼⣿⣿⢆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢬⣽⣿⣿⣿⣿⡀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣏⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡞⠸⣿⡟⠀⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣈⣛⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⡿⢁⣤⡖⠀⠀⠀⠀⠀⠀⠀⢸⠁⠀⣿⡇⠀⢹⠀⠀⠀⠀⠀⠀⠀⠀⢤⡀⠸⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⣿⣵⣿⣿⣤⡄⠀⠀⠀⠀⠀⠀⡌⠀⠀⠙⠁⠀⠈⡇⠀⠀⠀⠀⠀⠀⣠⣌⣿⣷⣼⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣿⣿⣿⣿⣿⣡⣴⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀⢰⠀⠀⠀⠀⠰⣤⣹⣿⣿⣿⣿⣿⠏⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣧⣤⣀⣤⢀⡎⠀⠀⠀⠀⠀⠀⠀⠀⣇⢀⡄⢀⣤⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⡿⠛⠉⠉⠉⠛⠛⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠛⠛⠛⠉⠉⠉⠻⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣷⡄⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢰⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣷⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠙⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⠋⠀⠀⠀⠀⠀⠀⠀

View file

@ -1,44 +0,0 @@
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣆⠀⠀⠀⠀⠀⠀⠀⠀⠐⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡾⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠸⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠙⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠈⠙⢷⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠈⠙⠛⠿⣶⣶⣶⣶⣦⣤⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣤⡄⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣿⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣽⣻⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣽⣿⣿⣧⢹⣿⣿⣿⣿⣿⣿⣄⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣌⠛⠿⠋⠻⣦⣿⣿⣿⣿⣿⣿⣿⣧⡀⠀⠀⠀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣄⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣷⡄⠀⢀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⢻⣦⣶⠀⡈⣿⣿⣿⣿⣿⣿⣿⣿⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⣷⣿⣿⣿⡇⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣾⣿⣿⣿⣿⣿⣿⣄⣈⣿⡆⢿⡟⠻⣿⡿⠋⠉⠛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⢿⣿⣿⣿⡇⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠃⣸⣿⣿⣿⡇⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣽⣿⣿⣼⣿⣿⣿⡇⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣤⣝⡛⢹⣇⠄⠀⠀⠀⠀⠘⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⣿⣿⣿⡇⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⣿⣿⣿⣿⣶⣿⡤⠄⠀⠀⠀⠀⣀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⣿⣿⣿⡇⡀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣤⡟⠃⠻⣿⣛⠿⠟⢷⡛⡈⢷⡀⠀⠘⢇⠈⢿⣿⣿⣿⣿⣿⣿⣿⡅⠀⣿⣿⣿⠇⠻⣆⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣀⠀⠃⠉⠛⠦⠈⢷⡀⠈⢻⣄⠀⠈⢃⠈⢿⣿⣿⣿⣿⣿⢻⡇⠀⣿⣿⣿⠀⠀⢻⡀⢀⡀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣏⠛⠻⠶⢦⣄⣃⠈⢿⡄⠀⠹⣦⢸⣿⣧⠘⣿⣿⣿⣿⣿⣸⡇⠸⣿⣿⡟⠀⠀⢸⡇⠘⡇
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡦⠤⣤⣄⣈⠙⠻⢦⣿⣆⠀⠈⠋⣿⣿⣧⠸⣿⢿⣿⣿⣿⣠⡄⣿⣿⡇⠀⠀⣼⠀⠀⡇
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⡀⠀⠈⠉⠛⠶⣦⣭⣿⣦⣰⠀⠈⣿⣿⣆⢻⡌⢿⣿⣿⣿⣇⣿⣿⠀⠀⢠⡏⠀⣼⠃
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣤⣔⣂⡠⠉⡙⠿⣿⣿⣦⡈⢿⣿⡌⣷⠸⣿⣿⣿⣿⣿⡏⠀⢠⡟⢀⣼⠃⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣤⣼⣮⣿⣿⣾⡿⢷⢸⡀⢿⣿⣿⣿⣿⠁⣠⠟⣠⠟⠁⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣻⣿⣿⣿⣿⣆⢸⡇⠘⣿⣿⣼⠏⣴⡿⠟⠁⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣤⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⡁⠀⢿⣿⣿⣿⣿⣆⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣤⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣤⣯⣭⣛⡻⠿⠿⣿⣷⣄⣼⠿⢿⣿⠛⠛⠁⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⣿⣿⣿⣿⣿⡿⠋⠉⠉⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⢿⣿⢶⣮⡝⠻⣿⣷⣾⠟⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣷⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⠁⢀⣤⣾⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡴⠿⢋⣩⣭⠿⣿⡿⢿⣿⣿⣿⣿⣿⣿⡿⠿⠂⣾⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣏⣡⣴⣾⡿⠏⣀⣤⣴⢾⣿⣿⣿⡿⢛⠉⣀⣀⣤⠾⢻⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⣶⣿⢿⢿⣧⣾⣿⡟⠉⢀⣴⠞⠉⠁⠀⠀⠀⠛⠿⠿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢟⣁⣴⣿⣿⣿⣿⣾⣶⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣤⣶⣶⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⣠⣴⠿⣿⣿⣻⣿⣟⠝⠛⠻⣿⣿⣿⣿⣿⣟⣿⣿⣿⣿⣿⣷⣿⣿⣿⣿⣿⣿⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠁⠀⠀⠀⠀⠈⣿⣿⣿⣿⣿⣿⣿⣛⣷⣿⣿⠟⢋⣽⣿⣿⣿⠟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠛⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣿⣿⣿⣿⡿⣿⣿⡿⠟⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠛⢿⣿⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀

View file

@ -1,28 +0,0 @@
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⢀⣠⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡴⠛⢦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⠏⠁⠉⠳⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⡾⠀⠈⠳⣄⠀⠀⠀⠀⠀⢀⣴⠟⠁⠀⠘⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣄⡇⠀⠀⠀⠀⠘⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⢠⠇⠀⠀⠀⠈⢧⡀⠀⣠⠴⠊⠀⠀⠀⠀⠀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⠀⠀⠀⣴⠖⠲⢬⣳⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⢀⡾⠀⠀⠀⠀⠀⢉⣷⠚⠁⠀⠀⠀⠀⠀⠀⢸⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⡇⠀⠀⢰⠃⠀⠀⠀⠈⠙⢿⡂⠀⠀⠀⠀⠀⠀⠀
⠀⠀⣰⠏⠀⠀⠀⠀⠀⠀⢼⠉⡇⠀⠀⠀⠀⠀⠀⢠⡎⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣇⠀⠀⡾⠀⠀⠀⠀⠀⠀⣰⠟⠦⣀⠀⠀⠀⠀⠀
⠀⡼⠁⠀⠀⠀⠀⠀⠀⠀⠸⡄⢻⡀⠀⠀⠀⠀⢀⠞⠀⢀⣀⠀⠀⠀⠀⠀⠀⣶⡄⠀⠀⠀⠀⢸⠀⠀⡇⠀⠀⠀⠀⣠⠞⠁⠀⠀⠘⡇⠀⠀⠀⠀
⠀⢧⡀⠀⠀⠀⠀⠀⠀⠀⠀⢳⣸⡇⠀⠀⠀⣴⣏⡴⠚⠉⠙⠃⠀⠀⠀⣀⡀⠙⠦⣄⠀⠀⠀⠘⡇⢠⡇⠀⠀⢠⠜⠁⠀⢀⣀⣠⣼⣃⣀⡀⠀⠀
⠀⠀⠉⢙⣲⣤⣤⡤⠤⢤⡀⠀⢳⣧⠀⣠⢞⡷⢋⡴⠖⠙⣷⠀⠀⠀⠀⠻⢧⣀⡀⠈⠙⢦⡀⠀⣷⢸⠇⠀⡴⢃⣠⠖⣺⡭⠛⠁⠀⠀⠈⠉⠳⡄
⢠⡶⠊⠉⠀⠀⠀⠈⠉⠙⠃⠀⠈⣿⣶⣱⣿⠟⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠙⠲⢼⣦⣽⢿⢠⣾⢟⣫⠴⠋⠁⠀⠀⠀⠀⠀⠀⠀⠈⡗
⠸⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣟⠛⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣟⣏⣁⣀⣀⣀⡠⠤⠴⢒⣒⣷⠆⠀⢠⠇
⠀⠈⠙⠲⠤⣀⠀⠀⠀⠀⠀⢀⣾⠳⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⢻⡛⢦⡛⠳⠭⣍⣉⠉⠉⠀⠀⢀⣠⠏⠀
⠀⠀⠀⠀⠀⠈⠳⢤⣀⣀⡴⠋⣇⣴⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢦⡙⢦⠀⠀⠉⠉⠒⠒⠒⠋⠁⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠳⣼⡖⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⢰⠋⠀⠙⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠏⠀⠙⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⢠⢸⡄⠀⠀⠀⠙⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡞⠀⠀⠀⠘⠦⣄⡀⠀⠀⢀⡤⠴⠲⠤⣤⡀⠀⠀⠀⠀
⠀⢸⣸⡇⠀⠀⠀⠀⠈⢧⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀⣀⣠⠤⠦⣄⠀⠀⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠹⣤⠞⠉⠀⠀⠀⠀⣾⡇⠀⠀⠀⠀
⠀⢸⡏⠀⠀⠀⠀⠀⠀⠘⡆⠀⢰⡏⣠⠖⠀⠀⣠⠶⠋⠁⠀⠀⣠⠟⠀⠀⠀⠀⠀⠀⠸⡇⠀⠀⠀⠀⠀⢀⣼⠋⠀⠀⠀⠀⠀⠀⢿⡀⠀⠀⠀⠀
⠀⠈⢳⠀⠀⠀⠀⠀⠀⠀⢸⡄⢸⣻⠁⠀⣠⠞⠁⠀⠀⠀⢀⡴⠃⠀⠀⠀⠀⠀⠀⠀⠀⢳⠀⠀⠀⠀⣠⣻⠏⠀⠀⠀⠀⠀⠀⠀⠈⢧⡀⠀⠀⠀
⠀⠀⠈⠳⠤⣀⣀⠀⠀⠀⠀⣧⢸⡇⢀⠜⠁⠀⠀⠀⠀⣰⠋⠀⠀⠀⠀⠀⣀⣀⠀⠀⠀⠘⣆⠀⠀⣰⣳⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠀⠀⠀
⠀⢀⣤⠒⠒⠚⠛⠻⠷⠶⣶⣾⣾⣷⠋⠀⠀⠀⠀⠀⣰⠃⠀⠀⠀⠀⠀⠀⢿⠉⠙⠲⣄⠀⠹⡄⣴⡽⠃⠀⠀⠀⠀⠀⠀⣀⣤⣤⣴⠾⣥⣀⠀⠀
⠀⢿⡅⠀⠀⠀⠀⠀⠀⠀⣼⣿⠏⠓⢶⣦⣀⣀⣀⡼⠁⠀⠀⠀⠀⠀⠀⠀⠈⣞⠉⠙⠲⢿⣶⣷⡿⠁⠀⠀⠀⣠⠴⠚⣉⠤⠞⠉⠀⠀⠀⢸⣧⠀
⠀⠸⢯⠀⠀⠀⠀⠀⢀⡾⢻⣿⠀⠀⠀⠙⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠀⠀⠀⠀⠀⠛⣿⢦⣄⡀⠘⠓⠉⠉⠀⠀⠀⠀⠀⠀⠀⣼⠟⠀
⠀⠀⠘⢦⣀⣀⡤⠞⢹⣠⠏⡇⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢧⡙⠫⢟⡓⠦⠤⣄⣀⠀⠀⠀⢀⠞⠁⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠘⠻⠀⡇⠀⠀⣀⣤⠖⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠢⢤⣉⣦⠀⠀⠉⠙⠒⠒⠋⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀

View file

@ -1,25 +0,0 @@
⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⣿⣶⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣟⠻⡿⢷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⣸⣻⠿⢮⡿⣾⡖⠚⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢰⣿⣿⣄⠒⢦⠸⣿⣄⠙⣧⠀⠰⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣛⣷⣞⠳⣄⠘⡆⠙⢇⠀⠀⠰⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⣸⣯⡝⠻⣿⣏⠉⠻⣮⣷⣝⣶⣼⡀⠀⠀⢱⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⢀⣇⠈⠙⢤⠈⢳⡀⠀⠹⣌⢻⠀⠙⣧⠀⠀⠈⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⣼⠋⠳⢤⣄⡑⠀⠹⡄⠀⣌⠀⢳⡀⠸⡆⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⣠⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⢹⣄⠀⠂⢻⡉⠑⣦⠹⡄⠸⡄⠀⢷⡄⡇⠀⠀⡇⠀⠀⠀⠀⣀⠤⠒⠋⠁⠀⠀⠈⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠙⠿⣶⣤⣝⠀⠀⠀⢿⡶⢧⠀⠸⡇⡗⠀⢀⠃⠀⢀⡴⠊⠁⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣠⣤⣤⣤⣀⣀⡀⠀⠀
⠀⠀⠀⠀⢀⣀⣀⣀⡀⠙⢻⣷⣦⡀⠈⠋⠈⢧⠀⠀⡇⠀⠈⠀⠔⠋⠀⠀⢀⣀⣤⣤⣤⡶⢶⣿⠿⠭⢥⢽⣁⣤⠀⠒⠿⠿⣿⣷⣆
⠀⢀⡠⠚⠉⠉⠀⠀⠀⠀⠀⠙⢿⣿⣶⣤⣤⡘⣆⣼⣃⣴⣦⠀⠀⣀⡴⠞⣛⡉⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠘⣿⣛⣖⠲⠦⣄⣸⡿
⢠⠾⠒⠶⠀⠀⠀⠀⠀⡀⠀⡙⢺⣏⠛⢿⣿⣿⣿⣿⣿⣿⣿⣶⠞⡩⠖⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠓⠒⠤⣍⣙⣓⠶⣴⣶⠟⠁
⡾⠀⠂⠀⠀⠀⠀⠀⠈⠑⠉⢡⣿⣿⠛⠲⣤⣯⣿⣿⣿⣿⣿⣥⡞⠒⠒⠚⠛⠓⠠⣀⠀⠀⠀⠠⠄⠀⠠⣤⣷⣌⢙⣿⣦⡾⠋⠀⠀
⡗⠺⠤⠛⠉⠉⠁⠐⠉⠉⣹⣿⢿⢃⣠⣾⢋⣾⣿⣿⣿⣟⠻⠏⡿⣗⣦⡀⠀⠀⠀⠈⠙⠲⣄⡀⠀⠀⠀⠈⠙⠿⣿⣿⠟⠀⠀⠀⠀
⣇⣠⠤⠀⠀⠀⠀⢀⣴⡾⢛⡽⢋⣽⣟⣵⢫⣿⣿⣯⡏⢣⠀⠄⠀⠈⠉⢙⣻⠖⢦⣄⡀⠀⠤⢙⠶⣤⡀⠈⢳⣰⡟⠁⠀⠀⠀⠀⠀
⢿⠀⠀⠀⢀⡴⢪⠟⢩⠖⠋⢠⡾⢻⡟⢁⣿⣿⣿⡟⡀⠘⠀⣴⠀⣤⡐⠂⠈⠉⢗⣟⠿⣶⣤⡀⠲⣤⣹⣿⠞⠉⠀⠀⠀⠀⠀⠀⠀
⠘⣧⠀⠀⠈⠀⠀⠀⠀⡀⣠⠏⣴⠏⠀⢸⣿⠟⠻⢀⠆⠀⢀⠈⢳⡸⡗⢤⡀⠉⠪⠙⢧⡀⠉⠙⠓⠛⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠘⢧⡀⠀⠀⢀⡴⢂⣜⡥⠚⠁⠀⠀⠀⠁⢠⡆⢸⣰⠀⠈⣧⠀⠑⢿⠀⠙⢦⠀⠀⡀⠻⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠈⠳⣤⣖⣋⡴⠟⠉⠀⠀⠀⠀⠀⠀⠀⢸⡇⢸⢹⠆⠀⢸⡄⠀⠈⢷⡀⠀⠑⢦⡜⢦⣹⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠃⣼⣾⠀⠈⢀⢳⡀⢠⡈⢻⣦⡀⠀⠙⢮⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣇⡿⡼⠀⠄⠈⠈⣇⠀⠹⣌⠹⣿⣄⠳⢰⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⡁⢻⠀⠀⠀⠀⠙⠂⠀⠹⡁⡈⡻⣦⠾⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢧⣸⡄⠀⠀⠀⠀⠀⢰⣄⣃⡴⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠓⠒⠒⠒⠒⠒⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀

View file

@ -1,7 +0,0 @@
⢴⡦⡀⠀⠀⠀⠀⠀⠀⠀⡠⠔⢶⡄
⣨⠇⠈⢆⠀⠀⠀⢀⠔⠁⠀⠀⣮⠀
⣿⠀⠀⠀⢣⠀⡠⠃⠀⠀⠀⠀⠈⣿
⣿⡀⠀⢀⣾⣻⣧⠀⠀⠀⠀⠀⠀⣿
⠈⠻⠆⣈⣻⢭⡙⢀⣀⣀⣀⣠⠟⠀
⠀⢰⡏⠀⠀⢯⣿⠀⠀⠀⠀⢘⡆⠀
⠀⠀⢻⣄⡠⠊⠁⠑⠤⣠⠼⠟⠀⠀

View file

@ -1,9 +0,0 @@
⣠⣤⣤⡤⠤⢤⣤⣀⡀⠀⠐⠒⡄⠀⡠⠒⠀⠀⢀⣀⣤⠤⠤⣤⣤⣤⡄
⠈⠻⣿⡤⠤⡏⠀⠉⠙⠲⣄⠀⢰⢠⠃⢀⡤⠞⠋⠉⠈⢹⠤⢼⣿⠏⠀
⠀⠀⠘⣿⡅⠓⢒⡤⠤⠀⡈⠱⣄⣼⡴⠋⡀⠀⠤⢤⡒⠓⢬⣿⠃⠀⠀
⠀⠀⠀⠹⣿⣯⣐⢷⣀⣀⢤⡥⢾⣿⠷⢥⠤⣀⣀⣞⣢⣽⡿⠃⠀⠀⠀
⠀⠀⠀⠀⠈⢙⣿⠝⠀⢁⠔⡨⡺⡿⡕⢔⠀⡈⠐⠹⣟⠋⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⢼⣟⢦⢶⢅⠜⢰⠃⠀⢹⡌⢢⣸⠦⠴⣿⡇⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠘⣿⣇⡬⡌⢀⡟⠀⠀⠀⢷⠀⣧⢧⣵⣿⠂⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠈⢻⠛⠋⠉⠀⠀⠀⠀⠈⠉⠙⢻⡏⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢰⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠄⠀⠀⠀⠀⠀⠀

View file

@ -1,55 +0,0 @@
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⡶⣶⠟⢿⣹⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠹⡦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⠶⠛⠛⠛⢀⣜⠲⣀⣼⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠹⣎⢲⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⠶⠋⠤⠀⠀⢀⠀⡸⠆⡇⢻⡌⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠘⡍⣾⠳⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⡟⠁⠀⢀⣜⣀⣀⣈⡉⠁⠀⣄⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠹⣬⡏⢈⡙⢄⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⠏⠀⢀⠔⠉⠁⠀⠀⠀⠨⠫⡤⠉⡷⢧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⢳⣥⠘⠈⢄⢣⠀⠀⠀⠀⠀⠀⠀⠀⣸⠇⠀⠐⠁⠀⠀⠀⠀⣠⣎⠀⢀⡀⣌⠐⡾⠧⠝⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⢸⢸⣦⡀⠈⢂⢂⠀⠀⠀⠀⠀⠀⠀⡟⠀⠄⢠⢄⠀⠀⠠⠊⠁⠀⠉⢻⡆⠠⣷⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠻⠬⢻⣱⡈⠓⢦⣀⢆⢐⠀⠀⢠⠀⢠⠇⡜⠀⠀⠊⢀⠄⠀⣀⢀⠀⠀⢸⠣⠄⣸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡓⠳⢂⢄⠙⢎⠎⠄⠀⠀⠀⢸⢰⠃⠀⠀⡴⢁⠔⠊⠀⢈⡀⢀⡌⠛⣶⢿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⡼⢮⣆⣁⠀⣈⠈⠂⢠⠀⢸⡜⡘⢀⡞⠐⡡⠔⠈⠁⠀⡠⠁⣸⡶⢇⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠑⢬⣿⡘⣂⣉⢿⡄⠙⡄⢸⡇⢣⣾⠗⠀⠀⣀⣤⣖⣭⡴⠾⠁⠃⠁⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⡀⡄⢝⢻⣮⠻⠎⠷⡾⢁⣤⠶⠛⠛⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⢠⠈⡤⢹⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣦⡀⠑⡙⢷⣷⣄⢈⢉⣁⡈⠉⠉⠉⠉⠙⠻⣖⣲⣦⣄⠀⠀⡇⠀⠀⠁⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣩⡛⡄⣎⢻⣮⡳⣮⡉⠛⠂⠭⣛⡛⠫⠤⢤⣧⣸⡀⠀⢡⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⡶⠀⠀⠀⢰⠀⢹⡄⠹⣿⣦⡙⢦⡀⠀⢀⠬⣁⠒⠤⣤⣟⠙⡆⠀⡇⠀⠀⣴⠉⠙⡄⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠳⣄⡀⠀⢸⡆⢸⡀⠀⡱⠉⠻⡆⠹⣷⢤⣁⣈⣆⡀⣀⣽⣏⠳⣤⠃⠀⠀⠉⠀⣠⠃⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡉⠟⠒⢼⣼⢠⢃⠃⢧⡰⣥⡀⠙⠦⠮⡿⣳⠕⠦⣧⠦⣟⡄⢀⡀⠤⠔⠊⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡔⡈⣦⡇⠀⠀⠀⠟⣜⠀⡆⣗⠇⠈⢷⡄⠀⢀⣤⠶⠊⠉⠀⠀⠀⠹⣆⠙⠲⡀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢧⣁⠼⠀⠀⠀⠀⠈⢿⢧⣴⢺⠄⠀⢨⣷⡴⢛⠴⡄⠒⠄⠀⠀⠀⠀⠈⢷⡀⣽⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠓⢿⡎⠀⢀⣿⡟⠀⠘⢄⠸⠀⠆⠀⠀⠀⠀⠀⠀⢷⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠊⠈⠑⡀⠀⠀⠈⢿⢀⣾⡿⠃⠀⠀⢸⢀⠌⠀⠀⠀⠀⠀⠀⠠⠿⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠀⢀⠃⠀⠀⢀⣤⡻⣛⠁⠀⠀⠀⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡚⣀⠀⠀⠀⠀⠀⠀⢠⠊⣀⣤⣶⠿⠋⠀⠈⠑⢶⣶⡦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢅⢀⠙⡄⠀⠀⢀⣴⣿⠿⠛⢹⡋⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⡌⡇⠇⣠⣾⣿⠟⠁⠀⠀⣀⣉⡀⠙⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢣⣾⣿⠟⠁⠀⠀⠀⢰⠁⣆⡅⣠⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢀⠤⢄⠀⢀⣼⣿⣿⠏⠀⠀⣀⡀⠀⠈⢦⡀⠴⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠸⡉⠑⠲⢄⢂⣾⣿⣿⡏⢀⡄⢀⡠⠒⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠑⠒⠂⠚⠸⢟⣿⣟⠐⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⡔⠀⠁⠀⠀⠈⠹⡌⠁⠀⠉⠁⠲⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⢀⣀⣀⣐⠁⠀⠀⠀⠀⠰⡀⠘⠀⠀⡐⠀⠀⢸⢀⡖⠂⢧⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⢠⠔⠋⠉⠀⠀⠉⢙⠲⣤⣀⠙⢤⢡⢠⣡⣴⠴⢂⠨⠀⡎⠌⠌⠃⠀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣇⠀⣀⠀⠀⢀⠄⠁⠀⠩⠯⣩⡦⢬⠞⢋⣀⣂⠤⠖⠂⣁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠙⠒⠋⠀⠀⢰⠀⠐⠊⠁⠐⠉⠀⢸⣶⣾⡿⠏⠋⢭⡀⠀⢱⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠓⠠⠄⡀⠀⡀⠐⠁⡎⣧⠹⣀⠀⠀⠀⠈⠀⢰⠀⢀⡀⠠⠢⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⡠⠊⡩⠟⠋⣧⠋⠀⠀⠃⠘⠄⠈⡀⠤⡀⠀⢀⡴⠂⠀⠀⠀⠀⠱⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⢠⠃⢀⡠⠄⠊⠀⠱⡀⠀⠀⠀⢀⢴⡄⠀⠈⠂⡬⠁⡠⢀⠀⠀⠀⠀⠱⢀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠘⠔⠁⠀⠀⠀⠀⠀⠑⠂⠉⠉⠈⢻⣿⠆⠠⢸⠀⢰⣱⠃⠀⠀⠀⢰⡏⡥⠐⠂⢉⠁⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⠀⢀⠤⠐⠂⠀⠀⡀⠃⢸⣟⡠⠀⢀⣤⣾⣧⠀⠠⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⡆⠀
⠀⠀⠀⠀⠀⠀⠀⢲⠀⠀⡰⠋⠈⢠⠁⠀⠀⠀⡈⠅⠭⡕⠪⣿⣅⠘⠅⠀⠀⠈⢧⠀⠀⠀⠀⠄⠁⠉⠒⢄⢀⣀⠀⠀⢸⠟⡐⡗⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠓⢄⢣⡀⠀⠘⠤⡀⣀⢀⣠⡴⠂⡰⣾⣿⡇⠣⡒⠢⣀⠀⠀⠙⠀⡄⠀⢀⠀⠀⠀⠘⡄⠀⠑⠤⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠒⠲⠶⠟⠏⠁⠆⠠⠞⢞⠁⡏⠘⢤⠀⠀⠀⠁⠀⠰⠀⣇⠀⠘⠦⣸⢀⠆⡰⠀⢀⠀⡇⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢎⠀⡐⠀⠀⢸⢌⢐⢣⠀⠈⠧⢤⣠⢄⠒⠁⠀⠈⠉⠮⢁⢻⣇⠴⢃⣴⣶⣀⡁⠐⠒⡀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⢠⡀⠀⣾⡘⠈⠈⠂⠀⠀⠘⠗⠿⠿⣷⣶⠚⠀⠂⢀⣾⢣⣴⣯⠉⠒⠀⠒⠀⠀⠈⡄
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢇⠁⠀⡆⡇⠙⡰⢄⢀⡠⠤⠜⠀⠀⠀⠀⠀⢅⠀⠐⠁⠎⠸⣟⢓⠌⠂⢄⠀⣀⡀⠀⠄
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡸⢌⡂⠀⠱⡘⠀⡇⠀⠁⠀⠀⠀⠀⠀⠀⢀⠤⠒⢲⡄⡀⠀⠠⠘⡌⠆⠀⠀⢻⣖⠢⡄⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠭⠀⠔⠁⠀⠀⠈⠒⠒⠀⠀⠀⠀⠀⠰⡐⠉⠀⠀⠐⡰⠁⠈⢲⡇⠀⠀⠀⠀⢀⢬⠀⢳⠘⡄
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡆⢆⠀⠀⠀⠀⠀⢀⠞⡄⠀⠀⠀⠀⠈⠐⠒⠒⠀⠁⠀⠀⢸⡷⡦⣀⣀⡔⠀⠀⠑⡌⢀⠇
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠊⠀⢣⠀⠀⡀⣀⠀⠀⠀⠀⠀⠀⠀⢀⡞⠀⢸⠀⠀⠀⠀⠀⠀⠧⠊⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡆⢰⢀⠇⡌⢠⣼⠇⠀⠀⠀⠀⠀⣠⢞⡀⠀⡜⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠂⢧⡘⡆⠀⠁⠀⠀⠀⢀⣤⠞⠁⠘⠓⠊⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠛⢷⣶⣶⣶⠿⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⠶⠶⠟⠛⠉⢹⠃⢀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠁⠰⡄⠀⠀⠀⢸⡀⠈⢀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠋⠁⠀⠀⠀⠀⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀

View file

@ -1,16 +0,0 @@
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⢔⣶⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡼⠗⡿⣾⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡼⠓⡞⢩⣯⡀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠰⡹⠁⢰⠃⣩⣿⡇⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢷⣿⠿⣉⣩⠛⠲⢶⡠⢄⠐⣣⠃⣰⠗⠋⢀⣯⠁⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣯⣠⠬⠦⢤⣀⠈⠓⢽⣾⢔⣡⡴⠞⠻⠙⢳⡄
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣵⣳⠖⠉⠉⢉⣩⣵⣿⣿⣒⢤⣴⠤⠽⣬⡇
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⢻⣟⠟⠋⢡⡎⢿⢿⠳⡕⢤⡉⡷⡽⠁
⣧⢮⢭⠛⢲⣦⣀⠀⠀⠀⠠⡀⠀⠀⠀⡾⣥⣏⣖⡟⠸⢺⠀⠀⠈⠙⠋⠁⠀⠀
⠈⠻⣶⡛⠲⣄⠀⠙⠢⣀⠀⢇⠀⠀⠀⠘⠿⣯⣮⢦⠶⠃⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⢻⣿⣥⡬⠽⠶⠤⣌⣣⣼⡔⠊⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⢠⣿⣧⣤⡴⢤⡴⣶⣿⣟⢯⡙⠒⠤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠘⣗⣞⣢⡟⢋⢜⣿⠛⡿⡄⢻⡮⣄⠈⠳⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠈⠻⠮⠴⠵⢋⣇⡇⣷⢳⡀⢱⡈⢋⠛⣄⣹⣲⡀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣱⡇⣦⢾⣾⠿⠟⠿⠷⠷⣻⠧⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠻⠽⠞⠊⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀

View file

@ -1,13 +0,0 @@
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⡦⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡴⠏⠄⣺⠃⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⡋⢚⠄⠊⣿⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⢏⣔⣤⢲⣋⣿⡀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠏⠁⡔⠻⣿⢡⠼⢧⠀⠀⠀⠀
⣾⣷⠶⣤⣀⠀⠀⠀⠀⠀⠀⠀⡜⠀⡰⠋⠀⣙⣀⣰⣽⡀⠀⠀⠀
⠙⠻⣤⠐⢺⡗⠤⡀⠀⠀⠀⠀⠇⢀⢃⣴⡿⢋⠤⠾⠯⢽⣄⠀⠀
⠀⠀⠀⠙⠢⢄⠀⠐⠴⣄⠀⠀⣰⣻⡿⢛⡉⠉⠀⠀⠐⠀⢿⡀⠀
⠀⠀⠀⠀⠀⠀⠙⢴⠁⣠⣵⢶⣿⣾⢭⡭⠤⣀⠀⠄⢀⠁⠀⢧⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠁⠿⠁⠈⠫⠻⣷⣝⡢⢄⠀⠀⠀⠈⠱⣾⠁
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢦⣄⠀⠈⠻⢿⣶⣤⣄⣀⣀⣴⠉⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢦⡘⡄⠹⣦⠈⠉⠉⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠒⠢⠽⠀⠀⠀⠀⠀⠀⠀

View file

@ -1,28 +0,0 @@
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⢀⣠⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡴⠛⢦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⠏⠁⠉⠳⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⡾⠀⠈⠳⣄⠀⠀⠀⠀⠀⢀⣴⠟⠁⠀⠘⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣄⡇⠀⠀⠀⠀⠘⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⢠⠇⠀⠀⠀⠈⢧⡀⠀⣠⠴⠊⠀⠀⠀⠀⠀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⠀⠀⠀⣴⠖⠲⢬⣳⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⢀⡾⠀⠀⠀⠀⠀⢉⣷⠚⠁⠀⠀⠀⠀⠀⠀⢸⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⡇⠀⠀⢰⠃⠀⠀⠀⠈⠙⢿⡂⠄⠀⠀⠀⠀⠀⠀
⠀⠀⣰⠏⠀⠀⠀⠀⠀⠀⢼⠉⡇⠀⠀⠀⠀⠀⠀⢠⡎⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣇⠀⠀⡾⠀⠀⠀⠀⠀⠀⣰⠟⠦⣀⠀⠀⠀⠀⠀
⠀⡼⠁⠀⠀⠀⠀⠀⠀⠀⠸⡄⢳⡀⠀⠀⠀⠀⢀⠞⠀⢀⣀⠀⠀⠀⠀⠀⠀⣶⡄⠀⠀⠀⠀⢸⠀⠀⡇⠀⠀⠀⠀⣠⡞⠁⠀⠀⠘⡇⠀⠀⠀⠀
⠀⢧⡀⠀⠀⠀⠀⠀⠀⠀⠀⢳⣸⡇⠀⠀⠀⣴⣏⡴⠚⠉⠙⠃⠀⠀⠀⣀⡀⠙⠦⣄⠀⠀⠀⠘⡇⢠⡇⠀⠀⢠⠜⠁⠀⢀⣀⣠⣼⣃⣀⡀⠀⠀
⠀⠀⠉⢙⣲⣤⣤⡤⠤⢤⡀⠀⢳⣧⠀⣠⢞⡷⢋⡴⠖⠙⣷⠀⠀⠀⠀⠻⢇⣀⡀⠈⠙⢦⡀⠀⣷⢸⠇⠀⡴⢃⣠⠖⣺⡭⠛⠁⠀⠀⠈⠉⠳⡄
⢠⡶⠊⠉⠀⠀⠀⠈⠉⠙⠃⠀⠈⣿⣶⣱⣿⠟⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠙⠲⢼⣦⣽⢷⢠⣾⢟⣫⠴⠋⠁⠀⠀⠀⠀⠀⠀⠀⠈⡗
⠸⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣟⠛⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣟⣏⣁⣀⣀⣀⡠⠤⠴⢒⣒⣷⠆⠀⢠⠇
⠀⠈⠙⠲⠤⣀⠀⠀⠀⠀⠀⢀⣾⠳⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⢻⡛⢦⡛⠳⠭⣍⣉⠉⠉⠀⠀⢀⣠⠏⠀
⠀⠀⠀⠀⠀⠈⠳⢤⣀⣀⡴⠋⣇⣴⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢦⡙⢦⠀⠀⠉⠉⠒⠒⠒⠋⠁⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠳⣬⡖⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⢰⠋⠀⠙⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⢠⢸⡄⠀⠀⠀⠙⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⢸⣸⡇⠀⠀⠀⠀⠈⢧⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀⣀⣠⠤⠦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⢸⡏⠀⠀⠀⠀⠀⠀⠘⡆⠀⢰⡏⣠⠖⠀⠀⣠⠶⠋⠁⠀⠀⣠⠟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠈⢳⠀⠀⠀⠀⠀⠀⠀⢸⡄⢸⣻⠁⠀⣠⠎⠁⠀⠀⠀⢀⡴⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠈⠳⠤⣀⣀⠀⠀⠀⠀⣧⢸⡇⢀⠜⠀⠀⠀⠀⠀⣰⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⢀⣤⠒⠒⠚⠛⠻⠷⠶⣶⣾⣾⣷⠃⠀⠀⠀⠀⠀⣰⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⢿⡅⠀⠀⠀⠀⠀⠀⠀⣼⣿⠏⠓⢶⣦⣀⣀⣀⡼⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠸⢯⠀⠀⠀⠀⠀⢀⡾⢻⣿⠀⠀⠀⠙⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠘⢦⣀⣀⡤⠞⢹⣠⠏⡇⠀⠀⠀⠀⠀⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠘⠻⠀⡇⠀⠀⣀⣤⠖⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀

View file

@ -1,20 +0,0 @@
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣾⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢶⣶⡶⡴⢦⣼⣟⣻⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣿⡳⣋⡿⣦⡲⣺⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠸⣼⣸⠟⠀⠛⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣿⣽⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⣦⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣷⣿⢷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣴⣿⢿⢯⣯⡀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣿⣟⢎⣾⢻⡆⠀⠀⠀⠀⠀⠀⠀⢀⡼⢻⢛⣏⣯⢽⡿⡿⣻⡻⣤⡀
⠀⠀⠀⠀⠀⠀⠀⣾⣿⣶⣆⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⠃⣕⠙⢧⣽⢸⣯⠀⡀⠀⠀⠀⠀⠀⠘⢯⣡⣂⣹⣎⡾⠀⠑⠛⠛⠉⠁
⠀⠀⠀⠀⠀⠀⠀⠹⣷⣾⡟⣿⠻⢦⣠⠄⠀⡄⢀⣠⣴⣶⣹⣿⣿⢧⣦⣽⣿⣿⣺⠣⣄⣀⡀⠀⠀⠀⠐⣻⡿⡿⣿⢧⡆⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣗⡒⠷⢦⣝⣶⣾⣟⡭⢶⣋⣲⡿⡿⠏⡿⢻⠿⠇⢹⣎⠻⡻⣳⢿⣷⣄⠀⢸⣃⢼⡐⣇⡷⢯⣆⠀⠀⠀⠀
⠀⣴⣦⣄⡀⠀⠀⠀⢈⣿⠿⢷⠶⠾⠿⣿⡿⠿⣥⣬⣭⣿⣷⠇⠀⠁⡼⠆⡰⣸⠿⣦⣷⣿⡺⠿⠿⠂⠘⠻⢾⡵⣿⡷⣞⣿⡄⠀⠀⠀
⠀⣷⡿⣿⣿⣤⠀⠀⢨⣯⢘⠆⡖⡪⣻⣿⣻⡂⢄⣑⢆⣻⡇⠀⠀⠀⠻⣷⣧⣯⠾⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠃⠀⠀⠀
⠀⡿⣿⣿⠻⣿⣷⡀⠀⠛⢷⣮⣼⠞⠋⡟⠸⣒⡈⢢⣱⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⣿⣿⠯⣍⣳⡈⢷⡀⠆⠀⠉⠁⠀⠀⠀⠀⠙⠛⠛⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣰⣾⠻⠷⣶⣭⣹⣤⢗⣮⡰⣃⣤⣤⣤⣤⣤⢤⣤⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣿⠅⣾⢉⣁⣈⣙⣻⣿⣿⣟⡶⠲⢶⡛⢭⣿⣟⣿⣿⡿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣿⣮⣥⠊⢡⡔⣮⣿⣿⣧⠉⢻⣷⣦⡍⣿⣿⣷⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠈⠻⣷⣮⠷⠛⢹⠏⣷⡌⢢⣀⣫⢝⣿⠿⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠋⠀⣹⣡⠈⡎⢫⣲⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠘⠿⣲⣿⠿⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀

View file

@ -1,20 +0,0 @@
⠀⠀⠀⠀⠀⠀⠀⠀⠠⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢠⡄⡅⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠒⠀⠀⠀⠀⠀⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠘⡀⠅⠀⠦⠀⠀⠀⠃⠀⠀⢀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⡃⠀⠇⠄⠀⢨⠀⡀⣀⠀⠀⠀⡈⠀⠀⠀⠀⠀
⠀⠀⠈⠀⠂⠁⠀⠀⠀⠈⠀⠂⠡⠉⢠⠄⠀⠁⠀⠀⠀⠀⠀
⠀⠀⠀⠀⢁⣀⠀⠀⢀⣀⠀⠀⠄⡀⠊⠀⠀⠄⠘⠀⠀⠀⠀
⠀⠆⠀⣼⣿⣿⣧⢀⣾⣿⡆⠘⠤⠄⠂⠀⠀⡒⠐⠀⠀⠀⠀
⢀⢠⢸⣿⣿⣿⣿⣿⣿⣿⣿⡄⠀⠁⠀⠀⠰⣀⠀⠀⠀⠀⠀
⢈⠀⣿⣿⠁⠈⣿⣿⣿⣿⣿⣿⣆⠁⠈⠀⢀⠀⠀⢀⠀⠀⠀
⠈⢄⣿⠻⣆⢠⣿⠿⣿⣿⣿⣿⣿⡆⠀⢀⠊⣰⢀⠜⠀⠀⠀
⠀⠀⣿⠀⢹⣦⠃⢠⣿⢿⣿⣿⣿⠇⠀⣁⢊⠀⢀⠐⠀⠀⠀
⠀⠀⢿⠀⢸⡏⢀⣾⠏⠈⣿⣿⣯⣤⣤⣤⡀⠒⠀⢀⢰⠇⠀
⠀⠀⢸⠀⢸⣧⡾⠁⠀⣠⣿⣿⣿⣿⣿⣿⣿⣷⠀⢈⠐⢠⠆
⠀⠀⠀⡆⣸⠏⠀⣠⣾⠟⣩⠋⣉⠭⠛⢿⣿⣿⣧⠈⠀⠀⠄
⠀⠀⠘⠳⣮⣴⣟⣫⠄⠚⠭⣁⣀⣤⠴⠟⢻⣿⣿⡇⠸⠀⠀
⠀⠀⠀⠀⠈⢻⣦⢭⣙⣒⣶⣶⠻⠦⠤⣤⣼⣿⣿⡆⠂⠀⠀
⠀⠀⠀⠀⠀⠀⠙⢦⣈⣉⠦⢄⡉⠑⠲⢦⣿⣿⡿⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠙⢷⡀⠐⠛⠿⠿⠿⠟⠋⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠱⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀

View file

@ -1,73 +0,0 @@
⢡⢊⠐⡀⠐⠠⠐⠢⠑⠠⠃⠰⢀⠢⠄⡁⠂⠔⢈⠐⠠⠂⡁⠂⠔⢈⠐⠠⢂⠐⠄⠂⠅⡂⠥⠈⠔⡀⠆⠠⢁⠂⡐⠌⠐⡀⠢⢁⠂⡐⢈⠐⠠⠐⠂⠔⠈⠄⠣⠠⢁⠢⠐⠠⠂⡁⠂⠔⢈⠐⠠⠂⡁⠂⠔⢈⠐⡀⠂⠔⠠⠌⠢⠑⡈⠤⠁⠂⠔⠠⢁⠂⠅
⠆⠆⠓⡀⠊⡐⠈⢂⠑⠂⠑⠂⢀⠂⠐⠐⠈⠐⡀⠂⠁⢂⠐⠈⠐⡀⠊⠐⠀⠂⠌⠂⠐⡀⠂⠁⢂⠐⠠⠁⠂⠐⠀⠒⠐⠀⠒⠀⢂⠐⡀⠠⠀⢈⠀⠌⠀⡈⠀⠁⡀⠠⢈⠐⠐⠐⠈⠐⡀⠂⠁⢂⠐⠈⠐⡀⠂⠐⠈⠄⠃⠐⠂⠁⠒⠀⢂⠁⠂⠒⠀⠂⠂
⢏⡘⡐⠠⠁⢀⠂⠠⢀⠂⠐⡈⠀⠄⡈⠐⡈⠠⠐⠠⠁⡀⠂⠌⢀⠐⠠⠁⡈⠐⠠⠈⠄⠐⠈⡐⠠⢀⠂⠄⡁⠂⠌⠐⠠⢈⠠⠁⠠⠀⠀⠄⠁⣠⣤⣀⠂⢀⡐⠀⢀⠀⡀⠄⢈⠐⠈⠠⠐⠠⠁⡀⠂⠌⠀⠄⠡⠈⠐⡀⠂⠁⠄⡁⠂⠌⢀⠐⡀⢂⠁⢂⠀
⡎⠰⣀⠡⠐⢀⠠⠁⠄⠠⢁⠠⠁⡐⠠⢁⠠⢀⠁⢂⠐⢀⠡⠐⠀⠂⠄⡁⠠⠁⢂⠐⢈⠠⠁⡀⠂⠄⡐⠠⢀⠡⢀⠁⠂⠄⠐⠀⠁⡀⠡⢀⣾⣿⠿⣿⣷⡿⣿⣷⡄⠂⠀⢀⠂⠈⠄⠁⠌⠐⡀⠄⠡⢀⠡⠈⠄⠂⠁⠄⡈⠐⠠⠐⡀⠂⠄⢂⠠⠀⠌⡀⠀
⣌⠡⠄⡐⠀⢂⠠⠈⠐⡀⠂⠄⡁⠠⠐⠠⠀⢂⠈⠄⠐⠠⠐⠀⠡⠈⠠⠐⠀⡁⠂⡀⢂⠐⠠⢀⠁⢂⠠⠐⠠⢀⠂⢈⠐⠈⠀⠌⠀⡀⢀⣾⡿⢻⣴⣿⣿⣿⠿⣿⣇⠀⠐⡀⠀⠡⠈⠐⡈⠄⡀⠂⠁⠄⠠⠈⠐⠈⡐⠠⢀⠁⢂⠁⠄⡈⠐⠠⢀⠁⢂⠐⠀
⢆⠱⠐⠠⠁⠂⠠⢈⠐⠀⠌⠐⡀⠄⢁⠂⢁⠀⠂⠌⠠⠁⠌⠠⠁⠠⠁⠄⡁⠄⢁⠀⠂⠌⠀⠄⡈⠄⠠⢈⠐⡀⠐⠀⠂⠁⠠⠀⠂⢠⣾⡿⣝⣧⣿⡿⣿⠀⠀⣸⡟⠁⠀⠄⠂⡁⠌⠐⠠⠐⢀⠡⢈⠀⠂⠡⢈⠐⠀⠂⠄⡈⠠⢈⠀⠄⡁⠂⠄⡈⠄⠂⠀
⢎⠰⢁⠂⠡⠈⠐⠠⠈⠄⡈⠄⠠⠐⠠⠈⢀⠈⡐⠈⡐⠠⠄⠁⠠⠁⠂⠄⠠⢈⠀⠌⠐⡈⠄⠂⡀⠂⠁⠄⠂⡀⠁⠀⠂⠈⠀⠐⣀⣸⣿⣶⣿⡟⢻⡗⠘⣇⠀⣿⣁⠀⠂⠠⠀⠄⠂⠈⠄⡁⠂⢀⠂⠄⠁⠂⠄⠂⠁⠌⡀⠄⠡⢀⠂⠐⠠⠁⠠⠐⢀⠡⠀
⢎⡐⠂⠌⡀⠡⠈⠄⠡⢀⠐⠠⠁⠠⠁⠌⠠⠐⠠⠑⠀⠄⠐⢈⠀⢂⠡⠀⠡⠀⠌⢀⠂⠄⡐⠠⢀⠡⠈⠐⡀⠄⠀⡁⢀⣴⣾⣿⡛⢯⣽⡟⠛⣧⡀⢻⣀⣿⣠⡟⠀⠀⠐⠀⠁⠄⠡⡈⠢⠐⠀⢂⠠⠈⠠⠁⠂⠌⠐⠠⠐⢀⠂⠄⠂⢁⠂⢁⠂⢁⠂⠠⠀
⡆⡘⢐⠠⢀⠁⡐⠈⠄⡀⠂⢁⠂⢁⠐⡈⠄⢈⠐⠠⠈⠠⢈⠀⡐⠠⠀⠌⡀⢁⠂⠄⠐⠠⢀⠐⡀⠂⠌⠐⠠⠀⡁⠀⣾⣍⣿⣤⣟⡦⣿⣇⠀⠈⢻⣝⣿⠁⣿⠁⢠⣨⡄⠈⠄⠊⡐⠀⠄⠠⠁⠠⠀⠌⢀⠡⠈⡀⠌⠠⢁⠀⠂⠄⡁⠂⡈⠄⠐⡀⠄⠂⠀
⢆⠱⢀⠂⠄⠂⠠⠈⠄⠐⢈⠠⠐⢀⠂⠄⠐⡀⠂⠄⠁⠂⠄⠂⢀⠂⠡⢀⠐⡀⠂⠈⠄⠡⠀⢂⠐⡈⠄⠂⡁⠄⠀⠸⣿⣿⣤⣴⣾⡿⠷⣿⣦⠀⠀⣿⠁⣸⠃⣠⣟⡞⠁⠀⠂⠄⠐⠈⡀⠂⠌⢀⠡⠈⡀⠄⡁⠠⢀⠡⢀⠈⡐⠠⠐⢀⠐⡈⠁⠄⠂⡈⠀
⢎⠰⢈⠀⢂⠡⠀⠡⠈⠄⢂⠀⡉⢀⠠⠈⢀⠐⢈⠠⠁⡈⠐⡈⠀⠌⠐⡀⠄⡐⠈⠐⡈⠠⠁⡀⠢⠐⠀⢂⠀⠀⡁⢀⣿⣿⣉⣳⣤⣹⣧⣤⣛⣷⣄⡟⢰⣧⣼⠗⠉⡀⠌⠐⠈⠀⠂⢁⠐⡀⠂⠄⡐⠠⢀⠂⠄⢁⠀⠂⠄⠂⡀⠡⠐⠠⠐⠀⢂⠈⡀⠐⠀
⢎⠰⢈⠐⠠⠀⠌⠠⠁⠌⠠⠐⢀⠠⠀⠌⢀⠂⠄⠂⡐⢀⠡⠀⠌⡀⠡⠀⡐⠠⠈⠄⠠⠁⠄⡀⢁⠠⠁⢀⠀⠂⠀⣾⣿⣦⠴⢖⣚⣧⢤⣄⣈⣙⣻⣷⠟⠋⠀⢀⠂⢀⠀⠄⠂⠁⠌⢀⠂⠐⡀⢂⠐⠠⠀⠂⠌⢀⠈⡐⢀⠂⠄⡁⢂⠂⠡⠈⠀⠄⠠⠁⠀
⢎⠰⢈⠀⢂⠁⠄⢂⠁⠌⢀⠂⠠⠀⠂⠌⡀⠄⠂⡁⢀⠂⡐⠈⡀⠐⠠⠁⡀⢂⠐⠄⡁⠄⢂⠀⢂⠠⠈⡀⠠⠀⡀⢻⣿⣷⣋⣩⣴⣾⠿⣿⣿⠟⠋⠁⢀⠂⠌⠂⠁⢀⠠⠀⢂⠡⠈⠀⠄⠡⠀⠄⠂⡁⠄⢁⠂⠄⢂⠐⡀⠂⢀⠐⠠⠀⢂⠠⠁⡈⠐⡈⠀
⢎⠰⢈⠐⠠⠈⡀⠄⠐⠈⡀⠐⡀⠁⠌⠀⠠⠀⠁⠄⠂⠠⢀⠁⠠⠁⢂⠐⠀⡂⢈⠐⢀⠂⠠⠐⠠⠐⠀⠄⠀⠄⠀⠀⠙⠛⠛⠉⠀⠀⡀⠉⠀⢀⠠⠈⠀⠠⠀⡀⠂⠠⠐⠈⡀⠄⡈⠐⡈⠐⠠⠈⠐⡀⠐⡀⠂⠄⠂⡐⠠⠁⠄⡈⠄⠂⠠⠐⠀⠄⡁⠄⠀
⢎⠰⢈⠐⠠⠁⡀⠂⡁⠂⠐⡀⠀⠠⠀⠂⠁⠀⠂⠀⠠⠁⠠⠈⡀⢁⠂⣈⠠⠄⠂⢀⠂⢀⠂⠈⠄⠈⠐⠠⠈⢀⠈⠐⠀⠀⡀⠀⠈⠀⠀⡀⠄⠀⢀⠠⠐⠀⡁⠠⠈⠄⡁⠂⠄⢂⠠⠁⠠⠁⠂⢁⠂⡐⢀⠐⡈⠠⠐⠄⠁⠂⠠⢀⠂⠌⠠⢁⠈⠄⡐⠠⠀
⢎⠰⢈⠀⢂⠁⡀⠂⠄⢁⠠⠀⠐⠀⣠⣶⣶⣤⣁⠂⠀⠐⠀⠐⠀⠄⢂⠀⡀⠂⠐⠀⠠⠀⠀⠂⠠⠈⠀⢀⠐⠀⡀⠂⠌⠀⠠⢀⠂⠁⡐⠀⠄⠂⠄⠂⠠⠁⠄⠂⢁⠐⠠⠐⢈⠠⠀⠌⠠⢁⠈⠠⠐⠀⠄⠂⠄⢁⠈⠠⢀⠁⠂⠄⠂⠠⠁⠄⠂⡐⢀⠂⠀
⡎⠰⢈⠐⡀⠂⡀⠡⢈⠀⠄⠐⠀⢰⣷⡟⠻⣏⠻⣧⣀⠐⠈⠀⡈⠠⠀⠂⠀⢁⠈⠀⠄⠀⠁⣠⣴⣤⡈⠀⠀⠂⡀⢁⠂⠁⠂⠄⠂⢁⠐⠈⠠⢈⠐⢈⠠⢈⠐⠈⡀⠌⠐⡀⠂⠄⠡⠀⢁⠂⠈⠄⠁⠌⠠⠁⢂⠀⢂⠀⢂⠈⡐⠈⡀⠡⢈⠐⠠⠐⡀⢂⠀
⢎⡑⠠⢂⠠⠐⠀⠡⠀⠂⠀⠄⠈⠀⣿⢿⡀⠘⢦⡈⢻⣦⠐⠀⠀⠄⠀⠁⠈⠀⡀⠠⠀⣠⡿⣿⣯⣽⡇⠀⠁⠠⠀⠂⠌⢀⠁⠂⠌⢀⠠⠁⠂⠄⡈⠄⢀⠂⠌⢀⠐⠈⠄⠐⠈⠀⠄⠈⠀⢀⠂⠀⠈⢀⠐⠈⠠⠐⠀⠌⡀⠄⠐⠠⢀⠡⢀⠂⠁⠄⡐⠀⠀
⡆⠰⠁⠄⠂⠄⢁⠂⠡⠈⠀⠄⠂⠀⢻⣿⠛⢦⣄⣹⠦⣌⣳⡀⠀⣠⠈⠀⢾⠀⠀⢀⣼⢯⠞⢡⣿⣿⠁⠀⡈⠀⠄⠡⠈⠄⡈⠐⠈⠀⠄⡈⠐⠠⠐⡀⠂⡐⢈⠀⠌⠐⡈⠠⠁⠈⠀⠀⢂⣤⣄⠈⡀⠠⠐⠈⠐⡀⢁⠂⠠⢀⠁⠂⠄⡐⠀⡈⠄⠂⠄⠡⠀
⡌⠱⢈⠐⡈⢀⠂⢈⠐⡀⠁⠠⠀⠄⠘⣿⣷⣤⡀⠙⣆⠈⠻⣿⡄⠘⣇⠀⣾⠀⣴⠿⢲⣋⣤⣿⡿⠃⠀⠀⡐⠈⠄⠡⢈⠀⠄⠁⡈⠐⠠⢀⠁⠂⡁⠄⠐⡀⠂⠄⠂⡁⠠⠀⢀⠐⠀⣰⣿⣿⣿⣧⠀⠐⠀⠐⠀⡐⠠⢈⠐⠀⠌⡐⠠⢀⠡⢀⠐⠈⠄⢂⠀
⡅⢣⠈⠄⠐⠠⠐⢀⠂⠠⠈⢀⠐⠀⡀⠹⣿⣦⡉⠛⠚⣆⠀⠈⠻⣆⢻⢠⣇⡾⠃⢠⣟⣠⣾⡞⠃⠀⠐⠀⡀⠌⠠⢁⠀⡈⢀⠂⠄⠁⠂⠄⠂⠁⠄⠂⢁⠠⠁⡐⠠⠐⠀⡐⠀⠠⣼⠟⣿⠁⢹⣿⣧⠀⡈⠀⠂⠠⠐⠠⠈⠐⠠⠐⡀⠄⠂⠄⠂⠌⠠⢀⠂
⡜⠠⠌⠠⢁⠂⠐⡀⠂⢁⠐⠠⢀⠂⡀⠄⠹⣿⣏⠛⠒⠾⠷⣄⠀⠙⣞⣿⠋⣀⣴⣋⣽⡿⠋⠀⠀⢈⠠⠐⠠⠂⠁⡀⠄⠐⡀⠂⠌⢀⠁⠂⠌⠐⡈⠐⠠⢀⠡⠀⠐⠠⢀⠠⠐⣸⠏⢰⠇⢀⣼⢷⣿⡆⠀⠀⡁⠐⠈⠄⡁⠌⠐⠠⢀⠂⡁⠐⠈⢀⠒⠀⠀
⡌⠱⢈⠐⠠⢀⠁⠠⠁⠂⢈⠀⢂⠂⠠⠀⠀⣨⣿⢿⣶⣒⠲⢮⣿⣶⣼⣧⣾⣭⣿⠟⠉⠀⢀⠐⠈⠠⡐⠈⡀⠄⢁⠠⠈⡀⠄⠁⠄⠂⠈⠐⠀⡁⠠⠈⠠⠀⢀⠂⠁⠀⠆⠀⢰⣏⣴⢺⣴⠟⠁⣸⣿⡇⠀⠂⢀⠈⡐⠠⠀⠄⡁⢂⠠⠐⢀⠡⠁⠂⠠⢈⠀
⡅⢣⠈⠐⡀⠂⠈⠄⠡⠈⠄⡈⠄⠐⠀⠁⣰⣿⠓⠒⣛⣻⠟⠛⣩⣿⣯⠙⡯⣿⡆⠀⢀⠀⠂⡈⠌⠁⠠⠐⠀⡐⠀⢂⠁⢀⠀⠂⢀⠐⠀⠂⠁⠀⠠⠐⠀⠐⠀⡀⠨⡄⠀⠄⣟⡼⠁⢸⣇⡤⠞⠁⣿⣧⠀⠐⠀⠠⠐⠠⠁⠠⠐⢀⠂⡁⠂⡁⠐⠈⡐⠀⠀
⡜⢠⠘⠀⠄⡁⠈⠄⠡⠐⡀⠠⢀⠐⠀⠄⠸⣿⡟⢉⡽⢛⣿⡿⠉⠀⢸⣧⡷⣾⡇⠀⡀⠌⠐⠠⠐⢀⠐⡀⠡⠀⠌⡀⠠⠀⠠⢀⣤⣤⣬⣄⣈⡐⠀⠂⠄⠈⠳⣄⠀⣷⠀⢸⡿⠀⠀⢸⠏⣀⣤⢾⣿⠃⠀⠄⠂⠁⠀⡁⠄⡁⠂⠠⠐⠀⠄⡀⠄⠁⠄⡈⠀
⡜⠠⠌⠐⢠⠠⡁⠂⢁⠐⠀⡐⠀⠀⢂⠀⠄⠹⢿⣿⣴⣯⠏⠀⠀⠀⣼⢸⣽⣷⠇⠀⡀⠄⠁⠠⠀⢂⠠⢀⠁⢂⠐⡀⠐⠀⠐⠀⠛⢾⣟⠿⢭⣙⡛⠶⣤⣂⡁⠈⢳⡸⡆⣹⠃⠀⢠⠟⣉⣡⣤⣾⠿⢷⣦⣄⠀⠄⠁⠀⢂⠐⠉⡐⠀⢁⠠⠀⠂⡁⢂⠐⠀
⡌⠱⢈⠐⠠⠐⠀⡐⠀⠠⢁⠠⠁⠠⠀⠂⢀⠀⢀⠈⠉⠀⠀⠀⠂⡀⠹⠿⠛⠁⠀⠀⠠⠀⡈⠄⢁⠂⠠⢀⠂⠄⠂⡐⠀⢈⠠⠀⡀⠄⠙⢷⣦⣬⣽⢯⣍⠉⠉⠓⠦⢽⣽⣼⣀⡰⣟⣫⣷⡿⣛⡥⢞⣋⠙⣿⣆⠐⠀⠁⡀⠂⡐⠀⡈⠠⠐⢈⠀⡐⢀⠂⠀
⢣⠑⡨⠀⢂⠐⠀⠄⠈⠄⡀⠂⢁⠐⡀⠁⠀⠀⠂⠀⠠⠐⠀⠁⠀⠄⡀⠀⠀⡀⠄⠀⠁⠠⢀⠐⡀⠂⠁⠄⠂⠄⡁⠐⡈⢀⠀⠄⠀⠄⠂⢀⠈⠛⠷⣶⣾⣛⠓⣲⡶⢦⣼⣿⣿⣟⡉⠁⣀⣈⡿⠯⢭⣁⠉⣿⡗⠀⡀⢂⠀⡐⠀⡁⠄⠂⢁⠂⠐⡀⢂⠐⠀
⢣⠘⠠⠐⡀⠄⢁⠈⡐⠠⢀⠁⢂⠠⢀⠡⠈⠐⢀⠁⠀⠐⠀⠂⠄⡀⠠⠀⠄⡀⠄⠐⡈⠐⡀⠄⠠⢁⠈⠄⡁⠂⠠⠁⠄⠂⡀⠂⠄⡀⠁⠂⠈⠄⢀⠀⠀⠉⠛⠛⠛⣿⣯⢿⠘⣿⠏⠉⠛⠳⢭⣓⣦⣬⣽⠟⠁⠀⠀⡀⠠⠐⠠⠐⡀⠌⢀⠂⠁⠄⠂⠄⠀
⠣⢌⢁⠂⠄⠐⡀⢂⠐⠠⠀⠌⡀⠄⠂⠠⠈⢀⠠⠀⡈⠄⡁⢈⠀⠐⠀⠂⠐⡀⠐⠠⢀⠡⠀⠄⡁⠂⡀⠂⠄⠁⠂⢁⠂⠐⡀⠡⠀⠄⠂⡁⠀⠀⠂⠀⠁⠠⠀⠄⠀⠙⣷⣞⣷⡻⡄⠀⠄⢀⠀⢈⠉⠉⠀⡀⠄⠈⠀⢀⠐⠠⠁⠂⠄⡐⠠⢈⠐⢈⠐⠈⠀
⠇⡌⠠⠂⠌⡀⠐⡀⠂⠄⢁⠂⠄⠠⠁⡐⠀⠀⡀⢤⣴⣶⣤⣄⠈⠐⠀⠈⢀⠀⠁⠂⠄⠂⠈⠄⠠⠁⠐⠈⡀⠡⠈⠀⠄⠁⠠⠁⢂⠠⢁⠠⠁⠌⠐⡀⠂⠄⠀⠂⢈⠀⠀⠙⢿⣽⣿⣄⠈⠀⡈⠀⠄⠁⢀⠀⢀⠠⠈⠠⠐⢀⠡⠈⠄⠐⡀⠂⠄⠂⡈⠐⠀
⢣⠘⢠⠁⡐⠀⡁⠠⠁⢂⠠⠈⠄⠂⠁⠀⡀⠂⢰⣿⣟⠻⣭⡙⠿⣦⡀⠂⠠⠐⠈⠀⠄⠈⠐⠀⠂⢈⠀⠁⠀⠄⠀⡁⠀⠂⠀⠐⠀⡀⠂⡀⠂⠌⠐⡀⠌⠐⠠⠀⠂⠠⠈⢀⠀⠀⠉⠉⢀⠠⠐⠀⠂⠄⡀⠂⠄⠠⠈⠄⠡⠀⢂⠡⠐⠀⠄⠡⠐⠠⢀⠡⠀
⢣⠘⠠⠐⡀⢁⠠⠁⠂⠄⡐⠈⠄⠈⠄⢁⠀⠄⢻⣿⡇⠀⢈⡷⢤⣬⣿⣄⠀⠀⣴⠂⠀⠈⠀⣤⠁⠀⡀⠈⢀⣈⣠⣤⣥⣀⡁⠀⠂⢀⠐⢀⠡⠀⠡⢀⠐⢈⠐⡀⢂⠐⠀⡀⠠⠁⠠⠁⠌⠐⠀⢁⠈⠄⠐⢈⠠⠁⡐⠈⠄⠂⠄⠂⠄⠡⠈⡐⠠⠁⠄⠂⠀
⠣⢌⢁⠂⠐⠠⠀⢂⠡⠀⡐⠈⠄⡈⠄⠂⠈⠀⣿⣾⠟⠶⢾⡇⠀⠀⠙⢿⣆⢼⡛⠀⠀⠂⣰⠟⢀⣠⣴⡛⠋⣩⡭⠟⠛⣿⣷⠀⠈⢀⠀⢂⠠⢈⠐⡀⢈⠠⠀⠄⡀⢂⠁⠠⠐⠂⠄⠁⡀⠂⢈⠀⢂⠈⠄⠂⡀⢂⠠⠁⢂⠈⡐⠈⠠⠀⠡⠐⢀⠁⠌⠠⠀
⠇⡌⢠⠈⠄⡁⠐⡀⠂⠁⠠⢈⠐⡈⠠⠁⠌⠀⣿⣿⡀⠀⠀⢳⣄⠀⠄⠀⢻⢸⠆⠀⢠⣴⣷⠾⠛⠋⡉⠉⢛⡧⠀⢀⣼⣿⠇⠀⠂⠠⠀⢂⠠⠀⠂⠄⠂⠠⠁⠂⠐⠠⠈⠄⠡⠈⢀⠂⠠⠁⠂⠈⠄⠂⠠⢁⠐⠀⠄⡈⠄⠐⡀⠁⠂⡁⢂⠁⠌⠠⠀⢁⠀
⢣⠘⠠⠐⠠⢀⠁⠠⠈⠄⡁⠂⡐⠠⠐⢀⠀⠀⠻⣿⣷⠤⠤⣤⣝⣦⡀⠀⢸⡾⡇⡴⣿⠞⠁⠀⠀⢄⣠⠶⠿⠶⢶⣿⣻⠏⠀⠀⠁⠠⠐⡀⠄⡈⠐⠠⢈⠀⡁⠂⢁⠐⠈⠀⠐⠈⠀⠀⠐⡀⠡⠈⡐⠈⡀⢂⠈⠄⠂⡐⠀⢂⠐⠈⠄⠐⠠⠁⢂⠀⡁⠂⠀
⢃⡈⢁⠈⠀⠀⠈⡀⠁⠀⠀⠁⢀⠀⠀⢀⠀⠁⠀⠈⠛⣿⣿⣤⣤⣿⣿⣄⡀⣇⣿⡜⢁⣀⣀⣤⣼⣏⠁⠀⠀⠀⣸⣿⡏⠀⢀⠀⠁⢀⠀⠀⡀⢀⠁⠀⠀⠀⡀⠁⠀⠀⣄⣧⣤⣀⠈⠀⡀⠀⡀⠁⠀⢀⠀⠀⠀⢀⠁⢀⠁⠀⠀⠁⡈⠀⢁⠀⠀⡀⠀⠈⠀
⡆⡘⠠⠈⠄⡈⠄⠐⡈⠐⢈⠀⠂⡀⢂⠠⠀⠂⢀⢠⣴⣿⢿⠟⠋⠉⠉⢉⣽⣿⣿⣾⣿⣿⣥⣄⡀⠈⠉⢛⣶⣿⡿⠏⠀⠀⠀⠄⢀⠂⢀⠁⠀⠂⠀⠂⠌⢀⠀⡁⢀⣶⢿⣿⣾⣿⣧⡀⠀⠄⠐⠀⠡⠀⠄⡈⠄⠂⠐⠠⠈⠄⠂⡁⠠⠈⠀⠄⠂⠠⠁⢂⠀
⢆⠱⢈⠐⠠⠀⠄⠡⠐⠈⡀⠄⢁⠠⠀⠠⠀⠐⢀⣿⣟⡴⠞⠦⣤⠶⣺⠏⣡⡿⠀⣿⢦⠈⠙⡿⠿⣿⡿⣿⡟⠛⠁⠀⡀⠂⠈⠀⡀⠀⠂⠀⠄⢀⡁⠀⠠⠀⠂⢀⣾⢃⡾⠃⠀⣼⣿⡇⠀⡀⠂⢁⠠⠁⡐⢀⠂⠌⠠⠁⡈⠄⢁⠀⠂⠁⠌⡐⠈⠠⠁⠄⠀
⢎⠰⢈⠐⠠⠁⡐⠠⠈⠄⡀⠂⠄⠠⠁⡀⠄⠀⠸⣿⠉⣀⡴⢋⡵⠞⢻⡶⣿⢿⡿⢏⡘⣷⡼⠓⢦⡀⣽⣿⠋⠀⠀⢀⠀⠠⢀⠁⠀⠄⠁⣰⣶⢦⣄⡈⠀⠠⠀⣼⢣⣾⣇⠀⣼⣻⣿⣷⣄⠀⠠⠀⢀⠂⠠⢀⠂⡐⠠⡁⠄⠄⠂⠠⠁⡈⠐⡀⠌⢀⠡⠈⠀
⢎⠰⡈⠐⡀⢁⠀⢂⠡⠀⠄⠡⢈⠀⠂⢀⠀⠐⠀⢻⣿⣭⡖⣋⣠⣾⠟⠁⠀⢿⡇⠀⠙⢳⡙⣦⠀⣿⡽⠃⠀⠄⠂⠀⡀⠂⠄⠈⡀⠀⠀⢹⡻⣾⡿⣿⣷⣄⡀⣿⠏⠁⢻⡞⣿⠟⣩⣿⣿⡄⠐⡀⠠⠐⠀⢂⠐⠈⢀⠠⠀⠂⠄⠡⠐⠀⠡⢀⠐⡀⠂⡁⠀
⡃⢆⠑⠠⠐⡀⠈⠄⡐⠈⡀⠂⠄⡈⠐⡀⠀⡁⠄⠀⠙⠛⠟⠛⠋⠁⠀⢀⠀⠸⣿⣄⣀⣀⣿⣼⡿⠏⠁⠀⡀⠀⠐⠠⠐⠈⠠⠁⠄⢂⠁⠈⢷⡌⣷⣌⣙⢿⢿⡏⠀⠀⢸⡟⢉⣴⠏⢈⣿⡇⠀⠀⠄⠠⠁⠄⠂⢁⠠⠀⠌⠐⠈⠄⠂⢁⠂⠄⠂⠠⠁⠄⠀
⡍⢢⠉⠠⠐⢀⠡⠐⡀⠐⡀⢁⠂⢀⠡⠀⠄⠀⡀⠌⠀⠄⠠⠀⠐⠀⠂⠀⠠⠀⠈⠉⠛⠟⠛⠉⢀⠀⠐⠀⢀⠀⢁⠂⠁⠌⢀⠁⢂⠀⠄⠂⠀⠻⣇⡀⠉⠻⣿⡏⠀⠀⢸⣧⡾⢋⣤⣾⣿⣏⡀⠐⠀⠠⠐⠈⡀⠂⠠⠈⠄⡈⠐⠠⠁⠂⡈⠄⠈⠄⠡⠐⠀
⡑⢂⠌⠠⠁⠂⡀⠂⠄⢁⠀⠂⠌⠀⠄⡁⠂⠐⡀⠄⠠⠀⠄⠠⠀⢂⠐⠈⠀⠄⠁⠂⠈⢀⠀⠠⠀⠀⡀⠐⡀⢈⠀⢂⠡⠈⠄⠐⡀⠈⠀⠄⠁⠀⠙⣷⣀⠀⢈⡇⠀⠀⣼⢋⣴⡿⠋⣸⠿⢼⣿⣆⠈⠀⠄⠂⢀⠁⠂⠡⠐⠀⡁⢂⠁⡐⠠⠈⠐⡈⠐⠠⠀
⡍⢢⢈⠐⠠⠁⠠⢈⠐⡀⢈⠐⠠⠁⢂⠐⡀⠡⢀⠂⡐⠀⠌⢀⠂⠄⢂⠐⡀⠂⠄⡀⢁⠀⠠⠀⠠⠀⠐⠀⡐⠠⠈⠄⠂⡁⠐⠠⠐⠀⡁⠠⠈⠀⢶⡈⡿⢦⡀⣧⠀⢰⣿⣿⣯⡤⢾⣭⣤⠴⢿⣿⠈⠀⠄⠂⠠⠈⠠⢁⠂⢁⠐⠠⢀⠐⠠⠁⢂⠠⢁⠐⠀
⡜⢠⠂⡈⠄⠁⠂⠄⠂⡀⠂⠌⠀⠂⠄⠂⡐⠀⢂⠐⠀⡈⠄⠂⠠⢈⠠⠀⠄⡁⠂⢀⠂⠀⠁⠀⠁⠄⠐⡀⢀⠂⠁⠌⠀⠄⡁⠐⠠⠁⡀⠄⠀⠂⠘⢧⣹⣄⣻⣽⣄⣿⠟⠀⠀⠀⠄⢀⡷⠤⢾⣿⡇⠀⠠⠐⢀⠁⠂⠄⢂⠠⠈⠐⡀⠈⠄⠡⠀⡐⠠⠈⠀
⡜⠠⠒⠀⠌⠠⠁⢂⠐⡀⠐⠠⠁⡈⠄⠒⠀⠌⠀⠄⠂⠄⠂⡁⠐⠠⠐⠈⡀⠄⠁⠄⠐⠈⠀⢄⣶⣶⣄⠀⠂⢈⠐⠀⠌⢀⠐⡈⠄⠐⡀⢀⠂⠠⢀⠀⠁⠉⠛⠛⠿⣷⣾⢟⡓⠒⢺⡛⠶⣤⣼⣿⠃⠀⠁⠄⠠⠈⠐⡈⠀⠄⡈⠐⡀⠁⠌⡀⢡⠀⡠⠁⠀
⡌⠱⢈⠐⠈⠄⠂⠄⢂⠀⡁⠂⢁⠐⢀⠡⠈⠀⠌⠐⠠⠈⡐⠀⡁⢂⠁⢂⠠⠈⠄⠂⠀⡐⢀⣾⣟⡟⣿⡄⠐⠀⠠⠈⡀⠂⠠⢀⠂⠐⠠⢀⠀⠄⠀⠐⠈⠠⠀⠄⠀⠙⠿⠏⠙⠳⢾⣧⣴⣿⡿⠃⠀⡐⠈⢀⠠⠁⠂⠄⠡⠐⢀⠁⠄⢈⠐⢀⠂⠐⠀⡈⠀
⡅⢣⠈⠄⡁⢂⠈⡐⠀⠔⠠⢈⠀⠄⠂⢀⠂⠁⠌⢀⠁⠐⠀⠁⠠⠀⠌⠀⠄⡁⠐⠀⠐⢀⢸⣿⢻⢻⣹⣧⠀⠈⠀⠄⠠⠁⠂⠄⡈⠄⢁⠂⡀⠂⠡⢀⠂⡀⠈⢀⠈⠄⠀⡀⠄⠀⡀⠀⠉⠀⠀⠀⢀⠀⠄⢀⠐⠠⠁⢂⠐⢀⠂⡐⠈⠠⢈⠀⠂⢁⠐⡀⠀
⡜⠠⠌⠐⠠⢀⠂⠠⢁⠂⠁⠄⠈⠠⢈⠠⠀⠡⠀⠂⢀⠈⠄⠂⠁⢀⠠⠈⠀⢀⠐⠈⠀⢀⣼⣿⣾⠈⢧⣿⠀⠠⠁⠀⠂⠄⡁⠂⠄⠐⡀⠂⡀⢁⠂⠄⠠⠐⢁⠂⠈⡀⢀⠀⠀⡐⠀⠐⠀⠈⠀⠀⠂⠀⠄⠂⡈⠄⠂⠄⠂⡀⠂⡐⠈⠠⠀⠂⢁⠀⠂⠄⠀
⡌⢡⠘⠠⢁⠂⠂⡁⠤⠐⠈⠀⠌⠐⡀⠂⠁⠄⠂⠠⠀⣠⣦⣤⣌⡀⠀⢀⠈⠀⡀⠀⢡⣾⣿⢿⣻⠀⢸⣿⡄⠀⠠⠁⢈⠀⠄⡁⠂⡐⠠⠁⡀⠄⠂⢌⠠⠁⠂⢀⠁⠠⠀⠌⠐⠠⠐⠠⠈⠄⡁⠌⠠⢁⠠⢁⠠⠐⠈⠠⠁⡀⠡⠀⠡⢀⠁⠂⠄⡈⠐⢈⠀
⡑⠢⢁⠐⡀⠌⠐⠀⡀⠐⢈⠐⠈⡀⠐⡈⠄⡀⠄⠀⠐⣿⣿⣟⡛⠻⠷⣦⣄⡁⠀⠀⣾⣿⢯⣾⣿⡀⠀⣿⡇⠀⠂⠐⠀⠈⠠⠐⠀⠄⠠⢁⠀⠂⠌⠠⠀⠂⢁⠠⠈⠄⡁⠂⠡⠐⠠⠁⠌⡀⠄⠠⢁⠠⠀⢂⠀⠂⡁⠂⢁⠠⠐⠈⠠⢀⠂⡁⠄⠠⠁⠂⠀
⢣⠑⡈⠐⡀⠌⠐⡀⠄⢁⠠⠈⠐⢀⠡⠀⠄⠀⠐⠈⠀⠙⣿⣦⡭⠿⠶⠦⣽⣻⢶⣄⢻⣿⡻⣯⢿⡇⠀⢸⡇⠀⠀⠂⠈⠀⠄⠂⠁⡈⠐⠀⢂⠁⠂⢁⠈⠄⠂⡀⢂⠐⠠⢀⠡⠈⠄⠂⡐⠠⠀⡁⢂⠠⠈⡀⠌⠐⢀⠁⠂⠠⠈⠄⡁⠠⠐⡀⠄⠡⢈⠐⠀
⠣⢌⠐⠠⠀⠂⡐⠀⠂⠄⡐⢈⠐⠠⠐⢈⠀⠂⢁⠀⠂⡀⠘⣯⢯⠙⠓⠶⢤⣈⡙⢻⣿⣿⠳⣼⡌⣷⠀⢸⡇⠀⢀⣴⡶⠆⢀⠠⠁⠠⢈⠐⡀⠄⢁⠂⢀⠂⡐⠀⠄⡈⠄⠂⠠⠁⢂⠐⢀⠂⠁⡐⠠⠐⢀⠐⠠⠈⡀⠌⡀⠡⠈⠄⡀⢁⠂⠄⠠⠁⠂⠄⠀
⠃⠌⠀⠠⠁⢀⠀⠌⠐⡀⠄⠂⡐⠀⡁⠂⢈⠐⡀⠀⢂⠀⠄⠘⢿⣿⣓⣶⣾⡛⠿⣛⣷⢿⣷⣿⣧⢻⡄⢸⡇⣰⣿⢿⠀⠄⡀⠠⠀⡁⠄⠂⠠⠐⡀⠐⡀⢂⠠⠁⡐⢀⠂⠌⢀⠡⢀⠈⡀⠂⢁⠠⠀⡁⢀⠂⠠⠁⡀⠂⠐⡀⢁⠂⠄⠂⡈⠄⠁⠌⠐⠈⠀
⠠⠀⣶⣶⡆⠀⡀⠂⠐⡀⠄⠡⢀⠂⠄⡁⠂⠠⢀⠡⠀⠂⡐⠀⢠⡿⣿⣡⣈⣉⣷⠛⠋⠓⠻⣿⣿⣯⡇⣸⢻⠟⠁⠀⠀⡀⠀⠄⠐⢀⠐⡈⠄⠂⠠⢁⠠⢀⠂⠐⢀⠂⠄⠂⠄⠂⠄⠐⠠⠁⠂⡐⢈⠀⢂⠠⠁⡐⠀⡁⢂⠀⢂⠐⡀⢂⠐⠈⠠⠈⠄⠡⠀
⠀⠀⢾⣿⡇⠐⠀⡐⠠⠀⠂⡁⠄⡀⠂⠄⢁⠐⠠⠐⢈⠐⠀⠀⢿⢿⣡⣤⠤⠭⠽⠶⣄⣀⡀⠀⣛⣿⣷⣿⠛⠀⠐⠠⠁⢀⠀⠄⡁⠂⠐⠠⠐⠈⡐⠀⠄⠂⡈⠐⡀⠈⠄⠂⡈⠐⡈⢀⠡⠈⠄⠁⠄⠂⠠⢀⠂⠄⠂⠐⡀⠈⠄⢂⠠⠀⠌⠠⠁⠌⡐⠠⠀
⠀⠀⣻⣿⡇⠀⠄⢀⠠⠁⢂⠐⡀⠐⢈⠐⠠⠈⠄⢁⠂⠀⠌⠀⠘⠿⣷⣤⣶⣛⣋⣉⣭⡽⠟⣛⣭⠟⠋⠀⠀⠠⠀⠁⠄⠂⢈⠠⠐⠈⠠⠁⠄⡁⠐⡈⢀⠂⢀⠁⠀⢁⠀⠂⠀⡁⠐⡀⠐⢈⠠⠈⠀⠄⡁⠄⠂⡐⠈⡐⠀⡁⠂⠄⠂⡈⠄⡁⠐⠠⢀⠐⠀
⠀⠀⣽⣿⡅⠐⠀⠂⢀⠂⠄⢂⠠⠐⡀⠌⠐⠈⠐⢀⠠⠐⠀⠐⡀⠀⠀⠈⠉⠉⠉⠁⠀⠀⡀⠉⠁⠀⠄⠂⡁⠂⢁⠈⢀⠂⠄⠂⠄⠁⢂⠡⠀⠄⠡⠀⠄⠀⠂⠀⠁⠠⠀⠄⠁⠠⠁⡀⠌⠀⠄⠂⡁⠂⠠⠐⠠⢀⠂⠄⡁⢀⠂⠌⡀⠄⡐⠠⠈⠐⢀⠈⠀
⠀⠀⣾⣿⡇⢀⠂⠁⠠⠀⠂⠄⠂⠡⠐⠂⠁⠠⠁⠠⢀⠂⡈⠀⢀⠈⠀⠂⠀⠄⠀⠂⠈⠀⠀⠀⠄⠁⢂⠐⠀⡁⠂⠈⠀⠄⡈⠐⠈⡐⠀⢂⠈⢀⠂⠀⠄⠂⠀⢁⣠⣴⣾⣶⡌⠁⠐⢀⠠⠁⠂⡐⠠⠁⠠⢁⠂⠄⠐⠠⠐⠀⡐⠠⢀⠐⢀⠂⠡⢈⠠⠐⠀
⠀⠀⣻⣿⡇⠀⠠⠈⠐⠠⠈⡐⠂⢁⠐⠀⠌⠀⠌⡐⠀⡐⠠⠁⡀⢂⠐⡀⠂⠄⠂⡐⢀⠂⠐⡈⠠⠁⠠⠀⠡⠀⠠⠐⠀⡀⠀⠌⠐⠀⢈⠀⠐⠀⢀⠈⠀⢀⣴⠟⣻⣿⣿⡿⠁⠀⢈⠀⠐⡈⢀⠐⠠⠁⠂⠄⢂⠈⠄⡁⠂⢁⠐⠠⢀⠂⠄⠠⠁⠠⠀⡐⠀
⠀⠀⣿⣿⡇⠐⠀⡐⠈⡀⠁⠄⢁⠀⠂⡈⠄⠈⠄⠐⠠⢀⠡⠐⠀⠄⠂⡀⠌⠠⠁⡀⢂⠈⡁⠄⠁⡀⢡⣶⣶⣶⣦⣤⡀⠀⠄⠠⠀⠐⠀⠠⠀⢨⡀⢀⣰⣿⡤⠖⣛⣿⣿⠃⠀⡀⠂⠀⢂⠐⡀⢈⠐⠠⠁⡐⠀⢂⠐⠀⠡⠀⠌⠐⡀⠐⡈⠠⠈⠄⠐⡀⠀
⠀⠀⢾⣿⡄⠀⠁⢀⠐⠀⠌⡀⠂⠠⢁⠀⠂⡁⠌⠠⠁⡀⠂⠄⠡⢈⠐⠀⡐⠠⢁⠐⢀⠂⢀⠂⠄⠀⠹⣿⡾⣿⣯⣉⣉⣛⣶⣤⡀⢸⡇⠀⠀⣸⢡⡾⠉⣴⠛⣉⣩⣿⣿⡄⠀⢀⠐⠀⠂⠄⡐⠠⠈⠄⠐⡀⠡⠀⡈⠄⠡⠐⠠⠁⡐⠀⠐⡀⠡⢀⠡⢀⠀
⠀⠰⠶⠿⠶⠄⠁⠠⠀⠌⠀⠄⠡⠐⡀⢈⠐⠀⠌⠐⡀⠄⡁⠂⡐⢀⠂⠁⠠⢁⠠⢈⠀⠄⠂⠀⠂⢀⠀⠈⢿⣿⣿⠥⠾⠽⠧⣌⠙⢦⣙⢦⣠⢯⡟⣀⠾⠉⠉⠉⣉⣽⡿⠁⠀⡀⠂⢈⠐⠠⠀⠄⡁⠈⠄⠠⠁⠄⡐⢀⡁⠌⠀⠂⠀⠌⠐⡀⠐⠠⢀⠂⠀
⢀⠠⣼⣾⡗⠀⡀⠁⢀⠂⠡⢈⠐⢀⠐⠠⠈⡐⠈⠄⡀⠂⠄⡁⢀⠂⡐⠈⠐⠠⠐⠀⠂⡀⢂⠐⠈⠀⠐⠀⠀⢻⡿⣷⠴⠒⠛⠉⠙⠒⢮⣷⣿⣿⣾⣭⡶⣶⠿⠿⢿⣍⠀⠀⡀⠀⡐⠀⠌⡀⠡⠐⡀⠡⠐⠠⠁⠄⠄⠂⠄⠐⠈⡀⢁⠂⠡⠐⠈⡀⢂⠐⠀
⠀⡀⢈⣿⡇⠠⠀⠌⢀⠐⡀⢂⠈⡀⠌⠠⠁⠠⠈⠄⡀⢁⠂⠄⠠⠐⠀⠌⡀⢁⠐⡀⠁⠄⡀⠂⠌⠀⠈⡀⠄⠈⠻⠿⣶⣶⣶⣶⣿⣻⡯⢿⣿⣿⡿⣟⣋⠛⢭⣍⣉⣻⣿⣄⠀⠐⠀⡐⠠⢀⠁⡐⠠⠐⢀⠡⠀⠌⠠⠈⡀⠂⢁⠐⡀⠠⠁⢂⠁⡐⢀⠂⠀
⠐⠀⣾⣿⡗⠀⠠⠀⡀⠂⡀⢂⠐⠀⠄⡁⠂⠁⠌⡀⠐⡀⢂⠈⠄⡈⠐⡀⠐⡀⠂⢀⠁⠂⠄⡈⠄⠡⠀⠀⠄⠂⠀⠀⣴⣮⠗⣫⡟⢁⡴⣻⢏⣿⢏⢦⡈⢯⡹⣗⠮⢭⣿⡿⠀⠀⠂⢀⠂⠄⠂⡀⢂⠁⡀⠂⠡⠐⢀⠡⠀⠌⢀⠂⠄⠂⡁⠂⠠⠐⠠⠈⠀
⠀⠈⠛⣻⡃⠀⠁⠄⢀⠁⠄⢂⠈⠐⠠⠐⠈⡐⠠⢀⠁⠄⠂⡀⢂⠠⠁⡀⢂⠐⠈⡀⠌⠐⡀⠄⡈⠐⡀⠁⠠⠐⠀⢸⣿⡷⢚⡽⡷⣹⢩⠗⣻⢸⡎⢧⡹⣄⣳⣤⣽⣾⡿⠁⠀⠂⢁⠀⠌⡀⠂⠐⡀⠐⢀⠁⢂⠐⠠⠐⠈⡀⢂⠐⡀⠂⠄⡁⠂⠄⡁⢂⠀
⠀⠁⢘⣿⡏⠀⠄⠂⠠⠈⢀⠂⡈⠄⠁⠌⠐⢀⠡⢀⠂⠐⠠⠀⠄⠂⡐⠀⠄⡈⠐⠀⠌⡐⠀⡐⠠⠁⠠⠈⠀⠄⠀⡀⢻⣿⣯⣼⣡⣇⡞⣰⡯⠀⠀⢀⠙⢾⣿⣿⠿⠋⠀⢀⠐⠀⢀⠂⠄⢀⠁⠂⠄⠁⠂⠈⠄⡐⠠⠁⢂⠐⢀⠂⠄⡈⠐⡀⠐⠠⠐⡀⠀
⠀⠈⢻⣿⡇⠈⠀⡐⠀⠡⢀⠂⠄⠠⢁⠈⠄⠂⠄⡀⠂⠌⢀⠡⠐⠠⠐⠈⠠⢀⠡⠈⠠⠐⡀⠐⠠⠁⠂⠁⠄⠂⠐⠀⡀⠙⠻⢯⣿⣿⠿⠋⠀⠀⠐⠀⠠⠀⠀⠀⠀⠀⠈⠀⠀⠂⠄⠐⢈⠠⠈⠐⡈⠠⠁⠌⠠⠀⠄⡁⠂⡀⢂⠐⠠⠐⠠⢀⠁⢂⠁⠐⠀
⠀⠐⠳⣿⡇⢀⠂⠄⠈⠄⡀⠂⠌⠀⠄⡈⠐⢈⠀⠄⠐⡀⠂⠄⠂⠁⠄⡁⠂⠄⠂⠈⠄⢁⠠⠈⠄⡁⠠⢁⠂⡈⠄⠁⠄⡀⠂⡀⠀⠀⢀⠠⠀⠂⠀⡀⠁⠀⠂⠀⠀⠂⠁⡀⠡⢈⡐⠈⡀⠠⢀⠁⠄⢂⠈⠠⠁⢂⠐⠠⠁⠠⠀⠌⢀⠂⠡⠀⠌⠠⠈⢀⠂
⠠⠀⠿⢿⡏⠀⠀⠄⢈⠀⠄⠡⢀⠁⠂⠤⠁⠂⡀⠌⠀⠄⡁⢂⠈⡐⠠⠐⠈⡐⠈⠐⡈⠠⢀⠂⡐⠠⠐⠠⡐⠀⠐⠈⡀⢀⠀⡀⠀⠁⠀⡀⢀⠐⠠⠐⢀⠁⢂⠁⠄⡁⢂⠐⠄⠁⡀⠐⢀⠐⡀⠈⠄⠂⠠⠁⠂⠄⠂⢁⠂⠁⠌⡐⠀⠄⠡⢈⢐⠠⠁⠂⠀
⢤⣁⣀⠀⠀⠀⠐⠀⠠⠈⠀⠂⠄⠢⠈⠀⠀⠁⠀⠄⠁⠂⠀⠄⠂⠀⠁⠠⠁⠐⠈⠀⠄⠁⠀⠄⡀⠁⠌⠐⠀⠈⠀⠂⠐⠀⠐⠀⠌⠀⠁⠀⠂⠈⠐⠀⠂⠈⠀⠂⠠⠐⠀⠂⠀⠁⠀⠐⠀⠂⠀⠁⠂⠁⠄⠁⠈⠠⠈⠀⠂⠁⠐⠀⠈⢀⠂⠀⠂⠀⠂⠈⠀

View file

@ -1,39 +0,0 @@
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⡶⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⡿⣸⣿⡀⠀⠀⠀⠀⠀⣠⣴⣶⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⡇⣻⣿⡀⠀⠀⢀⡔⠿⢧⡋⢹⢃⠙⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⡟⠀⢿⣿⡇⠀⣠⡾⠃⠀⡼⠁⣾⠆⠀⣸⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣿⣿⠀⠘⢸⣿⣇⣴⠟⠁⠀⢸⡀⢸⠧⢠⣾⠋⠀⠀⠀⠀⠀⠀⢀⠀⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⠗⠀⠀⠸⢋⡚⢉⡤⣴⠞⢰⠁⡜⢤⣿⠇⠀⠀⠀⠀⠀⠀⡐⠈⡄⢸⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⠁⠀⠀⢰⣯⠀⢫⡌⣿⡆⠘⢰⢳⢸⡇⠀⠀⠀⠀⠀⠀⢰⠈⠂⠀⠈⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⢧⠀⢀⣦⢟⡻⡽⡼⣇⠸⠀⠀⣼⠠⣿⠃⠀⠀⠀⠀⠀⠰⠠⢌⠀⠁⢀⢣⠂⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡿⣝⡄⢾⣿⣌⢻⠥⢓⡯⠀⠂⠀⡏⣷⣿⡀⠀⠀⠀⠀⠀⡅⠡⠂⢌⠀⠠⠈⠄⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡟⣵⢿⣼⣿⣿⣿⡀⢏⠀⠳⡀⠀⠀⣇⢹⣿⣇⠀⠀⠀⠀⢰⠈⡐⠡⠌⠀⠀⠃⠀⠄⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢧⣿⡇⡟⣿⣞⡬⢿⡈⢆⠐⡁⠀⠀⣿⣸⣿⣿⡆⠀⠀⠀⠀⠁⡐⠠⠈⠀⠀⠀⡁⠠⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⡀⠀⠀⠀⠸⡿⡷⡈⢻⣿⣿⣣⠙⡄⠂⠀⢁⠀⢿⣼⣿⡿⠃⠀⠀⠀⠂⠀⠀⠀⠐⠀⠀⠀⠀⠐⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⢀⡤⢶⣶⣿⣉⠛⠯⡹⢿⠉⣦⣄⣀⡙⣽⠱⠈⣿⣿⣿⢷⣄⠠⠁⠂⠀⣾⢸⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂⠀⠀⠀⠀⠀⠀
⠀⠀⣀⡴⠾⠛⡁⠀⢿⣯⡳⠜⡠⠁⠌⠂⠙⣿⡌⣟⣾⣑⢢⢿⡿⣙⠿⣬⢢⠀⠀⠀⠘⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⢀⠴⠧⢶⢶⣶⡿⠁⢈⡉⠣⢬⠁⠀⢀⠀⠀⠈⠏⠠⠌⡳⠭⡜⢔⢫⠞⠴⠃⠀⠀⠀⠸⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠘⢾⢿⣿⣆⣆⠐⠀⠤⣀⠀⠀⠀⠠⠀⠙⢦⡀⠀⠁⠀⠀⠁⢈⠨⠳⣶⡁⢃⠒⠀⠀⠀⢹⣿⠀⠀⠀⠀⢀⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠻⣿⣯⣌⢧⠐⠀⠐⠈⠑⣂⠤⢄⡀⠀⠀⠈⡄⣐⡂⠀⠀⠀⠀⠈⢿⠧⠀⣀⠀⠀⢸⣿⣄⠀⢠⣾⣿⣟⡻⢟⡻⠖⡶⢄⠀⠠⢀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⢻⣻⣬⠻⡖⡄⠀⠄⠡⡀⣉⠒⠂⠉⠐⠀⠀⢄⣉⡙⠳⢶⣶⡤⠤⠳⣆⣀⠰⠀⢸⡿⣻⣦⡟⣿⡛⣮⠱⡃⠐⠠⠀⣿⡄⠐⢀⣤⣶⠾⠋⠉⠀⠀
⠀⠀⠀⠀⣿⣿⡥⠉⣖⡘⢦⡀⡘⢥⣂⠐⡀⠀⠀⠈⠀⠈⠉⠀⠂⠠⠉⣉⠁⠒⠒⠒⠒⡈⣽⣿⣯⡇⠡⡙⠦⡙⠔⡠⢀⠁⣿⣿⡄⠀⠞⠁⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠘⣿⣯⢱⠋⠈⠣⣛⣉⣁⣈⡅⣠⠘⠶⠳⣶⠖⠐⠒⡤⡥⠥⣤⢦⡥⣤⢤⠤⢄⡿⠻⠓⠛⠄⠈⠱⠈⢐⠀⠦⣽⣻⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠘⠯⣴⣦⣶⣾⣿⡿⣽⣳⢾⣥⣌⣆⡠⠀⣀⠀⠁⠈⠉⢉⣉⠛⠙⠒⠒⠒⠉⡅⡐⠀⠀⠰⡤⣀⠀⠀⢈⠤⢳⢶⢹⣿⣿⣆⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠿⣿⣿⣧⢏⠾⡼⠯⠽⠿⢛⢉⣤⣶⣾⡭⠭⠖⠒⠒⠒⢈⡁⠄⣡⠊⠠⠀⠐⠁⠲⡤⣀⠮⡜⡣⢎⡱⢾⣭⡻⣷⣦⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠁⠎⠾⠱⣿⠾⣟⡵⣿⠟⠋⢀⠠⠀⣀⠨⠔⠊⠁⠀⣰⡿⠀⠀⢄⡤⣼⣷⠏⡀⢭⡲⢍⣣⠆⣓⠺⣽⣾⡻⣷⡄⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⠶⣏⠱⠇⠠⢀⣐⡥⠖⢋⡀⠀⠀⠀⢀⡿⢁⣾⣶⣟⣮⣽⣿⣿⣿⣦⡁⠪⢍⡒⠩⣑⣻⡴⣯⣝⣻⣿⣆⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠙⠻⠛⠀⠀⠻⣩⣿⣷⣏⠍⠀⠀⠀⠀⢀⣼⣿⡟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣽⡦⢵⣧⢛⡭⢳⠶⣿⣼⣿⠄
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣶⣾⠓⡀⠐⢠⣿⣿⣿⣿⣧⠄⠀⠀⢀⢬⣿⣿⡿⠃⠙⢿⣿⣿⣿⣿⣿⣿⣿⣿⡿⡿⠿⢦⣭⣿⡬⢿⣿⣿⠿⠃⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣼⣭⣥⠒⠀⠁⢸⣿⣿⣿⠟⡹⡄⣐⠀⢮⣿⣿⣿⠀⠀⠀⠀⠙⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠓⠋⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣮⠉⠄⠉⢀⣤⣾⣿⣿⠯⡕⡜⣐⠈⣜⣾⢻⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⣧⠠⡤⢌⣾⣿⣿⣿⣿⡟⡝⡁⣊⠳⢻⢹⢸⡟⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⠀⠷⣸⣿⣿⣿⣿⣯⢞⠕⣈⠙⣶⠹⣤⢳⣿⣯⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠃⠈⢻⣿⣿⣿⣿⡣⢌⢰⠀⢷⡹⢴⣧⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠿⠀⠀⣼⣹⣿⢨⣿⣿⣭⡁⠠⢸⣇⠺⢿⡟⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⡀⠀⠀⢹⣷⢿⣾⡿⣿⡿⢁⠘⢸⠘⠘⣾⡑⠛⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠣⠀⢠⡜⠁⠘⢿⣳⣿⣹⠄⠘⠈⠂⠁⢚⠄⠘⣜⢆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢿⣿⣧⠜⡘⠀⠘⠀⠀⠄⠀⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠻⣿⣴⡀⠂⢡⠀⠀⠀⢿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠹⣷⡄⠂⢆⠀⠀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠀⠘⡆⢰⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣧⡟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀

View file

@ -1,42 +0,0 @@
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢳⠀⠀⠀⠀⢢⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢘⡄⠀⠀⠀⠀⢃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠃⠀⠀⠀⠀⢨⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡸⠀⠀⠀⠀⠀⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⢁⠂⠀⠀⠀⠀⠀⢠⣆⠀⠀⠀⠀⠀⢀⠔⠉⠠⠉⠰⡘⢠⠍⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⣰⠎⠀⠀⠀⠀⠀⠀⠈⠁⠀⠀⠀⠀⠀⠎⠀⠀⠀⠁⠀⢯⢄⠴⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠺⠆⠈⠃⣮⡁⠀⠀⠀⢀⡞⢀⠀⠀⠀⠀⠀⠯⠇⠀⡀⠀⠀⠀⠸⡧⢛⠩⠑⡀⢠⣸⠀⡠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠟⠀⣸⡷⠀⠀⠀⡼⠀⠀⢡⠀⠀⣤⣤⠀⠀⠨⣿⠆⠀⠀⠀⠑⠤⠤⠜⠁⢰⠃⠐⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠘⣗⠀⠀⠠⡇⠀⠀⢸⠀⣠⠌⠉⠀⠀⠀⠀⠀⠀⠾⠀⠀⠀⠀⠀⡂⡞⠄⡸⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠘⠋⠀⠶⡀⠀⠀⠀⠀⢻⡄⠀⠀⢗⡀⠀⣸⠀⠰⡲⠀⠿⠀⠀⠀⣴⡵⠀⠀⠀⠀⠀⢐⡜⡀⣁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠸⠆⠠⣶⠀⠠⠶⠠⣦⠈⢳⣠⠀⠈⣆⠀⡯⠀⠀⣦⠀⡈⢀⣤⡄⠀⠀⠀⠀⠀⠀⢠⠞⠊⠀⠀⠈⠳⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⡆⠀⠀⢀⣤⡀⢖⡄⠀⠀⠀⠀⠹⣆⡀⠙⡂⢰⡀⠀⠀⣠⣷⣆⠉⠐⠀⠻⠗⠀⠀⡰⠋⢀⡔⠀⢲⡀⠀⣏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠐⢷⣀⠀⠈⠋⠀⣀⠀⠀⠀⠀⣁⡐⢈⡳⡂⠹⡄⢧⢂⣸⠹⢋⢠⢣⢳⣠⠀⠀⣡⠎⠀⠀⠘⣧⢒⠘⢀⡠⠋⢀⡀⣀⡄⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠘⣿⢦⡀⠀⠀⠘⠁⠀⠠⢸⣿⡍⠻⠒⢿⣦⠹⡄⢻⡟⠀⠘⡀⠘⣠⡣⣠⠞⠁⠀⠀⠀⠀⢈⠈⢉⠁⠀⠀⠈⢁⠙⠁⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠘⠶⡼⣕⠲⠦⢤⣀⣀⠘⢿⡵⡂⠀⠀⠉⠑⢎⣿⠁⠀⠀⠀⡆⣿⢾⡫⠠⣀⣤⡴⠿⢛⠿⡿⣿⠆⠀⣀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⢶⣬⡳⣲⠢⣍⢳⡀⣷⠁⠀⡀⠀⠀⠄⢿⡀⠀⠀⠠⠁⣿⢽⣴⠿⠛⠁⠀⠈⠀⣰⡷⢁⠔⡪⠂⠐⢀⣨⠖⠂⠉⠉⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠍⠉⢛⠳⢔⣧⠘⣧⠀⢄⠀⡀⠀⠚⡷⠁⠀⠀⣰⣿⠏⠑⠠⠀⠀⠀⠠⣪⢟⣴⣗⣁⠦⠴⠛⣉⢀⡀⢤⡀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢀⡠⢴⡲⣞⢲⣒⡲⢤⡤⢬⢆⡙⠷⡌⠳⣄⠂⠀⠀⠂⠶⡄⢠⣆⡿⠁⠀⠀⠀⢠⠔⠈⡡⢃⠊⠔⠀⠁⠐⠊⠽⣂⠉⠈⠑⠨⡺⡄⡀⠀
⠀⠀⠀⠀⠀⢠⠜⣃⣨⡧⡽⠞⠙⠓⠚⠑⠘⠚⠓⠤⡵⢠⣛⡲⣦⡀⢤⡔⣷⡜⣿⣡⡀⠐⠀⢀⢨⣠⣖⣑⠚⠶⢶⡶⢖⡤⠤⣄⠉⠐⠂⠐⠂⠓⠳⣅⠀
⠀⠀⠀⠀⣠⣿⠲⠋⠁⠀⢀⡤⣲⠲⠆⢶⠻⠖⢚⡴⠞⠉⠈⠀⠍⠻⣛⢯⣽⣻⡣⠯⠴⣶⠍⠉⠉⠀⠊⠉⠉⢟⣶⣌⡳⣬⡛⣦⠝⡄⠀⠀⠀⠀⠀⠀⠑
⢀⣀⠤⠞⠋⠁⠀⠀⢀⠔⠃⡡⠴⣱⠖⠉⠠⣰⣏⡤⠊⡀⠚⢁⠀⠐⣴⢯⣭⣾⢮⢮⡹⢶⠆⠀⠐⢀⠀⠈⠀⢢⣘⡹⣿⣿⡝⢶⣽⢻⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⡠⠋⣤⣪⡴⠋⠁⠀⠠⣺⣿⠝⣀⢀⡠⢉⣀⣠⣦⣴⠿⢻⠃⠡⠁⢌⠢⡂⠴⢄⠠⠤⠄⠴⠦⣔⣺⣿⣯⡙⠆⢻⣾⠀⠀⠀⢠⠀⠀⠀
⠀⠀⠀⠀⣀⣴⣿⡿⠞⠋⠁⠀⠀⠐⠑⠀⣿⣯⣴⢾⢿⣿⢿⣿⣿⢿⠏⠠⠁⡐⠀⡀⠰⠌⢷⣦⣶⡧⣤⡶⠚⢛⢛⠋⢩⢲⠀⠀⢸⡇⠀⠀⣀⡀⠃⠀⠀
⠀⠈⠉⠋⠉⠉⠀⠀⠀⠀⠀⠀⠀⢨⡴⢇⣧⡁⠒⠛⠹⣹⡿⢋⢿⣾⡇⣘⡀⠄⠀⠄⠁⡚⠼⢟⠮⣿⡹⢺⣧⣛⢊⢁⣀⠁⠸⠛⠜⣀⠀⢀⡉⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⡏⠘⢇⢸⠏⠀⣬⡾⣿⣹⢛⣦⣾⢿⣌⢇⡘⠄⠘⡀⣷⣿⣃⠀⠈⠳⣏⣀⠙⡲⣌⠋⠉⣎⠆⠀⣉⡴⠊⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠙⠃⠀⠞⠂⠀⠀⢻⣆⣀⣀⡠⣾⡟⠀⡀⠿⢦⡙⢫⢼⢟⣾⣶⢣⣰⢿⣾⠟⠈⠹⢦⡀⠙⣮⢥⠀⠨⡳⣜⠁⡖⢆⠲⠃⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠠⣾⡇⠀⠀⠀⠀⠈⠉⠉⣸⡟⢀⢙⠋⠀⢈⣁⡘⠛⠐⠹⣻⣿⢿⣿⠏⠀⠀⠀⠠⢿⡀⢈⢧⠓⠀⠘⠝⣷⣌⠁⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⡀⣿⠁⡀⠀⠀⠀⠈⠋⠂⠀⠀⠀⠁⠙⠹⠘⠀⠀⠀⠀⠀⠙⡇⠀⢹⣧⠀⠀⠈⢌⣿⡆⢃⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣌⡁⣷⠉⠤⠤⢠⡴⠶⣶⣤⠀⠀⠀⠀⠀⠀⠀⠀⢲⠆⣤⡟⠀⡇⠀⢈⢻⡄⠀⠀⠀⢻⣷⡜⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣷⢻⡀⠀⠢⢺⣩⡇⠀⢹⡆⠀⠀⠀⠀⠀⠀⠀⠐⢆⡉⠡⠞⠀⠀⠘⣸⡇⠀⠀⠀⠀⣿⣱⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⡼⠳⣤⣀⠄⣂⣀⡤⠚⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡇⠀⠀⠀⢰⣿⡇⠆⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠁⢏⠨⣯⠉⠹⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠁⠀⠀⠀⢸⣿⠄⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣾⠋⠀⠀⠀⠀⣾⡿⠌⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⠇⠀⠀⠀⠀⠀⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠖⠉⠀⠀⠀⠀⠀⢀⣾⣿⠂⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⡿⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⢤⣾⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢤⣤⣶⡿⠞⠟⠊⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀

View file

@ -1,13 +0,0 @@
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣖⡀⢢⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠃⢨⠃⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⠊⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⠊⢀⣀⣀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⢎⡰⠊⠉⠀⠉⠑⡆⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡞⡉⠑⡆⠀⡎⡌⠀⠀⢰⡾⠂⠀⡄⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠿⠇⢠⣏⡐⠓⢇⠀⡀⠈⡓⠒⠊⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡠⠼⣸⠀⠀⢸⠊⠀⠀⠰⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡠⠔⠒⢎⠀⠀⡘⠆⣁⡇⢆⣡⠴⠥⢄⡀⠀⠀
⠀⢀⡀⠀⡀⠀⠀⠀⢠⠎⠀⣀⠤⣾⠷⠦⢼⢿⣉⡳⣋⡤⠀⠀⢀⡇⠀⠀
⢠⡎⠀⣠⢈⡆⠀⠀⡆⡠⠊⠀⢰⠁⠀⠈⡰⢺⠉⡏⠂⠉⢲⠖⠛⠲⢄⡀
⠘⢇⡀⠙⠋⠀⢀⡠⢏⠁⢴⣆⠈⠒⠶⢲⠁⠈⢀⣇⠀⠀⣸⢃⡴⠆⢀⡇
⠀⠈⠙⠒⠶⠖⠋⠁⠈⠐⠚⠁⠀⠀⠀⠘⠦⠤⠊⠀⠉⠉⠁⠀⠑⠒⠊⠀

View file

@ -1,17 +0,0 @@
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠤⠒⠒⠢⢄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⢟⣇⠤⠒⠂⠤⡀⠀⢰⠃⠀⠀⣀⠄⠀⢣⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠞⠁⠀⠀⠀⠀⠈⢆⢺⠀⠀⠀⠣⣀⣀⡼⢤⣶⣶⣶⣤⣤⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣸⡀⠀⢀⣴⣤⠀⡜⠘⢆⣠⠴⠋⣩⣴⡾⢟⣿⣿⣿⣿⣶⣾⣭⣝⡶⣄⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣤⠀⢸⣿⠃⠀⠀⣠⡼⠣⣤⣿⣿⣛⠤⠛⣿⣿⡿⣻⣿⣟⡿⠿⣿⣘⣿⡀⠀⠀⠀⠀
⠀⠀⠀⠀⢀⣠⣴⣶⣶⣿⣿⣯⣶⣶⣄⣀⠀⠀⠀⠀⠀⠀⠀⠐⠀⠀⢀⠀⠀⠀⠈⢺⣻⣄⠀⠻⣄⣀⣴⣋⢔⢪⡶⠛⠀⢑⣲⢶⣿⣿⠾⠛⢡⠁⠀⠰⢿⣿⣿⡽⡆⠀⠀⠀
⠀⠀⣠⣾⡿⠛⣿⡿⣿⣿⡯⠭⣍⣛⠷⣿⣧⢀⣶⡿⠲⡀⢀⣤⣪⠭⠭⣉⠑⠢⡀⠀⠉⠚⠭⣶⢶⡞⠁⢁⣴⢻⠀⠀⢰⠁⠀⠉⢆⠀⠀⣀⠤⣁⠀⢰⣁⡈⠙⢿⢻⠀⠀⠀
⠠⠊⠉⠉⠁⠈⢉⢼⣿⠏⣴⡄⠀⠈⠙⠯⣿⣷⠁⢀⣷⢡⡾⠋⠐⢀⡀⠈⢳⠀⢱⠀⠀⢠⣾⡟⡏⣇⣴⢟⣡⠼⡀⠀⠀⠁⠀⠀⡸⡰⠉⢀⣆⡤⢷⠼⡟⠋⠀⠸⡼⠀⠀⠀
⠀⠀⠀⠀⠀⢀⡇⢸⠉⠉⠉⠐⣦⣄⠀⠀⠈⢿⣧⡸⣿⢸⠃⠀⠀⠘⠯⠤⠋⣴⡽⠀⠀⠎⠁⣸⣼⢟⠁⠈⠀⠀⡹⠢⢄⣀⡠⠔⠁⡇⠀⠀⡟⠻⡷⣦⠇⠀⠀⢠⢧⠠⣾⣦
⠀⠀⠀⠀⣀⠸⡂⠀⠉⠈⠀⠀⠈⠫⡄⠀⠀⠀⠘⢳⣽⣾⡆⠀⠀⠀⠀⠀⠱⠋⠀⠀⣠⣴⣾⣟⠁⣨⣖⠤⠤⣲⠥⣤⠤⣀⠀⠀⠀⠳⣄⠀⠑⢄⡀⠀⠀⢀⡴⢳⣣⠑⠛⠉
⠀⠀⠀⠈⠿⠛⠣⡀⠀⠀⠀⠀⠀⢠⠃⠀⠀⠀⠀⠀⠈⠿⣟⣦⡀⠑⠦⣴⣶⡾⣶⣿⠟⡏⣾⣿⣦⡤⠜⠀⣼⠁⢀⡿⠀⠀⠱⡄⠀⠀⠈⠓⠲⠤⠬⠟⠛⠉⠀⢺⡟⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠈⠢⠤⠤⠤⠖⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⡉⠟⠻⠶⠞⠖⠛⠭⠠⣾⣷⠋⣿⣿⠟⣁⡠⠎⠢⠤⠝⠀⠀⠀⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠃⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠐⠀⠀⠀⠀⠀⠀⠀⢠⡟⠁⠀⢻⡝⡟⣶⣦⣶⣦⣤⠀⠀⠀⢠⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⡀⡀⡘⣷⡬⠢⣑⠀⠀⠈⠑⢄⡠⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡁⠀⠁⠈⠀⠁⡨⠊⠉⠁⠂⢼⣵⠀⠀⠉⠁⠂⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂⡀⠀⠀⠀⠇⠀⠀⠀⠀⢾⢿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠈⠢⢄⣀⡴⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀

View file

@ -1,13 +0,0 @@
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⠟⠹⣧⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⣷⣦⣄⣠⣿⠃⢠⣄⠈⢻⣆⣠⣴⡞⡆⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⢀⣀⣀⣿⠀⠈⢻⣇⢀⣾⢟⡄⣸⡿⠋⠀⡇⣇⣀⣀⠀⠀⠀⠀⠀
⠀⣤⣤⣤⣀⣱⢻⠚⠻⣧⣀⠀⢹⡿⠃⠈⢻⣟⠀⢀⣤⠧⠓⣹⣟⣀⣤⣤⣤⡀
⠀⠈⠻⣧⠉⠛⣽⠀⠀⠀⠙⣷⡿⠁⠀⠀⠀⢻⣶⠛⠁⠀⠀⡟⠟⠉⣵⡟⠁⠀
⠀⠀⠀⠹⣧⡀⠏⡇⠀⠀⠀⣿⠁⠀⠀⠀⠀⠀⣿⡄⠀⠀⢠⢷⠀⣼⡟⠀⠀⠀
⠀⠀⠀⠀⠙⣟⢼⡹⡄⠀⠀⣿⡄⠀⠀⠀⠀⢀⣿⡇⠀⢀⣞⣦⢾⠟⠀⠀⠀⠀
⠀⠠⢶⣿⣛⠛⢒⣭⢻⣶⣤⣹⣿⣤⣀⣀⣠⣾⣟⣠⣔⡛⢫⣐⠛⢛⣻⣶⠆⠀
⠀⠀⠀⠉⣻⡽⠛⠉⠁⠀⠉⢙⣿⠖⠒⠛⠻⣿⡋⠉⠁⠈⠉⠙⢿⣿⠉⠀⠀⠀
⠀⠀⠀⠸⠿⠷⠒⣦⣤⣴⣶⢿⣿⡀⠀⠀⠀⣽⡿⢷⣦⠤⢤⡖⠶⠿⠧⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠛⢿⣦⣴⡾⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀

View file

@ -1,37 +0,0 @@
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣤⠴⢤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⢾⣛⡆⠈⡏⠰⠶⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢦⣿⣄⣉⣁⣤⠽⣦⣤⡶⠶⣤⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠚⠹⡉⢃⣴⠟⠉⠀⠀⠀⠀⠉⠻⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣤⢡⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠈⢷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡂⣿⡇⠀⠀⠀⠀⣠⣤⣀⠀⠀⠀⠘⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⢻⣷⠀⠀⠀⠀⢯⡉⣿⡆⠀⠀⣰⡇⠀⢀⣀⢤⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢿⣧⣀⠀⠀⢀⣴⡟⠀⠀⣰⣿⡷⢏⡭⠔⠹⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠛⠿⠿⠟⠋⠀⢀⣼⣿⣿⣿⠿⣭⡉⢛⡃⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⣀⣤⠶⠿⣟⣟⣝⡷⣲⢤⣀⠀⠀⠀⠀⠀⠀⢠⠀⠀⠀⠀⠀⠀⣠⣾⡿⠃⠹⡟⢖⠢⠽⠦⠁⠀⠀⠀⠀⠀⠀⠀
⠀⠀⢀⣴⠞⠁⠀⠀⠀⠀⠀⠉⠙⢦⣕⡯⣷⣄⠀⠀⠠⣴⠋⢓⡶⠂⠀⢀⣼⣿⠟⠁⠀⠀⠈⠺⡄⠋⣀⣰⣀⠀⠀⠀⠀⠀⠀
⠀⣠⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢯⣒⢭⣦⠀⠀⢸⠕⠦⠇⠀⣤⣿⡿⠃⣠⠴⠶⠶⣤⡀⠀⠀⠼⠿⡏⠀⠀⠀⠀⠀⠀
⢀⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣝⡫⢧⠀⠀⠀⠀⣠⣾⡿⠉⠀⢸⠁⢀⣀⠀⠈⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣼⠁⠀⠀⠀⠀⣠⣶⣿⣿⣷⣦⡀⠀⠀⠀⠀⠙⡮⣛⡆⠀⠀⣰⣿⡏⢐⡀⠀⠸⣦⣀⣨⠇⠒⣸⣀⣀⣄⣀⡀⠀⠀⠀⠀⠀⠀
⢹⠆⠀⠀⠀⢠⣿⡿⠃⠀⠀⠉⢻⡄⠀⠀⠀⠀⠙⣗⢿⠀⣸⡟⡙⢷⡈⢠⠀⡀⠈⠉⣁⠘⣠⠟⠉⠉⠙⢿⣿⡆⠀⠀⠀⠀⠀
⠘⣇⠀⠀⠀⠈⢿⡇⠀⢲⠀⠀⠀⢻⡀⠀⢤⣴⡀⠹⣽⣴⡿⣁⠀⠈⠻⣦⣤⣥⣌⣡⡤⠞⠁⠀⣰⠛⠆⣸⣿⡇⠀⠀⠀⠀⠀
⠀⢻⡄⠀⠀⠀⠀⠉⠙⠉⠀⠀⠀⢸⠀⠀⠚⠻⠁⠀⢿⣿⢣⢀⡤⠶⠲⢮⣍⡉⠉⠁⠀⣤⠀⠀⠘⢿⣿⡿⠏⠀⠀⠀⠀⠀⠀
⠀⠀⢻⣄⠀⠀⠀⠀⠀⠀⠀⠀⣰⠋⠀⡀⠀⠀⠀⠀⢸⣿⣰⠏⢀⡴⢶⡄⢸⡇⠀⢖⠚⠉⠓⣲⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠙⠷⣦⣄⣀⣀⣠⣴⠾⠁⠀⢰⣕⢲⣪⡉⠅⣾⣿⡟⠀⠈⠳⠭⠵⠋⠀⠀⣼⣁⢄⣸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠉⠉⠉⠉⠀⠀⠀⢤⡼⠉⢹⡣⣉⠀⣿⣿⡇⠀⠀⢠⣴⠶⢦⡀⠀⠁⠀⠀⣙⡂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡔⠟⡛⡀⡆⣿⡟⣷⠀⠀⣿⣇⣲⠈⡿⢀⣴⣾⣿⠿⠿⣿⣷⣦⡀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⢰⡀⡷⣰⣇⡴⠠⠜⠀⠀⠀⠀⣿⡇⡘⣷⣄⠀⠙⣉⠞⢡⣿⡟⠁⠀⠀⠀⠀⠈⠻⣿⣆⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠠⣤⣯⣷⣧⠿⠵⠶⠶⣤⣄⡀⠀⢻⣇⠡⡌⠻⣏⠉⠁⠀⢺⣿⠀⠀⢀⣶⣶⣤⠀⠀⠘⣿⡀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠠⢾⡿⡋⠗⠈⠃⠈⠁⠰⠉⡻⢶⣜⣿⢘⠂⣠⣌⣷⡀⠀⢸⣿⡆⠀⠈⠧⠄⢸⡇⠀⠀⣹⠇⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⣰⠏⠄⠁⠀⠀⠀⠀⠀⠀⠀⠁⠈⠙⢿⣏⠰⡏⣬⣿⢻⡀⠀⠻⣿⣄⠀⠀⣠⠞⠀⠀⢠⡟⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢰⡏⠴⠀⠀⠀⠀⢀⣠⣀⣀⠀⠀⠀⠀⠈⢻⣧⡙⢦⣤⡾⠁⠀⠀⠈⠙⠛⠋⠁⠀⠀⣠⡞⠁⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠸⢿⡀⠀⠀⠀⣰⠋⠁⠀⠉⠙⢦⠀⠀⠀⠀⢻⣟⢦⣄⡀⠀⠀⠀⠀⠀⠀⠀⣀⣤⠾⠋⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢹⡹⣇⠀⠀⠘⡇⠀⠀⠖⡆⠀⠘⣧⠀⠀⠀⠀⠻⣎⢿⠹⠳⢲⡲⢶⠶⠾⠛⠉⣁⣠⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠸⣎⡹⣧⡀⠀⠻⣦⣤⠴⠃⠀⢰⠏⠀⣤⣀⣴⠀⠙⣧⡱⡀⢠⡾⢟⣛⡓⣆⠀⠿⣿⠛⠁⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠱⣊⠜⣻⣶⣄⣀⠀⠀⠀⣀⠟⠠⣔⣊⠁⣶⣄⠀⠈⢷⣅⢸⠅⢸⣓⣃⣼⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠙⢮⡞⡜⡝⡝⡟⡯⠟⠁⠀⠀⠀⠈⠿⠀⠀⠀⠀⠀⠹⣶⡳⢤⣹⣯⡥⠴⠶⠶⠦⣄⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣤⣤⣀⠀⠈⠻⣦⡀⠀⠀⡞⣙⣷⠀⢈⡆⠀⠀⣀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⠏⣤⢈⣿⠀⠀⠀⠈⠳⣄⠈⣷⣈⣉⣠⡼⢡⡾⠛⠉⠙⢳⡀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣄⠈⠉⠁⢀⣀⣤⣶⣶⣾⣷⣌⠙⠋⠁⠀⣿⠀⢤⡀⠀⠀⣷
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠻⠿⠛⠛⠉⠁⡼⠋⢠⠨⠍⡳⢄⡀⠀⠘⠻⠛⠁⠀⣰⡿
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡇⣔⡒⡞⡀⠁⠰⠙⡲⢦⣤⣤⣤⣾⠿⠁
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠑⠺⠞⠧⠁⠀⠀⠀⠁⠐⠉⠉⠉⠀⠀⠀

View file

@ -1,17 +0,0 @@
⠀⠀⠀⠀⠀⢀⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⣸⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⢠⡟⠘⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⢰⡟⠀⠀⠈⠻⣷⣤⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⣠⡟⠀⠀⠀⠀⠀⠈⢻⡿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⣰⡟⠀⠀⠀⠀⠀⠀⠀⠀⠻⠸⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⢰⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣇⠀⣠⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⠀⠀⠀⠀⠀⠀⠀
⣾⡁⢀⣠⠴⠒⠲⣤⣠⠶⠋⠳⣤⣸⣿⣰⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀
⣿⠟⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⣽⠏⣿⡿⢿⣿⣿⣿⣷⣄⠀⠀⠀⠀⢠⣾⣿⣿⣿⠋⢹⡇⠀⠀⠀⠀⠀⠀
⢹⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⡟⠀⣿⠁⠀⠙⣿⡛⠛⢿⡶⠶⠶⠶⣿⣄⣀⣰⠃⠀⢸⡇⠀⠀⠀⠀⠀⠀
⠈⢷⡀⠀⠀⠀⠀⠀⠀⠀⠀⢰⡿⠁⠀⣿⠀⠀⠀⠈⢷⡀⠘⠛⠀⠀⠀⠀⠈⠉⠳⣄⠀⢸⡇⠀⠀⠀⠀⠀⠀
⠀⠈⢿⣦⡀⠀⠀⠀⠀⠀⢀⣿⣇⣀⠀⢻⠀⠀⠀⠀⢰⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠳⣾⠃⠀⣤⣤⣄⠀⠀
⠀⠀⠀⠉⠻⢶⣄⣠⣴⠞⠛⠉⠉⠙⠻⢾⣇⠀⢀⣰⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡄⠀⣿⢩⡿⣿⡆
⠀⠀⠀⠀⣠⣴⠟⠉⠀⠀⠀⠀⠀⠀⠀⠀⢹⡷⠞⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡇⠀⣿⣟⣵⡿⠁
⠀⢀⣠⡾⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣇⠀⠀⠀⣴⣿⠀⠀⠀⠀⠀⠀⢠⣶⠀⠀⣸⡇⠀⠙⠋⠁⠀⠀
⢸⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣄⣈⣀⣙⣁⠀⠀⣶⣾⡶⠀⠻⠿⠀⢠⣿⣁⡀⠀⠀⠀⠀⠀
⠈⠛⠻⠿⠶⠶⠶⡤⣤⣤⣤⣄⣀⣤⣀⣠⣤⣀⣀⣹⣿⣿⣿⣿⣤⣽⣿⣴⣶⣶⡦⢼⣿⣿⣿⣿⠇⠀⠀⠀⠀

View file

@ -1,25 +0,0 @@
⠀⠀⠀⠀⢀⡴⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⡟⠱⣧⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⢾⠃⠀⠻⡢⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⢿⠁⠀⣯⡀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠰⡇⠀⠀⠀⢹⣾⣦⡀⠀⠀⠀⠀⠀⠀⠀⣠⣾⠀⠀⠀⠀⣠⣾⡿⠁⡇⠀⠀⢸⠇⠀⠀⠀⠀⠀⠀
⠀⠀⠀⣤⠁⠀⠀⠀⠀⢫⠻⣮⣦⡀⠀⠀⠀⢀⣴⣎⡞⣤⣴⣦⣻⠟⢗⣒⠠⣇⡀⠀⠈⡄⠀⠀⠀⠀⠀⠀
⠀⠀⠀⣿⠀⠀⠀⠀⠀⠏⣇⠈⠻⣿⣦⣀⣴⣿⣿⣾⡷⢿⣛⣃⡭⣅⣰⣶⢻⠋⠀⠀⠀⣧⠀⠀⠀⠀⠀⠀
⠀⠀⠀⣿⠀⠀⡀⠀⠀⢸⢸⠀⠀⠙⠟⢷⣿⣿⣿⣿⣿⡟⣛⣛⠋⣿⣫⣭⠉⠒⠦⡀⠀⡟⠀⠀⠀⠀⠀⠀
⠀⠀⠀⣿⠀⠀⢡⠀⠠⠀⠿⡄⠀⠀⠀⠀⠙⠻⣿⣿⣿⣿⣋⠉⢛⡽⠛⠵⣄⠔⠳⣌⢦⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠿⠀⠀⢃⢆⠀⢳⠄⣇⠀⠀⢀⡠⠀⠀⠈⠻⢿⣞⣋⢙⣥⣴⣆⣛⣺⣧⣀⣿⣿⣀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⢠⣇⠀⠀⢾⣦⡀⢡⢧⢶⣶⠃⠀⠀⠀⠀⠀⠀⠙⠻⣿⣾⣿⣿⣿⣿⣿⠿⢿⣿⣿⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠈⣽⣦⡀⠁⠓⢔⡀⢸⡿⠇⠀⠀⣠⡴⠾⠛⢻⠄⠀⠈⠫⠻⡿⣿⠿⡇⢀⣼⡝⠈⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠹⢇⠙⠲⠤⠄⢉⡞⠀⠀⠀⡴⠋⠀⣀⣀⠘⡀⢰⢴⡇⠀⣰⣶⣎⣿⣿⣯⡿⠇⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⣽⣿⢒⣤⣤⡀⢸⠀⠀⠀⠀⢀⣴⣿⣿⣟⠻⣇⡸⠀⢱⣠⣿⣋⢻⢿⡿⣿⢽⡄⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⢵⣿⣿⣿⠶⣶⣾⠀⠀⠀⢠⣾⢿⣿⣷⡲⠀⢧⠃⠀⠀⠻⡿⡟⢸⢿⢿⣽⣷⡿⡂⠀⠀⠀⠀⠀
⠀⠀⠀⠀⢀⣵⣟⣏⡩⠟⠇⠉⠉⠀⠚⢇⣫⣛⡻⠃⠀⢸⠠⠒⠀⠀⠫⢔⡁⠈⢳⡀⠙⢷⣄⠀⠀⠀⠀⠀
⠀⠀⠀⠀⢾⣟⣭⠊⠀⠀⢁⠀⠀⠀⠀⠀⠀⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⣀⣈⣉⣒⠳⡠⠀⢻⠆⠀⠀⠀⠀
⠀⠀⠀⢰⣯⣮⢇⠖⠠⠄⠸⡀⠀⠀⠀⠀⠀⠀⠀⠤⡀⠀⠀⠀⠀⢠⣮⣥⣴⣶⣾⠇⢸⠳⣚⠇⠀⠀⠀⠀
⠀⠀⠀⢸⣏⡤⡾⣶⢚⠤⠊⠱⣄⠀⠀⠀⠀⠀⠀⠀⠘⢆⠀⠀⢀⡀⠙⠛⠿⡿⢋⢀⡼⠀⢹⡃⠀⠀⠀⠀
⠀⠀⠀⠀⠉⠁⣿⣹⡏⠀⠀⡠⠁⢗⠤⣀⠀⠀⠀⠀⠀⠈⠳⣤⣀⣈⣀⠤⠴⡥⢤⣼⠶⠝⠛⠁⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠛⠲⠶⠆⠈⠛⢻⡟⣿⣿⠿⣷⣶⣤⣄⣀⠀⠈⠪⣊⢉⡠⢟⣴⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡰⣶⢖⡇⢙⢿⠁⠠⢙⡻⢿⣿⣟⠷⢶⣤⣤⠲⠙⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⣀⢠⣜⠿⢿⣋⠀⠀⡆⠀⠀⠀⠘⠳⠋⠊⠁⢻⠿⡧⣖⣠⡄⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⢀⣄⢶⠷⠟⠋⠀⠀⠀⠀⢘⡗⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢛⣏⡈⡽⠛⠿⢫⡶⣤⡀⠀⠀⠀⠀
⠀⢀⣶⡯⠛⠋⠀⠀⠀⠀⠀⠀⣯⡁⠈⠁⠲⠤⣀⡀⠀⠀⠀⠀⣀⣠⠈⠀⠐⠓⠂⠒⡄⢀⣽⢷⡦⡀⠀⠀
⠀⢻⠉⠀⠀⠀⠀⠀⠀⠀⠀⣦⣵⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡸⢀⠀⠀⠀⠀⠈⠉⣡⡇⠀⠹⣾⢆⠀
⢸⡇⣇⠀⠀⠀⠀⠀⠀⠀⢰⣼⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠩⠋⠀⠀⠀⠀⠀⠀⠁⠺⣵⠀⠙⣿⣆

View file

@ -1,72 +0,0 @@
⢯⡝⢮⡁⢍⡳⣙⢮⡵⡙⠯⣉⠣⠀⠉⠉⠉⠀⡀⢀⡀⠀⠀⠀⠀⠀⠈⠉⠉⠀⠀⠀⠉⠀⠁⠀⠀⠀⠀⠈⠁⠀⠀⠀⠄⠠⠀⠄⡐⠠⢀⠀⡀⢀⠀⡀⢀⠀⡀⢀⠀⡀⢀⠀⠀⠀⠀⠀⠀⠄⠠⠀⠄⠠⠀⠄⡀⠀⠀⠣⢎⠑⠀⢀⠰⠌⠒⠁⠊⠀⠁⠉⠀⠀⠁⠂⠀⣤⣻⣟⣿⣻⣟⡿⣭⣿⢿⡿⣿⣿⢿⡿⣿⣛⡇⠈⣟⡿⣿⣿
⢧⠞⡵⢲⠀⠵⠎⠀⠀⠁⠀⠀⠀⢀⠄⠢⠄⠁⠀⠀⠀⢀⠠⠀⠤⠐⢀⠂⠀⠠⠐⠠⠀⡐⠀⢂⠐⠀⠄⠠⢀⠠⢀⠀⡀⠄⠀⡀⢀⠂⠄⠐⠀⠂⡐⠀⢂⠐⠀⠂⡐⠀⠄⡈⠐⠠⢀⠀⠀⠈⠄⠡⠈⠄⡁⠂⠄⡁⠀⠈⠀⠀⠀⠁⠀⠀⠀⠀⠀⢀⣀⣀⣀⣀⠀⠀⠀⠀⠈⠹⣞⡷⣯⣟⡷⣯⣟⣿⣟⡾⣟⡿⣽⣫⣟⠀⢯⢽⣿⣾
⢫⡞⣍⠃⠀⠘⠀⠀⢀⠠⠐⠠⠁⠈⠀⢀⠀⠤⡀⢃⠈⠀⠀⠀⠀⢀⠀⢀⠀⠂⢁⠠⠁⠀⠌⠀⡀⠡⠈⢀⠂⠠⠀⠂⠐⠈⡀⠐⡀⠄⢈⠀⡁⠐⢀⠈⡀⠄⠈⠄⢀⠂⠐⠀⡁⠂⠄⠂⠄⡀⠈⠠⠁⠂⠀⠁⠀⠀⠀⠀⠀⢀⡀⠀⠄⠀⠂⠈⠀⠀⠀⠀⠉⠙⠛⠳⣦⣄⡀⠀⠀⠙⢿⣽⣻⢷⣯⣞⡿⣽⡿⣽⣳⢯⣻⠀⣹⢚⡷⣻
⡳⠜⠂⠀⠀⠠⢀⠁⠂⠀⠀⠀⣠⢀⠃⠈⢀⠐⠀⠀⠈⠐⠀⠂⠐⠀⢀⠂⢈⠐⠀⠄⡈⠐⡀⢁⠠⠐⠀⠂⠠⠁⠠⠁⡈⠐⠀⡁⠠⠀⠂⠐⠀⡁⠂⠠⠀⠄⢁⠈⠄⡈⠄⠡⢀⠁⠂⠁⠘⠀⠀⠀⠀⠀⢀⠠⡀⠖⠒⠉⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠙⢢⠀⠀⠈⢹⣯⢿⣶⣻⣟⣷⢿⣻⡽⣷⢿⠀⣎⠝⠈⢹
⠀⠀⢀⠢⠘⠀⠀⢀⠀⡐⠂⢡⠀⠤⠀⠀⠀⠀⠀⠀⢀⠀⡀⠄⢀⠂⡀⠂⠄⠂⠈⠄⠐⠠⠀⠂⡀⠂⠁⠌⠐⠈⡀⠂⠐⠈⡀⠐⢀⠂⢁⠈⠄⠐⡀⠡⠐⢈⠠⢈⡐⠠⠈⠀⠀⠀⠀⠀⠀⣀⡠⠤⠒⠈⠁⠀⠀⠀⠀⠀⢀⣀⣠⣤⣴⢦⣶⣞⣶⣣⣤⠐⠀⠄⠀⠀⠀⠀⡐⠀⡀⠀⠀⠀⠈⢿⣮⢷⣻⣾⣻⢷⡿⣝⡿⠀⠉⣰⠀⢸
⡀⠆⠈⠀⢀⠠⠐⠈⠠⠀⠁⠀⢀⠀⠂⠀⠀⠠⠀⠄⠂⡐⠀⠄⠂⠠⠐⢀⠂⠌⢀⠂⠌⠀⠄⡁⠠⢀⠡⠐⠈⡀⠐⠈⠄⡁⠐⡈⠠⠐⠀⢂⠈⠄⡐⢀⠂⡤⠊⠁⠀⠀⠀⠀⢀⠠⠔⠂⠉⠀⠀⠀⠀⠀⠀⣀⣠⣴⡶⣿⣯⣟⡿⣳⢟⡻⢳⡛⠾⣍⠳⡈⢆⠈⠀⠀⠀⠀⠀⠐⡀⠄⠀⠀⠀⠈⠻⣟⣯⣷⣟⣯⢿⣽⡛⠀⣼⡗⠀⣜
⠀⠀⠠⠉⠀⢃⠀⠀⠁⠀⠀⠂⠀⠄⠀⠠⢀⠁⢠⢈⠤⡄⠃⠂⡈⠄⢁⠀⠂⡐⠀⠄⠂⢁⠠⠐⠀⠄⡀⠂⢁⠠⠈⠄⠂⡀⠁⠄⡐⠀⠡⢀⠐⠠⢐⠠⠁⠀⠀⠀⡀⠤⠐⠊⠁⠀⠀⠀⠀⠀⣀⣤⡶⣞⡿⡟⢯⡳⢏⠷⡬⢧⡝⡶⢭⠞⠣⠛⠹⢈⠑⡰⢈⡜⢠⠀⠀⠀⠀⠀⠠⠐⠈⠀⠀⠀⠀⠉⢿⣯⣿⡽⣯⣜⡿⣯⡟⡇⠀⣞
⠀⠂⠀⠁⠀⢀⠠⠀⢀⠀⠄⢡⠂⡀⢄⣂⠦⡙⠆⠋⠀⠀⡐⠠⠀⠌⠀⠄⡁⠠⢈⠠⢈⠀⠄⠂⡁⠄⠐⡈⠀⠄⢂⠠⢁⠠⠈⠄⡀⠌⢀⠂⠌⡐⠁⠀⠀⠀⠄⠂⠐⠀⠀⠀⠀⠀⣀⣤⢶⠻⣝⢣⢟⡱⢎⡵⢣⠝⠎⠋⠉⠁⠈⠀⠀⡀⠠⢀⠐⡀⢣⠐⡡⢜⡡⠂⠄⠀⠀⠀⠀⠈⠐⠀⠄⠀⠀⠀⠈⠳⣯⣟⡾⣽⣹⢧⣿⠁⢰⣹
⠀⠀⠀⡀⡖⠀⠀⡀⢂⢌⡐⢦⡙⡜⣌⠆⠓⠁⠀⠀⠄⠡⢀⠁⡐⠈⢀⠂⢀⠁⠄⠂⡀⠌⢀⠂⠄⡈⠐⡀⠡⠈⡀⠄⠂⡀⠡⢀⠐⢀⠂⠜⠀⠀⠀⠀⠀⠂⠀⠀⠀⠀⠀⢠⠰⣚⠱⣊⢦⡙⢦⢋⠎⠑⠁⠈⠀⡀⠀⡄⠂⠄⠃⠌⢂⠡⢄⠢⡐⢌⢢⡙⡔⠣⠜⡁⠂⢁⠀⠀⠀⠀⠁⢂⠈⢀⠀⠀⠀⠀⠈⠙⢿⣻⣽⣯⠟⠀⡾⣽
⠀⣀⠆⡑⢠⡐⢦⡑⠣⢎⣜⣢⡵⠋⠀⠀⡠⠀⠀⠌⠠⠁⡀⠐⠀⡁⠂⢈⠀⠈⠄⠁⡀⠂⡀⠂⡐⠀⠁⠀⠀⠁⠄⠂⢁⠀⠂⠄⠈⡔⠈⠀⠀⠀⠠⠈⠀⠀⠀⢀⠠⡐⠬⣡⠓⡬⠑⡌⢂⠉⡀⠤⢈⠆⡘⠄⠃⠌⠡⢀⠉⠤⡉⢆⠡⣊⠔⡡⢉⠆⡒⠰⢈⠁⠒⠀⢁⠠⠀⠀⠀⠀⠀⠄⠈⡀⢈⠀⠀⠀⠣⡀⠀⠙⠷⣯⠃⢼⣹⣿
⣼⡻⠞⡠⠓⡜⣤⣜⣳⡞⠋⠁⠀⢠⠔⠃⠀⢀⠠⠈⠄⠡⢀⠁⢂⠐⡀⠂⢈⠐⠈⡐⠀⡐⠠⢁⠐⠀⢠⠆⠀⠀⠂⠌⡀⠈⠠⡘⠔⠀⠀⠀⠀⠈⠀⠀⠀⡀⠌⢄⠃⠌⡑⠠⠊⢄⡁⠆⡡⢊⠰⢁⠊⡐⠐⡈⠡⠌⢂⠅⢊⠔⡰⢈⠒⡀⠎⠐⠁⠂⠀⠁⠀⠀⠈⠀⠀⠀⠀⢀⡀⠀⠀⠠⠁⠀⠄⠂⠄⠀⠀⠙⢆⡀⠀⠐⠸⣯⢿⣽
⣟⠡⢊⢴⣹⣼⣳⠾⠁⠀⠀⢀⠖⠁⠀⠀⠄⠂⠄⠡⠈⠀⠀⡀⠀⠀⢀⠁⢂⠠⠁⠄⠂⠠⠐⠀⠀⣠⡏⠀⠀⠠⢁⠂⠀⢄⢣⠅⠀⠀⢀⠂⠀⠀⠀⢀⠂⠐⡈⠤⠈⡔⠠⢃⠅⠢⠐⠌⡐⠄⠂⠌⡐⠠⢁⠐⠡⠈⠄⢈⠠⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣠⠤⠴⠒⠒⠉⢀⠐⠠⠀⠁⠠⠁⡀⠂⠄⠂⠀⠀⠀⠳⡄⠀⠀⠘⢯⢿
⡉⣦⢿⡶⣏⠓⠁⠀⠀⢀⠔⠀⠀⢀⠐⡈⠄⠡⠈⠀⢀⣴⡾⠍⠀⠀⠠⠈⠄⡐⢀⠂⠌⡀⠁⠀⢠⡷⠁⠀⠠⠁⠀⡠⡔⣊⠆⠀⠀⠀⠠⠀⠀⠀⠀⠂⢀⠀⠰⢈⠡⡀⡑⠂⠌⡐⢉⠐⠠⢈⠐⠠⢀⠡⠀⠌⠀⠁⡀⠂⠀⠀⠀⠀⠀⣀⣠⣤⠶⠋⠛⠉⠁⠀⠠⠀⠂⠐⡈⠀⠐⠠⢀⠈⠄⠐⠀⠌⠀⠀⠀⠀⠀⡀⠙⢦⠀⠀⠀⠹
⣟⣯⢏⠳⠈⠀⠀⢀⡔⠋⣠⡾⠉⠄⢂⠀⠂⠀⣠⡾⣟⡾⠁⠀⠀⠌⠠⠁⢂⠐⠠⠀⠀⠀⠀⢀⣿⡝⠀⠀⠀⢀⣾⠓⡜⠀⠀⠀⠀⠀⠐⠀⠀⠀⠀⠐⠀⠠⠐⢂⠡⡐⢄⡉⠐⡀⠂⠌⠐⡀⠌⠀⠂⠀⠐⠀⠈⠀⠀⠀⣀⡤⠴⠖⠛⠉⠁⢀⠀⡐⠠⠀⠌⢀⠡⠀⢁⠂⠀⠁⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠠⠐⠀⠈⠓⡀⠀⠀
⡟⠴⠉⢀⠀⢀⡴⠃⣠⣾⠟⠀⠐⠈⠀⢀⡰⣾⣽⣻⡝⠀⠀⠀⠌⠠⠁⠌⠠⠈⠀⠀⠀⠀⠀⣼⣯⠇⠀⠀⣴⡿⠂⡝⠂⠀⠀⠀⠀⠀⠈⡀⠂⠀⠀⠀⢈⠀⠄⠀⠒⡀⠂⠄⢁⠠⠁⠈⢀⠀⠀⠀⠀⠀⠀⣀⡤⠔⠢⠉⠁⠀⠄⠠⠀⠂⢈⠀⡐⢀⠀⠡⠀⠂⠀⠈⠀⠀⠀⣀⣀⣤⣴⣲⣶⣲⢍⡚⡴⣀⣀⠀⠀⠀⠁⠀⠐⠀⠀⠀
⠊⠀⡐⠁⣠⠏⢀⣼⣟⠃⠀⠀⠀⣀⠶⢡⣟⡷⣯⠓⠀⠀⠠⠁⠌⠀⠁⢀⡀⠀⠀⠈⠄⠀⢰⣿⡽⠀⠀⣾⣯⠇⡱⠎⠀⠀⠀⠀⠀⠀⠀⠀⡐⢀⠀⠀⠀⠠⠀⠈⠄⢀⠈⠀⠂⠀⠀⠁⠀⠀⢀⡀⠐⠊⠉⢀⠀⡀⠄⠐⠈⠠⠈⠀⠄⠁⠂⠀⠀⠀⠈⠀⠀⢀⣀⣤⡴⣶⣻⡾⣟⣾⡽⣷⣻⣽⣯⣗⠣⣝⢦⢏⡴⣀⠀⠀⠀⠀⠀⠀
⢠⠊⢀⡞⠁⣠⣿⡻⠌⠠⢁⣲⡞⠋⣴⣻⢯⣿⠁⠀⠀⠠⠁⠌⠀⠀⣴⣯⠁⠀⠀⠰⠀⠀⣾⢯⡃⢀⣼⣿⡞⠠⠑⠀⠀⠀⠀⠐⠀⠂⠀⠀⢀⠀⠀⠀⠀⠀⠀⠁⡀⢀⠐⠈⠀⠀⠀⠀⠀⠀⠄⠀⡐⠀⠡⠀⠐⢀⠠⠈⢀⠁⠄⠁⠈⠀⠀⢀⣀⢤⡴⣲⢯⡿⣽⣾⣻⡷⣟⣿⡽⣾⣻⡟⣷⣫⣷⣯⣳⢌⡚⡼⣱⢋⡯⣓⢦⡤⣄⡀
⠁⢠⠏⠀⣼⣟⣷⠃⢌⡱⣾⠣⠉⣰⡿⣯⡿⡏⠀⠀⠌⠠⠁⠀⣀⣾⢯⠁⠀⠀⣰⢏⠀⢨⣟⣿⣀⡾⣟⣾⠅⠘⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂⠈⡀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠐⠈⠀⠌⠀⡀⠐⠠⠁⠂⠠⠐⠀⠀⠀⠀⠀⣠⠤⣞⣳⡾⣯⢿⣟⡿⠽⣳⠿⣽⠻⠟⠚⠛⠁⠁⠀⠀⠉⢲⣯⣷⢿⡼⣑⢎⢧⠳⣍⠶⡳⢬⡹
⣴⠋⠀⣾⣟⡞⠧⣈⣶⡟⠃⠀⣰⡿⣽⢳⡟⡇⠀⠀⠂⠀⡀⢶⣻⡽⠃⠀⠀⣸⣯⡆⠀⣼⣻⢮⣽⠃⣽⢿⡀⠂⠀⠀⠀⠀⢀⠠⠐⠀⠁⠀⠀⠀⢁⠀⠈⢦⣀⠀⠀⠀⠀⢀⠐⠈⠀⢀⠂⢁⠀⠂⠄⠁⠀⠀⠁⠀⠀⣀⠄⠀⠀⣼⢲⡿⣽⢿⡽⠿⠕⠊⠀⠐⠒⠉⠀⠀⠀⠀⠀⣀⡠⢤⡀⠀⢻⡷⣿⣯⢷⣏⢎⣎⠳⣌⡳⣍⠧⣝
⠇⠀⣼⣻⢾⡙⣤⢿⡓⢨⠁⢠⣿⣟⡾⣿⡹⠀⠀⠀⣀⡖⠁⣼⢯⠇⠀⠀⢠⣿⣳⠁⠀⣿⡽⣟⡾⠐⣯⣿⠀⠀⠀⠀⡀⢂⠀⠐⠀⠡⠈⡀⠀⠀⠀⠈⠄⠀⠈⠉⠁⠀⠡⠀⢀⠐⠈⠀⠄⠂⠈⠀⠀⠀⠀⠀⢠⢒⡱⠌⠀⠀⣸⡼⣯⣟⣯⡟⠉⠀⠀⠀⠀⠀⠀⣀⣠⣤⣶⠾⣹⢧⣛⣧⣇⠀⠈⢻⣽⣾⣟⡾⣭⢎⡳⢥⣛⢬⡛⡼
⠀⣼⠿⣝⡞⣴⠿⢃⡐⠃⢰⣿⣻⣼⠋⠁⠁⠀⢀⡼⡏⠀⢰⣿⡻⠀⢠⢠⣿⡽⠇⠀⢀⣿⣟⡯⠁⠐⣿⣎⠀⠀⠀⠁⡀⠠⢀⠁⠂⡀⢡⣠⣤⠄⠀⠀⠈⡐⠠⠀⠌⠐⠀⡁⢀⠂⠀⠁⠀⠀⠀⠀⠀⠀⠀⢀⢮⣱⠃⠀⠀⣰⢷⣻⢷⡫⠞⠀⠀⠀⠀⠀⠀⢼⡿⣽⠯⣟⢾⣻⡷⣟⣯⢿⣽⠂⠀⠈⢿⣾⣏⡿⣽⣻⡔⢣⢎⡧⢽⡱
⣼⣯⣟⡾⣽⢏⠃⡜⠬⢡⣿⣾⣳⡟⠀⠀⠀⢀⡾⠋⠀⢀⣿⣳⠇⠀⣼⢯⣷⢻⠁⠀⢰⣟⣾⠃⢠⠘⣿⠆⠀⠀⢀⠁⠠⠐⠀⣠⢶⠽⠋⠁⠀⠀⠀⠀⠀⠀⠄⠡⠀⠌⠐⠀⠀⠀⢀⠤⠄⠀⠀⠀⠀⠀⢠⣏⠖⡇⠀⠀⣐⣯⢿⡯⠟⠀⠀⠀⠀⢀⠆⡂⠀⢘⣿⣝⡷⣫⣿⡝⣻⣽⢯⣿⣞⣟⢦⠀⠘⣯⣿⣽⣳⣻⣞⡱⢎⣝⡲⣝
⣿⣾⣳⣟⠿⡀⡝⢬⠡⣿⣳⢯⡷⠁⣰⡇⢠⠟⠀⠀⠀⣼⡿⡝⠀⢠⣿⣻⡽⠊⠀⠀⢸⣟⡾⠁⡰⠀⡿⠀⠀⠀⠀⠂⢄⠢⠝⠃⠀⠀⠀⠀⠀⠯⡔⢣⠀⠀⠀⠂⠐⠀⠀⢀⢤⠰⣩⠞⠀⠀⠀⠀⠀⡰⣏⡜⡏⠀⠀⢠⣟⣾⣛⠎⠀⠀⠀⠀⡄⢣⠘⡄⠀⠈⢿⣾⣟⣿⢷⠂⠀⠻⣟⣾⣽⣻⢯⠀⠀⢻⣷⣯⣷⢻⡾⣽⣎⠮⡵⢎
⣿⣞⣷⠯⡱⡘⡜⢢⡹⡷⣯⢿⡅⣹⢿⣽⠘⠀⠀⠀⣸⢯⣟⡇⠀⢸⡧⣟⡇⠀⡅⠀⢘⡿⡇⠀⢧⠀⠇⠀⠀⠠⠁⠜⠊⠁⠀⠀⠀⠀⠀⠀⠈⣳⢚⡥⢚⠤⣀⣀⠠⡰⡸⣌⢎⣗⢣⠏⠀⠀⠀⠀⢰⡝⣲⠍⠀⠀⠀⣾⢯⡷⠁⠀⠀⠀⠀⠀⠘⡄⢣⠜⣡⠀⠈⢿⡾⠏⠃⠀⡀⠀⢻⣽⣾⡽⣶⣒⠀⠈⢿⣾⣏⡿⣽⣷⣻⡼⣱⢫
⣿⡾⣝⢣⠱⡑⣎⢡⠿⣽⢯⡟⣀⣿⣯⠃⠀⢀⠂⢀⣿⣟⡏⠀⠀⣻⡇⣿⡇⠀⠆⠀⠈⣿⡇⢀⢳⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠄⠀⠀⠘⡧⣞⡥⣚⢴⢪⡕⣣⠷⡜⠮⣜⡫⠄⠀⠀⠀⢠⢇⡻⡜⠀⠀⠀⣸⣿⡻⠀⠀⠀⠀⣠⠀⠀⠀⠈⣇⠚⣥⢒⡀⠀⠀⠀⢀⠖⡱⠀⠀⢿⡷⣿⣻⣧⠀⠀⣻⡷⣯⣻⢷⣯⢷⣷⢣⢏
⣿⡽⢃⠦⣙⠲⠌⣞⡿⣏⣿⠰⣼⣻⠌⠀⢠⠋⠀⢸⣟⣾⠁⠀⠀⣿⠆⣿⡃⠀⡅⠀⠀⣚⢧⠠⢇⡄⠀⠀⠀⢀⠴⣉⠞⡀⠀⠀⠀⠂⠀⠀⠀⠈⢵⠺⣔⡱⢎⡳⣜⡡⢎⡭⢳⡍⡗⠀⠀⠀⢀⡞⣼⢱⠃⠀⠀⢰⡿⣞⠁⠀⠀⠀⠰⣀⠒⠀⠀⠀⠈⠳⢤⢣⡙⣜⢲⣼⣛⠮⡱⡁⠀⠀⢻⣿⢷⣏⠇⠀⢽⣻⣷⣻⣟⣾⣻⣯⡟⡼
⣿⡝⢢⠱⣊⠵⣉⡾⣽⢧⡟⣰⣯⡛⠀⠀⡎⡅⠀⣾⣽⡞⠀⠀⠠⣿⠃⢸⡗⡠⠄⠀⠀⢐⢣⡙⠦⡀⠀⠀⠠⠜⣆⢧⣋⢷⣀⠀⠀⠀⠄⠁⠀⠀⢸⣋⠶⣩⢎⡵⣌⠳⣎⡜⢧⡝⠆⠀⠀⢀⣎⠾⣄⠏⠀⠀⢠⣟⡿⠀⠀⠀⠀⠀⡱⢈⠜⣀⠀⠀⠀⠀⠃⢧⡘⢬⠟⠎⣑⢊⠱⡱⠀⠀⠘⣯⣿⡃⠀⠀⣾⣽⣷⣻⣞⣷⣻⣷⣻⣘
⣿⠘⣌⠣⡕⢪⢴⣻⣝⣻⠌⣷⢯⠃⠀⢢⠵⠀⠀⣿⡾⡅⠀⠀⠀⣿⡁⢢⠝⡴⠀⠀⠀⠀⢧⢚⡱⠀⠀⠀⠀⢩⠜⣶⢩⢞⡱⣆⠀⠀⠀⢀⠀⠀⠀⢭⣳⠱⣎⢲⣩⠳⣤⢋⠶⣙⠂⠀⠀⡸⣬⢓⠎⠀⠀⠀⣼⢯⠃⠀⢸⠀⠀⠀⡱⢈⡒⢌⡆⠀⠀⠀⠀⠐⠹⡌⢎⣷⠻⠞⣳⠱⡀⠀⠀⢻⡖⠁⢀⣶⣟⣾⢳⣽⢾⣳⣿⣳⣧⣳
⣏⠞⣨⠓⣌⠳⣞⣳⡞⡷⢸⣽⡧⠀⡸⢡⠞⠀⢸⡿⣽⠂⠀⡁⠀⣿⠄⣘⢎⡱⠀⠀⠀⠀⢘⢦⡑⠀⠀⠀⠀⠰⢫⣜⢣⢎⠷⡜⢦⡀⠀⠀⠀⠀⠀⢸⠲⡭⣜⢣⡜⡳⢬⡙⡞⣭⠀⠀⢠⣓⠧⠉⠀⠀⠀⢰⣯⡏⠀⠀⣯⠀⠀⠀⢑⢢⠘⡆⠞⡤⠀⠀⠀⠀⠀⢙⠎⡥⢃⠶⣈⠧⡁⠀⠀⠀⠀⢠⣾⡷⣟⣯⣟⡾⣯⣓⣯⡷⡏⠃
⣏⠞⡴⣋⠴⡩⣟⣵⡻⣅⢻⣾⠁⢰⡑⡫⢜⠀⢸⣟⣿⠀⠀⡀⠀⢿⣃⢈⠦⡁⠀⠀⠀⠀⠈⢦⡑⠀⠀⠀⢀⡭⢳⣌⢳⠪⣝⡹⢎⡵⡄⠀⠀⠀⠀⠀⢏⠷⣘⢦⡹⣱⠣⡝⣼⣡⠀⠀⡴⢋⠎⠀⠀⠀⢀⣾⣿⠀⠀⢣⣿⠀⠀⠀⠈⢢⠱⣌⠫⣔⢣⠄⠀⠀⠀⠀⢋⠖⣩⢒⡍⡲⡁⠀⠀⠀⣰⣿⣻⣽⡻⡾⣝⣻⢵⡯⣟⠃⠀⠀
⣎⠳⡜⣆⠣⠵⣿⣼⡳⠎⣼⣻⠀⡱⢬⠱⢎⠄⢸⡿⣞⠀⠀⡀⠀⣏⠳⣌⠳⠀⠀⠀⠄⠀⠀⠣⠄⠀⠠⣜⠳⣜⢣⡜⢣⡛⣬⠓⣏⢶⣙⣆⠀⠀⠀⠀⠸⣩⢓⠮⣱⢣⢛⡜⢦⠇⠀⠀⠖⠀⠀⠀⠀⠀⣸⣿⢾⣀⣼⣷⣻⠀⠀⠀⠀⠀⠳⢌⠳⣈⠆⣏⠦⠀⠀⠀⠀⠘⡥⢊⡴⢡⠃⠀⠀⢰⣿⣞⣷⣟⣾⣟⡿⣽⣶⠛⠀⠀⠀⡀
⣎⠷⣙⡬⢣⡹⣷⢾⡝⠲⣜⡯⠀⡱⢊⡵⢊⠆⠘⣿⣭⠀⠀⠀⠸⣜⡝⢦⡙⠀⠀⠀⠀⠀⠀⠘⡀⠀⠰⣍⠻⣜⢆⡺⢥⡛⡴⢫⡜⣞⢲⡬⢳⡄⠀⠀⠀⢡⡏⢧⢳⡩⢞⡸⢭⠞⠀⣠⢄⠀⠀⠀⣠⡴⡟⣾⢿⡿⢯⣷⡿⡄⠀⠀⠀⠀⠘⢌⡳⢄⢫⡔⣩⢓⠦⣀⠀⠀⠘⣱⠸⣡⠂⠀⣰⣿⣟⡾⣽⠞⠃⠉⣠⡿⠊⠀⣀⣴⣳⣿
⣎⠷⣌⠳⣅⠺⣽⢯⣏⠱⣎⡕⠀⡵⣉⠖⣩⠚⡄⢻⡷⣀⠀⠀⢹⢆⡛⢦⡑⠀⠀⠀⠀⠀⠀⠀⢀⠀⠐⠸⢫⡜⢧⡹⣆⢳⡜⣣⠜⣆⠧⣝⡣⢞⣤⠀⠀⠀⢹⣎⠳⡜⣬⢓⡭⢞⡡⢎⡯⣞⡿⣟⣷⣻⣽⢯⣿⣽⣻⣯⢿⡅⠀⠘⡄⠀⠀⠀⠱⡊⠵⡘⠤⢋⠲⣅⢚⠤⣀⢌⠇⡐⠀⢰⣟⣷⣻⠝⠁⠀⠀⣾⣽⠃⢠⡾⣽⣳⡿⣽
⣎⢗⣎⠻⣌⠓⣯⣟⡮⢱⣚⡤⠀⢖⡡⢎⡅⢫⡜⣡⢏⡖⠀⠀⢘⣎⢳⣃⠆⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠈⠓⠳⢍⡳⢮⡱⢫⡜⢮⡱⣙⡎⢾⡱⣄⠀⠐⢎⡳⣝⢢⡍⢶⡩⡝⢮⣑⣻⣽⢿⣽⣳⣯⢿⡾⣽⣳⢿⣯⣷⠀⠀⢻⣤⠀⠀⠀⠘⠡⡙⠜⣣⠓⡌⢎⡚⠤⠋⠂⠀⢠⡿⣽⠞⠁⠀⠀⠀⣼⣳⢿⣚⣯⢟⣧⢿⣽⣳
⡘⢮⡜⡳⣌⠳⡸⣿⡜⡡⢞⡄⠀⢣⠞⣰⢊⡥⣚⠤⣫⢜⡁⠀⢸⡜⣣⠞⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠲⣙⢧⣚⠵⣊⡕⢺⢥⠳⣍⢶⡀⠈⡼⣘⢧⡚⣥⢚⡝⢦⠳⣼⢯⡿⣞⡷⣯⡿⣽⣳⣯⢿⣹⣿⡀⠀⠐⣯⢷⣄⠀⠀⠀⠈⠘⠤⠛⠌⠃⠉⠀⣀⠄⢀⣿⢿⠁⠀⠀⠀⠀⢠⣿⡽⣷⣻⢞⣻⡼⠏⠃⠁
⢈⢳⣜⣱⣍⢣⣇⢹⣧⢱⣋⡖⠀⢣⢚⣤⣃⡖⣭⢲⢱⣎⡆⠀⢈⡞⣥⢛⠀⠀⠘⣭⢋⣷⣓⡞⣤⠀⢠⣄⣀⡀⠀⠀⠀⠀⠀⠈⠑⣎⣯⢳⣼⣙⣮⣱⣭⣖⣳⣤⢓⣭⣶⡙⣴⢋⣼⣃⡟⣼⣯⣿⣽⣛⣷⣻⣷⣻⣞⣿⣻⣾⣵⡂⠀⢹⡟⣯⣷⣤⡀⠀⠀⠀⠀⢀⣠⣴⣾⡏⢀⣼⣯⠁⠀⣼⡀⠀⠀⣼⣷⣿⣳⣯⣟⣯⣷⣴⣤⣆
⠈⢿⡩⢧⡙⢧⡘⢧⠙⣏⡹⢇⠀⠸⡘⢧⡙⢼⣙⢏⠿⣙⢇⠀⠈⠁⠉⠈⠀⠀⠀⠉⠘⠁⠋⢻⣍⢃⣈⠽⣍⠻⢟⣣⠤⣀⠀⠀⠀⠈⠈⠀⢹⡻⢼⣣⠻⣜⣣⡝⢯⡝⣏⠻⣥⠻⣥⢛⡼⢯⣟⡿⣽⣻⣟⡿⣟⣯⢿⣽⣻⢿⣯⡇⠀⠈⠛⠋⠉⠉⠁⠀⢀⣠⣼⡿⣿⢯⣟⡇⣼⣻⠁⠀⣼⠁⠃⠀⠀⣿⣽⡿⣟⡿⣽⣟⡿⣿⣻⣽
⡂⢸⡱⢎⡵⢣⠞⣂⠧⠰⣭⢳⠀⠐⡍⢖⡩⢖⡭⢎⡝⣎⢞⡀⠀⢰⢆⠦⠀⢠⣤⣀⣀⡀⠀⠀⠀⠀⠀⠉⠈⠉⠈⠈⠑⠁⠉⠁⠀⠀⠀⠀⠉⢳⣣⠮⡕⢦⠳⣜⢣⠞⣬⠳⣌⠳⣎⠳⣜⡿⣾⡽⣷⣻⢾⣽⣻⢾⣟⣾⡽⣯⣷⣧⠀⠀⠀⠀⠀⣠⣴⡿⣟⣯⠿⡽⣏⣽⢾⡽⣳⣿⣧⡿⣅⠂⠀⠀⢰⣟⣯⣟⣾⣻⢷⣯⣟⣿⣽⣻
⣥⠀⢧⣋⠶⣙⠞⢤⢃⠣⢎⣳⠀⠀⠸⣘⢆⡏⢾⡱⠜⡬⢮⡅⠀⢈⡞⡣⠀⢸⢶⡽⣯⢟⡿⣷⣦⣤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⢾⡱⢦⡡⢟⡸⢣⡛⣬⢣⡛⡴⢫⠜⡳⣌⠳⣭⡿⣼⣻⢷⣯⢿⡾⣽⣻⣞⣷⡽⣷⣻⣖⠀⠀⠀⣀⣞⡽⣿⡽⣽⣞⣿⣳⣟⣮⣟⡿⣽⣳⣟⣿⢠⠁⠀⠀⢸⣿⣟⣾⣳⣟⡿⣾⡽⣿⣾⢿
⣎⡄⠘⣬⢚⡥⣛⡔⢪⠱⣍⢖⡣⠀⠀⢣⠎⣼⢣⡝⣸⢡⡳⠆⠀⠀⡽⡁⠀⢸⣟⡿⣼⡹⢾⣝⣳⢯⣿⣻⢷⣶⣤⢄⣠⣀⣠⣤⣤⢶⣯⢶⣭⢣⡝⢪⢕⡣⡝⢦⣣⠝⡼⣡⢏⡵⣊⠷⣱⣻⢷⣫⣿⡽⣯⣟⣷⣯⣟⣾⣽⣻⣽⣻⣦⣤⣐⡿⣞⣿⣳⣟⣧⣿⣞⣷⣟⣾⣽⣻⢷⣯⢿⡍⡄⠀⠀⠀⣾⣟⣿⣞⣯⡿⣽⣳⢿⣿⣽⣿
⡜⣲⠀⢣⡝⢲⡱⣌⢣⢣⡜⣪⠕⠀⠀⠈⡜⢦⣣⠝⣦⠓⣭⢳⠀⠀⠸⡅⠀⣞⣿⣽⣳⣟⡿⣾⣽⣻⢾⣽⣻⣞⡿⣟⣿⣻⣽⣳⢿⣟⢾⣟⣾⣿⣻⢷⣎⣶⡙⡎⡖⢫⠵⣡⢞⣲⡙⣎⢷⣯⣟⣳⡽⣯⣟⣾⡽⣾⣽⣞⣾⣳⢿⣷⡿⣾⣟⣿⢯⣷⢯⣟⣧⣿⣹⢾⡽⣽⢾⣭⣟⡿⣯⢓⠁⠀⠀⠀⣿⣿⣳⢯⡿⣽⢯⣟⣿⣽⣾⢿
⠈⡵⢣⠀⠞⣥⢛⡴⣃⢇⡚⣥⡛⠆⠀⠀⢩⠲⣡⢛⡴⢋⡼⣣⠀⠀⠐⡁⠀⣾⣯⣷⢻⢾⡽⣷⣯⣟⡿⣞⣷⢯⡿⣽⣳⣟⣷⣻⣟⣾⣻⣞⡷⣯⣟⣯⡿⣞⣿⣳⣭⣣⢏⠥⢋⠶⣹⡘⢾⣳⠿⣽⣻⡽⣞⣷⣻⢷⣻⢾⣯⢿⡻⣞⡿⣽⣟⣯⣿⢿⣻⣿⢾⣳⣯⢿⡽⢯⣟⡾⣽⢿⡳⠚⠀⠀⠀⢀⣿⡿⡽⣯⣟⣿⣻⢾⣽⣾⢿⣻
⠀⠘⡝⣆⠘⢬⡳⢼⠁⠀⠀⠀⠉⠃⠀⠄⠀⢳⠢⡝⣬⢃⠷⣙⠆⠀⠀⠀⠀⣿⣳⣯⢿⢯⡿⣷⢯⡿⣽⣻⢾⣻⣟⣯⣿⢾⣻⢷⣯⣟⡷⣿⡽⣿⢾⣳⣟⡿⣞⡷⣯⢿⣾⣛⣮⡞⡥⣚⡽⢯⣟⢯⣟⣽⣻⣽⣻⢿⣻⢿⣛⠟⣿⣻⡟⣽⡿⣯⣿⠏⠉⠙⢿⢻⣽⣻⢯⣟⣯⣟⣯⣿⠃⠆⠀⠀⠀⢠⣿⣿⣛⡷⣯⢷⣯⣟⣾⣟⣿⣿
⡄⠀⠹⡜⣄⠸⣱⠃⠀⠀⢀⣴⣤⡄⠀⠀⠀⠈⢧⡙⣆⠫⣞⠭⡆⠀⠀⠀⢰⣻⣟⣞⣻⣞⡿⣽⣟⣿⣳⢿⣯⢷⣯⣷⣯⣿⣽⣾⣳⢯⣟⣷⣻⡽⣯⢷⡿⣽⢿⡽⣟⡿⣾⣟⢷⣻⡷⣟⡾⣟⣞⡿⣾⣞⣷⢯⡟⠻⠉⠀⠈⠘⡻⢷⣿⣟⣿⢿⣝⡢⠀⠀⠀⢿⣻⣽⣷⢻⣾⢾⣽⣾⡃⠀⢀⠀⠀⢰⣿⣯⢷⣻⣟⡿⣾⡽⣾⣟⣾⣿
⣳⡀⠀⠹⡜⡤⠁⠀⠀⢠⢻⣼⣳⣿⣳⣄⡀⠀⠈⠝⣦⢛⡬⢳⢥⠀⠀⠀⠐⣿⡽⣯⢷⣾⣽⡷⣿⢾⣯⣿⡾⢿⠯⠷⠿⠻⠾⠿⠽⢿⣻⢾⡷⣿⢽⣯⢷⣯⣿⣻⣽⣟⡷⣿⢾⣷⣻⣽⣻⣽⣮⢷⣿⡞⠋⠁⠀⠀⡀⠄⠀⠀⠰⣯⣟⣾⣿⣻⣯⢇⣂⣀⠀⠐⣿⣿⣞⢻⣮⣟⡷⣯⠀⠠⢞⡅⠀⢸⣷⡿⣯⡷⣟⣿⣳⣟⣷⣻⣿⢾
⢧⡻⡄⠀⠘⡵⠀⠀⠀⡹⢎⣷⢫⣾⢯⣿⡽⣄⠀⠀⠃⢯⠴⡩⢞⡄⠀⠀⣠⢿⣻⡵⣿⡽⠞⠟⠙⠋⠀⠁⠁⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠩⣽⡷⣿⢾⡽⣞⡷⣽⣾⣭⣿⡽⣞⣷⢧⡿⣵⡾⣽⡟⠊⠀⠀⡐⢀⠆⡐⠀⠀⠀⠀⡿⣭⣗⠛⠁⠈⠏⠒⡈⠁⠈⣿⣷⣛⣮⣷⢿⣝⠃⠀⠀⠈⠅⠀⢸⣿⣽⣷⣻⣟⣾⣳⣟⡾⣽⣾⣿
⣏⡳⣝⣆⠀⠈⠀⠀⠀⢹⡹⣞⢧⣯⣛⢾⣳⣏⣦⠀⠀⠈⢖⣣⢋⡖⡀⠀⢹⡿⠝⠋⠁⢀⣀⢤⢀⡰⠂⠈⠁⠀⠀⠀⠀⠑⠈⠛⠖⡶⢆⣄⠀⠙⢹⣯⣗⣯⣿⡿⣽⣟⣾⡽⣯⢯⣏⡿⣯⠟⠃⠀⠀⠀⠀⡐⡈⠔⡁⠀⠀⠀⠀⣿⢿⡽⣆⠀⠀⠀⠀⠁⠀⠀⠈⣟⡿⣽⠾⣏⠎⠀⣰⣷⡀⠀⠀⢈⣿⣾⣗⡿⣾⣽⣳⣯⢿⣽⣳⣿
⠊⢽⡺⣜⢧⡀⠀⠀⠀⢸⢇⡯⢯⣏⣟⡾⣷⣻⣗⢯⡀⠀⠀⠙⢮⡱⢆⠀⠈⡔⡦⠜⠃⠋⠈⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠘⠁⠲⠽⣞⡿⠓⠉⢀⣼⣏⣷⣫⢿⣯⠿⠉⠀⠀⠀⠀⣀⠒⢠⠘⠠⠀⠀⢀⣰⡾⣿⢯⣿⣟⣦⣀⣀⣧⢾⠀⠀⣀⡩⢟⣿⡛⠀⠀⣰⣟⣾⢧⠀⠀⠀⣿⣷⣯⣟⡷⣯⢷⣯⢿⣞⣿⣽
⢀⠀⠱⢫⠶⣝⡂⠀⠀⠸⣎⢽⣫⣟⡾⣽⣳⡟⣯⢗⡛⡄⠀⠀⠱⣙⢦⠄⠀⠐⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣠⠤⠤⠤⠤⠤⠀⠀⠀⠀⠀⢤⡀⠈⠁⢀⣾⣻⣾⡽⣾⡽⡟⠎⠁⢀⡐⠀⡀⢆⡐⠌⣀⠃⡅⠀⢀⣯⣷⢿⡟⣻⢞⣽⢯⢿⡿⣽⢿⣶⢿⣻⣷⠾⠑⠀⠀⣸⢿⣽⣞⣿⡆⠀⠀⣿⣿⡾⣽⣻⢽⣟⣾⣿⣻⢾⡽
⢎⠲⣀⡀⠈⠉⠃⠀⠀⢸⡜⡲⣽⢾⡽⣯⢷⡻⣟⢯⡷⣤⠀⠀⠀⠘⠈⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⣤⣶⣾⢛⣉⣀⣀⣠⣤⣤⣤⣤⣤⣤⣤⣄⣰⣯⠏⠀⢠⣾⢷⢯⠗⠛⠉⠀⢀⡠⠔⡂⢄⠢⢁⠢⡐⢌⠠⠒⠀⠀⢸⣾⢯⣯⣟⡷⣯⣟⣯⣻⡽⢯⣟⣾⣟⠷⠉⠀⢀⡀⠀⠀⠉⠺⡽⣞⢷⡀⠀⢻⣷⡿⣯⣟⡿⣾⣻⣾⡽⣓⠾
⠌⢳⢡⡜⡱⢒⡄⠀⠀⢰⡹⡕⢮⡿⣾⡽⣷⣻⡽⣾⣟⡿⣆⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣶⢿⣻⠿⣽⣻⢾⣿⣻⢿⡿⣟⣯⢿⣽⣻⣟⢿⣽⣻⡷⠍⠀⢰⣯⢾⠉⠀⡀⠄⠒⡈⠤⣀⠣⠌⡐⠄⢃⠐⠁⠢⠌⡑⠀⠀⣾⣿⣻⣗⣯⢿⣳⣾⣳⣷⢿⣻⠻⠘⠁⠀⢠⣾⣭⣷⣆⠀⠀⡄⠀⠙⢿⠄⠀⢸⣿⣟⡷⣽⣾⣟⡷⣯⠗⡎⠀
⣤⡀⠈⠐⠙⠦⠄⠀⠀⢰⣹⡙⢎⣿⢷⣻⢷⣯⢷⣛⣾⡝⡧⠀⠀⠀⠀⠀⠀⠀⠀⠹⡞⣽⣯⢏⡿⣧⢯⣿⣼⡽⣯⢿⡽⣯⣟⣾⣳⣯⢾⣧⣛⠶⠀⢀⣿⣯⣯⠀⠀⠁⠠⢡⠘⠤⢀⠒⠤⢁⠊⠤⡀⠀⠀⣁⠂⠀⢠⣿⡷⢿⡾⣽⣯⢷⣾⢿⡽⠋⠁⢀⣠⣴⣿⣳⢿⣳⣟⣮⡄⠀⠘⢤⡀⠀⠀⠀⣼⣿⢯⡿⣵⣟⣾⣽⣳⠛⠀⠀
⠀⠉⠓⠶⠤⡀⠀⠀⠀⣰⢣⡝⣊⣿⢯⣟⣯⣞⣯⢷⣯⢽⡁⠀⠀⠀⠀⢠⢞⣣⠀⠀⠿⣼⣞⡯⣿⣽⣻⢾⣳⡿⣽⢯⣟⣷⣻⣞⡷⣯⣟⡾⣧⠈⠀⢸⣿⢾⣽⣂⠀⠀⠀⠃⠘⠀⠁⠊⠀⠡⠊⡐⠤⢁⠀⠀⠀⢀⣾⣻⣽⢯⡷⣏⣾⢯⡛⠊⠀⣀⣴⢫⣾⣱⢯⣿⣻⠉⠋⠛⠁⠀⠀⣾⣝⡆⠀⠀⣿⣯⣿⣽⣳⢯⣟⢾⣸⠁⠀⣸
⢦⣤⣀⣀⠀⠀⠀⠀⠀⣧⠳⣜⢡⣿⣻⢮⣗⡿⣞⣯⣾⢳⠀⠀⠀⡀⠀⣎⠳⣜⣃⠀⠘⡱⢯⣷⣳⣏⡿⣯⢿⣽⢯⣟⡿⣾⡽⣯⣟⣳⣯⢿⣻⠀⠀⢾⣽⣻⡽⣷⣦⡀⠀⠀⠀⠀⠒⠦⣤⢀⡀⠀⠀⠀⠀⠀⣀⠀⠈⢷⣟⣿⣞⣿⠭⠃⠀⣠⣞⣷⣻⣛⣧⢿⣟⣾⢷⡄⠀⠀⠀⣤⣞⡿⣏⠇⠀⠀⣿⣟⣾⣳⣟⣻⡞⢧⠃⠀⢠⢻
⡷⣞⡽⢮⠃⠀⠀⠀⢰⢣⡛⡜⡆⣿⣽⣛⡾⣽⣻⣭⡟⡆⠀⠀⠀⠀⠘⣬⢛⢦⡝⣂⠀⠈⢯⣻⢗⣯⢿⣽⢯⣟⡿⣞⣿⣳⣟⣯⢿⡝⣯⣿⠧⠀⠀⣹⣾⣳⡿⣟⣾⣟⣧⣤⣀⢀⣠⡶⣯⡷⣽⣳⣶⣶⣶⣻⣽⣢⠄⠀⠙⠾⡳⠃⠀⣠⢾⡿⣽⣞⣷⣻⣾⣟⠛⠚⠋⠀⠀⢰⣾⡿⣽⣟⠾⠁⠀⢀⣿⣿⣳⡟⣾⢽⣭⠓⠀⢠⣿⣻
⣟⡾⣽⠋⠀⠀⠀⠀⣏⠖⡹⡜⣥⢻⡾⣭⢿⣽⣳⢯⡷⠂⠀⠀⣸⠀⠀⠸⣭⠲⣭⢓⡆⠀⠈⢷⣻⢮⡿⣽⣻⢾⣽⡻⣷⣏⣿⣞⢿⣻⠿⣽⣟⡀⠀⢿⣻⣽⡿⣟⣿⣞⣯⠷⠞⠿⣽⡿⣽⣛⡷⣫⢿⣼⣹⢯⡷⣟⣦⡳⢄⠀⠀⠀⣼⢯⣟⣵⣻⣞⣳⢿⣳⣿⣶⡶⣶⢶⣶⣿⣳⣿⢿⣽⠎⠀⠀⣼⣿⢾⣯⢿⣽⢻⡬⠃⠀⣾⢷⣿
⡿⣜⠃⠀⠀⠀⠀⣜⡣⢋⡵⣙⠦⡿⣽⣏⣷⢻⣽⡏⡟⠀⠀⢀⢧⣃⠀⠀⠀⠻⡴⣋⡞⡥⠀⠀⢞⣻⢿⣷⣻⢿⡾⣟⣿⢾⣟⡾⣿⣻⢿⣻⠾⣥⠀⠈⣿⢯⡗⠈⠉⠎⡙⡄⠀⠀⢹⣟⡿⣝⣷⣻⣟⡾⣽⢯⣻⣽⣞⠧⠈⠀⣠⢟⣾⢧⣟⡾⣳⣯⣟⣯⢷⣻⢶⡽⣯⣟⣾⢳⣯⣿⣻⠞⠀⠀⣸⢿⣾⢿⣽⣻⣞⢧⡏⠀⢰⡿⣿⣻
⡟⡜⠀⠀⠀⠀⣸⠖⣍⡓⢶⡩⢞⣽⢶⣻⣞⡿⣯⡗⡇⠀⠀⠈⢶⡩⢆⠀⠀⠀⠑⢣⢞⣱⢃⡀⠈⠞⠻⠞⠏⠛⠙⠋⠈⠉⠀⣹⡷⣟⠏⠓⠉⠀⠀⠀⠉⢿⣻⣆⠀⠀⠈⣟⣀⣠⣰⣿⣻⢾⣽⣳⢯⡿⣽⣳⣯⣷⠋⠀⠀⣰⢯⣟⡯⣟⣾⡽⣷⣟⣾⣽⣻⢯⣿⡽⣷⣻⣾⢯⡷⣯⠓⠀⠀⣰⣿⣟⡾⣯⡷⣟⣾⡝⠆⠀⣾⣿⣟⣿
⡝⠀⠀⠀⠀⢠⡻⡜⢢⡛⢦⡝⣎⡿⣯⢷⣯⣾⢷⡹⠀⠀⢀⡀⠀⢫⡝⡄⠀⠱⡀⠀⠈⠧⢏⡲⠀⠀⠀⠀⠀⠀⣠⣤⣶⢿⣼⡽⠍⠁⠀⣀⣀⢠⣀⣀⠀⠀⢻⣞⣷⣢⢄⠀⠙⠯⣽⡾⣽⣾⡳⣟⣯⣽⡷⣿⣞⠃⠀⢀⣼⣳⡿⣾⣽⣻⣾⡽⣷⠿⣾⡽⣯⣿⢾⣽⣷⢿⣯⣿⠛⠀⠀⢀⣶⣟⣷⣹⣟⣷⣻⡽⣷⢻⠀⢠⣿⢷⣿⣻
⠁⠀⠀⠀⢀⢧⡳⢍⢧⡙⢮⡜⡼⣽⡽⣞⣾⡽⠃⡀⠀⠀⢸⣷⡄⠀⠸⣱⡀⠀⠀⠀⠀⠀⠉⠘⢯⠄⠀⠠⣶⢻⣽⣷⣻⠿⠈⠁⢀⣴⡾⣾⡽⣶⣻⣾⠷⣄⠀⠘⠹⣯⣟⡷⡀⠀⠀⠘⣿⢶⣻⣭⣟⣳⡟⠧⠁⠀⣰⣾⣳⣯⣟⣮⢷⣻⣾⡽⣯⣿⣳⣟⣷⣹⣯⢟⣾⠛⠃⠁⠀⢀⣴⣿⢻⣞⣷⣻⣞⡷⣏⣿⣽⠣⠀⣼⢿⣯⡿⣿
⠀⠀⠀⡠⢋⠶⣹⡘⢦⡙⡶⣩⢽⣧⣻⣽⡳⣟⡅⠀⠀⠀⡟⠓⠈⠀⠀⠀⠳⠄⠀⠀⠀⠀⠀⣀⠀⠈⠂⠀⠘⢯⢷⡽⠃⠀⢀⣼⣿⣻⣝⣳⢿⣹⢷⣫⣿⣞⣳⣆⡀⠀⠛⠾⣍⡷⣦⢶⡿⣯⣟⣾⣻⠗⠋⠀⢠⣞⡵⣻⣯⢿⣽⡛⠻⣿⣳⣿⣳⢷⣯⢿⡾⣟⠞⠛⠈⠀⢀⣤⣞⡿⣽⢼⣻⣟⣾⣳⣯⡿⣽⣾⣟⠃⠀⣿⡿⣾⢿⣿
⠀⠀⡰⢡⢋⠖⣥⢛⡬⢳⡱⢽⣞⣳⢯⣞⣿⣱⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠈⠂⠀⠀⡴⣻⡽⣟⣶⣤⣀⠀⠈⠘⠀⢠⣾⢯⣟⡾⣧⢿⡽⣯⣟⣯⢷⡻⣞⣿⣾⢿⡶⣤⣀⠀⠉⠀⠋⠐⠈⠙⠈⠀⠀⡀⠈⢿⣽⣻⠷⠀⠉⠉⠁⠀⢘⡿⣽⣻⢿⡞⡟⠉⠀⠀⣀⣤⣞⢯⡷⣯⡽⣯⣟⣷⣻⢷⣻⡾⣽⢷⣻⠎⠀⢸⣯⣟⣿⣻⣽
⠀⢬⡑⢣⠎⠼⣘⠧⣚⠵⣊⣿⡽⣻⢾⣽⣻⡆⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠀⢀⣀⠀⠀⠉⢷⣻⡽⣷⢯⢷⠃⠀⠀⣰⢟⡿⣞⣯⢿⡽⣯⣟⣷⣻⣞⣯⢿⣹⠾⣝⣿⡽⣷⣯⢷⣦⡀⠀⠀⠀⠠⢤⡶⣟⣿⡀⠈⠉⠙⠯⠀⠀⢶⣒⣾⣟⡿⡽⠋⠋⠀⠀⣀⡰⣿⡽⣞⣯⢿⣹⢷⣟⡷⣟⡾⣽⣻⣷⢿⣯⠟⠁⠀⣠⣿⡟⣾⣳⢿⣽
⠈⢦⡙⢆⢎⡱⢭⡚⢥⠳⣹⣾⣽⣻⠾⣽⢿⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⣿⣞⣷⡶⣄⠀⢹⡿⣽⠫⠂⠀⠀⣼⣟⣾⣽⣻⣞⣯⣟⣷⣻⡞⣷⣻⢾⣯⣟⡿⣽⢾⣝⣳⣯⣟⣷⣭⣷⣤⣀⠀⠀⠻⢟⣾⡽⣄⠀⠠⢄⣀⣤⡞⠿⠚⠉⠀⠀⢀⣤⣖⣿⣽⣻⡳⣿⣝⡾⣯⡟⣿⣞⣿⡽⣿⣻⡽⡟⠋⠀⢀⣠⣾⢿⡵⣿⣳⣯⡟⠎
⠀⠀⠈⠘⠢⠙⢆⠻⣌⣳⣟⣾⣱⢯⡽⣟⡯⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⢿⡽⣞⡯⣟⣿⣻⢧⣞⢿⡀⠁⠀⠀⣼⢿⣯⡷⣞⣷⣻⢾⡽⣞⣷⣻⢷⡯⣟⡾⣭⡿⣽⣟⡾⣷⣟⡾⣯⢻⣾⣳⣯⣏⢦⡄⡀⠈⠛⠽⢆⠀⠈⠉⠀⠀⢀⣀⡤⣶⢯⡿⣞⡿⣞⡷⣯⣟⡷⣯⣟⣶⡿⣽⡾⡿⣝⠳⠉⠀⠀⣠⣴⣿⣻⡽⣯⣟⣷⡻⠜⠁⠀
⣠⢀⠀⠀⠀⠀⠈⠀⠘⠓⠻⣽⢯⣿⢻⣏⡇⡇⠀⠀⠀⠀⠀⣴⡾⣿⣹⢯⡽⣾⣝⡾⣵⣻⣏⡾⠉⠀⠀⠀⣾⢯⡿⣷⣻⣽⣾⡽⣯⢿⣽⣞⡷⣯⣟⣾⣽⣳⣿⣳⣯⢿⡷⣯⢿⣽⣳⣯⣷⡿⣯⢯⣽⡻⣴⢤⣀⠀⠀⢀⣠⡶⣽⣻⠾⣽⣛⢿⡼⣽⢯⡿⣽⣳⣯⣟⡿⡽⢏⡟⠡⠙⠀⠀⢀⣤⣶⡿⣟⣿⣞⡷⣻⢷⣻⣞⡷⣤⣶⢿
⢧⣋⢯⡓⡶⡤⣄⣀⠀⠀⠀⠀⠈⠘⠣⣛⠼⣅⠀⠀⠀⣀⡾⣷⡿⣿⣹⢯⣟⡷⣯⣟⣿⣳⡯⠁⠀⠀⠀⣼⢯⣿⣹⢯⣷⣻⢾⣽⢯⣟⡾⣽⣻⣽⣛⣾⣽⣳⢯⡷⣯⡿⣽⢯⣟⡾⣽⢻⠞⡉⠁⠉⠉⠁⠉⠃⢋⡟⣻⢏⡿⡽⣟⣯⣿⢶⡿⣯⣟⣯⣿⠻⠻⠍⢳⠍⠣⠁⠉⠀⣀⣠⣴⣾⣿⣻⣾⢻⣟⡷⣯⢿⡽⣯⢷⡾⣝⡳⣿⣿
⢧⡹⢦⣙⡱⢳⣍⢮⣝⡲⢤⣀⡀⠀⠀⠀⠙⠂⠀⠀⠀⠙⣻⣽⣳⣯⢟⣯⡿⣽⠷⣯⣷⠿⠁⠀⠀⠀⣸⠏⢿⣞⣷⣻⢾⣽⣻⣞⣯⢿⣹⢯⣗⣯⢿⡽⣶⣟⡿⣽⣻⣽⡻⢯⢯⡝⢮⠳⠉⠐⠉⠁⠀⠀⢀⡀⣀⠀⠀⠉⠐⠙⠞⢲⡱⣎⢻⡱⣍⠠⠬⠓⠓⠈⠁⠀⣀⣤⢶⣟⣷⣻⣟⢾⡽⣷⣫⡿⣯⢿⡽⣏⢿⣽⣫⢿⣅⢻⡷⣿
⢣⠝⢦⠣⣝⠲⣬⢓⡬⣝⣣⠽⣸⠕⣦⢀⠀⠀⠀⠀⠀⠀⢵⢯⣷⣫⣟⠾⣽⣫⣟⡿⣽⠃⠀⠀⠀⡰⠏⠀⣼⣻⠾⣽⡻⣜⣿⣹⡾⣟⢯⣟⡾⡽⢯⡟⣧⢿⣻⡽⢟⢧⡻⣝⠚⠈⠁⠀⠀⠀⠀⠢⡙⢎⡱⠜⡤⢋⠖⡲⢄⣄⣀⡀⠀⠀⠀⠁⠀⠀⣀⣀⣤⣤⣶⣿⣽⣯⡿⣾⣻⣽⣮⣿⣻⣷⣻⡽⣯⢿⣽⣫⢟⣶⢯⣟⡮⢳⣟⣿
⡑⠎⡆⠓⣌⠳⣡⠳⡜⢦⡱⢫⡕⡻⣔⢫⡳⣆⡄⠀⠀⠀⠈⠻⣰⠿⣼⣻⢧⢿⣼⣻⠁⠀⠀⠀⠀⠀⢠⣾⢿⡽⣫⢷⣻⡽⣞⠷⢩⣽⢻⣞⡷⣿⣏⡿⣟⡾⣣⢽⠫⠎⠁⠀⠀⠀⠐⢿⠀⠀⠀⠀⠈⠑⠨⢓⡌⢣⢚⡱⢊⡔⢮⣿⡿⣷⣾⣶⡷⣿⣽⣻⣞⡷⣿⣽⣻⣼⣟⡷⣯⢷⣯⢷⣻⢾⣵⣻⣽⣻⣞⡷⣯⣟⡿⣾⡕⣫⢾⣿
⡘⡱⢈⠳⢄⠳⣄⢣⠙⢦⡙⡷⣘⠗⣎⠷⡳⡼⣘⢧⢆⡀⠀⠀⠈⠛⠃⢿⣯⣷⣻⠇⠀⠀⠀⠀⢠⣼⣻⣼⡿⣾⢽⣳⡻⠗⢉⣴⣟⣾⡽⣾⡽⣷⠯⠟⢣⠏⠑⠈⠀⠀⠀⠈⢀⡀⠀⢻⠀⠀⠀⠀⠀⠀⠀⠀⠈⠁⠃⠘⠡⠚⠼⠷⠟⣿⢳⡿⡽⢷⡟⡿⣾⣟⣿⣽⣷⡿⣾⣿⣻⡿⣾⡿⣽⣻⣞⡷⣯⣗⣯⢟⡾⣹⢻⡵⢏⡹⣟⣿
⡱⢡⢋⠦⡩⠖⣌⠲⣉⠆⡉⠖⢭⡛⣬⢳⠳⣍⡳⢎⡧⠉⠀⠀⠀⠀⠀⠁⠘⠋⠏⠀⠀⠀⠀⠠⠛⢾⣟⣯⣿⢯⠗⠃⠁⣤⣟⣯⣿⢯⣟⣷⡙⠀⠁⠀⠀⠀⡠⠐⠀⠀⠤⠊⢷⡡⠀⣻⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⣼⣻⢾⣟⣾⢿⣟⣷⡿⣟⣿⣽⡿⣷⣿⣻⣷⣻⣮⣿⢾⣵⣿⣼⣦⣷⣯⣿

View file

@ -1,31 +0,0 @@
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡴⢻⡄⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠞⠀⠀⣷⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢸⠳⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⠏⠀⠀⠀⢻⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⡇⢻⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣞⣽⠀⠀⠀⠀⢸⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⢧⠀⢃⠣⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣆⠀⠀⠀⡰⢹⠋⠀⠀⠀⠀⠀⠸⡇⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⢸⠀⠸⡄⠑⢄⠀⠀⠀⠀⠀⣀⣤⡤⢤⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠜⣇⣠⠊⠀⢨⠆⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⣇⠀⡇⠀⠀⠑⢦⣀⡴⠋⠁⠀⠀⠀⠀⠈⠙⠓⠤⣤⣀⡀⠀⢀⣠⠞⠀⢸⠁⠀⠀⢸⠂⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⡄⡇⠀⠀⠀⠀⡍⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠀⠀⠀⠀⠀⣇⠀⠀⡟⠀⠀⠀⠀⠀⠀⢰⡇⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢀⣄⠀⢣⢰⠀⠀⠀⢸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⢠⡾⡀⠀⠀⠀⠀⠀⠀⢸⠁⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⡾⠁⠳⣸⣿⠀⠀⠀⠘⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣧⠞⡇⠇⠀⠀⠀⠀⠀⠀⠾⠴⠒⢲⠀
⠀⠀⠀⠀⣤⢄⡀⣇⠀⠀⠈⢿⢂⠀⠀⠀⠱⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣯⣾⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡿⠀
⠀⠀⠀⠀⢿⠀⠈⠉⠀⠀⠀⠸⣮⡇⠀⠀⠀⠘⠢⣀⠀⠀⠀⣀⡤⠤⠐⠒⠚⠉⠉⠉⠙⠒⠠⠜⢋⢹⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡼⠀⠀
⠀⠀⠀⠀⠘⣆⠀⠀⠀⠀⠀⠀⢡⡈⢳⡄⠀⠀⠀⠀⠀⠀⠀⢠⣵⡀⠀⠀⠀⢰⣾⡽⠟⠒⠂⠀⠘⢌⠀⠀⠀⠀⠀⠀⠀⠀⣀⠄⢿⡀⠀⠀
⠀⠀⠀⠀⠀⠈⠢⡀⠀⠀⠀⠀⠀⢳⢦⣻⡄⠀⢀⣰⠤⡄⠀⠘⣿⠇⠀⠀⠀⠀⠀⢀⣠⣤⣤⣤⣄⡀⠱⡤⠄⠀⠀⠀⠀⠐⣅⠀⠀⣹⠆⠀
⠀⠀⠀⠀⠀⢀⡼⠁⠀⠀⠀⠀⠀⠀⢣⣹⡿⠖⢻⣟⠈⠁⠀⠀⠈⡆⠀⠀⠀⠀⣰⣿⠿⣿⡏⣿⣿⣿⣷⣷⡇⠀⠀⠀⠀⠀⠈⠲⢎⡁⠀⠀
⠀⠀⠀⠀⠀⠛⠤⠤⠤⣶⠀⠀⠀⠀⢀⣏⣔⣾⣿⣿⣿⣴⣄⠀⠀⠁⠀⠀⠀⠀⣿⠁⠘⣿⣧⠻⣿⣿⠟⣁⠉⠢⣀⡀⠀⠀⢀⣠⠞⠁⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣀⠞⡇⠀⣸⣾⡟⢻⡇⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⢿⠀⠀⠘⣻⡗⢻⢅⠤⠭⣒⠂⠀⠙⡄⢳⢁⡼⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠀⡟⡻⣿⣿⠁⢻⣧⡻⣿⣿⣿⠇⠀⢀⡀⠀⠀⠀⠀⠀⠀⠘⣿⠟⢣⡢⠀⠀⠤⠤⠄⠀⢳⠀⠋⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠟⠁⢨⠉⠀⠀⡟⠛⠋⠉⡠⠀⢿⣿⡿⠁⠀⡤⠀⠀⠀⠀⠀⠀⡎⢀⣴⣤⣄⣄⠀⠀⠘⡀⡇⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡠⠋⠀⠀⢸⠀⠀⠀⠗⠀⠀⠀⢣⡀⠀⣹⢄⣀⠴⠁⠀⠀⠀⠀⠀⢀⣴⡌⢿⣿⣿⡇⠀⠀⢠⡁⢻⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⣀⣴⡿⠀⠀⢠⡄⡜⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠁⠀⠀⠀⠀⠀⠀⠀⣠⣴⣿⣿⣷⣼⣿⣿⠏⠀⢀⢾⠙⣄⢧⠀⠀⠀⠀
⠀⠀⠀⠀⠀⣠⡾⢻⠋⠀⠀⠀⠈⡫⡅⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⣠⣿⣿⣿⣿⣿⡿⠋⠁⢀⡴⠋⢈⠀⠈⢢⡳⡀⠀⠀
⠀⠀⠀⢀⣾⠋⡠⠃⠀⠀⠀⢀⠞⠀⢧⡆⠀⠀⣀⠵⠤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣁⡀⢀⡴⢋⡔⡠⠋⠀⠀⠀⢳⡌⢦⠀
⠀⠀⢠⡿⠁⡴⠁⠀⠀⢀⡔⠁⠀⠀⠀⠡⡴⠋⠀⠀⠀⠀⠈⠉⢱⠀⠀⠀⠀⠀⠀⣠⣿⣿⣿⣯⣿⣿⣿⡟⠋⠁⠀⠀⠀⠀⠀⠀⠀⡟⡀⣧
⠀⠀⣟⠁⡜⠁⠀⠀⡰⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⡁⠙⢦⠀⠀⠀⠀⢠⠏⢹⣟⠛⠛⠛⢉⡙⠻⡆⠀⠀⠀⠀⠀⠀⠀⠀⣇⠀⢸
⠀⢸⠸⡼⠀⠀⢀⠎⠀⢀⣴⣶⣶⣶⣶⣄⣀⡀⠀⠀⠀⠀⢀⡟⢦⠀⢧⠀⠀⠀⡼⠀⠸⠂⠀⣰⡾⠿⡞⢦⠹⣠⣶⣶⣾⣶⣦⡀⢰⠟⢀⡿
⠀⢸⡼⠀⠀⣠⠃⠀⣠⣿⣿⣿⣿⣿⣿⣿⣿⣏⠉⠉⡆⠉⠉⢦⠈⡆⢸⠤⠤⠤⡗⡆⠀⠀⢰⢣⢱⣔⠘⠮⢽⣻⣿⣿⣿⣿⣿⣿⡏⣀⡾⠁
⠀⣸⠁⠀⠀⠁⠀⢀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠀⢰⠀⢠⣛⣄⠃⡼⠀⠀⠀⢿⠀⠀⠀⠘⠚⢾⣿⣤⡶⣼⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀
⠀⡏⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⢸⠀⢀⠟⠈⣠⠁⠀⠀⠀⠘⡄⢨⡇⠀⠀⠈⠀⢋⡻⠋⣸⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀
⢸⠁⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⡘⢴⣾⠀⡴⠁⠀⠀⠀⠀⠀⣿⡀⠀⠀⢀⣀⠀⠀⠀⢠⡿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀
⢸⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣰⠃⠊⣠⠞⠀⠀⠀⠀⠀⠀⠀⢿⠇⠀⠀⠈⣿⠀⠀⠀⠘⠛⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀

View file

@ -1,15 +0,0 @@
⠀⠀⢠⠔⢆⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⠏⢆⠀⠀⠀⠀
⠀⠀⡜⠀⠈⢶⡀⠀⠀⠀⠀⢠⠆⠀⠀⣠⠾⠉⠀⢈⠀⠀⠀⠀
⠀⢀⡄⠀⠀⠘⡌⢢⣆⣀⣴⣷⣷⣾⡏⣋⡭⡕⠂⢸⡇⠀⠀⠀
⠀⢸⡇⠠⠀⠈⡀⠀⠉⠻⢿⣿⣯⠭⠹⡿⣎⠁⣠⣸⠇⠀⠀⠀
⠀⠀⡁⠐⢃⠠⣱⠀⡀⠄⠈⠙⢿⣷⣤⣵⣜⣣⣼⣽⡄⠀⠀⠀
⠀⠀⢱⠄⠺⢥⠘⡼⠁⢀⡠⠴⠆⠉⠻⢿⠿⣏⢉⡟⠃⠀⠀⠀
⠀⠀⢰⡏⣑⠒⠸⠁⠀⢊⣠⡤⣴⠀⢆⢰⠶⣽⣿⣾⠀⠀⠀⠀
⠀⠀⠰⣿⣷⣶⡄⣀⣠⢾⣿⡿⢸⠄⢀⣺⣇⠿⡯⠿⡤⠀⠀⠀
⠀⠀⢐⣾⠒⠈⠆⠀⠈⠉⠒⠀⠀⠈⠀⠈⢀⣂⡵⡈⢑⡀⠀⠀
⠀⠀⠼⣏⣆⣂⠤⡀⠀⠀⠀⠐⠆⠀⠀⠸⢷⣶⠞⠈⢓⡂⠀⠀
⠀⠀⠈⠙⣾⠀⣀⣒⣦⣀⡀⠀⠈⠠⣌⢁⠤⡦⡤⠳⠘⠀⠀⠀
⠀⠀⠀⠈⠉⢁⣨⣁⢿⠟⠝⡷⣶⡦⢬⣐⡪⠟⠀⠀⠀⠀⠀⠀
⠀⠀⢀⣀⡄⠮⠛⠏⠄⠆⠀⠈⠉⠉⠹⠻⠖⢴⢠⢄⢀⠀⠀⠀
⢀⡴⠟⠋⠀⠀⠀⠤⠁⠐⠤⠀⠀⠀⠀⠔⠉⠓⢒⡈⢹⢷⡄⠀
⢰⠃⠀⠀⠀⠀⢘⡖⠂⠀⠀⠀⠀⠀⠀⠲⠀⠀⠀⠐⠑⡄⠙⣄

View file

@ -1,56 +0,0 @@
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⡄⠀⠀⠉⢢⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡈⠀⢰⠀⠀⠀⠀⢣⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⢴⠀⠀⠀⢃⠀⠀⠀⠀⣂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠒⠀⠀⠀⠀⠀⠄⠀⠀⠀⡿⢦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⠀⢍⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⢀⠀⣈⣢⢔⠀⣀⢄⠀⡀⡐⡵⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢣⠀⠑⠀⠀⠠⠁⠀⢀⢒⢦⠀⢤⡐⠱⡘⢦⡡⠵⢝⢷⡄⠀⢃⢱⠘⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢣⡀⠀⠑⣧⠁⠀⢸⠀⣀⢧⠸⣟⣤⠷⣼⠙⡄⠹⢫⡷⡀⡀⡌⣇⠀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠳⣀⢠⠁⢸⣾⣹⠽⣿⠎⢇⠸⢿⣾⢿⣿⣿⠒⣏⡇⢣⠱⢰⢸⡆⠈⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢉⣧⣶⣻⠁⣯⡦⠀⠀⠘⠀⠈⠁⠊⠀⠈⡀⢹⣿⣸⡟⡜⡌⣿⡀⠀⢣⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣏⣿⡏⡌⣼⣿⢶⡆⢀⠀⠀⠀⠀⠀⠀⠀⢨⡄⠀⠀⠁⡇⣿⣧⠀⠐⣧⢂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⢽⣻⢿⡔⣼⢟⠂⠐⠛⠀⠀⠀⠀⠀⠀⠀⠈⠁⠀⣠⣾⣷⣿⣿⢇⠀⣿⢫⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠺⠙⡎⢹⣾⡦⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⠊⣿⣏⠏⢹⠸⢸⢠⠛⢸⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⠀⢸⠿⢿⣧⣄⡀⠀⣀⣀⣀⣠⣴⣶⣾⣿⣿⣿⣿⣇⠚⠃⠜⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⢂⠐⠀⡆⢀⠀⠀⠈⡀⠀⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡤⠐⠒⠀⠒⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠜⠀⢂⢃⠈⡔⠀⠀⠀⠀⠀⢄⣘⣿⣿⣿⣿⣿⣿⠿⠛⣽⠿⠁⠀⠄⠀⠀⠀⠀⠀⠈⢄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠁⠀⠸⣄⡉⠁⠀⠀⠀⢠⠊⣿⠟⢻⠟⣛⢉⣐⡲⢎⠀⠀⠀⠀⠈⠢⠄⠀⠀⠀⠀⠀⢂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠂⠀⠀⠀⣆⠴⣿⣞⡵⠋⠁⠀⠈⠙⠳⣷⣄⠀⠀⠀⠀⠀⠘⣶⣄⡠⢀⠀⢆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡞⡧⡀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⠋⠀⠀⠀⠀⠀⠀⠀⠀⢸⣷⣤⣄⣠⣤⣤⣿⣿⣿⣷⣾⣿⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢐⠖⠁⠀⠀⠒⠄⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⡀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠑⡄⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠀⠀⠀⠀⠼⣿⣿⡷⢄⠀⠀⠀⣀⠄⢊⣼⣿⣿⣿⡿⢃⡼⠁⠙⠻⡛⠛⠛⠻⠿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢄⠀⠀⠌⣰⣿⣿⣿⣤⣉⣉⣁⣠⣶⣿⣿⣿⣿⠟⢠⠞⠀⠀⠀⠀⠈⢂⠀⠀⠀⠘⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢂⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣏⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠋⠀⡠⠁⠀⠀⠀⠀⠀⠀⠀⠑⠠⡀⠀⠈⢿⣿⠏⠀⢉⣦⡀⠀⠀⠀⠀⠀⠀⠀⠰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⡀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡉⠻⢿⣿⣿⣿⣿⣿⣿⣿⠿⠋⠀⠀⢜⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣱⢶⣻⣵⣶⣿⣿⣿⣧⢀⡠⢔⢶⠀⠀⠀⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠦⡀⡏⠙⠻⠿⣿⡟⠁⠀⠀⠀⢨⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣵⣿⣿⣿⣿⣿⣿⣿⠟⣩⣤⡿⠃⠀⠀⠀⢠⠀⠀⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠃
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⡴⠁⡇⠀⠀⠀⠀⠉⠢⣀⠀⠀⠀⠳⡀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⣿⣿⣿⣿⣿⣿⢟⠟⣻⡫⠗⠉⠀⠀⠀⠀⠀⠘⡄⡆⠈⡀⡔⠀⠀⠀⡠⠁⠀⠀⠀⠀⢀⡌⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣿⠃⠀⡇⠀⠀⠀⠀⠀⠀⣠⣿⣶⣤⢴⠛⠲⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿⠟⠛⣩⠖⡿⠐⠁⠀⠀⠀⠀⠀⢀⠀⠀⠀⣱⣡⣀⠈⠀⠀⠀⠈⠀⠀⠀⠀⠀⢀⣮⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⠇⠀⣀⣼⣤⣤⣀⣀⣤⣾⣿⣿⡏⣠⣾⡛⠒⠂⠈⣀⠀⣠⣾⣿⣿⣿⡟⢁⣴⡪⠒⠁⠀⠀⠀⠀⠀⠀⠀⣀⠾⠒⠀⠁⠀⠘⠺⣯⡶⡄⠀⠀⠀⠀⠐⠊⠐⡺⠁⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣴⣿⣿⣿⣿⣿⣿⣿⡿⠛⠁⠀⣾⣩⠴⠓⠀⠀⠈⣾⣿⣿⣿⣿⣿⣯⠾⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⢀⠄⢉⠀⡄⠀⠀⠀⠀⠀⠀⢧⣘⡄⠀⠀⠀⢀⡴⠊⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠛⢿⣿⣿⡿⠿⠿⢿⠋⠀⢀⡤⠖⠛⡟⢲⣿⡏⠉⣁⣿⣿⣿⣿⠟⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡎⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⢹⡁⠀⠀⡨⠉⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠉⠀⠀⠀⠀⢀⠤⠞⠁⢀⢀⣠⣧⣽⣿⣿⣿⠟⠛⢿⠛⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠹⠉⠃⢂⠀⠀⢀⣶⠁⣀⣤⣶⣾⣿⣿⣿⣿⣿⡿⠁⠀⠀⠈⢆⠀⠀⠈⠐⢄⠀⢀⡀⠀⠀⠀⠀⠀⡀⢸⡂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⢦⣦⣴⣦⣷⣄⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠀⠀⠘⡆⠀⠀⠀⠀⠀⠈⠀⠀⠀⠂⠉⠀⢨⠉⠋⢍⠐⢄⠀⠀⠀⠀⠀⠀⠀⠀⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠿⢿⣿⡟⠀⠀⠀⠀⠀⠀⠀⢸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠱⡌⢇⠀⠀⠀⠀⠀⢐⡜⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⢸⣿⣿⣿⣿⣿⡟⢋⠉⠉⠀⠀⠀⠀⢀⣿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⢸⠀⣀⠤⠔⠂⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡏⠈⣿⣿⣿⣿⣿⣿⣿⣦⣄⠀⠀⠀⢰⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⢇⠚⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣇⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡂⢠⣿⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⢀⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡰⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⣾⣿⠇⠀⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⢸⢧⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⠊⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣴⣿⣿⣿⡿⠛⢷⠀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠘⠉⠐⠠⠄⣀⡀⠀⢀⡀⡖⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢀⣠⣶⣿⣿⣿⡿⠋⠁⠀⠀⠈⢃⠀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⣀⣴⣾⣿⣿⣿⠿⠋⠁⠀⠀⠀⠀⠀⠀⠀⢢⠀⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠴⣞⣫⣶⣿⠟⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠣⠀⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣠⣴⡿⠟⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢲⡀⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠟⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠪⢂⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠑⣅⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⠀⠀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠰⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⣿⣿⠿⠛⢿⣿⣿⣷⠀⠀⢀⣠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⡛⣿⡀⠀⠀⠙⣻⣿⣷⡾⠛⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢿⣷⣀⣠⣴⠿⠋⠁⢀⣴⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢫⡉⠉⠀⢀⣠⣶⣿⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣦⣤⣶⣿⣿⡿⠋⣼⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⡿⠋⣠⣾⣿⢿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⠟⠉⣀⠔⢹⠟⠁⠀⢻⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣶⣉⡠⠊⠁⠸⠀⠀⠘⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀

View file

@ -1,18 +0,0 @@
⠀⠀⠀⠀⣀⡀
⠀⠀⠀⠀⣿⠙⣦⠀⠀⠀⠀⠀⠀⣀⣤⡶⠛⠁
⠀⠀⠀⠀⢻⠀⠈⠳⠀⠀⣀⣴⡾⠛⠁⣠⠂⢠⠇
⠀⠀⠀⠀⠈⢀⣀⠤⢤⡶⠟⠁⢀⣴⣟⠀⠀⣾
⠀⠀⠀⠠⠞⠉⢁⠀⠉⠀⢀⣠⣾⣿⣏⠀⢠⡇
⠀⠀⡰⠋⠀⢰⠃⠀⠀⠉⠛⠿⠿⠏⠁⠀⣸⠁
⠀⠀⣄⠀⠀⠏⣤⣤⣀⡀⠀⠀⠀⠀⠀⠾⢯⣀
⠀⠀⣻⠃⠀⣰⡿⠛⠁⠀⠀⠀⢤⣀⡀⠀⠺⣿⡟⠛⠁
⠀⡠⠋⡤⠠⠋⠀⠀⢀⠐⠁⠀⠈⣙⢯⡃⠀⢈⡻⣦
⢰⣷⠇⠀⠀⠀⢀⡠⠃⠀⠀⠀⠀⠈⠻⢯⡄⠀⢻⣿⣷
⠀⠉⠲⣶⣶⢾⣉⣐⡚⠋⠀⠀⠀⠀⠀⠘⠀⠀⡎⣿⣿⡇
⠀⠀⠀⠀⠀⣸⣿⣿⣿⣷⡄⠀⠀⢠⣿⣴⠀⠀⣿⣿⣿⣧
⠀⠀⠀⢀⣴⣿⣿⣿⣿⣿⠇⠀⢠⠟⣿⠏⢀⣾⠟⢸⣿⠀⠀
⠀⢠⣿⣿⣿⣿⠟⠘⠁⢠⠜⢉⣐⡥⠞⠋⢁⣴⣿⣿⠃
⠀⠀⣾⢻⣿⣿⠃⠀⠀⡀⢀⡄⠁⠀⠀⢠⡾⠁
⠀⠀⠃⢸⣿⡇⠀⢠⣾⡇⢸⡇⠀⠀⠀⡞
⠀⠀⠀⠈⢿⡇⡰⠋⠈⠙⠂⠙⠢
⠀⠀⠀⠀⠈⢧

View file

@ -1,8 +0,0 @@
,
/|\
/||
,____,-'__'-,-.-.
'-._(/(\-.
'-.(_/\/_.)
a.'\''',-
'._/,-'

View file

@ -1,32 +0,0 @@
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀████⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀████░░██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀████⠀⠀░░██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██░░⠀⠀░░░░░░██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀██⠀⠀⠀⠀⠀⠀░░██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀████⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██░░██⠀⠀⠀⠀⠀⠀⠀⠀░░██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
██░░░░██████⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██░░██⠀⠀⠀⠀⠀⠀░░⠀⠀████⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
██░░░░██░░░░████⠀⠀⠀⠀⠀⠀██████░░░░░░██⠀⠀⠀⠀░░░░██████████████⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
██░░⠀⠀⠀⠀████░░░░██████░░░░░░░░░░░░░░██░░░░░░██░░░░░░░░░░░░████⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
██░░░░⠀⠀⠀⠀⠀⠀██░░░░░░░░░░░░░░░░░░░░░░░░░░░░██░░██░░░░░░░░░░░░░░██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀██░░⠀⠀⠀⠀⠀⠀██░░░░░░░░░░░░░░░░░░░░░░░░░░░░██░░██░░░░░░░░░░░░░░░░████⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀██░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██░░░░░░░░░░░░░░░░░░░░░░██⠀⠀⠀⠀⠀⠀
⠀⠀██░░⠀⠀⠀⠀██░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░████░░░░░░░░░░░░░░░░░░░░░░██⠀⠀⠀⠀
⠀⠀██░░░░⠀⠀░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░⠀⠀██░░░░░░░░░░░░░░░░░░░░██⠀⠀⠀⠀
⠀⠀⠀⠀██░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░⠀⠀⠀⠀██░░░░░░░░░░████░░░░░░░░██⠀⠀
⠀⠀⠀⠀████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██⠀⠀⠀⠀⠀⠀██░░░░░░████░░░░░░░░░░░░██⠀⠀
⠀⠀⠀⠀██░░██░░░░░░░░░░░░░░░░░░░░░░░░░░░░██⠀⠀⠀⠀⠀⠀⠀⠀██░░░░██░░░░░░░░░░░░░░░░██⠀⠀
⠀⠀⠀⠀⠀⠀██░░██░░░░░░░░░░░░░░░░░░░░░░░░░░██⠀⠀⠀⠀⠀⠀⠀⠀██████░░░░░░░░░░░░░░░░░░██⠀⠀
⠀⠀⠀⠀⠀⠀██░░██░░░░░░░░░░░░░░░░░░░░░░░░░░██⠀⠀⠀⠀⠀⠀██░░░░░░░░░░░░░░░░░░░░░░░░░░██
⠀⠀⠀⠀⠀⠀⠀⠀████⠀⠀░░░░░░░░░░░░░░░░░░░░░░░░░░⠀⠀⠀⠀██░░░░░░░░░░░░░░░░░░░░░░░░░░░░██
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀░░██████░░░░░░░░░░░░░░⠀⠀⠀⠀██░░⠀⠀░░░░░░░░░░░░░░░░░░░░░░░░░░██
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀████░░░░░░░░░░⠀⠀⠀⠀██⠀⠀░░⠀⠀░░⠀⠀⠀⠀⠀⠀⠀⠀░░░░░░░░░░░░██⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀████⠀⠀░░⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀░░░░░░░░░░░░░░██⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀░░⠀⠀░░░░░░░░░░██⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██████████████████████⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀░░░░░░██⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀░░░░██⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀░░░░██⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀████⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██████⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀████⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀████████⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██████⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀████⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██████⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀

View file

@ -1,29 +0,0 @@
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀████⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██████⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀████
⠀⠀⠀⠀⠀⠀██⠀⠀████⠀⠀⠀⠀⠀⠀⠀⠀████⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀██⠀⠀██
⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀████⠀⠀██░░░░░░⠀⠀░░⠀⠀░░⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀██⠀⠀⠀⠀██
⠀⠀⠀⠀⠀⠀████⠀⠀⠀⠀⠀⠀⠀⠀██░░░░░░░░░░░░░░⠀⠀░░⠀⠀██⠀⠀⠀⠀██⠀⠀⠀⠀████
⠀⠀⠀⠀⠀⠀██▒▒██⠀⠀⠀⠀⠀⠀⠀⠀██░░░░░░░░░░░░░░░░████⠀⠀██⠀⠀⠀⠀██▒▒██
⠀⠀⠀⠀⠀⠀██▒▒▒▒██⠀⠀⠀⠀⠀⠀⠀⠀██████████████████████⠀⠀⠀⠀██▒▒▒▒██
⠀⠀⠀⠀⠀⠀⠀⠀██▒▒▒▒██⠀⠀⠀⠀░░░░░░░░░░░░░░░░░░░░██⠀⠀⠀⠀██▒▒▒▒██⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀██▒▒▒▒▒▒██⠀⠀░░░░░░░░░░░░░░░░░░░░░░░░██▒▒▒▒▒▒██⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██▒▒▒▒▒▒██░░░░░░░░░░░░░░░░░░░░░░██▒▒▒▒▒▒██⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██▒▒▒▒▒▒▒▒██░░░░░░░░░░░░░░░░░░░░██▒▒▒▒▒▒██⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██▒▒▒▒██░░░░░░░░░░░░░░░░░░░░░░░░██▒▒▒▒██⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██▒▒██░░░░░░░░░░░░░░░░░░░░░░░░░░██▒▒██⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀██░░░░██░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀██░░░░░░██░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀██░░░░░░░░██░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██⠀⠀⠀⠀⠀⠀
⠀⠀██░░░░░░░░░░░░██░░██████░░░░░░░░░░░░░░██████░░██⠀⠀⠀⠀⠀⠀
⠀⠀██░░░░░░░░░░░░██░░░░░░░░██░░░░░░░░░░██░░░░░░░░██⠀⠀⠀⠀⠀⠀
⠀⠀██░░░░░░░░░░░░░░██░░░░░░░░██░░░░░░██░░░░░░░░██░░██⠀⠀⠀⠀
██░░░░░░░░░░░░░░░░░░██░░░░░░░░⠀⠀⠀⠀░░⠀⠀░░░░░░██░░░░██⠀⠀⠀⠀
██░░░░░░░░░░░░░░░░░░░░████░░⠀⠀⠀⠀████⠀⠀⠀⠀████░░░░░░░░██⠀⠀
██░░░░░░░░░░██░░░░░░░░░░░░████⠀⠀⠀⠀⠀⠀⠀⠀██░░░░░░░░░░░░██⠀⠀
⠀⠀██░░░░░░░░██░░░░░░░░██████████████████████░░░░░░░░██⠀⠀
⠀⠀██░░░░░░░░░░████░░░░░░⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀░░░░░░██⠀⠀
⠀⠀⠀⠀████████████████████████████████████████████████⠀⠀⠀⠀

View file

@ -1,23 +0,0 @@
⠀⠀⠀⠀⠀⠀⠀⣀⡈⢯⡉⠓⠦⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠻⣉⠹⠷⠀⠀⠀⠙⢷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⣠⠞⠀⠀⠀⠀⠀⠀⠀⢿⡇⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⢈⡇⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⡇⠀⠹⠝⠀⠀⠀⠀⠀⣼⠃⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⣠⠞⠀⣀⣠⣤⣤⠄⠀⠀⢠⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠚⠢⠼⠿⠟⢛⣾⠃⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢀⡴⣻⠃⠀⠀⠀⠀⢸⡉⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⣰⢻⡷⠁⠀⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⢰⢽⡟⠁⠀⠀⠀⠀⠀⠀⠀⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⢾⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⡆⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⢸⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠘⢧⣳⡀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣷⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠈⣷⣱⡀⠀⠀⠀⠀⣸⠀⠀⠀⠈⢻⣦⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢸⣷⡙⣆⠀⠀⣾⠃⠀⠀⠀⠀⠈⢽⡆⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠸⡇⢷⡏⠃⢠⠇⠀⠀⣀⠄⠀⠀⠀⣿⡖⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢀⡇⢨⠇⠀⡼⢀⠔⠊⠀⠀⠀⠀⠀⠘⣯⣄⢀⠀
⠀⠀⠀⠀⠀⠀⠀⢰⡇⣼⡀⣰⣷⠁⠀⠀⠀⠀⠀⠀⠀⠀⣇⢻⣧⡄
⠀⠀⠀⠀⣀⣮⣿⣿⣿⣯⡭⢉⠟⠛⠳⢤⣄⣀⣀⣀⣀⡴⢠⠨⢻⣿
⠀⠀⢀⣾⣿⣿⣿⣿⢏⠓⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⢨⣿
⠀⣰⣿⣿⣿⣿⣿⣿⡱⠌⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⢭⣾⠏
⣰⡿⠟⠋⠛⢿⣿⣿⣊⠡⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣼⡿⠋⠀
⠋⠁⠀⠀⠀⠀⠈⠑⠿⢶⣄⣀⣀⣀⣀⣀⣄⣤⡶⠿⠟⠋⠁⠀⠀⠀

View file

@ -1,29 +0,0 @@
⠀⠀⠀⠀⠀⠀⠀⠀⠴⣄⠀⠀⠀⠀⣀⣀⣀⠤⣤⣄⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⣏⠀⠋⠀⠀⢀⣨⡭⠽⠿⢯⡛⢿⡑⢦⡀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠘⢦⡤⠤⢖⣉⣁⣀⠀⠀⠀⠙⡄⠱⡀⠹⡄⠀⠀⠀⠀
⠀⠀⣀⠀⠀⠀⢀⠜⣁⠴⠚⠉⣁⣀⡀⠑⡀⠀⠀⠀⠀⡇⠀⠹⡄⠀⠀⠀
⠀⢺⠉⠃⠀⢠⡿⠚⣁⣤⠞⠉⣠⠤⠬⣷⡀⠀⠀⠀⠀⠇⠀⢀⣷⠀⠀⠀
⠀⠀⠙⠒⣲⠟⠓⠋⣵⠋⠀⠀⠈⠁⠀⠈⢧⠀⠀⠀⠀⠀⠀⡼⠀⣇⠀⠀
⠶⠤⠤⠖⢡⠶⣄⡜⠁⠀⠀⠀⠀⠀⠰⠖⣾⠀⠀⠀⠀⠀⡜⠀⠀⢸⠀⠀
⠀⠀⠀⠀⠀⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⡏⠀⠀⠀⠀⠊⠀⠀⠀⢸⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⠞⠀⠀⠀⠀⠀⠀⠀⠀⠀⡸⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⠊⠁⠀⠀⠀⠀⠀⠀⠀⢀⣠⠴⠛⣉⡗
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⠞⠁⠀⠀⠀⠀⠀⠀⠀⢰⠋⣡⡶⠛⠉⠁⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠇⠀⠀⠀⢀⣠⠤⢤⣤⣤⡾⠀⣏⣄⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⡾⠀⠀⠀⠰⠛⠉⠉⠉⠛⠉⠀⠀⣿⠀⡆⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⢧⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⠖⠚⡟⡆⢿⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣆⠀⠀⠀⠀⠀⢀⣾⣍⣀⠀⣸⠇⢹⠈⢦⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢦⡀⠀⠀⠀⠈⠸⡄⠈⠉⠁⠀⠀⢣⣠⠃⠀
⠀⠀⠀⠀⣰⢷⡀⠀⠀⠀⠀⠀⠹⣆⠀⠀⠀⠀⢳⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⢻⠀⠉⠍⠳⠤⠤⠤⢶⡄⣇⠀⠀⠀⠀⢱⡀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⢷⡀⠀⠀⠀⠀⡴⠋⠀⢹⠀⠀⠀⠀⠀⣇⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢇⣀⣀⣴⡄⠉⠲⠶⠚⠀⠀⠀⠀⠀⢸⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠸⡄⠈⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢹⡄⠀⠀⠀⠀⢠⠀⠀⠀⠀⠀⡴⠃⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⣙⡶⣄⠀⢀⡘⣆⠀⠀⣶⠞⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⣠⠶⠒⠒⠋⠉⠁⠀⠈⣹⠻⠏⣻⠇⠀⢘⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⣼⣥⡶⠋⠉⠉⠉⠉⠉⠉⠁⢠⡞⠁⣠⡶⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠈⠉⠀⠀⠀⠀⠀⠀⠀⠀⢠⠏⣠⠞⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠏⣼⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣈⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠿⠟⠁⠀⠀⠀⠀

View file

@ -1,42 +0,0 @@
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⢟⢿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⡇⣸⣸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣼⡟⢸⡷⣯⣼⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⡿⣆⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡼⢏⣷⠏⠀⠸⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⣿⠙⠁⢿⡀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡾⢡⡟⢻⠀⠀⠀⣹⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣰⣾⡿⠟⢻⡇⠀⠀⣷⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡾⢡⣸⠁⠈⠀⠀⢠⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⠋⠀⠀⢸⡇⠀⠀⣼⡄⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⡇⣾⢿⡀⠀⠀⠀⣼⣿⣿⣿⣀⣀⡟⠦⣄⠀⠀⠀⠀⠀⢀⡾⣿⡿⠁⠀⠀⠀⢸⡇⠀⠀⣿⣇⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠀⣿⠀⠙⢀⣠⠴⠛⠉⠁⠀⠀⠉⠉⠁⠀⠛⢦⡀⠀⣰⠟⣧⣿⠃⠀⠀⠀⠴⠛⢛⣷⠀⢹⣿⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⠀⢻⡆⠐⠻⣿⡷⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣿⣿⣿⡇⠀⠀⠀⠀⠀⢀⣾⠋⠀⣿⡿⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⡄⠀⣻⣤⠾⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⠀⠀⠀⠀⠐⠶⣿⠁⠀⢠⣿⠇⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣇⣰⠏⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢧⠀⠀⠀⠀⠀⣼⠇⠀⠰⣱⣿⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢳⡀⢀⣠⠞⠁⠀⢀⣼⣿⠇⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⡿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢻⡋⠀⠀⣠⣴⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⢠⠞⠁⠀⢠⣞⡋⢹⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢷⣶⡿⢿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⣠⠏⠀⠀⢠⡏⠀⠱⢼⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣤⠶⣄⠀⠀⠀⠀⠀⠀⠘⢿⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀
⢀⡀⠀⠀⠀⠀⢴⡛⢀⠀⠀⠋⣇⣀⣠⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⠑⣄⢸⡄⠀⠀⠀⠀⠀⠀⠘⣿⣿⡟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠸⡏⠓⠶⢤⡀⠀⣟⠛⠛⠙⠳⠮⣍⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣧⠀⠈⣸⡗⠀⠀⠀⠀⠀⠀⠀⠸⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⣧⠀⠀⠀⠈⠙⠚⢦⣄⡀⠀⠀⠈⠓⠲⠖⠒⢒⣲⣴⡤⣤⣀⠀⠀⠀⣙⣦⣤⣯⡤⠤⠤⢤⣄⡀⠀⠀⠀⠹⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠈⢧⠀⠀⠀⠀⠀⠀⠀⠉⠓⠢⢤⡀⢰⡀⠀⠘⠛⠉⠀⠀⠈⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠐⠺⣧⣤⣤⣤⡿⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠑⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣷⣶⣾⣧⡀⠀⣠⠖⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⣦⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠈⠳⠤⣀⠈⠀⠀⠀⢰⣿⠿⠿⢿⣿⣿⣿⣿⣿⣿⣶⣶⣄⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠴⠎⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠓⠲⠴⠇⠈⠳⢦⣄⣀⠉⠙⠛⢿⣿⣿⣿⣿⠀⢀⣀⣀⣤⡴⣶⡞⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡆⠉⠉⠁⠒⠒⠛⠛⠋⠉⣿⠛⠋⠁⠀⠀⠀⠹⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠁⠀⠀⠀⢄⠀⠀⠀⢀⠄⣷⠀⠀⠀⠀⠀⠀⠀⠈⠛⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⠇⠀⠀⠀⠀⠀⠑⢤⠔⠁⠀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡎⠀⠀⠀⠀⠀⢀⠔⠁⠱⢄⠀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡎⠀⠀⠀⠀⠀⠐⠁⠀⠀⠀⠀⠁⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢳⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⠤⣴⠞⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠝⣆⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢘⠈⠀⡸⠀⠀⠀⠀⠀⠀⠀⠀⠀⢳⣀⠸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣤⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢧⠀⢀⡀⠀⠀⠀⠀⠀⢦⡀⣯⠛⠛⠀⠀⠀⠀⢠⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡼⡄⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡄⣼⠁⠀⠀⠀⠀⠀⠀⣹⠃⠀⠀⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⣹⡀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⡆⠀⠀⠀⡆⠀⠀⣿⠀⠀⠀⠀⠀⠀⢀⣿⢃⣀⠴⠶⠒⠀⠀⠀⠀⠀⠀⠀⢳⣷⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⡠⠴⣶⡒⠲⣾⣇⠀⢀⡾⠀⠀⢀⡇⠀⠀⠀⠀⠀⣀⣾⡿⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⡀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢀⡤⠒⠉⠁⠀⠀⢈⣉⡷⣾⣿⣦⣾⣧⠀⠀⣸⣷⣦⣤⣤⣶⣿⣿⡟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⡏⠲⣄⡀⠀
⠀⠀⠀⠀⠀⣠⠞⠁⠀⠀⠀⠀⠀⠀⠀⠈⠛⢻⣿⣿⣿⣿⣷⣤⣿⣾⢼⣿⣿⣷⣾⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡇⠈⣿⢿⣦
⠀⠀⠀⢀⠞⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣮⣿⣿⢿⣥⣾⣿⣿⣿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣼⢹⠀⠀⡛⣿⠋
⠀⠀⢠⡏⣀⣀⡠⠤⠖⠀⠀⠀⠀⠀⠀⠀⠲⣿⣿⣿⣿⣿⣿⣿⡿⣿⣯⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡴⠋⠀⡿⠀⠀⡿⣿⠀
⠀⠀⣟⠿⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⣹⣿⣿⣿⣮⣻⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⢀⣀⠤⠴⠾⠋⠀⠀⣼⠃⢀⣤⣿⣿⠀
⠀⠀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣶⣿⣿⣿⣿⣿⣿⡗⣿⣟⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠈⠁⠀⠀⠀⠀⠀⣴⠋⠀⣾⡷⠋⠁⠀
⠀⠀⠛⠛⠛⠛⠒⠒⠒⠒⠂⠠⠤⠤⠤⠤⢼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣄⠀⠀⠀⠀⠀⠀⢀⣤⠿⠷⠒⠛⠉⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠛⠛⠻⣿⣿⣿⣿⠟⠋⢻⣿⣿⣿⣿⣿⣇⣿⣿⣿⣿⠿⠟⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀

View file

@ -1,23 +0,0 @@
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠋⠛⢶⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣤⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⡆⠀⠀⠉⠻⠷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⡾⠋⢡⣀⠈⠙⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⠠⢤⣀⠀⠀⠈⢳⣦⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⠟⠈⠀⡁⢻⡓⠘⢿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⡇⠀⠾⠄⠀⠀⠀⣿⣿⣟⡲⣤⡀⠀⠀⠀⠀⣰⣯⣤⠎⠰⡇⠀⣳⠀⠀⢻⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⠀⠰⠦⣤⣀⠀⠈⠏⢿⡑⣌⡟⣦⡀⠀⣴⡟⠾⠓⠒⠒⠦⡀⢹⣇⠀⠘⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⡆⣸⣾⣿⣿⣦⣄⡀⠈⣿⡈⣻⡏⢽⣾⢻⠁⢀⠀⠀⢀⣠⣝⣭⣿⠀⠀⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⡍⠉⠵⢾⡗⠉⢧⢀⠻⣷⣿⣇⡾⠃⠘⠀⣄⠐⠀⠶⢟⣿⣿⣿⠀⠀⣿⣿⡱⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡻⣦⡀⠸⢯⠃⠈⠟⠀⠇⠀⠻⠃⠀⠀⢸⡿⠛⢰⣾⣿⣿⣿⠋⠀⣸⣿⡿⢽⢿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⣟⡙⢶⡮⠛⠀⠀⠀⠀⠀⠀⠀⠀⠀⡟⠁⢀⣾⢹⣿⠋⠛⠀⢠⣥⣿⡄⠘⢻⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠌⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠼⠉⠈⠀⠀⠀⠀⢸⣅⣿⠿⠂⢸⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢈⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⡆⠀⣀⣀⣀⣼⡿⠻⠀⠁⠀⢿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⠃⠀⠀⠀⠀⠀⠀⠀⢀⣠⠀⠀⠀⠀⠀⠀⠀⠀⠉⠣⣿⣍⣭⣉⠀⠀⠭⠖⢦⣼⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⢷⡆⠀⠀⠀⠀⠀⣸⣿⡶⡶⢤⣄⣀⣸⢧⠀⠀⠀⠑⣦⣀⢪⡑⠦⡀⠀⠀⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠾⡟⠀⠀⠀⠀⣠⣿⡿⠿⠷⠚⠉⠁⢉⠻⢽⣟⣀⠀⠀⠙⣦⡙⣷⡈⠣⡀⠸⣏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣾⠃⠀⠀⢠⣴⣿⡉⠉⠀⠀⠀⠀⠐⠛⠓⠀⠘⠛⠿⣶⡄⢹⣷⡜⣧⠀⠈⠀⢻⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡾⠃⠀⠀⠀⢹⡆⢿⡆⠀⠀⠀⠀⣀⣀⣀⠀⠀⠀⠀⠀⠀⠙⢦⠻⡹⡌⢧⡀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⠏⠀⠀⠀⠀⠀⣸⣷⣻⣷⣄⣤⠴⠒⠀⠠⠴⠤⠆⠀⠀⢦⣀⠀⠀⢳⡿⢿⡏⠳⣶⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⣁⣀⠀⠀⣀⣀⣼⣯⣽⣿⠙⠿⠛⣠⣴⡄⠀⠀⠀⠐⠀⠀⢠⢹⠀⠀⠀⠓⢸⢧⠀⢹⣼⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢺⣧⣽⣿⣿⠞⠋⠙⠛⠋⠿⢁⣠⣴⣋⣡⡤⠤⠤⠤⠤⠤⠤⣀⡈⢳⡇⠀⠀⠀⠸⣿⠀⣼⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣿⣿⣉⠀⠀⢀⣀⣤⣶⠿⠛⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠙⠳⢤⡀⠀⠀⢹⣰⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠛⠻⠟⠊⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠑⢧⣾⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀

View file

@ -1,14 +0,0 @@
⠀⠀⠀⠀⠀⠀⠀⣀⣤⡴⠶⠿⠛⢏⡿⠖⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⢀⡴⣞⠯⠉⠈⠀⣠⡶⠊⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⣠⣴⠟⠙⠈⣎⡹⠂⣴⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⢠⣯⡟⢚⣀⠀⠀⠀⡰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⡿⡃⢋⣌⠂⠈⠆⡠⡎⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣸⢿⠎⢰⡈⠀⠈⠀⣹⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣸⣿⡄⠷⣠⠀⠀⠀⡸⡗⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⢹⣾⣿⣷⣛⠀⠀⠀⣜⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠸⣿⢻⣏⠸⡃⠀⠀⠈⢹⢧⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⢻⣿⡮⣠⣗⠒⠤⠀⠀⠹⣳⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⣼⢿⣗⣧⣦⢤⠇⢀⣤⣄⠙⣿⡦⣄⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⠄
⠀⠀⠈⠛⢏⣷⣶⣜⣤⣈⠂⠜⠀⢀⣀⡉⡭⠯⠖⠲⠒⢶⢖⣯⠟⠁⠀
⠀⠀⠀⠀⠀⠙⠻⣿⣿⣷⣷⣯⣔⡿⣃⠦⡵⣠⠠⢤⣤⠿⠋⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠓⠿⠽⣷⣿⣾⡿⠞⠛⠉⠀⠀⠀⠀⠀⠀⠀

View file

@ -1,7 +0,0 @@
\\\\//
==\\__\\///
//\\//
==////==
//\\___//
///\\\\==
//\\\\

View file

@ -1,10 +0,0 @@
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣄⢀⡀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⡿⠀⠀⠀⠀
⠀⠀⠀⠀⣀⣀⣤⠖⠛⠉⠉⠉⠉⠉⠙⠒⠦⣿⣏⣀⠀⠀⠀⠀
⠀⠀⣠⠞⠁⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢵⡄⠀⠀
⠀⢰⣯⠀⠀⢀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⣿⠀⠀
⠀⠈⣇⢀⢠⠇⠀⣶⡶⠄⠀⠀⠀⢠⣶⡶⠀⠀⣸⣀⣼⠟⠀⠀
⠀⠀⠙⠛⠾⡆⠀⠙⠛⠃⠀⠀⠀⠀⠙⠋⠀⠀⣹⠟⠁⠀⠀⠀
⢀⡴⠚⠉⠛⢿⠀⠀⠀⠀⢿⣿⠆⠀⠀⠀⠀⢀⣿⠋⠉⠉⢳⡄
⢾⡀⡄⠀⣄⡼⠻⢧⠤⣤⠤⠤⣤⣠⣦⣾⠶⠞⢿⣤⡄⣠⣀⡷
⠈⠙⠛⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠉⠀

View file

@ -1,18 +0,0 @@
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⠤⣄⣀⡤⠤⠤⡀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣀⣀⣀⡀⠀⡎⠀⠀⠀⠉⠀⠀⠀⠙⡄⠀
⠀⢠⠖⠉⠓⢦⡏⠉⢆⡤⠒⠋⠉⠁⠀⠀⠀⠀⠈⠑⠃⠀⠀⠀⠀⠀⠀⠀⠀⠱⠀
⢠⠃⠀⠀⠀⠀⠀⠀⢨⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇
⡜⠀⠀⠀⠀⠀⠀⠀⡜⠀⠀⢠⠆⠀⠀⠀⠀⠀⠀⠀⠀⡄⠀⠀⠀⠀⠀⠀⠀⠀⡇
⡇⠀⠀⠀⠀⠀⠀⡸⠁⠀⠰⠥⠤⡄⠀⠀⠀⠀⠀⠀⠀⠈⢆⠀⠀⠀⠀⠀⠀⠀⡇
⡃⠀⠀⠀⠀⠀⢠⠃⠀⠀⠀⠀⢸⡁⠀⠀⡴⠀⠀⠀⠀⠀⠀⠣⢄⡀⠀⠀⠀⠀⡇
⡇⠀⠀⠀⠀⢀⠏⠀⠀⠀⠀⠀⠀⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⢲⠒⠒⠋⠁
⢱⠀⠀⢀⡴⠁⢠⡤⢄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡤⣔⠖⠋⠁⠀⠘⣆⠀⠀⠀
⠀⠉⢩⠃⠀⠀⠀⠉⠃⠚⠭⣆⡀⠀⠀⠀⠀⠀⠈⠓⠉⠀⠀⠀⠀⠀⠠⡞⠁⠀⠀
⠀⠰⠧⠤⢄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⢆⠀⠀
⠀⠀⠀⠀⡎⠀⠀⠀⠀⠀⠀⠀⠀⣠⣶⣿⡯⠗⠀⠀⠀⠀⠀⠀⠀⠀⢠⠖⠚⠀⠀
⠀⠀⠀⢸⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠉⠉⠁⠀⠀⠀⢀⠀⠀⠀⠀⠀⢨⠀⠀⠀⠀
⠀⠀⠀⠈⠉⠉⠁⡇⠀⠀⠀⠀⢦⡀⢀⡤⢄⣀⣀⡴⢋⣀⡤⠖⠊⠉⠙⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠛⠉⠉⣉⠭⠉⠋⡏⠀⠀⢀⡇⠈⠓⠦⣄⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⡴⠁⠀⠀⠀⠙⠒⠒⠉⠀⠀⠀⠀⠈⠳⣄⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢀⡜⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢧⡀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀

View file

@ -1,35 +0,0 @@
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣻⠟⠛⠛⠳⣯⡓⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣞⡿⠋⠀⠀⠀⠀⠀⠻⣮⢳⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⣀⢴⣿⣭⣭⣟⠶⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⡿⠁⠀⠀⠀⠀⡀⠀⠀⠘⢷⡹⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⣰⣻⠟⠁⠀⠀⠈⠻⢦⡑⢄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣞⡾⠁⠀⠀⠀⠀⢠⡿⠀⠠⠀⠈⢷⡹⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⣸⣳⠏⠀⠀⠀⠀⠀⠀⠈⠹⣦⡓⢄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣞⣾⠁⠀⠀⠀⠀⢀⣿⠃⢀⠁⠠⡀⠈⣷⣹⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⢠⣯⡟⠀⠀⠀⣤⠀⠀⠀⠀⠀⠈⠻⣮⡣⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡜⣼⠃⠀⠀⠀⠀⠀⣼⡟⢀⠠⠐⠀⢡⠀⠘⣷⢳⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⣼⣿⠃⠀⣴⠀⠹⣷⡀⠀⠀⠀⠀⠀⠈⢷⣜⢦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⠏⠀⠀⠀⠀⠀⢰⣿⠀⠄⠂⠐⡈⠀⢃⠀⢹⣎⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⡟⣿⠀⠀⠏⠀⡀⠻⣷⡀⠀⠀⠀⠀⠀⠈⢻⣌⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣏⡿⠀⠀⠀⠀⠀⠀⣸⡟⠀⠰⠀⠂⠡⢀⠸⡀⠈⣿⢿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⢸⣟⡏⠀⣠⠂⠐⠀⡀⠙⣿⡄⠀⠀⠀⠀⠀⠀⠙⣧⡳⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⠃⠀⠀⠀⠀⠀⠀⣿⠇⡂⠁⠄⡁⠐⠠⠀⢡⠀⠸⣏⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⢸⣿⡇⠀⣟⠀⠠⠁⠀⠄⡈⢿⣆⠐⠀⠀⠀⠀⠀⠈⢿⡜⢦⣀⣤⢴⣖⣶⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⣿⠀⡇⠈⡐⠀⠌⠐⠠⠘⡆⠀⢿⣼⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⢸⣿⡇⠀⡯⠀⢂⠠⠁⠠⠀⠌⢿⣆⠀⠀⠀⠀⠀⠀⣀⣿⣾⡿⠛⠋⠉⠉⢹⡄⠀⢠⡿⠀⠀⠀⠀⠀⠀⠀⠀⣿⡄⣠⣐⡀⠁⠌⠠⢁⠀⢣⠀⠸⣏⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⢸⣿⡇⠀⢃⠐⠀⠄⠠⠁⡐⠈⡈⣿⡆⠀⠀⢀⣴⠿⠛⠉⢸⡇⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠿⢟⠛⢻⡧⠐⠈⡐⠠⢀⠂⠆⠀⣿⣽⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⢸⣿⡇⠀⠀⠂⢈⠀⢂⠐⠀⢂⠐⢸⣧⠀⠀⠀⠀⠀⠐⠀⢸⡁⠀⠀⠀⠀⠈⡗⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣧⣴⣤⡀⠂⢂⠀⡃⠀⢸⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠘⣿⡇⠀⠀⠡⠀⠂⠄⠂⢡⣾⠿⠿⠿⠀⠀⠀⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⣟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⠋⠉⠉⣿⡇⠀⠡⠀⢸⠀⠈⣧⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⡿⣿⠀⠠⠁⠐⠠⠐⠠⡘⢿⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣇⠀⠀⠀⠀⠀⢻⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⡟⠀⢈⠐⠠⠈⠀⠀⣿⢸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⣿⣿⠀⠀⡃⢀⠂⠀⣿⡿⠛⠿⠶⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⡀⠀⠀⠀⠀⠘⣧⠀⠀⠀⠀⠀⠀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠈⢷⡀⢀⠈⠄⠐⡀⠀⢼⡾⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⢿⣿⡇⠀⡇⠀⡀⠂⢹⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⡇⠀⠀⠀⠀⠀⠈⠳⣄⡀⠀⢀⣾⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠈⢿⡄⠢⠐⠠⠀⠀⢸⡇⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⢸⣿⣧⠀⠰⠀⠠⠐⠀⠹⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⠟⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠶⣾⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠘⢿⣄⠂⠐⠀⠀⣼⢧⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠈⣿⣿⠀⠘⠄⠐⠀⠌⢠⡿⠀⠀⠀⠀⣀⣤⣦⣶⣤⣴⠏⠀⣀⣤⣴⣶⣶⣶⣦⣤⡀⠀⠀⠙⢿⣿⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠜⣿⡀⠈⠀⢠⣿⣿⠁⢀⡀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠸⣿⣇⠀⠻⡀⠈⠀⣿⠃⠀⠀⢠⣾⣿⣿⡿⢿⣿⠏⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠉⢿⡛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠐⠘⣿⣀⣴⣿⣿⣿⣿⣿⣭⣟⢦⣀⣀⣀⠀⠀
⠀⠀⠀⢻⣻⣆⠀⠱⣀⢩⣿⠀⠀⠀⠠⠟⠋⠁⠀⣰⠃⠀⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⠀⠀⠈⢷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⡟⠙⣿⣿⠁⠀⢹⣿⡿⠿⣯⡻⡆
⠀⠀⠀⠈⢻⣻⣦⠀⠉⢸⡗⠀⠀⠀⠀⠀⠀⠀⢠⡟⠀⠀⠀⠈⠛⠿⣿⣿⣿⠿⠛⠉⠀⠀⠀⠀⣀⠀⠀⠈⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⡶⠀⣿⣿⡀⠐⠈⢁⠠⠀⣼⣇⡇
⠀⠀⠀⠀⠀⠙⢽⡷⣦⣽⡇⠀⠀⠀⠀⠀⠀⠀⢰⡇⢀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀⣿⠀⠀⠀⠸⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⢿⣝⣿⡼⣿⣧⡐⠈⣠⣤⢾⣫⠟⠁
⠀⠀⠀⠀⠀⠀⠀⠙⢻⣿⠇⠀⠀⠀⠀⠀⠀⠀⢸⠇⠘⣧⠀⠀⠀⠀⠀⢀⣾⣧⣄⣀⢀⣀⣠⣾⠋⠀⠀⠀⠀⠙⢦⣀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣻⡇⠀⠘⢿⣿⣛⡿⠷⠋⠁⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⡾⣿⠀⠀⠀⠀⠀⠀⠀⢠⡟⠀⠀⠈⠳⣶⣤⡴⣾⢿⡹⢮⡝⣯⢻⣽⣿⣿⣄⠀⠀⠀⠀⠀⠀⠉⠓⠦⣤⣄⣀⣀⣠⣤⠿⢻⡞⣷⠀⠀⠀⠉⠁⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢀⣾⣷⣿⠀⠀⠀⠀⠀⣀⡴⠋⠀⠀⠀⠀⠀⠹⣷⡹⣎⢷⡹⢧⣻⣼⠿⣿⣄⠉⠙⢷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⡿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢻⣽⣧⣤⣀⣀⣠⡴⠞⠋⠀⠀⠀⠀⠀⠀⠀⠀⠘⠻⣯⣞⣭⣻⣟⣷⡀⢀⠛⢿⡄⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⣶⣶⣶⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠈⢿⣿⡿⠛⠛⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠛⠛⠛⠻⣧⡈⠐⢈⣡⣾⠏⠀⠀⠀⠀⠀⠀⠀⣀⣤⣶⣯⠿⠟⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠘⢿⣓⣶⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠻⠛⠋⠁⠀⠀⠀⠀⠀⠀⠶⠛⠉⢸⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠻⣿⣺⣿⣿⣻⢦⣤⣤⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⢿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⢿⣿⣧⠀⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡿⣾⠹⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⠛⣯⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢈⣷⡿⠀⠘⠻⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⠟⠁⠀⢿⣸⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⡇⠀⠀⠖⠀⠙⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠁⢶⠀⠀⢸⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠙⠒⠒⠒⠖⠶⠦⠤⠤⢤⡤⣤⠤⣤⢤⡤⣤⢤⡤⠤⠤⠤⠴⠶⠒⠒⠒⠒⠊⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀

View file

@ -1,27 +0,0 @@
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣶⢤⣀⠀⠀⢀⣤⣾⢿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣀⡼⠟⠋⠉⢝⠃⢸⣛⣇⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠋⠰⠀⠀⠀⠈⢧⣀⠹⠹⣆⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡇⢀⡇⠀⢠⡀⠀⠘⣿⡌⠇⣿⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⢁⡾⢳⣦⠘⣟⣆⡀⣿⣷⢠⢺⡇⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣽⣧⡀⠀⠀⢀⣴⣞⡛⣿⣿⣿⡟⢿⠿⠁⠉⠛⢉⣿⣿⡟⢳⣿⠿⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣶⣦⣤⣤⣼⣿⣿⣿⣿⣿⠛⠿⣿⣿⣿⣿⣿⣷⣾⡇⠀⠀⠠⠿⣯⣿⣷⣾⣟⣀⣤⡀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠛⠿⢿⣿⠿⠿⠆⠀⠙⢿⣿⣿⠿⢿⣿⣦⣤⣴⣾⡿⣻⡿⠛⣿⣶⣾⡧⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠳⠶⣤⣀⣀⠀⠙⠷⣀⣼⣿⣿⣿⣿⣥⣾⣿⣧⣼⣿⣿⣿⣷⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣻⣿⠑⢦⡀⠈⠻⢧⣿⣿⠋⠼⢿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⠉⣿⡷⢤⡀⠀⠉⠛⠚⣁⣌⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⠔⠛⠓⢿⠇⠀⢠⣀⡴⠛⢦⣄⠀⢀⣨⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⠞⠁⠀⠀⠀⠘⣶⣀⣼⣿⣉⠙⠚⢿⡿⠿⣄⣿⣏⢻⣿⣿⣿⣿⠃⣏⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⠞⠁⠀⠀⠀⣤⡀⠀⠈⢧⠈⣟⣿⣤⡀⠠⡇⠀⠀⣿⣿⡆⠻⣿⡿⠻⢾⠋⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⠞⠁⠀⠀⠀⣠⠞⠉⣿⣦⡀⢸⠀⠹⣝⡻⣿⣿⠃⠀⠀⣸⣿⠣⡄⠹⣆⠀⠘⢇⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⠞⠙⢄⠀⣠⡴⠚⠁⠀⠀⢛⣹⣿⣎⠀⠀⠀⠑⠚⡛⠀⠀⠀⣹⣿⡷⠄⠀⠈⢷⣄⠈⣷⠀⠀
⠀⠀⠀⠀⠀⢀⣤⣤⣀⡴⠋⠀⣀⣴⠾⠋⠁⠀⠀⠀⠀⠀⡼⣻⣿⣿⣧⡀⠀⠀⢠⠇⠤⣀⣠⣿⣿⡀⠀⠀⠀⢸⠏⠀⣿⡄⠀
⣴⣶⣶⣶⣶⣿⣿⣿⣿⣤⣀⣬⡟⠁⠀⠀⠀⠀⢰⡶⠤⠞⣿⣿⣻⣿⣿⣷⣄⢀⡞⠀⠀⣰⡿⢻⣿⡿⢿⣷⡆⠀⣀⡴⠋⢙⣆
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠁⠀⠀⠀⠀⠀⠀⠙⠲⢄⣉⣿⣿⡿⣿⣿⣿⣿⠇⠀⢰⣿⠳⣼⣿⠃⣠⠀⠙⣆⠀⠀⠀⢻⡟
⠀⠉⠛⠿⠿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠀⠀⢈⡝⠀⢠⣿⡇⠀⢻⡟⠚⠁⠀⠄⠈⢧⡴⠀⠈⣧
⠀⠀⠀⠀⠀⠀⠀⠀⠙⠿⠿⠿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣾⣿⣿⣶⣴⣿⡉⠉⠙⠳⡀⠀⠀⠀⣒⣚⠡⢒⣶⡿
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣻⣿⣿⣿⣿⣿⣿⡀⠀⠀⠀⠉⠲⠤⠤⣄⣸⡤⠔⠋⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⠿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⣿⣿⣿⣿⣿⠟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀

View file

@ -1,142 +0,0 @@
configuration {
modes: [ combi ];
combi-modes: [ window, drun, run ];
}
@theme "colors"
window {
background-color: @background;
border-color: @color10;
border-radius: 12px;
border: 2;
padding: 16;
transparency: "real";
opacity: 90;
}
mainbox {
background-color: transparent;
opacity: 90;
border: 0;
}
message {
border: 2px 0px 0px;
border-color: @color14;
padding: 1px;
}
inputbar {
background-color: transparent;
text-color: @foreground;
spacing: 8;
}
textbox {
background-color: @background;
text-color: @foreground;
}
prompt {
background-color: transparent;
text-color: @color12;
}
entry {
placeholder: "~ rawr :3 ~ *pounces on u* <3 ~ >w< ~";
cursor: pointer;
background-color: transparent;
text-color: @color13;
}
case-indicator {
background-color: transparent;
text-color: @color12;
}
listview {
fixed-height: 0;
border: 2px 0px 0px;
border-color: transparent;
background-color: transparent;
spacing: 2px;
scrollbar: true;
padding: 2px 0px 0px;
}
element {
orientation: horizontal;
spacing: 8;
border: 0;
border-radius: 4;
}
element-icon {
size: 24;
}
element-text {
vertical-align: 0.5;
}
element.normal.normal {
background-color: transparent;
text-color: @foreground;
}
element.alternate.normal {
background-color: transparent;
text-color: @color06;
}
element.selected.normal {
background-color: @color13;
text-color: @background;
}
element.normal.urgent {
background-color: @color14;
text-color: @background;
}
element.alternate.urgent {
background-color: transparent;
text-color: @color14;
}
element.selected.urgent {
background-color: @color13;
text-color: @background;
}
element.normal.active {
background-color: @color12;
text-color: @background;
}
element.alternate.active {
background-color: @background;
text-color: @color14;
}
element.selected.active {
background-color: @color13;
text-color: @background;
}
element-text, element-icon {
background-color: inherit;
text-color: inherit;
}
button.selected {
background-color: transparent;
text-color: @foreground;
}
scrollbar {
background-color: transparent;
handle-color: @color12;
width: 4px;
border: 0;
handle-width: 8px;
padding: 0;
}
mode-switcher {
border: 2px 0px 0px ;
border-color: @color14;
}

View file

@ -3,7 +3,7 @@
enable = true; enable = true;
font = "DepartureMono Nerd Font Mono 10"; font = "DepartureMono Nerd Font Mono 10";
theme = ./ichigo.rasi; theme = ./theme.rasi;
extraConfig = { extraConfig = {
#kb-row-up = "Up,Control+k"; #kb-row-up = "Up,Control+k";

View file

View file

@ -37,7 +37,6 @@ tooltip label {
#network, #network,
#workspaces, #workspaces,
#taskbar, #taskbar,
#submap,
#cpu, #cpu,
#pulseaudio, #pulseaudio,
#privacy, #privacy,
@ -75,7 +74,6 @@ right-side modules
#cpu, #cpu,
#pulseaudio, #pulseaudio,
#tray, #tray,
#submap,
#privacy { #privacy {
margin: 4px 0px 4px 4px; margin: 4px 0px 4px 4px;
} }
@ -98,20 +96,6 @@ right-side modules
border: none; border: none;
} }
#submap.name {
color: @colorfg;
}
#pulseaudio.sink {
margin: 4px 0 4px 4px;
border-radius: 32px 0px 0px 32px;
}
#pulseaudio.source {
margin: 4px 0 4px 0;
border-radius: 0px 32px 32px 0px;
border-width: 1px 1px 1px 0px;
}
/* /*
connects the workspace and taskbar together :3 connects the workspace and taskbar together :3
*/ */
@ -130,7 +114,7 @@ right-side modules
*/ */
#cpu { #cpu {
margin: 4px 0 4px 4px; margin: 4px 0 4px 0;
border-radius: 32px 0px 0px 32px; border-radius: 32px 0px 0px 32px;
} }
#memory { #memory {

View file

@ -6,45 +6,18 @@
layer = "top"; layer = "top";
position = "top"; position = "top";
height = 20; height = 20;
modules-left = ["hyprland/workspaces" "wlr/taskbar" "custom/media"];
modules-left = [ modules-center = ["clock"];
"hyprland/workspaces" modules-right = ["cpu" "memory" "network" "pulseaudio" "privacy" "tray"];
"wlr/taskbar"
"custom/media"
];
modules-center = [
"clock"
];
modules-right = [
"hyprland/submap"
"cpu"
"memory"
"network"
"pulseaudio#sink"
"pulseaudio#source"
"privacy"
"tray"
];
# left # left
"hyprland/workspaces" = { "hyprland/workspaces" = {
format = "{id}"; format = "{id}";
}; };
# not enabled yet, hyprland and mango need two different configs ;-;
"ext/workspaces" = {
format = "{id}";
ignore-hidden = true;
on-click = "activate";
};
"wlr/taskbar" = { "wlr/taskbar" = {
format = "{icon}"; format = "{icon}";
icon-size = 12; icon-size = 12;
}; };
"custom/media" = { "custom/media" = {
exec = "auroramedia"; exec = "auroramedia";
return-type = "json"; return-type = "json";
@ -60,24 +33,14 @@
}; };
# right # right
"hyprland/submap" = {
format = "{}";
# always-on = true;
# default-submap = "normal";
max-length = 12;
tooltip = false;
};
"cpu" = { "cpu" = {
format = " {usage}%"; format = " {usage}%";
interval = 1; interval = 1;
}; };
"memory" = { "memory" = {
format = " {used:0.1f} / {total:0.1f} GiB"; format = " {used:0.1f} / {total:0.1f} GiB";
interval = 1; interval = 1;
}; };
"network" = { "network" = {
format = "{bandwidthUpBytes} {bandwidthDownBytes} {ifname}"; format = "{bandwidthUpBytes} {bandwidthDownBytes} {ifname}";
format-wifi = " {bandwidthUpBytes} {bandwidthDownBytes} "; format-wifi = " {bandwidthUpBytes} {bandwidthDownBytes} ";
@ -86,8 +49,7 @@
interval = 1; interval = 1;
max-length = 32; max-length = 32;
}; };
"pulseaudio" = {
"pulseaudio#sink" = {
format = "{icon} {volume}%"; format = "{icon} {volume}%";
format-muted = " {volume}%"; format-muted = " {volume}%";
format-icons = { format-icons = {
@ -98,18 +60,7 @@
]; ];
}; };
"scroll-step" = 5; "scroll-step" = 5;
tooltip = true;
}; };
"pulseaudio#source" = {
format = "{format_source}";
format-source = " {volume}%";
format-source-muted = " {volume}%";
on-scroll-up = "wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SOURCE@ 5%+";
on-scroll-down = "wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SOURCE@ 5%-";
tooltip = true;
};
"privacy" = { "privacy" = {
icon-size = 12; icon-size = 12;
icon-spacing = 5; icon-spacing = 5;
@ -127,13 +78,17 @@
} }
]; ];
}; };
"tray" = { "tray" = {
icon-size = 12; icon-size = 12;
spacing = 10; spacing = 10;
# fixes spotify not showing up when "close button should minimize the Spotify window" is false # fixes spotify not showing up when "close button should minimize the Spotify window" is false
show-passive-items = true; show-passive-items = true;
}; };
# i only enable this for debugging of window rules lol
"hyprland/window" = {
format = "{class} | {title}";
};
}; };
}; };

View file

@ -1,12 +0,0 @@
[font]
size = 10
normal = { family = "DepartureMono Nerd Font Mono", style = "Regular" }
[general]
import = ["theme.toml"]
[mouse]
hide_when_typing = true
[scrolling]
history = 100000

View file

@ -1,10 +0,0 @@
{upkgs, ...}: {
programs.alacritty = {
enable = true;
package = upkgs.alacritty-graphics;
};
xdg.configFile."alacritty/alacritty.toml" = {
source = ./alacritty.toml;
};
}

View file

@ -7,4 +7,4 @@ enabled = true
show_message = false show_message = false
[image_preview] [image_preview]
protocol.type = "sixel" protocol.type = "kitty"

View file

@ -2,94 +2,68 @@ vim.g.mapleader = " "
vim.opt.termguicolors = true -- use terminal colors vim.opt.termguicolors = true -- use terminal colors
vim.opt.relativenumber = true vim.opt.relativenumber = true
vim.opt.number = true
vim.opt.wrap = false vim.opt.wrap = false
vim.opt.colorcolumn = "80" vim.opt.colorcolumn = "80"
vim.opt.scrolloff = 4
require("plugins") require("plugins")
require("lsp") require("lsp")
require("colors")
-- move windows :3 local uv = vim.loop
vim.keymap.set("n", "<A-h>", function() local colorscheme_filepath = "/home/aurora/.cache/nvim/neovim-colors"
vim.cmd("wincmd h") local colors = {}
end)
vim.keymap.set("n", "<A-j>", function()
vim.cmd("wincmd j")
end)
vim.keymap.set("n", "<A-k>", function()
vim.cmd("wincmd k")
end)
vim.keymap.set("n", "<A-l>", function()
vim.cmd("wincmd l")
end)
-- splits <3 (i love splits sm) -- function to load colors
vim.keymap.set("n", "<leader>s", function() local function load_colors()
vim.cmd("split") local new_colors = {}
end) for line in io.lines(colorscheme_filepath) do
vim.keymap.set("n", "<leader>v", function() table.insert(new_colors, line)
vim.cmd("vsplit") end
end)
-- u can put delta inside of neovim omg they are spoiling me <3 -- ensure the table has enough entries to avoid indexing issues
local git_diff_win = nil if #new_colors >= 18 then
colors = new_colors
require('base16-colorscheme').setup({
base00 = colors[17], base01 = colors[1], base02 = colors[3], base03 = colors[3],
base04 = colors[5], base05 = colors[8], base06 = colors[5], base07 = colors[8],
base08 = colors[18], base09 = colors[4], base0A = colors[11], base0B = colors[5],
base0C = colors[6], base0D = colors[7], base0E = colors[6], base0F = colors[16],
})
vim.api.nvim_create_autocmd("VimResized", { -- set colors for blink.cmp's completion menu
callback = function() vim.api.nvim_set_hl(0, 'BlinkCmpMenu', { bg = colors[17] })
if git_diff_win and vim.api.nvim_win_is_valid(git_diff_win) then vim.api.nvim_set_hl(0, 'BlinkCmpMenuBorder', { bg = colors[17], fg = colors[13] })
local width = math.floor(vim.o.columns * 0.9) vim.api.nvim_set_hl(0, 'BlinkCmpMenuSelection', { bg = colors[15], fg = colors[17] })
local height = math.floor((vim.o.lines - 2) * 0.9) vim.api.nvim_set_hl(0, 'BlinkCmpScrollBarThumb', { bg = colors[18] })
vim.api.nvim_set_hl(0, 'BlinkCmpKind', { bg = colors[17], fg = colors[14] })
vim.api.nvim_set_hl(0, 'BlinkCmpLabel', { bg = colors[17], fg = colors[18] })
vim.api.nvim_set_hl(0, 'BlinkCmpLabelMatch', { bg = colors[17], fg = colors[18] })
vim.api.nvim_set_hl(0, 'BlinkCmpLabelDetail', { bg = colors[17], fg = colors[18] })
vim.api.nvim_set_hl(0, 'BlinkCmpLabelDescription', { bg = colors[17], fg = colors[18] })
else
print("Error: Not enough colors in file")
end
end
vim.api.nvim_win_set_config(git_diff_win, { -- initial load
relative = "editor", load_colors()
width = width,
height = height,
col = math.floor((vim.o.columns - width) / 2),
row = math.floor((vim.o.lines - height) / 2) - 2,
})
end
end,
})
vim.keymap.set("n", "<leader>gd", function() -- vim.defer_fn(load_colors, 1)
if git_diff_win and vim.api.nvim_win_is_valid(git_diff_win) then
vim.api.nvim_win_close(git_diff_win, true)
git_diff_win = nil
return
end
local buf = vim.api.nvim_create_buf(false, true) -- set up a file watcher
local function watch_colorscheme()
local handle
handle = uv.new_fs_event()
if handle then
uv.fs_event_start(handle, colorscheme_filepath, {}, function(err, _, _)
if err then
print("Error watching colorscheme file:", err)
return
end
-- debounce by adding a slight delay before reloading
vim.defer_fn(load_colors, 100)
end)
end
end
vim.bo[buf].filetype = "terminal" watch_colorscheme()
-- deletes the last two lines of the buffer when the process exits :3
vim.api.nvim_create_autocmd("TermClose", {
buffer = buf,
callback = function()
vim.defer_fn(function()
vim.bo[buf].modifiable = true
vim.api.nvim_buf_set_lines(buf, -3, -1, false, {})
vim.bo[buf].modifiable = false
end, 10)
end,
})
local width = math.floor(vim.o.columns * 0.9)
local height = math.floor((vim.o.lines - 2) * 0.9)
git_diff_win = vim.api.nvim_open_win(buf, true, {
relative = "editor",
width = width,
height = height,
col = math.floor((vim.o.columns - width) / 2),
row = math.floor((vim.o.lines - height) / 2) - 2,
style = "minimal",
border = "rounded",
})
vim.fn.jobstart("git diff | delta --pager=never", { term = true })
vim.keymap.set("n", "q", "<cmd>close<CR>", { buffer = buf })
end)

View file

@ -1,238 +0,0 @@
local colorscheme_filepath = "/home/aurora/.cache/nvim/neovim-colors"
local colors = {}
local function hex_to_int(hex)
hex = hex:gsub("#", "")
return tonumber(hex:sub(1, 2), 16) * 0x10000 + tonumber(hex:sub(3, 4), 16) * 0x100 + tonumber(hex:sub(5, 6), 16)
end
-- TODO: change to use lab color space
local function blend_colors(c1, c2, t)
local r1 = math.floor(c1 / 0x10000)
local g1 = math.floor((c1 % 0x10000) / 0x100)
local b1 = c1 % 0x100
local r2 = math.floor(c2 / 0x10000)
local g2 = math.floor((c2 % 0x10000) / 0x100)
local b2 = c2 % 0x100
return math.floor(r1 + (r2 - r1) * t) * 0x10000
+ math.floor(g1 + (g2 - g1) * t) * 0x100
+ math.floor(b1 + (b2 - b1) * t)
end
-- function to load colors
local function load_colors()
local new_colors = {}
for line in io.lines(colorscheme_filepath) do
table.insert(new_colors, line)
end
-- ensure the table has enough entries to avoid indexing issues
if #new_colors == 18 then
colors = new_colors
require("base16-colorscheme").setup({
base00 = colors[18],
base01 = colors[1],
base02 = colors[3],
base03 = colors[3],
base04 = colors[5],
base05 = colors[8],
base06 = colors[5],
base07 = colors[8],
base08 = colors[17],
base09 = colors[4],
base0A = colors[11],
base0B = colors[5],
base0C = colors[6],
base0D = colors[7],
base0E = colors[6],
base0F = colors[16],
})
-- colors ------------------------------------------------------------------
local color_00 = colors[1]
local color_01 = colors[2]
local color_02 = colors[3]
local color_03 = colors[4]
local color_04 = colors[5]
local color_05 = colors[6]
local color_06 = colors[7]
local color_07 = colors[8]
local color_08 = colors[9]
local color_09 = colors[10]
local color_10 = colors[11]
local color_11 = colors[12]
local color_12 = colors[13]
local color_13 = colors[14]
local color_14 = colors[15]
local color_15 = colors[16]
local fg = colors[17]
local bg = colors[18]
local bg_90 = blend_colors(hex_to_int("#000000"), hex_to_int(bg), 0.90)
local fg_10 = blend_colors(hex_to_int(bg), hex_to_int(fg), 0.10)
local fg_30 = blend_colors(hex_to_int(bg), hex_to_int(fg), 0.30)
local secondary_10 = blend_colors(hex_to_int(bg), hex_to_int(color_13), 0.10)
local secondary_30 = blend_colors(hex_to_int(bg), hex_to_int(color_13), 0.30)
-- editor colors :3 --------------------------------------------------------
vim.api.nvim_set_hl(0, "Visual", { bg = secondary_10 })
vim.api.nvim_set_hl(0, "ColorColumn", { bg = secondary_30 })
-- blink.cmp ---------------------------------------------------------------
vim.api.nvim_set_hl(0, "BlinkCmpMenu", { bg = bg })
vim.api.nvim_set_hl(0, "BlinkCmpMenuBorder", { fg = color_12, bg = bg })
vim.api.nvim_set_hl(0, "BlinkCmpMenuSelection", { fg = bg, bg = color_14 })
vim.api.nvim_set_hl(0, "BlinkCmpScrollBarThumb", { bg = fg })
vim.api.nvim_set_hl(0, "BlinkCmpKind", { fg = fg, bg = bg })
vim.api.nvim_set_hl(0, "BlinkCmpLabel", { fg = fg, bg = bg })
vim.api.nvim_set_hl(0, "BlinkCmpLabelMatch", { fg = fg, bg = bg })
vim.api.nvim_set_hl(0, "BlinkCmpLabelDetail", { fg = fg, bg = bg })
vim.api.nvim_set_hl(0, "BlinkCmpLabelDescription", { fg = fg, bg = bg })
-- telescope :3 ------------------------------------------------------------
vim.api.nvim_set_hl(0, "TelescopeNormal", { bg = bg_90 })
vim.api.nvim_set_hl(0, "TelescopePromptNormal", { bg = bg_90 })
vim.api.nvim_set_hl(0, "TelescopeResultsNormal", { bg = bg_90 })
vim.api.nvim_set_hl(0, "TelescopePreviewNormal", { bg = bg_90 })
vim.api.nvim_set_hl(0, "TelescopeBorder", { fg = color_15, bg = bg_90 })
vim.api.nvim_set_hl(0, "TelescopePromptBorder", { fg = color_15, bg = bg_90 })
vim.api.nvim_set_hl(0, "TelescopeResultsBorder", { fg = color_15, bg = bg_90 })
vim.api.nvim_set_hl(0, "TelescopePreviewBorder", { fg = color_15, bg = bg_90 })
vim.api.nvim_set_hl(0, "TelescopePromptTitle", { fg = color_15, bg = bg_90 })
vim.api.nvim_set_hl(0, "TelescopeResultsTitle", { fg = color_15, bg = bg_90 })
vim.api.nvim_set_hl(0, "TelescopePreviewTitle", { fg = color_15, bg = bg_90 })
vim.api.nvim_set_hl(0, "TelescopePromptPrefix", { fg = color_14, bg = bg_90 })
vim.api.nvim_set_hl(0, "TelescopePromptCounter", { fg = color_13, bg = bg_90 })
-- gitsigns.nvim -----------------------------------------------------------
vim.api.nvim_set_hl(0, "GitSignsAdd", { fg = color_13 })
vim.api.nvim_set_hl(0, "GitSignsChange", { fg = color_11 })
vim.api.nvim_set_hl(0, "GitSignsDelete", { fg = color_09 })
local blame_palette = {
color_13,
color_11,
color_09,
color_06,
color_05,
color_04,
color_03,
color_12,
}
local blame_group = vim.api.nvim_create_augroup("GitSignsBlameColors", { clear = true })
local function get_heatmap_palette()
local c1 = hex_to_int(color_13) -- old
local c2 = hex_to_int(color_14) -- recent
local palette = {}
for i = 0, 7 do
palette[i] = blend_colors(c1, c2, i / 7)
end
return palette
end
local heatmap_palette = get_heatmap_palette()
local function set_blame_colors()
local highlights = vim.api.nvim_exec2("highlight", { output = true }).output
local i = 1
for hl_name in highlights:gmatch("(GitSignsBlameColor%.[%x]+)") do
local color = blame_palette[(i - 1) % #blame_palette + 1]
vim.api.nvim_set_hl(0, hl_name, { fg = color })
i = i + 1
end
i = 1
for hl_name in highlights:gmatch("(GitSignsColorTemp%.fg%.[%d]+)") do
local color = heatmap_palette[(i - 1) % #heatmap_palette + 1]
vim.api.nvim_set_hl(0, hl_name, { fg = color })
i = i + 1
end
end
set_blame_colors()
vim.api.nvim_create_autocmd("FileType", {
group = blame_group,
pattern = "gitsigns-blame",
callback = function()
set_blame_colors()
end,
})
-- fyler.nvim --------------------------------------------------------------
vim.api.nvim_set_hl(0, "FylerBlue", { fg = color_06 })
vim.api.nvim_set_hl(0, "FylerGreen", { fg = color_02 })
vim.api.nvim_set_hl(0, "FylerGrey", { fg = color_08 })
vim.api.nvim_set_hl(0, "FylerRed", { fg = color_01 })
vim.api.nvim_set_hl(0, "FylerYellow", { fg = color_03 })
vim.api.nvim_set_hl(0, "FylerFSDirectoryIcon", { fg = color_06 })
vim.api.nvim_set_hl(0, "FylerFSDirectoryName", { fg = fg })
vim.api.nvim_set_hl(0, "FylerFSFile", { fg = color_15 })
vim.api.nvim_set_hl(0, "FylerFSLink", { fg = color_08 })
vim.api.nvim_set_hl(0, "FylerGitAdded", { fg = color_04 })
vim.api.nvim_set_hl(0, "FylerGitConflict", { fg = color_03 })
vim.api.nvim_set_hl(0, "FylerGitDeleted", { fg = color_03 })
vim.api.nvim_set_hl(0, "FylerGitIgnored", { fg = color_08 })
vim.api.nvim_set_hl(0, "FylerGitModified", { fg = color_05 })
vim.api.nvim_set_hl(0, "FylerGitRenamed", { fg = color_05 })
vim.api.nvim_set_hl(0, "FylerGitStaged", { fg = color_04 })
vim.api.nvim_set_hl(0, "FylerGitUnstaged", { fg = color_05 })
vim.api.nvim_set_hl(0, "FylerGitUntracked", { fg = color_06 })
vim.api.nvim_set_hl(0, "FylerWinPick", { fg = color_15, bg = fg })
-- lualine.nvim
vim.api.nvim_exec_autocmds("User", { pattern = "RefreshLualine" })
-- hlchunk.nvim
vim.api.nvim_set_hl(0, "HLIndent1", { fg = secondary_30 })
vim.api.nvim_set_hl(0, "HLChunk1", { fg = color_11 })
else
print("Error: Not enough colors in file")
end
end
-- initial load
load_colors()
-- vim.defer_fn(load_colors, 1)
-- set up a file watcher
local function watch_colorscheme()
local handle
handle = vim.loop.new_fs_event()
if handle then
vim.loop.fs_event_start(handle, colorscheme_filepath, {}, function(err, _, _)
if err then
print("Error watching colorscheme file:", err)
return
end
-- debounce by adding a slight delay before reloading
vim.defer_fn(load_colors, 100)
end)
end
end
watch_colorscheme()

View file

@ -1,66 +1,59 @@
local M = {} local M = {}
function M.on_attach(_, bufnr) function M.on_attach(_, bufnr)
-- we create a function that lets us more easily define mappings specific -- we create a function that lets us more easily define mappings specific
-- for LSP related items. It sets the mode, buffer and description for us each time. -- for LSP related items. It sets the mode, buffer and description for us each time.
local nmap = function(keys, func, desc) local nmap = function(keys, func, desc)
if desc then if desc then
desc = "LSP: " .. desc desc = 'LSP: ' .. desc
end end
vim.keymap.set("n", keys, func, { buffer = bufnr, desc = desc }) vim.keymap.set('n', keys, func, { buffer = bufnr, desc = desc })
end end
nmap("<leader>rn", vim.lsp.buf.rename, "[R]e[n]ame") nmap('<leader>rn', vim.lsp.buf.rename, '[R]e[n]ame')
nmap("<leader>ca", vim.lsp.buf.code_action, "[C]ode [A]ction") nmap('<leader>ca', vim.lsp.buf.code_action, '[C]ode [A]ction')
nmap("gd", vim.lsp.buf.definition, "[G]oto [D]efinition") nmap('gd', vim.lsp.buf.definition, '[G]oto [D]efinition')
-- NOTE: why are these functions that call the telescope builtin? -- NOTE: why are these functions that call the telescope builtin?
-- because otherwise they would load telescope eagerly when this is defined. -- because otherwise they would load telescope eagerly when this is defined.
-- due to us using the on_require handler to make sure it is available. -- due to us using the on_require handler to make sure it is available.
if nixCats("general.telescope") then if nixCats('general.telescope') then
nmap("gr", function() nmap('gr', function() require('telescope.builtin').lsp_references() end, '[G]oto [R]eferences')
require("telescope.builtin").lsp_references() nmap('gI', function() require('telescope.builtin').lsp_implementations() end, '[G]oto [I]mplementation')
end, "[G]oto [R]eferences") nmap('<leader>ds', function() require('telescope.builtin').lsp_document_symbols() end, '[D]ocument [S]ymbols')
nmap("gI", function() nmap('<leader>ws', function() require('telescope.builtin').lsp_dynamic_workspace_symbols() end, '[W]orkspace [S]ymbols')
require("telescope.builtin").lsp_implementations() nmap('<leader>dd', "<cmd>Telescope diagnostics bufnr=0<CR>", '[D]ocument [D]iagnostics')
end, "[G]oto [I]mplementation") nmap('<leader>wd', "<cmd>Telescope diagnostics<CR>", '[W]orkspace [D]iagnostics')
nmap("<leader>ds", function() end -- TODO: someone who knows the builtin versions of these to do instead help me out please.
require("telescope.builtin").lsp_document_symbols()
end, "[D]ocument [S]ymbols")
nmap("<leader>ws", function()
require("telescope.builtin").lsp_dynamic_workspace_symbols()
end, "[W]orkspace [S]ymbols")
nmap("<leader>dd", "<cmd>Telescope diagnostics bufnr=0<CR>", "[D]ocument [D]iagnostics")
nmap("<leader>wd", "<cmd>Telescope diagnostics<CR>", "[W]orkspace [D]iagnostics")
end -- TODO: someone who knows the builtin versions of these to do instead help me out please.
nmap("<leader>D", vim.lsp.buf.type_definition, "Type [D]efinition") nmap('<leader>D', vim.lsp.buf.type_definition, 'Type [D]efinition')
nmap("<leader>e", vim.diagnostic.open_float, "Show [E]rror") nmap('<leader>e', vim.diagnostic.open_float, 'Show [E]rror')
-- See `:help K` for why this keymap -- See `:help K` for why this keymap
nmap("K", vim.lsp.buf.hover, "Hover Documentation") nmap('K', vim.lsp.buf.hover, 'Hover Documentation')
nmap("<C-k>", vim.lsp.buf.signature_help, "Signature Documentation") nmap('<C-k>', vim.lsp.buf.signature_help, 'Signature Documentation')
-- Lesser used LSP functionality -- Lesser used LSP functionality
nmap("gD", vim.lsp.buf.declaration, "[G]oto [D]eclaration") nmap('gD', vim.lsp.buf.declaration, '[G]oto [D]eclaration')
nmap("<leader>wa", vim.lsp.buf.add_workspace_folder, "[W]orkspace [A]dd Folder") nmap('<leader>wa', vim.lsp.buf.add_workspace_folder, '[W]orkspace [A]dd Folder')
nmap("<leader>wr", vim.lsp.buf.remove_workspace_folder, "[W]orkspace [R]emove Folder") nmap('<leader>wr', vim.lsp.buf.remove_workspace_folder, '[W]orkspace [R]emove Folder')
nmap("<leader>wl", function() nmap('<leader>wl', function()
print(vim.inspect(vim.lsp.buf.list_workspace_folders())) print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
end, "[W]orkspace [L]ist Folders") end, '[W]orkspace [L]ist Folders')
-- Create a command `:Format` local to the LSP buffer
vim.api.nvim_buf_create_user_command(bufnr, 'Format', function(_)
vim.lsp.buf.format()
end, { desc = 'Format current buffer with LSP' })
-- Create a command `:Format` local to the LSP buffer
vim.api.nvim_buf_create_user_command(bufnr, "Format", function(_)
vim.lsp.buf.format()
end, { desc = "Format current buffer with LSP" })
end end
function M.get(server_name) function M.get(server_name)
local capabilities = require("blink.cmp").get_lsp_capabilities() local capabilities = require('blink.cmp').get_lsp_capabilities()
return capabilities return capabilities
end end
return M return M

View file

@ -1,103 +1,88 @@
return { return {
{ {
"friendly-snippets", "friendly-snippets",
dep_of = { "blink.cmp" }, dep_of = { "blink.cmp" },
},
{
"blink.cmp",
event = { "InsertEnter", "CmdlineEnter" },
on_require = "blink",
load = function (name)
vim.cmd.packadd(name)
end,
after = function(plugin)
local blink = require('blink.cmp')
blink.setup({
keymap = {
preset = 'default',
},
appearance = {
nerd_font_variant = 'mono',
}, },
{
"blink.cmp",
event = { "InsertEnter", "CmdlineEnter" },
on_require = "blink",
load = function(name)
vim.cmd.packadd(name)
end,
after = function(plugin)
local blink = require("blink.cmp")
blink.setup({ sources = {
keymap = { default = { 'lsp', 'path', 'snippets', 'buffer' },
["<C-space>"] = { "show", "show_documentation", "hide_documentation" }, providers = {
["<C-e>"] = { "hide", "fallback" }, lsp = {
["<C-h>"] = { "select_and_accept", "fallback" }, name = 'LSP',
module = 'blink.cmp.sources.lsp',
["<C-k>"] = { "select_prev", "fallback_to_mappings" }, enabled = true,
["<C-j>"] = { "select_next", "fallback_to_mappings" }, },
["<Up>"] = { "select_prev", "fallback" }, path = {
["<Down>"] = { "select_next", "fallback" }, name = 'Path',
module = 'blink.cmp.sources.path',
["<C-b>"] = { "scroll_documentation_up", "fallback" }, enabled = true,
["<C-f>"] = { "scroll_documentation_down", "fallback" }, },
snippets = {
["<Tab>"] = { "snippet_forward", "fallback" }, name = 'Snippets',
["<S-Tab>"] = { "snippet_backward", "fallback" }, module = 'blink.cmp.sources.snippets',
enabled = true,
["<C-s>"] = { "show_signature", "hide_signature", "fallback" }, },
}, buffer = {
name = 'Buffer',
appearance = { module = 'blink.cmp.sources.buffer',
nerd_font_variant = "mono", enabled = true,
}, },
},
sources = {
default = { "lsp", "path", "snippets", "buffer" },
providers = {
lsp = {
name = "LSP",
module = "blink.cmp.sources.lsp",
enabled = true,
},
path = {
name = "Path",
module = "blink.cmp.sources.path",
enabled = true,
},
snippets = {
name = "Snippets",
module = "blink.cmp.sources.snippets",
enabled = true,
},
buffer = {
name = "Buffer",
module = "blink.cmp.sources.buffer",
enabled = true,
},
},
},
completion = {
accept = {
auto_brackets = {
enabled = true,
},
},
menu = {
border = "rounded",
max_height = 12,
scrolloff = 2,
draw = {
columns = {
{ "kind_icon", gap = 1 },
{ "label", "label_description", gap = 1 },
},
},
},
documentation = {
auto_show = true,
window = {
border = "rounded",
},
},
},
signature = {
enabled = true,
window = {
border = "rounded",
},
},
})
end,
}, },
completion = {
accept = {
auto_brackets = {
enabled = true,
},
},
menu = {
border = 'rounded',
max_height = 12,
scrolloff = 2,
draw = {
columns = {
{ "kind_icon", gap = 1, },
{ "label", "label_description", gap = 1, },
},
},
},
documentation = {
auto_show = false,
window = {
border = 'rounded',
},
},
},
signature = {
enabled = true,
window = {
border = 'rounded',
},
},
})
end
},
} }

View file

@ -0,0 +1,203 @@
---packadd + after/plugin
---@type fun(names: string[]|string)
local load_w_after_plugin = require('nixCatsUtils.lzUtils').make_load_with_after({ "plugin" })
-- NOTE: packadd doesnt load after directories.
-- hence, the above function that you can get from luaUtils that exists to make that easy.
return {
{
"cmp-buffer",
on_plugin = { "nvim-cmp" },
load = load_w_after_plugin,
},
{
"cmp-cmdline",
on_plugin = { "nvim-cmp" },
load = load_w_after_plugin,
},
{
"cmp-cmdline-history",
on_plugin = { "nvim-cmp" },
load = load_w_after_plugin,
},
{
"cmp-nvim-lsp",
on_plugin = { "nvim-cmp" },
dep_of = { "nvim-lspconfig" },
load = load_w_after_plugin,
},
{
"cmp-nvim-lsp-signature-help",
on_plugin = { "nvim-cmp" },
load = load_w_after_plugin,
},
{
"cmp-nvim-lua",
on_plugin = { "nvim-cmp" },
load = load_w_after_plugin,
},
{
"cmp-path",
on_plugin = { "nvim-cmp" },
load = load_w_after_plugin,
},
{
"cmp_luasnip",
on_plugin = { "nvim-cmp" },
load = load_w_after_plugin,
},
{
"friendly-snippets",
dep_of = { "nvim-cmp" },
load = load_w_after_plugin,
},
{
"lspkind.nvim",
dep_of = { "nvim-cmp" },
load = load_w_after_plugin,
},
{
"luasnip",
dep_of = { "nvim-cmp" },
after = function (plugin)
local luasnip = require 'luasnip'
require('luasnip.loaders.from_vscode').lazy_load()
luasnip.config.setup {}
local ls = require('luasnip')
vim.keymap.set({ "i", "s" }, "<M-n>", function()
if ls.choice_active() then
ls.change_choice(1)
end
end)
end,
},
{
"nvim-cmp",
-- cmd = { "" },
event = { "DeferredUIEnter" },
on_require = { "cmp" },
-- ft = "",
-- keys = "",
-- colorscheme = "",
after = function (plugin)
-- [[ Configure nvim-cmp ]]
-- See `:help cmp`
local cmp = require 'cmp'
local luasnip = require 'luasnip'
local lspkind = require 'lspkind'
cmp.setup {
formatting = {
format = lspkind.cmp_format {
mode = 'text',
with_text = true,
maxwidth = 50, -- prevent the popup from showing more than provided characters (e.g 50 will not show more than 50 characters)
ellipsis_char = '...', -- when popup menu exceed maxwidth, the truncated part would show ellipsis_char instead (must define maxwidth first)
menu = {
buffer = '[BUF]',
nvim_lsp = '[LSP]',
nvim_lsp_signature_help = '[LSP]',
nvim_lsp_document_symbol = '[LSP]',
nvim_lua = '[API]',
path = '[PATH]',
luasnip = '[SNIP]',
},
},
},
snippet = {
expand = function(args)
luasnip.lsp_expand(args.body)
end,
},
mapping = cmp.mapping.preset.insert {
['<C-p>'] = cmp.mapping.scroll_docs(-4),
['<C-n>'] = cmp.mapping.scroll_docs(4),
['<C-Space>'] = cmp.mapping.complete {},
['<CR>'] = cmp.mapping.confirm {
behavior = cmp.ConfirmBehavior.Replace,
select = true,
},
['<Tab>'] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_next_item()
elseif luasnip.expand_or_locally_jumpable() then
luasnip.expand_or_jump()
else
fallback()
end
end, { 'i', 's' }),
['<S-Tab>'] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_prev_item()
elseif luasnip.locally_jumpable(-1) then
luasnip.jump(-1)
else
fallback()
end
end, { 'i', 's' }),
},
sources = cmp.config.sources {
-- The insertion order influences the priority of the sources
{ name = 'nvim_lsp'--[[ , keyword_length = 3 ]] },
{ name = 'nvim_lsp_signature_help'--[[ , keyword_length = 3 ]]},
{ name = 'path' },
{ name = 'luasnip' },
{ name = 'buffer' },
},
enabled = function()
return vim.bo[0].buftype ~= 'prompt'
end,
experimental = {
native_menu = false,
ghost_text = false,
},
}
cmp.setup.filetype('lua', {
sources = cmp.config.sources {
{ name = 'nvim_lua' },
{ name = 'nvim_lsp'--[[ , keyword_length = 3 ]]},
{ name = 'nvim_lsp_signature_help'--[[ , keyword_length = 3 ]]},
{ name = 'path' },
{ name = 'luasnip' },
{ name = 'buffer' },
},{
{
name = 'cmdline',
option = {
ignore_cmds = { 'Man', '!' },
},
},
},
})
-- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore).
cmp.setup.cmdline({ '/', '?' }, {
mapping = cmp.mapping.preset.cmdline(),
sources = {
{ name = 'nvim_lsp_document_symbol'--[[ , keyword_length = 3 ]]},
{ name = 'buffer' },
{ name = 'cmdline_history' },
},
view = {
entries = { name = 'wildmenu', separator = '|' },
},
})
-- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
cmp.setup.cmdline(':', {
mapping = cmp.mapping.preset.cmdline(),
sources = cmp.config.sources {
{ name = 'cmdline' },
-- { name = 'cmdline_history' },
{ name = 'path' },
},
})
end,
},
}

View file

@ -1,33 +0,0 @@
vim.api.nvim_create_autocmd("FileType", {
pattern = { "lua", "nix", "gleam" },
callback = function()
vim.opt_local.shiftwidth = 2
vim.opt_local.tabstop = 2
vim.opt_local.expandtab = true
end,
})
vim.api.nvim_create_autocmd("FileType", {
pattern = { "sql" },
callback = function()
vim.opt_local.shiftwidth = 4
vim.opt_local.tabstop = 4
vim.opt_local.expandtab = true
end,
})
vim.api.nvim_create_autocmd("User", {
pattern = "TelescopePreviewerLoaded",
callback = function(args)
local ft = args.data.filetype
if vim.tbl_contains({ "lua", "nix", "gleam", "rust" }, ft) then
vim.bo.shiftwidth = 2
vim.bo.tabstop = 2
vim.bo.expandtab = true
elseif vim.tbl_contains({ "sql" }, ft) then
vim.bo.shiftwidth = 4
vim.bo.tabstop = 4
vim.bo.expandtab = true
end
end,
})

View file

@ -1,6 +1,5 @@
require("lze").load({ require("lze").load {
{ import = "lsp.completion" }, { import = "lsp.completion", },
}) }
require("lsp.indentation")
require("lsp.lsp") require("lsp.lsp")

View file

@ -1,110 +1,80 @@
local servers = {} local servers = {}
if nixCats("lang.lua.lsp") then servers.lua_ls = {
servers.lua_ls = { settings = {
settings = { Lua = {
Lua = { formatters = {
formatters = { ignoreComments = false,
ignoreComments = false, },
}, signatureHelp = { enable = true },
signatureHelp = { enable = true }, diagnostics = {
diagnostics = { globals = { 'nixCats', 'vim' },
globals = { "nixCats", "vim" }, -- disable = { 'missing-fields' },
-- disable = { 'missing-fields' }, },
}, workspace = {
workspace = { -- make the server aware of the neovim runtime files
-- make the server aware of the neovim runtime files library = vim.api.nvim_get_runtime_file("", true),
library = vim.api.nvim_get_runtime_file("", true), checkThirdParty = false,
checkThirdParty = false, },
}, },
}, telemetry = { enabled = false },
telemetry = { enabled = false }, },
}, }
}
end
if nixCats("lang.nix.lsp") then local rust_analyzer_cmd = os.getenv("RUST_ANALYZER_CMD")
servers.nil_ls = { servers.rust_analyzer = {
settings = {}, cmd = { rust_analyzer_cmd },
} settings = {
end server = {
-- For debugging rust-analyzer, to see log location do :LspInfo in neovim
-- extraEnv = { {["RA_LOG"]="project_model=debug"} },
},
cargo = {
allFeatures = false,
allTargets = false,
buildScripts = { enable = true },
target = "x86_64-unknown-linux-gnu",
},
diagnostics = {
enable = true,
},
},
}
if nixCats("lang.rust.lsp") then servers.zls = {
local rust_analyzer_cmd = os.getenv("RUST_ANALYZER_CMD") settings = {},
servers.rust_analyzer = { }
cmd = { rust_analyzer_cmd },
settings = {
server = {
-- For debugging rust-analyzer, to see log location do :LspInfo in neovim
-- extraEnv = { {["RA_LOG"]="project_model=debug"} },
},
cargo = {
allFeatures = false,
allTargets = false,
buildScripts = { enable = true },
target = "x86_64-unknown-linux-gnu",
},
diagnostics = {
enable = true,
},
},
}
end
if nixCats("lang.zig.lsp") then local elixir_ls_cmd = os.getenv("ELIXIR_LS_CMD")
servers.zls = { servers.elixirls = {
settings = {}, cmd = { elixir_ls_cmd },
} settings = {},
end }
if nixCats("lang.elixir.lsp") then servers.gleam = {
local elixir_ls_cmd = os.getenv("ELIXIR_LS_CMD") settings = {},
servers.elixirls = { }
cmd = { elixir_ls_cmd },
settings = {},
}
end
if nixCats("lang.gleam.lsp") then local java_home = os.getenv("JAVA_HOME")
servers.gleam = { servers.jdtls = {
settings = {}, settings = {
java = {
contentProvider = { preferred = 'fernflower' },
configuration = {
runtimes = {
{
name = "OpenJDK 17",
path = os.getenv("OPENJDK_17"),
},
{
name = "OpenJDK 21",
path = os.getenv("OPENJDK_21"),
},
} }
end }
},
if nixCats("lang.haskell.lsp") then }
servers.hls = { }
settings = {},
}
end
if nixCats("lang.java.lsp") then
local java_home = os.getenv("JAVA_HOME")
servers.jdtls = {
settings = {
java = {
contentProvider = { preferred = "fernflower" },
configuration = {
runtimes = {
{
name = "OpenJDK 17",
path = os.getenv("OPENJDK_17"),
},
{
name = "OpenJDK 21",
path = os.getenv("OPENJDK_21"),
},
},
},
},
},
}
end
if nixCats("lang.protobuf.lsp") then
servers.protols = {
settings = {},
}
end
-- Taken from nixCats example: -- Taken from nixCats example:
-- If you were to comment out this autocommand -- If you were to comment out this autocommand
@ -112,41 +82,42 @@ end
-- nvim-lspconfig, it would do the same thing. -- nvim-lspconfig, it would do the same thing.
-- come to think of it, it might be better because then lspconfig doesnt have to be called before lsp attach? -- come to think of it, it might be better because then lspconfig doesnt have to be called before lsp attach?
-- but you would still end up triggering on a FileType event anyway, so, it makes little difference. -- but you would still end up triggering on a FileType event anyway, so, it makes little difference.
vim.api.nvim_create_autocmd("LspAttach", { vim.api.nvim_create_autocmd('LspAttach', {
group = vim.api.nvim_create_augroup("nixCats-lsp-attach", { clear = true }), group = vim.api.nvim_create_augroup('nixCats-lsp-attach', { clear = true }),
callback = function(event) callback = function(event)
require("lsp.capabilities").on_attach(vim.lsp.get_client_by_id(event.data.client_id), event.buf) require('lsp.capabilities').on_attach(vim.lsp.get_client_by_id(event.data.client_id), event.buf)
end, end
}) })
require("lze").load({ require("lze").load {
{ {
"nvim-lspconfig", "nvim-lspconfig",
event = "FileType", event = "FileType",
after = function(plugin) after = function(plugin)
-- Just register configs, don't enable yet -- Just register configs, don't enable yet
for server_name, cfg in pairs(servers) do for server_name, cfg in pairs(servers) do
vim.lsp.config(server_name, { vim.lsp.config(server_name, {
capabilities = require("lsp.capabilities").get(server_name), capabilities = require('lsp.capabilities').get(server_name),
settings = (cfg or {}).settings, settings = (cfg or {}).settings,
filetypes = (cfg or {}).filetypes, filetypes = (cfg or {}).filetypes,
cmd = (cfg or {}).cmd, cmd = (cfg or {}).cmd,
root_pattern = (cfg or {}).root_pattern, root_pattern = (cfg or {}).root_pattern,
}) })
end end
-- Enable on-demand per filetype
for server_name, cfg in pairs(servers) do
local filetypes = cfg.filetypes or vim.lsp.config[server_name].filetypes
if filetypes then
vim.api.nvim_create_autocmd('FileType', {
pattern = filetypes,
callback = function()
vim.lsp.enable(server_name)
end,
})
end
end
end,
},
}
-- Enable on-demand per filetype
for server_name, cfg in pairs(servers) do
local filetypes = cfg.filetypes or vim.lsp.config[server_name].filetypes
if filetypes then
vim.api.nvim_create_autocmd("FileType", {
pattern = filetypes,
callback = function()
vim.lsp.enable(server_name)
end,
})
end
end
end,
},
})

View file

@ -0,0 +1,135 @@
--[[
This directory is the luaUtils template.
You can choose what things from it that you would like to use.
And then delete the rest.
Everything in this directory is optional.
--]]
local M = {}
-- NOTE: This file contains 2 utilities for making good use of lze and lz.n with nixCats
-- The function for loading after directories is useful for both plugins, and also for lazy loading without a plugin,
-- but the custom handler will only work with lze.
-- If you dont use these plugins, you probably don't need this file.
---This function is useful for sourcing the after directories of lazily loaded plugins
---because vim.cmd.packadd does not do this for you.
---
---This might be useful when doing lazy loading the vanilla way
---as well as when using plugins like lz.n for lazy loading
---It is primarily useful for lazily loading nvim-cmp sources,
---as they often rely on the after directory to work
---
---Recieves the names of directories from a plugin's after directory
---that you wish to source files from.
---Will return a load function that can take a name, or list of names,
---and will load a plugin and its after directories.
---The function returned is a suitable substitute for the load field of a plugin spec.
---
---Only makes sense for plugins added via optionalPlugins
---or some other opt directory on your packpath
---
---e.g. in the following example:
---load_with_after_plugin will load the plugin names it is given, and their after/plugin dir
---
---local load_with_after_plugin = require('nixCatsUtils').make_load_with_after({ 'plugin' })
---load_with_after_plugin('some_plugin')
---@overload fun(dirs: string[]|string): fun(names: string|string[])
---It also optionally recieves a function that should load a plugin and return its path
---for if the plugin is not on the packpath, or return nil
---to load from the packpath or nixCats list as normal
---@overload fun(dirs: string[]|string, load: fun(name: string):string|nil): fun(names: string|string[])
function M.make_load_with_after(dirs, load)
dirs = (type(dirs) == "table" and dirs) or { dirs }
local fromPackpath = function(name)
for _, packpath in ipairs(vim.opt.packpath:get()) do
local plugin_path = vim.fn.globpath(packpath, "pack/*/opt/" .. name, nil, true, true)
if plugin_path[1] then
return plugin_path[1]
end
end
return nil
end
---@param plugin_names string[]|string
return function(plugin_names)
local names = type(plugin_names) == "table" and plugin_names or { plugin_names }
local to_source = {}
for _, name in ipairs(names) do
if type(name) == "string" then
local path = (type(load) == "function" and load(name)) or nil
if type(path) == "string" then
table.insert(to_source, { name = name, path = path })
else
local ok, err = pcall(vim.cmd.packadd, name)
if ok then
table.insert(to_source, { name = name, path = nil })
else
vim.notify(
'"packadd '
.. name
.. '" failed, and path provided by custom load function (if provided) was not a string\n'
.. err,
vim.log.levels.WARN,
{ title = "nixCatsUtils.load_with_after" }
)
end
end
else
vim.notify(
"plugin name was not a string and was instead of value:\n" .. vim.inspect(name),
vim.log.levels.WARN,
{ title = "nixCatsUtils.load_with_after" }
)
end
end
for _, info in pairs(to_source) do
local plugpath = info.path or vim.tbl_get(package.loaded, "nixCats", "pawsible", "allPlugins", "opt", info.name) or fromPackpath(info.name)
if type(plugpath) == "string" then
local afterpath = plugpath .. "/after"
for _, dir in ipairs(dirs) do
if vim.fn.isdirectory(afterpath) == 1 then
local plugin_dir = afterpath .. "/" .. dir
if vim.fn.isdirectory(plugin_dir) == 1 then
local files = vim.fn.glob(plugin_dir .. "/*", false, true)
for _, file in ipairs(files) do
if vim.fn.filereadable(file) == 1 then
vim.cmd("source " .. file)
end
end
end
end
end
end
end
end
end
-- A nixCats specific lze handler that you can use to conditionally enable by category easier.
-- at the start of your config, register with
-- require('lze').register_handlers(require('nixCatsUtils.lzUtils').for_cat)
-- before any calls to require('lze').load using the handler have been made.
-- accepts:
-- for_cat = { "your" "cat" }; for_cat = { cat = { "your" "cat" }, default = bool }
-- for_cat = "your.cat"; for_cat = { cat = "your.cat", default = bool }
-- where default is an alternate value for when nixCats was NOT used to install the config
M.for_cat = {
spec_field = "for_cat",
set_lazy = false,
modify = function(plugin)
if type(plugin.for_cat) == "table" then
if plugin.for_cat.cat ~= nil then
if vim.g[ [[nixCats-special-rtp-entry-nixCats]] ] ~= nil then
plugin.enabled = (nixCats(plugin.for_cat.cat) and true) or false
else
plugin.enabled = nixCats(plugin.for_cat.default)
end
else
plugin.enabled = (nixCats(plugin.for_cat) and true) or false
end
else
plugin.enabled = (nixCats(plugin.for_cat) and true) or false
end
return plugin
end,
}
return M

View file

@ -1,23 +0,0 @@
return {
{
"comment.nvim",
event = { "BufReadPost", "BufNewFile" },
after = function(plugin)
require("Comment").setup({
toggler = {
line = "<leader>cc",
block = "<leader>bc",
},
opleader = {
line = "<leader>c",
block = "<leader>b",
},
extra = {
above = "<leader>c<S-o>",
below = "<leader>co",
eol = "<leader>cA",
},
})
end,
},
}

View file

@ -1,6 +1,5 @@
return { return {
{ {
"dressing.nvim", "dressing.nvim"
enabled = nixCats("ui.dressing") or false, },
},
} }

View file

@ -1,81 +0,0 @@
vim.keymap.set("n", "<leader>P", function()
vim.api.nvim_exec_autocmds("User", { pattern = "ConformProject" })
vim.cmd("ConformProject")
end, { noremap = true, silent = true })
vim.api.nvim_create_user_command("ConformProject", function()
local conform = require("conform")
local root = vim.fn.getcwd()
-- respects .gitignore
local handle = io.popen(string.format("cd %s && git ls-files --cached --others --exclude-standard", root))
if not handle then
vim.notify("Failed to scan project files", vim.log.levels.ERROR)
return
end
local files = {}
for file in handle:lines() do
table.insert(files, vim.fn.fnamemodify(file, ":p"))
end
handle:close()
-- format each file
-- TODO: maybe run each formatter on the directory instead as it may be faster
-- although that would actually mean we can't count what files were formatted so i don't know
local formatted_count = 0
for _, filepath in ipairs(files) do
local bufnr = vim.fn.bufadd(filepath)
vim.fn.bufload(bufnr)
local ok, err = conform.format({ bufnr = bufnr })
if ok then
formatted_count = formatted_count + 1
-- Save the buffer
vim.api.nvim_buf_call(bufnr, function()
vim.cmd("write")
end)
end
end
vim.notify(string.format("Formatted %d files", formatted_count), vim.log.levels.INFO)
end, {})
-- docs -> https://github.com/stevearc/conform.nvim
return {
{
"conform.nvim",
enabled = nixCats("format") or false,
event = "User ConformProject", -- also will load when we format the entire project yayayayy :333
keys = {
{ "<leader>p", desc = "Format File (pretty :3)" },
},
after = function(plugin)
local conform = require("conform")
conform.setup({
formatters_by_ft = {
lua = nixCats("lang.lua.format") and { "stylua" } or nil,
nix = nixCats("lang.nix.format") and { "alejandra" } or nil,
rust = nixCats("lang.rust.format") and { "rustfmt", lsp_format = "fallback" } or nil,
haskell = nixCats("lang.haskell.format") and { "ormolu" } or nil,
proto = nixCats("lang.protobuf.format") and { "buf" } or nil,
toml = nixCats("lang.toml.format") and { "taplo" } or nil,
sql = nixCats("lang.sql.format") and { "sqlfluff" } or nil,
},
format_on_save = {
timeout_ms = 500,
},
})
vim.keymap.set({ "n", "v" }, "<leader>p", function()
conform.format({
lsp_fallback = false,
async = false,
timeout_ms = 1000,
})
end, { desc = "Format File (pretty :3)" })
end,
},
}

View file

@ -1,22 +1,15 @@
return { return {
{ {
"fyler.nvim", "fyler.nvim",
cmd = { "Fyler" }, cmd = { "Fyler" },
keys = { keys = {
{ { "<leader>tf", function() return require('fyler').toggle({ kind = "split_right" }) end, mode = {"n"}, desc = 'Open [F]yler' },
"<leader>F", },
function() load = function (name)
return require("fyler").toggle({ kind = "split_right" }) vim.cmd.packadd(name)
end, end,
mode = { "n" }, after = function(plugin)
desc = "Open File [E]xplorer (Fyler)", local fyler = require("fyler").setup()
}, end,
}, },
load = function(name)
vim.cmd.packadd(name)
end,
after = function(plugin)
local fyler = require("fyler").setup()
end,
},
} }

View file

@ -1,93 +0,0 @@
return {
{
"vim-fugitive",
enabled = nixCats("git.merge") or false,
cmd = { "Git", "Gvdiffsplit" },
},
{
"resolve-nvim",
enabled = nixCats("git.merge") or false,
event = { "BufReadPre", "BufNewFile" },
after = function(plugin)
require("resolve").setup({
default_keymaps = false,
on_conflicts_resolved = function(info)
-- NOTE: am not sure if i wanna stage files automatically
-- local filepath = vim.api.nvim_buf_get_name(info.bufnr)
-- vim.fn.system({ "git", "add", filepath })
-- vim.notify("conflicts resolved :3 file staged yayayayy <3", vim.log.levels.INFO)
vim.notify("conflicts resolved :3", vim.log.levels.INFO)
end,
})
end,
},
{
"gitsigns.nvim",
enabled = nixCats("git.gitsigns") or false,
after = function(plugin)
require("gitsigns").setup({
signs = {
add = { text = "" },
change = { text = "" },
delete = { text = "_" },
topdelete = { text = "" },
changedelete = { text = "~" },
untracked = { text = "" },
},
signs_staged = {
add = { text = "" },
change = { text = "" },
delete = { text = "_" },
topdelete = { text = "" },
changedelete = { text = "~" },
untracked = { text = "" },
},
on_attach = function(bufnr)
local gitsigns = require("gitsigns")
-- toggle git blame
vim.keymap.set("n", "<leader>gb", function()
local wins = vim.api.nvim_list_wins()
for _, win in ipairs(wins) do
local buf = vim.api.nvim_win_get_buf(win)
local ft = vim.api.nvim_get_option_value("filetype", { buf = buf })
if ft == "gitsigns-blame" then
vim.api.nvim_win_close(win, true)
return
end
end
vim.cmd("Gitsigns blame")
end)
vim.keymap.set("n", "<leader>bl", gitsigns.toggle_current_line_blame)
vim.keymap.set("n", "]c", function()
if vim.wo.diff then
vim.cmd.normal({ "]c", bang = true })
else
gitsigns.nav_hunk("next")
end
end)
vim.keymap.set("n", "[c", function()
if vim.wo.diff then
vim.cmd.normal({ "[c", bang = true })
else
gitsigns.nav_hunk("prev")
end
end)
vim.keymap.set("n", "<leader>hs", gitsigns.stage_hunk)
vim.keymap.set("n", "<leader>hu", gitsigns.undo_stage_hunk)
vim.keymap.set("n", "<leader>hS", gitsigns.stage_buffer)
vim.keymap.set("n", "<leader>hU", gitsigns.reset_buffer_index)
vim.keymap.set("n", "<leader>hi", gitsigns.toggle_current_line_blame)
vim.keymap.set("n", "<leader>hp", gitsigns.preview_hunk_inline)
end,
})
end,
},
}

View file

@ -1,36 +0,0 @@
return {
{
"hlchunk.nvim",
enabled = nixCats("ui.hlchunk") or false,
after = function(plugin)
require("hlchunk").setup({
chunk = {
enable = true,
use_treesitter = true,
chars = {
horizontal_line = "",
vertical_line = "",
left_top = "",
left_bottom = "",
right_arrow = "",
},
style = {
"#B0F0FA",
},
},
indent = {
enable = true,
use_treesitter = false,
ahead_lines = 10,
delay = 25,
chars = {
"",
},
style = {
"#9080FA",
},
},
})
end,
},
}

View file

@ -1,12 +1,8 @@
require("lze").load({ require("lze").load {
{ import = "plugins.dressing" }, { import = "plugins.dressing", },
{ import = "plugins.telescope" }, { import = "plugins.telescope", },
{ import = "plugins.treesitter" }, { import = "plugins.treesitter", },
{ import = "plugins.fyler" }, { import = "plugins.fyler", },
{ import = "plugins.mini-hipatterns" }, { import = "plugins.mini-hipatterns", },
{ import = "plugins.format" }, --{ import = "plugins.neocord", },
{ import = "plugins.comment" }, }
{ import = "plugins.git" },
{ import = "plugins.lualine" },
{ import = "plugins.hlchunk" },
})

View file

@ -1,22 +0,0 @@
local config = {
options = {
theme = "auto",
},
}
return {
{
"lualine.nvim",
enabled = nixCats("ui.lualine") or false,
after = function(plugin)
require("lualine").setup(config)
vim.api.nvim_create_autocmd("User", {
pattern = "RefreshLualine",
callback = function()
require("lualine").setup(config)
end,
})
end,
},
}

View file

@ -1,76 +1,76 @@
return { return {
{ {
"mini.hipatterns", "mini.hipatterns",
after = function(plugin) after = function(plugin)
local hipatterns = require("mini.hipatterns") local hipatterns = require("mini.hipatterns")
-- Returns hex color group for matching short hex color. -- Returns hex color group for matching short hex color.
-- --
---@param match string ---@param match string
---@return string ---@return string
local hex_color_short = function(_, match) local hex_color_short = function(_, match)
local style = "fg" -- 'fg' or 'bg', for extmark_opts_inline use 'fg' local style = 'fg' -- 'fg' or 'bg', for extmark_opts_inline use 'fg'
local r, g, b = match:sub(2, 2), match:sub(3, 3), match:sub(4, 4) local r, g, b = match:sub(2, 2), match:sub(3, 3), match:sub(4, 4)
local hex = string.format("#%s%s%s%s%s%s", r, r, g, g, b, b) local hex = string.format('#%s%s%s%s%s%s', r, r, g, g, b, b)
return hipatterns.compute_hex_color_group(hex, style) return hipatterns.compute_hex_color_group(hex, style)
end end
-- Returns hex color group for matching alpha hex color. -- Returns hex color group for matching alpha hex color.
-- --
---@param match string ---@param match string
---@return string ---@return string
local hex_color_alpha = function(_, match) local hex_color_alpha = function(_, match)
local style = "fg" -- 'fg' or 'bg', for extmark_opts_inline use 'fg' local style = 'fg' -- 'fg' or 'bg', for extmark_opts_inline use 'fg'
local r, g, b = match:sub(2, 3), match:sub(4, 5), match:sub(6, 7) local r, g, b = match:sub(2, 3), match:sub(4, 5), match:sub(6, 7)
local hex = string.format("#%s%s%s", r, g, b) local hex = string.format('#%s%s%s', r, g, b)
return hipatterns.compute_hex_color_group(hex, style) return hipatterns.compute_hex_color_group(hex, style)
end end
-- Returns extmark opts for highlights with virtual inline text. -- Returns extmark opts for highlights with virtual inline text.
-- --
---@param data table Includes `hl_group`, `full_match` and more. ---@param data table Includes `hl_group`, `full_match` and more.
---@return table ---@return table
local extmark_opts_inline = function(_, _, data) local extmark_opts_inline = function(_, _, data)
return { return {
virt_text = { { "󰧞", data.hl_group } }, virt_text = { { '󰧞', data.hl_group } },
virt_text_pos = "inline", virt_text_pos = 'inline',
right_gravity = false, right_gravity = false,
} }
end end
-- Returns extmark opts for highlights with virtual inline text. -- Returns extmark opts for highlights with virtual inline text.
-- --
---@param data table Includes `hl_group`, `full_match` and more. ---@param data table Includes `hl_group`, `full_match` and more.
---@return table ---@return table
local extmark_opts_inline_alpha = function(_, _, data) local extmark_opts_inline_alpha = function(_, _, data)
return { return {
virt_text = { { "󱡓", data.hl_group } }, virt_text = { { '󱡓', data.hl_group } },
virt_text_pos = "inline", virt_text_pos = 'inline',
right_gravity = false, right_gravity = false,
} }
end end
hipatterns.setup({ hipatterns.setup({
highlighters = { highlighters = {
-- #rrggbb -- #rrggbb
hex_color = hipatterns.gen_highlighter.hex_color({ hex_color = hipatterns.gen_highlighter.hex_color({
style = "inline", style = "inline",
inline_text = "󰧞", inline_text = '󰧞',
}), }),
-- #rgb -- #rgb
hex_color_short = { hex_color_short = {
pattern = "#%x%x%x%f[%X]", pattern = "#%x%x%x%f[%X]",
group = hex_color_short, group = hex_color_short,
extmark_opts = extmark_opts_inline, extmark_opts = extmark_opts_inline,
}, },
-- #rrggbbaa -- #rrggbbaa
hex_color_alpha = { hex_color_alpha = {
pattern = "#%x%x%x%x%x%x%x%x%f[%X]", pattern = "#%x%x%x%x%x%x%x%x%f[%X]",
group = hex_color_alpha, group = hex_color_alpha,
extmark_opts = extmark_opts_inline_alpha, extmark_opts = extmark_opts_inline_alpha,
}, },
},
})
end,
}, },
})
end,
},
} }

View file

@ -0,0 +1,5 @@
return {
{
"neocord",
},
}

View file

@ -1,119 +1,36 @@
return { return {
{ {
"telescope.nvim", "telescope.nvim",
enabled = nixCats("telescope.enable") or false, cmd = { "Telescope" },
cmd = { "Telescope" }, keys = {
keys = { { "<leader>f", function() return require('telescope.builtin').find_files() end, mode = {"n"}, desc = 'Telescope search [F]iles' },
{ { "<leader>tr", function() return require('telescope.builtin').oldfiles() end, mode = {"n"}, desc = '[T]elescope search [R]ecent files' },
"<leader>f", { "<leader>ts", function() return require('telescope.builtin').live_grep() end, mode = {"n"}, desc = '[T]elescope [S]earch cwd with grep' },
function() { "<leader>tw", function() return require('telescope.builtin').grep_string() end, mode = {"n"}, desc = '[T]elescope search current [W]ord' },
return require("telescope.builtin").find_files({ { "<leader>tk", function() return require('telescope.builtin').keymaps() end, mode = {"n"}, desc = '[T]elescope search [K]eymaps' },
hidden = true, { "<leader>tb", function() return require('telescope.builtin').buffers() end, mode = {"n"}, desc = '[T]elescope search [B]uffers' },
file_ignore_patterns = { "^.git/" }, },
}) load = function (name)
end, vim.cmd.packadd(name)
mode = { "n" }, vim.cmd.packadd("telescope-fzf-native.nvim")
desc = "Telescope search [F]iles", end,
}, after = function(plugin)
{ local telescope = require("telescope")
"<leader>tr", local actions = require("telescope.actions")
function()
return require("telescope.builtin").oldfiles()
end,
mode = { "n" },
desc = "[T]elescope search [R]ecent files",
},
{
"<leader>ts",
function()
return require("telescope.builtin").live_grep({
additional_args = { "--hidden" },
glob_pattern = { "!.git/" },
})
end,
mode = { "n" },
desc = "[T]elescope [S]earch cwd with grep",
},
{
"<leader>tw",
function()
return require("telescope.builtin").grep_string({
additional_args = { "--hidden" },
glob_pattern = { "!.git/" },
})
end,
mode = { "n" },
desc = "[T]elescope search current [W]ord",
},
{
"<leader>tk",
function()
return require("telescope.builtin").keymaps()
end,
mode = { "n" },
desc = "[T]elescope search [K]eymaps",
},
{
"<leader>tb",
function()
return require("telescope.builtin").buffers()
end,
mode = { "n" },
desc = "[T]elescope search [B]uffers",
},
{
"<leader>th",
function()
return require("telescope.builtin").highlights()
end,
mode = { "n" },
desc = "[T]elescope [H]ighlights",
},
{
"<leader>gs",
function()
return require("telescope.builtin").git_status()
end,
mode = { "n" },
desc = "[G]it [S]tatus",
},
},
load = function(name)
vim.cmd.packadd(name)
if nixCats("telescope.fzf") then telescope.setup {
vim.cmd.packadd("telescope-fzf-native.nvim") defaults = {
end mappings = {
i = {
["<C-k>"] = actions.move_selection_previous, -- move to prev result
["<C-j>"] = actions.move_selection_next, -- move to next result
["<C-q>"] = actions.send_selected_to_qflist + actions.open_qflist
}
}
}
}
if nixCats("telescope.zf") then pcall(telescope.load_extension, "fzf")
vim.cmd.packadd("telescope-zf-native.nvim") end,
end },
end,
after = function(plugin)
local telescope = require("telescope")
local actions = require("telescope.actions")
telescope.setup({
defaults = {
border = true,
borderchars = { "", "", "", "", "", "", "", "" },
mappings = {
i = {
["<C-k>"] = actions.move_selection_previous, -- move to prev result
["<C-j>"] = actions.move_selection_next, -- move to next result
["<C-q>"] = actions.send_selected_to_qflist + actions.open_qflist,
},
},
},
})
if nixCats("telescope.fzf") then
telescope.load_extension("fzf")
end
if nixCats("telescope.zf") then
telescope.load_extension("zf-native")
end
end,
},
} }

View file

@ -2,94 +2,94 @@
-- https://github.com/BirdeeHub/nixCats-nvim/blob/3c9bc4d7123e1b48d92f25ba505b889af541e897/templates/example/lua/myLuaConf/plugins/treesitter.lua -- https://github.com/BirdeeHub/nixCats-nvim/blob/3c9bc4d7123e1b48d92f25ba505b889af541e897/templates/example/lua/myLuaConf/plugins/treesitter.lua
return { return {
{ {
"nvim-treesitter", "nvim-treesitter",
lazy = false, lazy = false,
after = function(plugin) after = function (plugin)
--@param buf integer --@param buf integer
--@param language string --@param language string
local function treesitter_try_attach(buf, language) local function treesitter_try_attach(buf, language)
--check if parser exists and load it --check if parser exists and load it
if not vim.treesitter.language.add(language) then if not vim.treesitter.language.add(language) then
return return
end end
-- enables syntax highlight and other treesitter features -- enables syntax highlight and other treesitter features
vim.treesitter.start(buf, language) vim.treesitter.start(buf, language)
-- enables treesitter based folds -- enables treesitter based folds
vim.wo.foldexpr = "v:lua.vim.treesitter.foldexpr()" vim.wo.foldexpr = "v:lua.vim.treesitter.foldexpr()"
-- enables treesiter based indentation -- enables treesiter based indentation
vim.bo.indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()" vim.bo.indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()"
end end
local available_parsers = require("nvim-treesitter").get_available() local available_parsers = require("nvim-treesitter").get_available()
vim.api.nvim_create_autocmd("FileType", { vim.api.nvim_create_autocmd("FileType", {
callback = function(args) callback = function(args)
local buf, filetype = args.buf, args.match local buf, filetype = args.buf, args.match
local language = vim.treesitter.language.get_lang(filetype) local language = vim.treesitter.language.get_lang(filetype)
if not language then if not language then
return return
end end
local installed_parsers = require("nvim-treesitter").get_installed("parsers") local installed_parsers = require("nvim-treesitter").get_installed("parsers")
if vim.tbl_contains(installed_parsers, language) then if vim.tbl_contains(installed_parsers, language) then
-- enable the parser if it is installed -- enable the parser if it is installed
treesitter_try_attach(buf, language) treesitter_try_attach(buf, language)
elseif vim.tbl_contains(available_parsers, language) then elseif vim.tbl_contains(available_parsers, language) then
-- if a parser is available in `nvim-treesitter` enable it after ensuring it is installed -- if a parser is available in `nvim-treesitter` enable it after ensuring it is installed
require("nvim-treesitter").install(language):await(function() require("nvim-treesitter").install(language):await(function()
treesitter_try_attach(buf, language) treesitter_try_attach(buf, language)
end) end)
else else
-- try to enable treesitter features in case the parser exists but is not available from `nvim-treesitter` -- try to enable treesitter features in case the parser exists but is not available from `nvim-treesitter`
treesitter_try_attach(buf, language) treesitter_try_attach(buf, language)
end end
end, end,
}) })
end, end,
},
{
"nvim-treesitter-textobjects",
lazy = false,
before = function(plugin)
vim.g.no_plugin_maps = true
end,
after = function(plugin)
require("nvim-treesitter-textobjects").setup {
select = {
lookahead = true,
selection_modes = {
['@parameter.outer'] = 'v', -- charwise
['@function.outer'] = 'V', -- linewise
},
include_surrounding_whitespace = false,
}, },
{ }
"nvim-treesitter-textobjects",
lazy = false,
before = function(plugin)
vim.g.no_plugin_maps = true
end,
after = function(plugin)
require("nvim-treesitter-textobjects").setup({
select = {
lookahead = true,
selection_modes = {
["@parameter.outer"] = "v", -- charwise
["@function.outer"] = "V", -- linewise
},
include_surrounding_whitespace = false,
},
})
-- keymaps -- keymaps
vim.keymap.set({ "x", "o" }, "am", function() vim.keymap.set({ "x", "o" }, "am", function()
require("nvim-treesitter-textobjects.select").select_textobject("@function.outer", "textobjects") require "nvim-treesitter-textobjects.select".select_textobject("@function.outer", "textobjects")
end) end)
vim.keymap.set({ "x", "o" }, "im", function() vim.keymap.set({ "x", "o" }, "im", function()
require("nvim-treesitter-textobjects.select").select_textobject("@function.inner", "textobjects") require "nvim-treesitter-textobjects.select".select_textobject("@function.inner", "textobjects")
end) end)
vim.keymap.set({ "x", "o" }, "ac", function() vim.keymap.set({ "x", "o" }, "ac", function()
require("nvim-treesitter-textobjects.select").select_textobject("@class.outer", "textobjects") require "nvim-treesitter-textobjects.select".select_textobject("@class.outer", "textobjects")
end) end)
vim.keymap.set({ "x", "o" }, "ic", function() vim.keymap.set({ "x", "o" }, "ic", function()
require("nvim-treesitter-textobjects.select").select_textobject("@class.inner", "textobjects") require "nvim-treesitter-textobjects.select".select_textobject("@class.inner", "textobjects")
end) end)
-- You can also use captures from other query groups like `locals.scm` -- You can also use captures from other query groups like `locals.scm`
vim.keymap.set({ "x", "o" }, "as", function() vim.keymap.set({ "x", "o" }, "as", function()
require("nvim-treesitter-textobjects.select").select_textobject("@local.scope", "locals") require "nvim-treesitter-textobjects.select".select_textobject("@local.scope", "locals")
end) end)
-- NOTE: for more textobjects options, see the following link. -- NOTE: for more textobjects options, see the following link.
-- This template is using the new `main` branch of the repo. -- This template is using the new `main` branch of the repo.
-- https://github.com/nvim-treesitter/nvim-treesitter-textobjects/tree/main -- https://github.com/nvim-treesitter/nvim-treesitter-textobjects/tree/main
end, end,
}, },
} }

View file

@ -1,39 +1,39 @@
# TODO: look into changing to this:
# https://github.com/BirdeeHub/nix-wrapper-modules
{ {
inputs, inputs,
mpkgs, spkgs,
... ...
}: let }: let
inherit utils = inputs.nixcats.utils;
(inputs.nixcats)
utils
;
in { in {
imports = [ imports = [
inputs.nixcats.homeModule inputs.nixcats.homeModule
]; ];
config = { config = {
# this value, nixCats is the defaultPackageName you pass to mkNixosModules
# it will be the namespace for your options.
nixCats = { nixCats = {
enable = true; enable = true;
nixpkgs_version = inputs.nixpkgs-unstable; nixpkgs_version = inputs.nixpkgs;
# TODO: ask butterfly about this, am confused :3
# this will add the overlays from ./overlays and also, # this will add the overlays from ./overlays and also,
# add any plugins in inputs named "plugins-pluginName" to pkgs.neovimPlugins # add any plugins in inputs named "plugins-pluginName" to pkgs.neovimPlugins
# It will not apply to overall system, just nixCats. # It will not apply to overall system, just nixCats.
addOverlays = addOverlays =
# (import ./overlays inputs) ++ /*
(import ./overlays inputs) ++
*/
[ [
(utils.standardPluginOverlay inputs) (utils.standardPluginOverlay inputs)
]; ];
# see the packageDefinitions below.
# This says which of those to install. # This says which of those to install.
packageNames = ["auroranvim"]; packageNames = ["auroranvim"];
luaPath = "${./.}"; luaPath = "${./.}";
# for usage of this section, refer to :h nixCats.flake.outputs.categories # the .replace vs .merge options are for modules based on existing configurations,
# they refer to how multiple categoryDefinitions get merged together by the module.
# for useage of this section, refer to :h nixCats.flake.outputs.categories
categoryDefinitions.replace = { categoryDefinitions.replace = {
pkgs, pkgs,
settings, settings,
@ -43,71 +43,45 @@ in {
mkNvimPlugin, mkNvimPlugin,
... ...
} @ packageDef: { } @ packageDef: {
lspsAndRuntimeDeps = with pkgs; { lspsAndRuntimeDeps = {
general = [ general = with pkgs; [
ripgrep ripgrep
fd fd
]; ];
treesitter = [ treesitter = with pkgs; [
tree-sitter tree-sitter
]; ];
lang = { lang = with pkgs; {
lua = { lua = [
lsp = [lua-language-server]; lua-language-server
format = [stylua]; ];
}; nix = [
nix = { nil
lsp = [nil]; nix-doc
format = [alejandra]; ];
docs = [nix-doc]; # TODO: i forgot how to integrate this into neovim rust = with pkgs; [
}; cargo
rust = { rust-analyzer
lsp = [cargo mpkgs.rust-analyzer]; ];
# nightly rustfmt has nicer features :3 zig = with pkgs; [
format = [(rustfmt.override {asNightly = true;})]; spkgs.zls # FIX: using spkgs version as zls is broken rn ;-;
}; ];
zig = { elixir = with pkgs; [
lsp = [zls]; elixir-ls
# TODO: needs formatter field ];
}; gleam = with pkgs; [
elixir = { gleam
lsp = [elixir-ls]; ];
# TODO: needs formatter field java = with pkgs; [
}; jdt-language-server
gleam = { javaPackages.compiler.openjdk17
lsp = [gleam]; javaPackages.compiler.openjdk21
# TODO: needs formatter field ];
};
haskell = {
lsp = [haskell-language-server];
format = [ormolu];
};
java = {
lsp = [
jdt-language-server
javaPackages.compiler.openjdk17
javaPackages.compiler.openjdk21
];
# TODO: needs formatter field
};
protobuf = {
lsp = [protols];
format = [buf];
};
toml = {
format = [taplo];
};
bash = {
lsp = [bash-language-server];
};
sql = {
format = [sqlfluff];
};
}; };
}; };
startupPlugins = with pkgs.vimPlugins; { startupPlugins = {
general = [ general = with pkgs.vimPlugins; [
lze lze
plenary-nvim plenary-nvim
nvim-notify nvim-notify
@ -115,38 +89,33 @@ in {
base16-nvim base16-nvim
mini-nvim mini-nvim
]; ];
treesitter = [ treesitter = with pkgs.vimPlugins; [
nvim-treesitter-textobjects nvim-treesitter-textobjects
nvim-treesitter.withAllGrammars nvim-treesitter.withAllGrammars
]; ];
}; };
optionalPlugins = {
optionalPlugins = with pkgs.vimPlugins; { general = with pkgs.vimPlugins; [
general = []; ];
ui = { ui = with pkgs.vimPlugins; [
dressing = [dressing-nvim]; dressing-nvim
lualine = [lualine-nvim]; ];
hlchunk = [hlchunk-nvim]; qol = with pkgs.vimPlugins; [
};
qol = [
undotree undotree
mini-hipatterns mini-hipatterns
]; ];
telescope = { telescope = with pkgs.vimPlugins; [
enable = [ telescope-nvim
telescope-nvim telescope-fzf-native-nvim
telescope-ui-select-nvim telescope-ui-select-nvim
]; ];
fzf = [telescope-fzf-native-nvim]; fyler = with pkgs.vimPlugins; [
zf = [telescope-zf-native-nvim];
};
fyler = [
fyler-nvim fyler-nvim
]; ];
lsp = [ lsp = with pkgs.vimPlugins; [
nvim-lspconfig nvim-lspconfig
]; ];
completion = [ completion = with pkgs.vimPlugins; [
blink-cmp blink-cmp
nvim-cmp nvim-cmp
luasnip luasnip
@ -161,53 +130,45 @@ in {
cmp-cmdline-history cmp-cmdline-history
lspkind-nvim lspkind-nvim
]; ];
format = [ lang = with pkgs.vimPlugins; {
conform-nvim
];
comment = [
comment-nvim
];
git = {
merge = [
resolve-nvim
vim-fugitive
];
gitsigns = [
gitsigns-nvim
];
};
lang = {
java = [ java = [
nvim-jdtls nvim-jdtls
]; ];
}; };
discord = with pkgs.vimPlugins; [
neocord # discord presence plugin :3
];
}; };
# shared libraries to be added to LD_LIBRARY_PATH # shared libraries to be added to LD_LIBRARY_PATH
# variable available to nvim runtime # variable available to nvim runtime
sharedLibraries = { sharedLibraries = {
general = with pkgs; []; general = with pkgs; [
# libgit2
];
}; };
environmentVariables = { environmentVariables = {
lang = { lang = {
rust.lsp = { rust = {
# it literally won't see the rust-analyzer provided to it # it literally won't see the rust-analyzer provided to it
# if you don't use an envrionment variable to tell it # if you don't use an envrionment variable to tell it
RUST_ANALYZER_CMD = "${mpkgs.rust-analyzer}/bin/rust-analyzer"; RUST_ANALYZER_CMD = "${pkgs.rust-analyzer}/bin/rust-analyzer";
}; };
elixir.lsp = { elixir = {
ELIXIR_LS_CMD = "${pkgs.elixir-ls}/scripts/language_server.sh"; ELIXIR_LS_CMD = "${pkgs.elixir-ls}/scripts/language_server.sh";
}; };
java.lsp = { java = {
JAVA_HOME = "${pkgs.javaPackages.compiler.openjdk17}"; JAVA_HOME = "${pkgs.javaPackages.compiler.openjdk17}";
OPENJDK_17 = "${pkgs.javaPackages.compiler.openjdk17}"; OPENJDK_17 = "${pkgs.javaPackages.compiler.openjdk17}";
OPENJDK_21 = "${pkgs.javaPackages.compiler.openjdk21}"; OPENJDK_21 = "${pkgs.javaPackages.compiler.openjdk21}";
}; };
}; };
}; };
extraWrapperArgs = {
extraWrapperArgs = {}; test = [
''--set CATTESTVAR2 "It worked again!"''
];
};
# lists of the functions you would have passed to # lists of the functions you would have passed to
# python.withPackages or lua.withPackages # python.withPackages or lua.withPackages
@ -215,93 +176,50 @@ in {
# in your lua config via # in your lua config via
# vim.g.python3_host_prog # vim.g.python3_host_prog
# or run from nvim terminal via :!<packagename>-python3 # or run from nvim terminal via :!<packagename>-python3
extraPython3Packages = {}; extraPython3Packages = {
test = _: [];
};
# populates $LUA_PATH and $LUA_CPATH # populates $LUA_PATH and $LUA_CPATH
extraLuaPackages = {}; extraLuaPackages = {
test = [(_: [])];
};
}; };
# see :help nixCats.flake.outputs.packageDefinitions # see :help nixCats.flake.outputs.packageDefinitions
packageDefinitions.replace = { packageDefinitions.replace = {
# these are the names of your packages
# you can include as many as you wish.
auroranvim = {pkgs, ...}: { auroranvim = {pkgs, ...}: {
# they contain a settings set defined above # they contain a settings set defined above
# see :help nixCats.flake.outputs.settings # see :help nixCats.flake.outputs.settings
settings = { settings = {
wrapRc = true; wrapRc = true;
aliases = [ # IMPORTANT:
"auravim" # your alias may not conflict with your other packages.
"foxyvim" aliases = ["auroravim" "auravim" "foxyvim" "avix" "fvix" "auim"];
"avix"
"fvix"
];
}; };
# and a set of categories that you want
# (and other information to pass to lua)
categories = { categories = {
general = true; general = true;
ui = { ui = true;
dressing = true;
lualine = true;
hlchunk = false; # seems really laggy
};
qol = true; qol = true;
telescope = true;
telescope = {
enable = true;
# only enable one at a time
fzf = true;
zf = false;
};
fyler = true; fyler = true;
lsp = true; lsp = true;
completion = true; completion = true;
treesitter = true; treesitter = true;
discord = false;
format = true;
comment = true;
git = {
merge = false; # not really setup yet.. </3
gitsigns = true;
};
lang = { lang = {
lua.lsp = true; lua = true;
lua.format = true; nix = true;
rust = true;
nix.lsp = true; zig = true;
nix.format = true; elixir = true;
nix.docs = true; gleam = true;
java = true;
rust.lsp = true;
rust.format = true;
zig.lsp = true;
zig.format = true;
elixir.lsp = true;
elixir.format = true;
gleam.lsp = true;
gleam.format = true;
haskell.lsp = true;
haskell.format = true;
java.lsp = true;
java.format = true;
protobuf.lsp = true;
protobuf.format = true;
toml.format = true;
bash.lsp = true;
sql.format = true;
}; };
}; };
}; };

View file

@ -1,25 +1,15 @@
{ {inputs, ...}: {
inputs,
upkgs,
mpkgs,
...
}: {
imports = [ imports = [
inputs.nixcord.homeModules.nixcord inputs.nixcord.homeModules.nixcord
]; ];
programs.nixcord = { programs.nixcord = {
enable = true; enable = true;
equibop.enable = true; equibop.enable = true;
equibop.package = upkgs.equibop;
vesktop.enable = true;
discord = { discord = {
vencord.enable = false; vencord.enable = false;
equicord.enable = true; equicord.enable = true;
equicord.package = mpkgs.equicord;
}; };
config = { config = {
@ -78,6 +68,7 @@
forwardAnywhere.enable = true; forwardAnywhere.enable = true;
spotifyCrack.enable = true; spotifyCrack.enable = true;
spotifyShareCommands.enable = true; spotifyShareCommands.enable = true;
spotifyControls.enable = true;
fullUserInChatbox.enable = true; fullUserInChatbox.enable = true;
gifPaste.enable = true; gifPaste.enable = true;
ignoreActivities = { ignoreActivities = {
@ -113,7 +104,7 @@
}; };
silentTyping = { silentTyping = {
enable = true; enable = true;
enabledGlobally = true; enabledGlobally = false;
}; };
startupTimings.enable = true; startupTimings.enable = true;
typingIndicator.enable = true; typingIndicator.enable = true;
@ -142,7 +133,7 @@
whoReacted.enable = true; whoReacted.enable = true;
whosWatching.enable = true; whosWatching.enable = true;
quickReply.enable = true; quickReply.enable = true;
# questCompleter.enable = true; # does not seem to exist anymore? questCompleter.enable = true;
shikiCodeblocks = { shikiCodeblocks = {
enable = true; enable = true;
useDevIcon = "COLOR"; useDevIcon = "COLOR";
@ -166,9 +157,9 @@
"1436964273162289185" "1436964273162289185"
"1436988320474206311" "1436988320474206311"
"1449837047383855119" "1449837047383855119"
"1436965652861685891"
"1436968495190642722"
"1465424321919975454" "1465424321919975454"
"1468324280445046824"
"1461929299727749145"
]; ];
} }
{ {
@ -177,7 +168,6 @@
color = 10223511; color = 10223511;
collapsed = false; collapsed = false;
channels = [ channels = [
"1436968495190642722"
"1436985374286155799" "1436985374286155799"
"1436965657076826222" "1436965657076826222"
"1429921297160212681" "1429921297160212681"
@ -194,7 +184,6 @@
"1461885176534794427" "1461885176534794427"
"1462155159470866443" "1462155159470866443"
"1468735915076878407" "1468735915076878407"
"1470963392121536657"
]; ];
} }
{ {
@ -210,7 +199,6 @@
"1419557866502754334" "1419557866502754334"
"1436985041203892315" "1436985041203892315"
"1438071327515742229" "1438071327515742229"
"1436965652861685891"
]; ];
} }
{ {
@ -235,10 +223,12 @@
"1449513783893692589" "1449513783893692589"
"1463737720961634461" "1463737720961634461"
"1463000874392748249" "1463000874392748249"
"1461929299727749145"
"1436984534712451105" "1436984534712451105"
"1436983282582683813" "1436983282582683813"
"1437283420312047659" "1437283420312047659"
"1437089201651847315" "1437089201651847315"
"1468324280445046824"
"1467307140443148288" "1467307140443148288"
]; ];
} }
@ -256,8 +246,4 @@
]; ];
}; };
}; };
programs.nixcord.config.plugins.bypassStatus = {
enable = true;
};
} }

View file

@ -8,7 +8,7 @@
programs.yazi = { programs.yazi = {
enable = true; enable = true;
enableZshIntegration = false; # i modified the script in my .zshrc enableZshIntegration = false; # i mod"if"ied the script in my .zshrc
settings = { settings = {
mgr = { mgr = {
@ -170,7 +170,7 @@
[filechooser] [filechooser]
cmd=${upkgs.xdg-desktop-portal-termfilechooser}/share/xdg-desktop-portal-termfilechooser/yazi-wrapper.sh cmd=${upkgs.xdg-desktop-portal-termfilechooser}/share/xdg-desktop-portal-termfilechooser/yazi-wrapper.sh
default_dir=$HOME default_dir=$HOME
env=TERMCMD='alacritty --title filechooser -e ' env=TERMCMD='kitty --title filechooser'
open_mode=suggested open_mode=suggested
save_mode=last save_mode=last
''; '';

View file

@ -1 +0,0 @@
#!/usr/bin/env bash

View file

@ -1,2 +1,2 @@
#!/usr/bin/env bash #!/usr/bin/env bash
pkill -f "alacritty --title btop -e btop" || { alacritty --title btop -e btop & disown; } pkill -f "kitty --title btop -e btop" || { kitty --title btop -e btop & disown; }

View file

@ -1,128 +0,0 @@
{
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
"logo": {
"type": "auto",
"source": "nixos",
},
"display": {
"separator": " > ",
"constants": [],
},
"modules": [
{
"type": "title",
"format": "╭─────╯ {user-name}@{host-name} ╰───────────────╌╌╌┄┄┄┈┈┈",
"outputColor": "cyan",
},
{
"type": "os",
"key": "│ os",
"keyColor": "cyan",
"format": "{name} {version}",
},
{
"type": "kernel",
"key": "│ kernel",
"keyColor": "cyan",
"format": "{sysname} {arch} - {release}",
},
{
"type": "uptime",
"key": "│ uptime",
"keyColor": "cyan",
},
{
"type": "packages",
"key": "│ pkgs",
"keyColor": "cyan",
},
{
"type": "cpu",
"key": "│ cpu",
"keyColor": "magenta",
"temp": true,
"format": "{name} {cores-physical}c/{cores-logical}t @ {freq-max} ({temperature})",
},
{
"type": "gpu",
"key": "│ gpu{1}",
"keyColor": "magenta",
"driverSpecific": false,
"detectionMethod": "pci",
"temp": true,
"percent": {
"green": 50,
"yellow": 80,
"type": 0
},
"format": "{name} ({temperature}) [{type}]",
},
{
"type": "memory",
"key": "│ memory",
"keyColor": "magenta",
},
{
"type": "swap",
"key": "│ swap",
"keyColor": "magenta",
},
{
"type": "disk",
"key": "│ disk({1})",
"keyColor": "magenta",
},
{
"type": "shell",
"key": "│ shell",
"keyColor": "green",
},
{
"type": "terminal",
"key": "│ term",
"keyColor": "green",
},
{
"type": "wm",
"key": "│ wm",
"keyColor": "green",
},
{
"type": "terminalfont",
"key": "│ font",
"keyColor": "green",
"format": "{name}",
},
{
"type": "locale",
"key": "│ locale",
"keyColor": "green",
},
{
"type": "title",
"format": "├─────────────────────────────────────────╌╌╌┄┄┄┈┈┈",
"outputColor": "red",
},
{
"type": "command",
"key": "│",
"keyWidth": 3,
"keyColor": "red",
"shell": "bash",
"text": "for i in {0..7}; do printf \"\\e[4%dm \\e[0m\" $i; done",
},
{
"type": "command",
"key": "│",
"keyWidth": 3,
"keyColor": "red",
"shell": "bash",
"text": "for i in {0..7}; do printf \"\\e[10%dm \\e[0m\" $i; done",
},
{
"type": "title",
"format": "╰─────────────────────────────────────────╌╌╌┄┄┄┈┈┈",
"outputColor": "red",
},
]
}

View file

@ -14,27 +14,21 @@
]; ];
initContent = '' initContent = ''
# yazi wrapper!!! # yazi wrapper!!!
function yazi() { function yazi() {
local tmp="$(mktemp -p "/run/user/$UID" -t "yazi-cwd.XXXXXXXX")" cwd local tmp="$(mktemp -p "/run/user/$UID" -t "yazi-cwd.XXXXXX")" cwd
command yazi "$@" --cwd-file="$tmp" command yazi "$@" --cwd-file="$tmp"
IFS= read -r -d ''' cwd < "$tmp" IFS= read -r -d ''' cwd < "$tmp"
[ -n "$cwd" ] && [ "$cwd" != "$PWD" ] && builtin cd -- "$cwd" [ -n "$cwd" ] && [ "$cwd" != "$PWD" ] && builtin cd -- "$cwd"
rm -f -- "$tmp" rm -f -- "$tmp"
} }
# oh i'm so gay!! :3 hyfetch # oh i'm so gay!! :3
function hf() {
local queer_flags=('genderfae' 'lesbian' 'xenogender' 'transgender' 'transfeminine' 'transbian' 'pansexual')
local ascii_art=('fox-1.txt' 'fox-2.txt' 'fox-3.txt' 'blackhole-1.txt' 'butterfly-4.txt' 'butterfly-7.txt' 'flower-3.txt' 'flower-4.txt')
hyfetch --ascii-file="$XDG_DATA_HOME/ascii-art/$ascii_art[RANDOM % $#ascii_art + 1]" --preset="$queer_flags[RANDOM % $#queer_flags + 1]" --args="--config themes/laimu.jsonc"
}
hf
''; '';
shellAliases = { shellAliases = {
# files and nav stuff # files and nav stuff
ls = "eza --icons=auto"; ls = "eza";
ll = "ls -la"; ll = "ls -la";
lt = "ls --tree"; lt = "ls --tree";
llt = "ll --tree"; llt = "ll --tree";
@ -51,15 +45,12 @@
cb-fox = "ssh-add ~/.ssh/codeberg_foxxyora"; cb-fox = "ssh-add ~/.ssh/codeberg_foxxyora";
tf-fox = "ssh-add ~/.ssh/tearforge_foxora"; tf-fox = "ssh-add ~/.ssh/tearforge_foxora";
tx = "wormhole-rs tx";
rx = "wormhole-rs rx";
# -------------------- # --------------------
# shorthand nix command aliases # shorthand nix command aliases
# open nix develop with preferred shell # open nix develop with preferred shell
# description: nd = nix develop # description: nd = nix develop
nd = "[[ -f ./flake.sh ]] && ./flake.sh -c $SHELL || nix develop -c $SHELL"; nd = "nix develop -c $SHELL";
# description: cdns = change directory [to] nix settings # description: cdns = change directory [to] nix settings
cdns = "cd ~/.nix"; cdns = "cd ~/.nix";
@ -74,6 +65,9 @@
# upgrades the system # upgrades the system
upgrade = "cdns && nix flake update && nh os switch ./ --accept-flake-config"; upgrade = "cdns && nix flake update && nh os switch ./ --accept-flake-config";
# kitty's ssh command (to fix xterm and other stuff qwq)
kssh = "kitty +kitten ssh";
# pipes are prettyyyy!!!! :3333 # pipes are prettyyyy!!!! :3333
pipes1 = "pipes.sh -r 1024 -p 8 -f 30"; pipes1 = "pipes.sh -r 1024 -p 8 -f 30";
pipes2 = "pipes.sh -r 4096 -p 16 -f 100"; pipes2 = "pipes.sh -r 4096 -p 16 -f 100";

View file

@ -1,27 +0,0 @@
[colors.primary]
background = '{{ background }}'
foreground = '{{ foreground }}'
[colors.cursor]
cursor = '{{ cursor }}'
text = '{{ cursor }}'
[colors.normal]
black = '{{ color0 }}'
red = '{{ color1 }}'
green = '{{ color2 }}'
yellow = '{{ color3 }}'
blue = '{{ color4 }}'
magenta = '{{ color5 }}'
cyan = '{{ color6 }}'
white = '{{ color7 }}'
[colors.bright]
black = '{{ color8 }}'
red = '{{ color9 }}'
green = '{{ color10 }}'
yellow = '{{ color11 }}'
blue = '{{ color12 }}'
magenta = '{{ color13 }}'
cyan = '{{ color14 }}'
white = '{{ color15 }}'

View file

@ -1,24 +0,0 @@
[colors]
alpha=1.000000
alpha-mode=default
background={{ background | strip }}
foreground={{ foreground | strip }}
selection-background={{ foreground | strip }}
selection-foreground={{ background | strip }}
regular0={{ color0 | strip }}
regular1={{ color1 | strip }}
regular2={{ color2 | strip }}
regular3={{ color3 | strip }}
regular4={{ color4 | strip }}
regular5={{ color5 | strip }}
regular6={{ color6 | strip }}
regular7={{ color7 | strip }}
bright0={{ color8 | strip }}
bright1={{ color9 | strip }}
bright2={{ color10 | strip }}
bright3={{ color11 | strip }}
bright4={{ color12 | strip }}
bright5={{ color13 | strip }}
bright6={{ color14 | strip }}
bright7={{ color15 | strip }}
urls={{ color13 | strip }}

View file

@ -1,11 +0,0 @@
# background color of the root window
rootcolor=0x{{ color12 | strip }}ff
# inactive window border
bordercolor=0x{{ color0 | strip }}ff
# active window border
focuscolor=0x{{ color14 | strip }}ff
# urgent / alerted window border
urgentcolor=0x{{ color10 | strip }}ff

View file

@ -14,5 +14,5 @@
{{ color13 }} {{ color13 }}
{{ color14 }} {{ color14 }}
{{ color15 }} {{ color15 }}
{{ foreground }}
{{ background }} {{ background }}
{{ foreground }}

View file

@ -1,20 +0,0 @@
* {
background: rgba({{ background | rgb }},0.9);
foreground: rgba({{ foreground | rgb }},0.9);
color00: rgba({{ color0 | rgb }},0.9);
color01: rgba({{ color1 | rgb }},0.9);
color02: rgba({{ color2 | rgb }},0.9);
color03: rgba({{ color3 | rgb }},0.9);
color04: rgba({{ color4 | rgb }},0.9);
color05: rgba({{ color5 | rgb }},0.9);
color06: rgba({{ color6 | rgb }},0.9);
color07: rgba({{ color7 | rgb }},0.9);
color08: rgba({{ color8 | rgb }},0.9);
color09: rgba({{ color9 | rgb }},0.9);
color10: rgba({{ color10 | rgb }},0.9);
color11: rgba({{ color11 | rgb }},0.9);
color12: rgba({{ color12 | rgb }},0.9);
color13: rgba({{ color13 | rgb }},0.9);
color14: rgba({{ color14 | rgb }},0.9);
color15: rgba({{ color15 | rgb }},0.9);
}

View file

@ -13,24 +13,15 @@ equibop.target = "~/.config/equibop/themes/base16-colors.css"
equicord.template = "discord-template.css" equicord.template = "discord-template.css"
equicord.target = "~/.config/Equicord/themes/base16-colors.css" equicord.target = "~/.config/Equicord/themes/base16-colors.css"
kitty.template = "kitty-template.conf"
kitty.target = "~/.config/kitty/theme.conf"
hyprland.template = "hyprland-template.conf" hyprland.template = "hyprland-template.conf"
hyprland.target = "~/.config/hypr/colors.conf" hyprland.target = "~/.config/hypr/colors.conf"
mango.template = "mango-template.conf"
mango.target = "~/.config/mango/colors.conf"
foot.template = "foot-template.ini"
foot.target = "~/.config/foot/theme.ini"
alacritty.template = "alacritty-template.toml"
alacritty.target = "~/.config/alacritty/theme.toml"
waybar.template = "waybar-template.css" waybar.template = "waybar-template.css"
waybar.target = "~/.config/waybar/colors.css" waybar.target = "~/.config/waybar/colors.css"
rofi.template = "rofi-template.rasi"
rofi.target = "~/.config/rofi/colors.rasi"
neovim.template = "neovim-template" neovim.template = "neovim-template"
neovim.target = "~/.cache/nvim/neovim-colors" neovim.target = "~/.cache/nvim/neovim-colors"

View file

@ -1,7 +1,7 @@
# a submap for emulating keys/buttons/functions on the keyboard or mouse # a submap for emulating keys/buttons/functions on the keyboard or mouse
bind = $mod+shift, c, submap, cursor bind = $mod+shift+alt, a, submap, virtual
submap = cursor submap = virtual
# exit submap # exit submap
bind = , escape, submap, reset bind = , escape, submap, reset
@ -38,6 +38,6 @@ binde = alt, e, exec, wlrctl pointer scroll -15 0 # scroll left
binde = alt, y, exec, wlrctl pointer scroll 0 15 # scroll right binde = alt, y, exec, wlrctl pointer scroll 0 15 # scroll right
# catches all other keys and keeps us in the submap # catches all other keys and keeps us in the submap
bind = , catchall, submap, cursor bind = , catchall, submap, virtual
submap = reset submap = reset

View file

@ -1,19 +1,10 @@
# window rules # window rules
# ---------------------------------------------------------------------------- #
# terminal - blur
windowrule {
name = terminal-blur
match:class = ^(foot|Alacritty)$
match:fullscreen = false
opacity = 0.95
}
# ---------------------------------------------------------------------------- # # ---------------------------------------------------------------------------- #
# task manager # task manager
windowrule { windowrule {
name = terminal-manager name = task-manager
match:class = ^(foot|Alacritty)$ match:class = ^(kitty)$
match:title = ^(btop)$ match:title = ^(btop)$
float = true float = true
center = true center = true
@ -24,13 +15,33 @@ windowrule {
# terminal filechooser # terminal filechooser
windowrule { windowrule {
name = terminal-filechooser name = terminal-filechooser
match:class = ^(foot|Alacritty)$ match:class = ^(kitty)$
match:title = ^(filechooser)$ match:title = ^(filechooser)$
float = true float = true
center = true center = true
size = (monitor_w*0.85) (monitor_h*0.85) size = (monitor_w*0.85) (monitor_h*0.85)
} }
# ---------------------------------------------------------------------------- #
# yazi explorer
#windowrule {
#name = yazi
#match:class = ^(kitty)$
#match:title = ^(yazi)$
#float = true
#center = true
#size = (monitor_w*0.85) (monitor_h*0.85)
#}
# ---------------------------------------------------------------------------- #
# kitty - blur
windowrule {
name = kitty-blur
match:class = ^(kitty)$
match:fullscreen = false
opacity = 0.95
}
# ---------------------------------------------------------------------------- # # ---------------------------------------------------------------------------- #
# imhex - blur # imhex - blur
windowrule { windowrule {
@ -48,13 +59,3 @@ windowrule {
match:fullscreen = false match:fullscreen = false
opacity = 0.97 opacity = 0.97
} }
# ---------------------------------------------------------------------------- #
# spotify - blur
windowrule {
name = spotify-blur
match:class = ^(spotify)$
match:initial_class = ^(spotify)$
match:fullscreen = false
opacity = 0.93
}

View file

@ -4,6 +4,10 @@
package = null; package = null;
portalPackage = null; portalPackage = null;
plugins = [
#inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprscrolling
];
xwayland.enable = true; xwayland.enable = true;
extraConfig = '' extraConfig = ''
@ -19,9 +23,9 @@
"$mod" = "SUPER"; "$mod" = "SUPER";
# applications # applications
"$terminal" = "alacritty"; "$terminal" = "kitty";
"$explorer" = "alacritty -e yazi"; "$explorer" = "kitty -e yazi";
"$browser" = "zen-twilight"; "$browser" = "zen";
# menu # menu
"$menu" = "rofi"; "$menu" = "rofi";
@ -60,16 +64,16 @@
layout = "dwindle"; layout = "dwindle";
}; };
dwindle = { plugin = {
preserve_split = true; # options at https://github.com/hyprwm/hyprland-plugins/tree/main/hyprscrolling
hyprscrolling = {
fullscreen_on_one_column = false;
column_width = 1.0;
};
}; };
scrolling = { dwindle = {
fullscreen_on_one_column = true; preserve_split = true;
column_width = 0.9;
wrap_focus = true;
wrap_swapcol = true;
direction = "right";
}; };
decoration = { decoration = {
@ -107,7 +111,7 @@
force_no_accel = false; # not recommended to turn on force_no_accel = false; # not recommended to turn on
}; };
# cursor.no_hardware_cursors = true; cursor.no_hardware_cursors = true;
misc = { misc = {
enable_anr_dialog = false; enable_anr_dialog = false;
@ -126,12 +130,6 @@
"alt, tab, exec, pkill -x rofi || rofi -modi window -show window -show-icons" "alt, tab, exec, pkill -x rofi || rofi -modi window -show window -show-icons"
"$mod, v, exec, pkill -x rofi || cliphist list | rofi -dmenu | cliphist decode | wl-copy" "$mod, v, exec, pkill -x rofi || cliphist list | rofi -dmenu | cliphist decode | wl-copy"
# manage windows / session
"$mod+alt, c, killactive"
"$mod, f, fullscreen"
"$mod, x, togglefloating"
"$mod+Alt, Delete, exit" # exit hyprland
# screenshots # screenshots
# todo: add active monitor # todo: add active monitor
"$mod, s, exec, grim -g \"\$(slurp -d)\" - | wl-copy" # region "$mod, s, exec, grim -g \"\$(slurp -d)\" - | wl-copy" # region
@ -139,7 +137,7 @@
"$mod+ctrl, s, exec, grim - | wl-copy" # all monitors "$mod+ctrl, s, exec, grim - | wl-copy" # all monitors
# hyprpicker # hyprpicker
"$mod, n, exec, hyprpicker | wl-copy" "$mod, n, exec, hyprpicker -v"
# hyprlock # hyprlock
"$mod+alt, y, exec, hyprlock" "$mod+alt, y, exec, hyprlock"
# task manager # task manager
@ -148,15 +146,18 @@
# media binds (more in binde below) # media binds (more in binde below)
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" ", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
"Ctrl_R, XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"
", XF86AudioPlay, exec, playerctl play-pause" ", XF86AudioPlay, exec, playerctl play-pause"
", XF86AudioNext, exec, playerctl next" ", XF86AudioNext, exec, playerctl next"
", XF86AudioPrev, exec, playerctl previous" ", XF86AudioPrev, exec, playerctl previous"
"Shift_R, XF86AudioPlay, exec, playerctl shuffle toggle" "Shift_R, XF86AudioPlay, exec, playerctl shuffle toggle"
"Shift_R, XF86AudioNext, exec, playerctl loop track" "Shift_R, XF86AudioNext, exec, playerctl loop track"
# dwindle layout keybinds # manage windows / session
"$mod, i, layoutmsg, togglesplit" "$mod+alt, c, killactive"
"$mod, f, fullscreen"
"$mod, x, togglefloating"
"$mod, i, togglesplit"
"$mod+Alt, Delete, exit" # exit hyprland
# move focus # move focus
"$mod, h, movefocus, l" "$mod, h, movefocus, l"
@ -259,8 +260,6 @@
binde = [ binde = [
", XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%+" ", XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%+"
", XF86AudioLowerVolume, exec, wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%-" ", XF86AudioLowerVolume, exec, wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%-"
"Ctrl_R, XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SOURCE@ 5%+"
"Ctrl_R, XF86AudioLowerVolume, exec, wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SOURCE@ 5%-"
"Shift_R, XF86AudioRaiseVolume, exec, playerctl volume 0.05+" "Shift_R, XF86AudioRaiseVolume, exec, playerctl volume 0.05+"
"Shift_R, XF86AudioLowerVolume, exec, playerctl volume 0.05-" "Shift_R, XF86AudioLowerVolume, exec, playerctl volume 0.05-"
@ -279,29 +278,23 @@
]; ];
layerrule = [ layerrule = [
#"blur, rofi"
#"ignorezero, rofi"
#"blur, aurorashell" #"blur, aurorashell"
#"ignorealpha 0.7, aurorashell" #"ignorealpha 0.7, aurorashell"
"blur on, match:namespace waybar" "blur on, match:namespace waybar"
"ignore_alpha 0, match:namespace waybar" "ignore_alpha 0, match:namespace waybar"
"blur on, match:namespace rofi"
"xray on, match:namespace rofi"
"ignore_alpha 0, match:namespace rofi"
]; ];
env = [ env = [
"EDITOR,auravim"
"XCURSOR_THEME,Bunny (Icy) and Strawberries" "XCURSOR_THEME,Bunny (Icy) and Strawberries"
"XCURSOR_SIZE,24" "XCURSOR_SIZE,24"
"HYPRCURSOR_THEME,Bunny (Icy) and Strawberries" "HYPRCURSOR_THEME,Bunny (Icy) and Strawberries"
"HYPRCURSOR_SIZE,24" "HYPRCURSOR_SIZE,24"
"QT_QPA_PLATFORM,wayland" "QT_QPA_PLATFORM,wayland"
# makes portals work correctly
"QT_QPA_PLATFORMTHEME,xdgdesktopportal"
# the other option that might work :3
#"QT_QPA_PLATFORMTHEME,flatpak"
]; ];
}; };
}; };

View file

@ -1,14 +0,0 @@
{inputs, ...}: {
imports = [
inputs.mango.hmModules.mango
];
wayland.windowManager.mango = {
enable = true;
};
xdg.configFile."mango" = {
recursive = true;
source = ./mango;
};
}

View file

@ -1,248 +0,0 @@
################################################################################
##### Monitors /////////////////////////////////////////////////////////////////
################################################################################
# note: display stream compression pending for open source
# amd gpu driver and my monitor (VG279QM) only supports DP 1.2
# so no >240hz atm
# main monitor
monitorrule = name:DP-2,width:1920,height:1080,refresh:240,x:0,y:0
# second monitor
monitorrule = name:DP-3,width:1920,height:1080,refresh:144,x:1920,y:0
# third monitor (drawing tablet)
monitorrule = name:HDMI-A-2,width:2560,height:1440,refresh:60,x:3840,y:0
# tv
monitorrule = name:HDMI-A-1,width:1920,height:1080,refresh:60,x:-1920,y:0
################################################################################
##### Startup //////////////////////////////////////////////////////////////////
################################################################################
exec-once = waybar
exec-once = waybar --config ~/.config/mango/waybar.jsonc
exec-once = awww-daemon
exec-once = wl-paste --type text --watch cliphist store
exec-once = wl-paste --type image --watch cliphist store
exec-once = wl-clip-persist --clipboard regular
exec-once = playerctld daemon
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY DISPLAY XDG_SESSION_TYPE=wayland XDG_CURRENT_DESKTOP=wlroots PATH
################################################################################
##### Themeing /////////////////////////////////////////////////////////////////
################################################################################
borderpx = 2
gappih = 5 # inner gap horizontal
gappiv = 5 # inner gap vertical
gappoh = 10 # outer gap horizontal
# we set the bottom vertical gap by using an empty layer that defines an exclusive zone
gappov = 0 # outer gap vertical
border_radius = 8
focused_opacity = 1.0
unfocused_opacity = 1.0
blur = 1
blur_layer = 1
blur_optimized = 1
blur_params_radius = 6
blur_params_num_passes = 2
blur_params_noise = 0.02
blur_params_brightness = 0.9
blur_params_contrast = 0.9
blur_params_saturation = 1.2
cursor_size=24
cursor_theme=Bunny (Icy) and Strawberries
################################################################################
##### Animations ///////////////////////////////////////////////////////////////
################################################################################
animations=1
layer_animations=1
################################################################################
##### Input ////////////////////////////////////////////////////////////////////
################################################################################
# keyboard stuff
repeat_rate = 50
repeat_delay = 300
# mouse stuff
accel_profile = 0
################################################################################
##### Keybinds /////////////////////////////////////////////////////////////////
################################################################################
# applications
bind = SUPER, t, spawn, alacritty
bind = SUPER, e, spawn, alacritty -e yazi
bind = SUPER, r, spawn, zen-twilight
# rofi
bind = SUPER, d, spawn_shell, pkill -x rofi || rofi -show drun -show-icons
bind = SUPER, v, spawn_shell, pkill -x rofi || cliphist list | rofi -dmenu | cliphist decode | wl-copy
bind = ALT, TAB, spawn_shell, pkill -x rofi || rofi -modi window -show window -show-icons
# manage session
bind = SUPER+ALT, c, killclient
bind = SUPER+SHIFT, r, reload_config
bind = SUPER+ALT, delete, quit
# screenshots
# grim - | wl-copy
bind = SUPER, s, spawn_shell, grim -g $(slurp -d) - | wl-copy
bind = SUPER+ALT, s, spawn_shell, grim -g $(slurp -o) - | wl-copy
bind = SUPER+CTRL, s, spawn_shell, grim - | wl-copy
# task manager
bind = SUPER+CTRL, escape, spawn, task-manager.sh
bind = SUPER+CTRL, grave, spawn, task-manager.sh
# color picker
bind = SUPER, n, spawn, hyprpicker -v
# lock screen
bind = SUPER+ALT, y, spawn, hyprlock
# media keybinds
bind = NONE, XF86AudioMute, spawn, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bind = NONE, XF86AudioPlay, spawn, playerctl play-pause
bind = NONE, XF86AudioNext, spawn, playerctl next
bind = NONE, XF86AudioPrev, spawn, playerctl previous
# needs to be `bind` for some reason, doesn't work otherwise
# if all of them are `bind` and not `binds`, it also doesn't work
# weird bug!! qwq
binds = Shift_R, XF86AudioPlay, spawn_shell, playerctl shuffle toggle
binds = Shift_R, XF86AudioNext, spawn, playerctl loop track
bind = NONE, XF86AudioRaiseVolume, spawn, wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%+
bind = NONE, XF86AudioLowerVolume, spawn, wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%-
binds = Shift_R, XF86AudioRaiseVolume, spawn, playerctl volume 0.05+
binds = Shift_R, XF86AudioLowerVolume, spawn, playerctl volume 0.05-
# window states
bind = SUPER, f, togglefullscreen
bind = SUPER+ALT, f, togglefakefullscreen
bind = SUPER, x, togglefloating
# layouts
bind = SUPER, u, switch_layout
# move focus - l/d/u/r
bind = SUPER, h, focusdir, left
bind = SUPER, j, focusdir, down
bind = SUPER, k, focusdir, up
bind = SUPER, l, focusdir, right
# move focus - stack
bind = SUPER+SHIFT, j, focusstack, next
bind = SUPER+SHIFT, k, focusstack, prev
# swap window - l/d/u/r
bind = SUPER+ALT, h, exchange_client, left
bind = SUPER+ALT, j, exchange_client, down
bind = SUPER+ALT, k, exchange_client, up
bind = SUPER+ALT, l, exchange_client, right
# swap window - stack
bind = SUPER+SHIFT, h, exchange_stack_client, next
bind = SUPER+SHIFT, l, exchange_stack_client, prev
# swap focused window with master
bind = SUPER, g, zoom
# view tag
BIND = SUPER, 1, view, 1, 0
BIND = SUPER, 2, view, 2, 0
BIND = SUPER, 3, view, 3, 0
BIND = SUPER, 4, view, 4, 0
BIND = SUPER, 5, view, 5, 0
BIND = SUPER, 6, view, 6, 0
BIND = SUPER, 7, view, 7, 0
BIND = SUPER, 8, view, 8, 0
BIND = SUPER, 9, view, 9, 0
BIND = SUPER, 0, view, 10, 0
BIND = SUPER, minus, view, 11, 0
BIND = SUPER, equal, view, 12, 0
# toggle tag on monitor
BIND = SUPER+ALT, 1, toggletag, 1, 0
BIND = SUPER+ALT, 2, toggletag, 2, 0
BIND = SUPER+ALT, 3, toggletag, 3, 0
BIND = SUPER+ALT, 4, toggletag, 4, 0
BIND = SUPER+ALT, 5, toggletag, 5, 0
BIND = SUPER+ALT, 6, toggletag, 6, 0
BIND = SUPER+ALT, 7, toggletag, 7, 0
BIND = SUPER+ALT, 8, toggletag, 8, 0
BIND = SUPER+ALT, 9, toggletag, 9, 0
BIND = SUPER+ALT, 0, toggletag, 10, 0
BIND = SUPER+ALT, minus, toggletag, 11, 0
BIND = SUPER+ALT, equal, toggletag, 12, 0
# move window to tag
BIND = SUPER+SHIFT, 1, tag, 1, 0
BIND = SUPER+SHIFT, 2, tag, 2, 0
BIND = SUPER+SHIFT, 3, tag, 3, 0
BIND = SUPER+SHIFT, 4, tag, 4, 0
BIND = SUPER+SHIFT, 5, tag, 5, 0
BIND = SUPER+SHIFT, 6, tag, 6, 0
BIND = SUPER+SHIFT, 7, tag, 7, 0
BIND = SUPER+SHIFT, 8, tag, 8, 0
BIND = SUPER+SHIFT, 9, tag, 9, 0
BIND = SUPER+SHIFT, 0, tag, 10, 0
BIND = SUPER+SHIFT, minus, tag, 11, 0
BIND = SUPER+SHIFT, equal, tag, 12, 0
# mouse binds :3
mousebind = SUPER, btn_left, moveresize, curmove
mousebind = SUPER, btn_right, moveresize, curresize
################################################################################
##### Miscellaneous ////////////////////////////////////////////////////////////
################################################################################
# focus follows mouse cursor
sloppyfocus = 1
# automatically focus windows when they request activiation
focus_on_activate = 1
# scroll speed
axis_scroll_factor = 1.0
# disables hotarea for overview mode
enable_hotarea = 0
################################################################################
##### Environment Variables ////////////////////////////////////////////////////
################################################################################
env = XCURSOR_THEME,Bunny (Icy) and Strawberries
env = XCURSOR_SIZE,24
env = QT_QPA_PLATFORM,wayland
env = QT_QPA_PLATFORMTHEME,xdgdesktopportal
################################################################################
##### Imports //////////////////////////////////////////////////////////////////
################################################################################
# windowrules!!! <3
source = ./windowrules.conf
# layerrules :3
source = ./layerrules.conf
# colors generated from palette generator
source = ./colors.conf

View file

@ -1,3 +0,0 @@
# ---------------------------------------------------------------------------- #
# slurp no blur
layerrule=noblur:1,layer_name:selection

View file

@ -1,5 +0,0 @@
{
"layer": "bottom",
"position": "bottom",
"height": 10,
}

View file

@ -1,7 +0,0 @@
# ---------------------------------------------------------------------------- #
# i don't wanna minimise windows
windowrule = ignore_minimise
# ---------------------------------------------------------------------------- #
# terminal - blur
windowrule = appid:^(foot|Alacritty)$, focused_opacity:0.95, unfocused_opacity:0.95

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