<?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>48036</bug_id>
          
          <creation_ts>2010-10-20 18:59:17 -0700</creation_ts>
          <short_desc>Null frame passed when running alert from UserScript run at document start</short_desc>
          <delta_ts>2010-10-21 09:48:31 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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="Sam Weinig">sam</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>297202</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-10-20 18:59:17 -0700</bug_when>
    <thetext>Null frame passed when running alert from UserScript run at document start</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297203</commentid>
    <comment_count>1</comment_count>
      <attachid>71381</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-10-20 19:02:19 -0700</bug_when>
    <thetext>Created attachment 71381
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297208</commentid>
    <comment_count>2</comment_count>
      <attachid>71381</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-10-20 19:46:46 -0700</bug_when>
    <thetext>Comment on attachment 71381
Patch

DocumentStartUserScriptAlertCrash.cpp and DocumentStartUserScriptAlertCrash_Bundle.cpp don&apos;t seem to be included in the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297443</commentid>
    <comment_count>3</comment_count>
      <attachid>71444</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-10-21 08:44:58 -0700</bug_when>
    <thetext>Created attachment 71444
Now with all the files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297471</commentid>
    <comment_count>4</comment_count>
      <attachid>71444</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-10-21 09:39:57 -0700</bug_when>
    <thetext>Comment on attachment 71444
Now with all the files.

Your new files aren&apos;t mentioned in the ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297475</commentid>
    <comment_count>5</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-10-21 09:48:31 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/70244.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71381</attachid>
            <date>2010-10-20 19:02:19 -0700</date>
            <delta_ts>2010-10-21 08:44:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>jess.diff</filename>
            <type>text/plain</type>
            <size>15251</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MDIwMykKKysrIFdlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjYgQEAKKzIwMTAtMTAtMjAgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOdWxsIGZy
