1789595936
c05b9b66eacc8e11cfd97f370d355f8b-phpdoc%3A606ab336fd5441a149d3e26e242fe455-ca1f9cc9fd15509d4c15db1626d53602
s:5516:"TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIjoxNDp7czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lIjtzOjE2OiJwYW5lbFBhZ2luYXMucGhwIjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAG5hbWVzcGFjZXMiO2E6MDp7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAaW5jbHVkZXMiO2E6MDp7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAZnVuY3Rpb25zIjthOjA6e31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGNvbnN0YW50cyI7YTowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBjbGFzc2VzIjthOjA6e31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGludGVyZmFjZXMiO2E6MDp7fXM6NDE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAdHJhaXRzIjthOjA6e31zOjQwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGVudW1zIjthOjA6e31zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGhhc2giO3M6MzI6ImNhMWY5Y2M5ZmQxNTUwOWQ0YzE1ZGIxNjI2ZDUzNjAyIjtzOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAHBhdGgiO3M6NDE6ImJhY2tlbmQvYXBpL3YycGdncC9ydXRhcy9wYW5lbFBhZ2luYXMucGhwIjtzOjQxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAHNvdXJjZSI7czoxODU4OiI8P3BocApkZWNsYXJlKHN0cmljdF90eXBlcz0xKTsKCi8qKgogKiBSdXRhcyBkZWwgUEFORUwgUMOBR0lOQVMg4oCUIGNhdMOhbG9nbyBkZSBtw7NkdWxvcyBkZWwgc2lzdGVtYS4KICoKICogTGVjdHVyYSB5IGVkaWNpw7NuIHBhcmEgQURNSU47IGVsIGJvcnJhZG8gcXVlZGEgcmVzZXJ2YWRvIGFsIFNVUEVSLCB5YQogKiBxdWUgZWxpbWluYXIgdW5hIHDDoWdpbmEgaW52YWxpZGEgbG9zIHBlcm1pc29zIHF1ZSBsYSByZWZlcmVuY2lhbi4KICoKICogQHBhY2thZ2UgdHJhY2tpbmdcYmFja2VuZFxhcGlcdjJccnV0YXMKICovCgpyZXR1cm4gWwoKICAgICdnZXRfcGFnaW5hcycgPT4gbmV3IFJ1dGEoCiAgICAgICAgYWNjZXNvOiAgQWNjZXNvOjpBRE1JTiwKICAgICAgICBhbWJpdG86ICBBbWJpdG86OlRSQUNLSU5HV0VCLAogICAgICAgIGhhbmRsZXI6IHN0YXRpYyBmdW5jdGlvbiAoQ29udGV4dG8gJGN0eCk6IG5ldmVyIHsKICAgICAgICAgICAgUmVzcHVlc3RhOjpkZWxDb250cm9sYWRvcihDb250cm9sYWRvclBhZ2luYXM6OmdldEFsbFBhZ2luYXMoKSk7CiAgICAgICAgfQogICAgKSwKCiAgICAnaW5zZXJ0X3BhZ2luYScgPT4gbmV3IFJ1dGEoCiAgICAgICAgYWNjZXNvOiAgQWNjZXNvOjpBRE1JTiwKICAgICAgICBhbWJpdG86ICBBbWJpdG86OlRSQUNLSU5HV0VCLAogICAgICAgIGhhbmRsZXI6IHN0YXRpYyBmdW5jdGlvbiAoQ29udGV4dG8gJGN0eCk6IG5ldmVyIHsKICAgICAgICAgICAgJGRhdG9zID0gJGN0eC0+anNvbigpOwogICAgICAgICAgICBpZiAoZW1wdHkoJGRhdG9zKSkgewogICAgICAgICAgICAgICAgUmVzcHVlc3RhOjplcnJvcignRGF0b3MgdmFjw61vcy4nLCA0MDApOwogICAgICAgICAgICB9CiAgICAgICAgICAgIFJlc3B1ZXN0YTo6ZGVsQ29udHJvbGFkb3IoQ29udHJvbGFkb3JQYWdpbmFzOjppbnNlcnRQYWdpbmEoJGRhdG9zKSk7CiAgICAgICAgfQogICAgKSwKCiAgICAndXBkYXRlX3BhZ2luYScgPT4gbmV3IFJ1dGEoCiAgICAgICAgYWNjZXNvOiAgQWNjZXNvOjpBRE1JTiwKICAgICAgICBhbWJpdG86ICBBbWJpdG86OlRSQUNLSU5HV0VCLAogICAgICAgIGhhbmRsZXI6IHN0YXRpYyBmdW5jdGlvbiAoQ29udGV4dG8gJGN0eCk6IG5ldmVyIHsKICAgICAgICAgICAgJGRhdG9zID0gJGN0eC0+anNvbigpOwogICAgICAgICAgICBpZiAoZW1wdHkoJGRhdG9zWydpZCddKSkgewogICAgICAgICAgICAgICAgUmVzcHVlc3RhOjplcnJvcignRmFsdGEgaWQuJywgNDAwKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBSZXNwdWVzdGE6OmRlbENvbnRyb2xhZG9yKENvbnRyb2xhZG9yUGFnaW5hczo6dXBkYXRlUGFnaW5hKCRkYXRvcykpOwogICAgICAgIH0KICAgICksCgogICAgJ2RlbGV0ZV9wYWdpbmEnID0+IG5ldyBSdXRhKAogICAgICAgIGFjY2VzbzogIEFjY2Vzbzo6U1VQRVIsCiAgICAgICAgYW1iaXRvOiAgQW1iaXRvOjpUUkFDS0lOR1dFQiwKICAgICAgICBoYW5kbGVyOiBzdGF0aWMgZnVuY3Rpb24gKENvbnRleHRvICRjdHgpOiBuZXZlciB7CiAgICAgICAgICAgICRpZCA9IChpbnQpKCRfUE9TVFsnaWQnXSA/PyAwKTsKICAgICAgICAgICAgaWYgKCRpZCA8PSAwKSB7CiAgICAgICAgICAgICAgICBSZXNwdWVzdGE6OmVycm9yKCdGYWx0YSBpZC4nLCA0MDApOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRtb2RvID0gdHJpbSgoc3RyaW5nKSgkX1BPU1RbJ21vZG8nXSA/PyAnc29mdCcpKSA9PT0gJ2hhcmQnID8gJ2hhcmQnIDogJ3NvZnQnOwoKICAgICAgICAgICAgUmVzcHVlc3RhOjpkZWxDb250cm9sYWRvcihDb250cm9sYWRvclBhZ2luYXM6OmRlbGV0ZVBhZ2luYSgkaWQsICRtb2RvKSk7CiAgICAgICAgfQogICAgKSwKXTsKIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo2MzoiUnV0YXMgZGVsIFBBTkVMIFDDgUdJTkFTIOKAlCBjYXTDoWxvZ28gZGUgbcOzZHVsb3MgZGVsIHNpc3RlbWEuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjEzNzoiTGVjdHVyYSB5IGVkaWNpw7NuIHBhcmEgQURNSU47IGVsIGJvcnJhZG8gcXVlZGEgcmVzZXJ2YWRvIGFsIFNVUEVSLCB5YQpxdWUgZWxpbWluYXIgdW5hIHDDoWdpbmEgaW52YWxpZGEgbG9zIHBlcm1pc29zIHF1ZSBsYSByZWZlcmVuY2lhbi4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcR2VuZXJpYyI6Mjp7czo3OiIAKgBuYW1lIjtzOjc6InBhY2thZ2UiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjI5OiJ0cmFja2luZ1xiYWNrZW5kXGFwaVx2MlxydXRhcyI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAbWV0YWRhdGEiO2E6MDp7fX0=";