Re: RED vs DropTail using NS2
anjali chawla <[email protected]> Fri, 6 Feb 2015 13:19:18 +0530
| Newsgroups | gmane.network.end2end |
|---|---|
| Message-ID | <CAL6QuG8a1HzQVV-_Q1HWaphme+p2ySATauaQo=nYKJZ-xpwb6A@mail.gmail.com> |
SGkgYWxsCmkgYW0gc2hhcmluZyBteSAiLnRjbCIgZmlsZXMgd2hpY2ggc2hvd3MgaG93IFJFRCBz b2x2ZXMgZ2xvYmFsCnN5bmNocm9uaXphdGlvbiBwcm9ibGVtIG9mIERyb3BUYWlsIChpLmUuIG11 dGlwbGUgY29ubmVjdGlvbnMgcmVkdWNpbmcKdGhlaXIgd2luZG93IGF0IHRoZSBzYW1lIHRpbWUp LgpwbGVhc2UgdGVzdCB3aXRoIHNhbWUgYW5kIHRlbGwgbWUgd2hldGhlciByZXN1bHRzIGFyZSBv ayBvciBub3QgPz8/Cm9yIGFueSBvdGhlciBpbXByb3ZlbWVudCB3aGljaCBuZWVkcyB0byBiZSAg ZG9uZSBmdXJ0aGVyLgpUaGFua3MKCgojIyMjIyMjIyMjIyMjIyMjIyMjI0Ryb3BUYWlsLnRjbCMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjCgogIHNldCBucyBbbmV3IFNpbXVsYXRvcl0KCgojIE9wZW4gTkFNIHRyYWNl IGZpbGUKCnNldCBOdW1iU3JjIDEwMDAKICBzZXQgU2ltRHVyYXRpb24gNTAKCiAgc2V0IG5mIFtv cGVuIGRyb3B0YWlsLm5hbSB3XQogICRucyBuYW10cmFjZS1hbGwgJG5mCgoKICBzZXQgdGYgW29w ZW4gZHJvcHRhaWwudHIgd10KICAkbnMgdHJhY2UtYWxsICR0ZgoKIyBPcGVuIFRDUCBjbmR3IHRy YWNlIGZpbGUKCmZvciB7c2V0IGogMX0geyRqPD0kTnVtYlNyY30geyBpbmNyIGogfSB7CiAgICAg IyRucyBhdCAwLjEgInBsb3RXaW5kb3cgJHRjcF9zcmMoJGopICR3aW5kb3dWc1RpbWUgJGoiCiAg ICAgICBzZXQgd2luZG93VnNUaW1lKCRqKSBbb3BlbiB3aW5kKCRqKSB3XQogIH0KCiAgI3NldCB3 aW5kb3dWc1RpbWUgW29wZW4gd2luZCB3XQoKIyBPcGVuIHBhcmFtZXRlciByZWNvcmRpbmcgZmls ZQogIHNldCBwYXJhbSBbb3BlbiBwYXJhbWV0ZXJzZCB3XQoKCiMgRGVmaW5lIGEgJ2ZpbmlzaCcg cHJvY2VkdXJlCiAgcHJvYyBmaW5pc2gge30gewogICAgIGdsb2JhbCBucyBuZiB0ZgoKICAgICAk bnMgZmx1c2gtdHJhY2UKICAgICBjbG9zZSAkbmYKICAgICBjbG9zZSAkdGYKICAgICAjZXhlYyBu YW0gZHJvcHRhaWwubmFtICYKICAgICBleGl0IDAKICB9CgojIENyZWF0ZSBib3R0bGVuZWNrIGFu ZCBkZXN0IG5vZGVzCiAgc2V0IG4yIFskbnMgbm9kZV0KICBzZXQgbjMgWyRucyBub2RlXQoKUXVl dWUvUkVEIHNldCBieXRlc18gZmFsc2UKIyBkZWZhdWx0IGNoYW5nZWQgb24gMTAvMTEvMjAwNC4K UXVldWUvUkVEIHNldCBxdWV1ZV9pbl9ieXRlc18gZmFsc2UKIyBkZWZhdWx0IGNoYW5nZWQgb24g MTAvMTEvMjAwNC4KUXVldWUvUkVEIHNldCBxX3dlaWdodF8gMC4wMDIKUXVldWUvUkVEIHNldCB0 aHJlc2hfIDQwClF1ZXVlL1JFRCBzZXQgbWF4dGhyZXNoXyA4MAoKCgoKIyBDcmVhdGUgbGlua3Mg YmV0d2VlbiBib3R0bGVuZWNrIG5vZGVzCiAgJG5zIGR1cGxleC1saW5rICRuMiAkbjMgMC41TWIg MW1zIERyb3BUYWlsCiAgJG5zIHF1ZXVlLWxpbWl0ICRuMiAkbjMgMTAwCiMgIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCiMg Q3JlYXRlICROdW1iU3JjIHNvdXJjZSBub2RlcwogIGZvciB7c2V0IGogMX0geyRqPD0kTnVtYlNy Y30geyBpbmNyIGogfSB7CiAgICAgc2V0IFMoJGopIFskbnMgbm9kZV0KICB9CgoKIyBDcmVhdGUg YSByYW5kb20gZ2VuZXJhdG9yIGZvciBzdGFydGluZyB0aGUgZnRwIGFuZAojIGZvciBib3R0bGVu ZWNrIGxpbmsgZGVsYXlzCiAgc2V0IHJuZyBbbmV3IFJOR10KICAkcm5nIHNlZWQgMgoKIyBwYXJh bWV0ZXJzIGZvciByYW5kb20gdmFyaWFibGVzIGZvciBiZWdlbm5pbmcgb2YgZnRwIGNvbm5lY3Rp b25zCiAgc2V0IFJWc3RhcnQgW25ldyBSYW5kb21WYXJpYWJsZS9Vbmlmb3JtXQogICRSVnN0YXJ0 IHNldCBtaW5fIDAKICAkUlZzdGFydCBzZXQgbWF4XyA3CiAgJFJWc3RhcnQgdXNlLXJuZyAkcm5n CgojIERlZmluZSByYW5kb20gc3RhcnRpbmcgdGltZXMgZm9yIGVhY2ggY29ubmVjdGlvbgogIGZv ciB7c2V0IGkgMX0geyRpPD0kTnVtYlNyY30geyBpbmNyIGkgfSB7CiAgICAgc2V0IHN0YXJ0VCgk aSkgIFtleHByIFskUlZzdGFydCB2YWx1ZV1dCiAgICAgc2V0IGRseSgkaSkgMQogICAgIHB1dHMg InN0YXJ0VCgkaSkgICRzdGFydFQoJGkpIHNlYyIKICAgICBwdXRzICRwYXJhbSAic3RhcnRUKCRp KSAgJHN0YXJ0VCgkaSkgc2VjIgogIH0KCiMgQ3JlYXRlIGxpbmtzIGJldHdlZW4gc291cmNlIGFu ZCBib3R0bGVuZWNrCiAgZm9yIHtzZXQgaiAxfSB7JGo8PSROdW1iU3JjfSB7IGluY3IgaiB9IHsK ICAgICAkbnMgZHVwbGV4LWxpbmsgJFMoJGopICRuMiAxMDBNYiAkZGx5KCRqKW1zIERyb3BUYWls CiAgICAgIyRucyBxdWV1ZS1saW1pdCAkUygkaikgJG4yIDIwCiAgfQoKCiMgT3JpZW50IHRoZSBs aW5rcwogICRucyBkdXBsZXgtbGluay1vcCAkbjIgJG4zIG9yaWVudCByaWdodAogICRucyBkdXBs ZXgtbGluay1vcCAkUygxKSAkbjIgb3JpZW50IHJpZ2h0LWRvd24KICAkbnMgZHVwbGV4LWxpbmst b3AgJFMoMikgJG4yIG9yaWVudCByaWdodAogICRucyBkdXBsZXgtbGluay1vcCAkUygzKSAkbjIg b3JpZW50IHJpZ2h0LXVwCgojIFNldCBRdWV1ZSBTaXplIG9mIChib3R0bGVuZWNrKSBsaW5rIChu Mi1uMykgdG8gMTAwCiAjICRucyBxdWV1ZS1saW1pdCAkbjIgJG4zIDEwMAoKIyBDcmVhdGUgVENQ IFNvdXJjZXMKICBmb3Ige3NldCBqIDF9IHskajw9JE51bWJTcmN9IHsgaW5jciBqIH0gewogICAg IHNldCB0Y3Bfc3JjKCRqKSBbbmV3IEFnZW50L1RDUF0KICAgICAkdGNwX3NyYygkaikgc2V0IHdp bmRvd18gODAwMAogIH0KCiMgQ29sb3IgdGhlIHBhY2tldHMKICAkdGNwX3NyYygxKSBzZXQgZmlk XyAxCiAgJG5zIGNvbG9yIDEgcmVkCiAgJHRjcF9zcmMoMikgc2V0IGZpZF8gMgogICRucyBjb2xv ciAyIHllbGxvdwogICR0Y3Bfc3JjKDMpIHNldCBmaWRfIDMKICAkbnMgY29sb3IgMyBibHVlCgoj IENyZWF0ZSBUQ1AgRGVzdGluYXRpb25zCiAgZm9yIHtzZXQgaiAxfSB7JGo8PSROdW1iU3JjfSB7 IGluY3IgaiB9IHsKICAgICBzZXQgdGNwX3NuaygkaikgW25ldyBBZ2VudC9UQ1BTaW5rXQogIH0K CgojIERlZmluZSBjb25uZWN0aW9ucyBiZXR3ZWVuIFRDUCBzcmMncyBhbmQgc2lua3MKICBmb3Ig e3NldCBqIDF9IHskajw9JE51bWJTcmN9IHsgaW5jciBqIH0gewogICAgICRucyBhdHRhY2gtYWdl bnQgJFMoJGopICR0Y3Bfc3JjKCRqKQogICAgICRucyBhdHRhY2gtYWdlbnQgJG4zICR0Y3Bfc25r KCRqKQogICAgICRucyBjb25uZWN0ICR0Y3Bfc3JjKCRqKSAkdGNwX3NuaygkaikKICB9CgojIEZ1 cnRoZXIgcGFyYW1ldHJpc2F0aW9uIG9mIFRDUCBzb3VyY2VzCiAgZm9yIHtzZXQgaiAxfSB7JGo8 PSROdW1iU3JjfSB7IGluY3IgaiB9IHsKICAgICAkdGNwX3NyYygkaikgc2V0IHBhY2tldFNpemVf IDU1MgogIH0KCgojIENyZWF0ZSBGVFAgc291cmNlcwogIGZvciB7c2V0IGogMX0geyRqPD0kTnVt YlNyY30geyBpbmNyIGogfSB7CiAgICAgc2V0IGZ0cCgkaikgWyR0Y3Bfc3JjKCRqKSBhdHRhY2gt c291cmNlIEZUUF0KICB9CgoKIyBTY2hlZHVsZSBldmVudHMgZm9yIHRoZSBGVFAgYWdlbnRzOgog IGZvciB7c2V0IGkgMX0geyRpPD0kTnVtYlNyY30geyBpbmNyIGkgfSB7CiAgICAgJG5zIGF0ICRz dGFydFQoJGkpICIkZnRwKCRpKSBzdGFydCIKICAgICAkbnMgYXQgJFNpbUR1cmF0aW9uICIkZnRw KCRpKSBzdG9wIgogIH0KCgojIHBsb3RXaW5kb3codGNwU291cmNlIGZpbGUgayk6IFdyaXRlIENX TkQgb2YgayB0Y3BTb3VyY2VzIGluIGZpbGUKICBwcm9jIHBsb3RXaW5kb3cge3RjcFNvdXJjZSBm aWxlfSB7CiAgICAgZ2xvYmFsIG5zCgogICAgIHNldCB0aW1lIDAuMQogICAgIHNldCBub3cgWyRu cyBub3ddCiAgICAgc2V0IGN3bmQgWyR0Y3BTb3VyY2Ugc2V0IGN3bmRfXQogICAgIHNldCB3bmQg WyR0Y3BTb3VyY2Ugc2V0IHdpbmRvd19dCiAgICAgcHV0cyAkZmlsZSAiJG5vdyAkY3duZCIKICAg ICAkbnMgYXQgW2V4cHIgJG5vdyskdGltZV0gInBsb3RXaW5kb3cgJHRjcFNvdXJjZSAkZmlsZSIK ICB9CgoKIyBTdGFydCBwbG90V2luZG93KCkgZm9yIGFsbCB0Y3Agc291cmNlcwogIGZvciB7c2V0 IGogMX0geyRqPD0kTnVtYlNyY30geyBpbmNyIGogfSB7CiAgICAgJG5zIGF0IDAuMSAicGxvdFdp bmRvdyAkdGNwX3NyYygkaikgJHdpbmRvd1ZzVGltZSgkaikiCiAgfQoKCiMgTW9uaXRvciBhdmcg cXVldWUgbGVuZ3RoIG9mIGxpbmsgKCRuMiwkbjMpCiAgc2V0IHFmaWxlIFskbnMgbW9uaXRvci1x dWV1ZSAkbjIgJG4zICBbb3BlbiBxdWV1ZS50ciB3XSAwLjA1XQogIFskbnMgbGluayAkbjIgJG4z XSBxdWV1ZS1zYW1wbGUtdGltZW91dDsKCiAgJG5zIGF0IFtleHByICRTaW1EdXJhdGlvbl0gImZp bmlzaCIKCiMgcnVuCiAgJG5zIHJ1bgojCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoK ICMKCgojCgoKIwoKCgojCgoKIwoKCiMKCgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjI1JFRC50Y2wjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjCiAgc2V0IG5zIFtuZXcgU2ltdWxhdG9yXQoKCiMgT3BlbiBOQU0gdHJhY2UgZmls ZQoKc2V0IE51bWJTcmMgMTAwMAogIHNldCBTaW1EdXJhdGlvbiA1MAoKICBzZXQgbmYgW29wZW4g cmVkLm5hbSB3XQogICRucyBuYW10cmFjZS1hbGwgJG5mCgoKICBzZXQgdGYgW29wZW4gcmVkLnRy IHddCiAgJG5zIHRyYWNlLWFsbCAkdGYKCgoKZm9yIHtzZXQgaiAxfSB7JGo8PSROdW1iU3JjfSB7 IGluY3IgaiB9IHsKICAgICAjJG5zIGF0IDAuMSAicGxvdFdpbmRvdyAkdGNwX3NyYygkaikgJHdp bmRvd1ZzVGltZSAkaiIKICAgICAgIHNldCB3aW5kb3dWc1RpbWUoJGopIFtvcGVuIHdpbmQoJGop IHddCiAgfQoKICAjc2V0IHdpbmRvd1ZzVGltZSBbb3BlbiB3aW5kIHddCgoKIyBPcGVuIHBhcmFt ZXRlciByZWNvcmRpbmcgZmlsZQogIHNldCBwYXJhbSBbb3BlbiBwYXJhbWV0ZXJzcmVkIHddCgoK IyBEZWZpbmUgYSAnZmluaXNoJyBwcm9jZWR1cmUKICBwcm9jIGZpbmlzaCB7fSB7CiAgICAgZ2xv YmFsIG5zIG5mIHRmCgogICAgICRucyBmbHVzaC10cmFjZQogICAgIGNsb3NlICRuZgogICAgIGNs b3NlICR0ZgogICAgICNleGVjIG5hbSBkcm9wdGFpbC5uYW0gJgogICAgIGV4aXQgMAogIH0KCiMg Q3JlYXRlIGJvdHRsZW5lY2sgYW5kIGRlc3Qgbm9kZXMKICBzZXQgbjIgWyRucyBub2RlXQogIHNl dCBuMyBbJG5zIG5vZGVdCgpRdWV1ZS9SRUQgc2V0IGJ5dGVzXyBmYWxzZQojIGRlZmF1bHQgY2hh bmdlZCBvbiAxMC8xMS8yMDA0LgpRdWV1ZS9SRUQgc2V0IHF1ZXVlX2luX2J5dGVzXyBmYWxzZQoj IGRlZmF1bHQgY2hhbmdlZCBvbiAxMC8xMS8yMDA0LgpRdWV1ZS9SRUQgc2V0IHFfd2VpZ2h0XyAw LjAwMgpRdWV1ZS9SRUQgc2V0IHRocmVzaF8gNDAKUXVldWUvUkVEIHNldCBtYXh0aHJlc2hfIDgw CgoKCgoKIyBDcmVhdGUgbGlua3MgYmV0d2VlbiBib3R0bGVuZWNrIG5vZGVzCiAgJG5zIGR1cGxl eC1saW5rICRuMiAkbjMgMC41TWIgMW1zIFJFRAogICRucyBxdWV1ZS1saW1pdCAkbjIgJG4zIDEw MAoKCgojIENyZWF0ZSAkTnVtYlNyYyBzb3VyY2Ugbm9kZXMKICBmb3Ige3NldCBqIDF9IHskajw9 JE51bWJTcmN9IHsgaW5jciBqIH0gewogICAgIHNldCBTKCRqKSBbJG5zIG5vZGVdCiAgfQoKCiMg Q3JlYXRlIGEgcmFuZG9tIGdlbmVyYXRvciBmb3Igc3RhcnRpbmcgdGhlIGZ0cCBhbmQKIyBmb3Ig Ym90dGxlbmVjayBsaW5rIGRlbGF5cwogIHNldCBybmcgW25ldyBSTkddCiAgJHJuZyBzZWVkIDIK CgojIHBhcmFtZXRlcnMgZm9yIHJhbmRvbSB2YXJpYWJsZXMgZm9yIGJlZ2VubmluZyBvZiBmdHAg Y29ubmVjdGlvbnMKICBzZXQgUlZzdGFydCBbbmV3IFJhbmRvbVZhcmlhYmxlL1VuaWZvcm1dCiAg JFJWc3RhcnQgc2V0IG1pbl8gMAogICRSVnN0YXJ0IHNldCBtYXhfIDcKICAkUlZzdGFydCB1c2Ut cm5nICRybmcKCgojIERlZmluZSByYW5kb20gc3RhcnRpbmcgdGltZXMgZm9yIGVhY2ggY29ubmVj dGlvbgogIGZvciB7c2V0IGkgMX0geyRpPD0kTnVtYlNyY30geyBpbmNyIGkgfSB7CiAgICAgc2V0 IHN0YXJ0VCgkaSkgIFtleHByIFskUlZzdGFydCB2YWx1ZV1dCiAgICAgc2V0IGRseSgkaSkgMQog ICAgIHB1dHMgInN0YXJ0VCgkaSkgICRzdGFydFQoJGkpIHNlYyIKICAgICBwdXRzICRwYXJhbSAi c3RhcnRUKCRpKSAgJHN0YXJ0VCgkaSkgc2VjIgogIH0KCiMgIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBDcmVhdGUg bGlua3MgYmV0d2VlbiBzb3VyY2UgYW5kIGJvdHRsZW5lY2sKICBmb3Ige3NldCBqIDF9IHskajw9 JE51bWJTcmN9IHsgaW5jciBqIH0gewogICAgICRucyBkdXBsZXgtbGluayAkUygkaikgJG4yIDEw ME1iICRkbHkoJGopbXMgRHJvcFRhaWwKICAgICAjJG5zIHF1ZXVlLWxpbWl0ICRTKCRqKSAkbjIg MjAKICB9CgoKIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIE9yaWVudCB0aGUgbGlua3MKICAkbnMgZHVwbGV4LWxp bmstb3AgJG4yICRuMyBvcmllbnQgcmlnaHQKICAkbnMgZHVwbGV4LWxpbmstb3AgJFMoMSkgJG4y IG9yaWVudCByaWdodC1kb3duCiAgJG5zIGR1cGxleC1saW5rLW9wICRTKDIpICRuMiBvcmllbnQg cmlnaHQKICAkbnMgZHVwbGV4LWxpbmstb3AgJFMoMykgJG4yIG9yaWVudCByaWdodC11cAoKIyAj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIwojIFNldCBRdWV1ZSBTaXplIG9mIChib3R0bGVuZWNrKSBsaW5rIChuMi1uMykg dG8gMTAwCiAjICRucyBxdWV1ZS1saW1pdCAkbjIgJG4zIDEwMAoKIyAjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIENy ZWF0ZSBUQ1AgU291cmNlcwogIGZvciB7c2V0IGogMX0geyRqPD0kTnVtYlNyY30geyBpbmNyIGog fSB7CiAgICAgc2V0IHRjcF9zcmMoJGopIFtuZXcgQWdlbnQvVENQXQogICAgICR0Y3Bfc3JjKCRq KSBzZXQgd2luZG93XyA4MDAwCiAgfQoKIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIENvbG9yIHRoZSBwYWNrZXRz CiAgJHRjcF9zcmMoMSkgc2V0IGZpZF8gMQogICRucyBjb2xvciAxIHJlZAogICR0Y3Bfc3JjKDIp IHNldCBmaWRfIDIKICAkbnMgY29sb3IgMiB5ZWxsb3cKICAkdGNwX3NyYygzKSBzZXQgZmlkXyAz CiAgJG5zIGNvbG9yIDMgYmx1ZQoKIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIENyZWF0ZSBUQ1AgRGVzdGluYXRp b25zCiAgZm9yIHtzZXQgaiAxfSB7JGo8PSROdW1iU3JjfSB7IGluY3IgaiB9IHsKICAgICBzZXQg dGNwX3NuaygkaikgW25ldyBBZ2VudC9UQ1BTaW5rXQogIH0KCiMgIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBEZWZp bmUgY29ubmVjdGlvbnMgYmV0d2VlbiBUQ1Agc3JjJ3MgYW5kIHNpbmtzCiAgZm9yIHtzZXQgaiAx fSB7JGo8PSROdW1iU3JjfSB7IGluY3IgaiB9IHsKICAgICAkbnMgYXR0YWNoLWFnZW50ICRTKCRq KSAkdGNwX3NyYygkaikKICAgICAkbnMgYXR0YWNoLWFnZW50ICRuMyAkdGNwX3NuaygkaikKICAg ICAkbnMgY29ubmVjdCAkdGNwX3NyYygkaikgJHRjcF9zbmsoJGopCiAgfQoKIyAjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IwojIEZ1cnRoZXIgcGFyYW1ldHJpc2F0aW9uIG9mIFRDUCBzb3VyY2VzCiAgZm9yIHtzZXQgaiAx fSB7JGo8PSROdW1iU3JjfSB7IGluY3IgaiB9IHsKICAgICAkdGNwX3NyYygkaikgc2V0IHBhY2tl dFNpemVfIDU1MgogIH0KCgojIENyZWF0ZSBGVFAgc291cmNlcwogIGZvciB7c2V0IGogMX0geyRq PD0kTnVtYlNyY30geyBpbmNyIGogfSB7CiAgICAgc2V0IGZ0cCgkaikgWyR0Y3Bfc3JjKCRqKSBh dHRhY2gtc291cmNlIEZUUF0KICB9CgojIFNjaGVkdWxlIGV2ZW50cyBmb3IgdGhlIEZUUCBhZ2Vu dHM6CiAgZm9yIHtzZXQgaSAxfSB7JGk8PSROdW1iU3JjfSB7IGluY3IgaSB9IHsKICAgICAkbnMg YXQgJHN0YXJ0VCgkaSkgIiRmdHAoJGkpIHN0YXJ0IgogICAgICRucyBhdCAkU2ltRHVyYXRpb24g IiRmdHAoJGkpIHN0b3AiCiAgfQoKCiMgcGxvdFdpbmRvdyh0Y3BTb3VyY2UgZmlsZSBrKTogV3Jp dGUgQ1dORCBvZiBrIHRjcFNvdXJjZXMgaW4gZmlsZQogIHByb2MgcGxvdFdpbmRvdyB7dGNwU291 cmNlIGZpbGV9IHsKICAgICBnbG9iYWwgbnMKCiAgICAgc2V0IHRpbWUgMC4xCiAgICAgc2V0IG5v dyBbJG5zIG5vd10KICAgICBzZXQgY3duZCBbJHRjcFNvdXJjZSBzZXQgY3duZF9dCiAgICAgc2V0 IHduZCBbJHRjcFNvdXJjZSBzZXQgd2luZG93X10KICAgICBwdXRzICRmaWxlICIkbm93ICRjd25k IgogICAgICRucyBhdCBbZXhwciAkbm93KyR0aW1lXSAicGxvdFdpbmRvdyAkdGNwU291cmNlICRm aWxlIgogIH0KCgojIFN0YXJ0IHBsb3RXaW5kb3coKSBmb3IgYWxsIHRjcCBzb3VyY2VzCiAgZm9y IHtzZXQgaiAxfSB7JGo8PSROdW1iU3JjfSB7IGluY3IgaiB9IHsKICAgICAkbnMgYXQgMC4xICJw bG90V2luZG93ICR0Y3Bfc3JjKCRqKSAkd2luZG93VnNUaW1lKCRqKSIKICB9CgoKIyBNb25pdG9y IGF2ZyBxdWV1ZSBsZW5ndGggb2YgbGluayAoJG4yLCRuMykKICBzZXQgcWZpbGUgWyRucyBtb25p dG9yLXF1ZXVlICRuMiAkbjMgIFtvcGVuIHF1ZXVlLnRyIHddIDAuMDVdCiAgWyRucyBsaW5rICRu MiAkbjNdIHF1ZXVlLXNhbXBsZS10aW1lb3V0OwoKCgojIFNjaGVkdWxlIHNpbXVsYXRpb24gZW5k CiAgJG5zIGF0IFtleHByICRTaW1EdXJhdGlvbl0gImZpbmlzaCIKCgojIHJ1bgogICRucyBydW4K IyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIwoKT24gVGh1LCBGZWIgNSwgMjAxNSBhdCAxMjoyOCBQTSwgYW5qYWxpIGNo YXdsYSA8YW5qYWxpYWNoYXdsYTAxM0BnbWFpbC5jb20+Cndyb3RlOgoKPiBIaSBhbGwKPiBpIGFt IHNoYXJpbmcgbXkgIi50Y2wiIGZpbGVzIHdoaWNoIHNob3dzIGhvdyBSRUQgc29sdmVzIGdsb2Jh bAo+IHN5bmNocm9uaXphdGlvbiBwcm9ibGVtIG9mIERyb3BUYWlsIChpLmUuIG11dGlwbGUgY29u bmVjdGlvbnMgcmVkdWNpbmcKPiB0aGVpciB3aW5kb3cgYXQgdGhlIHNhbWUgdGltZSkuCj4gcGxl YXNlIHRlc3Qgd2l0aCBzYW1lIGFuZCB0ZWxsIG1lIHdoZXRoZXIgcmVzdWx0cyBhcmUgb2sgb3Ig bm90ID8/Pwo+IG9yIGFueSBvdGhlciBpbXByb3ZlbWVudCB3aGljaCBuZWVkcyB0byBiZSAgZG9u ZSBmdXJ0aGVyLgo+IFRoYW5rcwo+Cj4gT24gVHVlLCBKYW4gNiwgMjAxNSBhdCAxMjo1MSBQTSwg YW5qYWxpIGNoYXdsYSA8YW5qYWxpYWNoYXdsYTAxM0BnbWFpbC5jb20KPiA+IHdyb3RlOgo+Cj4+ IFRoYW5rIHlvdSBhbGwgZm9yIHlvdXIgdmFsdWFibGUgc3VnZ2VzdGlvbnMuCj4+IEBHeXV5ZW9u ZyAsIGxpbmsgdG9sZCBieSB5b3UgY29udGFpbnMgc29tZSB1c2VmdWwgcG9pbnRzLgo+PiBAVG9t IEhlbmRlcnNvbiwgaSBmb3VuZCBodHRwOi8vd3d3LmljaXIub3JnL2Zsb3lkL3JlZC5odG1sI25z IHZlcnkKPj4gdXNlZnVsLgo+PiBGb3Igc3VyZSBpIHdpbGwgdHJ5IHdpdGggdGhlc2Ugc2NyaXB0 cy5NYXkgYiBpIGNhbiBnZXQgc29tZSB1c2VmdWwKPj4gcmVzdWx0cyAuCj4+IFRoYW5rcyBhIGxv dC4KPj4KPj4KPj4KPj4gT24gTW9uLCBKYW4gNSwgMjAxNSBhdCAzOjIxIEFNLCBEZXRsZWYgQm9z YXUgPGRldGxlZi5ib3NhdUB3ZWIuZGU+IHdyb3RlOgo+Pgo+Pj4gSSdtIG5vdCBxdWl0ZSBzdXJl IHdoeSB5b3Ugc2VlIFJFRCBhbmQgRHJvcFRhaWwgYWx0ZXJuYXRpdmVseSBhbmQgd2FudAo+Pj4g dG8gdXNlIE9OTFkgUkVELgo+Pj4KPj4+IERldGxlZgo+Pj4KPj4+IEFtIDAzLjAxLjIwMTUgdW0g MDc6MzEgc2NocmllYiBhbmphbGkgY2hhd2xhOgo+Pj4gPiBIaQo+Pj4gPiBpIHdhbnQgdG8gcHJv dmUgdGhhdCBSRUQgaXMgYmV0dGVyIHRoYW4gRHJvcFRhaWwgdXNpbmcgTlMyLiBpIGhhdmUKPj4+ IGZvbGxvd2VkCj4+PiA+ICJSYW5kb20gRWFybHkgRGV0ZWN0aW9uIEdhdGV3YXlzIGZvciBDb25n ZXN0aW9uIEF2b2lkYW5jZSwxOTkzICIgcGFwZXIKPj4+ID4gYWxzby4gRm9yIHNob3dpbmcgUkVE IHNvbHZlcyBnbG9iYWwgc3luY2hyb25pemF0aW9uIHByb2JsZW0sYmlhcyBhZ2FpbnQKPj4+ID4g YnVyc3R5IHRyYWZmaWMsCj4+PiA+IGkgdHJpZWQgYSBsb3QgdXNpbmcgdGNsIHNjcmlwdCBtYWtp bmcgZGlmZmVyZW50IHNjZW5hcmlvcy4gQnV0IG5vCj4+PiB1c2VmdWwKPj4+ID4gcmVzdWx0cyBh dCBhbGwuCj4+PiA+IEluIG15IGNhc2UgcGFja2V0IGxvc3MgaXMgbW9yZSBpbiBSRUQgdGhhbiAg RHJvcFRhaWwuCj4+PiA+ICBzb21lbm9uZSBwbGVhc2UgaGVscAo+Pj4gPiBfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+Pj4gPiBlbmQyZW5kLWludGVyZXN0 IG1haWxpbmcgbGlzdAo+Pj4gPiBlbmQyZW5kLWludGVyZXN0QHBvc3RlbC5vcmcKPj4+ID4gaHR0 cDovL21haWxtYW4ucG9zdGVsLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2VuZDJlbmQtaW50ZXJlc3QK Pj4+ID4gQ29udGFjdCBsaXN0LW93bmVyQHBvc3RlbC5vcmcgZm9yIGFzc2lzdGFuY2UuCj4+Pgo+ Pj4KPj4+IC0tCj4+PiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPj4+IERldGxlZiBCb3NhdQo+Pj4gR2FsaWxlaXN0cmHD n2UgMzAKPj4+IDcwNTY1IFN0dXR0Z2FydCAgICAgICAgICAgICAgICAgICAgICAgICAgICBUZWwu OiAgICs0OSA3MTEgNTIwODAzMQo+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG1vYmlsZTogKzQ5IDE3MiA2ODE5OTM3Cj4+PiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc2t5cGU6ICAgICBkZXRsZWYuYm9zYXUKPj4+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJQ1E6ICAgICAgICAgIDU2NjEy OTY3Mwo+Pj4gZGV0bGVmLmJvc2F1QHdlYi5kZSAgICAgICAgICAgICAgICAgICAgIGh0dHA6Ly93 d3cuZGV0bGVmLWJvc2F1LmRlCj4+Pgo+Pj4KPj4KPgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwplbmQyZW5kLWludGVyZXN0IG1haWxpbmcgbGlzdAplbmQy ZW5kLWludGVyZXN0QHBvc3RlbC5vcmcKaHR0cDovL21haWxtYW4ucG9zdGVsLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2VuZDJlbmQtaW50ZXJlc3QKQ29udGFjdCBsaXN0LW93bmVyQHBvc3RlbC5vcmcg Zm9yIGFzc2lzdGFuY2UuCg==