Q3lhbm9nZW5Nb2QKPT09PT09PT09PT0KCk1haW50YWluZXJzIChDeWFub2dlbk1vZCAxMCk6Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiogX19BY2VyIEE3MDA6X18gcGF3aXRwCiogX19Bc3VzIEVlZVBhZCBUcmFuc2Zvcm1lciAoVEYxMDEpOl9fIEJ1bWJsZS1CZWUsIEVuSmVucwoqIF9fQXN1cyBFZWVQYWQgVHJhbnNmb3JtZXIgUHJpbWUgKFRGMjAxKTpfXyBCdW1ibGUtQmVlLCBFbkplbnMKKiBfX0FzdXMgRWVlUGFkIFRyYW5zZm9ybWVyIFBhZCBURjMwMFQ6X18geHBsb2R3aWxkCiogX19CJk4gTm9va0NvbG9yIChlbmNvcmUpOl9fIGV5ZWJhbGxlciwgZmF0dGlyZSwga2V5b2RpLCBrcnlsb24zNjAsIHNsdW8gKE5vb2tpZURldnMpCiogX19Hb29nbGUgR2FsYXh5IE5leHVzOl9fICwgYmVraXQsIEJ1bWJsZS1CZWUsIGJ1cm5zcmEsIEthbGltb2Nob0F6CiogX19Hb29nbGUgTmV4dXMgUzpfXyBidXJuc3JhLCBLYWxpbW9jaG9BegoqIF9fR29vZ2xlIE5leHVzIDQ6X18gcm1jYwoqIF9fR29vZ2xlIE5leHVzIDc6X18gYnVybnNyYSwgZmF0dGlyZSwgbmVtaXRoIChHU00pCiogX19Hb29nbGUgTmV4dXMgMTA6X18gYXRpbm0sIGRhbGluZ3Jpbiwga29ybnlvbmUKKiBfX0hUQyBFdm8gNEcgTFRFOl9fIGt1c2hkZWNrLCB0b2FzdGNmaAoqIF9fSFRDIE9uZSBTOl9fIGludGVydmlnaWwsIHhrb25uaQoqIF9fSFRDIE9uZSBYTDpfXyBoOHJpZnQsIGludGVydmlnaWwKKiBfX0xHIE9wdGltdXMgTFRFIChQOTMwKSAvIExHIE5pdHJvIEhEIHtQOTM1KTpfXyBhcmNlZQoqIF9fTEcgT3B0aW11cyBMVEUgKFNLIFRlbGVjb20pIChTVTY0MCk6X18gYXJjZWUKKiBfX01vdG9yb2xhIFhvb20gKFdpRmkpOl9fIGJhemFyLCBTdGVhZHlIYXdraW4sIFREUiAoVGVhbSBSb2d1ZSkKKiBfX01vdG9yb2xhIFhvb20gM0cgKFVNVFMpOl9fIGJhemFyLCBTdGVhZHlIYXdraW4sIFREUiAoVGVhbSBSb2d1ZSkKKiBfX01vdG9yb2xhIFhvb20gNEcgTFRFIChWZXJpem9uKTpfXyBiYXphciwgU3RlYWR5SGF3a2luLCBURFIgKFRlYW0gUm9ndWUpCiogX19TYW1zdW5nIENhcHRpdmF0ZSAoU0dILUk4OTYgLyBTR0gtSTg5Nyk6X18gcGF3aXRwCiogX19TYW1zdW5nIEVwaWMgNEcgKFNQSC1ENzAwKTpfXyBiYmVsb3MsIERlY2FkM25jZSwgbWthc2ljaywgVWJlclBpbmd1aW4gKFRlYW0gRXBpYykKKiBfX1NhbXN1bmcgRmFzY2luYXRlIC8gTWVzbWVyaXplIChTQ0gtSTUwMCk6X18ganQxMTM0LCBzYnJpc3NlbgoqIF9fU2Ftc3VuZyBHYWxheHkgTm90ZSAoR1QtTjcwMDApOl9fIEVudHJvcHk1MTIsIEVzcGVuZmpvCiogX19TYW1zdW5nIEdhbGF4eSBOb3RlIElJIChHVC1ONzEwMCk6X18gbmVia2F0CiogX19TYW1zdW5nIEdhbGF4eSBOb3RlIElJIExURSAoR1QtTjcxMDUgLyBTR0gtSTMxNyAvIFNHSC1UODg5KTpfXyBjb2Rld29ya3gsIG1hZG1hY2sKKiBfX1NhbXN1bmcgR2FsYXh5IE5vdGUgSUkgTFRFIChTQ0gtSTYwNSAvIFNQSC1MOTAwKTpfXyBzYnJpc3NlbgoqIF9fU2Ftc3VuZyBHYWxheHkgTm90ZSAxMC4xIChHVC1OODBYWCk6X18gRW50cm9weTUxMiwgRXNwZW5mam8KKiBfX1NhbXN1bmcgR2FsYXh5IFMgQmxhemUgNEcgKFNHSC1UNzY5KTpfXyBVYmVyUGluZ3VpbgoqIF9fU2Ftc3VuZyBHYWxheHkgUyAoR1QtSTkwMDApOl9fIHBhd2l0cAoqIF9fU2Ftc3VuZyBHYWxheHkgUyAoR1QtSTkwMDBCKTpfXyBoZWx2aW84OAoqIF9fU2Ftc3VuZyBHYWxheHkgUyBJSSAoQVQmVCkgKFNHSC1JNzc3KTpfXyBFbnRyb3B5NTEyCiogX19TYW1zdW5nIEdhbGF4eSBTIElJIChpbnRsKSAoR1QtSTkxMDApOl9fIGNvZGV3b3JreCwgRXNwZW5mam8KKiBfX1NhbXN1bmcgR2FsYXh5IFMgSUkgKGludGwpIChHVC1JOTEwMEcpOl9fIGNvZGV3b3JreAoqIF9fU2Ftc3VuZyBHYWxheHkgUyBJSUkgKEFUJlQpIChTR0gtSTc0Nyk6X18gY3lhbm9nZW4sIFVuaGVscGZ1bAoqIF9fU2Ftc3VuZyBHYWxheHkgUyBJSUkgKGludGwpIChHVC1JOTMwMCk6X18geHBsb2R3aWxkLCBjb2Rld29ya3gKKiBfX1NhbXN1bmcgR2FsYXh5IFMgSUlJIExURSAoR1QtSTkzMDUpOl9fIG1jYW1wYmVsbHNtaXRoLCBjb2Rld29ya3gKKiBfX1NhbXN1bmcgR2FsYXh5IFMgSUlJIChTcHJpbnQpIChTUEgtTDcxMCk6X18gbWthc2ljaywgbm9vYm5sIChUZWFtIEVwaWMpCiogX19TYW1zdW5nIEdhbGF4eSBTIElJSSAoVC1Nb2JpbGUpIChTR0gtVDk5OSk6X18gY3lhbm9nZW4KKiBfX1NhbXN1bmcgR2FsYXh5IFMgSUlJIChVUyBDZWxsdWxhcikgKFNDSC1SNTMwKTpfXyBub29ibmwKKiBfX1NhbXN1bmcgR2FsYXh5IFMgSUlJIChWZXJpem9uKSAoU0NILUk1MzUpOl9fIGN2Y3BzCiogX19TYW1zdW5nIEdhbGF4eSBUYWIgNyIgKEdTTSk6X18gY2Rlc2FpLCBodW1iZXJvcwoqIF9fU2Ftc3VuZyBHYWxheHkgVGFiIDciIChDRE1BKTpfXyBqdDExMzQKKiBfX1NhbXN1bmcgR2FsYXh5IFRhYiAyIDciIChHVC1QMzF4eCk6X18gY29kZXdvcmt4CiogX19TYW1zdW5nIEdhbGF4eSBUYWIgMiAxMC4xIiAoR1QtUDUxeHgpOl9fIGNvZGV3b3JreAoqIF9fU2Ftc3VuZyBWaWJyYW50IChTR0gtVDk1OSk6X18gRmF1bHRFeGNlcHRpb24KKiBfX1NvbnkgWHBlcmlhIFQgKG1pbnQpOl9fIGplcnBlbGVhLCBLYWxpLSAoRnJlZVhwZXJpYSB0ZWFtKSwgY29kZXdvcmt4LCB0aWxhbDY5OTEKCkdlbmVyYWwgZGV2ZWxvcGVyczoKLS0tLS0tLS0tLS0tLS0tLS0tLQoqIF9fVUkgVGVhbTpfXyBibHVuZGVuLCBwcmFzaAoqIF9fVVggVGVhbTpfXyBibHVuZGVuLCBjaXdybCwgZGFuZXNobSwgRHZUb25kZXIsIG1hZC1tdXJkb2NrLCBtYW5pYWMxMDMsIEthaWs1NDEKKiBfX090aGVyOl9fIGpydWVzZ2EKClRyYW5zbGF0b3JzOgotLS0tLS0tLS0tLS0KKiBfX0FmcmlrYWFuczpfXyBDb3JyaWUgTWV5ZXIsIERhdmlkIHZhbiBUb25kZXIKKiBfX0NhdGFsYW46X18gT3Jpb2wgUGVsbGljZXIKKiBfX0Nyb2F0aWFuOl9fIEFudG9uaW8gTWFyaW4KKiBfX0N6ZWNoOl9fIE9uZHJlaiBaaW1hLCBSYWRvdmFuIEtlcGFrLCBQYXZlbCBLdWNlcmEsIEpvemthIEpvemluLCBKaXJpIFNpbHZhcmljaCwgVmFjbGF2IE1vdWNoYQoqIF9fRHV0Y2g6X18gTWFyY28gQnJvaGV0LCBLYXNwZXIgSGV0dGluZ2EsIFNhbSBTZWdlcnMsIEJhcnQgVGllbWVyc21hLCBFZGR5IFdpdGthbXAKKiBfX0Zpbm5pc2g6X18gQW50dGkgTGV1a2t1bmVuLCBOaWtvIEtvaXZ1CiogX19GcmVuY2g6X18gU+liYXN0aWVuIFZhdWNoZXIsIERhdmlkIEdpcmF1bHQsIFRhbmd1eSBQcnV2b3QKKiBfX0dlcm1hbjpfXyBLaW0gTOosIEphY29iIE38bGxlciwgUGF0cmljayBTY2hhYWYsIENocmlzdG9waCBRdWl0ZXIsIE1hcmt1cyBIb2ViZXIsIE1hdHRoaWFzIEL8Y2huZXIsIERhbm55IEJhdW1hbm4KKiBfX0dyZWVrOl9fIE1pY2hhZWwgQmVzdGFzCiogX19IdW5nYXJpYW46X18gVGFt4XMgVPN0aCwgROF2aWQgTOFzemzzLCBE4W5pZWwgQnVnYQoqIF9fSXRhbGlhbjpfXyBGcmFuY2VzY28gRm9yZXN0YSwgTW9yZW5vIFBvamVyLCBFdWdlbmlvIFppbGlvdHRvLCBHaXVsaW8gQ2VydmVyYSwgTWF1cm8gQmF6emFubwoqIF9fSmFwYW5lc2U6X18gVGFrdW8gS2l0YW1lCiogX19Lb3JlYW46X18gSW5zZW9rIExlZQoqIF9fUG9saXNoOl9fIE1hY2llaiBSb3piaWNraQoqIF9fUG9ydHVndWVzZS1CcmF6aWw6X18gR3VzdGF2byBSb3NhCiogX19Qb3J0dWd1ZXNlOl9fIEVkdWFyZG8gTWFydGlucywgUmljYXJkbyBQaW5obwoqIF9fUnVzc2lhbjpfXyBPbGVnS3Jpa3VuLCBQYXZlbCBWb2xrb3YsIEtpciBLb2x5c2hraW4KKiBfX1NpbXBsaWZpZWQgQ2hpbmVzZTpfXyBjb21lcmN5LCBRaWFuIFpoZW5nLCBBbmRyZXcgSmlhbmcsIEpvaG4gSHNpbmcKKiBfX1Nsb3ZhazpfXyBKdXJhaiBKYW5lY2VrCiogX19TcGFuaXNoOl9fIFBlUmlKZVksIEthbGltb2Nob0F6LCBDaHVja3ljcngsIEpvcmdlIFJ1ZXNnYSwgZGpNZXNpYXMKKiBfX1N3ZWRpc2g6X18gUGF0cmlrIEt1bGxtYW4KKiBfX1RyYWRpdGlvbmFsIENoaW5lc2U6X18gTGFkaW9zIEpvbnF1aWwKKiBfX1R1cmtpc2g6X18gRXRoZW0gRXZsaWNlIChhbmRyb2lkbWVkYSkK