10TrueWHILETRUEB1keyLEFTB2keyRIGHTLEFTTrueLEFT0TRUERIGHTTrueRIGHT0TRUE{}aW1wb3J0IHJhZGlvCmltcG9ydCBtaXhnb19ub3ZhCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKCkVTUE5vd19yYWRpbyA9IHJhZGlvLkVTUE5vdygpCgpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLCBFU1BOb3dfcmFkaW9fbXNnKToKICAgIHByaW50KEVTUE5vd19yYWRpb19tc2cpCgpFU1BOb3dfcmFkaW8ucmVjdl9jYigiX19hbGxfXyIsIEVTUE5vd19yYWRpb19yZWN2KQoKZGVmIEVTUE5vd19yYWRpb19yZWN2KG1hYywgRVNQTm93X3JhZGlvX21zZyk6CiAgICBvbmJvYXJkX3RmdC5zaG93cygnTEVGVCcsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKCkVTUE5vd19yYWRpby5yZWN2X2NiKCJMRUZUIiwgRVNQTm93X3JhZGlvX3JlY3YpCgpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLCBFU1BOb3dfcmFkaW9fbXNnKToKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCdSSUdIVCcsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKCkVTUE5vd19yYWRpby5yZWN2X2NiKCJSSUdIVCIsIEVTUE5vd19yYWRpb19yZWN2KQoKCkVTUE5vd19yYWRpby5zZXRfY2hhbm5lbChjaGFubmVsPTEwKQpFU1BOb3dfcmFkaW8uYWN0aXZlKFRydWUpCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19ub3ZhLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsJ0xFRlQnKQogICAgaWYgbWl4Z29fbm92YS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLCdSSUdIVCcpCg==