Enviar pesquisa
Carregar
Word pressのテーマは firephpでハックすれば 良かったのか
•
2 gostaram
•
2,399 visualizações
Hisateru Tanaka
Seguir
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 47
Baixar agora
Baixar para ler offline
Recomendados
5分でわかる静的解析入門
5分でわかる静的解析入門
Kenta USAMI
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
Hisateru Tanaka
なんとかStormに負けたくないEmacs初級篇
なんとかStormに負けたくないEmacs初級篇
Kenta USAMI
PHPデプロイツールの世界
PHPデプロイツールの世界
Yuuki Takezawa
PHP x AWS でスケーラブルなシステムをつくろう
PHP x AWS でスケーラブルなシステムをつくろう
Taiji INOUE
PHPとJavaScriptの噺
PHPとJavaScriptの噺
Shogo Kawahara
はじめてLaravelさわった 第86回php勉強会
はじめてLaravelさわった 第86回php勉強会
Osamu Kawasaki
PHPで並列処理する ライブラリを作った
PHPで並列処理する ライブラリを作った
Hironobu Saitoh
Recomendados
5分でわかる静的解析入門
5分でわかる静的解析入門
Kenta USAMI
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
Hisateru Tanaka
なんとかStormに負けたくないEmacs初級篇
なんとかStormに負けたくないEmacs初級篇
Kenta USAMI
PHPデプロイツールの世界
PHPデプロイツールの世界
Yuuki Takezawa
PHP x AWS でスケーラブルなシステムをつくろう
PHP x AWS でスケーラブルなシステムをつくろう
Taiji INOUE
PHPとJavaScriptの噺
PHPとJavaScriptの噺
Shogo Kawahara
はじめてLaravelさわった 第86回php勉強会
はじめてLaravelさわった 第86回php勉強会
Osamu Kawasaki
PHPで並列処理する ライブラリを作った
PHPで並列処理する ライブラリを作った
Hironobu Saitoh
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
Junichi Ishida
第九回渋谷Java RaspberryPi+Javaを試してみる
第九回渋谷Java RaspberryPi+Javaを試してみる
chonaso
Php非同期の技法
Php非同期の技法
Shogo Kawahara
恋に落ちるデプロイツール
恋に落ちるデプロイツール
totty jp
Hacking Vox and Plagger
Hacking Vox and Plagger
Tatsuhiko Miyagawa
Goでこれどうやるの? 入門
Goでこれどうやるの? 入門
zaru sakuraba
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Tomoki Hasegawa
PHP-FPMとuWSGI——mod_php以外の選択肢を探る
PHP-FPMとuWSGI——mod_php以外の選択肢を探る
Yoshio Hanawa
Testing PHP extension on Travis CI
Testing PHP extension on Travis CI
Yoshio Hanawa
PHPカンファレンス2016 初心者セッション
PHPカンファレンス2016 初心者セッション
Hideo Kashioka
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
shinjiigarashi
Programming camp Codereading
Programming camp Codereading
Hiro Yoshioka
PHPカンファレンス2014の懇親会飛び込みLT資料
PHPカンファレンス2014の懇親会飛び込みLT資料
Junichi Ishida
Phpのレガシーコードをrubyで焼き変えてみた
Phpのレガシーコードをrubyで焼き変えてみた
Akira Kaneda
PHP から Groonga を使うにはこんなコードになるよ!
PHP から Groonga を使うにはこんなコードになるよ!
do_aki
Predefを使ったsqlのトレース
Predefを使ったsqlのトレース
悠滋 山本
魔法少女 Laravel
魔法少女 Laravel
Kenichi Mukai
PHP With Windows binary
PHP With Windows binary
Masahiko Sakamoto
Hachioji.pm #39
Hachioji.pm #39
karupanerura
phpext-2-takagi
phpext-2-takagi
Masahiro Takagi
2009年のPHPフレームワーク
2009年のPHPフレームワーク
Takuya Sato
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
Hisateru Tanaka
Mais conteúdo relacionado
Mais procurados
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
Junichi Ishida
第九回渋谷Java RaspberryPi+Javaを試してみる
第九回渋谷Java RaspberryPi+Javaを試してみる
chonaso
Php非同期の技法
Php非同期の技法
Shogo Kawahara
恋に落ちるデプロイツール
恋に落ちるデプロイツール
totty jp
Hacking Vox and Plagger
Hacking Vox and Plagger
Tatsuhiko Miyagawa
Goでこれどうやるの? 入門
Goでこれどうやるの? 入門
zaru sakuraba
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Tomoki Hasegawa
PHP-FPMとuWSGI——mod_php以外の選択肢を探る
PHP-FPMとuWSGI——mod_php以外の選択肢を探る
Yoshio Hanawa
Testing PHP extension on Travis CI
Testing PHP extension on Travis CI
Yoshio Hanawa
PHPカンファレンス2016 初心者セッション
PHPカンファレンス2016 初心者セッション
Hideo Kashioka
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
shinjiigarashi
Programming camp Codereading
Programming camp Codereading
Hiro Yoshioka
PHPカンファレンス2014の懇親会飛び込みLT資料
PHPカンファレンス2014の懇親会飛び込みLT資料
Junichi Ishida
Phpのレガシーコードをrubyで焼き変えてみた
Phpのレガシーコードをrubyで焼き変えてみた
Akira Kaneda
PHP から Groonga を使うにはこんなコードになるよ!
PHP から Groonga を使うにはこんなコードになるよ!
do_aki
Predefを使ったsqlのトレース
Predefを使ったsqlのトレース
悠滋 山本
魔法少女 Laravel
魔法少女 Laravel
Kenichi Mukai
PHP With Windows binary
PHP With Windows binary
Masahiko Sakamoto
Hachioji.pm #39
Hachioji.pm #39
karupanerura
phpext-2-takagi
phpext-2-takagi
Masahiro Takagi
Mais procurados
(20)
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
第九回渋谷Java RaspberryPi+Javaを試してみる
第九回渋谷Java RaspberryPi+Javaを試してみる
Php非同期の技法
Php非同期の技法
恋に落ちるデプロイツール
恋に落ちるデプロイツール
Hacking Vox and Plagger
Hacking Vox and Plagger
Goでこれどうやるの? 入門
Goでこれどうやるの? 入門
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
PHP-FPMとuWSGI——mod_php以外の選択肢を探る
PHP-FPMとuWSGI——mod_php以外の選択肢を探る
Testing PHP extension on Travis CI
Testing PHP extension on Travis CI
PHPカンファレンス2016 初心者セッション
PHPカンファレンス2016 初心者セッション
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
Programming camp Codereading
Programming camp Codereading
PHPカンファレンス2014の懇親会飛び込みLT資料
PHPカンファレンス2014の懇親会飛び込みLT資料
Phpのレガシーコードをrubyで焼き変えてみた
Phpのレガシーコードをrubyで焼き変えてみた
PHP から Groonga を使うにはこんなコードになるよ!
PHP から Groonga を使うにはこんなコードになるよ!
Predefを使ったsqlのトレース
Predefを使ったsqlのトレース
魔法少女 Laravel
魔法少女 Laravel
PHP With Windows binary
PHP With Windows binary
Hachioji.pm #39
Hachioji.pm #39
phpext-2-takagi
phpext-2-takagi
Semelhante a Word pressのテーマは firephpでハックすれば 良かったのか
2009年のPHPフレームワーク
2009年のPHPフレームワーク
Takuya Sato
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
Hisateru Tanaka
PHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考える
Takuya Sato
PHP AV BINDING
PHP AV BINDING
Yo Ya
Phjosh(仮)プロジェクト
Phjosh(仮)プロジェクト
Moriyoshi Koizumi
今日から始めるLaravel
今日から始めるLaravel
Masaru Matsuo
筋トレ大事
筋トレ大事
Eiji Yokota
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)
Tokuhiro Matsuno
Introduction to Favmemo for Immature Engineers
Introduction to Favmemo for Immature Engineers
Takeshi Arabiki
Phpunit at excite
Phpunit at excite
yuki777
退職PDFメーカーの作り方
退職PDFメーカーの作り方
Yo Ya
FuelPHPにアプリと管理ツールを同居してみる
FuelPHPにアプリと管理ツールを同居してみる
Makoto Shimoda
NanoA
NanoA
Kazuho Oku
RealtimeTweakPickerMode
RealtimeTweakPickerMode
Yoh Akiyama
Pinoco phptal-phpcon-kansai
Pinoco phptal-phpcon-kansai
Hisateru Tanaka
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
Yoshio Hanawa
2009 PHP初心者
2009 PHP初心者
Hideo Kashioka
Hashicorpツールズ
Hashicorpツールズ
Uchio Kondo
デザイナーのためのPHP講座 for WordPress (初級)
デザイナーのためのPHP講座 for WordPress (初級)
佑 小田垣佑
20110910 闇鍋的php魔改造
20110910 闇鍋的php魔改造
do_aki
Semelhante a Word pressのテーマは firephpでハックすれば 良かったのか
(20)
2009年のPHPフレームワーク
2009年のPHPフレームワーク
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考える
PHP AV BINDING
PHP AV BINDING
Phjosh(仮)プロジェクト
Phjosh(仮)プロジェクト
今日から始めるLaravel
今日から始めるLaravel
筋トレ大事
筋トレ大事
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)
Introduction to Favmemo for Immature Engineers
Introduction to Favmemo for Immature Engineers
Phpunit at excite
Phpunit at excite
退職PDFメーカーの作り方
退職PDFメーカーの作り方
FuelPHPにアプリと管理ツールを同居してみる
FuelPHPにアプリと管理ツールを同居してみる
NanoA
NanoA
RealtimeTweakPickerMode
RealtimeTweakPickerMode
Pinoco phptal-phpcon-kansai
Pinoco phptal-phpcon-kansai
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
2009 PHP初心者
2009 PHP初心者
Hashicorpツールズ
Hashicorpツールズ
デザイナーのためのPHP講座 for WordPress (初級)
デザイナーのためのPHP講座 for WordPress (初級)
20110910 闇鍋的php魔改造
20110910 闇鍋的php魔改造
Mais de Hisateru Tanaka
HTMLに学ぶ夫婦円満のコツ
HTMLに学ぶ夫婦円満のコツ
Hisateru Tanaka
とある事業の脱レガシー
とある事業の脱レガシー
Hisateru Tanaka
Yii Framework 2.0 いま求められるRAD標準とは #phpkansai
Yii Framework 2.0 いま求められるRAD標準とは #phpkansai
Hisateru Tanaka
ダイクストラの構造化 プログラミングに学ぶ 結婚生活
ダイクストラの構造化 プログラミングに学ぶ 結婚生活
Hisateru Tanaka
PHPカンファレンス関西2014 Yii Framework 2.0 遅れてきた5番目のフレームワーク
PHPカンファレンス関西2014 Yii Framework 2.0 遅れてきた5番目のフレームワーク
Hisateru Tanaka
Grunt front-osaka-1-lt-tanaka
Grunt front-osaka-1-lt-tanaka
Hisateru Tanaka
Phpstormちょっといい話
Phpstormちょっといい話
Hisateru Tanaka
#phpmatsuri LT大会システムの中身
#phpmatsuri LT大会システムの中身
Hisateru Tanaka
&& || and or まぜるな危険
&& || and or まぜるな危険
Hisateru Tanaka
Phpcon kansani-2013-pinoco
Phpcon kansani-2013-pinoco
Hisateru Tanaka
はじめてのGit #gitkyoto
はじめてのGit #gitkyoto
Hisateru Tanaka
いまどきのYiiフレームワーク
いまどきのYiiフレームワーク
Hisateru Tanaka
Kphpug beginners-2
Kphpug beginners-2
Hisateru Tanaka
関西PHP勉強会 php5.4つまみぐい
関西PHP勉強会 php5.4つまみぐい
Hisateru Tanaka
関西Php勉強会のlimeの話
関西Php勉強会のlimeの話
Hisateru Tanaka
Yiiフレームワークを使ってみた
Yiiフレームワークを使ってみた
Hisateru Tanaka
Mais de Hisateru Tanaka
(16)
HTMLに学ぶ夫婦円満のコツ
HTMLに学ぶ夫婦円満のコツ
とある事業の脱レガシー
とある事業の脱レガシー
Yii Framework 2.0 いま求められるRAD標準とは #phpkansai
Yii Framework 2.0 いま求められるRAD標準とは #phpkansai
ダイクストラの構造化 プログラミングに学ぶ 結婚生活
ダイクストラの構造化 プログラミングに学ぶ 結婚生活
PHPカンファレンス関西2014 Yii Framework 2.0 遅れてきた5番目のフレームワーク
PHPカンファレンス関西2014 Yii Framework 2.0 遅れてきた5番目のフレームワーク
Grunt front-osaka-1-lt-tanaka
Grunt front-osaka-1-lt-tanaka
Phpstormちょっといい話
Phpstormちょっといい話
#phpmatsuri LT大会システムの中身
#phpmatsuri LT大会システムの中身
&& || and or まぜるな危険
&& || and or まぜるな危険
Phpcon kansani-2013-pinoco
Phpcon kansani-2013-pinoco
はじめてのGit #gitkyoto
はじめてのGit #gitkyoto
いまどきのYiiフレームワーク
いまどきのYiiフレームワーク
Kphpug beginners-2
Kphpug beginners-2
関西PHP勉強会 php5.4つまみぐい
関西PHP勉強会 php5.4つまみぐい
関西Php勉強会のlimeの話
関西Php勉強会のlimeの話
Yiiフレームワークを使ってみた
Yiiフレームワークを使ってみた
Último
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
Último
(9)
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
Word pressのテーマは firephpでハックすれば 良かったのか
1.
WordPressのテーマは FirePHPでハックすれば
良かったのか @tanakahisateru
2.
自己紹介
タナカヒサテル @tanakahisateru PHPのフレームワークを開発しています Pinoco https://github.com/tanakahisateru/pinoco
3.
WordPress 初心者です
4.
「テーマのカスタマイズなんて、 基本HTMLとCSSじゃねーの?」
5.
え!?
6.
ちょ! まじか
7.
<?php のほうが多かった...
8.
しかもDOM構造がズタ切り
9.
→ インクルード・スパゲッティ地獄orz
10.
ロジックとレイアウトが混在
APIがぜんぶグローバル関数だと!? (オブジェクト指向知ってる人は逆に難しい)
11.
あんまり言うとそろそろ怒られそうだな... まじで
WordPress 初心者です
12.
echo / var_dump
で調査に挑んだ <?php var_dump(get_the_category()); ?>
13.
これが
14.
こうなる
15.
いけるか!?
16.
けど書く場所によっては
本文ブロックとヘッダの狭間で
17.
ひどいや、IE6にだって こんな仕打ちされたことないのに
18.
もっとひどい場合
?
19.
拡大 僕はただ head.php でタイトルを変えたかっただけなんだ
20.
俺はもう普通のWeb制作に 付いていけないのか、 このまま負けるのか...
21.
お稲荷さまお助け下さい
僕と契約して プログラマーに なってよ!
22.
JSerに大人気 Firebug
虫きもいいうな
23.
Firebug 拡張 FirePHP
24.
インストール Firefox::Addons でさくっと PEAR $ pear
channel-discover pear.firephp.org $ pear install firephp/FirePHPCore
25.
PEAR
ぺぺぺぺぁ〜? (おっと、ここはPHP初心者勉強会だった)
26.
これでもいいよ
27.
FirePHPCoreをWPの中にコピー
28.
wp-config.php を編集
ユーザ設定ファ イルだからアッ プデートのとき 上書きされる心 配ないよね、な いよね。
29.
wp-config.php の最初で /** * FirePHP
setup */ require_once("FirePHPCore/FirePHP.class.php"); require_once("FirePHPCore/fb.php"); ob_start(); // バグったときのおまじない
30.
さっきのvar_dumpを var_dump(get_the_category());
↓ FB::log(get_the_category()); これだけ。ほんとこれだけ。
31.
まるで JS の
console.log みたいに
32.
33.
もっとすごいこと
ここクリック
34.
見える! 見えるぞ!
35.
さらにすごい機能 FB::trace('content-single');
適当な目印になる名前
36.
ス
タ ッ ク ト レ ー ス 関数呼び出し履歴どーん
37.
これでぜんぶわかる! 俺も WordPress と戦えそうだ
38.
カタカタカタカタ......
39.
「あ、途中でいいから公開してよ」 「え! いまデバッグ用のFB::log いっぱい入れてるとこなのに...」
40.
主電源を切ろう /** * FirePHP setup */ require_once("FirePHPCore/FirePHP.class.php"); require_once("FirePHPCore/fb.php"); ob_start();
// バグったときのおまじない FB::setEnabled(false); 電源
41.
FB::logそのまま放置しててもOK
え、なんもしてませんよ、まっさらですよ
42.
「プラグインでどうにか
できませんか」 WPユーザ Aさん 言うよね、みんなそう言うんだよね。
43.
プラグインだと...(1) これはエンジンの情報全部出ちゃうんだね。
44.
プラグインだと...(2) これはプラグイン単品で同じようなことができる。 ただし、 ●
プラグインをロードする処理より前をデバッグできない。 ● マスタースイッチを切る箇所がない。 ● アンインストールするとFB::log が全部エラーになる。
45.
「プラグインでどうにか
できませんか」 WPユーザ Aさん ● require_once って2行書くだけ。 ● プラグイン入れていろいろハマる。 どっちがいい?
46.
結論 コードを書いたほうが幸せになるよ。
プログラム言語のほうが 難しいなんて迷信は今日から捨てよう。 ありがとうございました。
47.
おまけ
Fox Bug Apple PEAR PHP 偶然見つけたフリーのイラストが完璧すぎて怖い。
Baixar agora