Podcasts
CiAgLnBvZGNhc3RzLWhlcm8tZW1iZWR7CiAgICAtLW9yYW5nZTojREI4QjNCOyAtLWNyZWFtOiNGNEVFREQ7IC0taW5rOiMyNDFDMTM7IC0tdGVhbC1kYXJrOiMyMzRBNDM7IC0tdGVhbDojMzM2NjVDOwogIH0KICAucG9kY2FzdHMtaGVyby1lbWJlZCwgLnBvZGNhc3RzLWhlcm8tZW1iZWQgKnsgYm94LXNpemluZzpib3JkZXItYm94OyB9CiAgLnBvZGNhc3RzLWhlcm8tZW1iZWR7CiAgICBwYWRkaW5nOjA7IGZvbnQtZmFtaWx5OidLYXJsYScsc2Fucy1zZXJpZjsKICAgIC8qIEZ1bGwtYmxlZWQgdmlhIHRyYW5zZm9ybS4gVGhpcyBwYWdlJ3MgdGVtcGxhdGUgb3ZlcnJpZGVzIG5lZ2F0aXZlCiAgICAgICBtYXJnaW5zLCBzbyB3ZSBjZW50ZXIgd2l0aCBsZWZ0OjUwJSArIHRyYW5zbGF0ZVgoLTUwJSkgaW5zdGVhZCAtLQogICAgICAgdHJhbnNmb3JtcyBjYW4ndCBiZSBvdmVycmlkZGVuIGJ5IHRoZSB0aGVtZSdzIG1hcmdpbiBydWxlcywgc28gdGhlCiAgICAgICBiYW5uZXIgc3BhbnMgdGhlIGZ1bGwgYnJvd3NlciB3aWR0aCByZWdhcmRsZXNzIG9mIHBhZ2UgdGVtcGxhdGUuICovCiAgICB3aWR0aDoxMDB2dzsgbWF4LXdpZHRoOjEwMHZ3OwogICAgcG9zaXRpb246cmVsYXRpdmU7IGxlZnQ6NTAlOwogICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7CiAgfQoKICAucG9kY2FzdHMtaGVyby1lbWJlZCAucGgtY2FyZHsKICAgIHBvc2l0aW9uOnJlbGF0aXZlOyBvdmVyZmxvdzpoaWRkZW47CiAgICBtaW4taGVpZ2h0OmNsYW1wKDMyMHB4LCA0OHZoLCA1MjBweCk7CiAgICBkaXNwbGF5OmZsZXg7IGFsaWduLWl0ZW1zOmNlbnRlcjsganVzdGlmeS1jb250ZW50OmNlbnRlcjsKICAgIC8qIEZhbGxiYWNrIGlmIG5vIGltYWdlIGlzIHN1cHBsaWVkIHlldC4gKi8KICAgIGJhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE2MGRlZywgdmFyKC0tdGVhbC1kYXJrKSwgdmFyKC0taW5rKSk7CiAgfQogIC5wb2RjYXN0cy1oZXJvLWVtYmVkIC5waC1iZ3sgcG9zaXRpb246YWJzb2x1dGU7IGluc2V0OjA7IHotaW5kZXg6MTsgfQogIC5wb2RjYXN0cy1oZXJvLWVtYmVkIC5waC1iZyBpbWd7CiAgICB3aWR0aDoxMDAlOyBoZWlnaHQ6MTAwJTsgb2JqZWN0LWZpdDpjb3Zlcjsgb2JqZWN0LXBvc2l0aW9uOmNlbnRlcjsgZGlzcGxheTpibG9jazsKICB9CiAgLnBvZGNhc3RzLWhlcm8tZW1iZWQgLnBoLW92ZXJsYXl7CiAgICBwb3NpdGlvbjphYnNvbHV0ZTsgaW5zZXQ6MDsgei1pbmRleDoyOwogICAgYmFja2dyb3VuZDoKICAgICAgcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgY2VudGVyLCByZ2JhKDEwLDgsNiwwLjM0KSAwJSwgcmdiYSgxMCw4LDYsMC4yMikgNDUlLCByZ2JhKDEwLDgsNiwwLjEpIDc1JSksCiAgICAgIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMTUsMTAsOCwwLjI2KSAwJSwgcmdiYSgxNSwxMCw4LDAuMikgNDUlLCByZ2JhKDEwLDcsNSwwLjUpIDEwMCUpOwogIH0KICAucG9kY2FzdHMtaGVyby1lbWJlZCAucGgtY29udGVudHsKICAgIHBvc2l0aW9uOnJlbGF0aXZlOyB6LWluZGV4OjU7IHRleHQtYWxpZ246Y2VudGVyOyBwYWRkaW5nOjQwcHggMjRweDsKICB9CiAgLnBvZGNhc3RzLWhlcm8tZW1iZWQgLnBoLWhlYWRsaW5lewogICAgZm9udC1mYW1pbHk6J0xpYnJlIEJhc2tlcnZpbGxlJyxzZXJpZjsgZm9udC13ZWlnaHQ6NzAwOwogICAgZm9udC1zaXplOmNsYW1wKDQ0cHgsIDh2dywgOTJweCk7IGxpbmUtaGVpZ2h0OjEuMTsKICAgIGNvbG9yOnZhcigtLWNyZWFtKTsgbWFyZ2luOjA7CiAgICB0ZXh0LXNoYWRvdzowIDJweCA0cHggcmdiYSgwLDAsMCwwLjc1KSwgMCA0cHggMjJweCByZ2JhKDAsMCwwLDAuNik7CiAgfQoKICAucG9kY2FzdHMtaGVyby1lbWJlZC5yZXZlYWx7CiAgICBvcGFjaXR5OjA7IHRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoMjBweCk7CiAgICB0cmFuc2l0aW9uOm9wYWNpdHkgLjdzIGVhc2UsIHRyYW5zZm9ybSAuN3MgZWFzZTsKICB9CiAgLnBvZGNhc3RzLWhlcm8tZW1iZWQucmV2ZWFsLmlzLXZpc2libGV7CiAgICBvcGFjaXR5OjE7IHRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoMCk7CiAgfQoKICBAbWVkaWEgKG1heC13aWR0aDo3MDBweCl7CiAgICAucG9kY2FzdHMtaGVyby1lbWJlZCAucGgtY2FyZHsgbWluLWhlaWdodDpjbGFtcCgyNDBweCwgNDB2aCwgNDAwcHgpOyB9CiAgfQoKICAvKiBUaGUgV29yZFByZXNzIEltYWdlIGJsb2NrIHRoYXQgc3VwcGxpZXMgdGhlIGJhbm5lciBwaG90bzogcmVhZCBieSBKUyBhdAogICAgIGxvYWQsIHRoZW4gaGlkZGVuIHNvIGl0IGRvZXNuJ3QgYWxzbyBzaG93IGluIGl0cyBuYXRpdmUgc3BvdC4gKi8KICAucG9kY2FzdHMtaGVyby1zb3VyY2V7IGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50OyB9Cg==
KGZ1bmN0aW9uKCl7CiAgLy8gLS0tLSBCYW5uZXIgaW1hZ2U6IHN1cHBsaWVkIHZpYSBhIHNpbmdsZSBXb3JkUHJlc3MgSW1hZ2UgYmxvY2sgLS0tLQogIC8vIEFkZCBhbiBJbWFnZSBibG9jayBhbnl3aGVyZSBvbiB0aGUgcGFnZSwgdXBsb2FkIHRoZSBiYW5uZXIgcGhvdG8sIHRoZW4gZ2l2ZQogIC8vIHRoYXQgSU1BR0UgYmxvY2sgdGhlIENTUyBjbGFzcyAicG9kY2FzdHMtaGVyby1zb3VyY2UiIChCbG9jayBzZXR0aW5ncyAtPgogIC8vIEFkdmFuY2VkIC0+IEFkZGl0aW9uYWwgQ1NTIGNsYXNzKGVzKSkuIFRoaXMgc2NyaXB0IHJlYWRzIGl0IGFuZCBoaWRlcyB0aGUKICAvLyBibG9jaydzIG93biBuYXRpdmUgZGlzcGxheS4gVGhlIHRpdGxlIHRleHQgaXMgZWRpdGVkIGRpcmVjdGx5IGluIHRoZSBIVE1MLgogIGZ1bmN0aW9uIGhpZ2hlc3RSZXNTcmMoaW1nKXsKICAgIGNvbnN0IGZ1bGxVcmwgPSBpbWcuZ2V0QXR0cmlidXRlKCdkYXRhLWZ1bGwtdXJsJyk7CiAgICBpZiAoZnVsbFVybCkgcmV0dXJuIGZ1bGxVcmw7CiAgICBjb25zdCBzcmNzZXQgPSBpbWcuZ2V0QXR0cmlidXRlKCdzcmNzZXQnKTsKICAgIGlmIChzcmNzZXQpIHsKICAgICAgY29uc3QgY2FuZGlkYXRlcyA9IHNyY3NldC5zcGxpdCgnLCcpLm1hcChmdW5jdGlvbihwYXJ0KXsKICAgICAgICBjb25zdCBiaXRzID0gcGFydC50cmltKCkuc3BsaXQoL1xzKy8pOwogICAgICAgIGNvbnN0IHdpZHRoID0gcGFyc2VJbnQoKGJpdHNbMV0gfHwgJycpLnJlcGxhY2UoJ3cnLCAnJyksIDEwKSB8fCAwOwogICAgICAgIHJldHVybiB7IHVybDogYml0c1swXSwgd2lkdGg6IHdpZHRoIH07CiAgICAgIH0pOwogICAgICBjYW5kaWRhdGVzLnNvcnQoZnVuY3Rpb24oYSwgYil7IHJldHVybiBiLndpZHRoIC0gYS53aWR0aDsgfSk7CiAgICAgIGlmIChjYW5kaWRhdGVzLmxlbmd0aCAmJiBjYW5kaWRhdGVzWzBdLnVybCkgcmV0dXJuIGNhbmRpZGF0ZXNbMF0udXJsOwogICAgfQogICAgcmV0dXJuIGltZy5zcmM7CiAgfQoKICBmdW5jdGlvbiBpbml0KCl7CiAgICBjb25zdCBzb3VyY2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcucG9kY2FzdHMtaGVyby1zb3VyY2UgaW1nJyk7CiAgICBjb25zdCBiZyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwaEJnJyk7CiAgICBpZiAoc291cmNlICYmIGJnKSB7CiAgICAgIGNvbnN0IGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpOwogICAgICBpbWcuc3JjID0gaGlnaGVzdFJlc1NyYyhzb3VyY2UpOwogICAgICBpbWcuYWx0ID0gc291cmNlLmFsdCB8fCAnJzsKICAgICAgaW1nLmxvYWRpbmcgPSAnZWFnZXInOwogICAgICBiZy5pbm5lckhUTUwgPSAnJzsKICAgICAgYmcuYXBwZW5kQ2hpbGQoaW1nKTsKICAgIH0KCiAgICAvLyBSZXZlYWwtb24tbG9hZCAodGhpcyBzaXRzIGF0IHRoZSB0b3Agb2YgdGhlIHBhZ2UsIHNhbWUgbGlnaHR3ZWlnaHQKICAgIC8vIG1lY2hhbmlzbSBhcyB0aGUgaG9tZXBhZ2UncyB0b3Agc2VjdGlvbikuCiAgICBjb25zdCBlbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5wb2RjYXN0cy1oZXJvLWVtYmVkJyk7CiAgICBpZiAoZWwpIHsKICAgICAgZWwuY2xhc3NMaXN0LmFkZCgncmV2ZWFsJyk7CiAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGZ1bmN0aW9uKGVudHJpZXMpewogICAgICAgIGVudHJpZXMuZm9yRWFjaChmdW5jdGlvbihlbnRyeSl7CiAgICAgICAgICBpZiAoZW50cnkuaXNJbnRlcnNlY3RpbmcpIHsKICAgICAgICAgICAgZW50cnkudGFyZ2V0LmNsYXNzTGlzdC5hZGQoJ2lzLXZpc2libGUnKTsKICAgICAgICAgICAgb2JzZXJ2ZXIudW5vYnNlcnZlKGVudHJ5LnRhcmdldCk7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgIH0sIHsgdGhyZXNob2xkOiAwLjA1IH0pOwogICAgICBvYnNlcnZlci5vYnNlcnZlKGVsKTsKICAgIH0KICB9CgogIGlmIChkb2N1bWVudC5yZWFkeVN0YXRlID09PSAnY29tcGxldGUnKSB7CiAgICBpbml0KCk7CiAgfSBlbHNlIHsKICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgaW5pdCk7CiAgfQp9KSgpOwo=