YW1lIHBhc3NlZCB3aGVuIHJ1bm5pbmcgYWxlcnQgZnJvbSBVc2VyU2NyaXB0IHJ1biBhdCBkb2N1
bWVudCBzdGFydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDgwMzYKKworICAgICAgICBEb24ndCBpbml0aWFsaXplIGEgRnJhbWUgdW50aWwgYWZ0ZXIg
d2UgaGF2ZSBub3RpZmllZCB0aGUgVUlQcm9jZXNzIG9mIGl0cyBjcmVhdGlvbi4KKyAgICAgICAg
VGhpcyBpcyBuZWNlc3Nhcnkgc2luY2UgYXJiaXRyYXJ5IGFjdGlvbnMgY2FuIGhhcHBlbiBkdXJp
bmcgdGhlIGNhbGwgdG8gRnJhbWU6OmluaXQoKQorICAgICAgICBzdWNoIGFzIHRoZSBydW5uaW5n
IG9mIFVzZXJTY3JpcHRzLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJGcmFtZUxvYWRlckNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lTG9hZGVy
Q2xpZW50OjpjcmVhdGVGcmFtZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkZy
YW1lLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWU6OmNyZWF0ZU1haW5GcmFtZSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkZyYW1lOjpjcmVhdGVTdWJmcmFtZSk6CisgICAgICAgIChXZWJL
aXQ6OldlYkZyYW1lOjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZTo6V2ViRnJh
bWUpOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZTo6aW5pdCk6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYkZyYW1lLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpXZWJQYWdlKToKKwogMjAxMC0x
MC0xNCAgQWRhbSBSb2JlbiAgPGFyb2JlbkBhcHBsZS5jb20+CiAKICAgICAgICAgRG9uJ3QgcmVx
dWlyZSB0aGUgcGx1Z2luIHRvIGFsd2F5cyB1c2UgdGhlIHNhbWUgTlBQIHN0cnVjdCB3ZSBnYXZl
IGl0CkluZGV4OiBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2Fk
ZXJDbGllbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAJKHJldmlzaW9uIDcwMTgzKQorKysgV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtOTUyLDkgKzk1Miw2IEBAIFBhc3NSZWZQdHI8RnJhbWU+IFdlYkZyYW1l
TG9hZGVyQ2xpZW50OjoKIAogICAgIFJlZlB0cjxXZWJGcmFtZT4gc3ViZnJhbWUgPSBXZWJGcmFt
ZTo6Y3JlYXRlU3ViZnJhbWUod2ViUGFnZSwgbmFtZSwgb3duZXJFbGVtZW50KTsKIAotICAgIC8v
IE5vdGlmeSB0aGUgVUkgcHJvY2VzcyB0aGF0IHN1YmZyYW1lIGhhcyBiZWVuIGFkZGVkLgotICAg
IFdlYlByb2Nlc3M6OnNoYXJlZCgpLmNvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViUGFn
ZVByb3h5OjpEaWRDcmVhdGVTdWJGcmFtZShzdWJmcmFtZS0+ZnJhbWVJRCgpKSwgd2ViUGFnZS0+
cGFnZUlEKCkpOwotCiAgICAgRnJhbWUqIGNvcmVTdWJmcmFtZSA9IHN1YmZyYW1lLT5jb3JlRnJh
bWUoKTsKIAogICAgICAvLyBUaGUgY3JlYXRpb24gb2YgdGhlIGZyYW1lIG1heSBoYXZlIHJ1biBh
cmJpdHJhcnkgSmF2YVNjcmlwdCB0aGF0IHJlbW92ZWQgaXQgZnJvbSB0aGUgcGFnZSBhbHJlYWR5
LgpJbmRleDogV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViRnJhbWUuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkZyYW1lLmNwcAkocmV2aXNpb24g
NzAxODMpCisrKyBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJGcmFtZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZVNjcmlw
dFdvcmxkLmgiCiAjaW5jbHVkZSAiV2ViQ2hyb21lQ2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViUGFn
ZS5oIgorI2luY2x1ZGUgIldlYlBhZ2VQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUHJv
Y2Vzcy5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0FQSUNhc3QuaD4KICNpbmNsdWRlIDxK
YXZhU2NyaXB0Q29yZS9KU0xvY2suaD4KQEAgLTc0LDI3ICs3NSwzNyBAQCBzdGF0aWMgdWludDY0
X3QgZ2VuZXJhdGVMaXN0ZW5lcklEKCkKIAogUGFzc1JlZlB0cjxXZWJGcmFtZT4gV2ViRnJhbWU6
OmNyZWF0ZU1haW5GcmFtZShXZWJQYWdlKiBwYWdlKQogewotICAgIHJldHVybiBjcmVhdGUocGFn
ZSwgU3RyaW5nKCksIDApOworICAgIFJlZlB0cjxXZWJGcmFtZT4gZnJhbWUgPSBjcmVhdGUoKTsK
KworICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLmNvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6
V2ViUGFnZVByb3h5OjpEaWRDcmVhdGVNYWluRnJhbWUoZnJhbWUtPmZyYW1lSUQoKSksIHBhZ2Ut
PnBhZ2VJRCgpKTsKKworICAgIGZyYW1lLT5pbml0KHBhZ2UsIFN0cmluZygpLCAwKTsKKworICAg
IHJldHVybiBmcmFtZS5yZWxlYXNlKCk7CiB9CiAKIFBhc3NSZWZQdHI8V2ViRnJhbWU+IFdlYkZy
YW1lOjpjcmVhdGVTdWJmcmFtZShXZWJQYWdlKiBwYWdlLCBjb25zdCBTdHJpbmcmIGZyYW1lTmFt
ZSwgSFRNTEZyYW1lT3duZXJFbGVtZW50KiBvd25lckVsZW1lbnQpCiB7Ci0gICAgcmV0dXJuIGNy
ZWF0ZShwYWdlLCBmcmFtZU5hbWUsIG93bmVyRWxlbWVudCk7CisgICAgUmVmUHRyPFdlYkZyYW1l
PiBmcmFtZSA9IGNyZWF0ZSgpOworCisgICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkuY29ubmVjdGlv
bigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZENyZWF0ZVN1YkZyYW1lKGZyYW1l
LT5mcmFtZUlEKCkpLCBwYWdlLT5wYWdlSUQoKSk7CisKKyAgICBmcmFtZS0+aW5pdChwYWdlLCBm
cmFtZU5hbWUsIG93bmVyRWxlbWVudCk7CisKKyAgICByZXR1cm4gZnJhbWUucmVsZWFzZSgpOwog
fQogCi1QYXNzUmVmUHRyPFdlYkZyYW1lPiBXZWJGcmFtZTo6Y3JlYXRlKFdlYlBhZ2UqIHBhZ2Us
IGNvbnN0IFN0cmluZyYgZnJhbWVOYW1lLCBIVE1MRnJhbWVPd25lckVsZW1lbnQqIG93bmVyRWxl
bWVudCkKK1Bhc3NSZWZQdHI8V2ViRnJhbWU+IFdlYkZyYW1lOjpjcmVhdGUoKQogewotICAgIFJl
ZlB0cjxXZWJGcmFtZT4gZnJhbWUgPSBhZG9wdFJlZihuZXcgV2ViRnJhbWUocGFnZSwgZnJhbWVO
YW1lLCBvd25lckVsZW1lbnQpKTsKKyAgICBSZWZQdHI8V2ViRnJhbWU+IGZyYW1lID0gYWRvcHRS
ZWYobmV3IFdlYkZyYW1lKTsKIAogICAgIC8vIEFkZCBleHBsaWN0IHJlZigpIHRoYXQgd2lsbCBi
ZSBiYWxhbmNlZCBpbiBXZWJGcmFtZUxvYWRlckNsaWVudDo6ZnJhbWVMb2FkZXJEZXN0cm95ZWQo
KS4KICAgICBmcmFtZS0+cmVmKCk7CiAKLSAgICBmcmFtZS0+Y29yZUZyYW1lKCktPmluaXQoKTsK
LQogICAgIHJldHVybiBmcmFtZS5yZWxlYXNlKCk7CiB9CiAKLVdlYkZyYW1lOjpXZWJGcmFtZShX
ZWJQYWdlKiBwYWdlLCBjb25zdCBTdHJpbmcmIGZyYW1lTmFtZSwgSFRNTEZyYW1lT3duZXJFbGVt
ZW50KiBvd25lckVsZW1lbnQpCitXZWJGcmFtZTo6V2ViRnJhbWUoKQogICAgIDogbV9jb3JlRnJh
bWUoMCkKICAgICAsIG1fcG9saWN5TGlzdGVuZXJJRCgwKQogICAgICwgbV9wb2xpY3lGdW5jdGlv
bigwKQpAQCAtMTA0LDE2ICsxMTUsNiBAQCBXZWJGcmFtZTo6V2ViRnJhbWUoV2ViUGFnZSogcGFn
ZSwgY29uc3QgCiB7CiAgICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkuYWRkV2ViRnJhbWUobV9mcmFt
ZUlELCB0aGlzKTsKIAotICAgIFJlZlB0cjxGcmFtZT4gZnJhbWUgPSBGcmFtZTo6Y3JlYXRlKHBh
Z2UtPmNvcmVQYWdlKCksIG93bmVyRWxlbWVudCwgJm1fZnJhbWVMb2FkZXJDbGllbnQpOwotICAg
IG1fY29yZUZyYW1lID0gZnJhbWUuZ2V0KCk7Ci0KLSAgICBmcmFtZS0+dHJlZSgpLT5zZXROYW1l
KGZyYW1lTmFtZSk7Ci0KLSAgICBpZiAob3duZXJFbGVtZW50KSB7Ci0gICAgICAgIEFTU0VSVChv
d25lckVsZW1lbnQtPmRvY3VtZW50KCktPmZyYW1lKCkpOwotICAgICAgICBvd25lckVsZW1lbnQt
PmRvY3VtZW50KCktPmZyYW1lKCktPnRyZWUoKS0+YXBwZW5kQ2hpbGQoZnJhbWUpOwotICAgIH0K
LQogI2lmbmRlZiBOREVCVUcKICAgICB3ZWJGcmFtZUNvdW50ZXIuaW5jcmVtZW50KCk7CiAjZW5k
aWYKQEAgLTEyOCw2ICsxMjksMjEgQEAgV2ViRnJhbWU6On5XZWJGcmFtZSgpCiAjZW5kaWYKIH0K
IAordm9pZCBXZWJGcmFtZTo6aW5pdChXZWJQYWdlKiBwYWdlLCBjb25zdCBTdHJpbmcmIGZyYW1l
TmFtZSwgSFRNTEZyYW1lT3duZXJFbGVtZW50KiBvd25lckVsZW1lbnQpCit7CisgICAgUmVmUHRy
PEZyYW1lPiBmcmFtZSA9IEZyYW1lOjpjcmVhdGUocGFnZS0+Y29yZVBhZ2UoKSwgb3duZXJFbGVt
ZW50LCAmbV9mcmFtZUxvYWRlckNsaWVudCk7CisgICAgbV9jb3JlRnJhbWUgPSBmcmFtZS5nZXQo
KTsKKworICAgIGZyYW1lLT50cmVlKCktPnNldE5hbWUoZnJhbWVOYW1lKTsKKworICAgIGlmIChv
d25lckVsZW1lbnQpIHsKKyAgICAgICAgQVNTRVJUKG93bmVyRWxlbWVudC0+ZG9jdW1lbnQoKS0+
ZnJhbWUoKSk7CisgICAgICAgIG93bmVyRWxlbWVudC0+ZG9jdW1lbnQoKS0+ZnJhbWUoKS0+dHJl
ZSgpLT5hcHBlbmRDaGlsZChmcmFtZSk7CisgICAgfQorCisgICAgZnJhbWUtPmluaXQoKTsKK30K
KwogV2ViUGFnZSogV2ViRnJhbWU6OnBhZ2UoKSBjb25zdAogeyAKICAgICBpZiAoIW1fY29yZUZy
YW1lKQpJbmRleDogV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViRnJhbWUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJGcmFtZS5oCShyZXZpc2lvbiA3
MDE4MykKKysrIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkZyYW1lLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTEwNCw4ICsxMDQsMTAgQEAgcHVibGljOgogICAgIExvYWRMaXN0ZW5lciogbG9h
ZExpc3RlbmVyKCkgY29uc3QgeyByZXR1cm4gbV9sb2FkTGlzdGVuZXI7IH0KIAogcHJpdmF0ZToK
LSAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJGcmFtZT4gY3JlYXRlKFdlYlBhZ2UqLCBjb25zdCBT
dHJpbmcmIGZyYW1lTmFtZSwgV2ViQ29yZTo6SFRNTEZyYW1lT3duZXJFbGVtZW50Kik7Ci0gICAg
V2ViRnJhbWUoV2ViUGFnZSosIGNvbnN0IFN0cmluZyYgZnJhbWVOYW1lLCBXZWJDb3JlOjpIVE1M
RnJhbWVPd25lckVsZW1lbnQqKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJGcmFtZT4gY3Jl
YXRlKCk7CisgICAgV2ViRnJhbWUoKTsKKworICAgIHZvaWQgaW5pdChXZWJQYWdlKiwgY29uc3Qg
U3RyaW5nJiBmcmFtZU5hbWUsIFdlYkNvcmU6OkhUTUxGcmFtZU93bmVyRWxlbWVudCopOwogCiAg
ICAgdmlydHVhbCBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBBUElUeXBlOyB9CiAKSW5kZXg6
IFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCShyZXZpc2lvbiA3MDE4MykKKysr
IFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMjksNyArMTI5LDYgQEAgV2ViUGFnZTo6V2ViUGFnZSh1aW50NjRfdCBwYWdlSUQsIGNvbnN0
IAogICAgIFNldHRpbmdzOjpzZXRNaW5ET01UaW1lckludGVydmFsKDAuMDA0KTsKIAogICAgIG1f
bWFpbkZyYW1lID0gV2ViRnJhbWU6OmNyZWF0ZU1haW5GcmFtZSh0aGlzKTsKLSAgICBXZWJQcm9j
ZXNzOjpzaGFyZWQoKS5jb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6
RGlkQ3JlYXRlTWFpbkZyYW1lKG1fbWFpbkZyYW1lLT5mcmFtZUlEKCkpLCBtX3BhZ2VJRCk7CiAK
ICNpZm5kZWYgTkRFQlVHCiAgICAgd2ViUGFnZUNvdW50ZXIuaW5jcmVtZW50KCk7CkluZGV4OiBX
ZWJLaXRUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MDIwMykKKysrIFdlYktpdFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDE5IEBACisyMDEwLTEwLTIwICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTnVs
bCBmcmFtZSBwYXNzZWQgd2hlbiBydW5uaW5nIGFsZXJ0IGZyb20gVXNlclNjcmlwdCBydW4gYXQg
ZG9jdW1lbnQgc3RhcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQ4MDM2CisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL0luamVjdGVkQnVuZGxlQ29u
dHJvbGxlci5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpJbmplY3RlZEJ1bmRsZUNvbnRy
b2xsZXI6OmRpZFJlY2VpdmVNZXNzYWdlKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OkluamVj
dGVkQnVuZGxlQ29udHJvbGxlcjo6aW5pdGlhbGl6ZVRlc3ROYW1lZCk6CisgICAgICAgICogVGVz
dFdlYktpdEFQSS9JbmplY3RlZEJ1bmRsZUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBUZXN0V2Vi
S2l0QVBJL0luamVjdGVkQnVuZGxlVGVzdC5oOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6SW5q
ZWN0ZWRCdW5kbGVUZXN0Ojppbml0aWFsaXplKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rl
c3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgQWRkIHRlc3Qg
Zm9yIGludm9raW5nIGFuIGFsZXJ0IGR1cmluZyBhIFVzZXJTY3JpcHQgcnVuIGF0IGRvY3VtZW50
IHN0YXJ0LgorCiAyMDEwLTEwLTIwICBBZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxlLmNvbT4KICAg
ICAgICAgCiAgICAgICAgIFdpbmRvd3MgYnVpbGQgZml4CkBAIC0xNSw4ICszMSw4IEBACiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBSb2Jlbi4KIAotICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDgwMjcKICAgICAgICAgQWRkIGFiaWxpdHkgdG8gdGVz
dCBpbmplY3RlZCBidW5kbGUgQVBJIHVzaW5nIFRlc3RXZWJLaXRBUEkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ4MDI3CiAKICAgICAgICAgKiBUZXN0
V2ViS2l0QVBJL0luamVjdGVkQnVuZGxlQ29udHJvbGxlci5jcHA6IEFkZGVkLgogICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvSW5qZWN0ZWRCdW5kbGVDb250cm9sbGVyLmg6IEFkZGVkLgpJbmRleDog
V2ViS2l0VG9vbHMvVGVzdFdlYktpdEFQSS9JbmplY3RlZEJ1bmRsZUNvbnRyb2xsZXIuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL1Rlc3RXZWJLaXRBUEkvSW5qZWN0ZWRCdW5kbGVDb250
cm9sbGVyLmNwcAkocmV2aXNpb24gNzAxOTQpCisrKyBXZWJLaXRUb29scy9UZXN0V2ViS2l0QVBJ
L0luamVjdGVkQnVuZGxlQ29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgxLDcgKzgx
LDcgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZUNvbnRyb2xsZXI6OmRpZFJlY2VpdgogICAgICAgICBh
c3NlcnQoV0tHZXRUeXBlSUQobWVzc2FnZUJvZHkpID09IFdLU3RyaW5nR2V0VHlwZUlEKCkpOwog
ICAgICAgICBXS1N0cmluZ1JlZiBtZXNzYWdlQm9keVN0cmluZyA9IHN0YXRpY19jYXN0PFdLU3Ry
aW5nUmVmPihtZXNzYWdlQm9keSk7CiAKLSAgICAgICAgc2VsZi0+aW5pdGlhbGl6ZVRlc3ROYW1l
ZChVdGlsOjp0b1NURChtZXNzYWdlQm9keVN0cmluZykpOworICAgICAgICBzZWxmLT5pbml0aWFs
aXplVGVzdE5hbWVkKGJ1bmRsZSwgVXRpbDo6dG9TVEQobWVzc2FnZUJvZHlTdHJpbmcpKTsKIAog
ICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtOTgsNyArOTgsNyBAQCB2b2lkIEluamVjdGVkQnVu
ZGxlQ29udHJvbGxlcjo6ZHVtcFRlc3ROCiAgICAgICAgIHByaW50ZigiJXNcbiIsICgqaXQpLmZp
cnN0LmNfc3RyKCkpOwogfQogCi12b2lkIEluamVjdGVkQnVuZGxlQ29udHJvbGxlcjo6aW5pdGlh
bGl6ZVRlc3ROYW1lZChjb25zdCBzdGQ6OnN0cmluZyYgaWRlbnRpZmllcikKK3ZvaWQgSW5qZWN0
ZWRCdW5kbGVDb250cm9sbGVyOjppbml0aWFsaXplVGVzdE5hbWVkKFdLQnVuZGxlUmVmIGJ1bmRs
ZSwgY29uc3Qgc3RkOjpzdHJpbmcmIGlkZW50aWZpZXIpCiB7CiAgICAgQ3JlYXRlSW5qZWN0ZWRC
dW5kbGVUZXN0RnVuY3Rpb24gY3JlYXRlVGVzdEZ1bmN0aW9uID0gbV9jcmVhdGVJbmplY3RlZEJ1
bmRsZVRlc3RGdW5jdGlvbnNbaWRlbnRpZmllcl07CiAgICAgaWYgKCFjcmVhdGVUZXN0RnVuY3Rp
b24pIHsKQEAgLTEwNyw3ICsxMDcsNyBAQCB2b2lkIEluamVjdGVkQnVuZGxlQ29udHJvbGxlcjo6
aW5pdGlhbGl6CiAgICAgfQogCiAgICAgbV9jdXJyZW50VGVzdCA9IGNyZWF0ZVRlc3RGdW5jdGlv
bihpZGVudGlmaWVyKTsKLSAgICBtX2N1cnJlbnRUZXN0LT5pbml0aWFsaXplKCk7CisgICAgbV9j
dXJyZW50VGVzdC0+aW5pdGlhbGl6ZShidW5kbGUpOwogfQogCiB2b2lkIEluamVjdGVkQnVuZGxl
Q29udHJvbGxlcjo6cmVnaXN0ZXJDcmVhdGVJbmplY3RlZEJ1bmRsZVRlc3RGdW5jdGlvbihjb25z
dCBzdGQ6OnN0cmluZyYgaWRlbnRpZmllciwgQ3JlYXRlSW5qZWN0ZWRCdW5kbGVUZXN0RnVuY3Rp
b24gZnVuY3Rpb24pCkluZGV4OiBXZWJLaXRUb29scy9UZXN0V2ViS2l0QVBJL0luamVjdGVkQnVu
ZGxlQ29udHJvbGxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL1Rlc3RXZWJLaXRBUEkv
SW5qZWN0ZWRCdW5kbGVDb250cm9sbGVyLmgJKHJldmlzaW9uIDcwMTk0KQorKysgV2ViS2l0VG9v
bHMvVGVzdFdlYktpdEFQSS9JbmplY3RlZEJ1bmRsZUNvbnRyb2xsZXIuaAkod29ya2luZyBjb3B5
KQpAQCAtNDEsNyArNDEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBpbml0aWFsaXplKFdLQnVuZGxl
UmVmKTsKIAogICAgIHZvaWQgZHVtcFRlc3ROYW1lcygpOwotICAgIHZvaWQgaW5pdGlhbGl6ZVRl
c3ROYW1lZChjb25zdCBzdGQ6OnN0cmluZyYpOworICAgIHZvaWQgaW5pdGlhbGl6ZVRlc3ROYW1l
ZChXS0J1bmRsZVJlZiBidW5kbGUsIGNvbnN0IHN0ZDo6c3RyaW5nJik7CiAKICAgICB0eXBlZGVm
IEluamVjdGVkQnVuZGxlVGVzdCogKCpDcmVhdGVJbmplY3RlZEJ1bmRsZVRlc3RGdW5jdGlvbiko
Y29uc3Qgc3RkOjpzdHJpbmcmKTsKICAgICB2b2lkIHJlZ2lzdGVyQ3JlYXRlSW5qZWN0ZWRCdW5k
bGVUZXN0RnVuY3Rpb24oY29uc3Qgc3RkOjpzdHJpbmcmLCBDcmVhdGVJbmplY3RlZEJ1bmRsZVRl
c3RGdW5jdGlvbik7CkluZGV4OiBXZWJLaXRUb29scy9UZXN0V2ViS2l0QVBJL0luamVjdGVkQnVu
ZGxlVGVzdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL1Rlc3RXZWJLaXRBUEkvSW5qZWN0
ZWRCdW5kbGVUZXN0LmgJKHJldmlzaW9uIDcwMTk0KQorKysgV2ViS2l0VG9vbHMvVGVzdFdlYktp
dEFQSS9JbmplY3RlZEJ1bmRsZVRlc3QuaAkod29ya2luZyBjb3B5KQpAQCAtMzQsNyArMzQsNyBA
QCBjbGFzcyBJbmplY3RlZEJ1bmRsZVRlc3QgewogcHVibGljOgogICAgIHZpcnR1YWwgfkluamVj
dGVkQnVuZGxlVGVzdCgpIHsgfQogCi0gICAgdmlydHVhbCB2b2lkIGluaXRpYWxpemUoKSB7IH0K
KyAgICB2aXJ0dWFsIHZvaWQgaW5pdGlhbGl6ZShXS0J1bmRsZVJlZikgeyB9CiAKICAgICB2aXJ0
dWFsIHZvaWQgZGlkQ3JlYXRlUGFnZShXS0J1bmRsZVJlZiwgV0tCdW5kbGVQYWdlUmVmKSB7IH0K
ICAgICB2aXJ0dWFsIHZvaWQgd2lsbERlc3Ryb3lQYWdlKFdLQnVuZGxlUmVmLCBXS0J1bmRsZVBh
Z2VSZWYpIHsgfQpJbmRleDogV2ViS2l0VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJ
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlz
aW9uIDcwMTk0KQorKysgV2ViS2l0VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDggQEAK
IAkJQkM5MDk5NUUxMjU2N0JDMTAwMDgzNzU2IC8qIFdLU3RyaW5nLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDOTA5OTVEMTI1NjdCQzEwMDA4Mzc1
NiAvKiBXS1N0cmluZy5jcHAgKi87IH07CiAJCUJDOTA5OTk0MTI1NkFDRjEwMDA4Mzc1NiAvKiBX
S1N0cmluZ0pTU3RyaW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEJDOTA5OTkzMTI1NkFDRjEwMDA4Mzc1NiAvKiBXS1N0cmluZ0pTU3RyaW5nLmNw
cCAqLzsgfTsKIAkJQkNBNjFEQjUxMTcwMEVGRDAwNDYwRDFFIC8qIFdlYktpdDIuZnJhbWV3b3Jr
IGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNBNjFE
QjQxMTcwMEVGRDAwNDYwRDFFIC8qIFdlYktpdDIuZnJhbWV3b3JrICovOyB9OworCQlCQ0I2ODA0
MDEyNkZCRkUxMDA2NDJBNjEgLyogRG9jdW1lbnRTdGFydFVzZXJTY3JpcHRBbGVydENyYXNoLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQjY4MDNG
MTI2RkJGRTEwMDY0MkE2MSAvKiBEb2N1bWVudFN0YXJ0VXNlclNjcmlwdEFsZXJ0Q3Jhc2guY3Bw
ICovOyB9OworCQlCQ0I2ODA0MjEyNkZCRkYxMDA2NDJBNjEgLyogRG9jdW1lbnRTdGFydFVzZXJT
Y3JpcHRBbGVydENyYXNoX0J1bmRsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCQ0I2ODA0MTEyNkZCRkYxMDA2NDJBNjEgLyogRG9jdW1lbnRTdGFy
dFVzZXJTY3JpcHRBbGVydENyYXNoX0J1bmRsZS5jcHAgKi87IH07CiAJCUJDQjlFOUYxMTEyMzVC
REUwMEExMzdFMCAvKiBDb2NvYS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0I5RTlGMDExMjM1QkRFMDBBMTM3RTAgLyogQ29jb2Eu
ZnJhbWV3b3JrICovOyB9OwogCQlCQ0JEMzcxMDEyNUFBMkVCMDBEMkMyOUYgLyogRnJhbWVNSU1F
VHlwZUhUTUwuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQkNCRDM3MEYxMjVBQTJFQjAwRDJDMjlGIC8qIEZyYW1lTUlNRVR5cGVIVE1MLmNwcCAqLzsg
fTsKIAkJQkNCRDM3MzcxMjVBQkJFQjAwRDJDMjlGIC8qIGljb24ucG5nIGluIENvcHkgUmVzb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQkQzNzJFMTI1QUJCRTYw
MEQyQzI5RiAvKiBpY29uLnBuZyAqLzsgfTsKQEAgLTQ1LDcgKzQ3LDcgQEAKIAkJCWlzYSA9IFBC
WENvbnRhaW5lckl0ZW1Qcm94eTsKIAkJCWNvbnRhaW5lclBvcnRhbCA9IDA4RkI3NzkzRkU4NDE1
NURDMDJBQUMwNyAvKiBQcm9qZWN0IG9iamVjdCAqLzsKIAkJCXByb3h5VHlwZSA9IDE7Ci0JCQly
ZW1vdGVHbG9iYWxJRFN0cmluZyA9IEJDNTc1OTdGMTI2RTc0QUYwMDZGMEYxMiAvKiBJbmplY3Rl
ZEJ1bmRsZSAqLzsKKwkJCXJlbW90ZUdsb2JhbElEU3RyaW5nID0gQkM1NzU5N0YxMjZFNzRBRjAw
NkYwRjEyOwogCQkJcmVtb3RlSW5mbyA9IEluamVjdGVkQnVuZGxlOwogCQl9OwogLyogRW5kIFBC
WENvbnRhaW5lckl0ZW1Qcm94eSBzZWN0aW9uICovCkBAIC0xMDcsNiArMTA5LDggQEAKIAkJQkM5
MDk5NUQxMjU2N0JDMTAwMDgzNzU2IC8qIFdLU3RyaW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFdLU3RyaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQkM5MDk5OTMxMjU2QUNGMTAwMDgzNzU2IC8qIFdLU3RyaW5nSlNTdHJpbmcuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tTdHJpbmdKU1N0cmluZy5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDQTYxREI0MTE3MDBFRkQwMDQ2MEQxRSAv
KiBXZWJLaXQyLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBwYXRoID0gV2ViS2l0Mi5mcmFtZXdvcms7
IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCUJDQjY4MDNGMTI2RkJGRTEw
MDY0MkE2MSAvKiBEb2N1bWVudFN0YXJ0VXNlclNjcmlwdEFsZXJ0Q3Jhc2guY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRG9jdW1lbnRTdGFydFVzZXJTY3JpcHRBbGVy
dENyYXNoLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkNCNjgwNDExMjZGQkZG
MTAwNjQyQTYxIC8qIERvY3VtZW50U3RhcnRVc2VyU2NyaXB0QWxlcnRDcmFzaF9CdW5kbGUuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRG9jdW1lbnRTdGFydFVzZXJT
Y3JpcHRBbGVydENyYXNoX0J1bmRsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUJDQjlFN0M3MTEyMzRFM0EwMEExMzdFMCAvKiBUZXN0c0NvbnRyb2xsZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGVzdHNDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUJDQjlFN0ZBMTEyMzU5QTMwMEExMzdFMCAvKiBUZXN0LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRlc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQkNCOUU5RjAxMTIzNUJERTAwQTEzN0UwIC8qIENvY29hLmZyYW1ld29yayAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJh
bWV3b3JrOyBuYW1lID0gQ29jb2EuZnJhbWV3b3JrOyBwYXRoID0gU3lzdGVtL0xpYnJhcnkvRnJh
bWV3b3Jrcy9Db2NvYS5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSBTREtST09UOyB9OwpAQCAtMjI5
LDYgKzIzMyw4IEBACiAJCQkJQkNDOEI5NUExMjYxMUY0NzAwREU0NkE0IC8qIEZhaWxlZExvYWQu
Y3BwICovLAogCQkJCUJDNTc1QUFDMTI2RTgzQjkwMDZGMEYxMiAvKiBJbmplY3RlZEJ1bmRsZUJh
c2ljLmNwcCAqLywKIAkJCQlCQzU3NUFBRjEyNkU4M0M4MDA2RjBGMTIgLyogSW5qZWN0ZWRCdW5k
bGVCYXNpY19CdW5kbGUuY3BwICovLAorCQkJCUJDQjY4MDNGMTI2RkJGRTEwMDY0MkE2MSAvKiBE
b2N1bWVudFN0YXJ0VXNlclNjcmlwdEFsZXJ0Q3Jhc2guY3BwICovLAorCQkJCUJDQjY4MDQxMTI2
RkJGRjEwMDY0MkE2MSAvKiBEb2N1bWVudFN0YXJ0VXNlclNjcmlwdEFsZXJ0Q3Jhc2hfQnVuZGxl
LmNwcCAqLywKIAkJCSk7CiAJCQlwYXRoID0gV2ViS2l0MjsKIAkJCXNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7CkBAIC0zNjYsNiArMzcyLDcgQEAKIAkJCQlDMDJCNzdGMjEyNjYxMjE0MDAyNkJGMEYg
LyogU3BhY2ViYXJTY3JvbGxpbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM1NzVBQUQxMjZF
ODNCOTAwNkYwRjEyIC8qIEluamVjdGVkQnVuZGxlQmFzaWMuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQkM1NzVCQzAxMjZGNTc1MjAwNkYwRjEyIC8qIFBsYXRmb3JtVXRpbGl0aWVzLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCUJDQjY4MDQwMTI2RkJGRTEwMDY0MkE2MSAvKiBEb2N1bWVudFN0YXJ0
VXNlclNjcmlwdEFsZXJ0Q3Jhc2guY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25s
eUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0zNzgsNiArMzg1LDcg
QEAKIAkJCQlCQzU3NUFCMDEyNkU4M0M4MDA2RjBGMTIgLyogSW5qZWN0ZWRCdW5kbGVCYXNpY19C
dW5kbGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM1NzVCRDkxMjZGNThFMjAwNkYwRjEyIC8q
IFBsYXRmb3JtVXRpbGl0aWVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNTc1QkUwMTI2RjU5
MEQwMDZGMEYxMiAvKiBQbGF0Zm9ybVV0aWxpdGllc01hYy5tbSBpbiBTb3VyY2VzICovLAorCQkJ
CUJDQjY4MDQyMTI2RkJGRjEwMDY0MkE2MSAvKiBEb2N1bWVudFN0YXJ0VXNlclNjcmlwdEFsZXJ0
Q3Jhc2hfQnVuZGxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBs
b3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9Owo=
</data>
<flag name="review"
          id="61417"
          type_id="1"
          status="-"
          setter="andersca"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71444</attachid>
            <date>2010-10-21 08:44:58 -0700</date>
            <delta_ts>2010-10-21 09:39:57 -0700</delta_ts>
            <desc>Now with all the files.</desc>
            <filename>jess.diff</filename>
            <type>text/plain</type>
            <size>20920</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MDIwMykKKysrIFdlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjYgQEAKKzIwMTAtMTAtMjAgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOdWxsIGZy
