<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>33407</bug_id>
          
          <creation_ts>2010-01-08 16:07:28 -0800</creation_ts>
          <short_desc>Add layout test for maintaining referrer during redirect</short_desc>
          <delta_ts>2010-01-11 09:30:37 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Nate Chapin">japhet</reporter>
          <assigned_to name="Nate Chapin">japhet</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>178861</commentid>
    <comment_count>0</comment_count>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2010-01-08 16:07:28 -0800</bug_when>
    <thetext>Original bug: http://code.google.com/p/chromium/issues/detail?id=7357
Fixed in Chromium by: http://trac.webkit.org/changeset/52027 and http://src.chromium.org/viewvc/chrome?view=rev&amp;revision=35379

This bug isn&apos;t covered by any layout test, and I think it&apos;s a reasonable have a test to ensure document.referrer is properly maintained during a redirect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>178862</commentid>
    <comment_count>1</comment_count>
      <attachid>46172</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2010-01-08 16:12:01 -0800</bug_when>
    <thetext>Created attachment 46172
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>178863</commentid>
    <comment_count>2</comment_count>
      <attachid>46173</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2010-01-08 16:14:59 -0800</bug_when>
    <thetext>Created attachment 46173
Attaching the correct patch this time</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>178865</commentid>
    <comment_count>3</comment_count>
      <attachid>46173</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2010-01-08 16:17:32 -0800</bug_when>
    <thetext>Comment on attachment 46173
Attaching the correct patch this time

layout tests are good for you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179392</commentid>
    <comment_count>4</comment_count>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2010-01-11 09:30:37 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/53081</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46172</attachid>
            <date>2010-01-08 16:12:01 -0800</date>
            <delta_ts>2010-01-08 16:14:59 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>28091</size>
            <attacher name="Nate Chapin">japhet</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MzAwNCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNTcgQEAKKzIwMTAtMDEtMDggIE5hdGUgQ2hhcGluICA8amFwaGV0QGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