Podcasts, sold direct
Own the whole season, no middleman.
We skip the subscription apps and sell every podcast a la carte, like an album. Here’s how it works:
-
1
Find a pod you like and hit buy. You’ll land in our store to check out or log in.
-
2
Get your RSS link. Paste it into any podcast app and the whole season is yours to keep.
-
3
Log in for video. Every episode you buy comes with a video version too.
ICAuYmctaW50cm8yLWVtYmVkewogICAgLS1vcmFuZ2U6I0RCOEIzQjsgLS1jcmVhbTojRjRFRUREOyAtLWluazojMjQxQzEzOyAtLXRlYWwtZGFyazojMjM0QTQzOyAtLXRlYWw6IzMzNjY1QzsKICB9CiAgLmJnLWludHJvMi1lbWJlZCwgLmJnLWludHJvMi1lbWJlZCAqeyBib3gtc2l6aW5nOmJvcmRlci1ib3g7IH0KICAuYmctaW50cm8yLWVtYmVkewogICAgcGFkZGluZzo0OHB4IDE2cHg7IG1hcmdpbjowOyBmb250LWZhbWlseTonS2FybGEnLHNhbnMtc2VyaWY7CiAgICAvKiBGdWxsLWJsZWVkIGJyZWFrb3V0IHZpYSB0cmFuc2Zvcm0gLS0gdGhlIHRlY2huaXF1ZSBwcm92ZW4gdG8gd29yayBvbgogICAgICAgdGhpcyBwYWdlJ3MgUnVzc2VsbCB0ZW1wbGF0ZSAoc2FtZSBhcyB0aGUgUG9kY2FzdHMgYmFubmVyKS4gbGVmdDo1MCUKICAgICAgICsgdHJhbnNsYXRlWCgtNTAlKSBjZW50ZXJzIGEgMTAwdnctd2lkZSBib3ggcmVnYXJkbGVzcyBvZiB0aGUgbmFycm93CiAgICAgICA2ODRweCBjb250ZW50IGNvbHVtbiwgYW5kIHRoZSB0aGVtZSdzIG1hcmdpbi9hbGlnbm1lbnQgcnVsZXMgY2FuJ3QKICAgICAgIG92ZXJyaWRlIGEgdHJhbnNmb3JtLiBJZiB0aGUgdGhlbWUgZXZlciBjbGFtcHMgdGhlIHdpZHRoLCBpdCBmYWlscwogICAgICAgZ3JhY2VmdWxseSB0byBhIGNlbnRlcmVkIG5hcnJvdyBib3ggKHdoaWNoIHRoZW4gc2hvd3MgdGhlIHNpbmdsZS1jb2x1bW4KICAgICAgIGxheW91dCB2aWEgdGhlIGNvbnRhaW5lciBxdWVyeSBiZWxvdykgcmF0aGVyIHRoYW4gc2hpZnRpbmcgb2ZmLXNjcmVlbi4gKi8KICAgIHdpZHRoOjEwMHZ3OyBtYXgtd2lkdGg6MTAwdnc7CiAgICBwb3NpdGlvbjpyZWxhdGl2ZTsgbGVmdDo1MCU7CiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTsKICAgIC8qIExheW91dCByZXNwb25kcyB0byBUSElTIGJsb2NrJ3Mgd2lkdGgsIG5vdCB0aGUgc2NyZWVuJ3MuICovCiAgICBjb250YWluZXItdHlwZTppbmxpbmUtc2l6ZTsgY29udGFpbmVyLW5hbWU6YmllbWJlZDsKICB9CgogIC8qIC0tLS0tLS0tIERlZmF1bHQgPSBzaW5nbGUgY29sdW1uIChmaXRzIEFOWSB3aWR0aCwgbmV2ZXIgb3ZlcmZsb3dzKSAtLS0tLS0tLSAqLwogIC5iZy1pbnRybzItZW1iZWQgLmJpLWNhcmR7CiAgICBtYXgtd2lkdGg6MTE4MHB4OyBtYXJnaW46MCBhdXRvOyBiYWNrZ3JvdW5kOnZhcigtLWNyZWFtKTsKICAgIGJvcmRlcjoycHggc29saWQgdmFyKC0taW5rKTsgYm9yZGVyLXJhZGl1czoyNHB4OwogICAgYm94LXNoYWRvdzowIDZweCAxNHB4IHJnYmEoMzYsMjgsMTksMC4xNiksIDAgMjBweCA0MHB4IHJnYmEoMzYsMjgsMTksMC4xMik7CiAgICBwYWRkaW5nOjQwcHggMjhweDsgZGlzcGxheTpncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyOyBnYXA6NDRweDsKICAgIGFsaWduLWl0ZW1zOmNlbnRlcjsgdGV4dC1hbGlnbjpjZW50ZXI7CiAgfQoKICAuYmctaW50cm8yLWVtYmVkIC5iaS1zdGFja3sKICAgIGRpc3BsYXk6Z3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLCAxZnIpOyBnYXA6MTZweDsKICAgIHdpZHRoOjMwMHB4OyBtYXJnaW46MCBhdXRvOwogIH0KICAuYmctaW50cm8yLWVtYmVkIC5iaS1jb3ZlcnsKICAgIGJvcmRlci1yYWRpdXM6NnB4OyBvdmVyZmxvdzpoaWRkZW47CiAgICBib3gtc2hhZG93OjAgMTBweCAyNHB4IHJnYmEoMzYsMjgsMTksMC4yMCksIDAgM3B4IDhweCByZ2JhKDM2LDI4LDE5LDAuMTQpOwogICAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGVhc2UsIGJveC1zaGFkb3cgLjJzIGVhc2U7CiAgfQogIC5iZy1pbnRybzItZW1iZWQgLmJpLWNvdmVyOmhvdmVyewogICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTNweCk7CiAgICBib3gtc2hhZG93OjAgMTZweCAzMnB4IHJnYmEoMzYsMjgsMTksMC4yNCksIDAgNXB4IDEycHggcmdiYSgzNiwyOCwxOSwwLjE2KTsKICB9CiAgLmJnLWludHJvMi1lbWJlZCAuYmktY292ZXIgaW1nLAogIC5iZy1pbnRybzItZW1iZWQgLmJpLXBsYWNlaG9sZGVyewogICAgZGlzcGxheTpibG9jazsgd2lkdGg6MTAwJTsgYXNwZWN0LXJhdGlvOjEvMTsgb2JqZWN0LWZpdDpjb3ZlcjsKICB9CiAgLmJnLWludHJvMi1lbWJlZCAuYmktcGxhY2Vob2xkZXJ7CiAgICBkaXNwbGF5OmZsZXg7IGFsaWduLWl0ZW1zOmNlbnRlcjsganVzdGlmeS1jb250ZW50OmNlbnRlcjsKICAgIGJhY2tncm91bmQ6dmFyKC0tdGVhbCk7IGNvbG9yOnZhcigtLWNyZWFtKTsgZm9udC1zaXplOjExcHg7CiAgICBsZXR0ZXItc3BhY2luZzowLjFlbTsgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOyB0ZXh0LWFsaWduOmNlbnRlcjsgcGFkZGluZzo4cHg7CiAgfQoKICAuYmctaW50cm8yLWVtYmVkIC5iaS1leWVicm93ewogICAgZm9udC1mYW1pbHk6J0thcmxhJyxzYW5zLXNlcmlmOyBmb250LXdlaWdodDo3MDA7IGZvbnQtc2l6ZToxMi41cHg7IGxldHRlci1zcGFjaW5nOjAuMTRlbTsKICAgIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsgY29sb3I6dmFyKC0tb3JhbmdlKTsgbWFyZ2luOjAgMCAxMHB4OwogIH0KICAuYmctaW50cm8yLWVtYmVkIC5iaS1oZWFkaW5newogICAgZm9udC1mYW1pbHk6J0xpYnJlIEJhc2tlcnZpbGxlJyxzZXJpZjsgZm9udC13ZWlnaHQ6NzAwOwogICAgZm9udC1zaXplOmNsYW1wKDI4cHgsIDZjcWksIDQycHgpOyBsaW5lLWhlaWdodDoxLjE1OyBjb2xvcjp2YXIoLS1pbmspOyBtYXJnaW46MCAwIDE4cHg7CiAgfQogIC5iZy1pbnRybzItZW1iZWQgLmJpLWxlZGV7CiAgICBmb250LXNpemU6MTZweDsgbGluZS1oZWlnaHQ6MS42NTsgY29sb3I6dmFyKC0taW5rKTsgb3BhY2l0eTowLjg1OyBtYXJnaW46MCBhdXRvIDI4cHg7CiAgICBtYXgtd2lkdGg6NDhjaDsKICB9CgogIC5iZy1pbnRybzItZW1iZWQgLmJpLXN0ZXBzewogICAgbGlzdC1zdHlsZTpub25lOyBtYXJnaW46MCBhdXRvIDMycHg7IHBhZGRpbmc6MDsgZGlzcGxheTpmbGV4OyBmbGV4LWRpcmVjdGlvbjpjb2x1bW47IGdhcDoxNnB4OwogICAgdGV4dC1hbGlnbjpsZWZ0OyBtYXgtd2lkdGg6NTJjaDsKICB9CiAgLmJnLWludHJvMi1lbWJlZCAuYmktc3RlcHMgbGl7IGRpc3BsYXk6ZmxleDsgZ2FwOjE0cHg7IGFsaWduLWl0ZW1zOmJhc2VsaW5lOyB9CiAgLmJnLWludHJvMi1lbWJlZCAuYmktc3RlcHMgLm51bXsKICAgIGZvbnQtZmFtaWx5OidMaWJyZSBCYXNrZXJ2aWxsZScsc2VyaWY7IGZvbnQtd2VpZ2h0OjcwMDsgZm9udC1zaXplOjE1cHg7IGNvbG9yOnZhcigtLWNyZWFtKTsKICAgIGJhY2tncm91bmQ6dmFyKC0tdGVhbC1kYXJrKTsgd2lkdGg6MjZweDsgaGVpZ2h0OjI2cHg7IG1pbi13aWR0aDoyNnB4OyBib3JkZXItcmFkaXVzOjUwJTsKICAgIGRpc3BsYXk6aW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOmNlbnRlcjsganVzdGlmeS1jb250ZW50OmNlbnRlcjsgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMnB4KTsKICB9CiAgLmJnLWludHJvMi1lbWJlZCAuYmktc3RlcHMgcHsgbWFyZ2luOjA7IGZvbnQtc2l6ZToxNS41cHg7IGxpbmUtaGVpZ2h0OjEuNTU7IGNvbG9yOnZhcigtLWluayk7IH0KICAuYmctaW50cm8yLWVtYmVkIC5iaS1zdGVwcyBzdHJvbmd7IGNvbG9yOnZhcigtLXRlYWwtZGFyayk7IH0KCiAgLmJnLWludHJvMi1lbWJlZCAuYmktYnRuewogICAgZGlzcGxheTppbmxpbmUtYmxvY2s7IGZvbnQtZmFtaWx5OidMaWJyZSBCYXNrZXJ2aWxsZScsc2VyaWY7IGZvbnQtd2VpZ2h0OjcwMDsgZm9udC1zaXplOjE1cHg7CiAgICBjb2xvcjp2YXIoLS1pbmspOyBib3JkZXI6MnB4IHNvbGlkIHZhcigtLWluayk7IHBhZGRpbmc6MTJweCAzMHB4OyBib3JkZXItcmFkaXVzOjk5OXB4OwogICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7IHRyYW5zaXRpb246YmFja2dyb3VuZCAuMThzIGVhc2UsIGNvbG9yIC4xOHMgZWFzZTsKICB9CiAgLmJnLWludHJvMi1lbWJlZCAuYmktYnRuOmhvdmVyeyBiYWNrZ3JvdW5kOnZhcigtLWluayk7IGNvbG9yOnZhcigtLWNyZWFtKTsgfQoKICAuYmctaW50cm8yLWVtYmVkLnJldmVhbHsKICAgIG9wYWNpdHk6MDsgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgyOHB4KTsKICAgIHRyYW5zaXRpb246b3BhY2l0eSAuN3MgZWFzZSwgdHJhbnNmb3JtIC43cyBlYXNlOwogIH0KICAuYmctaW50cm8yLWVtYmVkLnJldmVhbC5pcy12aXNpYmxleyBvcGFjaXR5OjE7IHRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoMCk7IH0KCiAgLyogLS0tLS0tLS0gVHdvLWNvbHVtbiB1cGdyYWRlLCBPTkxZIHdoZW4gdGhlIGJsb2NrIGl0c2VsZiBpcyB3aWRlIGVub3VnaCAtLS0tLS0tLSAqLwogIEBjb250YWluZXIgYmllbWJlZCAobWluLXdpZHRoOjcyMHB4KXsKICAgIC5iZy1pbnRybzItZW1iZWR7IHBhZGRpbmc6NTZweCA1dnc7IH0KICAgIC5iZy1pbnRybzItZW1iZWQgLmJpLWNhcmR7CiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczowLjlmciAxLjFmcjsgZ2FwOjU2cHg7IHBhZGRpbmc6NTZweDsgdGV4dC1hbGlnbjpsZWZ0OwogICAgfQogICAgLmJnLWludHJvMi1lbWJlZCAuYmktc3RhY2t7IHdpZHRoOjQzMHB4OyBnYXA6MjJweDsgfQogICAgLmJnLWludHJvMi1lbWJlZCAuYmktbGVkZXsgbWFyZ2luLWxlZnQ6MDsgbWFyZ2luLXJpZ2h0OjA7IH0KICAgIC5iZy1pbnRybzItZW1iZWQgLmJpLXN0ZXBzeyBtYXJnaW4tbGVmdDowOyBtYXJnaW4tcmlnaHQ6MDsgbWF4LXdpZHRoOm5vbmU7IH0KICB9CgogIC8qIFRoZSBXb3JkUHJlc3MgR2FsbGVyeSBibG9jayB0aGF0IHN1cHBsaWVzIHRoZSB0aHJlZSBjb3ZlciBwaG90b3M6CiAgICAgcmVhZCBieSBKUyBhdCBsb2FkLCB0aGVuIGhpZGRlbiBzbyBpdCBkb2Vzbid0IGFsc28gZGlzcGxheSBuYXRpdmVseS4gKi8KICAucG9kY2FzdC1pbnRyby1zb3VyY2V7IGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50OyB9CiAgLmJpLXRleHQtc291cmNleyBkaXNwbGF5Om5vbmUgIWltcG9ydGFudDsgfQo=
KGZ1bmN0aW9uKCl7CiAgLy8gLS0tLSBDb3ZlciBwaG90b3M6IHN1cHBsaWVkIHZpYSBhIFdvcmRQcmVzcyBHYWxsZXJ5IGJsb2NrIC0tLS0KICAvLyBBZGQgYSBHYWxsZXJ5IGJsb2NrIGFueXdoZXJlIG9uIHRoZSBwYWdlLCB1cGxvYWQgNCBwb2RjYXN0IGNvdmVyIGltYWdlcywKICAvLyB0aGVuIGdpdmUgdGhlIEdBTExFUlkgYmxvY2sgdGhlIENTUyBjbGFzcyAicG9kY2FzdC1pbnRyby1zb3VyY2UiCiAgLy8gKEJsb2NrIHNldHRpbmdzIC0+IEFkdmFuY2VkIC0+IEFkZGl0aW9uYWwgQ1NTIGNsYXNzKGVzKSkuIEZvciBlYWNoIGltYWdlLAogIC8vIHNldCBBbHQgVGV4dCB0byB0aGUgc2hvdyBuYW1lIC0tIGl0IGJlY29tZXMgdGhlIGhhbmR3cml0dGVuIGxhYmVsIHVuZGVyCiAgLy8gdGhhdCBjYXJkLiBSZW9yZGVyIGltYWdlcyBpbiB0aGUgR2FsbGVyeSBibG9jayB0byByZW9yZGVyIHRoZSBjbHVzdGVyLgogIGNvbnN0IEZBTExCQUNLX0xBQkVMUyA9IFsnTWFpbiBTdHJlZXQgU291bmRzJywgIlRlYWNoZXIncyBMb3VuZ2UiLCAnQ291bnR5IEZhaXInLCAnT3JkZXIgVXAnXTsKICBjb25zdCBGQUxMQkFDS19DT0xPUlMgPSBbJyMzMzY2NUMnLCAnIzlDNDQzNicsICcjREI4QjNCJywgJyMyMzRBNDMnXTsKICBjb25zdCBDT1ZFUl9DT1VOVCA9IDQ7CgogIGZ1bmN0aW9uIGhpZ2hlc3RSZXNTcmMoaW1nKXsKICAgIGNvbnN0IGZ1bGxVcmwgPSBpbWcuZ2V0QXR0cmlidXRlKCdkYXRhLWZ1bGwtdXJsJyk7CiAgICBpZiAoZnVsbFVybCkgcmV0dXJuIGZ1bGxVcmw7CiAgICBjb25zdCBzcmNzZXQgPSBpbWcuZ2V0QXR0cmlidXRlKCdzcmNzZXQnKTsKICAgIGlmIChzcmNzZXQpIHsKICAgICAgY29uc3QgY2FuZGlkYXRlcyA9IHNyY3NldC5zcGxpdCgnLCcpLm1hcChwYXJ0ID0+IHsKICAgICAgICBjb25zdCBiaXRzID0gcGFydC50cmltKCkuc3BsaXQoL1xzKy8pOwogICAgICAgIGNvbnN0IHdpZHRoID0gcGFyc2VJbnQoKGJpdHNbMV0gfHwgJycpLnJlcGxhY2UoJ3cnLCAnJyksIDEwKSB8fCAwOwogICAgICAgIHJldHVybiB7IHVybDogYml0c1swXSwgd2lkdGggfTsKICAgICAgfSk7CiAgICAgIGNhbmRpZGF0ZXMuc29ydCgoYSwgYikgPT4gYi53aWR0aCAtIGEud2lkdGgpOwogICAgICBpZiAoY2FuZGlkYXRlcy5sZW5ndGggJiYgY2FuZGlkYXRlc1swXS51cmwpIHJldHVybiBjYW5kaWRhdGVzWzBdLnVybDsKICAgIH0KICAgIHJldHVybiBpbWcuc3JjOwogIH0KCiAgLy8gLS0tLSBFZGl0YWJsZSB0ZXh0OiBzdXBwbGllZCB2aWEgYSBoaWRkZW4gR3JvdXAgb2Ygbm9ybWFsIFdvcmRQcmVzcyBibG9ja3MgLS0tLQogIC8vIEFkZCBhIEdyb3VwIGJsb2NrLCBnaXZlIGl0IHRoZSBDU1MgY2xhc3MgImJpLXRleHQtc291cmNlIiwgYW5kIGluc2lkZSBpdCBwdXQKICAvLyAoaW4gdGhpcyBvcmRlcik6IGEgUGFyYWdyYXBoICh0aGUgZXllYnJvdyksIGEgSGVhZGluZyAodGhlIGJpZyB0aXRsZSksCiAgLy8gYSBQYXJhZ3JhcGggKHRoZSBsZWRlKSwgYSBMaXN0ICh0aGUgbnVtYmVyZWQgc3RlcHMgLS0gYm9sZCB0aGUgbGVhZCBwaHJhc2UKICAvLyBvZiBlYWNoIGl0ZW0gdG8gZ2V0IHRoZSBncmVlbiBoaWdobGlnaHQpLCBhbmQgYSBCdXR0b24gKHRoZSBsaW5rKS4KICAvLyBUaGUgYmxvY2sgcmVhZHMgdGhlbSwgcmVzdHlsZXMgdGhlbSwgYW5kIGhpZGVzIHRoZSBHcm91cCBvbiB0aGUgbGl2ZSBwYWdlLgogIGZ1bmN0aW9uIHBvcHVsYXRlVGV4dCgpewogICAgY29uc3Qgc3JjID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmJpLXRleHQtc291cmNlJyk7CiAgICBpZiAoIXNyYykgcmV0dXJuOwogICAgY29uc3QgZW1iZWQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuYmctaW50cm8yLWVtYmVkJyk7CiAgICBpZiAoIWVtYmVkKSByZXR1cm47CgogICAgY29uc3QgaGVhZGluZyA9IHNyYy5xdWVyeVNlbGVjdG9yKCdoMSxoMixoMyxoNCxoNSxoNicpOwogICAgbGV0IGV5ZWJyb3cgPSBudWxsLCBsZWRlID0gbnVsbCwgc2VlbkhlYWRpbmcgPSBmYWxzZTsKICAgIHNyYy5xdWVyeVNlbGVjdG9yQWxsKCdwLCBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2JykuZm9yRWFjaChlbCA9PiB7CiAgICAgIGlmICgvXkhbMS02XSQvLnRlc3QoZWwudGFnTmFtZSkpIHsgc2VlbkhlYWRpbmcgPSB0cnVlOyByZXR1cm47IH0KICAgICAgaWYgKGVsLnRhZ05hbWUgPT09ICdQJykgewogICAgICAgIGlmICghc2VlbkhlYWRpbmcgJiYgIWV5ZWJyb3cpIGV5ZWJyb3cgPSBlbDsKICAgICAgICBlbHNlIGlmIChzZWVuSGVhZGluZyAmJiAhbGVkZSkgbGVkZSA9IGVsOwogICAgICB9CiAgICB9KTsKICAgIGNvbnN0IGxpc3QgPSBzcmMucXVlcnlTZWxlY3RvcigndWwsIG9sJyk7CiAgICBjb25zdCBidG5BID0gc3JjLnF1ZXJ5U2VsZWN0b3IoJy53cC1ibG9jay1idXR0b24gYScpIHx8IHNyYy5xdWVyeVNlbGVjdG9yKCdhJyk7CgogICAgY29uc3QgZWxFeWVicm93ID0gZW1iZWQucXVlcnlTZWxlY3RvcignLmJpLWV5ZWJyb3cnKTsKICAgIGNvbnN0IGVsSGVhZGluZyA9IGVtYmVkLnF1ZXJ5U2VsZWN0b3IoJy5iaS1oZWFkaW5nJyk7CiAgICBjb25zdCBlbExlZGUgICAgPSBlbWJlZC5xdWVyeVNlbGVjdG9yKCcuYmktbGVkZScpOwogICAgY29uc3QgZWxTdGVwcyAgID0gZW1iZWQucXVlcnlTZWxlY3RvcignLmJpLXN0ZXBzJyk7CiAgICBjb25zdCBlbEJ0biAgICAgPSBlbWJlZC5xdWVyeVNlbGVjdG9yKCcuYmktYnRuJyk7CgogICAgaWYgKGV5ZWJyb3cgJiYgZWxFeWVicm93KSBlbEV5ZWJyb3cudGV4dENvbnRlbnQgPSBleWVicm93LnRleHRDb250ZW50LnRyaW0oKTsKICAgIGlmIChoZWFkaW5nICYmIGVsSGVhZGluZykgZWxIZWFkaW5nLmlubmVySFRNTCA9IGhlYWRpbmcuaW5uZXJIVE1MOwogICAgaWYgKGxlZGUgJiYgZWxMZWRlKSAgICAgICBlbExlZGUuaW5uZXJIVE1MID0gbGVkZS5pbm5lckhUTUw7CiAgICBpZiAobGlzdCAmJiBlbFN0ZXBzKSB7CiAgICAgIGNvbnN0IGl0ZW1zID0gQXJyYXkuZnJvbShsaXN0LnF1ZXJ5U2VsZWN0b3JBbGwoJ2xpJykpOwogICAgICBpZiAoaXRlbXMubGVuZ3RoKSB7CiAgICAgICAgZWxTdGVwcy5pbm5lckhUTUwgPSBpdGVtcy5tYXAoKGxpLCBpKSA9PgogICAgICAgICAgJzxsaT48c3BhbiBjbGFzcz0ibnVtIj4nICsgKGkgKyAxKSArICc8L3NwYW4+PHA+JyArIGxpLmlubmVySFRNTCArICc8L3A+PC9saT4nCiAgICAgICAgKS5qb2luKCcnKTsKICAgICAgfQogICAgfQogICAgaWYgKGJ0bkEgJiYgZWxCdG4pIHsKICAgICAgY29uc3QgdCA9IGJ0bkEudGV4dENvbnRlbnQudHJpbSgpOwogICAgICBpZiAodCkgZWxCdG4udGV4dENvbnRlbnQgPSB0OwogICAgICBjb25zdCBocmVmID0gYnRuQS5nZXRBdHRyaWJ1dGUoJ2hyZWYnKTsKICAgICAgaWYgKGhyZWYpIGVsQnRuLnNldEF0dHJpYnV0ZSgnaHJlZicsIGhyZWYpOwogICAgICBpZiAoYnRuQS5nZXRBdHRyaWJ1dGUoJ3RhcmdldCcpKSB7CiAgICAgICAgZWxCdG4uc2V0QXR0cmlidXRlKCd0YXJnZXQnLCBidG5BLmdldEF0dHJpYnV0ZSgndGFyZ2V0JykpOwogICAgICAgIGVsQnRuLnNldEF0dHJpYnV0ZSgncmVsJywgJ25vb3BlbmVyIG5vcmVmZXJyZXInKTsKICAgICAgfQogICAgfQogIH0KCiAgZnVuY3Rpb24gYnVpbGRDb3ZlcnMoKXsKICAgIGNvbnN0IGdhbGxlcnlJbWdzID0gQXJyYXkuZnJvbShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcucG9kY2FzdC1pbnRyby1zb3VyY2UgaW1nJykpOwogICAgY29uc3Qgc3RhY2sgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYmlTdGFjaycpOwogICAgaWYgKCFzdGFjaykgcmV0dXJuOwogICAgc3RhY2suaW5uZXJIVE1MID0gJyc7CgogICAgZm9yIChsZXQgaSA9IDA7IGkgPCBDT1ZFUl9DT1VOVDsgaSsrKSB7CiAgICAgIGNvbnN0IGNvdmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgIGNvdmVyLmNsYXNzTmFtZSA9ICdiaS1jb3Zlcic7CgogICAgICBpZiAoZ2FsbGVyeUltZ3MubGVuZ3RoKSB7CiAgICAgICAgY29uc3Qgc3JjSW1nID0gZ2FsbGVyeUltZ3NbaSAlIGdhbGxlcnlJbWdzLmxlbmd0aF07CiAgICAgICAgY29uc3QgaW1nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW1nJyk7CiAgICAgICAgaW1nLnNyYyA9IGhpZ2hlc3RSZXNTcmMoc3JjSW1nKTsKICAgICAgICBpbWcuYWx0ID0gc3JjSW1nLmFsdCB8fCBGQUxMQkFDS19MQUJFTFNbaV07IC8vIGFsdCBrZXB0IGZvciBhY2Nlc3NpYmlsaXR5CiAgICAgICAgaW1nLmxvYWRpbmcgPSAnZWFnZXInOwogICAgICAgIGNvdmVyLmFwcGVuZENoaWxkKGltZyk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgY29uc3QgcGggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICAgICBwaC5jbGFzc05hbWUgPSAnYmktcGxhY2Vob2xkZXInOwogICAgICAgIHBoLnN0eWxlLmJhY2tncm91bmQgPSBGQUxMQkFDS19DT0xPUlNbaV07CiAgICAgICAgcGgudGV4dENvbnRlbnQgPSAnQ292ZXIgJyArIChpICsgMSk7CiAgICAgICAgY292ZXIuYXBwZW5kQ2hpbGQocGgpOwogICAgICB9CiAgICAgIHN0YWNrLmFwcGVuZENoaWxkKGNvdmVyKTsKICAgIH0KICB9CgogIGZ1bmN0aW9uIGluaXQoKXsKICAgIHBvcHVsYXRlVGV4dCgpOwogICAgYnVpbGRDb3ZlcnMoKTsKCiAgICAvLyBSZXZlYWwtb24tc2Nyb2xsLCBzYW1lIGxpZ2h0d2VpZ2h0IG1lY2hhbmlzbSBhcyB0aGUgcmVzdCBvZiB0aGUgcGFnZS4KICAgIGNvbnN0IGVsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmJnLWludHJvMi1lbWJlZCcpOwogICAgaWYgKGVsKSB7CiAgICAgIGVsLmNsYXNzTGlzdC5hZGQoJ3JldmVhbCcpOwogICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoZW50cmllcykgPT4gewogICAgICAgIGVudHJpZXMuZm9yRWFjaChlbnRyeSA9PiB7CiAgICAgICAgICBpZiAoZW50cnkuaXNJbnRlcnNlY3RpbmcpIHsKICAgICAgICAgICAgZW50cnkudGFyZ2V0LmNsYXNzTGlzdC5hZGQoJ2lzLXZpc2libGUnKTsKICAgICAgICAgICAgb2JzZXJ2ZXIudW5vYnNlcnZlKGVudHJ5LnRhcmdldCk7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgIH0sIHsgdGhyZXNob2xkOiAwLjE1IH0pOwogICAgICBvYnNlcnZlci5vYnNlcnZlKGVsKTsKICAgIH0KICB9CgogIGlmIChkb2N1bWVudC5yZWFkeVN0YXRlID09PSAnY29tcGxldGUnKSB7CiAgICBpbml0KCk7CiAgfSBlbHNlIHsKICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgaW5pdCk7CiAgfQp9KSgpOwo=
Podcasts, Direct to You
A la Carte Podcasts, Forget the Middleman
Getting a Big Grande Podcast is Easy!
- Find a pod you like and hit buy. You’ll land in our store to check out or log in.
- Get your RSS link. Paste it into any podcast app and the whole season is yours to keep.
- Log in for video. Every episode you buy comes with a video version too. The log in link is at the top right of every page, or hell, click right here.




