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PScpLgoKICAgIFRoZSByZXR1cm4gdmFsdWUgY29uc2lzdHMgb2YgdHdvIGVsZW1lbnRzOiB0aGUgZmlyc3QgaXMgYSBsaXN0IG9mCiAgICAob3B0aW9uLCB2YWx1ZSkgcGFpcnM7IHRoZSBzZWNvbmQgaXMgdGhlIGxpc3Qgb2YgcHJvZ3JhbSBhcmd1bWVudHMKICAgIGxlZnQgYWZ0ZXIgdGhlIG9wdGlvbiBsaXN0IHdhcyBzdHJpcHBlZCAodGhpcyBpcyBhIHRyYWlsaW5nIHNsaWNlCiAgICBvZiB0aGUgZmlyc3QgYXJndW1lbnQpLiAgRWFjaCBvcHRpb24tYW5kLXZhbHVlIHBhaXIgcmV0dXJuZWQgaGFzCiAgICB0aGUgb3B0aW9uIGFzIGl0cyBmaXJzdCBlbGVtZW50LCBwcmVmaXhlZCB3aXRoIGEgaHlwaGVuIChlLmcuLAogICAgJy14JyksIGFuZCB0aGUgb3B0aW9uIGFyZ3VtZW50IGFzIGl0cyBzZWNvbmQgZWxlbWVudCwgb3IgYW4gZW1wdHkKICAgIHN0cmluZyBpZiB0aGUgb3B0aW9uIGhhcyBubyBhcmd1bWVudC4gIFRoZSBvcHRpb25zIG9jY3VyIGluIHRoZQogICAgbGlzdCBpbiB0aGUgc2FtZSBvcmRlciBpbiB3aGljaCB0aGV5IHdlcmUgZm91bmQsIHRodXMgYWxsb3dpbmcKICAgIG11bHRpcGxlIG9jY3VycmVuY2VzLiAgTG9uZyBhbmQgc2hvcnQgb3B0aW9ucyBtYXkgYmUgbWl4ZWQuCgogICAgUgQAAABpAAAAAHQBAAAALXMCAAAALS1pAQAAAGkCAAAAKAUAAAB0BAAAAHR5cGV0BAAAAGxpc3R0CgAAAHN0YXJ0c3dpdGh0CAAAAGRvX2xvbmdzdAkAAABkb19zaG9ydHMoBAAAAHQEAAAAYXJnc3QJAAAAc2hvcnRvcHRzdAgAAABsb25nb3B0c3QEAAAAb3B0cygAAAAAKAAAAABzcQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvZ2V0b3B0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AHwEAHwCAIMCAHKDAHwBAGQBAGsCAHJzAHwDAHNbAHQBAGQEAHwEABZ8BACDAgCCAQBuAAB8AwBkAgAZfAMAZAMAHwJ9AQB9AwBuAAB8AQBkAQACfQUAfQEAbgYAZAEAfQUAfAAAagIAZAUAfAQAF3wFAGYCAIMBAAFxAwBXfAAAfAMAZgIAUygGAAAATlIEAAAAaQAAAABpAQAAAHMcAAAAb3B0aW9uIC0lcyByZXF1aXJlcyBhcmd1bWVudFINAAAAKAMAAAB0DQAAAHNob3J0X2hhc19hcmdSAAAAAFIgAAAAKAYAAABSFgAAAHQJAAAAb3B0c3RyaW5nUhQAAABSEwAAAFIGAAAAUikAAAAoAAAAACgAAAAAc3EAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2dldG9wdC5weVISAAAAuwAAAHMYAAAAAAEPARUBDwEMAQYBCgEMARgBEAIGARsBYwIAAAADAAAABgAAAEMAAABzaAAAAHhOAHQAAHQBAHwBAIMBAIMBAERdOgB9AgB8AAB8AQB8AgAZBANrAgBvNABkAQBrAwBuAgACAXITAHwBAGoCAGQBAHwCAGQCABeDAgBTcRMAV3QDAGQDAHwAABZ8AACDAgCCAQBkAABTKAQAAABOdAEAAAA6aQEAAABzGQAAAG9wdGlvbiAtJXMgbm90IHJlY29nbml6ZWQoBAAAAHQFAAAAcmFuZ2VSKwAAAFIQAAAAUgAAAAAoAwAAAFIGAAAAUhQAAABSKAAAACgAAAAAKAAAAABzcQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvZ2V0b3B0LnB5UjAAAADKAAAAcwgAAAAAARkBIAEYAXQIAAAAX19tYWluX19pAQAAAHMDAAAAYTpicwYAAABhbHBoYT10BAAAAGJldGEoDwAAAHQHAAAAX19kb2NfX3QHAAAAX19hbGxfX1IcAAAAUgcAAABSAAAAAFIBAAAAUgIAAABSAwAAAFIRAAAAUicAAABSEgAAAFIwAAAAUgsAAAB0AwAAAHN5c3QEAAAAYXJndigAAAAAKAAAAAAoAAAAAHNxAAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9nZXRvcHQucHl0CAAAADxtb2R1bGU+DwAAAHMaAAAABhMSAgwCFgsGAgwrDDIJFgkVCQ8JBgwBDAE=