YW1lIHBhc3NlZCB3aGVuIHJ1bm5pbmcgYWxlcnQgZnJvbSBVc2VyU2NyaXB0IHJ1biBhdCBkb2N1
bWVudCBzdGFydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDgwMzYKKworICAgICAgICBEb24ndCBpbml0aWFsaXplIGEgRnJhbWUgdW50aWwgYWZ0ZXIg
d2UgaGF2ZSBub3RpZmllZCB0aGUgVUlQcm9jZXNzIG9mIGl0cyBjcmVhdGlvbi4KKyAgICAgICAg
VGhpcyBpcyBuZWNlc3Nhcnkgc2luY2UgYXJiaXRyYXJ5IGFjdGlvbnMgY2FuIGhhcHBlbiBkdXJp
bmcgdGhlIGNhbGwgdG8gRnJhbWU6OmluaXQoKQorICAgICAgICBzdWNoIGFzIHRoZSBydW5uaW5n
IG9mIFVzZXJTY3JpcHRzLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJGcmFtZUxvYWRlckNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lTG9hZGVy
Q2xpZW50OjpjcmVhdGVGcmFtZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkZy
YW1lLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWU6OmNyZWF0ZU1haW5GcmFtZSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkZyYW1lOjpjcmVhdGVTdWJmcmFtZSk6CisgICAgICAgIChXZWJL
aXQ6OldlYkZyYW1lOjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZTo6V2ViRnJh
bWUpOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZTo6aW5pdCk6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYkZyYW1lLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpXZWJQYWdlKToKKwogMjAxMC0x
MC0xNCAgQWRhbSBSb2JlbiAgPGFyb2JlbkBhcHBsZS5jb20+CiAKICAgICAgICAgRG9uJ3QgcmVx
dWlyZSB0aGUgcGx1Z2luIHRvIGFsd2F5cyB1c2UgdGhlIHNhbWUgTlBQIHN0cnVjdCB3ZSBnYXZl
IGl0CkluZGV4OiBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2Fk
ZXJDbGllbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAJKHJldmlzaW9uIDcwMTgzKQorKysgV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtOTUyLDkgKzk1Miw2IEBAIFBhc3NSZWZQdHI8RnJhbWU+IFdlYkZyYW1l
TG9hZGVyQ2xpZW50OjoKIAogICAgIFJlZlB0cjxXZWJGcmFtZT4gc3ViZnJhbWUgPSBXZWJGcmFt
ZTo6Y3JlYXRlU3ViZnJhbWUod2ViUGFnZSwgbmFtZSwgb3duZXJFbGVtZW50KTsKIAotICAgIC8v
IE5vdGlmeSB0aGUgVUkgcHJvY2VzcyB0aGF0IHN1YmZyYW1lIGhhcyBiZWVuIGFkZGVkLgotICAg
IFdlYlByb2Nlc3M6OnNoYXJlZCgpLmNvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViUGFn
ZVByb3h5OjpEaWRDcmVhdGVTdWJGcmFtZShzdWJmcmFtZS0+ZnJhbWVJRCgpKSwgd2ViUGFnZS0+
cGFnZUlEKCkpOwotCiAgICAgRnJhbWUqIGNvcmVTdWJmcmFtZSA9IHN1YmZyYW1lLT5jb3JlRnJh
bWUoKTsKIAogICAgICAvLyBUaGUgY3JlYXRpb24gb2YgdGhlIGZyYW1lIG1heSBoYXZlIHJ1biBh
cmJpdHJhcnkgSmF2YVNjcmlwdCB0aGF0IHJlbW92ZWQgaXQgZnJvbSB0aGUgcGFnZSBhbHJlYWR5
LgpJbmRleDogV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViRnJhbWUuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkZyYW1lLmNwcAkocmV2aXNpb24g
NzAxODMpCisrKyBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJGcmFtZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZVNjcmlw
dFdvcmxkLmgiCiAjaW5jbHVkZSAiV2ViQ2hyb21lQ2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViUGFn
ZS5oIgorI2luY2x1ZGUgIldlYlBhZ2VQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUHJv
Y2Vzcy5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0FQSUNhc3QuaD4KICNpbmNsdWRlIDxK
YXZhU2NyaXB0Q29yZS9KU0xvY2suaD4KQEAgLTc0LDI3ICs3NSwzNyBAQCBzdGF0aWMgdWludDY0
X3QgZ2VuZXJhdGVMaXN0ZW5lcklEKCkKIAogUGFzc1JlZlB0cjxXZWJGcmFtZT4gV2ViRnJhbWU6
OmNyZWF0ZU1haW5GcmFtZShXZWJQYWdlKiBwYWdlKQogewotICAgIHJldHVybiBjcmVhdGUocGFn
ZSwgU3RyaW5nKCksIDApOworICAgIFJlZlB0cjxXZWJGcmFtZT4gZnJhbWUgPSBjcmVhdGUoKTsK
KworICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLmNvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6
V2ViUGFnZVByb3h5OjpEaWRDcmVhdGVNYWluRnJhbWUoZnJhbWUtPmZyYW1lSUQoKSksIHBhZ2Ut
PnBhZ2VJRCgpKTsKKworICAgIGZyYW1lLT5pbml0KHBhZ2UsIFN0cmluZygpLCAwKTsKKworICAg
IHJldHVybiBmcmFtZS5yZWxlYXNlKCk7CiB9CiAKIFBhc3NSZWZQdHI8V2ViRnJhbWU+IFdlYkZy
YW1lOjpjcmVhdGVTdWJmcmFtZShXZWJQYWdlKiBwYWdlLCBjb25zdCBTdHJpbmcmIGZyYW1lTmFt
ZSwgSFRNTEZyYW1lT3duZXJFbGVtZW50KiBvd25lckVsZW1lbnQpCiB7Ci0gICAgcmV0dXJuIGNy
ZWF0ZShwYWdlLCBmcmFtZU5hbWUsIG93bmVyRWxlbWVudCk7CisgICAgUmVmUHRyPFdlYkZyYW1l
PiBmcmFtZSA9IGNyZWF0ZSgpOworCisgICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkuY29ubmVjdGlv
bigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZENyZWF0ZVN1YkZyYW1lKGZyYW1l
LT5mcmFtZUlEKCkpLCBwYWdlLT5wYWdlSUQoKSk7CisKKyAgICBmcmFtZS0+aW5pdChwYWdlLCBm
cmFtZU5hbWUsIG93bmVyRWxlbWVudCk7CisKKyAgICByZXR1cm4gZnJhbWUucmVsZWFzZSgpOwog
fQogCi1QYXNzUmVmUHRyPFdlYkZyYW1lPiBXZWJGcmFtZTo6Y3JlYXRlKFdlYlBhZ2UqIHBhZ2Us
IGNvbnN0IFN0cmluZyYgZnJhbWVOYW1lLCBIVE1MRnJhbWVPd25lckVsZW1lbnQqIG93bmVyRWxl
bWVudCkKK1Bhc3NSZWZQdHI8V2ViRnJhbWU+IFdlYkZyYW1lOjpjcmVhdGUoKQogewotICAgIFJl
ZlB0cjxXZWJGcmFtZT4gZnJhbWUgPSBhZG9wdFJlZihuZXcgV2ViRnJhbWUocGFnZSwgZnJhbWVO
YW1lLCBvd25lckVsZW1lbnQpKTsKKyAgICBSZWZQdHI8V2ViRnJhbWU+IGZyYW1lID0gYWRvcHRS
ZWYobmV3IFdlYkZyYW1lKTsKIAogICAgIC8vIEFkZCBleHBsaWN0IHJlZigpIHRoYXQgd2lsbCBi
ZSBiYWxhbmNlZCBpbiBXZWJGcmFtZUxvYWRlckNsaWVudDo6ZnJhbWVMb2FkZXJEZXN0cm95ZWQo
KS4KICAgICBmcmFtZS0+cmVmKCk7CiAKLSAgICBmcmFtZS0+Y29yZUZyYW1lKCktPmluaXQoKTsK
LQogICAgIHJldHVybiBmcmFtZS5yZWxlYXNlKCk7CiB9CiAKLVdlYkZyYW1lOjpXZWJGcmFtZShX
ZWJQYWdlKiBwYWdlLCBjb25zdCBTdHJpbmcmIGZyYW1lTmFtZSwgSFRNTEZyYW1lT3duZXJFbGVt
ZW50KiBvd25lckVsZW1lbnQpCitXZWJGcmFtZTo6V2ViRnJhbWUoKQogICAgIDogbV9jb3JlRnJh
bWUoMCkKICAgICAsIG1fcG9saWN5TGlzdGVuZXJJRCgwKQogICAgICwgbV9wb2xpY3lGdW5jdGlv
bigwKQpAQCAtMTA0LDE2ICsxMTUsNiBAQCBXZWJGcmFtZTo6V2ViRnJhbWUoV2ViUGFnZSogcGFn
ZSwgY29uc3QgCiB7CiAgICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkuYWRkV2ViRnJhbWUobV9mcmFt
ZUlELCB0aGlzKTsKIAotICAgIFJlZlB0cjxGcmFtZT4gZnJhbWUgPSBGcmFtZTo6Y3JlYXRlKHBh
Z2UtPmNvcmVQYWdlKCksIG93bmVyRWxlbWVudCwgJm1fZnJhbWVMb2FkZXJDbGllbnQpOwotICAg
IG1fY29yZUZyYW1lID0gZnJhbWUuZ2V0KCk7Ci0KLSAgICBmcmFtZS0+dHJlZSgpLT5zZXROYW1l
KGZyYW1lTmFtZSk7Ci0KLSAgICBpZiAob3duZXJFbGVtZW50KSB7Ci0gICAgICAgIEFTU0VSVChv
d25lckVsZW1lbnQtPmRvY3VtZW50KCktPmZyYW1lKCkpOwotICAgICAgICBvd25lckVsZW1lbnQt
PmRvY3VtZW50KCktPmZyYW1lKCktPnRyZWUoKS0+YXBwZW5kQ2hpbGQoZnJhbWUpOwotICAgIH0K
LQogI2lmbmRlZiBOREVCVUcKICAgICB3ZWJGcmFtZUNvdW50ZXIuaW5jcmVtZW50KCk7CiAjZW5k
aWYKQEAgLTEyOCw2ICsxMjksMjEgQEAgV2ViRnJhbWU6On5XZWJGcmFtZSgpCiAjZW5kaWYKIH0K
IAordm9pZCBXZWJGcmFtZTo6aW5pdChXZWJQYWdlKiBwYWdlLCBjb25zdCBTdHJpbmcmIGZyYW1l
TmFtZSwgSFRNTEZyYW1lT3duZXJFbGVtZW50KiBvd25lckVsZW1lbnQpCit7CisgICAgUmVmUHRy
PEZyYW1lPiBmcmFtZSA9IEZyYW1lOjpjcmVhdGUocGFnZS0+Y29yZVBhZ2UoKSwgb3duZXJFbGVt
ZW50LCAmbV9mcmFtZUxvYWRlckNsaWVudCk7CisgICAgbV9jb3JlRnJhbWUgPSBmcmFtZS5nZXQo
KTsKKworICAgIGZyYW1lLT50cmVlKCktPnNldE5hbWUoZnJhbWVOYW1lKTsKKworICAgIGlmIChv
d25lckVsZW1lbnQpIHsKKyAgICAgICAgQVNTRVJUKG93bmVyRWxlbWVudC0+ZG9jdW1lbnQoKS0+
ZnJhbWUoKSk7CisgICAgICAgIG93bmVyRWxlbWVudC0+ZG9jdW1lbnQoKS0+ZnJhbWUoKS0+dHJl
ZSgpLT5hcHBlbmRDaGlsZChmcmFtZSk7CisgICAgfQorCisgICAgZnJhbWUtPmluaXQoKTsKK30K
KwogV2ViUGFnZSogV2ViRnJhbWU6OnBhZ2UoKSBjb25zdAogeyAKICAgICBpZiAoIW1fY29yZUZy
YW1lKQpJbmRleDogV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViRnJhbWUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJGcmFtZS5oCShyZXZpc2lvbiA3
MDE4MykKKysrIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkZyYW1lLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTEwNCw4ICsxMDQsMTAgQEAgcHVibGljOgogICAgIExvYWRMaXN0ZW5lciogbG9h
ZExpc3RlbmVyKCkgY29uc3QgeyByZXR1cm4gbV9sb2FkTGlzdGVuZXI7IH0KIAogcHJpdmF0ZToK
LSAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJGcmFtZT4gY3JlYXRlKFdlYlBhZ2UqLCBjb25zdCBT
dHJpbmcmIGZyYW1lTmFtZSwgV2ViQ29yZTo6SFRNTEZyYW1lT3duZXJFbGVtZW50Kik7Ci0gICAg
V2ViRnJhbWUoV2ViUGFnZSosIGNvbnN0IFN0cmluZyYgZnJhbWVOYW1lLCBXZWJDb3JlOjpIVE1M
RnJhbWVPd25lckVsZW1lbnQqKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJGcmFtZT4gY3Jl
YXRlKCk7CisgICAgV2ViRnJhbWUoKTsKKworICAgIHZvaWQgaW5pdChXZWJQYWdlKiwgY29uc3Qg
U3RyaW5nJiBmcmFtZU5hbWUsIFdlYkNvcmU6OkhUTUxGcmFtZU93bmVyRWxlbWVudCopOwogCiAg
ICAgdmlydHVhbCBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBBUElUeXBlOyB9CiAKSW5kZXg6
IFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCShyZXZpc2lvbiA3MDE4MykKKysr
IFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMjksNyArMTI5LDYgQEAgV2ViUGFnZTo6V2ViUGFnZSh1aW50NjRfdCBwYWdlSUQsIGNvbnN0
IAogICAgIFNldHRpbmdzOjpzZXRNaW5ET01UaW1lckludGVydmFsKDAuMDA0KTsKIAogICAgIG1f
bWFpbkZyYW1lID0gV2ViRnJhbWU6OmNyZWF0ZU1haW5GcmFtZSh0aGlzKTsKLSAgICBXZWJQcm9j
ZXNzOjpzaGFyZWQoKS5jb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6
RGlkQ3JlYXRlTWFpbkZyYW1lKG1fbWFpbkZyYW1lLT5mcmFtZUlEKCkpLCBtX3BhZ2VJRCk7CiAK
ICNpZm5kZWYgTkRFQlVHCiAgICAgd2ViUGFnZUNvdW50ZXIuaW5jcmVtZW50KCk7CkluZGV4OiBX
ZWJLaXRUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MDIwMykKKysrIFdlYktpdFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDE5IEBACisyMDEwLTEwLTIwICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTnVs
bCBmcmFtZSBwYXNzZWQgd2hlbiBydW5uaW5nIGFsZXJ0IGZyb20gVXNlclNjcmlwdCBydW4gYXQg
ZG9jdW1lbnQgc3RhcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQ4MDM2CisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL0luamVjdGVkQnVuZGxlQ29u
dHJvbGxlci5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpJbmplY3RlZEJ1bmRsZUNvbnRy
b2xsZXI6OmRpZFJlY2VpdmVNZXNzYWdlKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OkluamVj
dGVkQnVuZGxlQ29udHJvbGxlcjo6aW5pdGlhbGl6ZVRlc3ROYW1lZCk6CisgICAgICAgICogVGVz
dFdlYktpdEFQSS9JbmplY3RlZEJ1bmRsZUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBUZXN0V2Vi
S2l0QVBJL0luamVjdGVkQnVuZGxlVGVzdC5oOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6SW5q
ZWN0ZWRCdW5kbGVUZXN0Ojppbml0aWFsaXplKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rl
c3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgQWRkIHRlc3Qg
Zm9yIGludm9raW5nIGFuIGFsZXJ0IGR1cmluZyBhIFVzZXJTY3JpcHQgcnVuIGF0IGRvY3VtZW50
IHN0YXJ0LgorCiAyMDEwLTEwLTIwICBBZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxlLmNvbT4KICAg
ICAgICAgCiAgICAgICAgIFdpbmRvd3MgYnVpbGQgZml4CkBAIC0xNSw4ICszMSw4IEBACiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBSb2Jlbi4KIAotICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDgwMjcKICAgICAgICAgQWRkIGFiaWxpdHkgdG8gdGVz
dCBpbmplY3RlZCBidW5kbGUgQVBJIHVzaW5nIFRlc3RXZWJLaXRBUEkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ4MDI3CiAKICAgICAgICAgKiBUZXN0
V2ViS2l0QVBJL0luamVjdGVkQnVuZGxlQ29udHJvbGxlci5jcHA6IEFkZGVkLgogICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvSW5qZWN0ZWRCdW5kbGVDb250cm9sbGVyLmg6IEFkZGVkLgpJbmRleDog
V2ViS2l0VG9vbHMvVGVzdFdlYktpdEFQSS9JbmplY3RlZEJ1bmRsZUNvbnRyb2xsZXIuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL1Rlc3RXZWJLaXRBUEkvSW5qZWN0ZWRCdW5kbGVDb250
cm9sbGVyLmNwcAkocmV2aXNpb24gNzAxOTQpCisrKyBXZWJLaXRUb29scy9UZXN0V2ViS2l0QVBJ
L0luamVjdGVkQnVuZGxlQ29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgxLDcgKzgx
LDcgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZUNvbnRyb2xsZXI6OmRpZFJlY2VpdgogICAgICAgICBh
c3NlcnQoV0tHZXRUeXBlSUQobWVzc2FnZUJvZHkpID09IFdLU3RyaW5nR2V0VHlwZUlEKCkpOwog
ICAgICAgICBXS1N0cmluZ1JlZiBtZXNzYWdlQm9keVN0cmluZyA9IHN0YXRpY19jYXN0PFdLU3Ry
aW5nUmVmPihtZXNzYWdlQm9keSk7CiAKLSAgICAgICAgc2VsZi0+aW5pdGlhbGl6ZVRlc3ROYW1l
ZChVdGlsOjp0b1NURChtZXNzYWdlQm9keVN0cmluZykpOworICAgICAgICBzZWxmLT5pbml0aWFs
aXplVGVzdE5hbWVkKGJ1bmRsZSwgVXRpbDo6dG9TVEQobWVzc2FnZUJvZHlTdHJpbmcpKTsKIAog
ICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtOTgsNyArOTgsNyBAQCB2b2lkIEluamVjdGVkQnVu
ZGxlQ29udHJvbGxlcjo6ZHVtcFRlc3ROCiAgICAgICAgIHByaW50ZigiJXNcbiIsICgqaXQpLmZp
cnN0LmNfc3RyKCkpOwogfQogCi12b2lkIEluamVjdGVkQnVuZGxlQ29udHJvbGxlcjo6aW5pdGlh
bGl6ZVRlc3ROYW1lZChjb25zdCBzdGQ6OnN0cmluZyYgaWRlbnRpZmllcikKK3ZvaWQgSW5qZWN0
ZWRCdW5kbGVDb250cm9sbGVyOjppbml0aWFsaXplVGVzdE5hbWVkKFdLQnVuZGxlUmVmIGJ1bmRs
ZSwgY29uc3Qgc3RkOjpzdHJpbmcmIGlkZW50aWZpZXIpCiB7CiAgICAgQ3JlYXRlSW5qZWN0ZWRC
dW5kbGVUZXN0RnVuY3Rpb24gY3JlYXRlVGVzdEZ1bmN0aW9uID0gbV9jcmVhdGVJbmplY3RlZEJ1
bmRsZVRlc3RGdW5jdGlvbnNbaWRlbnRpZmllcl07CiAgICAgaWYgKCFjcmVhdGVUZXN0RnVuY3Rp
b24pIHsKQEAgLTEwNyw3ICsxMDcsNyBAQCB2b2lkIEluamVjdGVkQnVuZGxlQ29udHJvbGxlcjo6
aW5pdGlhbGl6CiAgICAgfQogCiAgICAgbV9jdXJyZW50VGVzdCA9IGNyZWF0ZVRlc3RGdW5jdGlv
bihpZGVudGlmaWVyKTsKLSAgICBtX2N1cnJlbnRUZXN0LT5pbml0aWFsaXplKCk7CisgICAgbV9j
dXJyZW50VGVzdC0+aW5pdGlhbGl6ZShidW5kbGUpOwogfQogCiB2b2lkIEluamVjdGVkQnVuZGxl
Q29udHJvbGxlcjo6cmVnaXN0ZXJDcmVhdGVJbmplY3RlZEJ1bmRsZVRlc3RGdW5jdGlvbihjb25z
dCBzdGQ6OnN0cmluZyYgaWRlbnRpZmllciwgQ3JlYXRlSW5qZWN0ZWRCdW5kbGVUZXN0RnVuY3Rp
b24gZnVuY3Rpb24pCkluZGV4OiBXZWJLaXRUb29scy9UZXN0V2ViS2l0QVBJL0luamVjdGVkQnVu
ZGxlQ29udHJvbGxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL1Rlc3RXZWJLaXRBUEkv
SW5qZWN0ZWRCdW5kbGVDb250cm9sbGVyLmgJKHJldmlzaW9uIDcwMTk0KQorKysgV2ViS2l0VG9v
bHMvVGVzdFdlYktpdEFQSS9JbmplY3RlZEJ1bmRsZUNvbnRyb2xsZXIuaAkod29ya2luZyBjb3B5
KQpAQCAtNDEsNyArNDEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBpbml0aWFsaXplKFdLQnVuZGxl
UmVmKTsKIAogICAgIHZvaWQgZHVtcFRlc3ROYW1lcygpOwotICAgIHZvaWQgaW5pdGlhbGl6ZVRl
c3ROYW1lZChjb25zdCBzdGQ6OnN0cmluZyYpOworICAgIHZvaWQgaW5pdGlhbGl6ZVRlc3ROYW1l
ZChXS0J1bmRsZVJlZiBidW5kbGUsIGNvbnN0IHN0ZDo6c3RyaW5nJik7CiAKICAgICB0eXBlZGVm
IEluamVjdGVkQnVuZGxlVGVzdCogKCpDcmVhdGVJbmplY3RlZEJ1bmRsZVRlc3RGdW5jdGlvbiko
Y29uc3Qgc3RkOjpzdHJpbmcmKTsKICAgICB2b2lkIHJlZ2lzdGVyQ3JlYXRlSW5qZWN0ZWRCdW5k
bGVUZXN0RnVuY3Rpb24oY29uc3Qgc3RkOjpzdHJpbmcmLCBDcmVhdGVJbmplY3RlZEJ1bmRsZVRl
c3RGdW5jdGlvbik7CkluZGV4OiBXZWJLaXRUb29scy9UZXN0V2ViS2l0QVBJL0luamVjdGVkQnVu
ZGxlVGVzdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL1Rlc3RXZWJLaXRBUEkvSW5qZWN0
ZWRCdW5kbGVUZXN0LmgJKHJldmlzaW9uIDcwMTk0KQorKysgV2ViS2l0VG9vbHMvVGVzdFdlYktp
dEFQSS9JbmplY3RlZEJ1bmRsZVRlc3QuaAkod29ya2luZyBjb3B5KQpAQCAtMzQsNyArMzQsNyBA
QCBjbGFzcyBJbmplY3RlZEJ1bmRsZVRlc3QgewogcHVibGljOgogICAgIHZpcnR1YWwgfkluamVj
dGVkQnVuZGxlVGVzdCgpIHsgfQogCi0gICAgdmlydHVhbCB2b2lkIGluaXRpYWxpemUoKSB7IH0K
KyAgICB2aXJ0dWFsIHZvaWQgaW5pdGlhbGl6ZShXS0J1bmRsZVJlZikgeyB9CiAKICAgICB2aXJ0
dWFsIHZvaWQgZGlkQ3JlYXRlUGFnZShXS0J1bmRsZVJlZiwgV0tCdW5kbGVQYWdlUmVmKSB7IH0K
ICAgICB2aXJ0dWFsIHZvaWQgd2lsbERlc3Ryb3lQYWdlKFdLQnVuZGxlUmVmLCBXS0J1bmRsZVBh
Z2VSZWYpIHsgfQpJbmRleDogV2ViS2l0VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJ
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlz
aW9uIDcwMTk0KQorKysgV2ViS2l0VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDggQEAK
IAkJQkM5MDk5NUUxMjU2N0JDMTAwMDgzNzU2IC8qIFdLU3RyaW5nLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDOTA5OTVEMTI1NjdCQzEwMDA4Mzc1
NiAvKiBXS1N0cmluZy5jcHAgKi87IH07CiAJCUJDOTA5OTk0MTI1NkFDRjEwMDA4Mzc1NiAvKiBX
S1N0cmluZ0pTU3RyaW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEJDOTA5OTkzMTI1NkFDRjEwMDA4Mzc1NiAvKiBXS1N0cmluZ0pTU3RyaW5nLmNw
cCAqLzsgfTsKIAkJQkNBNjFEQjUxMTcwMEVGRDAwNDYwRDFFIC8qIFdlYktpdDIuZnJhbWV3b3Jr
IGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNBNjFE
QjQxMTcwMEVGRDAwNDYwRDFFIC8qIFdlYktpdDIuZnJhbWV3b3JrICovOyB9OworCQlCQ0I2ODA0
MDEyNkZCRkUxMDA2NDJBNjEgLyogRG9jdW1lbnRTdGFydFVzZXJTY3JpcHRBbGVydENyYXNoLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQjY4MDNG
MTI2RkJGRTEwMDY0MkE2MSAvKiBEb2N1bWVudFN0YXJ0VXNlclNjcmlwdEFsZXJ0Q3Jhc2guY3Bw
ICovOyB9OworCQlCQ0I2ODA0MjEyNkZCRkYxMDA2NDJBNjEgLyogRG9jdW1lbnRTdGFydFVzZXJT
Y3JpcHRBbGVydENyYXNoX0J1bmRsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCQ0I2ODA0MTEyNkZCRkYxMDA2NDJBNjEgLyogRG9jdW1lbnRTdGFy
dFVzZXJTY3JpcHRBbGVydENyYXNoX0J1bmRsZS5jcHAgKi87IH07CiAJCUJDQjlFOUYxMTEyMzVC
REUwMEExMzdFMCAvKiBDb2NvYS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0I5RTlGMDExMjM1QkRFMDBBMTM3RTAgLyogQ29jb2Eu
ZnJhbWV3b3JrICovOyB9OwogCQlCQ0JEMzcxMDEyNUFBMkVCMDBEMkMyOUYgLyogRnJhbWVNSU1F
VHlwZUhUTUwuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQkNCRDM3MEYxMjVBQTJFQjAwRDJDMjlGIC8qIEZyYW1lTUlNRVR5cGVIVE1MLmNwcCAqLzsg
fTsKIAkJQkNCRDM3MzcxMjVBQkJFQjAwRDJDMjlGIC8qIGljb24ucG5nIGluIENvcHkgUmVzb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQkQzNzJFMTI1QUJCRTYw
MEQyQzI5RiAvKiBpY29uLnBuZyAqLzsgfTsKQEAgLTQ1LDcgKzQ3LDcgQEAKIAkJCWlzYSA9IFBC
WENvbnRhaW5lckl0ZW1Qcm94eTsKIAkJCWNvbnRhaW5lclBvcnRhbCA9IDA4RkI3NzkzRkU4NDE1
NURDMDJBQUMwNyAvKiBQcm9qZWN0IG9iamVjdCAqLzsKIAkJCXByb3h5VHlwZSA9IDE7Ci0JCQly
ZW1vdGVHbG9iYWxJRFN0cmluZyA9IEJDNTc1OTdGMTI2RTc0QUYwMDZGMEYxMiAvKiBJbmplY3Rl
ZEJ1bmRsZSAqLzsKKwkJCXJlbW90ZUdsb2JhbElEU3RyaW5nID0gQkM1NzU5N0YxMjZFNzRBRjAw
NkYwRjEyOwogCQkJcmVtb3RlSW5mbyA9IEluamVjdGVkQnVuZGxlOwogCQl9OwogLyogRW5kIFBC
WENvbnRhaW5lckl0ZW1Qcm94eSBzZWN0aW9uICovCkBAIC0xMDcsNiArMTA5LDggQEAKIAkJQkM5
MDk5NUQxMjU2N0JDMTAwMDgzNzU2IC8qIFdLU3RyaW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFdLU3RyaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQkM5MDk5OTMxMjU2QUNGMTAwMDgzNzU2IC8qIFdLU3RyaW5nSlNTdHJpbmcuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tTdHJpbmdKU1N0cmluZy5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDQTYxREI0MTE3MDBFRkQwMDQ2MEQxRSAv
KiBXZWJLaXQyLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBwYXRoID0gV2ViS2l0Mi5mcmFtZXdvcms7
IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCUJDQjY4MDNGMTI2RkJGRTEw
MDY0MkE2MSAvKiBEb2N1bWVudFN0YXJ0VXNlclNjcmlwdEFsZXJ0Q3Jhc2guY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRG9jdW1lbnRTdGFydFVzZXJTY3JpcHRBbGVy
dENyYXNoLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkNCNjgwNDExMjZGQkZG
MTAwNjQyQTYxIC8qIERvY3VtZW50U3RhcnRVc2VyU2NyaXB0QWxlcnRDcmFzaF9CdW5kbGUuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRG9jdW1lbnRTdGFydFVzZXJT
Y3JpcHRBbGVydENyYXNoX0J1bmRsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUJDQjlFN0M3MTEyMzRFM0EwMEExMzdFMCAvKiBUZXN0c0NvbnRyb2xsZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGVzdHNDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUJDQjlFN0ZBMTEyMzU5QTMwMEExMzdFMCAvKiBUZXN0LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRlc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQkNCOUU5RjAxMTIzNUJERTAwQTEzN0UwIC8qIENvY29hLmZyYW1ld29yayAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJh
bWV3b3JrOyBuYW1lID0gQ29jb2EuZnJhbWV3b3JrOyBwYXRoID0gU3lzdGVtL0xpYnJhcnkvRnJh
bWV3b3Jrcy9Db2NvYS5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSBTREtST09UOyB9OwpAQCAtMjI5
LDYgKzIzMyw4IEBACiAJCQkJQkNDOEI5NUExMjYxMUY0NzAwREU0NkE0IC8qIEZhaWxlZExvYWQu
Y3BwICovLAogCQkJCUJDNTc1QUFDMTI2RTgzQjkwMDZGMEYxMiAvKiBJbmplY3RlZEJ1bmRsZUJh
c2ljLmNwcCAqLywKIAkJCQlCQzU3NUFBRjEyNkU4M0M4MDA2RjBGMTIgLyogSW5qZWN0ZWRCdW5k
bGVCYXNpY19CdW5kbGUuY3BwICovLAorCQkJCUJDQjY4MDNGMTI2RkJGRTEwMDY0MkE2MSAvKiBE
b2N1bWVudFN0YXJ0VXNlclNjcmlwdEFsZXJ0Q3Jhc2guY3BwICovLAorCQkJCUJDQjY4MDQxMTI2
RkJGRjEwMDY0MkE2MSAvKiBEb2N1bWVudFN0YXJ0VXNlclNjcmlwdEFsZXJ0Q3Jhc2hfQnVuZGxl
LmNwcCAqLywKIAkJCSk7CiAJCQlwYXRoID0gV2ViS2l0MjsKIAkJCXNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7CkBAIC0zNjYsNiArMzcyLDcgQEAKIAkJCQlDMDJCNzdGMjEyNjYxMjE0MDAyNkJGMEYg
LyogU3BhY2ViYXJTY3JvbGxpbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM1NzVBQUQxMjZF
ODNCOTAwNkYwRjEyIC8qIEluamVjdGVkQnVuZGxlQmFzaWMuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQkM1NzVCQzAxMjZGNTc1MjAwNkYwRjEyIC8qIFBsYXRmb3JtVXRpbGl0aWVzLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCUJDQjY4MDQwMTI2RkJGRTEwMDY0MkE2MSAvKiBEb2N1bWVudFN0YXJ0
VXNlclNjcmlwdEFsZXJ0Q3Jhc2guY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25s
eUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0zNzgsNiArMzg1LDcg
QEAKIAkJCQlCQzU3NUFCMDEyNkU4M0M4MDA2RjBGMTIgLyogSW5qZWN0ZWRCdW5kbGVCYXNpY19C
dW5kbGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM1NzVCRDkxMjZGNThFMjAwNkYwRjEyIC8q
IFBsYXRmb3JtVXRpbGl0aWVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNTc1QkUwMTI2RjU5
MEQwMDZGMEYxMiAvKiBQbGF0Zm9ybVV0aWxpdGllc01hYy5tbSBpbiBTb3VyY2VzICovLAorCQkJ
CUJDQjY4MDQyMTI2RkJGRjEwMDY0MkE2MSAvKiBEb2N1bWVudFN0YXJ0VXNlclNjcmlwdEFsZXJ0
Q3Jhc2hfQnVuZGxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBs
b3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpJbmRleDogV2ViS2l0VG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQyL0RvY3VtZW50U3RhcnRVc2VyU2NyaXB0QWxlcnRDcmFzaC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQy
L0RvY3VtZW50U3RhcnRVc2VyU2NyaXB0QWxlcnRDcmFzaC5jcHAJKHJldmlzaW9uIDApCisrKyBX
ZWJLaXRUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvRG9jdW1lbnRTdGFydFVzZXJT
Y3JpcHRBbGVydENyYXNoLmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2NSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJUZXN0LmgiCisKKyNpbmNsdWRlICJQbGF0Zm9ybVV0aWxpdGllcy5o
IgorI2luY2x1ZGUgIlBsYXRmb3JtV2ViVmlldy5oIgorI2luY2x1ZGUgPFdlYktpdDIvV2ViS2l0
Mi5oPgorI2luY2x1ZGUgPFdlYktpdDIvV0tSZXRhaW5QdHIuaD4KKworbmFtZXNwYWNlIFRlc3RX
ZWJLaXRBUEkgeworCitzdGF0aWMgYm9vbCBkb25lOworCitzdGF0aWMgdm9pZCBydW5KYXZhU2Ny
aXB0QWxlcnQoV0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIGFsZXJ0VGV4dCwgV0tGcmFtZVJl
ZiBmcmFtZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKK3sKKyAgICBURVNUX0FTU0VSVChmcmFt
ZSk7CisgICAgVEVTVF9BU1NFUlQoV0tGcmFtZUdldFBhZ2UoZnJhbWUpID09IHBhZ2UpOworICAg
IFRFU1RfQVNTRVJUKFdLU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcoYWxlcnRUZXh0LCAiYW4g
YWxlcnQiKSk7CisKKyAgICBkb25lID0gdHJ1ZTsKK30KKworVEVTVChXZWJLaXQyLCBEb2N1bWVu
dFN0YXJ0VXNlclNjcmlwdEFsZXJ0Q3Jhc2hUZXN0KQoreworICAgIFdLUmV0YWluUHRyPFdLQ29u
dGV4dFJlZj4gY29udGV4dChBZG9wdFdLLCBVdGlsOjpjcmVhdGVDb250ZXh0Rm9ySW5qZWN0ZWRC
dW5kbGVUZXN0KCJEb2N1bWVudFN0YXJ0VXNlclNjcmlwdEFsZXJ0Q3Jhc2hUZXN0IikpOworICAg
IFdLUmV0YWluUHRyPFdLUGFnZU5hbWVzcGFjZVJlZj4gcGFnZU5hbWVzcGFjZShBZG9wdFdLLCBX
S1BhZ2VOYW1lc3BhY2VDcmVhdGUoY29udGV4dC5nZXQoKSkpOworICAgIFBsYXRmb3JtV2ViVmll
dyB3ZWJWaWV3KHBhZ2VOYW1lc3BhY2UuZ2V0KCkpOworCisgICAgV0tQYWdlVUlDbGllbnQgdWlD
bGllbnQ7CisgICAgbWVtc2V0KCZ1aUNsaWVudCwgMCwgc2l6ZW9mKHVpQ2xpZW50KSk7CisgICAg
dWlDbGllbnQudmVyc2lvbiA9IDA7CisgICAgdWlDbGllbnQuY2xpZW50SW5mbyA9IDA7CisgICAg
dWlDbGllbnQucnVuSmF2YVNjcmlwdEFsZXJ0ID0gcnVuSmF2YVNjcmlwdEFsZXJ0OworICAgIFdL
UGFnZVNldFBhZ2VVSUNsaWVudCh3ZWJWaWV3LnBhZ2UoKSwgJnVpQ2xpZW50KTsKKworICAgIFdL
UmV0YWluUHRyPFdLVVJMUmVmPiB1cmwoQWRvcHRXSywgVXRpbDo6Y3JlYXRlVVJMRm9yUmVzb3Vy
Y2UoInNpbXBsZSIsICJodG1sIikpOworICAgIFdLUGFnZUxvYWRVUkwod2ViVmlldy5wYWdlKCks
IHVybC5nZXQoKSk7CisKKyAgICBVdGlsOjpydW4oJmRvbmUpOworfQorCit9IC8vIG5hbWVzcGFj
ZSBUZXN0V2ViS2l0QVBJCkluZGV4OiBXZWJLaXRUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdDIvRG9jdW1lbnRTdGFydFVzZXJTY3JpcHRBbGVydENyYXNoX0J1bmRsZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViS2l0VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0RvY3VtZW50
U3RhcnRVc2VyU2NyaXB0QWxlcnRDcmFzaF9CdW5kbGUuY3BwCShyZXZpc2lvbiAwKQorKysgV2Vi
S2l0VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0RvY3VtZW50U3RhcnRVc2VyU2Ny
aXB0QWxlcnRDcmFzaF9CdW5kbGUuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUwIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlVGVzdC5oIgorI2luY2x1ZGUgPFdl
YktpdDIvV2ViS2l0Mi5oPgorI2luY2x1ZGUgPFdlYktpdDIvV0tCdW5kbGVQcml2YXRlLmg+Cisj
aW5jbHVkZSA8V2ViS2l0Mi9XS0J1bmRsZVNjcmlwdFdvcmxkLmg+CisjaW5jbHVkZSA8V2ViS2l0
Mi9XS1JldGFpblB0ci5oPgorCituYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CisKK2NsYXNzIERv
Y3VtZW50U3RhcnRVc2VyU2NyaXB0QWxlcnRDcmFzaFRlc3QgOiBwdWJsaWMgSW5qZWN0ZWRCdW5k
bGVUZXN0IHsKK3B1YmxpYzoKKyAgICBEb2N1bWVudFN0YXJ0VXNlclNjcmlwdEFsZXJ0Q3Jhc2hU
ZXN0KGNvbnN0IHN0ZDo6c3RyaW5nJiBpZGVudGlmaWVyKQorICAgICAgICA6IEluamVjdGVkQnVu
ZGxlVGVzdChpZGVudGlmaWVyKQorICAgIHsKKyAgICB9CisKKyAgICB2aXJ0dWFsIHZvaWQgaW5p
dGlhbGl6ZShXS0J1bmRsZVJlZiBidW5kbGUpCisgICAgeworICAgICAgICBXS1JldGFpblB0cjxX
S1N0cmluZ1JlZj4gc291cmNlKEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5n
KCJhbGVydCgnYW4gYWxlcnQnKTsiKSk7CisgICAgICAgIFdLQnVuZGxlQWRkVXNlclNjcmlwdChi
dW5kbGUsIFdLQnVuZGxlU2NyaXB0V29ybGROb3JtYWxXb3JsZCgpLCBzb3VyY2UuZ2V0KCksIDAs
IDAsIDAsIGtXS0luamVjdEF0RG9jdW1lbnRTdGFydCwga1dLSW5qZWN0SW5BbGxGcmFtZXMpOwor
ICAgIH0KK307CisKK3N0YXRpYyBJbmplY3RlZEJ1bmRsZVRlc3Q6OlJlZ2lzdGVyPERvY3VtZW50
U3RhcnRVc2VyU2NyaXB0QWxlcnRDcmFzaFRlc3Q+IHJlZ2lzdHJhcigiRG9jdW1lbnRTdGFydFVz
ZXJTY3JpcHRBbGVydENyYXNoVGVzdCIpOworCit9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJ
Cg==
</data>
<flag name="review"
          id="61485"
          type_id="1"
          status="+"
          setter="aroben"
    />
          </attachment>
      

    </bug>

</bugzilla>