Sindbad~EG File Manager

Current Path : /var/www/web3/g2data/cache/repository/released/modules/
Upload File :
Current File : /var/www/web3/g2data/cache/repository/released/modules/dynamicalbum-1.0.0-16041-base.package

<?php
function unpack_1a4a7732a9($outputDir) {
/* Create directory structure. */
@mkdir($outputDir . 'locale');
@mkdir($outputDir . 'po');
@mkdir($outputDir . 'templates');
/* Recreate individual files. */
expand_1a4a7732a9($outputDir, 'DynamicAlbumSiteAdmin.inc', 'PD9waHAKLyoKICogR2FsbGVyeSAtIGEgd2ViIGJhc2VkIHBob3RvIGFsYnVtIHZpZXdlciBhbmQgZWRpdG9yCiAqIENvcHlyaWdodCAoQykgMjAwMC0yMDA3IEJoYXJhdCBNZWRpcmF0dGEKICoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0CiAqIHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAogKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KICovCgovKioKICogU2V0dGluZ3MgZm9yIER5bmFtaWMgQWxidW1zCiAqIEBwYWNrYWdlIER5bmFtaWNBbGJ1bQogKiBAc3VicGFja2FnZSBVc2VySW50ZXJmYWNlCiAqIEBhdXRob3IgQWxhbiBIYXJkZXIgPGFsYW4uaGFyZGVyQHN1bi5jb20+CiAqIEB2ZXJzaW9uICRSZXZpc2lvbjogMTU1MTMgJAogKi8KY2xhc3MgRHluYW1pY0FsYnVtU2l0ZUFkbWluQ29udHJvbGxlciBleHRlbmRzIEdhbGxlcnlDb250cm9sbGVyIHsKCiAgICAvKioKICAgICAqIEBzZWUgR2FsbGVyeUNvbnRyb2xsZXI6OmhhbmRsZVJlcXVlc3QKICAgICAqLwogICAgZnVuY3Rpb24gaGFuZGxlUmVxdWVzdCgkZm9ybSkgewoJJHJldCA9IEdhbGxlcnlDb3JlQXBpOjphc3NlcnRVc2VySXNTaXRlQWRtaW5pc3RyYXRvcigpOwoJaWYgKCRyZXQpIHsKCSAgICByZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7Cgl9CgoJJHN0YXR1cyA9ICRlcnJvciA9IGFycmF5KCk7CglpZiAoaXNzZXQoJGZvcm1bJ2FjdGlvbiddWydzYXZlJ10pKSB7CgkgICAgZm9yZWFjaCAoYXJyYXkoJ3NpemVfZGF0ZScsICdzaXplX3ZpZXdzJywgJ3NpemVfcmFuZG9tJykgYXMgJGtleSkgewoJCWlmICghaXNzZXQoJGZvcm1bJGtleV0pIHx8ICFpc19udW1lcmljKCRmb3JtWyRrZXldKSkgewoJCSAgICAkZXJyb3JbXSA9ICdmb3JtW2Vycm9yXVsnIC4gJGtleSAuICddJzsKCQl9CgkgICAgfQoJfQoKCWlmIChpc3NldCgkZm9ybVsnYWN0aW9uJ11bJ3NhdmUnXSkgJiYgZW1wdHkoJGVycm9yKSkgewoJICAgIGxpc3QgKCRyZXQsICR0aGVtZVNldHRpbmdzSWQpID0KCQlHYWxsZXJ5Q29yZUFwaTo6Z2V0UGx1Z2luUGFyYW1ldGVyKCdtb2R1bGUnLCAnZHluYW1pY2FsYnVtJywgJ3RoZW1lU2V0dGluZ3NJZCcpOwoJICAgIGlmICgkcmV0KSB7CgkJcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJICAgIH0KCgkgICAgbGlzdCAoJHJldCwgJGVycm9yLCAkc3RhdHVzKSA9IEdhbGxlcnlDb3JlQXBpOjpoYW5kbGVUaGVtZVNldHRpbmdzUmVxdWVzdCgKCQkgICAgJGZvcm1bJ2N1cnJlbnRUaGVtZUlkJ10sICR0aGVtZVNldHRpbmdzSWQsICRmb3JtKTsKCSAgICBpZiAoJHJldCkgewoJCXJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCSAgICB9CgkgICAgJHN0YXR1cyA9IGVtcHR5KCRzdGF0dXMpID8gYXJyYXkoKSA6IGFycmF5KCdzdGF0dXNNZXNzYWdlJyA9PiAkc3RhdHVzKTsKCX0KCglpZiAoaXNzZXQoJGZvcm1bJ2FjdGlvbiddWydzYXZlJ10pICYmIGVtcHR5KCRlcnJvcikpIHsKCSAgICBmb3JlYWNoIChhcnJheSgndGhlbWVJZCcsICdzaXplLmRhdGUnLCAnc2l6ZS52aWV3cycsICdzaXplLnJhbmRvbScsCgkJCSAgICd0eXBlLmRhdGUnLCAndHlwZS52aWV3cycsICd0eXBlLnJhbmRvbScsCgkJCSAgICdkZXNjcmlwdGlvbi5kYXRlJywgJ2Rlc2NyaXB0aW9uLnZpZXdzJywgJ2Rlc2NyaXB0aW9uLnJhbmRvbScpCgkJICAgIGFzICRrZXkpIHsKCQkkcmV0ID0gR2FsbGVyeUNvcmVBcGk6OnNldFBsdWdpblBhcmFtZXRlcignbW9kdWxlJywgJ2R5bmFtaWNhbGJ1bScsCgkJCQkJCQkgICRrZXksICRmb3JtW3N0cnRyKCRrZXksICcuJywgJ18nKV0pOwoJCWlmICgkcmV0KSB7CgkJICAgIHJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCQl9CgkgICAgfQoJICAgIGZvcmVhY2ggKGFycmF5KCdpdGVtbGluay5kYXRlJywgJ2l0ZW1saW5rLnZpZXdzJywgJ2l0ZW1saW5rLnJhbmRvbScpIGFzICRrZXkpIHsKCQkkcmV0ID0gR2FsbGVyeUNvcmVBcGk6OnNldFBsdWdpblBhcmFtZXRlcignbW9kdWxlJywgJ2R5bmFtaWNhbGJ1bScsCgkJCSRrZXksIGVtcHR5KCRmb3JtW3N0cnRyKCRrZXksICcuJywgJ18nKV0pID8gMCA6IDEpOwoJCWlmICgkcmV0KSB7CgkJICAgIHJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCQl9CgkgICAgfQoJICAgICRzdGF0dXNbJ3NhdmVkJ10gPSAxOwoJfQoKCSRtZXRob2QgPSBlbXB0eSgkZXJyb3IpID8gJ3JlZGlyZWN0JyA6ICdkZWxlZ2F0ZSc7CgkkcmVzdWx0cyA9IGFycmF5KCRtZXRob2QgPT4gYXJyYXkoJ3ZpZXcnID0+ICdjb3JlLlNpdGVBZG1pbicsCgkJCQkJICAnc3ViVmlldycgPT4gJ2R5bmFtaWNhbGJ1bS5EeW5hbWljQWxidW1TaXRlQWRtaW4nKSwKCQkJICdzdGF0dXMnID0+ICRzdGF0dXMsCgkJCSAnZXJyb3InID0+ICRlcnJvcik7CgoJcmV0dXJuIGFycmF5KG51bGwsICRyZXN1bHRzKTsKICAgIH0KfQoKLyoqCiAqIFNldHRpbmdzIGZvciBEeW5hbWljIEFsYnVtcwogKi8KY2xhc3MgRHluYW1pY0FsYnVtU2l0ZUFkbWluVmlldyBleHRlbmRzIEdhbGxlcnlWaWV3IHsKCiAgICAvKioKICAgICAqIEBzZWUgR2FsbGVyeVZpZXc6OmxvYWRUZW1wbGF0ZQogICAgICovCiAgICBmdW5jdGlvbiBsb2FkVGVtcGxhdGUoJiR0ZW1wbGF0ZSwgJiRmb3JtKSB7CgkkcmV0ID0gR2FsbGVyeUNvcmVBcGk6OmFzc2VydFVzZXJJc1NpdGVBZG1pbmlzdHJhdG9yKCk7CglpZiAoJHJldCkgewoJICAgIHJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCX0KCglpZiAoJGZvcm1bJ2Zvcm1OYW1lJ10gIT0gJ0R5bmFtaWNBbGJ1bVNpdGVBZG1pbicpIHsKCSAgICBmb3JlYWNoIChhcnJheSgndGhlbWVJZCcsICdzaXplLmRhdGUnLCAnc2l6ZS52aWV3cycsICdzaXplLnJhbmRvbScsCgkJCSAgICd0eXBlLmRhdGUnLCAndHlwZS52aWV3cycsICd0eXBlLnJhbmRvbScsCgkJCSAgICdkZXNjcmlwdGlvbi5kYXRlJywgJ2Rlc2NyaXB0aW9uLnZpZXdzJywgJ2Rlc2NyaXB0aW9uLnJhbmRvbScsCgkJCSAgICdpdGVtbGluay5kYXRlJywgJ2l0ZW1saW5rLnZpZXdzJywgJ2l0ZW1saW5rLnJhbmRvbScpCgkJICAgIGFzICRrZXkpIHsKCQlsaXN0ICgkcmV0LCAkZm9ybVtzdHJ0cigka2V5LCAnLicsICdfJyldKSA9CgkJICAgIEdhbGxlcnlDb3JlQXBpOjpnZXRQbHVnaW5QYXJhbWV0ZXIoJ21vZHVsZScsICdkeW5hbWljYWxidW0nLCAka2V5KTsKCQlpZiAoJHJldCkgewoJCSAgICByZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7CgkJfQoJICAgIH0KCX0gZWxzZSB7CgkgICAgLyogUmVzZXQgdGhlbWUgc2VsZWN0aW9uIG9uIHZhbGlkYXRpb24gZXJyb3IgZm9yIHRoZW1lIHNldHRpbmdzICovCgkgICAgJGZvcm1bJ3RoZW1lSWQnXSA9ICRmb3JtWydjdXJyZW50VGhlbWVJZCddOwoJfQoKCWxpc3QgKCRyZXQsICRtb2R1bGUpID0gR2FsbGVyeUNvcmVBcGk6OmxvYWRQbHVnaW4oJ21vZHVsZScsICdkeW5hbWljYWxidW0nKTsKCWlmICgkcmV0KSB7CgkgICAgcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJfQoJJGRlZmF1bHRMaXN0ID0gYXJyYXkoCgkJJ2RhdGEnID0+ICRtb2R1bGUtPnRyYW5zbGF0ZSgnU2hvdyBkYXRhIGl0ZW1zIG9ubHknKSwKCQknYWxsJyA9PiAkbW9kdWxlLT50cmFuc2xhdGUoJ1Nob3cgYWxsIGl0ZW1zJyksCgkJJ2FsYnVtJyA9PiAkbW9kdWxlLT50cmFuc2xhdGUoJ1Nob3cgYWxidW1zIG9ubHknKSk7CgoJLyogU2V0IHVwIHRoZW1lIHNlbGVjdGlvbiBsaXN0ICovCgkkdGhlbWVMaXN0ID0gYXJyYXkoJycgPT4gJG1vZHVsZS0+dHJhbnNsYXRlKCcmbGFxdW87IGRlZmF1bHQgdGhlbWUgJnJhcXVvOycpKTsKCWxpc3QgKCRyZXQsICR0aGVtZVN0YXR1cykgPSBHYWxsZXJ5Q29yZUFwaTo6ZmV0Y2hQbHVnaW5TdGF0dXMoJ3RoZW1lJyk7CglpZiAoJHJldCkgewoJICAgIHJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCX0KCWZvcmVhY2ggKCR0aGVtZVN0YXR1cyBhcyAkaWQgPT4gJHN0YXR1cykgewoJICAgIGlmICghZW1wdHkoJHN0YXR1c1snYWN0aXZlJ10pKSB7CgkJbGlzdCAoJHJldCwgJHRoZW1lKSA9IEdhbGxlcnlDb3JlQXBpOjpsb2FkUGx1Z2luKCd0aGVtZScsICRpZCk7CgkJaWYgKCRyZXQpIHsKCQkgICAgcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJCX0KCQkkdGhlbWVMaXN0WyRpZF0gPSAkdGhlbWUtPnRyYW5zbGF0ZSgkdGhlbWUtPmdldE5hbWUoKSk7CgkgICAgfQoJfQoKCS8qIFNldCB1cCB0aGVtZSBzZXR0aW5ncyAqLwoJbGlzdCAoJHJldCwgJHRoZW1lU2V0dGluZ3NJZCkgPQoJICAgIEdhbGxlcnlDb3JlQXBpOjpnZXRQbHVnaW5QYXJhbWV0ZXIoJ21vZHVsZScsICdkeW5hbWljYWxidW0nLCAndGhlbWVTZXR0aW5nc0lkJyk7CglpZiAoJHJldCkgewoJICAgIHJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCX0KCSRyZXQgPSBHYWxsZXJ5Q29yZUFwaTo6bG9hZFRoZW1lU2V0dGluZ3NGb3JtKCRmb3JtWyd0aGVtZUlkJ10sICR0aGVtZVNldHRpbmdzSWQsCgkJCQkJCSAgICAgJHRlbXBsYXRlLCAkZm9ybSk7CglpZiAoJHJldCkgewoJICAgIHJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCX0KCglpZiAoJGZvcm1bJ2Zvcm1OYW1lJ10gIT0gJ0R5bmFtaWNBbGJ1bVNpdGVBZG1pbicpIHsKCSAgICAkZm9ybVsnZm9ybU5hbWUnXSA9ICdEeW5hbWljQWxidW1TaXRlQWRtaW4nOwoJfQoKCSR0ZW1wbGF0ZS0+c2V0VmFyaWFibGUoJ0R5bmFtaWNBbGJ1bVNpdGVBZG1pbicsCgkJYXJyYXkoJ3RoZW1lTGlzdCcgPT4gJHRoZW1lTGlzdCwgJ2RlZmF1bHRMaXN0JyA9PiAkZGVmYXVsdExpc3QpKTsKCSR0ZW1wbGF0ZS0+c2V0VmFyaWFibGUoJ2NvbnRyb2xsZXInLCAnZHluYW1pY2FsYnVtLkR5bmFtaWNBbGJ1bVNpdGVBZG1pbicpOwoJcmV0dXJuIGFycmF5KG51bGwsCgkJICAgICBhcnJheSgnYm9keScgPT4gJ21vZHVsZXMvZHluYW1pY2FsYnVtL3RlbXBsYXRlcy9EeW5hbWljQWxidW1TaXRlQWRtaW4udHBsJykpOwogICAgfQp9Cj8+Cg==');
expand_1a4a7732a9($outputDir, 'MANIFEST', 'IyAkUmV2aXNpb246IDE2MDQxICQKIyBGaWxlIGNyYzMyIGNyYzMyKGNybGYpIHNpemUgc2l6ZShjcmxmKSAgb3IgIFIgRmlsZQptb2R1bGVzL2R5bmFtaWNhbGJ1bS9EeW5hbWljQWxidW1TaXRlQWRtaW4uaW5jCTI1OTQwNjI1NzQJMjY2ODM4Mjg3OAk1NTQ1CTU3MTgKbW9kdWxlcy9keW5hbWljYWxidW0vUG9wdWxhckFsYnVtLmluYwk3ODUzNDY2MjcJNzkxODgwODg1CTE4MjMJMTg3Ngptb2R1bGVzL2R5bmFtaWNhbGJ1bS9SYW5kb21BbGJ1bS5pbmMJMjE3MTU4OTQ3MwkyMDc5MjYzMjcyCTE3NjEJMTgxMwptb2R1bGVzL2R5bmFtaWNhbGJ1bS9VcGRhdGVzQWxidW0uaW5jCTE0OTEzNTYyNzkJMzQ0NzcyNTg4Ngk3NTg5CTc4NDAKbW9kdWxlcy9keW5hbWljYWxidW0vbW9kdWxlLmluYwkxMTk4MDE3NTQ4CTIzODA3Mjk1MjIJNDkzNwk1MDg1Cm1vZHVsZXMvZHluYW1pY2FsYnVtL3RlbXBsYXRlcy9EeW5hbWljQWxidW1TaXRlQWRtaW4udHBsCTM2OTk2NTgzCTM1ODQyNjk3OTAJNjg1Mwk3MDUxCg==');
expand_1a4a7732a9($outputDir, 'PopularAlbum.inc', 'PD9waHAKLyoKICogR2FsbGVyeSAtIGEgd2ViIGJhc2VkIHBob3RvIGFsYnVtIHZpZXdlciBhbmQgZWRpdG9yCiAqIENvcHlyaWdodCAoQykgMjAwMC0yMDA3IEJoYXJhdCBNZWRpcmF0dGEKICoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0CiAqIHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAogKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KICovCgpHYWxsZXJ5Q29yZUFwaTo6cmVxdWlyZU9uY2UoJ21vZHVsZXMvZHluYW1pY2FsYnVtL1VwZGF0ZXNBbGJ1bS5pbmMnKTsKCi8qKgogKiBEeW5hbWljIGFsYnVtIHZpZXcgb2YgbW9zdCB2aWV3ZWQgaXRlbXMKICogQHBhY2thZ2UgRHluYW1pY0FsYnVtCiAqIEBzdWJwYWNrYWdlIFVzZXJJbnRlcmZhY2UKICogQGF1dGhvciBBbGFuIEhhcmRlciA8YWxhbi5oYXJkZXJAc3VuLmNvbT4KICogQHZlcnNpb24gJFJldmlzaW9uOiAxNTUxMyAkCiAqLwpjbGFzcyBQb3B1bGFyQWxidW1WaWV3IGV4dGVuZHMgVXBkYXRlc0FsYnVtVmlldyB7CgogICAgZnVuY3Rpb24gUG9wdWxhckFsYnVtVmlldygpIHsKCWdsb2JhbCAkZ2FsbGVyeTsKCSR0aGlzLT5fdmlldyA9ICdkeW5hbWljYWxidW0uUG9wdWxhckFsYnVtJzsKCSR0aGlzLT5fdGl0bGUgPSAkZ2FsbGVyeS0+aTE4bignTW9zdCBWaWV3ZWQgSXRlbXMnKTsKCSR0aGlzLT5faXRlbVR5cGUgPSBhcnJheSgkZ2FsbGVyeS0+aTE4bignTW9zdCBWaWV3ZWQnKSwgJGdhbGxlcnktPmkxOG4oJ21vc3Qgdmlld2VkJykpOwoJJHRoaXMtPl92aWV3RGVzY3JpcHRpb24gPSAkZ2FsbGVyeS0+aTE4bignbW9zdCB2aWV3ZWQnKTsKCSR0aGlzLT5fcGFyYW0gPSAndmlld3MnOwogICAgfQoKICAgIC8qKgogICAgICogRHluYW1pYyBxdWVyeSBmb3IgaXRlbXMKICAgICAqIEBwYXJhbSBpbnQgJHVzZXJJZAogICAgICogQHJldHVybiBhcnJheSBvYmplY3QgR2FsbGVyeVN0YXR1cyBhIHN0YXR1cyBjb2RlCiAgICAgKiAgICAgICAgICAgICAgIGFycmF5IG9mIGl0ZW0gaWRzCiAgICAgKiBAc3RhdGljCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldENoaWxkSWRzKCR1c2VySWQpIHsKCXJldHVybiBwYXJlbnQ6OmdldENoaWxkSWRzKCR1c2VySWQsICd2aWV3cycsICd2aWV3Q291bnQnLCBPUkRFUl9ERVNDRU5ESU5HLAoJCQkJICAgJ0dhbGxlcnlJdGVtQXR0cmlidXRlc01hcCcsICdpdGVtSWQnKTsKICAgIH0KfQo/Pgo=');
expand_1a4a7732a9($outputDir, 'RandomAlbum.inc', 'PD9waHAKLyoKICogR2FsbGVyeSAtIGEgd2ViIGJhc2VkIHBob3RvIGFsYnVtIHZpZXdlciBhbmQgZWRpdG9yCiAqIENvcHlyaWdodCAoQykgMjAwMC0yMDA3IEJoYXJhdCBNZWRpcmF0dGEKICoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0CiAqIHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAogKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KICovCgpHYWxsZXJ5Q29yZUFwaTo6cmVxdWlyZU9uY2UoJ21vZHVsZXMvZHluYW1pY2FsYnVtL1VwZGF0ZXNBbGJ1bS5pbmMnKTsKCi8qKgogKiBEeW5hbWljIGFsYnVtIHZpZXcgb2YgcmFuZG9tIGl0ZW1zIQogKiBAcGFja2FnZSBEeW5hbWljQWxidW0KICogQHN1YnBhY2thZ2UgVXNlckludGVyZmFjZQogKiBAYXV0aG9yIEFsYW4gSGFyZGVyIDxhbGFuLmhhcmRlckBzdW4uY29tPgogKiBAdmVyc2lvbiAkUmV2aXNpb246IDE1NTEzICQKICovCmNsYXNzIFJhbmRvbUFsYnVtVmlldyBleHRlbmRzIFVwZGF0ZXNBbGJ1bVZpZXcgewoKICAgIGZ1bmN0aW9uIFJhbmRvbUFsYnVtVmlldygpIHsKCWdsb2JhbCAkZ2FsbGVyeTsKCSR0aGlzLT5fdmlldyA9ICdkeW5hbWljYWxidW0uUmFuZG9tQWxidW0nOwoJJHRoaXMtPl90aXRsZSA9ICRnYWxsZXJ5LT5pMThuKCdSYW5kb20gSXRlbXMnKTsKCSR0aGlzLT5faXRlbVR5cGUgPSBhcnJheSgkZ2FsbGVyeS0+aTE4bignUmFuZG9tJyksICRnYWxsZXJ5LT5pMThuKCdyYW5kb20nKSk7CgkkdGhpcy0+X3ZpZXdEZXNjcmlwdGlvbiA9ICRnYWxsZXJ5LT5pMThuKCdyYW5kb20nKTsKCSR0aGlzLT5fcGFyYW0gPSAncmFuZG9tJzsKICAgIH0KCiAgICAvKioKICAgICAqIER5bmFtaWMgcXVlcnkgZm9yIGl0ZW1zCiAgICAgKiBAcGFyYW0gaW50ICR1c2VySWQKICAgICAqIEByZXR1cm4gYXJyYXkgb2JqZWN0IEdhbGxlcnlTdGF0dXMgYSBzdGF0dXMgY29kZQogICAgICogICAgICAgICAgICAgICBhcnJheSBvZiBpdGVtIGlkcwogICAgICogQHN0YXRpYwogICAgICovCiAgICBmdW5jdGlvbiBnZXRDaGlsZElkcygkdXNlcklkKSB7CglyZXR1cm4gcGFyZW50OjpnZXRDaGlsZElkcygkdXNlcklkLCAncmFuZG9tJywgJ3JhbmRvbScsIE9SREVSX0FTQ0VORElORywgbnVsbCwgJ2lkJyk7CiAgICB9Cn0KPz4K');
expand_1a4a7732a9($outputDir, 'UpdatesAlbum.inc', 'PD9waHAKLyoKICogR2FsbGVyeSAtIGEgd2ViIGJhc2VkIHBob3RvIGFsYnVtIHZpZXdlciBhbmQgZWRpdG9yCiAqIENvcHlyaWdodCAoQykgMjAwMC0yMDA3IEJoYXJhdCBNZWRpcmF0dGEKICoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0CiAqIHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAogKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KICovCgovKioKICogRHluYW1pYyBhbGJ1bSB2aWV3IG9mIHJlY2VudCBhZGRpdGlvbnMKICogQHBhY2thZ2UgRHluYW1pY0FsYnVtCiAqIEBzdWJwYWNrYWdlIFVzZXJJbnRlcmZhY2UKICogQGF1dGhvciBBbGFuIEhhcmRlciA8YWxhbi5oYXJkZXJAc3VuLmNvbT4KICogQHZlcnNpb24gJFJldmlzaW9uOiAxNTUxMyAkCiAqLwpjbGFzcyBVcGRhdGVzQWxidW1WaWV3IGV4dGVuZHMgR2FsbGVyeVZpZXcgewoKICAgIGZ1bmN0aW9uIFVwZGF0ZXNBbGJ1bVZpZXcoKSB7CglnbG9iYWwgJGdhbGxlcnk7CgkkdGhpcy0+X3ZpZXcgPSAnZHluYW1pY2FsYnVtLlVwZGF0ZXNBbGJ1bSc7CgkkdGhpcy0+X3RpdGxlID0gJGdhbGxlcnktPmkxOG4oJ1JlY2VudCBVcGRhdGVzJyk7CgkkdGhpcy0+X2l0ZW1UeXBlID0gYXJyYXkoJGdhbGxlcnktPmkxOG4oJ1VwZGF0ZXMnKSwgJGdhbGxlcnktPmkxOG4oJ3VwZGF0ZXMnKSk7CgkkdGhpcy0+X3ZpZXdEZXNjcmlwdGlvbiA9ICRnYWxsZXJ5LT5pMThuKCd1cGRhdGVzJyk7CgkkdGhpcy0+X3BhcmFtID0gJ2RhdGUnOwogICAgfQoKICAgIC8qKgogICAgICogQHNlZSBHYWxsZXJ5Vmlldzo6Z2V0Vmlld1R5cGUKICAgICAqLwogICAgZnVuY3Rpb24gZ2V0Vmlld1R5cGUoKSB7CglyZXR1cm4gVklFV19UWVBFX1NIT1dfSVRFTTsKICAgIH0KCiAgICAvKioKICAgICAqIEBzZWUgR2FsbGVyeVZpZXc6OmxvYWRUaGVtZUFuZFBhcmFtZXRlcnMKICAgICAqLwogICAgZnVuY3Rpb24gbG9hZFRoZW1lQW5kUGFyYW1ldGVycygpIHsKCWxpc3QgKCRyZXQsICRpdGVtKSA9IEdhbGxlcnlDb3JlQXBpOjpuZXdGYWN0b3J5SW5zdGFuY2UoJ0dhbGxlcnlEeW5hbWljQWxidW0nKTsKCWlmICgkcmV0KSB7CgkgICAgcmV0dXJuIGFycmF5KCRyZXQsIG51bGwsIG51bGwsIG51bGwpOwoJfQoJaWYgKCFpc3NldCgkaXRlbSkpIHsKCSAgICByZXR1cm4gYXJyYXkoR2FsbGVyeUNvcmVBcGk6OmVycm9yKEVSUk9SX01JU1NJTkdfT0JKRUNUKSwgbnVsbCwgbnVsbCwgbnVsbCk7Cgl9CglsaXN0ICgkcmV0LCAkbW9kdWxlKSA9IEdhbGxlcnlDb3JlQXBpOjpsb2FkUGx1Z2luKCdtb2R1bGUnLCAnZHluYW1pY2FsYnVtJyk7CglpZiAoJHJldCkgewoJICAgIHJldHVybiBhcnJheSgkcmV0LCBudWxsLCBudWxsLCBudWxsKTsKCX0KCSRpdGVtLT5jcmVhdGUoCgkgICAgJG1vZHVsZS0+dHJhbnNsYXRlKCR0aGlzLT5fdGl0bGUpLAoJICAgIGFycmF5KCR0aGlzLT5faXRlbVR5cGUsIGFycmF5X21hcChhcnJheSgkbW9kdWxlLCAndHJhbnNsYXRlJyksICR0aGlzLT5faXRlbVR5cGUpKQoJKTsKCglsaXN0ICgkcmV0LCAkbW9kdWxlUGFyYW1zKSA9CgkgICAgR2FsbGVyeUNvcmVBcGk6OmZldGNoQWxsUGx1Z2luUGFyYW1ldGVycygnbW9kdWxlJywgJ2R5bmFtaWNhbGJ1bScpOwoJaWYgKCRyZXQpIHsKCSAgICByZXR1cm4gYXJyYXkoJHJldCwgbnVsbCwgbnVsbCwgbnVsbCk7Cgl9CgkkaXRlbS0+c2V0RGVzY3JpcHRpb24oJG1vZHVsZVBhcmFtc1snZGVzY3JpcHRpb24uJyAuICR0aGlzLT5fcGFyYW1dKTsKCgkkaXRlbUlkID0gR2FsbGVyeVV0aWxpdGllczo6Z2V0UmVxdWVzdFZhcmlhYmxlcygnaXRlbUlkJyk7CglpZiAoIWVtcHR5KCRpdGVtSWQpKSB7CgkgICAgLyogVmlld2luZyBhbiBpdGVtIGluIHRoaXMgZHluYW1pYyBhbGJ1bSAqLwoJICAgIGxpc3QgKCRyZXQsICR2aWV3SXRlbSkgPSBHYWxsZXJ5Q29yZUFwaTo6bG9hZEVudGl0aWVzQnlJZCgkaXRlbUlkKTsKCSAgICBpZiAoJHJldCkgewoJCXJldHVybiBhcnJheSgkcmV0LCBudWxsLCBudWxsLCBudWxsKTsKCSAgICB9CgkgICAgaWYgKCFHYWxsZXJ5VXRpbGl0aWVzOjppc0EoJHZpZXdJdGVtLCAnR2FsbGVyeUl0ZW0nKSkgewoJCS8qIEludmFsaWQgaXRlbUlkIGdpdmVuLCByZXR1cm4gTUlTU0lOR19PQkpFQ1QgdG8gZ2V0IHN0YW5kYXJkIGVycm9yIHBhZ2UgKi8KCQlyZXR1cm4gYXJyYXkoR2FsbGVyeUNvcmVBcGk6OmVycm9yKEVSUk9SX01JU1NJTkdfT0JKRUNUKSwgbnVsbCwgbnVsbCwgbnVsbCk7CgkgICAgfQoKCSAgICAvKiBQcm92aWRlIHBhcmVudCwgcGFyZW50IFVSTCBhbmQgZ2V0LWNoaWxkcmVuIGZ1bmN0aW9uIHRvIFRoZW1lIEFQSSAqLwoJICAgICRpdGVtLT51cmxQYXJhbXMgPSBhcnJheSgndmlldycgPT4gJHRoaXMtPl92aWV3LCAnaGlnaGxpZ2h0SWQnID0+ICRpdGVtSWQpOwoJICAgICRpdGVtLT5nZXRDaGlsZHJlbkZ1bmN0aW9uID0gYXJyYXkoZ2V0X2NsYXNzKCR0aGlzKSwgJ2dldENoaWxkSWRzJyk7CgkgICAgJHZpZXdJdGVtLT5wYXJlbnQgPSAkaXRlbTsKCSAgICAkaXRlbSA9ICR2aWV3SXRlbTsKCX0KCglpZiAoZW1wdHkoJG1vZHVsZVBhcmFtc1sndGhlbWVJZCddKSkgewoJICAgIGxpc3QgKCRyZXQsICR0aGVtZSkgPSAkdGhpcy0+bG9hZFRoZW1lRm9ySXRlbSgpOwoJICAgIGlmICgkcmV0IHx8ICFpc3NldCgkdGhlbWUpKSB7CgkJLyogSWdub3JlIGVycm9ycyBoZXJlIHNvIGZhbGxiYWNrIHRoZW1lIGNhbiBiZSB1c2VkICovCgkJcmV0dXJuIGFycmF5KG51bGwsIG51bGwsIGFycmF5KCksICRpdGVtKTsKCSAgICB9Cgl9IGVsc2UgewoJICAgIGxpc3QgKCRyZXQsICR0aGVtZSkgPSBHYWxsZXJ5Vmlldzo6X2xvYWRUaGVtZSgkbW9kdWxlUGFyYW1zWyd0aGVtZUlkJ10pOwoJICAgIGlmICgkcmV0IHx8ICFpc3NldCgkdGhlbWUpKSB7CgkJLyogSWdub3JlIGVycm9ycyBoZXJlIHNvIGZhbGxiYWNrIHRoZW1lIGNhbiBiZSB1c2VkICovCgkJcmV0dXJuIGFycmF5KG51bGwsIG51bGwsIGFycmF5KCksICRpdGVtKTsKCSAgICB9Cgl9CgoJbGlzdCAoJHJldCwgJHBhcmFtcykgPSAkdGhlbWUtPmZldGNoUGFyYW1ldGVycygkbW9kdWxlUGFyYW1zWyd0aGVtZVNldHRpbmdzSWQnXSk7CglpZiAoJHJldCkgewoJICAgIHJldHVybiBhcnJheSgkcmV0LCBudWxsLCBudWxsLCBudWxsKTsKCX0KCglyZXR1cm4gYXJyYXkobnVsbCwgJHRoZW1lLCAkcGFyYW1zLCAkaXRlbSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAc2VlIEdhbGxlcnlWaWV3Ojpsb2FkVGVtcGxhdGUKICAgICAqLwogICAgZnVuY3Rpb24gbG9hZFRlbXBsYXRlKCYkdGVtcGxhdGUsICYkZm9ybSkgewoJbGlzdCAoJGl0ZW1JZCwgJHNob3csICRhbGJ1bUlkKSA9CgkgICAgR2FsbGVyeVV0aWxpdGllczo6Z2V0UmVxdWVzdFZhcmlhYmxlcygnaXRlbUlkJywgJ3Nob3cnLCAnYWxidW1JZCcpOwoJJHRoZW1lID0mICR0ZW1wbGF0ZS0+Z2V0VmFyaWFibGVCeVJlZmVyZW5jZSgndGhlbWUnKTsKCSR0aGVtZVsncGFnZVVybCddID0gYXJyYXkoJ3ZpZXcnID0+ICR0aGlzLT5fdmlldyk7CglpZiAoIWVtcHR5KCRzaG93KSkgewoJICAgICR0aGVtZVsncGFnZVVybCddWydzaG93J10gPSAkc2hvdzsKCX0KCWlmICghZW1wdHkoJGFsYnVtSWQpKSB7CgkgICAgJHRoZW1lWydwYWdlVXJsJ11bJ2FsYnVtSWQnXSA9ICRhbGJ1bUlkOwoJfQoKCWlmIChlbXB0eSgkaXRlbUlkKSkgewoJICAgIC8qIFBlcmZvcm0gcXVlcnkgZm9yIHRoaXMgZHluYW1pYyBhbGJ1bSAqLwoJICAgIGxpc3QgKCRyZXQsICR0aGVtZVsnYWxsQ2hpbGRJZHMnXSkgPSAkdGhpcy0+Z2V0Q2hpbGRJZHMoJHRoZW1lWydhY3RpbmdVc2VySWQnXSk7CgkgICAgaWYgKCRyZXQpIHsKCQlyZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7CgkgICAgfQoJfSBlbHNlIHsKCSAgICAvKiBJdGVtIGluIGR5bmFtaWMgYWxidW07IHVzZSBjb3JlLlNob3dJdGVtIHRvIGNoZWNrIHBlcm1pc3Npb24sIGluY3JlbWVudCB2aWV3IGNvdW50ICovCgkgICAgbGlzdCAoJHJldCwgJHNob3dJdGVtKSA9IEdhbGxlcnlWaWV3Ojpsb2FkVmlldygnY29yZS5TaG93SXRlbScpOwoJICAgIGlmICgkcmV0KSB7CgkJcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJICAgIH0KCSAgICBsaXN0ICgkcmV0LCAkcmVzdWx0KSA9ICRzaG93SXRlbS0+bG9hZFRlbXBsYXRlKCR0ZW1wbGF0ZSwgJGZvcm0pOwoJICAgIGlmICgkcmV0KSB7CgkJcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJICAgIH0KCSAgICBpZiAoaXNzZXQoJHJlc3VsdFsncmVkaXJlY3QnXSkpIHsKCQlyZXR1cm4gYXJyYXkobnVsbCwgJHJlc3VsdCk7CgkgICAgfQoJfQoKCXJldHVybiBhcnJheShudWxsLCBhcnJheSgpKTsKICAgIH0KCiAgICAvKioKICAgICAqIER5bmFtaWMgcXVlcnkgZm9yIGl0ZW1zCiAgICAgKiBAcGFyYW0gaW50ICR1c2VySWQKICAgICAqIEByZXR1cm4gYXJyYXkgb2JqZWN0IEdhbGxlcnlTdGF0dXMgYSBzdGF0dXMgY29kZQogICAgICogICAgICAgICAgICAgICBhcnJheSBvZiBpdGVtIGlkcwogICAgICogQHN0YXRpYwogICAgICovCiAgICBmdW5jdGlvbiBnZXRDaGlsZElkcygkdXNlcklkLCAkcGFyYW09J2RhdGUnLCAkb3JkZXJCeT0nY3JlYXRpb25UaW1lc3RhbXAnLAoJICAgICRvcmRlckRpcmVjdGlvbj1PUkRFUl9ERVNDRU5ESU5HLCAkdGFibGU9J0dhbGxlcnlFbnRpdHknLCAkaWQ9J2lkJykgewoJZ2xvYmFsICRnYWxsZXJ5OwoJJHN0b3JhZ2UgPSYgJGdhbGxlcnktPmdldFN0b3JhZ2UoKTsKCglsaXN0ICgkcmV0LCAkcGFyYW1zKSA9IEdhbGxlcnlDb3JlQXBpOjpmZXRjaEFsbFBsdWdpblBhcmFtZXRlcnMoJ21vZHVsZScsICdkeW5hbWljYWxidW0nKTsKCWlmICgkcmV0KSB7CgkgICAgcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJfQoJJHNpemUgPSAkcGFyYW1zWydzaXplLicgLiAkcGFyYW1dOwoJJHR5cGUgPSAkcGFyYW1zWyd0eXBlLicgLiAkcGFyYW1dOwoJaWYgKCEkc2l6ZSkgewoJICAgIHJldHVybiBhcnJheShHYWxsZXJ5Q29yZUFwaTo6ZXJyb3IoRVJST1JfUEVSTUlTU0lPTl9ERU5JRUQpLCBudWxsKTsKCX0KCglsaXN0ICgkc2hvdywgJGFsYnVtSWQpID0gR2FsbGVyeVV0aWxpdGllczo6Z2V0UmVxdWVzdFZhcmlhYmxlcygnc2hvdycsICdhbGJ1bUlkJyk7CglpZiAoIWVtcHR5KCRzaG93KSkgewoJICAgICR0eXBlID0gJHNob3c7Cgl9Cglzd2l0Y2ggKCR0eXBlKSB7CgljYXNlICdkYXRhJzoKCSAgICAkY2xhc3MgPSAnR2FsbGVyeURhdGFJdGVtJzsKCSAgICBicmVhazsKCWNhc2UgJ2FsbCc6CgkgICAgJGNsYXNzID0gJ0dhbGxlcnlJdGVtJzsKCSAgICBicmVhazsKCWNhc2UgJ2FsYnVtJzoKCSAgICAkY2xhc3MgPSAnR2FsbGVyeUFsYnVtSXRlbSc7CgkgICAgYnJlYWs7CglkZWZhdWx0OgoJICAgIHJldHVybiBhcnJheShHYWxsZXJ5Q29yZUFwaTo6ZXJyb3IoRVJST1JfQkFEX1BBUkFNRVRFUiksIG51bGwpOwoJfQoJaWYgKCFpc3NldCgkdGFibGUpKSB7CgkgICAgJHRhYmxlID0gJGNsYXNzOwoJfQoKCSRxdWVyeSA9ICdbJyAuICR0YWJsZSAuICc6OicgLiAkaWQgLiAnXSBJUyBOT1QgTlVMTCc7CglpZiAoIWVtcHR5KCRhbGJ1bUlkKSkgewoJICAgIGxpc3QgKCRyZXQsICRzZXF1ZW5jZSkgPSBHYWxsZXJ5Q29yZUFwaTo6ZmV0Y2hQYXJlbnRTZXF1ZW5jZSgkYWxidW1JZCk7CgkgICAgaWYgKCRyZXQpIHsKCQlyZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7CgkgICAgfQoJICAgIGlmICghZW1wdHkoJHNlcXVlbmNlKSkgewoJCSRzZXF1ZW5jZSA9IGltcGxvZGUoJy8nLCAkc2VxdWVuY2UpIC4gJy8nIC4gKGludCkkYWxidW1JZCAuICcvJSc7CgkJJHF1ZXJ5ID0gJ1tHYWxsZXJ5SXRlbUF0dHJpYnV0ZXNNYXA6OnBhcmVudFNlcXVlbmNlXSBMSUtFID8nOwoJCSR0YWJsZSA9ICdHYWxsZXJ5SXRlbUF0dHJpYnV0ZXNNYXAnOwoJCSRpZCA9ICdpdGVtSWQnOwoJICAgIH0gZWxzZSB7CgkJJHF1ZXJ5ID0gJ1snIC4gJHRhYmxlIC4gJzo6JyAuICRpZCAuICddIDw+ICcgLiAoaW50KSRhbGJ1bUlkOwoJICAgIH0KCX0KCWlmICgkdGFibGUgPT0gJGNsYXNzKSB7CgkgICAgJGNsYXNzID0gbnVsbDsKCX0KCWxpc3QgKCRyZXQsICRxdWVyeSwgJGRhdGEpID0gR2FsbGVyeUNvcmVBcGk6OmJ1aWxkSXRlbVF1ZXJ5KAoJCSR0YWJsZSwgJGlkLCAkcXVlcnksICRvcmRlckJ5LCAkb3JkZXJEaXJlY3Rpb24sCgkJJGNsYXNzLCAnY29yZS52aWV3JywgZmFsc2UsICR1c2VySWQpOwoJaWYgKCRyZXQpIHsKCSAgICByZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7Cgl9CglpZiAoZW1wdHkoJHF1ZXJ5KSkgewoJICAgIHJldHVybiBhcnJheShudWxsLCBhcnJheSgpKTsKCX0KCWlmICghZW1wdHkoJHNlcXVlbmNlKSkgewoJICAgIGFycmF5X3Vuc2hpZnQoJGRhdGEsICRzZXF1ZW5jZSk7Cgl9CgoJbGlzdCAoJHJldCwgJHNlYXJjaFJlc3VsdHMpID0gJGdhbGxlcnktPnNlYXJjaCgkcXVlcnksICRkYXRhLAoJCWFycmF5KCdsaW1pdCcgPT4gYXJyYXkoJ2NvdW50JyA9PiAkc2l6ZSkpKTsKCWlmICgkcmV0KSB7CgkgICAgcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJfQoJJGl0ZW1JZHMgPSBhcnJheSgpOwoJd2hpbGUgKCRyZXN1bHQgPSAkc2VhcmNoUmVzdWx0cy0+bmV4dFJlc3VsdCgpKSB7CgkgICAgJGl0ZW1JZHNbXSA9ICRyZXN1bHRbMF07Cgl9CgoJcmV0dXJuIGFycmF5KG51bGwsICRpdGVtSWRzKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBzZWUgR2FsbGVyeVZpZXc6OmdldFZpZXdEZXNjcmlwdGlvbgogICAgICovCiAgICBmdW5jdGlvbiBnZXRWaWV3RGVzY3JpcHRpb24oKSB7CglsaXN0ICgkcmV0LCAkbW9kdWxlKSA9IEdhbGxlcnlDb3JlQXBpOjpsb2FkUGx1Z2luKCdtb2R1bGUnLCAnZHluYW1pY2FsYnVtJyk7CglpZiAoJHJldCkgewoJICAgIHJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCX0KCXJldHVybiBhcnJheShudWxsLCAkbW9kdWxlLT50cmFuc2xhdGUoJHRoaXMtPl92aWV3RGVzY3JpcHRpb24pKTsKICAgIH0KfQo/Pgo=');
expand_1a4a7732a9($outputDir, 'module.inc', 'PD9waHAKLyoKICogR2FsbGVyeSAtIGEgd2ViIGJhc2VkIHBob3RvIGFsYnVtIHZpZXdlciBhbmQgZWRpdG9yCiAqIENvcHlyaWdodCAoQykgMjAwMC0yMDA3IEJoYXJhdCBNZWRpcmF0dGEKICoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0CiAqIHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAogKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KICovCgovKioKICogRHluYW1pYyBhbGJ1bXMgZm9yIG5ld2VzdCwgbW9zdCB2aWV3ZWQgb3IgcmFuZG9tIGl0ZW1zLgogKgogKiBAcGFja2FnZSBEeW5hbWljQWxidW0KICogQGF1dGhvciBBbGFuIEhhcmRlciA8YWxhbi5oYXJkZXJAc3VuLmNvbT4KICogQHZlcnNpb24gJFJldmlzaW9uOiAxNjAyOSAkCiAqLwpjbGFzcyBEeW5hbWljQWxidW1Nb2R1bGUgZXh0ZW5kcyBHYWxsZXJ5TW9kdWxlIHsKCiAgICBmdW5jdGlvbiBEeW5hbWljQWxidW1Nb2R1bGUoKSB7CglnbG9iYWwgJGdhbGxlcnk7CgkkdGhpcy0+c2V0SWQoJ2R5bmFtaWNhbGJ1bScpOwoJJHRoaXMtPnNldE5hbWUoJGdhbGxlcnktPmkxOG4oJ0R5bmFtaWMgQWxidW1zJykpOwoJJHRoaXMtPnNldERlc2NyaXB0aW9uKAoJCSRnYWxsZXJ5LT5pMThuKCdEeW5hbWljIGFsYnVtcyBmb3IgbmV3ZXN0LCBtb3N0IHZpZXdlZCBvciByYW5kb20gaXRlbXMnKSk7CgkkdGhpcy0+c2V0VmVyc2lvbignMS4wLjAnKTsKCSR0aGlzLT5zZXRHcm91cCgnZGlzcGxheScsICRnYWxsZXJ5LT5pMThuKCdEaXNwbGF5JykpOwoJJHRoaXMtPnNldENhbGxiYWNrcygnZ2V0U2l0ZUFkbWluVmlld3N8Z2V0SXRlbUxpbmtzJyk7CgkkdGhpcy0+c2V0UmVxdWlyZWRDb3JlQXBpKGFycmF5KDcsIDEwKSk7CgkkdGhpcy0+c2V0UmVxdWlyZWRNb2R1bGVBcGkoYXJyYXkoMywgMikpOwogICAgfQoKICAgIC8qKgogICAgICogQHNlZSBHYWxsZXJ5TW9kdWxlOjp1cGdyYWRlCiAgICAgKi8KICAgIGZ1bmN0aW9uIHVwZ3JhZGUoJGN1cnJlbnRWZXJzaW9uKSB7CglsaXN0ICgkcmV0LCAkcGFyYW1zKSA9IEdhbGxlcnlDb3JlQXBpOjpmZXRjaEFsbFBsdWdpblBhcmFtZXRlcnMoJ21vZHVsZScsICdkeW5hbWljYWxidW0nKTsKCWlmICgkcmV0KSB7CgkgICAgcmV0dXJuICRyZXQ7Cgl9Cglmb3JlYWNoIChhcnJheSgndGhlbWVJZCcgPT4gJycsICdzaXplLmRhdGUnID0+IDI0LCAnc2l6ZS52aWV3cycgPT4gMjQsICdzaXplLnJhbmRvbScgPT4gMjQsCgkJICAgICd0eXBlLmRhdGUnID0+ICdkYXRhJywgJ3R5cGUudmlld3MnID0+ICdkYXRhJywgJ3R5cGUucmFuZG9tJyA9PiAnZGF0YScsCgkJICAgICdkZXNjcmlwdGlvbi5kYXRlJyA9PiAnJywgJ2Rlc2NyaXB0aW9uLnZpZXdzJyA9PiAnJywgJ2Rlc2NyaXB0aW9uLnJhbmRvbScgPT4gJycsCgkJICAgICdpdGVtbGluay5kYXRlJyA9PiAwLCAnaXRlbWxpbmsudmlld3MnID0+IDAsICdpdGVtbGluay5yYW5kb20nID0+IDApCgkJYXMgJGtleSA9PiAkdmFsdWUpIHsKCSAgICBpZiAoIWlzc2V0KCRwYXJhbXNbJGtleV0pKSB7CgkJJHRoaXMtPnNldFBhcmFtZXRlcigka2V5LCAkdmFsdWUpOwoJCWlmICgkcmV0KSB7CgkJICAgIHJldHVybiAkcmV0OwoJCX0KCSAgICB9Cgl9CglpZiAoIWlzc2V0KCRwYXJhbXNbJ3RoZW1lU2V0dGluZ3NJZCddKSkgewoJICAgIGxpc3QgKCRyZXQsICRlbnRpdHkpID0KCQlHYWxsZXJ5Q29yZUFwaTo6bmV3RmFjdG9yeUluc3RhbmNlKCdHYWxsZXJ5RW50aXR5JywgJ0dhbGxlcnlFbnRpdHknKTsKCSAgICAkZW50aXR5LT5jcmVhdGUoKTsKCSAgICAkcmV0ID0gJGVudGl0eS0+c2F2ZShmYWxzZSk7CgkgICAgaWYgKCRyZXQpIHsKCQlyZXR1cm4gJHJldDsKCSAgICB9CgkgICAgJHJldCA9ICR0aGlzLT5zZXRQYXJhbWV0ZXIoJ3RoZW1lU2V0dGluZ3NJZCcsICRlbnRpdHktPmdldElkKCkpOwoJICAgIGlmICgkcmV0KSB7CgkJcmV0dXJuICRyZXQ7CgkgICAgfQoJfQoKCXJldHVybiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogQHNlZSBHYWxsZXJ5TW9kdWxlOjpnZXRTaXRlQWRtaW5WaWV3cwogICAgICovCiAgICBmdW5jdGlvbiBnZXRTaXRlQWRtaW5WaWV3cygpIHsKCXJldHVybiBhcnJheShudWxsLCBhcnJheShhcnJheSgnbmFtZScgPT4gJHRoaXMtPnRyYW5zbGF0ZSgnRHluYW1pYyBBbGJ1bXMnKSwKCQkJCSAgICAgICAndmlldycgPT4gJ2R5bmFtaWNhbGJ1bS5EeW5hbWljQWxidW1TaXRlQWRtaW4nKSkpOwogICAgfQoKICAgIC8qKgogICAgICogQHNlZSBHYWxsZXJ5TW9kdWxlOjpnZXRJdGVtTGlua3MKICAgICAqLwogICAgZnVuY3Rpb24gZ2V0SXRlbUxpbmtzKCRpdGVtcywgJHdhbnRzRGV0YWlsZWRMaW5rcywgJHBlcm1pc3Npb25zKSB7CgkkbGlua3MgPSBhcnJheSgpOwoJbGlzdCAoJHJldCwgJHBhcmFtcykgPSBHYWxsZXJ5Q29yZUFwaTo6ZmV0Y2hBbGxQbHVnaW5QYXJhbWV0ZXJzKCdtb2R1bGUnLCAnZHluYW1pY2FsYnVtJyk7CglpZiAoJHJldCkgewoJICAgIHJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCX0KCWlmICghJHBhcmFtc1snaXRlbWxpbmsuZGF0ZSddICYmICEkcGFyYW1zWydpdGVtbGluay52aWV3cyddCgkJJiYgISRwYXJhbXNbJ2l0ZW1saW5rLnJhbmRvbSddKSB7CgkgICAgcmV0dXJuIGFycmF5KG51bGwsICRsaW5rcyk7Cgl9Cglmb3JlYWNoICgkaXRlbXMgYXMgJGl0ZW0pIHsKCSAgICAkaXRlbUlkID0gJGl0ZW0tPmdldElkKCk7CgkgICAgaWYgKCRpdGVtLT5nZXRDYW5Db250YWluQ2hpbGRyZW4oKSAmJiBpc3NldCgkd2FudHNEZXRhaWxlZExpbmtzWyRpdGVtSWRdKSkgewoJCWlmICgkcGFyYW1zWydpdGVtbGluay5kYXRlJ10pIHsKCQkgICAgJGxpbmtzWyRpdGVtSWRdW10gPSBhcnJheSgKCQkJICAgICd0ZXh0JyA9PiAkdGhpcy0+dHJhbnNsYXRlKCdWaWV3IExhdGVzdCBVcGRhdGVzJyksCgkJCSAgICAncGFyYW1zJyA9PiBhcnJheSgndmlldycgPT4gJ2R5bmFtaWNhbGJ1bS5VcGRhdGVzQWxidW0nLAoJCQkJCSAgICAgICdhbGJ1bUlkJyA9PiAkaXRlbUlkKSk7CgkJfQoJCWlmICgkcGFyYW1zWydpdGVtbGluay52aWV3cyddKSB7CgkJICAgICRsaW5rc1skaXRlbUlkXVtdID0gYXJyYXkoCgkJCSAgICAndGV4dCcgPT4gJHRoaXMtPnRyYW5zbGF0ZSgnVmlldyBQb3B1bGFyIEl0ZW1zJyksCgkJCSAgICAncGFyYW1zJyA9PiBhcnJheSgndmlldycgPT4gJ2R5bmFtaWNhbGJ1bS5Qb3B1bGFyQWxidW0nLAoJCQkJCSAgICAgICdhbGJ1bUlkJyA9PiAkaXRlbUlkKSk7CgkJfQoJCWlmICgkcGFyYW1zWydpdGVtbGluay5yYW5kb20nXSkgewoJCSAgICAkbGlua3NbJGl0ZW1JZF1bXSA9IGFycmF5KAoJCQkgICAgJ3RleHQnID0+ICR0aGlzLT50cmFuc2xhdGUoJ1ZpZXcgUmFuZG9tIEl0ZW1zJyksCgkJCSAgICAncGFyYW1zJyA9PiBhcnJheSgndmlldycgPT4gJ2R5bmFtaWNhbGJ1bS5SYW5kb21BbGJ1bScsCgkJCQkJICAgICAgJ2FsYnVtSWQnID0+ICRpdGVtSWQpKTsKCQl9CgkgICAgfQoJfQoKCXJldHVybiBhcnJheShudWxsLCAkbGlua3MpOwogICAgfQoKICAgIC8qKgogICAgICogQHNlZSBHYWxsZXJ5TW9kdWxlOjpnZXRSZXdyaXRlUnVsZXMKICAgICAqLwogICAgZnVuY3Rpb24gZ2V0UmV3cml0ZVJ1bGVzKCkgewoJcmV0dXJuIGFycmF5KAoJCWFycmF5KCdjb21tZW50JyA9PiAkdGhpcy0+dHJhbnNsYXRlKCdVcGRhdGVzIEFsYnVtJyksCgkJICAgICAgJ21hdGNoJyA9PiBhcnJheSgndmlldycgPT4gJ2R5bmFtaWNhbGJ1bS5VcGRhdGVzQWxidW0nKSwKCQkgICAgICAncGF0dGVybicgPT4gJ3VwZGF0ZXMnLAoJCSAgICAgICdoZWxwJyA9PiAkdGhpcy0+dHJhbnNsYXRlKCdTaG9ydCBVUkwgZm9yIGFsYnVtIG9mIHJlY2VudCBpdGVtcycpKSwKCQlhcnJheSgnY29tbWVudCcgPT4gJHRoaXMtPnRyYW5zbGF0ZSgnUG9wdWxhciBBbGJ1bScpLAoJCSAgICAgICdtYXRjaCcgPT4gYXJyYXkoJ3ZpZXcnID0+ICdkeW5hbWljYWxidW0uUG9wdWxhckFsYnVtJyksCgkJICAgICAgJ3BhdHRlcm4nID0+ICdwb3B1bGFyJywKCQkgICAgICAnaGVscCcgPT4gJHRoaXMtPnRyYW5zbGF0ZSgnU2hvcnQgVVJMIGZvciBhbGJ1bSBvZiBtb3N0IHZpZXdlZCBpdGVtcycpKSwKCQlhcnJheSgnY29tbWVudCcgPT4gJHRoaXMtPnRyYW5zbGF0ZSgnUmFuZG9tIEFsYnVtJyksCgkJICAgICAgJ21hdGNoJyA9PiBhcnJheSgndmlldycgPT4gJ2R5bmFtaWNhbGJ1bS5SYW5kb21BbGJ1bScpLAoJCSAgICAgICdwYXR0ZXJuJyA9PiAncmFuZG9tJywKCQkgICAgICAnaGVscCcgPT4gJHRoaXMtPnRyYW5zbGF0ZSgnU2hvcnQgVVJMIGZvciBhbGJ1bSBvZiByYW5kb20gaXRlbXMnKSksCgkJKTsKICAgIH0KfQo/Pgo=');
expand_1a4a7732a9($outputDir, 'po/GNUmakefile', 'R0FMTEVSWURJUiA/PSAuLi8uLi8uLgpUT09MRElSID89ICQoR0FMTEVSWURJUikvbGliL3Rvb2xzCgppbmNsdWRlICQoVE9PTERJUikvcG8vR05VbWFrZWZpbGUuaW5jCgo=');
expand_1a4a7732a9($outputDir, 'po/strings.raw', 'IyAkSWQ6IHN0cmluZ3MucmF3IDE1NDQ3IDIwMDYtMTItMTMgMTk6MjM6NDVaIG1pbmRsZXNzICQKCi8qIER5bmFtaWNBbGJ1bVNpdGVBZG1pbi5pbmMgKi8KZ2V0dGV4dCgiU2hvdyBkYXRhIGl0ZW1zIG9ubHkiKQpnZXR0ZXh0KCJTaG93IGFsbCBpdGVtcyIpCmdldHRleHQoIlNob3cgYWxidW1zIG9ubHkiKQpnZXR0ZXh0KCImbGFxdW87IGRlZmF1bHQgdGhlbWUgJnJhcXVvOyIpCgovKiBQb3B1bGFyQWxidW0uaW5jICovCmdldHRleHQoIk1vc3QgVmlld2VkIEl0ZW1zIikKZ2V0dGV4dCgiTW9zdCBWaWV3ZWQiKQpnZXR0ZXh0KCJtb3N0IHZpZXdlZCIpCgovKiBSYW5kb21BbGJ1bS5pbmMgKi8KZ2V0dGV4dCgiUmFuZG9tIEl0ZW1zIikKZ2V0dGV4dCgiUmFuZG9tIikKZ2V0dGV4dCgicmFuZG9tIikKCi8qIFVwZGF0ZXNBbGJ1bS5pbmMgKi8KZ2V0dGV4dCgiUmVjZW50IFVwZGF0ZXMiKQpnZXR0ZXh0KCJVcGRhdGVzIikKZ2V0dGV4dCgidXBkYXRlcyIpCgovKiBtb2R1bGUuaW5jICovCmdldHRleHQoIkR5bmFtaWMgQWxidW1zIikKZ2V0dGV4dCgiRHluYW1pYyBhbGJ1bXMgZm9yIG5ld2VzdCwgbW9zdCB2aWV3ZWQgb3IgcmFuZG9tIGl0ZW1zIikKZ2V0dGV4dCgiRGlzcGxheSIpCmdldHRleHQoIlZpZXcgTGF0ZXN0IFVwZGF0ZXMiKQpnZXR0ZXh0KCJWaWV3IFBvcHVsYXIgSXRlbXMiKQpnZXR0ZXh0KCJWaWV3IFJhbmRvbSBJdGVtcyIpCmdldHRleHQoIlVwZGF0ZXMgQWxidW0iKSAvKiBhbHNvIGluOiB0ZW1wbGF0ZXMvRHluYW1pY0FsYnVtU2l0ZUFkbWluLnRwbCAqLwpnZXR0ZXh0KCJTaG9ydCBVUkwgZm9yIGFsYnVtIG9mIHJlY2VudCBpdGVtcyIpCmdldHRleHQoIlBvcHVsYXIgQWxidW0iKSAvKiBhbHNvIGluOiB0ZW1wbGF0ZXMvRHluYW1pY0FsYnVtU2l0ZUFkbWluLnRwbCAqLwpnZXR0ZXh0KCJTaG9ydCBVUkwgZm9yIGFsYnVtIG9mIG1vc3Qgdmlld2VkIGl0ZW1zIikKZ2V0dGV4dCgiUmFuZG9tIEFsYnVtIikgLyogYWxzbyBpbjogdGVtcGxhdGVzL0R5bmFtaWNBbGJ1bVNpdGVBZG1pbi50cGwgKi8KZ2V0dGV4dCgiU2hvcnQgVVJMIGZvciBhbGJ1bSBvZiByYW5kb20gaXRlbXMiKQoKLyogdGVtcGxhdGVzL0R5bmFtaWNBbGJ1bVNpdGVBZG1pbi50cGwgKi8KZ2V0dGV4dCgiRHluYW1pYyBBbGJ1bSBTZXR0aW5ncyIpCmdldHRleHQoIlNldHRpbmdzIHNhdmVkIHN1Y2Nlc3NmdWxseSIpCmdldHRleHQoIlRoZXJlIHdhcyBhIHByb2JsZW0gcHJvY2Vzc2luZyB5b3VyIHJlcXVlc3QuIikKZ2V0dGV4dCgiQWxidW0gc2l6ZXMgYXJlIHRvdGFsIG51bWJlciBvZiBpdGVtcyBpbiB0aGUgZHluYW1pYyBhbGJ1bS4gTnVtYmVyIG9mIGl0ZW1zIHNob3duIHBlciBwYWdlIGlzIGEgdGhlbWUgc2V0dGluZ3MuIEVudGVyIDAgZm9yIHRvdGFsIHNpemUgdG8gZGlzYWJsZSBhIHZpZXcuIFVzZSBVUkwgcmV3cml0ZSBtb2R1bGUgdG8gY3JlYXRlIHNpbXBsZXIgVVJMcyB0byB0aGVzZSB2aWV3cy4iKQpnZXR0ZXh0KCJVUkwiKQpnZXR0ZXh0KCJUb3RhbCBTaXplIikKZ2V0dGV4dCgiRW50ZXIgYSBudW1iZXIiKQpnZXR0ZXh0KCJEZWZhdWx0IikKZ2V0dGV4dCgiT3ZlcnJpZGUgZGVmYXVsdCB3aXRoIHBhcmFtZXRlciAlcz12YWx1ZSB3aGVyZSB2YWx1ZSBpcyAlcywgJXMgb3IgJXMiKQpnZXR0ZXh0KCJEZXNjcmlwdGlvbiIpCmdldHRleHQoIlRleHQgZm9yIHRoZW1lIHRvIGRpc3BsYXkgd2l0aCBhbGwgYWxidW0gb2YgcmVjZW50IGl0ZW1zLiIpCmdldHRleHQoIkxpbmsiKQpnZXR0ZXh0KCJTaG93IExhdGVzdCBVcGRhdGVzIGxpbmsgaW4gZWFjaCBhbGJ1bSIpCmdldHRleHQoIlRleHQgZm9yIHRoZW1lIHRvIGRpc3BsYXkgd2l0aCBhbGwgYWxidW0gb2YgbW9zdCB2aWV3ZWQgaXRlbXMuIikKZ2V0dGV4dCgiU2hvdyBQb3B1bGFyIEl0ZW1zIGxpbmsgaW4gZWFjaCBhbGJ1bSIpCmdldHRleHQoIlRleHQgZm9yIHRoZW1lIHRvIGRpc3BsYXkgd2l0aCBhbGwgYWxidW0gb2YgcmFuZG9tIGl0ZW1zLiIpCmdldHRleHQoIlNob3cgUmFuZG9tIEl0ZW1zIGxpbmsgaW4gZWFjaCBhbGJ1bSIpCmdldHRleHQoIlRoZW1lIikKZ2V0dGV4dCgiU2V0dGluZ3MgZm9yICVzIHRoZW1lIGluIER5bmFtaWMgQWxidW1zIikKZ2V0dGV4dCgiU2F2ZSIpCmdldHRleHQoIlJlc2V0IikK');
expand_1a4a7732a9($outputDir, 'templates/DynamicAlbumSiteAdmin.tpl', 'eyoKICogJFJldmlzaW9uOiAxNTM0MiAkCiAqIElmIHlvdSB3YW50IHRvIGN1c3RvbWl6ZSB0aGlzIGZpbGUsIGRvIG5vdCBlZGl0IGl0IGRpcmVjdGx5IHNpbmNlIGZ1dHVyZSB1cGdyYWRlcwogKiBtYXkgb3ZlcndyaXRlIGl0LiAgSW5zdGVhZCwgY29weSBpdCBpbnRvIGEgbmV3IGRpcmVjdG9yeSBjYWxsZWQgImxvY2FsIiBhbmQgZWRpdCB0aGF0CiAqIHZlcnNpb24uICBHYWxsZXJ5IHdpbGwgbG9vayBmb3IgdGhhdCBmaWxlIGZpcnN0IGFuZCB1c2UgaXQgaWYgaXQgZXhpc3RzLgogKn0KPGRpdiBjbGFzcz0iZ2JCbG9jayBnY0JhY2tncm91bmQxIj4KICA8aDI+IHtnLT50ZXh0IHRleHQ9IkR5bmFtaWMgQWxidW0gU2V0dGluZ3MifSA8L2gyPgo8L2Rpdj4KCntpZiAhZW1wdHkoJHN0YXR1cykgfHwgIWVtcHR5KCRmb3JtLmVycm9yKX0KPGRpdiBjbGFzcz0iZ2JCbG9jayI+CntpZiBpc3NldCgkc3RhdHVzLnNhdmVkKX0KPGgyIGNsYXNzPSJnaVN1Y2Nlc3MiPgogIHtnLT50ZXh0IHRleHQ9IlNldHRpbmdzIHNhdmVkIHN1Y2Nlc3NmdWxseSJ9CjwvaDI+CnsvaWZ9CntpZiAhZW1wdHkoJGZvcm0uZXJyb3IpfQo8aDIgY2xhc3M9ImdpRXJyb3IiPgogIHtnLT50ZXh0IHRleHQ9IlRoZXJlIHdhcyBhIHByb2JsZW0gcHJvY2Vzc2luZyB5b3VyIHJlcXVlc3QuIn0KPC9oMj4Key9pZn0KPC9kaXY+CnsvaWZ9Cgo8ZGl2IGNsYXNzPSJnYkJsb2NrIj4KICA8cCBjbGFzcz0iZ2lEZXNjcmlwdGlvbiI+CiAgICB7Zy0+dGV4dCB0ZXh0PSJBbGJ1bSBzaXplcyBhcmUgdG90YWwgbnVtYmVyIG9mIGl0ZW1zIGluIHRoZSBkeW5hbWljIGFsYnVtLiBOdW1iZXIgb2YgaXRlbXMgc2hvd24gcGVyIHBhZ2UgaXMgYSB0aGVtZSBzZXR0aW5ncy4gRW50ZXIgMCBmb3IgdG90YWwgc2l6ZSB0byBkaXNhYmxlIGEgdmlldy4gVXNlIFVSTCByZXdyaXRlIG1vZHVsZSB0byBjcmVhdGUgc2ltcGxlciBVUkxzIHRvIHRoZXNlIHZpZXdzLiJ9CiAgPC9wPgogIDx0YWJsZSBjbGFzcz0iZ2JEYXRhVGFibGUiPjx0cj4KICAgIDx0ZCBjb2xzcGFuPSIyIj48aDQ+IHtnLT50ZXh0IHRleHQ9IlVwZGF0ZXMgQWxidW0ifSA8L2g0PjwvdGQ+CiAgPC90cj48dHI+CiAgICA8dGQ+CiAgICAgIHtnLT50ZXh0IHRleHQ9IlVSTCJ9CiAgICA8L3RkPjx0ZD4KICAgICAgPGEgaHJlZj0ie2ctPnVybCBhcmcxPSJ2aWV3PWR5bmFtaWNhbGJ1bS5VcGRhdGVzQWxidW0iIGZvcmNlU2Vzc2lvbklkPWZhbHNlfSI+Cgl7Zy0+dXJsIGFyZzE9InZpZXc9ZHluYW1pY2FsYnVtLlVwZGF0ZXNBbGJ1bSIgZm9yY2VGdWxsVXJsPXRydWUgZm9yY2VTZXNzaW9uSWQ9ZmFsc2V9CiAgICAgIDwvYT4KICAgIDwvdGQ+CiAgPC90cj48dHI+CiAgICA8dGQ+CiAgICAgIHtnLT50ZXh0IHRleHQ9IlRvdGFsIFNpemUifQogICAgPC90ZD48dGQ+CiAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBzaXplPSI2IgogICAgICAgbmFtZT0ie2ctPmZvcm1WYXIgdmFyPSJmb3JtW3NpemVfZGF0ZV0ifSIgdmFsdWU9InskZm9ybS5zaXplX2RhdGV9Ii8+CiAgICAgIHtpZiBpc3NldCgkZm9ybS5lcnJvci5zaXplX2RhdGUpfQoJPGRpdiBjbGFzcz0iZ2lFcnJvciI+IHtnLT50ZXh0IHRleHQ9IkVudGVyIGEgbnVtYmVyIn0gPC9kaXY+CiAgICAgIHsvaWZ9CiAgICA8L3RkPgogIDwvdHI+PHRyPgogICAgPHRkPgogICAgICB7Zy0+dGV4dCB0ZXh0PSJEZWZhdWx0In0KICAgIDwvdGQ+PHRkPgogICAgICA8c2VsZWN0IG5hbWU9IntnLT5mb3JtVmFyIHZhcj0iZm9ybVt0eXBlX2RhdGVdIn0iPgoJe2h0bWxfb3B0aW9ucyBvcHRpb25zPSREeW5hbWljQWxidW1TaXRlQWRtaW4uZGVmYXVsdExpc3Qgc2VsZWN0ZWQ9JGZvcm0udHlwZV9kYXRlfQogICAgICA8L3NlbGVjdD4KICAgICAge2NhcHR1cmUgYXNzaWduPSJrZXkifXtnLT5mb3JtVmFyIHZhcj0ic2hvdyJ9ey9jYXB0dXJlfQogICAgICAmbmJzcDsge2ctPnRleHQgdGV4dD0iT3ZlcnJpZGUgZGVmYXVsdCB3aXRoIHBhcmFtZXRlciAlcz12YWx1ZSB3aGVyZSB2YWx1ZSBpcyAlcywgJXMgb3IgJXMiCgkJIGFyZzE9JGtleSBhcmcyPSJkYXRhIiBhcmczPSJhbGwiIGFyZzQ9ImFsYnVtIn0KICAgIDwvdGQ+CiAgPC90ZD48dHI+CiAgICA8dGQgc3R5bGU9InZlcnRpY2FsLWFsaWduOiB0b3A7IHBhZGRpbmctdG9wOiA2cHgiPgogICAgICB7Zy0+dGV4dCB0ZXh0PSJEZXNjcmlwdGlvbiJ9CiAgICA8L3RkPjx0ZD4KICAgICAgPHRleHRhcmVhIHJvd3M9IjMiIGNvbHM9IjYwIgogICAgICAgbmFtZT0ie2ctPmZvcm1WYXIgdmFyPSJmb3JtW2Rlc2NyaXB0aW9uX2RhdGVdIn0iPnskZm9ybS5kZXNjcmlwdGlvbl9kYXRlfTwvdGV4dGFyZWE+CiAgICAgIDxwIGNsYXNzPSJnaURlc2NyaXB0aW9uIj4KCXtnLT50ZXh0IHRleHQ9IlRleHQgZm9yIHRoZW1lIHRvIGRpc3BsYXkgd2l0aCBhbGwgYWxidW0gb2YgcmVjZW50IGl0ZW1zLiJ9CiAgICAgIDwvcD4KICAgIDwvdGQ+CiAgPC90cj48dHI+CiAgICA8dGQ+CiAgICAgIHtnLT50ZXh0IHRleHQ9IkxpbmsifQogICAgPC90ZD48dGQ+CiAgICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9Iml0ZW1MaW5rRGF0ZSJ7aWYgIWVtcHR5KCRmb3JtLml0ZW1saW5rX2RhdGUpfQogICAgICAgY2hlY2tlZD0iY2hlY2tlZCJ7L2lmfSBuYW1lPSJ7Zy0+Zm9ybVZhciB2YXI9ImZvcm1baXRlbWxpbmtfZGF0ZV0ifSIvPgogICAgICA8bGFiZWwgZm9yPSJpdGVtTGlua0RhdGUiPgoJe2ctPnRleHQgdGV4dD0iU2hvdyBMYXRlc3QgVXBkYXRlcyBsaW5rIGluIGVhY2ggYWxidW0ifQogICAgICA8L2xhYmVsPgogICAgPC90ZD4KICA8L3RyPjx0cj4KICAgIDx0ZD4KICA8L3RyPjx0cj4KICAgIDx0ZCBjb2xzcGFuPSIyIj48aDQ+IHtnLT50ZXh0IHRleHQ9IlBvcHVsYXIgQWxidW0ifSA8L2g0PjwvdGQ+CiAgPC90cj48dHI+CiAgICA8dGQ+CiAgICAgIHtnLT50ZXh0IHRleHQ9IlVSTCJ9CiAgICA8L3RkPjx0ZD4KICAgICAgPGEgaHJlZj0ie2ctPnVybCBhcmcxPSJ2aWV3PWR5bmFtaWNhbGJ1bS5Qb3B1bGFyQWxidW0iIGZvcmNlU2Vzc2lvbklkPWZhbHNlfSI+Cgl7Zy0+dXJsIGFyZzE9InZpZXc9ZHluYW1pY2FsYnVtLlBvcHVsYXJBbGJ1bSIgZm9yY2VGdWxsVXJsPXRydWUgZm9yY2VTZXNzaW9uSWQ9ZmFsc2V9CiAgICAgIDwvYT4KICAgIDwvdGQ+CiAgPC90cj48dHI+CiAgICA8dGQ+CiAgICAgIHtnLT50ZXh0IHRleHQ9IlRvdGFsIFNpemUifQogICAgPC90ZD48dGQ+CiAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBzaXplPSI2IgogICAgICAgbmFtZT0ie2ctPmZvcm1WYXIgdmFyPSJmb3JtW3NpemVfdmlld3NdIn0iIHZhbHVlPSJ7JGZvcm0uc2l6ZV92aWV3c30iLz4KICAgICAge2lmIGlzc2V0KCRmb3JtLmVycm9yLnNpemVfdmlld3MpfQoJPGRpdiBjbGFzcz0iZ2lFcnJvciI+IHtnLT50ZXh0IHRleHQ9IkVudGVyIGEgbnVtYmVyIn0gPC9kaXY+CiAgICAgIHsvaWZ9CiAgICA8L3RkPgogIDwvdHI+PHRyPgogICAgPHRkPgogICAgICB7Zy0+dGV4dCB0ZXh0PSJEZWZhdWx0In0KICAgIDwvdGQ+PHRkPgogICAgICA8c2VsZWN0IG5hbWU9IntnLT5mb3JtVmFyIHZhcj0iZm9ybVt0eXBlX3ZpZXdzXSJ9Ij4KCXtodG1sX29wdGlvbnMgb3B0aW9ucz0kRHluYW1pY0FsYnVtU2l0ZUFkbWluLmRlZmF1bHRMaXN0IHNlbGVjdGVkPSRmb3JtLnR5cGVfdmlld3N9CiAgICAgIDwvc2VsZWN0PgogICAgPC90ZD4KICA8L3RyPjx0cj4KICAgIDx0ZCBzdHlsZT0idmVydGljYWwtYWxpZ246IHRvcDsgcGFkZGluZy10b3A6IDZweCI+CiAgICAgIHtnLT50ZXh0IHRleHQ9IkRlc2NyaXB0aW9uIn0KICAgIDwvdGQ+PHRkPgogICAgICA8dGV4dGFyZWEgcm93cz0iMyIgY29scz0iNjAiCiAgICAgICBuYW1lPSJ7Zy0+Zm9ybVZhciB2YXI9ImZvcm1bZGVzY3JpcHRpb25fdmlld3NdIn0iPnskZm9ybS5kZXNjcmlwdGlvbl92aWV3c308L3RleHRhcmVhPgogICAgICA8cCBjbGFzcz0iZ2lEZXNjcmlwdGlvbiI+Cgl7Zy0+dGV4dCB0ZXh0PSJUZXh0IGZvciB0aGVtZSB0byBkaXNwbGF5IHdpdGggYWxsIGFsYnVtIG9mIG1vc3Qgdmlld2VkIGl0ZW1zLiJ9CiAgICAgIDwvcD4KICAgIDwvdGQ+CiAgPC90cj48dHI+CiAgICA8dGQ+CiAgICAgIHtnLT50ZXh0IHRleHQ9IkxpbmsifQogICAgPC90ZD48dGQ+CiAgICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9Iml0ZW1MaW5rVmlld3Mie2lmICFlbXB0eSgkZm9ybS5pdGVtbGlua192aWV3cyl9CiAgICAgICBjaGVja2VkPSJjaGVja2VkInsvaWZ9IG5hbWU9IntnLT5mb3JtVmFyIHZhcj0iZm9ybVtpdGVtbGlua192aWV3c10ifSIvPgogICAgICA8bGFiZWwgZm9yPSJpdGVtTGlua1ZpZXdzIj4KCXtnLT50ZXh0IHRleHQ9IlNob3cgUG9wdWxhciBJdGVtcyBsaW5rIGluIGVhY2ggYWxidW0ifQogICAgICA8L2xhYmVsPgogICAgPC90ZD4KICA8L3RyPjx0cj4KICAgIDx0ZCBjb2xzcGFuPSIyIj48aDQ+IHtnLT50ZXh0IHRleHQ9IlJhbmRvbSBBbGJ1bSJ9IDwvaDQ+PC90ZD4KICA8L3RyPjx0cj4KICAgIDx0ZD4KICAgICAge2ctPnRleHQgdGV4dD0iVVJMIn0KICAgIDwvdGQ+PHRkPgogICAgICA8YSBocmVmPSJ7Zy0+dXJsIGFyZzE9InZpZXc9ZHluYW1pY2FsYnVtLlJhbmRvbUFsYnVtIiBmb3JjZVNlc3Npb25JZD1mYWxzZX0iPgoJe2ctPnVybCBhcmcxPSJ2aWV3PWR5bmFtaWNhbGJ1bS5SYW5kb21BbGJ1bSIgZm9yY2VGdWxsVXJsPXRydWUgZm9yY2VTZXNzaW9uSWQ9ZmFsc2V9CiAgICAgIDwvYT4KICAgIDwvdGQ+CiAgPC90cj48dHI+CiAgICA8dGQ+CiAgICAgIHtnLT50ZXh0IHRleHQ9IlRvdGFsIFNpemUifQogICAgPC90ZD48dGQ+CiAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBzaXplPSI2IgogICAgICAgbmFtZT0ie2ctPmZvcm1WYXIgdmFyPSJmb3JtW3NpemVfcmFuZG9tXSJ9IiB2YWx1ZT0ieyRmb3JtLnNpemVfcmFuZG9tfSIvPgogICAgICB7aWYgaXNzZXQoJGZvcm0uZXJyb3Iuc2l6ZV9yYW5kb20pfQoJPGRpdiBjbGFzcz0iZ2lFcnJvciI+IHtnLT50ZXh0IHRleHQ9IkVudGVyIGEgbnVtYmVyIn0gPC9kaXY+CiAgICAgIHsvaWZ9CiAgICA8L3RkPgogIDwvdHI+PHRyPgogICAgPHRkPgogICAgICB7Zy0+dGV4dCB0ZXh0PSJEZWZhdWx0In0KICAgIDwvdGQ+PHRkPgogICAgICA8c2VsZWN0IG5hbWU9IntnLT5mb3JtVmFyIHZhcj0iZm9ybVt0eXBlX3JhbmRvbV0ifSI+Cgl7aHRtbF9vcHRpb25zIG9wdGlvbnM9JER5bmFtaWNBbGJ1bVNpdGVBZG1pbi5kZWZhdWx0TGlzdCBzZWxlY3RlZD0kZm9ybS50eXBlX3JhbmRvbX0KICAgICAgPC9zZWxlY3Q+CiAgICA8L3RkPgogIDwvdHI+PHRyPgogICAgPHRkIHN0eWxlPSJ2ZXJ0aWNhbC1hbGlnbjogdG9wOyBwYWRkaW5nLXRvcDogNnB4Ij4KICAgICAge2ctPnRleHQgdGV4dD0iRGVzY3JpcHRpb24ifQogICAgPC90ZD48dGQ+CiAgICAgIDx0ZXh0YXJlYSByb3dzPSIzIiBjb2xzPSI2MCIKICAgICAgIG5hbWU9IntnLT5mb3JtVmFyIHZhcj0iZm9ybVtkZXNjcmlwdGlvbl9yYW5kb21dIn0iPnskZm9ybS5kZXNjcmlwdGlvbl9yYW5kb219PC90ZXh0YXJlYT4KICAgICAgPHAgY2xhc3M9ImdpRGVzY3JpcHRpb24iPgoJe2ctPnRleHQgdGV4dD0iVGV4dCBmb3IgdGhlbWUgdG8gZGlzcGxheSB3aXRoIGFsbCBhbGJ1bSBvZiByYW5kb20gaXRlbXMuIn0KICAgICAgPC9wPgogICAgPC90ZD4KICA8L3RyPjx0cj4KICAgIDx0ZD4KICAgICAge2ctPnRleHQgdGV4dD0iTGluayJ9CiAgICA8L3RkPjx0ZD4KICAgICAgPGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0iaXRlbUxpbmtSYW5kb20ie2lmICFlbXB0eSgkZm9ybS5pdGVtbGlua19yYW5kb20pfQogICAgICAgY2hlY2tlZD0iY2hlY2tlZCJ7L2lmfSBuYW1lPSJ7Zy0+Zm9ybVZhciB2YXI9ImZvcm1baXRlbWxpbmtfcmFuZG9tXSJ9Ii8+CiAgICAgIDxsYWJlbCBmb3I9Iml0ZW1MaW5rUmFuZG9tIj4KCXtnLT50ZXh0IHRleHQ9IlNob3cgUmFuZG9tIEl0ZW1zIGxpbmsgaW4gZWFjaCBhbGJ1bSJ9CiAgICAgIDwvbGFiZWw+CiAgICA8L3RkPgogIDwvdHI+PC90YWJsZT4KPC9kaXY+Cgp7Y2FwdHVyZSBhc3NpZ249Im1lc3NhZ2UifQogIHtnLT50ZXh0IHRleHQ9IlRoZW1lIn0gJm5ic3A7ICZuYnNwOyAmbmJzcDsKICA8c2VsZWN0IG5hbWU9IntnLT5mb3JtVmFyIHZhcj0iZm9ybVt0aGVtZUlkXSJ9Ij4KICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kRHluYW1pY0FsYnVtU2l0ZUFkbWluLnRoZW1lTGlzdCBzZWxlY3RlZD0kZm9ybS50aGVtZUlkfQogIDwvc2VsZWN0PgogIDxici8+PGJyLz4KICB7Zy0+dGV4dCB0ZXh0PSJTZXR0aW5ncyBmb3IgJXMgdGhlbWUgaW4gRHluYW1pYyBBbGJ1bXMiIGFyZzE9JFRoZW1lU2V0dGluZ3NGb3JtLnRoZW1lLm5hbWV9CnsvY2FwdHVyZX0Ke2ctPmJsb2NrIHR5cGU9ImNvcmUuVGhlbWVTZXR0aW5nc0Zvcm0iIGNsYXNzPSJnYkJsb2NrIiBtZXNzYWdlPSRtZXNzYWdlIGZvcm1JZD0ic2l0ZUFkbWluRm9ybSJ9Cgo8ZGl2IGNsYXNzPSJnYkJsb2NrIGdjQmFja2dyb3VuZDEiPgogIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IntnLT5mb3JtVmFyIHZhcj0iZm9ybVtjdXJyZW50VGhlbWVJZF0ifSIgdmFsdWU9InskZm9ybS50aGVtZUlkfSIvPgogIDxpbnB1dCB0eXBlPSJzdWJtaXQiIGNsYXNzPSJpbnB1dFR5cGVTdWJtaXQiCiAgIG5hbWU9IntnLT5mb3JtVmFyIHZhcj0iZm9ybVthY3Rpb25dW3NhdmVdIn0iIHZhbHVlPSJ7Zy0+dGV4dCB0ZXh0PSJTYXZlIn0iLz4KICA8aW5wdXQgdHlwZT0ic3VibWl0IiBjbGFzcz0iaW5wdXRUeXBlU3VibWl0IgogICBuYW1lPSJ7Zy0+Zm9ybVZhciB2YXI9ImZvcm1bYWN0aW9uXVtyZXNldF0ifSIgdmFsdWU9IntnLT50ZXh0IHRleHQ9IlJlc2V0In0iLz4KPC9kaXY+Cg==');
}
function expand_1a4a7732a9($outputDir, $relativePath, $data) {
$fd = fopen($outputDir . $relativePath, 'w');
fwrite($fd, base64_decode($data));
fclose($fd);
}
$unpackFunction = "unpack_1a4a7732a9";
?>

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists