A/MNCjBc/FVjAAAAAAAAAAADAAAAQAAAAHM/AAAAZAAAWgAAaQEAZQAAZAEANloBAGUCAGQCAIQBAFoDAGUEAGQDAGsCAHI7AGUDAGQEAGUFAIMAAQFuAABkBQBTKAYAAABz+QgAAAoKVW5wYWNrIHR1cGxlCgogICAgPj4+IHQgPSAoMSwgMiwgMykKICAgID4+PiBhLCBiLCBjID0gdAogICAgPj4+IGEgPT0gMSBhbmQgYiA9PSAyIGFuZCBjID09IDMKICAgIFRydWUKClVucGFjayBsaXN0CgogICAgPj4+IGwgPSBbNCwgNSwgNl0KICAgID4+PiBhLCBiLCBjID0gbAogICAgPj4+IGEgPT0gNCBhbmQgYiA9PSA1IGFuZCBjID09IDYKICAgIFRydWUKClVucGFjayBpbXBsaWVkIHR1cGxlCgogICAgPj4+IGEsIGIsIGMgPSA3LCA4LCA5CiAgICA+Pj4gYSA9PSA3IGFuZCBiID09IDggYW5kIGMgPT0gOQogICAgVHJ1ZQoKVW5wYWNrIHN0cmluZy4uLiBmdW4hCgogICAgPj4+IGEsIGIsIGMgPSAnb25lJwogICAgPj4+IGEgPT0gJ28nIGFuZCBiID09ICduJyBhbmQgYyA9PSAnZScKICAgIFRydWUKClVucGFjayBnZW5lcmljIHNlcXVlbmNlCgogICAgPj4+IGNsYXNzIFNlcToKICAgIC4uLiAgICAgZGVmIF9fZ2V0aXRlbV9fKHNlbGYsIGkpOgogICAgLi4uICAgICAgICAgaWYgaSA+PSAwIGFuZCBpIDwgMzogcmV0dXJuIGkKICAgIC4uLiAgICAgICAgIHJhaXNlIEluZGV4RXJyb3IKICAgIC4uLgogICAgPj4+IGEsIGIsIGMgPSBTZXEoKQogICAgPj4+IGEgPT0gMCBhbmQgYiA9PSAxIGFuZCBjID09IDIKICAgIFRydWUKClNpbmdsZSBlbGVtZW50IHVucGFja2luZywgd2l0aCBleHRyYSBzeW50YXgKCiAgICA+Pj4gc3QgPSAoOTksKQogICAgPj4+IHNsID0gWzEwMF0KICAgID4+PiBhLCA9IHN0CiAgICA+Pj4gYQogICAgOTkKICAgID4+PiBiLCA9IHNsCiAgICA+Pj4gYgogICAgMTAwCgpOb3cgZm9yIHNvbWUgZmFpbHVyZXMKClVucGFja2luZyBub24tc2VxdWVuY2UKCiAgICA+Pj4gYSwgYiwgYyA9IDcKICAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKICAgICAgLi4uCiAgICBUeXBlRXJyb3I6ICdpbnQnIG9iamVjdCBpcyBub3QgaXRlcmFibGUKClVucGFja2luZyB0dXBsZSBvZiB3cm9uZyBzaXplCgogICAgPj4+IGEsIGIgPSB0CiAgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgICAgIC4uLgogICAgVmFsdWVFcnJvcjogdG9vIG1hbnkgdmFsdWVzIHRvIHVucGFjawoKVW5wYWNraW5nIHR1cGxlIG9mIHdyb25nIHNpemUKCiAgICA+Pj4gYSwgYiA9IGwKICAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKICAgICAgLi4uCiAgICBWYWx1ZUVycm9yOiB0b28gbWFueSB2YWx1ZXMgdG8gdW5wYWNrCgpVbnBhY2tpbmcgc2VxdWVuY2UgdG9vIHNob3J0CgogICAgPj4+IGEsIGIsIGMsIGQgPSBTZXEoKQogICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgogICAgICAuLi4KICAgIFZhbHVlRXJyb3I6IG5lZWQgbW9yZSB0aGFuIDMgdmFsdWVzIHRvIHVucGFjawoKVW5wYWNraW5nIHNlcXVlbmNlIHRvbyBsb25nCgogICAgPj4+IGEsIGIgPSBTZXEoKQogICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgogICAgICAuLi4KICAgIFZhbHVlRXJyb3I6IHRvbyBtYW55IHZhbHVlcyB0byB1bnBhY2sKClVucGFja2luZyBhIHNlcXVlbmNlIHdoZXJlIHRoZSB0ZXN0IGZvciB0b28gbG9uZyByYWlzZXMgYSBkaWZmZXJlbnQga2luZCBvZgplcnJvcgoKICAgID4+PiBjbGFzcyBCb3pvRXJyb3IoRXhjZXB0aW9uKToKICAgIC4uLiAgICAgcGFzcwogICAgLi4uCiAgICA+Pj4gY2xhc3MgQmFkU2VxOgogICAgLi4uICAgICBkZWYgX19nZXRpdGVtX18oc2VsZiwgaSk6CiAgICAuLi4gICAgICAgICBpZiBpID49IDAgYW5kIGkgPCAzOgogICAgLi4uICAgICAgICAgICAgIHJldHVybiBpCiAgICAuLi4gICAgICAgICBlbGlmIGkgPT0gMzoKICAgIC4uLiAgICAgICAgICAgICByYWlzZSBCb3pvRXJyb3IKICAgIC4uLiAgICAgICAgIGVsc2U6CiAgICAuLi4gICAgICAgICAgICAgcmFpc2UgSW5kZXhFcnJvcgogICAgLi4uCgpUcmlnZ2VyIGNvZGUgd2hpbGUgbm90IGV4cGVjdGluZyBhbiBJbmRleEVycm9yICh1bnBhY2sgc2VxdWVuY2UgdG9vIGxvbmcsIHdyb25nCmVycm9yKQoKICAgID4+PiBhLCBiLCBjLCBkLCBlID0gQmFkU2VxKCkKICAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKICAgICAgLi4uCiAgICBCb3pvRXJyb3IKClRyaWdnZXIgY29kZSB3aGlsZSBleHBlY3RpbmcgYW4gSW5kZXhFcnJvciAodW5wYWNrIHNlcXVlbmNlIHRvbyBzaG9ydCwgd3JvbmcKZXJyb3IpCgogICAgPj4+IGEsIGIsIGMgPSBCYWRTZXEoKQogICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgogICAgICAuLi4KICAgIEJvem9FcnJvcgoKdAgAAABkb2N0ZXN0c2MBAAAAAwAAAAMAAABDAAAAczQAAABkAQBkAgBsAABtAQB9AQABZAEAZAMAbAAAbQIAfQIAAXwBAGoDAHwCAHwAAIMCAAFkAABTKAQAAABOaf////8oAQAAAHQMAAAAdGVzdF9zdXBwb3J0KAEAAAB0CwAAAHRlc3RfdW5wYWNrKAQAAAB0BAAAAHRlc3RSAQAAAFICAAAAdAsAAABydW5fZG9jdGVzdCgDAAAAdAcAAAB2ZXJib3NlUgEAAABSAgAAACgAAAAAKAAAAABzVwAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcvdGVzdC90ZXN0X3VucGFjay5weXQJAAAAdGVzdF9tYWlufAAAAHMGAAAAAAEQARABdAgAAABfX21haW5fX1IFAAAATigGAAAAUgAAAAB0CAAAAF9fdGVzdF9fdAUAAABGYWxzZVIGAAAAdAgAAABfX25hbWVfX3QEAAAAVHJ1ZSgAAAAAKAAAAAAoAAAAAHNXAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy90ZXN0L3Rlc3RfdW5wYWNrLnB5dAgAAAA8bW9kdWxlPngAAABzCAAAAAYCDQIMBQwB