PSOTNIC - BOTNET

 

 

* Premessa: si trovano molte guide sul web per l'installazione. Non ricopio tutti i vari links. Cercare 'comandi psotnic'.

 

 

Conviene costruire tutta la struttura della botnet con hub - slave - leaf al di fuori di IRC poi con calma decidere  su quali server irc far salire gli slave e leaf tenendo conto dei MOTD per evitare una k-line usando troppe connessioni.

In linea generale sono accettate 2 connessioni per server di ciascun user (shell). Alcuni permettono 10 connessioni per classe di vhost (un medesimo ip-vps) anche se si 'irca' in ipv6.

 

 

 

Personalmente uso la versione gay-psotnic-0.1 governabile con Mirc script  e i comandi bisogna darli a mano.

 

Ci sono altre versioni usabili con il famoso Eazy Psotnic per windows.

Con gay-psotnic-0.1 funziona male, sconsiglio l'applicazione.

 

=======================================================================

 

 

 

Installazione  Psotnic

 

Nella shell linux incollare i seguenti comandi:

 

 

wget http://psotnic.googlecode.com/files/gay-psotnic-0.1.tar.gz

tar xvzf gay-psotnic-0.1.tar.gz

rm gay-psotnic-0.1.tar.gz

cd gay-psotnic-0.1

./configure --prefix $HOME/psotnic

make

make modules

make install

cd $HOME

rm -fr gay-psotnic-0.1

cd psotnic

rm -fr cfg-examples

ls

 

cd $HOME/psotnic ; ./psotnic -n

 

 

(./psotnic -n serve per avviare lo psotnic in modalita' configurazione)

 

Dopo che lo psotnic e' avviato procedere a configurarlo:

 

 

 

 

CONFIGURAZIONE DI UN HUB

 

 

 

l'hub sara' il capo che terra' uniti i prossimi psotnic:

slave - leaf

schiavo - foglia

 

 

 

      Per comodita' usare un notepad per modificare i dati  e incollarli nella shell

======================================================================

                          P A R A M E T R I    D A   C A M B I A R E

 

   MioPsot                   Nickname del bot

   MioPsot                   Handle

   Questo e' il mio nome!     realname

   MioPsot^                    Nick alternativo

   65432                     porta di ascolto

   pass-a-mia-scelta          password di owner

                            quella che dovranno

                               usare gli altri psotnic

   lumaca                    Nome user owner

   lumacapass                Passw dell'user-owner                      

          

=====================================================================

 

 

 

] Copiare fino in fondo con i parametri gia' cambiati !!! [

 

 

MioPsot

MioPsot

Questo e' il mio nome!

MioPsot^

0.0.0.0    ip

0.0.0.0

0

0.0.0.0

65432

all     

N

pass-a-mia-scelta

N

N

N

N

MioPsot.cfg

Y

lumaca

lumacapass

 

 

 

e incollare nella shell tutte le righe da MioPsot a .. sotto lumacapass

 

 

La shell rispondera' alle richieste cosė:

 

 

 

(moneta)~/psotnic:$ cd $HOME/psotnic ; ./psotnic -n

 

gay-psotnic, version 0.1-pre (23-09-10)-ipv6 (rev: 205, build: Data/Ora)

Copyright (C) 2003-2007 Grzegorz Rusin <grusin@gmail.com>

Copyright (C) 2009 psotnic.com development team

 

[*] Bot now runs in config creation mode

[*] The options are explained at http://psotnic.wiki.sourceforge.net/Config+File

[*] Mandatory options for all bot types:

[?] nick? (1 to 15 chars): MioPsot

[?] nick? (1 to 15 chars): [?] username? (1 to 12 chars) [moneta]: ^C

(moneta)~/psotnic:$ cd $HOME/psotnic ; ./psotnic -n

 

gay-psotnic, version 0.1-pre (23-09-10)-ipv6 (rev: 205, build: Data/ora)

Copyright (C) 2003-2007 Grzegorz Rusin <grusin@gmail.com>

Copyright (C) 2009 psotnic.com development team

 

[*] Bot now runs in config creation mode

[*] The options are explained at http://psotnic.wiki.sourceforge.net/Config+File

[*] Mandatory options for all bot types:

 

[?] nick? (1 to 15 chars): MioPsot

[?] username? (1 to 12 chars) [moneta]: MioPsot

