├── LICENSE ├── README.md ├── happy-birthday-maybe.js ├── happy_birthday ├── hwchiu.c ├── k2r2bai.yml ├── lucien.html ├── mileschou.php ├── narumi.py ├── narumi.sh ├── picture_base64 ├── secret.mp3 ├── sufuf3.sh ├── summit.R ├── wakeup ├── yifa.base64 └── yifa.go /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Evan Lin 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Happy Birthday c9s 2 | 3 | A repo to celebrate c9s birthday 4 | 5 | # English 6 | 7 | @c9s is a good friend and mentor for me, today (09/03) is his birthday. Because he is too geek and check github everyday. So, here is the way I want to say happy birthday to him. 8 | 9 | - If you want to say Happy Birthday to @c9s, Please star this repo. 10 | - If you have your friend who also only check github, just fork this repo :p 11 | - If you want to say something special, just send you PR. 12 | 13 | 14 | -------------------------------------------------------------------------------- /happy-birthday-maybe.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | class Maybe { 4 | 5 | constructor (x) { 6 | this.$val = x; 7 | } 8 | 9 | static of (x) { 10 | return new Maybe(x); 11 | } 12 | 13 | get isNothing () { 14 | return this.$val !== 'c9s'; 15 | } 16 | 17 | map(fn) { 18 | return this.isNothing ? this : new Maybe.of(fn(this.$val)); 19 | } 20 | 21 | inspect() { 22 | return this.isNothing ? 'Maybe(Nothing)' : `Maybe(${inspect(this.$value)})`; 23 | } 24 | } 25 | 26 | let birthdayGreeting = function (who) { 27 | return 'Happy Birthday, ' + who + '🎉'; 28 | }; 29 | 30 | Maybe.of('c9s') 31 | .map(birthdayGreeting) 32 | .map(console.log); 33 | -------------------------------------------------------------------------------- /happy_birthday: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # TODO 4 | # - [ ] Add cong. script generator 5 | # - [ ] Add cong. script decoder & player 6 | # - [ ] Add image printer 7 | # - [ ] Add bats 8 | # - [ ] Run on mac 9 | # - [ ] Run on ubuntu 10 | 11 | MUSIC_URI="secret.mp3" 12 | MUSIC_PLAY="afplay" 13 | PICTURE_BASE64="picture_base64" 14 | 15 | play_music_background(){ 16 | command -v ${MUSIC_PLAY} > /dev/null 2>&1 || { echo "Player command ${MUSIC_PLAY} is required to run but not found. Happy birthday anyway :)"; exit 1; } 17 | ${MUSIC_PLAY} ${MUSIC_URI} & 18 | } 19 | 20 | print_picture(){ 21 | [[ $(tput cols) -gt 150 ]] || { echo "Terminal with width > 150 cols is required. Full screen, please?. Happy birthday anyway :)"; exit 1; } 22 | 23 | cat ${PICTURE_BASE64} | base64 -D > /tmp/picture 24 | while IFS= read -r line || [[ -n "$line" ]]; do 25 | echo "${line}" 26 | sleep 0.1 27 | done < /tmp/picture 28 | } 29 | 30 | music_killer(){ 31 | local pwd="Yes, I'm happy now." 32 | echo "Happy birthday! Enter '${pwd}' to kill music" 33 | read input 34 | if [[ ${input} == ${pwd} ]]; then 35 | declare -a pss=($(ps | grep ${MUSIC_PLAY} | awk '{print $1}') ) 36 | for p in ${pss[@]}; do 37 | kill ${p} 38 | done 39 | else 40 | echo "Oops. Kill ps by yourself then :P" 41 | echo "ps | grep ${MUSIC_PLAY} | xargs kill" 42 | fi 43 | } 44 | 45 | play_music_background 46 | print_picture 47 | music_killer 48 | -------------------------------------------------------------------------------- /hwchiu.c: -------------------------------------------------------------------------------- 1 | // run the following program here 2 | // https://www.onlinegdb.com/online_c_compiler 3 | #include 4 | #include 5 | 6 | int w(int n) { 7 | return n? n%10+(w(n/10)<<1):0; 8 | } 9 | 10 | int main (){ 11 | int c9s = rand()-rand(); 12 | int input[]={958358508,957469498,958368508,957359507,958359497,958358498,958368497,958368497,958369498,957359507,958358507,958359498,958368507,958368597,958359497,958358597,958358498,958369498,957359507}; 13 | int i = 0; 14 | for (; i < sizeof(input)/sizeof(int); i++) { 15 | printf("%c",w((input[i]-c9s))); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /k2r2bai.yml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Pod 3 | metadata: 4 | name: c9s-happy-birthday 5 | labels: 6 | c9s: happy-birthday 7 | spec: 8 | initContainers: 9 | - name: c9s-happy-birthday-init 10 | image: kairen/c9s-hb 11 | command: ["sh", "-c", "cat /c9s.HB.code > /c9s-hb-dir/index.html"] 12 | volumeMounts: 13 | - name: c9s-hb-dir 14 | mountPath: /c9s-hb-dir 15 | containers: 16 | - name: c9s-happy-birthday-nginx 17 | image: nginx 18 | ports: 19 | - containerPort: 80 20 | volumeMounts: 21 | - name: c9s-hb-dir 22 | mountPath: /usr/share/nginx/html 23 | volumes: 24 | - name: c9s-hb-dir 25 | emptyDir: {} 26 | --- 27 | apiVersion: v1 28 | kind: Service 29 | metadata: 30 | name: c9s-happy-birthday 31 | labels: 32 | c9s: happy-birthday 33 | spec: 34 | ports: 35 | - nodePort: 30903 36 | port: 80 37 | protocol: TCP 38 | targetPort: 80 39 | selector: 40 | c9s: happy-birthday 41 | type: NodePort 42 | -------------------------------------------------------------------------------- /lucien.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Happy Birthday! c9s 9 | 15 | 16 | 17 | 18 |
19 |
20 |
21 |
22 | 23 | 515 | 516 | -------------------------------------------------------------------------------- /mileschou.php: -------------------------------------------------------------------------------- 1 | unshift('a') 6 | ->push('p') 7 | ->unshift('H') 8 | ->push('p') 9 | ->unshift('! ') 10 | ->unshift('lo') 11 | ->unshift('l') 12 | ->push('y') 13 | ->push(' ') 14 | ->push('c9s') 15 | ->unshift('He') 16 | ->push('!' . PHP_EOL) 17 | ; 18 | 19 | class Arr 20 | { 21 | private $d = []; 22 | 23 | public function push($data) 24 | { 25 | $this->d[] = $data; 26 | return $this; 27 | } 28 | 29 | public function unshift($data) 30 | { 31 | array_unshift($this->d, $data); 32 | return $this; 33 | } 34 | 35 | public function __toString() 36 | { 37 | return implode('', $this->d); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /narumi.py: -------------------------------------------------------------------------------- 1 | # run the following program here 2 | # https://www.onlinegdb.com/online_python_interpreter 3 | 4 | 5 | def main(): 6 | x = [9, 3] 7 | w = [[8.2837, 8.1488], [4.8218, 4.5346], [9.4413, 10.0095], [3.6018, 3.8611], [2.5658, 2.9693], [5.9632, 6.1104], [8.0145, 8.2897], [9.1975, 9.7407], [9.5877, 8.5702], [10.1039, 10.0217], [2.9433, 1.8367], [5.3323, 6.0032], [8.6005, 9.1986], [9.5371, 9.3888], [9.5090, 10.1396], [8.8713, 8.0527], [8.6238, 7.4619], [7.8385, 8.8177], [10.2471, 9.5919], [2.7675, 2.6976]] 8 | y = [w[i][0] * x[0] + w[i][1] * x[1] for i in range(20)] 9 | print(''.join(map(lambda s: chr(round(s)), y))) 10 | 11 | if __name__ == '__main__': 12 | main() 13 | -------------------------------------------------------------------------------- /narumi.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | docker run narumi/happy-birthday-c9s -------------------------------------------------------------------------------- /picture_base64: -------------------------------------------------------------------------------- 1 | ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgICAgICsrYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICw7YCA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICA6YCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMsOjosLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCcnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMnLGBgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArJydgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArIywnOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgIysuOysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIycnJzsnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMnKycnLCsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCMrKys7JycnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAjKzsrJzonJywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIyMnJyc6Jzo6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgIyMrKycnOic7O2AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyMnKysnJycnOycnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMrIys7KysnJzo6J2AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMrIys7KycsOycnJzsuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIyMrKysnLicnJzs6K2AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo7KycrJysnJycnJzsnLCc6OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgLjo6Jzs7JywnOzsnOzsnOys6Jzo7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYDs7JysnJzsnOycrOic6JycnJysnOztgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsnOzsnJzsrJzs6OzsrJycnJyMnJzsnJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4nJycnJyc7Jzs6Oic7JysnJycrJycnJycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJzsrJycrJycnJycjJysnOycnJycrJys7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJycnKycrJysnJyMuLCw6LkAnJysrKysrIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiM6JycnKysnJzssLCwsOjosKycrKysrO0AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsjQCsrKysrKysuLCwsLDo6OiwrJysrIytAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGA7IyMnKycrJyssLDo6LCw6Ojo6LDsrKysnLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsOyMnJyMrKyc7Ojo6LCwuOjo6OjorKysrKzs6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGAgIGBgOic7JycrJycnOjo6OjosYCwsLCw6OycrKys7OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgLDsnJyc7LDs6OysrIysjJzo6Ojo6LGAsLDo6OjonJysnJzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAgICBgLic7JycnJycnOjs7LDsnJysnJyc6Ojo6OixgLCwsOjosKysrKys7YCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgOic7Oyc7OysnJzsnOzo7JzsnJysnJycnOjo6OjosYCwsOjo6LCMrKysrJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLjs7OzonJzsnKzsnKycnJzs6OycnJycrKyc7Kzo6Ojo6LGAuLDo6OiwrKyMrKycsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGA6OzsnOycnJycnJzs7JycnOyc7JzsnJycnJycnJys6Ojo6OiwuLCw6OjosKysrKysnJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLjs7OycnOysnJycnJzsnJycnJysnJycnKycnJyc7JzsnLDo6OjosLiwsOjo6LCMrKysrKycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Ozs7OycnJysrJycnJycnJzsnKzsnJycnJysnJycnJycnJyM6Ojo6LCwsLDo6OjsjKysrJycnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc7Ois7JycnKycrKycnJycrJycnIys7JycnJysjKysrJycnKysjOjo6OiwsLCw6OixAKysrKycnKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjsnOisnJysrIycnJycrIysnKycnJycrJyc7KycrOycnKycnJycrJzo6OjosLCw6OjouQCsrKysrJyssICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJycrOycrKysrKycnKysjKycrJycnJycrKycnJzojKyMnJycnKyc7KyMjOjo6LCwsLDosYEArKysrKycnLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgKycnKysrKysjKycnKysrKyMnKysrJycnKyc7JycnJzsrOycnKycnJzonKyw6LCwsLDosLDojIysrKysnJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJzsnKysrJysrJycnOyc7OycnKysrJysnJycnJysnOycnJycnJysnKysrKysrLCwsLDo6LCw7IysrKysrKycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgOycnJysrOysrKycnJycnKysnKysrKycnJycnJycnOycnJzsrJycrKysrOzsrKzosLCw6OiwsOyMrKysrKysnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKysrJysjKysrKysnJycnKycrKycrKysnKyc7JycnJycrJzsrKycjJysnJycrKycjLCwsOjosJyMjIysrKysjJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJycrKysrKyMrKyMrKysnKycnJysnKysrKys7KysnJysnJzsnOysnJycrKysnKysjJyw6Ojo6LiwjIysjKysrKycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgLCcrJysnKyMjKyMrIysrKycjKycrKysrKysnJysjKycnKysrJycrIycrKycrKysjKyMjOjo6OjtAIyMrIysjKycrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAuKycnJysnKysrKyMrIysrIysrJysrKysrJysrKysrKycnJycrKysrKysrKyMjKyMjIytAQC46OjpAIyMrKysrIysnJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICBgICAgK0BAQDonJysnJysrKyMrKycnKycrJycjKysrKysrJysrKysnKysnKycnKysrIysjIyMrIyMjIyMjOjouQCMjIyMrIysrJy4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAjJytAQEAjQCM6KysrJycrKysrKysrJysrKysrKyMrIysrKycrKysrKysnKysrKysrKysrIysrKyMjIyMjQCw7OiMrKyMjKyMrKydgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgIDorKyMjIyMjQCM7OzsrKysrKycrKycrKycrKysrKysrKyMnIysrKysnJycrKysnKysrOysnJysrIyMjIyMjIyMsO0AjIyMjIyMjIysrYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICArJyMjIyNAQEBAKycnKysnKyc7KysnJysnKysrKysrKysjKycrKysjKycrKysrKysrKycjIysrKyMrKyMjIyNAJzpAIyMjIysjIysnLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgYCs6YCAgICAgYCwnJycrJycrKysrJycrJysrKysrKysrKysrJysjIysnKysnKysrKysrKycrKysjKyMjKyMjI0BAIyMjIyMjKysrJ2AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICc6JycnJycrKycrKysrKycrKysrKysrKysrKycjIysrKycrKyMrJysrIysrKysrKysjIyMjIyNAQCMrIyMrKysrKywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgIGA6OysnJycnJysrKysrKysrKyMnKysnKysrKycrIysrKyMrJysrKycrIycrKysrKysrIysrIyMjI0AjIysjKysrJztgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICBgOjsnOys7JysrKysrKysnKysnJysrKysrKysrKysrJysrKysjKyMrIycrIysrJycrIysrKysrIyMjKysrKysrJycuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgOic7JzsnKysrJysnKysrJysrKysrKysrIysrKysrKycnJysrJycnKycrKyMrKysrKycrJysrIycjIysrKysrKydgYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICcrJyc7KycnKysrKysrKysrKysrKysrKysrKysrKycnJysrJysnKycrKysrJysrIysjKzsrIyMjKysrKyMrKydgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICA7Jyc7OysnJysrKysrKysrKysrKysrKysrIysjKycnKysrJysrJysrJysrJysjKyMjKysrKyMrIysrKysrKydgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgJyc7OycrJysrJysrJysrJysnKysrKysjIyMrKysnOisnKys7JysnKysrJysrIysrKysrKysrKyMjKysrKycnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgYCc7JzsnJycrJycrKysrKycjJysrKysjKysrKys7OyMrKysjKyMrIyMrKyMjKysjKysrKyMjKysjKysrKysnIGAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICcnOjs7JzsrKycnKysrKycjKysrKysrKysnJycnJysrKysjKycrKysnJytAIyMjIycrKysrIyMrIysrKysnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgYGA7JzonOyM7JycnJysnKysjKycrKysrKysrOycnJysjKysrIycnOysnKyMjKyMnKysrIyMjIysjIysjKysnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgYDo7Oys6JycrOycnJysrJysrKysrKysrKysrKzosKysrKysrKysrOysrIysrIyMjKysrKysrKysrKyMrKysrJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgOic7OycnJycjJycnJycnKycrKysrKysrKysrKyMrKysrKysrJysrKyMrKysrKyMrKyMjIysjKyMjKyMrKysrJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAsJycnOzsnOycnKyc7JycnKysrJyMrKysrKysnJyMjKysrKysrKysrKyMjKysjKyMrKysrKysrIysrIysjKycnJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICwnKycnJys7OzsnOycnOys6JysnKycrKysrKysrJyMnKysrKysrJysnJysrKysrKysrKyMrKysjIycrIysrKysnJzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgOjsnKyc6KysnJzs7JzsjOzsrOicrJysrJysrKysrKysjKysrKycrKycrKysnKycrKysrKyMrIysjKysrKyMrKysnKzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAuKzonJzsnIysrKyc7Jys7Kzs7KzsnOicnKycrKysrKysjKysrKysrKycrJysnKysrKycjKysrKysjKysrKysrJycnKyMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICBgJysrKysjIyMrOycnJycnOys7JzsnJycnJycrIycjKysrKycrKysrKysnKyMrKyMnKycjKysrKysrKysrJycnKyMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICA6KyMrJysrIysjYGA7JycnKycjOyc7OycrKycrJysrKysrKycrKysrKysnIysrKycrIysrKysrKyMrKysrKysnJyMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgYC4uICAgYDsnKysrIzsnOzs7KycnKyMrKysrKysnKysnJysrKysnKzsnJysrKyMjKyMrKyMrKysnJysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICBgJycnKysnOzs7JycrIysrKysrKysnKycnKysrJysrKycrJysrIysjKysrIysrKycnKys6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgYDonJycnJycnJycrIysrKycrJycrJysnKysnKysrKysrKysrKysrIysrKysrKycnKysrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICBgYGBgYDs7OycnJycnJycnJycnJycnJysnKycrKysrKysrKysrKysrKysrKysnKycrKycrKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICBgYGBgYGBgYGBgYDonJycnJysnJycnJycnJysnKysrKysrKysrKysrKysrKysrKycrKycnKysjKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgYGBgYC4uLmAuJycnJysnKycnJysrKysrKysrKysrKysrKysrKysrKysnJycnKysnK0AjKyMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIGAuLi4uLicnJycnKycnKycrKysrKysrKysrKysrKysrKysrKycrKysrKysjIyMrIyMuYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgYC4nJycnJysnJysrKysrKysrKysrKysrKysrJysnJycnKycnKyMjIyMjKysjYCBgYGAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOycnJysnKysrKysrKysrKysrKysrKysrKycnJycnKyMjIyMrKyMjIyMrLiAgYGBgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwnJysrJycrKysnOysnLiwuLiwuYGAuOisjIyNAIysnIyMjIyMrIysrO2BgYGAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJycnKysrKysnOiwsLmBgYGBgYGAuOisjQEAjJzs6JycjIyMjKyMrK2BgYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsrKysrKysrOywuLmBgYGBgYC4sOyMjIys7OiwsLiwsIyMjIysjKyxgYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6JycrKysrKy4uLi4uLi5gYCw6I0AjOi4sLC4uLi5gYCMjIyMrIytgYGBgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCcnKysrKyssLi4uLi4uLiw7Oi5gYC4uLi5gYGBgYC4nIyMjIyMrYCAgYGBgYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAnKysrKys7OjosLC4uLmBgLi4uLi5gYGBgYGBgYGBgOiMjIyMjI2BgICBgYCAgICBgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJysrJysnLjo6OjosLC4uLi5gYGBgYGBgYGBgYGBgYC4rIyMjKysgYGBgYGBgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCcrKysnLDo6Ojo6LCwsLCwsLi4uLmBgYGBgYGBgYGBgIyMrJyc7IyBgYGBgYGBgYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAnKyc7LC46Ojo6Ojo6OiwsLCwsLCwsLC4uLi5gYGAuOyMjIysrJyc7OjosYCAgYGAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgICAgOicnOiwsLDo6Ojo6Ojo6OjosLCwsLCwsLCwsLC4uLCsrIytAIycnJzs7OjogIGBgYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgLicrYCAgIGAnJzssOjosLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCs6IysrJyMnOjs6OicnOmBgIGBgIGAgIGAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAuKztAIGAgYCAnLCw6OjosLC4uLmBgYGBgYGBgYGBgYC4uLiw6LCcnJycrJzsnJycnKysnLmAgIGBgYGAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgLjsnKycrOi47LDo6Ozs7LiAgICAgICAgICAgICAgICAgICAgIGBgIDojJysrKycnJysnKyc7YCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAsIysnJycnJycnOzonJztgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwrKysrJysrIysrOiBgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuKysrKyMrKycnJzsrKysrJzsgICAgICAgICAgICAgICAgICAgICAgICAgIC4nOycrOiMnKycrJy4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGAgICBgOjs6KycrKysnKysrIyMrQDsgICAgICAgICAgICAgICAgICAgICAgICAgICA6OycjKysrJytAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsrKysrKysjKyMjI2AgICAgICAgICAgICAgICAgICAgICAgICAgICBgYEArKyc7KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCcrKysrKysnKysrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuICBgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDojJysnJyMrIysrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICtgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuKysrOyxgKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCAgIGAjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgIEBAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIEBAYGAgYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgIEBAICAgIEBAQCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgLCAgOiBgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgIDpALEAgICxAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBgICAsICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICBAICAgIEBAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgIEBAICAgICAgIEAjICAnKyBgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICNAI2AgICBAQGAgYEBAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCBgQCAgYCxAQCAgQGAgYEAgYEA6ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgIDogICBAQCAgQEAgIC5AYCAgYCAgICAgICAgICAgICAgICAgICAgYCAgICAgICAgICAgICAgICAgQEBgICAgICAgIEAgIEAgIEAgICM7ICBAYGA6ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgIGAgIGAjQCAgIEBgICBALCAgQCxAICAgICAgICAgICAgICAgICAgICAgICAgICAsICAgICAgIGAgICAjICAgICAgQEBAICBAICBAYCA6QCBAQCAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICBAIGBAICAsQCAgJ0AgIEAgQEBgICAgICAgICAgICAgIC5AQCNAICAgQCAgICAgICBAICAgQCAjICAgQCAgQCBgQCAgQDogIEArIEAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgQCwsQCAgIEAgICBAIGBAJyAjICdAICBgICAgICBgQCAgLEAgICAgICAgICBgQEAjYCMgIEAgIzpgIEAgIEAgIEBAOyAgICA6ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgIGAgIEArIEBAYCArQCBgIyAgQCwgQCwgIEAgICAgIEAgIEA6LkBAIEBAQCMjIEAgIDorICBAIEAsICBAICBAQEAgICAgIys6IGAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAQCAsQCAgQCAgIEAgIEAgIEA7ICAgIGBAQEAgICBgQCAgQCAsICBAICA7OyAgQCAjQCAgQEBgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBALiAgYCAgIEAgIDpAIDtAICBAICAgICBAKyBgIzogQCwgIEAgICAgQCAgIywgLEAgIEBAICBgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuQC4gYCAgIEAgQEArIGBAYCAgQCAgICAgQCAgIEAnIEAgIDsjICAgLkAgIEAgICAjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBAICAgICAgICM7QDsgICAgICMgIEBAYCBAICBALiAgICBAKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOkAgICAgQCAgIEAgICAgICAgICAgICAgLCAgICAgICAgICAgYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAgICAgIGBAQCsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCg== 2 | -------------------------------------------------------------------------------- /secret.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kkdai/happy-birthday-c9s/16269c42d7e173a5534482b81557f0de94265714/secret.mp3 -------------------------------------------------------------------------------- /sufuf3.sh: -------------------------------------------------------------------------------- 1 | echo YzlzIEhhcHB5IEJpcnRoZGF5IQ== | base64 --decode 2 | -------------------------------------------------------------------------------- /summit.R: -------------------------------------------------------------------------------- 1 | magic_number <- c(505.0,279.3,540.5,202.4,160.0,388.8,446.3,560.0,492.9,593.0,172.8,316.8,504.1,490.2,672.8,592.9,540.0,494.7,689.7,168.3) 2 | sample_iris <- iris[1:20,] 3 | 4 | # fit linear model 5 | model <- lm(sample_iris$Sepal.Length ~ magic_number - 1) 6 | pred <- predict(model, data.frame(sample_iris$Sepal.Length)) 7 | 8 | # magic! 9 | print(rawToChar(as.raw(pred / model$coefficients / sample_iris$Sepal.Length))) 10 | -------------------------------------------------------------------------------- /wakeup: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | docker run wakeup706/happy-birthday-c9s 3 | -------------------------------------------------------------------------------- /yifa.base64: -------------------------------------------------------------------------------- 1 | IF8gICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXyAgICAgICAgICAgICAgICAgICAgICAgICBfX19fXyAgICAgICAgXyAKfCB8IHwgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHwgICAgICAgICAgICAgICAgICAgICAgIHwgIF8gIHwgICAgICB8IHwKfCB8X3wgfCBfXyBfIF8gX18gIF8gX18gIF8gICBfICAgIF9fX19fICAgX19fX18gXyBfXyBfICAgXyAgX198IHwgX18gXyBfICAgXyAgICAgICAgIF9fX3wgfF98IHwgX19fICB8IHwKfCAgXyAgfC8gX2AgfCAnXyBcfCAnXyBcfCB8IHwgfCAgLyBfIFwgXCAvIC8gXyBcICdfX3wgfCB8IHwvIF9gIHwvIF9gIHwgfCB8IHwgICAgICAgLyBfX1xfX19fIHwvIF9ffCB8IHwKfCB8IHwgfCAoX3wgfCB8XykgfCB8XykgfCB8X3wgfCB8ICBfXy9cIFYgLyAgX18vIHwgIHwgfF98IHwgKF98IHwgKF98IHwgfF98IHwgIF8gICB8IChfXy5fX18vIC9cX18gXCB8X3wKXF98IHxfL1xfXyxffCAuX18vfCAuX18vIFxfXywgfCAgXF9fX3wgXF8vIFxfX198X3wgICBcX18sIHxcX18sX3xcX18sX3xcX18sIHwgKCApICAgXF9fX1xfX19fLyB8X19fLyAoXykKICAgICAgICAgICAgfCB8ICAgfCB8ICAgICBfXy8gfCAgICAgICAgICAgICAgICAgICAgICAgX18vIHwgICAgICAgICAgICAgX18vIHwgfC8gICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgfF98ICAgfF98ICAgIHxfX18vICAgICAgICAgICAgICAgICAgICAgICB8X19fLyAgICAgICAgICAgICB8X19fLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCuKAlOKAlCBCZXN0IHdpc2hlcyBmcm9tIEB5aWZhLCBDaGluYQ== 2 | -------------------------------------------------------------------------------- /yifa.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "encoding/base64" 5 | "fmt" 6 | "io/ioutil" 7 | "log" 8 | "os" 9 | ) 10 | 11 | // $ go run yifa.go 12 | 13 | const ( 14 | wishFile = "yifa.base64" 15 | ) 16 | 17 | func main() { 18 | f, err := os.Open(wishFile) 19 | if err != nil { 20 | log.Fatal(err) 21 | } 22 | defer f.Close() 23 | 24 | raw, err := ioutil.ReadAll(f) 25 | if err != nil { 26 | log.Fatal(err) 27 | } 28 | 29 | plain, err := base64.StdEncoding.DecodeString(string(raw)) 30 | if err != nil { 31 | log.Fatal(err) 32 | } 33 | 34 | fmt.Println(string(plain)) 35 | } 36 | --------------------------------------------------------------------------------