ZGlmZiAtLWdpdCBhL3NyYy9kaWdyYXBoLmMgYi9zcmMvZGlncmFwaC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlNjFjZTIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvZGlncmFwaC5jCkBAIC0wLDAgKzEsMjUxMyBAQAorLyogdmk6c2V0IHRzPTggc3RzPTQgc3c9NDoKKyAqCisgKiBWSU0gLSBWaSBJTXByb3ZlZAlieSBCcmFtIE1vb2xlbmFhcgorICoKKyAqIERvICI6aGVscCB1Z2FuZGEiICBpbiBWaW0gdG8gcmVhZCBjb3B5aW5nIGFuZCB1c2FnZSBjb25kaXRpb25zLgorICogRG8gIjpoZWxwIGNyZWRpdHMiIGluIFZpbSB0byBzZWUgYSBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQuCisgKiBTZWUgUkVBRE1FLnR4dCBmb3IgYW4gb3ZlcnZpZXcgb2YgdGhlIFZpbSBzb3VyY2UgY29kZS4KKyAqLworCisvKgorICogZGlncmFwaC5jOiBjb2RlIGZvciBkaWdyYXBocworICovCisKKyNpbmNsdWRlICJ2aW0uaCIKKworI2lmIGRlZmluZWQoRkVBVF9ESUdSQVBIUykgfHwgZGVmaW5lZChQUk9UTykKKworI2lmZGVmIEZFQVRfTUJZVEUKK3R5cGVkZWYgaW50IHJlc3VsdF9UOworI2Vsc2UKK3R5cGVkZWYgY2hhcl91IHJlc3VsdF9UOworI2VuZGlmCisKK3R5cGVkZWYgc3RydWN0IGRpZ3JhcGgKK3sKKyAgICBjaGFyX3UJY2hhcjE7CisgICAgY2hhcl91CWNoYXIyOworICAgIHJlc3VsdF9UCXJlc3VsdDsKK30gZGlncl9UOworCitzdGF0aWMgaW50IGdldGV4YWN0ZGlncmFwaCBfX0FSR1MoKGludCwgaW50LCBpbnQpKTsKK3N0YXRpYyB2b2lkIHByaW50ZGlncmFwaCBfX0FSR1MoKGRpZ3JfVCAqKSk7CisKKy8qIGRpZ3JhcGhzIGFkZGVkIGJ5IHRoZSB1c2VyICovCitzdGF0aWMgZ2FycmF5X1QJdXNlcl9kaWdyYXBocyA9IHswLCAwLCBzaXplb2YoZGlncl9UKSwgMTAsIE5VTEx9OworCisvKgorICogTm90ZTogQ2hhcmFjdGVycyBtYXJrZWQgd2l0aCBYWCBhcmUgbm90IGluY2x1ZGVkIGxpdGVyYWxseSwgYmVjYXVzZSBzb21lCisgKiBjb21waWxlcnMgY2Fubm90IGhhbmRsZSB0aGVtIChBbWlnYSBTQVMvQyBpcyB0aGUgbW9zdCBwaWNreSBvbmUpLgorICovCisjaWYgZGVmaW5lZChNU0RPUykgfHwgZGVmaW5lZChPUzIpCisJLyoKKwkgKiBNU0RPUyBkaWdyYXBocy4KKwkgKi8KK2RpZ3JfVAlkaWdyYXBoZGVmYXVsdFtdID0KKyAgICAgICB7eydDJywgJywnLCAxMjh9LAkvKiB+QCBYWCAqLworCXsndScsICciJywgMTI5fSwJLyoggSAqLworCXsnZScsICdcJycsIDEzMH0sCS8qIIIgKi8KKwl7J2EnLCAnXicsIDEzMX0sCS8qIIMgKi8KKwl7J2EnLCAnIicsIDEzMn0sCS8qIIQgKi8KKwl7J2EnLCAnYCcsIDEzM30sCS8qIIUgKi8KKwl7J2EnLCAnQCcsIDEzNH0sCS8qIIYgKi8KKwl7J2MnLCAnLCcsIDEzNX0sCS8qIH5HIFhYICovCisJeydlJywgJ14nLCAxMzZ9LAkvKiB+SCBYWCAqLworCXsnZScsICciJywgMTM3fSwJLyogiSAqLworCXsnZScsICdgJywgMTM4fSwJLyogiiAqLworCXsnaScsICciJywgMTM5fSwJLyogiyAqLworCXsnaScsICdeJywgMTQwfSwJLyogjCAqLworCXsnaScsICdgJywgMTQxfSwJLyogjSAqLworCXsnQScsICciJywgMTQyfSwJLyogfk4gWFggKi8KKwl7J0EnLCAnQCcsIDE0M30sCS8qII8gKi8KKwl7J0UnLCAnXCcnLCAxNDR9LAkvKiCQICovCisJeydhJywgJ2UnLCAxNDV9LAkvKiCRICovCisJeydBJywgJ0UnLCAxNDZ9LAkvKiCSICovCisJeydvJywgJ14nLCAxNDd9LAkvKiCTICovCisJeydvJywgJyInLCAxNDh9LAkvKiCUICovCisJeydvJywgJ2AnLCAxNDl9LAkvKiCVICovCisJeyd1JywgJ14nLCAxNTB9LAkvKiCWICovCisJeyd1JywgJ2AnLCAxNTF9LAkvKiCXICovCisJeyd5JywgJyInLCAxNTJ9LAkvKiCYICovCisJeydPJywgJyInLCAxNTN9LAkvKiCZICovCisJeydVJywgJyInLCAxNTR9LAkvKiCaICovCisJeydjJywgJ3wnLCAxNTV9LAkvKiCbICovCisJeyckJywgJyQnLCAxNTZ9LAkvKiCcICovCisJeydZJywgJy0nLCAxNTd9LAkvKiB+XSBYWCAqLworCXsnUCcsICd0JywgMTU4fSwJLyogniAqLworCXsnZicsICdmJywgMTU5fSwJLyognyAqLworCXsnYScsICdcJycsIDE2MH0sCS8qIKAgKi8KKwl7J2knLCAnXCcnLCAxNjF9LAkvKiChICovCisJeydvJywgJ1wnJywgMTYyfSwJLyogoiAqLworCXsndScsICdcJycsIDE2M30sCS8qIHggWFggKi8KKwl7J24nLCAnficsIDE2NH0sCS8qIKQgKi8KKwl7J04nLCAnficsIDE2NX0sCS8qIKUgKi8KKwl7J2EnLCAnYScsIDE2Nn0sCS8qIKYgKi8KKwl7J28nLCAnbycsIDE2N30sCS8qIKcgKi8KKwl7J34nLCAnPycsIDE2OH0sCS8qIKggKi8KKwl7Jy0nLCAnYScsIDE2OX0sCS8qIKkgKi8KKwl7J2EnLCAnLScsIDE3MH0sCS8qIKogKi8KKwl7JzEnLCAnMicsIDE3MX0sCS8qIKsgKi8KKwl7JzEnLCAnNCcsIDE3Mn0sCS8qIKwgKi8KKwl7J34nLCAnIScsIDE3M30sCS8qIK0gKi8KKwl7JzwnLCAnPCcsIDE3NH0sCS8qIK4gKi8KKwl7Jz4nLCAnPicsIDE3NX0sCS8qIK8gKi8KKworCXsncycsICdzJywgMjI1fSwJLyog4SAqLworCXsnaicsICd1JywgMjMwfSwJLyog5iAqLworCXsnbycsICcvJywgMjM3fSwJLyog7SAqLworCXsnKycsICctJywgMjQxfSwJLyog8SAqLworCXsnPicsICc9JywgMjQyfSwJLyog8iAqLworCXsnPCcsICc9JywgMjQzfSwJLyog8yAqLworCXsnOicsICctJywgMjQ2fSwJLyog9iAqLworCXsnficsICd+JywgMjQ3fSwJLyog9yAqLworCXsnficsICdvJywgMjQ4fSwJLyog+CAqLworCXsnMicsICcyJywgMjUzfSwJLyog/SAqLworCXtOVUwsIE5VTCwgTlVMfQorCX07CisKKyNlbHNlCS8qICFNU0RPUyAmJiAhT1MyICovCisjIGlmZGVmIF9fTUlOVF9fCisKKwkvKgorCSAqIEFUQVJJIGRpZ3JhcGhzCisJICovCitkaWdyX1QJZGlncmFwaGRlZmF1bHRbXSA9CisgICAgICAge3snQycsICcsJywgMTI4fSwJLyogfkAgWFggKi8KKwl7J3UnLCAnIicsIDEyOX0sCS8qIIEgKi8KKwl7J2UnLCAnXCcnLCAxMzB9LAkvKiCCICovCisJeydhJywgJ14nLCAxMzF9LAkvKiCDICovCisJeydhJywgJyInLCAxMzJ9LAkvKiCEICovCisJeydhJywgJ2AnLCAxMzN9LAkvKiCFICovCisJeydhJywgJ0AnLCAxMzR9LAkvKiCGICovCisJeydjJywgJywnLCAxMzV9LAkvKiB+RyBYWCAqLworCXsnZScsICdeJywgMTM2fSwJLyogfkggWFggKi8KKwl7J2UnLCAnIicsIDEzN30sCS8qIIkgKi8KKwl7J2UnLCAnYCcsIDEzOH0sCS8qIIogKi8KKwl7J2knLCAnIicsIDEzOX0sCS8qIIsgKi8KKwl7J2knLCAnXicsIDE0MH0sCS8qIIwgKi8KKwl7J2knLCAnYCcsIDE0MX0sCS8qII0gKi8KKwl7J0EnLCAnIicsIDE0Mn0sCS8qII4gKi8KKwl7J0EnLCAnQCcsIDE0M30sCS8qII8gKi8KKwl7J0UnLCAnXCcnLCAxNDR9LAkvKiCQICovCisJeydhJywgJ2UnLCAxNDV9LAkvKiCRICovCisJeydBJywgJ0UnLCAxNDZ9LAkvKiCSICovCisJeydvJywgJ14nLCAxNDd9LAkvKiCTICovCisJeydvJywgJyInLCAxNDh9LAkvKiCUICovCisJeydvJywgJ2AnLCAxNDl9LAkvKiCVICovCisJeyd1JywgJ14nLCAxNTB9LAkvKiCWICovCisJeyd1JywgJ2AnLCAxNTF9LAkvKiCXICovCisJeyd5JywgJyInLCAxNTJ9LAkvKiCYICovCisJeydPJywgJyInLCAxNTN9LAkvKiCZICovCisJeydVJywgJyInLCAxNTR9LAkvKiCaICovCisJeydjJywgJ3wnLCAxNTV9LAkvKiCbICovCisJeyckJywgJyQnLCAxNTZ9LAkvKiCcICovCisJeydZJywgJy0nLCAxNTd9LAkvKiB+XSBYWCAqLworCXsncycsICdzJywgMTU4fSwJLyogniAqLworCXsnZicsICdmJywgMTU5fSwJLyognyAqLworCXsnYScsICdcJycsIDE2MH0sCS8qIKAgKi8KKwl7J2knLCAnXCcnLCAxNjF9LAkvKiChICovCisJeydvJywgJ1wnJywgMTYyfSwJLyogoiAqLworCXsndScsICdcJycsIDE2M30sCS8qIKMgKi8KKwl7J24nLCAnficsIDE2NH0sCS8qIKQgKi8KKwl7J04nLCAnficsIDE2NX0sCS8qIKUgKi8KKwl7J2EnLCAnYScsIDE2Nn0sCS8qIKYgKi8KKwl7J28nLCAnbycsIDE2N30sCS8qIKcgKi8KKwl7J34nLCAnPycsIDE2OH0sCS8qIKggKi8KKwl7Jy0nLCAnYScsIDE2OX0sCS8qIKkgKi8KKwl7J2EnLCAnLScsIDE3MH0sCS8qIKogKi8KKwl7JzEnLCAnMicsIDE3MX0sCS8qIKsgKi8KKwl7JzEnLCAnNCcsIDE3Mn0sCS8qIKwgKi8KKwl7J34nLCAnIScsIDE3M30sCS8qIK0gKi8KKwl7JzwnLCAnPCcsIDE3NH0sCS8qIK4gKi8KKwl7Jz4nLCAnPicsIDE3NX0sCS8qIK8gKi8KKwl7J2onLCAndScsIDIzMH0sCS8qIOYgKi8KKwl7J28nLCAnLycsIDIzN30sCS8qIO0gKi8KKwl7JysnLCAnLScsIDI0MX0sCS8qIPEgKi8KKwl7Jz4nLCAnPScsIDI0Mn0sCS8qIPIgKi8KKwl7JzwnLCAnPScsIDI0M30sCS8qIPMgKi8KKwl7JzonLCAnLScsIDI0Nn0sCS8qIPYgKi8KKwl7J34nLCAnficsIDI0N30sCS8qIPcgKi8KKwl7J34nLCAnbycsIDI0OH0sCS8qIPggKi8KKwl7JzInLCAnMicsIDI1M30sCS8qIP0gKi8KKwl7TlVMLCBOVUwsIE5VTH0KKwl9OworCisjIGVsc2UJLyogIV9fTUlOVF9fICovCisjICBpZmRlZiBIUFVYX0RJR1JBUEhTCisKKwkvKgorCSAqIGRpZmZlcmVudCBIUFVYIGRpZ3JhcGhzCisJICovCitkaWdyX1QJZGlncmFwaGRlZmF1bHRbXSA9CisgICAgICAge3snQScsICdgJywgMTYxfSwJLyogoSAqLworCXsnQScsICdeJywgMTYyfSwJLyogoiAqLworCXsnRScsICdgJywgMTYzfSwJLyogoyAqLworCXsnRScsICdeJywgMTY0fSwJLyogpCAqLworCXsnRScsICciJywgMTY1fSwJLyogpSAqLworCXsnSScsICdeJywgMTY2fSwJLyogpiAqLworCXsnSScsICciJywgMTY3fSwJLyogpyAqLworCXsnXCcnLCAnXCcnLCAxNjh9LAkvKiCoICovCisJeydgJywgJ2AnLCAxNjl9LAkvKiCpICovCisJeydeJywgJ14nLCAxNzB9LAkvKiCqICovCisJeyciJywgJyInLCAxNzF9LAkvKiCrICovCisJeyd+JywgJ34nLCAxNzJ9LAkvKiCsICovCisJeydVJywgJ2AnLCAxNzN9LAkvKiCtICovCisJeydVJywgJ14nLCAxNzR9LAkvKiCuICovCisJeydMJywgJz0nLCAxNzV9LAkvKiCvICovCisJeyd+JywgJ18nLCAxNzZ9LAkvKiCwICovCisJeydZJywgJ1wnJywgMTc3fSwJLyogsSAqLworCXsneScsICdcJycsIDE3OH0sCS8qILIgKi8KKwl7J34nLCAnbycsIDE3OX0sCS8qILMgKi8KKwl7J0MnLCAnLCcsIDE4MH0sCS8qILQgKi8KKwl7J2MnLCAnLCcsIDE4MX0sCS8qILUgKi8KKwl7J04nLCAnficsIDE4Mn0sCS8qILYgKi8KKwl7J24nLCAnficsIDE4M30sCS8qILcgKi8KKwl7J34nLCAnIScsIDE4NH0sCS8qILggKi8KKwl7J34nLCAnPycsIDE4NX0sCS8qILkgKi8KKwl7J28nLCAneCcsIDE4Nn0sCS8qILogKi8KKwl7J0wnLCAnLScsIDE4N30sCS8qILsgKi8KKwl7J1knLCAnPScsIDE4OH0sCS8qILwgKi8KKwl7J3AnLCAncCcsIDE4OX0sCS8qIL0gKi8KKwl7J2YnLCAnbCcsIDE5MH0sCS8qIL4gKi8KKwl7J2MnLCAnfCcsIDE5MX0sCS8qIL8gKi8KKwl7J2EnLCAnXicsIDE5Mn0sCS8qIMAgKi8KKwl7J2UnLCAnXicsIDE5M30sCS8qIMEgKi8KKwl7J28nLCAnXicsIDE5NH0sCS8qIMIgKi8KKwl7J3UnLCAnXicsIDE5NX0sCS8qIMMgKi8KKwl7J2EnLCAnXCcnLCAxOTZ9LAkvKiDEICovCisJeydlJywgJ1wnJywgMTk3fSwJLyogxSAqLworCXsnbycsICdcJycsIDE5OH0sCS8qIMYgKi8KKwl7J3UnLCAnXCcnLCAxOTl9LAkvKiDHICovCisJeydhJywgJ2AnLCAyMDB9LAkvKiDIICovCisJeydlJywgJ2AnLCAyMDF9LAkvKiDJICovCisJeydvJywgJ2AnLCAyMDJ9LAkvKiDKICovCisJeyd1JywgJ2AnLCAyMDN9LAkvKiDLICovCisJeydhJywgJyInLCAyMDR9LAkvKiDMICovCisJeydlJywgJyInLCAyMDV9LAkvKiDNICovCisJeydvJywgJyInLCAyMDZ9LAkvKiDOICovCisJeyd1JywgJyInLCAyMDd9LAkvKiDPICovCisJeydBJywgJ28nLCAyMDh9LAkvKiDQICovCisJeydpJywgJ14nLCAyMDl9LAkvKiDRICovCisJeydPJywgJy8nLCAyMTB9LAkvKiDSICovCisJeydBJywgJ0UnLCAyMTF9LAkvKiDTICovCisJeydhJywgJ28nLCAyMTJ9LAkvKiDUICovCisJeydpJywgJ1wnJywgMjEzfSwJLyog1SAqLworCXsnbycsICcvJywgMjE0fSwJLyog1iAqLworCXsnYScsICdlJywgMjE1fSwJLyog1yAqLworCXsnQScsICciJywgMjE2fSwJLyog2CAqLworCXsnaScsICdgJywgMjE3fSwJLyog2SAqLworCXsnTycsICciJywgMjE4fSwJLyog2iAqLworCXsnVScsICciJywgMjE5fSwJLyog2yAqLworCXsnRScsICdcJycsIDIyMH0sCS8qINwgKi8KKwl7J2knLCAnIicsIDIyMX0sCS8qIN0gKi8KKwl7J3MnLCAncycsIDIyMn0sCS8qIN4gKi8KKwl7J08nLCAnXicsIDIyM30sCS8qIN8gKi8KKwl7J0EnLCAnXCcnLCAyMjR9LAkvKiDgICovCisJeydBJywgJ34nLCAyMjV9LAkvKiDhICovCisJeydhJywgJ34nLCAyMjZ9LAkvKiDiICovCisJeydEJywgJy0nLCAyMjd9LAkvKiDjICovCisJeydkJywgJy0nLCAyMjh9LAkvKiDkICovCisJeydJJywgJ1wnJywgMjI5fSwJLyog5SAqLworCXsnSScsICdgJywgMjMwfSwJLyog5iAqLworCXsnTycsICdcJycsIDIzMX0sCS8qIOcgKi8KKwl7J08nLCAnYCcsIDIzMn0sCS8qIOggKi8KKwl7J08nLCAnficsIDIzM30sCS8qIOkgKi8KKwl7J28nLCAnficsIDIzNH0sCS8qIOogKi8KKwl7J1MnLCAnficsIDIzNX0sCS8qIOsgKi8KKwl7J3MnLCAnficsIDIzNn0sCS8qIOwgKi8KKwl7J1UnLCAnXCcnLCAyMzd9LAkvKiDtICovCisJeydZJywgJyInLCAyMzh9LAkvKiDuICovCisJeyd5JywgJyInLCAyMzl9LAkvKiDvICovCisJeydwJywgJy0nLCAyNDB9LAkvKiDwICovCisJeydwJywgJ34nLCAyNDF9LAkvKiDxICovCisJeyd+JywgJy4nLCAyNDJ9LAkvKiDyICovCisJeydqJywgJ3UnLCAyNDN9LAkvKiDzICovCisJeydQJywgJ3AnLCAyNDR9LAkvKiD0ICovCisJeyczJywgJzQnLCAyNDV9LAkvKiD1ICovCisJeyctJywgJy0nLCAyNDZ9LAkvKiD2ICovCisJeycxJywgJzQnLCAyNDd9LAkvKiD3ICovCisJeycxJywgJzInLCAyNDh9LAkvKiD4ICovCisJeydhJywgJ18nLCAyNDl9LAkvKiD5ICovCisJeydvJywgJ18nLCAyNTB9LAkvKiD6ICovCisJeyc8JywgJzwnLCAyNTF9LAkvKiD7ICovCisJeyd4JywgJ3gnLCAyNTJ9LAkvKiD8ICovCisJeyc+JywgJz4nLCAyNTN9LAkvKiD9ICovCisJeycrJywgJy0nLCAyNTR9LAkvKiD+ICovCisJeyduJywgJ3UnLCAyNTV9LAkvKiB4IFhYICovCisJe05VTCwgTlVMLCBOVUx9CisJfTsKKworIyAgZWxzZQkvKiAhSFBVWF9ESUdSQVBIUyAqLworCisjICAgaWZkZWYgRUJDRElDCisKKwkvKgorCSAqIEVCQ0RJQyAtIElTTyBkaWdyYXBocworCSAqIFRPRE86IEVCQ0RJQyBUYWJsZSBpcyBDb2RlLVBhZ2UgMTA0NworCSAqLworZGlncl9UCWRpZ3JhcGhkZWZhdWx0W10gPQorICAgICAgIHt7J2EnLCAnXicsICAgIDY2fSwJLyog4iAqLworCXsnYScsICciJywgICAgNjd9LAkvKiDkICovCisJeydhJywgJ2AnLCAgICA2OH0sCS8qIOAgKi8KKwl7J2EnLCAnXCcnLCAgIDY5fSwJLyog4SAqLworCXsnYScsICd+JywgICAgNzB9LAkvKiDjICovCisJeydhJywgJ0AnLCAgICA3MX0sCS8qIOUgKi8KKwl7J2EnLCAnYScsICAgIDcxfSwJLyog5SAqLworCXsnYycsICcsJywgICAgNzJ9LAkvKiDnICovCisJeyduJywgJ34nLCAgICA3M30sCS8qIPEgKi8KKwl7J2MnLCAnfCcsICAgIDc0fSwJLyogoiAqLworCXsnZScsICdcJycsICAgODF9LAkvKiDpICovCisJeydlJywgJ14nLCAgICA4Mn0sCS8qIOogKi8KKwl7J2UnLCAnIicsICAgIDgzfSwJLyog6yAqLworCXsnZScsICdgJywgICAgODR9LAkvKiDoICovCisJeydpJywgJ1wnJywgICA4NX0sCS8qIO0gKi8KKwl7J2knLCAnXicsICAgIDg2fSwJLyog7iAqLworCXsnaScsICciJywgICAgODd9LAkvKiDvICovCisJeydpJywgJ2AnLCAgICA4OH0sCS8qIOwgKi8KKwl7J3MnLCAncycsICAgIDg5fSwJLyog3yAqLworCXsnQScsICdeJywgICAgOTh9LAkvKiDCICovCisJeydBJywgJyInLCAgICA5OX0sCS8qIMQgKi8KKwl7J0EnLCAnYCcsICAgMTAwfSwJLyogwCAqLworCXsnQScsICdcJycsICAxMDF9LAkvKiDBICovCisJeydBJywgJ34nLCAgIDEwMn0sCS8qIMMgKi8KKwl7J0EnLCAnQCcsICAgMTAzfSwJLyogxSAqLworCXsnQScsICdBJywgICAxMDN9LAkvKiDFICovCisJeydDJywgJywnLCAgIDEwNH0sCS8qIMcgKi8KKwl7J04nLCAnficsICAgMTA1fSwJLyog0SAqLworCXsnfCcsICd8JywgICAxMDZ9LAkvKiCmICovCisJeydvJywgJy8nLCAgIDExMn0sCS8qIPggKi8KKwl7J0UnLCAnXCcnLCAgMTEzfSwJLyogySAqLworCXsnRScsICdeJywgICAxMTR9LAkvKiDKICovCisJeydFJywgJyInLCAgIDExNX0sCS8qIMsgKi8KKwl7J0UnLCAnYCcsICAgMTE2fSwJLyogyCAqLworCXsnSScsICdcJycsICAxMTd9LAkvKiDNICovCisJeydJJywgJ14nLCAgIDExOH0sCS8qIM4gKi8KKwl7J0knLCAnIicsICAgMTE5fSwJLyogzyAqLworCXsnSScsICdgJywgICAxMjB9LAkvKiDMICovCisJeydPJywgJy8nLCAgIDEyOH0sCS8qIDAvIFhYICovCisJeyc8JywgJzwnLCAgIDEzOH0sCS8qIKsgKi8KKwl7Jz4nLCAnPicsICAgMTM5fSwJLyoguyAqLworCXsnZCcsICctJywgICAxNDB9LAkvKiDwICovCisJeyd5JywgJ1wnJywgIDE0MX0sCS8qIP0gKi8KKwl7J2knLCAncCcsICAgMTQyfSwJLyog/iAqLworCXsnKycsICctJywgICAxNDN9LAkvKiCxICovCisJeyd+JywgJ28nLCAgIDE0NH0sCS8qILAgKi8KKwl7J2EnLCAnLScsICAgMTU0fSwJLyogqiAqLworCXsnbycsICctJywgICAxNTV9LAkvKiC6ICovCisJeydhJywgJ2UnLCAgIDE1Nn0sCS8qIOYgKi8KKwl7JywnLCAnLCcsICAgMTU3fSwJLyogLCBYWCAqLworCXsnQScsICdFJywgICAxNTh9LAkvKiDGICovCisJeydvJywgJ3gnLCAgIDE1OX0sCS8qIKQgLSBjdXJyZW5jeSBzeW1ib2wgaW4gSVNPIDg4NTktMSAqLworCXsnZScsICc9JywgICAxNTl9LAkvKiCkIC0gZXVybyBzeW1ib2wgaW4gSVNPIDg4NTktMTUgKi8KKwl7J2onLCAndScsICAgMTYwfSwJLyogtSAqLworCXsneScsICciJywgICAxNjd9LAkvKiB4IFhYICovCisJeyd+JywgJyEnLCAgIDE3MH0sCS8qIKEgKi8KKwl7J34nLCAnPycsICAgMTcxfSwJLyogvyAqLworCXsnRCcsICctJywgICAxNzJ9LAkvKiDQICovCisJeydJJywgJ3AnLCAgIDE3NH0sCS8qIN4gKi8KKwl7J3InLCAnTycsICAgMTc1fSwJLyogriAqLworCXsnLScsICcsJywgICAxNzZ9LAkvKiCsICovCisJeyckJywgJyQnLCAgIDE3N30sCS8qIKMgKi8KKwl7J1knLCAnLScsICAgMTc4fSwJLyogpSAqLworCXsnficsICcuJywgICAxNzl9LAkvKiC3ICovCisJeydjJywgJ08nLCAgIDE4MH0sCS8qIKkgKi8KKwl7J3AnLCAnYScsICAgMTgxfSwJLyogpyAqLworCXsncCcsICdwJywgICAxODJ9LAkvKiC2ICovCisJeycxJywgJzQnLCAgIDE4M30sCS8qILwgKi8KKwl7JzEnLCAnMicsICAgMTg0fSwJLyogvSAqLworCXsnMycsICc0JywgICAxODV9LAkvKiC+ICovCisJeydZJywgJ1wnJywgIDE4Nn0sCS8qIN0gKi8KKwl7JyInLCAnIicsICAgMTg3fSwJLyogqCAqLworCXsnLScsICc9JywgICAxODh9LAkvKiCvICovCisJeydcJycsICdcJycsIDE5MH0sCS8qILQgKi8KKwl7J08nLCAnRScsICAgMTkxfSwJLyog1yAtIE9FIGluIElTTyA4ODU5LTE1ICovCisJeycvJywgJ1xcJywgIDE5MX0sCS8qINcgLSBtdWx0aXBsaWNhdGlvbiBzeW1ib2wgaW4gSVNPIDg4NTktMSAqLworCXsnLScsICctJywgICAyMDJ9LAkvKiCtICovCisJeydvJywgJ14nLCAgIDIwM30sCS8qIPQgKi8KKwl7J28nLCAnIicsICAgMjA0fSwJLyog9iAqLworCXsnbycsICdgJywgICAyMDV9LAkvKiDyICovCisJeydvJywgJ1wnJywgIDIwNn0sCS8qIPMgKi8KKwl7J28nLCAnficsICAgMjA3fSwJLyog9SAqLworCXsnMScsICcxJywgICAyMTh9LAkvKiC5ICovCisJeyd1JywgJ14nLCAgIDIxOX0sCS8qIPsgKi8KKwl7J3UnLCAnIicsICAgMjIwfSwJLyog/CAqLworCXsndScsICdgJywgICAyMjF9LAkvKiD5ICovCisJeyd1JywgJ1wnJywgIDIyMn0sCS8qIPogKi8KKwl7JzonLCAnLScsICAgMjI1fSwJLyog9yAtIGRpdmlzaW9uIHN5bWJvbCBpbiBJU08gODg1OS0xICovCisJeydvJywgJ2UnLCAgIDIyNX0sCS8qIPcgLSBvZSBpbiBJU08gODg1OS0xNSAqLworCXsnMicsICcyJywgICAyMzR9LAkvKiCyICovCisJeydPJywgJ14nLCAgIDIzNX0sCS8qINQgKi8KKwl7J08nLCAnIicsICAgMjM2fSwJLyog1iAqLworCXsnTycsICdgJywgICAyMzd9LAkvKiDSICovCisJeydPJywgJ1wnJywgIDIzOH0sCS8qINMgKi8KKwl7J08nLCAnficsICAgMjM5fSwJLyog1SAqLworCXsnMycsICczJywgICAyNTB9LAkvKiCzICovCisJeydVJywgJ14nLCAgIDI1MX0sCS8qINsgKi8KKwl7J1UnLCAnIicsICAgMjUyfSwJLyog3CAqLworCXsnVScsICdgJywgICAyNTN9LAkvKiDZICovCisJeydVJywgJ1wnJywgIDI1NH0sCS8qINogKi8KKwl7TlVMLCBOVUwsIE5VTH0KKwl9OworCisjICAgZWxzZQorIyAgICBpZiBkZWZpbmVkKE1BQ09TKSAmJiAhZGVmaW5lZChGRUFUX01CWVRFKQorCisJLyoKKwkgKiBNYWNpbnRvc2ggZGlncmFwaHMKKwkgKi8KK2RpZ3JfVAlkaWdyYXBoZGVmYXVsdFtdID0KKyAgICAgICB7eydhJywgJ3QnLCA2NH0sCQkvKiBAICovCisJeydBJywgJyInLCAxMjh9LAkvKiB+QCBYWCAqLworCXsnQScsICdvJywgMTI5fSwJLyogxSAqLworCXsnQycsICcsJywgMTMwfSwJLyogxyAqLworCXsnRScsICdcJycsIDEzMX0sCS8qIMkgKi8KKwl7J04nLCAnficsIDEzMn0sCS8qINEgKi8KKwl7J08nLCAnIicsIDEzM30sCS8qINYgKi8KKwl7J1UnLCAnIicsIDEzNH0sCS8qINwgKi8KKwl7J2EnLCAnXCcnLCAxMzV9LAkvKiB+RyBYWCAqLworCXsnYScsICdgJywgMTM2fSwJLyogfkggWFggKi8KKwl7J2EnLCAnXicsIDEzN30sCS8qIOIgKi8KKwl7J2EnLCAnIicsIDEzOH0sCS8qIOQgKi8KKwl7J2EnLCAnficsIDEzOX0sCS8qIOMgKi8KKwl7J2EnLCAnbycsIDE0MH0sCS8qIOUgKi8KKwl7J2MnLCAnLCcsIDE0MX0sCS8qIOcgKi8KKwl7J2UnLCAnXCcnLCAxNDJ9LAkvKiDpICovCisJeydlJywgJ2AnLCAxNDN9LAkvKiDoICovCisJeydlJywgJ14nLCAxNDR9LAkvKiDqICovCisJeydlJywgJyInLCAxNDV9LAkvKiDrICovCisJeydpJywgJ1wnJywgMTQ2fSwJLyog7SAqLworCXsnaScsICdgJywgMTQ3fSwJLyog7CAqLworCXsnaScsICdeJywgMTQ4fSwJLyog7iAqLworCXsnaScsICciJywgMTQ5fSwJLyog7yAqLworCXsnbicsICd+JywgMTUwfSwJLyog8SAqLworCXsnbycsICdcJycsIDE1MX0sCS8qIPMgKi8KKwl7J28nLCAnYCcsIDE1Mn0sCS8qIPIgKi8KKwl7J28nLCAnXicsIDE1M30sCS8qIPQgKi8KKwl7J28nLCAnIicsIDE1NH0sCS8qIPYgKi8KKwl7J28nLCAnficsIDE1NX0sCS8qIG8gKi8KKwl7J3UnLCAnXCcnLCAxNTZ9LAkvKiD6ICovCisJeyd1JywgJ2AnLCAxNTd9LAkvKiB+XSBYWCAqLworCXsndScsICdeJywgMTU4fSwJLyog+yAqLworCXsndScsICciJywgMTU5fSwJLyog/CAqLworCXsnKycsICdfJywgMTYwfSwJLyog3SAqLworCXsnficsICdvJywgMTYxfSwJLyogsCAqLworCXsnYycsICd8JywgMTYyfSwJLyogoiAqLworCXsnJCcsICckJywgMTYzfSwJLyogoyAqLworCXsncCcsICdhJywgMTY0fSwJLyogpyAqLworCXsnLicsICcuJywgMTY1fSwJLyogKiAqLworCXsnUCcsICdQJywgMTY2fSwJLyogtiAqLworCXsncycsICdzJywgMTY3fSwJLyog3yAqLworCXsncicsICdPJywgMTY4fSwJLyogriAqLworCXsnYycsICdPJywgMTY5fSwJLyogqSAqLworCXsnVCcsICdNJywgMTcwfSwJLyoggSAqLworCXsnPScsICcvJywgMTczfSwJLyoggiAqLworCXsnQScsICdFJywgMTc0fSwJLyogxiAqLworCXsnTycsICcvJywgMTc1fSwJLyog2CAqLworCXsnMCcsICcwJywgMTc2fSwJLyoggyAqLworCXsnKycsICctJywgMTc3fSwJLyogsSAqLworCXsnPCcsICc9JywgMTc4fSwJLyogviAqLworCXsnPicsICc9JywgMTc5fSwJLyoghCAqLworCXsnWScsICctJywgMTgwfSwJLyogpSAqLworCXsnaicsICd1JywgMTgxfSwJLyogtSAqLworCXsnbScsICd1JywgMTgxfSwJLyogtSAqLworCXsnZCcsICdkJywgMTgyfSwJLyogjyAqLworCXsnUycsICdTJywgMTgzfSwJLyoghSAqLworCXsnUycsICdJJywgMTgzfSwJLyoghSAqLworCXsnUCcsICdJJywgMTg0fSwJLyogvSAqLworCXsncCcsICdpJywgMTg1fSwJLyogvCAqLworCXsnSScsICdJJywgMTg2fSwJLyoghiAqLworCXsnYScsICctJywgMTg3fSwJLyoguyAqLworCXsnbycsICctJywgMTg4fSwJLyoguiAqLworCXsnTycsICdNJywgMTg5fSwJLyogvSAqLworCXsnYScsICdlJywgMTkwfSwJLyog5iAqLworCXsnbycsICcvJywgMTkxfSwJLyog+CAqLworCXsnficsICc/JywgMTkyfSwJLyogvyAqLworCXsnficsICchJywgMTkzfSwJLyogoSAqLworCXsnLScsICcsJywgMTk0fSwJLyogrCAqLworCXsndicsICctJywgMTk1fSwJLyogfkggWFggKi8KKwl7J2YnLCAnLScsIDE5Nn0sCS8qIJ8gKi8KKwl7J34nLCAnficsIDE5N30sCS8qIIkgKi8KKwl7J0QnLCAnRScsIDE5OH0sCS8qIJAgKi8KKwl7JzwnLCAnPCcsIDE5OX0sCS8qIKsgKi8KKwl7Jz4nLCAnPicsIDIwMH0sCS8qILsgKi8KKwl7Jy4nLCAnOicsIDIwMX0sCS8qIIogKi8KKwl7J0EnLCAnYCcsIDIwM30sCS8qIMAgKi8KKwl7J0EnLCAnficsIDIwNH0sCS8qIMMgKi8KKwl7J08nLCAnficsIDIwNX0sCS8qINUgKi8KKwl7J08nLCAnRScsIDIwNn0sCS8qIJEgKi8KKwl7J28nLCAnZScsIDIwN30sCS8qIKYgKi8KKwl7Jy0nLCAnLicsIDIwOH0sCS8qIC0gKi8KKwl7Jy0nLCAnLScsIDIwOX0sCS8qIC0gKi8KKwl7J2AnLCAnYCcsIDIxMH0sCS8qICIgKi8KKwl7J1wnJywgJ1wnJywgMjExfSwJLyogIiAqLworCXsnYCcsICcgJywgMjEyfSwJLyogJyAqLworCXsnXCcnLCAnICcsIDIxM30sCS8qICcgKi8KKwl7Jy0nLCAnOicsIDIxNH0sCS8qIPcgKi8KKwl7J0QnLCAnSScsIDIxNX0sCS8qINcgKi8KKwl7J3knLCAnOicsIDIxNn0sCS8qIP8gKi8KKwl7J1knLCAnOicsIDIxN30sCS8qII0gKi8KKwl7Jy8nLCAnLycsIDIxOH0sCS8qII4gKi8KKwl7J0UnLCAnPScsIDIxOX0sCS8qIKQgRXVybyBTeXN0ZW0gPj04LjUgKi8KKwl7J28nLCAneCcsIDIxOX0sCS8qIKQgQ3VycmVuY3kgU3lzdGVtIDw9OC4xKi8KKwl7JzwnLCAnICcsIDIyMH0sCS8qINAgKi8KKwl7Jz4nLCAnICcsIDIyMX0sCS8qIPAgKi8KKwl7J2YnLCAnaScsIDIyMn0sCS8qIN4gKi8KKwl7J2YnLCAnbCcsIDIyM30sCS8qIP4gKi8KKwl7JysnLCAnKycsIDIyNH0sCS8qIP0gKi8KKwl7J34nLCAnLicsIDIyNX0sCS8qILcgKi8KKwl7JywnLCAnICcsIDIyNn0sCS8qIJIgKi8KKwl7JywnLCAnLCcsIDIyN30sCS8qIJMgKi8KKwl7JyUnLCAnLicsIDIyOH0sCS8qIJQgKi8KKwl7JyUnLCAnMCcsIDIyOH0sCS8qIJQgKi8KKwl7J0EnLCAnXicsIDIyOX0sCS8qIMIgKi8KKwl7J0UnLCAnXicsIDIzMH0sCS8qIMogKi8KKwl7J0EnLCAnXCcnLCAyMzF9LAkvKiDBICovCisJeydFJywgJyInLCAyMzJ9LAkvKiDLICovCisJeydFJywgJ2AnLCAyMzN9LAkvKiDIICovCisJeydJJywgJ1wnJywgMjM0fSwJLyogzSAqLworCXsnSScsICdeJywgMjM1fSwJLyogziAqLworCXsnSScsICciJywgMjM2fSwJLyogzyAqLworCXsnSScsICdgJywgMjM3fSwJLyogzCAqLworCXsnTycsICdcJycsIDIzOH0sCS8qINMgKi8KKwl7J08nLCAnXicsIDIzOX0sCS8qINQgKi8KKwl7J0EnLCAnUCcsIDI0MH0sCS8qIJUgKi8KKwl7J08nLCAnYCcsIDI0MX0sCS8qINIgKi8KKwl7J1UnLCAnXCcnLCAyNDJ9LAkvKiDaICovCisJeydVJywgJ14nLCAyNDN9LAkvKiDbICovCisJeydVJywgJ2AnLCAyNDR9LAkvKiDZICovCisJeydpJywgJy4nLCAyNDV9LAkvKiCeICovCisJe05VTCwgTlVMLCBOVUx9CisJfTsKKworIyAgICBlbHNlCS8qICFNQUNPUyAqLworCisjICAgICBpZmRlZiBPTERfRElHUkFQSFMKKworCS8qCisJICogZGlncmFwaHMgY29tcGF0aWJsZSB3aXRoIFZpbSA1LngKKwkgKi8KK2RpZ3JfVAlkaWdyYXBoZGVmYXVsdFtdID0KKyAgICAgICB7eyd+JywgJyEnLCAxNjF9LAkvKiChICovCisJeydjJywgJ3wnLCAxNjJ9LAkvKiCiICovCisJeyckJywgJyQnLCAxNjN9LAkvKiCjICovCisJeydvJywgJ3gnLCAxNjR9LAkvKiCkIC0gY3VycmVuY3kgc3ltYm9sIGluIElTTyA4ODU5LTEgKi8KKwl7J2UnLCAnPScsIDE2NH0sCS8qIKQgLSBldXJvIHN5bWJvbCBpbiBJU08gODg1OS0xNSAqLworCXsnWScsICctJywgMTY1fSwJLyogpSAqLworCXsnfCcsICd8JywgMTY2fSwJLyogpiAqLworCXsncCcsICdhJywgMTY3fSwJLyogpyAqLworCXsnIicsICciJywgMTY4fSwJLyogqCAqLworCXsnYycsICdPJywgMTY5fSwJLyogqSAqLworCXsnYScsICctJywgMTcwfSwJLyogqiAqLworCXsnPCcsICc8JywgMTcxfSwJLyogqyAqLworCXsnLScsICcsJywgMTcyfSwJLyogrCAqLworCXsnLScsICctJywgMTczfSwJLyogrSAqLworCXsncicsICdPJywgMTc0fSwJLyogriAqLworCXsnLScsICc9JywgMTc1fSwJLyogryAqLworCXsnficsICdvJywgMTc2fSwJLyogsCAqLworCXsnKycsICctJywgMTc3fSwJLyogsSAqLworCXsnMicsICcyJywgMTc4fSwJLyogsiAqLworCXsnMycsICczJywgMTc5fSwJLyogsyAqLworCXsnXCcnLCAnXCcnLCAxODB9LAkvKiC0ICovCisJeydqJywgJ3UnLCAxODF9LAkvKiC1ICovCisJeydwJywgJ3AnLCAxODJ9LAkvKiC2ICovCisJeyd+JywgJy4nLCAxODN9LAkvKiC3ICovCisJeycsJywgJywnLCAxODR9LAkvKiC4ICovCisJeycxJywgJzEnLCAxODV9LAkvKiC5ICovCisJeydvJywgJy0nLCAxODZ9LAkvKiC6ICovCisJeyc+JywgJz4nLCAxODd9LAkvKiC7ICovCisJeycxJywgJzQnLCAxODh9LAkvKiC8ICovCisJeycxJywgJzInLCAxODl9LAkvKiC9ICovCisJeyczJywgJzQnLCAxOTB9LAkvKiC+ICovCisJeyd+JywgJz8nLCAxOTF9LAkvKiC/ICovCisJeydBJywgJ2AnLCAxOTJ9LAkvKiDAICovCisJeydBJywgJ1wnJywgMTkzfSwJLyogwSAqLworCXsnQScsICdeJywgMTk0fSwJLyogwiAqLworCXsnQScsICd+JywgMTk1fSwJLyogwyAqLworCXsnQScsICciJywgMTk2fSwJLyogxCAqLworCXsnQScsICdAJywgMTk3fSwJLyogxSAqLworCXsnQScsICdBJywgMTk3fSwJLyogxSAqLworCXsnQScsICdFJywgMTk4fSwJLyogxiAqLworCXsnQycsICcsJywgMTk5fSwJLyogxyAqLworCXsnRScsICdgJywgMjAwfSwJLyogyCAqLworCXsnRScsICdcJycsIDIwMX0sCS8qIMkgKi8KKwl7J0UnLCAnXicsIDIwMn0sCS8qIMogKi8KKwl7J0UnLCAnIicsIDIwM30sCS8qIMsgKi8KKwl7J0knLCAnYCcsIDIwNH0sCS8qIMwgKi8KKwl7J0knLCAnXCcnLCAyMDV9LAkvKiDNICovCisJeydJJywgJ14nLCAyMDZ9LAkvKiDOICovCisJeydJJywgJyInLCAyMDd9LAkvKiDPICovCisJeydEJywgJy0nLCAyMDh9LAkvKiDQICovCisJeydOJywgJ34nLCAyMDl9LAkvKiDRICovCisJeydPJywgJ2AnLCAyMTB9LAkvKiDSICovCisJeydPJywgJ1wnJywgMjExfSwJLyog0yAqLworCXsnTycsICdeJywgMjEyfSwJLyog1CAqLworCXsnTycsICd+JywgMjEzfSwJLyog1SAqLworCXsnTycsICciJywgMjE0fSwJLyog1iAqLworCXsnLycsICdcXCcsIDIxNX0sCS8qINcgLSBtdWx0aXBsaWNhdGlvbiBzeW1ib2wgaW4gSVNPIDg4NTktMSAqLworCXsnTycsICdFJywgMjE1fSwJLyog1yAtIE9FIGluIElTTyA4ODU5LTE1ICovCisJeydPJywgJy8nLCAyMTZ9LAkvKiDYICovCisJeydVJywgJ2AnLCAyMTd9LAkvKiDZICovCisJeydVJywgJ1wnJywgMjE4fSwJLyog2iAqLworCXsnVScsICdeJywgMjE5fSwJLyog2yAqLworCXsnVScsICciJywgMjIwfSwJLyog3CAqLworCXsnWScsICdcJycsIDIyMX0sCS8qIN0gKi8KKwl7J0knLCAncCcsIDIyMn0sCS8qIN4gKi8KKwl7J3MnLCAncycsIDIyM30sCS8qIN8gKi8KKwl7J2EnLCAnYCcsIDIyNH0sCS8qIOAgKi8KKwl7J2EnLCAnXCcnLCAyMjV9LAkvKiDhICovCisJeydhJywgJ14nLCAyMjZ9LAkvKiDiICovCisJeydhJywgJ34nLCAyMjd9LAkvKiDjICovCisJeydhJywgJyInLCAyMjh9LAkvKiDkICovCisJeydhJywgJ0AnLCAyMjl9LAkvKiDlICovCisJeydhJywgJ2EnLCAyMjl9LAkvKiDlICovCisJeydhJywgJ2UnLCAyMzB9LAkvKiDmICovCisJeydjJywgJywnLCAyMzF9LAkvKiDnICovCisJeydlJywgJ2AnLCAyMzJ9LAkvKiDoICovCisJeydlJywgJ1wnJywgMjMzfSwJLyog6SAqLworCXsnZScsICdeJywgMjM0fSwJLyog6iAqLworCXsnZScsICciJywgMjM1fSwJLyog6yAqLworCXsnaScsICdgJywgMjM2fSwJLyog7CAqLworCXsnaScsICdcJycsIDIzN30sCS8qIO0gKi8KKwl7J2knLCAnXicsIDIzOH0sCS8qIO4gKi8KKwl7J2knLCAnIicsIDIzOX0sCS8qIO8gKi8KKwl7J2QnLCAnLScsIDI0MH0sCS8qIPAgKi8KKwl7J24nLCAnficsIDI0MX0sCS8qIPEgKi8KKwl7J28nLCAnYCcsIDI0Mn0sCS8qIPIgKi8KKwl7J28nLCAnXCcnLCAyNDN9LAkvKiDzICovCisJeydvJywgJ14nLCAyNDR9LAkvKiD0ICovCisJeydvJywgJ34nLCAyNDV9LAkvKiD1ICovCisJeydvJywgJyInLCAyNDZ9LAkvKiD2ICovCisJeyc6JywgJy0nLCAyNDd9LAkvKiD3IC0gZGl2aXNpb24gc3ltYm9sIGluIElTTyA4ODU5LTEgKi8KKwl7J28nLCAnZScsIDI0N30sCS8qIPcgLSBvZSBpbiBJU08gODg1OS0xNSAqLworCXsnbycsICcvJywgMjQ4fSwJLyog+CAqLworCXsndScsICdgJywgMjQ5fSwJLyog+SAqLworCXsndScsICdcJycsIDI1MH0sCS8qIPogKi8KKwl7J3UnLCAnXicsIDI1MX0sCS8qIPsgKi8KKwl7J3UnLCAnIicsIDI1Mn0sCS8qIPwgKi8KKwl7J3knLCAnXCcnLCAyNTN9LAkvKiD9ICovCisJeydpJywgJ3AnLCAyNTR9LAkvKiD+ICovCisJeyd5JywgJyInLCAyNTV9LAkvKiB4IFhYICovCisJe05VTCwgTlVMLCBOVUx9CisJfTsKKyMgICAgIGVsc2UgLyogT0xEX0RJR1JBUEhTICovCisKKwkvKgorCSAqIGRpZ3JhcGhzIGZvciBVbmljb2RlIGZyb20gUkZDMTM0NQorCSAqIChhbHNvIHdvcmsgZm9yIElTTy04ODU5LTEgYWthIGxhdGluMSkKKwkgKi8KK2RpZ3JfVAlkaWdyYXBoZGVmYXVsdFtdID0KKyAgICAgICB7CisJeydOJywgJ1UnLCAweDBhfSwJLyogTEYgZm9yIE5VTCAqLworCXsnUycsICdIJywgMHgwMX0sCisJeydTJywgJ1gnLCAweDAyfSwKKwl7J0UnLCAnWCcsIDB4MDN9LAorCXsnRScsICdUJywgMHgwNH0sCisJeydFJywgJ1EnLCAweDA1fSwKKwl7J0EnLCAnSycsIDB4MDZ9LAorCXsnQicsICdMJywgMHgwN30sCisJeydCJywgJ1MnLCAweDA4fSwKKwl7J0gnLCAnVCcsIDB4MDl9LAorCXsnTCcsICdGJywgMHgwYX0sCisJeydWJywgJ1QnLCAweDBifSwKKwl7J0YnLCAnRicsIDB4MGN9LAorCXsnQycsICdSJywgMHgwZH0sCisJeydTJywgJ08nLCAweDBlfSwKKwl7J1MnLCAnSScsIDB4MGZ9LAorCXsnRCcsICdMJywgMHgxMH0sCisJeydEJywgJzEnLCAweDExfSwKKwl7J0QnLCAnMicsIDB4MTJ9LAorCXsnRCcsICczJywgMHgxM30sCisJeydEJywgJzQnLCAweDE0fSwKKwl7J04nLCAnSycsIDB4MTV9LAorCXsnUycsICdZJywgMHgxNn0sCisJeydFJywgJ0InLCAweDE3fSwKKwl7J0MnLCAnTicsIDB4MTh9LAorCXsnRScsICdNJywgMHgxOX0sCisJeydTJywgJ0InLCAweDFhfSwKKwl7J0UnLCAnQycsIDB4MWJ9LAorCXsnRicsICdTJywgMHgxY30sCisJeydHJywgJ1MnLCAweDFkfSwKKwl7J1InLCAnUycsIDB4MWV9LAorCXsnVScsICdTJywgMHgxZn0sCisJeydTJywgJ1AnLCAweDIwfSwKKwl7J04nLCAnYicsIDB4MjN9LAorCXsnRCcsICdPJywgMHgyNH0sCisJeydBJywgJ3QnLCAweDQwfSwKKwl7JzwnLCAnKCcsIDB4NWJ9LAorCXsnLycsICcvJywgMHg1Y30sCisJeycpJywgJz4nLCAweDVkfSwKKwl7J1wnJywgJz4nLCAweDVlfSwKKwl7J1wnJywgJyEnLCAweDYwfSwKKwl7JygnLCAnIScsIDB4N2J9LAorCXsnIScsICchJywgMHg3Y30sCisJeychJywgJyknLCAweDdkfSwKKwl7J1wnJywgJz8nLCAweDdlfSwKKwl7J0QnLCAnVCcsIDB4N2Z9LAorCXsnUCcsICdBJywgMHg4MH0sCisJeydIJywgJ08nLCAweDgxfSwKKwl7J0InLCAnSCcsIDB4ODJ9LAorCXsnTicsICdIJywgMHg4M30sCisJeydJJywgJ04nLCAweDg0fSwKKwl7J04nLCAnTCcsIDB4ODV9LAorCXsnUycsICdBJywgMHg4Nn0sCisJeydFJywgJ1MnLCAweDg3fSwKKwl7J0gnLCAnUycsIDB4ODh9LAorCXsnSCcsICdKJywgMHg4OX0sCisJeydWJywgJ1MnLCAweDhhfSwKKwl7J1AnLCAnRCcsIDB4OGJ9LAorCXsnUCcsICdVJywgMHg4Y30sCisJeydSJywgJ0knLCAweDhkfSwKKwl7J1MnLCAnMicsIDB4OGV9LAorCXsnUycsICczJywgMHg4Zn0sCisJeydEJywgJ0MnLCAweDkwfSwKKwl7J1AnLCAnMScsIDB4OTF9LAorCXsnUCcsICcyJywgMHg5Mn0sCisJeydUJywgJ1MnLCAweDkzfSwKKwl7J0MnLCAnQycsIDB4OTR9LAorCXsnTScsICdXJywgMHg5NX0sCisJeydTJywgJ0cnLCAweDk2fSwKKwl7J0UnLCAnRycsIDB4OTd9LAorCXsnUycsICdTJywgMHg5OH0sCisJeydHJywgJ0MnLCAweDk5fSwKKwl7J1MnLCAnQycsIDB4OWF9LAorCXsnQycsICdJJywgMHg5Yn0sCisJeydTJywgJ1QnLCAweDljfSwKKwl7J08nLCAnQycsIDB4OWR9LAorCXsnUCcsICdNJywgMHg5ZX0sCisJeydBJywgJ0MnLCAweDlmfSwKKwl7J04nLCAnUycsIDB4YTB9LAorCXsnIScsICdJJywgMHhhMX0sCisJeydDJywgJ3QnLCAweGEyfSwKKwl7J1AnLCAnZCcsIDB4YTN9LAorCXsnQycsICd1JywgMHhhNH0sCisJeydZJywgJ2UnLCAweGE1fSwKKwl7J0InLCAnQicsIDB4YTZ9LAorCXsnUycsICdFJywgMHhhN30sCisJeydcJycsICc6JywgMHhhOH0sCisJeydDJywgJ28nLCAweGE5fSwKKwl7Jy0nLCAnYScsIDB4YWF9LAorCXsnPCcsICc8JywgMHhhYn0sCisJeydOJywgJ08nLCAweGFjfSwKKwl7Jy0nLCAnLScsIDB4YWR9LAorCXsnUicsICdnJywgMHhhZX0sCisJeydcJycsICdtJywgMHhhZn0sCisJeydEJywgJ0cnLCAweGIwfSwKKwl7JysnLCAnLScsIDB4YjF9LAorCXsnMicsICdTJywgMHhiMn0sCisJeyczJywgJ1MnLCAweGIzfSwKKwl7J1wnJywgJ1wnJywgMHhiNH0sCisJeydNJywgJ3knLCAweGI1fSwKKwl7J1AnLCAnSScsIDB4YjZ9LAorCXsnLicsICdNJywgMHhiN30sCisJeydcJycsICcsJywgMHhiOH0sCisJeycxJywgJ1MnLCAweGI5fSwKKwl7Jy0nLCAnbycsIDB4YmF9LAorCXsnPicsICc+JywgMHhiYn0sCisJeycxJywgJzQnLCAweGJjfSwKKwl7JzEnLCAnMicsIDB4YmR9LAorCXsnMycsICc0JywgMHhiZX0sCisJeyc/JywgJ0knLCAweGJmfSwKKwl7J0EnLCAnIScsIDB4YzB9LAorCXsnQScsICdcJycsIDB4YzF9LAorCXsnQScsICc+JywgMHhjMn0sCisJeydBJywgJz8nLCAweGMzfSwKKwl7J0EnLCAnOicsIDB4YzR9LAorCXsnQScsICdBJywgMHhjNX0sCisJeydBJywgJ0UnLCAweGM2fSwKKwl7J0MnLCAnLCcsIDB4Yzd9LAorCXsnRScsICchJywgMHhjOH0sCisJeydFJywgJ1wnJywgMHhjOX0sCisJeydFJywgJz4nLCAweGNhfSwKKwl7J0UnLCAnOicsIDB4Y2J9LAorCXsnSScsICchJywgMHhjY30sCisJeydJJywgJ1wnJywgMHhjZH0sCisJeydJJywgJz4nLCAweGNlfSwKKwl7J0knLCAnOicsIDB4Y2Z9LAorCXsnRCcsICctJywgMHhkMH0sCisJeydOJywgJz8nLCAweGQxfSwKKwl7J08nLCAnIScsIDB4ZDJ9LAorCXsnTycsICdcJycsIDB4ZDN9LAorCXsnTycsICc+JywgMHhkNH0sCisJeydPJywgJz8nLCAweGQ1fSwKKwl7J08nLCAnOicsIDB4ZDZ9LAorCXsnKicsICdYJywgMHhkN30sCisJeydPJywgJy8nLCAweGQ4fSwKKwl7J1UnLCAnIScsIDB4ZDl9LAorCXsnVScsICdcJycsIDB4ZGF9LAorCXsnVScsICc+JywgMHhkYn0sCisJeydVJywgJzonLCAweGRjfSwKKwl7J1knLCAnXCcnLCAweGRkfSwKKwl7J1QnLCAnSCcsIDB4ZGV9LAorCXsncycsICdzJywgMHhkZn0sCisJeydhJywgJyEnLCAweGUwfSwKKwl7J2EnLCAnXCcnLCAweGUxfSwKKwl7J2EnLCAnPicsIDB4ZTJ9LAorCXsnYScsICc/JywgMHhlM30sCisJeydhJywgJzonLCAweGU0fSwKKwl7J2EnLCAnYScsIDB4ZTV9LAorCXsnYScsICdlJywgMHhlNn0sCisJeydjJywgJywnLCAweGU3fSwKKwl7J2UnLCAnIScsIDB4ZTh9LAorCXsnZScsICdcJycsIDB4ZTl9LAorCXsnZScsICc+JywgMHhlYX0sCisJeydlJywgJzonLCAweGVifSwKKwl7J2knLCAnIScsIDB4ZWN9LAorCXsnaScsICdcJycsIDB4ZWR9LAorCXsnaScsICc+JywgMHhlZX0sCisJeydpJywgJzonLCAweGVmfSwKKwl7J2QnLCAnLScsIDB4ZjB9LAorCXsnbicsICc/JywgMHhmMX0sCisJeydvJywgJyEnLCAweGYyfSwKKwl7J28nLCAnXCcnLCAweGYzfSwKKwl7J28nLCAnPicsIDB4ZjR9LAorCXsnbycsICc/JywgMHhmNX0sCisJeydvJywgJzonLCAweGY2fSwKKwl7Jy0nLCAnOicsIDB4Zjd9LAorCXsnbycsICcvJywgMHhmOH0sCisJeyd1JywgJyEnLCAweGY5fSwKKwl7J3UnLCAnXCcnLCAweGZhfSwKKwl7J3UnLCAnPicsIDB4ZmJ9LAorCXsndScsICc6JywgMHhmY30sCisJeyd5JywgJ1wnJywgMHhmZH0sCisJeyd0JywgJ2gnLCAweGZlfSwKKwl7J3knLCAnOicsIDB4ZmZ9LAorCisjICAgICAgaWZkZWYgRkVBVF9NQllURQorIwlkZWZpbmUgVVNFX1VOSUNPREVfRElHUkFQSFMKKworCXsnQScsICctJywgMHgwMTAwfSwKKwl7J2EnLCAnLScsIDB4MDEwMX0sCisJeydBJywgJygnLCAweDAxMDJ9LAorCXsnYScsICcoJywgMHgwMTAzfSwKKwl7J0EnLCAnOycsIDB4MDEwNH0sCisJeydhJywgJzsnLCAweDAxMDV9LAorCXsnQycsICdcJycsIDB4MDEwNn0sCisJeydjJywgJ1wnJywgMHgwMTA3fSwKKwl7J0MnLCAnPicsIDB4MDEwOH0sCisJeydjJywgJz4nLCAweDAxMDl9LAorCXsnQycsICcuJywgMHgwMTBhfSwKKwl7J2MnLCAnLicsIDB4MDEwYn0sCisJeydDJywgJzwnLCAweDAxMGN9LAorCXsnYycsICc8JywgMHgwMTBkfSwKKwl7J0QnLCAnPCcsIDB4MDEwZX0sCisJeydkJywgJzwnLCAweDAxMGZ9LAorCXsnRCcsICcvJywgMHgwMTEwfSwKKwl7J2QnLCAnLycsIDB4MDExMX0sCisJeydFJywgJy0nLCAweDAxMTJ9LAorCXsnZScsICctJywgMHgwMTEzfSwKKwl7J0UnLCAnKCcsIDB4MDExNH0sCisJeydlJywgJygnLCAweDAxMTV9LAorCXsnRScsICcuJywgMHgwMTE2fSwKKwl7J2UnLCAnLicsIDB4MDExN30sCisJeydFJywgJzsnLCAweDAxMTh9LAorCXsnZScsICc7JywgMHgwMTE5fSwKKwl7J0UnLCAnPCcsIDB4MDExYX0sCisJeydlJywgJzwnLCAweDAxMWJ9LAorCXsnRycsICc+JywgMHgwMTFjfSwKKwl7J2cnLCAnPicsIDB4MDExZH0sCisJeydHJywgJygnLCAweDAxMWV9LAorCXsnZycsICcoJywgMHgwMTFmfSwKKwl7J0cnLCAnLicsIDB4MDEyMH0sCisJeydnJywgJy4nLCAweDAxMjF9LAorCXsnRycsICcsJywgMHgwMTIyfSwKKwl7J2cnLCAnLCcsIDB4MDEyM30sCisJeydIJywgJz4nLCAweDAxMjR9LAorCXsnaCcsICc+JywgMHgwMTI1fSwKKwl7J0gnLCAnLycsIDB4MDEyNn0sCisJeydoJywgJy8nLCAweDAxMjd9LAorCXsnSScsICc/JywgMHgwMTI4fSwKKwl7J2knLCAnPycsIDB4MDEyOX0sCisJeydJJywgJy0nLCAweDAxMmF9LAorCXsnaScsICctJywgMHgwMTJifSwKKwl7J0knLCAnKCcsIDB4MDEyY30sCisJeydpJywgJygnLCAweDAxMmR9LAorCXsnSScsICc7JywgMHgwMTJlfSwKKwl7J2knLCAnOycsIDB4MDEyZn0sCisJeydJJywgJy4nLCAweDAxMzB9LAorCXsnaScsICcuJywgMHgwMTMxfSwKKwl7J0knLCAnSicsIDB4MDEzMn0sCisJeydpJywgJ2onLCAweDAxMzN9LAorCXsnSicsICc+JywgMHgwMTM0fSwKKwl7J2onLCAnPicsIDB4MDEzNX0sCisJeydLJywgJywnLCAweDAxMzZ9LAorCXsnaycsICcsJywgMHgwMTM3fSwKKwl7J2snLCAnaycsIDB4MDEzOH0sCisJeydMJywgJ1wnJywgMHgwMTM5fSwKKwl7J2wnLCAnXCcnLCAweDAxM2F9LAorCXsnTCcsICcsJywgMHgwMTNifSwKKwl7J2wnLCAnLCcsIDB4MDEzY30sCisJeydMJywgJzwnLCAweDAxM2R9LAorCXsnbCcsICc8JywgMHgwMTNlfSwKKwl7J0wnLCAnLicsIDB4MDEzZn0sCisJeydsJywgJy4nLCAweDAxNDB9LAorCXsnTCcsICcvJywgMHgwMTQxfSwKKwl7J2wnLCAnLycsIDB4MDE0Mn0sCisJeydOJywgJ1wnJywgMHgwMTQzfSwKKwl7J24nLCAnXCcnLCAweDAxNDR9LAorCXsnTicsICcsJywgMHgwMTQ1fSwKKwl7J24nLCAnLCcsIDB4MDE0Nn0sCisJeydOJywgJzwnLCAweDAxNDd9LAorCXsnbicsICc8JywgMHgwMTQ4fSwKKwl7J1wnJywgJ24nLCAweDAxNDl9LAorCXsnTicsICdHJywgMHgwMTRhfSwKKwl7J24nLCAnZycsIDB4MDE0Yn0sCisJeydPJywgJy0nLCAweDAxNGN9LAorCXsnbycsICctJywgMHgwMTRkfSwKKwl7J08nLCAnKCcsIDB4MDE0ZX0sCisJeydvJywgJygnLCAweDAxNGZ9LAorCXsnTycsICciJywgMHgwMTUwfSwKKwl7J28nLCAnIicsIDB4MDE1MX0sCisJeydPJywgJ0UnLCAweDAxNTJ9LAorCXsnbycsICdlJywgMHgwMTUzfSwKKwl7J1InLCAnXCcnLCAweDAxNTR9LAorCXsncicsICdcJycsIDB4MDE1NX0sCisJeydSJywgJywnLCAweDAxNTZ9LAorCXsncicsICcsJywgMHgwMTU3fSwKKwl7J1InLCAnPCcsIDB4MDE1OH0sCisJeydyJywgJzwnLCAweDAxNTl9LAorCXsnUycsICdcJycsIDB4MDE1YX0sCisJeydzJywgJ1wnJywgMHgwMTVifSwKKwl7J1MnLCAnPicsIDB4MDE1Y30sCisJeydzJywgJz4nLCAweDAxNWR9LAorCXsnUycsICcsJywgMHgwMTVlfSwKKwl7J3MnLCAnLCcsIDB4MDE1Zn0sCisJeydTJywgJzwnLCAweDAxNjB9LAorCXsncycsICc8JywgMHgwMTYxfSwKKwl7J1QnLCAnLCcsIDB4MDE2Mn0sCisJeyd0JywgJywnLCAweDAxNjN9LAorCXsnVCcsICc8JywgMHgwMTY0fSwKKwl7J3QnLCAnPCcsIDB4MDE2NX0sCisJeydUJywgJy8nLCAweDAxNjZ9LAorCXsndCcsICcvJywgMHgwMTY3fSwKKwl7J1UnLCAnPycsIDB4MDE2OH0sCisJeyd1JywgJz8nLCAweDAxNjl9LAorCXsnVScsICctJywgMHgwMTZhfSwKKwl7J3UnLCAnLScsIDB4MDE2Yn0sCisJeydVJywgJygnLCAweDAxNmN9LAorCXsndScsICcoJywgMHgwMTZkfSwKKwl7J1UnLCAnMCcsIDB4MDE2ZX0sCisJeyd1JywgJzAnLCAweDAxNmZ9LAorCXsnVScsICciJywgMHgwMTcwfSwKKwl7J3UnLCAnIicsIDB4MDE3MX0sCisJeydVJywgJzsnLCAweDAxNzJ9LAorCXsndScsICc7JywgMHgwMTczfSwKKwl7J1cnLCAnPicsIDB4MDE3NH0sCisJeyd3JywgJz4nLCAweDAxNzV9LAorCXsnWScsICc+JywgMHgwMTc2fSwKKwl7J3knLCAnPicsIDB4MDE3N30sCisJeydZJywgJzonLCAweDAxNzh9LAorCXsnWicsICdcJycsIDB4MDE3OX0sCisJeyd6JywgJ1wnJywgMHgwMTdhfSwKKwl7J1onLCAnLicsIDB4MDE3Yn0sCisJeyd6JywgJy4nLCAweDAxN2N9LAorCXsnWicsICc8JywgMHgwMTdkfSwKKwl7J3onLCAnPCcsIDB4MDE3ZX0sCisJeydPJywgJzknLCAweDAxYTB9LAorCXsnbycsICc5JywgMHgwMWExfSwKKwl7J08nLCAnSScsIDB4MDFhMn0sCisJeydvJywgJ2knLCAweDAxYTN9LAorCXsneScsICdyJywgMHgwMWE2fSwKKwl7J1UnLCAnOScsIDB4MDFhZn0sCisJeyd1JywgJzknLCAweDAxYjB9LAorCXsnWicsICcvJywgMHgwMWI1fSwKKwl7J3onLCAnLycsIDB4MDFiNn0sCisJeydFJywgJ0QnLCAweDAxYjd9LAorCXsnQScsICc8JywgMHgwMWNkfSwKKwl7J2EnLCAnPCcsIDB4MDFjZX0sCisJeydJJywgJzwnLCAweDAxY2Z9LAorCXsnaScsICc8JywgMHgwMWQwfSwKKwl7J08nLCAnPCcsIDB4MDFkMX0sCisJeydvJywgJzwnLCAweDAxZDJ9LAorCXsnVScsICc8JywgMHgwMWQzfSwKKwl7J3UnLCAnPCcsIDB4MDFkNH0sCisJeydBJywgJzEnLCAweDAxZGV9LAorCXsnYScsICcxJywgMHgwMWRmfSwKKwl7J0EnLCAnNycsIDB4MDFlMH0sCisJeydhJywgJzcnLCAweDAxZTF9LAorCXsnQScsICczJywgMHgwMWUyfSwKKwl7J2EnLCAnMycsIDB4MDFlM30sCisJeydHJywgJy8nLCAweDAxZTR9LAorCXsnZycsICcvJywgMHgwMWU1fSwKKwl7J0cnLCAnPCcsIDB4MDFlNn0sCisJeydnJywgJzwnLCAweDAxZTd9LAorCXsnSycsICc8JywgMHgwMWU4fSwKKwl7J2snLCAnPCcsIDB4MDFlOX0sCisJeydPJywgJzsnLCAweDAxZWF9LAorCXsnbycsICc7JywgMHgwMWVifSwKKwl7J08nLCAnMScsIDB4MDFlY30sCisJeydvJywgJzEnLCAweDAxZWR9LAorCXsnRScsICdaJywgMHgwMWVlfSwKKwl7J2UnLCAneicsIDB4MDFlZn0sCisJeydqJywgJzwnLCAweDAxZjB9LAorCXsnRycsICdcJycsIDB4MDFmNH0sCisJeydnJywgJ1wnJywgMHgwMWY1fSwKKwl7JzsnLCAnUycsIDB4MDJiZn0sCisJeydcJycsICc8JywgMHgwMmM3fSwKKwl7J1wnJywgJygnLCAweDAyZDh9LAorCXsnXCcnLCAnLicsIDB4MDJkOX0sCisJeydcJycsICcwJywgMHgwMmRhfSwKKwl7J1wnJywgJzsnLCAweDAyZGJ9LAorCXsnXCcnLCAnIicsIDB4MDJkZH0sCisJeydBJywgJyUnLCAweDAzODZ9LAorCXsnRScsICclJywgMHgwMzg4fSwKKwl7J1knLCAnJScsIDB4MDM4OX0sCisJeydJJywgJyUnLCAweDAzOGF9LAorCXsnTycsICclJywgMHgwMzhjfSwKKwl7J1UnLCAnJScsIDB4MDM4ZX0sCisJeydXJywgJyUnLCAweDAzOGZ9LAorCXsnaScsICczJywgMHgwMzkwfSwKKwl7J0EnLCAnKicsIDB4MDM5MX0sCisJeydCJywgJyonLCAweDAzOTJ9LAorCXsnRycsICcqJywgMHgwMzkzfSwKKwl7J0QnLCAnKicsIDB4MDM5NH0sCisJeydFJywgJyonLCAweDAzOTV9LAorCXsnWicsICcqJywgMHgwMzk2fSwKKwl7J1knLCAnKicsIDB4MDM5N30sCisJeydIJywgJyonLCAweDAzOTh9LAorCXsnSScsICcqJywgMHgwMzk5fSwKKwl7J0snLCAnKicsIDB4MDM5YX0sCisJeydMJywgJyonLCAweDAzOWJ9LAorCXsnTScsICcqJywgMHgwMzljfSwKKwl7J04nLCAnKicsIDB4MDM5ZH0sCisJeydDJywgJyonLCAweDAzOWV9LAorCXsnTycsICcqJywgMHgwMzlmfSwKKwl7J1AnLCAnKicsIDB4MDNhMH0sCisJeydSJywgJyonLCAweDAzYTF9LAorCXsnUycsICcqJywgMHgwM2EzfSwKKwl7J1QnLCAnKicsIDB4MDNhNH0sCisJeydVJywgJyonLCAweDAzYTV9LAorCXsnRicsICcqJywgMHgwM2E2fSwKKwl7J1gnLCAnKicsIDB4MDNhN30sCisJeydRJywgJyonLCAweDAzYTh9LAorCXsnVycsICcqJywgMHgwM2E5fSwKKwl7J0onLCAnKicsIDB4MDNhYX0sCisJeydWJywgJyonLCAweDAzYWJ9LAorCXsnYScsICclJywgMHgwM2FjfSwKKwl7J2UnLCAnJScsIDB4MDNhZH0sCisJeyd5JywgJyUnLCAweDAzYWV9LAorCXsnaScsICclJywgMHgwM2FmfSwKKwl7J3UnLCAnMycsIDB4MDNiMH0sCisJeydhJywgJyonLCAweDAzYjF9LAorCXsnYicsICcqJywgMHgwM2IyfSwKKwl7J2cnLCAnKicsIDB4MDNiM30sCisJeydkJywgJyonLCAweDAzYjR9LAorCXsnZScsICcqJywgMHgwM2I1fSwKKwl7J3onLCAnKicsIDB4MDNiNn0sCisJeyd5JywgJyonLCAweDAzYjd9LAorCXsnaCcsICcqJywgMHgwM2I4fSwKKwl7J2knLCAnKicsIDB4MDNiOX0sCisJeydrJywgJyonLCAweDAzYmF9LAorCXsnbCcsICcqJywgMHgwM2JifSwKKwl7J20nLCAnKicsIDB4MDNiY30sCisJeyduJywgJyonLCAweDAzYmR9LAorCXsnYycsICcqJywgMHgwM2JlfSwKKwl7J28nLCAnKicsIDB4MDNiZn0sCisJeydwJywgJyonLCAweDAzYzB9LAorCXsncicsICcqJywgMHgwM2MxfSwKKwl7JyonLCAncycsIDB4MDNjMn0sCisJeydzJywgJyonLCAweDAzYzN9LAorCXsndCcsICcqJywgMHgwM2M0fSwKKwl7J3UnLCAnKicsIDB4MDNjNX0sCisJeydmJywgJyonLCAweDAzYzZ9LAorCXsneCcsICcqJywgMHgwM2M3fSwKKwl7J3EnLCAnKicsIDB4MDNjOH0sCisJeyd3JywgJyonLCAweDAzYzl9LAorCXsnaicsICcqJywgMHgwM2NhfSwKKwl7J3YnLCAnKicsIDB4MDNjYn0sCisJeydvJywgJyUnLCAweDAzY2N9LAorCXsndScsICclJywgMHgwM2NkfSwKKwl7J3cnLCAnJScsIDB4MDNjZX0sCisJeydcJycsICdHJywgMHgwM2Q4fSwKKwl7JywnLCAnRycsIDB4MDNkOX0sCisJeydUJywgJzMnLCAweDAzZGF9LAorCXsndCcsICczJywgMHgwM2RifSwKKwl7J00nLCAnMycsIDB4MDNkY30sCisJeydtJywgJzMnLCAweDAzZGR9LAorCXsnSycsICczJywgMHgwM2RlfSwKKwl7J2snLCAnMycsIDB4MDNkZn0sCisJeydQJywgJzMnLCAweDAzZTB9LAorCXsncCcsICczJywgMHgwM2UxfSwKKwl7J1wnJywgJyUnLCAweDAzZjR9LAorCXsnaicsICczJywgMHgwM2Y1fSwKKwl7J0knLCAnTycsIDB4MDQwMX0sCisJeydEJywgJyUnLCAweDA0MDJ9LAorCXsnRycsICclJywgMHgwNDAzfSwKKwl7J0knLCAnRScsIDB4MDQwNH0sCisJeydEJywgJ1MnLCAweDA0MDV9LAorCXsnSScsICdJJywgMHgwNDA2fSwKKwl7J1knLCAnSScsIDB4MDQwN30sCisJeydKJywgJyUnLCAweDA0MDh9LAorCXsnTCcsICdKJywgMHgwNDA5fSwKKwl7J04nLCAnSicsIDB4MDQwYX0sCisJeydUJywgJ3MnLCAweDA0MGJ9LAorCXsnSycsICdKJywgMHgwNDBjfSwKKwl7J1YnLCAnJScsIDB4MDQwZX0sCisJeydEJywgJ1onLCAweDA0MGZ9LAorCXsnQScsICc9JywgMHgwNDEwfSwKKwl7J0InLCAnPScsIDB4MDQxMX0sCisJeydWJywgJz0nLCAweDA0MTJ9LAorCXsnRycsICc9JywgMHgwNDEzfSwKKwl7J0QnLCAnPScsIDB4MDQxNH0sCisJeydFJywgJz0nLCAweDA0MTV9LAorCXsnWicsICclJywgMHgwNDE2fSwKKwl7J1onLCAnPScsIDB4MDQxN30sCisJeydJJywgJz0nLCAweDA0MTh9LAorCXsnSicsICc9JywgMHgwNDE5fSwKKwl7J0snLCAnPScsIDB4MDQxYX0sCisJeydMJywgJz0nLCAweDA0MWJ9LAorCXsnTScsICc9JywgMHgwNDFjfSwKKwl7J04nLCAnPScsIDB4MDQxZH0sCisJeydPJywgJz0nLCAweDA0MWV9LAorCXsnUCcsICc9JywgMHgwNDFmfSwKKwl7J1InLCAnPScsIDB4MDQyMH0sCisJeydTJywgJz0nLCAweDA0MjF9LAorCXsnVCcsICc9JywgMHgwNDIyfSwKKwl7J1UnLCAnPScsIDB4MDQyM30sCisJeydGJywgJz0nLCAweDA0MjR9LAorCXsnSCcsICc9JywgMHgwNDI1fSwKKwl7J0MnLCAnPScsIDB4MDQyNn0sCisJeydDJywgJyUnLCAweDA0Mjd9LAorCXsnUycsICclJywgMHgwNDI4fSwKKwl7J1MnLCAnYycsIDB4MDQyOX0sCisJeyc9JywgJyInLCAweDA0MmF9LAorCXsnWScsICc9JywgMHgwNDJifSwKKwl7JyUnLCAnIicsIDB4MDQyY30sCisJeydKJywgJ0UnLCAweDA0MmR9LAorCXsnSicsICdVJywgMHgwNDJlfSwKKwl7J0onLCAnQScsIDB4MDQyZn0sCisJeydhJywgJz0nLCAweDA0MzB9LAorCXsnYicsICc9JywgMHgwNDMxfSwKKwl7J3YnLCAnPScsIDB4MDQzMn0sCisJeydnJywgJz0nLCAweDA0MzN9LAorCXsnZCcsICc9JywgMHgwNDM0fSwKKwl7J2UnLCAnPScsIDB4MDQzNX0sCisJeyd6JywgJyUnLCAweDA0MzZ9LAorCXsneicsICc9JywgMHgwNDM3fSwKKwl7J2knLCAnPScsIDB4MDQzOH0sCisJeydqJywgJz0nLCAweDA0Mzl9LAorCXsnaycsICc9JywgMHgwNDNhfSwKKwl7J2wnLCAnPScsIDB4MDQzYn0sCisJeydtJywgJz0nLCAweDA0M2N9LAorCXsnbicsICc9JywgMHgwNDNkfSwKKwl7J28nLCAnPScsIDB4MDQzZX0sCisJeydwJywgJz0nLCAweDA0M2Z9LAorCXsncicsICc9JywgMHgwNDQwfSwKKwl7J3MnLCAnPScsIDB4MDQ0MX0sCisJeyd0JywgJz0nLCAweDA0NDJ9LAorCXsndScsICc9JywgMHgwNDQzfSwKKwl7J2YnLCAnPScsIDB4MDQ0NH0sCisJeydoJywgJz0nLCAweDA0NDV9LAorCXsnYycsICc9JywgMHgwNDQ2fSwKKwl7J2MnLCAnJScsIDB4MDQ0N30sCisJeydzJywgJyUnLCAweDA0NDh9LAorCXsncycsICdjJywgMHgwNDQ5fSwKKwl7Jz0nLCAnXCcnLCAweDA0NGF9LAorCXsneScsICc9JywgMHgwNDRifSwKKwl7JyUnLCAnXCcnLCAweDA0NGN9LAorCXsnaicsICdlJywgMHgwNDRkfSwKKwl7J2onLCAndScsIDB4MDQ0ZX0sCisJeydqJywgJ2EnLCAweDA0NGZ9LAorCXsnaScsICdvJywgMHgwNDUxfSwKKwl7J2QnLCAnJScsIDB4MDQ1Mn0sCisJeydnJywgJyUnLCAweDA0NTN9LAorCXsnaScsICdlJywgMHgwNDU0fSwKKwl7J2QnLCAncycsIDB4MDQ1NX0sCisJeydpJywgJ2knLCAweDA0NTZ9LAorCXsneScsICdpJywgMHgwNDU3fSwKKwl7J2onLCAnJScsIDB4MDQ1OH0sCisJeydsJywgJ2onLCAweDA0NTl9LAorCXsnbicsICdqJywgMHgwNDVhfSwKKwl7J3QnLCAncycsIDB4MDQ1Yn0sCisJeydrJywgJ2onLCAweDA0NWN9LAorCXsndicsICclJywgMHgwNDVlfSwKKwl7J2QnLCAneicsIDB4MDQ1Zn0sCisJeydZJywgJzMnLCAweDA0NjJ9LAorCXsneScsICczJywgMHgwNDYzfSwKKwl7J08nLCAnMycsIDB4MDQ2YX0sCisJeydvJywgJzMnLCAweDA0NmJ9LAorCXsnRicsICczJywgMHgwNDcyfSwKKwl7J2YnLCAnMycsIDB4MDQ3M30sCisJeydWJywgJzMnLCAweDA0NzR9LAorCXsndicsICczJywgMHgwNDc1fSwKKwl7J0MnLCAnMycsIDB4MDQ4MH0sCisJeydjJywgJzMnLCAweDA0ODF9LAorCXsnRycsICczJywgMHgwNDkwfSwKKwl7J2cnLCAnMycsIDB4MDQ5MX0sCisJeydBJywgJysnLCAweDA1ZDB9LAorCXsnQicsICcrJywgMHgwNWQxfSwKKwl7J0cnLCAnKycsIDB4MDVkMn0sCisJeydEJywgJysnLCAweDA1ZDN9LAorCXsnSCcsICcrJywgMHgwNWQ0fSwKKwl7J1cnLCAnKycsIDB4MDVkNX0sCisJeydaJywgJysnLCAweDA1ZDZ9LAorCXsnWCcsICcrJywgMHgwNWQ3fSwKKwl7J1QnLCAnaicsIDB4MDVkOH0sCisJeydKJywgJysnLCAweDA1ZDl9LAorCXsnSycsICclJywgMHgwNWRhfSwKKwl7J0snLCAnKycsIDB4MDVkYn0sCisJeydMJywgJysnLCAweDA1ZGN9LAorCXsnTScsICclJywgMHgwNWRkfSwKKwl7J00nLCAnKycsIDB4MDVkZX0sCisJeydOJywgJyUnLCAweDA1ZGZ9LAorCXsnTicsICcrJywgMHgwNWUwfSwKKwl7J1MnLCAnKycsIDB4MDVlMX0sCisJeydFJywgJysnLCAweDA1ZTJ9LAorCXsnUCcsICclJywgMHgwNWUzfSwKKwl7J1AnLCAnKycsIDB4MDVlNH0sCisJeydaJywgJ2onLCAweDA1ZTV9LAorCXsnWicsICdKJywgMHgwNWU2fSwKKwl7J1EnLCAnKycsIDB4MDVlN30sCisJeydSJywgJysnLCAweDA1ZTh9LAorCXsnUycsICdoJywgMHgwNWU5fSwKKwl7J1QnLCAnKycsIDB4MDVlYX0sCisJeycsJywgJysnLCAweDA2MGN9LAorCXsnOycsICcrJywgMHgwNjFifSwKKwl7Jz8nLCAnKycsIDB4MDYxZn0sCisJeydIJywgJ1wnJywgMHgwNjIxfSwKKwl7J2EnLCAnTScsIDB4MDYyMn0sCisJeydhJywgJ0gnLCAweDA2MjN9LAorCXsndycsICdIJywgMHgwNjI0fSwKKwl7J2EnLCAnaCcsIDB4MDYyNX0sCisJeyd5JywgJ0gnLCAweDA2MjZ9LAorCXsnYScsICcrJywgMHgwNjI3fSwKKwl7J2InLCAnKycsIDB4MDYyOH0sCisJeyd0JywgJ20nLCAweDA2Mjl9LAorCXsndCcsICcrJywgMHgwNjJhfSwKKwl7J3QnLCAnaycsIDB4MDYyYn0sCisJeydnJywgJysnLCAweDA2MmN9LAorCXsnaCcsICdrJywgMHgwNjJkfSwKKwl7J3gnLCAnKycsIDB4MDYyZX0sCisJeydkJywgJysnLCAweDA2MmZ9LAorCXsnZCcsICdrJywgMHgwNjMwfSwKKwl7J3InLCAnKycsIDB4MDYzMX0sCisJeyd6JywgJysnLCAweDA2MzJ9LAorCXsncycsICcrJywgMHgwNjMzfSwKKwl7J3MnLCAnbicsIDB4MDYzNH0sCisJeydjJywgJysnLCAweDA2MzV9LAorCXsnZCcsICdkJywgMHgwNjM2fSwKKwl7J3QnLCAnaicsIDB4MDYzN30sCisJeyd6JywgJ0gnLCAweDA2Mzh9LAorCXsnZScsICcrJywgMHgwNjM5fSwKKwl7J2knLCAnKycsIDB4MDYzYX0sCisJeycrJywgJysnLCAweDA2NDB9LAorCXsnZicsICcrJywgMHgwNjQxfSwKKwl7J3EnLCAnKycsIDB4MDY0Mn0sCisJeydrJywgJysnLCAweDA2NDN9LAorCXsnbCcsICcrJywgMHgwNjQ0fSwKKwl7J20nLCAnKycsIDB4MDY0NX0sCisJeyduJywgJysnLCAweDA2NDZ9LAorCXsnaCcsICcrJywgMHgwNjQ3fSwKKwl7J3cnLCAnKycsIDB4MDY0OH0sCisJeydqJywgJysnLCAweDA2NDl9LAorCXsneScsICcrJywgMHgwNjRhfSwKKwl7JzonLCAnKycsIDB4MDY0Yn0sCisJeyciJywgJysnLCAweDA2NGN9LAorCXsnPScsICcrJywgMHgwNjRkfSwKKwl7Jy8nLCAnKycsIDB4MDY0ZX0sCisJeydcJycsICcrJywgMHgwNjRmfSwKKwl7JzEnLCAnKycsIDB4MDY1MH0sCisJeyczJywgJysnLCAweDA2NTF9LAorCXsnMCcsICcrJywgMHgwNjUyfSwKKwl7J2EnLCAnUycsIDB4MDY3MH0sCisJeydwJywgJysnLCAweDA2N2V9LAorCXsndicsICcrJywgMHgwNmE0fSwKKwl7J2cnLCAnZicsIDB4MDZhZn0sCisJeycwJywgJ2EnLCAweDA2ZjB9LAorCXsnMScsICdhJywgMHgwNmYxfSwKKwl7JzInLCAnYScsIDB4MDZmMn0sCisJeyczJywgJ2EnLCAweDA2ZjN9LAorCXsnNCcsICdhJywgMHgwNmY0fSwKKwl7JzUnLCAnYScsIDB4MDZmNX0sCisJeyc2JywgJ2EnLCAweDA2ZjZ9LAorCXsnNycsICdhJywgMHgwNmY3fSwKKwl7JzgnLCAnYScsIDB4MDZmOH0sCisJeyc5JywgJ2EnLCAweDA2Zjl9LAorCXsnQicsICcuJywgMHgxZTAyfSwKKwl7J2InLCAnLicsIDB4MWUwM30sCisJeydCJywgJ18nLCAweDFlMDZ9LAorCXsnYicsICdfJywgMHgxZTA3fSwKKwl7J0QnLCAnLicsIDB4MWUwYX0sCisJeydkJywgJy4nLCAweDFlMGJ9LAorCXsnRCcsICdfJywgMHgxZTBlfSwKKwl7J2QnLCAnXycsIDB4MWUwZn0sCisJeydEJywgJywnLCAweDFlMTB9LAorCXsnZCcsICcsJywgMHgxZTExfSwKKwl7J0YnLCAnLicsIDB4MWUxZX0sCisJeydmJywgJy4nLCAweDFlMWZ9LAorCXsnRycsICctJywgMHgxZTIwfSwKKwl7J2cnLCAnLScsIDB4MWUyMX0sCisJeydIJywgJy4nLCAweDFlMjJ9LAorCXsnaCcsICcuJywgMHgxZTIzfSwKKwl7J0gnLCAnOicsIDB4MWUyNn0sCisJeydoJywgJzonLCAweDFlMjd9LAorCXsnSCcsICcsJywgMHgxZTI4fSwKKwl7J2gnLCAnLCcsIDB4MWUyOX0sCisJeydLJywgJ1wnJywgMHgxZTMwfSwKKwl7J2snLCAnXCcnLCAweDFlMzF9LAorCXsnSycsICdfJywgMHgxZTM0fSwKKwl7J2snLCAnXycsIDB4MWUzNX0sCisJeydMJywgJ18nLCAweDFlM2F9LAorCXsnbCcsICdfJywgMHgxZTNifSwKKwl7J00nLCAnXCcnLCAweDFlM2V9LAorCXsnbScsICdcJycsIDB4MWUzZn0sCisJeydNJywgJy4nLCAweDFlNDB9LAorCXsnbScsICcuJywgMHgxZTQxfSwKKwl7J04nLCAnLicsIDB4MWU0NH0sCisJeyduJywgJy4nLCAweDFlNDV9LAorCXsnTicsICdfJywgMHgxZTQ4fSwKKwl7J24nLCAnXycsIDB4MWU0OX0sCisJeydQJywgJ1wnJywgMHgxZTU0fSwKKwl7J3AnLCAnXCcnLCAweDFlNTV9LAorCXsnUCcsICcuJywgMHgxZTU2fSwKKwl7J3AnLCAnLicsIDB4MWU1N30sCisJeydSJywgJy4nLCAweDFlNTh9LAorCXsncicsICcuJywgMHgxZTU5fSwKKwl7J1InLCAnXycsIDB4MWU1ZX0sCisJeydyJywgJ18nLCAweDFlNWZ9LAorCXsnUycsICcuJywgMHgxZTYwfSwKKwl7J3MnLCAnLicsIDB4MWU2MX0sCisJeydUJywgJy4nLCAweDFlNmF9LAorCXsndCcsICcuJywgMHgxZTZifSwKKwl7J1QnLCAnXycsIDB4MWU2ZX0sCisJeyd0JywgJ18nLCAweDFlNmZ9LAorCXsnVicsICc/JywgMHgxZTdjfSwKKwl7J3YnLCAnPycsIDB4MWU3ZH0sCisJeydXJywgJyEnLCAweDFlODB9LAorCXsndycsICchJywgMHgxZTgxfSwKKwl7J1cnLCAnXCcnLCAweDFlODJ9LAorCXsndycsICdcJycsIDB4MWU4M30sCisJeydXJywgJzonLCAweDFlODR9LAorCXsndycsICc6JywgMHgxZTg1fSwKKwl7J1cnLCAnLicsIDB4MWU4Nn0sCisJeyd3JywgJy4nLCAweDFlODd9LAorCXsnWCcsICcuJywgMHgxZThhfSwKKwl7J3gnLCAnLicsIDB4MWU4Yn0sCisJeydYJywgJzonLCAweDFlOGN9LAorCXsneCcsICc6JywgMHgxZThkfSwKKwl7J1knLCAnLicsIDB4MWU4ZX0sCisJeyd5JywgJy4nLCAweDFlOGZ9LAorCXsnWicsICc+JywgMHgxZTkwfSwKKwl7J3onLCAnPicsIDB4MWU5MX0sCisJeydaJywgJ18nLCAweDFlOTR9LAorCXsneicsICdfJywgMHgxZTk1fSwKKwl7J2gnLCAnXycsIDB4MWU5Nn0sCisJeyd0JywgJzonLCAweDFlOTd9LAorCXsndycsICcwJywgMHgxZTk4fSwKKwl7J3knLCAnMCcsIDB4MWU5OX0sCisJeydBJywgJzInLCAweDFlYTJ9LAorCXsnYScsICcyJywgMHgxZWEzfSwKKwl7J0UnLCAnMicsIDB4MWViYX0sCisJeydlJywgJzInLCAweDFlYmJ9LAorCXsnRScsICc/JywgMHgxZWJjfSwKKwl7J2UnLCAnPycsIDB4MWViZH0sCisJeydJJywgJzInLCAweDFlYzh9LAorCXsnaScsICcyJywgMHgxZWM5fSwKKwl7J08nLCAnMicsIDB4MWVjZX0sCisJeydvJywgJzInLCAweDFlY2Z9LAorCXsnVScsICcyJywgMHgxZWU2fSwKKwl7J3UnLCAnMicsIDB4MWVlN30sCisJeydZJywgJyEnLCAweDFlZjJ9LAorCXsneScsICchJywgMHgxZWYzfSwKKwl7J1knLCAnMicsIDB4MWVmNn0sCisJeyd5JywgJzInLCAweDFlZjd9LAorCXsnWScsICc/JywgMHgxZWY4fSwKKwl7J3knLCAnPycsIDB4MWVmOX0sCisJeyc7JywgJ1wnJywgMHgxZjAwfSwKKwl7JywnLCAnXCcnLCAweDFmMDF9LAorCXsnOycsICchJywgMHgxZjAyfSwKKwl7JywnLCAnIScsIDB4MWYwM30sCisJeyc/JywgJzsnLCAweDFmMDR9LAorCXsnPycsICcsJywgMHgxZjA1fSwKKwl7JyEnLCAnOicsIDB4MWYwNn0sCisJeyc/JywgJzonLCAweDFmMDd9LAorCXsnMScsICdOJywgMHgyMDAyfSwKKwl7JzEnLCAnTScsIDB4MjAwM30sCisJeyczJywgJ00nLCAweDIwMDR9LAorCXsnNCcsICdNJywgMHgyMDA1fSwKKwl7JzYnLCAnTScsIDB4MjAwNn0sCisJeycxJywgJ1QnLCAweDIwMDl9LAorCXsnMScsICdIJywgMHgyMDBhfSwKKwl7Jy0nLCAnMScsIDB4MjAxMH0sCisJeyctJywgJ04nLCAweDIwMTN9LAorCXsnLScsICdNJywgMHgyMDE0fSwKKwl7Jy0nLCAnMycsIDB4MjAxNX0sCisJeychJywgJzInLCAweDIwMTZ9LAorCXsnPScsICcyJywgMHgyMDE3fSwKKwl7J1wnJywgJzYnLCAweDIwMTh9LAorCXsnXCcnLCAnOScsIDB4MjAxOX0sCisJeycuJywgJzknLCAweDIwMWF9LAorCXsnOScsICdcJycsIDB4MjAxYn0sCisJeyciJywgJzYnLCAweDIwMWN9LAorCXsnIicsICc5JywgMHgyMDFkfSwKKwl7JzonLCAnOScsIDB4MjAxZX0sCisJeyc5JywgJyInLCAweDIwMWZ9LAorCXsnLycsICctJywgMHgyMDIwfSwKKwl7Jy8nLCAnPScsIDB4MjAyMX0sCisJeycuJywgJy4nLCAweDIwMjV9LAorCXsnJScsICcwJywgMHgyMDMwfSwKKwl7JzEnLCAnXCcnLCAweDIwMzJ9LAorCXsnMicsICdcJycsIDB4MjAzM30sCisJeyczJywgJ1wnJywgMHgyMDM0fSwKKwl7JzEnLCAnIicsIDB4MjAzNX0sCisJeycyJywgJyInLCAweDIwMzZ9LAorCXsnMycsICciJywgMHgyMDM3fSwKKwl7J0MnLCAnYScsIDB4MjAzOH0sCisJeyc8JywgJzEnLCAweDIwMzl9LAorCXsnPicsICcxJywgMHgyMDNhfSwKKwl7JzonLCAnWCcsIDB4MjAzYn0sCisJeydcJycsICctJywgMHgyMDNlfSwKKwl7Jy8nLCAnZicsIDB4MjA0NH0sCisJeycwJywgJ1MnLCAweDIwNzB9LAorCXsnNCcsICdTJywgMHgyMDc0fSwKKwl7JzUnLCAnUycsIDB4MjA3NX0sCisJeyc2JywgJ1MnLCAweDIwNzZ9LAorCXsnNycsICdTJywgMHgyMDc3fSwKKwl7JzgnLCAnUycsIDB4MjA3OH0sCisJeyc5JywgJ1MnLCAweDIwNzl9LAorCXsnKycsICdTJywgMHgyMDdhfSwKKwl7Jy0nLCAnUycsIDB4MjA3Yn0sCisJeyc9JywgJ1MnLCAweDIwN2N9LAorCXsnKCcsICdTJywgMHgyMDdkfSwKKwl7JyknLCAnUycsIDB4MjA3ZX0sCisJeyduJywgJ1MnLCAweDIwN2Z9LAorCXsnMCcsICdzJywgMHgyMDgwfSwKKwl7JzEnLCAncycsIDB4MjA4MX0sCisJeycyJywgJ3MnLCAweDIwODJ9LAorCXsnMycsICdzJywgMHgyMDgzfSwKKwl7JzQnLCAncycsIDB4MjA4NH0sCisJeyc1JywgJ3MnLCAweDIwODV9LAorCXsnNicsICdzJywgMHgyMDg2fSwKKwl7JzcnLCAncycsIDB4MjA4N30sCisJeyc4JywgJ3MnLCAweDIwODh9LAorCXsnOScsICdzJywgMHgyMDg5fSwKKwl7JysnLCAncycsIDB4MjA4YX0sCisJeyctJywgJ3MnLCAweDIwOGJ9LAorCXsnPScsICdzJywgMHgyMDhjfSwKKwl7JygnLCAncycsIDB4MjA4ZH0sCisJeycpJywgJ3MnLCAweDIwOGV9LAorCXsnTCcsICdpJywgMHgyMGE0fSwKKwl7J1AnLCAndCcsIDB4MjBhN30sCisJeydXJywgJz0nLCAweDIwYTl9LAorCXsnbycsICdDJywgMHgyMTAzfSwKKwl7J2MnLCAnbycsIDB4MjEwNX0sCisJeydvJywgJ0YnLCAweDIxMDl9LAorCXsnTicsICcwJywgMHgyMTE2fSwKKwl7J1AnLCAnTycsIDB4MjExN30sCisJeydSJywgJ3gnLCAweDIxMWV9LAorCXsnUycsICdNJywgMHgyMTIwfSwKKwl7J1QnLCAnTScsIDB4MjEyMn0sCisJeydPJywgJ20nLCAweDIxMjZ9LAorCXsnQScsICdPJywgMHgyMTJifSwKKwl7JzEnLCAnMycsIDB4MjE1M30sCisJeycyJywgJzMnLCAweDIxNTR9LAorCXsnMScsICc1JywgMHgyMTU1fSwKKwl7JzInLCAnNScsIDB4MjE1Nn0sCisJeyczJywgJzUnLCAweDIxNTd9LAorCXsnNCcsICc1JywgMHgyMTU4fSwKKwl7JzEnLCAnNicsIDB4MjE1OX0sCisJeyc1JywgJzYnLCAweDIxNWF9LAorCXsnMScsICc4JywgMHgyMTVifSwKKwl7JzMnLCAnOCcsIDB4MjE1Y30sCisJeyc1JywgJzgnLCAweDIxNWR9LAorCXsnNycsICc4JywgMHgyMTVlfSwKKwl7JzEnLCAnUicsIDB4MjE2MH0sCisJeycyJywgJ1InLCAweDIxNjF9LAorCXsnMycsICdSJywgMHgyMTYyfSwKKwl7JzQnLCAnUicsIDB4MjE2M30sCisJeyc1JywgJ1InLCAweDIxNjR9LAorCXsnNicsICdSJywgMHgyMTY1fSwKKwl7JzcnLCAnUicsIDB4MjE2Nn0sCisJeyc4JywgJ1InLCAweDIxNjd9LAorCXsnOScsICdSJywgMHgyMTY4fSwKKwl7J2EnLCAnUicsIDB4MjE2OX0sCisJeydiJywgJ1InLCAweDIxNmF9LAorCXsnYycsICdSJywgMHgyMTZifSwKKwl7JzEnLCAncicsIDB4MjE3MH0sCisJeycyJywgJ3InLCAweDIxNzF9LAorCXsnMycsICdyJywgMHgyMTcyfSwKKwl7JzQnLCAncicsIDB4MjE3M30sCisJeyc1JywgJ3InLCAweDIxNzR9LAorCXsnNicsICdyJywgMHgyMTc1fSwKKwl7JzcnLCAncicsIDB4MjE3Nn0sCisJeyc4JywgJ3InLCAweDIxNzd9LAorCXsnOScsICdyJywgMHgyMTc4fSwKKwl7J2EnLCAncicsIDB4MjE3OX0sCisJeydiJywgJ3InLCAweDIxN2F9LAorCXsnYycsICdyJywgMHgyMTdifSwKKwl7JzwnLCAnLScsIDB4MjE5MH0sCisJeyctJywgJyEnLCAweDIxOTF9LAorCXsnLScsICc+JywgMHgyMTkyfSwKKwl7Jy0nLCAndicsIDB4MjE5M30sCisJeyc8JywgJz4nLCAweDIxOTR9LAorCXsnVScsICdEJywgMHgyMTk1fSwKKwl7JzwnLCAnPScsIDB4MjFkMH0sCisJeyc9JywgJz4nLCAweDIxZDJ9LAorCXsnPScsICc9JywgMHgyMWQ0fSwKKwl7J0YnLCAnQScsIDB4MjIwMH0sCisJeydkJywgJ1AnLCAweDIyMDJ9LAorCXsnVCcsICdFJywgMHgyMjAzfSwKKwl7Jy8nLCAnMCcsIDB4MjIwNX0sCisJeydEJywgJ0UnLCAweDIyMDZ9LAorCXsnTicsICdCJywgMHgyMjA3fSwKKwl7JygnLCAnLScsIDB4MjIwOH0sCisJeyctJywgJyknLCAweDIyMGJ9LAorCXsnKicsICdQJywgMHgyMjBmfSwKKwl7JysnLCAnWicsIDB4MjIxMX0sCisJeyctJywgJzInLCAweDIyMTJ9LAorCXsnLScsICcrJywgMHgyMjEzfSwKKwl7JyonLCAnLScsIDB4MjIxN30sCisJeydPJywgJ2InLCAweDIyMTh9LAorCXsnUycsICdiJywgMHgyMjE5fSwKKwl7J1InLCAnVCcsIDB4MjIxYX0sCisJeycwJywgJygnLCAweDIyMWR9LAorCXsnMCcsICcwJywgMHgyMjFlfSwKKwl7Jy0nLCAnTCcsIDB4MjIxZn0sCisJeyctJywgJ1YnLCAweDIyMjB9LAorCXsnUCcsICdQJywgMHgyMjI1fSwKKwl7J0EnLCAnTicsIDB4MjIyN30sCisJeydPJywgJ1InLCAweDIyMjh9LAorCXsnKCcsICdVJywgMHgyMjI5fSwKKwl7JyknLCAnVScsIDB4MjIyYX0sCisJeydJJywgJ24nLCAweDIyMmJ9LAorCXsnRCcsICdJJywgMHgyMjJjfSwKKwl7J0knLCAnbycsIDB4MjIyZX0sCisJeycuJywgJzonLCAweDIyMzR9LAorCXsnOicsICcuJywgMHgyMjM1fSwKKwl7JzonLCAnUicsIDB4MjIzNn0sCisJeyc6JywgJzonLCAweDIyMzd9LAorCXsnPycsICcxJywgMHgyMjNjfSwKKwl7J0MnLCAnRycsIDB4MjIzZX0sCisJeyc/JywgJy0nLCAweDIyNDN9LAorCXsnPycsICc9JywgMHgyMjQ1fSwKKwl7Jz8nLCAnMicsIDB4MjI0OH0sCisJeyc9JywgJz8nLCAweDIyNGN9LAorCXsnSCcsICdJJywgMHgyMjUzfSwKKwl7JyEnLCAnPScsIDB4MjI2MH0sCisJeyc9JywgJzMnLCAweDIyNjF9LAorCXsnPScsICc8JywgMHgyMjY0fSwKKwl7Jz4nLCAnPScsIDB4MjI2NX0sCisJeyc8JywgJyonLCAweDIyNmF9LAorCXsnKicsICc+JywgMHgyMjZifSwKKwl7JyEnLCAnPCcsIDB4MjI2ZX0sCisJeychJywgJz4nLCAweDIyNmZ9LAorCXsnKCcsICdDJywgMHgyMjgyfSwKKwl7JyknLCAnQycsIDB4MjI4M30sCisJeycoJywgJ18nLCAweDIyODZ9LAorCXsnKScsICdfJywgMHgyMjg3fSwKKwl7JzAnLCAnLicsIDB4MjI5OX0sCisJeycwJywgJzInLCAweDIyOWF9LAorCXsnLScsICdUJywgMHgyMmE1fSwKKwl7Jy4nLCAnUCcsIDB4MjJjNX0sCisJeyc6JywgJzMnLCAweDIyZWV9LAorCXsnLicsICczJywgMHgyMmVmfSwKKwl7J0UnLCAnaCcsIDB4MjMwMn0sCisJeyc8JywgJzcnLCAweDIzMDh9LAorCXsnPicsICc3JywgMHgyMzA5fSwKKwl7JzcnLCAnPCcsIDB4MjMwYX0sCisJeyc3JywgJz4nLCAweDIzMGJ9LAorCXsnTicsICdJJywgMHgyMzEwfSwKKwl7JygnLCAnQScsIDB4MjMxMn0sCisJeydUJywgJ1InLCAweDIzMTV9LAorCXsnSScsICd1JywgMHgyMzIwfSwKKwl7J0knLCAnbCcsIDB4MjMyMX0sCisJeyc8JywgJy8nLCAweDIzMjl9LAorCXsnLycsICc+JywgMHgyMzJhfSwKKwl7J1YnLCAncycsIDB4MjQyM30sCisJeycxJywgJ2gnLCAweDI0NDB9LAorCXsnMycsICdoJywgMHgyNDQxfSwKKwl7JzInLCAnaCcsIDB4MjQ0Mn0sCisJeyc0JywgJ2gnLCAweDI0NDN9LAorCXsnMScsICdqJywgMHgyNDQ2fSwKKwl7JzInLCAnaicsIDB4MjQ0N30sCisJeyczJywgJ2onLCAweDI0NDh9LAorCXsnNCcsICdqJywgMHgyNDQ5fSwKKwl7JzEnLCAnLicsIDB4MjQ4OH0sCisJeycyJywgJy4nLCAweDI0ODl9LAorCXsnMycsICcuJywgMHgyNDhhfSwKKwl7JzQnLCAnLicsIDB4MjQ4Yn0sCisJeyc1JywgJy4nLCAweDI0OGN9LAorCXsnNicsICcuJywgMHgyNDhkfSwKKwl7JzcnLCAnLicsIDB4MjQ4ZX0sCisJeyc4JywgJy4nLCAweDI0OGZ9LAorCXsnOScsICcuJywgMHgyNDkwfSwKKwl7J2gnLCAnaCcsIDB4MjUwMH0sCisJeydIJywgJ0gnLCAweDI1MDF9LAorCXsndicsICd2JywgMHgyNTAyfSwKKwl7J1YnLCAnVicsIDB4MjUwM30sCisJeyczJywgJy0nLCAweDI1MDR9LAorCXsnMycsICdfJywgMHgyNTA1fSwKKwl7JzMnLCAnIScsIDB4MjUwNn0sCisJeyczJywgJy8nLCAweDI1MDd9LAorCXsnNCcsICctJywgMHgyNTA4fSwKKwl7JzQnLCAnXycsIDB4MjUwOX0sCisJeyc0JywgJyEnLCAweDI1MGF9LAorCXsnNCcsICcvJywgMHgyNTBifSwKKwl7J2QnLCAncicsIDB4MjUwY30sCisJeydkJywgJ1InLCAweDI1MGR9LAorCXsnRCcsICdyJywgMHgyNTBlfSwKKwl7J0QnLCAnUicsIDB4MjUwZn0sCisJeydkJywgJ2wnLCAweDI1MTB9LAorCXsnZCcsICdMJywgMHgyNTExfSwKKwl7J0QnLCAnbCcsIDB4MjUxMn0sCisJeydMJywgJ0QnLCAweDI1MTN9LAorCXsndScsICdyJywgMHgyNTE0fSwKKwl7J3UnLCAnUicsIDB4MjUxNX0sCisJeydVJywgJ3InLCAweDI1MTZ9LAorCXsnVScsICdSJywgMHgyNTE3fSwKKwl7J3UnLCAnbCcsIDB4MjUxOH0sCisJeyd1JywgJ0wnLCAweDI1MTl9LAorCXsnVScsICdsJywgMHgyNTFhfSwKKwl7J1UnLCAnTCcsIDB4MjUxYn0sCisJeyd2JywgJ3InLCAweDI1MWN9LAorCXsndicsICdSJywgMHgyNTFkfSwKKwl7J1YnLCAncicsIDB4MjUyMH0sCisJeydWJywgJ1InLCAweDI1MjN9LAorCXsndicsICdsJywgMHgyNTI0fSwKKwl7J3YnLCAnTCcsIDB4MjUyNX0sCisJeydWJywgJ2wnLCAweDI1Mjh9LAorCXsnVicsICdMJywgMHgyNTJifSwKKwl7J2QnLCAnaCcsIDB4MjUyY30sCisJeydkJywgJ0gnLCAweDI1MmZ9LAorCXsnRCcsICdoJywgMHgyNTMwfSwKKwl7J0QnLCAnSCcsIDB4MjUzM30sCisJeyd1JywgJ2gnLCAweDI1MzR9LAorCXsndScsICdIJywgMHgyNTM3fSwKKwl7J1UnLCAnaCcsIDB4MjUzOH0sCisJeydVJywgJ0gnLCAweDI1M2J9LAorCXsndicsICdoJywgMHgyNTNjfSwKKwl7J3YnLCAnSCcsIDB4MjUzZn0sCisJeydWJywgJ2gnLCAweDI1NDJ9LAorCXsnVicsICdIJywgMHgyNTRifSwKKwl7J0YnLCAnRCcsIDB4MjU3MX0sCisJeydCJywgJ0QnLCAweDI1NzJ9LAorCXsnVCcsICdCJywgMHgyNTgwfSwKKwl7J0wnLCAnQicsIDB4MjU4NH0sCisJeydGJywgJ0InLCAweDI1ODh9LAorCXsnbCcsICdCJywgMHgyNThjfSwKKwl7J1InLCAnQicsIDB4MjU5MH0sCisJeycuJywgJ1MnLCAweDI1OTF9LAorCXsnOicsICdTJywgMHgyNTkyfSwKKwl7Jz8nLCAnUycsIDB4MjU5M30sCisJeydmJywgJ1MnLCAweDI1YTB9LAorCXsnTycsICdTJywgMHgyNWExfSwKKwl7J1InLCAnTycsIDB4MjVhMn0sCisJeydSJywgJ3InLCAweDI1YTN9LAorCXsnUicsICdGJywgMHgyNWE0fSwKKwl7J1InLCAnWScsIDB4MjVhNX0sCisJeydSJywgJ0gnLCAweDI1YTZ9LAorCXsnUicsICdaJywgMHgyNWE3fSwKKwl7J1InLCAnSycsIDB4MjVhOH0sCisJeydSJywgJ1gnLCAweDI1YTl9LAorCXsncycsICdCJywgMHgyNWFhfSwKKwl7J1MnLCAnUicsIDB4MjVhY30sCisJeydPJywgJ3InLCAweDI1YWR9LAorCXsnVScsICdUJywgMHgyNWIyfSwKKwl7J3UnLCAnVCcsIDB4MjViM30sCisJeydQJywgJ1InLCAweDI1YjZ9LAorCXsnVCcsICdyJywgMHgyNWI3fSwKKwl7J0QnLCAndCcsIDB4MjViY30sCisJeydkJywgJ1QnLCAweDI1YmR9LAorCXsnUCcsICdMJywgMHgyNWMwfSwKKwl7J1QnLCAnbCcsIDB4MjVjMX0sCisJeydEJywgJ2InLCAweDI1YzZ9LAorCXsnRCcsICd3JywgMHgyNWM3fSwKKwl7J0wnLCAnWicsIDB4MjVjYX0sCisJeycwJywgJ20nLCAweDI1Y2J9LAorCXsnMCcsICdvJywgMHgyNWNlfSwKKwl7JzAnLCAnTScsIDB4MjVjZn0sCisJeycwJywgJ0wnLCAweDI1ZDB9LAorCXsnMCcsICdSJywgMHgyNWQxfSwKKwl7J1MnLCAnbicsIDB4MjVkOH0sCisJeydJJywgJ2MnLCAweDI1ZDl9LAorCXsnRicsICdkJywgMHgyNWUyfSwKKwl7J0InLCAnZCcsIDB4MjVlM30sCisJeycqJywgJzInLCAweDI2MDV9LAorCXsnKicsICcxJywgMHgyNjA2fSwKKwl7JzwnLCAnSCcsIDB4MjYxY30sCisJeyc+JywgJ0gnLCAweDI2MWV9LAorCXsnMCcsICd1JywgMHgyNjNhfSwKKwl7JzAnLCAnVScsIDB4MjYzYn0sCisJeydTJywgJ1UnLCAweDI2M2N9LAorCXsnRicsICdtJywgMHgyNjQwfSwKKwl7J00nLCAnbCcsIDB4MjY0Mn0sCisJeydjJywgJ1MnLCAweDI2NjB9LAorCXsnYycsICdIJywgMHgyNjYxfSwKKwl7J2MnLCAnRCcsIDB4MjY2Mn0sCisJeydjJywgJ0MnLCAweDI2NjN9LAorCXsnTScsICdkJywgMHgyNjY5fSwKKwl7J00nLCAnOCcsIDB4MjY2YX0sCisJeydNJywgJzInLCAweDI2NmJ9LAorCXsnTScsICdiJywgMHgyNjZkfSwKKwl7J00nLCAneCcsIDB4MjY2ZX0sCisJeydNJywgJ1gnLCAweDI2NmZ9LAorCXsnTycsICdLJywgMHgyNzEzfSwKKwl7J1gnLCAnWCcsIDB4MjcxN30sCisJeyctJywgJ1gnLCAweDI3MjB9LAorCXsnSScsICdTJywgMHgzMDAwfSwKKwl7JywnLCAnXycsIDB4MzAwMX0sCisJeycuJywgJ18nLCAweDMwMDJ9LAorCXsnKycsICciJywgMHgzMDAzfSwKKwl7JysnLCAnXycsIDB4MzAwNH0sCisJeycqJywgJ18nLCAweDMwMDV9LAorCXsnOycsICdfJywgMHgzMDA2fSwKKwl7JzAnLCAnXycsIDB4MzAwN30sCisJeyc8JywgJysnLCAweDMwMGF9LAorCXsnPicsICcrJywgMHgzMDBifSwKKwl7JzwnLCAnXCcnLCAweDMwMGN9LAorCXsnPicsICdcJycsIDB4MzAwZH0sCisJeyc8JywgJyInLCAweDMwMGV9LAorCXsnPicsICciJywgMHgzMDBmfSwKKwl7JygnLCAnIicsIDB4MzAxMH0sCisJeycpJywgJyInLCAweDMwMTF9LAorCXsnPScsICdUJywgMHgzMDEyfSwKKwl7Jz0nLCAnXycsIDB4MzAxM30sCisJeycoJywgJ1wnJywgMHgzMDE0fSwKKwl7JyknLCAnXCcnLCAweDMwMTV9LAorCXsnKCcsICdJJywgMHgzMDE2fSwKKwl7JyknLCAnSScsIDB4MzAxN30sCisJeyctJywgJz8nLCAweDMwMWN9LAorCXsnQScsICc1JywgMHgzMDQxfSwKKwl7J2EnLCAnNScsIDB4MzA0Mn0sCisJeydJJywgJzUnLCAweDMwNDN9LAorCXsnaScsICc1JywgMHgzMDQ0fSwKKwl7J1UnLCAnNScsIDB4MzA0NX0sCisJeyd1JywgJzUnLCAweDMwNDZ9LAorCXsnRScsICc1JywgMHgzMDQ3fSwKKwl7J2UnLCAnNScsIDB4MzA0OH0sCisJeydPJywgJzUnLCAweDMwNDl9LAorCXsnbycsICc1JywgMHgzMDRhfSwKKwl7J2snLCAnYScsIDB4MzA0Yn0sCisJeydnJywgJ2EnLCAweDMwNGN9LAorCXsnaycsICdpJywgMHgzMDRkfSwKKwl7J2cnLCAnaScsIDB4MzA0ZX0sCisJeydrJywgJ3UnLCAweDMwNGZ9LAorCXsnZycsICd1JywgMHgzMDUwfSwKKwl7J2snLCAnZScsIDB4MzA1MX0sCisJeydnJywgJ2UnLCAweDMwNTJ9LAorCXsnaycsICdvJywgMHgzMDUzfSwKKwl7J2cnLCAnbycsIDB4MzA1NH0sCisJeydzJywgJ2EnLCAweDMwNTV9LAorCXsneicsICdhJywgMHgzMDU2fSwKKwl7J3MnLCAnaScsIDB4MzA1N30sCisJeyd6JywgJ2knLCAweDMwNTh9LAorCXsncycsICd1JywgMHgzMDU5fSwKKwl7J3onLCAndScsIDB4MzA1YX0sCisJeydzJywgJ2UnLCAweDMwNWJ9LAorCXsneicsICdlJywgMHgzMDVjfSwKKwl7J3MnLCAnbycsIDB4MzA1ZH0sCisJeyd6JywgJ28nLCAweDMwNWV9LAorCXsndCcsICdhJywgMHgzMDVmfSwKKwl7J2QnLCAnYScsIDB4MzA2MH0sCisJeyd0JywgJ2knLCAweDMwNjF9LAorCXsnZCcsICdpJywgMHgzMDYyfSwKKwl7J3QnLCAnVScsIDB4MzA2M30sCisJeyd0JywgJ3UnLCAweDMwNjR9LAorCXsnZCcsICd1JywgMHgzMDY1fSwKKwl7J3QnLCAnZScsIDB4MzA2Nn0sCisJeydkJywgJ2UnLCAweDMwNjd9LAorCXsndCcsICdvJywgMHgzMDY4fSwKKwl7J2QnLCAnbycsIDB4MzA2OX0sCisJeyduJywgJ2EnLCAweDMwNmF9LAorCXsnbicsICdpJywgMHgzMDZifSwKKwl7J24nLCAndScsIDB4MzA2Y30sCisJeyduJywgJ2UnLCAweDMwNmR9LAorCXsnbicsICdvJywgMHgzMDZlfSwKKwl7J2gnLCAnYScsIDB4MzA2Zn0sCisJeydiJywgJ2EnLCAweDMwNzB9LAorCXsncCcsICdhJywgMHgzMDcxfSwKKwl7J2gnLCAnaScsIDB4MzA3Mn0sCisJeydiJywgJ2knLCAweDMwNzN9LAorCXsncCcsICdpJywgMHgzMDc0fSwKKwl7J2gnLCAndScsIDB4MzA3NX0sCisJeydiJywgJ3UnLCAweDMwNzZ9LAorCXsncCcsICd1JywgMHgzMDc3fSwKKwl7J2gnLCAnZScsIDB4MzA3OH0sCisJeydiJywgJ2UnLCAweDMwNzl9LAorCXsncCcsICdlJywgMHgzMDdhfSwKKwl7J2gnLCAnbycsIDB4MzA3Yn0sCisJeydiJywgJ28nLCAweDMwN2N9LAorCXsncCcsICdvJywgMHgzMDdkfSwKKwl7J20nLCAnYScsIDB4MzA3ZX0sCisJeydtJywgJ2knLCAweDMwN2Z9LAorCXsnbScsICd1JywgMHgzMDgwfSwKKwl7J20nLCAnZScsIDB4MzA4MX0sCisJeydtJywgJ28nLCAweDMwODJ9LAorCXsneScsICdBJywgMHgzMDgzfSwKKwl7J3knLCAnYScsIDB4MzA4NH0sCisJeyd5JywgJ1UnLCAweDMwODV9LAorCXsneScsICd1JywgMHgzMDg2fSwKKwl7J3knLCAnTycsIDB4MzA4N30sCisJeyd5JywgJ28nLCAweDMwODh9LAorCXsncicsICdhJywgMHgzMDg5fSwKKwl7J3InLCAnaScsIDB4MzA4YX0sCisJeydyJywgJ3UnLCAweDMwOGJ9LAorCXsncicsICdlJywgMHgzMDhjfSwKKwl7J3InLCAnbycsIDB4MzA4ZH0sCisJeyd3JywgJ0EnLCAweDMwOGV9LAorCXsndycsICdhJywgMHgzMDhmfSwKKwl7J3cnLCAnaScsIDB4MzA5MH0sCisJeyd3JywgJ2UnLCAweDMwOTF9LAorCXsndycsICdvJywgMHgzMDkyfSwKKwl7J24nLCAnNScsIDB4MzA5M30sCisJeyd2JywgJ3UnLCAweDMwOTR9LAorCXsnIicsICc1JywgMHgzMDlifSwKKwl7JzAnLCAnNScsIDB4MzA5Y30sCisJeycqJywgJzUnLCAweDMwOWR9LAorCXsnKycsICc1JywgMHgzMDllfSwKKwl7J2EnLCAnNicsIDB4MzBhMX0sCisJeydBJywgJzYnLCAweDMwYTJ9LAorCXsnaScsICc2JywgMHgzMGEzfSwKKwl7J0knLCAnNicsIDB4MzBhNH0sCisJeyd1JywgJzYnLCAweDMwYTV9LAorCXsnVScsICc2JywgMHgzMGE2fSwKKwl7J2UnLCAnNicsIDB4MzBhN30sCisJeydFJywgJzYnLCAweDMwYTh9LAorCXsnbycsICc2JywgMHgzMGE5fSwKKwl7J08nLCAnNicsIDB4MzBhYX0sCisJeydLJywgJ2EnLCAweDMwYWJ9LAorCXsnRycsICdhJywgMHgzMGFjfSwKKwl7J0snLCAnaScsIDB4MzBhZH0sCisJeydHJywgJ2knLCAweDMwYWV9LAorCXsnSycsICd1JywgMHgzMGFmfSwKKwl7J0cnLCAndScsIDB4MzBiMH0sCisJeydLJywgJ2UnLCAweDMwYjF9LAorCXsnRycsICdlJywgMHgzMGIyfSwKKwl7J0snLCAnbycsIDB4MzBiM30sCisJeydHJywgJ28nLCAweDMwYjR9LAorCXsnUycsICdhJywgMHgzMGI1fSwKKwl7J1onLCAnYScsIDB4MzBiNn0sCisJeydTJywgJ2knLCAweDMwYjd9LAorCXsnWicsICdpJywgMHgzMGI4fSwKKwl7J1MnLCAndScsIDB4MzBiOX0sCisJeydaJywgJ3UnLCAweDMwYmF9LAorCXsnUycsICdlJywgMHgzMGJifSwKKwl7J1onLCAnZScsIDB4MzBiY30sCisJeydTJywgJ28nLCAweDMwYmR9LAorCXsnWicsICdvJywgMHgzMGJlfSwKKwl7J1QnLCAnYScsIDB4MzBiZn0sCisJeydEJywgJ2EnLCAweDMwYzB9LAorCXsnVCcsICdpJywgMHgzMGMxfSwKKwl7J0QnLCAnaScsIDB4MzBjMn0sCisJeydUJywgJ1UnLCAweDMwYzN9LAorCXsnVCcsICd1JywgMHgzMGM0fSwKKwl7J0QnLCAndScsIDB4MzBjNX0sCisJeydUJywgJ2UnLCAweDMwYzZ9LAorCXsnRCcsICdlJywgMHgzMGM3fSwKKwl7J1QnLCAnbycsIDB4MzBjOH0sCisJeydEJywgJ28nLCAweDMwYzl9LAorCXsnTicsICdhJywgMHgzMGNhfSwKKwl7J04nLCAnaScsIDB4MzBjYn0sCisJeydOJywgJ3UnLCAweDMwY2N9LAorCXsnTicsICdlJywgMHgzMGNkfSwKKwl7J04nLCAnbycsIDB4MzBjZX0sCisJeydIJywgJ2EnLCAweDMwY2Z9LAorCXsnQicsICdhJywgMHgzMGQwfSwKKwl7J1AnLCAnYScsIDB4MzBkMX0sCisJeydIJywgJ2knLCAweDMwZDJ9LAorCXsnQicsICdpJywgMHgzMGQzfSwKKwl7J1AnLCAnaScsIDB4MzBkNH0sCisJeydIJywgJ3UnLCAweDMwZDV9LAorCXsnQicsICd1JywgMHgzMGQ2fSwKKwl7J1AnLCAndScsIDB4MzBkN30sCisJeydIJywgJ2UnLCAweDMwZDh9LAorCXsnQicsICdlJywgMHgzMGQ5fSwKKwl7J1AnLCAnZScsIDB4MzBkYX0sCisJeydIJywgJ28nLCAweDMwZGJ9LAorCXsnQicsICdvJywgMHgzMGRjfSwKKwl7J1AnLCAnbycsIDB4MzBkZH0sCisJeydNJywgJ2EnLCAweDMwZGV9LAorCXsnTScsICdpJywgMHgzMGRmfSwKKwl7J00nLCAndScsIDB4MzBlMH0sCisJeydNJywgJ2UnLCAweDMwZTF9LAorCXsnTScsICdvJywgMHgzMGUyfSwKKwl7J1knLCAnQScsIDB4MzBlM30sCisJeydZJywgJ2EnLCAweDMwZTR9LAorCXsnWScsICdVJywgMHgzMGU1fSwKKwl7J1knLCAndScsIDB4MzBlNn0sCisJeydZJywgJ08nLCAweDMwZTd9LAorCXsnWScsICdvJywgMHgzMGU4fSwKKwl7J1InLCAnYScsIDB4MzBlOX0sCisJeydSJywgJ2knLCAweDMwZWF9LAorCXsnUicsICd1JywgMHgzMGVifSwKKwl7J1InLCAnZScsIDB4MzBlY30sCisJeydSJywgJ28nLCAweDMwZWR9LAorCXsnVycsICdBJywgMHgzMGVlfSwKKwl7J1cnLCAnYScsIDB4MzBlZn0sCisJeydXJywgJ2knLCAweDMwZjB9LAorCXsnVycsICdlJywgMHgzMGYxfSwKKwl7J1cnLCAnbycsIDB4MzBmMn0sCisJeydOJywgJzYnLCAweDMwZjN9LAorCXsnVicsICd1JywgMHgzMGY0fSwKKwl7J0snLCAnQScsIDB4MzBmNX0sCisJeydLJywgJ0UnLCAweDMwZjZ9LAorCXsnVicsICdhJywgMHgzMGY3fSwKKwl7J1YnLCAnaScsIDB4MzBmOH0sCisJeydWJywgJ2UnLCAweDMwZjl9LAorCXsnVicsICdvJywgMHgzMGZhfSwKKwl7Jy4nLCAnNicsIDB4MzBmYn0sCisJeyctJywgJzYnLCAweDMwZmN9LAorCXsnKicsICc2JywgMHgzMGZkfSwKKwl7JysnLCAnNicsIDB4MzBmZX0sCisJeydiJywgJzQnLCAweDMxMDV9LAorCXsncCcsICc0JywgMHgzMTA2fSwKKwl7J20nLCAnNCcsIDB4MzEwN30sCisJeydmJywgJzQnLCAweDMxMDh9LAorCXsnZCcsICc0JywgMHgzMTA5fSwKKwl7J3QnLCAnNCcsIDB4MzEwYX0sCisJeyduJywgJzQnLCAweDMxMGJ9LAorCXsnbCcsICc0JywgMHgzMTBjfSwKKwl7J2cnLCAnNCcsIDB4MzEwZH0sCisJeydrJywgJzQnLCAweDMxMGV9LAorCXsnaCcsICc0JywgMHgzMTBmfSwKKwl7J2onLCAnNCcsIDB4MzExMH0sCisJeydxJywgJzQnLCAweDMxMTF9LAorCXsneCcsICc0JywgMHgzMTEyfSwKKwl7J3onLCAnaCcsIDB4MzExM30sCisJeydjJywgJ2gnLCAweDMxMTR9LAorCXsncycsICdoJywgMHgzMTE1fSwKKwl7J3InLCAnNCcsIDB4MzExNn0sCisJeyd6JywgJzQnLCAweDMxMTd9LAorCXsnYycsICc0JywgMHgzMTE4fSwKKwl7J3MnLCAnNCcsIDB4MzExOX0sCisJeydhJywgJzQnLCAweDMxMWF9LAorCXsnbycsICc0JywgMHgzMTFifSwKKwl7J2UnLCAnNCcsIDB4MzExY30sCisJeydhJywgJ2knLCAweDMxMWV9LAorCXsnZScsICdpJywgMHgzMTFmfSwKKwl7J2EnLCAndScsIDB4MzEyMH0sCisJeydvJywgJ3UnLCAweDMxMjF9LAorCXsnYScsICduJywgMHgzMTIyfSwKKwl7J2UnLCAnbicsIDB4MzEyM30sCisJeydhJywgJ04nLCAweDMxMjR9LAorCXsnZScsICdOJywgMHgzMTI1fSwKKwl7J2UnLCAncicsIDB4MzEyNn0sCisJeydpJywgJzQnLCAweDMxMjd9LAorCXsndScsICc0JywgMHgzMTI4fSwKKwl7J2knLCAndScsIDB4MzEyOX0sCisJeyd2JywgJzQnLCAweDMxMmF9LAorCXsnbicsICdHJywgMHgzMTJifSwKKwl7J2cnLCAnbicsIDB4MzEyY30sCisJeycxJywgJ2MnLCAweDMyMjB9LAorCXsnMicsICdjJywgMHgzMjIxfSwKKwl7JzMnLCAnYycsIDB4MzIyMn0sCisJeyc0JywgJ2MnLCAweDMyMjN9LAorCXsnNScsICdjJywgMHgzMjI0fSwKKwl7JzYnLCAnYycsIDB4MzIyNX0sCisJeyc3JywgJ2MnLCAweDMyMjZ9LAorCXsnOCcsICdjJywgMHgzMjI3fSwKKwl7JzknLCAnYycsIDB4MzIyOH0sCisJeycgJywgJyAnLCAweGUwMDB9LAorCXsnLycsICdjJywgMHhlMDAxfSwKKwl7J1UnLCAnQScsIDB4ZTAwMn0sCisJeydVJywgJ0InLCAweGUwMDN9LAorCXsnIicsICczJywgMHhlMDA0fSwKKwl7JyInLCAnMScsIDB4ZTAwNX0sCisJeyciJywgJyEnLCAweGUwMDZ9LAorCXsnIicsICdcJycsIDB4ZTAwN30sCisJeyciJywgJz4nLCAweGUwMDh9LAorCXsnIicsICc/JywgMHhlMDA5fSwKKwl7JyInLCAnLScsIDB4ZTAwYX0sCisJeyciJywgJygnLCAweGUwMGJ9LAorCXsnIicsICcuJywgMHhlMDBjfSwKKwl7JyInLCAnOicsIDB4ZTAwZH0sCisJeyciJywgJzAnLCAweGUwMGV9LAorCXsnIicsICciJywgMHhlMDBmfSwKKwl7JyInLCAnPCcsIDB4ZTAxMH0sCisJeyciJywgJywnLCAweGUwMTF9LAorCXsnIicsICc7JywgMHhlMDEyfSwKKwl7JyInLCAnXycsIDB4ZTAxM30sCisJeyciJywgJz0nLCAweGUwMTR9LAorCXsnIicsICcvJywgMHhlMDE1fSwKKwl7JyInLCAnaScsIDB4ZTAxNn0sCisJeyciJywgJ2QnLCAweGUwMTd9LAorCXsnIicsICdwJywgMHhlMDE4fSwKKwl7JzsnLCAnOycsIDB4ZTAxOX0sCisJeycsJywgJywnLCAweGUwMWF9LAorCXsnYicsICczJywgMHhlMDFifSwKKwl7J0MnLCAnaScsIDB4ZTAxY30sCisJeydmJywgJygnLCAweGUwMWR9LAorCXsnZScsICdkJywgMHhlMDFlfSwKKwl7J2EnLCAnbScsIDB4ZTAxZn0sCisJeydwJywgJ20nLCAweGUwMjB9LAorCXsnRicsICdsJywgMHhlMDIzfSwKKwl7J0cnLCAnRicsIDB4ZTAyNH0sCisJeyc+JywgJ1YnLCAweGUwMjV9LAorCXsnIScsICcqJywgMHhlMDI2fSwKKwl7Jz8nLCAnKicsIDB4ZTAyN30sCisJeydKJywgJzwnLCAweGUwMjh9LAorCXsnZicsICdmJywgMHhmYjAwfSwKKwl7J2YnLCAnaScsIDB4ZmIwMX0sCisJeydmJywgJ2wnLCAweGZiMDJ9LAorCXsnZicsICd0JywgMHhmYjA1fSwKKwl7J3MnLCAndCcsIDB4ZmIwNn0sCisjICAgICAgZW5kaWYgLyogRkVBVF9NQllURSAqLworCXtOVUwsIE5VTCwgTlVMfQorICAgICAgIH07CisKKyMgICAgIGVuZGlmIC8qIE9MRF9ESUdSQVBIUyAqLworCisjICAgIGVuZGlmIC8qIE1hY2ludG9zaCAqLworIyAgIGVuZGlmIC8qIEVCQ0RJQyAqLworIyAgZW5kaWYgICAgLyogIUhQVVhfRElHUkFQSFMgKi8KKyMgZW5kaWYJLyogIV9fTUlOVF9fICovCisjZW5kaWYJLyogIU1TRE9TICYmICFPUzIgKi8KKworLyoKKyAqIGhhbmRsZSBkaWdyYXBocyBhZnRlciB0eXBpbmcgYSBjaGFyYWN0ZXIKKyAqLworICAgIGludAorZG9fZGlncmFwaChjKQorICAgIGludAkgICAgYzsKK3sKKyAgICBzdGF0aWMgaW50CWJhY2tzcGFjZWQ7CS8qIGNoYXJhY3RlciBiZWZvcmUgS19CUyAqLworICAgIHN0YXRpYyBpbnQJbGFzdGNoYXI7CS8qIGxhc3QgdHlwZWQgY2hhcmFjdGVyICovCisKKyAgICBpZiAoYyA9PSAtMSkJCS8qIGluaXQgdmFsdWVzICovCisgICAgeworCWJhY2tzcGFjZWQgPSAtMTsKKyAgICB9CisgICAgZWxzZSBpZiAocF9kZykKKyAgICB7CisJaWYgKGJhY2tzcGFjZWQgPj0gMCkKKwkgICAgYyA9IGdldGRpZ3JhcGgoYmFja3NwYWNlZCwgYywgRkFMU0UpOworCWJhY2tzcGFjZWQgPSAtMTsKKwlpZiAoKGMgPT0gS19CUyB8fCBjID09IEN0cmxfSCkgJiYgbGFzdGNoYXIgPj0gMCkKKwkgICAgYmFja3NwYWNlZCA9IGxhc3RjaGFyOworICAgIH0KKyAgICBsYXN0Y2hhciA9IGM7CisgICAgcmV0dXJuIGM7Cit9CisKKy8qCisgKiBHZXQgYSBkaWdyYXBoLiAgVXNlZCBhZnRlciB0eXBpbmcgQ1RSTC1LIG9uIHRoZSBjb21tYW5kIGxpbmUgb3IgaW4gbm9ybWFsCisgKiBtb2RlLgorICogUmV0dXJucyBjb21wb3NlZCBjaGFyYWN0ZXIsIG9yIE5VTCB3aGVuIEVTQyB3YXMgdXNlZC4KKyAqLworICAgIGludAorZ2V0X2RpZ3JhcGgoY21kbGluZSkKKyAgICBpbnQJCWNtZGxpbmU7CS8qIFRSVUUgd2hlbiBjYWxsZWQgZnJvbSB0aGUgY21kbGluZSAqLworeworICAgIGludAkJYywgY2M7CisKKyAgICArK25vX21hcHBpbmc7CisgICAgKythbGxvd19rZXlzOworICAgIGMgPSBzYWZlX3ZnZXRjKCk7CisgICAgLS1ub19tYXBwaW5nOworICAgIC0tYWxsb3dfa2V5czsKKyAgICBpZiAoYyAhPSBFU0MpCQkvKiBFU0MgY2FuY2VscyBDVFJMLUsgKi8KKyAgICB7CisJaWYgKElTX1NQRUNJQUwoYykpCS8qIGluc2VydCBzcGVjaWFsIGtleSBjb2RlICovCisJICAgIHJldHVybiBjOworCWlmIChjbWRsaW5lKQorCXsKKwkgICAgaWYgKGNoYXIyY2VsbHMoYykgPT0gMQorI2lmIGRlZmluZWQoRkVBVF9DUllQVCkgfHwgZGVmaW5lZChGRUFUX0VWQUwpCisJCSAgICAmJiBjbWRsaW5lX3N0YXIgPT0gMAorI2VuZGlmCisJCSAgICApCisJCXB1dGNtZGxpbmUoYywgVFJVRSk7CisJfQorI2lmZGVmIEZFQVRfQ01ETF9JTkZPCisJZWxzZQorCSAgICBhZGRfdG9fc2hvd2NtZChjKTsKKyNlbmRpZgorCSsrbm9fbWFwcGluZzsKKwkrK2FsbG93X2tleXM7CisJY2MgPSBzYWZlX3ZnZXRjKCk7CisJLS1ub19tYXBwaW5nOworCS0tYWxsb3dfa2V5czsKKwlpZiAoY2MgIT0gRVNDKQkgICAgLyogRVNDIGNhbmNlbHMgQ1RSTC1LICovCisJICAgIHJldHVybiBnZXRkaWdyYXBoKGMsIGNjLCBUUlVFKTsKKyAgICB9CisgICAgcmV0dXJuIE5VTDsKK30KKworLyoKKyAqIExvb2t1cCB0aGUgcGFpciAiY2hhcjEiLCAiY2hhcjIiIGluIHRoZSBkaWdyYXBoIHRhYmxlcy4KKyAqIElmIG5vIG1hdGNoLCByZXR1cm4gImNoYXIyIi4KKyAqIElmICJtZXRhIiBpcyBUUlVFIGFuZCAiY2hhcjEiIGlzIGEgc3BhY2UsIHJldHVybiAiY2hhcjIiIHwgMHg4MC4KKyAqLworICAgIHN0YXRpYyBpbnQKK2dldGV4YWN0ZGlncmFwaChjaGFyMSwgY2hhcjIsIG1ldGEpCisgICAgaW50CQljaGFyMTsKKyAgICBpbnQJCWNoYXIyOworICAgIGludAkJbWV0YTsKK3sKKyAgICBpbnQJCWk7CisgICAgaW50CQlyZXR2YWwgPSAwOworICAgIGRpZ3JfVAkqZHA7CisKKyAgICBpZiAoSVNfU1BFQ0lBTChjaGFyMSkgfHwgSVNfU1BFQ0lBTChjaGFyMikpCisJcmV0dXJuIGNoYXIyOworCisgICAgLyoKKyAgICAgKiBTZWFyY2ggdXNlciBkaWdyYXBocyBmaXJzdC4KKyAgICAgKi8KKyAgICBkcCA9IChkaWdyX1QgKil1c2VyX2RpZ3JhcGhzLmdhX2RhdGE7CisgICAgZm9yIChpID0gMDsgaSA8IHVzZXJfZGlncmFwaHMuZ2FfbGVuOyArK2kpCisgICAgeworCWlmICgoaW50KWRwLT5jaGFyMSA9PSBjaGFyMSAmJiAoaW50KWRwLT5jaGFyMiA9PSBjaGFyMikKKwl7CisJICAgIHJldHZhbCA9IGRwLT5yZXN1bHQ7CisJICAgIGJyZWFrOworCX0KKwkrK2RwOworICAgIH0KKworICAgIC8qCisgICAgICogU2VhcmNoIGRlZmF1bHQgZGlncmFwaHMuCisgICAgICovCisgICAgaWYgKHJldHZhbCA9PSAwKQorICAgIHsKKwlkcCA9IGRpZ3JhcGhkZWZhdWx0OworCWZvciAoaSA9IDA7IGRwLT5jaGFyMSAhPSAwOyArK2kpCisJeworCSAgICBpZiAoKGludClkcC0+Y2hhcjEgPT0gY2hhcjEgJiYgKGludClkcC0+Y2hhcjIgPT0gY2hhcjIpCisJICAgIHsKKwkJcmV0dmFsID0gZHAtPnJlc3VsdDsKKwkJYnJlYWs7CisJICAgIH0KKwkgICAgKytkcDsKKwl9CisgICAgfQorI2lmZGVmIEZFQVRfTUJZVEUKKyMgaWZkZWYgVVNFX1VOSUNPREVfRElHUkFQSFMKKyAgICBpZiAocmV0dmFsICE9IDAgJiYgIWVuY191dGY4KQorICAgIHsKKwljaGFyX3UJICAgIGJ1Zls2XSwgKnRvOworCXZpbWNvbnZfVCAgIHZjOworCisJLyoKKwkgKiBDb252ZXJ0IHRoZSBVbmljb2RlIGRpZ3JhcGggdG8gJ2VuY29kaW5nJy4KKwkgKi8KKwlpID0gdXRmX2NoYXIyYnl0ZXMocmV0dmFsLCBidWYpOworCXJldHZhbCA9IDA7CisJdmMudmNfdHlwZSA9IENPTlZfTk9ORTsKKwlpZiAoY29udmVydF9zZXR1cCgmdmMsIChjaGFyX3UgKikidXRmLTgiLCBwX2VuYykgPT0gT0spCisJeworCSAgICB2Yy52Y19mYWlsID0gVFJVRTsKKwkgICAgdG8gPSBzdHJpbmdfY29udmVydCgmdmMsIGJ1ZiwgJmkpOworCSAgICBpZiAodG8gIT0gTlVMTCkKKwkgICAgeworCQlyZXR2YWwgPSAoKm1iX3B0cjJjaGFyKSh0byk7CisJCXZpbV9mcmVlKHRvKTsKKwkgICAgfQorCSAgICAodm9pZCljb252ZXJ0X3NldHVwKCZ2YywgTlVMTCwgTlVMTCk7CisJfQorICAgIH0KKyMgZW5kaWYKKworICAgIC8qIElnbm9yZSBtdWx0aS1ieXRlIGNoYXJhY3RlcnMgd2hlbiBub3QgaW4gbXVsdGktYnl0ZSBtb2RlLiAqLworICAgIGlmICghaGFzX21ieXRlICYmIHJldHZhbCA+IDB4ZmYpCisJcmV0dmFsID0gMDsKKyNlbmRpZgorCisgICAgaWYgKHJldHZhbCA9PSAwKQkJLyogZGlncmFwaCBkZWxldGVkIG9yIG5vdCBmb3VuZCAqLworICAgIHsKKwlpZiAoY2hhcjEgPT0gJyAnICYmIG1ldGEpCS8qIDxzcGFjZT4gPGNoYXI+IC0tPiBtZXRhLWNoYXIgKi8KKwkgICAgcmV0dXJuIChjaGFyMiB8IDB4ODApOworCXJldHVybiBjaGFyMjsKKyAgICB9CisgICAgcmV0dXJuIHJldHZhbDsKK30KKworLyoKKyAqIEdldCBkaWdyYXBoLgorICogQWxsb3cgZm9yIGJvdGggY2hhcjEtY2hhcjIgYW5kIGNoYXIyLWNoYXIxCisgKi8KKyAgICBpbnQKK2dldGRpZ3JhcGgoY2hhcjEsIGNoYXIyLCBtZXRhKQorICAgIGludAljaGFyMTsKKyAgICBpbnQJY2hhcjI7CisgICAgaW50CW1ldGE7Cit7CisgICAgaW50CSAgICByZXR2YWw7CisKKyAgICBpZiAoKChyZXR2YWwgPSBnZXRleGFjdGRpZ3JhcGgoY2hhcjEsIGNoYXIyLCBtZXRhKSkgPT0gY2hhcjIpCisJICAgICYmIChjaGFyMSAhPSBjaGFyMikKKwkgICAgJiYgKChyZXR2YWwgPSBnZXRleGFjdGRpZ3JhcGgoY2hhcjIsIGNoYXIxLCBtZXRhKSkgPT0gY2hhcjEpKQorCXJldHVybiBjaGFyMjsKKyAgICByZXR1cm4gcmV0dmFsOworfQorCisvKgorICogQWRkIHRoZSBkaWdyYXBocyBpbiB0aGUgYXJndW1lbnQgdG8gdGhlIGRpZ3JhcGggdGFibGUuCisgKiBmb3JtYXQ6IHtjMX17YzJ9IGNoYXIge2MxfXtjMn0gY2hhciAuLi4KKyAqLworICAgIHZvaWQKK3B1dGRpZ3JhcGgoc3RyKQorICAgIGNoYXJfdSAqc3RyOworeworICAgIGludAkJY2hhcjEsIGNoYXIyLCBuOworICAgIGludAkJaTsKKyAgICBkaWdyX1QJKmRwOworCisgICAgd2hpbGUgKCpzdHIgIT0gTlVMKQorICAgIHsKKwlzdHIgPSBza2lwd2hpdGUoc3RyKTsKKwlpZiAoKnN0ciA9PSBOVUwpCisJICAgIHJldHVybjsKKwljaGFyMSA9ICpzdHIrKzsKKwljaGFyMiA9ICpzdHIrKzsKKwlpZiAoY2hhcjIgPT0gMCkKKwl7CisJICAgIEVNU0coXyhlX2ludmFyZykpOworCSAgICByZXR1cm47CisJfQorCWlmIChjaGFyMSA9PSBFU0MgfHwgY2hhcjIgPT0gRVNDKQorCXsKKwkgICAgRU1TRyhfKCJFMTA0OiBFc2NhcGUgbm90IGFsbG93ZWQgaW4gZGlncmFwaCIpKTsKKwkgICAgcmV0dXJuOworCX0KKwlzdHIgPSBza2lwd2hpdGUoc3RyKTsKKwlpZiAoIVZJTV9JU0RJR0lUKCpzdHIpKQorCXsKKwkgICAgRU1TRyhfKGVfbnVtYmVyX2V4cCkpOworCSAgICByZXR1cm47CisJfQorCW4gPSBnZXRkaWdpdHMoJnN0cik7CisKKwkvKiBJZiB0aGUgZGlncmFwaCBhbHJlYWR5IGV4aXN0cywgcmVwbGFjZSB0aGUgcmVzdWx0LiAqLworCWRwID0gKGRpZ3JfVCAqKXVzZXJfZGlncmFwaHMuZ2FfZGF0YTsKKwlmb3IgKGkgPSAwOyBpIDwgdXNlcl9kaWdyYXBocy5nYV9sZW47ICsraSkKKwl7CisJICAgIGlmICgoaW50KWRwLT5jaGFyMSA9PSBjaGFyMSAmJiAoaW50KWRwLT5jaGFyMiA9PSBjaGFyMikKKwkgICAgeworCQlkcC0+cmVzdWx0ID0gbjsKKwkJYnJlYWs7CisJICAgIH0KKwkgICAgKytkcDsKKwl9CisKKwkvKiBBZGQgYSBuZXcgZGlncmFwaCB0byB0aGUgdGFibGUuICovCisJaWYgKGkgPT0gdXNlcl9kaWdyYXBocy5nYV9sZW4pCisJeworCSAgICBpZiAoZ2FfZ3JvdygmdXNlcl9kaWdyYXBocywgMSkgPT0gT0spCisJICAgIHsKKwkJZHAgPSAoZGlncl9UICopdXNlcl9kaWdyYXBocy5nYV9kYXRhICsgdXNlcl9kaWdyYXBocy5nYV9sZW47CisJCWRwLT5jaGFyMSA9IGNoYXIxOworCQlkcC0+Y2hhcjIgPSBjaGFyMjsKKwkJZHAtPnJlc3VsdCA9IG47CisJCSsrdXNlcl9kaWdyYXBocy5nYV9sZW47CisJCS0tdXNlcl9kaWdyYXBocy5nYV9yb29tOworCSAgICB9CisJfQorICAgIH0KK30KKworICAgIHZvaWQKK2xpc3RkaWdyYXBocygpCit7CisgICAgaW50CQlpOworICAgIGRpZ3JfVAkqZHA7CisKKyAgICBtc2dfcHV0Y2hhcignXG4nKTsKKworICAgIGRwID0gZGlncmFwaGRlZmF1bHQ7CisgICAgZm9yIChpID0gMDsgZHAtPmNoYXIxICE9IE5VTCAmJiAhZ290X2ludDsgKytpKQorICAgIHsKKyNpZiBkZWZpbmVkKFVTRV9VTklDT0RFX0RJR1JBUEhTKSAmJiBkZWZpbmVkKEZFQVRfTUJZVEUpCisJZGlncl9UIHRtcDsKKworCS8qIE1heSBuZWVkIHRvIGNvbnZlcnQgdGhlIHJlc3VsdCB0byAnZW5jb2RpbmcnLiAqLworCXRtcC5jaGFyMSA9IGRwLT5jaGFyMTsKKwl0bXAuY2hhcjIgPSBkcC0+Y2hhcjI7CisJdG1wLnJlc3VsdCA9IGdldGV4YWN0ZGlncmFwaCh0bXAuY2hhcjEsIHRtcC5jaGFyMiwgRkFMU0UpOworCWlmICh0bXAucmVzdWx0ICE9IDAgJiYgdG1wLnJlc3VsdCAhPSB0bXAuY2hhcjIKKwkJCQkJICAmJiAoaGFzX21ieXRlIHx8IHRtcC5yZXN1bHQgPD0gMjU1KSkKKwkgICAgcHJpbnRkaWdyYXBoKCZ0bXApOworI2Vsc2UKKworCWlmIChnZXRleGFjdGRpZ3JhcGgoZHAtPmNoYXIxLCBkcC0+Y2hhcjIsIEZBTFNFKSA9PSBkcC0+cmVzdWx0CisjIGlmZGVmIEZFQVRfTUJZVEUKKwkJJiYgKGhhc19tYnl0ZSB8fCBkcC0+cmVzdWx0IDw9IDI1NSkKKyMgZW5kaWYKKwkJKQorCSAgICBwcmludGRpZ3JhcGgoZHApOworI2VuZGlmCisJKytkcDsKKwl1aV9icmVha2NoZWNrKCk7CisgICAgfQorCisgICAgZHAgPSAoZGlncl9UICopdXNlcl9kaWdyYXBocy5nYV9kYXRhOworICAgIGZvciAoaSA9IDA7IGkgPCB1c2VyX2RpZ3JhcGhzLmdhX2xlbiAmJiAhZ290X2ludDsgKytpKQorICAgIHsKKwlwcmludGRpZ3JhcGgoZHApOworCXVpX2JyZWFrY2hlY2soKTsKKwkrK2RwOworICAgIH0KKyAgICBtdXN0X3JlZHJhdyA9IENMRUFSOyAgICAvKiBjbGVhciBzY3JlZW4sIGJlY2F1c2Ugc29tZSBkaWdyYXBocyBtYXkgYmUKKwkJCSAgICAgICB3cm9uZywgaW4gd2hpY2ggY2FzZSB3ZSBtZXNzZWQgdXAgU2NyZWVuTGluZXMgKi8KK30KKworICAgIHN0YXRpYyB2b2lkCitwcmludGRpZ3JhcGgoZHApCisgICAgZGlncl9UCSpkcDsKK3sKKyAgICBjaGFyX3UJYnVmWzMwXTsKKyAgICBjaGFyX3UJKnA7CisKKyAgICBpbnQJCWxpc3Rfd2lkdGg7CisKKyAgICBpZiAoKGR5X2ZsYWdzICYgRFlfVUhFWCkKKyNpZmRlZiBGRUFUX01CWVRFCisJICAgIHx8IGhhc19tYnl0ZQorI2VuZGlmCisJICAgICkKKwlsaXN0X3dpZHRoID0gMTM7CisgICAgZWxzZQorCWxpc3Rfd2lkdGggPSAxMTsKKworICAgIGlmIChkcC0+cmVzdWx0ICE9IDApCisgICAgeworCWlmIChtc2dfY29sID4gQ29sdW1ucyAtIGxpc3Rfd2lkdGgpCisJICAgIG1zZ19wdXRjaGFyKCdcbicpOworCWlmIChtc2dfY29sKQorCSAgICB3aGlsZSAobXNnX2NvbCAlIGxpc3Rfd2lkdGggIT0gMCkKKwkJbXNnX3B1dGNoYXIoJyAnKTsKKworCXAgPSBidWY7CisJKnArKyA9IGRwLT5jaGFyMTsKKwkqcCsrID0gZHAtPmNoYXIyOworCSpwKysgPSAnICc7CisjaWZkZWYgRkVBVF9NQllURQorCWlmIChoYXNfbWJ5dGUpCisJeworCSAgICAvKiBhZGQgYSBzcGFjZSB0byBkcmF3IGEgY29tcG9zaW5nIGNoYXIgb24gKi8KKwkgICAgaWYgKGVuY191dGY4ICYmIHV0Zl9pc2NvbXBvc2luZyhkcC0+cmVzdWx0KSkKKwkJKnArKyA9ICcgJzsKKwkgICAgcCArPSAoKm1iX2NoYXIyYnl0ZXMpKGRwLT5yZXN1bHQsIHApOworCX0KKwllbHNlCisjZW5kaWYKKwkgICAgKnArKyA9IGRwLT5yZXN1bHQ7CisJaWYgKGNoYXIyY2VsbHMoZHAtPnJlc3VsdCkgPT0gMSkKKwkgICAgKnArKyA9ICcgJzsKKwlzcHJpbnRmKChjaGFyICopcCwgIiAlM2QiLCBkcC0+cmVzdWx0KTsKKwltc2dfb3V0dHJhbnMoYnVmKTsKKyAgICB9Cit9CisKKyNlbmRpZiAvKiBGRUFUX0RJR1JBUEhTICovCisKKyNpZiBkZWZpbmVkKEZFQVRfS0VZTUFQKSB8fCBkZWZpbmVkKFBST1RPKQorCisvKiBzdHJ1Y3R1cmUgdXNlZCBmb3IgYl9rbWFwX2dhLmdhX2RhdGEgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgY2hhcl91CSpmcm9tOworICAgIGNoYXJfdQkqdG87Cit9IGttYXBfVDsKKworI2RlZmluZSBLTUFQX01BWExFTiAyMAkgICAgLyogbWF4aW11bSBsZW5ndGggb2YgImZyb20iIG9yICJ0byIgKi8KKworc3RhdGljIHZvaWQga2V5bWFwX3VubG9hZCBfX0FSR1MoKHZvaWQpKTsKKworLyoKKyAqIFNldCB1cCBrZXkgbWFwcGluZyB0YWJsZXMgZm9yIHRoZSAna2V5bWFwJyBvcHRpb24KKyAqLworICAgIGNoYXJfdSAqCitrZXltYXBfaW5pdCgpCit7CisgICAgY3VyYnVmLT5iX2ttYXBfc3RhdGUgJj0gfktFWU1BUF9JTklUOworCisgICAgaWYgKCpjdXJidWYtPmJfcF9rZXltYXAgPT0gTlVMKQorICAgIHsKKwkvKiBTdG9wIGFueSBhY3RpdmUga2V5bWFwIGFuZCBjbGVhciB0aGUgdGFibGUuICovCisJa2V5bWFwX3VubG9hZCgpOworICAgIH0KKyAgICBlbHNlCisgICAgeworCWNoYXJfdQkqYnVmOworCisJLyogU291cmNlIHRoZSBrZXltYXAgZmlsZS4gIEl0IHdpbGwgY29udGFpbiBhICI6bG9hZGtleW1hcCIgY29tbWFuZAorCSAqIHdoaWNoIHdpbGwgY2FsbCBleF9sb2Fka2V5bWFwKCkgYmVsb3cuICovCisJYnVmID0gYWxsb2MoKHVuc2lnbmVkKShTVFJMRU4oY3VyYnVmLT5iX3Bfa2V5bWFwKQorIyBpZmRlZiBGRUFUX01CWVRFCisJCQkJCQkgICAgICAgKyBTVFJMRU4ocF9lbmMpCisjIGVuZGlmCisJCQkJCQkgICAgICAgKyAxNCkpOworCWlmIChidWYgPT0gTlVMTCkKKwkgICAgcmV0dXJuIGVfb3V0b2ZtZW07CisKKyMgaWZkZWYgRkVBVF9NQllURQorCS8qIHRyeSBmaW5kaW5nICJrZXltYXAvJ2tleW1hcCdfJ2VuY29kaW5nJy52aW0iICBpbiAncnVudGltZXBhdGgnICovCisJc3ByaW50ZigoY2hhciAqKWJ1ZiwgImtleW1hcC8lc18lcy52aW0iLCBjdXJidWYtPmJfcF9rZXltYXAsIHBfZW5jKTsKKwlpZiAoY21kX3J1bnRpbWUoYnVmLCBGQUxTRSkgPT0gRkFJTCkKKyMgZW5kaWYKKwl7CisJICAgIC8qIHRyeSBmaW5kaW5nICJrZXltYXAvJ2tleW1hcCcudmltIiBpbiAncnVudGltZXBhdGgnICAqLworCSAgICBzcHJpbnRmKChjaGFyICopYnVmLCAia2V5bWFwLyVzLnZpbSIsIGN1cmJ1Zi0+Yl9wX2tleW1hcCk7CisJICAgIGlmIChjbWRfcnVudGltZShidWYsIEZBTFNFKSA9PSBGQUlMKQorCSAgICB7CisJCXZpbV9mcmVlKGJ1Zik7CisJCXJldHVybiAoY2hhcl91ICopTl8oIkU1NDQ6IEtleW1hcCBmaWxlIG5vdCBmb3VuZCIpOworCSAgICB9CisJfQorCXZpbV9mcmVlKGJ1Zik7CisgICAgfQorCisgICAgcmV0dXJuIE5VTEw7Cit9CisKKy8qCisgKiAiOmxvYWRrZXltYXAiIGNvbW1hbmQ6IGxvYWQgdGhlIGZvbGxvd2luZyBsaW5lcyBhcyB0aGUga2V5bWFwLgorICovCisgICAgdm9pZAorZXhfbG9hZGtleW1hcChlYXApCisgICAgZXhhcmdfVAkqZWFwOworeworICAgIGNoYXJfdQkqbGluZTsKKyAgICBjaGFyX3UJKnA7CisgICAgY2hhcl91CSpzOworICAgIGttYXBfVAkqa3A7CisjZGVmaW5lIEtNQVBfTExFTiAgIDIwMAkgICAgLyogbWF4IGxlbmd0aCBvZiAidG8iIGFuZCAiZnJvbSIgdG9nZXRoZXIgKi8KKyAgICBjaGFyX3UJYnVmW0tNQVBfTExFTiArIDExXTsKKyAgICBpbnQJCWk7CisgICAgY2hhcl91CSpzYXZlX2NwbyA9IHBfY3BvOworCisgICAgaWYgKCFnZXRsaW5lX2VxdWFsKGVhcC0+Z2V0bGluZSwgZWFwLT5jb29raWUsIGdldHNvdXJjZWxpbmUpKQorICAgIHsKKwlFTVNHKF8oIkUxMDU6IFVzaW5nIDpsb2Fka2V5bWFwIG5vdCBpbiBhIHNvdXJjZWQgZmlsZSIpKTsKKwlyZXR1cm47CisgICAgfQorCisgICAgLyoKKyAgICAgKiBTdG9wIGFueSBhY3RpdmUga2V5bWFwIGFuZCBjbGVhciB0aGUgdGFibGUuCisgICAgICovCisgICAga2V5bWFwX3VubG9hZCgpOworCisgICAgY3VyYnVmLT5iX2ttYXBfc3RhdGUgPSAwOworICAgIGdhX2luaXQyKCZjdXJidWYtPmJfa21hcF9nYSwgKGludClzaXplb2Yoa21hcF9UKSwgMjApOworCisgICAgLyogU2V0ICdjcG9wdGlvbnMnIHRvICJDIiB0byBhdm9pZCBsaW5lIGNvbnRpbnVhdGlvbi4gKi8KKyAgICBwX2NwbyA9IChjaGFyX3UgKikiQyI7CisKKyAgICAvKgorICAgICAqIEdldCBlYWNoIGxpbmUgb2YgdGhlIHNvdXJjZWQgZmlsZSwgYnJlYWsgYXQgdGhlIGVuZC4KKyAgICAgKi8KKyAgICBmb3IgKDs7KQorICAgIHsKKwlsaW5lID0gZWFwLT5nZXRsaW5lKDAsIGVhcC0+Y29va2llLCAwKTsKKwlpZiAobGluZSA9PSBOVUxMKQorCSAgICBicmVhazsKKworCXAgPSBza2lwd2hpdGUobGluZSk7CisJaWYgKCpwICE9ICciJyAmJiAqcCAhPSBOVUwgJiYgZ2FfZ3JvdygmY3VyYnVmLT5iX2ttYXBfZ2EsIDEpID09IE9LKQorCXsKKwkgICAga3AgPSAoa21hcF9UICopY3VyYnVmLT5iX2ttYXBfZ2EuZ2FfZGF0YSArIGN1cmJ1Zi0+Yl9rbWFwX2dhLmdhX2xlbjsKKwkgICAgcyA9IHNraXB0b3doaXRlKHApOworCSAgICBrcC0+ZnJvbSA9IHZpbV9zdHJuc2F2ZShwLCAoaW50KShzIC0gcCkpOworCSAgICBwID0gc2tpcHdoaXRlKHMpOworCSAgICBzID0gc2tpcHRvd2hpdGUocCk7CisJICAgIGtwLT50byA9IHZpbV9zdHJuc2F2ZShwLCAoaW50KShzIC0gcCkpOworCisJICAgIGlmIChrcC0+ZnJvbSA9PSBOVUxMIHx8IGtwLT50byA9PSBOVUxMCisJCSAgICB8fCBTVFJMRU4oa3AtPmZyb20pICsgU1RSTEVOKGtwLT50bykgPj0gS01BUF9MTEVOKQorCSAgICB7CisJCXZpbV9mcmVlKGtwLT5mcm9tKTsKKwkJdmltX2ZyZWUoa3AtPnRvKTsKKwkgICAgfQorCSAgICBlbHNlCisJICAgIHsKKwkJKytjdXJidWYtPmJfa21hcF9nYS5nYV9sZW47CisJCS0tY3VyYnVmLT5iX2ttYXBfZ2EuZ2Ffcm9vbTsKKwkgICAgfQorCX0KKwl2aW1fZnJlZShsaW5lKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIHNldHVwICI6bG5vcmVtYXAiIHRvIG1hcCB0aGUga2V5cworICAgICAqLworICAgIGZvciAoaSA9IDA7IGkgPCBjdXJidWYtPmJfa21hcF9nYS5nYV9sZW47ICsraSkKKyAgICB7CisJc3ByaW50ZigoY2hhciAqKWJ1ZiwgIjxidWZmZXI+ICVzICVzIiwKKwkJCQkoKGttYXBfVCAqKWN1cmJ1Zi0+Yl9rbWFwX2dhLmdhX2RhdGEpW2ldLmZyb20sCisJCQkJICgoa21hcF9UICopY3VyYnVmLT5iX2ttYXBfZ2EuZ2FfZGF0YSlbaV0udG8pOworCSh2b2lkKWRvX21hcCgyLCBidWYsIExBTkdNQVAsIEZBTFNFKTsKKyAgICB9CisKKyAgICBwX2NwbyA9IHNhdmVfY3BvOworCisgICAgY3VyYnVmLT5iX2ttYXBfc3RhdGUgfD0gS0VZTUFQX0xPQURFRDsKKyNpZmRlZiBGRUFUX1dJTkRPV1MKKyAgICBzdGF0dXNfcmVkcmF3X2N1cmJ1ZigpOworI2VuZGlmCit9CisKKy8qCisgKiBTdG9wIHVzaW5nICdrZXltYXAnLgorICovCisgICAgc3RhdGljIHZvaWQKK2tleW1hcF91bmxvYWQoKQoreworICAgIGNoYXJfdQlidWZbS01BUF9NQVhMRU4gKyAxMF07CisgICAgaW50CQlpOworICAgIGNoYXJfdQkqc2F2ZV9jcG8gPSBwX2NwbzsKKworICAgIGlmICghKGN1cmJ1Zi0+Yl9rbWFwX3N0YXRlICYgS0VZTUFQX0xPQURFRCkpCisJcmV0dXJuOworCisgICAgLyogU2V0ICdjcG9wdGlvbnMnIHRvICJDIiB0byBhdm9pZCBsaW5lIGNvbnRpbnVhdGlvbi4gKi8KKyAgICBwX2NwbyA9IChjaGFyX3UgKikiQyI7CisKKyAgICAvKiBjbGVhciB0aGUgIjpsbWFwInMgKi8KKyAgICBmb3IgKGkgPSAwOyBpIDwgY3VyYnVmLT5iX2ttYXBfZ2EuZ2FfbGVuOyArK2kpCisgICAgeworCXNwcmludGYoKGNoYXIgKilidWYsICI8YnVmZmVyPiAlcyIsCisJCSgoa21hcF9UICopY3VyYnVmLT5iX2ttYXBfZ2EuZ2FfZGF0YSlbaV0uZnJvbSk7CisJKHZvaWQpZG9fbWFwKDEsIGJ1ZiwgTEFOR01BUCwgRkFMU0UpOworICAgIH0KKworICAgIHBfY3BvID0gc2F2ZV9jcG87CisKKyAgICBnYV9jbGVhcigmY3VyYnVmLT5iX2ttYXBfZ2EpOworICAgIGN1cmJ1Zi0+Yl9rbWFwX3N0YXRlICY9IH5LRVlNQVBfTE9BREVEOworI2lmZGVmIEZFQVRfV0lORE9XUworICAgIHN0YXR1c19yZWRyYXdfY3VyYnVmKCk7CisjZW5kaWYKK30KKworI2VuZGlmIC8qIEZFQVRfS0VZTUFQICovCisK