The Teacher’s Lounge
Grab a season, keep it forever.
Full comedy arcs, sold season by season. Audio’s yours the second you buy — video unlocks once you’re logged in.
ICAudGwtZW1iZWR7CiAgICAtLW9yYW5nZTojREI4QjNCOyAtLWNyZWFtOiNGNEVFREQ7IC0taW5rOiMyNDFDMTM7IC0tdGVhbC1kYXJrOiMyMzRBNDM7IC0tdGVhbDojMzM2NjVDOwogIH0KICAudGwtZW1iZWQsIC50bC1lbWJlZCAqeyBib3gtc2l6aW5nOmJvcmRlci1ib3g7IH0KICAudGwtZW1iZWR7CiAgICBwYWRkaW5nOjU2cHggMTZweDsgbWFyZ2luOjA7IGZvbnQtZmFtaWx5OidLYXJsYScsc2Fucy1zZXJpZjsKICAgIC8qIFNhbWUgZnVsbC1ibGVlZCBicmVha291dCBhcyB0aGUgaW50cm8gYmxvY2s6IGVzY2FwZXMgdGhlIHRoZW1lJ3MKICAgICAgIG5hcnJvdyBjb250ZW50IGNvbHVtbiByZWdhcmRsZXNzIG9mIGhvdyBkZWVwIHRoaXMgZ2V0cyBuZXN0ZWQuICovCiAgICB3aWR0aDoxMDB2dzsgbWF4LXdpZHRoOjEwMHZ3OwogICAgcG9zaXRpb246cmVsYXRpdmU7IGxlZnQ6NTAlOwogICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7CiAgICAvKiBHcmlkIGNvbHVtbiBjb3VudCByZXNwb25kcyB0byBUSElTIGJsb2NrJ3Mgb3duIHdpZHRoLiAqLwogICAgY29udGFpbmVyLXR5cGU6aW5saW5lLXNpemU7IGNvbnRhaW5lci1uYW1lOnRsZW1iZWQ7CiAgfQoKICAudGwtZW1iZWQgLnRsLWlubmVyeyBtYXgtd2lkdGg6MTE4MHB4OyBtYXJnaW46MCBhdXRvOyB9CgogIC50bC1lbWJlZCAudGwtaGVhZHsgdGV4dC1hbGlnbjpjZW50ZXI7IG1hcmdpbjowIGF1dG8gNDBweDsgbWF4LXdpZHRoOjYwY2g7IH0KICAudGwtZW1iZWQgLnRsLWV5ZWJyb3d7CiAgICBmb250LWZhbWlseTonS2FybGEnLHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OjcwMDsgZm9udC1zaXplOjEyLjVweDsgbGV0dGVyLXNwYWNpbmc6MC4xNGVtOwogICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOyBjb2xvcjp2YXIoLS1vcmFuZ2UpOyBtYXJnaW46MCAwIDEwcHg7CiAgfQogIC50bC1lbWJlZCAudGwtaGVhZGluZ3sKICAgIGZvbnQtZmFtaWx5OidMaWJyZSBCYXNrZXJ2aWxsZScsc2VyaWY7IGZvbnQtd2VpZ2h0OjcwMDsKICAgIGZvbnQtc2l6ZTpjbGFtcCgyOHB4LCA3Y3FpLCA0MnB4KTsgbGluZS1oZWlnaHQ6MS4xNTsgY29sb3I6dmFyKC0taW5rKTsgbWFyZ2luOjAgMCAxNHB4OwogIH0KICAudGwtZW1iZWQgLnRsLWJsdXJiewogICAgZm9udC1zaXplOjE1LjVweDsgbGluZS1oZWlnaHQ6MS42OyBjb2xvcjp2YXIoLS1pbmspOyBvcGFjaXR5OjAuODsgbWFyZ2luOjAgYXV0bzsKICB9CgogIC8qIC0tLS0tLS0tIEdyaWQ6IGRlZmF1bHQgc2luZ2xlIGNvbHVtbiwgd2lkZW5zIGFzIHRoZSBibG9jayBoYXMgcm9vbSAtLS0tLS0tLSAqLwogIC50bC1lbWJlZCAudGwtZ3JpZHsKICAgIGRpc3BsYXk6Z3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjsgZ2FwOjI4cHg7CiAgfQogIEBjb250YWluZXIgdGxlbWJlZCAobWluLXdpZHRoOjUyMHB4KXsKICAgIC50bC1lbWJlZCAudGwtZ3JpZHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLCAxZnIpOyB9CiAgfQogIEBjb250YWluZXIgdGxlbWJlZCAobWluLXdpZHRoOjgyMHB4KXsKICAgIC50bC1lbWJlZCAudGwtZ3JpZHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLCAxZnIpOyBnYXA6MzJweDsgfQogIH0KCiAgLnRsLWVtYmVkIC50bC1jYXJkewogICAgZGlzcGxheTpmbGV4OyBmbGV4LWRpcmVjdGlvbjpjb2x1bW47IGFsaWduLWl0ZW1zOmNlbnRlcjsgdGV4dC1hbGlnbjpjZW50ZXI7CiAgfQogIC50bC1lbWJlZCAudGwtY292ZXJ7CiAgICBkaXNwbGF5OmJsb2NrOyB3aWR0aDoxMDAlOyBhc3BlY3QtcmF0aW86MS8xOyBvYmplY3QtZml0OmNvdmVyOwogICAgYm9yZGVyLXJhZGl1czo4cHg7IGJvcmRlcjoycHggc29saWQgdmFyKC0taW5rKTsKICAgIGJveC1zaGFkb3c6MCA2cHggMTRweCByZ2JhKDM2LDI4LDE5LDAuMTYpOwogICAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjE4cyBlYXNlLCBib3gtc2hhZG93IC4xOHMgZWFzZTsKICAgIG1hcmdpbjowIDAgMTRweDsKICB9CiAgLnRsLWVtYmVkIC50bC1jYXJkOmhvdmVyIC50bC1jb3ZlcnsKICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC0zcHgpOwogICAgYm94LXNoYWRvdzowIDEycHggMjJweCByZ2JhKDM2LDI4LDE5LDAuMjIpOwogIH0KICAudGwtZW1iZWQgLnRsLXBsYWNlaG9sZGVyewogICAgZGlzcGxheTpmbGV4OyBhbGlnbi1pdGVtczpjZW50ZXI7IGp1c3RpZnktY29udGVudDpjZW50ZXI7CiAgICBhc3BlY3QtcmF0aW86MS8xOyBib3JkZXItcmFkaXVzOjhweDsgYm9yZGVyOjJweCBzb2xpZCB2YXIoLS1pbmspOwogICAgYmFja2dyb3VuZDp2YXIoLS10ZWFsKTsgY29sb3I6dmFyKC0tY3JlYW0pOyBmb250LXNpemU6MTJweDsKICAgIGxldHRlci1zcGFjaW5nOjAuMDhlbTsgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOyB0ZXh0LWFsaWduOmNlbnRlcjsgcGFkZGluZzoxMHB4OwogICAgbWFyZ2luOjAgMCAxNHB4OwogIH0KCiAgLnRsLWVtYmVkIC50bC10aXRsZXsKICAgIGZvbnQtZmFtaWx5OidMaWJyZSBCYXNrZXJ2aWxsZScsc2VyaWY7IGZvbnQtd2VpZ2h0OjcwMDsgZm9udC1zaXplOjE4cHg7CiAgICBsaW5lLWhlaWdodDoxLjM7IGNvbG9yOnZhcigtLWluayk7IG1hcmdpbjowIDAgNHB4OwogIH0KICAudGwtZW1iZWQgLnRsLXByaWNlewogICAgZm9udC1zaXplOjEzLjVweDsgY29sb3I6dmFyKC0taW5rKTsgb3BhY2l0eTowLjc7IG1hcmdpbjowIDAgMTRweDsKICB9CgogIC50bC1lbWJlZCAudGwtYWN0aW9uc3sKICAgIGRpc3BsYXk6ZmxleDsgZmxleC1kaXJlY3Rpb246cm93OyBhbGlnbi1pdGVtczpjZW50ZXI7IGp1c3RpZnktY29udGVudDpjZW50ZXI7IGdhcDoxMHB4OwogIH0KICAudGwtZW1iZWQgLnRsLWJ1eSwKICAudGwtZW1iZWQgLnRsLWdpZnR7CiAgICBkaXNwbGF5OmlubGluZS1ibG9jazsgdGV4dC1hbGlnbjpjZW50ZXI7IGZvbnQtZmFtaWx5OidMaWJyZSBCYXNrZXJ2aWxsZScsc2VyaWY7CiAgICBmb250LXdlaWdodDo3MDA7IGZvbnQtc2l6ZToxNHB4OyBib3JkZXItcmFkaXVzOjk5OXB4OyB0ZXh0LWRlY29yYXRpb246bm9uZTsKICAgIHBhZGRpbmc6MTFweCAyMnB4OyBib3JkZXI6MnB4IHNvbGlkIHZhcigtLWluayk7CiAgICB0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE4cyBlYXNlLCBjb2xvciAuMThzIGVhc2UsIHRyYW5zZm9ybSAuMThzIGVhc2U7CiAgfQogIC50bC1lbWJlZCAudGwtYnV5ewogICAgY29sb3I6dmFyKC0taW5rKTsgYmFja2dyb3VuZDp2YXIoLS1vcmFuZ2UpOwogIH0KICAudGwtZW1iZWQgLnRsLWJ1eTpob3ZlcnsgYmFja2dyb3VuZDp2YXIoLS1pbmspOyBjb2xvcjp2YXIoLS1jcmVhbSk7IHRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpOyB9CgogIC50bC1lbWJlZCAudGwtZ2lmdHsKICAgIGNvbG9yOnZhcigtLXRlYWwtZGFyayk7IGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7IGJvcmRlci1jb2xvcjp2YXIoLS10ZWFsLWRhcmspOwogIH0KICAudGwtZW1iZWQgLnRsLWdpZnQ6aG92ZXJ7IGJhY2tncm91bmQ6dmFyKC0tdGVhbC1kYXJrKTsgY29sb3I6dmFyKC0tY3JlYW0pOyB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTsgfQoKICAvKiBUaGUgaGlkZGVuIFdvcmRQcmVzcyBzb3VyY2UgY29udGVudCB0aGF0IHN1cHBsaWVzIGVhY2ggc2Vhc29uLCBhbmQgdGhlCiAgICAgb25lIHRoYXQgc3VwcGxpZXMgdGhlIGV5ZWJyb3cvaGVhZGluZy9ibHVyYiB0ZXh0OiBib3RoIHJlYWQgYnkgSlMgYXQKICAgICBsb2FkLCB0aGVuIGhpZGRlbiBzbyB0aGV5IGRvbid0IGFsc28gZGlzcGxheSBuYXRpdmVseS4gKi8KICAudGVhY2hlcnMtbG91bmdlLXNvdXJjZXsgZGlzcGxheTpub25lICFpbXBvcnRhbnQ7IH0KICAudGwtdGV4dC1zb3VyY2V7IGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50OyB9Cg==
KGZ1bmN0aW9uKCl7CiAgLy8gLS0tLSBTZWFzb25zOiBzdXBwbGllZCB2aWEgYSBoaWRkZW4gV29yZFByZXNzIEdyb3VwIGJsb2NrIC0tLS0KICAvLyBBZGQgYSBHcm91cCBibG9jayBhbnl3aGVyZSBvbiB0aGUgcGFnZSwgZ2l2ZSBpdCB0aGUgQ1NTIGNsYXNzCiAgLy8gInRlYWNoZXJzLWxvdW5nZS1zb3VyY2UiIChCbG9jayBzZXR0aW5ncyAtPiBBZHZhbmNlZCAtPiBBZGRpdGlvbmFsIENTUwogIC8vIGNsYXNzKGVzKSkuIEluc2lkZSB0aGF0IEdyb3VwLCBhZGQgT05FIGlubmVyIEdyb3VwIGJsb2NrIHBlciBzZWFzb24gLS0KICAvLyB0aGlzIGlzIGEgInNlYXNvbiByb3ciLiBBZGQvcmVtb3ZlIHNlYXNvbnMgYnkgZHVwbGljYXRpbmcgb3IgZGVsZXRpbmcKICAvLyBhbiBpbm5lciBHcm91cDsgcmVvcmRlciBieSBkcmFnZ2luZyB0aGVtLgogIC8vCiAgLy8gSW5zaWRlIEVBQ0ggc2Vhc29uJ3MgaW5uZXIgR3JvdXAsIGFkZCBleGFjdGx5IHRoZXNlIGJsb2NrcywgaW4gb3JkZXI6CiAgLy8gICAxLiBBbiBJbWFnZSBibG9jayAgLS0gdGhlIGNvdmVyIGFydAogIC8vICAgMi4gQSBIZWFkaW5nIGJsb2NrIC0tIHRoZSBzZWFzb24gdGl0bGUgKGUuZy4gIk9yZGVyIFVwIikKICAvLyAgIDMuIEEgUGFyYWdyYXBoICAgICAtLSB0aGUgcHJpY2Uvc3VidGl0bGUgbGluZSAoZS5nLiAiJDEwIC0gNyBFcGlzb2RlcyIpCiAgLy8gICA0LiBBIEJ1dHRvbnMgYmxvY2sgd2l0aCBleGFjdGx5IFRXTyBidXR0b25zOgogIC8vICAgICAgICAtIGZpcnN0IGJ1dHRvbiAgPSB0aGUgQlVZIGxpbmsgKGl0cyB0ZXh0IGJlY29tZXMgdGhlIGJ1dHRvbiBsYWJlbCkKICAvLyAgICAgICAgLSBzZWNvbmQgYnV0dG9uID0gdGhlIEdJRlQgbGluayAoaXRzIHRleHQgYmVjb21lcyB0aGUgc21hbGwgbGluayBsYWJlbCkKICAvLwogIC8vIFRoZSB3aG9sZSBHcm91cCBpcyBoaWRkZW4gb24gdGhlIGxpdmUgcGFnZSAtLSBvbmx5IHRoaXMgc3R5bGVkIGdyaWQgc2hvd3MuCgogIC8vIC0tLS0gSGVhZGVyIHRleHQ6IHN1cHBsaWVkIHZpYSBhIGhpZGRlbiBHcm91cCBvZiBub3JtYWwgV29yZFByZXNzIGJsb2NrcyAtLS0tCiAgLy8gQWRkIGEgR3JvdXAgYmxvY2ssIGdpdmUgaXQgdGhlIENTUyBjbGFzcyAidGwtdGV4dC1zb3VyY2UiLCBhbmQgaW5zaWRlIGl0CiAgLy8gcHV0IChpbiB0aGlzIG9yZGVyKTogYSBQYXJhZ3JhcGggKHRoZSBleWVicm93KSwgYSBIZWFkaW5nICh0aGUgYmlnCiAgLy8gdGl0bGUpLCBhbmQgYSBQYXJhZ3JhcGggKHRoZSBibHVyYiB1bmRlcm5lYXRoKS4gVGhlIGJsb2NrIHJlYWRzIHRoZW0sCiAgLy8gcmVzdHlsZXMgdGhlbSwgYW5kIGhpZGVzIHRoZSBHcm91cCBvbiB0aGUgbGl2ZSBwYWdlLgogIGZ1bmN0aW9uIHBvcHVsYXRlSGVhZCgpewogICAgY29uc3Qgc3JjID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnRsLXRleHQtc291cmNlJyk7CiAgICBpZiAoIXNyYykgcmV0dXJuOwoKICAgIGNvbnN0IGhlYWRpbmcgPSBzcmMucXVlcnlTZWxlY3RvcignaDEsaDIsaDMsaDQsaDUsaDYnKTsKICAgIGxldCBleWVicm93ID0gbnVsbCwgYmx1cmIgPSBudWxsLCBzZWVuSGVhZGluZyA9IGZhbHNlOwogICAgc3JjLnF1ZXJ5U2VsZWN0b3JBbGwoJ3AsIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYnKS5mb3JFYWNoKGVsID0+IHsKICAgICAgaWYgKC9eSFsxLTZdJC8udGVzdChlbC50YWdOYW1lKSkgeyBzZWVuSGVhZGluZyA9IHRydWU7IHJldHVybjsgfQogICAgICBpZiAoZWwudGFnTmFtZSA9PT0gJ1AnKSB7CiAgICAgICAgaWYgKCFzZWVuSGVhZGluZyAmJiAhZXllYnJvdykgZXllYnJvdyA9IGVsOwogICAgICAgIGVsc2UgaWYgKHNlZW5IZWFkaW5nICYmICFibHVyYikgYmx1cmIgPSBlbDsKICAgICAgfQogICAgfSk7CgogICAgY29uc3QgZWxFeWVicm93ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnRsLWV5ZWJyb3cnKTsKICAgIGNvbnN0IGVsSGVhZGluZyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy50bC1oZWFkaW5nJyk7CiAgICBjb25zdCBlbEJsdXJiICAgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcudGwtYmx1cmInKTsKCiAgICBpZiAoZXllYnJvdyAmJiBlbEV5ZWJyb3cpIGVsRXllYnJvdy50ZXh0Q29udGVudCA9IGV5ZWJyb3cudGV4dENvbnRlbnQudHJpbSgpOwogICAgaWYgKGhlYWRpbmcgJiYgZWxIZWFkaW5nKSBlbEhlYWRpbmcuaW5uZXJIVE1MID0gaGVhZGluZy5pbm5lckhUTUw7CiAgICBpZiAoYmx1cmIgJiYgZWxCbHVyYikgICAgIGVsQmx1cmIuaW5uZXJIVE1MID0gYmx1cmIuaW5uZXJIVE1MOwogIH0KCiAgZnVuY3Rpb24gaGlnaGVzdFJlc1NyYyhpbWcpewogICAgY29uc3QgZnVsbFVybCA9IGltZy5nZXRBdHRyaWJ1dGUoJ2RhdGEtZnVsbC11cmwnKTsKICAgIGlmIChmdWxsVXJsKSByZXR1cm4gZnVsbFVybDsKICAgIGNvbnN0IHNyY3NldCA9IGltZy5nZXRBdHRyaWJ1dGUoJ3NyY3NldCcpOwogICAgaWYgKHNyY3NldCkgewogICAgICBjb25zdCBjYW5kaWRhdGVzID0gc3Jjc2V0LnNwbGl0KCcsJykubWFwKHBhcnQgPT4gewogICAgICAgIGNvbnN0IGJpdHMgPSBwYXJ0LnRyaW0oKS5zcGxpdCgvXHMrLyk7CiAgICAgICAgY29uc3Qgd2lkdGggPSBwYXJzZUludCgoYml0c1sxXSB8fCAnJykucmVwbGFjZSgndycsICcnKSwgMTApIHx8IDA7CiAgICAgICAgcmV0dXJuIHsgdXJsOiBiaXRzWzBdLCB3aWR0aCB9OwogICAgICB9KTsKICAgICAgY2FuZGlkYXRlcy5zb3J0KChhLCBiKSA9PiBiLndpZHRoIC0gYS53aWR0aCk7CiAgICAgIGlmIChjYW5kaWRhdGVzLmxlbmd0aCAmJiBjYW5kaWRhdGVzWzBdLnVybCkgcmV0dXJuIGNhbmRpZGF0ZXNbMF0udXJsOwogICAgfQogICAgcmV0dXJuIGltZy5zcmM7CiAgfQoKICBmdW5jdGlvbiBidWlsZENhcmQoc2Vhc29uRWwsIGluZGV4KXsKICAgIGNvbnN0IGltZyA9IHNlYXNvbkVsLnF1ZXJ5U2VsZWN0b3IoJ2ltZycpOwogICAgY29uc3QgaGVhZGluZyA9IHNlYXNvbkVsLnF1ZXJ5U2VsZWN0b3IoJ2gxLGgyLGgzLGg0LGg1LGg2Jyk7CiAgICBjb25zdCBwcmljZSA9IHNlYXNvbkVsLnF1ZXJ5U2VsZWN0b3IoJ3AnKTsKICAgIGNvbnN0IGxpbmtzID0gQXJyYXkuZnJvbShzZWFzb25FbC5xdWVyeVNlbGVjdG9yQWxsKCdhJykpOwogICAgY29uc3QgYnV5QSA9IGxpbmtzWzBdIHx8IG51bGw7CiAgICBjb25zdCBnaWZ0QSA9IGxpbmtzWzFdIHx8IG51bGw7CgogICAgY29uc3QgY2FyZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgY2FyZC5jbGFzc05hbWUgPSAndGwtY2FyZCc7CgogICAgaWYgKGltZykgewogICAgICBjb25zdCBjb3ZlckltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpOwogICAgICBjb3ZlckltZy5jbGFzc05hbWUgPSAndGwtY292ZXInOwogICAgICBjb3ZlckltZy5zcmMgPSBoaWdoZXN0UmVzU3JjKGltZyk7CiAgICAgIGNvdmVySW1nLmFsdCA9IGltZy5hbHQgfHwgKGhlYWRpbmcgPyBoZWFkaW5nLnRleHRDb250ZW50LnRyaW0oKSA6ICcnKTsKICAgICAgY292ZXJJbWcubG9hZGluZyA9ICdsYXp5JzsKICAgICAgY2FyZC5hcHBlbmRDaGlsZChjb3ZlckltZyk7CiAgICB9IGVsc2UgewogICAgICBjb25zdCBwaCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgICBwaC5jbGFzc05hbWUgPSAndGwtcGxhY2Vob2xkZXInOwogICAgICBwaC50ZXh0Q29udGVudCA9IGhlYWRpbmcgPyBoZWFkaW5nLnRleHRDb250ZW50LnRyaW0oKSA6ICgnU2Vhc29uICcgKyAoaW5kZXggKyAxKSk7CiAgICAgIGNhcmQuYXBwZW5kQ2hpbGQocGgpOwogICAgfQoKICAgIGNvbnN0IHRpdGxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgncCcpOwogICAgdGl0bGUuY2xhc3NOYW1lID0gJ3RsLXRpdGxlJzsKICAgIHRpdGxlLnRleHRDb250ZW50ID0gaGVhZGluZyA/IGhlYWRpbmcudGV4dENvbnRlbnQudHJpbSgpIDogKCdTZWFzb24gJyArIChpbmRleCArIDEpKTsKICAgIGNhcmQuYXBwZW5kQ2hpbGQodGl0bGUpOwoKICAgIGlmIChwcmljZSkgewogICAgICBjb25zdCBwcmljZUVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgncCcpOwogICAgICBwcmljZUVsLmNsYXNzTmFtZSA9ICd0bC1wcmljZSc7CiAgICAgIHByaWNlRWwudGV4dENvbnRlbnQgPSBwcmljZS50ZXh0Q29udGVudC50cmltKCk7CiAgICAgIGNhcmQuYXBwZW5kQ2hpbGQocHJpY2VFbCk7CiAgICB9CgogICAgY29uc3QgYWN0aW9ucyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgYWN0aW9ucy5jbGFzc05hbWUgPSAndGwtYWN0aW9ucyc7CgogICAgaWYgKGJ1eUEpIHsKICAgICAgY29uc3QgYnV5ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpOwogICAgICBidXkuY2xhc3NOYW1lID0gJ3RsLWJ1eSc7CiAgICAgIGJ1eS5ocmVmID0gYnV5QS5nZXRBdHRyaWJ1dGUoJ2hyZWYnKSB8fCAnIyc7CiAgICAgIGJ1eS50ZXh0Q29udGVudCA9IGJ1eUEudGV4dENvbnRlbnQudHJpbSgpIHx8ICdCdXknOwogICAgICBpZiAoYnV5QS5nZXRBdHRyaWJ1dGUoJ3RhcmdldCcpKSB7CiAgICAgICAgYnV5LnRhcmdldCA9IGJ1eUEuZ2V0QXR0cmlidXRlKCd0YXJnZXQnKTsKICAgICAgICBidXkucmVsID0gJ25vb3BlbmVyIG5vcmVmZXJyZXInOwogICAgICB9CiAgICAgIGFjdGlvbnMuYXBwZW5kQ2hpbGQoYnV5KTsKICAgIH0KCiAgICBpZiAoZ2lmdEEpIHsKICAgICAgY29uc3QgZ2lmdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTsKICAgICAgZ2lmdC5jbGFzc05hbWUgPSAndGwtZ2lmdCc7CiAgICAgIGdpZnQuaHJlZiA9IGdpZnRBLmdldEF0dHJpYnV0ZSgnaHJlZicpIHx8ICcjJzsKICAgICAgZ2lmdC50ZXh0Q29udGVudCA9IGdpZnRBLnRleHRDb250ZW50LnRyaW0oKSB8fCAnR2lmdCB0aGlzIHNlYXNvbic7CiAgICAgIGlmIChnaWZ0QS5nZXRBdHRyaWJ1dGUoJ3RhcmdldCcpKSB7CiAgICAgICAgZ2lmdC50YXJnZXQgPSBnaWZ0QS5nZXRBdHRyaWJ1dGUoJ3RhcmdldCcpOwogICAgICAgIGdpZnQucmVsID0gJ25vb3BlbmVyIG5vcmVmZXJyZXInOwogICAgICB9CiAgICAgIGFjdGlvbnMuYXBwZW5kQ2hpbGQoZ2lmdCk7CiAgICB9CgogICAgY2FyZC5hcHBlbmRDaGlsZChhY3Rpb25zKTsKICAgIHJldHVybiBjYXJkOwogIH0KCiAgZnVuY3Rpb24gaW5pdCgpewogICAgcG9wdWxhdGVIZWFkKCk7CgogICAgY29uc3Qgc291cmNlID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnRlYWNoZXJzLWxvdW5nZS1zb3VyY2UnKTsKICAgIGNvbnN0IGdyaWQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGxHcmlkJyk7CiAgICBpZiAoIWdyaWQpIHJldHVybjsKCiAgICBncmlkLmlubmVySFRNTCA9ICcnOwoKICAgIGlmIChzb3VyY2UpIHsKICAgICAgY29uc3Qgc2Vhc29ucyA9IEFycmF5LmZyb20oc291cmNlLmNoaWxkcmVuKTsKICAgICAgc2Vhc29ucy5mb3JFYWNoKChzZWFzb25FbCwgaSkgPT4gewogICAgICAgIGdyaWQuYXBwZW5kQ2hpbGQoYnVpbGRDYXJkKHNlYXNvbkVsLCBpKSk7CiAgICAgIH0pOwogICAgfQoKICAgIGlmICghc291cmNlIHx8ICFncmlkLmNoaWxkcmVuLmxlbmd0aCkgewogICAgICAvLyBGYWxsYmFjayBwbGFjZWhvbGRlcnMgc28gdGhlIHNlY3Rpb24gbmV2ZXIgbG9va3MgYnJva2VuIHdoaWxlCiAgICAgIC8vIHRoZSBzb3VyY2UgR3JvdXAgaXMgYmVpbmcgc2V0IHVwLgogICAgICBjb25zdCBmYWxsYmFja1RpdGxlcyA9IFsnT3JkZXIgVXAnLCAnU2NhbmRvdmFsIScsICdBbHVtbmkgV2VlaycsICdDb3VudHkgRmFpciddOwogICAgICBjb25zdCBmYWxsYmFja0NvbG9ycyA9IFsnIzMzNjY1QycsICcjOUM0NDM2JywgJyNEQjhCM0InLCAnIzIzNEE0MyddOwogICAgICBmYWxsYmFja1RpdGxlcy5mb3JFYWNoKCh0LCBpKSA9PiB7CiAgICAgICAgY29uc3QgY2FyZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgICAgIGNhcmQuY2xhc3NOYW1lID0gJ3RsLWNhcmQnOwogICAgICAgIGNvbnN0IHBoID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgICAgcGguY2xhc3NOYW1lID0gJ3RsLXBsYWNlaG9sZGVyJzsKICAgICAgICBwaC5zdHlsZS5iYWNrZ3JvdW5kID0gZmFsbGJhY2tDb2xvcnNbaV07CiAgICAgICAgcGgudGV4dENvbnRlbnQgPSB0OwogICAgICAgIGNhcmQuYXBwZW5kQ2hpbGQocGgpOwogICAgICAgIGNvbnN0IHRpdGxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgncCcpOwogICAgICAgIHRpdGxlLmNsYXNzTmFtZSA9ICd0bC10aXRsZSc7CiAgICAgICAgdGl0bGUudGV4dENvbnRlbnQgPSB0OwogICAgICAgIGNhcmQuYXBwZW5kQ2hpbGQodGl0bGUpOwogICAgICAgIGdyaWQuYXBwZW5kQ2hpbGQoY2FyZCk7CiAgICAgIH0pOwogICAgfQogIH0KCiAgaWYgKGRvY3VtZW50LnJlYWR5U3RhdGUgPT09ICdjb21wbGV0ZScpIHsKICAgIGluaXQoKTsKICB9IGVsc2UgewogICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBpbml0KTsKICB9Cn0pKCk7Cg==
Series name here
Section headline here.
Short description of this series goes here.
ICAuc2cyLWVtYmVkewogICAgLS1vcmFuZ2U6I0RCOEIzQjsgLS1jcmVhbTojRjRFRUREOyAtLWluazojMjQxQzEzOyAtLXRlYWwtZGFyazojMjM0QTQzOyAtLXRlYWw6IzMzNjY1QzsKICB9CiAgLnNnMi1lbWJlZCwgLnNnMi1lbWJlZCAqeyBib3gtc2l6aW5nOmJvcmRlci1ib3g7IH0KICAuc2cyLWVtYmVkewogICAgcGFkZGluZzo1NnB4IDE2cHg7IG1hcmdpbjowOyBmb250LWZhbWlseTonS2FybGEnLHNhbnMtc2VyaWY7CiAgICAvKiBTYW1lIGZ1bGwtYmxlZWQgYnJlYWtvdXQgYXMgdGhlIGludHJvIGJsb2NrOiBlc2NhcGVzIHRoZSB0aGVtZSdzCiAgICAgICBuYXJyb3cgY29udGVudCBjb2x1bW4gcmVnYXJkbGVzcyBvZiBob3cgZGVlcCB0aGlzIGdldHMgbmVzdGVkLiAqLwogICAgd2lkdGg6MTAwdnc7IG1heC13aWR0aDoxMDB2dzsKICAgIHBvc2l0aW9uOnJlbGF0aXZlOyBsZWZ0OjUwJTsKICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOwogICAgLyogR3JpZCBjb2x1bW4gY291bnQgcmVzcG9uZHMgdG8gVEhJUyBibG9jaydzIG93biB3aWR0aC4gKi8KICAgIGNvbnRhaW5lci10eXBlOmlubGluZS1zaXplOyBjb250YWluZXItbmFtZTpzZzJlbWJlZDsKICB9CgogIC5zZzItZW1iZWQgLnNnMi1pbm5lcnsgbWF4LXdpZHRoOjExODBweDsgbWFyZ2luOjAgYXV0bzsgfQoKICAuc2cyLWVtYmVkIC5zZzItaGVhZHsgdGV4dC1hbGlnbjpjZW50ZXI7IG1hcmdpbjowIGF1dG8gNDBweDsgbWF4LXdpZHRoOjYwY2g7IH0KICAuc2cyLWVtYmVkIC5zZzItZXllYnJvd3sKICAgIGZvbnQtZmFtaWx5OidLYXJsYScsc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6NzAwOyBmb250LXNpemU6MTIuNXB4OyBsZXR0ZXItc3BhY2luZzowLjE0ZW07CiAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7IGNvbG9yOnZhcigtLW9yYW5nZSk7IG1hcmdpbjowIDAgMTBweDsKICB9CiAgLnNnMi1lbWJlZCAuc2cyLWhlYWRpbmd7CiAgICBmb250LWZhbWlseTonTGlicmUgQmFza2VydmlsbGUnLHNlcmlmOyBmb250LXdlaWdodDo3MDA7CiAgICBmb250LXNpemU6Y2xhbXAoMjhweCwgN2NxaSwgNDJweCk7IGxpbmUtaGVpZ2h0OjEuMTU7IGNvbG9yOnZhcigtLWluayk7IG1hcmdpbjowIDAgMTRweDsKICB9CiAgLnNnMi1lbWJlZCAuc2cyLWJsdXJiewogICAgZm9udC1zaXplOjE1LjVweDsgbGluZS1oZWlnaHQ6MS42OyBjb2xvcjp2YXIoLS1pbmspOyBvcGFjaXR5OjAuODsgbWFyZ2luOjAgYXV0bzsKICB9CgogIC8qIC0tLS0tLS0tIEdyaWQ6IGRlZmF1bHQgc2luZ2xlIGNvbHVtbiwgd2lkZW5zIGFzIHRoZSBibG9jayBoYXMgcm9vbSAtLS0tLS0tLSAqLwogIC5zZzItZW1iZWQgLnNnMi1ncmlkewogICAgZGlzcGxheTpncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyOyBnYXA6MjhweDsKICB9CiAgQGNvbnRhaW5lciBzZzJlbWJlZCAobWluLXdpZHRoOjUyMHB4KXsKICAgIC5zZzItZW1iZWQgLnNnMi1ncmlkeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsIDFmcik7IH0KICB9CiAgQGNvbnRhaW5lciBzZzJlbWJlZCAobWluLXdpZHRoOjgyMHB4KXsKICAgIC5zZzItZW1iZWQgLnNnMi1ncmlkeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsIDFmcik7IGdhcDozMnB4OyB9CiAgfQoKICAuc2cyLWVtYmVkIC5zZzItY2FyZHsKICAgIGRpc3BsYXk6ZmxleDsgZmxleC1kaXJlY3Rpb246Y29sdW1uOyBhbGlnbi1pdGVtczpjZW50ZXI7IHRleHQtYWxpZ246Y2VudGVyOwogIH0KICAuc2cyLWVtYmVkIC5zZzItY292ZXJ7CiAgICBkaXNwbGF5OmJsb2NrOyB3aWR0aDoxMDAlOyBhc3BlY3QtcmF0aW86MS8xOyBvYmplY3QtZml0OmNvdmVyOwogICAgYm9yZGVyLXJhZGl1czo4cHg7IGJvcmRlcjoycHggc29saWQgdmFyKC0taW5rKTsKICAgIGJveC1zaGFkb3c6MCA2cHggMTRweCByZ2JhKDM2LDI4LDE5LDAuMTYpOwogICAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjE4cyBlYXNlLCBib3gtc2hhZG93IC4xOHMgZWFzZTsKICAgIG1hcmdpbjowIDAgMTRweDsKICB9CiAgLnNnMi1lbWJlZCAuc2cyLWNhcmQ6aG92ZXIgLnNnMi1jb3ZlcnsKICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC0zcHgpOwogICAgYm94LXNoYWRvdzowIDEycHggMjJweCByZ2JhKDM2LDI4LDE5LDAuMjIpOwogIH0KICAuc2cyLWVtYmVkIC5zZzItcGxhY2Vob2xkZXJ7CiAgICBkaXNwbGF5OmZsZXg7IGFsaWduLWl0ZW1zOmNlbnRlcjsganVzdGlmeS1jb250ZW50OmNlbnRlcjsKICAgIGFzcGVjdC1yYXRpbzoxLzE7IGJvcmRlci1yYWRpdXM6OHB4OyBib3JkZXI6MnB4IHNvbGlkIHZhcigtLWluayk7CiAgICBiYWNrZ3JvdW5kOnZhcigtLXRlYWwpOyBjb2xvcjp2YXIoLS1jcmVhbSk7IGZvbnQtc2l6ZToxMnB4OwogICAgbGV0dGVyLXNwYWNpbmc6MC4wOGVtOyB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7IHRleHQtYWxpZ246Y2VudGVyOyBwYWRkaW5nOjEwcHg7CiAgICBtYXJnaW46MCAwIDE0cHg7CiAgfQoKICAuc2cyLWVtYmVkIC5zZzItdGl0bGV7CiAgICBmb250LWZhbWlseTonTGlicmUgQmFza2VydmlsbGUnLHNlcmlmOyBmb250LXdlaWdodDo3MDA7IGZvbnQtc2l6ZToxOHB4OwogICAgbGluZS1oZWlnaHQ6MS4zOyBjb2xvcjp2YXIoLS1pbmspOyBtYXJnaW46MCAwIDRweDsKICB9CiAgLnNnMi1lbWJlZCAuc2cyLXByaWNlewogICAgZm9udC1zaXplOjEzLjVweDsgY29sb3I6dmFyKC0taW5rKTsgb3BhY2l0eTowLjc7IG1hcmdpbjowIDAgMTRweDsKICB9CgogIC5zZzItZW1iZWQgLnNnMi1hY3Rpb25zewogICAgZGlzcGxheTpmbGV4OyBmbGV4LWRpcmVjdGlvbjpyb3c7IGFsaWduLWl0ZW1zOmNlbnRlcjsganVzdGlmeS1jb250ZW50OmNlbnRlcjsgZ2FwOjEwcHg7CiAgfQogIC5zZzItZW1iZWQgLnNnMi1idXksCiAgLnNnMi1lbWJlZCAuc2cyLWdpZnR7CiAgICBkaXNwbGF5OmlubGluZS1ibG9jazsgdGV4dC1hbGlnbjpjZW50ZXI7IGZvbnQtZmFtaWx5OidMaWJyZSBCYXNrZXJ2aWxsZScsc2VyaWY7CiAgICBmb250LXdlaWdodDo3MDA7IGZvbnQtc2l6ZToxNHB4OyBib3JkZXItcmFkaXVzOjk5OXB4OyB0ZXh0LWRlY29yYXRpb246bm9uZTsKICAgIHBhZGRpbmc6MTFweCAyMnB4OyBib3JkZXI6MnB4IHNvbGlkIHZhcigtLWluayk7CiAgICB0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE4cyBlYXNlLCBjb2xvciAuMThzIGVhc2UsIHRyYW5zZm9ybSAuMThzIGVhc2U7CiAgfQogIC5zZzItZW1iZWQgLnNnMi1idXl7CiAgICBjb2xvcjp2YXIoLS1pbmspOyBiYWNrZ3JvdW5kOnZhcigtLW9yYW5nZSk7CiAgfQogIC5zZzItZW1iZWQgLnNnMi1idXk6aG92ZXJ7IGJhY2tncm91bmQ6dmFyKC0taW5rKTsgY29sb3I6dmFyKC0tY3JlYW0pOyB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTsgfQoKICAuc2cyLWVtYmVkIC5zZzItZ2lmdHsKICAgIGNvbG9yOnZhcigtLXRlYWwtZGFyayk7IGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7IGJvcmRlci1jb2xvcjp2YXIoLS10ZWFsLWRhcmspOwogIH0KICAuc2cyLWVtYmVkIC5zZzItZ2lmdDpob3ZlcnsgYmFja2dyb3VuZDp2YXIoLS10ZWFsLWRhcmspOyBjb2xvcjp2YXIoLS1jcmVhbSk7IHRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpOyB9CgogIC8qIFRoZSBoaWRkZW4gV29yZFByZXNzIHNvdXJjZSBjb250ZW50IHRoYXQgc3VwcGxpZXMgZWFjaCBzZWFzb24sIGFuZCB0aGUKICAgICBvbmUgdGhhdCBzdXBwbGllcyB0aGUgZXllYnJvdy9oZWFkaW5nL2JsdXJiIHRleHQ6IGJvdGggcmVhZCBieSBKUyBhdAogICAgIGxvYWQsIHRoZW4gaGlkZGVuIHNvIHRoZXkgZG9uJ3QgYWxzbyBkaXNwbGF5IG5hdGl2ZWx5LiAqLwogIC5zZXJpZXMtdHdvLXNvdXJjZXsgZGlzcGxheTpub25lICFpbXBvcnRhbnQ7IH0KICAuc2cyLXRleHQtc291cmNleyBkaXNwbGF5Om5vbmUgIWltcG9ydGFudDsgfQo=
KGZ1bmN0aW9uKCl7CiAgLy8gLS0tLSBTZWFzb25zOiBzdXBwbGllZCB2aWEgYSBoaWRkZW4gV29yZFByZXNzIEdyb3VwIGJsb2NrIC0tLS0KICAvLyBBZGQgYSBHcm91cCBibG9jayBhbnl3aGVyZSBvbiB0aGUgcGFnZSwgZ2l2ZSBpdCB0aGUgQ1NTIGNsYXNzCiAgLy8gInNlcmllcy10d28tc291cmNlIiAoQmxvY2sgc2V0dGluZ3MgLT4gQWR2YW5jZWQgLT4gQWRkaXRpb25hbCBDU1MKICAvLyBjbGFzcyhlcykpLiBJbnNpZGUgdGhhdCBHcm91cCwgYWRkIE9ORSBpbm5lciBHcm91cCBibG9jayBwZXIgc2Vhc29uIC0tCiAgLy8gdGhpcyBpcyBhICJzZWFzb24gcm93Ii4gQWRkL3JlbW92ZSBzZWFzb25zIGJ5IGR1cGxpY2F0aW5nIG9yIGRlbGV0aW5nCiAgLy8gYW4gaW5uZXIgR3JvdXA7IHJlb3JkZXIgYnkgZHJhZ2dpbmcgdGhlbS4KICAvLwogIC8vIEluc2lkZSBFQUNIIHNlYXNvbidzIGlubmVyIEdyb3VwLCBhZGQgZXhhY3RseSB0aGVzZSBibG9ja3MsIGluIG9yZGVyOgogIC8vICAgMS4gQW4gSW1hZ2UgYmxvY2sgIC0tIHRoZSBjb3ZlciBhcnQKICAvLyAgIDIuIEEgSGVhZGluZyBibG9jayAtLSB0aGUgc2Vhc29uIHRpdGxlIChlLmcuICJPcmRlciBVcCIpCiAgLy8gICAzLiBBIFBhcmFncmFwaCAgICAgLS0gdGhlIHByaWNlL3N1YnRpdGxlIGxpbmUgKGUuZy4gIiQxMCAtIDcgRXBpc29kZXMiKQogIC8vICAgNC4gQSBCdXR0b25zIGJsb2NrIHdpdGggZXhhY3RseSBUV08gYnV0dG9uczoKICAvLyAgICAgICAgLSBmaXJzdCBidXR0b24gID0gdGhlIEJVWSBsaW5rIChpdHMgdGV4dCBiZWNvbWVzIHRoZSBidXR0b24gbGFiZWwpCiAgLy8gICAgICAgIC0gc2Vjb25kIGJ1dHRvbiA9IHRoZSBHSUZUIGxpbmsgKGl0cyB0ZXh0IGJlY29tZXMgdGhlIHNtYWxsIGxpbmsgbGFiZWwpCiAgLy8KICAvLyBUaGUgd2hvbGUgR3JvdXAgaXMgaGlkZGVuIG9uIHRoZSBsaXZlIHBhZ2UgLS0gb25seSB0aGlzIHN0eWxlZCBncmlkIHNob3dzLgoKICAvLyAtLS0tIEhlYWRlciB0ZXh0OiBzdXBwbGllZCB2aWEgYSBoaWRkZW4gR3JvdXAgb2Ygbm9ybWFsIFdvcmRQcmVzcyBibG9ja3MgLS0tLQogIC8vIEFkZCBhIEdyb3VwIGJsb2NrLCBnaXZlIGl0IHRoZSBDU1MgY2xhc3MgInNnMi10ZXh0LXNvdXJjZSIsIGFuZCBpbnNpZGUgaXQKICAvLyBwdXQgKGluIHRoaXMgb3JkZXIpOiBhIFBhcmFncmFwaCAodGhlIGV5ZWJyb3cpLCBhIEhlYWRpbmcgKHRoZSBiaWcKICAvLyB0aXRsZSksIGFuZCBhIFBhcmFncmFwaCAodGhlIGJsdXJiIHVuZGVybmVhdGgpLiBUaGUgYmxvY2sgcmVhZHMgdGhlbSwKICAvLyByZXN0eWxlcyB0aGVtLCBhbmQgaGlkZXMgdGhlIEdyb3VwIG9uIHRoZSBsaXZlIHBhZ2UuCiAgZnVuY3Rpb24gcG9wdWxhdGVIZWFkKCl7CiAgICBjb25zdCBzcmMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuc2cyLXRleHQtc291cmNlJyk7CiAgICBpZiAoIXNyYykgcmV0dXJuOwoKICAgIGNvbnN0IGhlYWRpbmcgPSBzcmMucXVlcnlTZWxlY3RvcignaDEsaDIsaDMsaDQsaDUsaDYnKTsKICAgIGxldCBleWVicm93ID0gbnVsbCwgYmx1cmIgPSBudWxsLCBzZWVuSGVhZGluZyA9IGZhbHNlOwogICAgc3JjLnF1ZXJ5U2VsZWN0b3JBbGwoJ3AsIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYnKS5mb3JFYWNoKGVsID0+IHsKICAgICAgaWYgKC9eSFsxLTZdJC8udGVzdChlbC50YWdOYW1lKSkgeyBzZWVuSGVhZGluZyA9IHRydWU7IHJldHVybjsgfQogICAgICBpZiAoZWwudGFnTmFtZSA9PT0gJ1AnKSB7CiAgICAgICAgaWYgKCFzZWVuSGVhZGluZyAmJiAhZXllYnJvdykgZXllYnJvdyA9IGVsOwogICAgICAgIGVsc2UgaWYgKHNlZW5IZWFkaW5nICYmICFibHVyYikgYmx1cmIgPSBlbDsKICAgICAgfQogICAgfSk7CgogICAgY29uc3QgZWxFeWVicm93ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnNnMi1leWVicm93Jyk7CiAgICBjb25zdCBlbEhlYWRpbmcgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuc2cyLWhlYWRpbmcnKTsKICAgIGNvbnN0IGVsQmx1cmIgICA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zZzItYmx1cmInKTsKCiAgICBpZiAoZXllYnJvdyAmJiBlbEV5ZWJyb3cpIGVsRXllYnJvdy50ZXh0Q29udGVudCA9IGV5ZWJyb3cudGV4dENvbnRlbnQudHJpbSgpOwogICAgaWYgKGhlYWRpbmcgJiYgZWxIZWFkaW5nKSBlbEhlYWRpbmcuaW5uZXJIVE1MID0gaGVhZGluZy5pbm5lckhUTUw7CiAgICBpZiAoYmx1cmIgJiYgZWxCbHVyYikgICAgIGVsQmx1cmIuaW5uZXJIVE1MID0gYmx1cmIuaW5uZXJIVE1MOwogIH0KCiAgZnVuY3Rpb24gaGlnaGVzdFJlc1NyYyhpbWcpewogICAgY29uc3QgZnVsbFVybCA9IGltZy5nZXRBdHRyaWJ1dGUoJ2RhdGEtZnVsbC11cmwnKTsKICAgIGlmIChmdWxsVXJsKSByZXR1cm4gZnVsbFVybDsKICAgIGNvbnN0IHNyY3NldCA9IGltZy5nZXRBdHRyaWJ1dGUoJ3NyY3NldCcpOwogICAgaWYgKHNyY3NldCkgewogICAgICBjb25zdCBjYW5kaWRhdGVzID0gc3Jjc2V0LnNwbGl0KCcsJykubWFwKHBhcnQgPT4gewogICAgICAgIGNvbnN0IGJpdHMgPSBwYXJ0LnRyaW0oKS5zcGxpdCgvXHMrLyk7CiAgICAgICAgY29uc3Qgd2lkdGggPSBwYXJzZUludCgoYml0c1sxXSB8fCAnJykucmVwbGFjZSgndycsICcnKSwgMTApIHx8IDA7CiAgICAgICAgcmV0dXJuIHsgdXJsOiBiaXRzWzBdLCB3aWR0aCB9OwogICAgICB9KTsKICAgICAgY2FuZGlkYXRlcy5zb3J0KChhLCBiKSA9PiBiLndpZHRoIC0gYS53aWR0aCk7CiAgICAgIGlmIChjYW5kaWRhdGVzLmxlbmd0aCAmJiBjYW5kaWRhdGVzWzBdLnVybCkgcmV0dXJuIGNhbmRpZGF0ZXNbMF0udXJsOwogICAgfQogICAgcmV0dXJuIGltZy5zcmM7CiAgfQoKICBmdW5jdGlvbiBidWlsZENhcmQoc2Vhc29uRWwsIGluZGV4KXsKICAgIGNvbnN0IGltZyA9IHNlYXNvbkVsLnF1ZXJ5U2VsZWN0b3IoJ2ltZycpOwogICAgY29uc3QgaGVhZGluZyA9IHNlYXNvbkVsLnF1ZXJ5U2VsZWN0b3IoJ2gxLGgyLGgzLGg0LGg1LGg2Jyk7CiAgICBjb25zdCBwcmljZSA9IHNlYXNvbkVsLnF1ZXJ5U2VsZWN0b3IoJ3AnKTsKICAgIGNvbnN0IGxpbmtzID0gQXJyYXkuZnJvbShzZWFzb25FbC5xdWVyeVNlbGVjdG9yQWxsKCdhJykpOwogICAgY29uc3QgYnV5QSA9IGxpbmtzWzBdIHx8IG51bGw7CiAgICBjb25zdCBnaWZ0QSA9IGxpbmtzWzFdIHx8IG51bGw7CgogICAgY29uc3QgY2FyZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgY2FyZC5jbGFzc05hbWUgPSAnc2cyLWNhcmQnOwoKICAgIGlmIChpbWcpIHsKICAgICAgY29uc3QgY292ZXJJbWcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbWcnKTsKICAgICAgY292ZXJJbWcuY2xhc3NOYW1lID0gJ3NnMi1jb3Zlcic7CiAgICAgIGNvdmVySW1nLnNyYyA9IGhpZ2hlc3RSZXNTcmMoaW1nKTsKICAgICAgY292ZXJJbWcuYWx0ID0gaW1nLmFsdCB8fCAoaGVhZGluZyA/IGhlYWRpbmcudGV4dENvbnRlbnQudHJpbSgpIDogJycpOwogICAgICBjb3ZlckltZy5sb2FkaW5nID0gJ2xhenknOwogICAgICBjYXJkLmFwcGVuZENoaWxkKGNvdmVySW1nKTsKICAgIH0gZWxzZSB7CiAgICAgIGNvbnN0IHBoID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgIHBoLmNsYXNzTmFtZSA9ICdzZzItcGxhY2Vob2xkZXInOwogICAgICBwaC50ZXh0Q29udGVudCA9IGhlYWRpbmcgPyBoZWFkaW5nLnRleHRDb250ZW50LnRyaW0oKSA6ICgnU2Vhc29uICcgKyAoaW5kZXggKyAxKSk7CiAgICAgIGNhcmQuYXBwZW5kQ2hpbGQocGgpOwogICAgfQoKICAgIGNvbnN0IHRpdGxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgncCcpOwogICAgdGl0bGUuY2xhc3NOYW1lID0gJ3NnMi10aXRsZSc7CiAgICB0aXRsZS50ZXh0Q29udGVudCA9IGhlYWRpbmcgPyBoZWFkaW5nLnRleHRDb250ZW50LnRyaW0oKSA6ICgnU2Vhc29uICcgKyAoaW5kZXggKyAxKSk7CiAgICBjYXJkLmFwcGVuZENoaWxkKHRpdGxlKTsKCiAgICBpZiAocHJpY2UpIHsKICAgICAgY29uc3QgcHJpY2VFbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3AnKTsKICAgICAgcHJpY2VFbC5jbGFzc05hbWUgPSAnc2cyLXByaWNlJzsKICAgICAgcHJpY2VFbC50ZXh0Q29udGVudCA9IHByaWNlLnRleHRDb250ZW50LnRyaW0oKTsKICAgICAgY2FyZC5hcHBlbmRDaGlsZChwcmljZUVsKTsKICAgIH0KCiAgICBjb25zdCBhY3Rpb25zID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICBhY3Rpb25zLmNsYXNzTmFtZSA9ICdzZzItYWN0aW9ucyc7CgogICAgaWYgKGJ1eUEpIHsKICAgICAgY29uc3QgYnV5ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpOwogICAgICBidXkuY2xhc3NOYW1lID0gJ3NnMi1idXknOwogICAgICBidXkuaHJlZiA9IGJ1eUEuZ2V0QXR0cmlidXRlKCdocmVmJykgfHwgJyMnOwogICAgICBidXkudGV4dENvbnRlbnQgPSBidXlBLnRleHRDb250ZW50LnRyaW0oKSB8fCAnQnV5JzsKICAgICAgaWYgKGJ1eUEuZ2V0QXR0cmlidXRlKCd0YXJnZXQnKSkgewogICAgICAgIGJ1eS50YXJnZXQgPSBidXlBLmdldEF0dHJpYnV0ZSgndGFyZ2V0Jyk7CiAgICAgICAgYnV5LnJlbCA9ICdub29wZW5lciBub3JlZmVycmVyJzsKICAgICAgfQogICAgICBhY3Rpb25zLmFwcGVuZENoaWxkKGJ1eSk7CiAgICB9CgogICAgaWYgKGdpZnRBKSB7CiAgICAgIGNvbnN0IGdpZnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7CiAgICAgIGdpZnQuY2xhc3NOYW1lID0gJ3NnMi1naWZ0JzsKICAgICAgZ2lmdC5ocmVmID0gZ2lmdEEuZ2V0QXR0cmlidXRlKCdocmVmJykgfHwgJyMnOwogICAgICBnaWZ0LnRleHRDb250ZW50ID0gZ2lmdEEudGV4dENvbnRlbnQudHJpbSgpIHx8ICdHaWZ0IHRoaXMgc2Vhc29uJzsKICAgICAgaWYgKGdpZnRBLmdldEF0dHJpYnV0ZSgndGFyZ2V0JykpIHsKICAgICAgICBnaWZ0LnRhcmdldCA9IGdpZnRBLmdldEF0dHJpYnV0ZSgndGFyZ2V0Jyk7CiAgICAgICAgZ2lmdC5yZWwgPSAnbm9vcGVuZXIgbm9yZWZlcnJlcic7CiAgICAgIH0KICAgICAgYWN0aW9ucy5hcHBlbmRDaGlsZChnaWZ0KTsKICAgIH0KCiAgICBjYXJkLmFwcGVuZENoaWxkKGFjdGlvbnMpOwogICAgcmV0dXJuIGNhcmQ7CiAgfQoKICBmdW5jdGlvbiBpbml0KCl7CiAgICBwb3B1bGF0ZUhlYWQoKTsKCiAgICBjb25zdCBzb3VyY2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuc2VyaWVzLXR3by1zb3VyY2UnKTsKICAgIGNvbnN0IGdyaWQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2cyR3JpZCcpOwogICAgaWYgKCFncmlkKSByZXR1cm47CgogICAgZ3JpZC5pbm5lckhUTUwgPSAnJzsKCiAgICBpZiAoc291cmNlKSB7CiAgICAgIGNvbnN0IHNlYXNvbnMgPSBBcnJheS5mcm9tKHNvdXJjZS5jaGlsZHJlbik7CiAgICAgIHNlYXNvbnMuZm9yRWFjaCgoc2Vhc29uRWwsIGkpID0+IHsKICAgICAgICBncmlkLmFwcGVuZENoaWxkKGJ1aWxkQ2FyZChzZWFzb25FbCwgaSkpOwogICAgICB9KTsKICAgIH0KCiAgICBpZiAoIXNvdXJjZSB8fCAhZ3JpZC5jaGlsZHJlbi5sZW5ndGgpIHsKICAgICAgLy8gRmFsbGJhY2sgcGxhY2Vob2xkZXJzIHNvIHRoZSBzZWN0aW9uIG5ldmVyIGxvb2tzIGJyb2tlbiB3aGlsZQogICAgICAvLyB0aGUgc291cmNlIEdyb3VwIGlzIGJlaW5nIHNldCB1cC4KICAgICAgY29uc3QgZmFsbGJhY2tUaXRsZXMgPSBbJ09yZGVyIFVwJywgJ1NjYW5kb3ZhbCEnLCAnQWx1bW5pIFdlZWsnLCAnQ291bnR5IEZhaXInXTsKICAgICAgY29uc3QgZmFsbGJhY2tDb2xvcnMgPSBbJyMzMzY2NUMnLCAnIzlDNDQzNicsICcjREI4QjNCJywgJyMyMzRBNDMnXTsKICAgICAgZmFsbGJhY2tUaXRsZXMuZm9yRWFjaCgodCwgaSkgPT4gewogICAgICAgIGNvbnN0IGNhcmQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICAgICBjYXJkLmNsYXNzTmFtZSA9ICdzZzItY2FyZCc7CiAgICAgICAgY29uc3QgcGggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICAgICBwaC5jbGFzc05hbWUgPSAnc2cyLXBsYWNlaG9sZGVyJzsKICAgICAgICBwaC5zdHlsZS5iYWNrZ3JvdW5kID0gZmFsbGJhY2tDb2xvcnNbaV07CiAgICAgICAgcGgudGV4dENvbnRlbnQgPSB0OwogICAgICAgIGNhcmQuYXBwZW5kQ2hpbGQocGgpOwogICAgICAgIGNvbnN0IHRpdGxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgncCcpOwogICAgICAgIHRpdGxlLmNsYXNzTmFtZSA9ICdzZzItdGl0bGUnOwogICAgICAgIHRpdGxlLnRleHRDb250ZW50ID0gdDsKICAgICAgICBjYXJkLmFwcGVuZENoaWxkKHRpdGxlKTsKICAgICAgICBncmlkLmFwcGVuZENoaWxkKGNhcmQpOwogICAgICB9KTsKICAgIH0KICB9CgogIGlmIChkb2N1bWVudC5yZWFkeVN0YXRlID09PSAnY29tcGxldGUnKSB7CiAgICBpbml0KCk7CiAgfSBlbHNlIHsKICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgaW5pdCk7CiAgfQp9KSgpOwo=
MINISODE
20 minute episodes. 20 million laughs
A scene for every season! Our minisode podcasts feature 10 improvised episodes focusing on variations on a theme. Whether it’s Holidays at a local mall, or the businesses off a highway exit in anytown USA, we guarantee one thing, the people there are weird. Scroll below and buy em all! Or enjoy Last Resort, our 7 episode podcast featuring four guys trying to make their lives work at a brand new summer resort.









