This commit is contained in:
lelgenio 2020-04-17 01:54:35 -03:00
parent 99c23891c0
commit 4367d4307e
22 changed files with 216 additions and 131 deletions

6
.gitignore vendored
View File

@ -13,5 +13,11 @@ qutebrowser/.local/
theme/.config/gtk-3.0/bookmarks
fish/
!fish/.config/fish/config.fish
emacs/.emacs.d
!emacs/.emacs.d/init.el
neomutt/.gnupg/
!neomutt/.gnupg/gpg-agent.conf

View File

@ -118,7 +118,7 @@ set_pkgs() {
# Audio
pkgs+=' pulseaudio pavolume-git'
# Fonts
pkgs+=' ttf-hack inter-font'
pkgs+=' ttf-hack inter-font ttf-material-wifi-icons-git'
if $FULL_INSTALL; then
# Screenshot
pkgs+=' grim slurp wl-clipboard wf-recorder-git'
@ -253,18 +253,22 @@ partition_drive() {
# 100 MB /boot partition, everything else under LVM
if $IS_BIOS;then
parted -s "$dev" \
parted \
--align optimal \
--script "$dev" \
mklabel msdos \
mkpart primary fat32 1M 100M \
mkpart primary ext4 100M 100% \
set 1 boot on \
set 2 lvm on
else
parted -s "$dev" \
parted \
--align optimal \
--script "$dev" \
mklabel gpt \
mkpart boot 1 100M \
mkpart lvm 100M 100% \
set 1 boot on\
set 1 boot on \
set 2 lvm on
fi
}
@ -289,14 +293,18 @@ setup_lvm() {
pvcreate "$partition"
vgcreate "$volgroup" "$partition"
# Create a 1GB swap partition
lvcreate --yes -C y -L1G "$volgroup" -n swap
# if the disk has more than
if [ "$d_size" -gt $(( 50*10**9 )) ]; then
# Create a 4GB swap partition
lvcreate --yes -C y -L4G "$volgroup" -n swap
# Create a 50GB root partition
lvcreate --yes -L '50G' "$volgroup" -n root
else
# Create a swap partition of 10% the disk
lvcreate --yes -C y -l '+10%FREE' "$volgroup" -n swap
# Create root partition on 50% of free space
lvcreate --yes -l '+50%FREE' "$volgroup" -n root
fi
@ -615,7 +623,7 @@ set_bootctl() {
local boot_dev="$1"; shift
local lvm_dev="$1"; shift
local lvm_uuid=$(get_uuid "$lvm_dev")
local lvm_uuid=$(get_uuid "/dev/vg00/root")
local k_args="root=UUID=$lvm_uuid"
@ -637,7 +645,7 @@ initrd intel-ucode.img
initrd initramfs-linux-zen.img
options $k_args
# options quiet splash loglevel=3 vga=current rd.udev.log_priority=3 rd.systemd.show_status=auto vt.global_cursor_default=0 nmi_watchdog=0 $k_args
# options quiet splash loglevel=3 vga=current rd.udev.log_priority=3 rd.systemd.show_status=auto vt.global_cursor_default=0 nmi_watchdog=0
EOF
fi
@ -771,22 +779,6 @@ stow_dots() {
cd -
}
#}}}
#}}}
# Update installer {{{
update_installer(){
echo "Updating installer..."
INSTALLER=$(mktemp)
wget -qO $INSTALLER $DOTFILES_URL/raw/master/arch_install
chmod +x $INSTALLER
exec $INSTALLER updated $@
}
[ "$1" == "updated" ] && shift || is_chroot || update_installer $@
echo "Installer updated :D"
#}}}
set_pkgs

View File

@ -27,7 +27,7 @@
"vim.foldfix": true,
"editor.minimap.renderCharacters": false,
// Fonts
"terminal.integrated.fontFamily": "'Fira Code', 'Hack', 'Roboto Mono'",
"terminal.integrated.fontFamily": "'Fira Code', 'Hack', 'Roboto Mono'",
"editor.fontFamily": "'Fira Code', 'Hack','Roboto Mono', 'Droid Sans Mono', 'monospace', monospace, 'Droid Sans Fallback'",
"editor.fontSize": 15,
"editor.fontLigatures": true,
@ -63,8 +63,6 @@
]
}
],
// Gay colors
"workbench.colorTheme": "Community Material Theme Darker High Contrast",
"materialTheme.accent": "Red",
"workbench.iconTheme": "material-icon-theme",
"material-icon-theme.folders.color": "#cc5757",
@ -144,5 +142,7 @@
"python.linting.mypyEnabled": true,
"[html]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
}
},
"workbench.startupEditor": "newUntitledFile",
"workbench.colorTheme": "Community Material Theme Darker High Contrast"
}

