Sindbad~EG File Manager
<?php
function unpack_cd7434ef68($outputDir) {
/* Create directory structure. */
@mkdir($outputDir . 'locale');
@mkdir($outputDir . 'po');
@mkdir($outputDir . 'templates');
/* Recreate individual files. */
expand_cd7434ef68($outputDir, 'DownloadRegistryFile.inc', 'PD9waHAKLyoKICogR2FsbGVyeSAtIGEgd2ViIGJhc2VkIHBob3RvIGFsYnVtIHZpZXdlciBhbmQgZWRpdG9yCiAqIENvcHlyaWdodCAoQykgMjAwMC0yMDA3IEJoYXJhdCBNZWRpcmF0dGEKICoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0CiAqIHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAogKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KICovCgovKioKICogR2VuZXJhdGVzIHRoZSBXaW5kb3dzIHJlZ2lzdHJ5IGZpbGUgZm9yIHdlYiBwdWJsaXNoaW5nLgogKiBUaGlzIGlzIGFuIGltbWVkaWF0ZSB2aWV3IHdoaWNoIGdlbmVyYXRlcyB0aGUgcmVnaXN0cnkgZmlsZSBmb3IgV2luZG93cy4gIFRoZSBpbmZvcm1hdGlvbiBpbgogKiB0aGUgcmVnaXN0cnkgZmlsZSBpbmZvcm1zIFdpbmRvd3MgdGhhdCB0aGVyZSBpcyBhIHdlYiBzZXJ2aWNlIHdoaWNoIHN1cHBvcnRzIHVwbG9hZGluZyBtZWRpYS4KICoKICogQHBhY2thZ2UgUHVibGlzaFhwCiAqIEBhdXRob3IgVGltb3RoeSBXZWJiIDx0aXdlYmJAY2lzY28uY29tPgogKiBAdmVyc2lvbiAkUmV2aXNpb246IDE1NTEzICQKICovCmNsYXNzIERvd25sb2FkUmVnaXN0cnlGaWxlVmlldyBleHRlbmRzIEdhbGxlcnlWaWV3IHsKCiAgICAvKioKICAgICAqIEBzZWUgR2FsbGVyeVZpZXc6OmlzSW1tZWRpYXRlCiAgICAgKi8KICAgIGZ1bmN0aW9uIGlzSW1tZWRpYXRlKCkgewoJcmV0dXJuIHRydWU7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZW5kZXJzIHRoZSBXaW5kb3dzIHJlZ2lzdHJ5IGZpbGUuCiAgICAgKiBHZW5lcmF0ZXMgdGhlIHJlZ2lzdHJ5IGZpbGUgdG8gYmUgZG93bmxvYWRlZCBhbmQgaW5zdGFsbGVkIG9uIFdpbmRvd3Mgc3lzdGVtcy4KICAgICAqIFRoZSBnYWxsZXJ5IG5hbWUgYW5kIGhvc3RuYW1lIGFyZSB1c2VkIGFzIHBhcnQgb2YgdGhlIHdlYiBzZXJ2aWNlIGZvciBwdWJsaXNoaW5nLgogICAgICoKICAgICAqIEBzZWUgR2FsbGVyeVZpZXc6OnJlbmRlckltbWVkaWF0ZQogICAgICovCiAgICBmdW5jdGlvbiByZW5kZXJJbW1lZGlhdGUoJHN0YXR1cywgJGVycm9yKSB7CglnbG9iYWwgJGdhbGxlcnk7CgoJLyogR2V0IHRoZSBkb21haW4gbmFtZSAqLwoJJHVybEdlbmVyYXRvciA9JiAkZ2FsbGVyeS0+Z2V0VXJsR2VuZXJhdG9yKCk7CgkkZG9tYWluID0gJHVybEdlbmVyYXRvci0+Z2V0SG9zdE5hbWUoKTsKCgkvKiBHZXQgdGhlIG5hbWUgb2YgdGhlIGdhbGxlcnkgKi8KCWxpc3QgKCRyZXQsICRyb290SWQpID0gR2FsbGVyeUNvcmVBcGk6OmdldFBsdWdpblBhcmFtZXRlcignbW9kdWxlJywgJ2NvcmUnLCAnaWQucm9vdEFsYnVtJyk7CglpZiAoJHJldCkgewoJICAgIHJldHVybiAkcmV0OwoJfQoJbGlzdCAoJHJldCwgJHJvb3QpID0gR2FsbGVyeUNvcmVBcGk6OmxvYWRFbnRpdGllc0J5SWQoJHJvb3RJZCk7CglpZiAoJHJldCkgewoJICAgIHJldHVybiAkcmV0OwoJfQoJJHRpdGxlID0gJHJvb3QtPmdldFRpdGxlKCk7CgoJLyogU2V0dXAgdGhlIGhlYWRlcnMgZm9yIHRoZSBSZWdpc3RyeSBmaWxlICovCgloZWFkZXIoIkNhY2hlLWNvbnRyb2w6IHByaXZhdGUiKTsKCWhlYWRlcigiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iKTsKCWhlYWRlcigiQ29udGVudC1EaXNwb3NpdGlvbjogZmlsZW5hbWU9aW5zdGFsbF9yZWdpc3RyeS5yZWciKTsKCglHYWxsZXJ5Q29yZUFwaTo6cmVxdWlyZU9uY2UoJ21vZHVsZXMvY29yZS9jbGFzc2VzL0dhbGxlcnlUZW1wbGF0ZS5jbGFzcycpOwoJJHRlbXBsYXRlID0gbmV3IEdhbGxlcnlUZW1wbGF0ZShkaXJuYW1lKF9fRklMRV9fKSAuICcvLi4vLi4nKTsKCSR0ZW1wbGF0ZS0+c2V0VmFyaWFibGUoJ2wxMERvbWFpbicsICdtb2R1bGVzX3B1Ymxpc2h4cCcpOwoKCSREb3dubG9hZFJlZ2lzdHJ5RmlsZVsndGl0bGUnXSA9ICR0aXRsZTsKCSREb3dubG9hZFJlZ2lzdHJ5RmlsZVsnZG9tYWluJ10gPSAkZG9tYWluOwoJJHRlbXBsYXRlLT5zZXRWYXJpYWJsZSgnRG93bmxvYWRSZWdpc3RyeUZpbGUnLCAkRG93bmxvYWRSZWdpc3RyeUZpbGUpOwoJbGlzdCAoJHJldCwgJHJlZ2lzdHJ5RmlsZUNvbnRlbnRzKSA9CgkgICAgJHRlbXBsYXRlLT5mZXRjaCgnZ2FsbGVyeTptb2R1bGVzL3B1Ymxpc2h4cC90ZW1wbGF0ZXMvRG93bmxvYWRSZWdpc3RyeUZpbGUudHBsJyk7CglpZiAoJHJldCkgewoJICAgIHJldHVybiAkcmV0OwoJfQoKCS8qIE1ha2Ugc3VyZSB3ZSB1c2UgV2luZG93cyBsaW5lIGVuZGluZ3MgKi8KCSRyZWdpc3RyeUZpbGVDb250ZW50cyA9IHByZWdfcmVwbGFjZSgiLyg/PCFccilcbi8iLCAiXHJcbiIsICRyZWdpc3RyeUZpbGVDb250ZW50cyk7CgoJLyogQ29udmVydCB0aGUgdGV4dCB0byB0aGUgV2luZG93cyBjaGFyYWN0ZXIgc2V0IGNvcnJlc3BvbmRpbmcgdG8gdGhlIHJlcXVlc3RlZCBsb2NhbGUgKi8KCSRjbGllbnRXaW5kb3dzTG9jYWxlID0gJHRoaXMtPl9nZXRDaGFyc2V0RnJvbVJlcXVlc3QoKTsKCXByaW50IEdhbGxlcnlDb3JlQXBpOjpjb252ZXJ0RnJvbVV0ZjgoJHJlZ2lzdHJ5RmlsZUNvbnRlbnRzLCAkY2xpZW50V2luZG93c0xvY2FsZSk7CgoJcmV0dXJuIG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBNYXBzIHRoZSBsb2NhbGUgb2YgdGhlIEhUVFAgcmVxdWVzdCB0byBhIGNvcnJlc3BvbmRpbmcgV2luZG93cyBjaGFyYWN0ZXIgc2V0LgogICAgICogVG8gZGV0ZWN0IHRoZSBsb2NhbGUsIHRoZSBmb2xsb3dpbmcgcHJlY2VkZW5jZSBpcyBhcHBsaWVkOgogICAgICogIDEpIFByZWZlcnJlZCBsb2NhbGUgb2YgdGhlIHVzZXIgKGNoZWNrIHNlc3Npb24gbG9jYWxlKSB1bmxlc3MgaXQgaXMgZXF1YWwgdG8gdGhlIGRlZmF1bHQKICAgICAqICAyKSBIVFRQX0FDQ0VQVF9MQU5HVUFHRSBoZWFkZXIgKHdoYXQgZG9lcyB0aGUgc3lzdGVtIG9mIHRoZSBjbGllbnQgYWNjZXB0KQogICAgICogIDMpIEdhbGxlcnkgc2l0ZS13aWRlIGRlZmF1bHQgbG9jYWxlIChtaWdodCBub3QgYmUgc3VwcG9ydGVkIGJ5IHN5c3RlbSBvZiB0aGUgY2xpZW50KQogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nIEEgTWljcm9zb2Z0IFdpbmRvd3MgY2hhcmFjdGVyIHNldAogICAgICovCiAgICBmdW5jdGlvbiBfZ2V0Q2hhcnNldEZyb21SZXF1ZXN0KCkgewoJZ2xvYmFsICRnYWxsZXJ5OwoKCWxpc3QgKCRyZXQsICRsYW5ndWFnZUNvZGUpID0gJGdhbGxlcnktPmdldEFjdGl2ZUxhbmd1YWdlQ29kZSgpOwoJaWYgKCRyZXQpIHsKCSAgICBpZiAoJGdhbGxlcnktPmdldERlYnVnKCkpIHsKCQkkZ2FsbGVyeS0+ZGVidWcoJ3B1Ymxpc2h4cC5Eb3dubG9hZFJlZ2lzdHJ5RmlsZSwgZmFpbGVkIHRvIGdldCB0aGUgc2Vzc2lvbiAnIC4KCQkJCSdsYW5ndWFnZS4gRXJyb3I6ICcgLiAkcmV0LT5nZXRBc1RleHQoKSk7CgkgICAgfQoJICAgICRsYW5ndWFnZUNvZGUgPSAnJzsKCX0KCglsaXN0ICgkcmV0LCAkZGVmYXVsdExhbmd1YWdlQ29kZSkgPQoJCUdhbGxlcnlDb3JlQXBpOjpnZXRQbHVnaW5QYXJhbWV0ZXIoJ21vZHVsZScsICdjb3JlJywgJ2RlZmF1bHQubGFuZ3VhZ2UnKTsKCWlmICgkcmV0KSB7CgkgICAgaWYgKCRnYWxsZXJ5LT5nZXREZWJ1ZygpKSB7CgkJJGdhbGxlcnktPmRlYnVnKCdwdWJsaXNoeHAuRG93bmxvYWRSZWdpc3RyeUZpbGUsIGZhaWxlZCB0byBnZXQgdGhlIGRlZmF1bHQgJyAuCgkJCQknbGFuZ3VhZ2UuIEVycm9yOiAnIC4gJHJldC0+Z2V0QXNUZXh0KCkpOwoJICAgIH0KCSAgICAkZGVmYXVsdExhbmd1YWdlQ29kZSA9ICdlbl9VUyc7Cgl9CgkkbGFuZ3VhZ2VDb2RlID0gZW1wdHkoJGxhbmd1YWdlQ29kZSkgPyAkZGVmYXVsdExhbmd1YWdlQ29kZSA6ICRsYW5ndWFnZUNvZGU7CgoJaWYgKCRsYW5ndWFnZUNvZGUgPT0gJGRlZmF1bHRMYW5ndWFnZUNvZGUpIHsKCSAgICAkaHR0cEFjY2VwdExhbmd1YWdlID0gR2FsbGVyeVV0aWxpdGllczo6Z2V0U2VydmVyVmFyKCdIVFRQX0FDQ0VQVF9MQU5HVUFHRScpOwoJICAgIGlmICghZW1wdHkoJGh0dHBBY2NlcHRMYW5ndWFnZSkpIHsKCQkkY29kZXMgPSBleHBsb2RlKCcsJywgJGh0dHBBY2NlcHRMYW5ndWFnZSk7CgkJJGxhbmd1YWdlQ29kZSA9ICRjb2Rlc1swXTsKCSAgICB9Cgl9CgoJbGlzdCAoJGxhbmd1YWdlLCAkY291bnRyeSkgPSBwcmVnX3NwbGl0KCcvWy1fXS8nLCAkbGFuZ3VhZ2VDb2RlIC4gJ18nKTsKCgkvKgoJICogTG9va3VwIHRhYmxlOiBsYW5ndWFnZSBjb2RlIHRvIFdpbmRvd3MgQ29kZSBQYWdlLiBTb3VyY2U6CgkgKiBodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vZ2xvYmFsZGV2L3JlZmVyZW5jZS9vc2xvY3ZlcnNpb24ubXNweAoJICovCglzd2l0Y2ggKHRyaW0oR2FsbGVyeVV0aWxpdGllczo6c3RyVG9Mb3dlcigoc3RyaW5nKSRsYW5ndWFnZSkpKSB7CgkgICAgY2FzZSAndGgnOiAvKiBUaGFpICovCgkJJGNvZGVQYWdlID0gODc0OwoJCWJyZWFrOwoJICAgIGNhc2UgJ2phJzogLyogSmFwYW5lc2UgKi8KCQkkY29kZVBhZ2UgPSA5MzI7CgkJYnJlYWs7CgkgICAgY2FzZSAnemgnOiAvKiBDaGluZXNlICovCgkJJGNvdW50cnkgPSB0cmltKEdhbGxlcnlVdGlsaXRpZXM6OnN0clRvTG93ZXIoKHN0cmluZykkY291bnRyeSkpOwoJCWlmIChpbl9hcnJheSgkY291bnRyeSwgYXJyYXkoJ2hhbnMnLCAnY24nKSkpIHsKCQkgICAgJGNvZGVQYWdlID0gOTM2OyAvKiBDaGluZXNlIChTaW1wbGlmaWVkKSAqLwoJCX0gZWxzZSB7CgkJICAgICRjb2RlUGFnZSA9IDk1MDsgLyogQ2hpbmVzZSAoVHJhZGl0aW9uYWwpICovCgkJfQoJCWJyZWFrOyAKCSAgICBjYXNlICdrbyc6IC8qIEtvcmVhbiAqLwoJCSRjb2RlUGFnZSA9IDk0OTsKCQlicmVhazsKCSAgICBjYXNlICdocic6IC8qIENyb2F0aWFuICovCgkgICAgY2FzZSAnY3MnOiAvKiBDemVjaCAqLwoJICAgIGNhc2UgJ2h1JzogLyogSHVuZ2FyaWFuICovCgkgICAgY2FzZSAncG8nOiAvKiBQb2xpc2ggKi8KCSAgICBjYXNlICdybyc6IC8qIFJvbWFuaWFuICovCgkgICAgY2FzZSAnc2snOiAvKiBTbG92YWsgKi8KCSAgICBjYXNlICdzbCc6IC8qIFNsb3ZlbmlhbiAqLwoJCSRjb2RlUGFnZSA9IDEyNTA7CgkJYnJlYWs7CgkgICAgY2FzZSAnYmcnOiAvKiBCdWxnYXJpYW4gKi8KCSAgICBjYXNlICdydSc6IC8qIFJ1c3NpYW4gKi8KCQkkY29kZVBhZ2UgPSAxMjUxOwoJCWJyZWFrOwoJICAgIGNhc2UgJ2NhJzogLyogQ2F0YWxhbiAqLwoJICAgIGNhc2UgJ2RhJzogLyogRGFuaXNoICovCgkgICAgY2FzZSAnbmwnOiAvKiBEdXRjaCAqLwoJICAgIGNhc2UgJ2VuJzogLyogRW5nbGlzaCAqLwoJICAgIGNhc2UgJ2ZpJzogLyogRmlubmlzaCAqLwoJICAgIGNhc2UgJ2ZyJzogLyogRnJlbmNoICovCgkgICAgY2FzZSAnZGUnOiAvKiBHZXJtYW4gKi8KCSAgICBjYXNlICdpdCc6IC8qIEl0YWxpYW4gKi8KCSAgICBjYXNlICdubyc6IC8qIE5vcndlZ2lhbiAqLwoJICAgIGNhc2UgJ3B0JzogLyogUG9ydHVndWVzZSAqLwoJICAgIGNhc2UgJ2VzJzogLyogU3BhbmlzaCAqLwoJICAgIGNhc2UgJ3N2JzogLyogU3dlZGlzaCAqLwoJCSRjb2RlUGFnZSA9IDEyNTI7CgkJYnJlYWs7CgkgICAgY2FzZSAnZWwnOiAvKiBHcmVlayAqLwoJCSRjb2RlUGFnZSA9IDEyNTM7CgkJYnJlYWs7CgkgICAgY2FzZSAndHInOiAvKiBUdXJraXNoICovCgkJJGNvZGVQYWdlID0gMTI1NDsKCQlicmVhazsKCSAgICBjYXNlICdoZSc6IC8qIEhlYnJldyAqLwoJICAgIGNhc2UgJ2l3JzogLyogSGVicmV3IChsZWdhY3kpICovCgkJJGNvZGVQYWdlID0gMTI1NTsKCQlicmVhazsKCSAgICBjYXNlICdhcic6IC8qIEFyYWJpYyAqLwoJCSRjb2RlUGFnZSA9IDEyNTY7CgkJYnJlYWs7CgkgICAgY2FzZSAnZXQnOiAvKiBFc3RvbmlhbiAqLwoJICAgIGNhc2UgJ2x2JzogLyogTGF0dmlhbiAqLwoJICAgIGNhc2UgJ2x0JzogLyogTGl0aHVhbmlhbiAqLwoJCSRjb2RlUGFnZSA9IDEyNTc7CgkJYnJlYWs7CgkgICAgZGVmYXVsdDogJGNvZGVQYWdlID0gMTI1MjsKCX0KCXJldHVybiAnV2luZG93cy0nIC4gJGNvZGVQYWdlOwogICAgfQp9Cj8+Cg==');
expand_cd7434ef68($outputDir, 'ItemAddPublishXp.inc', 'PD9waHAKLyoKICogR2FsbGVyeSAtIGEgd2ViIGJhc2VkIHBob3RvIGFsYnVtIHZpZXdlciBhbmQgZWRpdG9yCiAqIENvcHlyaWdodCAoQykgMjAwMC0yMDA3IEJoYXJhdCBNZWRpcmF0dGEKICoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0CiAqIHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAogKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KICovCgovKioKICogUHJvdmlkZSB0aGUgdXNlciB0aGUgb3B0aW9uIG9mIGRvd25sb2FkaW5nIHRoZSBXaW5kb3dzIHJlZ2lzdHJ5IGZpbGUuCiAqIFRoaXMgcGx1Z2luIGlzIG9ubHkgcmVzcG9uc2libGUgZm9yIGJ1aWxkaW5nIHRoZSBjb25maWcgZmlsZSB0byBhbGxvdyB0aGUgdXNlciB0byByZWdpc3RlcgogKiBHYWxsZXJ5IGFzIGEgcHVibGlzaGVyIGluIFhQLCBpdCBkb2Vzbid0IGFjdHVhbGx5IGRvIGFueSBvZiB0aGUgcHJvY2Vzc2luZyBvZiBpbWFnZXMuCiAqCiAqIEBwYWNrYWdlIFB1Ymxpc2hYcAogKiBAc3VicGFja2FnZSBVc2VySW50ZXJmYWNlCiAqIEBhdXRob3IgVGltb3RoeSBXZWJiIDx0aXdlYmJAY2lzY28uY29tPgogKiBAdmVyc2lvbiAkUmV2aXNpb246IDE1NTEzICQKICovCmNsYXNzIEl0ZW1BZGRQdWJsaXNoWHAgZXh0ZW5kcyBJdGVtQWRkUGx1Z2luIHsKCiAgICAvKioKICAgICAqIEBzZWUgSXRlbUFkZFBsdWdpbjo6bG9hZFRlbXBsYXRlCiAgICAgKi8KICAgIGZ1bmN0aW9uIGxvYWRUZW1wbGF0ZSgmJHRlbXBsYXRlLCAmJGZvcm0sICRpdGVtKSB7CglyZXR1cm4gYXJyYXkobnVsbCwgJ21vZHVsZXMvcHVibGlzaHhwL3RlbXBsYXRlcy9JdGVtQWRkUHVibGlzaFhwLnRwbCcsICdtb2R1bGVzX3B1Ymxpc2h4cCcpOwogICAgfQoKICAgIC8qKgogICAgICogQHNlZSBJdGVtQWRkUGx1Z2luOjpnZXRUaXRsZQogICAgICovCiAgICBmdW5jdGlvbiBnZXRUaXRsZSgpIHsKCWxpc3QgKCRyZXQsICRtb2R1bGUpID0gR2FsbGVyeUNvcmVBcGk6OmxvYWRQbHVnaW4oJ21vZHVsZScsICdwdWJsaXNoeHAnKTsKCWlmICgkcmV0KSB7CgkgICAgcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJfQoJcmV0dXJuIGFycmF5KG51bGwsICRtb2R1bGUtPnRyYW5zbGF0ZSgnV2luZG93cyBYUCcpKTsKICAgIH0KfQo/Pgo=');
expand_cd7434ef68($outputDir, 'Login.inc', 'PD9waHAKLyoKICogR2FsbGVyeSAtIGEgd2ViIGJhc2VkIHBob3RvIGFsYnVtIHZpZXdlciBhbmQgZWRpdG9yCiAqIENvcHlyaWdodCAoQykgMjAwMC0yMDA3IEJoYXJhdCBNZWRpcmF0dGEKICoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0CiAqIHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAogKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KICovCgovKioKICogQ29udHJvbGxlciB0byBpbml0aWFsaXplIHRoZSBwcm9jZXNzIG9mIHB1Ymxpc2hpbmcgcGhvdG9zLgogKiBBbGxvd3MgdGhlIHVzZXIgdG8gbG9nIGluIHRvIEdhbGxlcnkgdG8gYmVnaW4gdGhlIHByb2Nlc3Mgb2YgdXBsb2FkaW5nCiAqIHBob3RvcyB0aHJvdWdoIFdpbmRvd3MgWFAncyBwdWJsaXNoaW5nIG1lY2hhbmlzbS4KICoKICogQHBhY2thZ2UgUHVibGlzaFhwCiAqIEBzdWJwYWNrYWdlIFVzZXJJbnRlcmZhY2UKICogQGF1dGhvciBUaW1vdGh5IFdlYmIgPHRpd2ViYkBjaXNjby5jb20+CiAqIEB2ZXJzaW9uICRSZXZpc2lvbjogMTU1MTMgJAogKi8KCkdhbGxlcnlDb3JlQXBpOjpyZXF1aXJlT25jZSgnbW9kdWxlcy9wdWJsaXNoeHAvUHVibGlzaFhwTG9naW4uaW5jJyk7CgovKioKICogT2Jzb2xldGUuICBUaGlzIGNsYXNzIGlzIGtlcHQgYXJvdW5kIHRvIG1haW50YWluIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHdpdGggb2xkZXIgdmVyc2lvbnMgb2YKICogdGhlIFB1Ymxpc2hYcCBtb2R1bGUsIHNpbmNlIFdpbmRvd3MgZGVza3RvcHMgd2lsbCBoYXZlIHZpZXc9cHVibGlzaHhwLkxvZ2luIGluIHRoZWlyIHJlZ2lzdHJ5LgogKi8KY2xhc3MgTG9naW5WaWV3IGV4dGVuZHMgUHVibGlzaFhwTG9naW5WaWV3IHsKfQo/Pgo=');
expand_cd7434ef68($outputDir, 'MANIFEST', 'IyAkUmV2aXNpb246IDE2MDQxICQKIyBGaWxlIGNyYzMyIGNyYzMyKGNybGYpIHNpemUgc2l6ZShjcmxmKSAgb3IgIFIgRmlsZQptb2R1bGVzL3B1Ymxpc2h4cC9Eb3dubG9hZFJlZ2lzdHJ5RmlsZS5pbmMJMzMzMjUxMTcJMjgzMDcwNTU0CTY2MjUJNjgzMQptb2R1bGVzL3B1Ymxpc2h4cC9JdGVtQWRkUHVibGlzaFhwLmluYwkzNjQ4MzA3NjMJMTI3NTYyNTU4MwkxNzU0CTE4MDUKbW9kdWxlcy9wdWJsaXNoeHAvTG9naW4uaW5jCTE1NTg3MTU3OTcJMTM2MzYzNTk1NQkxNDg3CTE1MjcKbW9kdWxlcy9wdWJsaXNoeHAvTmV3QWxidW0uaW5jCTExNjA5Njc2NzgJMzU4MzkwNDQwOQk0NjQ0CTQ3ODUKbW9kdWxlcy9wdWJsaXNoeHAvT3B0aW9ucy5pbmMJMzQ5Mjg2MjY5OAkxNjg1MzEzNTg0CTQzNzUJNDUwMgptb2R1bGVzL3B1Ymxpc2h4cC9QdWJsaXNoWHBMb2dpbi5pbmMJNDE1MjQyODk4MQkxNTM4Njk2MzkxCTM5NzUJNDEwNAptb2R1bGVzL3B1Ymxpc2h4cC9TZWxlY3RBbGJ1bS5pbmMJMjE5NDY1Njg0MgkxMjEwMjcxNzA4CTQ0NTYJNDU5MAptb2R1bGVzL3B1Ymxpc2h4cC9VcGxvYWRJdGVtcy5pbmMJMjgzMzE4NDYxOAk2NzEyMzI0MTgJOTMyNAk5NjE4Cm1vZHVsZXMvcHVibGlzaHhwL1VwbG9hZGVkSXRlbS5pbmMJNDA5MDM1MjQ3Mgk2MDQ4MDg1MAkxNzMxCTE3NzQKbW9kdWxlcy9wdWJsaXNoeHAvbW9kdWxlLmluYwk4ODk0NDI1NDkJMTc2NDIzOTY5NAkyMTIzCTIxODIKbW9kdWxlcy9wdWJsaXNoeHAvdGVtcGxhdGVzL0Rvd25sb2FkUmVnaXN0cnlGaWxlLnRwbAkzODc1MDY4OTgyCTMzNjc5NTc3ODkJODI3CTg0MAptb2R1bGVzL3B1Ymxpc2h4cC90ZW1wbGF0ZXMvSGVhZC50cGwJNTM3MDcxNzUzCTk2NzkxNTg2CTE5MzMJMjAxMgptb2R1bGVzL3B1Ymxpc2h4cC90ZW1wbGF0ZXMvSXRlbUFkZFB1Ymxpc2hYcC50cGwJNzM2MDA3Mzk5CTI2NTQ4ODQ3NAkxNjgwCTE3MDQKbW9kdWxlcy9wdWJsaXNoeHAvdGVtcGxhdGVzL05ld0FsYnVtLnRwbAk2NjU1MTU3MgkxMjg3OTc0ODg1CTQwMDYJNDEyNQptb2R1bGVzL3B1Ymxpc2h4cC90ZW1wbGF0ZXMvT3B0aW9ucy50cGwJMzM0Njc2OTI3CTIyNzM1ODM2MjkJMTkyMwkxOTY1Cm1vZHVsZXMvcHVibGlzaHhwL3RlbXBsYXRlcy9QdWJsaXNoWHBMb2dpbi50cGwJMjc3NDY0MDMyOQkzNzI2MzA5MTAyCTIwMTYJMjA3NAptb2R1bGVzL3B1Ymxpc2h4cC90ZW1wbGF0ZXMvU2VsZWN0QWxidW0udHBsCTExNTQ3MTA3NzIJNDA2NTE1OTgzCTIwNzQJMjEyNAptb2R1bGVzL3B1Ymxpc2h4cC90ZW1wbGF0ZXMvVXBsb2FkSXRlbXMudHBsCTQyMTkxODkyODAJMjI5ODcwODQxCTI4MjIJMjg5MQo=');
expand_cd7434ef68($outputDir, 'NewAlbum.inc', 'PD9waHAKLyoKICogR2FsbGVyeSAtIGEgd2ViIGJhc2VkIHBob3RvIGFsYnVtIHZpZXdlciBhbmQgZWRpdG9yCiAqIENvcHlyaWdodCAoQykgMjAwMC0yMDA3IEJoYXJhdCBNZWRpcmF0dGEKICoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0CiAqIHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAogKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KICovCgovKioKICogQ29udHJvbGxlciB0byBjcmVhdGUgYSBuZXcgYWxidW0gZm9yIHRoZSBwaG90b3MuCiAqIEFsbG93cyB0aGUgdXNlciB0byBjcmVhdGUgYSBuZXcgYWxidW0gdW5kZXJuZWF0aCB0aGUgcGFyZW50IHRoZXkgc2VsZWN0ZWQuICBUaGUgdXNlciBjYW4KICogc3BlY2lmeSB0aGUgbmFtZSwgdGl0bGUsIGFuZCBzdW1tYXJ5IGZvciB0aGUgYWxidW0uICBUaGUgdXNlciBpcyByZWRpcmVjdGVkIGJhY2sgdG8gdGhlIHNlbGVjdAogKiBhbGJ1bSBwYWdlIGFmdGVyIGNyZWF0aW5nIHRoZSBhbGJ1bSB3aXRoIHRoZSBuZXdseSBjcmVhdGVkIGFsYnVtIGF1dG9tYXRpY2FsbHkgc2VsZWN0ZWQuCiAqCiAqIEBwYWNrYWdlIFB1Ymxpc2hYcAogKiBAc3VicGFja2FnZSBVc2VySW50ZXJmYWNlCiAqIEBhdXRob3IgVGltb3RoeSBXZWJiIDx0aXdlYmJAY2lzY28uY29tPgogKiBAdmVyc2lvbiAkUmV2aXNpb246IDE1NTEzICQKICovCmNsYXNzIE5ld0FsYnVtQ29udHJvbGxlciBleHRlbmRzIEdhbGxlcnlDb250cm9sbGVyIHsKCiAgICAvKioKICAgICAqIEBzZWUgR2FsbGVyeUNvbnRyb2xsZXI6OmhhbmRsZVJlcXVlc3QKICAgICAqLwogICAgZnVuY3Rpb24gaGFuZGxlUmVxdWVzdCgmJGZvcm0pIHsKCWdsb2JhbCAkZ2FsbGVyeTsKCSRwbGF0Zm9ybSA9JiAkZ2FsbGVyeS0+Z2V0UGxhdGZvcm0oKTsKCSRyZXN1bHRzID0gJGVycm9yID0gJHN0YXR1cyA9IGFycmF5KCk7CgoJaWYgKGlzc2V0KCRmb3JtWydhY3Rpb24nXVsnbmV3QWxidW0nXSkpIHsKCSAgICAvKiBOb3cgY2hlY2sgdGhlIHZhbHVlIG9mIG5hbWUgYW5kIHRpdGxlICovCgkgICAgaWYgKGVtcHR5KCRmb3JtWydwYXRoQ29tcG9uZW50J10pKSB7CgkJJGVycm9yW10gPSAnZm9ybVtlcnJvcl1bcGF0aENvbXBvbmVudF1bbWlzc2luZ10nOwoJICAgIH0gZWxzZSBpZiAoISRwbGF0Zm9ybS0+aXNMZWdhbFBhdGhDb21wb25lbnQoJGZvcm1bJ3BhdGhDb21wb25lbnQnXSkpIHsKCQkkZXJyb3JbXSA9ICdmb3JtW2Vycm9yXVtwYXRoQ29tcG9uZW50XVtpbnZhbGlkXSc7CgkgICAgfQoJICAgIGlmIChlbXB0eSgkZm9ybVsndGl0bGUnXSkpIHsKCQkkZXJyb3JbXSA9ICdmb3JtW2Vycm9yXVt0aXRsZV1bbWlzc2luZ10nOwoJICAgIH0KCSAgICBpZiAoZW1wdHkoJGVycm9yKSkgewoJCWxpc3QgKCRyZXQsICRuZXdBbGJ1bSkgPSBHYWxsZXJ5Q29yZUFwaTo6Y3JlYXRlQWxidW0oCgkJICAgICRmb3JtWydwYXJlbnRJZCddLCAkZm9ybVsncGF0aENvbXBvbmVudCddLCAkZm9ybVsndGl0bGUnXSwKCQkgICAgJGZvcm1bJ3N1bW1hcnknXSwgJGZvcm1bJ2Rlc2NyaXB0aW9uJ10sIG51bGwpOwoJCWlmICgkcmV0KSB7CgkJICAgIHJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCQl9CgkJaWYgKGVtcHR5KCRlcnJvcikpIHsKCQkgICAgLyogR2l2ZSB0aGUgY3JlYXRvciBhbGwgcGVybWlzc2lvbnMgb24gdGhlIG5ldyBhbGJ1bSAqLwoJCSAgICAkcmV0ID0gR2FsbGVyeUNvcmVBcGk6OmFkZFVzZXJQZXJtaXNzaW9uKAoJCQkkbmV3QWxidW0tPmdldElkKCksICRuZXdBbGJ1bS0+Z2V0T3duZXJJZCgpLCAnY29yZS5hbGwnLCBmYWxzZSk7CgkJICAgIGlmICgkcmV0KSB7CgkJCXJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCQkgICAgfQoJCSAgICAkcmVkaXJlY3RbJ3ZpZXcnXSA9ICdwdWJsaXNoeHAuU2VsZWN0QWxidW0nOwoJCSAgICAkcmVkaXJlY3RbJ2FsYnVtSWQnXSA9ICRuZXdBbGJ1bS0+Z2V0SWQoKTsKCQl9CgkgICAgfQoJfQoKCWlmICghZW1wdHkoJHJlZGlyZWN0KSkgewoJICAgICRyZXN1bHRzWydyZWRpcmVjdCddID0gJHJlZGlyZWN0OwoJfSBlbHNlIHsKCSAgICAkcmVzdWx0c1snZGVsZWdhdGUnXVsndmlldyddID0gJ3B1Ymxpc2h4cC5OZXdBbGJ1bSc7Cgl9CgkkcmVzdWx0c1snc3RhdHVzJ10gPSAkc3RhdHVzOwoJJHJlc3VsdHNbJ2Vycm9yJ10gPSAkZXJyb3I7CglyZXR1cm4gYXJyYXkobnVsbCwgJHJlc3VsdHMpOwogICAgfQp9CgovKioKICogVmlldyB0byBjcmVhdGUgYSBuZXcgYWxidW0gZm9yIHRoZSBwaG90b3MuCiAqIEFsbG93cyB0aGUgdXNlciB0byBjcmVhdGUgYSBuZXcgYWxidW0gdW5kZXJuZWF0aCB0aGUgcGFyZW50IHRoZXkgc2VsZWN0ZWQuICBUaGUgdXNlciBjYW4KICogc3BlY2lmeSB0aGUgbmFtZSwgdGl0bGUsIGFuZCBzdW1tYXJ5IGZvciB0aGUgYWxidW0uICBUaGUgdXNlciBpcyByZWRpcmVjdGVkIGJhY2sgdG8gdGhlIHNlbGVjdAogKiBhbGJ1bSBwYWdlIGFmdGVyIGNyZWF0aW5nIHRoZSBhbGJ1bSB3aXRoIHRoZSBuZXdseSBjcmVhdGVkIGFsYnVtIGF1dG9tYXRpY2FsbHkgc2VsZWN0ZWQuCiAqLwpjbGFzcyBOZXdBbGJ1bVZpZXcgZXh0ZW5kcyBHYWxsZXJ5VmlldyB7CiAgICAvKioKICAgICAqIEBzZWUgR2FsbGVyeVZpZXc6bG9hZFRlbXBsYXRlCiAgICAgKi8KICAgIGZ1bmN0aW9uIGxvYWRUZW1wbGF0ZSgmJHRlbXBsYXRlLCAmJGZvcm0pIHsKCWdsb2JhbCAkZ2FsbGVyeTsKCWlmICgkZm9ybVsnZm9ybU5hbWUnXSAhPSAnTmV3QWxidW0nKSB7CgkgICAgJGZvcm1bJ2Zvcm1OYW1lJ10gPSAnTmV3QWxidW0nOwoJICAgICRwYXJlbnRJZCA9IEdhbGxlcnlVdGlsaXRpZXM6OmdldFJlcXVlc3RWYXJpYWJsZXMoJ3BhcmVudElkJyk7CgkgICAgaWYgKGVtcHR5KCRwYXJlbnRJZCkpIHsKCQlyZXR1cm4gYXJyYXkoR2FsbGVyeUNvcmVBcGk6OmVycm9yKEVSUk9SX0JBRF9QQVJBTUVURVIpLCBudWxsKTsKCSAgICB9CgoJICAgICRmb3JtWydwYXJlbnRJZCddID0gJHBhcmVudElkOwoJICAgICRmb3JtWydwYXRoQ29tcG9uZW50J10gPSAnJzsKCSAgICAkZm9ybVsndGl0bGUnXSA9ICcnOwoJICAgICRmb3JtWydzdW1tYXJ5J10gPSAnJzsKCSAgICAkZm9ybVsna2V5d29yZHMnXSA9ICcnOwoJICAgICRmb3JtWydkZXNjcmlwdGlvbiddID0gJyc7Cgl9CgoJJHJldCA9IEdhbGxlcnlDb3JlQXBpOjphc3NlcnRIYXNJdGVtUGVybWlzc2lvbigkZm9ybVsncGFyZW50SWQnXSwgJ2NvcmUuYWRkQWxidW1JdGVtJyk7CglpZiAoJHJldCkgewoJICAgIHJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCX0KCglsaXN0ICgkcmV0LCAkcGFyZW50KSA9IEdhbGxlcnlDb3JlQXBpOjpsb2FkRW50aXRpZXNCeUlkKCRmb3JtWydwYXJlbnRJZCddKTsKCWlmICgkcmV0KSB7CgkgICAgcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJfQoKCS8qIExvYWQgdGhlIGl0ZW0ncyBwYXJlbnRzICovCglsaXN0ICgkcmV0LCAkcGFyZW50cykgPSBHYWxsZXJ5Q29yZUFwaTo6ZmV0Y2hQYXJlbnRzKCRwYXJlbnQsICdjb3JlLnZpZXcnLCB0cnVlKTsKCWlmICgkcmV0KSB7CgkgICAgcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJfQoJZm9yICgkaSA9IDA7ICRpIDwgc2l6ZW9mKCRwYXJlbnRzKTsgJGkgKyspIHsKCSAgICAkcGFyZW50c1skaV0gPSAoYXJyYXkpJHBhcmVudHNbJGldOwoJfQoJJHBhcmVudHNbXSA9IChhcnJheSkkcGFyZW50OwoKCSROZXdBbGJ1bSA9IGFycmF5KCk7CgkkTmV3QWxidW1bJ3BhcmVudHMnXSA9ICRwYXJlbnRzOwoKCSR0ZW1wbGF0ZS0+c2V0VmFyaWFibGUoJ05ld0FsYnVtJywgJE5ld0FsYnVtKTsKCSR0ZW1wbGF0ZS0+c2V0VmFyaWFibGUoJ2NvbnRyb2xsZXInLCAncHVibGlzaHhwLk5ld0FsYnVtJyk7CgkkdGVtcGxhdGUtPmhlYWQoJ21vZHVsZXMvcHVibGlzaHhwL3RlbXBsYXRlcy9IZWFkLnRwbCcpOwoKCXJldHVybiBhcnJheShudWxsLCBhcnJheSgnYm9keScgPT4gJ21vZHVsZXMvcHVibGlzaHhwL3RlbXBsYXRlcy9OZXdBbGJ1bS50cGwnLAoJCQkJICd1c2VGdWxsU2NyZWVuJyA9PiB0cnVlKSk7CiAgICB9Cn0KPz4K');
expand_cd7434ef68($outputDir, 'Options.inc', 'PD9waHAKLyoKICogR2FsbGVyeSAtIGEgd2ViIGJhc2VkIHBob3RvIGFsYnVtIHZpZXdlciBhbmQgZWRpdG9yCiAqIENvcHlyaWdodCAoQykgMjAwMC0yMDA3IEJoYXJhdCBNZWRpcmF0dGEKICoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0CiAqIHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAogKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KICovCgovKioKICogQ29udHJvbGxlciB0byBzZXQgb3B0aW9ucyBvbiBob3cgcGhvdG9zIGFyZSB1cGxvYWRlZC4KICogQWxsb3dzIHRoZSB1c2VyIHRvIHNwZWNpZnkgb3B0aW9ucyB0aGF0IGNvbnRyb2wgaG93IHRoZSBwaG90b3MgYXJlIGNyZWF0ZWQgd2l0aGluIEdhbGxlcnkuCiAqIFRoZSB0d28gb3B0aW9ucyBzdXBwb3J0ZWQgYXJlIGZvciB3aGV0aGVyIHRoZSBmaWxlIGV4dGVuc2lvbiBzaG91bGQgYmUgdXNlZCBpbiB0aGUgdGl0bGUKICogYW5kIGlmIHRoZSBjYXB0aW9ucyBzaG91bGQgYmUgc2V0IGF1dG9tYXRpY2FsbHkuCiAqCiAqIEBwYWNrYWdlIFB1Ymxpc2hYcAogKiBAc3VicGFja2FnZSBVc2VySW50ZXJmYWNlCiAqIEBhdXRob3IgVGltb3RoeSBXZWJiIDx0aXdlYmJAY2lzY28uY29tPgogKiBAdmVyc2lvbiAkUmV2aXNpb246IDE1NTEzICQKICovCmNsYXNzIE9wdGlvbnNDb250cm9sbGVyIGV4dGVuZHMgR2FsbGVyeUNvbnRyb2xsZXIgewoKICAgIC8qKgogICAgICogQHNlZSBHYWxsZXJ5Q29udHJvbGxlcjo6aGFuZGxlUmVxdWVzdAogICAgICovCiAgICBmdW5jdGlvbiBoYW5kbGVSZXF1ZXN0KCRmb3JtKSB7CglnbG9iYWwgJGdhbGxlcnk7CgkkcmVzdWx0cyA9IGFycmF5KCk7CglpZiAoaXNzZXQoJGZvcm1bJ2FjdGlvbiddWydzZXRPcHRpb25zJ10pKSB7CgkgICAgLyogTm8gZm9ybSBwcm9jZXNzaW5nL3ZhbGlkYXRpb24gcmVxdWlyZWQgc28ganVzdCBjb250aW51ZSB0aGUgbmV4dCBwYWdlICovCgkgICAgJHJlc3VsdHNbJ3JlZGlyZWN0J11bJ3ZpZXcnXSA9ICdwdWJsaXNoeHAuVXBsb2FkSXRlbXMnOwoJICAgICRyZXN1bHRzWydyZWRpcmVjdCddWydzdHJpcEV4dGVuc2lvbnMnXSA9IGlzc2V0KCRmb3JtWydzdHJpcEV4dGVuc2lvbnMnXSk7CgkgICAgJHJlc3VsdHNbJ3JlZGlyZWN0J11bJ3NldENhcHRpb25zJ10gPSBpc3NldCgkZm9ybVsnc2V0Q2FwdGlvbnMnXSk7CgkgICAgJHJlc3VsdHNbJ3JlZGlyZWN0J11bJ2FsYnVtSWQnXSA9ICRmb3JtWydhbGJ1bUlkJ107CgoJICAgIC8qCgkgICAgICogQW55IG9wdGlvbnMgc2V0IGJ5IEl0ZW1BZGRPcHRpb25zIGFsc28gbmVlZCB0byBnZXQgcGFzc2VkIGZvcndhcmQgYnV0CgkgICAgICogd2UgZG9uJ3Qga25vdyB3aGF0IG9yIGhvdyBjb21wbGV4IHRoZXkgYXJlLCBzbyBsZXQncyB0YWtlIHRoZSBlYXN5IHJvdXRlIG9mIHN0b3JpbmcKCSAgICAgKiB0aGUgZm9ybSBpbiB0aGUgc2Vzc2lvbiBmb3IgbGF0ZXIuCgkgICAgICovCgkgICAgJHNlc3Npb24gPSYgJGdhbGxlcnktPmdldFNlc3Npb24oKTsKCSAgICAkc2Vzc2lvbi0+cHV0KCdwdWJsaXNoeHAuZXh0cmFPcHRpb25zRm9ybScsIHNlcmlhbGl6ZSgkZm9ybSkpOwoJfSBlbHNlIHsKCSAgICAkcmVzdWx0c1snZGVsZWdhdGUnXVsndmlldyddID0gJ3B1Ymxpc2h4cC5PcHRpb25zJzsKCX0KCSRyZXN1bHRzWydzdGF0dXMnXSA9IGFycmF5KCk7CgkkcmVzdWx0c1snZXJyb3InXSA9IGFycmF5KCk7CglyZXR1cm4gYXJyYXkobnVsbCwgJHJlc3VsdHMpOwogICAgfQp9CgovKioKICogVmlldyB0byBzZXQgb3B0aW9ucyBvbiBob3cgcGhvdG9zIGFyZSB1cGxvYWRlZC4KICogQWxsb3dzIHRoZSB1c2VyIHRvIHNwZWNpZnkgb3B0aW9ucyB0aGF0IGNvbnRyb2wgaG93IHRoZSBwaG90b3MgYXJlIGNyZWF0ZWQgd2l0aGluIEdhbGxlcnkuCiAqIFRoZSB0d28gb3B0aW9ucyBzdXBwb3J0ZWQgYXJlIGZvciB3aGV0aGVyIHRoZSBmaWxlIGV4dGVuc2lvbiBzaG91bGQgYmUgdXNlZCBpbiB0aGUgdGl0bGUKICogYW5kIGlmIHRoZSBjYXB0aW9ucyBzaG91bGQgYmUgc2V0IGF1dG9tYXRpY2FsbHkuCiAqLwpjbGFzcyBPcHRpb25zVmlldyBleHRlbmRzIEdhbGxlcnlWaWV3IHsKICAgIC8qKgogICAgICogQHNlZSBHYWxsZXJ5Vmlldzo6bG9hZFRlbXBsYXRlCiAgICAgKi8KICAgIGZ1bmN0aW9uIGxvYWRUZW1wbGF0ZSgmJHRlbXBsYXRlLCAmJGZvcm0pIHsKCWdsb2JhbCAkZ2FsbGVyeTsKCWlmICgkZm9ybVsnZm9ybU5hbWUnXSAhPSAnT3B0aW9ucycpIHsKCSAgICAkZm9ybVsnZm9ybU5hbWUnXSA9ICdPcHRpb25zJzsKCgkgICAgbGlzdCAoJGZvcm1bJ2FsYnVtSWQnXSwgJGZvcm1bJ3N0cmlwRXh0ZW5zaW9ucyddLCAkZm9ybVsnc2V0Q2FwdGlvbnMnXSkgPQoJCUdhbGxlcnlVdGlsaXRpZXM6OmdldFJlcXVlc3RWYXJpYWJsZXMoJ2FsYnVtSWQnLCAnc3RyaXBFeHRlbnNpb25zJywgJ3NldENhcHRpb25zJyk7CgoJICAgIC8qIFN0cmlwIGV4dGVuc2lvbnMgZGVmYXVsdHMgdG8gdHJ1ZSwgaWYgdGhlcmUgd2FzIG5vIHF1ZXJ5IHBhcmFtZXRlciBmb3IgaXQgKi8KCSAgICBpZiAoJGZvcm1bJ3N0cmlwRXh0ZW5zaW9ucyddID09IG51bGwpIHsKCQkkZm9ybVsnc3RyaXBFeHRlbnNpb25zJ10gPSB0cnVlOwoJICAgIH0KCgkgICAgaWYgKGVtcHR5KCRmb3JtWydhbGJ1bUlkJ10pKSB7CgkJcmV0dXJuIGFycmF5KEdhbGxlcnlDb3JlQXBpOjplcnJvcihFUlJPUl9CQURfUEFSQU1FVEVSKSwgbnVsbCk7CgkgICAgfQoJfQoKCS8qIEdldCBhbGwgdGhlIGFkZCBvcHRpb25zICovCglHYWxsZXJ5Q29yZUFwaTo6cmVxdWlyZU9uY2UoJ21vZHVsZXMvY29yZS9JdGVtQWRkLmluYycpOwoJaWYgKGlzc2V0KCR0aGlzLT5fb3B0aW9uSW5zdGFuY2VzKSkgewoJICAgICRvcHRpb25JbnN0YW5jZXMgPSAkdGhpcy0+X29wdGlvbkluc3RhbmNlczsKCX0gZWxzZSB7CgkgICAgbGlzdCAoJHJldCwgJG9wdGlvbkluc3RhbmNlcykgPSBJdGVtQWRkT3B0aW9uOjpnZXRBbGxBZGRPcHRpb25zKCk7CgkgICAgaWYgKCRyZXQpIHsKCQlyZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7CgkgICAgfQoJfQoKCS8qIE5vdyBsZXQgYWxsIG9wdGlvbnMgbG9hZCB0aGVpciB0ZW1wbGF0ZSBkYXRhICovCglsaXN0ICgkcmV0LCAkaXRlbSkgPSBHYWxsZXJ5Q29yZUFwaTo6bG9hZEVudGl0aWVzQnlJZCgkZm9ybVsnYWxidW1JZCddKTsKCWlmICgkcmV0KSB7CgkgICAgcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJfQoKCSRPcHRpb25zWydvcHRpb25zJ10gPSBhcnJheSgpOwoJZm9yZWFjaCAoJG9wdGlvbkluc3RhbmNlcyBhcyAkb3B0aW9uKSB7CgkgICAgbGlzdCAoJHJldCwgJGVudHJ5WydmaWxlJ10sICRlbnRyeVsnbDEwRG9tYWluJ10pID0KCQkkb3B0aW9uLT5sb2FkVGVtcGxhdGUoJHRlbXBsYXRlLCAkZm9ybSwgJGl0ZW0pOwoJICAgIGlmICgkcmV0KSB7CgkJcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJICAgIH0KCSAgICBpZiAoIWVtcHR5KCRlbnRyeVsnZmlsZSddKSkgewoJCSRPcHRpb25zWydvcHRpb25zJ11bXSA9ICRlbnRyeTsKCSAgICB9Cgl9CgoJJHRlbXBsYXRlLT5zZXRWYXJpYWJsZSgnT3B0aW9ucycsICRPcHRpb25zKTsKCSR0ZW1wbGF0ZS0+aGVhZCgnbW9kdWxlcy9wdWJsaXNoeHAvdGVtcGxhdGVzL0hlYWQudHBsJyk7CgoJcmV0dXJuIGFycmF5KG51bGwsIGFycmF5KCdib2R5JyA9PiAnbW9kdWxlcy9wdWJsaXNoeHAvdGVtcGxhdGVzL09wdGlvbnMudHBsJywKCQkJCSAndXNlRnVsbFNjcmVlbicgPT4gdHJ1ZSkpOwogICAgfQp9Cj8+Cg==');
expand_cd7434ef68($outputDir, 'PublishXpLogin.inc', 'PD9waHAKLyoKICogR2FsbGVyeSAtIGEgd2ViIGJhc2VkIHBob3RvIGFsYnVtIHZpZXdlciBhbmQgZWRpdG9yCiAqIENvcHlyaWdodCAoQykgMjAwMC0yMDA3IEJoYXJhdCBNZWRpcmF0dGEKICoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0CiAqIHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAogKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KICovCgovKioKICogQ29udHJvbGxlciB0byBpbml0aWFsaXplIHRoZSBwcm9jZXNzIG9mIHB1Ymxpc2hpbmcgcGhvdG9zLgogKiBBbGxvd3MgdGhlIHVzZXIgdG8gbG9nIGluIHRvIEdhbGxlcnkgdG8gYmVnaW4gdGhlIHByb2Nlc3Mgb2YgdXBsb2FkaW5nCiAqIHBob3RvcyB0aHJvdWdoIFdpbmRvd3MgWFAncyBwdWJsaXNoaW5nIG1lY2hhbmlzbS4KICoKICogQHBhY2thZ2UgUHVibGlzaFhwCiAqIEBzdWJwYWNrYWdlIFVzZXJJbnRlcmZhY2UKICogQGF1dGhvciBUaW1vdGh5IFdlYmIgPHRpd2ViYkBjaXNjby5jb20+CiAqIEB2ZXJzaW9uICRSZXZpc2lvbjogMTU3NTkgJAogKi8KY2xhc3MgUHVibGlzaFhwTG9naW5Db250cm9sbGVyIGV4dGVuZHMgR2FsbGVyeUNvbnRyb2xsZXIgewoKICAgIC8qKgogICAgICogQHNlZSBHYWxsZXJ5Q29udHJvbGxlcjo6aGFuZGxlUmVxdWVzdAogICAgICovCiAgICBmdW5jdGlvbiBoYW5kbGVSZXF1ZXN0KCRmb3JtKSB7CglnbG9iYWwgJGdhbGxlcnk7CgkkcmVzdWx0cyA9ICRlcnJvciA9IGFycmF5KCk7CglpZiAoaXNzZXQoJGZvcm1bJ2FjdGlvbiddWydsb2dpbiddKSkgewoJICAgIGlmIChlbXB0eSgkZm9ybVsndXNlck5hbWUnXSkpIHsKCQkkZXJyb3JbXSA9ICdmb3JtW2Vycm9yXVt1c2VyTmFtZV1bbWlzc2luZ10nOwoJICAgIH0KCgkgICAgaWYgKGVtcHR5KCRmb3JtWydwYXNzd29yZCddKSkgewoJCSRlcnJvcltdID0gJ2Zvcm1bZXJyb3JdW3Bhc3N3b3JkXVttaXNzaW5nXSc7CgkgICAgfQoKCSAgICBpZiAoZW1wdHkoJGVycm9yKSkgewoJCWxpc3QgKCRyZXQsICRpc0Rpc2FibGVkKSA9IEdhbGxlcnlDb3JlQXBpOjppc0Rpc2FibGVkVXNlcm5hbWUoJGZvcm1bJ3VzZXJOYW1lJ10pOwoJCWlmICgkcmV0KSB7CgkJICAgIHJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCQl9CgkJaWYgKCRpc0Rpc2FibGVkKSB7CgkJICAgICRlcnJvcltdID0gJ2Zvcm1bZXJyb3JdW3VzZXJOYW1lXVtkaXNhYmxlZF0nOwoJCX0KCSAgICB9CgoJICAgIGlmIChlbXB0eSgkZXJyb3IpKSB7CgkJbGlzdCAoJHJldCwgJHVzZXIpID0gR2FsbGVyeUNvcmVBcGk6OmZldGNoVXNlckJ5VXNlcm5hbWUoJGZvcm1bJ3VzZXJOYW1lJ10pOwoJCWlmICgkcmV0ICYmICEoJHJldC0+Z2V0RXJyb3JDb2RlKCkgJiBFUlJPUl9NSVNTSU5HX09CSkVDVCkpIHsKCQkgICAgcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJCX0KCQlpZiAoaXNzZXQoJHVzZXIpICYmICR1c2VyLT5pc0NvcnJlY3RQYXNzd29yZCgkZm9ybVsncGFzc3dvcmQnXSkpIHsKCQkgICAgJGdhbGxlcnktPnNldEFjdGl2ZVVzZXIoJHVzZXIpOwoKCQkgICAgJGV2ZW50ID0gR2FsbGVyeUNvcmVBcGk6Om5ld0V2ZW50KCdHYWxsZXJ5OjpMb2dpbicpOwoJCSAgICAkZXZlbnQtPnNldEVudGl0eSgkdXNlcik7CgkJICAgIGxpc3QgKCRyZXQsICRpZ25vcmVUaGVSZWRpcmVjdCkgPSBHYWxsZXJ5Q29yZUFwaTo6cG9zdEV2ZW50KCRldmVudCk7CgkJICAgIGlmICgkcmV0KSB7CgkJCXJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCQkgICAgfQoKCQkgICAgJHJlc3VsdHNbJ3JlZGlyZWN0J11bJ3ZpZXcnXSA9ICdwdWJsaXNoeHAuU2VsZWN0QWxidW0nOwoJCX0KCSAgICB9CgoJICAgIGlmICghZW1wdHkoJGVycm9yKSAmJiAhZW1wdHkoJGZvcm1bJ3VzZXJOYW1lJ10pKSB7CgkJJGV2ZW50ID0gR2FsbGVyeUNvcmVBcGk6Om5ld0V2ZW50KCdHYWxsZXJ5OjpGYWlsZWRMb2dpbicpOwoJCSRldmVudC0+c2V0RGF0YShhcnJheSgndXNlck5hbWUnID0+ICRmb3JtWyd1c2VyTmFtZSddKSk7CgkJbGlzdCAoJHJldCwgJGlnbm9yZWQpID0gR2FsbGVyeUNvcmVBcGk6OnBvc3RFdmVudCgkZXZlbnQpOwoJCWlmICgkcmV0KSB7CgkJICAgIHJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCQl9CgkgICAgfQoJfQoKCWlmIChlbXB0eSgkcmVzdWx0c1sncmVkaXJlY3QnXSkgJiYgIWlzc2V0KCRyZXN1bHRzWydkZWxlZ2F0ZSddWyd2aWV3J10pKSB7CgkgICAgJHJlc3VsdHNbJ2RlbGVnYXRlJ11bJ3ZpZXcnXSA9ICdwdWJsaXNoeHAuUHVibGlzaFhwTG9naW4nOwoJfQoJJHJlc3VsdHNbJ3N0YXR1cyddID0gYXJyYXkoKTsKCSRyZXN1bHRzWydlcnJvciddID0gJGVycm9yOwoJcmV0dXJuIGFycmF5KG51bGwsICRyZXN1bHRzKTsKICAgIH0KfQoKLyoqCiAqIFZpZXcgdG8gaW5pdGlhbGl6ZSB0aGUgcHJvY2VzcyBvZiBwdWJsaXNoaW5nIHBob3Rvcy4KICogQWxsb3dzIHRoZSB1c2VyIHRvIGxvZyBpbiB0byBHYWxsZXJ5IHRvIGJlZ2luIHRoZSBwcm9jZXNzIG9mIHVwbG9hZGluZwogKiBwaG90b3MgdGhyb3VnaCBXaW5kb3dzIFhQJ3MgcHVibGlzaGluZyBtZWNoYW5pc20uCiAqLwpjbGFzcyBQdWJsaXNoWHBMb2dpblZpZXcgZXh0ZW5kcyBHYWxsZXJ5VmlldyB7CiAgICAvKioKICAgICAqIEBzZWUgR2FsbGVyeVZpZXc6OmxvYWRUZW1wbGF0ZQogICAgICovCiAgICBmdW5jdGlvbiBsb2FkVGVtcGxhdGUoJiR0ZW1wbGF0ZSwgJiRmb3JtKSB7CglnbG9iYWwgJGdhbGxlcnk7CglpZiAoJGZvcm1bJ2Zvcm1OYW1lJ10gIT0gJ1B1Ymxpc2hYcExvZ2luJykgewoJICAgICRmb3JtWyd1c2VyTmFtZSddID0gJyc7CgkgICAgJGZvcm1bJ2Zvcm1OYW1lJ10gPSAnUHVibGlzaFhwTG9naW4nOwoJfQoKCWxpc3QgKCRyZXQsICRpc0Fub255bW91cykgPSBHYWxsZXJ5Q29yZUFwaTo6aXNBbm9ueW1vdXNVc2VyKCk7CglpZiAoJHJldCkgewoJICAgIHJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCX0KCglpZiAoISRpc0Fub255bW91cykgewoJICAgIC8qIE5vIG5lZWQgdG8gbG9nIGluICovCgkgICAgcmV0dXJuIGFycmF5KG51bGwsIGFycmF5KCdyZWRpcmVjdCcgPT4gYXJyYXkoJ3ZpZXcnID0+ICdwdWJsaXNoeHAuU2VsZWN0QWxidW0nKSkpOwoJfQoKCSR0ZW1wbGF0ZS0+c2V0VmFyaWFibGUoJ2NvbnRyb2xsZXInLCAncHVibGlzaHhwLlB1Ymxpc2hYcExvZ2luJyk7CgkkdGVtcGxhdGUtPmhlYWQoJ21vZHVsZXMvcHVibGlzaHhwL3RlbXBsYXRlcy9IZWFkLnRwbCcpOwoKCXJldHVybiBhcnJheShudWxsLCBhcnJheSgnYm9keScgPT4gJ21vZHVsZXMvcHVibGlzaHhwL3RlbXBsYXRlcy9QdWJsaXNoWHBMb2dpbi50cGwnLAoJCQkJICd1c2VGdWxsU2NyZWVuJyA9PiB0cnVlKSk7CiAgICB9Cn0KPz4K');
expand_cd7434ef68($outputDir, 'SelectAlbum.inc', 'PD9waHAKLyoKICogR2FsbGVyeSAtIGEgd2ViIGJhc2VkIHBob3RvIGFsYnVtIHZpZXdlciBhbmQgZWRpdG9yCiAqIENvcHlyaWdodCAoQykgMjAwMC0yMDA3IEJoYXJhdCBNZWRpcmF0dGEKICoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0CiAqIHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAogKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KICovCgovKioKICogQ29udHJvbGxlciB0byBzZWxlY3QgdGhlIGFsYnVtIHRvIGFkZCBwaG90b3MgdG8uCiAqIEFsbG93cyB0aGUgdXNlciB0byBzZWxlY3QgdGhlIGFsYnVtIHRoYXQgc2hvdWxkIGhhdmUgdGhlIHBob3RvcyBhZGRlZCBpbiB0byBpdC4gIEFsc28gbGV0cyB0aGUKICogdXNlciBzZWxlY3QgYSBwYXJlbnQgYWxidW0gYW5kIGdvIHRvIHRoZSBuZXcgYWxidW0gcGFnZSBzaG91bGQgdGhlIHVzZXIgd2lzaCB0byBmaXJzdCBjcmVhdGUgYQogKiBuZXcgYWxidW0uCiAqCiAqIEBwYWNrYWdlIFB1Ymxpc2hYcAogKiBAc3VicGFja2FnZSBVc2VySW50ZXJmYWNlCiAqIEBhdXRob3IgVGltb3RoeSBXZWJiIDx0aXdlYmJAY2lzY28uY29tPgogKiBAdmVyc2lvbiAkUmV2aXNpb246IDE1NTEzICQKICovCmNsYXNzIFNlbGVjdEFsYnVtQ29udHJvbGxlciBleHRlbmRzIEdhbGxlcnlDb250cm9sbGVyIHsKCiAgICAvKioKICAgICAqIEBzZWUgR2FsbGVyeUNvbnRyb2xsZXI6aGFuZGxlUmVxdWVzdAogICAgICovCiAgICBmdW5jdGlvbiBoYW5kbGVSZXF1ZXN0KCRmb3JtKSB7CgkkcmVzdWx0cyA9ICRlcnJvciA9ICRzdGF0dXMgPSBhcnJheSgpOwoKCS8qCgkgKiBXZSBtZXJlbHkgcHJvdmlkZSBhIHJlZGlyZWN0aW9uIHNlcnZpY2UgaGVyZS4gIFBlcm1pc3Npb24gY2hlY2tzIHdpbGwgYmUKCSAqIGhhbmRsZWQgYnkgdGhlIHRhcmdldCB2aWV3cy4KCSAqLwoJaWYgKGlzc2V0KCRmb3JtWydhY3Rpb24nXVsnbmV3QWxidW0nXSkpIHsKCSAgICAvKiBSZWRpcmVjdCB0byB0aGUgbmV3IGFsYnVtIHBhZ2UuICovCgkgICAgaWYgKGlzc2V0KCRmb3JtWydhbGJ1bUlkJ10pKSB7CgkJJHJlZGlyZWN0Wyd2aWV3J10gPSAncHVibGlzaHhwLk5ld0FsYnVtJzsKCQkkcmVkaXJlY3RbJ3BhcmVudElkJ10gPSAkZm9ybVsnYWxidW1JZCddOwoJICAgIH0gZWxzZSB7CgkJJGVycm9yW10gPSAnZm9ybVtlcnJvcl1bYWxidW1JZF1bbWlzc2luZ10nOwoJICAgIH0KCX0gZWxzZSBpZiAoaXNzZXQoJGZvcm1bJ2FjdGlvbiddWydzZWxlY3QnXSkpIHsKCSAgICAvKiBSZWRpcmVjdCB0byB0aGUgb3B0aW9ucyBwYWdlICovCgkgICAgaWYgKGlzc2V0KCRmb3JtWydhbGJ1bUlkJ10pKSB7CgkJJHJlZGlyZWN0Wyd2aWV3J10gPSAncHVibGlzaHhwLk9wdGlvbnMnOwoJCSRyZWRpcmVjdFsnYWxidW1JZCddID0gJGZvcm1bJ2FsYnVtSWQnXTsKCSAgICB9IGVsc2UgewoJCSRlcnJvcltdID0gJ2Zvcm1bZXJyb3JdW2FsYnVtSWRdW21pc3NpbmddJzsKCSAgICB9Cgl9CgoJJHJlc3VsdHNbJ3N0YXR1cyddID0gJHN0YXR1czsKCSRyZXN1bHRzWydlcnJvciddID0gJGVycm9yOwoJaWYgKCFlbXB0eSgkcmVkaXJlY3QpKSB7CgkgICAgJHJlc3VsdHNbJ3JlZGlyZWN0J10gPSAkcmVkaXJlY3Q7Cgl9IGVsc2UgewoJICAgICRyZXN1bHRzWydkZWxlZ2F0ZSddWyd2aWV3J10gPSAncHVibGlzaHhwLlNlbGVjdEFsYnVtJzsKCX0KCXJldHVybiBhcnJheShudWxsLCAkcmVzdWx0cyk7CiAgICB9Cn0KCi8qKgogKiBWaWV3IHRvIHNlbGVjdCB0aGUgYWxidW0gdG8gYWRkIHBob3RvcyB0by4KICogQWxsb3dzIHRoZSB1c2VyIHRvIHNlbGVjdCB0aGUgYWxidW0gdGhhdCBzaG91bGQgaGF2ZSB0aGUgcGhvdG9zIGFkZGVkIGluIHRvIGl0LiAgQWxzbyBsZXRzIHRoZQogKiB1c2VyIHNlbGVjdCBhIHBhcmVudCBhbGJ1bSBhbmQgZ28gdG8gdGhlIG5ldyBhbGJ1bSBwYWdlIHNob3VsZCB0aGUgdXNlciB3aXNoIHRvIGZpcnN0IGNyZWF0ZSBhCiAqIG5ldyBhbGJ1bS4KICovCmNsYXNzIFNlbGVjdEFsYnVtVmlldyBleHRlbmRzIEdhbGxlcnlWaWV3IHsKICAgIC8qKgogICAgICogUHJlcGFyZXMgYW55IGFkZGl0aW9uYWwgZGF0YSBiZWZvcmUgcmVuZGVyaW5nIHRoZSB0ZW1wbGF0ZS4KICAgICAqCiAgICAgKiBAc2VlIEdhbGxlcnlDb250cm9sbGVyOmxvYWRUZW1wbGF0ZQogICAgICovCiAgICBmdW5jdGlvbiBsb2FkVGVtcGxhdGUoJiR0ZW1wbGF0ZSwgJiRmb3JtKSB7CglpZiAoJGZvcm1bJ2Zvcm1OYW1lJ10gIT0gJ1NlbGVjdEFsYnVtJykgewoJICAgICRmb3JtWydmb3JtTmFtZSddID0gJ1NlbGVjdEFsYnVtJzsKCSAgICAkZm9ybVsnYWxidW1JZCddID0gR2FsbGVyeVV0aWxpdGllczo6Z2V0UmVxdWVzdFZhcmlhYmxlcygnYWxidW1JZCcpOwoJfSBlbHNlIHsKCSAgICAvKgoJICAgICAqIEluIGNhc2UgdGhleSBkaWRuJ3Qgc2VsZWN0IGFuIGFsYnVtIGluIHRoZSBwcmlvciBwYWdlICh0aGV5J3JlIGdvaW5nCgkgICAgICogdG8gZ2V0IGFuIGVycm9yIG1lc3NhZ2UsIGJ1dCB3ZSByZXF1aXJlIGZvcm1bYWxidW1JZF0gdG8gYmUgc2V0IGluIHRoZSB0ZW1wbGF0ZSkuCgkgICAgICovCgkgICAgaWYgKCFpc3NldCgkZm9ybVsnYWxidW1JZCddKSkgewoJCSRmb3JtWydhbGJ1bUlkJ10gPSBudWxsOwoJICAgIH0KCX0KCgkvKiBHZXQgaWRzIG9mIGFsbCBhbGwgYWxidW1zIHdoZXJlIHdlIGNhbiBhZGQgbmV3IGRhdGEgaXRlbXMgKi8KCWxpc3QgKCRyZXQsICRhbGJ1bUlkc1snYWRkRGF0YUl0ZW0nXSkgPQoJICAgIEdhbGxlcnlDb3JlQXBpOjpmZXRjaEFsbEl0ZW1JZHMoJ0dhbGxlcnlBbGJ1bUl0ZW0nLCAnY29yZS5hZGREYXRhSXRlbScpOwoJaWYgKCRyZXQpIHsKCSAgICByZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7Cgl9CgoJLyogR2V0IGlkcyBvZiBhbGwgYWxsIGFsYnVtcyB3aGVyZSB3ZSBjYW4gYWRkIG5ldyBhbGJ1bSBpdGVtcyAqLwoJbGlzdCAoJHJldCwgJGFsYnVtSWRzWydhZGRBbGJ1bUl0ZW0nXSkgPQoJICAgIEdhbGxlcnlDb3JlQXBpOjpmZXRjaEFsbEl0ZW1JZHMoJ0dhbGxlcnlBbGJ1bUl0ZW0nLCAnY29yZS5hZGRBbGJ1bUl0ZW0nKTsKCWlmICgkcmV0KSB7CgkgICAgcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJfQoKCS8qIE1lcmdlIHRoZW0gdG9nZXRoZXIgdG8gZ2V0IHRoZSBtYXN0ZXIgbGlzdCBvZiBpZHMgKi8KCSRhbGJ1bUlkc1snYWxsSWRzJ10gPQoJICAgIGFycmF5X3VuaXF1ZShhcnJheV9tZXJnZSgkYWxidW1JZHNbJ2FkZERhdGFJdGVtJ10sICRhbGJ1bUlkc1snYWRkQWxidW1JdGVtJ10pKTsKCgkvKiBMb2FkIGFsbCB0aGUgYWxidW0gZW50aXRpZXMgKi8KCWxpc3QgKCRyZXQsICRhbGJ1bXMpID0gR2FsbGVyeUNvcmVBcGk6OmxvYWRFbnRpdGllc0J5SWQoJGFsYnVtSWRzWydhbGxJZHMnXSk7CglpZiAoJHJldCkgewoJICAgIHJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCX0KCgkkU2VsZWN0QWxidW0gPSBhcnJheSgpOwoJJFNlbGVjdEFsYnVtWydhbGJ1bVRyZWUnXSA9IEdhbGxlcnlVdGlsaXRpZXM6OmNyZWF0ZUFsYnVtVHJlZSgkYWxidW1zKTsKCgkkdGVtcGxhdGUtPnNldFZhcmlhYmxlKCdTZWxlY3RBbGJ1bScsICRTZWxlY3RBbGJ1bSk7CgkkdGVtcGxhdGUtPnNldFZhcmlhYmxlKCdjb250cm9sbGVyJywgJ3B1Ymxpc2h4cC5TZWxlY3RBbGJ1bScpOwoJJHRlbXBsYXRlLT5oZWFkKCdtb2R1bGVzL3B1Ymxpc2h4cC90ZW1wbGF0ZXMvSGVhZC50cGwnKTsKCglyZXR1cm4gYXJyYXkobnVsbCwgYXJyYXkoJ2JvZHknID0+ICdtb2R1bGVzL3B1Ymxpc2h4cC90ZW1wbGF0ZXMvU2VsZWN0QWxidW0udHBsJywKCQkJCSAndXNlRnVsbFNjcmVlbicgPT4gdHJ1ZSkpOwogICAgfQp9Cj8+Cg==');
expand_cd7434ef68($outputDir, 'UploadItems.inc', 'PD9waHAKLyoKICogR2FsbGVyeSAtIGEgd2ViIGJhc2VkIHBob3RvIGFsYnVtIHZpZXdlciBhbmQgZWRpdG9yCiAqIENvcHlyaWdodCAoQykgMjAwMC0yMDA3IEJoYXJhdCBNZWRpcmF0dGEKICoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0CiAqIHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAogKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KICovCgovKioKICogQ29udHJvbGxlciB0byBwcm9jZXNzIHRoZSB1cGxvYWRpbmcgb2YgcGhvdG9zIGZyb20gV2luZG93cyBYUC4KICogRWFjaCBwaG90byBpcyB1cGxvYWRlZCB2aWEgYSBzZXBlcmF0ZSBIVFRQIHJlcXVlc3QuICBUaGUgaW5pdGlhbCByZXNwb25zZSBmcm9tCiAqIHRoaXMgcGFnZSBpcyB0byByZXR1cm4gSmF2YVNjcmlwdCBjb2RlIHRoYXQgaW5zdHJ1Y3RzIFdpbmRvd3MgaG93IHRvIHVwbG9hZAogKiB0aGUgcGhvdG9zLiAgU3Vic2VxdWVudCByZXF1ZXN0cyBmcm9tIFdpbmRvd3MgaW5jbHVkZSB0aGUgcGhvdG8gZGF0YSBhbmQgdGV4dC4KICogVGhpcyBwYWdlIHByb2Nlc3NlcyB0aGUgZGF0YSBhbmQgYXBwbGllcyB0aGUgb3B0aW9ucyB0byBiZSB1c2VkIHdoaWxlIHVwbG9hZGluZy4KICoKICogQHBhY2thZ2UgUHVibGlzaFhwCiAqIEBzdWJwYWNrYWdlIFVzZXJJbnRlcmZhY2UKICogQGF1dGhvciBUaW1vdGh5IFdlYmIgPHRpd2ViYkBjaXNjby5jb20+CiAqIEB2ZXJzaW9uICRSZXZpc2lvbjogMTU1MTMgJAogKi8KY2xhc3MgVXBsb2FkSXRlbXNDb250cm9sbGVyIGV4dGVuZHMgR2FsbGVyeUNvbnRyb2xsZXIgewogICAgLyoqCiAgICAgKiBJdGVtQWRkT3B0aW9uIGluc3RhbmNlcyB0byB1c2Ugd2hlbiBoYW5kbGluZyB0aGlzIHJlcXVlc3QuICBPbmx5IHVzZWQgYnkgdGVzdCBjb2RlLgogICAgICogQHZhciBhcnJheSAob3B0aW9uSWQgPT4gb2JqZWN0IEl0ZW1BZGRPcHRpb24pICRfb3B0aW9uSW5zdGFuY2VzCiAgICAgKiBAYWNjZXNzIHByaXZhdGUKICAgICAqLwogICAgdmFyICRfb3B0aW9uSW5zdGFuY2VzOwoKICAgIC8qKgogICAgICogVGVzdHMgY2FuIHVzZSB0aGlzIG1ldGhvZCB0byBoYXJkd2lyZSBhIHNwZWNpZmljIHNldCBvZiBvcHRpb24gaW5zdGFuY2VzIHRvIHVzZS4KICAgICAqIFRoaXMgYXZvaWRzIHNpdHVhdGlvbnMgd2hlcmUgc29tZSBvZiB0aGUgb3B0aW9uIGluc3RhbmNlcyB3aWxsIGRvIHVucHJlZGljdGFibGUKICAgICAqIHRoaW5ncyBhbmQgZGVyYWlsIHRoZSB0ZXN0cy4KICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgJG9wdGlvbkluc3RhbmNlcyAob3B0aW9uSWQgPT4gSXRlbUFkZE9wdGlvbiwgLi4uKQogICAgICovCiAgICBmdW5jdGlvbiBzZXRPcHRpb25JbnN0YW5jZXMoJG9wdGlvbkluc3RhbmNlcykgewoJJHRoaXMtPl9vcHRpb25JbnN0YW5jZXMgPSAkb3B0aW9uSW5zdGFuY2VzOwogICAgfQoKICAgIC8qKgogICAgICogQHNlZSBHYWxsZXJ5Q29udHJvbGxlcjo6aGFuZGxlUmVxdWVzdAogICAgICovCiAgICBmdW5jdGlvbiBoYW5kbGVSZXF1ZXN0KCRmb3JtKSB7CglnbG9iYWwgJGdhbGxlcnk7CgoJJHJlc3VsdHMgPSAkZXJyb3IgPSAkc3RhdHVzID0gYXJyYXkoKTsKCWlmIChpc3NldCgkZm9ybVsnYWN0aW9uJ11bJ3VwbG9hZEl0ZW0nXSkpIHsKCSAgICAvKiBDaGVjayB0aGUgdXNlciBoYXMgcGVybWlzc2lvbnMgaW4gdGhpcyBhbGJ1bSAqLwoJICAgICRyZXQgPSBHYWxsZXJ5Q29yZUFwaTo6YXNzZXJ0SGFzSXRlbVBlcm1pc3Npb24oJGZvcm1bJ2FsYnVtSWQnXSwgJ2NvcmUuYWRkRGF0YUl0ZW0nKTsKCSAgICBpZiAoJHJldCkgewoJCXJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCSAgICB9CgoJICAgIC8qIEdldCB0aGUgZmlsZSBwYXNzZWQgaW4gdGhpcyBzdWJtaXNzaW9uICovCgkgICAgJGZpbGUgPSBHYWxsZXJ5VXRpbGl0aWVzOjpnZXRGaWxlKCd1c2VyRmlsZScsIGZhbHNlKTsKCSAgICBsaXN0ICgkcmV0LCAkbG9ja0lkc1tdKSA9IEdhbGxlcnlDb3JlQXBpOjphY3F1aXJlUmVhZExvY2soJGZvcm1bJ2FsYnVtSWQnXSk7CgkgICAgaWYgKCRyZXQpIHsKCQlyZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7CgkgICAgfQoKCSAgICBpZiAoZW1wdHkoJGZpbGVbJ25hbWUnXSkpIHsKCQlHYWxsZXJ5Q29yZUFwaTo6cmVsZWFzZUxvY2tzKCRsb2NrSWRzKTsKCQlyZXR1cm4gYXJyYXkoR2FsbGVyeUNvcmVBcGk6OmVycm9yKEVSUk9SX0JBRF9QQVJBTUVURVIpLCBudWxsKTsKCSAgICB9CgoJICAgIC8qIFRoZSBXaW5kb3dzIFdlYiBQdWJsaXNoaW5nIFdpemFyZCBkb2VzIG5vdCBzZW5kIHRoZSBmaWxlIG5hbWUgaW4gVVRGLTggKi8KCSAgICAkc291cmNlRW5jb2RpbmcgPSAkdGhpcy0+X2dldENoYXJzZXRGcm9tUmVxdWVzdCgpOwoJICAgIGlmICgkZ2FsbGVyeS0+Z2V0RGVidWcoKSkgewoJCSRnYWxsZXJ5LT5kZWJ1ZygiU291cmNlIGVuY29kaW5nIGZyb20gV2luZG93cyBjbGllbnQ6ICRzb3VyY2VFbmNvZGluZyIpOwoJICAgIH0KCSAgICAkZmlsZVsnbmFtZSddID0gR2FsbGVyeUNvcmVBcGk6OmNvbnZlcnRUb1V0ZjgoJGZpbGVbJ25hbWUnXSwgJHNvdXJjZUVuY29kaW5nKTsKCSAgICAvKgoJICAgICAqIEdldCB0aGUgbWltZSB0eXBlIGZyb20gdGhlIHVwbG9hZCBpbmZvLiAgSWYgd2UgZG9uJ3QgZ2V0IHVzZWZ1bCBkYXRhIGZyb20gdGhhdAoJICAgICAqIG9yIGl0cyBhIHR5cGUgd2UgZG9uJ3QgcmVjb2duaXplLCB0YWtlIGEgc3dpbmcgYXQgaXQgdXNpbmcgdGhlIGZpbGUgbmFtZS4KCSAgICAgKi8KCSAgICAkbWltZVR5cGUgPSAkZmlsZVsndHlwZSddOwoJICAgIGlmICghZW1wdHkoJG1pbWVUeXBlKSkgewoJCWxpc3QgKCRyZXQsICRleHRzKSA9IEdhbGxlcnlDb3JlQXBpOjpjb252ZXJ0TWltZVRvRXh0ZW5zaW9ucygkbWltZVR5cGUpOwoJCWlmICgkcmV0KSB7CgkJICAgIEdhbGxlcnlDb3JlQXBpOjpyZWxlYXNlTG9ja3MoJGxvY2tJZHMpOwoJCSAgICByZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7CgkJfQoJICAgIH0KCgkgICAgaWYgKGVtcHR5KCRtaW1lVHlwZSkgfHwKCQkgICAgJG1pbWVUeXBlID09ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nIHx8CgkJICAgICRtaW1lVHlwZSA9PSAnYXBwbGljYXRpb24vdW5rbm93bicgfHwKCQkgICAgZW1wdHkoJGV4dHMpKSB7CgkJJGV4dGVuc2lvbiA9IEdhbGxlcnlVdGlsaXRpZXM6OmdldEZpbGVFeHRlbnNpb24oJGZpbGVbJ25hbWUnXSk7CgkJbGlzdCAoJHJldCwgJG1pbWVUeXBlKSA9IEdhbGxlcnlDb3JlQXBpOjpjb252ZXJ0RXh0ZW5zaW9uVG9NaW1lKCRleHRlbnNpb24pOwoJCWlmICgkcmV0KSB7CgkJICAgIEdhbGxlcnlDb3JlQXBpOjpyZWxlYXNlTG9ja3MoJGxvY2tJZHMpOwoJCSAgICByZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7CgkJfQoJICAgIH0KCSAgICAkdGl0bGUgPSBiYXNlbmFtZSgkZmlsZVsnbmFtZSddKTsKCSAgICAkY2FwdGlvbiA9ICcnOwoJICAgICRkZXNjcmlwdGlvbiA9ICcnOwoJICAgIGlmICghZW1wdHkoJGZvcm1bJ3N0cmlwRXh0ZW5zaW9ucyddKSkgewoJCSR0aXRsZSA9IEdhbGxlcnlVdGlsaXRpZXM6OmdldEZpbGVCYXNlKCR0aXRsZSk7CgkgICAgfQoJICAgIGlmICghZW1wdHkoJGZvcm1bJ3NldENhcHRpb25zJ10pKSB7CgkJJGNhcHRpb24gPSAkdGl0bGU7CgkgICAgfQoJICAgIGxpc3QgKCRyZXQsICRuZXdJdGVtKSA9IEdhbGxlcnlDb3JlQXBpOjphZGRJdGVtVG9BbGJ1bSgKCQkkZmlsZVsndG1wX25hbWUnXSwgYmFzZW5hbWUoJGZpbGVbJ25hbWUnXSksICR0aXRsZSwgJGNhcHRpb24sICRkZXNjcmlwdGlvbiwKCQkkbWltZVR5cGUsICRmb3JtWydhbGJ1bUlkJ10pOwoJICAgIGlmICgkcmV0KSB7CgkJR2FsbGVyeUNvcmVBcGk6OnJlbGVhc2VMb2NrcygkbG9ja0lkcyk7CgkJcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJICAgIH0KCSAgICAkcmV0ID0gR2FsbGVyeUNvcmVBcGk6OnJlbGVhc2VMb2NrcygkbG9ja0lkcyk7CgkgICAgaWYgKCRyZXQpIHsKCQlyZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7CgkgICAgfQoKCSAgICBpZiAoaXNzZXQoJHRoaXMtPl9vcHRpb25JbnN0YW5jZXMpKSB7CgkJJG9wdGlvbkluc3RhbmNlcyA9ICR0aGlzLT5fb3B0aW9uSW5zdGFuY2VzOwoJICAgIH0gZWxzZSB7CgkJR2FsbGVyeUNvcmVBcGk6OnJlcXVpcmVPbmNlKCdtb2R1bGVzL2NvcmUvSXRlbUFkZC5pbmMnKTsKCQlsaXN0ICgkcmV0LCAkb3B0aW9uSW5zdGFuY2VzKSA9IEl0ZW1BZGRPcHRpb246OmdldEFsbEFkZE9wdGlvbnMoKTsKCQlpZiAoJHJldCkgewoJCSAgICByZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7CgkJfQoJICAgIH0KCgkgICAgLyogQWxsb3cgSXRlbUFkZE9wdGlvbnMgdG8gcHJvY2VzcyBhZGRlZCBpdGVtKHMpICovCgkgICAgJHNlc3Npb24gPSYgJGdhbGxlcnktPmdldFNlc3Npb24oKTsKCSAgICBpZiAoJHNlc3Npb24tPmV4aXN0cygncHVibGlzaHhwLmV4dHJhT3B0aW9uc0Zvcm0nKSkgewoJCSRleHRyYU9wdGlvbnNGb3JtID0gdW5zZXJpYWxpemUoJHNlc3Npb24tPmdldCgncHVibGlzaHhwLmV4dHJhT3B0aW9uc0Zvcm0nKSk7CgkgICAgfSBlbHNlIHsKCQkkZXh0cmFPcHRpb25zRm9ybSA9IGFycmF5KCk7CgkgICAgfQoJICAgIGZvcmVhY2ggKCRvcHRpb25JbnN0YW5jZXMgYXMgJG9wdGlvbikgewoJCWxpc3QgKCRyZXQsICRvcHRpb25FcnJvcnMsICRvcHRpb25XYXJuaW5ncykgPQoJCSAgICAkb3B0aW9uLT5oYW5kbGVSZXF1ZXN0QWZ0ZXJBZGQoJGV4dHJhT3B0aW9uc0Zvcm0sIGFycmF5KCRuZXdJdGVtKSk7CgkJaWYgKCRyZXQpIHsKCQkgICAgcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJCX0KCgkJLyoKCQkgKiBTd2FsbG93IG9wdGlvbiB3YXJuaW5ncyBhbmQgZXJyb3JzIGZvciBub3cuICBYUCB1cGxvYWRzIHRoZSBpbWFnZXMgb25lIGF0IGEKCQkgKiB0aW1lLCBzbyB0aGUgcmlnaHQgd2F5IHRvIGhhbmRsZSB0aGlzIHdvdWxkIHByb2JhYmx5IGJlIHRvIHN0b3JlIHRoZSByZXN1bHRzCgkJICogaW50byB0aGUgc2Vzc2lvbiBhbmQgdGhlbiByZWRpcmVjdCB0byBhIGZpbmFsIHN0YXR1cyBwYWdlIGFmdGVyIGFsbCBzdWJtaXNzaW9ucwoJCSAqIGFyZSBjb21wbGV0ZS4KCQkgKi8KCSAgICB9CgoJICAgICRyZWRpcmVjdFsndmlldyddID0gJ3B1Ymxpc2h4cC5VcGxvYWRlZEl0ZW0nOwoJfQoKCWlmICghZW1wdHkoJHJlZGlyZWN0KSkgewoJICAgICRyZXN1bHRzWydyZWRpcmVjdCddID0gJHJlZGlyZWN0OwoJfSBlbHNlIHsKCSAgICAkcmVzdWx0c1snZGVsZWdhdGUnXVsndmlldyddID0gJ3B1Ymxpc2h4cC5VcGxvYWRJdGVtcyc7Cgl9CgkkcmVzdWx0c1snc3RhdHVzJ10gPSAkc3RhdHVzOwoJJHJlc3VsdHNbJ2Vycm9yJ10gPSAkZXJyb3I7CglyZXR1cm4gYXJyYXkobnVsbCwgJHJlc3VsdHMpOwogICAgfQoKICAgIC8qKgogICAgICogRGV0ZWN0cyB0aGUgc3BlY2lmaWVkIFdpbmRvd3MgbG9jYWxlIGFuZCB0cmFuc2xhdGVzIGl0IGludG8gYSBjaGFyc2V0LgogICAgICoKICAgICAqIERvY3VtZW50YXRpb246CiAgICAgKiBodHRwOi8vd2luZG93c3Nkay5tc2RuLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9tczY0OTYyNy5hc3B4CiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcgY2hhcnNldCAoTVMgV2luZG93cyBjb2RlIHBhZ2UpCiAgICAgKiBAYWNjZXNzIHByaXZhdGUKICAgICAqLwogICAgZnVuY3Rpb24gX2dldENoYXJzZXRGcm9tUmVxdWVzdCgpIHsKCSRsY2lkID0gKGludClHYWxsZXJ5VXRpbGl0aWVzOjpnZXRSZXF1ZXN0VmFyaWFibGVzTm9QcmVmaXgoJ2xjaWQnKTsKCS8qCgkgKiBMb29rdXAgdGFibGU6IExvY2FsZSBJRCB0byBDb2RlIFBhZ2UuIFNvdXJjZToKCSAqIGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9nbG9iYWxkZXYvcmVmZXJlbmNlL29zbG9jdmVyc2lvbi5tc3B4CgkgKi8KCXN3aXRjaCAoJGxjaWQpIHsKCSAgICBjYXNlIDEwNTQ6IC8qIFRoYWkgKi8KCQkkY29kZVBhZ2UgPSA4NzQ7CgkJYnJlYWs7CgkgICAgY2FzZSAxMDQxOiAvKiBKYXBhbmVzZSAqLwoJCSRjb2RlUGFnZSA9IDkzMjsKCQlicmVhazsKCSAgICBjYXNlIDIwNTI6IC8qIENoaW5lc2UgKFNpbXBsaWZpZWQpICovCgkJJGNvZGVQYWdlID0gOTM2OwoJCWJyZWFrOyAKCSAgICBjYXNlIDEwNDI6IC8qIEtvcmVhbiAqLwoJCSRjb2RlUGFnZSA9IDk0OTsKCQlicmVhazsKCSAgICBjYXNlIDEwMjg6IC8qIENoaW5lc2UgKFRyYWRpdGlvbmFsKSAqLwoJICAgIGNhc2UgMzA3NjogLyogQ2hpbmVzZSAoSG9uZyBLb25nKSAqLwoJCSRjb2RlUGFnZSA9IDk1MDsKCQlicmVhazsKCSAgICBjYXNlIDEwNTA6IC8qIENyb2F0aWFuICovCgkgICAgY2FzZSAxMDI5OiAvKiBDemVjaCAqLwoJICAgIGNhc2UgMTAzODogLyogSHVuZ2FyaWFuICovCgkgICAgY2FzZSAxMDQ1OiAvKiBQb2xpc2ggKi8KCSAgICBjYXNlIDEwNDg6IC8qIFJvbWFuaWFuICovCgkgICAgY2FzZSAxMDUxOiAvKiBTbG92YWsgKi8KCSAgICBjYXNlIDEwNjA6IC8qIFNsb3ZlbmlhbiAqLwoJCSRjb2RlUGFnZSA9IDEyNTA7CgkJYnJlYWs7CgkgICAgY2FzZSAxMDI2OiAvKiBCdWxnYXJpYW4gKi8KCSAgICBjYXNlIDEwNDk6IC8qIFJ1c3NpYW4gKi8KCQkkY29kZVBhZ2UgPSAxMjUxOwoJCWJyZWFrOwoJICAgIGNhc2UgMTA0NjogLyogQnJhemlsaWFuICovCgkgICAgY2FzZSAxMDI3OiAvKiBDYXRhbGFuICovCgkgICAgY2FzZSAxMDMwOiAvKiBEYW5pc2ggKi8KCSAgICBjYXNlIDEwNDM6IC8qIER1dGNoICovCgkgICAgY2FzZSAxMDMzOiAvKiBFbmdsaXNoICovCgkgICAgY2FzZSAxMDM1OiAvKiBGaW5uaXNoICovCgkgICAgY2FzZSAxMDM2OiAvKiBGcmVuY2ggKi8KCSAgICBjYXNlIDEwMzE6IC8qIEdlcm1hbiAqLwoJICAgIGNhc2UgMTA0MDogLyogSXRhbGlhbiAqLwoJICAgIGNhc2UgMTA0NDogLyogTm9yd2VnaWFuICovCgkgICAgY2FzZSAyMDcwOiAvKiBQb3J0dWd1ZXNlICovCgkgICAgY2FzZSAzMDgyOiAvKiBTcGFuaXNoICovCgkgICAgY2FzZSAxMDUzOiAvKiBTd2VkaXNoICovCgkJJGNvZGVQYWdlID0gMTI1MjsKCQlicmVhazsKCSAgICBjYXNlIDEwMzI6IC8qIEdyZWVrICovCgkJJGNvZGVQYWdlID0gMTI1MzsKCQlicmVhazsKCSAgICBjYXNlIDEwNTU6IC8qIFR1cmtpc2ggKi8KCQkkY29kZVBhZ2UgPSAxMjU0OwoJCWJyZWFrOwoJICAgIGNhc2UgMTAzNzogLyogSGVicmV3ICovCgkJJGNvZGVQYWdlID0gMTI1NTsKCQlicmVhazsKCSAgICBjYXNlIDEwMjU6IC8qIEFyYWJpYyAqLwoJCSRjb2RlUGFnZSA9IDEyNTY7CgkJYnJlYWs7CgkgICAgY2FzZSAxMDYxOiAvKiBFc3RvbmlhbiAqLwoJICAgIGNhc2UgMTA2MjogLyogTGF0dmlhbiAqLwoJICAgIGNhc2UgMTA2MzogLyogTGl0aHVhbmlhbiAqLwoJCSRjb2RlUGFnZSA9IDEyNTc7CgkJYnJlYWs7CgkgICAgZGVmYXVsdDogJGNvZGVQYWdlID0gMTI1MjsKCX0KCXJldHVybiAnV2luZG93cy0nIC4gJGNvZGVQYWdlOwogICAgfQp9CgovKioKICogVmlldyB0byBwcm9jZXNzIHRoZSB1cGxvYWRpbmcgb2YgcGhvdG9zIGZyb20gV2luZG93cyBYUC4KICogRWFjaCBwaG90byBpcyB1cGxvYWRlZCB2aWEgYSBzZXBlcmF0ZSBIVFRQIHJlcXVlc3QuICBUaGUgaW5pdGlhbCByZXNwb25zZSBmcm9tCiAqIHRoaXMgcGFnZSBpcyB0byByZXR1cm4gSmF2YVNjcmlwdCBjb2RlIHRoYXQgaW5zdHJ1Y3RzIFdpbmRvd3MgaG93IHRvIHVwbG9hZAogKiB0aGUgcGhvdG9zLiAgU3Vic2VxdWVudCByZXF1ZXN0cyBmcm9tIFdpbmRvd3MgaW5jbHVkZSB0aGUgcGhvdG8gZGF0YSBhbmQgdGV4dC4KICogVGhpcyBwYWdlIHByb2Nlc3NlcyB0aGUgZGF0YSBhbmQgYXBwbGllcyB0aGUgb3B0aW9ucyB0byBiZSB1c2VkIHdoaWxlIHVwbG9hZGluZy4KICovCmNsYXNzIFVwbG9hZEl0ZW1zVmlldyBleHRlbmRzIEdhbGxlcnlWaWV3IHsKCiAgICAvKioKICAgICAqIEBzZWUgR2FsbGVyeVZpZXc6OmxvYWRUZW1wbGF0ZQogICAgICovCiAgICBmdW5jdGlvbiBsb2FkVGVtcGxhdGUoJiR0ZW1wbGF0ZSwgJiRmb3JtKSB7CglpZiAoJGZvcm1bJ2Zvcm1OYW1lJ10gIT0gJ1VwbG9hZEl0ZW1zJykgewoJICAgICRmb3JtWydmb3JtTmFtZSddID0gJ1VwbG9hZEl0ZW1zJzsKCX0KCglsaXN0ICgkVXBsb2FkSXRlbXNbJ2FsYnVtSWQnXSwKCSAgICAgICRVcGxvYWRJdGVtc1snc3RyaXBFeHRlbnNpb25zJ10sCgkgICAgICAkVXBsb2FkSXRlbXNbJ3NldENhcHRpb25zJ10pID0gR2FsbGVyeVV0aWxpdGllczo6Z2V0UmVxdWVzdFZhcmlhYmxlcygKCQkgICdhbGJ1bUlkJywgJ3N0cmlwRXh0ZW5zaW9ucycsICdzZXRDYXB0aW9ucycpOwoKCWlmIChlbXB0eSgkVXBsb2FkSXRlbXNbJ3N0cmlwRXh0ZW5zaW9ucyddKSkgewoJICAgICRVcGxvYWRJdGVtc1snc3RyaXBFeHRlbnNpb25zJ10gPSAwOwoJfQoKCWlmIChlbXB0eSgkVXBsb2FkSXRlbXNbJ3NldENhcHRpb25zJ10pKSB7CgkgICAgJFVwbG9hZEl0ZW1zWydzZXRDYXB0aW9ucyddID0gMDsKCX0KCgkkdGVtcGxhdGUtPnNldFZhcmlhYmxlKCdVcGxvYWRJdGVtcycsICRVcGxvYWRJdGVtcyk7CgkkdGVtcGxhdGUtPmhlYWQoJ21vZHVsZXMvcHVibGlzaHhwL3RlbXBsYXRlcy9IZWFkLnRwbCcpOwoKCXJldHVybiBhcnJheShudWxsLCBhcnJheSgnYm9keScgPT4gJ21vZHVsZXMvcHVibGlzaHhwL3RlbXBsYXRlcy9VcGxvYWRJdGVtcy50cGwnLAoJCQkJICd1c2VGdWxsU2NyZWVuJyA9PiB0cnVlKSk7CiAgICB9Cn0KPz4K');
expand_cd7434ef68($outputDir, 'UploadedItem.inc', 'PD9waHAKLyoKICogR2FsbGVyeSAtIGEgd2ViIGJhc2VkIHBob3RvIGFsYnVtIHZpZXdlciBhbmQgZWRpdG9yCiAqIENvcHlyaWdodCAoQykgMjAwMC0yMDA3IEJoYXJhdCBNZWRpcmF0dGEKICoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0CiAqIHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAogKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KICovCgovKioKICogRW1wdHkgdmlldyB1c2VkIHdoZW4gdGhlIHBob3RvIGlzIHN1Y2Nlc3NmdWxseSB1cGxvYWRlZC4KICogRWFjaCBwaG90byBpcyB1cGxvYWRlZCB2aWEgYSBzZXBlcmF0ZSBIVFRQIHJlcXVlc3QuICBUaGUgaW5pdGlhbCByZXNwb25zZSBmcm9tCiAqIHRoaXMgcGFnZSBpcyB0byByZXR1cm4gSmF2YVNjcmlwdCBjb2RlIHRoYXQgaW5zdHJ1Y3RzIFdpbmRvd3MgaG93IHRvIHVwbG9hZAogKiB0aGUgcGhvdG9zLiAgU3Vic2VxdWVudCByZXF1ZXN0cyBmcm9tIFdpbmRvd3MgaW5jbHVkZSB0aGUgcGhvdG8gZGF0YSBhbmQgdGV4dC4KICogVGhpcyBwYWdlIHByb2Nlc3NlcyB0aGUgZGF0YSBhbmQgYXBwbGllcyB0aGUgb3B0aW9ucyB0byBiZSB1c2VkIHdoaWxlIHVwbG9hZGluZy4KICoKICogQHBhY2thZ2UgUHVibGlzaFhwCiAqIEBzdWJwYWNrYWdlIFVzZXJJbnRlcmZhY2UKICogQGF1dGhvciBUaW1vdGh5IFdlYmIgPHRpd2ViYkBjaXNjby5jb20+CiAqIEB2ZXJzaW9uICRSZXZpc2lvbjogMTU1MTMgJAogKi8KY2xhc3MgVXBsb2FkZWRJdGVtVmlldyBleHRlbmRzIEdhbGxlcnlWaWV3IHsKICAgIC8qKgogICAgICogQHNlZSBHYWxsZXJ5Vmlldzo6bG9hZFRlbXBsYXRlCiAgICAgKi8KICAgIGZ1bmN0aW9uIGxvYWRUZW1wbGF0ZSgmJHRlbXBsYXRlLCAmJGZvcm0pIHsKCS8qIFZpZXdzIG5lZWQgdG8gZWl0aGVyIHJldHVybiBhIGJvZHkgdGVtcGxhdGUgb3IgYSByZWRpcmVjdC4gSnVzdCByZXR1cm4gYSBkdW1teSBoZXJlLiAqLwoJcmV0dXJuIGFycmF5KG51bGwsIGFycmF5KCdyZWRpcmVjdCcgPT4gYXJyYXkoJ3ZpZXcnID0+ICdjb3JlLlNob3dJdGVtJyksCgkJCQkgJ3N0YXR1cycgPT4gYXJyYXkoKSwgJ2Vycm9yJyA9PiBhcnJheSgpKSk7CiAgICB9Cn0KPz4K');
expand_cd7434ef68($outputDir, 'module.inc', 'PD9waHAKLyoKICogR2FsbGVyeSAtIGEgd2ViIGJhc2VkIHBob3RvIGFsYnVtIHZpZXdlciBhbmQgZWRpdG9yCiAqIENvcHlyaWdodCAoQykgMjAwMC0yMDA3IEJoYXJhdCBNZWRpcmF0dGEKICoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0CiAqIHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAogKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KICovCgovKioKICogTW9kdWxlIHRvIGFsbG93IHB1Ymxpc2hpbmcgZnJvbSBYUCBkaXJlY3RseSB0byBHYWxsZXJ5LgogKgogKiBUaGlzIG1vZHVsZSBhbGxvd3MgdGhlIHVzZXIgdG8gcmVnaXN0ZXIgR2FsbGVyeSB3aXRoIFdpbmRvd3MgWFAgYXMgYSB3ZWIgc2VydmljZSBhbGxvd2luZwogKiBwaG90b3MgdG8gYmUgZGlyZWN0bHkgdXBsb2FkZWQgZnJvbSBYUC4gIFRvIHVzZSB0aGUgc2VydmljZSwgdGhlIHVzZXIgaGFzIHRvIGRvd25sb2FkIGEKICogcmVnaXN0cnkgZmlsZSBhbmQgaW5zdGFsbCBpdC4gIE9uY2UgaW5zdGFsbGVkLCB0aGUgdXNlciBjYW4gdXNlIHRoZSBQdWJsaXNoIG9wdGlvbi4KICoKICogQHBhY2thZ2UgUHVibGlzaFhwCiAqIEBhdXRob3IgVGltb3RoeSBXZWJiIDx0aXdlYmJAY2lzY28uY29tPgogKiBAdmVyc2lvbiAkUmV2aXNpb246IDE2MDM0ICQKICovCmNsYXNzIFB1Ymxpc2hYcE1vZHVsZSBleHRlbmRzIEdhbGxlcnlNb2R1bGUgewoKICAgIGZ1bmN0aW9uIFB1Ymxpc2hYcE1vZHVsZSgpIHsKCWdsb2JhbCAkZ2FsbGVyeTsKCSR0aGlzLT5zZXRJZCgncHVibGlzaHhwJyk7CgkkdGhpcy0+c2V0TmFtZSgkZ2FsbGVyeS0+aTE4bignUHVibGlzaCBYUCcpKTsKCSR0aGlzLT5zZXREZXNjcmlwdGlvbigkZ2FsbGVyeS0+aTE4bignUHVibGlzaCBwaG90b3MgdG8gR2FsbGVyeSBkaXJlY3RseSBmcm9tIFdpbmRvd3MgWFAnKSk7CgkkdGhpcy0+c2V0VmVyc2lvbignMS4wLjcnKTsKCSR0aGlzLT5zZXRHcm91cCgnaW1wb3J0JywgJGdhbGxlcnktPmkxOG4oJ0ltcG9ydCcpKTsKCSR0aGlzLT5zZXRDYWxsYmFja3MoJycpOwoJJHRoaXMtPnNldFJlcXVpcmVkQ29yZUFwaShhcnJheSg3LCA0KSk7CgkkdGhpcy0+c2V0UmVxdWlyZWRNb2R1bGVBcGkoYXJyYXkoMywgMCkpOwogICAgfQoKICAgIC8qKgogICAgICogUmVnaXN0ZXJzIHRoZSBpdGVtIGFkZCBvcGVyYXRpb24gd2l0aCBHYWxsZXJ5LgogICAgICoKICAgICAqIEBzZWUgR2FsbGVyeU1vZHVsZTo6cGVyZm9ybUZhY3RvcnlSZWdpc3RyYXRpb25zCiAgICAgKi8KICAgIGZ1bmN0aW9uIHBlcmZvcm1GYWN0b3J5UmVnaXN0cmF0aW9ucygpIHsKCUdhbGxlcnlDb3JlQXBpOjpyZWdpc3RlckZhY3RvcnlJbXBsZW1lbnRhdGlvbigKCSAgICAnSXRlbUFkZFBsdWdpbicsICdJdGVtQWRkUHVibGlzaFhwJywgJ0l0ZW1BZGRQdWJsaXNoWHAnLAoJICAgICdtb2R1bGVzL3B1Ymxpc2h4cC9JdGVtQWRkUHVibGlzaFhwLmluYycsICdwdWJsaXNoeHAnLCBudWxsKTsKCglyZXR1cm4gbnVsbDsKICAgIH0KfQo/Pgo=');
expand_cd7434ef68($outputDir, 'po/GNUmakefile', 'R0FMTEVSWURJUiA/PSAuLi8uLi8uLgpUT09MRElSID89ICQoR0FMTEVSWURJUikvbGliL3Rvb2xzCgppbmNsdWRlICQoVE9PTERJUikvcG8vR05VbWFrZWZpbGUuaW5jCgo=');
expand_cd7434ef68($outputDir, 'po/strings.raw', 'IyAkSWQ6IHN0cmluZ3MucmF3IDE1NTc4IDIwMDYtMTItMjggMDU6MjE6MjhaIG1pbmRsZXNzICQKCi8qIEl0ZW1BZGRQdWJsaXNoWHAuaW5jICovCmdldHRleHQoIldpbmRvd3MgWFAiKQoKLyogbW9kdWxlLmluYyAqLwpnZXR0ZXh0KCJQdWJsaXNoIFhQIikgLyogYWxzbyBpbjogdGVtcGxhdGVzL0hlYWQudHBsICovCmdldHRleHQoIlB1Ymxpc2ggcGhvdG9zIHRvIEdhbGxlcnkgZGlyZWN0bHkgZnJvbSBXaW5kb3dzIFhQIikKZ2V0dGV4dCgiSW1wb3J0IikKCi8qIHRlbXBsYXRlcy9Eb3dubG9hZFJlZ2lzdHJ5RmlsZS50cGwgKi8KZ2V0dGV4dCgiJXMgYXQgJXMiKQpnZXR0ZXh0KCJQdWJsaXNoIFlvdXIgUGhvdG9zIGFuZCBNb3ZpZXMgdG8gJXMiKQoKLyogdGVtcGxhdGVzL0hlYWQudHBsICovCmdldHRleHQoIlVwbG9hZCB0byBHYWxsZXJ5IikKCi8qIHRlbXBsYXRlcy9JdGVtQWRkUHVibGlzaFhwLnRwbCAqLwpnZXR0ZXh0KCJXaW5kb3dzIFhQIGNvbWVzIHdpdGggYSBuaWNlIGZlYXR1cmUgdGhhdCBhbGxvd3MgeW91IHRvIHB1Ymxpc2ggY29udGVudCBmcm9tIHlvdXIgZGVza3RvcCBkaXJlY3RseSB0byBhIHdlYiBzZXJ2aWNlLiAgRm9sbG93IHRoZSBpbnN0cnVjdGlvbnMgYmVsb3cgdG8gZW5hYmxlIHRoaXMgc2VydmljZSBvbiB5b3VyIFdpbmRvd3MgWFAgc3lzdGVtLiIpCmdldHRleHQoIlN0ZXAgMSIpCmdldHRleHQoIkRvd25sb2FkIHRoZSBjb25maWd1cmF0aW9uIGZpbGUgdXNpbmcgcmlnaHQtY2xpY2sgJ1NhdmUgVGFyZ2V0IEFzLi4uJyAgT25jZSBkb3dubG9hZGVkLCByZW5hbWUgaXQgdG8gJ2luc3RhbGxfcmVnaXN0cnkucmVnJy4gIElmIGl0IGFza3MgeW91IGZvciBjb25maXJtYXRpb24gYWJvdXQgY2hhbmdpbmcgdGhlIGZpbGUgdHlwZSwgYW5zd2VyICd5ZXMnLiAgUmlnaHQgY2xpY2sgb24gdGhpcyBmaWxlIGFuZCB5b3Ugc2hvdWxkIHNlZSBhIG1lbnUgYXBwZWFyLiAgU2VsZWN0IHRoZSBNZXJnZSBvcHRpb24gKHRoaXMgc2hvdWxkIGJlIGF0IHRoZSB0b3Agb2YgdGhlIG1lbnUpLiAgSXQgd2lsbCBhc2sgeW91IGlmIHlvdSB3YW50IHRvIGltcG9ydCB0aGVzZSB2YWx1ZXMgaW50byB5b3VyIHJlZ2lzdHJ5LiAgQ2xpY2sgJ09rJy4gIEl0IHdpbGwgdGVsbCB5b3UgdGhhdCB0aGUgZmlsZXMgd2VyZSBpbXBvcnRlZCBzdWNjZXNzZnVsbHkuICBDbGljayAnT2snIGFnYWluLiIpCmdldHRleHQoIkRvd25sb2FkIFtpbnN0YWxsX3JlZ2lzdHJ5LnJlZ10iKQpnZXR0ZXh0KCJTdGVwIDIiKQpnZXR0ZXh0KCJPcGVuIHlvdXIgV2luZG93cyBFeHBsb3JlciBhbmQgYnJvd3NlIHRvIGEgZm9sZGVyIGNvbnRhaW5pbmcgc3VwcG9ydGVkIGltYWdlcy4gU2VsZWN0IHRoZSBpbWFnZShzKSBvciBhIGZvbGRlciBhbmQgdGhlcmUgc2hvdWxkIGJlIGEgbGluayBvbiB0aGUgbGVmdCB0aGF0IHNheXMgJ1B1Ymxpc2ggdGhpcyBmaWxlIHRvIHRoZSB3ZWIuLi4nICBDbGljayB0aGlzIGxpbmsgYW5kIHRoZW4gZm9sbG93IHRoZSBpbnN0cnVjdGlvbnMgdG8gbG9nIGludG8geW91ciBHYWxsZXJ5LCBzZWxlY3QgYW4gYWxidW0gYW5kIHB1Ymxpc2ggdGhlIGltYWdlLiIpCgovKiB0ZW1wbGF0ZXMvTmV3QWxidW0udHBsICovCmdldHRleHQoIlNwZWNpZnkgdGhlIG5hbWUgYW5kIHRpdGxlIGZvciB0aGUgbmV3IGFsYnVtLiIpCmdldHRleHQoIkNyZWF0ZSBhIG5ldyBhbGJ1bSIpCmdldHRleHQoIk5hbWUiKQpnZXR0ZXh0KCIocmVxdWlyZWQpIikKZ2V0dGV4dCgiVGhlIG5hbWUgb2YgdGhpcyBhbGJ1bSBvbiB5b3VyIGhhcmQgZGlzay4gIEl0IG11c3QgYmUgdW5pcXVlIGluIHRoaXMgYWxidW0uICBPbmx5IHVzZSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycywgdW5kZXJzY29yZXMgb3IgZGFzaGVzLiAgWW91IHdpbGwgYmUgYWJsZSB0byByZW5hbWUgaXQgbGF0ZXIuIikKZ2V0dGV4dCgiWW91ciBuYW1lIGNvbnRhaW5zIGludmFsaWQgY2hhcmFjdGVycy4gIFBsZWFzZSBlbnRlciBhbm90aGVyLiIpCmdldHRleHQoIllvdSBtdXN0IGVudGVyIGEgbmFtZSBmb3IgdGhpcyBhbGJ1bS4iKQpnZXR0ZXh0KCJUaXRsZSIpCmdldHRleHQoIlRoaXMgaXMgdGhlIGFsYnVtIHRpdGxlLiIpCmdldHRleHQoIlN1bW1hcnkiKQpnZXR0ZXh0KCJUaGlzIGlzIHRoZSBhbGJ1bSBzdW1tYXJ5LiIpCmdldHRleHQoIktleXdvcmRzIikKZ2V0dGV4dCgiS2V5d29yZHMgYXJlIG5vdCB2aXNpYmxlLCBidXQgYXJlIHNlYXJjaGFibGUuIikKZ2V0dGV4dCgiRGVzY3JpcHRpb24iKQpnZXR0ZXh0KCJUaGlzIGlzIHRoZSBsb25nIGRlc2NyaXB0aW9uIG9mIHRoZSBhbGJ1bS4iKQoKLyogdGVtcGxhdGVzL09wdGlvbnMudHBsICovCmdldHRleHQoIlNldCBvcHRpb25zIGZvciB0aGUgcGhvdG9zIHRvIGJlIGFkZGVkLiIpCmdldHRleHQoIlN0YW5kYXJkIE9wdGlvbnMiKQpnZXR0ZXh0KCJOb3cgdGhhdCB5b3UgaGF2ZSBjaG9zZW4gdGhlIGRlc3RpbmF0aW9uIGFsYnVtLCB0aGUgZm9sbG93aW5nIG9wdGlvbnMgY2FuIGJlIHVzZWQgd2hlbiBhZGRpbmcgdGhlIHBob3RvcyB0byBHYWxsZXJ5LiIpCmdldHRleHQoIlN0cmlwIGZpbGUgZXh0ZW5zaW9ucz8iKQpnZXR0ZXh0KCJTZXQgY2FwdGlvbnMgb24gdGhlIHB1Ymxpc2hlZCBpdGVtcz8iKQoKLyogdGVtcGxhdGVzL1B1Ymxpc2hYcExvZ2luLnRwbCAqLwpnZXR0ZXh0KCJMb2dpbiB0byB5b3VyIGFjY291bnQiKQpnZXR0ZXh0KCJVc2VybmFtZSIpCmdldHRleHQoIllvdSBtdXN0IGVudGVyIGEgdXNlcm5hbWUiKQpnZXR0ZXh0KCJMb2dpbnMgdGVtcG9yYXJpbHkgZGlzYWJsZWQgZHVlIHRvIG11bHRpcGxlIGZhaWxlZCBsb2dpbiBhdHRlbXB0cy4iKQpnZXR0ZXh0KCJQYXNzd29yZCIpCmdldHRleHQoIllvdSBtdXN0IGVudGVyIGEgcGFzc3dvcmQiKQpnZXR0ZXh0KCJZb3VyIGxvZ2luIGluZm9ybWF0aW9uIGlzIGluY29ycmVjdC4gIFBsZWFzZSB0cnkgYWdhaW4uIikKCi8qIHRlbXBsYXRlcy9TZWxlY3RBbGJ1bS50cGwgKi8KZ2V0dGV4dCgiQ2hvb3NlIGFuIGFsYnVtIGZvciBuZXcgcGhvdG9zLCBvciBjcmVhdGUgYSBuZXcgYWxidW0uIikKZ2V0dGV4dCgiTmV3IEFsYnVtIikKZ2V0dGV4dCgiWW91IG11c3Qgc2VsZWN0IGFuIGFsYnVtIikK');
expand_cd7434ef68($outputDir, 'templates/DownloadRegistryFile.tpl', 'eyoKICogJFJldmlzaW9uOiAxNTM0MiAkCiAqIElmIHlvdSB3YW50IHRvIGN1c3RvbWl6ZSB0aGlzIGZpbGUsIGRvIG5vdCBlZGl0IGl0IGRpcmVjdGx5IHNpbmNlIGZ1dHVyZSB1cGdyYWRlcwogKiBtYXkgb3ZlcndyaXRlIGl0LiAgSW5zdGVhZCwgY29weSBpdCBpbnRvIGEgbmV3IGRpcmVjdG9yeSBjYWxsZWQgImxvY2FsIiBhbmQgZWRpdCB0aGF0CiAqIHZlcnNpb24uICBHYWxsZXJ5IHdpbGwgbG9vayBmb3IgdGhhdCBmaWxlIGZpcnN0IGFuZCB1c2UgaXQgaWYgaXQgZXhpc3RzLgogKn0KV2luZG93cyBSZWdpc3RyeSBFZGl0b3IgVmVyc2lvbiA1LjAwCgpbSEtFWV9DVVJSRU5UX1VTRVJcU29mdHdhcmVcTWljcm9zb2Z0XFdpbmRvd3NcQ3VycmVudFZlcnNpb25cRXhwbG9yZXJcUHVibGlzaGluZ1dpemFyZFxQdWJsaXNoaW5nV2l6YXJkXFByb3ZpZGVyc1x7JERvd25sb2FkUmVnaXN0cnlGaWxlLmRvbWFpbn1dCiJkaXNwbGF5bmFtZSI9IntnLT50ZXh0IHRleHQ9IiVzIGF0ICVzIiBhcmcxPSREb3dubG9hZFJlZ2lzdHJ5RmlsZS50aXRsZSBhcmcyPSREb3dubG9hZFJlZ2lzdHJ5RmlsZS5kb21haW59IgoiZGVzY3JpcHRpb24iPSJ7Zy0+dGV4dCB0ZXh0PSJQdWJsaXNoIFlvdXIgUGhvdG9zIGFuZCBNb3ZpZXMgdG8gJXMiIGFyZzE9JERvd25sb2FkUmVnaXN0cnlGaWxlLnRpdGxlfSIKImhyZWYiPSJ7Zy0+dXJsIGFyZzE9InZpZXc9cHVibGlzaHhwLlB1Ymxpc2hYcExvZ2luIiBmb3JjZUZ1bGxVcmw9MSBodG1sRW50aXRpZXM9MH0iCiJpY29uIj0ie2ctPnVybCBocmVmPSJmYXZpY29uLmljbyIgZm9yY2VGdWxsVXJsPTEgaHRtbEVudGl0aWVzPTB9Igo=');
expand_cd7434ef68($outputDir, 'templates/Head.tpl', 'eyoKICogJFJldmlzaW9uOiAxNTM0MiAkCiAqIElmIHlvdSB3YW50IHRvIGN1c3RvbWl6ZSB0aGlzIGZpbGUsIGRvIG5vdCBlZGl0IGl0IGRpcmVjdGx5IHNpbmNlIGZ1dHVyZSB1cGdyYWRlcwogKiBtYXkgb3ZlcndyaXRlIGl0LiAgSW5zdGVhZCwgY29weSBpdCBpbnRvIGEgbmV3IGRpcmVjdG9yeSBjYWxsZWQgImxvY2FsIiBhbmQgZWRpdCB0aGF0CiAqIHZlcnNpb24uICBHYWxsZXJ5IHdpbGwgbG9vayBmb3IgdGhhdCBmaWxlIGZpcnN0IGFuZCB1c2UgaXQgaWYgaXQgZXhpc3RzLgogKn0KPHRpdGxlPgogIHtnLT50ZXh0IHRleHQ9IlB1Ymxpc2ggWFAifQo8L3RpdGxlPgoKPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgovLyA8IVtDREFUQVsKICB2YXIgb25CYWNrVXJsID0gbnVsbDsKICB2YXIgc3VibWl0T25OZXh0ID0gZmFsc2U7CiAgdmFyIHRpdGxlPSJ7Zy0+dGV4dCB0ZXh0PSJVcGxvYWQgdG8gR2FsbGVyeSJ9IjsKCiAgeyoKICAgKiBJZiB5b3UgZW5hYmxlIFhwRGVidWcsIHlvdSBnZXQgQmFjay9OZXh0IGJ1dHRvbnMgZm9yIGFsbCBicm93c2Vycywgbm90CiAgICoganVzdCB0aGUgWFAgUHVibGlzaGluZyBXaXphcmQuICBJdCdzIHVzZWZ1bCBmb3IgZGVidWdnaW5nIGluIGEgZGV2ZWxvcG1lbnQKICAgKiBlbnZpcm9ubWVudCwgYnV0IHNob3VsZCBiZSBkaXNhYmxlZCBmb3IgcHJvZHVjdGlvbiBlbnZpcm9ubWVudHMuCiAgICp9CiAge2Fzc2lnbiB2YXI9WHBEZWJ1ZyB2YWx1ZT1mYWxzZX0KICB7aWYgKCRYcERlYnVnKX0KICB7bGl0ZXJhbH0KICBmdW5jdGlvbiBNb2NrV2l6YXJkKCkgewoJdGhpcy5TZXRXaXphcmRCdXR0b25zID0gZnVuY3Rpb24geChiYWNrQnV0dG9uLCBuZXh0QnV0dG9uLCBmaW5pc2hCdXR0b24pIHsgfQoJdGhpcy5TZXRIZWFkZXJUZXh0ID0gZnVuY3Rpb24geSh0aXRsZSwgc3ViVGl0bGUpIHsgfQoJdGhpcy5GaW5hbEJhY2sgPSBmdW5jdGlvbiB6KCkgeyB9CiAgfQoKICBpZiAod2luZG93LmV4dGVybmFsKSB7CiAgICBpbXBsID0gd2luZG93LmV4dGVybmFsOwogIH0gZWxzZSB7CiAgICBpbXBsID0gbmV3IE1vY2tXaXphcmQoKTsKICB9CiAgey9saXRlcmFsfQogIHtlbHNlfQogIGltcGwgPSB3aW5kb3cuZXh0ZXJuYWw7CiAgey9pZn0KCiAge2xpdGVyYWx9CiAgZnVuY3Rpb24gc2V0T25CYWNrVXJsKHVybCkgewogICAgb25CYWNrVXJsID0gdXJsOwogIH0KCiAgZnVuY3Rpb24gc2V0QnV0dG9ucyhiYWNrQnV0dG9uLCBuZXh0QnV0dG9uLCBmaW5pc2hCdXR0b24pIHsKICAgIGltcGwuU2V0V2l6YXJkQnV0dG9ucyhiYWNrQnV0dG9uLCBuZXh0QnV0dG9uLCBmaW5pc2hCdXR0b24pOwogIH0KCiAgZnVuY3Rpb24gc2V0U3VidGl0bGUoc3ViVGl0bGUpIHsKICAgIGltcGwuU2V0SGVhZGVyVGV4dCh0aXRsZSwgc3ViVGl0bGUpOwogIH0KCiAgZnVuY3Rpb24gT25CYWNrKCkgewogICAgaWYgKG9uQmFja1VybCkgewogICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IG9uQmFja1VybDsKICAgICAgc2V0QnV0dG9ucyhmYWxzZSwgdHJ1ZSwgZmFsc2UpOwogICAgfSBlbHNlIHsKICAgICAgaW1wbC5GaW5hbEJhY2soKTsKICAgIH0KICB9CgogIGZ1bmN0aW9uIHNldFN1Ym1pdE9uTmV4dChib29sVmFsdWUpIHsKICAgIHN1Ym1pdE9uTmV4dCA9IGJvb2xWYWx1ZTsKICB9CgogIGZ1bmN0aW9uIE9uTmV4dCgpIHsKICAgIGlmIChzdWJtaXRPbk5leHQpIHsKICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3B1Ymxpc2hYcEZvcm0nKS5zdWJtaXQoKTsKICAgIH0KICB9CiAgey9saXRlcmFsfQovLyBdXT4KPC9zY3JpcHQ+Cgp7aWYgKCRYcERlYnVnKX0KPGlucHV0IHR5cGU9ImJ1dHRvbiIgb25jbGljaz0iT25CYWNrKCkiIHZhbHVlPSI8IEJhY2siPgo8aW5wdXQgdHlwZT0iYnV0dG9uIiBvbmNsaWNrPSJPbk5leHQoKSIgdmFsdWU9Ik5leHQgPiI+CnsvaWZ9Cg==');
expand_cd7434ef68($outputDir, 'templates/ItemAddPublishXp.tpl', 'eyoKICogJFJldmlzaW9uOiAxNTM0MiAkCiAqIElmIHlvdSB3YW50IHRvIGN1c3RvbWl6ZSB0aGlzIGZpbGUsIGRvIG5vdCBlZGl0IGl0IGRpcmVjdGx5IHNpbmNlIGZ1dHVyZSB1cGdyYWRlcwogKiBtYXkgb3ZlcndyaXRlIGl0LiAgSW5zdGVhZCwgY29weSBpdCBpbnRvIGEgbmV3IGRpcmVjdG9yeSBjYWxsZWQgImxvY2FsIiBhbmQgZWRpdCB0aGF0CiAqIHZlcnNpb24uICBHYWxsZXJ5IHdpbGwgbG9vayBmb3IgdGhhdCBmaWxlIGZpcnN0IGFuZCB1c2UgaXQgaWYgaXQgZXhpc3RzLgogKn0KPGRpdiBjbGFzcz0iZ2JCbG9jayI+CiAgPGRpdiBjbGFzcz0iZ2lEZXNjcmlwdGlvbiI+CiAgICB7Zy0+dGV4dCB0ZXh0PSJXaW5kb3dzIFhQIGNvbWVzIHdpdGggYSBuaWNlIGZlYXR1cmUgdGhhdCBhbGxvd3MgeW91IHRvIHB1Ymxpc2ggY29udGVudCBmcm9tIHlvdXIgZGVza3RvcCBkaXJlY3RseSB0byBhIHdlYiBzZXJ2aWNlLiAgRm9sbG93IHRoZSBpbnN0cnVjdGlvbnMgYmVsb3cgdG8gZW5hYmxlIHRoaXMgc2VydmljZSBvbiB5b3VyIFdpbmRvd3MgWFAgc3lzdGVtLiJ9CgogICAgPHA+CiAgICAgIDxiPntnLT50ZXh0IHRleHQ9IlN0ZXAgMSJ9PC9iPjxicj4KICAgICAge2ctPnRleHQgdGV4dD0iRG93bmxvYWQgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZSB1c2luZyByaWdodC1jbGljayAnU2F2ZSBUYXJnZXQgQXMuLi4nICBPbmNlIGRvd25sb2FkZWQsIHJlbmFtZSBpdCB0byAnaW5zdGFsbF9yZWdpc3RyeS5yZWcnLiAgSWYgaXQgYXNrcyB5b3UgZm9yIGNvbmZpcm1hdGlvbiBhYm91dCBjaGFuZ2luZyB0aGUgZmlsZSB0eXBlLCBhbnN3ZXIgJ3llcycuICBSaWdodCBjbGljayBvbiB0aGlzIGZpbGUgYW5kIHlvdSBzaG91bGQgc2VlIGEgbWVudSBhcHBlYXIuICBTZWxlY3QgdGhlIE1lcmdlIG9wdGlvbiAodGhpcyBzaG91bGQgYmUgYXQgdGhlIHRvcCBvZiB0aGUgbWVudSkuICBJdCB3aWxsIGFzayB5b3UgaWYgeW91IHdhbnQgdG8gaW1wb3J0IHRoZXNlIHZhbHVlcyBpbnRvIHlvdXIgcmVnaXN0cnkuICBDbGljayAnT2snLiAgSXQgd2lsbCB0ZWxsIHlvdSB0aGF0IHRoZSBmaWxlcyB3ZXJlIGltcG9ydGVkIHN1Y2Nlc3NmdWxseS4gIENsaWNrICdPaycgYWdhaW4uIn0KICAgICAgPGJyLz4KICAgICAgPGEgaHJlZj0ie2ctPnVybCBhcmcxPSJ2aWV3PXB1Ymxpc2h4cC5Eb3dubG9hZFJlZ2lzdHJ5RmlsZSJ9Ij4KICAgICAgICB7Zy0+dGV4dCB0ZXh0PSJEb3dubG9hZCBbaW5zdGFsbF9yZWdpc3RyeS5yZWddIn0KICAgICAgPC9hPgogICAgPC9wPgogICAgPHA+CiAgICAgIDxiPntnLT50ZXh0IHRleHQ9IlN0ZXAgMiJ9PC9iPjxicj4KICAgICAge2ctPnRleHQgdGV4dD0iT3BlbiB5b3VyIFdpbmRvd3MgRXhwbG9yZXIgYW5kIGJyb3dzZSB0byBhIGZvbGRlciBjb250YWluaW5nIHN1cHBvcnRlZCBpbWFnZXMuIFNlbGVjdCB0aGUgaW1hZ2Uocykgb3IgYSBmb2xkZXIgYW5kIHRoZXJlIHNob3VsZCBiZSBhIGxpbmsgb24gdGhlIGxlZnQgdGhhdCBzYXlzICdQdWJsaXNoIHRoaXMgZmlsZSB0byB0aGUgd2ViLi4uJyAgQ2xpY2sgdGhpcyBsaW5rIGFuZCB0aGVuIGZvbGxvdyB0aGUgaW5zdHJ1Y3Rpb25zIHRvIGxvZyBpbnRvIHlvdXIgR2FsbGVyeSwgc2VsZWN0IGFuIGFsYnVtIGFuZCBwdWJsaXNoIHRoZSBpbWFnZS4ifQogICAgPC9wPgogIDwvZGl2Pgo8L2Rpdj4K');
expand_cd7434ef68($outputDir, 'templates/NewAlbum.tpl', 'eyoKICogJFJldmlzaW9uOiAxNTM0MiAkCiAqIElmIHlvdSB3YW50IHRvIGN1c3RvbWl6ZSB0aGlzIGZpbGUsIGRvIG5vdCBlZGl0IGl0IGRpcmVjdGx5IHNpbmNlIGZ1dHVyZSB1cGdyYWRlcwogKiBtYXkgb3ZlcndyaXRlIGl0LiAgSW5zdGVhZCwgY29weSBpdCBpbnRvIGEgbmV3IGRpcmVjdG9yeSBjYWxsZWQgImxvY2FsIiBhbmQgZWRpdCB0aGF0CiAqIHZlcnNpb24uICBHYWxsZXJ5IHdpbGwgbG9vayBmb3IgdGhhdCBmaWxlIGZpcnN0IGFuZCB1c2UgaXQgaWYgaXQgZXhpc3RzLgogKn0KPGZvcm0gYWN0aW9uPSJ7Zy0+dXJsfSIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9InBvc3QiCiBpZD0icHVibGlzaFhwRm9ybSI+CiAgPGRpdj4gICAgICAKICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgLy8gPCFbQ0RBVEFbCiAgICAgIHNldFN1YnRpdGxlKCJ7Zy0+dGV4dCB0ZXh0PSJTcGVjaWZ5IHRoZSBuYW1lIGFuZCB0aXRsZSBmb3IgdGhlIG5ldyBhbGJ1bS4ifSIpOwogICAgICBzZXRTdWJtaXRPbk5leHQodHJ1ZSk7CiAgICAgIHNldE9uQmFja1VybCgie2ctPnVybCBhcmcxPSJ2aWV3PXB1Ymxpc2h4cC5TZWxlY3RBbGJ1bSIgaHRtbEVudGl0aWVzPWZhbHNlfSIpOwogICAgICBzZXRCdXR0b25zKHRydWUsIHRydWUsIGZhbHNlKTsKICAgICAgLy8gXV0+CiAgICA8L3NjcmlwdD4KICAgIHtnLT5oaWRkZW5Gb3JtVmFyc30KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IntnLT5mb3JtVmFyIHZhcj0iY29udHJvbGxlciJ9IiB2YWx1ZT0ieyRjb250cm9sbGVyfSIvPgogICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ie2ctPmZvcm1WYXIgdmFyPSJmb3JtW2Zvcm1OYW1lXSJ9IiB2YWx1ZT0ieyRmb3JtLmZvcm1OYW1lfSIvPgogICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ie2ctPmZvcm1WYXIgdmFyPSJmb3JtW3BhcmVudElkXSJ9IiB2YWx1ZT0ieyRmb3JtLnBhcmVudElkfSIvPgogICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ie2ctPmZvcm1WYXIgdmFyPSJmb3JtW2FjdGlvbl1bbmV3QWxidW1dIn0iIHZhbHVlPSIxIi8+CiAgPC9kaXY+CiAKICA8ZGl2IGNsYXNzPSJnYkJsb2NrIGdjQmFja2dyb3VuZDEiPgogICAgPGgyPgogICAgICB7Zy0+dGV4dCB0ZXh0PSJDcmVhdGUgYSBuZXcgYWxidW0ifQogICAgPC9oMj4KICA8L2Rpdj4KCiAgPGRpdiBjbGFzcz0iZ2JCbG9jayI+CiAgICA8aDQ+CiAgICAgIHtnLT50ZXh0IHRleHQ9Ik5hbWUifQogICAgICA8c3BhbiBjbGFzcz0iZ2lTdWJ0aXRsZSI+IHtnLT50ZXh0IHRleHQ9IihyZXF1aXJlZCkifSA8L3NwYW4+CiAgICA8L2g0PgoKICAgIDxwIGNsYXNzPSJnaURlc2NyaXB0aW9uIj4KICAgICAge2ctPnRleHQgdGV4dD0iVGhlIG5hbWUgb2YgdGhpcyBhbGJ1bSBvbiB5b3VyIGhhcmQgZGlzay4gIEl0IG11c3QgYmUgdW5pcXVlIGluIHRoaXMgYWxidW0uICBPbmx5IHVzZSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycywgdW5kZXJzY29yZXMgb3IgZGFzaGVzLiAgWW91IHdpbGwgYmUgYWJsZSB0byByZW5hbWUgaXQgbGF0ZXIuIn0KICAgIDwvcD4KCiAgICB7c3RyaXB9CiAgICB7Zm9yZWFjaCBmcm9tPSROZXdBbGJ1bS5wYXJlbnRzIGl0ZW09cGFyZW50fQogICAgeyRwYXJlbnQucGF0aENvbXBvbmVudH0vCiAgICB7L2ZvcmVhY2h9CiAgICB7L3N0cmlwfQoKICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBzaXplPSIxMCIKICAgICBuYW1lPSJ7Zy0+Zm9ybVZhciB2YXI9ImZvcm1bcGF0aENvbXBvbmVudF0ifSIgdmFsdWU9InskZm9ybS5wYXRoQ29tcG9uZW50fSIvPgogICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwdWJsaXNoWHBGb3JtJylbJ3tnLT5mb3JtVmFyCiAgICAgdmFyPSJmb3JtW3BhdGhDb21wb25lbnRdIn0nXS5mb2N1cygpOzwvc2NyaXB0PgoKICAgIHtpZiAhZW1wdHkoJGZvcm0uZXJyb3IucGF0aENvbXBvbmVudC5pbnZhbGlkKX0KICAgIDxkaXYgY2xhc3M9ImdpRXJyb3IiPgogICAgICB7Zy0+dGV4dCB0ZXh0PSJZb3VyIG5hbWUgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXJzLiAgUGxlYXNlIGVudGVyIGFub3RoZXIuIn0KICAgIDwvZGl2PgogICAgey9pZn0KICAgICAgCiAgICB7aWYgIWVtcHR5KCRmb3JtLmVycm9yLnBhdGhDb21wb25lbnQubWlzc2luZyl9CiAgICA8ZGl2IGNsYXNzPSJnaUVycm9yIj4KICAgICAge2ctPnRleHQgdGV4dD0iWW91IG11c3QgZW50ZXIgYSBuYW1lIGZvciB0aGlzIGFsYnVtLiJ9CiAgICA8L2Rpdj4KICAgIHsvaWZ9CiAgICAgIAogICAgPGg0PgogICAgICB7Zy0+dGV4dCB0ZXh0PSJUaXRsZSJ9CiAgICA8L2g0PgogICAgICAKICAgIDxwIGNsYXNzPSJnaURlc2NyaXB0aW9uIj4KICAgICAge2ctPnRleHQgdGV4dD0iVGhpcyBpcyB0aGUgYWxidW0gdGl0bGUuIn0KICAgIDwvcD4KCiAgICB7aW5jbHVkZSBmaWxlPSJnYWxsZXJ5Om1vZHVsZXMvY29yZS90ZW1wbGF0ZXMvTWFya3VwQmFyLnRwbCIgCiAgICAgICAgICAgICB2aWV3TDEwZG9tYWluPSJtb2R1bGVzX2NvcmUiIAogICAgICAgICAgICAgZWxlbWVudD0idGl0bGUiCgkgICAgIGZpcnN0TWFya3VwQmFyPXRydWV9CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9InRpdGxlIiBzaXplPSI0MCIgbmFtZT0ie2ctPmZvcm1WYXIgdmFyPSJmb3JtW3RpdGxlXSJ9IiB2YWx1ZT0ieyRmb3JtLnRpdGxlfSIvPgogICAge2lmICFlbXB0eSgkZm9ybS5lcnJvci50aXRsZS5taXNzaW5nKX0KICAgIDxkaXYgY2xhc3M9ImdpRXJyb3IiPgogICAgICB7Zy0+dGV4dCB0ZXh0PSJZb3UgbXVzdCBlbnRlciBhIG5hbWUgZm9yIHRoaXMgYWxidW0uIn0KICAgIDwvZGl2PgogICAgey9pZn0KCiAgICA8aDQ+CiAgICAgIHtnLT50ZXh0IHRleHQ9IlN1bW1hcnkifQogICAgPC9oND4KCiAgICA8cCBjbGFzcz0iZ2lEZXNjcmlwdGlvbiI+CiAgICAgIHtnLT50ZXh0IHRleHQ9IlRoaXMgaXMgdGhlIGFsYnVtIHN1bW1hcnkuIn0KICAgIDwvcD4KCiAgICB7aW5jbHVkZSBmaWxlPSJnYWxsZXJ5Om1vZHVsZXMvY29yZS90ZW1wbGF0ZXMvTWFya3VwQmFyLnRwbCIgCiAgICAgICAgICAgICB2aWV3TDEwZG9tYWluPSJtb2R1bGVzX2NvcmUiIAogICAgICAgICAgICAgZWxlbWVudD0ic3VtbWFyeSJ9CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9InN1bW1hcnkiIHNpemU9IjQwIiBuYW1lPSJ7Zy0+Zm9ybVZhciB2YXI9ImZvcm1bc3VtbWFyeV0ifSIgdmFsdWU9InskZm9ybS5zdW1tYXJ5fSIvPgoKICAgIDxoND4KICAgICAge2ctPnRleHQgdGV4dD0iS2V5d29yZHMifQogICAgPC9oND4KCiAgICA8cCBjbGFzcz0iZ2lEZXNjcmlwdGlvbiI+CiAgICAgIHtnLT50ZXh0IHRleHQ9IktleXdvcmRzIGFyZSBub3QgdmlzaWJsZSwgYnV0IGFyZSBzZWFyY2hhYmxlLiJ9CiAgICA8L3A+CgogICAgPHRleHRhcmVhIHJvd3M9IjIiIGNvbHM9IjU4IiBuYW1lPSJ7Zy0+Zm9ybVZhciB2YXI9ImZvcm1ba2V5d29yZHNdIn0iPnskZm9ybS5rZXl3b3Jkc308L3RleHRhcmVhPgoKICAgIDxoNCBjbGFzcz0iZ2lUaXRsZSI+CiAgICAgIHtnLT50ZXh0IHRleHQ9IkRlc2NyaXB0aW9uIn0KICAgIDwvaDQ+CgogICAgPHAgY2xhc3M9ImdpRGVzY3JpcHRpb24iPgogICAgICB7Zy0+dGV4dCB0ZXh0PSJUaGlzIGlzIHRoZSBsb25nIGRlc2NyaXB0aW9uIG9mIHRoZSBhbGJ1bS4ifQogICAgPC9wPgoKICAgIHtpbmNsdWRlIGZpbGU9ImdhbGxlcnk6bW9kdWxlcy9jb3JlL3RlbXBsYXRlcy9NYXJrdXBCYXIudHBsIiAKICAgICAgICAgICAgIHZpZXdMMTBkb21haW49Im1vZHVsZXNfY29yZSIgCgkgICAgIGVsZW1lbnQ9ImRlc2NyaXB0aW9uIn0KICAgIDx0ZXh0YXJlYSBpZD0iZGVzY3JpcHRpb24iIHJvd3M9IjQiIGNvbHM9IjU4IiBuYW1lPSJ7Zy0+Zm9ybVZhciB2YXI9ImZvcm1bZGVzY3JpcHRpb25dIn0iPnskZm9ybS5kZXNjcmlwdGlvbn08L3RleHRhcmVhPgogIDwvZGl2Pgo8L2Zvcm0+Cg==');
expand_cd7434ef68($outputDir, 'templates/Options.tpl', 'eyoKICogJFJldmlzaW9uOiAxNTM0MiAkCiAqIElmIHlvdSB3YW50IHRvIGN1c3RvbWl6ZSB0aGlzIGZpbGUsIGRvIG5vdCBlZGl0IGl0IGRpcmVjdGx5IHNpbmNlIGZ1dHVyZSB1cGdyYWRlcwogKiBtYXkgb3ZlcndyaXRlIGl0LiAgSW5zdGVhZCwgY29weSBpdCBpbnRvIGEgbmV3IGRpcmVjdG9yeSBjYWxsZWQgImxvY2FsIiBhbmQgZWRpdCB0aGF0CiAqIHZlcnNpb24uICBHYWxsZXJ5IHdpbGwgbG9vayBmb3IgdGhhdCBmaWxlIGZpcnN0IGFuZCB1c2UgaXQgaWYgaXQgZXhpc3RzLgogKn0KPGZvcm0gYWN0aW9uPSJ7Zy0+dXJsfSIgbWV0aG9kPSJwb3N0IiBpZD0icHVibGlzaFhwRm9ybSIKIGVuY3R5cGU9InskVXNlckFkbWluLmVuY3R5cGV8ZGVmYXVsdDoiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIn0iPgogIDxkaXY+CiAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgIHNldFN1YnRpdGxlKCJ7Zy0+dGV4dCB0ZXh0PSJTZXQgb3B0aW9ucyBmb3IgdGhlIHBob3RvcyB0byBiZSBhZGRlZC4ifSIpOwogICAgICBzZXRPbkJhY2tVcmwoIntnLT51cmwgYXJnMT0idmlldz1wdWJsaXNoeHAuU2VsZWN0QWxidW0iIGFyZzI9ImFsYnVtSWQ9YCRmb3JtLmFsYnVtSWRgIiBodG1sRW50aXRpZXM9ZmFsc2V9Iik7CiAgICAgIHNldFN1Ym1pdE9uTmV4dCh0cnVlKTsKICAgICAgc2V0QnV0dG9ucyh0cnVlLCB0cnVlLCBmYWxzZSk7CiAgICA8L3NjcmlwdD4KICAgIHtnLT5oaWRkZW5Gb3JtVmFyc30KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IntnLT5mb3JtVmFyIHZhcj0iY29udHJvbGxlciJ9IiB2YWx1ZT0icHVibGlzaHhwLk9wdGlvbnMiLz4KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IntnLT5mb3JtVmFyIHZhcj0iZm9ybVtmb3JtTmFtZV0ifSIgdmFsdWU9InskZm9ybS5mb3JtTmFtZX0iLz4KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IntnLT5mb3JtVmFyIHZhcj0iZm9ybVthbGJ1bUlkXSJ9IiB2YWx1ZT0ieyRmb3JtLmFsYnVtSWR9Ii8+CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ7Zy0+Zm9ybVZhciB2YXI9ImZvcm1bYWN0aW9uXVtzZXRPcHRpb25zXSJ9IiB2YWx1ZT0iMSIvPgogIDwvZGl2PgoKICA8ZGl2IGNsYXNzPSJnYkJsb2NrIj4KICAgIDxoMz4ge2ctPnRleHQgdGV4dD0iU3RhbmRhcmQgT3B0aW9ucyJ9IDwvaDM+CiAgICA8cCBjbGFzcz0iZ2lEZXNjcmlwdGlvbiI+CiAgICAgIHtnLT50ZXh0IHRleHQ9Ik5vdyB0aGF0IHlvdSBoYXZlIGNob3NlbiB0aGUgZGVzdGluYXRpb24gYWxidW0sIHRoZSBmb2xsb3dpbmcgb3B0aW9ucyBjYW4gYmUgdXNlZCB3aGVuIGFkZGluZyB0aGUgcGhvdG9zIHRvIEdhbGxlcnkuIn0KICAgIDwvcD4KCiAgICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9IntnLT5mb3JtVmFyIHZhcj0iZm9ybVtzdHJpcEV4dGVuc2lvbnNdIn0iIHtpZiAhZW1wdHkoJGZvcm0uc3RyaXBFeHRlbnNpb25zKX1jaGVja2Vkey9pZn0+CiAgICB7Zy0+dGV4dCB0ZXh0PSJTdHJpcCBmaWxlIGV4dGVuc2lvbnM/In0KCiAgICA8YnIvPgoKICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ie2ctPmZvcm1WYXIgdmFyPSJmb3JtW3NldENhcHRpb25zXSJ9IiB7aWYgIWVtcHR5KCRmb3JtLnNldENhcHRpb25zKX1jaGVja2Vkey9pZn0+CiAgICB7Zy0+dGV4dCB0ZXh0PSJTZXQgY2FwdGlvbnMgb24gdGhlIHB1Ymxpc2hlZCBpdGVtcz8ifQogIDwvZGl2PgoKICB7KiBJbmNsdWRlIG91ciBleHRyYSBJdGVtQWRkT3B0aW9ucyAqfQogIHtmb3JlYWNoIGZyb209JE9wdGlvbnMub3B0aW9ucyBpdGVtPW9wdGlvbn0KICAgIHtpbmNsdWRlIGZpbGU9ImdhbGxlcnk6YCRvcHRpb24uZmlsZWAiIGwxMERvbWFpbj0kb3B0aW9uLmwxMERvbWFpbn0KICB7L2ZvcmVhY2h9CjwvZm9ybT4K');
expand_cd7434ef68($outputDir, 'templates/PublishXpLogin.tpl', 'eyoKICogJFJldmlzaW9uOiAxNTM0MiAkCiAqIElmIHlvdSB3YW50IHRvIGN1c3RvbWl6ZSB0aGlzIGZpbGUsIGRvIG5vdCBlZGl0IGl0IGRpcmVjdGx5IHNpbmNlIGZ1dHVyZSB1cGdyYWRlcwogKiBtYXkgb3ZlcndyaXRlIGl0LiAgSW5zdGVhZCwgY29weSBpdCBpbnRvIGEgbmV3IGRpcmVjdG9yeSBjYWxsZWQgImxvY2FsIiBhbmQgZWRpdCB0aGF0CiAqIHZlcnNpb24uICBHYWxsZXJ5IHdpbGwgbG9vayBmb3IgdGhhdCBmaWxlIGZpcnN0IGFuZCB1c2UgaXQgaWYgaXQgZXhpc3RzLgogKn0KPGZvcm0gYWN0aW9uPSJ7Zy0+dXJsfSIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9InBvc3QiCiBpZD0icHVibGlzaFhwRm9ybSI+CiAgPGRpdj4KICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgIHNldFN1YnRpdGxlKCJ7Zy0+dGV4dCB0ZXh0PSJMb2dpbiB0byB5b3VyIGFjY291bnQifSIpOwogICAgICAgc2V0U3VibWl0T25OZXh0KHRydWUpOwogICAgICAgc2V0QnV0dG9ucyhmYWxzZSwgdHJ1ZSwgZmFsc2UpOwogICAgPC9zY3JpcHQ+CgogICAge2ctPmhpZGRlbkZvcm1WYXJzfQogICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ie2ctPmZvcm1WYXIgdmFyPSJjb250cm9sbGVyIn0iIHZhbHVlPSJwdWJsaXNoeHAuUHVibGlzaFhwTG9naW4iLz4KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IntnLT5mb3JtVmFyIHZhcj0iZm9ybVtmb3JtTmFtZV0ifSIgdmFsdWU9InskZm9ybS5mb3JtTmFtZX0iLz4KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IntnLT5mb3JtVmFyIHZhcj0iZm9ybVthY3Rpb25dW2xvZ2luXSJ9IiB2YWx1ZT0iMSIvPgogIDwvZGl2PgoKICA8ZGl2IGNsYXNzPSJnYkJsb2NrIj4KICAgIDxoND4KICAgICAge2ctPnRleHQgdGV4dD0iVXNlcm5hbWUifQogICAgPC9oND4KCiAgICA8aW5wdXQgaWQ9ImdpRm9ybVVzZXJuYW1lIiB0eXBlPSJ0ZXh0IiBuYW1lPSJ7Zy0+Zm9ybVZhciB2YXI9ImZvcm1bdXNlck5hbWVdIn0iCiAgICAgICAgICAgc2l6ZT0iMTYiIHZhbHVlPSJ7JGZvcm0udXNlck5hbWV9Ii8+CiAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3B1Ymxpc2hYcEZvcm0nKVsne2ctPmZvcm1WYXIKICAgICB2YXI9ImZvcm1bdXNlck5hbWVdIn0nXS5mb2N1cygpOzwvc2NyaXB0PgoKICAgIHtpZiBpc3NldCgkZm9ybS5lcnJvci51c2VyTmFtZS5taXNzaW5nKX0KICAgIDxkaXYgY2xhc3M9ImdpRXJyb3IiPgogICAgICB7Zy0+dGV4dCB0ZXh0PSJZb3UgbXVzdCBlbnRlciBhIHVzZXJuYW1lIn0KICAgIDwvZGl2PgogICAge2Vsc2VpZiBpc3NldCgkZm9ybS5lcnJvci51c2VyTmFtZS5kaXNhYmxlZCl9CiAgICA8ZGl2IGNsYXNzPSJnaUVycm9yIj4KICAgICAge2ctPnRleHQgdGV4dD0iTG9naW5zIHRlbXBvcmFyaWx5IGRpc2FibGVkIGR1ZSB0byBtdWx0aXBsZSBmYWlsZWQgbG9naW4gYXR0ZW1wdHMuIn0KICAgIDwvZGl2PgogICAgey9pZn0KCiAgICA8aDQ+IHtnLT50ZXh0IHRleHQ9IlBhc3N3b3JkIn0gPC9oND4KCiAgICA8aW5wdXQgaWQ9ImdpRm9ybVBhc3N3b3JkIiB0eXBlPSJwYXNzd29yZCIgc2l6ZT0iMTYiIG5hbWU9IntnLT5mb3JtVmFyIHZhcj0iZm9ybVtwYXNzd29yZF0ifSIvPgoKICAgIHtpZiBpc3NldCgkZm9ybS5lcnJvci5wYXNzd29yZC5taXNzaW5nKX0KICAgIDxkaXYgY2xhc3M9ImdpRXJyb3IiPgogICAgICB7Zy0+dGV4dCB0ZXh0PSJZb3UgbXVzdCBlbnRlciBhIHBhc3N3b3JkIn0KICAgIDwvZGl2PgogICAgey9pZn0KCiAgICB7aWYgaXNzZXQoJGZvcm0uZXJyb3IucGFzc3dvcmQuaW52YWxpZCl9CiAgICA8ZGl2IGNsYXNzPSJnaUVycm9yIj4KICAgICAge2ctPnRleHQgdGV4dD0iWW91ciBsb2dpbiBpbmZvcm1hdGlvbiBpcyBpbmNvcnJlY3QuICBQbGVhc2UgdHJ5IGFnYWluLiJ9CiAgICA8L2Rpdj4KICAgIHsvaWZ9CiAgPC9kaXY+CjwvZm9ybT4K');
expand_cd7434ef68($outputDir, 'templates/SelectAlbum.tpl', 'eyoKICogJFJldmlzaW9uOiAxNTM0MiAkCiAqIElmIHlvdSB3YW50IHRvIGN1c3RvbWl6ZSB0aGlzIGZpbGUsIGRvIG5vdCBlZGl0IGl0IGRpcmVjdGx5IHNpbmNlIGZ1dHVyZSB1cGdyYWRlcwogKiBtYXkgb3ZlcndyaXRlIGl0LiAgSW5zdGVhZCwgY29weSBpdCBpbnRvIGEgbmV3IGRpcmVjdG9yeSBjYWxsZWQgImxvY2FsIiBhbmQgZWRpdCB0aGF0CiAqIHZlcnNpb24uICBHYWxsZXJ5IHdpbGwgbG9vayBmb3IgdGhhdCBmaWxlIGZpcnN0IGFuZCB1c2UgaXQgaWYgaXQgZXhpc3RzLgogKn0KPGZvcm0gYWN0aW9uPSJ7Zy0+dXJsfSIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9InBvc3QiCiBpZD0icHVibGlzaFhwRm9ybSI+CiAgPGRpdj4KICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgLy8gPCFbQ0RBVEFbCiAgICAgIHtjYXB0dXJlIG5hbWU9dXJsfXtnLT51cmwgYXJnMT0idmlldz1wdWJsaXNoeHAuTmV3QWxidW0ifXsvY2FwdHVyZX0KICAgICAgc2V0U3VidGl0bGUoIntnLT50ZXh0IHRleHQ9IkNob29zZSBhbiBhbGJ1bSBmb3IgbmV3IHBob3Rvcywgb3IgY3JlYXRlIGEgbmV3IGFsYnVtLiIgYXJnMT0kc21hcnR5LmNhcHR1cmUudXJsfSIpOwogICAgICBzZXRPbkJhY2tVcmwoIntnLT51cmwgYXJnMT0idmlldz1wdWJsaXNoeHAuU2VsZWN0QWxidW0ifSIpOwogICAgICBzZXRTdWJtaXRPbk5leHQodHJ1ZSk7CiAgICAgIHNldEJ1dHRvbnMoZmFsc2UsIHRydWUsIGZhbHNlKTsKICAgICAgLy8gXV0+CiAgICA8L3NjcmlwdD4KCiAgICB7Zy0+aGlkZGVuRm9ybVZhcnN9CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ7Zy0+Zm9ybVZhciB2YXI9ImNvbnRyb2xsZXIifSIgdmFsdWU9InB1Ymxpc2h4cC5TZWxlY3RBbGJ1bSIvPgogICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ie2ctPmZvcm1WYXIgdmFyPSJmb3JtW2Zvcm1OYW1lXSJ9IiB2YWx1ZT0ieyRmb3JtLmZvcm1OYW1lfSIvPgogICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ie2ctPmZvcm1WYXIgdmFyPSJmb3JtW2FjdGlvbl1bc2VsZWN0XSJ9IiB2YWx1ZT0iMSIvPgogIDwvZGl2PgoKICA8ZGl2IGNsYXNzPSJnYkJsb2NrIj4KICAgIDxkaXY+CiAgICAgIDxzZWxlY3QgaWQ9IntnLT5mb3JtVmFyIHZhcj0iZm9ybVthbGJ1bUlkXSJ9IiBuYW1lPSJ7Zy0+Zm9ybVZhciB2YXI9ImZvcm1bYWxidW1JZF0ifSIKCSAgICAgIHNpemU9IjE1IiB3aWR0aD0iNDAiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luLXRvcDogMTBweCI+Cgl7Zm9yZWFjaCBmcm9tPSRTZWxlY3RBbGJ1bS5hbGJ1bVRyZWUgaXRlbT1hbGJ1bX0KCSAgPG9wdGlvbiB2YWx1ZT0ieyRhbGJ1bS5kYXRhLmlkfSIKICAgIAkgICAge2lmICgkYWxidW0uZGF0YS5pZCA9PSAkZm9ybS5hbGJ1bUlkKX1zZWxlY3RlZD0ic2VsZWN0ZWQiey9pZn0+CgkgICAgeyImbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsifHJlcGVhdDokYWxidW0uZGVwdGh9LS0KCSAgICB7JGFsYnVtLmRhdGEudGl0bGV8ZGVmYXVsdDokYWxidW0uZGF0YS5wYXRoQ29tcG9uZW50fQoJICA8L29wdGlvbj4KCXsvZm9yZWFjaH0KICAgICAgPC9zZWxlY3Q+CiAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncHVibGlzaFhwRm9ybScpWyd7Zy0+Zm9ybVZhcgogICAgICAgdmFyPSJmb3JtW2FsYnVtSWRdIn0nXS5mb2N1cygpOzwvc2NyaXB0PgogICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBjbGFzcz0iaW5wdXRUeXBlU3VibWl0IgogICAgICAgbmFtZT0ie2ctPmZvcm1WYXIgdmFyPSJmb3JtW2FjdGlvbl1bbmV3QWxidW1dIn0iIHZhbHVlPSJ7Zy0+dGV4dCB0ZXh0PSJOZXcgQWxidW0ifSIvPgoKICAgICAge2lmIGlzc2V0KCRmb3JtLmVycm9yLmFsYnVtSWQubWlzc2luZyl9CiAgICAgIDxkaXYgY2xhc3M9ImdpRXJyb3IiPgoJICB7Zy0+dGV4dCB0ZXh0PSJZb3UgbXVzdCBzZWxlY3QgYW4gYWxidW0ifQogICAgICA8L2Rpdj4KICAgICAgey9pZn0KICAgIDwvZGl2PgogIDwvZGl2Pgo8L2Zvcm0+Cg==');
expand_cd7434ef68($outputDir, 'templates/UploadItems.tpl', 'eyoKICogJFJldmlzaW9uOiAxNTM0MiAkCiAqIElmIHlvdSB3YW50IHRvIGN1c3RvbWl6ZSB0aGlzIGZpbGUsIGRvIG5vdCBlZGl0IGl0IGRpcmVjdGx5IHNpbmNlIGZ1dHVyZSB1cGdyYWRlcwogKiBtYXkgb3ZlcndyaXRlIGl0LiAgSW5zdGVhZCwgY29weSBpdCBpbnRvIGEgbmV3IGRpcmVjdG9yeSBjYWxsZWQgImxvY2FsIiBhbmQgZWRpdCB0aGF0CiAqIHZlcnNpb24uICBHYWxsZXJ5IHdpbGwgbG9vayBmb3IgdGhhdCBmaWxlIGZpcnN0IGFuZCB1c2UgaXQgaWYgaXQgZXhpc3RzLgogKn0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogIC8vIDwhW0NEQVRBWwogIHNldFN1YnRpdGxlKCIiKTsKICBzZXRPbkJhY2tVcmwoIntnLT51cmwgYXJnMT0idmlldz1wdWJsaXNoeHAuT3B0aW9ucyIgYXJnMj0iYWxidW1JZD1gJFVwbG9hZEl0ZW1zLmFsYnVtSWRgIiBhcmczPSJzZXRDYXB0aW9ucz1gJFVwbG9hZEl0ZW1zLnNldENhcHRpb25zYCIgYXJnND0ic3RyaXBFeHRlbnNpb25zPWAkVXBsb2FkSXRlbXMuc3RyaXBFeHRlbnNpb25zYCIgaHRtbEVudGl0aWVzPWZhbHNlfSIpOwogIHNldFN1Ym1pdE9uTmV4dCh0cnVlKTsKICBzZXRCdXR0b25zKGZhbHNlLCB0cnVlLCBmYWxzZSk7CgogIGZ1bmN0aW9uIHB1Ymxpc2hJdGVtcygpIHtsZGVsaW19CiAgICB2YXIgeG1sID0gd2luZG93LmV4dGVybmFsLlByb3BlcnR5KCJUcmFuc2Zlck1hbmlmZXN0Iik7CiAgICB2YXIgZmlsZXMgPSB4bWwuc2VsZWN0Tm9kZXMoInRyYW5zZmVybWFuaWZlc3QvZmlsZWxpc3QvZmlsZSIpOwoKICAgIGZvciAoaSA9IDA7IGkgPCBmaWxlcy5sZW5ndGg7IGkrKykge2xkZWxpbX0KICAgICAgdmFyIHBvc3RUYWcgPSB4bWwuY3JlYXRlTm9kZSgxLCAicG9zdCIsICIiKTsKICAgICAgcG9zdFRhZy5zZXRBdHRyaWJ1dGUoImhyZWYiLCAie2ctPnVybCBhcmcxPSJjb250cm9sbGVyPXB1Ymxpc2h4cC5VcGxvYWRJdGVtcyIgaHRtbEVudGl0aWVzPWZhbHNlIGZvcmNlRnVsbFVybD10cnVlfSIpOwogICAgICBwb3N0VGFnLnNldEF0dHJpYnV0ZSgibmFtZSIsICJ1c2VyRmlsZSIpOwoKICAgICAgdmFyIGRhdGFUYWcgPSB4bWwuY3JlYXRlTm9kZSgxLCAiZm9ybWRhdGEiLCAiIik7CiAgICAgIGRhdGFUYWcuc2V0QXR0cmlidXRlKCJuYW1lIiwgIk1BWF9GSUxFX1NJWkUiKTsKICAgICAgZGF0YVRhZy50ZXh0ID0gIjEwMDAwMDAwIjsKICAgICAgcG9zdFRhZy5hcHBlbmRDaGlsZChkYXRhVGFnKTsKCiAgICAgIHZhciBkYXRhVGFnID0geG1sLmNyZWF0ZU5vZGUoMSwgImZvcm1kYXRhIiwgIiIpOwogICAgICBkYXRhVGFnLnNldEF0dHJpYnV0ZSgibmFtZSIsICJ7Zy0+Zm9ybVZhciB2YXI9ImNvbnRyb2xsZXIifSIpOwogICAgICBkYXRhVGFnLnRleHQgPSAicHVibGlzaHhwLlVwbG9hZEl0ZW1zIjsKICAgICAgcG9zdFRhZy5hcHBlbmRDaGlsZChkYXRhVGFnKTsKCiAgICAgIHZhciBkYXRhVGFnID0geG1sLmNyZWF0ZU5vZGUoMSwgImZvcm1kYXRhIiwgIiIpOwogICAgICBkYXRhVGFnLnNldEF0dHJpYnV0ZSgibmFtZSIsICJ7Zy0+Zm9ybVZhciB2YXI9ImZvcm1bYWN0aW9uXVt1cGxvYWRJdGVtXSJ9Iik7CiAgICAgIGRhdGFUYWcudGV4dCA9ICIxIjsKICAgICAgcG9zdFRhZy5hcHBlbmRDaGlsZChkYXRhVGFnKTsKCiAgICAgIHZhciBkYXRhVGFnID0geG1sLmNyZWF0ZU5vZGUoMSwgImZvcm1kYXRhIiwgIiIpOwogICAgICBkYXRhVGFnLnNldEF0dHJpYnV0ZSgibmFtZSIsICJ7Zy0+Zm9ybVZhciB2YXI9ImZvcm1bYWxidW1JZF0ifSIpOwogICAgICBkYXRhVGFnLnRleHQgPSAieyRVcGxvYWRJdGVtcy5hbGJ1bUlkfSI7CiAgICAgIHBvc3RUYWcuYXBwZW5kQ2hpbGQoZGF0YVRhZyk7CgogICAgICB2YXIgZGF0YVRhZyA9IHhtbC5jcmVhdGVOb2RlKDEsICJmb3JtZGF0YSIsICIiKTsKICAgICAgZGF0YVRhZy5zZXRBdHRyaWJ1dGUoIm5hbWUiLCAie2ctPmZvcm1WYXIgdmFyPSJmb3JtW3NldENhcHRpb25zXSJ9Iik7CiAgICAgIGRhdGFUYWcudGV4dCA9ICJ7JFVwbG9hZEl0ZW1zLnNldENhcHRpb25zfSI7CiAgICAgIHBvc3RUYWcuYXBwZW5kQ2hpbGQoZGF0YVRhZyk7CgogICAgICB2YXIgZGF0YVRhZyA9IHhtbC5jcmVhdGVOb2RlKDEsICJmb3JtZGF0YSIsICIiKTsKICAgICAgZGF0YVRhZy5zZXRBdHRyaWJ1dGUoIm5hbWUiLCAie2ctPmZvcm1WYXIgdmFyPSJmb3JtW3N0cmlwRXh0ZW5zaW9uc10ifSIpOwogICAgICBkYXRhVGFnLnRleHQgPSAieyRVcGxvYWRJdGVtcy5zdHJpcEV4dGVuc2lvbnN9IjsKICAgICAgcG9zdFRhZy5hcHBlbmRDaGlsZChkYXRhVGFnKTsKCiAgICAgIGZpbGVzLml0ZW0oaSkuYXBwZW5kQ2hpbGQocG9zdFRhZyk7CiAgICB7cmRlbGltfQogICAgdmFyIHVwbG9hZFRhZyA9IHhtbC5jcmVhdGVOb2RlKDEsICJ1cGxvYWRpbmZvIiwgIiIpOwogICAgdmFyIGh0bWx1aVRhZyA9IHhtbC5jcmVhdGVOb2RlKDEsICJodG1sdWkiLCAiIik7CgogICAgaHRtbHVpVGFnLnRleHQgPSAie2ctPnVybCBhcmcxPSJ2aWV3PWNvcmUuU2hvd0l0ZW0iIGFyZzI9Iml0ZW1JZD1gJFVwbG9hZEl0ZW1zLmFsYnVtSWRgIiBodG1sRW50aXRpZXM9ZmFsc2UgZm9yY2VGdWxsVXJsPXRydWV9IjsKICAgIHVwbG9hZFRhZy5hcHBlbmRDaGlsZChodG1sdWlUYWcpOwoKICAgIHhtbC5kb2N1bWVudEVsZW1lbnQuYXBwZW5kQ2hpbGQodXBsb2FkVGFnKTsKCiAgICB3aW5kb3cuZXh0ZXJuYWwuUHJvcGVydHkoIlRyYW5zZmVyTWFuaWZlc3QiKT14bWw7CiAgICB3aW5kb3cuZXh0ZXJuYWwuRmluYWxOZXh0KCk7CiAge3JkZWxpbX0KCiAgcHVibGlzaEl0ZW1zKCk7CiAgLy8gXV0+Cjwvc2NyaXB0Pgo=');
}
function expand_cd7434ef68($outputDir, $relativePath, $data) {
$fd = fopen($outputDir . $relativePath, 'w');
fwrite($fd, base64_decode($data));
fclose($fd);
}
$unpackFunction = "unpack_cd7434ef68";
?>
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists