LlwiKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgouXCIKLlwiIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIHdpdGggcG80YS4gVHJhbnNsYXRlIHRoZSBzb3VyY2UgZmlsZS4KLlwiCi5cIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLlRIIGRwa2dcLW1haW50c2NyaXB0XC1oZWxwZXIgMSAyMDExXC0wOFwtMTQgRGViaWFucHJvamVrdGV0IERwa2dcLXN2aXRlbgouU0ggTkFNTgpkcGtnXC1tYWludHNjcmlwdFwtaGVscGVyIFwtIGflciBydW50IGvkbmRhIGRwa2dcLWJlZ3LkbnNuaW5nYXIgaSBwYWtldHNrcmlwdAouCi5TSCBTWU5PUFMKXGZCZHBrZ1wtbWFpbnRzY3JpcHRcLWhlbHBlclxmUCBcZklrb21tYW5kb1xmUCBbXGZJZmxhZ2dhXGZQLi4uXSBcZkJcLVwtXGZQClxmSW1haW50XC1zY3JpcHRcLWZsYWdnYVxmUC4uLgouCi5TSCAiS09NTUFORE9OIE9DSCBQQVJBTUVUUkFSIgouUApcZkJybV9jb25mZmlsZVxmUCBcZklrb25mZmlsXGZQIFtcZklzZW5hc3RldmVyc2lvblxmUCBbXGZJcGFrZXRcZlBdXQouUApcZkJtdl9jb25mZmlsZVxmUCBcZklnYW1tYWxrb25mZmlsXGZQIFxmSW55a29uZmZpbFxmUCBbXGZJc2VuYXN0ZXZlcmlzb25cZlAgW1xmSXBha2V0XGZQXV0KLgouU0ggQkVTS1JJVk5JTkcKLlAKUHJvZ3JhbW1ldCBza3JldnMgZvZyIGF0dCBr9nJhcyBpIHBha2V0c2tyaXB0IGb2ciBhdHQgdXRm9nJhIGVuIGRlbCDldGfkcmRlcgpzb20gZHBrZyAo5G5udSkgaW50ZSBzauRsdiBrYW4gaGFudGVyYSwgYW50aW5nZW4gcOUgZ3J1bmQgYXYgZGVzaWdudmFsIGVsbGVyCnDlIGdydW5kIGF2IG51dmFyYW5kZSBiZWdy5G5zbmluZ2FyLgouUApN5W5nYSBhdiBkZXNzYSDldGfkcmRlciBrcuR2ZXIgc2Ftb3JkbmFkZSDldGfkcmRlciBmcuVuIGZsZXJhIHBha2V0c2tyaXB0CihcZkJwcmVpbnRcZlAsIFxmQnBvc3RpbnN0XGZQLCBcZkJwcmVybVxmUCwgXGZCcG9zdHJtXGZQKS4gRvZyIGF0dCB1bmR2aWthIG1pc3N0YWcKcuRja2VyIGRldCBhdHQgbORnZ2EgaW4gZXR0IG9jaCBzYW1tYSBhbnJvcCBpIGFsbGEgc2tyaXB0LCB2YXJw5SBwcm9ncmFtbWV0CmFucGFzc2FyIHNpdHQgYmV0ZWVuZGUgYmVyb2VuZGUgcOUgbWlsavZ2YXJpYWJlbG4gXGZCRFBLR19NQUlOVFNDUklQVF9OQU1FXGZQCm9jaCBw5SBwYWtldHNrcmlwdGV0cyBwYXJhbWV0cmFyLCB2aWxrYSBkdSBt5XN0ZSB2aWRhcmVz5G5kYSBlZnRlciBkdWJibGEKYmluZGVzdHJlY2suCi4KLlNIICJLT05GRklMXC1SRUxBVEVSQURFIMVUR8RSREVSIgouUApO5HIgZXR0IHBha2V0IHVwcGdyYWRlcnMga29tbWVyIGRwa2cgaW50ZSBhdHQgYXV0b21hdGlza3QgdGEgYm9ydCBlbiBrb25mZmlsCihlbiBrb25maWd1cmF0aW9uc2ZpbCBm9nIgdmlsa2VuIGRwa2cgc2thbGwgYmVo5WxsYSBhbnbkbmRhcmVucyDkbmRyaW5nYXIpCm9tIGRlbiBpbnRlIGZpbm5zIGkgZGVuIG55YSB2ZXJzaW9uZW4uIERldCBmaW5ucyB0duUgZ3J1bmRs5GdnYW5kZSBza+RsIHRpbGwKZGV0dGE7IGRlbiBm9nJzdGEg5HIgYXR0IGtvbmZmaWxlbiBrYW4gaGEgdGFwcGF0cyBhdiBtaXNzdGFnIG9jaCBu5HN0YQp2ZXJzaW9uIGthbiBrb21tYSBhdHQg5XRlcnN05GxsYSBkZW4sIHZhcnDlIGFuduRuZGFyZW4gaW50ZSB2aWxsIHRhcHBhIHNpbmEK5G5kcmluZ2FyLiBEZW4gYW5kcmEg5HIgYXR0IGb2ciBhdHQgZ/ZyYSBkZXQgbfZqbGlndCBm9nIgcGFrZXQgYXR0IGflIPZ2ZXIKZnLlbiBlbiBkcGtnXC1oYW50ZXJhZCBrb25mZmlsIHRpbGwgZW4gZmlsIHNvbSBoYW50ZXJhcyBhdiBwYWtldGV0cyBza3JpcHQsCnZhbmxpZ3R2aXMgZ2Vub20gZXR0IHZlcmt0eWcgc29tIGRlYmNvbmYgZWxsZXIgdWNmLgouUApEZXQgaW5uZWLkciBhdHQsIG9tIHBha2V0ZXQgbWVuYXIgYXR0IGJ5dGEgbmFtbiBlbGxlciB0YSBib3J0IGVuCmtvbmZpZ3VyYXRpb25zZmlsLCBz5SBt5XN0ZSBkZXQgZ/ZyYSBz5SBleHBsaWNpdCwgb2NoIGTlIGthbgpcZkJkcGtnXC1tYWludHNjcmlwdFwtaGVscGVyXGZQIGFuduRuZGFzIGb2ciBhdHQgaW1wbGVtZW50ZXJhIGVuIGVsZWdhbnQKYm9ydHRhZ25pbmcgb2NoIGZseXR0bmluZyBhdiBrb25mZmlsZXIgaSBwYWtldHNjcmlwdGVuLgouCi5TUyAiVEEgQk9SVCBFTiBLT05GRklMIgouUApPbSBlbiBrb25mZmlsIGhlbHQgdGFzIGJvcnQgYvZyIGRlbiB0YXMgYm9ydCBmcuVuIGRpc2ssIHPldmlkYSBpbnRlCmFuduRuZGFyZW4gaGFyIG1vZGlmaWVyYXQgZGVuLiBPbSBkZXQgZmlubnMgbG9rYWxhIORuZHJpbmdhciBi9nIgZGUKYmliZWjlbGxhcy4gT20gcGFrZXR1cHBncmFkZXJpbmdlbiBhdmJyeXRzIGL2ciBpbnRlIGtvbmZmaWxlbiBzb20ganVzdCBibGV2Cmb2cuVsZHJhcyBm9nJzdmlubmEuCi5QCkFsbHQgZGV0dGEgaW1wbGVtZW50ZXJhcyBnZW5vbSBhdHQgbORnZ2EgaW4gZvZsamFuZGUgc2thbGtvZCBpIHBha2V0c2tyaXB0ZW4KXGZCcHJlaW5zdFxmUCwgXGZCcG9zdGluc3RcZlAgb2NoIFxmQnBvc3RybVxmUDoKLlAKICAgIGRwa2dcLW1haW50c2NyaXB0XC1oZWxwZXIgcm1fY29uZmZpbGUgXGUKICAgICAgICBcZklrb25mZmlsXGZQIFxmSXNlbmFzdGV2ZXJzaW9uXGZQIFxmSXBha2V0XGZQIFwtXC0gIiRAIgouUApcZklrb25mZmlsXGZQIORyIGZpbG5hbW5ldCBw5SBkZW4ga29uZmZpbCBzb20gc2thbGwgdGFzIGJvcnQuIFxmSXNlbmFzdGV2ZXJzaW9uXGZQCuRyIGRlbiBzZW5hc3RlIHZlcnNpb25lbiBhdiBwYWtldGV0IHNvbSBpbm5laPZsbCBrb25mZmlsZW4gKGVsbGVyIGRlbgpzZW5hc3RlIHZlcnNpb25lbiBhdiBwYWtldGV0IHNvbSBpbnRlIHRvZyBoYW5kIG9tIGF0dCB0YSBib3J0IGRlbiD2dmVyYmxpdm5hCmtvbmZmaWxlbiBvbSBkZXR0YSBpbnRlIG9tZWRlbGJhcnQgaW1wbGVtZW50ZXJhZGVzKS4gT20gXGZJc2VuYXN0ZXZlcnNpb25cZlAg5HIKdG9tdCBlbGxlciBpbnRlIGFuZ2l2aXRzIGb2cnP2a3Mgb3BlcmF0aW9uZW4gdmFyamUgZ+VuZyBwYWtldGV0CnVwcGdyYWRlcmFzLiBcZklwYWtldFxmUCDkciBwYWtldG5hbW5ldCwgZGV0IORyIGZyaXZpbGxpZ3QgZWZ0ZXJzb20gZGV0IGZhbGxlcgp0aWxsYmFrYSBw5SAkRFBLR19NQUlOU1RDUklQVF9QQUNLQUdFICh2YXJpYWJlbG4gc+R0dHMgYXYgZHBrZyB0aWxsIG5hbW5ldApw5SBkZXQgcGFrZXQgc29tIGJlaGFuZGxhcykuIEFsbGEgcGFyYW1lcmFyIHRpbGwgcGFrZXRza3JpcHRldCBt5XN0ZQp2aWRhcmVz5G5kYXMgdGlsbCBwcm9ncmFtbWV0IGVmdGVyICJcLVwtIi4KLlAKQWt0dWVsbCBpbXBsZW1lbnRhdGlvbjogaSBcZkJwcmVpbnN0XGZQIGtvbnRyb2xsZXJhcyBvbSBrb25mZmlsZW4g5G5kcmFkZXMgb2NoCmkgc+UgZmFsbCBieXRzIG5hbW5ldCBw5SBkZW4gdGlsbCBhbnRpbmdlbiBcZklrb25mZmlsXGZQXGZCLmRwa2dcLXJlbW92ZVxmUCAob20KaW50ZSBtb2RpZmllcmFkKSBlbGxlciB0aWxsIFxmSWtvbmZmaWxcZlBcZkIuZHBrZ1wtYmFja3VwXGZQIChvbSBtb2RpZmllcmFkKS4gSQpcZkJwb3N0aW5zdFxmUCBieXRzIG5hbW5ldCBw5SBkZW4gc2lzdG7kbW5kYSBmaWxlbiB0aWxsIFxmSWtvbmZmaWxcZlBcZkIuZHBrZ1wtYmFrXGZQCm9jaCBiZWjlbGxzIHNvbSByZWZlcmVucyBvbSBkZW4gaW5uZWjlbGxlciDkbmRyaW5nYXIgYXYgYW525G5kYXJlbiwgbWVkYW4KZGVuIHRpZGlnYXJlIGtvbW1lciBhdHQgdGFzIGJvcnQuIE9tIHBha2V0dXBwZ3JhZGVyaW5nZW4gYXZicnl0cyBrb21tZXIKXGZCcG9zdHJtXGZQIGF0dCBvbWluc3RhbGxlcmEgZGVuIHVyc3BydW5nbGlnYSBrb25mZmlsZW4uIFZpZCBib3J0dGFnbmluZwprb21tZXIgXGZCcG9zdHJtXGZQIOR2ZW4gYXR0IHRhIGJvcnQgXGZCLmRwa2dcLWJha1xmUFwtZmlsZW4gc29tIGJlaOVsbGl0cyBmcmFtIHRpbGwKZGVzcy4KLgouU1MgIkJZVEEgTkFNTiBQxSBFTiBLT05GRklMIgouUApPbSBlbiBrb25mZmlsIGZseXR0YXMgZnLlbiBlbiBwbGF0cyB0aWxsIGVuIGFubmFuIG3lc3RlIGR1IHNlIHRpbGwgYXR0IGR1CmZseXR0YXIgbWVkIGV2ZW50dWVsbGEg5G5kcmluZ2FyIGdqb3JkYSBhdiBhbnbkbmRhcmVuLiBEZXR0YSBrYW4gZvZyc3QgdmVya2EKdmFyYSBlbiBlbmtlbCDkbmRyaW5nIGF2IFxmQnByZWluc3RcZlBcLXNrcmlwdGV0LCBtZW4gZGV0IGtvbW1lciBsZWRhIHRpbGwgYXR0CmFuduRuZGFyZW4gb21iZWRzIGF0dCBnb2Rr5G5uYSDkbmRyaW5nYXIgaSBrb25mZmlsZW4gZvZyIGRwa2csIOR2ZW4gb20gZGVubmUKaW50ZSDkciBhbnN2YXJpZyBm9nIgZGVtLgouUApFbiBlbGVnYW50IG5hbW7kbmRyaW5nIGthbiBpbXBsZW1lbnRlcmFzIGdlbm9tIGF0dCBs5GdnYSBpbiBm9mxqYW5kZSBza2Fsa29kCmkgcGFrZXRza3JpcHRlbiBcZkJwcmVpbnN0XGZQLCBcZkJwb3N0aW5zdFxmUCBvY2ggXGZCcG9zdHJtXGZQOgouUAogICAgZHBrZ1wtbWFpbnRzY3JpcHRcLWhlbHBlciBtdl9jb25mZmlsZSBcZQogICAgICAgIFxmSWdhbW1hbGtvbmZmaWxcZlAgXGZJbnlrb25mZmlsXGZQIFxmSXNlbmFzdGV2ZXJzaW9uXGZQIFxmSXBha2V0XGZQIFwtXC0gIiRAIgouUApcZklnYW1tYWxrb25mZmlsXGZQIG9jaCBcZklueWtvbmZmaWxcZlAg5HIgZGV0IGdhbWxhIG9jaCBueWEgbmFtbmV0IHDlIGtvbmZmaWxlbgp2YXJzIG5hbW4gc2thbGwgYnl0YXMuIFxmSXNlbmFzdGV2ZXJzaW9uXGZQIORyIGRlbiBzZW5hc3RlIHZlcnNpb25lbiBhdiBwYWtldGV0CnNvbSBpbm5laPZsbCBrb25mZmlsZW4gbWVkIGRlc3MgZ2FtbGEgbmFtbi4gT20gXGZJc2VuYXN0ZXZlcnNpb25cZlAg5HIgdG9tCmVsbGVyIGludGUgaGFyIGFuZ2l2aXRzIGtvbW1lciBvcGVyYXRpb25lbiBhdHQgZvZyc/ZrYXMgdmFyamUgZ+VuZyBwYWtldGV0CnVwcGdyYWRlcmFzIChvYnNlcnZlcmE6IGRldCDkciBz5GtyYXJlIGF0dCBhbmdlIHZlcnNpb25lbiBvY2ggZORybWVkIGVuZGFzdAp1dGb2cmEgb3BlcmF0aW9uZW4gZW4gZ+VuZykuIFxmSXBha2V0XGZQIORyIHBha2V0bmFtbmV0LCBkZXQg5HIgZnJpdmlsbGlndAplZnRlcnNvbSBkZXQgZmFsbGVyIHRpbGxiYWthIHDlICREUEtHX01BSU5TVENSSVBUX1BBQ0tBR0UgKHZhcmlhYmVsbiBz5HR0cwphdiBkcGtnIHRpbGwgbmFtbmV0IHDlIGRldCBwYWtldCBzb20gYmVoYW5kbGFzKS4gQWxsYSBwYXJhbWVyYXIgdGlsbApwYWtldHNrcmlwdGV0IG3lc3RlIHZpZGFyZXPkbmRhcyB0aWxsIHByb2dyYW1tZXQgZWZ0ZXIgIlwtXC0iLgouUApBa3R1ZWxsIGltcGxlbWVudGF0aW9uOiBJIFxmQnByZWluc3RcZlAga29udHJvbGxlcmFzIG9tIGtvbmZmaWxlbiBoYXIg5G5kcmF0cywKb20gamEgbORtbmFzIGRlbiBrdmFyIHDlIHBsYXRzLCBhbm5hcnMgYnl0cyBuYW1uZXQgcOUgZGVuIHRpbGwKXGZJZ2FtbWFsa29uZmZpbFxmUFxmQi5kcGtnXC1yZW1vdmVcZlAuIFZpZCBrb25maWd1cmVyaW5nIHRhciBcZkJwb3N0aW5zdFxmUCBib3J0ClxmSWdhbW1hbGtvbmZmaWxcZlBcZkIuZHBrZ1wtcmVtb3ZlXGZQIG9jaCBieXRlciBuYW1uIHDlIFxmSWdhbW1hbGtvbmZmaWxcZlAgdGlsbApcZklueWtvbmZmaWxcZlAgb20gXGZJZ2FtbWFsa29uZmZpbFxmUCBmb3J0ZmFyYW5kZSBmaW5ucy4gVmlkIGF2YnJ1dGVuCnVwcGdyYWRlcmluZyBlbGxlciBpbnN0YWxsYXRpb24gYnl0ZXIgXGZCcG9zdHJtXGZQIHRpbGxiYWthIG5hbW5ldCBmcuVuClxmSWdhbW1hbGtvbmZmaWxcZlBcZkIuZHBrZ1wtcmVtb3ZlXGZQIHRpbGwgXGZJZ2FtbWFsa29uZmZpbFxmUCBvbSBz5SBiZWj2dnMuCi4KLlNIICJJTlRFR1JFUkEgSSBQQUtFVCIKLlAKR2l2ZXQgYXR0IFxmQmRwa2dcLW1haW50c2NyaXB0XC1oZWxwZXJcZlAgYW525G5kcyBpIFxmQnByZWluc3RcZlAgc+UgaW5uZWLkciBkZXR0YQp2aWxsa29yc2z2c3QgYXR0IGV0dCBm9nJoYW5kc2Jlcm9lbmRlICgicHJlXC1kZXBlbmRlbmN5Iikga3LkdnMgZvZyIGF0dApm9nJz5GtyYSBhdHQgZGVuIG72ZHbkbmRpZ2EgdmVyc2lvbmVuIGF2IGRwa2cgcmVkYW4gaGFyIHBhY2thdHMgdXBwLiBEZW4KdmVyc2lvbiBzb20ga3LkdnMgYmVyb3IgcOUgdmlsa2V0IGtvbW1hbmRvIHNvbSBhbnbkbmRzLCBm9nIgXGZCcm1fY29uZmZpbGVcZlAKb2NoIFxmQm12X2NvbmZmaWxlXGZQIORyIGRldCAxLjE1LjcuMjoKLlAKICAgIFxmQlByZVwtRGVwZW5kczpcZlAgZHBrZyAoPj0gMS4xNS43LjIpCi5QCk1lbiBpIG3lbmdhIGZhbGwg5HIgb3BlcmF0aW9uZW4gc29tIHV0ZvZycyBhdiBwcm9ncmFtbWV0IGludGUga3JpdGlza3QgZvZyCnBha2V0ZXQsIG9jaCBpc3TkbGxldCBm9nIgYXR0IGFuduRuZGEgZXR0IGb2cmhhbmRzYmVyb2VuZGUga2FuIHZpIGFucm9wYQpwcm9ncmFtbWV0IGVuZGFzdCBvbSB2aSB2ZXQgYXR0IGRldCBu9mR25G5kaWdhIGtvbW1hbmRvdCBzdPZkcyBhdiBkZW4gbnUKaW5zdGFsbGVyYWRlIGRwa2c6Ci5QCiAgICBpZiBkcGtnXC1tYWludHNjcmlwdFwtaGVscGVyIHN1cHBvcnRzIFxmSWtvbW1hbmRvXGZQOyB0aGVuCiAgICAgICAgZHBrZ1wtbWFpbnRzY3JpcHRcLWhlbHBlciBcZklrb21tYW5kb1xmUCAuLi4KICAgIGZpCi4KLlNIIEbWUkZBVFRBUkUKVXBwaG92c3LkdHRzc2t5ZGRhdCCpIDIwMTAgUmFwaGHrbCBIZXJ0em9nCi5icgpVcHBob3ZzcuR0dHNza3lkZGF0IKkgMjAwOCBKb2V5IEhlc3MKLmJyClVwcGhvdnNy5HR0c3NreWRkYXQgqSAyMDA3IEd1aWxsZW0gSm92ZXIKLmJyClVwcGhvdnNy5HR0c3NreWRkYXQgqSAyMDA1IFNjb3R0IEphbWVzIFJlbW5hbnQKLnNwCkRldHRhIORyIGZyaSBwcm9ncmFtdmFyYTsgc2UgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGVsbGVyCnNlbmFyZSBm9nIga29waWVyaW5nc3ZpbGxrb3IuIERldCBmaW5ucyBJTkdFTiBHQVJBTlRJLgoKLlNIICLWVkVSU8RUVE5JTkciClBldGVyIEtyZWZ0aW5nIG9jaCBEYW5pZWwgTnlsYW5kZXIuCg==