ZiBhbiBpbWFnZSBsb2FkIGlzIHN0YXJ0ZWQgZHVyaW5nIGFuIHVubG9hZCBvciBiZWZvcmV1bmxv
YWQgZXZlbnQsIHJ1biBpdAorICAgICAgICBhc3luY2hyb25vdXNseSAoYW5kIGFsbG93IGl0IHRv
IG91dGxpdmUgaXRzIHBhZ2UpIHNvIG5hdmlnYXRpb24gY2FuIGNvbnRpbnVlIAorICAgICAgICB3
aGlsZSB0aGUgbG9hZCBjb21wbGV0ZXMuICBPcmlnaW5hbGx5IGxhbmRlZCBhcyBodHRwOi8vdHJh
Yy53ZWJraXQub3JnL2NoYW5nZXNldC81MjQ0Ni4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzIzODkKKworICAgICAgICBUZXN0czogaHR0cC90ZXN0
cy9uYXZpZ2F0aW9uL2ltYWdlLWxvYWQtaW4tYmVmb3JldW5sb2FkLWhhbmRsZXIuaHRtbAorICAg
ICAgICAgICAgICAgaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2ltYWdlLWxvYWQtaW4tdW5sb2FkLWhh
bmRsZXIuaHRtbAorCisgICAgICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpzY2hlZHVsZUFyY2hpdmVMb2FkKToKKyAgICAg
ICAgKiBsb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6bG9hZFJlcXVlc3QpOgorICAgICAgICAqIGxv
YWRlci9GcmFtZUxvYWRlci5jcHA6IFJlbmFtZSBtX3VubG9hZEV2ZW50QmVpbmdEaXNwYXRjaGVk
IHRvIG1faXNEaXNwYXRjaGluZ1VubG9hZEV2ZW50LgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVM
b2FkZXI6OkZyYW1lTG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpzdG9w
TG9hZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6bG9hZFVSTCk6CisgICAg
ICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6bG9hZFdpdGhEb2N1bWVudExvYWRlcik6CisgICAg
ICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6c3RvcEFsbExvYWRlcnMpOgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWVMb2FkZXI6OnNldERvY3VtZW50TG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lTG9hZGVyOjpjaGVja0xvYWRDb21wbGV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZUxvYWRlcjo6Y29udGludWVMb2FkQWZ0ZXJOYXZpZ2F0aW9uUG9saWN5KTogU2V0IG1faXNEaXNw
YXRjaGluZ0JlZm9yZVVubG9hZEV2ZW50LgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6
OnBhZ2VIaWRkZW4pOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5oOgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWVMb2FkZXI6OmlzRGlzcGF0Y2hpbmdVbmxvYWRGYW1pbHlFdmVudCk6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmluY3JlbWVudE91dGxpdmVQYWdl
UmVxdWVzdENvdW50KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpkZWNyZW1lbnRP
dXRsaXZlUGFnZVJlcXVlc3RDb3VudCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6
b3V0bGl2ZVBhZ2VSZXF1ZXN0Q291bnQpOgorICAgICAgICAqIGxvYWRlci9SZXF1ZXN0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlcXVlc3Q6OlJlcXVlc3QpOiBBZGQgT3V0bGl2ZVBhZ2VQb2xp
Y3kgdG8gY29uc3RydWN0b3IgcGFyYW1ldGVycworICAgICAgICAoV2ViQ29yZTo6UmVxdWVzdDo6
flJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVxdWVzdDo6ZnJhbWUpOgorICAgICAgICAq
IGxvYWRlci9SZXF1ZXN0Lmg6CisgICAgICAgIChXZWJDb3JlOjopOgorICAgICAgICAoV2ViQ29y
ZTo6UmVxdWVzdDo6Y2FuT3V0bGl2ZVBhZ2UpOiBBZGRlZC4KKyAgICAgICAgKiBsb2FkZXIvUmVz
b3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6OlJlc291
cmNlTG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJl
cXVlc3QpOgorICAgICAgICAqIGxvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTdWJyZXNvdXJjZUxvYWRlcjo6Y3JlYXRlKToKKyAgICAgICAgKiBsb2FkZXIv
U3VicmVzb3VyY2VMb2FkZXIuaDoKKyAgICAgICAgKiBsb2FkZXIvbG9hZGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkxvYWRlcjo6bG9hZCk6IEFkZCBPdXRsaXZlUGFnZVBvbGljeSB0byBSZXF1
ZXN0IGNvbnN0cnVjdG9yIGNhbGwsCisgICAgICAgICAgICAgZW5zdXJlIHJlcXVlc3RzIHRoYXQg
c2hvdWxkIG91dGxpdmUgcGFnZSBhcmUgZG9uZSBhc3luY2hyb25vdXNseS4KKyAgICAgICAgKFdl
YkNvcmU6OkxvYWRlcjo6Y2FuY2VsUmVxdWVzdHMpOiBSZW1vdmUgZW5kaW5nIEFTU0VSVCBzaW5j
ZSBpdCB3aWxsIG5vdyBiZSBoYXJkIHRvIHByZWRpY3QgaG93CisgICAgICAgICAgICAgbWFueSBy
ZXF1ZXN0cyBtaWdodCBwb3NzaWJseSBvdXRsaXZlIGEgY2FuY2VsIGluIGV2ZXJ5IGNhc2UuCisg
ICAgICAgIChXZWJDb3JlOjpMb2FkZXI6Okhvc3Q6OnNlcnZlUGVuZGluZ1JlcXVlc3RzKTogVXNl
IHRoZSBjb3JyZWN0IGZyYW1lIGluIHRoZSBjYXNlIG9mIGEgcmVxdWVzdCBvdXRsaXZpbmcgaXRz
IHBhZ2UuCisgICAgICAgIChXZWJDb3JlOjpMb2FkZXI6Okhvc3Q6OmNhbmNlbFBlbmRpbmdSZXF1
ZXN0cyk6IEVuc3VyZSB3ZSBkb24ndCBjYW5jZWwgcmVxdWVzdCB0aGF0IHNob3VsZCBvdXRsaXZl
IHRoZWlyIHBhZ2UuCisgICAgICAgIChXZWJDb3JlOjpMb2FkZXI6Okhvc3Q6OmNhbmNlbFJlcXVl
c3RzKTogRW5zdXJlIHdlIGRvbid0IGNhbmNlbCByZXF1ZXN0IHRoYXQgc2hvdWxkIG91dGxpdmUg
dGhlaXIgcGFnZS4KKwogMjAxMC0wMS0wOCAgWXV6byBGdWppc2hpbWEgIDx5dXpvQGdvb2dsZS5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCkluZGV4OiBXZWJDb3JlL2xv
YWRlci9GcmFtZUxvYWRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9sb2FkZXIvRnJhbWVM
b2FkZXIuY3BwCShyZXZpc2lvbiA1MzAwMykKKysrIFdlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTgwLDcgKzE4MCw5IEBACiAgICAgLCBtX2lzRXhlY3V0
aW5nSmF2YVNjcmlwdEZvcm1BY3Rpb24oZmFsc2UpCiAgICAgLCBtX2RpZENhbGxJbXBsaWNpdENs
b3NlKGZhbHNlKQogICAgICwgbV93YXNVbmxvYWRFdmVudEVtaXR0ZWQoZmFsc2UpCi0gICAgLCBt
X3VubG9hZEV2ZW50QmVpbmdEaXNwYXRjaGVkKGZhbHNlKQorICAgICwgbV9pc0Rpc3BhdGNoaW5n
QmVmb3JlVW5sb2FkRXZlbnQoZmFsc2UpCisgICAgLCBtX2lzRGlzcGF0Y2hpbmdVbmxvYWRFdmVu
dChmYWxzZSkKKyAgICAsIG1fb3V0bGl2ZVBhZ2VSZXF1ZXN0Q291bnQoMCkKICAgICAsIG1faXND
b21wbGV0ZShmYWxzZSkKICAgICAsIG1faXNMb2FkaW5nTWFpblJlc291cmNlKGZhbHNlKQogICAg
ICwgbV9uZWVkc0NsZWFyKGZhbHNlKQpAQCAtNTE3LDE0ICs1MTksMTYgQEAKICAgICAgICAgICAg
ICAgICBOb2RlKiBjdXJyZW50Rm9jdXNlZE5vZGUgPSBtX2ZyYW1lLT5kb2N1bWVudCgpLT5mb2N1
c2VkTm9kZSgpOwogICAgICAgICAgICAgICAgIGlmIChjdXJyZW50Rm9jdXNlZE5vZGUpCiAgICAg
ICAgICAgICAgICAgICAgIGN1cnJlbnRGb2N1c2VkTm9kZS0+YWJvdXRUb1VubG9hZCgpOwotICAg
ICAgICAgICAgICAgIG1fdW5sb2FkRXZlbnRCZWluZ0Rpc3BhdGNoZWQgPSB0cnVlOworICAgICAg
ICAgICAgICAgIEFTU0VSVCghbV9pc0Rpc3BhdGNoaW5nVW5sb2FkRXZlbnQpOworICAgICAgICAg
ICAgICAgIG1faXNEaXNwYXRjaGluZ1VubG9hZEV2ZW50ID0gdHJ1ZTsKICAgICAgICAgICAgICAg
ICBpZiAobV9mcmFtZS0+ZG9tV2luZG93KCkpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKHVu
bG9hZEV2ZW50UG9saWN5ID09IFVubG9hZEV2ZW50UG9saWN5VW5sb2FkQW5kUGFnZUhpZGUpCiAg
ICAgICAgICAgICAgICAgICAgICAgICBtX2ZyYW1lLT5kb21XaW5kb3coKS0+ZGlzcGF0Y2hFdmVu
dChQYWdlVHJhbnNpdGlvbkV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnBhZ2VoaWRlRXZlbnQs
IG1fZnJhbWUtPmRvY3VtZW50KCktPmluUGFnZUNhY2hlKCkpLCBtX2ZyYW1lLT5kb2N1bWVudCgp
KTsKICAgICAgICAgICAgICAgICAgICAgaWYgKCFtX2ZyYW1lLT5kb2N1bWVudCgpLT5pblBhZ2VD
YWNoZSgpKQogICAgICAgICAgICAgICAgICAgICAgICAgbV9mcmFtZS0+ZG9tV2luZG93KCktPmRp
c3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkudW5sb2FkRXZlbnQsIGZhbHNl
LCBmYWxzZSksIG1fZnJhbWUtPmRvbVdpbmRvdygpLT5kb2N1bWVudCgpKTsKICAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgbV91bmxvYWRFdmVudEJlaW5nRGlzcGF0Y2hlZCA9IGZh
bHNlOworICAgICAgICAgICAgICAgIEFTU0VSVChtX2lzRGlzcGF0Y2hpbmdVbmxvYWRFdmVudCk7
CisgICAgICAgICAgICAgICAgbV9pc0Rpc3BhdGNoaW5nVW5sb2FkRXZlbnQgPSBmYWxzZTsKICAg
ICAgICAgICAgICAgICBpZiAobV9mcmFtZS0+ZG9jdW1lbnQoKSkKICAgICAgICAgICAgICAgICAg
ICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+dXBkYXRlU3R5bGVJZk5lZWRlZCgpOwogICAgICAgICAg
ICAgICAgIG1fd2FzVW5sb2FkRXZlbnRFbWl0dGVkID0gdHJ1ZTsKQEAgLTE5MDgsNyArMTkxMiw3
IEBACiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBpZiAobV91bmxvYWRFdmVudEJlaW5n
RGlzcGF0Y2hlZCkKKyAgICBpZiAobV9pc0Rpc3BhdGNoaW5nVW5sb2FkRXZlbnQpCiAgICAgICAg
IHJldHVybjsKIAogICAgIE5hdmlnYXRpb25BY3Rpb24gYWN0aW9uKG5ld1VSTCwgbmV3TG9hZFR5
cGUsIGlzRm9ybVN1Ym1pc3Npb24sIGV2ZW50KTsKQEAgLTIwMzQsNyArMjAzOCw3IEBACiAKICAg
ICBBU1NFUlQobV9mcmFtZS0+dmlldygpKTsKIAotICAgIGlmIChtX3VubG9hZEV2ZW50QmVpbmdE
aXNwYXRjaGVkKQorICAgIGlmIChtX2lzRGlzcGF0Y2hpbmdVbmxvYWRFdmVudCkKICAgICAgICAg
cmV0dXJuOwogCiAgICAgcG9saWN5Q2hlY2tlcigpLT5zZXRMb2FkVHlwZSh0eXBlKTsKQEAgLTIy
NzYsNyArMjI4MCw3IEBACiB2b2lkIEZyYW1lTG9hZGVyOjpzdG9wQWxsTG9hZGVycyhEYXRhYmFz
ZVBvbGljeSBkYXRhYmFzZVBvbGljeSkKIHsKICAgICBBU1NFUlQoIW1fZnJhbWUtPmRvY3VtZW50
KCkgfHwgIW1fZnJhbWUtPmRvY3VtZW50KCktPmluUGFnZUNhY2hlKCkpOwotICAgIGlmIChtX3Vu
bG9hZEV2ZW50QmVpbmdEaXNwYXRjaGVkKQorICAgIGlmIChtX2lzRGlzcGF0Y2hpbmdVbmxvYWRF
dmVudCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgLy8gSWYgdGhpcyBtZXRob2QgaXMgY2FsbGVk
IGZyb20gd2l0aGluIHRoaXMgbWV0aG9kLCBpbmZpbml0ZSByZWN1cnNpb24gY2FuIG9jY3VyICgz
NDQyMjE4KS4gQXZvaWQgdGhpcy4KQEAgLTIzMzMsNyArMjMzNyw3IEBACiAKIHZvaWQgRnJhbWVM
b2FkZXI6OnNldERvY3VtZW50TG9hZGVyKERvY3VtZW50TG9hZGVyKiBsb2FkZXIpCiB7Ci0gICAg
aWYgKCFsb2FkZXIgJiYgIW1fZG9jdW1lbnRMb2FkZXIpCisgICAgaWYgKCFsb2FkZXIgJiYgKCFt
X2RvY3VtZW50TG9hZGVyIHx8IG1fb3V0bGl2ZVBhZ2VSZXF1ZXN0Q291bnQpKQogICAgICAgICBy
ZXR1cm47CiAgICAgCiAgICAgQVNTRVJUKGxvYWRlciAhPSBtX2RvY3VtZW50TG9hZGVyKTsKQEAg
LTMwODcsOCArMzA5MSw2IEBACiAvLyBDYWxsZWQgZXZlcnkgdGltZSBhIHJlc291cmNlIGlzIGNv
bXBsZXRlbHkgbG9hZGVkLCBvciBhbiBlcnJvciBpcyByZWNlaXZlZC4KIHZvaWQgRnJhbWVMb2Fk
ZXI6OmNoZWNrTG9hZENvbXBsZXRlKCkKIHsKLSAgICBBU1NFUlQobV9jbGllbnQtPmhhc1dlYlZp
ZXcoKSk7Ci0gICAgCiAgICAgbV9zaG91bGRDYWxsQ2hlY2tMb2FkQ29tcGxldGUgPSBmYWxzZTsK
IAogICAgIC8vIEZJWE1FOiBBbHdheXMgdHJhdmVyc2luZyB0aGUgZW50aXJlIGZyYW1lIHRyZWUg
aXMgYSBiaXQgaW5lZmZpY2llbnQsIGJ1dCAKQEAgLTM0MzMsNyArMzQzNSwxMSBAQAogICAgIC8v
ICAgICAgIGlzIHRoZSB1c2VyIHJlc3BvbmRpbmcgQ2FuY2VsIHRvIHRoZSBmb3JtIHJlcG9zdCBu
YWcgc2hlZXQuCiAgICAgLy8gICAgMikgVXNlciByZXNwb25kZWQgQ2FuY2VsIHRvIGFuIGFsZXJ0
IHBvcHBlZCB1cCBieSB0aGUgYmVmb3JlIHVubG9hZCBldmVudCBoYW5kbGVyLgogICAgIC8vIFRo
ZSAiYmVmb3JlIHVubG9hZCIgZXZlbnQgaGFuZGxlciBydW5zIG9ubHkgZm9yIHRoZSBtYWluIGZy
YW1lLgorICAgIEFTU0VSVCghbV9pc0Rpc3BhdGNoaW5nQmVmb3JlVW5sb2FkRXZlbnQpOworICAg
IG1faXNEaXNwYXRjaGluZ0JlZm9yZVVubG9hZEV2ZW50ID0gdHJ1ZTsKICAgICBib29sIGNhbkNv
bnRpbnVlID0gc2hvdWxkQ29udGludWUgJiYgKCFpc0xvYWRpbmdNYWluRnJhbWUoKSB8fCBtX2Zy
YW1lLT5zaG91bGRDbG9zZSgpKTsKKyAgICBBU1NFUlQobV9pc0Rpc3BhdGNoaW5nQmVmb3JlVW5s
b2FkRXZlbnQpOworICAgIG1faXNEaXNwYXRjaGluZ0JlZm9yZVVubG9hZEV2ZW50ID0gZmFsc2U7
CiAKICAgICBpZiAoIWNhbkNvbnRpbnVlKSB7CiAgICAgICAgIC8vIElmIHdlIHdlcmUgd2FpdGlu
ZyBmb3IgYSBxdWljayByZWRpcmVjdCwgYnV0IHRoZSBwb2xpY3kgZGVsZWdhdGUgZGVjaWRlZCB0
byBpZ25vcmUgaXQsIHRoZW4gd2UgCkBAIC0zNjI3LDEwICszNjMzLDEyIEBACiAKIHZvaWQgRnJh
bWVMb2FkZXI6OnBhZ2VIaWRkZW4oKQogewotICAgIG1fdW5sb2FkRXZlbnRCZWluZ0Rpc3BhdGNo
ZWQgPSB0cnVlOworICAgIEFTU0VSVCghbV9pc0Rpc3BhdGNoaW5nVW5sb2FkRXZlbnQpOworICAg
IG1faXNEaXNwYXRjaGluZ1VubG9hZEV2ZW50ID0gdHJ1ZTsKICAgICBpZiAobV9mcmFtZS0+ZG9t
V2luZG93KCkpCiAgICAgICAgIG1fZnJhbWUtPmRvbVdpbmRvdygpLT5kaXNwYXRjaEV2ZW50KFBh
Z2VUcmFuc2l0aW9uRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkucGFnZWhpZGVFdmVudCwgdHJ1
ZSksIG1fZnJhbWUtPmRvY3VtZW50KCkpOwotICAgIG1fdW5sb2FkRXZlbnRCZWluZ0Rpc3BhdGNo
ZWQgPSBmYWxzZTsKKyAgICBBU1NFUlQobV9pc0Rpc3BhdGNoaW5nVW5sb2FkRXZlbnQpOworICAg
IG1faXNEaXNwYXRjaGluZ1VubG9hZEV2ZW50ID0gZmFsc2U7CiAKICAgICAvLyBTZW5kIHBhZ2Vo
aWRlIGV2ZW50IGZvciBzdWJmcmFtZXMgYXMgd2VsbAogICAgIGZvciAoRnJhbWUqIGNoaWxkID0g
bV9mcmFtZS0+dHJlZSgpLT5maXJzdENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT50cmVl
KCktPm5leHRTaWJsaW5nKCkpCkluZGV4OiBXZWJDb3JlL2xvYWRlci9SZXF1ZXN0LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9sb2FkZXIvUmVxdWVzdC5oCShyZXZpc2lvbiA1MzAwMykKKysrIFdl
YkNvcmUvbG9hZGVyL1JlcXVlc3QuaAkod29ya2luZyBjb3B5KQpAQCAtMjQsMTYgKzI0LDI1IEBA
CiAjZGVmaW5lIFJlcXVlc3RfaAogCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJUeXBlcy5oIgorI2lu
Y2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIENhY2hlZFJlc291cmNlOwogICAgIGNsYXNzIERvY0xv
YWRlcjsKKyAgICBjbGFzcyBEb2N1bWVudDsKKyAgICBjbGFzcyBEb2N1bWVudExvYWRlcjsKKyAg
ICBjbGFzcyBGcmFtZTsKKyAgICAKKyAgICBlbnVtIE91dGxpdmVQYWdlUG9saWN5IHsKKyAgICAg
ICAgRG9Ob3RPdXRsaXZlUGFnZSwKKyAgICAgICAgT3V0bGl2ZVBhZ2UKKyAgICB9OwogCiAgICAg
Y2xhc3MgUmVxdWVzdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiAgICAgcHVibGljOgotICAgICAg
ICBSZXF1ZXN0KERvY0xvYWRlciosIENhY2hlZFJlc291cmNlKiwgYm9vbCBpbmNyZW1lbnRhbCwg
U2VjdXJpdHlDaGVja1BvbGljeSwgYm9vbCBzZW5kUmVzb3VyY2VMb2FkQ2FsbGJhY2tzKTsKKyAg
ICAgICAgUmVxdWVzdChEb2NMb2FkZXIqLCBDYWNoZWRSZXNvdXJjZSosIGJvb2wgaW5jcmVtZW50
YWwsIFNlY3VyaXR5Q2hlY2tQb2xpY3ksIE91dGxpdmVQYWdlUG9saWN5LCBib29sIHNlbmRSZXNv
dXJjZUxvYWRDYWxsYmFja3MpOwogICAgICAgICB+UmVxdWVzdCgpOwogICAgICAgICAKICAgICAg
ICAgVmVjdG9yPGNoYXI+JiBidWZmZXIoKSB7IHJldHVybiBtX2J1ZmZlcjsgfQpAQCAtNDksNiAr
NTgsOSBAQAogICAgICAgICBTZWN1cml0eUNoZWNrUG9saWN5IHNob3VsZERvU2VjdXJpdHlDaGVj
aygpIGNvbnN0IHsgcmV0dXJuIG1fc2hvdWxkRG9TZWN1cml0eUNoZWNrOyB9CiAgICAgICAgIGJv
b2wgc2VuZFJlc291cmNlTG9hZENhbGxiYWNrcygpIGNvbnN0IHsgcmV0dXJuIG1fc2VuZFJlc291
cmNlTG9hZENhbGxiYWNrczsgfQogICAgICAgICAKKyAgICAgICAgT3V0bGl2ZVBhZ2VQb2xpY3kg
Y2FuT3V0bGl2ZVBhZ2UoKSBjb25zdCB7IHJldHVybiBtX2ZyYW1lRm9yUmVxdWVzdFRoYXRDYW5P
dXRsaXZlUGFnZSA/IE91dGxpdmVQYWdlIDogRG9Ob3RPdXRsaXZlUGFnZTsgfQorICAgICAgICBG
cmFtZSogZnJhbWUoKSBjb25zdDsKKyAgICAgICAgCiAgICAgcHJpdmF0ZToKICAgICAgICAgVmVj
dG9yPGNoYXI+IG1fYnVmZmVyOwogICAgICAgICBDYWNoZWRSZXNvdXJjZSogbV9vYmplY3Q7CkBA
IC01Nyw2ICs2OSw5IEBACiAgICAgICAgIGJvb2wgbV9tdWx0aXBhcnQ7CiAgICAgICAgIFNlY3Vy
aXR5Q2hlY2tQb2xpY3kgbV9zaG91bGREb1NlY3VyaXR5Q2hlY2s7CiAgICAgICAgIGJvb2wgbV9z
ZW5kUmVzb3VyY2VMb2FkQ2FsbGJhY2tzOworICAgICAgICBSZWZQdHI8RnJhbWU+IG1fZnJhbWVG
b3JSZXF1ZXN0VGhhdENhbk91dGxpdmVQYWdlOworICAgICAgICBSZWZQdHI8RG9jdW1lbnQ+IG1f
ZG9jdW1lbnRGb3JSZXF1ZXN0VGhhdENhbk91dGxpdmVQYWdlOworICAgICAgICBSZWZQdHI8RG9j
dW1lbnRMb2FkZXI+IG1fZG9jdW1lbnRMb2FkZXJGb3JSZXF1ZXN0VGhhdENhbk91dGxpdmVQYWdl
OwogICAgIH07CiAKIH0gLy9uYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9sb2FkZXIv
UmVzb3VyY2VMb2FkZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbG9hZGVyL1Jlc291cmNl
TG9hZGVyLmNwcAkocmV2aXNpb24gNTMwMDMpCisrKyBXZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxv
YWRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY0LDcgKzY0LDcgQEAKICAgICAsIG1fc2VuZFJl
c291cmNlTG9hZENhbGxiYWNrcyhzZW5kUmVzb3VyY2VMb2FkQ2FsbGJhY2tzKQogICAgICwgbV9z
aG91bGRDb250ZW50U25pZmYoc2hvdWxkQ29udGVudFNuaWZmKQogICAgICwgbV9zaG91bGRCdWZm
ZXJEYXRhKHRydWUpCi0gICAgLCBtX2RlZmVyc0xvYWRpbmcoZnJhbWUtPnBhZ2UoKS0+ZGVmZXJz
TG9hZGluZygpKQorICAgICwgbV9kZWZlcnNMb2FkaW5nKGZyYW1lLT5wYWdlKCkgPyBmcmFtZS0+
cGFnZSgpLT5kZWZlcnNMb2FkaW5nKCkgOiBmYWxzZSkKIHsKIH0KIApAQCAtMjAyLDcgKzIwMiw3
IEBACiAKICAgICBpZiAobV9zZW5kUmVzb3VyY2VMb2FkQ2FsbGJhY2tzKSB7CiAgICAgICAgIGlm
ICghbV9pZGVudGlmaWVyKSB7Ci0gICAgICAgICAgICBtX2lkZW50aWZpZXIgPSBtX2ZyYW1lLT5w
YWdlKCktPnByb2dyZXNzKCktPmNyZWF0ZVVuaXF1ZUlkZW50aWZpZXIoKTsKKyAgICAgICAgICAg
IG1faWRlbnRpZmllciA9IG1fZnJhbWUtPnBhZ2UoKSA/IG1fZnJhbWUtPnBhZ2UoKS0+cHJvZ3Jl
c3MoKS0+Y3JlYXRlVW5pcXVlSWRlbnRpZmllcigpIDogMDsKICAgICAgICAgICAgIGZyYW1lTG9h
ZGVyKCktPm5vdGlmaWVyKCktPmFzc2lnbklkZW50aWZpZXJUb0luaXRpYWxSZXF1ZXN0KG1faWRl
bnRpZmllciwgZG9jdW1lbnRMb2FkZXIoKSwgcmVxdWVzdCk7CiAgICAgICAgIH0KIApJbmRleDog
V2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
bG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAkocmV2aXNpb24gNTMwMDMpCisrKyBXZWJDb3JlL2xv
YWRlci9Eb2N1bWVudExvYWRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU3Miw3ICs1NzIsNyBA
QAogCiAgICAgaWYgKCFyZXNvdXJjZSkgewogICAgICAgICAvLyBXZWJBcmNoaXZlRGVidWdNb2Rl
IG1lYW5zIHdlIGZhaWwgbG9hZHMgaW5zdGVhZCBvZiB0cnlpbmcgdG8gZmV0Y2ggdGhlbSBmcm9t
IHRoZSBuZXR3b3JrIGlmIHRoZXkncmUgbm90IGluIHRoZSBhcmNoaXZlLgotICAgICAgICBib29s
IHNob3VsZEZhaWxMb2FkID0gbV9mcmFtZS0+c2V0dGluZ3MoKS0+d2ViQXJjaGl2ZURlYnVnTW9k
ZUVuYWJsZWQoKSAmJiBBcmNoaXZlRmFjdG9yeTo6aXNBcmNoaXZlTWltZVR5cGUocmVzcG9uc2VN
SU1FVHlwZSgpKTsKKyAgICAgICAgYm9vbCBzaG91bGRGYWlsTG9hZCA9IG1fZnJhbWUtPnNldHRp
bmdzKCkgJiYgbV9mcmFtZS0+c2V0dGluZ3MoKS0+d2ViQXJjaGl2ZURlYnVnTW9kZUVuYWJsZWQo
KSAmJiBBcmNoaXZlRmFjdG9yeTo6aXNBcmNoaXZlTWltZVR5cGUocmVzcG9uc2VNSU1FVHlwZSgp
KTsKIAogICAgICAgICBpZiAoIXNob3VsZEZhaWxMb2FkKQogICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwpJbmRleDogV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcAkocmV2aXNpb24gNTMw
MDMpCisrKyBXZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTYxLDE4ICs2MSwxOCBAQAogI2VuZGlmCiB9CiAKLVBhc3NSZWZQdHI8U3VicmVzb3Vy
Y2VMb2FkZXI+IFN1YnJlc291cmNlTG9hZGVyOjpjcmVhdGUoRnJhbWUqIGZyYW1lLCBTdWJyZXNv
dXJjZUxvYWRlckNsaWVudCogY2xpZW50LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3Qs
IFNlY3VyaXR5Q2hlY2tQb2xpY3kgc2VjdXJpdHlDaGVjaywgYm9vbCBzZW5kUmVzb3VyY2VMb2Fk
Q2FsbGJhY2tzLCBib29sIHNob3VsZENvbnRlbnRTbmlmZikKK1Bhc3NSZWZQdHI8U3VicmVzb3Vy
Y2VMb2FkZXI+IFN1YnJlc291cmNlTG9hZGVyOjpjcmVhdGUoRnJhbWUqIGZyYW1lLCBTdWJyZXNv
dXJjZUxvYWRlckNsaWVudCogY2xpZW50LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3Qs
IFNlY3VyaXR5Q2hlY2tQb2xpY3kgc2VjdXJpdHlDaGVja1BvbGljeSwgT3V0bGl2ZVBhZ2VQb2xp
Y3kgb3V0bGl2ZVBhZ2VQb2xpY3ksIGJvb2wgc2VuZFJlc291cmNlTG9hZENhbGxiYWNrcywgYm9v
bCBzaG91bGRDb250ZW50U25pZmYpCiB7CiAgICAgaWYgKCFmcmFtZSkKICAgICAgICAgcmV0dXJu
IDA7CiAKICAgICBGcmFtZUxvYWRlciogZmwgPSBmcmFtZS0+bG9hZGVyKCk7Ci0gICAgaWYgKHNl
Y3VyaXR5Q2hlY2sgPT0gRG9TZWN1cml0eUNoZWNrICYmIChmbC0+c3RhdGUoKSA9PSBGcmFtZVN0
YXRlUHJvdmlzaW9uYWwgfHwgZmwtPmFjdGl2ZURvY3VtZW50TG9hZGVyKCktPmlzU3RvcHBpbmco
KSkpCisgICAgaWYgKG91dGxpdmVQYWdlUG9saWN5ID09IERvTm90T3V0bGl2ZVBhZ2UgJiYgKGZs
LT5zdGF0ZSgpID09IEZyYW1lU3RhdGVQcm92aXNpb25hbCB8fCBmbC0+YWN0aXZlRG9jdW1lbnRM
b2FkZXIoKS0+aXNTdG9wcGluZygpKSkKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICBSZXNvdXJj
ZVJlcXVlc3QgbmV3UmVxdWVzdCA9IHJlcXVlc3Q7CiAKLSAgICBpZiAoc2VjdXJpdHlDaGVjayA9
PSBEb1NlY3VyaXR5Q2hlY2sKKyAgICBpZiAoc2VjdXJpdHlDaGVja1BvbGljeSA9PSBEb1NlY3Vy
aXR5Q2hlY2sKICAgICAgICAgICAgICYmIFNlY3VyaXR5T3JpZ2luOjpyZXN0cmljdEFjY2Vzc1Rv
TG9jYWwoKQogICAgICAgICAgICAgJiYgIVNlY3VyaXR5T3JpZ2luOjpjYW5Mb2FkKHJlcXVlc3Qu
dXJsKCksIFN0cmluZygpLCBmcmFtZS0+ZG9jdW1lbnQoKSkpIHsKICAgICAgICAgRnJhbWVMb2Fk
ZXI6OnJlcG9ydExvY2FsTG9hZEZhaWxlZChmcmFtZSwgcmVxdWVzdC51cmwoKS5zdHJpbmcoKSk7
CkluZGV4OiBXZWJDb3JlL2xvYWRlci9sb2FkZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
bG9hZGVyL2xvYWRlci5jcHAJKHJldmlzaW9uIDUzMDAzKQorKysgV2ViQ29yZS9sb2FkZXIvbG9h
ZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIwLDcgKzEyMCwxNiBAQAogdm9pZCBMb2FkZXI6
OmxvYWQoRG9jTG9hZGVyKiBkb2NMb2FkZXIsIENhY2hlZFJlc291cmNlKiByZXNvdXJjZSwgYm9v
bCBpbmNyZW1lbnRhbCwgU2VjdXJpdHlDaGVja1BvbGljeSBzZWN1cml0eUNoZWNrLCBib29sIHNl
bmRSZXNvdXJjZUxvYWRDYWxsYmFja3MpCiB7CiAgICAgQVNTRVJUKGRvY0xvYWRlcik7Ci0gICAg
UmVxdWVzdCogcmVxdWVzdCA9IG5ldyBSZXF1ZXN0KGRvY0xvYWRlciwgcmVzb3VyY2UsIGluY3Jl
bWVudGFsLCBzZWN1cml0eUNoZWNrLCBzZW5kUmVzb3VyY2VMb2FkQ2FsbGJhY2tzKTsKKyAgICAK
KyAgICAvLyBJZiB3ZSBhcmUgbG9hZGluZyBhbiBpbWFnZSBkdXJpbmcgYW4gdW5sb2FkIGV2ZW50
LCB3ZSB3YW50IHRvIGFsbG93IHRoZSByZXF1ZXN0IHRvIG91dGxpdmUgdGhlIHBhZ2UKKyAgICAv
LyB0aGF0IHdlIGFyZSBsZWF2aW5nLiBTb21lIHNpdGVzIChtb3N0IGNvbW1vbmx5IGFkIG5ldHdv
cmtzKSByZWx5IG9uIGltYWdlIHJlcXVlc3RzIGluIGJlZm9yZXVubG9hZAorICAgIC8vIG9yIHVu
bG9hZCBldmVudCBoYW5kbGVycyB0byB0cmFjayB0aW1lIHNwZW50IG9uIHRoZSBwYWdlLiBUaGlz
IHdpbGwgYWxsb3cgdGhlbSB0byBkbyB0aGUgdHJhY2tpbmcKKyAgICAvLyB0aGF0IHRoZXkgYXJl
IGdvaW5nIHRvIGRvIGFueXdheSwgYnV0IGFzeW5jaHJvbm91c2x5IHNvIHRoYXQgdGhleSBkb24n
dCBzbG93IGRvd24gbmF2aWdhdGlvbi4KKyAgICBPdXRsaXZlUGFnZVBvbGljeSBvdXRsaXZlUGFn
ZVBvbGljeSA9IHJlc291cmNlLT5pc0ltYWdlKCkgJiYgZG9jTG9hZGVyICYmIGRvY0xvYWRlci0+
ZnJhbWUoKSAKKyAgICAgICAgJiYgZG9jTG9hZGVyLT5mcmFtZSgpLT5sb2FkZXIoKS0+aXNEaXNw
YXRjaGluZ1VubG9hZEZhbWlseUV2ZW50KCkKKyAgICAgICAgPyBPdXRsaXZlUGFnZSA6IERvTm90
T3V0bGl2ZVBhZ2U7CisgICAgCisgICAgUmVxdWVzdCogcmVxdWVzdCA9IG5ldyBSZXF1ZXN0KGRv
Y0xvYWRlciwgcmVzb3VyY2UsIGluY3JlbWVudGFsLCBzZWN1cml0eUNoZWNrLCBvdXRsaXZlUGFn
ZVBvbGljeSwgc2VuZFJlc291cmNlTG9hZENhbGxiYWNrcyk7CiAKICAgICBSZWZQdHI8SG9zdD4g
aG9zdDsKICAgICBLVVJMIHVybChQYXJzZWRVUkxTdHJpbmcsIHJlc291cmNlLT51cmwoKSk7CkBA
IC0xMzgsOCArMTQ3LDEwIEBACiAgICAgUHJpb3JpdHkgcHJpb3JpdHkgPSBkZXRlcm1pbmVQcmlv
cml0eShyZXNvdXJjZSk7CiAgICAgaG9zdC0+YWRkUmVxdWVzdChyZXF1ZXN0LCBwcmlvcml0eSk7
CiAgICAgZG9jTG9hZGVyLT5pbmNyZW1lbnRSZXF1ZXN0Q291bnQoKTsKLQotICAgIGlmIChwcmlv
cml0eSA+IExvdyB8fCAhdXJsLnByb3RvY29sSW5IVFRQRmFtaWx5KCkgfHwgIWhhZFJlcXVlc3Rz
KSB7CisgICAgCisgICAgLy8gV2Ugd2FudCB0byBndWFyYW50ZWUgdGhhdCByZXF1ZXN0cyB3aGlj
aCBvdXRsaXZlIHRoZSBwYWdlIGFyZSBydW4gYXN5bmNocm9ub3VzbHksIHNvIG9ubHkKKyAgICAv
LyBzZXJ2ZSB0aGUgcmVxdWVzdCBpbW1lZGlhdGVseSBpZiB0aGUgcmVxdWVzdCBkb2Vzbid0IG5l
ZWQgdG8gb3V0bGl2ZSB0aGUgcGFnZS4KKyAgICBpZiAocmVxdWVzdC0+Y2FuT3V0bGl2ZVBhZ2Uo
KSA9PSBEb05vdE91dGxpdmVQYWdlICYmIChwcmlvcml0eSA+IExvdyB8fCAhdXJsLnByb3RvY29s
SW5IVFRQRmFtaWx5KCkgfHwgIWhhZFJlcXVlc3RzKSkgewogICAgICAgICAvLyBUcnkgdG8gcmVx
dWVzdCBpbXBvcnRhbnQgcmVzb3VyY2VzIGltbWVkaWF0ZWx5CiAgICAgICAgIGhvc3QtPnNlcnZl
UGVuZGluZ1JlcXVlc3RzKHByaW9yaXR5KTsKICAgICB9IGVsc2UgewpAQCAtMjQ4LDggKzI1OSw2
IEBACiAgICAgfQogCiAgICAgc2NoZWR1bGVTZXJ2ZVBlbmRpbmdSZXF1ZXN0cygpOwotICAgIAot
ICAgIEFTU0VSVChkb2NMb2FkZXItPnJlcXVlc3RDb3VudCgpID09IChkb2NMb2FkZXItPmxvYWRJ
blByb2dyZXNzKCkgPyAxIDogMCkpOwogfQogCiBMb2FkZXI6Okhvc3Q6Okhvc3QoY29uc3QgQXRv
bWljU3RyaW5nJiBuYW1lLCB1bnNpZ25lZCBtYXhSZXF1ZXN0c0luRmxpZ2h0KQpAQCAtMzQ2LDgg
KzM1NSw4IEBACiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAotICAgICAgICBSZWZQdHI8U3Vi
cmVzb3VyY2VMb2FkZXI+IGxvYWRlciA9IFN1YnJlc291cmNlTG9hZGVyOjpjcmVhdGUoZG9jTG9h
ZGVyLT5kb2MoKS0+ZnJhbWUoKSwKLSAgICAgICAgICAgIHRoaXMsIHJlc291cmNlUmVxdWVzdCwg
cmVxdWVzdC0+c2hvdWxkRG9TZWN1cml0eUNoZWNrKCksIHJlcXVlc3QtPnNlbmRSZXNvdXJjZUxv
YWRDYWxsYmFja3MoKSk7CisgICAgICAgIFJlZlB0cjxTdWJyZXNvdXJjZUxvYWRlcj4gbG9hZGVy
ID0gU3VicmVzb3VyY2VMb2FkZXI6OmNyZWF0ZShyZXF1ZXN0LT5mcmFtZSgpLAorICAgICAgICAg
ICAgdGhpcywgcmVzb3VyY2VSZXF1ZXN0LCByZXF1ZXN0LT5zaG91bGREb1NlY3VyaXR5Q2hlY2so
KSwgcmVxdWVzdC0+Y2FuT3V0bGl2ZVBhZ2UoKSwgcmVxdWVzdC0+c2VuZFJlc291cmNlTG9hZENh
bGxiYWNrcygpKTsKICAgICAgICAgaWYgKGxvYWRlcikgewogICAgICAgICAgICAgbV9yZXF1ZXN0
c0xvYWRpbmcuYWRkKGxvYWRlci5yZWxlYXNlKCksIHJlcXVlc3QpOwogICAgICAgICAgICAgcmVx
dWVzdC0+Y2FjaGVkUmVzb3VyY2UoKS0+c2V0UmVxdWVzdGVkRnJvbU5ldHdvcmtpbmdMYXllcigp
OwpAQCAtNTUwLDcgKzU1OSw3IEBACiAgICAgUmVxdWVzdFF1ZXVlOjppdGVyYXRvciBlbmQgPSBy
ZXF1ZXN0c1BlbmRpbmcuZW5kKCk7CiAgICAgZm9yIChSZXF1ZXN0UXVldWU6Oml0ZXJhdG9yIGl0
ID0gcmVxdWVzdHNQZW5kaW5nLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkgewogICAgICAgICBS
ZXF1ZXN0KiByZXF1ZXN0ID0gKml0OwotICAgICAgICBpZiAocmVxdWVzdC0+ZG9jTG9hZGVyKCkg
PT0gZG9jTG9hZGVyKSB7CisgICAgICAgIGlmIChyZXF1ZXN0LT5jYW5PdXRsaXZlUGFnZSgpID09
IERvTm90T3V0bGl2ZVBhZ2UgJiYgcmVxdWVzdC0+ZG9jTG9hZGVyKCkgPT0gZG9jTG9hZGVyKSB7
CiAgICAgICAgICAgICBjYWNoZSgpLT5yZW1vdmUocmVxdWVzdC0+Y2FjaGVkUmVzb3VyY2UoKSk7
CiAgICAgICAgICAgICBkZWxldGUgcmVxdWVzdDsKICAgICAgICAgICAgIGRvY0xvYWRlci0+ZGVj
cmVtZW50UmVxdWVzdENvdW50KCk7CkBAIC01NzAsNyArNTc5LDcgQEAKICAgICBSZXF1ZXN0TWFw
OjppdGVyYXRvciBlbmQgPSBtX3JlcXVlc3RzTG9hZGluZy5lbmQoKTsKICAgICBmb3IgKFJlcXVl
c3RNYXA6Oml0ZXJhdG9yIGkgPSBtX3JlcXVlc3RzTG9hZGluZy5iZWdpbigpOyBpICE9IGVuZDsg
KytpKSB7CiAgICAgICAgIFJlcXVlc3QqIHIgPSBpLT5zZWNvbmQ7Ci0gICAgICAgIGlmIChyLT5k
b2NMb2FkZXIoKSA9PSBkb2NMb2FkZXIpCisgICAgICAgIGlmIChyLT5jYW5PdXRsaXZlUGFnZSgp
ID09IERvTm90T3V0bGl2ZVBhZ2UgJiYgci0+ZG9jTG9hZGVyKCkgPT0gZG9jTG9hZGVyKQogICAg
ICAgICAgICAgbG9hZGVyc1RvQ2FuY2VsLmFwcGVuZChpLT5maXJzdC5nZXQoKSk7CiAgICAgfQog
CkluZGV4OiBXZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAJKHJl
dmlzaW9uIDUzMDAzKQorKysgV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjk5LDcgKzI5OSw3IEBACiAKICAgICAgICAgLy8gQ2xl
YXIgdGhlIGxvYWRlciBzbyB0aGF0IGFueSBjYWxsYmFja3MgZnJvbSBTdWJyZXNvdXJjZUxvYWRl
cjo6Y3JlYXRlIHdpbGwgbm90IGhhdmUgdGhlIG9sZCBsb2FkZXIuCiAgICAgICAgIG1fbG9hZGVy
ID0gMDsKLSAgICAgICAgbV9sb2FkZXIgPSBTdWJyZXNvdXJjZUxvYWRlcjo6Y3JlYXRlKG1fZG9j
dW1lbnQtPmZyYW1lKCksIHRoaXMsIHJlcXVlc3QsIHNlY3VyaXR5Q2hlY2ssIHNlbmRMb2FkQ2Fs
bGJhY2tzLCBzbmlmZkNvbnRlbnQpOworICAgICAgICBtX2xvYWRlciA9IFN1YnJlc291cmNlTG9h
ZGVyOjpjcmVhdGUobV9kb2N1bWVudC0+ZnJhbWUoKSwgdGhpcywgcmVxdWVzdCwgc2VjdXJpdHlD
aGVjaywgRG9Ob3RPdXRsaXZlUGFnZSwgc2VuZExvYWRDYWxsYmFja3MsIHNuaWZmQ29udGVudCk7
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgCkluZGV4OiBXZWJDb3JlL2xvYWRlci9GcmFt
ZUxvYWRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgJKHJl
dmlzaW9uIDUzMDAzKQorKysgV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAkod29ya2luZyBj
b3B5KQpAQCAtMzMzLDYgKzMzMywxMSBAQAogICAgIHZvaWQgY29udGludWVMb2FkQWZ0ZXJXaWxs
U3VibWl0Rm9ybSgpOwogICAgIAogICAgIGJvb2wgc3VwcHJlc3NPcGVuZXJJbk5ld0ZyYW1lKCkg
Y29uc3QgeyByZXR1cm4gbV9zdXBwcmVzc09wZW5lckluTmV3RnJhbWU7IH0KKyAgICAKKyAgICBi
b29sIGlzRGlzcGF0Y2hpbmdVbmxvYWRGYW1pbHlFdmVudCgpIGNvbnN0IHsgcmV0dXJuIG1faXNE
aXNwYXRjaGluZ0JlZm9yZVVubG9hZEV2ZW50IHx8IG1faXNEaXNwYXRjaGluZ1VubG9hZEV2ZW50
OyB9CisgICAgdm9pZCBpbmNyZW1lbnRPdXRsaXZlUGFnZVJlcXVlc3RDb3VudCgpIHsgbV9vdXRs
aXZlUGFnZVJlcXVlc3RDb3VudCsrOyB9CisgICAgdm9pZCBkZWNyZW1lbnRPdXRsaXZlUGFnZVJl
cXVlc3RDb3VudCgpIHsgbV9vdXRsaXZlUGFnZVJlcXVlc3RDb3VudC0tOyB9CisgICAgYm9vbCBv
dXRsaXZlUGFnZVJlcXVlc3RDb3VudCgpIGNvbnN0IHsgcmV0dXJuIG1fb3V0bGl2ZVBhZ2VSZXF1
ZXN0Q291bnQ7IH0KIAogICAgIHN0YXRpYyBPYmplY3RDb250ZW50VHlwZSBkZWZhdWx0T2JqZWN0
Q29udGVudFR5cGUoY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlKTsKIApA
QCAtNDc5LDcgKzQ4NCw5IEBACiAKICAgICBib29sIG1fZGlkQ2FsbEltcGxpY2l0Q2xvc2U7CiAg
ICAgYm9vbCBtX3dhc1VubG9hZEV2ZW50RW1pdHRlZDsKLSAgICBib29sIG1fdW5sb2FkRXZlbnRC
ZWluZ0Rpc3BhdGNoZWQ7CisgICAgYm9vbCBtX2lzRGlzcGF0Y2hpbmdCZWZvcmVVbmxvYWRFdmVu
dDsKKyAgICBib29sIG1faXNEaXNwYXRjaGluZ1VubG9hZEV2ZW50OworICAgIGludCBtX291dGxp
dmVQYWdlUmVxdWVzdENvdW50OwogICAgIGJvb2wgbV9pc0NvbXBsZXRlOwogICAgIGJvb2wgbV9p
c0xvYWRpbmdNYWluUmVzb3VyY2U7CiAKSW5kZXg6IFdlYkNvcmUvbG9hZGVyL1JlcXVlc3QuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbG9hZGVyL1JlcXVlc3QuY3BwCShyZXZpc2lvbiA1MzAw
MykKKysrIFdlYkNvcmUvbG9hZGVyL1JlcXVlc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNSwx
MCArMjUsMTQgQEAKICNpbmNsdWRlICJSZXF1ZXN0LmgiCiAKICNpbmNsdWRlICJDYWNoZWRSZXNv
dXJjZS5oIgorI2luY2x1ZGUgIkRvY0xvYWRlci5oIgorI2luY2x1ZGUgIkRvY3VtZW50LmgiCisj
aW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKKyNpbmNsdWRlICJGcmFtZS5oIgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLVJlcXVlc3Q6OlJlcXVlc3QoRG9jTG9hZGVyKiBkb2NMb2FkZXIsIENh
Y2hlZFJlc291cmNlKiBvYmplY3QsIGJvb2wgaW5jcmVtZW50YWwsIFNlY3VyaXR5Q2hlY2tQb2xp
Y3kgc2hvdWxkRG9TZWN1cml0eUNoZWNrLCBib29sIHNlbmRSZXNvdXJjZUxvYWRDYWxsYmFja3Mp
CitSZXF1ZXN0OjpSZXF1ZXN0KERvY0xvYWRlciogZG9jTG9hZGVyLCBDYWNoZWRSZXNvdXJjZSog
b2JqZWN0LCBib29sIGluY3JlbWVudGFsLCBTZWN1cml0eUNoZWNrUG9saWN5IHNob3VsZERvU2Vj
dXJpdHlDaGVjaywgT3V0bGl2ZVBhZ2VQb2xpY3kgb3V0bGl2ZVBhZ2VQb2xpY3ksIGJvb2wgc2Vu
ZFJlc291cmNlTG9hZENhbGxiYWNrcykKICAgICA6IG1fb2JqZWN0KG9iamVjdCkKICAgICAsIG1f
ZG9jTG9hZGVyKGRvY0xvYWRlcikKICAgICAsIG1faW5jcmVtZW50YWwoaW5jcmVtZW50YWwpCkBA
IC0zNywxMSArNDEsMjUgQEAKICAgICAsIG1fc2VuZFJlc291cmNlTG9hZENhbGxiYWNrcyhzZW5k
UmVzb3VyY2VMb2FkQ2FsbGJhY2tzKQogewogICAgIG1fb2JqZWN0LT5zZXRSZXF1ZXN0KHRoaXMp
OworICAgIGlmIChvdXRsaXZlUGFnZVBvbGljeSA9PSBPdXRsaXZlUGFnZSkgeworCisgICAgICAg
IG1fZnJhbWVGb3JSZXF1ZXN0VGhhdENhbk91dGxpdmVQYWdlID0gZG9jTG9hZGVyLT5mcmFtZSgp
OworICAgICAgICBtX2ZyYW1lRm9yUmVxdWVzdFRoYXRDYW5PdXRsaXZlUGFnZS0+bG9hZGVyKCkt
PmluY3JlbWVudE91dGxpdmVQYWdlUmVxdWVzdENvdW50KCk7CisgICAgICAgIG1fZG9jdW1lbnRG
b3JSZXF1ZXN0VGhhdENhbk91dGxpdmVQYWdlID0gbV9mcmFtZUZvclJlcXVlc3RUaGF0Q2FuT3V0
bGl2ZVBhZ2UtPmRvY3VtZW50KCk7CisgICAgICAgIG1fZG9jdW1lbnRMb2FkZXJGb3JSZXF1ZXN0
VGhhdENhbk91dGxpdmVQYWdlID0gbV9mcmFtZUZvclJlcXVlc3RUaGF0Q2FuT3V0bGl2ZVBhZ2Ut
PmxvYWRlcigpLT5hY3RpdmVEb2N1bWVudExvYWRlcigpOworICAgIH0KIH0KIAogUmVxdWVzdDo6
flJlcXVlc3QoKQogeworICAgIGlmIChtX2ZyYW1lRm9yUmVxdWVzdFRoYXRDYW5PdXRsaXZlUGFn
ZSkgICAgICAgCisgICAgICAgIG1fZnJhbWVGb3JSZXF1ZXN0VGhhdENhbk91dGxpdmVQYWdlLT5s
b2FkZXIoKS0+ZGVjcmVtZW50T3V0bGl2ZVBhZ2VSZXF1ZXN0Q291bnQoKTsKICAgICBtX29iamVj
dC0+c2V0UmVxdWVzdCgwKTsKIH0KKyAgICAKK0ZyYW1lKiBSZXF1ZXN0OjpmcmFtZSgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIG1fZnJhbWVGb3JSZXF1ZXN0VGhhdENhbk91dGxpdmVQYWdlID8gbV9m
cmFtZUZvclJlcXVlc3RUaGF0Q2FuT3V0bGl2ZVBhZ2UuZ2V0KCkgOiBtX2RvY0xvYWRlci0+ZnJh
bWUoKTsKK30KIAogfSAvL25hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL2xvYWRlci9T
dWJyZXNvdXJjZUxvYWRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbG9hZGVyL1N1YnJlc291
cmNlTG9hZGVyLmgJKHJldmlzaW9uIDUzMDAzKQorKysgV2ViQ29yZS9sb2FkZXIvU3VicmVzb3Vy
Y2VMb2FkZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsNyBAQAogI2RlZmluZSBTdWJy
ZXNvdXJjZUxvYWRlcl9oCiAKICNpbmNsdWRlICJGcmFtZUxvYWRlclR5cGVzLmgiCisjaW5jbHVk
ZSAiUmVxdWVzdC5oIgogI2luY2x1ZGUgIlJlc291cmNlTG9hZGVyLmgiCiAgCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CkBAIC0zOSw3ICs0MCw3IEBACiAgICAgCiAgICAgY2xhc3MgU3VicmVzb3VyY2VM
b2FkZXIgOiBwdWJsaWMgUmVzb3VyY2VMb2FkZXIgewogICAgIHB1YmxpYzoKLSAgICAgICAgc3Rh
dGljIFBhc3NSZWZQdHI8U3VicmVzb3VyY2VMb2FkZXI+IGNyZWF0ZShGcmFtZSosIFN1YnJlc291
cmNlTG9hZGVyQ2xpZW50KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgU2VjdXJpdHlDaGVja1Bv
bGljeSA9IERvU2VjdXJpdHlDaGVjaywgYm9vbCBzZW5kUmVzb3VyY2VMb2FkQ2FsbGJhY2tzID0g
dHJ1ZSwgYm9vbCBzaG91bGRDb250ZW50U25pZmYgPSB0cnVlKTsKKyAgICAgICAgc3RhdGljIFBh
c3NSZWZQdHI8U3VicmVzb3VyY2VMb2FkZXI+IGNyZWF0ZShGcmFtZSosIFN1YnJlc291cmNlTG9h
ZGVyQ2xpZW50KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgU2VjdXJpdHlDaGVja1BvbGljeSA9
IERvU2VjdXJpdHlDaGVjaywgT3V0bGl2ZVBhZ2VQb2xpY3kgPSBEb05vdE91dGxpdmVQYWdlLCBi
b29sIHNlbmRSZXNvdXJjZUxvYWRDYWxsYmFja3MgPSB0cnVlLCBib29sIHNob3VsZENvbnRlbnRT
bmlmZiA9IHRydWUpOwogCiAgICAgICAgIHZvaWQgY2xlYXJDbGllbnQoKSB7IG1fY2xpZW50ID0g
MDsgfQogCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vaW1hZ2UtbG9h
ZC1pbi1iZWZvcmV1bmxvYWQtaGFuZGxlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2ltYWdlLWxvYWQtaW4tYmVmb3JldW5sb2Fk
LWhhbmRsZXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9uYXZpZ2F0aW9uL2ltYWdlLWxvYWQtaW4tYmVmb3JldW5sb2FkLWhhbmRsZXItZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDggQEAKKzx1bmtub3duPiAtIGRpZEZhaWxM
b2FkaW5nV2l0aEVycm9yOiA8TlNFcnJvciBkb21haW4gTlNVUkxFcnJvckRvbWFpbiwgY29kZSAt
OTk5LCBmYWlsaW5nIFVSTCAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL25hdmlnYXRpb24vaW1hZ2Ut
bG9hZC1pbi1iZWZvcmV1bmxvYWQtaGFuZGxlci5odG1sIj4KK2h0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9uYXZpZ2F0aW9uL3Jlc291cmNlcy93YWl0LXRoZW4tbm90aWZ5LWRvbmUuaHRtbCAtIHdpbGxT
ZW5kUmVxdWVzdCA8TlNVUkxSZXF1ZXN0IFVSTCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvbmF2aWdh
dGlvbi9yZXNvdXJjZXMvd2FpdC10aGVuLW5vdGlmeS1kb25lLmh0bWwsIG1haW4gZG9jdW1lbnQg
VVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9uYXZpZ2F0aW9uL3Jlc291cmNlcy93YWl0LXRoZW4t
bm90aWZ5LWRvbmUuaHRtbCwgaHR0cCBtZXRob2QgR0VUPiByZWRpcmVjdFJlc3BvbnNlIChudWxs
KQoraHR0cDovLzEyNy4wLjAuMTo4MDAwL25hdmlnYXRpb24vcmVzb3VyY2VzL3Nsb3ctcmVzb3Vy
Y2UtMS1zZWMucGwgLSB3aWxsU2VuZFJlcXVlc3QgPE5TVVJMUmVxdWVzdCBVUkwgaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL25hdmlnYXRpb24vcmVzb3VyY2VzL3Nsb3ctcmVzb3VyY2UtMS1zZWMucGws
IG1haW4gZG9jdW1lbnQgVVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9uYXZpZ2F0aW9uL2ltYWdl
LWxvYWQtaW4tYmVmb3JldW5sb2FkLWhhbmRsZXIuaHRtbCwgaHR0cCBtZXRob2QgR0VUPiByZWRp
cmVjdFJlc3BvbnNlIChudWxsKQoraHR0cDovLzEyNy4wLjAuMTo4MDAwL25hdmlnYXRpb24vcmVz
b3VyY2VzL3dhaXQtdGhlbi1ub3RpZnktZG9uZS5odG1sIC0gZGlkUmVjZWl2ZVJlc3BvbnNlIDxO
U1VSTFJlc3BvbnNlIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9uYXZpZ2F0aW9uL3Jlc291cmNlcy93
YWl0LXRoZW4tbm90aWZ5LWRvbmUuaHRtbCwgaHR0cCBzdGF0dXMgY29kZSAyMDA+CitodHRwOi8v
MTI3LjAuMC4xOjgwMDAvbmF2aWdhdGlvbi9yZXNvdXJjZXMvd2FpdC10aGVuLW5vdGlmeS1kb25l
Lmh0bWwgLSBkaWRGaW5pc2hMb2FkaW5nCitodHRwOi8vMTI3LjAuMC4xOjgwMDAvbmF2aWdhdGlv
bi9yZXNvdXJjZXMvc2xvdy1yZXNvdXJjZS0xLXNlYy5wbCAtIGRpZFJlY2VpdmVSZXNwb25zZSA8
TlNVUkxSZXNwb25zZSBodHRwOi8vMTI3LjAuMC4xOjgwMDAvbmF2aWdhdGlvbi9yZXNvdXJjZXMv
c2xvdy1yZXNvdXJjZS0xLXNlYy5wbCwgaHR0cCBzdGF0dXMgY29kZSAyMDA+CitodHRwOi8vMTI3
LjAuMC4xOjgwMDAvbmF2aWdhdGlvbi9yZXNvdXJjZXMvc2xvdy1yZXNvdXJjZS0xLXNlYy5wbCAt
IGRpZEZpbmlzaExvYWRpbmcKKwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0
aW9uL2ltYWdlLWxvYWQtaW4tYmVmb3JldW5sb2FkLWhhbmRsZXIuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vaW1hZ2UtbG9hZC1pbi1iZWZvcmV1
bmxvYWQtaGFuZGxlci5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9uYXZpZ2F0aW9uL2ltYWdlLWxvYWQtaW4tYmVmb3JldW5sb2FkLWhhbmRsZXIuaHRtbAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwyMyBAQAorPGh0bWw+PGhlYWQ+Cis8dGl0bGU+SW1hZ2UgbG9h
ZCBpbiB1bmxvYWQgaGFuZGxlcjwvdGl0bGU+Cis8c2NyaXB0PgorZnVuY3Rpb24gbmF2aWdhdGUo
KSB7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3MoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICB2YXIgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImxpbmsiKTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8odGFy
Z2V0Lm9mZnNldExlZnQgKyAyLCB0YXJnZXQub2Zmc2V0VG9wICsgMik7CisgICAgICAgIGV2ZW50
U2VuZGVyLm1vdXNlRG93bigpOworICAgICAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7CisgICAg
fQorfQorCitmdW5jdGlvbiByZXF1ZXN0SW1hZ2UoKSB7CisgICAgdmFyIGltZyA9IG5ldyBJbWFn
ZSgxLCAxKTsKKyAgICBpbWcuc3JjID0gInJlc291cmNlcy9zbG93LXJlc291cmNlLTEtc2VjLnBs
IjsKK30KKzwvc2NyaXB0PjwvaGVhZD4KKzxib2R5IG9ubG9hZD0ibmF2aWdhdGUoKTsiIG9uYmVm
b3JldW5sb2FkPSJyZXF1ZXN0SW1hZ2UoKTsiPgorPGEgaWQ9ImxpbmsiIGhyZWY9InJlc291cmNl
cy93YWl0LXRoZW4tbm90aWZ5LWRvbmUuaHRtbCI+bGluazwvYT4KKzwvYm9keT48L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcmVzb3VyY2VzL3dhaXQtdGhl
bi1ub3RpZnktZG9uZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
bmF2aWdhdGlvbi9yZXNvdXJjZXMvd2FpdC10aGVuLW5vdGlmeS1kb25lLmh0bWwJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcmVzb3VyY2VzL3dhaXQt
dGhlbi1ub3RpZnktZG9uZS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDkgQEAKKzxodG1s
Pg0KKzxzY3JpcHQ+DQorICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsNCisg
ICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7DQorICAgICAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIubm90aWZ5RG9uZSgpOw0KKyAgICAgICAgfSwgMjAwMCk7DQorICAgIH0NCis8L3Nj
cmlwdD4NCis8L2h0bWw+DQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9u
L2ltYWdlLWxvYWQtaW4tdW5sb2FkLWhhbmRsZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9pbWFnZS1sb2FkLWluLXVubG9hZC1o
YW5kbGVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvbmF2aWdhdGlvbi9pbWFnZS1sb2FkLWluLXVubG9hZC1oYW5kbGVyLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSw5IEBACittYWluIGZyYW1lIC0gaGFzIDEgb251bmxvYWQg
aGFuZGxlcihzKQorPHVua25vd24+IC0gZGlkRmFpbExvYWRpbmdXaXRoRXJyb3I6IDxOU0Vycm9y
IGRvbWFpbiBOU1VSTEVycm9yRG9tYWluLCBjb2RlIC05OTksIGZhaWxpbmcgVVJMICJodHRwOi8v
MTI3LjAuMC4xOjgwMDAvbmF2aWdhdGlvbi9pbWFnZS1sb2FkLWluLXVubG9hZC1oYW5kbGVyLmh0
bWwiPgoraHR0cDovLzEyNy4wLjAuMTo4MDAwL25hdmlnYXRpb24vcmVzb3VyY2VzL3dhaXQtdGhl
bi1ub3RpZnktZG9uZS5odG1sIC0gd2lsbFNlbmRSZXF1ZXN0IDxOU1VSTFJlcXVlc3QgVVJMIGh0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9uYXZpZ2F0aW9uL3Jlc291cmNlcy93YWl0LXRoZW4tbm90aWZ5
LWRvbmUuaHRtbCwgbWFpbiBkb2N1bWVudCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL25hdmln
YXRpb24vcmVzb3VyY2VzL3dhaXQtdGhlbi1ub3RpZnktZG9uZS5odG1sLCBodHRwIG1ldGhvZCBH
RVQ+IHJlZGlyZWN0UmVzcG9uc2UgKG51bGwpCitodHRwOi8vMTI3LjAuMC4xOjgwMDAvbmF2aWdh
dGlvbi9yZXNvdXJjZXMvd2FpdC10aGVuLW5vdGlmeS1kb25lLmh0bWwgLSBkaWRSZWNlaXZlUmVz
cG9uc2UgPE5TVVJMUmVzcG9uc2UgaHR0cDovLzEyNy4wLjAuMTo4MDAwL25hdmlnYXRpb24vcmVz
b3VyY2VzL3dhaXQtdGhlbi1ub3RpZnktZG9uZS5odG1sLCBodHRwIHN0YXR1cyBjb2RlIDIwMD4K
K2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9uYXZpZ2F0aW9uL3Jlc291cmNlcy93YWl0LXRoZW4tbm90
aWZ5LWRvbmUuaHRtbCAtIGRpZEZpbmlzaExvYWRpbmcKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9u
YXZpZ2F0aW9uL3Jlc291cmNlcy9zbG93LXJlc291cmNlLTEtc2VjLnBsIC0gd2lsbFNlbmRSZXF1
ZXN0IDxOU1VSTFJlcXVlc3QgVVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9uYXZpZ2F0aW9uL3Jl
c291cmNlcy9zbG93LXJlc291cmNlLTEtc2VjLnBsLCBtYWluIGRvY3VtZW50IFVSTCBodHRwOi8v
MTI3LjAuMC4xOjgwMDAvbmF2aWdhdGlvbi9yZXNvdXJjZXMvd2FpdC10aGVuLW5vdGlmeS1kb25l
Lmh0bWwsIGh0dHAgbWV0aG9kIEdFVD4gcmVkaXJlY3RSZXNwb25zZSAobnVsbCkKK2h0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9uYXZpZ2F0aW9uL3Jlc291cmNlcy9zbG93LXJlc291cmNlLTEtc2VjLnBs
IC0gZGlkUmVjZWl2ZVJlc3BvbnNlIDxOU1VSTFJlc3BvbnNlIGh0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9uYXZpZ2F0aW9uL3Jlc291cmNlcy9zbG93LXJlc291cmNlLTEtc2VjLnBsLCBodHRwIHN0YXR1
cyBjb2RlIDIwMD4KK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9uYXZpZ2F0aW9uL3Jlc291cmNlcy9z
bG93LXJlc291cmNlLTEtc2VjLnBsIC0gZGlkRmluaXNoTG9hZGluZworCkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vaW1hZ2UtbG9hZC1pbi11bmxvYWQtaGFuZGxlci5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9pbWFn
ZS1sb2FkLWluLXVubG9hZC1oYW5kbGVyLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vaW1hZ2UtbG9hZC1pbi11bmxvYWQtaGFuZGxlci5odG1s
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI0IEBACis8aHRtbD48aGVhZD4KKzx0aXRsZT5JbWFn
ZSBsb2FkIGluIHVubG9hZCBoYW5kbGVyPC90aXRsZT4KKzxzY3JpcHQ+CitmdW5jdGlvbiBuYXZp
Z2F0ZSgpIHsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcFJlc291cmNlTG9hZENhbGxiYWNrcygpOworICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIHZhciB0YXJnZXQgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgibGluayIpOworICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVU
byh0YXJnZXQub2Zmc2V0TGVmdCArIDIsIHRhcmdldC5vZmZzZXRUb3AgKyAyKTsKKyAgICAgICAg
ZXZlbnRTZW5kZXIubW91c2VEb3duKCk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsK
KyAgICB9Cit9CisKK2Z1bmN0aW9uIHJlcXVlc3RJbWFnZSgpIHsKKyAgICB2YXIgaW1nID0gbmV3
IEltYWdlKDEsIDEpOworICAgIGltZy5zcmMgPSAicmVzb3VyY2VzL3Nsb3ctcmVzb3VyY2UtMS1z
ZWMucGwiOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9Im5hdmlnYXRlKCk7
IiBvbnVubG9hZD0icmVxdWVzdEltYWdlKCk7Ij4KKzxhIGlkPSJsaW5rIiBocmVmPSJyZXNvdXJj
ZXMvd2FpdC10aGVuLW5vdGlmeS1kb25lLmh0bWwiPmxpbms8L2E+Cis8L2JvZHk+PC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0No
YW5nZUxvZwkocmV2aXNpb24gNTMwMDQpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0wMS0wOCAgTmF0ZSBDaGFwaW4gIDxqYXBo
ZXRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRlc3RzIGZvciBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MzI4MzkuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL25hdmlnYXRpb24vaW1hZ2UtbG9hZC1p
bi1iZWZvcmV1bmxvYWQtaGFuZGxlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvbmF2aWdhdGlvbi9pbWFnZS1sb2FkLWluLWJlZm9yZXVubG9hZC1oYW5kbGVyLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9pbWFnZS1sb2FkLWlu
LXVubG9hZC1oYW5kbGVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9uYXZpZ2F0aW9uL2ltYWdlLWxvYWQtaW4tdW5sb2FkLWhhbmRsZXIuaHRtbDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Jlc291cmNlcy93YWl0LXRoZW4tbm90aWZ5
LWRvbmUuaHRtbDogQWRkZWQuCisKIDIwMTAtMDEtMDggIFl1em8gRnVqaXNoaW1hICA8eXV6b0Bn
b29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46173</attachid>
            <date>2010-01-08 16:14:59 -0800</date>
            <delta_ts>2010-01-08 16:17:32 -0800</delta_ts>
            <desc>Attaching the correct patch this time</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>3424</size>
            <attacher name="Nate Chapin">japhet</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9yZWRpcmVjdC1wcmVzZXJ2
ZXMtcmVmZXJyZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvbmF2aWdhdGlvbi9yZWRpcmVjdC1wcmVzZXJ2ZXMtcmVmZXJyZXItZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3JlZGly
ZWN0LXByZXNlcnZlcy1yZWZlcnJlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEgQEAKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9uYXZpZ2F0aW9uL3JlZGlyZWN0LXByZXNlcnZl
cy1yZWZlcnJlci5odG1sCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24v
cmVzb3VyY2VzL3JlZGlyZWN0LXRvLXJlZmVycmVyLWNoZWNrLnBsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9yZXNvdXJjZXMvcmVkaXJlY3QtdG8tcmVm
ZXJyZXItY2hlY2sucGwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25h
dmlnYXRpb24vcmVzb3VyY2VzL3JlZGlyZWN0LXRvLXJlZmVycmVyLWNoZWNrLnBsCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDEzIEBACisjIS91c3IvYmluL3BlcmwKKyMgU2ltcGxlIHNjcmlwdCB0
byBnZW5lcmF0ZSBhIDMwMiBIVFRQIHJlZGlyZWN0CisKK3ByaW50ICJTdGF0dXM6IDMwMiBNb3Zl
ZCBUZW1wb3JhcmlseVxyXG4iOworcHJpbnQgIkxvY2F0aW9uOiByZWZlcnJlci5odG1sXHJcbiI7
CitwcmludCAiQ29udGVudC10eXBlOiB0ZXh0L2h0bWxcclxuIjsKK3ByaW50ICJcclxuIjsKKwor
cHJpbnQgPDxIRVJFX0RPQ19FTkQKKzxodG1sPjxib2R5PgorVGhpcyBwYWdlIHNob3VsZCBub3Qg
YmUgc2VlbiAtIGl0IGlzIGEgMzAyIHJlZGlyZWN0IHRvIGFub3RoZXIgcGFnZS4KKzwvYm9keT48
L2h0bWw+CitIRVJFX0RPQ19FTkQKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0
dHAvdGVzdHMvbmF2aWdhdGlvbi9yZXNvdXJjZXMvcmVkaXJlY3QtdG8tcmVmZXJyZXItY2hlY2su
cGwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKICAgKyAqCgpJbmRleDogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Jlc291cmNlcy9yZWZlcnJlci5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9yZXNvdXJjZXMvcmVm
ZXJyZXIuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdh
dGlvbi9yZXNvdXJjZXMvcmVmZXJyZXIuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw3IEBA
Cis8aHRtbD48Ym9keT4KKzxzY3JpcHQ+CisgICAgZG9jdW1lbnQud3JpdGUoZG9jdW1lbnQucmVm
ZXJyZXIpOworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKzwvc2NyaXB0PgorPC9ib2R5PjwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9yZWRpcmVjdC1wcmVz
ZXJ2ZXMtcmVmZXJyZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L25hdmlnYXRpb24vcmVkaXJlY3QtcHJlc2VydmVzLXJlZmVycmVyLmh0bWwJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcmVkaXJlY3QtcHJlc2VydmVz
LXJlZmVycmVyLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTggQEAKKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gc3RhcnQoKSB7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikgeworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0
KCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAg
ICAgdmFyIGxpbmsgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGluayIpOworICAgICAgICBl
dmVudFNlbmRlci5tb3VzZU1vdmVUbyhsaW5rLm9mZnNldExlZnQgKyAyLCBsaW5rLm9mZnNldFRv
cCArIDIpOworICAgICAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICAgICAgZXZlbnRT
ZW5kZXIubW91c2VVcCgpOworICAgIH0KK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25s
b2FkPSJzdGFydCgpOyI+Cis8YSBpZD0ibGluayIgaHJlZj0icmVzb3VyY2VzL3JlZGlyZWN0LXRv
LXJlZmVycmVyLWNoZWNrLnBsIj5MaW5rPC9hPgorPC9ib2R5PjwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDUzMDIwKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTAtMDEtMDggIE5hdGUgQ2hhcGluICA8amFwaGV0QGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
ZXN0IHRoYXQgZG9jdW1lbnQucmVmZXJyZXIgaXMgcHJvcGVybHkgcHJlc2VydmVkIHRocm91Z2gg
YSByZWRpcmVjdC4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MzM0MDcKKworICAgICAgICAqIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9yZWRpcmVjdC1w
cmVzZXJ2ZXMtcmVmZXJyZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL25hdmlnYXRpb24vcmVkaXJlY3QtcHJlc2VydmVzLXJlZmVycmVyLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9yZXNvdXJjZXMvcmVkaXJlY3QtdG8tcmVm
ZXJyZXItY2hlY2sucGw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9y
ZXNvdXJjZXMvcmVmZXJyZXIuaHRtbDogQWRkZWQuCisKIDIwMTAtMDEtMDggIEFsZXhleSBQcm9z
a3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlk
ZWwuCg==
</data>
<flag name="review"
          id="28395"
          type_id="1"
          status="+"
          setter="dglazkov"
    />
          </attachment>
      

    </bug>

</bugzilla>