[?] realname? (1 to 255 chars) [Psotnic C++ Edition]: Questo e' il mio Psot

[?] alternative nick? (1 to 15 chars): MioPsot^

[?] Which IPv4 or IPv6 address should be used to connect to IRC (default: determined by OS): 0.0.0.0

[?] Which IPv4 address should be used to connect to other bots?: 0.0.0.0

[*] What type of bot do you want?:

[>]     [0]     Main

[>]      1      Slave

[>]      2      Leaf

[?] Your choice: 0

[*] Configuration for bot type: MAIN

[*] What ports should the bot listen on?:

[?]     IP address (can be prefixed by "ssl:"): 0.0.0.0

[?]     Port number (1 to 65535): 65432

[?]     usage ("all", "users", "bots") (0 to 15 chars): all

[?] Do you want to add more ports? (Y or N) [N]: n

[?] ownerpass?: pass-a-mia-scelta

[?] Do you want to add more ownerpasses? (Y or N) [N]: n

[?] Do you want to add some servers? (Y or N) [Y]: n

[?] Do you want to add some modules? (Y or N) [N]: n

[?] Do you want to switch to expert mode and set further variables? (Y or N) [N]: n

[?] Where should the config file be saved? [MioPsot.cfg]:

[*] config file has been saved

[?] Do you want to create the userlist? (Y or N) [Y]: y

[?]     username? (0 to 2147483647 chars): lumaca

[?]     password? (0 to 2147483647 chars): lumacapass

[*] userlist saved as MioPsot.ul

(moneta)~/psotnic:$

 

 

Fine configurazione HUB

 

 

N.B. una volta terminata la configurazione e avviato lo psotnic

     i dati sono criptati. L'unica maniera per modificarli e'

     attraverso la partyline; conviene predisporre prima il file

     di configurazione in chiaro in maniera  di ricordarsi quali

     sono state le varie impostazioni. In particolare indirizzi IP,

     numero di porte, owner pass, user, user pass.

     Se qualcosa va storto si ricompila.

 

 

N.B. Le righe in blu sono richieste solo dallo psotnic HUB

 

 

 

 

Avvio:

 

./psotnic MioPsot.cfg

 

(moneta)~/psotnic:$ ./psotnic MioPsot.cfg

gay-psotnic, version 0.1-pre (23-09-10)-ipv6 (rev: 205, build: Data/Ora)

Copyright (C) 2003-2007 Grzegorz Rusin <grusin@gmail.com>

Copyright (C) 2009 psotnic.com development team

[*] Loading config from '/home/moneta/psotnic/MioPsot.cfg'

[*] Acting as MAIN

[+] Config loaded

[*] Opening listening socket at 0.0.0.0:65432

[+] Socket awaits incomming connections

[*] Loading userlist from MioPsot.ul

[+] Userlist loaded (ts: 1334157700, sn: 1)

(moneta)~/psotnic:$ [+] Going into background [pid: 31725]

 

 

L'HUB e' avviato!!!

 

 

 

 

 

 

Aprire Mirc   copiare  e incollare:

 

/server -m ip-della shell porta ownerpass:username:pass-username

 

Esempio:

 

