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aGUgbGFzdCBwYXJ0IG9mIHRoZQogICAgc2hlYmFuZyBpZiBvbmUgZXhpc3RzLgoKICAgICAgICA+Pj4gZnJvbSBweWdtZW50cy51dGlsIGltcG9ydCBzaGViYW5nX21hdGNoZXMKICAgICAgICA+Pj4gc2hlYmFuZ19tYXRjaGVzKCcjIS91c3IvYmluL2VudiBweXRob24nLCByJ3B5dGhvbigyXC5cZCk/JykKICAgICAgICBUcnVlCiAgICAgICAgPj4+IHNoZWJhbmdfbWF0Y2hlcygnIyEvdXNyL2Jpbi9weXRob24yLjQnLCByJ3B5dGhvbigyXC5cZCk/JykKICAgICAgICBUcnVlCiAgICAgICAgPj4+IHNoZWJhbmdfbWF0Y2hlcygnIyEvdXNyL2Jpbi9weXRob24tcnVieScsIHIncHl0aG9uKDJcLlxkKT8nKQogICAgICAgIEZhbHNlCiAgICAgICAgPj4+IHNoZWJhbmdfbWF0Y2hlcygnIyEvdXNyL2Jpbi9weXRob24vcnVieScsIHIncHl0aG9uKDJcLlxkKT8nKQogICAgICAgIEZhbHNlCiAgICAgICAgPj4+IHNoZWJhbmdfbWF0Y2hlcygnIyEvdXNyL2Jpbi9zdGFydHNvbWV0aGluZ3dpdGggcHl0aG9uJywKICAgICAgICAuLi4gICAgICAgICAgICAgICAgIHIncHl0aG9uKDJcLlxkKT8nKQogICAgICAgIFRydWUKCiAgICBJdCBhbHNvIGNoZWNrcyBmb3IgY29tbW9uIHdpbmRvd3MgZXhlY3V0YWJsZSBmaWxlIGV4dGVuc2lvbnM6OgoKICAgICAgICA+Pj4gc2hlYmFuZ19tYXRjaGVzKCcjIUM6XFxQeXRob24yLjRcXFB5dGhvbi5leGUnLCByJ3B5dGhvbigyXC5cZCk/JykKICAgICAgICBUcnVlCgogICAgUGFyYW1ldGVycyAoYGAnLWYnYGAgb3IgYGAnLS1mb28nYGAgYXJlIGlnbm9yZWQgc28gYGAncGVybCdgYCBkb2VzCiAgICB0aGUgc2FtZSBhcyBgYCdwZXJsIC1lJ2BgKQoKICAgIE5vdGUgdGhhdCB0aGlzIG1ldGhvZCBhdXRvbWF0aWNhbGx5IHNlYXJjaGVzIHRoZSB3aG9sZSBzdHJp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