{"title":"All Products","description":null,"products":[{"product_id":"25502tn","title":"Bauen 40mm Black Case","description":"\u003cp\u003eA 40mm matte black stainless steel case featuring a black dial with white index. Swiss designed Rhonda movement with a genuine leather tan strap. This 50m water resistant watch is the perfect time piece for everyday wear.\u003c\/p\u003e","brand":"BAUEN","offers":[{"title":"Default Title","offer_id":12227972759629,"sku":"25502TN","price":229.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/5cc9cb25bfd2b09c6058ef36e000e368e31d8fcf.jpg?v=1523484177"},{"product_id":"casiodigitalwatcha168wa-1w","title":"Casio Vintage Digital Watch - Steel \u0026 Black","description":"\u003cul\u003e\n\u003cli\u003eCase \/ bezel material: Resin \/ Chrome plated\u003c\/li\u003e\n\u003cli\u003eAdjustable Clasp\u003c\/li\u003e\n\u003cli\u003eStainless Steel Band\u003c\/li\u003e\n\u003cli\u003eResin Glass\u003c\/li\u003e\n\u003cli\u003eWater Resistant\u003c\/li\u003e\n\u003cli\u003eElectro-luminescent backlight\u003c\/li\u003e\n\u003cli\u003e1\/100-second stopwatch\u003cbr\u003eMeasuring capacity: 59'59.99\"\u003cbr\u003eMeasuring modes: Elapsed time, split time, 1st-2nd place times\u003c\/li\u003e\n\u003cli\u003eDaily alarm\u003c\/li\u003e\n\u003cli\u003eHourly time signal\u003c\/li\u003e\n\u003cli\u003eAuto-calendar (28 days for February)\u003c\/li\u003e\n\u003cli\u003e12\/24-hour format\u003c\/li\u003e\n\u003cli\u003eRegular timekeeping:\u003c\/li\u003e\n\u003cli\u003eDigital: Hour, minute, second, pm, date, day\u003c\/li\u003e\n\u003cli\u003eAccuracy: ±30 seconds per month\u003c\/li\u003e\n\u003cli\u003eApprox. battery life: 7 years on CR2016\u003c\/li\u003e\n\u003cli\u003eSize of case : 38.6×36.3×9.6mm\u003c\/li\u003e\n\u003cli\u003eTotal weight : 50g\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eProduct Code: A168WA-1WDF\u003c\/p\u003e","brand":"Casio","offers":[{"title":"Default Title","offer_id":12227977707597,"sku":"A168WA-1W","price":99.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/files\/A168WA-1WDF.jpg?v=1733180887"},{"product_id":"02dcd191-aeb6-11e8-ed44-15ca7868cf61","title":"Olympic Classic 200m Dive Watch - Black","description":"\u003cp\u003eGents stainless steel case\u003cbr\u003eRonda Swiss designed movement\u003cbr\u003eStainless steel screw crown\u003cbr\u003eOne way rotating bezel\u003cbr\u003eP.U. silicon strap\u003cbr\u003eDay and date\u003cbr\u003eLuminous dial \u0026amp; hands\u003cbr\u003eScrew on case back\u003cbr\u003e200 metres water resistant\u003c\/p\u003e","brand":"Olympic Watch","offers":[{"title":"Default Title","offer_id":12227994419277,"sku":"2741","price":279.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/8ebaeb6ebcc46248d2e60a580ad2b3e541d0cc5f.jpg?v=1523484283"},{"product_id":"02dcd191-aeb6-11e8-ed44-15ca78b9ceb7","title":"Gents Olympic Watch","description":"\u003cp\u003ePVD plated on stainless steel case and bracelet\u003cbr\u003e Ronda Swiss designed movement\u003cbr\u003e Stainless steel triple o-ring crown\u003cbr\u003e Date\u003c\/p\u003e","brand":"Olympic Watch","offers":[{"title":"Default Title","offer_id":12227996385357,"sku":"23393","price":299.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/aa6b938b22d4a53399f2f95ec1abfac0e5895929.jpg?v=1523484293"},{"product_id":"02dcd191-aeb6-11e8-ed44-15ca7902fdd3","title":"Gents Olympic Watch","description":"\u003cp\u003eStainless steel case and silicon strap\u003cbr\u003e Ronda Swiss designed movement\u003cbr\u003e Luminous dial \u0026amp; hands\u003cbr\u003e Screw on case back\u003cbr\u003e 100 metres water resistant\u003c\/p\u003e","brand":"Olympic Watch","offers":[{"title":"Default Title","offer_id":12227997171789,"sku":"25539","price":249.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/3df3937c4a78a3e2edc838af929a663ea254a183.jpg?v=1523484298"},{"product_id":"gentsolympicworkwatchblackfullfig","title":"Gents Olympic Work Watch Black Full Fig","description":"\u003cp\u003eGents stainless steel case \u0026amp; bracelet\u003cbr\u003eRonda Swiss made movement\u003cbr\u003eStainless steel triple o-ring crown\u003cbr\u003eDay and date\u003cbr\u003eLuminous dial \u0026amp; hands\u003cbr\u003eSafety locking clasp\u003cbr\u003eExtra thick glass\u003cbr\u003eGlass and crown protection\u003cbr\u003e100 metres water resistant\u003c\/p\u003e","brand":"Olympic Watch","offers":[{"title":"Default Title","offer_id":12228048060493,"sku":"28566s","price":259.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/15b0e65edf936e016be15116d9c18c734fa6395b.jpg?v=1523486951"},{"product_id":"02dcd191-aeb6-11e8-ed44-15ca8247625f","title":"Gents Olympic Work Watch White Index","description":"\u003cp\u003eGents stainless steel case \u0026amp; bracelet\u003cbr\u003eRonda Swiss made movement\u003cbr\u003eStainless steel triple o-ring crown\u003cbr\u003eDay and date\u003cbr\u003eLuminous dial \u0026amp; hands\u003cbr\u003eSafety locking clasp\u003cbr\u003eExtra thick glass\u003cbr\u003eGlass and crown protection\u003cbr\u003e100 metres water resistant\u003c\/p\u003e","brand":"Olympic Watch","offers":[{"title":"Default Title","offer_id":12228048224333,"sku":"28065S","price":259.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/ccd1dd9565660e08e595bdc7d680f10e13f1484d.jpg?v=1523486980"},{"product_id":"gentsolympicworkwatchblackindex","title":"Gents Olympic Work Watch Black Index","description":"\u003cp\u003eGents stainless steel case \u0026amp; bracelet\u003cbr\u003eRonda Swiss made movement\u003cbr\u003eStainless steel triple o-ring crown\u003cbr\u003eDay and date\u003cbr\u003eLuminous dial \u0026amp; hands\u003cbr\u003eSafety locking clasp\u003cbr\u003eExtra thick glass\u003cbr\u003eGlass and crown protection\u003cbr\u003e100 metres water resistant\u003c\/p\u003e","brand":"Olympic Watch","offers":[{"title":"Default Title","offer_id":12228048257101,"sku":"28565s","price":259.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/28565.jpg?v=1523570213"},{"product_id":"gentsolympicworkwatch28066s","title":"Gents Olympic Work Watch White Full Fig","description":"\u003cp\u003eGents stainless steel case \u0026amp; bracelet\u003cbr\u003eRonda Swiss made movement\u003cbr\u003eStainless steel triple o-ring crown\u003cbr\u003eDay and date\u003cbr\u003eLuminous dial \u0026amp; hands\u003cbr\u003eSafety locking clasp\u003cbr\u003eExtra thick glass\u003cbr\u003eGlass and crown protection\u003cbr\u003e100 metres water resistant\u003c\/p\u003e","brand":"Olympic Watch","offers":[{"title":"Default Title","offer_id":12228048977997,"sku":"28066s","price":259.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/2279df0311eb6b2549bd30f1fde085f3ccea8bd1.jpg?v=1523487051"},{"product_id":"chromenautictideclock160mm","title":"Chrome Nautic Tide Clock 160mm","description":"","brand":"Fischer","offers":[{"title":"Default Title","offer_id":12246818259021,"sku":"1605GU-47","price":500.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/5ea7641f26746244371ef598e0383a0e7726dbee.png?v=1524179398"},{"product_id":"casiomensdigitalvintagerange","title":"Casio Digital Vintage Watch A168WG - Gold","description":"\u003cp class=\"PDq2pG_selectionAnchorContainer\"\u003eAn absolute classic—and our best-selling Casio digital watch.\u003cspan class=\"PDq2pG_selectionAnchor\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003eThe A168WG brings unmistakable retro style with its gold-tone case, matching stainless steel band and iconic digital display. It’s lightweight, easy to wear and packed with the practical features Casio is known for, including an LED light, stopwatch, daily alarm and automatic calendar.\u003c\/p\u003e\n\u003cp\u003eThe adjustable clasp makes it simple to get a comfortable fit, while the gold finish works just as well with everyday outfits as it does when you want to dress things up.\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eCase \/ bezel material: Resin \/ Gold tone\u003c\/li\u003e\n\u003cli\u003eAdjustable Clasp\u003c\/li\u003e\n\u003cli\u003eStainless Steel Band\u003c\/li\u003e\n\u003cli\u003eResin Glass\u003c\/li\u003e\n\u003cli\u003eWater Resistant\u003c\/li\u003e\n\u003cli\u003eLED light\u003c\/li\u003e\n\u003cli\u003e1\/100-second stopwatch\u003cbr\u003eMeasuring capacity: 59'59.99\"\u003cbr\u003eMeasuring modes: Elapsed time, split time, 1st-2nd place times\u003c\/li\u003e\n\u003cli\u003eDaily alarm\u003c\/li\u003e\n\u003cli\u003eHourly time signal\u003c\/li\u003e\n\u003cli\u003eAuto-calendar (28 days for February)\u003c\/li\u003e\n\u003cli\u003e12\/24-hour format\u003c\/li\u003e\n\u003cli\u003eRegular timekeeping:\u003c\/li\u003e\n\u003cli\u003eDigital: Hour, minute, second, pm, date, day\u003c\/li\u003e\n\u003cli\u003eAccuracy: ±30 seconds per month\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Casio","offers":[{"title":"Default Title","offer_id":21225958080589,"sku":"A168WG-9WDF","price":149.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/files\/A168WG.jpg?v=1788939074"},{"product_id":"ladiescitizenwatcheq9062-58e","title":"Ladies Citizen Watch EQ9062-58E","description":"\u003cp\u003e\u003cspan\u003eWhen it comes to this Quartz powered watch from the Ladies Dress Collection, sophistication lies in simplicity and reliability. Delivering a sharp look and the durability required for everyday wear, it is crafted from mineral glass with gold-tone stainless steel case and bracelet, stylishly paired with a gorgeous black dial for a look that suits any wardrobe. Equipped with 3 year battery life, WR50\/5bar and handy push button buckle, it is a timepiece you can depend on. Caliber number 1045.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eCase Material - Stainless Steel\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eDial - Black\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eCase Size - 34mm\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eWater Resistancy - 50m\u003c\/span\u003e\u003c\/p\u003e","brand":"Citizen","offers":[{"title":"Default Title","offer_id":30438606241869,"sku":"EQ9062-58E","price":250.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/aa06e62872ecc29da673065ae4ed8a5e04d7db25.png?v=1570572878"},{"product_id":"blackandchromefischerbarometerset","title":"Black and Chrome Fischer Barometer set","description":"\u003cp\u003eQuality Barometer set made in Germany\u003c\/p\u003e\n\u003cp\u003eHighly accurate\u003c\/p\u003e\n\u003cp\u003e 480mm x 150mm\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e","brand":"Fischer","offers":[{"title":"Default Title","offer_id":30678566109261,"sku":"1538-06","price":725.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/ecde5c0ec31fc98b5a1413ce9eea05515eb6aa1b.png?v=1570760927"},{"product_id":"casioretrosilverandblackdigitalwatch","title":"Casio vintage Silver and Black Digital Watch","description":"\u003cp\u003eWater Resistant\u003c\/p\u003e\n\u003cp\u003eAlarm\u003c\/p\u003e\n\u003cp\u003eLight\u003c\/p\u003e\n\u003cp\u003e12\/24 hour\u003c\/p\u003e","brand":"Casio","offers":[{"title":"Default Title","offer_id":31667431604301,"sku":"F-91WM-7A","price":59.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/67cf70c5af9b3c484294218b2b859376274ffc16.png?v=1576879688"},{"product_id":"ladiescitizenecodrivewatchew2509-83l","title":"Ladies Citizen Eco Drive Watch EW2509-83L","description":"","brand":"Citizen","offers":[{"title":"Default Title","offer_id":31930033373261,"sku":"EW2509-83L","price":550.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/2aa09de8bbba8a2fd410bd1ec9b5413971a1bb8b.png?v=1581039777"},{"product_id":"ladiescitizenecodrivewatcheg2976-57w","title":"Ladies Citizen Eco Drive Watch EG2976-57W","description":"","brand":"Citizen","offers":[{"title":"Default Title","offer_id":31930037731405,"sku":"EG2976-57W","price":550.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/bec02ba8ef84f8b9925af6bf3b5d88e9132ed0f5.png?v=1581039886"},{"product_id":"fireenginemoneybox","title":"Fire Engine Money Box","description":"","brand":"Unbranded","offers":[{"title":"Default Title","offer_id":31953175314509,"sku":"MT8623","price":69.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/05795f1c99dc721c5323194c60f1b2a5f16fda56.jpg?v=1581462574"},{"product_id":"helicoptermoneybox","title":"Helicopter Money Box","description":"","brand":"Unbranded","offers":[{"title":"Default Title","offer_id":31953182687309,"sku":"MT8613","price":69.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/4926bd44a2a01c41dc65b49d098ee8aa80f2866f.jpg?v=1581462705"},{"product_id":"planemoneybox","title":"Plane Money Box","description":"","brand":"Unbranded","offers":[{"title":"Default Title","offer_id":31953182883917,"sku":"MT8611","price":69.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/bb026218d53fae50f076d08e988d10805d4a19b7.jpg?v=1581462709"},{"product_id":"vwcarmoneybox","title":"VW Car Money Box","description":"","brand":"Unbranded","offers":[{"title":"Default Title","offer_id":31953182982221,"sku":"MT6298","price":59.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/984ba8f514a867089e34462984cbb29a3209ae79.jpg?v=1581462710"},{"product_id":"ladiesstainlesssteelcitizenecodrivewatch","title":"Ladies Stainless Steel Citizen Eco Drive  Watch","description":"\u003cp\u003eWater Resistant 50m\u003c\/p\u003e\n\u003cp\u003eEco Drive\u003c\/p\u003e\n\u003cp\u003eStainless Steel case and band\u003c\/p\u003e","brand":"Citizen","offers":[{"title":"Default Title","offer_id":32113934794829,"sku":"EW2540-83A","price":399.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/b208f16189ebd0537c50b25c628850a6ca5a1209.png?v=1583874763"},{"product_id":"ladiesrosegoldcitizenwatchwithbluecrowndetail","title":"Ladies Rose Gold Citizen Watch with blue crown detail","description":"","brand":"Citizen","offers":[{"title":"Default Title","offer_id":32550787219533,"sku":"EW2543-85D","price":499.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/2dc1169799cefa0876670a4f93dde214c1c72bc6.jpg?v=1590372063"},{"product_id":"casiostainlesssteeldigitalwatcha158","title":"Casio Vintage  Digital Watch - Steel","description":"\u003cdiv\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e\n\u003ch5\u003eSPECIFICATIONS\u003c\/h5\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cul\u003e\n\u003cli\u003eCase \/ bezel material: Resin \/ Chrome plated\u003c\/li\u003e\n\u003cli\u003eAdjustable Clasp\u003c\/li\u003e\n\u003cli\u003eStainless Steel Band\u003c\/li\u003e\n\u003cli\u003eResin Glass\u003c\/li\u003e\n\u003cli\u003eWater Resistant\u003c\/li\u003e\n\u003cli\u003eLED light\u003c\/li\u003e\n\u003cli\u003e1\/100-second stopwatch\u003cbr\u003eMeasuring capacity: 59'59.99\"\u003cbr\u003eMeasuring modes: Elapsed time, split time, 1st-2nd place times\u003c\/li\u003e\n\u003cli\u003eDaily alarm\u003c\/li\u003e\n\u003cli\u003eHourly time signal\u003c\/li\u003e\n\u003cli\u003eAuto-calendar (set at 28 days for February)\u003c\/li\u003e\n\u003cli\u003e12\/24-hour format\u003c\/li\u003e\n\u003cli\u003eRegular time keeping: Hour, minute, second, pm, date, day\u003c\/li\u003e\n\u003cli\u003eAccuracy: ±30 seconds per month\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e","brand":"Casio","offers":[{"title":"Default Title","offer_id":32551034585165,"sku":"A158WA-1","price":89.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/a43db77c86f4aa590bd60106599b404a6c0d9325.png?v=1590374685"},{"product_id":"casiorgdigitalwatcha159wgea","title":"Casio Vintage Digital Watch Gold \u0026 Black","description":"\u003cp\u003eCrafted with a sleek gold-tone stainless steel case and matching adjustable bracelet, this watch exudes elegance and durability. The square digital dial with an LED backlight offers clear visibility, whether you're checking the time during the day or night.\u003c\/p\u003e\n\u003cp\u003eAs part of Casio's renowned Vintage collection, this watch pays homage to the brand's legacy of quality craftsmanship and innovation. It seamlessly blends retro aesthetics with modern functionality, appealing to those who appreciate timeless style with a contemporary twist.\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eCase \/ bezel material: Resin \/ Gold tone\u003c\/li\u003e\n\u003cli\u003eAdjustable Clasp\u003c\/li\u003e\n\u003cli\u003eStainless Steel Band\u003c\/li\u003e\n\u003cli\u003eResin Glass\u003c\/li\u003e\n\u003cli\u003eWater Resistant\u003c\/li\u003e\n\u003cli\u003eLED light\u003c\/li\u003e\n\u003cli\u003e1\/100-second stopwatch\u003cbr\u003eMeasuring capacity: 59'59.99\"\u003cbr\u003eMeasuring modes: Elapsed time, split time, 1st-2nd place times\u003c\/li\u003e\n\u003cli\u003eDaily alarm\u003c\/li\u003e\n\u003cli\u003eHourly time signal\u003c\/li\u003e\n\u003cli\u003eAuto-calendar (28 days for February)\u003c\/li\u003e\n\u003cli\u003e12\/24-hour format\u003c\/li\u003e\n\u003cli\u003eRegular timekeeping:\u003c\/li\u003e\n\u003cli\u003eDigital: Hour, minute, second, pm, date, day\u003c\/li\u003e\n\u003cli\u003eAccuracy: ±30 seconds per month\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eProduct Code: A159WGEA-1DF\u003c\/p\u003e","brand":"Casio","offers":[{"title":"Default Title","offer_id":32551040614477,"sku":"A159WGEA-1D","price":149.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/files\/A159WGEA-1DF.jpg?v=1733178035"},{"product_id":"fitbit-inspire-silicone-burgundy","title":"Fitbit Inspire Silicone - Burgundy","description":"\u003cp\u003e\u003cstrong\u003eClassic silicone Fitbit inspire strap compatible with the Fitbit Inspire and Inspire HR. \u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e- Sweat \u0026amp; water resistant.\u003c\/p\u003e\n\u003cp\u003e- Quick and easy to remove and install.\u003c\/p\u003e\n\u003cp\u003e- Soft silicone for extra comfort. \u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cspan style=\"text-decoration: underline;\"\u003eSizing\u003c\/span\u003e\u003c\/strong\u003e (Wrist circumference) \u003c\/p\u003e\n\u003cp\u003eSmall: 14cm - 19cm\u003c\/p\u003e\n\u003cp\u003eLarge: 19cm - 22cm\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e","brand":"swifty watch straps","offers":[{"title":"Small","offer_id":32551293747277,"sku":"FBINBG-S","price":19.99,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/Burgundy.jpg?v=1590377067"},{"product_id":"pewterhorsecarouselmoneybox","title":"Pewter Horse Carousel money Box","description":"\u003cp\u003e8cm Wide\u003c\/p\u003e\n\u003cp\u003e9cm High\u003c\/p\u003e","brand":"Olympic Swiss","offers":[{"title":"Default Title","offer_id":32941509345357,"sku":"MT6296","price":69.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/33e900c42970e487b13dd30bbcc5869f7a53dd93.png?v=1597633654"},{"product_id":"babybirthdatamoneybox","title":"Baby Birth Data Money Box","description":"","brand":"Unbranded","offers":[{"title":"Default Title","offer_id":32988666232909,"sku":"MT8844","price":69.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/c8b0c62a0376bd9917468ecb6ca637e405ff297f.png?v=1598827023"},{"product_id":"pewterprincessbearmoneybox","title":"Pewter Princess Bear Money Box","description":"","brand":"Unbranded","offers":[{"title":"Default Title","offer_id":32988684353613,"sku":"MT15A2","price":69.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/d576a8106c8cb8d41c68cd1a7885f0208d54dce0.png?v=1598828120"},{"product_id":"pl6043","title":"Smiths Sectric Chrome Retro Wall Clock","description":"\u003cp\u003e38cm Diameter x 10cm Deep\u003c\/p\u003e\n\u003cp\u003eChrome Case\u003c\/p\u003e\n\u003cp\u003e1 x AA Battery Movement\u003c\/p\u003e\n\u003cp\u003eVintage Style with modern movement\u003c\/p\u003e","brand":"Smiths","offers":[{"title":"Default Title","offer_id":32996501946445,"sku":"PL6043","price":299.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/files\/Smiths_2.jpg?v=1774496189"},{"product_id":"gentsraymondweilparsifalwatch","title":"Raymond Weil Gents Parsifal","description":"\u003cp\u003e\u003cspan\u003eNearly three decades after its inception, RAYMOND WEIL’s iconic \u003c\/span\u003e\u003cem\u003eparsifal\u003c\/em\u003e\u003cspan\u003e collection returns in 2018, this time with a Swiss quartz movement in 30mm and 41mm case variations. First launched in the early 90’s, this heritage range for him and her has been reimagined by the luxury Swiss watchmakers, adding a modern twist. Inspired by Richard Wagner’s last opera, Parsifal, this revisited collection of men’s and ladies’ timepieces are the perfect accumulation of horology, classic aesthetics and accessible luxury. \u003c\/span\u003e\u003cem\u003eparsifal\u003c\/em\u003e\u003cspan\u003e once again shows RAYMOND WEIL’s deep attachment to its roots, and desire to preserve tradition as a source of inspiration – while, at the same time, refining the key design elements such as the curved outlines and sophisticated cross link bracelet which have forged the powerful identity of this symbolic collection.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003eStainless Steel 41mm Case\u003c\/p\u003e\n\u003cp\u003eStainless Steel Bracelet\u003c\/p\u003e\n\u003cp\u003eWhite Dial with Roman Numerals\u003c\/p\u003e\n\u003cp\u003eBlue stone detail on crown\u003c\/p\u003e\n\u003cp\u003eModel: 5580-ST-00300\u003c\/p\u003e","brand":"Raymond Weil","offers":[{"title":"Default Title","offer_id":33004485705805,"sku":"5580-ST-00300","price":2070.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/RW_parsifal_5580-st-00300_pkt_white_rvb_72dpi_forWeb.jpg?v=1599700541"},{"product_id":"freelancer-calibre-rw1212-mens-automatic-green-watch-42mm","title":"Raymond Weil Gents Freelancer RW1212 Automatic","description":"\u003cp\u003eThis new timepiece completes the\u003cspan\u003e \u003c\/span\u003e\u003cem\u003efreelancer\u003c\/em\u003e\u003cspan\u003e \u003c\/span\u003eCalibre RW1212 range for RAYMOND WEIL, the flagship collection for him from the luxury Swiss watchmaking Maison.\u003c\/p\u003e\n\u003cp\u003eThe green\u003cspan\u003e \u003c\/span\u003e\u003cem\u003efreelancer\u003c\/em\u003e\u003cspan\u003e \u003c\/span\u003eis complimented by matching deep green strap and completed with a RAYMOND WEIL’s stainless steel folding clasp with double push-security system.\u003c\/p\u003e\n\u003cp\u003eA mesmerising view, the insight into the slender two-spoke balance bridge and escape wheel is housed in sapphire crystal with antiglare treatment on both sides of the case\u003c\/p\u003e\n\u003cp\u003eThe\u003cspan\u003e \u003c\/span\u003e\u003cem\u003efreelancer\u003c\/em\u003e\u003cspan\u003e \u003c\/span\u003e“Calibre RW1212” comes in several versions, featuring a blue, silver-toned or black dial teamed with a steel case and bracelet, or with a leather strap, as well as in two-tone variations featuring matching bracelets or leather straps. The\u003cspan\u003e \u003c\/span\u003e\u003cem\u003efreelancer \u003c\/em\u003e“Calibre RW1212” is a two-hand model providing an understated display of the hours and minutes.\u003c\/p\u003e\n\u003cp\u003eModel \u003cspan\u003e2780-STC-52001\u003c\/span\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003ctable class=\"rwproduct__datas__tech__table\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003cth\u003eSize\u003c\/th\u003e\n\u003ctd\u003eGents\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eCollection\u003c\/th\u003e\n\u003ctd\u003eFreelancer\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eShape\u003c\/th\u003e\n\u003ctd\u003eRound\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eMovement\u003c\/th\u003e\n\u003ctd\u003eMechanical with automatic winding, with visible balance wheel\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003ePower reserve\u003c\/th\u003e\n\u003ctd\u003e38 hours\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eMovement caliber height\u003c\/th\u003e\n\u003ctd\u003e5.47mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eCase material\u003c\/th\u003e\n\u003ctd\u003ePolished and satinated stainless steel\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eCase size\u003c\/th\u003e\n\u003ctd\u003e42mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eCase thickness\u003c\/th\u003e\n\u003ctd\u003e10.6mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eCase back\u003c\/th\u003e\n\u003ctd\u003eScrewed-down, with sapphire crystal\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eWater resistance\u003c\/th\u003e\n\u003ctd\u003e100 m, 330 ft, 10 atm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eCrystal\u003c\/th\u003e\n\u003ctd\u003eSapphire with antiglare treatment on both sides\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eDial\u003c\/th\u003e\n\u003ctd\u003eGalvanic green and large opening at 6 o’clock\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eCrown\u003c\/th\u003e\n\u003ctd\u003eScrewed-down, with RW logo\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eBracelet\/Strap\u003c\/th\u003e\n\u003ctd\u003eGreen textile strap\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eClasp\u003c\/th\u003e\n\u003ctd\u003eRW stainless steel folding clasp with double push-security system\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e","brand":"Raymond Weil","offers":[{"title":"Default Title","offer_id":33012339015757,"sku":"2780-STC-52001","price":4760.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/2780-STC-52001.jpg?v=1599450048"},{"product_id":"tankardmattfinishtwinlinedetail","title":"Tankard Matt Finish Twin Line Detail","description":"\u003cp\u003e11cm High\u003c\/p\u003e\n\u003cp\u003e10 cm Wide\u003c\/p\u003e","brand":"Olympic Swiss","offers":[{"title":"Default Title","offer_id":33018667040845,"sku":"FG752","price":80.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/4b36b9ece511291cc37bd9eb1a4204b95c20776a.jpg?v=1599625706"},{"product_id":"rhythm-alarm-clock-98cm-white","title":"Rhythm Alarm Clock 9.8cm  – White","description":"\u003cdiv class=\"ewa-rteLine\"\u003eThis practical bedside alarm clock features a clear dial and luminous hands for easy viewing in low light. Super Silent movement provides quiet and reliable timekeeping. The 4-step increasing beep alarm and snooze function make it perfect for everyday use.\u003c\/div\u003e\n\u003cul\u003e\n\u003cli class=\"ewa-rteLine\"\u003eSuper silent movement\u003c\/li\u003e\n\u003cli class=\"ewa-rteLine\"\u003e4 step increasing beep alarm\u003c\/li\u003e\n\u003cli class=\"ewa-rteLine\"\u003eSnooze function\u003c\/li\u003e\n\u003cli class=\"ewa-rteLine\"\u003eSuper luminous hands\u003c\/li\u003e\n\u003cli class=\"ewa-rteLine\"\u003ePlastic case\u003c\/li\u003e\n\u003cli class=\"ewa-rteLine\"\u003eSize: 9.8 x 8.3 x 4cm\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cdiv class=\"ewa-rteLine\"\u003e2 Year Guarantee\u003c\/div\u003e\n\u003cdiv class=\"ewa-rteLine\"\u003eProduct Code: CRE847WR03\u003c\/div\u003e","brand":"Rhythm","offers":[{"title":"Default Title","offer_id":33041414357069,"sku":"CRE847WR03","price":75.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/files\/product_10.jpg?v=1758320319"},{"product_id":"rhythm-alarm-clock-purple","title":"Rhythm Alarm Clock – Purple","description":"\u003cdiv class=\"ewa-rteLine\"\u003eThis compact alarm clock features a soft purple case with a clear, easy-to-read dial. The 4 step increasing beep alarm gradually wakes you, while the snooze and light functions provide added convenience. Its compact size makes it ideal for bedside use or travel.\u003c\/div\u003e\n\u003cul\u003e\n\u003cli class=\"ewa-rteLine\"\u003e4 step increasing beep alarm\u003c\/li\u003e\n\u003cli class=\"ewa-rteLine\"\u003eSnooze function\u003c\/li\u003e\n\u003cli class=\"ewa-rteLine\"\u003eLight\u003c\/li\u003e\n\u003cli class=\"ewa-rteLine\"\u003ePlastic case\u003c\/li\u003e\n\u003cli class=\"ewa-rteLine\"\u003eSize: 5.7 x 5.9 x 3.3cm\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cdiv class=\"ewa-rteLine\"\u003e2 Year Guarantee\u003c\/div\u003e\n\u003cdiv class=\"ewa-rteLine\"\u003eProduct Code: CRE211NR12\u003c\/div\u003e","brand":"Rhythm","offers":[{"title":"Default Title","offer_id":33041448239181,"sku":"CRE211NR12","price":30.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/files\/CRE211NR012.jpg?v=1771294101"},{"product_id":"gardeningbythemoonclock","title":"Gardening By the Moon Clock","description":"\u003cp\u003e\u003cspan\u003e\u003cstrong\u003eThis exclusive Lunar gardening clock tracks the phases of the Moon every month of the year.\u003c\/strong\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003e\u003cstrong\u003eNo need to reset a chart or look up an on-line calendar.\u003c\/strong\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003e\u003cstrong\u003ePerfect for the home, glasshouse, garden shed\u003c\/strong\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eElectronic quartz lunar clock movement, tracks the moon phases\u003c\/li\u003e\n\u003cli\u003eEasily read FULL COLOUR clock face\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eStainless Steel case, with a brushed satin finish\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eGlass front\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003eThe rear plastic cover has a mounting hole to allow fixing to a wall\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eFree high quality Energizer industrial AA battery included\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli\u003eOverall diameter  205 mm (8.07”).\u003c\/li\u003e\n\u003cli\u003eFace diameter     180 mm (7.08”).\u003c\/li\u003e\n\u003cli\u003eDepth                     52 mm (2.04”).\u003c\/li\u003e\n\u003cli\u003eWeight                   400 grams (.88lb)\u003c\/li\u003e\n\u003c\/ul\u003e","brand":null,"offers":[{"title":"Default Title","offer_id":33052539387981,"sku":"GardenSX","price":110.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/aff1ef4df5132f431f8a98718ba88076dc055d05.png?v=1600643676"},{"product_id":"ladiesstainlesssteelcitizenautomaticwatch","title":"Ladies Stainless Steel Citizen Automatic Watch","description":"\u003cp\u003eCalibre 6651\u003c\/p\u003e\n\u003cp\u003eSkeleton case back\u003c\/p\u003e\n\u003cp\u003eDay date calendar\u003c\/p\u003e\n\u003cp\u003e29mm case\u003c\/p\u003e\n\u003cp\u003e50m Water resistant\u003c\/p\u003e","brand":"Citizen","offers":[{"title":"Default Title","offer_id":33071640019021,"sku":"PD7131-83A","price":499.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/b181c5743be8aad2e89afe50e0c633953c6c33e1.png?v=1601336934"},{"product_id":"apple-iwatch-silicone-band-yellow","title":"Apple iWatch Silicone Band - Yellow","description":"\u003cp data-mce-fragment=\"1\"\u003eSoft rubber silicone band compatible with Apple iWatch \u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e- Water resistant\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e- Breathable \u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e Two sizes available 38 - 40mm or 40 - 42mm \u003c\/p\u003e","brand":"swifty watch straps","offers":[{"title":"38 - 40mm","offer_id":37920767049919,"sku":null,"price":25.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/A1909064_2.jpg?v=1609885561"},{"product_id":"unisex-timex-marathon-watch-t5k579","title":"Unisex Timex Marathon Watch T5K579","description":"\u003cp\u003e\u003cspan\u003eMid-size Timex Marathon watch in a striking blue and black design, featuring numeral hour markers, a plastic case and a rubber strap.\u003c\/span\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cspan\u003e36mm Black Resin Case\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eAnalogue Quartz Movement\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eBlue Rubber Strap\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003e50m Water Resistance\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cul\u003e\u003c\/ul\u003e","brand":"Timex","offers":[{"title":"Default Title","offer_id":38019071475903,"sku":"T5K579","price":99.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/5K579.jpg?v=1611180585"},{"product_id":"kidstimexwatchtw7c23700","title":"Kids Timex   Watch TW7C23700","description":"","brand":"Timex","offers":[{"title":"Default Title","offer_id":39300079517887,"sku":"TW7C23700","price":45.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/ebd7c30b99a24adf9ecef29e9fa76559ac8516d7.png?v=1614812000"},{"product_id":"kidstimexwatchtw7c23500","title":"Kids Timex Watch TW7C23500","description":"","brand":"Timex","offers":[{"title":"Default Title","offer_id":39300091117759,"sku":"TW7C23500","price":45.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/553b2a82ac754e5a52de8defe2294f0b94f9eb49.png?v=1614812288"},{"product_id":"timexcommandwhitewatch","title":"Timex Command White Watch","description":"\u003cdiv class=\"celwidget\" id=\"featurebullets_feature_div\" data-feature-name=\"featurebullets\" data-cel-widget=\"featurebullets_feature_div\"\u003e\n\u003cdiv class=\"a-section a-spacing-medium a-spacing-top-small\" id=\"feature-bullets\"\u003e\n\u003cul class=\"a-unordered-list a-vertical a-spacing-mini\"\u003e\n\u003cli\u003e\u003cspan class=\"a-list-item\"\u003e54 mm Rectangle Resin Case with a Push \/ pull Crown \u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan class=\"a-list-item\"\u003e Black Digital Dial with a 16 mm Thick Acrylic Crystal \u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan class=\"a-list-item\"\u003e 25 mm Wide White Tone Plastic Strap \u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan class=\"a-list-item\"\u003e Quartz Movement \u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan class=\"a-list-item\"\u003e Water Resistant up To: 100 Meters\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"celwidget\" id=\"heroQuickPromo_feature_div\" data-feature-name=\"heroQuickPromo\" data-cel-widget=\"heroQuickPromo_feature_div\"\u003e\n\u003cdiv class=\"a-row a-spacing-medium\" id=\"hero-quick-promo\"\u003e\n\u003cdiv class=\"copilot-secure-display celwidget  text\/x-dacx-safeframe\" id=\"ape_Detail_hero-quick-promo_Desktop_placement\" aria-hidden=\"true\" style=\"margin: auto auto auto 0px; max-width: 650px;\" cel_widget_id=\"adplacements:Detail:hero-quick-promo:Desktop\" data-ad-details='{\"slot\" :\"Detail_hero-quick-promo_Desktop\",\"pageType\": \"Detail\",\"subPageType\":  \"Desktop\",\"slotName\" :\"hero-quick-promo\",\"src\" : \"prefetchEnabled\",\"adServer\" :\"cs\",\"campaignId\" :  \"8582\",\"arid\" :\"fcb293d7e4cc426c8e4679ea3bc7514b\",\"placementId\": \"09f69e71-4fc0-456b-8215-188e3bb2c49e\",\"size\" :{\"width\": \"100%\",\"height\" : \"130px\"},\"allowedSizes\" :[],\"allowedDomains\" :  [],\"aanParams\" :   \"site%3Damazon.in%3Bpt%3DDetail%3Bslot%3Dhero-quick-promo%3Bpid%3DB07MTM99C1%3Barid%3Dfcb293d7e4cc426c8e4679ea3bc7514b\",\"loadAfter\" :   \"immediate\",\"extraDelay\" :  0,\"iframeExtraStyle\": \"\",\"iframeClass\":  \"\",\"adPixels\": [],\"aaxImpPixelUrl\":  \"https:\/\/aax-eu.amazon.in\/e\/xsp\/imp?b=QqFsAKJRTtoTkbd8FxoeDGwAAAF3_7edEwMAAAH_AaklxSQ\",\"aaxInstrPixelUrl\": \"https:\/\/aax-eu.amazon.in\/x\/px\/QqFsAKJRTtoTkbd8FxoeDGwAAAF3_7edEwMAAAH_AaklxSQ\/\",\"htmlContentEncoded\": \"PGRpdiBjZWxfd2lkZ2V0X2lkPSdzcF9ocXBfc2hhcmVkJyBjbGFzcz0nY2Vsd2lkZ2V0Jz4gICAgIDxzdHlsZT4gLmN1cnJlbmN5SU5SIHsgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAgICAgICBiYWNrZ3JvdW5kOiB1cmwoImh0dHBzOi8vaW1hZ2VzLWV1LnNzbC1pbWFnZXMtYW1hem9uLmNvbS9pbWFnZXMvRy8zMS9jb21tb24vc3ByaXRlcy9zcHJpdGUtc2l0ZS13aWRlLTIuX1YxXy5wbmciKTsgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTBweCAtMzQ3cHg7ICAgICAgIGJhY2tncm91bmQtc2l6ZTogMzIwIDQ1NXB4OyAgICAgICB3aWR0aDogNnB4OyAgICAgICBoZWlnaHQ6IDEycHg7ICAgICAgIGxpbmUtaGVpZ2h0OiAxMHB4OyAgICAgICBtYXJnaW4tcmlnaHQ6IDBweDsgICAgICAgbWFyZ2luLWJvdHRvbTogMnB4OyAgICAgICAqbWFyZ2luLWJvdHRvbTogLTJweDsgICAgICAgX21hcmdpbi1ib3R0b206IC0ycHg7ICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7ICAgICAgIGZvbnQtc2l6ZTogOHB4OyAgICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7IH0gPC9zdHlsZT4gPHNjcmlwdD4gKGZ1bmN0aW9uKGYsaCxRLEUpe2Z1bmN0aW9uIEYoYSl7diYmdi50YWcmJnYudGFnKHEoIjoiLCJhdWkiLGEpKX1mdW5jdGlvbiB3KGEsYil7diYmdi5jb3VudCYmdi5jb3VudCgiYXVpOiIrYSwwPT09Yj8wOmJ8fCh2LmNvdW50KCJhdWk6IithKXx8MCkrMSl9ZnVuY3Rpb24gbShhKXt0cnl7cmV0dXJuIGEudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KX1jYXRjaChiKXtyZXR1cm4hMX19ZnVuY3Rpb24geChhLGIsYyl7YS5hZGRFdmVudExpc3RlbmVyP2EuYWRkRXZlbnRMaXN0ZW5lcihiLGMsITEpOmEuYXR0YWNoRXZlbnQmJmEuYXR0YWNoRXZlbnQoIm9uIitiLGMpfWZ1bmN0aW9uIHEoYSxiLGMsZSl7Yj1iJiZjP2IrYStjOmJ8fGM7cmV0dXJuIGU\/cShhLGIsZSk6Yn1mdW5jdGlvbiBHKGEsYixjKXt0cnl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGEsYix7dmFsdWU6Yyx3cml0YWJsZTohMX0pfWNhdGNoKGUpe2FbYl09Y31yZXR1cm4gY31mdW5jdGlvbiB2YShhLGIpe3ZhciBjPWEubGVuZ3RoLCBlPWMsZz1mdW5jdGlvbigpe2UtLXx8KFIucHVzaChiKSxTfHwoc2V0VGltZW91dChjYSwwKSxTPSEwKSl9O2ZvcihnKCk7Yy0tOylkYVthW2NdXT9nKCk6KEFbYVtjXV09QVthW2NdXXx8W10pLnB1c2goZyl9ZnVuY3Rpb24gd2EoYSxiLGMsZSxnKXt2YXIgZD1oLmNyZWF0ZUVsZW1lbnQoYT8ic2NyaXB0IjoibGluayIpO3goZCwiZXJyb3IiLGUpO2cmJngoZCwibG9hZCIsZyk7YT8oZC50eXBlPSJ0ZXh0L2phdmFzY3JpcHQiLGQuYXN5bmM9ITAsYyYmL0FVSUNsaWVudHN8aW1hZ2VzWy9dSS8udGVzdChiKSYmZC5zZXRBdHRyaWJ1dGUoImNyb3Nzb3JpZ2luIiwiYW5vbnltb3VzIiksZC5zcmM9Yik6KGQucmVsPSJzdHlsZXNoZWV0IixkLmhyZWY9Yik7aC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLmFwcGVuZENoaWxkKGQpfWZ1bmN0aW9uIGVhKGEsYil7cmV0dXJuIGZ1bmN0aW9uKGMsZSl7ZnVuY3Rpb24gZygpe3dhKGIsYyxkLGZ1bmN0aW9uKGIpe1Q\/dygicmVzb3VyY2VfdW5sb2FkIik6IGQ\/KGQ9ITEsdygicmVzb3VyY2VfcmV0cnkiKSxnKCkpOih3KCJyZXNvdXJjZV9lcnJvciIpLGEubG9nKCJBc3NldCBmYWlsZWQgdG8gbG9hZDogIitjKSk7YiYmYi5zdG9wUHJvcGFnYXRpb24\/Yi5zdG9wUHJvcGFnYXRpb24oKTpmLmV2ZW50JiYoZi5ldmVudC5jYW5jZWxCdWJibGU9ITApfSxlKX1pZihmYVtjXSlyZXR1cm4hMTtmYVtjXT0hMDt3KCJyZXNvdXJjZV9jb3VudCIpO3ZhciBkPSEwO3JldHVybiFnKCl9fWZ1bmN0aW9uIHhhKGEsYixjKXtmb3IodmFyIGU9e25hbWU6YSxndWFyZDpmdW5jdGlvbihjKXtyZXR1cm4gYi5ndWFyZEZhdGFsKGEsYyl9LGxvZ0Vycm9yOmZ1bmN0aW9uKGMsZCxlKXtiLmxvZ0Vycm9yKGMsZCxlLGEpfX0sZz1bXSxkPTA7ZDxjLmxlbmd0aDtkKyspSC5oYXNPd25Qcm9wZXJ0eShjW2RdKSYmKGdbZF09VS5oYXNPd25Qcm9wZXJ0eShjW2RdKT9VW2NbZF1dKEhbY1tkXV0sZSk6SFtjW2RdXSk7cmV0dXJuIGd9ZnVuY3Rpb24gQihhLGIsYyxlLGcpe3JldHVybiBmdW5jdGlvbihkLCBoKXtmdW5jdGlvbiBuKCl7dmFyIGE9bnVsbDtlP2E9aDoiZnVuY3Rpb24iPT09dHlwZW9mIGgmJihwLnN0YXJ0PUMoKSxhPWguYXBwbHkoZix4YShkLGssbCkpLHAuZW5kPUMoKSk7aWYoYil7SFtkXT1hO2E9ZDtmb3IoZGFbYV09ITA7KEFbYV18fFtdKS5sZW5ndGg7KUFbYV0uc2hpZnQoKSgpO2RlbGV0ZSBBW2FdfXAuZG9uZT0hMH12YXIgaz1nfHx0aGlzOyJmdW5jdGlvbiI9PT10eXBlb2YgZCYmKGg9ZCxkPUUpO2ImJihkPWQ\/ZC5yZXBsYWNlKGhhLCIiKToiX19OT05BTUVfXyIsVi5oYXNPd25Qcm9wZXJ0eShkKSYmay5lcnJvcihxKCIsIHJlcmVnaXN0ZXJlZCBieSAiLHEoIiBieSAiLGQrIiBhbHJlYWR5IHJlZ2lzdGVyZWQiLFZbZF0pLGsuYXR0cmlidXRpb24pLGQpLFZbZF09ay5hdHRyaWJ1dGlvbik7Zm9yKHZhciBsPVtdLG09MDttPGEubGVuZ3RoO20rKylsW21dPWFbbV0ucmVwbGFjZShoYSwiIik7dmFyIHA9aWFbZHx8ImFub24iKyArK3lhXT17ZGVwZW5kOmwscmVnaXN0ZXJlZDpDKCksIG5hbWVzcGFjZTprLm5hbWVzcGFjZX07Yz9uKCk6dmEobCxrLmd1YXJkRmF0YWwoZCxuKSk7cmV0dXJue2RlY29yYXRlOmZ1bmN0aW9uKGEpe1VbZF09ay5ndWFyZEZhdGFsKGQsYSl9fX19ZnVuY3Rpb24gamEoYSl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGI9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtyZXR1cm57ZXhlY3V0ZTpCKGIsITEsYSwhMSx0aGlzKSxyZWdpc3RlcjpCKGIsITAsYSwhMSx0aGlzKX19fWZ1bmN0aW9uIFcoYSxiKXtyZXR1cm4gZnVuY3Rpb24oYyxlKXtlfHwoZT1jLGM9RSk7dmFyIGc9dGhpcy5hdHRyaWJ1dGlvbjtyZXR1cm4gZnVuY3Rpb24oKXt5LnB1c2goYnx8e2F0dHJpYnV0aW9uOmcsbmFtZTpjLGxvZ0xldmVsOmF9KTt2YXIgZD1lLmFwcGx5KHRoaXMsYXJndW1lbnRzKTt5LnBvcCgpO3JldHVybiBkfX19ZnVuY3Rpb24gSShhLGIpe3RoaXMubG9hZD17anM6ZWEodGhpcywhMCksY3NzOmVhKHRoaXMpfTtHKHRoaXMsIm5hbWVzcGFjZSIsIGIpO0codGhpcywiYXR0cmlidXRpb24iLGEpfWZ1bmN0aW9uIGthKCl7aC5ib2R5P3QudHJpZ2dlcigiYS1ib2R5QmVnaW4iKTpzZXRUaW1lb3V0KGthLDIwKX1mdW5jdGlvbiBEKGEsYil7YS5jbGFzc05hbWU9WChhLGIpKyIgIitifWZ1bmN0aW9uIFgoYSxiKXtyZXR1cm4oIiAiK2EuY2xhc3NOYW1lKyIgIikuc3BsaXQoIiAiK2IrIiAiKS5qb2luKCIgIikucmVwbGFjZSgvXiB8ICQvZywiIil9ZnVuY3Rpb24gbGEoYSl7dHJ5e3JldHVybiBhKCl9Y2F0Y2goYil7cmV0dXJuITF9fWZ1bmN0aW9uIEooKXtpZihLKXt2YXIgYT17dzpmLmlubmVyV2lkdGh8fG4uY2xpZW50V2lkdGgsaDpmLmlubmVySGVpZ2h0fHxuLmNsaWVudEhlaWdodH07NTxNYXRoLmFicyhhLnctWS53KXx8NTA8YS5oLVkuaD8oWT1hLEw9NCwoYT1rLm1vYmlsZXx8ay50YWJsZXQ\/NDUwPGEudyYmYS53PmEuaDoxMjUwPD1hLncpP0QobiwiYS13cyIpOm4uY2xhc3NOYW1lPVgobiwiYS13cyIpKTowPEwmJihMLS0sbWE9IHNldFRpbWVvdXQoSiwxNikpfX1mdW5jdGlvbiB6YShhKXsoSz1hPT09RT8hSzohIWEpJiZKKCl9ZnVuY3Rpb24gQWEoKXtyZXR1cm4gS31mdW5jdGlvbiB1KGEsYil7cmV0dXJuInN3OiIrKGJ8fCIiKSsiOiIrYSsiOiJ9ZnVuY3Rpb24gbmEoKXtvYS5mb3JFYWNoKGZ1bmN0aW9uKGEpe0YoYSl9KX1mdW5jdGlvbiBwKGEpe29hLnB1c2goYSl9ZnVuY3Rpb24gcGEoYSxiLGMsZSl7aWYoYyl7Yj1tKC9DaHJvbWUvaSkmJiFtKC9FZGdlL2kpJiYhbSgvT1BSL2kpJiYhYS5jYXBhYmlsaXRpZXMuaXNBbWF6b25BcHAmJiFtKG5ldyBSZWdFeHAoWisiYnd2IitaKyJiIikpO3ZhciBnPXUoZSwiYnJvd3NlciIpLGQ9dShlLCJwcm9kX21zaG9wIiksZj11KGUsImJldGFfbXNob3AiKTshYS5jYXBhYmlsaXRpZXMuaXNBbWF6b25BcHAmJmMuYnJvd3NlciYmYiYmKHAoZysic3VwcG9ydGVkIiksYy5icm93c2VyLmFjdGlvbihnLGUpKTshYiYmYy5icm93c2VyJiZwKGcrInVuc3VwcG9ydGVkIik7Yy5wcm9kTXNob3AmJiBwKGQrInVuc3VwcG9ydGVkIik7Yy5iZXRhTXNob3AmJnAoZisidW5zdXBwb3J0ZWQiKX19InVzZSBzdHJpY3QiO3ZhciBNPVEubm93PVEubm93fHxmdW5jdGlvbigpe3JldHVybituZXcgUX0sQz1mdW5jdGlvbihhKXtyZXR1cm4gYSYmYS5ub3c\/YS5ub3cuYmluZChhKTpNfShmLnBlcmZvcm1hbmNlKSxOPUMoKSxyPWYuQW1hem9uVUlQYWdlSlN8fGYuUDtpZihyJiZyLndoZW4mJnIucmVnaXN0ZXIpe049W107Zm9yKHZhciBsPWguY3VycmVudFNjcmlwdDtsO2w9bC5wYXJlbnRFbGVtZW50KWwuaWQmJk4ucHVzaChsLmlkKTtyZXR1cm4gci5sb2coIkEgY29weSBvZiBQIGhhcyBhbHJlYWR5IGJlZW4gbG9hZGVkIG9uIHRoaXMgcGFnZS4iLCJGQVRBTCIsTi5qb2luKCIgIikpfXZhciB2PWYudWU7RigpO0YoImF1aV9idWlsZF9kYXRlOjMuMjEuMi0yMDIxLTAyLTIzIik7dmFyIFI9W10sUz0hMTt2YXIgY2E9ZnVuY3Rpb24oKXtmb3IodmFyIGE9c2V0VGltZW91dChjYSwwKSxiPU0oKTtSLmxlbmd0aDspaWYoUi5zaGlmdCgpKCksIDUwPE0oKS1iKXJldHVybjtjbGVhclRpbWVvdXQoYSk7Uz0hMX07dmFyIGRhPXt9LEE9e30sZmE9e30sVD0hMTt4KGYsImJlZm9yZXVubG9hZCIsZnVuY3Rpb24oKXtUPSEwO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtUPSExfSwxRTQpfSk7dmFyIGhhPS9ecHJ2Oi8sVj17fSxIPXt9LFU9e30saWE9e30seWE9MCxaPVN0cmluZy5mcm9tQ2hhckNvZGUoOTIpLHk9W10scWE9Zi5vbmVycm9yO2Yub25lcnJvcj1mdW5jdGlvbihhLGIsYyxlLGcpe2cmJiJvYmplY3QiPT09dHlwZW9mIGd8fChnPUVycm9yKGEsYixjKSxnLmNvbHVtbk51bWJlcj1lLGcuc3RhY2s9Ynx8Y3x8ZT9xKFosZy5tZXNzYWdlLCJhdCAiK3EoIjoiLGIsYyxlKSk6RSk7dmFyIGQ9eS5wb3AoKXx8e307Zy5hdHRyaWJ1dGlvbj1xKCI6IixnLmF0dHJpYnV0aW9ufHxkLmF0dHJpYnV0aW9uLGQubmFtZSk7Zy5sb2dMZXZlbD1kLmxvZ0xldmVsO2cuYXR0cmlidXRpb24mJmNvbnNvbGUmJmNvbnNvbGUubG9nJiZjb25zb2xlLmxvZyhbZy5sb2dMZXZlbHx8ICJFUlJPUiIsYSwidGhyb3duIGJ5IixnLmF0dHJpYnV0aW9uXS5qb2luKCIgIikpO3k9W107cWEmJihkPVtdLnNsaWNlLmNhbGwoYXJndW1lbnRzKSxkWzRdPWcscWEuYXBwbHkoZixkKSl9O0kucHJvdG90eXBlPXtsb2dFcnJvcjpmdW5jdGlvbihhLGIsYyxlKXtiPXttZXNzYWdlOmIsbG9nTGV2ZWw6Y3x8IkVSUk9SIixhdHRyaWJ1dGlvbjpxKCI6Iix0aGlzLmF0dHJpYnV0aW9uLGUpfTtpZihmLnVlTG9nRXJyb3IpcmV0dXJuIGYudWVMb2dFcnJvcihhfHxiLGE\/YjpudWxsKSwhMDtjb25zb2xlJiZjb25zb2xlLmVycm9yJiYoY29uc29sZS5sb2coYiksY29uc29sZS5lcnJvcihhKSk7cmV0dXJuITF9LGVycm9yOmZ1bmN0aW9uKGEsYixjLGUpe2E9RXJyb3IocSgiOiIsZSxhLGMpKTthLmF0dHJpYnV0aW9uPXEoIjoiLHRoaXMuYXR0cmlidXRpb24sYik7dGhyb3cgYTt9LGd1YXJkRXJyb3I6VygpLGd1YXJkRmF0YWw6VygiRkFUQUwiKSxndWFyZEN1cnJlbnQ6ZnVuY3Rpb24oYSl7dmFyIGI9IHlbeS5sZW5ndGgtMV07cmV0dXJuIGI\/VyhiLmxvZ0xldmVsLGIpLmNhbGwodGhpcyxhKTphfSxsb2c6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB0aGlzLmxvZ0Vycm9yKG51bGwsYSxiLGMpfSxkZWNsYXJlOkIoW10sITAsITAsITApLHJlZ2lzdGVyOkIoW10sITApLGV4ZWN1dGU6QihbXSksQVVJX0JVSUxEX0RBVEU6IjMuMjEuMi0yMDIxLTAyLTIzIix3aGVuOmphKCksbm93OmphKCEwKSx0cmlnZ2VyOmZ1bmN0aW9uKGEsYixjKXt2YXIgZT1NKCk7dGhpcy5kZWNsYXJlKGEse2RhdGE6YixwYWdlRWxhcHNlZFRpbWU6ZS0oZi5hUGFnZVN0YXJ0fHxOYU4pLHRyaWdnZXJUaW1lOmV9KTtjJiZjLmluc3RydW1lbnQmJk8ud2hlbigicHJ2OmEtbG9nVHJpZ2dlciIpLmV4ZWN1dGUoZnVuY3Rpb24oYil7YihhKX0pfSxoYW5kbGVUcmlnZ2VyczpmdW5jdGlvbigpe3RoaXMubG9nKCJoYW5kbGVUcmlnZ2VycyBkZXByZWNhdGVkIil9LGF0dHJpYnV0ZUVycm9yczpmdW5jdGlvbihhKXtyZXR1cm4gbmV3IEkoYSl9LCBfbmFtZXNwYWNlOmZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBJKGEsYil9fTt2YXIgdD1HKGYsIkFtYXpvblVJUGFnZUpTIixuZXcgSSk7dmFyIE89dC5fbmFtZXNwYWNlKCJQYWdlSlMiLCJBbWF6b25VSSIpO08uZGVjbGFyZSgicHJ2OnAtZGVidWciLGlhKTt0LmRlY2xhcmUoInAtcmVjb3JkZXItZXZlbnRzIixbXSk7dC5kZWNsYXJlKCJwLXJlY29yZGVyLXN0b3AiLGZ1bmN0aW9uKCl7fSk7RyhmLCJQIix0KTtrYSgpO2lmKGguYWRkRXZlbnRMaXN0ZW5lcil7dmFyIHJhO2guYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIscmE9ZnVuY3Rpb24oKXt0LnRyaWdnZXIoImEtZG9tcmVhZHkiKTtoLnJlbW92ZUV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLHJhLCExKX0sITEpfXZhciBuPWguZG9jdW1lbnRFbGVtZW50LGFhPWZ1bmN0aW9uKCl7dmFyIGE9WyJPIiwibXMiLCJNb3oiLCJXZWJraXQiXSxiPWguY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJue3Rlc3RHcmFkaWVudHM6ZnVuY3Rpb24oKXtyZXR1cm4hMH0sIHRlc3Q6ZnVuY3Rpb24oYyl7dmFyIGU9Yy5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStjLnN1YnN0cigxKTtjPShhLmpvaW4oZSsiICIpK2UrIiAiK2MpLnNwbGl0KCIgIik7Zm9yKGU9Yy5sZW5ndGg7ZS0tOylpZigiIj09PWIuc3R5bGVbY1tlXV0pcmV0dXJuITA7cmV0dXJuITF9LHRlc3RUcmFuc2Zvcm0zZDpmdW5jdGlvbigpe3JldHVybiEwfX19KCk7cj1uLmNsYXNzTmFtZTt2YXIgc2E9LyhefCApYS1tb2JpbGUoIHwkKS8udGVzdChyKSx0YT0vKF58IClhLXRhYmxldCggfCQpLy50ZXN0KHIpLGs9e2F1ZGlvOmZ1bmN0aW9uKCl7cmV0dXJuISFoLmNyZWF0ZUVsZW1lbnQoImF1ZGlvIikuY2FuUGxheVR5cGV9LHZpZGVvOmZ1bmN0aW9uKCl7cmV0dXJuISFoLmNyZWF0ZUVsZW1lbnQoInZpZGVvIikuY2FuUGxheVR5cGV9LGNhbnZhczpmdW5jdGlvbigpe3JldHVybiEhaC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKS5nZXRDb250ZXh0fSxzdmc6ZnVuY3Rpb24oKXtyZXR1cm4hIWguY3JlYXRlRWxlbWVudE5TJiYgISFoLmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJzdmciKS5jcmVhdGVTVkdSZWN0fSxvZmZsaW5lOmZ1bmN0aW9uKCl7cmV0dXJuIG5hdmlnYXRvci5oYXNPd25Qcm9wZXJ0eSYmbmF2aWdhdG9yLmhhc093blByb3BlcnR5KCJvbkxpbmUiKSYmbmF2aWdhdG9yLm9uTGluZX0sZHJhZ0Ryb3A6ZnVuY3Rpb24oKXtyZXR1cm4iZHJhZ2dhYmxlImluIGguY3JlYXRlRWxlbWVudCgic3BhbiIpfSxnZW9sb2NhdGlvbjpmdW5jdGlvbigpe3JldHVybiEhbmF2aWdhdG9yLmdlb2xvY2F0aW9ufSxoaXN0b3J5OmZ1bmN0aW9uKCl7cmV0dXJuISghZi5oaXN0b3J5fHwhZi5oaXN0b3J5LnB1c2hTdGF0ZSl9LHdlYndvcmtlcjpmdW5jdGlvbigpe3JldHVybiEhZi5Xb3JrZXJ9LGF1dG9mb2N1czpmdW5jdGlvbigpe3JldHVybiJhdXRvZm9jdXMiaW4gaC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpfSxpbnB1dFBsYWNlaG9sZGVyOmZ1bmN0aW9uKCl7cmV0dXJuInBsYWNlaG9sZGVyImluIGguY3JlYXRlRWxlbWVudCgiaW5wdXQiKX0sdGV4dGFyZWFQbGFjZWhvbGRlcjpmdW5jdGlvbigpe3JldHVybiJwbGFjZWhvbGRlciJpbiBoLmNyZWF0ZUVsZW1lbnQoInRleHRhcmVhIil9LGxvY2FsU3RvcmFnZTpmdW5jdGlvbigpe3JldHVybiJsb2NhbFN0b3JhZ2UiaW4gZiYmbnVsbCE9PWYubG9jYWxTdG9yYWdlfSxvcmllbnRhdGlvbjpmdW5jdGlvbigpe3JldHVybiJvcmllbnRhdGlvbiJpbiBmfSx0b3VjaDpmdW5jdGlvbigpe3JldHVybiJvbnRvdWNoZW5kImluIGh9LGdyYWRpZW50czpmdW5jdGlvbigpe3JldHVybiBhYS50ZXN0R3JhZGllbnRzKCl9LGhpcmVzOmZ1bmN0aW9uKCl7dmFyIGE9Zi5kZXZpY2VQaXhlbFJhdGlvJiYxLjU8PWYuZGV2aWNlUGl4ZWxSYXRpb3x8Zi5tYXRjaE1lZGlhJiZmLm1hdGNoTWVkaWEoIihtaW4tcmVzb2x1dGlvbjoxNDRkcGkpIikubWF0Y2hlczt3KCJoaVJlcyIrKHNhPyJNb2JpbGUiOnRhPyJUYWJsZXQiOiJEZXNrdG9wIiksYT8xOjApOyByZXR1cm4gYX0sdHJhbnNmb3JtM2Q6ZnVuY3Rpb24oKXtyZXR1cm4gYWEudGVzdFRyYW5zZm9ybTNkKCl9LHRvdWNoU2Nyb2xsaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIG0oL1dpbmRvd3Nob3B8YW5kcm9pZHxPUyAoWzUtOV18WzEtOV1bMC05XSspKF9bMC05XXsxLDJ9KSsgbGlrZSBNYWMgT1MgWHxDaHJvbWV8U2lsa3xGaXJlZm94fFRyaWRlbnQuKz87IFRvdWNoL2kpfSxpb3M6ZnVuY3Rpb24oKXtyZXR1cm4gbSgvT1MgWzEtOV1bMC05XSooX1swLTldKikrIGxpa2UgTWFjIE9TIFgvaSkmJiFtKC90cmlkZW50fEVkZ2UvaSl9LGFuZHJvaWQ6ZnVuY3Rpb24oKXtyZXR1cm4gbSgvYW5kcm9pZC4oWzEtOV18W0wtWl0pL2kpJiYhbSgvdHJpZGVudHxFZGdlL2kpfSxtb2JpbGU6ZnVuY3Rpb24oKXtyZXR1cm4gc2F9LHRhYmxldDpmdW5jdGlvbigpe3JldHVybiB0YX0scnRsOmZ1bmN0aW9uKCl7cmV0dXJuInJ0bCI9PT1uLmRpcn19O2ZvcihsIGluIGspay5oYXNPd25Qcm9wZXJ0eShsKSYmIChrW2xdPWxhKGtbbF0pKTtmb3IodmFyIGJhPSJ0ZXh0U2hhZG93IHRleHRTdHJva2UgYm94U2hhZG93IGJvcmRlclJhZGl1cyBib3JkZXJJbWFnZSBvcGFjaXR5IHRyYW5zZm9ybSB0cmFuc2l0aW9uIi5zcGxpdCgiICIpLFA9MDtQPGJhLmxlbmd0aDtQKyspa1tiYVtQXV09bGEoZnVuY3Rpb24oKXtyZXR1cm4gYWEudGVzdChiYVtQXSl9KTt2YXIgSz0hMCxtYT0wLFk9e3c6MCxoOjB9LEw9NDtKKCk7eChmLCJyZXNpemUiLGZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KG1hKTtMPTQ7SigpfSk7dmFyIHVhPXtnZXRJdGVtOmZ1bmN0aW9uKGEpe3RyeXtyZXR1cm4gZi5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShhKX1jYXRjaChiKXt9fSxzZXRJdGVtOmZ1bmN0aW9uKGEsYil7dHJ5e3JldHVybiBmLmxvY2FsU3RvcmFnZS5zZXRJdGVtKGEsYil9Y2F0Y2goYyl7fX19O24uY2xhc3NOYW1lPVgobiwiYS1uby1qcyIpO0QobiwiYS1qcyIpOyFtKC9PUyBbMS04XShfWzAtOV0qKSsgbGlrZSBNYWMgT1MgWC9pKXx8IGYubmF2aWdhdG9yLnN0YW5kYWxvbmV8fG0oL3NhZmFyaS9pKXx8RChuLCJhLWVtYmVyIik7cj1bXTtmb3IobCBpbiBrKWsuaGFzT3duUHJvcGVydHkobCkmJmtbbF0mJnIucHVzaCgiYS0iK2wucmVwbGFjZSgvKFtBLVpdKS9nLGZ1bmN0aW9uKGEpe3JldHVybiItIithLnRvTG93ZXJDYXNlKCl9KSk7RChuLHIuam9pbigiICIpKTtuLnNldEF0dHJpYnV0ZSgiZGF0YS1hdWktYnVpbGQtZGF0ZSIsIjMuMjEuMi0yMDIxLTAyLTIzIik7dC5yZWdpc3RlcigicC1kZXRlY3QiLGZ1bmN0aW9uKCl7cmV0dXJue2NhcGFiaWxpdGllczprLGxvY2FsU3RvcmFnZTprLmxvY2FsU3RvcmFnZSYmdWEsdG9nZ2xlUmVzcG9uc2l2ZUdyaWQ6emEscmVzcG9uc2l2ZUdyaWRFbmFibGVkOkFhfX0pO20oL1VDQnJvd3Nlci9pKXx8ay5sb2NhbFN0b3JhZ2UmJkQobix1YS5nZXRJdGVtKCJhLWZvbnQtY2xhc3MiKSk7dC5kZWNsYXJlKCJhLWV2ZW50LXJldmlzZWQtaGFuZGxpbmciLCExKTt0cnl7dmFyIHo9bmF2aWdhdG9yLnNlcnZpY2VXb3JrZXJ9Y2F0Y2goYSl7Rigic3c6bmF2X2VyciIpfXomJiAoeCh6LCJtZXNzYWdlIixmdW5jdGlvbihhKXthJiZhLmRhdGEmJncoYS5kYXRhLmssYS5kYXRhLnYpfSksei5jb250cm9sbGVyJiZ6LmNvbnRyb2xsZXIucG9zdE1lc3NhZ2UoIk1TRy1SRFkiKSk7dmFyIG9hPVtdOyhmdW5jdGlvbihhKXt2YXIgYj1hLnJlZyxjPWEudW5yZWc7eiYmei5nZXRSZWdpc3RyYXRpb25zPyhPLndoZW4oIkEiLCJhLXV0aWwiKS5leGVjdXRlKGZ1bmN0aW9uKGEsYil7cGEoYSxiLGMsInVucmVnaXN0ZXIiKX0pLHgoZiwibG9hZCIsZnVuY3Rpb24oKXtPLndoZW4oIkEiLCJhLXV0aWwiKS5leGVjdXRlKGZ1bmN0aW9uKGEsYyl7cGEoYSxjLGIsInJlZ2lzdGVyIik7bmEoKX0pfSkpOihiJiYoYi5icm93c2VyJiZwKHUoInJlZ2lzdGVyIiwiYnJvd3NlciIpKyJ1bnN1cHBvcnRlZCIpLGIucHJvZE1zaG9wJiZwKHUoInJlZ2lzdGVyIiwicHJvZF9tc2hvcCIpKyJ1bnN1cHBvcnRlZCIpLGIuYmV0YU1zaG9wJiZwKHUoInJlZ2lzdGVyIiwiYmV0YV9tc2hvcCIpKyJ1bnN1cHBvcnRlZCIpKSwgYyYmKGMuYnJvd3NlciYmcCh1KCJ1bnJlZ2lzdGVyIiwiYnJvd3NlciIpKyJ1bnN1cHBvcnRlZCIpLGMucHJvZE1zaG9wJiZwKHUoInVucmVnaXN0ZXIiLCJwcm9kX21zaG9wIikrInVuc3VwcG9ydGVkIiksYy5iZXRhTXNob3AmJnAodSgidW5yZWdpc3RlciIsImJldGFfbXNob3AiKSsidW5zdXBwb3J0ZWQiKSksbmEoKSl9KSh7cmVnOnt9LHVucmVnOnt9fSk7dC5kZWNsYXJlKCJhLWZpeC1ldmVudC1vZmYiLCExKTt3KCJwYWdlanM6cGtnRXhlY1RpbWUiLEMoKS1OKX0pKHdpbmRvdyxkb2N1bWVudCxEYXRlKTsgICAod2luZG93LkFtYXpvblVJUGFnZUpTID8gQW1hem9uVUlQYWdlSlMgOiBQKS5sb2FkLmpzKCdodHRwczovL2ltYWdlcy1ldS5zc2wtaW1hZ2VzLWFtYXpvbi5jb20vaW1hZ2VzL0kvNjEtNm5LUEt5V0wuX1JDfDExWSs1eCtra1RMLmpzLDUxSVdZTzVNK3pMLmpzLDExMm5tQ3FVeW1MLmpzLDExZ2lYdFpDd1ZMLmpzLDAxK3ordUllSi1MLmpzLDAxNE5vaEVkRTdMLmpzLDIxTk5YZk1pdFNMLmpzLDExR1hmZDMreitMLmpzLDUxZ200b1BEMmNMLmpzLDExQUhsUWhQUmpMLmpzLDAxR3B0NHNQUGhMLmpzLDExT1JFbnUxZXBMLmpzLDExS2JaeW13NVpMLmpzLDIxcjUzU0pnN0xMLmpzLDAxOTB2eHRsemNMLmpzLDUxYmJJTUlRUXdMLmpzLDMxMDktUlhXWmNMLmpzLDAxNWMtNkNJUDlMLmpzLDAxZXpqNVJrejFMLmpzLDExVlMtQytZV0dMLmpzLDMxcE9USDJaTVJMLmpzLDAxcnBhdVRlcDRMLmpzLDAxemJjSnh0YkFMLmpzXy5qcz9BVUlDbGllbnRzL0FtYXpvblVJJyk7IDwvc2NyaXB0PiA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vaW1hZ2VzLWV1LnNzbC1pbWFnZXMtYW1hem9uLmNvbS9pbWFnZXMvSS8xMUVJUTVJR3FhTC5fUkN8MDEyTGpvbG1yTUwuY3NzLDQxUFRzT0dqLWpMLmNzcywzMURteENsQS1KTC5jc3MsMDFRYTVPWk1zVEwuY3NzLDAxb1daUFNQMXJMLmNzcywwMTMxdnF3UDVVTC5jc3MsNDEwaU9JcHhqcUwuY3NzLDExVW9HeUx1WG9MLmNzcywwMUVsblBpRHhXTC5jc3MsMTFPNXBtOVVzZEwuY3NzLDAxeXZ1TWZBU1RMLmNzcywwMUlkS2NCdUFkTC5jc3MsMDF5LVhBbEkrMkwuY3NzLDAxblhUcE9JOXZMLmNzcywwMTRKR1owSUdwTC5jc3MsMDFvRFIzSVVMTkwuY3NzLDQxMksxUUluQmZMLmNzcywwMVhQSEprNjAtTC5jc3MsMDFSMGsweXhQWEwuY3NzLDIxOFA2M2RzUm1MLmNzcywxMVpQcUVuYzRRTC5jc3MsMjFxSEtTVFNKQ0wuY3NzLDAxUGJUaW4yYlRMLmNzcywwMUNGVWdzQS1ZTC5jc3MsMjFkMWxySWItMkwuY3NzLDExaDc2bmtIVS1MLmNzcywxMWhFblZEakxFTC5jc3MsMTFicTJsNG50UkwuY3NzLDExYi1HUjI2RFZMLmNzcywwMS1mV3ozc09RTC5jc3MsMTFvY3JnS29FLUwuY3NzLDIxdlpCYkc4YnRMLmNzcywxMTdZQW85VEZvTC5jc3MsMDFZVlk3alBYRUwuY3NzLDIxcFJaRzBTK2JMLmNzcywxMU1IUk1yOHltTC5jc3MsMDFUUXlzSEUtd0wuY3NzLDExa0o0ZW9zOEJMLmNzcywxMVhFa1A0WjNFTC5jc3MsMDFjYlMzVUsxMUwuY3NzLDIxNDgxWWF4KzJMLmNzcywwMTh0Q3l6cEJETC5jc3NfLmNzcz9BVUlDbGllbnRzL0FtYXpvblVJIiAvPiA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDtjaGFyc2V0PUFOU0kiPiAgICAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiBpZiAoKHR5cGVvZiBTRkNsaWVudCAhPSAidW5kZWZpbmVkIikgJiYgU0ZDbGllbnQuc2VuZEFkSW5mbykgeyAgICAgdmFyIGZlZWRiYWNrSnNvbiA9IFsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNpbiIgOiAiQjA3SEpMUzJGNSIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGl0bGUiIDogIlRJTUVYIEV4cGVkaXRpb24gQW5hbG9nLURpZ2l0YWwgQmVpZ2UgRGlhbCBNZW5cJ3MgV2F0Y2gtVFcwME1GMTAxIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJpY2UiIDogIklOUiIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZXJjaGFudE5hbWUiIDogIkNsb3VkdGFpbCBJbmRpYSIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVyY2hhbnRDdXN0b21lcklEIiA6ICJBVDk1SUc5T05aRDdTIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJza3UiIDogIkIwN0hKTFMyRjUiLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFkSWQiIDogIkEwMzEwODIwMVFMOUtITlVMVkxCQiIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY2FtcGFpZ25JZCIgOiAiQTA1NDk5MjVUTUFZR1RUT1lQWDAiICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgXTsgICAgIFNGQ2xpZW50LnNlbmRBZEluZm8oZmVlZGJhY2tKc29uKTsgfSA8L3NjcmlwdD4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3R5bGU+ICAgICAuc3BfaHFwX3NoYXJlZF9wcm9kdWN0X2xhcmdlcl9pbWFnZSB7ICAgICAgICAgd2lkdGg6IDE0MHB4OyAgICAgICAgIGhlaWdodDogMTEwcHg7ICAgICAgICAgbWFyZ2luOiAxMHB4IDIwcHggMTBweCAyMHB4OyAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgICAgIH0gICAgIC5zcF9ocXBfc2hhcmVkX3Byb2R1Y3Rfc21hbGxlcl9pbWFnZSB7ICAgICAgICAgd2lkdGg6IDExMHB4OyAgICAgICAgIGhlaWdodDogMTEwcHg7ICAgICAgICAgbWFyZ2luOiAxMHB4IDEwcHggMTBweCAxMHB4OyAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgICAgIH0gICAgIC5zcF9ocXBfc2hhcmVkX3Jlc3BvbnNpdmVfYm94IHsgICAgICAgICB3aWR0aDogMTAwJTsgICAgICAgICBtaW4td2lkdGg6IDIwMHB4OyAgICAgICAgIG1heC13aWR0aDogNjUwcHg7ICAgICAgICAgaGVpZ2h0OjEzMHB4OyAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlOyAgICAgICAgIG1hcmdpbi1sZWZ0Oi05OTk5OTlweDsgICAgIH0gICAgIC5zcF9ocXBfc2hhcmVkX2J1eV9ib3ggeyAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4OyAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7ICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7ICAgICAgICAgcGFkZGluZy1sZWZ0OiAxODBweDsgICAgICAgICBoZWlnaHQ6IDEzMHB4OyAgICAgICAgIGRpc3BsYXk6IGZsZXg7ICAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyOyAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsgICAgIH0gICAgIC5zcF9ocXBfc2hhcmVkX3Byb2R1Y3RfdGl0bGUgeyAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47ICAgICAgICAgZm9udC1zaXplOiAxNHB4OyAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOXB4OyAgICAgICAgIGNvbG9yOiAjMTExMTExOyAgICAgfSAgICAgLnNwX2hxcF9zaGFyZWRfcmF0aW5nIHsgICAgICAgIGZvbnQtc2l6ZTogMTJweDsgICAgICAgIGNvbG9yOiAjNTU1OyAgICAgfSAgICAgLnNwX2hxcF9zaGFyZWRfZGl2aWRlciB7ICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyAgICAgICAgIHRvcDogLTFweDsgICAgICAgICBmb250LXNpemU6IDE2cHg7ICAgICAgICAgY29sb3I6ICM5OTk5OTk7ICAgICAgICAgb3BhY2l0eTogMC4zOyAgICAgfSAgICAgLnNwX2hxcF9zaGFyZWRfYWRMaW5rIHsgICAgICAgICB3aWR0aDogMTAwJTsgICAgICAgICBoZWlnaHQ6IDEwMCU7ICAgICAgICAgei1pbmRleDogMTUwOyAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgICAgICAgICB0b3A6IDBweDsgICAgICAgICByaWdodDogMHB4OyAgICAgfSAgICAgLnNwX2hxcF9zaGFyZWRfcHJpY2UgeyAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsgICAgICAgICBjb2xvcjogIzU1NTsgICAgIH0gICAgIC5zcF9ocXBfc2hhcmVkX3ByaW1lX2ljb24geyAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7ICAgICB9ICAgICAuc3BfaHFwX3NoYXJlZF9zaG9wTm93IHsgICAgICAgICBmb250LXNpemU6IDEycHg7ICAgICAgICAgY29sb3I6ICMwMDY2QzA7ICAgICB9ICAgICAuc3BfaHFwX3NoYXJlZF9iYWNrZ3JvdW5kIHsgICAgICAgICB0b3A6IDA7ICAgICAgICAgbGVmdDogMDsgICAgICAgICBib3R0b206IDA7ICAgICAgICAgcmlnaHQ6IDA7ICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyAgICAgICAgIHotaW5kZXg6IDEwMDsgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyAgICAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNDczKSwgcmdiYSgwLCAwLCAwLCAwLjA0NzMpKTsgICAgICAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQocmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA0NzMpLCByZ2JhKDAsIDAsIDAsIDAuMDQ3MykpOyAgICAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNDczKSwgcmdiYSgwLCAwLCAwLCAwLjA0NzMpKTsgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQocmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA0NzMpLCByZ2JhKDAsIDAsIDAsIDAuMDQ3MykpOyAgICAgfSAgICAgZGl2LmEtYm94LnNwX2hxcF9zaGFyZWRfYmFja2dyb3VuZCA+IGRpdiB7ICAgICAgICAgaGVpZ2h0OiAxMDAlOyAgICAgfSAgICAgLnNwX2hxcF9zaGFyZWRfZmlyc3RSb3cgeyAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7ICAgICB9ICAgICAuc3BfaHFwX3NoYXJlZF90aGlyZFJvdyB7ICAgICAgICAgbWFyZ2luLXRvcDogMTBweDsgICAgIH0gPC9zdHlsZT4gICAgICAgICAgICAgICA8ZGl2IGlkPSJzcF9ocXBfc2hhcmVkIiBjbGFzcz0iYS1ib3ggc3BfaHFwX3NoYXJlZF9yZXNwb25zaXZlX2JveCI+PGRpdiBjbGFzcz0iYS1ib3gtaW5uZXIgYS1wYWRkaW5nLW5vbmUiPiAgICAgICAgIDxkaXYgaWQ9InNwX2hxcF9zaGFyZWRfaW5uZXIiIHBhZGRpbmc9Im5vbmUiIGNsYXNzPSJzcF9ocXBfc2hhcmVkX2JhY2tncm91bmQgc3BfaHFwX3NoYXJlZF9yZXNwb25zaXZlX2JveCd9Ij4gICAgICAgICAgICAgPGEgY2xhc3M9ImEtbGluay1ub3JtYWwgc3BfaHFwX3NoYXJlZF9hZExpbmsgYS10ZXh0LW5vcm1hbCIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIHRpdGxlPSJUSU1FWCBFeHBlZGl0aW9uIEFuYWxvZy1EaWdpdGFsIEJlaWdlIERpYWwgTWVuJ3MgV2F0Y2gtVFcwME1GMTAxIiBocmVmPSJodHRwczovL2FheC1ldS5hbWF6b24uaW4veC9jL1FxRnNBS0pSVHRvVGtiZDhGeG9lREd3QUFBRjNfN2VkRXdNQUFBSF9BYWtseFNRL2h0dHBzOi8vd3d3LmFtYXpvbi5pbi9ncC9zbHJlZGlyZWN0L3BpY2Fzc29SZWRpcmVjdC5odG1sL3JlZj1zc3BhX2RrX2hxcF9kZXRhaWxfYWF4XzA\/aWU9VVRGOCZhbXA7YWRJZD1BMDMxMDgyMDFRTDlLSE5VTFZMQkImYW1wO3F1YWxpZmllcj0xNjE0OTAyOTU5JmFtcDtpZD01MTAxOTI2Mjg4Mzc4NjY4JmFtcDt3aWRnZXROYW1lPXNwX2hxcF9zaGFyZWQmYW1wO3VybD0lMkZkcCUyRkIwN0hKTFMyRjUlMkZyZWYlM0Rzc3BhX2RrX2hxcF9kZXRhaWxfYWF4XzAlM0Zwc2MlM0QxIj48L2E+ICAgICAgICAgPC9kaXY+ICAgICAgICAgPGRpdiBpZD0ic3BfaHFwX3NoYXJlZF9pbWFnZSI+ICAgICAgICAgICAgIDxpbWcgYWx0PSJUSU1FWCBFeHBlZGl0aW9uIEFuYWxvZy1EaWdpdGFsIEJlaWdlIERpYWwgTWVuJmFtcDsjMzk7cyBXYXRjaC1UVzAwTUYxMDEiIHNyYz0iaHR0cHM6Ly9tLm1lZGlhLWFtYXpvbi5jb20vaW1hZ2VzL0kvNDFvLWt2WXJ3VEwuX0FDX1NSMTQwLDExMF8uanBnIiBjbGFzcz0iYS1keW5hbWljLWltYWdlIHNwX2hxcF9zaGFyZWRfcHJvZHVjdF9sYXJnZXJfaW1hZ2UiIGhlaWdodD0iMTEwcHgiIHdpZHRoPSIxNDBweCIgZGF0YS1hLWR5bmFtaWMtaW1hZ2U9InsmcXVvdDtodHRwczovL20ubWVkaWEtYW1hem9uLmNvbS9pbWFnZXMvSS80MW8ta3ZZcndUTC5fQUNfU1I0MjAsMzMwXy5qcGcmcXVvdDs6WzQyMCwzMzBdLCZxdW90O2h0dHBzOi8vbS5tZWRpYS1hbWF6b24uY29tL2ltYWdlcy9JLzQxby1rdllyd1RMLl9BQ19TUjI4MCwyMjBfLmpwZyZxdW90OzpbMjgwLDIyMF0sJnF1b3Q7aHR0cHM6Ly9tLm1lZGlhLWFtYXpvbi5jb20vaW1hZ2VzL0kvNDFvLWt2WXJ3VEwuX0FDX1NSMTQwLDExMF8uanBnJnF1b3Q7OlsxNDAsMTEwXX0iLz4gICAgICAgICA8L2Rpdj4gICAgICAgICA8ZGl2IGNsYXNzPSJhLXJvdyBzcF9ocXBfc2hhcmVkX2J1eV9ib3giPiAgICAgICAgICAgICA8ZGl2IGlkPSJzcF9ocXBfc2hhcmVkX2ZpcnN0Um93IiBjbGFzcz0iYS1yb3cgc3BfaHFwX3NoYXJlZF9maXJzdFJvdyI+ICAgICAgICAgICAgICAgICA8c3BhbiBpZD0ic3BfaHFwX3NoYXJlZF9kaXNwbGF5X3RpdGxlIiBjbGFzcz0ic3BfaHFwX3NoYXJlZF9wcm9kdWN0X3RpdGxlIj5USU1FWCBFeHBlZGl0aW9uIEFuYWxvZy1EaWdpdGFsIEJlaWdlIERpYWwgTWVuJ3MgV2F0Y2gtVFcwME1GMTAxPC9zcGFuPiAgICAgICAgICAgICA8L2Rpdj4gICAgICAgICAgICAgPGRpdiBjbGFzcz0iYS1yb3cgc3BfaHFwX3NoYXJlZF9zZWNvbmRSb3ciPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0ic3BfaHFwX3NoYXJlZF9yZXZpZXdzIiBzdHlsZT0iZGlzcGxheTppbmxpbmU7Ij4gICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImEtaWNvbiBhLWljb24tc3RhciBhLXN0YXItNCI+PC9pPiAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BfaHFwX3NoYXJlZF9yYXRpbmciPjc1PC9zcGFuPiAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJzcF9waXBlX2RpdmlkZXIiIGNsYXNzPSJhLWNvbG9yLXRlcnRpYXJ5IHNwX2hxcF9zaGFyZWRfZGl2aWRlciI+ICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhLWxldHRlci1zcGFjZSI+PC9zcGFuPjxzcGFuIGNsYXNzPSJhLWxldHRlci1zcGFjZSI+PC9zcGFuPiB8IDxzcGFuIGNsYXNzPSJhLWxldHRlci1zcGFjZSI+PC9zcGFuPjxzcGFuIGNsYXNzPSJhLWxldHRlci1zcGFjZSI+PC9zcGFuPiAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4gICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJzcF9saW5lX2JyZWFrX2RpdmlkZXIiIGNsYXNzPSJhLXJvdyI+PC9kaXY+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcF9ocXBfc2hhcmVkX3ByaWNlIj7igrkxLDk5OS4wMDwvc3Bhbj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJhLWljb24gYS1pY29uLXByaW1lIGEtaWNvbi1zbWFsbCBzcF9ocXBfc2hhcmVkX3ByaW1lX2ljb24iIHJvbGU9InByZXNlbnRhdGlvbiI+PC9pPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAgICAgICAgICAgICA8ZGl2IGlkPSJzcF9zaG9wX25vdyIgY2xhc3M9ImEtcm93IHNwX2hxcF9zaGFyZWRfdGhpcmRSb3ciPiAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwX2hxcF9zaGFyZWRfc2hvcE5vdyI+U2hvcCBub3cgJiM4MjUwOzwvc3Bhbj4gICAgICAgICAgICAgPC9kaXY+ICAgICAgICAgPC9kaXY+ICAgICA8L2Rpdj48L2Rpdj4gPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPihmdW5jdGlvbihmKSB7dmFyIF9ucD0od2luZG93LlAuX25hbWVzcGFjZSgiRmlyZWJpcmRTcFJlbmRlcmluZyIpKTtpZihfbnAuZ3VhcmRGYXRhbCl7X25wLmd1YXJkRmF0YWwoZikoX25wKTt9ZWxzZXtmKF9ucCk7fX0oZnVuY3Rpb24oUCkgeyAgICAgUC53aGVuKCdBJywgJ2pRdWVyeScpLmV4ZWN1dGUoZnVuY3Rpb24oQSwgalF1ZXJ5KSB7ICAgICAgICAgLyogICogIGpRdWVyeSBkb3Rkb3Rkb3QgMS42LjcgICogICogIENvcHlyaWdodCAoYykgMjAxMyBGcmVkIEhldXNzY2hlbiAgKiAgd3d3LmZyZWJzaXRlLm5sICAqICAqICBQbHVnaW4gd2Vic2l0ZTogICogIGRvdGRvdGRvdC5mcmVic2l0ZS5ubCAgKiAgKiAgRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGFuZCBHUEwgbGljZW5zZXMuICAqICBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL01JVF9MaWNlbnNlICAqICBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0dOVV9HZW5lcmFsX1B1YmxpY19MaWNlbnNlICAqICAqICBUaGlzIHNvZnR3YXJlIGlzIHVzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLiAgKi8gKGZ1bmN0aW9uKCAkLCB1bmRlZiApIHsgICAgIGlmICggJC5mbi5kb3Rkb3Rkb3QgKSAgICAgeyAgICAgICAgIHJldHVybjsgICAgIH0gICAgICQuZm4uZG90ZG90ZG90ID0gZnVuY3Rpb24oIG8gKSAgICAgeyAgICAgICAgIGlmICggdGhpcy5sZW5ndGggPT0gMCApICAgICAgICAgeyAgICAgICAgICAgICBpZiAoICFvIHx8IG8uZGVidWcgIT09IGZhbHNlICkgICAgICAgICAgICAgeyAgICAgICAgICAgICAgICAgZGVidWcoIHRydWUsICdObyBlbGVtZW50IGZvdW5kIGZvciAiJyArIHRoaXMuc2VsZWN0b3IgKyAnIi4nICk7ICAgICAgICAgICAgIH0gICAgICAgICAgICAgcmV0dXJuIHRoaXM7ICAgICAgICAgfSAgICAgICAgIGlmICggdGhpcy5sZW5ndGggPiAxICkgICAgICAgICB7ICAgICAgICAgICAgIHJldHVybiB0aGlzLmVhY2goICAgICAgICAgICAgICAgICBmdW5jdGlvbigpICAgICAgICAgICAgICAgICB7ICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5kb3Rkb3Rkb3QoIG8gKTsgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgKTsgICAgICAgICB9ICAgICAgICAgdmFyICRkb3QgPSB0aGlzOyAgICAgICAgIGlmICggJGRvdC5kYXRhKCAnZG90ZG90ZG90JyApICkgICAgICAgICB7ICAgICAgICAgICAgICRkb3QudHJpZ2dlciggJ2Rlc3Ryb3kuZG90JyApOyAgICAgICAgIH0gICAgICAgICAkZG90LmRhdGEoICdkb3Rkb3Rkb3Qtc3R5bGUnLCAkZG90LmF0dHIoICdzdHlsZScgKSB8fCAnJyApOyAgICAgICAgICRkb3QuY3NzKCAnd29yZC13cmFwJywgJ2JyZWFrLXdvcmQnICk7ICAgICAgICAgaWYgKCRkb3QuY3NzKCAnd2hpdGUtc3BhY2UnICkgPT09ICdub3dyYXAnKSAgICAgICAgIHsgICAgICAgICAgICAgJGRvdC5jc3MoICd3aGl0ZS1zcGFjZScsICdub3JtYWwnICk7ICAgICAgICAgfSAgICAgICAgICRkb3QuYmluZF9ldmVudHMgPSBmdW5jdGlvbigpICAgICAgICAgeyAgICAgICAgICAgICAkZG90LmJpbmQoICAgICAgICAgICAgICAgICAndXBkYXRlLmRvdCcsICAgICAgICAgICAgICAgICBmdW5jdGlvbiggZSwgYyApICAgICAgICAgICAgICAgICB7ICAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOyAgICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7ICAgICAgICAgICAgICAgICAgICAgb3B0cy5tYXhIZWlnaHQgPSAoIHR5cGVvZiBvcHRzLmhlaWdodCA9PSAnbnVtYmVyJyApICAgICAgICAgICAgICAgICAgICAgICAgID8gb3B0cy5oZWlnaHQgICAgICAgICAgICAgICAgICAgICAgICAgOiBnZXRUcnVlSW5uZXJIZWlnaHQoICRkb3QgKTsgICAgICAgICAgICAgICAgICAgICBvcHRzLm1heEhlaWdodCArPSBvcHRzLnRvbGVyYW5jZTsgICAgICAgICAgICAgICAgICAgICBpZiAoIHR5cGVvZiBjICE9ICd1bmRlZmluZWQnICkgICAgICAgICAgICAgICAgICAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgIGlmICggdHlwZW9mIGMgPT0gJ3N0cmluZycgfHwgYyBpbnN0YW5jZW9mIEhUTUxFbGVtZW50ICkgICAgICAgICAgICAgICAgICAgICAgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYyA9ICQoJzxkaXYgLz4nKS5hcHBlbmQoIGMgKS5jb250ZW50cygpOyAgICAgICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgIGlmICggYyBpbnN0YW5jZW9mICQgKSAgICAgICAgICAgICAgICAgICAgICAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmdDb250ZW50ID0gYzsgICAgICAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAkaW5yID0gJGRvdC53cmFwSW5uZXIoICc8ZGl2IGNsYXNzPSJkb3Rkb3Rkb3QiIC8+JyApLmNoaWxkcmVuKCk7ICAgICAgICAgICAgICAgICAgICAgJGluci5lbXB0eSgpICAgICAgICAgICAgICAgICAgICAgICAgIC5hcHBlbmQoIG9yZ0NvbnRlbnQuY2xvbmUoIHRydWUgKSApICAgICAgICAgICAgICAgICAgICAgICAgIC5maW5kKCAnYnInICkucmVwbGFjZVdpdGgoICcgIDxiciAvPiAgJyApLmVuZCgpICAgICAgICAgICAgICAgICAgICAgICAgIC5jc3MoeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCcgICAgOiAnYXV0bycsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd2lkdGgnICAgICA6ICdhdXRvJywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib3JkZXInICAgIDogJ25vbmUnLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3BhZGRpbmcnICAgOiAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21hcmdpbicgICAgOiAwICAgICAgICAgICAgICAgICAgICAgICAgIH0pOyAgICAgICAgICAgICAgICAgICAgIHZhciBhZnRlciA9IGZhbHNlLCAgICAgICAgICAgICAgICAgICAgICAgICB0cnVuYyA9IGZhbHNlOyAgICAgICAgICAgICAgICAgICAgIGlmICggY29uZi5hZnRlckVsZW1lbnQgKSAgICAgICAgICAgICAgICAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgYWZ0ZXIgPSBjb25mLmFmdGVyRWxlbWVudC5jbG9uZSggdHJ1ZSApOyAgICAgICAgICAgICAgICAgICAgICAgICBhZnRlci5zaG93KCk7ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmYuYWZ0ZXJFbGVtZW50LnJlbW92ZSgpOyAgICAgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICBpZiAoIHRlc3QoICRpbnIsIG9wdHMgKSApICAgICAgICAgICAgICAgICAgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIG9wdHMud3JhcCA9PSAnY2hpbGRyZW4nICkgICAgICAgICAgICAgICAgICAgICAgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1bmMgPSBjaGlsZHJlbiggJGluciwgb3B0cywgYWZ0ZXIgKTsgICAgICAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlICAgICAgICAgICAgICAgICAgICAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydW5jID0gZWxsaXBzaXMoICRpbnIsICRkb3QsICRpbnIsIG9wdHMsIGFmdGVyICk7ICAgICAgICAgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgJGluci5yZXBsYWNlV2l0aCggJGluci5jb250ZW50cygpICk7ICAgICAgICAgICAgICAgICAgICAgJGluciA9IG51bGw7ICAgICAgICAgICAgICAgICAgICAgaWYgKCAkLmlzRnVuY3Rpb24oIG9wdHMuY2FsbGJhY2sgKSApICAgICAgICAgICAgICAgICAgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICBvcHRzLmNhbGxiYWNrLmNhbGwoICRkb3RbIDAgXSwgdHJ1bmMsIG9yZ0NvbnRlbnQgKTsgICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgY29uZi5pc1RydW5jYXRlZCA9IHRydW5jOyAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVuYzsgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgKS5iaW5kKCAgICAgICAgICAgICAgICAgJ2lzVHJ1bmNhdGVkLmRvdCcsICAgICAgICAgICAgICAgICBmdW5jdGlvbiggZSwgZm4gKSAgICAgICAgICAgICAgICAgeyAgICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsgICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOyAgICAgICAgICAgICAgICAgICAgIGlmICggdHlwZW9mIGZuID09ICdmdW5jdGlvbicgKSAgICAgICAgICAgICAgICAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgZm4uY2FsbCggJGRvdFsgMCBdLCBjb25mLmlzVHJ1bmNhdGVkICk7ICAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjb25mLmlzVHJ1bmNhdGVkOyAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICApLmJpbmQoICAgICAgICAgICAgICAgICAnb3JpZ2luYWxDb250ZW50LmRvdCcsICAgICAgICAgICAgICAgICBmdW5jdGlvbiggZSwgZm4gKSAgICAgICAgICAgICAgICAgeyAgICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsgICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOyAgICAgICAgICAgICAgICAgICAgIGlmICggdHlwZW9mIGZuID09ICdmdW5jdGlvbicgKSAgICAgICAgICAgICAgICAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgZm4uY2FsbCggJGRvdFsgMCBdLCBvcmdDb250ZW50ICk7ICAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvcmdDb250ZW50OyAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICApLmJpbmQoICAgICAgICAgICAgICAgICAnZGVzdHJveS5kb3QnLCAgICAgICAgICAgICAgICAgZnVuY3Rpb24oIGUgKSAgICAgICAgICAgICAgICAgeyAgICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsgICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOyAgICAgICAgICAgICAgICAgICAgICRkb3QudW53YXRjaCgpICAgICAgICAgICAgICAgICAgICAgICAgIC51bmJpbmRfZXZlbnRzKCkgICAgICAgICAgICAgICAgICAgICAgICAgLmVtcHR5KCkgICAgICAgICAgICAgICAgICAgICAgICAgLmFwcGVuZCggb3JnQ29udGVudCApICAgICAgICAgICAgICAgICAgICAgICAgIC5hdHRyKCAnc3R5bGUnLCAkZG90LmRhdGEoICdkb3Rkb3Rkb3Qtc3R5bGUnICkgfHwgJycgKSAgICAgICAgICAgICAgICAgICAgICAgICAuZGF0YSggJ2RvdGRvdGRvdCcsIGZhbHNlICk7ICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICk7ICAgICAgICAgICAgIHJldHVybiAkZG90OyAgICAgICAgIH07ICAgICAgICAgJGRvdC51bmJpbmRfZXZlbnRzID0gZnVuY3Rpb24oKSAgICAgICAgIHsgICAgICAgICAgICAgJGRvdC51bmJpbmQoJy5kb3QnKTsgICAgICAgICAgICAgcmV0dXJuICRkb3Q7ICAgICAgICAgfTsgICAgICAgICAkZG90LndhdGNoID0gZnVuY3Rpb24oKSAgICAgICAgIHsgICAgICAgICAgICAgJGRvdC51bndhdGNoKCk7ICAgICAgICAgICAgIGlmICggb3B0cy53YXRjaCA9PSAnd2luZG93JyApICAgICAgICAgICAgIHsgICAgICAgICAgICAgICAgIHZhciAkd2luZG93ID0gJCh3aW5kb3cpLCAgICAgICAgICAgICAgICAgICAgIF93V2lkdGggPSAkd2luZG93LndpZHRoKCksICAgICAgICAgICAgICAgICAgICAgX3dIZWlnaHQgPSAkd2luZG93LmhlaWdodCgpOyAgICAgICAgICAgICAgICAgJHdpbmRvdy5iaW5kKCAgICAgICAgICAgICAgICAgICAgICdyZXNpemUuZG90JyArIGNvbmYuZG90SWQsICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSAgICAgICAgICAgICAgICAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCBfd1dpZHRoICE9ICR3aW5kb3cud2lkdGgoKSB8fCBfd0hlaWdodCAhPSAkd2luZG93LmhlaWdodCgpIHx8ICFvcHRzLndpbmRvd1Jlc2l6ZUZpeCApICAgICAgICAgICAgICAgICAgICAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF93V2lkdGggPSAkd2luZG93LndpZHRoKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfd0hlaWdodCA9ICR3aW5kb3cuaGVpZ2h0KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIHdhdGNoSW50ICkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKCB3YXRjaEludCApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2F0Y2hJbnQgPSBzZXRUaW1lb3V0KCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb3QudHJpZ2dlciggJ3VwZGF0ZS5kb3QnICk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgMTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7ICAgICAgICAgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICApOyAgICAgICAgICAgICB9ICAgICAgICAgICAgIGVsc2UgICAgICAgICAgICAgeyAgICAgICAgICAgICAgICAgd2F0Y2hPcmcgPSBnZXRTaXplcyggJGRvdCApOyAgICAgICAgICAgICAgICAgd2F0Y2hJbnQgPSBzZXRJbnRlcnZhbCggICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbigpICAgICAgICAgICAgICAgICAgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgd2F0Y2hOZXcgPSBnZXRTaXplcyggJGRvdCApOyAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIHdhdGNoT3JnLndpZHRoICAhPSB3YXRjaE5ldy53aWR0aCB8fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhdGNoT3JnLmhlaWdodCAhPSB3YXRjaE5ldy5oZWlnaHQgKSAgICAgICAgICAgICAgICAgICAgICAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZG90LnRyaWdnZXIoICd1cGRhdGUuZG90JyApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2F0Y2hPcmcgPSBnZXRTaXplcyggJGRvdCApOyAgICAgICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgfSwgMTAwICAgICAgICAgICAgICAgICApOyAgICAgICAgICAgICB9ICAgICAgICAgICAgIHJldHVybiAkZG90OyAgICAgICAgIH07ICAgICAgICAgJGRvdC51bndhdGNoID0gZnVuY3Rpb24oKSAgICAgICAgIHsgICAgICAgICAgICAgJCh3aW5kb3cpLnVuYmluZCggJ3Jlc2l6ZS5kb3QnICsgY29uZi5kb3RJZCApOyAgICAgICAgICAgICBpZiAoIHdhdGNoSW50ICkgICAgICAgICAgICAgeyAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCggd2F0Y2hJbnQgKTsgICAgICAgICAgICAgfSAgICAgICAgICAgICByZXR1cm4gJGRvdDsgICAgICAgICB9OyAgICAgICAgIHZhciBvcmdDb250ZW50ICA9ICRkb3QuY29udGVudHMoKSwgICAgICAgICAgICAgb3B0cyAgICAgICAgPSAkLmV4dGVuZCggdHJ1ZSwge30sICQuZm4uZG90ZG90ZG90LmRlZmF1bHRzLCBvICksICAgICAgICAgICAgIGNvbmYgICAgICAgID0ge30sICAgICAgICAgICAgIHdhdGNoT3JnICAgID0ge30sICAgICAgICAgICAgIHdhdGNoSW50ICAgID0gbnVsbCwgICAgICAgICAgICAgJGluciAgICAgICAgPSBudWxsOyAgICAgICAgIGlmICggISggb3B0cy5sYXN0Q2hhcmFjdGVyLnJlbW92ZSBpbnN0YW5jZW9mIEFycmF5ICkgKSAgICAgICAgIHsgICAgICAgICAgICAgb3B0cy5sYXN0Q2hhcmFjdGVyLnJlbW92ZSA9ICQuZm4uZG90ZG90ZG90LmRlZmF1bHRBcnJheXMubGFzdENoYXJhY3Rlci5yZW1vdmU7ICAgICAgICAgfSAgICAgICAgIGlmICggISggb3B0cy5sYXN0Q2hhcmFjdGVyLm5vRWxsaXBzaXMgaW5zdGFuY2VvZiBBcnJheSApICkgICAgICAgICB7ICAgICAgICAgICAgIG9wdHMubGFzdENoYXJhY3Rlci5ub0VsbGlwc2lzID0gJC5mbi5kb3Rkb3Rkb3QuZGVmYXVsdEFycmF5cy5sYXN0Q2hhcmFjdGVyLm5vRWxsaXBzaXM7ICAgICAgICAgfSAgICAgICAgIGNvbmYuYWZ0ZXJFbGVtZW50ICAgPSBnZXRFbGVtZW50KCBvcHRzLmFmdGVyLCAkZG90ICk7ICAgICAgICAgY29uZi5pc1RydW5jYXRlZCAgICA9IGZhbHNlOyAgICAgICAgIGNvbmYuZG90SWQgICAgICAgICAgPSBkb3RJZCsrOyAgICAgICAgICRkb3QuZGF0YSggJ2RvdGRvdGRvdCcsIHRydWUgKSAgICAgICAgICAgICAuYmluZF9ldmVudHMoKSAgICAgICAgICAgICAudHJpZ2dlciggJ3VwZGF0ZS5kb3QnICk7ICAgICAgICAgaWYgKCBvcHRzLndhdGNoICkgICAgICAgICB7ICAgICAgICAgICAgICRkb3Qud2F0Y2goKTsgICAgICAgICB9ICAgICAgICAgcmV0dXJuICRkb3Q7ICAgICB9OyAgICAgJC5mbi5kb3Rkb3Rkb3QuZGVmYXVsdHMgPSB7ICAgICAgICAgJ2VsbGlwc2lzJyAgICAgICAgICA6ICcuLi4gJywgICAgICAgICAnd3JhcCcgICAgICAgICAgICAgIDogJ3dvcmQnLCAgICAgICAgICdmYWxsYmFja1RvTGV0dGVyJyAgOiB0cnVlLCAgICAgICAgICdsYXN0Q2hhcmFjdGVyJyAgICAgOiB7fSwgICAgICAgICAndG9sZXJhbmNlJyAgICAgICAgIDogMCwgICAgICAgICAnY2FsbGJhY2snICAgICAgICAgIDogbnVsbCwgICAgICAgICAnYWZ0ZXInICAgICAgICAgICAgIDogbnVsbCwgICAgICAgICAnaGVpZ2h0JyAgICAgICAgICAgIDogbnVsbCwgICAgICAgICAnd2F0Y2gnICAgICAgICAgICAgIDogZmFsc2UsICAgICAgICAgJ3dpbmRvd1Jlc2l6ZUZpeCcgICA6IHRydWUsICAgICAgICAgJ2RlYnVnJyAgICAgICAgICAgICA6IGZhbHNlICAgICB9OyAgICAgJC5mbi5kb3Rkb3Rkb3QuZGVmYXVsdEFycmF5cyA9IHsgICAgICAgICAnbGFzdENoYXJhY3RlcicgICAgIDogeyAgICAgICAgICAgICAncmVtb3ZlJyAgICAgICAgICAgIDogWyAnICcsICdcdTMwMDAnLCAnLCcsICc7JywgJy4nLCAnIScsICc\/JyBdLCAgICAgICAgICAgICAnbm9FbGxpcHNpcycgICAgICAgIDogW10gICAgICAgICB9ICAgICB9OyAgICAgdmFyIGRvdElkID0gMTsgICAgIGZ1bmN0aW9uIGNoaWxkcmVuKCAkZWxlbSwgbywgYWZ0ZXIgKSAgICAgeyAgICAgICAgIHZhciAkZWxlbWVudHMgICA9ICRlbGVtLmNoaWxkcmVuKCksICAgICAgICAgICAgIGlzVHJ1bmNhdGVkID0gZmFsc2U7ICAgICAgICAgJGVsZW0uZW1wdHkoKTsgICAgICAgICBmb3IgKCB2YXIgYSA9IDAsIGwgPSAkZWxlbWVudHMubGVuZ3RoOyBhIDwgbDsgYSsrICkgICAgICAgICB7ICAgICAgICAgICAgIHZhciAkZSA9ICRlbGVtZW50cy5lcSggYSApOyAgICAgICAgICAgICAkZWxlbS5hcHBlbmQoICRlICk7ICAgICAgICAgICAgIGlmICggYWZ0ZXIgKSAgICAgICAgICAgICB7ICAgICAgICAgICAgICAgICAkZWxlbS5hcHBlbmQoIGFmdGVyICk7ICAgICAgICAgICAgIH0gICAgICAgICAgICAgaWYgKCB0ZXN0KCAkZWxlbSwgbyApICkgICAgICAgICAgICAgeyAgICAgICAgICAgICAgICAgJGUucmVtb3ZlKCk7ICAgICAgICAgICAgICAgICBpc1RydW5jYXRlZCA9IHRydWU7ICAgICAgICAgICAgICAgICBicmVhazsgICAgICAgICAgICAgfSAgICAgICAgICAgICBlbHNlICAgICAgICAgICAgIHsgICAgICAgICAgICAgICAgIGlmICggYWZ0ZXIgKSAgICAgICAgICAgICAgICAgeyAgICAgICAgICAgICAgICAgICAgIGFmdGVyLmRldGFjaCgpOyAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICB9ICAgICAgICAgfSAgICAgICAgIHJldHVybiBpc1RydW5jYXRlZDsgICAgIH0gICAgIGZ1bmN0aW9uIGVsbGlwc2lzKCAkZWxlbSwgJGQsICRpLCBvLCBhZnRlciApICAgICB7ICAgICAgICAgdmFyICRlbGVtZW50cyAgID0gJGVsZW0uY29udGVudHMoKSwgICAgICAgICAgICAgaXNUcnVuY2F0ZWQgPSBmYWxzZTsgICAgICAgICAkZWxlbS5lbXB0eSgpOyAgICAgICAgIHZhciBub3R4ID0gJ3RhYmxlLCB0aGVhZCwgdGJvZHksIHRmb290LCB0ciwgY29sLCBjb2xncm91cCwgb2JqZWN0LCBlbWJlZCwgcGFyYW0sIG9sLCB1bCwgZGwsIGJsb2NrcXVvdGUsIHNlbGVjdCwgb3B0Z3JvdXAsIG9wdGlvbiwgdGV4dGFyZWEsIHNjcmlwdCwgc3R5bGUnOyAgICAgICAgIGZvciAoIHZhciBhID0gMCwgbCA9ICRlbGVtZW50cy5sZW5ndGg7IGEgPCBsOyBhKysgKSAgICAgICAgIHsgICAgICAgICAgICAgaWYgKCBpc1RydW5jYXRlZCApICAgICAgICAgICAgIHsgICAgICAgICAgICAgICAgIGJyZWFrOyAgICAgICAgICAgICB9ICAgICAgICAgICAgIHZhciBlICAgPSAkZWxlbWVudHNbIGEgXSwgICAgICAgICAgICAgICAgICRlICA9ICQoZSk7ICAgICAgICAgICAgIGlmICggdHlwZW9mIGUgPT0gJ3VuZGVmaW5lZCcgfHwgKCBlLm5vZGVUeXBlID09IDMgJiYgJC50cmltKCBlLmRhdGEgKS5sZW5ndGggPT0gMCApICkgICAgICAgICAgICAgeyAgICAgICAgICAgICAgICAgY29udGludWU7ICAgICAgICAgICAgIH0gICAgICAgICAgICAgJGVsZW0uYXBwZW5kKCAkZSApOyAgICAgICAgICAgICBpZiAoIGFmdGVyICkgICAgICAgICAgICAgeyAgICAgICAgICAgICAgICAgJGVsZW1bICRlbGVtLmlzKCBub3R4ICkgPyAnYWZ0ZXInIDogJ2FwcGVuZCcgXSggYWZ0ZXIgKTsgICAgICAgICAgICAgfSAgICAgICAgICAgICBpZiAoIHRlc3QoICRpLCBvICkgKSAgICAgICAgICAgICB7ICAgICAgICAgICAgICAgICBpZiAoIGUubm9kZVR5cGUgPT0gMyApICAgICAgICAgICAgICAgICB7ICAgICAgICAgICAgICAgICAgICAgaXNUcnVuY2F0ZWQgPSBlbGxpcHNpc0VsZW1lbnQoICRlLCAkZCwgJGksIG8sIGFmdGVyICk7ICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICBlbHNlICAgICAgICAgICAgICAgICB7ICAgICAgICAgICAgICAgICAgICAgaXNUcnVuY2F0ZWQgPSBlbGxpcHNpcyggJGUsICRkLCAkaSwgbywgYWZ0ZXIgKTsgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgIGlmICggIWlzVHJ1bmNhdGVkICkgICAgICAgICAgICAgICAgIHsgICAgICAgICAgICAgICAgICAgICAkZS5yZW1vdmUoKTsgICAgICAgICAgICAgICAgICAgICBpc1RydW5jYXRlZCA9IHRydWU7ICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgIH0gICAgICAgICAgICAgaWYgKCAhaXNUcnVuY2F0ZWQgKSAgICAgICAgICAgICB7ICAgICAgICAgICAgICAgICBpZiAoIGFmdGVyICkgICAgICAgICAgICAgICAgIHsgICAgICAgICAgICAgICAgICAgICBhZnRlci5kZXRhY2goKTsgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgfSAgICAgICAgIH0gICAgICAgICByZXR1cm4gaXNUcnVuY2F0ZWQ7ICAgICB9ICAgICBmdW5jdGlvbiBlbGxpcHNpc0VsZW1lbnQoICRlLCAkZCwgJGksIG8sIGFmdGVyICkgICAgIHsgICAgICAgICB2YXIgZSA9ICRlWyAwIF07ICAgICAgICAgaWYgKCAhZSApICAgICAgICAgeyAgICAgICAgICAgICByZXR1cm4gZmFsc2U7ICAgICAgICAgfSAgICAgICAgIHZhciB0eHQgICAgICAgICA9IGdldFRleHRDb250ZW50KCBlICksICAgICAgICAgICAgIHNwYWNlICAgICAgID0gKCB0eHQuaW5kZXhPZignICcpICE9PSAtMSApID8gJyAnIDogJ1x1MzAwMCcsICAgICAgICAgICAgIHNlcGFyYXRvciAgID0gKCBvLndyYXAgPT0gJ2xldHRlcicgKSA\/ICcnIDogc3BhY2UsICAgICAgICAgICAgIHRleHRBcnIgICAgID0gdHh0LnNwbGl0KCBzZXBhcmF0b3IgKSwgICAgICAgICAgICAgcG9zaXRpb24gICAgPSAtMSwgICAgICAgICAgICAgbWlkUG9zICAgICAgPSAtMSwgICAgICAgICAgICAgc3RhcnRQb3MgICAgPSAwLCAgICAgICAgICAgICBlbmRQb3MgICAgICA9IHRleHRBcnIubGVuZ3RoIC0gMTsgICAgICAgICBpZiAoIG8uZmFsbGJhY2tUb0xldHRlciAmJiBlbmRQb3MgPT0gMCAmJiBlbmRQb3MgPT0gc3RhcnRQb3MgKSAgICAgICAgIHsgICAgICAgICAgICAgc2VwYXJhdG9yICAgPSAnJzsgICAgICAgICAgICAgdGV4dEFyciAgICAgPSB0eHQuc3BsaXQoIHNlcGFyYXRvciApOyAgICAgICAgICAgICBlbmRQb3MgICAgICA9IHRleHRBcnIubGVuZ3RoIC0gMTsgICAgICAgICB9ICAgICAgICAgd2hpbGUgKCBzdGFydFBvcyA8PSBlbmRQb3MgJiYgISggc3RhcnRQb3MgPT0gMCAmJiBlbmRQb3MgPT0gMCApICkgICAgICAgICB7ICAgICAgICAgICAgIHZhciBtID0gTWF0aC5mbG9vciggKCBzdGFydFBvcyArIGVuZFBvcyApIC8gMiApOyAgICAgICAgICAgICBpZiAoIG0gPT0gbWlkUG9zICkgICAgICAgICAgICAgeyAgICAgICAgICAgICAgICAgYnJlYWs7ICAgICAgICAgICAgIH0gICAgICAgICAgICAgbWlkUG9zID0gbTsgICAgICAgICAgICAgc2V0VGV4dENvbnRlbnQoIGUsIHRleHRBcnIuc2xpY2UoIDAsIG1pZFBvcyArIDEgKS5qb2luKCBzZXBhcmF0b3IgKSArIG8uZWxsaXBzaXMgKTsgICAgICAgICAgICAgaWYgKCAhdGVzdCggJGksIG8gKSApICAgICAgICAgICAgIHsgICAgICAgICAgICAgICAgIHBvc2l0aW9uID0gbWlkUG9zOyAgICAgICAgICAgICAgICAgc3RhcnRQb3MgPSBtaWRQb3M7ICAgICAgICAgICAgIH0gICAgICAgICAgICAgZWxzZSAgICAgICAgICAgICB7ICAgICAgICAgICAgICAgICBlbmRQb3MgPSBtaWRQb3M7ICAgICAgICAgICAgIH0gICAgICAgICB9ICAgICAgICAgaWYgKCBwb3NpdGlvbiAhPSAtMSAmJiAhKCB0ZXh0QXJyLmxlbmd0aCA9PSAxICYmIHRleHRBcnJbIDAgXS5sZW5ndGggPT0gMCApICkgICAgICAgICB7ICAgICAgICAgICAgIHR4dCA9IGFkZEVsbGlwc2lzKCB0ZXh0QXJyLnNsaWNlKCAwLCBwb3NpdGlvbiArIDEgKS5qb2luKCBzZXBhcmF0b3IgKSwgbyApOyAgICAgICAgICAgICBzZXRUZXh0Q29udGVudCggZSwgdHh0ICk7ICAgICAgICAgfSAgICAgICAgIGVsc2UgICAgICAgICB7ICAgICAgICAgICAgIHZhciAkdyA9ICRlLnBhcmVudCgpOyAgICAgICAgICAgICAkZS5yZW1vdmUoKTsgICAgICAgICAgICAgdmFyIGFmdGVyTGVuZ3RoID0gKCBhZnRlciAmJiBhZnRlci5jbG9zZXN0KCR3KS5sZW5ndGggKSA\/IGFmdGVyLmxlbmd0aCA6IDA7ICAgICAgICAgICAgIGlmICggJHcuY29udGVudHMoKS5sZW5ndGggPiBhZnRlckxlbmd0aCApICAgICAgICAgICAgIHsgICAgICAgICAgICAgICAgIGUgPSBmaW5kTGFzdFRleHROb2RlKCAkdy5jb250ZW50cygpLmVxKCAtMSAtIGFmdGVyTGVuZ3RoICksICRkICk7ICAgICAgICAgICAgIH0gICAgICAgICAgICAgZWxzZSAgICAgICAgICAgICB7ICAgICAgICAgICAgICAgICBlID0gZmluZExhc3RUZXh0Tm9kZSggJHcsICRkLCB0cnVlICk7ICAgICAgICAgICAgICAgICBpZiAoICFhZnRlckxlbmd0aCApICAgICAgICAgICAgICAgICB7ICAgICAgICAgICAgICAgICAgICAgJHcucmVtb3ZlKCk7ICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgIH0gICAgICAgICAgICAgaWYgKCBlICkgICAgICAgICAgICAgeyAgICAgICAgICAgICAgICAgdHh0ID0gYWRkRWxsaXBzaXMoIGdldFRleHRDb250ZW50KCBlICksIG8gKTsgICAgICAgICAgICAgICAgIHNldFRleHRDb250ZW50KCBlLCB0eHQgKTsgICAgICAgICAgICAgICAgIGlmICggYWZ0ZXJMZW5ndGggJiYgYWZ0ZXIgKSAgICAgICAgICAgICAgICAgeyAgICAgICAgICAgICAgICAgICAgICQoZSkucGFyZW50KCkuYXBwZW5kKCBhZnRlciApOyAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICB9ICAgICAgICAgfSAgICAgICAgIHJldHVybiB0cnVlOyAgICAgfSAgICAgZnVuY3Rpb24gdGVzdCggJGksIG8gKSAgICAgeyAgICAgICAgIHJldHVybiAkaS5pbm5lckhlaWdodCgpID4gby5tYXhIZWlnaHQ7ICAgICB9ICAgICBmdW5jdGlvbiBhZGRFbGxpcHNpcyggdHh0LCBvICkgICAgIHsgICAgICAgICB3aGlsZSggJC5pbkFycmF5KCB0eHQuc2xpY2UoIC0xICksIG8ubGFzdENoYXJhY3Rlci5yZW1vdmUgKSA+IC0xICkgICAgICAgICB7ICAgICAgICAgICAgIHR4dCA9IHR4dC5zbGljZSggMCwgLTEgKTsgICAgICAgICB9ICAgICAgICAgaWYgKCAkLmluQXJyYXkoIHR4dC5zbGljZSggLTEgKSwgby5sYXN0Q2hhcmFjdGVyLm5vRWxsaXBzaXMgKSA8IDAgKSAgICAgICAgIHsgICAgICAgICAgICAgdHh0ICs9IG8uZWxsaXBzaXM7ICAgICAgICAgfSAgICAgICAgIHJldHVybiB0eHQ7ICAgICB9ICAgICBmdW5jdGlvbiBnZXRTaXplcyggJGQgKSAgICAgeyAgICAgICAgIHJldHVybiB7ICAgICAgICAgICAgICd3aWR0aCcgOiAkZC5pbm5lcldpZHRoKCksICAgICAgICAgICAgICdoZWlnaHQnOiAkZC5pbm5lckhlaWdodCgpICAgICAgICAgfTsgICAgIH0gICAgIGZ1bmN0aW9uIHNldFRleHRDb250ZW50KCBlLCBjb250ZW50ICkgICAgIHsgICAgICAgICBpZiAoIGUuaW5uZXJUZXh0ICkgICAgICAgICB7ICAgICAgICAgICAgIGUuaW5uZXJUZXh0ID0gY29udGVudDsgICAgICAgICB9ICAgICAgICAgZWxzZSBpZiAoIGUubm9kZVZhbHVlICkgICAgICAgICB7ICAgICAgICAgICAgIGUubm9kZVZhbHVlID0gY29udGVudDsgICAgICAgICB9ICAgICAgICAgZWxzZSBpZiAoZS50ZXh0Q29udGVudCkgICAgICAgICB7ICAgICAgICAgICAgIGUudGV4dENvbnRlbnQgPSBjb250ZW50OyAgICAgICAgIH0gICAgIH0gICAgIGZ1bmN0aW9uIGdldFRleHRDb250ZW50KCBlICkgICAgIHsgICAgICAgICBpZiAoIGUuaW5uZXJUZXh0ICkgICAgICAgICB7ICAgICAgICAgICAgIHJldHVybiBlLmlubmVyVGV4dDsgICAgICAgICB9ICAgICAgICAgZWxzZSBpZiAoIGUubm9kZVZhbHVlICkgICAgICAgICB7ICAgICAgICAgICAgIHJldHVybiBlLm5vZGVWYWx1ZTsgICAgICAgICB9ICAgICAgICAgZWxzZSBpZiAoIGUudGV4dENvbnRlbnQgKSAgICAgICAgIHsgICAgICAgICAgICAgcmV0dXJuIGUudGV4dENvbnRlbnQ7ICAgICAgICAgfSAgICAgICAgIGVsc2UgICAgICAgICB7ICAgICAgICAgICAgIHJldHVybiAiIjsgICAgICAgICB9ICAgICB9ICAgICBmdW5jdGlvbiBnZXRQcmV2Tm9kZSggbiApICAgICB7ICAgICAgICAgZG8gICAgICAgICB7ICAgICAgICAgICAgIG4gPSBuLnByZXZpb3VzU2libGluZzsgICAgICAgICB9ICAgICAgICAgd2hpbGUgKCBuICYmIG4ubm9kZVR5cGUgIT09IDEgJiYgbi5ub2RlVHlwZSAhPT0gMyApOyAgICAgICAgIHJldHVybiBuOyAgICAgfSAgICAgZnVuY3Rpb24gZmluZExhc3RUZXh0Tm9kZSggJGVsLCAkdG9wLCBleGNsdWRlQ3VycmVudCApICAgICB7ICAgICAgICAgdmFyIGUgPSAkZWwgJiYgJGVsWyAwIF0sIHA7ICAgICAgICAgaWYgKCBlICkgICAgICAgICB7ICAgICAgICAgICAgIGlmICggIWV4Y2x1ZGVDdXJyZW50ICkgICAgICAgICAgICAgeyAgICAgICAgICAgICAgICAgaWYgKCBlLm5vZGVUeXBlID09PSAzICkgICAgICAgICAgICAgICAgIHsgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZTsgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgIGlmICggJC50cmltKCAkZWwudGV4dCgpICkgKSAgICAgICAgICAgICAgICAgeyAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmaW5kTGFzdFRleHROb2RlKCAkZWwuY29udGVudHMoKS5sYXN0KCksICR0b3AgKTsgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgfSAgICAgICAgICAgICBwID0gZ2V0UHJldk5vZGUoIGUgKTsgICAgICAgICAgICAgd2hpbGUgKCAhcCApICAgICAgICAgICAgIHsgICAgICAgICAgICAgICAgICRlbCA9ICRlbC5wYXJlbnQoKTsgICAgICAgICAgICAgICAgIGlmICggJGVsLmlzKCAkdG9wICkgfHwgISRlbC5sZW5ndGggKSAgICAgICAgICAgICAgICAgeyAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgIHAgPSBnZXRQcmV2Tm9kZSggJGVsWzBdICk7ICAgICAgICAgICAgIH0gICAgICAgICAgICAgaWYgKCBwICkgICAgICAgICAgICAgeyAgICAgICAgICAgICAgICAgcmV0dXJuIGZpbmRMYXN0VGV4dE5vZGUoICQocCksICR0b3AgKTsgICAgICAgICAgICAgfSAgICAgICAgIH0gICAgICAgICByZXR1cm4gZmFsc2U7ICAgICB9ICAgICBmdW5jdGlvbiBnZXRFbGVtZW50KCBlLCAkaSApICAgICB7ICAgICAgICAgaWYgKCAhZSApICAgICAgICAgeyAgICAgICAgICAgICByZXR1cm4gZmFsc2U7ICAgICAgICAgfSAgICAgICAgIGlmICggdHlwZW9mIGUgPT09ICdzdHJpbmcnICkgICAgICAgICB7ICAgICAgICAgICAgIGUgPSAkKGUsICRpKTsgICAgICAgICAgICAgcmV0dXJuICggZS5sZW5ndGggKSAgICAgICAgICAgICAgICAgPyBlICAgICAgICAgICAgICAgICA6IGZhbHNlOyAgICAgICAgIH0gICAgICAgICByZXR1cm4gIWUuanF1ZXJ5ICAgICAgICAgICAgID8gZmFsc2UgICAgICAgICAgICAgOiBlOyAgICAgfSAgICAgZnVuY3Rpb24gZ2V0VHJ1ZUlubmVySGVpZ2h0KCAkZWwgKSAgICAgeyAgICAgICAgIHZhciBoID0gJGVsLmlubmVySGVpZ2h0KCksICAgICAgICAgICAgIGEgPSBbICdwYWRkaW5nVG9wJywgJ3BhZGRpbmdCb3R0b20nIF07ICAgICAgICAgZm9yICggdmFyIHogPSAwLCBsID0gYS5sZW5ndGg7IHogPCBsOyB6KysgKSAgICAgICAgIHsgICAgICAgICAgICAgdmFyIG0gPSBwYXJzZUludCggJGVsLmNzcyggYVsgeiBdICksIDEwICk7ICAgICAgICAgICAgIGlmICggaXNOYU4oIG0gKSApICAgICAgICAgICAgIHsgICAgICAgICAgICAgICAgIG0gPSAwOyAgICAgICAgICAgICB9ICAgICAgICAgICAgIGggLT0gbTsgICAgICAgICB9ICAgICAgICAgcmV0dXJuIGg7ICAgICB9ICAgICBmdW5jdGlvbiBkZWJ1ZyggZCwgbSApICAgICB7ICAgICAgICAgaWYgKCAhZCApICAgICAgICAgeyAgICAgICAgICAgICByZXR1cm4gZmFsc2U7ICAgICAgICAgfSAgICAgICAgIGlmICggdHlwZW9mIG0gPT0gJ3N0cmluZycgKSAgICAgICAgIHsgICAgICAgICAgICAgbSA9ICdkb3Rkb3Rkb3Q6ICcgKyBtOyAgICAgICAgIH0gICAgICAgICBlbHNlICAgICAgICAgeyAgICAgICAgICAgICBtID0gWyAnZG90ZG90ZG90OicsIG0gXTsgICAgICAgICB9ICAgICAgICAgaWYgKCB0eXBlb2Ygd2luZG93LmNvbnNvbGUgIT0gJ3VuZGVmaW5lZCcgKSAgICAgICAgIHsgICAgICAgICAgICAgaWYgKCB0eXBlb2Ygd2luZG93LmNvbnNvbGUubG9nICE9ICd1bmRlZmluZWQnICkgICAgICAgICAgICAgeyAgICAgICAgICAgICAgICAgd2luZG93LmNvbnNvbGUubG9nKCBtICk7ICAgICAgICAgICAgIH0gICAgICAgICB9ICAgICAgICAgcmV0dXJuIGZhbHNlOyAgICAgfSAgICAgdmFyIF9vcmdIdG1sID0gJC5mbi5odG1sOyAgICAgJC5mbi5odG1sID0gZnVuY3Rpb24oIHN0ciApICAgICB7ICAgICAgICAgaWYgKCBzdHIgIT0gdW5kZWYgJiYgISQuaXNGdW5jdGlvbiggc3RyICkgJiYgdGhpcy5kYXRhKCAnZG90ZG90ZG90JyApICkgICAgICAgICB7ICAgICAgICAgICAgIHJldHVybiB0aGlzLnRyaWdnZXIoICd1cGRhdGUnLCBbIHN0ciBdICk7ICAgICAgICAgfSAgICAgICAgIHJldHVybiBfb3JnSHRtbC5hcHBseSggdGhpcywgYXJndW1lbnRzICk7ICAgICB9OyAgICAgdmFyIF9vcmdUZXh0ID0gJC5mbi50ZXh0OyAgICAgJC5mbi50ZXh0ID0gZnVuY3Rpb24oIHN0ciApICAgICB7ICAgICAgICAgaWYgKCBzdHIgIT0gdW5kZWYgJiYgISQuaXNGdW5jdGlvbiggc3RyICkgJiYgdGhpcy5kYXRhKCAnZG90ZG90ZG90JyApICkgICAgICAgICB7ICAgICAgICAgICAgIHN0ciA9ICQoICc8ZGl2IC8+JyApLnRleHQoIHN0ciApLmh0bWwoKTsgICAgICAgICAgICAgcmV0dXJuIHRoaXMudHJpZ2dlciggJ3VwZGF0ZScsIFsgc3RyIF0gKTsgICAgICAgICB9ICAgICAgICAgcmV0dXJuIF9vcmdUZXh0LmFwcGx5KCB0aGlzLCBhcmd1bWVudHMgKTsgICAgIH07IH0pKCBqUXVlcnkgKTsgKGZ1bmN0aW9uKCQpIHsgICAgIGlmKCAkLmZuLmRvdGRvdGRvdF9hbXpuICkgcmV0dXJuOyAgICAgJC5mbi5kb3Rkb3Rkb3RfYW16biA9IGZ1bmN0aW9uKCkgeyAgICAgICAgIGlmKCB0aGlzLmxlbmd0aCA+IDEgKSB7ICAgICAgICAgICAgIHJldHVybiB0aGlzLmVhY2goIGZ1bmN0aW9uKCkgeyAgICAgICAgICAgICAgICAgJCh0aGlzKS5kb3Rkb3Rkb3RfYW16bigpOyAgICAgICAgICAgICB9KTsgICAgICAgICB9IGVsc2UgaWYgKHRoaXMubGVuZ3RoID09IDAgKSB7ICAgICAgICAgICAgIHJldHVybjsgICAgICAgICB9ICAgICAgICAgdmFyIGVsID0gdGhpczsgICAgICAgICBpZihlbC5oYXNDbGFzcygndHJ1bmNhdGVkJykpIHJldHVybjsgICAgICAgICB2YXIgb3JpZ2luYWxDb250ZW50ID0gZWwuY2xvbmUodHJ1ZSk7ICAgICAgICAgZWwuZG90ZG90ZG90KHsgICAgICAgICAgICAgaGVpZ2h0OiBwYXJzZUludChlbC5kYXRhKCdzaG9ydGVuJykpLCAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oIGlzVHJ1bmNhdGVkLCBvcmdDb250ZW50ICkgeyAgICAgICAgICAgICAgICAgaWYoIWlzVHJ1bmNhdGVkKSByZXR1cm47ICAgICAgICAgICAgICAgICBlbC5hZGRDbGFzcygndHJ1bmNhdGVkJyk7ICAgICAgICAgICAgICAgICBpZighZWwuZGF0YSgndHJhbnNpdGlvbnNlbGVjdG9yJykgICAgICAgICAgICAgICAgICAgICAmJiAhZWxbMF0uaGFzQXR0cmlidXRlKCdkYXRhLXNob3J0ZW4ta2VlcC1vcmlnaW5hbCcpKSByZXR1cm47ICAgICAgICAgICAgICAgICBvcmlnaW5hbENvbnRlbnQuYWRkQ2xhc3MoJ29yaWdpbmFsJyk7ICAgICAgICAgICAgICAgICBvcmlnaW5hbENvbnRlbnQuYWRkQ2xhc3MoJ2NvbGxhcHNlZCcpOyAgICAgICAgICAgICAgICAgZGVsZXRlIG9yaWdpbmFsQ29udGVudFswXS5kYXRhc2V0LnNob3J0ZW47ICAgICAgICAgICAgICAgICBpZihvcmlnaW5hbENvbnRlbnQuaWQpIHsgICAgICAgICAgICAgICAgICAgICBvcmlnaW5hbENvbnRlbnQuaWQgKz0gIi1vcmlnaW5hbCI7ICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICBlbC5wYXJlbnQoKS5hcHBlbmQob3JpZ2luYWxDb250ZW50KTsgICAgICAgICAgICAgfSwgICAgICAgICAgICAgd2F0Y2g6dHJ1ZSwgICAgICAgICAgICAgZGVidWc6ZmFsc2UgICAgICAgICB9KTsgICAgIH0gfSkoIGpRdWVyeSApOyBqUXVlcnkod2luZG93KS5sb2FkKGZ1bmN0aW9uKCkgeyAgICAgalF1ZXJ5KCJbZGF0YS1zaG9ydGVuXSIpLmRvdGRvdGRvdF9hbXpuKCk7IH0pOyAgICAgICAgIHZhciBjdXJyZW50UGVyY2VpdmVkV2lkdGggPSAwOyAgICAgICAgIHZhciBsYXJnZXJfaW1hZ2UgPSAnPGltZyBhbHQ9IlRJTUVYIEV4cGVkaXRpb24gQW5hbG9nLURpZ2l0YWwgQmVpZ2UgRGlhbCBNZW4mYW1wOyMzOTtzIFdhdGNoLVRXMDBNRjEwMSIgc3JjPSJodHRwczovL20ubWVkaWEtYW1hem9uLmNvbS9pbWFnZXMvSS80MW8ta3ZZcndUTC5fQUNfU1IxNDAsMTEwXy5qcGciIGNsYXNzPSJhLWR5bmFtaWMtaW1hZ2Ugc3BfaHFwX3NoYXJlZF9wcm9kdWN0X2xhcmdlcl9pbWFnZSIgaGVpZ2h0PSIxMTBweCIgd2lkdGg9IjE0MHB4IiBkYXRhLWEtZHluYW1pYy1pbWFnZT0ieyZxdW90O2h0dHBzOi8vbS5tZWRpYS1hbWF6b24uY29tL2ltYWdlcy9JLzQxby1rdllyd1RMLl9BQ19TUjQyMCwzMzBfLmpwZyZxdW90OzpbNDIwLDMzMF0sJnF1b3Q7aHR0cHM6Ly9tLm1lZGlhLWFtYXpvbi5jb20vaW1hZ2VzL0kvNDFvLWt2WXJ3VEwuX0FDX1NSMjgwLDIyMF8uanBnJnF1b3Q7OlsyODAsMjIwXSwmcXVvdDtodHRwczovL20ubWVkaWEtYW1hem9uLmNvbS9pbWFnZXMvSS80MW8ta3ZZcndUTC5fQUNfU1IxNDAsMTEwXy5qcGcmcXVvdDs6WzE0MCwxMTBdfSIvPic7ICAgICAgICAgdmFyIHNtYWxsZXJfaW1hZ2UgPSAnPGltZyBhbHQ9IlRJTUVYIEV4cGVkaXRpb24gQW5hbG9nLURpZ2l0YWwgQmVpZ2UgRGlhbCBNZW4mYW1wOyMzOTtzIFdhdGNoLVRXMDBNRjEwMSIgc3JjPSJodHRwczovL20ubWVkaWEtYW1hem9uLmNvbS9pbWFnZXMvSS80MW8ta3ZZcndUTC5fQUNfU1IxMTAsMTEwXy5qcGciIGNsYXNzPSJhLWR5bmFtaWMtaW1hZ2Ugc3BfaHFwX3NoYXJlZF9wcm9kdWN0X3NtYWxsZXJfaW1hZ2UiIGhlaWdodD0iMTEwcHgiIHdpZHRoPSIxMTBweCIgZGF0YS1hLWR5bmFtaWMtaW1hZ2U9InsmcXVvdDtodHRwczovL20ubWVkaWEtYW1hem9uLmNvbS9pbWFnZXMvSS80MW8ta3ZZcndUTC5fQUNfU1IxMTAsMTEwXy5qcGcmcXVvdDs6WzExMCwxMTBdLCZxdW90O2h0dHBzOi8vbS5tZWRpYS1hbWF6b24uY29tL2ltYWdlcy9JLzQxby1rdllyd1RMLl9BQ19TUjIyMCwyMjBfLmpwZyZxdW90OzpbMjIwLDIyMF0sJnF1b3Q7aHR0cHM6Ly9tLm1lZGlhLWFtYXpvbi5jb20vaW1hZ2VzL0kvNDFvLWt2WXJ3VEwuX0FDX1NSMzMwLDMzMF8uanBnJnF1b3Q7OlszMzAsMzMwXX0iLz4nOyAgICAgICAgIHVwZGF0ZVVJKCk7ICAgICAgICAgQS5vbi5yZXNpemUoZnVuY3Rpb24oKXsgICAgICAgICAgICAgdXBkYXRlVUkoKTsgICAgICAgICB9KTsgICAgICAgICBBLm9uLm9yaWVudGF0aW9uY2hhbmdlKGZ1bmN0aW9uKCl7ICAgICAgICAgICAgIHVwZGF0ZVVJKCk7ICAgICAgICAgfSk7ICAgICAgICAgQS5pbnRlcnZhbChmdW5jdGlvbigpeyAgICAgICAgICAgICBpZiAoY3VycmVudFBlcmNlaXZlZFdpZHRoICE9PSBBLiQoIiNzcF9ocXBfc2hhcmVkIikud2lkdGgoKSkgeyAgICAgICAgICAgICAgICAgdXBkYXRlVUkoKTsgICAgICAgICAgICAgfSAgICAgICAgIH0sIDEwMDApOyAgICAgICAgIGZ1bmN0aW9uIHVwZGF0ZVVJKCkgeyAgICAgICAgICAgICBjdXJyZW50UGVyY2VpdmVkV2lkdGggPSBBLiQoIiNzcF9ocXBfc2hhcmVkIikud2lkdGgoKTsgICAgICAgICAgICAgaWYgKEEuJCgiI3NwX2hxcF9zaGFyZWQiKS53aWR0aCgpIDwgMjM1KSB7ICAgICAgICAgICAgICAgICBzbWFsbGVySW1hZ2UoKTsgICAgICAgICAgICAgICAgIHR3b0xpbmVUaXRsZSgpOyAgICAgICAgICAgICAgICAgcHJpbWVOZXdMaW5lKCk7ICAgICAgICAgICAgICAgICBBLiQoIiNzcF9zaG9wX25vdyIpLmhpZGUoKTsgICAgICAgICAgICAgICAgIEEuJCgiI3NwX3BpcGVfZGl2aWRlciIpLmhpZGUoKTsgICAgICAgICAgICAgICAgIEEuJCgiI3NwX2xpbmVfYnJlYWtfZGl2aWRlciIpLnNob3coKTsgICAgICAgICAgICAgICAgIEEuJCgiI3NwX2hxcF9zaGFyZWRfcmV2aWV3cyIpLmhpZGUoKTsgICAgICAgICAgICAgICAgIEEuJCgiI3NwX2hxcF9zaGFyZWRfZmlyc3RSb3ciKS5oaWRlKCk7ICAgICAgICAgICAgIH0gZWxzZSBpZiAoQS4kKCIjc3BfaHFwX3NoYXJlZCIpLndpZHRoKCkgPCAyNzApIHsgICAgICAgICAgICAgICAgIHNtYWxsZXJJbWFnZSgpOyAgICAgICAgICAgICAgICAgdHdvTGluZVRpdGxlKCk7ICAgICAgICAgICAgICAgICBwcmltZU5ld0xpbmUoKTsgICAgICAgICAgICAgICAgIEEuJCgiI3NwX3Nob3Bfbm93IikuaGlkZSgpOyAgICAgICAgICAgICAgICAgQS4kKCIjc3BfcGlwZV9kaXZpZGVyIikuaGlkZSgpOyAgICAgICAgICAgICAgICAgQS4kKCIjc3BfbGluZV9icmVha19kaXZpZGVyIikuc2hvdygpOyAgICAgICAgICAgICAgICAgQS4kKCIjc3BfaHFwX3NoYXJlZF9yZXZpZXdzIikuaGlkZSgpOyAgICAgICAgICAgICAgICAgQS4kKCIjc3BfaHFwX3NoYXJlZF9maXJzdFJvdyIpLnNob3coKTsgICAgICAgICAgICAgfSBlbHNlIGlmIChBLiQoIiNzcF9ocXBfc2hhcmVkIikud2lkdGgoKSA8IDMxNSkgeyAgICAgICAgICAgICAgICAgc21hbGxlckltYWdlKCk7ICAgICAgICAgICAgICAgICB0d29MaW5lVGl0bGUoKTsgICAgICAgICAgICAgICAgIHByaW1lT25lTGluZSgpOyAgICAgICAgICAgICAgICAgQS4kKCIjc3Bfc2hvcF9ub3ciKS5oaWRlKCk7ICAgICAgICAgICAgICAgICBBLiQoIiNzcF9waXBlX2RpdmlkZXIiKS5oaWRlKCk7ICAgICAgICAgICAgICAgICBBLiQoIiNzcF9saW5lX2JyZWFrX2RpdmlkZXIiKS5zaG93KCk7ICAgICAgICAgICAgICAgICBBLiQoIiNzcF9ocXBfc2hhcmVkX3Jldmlld3MiKS5zaG93KCk7ICAgICAgICAgICAgICAgICBBLiQoIiNzcF9ocXBfc2hhcmVkX2ZpcnN0Um93Iikuc2hvdygpOyAgICAgICAgICAgICB9IGVsc2UgaWYgKEEuJCgiI3NwX2hxcF9zaGFyZWQiKS53aWR0aCgpIDwgNTAwKSB7ICAgICAgICAgICAgICAgICBsYXJnZXJJbWFnZSgpOyAgICAgICAgICAgICAgICAgdGhyZWVMaW5lVGl0bGUoKTsgICAgICAgICAgICAgICAgIHByaW1lT25lTGluZSgpOyAgICAgICAgICAgICAgICAgQS4kKCIjc3Bfc2hvcF9ub3ciKS5oaWRlKCk7ICAgICAgICAgICAgICAgICBBLiQoIiNzcF9waXBlX2RpdmlkZXIiKS5oaWRlKCk7ICAgICAgICAgICAgICAgICBBLiQoIiNzcF9saW5lX2JyZWFrX2RpdmlkZXIiKS5zaG93KCk7ICAgICAgICAgICAgICAgICBBLiQoIiNzcF9ocXBfc2hhcmVkX3Jldmlld3MiKS5zaG93KCk7ICAgICAgICAgICAgICAgICBBLiQoIiNzcF9ocXBfc2hhcmVkX2ZpcnN0Um93Iikuc2hvdygpOyAgICAgICAgICAgICB9IGVsc2UgeyAgICAgICAgICAgICAgICAgbGFyZ2VySW1hZ2UoKTsgICAgICAgICAgICAgICAgIHR3b0xpbmVUaXRsZSgpOyAgICAgICAgICAgICAgICAgcHJpbWVPbmVMaW5lKCk7ICAgICAgICAgICAgICAgICBBLiQoIiNzcF9zaG9wX25vdyIpLnNob3coKTsgICAgICAgICAgICAgICAgIEEuJCgiI3NwX3BpcGVfZGl2aWRlciIpLnNob3coKTsgICAgICAgICAgICAgICAgIEEuJCgiI3NwX2xpbmVfYnJlYWtfZGl2aWRlciIpLmhpZGUoKTsgICAgICAgICAgICAgICAgIEEuJCgiI3NwX2hxcF9zaGFyZWRfcmV2aWV3cyIpLnNob3coKTsgICAgICAgICAgICAgICAgIEEuJCgiI3NwX2hxcF9zaGFyZWRfZmlyc3RSb3ciKS5zaG93KCk7ICAgICAgICAgICAgIH0gICAgICAgICB9ICAgICAgICAgZnVuY3Rpb24gc21hbGxlckltYWdlKCkgeyAgICAgICAgICAgICBBLiQoIiNzcF9ocXBfc2hhcmVkX2ltYWdlIilbMF0uaW5uZXJIVE1MID0gc21hbGxlcl9pbWFnZTsgICAgICAgICAgICAgQS4kKCIuc3BfaHFwX3NoYXJlZF9idXlfYm94IikuY3NzKCJwYWRkaW5nLWxlZnQiLCAiMTMwcHgiKTsgICAgICAgICB9ICAgICAgICAgZnVuY3Rpb24gbGFyZ2VySW1hZ2UoKSB7ICAgICAgICAgICAgIEEuJCgiI3NwX2hxcF9zaGFyZWRfaW1hZ2UiKVswXS5pbm5lckhUTUwgPSBsYXJnZXJfaW1hZ2U7ICAgICAgICAgICAgIEEuJCgiLnNwX2hxcF9zaGFyZWRfYnV5X2JveCIpLmNzcygicGFkZGluZy1sZWZ0IiwgIjE4MHB4Iik7ICAgICAgICAgfSAgICAgICAgIGZ1bmN0aW9uIHRocmVlTGluZVRpdGxlKCkgeyAgICAgICAgICAgICBBLiQoIiNzcF9ocXBfc2hhcmVkX2Rpc3BsYXlfdGl0bGUiKS5kb3Rkb3Rkb3QoeyAgICAgICAgICAgICAgICAgaGVpZ2h0OiA1NywgICAgICAgICAgICAgICAgIHdhdGNoOiAid2luZG93IiAgICAgICAgICAgICB9KTsgICAgICAgICB9ICAgICAgICAgZnVuY3Rpb24gdHdvTGluZVRpdGxlKCkgeyAgICAgICAgICAgICBBLiQoIiNzcF9ocXBfc2hhcmVkX2Rpc3BsYXlfdGl0bGUiKS5kb3Rkb3Rkb3QoeyAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzOCwgICAgICAgICAgICAgICAgIHdhdGNoOiAid2luZG93IiAgICAgICAgICAgICB9KTsgICAgICAgICB9ICAgICAgICAgZnVuY3Rpb24gcHJpbWVOZXdMaW5lKCkgeyAgICAgICAgICAgICBBLiQoIi5zcF9ocXBfc2hhcmVkX3ByaWNlIikuY3NzKCJkaXNwbGF5IiwgImJsb2NrIik7ICAgICAgICAgICAgIEEuJCgiLnNwX2hxcF9zaGFyZWRfcHJpbWVfaWNvbiIpLmNzcygibWFyZ2luLWxlZnQiLCAiMHB4Iik7ICAgICAgICAgfSAgICAgICAgIGZ1bmN0aW9uIHByaW1lT25lTGluZSgpIHsgICAgICAgICAgICAgQS4kKCIuc3BfaHFwX3NoYXJlZF9wcmljZSIpLmNzcygiZGlzcGxheSIsICJpbmxpbmUiKTsgICAgICAgICAgICAgQS4kKCIuc3BfaHFwX3NoYXJlZF9wcmltZV9pY29uIikuY3NzKCJtYXJnaW4tbGVmdCIsICI1cHgiKTsgICAgICAgICB9ICAgICAgICAgQS4kKCIuc3BfaHFwX3NoYXJlZF9yZXNwb25zaXZlX2JveCIpLmNzcygibWFyZ2luLWxlZnQiLCAiMHB4Iik7ICAgICB9KTsgfSkpOzwvc2NyaXB0PiAgICAgICAgICAgPC9kaXY+\",\"serverSideFetchAd\": \"true\",\"enableAdBlockerDetector\": false,\"disableResizeFunc\": false,\"fallbackStaticAdImgUrl\": \"\",\"fallbackStaticAdClickUrl\": \"\",\"fallbackStaticAdExtraStyle\": \"\",\"adFeedbackInfo\": {\"adProgramId\": \"1024\", \"endPoint\": \"\/gp\/aq-feedback\/lazyLoad\/handler\/af-link-handler.html\",\"boolFeedback\": true,\"slugText\": \"Sponsored\"},\"adPlacementMetaData\": {\"pageUrl\": \"aHR0cHM6Ly93d3cuYW1hem9uLmluL2dwL3Byb2R1Y3QvQjA3TVRNOTlDMT9kcFJlcXVlc3RJZD1NRlpKRDc2OUJFVDJYNUVDN01KTiZXREc9d2F0Y2hfZGlzcGxheV9vbl93ZWJzaXRlJiplbnRyaWVzKj0wJipWZXJzaW9uKj0xJg==\",\"adElementId\": \"ape_Detail_hero-quick-promo_Desktop_placement\",\"pageType\": \"Detail\",\"slotName\": \"hero-quick-promo\"},\"adCreativeMetaData\": {\"adProgramId\": \"1024\",\"adImpressionId\": \"https:\/\/aax-eu.amazon.in\/e\/xsp\/imp?b=QqFsAKJRTtoTkbd8FxoeDGwAAAF3_7edEwMAAAH_AaklxSQ\",\"adCreativeId\": \"1892602066\",\"adId\": \"20033333895103\",\"adNetwork\": \"cs\"},\"advertisementStyle\": {\"position\": \"absolute\",\"top\": \"2px\",\"right\": \"0px\",\"display\": \"inline-block\",\"font\": \"normal 11px Arial\",\"color\": \"grey\"},\"feedbackDivStyle\": { \"position\": \"relative\", \"top\": \"-2px\", \"height\": \"20px\", \"width\":\"78px\"},\"viewabilityStandards\": [{\"p\": 0, \"t\": 0, \"def\": \"amzn\"}, {\"p\": 50, \"t\": 1, \"def\": \"iab\"}, {\"p\": 100, \"t\": 1, \"def\": \"groupm\"}],\"ajaxWeblabTriggerId\": \"\",\"abpStatus\": \"0\",\"abpAcceptable\": \"true\",\"disableAdReporterSlot\": \"false\",\"programIdsToCollapse\": [],\"whitelistedCustomMessageEvents\": [\"openPsAdPopover\", \"openATCModal\", \"setPartner\", \"sendMetrics\", \"wrap\"],\"whitelistedQueryParamKeys\": [\"sf-overrideVariationId\", \"sf-overridePredictorId\", \"sf-forceFailure\"],\"DAsfUrl\":\"https:\/\/images-eu.ssl-images-amazon.com\/images\/S\/apesafeframe\/ape\/sf\/desktop\/DAsf-1.50.b82475b.js\"}' data-campaign=\"8582\" data-arid=\"fcb293d7e4cc426c8e4679ea3bc7514b\" data-cel-widget=\"adplacements:Detail:hero-quick-promo:Desktop\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Timex","offers":[{"title":"Default Title","offer_id":39308707627199,"sku":"TW5M18400","price":99.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/8a8e4269848510548f43179c36adb3e53efdad4f.png?v=1614903211"},{"product_id":"apple-watch-adapter-steel-38-40mm-1","title":"Apple Watch Adapter Steel 38\/40mm","description":"\u003cp\u003eAdd a standard leather watch band to your Apple Watch with our handy end piece. Easy to remove and install you can change your watch band in seconds. \u003c\/p\u003e\n\u003cp\u003eAdd one of our quick release leather watch bands to your order to build yourself a complete strap. \u003c\/p\u003e\n\u003cp\u003eFits a 38\/40mm Apple Watch with the option to add either a 20mm or 22mm strap. \u003c\/p\u003e","brand":"Precision Watch Company","offers":[{"title":"22mm Band","offer_id":39354699415743,"sku":null,"price":15.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/AdapterSteel.jpg?v=1615517911"},{"product_id":"fitbit-charge-2-silicone-green","title":"Fitbit Charge 2 Silicone - Green","description":"\u003cp\u003e\u003cstrong\u003eClassic silicone Fitbit Charge strap compatible with the Fitbit Charge 2. \u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e- Sweat \u0026amp; water resistant.\u003c\/p\u003e\n\u003cp\u003e- Quick and easy to remove and install.\u003c\/p\u003e\n\u003cp\u003e- Soft silicone for extra comfort. \u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cspan style=\"text-decoration: underline;\"\u003eSizing\u003c\/span\u003e\u003c\/strong\u003e (Wrist circumference) \u003c\/p\u003e\n\u003cp\u003eSmall: 14cm - 18cm\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e","brand":"swifty watch straps","offers":[{"title":"Small","offer_id":40014293041343,"sku":null,"price":20.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/7_Green_1.jpg?v=1623645460"},{"product_id":"20mm-silicone-band-pink-samsung-garmin","title":"20mm Silicone Band Pink - Samsung, Garmin","description":"\u003cp\u003e\u003cstrong\u003eClassic silicone band with a standard 20mm end.\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e- Sweat \u0026amp; water resistant.\u003c\/p\u003e\n\u003cp\u003e- Quick release spring bar for easy installation and removal.\u003c\/p\u003e\n\u003cp\u003e- Soft silicone for extra comfort. \u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"text-decoration: underline;\"\u003e\u003cstrong\u003e Compatible with\u003c\/strong\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e- Samsung Gear Sport\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e- Samsung Galaxy 42mm\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e- Samsung Galaxy 41mm\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e- Samsung Galaxy 3 - 41mm\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e- Garmin Vivoactive 3\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e- Garmin Vivomove HR\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e- Any 20mm standard fit watch\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e","brand":"swifty watch straps","offers":[{"title":"Default Title","offer_id":40014322794687,"sku":null,"price":29.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/pink.jpg?v=1623646399"},{"product_id":"olympic-titanium-watch","title":"Olympic Titanium Watch","description":"\u003cp\u003e- Durable but light weight titanium case \u0026amp; bracelet. \u003c\/p\u003e\n\u003cp\u003e- Case size 37mm diameter.\u003c\/p\u003e\n\u003cp\u003e- Full figure dial. \u003c\/p\u003e\n\u003cp\u003e- 50m water resistant.\u003c\/p\u003e\n\u003cp\u003e- Swiss designed Ronda movement.\u003c\/p\u003e\n\u003cp\u003e- 2 year guarantee.\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e","brand":"Olympic Swiss","offers":[{"title":"Default Title","offer_id":40020745093311,"sku":null,"price":215.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/26039.jpg?v=1623719955"},{"product_id":"rhythmchimingandmelodywallclock","title":"Rhythm Chiming and Melody Wall Clock","description":"\u003cp\u003emovement with chime and melody options, \u003c\/p\u003e\n\u003cp\u003ewooden case 27.2 x 72.0 x 10.0cm\u003c\/p\u003e\n\u003cp\u003e2 year rhythm guarantee\u003c\/p\u003e","brand":"Rhythm","offers":[{"title":"Default Title","offer_id":41347168239807,"sku":"CMJ541UR06","price":529.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/296ca8c3274f9aa859fa75050023cd8c14305e21.jpg?v=1645663046"},{"product_id":"cactus-blackyellow-watch","title":"Cactus Black\/Yellow Watch","description":"\u003cdiv class=\"jsx-3af650e7d0a3e6a8\"\u003e\n\u003cdiv class=\"jsx-3af650e7d0a3e6a8 text-16 leading-6 pt-8 pb-3 max-w-2xl\"\u003e\n\u003cdiv class=\"Text_body__snVk8 product-details\"\u003eThe Cactus 'Hero' watch is a perfect first watch. It has a time teacher design with numbers that are clear, \u0026amp; easy to read, with TO \u0026amp; PAST on the face of the watch to help learn how to read clock time (analogue) easily \u0026amp; has a flexible silicone band.\u003cbr\u003e1 Year Warranty.\u003cbr\u003e100 metre water resistant.\u003cbr\u003eSuitable for swimming, snorkelling but not diving.\u003cbr\u003eYou should not wear your watch in a hot shower.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lg:mt-8 mt-4\"\u003e\n\u003cdiv class=\"ProductTagsSpecificationsTable_root__tU05D ProductTagsSpecificationsTable_wrapper__vyJmY\"\u003e\n\u003cdiv class=\"ProductTagsSpecificationsTable_textTable__zRric\"\u003e\n\u003cdiv class=\"ProductTagsSpecificationsTable_textTable__heading__33jwX\"\u003e\n\u003ch5\u003eSPECIFICATIONS\u003c\/h5\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"table\"\u003e\n\u003cdiv class=\"ProductTagsSpecificationsTable_textTable__row__3Frw2\"\u003e\n\u003cdiv class=\"ProductTagsSpecificationsTable_textTable__head__bK9q_\"\u003eBAND COLOUR: Black\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ProductTagsSpecificationsTable_textTable__row__3Frw2\"\u003e\n\u003cdiv class=\"ProductTagsSpecificationsTable_textTable__head__bK9q_\"\u003eBAND MATERIAL: Silicone\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ProductTagsSpecificationsTable_textTable__row__3Frw2\"\u003e\n\u003cdiv class=\"ProductTagsSpecificationsTable_textTable__head__bK9q_\"\u003eBEZEL COLOUR: Grey\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ProductTagsSpecificationsTable_textTable__row__3Frw2\"\u003e\n\u003cdiv class=\"ProductTagsSpecificationsTable_textTable__head__bK9q_\"\u003eCASE COLOUR: Black\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ProductTagsSpecificationsTable_textTable__row__3Frw2\"\u003e\n\u003cdiv class=\"ProductTagsSpecificationsTable_textTable__head__bK9q_\"\u003eDIAL COLOUR: Black\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ProductTagsSpecificationsTable_textTable__row__3Frw2\"\u003e\n\u003cdiv class=\"ProductTagsSpecificationsTable_textTable__head__bK9q_\"\u003eDIAL SHAPE: Round\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ProductTagsSpecificationsTable_textTable__row__3Frw2\"\u003e\n\u003cdiv class=\"ProductTagsSpecificationsTable_textTable__head__bK9q_\"\u003eDISPLAY: Analogue\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ProductTagsSpecificationsTable_textTable__row__3Frw2\"\u003e\n\u003cdiv class=\"ProductTagsSpecificationsTable_textTable__head__bK9q_\"\u003eMOVEMENT: Quartz\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Cactus","offers":[{"title":"Default Title","offer_id":41456710385855,"sku":"CAC130-m01","price":70.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/CAC130-m01.jpg?v=1648430699"},{"product_id":"casio-silver-g-shock-watch-gm-s5600-1d","title":"Casio G-Shock Watch GM-S5600-1D - Silver","description":"\u003cp\u003eA down-sized model of the iconic 5600 series finished with luxurious metal. \u003cbr\u003eThe square design of the GM-5600, which has been used since the first model, has been downsized to achieve a lightweight and comfortable fit. \u003cbr\u003eMetal is used in the bezel cover to create a highly textured feel.\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eCase size (L× W× H): 43.8 × 38.4 × 10.9 mm\u003cbr\u003e\n\u003c\/li\u003e\n\u003cli\u003eWeight: 50 g\u003cbr\u003e\n\u003c\/li\u003e\n\u003cli\u003eCase and bezel material: Resin \/ Stainless steel\u003cbr\u003e\n\u003c\/li\u003e\n\u003cli\u003eBand: Resin Band\u003cbr\u003e\n\u003c\/li\u003e\n\u003cli\u003eConstruction: Shock Resistant\u003cbr\u003e\n\u003c\/li\u003e\n\u003cli\u003eWater resistance: 200-meter water resistance\u003cbr\u003e\n\u003c\/li\u003e\n\u003cli\u003eApproximate battery life is 2 years on CR1616\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Casio","offers":[{"title":"Default Title","offer_id":41679032025279,"sku":"GM-S5600-1D","price":399.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/files\/Casio_G-Shock_Watch_GM-S5600-1D_-_Silver.png?v=1771461589"},{"product_id":"blue-cactus-watch-cac-131-m03","title":"Blue Cactus Watch CAC-131-M03","description":"\u003cdiv class=\"jsx-3af650e7d0a3e6a8\"\u003e\n\u003cdiv class=\"jsx-3af650e7d0a3e6a8 text-16 leading-6 pt-8 pb-3 max-w-2xl\"\u003e\n\u003cdiv class=\"Text_body__snVk8 product-details\"\u003eThe Splash watch range from Cactus adds a modern flair to everyday style and practicality. This sleek watch has a comfortable, high quality blue silicone band and a clear face with easy to read numbers. Case Size 31mm\u003cbr\u003e1 Year Warranty.\u003cbr\u003e50 metre water resistant.\u003cbr\u003eSuitable for light poolside swimming, but not snorkelling or diving.\u003cbr\u003eYou should not wear your watch in a hot shower.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lg:mt-8 mt-4\"\u003e\n\u003cdiv class=\"ProductTagsSpecificationsTable_root__tU05D ProductTagsSpecificationsTable_wrapper__vyJmY\"\u003e\n\u003cdiv class=\"ProductTagsSpecificationsTable_textTable__zRric\"\u003e\n\u003cdiv class=\"ProductTagsSpecificationsTable_textTable__heading__33jwX\"\u003e\n\u003ch5\u003eSPECIFICATIONS\u003c\/h5\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"table\"\u003e\n\u003cdiv class=\"ProductTagsSpecificationsTable_textTable__row__3Frw2\"\u003e\n\u003cdiv class=\"ProductTagsSpecificationsTable_textTable__head__bK9q_\"\u003eBAND COLOUR: Blue\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ProductTagsSpecificationsTable_textTable__row__3Frw2\"\u003e\n\u003cdiv class=\"ProductTagsSpecificationsTable_textTable__head__bK9q_\"\u003eBAND MATERIAL: Silicone\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ProductTagsSpecificationsTable_textTable__row__3Frw2\"\u003e\n\u003cdiv class=\"ProductTagsSpecificationsTable_textTable__head__bK9q_\"\u003eBEZEL COLOUR: Red\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ProductTagsSpecificationsTable_textTable__row__3Frw2\"\u003e\n\u003cdiv class=\"ProductTagsSpecificationsTable_textTable__head__bK9q_\"\u003eCASE COLOUR: Silver\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ProductTagsSpecificationsTable_textTable__row__3Frw2\"\u003e\n\u003cdiv class=\"ProductTagsSpecificationsTable_textTable__head__bK9q_\"\u003eDIAL COLOUR: White\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ProductTagsSpecificationsTable_textTable__row__3Frw2\"\u003e\n\u003cdiv class=\"ProductTagsSpecificationsTable_textTable__head__bK9q_\"\u003eDIAL SHAPE: Round\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ProductTagsSpecificationsTable_textTable__row__3Frw2\"\u003e\n\u003cdiv class=\"ProductTagsSpecificationsTable_textTable__head__bK9q_\"\u003eDISPLAY: Analogue\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ProductTagsSpecificationsTable_textTable__row__3Frw2\"\u003e\n\u003cdiv class=\"ProductTagsSpecificationsTable_textTable__head__bK9q_\"\u003eMOVEMENT: Quartz\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Cactus","offers":[{"title":"Default Title","offer_id":41797649760447,"sku":"CAC-131-M03","price":60.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/products\/CAC-131-M03.jpg?v=1657666707"},{"product_id":"gents-citizen-eco-drive-watch-bm7550-10e","title":"Gents Citizen Eco Drive Watch BM7550-10E","description":"\u003cp\u003e\u003cspan\u003eThis aviator-style addition to Citizen's Eco-Drive collection is sure to turn heads. This watch features a brushed stainless-steel case and compass-inspired black dial with iconic crosshair design, bold luminous markers, and grey and orange hands. Additional features include a khaki nylon strap and water resistance of 100 meters.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003eCOLLECTION: Dress\u003c\/p\u003e\n\u003cp\u003eTECHNOLOGY: Eco-Drive\u003c\/p\u003e\n\u003cp\u003eCASE MATERIAL: Stainless Steel\u003c\/p\u003e\n\u003cp\u003eDIAL: Black\u003c\/p\u003e\n\u003cp\u003eCASE SIZE: (MM)43BAND\u003c\/p\u003e\n\u003cp\u003eNylon Strap, buckle\u003c\/p\u003e\n\u003cp\u003eGLASS: Mineral Crystal\u003c\/p\u003e\n\u003cp\u003eWATER RESISTANCE: WR100\/10Bar [Swimming \/ Snorkeling]\u003c\/p\u003e\n\u003cp\u003eFUNCTIONS: Calibre E111, 3-hand, Date, 6-month power reserve\u003c\/p\u003e","brand":"Citizen","offers":[{"title":"Default Title","offer_id":41868226494655,"sku":"BM7550-10E","price":425.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1209\/5868\/files\/product_2.jpg?v=1758185357"}],"url":"https:\/\/www.precisionwatch.co.nz\/collections\/all-products.oembed?page=2","provider":"Precision Watch Company","version":"1.0","type":"link"}