/server -m 82.125.83.48 65432 pass-a-mia-scelta:lumaca:lumacapass  

 

] il -m si riferisce a una connessione in multiserver  [

 

 

Lumaca entra in partyline

 

 

 

.bots         controlla il nome dei botoli

 

.bc MioPsot cfg        si guarda come e' configurato

 

 

 

IL MENU' HELP AIUTA IN QUALSIASI SITUAZIONE:

 

 

.help

 

 

ecc...

 

 

E' consigliabile  di non far entrare l'HUB in Irc.

Si tiene come 'ghost' e lo si rendera' molto piu' difficile

dossare o infastidire.

 

[non e' tassativo, si puo' ircare]

 

===============================================================

 

Ora si prepara un altro psotnic stavolta uno slave nella stessa shell:

(Se si cambia shell, si dovra' ripetere tutta l'installazione)

 

 

 

Lo psotnic e' gia' installato, basta fare semplicemente:

 

cd $HOME/psotnic ; ./psotnic -n

 

avviando un altro psotnic

 

 

Configurazione:

 

 

Slavpsot

Slavpsot

Il mio nome e' SLAVE!

Slavpsot^

0.0.0.0

0.0.0.0

1

0.0.0.0

65431

all

N

ipv4:82.125.83.48

65432

pass-a-mia-scelta

Slavpsot

N

N

N

Slavpsot.cfg

 

Avvio psotnic:

 

cd $HOME/psotnic ; ./psotnic Slavpsot.cfg

 

 

la porta 65432 č la porta di ascolto con l'hub

 

La shell rispondera' alle richieste cosė:

 

 

(moneta)~:$ cd $HOME/psotnic ; ./psotnic -n

 

gay-psotnic, version 0.1-pre (23-09-10)-ipv6 (rev: 205, build: Data/Ora)

Copyright (C) 2003-2007 Grzegorz Rusin <grusin@gmail.com>

Copyright (C) 2009 psotnic.com development team

 

[*] Bot now runs in config creation mode

[*] The options are explained at http://psotnic.wiki.sourceforge.net/Config+File

[*] Mandatory options for all bot types:

[?] nick? (1 to 15 chars): Slavpsot

[?] username? (1 to 12 chars) [moneta]: Slavpsot

[?] realname? (1 to 255 chars) [Psotnic C++ Edition]: Il mio nome e' SLAVE!

[?] alternative nick? (1 to 15 chars): Slavpsot^

[?] Which IPv4 or IPv6 address should be used to connect to IRC (default: determined by OS): 0.0.0.0

[?] Which IPv4 address should be used to connect to other bots?: 0.0.0.0

[*] What type of bot do you want?:

[>]     [0]     Main

[>]      1      Slave

[>]      2      Leaf

[?] Your choice: 1

[*] Configuration for bot type: SLAVE

[*] What ports should the bot listen on?:

[?]     IP address (can be prefixed by "ssl:"): 0.0.0.0

[?]     Port number (1 to 65535): 65431

[?]     usage ("all", "users", "bots") (0 to 15 chars): all

[?] Do you want to add more ports? (Y or N) [N]: n

[*] Please enter the connection options for connecting to the main bot.:

[?]     Host address (can be prefixed by "ssl:", "ipv4:", "ipv6:"): ipv4:82.125.83.48

[?]     Port (1 to 65535): 65432

[?]     Password: pass-a-mia-scelta

[?]     Handle (0 to 15 chars): Slavpsot

[?] Do you want to add some servers? (Y or N) [Y]: n

[?] Do you want to add some modules? (Y or N) [N]: n

[?] Do you want to switch to expert mode and set further variables? (Y or N) [N] : n

[?] Where should the config file be saved? [Slavpsot.cfg]: Slavpsot.cfg

[*] config file has been saved

(moneta)~/psotnic:$ cd $HOME/psotnic ; ./psotnic Slavpsot.cfg

 

gay-psotnic, version 0.1-pre (23-09-10)-ipv6 (rev: 205, build: Data/Ora)

Copyright (C) 2003-2007 Grzegorz Rusin <grusin@gmail.com>

Copyright (C) 2009 psotnic.com development team

 

[*] Loading config from '/home/moneta/psotnic/Slavpsot.cfg'

[*] Acting as SLAVE

[+] Config loaded

[*] Opening listening socket at 0.0.0.0:65431

[+] Socket awaits incomming connections

[*] Loading userlist from Slavpsot.ul

[*] Userlist not found (new slave?)

(moneta)~/psotnic:$ [+] Going into background [pid: 32016]

(moneta)~/psotnic:$

 

 

Lo slave e' avviato!

 

 

 

 

Con Mirc   entrare in partyline per linkarlo

 

/server -m 82.125.83.48 65432 pass-a-mia-scelta:lumaca:lumacapass

 

.+bot Slavpsot 82.125.83.48

.chattr Slavpsot +s                                         +s = slave

.chpass Slavpsot pass-a-mia-scelta

 

 

Con il .bottree  si controlla come e' costruita la botnet:

Miopsot e' HUB e ha 1 slave

 

 

 

Chiedera' di addare il vhost a se' stesso:

 

.+host Slavpsot *!moneta@2a01:270:2050:1345::104

 

 

 

 

Controllare come e' configurato:

 

.bc Slavpsot cfg

 

 

Il bot e' vivo e lo si fara' connettere su un server di IRCnet:

(o un'altra rete preferita)

 

 

.bc Slavpsot cfg server irc6.ipv6.uni-erlangen.de     (per aggiungere un server)

 

.bc Slavpsot cfg -server irc6.ipv6.uni-erlangen.de    (per togliere un server)

 

 

 

.bc Slavpsot cfg vhost 2a01:270:2050:1345::104   (per aggiungere vhost)

 

.bc Slavpsot cfg vhost 0.0.0.0                                    (per toglierlo - lo si azzera)

 

 

 

 

 

Slavpsot entra nella stanza #pippo:

 

 

.+chan #pippo

 

 

 

E' dentro alla stanza:

 

 

 

 

 

 

===============================================================

Nella shell:

 

Controllo dei processi vivi

ps x

 

 

MioPsot e Slavpsot sono avviati

===============================================================

 

 

 

 

Ora si prepara una leaf  (foglia) dello slave

 

Per praticita' si usato la stessa shell ma non andrebbe fatto:

su Irc sono accettati al massimo 2 processi in background per shell.

 

Usando un'altra shell si dovra' installare lo psotnic - come spiegato

nelle istruzioni in alto -

 

 

AVVIARE CON:

 

cd $HOME/psotnic ; ./psotnic -n

 

 

Lo configuro:

 

 

Leafpsot

Leafpsot

Il mio nome e' FOGLIA!

Leafpsot^

0.0.0.0

0.0.0.0

2

82.125.83.48

65431

all

pass-a-mia-scelta

Leafpsot

N

N

N

N

Leafpsot.cfg

 

Lo avvio:

 

cd $HOME/psotnic ; ./psotnic Leafpsot.cfg

 

 

La porta 65431 e' la porta di ascolto con lo slave

 

 

 

La shell rispondera' alle richieste cosė:

 

 

(moneta)~/psotnic:$ cd $HOME/psotnic ; ./psotnic -n

 

gay-psotnic, version 0.1-pre (23-09-10)-ipv6 (rev: 205, build: Data/Ora)

Copyright (C) 2003-2007 Grzegorz Rusin <grusin@gmail.com>

Copyright (C) 2009 psotnic.com development team

 

[*] Bot now runs in config creation mode

[*] The options are explained at http://psotnic.wiki.sourceforge.net/Config+File

[*] Mandatory options for all bot types:

[?] nick? (1 to 15 chars): Leafpsot

[?] username? (1 to 12 chars) [moneta]: Leafpsot

[?] realname? (1 to 255 chars) [Psotnic C++ Edition]: Il mio nome e' FOGLIA!

[?] alternative nick? (1 to 15 chars): Leafpsot^

[?] Which IPv4 or IPv6 address should be used to connect to IRC (default: determined by OS): 0.0.0.0

[?] Which IPv4 address should be used to connect to other bots?: 0.0.0.0

[*] What type of bot do you want?:

[>]     [0]     Main

[>]      1      Slave

[>]      2      Leaf

[?] Your choice: 2

[*] Configuration for bot type: LEAF

[*] Connection options to connect to hub?:

[?]     Host address (can be prefixed by "ssl:", "ipv4:", "ipv6:"): 82.125.83.48

[?]     Port (1 to 65535): 65431

[?]     Password: pass-a-mia-scelta

[?]     Handle (0 to 15 chars): Leafpsot

[?] Do you want to add alternative hubs? (Y or N) [N]: n

[?] Do you want to add some servers? (Y or N) [Y]: n

[?] Do you want to add some modules? (Y or N) [N]: n

[?] Do you want to switch to expert mode and set further variables? (Y or N) [N]: n

[?] Where should the config file be saved? [Leafpsot.cfg]: Leafpsot.cfg

[*] config file has been saved

(moneta)~/psotnic:$ cd $HOME/psotnic ; ./psotnic Leafpsot.cfg

 

gay-psotnic, version 0.1-pre (23-09-10)-ipv6 (rev: 205, build: Data/ora)

Copyright (C) 2003-2007 Grzegorz Rusin <grusin@gmail.com>

Copyright (C) 2009 psotnic.com development team

 

[*] Loading config from '/home/moneta/psotnic/Leafpsot.cfg'

[*] Acting as LEAF

[+] Config loaded

(moneta)~/psotnic:$ [+] Going into background [pid: 32198]

 

 

 

un controllo ai processi avviati:

 

ps x

 

 

 

 

 

 

Con Mirc   entrare in partyline e linkarlo:

 

/server -m 82.125.83.48 65432 pass-a-mia-scelta:lumaca:lumacapass

 

 

.+bot Leafpsot 82.125.83.48

.chattr Leafpsot +l              +l/+elle = leaf

.chpass Leafpsot pass-a-mia-scelta

 

 

 

 

controllo quali bots sono linkati:

 

.bots

 

 

 

Controllo come sono linkati

 

.bottree

 

 

 

l'Hub ha 1 slave; lo slave ha 1 leaf

(il capo ha uno schiavo, lo schiavo ha uno schiavetto)

 

 

Connessione su IRCnet:

 

 

Immettere il vhost:

 

.bc nome-leaf vhost

 

.bc Leafpsot vhost 2a01.270:2050:1345::1

 

 

Immettere il Server:

 

.bc nome-leaf cfg server nome-server numero-porta

 

.bc Leafpsot cfg server eu.irc6.net 6667                   (per aggiungerlo)

 

.bc Leafpsot cfg -server  eu.irc6.net 6667        (per toglierlo)

 

 

 

E' entrato su #pippo:

 

 

 

Joino la botnet nella stanza #moneta:

 

.+chan #moneta

 

.mjoin #moneta      massjoin = tutti assieme

 

 

 

La Botnet entra nel canale #moneta, contemporaneamente:

 

 

 

 

L'uscita dal canale:

 

.mpart #moneta

 

 

e nel canale:

 

 

 

Per far uscire un solo psotnic da un canale:

 

 

.rpart Slavpsot #pippo

 

 

 

E nella stanza sara':

 

 

 

Per farlo rientrare:

 

.rjoin Slavpsot #pippo

 

 

 

 

 

Per cancellare il canale e tutte le sue impostazioni

 

.-chan #moneta

 

 

perdendo tutti i settaggi del canale

 

.........................................................................

Il comando:

 

.set

 

ecc...

 

 

 

mostra come sono i settaggi dei bots

 

 

 

.........................................................

 

 

Il comando:

 

.chset #pippo  (#il-tuo-canale-preferito)

 

 

 

 

Esempio:

 

.chset #pippo guardian-bots

 

 

Si cambia il guardian-bots, invece di due se ne metteranno

3 da guardia:

 

.chanset #pippo guardian-bots 3

 

 

 

 

I canali si settano a seconda delle preferenze

non e' tassativo quello che e' scritto.

 

 

 

 

Per 'addare' degli utenti sul canale #pippo ci servono le

 

LE FLAGS

 

 

 

N.B. x,s,n,p devono esser settate globali

 

.+user handle

.chattr handle +flags #chan

.chpass amici qualchepassword

.+host amici *!*@vhost

.match amici  |> cerca l'handle amici

.match *       cerca tutti gli 'add'

 

 

 

 

.+user amici

.chattr amici +fo #pippo

.chpass amici qualchepassword       (password di propria invenzione)

.+host amici *!*@host-116*telecomitalia.it

.match amici

 

 

 

 

Si possono aggiungere tutti gli host possibili sotto la

handle amici.

Avranno l'Op solo con password (E' sufficiente con Mirc

Querare uno psotnic e scrivere op qualchepassword)

 

 

Per togliere un host:

 

.-host amici *!*@host-116*telecomitalia.it

 

 

----------------------------------------------------------

 

Solo a chi merita piena fiducia si daranno flags globali:

 

.+user superamico

.chattr superamico +snmforiecp

.chpass superamico superlativo

.+host superamico *!*super@pippo.amico.mio.it

.match superamico

 

 

 

Dare flags con prudenza

 

 

A ogni cambiamento si consiglia di salvare il lavoro:

 

.bc HUB cfg-save     esempio:

 

 

.bc MioPsot cfg-save

 

 

 

Per salvare gli user della stanza:

 

.save #pippo

 

 

 

 

 

 

 

Se qualcuno entra negli 'idiots' per aver commesso un'offesa

 

Esempio:

 @Lumaca ha dato l'op a kattivissimo; non essendo un 'addato'

sono stati kickati insieme. Lumaca e' entrato direttamente

negli 'idiots'   chiamata anche shit list.

 

 

 

 

 

 

 

nella partyline succede questo:

 

 

 

 

Per sapere chi e' entrato nella lista 'idiots'   in d

 

 

.idiots

 

 

 

 

Idiots e' la flag 'd'   si dovra' toglierlo da  'd'

 

 

.-idiot *!ident@vhost

 

.-idiot *!Lumaca@2a01:270:2050:1345::104

 

 

 

Passo successivo, rimuovere l'host da 'offences'

 

 

.offences

 

.clearoffences

 

 

 

 

 

 

 

CARICAMENTO MODULI

 

 

Nell'esempio c'e'  il vctrl.so  (Voice Like Op)

 

Scegliere lo Psotnic che usera' il modulo voice like op

 

.bc nick cfg load /home/nomeshell/psotnic/modules/vctrl.so

 

 

.bc Slavpsot cfg load /home/moneta/psotnic/modules/vctrl.so

 

 

 

 

Nell'FTP  i moduli:

 

 

 

 

 

 

settare il voicecontrol nel canale #pippo

 

 

 

.bc Slavpsot vchanset #pippo

 

il voicecontrol e' ON

 

 

 

Per togliere la possibilita' all'utente 'voice' di cambiare il topic:

 

.bc Slavpsot vchanset #pippo topic-command OFF

 

 

 

 

Risultato:

 

"Welcome to the control, you can use: !voice !devoice !kick !ban !unban"

 

 

 

Per rimettere come prima scrivere ON

 

.bc Slavpsot vchanset #pippo topic-command ON

 

 

 

 

PER RIMUOVERE IL MODULO

 

 

.bc Slavpsot vchanset #pippo

 

 dara' la chiave md5  'd4052d4091a5b582f3928d690c571b47'

 

 

 

Tutto in una riga:

 

.bc Slavpsot cfg -load /home/moneta/psotnic/modules/vctrl.so d4052d4091a5b582f3928d690c571b47

 

 

 

Rimosso modulo

 

Doppio salvataggio

 

 

.save

.bc Slavpsot cfg-save

 

 

 

 

IL BAN

 

I comandi  stick e ban sono uguali:

 

.+ban #chan %  *!ident@vhost  ragione del ban      (% sono i secondi)

 

.+ban #pippo %120 *!*@dynamic* tu non entri, vai in ban

 

      

 

 

 

Ban per 120 secondi

 

 

 

Per un ban perenne:

 

.+stick #pippo *!*@dynamic* tu non entri, vai in ban

 

 

risultato:

 

bannato nella stanza #pippo:

 

 

 

controllo i bans

 

.bans #pippo

 

 

 

Togliere il ban dal canale #pippo

 

 

.-ban #pippo *!*@dynamic*

 

 

 

 

SI PUO' USARE ANCHE IL COMANDO:

 

.+stick #chan %secondi nick!idento@vhost motivo

 

.+stick  #pippo %60 *!* @dynamic* sei bannato

 

 

 

............................................................

 

Per evitare il kick da parte dello Psotnic quando si banna in canale

 

 

 

.chset #pippo strict-bans OFF

 

 

 

 

 

CAMBIO DI NICK AL BOT

 

 

.bc Leafpsot cfg nick MiaFoglia

 

 

 

.bc Leafpsot cfg-save

 

 

 

.bc Leafpsot restart

 

 

 

Connesso!

 

 

 

Su IRCnet:

 

per sicurezza salvo la configurazione:

 

 

.bc Leafpsot cfg-save

 

 

 

 

 

 

 

 

======================================================

 

           DISINSTALLARE PSOTNIC

 

======================================================

 

ps x

 

 

i processi sono tutti avviati

 

 

 

=========================================

   Disconnettere e rimuovere tutto:

=========================================

      

 

 

ps x

kill -9 numeroPID      MioPsot

kill -9 numeroPID         Slavpsot

kill -9 numeroPID         Leafpsot

ls

rm -fr psotnic

ls

 

==============================================

 

 

 

     _/_/_/   _/_/_/   _/_/_/  _/_/_/_/ _/      _/  _/   _/_/_/

    _/   _/ _/       _/    _/    _/    _/_/    _/  _/  _/

   _/_/_/   _/_/_/  _/    _/    _/    _/  _/  _/  _/  _/

  _/            _/ _/    _/    _/    _/    _/_/  _/  _/

 _/       _/_/_/   _/_/_/     _/    _/      _/  _/   _/_/_/