View File

@ -28,7 +28,11 @@ set -x PAGER less
end
function ei3
clear
exec startx i3
exec startx /bin/i3
end
function ebsp
clear
exec startx /bin/bspwm
end
if test "$XDG_VTNR" = 1 -a -z "$DISPLAY" #faster like this
if command -v systemctl -a systemctl -q is-active graphical.target
@ -38,8 +42,9 @@ set -x PAGER less
export XCURSOR_THEME=capitaine-cursors
export GTK_THEME=materia-custom-accent:dark
esway > .swaylog
# ei3 > .i3log
esway &> .swaylog
# ei3 &> .i3log
# ebsp &> .bsplog
end
end

View File

@ -16,7 +16,7 @@
set $up k
set $right l
set $term termite
set $term alacritty
# set $menu bmenu run $term
set $menu rofi -show drun
font pango:Hack 14px

View File

@ -1,5 +1,5 @@
[dmenu]
dmenu_command = rofi
dmenu_command = bmenu -d
[dmenu_passphrase]
nf = #222222
@ -7,7 +7,7 @@ nb = #222222
rofi_obscure = True
[database]
database_1 = ~/Nextcloud/Senhas/Senhas.kdbx
database_1 = ~/docs/senhas/Senhas.kdbx
pw_cache_period_min = 360
type_library = ydotool
autotype_default = {USERNAME}{TAB}{PASSWORD}{ENTER}

View File

@ -26,23 +26,29 @@
Plug 'junegunn/vim-easy-align'
" Language server support
"
" Plug 'sheerun/vim-polyglot'
" Plug 'dense-analysis/ale'
" Plug 'neoclide/coc.nvim', {'branch': 'release'}
" Plug 'davidhalter/jedi-vim'
Plug 'autozimu/LanguageClient-neovim', {
\ 'branch': 'next',
\ 'do': 'bash install.sh',
\}
" Plug 'autozimu/LanguageClient-neovim', {
" \ 'branch': 'next',
" \ 'do': 'bash install.sh',
" \}
" Debugger
Plug 'vim-vdebug/vdebug'
" Plug 'vim-vdebug/vdebug'
" Fuzzy find
Plug 'junegunn/fzf'
" Plug 'junegunn/fzf'
" Completions
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
" Pais
Plug 'jiangmiao/auto-pairs'
Plug 'tpope/vim-surround'
" Comments
Plug 'tpope/vim-commentary'
@ -168,45 +174,41 @@ call plug#end()
nnoremap <silent> <C-k> <C-w><C-k>
nnoremap <silent> <C-l> <C-w><C-l>
" Interact with language server
" map <silent> <C-Space> :<CR>
" nnoremap <silent> gd :ALEGoToDefinition<CR>
" nnoremap <silent> gh :call LanguageClient#textDocument_hover()<CR>
" nnoremap <silent> gd :call LanguageClient#textDocument_definition()<CR>
" nnoremap <silent> gr :call LanguageClient#textDocument_references()<CR>
" nnoremap <silent> gs :call LanguageClient#textDocument_documentSymbol()<CR>
" nnoremap <silent> gR :call LanguageClient#textDocument_rename()<CR>
nnoremap <F5> :call LanguageClient_contextMenu()<CR>
" Or map each action separately
nnoremap <silent> gh :call LanguageClient#textDocument_hover()<CR>
nnoremap <silent> K :call LanguageClient#textDocument_hover()<CR>
nnoremap <silent> gd :call LanguageClient#textDocument_definition()<CR>
nnoremap <silent> <F2> :call LanguageClient#textDocument_rename()<CR>
inoremap <C-space> :call LanguageClient#complete()<CR>
nnoremap <silent> <F2> :call LanguageClient#textDocument_rename()<CR>
"}}}
" Lanugage Server{{{
"
" Set this variable to 1 to fix files when you save them.
" let g:ale_fix_on_save = 1
set hidden
" let g:deoplete#enable_at_startup = 1
let g:LanguageClient_serverCommands = {
\ 'rust': ['rustup', 'run', 'stable', 'rls'],
\ 'python': ['/usr/bin/pyls'],
\ 'tex': ['texlab'],
\ 'c': ['cquery', '--log-file=/tmp/cq.log'],
\ 'cpp': ['cquery', '--log-file=/tmp/cq.log'],
\ }
" Auto format on save
autocmd BufWritePre *.py call LanguageClient#textDocument_formatting_sync()
" let g:LanguageClient_serverCommands = {
" \ 'rust': ['rustup', 'run', 'stable', 'rls'],
" \ 'python': ['/usr/bin/pyls'],
" \ 'tex': ['/usr/bin/texlab'],
" \ 'c': ['cquery', '--log-file=/tmp/cq.log'],
" \ 'cpp': ['cquery', '--log-file=/tmp/cq.log'],
" \ }
let g:deoplete#enable_at_startup = 1
call deoplete#custom#source('LanguageClient',
\ 'min_pattern_length',
\ 2)
" Configure deoplete to use language server
" call deoplete#custom#source('LanguageClient',
" \ 'min_pattern_length',
" \ 2)
" " Configure deoplete to use language server
" let g:ale_fix_on_save = 1
" let g:ale_fixers = {
" \ '*': ['remove_trailing_lines', 'trim_whitespace'],
" \ 'javascript': ['eslint'],
" \ 'python': ['black'],
" \}
"python env{{{
" MUST NOT BE INDENTED!
@ -223,6 +225,9 @@ EOF
let g:livepreview_previewer = 'zathura'
autocmd FileType tex LLPStartPreview
"}}}
"groff{{{
autocmd BufWritePost *.ms silent !compile %
"}}}
"}}}
"Hide statusbar{{{
let s:hidden_all = 0

