125775|function.hash-pbkdf2|0|1612443457|php - ober-mail - de|SWYgeW91IGFyZSB3b25kZXJpbmcgd2hhdCB0aGUgcmVxdWlyZW1lbnRzIGFyZSBmb3IgdGhlIHNhbHQsIGhhdmUgYSBsb29rIGF0IHRoZSBSRkNbMV06CgoiVGhlIHNhbHQgcGFyYW1ldGVyIHNob3VsZCBiZSBhIHJhbmRvbSBzdHJpbmcgY29udGFpbmluZyBhdCBsZWFzdCA2NCBiaXRzIG9mIGVudHJvcHkuIFRoYXQgbWVhbnMgd2hlbiBnZW5lcmF0ZWQgZnJvbSBhIGZ1bmN0aW9uIGxpa2UgKm1jcnlwdF9jcmVhdGVfaXYqLCBhdCBsZWFzdCA4IGJ5dGVzIGxvbmcuIEJ1dCBmb3Igc2FsdHMgdGhhdCBjb25zaXN0IG9mIG9ubHkgKmEtekEtWjAtOSogKG9yIGFyZSBiYXNlXzY0IGVuY29kZWQpLCB0aGUgbWluaW11bSBsZW5ndGggc2hvdWxkIGJlIGF0IGxlYXN0IDExIGNoYXJhY3RlcnMuIEl0IHNob3VsZCBiZSBnZW5lcmF0ZWQgcmFuZG9tIGZvciBlYWNoIHBhc3N3b3JkIHRoYXQncyBoYXNoZWQsIGFuZCBzdG9yZWQgYWxvbmcgc2lkZSB0aGUgZ2VuZXJhdGVkIGtleS4iCgpbMV0gaHR0cHM6Ly93aWtpLnBocC5uZXQvcmZjL2hhc2hfcGJrZGYy|0|3 125774|function.hash-pbkdf2|100|1612443379|php . ober-mail . de|SWYgeW91IGFyZSB3b25kZXJpbmcgd2hhdCB0aGUgcmVxdWlyZW1lbnRzIGFyZSBmb3IgdGhlIHNhbHQsIGhhdmUgYSBsb29rIGF0IHRoZSBSRkNbMV06CgoiVGhlIHNhbHQgcGFyYW1ldGVyIHNob3VsZCBiZSBhIHJhbmRvbSBzdHJpbmcgY29udGFpbmluZyBhdCBsZWFzdCA2NCBiaXRzIG9mIGVudHJvcHkuIFRoYXQgbWVhbnMgd2hlbiBnZW5lcmF0ZWQgZnJvbSBhIGZ1bmN0aW9uIGxpa2UgKm1jcnlwdF9jcmVhdGVfaXYqLCBhdCBsZWFzdCA4IGJ5dGVzIGxvbmcuIEJ1dCBmb3Igc2FsdHMgdGhhdCBjb25zaXN0IG9mIG9ubHkgKmEtekEtWjAtOSogKG9yIGFyZSBiYXNlXzY0IGVuY29kZWQpLCB0aGUgbWluaW11bSBsZW5ndGggc2hvdWxkIGJlIGF0IGxlYXN0IDExIGNoYXJhY3RlcnMuIEl0IHNob3VsZCBiZSBnZW5lcmF0ZWQgcmFuZG9tIGZvciBlYWNoIHBhc3N3b3JkIHRoYXQncyBoYXNoZWQsIGFuZCBzdG9yZWQgYWxvbmcgc2lkZSB0aGUgZ2VuZXJhdGVkIGtleS4iCgpbMV0gaHR0cHM6Ly93aWtpLnBocC5uZXQvcmZjL2hhc2hfcGJrZGYy|2|0 125773|function.hash-pbkdf2|50|1612443336|php at ober-mail dot de|SWYgeW91IGFyZSB3b25kZXJpbmcgd2hhdCB0aGUgcmVxdWlyZW1lbnRzIGFyZSBmb3IgdGhlIHNhbHQsIGhhdmUgYSBsb29rIGF0IHRoZSBSRkNbMV06CgoiVGhlIHNhbHQgcGFyYW1ldGVyIHNob3VsZCBiZSBhIHJhbmRvbSBzdHJpbmcgY29udGFpbmluZyBhdCBsZWFzdCA2NCBiaXRzIG9mIGVudHJvcHkuIFRoYXQgbWVhbnMgd2hlbiBnZW5lcmF0ZWQgZnJvbSBhIGZ1bmN0aW9uIGxpa2UgKm1jcnlwdF9jcmVhdGVfaXYqLCBhdCBsZWFzdCA4IGJ5dGVzIGxvbmcuIEJ1dCBmb3Igc2FsdHMgdGhhdCBjb25zaXN0IG9mIG9ubHkgKmEtekEtWjAtOSogKG9yIGFyZSBiYXNlXzY0IGVuY29kZWQpLCB0aGUgbWluaW11bSBsZW5ndGggc2hvdWxkIGJlIGF0IGxlYXN0IDExIGNoYXJhY3RlcnMuIEl0IHNob3VsZCBiZSBnZW5lcmF0ZWQgcmFuZG9tIGZvciBlYWNoIHBhc3N3b3JkIHRoYXQncyBoYXNoZWQsIGFuZCBzdG9yZWQgYWxvbmcgc2lkZSB0aGUgZ2VuZXJhdGVkIGtleS4iCgpbMV0gaHR0cHM6Ly93aWtpLnBocC5uZXQvcmZjL2hhc2hfcGJrZGYy|1|1 124310|function.hash-pbkdf2|100|1571509498|Yahe|T24gYW4gZXJyb3IgaGFzaF9wYmtkZjIoKSB3aWxsIG5vdCBqdXN0IHJhaXNlIGFuIEVfV0FSTklORyBidXQgaXQgd2lsbCBhbHNvIHJldHVybiBGQUxTRS4=|2|0 124003|function.hash-pbkdf2|60|1562069775|gfilippakis at sleed dot gr|VGhpcyBpcyBhIHZlcnkgYmFzaWMgaW1wbGVtZW50YXRpb24gb2YgUmZjMjg5OERlcml2ZUJ5dGVzIGNsYXNzIHdpdGggb25seSAyIG9mIGl0cyBjb25zdHJ1Y3RvcnMgaW4gY2FzZSBzb21lb25lIGVsc2UgZmluZHMgaXQgdXNlZnVsLgoKY2xhc3MgUmZjMjg5OERlcml2ZUJ5dGVzCnsKICAgIHByaXZhdGUgJHRleHRUb0hhc2g7CiAgICBwcml2YXRlICRzYWx0Qnl0ZVNpemU7CiAgICAKICAgIHB1YmxpYyAkc2FsdDsKICAgIAogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRhcmcxLCAkYXJnMikKICAgIHsKICAgICAgICBpZiAoaXNfc3RyaW5nKCRhcmcxKSAmJiBpc19pbnRlZ2VyKCRhcmcyKSkgewogICAgICAgICAgICAkdGhpcy0+dGV4dFRvSGFzaCA9ICRhcmcxOwogICAgICAgICAgICAkdGhpcy0+c2FsdEJ5dGVTaXplID0gJGFyZzI7CiAgICAgICAgICAgICR0aGlzLT5zYWx0ID0gc3Vic3RyKAogICAgICAgICAgICAgICAgaGV4MmJpbihzaGExKHVuaXFpZCgnJywgdHJ1ZSkpKSwKICAgICAgICAgICAgICAgIDAsCiAgICAgICAgICAgICAgICAkdGhpcy0+c2FsdEJ5dGVTaXplCiAgICAgICAgICAgICk7CiAgICAgICAgfSBlbHNlaWYgKGlzX3N0cmluZygkYXJnMSkgJiYgaXNfc3RyaW5nKCRhcmcyKSkgewogICAgICAgICAgICAkdGhpcy0+dGV4dFRvSGFzaCA9ICRhcmcxOwogICAgICAgICAgICAkdGhpcy0+c2FsdCA9ICRhcmcyOwogICAgICAgIH0KICAgIH0KICAgIAogICAgcHVibGljIGZ1bmN0aW9uIGdldEJ5dGVzKCRzaXplKQogICAgewogICAgICAgIHJldHVybiBoYXNoX3Bia2RmMigKICAgICAgICAgICAgInNoYTEiLAogICAgICAgICAgICAkdGhpcy0+dGV4dFRvSGFzaCwKICAgICAgICAgICAgJHRoaXMtPnNhbHQsCiAgICAgICAgICAgIDEwMDAsCiAgICAgICAgICAgICRzaXplLAogICAgICAgICAgICB0cnVlCiAgICAgICAgKTsKICAgIH0KfQ==|3|2 122264|function.hash-pbkdf2|75|1515776188|Flimm|Tm90ZSB0aGF0IGlmICRyYXdfb3V0cHV0IGlzIGZhbHNlLCB0aGVuIHRoZSBvdXRwdXQgd2lsbCBiZSBlbmNvZGVkIHVzaW5nIGxvd2VyY2FzZSBoZXhpdHMuIFNvbWUgb3RoZXIgc3lzdGVtcyAoc3VjaCBhcyBEamFuZ28gMi4wKSB1c2UgYmFzZTY0IGluc3RlYWQuIFNvIGlmIHlvdSdyZSB0cnlpbmcgdG8gZ2VuZXJhdGUgaGFzaCBzdHJpbmdzIHRoYXQgYXJlIGNvbXBhdGlibGUgd2l0aCB0aG9zZSBzeXN0ZW1zLCB5b3UgY2FuIHVzZSB0aGUgYmFzZTY0X2VuY29kZSBmdW5jdGlvbiwgbGlrZSB0aGlzOgoKPD9waHAKCmVjaG8gYmFzZTY0X2VuY29kZSggaGFzaF9wYmtkZjIoICJzaGEyNTYiLCAiZXhhbXBsZSBwYXNzd29yZCIsICJCYmlyYkpxMUMxRzciLCAxMDAwMDAsIDAsIHRydWUgKSApOwoKPz4=|3|1 119850|function.hash-pbkdf2|93|1473151257|clarence.pchy(at)gmail.com|UGxlYXNlIHBheSBncmVhdCBhdHRlbnRpb24gdG8gdGhlICoqJGxlbmd0aCoqIHBhcmFtZXRlciEgSXQgaXMgZXhhY3RseSB0aGUgKipyZXR1cm4gc3RyaW5nIGxlbmd0aCoqLCBOT1QgdGhlIGxlbmd0aCBvZiByYXcgYmluYXJ5IGhhc2ggcmVzdWx0LgoKSSBoYWQgYSBiaWcgcHJvYmxlbSBhYm91dCB0aGlzIC0tIApJIHRob3VnaHQgdGhhdCBgaGFzaF9wYmtkZjIoLi4uZmFsc2UpYCBzaG91bGQgZXF1YWxzIHRvIGBiaW4yaGV4KGhhc2hfcGJrZGYyKC4uLnRydWUpKWAganVzdCBsaWtlIGBtZDUoJHgpYCBlcXVhbHMgYGJpbjJoZXgobWQ1KCR4LCB0cnVlKSlgLiBIb3dldmVyIEkgd2FzIHdyb25nOgoKaGFzaF9wYmtkZjIoJ3NoYTI1NicsICcxMjM0NTYnLCAnYWJjJywgMTAwMDAsIDUwLCBmYWxzZSk7IC8vIHJldHVybnMgc3RyaW5nKDUwKSAiNTg0YmM1YjQxMDA1MTY5ZjFmYTE1MTc3ZWRiNzhkNzVmOTg0NmFmYzQ2NmE0YmFlMDUiCmhhc2hfcGJrZGYyKCdzaGEyNTYnLCAnMTIzNDU2JywgJ2FiYycsIDEwMDAwLCA1MCwgdHJ1ZSk7IC8vIHJldHVybnMgc3RyaW5nKDUwKSAiWEvFtBAFFu+/vR/vv71Rd++/vXXvv73vv71q77+9RmpL77+9BRHvv73vv71CRlfvv70bWXBHHwnvv71tcC5nMu+/vWA7GU7vv70iCmJpbjJoZXgoaGFzaF9wYmtkZjIoJ3NoYTI1NicsICcxMjM0NTYnLCAnYWJjJywgMTAwMDAsIDUwLCB0cnVlKSk7IC8vIHJldHVybnMgc3RyaW5nKDEwMCkgIjU4NGJjNWI0MTAwNTE2OWYxZmExNTE3N2VkYjc4ZDc1Zjk4NDZhZmM0NjZhNGJhZTA1MTE5YzgyNDI0NjU3YzgxYjU5NzA0NzFmMDk4YTZkNzAyZTY3MzJiNzYwM2IxOTRlZmUiCgpTbyBJIGFkZCBzdWNoIGEgbm90ZS4gSG9wZSBpdCB3aWxsIGhlbHAgc29tZW9uZSBlbHNlIGxpa2UgbWUu|25|2 118589|function.hash-pbkdf2|50|1451995708|nimasdj [AT] yahoo [DOT] com|VGhlcmUgaXMgYSBtaXN0YWtlIGluIHRoZSBjbGFzcyBwcm92aWRlZCBieSBCaW5vZCBLdW1hciBMdWl0ZWwgKGh0dHA6Ly9waHAubmV0L21hbnVhbC9lbi9mdW5jdGlvbi5oYXNoLXBia2RmMi5waHAjMTEzNDg4KToKdGhpcyBsaW5lOgpyZXR1cm4gYmluMmhleChzdWJzdHIoJHRoaXMtPm91dHB1dCwgMCwgJHRoaXMtPmtleV9sZW5ndGgpKTsKbXVzdCBiZSBjaGFuZ2VkIHRvOgpyZXR1cm4gc3Vic3RyKGJpbjJoZXgoJHRoaXMtPm91dHB1dCksIDAsICR0aGlzLT5rZXlfbGVuZ3RoKTs=|1|1 118301|function.hash-pbkdf2|85|1447249533|Trevor Herselman|VGhpcyBpcyBhIGxpZ2h0LXdlaWdodCBkcm9wLWluIHJlcGxhY2VtZW50IGZvciBQSFAncyBoYXNoX3Bia2RmMigpOyB3cml0dGVuIGZvciBjb21wYXRpYmlsaXR5IHdpdGggb2xkZXIgdmVyc2lvbnMgb2YgUEhQLgpXcml0dGVuLCBmb3JtYXR0ZWQgYW5kIHRlc3RlZCBieSBteXNlbGYsIGJ1dCB1c2luZyBjb2RlIGFuZCBpZGVhcyBiYXNlZCBvbiB0aGUgZm9sbG93aW5nOgpodHRwczovL2RlZnVzZS5jYS9waHAtcGJrZGYyLmh0bQpodHRwczovL2dpdGh1Yi5jb20vcmNob3VpbmFyZC9oYXNoX3Bia2RmMi1jb21wYXQvYmxvYi9tYXN0ZXIvc3JjL2hhc2hfcGJrZGYyLnBocApodHRwczovL2dpc3QuZ2l0aHViLmNvbS9yc2t5LzUxMDQ3NTYKCk15IG1haW4gZ29hbHM6CjEpIE1heGltdW0gY29tcGF0aWJpbGl0eSB3aXRoIFBIUCBoYXNoX3Bia2RmMigpLCBpZS4gYSBkcm9wLWluIHJlcGxhY2VtZW50IGZ1bmN0aW9uCjIpIE1pbmltdW0gY29kZSBzaXplL2Jsb2F0CjMpIEVhc3kgdG8gY29weS9wYXN0ZQo0KSBObyBjbGFzc2VzLCBhbmQgbm90IGVuY2Fwc3VsYXRlZCBpbiBhIGNsYXNzISBXaHkgd3JpdGUgYSBjbGFzcyB3aGVuIGEgc2ltcGxlIGZ1bmN0aW9uIHdpbGwgZG8/CjUpIEVsaW1pbmF0ZSBjYWxscyB0byBzcHJpbnRmKCkuICh1c2VkIGJ5IG90aGVyIGV4YW1wbGVzIGZvciB0aGUgZXJyb3IgcmVwb3J0aW5nKQo2KSBObyBvdGhlciBkZXBlbmRlbmNpZXMsIGllLiBleHRyYSByZXF1aXJlZCBmdW5jdGlvbnMKCjw/cGhwCmlmICghZnVuY3Rpb25fZXhpc3RzKCdoYXNoX3Bia2RmMicpKQp7CglmdW5jdGlvbiBoYXNoX3Bia2RmMigkYWxnbywgJHBhc3N3b3JkLCAkc2FsdCwgJGNvdW50LCAkbGVuZ3RoID0gMCwgJHJhd19vdXRwdXQgPSBmYWxzZSkKCXsKCQlpZiAoIWluX2FycmF5KHN0cnRvbG93ZXIoJGFsZ28pLCBoYXNoX2FsZ29zKCkpKSB0cmlnZ2VyX2Vycm9yKF9fRlVOQ1RJT05fXyAuICcoKTogVW5rbm93biBoYXNoaW5nIGFsZ29yaXRobTogJyAuICRhbGdvLCBFX1VTRVJfV0FSTklORyk7CgkJaWYgKCFpc19udW1lcmljKCRjb3VudCkpIHRyaWdnZXJfZXJyb3IoX19GVU5DVElPTl9fIC4gJygpOiBleHBlY3RzIHBhcmFtZXRlciA0IHRvIGJlIGxvbmcsICcgLiBnZXR0eXBlKCRjb3VudCkgLiAnIGdpdmVuJywgRV9VU0VSX1dBUk5JTkcpOwoJCWlmICghaXNfbnVtZXJpYygkbGVuZ3RoKSkgdHJpZ2dlcl9lcnJvcihfX0ZVTkNUSU9OX18gLiAnKCk6IGV4cGVjdHMgcGFyYW1ldGVyIDUgdG8gYmUgbG9uZywgJyAuIGdldHR5cGUoJGxlbmd0aCkgLiAnIGdpdmVuJywgRV9VU0VSX1dBUk5JTkcpOwoJCWlmICgkY291bnQgPD0gMCkgdHJpZ2dlcl9lcnJvcihfX0ZVTkNUSU9OX18gLiAnKCk6IEl0ZXJhdGlvbnMgbXVzdCBiZSBhIHBvc2l0aXZlIGludGVnZXI6ICcgLiAkY291bnQsIEVfVVNFUl9XQVJOSU5HKTsKCQlpZiAoJGxlbmd0aCA8IDApIHRyaWdnZXJfZXJyb3IoX19GVU5DVElPTl9fIC4gJygpOiBMZW5ndGggbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMDogJyAuICRsZW5ndGgsIEVfVVNFUl9XQVJOSU5HKTsKCgkJJG91dHB1dCA9ICcnOwoJCSRibG9ja19jb3VudCA9ICRsZW5ndGggPyBjZWlsKCRsZW5ndGggLyBzdHJsZW4oaGFzaCgkYWxnbywgJycsICRyYXdfb3V0cHV0KSkpIDogMTsKCQlmb3IgKCRpID0gMTsgJGkgPD0gJGJsb2NrX2NvdW50OyAkaSsrKQoJCXsKCQkJJGxhc3QgPSAkeG9yc3VtID0gaGFzaF9obWFjKCRhbGdvLCAkc2FsdCAuIHBhY2soJ04nLCAkaSksICRwYXNzd29yZCwgdHJ1ZSk7CgkJCWZvciAoJGogPSAxOyAkaiA8ICRjb3VudDsgJGorKykKCQkJewoJCQkJJHhvcnN1bSBePSAoJGxhc3QgPSBoYXNoX2htYWMoJGFsZ28sICRsYXN0LCAkcGFzc3dvcmQsIHRydWUpKTsKCQkJfQoJCQkkb3V0cHV0IC49ICR4b3JzdW07CgkJfQoKCQlpZiAoISRyYXdfb3V0cHV0KSAkb3V0cHV0ID0gYmluMmhleCgkb3V0cHV0KTsKCQlyZXR1cm4gJGxlbmd0aCA/IHN1YnN0cigkb3V0cHV0LCAwLCAkbGVuZ3RoKSA6ICRvdXRwdXQ7Cgl9Cn0=|11|2 113728|function.hash-pbkdf2|0|1385046198|Peter|U2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3JjaG91aW5hcmQvaGFzaF9wYmtkZjItY29tcGF0IGZvciBhIGNvbXBhdGliaWxpdHkgZnVuY3Rpb24=|0|7 113528|function.hash-pbkdf2|90|1382715037|does dot not at matter dot org|dGhpcyBzbmlwcGV0IHdhcyBwb3N0ZWQgb3ZlciBhIHllYXIgYWdvIG9uIGEgZHV0Y2ggUEhQIGNvbW11bml0eTogKHJlZmVyZW5jZS9zb3VyY2U6IGh0dHA6Ly93d3cucGhwaHVscC5ubC9waHAvc2NyaXB0L2JldmVpbGlnaW5nL3Bia2RmMi1lZW4tdmVpbGlnZS1tYW5pZXItb20td2FjaHR3b29yZGVuLW9wLXRlLXNsYWFuLzE5NTYvcGJrZGYycGhwLzE3NTcvKQoKPD9waHAKCi8qKgogKiBAYXV0aG9yIENocmlzIEhvcmV3ZWcKICogQHBhY2thZ2UgU2VjdXJpdHlfVG9vbHMKICovCgpmdW5jdGlvbiBwYmtkZjIoJHBhc3N3b3JkLCAkc2FsdCwgJGFsZ29yaXRobSA9ICdzaGE1MTInLCAkY291bnQgPSAyMDAwMCwgJGtleV9sZW5ndGggPSAxMjgsICRyYXdfb3V0cHV0ID0gZmFsc2UpCnsKICAgIGlmKCFpbl9hcnJheSgkYWxnb3JpdGhtLCBoYXNoX2FsZ29zKCksIHRydWUpKSB7CiAgICAgICAgZXhpdCgncGJrZGYyOiBIYXNoIGFsZ29yaXRtZSBpcyBuaWV0IGdlaW5zdGFsbGVlcmQgb3AgaGV0IHN5c3RlZW0uJyk7CiAgICB9CiAgICAKICAgIGlmKCRjb3VudCA8PSAwIHx8ICRrZXlfbGVuZ3RoIDw9IDApIHsKICAgICAgICAkY291bnQgPSAyMDAwMDsKICAgICAgICAka2V5X2xlbmd0aCA9IDEyODsKICAgIH0KCiAgICAkaGFzaF9sZW5ndGggPSBzdHJsZW4oaGFzaCgkYWxnb3JpdGhtLCAiIiwgdHJ1ZSkpOwogICAgJGJsb2NrX2NvdW50ID0gY2VpbCgka2V5X2xlbmd0aCAvICRoYXNoX2xlbmd0aCk7CgogICAgJG91dHB1dCA9ICIiOwogICAgZm9yKCRpID0gMTsgJGkgPD0gJGJsb2NrX2NvdW50OyAkaSsrKSB7CiAgICAgICAgJGxhc3QgPSAkc2FsdCAuIHBhY2soIk4iLCAkaSk7CiAgICAgICAgJGxhc3QgPSAkeG9yc3VtID0gaGFzaF9obWFjKCRhbGdvcml0aG0sICRsYXN0LCAkcGFzc3dvcmQsIHRydWUpOwogICAgICAgIGZvciAoJGogPSAxOyAkaiA8ICRjb3VudDsgJGorKykgewogICAgICAgICAgICAkeG9yc3VtIF49ICgkbGFzdCA9IGhhc2hfaG1hYygkYWxnb3JpdGhtLCAkbGFzdCwgJHBhc3N3b3JkLCB0cnVlKSk7CiAgICAgICAgfQogICAgICAgICRvdXRwdXQgLj0gJHhvcnN1bTsKICAgIH0KCiAgICBpZigkcmF3X291dHB1dCkgewogICAgICAgIHJldHVybiBzdWJzdHIoJG91dHB1dCwgMCwgJGtleV9sZW5ndGgpOwogICAgfQogICAgZWxzZSB7CiAgICAgICAgcmV0dXJuIGJhc2U2NF9lbmNvZGUoc3Vic3RyKCRvdXRwdXQsIDAsICRrZXlfbGVuZ3RoKSk7CiAgICB9Cn0=|9|1 113488|function.hash-pbkdf2|50|1382048703|Binod Kumar Luitel|UGVvcGxlIHdobyB3YW50cyBwdXJlIFBIUCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgZnVuY3Rpb24sIGkuZS4gd2hvIGRvbid0IGhhdmUgUEhQIDUuNSBpbnN0YWxsZWQgd2l0aGluIHRoZWlyIHNlcnZlciwgY2FuIHVzZSB0aGUgZm9sbG93aW5nIGltcGxlbWVudGF0aW9uLiBOb3RoaW5nIGhhcyBiZWVuIG1vZGlmaWVkIHNvIGZhciBhcyBmcm9tIHJlZmVyZW5jZSBodHRwczovL2RlZnVzZS5jYS9waHAtcGJrZGYyLmh0bSBidXQgdGhlIE9PUCBsb3ZlcnMgbWlnaHQgbGlrZSB0aGlzLgpGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBQQktERjIgc2VlOiBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1BCS0RGMgoKPD9waHAKLyoqCiAqIFBCS0RGMiBrZXkgZGVyaXZhdGlvbiBmdW5jdGlvbiBhcyBkZWZpbmVkIGJ5IFJTQSdzIFBLQ1MgIzU6IGh0dHBzOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyODk4LnR4dAogKiAkYWxnb3JpdGhtIC0gVGhlIGhhc2ggYWxnb3JpdGhtIHRvIHVzZS4gUmVjb21tZW5kZWQ6IFNIQTI1NgogKiAkcGFzc3dvcmQgLSBUaGUgcGFzc3dvcmQuCiAqICRzYWx0IC0gQSBzYWx0IHRoYXQgaXMgdW5pcXVlIHRvIHRoZSBwYXNzd29yZC4KICogJGNvdW50IC0gSXRlcmF0aW9uIGNvdW50LiBIaWdoZXIgaXMgYmV0dGVyLCBidXQgc2xvd2VyLiBSZWNvbW1lbmRlZDogQXQgbGVhc3QgMTAwMC4KICogJGtleV9sZW5ndGggLSBUaGUgbGVuZ3RoIG9mIHRoZSBkZXJpdmVkIGtleSBpbiBieXRlcy4KICogJHJhd19vdXRwdXQgLSBJZiB0cnVlLCB0aGUga2V5IGlzIHJldHVybmVkIGluIHJhdyBiaW5hcnkgZm9ybWF0LiBIZXggZW5jb2RlZCBvdGhlcndpc2UuCiAqIFJldHVybnM6IEEgJGtleV9sZW5ndGgtYnl0ZSBrZXkgZGVyaXZlZCBmcm9tIHRoZSBwYXNzd29yZCBhbmQgc2FsdC4KICovCmlmICghZnVuY3Rpb25fZXhpc3RzKCJoYXNoX3Bia2RmMiIpKSB7CiAgICBmdW5jdGlvbiBoYXNoX3Bia2RmMigkYWxnb3JpdGhtLCAkcGFzc3dvcmQsICRzYWx0LCAkY291bnQsICRrZXlfbGVuZ3RoLCAkcmF3X291dHB1dCA9IGZhbHNlKSB7CgogICAgICAgIGNsYXNzIHBia2RmMiB7CiAgICAgICAgICAgIHB1YmxpYyAkYWxnb3JpdGhtOwogICAgICAgICAgICBwdWJsaWMgJHBhc3N3b3JkOwogICAgICAgICAgICBwdWJsaWMgJHNhbHQ7CiAgICAgICAgICAgIHB1YmxpYyAkY291bnQ7CiAgICAgICAgICAgIHB1YmxpYyAka2V5X2xlbmd0aDsKICAgICAgICAgICAgcHVibGljICRyYXdfb3V0cHV0OwoKICAgICAgICAgICAgcHJpdmF0ZSAkaGFzaF9sZW5ndGg7CiAgICAgICAgICAgIHByaXZhdGUgJG91dHB1dCAgICAgICAgID0gIiI7CgogICAgICAgICAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGRhdGEgPSBudWxsKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpZiAoJGRhdGEgIT0gbnVsbCkgewogICAgICAgICAgICAgICAgICAgICR0aGlzLT5pbml0KCRkYXRhKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgcHVibGljIGZ1bmN0aW9uIGluaXQoJGRhdGEpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICR0aGlzLT5hbGdvcml0aG0gID0gJGRhdGFbImFsZ29yaXRobSJdOwogICAgICAgICAgICAgICAgJHRoaXMtPnBhc3N3b3JkICAgPSAkZGF0YVsicGFzc3dvcmQiXTsKICAgICAgICAgICAgICAgICR0aGlzLT5zYWx0ICAgICAgID0gJGRhdGFbInNhbHQiXTsKICAgICAgICAgICAgICAgICR0aGlzLT5jb3VudCAgICAgID0gJGRhdGFbImNvdW50Il07CiAgICAgICAgICAgICAgICAkdGhpcy0+a2V5X2xlbmd0aCA9ICRkYXRhWyJrZXlfbGVuZ3RoIl07CiAgICAgICAgICAgICAgICAkdGhpcy0+cmF3X291dHB1dCA9ICRkYXRhWyJyYXdfb3V0cHV0Il07CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHB1YmxpYyBmdW5jdGlvbiBoYXNoKCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgJHRoaXMtPmFsZ29yaXRobSA9IHN0cnRvbG93ZXIoJHRoaXMtPmFsZ29yaXRobSk7CiAgICAgICAgICAgICAgICBpZighaW5fYXJyYXkoJHRoaXMtPmFsZ29yaXRobSwgaGFzaF9hbGdvcygpLCB0cnVlKSkKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdQQktERjIgRVJST1I6IEludmFsaWQgaGFzaCBhbGdvcml0aG0uJyk7CgogICAgICAgICAgICAgICAgaWYoJHRoaXMtPmNvdW50IDw9IDAgfHwgJHRoaXMtPmtleV9sZW5ndGggPD0gMCkKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdQQktERjIgRVJST1I6IEludmFsaWQgcGFyYW1ldGVycy4nKTsKCiAgICAgICAgICAgICAgICAkdGhpcy0+aGFzaF9sZW5ndGggPSBzdHJsZW4oaGFzaCgkdGhpcy0+YWxnb3JpdGhtLCAiIiwgdHJ1ZSkpOwogICAgICAgICAgICAgICAgJGJsb2NrX2NvdW50ID0gY2VpbCgkdGhpcy0+a2V5X2xlbmd0aCAvICR0aGlzLT5oYXNoX2xlbmd0aCk7CiAgICAgICAgICAgICAgICBmb3IgKCRpID0gMTsgJGkgPD0gJGJsb2NrX2NvdW50OyAkaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgLy8gJGkgZW5jb2RlZCBhcyA0IGJ5dGVzLCBiaWcgZW5kaWFuLgogICAgICAgICAgICAgICAgICAgICRsYXN0ID0gJHRoaXMtPnNhbHQgLiBwYWNrKCJOIiwgJGkpOwogICAgICAgICAgICAgICAgICAgIC8vIGZpcnN0IGl0ZXJhdGlvbgogICAgICAgICAgICAgICAgICAgICRsYXN0ID0gJHhvcnN1bSA9IGhhc2hfaG1hYygkdGhpcy0+YWxnb3JpdGhtLCAkbGFzdCwgJHRoaXMtPnBhc3N3b3JkLCB0cnVlKTsKICAgICAgICAgICAgICAgICAgICAvLyBwZXJmb3JtIHRoZSBvdGhlciAkdGhpcy0+Y291bnQgLSAxIGl0ZXJhdGlvbnMKICAgICAgICAgICAgICAgICAgICBmb3IgKCRqID0gMTsgJGogPCAkdGhpcy0+Y291bnQ7ICRqKyspIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHhvcnN1bSBePSAoJGxhc3QgPSBoYXNoX2htYWMoJHRoaXMtPmFsZ29yaXRobSwgJGxhc3QsICR0aGlzLT5wYXNzd29yZCwgdHJ1ZSkpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAkdGhpcy0+b3V0cHV0IC49ICR4b3JzdW07CiAgICAgICAgICAgICAgICAgICAgaWYoJHRoaXMtPnJhd19vdXRwdXQpCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzdWJzdHIoJHRoaXMtPm91dHB1dCwgMCwgJHRoaXMtPmtleV9sZW5ndGgpOwogICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGJpbjJoZXgoc3Vic3RyKCR0aGlzLT5vdXRwdXQsIDAsICR0aGlzLT5rZXlfbGVuZ3RoKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICRkYXRhID0gYXJyYXkoJ2FsZ29yaXRobScgPT4gJGFsZ29yaXRobSwgJ3Bhc3N3b3JkJyA9PiAkcGFzc3dvcmQsICdzYWx0JyA9PiAkc2FsdCwgJ2NvdW50JyA9PiAkY291bnQsICdrZXlfbGVuZ3RoJyA9PiAka2V5X2xlbmd0aCwgJ3Jhd19vdXRwdXQnID0+ICRyYXdfb3V0cHV0KTsKICAgICAgICB0cnkgewogICAgICAgICAgICAkcGJrZGYyID0gbmV3IHBia2RmMigkZGF0YSk7CiAgICAgICAgICAgIHJldHVybiAkcGJrZGYyLT5oYXNoKCk7CiAgICAgICAgfSBjYXRjaCAoRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgIHRocm93ICRlOwogICAgICAgIH0KICAgIH0KfQ==|3|3 112691|function.hash-pbkdf2|79|1373732971|Anonymous|U2FkbHkgdGhpcyBmdW5jdGlvbiB3YXMgYWRkZWQgaW4gUEhQIDUuNSBidXQgbWFueSB3ZWJzZXJ2ZXJzIGp1c3QgcHJvdmlkZSBQSFAgNS4zLiBCdXQgdGhlcmUgZXhpc3RzIGEgcHVyZSBQSFAgaW1wbGVtZW50YXRpb24gKGZvdW5kIGhlcmU6IGh0dHBzOi8vZGVmdXNlLmNhL3BocC1wYmtkZjIuaHRtKS4KSSB0b29rIHRoaXMgaW1wbGVtZW50YXRpb24sIHB1dCBpdCBpbnRvIGEgY2xhc3Mgd2l0aCBjb21tZW50cyBmb3IgUEhQRG9jIGFuZCBhZGRlZCBhIHN3aXRjaCBzbyB0aGF0IHRoZSBuYXRpdmUgUEhQIGZ1bmN0aW9uIGlzIHVzZWQgaWYgYXZhaWxhYmxlLgoKRmVlbCBmcmVlIHRvIHVzZSBpdCEKaHR0cDovL3Bhc3RlYmluLmNvbS9mNVBEcTczNQooUG9zdGVkIG9uIHBhc3RlYmluLmNvbSBzaW5jZSB0aGUgdGV4dCB3b3VsZCBoYXZlIGJlZW4gdG9vIGxvbmcp|11|3