1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
|
<!DOCTYPE html>
<html lang="ja-JP">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="author" content="nsfisis">
<meta name="copyright" content="© 2024 nsfisis">
<meta name="description" content="2024-11-30 に開催された紅白ぺぱ合戦に参加し、ぺ陣営のメンバとして LT しました。">
<meta name="keywords" content="紅白ぺぱ合戦,PHP">
<meta property="og:type" content="article">
<meta property="og:title" content="紅白ぺぱ合戦に参加&LTしました|REPL: Rest-Eat-Program Loop">
<meta property="og:description" content="2024-11-30 に開催された紅白ぺぱ合戦に参加し、ぺ陣営のメンバとして LT しました。">
<meta property="og:site_name" content="REPL: Rest-Eat-Program Loop">
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>紅白ぺぱ合戦に参加&LTしました|REPL: Rest-Eat-Program Loop</title>
<link rel="stylesheet" href="/style.css?h=60eb349e583f5bd51518a7eb98598043">
</head>
<body class="single">
<header class="header">
<div class="site-logo">
<a href="/">REPL: Rest-Eat-Program Loop</a>
</div>
<nav class="nav">
<ul>
<li>
<a href="/about/">About</a>
</li>
<li>
<a href="/posts/">Posts</a>
</li>
<li>
<a href="/slides/">Slides</a>
</li>
<li>
<a href="/tags/">Tags</a>
</li>
</ul>
</nav>
</header>
<main class="main">
<article class="post-single">
<header class="post-header">
<h1 class="post-title">紅白ぺぱ合戦に参加&LTしました</h1>
<ul class="post-tags">
<li class="tag">
<a href="/tags/cohackpp/">紅白ぺぱ合戦</a>
</li>
<li class="tag">
<a href="/tags/php/">PHP</a>
</li>
</ul>
</header>
<div class="post-content">
<section>
<h2 id="changelog">更新履歴</h2>
<ol>
<li class="revision">
<time datetime="2024-12-04">2024-12-04</time>: 公開
</li>
<li class="revision">
<time datetime="2024-12-05">2024-12-05</time>: 「育てた」枠・「育てられた」枠を勘違いして逆に表記していたので修正
</li>
</ol>
</section>
<section id="section--intro">
<h2><a href="#section--intro">はじめに</a></h2>
<p>
2024-11-30 に開催された<a href="https://connpass.com/event/329428/" rel="noreferrer" target="_blank">紅白ぺぱ合戦</a>なる催しに参加しました。私は「ぺ」陣営のメンバとして LT をおこないました。
</p>
<p>
紅白ぺぱ合戦のイベントページにある説明を以下に引用します。
</p>
<blockquote>
<p>
Webエンジニアの<a href="https://x.com/asumikam" rel="noreferrer" target="_blank">asumikam</a>とWebエンジニアの<a href="https://x.com/stefafafan" rel="noreferrer" target="_blank">stefafafan</a>が2024年7月7日に結婚しました。
</p>
<p>
せっかくなので技術トークとかで紅白戦をしませんか?いいですね!やっていきます!
</p>
<p>
場所はァ!小田原ァ!盛り上がっていきましょゥ!!!
</p>
</blockquote>
<p>
ざっくりと言えば、テックカンファレンスの形式をとった結婚披露宴です。タイトルの「ぺ」は PHPer、「ぱ」は Perl Monger の略です。
</p>
</section>
<section id="section--thoughts">
<h2><a href="#section--thoughts">感想</a></h2>
<p>
私は「ぺ」陣営のスピーカーとして LT をしていたのですが、その前にまずは登壇以外の感想を。
</p>
<p>
いや~最高でしたね。どの枠のスピーチの方も良かったのですが、特に (asumikam さん/stefafafan さんに)「育てられた」枠のお二方が印象に残っています。(asumikam さん/stefafafan さんを)「育てた」枠としてお世話になった方に声をかけることはできると思うんですよ。それだけでなく、「自分が育てたのだ」と言える人がいて、そしてそれに 100 点で応える人がいるということ。この素晴しさ。人徳。
</p>
<p>
改めて、asumikam さん、stefafafan さん、ご結婚おめでとうございます!
</p>
</section>
<section id="section--lt">
<h2><a href="#section--lt">LT</a></h2>
<section id="section--lt--prepare">
<h3><a href="#section--lt--prepare">合戦準備</a></h3>
<p>
さて、時を合戦の前に戻しまして、両陣営の登壇者が発表され徐々に謎のイベントの輪郭が見えてきた頃、asumikam さんから次のような連絡を受けました。
</p>
<img alt="asumikam「いまむらさんおつかれさまです。ぺぱ合戦で、LTタイムあることになり、技術で3人「ぺ」側を選出することになったのですが、いまむらさん、LTやりませんか。「ぺ」陣営で一緒に頂きを目指しませんか。」nsfisis「OKです!」" src="/posts/2024-12-04/cohackpp-report/lt.png">
</img>
<p>
最初は直近のカンファレンスに出して落選したプロポーザルテーマを LT に編集して話そうとしていたのですが、この機会でなければ話せない・この機会で話すことに意味があるテーマにしようとネタ出しをおこない、最終的に次のテーマでの登壇となりました。
</p>
</section>
<section id="section--lt--battle">
<h3><a href="#section--lt--battle">いざ尋常に勝負</a></h3>
<p>
当日は、「プログラミングマナー講座」と題して発表をおこないました。結婚式のマナー、特に「忌み言葉」へフォーカスし、これを無理やりプログラミングに適用するというものです。<a href="/slides/2024-11-30/cohackpp/">スライドはこちらにアップロードしています。</a>
</p>
<p>
最終的にお祝いのメッセージを仕込んだソースコードで締めるという構成は、我ながら綺麗にまとまったと思っています。忌み言葉の案は他にも大量にあったのですが、技術 LT かつ結婚祝いスピーチにするためにどうしても最後のソースコードが必要だったので、時間の関係上それらには犠牲となってもらいました (<a href="https://x.com/nsfisis/status/1862798137452327206" rel="noreferrer" target="_blank">ボツになった案のひとつ</a>)。
</p>
<p>
そもそも結婚式・披露宴でのスピーチ自体が初めてだったのでそれなりに緊張していたのですが、登壇時やその後の反応を伺う限り概ね好評だったようで良かったです。
</p>
</section>
</section>
<section id="section--congrats">
<h2><a href="#section--congrats">ご結婚おめでとうございます</a></h2>
<p>
<a href="https://github.com/nsfisis/cohackpp/blob/main/congrats.php" rel="noreferrer" target="_blank">https://github.com/nsfisis/cohackpp/blob/main/congrats.php</a>
</p>
<div class="codeblock" language="php">
<pre class="shiki github-light" style="background-color:#f5f5f5;color:#24292e" tabindex="0"><code><span class="line"><span style="color:#D73A49"><?</span><span style="color:#005CC5">php</span></span>
<span class="line"><span style="color:#24292E">$s</span><span style="color:#D73A49">=</span><span style="color:#032F62"><<<'</span><span style="color:#D73A49">Q</span><span style="color:#032F62">'</span></span>
<span class="line"><span style="color:#032F62"><?php</span></span>
<span class="line"><span style="color:#032F62">%</span></span>
<span class="line"><span style="color:#032F62">$s=<<<'Q'</span></span>
<span class="line"><span style="color:#032F62">@$c=[`];</span></span>
<span class="line"><span style="color:#032F62">$m="";for($k=0;$k<min(13,intdiv(__LINE__-119,80)+1);$k++){$C=str_replace("\n","",</span></span>
<span class="line"><span style="color:#032F62">$c[$k]);$f=!0;foreach(str_split(base64_decode($C))as$l){$L=ord($l);$m.=str_repeat</span></span>
<span class="line"><span style="color:#032F62">($f?"#":chr(32),$L&127);$f=!$f;if($L&128){$m.="\n";$f=!0;continue;}}}print(</span></span>
<span class="line"><span style="color:#032F62">str_replace([chr(96),chr(37),chr(64)],[implode("\n",array_map(fn($C)=>"'".trim(</span></span>
<span class="line"><span style="color:#032F62">chunk_split(str_replace("\n","",$C),80,"\n"))."',",$c)),"\n{$m}","{$s}\nQ;\n"],$s));</span></span>
<span class="line"><span style="color:#D73A49">Q</span><span style="color:#24292E">;</span></span>
<span class="line"><span style="color:#24292E">$c</span><span style="color:#D73A49">=</span><span style="color:#24292E">[</span><span style="color:#032F62">'0AFOgQFOgQFOgQFOgQFOgQFEAgiBAUIECIEBQwQHgQE8AQYFBoEBOgQGBAaBAToEBwQFgQE6BQYFBIEB</span></span>
<span class="line"><span style="color:#032F62">OwQHBASBATwEBgUDgQE8BQYEA4EBPQQGBAOBAT0FBgEFgQERBhsIBAQMgQERKQQFC4EBESkFAQ6BAREp</span></span>
<span class="line"><span style="color:#032F62">FIEBESkUgQERKRSBAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6B</span></span>
<span class="line"><span style="color:#032F62">AU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAQ4EPIEBDQY7gQENBjuBAQ0GO4EBDQU8gQENBTyBAQwG</span></span>
<span class="line"><span style="color:#032F62">PIEBDAY8gQEMBjyBAQwGPIEBDAY8gQEMBjyBAQwHO4EBDAc7gQENBzqBAQ0IOYEBDgg4gQEOCiUCD4EB</span></span>
<span class="line"><span style="color:#032F62">DwwdBw+BARAQDhEPgQERLg+BARItD4EBFCsPgQEXJRKBARsbGIEBToEBToEBToEBToEBToHQ'</span><span style="color:#24292E">,</span></span>
<span class="line"><span style="color:#032F62">'0AFOgQFOgQFOgQEPASMFFoEBDwMhBRaBAQ4FIAUWgQEOBSAFFoEBDQUhBRaBAQ0FIQUWgQEMBSIFFoEB</span></span>
<span class="line"><span style="color:#032F62">DAUiBRaBAQsFIwUWgQELBQgBGgUWgQEKBQkDGAUWgQEKBQgGBCoDgQEJBQkFBSoDgQEFAQMECQYFKgOB</span></span>
<span class="line"><span style="color:#032F62">AQQDAQUJBQYqA4EBBAgJBQcqA4EBAwkJBRkFFoEBBAcJBRoFFoEBBQYIBRsFFoEBBgYHBRsFFoEBBwYF</span></span>
<span class="line"><span style="color:#032F62">BRwFFoEBCAYDBR0FFoEBCQYCBR0FFoEBCgseBRaBAQsJHwUWgQEMByAFFoEBDAcFAxgFFoEBDQUFBBgF</span></span>
<span class="line"><span style="color:#032F62">FoEBDQQGBRYGFoEBDAUHBAcmBYEBCwUIBQYmBYEBCwQKBAYmBYEBCgQLBQUmBYEBCQUMBS+BAQgFDAYv</span></span>
<span class="line"><span style="color:#032F62">gQEDHC+BAQMdLoEBAx0ugQEDHi2BAQMJBAUIBC2BARAFCAQtgQEQBQgELYEBEAUJAS+BARAFESEHgQEQ</span></span>
<span class="line"><span style="color:#032F62">BREhB4EBBwEIBQYBCiEHgQEHBAUFBAQJIQeBAQcEBQUEBAkEGAUHgQEGBQUFBAUIBBgFB4EBBgUFBQUE</span></span>
<span class="line"><span style="color:#032F62">CAQYBQeBAQYFBQUFBAgEGAUHgQEGBAYFBQUHBBgFB4EBBgQGBQYEBwQYBQeBAQUFBgUGBQYEGAUHgQEF</span></span>
<span class="line"><span style="color:#032F62">BQYFBwQGBBgFB4EBBQQHBQcEBgQYBQeBAQUEBwUHBQUEGAUHgQEEBQcFBwUFBBgFB4EBBAUHBQgEBQQY</span></span>
<span class="line"><span style="color:#032F62">BQeBAQQECAUIBAUEGAUHgQEDBQgFCAEIBBgFB4EBAwUIBREEGAUHgQECBQkFEQQYBQeBAQIFCQURIQeB</span></span>
<span class="line"><span style="color:#032F62">AQQCCgURIQeBARAFESEHgQEQBREhB4EBEAURIQeBARAFEQQYBQeBARAFEQQYBQeBARAFEQQYBQeBARAF</span></span>
<span class="line"><span style="color:#032F62">EQQYBQeBAU6BAU6BAU6B0A=='</span><span style="color:#24292E">,</span></span>
<span class="line"><span style="color:#032F62">'0AFOgQFOgQFOgQEOAjEBDIEBDgUqBwqBAQ0FJwwJgQENBSETCIEBDQURAQcXDIEBDQURGxCBAQ0FERcU</span></span>
<span class="line"><span style="color:#032F62">gQENBBIOBAUUgQEMBRIGDAUUgQEMBRIFDQUUgQEMBRIFDgQUgQEMBRIFDgQUgQEMBBMFDgQUgQELBRMF</span></span>
<span class="line"><span style="color:#032F62">DgQUgQELBRMFDgUTgQELBRMFDgUTgQEDGQcFDgUTgQEDGwUoA4EBAxsFKAOBAQMbBSgDgQEDGwUoA4EB</span></span>
<span class="line"><span style="color:#032F62">CgUKBQUFDwUSgQEKBAsEBgUQBBKBAQkFCwQGBRAFEYEBCQULBAYFEAURgQEJBQoFBgUQBRGBAQkFCgUG</span></span>
<span class="line"><span style="color:#032F62">BREFEIEBCQQLBQYFEQUQgQEIBQsFBgUSBQkBBYEBCAULBQYFEgUJAwOBAQgFCwUGBQoFBAUIBAKBAQgF</span></span>
<span class="line"><span style="color:#032F62">CwQHBQQLBAYHAwOBAQgECwUHFAUGBQQDgQEHBQsFAxgFBwQEA4EBBwULBQMVCQ4DgQEHBQsFAw8QDQOB</span></span>
<span class="line"><span style="color:#032F62">AQcEDAUDCRcLBIEBBgULBQUCHwgFgQEGBQsFKAQHgQEGBQsFM4EBBgULBTOBAQYFCgUKIgiBAQUHCQUK</span></span>
<span class="line"><span style="color:#032F62">IgiBAQUICAUKIgiBAQUKBgUKIgiBAQULBAULBRgFCIEBBA0DBQsFGAUIgQEEBQIHAgULBRgFCIEBBgMD</span></span>
<span class="line"><span style="color:#032F62">DAwFGAUIgQENCwwFGAUIgQEOCgwFGAUIgQEQBw0FGAUIgQERBwwFGAUIgQERCAsiCIEBEAoKIgiBARAL</span></span>
<span class="line"><span style="color:#032F62">CSIIgQEPDQgiCIEBDwUCBwcFGAUIgQEOBgMHBgUYBQiBAQ0GBQcFBRgFCIEBDAcGBgUFGAUIgQELBwgE</span></span>
<span class="line"><span style="color:#032F62">BgUYBQiBAQoHCgMGBRgFCIEBCQcMAQcFGAUIgQEIBxUFGAUIgQEHCBUiCIEBBggWIgiBAQQJFyIIgQEF</span></span>
<span class="line"><span style="color:#032F62">BxgiCIEBBQUaBRgFCIEBBgMbBRgFCIEBJAUYBQiBAU6BAU6BAU6B0A=='</span><span style="color:#24292E">,</span></span>
<span class="line"><span style="color:#032F62">'0AFOgQFOgQFOgQFOgQFOgQFOgQFOgQEZBi+BARkGL4EBGgUvgQEaBS+BARoFL4EBGgUvgQEaBS+BARoF</span></span>
<span class="line"><span style="color:#032F62">L4EBGgUvgQEaBRkBFYEBGgUZAxOBARoFDwEIBRKBARoFCwUIBxCBARoFBgoHCg6BARoVCQkNgQEJJgsJ</span></span>
<span class="line"><span style="color:#032F62">C4EBCSYMCQqBAQohEgkIgQEKGxoIB4EBChUhCQWBARkFIwkEgQEZBSUGBYEBGQUmBAaBARkFKAIGgQEZ</span></span>
<span class="line"><span style="color:#032F62">BTCBARkFMIEBGQUwgQEZBTCBARkFMIEBGQUwgQEZBTCBARkFCRAXgQEZBQQYFIEBGSMSgQEZJBGBARkS</span></span>
<span class="line"><span style="color:#032F62">CAwPgQEXDhIJDoEBFQwYCA2BARMMGwcNgQESDB0HDIEBEA4eBgyBAQ8IAwQfBguBAQ4IBAQfBguBAQ0H</span></span>
<span class="line"><span style="color:#032F62">BgQgBQuBAQwHBwQgBQuBAQsHCAUfBQuBAQoGCgUfBQuBAQoGCgUfBQuBAQkGCwUfBQuBAQkFDAUeBguB</span></span>
<span class="line"><span style="color:#032F62">AQgGDAUeBguBAQgGDAUdBwuBAQgGDAUdBgyBAQgGDAUcBwyBAQkFDAUbBw2BAQkGCwUZCQ2BAQkHCgUY</span></span>
<span class="line"><span style="color:#032F62">CQ6BAQoIBwYVCw+BAQsIBQcSDRCBAQwSChURgQENEQoTE4EBDhAKERWBARANDA4XgQESCwwLGoEBFQYO</span></span>
<span class="line"><span style="color:#032F62">BSCBAU6BAU6BAU6BAU6BAU6BAU6B0A=='</span><span style="color:#24292E">,</span></span>
<span class="line"><span style="color:#032F62">'0AFOgQFOgQFOgQFOgQFOgQFOgQFOgQEuBhqBAS4FG4EBLgUbgQEuBRuBARICGQYbgQEPBRkGG4EBDgYZ</span></span>
<span class="line"><span style="color:#032F62">BRyBAQ8FGQUcgQEPBhgFHIEBDwYXBhyBARAFFwUdgQEQBRcFHYEBEAYNERqBAREFChcXgQERBQccFYEB</span></span>
<span class="line"><span style="color:#032F62">EQYEIBOBARIFAg4DExGBARIRBwYEChCBARIOCgUHCQ+BARMKDQUJCA6BARIJDgYKCA2BAREIEAUNBwyB</span></span>
<span class="line"><span style="color:#032F62">ARAJEAUOBgyBAQ8KDwYPBguBAQ4MDgUQBwqBAQ4MDgURBgqBAQ0GAgYMBRMFCoEBDAYEBQwFEwYJgQEM</span></span>
<span class="line"><span style="color:#032F62">BgQFCwYTBgmBAQsGBQYKBRUFCYEBCgYHBQkGFQYIgQEKBQgGCAYVBgiBAQkGCQUIBRcFCIEBCQUKBgYG</span></span>
<span class="line"><span style="color:#032F62">FwUIgQEJBQsFBgUYBQiBAQgFDAYEBhgFCIEBCAUNBQMGGQUIgQEIBQ0GAgYZBQiBAQcFDwwaBQiBAQcF</span></span>
<span class="line"><span style="color:#032F62">DwwaBQiBAQcFEAobBQiBAQcFEAoaBgiBAQcFEQgbBgiBAQcFEgYcBgiBAQcFEQgbBQmBAQcFEAoZBgmB</span></span>
<span class="line"><span style="color:#032F62">AQcFEAoZBgmBAQcFDwwXBgqBAQcFDg4VBwqBAQcGDAcCBxQGC4EBCAULBwQEFQcLgQEIBggIBgIVBwyB</span></span>
<span class="line"><span style="color:#032F62">AQgIBAkHARUHDYEBCRMcCQ2BAQoRHAkOgQELDhwKD4EBDAwbChGBAQ4HGwwSgQEsDxOBASgRFYEBKQ4X</span></span>
<span class="line"><span style="color:#032F62">gQEpDBmBASoIHIEBKwMggQFOgQFOgQFOgQFOgQFOgQFOgQFOgdA='</span><span style="color:#24292E">,</span></span>
<span class="line"><span style="color:#032F62">'0AFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQE1DwqBASkbCoEBHiYKgQETMQqBAQc9CoEBBjQU</span></span>
<span class="line"><span style="color:#032F62">gQEGIQQKGYEBBhcOBxyBAQcOFAcegQEHBhsHH4EBJwYhgQEmBiKBASUGFgEMgQEkBhUDDIEBIwYWBAuB</span></span>
<span class="line"><span style="color:#032F62">ASMGFwQKgQEiBg8DBgQKgQEhBg8EBwQJgQEhBhAEBwQIgQEgBhEFBgQIgQEgBRMEBwQHgQEfBhQEBgUG</span></span>
<span class="line"><span style="color:#032F62">gQEfBhQEBwQGgQEfBRYEBgIIgQEeBhYEEIEBHgYXBA+BAR4FGAMQgQEeBSuBAR0GK4EBHQYrgQEdBiuB</span></span>
<span class="line"><span style="color:#032F62">AR0GK4EBHQYrgQEdBiuBAR0GK4EBHQYrgQEdBiuBAR4FK4EBHgYqgQEeBiqBAR4HKYEBHwYpgQEfByiB</span></span>
<span class="line"><span style="color:#032F62">ASAHJ4EBIAcngQEhByaBASEJJIEBIgkjgQEjCiGBASQLH4EBJQwdgQEmDxmBASgTE4EBKhMRgQErEhGB</span></span>
<span class="line"><span style="color:#032F62">AS4PEYEBMAwSgQE0CBKBAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6B0A=='</span><span style="color:#24292E">,</span></span>
<span class="line"><span style="color:#032F62">'0AFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQEXATaBARQENoEBEgY2gQESBzWBARMGNYEBEwc0gQEUBjSB</span></span>
<span class="line"><span style="color:#032F62">ARQGNIEBFQYzgQEVBiABEoEBFgYeAxGBARYGHAYQgQEWBxoHEIEBFwYYCg+BARcHFQsQgQEYBhMLEoEB</span></span>
<span class="line"><span style="color:#032F62">GAYRCxSBARkGDgsWgQEZBgwLGIEBGgYJCxqBARoHBwocgQEbBgUKHoEBGwcCCiCBARwRIYEBHA8jgQEd</span></span>
<span class="line"><span style="color:#032F62">DCWBAR0KJ4EBHAoogQEbCSqBARoILIEBGQgtgQEXCC+BARYIMIEBFQgxgQEVBzKBARQHM4EBEwc0gQES</span></span>
<span class="line"><span style="color:#032F62">BzWBARIGNoEBEQY3gQERBjeBAREFOIEBEAY4gQEQBjiBARAGOIEBEAY4gQEQBjiBARAGOIEBEAY4gQEQ</span></span>
<span class="line"><span style="color:#032F62">BjiBARAHN4EBEAc3gQERBzaBAREINYEBEgkzgQETCiEDDYEBEw0WCw2BARQtDYEBFisNgQEXKg2BARon</span></span>
<span class="line"><span style="color:#032F62">DYEBHSARgQEjDxyBAU6BAU6BAU6BAU6BAU6BAU6BAU6B0A=='</span><span style="color:#24292E">,</span></span>
<span class="line"><span style="color:#032F62">'0AFOgQFOgQFOgQFOgQFOgQFOgQFOgQEXBDOBARcLLIEBFxQjgQEXIRaBARchFoEBGh4WgQEiFhaBASsN</span></span>
<span class="line"><span style="color:#032F62">FoEBNgEXgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQEkDR2BAR4WGoEBGR0YgQEVIxaBARApFYEB</span></span>
<span class="line"><span style="color:#032F62">DRcLCxSBAQ4QFAkTgQEODBoIEoEBDgkeBxKBAQ4GIgcRgQEPAiYGEYEBNwcQgQE4BhCBATgGEIEBOAYQ</span></span>
<span class="line"><span style="color:#032F62">gQE4BhCBATkFEIEBOQUQgQE5BRCBATgGEIEBOAYQgQE4BhCBATgGEIEBNwcQgQE3BhGBATcGEYEBNgcR</span></span>
<span class="line"><span style="color:#032F62">gQE1BxKBATUHEoEBNAcTgQEzCBOBATIIFIEBMQgVgQEvCRaBAS4JF4EBLAoYgQEqCxmBAScMG4EBJQ0c</span></span>
<span class="line"><span style="color:#032F62">gQEhDx6BARwTH4EBGBQigQEZESSBARoNJ4EBGgoqgQEbBS6BAU6BAU6BAU6BAU6BAU6BAU6BAU6B0A=='</span><span style="color:#24292E">,</span></span>
<span class="line"><span style="color:#032F62">'0AFOgQFOgQFOgQFOgQFOgQFDAgmBAUEECYEBQgQIgQE7AQYFB4EBOQQGBAeBATkEBwQGgQE5BQYFBYEB</span></span>
<span class="line"><span style="color:#032F62">OgQHBAWBATsEBgUEgQE7BQYEBIEBPAQGBASBATwFBgEGgQEQBhsIBAQNgQEQKQQFDIEBECkFAQ+BARAp</span></span>
<span class="line"><span style="color:#032F62">FYEBECkVgQEQKRWBAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6B</span></span>
<span class="line"><span style="color:#032F62">AU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAQ0EPYEBDAY8gQEMBjyBAQwGPIEBDAU9gQEMBT2BAQsG</span></span>
<span class="line"><span style="color:#032F62">PYEBCwY9gQELBj2BAQsGPYEBCwY9gQELBj2BAQsHPIEBCwc8gQEMBzuBAQwIOoEBDQg5gQENCiUCEIEB</span></span>
<span class="line"><span style="color:#032F62">DgwdBxCBAQ8QDhEQgQEQLhCBAREtEIEBEysQgQEWJROBARobGYEBToEBToEBToEBToEBToHQ'</span><span style="color:#24292E">,</span></span>
<span class="line"><span style="color:#032F62">'0AFOgQFOgQFOgQFOgQFCAwmBAUEECYEBQQUIgQE5AwYFB4EBOAQHBAeBASkCDgQGBQaBASYGDQUGBAaB</span></span>
<span class="line"><span style="color:#032F62">ASYGDgQHBAWBASYGDgUGBAWBAScFDwQHBASBAScGDwQGAwWBAScGDwUNgQEoBRAEDYEBKAUQAw6BASgG</span></span>
<span class="line"><span style="color:#032F62">IIEBKQUQAw2BASkFDAcNgQEpBgYMDYEBCgMdFw2BAQsVAh8NgQELNQ6BAQsxEoEBCysYgQELJh2BARkI</span></span>
<span class="line"><span style="color:#032F62">CwUdgQEsBhyBAS0FHIEBLQUcgQEuBRuBAS4FG4EBLwUagQEvBRqBATAFGYEBMAYYgQExBRiBATEGF4EB</span></span>
<span class="line"><span style="color:#032F62">MgUXgQEyBhaBATMGFYEBNAUVgQE0BhSBATUGE4EBEAIWCgMHEoEBEAYSFRGBAQ8GExURgQEPBRQUEoEB</span></span>
<span class="line"><span style="color:#032F62">DgYaDROBAQ4GIwQTgQEOBTuBAQ0GO4EBDQY7gQENBTyBAQ0FPIEBDQU8gQENBTyBAQ0FPIEBDQU8gQEN</span></span>
<span class="line"><span style="color:#032F62">BjuBAQ0GO4EBDgY6gQEOBzmBAQ4IOIEBDwg3gQEQCh4BFYEBEQwVBxWBARInFYEBEyYVgQEVJBWBARgh</span></span>
<span class="line"><span style="color:#032F62">FYEBGxoZgQFOgQFOgQFOgQFOgdA='</span><span style="color:#24292E">,</span></span>
<span class="line"><span style="color:#032F62">'0AFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQEJBz6BAQkGP4EBCQY/gQEJBigDFIEB</span></span>
<span class="line"><span style="color:#032F62">CQYlBhSBAQkGJQcTgQEJBiYHEoEBCQYnBhKBAQkGJwcRgQEJBigGEYEBCQYoBxCBAQkGKQYQgQEJBioG</span></span>
<span class="line"><span style="color:#032F62">D4EBCQYqBg+BAQkGKgcOgQEJBisGDoEBCgUrBg6BAQoFLAYNgQEKBSwGDYEBCgUtBgyBAQoFLQYMgQEK</span></span>
<span class="line"><span style="color:#032F62">BS0GDIEBCgUuBguBAQoFLgYLgQEKBS4GC4EBCgYtBguBAQoGLgYKgQEKBi4GCoEBCgYuBgqBAQoGLwYJ</span></span>
<span class="line"><span style="color:#032F62">gQELBS8GCYEBCwUvBgmBAQsFLwYJgQELBhMBGgYJgQELBhMCGgYIgQELBhMDGQYIgQEMBRMEGAYIgQEM</span></span>
<span class="line"><span style="color:#032F62">BhEGFwYIgQEMBhEGFwYIgQEMBhAGGQUIgQENBg8GGQUIgQENBg8GGQUIgQENBg4GGgILgQEOBg0GJ4EB</span></span>
<span class="line"><span style="color:#032F62">DgcLBiiBAQ4HCgcogQEPBwgHKYEBEAcGCCmBARAKAQkqgQEREiuBARIRK4EBEhAsgQETDi2BARULLoEB</span></span>
<span class="line"><span style="color:#032F62">FwcwgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgdA='</span><span style="color:#24292E">,</span></span>
<span class="line"><span style="color:#032F62">'0AFOgQFOgQFOgQFOgQFOgQFOgQFOgQElBiOBASYFI4EBJgUjgQEmBSOBASYFI4EBJgUjgQEmBSOBASYF</span></span>
<span class="line"><span style="color:#032F62">I4EBJgUQBQ6BAQ4IEAUGDw6BAQ4yDoEBDjIOgQEOMg6BAQ4rFYEBGhIigQEmBSOBASYFI4EBJgUjgQEm</span></span>
<span class="line"><span style="color:#032F62">BSOBASYFI4EBJgUjgQEmBSOBASYFI4EBJgUjgQEmBRQCDYEBDQMWBQwKDYEBDQ8JHA2BAQ4zDYEBDjMN</span></span>
<span class="line"><span style="color:#032F62">gQEOMg6BARAnF4EBJQYjgQEmBSOBASYFI4EBJgUjgQEmBSOBASYFI4EBJgUjgQEmBSOBASYFI4EBJgUj</span></span>
<span class="line"><span style="color:#032F62">gQEmBSOBAR0EBQUjgQEXFCOBARQZIYEBEh4egQERIRyBARAJDBAZgQEPBxARF4EBDgYSExWBAQ4FEwYD</span></span>
<span class="line"><span style="color:#032F62">CxSBAQ4FEwYFCxKBAQ0FFAYHChGBAQ0FFAYJCg+BAQ0FFAYKCg6BAQ0GEwYMCQ2BAQ4FEwYNCQyBAQ4G</span></span>
<span class="line"><span style="color:#032F62">EQYQBg2BAQ4HDwcRBQ2BAQ8IDAgSAw6BAQ8bFAEPgQERGCWBARIWJoEBFBIogQEXDSqBAU6BAU6BAU6B</span></span>
<span class="line"><span style="color:#032F62">AU6BAU6BAU6B0A=='</span><span style="color:#24292E">,</span></span>
<span class="line"><span style="color:#032F62">'0AFOgQFOgQFOgQFOgQFOgQFOgQEpBh+BASkGH4EBKQYfgQEqBR+BASoFH4EBKgUfgQEqBR+BASoFH4EB</span></span>
<span class="line"><span style="color:#032F62">KgUfgQEqBR+BARkuB4EBBkEHgQEHQAeBAQdAB4EBB0AHgQEHDBcFH4EBKgUfgQEqBR+BASoFH4EBKgUf</span></span>
<span class="line"><span style="color:#032F62">gQEqBR+BASoFH4EBKgUfgQEgDx+BAR4RH4EBHBMfgQEbFB+BARoIBAkfgQEZBwkGH4EBGQYLBh6BARgG</span></span>
<span class="line"><span style="color:#032F62">DQUegQEYBQ4GHYEBFwYPBR2BARcFEAUdgQEXBRAFHYEBFwUQBhyBARcFEAYcgQEXBQ8HHIEBFwUPBxyB</span></span>
<span class="line"><span style="color:#032F62">ARcGDgccgQEXBg0IHIEBGAYMBx2BARgHCggdgQEZCAYKHYEBGhcdgQEbFh2BARwVHYEBHgsBBh6BASAG</span></span>
<span class="line"><span style="color:#032F62">BAYegQEpBh+BASkGH4EBKAYggQEnByCBASYHIYEBJQcigQEkCCKBASIJI4EBIAokgQEeCyWBARwLJ4EB</span></span>
<span class="line"><span style="color:#032F62">GQ0ogQEWDiqBARcMK4EBGAktgQEZBTCBARoCMoEBToEBToEBToEBToEBToEBToHQ'</span><span style="color:#24292E">,];</span></span>
<span class="line"><span style="color:#24292E">$m</span><span style="color:#D73A49">=</span><span style="color:#032F62">""</span><span style="color:#24292E">;</span><span style="color:#D73A49">for</span><span style="color:#24292E">($k</span><span style="color:#D73A49">=</span><span style="color:#005CC5">0</span><span style="color:#24292E">;$k</span><span style="color:#D73A49"><</span><span style="color:#005CC5">min</span><span style="color:#24292E">(</span><span style="color:#005CC5">13</span><span style="color:#24292E">,</span><span style="color:#6F42C1">intdiv</span><span style="color:#24292E">(</span><span style="color:#005CC5">__LINE__</span><span style="color:#D73A49">-</span><span style="color:#005CC5">119</span><span style="color:#24292E">,</span><span style="color:#005CC5">80</span><span style="color:#24292E">)</span><span style="color:#D73A49">+</span><span style="color:#005CC5">1</span><span style="color:#24292E">);$k</span><span style="color:#D73A49">++</span><span style="color:#24292E">){$C</span><span style="color:#D73A49">=</span><span style="color:#005CC5">str_replace</span><span style="color:#24292E">(</span><span style="color:#032F62">"</span><span style="color:#005CC5">\n</span><span style="color:#032F62">"</span><span style="color:#24292E">,</span><span style="color:#032F62">""</span><span style="color:#24292E">,</span></span>
<span class="line"><span style="color:#24292E">$c[$k]);$f</span><span style="color:#D73A49">=!</span><span style="color:#005CC5">0</span><span style="color:#24292E">;</span><span style="color:#D73A49">foreach</span><span style="color:#24292E">(</span><span style="color:#005CC5">str_split</span><span style="color:#24292E">(</span><span style="color:#005CC5">base64_decode</span><span style="color:#24292E">($C))</span><span style="color:#D73A49">as</span><span style="color:#24292E">$l){$L</span><span style="color:#D73A49">=</span><span style="color:#005CC5">ord</span><span style="color:#24292E">($l);$m</span><span style="color:#D73A49">.=</span><span style="color:#005CC5">str_repeat</span></span>
<span class="line"><span style="color:#24292E">($f</span><span style="color:#D73A49">?</span><span style="color:#032F62">"#"</span><span style="color:#D73A49">:</span><span style="color:#005CC5">chr</span><span style="color:#24292E">(</span><span style="color:#005CC5">32</span><span style="color:#24292E">),$L</span><span style="color:#D73A49">&</span><span style="color:#005CC5">127</span><span style="color:#24292E">);$f</span><span style="color:#D73A49">=!</span><span style="color:#24292E">$f;</span><span style="color:#D73A49">if</span><span style="color:#24292E">($L</span><span style="color:#D73A49">&</span><span style="color:#005CC5">128</span><span style="color:#24292E">){$m</span><span style="color:#D73A49">.=</span><span style="color:#032F62">"</span><span style="color:#005CC5">\n</span><span style="color:#032F62">"</span><span style="color:#24292E">;$f</span><span style="color:#D73A49">=!</span><span style="color:#005CC5">0</span><span style="color:#24292E">;</span><span style="color:#D73A49">continue</span><span style="color:#24292E">;}}}</span><span style="color:#005CC5">print</span><span style="color:#24292E">(</span></span>
<span class="line"><span style="color:#005CC5">str_replace</span><span style="color:#24292E">([</span><span style="color:#005CC5">chr</span><span style="color:#24292E">(</span><span style="color:#005CC5">96</span><span style="color:#24292E">),</span><span style="color:#005CC5">chr</span><span style="color:#24292E">(</span><span style="color:#005CC5">37</span><span style="color:#24292E">),</span><span style="color:#005CC5">chr</span><span style="color:#24292E">(</span><span style="color:#005CC5">64</span><span style="color:#24292E">)],[</span><span style="color:#005CC5">implode</span><span style="color:#24292E">(</span><span style="color:#032F62">"</span><span style="color:#005CC5">\n</span><span style="color:#032F62">"</span><span style="color:#24292E">,</span><span style="color:#005CC5">array_map</span><span style="color:#24292E">(</span><span style="color:#D73A49">fn</span><span style="color:#24292E">($C)=></span><span style="color:#032F62">"'"</span><span style="color:#D73A49">.</span><span style="color:#005CC5">trim</span><span style="color:#24292E">(</span></span>
<span class="line"><span style="color:#005CC5">chunk_split</span><span style="color:#24292E">(</span><span style="color:#005CC5">str_replace</span><span style="color:#24292E">(</span><span style="color:#032F62">"</span><span style="color:#005CC5">\n</span><span style="color:#032F62">"</span><span style="color:#24292E">,</span><span style="color:#032F62">""</span><span style="color:#24292E">,$C),</span><span style="color:#005CC5">80</span><span style="color:#24292E">,</span><span style="color:#032F62">"</span><span style="color:#005CC5">\n</span><span style="color:#032F62">"</span><span style="color:#24292E">))</span><span style="color:#D73A49">.</span><span style="color:#032F62">"',"</span><span style="color:#24292E">,$c)),</span><span style="color:#032F62">"</span><span style="color:#005CC5">\n</span><span style="color:#032F62">{</span><span style="color:#24292E">$m</span><span style="color:#032F62">}"</span><span style="color:#24292E">,</span><span style="color:#032F62">"{</span><span style="color:#24292E">$s</span><span style="color:#032F62">}</span><span style="color:#005CC5">\n</span><span style="color:#032F62">Q;</span><span style="color:#005CC5">\n</span><span style="color:#032F62">"</span><span style="color:#24292E">],$s));</span></span></code></pre>
</div>
</section>
</div>
</article>
</main>
<footer class="footer">
© 2021 nsfisis
</footer>
</body>
</html>
|