View File

@ -291,4 +291,4 @@ config.bind('k', 'scroll up')
config.bind('spawn', '--userscript view_in_mpv')
# Bindings for insert mode
config.bind('<Ctrl+i>', 'spawn --userscript qute-keepass -p ~/Nextcloud/Senhas/Senhas.kdbx', mode='insert')
config.bind('<Ctrl+i>', 'spawn --userscript qute-keepass -p ~/Documentos/senhas/Senhas.kdbx', mode='insert')

View File

@ -107,7 +107,7 @@ set preview_images true
# for example during an ssh session.
# Tmux is unsupported.
# set preview_images_method kitty
set preview_images_method kitty
# Delay in seconds before displaying an image with the w3m method.
# Increase it in case of experiencing display corruption.

View File

@ -13,7 +13,7 @@ bemenu \
--bottom\
--list 20\
--prefix '->'\
--fn "Fira Code 12"\
--fn "Hack 12"\
--tb "#242424" --tf "#cc5757" \
--fb "#242424" --ff "#cccccc" \
--nb "#202020" --nf "#cccccc" \

View File

@ -1,6 +1,8 @@
#!/bin/sh
set -e
mbsync -aq
[ "$1" = "update" ] && mbsync -a
NEW=$(find ~/.mail/INBOX{,.{Contas,Faculdade,Git,Trabalhos}}/new -type f | wc -l)
echo $NEW | sed 's/^0$//'

38
scripts/.local/bin/compile Executable file
View File

@ -0,0 +1,38 @@
#!/bin/sh
# This script will compile or run another finishing operation on a document. I
# have this script run via vim.
#
# Compiles .tex. groff (.mom, .ms), .rmd, .md. Opens .sent files as sent
# presentations. Runs scripts based on extention or shebang
file=$(readlink -f "$1")
dir=$(dirname "$file")
base="${file%.*}"
cd "$dir" || exit
textype() { \
command="pdflatex"
( sed 5q "$file" | grep -i -q 'xelatex' ) && command="xelatex"
$command --output-directory="$dir" "$base" &&
grep -i addbibresource "$file" >/dev/null &&
biber --input-directory "$dir" "$base" &&
$command --output-directory="$dir" "$base" &&
$command --output-directory="$dir" "$base"
}
case "$file" in
*\.ms) refer -PS -e "$file" | groff -me -ms -kept -T pdf > "$base".pdf ;;
*\.mom) refer -PS -e "$file" | groff -mom -kept -T pdf > "$base".pdf ;;
*\.[0-9]) refer -PS -e "$file" | groff -mandoc -T pdf > "$base".pdf ;;
*\.[rR]md) Rscript -e "require(rmarkdown); rmarkdown::render('$file', quiet=TRUE)" ;;
*\.tex) textype "$file" ;;
*\.md) pandoc "$file" --pdf-engine=xelatex -o "$base".pdf ;;
*config.h) sudo make install ;;
*\.c) cc "$file" -o "$base" && "$base" ;;
*\.py) python "$file" ;;
*\.go) go run "$file" ;;
*\.sent) setsid sent "$file" 2>/dev/null & ;;
*) sed 1q "$file" | grep "^#!/" | sed "s/^#!//" | xargs -r -I % "$file" ;;
esac

View File

@ -36,7 +36,7 @@ format_weather(){
WEATHER=""
;;
"Rain"|"Drizzle")
WEATHER=""
WEATHER=""
;;
"Mist")
WEATHER=""

View File

@ -1,5 +1,6 @@
#!/bin/sh
set -e
# set -e
# set -x
comment(){
local file="$1";shift
@ -12,7 +13,7 @@ uncomment(){
}
gui_off (){
sudo chsh -s /usr/bin/zsh $(whoami)
# sudo chsh -s /usr/bin/zsh $(whoami)
rm ~/.config/mimeapps.list
cd .dotfiles
@ -20,25 +21,30 @@ gui_off (){
uncomment /etc/mkinitcpio.conf "HOOKS.* (?!plymouth)"
comment /etc/mkinitcpio.conf "HOOKS.* plymouth"
yay -Rcs plymouth --noconfirm
yay -Rcs plymouth --noconfirm || true
sudo mkinitcpio -P
comment /boot/loader/entries/arch.conf "options quiet"
sudo systemctl disable NetworkManager
sudo systemctl enable netctl-auto@wlp1s0
sudo systemctl enable netctl-ifplugd@enp2s0
sudo systemctl enable netctl
systemctl -q is-active gdm &&
sudo systemctl disable --now gdm &
sudo systemctl disable gdm &
systemctl -q is-active gdm-plymouth &&
sudo systemctl disable --now gdm-plymouth &
sudo systemctl disable gdm-plymouth &
sudo systemctl start getty@tty1
}
gui_on (){
sudo chsh -s /usr/bin/fish $(whoami)
# sudo chsh -s /usr/bin/fish $(whoami)
rm ~/.config/mimeapps.list
rm -f ~/.config/mimeapps.list
cp /usr/share/applications/gnome-mimeapps.list ~/.config/mimeapps.list
kvantummanager --set Materia
@ -46,13 +52,18 @@ gui_on (){
comment /etc/mkinitcpio.conf "HOOKS.* (!?plymouth)"
uncomment /etc/mkinitcpio.conf "HOOKS.* plymouth"
yay -S plymouth --noconfirm
yay -S plymouth plymouth-theme-arch-glow --noconfirm --needed
sudo plymouth-set-default-theme arch-glow
sudo mkinitcpio -P
uncomment /boot/loader/entries/arch.conf "options quiet"
sudo systemctl enable --now gdm-plymouth
sudo systemctl disable netctl-auto@wlp1s0
sudo systemctl disable netctl-ifplugd@enp2s0
sudo systemctl disable netctl
sudo systemctl enable NetworkManager
sudo systemctl enable gdm-plymouth
}
restart_gdm(){

View File

@ -2,7 +2,7 @@
set -e
search(){
music=$(mpc playlist --format '%artist% : %title%' | sed '/^ : $/d' | wdmenu)
music=$(mpc playlist --format '%artist% : %title%' | sed '/^ : $/d' | bmenu)
if [ "$music" == "" ]
then
exit 1
@ -16,7 +16,7 @@ search(){
delete(){
current=~/Música/"$(mpc current -f %file%)"
answer=$(echo -e "nothing\n$current" | wdmenu -p"delete?" )
answer=$(echo -e "nothing\n$current" | bmenu -p"delete?" )
if [ "$answer" == "$current" ]
then
trash "$answer"

View File

@ -1,7 +1,7 @@
#!/bin/sh
opts="Fone\nSpeaker\nHDMI"
out=$(echo -e $opts | wdmenu -p "Saida:")
out=$(echo -e $opts | bmenu -p "Saida:")
vol=$(pamixer --get-volume)
if [ "$out" == "HDMI" ]

View File

@ -1,5 +1,5 @@
#!/bin/bash
CACHE=~/.cache/wass-hist
CACHE=~/.cache/wpass-hist
set -e

View File

@ -14,10 +14,10 @@ swipe:
# out:
# command: 'xdotool key ctrl+minus'
threshold:
swipe: 1
# pinch: 0.2
# threshold:
# swipe: 1
# # pinch: 0.2
interval:
swipe: 0.5
# pinch: 0.2
# interval:
# swipe: 0.5
# # pinch: 0.2

View File

@ -17,9 +17,8 @@
set $right l
set $term alacritty
set $menu wofi --show drun --allow-images --insensitive -p'Iniciar: '
# set $menu bmenu run $term
# set $menu j4-dmenu-desktop --dmenu 'bmenu -p Iniciar:' --term $term
# set $menu wofi --show drun --allow-images --insensitive -p'Iniciar: '
set $menu bmenu run $term
font Fira Code 14px
# }}}
@ -33,9 +32,10 @@
set $laptop eDP-1
bindswitch --reload lid:on output $laptop disable
bindswitch --reload lid:off output $laptop enable
# output $laptop disable
bindsym $mod+o output eDP-1 toggle
exec_always swaymsg -t get_outputs | grep HDMI && swaymsg 'output eDP-1 disable'
output $laptop disable
# bindsym $mod+o output eDP-1 toggle
# exec_always swaymsg -t get_outputs | grep HDMI || swaymsg 'output eDP-1 enable'
# Backlight settings for laptops
exec sudo light -N 1
@ -87,7 +87,7 @@
floating_modifier $mod normal
# Reload the configuration file
bindsym $mod+Shift+c reload
bindsym $mod+Shift+c reload; exec kanshi
# Lock Sway
bindsym $mod+Control+s exec swaylock
@ -117,16 +117,16 @@
bindsym $mod+Shift+$right move right
# Resizing containers:
bindsym $mod+Control+$left resize shrink width 10px
bindsym $mod+Control+$down resize grow height 10px
bindsym $mod+Control+$up resize shrink height 10px
bindsym $mod+Control+$right resize grow width 10px
bindsym $mod+Control+$left resize shrink width 10px
bindsym $mod+Control+$down resize grow height 10px
bindsym $mod+Control+$up resize shrink height 10px
bindsym $mod+Control+$right resize grow width 10px
#}}}
# Workspaces: {{{
bindsym $mod+Next workspace next
bindsym $mod+Prior workspace prev
bindsym $mod+period workspace next
bindsym $mod+comma workspace prev
# Switch to workspace
bindsym $mod+1 workspace 1
bindsym $mod+2 workspace 2
@ -151,10 +151,15 @@
bindsym $mod+Shift+0 move container to workspace 10
# Assign programs to their workspace
assign [app_id=.*qutebrowser.*] workspace 2
assign [app_id=.*keepass.*] workspace 8
assign [app_id=qutebrowser] workspace 2
assign [class=qutebrowser] workspace 2
assign [app_id=keepass.*] workspace 8
assign [class=KeePass.*] workspace 8
assign [class=Steam] workspace 9
assign [app_id=telegramdesktop] workspace 10
assign [class=TelegramDesktop] workspace 10
assign [class=discord] workspace 10
# }}}
@ -181,13 +186,6 @@
bindsym $mod+z focus child
# }}}
# Scratchpad: {{{
#
# Move the currently focused window to the scratchpad
bindsym $mod+Shift+minus move scratchpad
# Show the next scratchpad window
bindsym $mod+minus scratchpad show
#}}}
# Screenshots: {{{
#
@ -293,11 +291,13 @@
exec mako
# Block device Mounter to /run/media/<username>
exec udiskie
# Screen manager
exec kanshi
# gesture daemon
exec fusuma
exec sh -c 'pkill fusuma; fusuma'
# Blue light filter
exec_always sh -c 'pkill redshift; redshift'
exec_always sh -c 'pkill redshift;redshift'
# kde connect
exec /usr/lib/kdeconnectd
exec kdeconnect-indicator

View File

@ -38,9 +38,9 @@
},
"mpd": {
"tooltip":false,
"format": " {stateIcon} {title} - {artist} 🎜 ",
"format-disconnected": " Disconnected 🎜 ",
"format-stopped": " Stopped 🎜 ",
"format": " {stateIcon} {title} - {artist}",
"format-disconnected": " Disconnected",
"format-stopped": "",
"timeout":60,
"unknown-tag": " N/A ",
"tooltip":false,
@ -68,18 +68,17 @@
"warning": 30,
"critical": 15
},
"format": "{capacity}% {icon}",
"format-charging": "{capacity}% ",
"format-plugged": "{capacity}% ",
"format-alt": "{time} {icon}",
"format-good": "{time} {icon}",
"format": "{icon}",
"format-charging": "",
"format-plugged": "",
"format-full": "",
"format-icons": ["", "", "", "", ""]
},
"network": {
"tooltip":false,
"on-click": "termite -e nmtui",
"format-wifi": "",
"format-wifi": "{icon}",
"format-icons":["","","",""],
"format-ethernet": "",
"format-linked": "",
"format-disconnected": "⚠"
@ -104,19 +103,20 @@
},
"custom/weather": {
"tooltip":false,
"exec": "forecast pango",
"interval": 1800,
"format": "<b>{}</b>",
"exec": "jq -r '.temp +\"°C \"+ .weather' .forecast.json",
"interval": 30,
"on-click": "kitty --class weather sh -c 'forecast full;read -n1 -p\"Press Any key to quit \"'",
"on-click-right": "xdg-open https://openweathermap.org"
},
"custom/mail": {
"tooltip":false,
"format":"{} ",
"format":"{} <b></b>",
"exec-if":"sleep 30s",
"exec": "checkmail",
"on-click": "kitty neomutt; pkill -SIGRTMIN+4 waybar",
"signal": 4,
"interval": 1800
"interval": 30
},
"custom/updates": {
"tooltip":false,

View File

@ -55,11 +55,15 @@ window#waybar.empty {
opacity:.7;
}
#custom-weather,
#clock
#clock,
#custom-weather
{
font-size:15px;
}
#network{
margin-top:-1;
font-size:16px;
}
#mpd,
#window,

View File

@ -1,6 +1,28 @@
[Appearance]
color_scheme_path=/usr/share/qt5ct/colors/airy.conf
custom_palette=false
icon_theme=Papirus-Dark
standard_dialogs=default
style=kvantum
[Fonts]
fixed=@Variant(\0\0\0@\0\0\0\n\0I\0n\0t\0\x65\0r@&\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10)
general=@Variant(\0\0\0@\0\0\0\n\0I\0n\0t\0\x65\0r@&\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10)
[Interface]
activate_item_on_single_click=1
buttonbox_layout=3
cursor_flash_time=1200
dialog_buttons_have_icons=1
double_click_interval=400
gui_effects=@Invalid()
keyboard_scheme=2
menus_have_icons=true
show_shortcuts_in_context_menus=true
stylesheets=@Invalid()
toolbutton_style=4
underline_shortcut=1
wheel_scroll_lines=3
[SettingsWindow]
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x2u\0\0\x4\xf\0\0\0\0\0\0\0\0\0\0\x2\xde\0\0\x2\x86\0\0\0\0\x2\0\0\0\a\x80\0\0\0\0\0\0\0\0\0\0\x2u\0\0\x4\xf)
geometry="@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\x3\xc5\0\0\0%\0\0\ax\0\0\x4\x30\0\0\x1\x34\0\0\x1,\0\0\x4\x12\0\0\x3\xc3\0\0\0\0\x2\0\0\0\a\x80\0\0\x3\xc5\0\0\0%\0\0\ax\0\0\x4\x30)"