<?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>203774</bug_id>
          
          <creation_ts>2019-11-01 17:41:50 -0700</creation_ts>
          <short_desc>WKWebView can get stuck blank (Web Content process thinks the app is backgrounded)</short_desc>
          <delta_ts>2019-11-03 12:34:59 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>aestes</cc>
    
    <cc>bdakin</cc>
    
    <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1586689</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-11-01 17:41:50 -0700</bug_when>
    <thetext>WKWebView can get stuck blank (Web Content process thinks the app is backgrounded)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1586699</commentid>
    <comment_count>1</comment_count>
      <attachid>382666</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-11-01 17:56:13 -0700</bug_when>
    <thetext>Created attachment 382666
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1586700</commentid>
    <comment_count>2</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-11-01 17:56:26 -0700</bug_when>
    <thetext>&lt;rdar://problem/53399054&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1586701</commentid>
    <comment_count>3</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-11-01 17:57:34 -0700</bug_when>
    <thetext>Going to see if I can write an API test. I have a reproducing test app, so it should be possible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1586820</commentid>
    <comment_count>4</comment_count>
      <attachid>382701</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-11-03 01:32:38 -0800</bug_when>
    <thetext>Created attachment 382701
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1586821</commentid>
    <comment_count>5</comment_count>
      <attachid>382702</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-11-03 01:33:47 -0800</bug_when>
    <thetext>Created attachment 382702
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1586848</commentid>
    <comment_count>6</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-11-03 10:30:35 -0800</bug_when>
    <thetext>Added a version with a test. The change itself had an r+ from Andy; can someone please review the test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1586850</commentid>
    <comment_count>7</comment_count>
      <attachid>382702</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-11-03 10:33:40 -0800</bug_when>
    <thetext>Comment on attachment 382702
Patch

Test r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1586867</commentid>
    <comment_count>8</comment_count>
      <attachid>382702</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-11-03 12:34:57 -0800</bug_when>
    <thetext>Comment on attachment 382702
Patch

Clearing flags on attachment: 382702

Committed r251976: &lt;https://trac.webkit.org/changeset/251976&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1586868</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-11-03 12:34:59 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>382666</attachid>
            <date>2019-11-01 17:56:13 -0700</date>
            <delta_ts>2019-11-03 01:32:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203774-20191101175613.patch</filename>
            <type>text/plain</type>
            <size>9194</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxNzg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGU1MzI3N2U4YTM1MmMwNDU2
MWNlNjlkYmE3NTBmOGY1NjZjYTYxMGMuLmQ5ZjliOWFmMjlkYWJjNGEyYWI4MmVlN2RmY2FmMWYz
ZjE4YWMwZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDkgQEAKKzIwMTktMTEtMDEgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgV0tXZWJWaWV3IGNhbiBn
ZXQgc3R1Y2sgYmxhbmsgKFdlYiBDb250ZW50IHByb2Nlc3MgdGhpbmtzIHRoZSBhcHAgaXMgYmFj
a2dyb3VuZGVkKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjAzNzc0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81MzM5OTA1ND4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaXRoIGNhcmVmdWwgdGltaW5n
LCBpZiBhIFdLV2ViVmlldyBzd2FwcyBvdXQgaXRzIGNvbnRlbnQgdmlldyBpbiB0aGUKKyAgICAg
ICAgYmFja2dyb3VuZCwgdGhlIGluY29taW5nIHZpZXcgY2FuIGZhaWwgdG8gaW5mb3JtIHRoZSBX
ZWIgQ29udGVudCBwcm9jZXNzCisgICAgICAgIHdoZW4gdGhlIGFwcCBjb21lcyB0byB0aGUgZm9y
ZWdyb3VuZCwgbGVhdmluZyB0aGUgbGF5ZXIgdHJlZSBmcm96ZW4uCisKKyAgICAgICAgVGhpcyBv
Y2N1cnMgYmVjYXVzZSB0aGUgbGFzdC1zZW50IHN0YXRlIGlzIHN0b3JlZCBwZXItV0tBcHBsaWNh
dGlvblN0YXRlVHJhY2tpbmdWaWV3LAorICAgICAgICBhbmQgdGhlIGNvbnRlbnQgdmlldyBpcyB0
aGUgV0tBcHBsaWNhdGlvblN0YXRlVHJhY2tpbmdWaWV3LCBzbyBpdCBpcyBwb3NzaWJsZQorICAg
ICAgICBmb3IgZS5nLiBhIFdLUERGVmlldyB0byBiZSBpbiB0aGUgaGllcmFyY2h5LCBrZWVwaW5n
IHRoZSBjb3JyZWN0IHN0YXRlLAorICAgICAgICB3aXRoIGFuIGluaXRpYWxpemVkLWJ1dC1uZXZl
ci1wYXJlbnRlZCBXS0NvbnRlbnRWaWV3IGhhbmdpbmcgb2ZmIHRoZSBXS1dlYlZpZXcuCisKKyAg
ICAgICAgSWYgaXQgaXMgbmV2ZXIgcGFyZW50ZWQsIFdLQ29udGVudFZpZXcgd2lsbCB0aGluayB0
aGF0IHRoZSBjdXJyZW50IGFwcGxpY2F0aW9uCisgICAgICAgIHN0YXRlIGlzIGZvcmVncm91bmQg
KF9sYXN0T2JzZXJ2ZWRTdGF0ZVdhc0JhY2tncm91bmQgaXMgaW5pdGlhbGl6ZWQgdG8gTk8pLgor
CisgICAgICAgIElmIHlvdSBnbyBpbnRvIHRoZSBiYWNrZ3JvdW5kIHdpdGggYSBXS1BERlZpZXcg
YXMgdGhlIGN1cnJlbnQgY29udGVudCB2aWV3LAorICAgICAgICBpdCB3aWxsIGluZm9ybSB0aGUg
V2ViIENvbnRlbnQgcHJvY2VzcyB0aGF0IHRoZSBhcHBsaWNhdGlvbiBoYXMgYmFja2dyb3VuZGVk
LgorCisgICAgICAgIElmLCBzdGlsbCBpbiB0aGUgYmFja2dyb3VuZCwgV0tXZWJWaWV3IHN3YXBz
IGZyb20gdGhlIFdLUERGVmlldyB0bworICAgICAgICB0aGUgV0tDb250ZW50VmlldywgYW5kIHRo
ZW4gY29tZXMgaW50byB0aGUgZm9yZWdyb3VuZCwgd2hlbiB3ZSBnZXQgdGhlCisgICAgICAgIG5v
dGlmaWNhdGlvbiB0aGF0IHRoZSBhcHAgY2FtZSB0byB0aGUgZm9yZWdyb3VuZCwgd2Ugd2lsbCBu
b3QgZm9yd2FyZCBpdAorICAgICAgICB0byB0aGUgV2ViIENvbnRlbnQgcHJvY2VzcywgYmVjYXVz
ZSBXS0NvbnRlbnRWaWV3J3MgX2xhc3RPYnNlcnZlZFN0YXRlV2FzQmFja2dyb3VuZAorICAgICAg
ICByZW1haW5zIE5PLgorCisgICAgICAgIFRvIGZpeCB0aGlzLCBtb3ZlIF9sYXN0T2JzZXJ2ZWRT
dGF0ZVdhc0JhY2tncm91bmQgdG8gV2ViUGFnZVByb3h5LCBzbyB0aGF0CisgICAgICAgIGl0IGFs
d2F5cyB0cmFja3MgdGhlIG1vc3QgcmVjZW50bHkgc2VudCBzdGF0ZSwgcmVnYXJkbGVzcyBvZiB3
aGljaCBjb250ZW50IHZpZXcKKyAgICAgICAgaXMgYWN0aXZlLgorCisgICAgICAgICogVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cmVz
ZXRTdGF0ZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlUHJveHk6Omxhc3RPYnNlcnZlZFN0YXRlV2FzQmFja2dyb3VuZCBjb25z
dCk6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0FwcGxpY2F0aW9uU3RhdGVUcmFja2luZ1Zp
ZXcubW06CisgICAgICAgICgtW1dLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5nVmlldyB3aWxsTW92
ZVRvV2luZG93Ol0pOgorICAgICAgICAoLVtXS0FwcGxpY2F0aW9uU3RhdGVUcmFja2luZ1ZpZXcg
ZGlkTW92ZVRvV2luZG93XSk6CisgICAgICAgICgtW1dLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5n
VmlldyBfYXBwbGljYXRpb25EaWRFbnRlckJhY2tncm91bmRdKToKKyAgICAgICAgKC1bV0tBcHBs
aWNhdGlvblN0YXRlVHJhY2tpbmdWaWV3IF9hcHBsaWNhdGlvbldpbGxFbnRlckZvcmVncm91bmRd
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbToKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZVByb3h5OjphcHBsaWNhdGlvbkRpZEVudGVyQmFja2dyb3VuZCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6YXBwbGljYXRpb25XaWxsRW50ZXJGb3JlZ3Jv
dW5kKToKKwogMjAxOS0xMC0zMCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAog
ICAgICAgICBFbmFibGUgUmVtb3RlIFBsYXliYWNrIEFQSSBieSBkZWZhdWx0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCA3MDg4YmQxYjkzODlhOWMzN2I5Yzk4
MWJjMjk2OGNmNDAxYjFmYjM5Li5mMzU5ZTFkMDIwZDU4ZjQ0NTdmZWZmNTA2NTQxOGUzMjcxZGZm
N2E0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTcxNTks
NiArNzE1OSw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpyZXNldFN0YXRlKFJlc2V0U3RhdGVSZWFz
b24gcmVzZXRTdGF0ZVJlYXNvbikKICAgICBtX2hhc05ldHdvcmtSZXF1ZXN0c09uU3VzcGVuZGVk
ID0gZmFsc2U7CiAgICAgbV9pc0tleWJvYXJkQW5pbWF0aW5nSW4gPSBmYWxzZTsKICAgICBtX2lz
U2Nyb2xsaW5nT3Jab29taW5nID0gZmFsc2U7CisgICAgbV9sYXN0T2JzZXJ2ZWRTdGF0ZVdhc0Jh
Y2tncm91bmQgPSBmYWxzZTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNL
X1RBUkdFVCkgJiYgIVBMQVRGT1JNKElPU19GQU1JTFkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCmluZGV4IDBkODU5YWNlNGQwNGNkMTgwM2QxMGViZjc3NWNkNzY1NTQ4ZTgx
OWMuLjg1YmE3YmRjZjhhZDdjYTI4ZGNlOTViZTRjODA2ODNhMzk5NGE0ODYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC03MzYsNiArNzM2LDcgQEAgcHVibGljOgog
ICAgIHZvaWQgYXBwbGljYXRpb25EaWRFbnRlckJhY2tncm91bmQoKTsKICAgICB2b2lkIGFwcGxp
Y2F0aW9uRGlkRmluaXNoU25hcHNob3R0aW5nQWZ0ZXJFbnRlcmluZ0JhY2tncm91bmQoKTsKICAg
ICB2b2lkIGFwcGxpY2F0aW9uV2lsbEVudGVyRm9yZWdyb3VuZCgpOworICAgIGJvb2wgbGFzdE9i
c2VydmVkU3RhdGVXYXNCYWNrZ3JvdW5kKCkgY29uc3QgeyByZXR1cm4gbV9sYXN0T2JzZXJ2ZWRT
dGF0ZVdhc0JhY2tncm91bmQ7IH0KICAgICB2b2lkIGFwcGxpY2F0aW9uV2lsbFJlc2lnbkFjdGl2
ZSgpOwogICAgIHZvaWQgYXBwbGljYXRpb25EaWRCZWNvbWVBY3RpdmUoKTsKICAgICB2b2lkIGNv
bW1pdFBvdGVudGlhbFRhcEZhaWxlZCgpOwpAQCAtMjU0Miw2ICsyNTQzLDcgQEAgcHJpdmF0ZToK
ICAgICBkb3VibGUgbV92aWV3cG9ydENvbmZpZ3VyYXRpb25MYXlvdXRTaXplU2NhbGVGYWN0b3Ig
eyAxIH07CiAgICAgZG91YmxlIG1fdmlld3BvcnRDb25maWd1cmF0aW9uTWluaW11bUVmZmVjdGl2
ZURldmljZVdpZHRoIHsgMCB9OwogICAgIFdlYkNvcmU6OkZsb2F0U2l6ZSBtX21heGltdW1Vbm9i
c2N1cmVkU2l6ZTsKKyAgICBib29sIG1fbGFzdE9ic2VydmVkU3RhdGVXYXNCYWNrZ3JvdW5kIHsg
ZmFsc2UgfTsKICNlbmRpZgogCiAgICAgT3B0aW9uYWw8V2ViQ29yZTo6Rm9udEF0dHJpYnV0ZXM+
IG1fY2FjaGVkRm9udEF0dHJpYnV0ZXNBdFNlbGVjdGlvblN0YXJ0OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5nVmlldy5t
bSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0FwcGxpY2F0aW9uU3RhdGVUcmFja2lu
Z1ZpZXcubW0KaW5kZXggNmM4YjQzZjY3YWZkNjIzZjZjNGM4OGI4NDgwYWE0ZTkwODZmYTAxOC4u
YjdmNzAyNmRkYmYxOTcyNDMzNDkyNTAwYmJjY2MyZjcyZWYwMjhlOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5nVmlldy5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tBcHBsaWNhdGlvblN0YXRlVHJh
Y2tpbmdWaWV3Lm1tCkBAIC0zOCw3ICszOCw2IEBACiBAaW1wbGVtZW50YXRpb24gV0tBcHBsaWNh
dGlvblN0YXRlVHJhY2tpbmdWaWV3IHsKICAgICBXZWFrT2JqQ1B0cjxXS1dlYlZpZXc+IF93ZWJW
aWV3VG9UcmFjazsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViS2l0OjpBcHBsaWNhdGlvblN0YXRl
VHJhY2tlcj4gX2FwcGxpY2F0aW9uU3RhdGVUcmFja2VyOwotICAgIEJPT0wgX2xhc3RPYnNlcnZl
ZFN0YXRlV2FzQmFja2dyb3VuZDsKIH0KIAogLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoRnJhbWU6
KENHUmVjdClmcmFtZSB3ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3CkBAIC01NSwxMCArNTQs
OCBAQCAtICh2b2lkKXdpbGxNb3ZlVG9XaW5kb3c6KFVJV2luZG93ICopbmV3V2luZG93CiAgICAg
aWYgKCFzZWxmLl9jb250ZW50Vmlldy53aW5kb3cgfHwgbmV3V2luZG93KQogICAgICAgICByZXR1
cm47CiAKLSAgICBfbGFzdE9ic2VydmVkU3RhdGVXYXNCYWNrZ3JvdW5kID0gW3NlbGYgaXNCYWNr
Z3JvdW5kXTsKLQogICAgIGF1dG8gcGFnZSA9IFtfd2ViVmlld1RvVHJhY2sgX3BhZ2VdOwotICAg
IFJFTEVBU0VfTE9HKFZpZXdTdGF0ZSwgIiVwIC0gV0tBcHBsaWNhdGlvblN0YXRlVHJhY2tpbmdW
aWV3OiBWaWV3IHdpdGggcGFnZSBbJXAsIHBhZ2VQcm94eUlEOiAlIiBQUkl1NjQgIl0gd2FzIHJl
bW92ZWQgZnJvbSBhIHdpbmRvdywgX2xhc3RPYnNlcnZlZFN0YXRlV2FzQmFja2dyb3VuZDogJWQi
LCBzZWxmLCBwYWdlLCBwYWdlID8gcGFnZS0+aWRlbnRpZmllcigpLnRvVUludDY0KCkgOiAwLCBf
bGFzdE9ic2VydmVkU3RhdGVXYXNCYWNrZ3JvdW5kKTsKKyAgICBSRUxFQVNFX0xPRyhWaWV3U3Rh
dGUsICIlcCAtIFdLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5nVmlldzogVmlldyB3aXRoIHBhZ2Ug
WyVwLCBwYWdlUHJveHlJRDogJSIgUFJJdTY0ICJdIHdhcyByZW1vdmVkIGZyb20gYSB3aW5kb3cs
IF9sYXN0T2JzZXJ2ZWRTdGF0ZVdhc0JhY2tncm91bmQ6ICVkIiwgc2VsZiwgcGFnZSwgcGFnZSA/
IHBhZ2UtPmlkZW50aWZpZXIoKS50b1VJbnQ2NCgpIDogMCwgcGFnZSA/IHBhZ2UtPmxhc3RPYnNl
cnZlZFN0YXRlV2FzQmFja2dyb3VuZCgpIDogZmFsc2UpOwogICAgIEFTU0VSVChfYXBwbGljYXRp
b25TdGF0ZVRyYWNrZXIpOwogICAgIF9hcHBsaWNhdGlvblN0YXRlVHJhY2tlciA9IG51bGxwdHI7
CiB9CkBAIC02OSwxMiArNjYsMTQgQEAgLSAodm9pZClkaWRNb3ZlVG9XaW5kb3cKICAgICAgICAg
cmV0dXJuOwogCiAgICAgYXV0byBwYWdlID0gW193ZWJWaWV3VG9UcmFjayBfcGFnZV07CisgICAg
Ym9vbCBsYXN0T2JzZXJ2ZWRTdGF0ZVdhc0JhY2tncm91bmQgPSBwYWdlID8gcGFnZS0+bGFzdE9i
c2VydmVkU3RhdGVXYXNCYWNrZ3JvdW5kKCkgOiBmYWxzZTsKKwogICAgIF9hcHBsaWNhdGlvblN0
YXRlVHJhY2tlciA9IG1ha2VVbmlxdWU8V2ViS2l0OjpBcHBsaWNhdGlvblN0YXRlVHJhY2tlcj4o
c2VsZiwgQHNlbGVjdG9yKF9hcHBsaWNhdGlvbkRpZEVudGVyQmFja2dyb3VuZCksIEBzZWxlY3Rv
cihfYXBwbGljYXRpb25EaWRGaW5pc2hTbmFwc2hvdHRpbmdBZnRlckVudGVyaW5nQmFja2dyb3Vu
ZCksIEBzZWxlY3RvcihfYXBwbGljYXRpb25XaWxsRW50ZXJGb3JlZ3JvdW5kKSk7Ci0gICAgUkVM
RUFTRV9MT0coVmlld1N0YXRlLCAiJXAgLSBXS0FwcGxpY2F0aW9uU3RhdGVUcmFja2luZ1ZpZXc6
IFZpZXcgd2l0aCBwYWdlIFslcCwgcGFnZVByb3h5SUQ6ICUiIFBSSXU2NCAiXSB3YXMgYWRkZWQg
dG8gYSB3aW5kb3csIF9sYXN0T2JzZXJ2ZWRTdGF0ZVdhc0JhY2tncm91bmQ6ICVkLCBpc05vd0Jh
Y2tncm91bmQ6ICVkIiwgc2VsZiwgcGFnZSwgcGFnZSA/IHBhZ2UtPmlkZW50aWZpZXIoKS50b1VJ
bnQ2NCgpIDogMCwgX2xhc3RPYnNlcnZlZFN0YXRlV2FzQmFja2dyb3VuZCwgW3NlbGYgaXNCYWNr
Z3JvdW5kXSk7CisgICAgUkVMRUFTRV9MT0coVmlld1N0YXRlLCAiJXAgLSBXS0FwcGxpY2F0aW9u
U3RhdGVUcmFja2luZ1ZpZXc6IFZpZXcgd2l0aCBwYWdlIFslcCwgcGFnZVByb3h5SUQ6ICUiIFBS
SXU2NCAiXSB3YXMgYWRkZWQgdG8gYSB3aW5kb3csIF9sYXN0T2JzZXJ2ZWRTdGF0ZVdhc0JhY2tn
cm91bmQ6ICVkLCBpc05vd0JhY2tncm91bmQ6ICVkIiwgc2VsZiwgcGFnZSwgcGFnZSA/IHBhZ2Ut
PmlkZW50aWZpZXIoKS50b1VJbnQ2NCgpIDogMCwgbGFzdE9ic2VydmVkU3RhdGVXYXNCYWNrZ3Jv
dW5kLCBbc2VsZiBpc0JhY2tncm91bmRdKTsKIAotICAgIGlmIChfbGFzdE9ic2VydmVkU3RhdGVX
YXNCYWNrZ3JvdW5kICYmICFbc2VsZiBpc0JhY2tncm91bmRdKQorICAgIGlmIChsYXN0T2JzZXJ2
ZWRTdGF0ZVdhc0JhY2tncm91bmQgJiYgIVtzZWxmIGlzQmFja2dyb3VuZF0pCiAgICAgICAgIFtz
ZWxmIF9hcHBsaWNhdGlvbldpbGxFbnRlckZvcmVncm91bmRdOwotICAgIGVsc2UgaWYgKCFfbGFz
dE9ic2VydmVkU3RhdGVXYXNCYWNrZ3JvdW5kICYmIFtzZWxmIGlzQmFja2dyb3VuZF0pCisgICAg
ZWxzZSBpZiAoIWxhc3RPYnNlcnZlZFN0YXRlV2FzQmFja2dyb3VuZCAmJiBbc2VsZiBpc0JhY2tn
cm91bmRdKQogICAgICAgICBbc2VsZiBfYXBwbGljYXRpb25EaWRFbnRlckJhY2tncm91bmRdOwog
fQogCkBAIC04NCw3ICs4Myw2IEBAIC0gKHZvaWQpX2FwcGxpY2F0aW9uRGlkRW50ZXJCYWNrZ3Jv
dW5kCiAgICAgaWYgKCFwYWdlKQogICAgICAgICByZXR1cm47CiAKLSAgICBfbGFzdE9ic2VydmVk
U3RhdGVXYXNCYWNrZ3JvdW5kID0gWUVTOwogICAgIHBhZ2UtPmFwcGxpY2F0aW9uRGlkRW50ZXJC
YWNrZ3JvdW5kKCk7CiAgICAgcGFnZS0+YWN0aXZpdHlTdGF0ZURpZENoYW5nZShXZWJDb3JlOjpB
Y3Rpdml0eVN0YXRlOjphbGxGbGFncygpIC0gV2ViQ29yZTo6QWN0aXZpdHlTdGF0ZTo6SXNJbldp
bmRvdyk7CiB9CkBAIC0xMDEsNyArOTksNiBAQCAtICh2b2lkKV9hcHBsaWNhdGlvbldpbGxFbnRl
ckZvcmVncm91bmQKICAgICBpZiAoIXBhZ2UpCiAgICAgICAgIHJldHVybjsKIAotICAgIF9sYXN0
T2JzZXJ2ZWRTdGF0ZVdhc0JhY2tncm91bmQgPSBOTzsKICAgICBwYWdlLT5hcHBsaWNhdGlvbldp
bGxFbnRlckZvcmVncm91bmQoKTsKICAgICBwYWdlLT5hY3Rpdml0eVN0YXRlRGlkQ2hhbmdlKFdl
YkNvcmU6OkFjdGl2aXR5U3RhdGU6OmFsbEZsYWdzKCkgLSBXZWJDb3JlOjpBY3Rpdml0eVN0YXRl
OjpJc0luV2luZG93LCB0cnVlLCBXZWJLaXQ6OldlYlBhZ2VQcm94eTo6QWN0aXZpdHlTdGF0ZUNo
YW5nZURpc3BhdGNoTW9kZTo6SW1tZWRpYXRlKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tCmluZGV4IDI5MDQwYTQ2ZDIwNDgxMDY2MmRiZDZm
NDExOGU5MDkwM2MxODYyOTEuLmMwNDFiZTFmNWNkNmEwMTY2NmY4NjYyMDRlYTQ4YzY2Y2MxODY3
MWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJ
T1MubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5t
bQpAQCAtNjQ5LDYgKzY0OSw4IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzYXZlSW1hZ2VUb0xpYnJh
cnkoY29uc3QgU2hhcmVkTWVtb3J5OjpIYW5kbGUmIGltYWdlSGFuZGxlLCB1CiAKIHZvaWQgV2Vi
UGFnZVByb3h5OjphcHBsaWNhdGlvbkRpZEVudGVyQmFja2dyb3VuZCgpCiB7CisgICAgbV9sYXN0
T2JzZXJ2ZWRTdGF0ZVdhc0JhY2tncm91bmQgPSB0cnVlOworCiAgICAgYm9vbCBpc1N1c3BlbmRl
ZFVuZGVyTG9jayA9IFtVSUFwcCBpc1N1c3BlbmRlZFVuZGVyTG9ja107CiAgICAgCiAgICAgUkVM
RUFTRV9MT0dfSUZfQUxMT1dFRChWaWV3U3RhdGUsICJhcHBsaWNhdGlvbkRpZEVudGVyQmFja2dy
b3VuZDogaXNTdXNwZW5kZWRVbmRlckxvY2s/ICVkIiwgaXNTdXNwZW5kZWRVbmRlckxvY2spOwpA
QCAtNjc4LDYgKzY4MCw4IEBAIGJvb2wgV2ViUGFnZVByb3h5Ojppc0luSGFyZHdhcmVLZXlib2Fy
ZE1vZGUoKQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6YXBwbGljYXRpb25XaWxsRW50ZXJGb3JlZ3Jv
dW5kKCkKIHsKKyAgICBtX2xhc3RPYnNlcnZlZFN0YXRlV2FzQmFja2dyb3VuZCA9IGZhbHNlOwor
CiAgICAgYm9vbCBpc1N1c3BlbmRlZFVuZGVyTG9jayA9IFtVSUFwcCBpc1N1c3BlbmRlZFVuZGVy
TG9ja107CiAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChWaWV3U3RhdGUsICJhcHBsaWNhdGlv
bldpbGxFbnRlckZvcmVncm91bmQ6IGlzU3VzcGVuZGVkVW5kZXJMb2NrPyAlZCIsIGlzU3VzcGVu
ZGVkVW5kZXJMb2NrKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>382701</attachid>
            <date>2019-11-03 01:32:38 -0800</date>
            <delta_ts>2019-11-03 01:33:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203774-20191103013237.patch</filename>
            <type>text/plain</type>
            <size>31173</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxOTcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDk2MjEyYzdiNmMxZDVkNGQ0
MmNmYWZiYTA2YWYxZWI4Y2QxNDZhOGMuLmExNGU1NGJjNjNhODUzYTVjMzEwZThmN2FjOTUxNDRk
ZTRmY2I0MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDkgQEAKKzIwMTktMTEtMDMgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgV0tXZWJWaWV3IGNhbiBn
ZXQgc3R1Y2sgYmxhbmsgKFdlYiBDb250ZW50IHByb2Nlc3MgdGhpbmtzIHRoZSBhcHAgaXMgYmFj
a2dyb3VuZGVkKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjAzNzc0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81MzM5OTA1ND4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaXRoIGNhcmVmdWwgdGltaW5n
LCBpZiBhIFdLV2ViVmlldyBzd2FwcyBvdXQgaXRzIGNvbnRlbnQgdmlldyBpbiB0aGUKKyAgICAg
ICAgYmFja2dyb3VuZCwgdGhlIGluY29taW5nIHZpZXcgY2FuIGZhaWwgdG8gaW5mb3JtIHRoZSBX
ZWIgQ29udGVudCBwcm9jZXNzCisgICAgICAgIHdoZW4gdGhlIGFwcCBjb21lcyB0byB0aGUgZm9y
ZWdyb3VuZCwgbGVhdmluZyB0aGUgbGF5ZXIgdHJlZSBmcm96ZW4uCisKKyAgICAgICAgVGhpcyBv
Y2N1cnMgYmVjYXVzZSB0aGUgbGFzdC1zZW50IHN0YXRlIGlzIHN0b3JlZCBwZXItV0tBcHBsaWNh
dGlvblN0YXRlVHJhY2tpbmdWaWV3LAorICAgICAgICBhbmQgdGhlIGNvbnRlbnQgdmlldyBpcyB0
aGUgV0tBcHBsaWNhdGlvblN0YXRlVHJhY2tpbmdWaWV3LCBzbyBpdCBpcyBwb3NzaWJsZQorICAg
ICAgICBmb3IgZS5nLiBhIFdLUERGVmlldyB0byBiZSBpbiB0aGUgaGllcmFyY2h5LCBrZWVwaW5n
IHRoZSBjb3JyZWN0IHN0YXRlLAorICAgICAgICB3aXRoIGFuIGluaXRpYWxpemVkLWJ1dC1uZXZl
ci1wYXJlbnRlZCBXS0NvbnRlbnRWaWV3IGhhbmdpbmcgb2ZmIHRoZSBXS1dlYlZpZXcuCisKKyAg
ICAgICAgSWYgaXQgaXMgbmV2ZXIgcGFyZW50ZWQsIFdLQ29udGVudFZpZXcgd2lsbCB0aGluayB0
aGF0IHRoZSBjdXJyZW50IGFwcGxpY2F0aW9uCisgICAgICAgIHN0YXRlIGlzIGZvcmVncm91bmQg
KF9sYXN0T2JzZXJ2ZWRTdGF0ZVdhc0JhY2tncm91bmQgaXMgaW5pdGlhbGl6ZWQgdG8gTk8pLgor
CisgICAgICAgIElmIHlvdSBnbyBpbnRvIHRoZSBiYWNrZ3JvdW5kIHdpdGggYSBXS1BERlZpZXcg
YXMgdGhlIGN1cnJlbnQgY29udGVudCB2aWV3LAorICAgICAgICBpdCB3aWxsIGluZm9ybSB0aGUg
V2ViIENvbnRlbnQgcHJvY2VzcyB0aGF0IHRoZSBhcHBsaWNhdGlvbiBoYXMgYmFja2dyb3VuZGVk
LgorCisgICAgICAgIElmLCBzdGlsbCBpbiB0aGUgYmFja2dyb3VuZCwgV0tXZWJWaWV3IHN3YXBz
IGZyb20gdGhlIFdLUERGVmlldyB0bworICAgICAgICB0aGUgV0tDb250ZW50VmlldywgYW5kIHRo
ZW4gY29tZXMgaW50byB0aGUgZm9yZWdyb3VuZCwgd2hlbiB3ZSBnZXQgdGhlCisgICAgICAgIG5v
dGlmaWNhdGlvbiB0aGF0IHRoZSBhcHAgY2FtZSB0byB0aGUgZm9yZWdyb3VuZCwgd2Ugd2lsbCBu
b3QgZm9yd2FyZCBpdAorICAgICAgICB0byB0aGUgV2ViIENvbnRlbnQgcHJvY2VzcywgYmVjYXVz
ZSBXS0NvbnRlbnRWaWV3J3MgX2xhc3RPYnNlcnZlZFN0YXRlV2FzQmFja2dyb3VuZAorICAgICAg
ICByZW1haW5zIE5PLgorCisgICAgICAgIFRvIGZpeCB0aGlzLCBtb3ZlIF9sYXN0T2JzZXJ2ZWRT
dGF0ZVdhc0JhY2tncm91bmQgdG8gV2ViUGFnZVByb3h5LCBzbyB0aGF0CisgICAgICAgIGl0IGFs
d2F5cyB0cmFja3MgdGhlIG1vc3QgcmVjZW50bHkgc2VudCBzdGF0ZSwgcmVnYXJkbGVzcyBvZiB3
aGljaCBjb250ZW50IHZpZXcKKyAgICAgICAgaXMgYWN0aXZlLgorCisgICAgICAgICogVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cmVz
ZXRTdGF0ZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlUHJveHk6Omxhc3RPYnNlcnZlZFN0YXRlV2FzQmFja2dyb3VuZCBjb25z
dCk6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0FwcGxpY2F0aW9uU3RhdGVUcmFja2luZ1Zp
ZXcubW06CisgICAgICAgICgtW1dLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5nVmlldyB3aWxsTW92
ZVRvV2luZG93Ol0pOgorICAgICAgICAoLVtXS0FwcGxpY2F0aW9uU3RhdGVUcmFja2luZ1ZpZXcg
ZGlkTW92ZVRvV2luZG93XSk6CisgICAgICAgICgtW1dLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5n
VmlldyBfYXBwbGljYXRpb25EaWRFbnRlckJhY2tncm91bmRdKToKKyAgICAgICAgKC1bV0tBcHBs
aWNhdGlvblN0YXRlVHJhY2tpbmdWaWV3IF9hcHBsaWNhdGlvbldpbGxFbnRlckZvcmVncm91bmRd
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbToKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZVByb3h5OjphcHBsaWNhdGlvbkRpZEVudGVyQmFja2dyb3VuZCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6YXBwbGljYXRpb25XaWxsRW50ZXJGb3JlZ3Jv
dW5kKToKKwogMjAxOS0xMS0wMiAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAK
ICAgICAgICAgV2ViIEluc3BlY3RvcjogQWRkIGRpYWdub3N0aWMgbG9nZ2luZyBmb3IgZnJvbnRl
bmQgZmVhdHVyZSB1c2FnZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAK
aW5kZXggZjM5NTA2MjMxMjEwMTU5YzZmOWQ2ZWM4MzA4OTgxMzkzOTYwNzBkOC4uYzZiNjY3NDZi
MTgzMWVmYmExOTE3OGMxN2RkZTBhYjdkZTdmZGFjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwCkBAIC03MTU5LDYgKzcxNTksNyBAQCB2b2lkIFdlYlBhZ2VQcm94
eTo6cmVzZXRTdGF0ZShSZXNldFN0YXRlUmVhc29uIHJlc2V0U3RhdGVSZWFzb24pCiAgICAgbV9o
YXNOZXR3b3JrUmVxdWVzdHNPblN1c3BlbmRlZCA9IGZhbHNlOwogICAgIG1faXNLZXlib2FyZEFu
aW1hdGluZ0luID0gZmFsc2U7CiAgICAgbV9pc1Njcm9sbGluZ09yWm9vbWluZyA9IGZhbHNlOwor
ICAgIG1fbGFzdE9ic2VydmVkU3RhdGVXYXNCYWNrZ3JvdW5kID0gZmFsc2U7CiAjZW5kaWYKIAog
I2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICYmICFQTEFURk9STShJT1NfRkFN
SUxZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmgg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCAzODY1M2UyMmQ1
NzY2MGMzNjEyMDBhMTQ5NmU2MmMwZjI0NTBkZjU3Li5iODRmYjllMGVmMzk1ZTZmNmQ5MmNiNzA0
MGI1ZjA1ZDhhZGJiZDQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApA
QCAtNzM2LDYgKzczNiw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGFwcGxpY2F0aW9uRGlkRW50ZXJC
YWNrZ3JvdW5kKCk7CiAgICAgdm9pZCBhcHBsaWNhdGlvbkRpZEZpbmlzaFNuYXBzaG90dGluZ0Fm
dGVyRW50ZXJpbmdCYWNrZ3JvdW5kKCk7CiAgICAgdm9pZCBhcHBsaWNhdGlvbldpbGxFbnRlckZv
cmVncm91bmQoKTsKKyAgICBib29sIGxhc3RPYnNlcnZlZFN0YXRlV2FzQmFja2dyb3VuZCgpIGNv
bnN0IHsgcmV0dXJuIG1fbGFzdE9ic2VydmVkU3RhdGVXYXNCYWNrZ3JvdW5kOyB9CiAgICAgdm9p
ZCBhcHBsaWNhdGlvbldpbGxSZXNpZ25BY3RpdmUoKTsKICAgICB2b2lkIGFwcGxpY2F0aW9uRGlk
QmVjb21lQWN0aXZlKCk7CiAgICAgdm9pZCBjb21taXRQb3RlbnRpYWxUYXBGYWlsZWQoKTsKQEAg
LTI1NDIsNiArMjU0Myw3IEBAIHByaXZhdGU6CiAgICAgZG91YmxlIG1fdmlld3BvcnRDb25maWd1
cmF0aW9uTGF5b3V0U2l6ZVNjYWxlRmFjdG9yIHsgMSB9OwogICAgIGRvdWJsZSBtX3ZpZXdwb3J0
Q29uZmlndXJhdGlvbk1pbmltdW1FZmZlY3RpdmVEZXZpY2VXaWR0aCB7IDAgfTsKICAgICBXZWJD
b3JlOjpGbG9hdFNpemUgbV9tYXhpbXVtVW5vYnNjdXJlZFNpemU7CisgICAgYm9vbCBtX2xhc3RP
YnNlcnZlZFN0YXRlV2FzQmFja2dyb3VuZCB7IGZhbHNlIH07CiAjZW5kaWYKIAogICAgIE9wdGlv
bmFsPFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzPiBtX2NhY2hlZEZvbnRBdHRyaWJ1dGVzQXRTZWxl
Y3Rpb25TdGFydDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0Fw
cGxpY2F0aW9uU3RhdGVUcmFja2luZ1ZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvV0tBcHBsaWNhdGlvblN0YXRlVHJhY2tpbmdWaWV3Lm1tCmluZGV4IDZjOGI0M2Y2N2FmZDYy
M2Y2YzRjODhiODQ4MGFhNGU5MDg2ZmEwMTguLmI3ZjcwMjZkZGJmMTk3MjQzMzQ5MjUwMGJiY2Nj
MmY3MmVmMDI4ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0Fw
cGxpY2F0aW9uU3RhdGVUcmFja2luZ1ZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvaW9zL1dLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5nVmlldy5tbQpAQCAtMzgsNyArMzgsNiBA
QAogQGltcGxlbWVudGF0aW9uIFdLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5nVmlldyB7CiAgICAg
V2Vha09iakNQdHI8V0tXZWJWaWV3PiBfd2ViVmlld1RvVHJhY2s7CiAgICAgc3RkOjp1bmlxdWVf
cHRyPFdlYktpdDo6QXBwbGljYXRpb25TdGF0ZVRyYWNrZXI+IF9hcHBsaWNhdGlvblN0YXRlVHJh
Y2tlcjsKLSAgICBCT09MIF9sYXN0T2JzZXJ2ZWRTdGF0ZVdhc0JhY2tncm91bmQ7CiB9CiAKIC0g
KGluc3RhbmNldHlwZSlpbml0V2l0aEZyYW1lOihDR1JlY3QpZnJhbWUgd2ViVmlldzooV0tXZWJW
aWV3ICopd2ViVmlldwpAQCAtNTUsMTAgKzU0LDggQEAgLSAodm9pZCl3aWxsTW92ZVRvV2luZG93
OihVSVdpbmRvdyAqKW5ld1dpbmRvdwogICAgIGlmICghc2VsZi5fY29udGVudFZpZXcud2luZG93
IHx8IG5ld1dpbmRvdykKICAgICAgICAgcmV0dXJuOwogCi0gICAgX2xhc3RPYnNlcnZlZFN0YXRl
V2FzQmFja2dyb3VuZCA9IFtzZWxmIGlzQmFja2dyb3VuZF07Ci0KICAgICBhdXRvIHBhZ2UgPSBb
X3dlYlZpZXdUb1RyYWNrIF9wYWdlXTsKLSAgICBSRUxFQVNFX0xPRyhWaWV3U3RhdGUsICIlcCAt
IFdLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5nVmlldzogVmlldyB3aXRoIHBhZ2UgWyVwLCBwYWdl
UHJveHlJRDogJSIgUFJJdTY0ICJdIHdhcyByZW1vdmVkIGZyb20gYSB3aW5kb3csIF9sYXN0T2Jz
ZXJ2ZWRTdGF0ZVdhc0JhY2tncm91bmQ6ICVkIiwgc2VsZiwgcGFnZSwgcGFnZSA/IHBhZ2UtPmlk
ZW50aWZpZXIoKS50b1VJbnQ2NCgpIDogMCwgX2xhc3RPYnNlcnZlZFN0YXRlV2FzQmFja2dyb3Vu
ZCk7CisgICAgUkVMRUFTRV9MT0coVmlld1N0YXRlLCAiJXAgLSBXS0FwcGxpY2F0aW9uU3RhdGVU
cmFja2luZ1ZpZXc6IFZpZXcgd2l0aCBwYWdlIFslcCwgcGFnZVByb3h5SUQ6ICUiIFBSSXU2NCAi
XSB3YXMgcmVtb3ZlZCBmcm9tIGEgd2luZG93LCBfbGFzdE9ic2VydmVkU3RhdGVXYXNCYWNrZ3Jv
dW5kOiAlZCIsIHNlbGYsIHBhZ2UsIHBhZ2UgPyBwYWdlLT5pZGVudGlmaWVyKCkudG9VSW50NjQo
KSA6IDAsIHBhZ2UgPyBwYWdlLT5sYXN0T2JzZXJ2ZWRTdGF0ZVdhc0JhY2tncm91bmQoKSA6IGZh
bHNlKTsKICAgICBBU1NFUlQoX2FwcGxpY2F0aW9uU3RhdGVUcmFja2VyKTsKICAgICBfYXBwbGlj
YXRpb25TdGF0ZVRyYWNrZXIgPSBudWxscHRyOwogfQpAQCAtNjksMTIgKzY2LDE0IEBAIC0gKHZv
aWQpZGlkTW92ZVRvV2luZG93CiAgICAgICAgIHJldHVybjsKIAogICAgIGF1dG8gcGFnZSA9IFtf
d2ViVmlld1RvVHJhY2sgX3BhZ2VdOworICAgIGJvb2wgbGFzdE9ic2VydmVkU3RhdGVXYXNCYWNr
Z3JvdW5kID0gcGFnZSA/IHBhZ2UtPmxhc3RPYnNlcnZlZFN0YXRlV2FzQmFja2dyb3VuZCgpIDog
ZmFsc2U7CisKICAgICBfYXBwbGljYXRpb25TdGF0ZVRyYWNrZXIgPSBtYWtlVW5pcXVlPFdlYktp
dDo6QXBwbGljYXRpb25TdGF0ZVRyYWNrZXI+KHNlbGYsIEBzZWxlY3RvcihfYXBwbGljYXRpb25E
aWRFbnRlckJhY2tncm91bmQpLCBAc2VsZWN0b3IoX2FwcGxpY2F0aW9uRGlkRmluaXNoU25hcHNo
b3R0aW5nQWZ0ZXJFbnRlcmluZ0JhY2tncm91bmQpLCBAc2VsZWN0b3IoX2FwcGxpY2F0aW9uV2ls
bEVudGVyRm9yZWdyb3VuZCkpOwotICAgIFJFTEVBU0VfTE9HKFZpZXdTdGF0ZSwgIiVwIC0gV0tB
cHBsaWNhdGlvblN0YXRlVHJhY2tpbmdWaWV3OiBWaWV3IHdpdGggcGFnZSBbJXAsIHBhZ2VQcm94
eUlEOiAlIiBQUkl1NjQgIl0gd2FzIGFkZGVkIHRvIGEgd2luZG93LCBfbGFzdE9ic2VydmVkU3Rh
dGVXYXNCYWNrZ3JvdW5kOiAlZCwgaXNOb3dCYWNrZ3JvdW5kOiAlZCIsIHNlbGYsIHBhZ2UsIHBh
Z2UgPyBwYWdlLT5pZGVudGlmaWVyKCkudG9VSW50NjQoKSA6IDAsIF9sYXN0T2JzZXJ2ZWRTdGF0
ZVdhc0JhY2tncm91bmQsIFtzZWxmIGlzQmFja2dyb3VuZF0pOworICAgIFJFTEVBU0VfTE9HKFZp
ZXdTdGF0ZSwgIiVwIC0gV0tBcHBsaWNhdGlvblN0YXRlVHJhY2tpbmdWaWV3OiBWaWV3IHdpdGgg
cGFnZSBbJXAsIHBhZ2VQcm94eUlEOiAlIiBQUkl1NjQgIl0gd2FzIGFkZGVkIHRvIGEgd2luZG93
LCBfbGFzdE9ic2VydmVkU3RhdGVXYXNCYWNrZ3JvdW5kOiAlZCwgaXNOb3dCYWNrZ3JvdW5kOiAl
ZCIsIHNlbGYsIHBhZ2UsIHBhZ2UgPyBwYWdlLT5pZGVudGlmaWVyKCkudG9VSW50NjQoKSA6IDAs
IGxhc3RPYnNlcnZlZFN0YXRlV2FzQmFja2dyb3VuZCwgW3NlbGYgaXNCYWNrZ3JvdW5kXSk7CiAK
LSAgICBpZiAoX2xhc3RPYnNlcnZlZFN0YXRlV2FzQmFja2dyb3VuZCAmJiAhW3NlbGYgaXNCYWNr
Z3JvdW5kXSkKKyAgICBpZiAobGFzdE9ic2VydmVkU3RhdGVXYXNCYWNrZ3JvdW5kICYmICFbc2Vs
ZiBpc0JhY2tncm91bmRdKQogICAgICAgICBbc2VsZiBfYXBwbGljYXRpb25XaWxsRW50ZXJGb3Jl
Z3JvdW5kXTsKLSAgICBlbHNlIGlmICghX2xhc3RPYnNlcnZlZFN0YXRlV2FzQmFja2dyb3VuZCAm
JiBbc2VsZiBpc0JhY2tncm91bmRdKQorICAgIGVsc2UgaWYgKCFsYXN0T2JzZXJ2ZWRTdGF0ZVdh
c0JhY2tncm91bmQgJiYgW3NlbGYgaXNCYWNrZ3JvdW5kXSkKICAgICAgICAgW3NlbGYgX2FwcGxp
Y2F0aW9uRGlkRW50ZXJCYWNrZ3JvdW5kXTsKIH0KIApAQCAtODQsNyArODMsNiBAQCAtICh2b2lk
KV9hcHBsaWNhdGlvbkRpZEVudGVyQmFja2dyb3VuZAogICAgIGlmICghcGFnZSkKICAgICAgICAg
cmV0dXJuOwogCi0gICAgX2xhc3RPYnNlcnZlZFN0YXRlV2FzQmFja2dyb3VuZCA9IFlFUzsKICAg
ICBwYWdlLT5hcHBsaWNhdGlvbkRpZEVudGVyQmFja2dyb3VuZCgpOwogICAgIHBhZ2UtPmFjdGl2
aXR5U3RhdGVEaWRDaGFuZ2UoV2ViQ29yZTo6QWN0aXZpdHlTdGF0ZTo6YWxsRmxhZ3MoKSAtIFdl
YkNvcmU6OkFjdGl2aXR5U3RhdGU6OklzSW5XaW5kb3cpOwogfQpAQCAtMTAxLDcgKzk5LDYgQEAg
LSAodm9pZClfYXBwbGljYXRpb25XaWxsRW50ZXJGb3JlZ3JvdW5kCiAgICAgaWYgKCFwYWdlKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBfbGFzdE9ic2VydmVkU3RhdGVXYXNCYWNrZ3JvdW5kID0g
Tk87CiAgICAgcGFnZS0+YXBwbGljYXRpb25XaWxsRW50ZXJGb3JlZ3JvdW5kKCk7CiAgICAgcGFn
ZS0+YWN0aXZpdHlTdGF0ZURpZENoYW5nZShXZWJDb3JlOjpBY3Rpdml0eVN0YXRlOjphbGxGbGFn
cygpIC0gV2ViQ29yZTo6QWN0aXZpdHlTdGF0ZTo6SXNJbldpbmRvdywgdHJ1ZSwgV2ViS2l0OjpX
ZWJQYWdlUHJveHk6OkFjdGl2aXR5U3RhdGVDaGFuZ2VEaXNwYXRjaE1vZGU6OkltbWVkaWF0ZSk7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5
SU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQpp
bmRleCAyOTA0MGE0NmQyMDQ4MTA2NjJkYmQ2ZjQxMThlOTA5MDNjMTg2MjkxLi5jMDQxYmUxZjVj
ZDZhMDE2NjZmODY2MjA0ZWE0OGM2NmNjMTg2NzFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0KQEAgLTY0OSw2ICs2NDksOCBAQCB2b2lkIFdl
YlBhZ2VQcm94eTo6c2F2ZUltYWdlVG9MaWJyYXJ5KGNvbnN0IFNoYXJlZE1lbW9yeTo6SGFuZGxl
JiBpbWFnZUhhbmRsZSwgdQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6YXBwbGljYXRpb25EaWRFbnRl
ckJhY2tncm91bmQoKQogeworICAgIG1fbGFzdE9ic2VydmVkU3RhdGVXYXNCYWNrZ3JvdW5kID0g
dHJ1ZTsKKwogICAgIGJvb2wgaXNTdXNwZW5kZWRVbmRlckxvY2sgPSBbVUlBcHAgaXNTdXNwZW5k
ZWRVbmRlckxvY2tdOwogICAgIAogICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoVmlld1N0YXRl
LCAiYXBwbGljYXRpb25EaWRFbnRlckJhY2tncm91bmQ6IGlzU3VzcGVuZGVkVW5kZXJMb2NrPyAl
ZCIsIGlzU3VzcGVuZGVkVW5kZXJMb2NrKTsKQEAgLTY3OCw2ICs2ODAsOCBAQCBib29sIFdlYlBh
Z2VQcm94eTo6aXNJbkhhcmR3YXJlS2V5Ym9hcmRNb2RlKCkKIAogdm9pZCBXZWJQYWdlUHJveHk6
OmFwcGxpY2F0aW9uV2lsbEVudGVyRm9yZWdyb3VuZCgpCiB7CisgICAgbV9sYXN0T2JzZXJ2ZWRT
dGF0ZVdhc0JhY2tncm91bmQgPSBmYWxzZTsKKwogICAgIGJvb2wgaXNTdXNwZW5kZWRVbmRlckxv
Y2sgPSBbVUlBcHAgaXNTdXNwZW5kZWRVbmRlckxvY2tdOwogICAgIFJFTEVBU0VfTE9HX0lGX0FM
TE9XRUQoVmlld1N0YXRlLCAiYXBwbGljYXRpb25XaWxsRW50ZXJGb3JlZ3JvdW5kOiBpc1N1c3Bl
bmRlZFVuZGVyTG9jaz8gJWQiLCBpc1N1c3BlbmRlZFVuZGVyTG9jayk7CiAKZGlmZiAtLWdpdCBh
L1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxNmE2MDIwODUyYzUxYTc3
MmI3NTYxNTk1OTc3Mzk5ODkxNjFlNTg0Li42Y2YyYzdjOTY4OGI1MTYwMTM3MjdiOWU2M2U4NDkz
NjA3NmYxYTM4IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTktMTEtMDMgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hv
cnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgV0tXZWJWaWV3IGNhbiBnZXQgc3R1Y2sgYmxhbmsg
KFdlYiBDb250ZW50IHByb2Nlc3MgdGhpbmtzIHRoZSBhcHAgaXMgYmFja2dyb3VuZGVkKQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzNzc0CisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS81MzM5OTA1ND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Q29jb2EvV0tQREZWaWV3Lm1tOiBBZGRlZC4KKyAgICAgICAgKFRFU1QpOgorICAgICAgICAo
aXNCYWNrZ3JvdW5kKToKKyAgICAgICAgKGNyZWF0ZUhvc3RWaWV3Rm9yRXh0ZW5zaW9uSWRlbnRp
Zmllcik6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XS1BERlZp
ZXdSZXNpemVDcmFzaC5tbTogUmVtb3ZlZC4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL1dLUERGVmlld1N0YWJsZVByZXNlbnRhdGlvblVwZGF0ZUNhbGxiYWNrLm1t
OiBSZW1vdmVkLgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvY29jb2EvVGVzdE5hdmlnYXRpb25E
ZWxlZ2F0ZS5oOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvY29jb2EvVGVzdE5hdmlnYXRpb25E
ZWxlZ2F0ZS5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF90ZXN0X3dhaXRGb3JEaWRGaW5pc2hO
YXZpZ2F0aW9uV2l0aG91dFByZXNlbnRhdGlvblVwZGF0ZV0pOgorICAgICAgICBNZXJnZSBleGlz
dGluZyBXS1BERlZpZXcgdGVzdHMgaW50byBvbmUgZmlsZSwgYW5kIGFkZCBvbmUgZm9yIHRoaXMg
YnVnLgorCiAyMDE5LTExLTAyICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAog
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBBZGQgZGlhZ25vc3RpYyBsb2dnaW5nIGZvciBmcm9udGVu
ZCBmZWF0dXJlIHVzYWdlCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJL
aXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDdjMDkxODk2NmVhM2Ni
ZDgzOGQ3ZWRmYTdiNTdkYjcyNmY4ZTllMmYuLjhlNDliNWZlNTM4OTBiYmZlMTFhYjI3YmU1OWY3
YmY5ODc2MmFkY2UgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQ
SS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMjIsMTEgKzEyMiwxMCBA
QAogCQkyOTBBOUJCOTE3MzVGNjM4MDBENzFCQkMgLyogT3Blbk5ld1dpbmRvdy5odG1sIGluIENv
cHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5MEE5QkI4
MTczNUY0MjMwMEQ3MUJCQyAvKiBPcGVuTmV3V2luZG93Lmh0bWwgKi87IH07CiAJCTI5MEY0Mjc1
MTcyQTIyMUMwMDkzOUZGMCAvKiBjdXN0b20tcHJvdG9jb2wtc3luYy14aHIuaHRtbCBpbiBDb3B5
IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOTBGNDI3NDE3
MkExRkRFMDA5MzlGRjAgLyogY3VzdG9tLXByb3RvY29sLXN5bmMteGhyLmh0bWwgKi87IH07CiAJ
CTI5NzIzNEI3MTczQUZBQzcwMDk4MzYwMSAvKiBDdXN0b21Qcm90b2NvbHNJbnZhbGlkU2NoZW1l
X0J1bmRsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAyOTcyMzRCNTE3M0FGQUM3MDA5ODM2MDEgLyogQ3VzdG9tUHJvdG9jb2xzSW52YWxpZFNjaGVt
ZV9CdW5kbGUuY3BwICovOyB9OwotCQkyRDAwMDY1RjFDMUY1ODlBMDA4OEU2QTcgLyogV0tQREZW
aWV3UmVzaXplQ3Jhc2gubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAyRDAwMDY1RDFDMUY1ODk0MDA4OEU2QTcgLyogV0tQREZWaWV3UmVzaXplQ3Jhc2gu
bW0gKi87IH07CisJCTJEMDAwNjVGMUMxRjU4OUEwMDg4RTZBNyAvKiBXS1BERlZpZXcubW0gaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDAwMDY1RDFDMUY1
ODk0MDA4OEU2QTcgLyogV0tQREZWaWV3Lm1tICovOyB9OwogCQkyRDAxRDA2RTIzMjE4RkVFMDAz
OUFBM0EgLyogV0tXZWJWaWV3UHJpbnRGb3JtYXR0ZXIubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDAxRDA2RDIzMjE4RkVFMDAzOUFBM0EgLyogV0tX
ZWJWaWV3UHJpbnRGb3JtYXR0ZXIubW0gKi87IH07CiAJCTJEMDhFOTM3MjI2N0QwRjQwMDI1MThE
QSAvKiBSZXBhcmVudFdlYlZpZXdUaW1lb3V0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMkQwOEU5MzYyMjY3RDBGMzAwMjUxOERBIC8qIFJlcGFyZW50
V2ViVmlld1RpbWVvdXQubW0gKi87IH07CiAJCTJEMTY0NkUyMUQxODYyQ0QwMDAxNUExQSAvKiBE
ZWZlcnJlZFZpZXdJbldpbmRvd1N0YXRlQ2hhbmdlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQxNjQ2RTExRDE4NjJDRDAwMDE1QTFBIC8qIERlZmVy
cmVkVmlld0luV2luZG93U3RhdGVDaGFuZ2UubW0gKi87IH07Ci0JCTJEMjFGRTU5MUYwNDY0Mjkw
MEI1OEU3RCAvKiBXS1BERlZpZXdTdGFibGVQcmVzZW50YXRpb25VcGRhdGVDYWxsYmFjay5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEMjFGRTU4MUYw
NDY0MjgwMEI1OEU3RCAvKiBXS1BERlZpZXdTdGFibGVQcmVzZW50YXRpb25VcGRhdGVDYWxsYmFj
ay5tbSAqLzsgfTsKIAkJMkQyQkVCMkQyMjMyNEU1RjAwNTU0NENBIC8qIFJlcXVlc3RUZXh0SW5w
dXRDb250ZXh0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMkQyQkVCMkMyMjMyNEU1RjAwNTU0NENBIC8qIFJlcXVlc3RUZXh0SW5wdXRDb250ZXh0Lm1t
ICovOyB9OwogCQkyRDJEMTNCMzIyOUY0MDhCMDA1MDY4QUYgLyogRGV2aWNlTWFuYWdlbWVudFJl
c3RyaWN0aW9ucy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDJEMkQxM0IyMjI5RjQwOEIwMDUwNjhBRiAvKiBEZXZpY2VNYW5hZ2VtZW50UmVzdHJpY3Rp
b25zLm1tICovOyB9OwogCQkyRDJGRThEODIzMTVGMDZFMDBCMkU5QzkgLyogUmVsb2FkV2l0aERp
ZmZlcmluZ0luaXRpYWxTY2FsZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDJEMkZFOEQ3MjMxNUYwNkQwMEIyRTlDOSAvKiBSZWxvYWRXaXRoRGlmZmVy
aW5nSW5pdGlhbFNjYWxlLm1tICovOyB9OwpAQCAtMTQ1OSw3ICsxNDU4LDYgQEAKIAkJCQk1Nzc0
NTREMDIzNTlCMzc4MDA4RTFFRDcgLyogd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24t
aGlkLW5vLWNyZWRlbnRpYWxzLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJNTc2NjNE
RUMyMzRGMUY5MzAwRTg1RTA5IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWhp
ZC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTU3OTgzMzkyMjM2OEZBMzcwMDhFNTU0
NyAvKiB3ZWItYXV0aGVudGljYXRpb24tZ2V0LWFzc2VydGlvbi1uZmMtbXVsdGlwbGUtdGFncy5o
dG1sIGluIENvcHkgUmVzb3VyY2VzICovLAotCQkJCTU3OTgzMzdDMjM1RUI2ODkwMDhFNTU0NyAv
KiB3ZWItYXV0aGVudGljYXRpb24tZ2V0LWFzc2VydGlvbi1uZmMtbXVsdGlwbGUtdGFncy5odG1s
IGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTU3NjYzREVBMjM0RUE2NkQwMEU4NUUwOSAvKiB3
ZWItYXV0aGVudGljYXRpb24tZ2V0LWFzc2VydGlvbi1uZmMuaHRtbCBpbiBDb3B5IFJlc291cmNl
cyAqLywKIAkJCQk1Nzc0NTREMjIzNTlCQjAxMDA4RTFFRDcgLyogd2ViLWF1dGhlbnRpY2F0aW9u
LWdldC1hc3NlcnRpb24tdTJmLW5vLWNyZWRlbnRpYWxzLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMg
Ki8sCiAJCQkJNTdDNjI0NTAyMzQ2QzIxRTAwMzgzRkU3IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1n
ZXQtYXNzZXJ0aW9uLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCkBAIC0xNjA1LDE0ICsxNjAz
LDEzIEBACiAJCTI5QUI4QTlGMTY0QzczNTgwMEQ0OUJFQyAvKiBDdXN0b21Qcm90b2NvbHNUZXN0
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gQ3VzdG9tUHJvdG9j
b2xzVGVzdC5tbTsgcGF0aCA9IFdlYktpdE9iakMvQ3VzdG9tUHJvdG9jb2xzVGVzdC5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjlBQjhBQTIxNjRDN0E5MzAwRDQ5QkVDIC8qIFRl
c3RCcm93c2luZ0NvbnRleHRMb2FkRGVsZWdhdGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBUZXN0QnJvd3NpbmdDb250ZXh0TG9hZERlbGVnYXRlLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOUFCOEFBMzE2NEM3QTkzMDBENDlCRUMgLyogVGVz
dEJyb3dzaW5nQ29udGV4dExvYWREZWxlZ2F0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBUZXN0QnJvd3NpbmdDb250ZXh0TG9hZERlbGVnYXRlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCTJEMDAwNjVEMUMxRjU4OTQwMDg4RTZBNyAvKiBXS1BERlZpZXdSZXNp
emVDcmFzaC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLUERG
Vmlld1Jlc2l6ZUNyYXNoLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDAwMDY1
RDFDMUY1ODk0MDA4OEU2QTcgLyogV0tQREZWaWV3Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gV0tQREZWaWV3Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkyRDAxRDA2RDIzMjE4RkVFMDAzOUFBM0EgLyogV0tXZWJWaWV3UHJpbnRGb3JtYXR0ZXIu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXS1dlYlZpZXdQcmlu
dEZvcm1hdHRlci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQwOEU5MzYyMjY3
RDBGMzAwMjUxOERBIC8qIFJlcGFyZW50V2ViVmlld1RpbWVvdXQubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBSZXBhcmVudFdlYlZpZXdUaW1lb3V0Lm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDE2NDZFMTFEMTg2MkNEMDAwMTVBMUEgLyogRGVm
ZXJyZWRWaWV3SW5XaW5kb3dTdGF0ZUNoYW5nZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgbmFtZSA9IERlZmVycmVkVmlld0luV2luZG93U3RhdGVDaGFuZ2UubW07IHBhdGgg
PSBXZWJLaXQvRGVmZXJyZWRWaWV3SW5XaW5kb3dTdGF0ZUNoYW5nZS5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMkQxQzA0QTUxRDc2Mjk4QjAwMEE2ODE2IC8qIFRlc3ROYXZpZ2F0
aW9uRGVsZWdhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gVGVzdE5hdmln
YXRpb25EZWxlZ2F0ZS5oOyBwYXRoID0gY29jb2EvVGVzdE5hdmlnYXRpb25EZWxlZ2F0ZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDFDMDRBNjFENzYyOThCMDAwQTY4MTYgLyog
VGVzdE5hdmlnYXRpb25EZWxlZ2F0ZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgbmFtZSA9IFRlc3ROYXZpZ2F0aW9uRGVsZWdhdGUubW07IHBhdGggPSBjb2NvYS9UZXN0TmF2
aWdhdGlvbkRlbGVnYXRlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDFGRTBB
RjFBRDQ2NUMxMDA2Q0Q5RTYgLyogRml4ZWRMYXlvdXRTaXplLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gRml4ZWRMYXlvdXRTaXplLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQkyRDIxRkU1ODFGMDQ2NDI4MDBCNThFN0QgLyogV0tQREZWaWV3U3Rh
YmxlUHJlc2VudGF0aW9uVXBkYXRlQ2FsbGJhY2subW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBXS1BERlZpZXdTdGFibGVQcmVzZW50YXRpb25VcGRhdGVDYWxsYmFj
ay5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQyQkVCMkMyMjMyNEU1RjAwNTU0
NENBIC8qIFJlcXVlc3RUZXh0SW5wdXRDb250ZXh0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gUmVxdWVzdFRleHRJbnB1dENvbnRleHQubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTJEMkQxM0IyMjI5RjQwOEIwMDUwNjhBRiAvKiBEZXZpY2VNYW5h
Z2VtZW50UmVzdHJpY3Rpb25zLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gRGV2aWNlTWFuYWdlbWVudFJlc3RyaWN0aW9ucy5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMkQyRkU4RDcyMzE1RjA2RDAwQjJFOUM5IC8qIFJlbG9hZFdpdGhEaWZmZXJp
bmdJbml0aWFsU2NhbGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBSZWxvYWRXaXRoRGlmZmVyaW5nSW5pdGlhbFNjYWxlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMjk5MSw4ICsyOTg4LDcgQEAKIAkJCQlERjRCMjczODIxQTQ3NzI3MDA5QkQx
Q0EgLyogV0tOU0RpY3Rpb25hcnlFbXB0eURpY3Rpb25hcnlDcmFzaC5tbSAqLywKIAkJCQkzNzVF
MEUxNTFENjY2NzQ0MDBFRkVDMkMgLyogV0tOU051bWJlci5tbSAqLywKIAkJCQkzN0I0N0UyRTFE
NjRFN0NBMDA1RjRFRkYgLyogV0tPYmplY3QubW0gKi8sCi0JCQkJMkQwMDA2NUQxQzFGNTg5NDAw
ODhFNkE3IC8qIFdLUERGVmlld1Jlc2l6ZUNyYXNoLm1tICovLAotCQkJCTJEMjFGRTU4MUYwNDY0
MjgwMEI1OEU3RCAvKiBXS1BERlZpZXdTdGFibGVQcmVzZW50YXRpb25VcGRhdGVDYWxsYmFjay5t
bSAqLywKKwkJCQkyRDAwMDY1RDFDMUY1ODk0MDA4OEU2QTcgLyogV0tQREZWaWV3Lm1tICovLAog
CQkJCTM3ODE3NDZDMjE5OEFFMjQwMDA2MkMyNiAvKiBXS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlv
bi5tbSAqLywKIAkJCQk0NDgxN0EyRTFGMDQ4NkJGMDAwMDM4MTAgLyogV0tSZXF1ZXN0QWN0aXZh
dGVkRWxlbWVudEluZm8ubW0gKi8sCiAJCQkJNUU0QjFEMkMxRDQwNEM2MTAwMDUzNjIxIC8qIFdL
U2Nyb2xsVmlld0RlbGVnYXRlLm1tICovLApAQCAtNDkyMyw4ICs0OTE5LDcgQEAKIAkJCQk1MkQ2
NzNFRTFBRkIxMjczMDBGQTE5RkUgLyogV0tQYWdlQ29weVNlc3Npb25TdGF0ZVdpdGhGaWx0ZXJp
bmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdGMUYxQTQxMUFFNjAwNDQ3QzRDIC8qIFdL
UGFnZUdldFNjYWxlRmFjdG9yTm90WmVyby5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0Yy
MDFBNDExQUU2MDA0NDdDNEMgLyogV0tQYWdlSXNQbGF5aW5nQXVkaW8uY3BwIGluIFNvdXJjZXMg
Ki8sCi0JCQkJMkQwMDA2NUYxQzFGNTg5QTAwODhFNkE3IC8qIFdLUERGVmlld1Jlc2l6ZUNyYXNo
Lm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMkQyMUZFNTkxRjA0NjQyOTAwQjU4RTdEIC8qIFdLUERG
Vmlld1N0YWJsZVByZXNlbnRhdGlvblVwZGF0ZUNhbGxiYWNrLm1tIGluIFNvdXJjZXMgKi8sCisJ
CQkJMkQwMDA2NUYxQzFGNTg5QTAwODhFNkE3IC8qIFdLUERGVmlldy5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTdDQ0U3RjIxMUE0MTFBRTYwMDQ0N0M0QyAvKiBXS1ByZWZlcmVuY2VzLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTM3ODE3NDZEMjE5OEFFNDYwMDA2MkMyNiAvKiBXS1Byb2Nlc3NQb29s
Q29uZmlndXJhdGlvbi5tbSBpbiBTb3VyY2VzICovLAogCQkJCTQ0ODE3QTJGMUYwNDg2QkYwMDAw
MzgxMCAvKiBXS1JlcXVlc3RBY3RpdmF0ZWRFbGVtZW50SW5mby5tbSBpbiBTb3VyY2VzICovLApk
aWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XS1BERlZp
ZXcubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dLUERGVmlldy5t
bQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4wOGI3ZWY1MGQ2YjM3ZTQ2M2I2MjM0OTRiN2Y2YTBjZTMxY2EyYTZhCi0t
LSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9X
S1BERlZpZXcubW0KQEAgLTAsMCArMSwxMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisKKyNpbXBvcnQgIkNsYXNzTWV0aG9kU3dpenpsZXIuaCIKKyNpbXBvcnQgIkluc3Rh
bmNlTWV0aG9kU3dpenpsZXIuaCIKKyNpbXBvcnQgIlBsYXRmb3JtVXRpbGl0aWVzLmgiCisjaW1w
b3J0ICJUZXN0LmgiCisjaW1wb3J0ICJUZXN0TmF2aWdhdGlvbkRlbGVnYXRlLmgiCisjaW1wb3J0
IDxXZWJLaXQvV0tXZWJWaWV3Lmg+CisjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3Q29uZmlndXJh
dGlvblByaXZhdGUuaD4KKyNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KKworI2lmIFBMQVRGT1JN
KElPU19GQU1JTFkpCisKK0BpbnRlcmZhY2UgUERGSG9zdFZpZXdDb250cm9sbGVyIDogVUlWaWV3
Q29udHJvbGxlcgorKyAodm9pZCljcmVhdGVIb3N0Vmlldzoodm9pZCheKShpZCBob3N0Vmlld0Nv
bnRyb2xsZXIpKWNhbGxiYWNrIGZvckV4dGVuc2lvbklkZW50aWZpZXI6KE5TU3RyaW5nICopZXh0
ZW5zaW9uSWRlbnRpZmllcjsKK0BlbmQKKworQGludGVyZmFjZSBXS0FwcGxpY2F0aW9uU3RhdGVU
cmFja2luZ1ZpZXcgOiBVSVZpZXcKKy0gKEJPT0wpaXNCYWNrZ3JvdW5kOworQGVuZAorCitURVNU
KFdlYktpdCwgV0tQREZWaWV3UmVzaXplQ3Jhc2gpCit7CisgICAgUmV0YWluUHRyPFdLV2ViVmll
dz4gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNN
YWtlUmVjdCgwLCAwLCA4MDAsIDYwMCldKTsKKworICAgIE5TVVJMUmVxdWVzdCAqcmVxdWVzdCA9
IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxG
b3JSZXNvdXJjZTpAInRlc3QiIHdpdGhFeHRlbnNpb246QCJwZGYiIHN1YmRpcmVjdG9yeTpAIlRl
c3RXZWJLaXRBUEkucmVzb3VyY2VzIl1dOworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVl
c3RdOworICAgIFt3ZWJWaWV3IF90ZXN0X3dhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKKwor
ICAgIFt3ZWJWaWV3IHNldEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgMTAwLCAxMDApXTsKKyAgICB3
ZWJWaWV3ID0gbmlsOworCisgICAgX19ibG9jayBib29sIGZpbmlzaGVkRGlzcGF0Y2ggPSBmYWxz
ZTsKKyAgICBkaXNwYXRjaF9hc3luYyhkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBeeworICAg
ICAgICBmaW5pc2hlZERpc3BhdGNoID0gdHJ1ZTsKKyAgICB9KTsKKworICAgIFRlc3RXZWJLaXRB
UEk6OlV0aWw6OnJ1bigmZmluaXNoZWREaXNwYXRjaCk7Cit9CisKK1RFU1QoV2ViS2l0LCBXS1BE
RlZpZXdTdGFibGVQcmVzZW50YXRpb25VcGRhdGVDYWxsYmFjaykKK3sKKyAgICBSZXRhaW5QdHI8
V0tXZWJWaWV3PiB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhG
cmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKV0pOworCisgICAgTlNVUkxSZXF1ZXN0ICpy
ZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbW05TQnVuZGxlIG1haW5CdW5k
bGVdIFVSTEZvclJlc291cmNlOkAidGVzdCIgd2l0aEV4dGVuc2lvbjpAInBkZiIgc3ViZGlyZWN0
b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXV07CisgICAgW3dlYlZpZXcgbG9hZFJlcXVl
c3Q6cmVxdWVzdF07CisgICAgW3dlYlZpZXcgX3Rlc3Rfd2FpdEZvckRpZEZpbmlzaE5hdmlnYXRp
b25dOworCisgICAgX19ibG9jayBib29sIGZpbmlzaGVkOworICAgIFt3ZWJWaWV3IF9kb0FmdGVy
TmV4dFN0YWJsZVByZXNlbnRhdGlvblVwZGF0ZTpeeworICAgICAgICBmaW5pc2hlZCA9IHRydWU7
CisgICAgfV07CisKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmZpbmlzaGVkKTsKK30K
Kworc3RhdGljIEJPT0wgc0lzQmFja2dyb3VuZDsKK3N0YXRpYyBCT09MIGlzQmFja2dyb3VuZChp
ZCBzZWxmKQoreworICAgIHJldHVybiBzSXNCYWNrZ3JvdW5kOworfQorCitzdGF0aWMgdm9pZCBj
cmVhdGVIb3N0Vmlld0ZvckV4dGVuc2lvbklkZW50aWZpZXIodm9pZCheY2FsbGJhY2spKGlkIGhv
c3RWaWV3Q29udHJvbGxlciksIE5TU3RyaW5nICpleHRlbnNpb25JZGVudGlmaWVyKQoreworfQor
CitURVNUKFdlYktpdCwgV0tQREZWaWV3TG9zZXNBcHBsaWNhdGlvbkZvcmVncm91bmROb3RpZmlj
YXRpb24pCit7CisgICAgc3RkOjp1bmlxdWVfcHRyPENsYXNzTWV0aG9kU3dpenpsZXI+IHBkZkhv
c3RWaWV3Q29udHJvbGxlclN3aXp6bGVyID0gbWFrZVVuaXF1ZTxDbGFzc01ldGhvZFN3aXp6bGVy
PihbUERGSG9zdFZpZXdDb250cm9sbGVyIGNsYXNzXSwgQHNlbGVjdG9yKGNyZWF0ZUhvc3RWaWV3
OmZvckV4dGVuc2lvbklkZW50aWZpZXI6KSwgcmVpbnRlcnByZXRfY2FzdDxJTVA+KGNyZWF0ZUhv
c3RWaWV3Rm9yRXh0ZW5zaW9uSWRlbnRpZmllcikpOworCisgICAgc3RkOjp1bmlxdWVfcHRyPElu
c3RhbmNlTWV0aG9kU3dpenpsZXI+IGlzSW5CYWNrZ3JvdW5kU3dpenpsZXIgPSBtYWtlVW5pcXVl
PEluc3RhbmNlTWV0aG9kU3dpenpsZXI+KE5TQ2xhc3NGcm9tU3RyaW5nKEAiV0tBcHBsaWNhdGlv
blN0YXRlVHJhY2tpbmdWaWV3IiksIEBzZWxlY3Rvcihpc0JhY2tncm91bmQpLCByZWludGVycHJl
dF9jYXN0PElNUD4oaXNCYWNrZ3JvdW5kKSk7CisKKyAgICBSZXRhaW5QdHI8V0tXZWJWaWV3Q29u
ZmlndXJhdGlvbj4gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0
aW9uIGFsbG9jXSBpbml0XSk7CisgICAgW2NvbmZpZ3VyYXRpb24gX3NldEFsd2F5c1J1bnNBdEZv
cmVncm91bmRQcmlvcml0eTpZRVNdOworCisgICAgUmV0YWluUHRyPFdLV2ViVmlldz4gd2ViVmll
dyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgw
LCAwLCA4MDAsIDYwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpXSk7CisKKyAg
ICAvLyBMb2FkIGEgUERGLCBzbyB3ZSBpbnN0YWxsIGEgV0tQREZWaWV3LgorICAgIFt3ZWJWaWV3
IGxvYWREYXRhOltOU0RhdGEgZGF0YVdpdGhDb250ZW50c09mVVJMOltbTlNCdW5kbGUgbWFpbkJ1
bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJ0ZXN0IiB3aXRoRXh0ZW5zaW9uOkAicGRmIiBzdWJkaXJl
Y3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJdXSBNSU1FVHlwZTpAImFwcGxpY2F0aW9u
L3BkZiIgY2hhcmFjdGVyRW5jb2RpbmdOYW1lOkAiIiBiYXNlVVJMOltOU1VSTCBVUkxXaXRoU3Ry
aW5nOkAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLzAiXV07CisgICAgW3dlYlZpZXcgX3Rlc3Rfd2Fp
dEZvckRpZEZpbmlzaE5hdmlnYXRpb25dOworCisgICAgLy8gR28gaW50byB0aGUgYmFja2dyb3Vu
ZCBhbmQgcGFyZW50IHRoZSBXS1dlYlZpZXcuCisgICAgLy8gVGhpcyB3aWxsIGNhdXNlIFdLUERG
VmlldyB0byBzZW5kIGEgYXBwbGljYXRpb25EaWRFbnRlckJhY2tncm91bmQKKyAgICAvLyB0byB0
aGUgV2ViIENvbnRlbnQgcHJvY2VzcywgZnJlZXppbmcgdGhlIGxheWVyIHRyZWUuCisgICAgc0lz
QmFja2dyb3VuZCA9IFlFUzsKKyAgICBSZXRhaW5QdHI8VUlXaW5kb3c+IHVpV2luZG93ID0gYWRv
cHROUyhbW1VJV2luZG93IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAw
LCA2MDApXSk7CisgICAgW3VpV2luZG93IGFkZFN1YnZpZXc6d2ViVmlldy5nZXQoKV07CisgICAg
W3dlYlZpZXcgcmVtb3ZlRnJvbVN1cGVydmlld107CisKKyAgICAvLyBMb2FkIGEgSFRNTCBkb2N1
bWVudCwgc28gd2Ugc3dpdGNoIGJhY2sgdG8gV0tDb250ZW50Vmlldy4KKyAgICBbd2ViVmlldyBs
b2FkSFRNTFN0cmluZzpAIjxtZXRhIG5hbWU9J3ZpZXdwb3J0JyBjb250ZW50PSd3aWR0aD1kZXZp
Y2Utd2lkdGgnPjxoMT5oZWxsbyB3b3JsZDwvaDE+IiBiYXNlVVJMOltOU1VSTCBVUkxXaXRoU3Ry
aW5nOkAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLzEiXV07CisgICAgW3dlYlZpZXcgX3Rlc3Rfd2Fp
dEZvckRpZEZpbmlzaE5hdmlnYXRpb25XaXRob3V0UHJlc2VudGF0aW9uVXBkYXRlXTsKKworICAg
IC8vIEdvIGludG8gdGhlIGZvcmVncm91bmQsIGFuZCBwYXJlbnQgdGhlIHZpZXcuCisgICAgLy8g
VGhpcyBzaG91bGQgYmUgc3VmZmljaWVudCB0byB1bmZyZWV6ZSB0aGUgbGF5ZXIgdHJlZS4KKyAg
ICBzSXNCYWNrZ3JvdW5kID0gTk87CisgICAgW3VpV2luZG93IGFkZFN1YnZpZXc6d2ViVmlldy5n
ZXQoKV07CisKKyAgICBfX2Jsb2NrIGJvb2wgZmluaXNoZWQgPSBmYWxzZTsKKyAgICAvLyBJZiB0
aGUgYnVnIHJlcHJvZHVjZXMsIG5vIHN0YWJsZSBwcmVzZW50YXRpb24gdXBkYXRlIHdpbGwgZXZl
ciBjb21lLAorICAgIC8vIHNvIHRoZSB0ZXN0IHRpbWVzIG91dCBoZXJlLgorICAgIFt3ZWJWaWV3
IF9kb0FmdGVyTmV4dFByZXNlbnRhdGlvblVwZGF0ZTpeeworICAgICAgICBmaW5pc2hlZCA9IHRy
dWU7CisgICAgfV07CisKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmZpbmlzaGVkKTsK
K30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dENvY29hL1dLUERGVmlld1Jlc2l6ZUNyYXNoLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9XS1BERlZpZXdSZXNpemVDcmFzaC5tbQpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMjg2NTllMWE0ODFkYmM4MjU3MDY2ODY3ZGRkMGViOTMwNGVkZjU1Ny4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dLUERGVmlld1Jlc2l6ZUNyYXNoLm1tCisrKyAvZGV2
L251bGwKQEAgLTEsNTMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwot
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIK
LQotI2ltcG9ydCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKLSNpbXBvcnQgIlRlc3QuaCIKLSNpbXBv
cnQgIlRlc3ROYXZpZ2F0aW9uRGVsZWdhdGUuaCIKLSNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXcu
aD4KLSNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KLQotc3RhdGljIGJvb2wgZmluaXNoZWREaXNw
YXRjaDsKLQotVEVTVChXZWJLaXQsIFdLUERGVmlld1Jlc2l6ZUNyYXNoKQotewotICAgIFJldGFp
blB0cjxXS1dlYlZpZXc+IHdlYlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0
V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDApXSk7Ci0KLSAgICBOU1VSTFJlcXVl
c3QgKnJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltbTlNCdW5kbGUgbWFp
bkJ1bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJ0ZXN0IiB3aXRoRXh0ZW5zaW9uOkAicGRmIiBzdWJk
aXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJdXTsKLSAgICBbd2ViVmlldyBsb2Fk
UmVxdWVzdDpyZXF1ZXN0XTsKLSAgICBbd2ViVmlldyBfdGVzdF93YWl0Rm9yRGlkRmluaXNoTmF2
aWdhdGlvbl07Ci0KLSAgICBbd2ViVmlldyBzZXRGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDEwMCwg
MTAwKV07Ci0gICAgd2ViVmlldyA9IG5pbDsKLQotICAgIGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNo
X2dldF9tYWluX3F1ZXVlKCksIF57Ci0gICAgICAgIGZpbmlzaGVkRGlzcGF0Y2ggPSB0cnVlOwot
ICAgIH0pOwotCi0gICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZmaW5pc2hlZERpc3BhdGNo
KTsKLX0KLQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2Nv
YS9XS1BERlZpZXdTdGFibGVQcmVzZW50YXRpb25VcGRhdGVDYWxsYmFjay5tbSBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tQREZWaWV3U3RhYmxlUHJlc2VudGF0aW9u
VXBkYXRlQ2FsbGJhY2subW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFmZTZkZmVh
MTljNzE3YWM1Yzg4YWQwYjM1ZmU0YjllMzc5NDI5YTAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRD
b2NvYS9XS1BERlZpZXdTdGFibGVQcmVzZW50YXRpb25VcGRhdGVDYWxsYmFjay5tbQorKysgL2Rl
di9udWxsCkBAIC0xLDUzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
Ci0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
LSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0g
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgi
Ci0KLSNpbXBvcnQgIlBsYXRmb3JtVXRpbGl0aWVzLmgiCi0jaW1wb3J0ICJUZXN0LmgiCi0jaW1w
b3J0ICJUZXN0TmF2aWdhdGlvbkRlbGVnYXRlLmgiCi0jaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3
Lmg+Ci0jaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+Ci0KLSNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQotCi1URVNUKFdlYktpdCwgV0tQREZWaWV3U3RhYmxlUHJlc2VudGF0aW9uVXBkYXRlQ2FsbGJh
Y2spCi17Ci0gICAgUmV0YWluUHRyPFdLV2ViVmlldz4gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dl
YlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCldKTsK
LQotICAgIE5TVVJMUmVxdWVzdCAqcmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhV
Ukw6W1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpAInRlc3QiIHdpdGhFeHRl
bnNpb246QCJwZGYiIHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRBUEkucmVzb3VyY2VzIl1dOwot
ICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3RdOwotICAgIFt3ZWJWaWV3IF90ZXN0X3dh
aXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKLQotICAgIF9fYmxvY2sgYm9vbCBmaW5pc2hlZDsK
LQotICAgIFt3ZWJWaWV3IF9kb0FmdGVyTmV4dFN0YWJsZVByZXNlbnRhdGlvblVwZGF0ZTpeIHsK
LSAgICAgICAgZmluaXNoZWQgPSB0cnVlOwotICAgIH1dOwotCi0gICAgVGVzdFdlYktpdEFQSTo6
VXRpbDo6cnVuKCZmaW5pc2hlZCk7Ci19Ci0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9jb2NvYS9UZXN0TmF2aWdhdGlvbkRlbGVnYXRlLmggYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL2NvY29hL1Rlc3ROYXZpZ2F0aW9uRGVsZWdhdGUuaAppbmRleCA0MjVkNjc1MzM0NWQy
NGZjMDRlZjc5ZTY3M2M4YTkxNGU1ZGM3Yzg5Li4yMjMyMDFiY2JlZjljOWM3N2Q4NWMxZGQxZTg1
ODg0MjZiNjJmNWZiIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL1Rlc3RO
YXZpZ2F0aW9uRGVsZWdhdGUuaAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL1Rlc3RO
YXZpZ2F0aW9uRGVsZWdhdGUuaApAQCAtNDgsNCArNDgsNSBAQAogQGludGVyZmFjZSBXS1dlYlZp
ZXcgKFRlc3RXZWJLaXRBUElFeHRyYXMpCiAtICh2b2lkKV90ZXN0X3dhaXRGb3JEaWRTdGFydFBy
b3Zpc2lvbmFsTmF2aWdhdGlvbjsKIC0gKHZvaWQpX3Rlc3Rfd2FpdEZvckRpZEZpbmlzaE5hdmln
YXRpb247CistICh2b2lkKV90ZXN0X3dhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uV2l0aG91dFBy
ZXNlbnRhdGlvblVwZGF0ZTsKIEBlbmQKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
Y29jb2EvVGVzdE5hdmlnYXRpb25EZWxlZ2F0ZS5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29j
b2EvVGVzdE5hdmlnYXRpb25EZWxlZ2F0ZS5tbQppbmRleCA1NThlYTc3ODJlNTFhMjY3NDYwMDY3
OTc1ZDcwYTkyMTFmZmNhY2UwLi45Njc2YTMzYmIyNmNhZjk5ZWI3YmMxOTJkMjgwOWZkODY2ZmVm
ZDJkIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL1Rlc3ROYXZpZ2F0aW9u
RGVsZWdhdGUubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9UZXN0TmF2aWdhdGlv
bkRlbGVnYXRlLm1tCkBAIC0xNDAsNiArMTQwLDE3IEBAIC0gKHZvaWQpX3Rlc3Rfd2FpdEZvckRp
ZFN0YXJ0UHJvdmlzaW9uYWxOYXZpZ2F0aW9uCiAgICAgc2VsZi5uYXZpZ2F0aW9uRGVsZWdhdGUg
PSBuaWw7CiB9CiAKKy0gKHZvaWQpX3Rlc3Rfd2FpdEZvckRpZEZpbmlzaE5hdmlnYXRpb25XaXRo
b3V0UHJlc2VudGF0aW9uVXBkYXRlCit7CisgICAgRVhQRUNUX0ZBTFNFKHNlbGYubmF2aWdhdGlv
bkRlbGVnYXRlKTsKKworICAgIGF1dG8gbmF2aWdhdGlvbkRlbGVnYXRlID0gYWRvcHROUyhbW1Rl
c3ROYXZpZ2F0aW9uRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKKyAgICBzZWxmLm5hdmlnYXRpb25E
ZWxlZ2F0ZSA9IG5hdmlnYXRpb25EZWxlZ2F0ZS5nZXQoKTsKKyAgICBbbmF2aWdhdGlvbkRlbGVn
YXRlIHdhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKKworICAgIHNlbGYubmF2aWdhdGlvbkRl
bGVnYXRlID0gbmlsOworfQorCiAtICh2b2lkKV90ZXN0X3dhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0
aW9uCiB7CiAgICAgRVhQRUNUX0ZBTFNFKHNlbGYubmF2aWdhdGlvbkRlbGVnYXRlKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>382702</attachid>
            <date>2019-11-03 01:33:47 -0800</date>
            <delta_ts>2019-11-03 12:34:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203774-20191103013346.patch</filename>
            <type>text/plain</type>
            <size>31178</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxOTcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDk2MjEyYzdiNmMxZDVkNGQ0
MmNmYWZiYTA2YWYxZWI4Y2QxNDZhOGMuLmExNGU1NGJjNjNhODUzYTVjMzEwZThmN2FjOTUxNDRk
ZTRmY2I0MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDkgQEAKKzIwMTktMTEtMDMgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgV0tXZWJWaWV3IGNhbiBn
ZXQgc3R1Y2sgYmxhbmsgKFdlYiBDb250ZW50IHByb2Nlc3MgdGhpbmtzIHRoZSBhcHAgaXMgYmFj
a2dyb3VuZGVkKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjAzNzc0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81MzM5OTA1ND4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaXRoIGNhcmVmdWwgdGltaW5n
LCBpZiBhIFdLV2ViVmlldyBzd2FwcyBvdXQgaXRzIGNvbnRlbnQgdmlldyBpbiB0aGUKKyAgICAg
ICAgYmFja2dyb3VuZCwgdGhlIGluY29taW5nIHZpZXcgY2FuIGZhaWwgdG8gaW5mb3JtIHRoZSBX
ZWIgQ29udGVudCBwcm9jZXNzCisgICAgICAgIHdoZW4gdGhlIGFwcCBjb21lcyB0byB0aGUgZm9y
ZWdyb3VuZCwgbGVhdmluZyB0aGUgbGF5ZXIgdHJlZSBmcm96ZW4uCisKKyAgICAgICAgVGhpcyBv
Y2N1cnMgYmVjYXVzZSB0aGUgbGFzdC1zZW50IHN0YXRlIGlzIHN0b3JlZCBwZXItV0tBcHBsaWNh
dGlvblN0YXRlVHJhY2tpbmdWaWV3LAorICAgICAgICBhbmQgdGhlIGNvbnRlbnQgdmlldyBpcyB0
aGUgV0tBcHBsaWNhdGlvblN0YXRlVHJhY2tpbmdWaWV3LCBzbyBpdCBpcyBwb3NzaWJsZQorICAg
ICAgICBmb3IgZS5nLiBhIFdLUERGVmlldyB0byBiZSBpbiB0aGUgaGllcmFyY2h5LCBrZWVwaW5n
IHRoZSBjb3JyZWN0IHN0YXRlLAorICAgICAgICB3aXRoIGFuIGluaXRpYWxpemVkLWJ1dC1uZXZl
ci1wYXJlbnRlZCBXS0NvbnRlbnRWaWV3IGhhbmdpbmcgb2ZmIHRoZSBXS1dlYlZpZXcuCisKKyAg
ICAgICAgSWYgaXQgaXMgbmV2ZXIgcGFyZW50ZWQsIFdLQ29udGVudFZpZXcgd2lsbCB0aGluayB0
aGF0IHRoZSBjdXJyZW50IGFwcGxpY2F0aW9uCisgICAgICAgIHN0YXRlIGlzIGZvcmVncm91bmQg
KF9sYXN0T2JzZXJ2ZWRTdGF0ZVdhc0JhY2tncm91bmQgaXMgaW5pdGlhbGl6ZWQgdG8gTk8pLgor
CisgICAgICAgIElmIHlvdSBnbyBpbnRvIHRoZSBiYWNrZ3JvdW5kIHdpdGggYSBXS1BERlZpZXcg
YXMgdGhlIGN1cnJlbnQgY29udGVudCB2aWV3LAorICAgICAgICBpdCB3aWxsIGluZm9ybSB0aGUg
V2ViIENvbnRlbnQgcHJvY2VzcyB0aGF0IHRoZSBhcHBsaWNhdGlvbiBoYXMgYmFja2dyb3VuZGVk
LgorCisgICAgICAgIElmLCBzdGlsbCBpbiB0aGUgYmFja2dyb3VuZCwgV0tXZWJWaWV3IHN3YXBz
IGZyb20gdGhlIFdLUERGVmlldyB0bworICAgICAgICB0aGUgV0tDb250ZW50VmlldywgYW5kIHRo
ZW4gY29tZXMgaW50byB0aGUgZm9yZWdyb3VuZCwgd2hlbiB3ZSBnZXQgdGhlCisgICAgICAgIG5v
dGlmaWNhdGlvbiB0aGF0IHRoZSBhcHAgY2FtZSB0byB0aGUgZm9yZWdyb3VuZCwgd2Ugd2lsbCBu
b3QgZm9yd2FyZCBpdAorICAgICAgICB0byB0aGUgV2ViIENvbnRlbnQgcHJvY2VzcywgYmVjYXVz
ZSBXS0NvbnRlbnRWaWV3J3MgX2xhc3RPYnNlcnZlZFN0YXRlV2FzQmFja2dyb3VuZAorICAgICAg
ICByZW1haW5zIE5PLgorCisgICAgICAgIFRvIGZpeCB0aGlzLCBtb3ZlIF9sYXN0T2JzZXJ2ZWRT
dGF0ZVdhc0JhY2tncm91bmQgdG8gV2ViUGFnZVByb3h5LCBzbyB0aGF0CisgICAgICAgIGl0IGFs
d2F5cyB0cmFja3MgdGhlIG1vc3QgcmVjZW50bHkgc2VudCBzdGF0ZSwgcmVnYXJkbGVzcyBvZiB3
aGljaCBjb250ZW50IHZpZXcKKyAgICAgICAgaXMgYWN0aXZlLgorCisgICAgICAgICogVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cmVz
ZXRTdGF0ZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlUHJveHk6Omxhc3RPYnNlcnZlZFN0YXRlV2FzQmFja2dyb3VuZCBjb25z
dCk6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0FwcGxpY2F0aW9uU3RhdGVUcmFja2luZ1Zp
ZXcubW06CisgICAgICAgICgtW1dLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5nVmlldyB3aWxsTW92
ZVRvV2luZG93Ol0pOgorICAgICAgICAoLVtXS0FwcGxpY2F0aW9uU3RhdGVUcmFja2luZ1ZpZXcg
ZGlkTW92ZVRvV2luZG93XSk6CisgICAgICAgICgtW1dLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5n
VmlldyBfYXBwbGljYXRpb25EaWRFbnRlckJhY2tncm91bmRdKToKKyAgICAgICAgKC1bV0tBcHBs
aWNhdGlvblN0YXRlVHJhY2tpbmdWaWV3IF9hcHBsaWNhdGlvbldpbGxFbnRlckZvcmVncm91bmRd
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbToKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZVByb3h5OjphcHBsaWNhdGlvbkRpZEVudGVyQmFja2dyb3VuZCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6YXBwbGljYXRpb25XaWxsRW50ZXJGb3JlZ3Jv
dW5kKToKKwogMjAxOS0xMS0wMiAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAK
ICAgICAgICAgV2ViIEluc3BlY3RvcjogQWRkIGRpYWdub3N0aWMgbG9nZ2luZyBmb3IgZnJvbnRl
bmQgZmVhdHVyZSB1c2FnZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAK
aW5kZXggZjM5NTA2MjMxMjEwMTU5YzZmOWQ2ZWM4MzA4OTgxMzkzOTYwNzBkOC4uYzZiNjY3NDZi
MTgzMWVmYmExOTE3OGMxN2RkZTBhYjdkZTdmZGFjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwCkBAIC03MTU5LDYgKzcxNTksNyBAQCB2b2lkIFdlYlBhZ2VQcm94
eTo6cmVzZXRTdGF0ZShSZXNldFN0YXRlUmVhc29uIHJlc2V0U3RhdGVSZWFzb24pCiAgICAgbV9o
YXNOZXR3b3JrUmVxdWVzdHNPblN1c3BlbmRlZCA9IGZhbHNlOwogICAgIG1faXNLZXlib2FyZEFu
aW1hdGluZ0luID0gZmFsc2U7CiAgICAgbV9pc1Njcm9sbGluZ09yWm9vbWluZyA9IGZhbHNlOwor
ICAgIG1fbGFzdE9ic2VydmVkU3RhdGVXYXNCYWNrZ3JvdW5kID0gZmFsc2U7CiAjZW5kaWYKIAog
I2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICYmICFQTEFURk9STShJT1NfRkFN
SUxZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmgg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCAzODY1M2UyMmQ1
NzY2MGMzNjEyMDBhMTQ5NmU2MmMwZjI0NTBkZjU3Li5iODRmYjllMGVmMzk1ZTZmNmQ5MmNiNzA0
MGI1ZjA1ZDhhZGJiZDQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApA
QCAtNzM2LDYgKzczNiw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGFwcGxpY2F0aW9uRGlkRW50ZXJC
YWNrZ3JvdW5kKCk7CiAgICAgdm9pZCBhcHBsaWNhdGlvbkRpZEZpbmlzaFNuYXBzaG90dGluZ0Fm
dGVyRW50ZXJpbmdCYWNrZ3JvdW5kKCk7CiAgICAgdm9pZCBhcHBsaWNhdGlvbldpbGxFbnRlckZv
cmVncm91bmQoKTsKKyAgICBib29sIGxhc3RPYnNlcnZlZFN0YXRlV2FzQmFja2dyb3VuZCgpIGNv
bnN0IHsgcmV0dXJuIG1fbGFzdE9ic2VydmVkU3RhdGVXYXNCYWNrZ3JvdW5kOyB9CiAgICAgdm9p
ZCBhcHBsaWNhdGlvbldpbGxSZXNpZ25BY3RpdmUoKTsKICAgICB2b2lkIGFwcGxpY2F0aW9uRGlk
QmVjb21lQWN0aXZlKCk7CiAgICAgdm9pZCBjb21taXRQb3RlbnRpYWxUYXBGYWlsZWQoKTsKQEAg
LTI1NDIsNiArMjU0Myw3IEBAIHByaXZhdGU6CiAgICAgZG91YmxlIG1fdmlld3BvcnRDb25maWd1
cmF0aW9uTGF5b3V0U2l6ZVNjYWxlRmFjdG9yIHsgMSB9OwogICAgIGRvdWJsZSBtX3ZpZXdwb3J0
Q29uZmlndXJhdGlvbk1pbmltdW1FZmZlY3RpdmVEZXZpY2VXaWR0aCB7IDAgfTsKICAgICBXZWJD
b3JlOjpGbG9hdFNpemUgbV9tYXhpbXVtVW5vYnNjdXJlZFNpemU7CisgICAgYm9vbCBtX2xhc3RP
YnNlcnZlZFN0YXRlV2FzQmFja2dyb3VuZCB7IGZhbHNlIH07CiAjZW5kaWYKIAogICAgIE9wdGlv
bmFsPFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzPiBtX2NhY2hlZEZvbnRBdHRyaWJ1dGVzQXRTZWxl
Y3Rpb25TdGFydDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0Fw
cGxpY2F0aW9uU3RhdGVUcmFja2luZ1ZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvV0tBcHBsaWNhdGlvblN0YXRlVHJhY2tpbmdWaWV3Lm1tCmluZGV4IDZjOGI0M2Y2N2FmZDYy
M2Y2YzRjODhiODQ4MGFhNGU5MDg2ZmEwMTguLmI3ZjcwMjZkZGJmMTk3MjQzMzQ5MjUwMGJiY2Nj
MmY3MmVmMDI4ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0Fw
cGxpY2F0aW9uU3RhdGVUcmFja2luZ1ZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvaW9zL1dLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5nVmlldy5tbQpAQCAtMzgsNyArMzgsNiBA
QAogQGltcGxlbWVudGF0aW9uIFdLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5nVmlldyB7CiAgICAg
V2Vha09iakNQdHI8V0tXZWJWaWV3PiBfd2ViVmlld1RvVHJhY2s7CiAgICAgc3RkOjp1bmlxdWVf
cHRyPFdlYktpdDo6QXBwbGljYXRpb25TdGF0ZVRyYWNrZXI+IF9hcHBsaWNhdGlvblN0YXRlVHJh
Y2tlcjsKLSAgICBCT09MIF9sYXN0T2JzZXJ2ZWRTdGF0ZVdhc0JhY2tncm91bmQ7CiB9CiAKIC0g
KGluc3RhbmNldHlwZSlpbml0V2l0aEZyYW1lOihDR1JlY3QpZnJhbWUgd2ViVmlldzooV0tXZWJW
aWV3ICopd2ViVmlldwpAQCAtNTUsMTAgKzU0LDggQEAgLSAodm9pZCl3aWxsTW92ZVRvV2luZG93
OihVSVdpbmRvdyAqKW5ld1dpbmRvdwogICAgIGlmICghc2VsZi5fY29udGVudFZpZXcud2luZG93
IHx8IG5ld1dpbmRvdykKICAgICAgICAgcmV0dXJuOwogCi0gICAgX2xhc3RPYnNlcnZlZFN0YXRl
V2FzQmFja2dyb3VuZCA9IFtzZWxmIGlzQmFja2dyb3VuZF07Ci0KICAgICBhdXRvIHBhZ2UgPSBb
X3dlYlZpZXdUb1RyYWNrIF9wYWdlXTsKLSAgICBSRUxFQVNFX0xPRyhWaWV3U3RhdGUsICIlcCAt
IFdLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5nVmlldzogVmlldyB3aXRoIHBhZ2UgWyVwLCBwYWdl
UHJveHlJRDogJSIgUFJJdTY0ICJdIHdhcyByZW1vdmVkIGZyb20gYSB3aW5kb3csIF9sYXN0T2Jz
ZXJ2ZWRTdGF0ZVdhc0JhY2tncm91bmQ6ICVkIiwgc2VsZiwgcGFnZSwgcGFnZSA/IHBhZ2UtPmlk
ZW50aWZpZXIoKS50b1VJbnQ2NCgpIDogMCwgX2xhc3RPYnNlcnZlZFN0YXRlV2FzQmFja2dyb3Vu
ZCk7CisgICAgUkVMRUFTRV9MT0coVmlld1N0YXRlLCAiJXAgLSBXS0FwcGxpY2F0aW9uU3RhdGVU
cmFja2luZ1ZpZXc6IFZpZXcgd2l0aCBwYWdlIFslcCwgcGFnZVByb3h5SUQ6ICUiIFBSSXU2NCAi
XSB3YXMgcmVtb3ZlZCBmcm9tIGEgd2luZG93LCBfbGFzdE9ic2VydmVkU3RhdGVXYXNCYWNrZ3Jv
dW5kOiAlZCIsIHNlbGYsIHBhZ2UsIHBhZ2UgPyBwYWdlLT5pZGVudGlmaWVyKCkudG9VSW50NjQo
KSA6IDAsIHBhZ2UgPyBwYWdlLT5sYXN0T2JzZXJ2ZWRTdGF0ZVdhc0JhY2tncm91bmQoKSA6IGZh
bHNlKTsKICAgICBBU1NFUlQoX2FwcGxpY2F0aW9uU3RhdGVUcmFja2VyKTsKICAgICBfYXBwbGlj
YXRpb25TdGF0ZVRyYWNrZXIgPSBudWxscHRyOwogfQpAQCAtNjksMTIgKzY2LDE0IEBAIC0gKHZv
aWQpZGlkTW92ZVRvV2luZG93CiAgICAgICAgIHJldHVybjsKIAogICAgIGF1dG8gcGFnZSA9IFtf
d2ViVmlld1RvVHJhY2sgX3BhZ2VdOworICAgIGJvb2wgbGFzdE9ic2VydmVkU3RhdGVXYXNCYWNr
Z3JvdW5kID0gcGFnZSA/IHBhZ2UtPmxhc3RPYnNlcnZlZFN0YXRlV2FzQmFja2dyb3VuZCgpIDog
ZmFsc2U7CisKICAgICBfYXBwbGljYXRpb25TdGF0ZVRyYWNrZXIgPSBtYWtlVW5pcXVlPFdlYktp
dDo6QXBwbGljYXRpb25TdGF0ZVRyYWNrZXI+KHNlbGYsIEBzZWxlY3RvcihfYXBwbGljYXRpb25E
aWRFbnRlckJhY2tncm91bmQpLCBAc2VsZWN0b3IoX2FwcGxpY2F0aW9uRGlkRmluaXNoU25hcHNo
b3R0aW5nQWZ0ZXJFbnRlcmluZ0JhY2tncm91bmQpLCBAc2VsZWN0b3IoX2FwcGxpY2F0aW9uV2ls
bEVudGVyRm9yZWdyb3VuZCkpOwotICAgIFJFTEVBU0VfTE9HKFZpZXdTdGF0ZSwgIiVwIC0gV0tB
cHBsaWNhdGlvblN0YXRlVHJhY2tpbmdWaWV3OiBWaWV3IHdpdGggcGFnZSBbJXAsIHBhZ2VQcm94
eUlEOiAlIiBQUkl1NjQgIl0gd2FzIGFkZGVkIHRvIGEgd2luZG93LCBfbGFzdE9ic2VydmVkU3Rh
dGVXYXNCYWNrZ3JvdW5kOiAlZCwgaXNOb3dCYWNrZ3JvdW5kOiAlZCIsIHNlbGYsIHBhZ2UsIHBh
Z2UgPyBwYWdlLT5pZGVudGlmaWVyKCkudG9VSW50NjQoKSA6IDAsIF9sYXN0T2JzZXJ2ZWRTdGF0
ZVdhc0JhY2tncm91bmQsIFtzZWxmIGlzQmFja2dyb3VuZF0pOworICAgIFJFTEVBU0VfTE9HKFZp
ZXdTdGF0ZSwgIiVwIC0gV0tBcHBsaWNhdGlvblN0YXRlVHJhY2tpbmdWaWV3OiBWaWV3IHdpdGgg
cGFnZSBbJXAsIHBhZ2VQcm94eUlEOiAlIiBQUkl1NjQgIl0gd2FzIGFkZGVkIHRvIGEgd2luZG93
LCBfbGFzdE9ic2VydmVkU3RhdGVXYXNCYWNrZ3JvdW5kOiAlZCwgaXNOb3dCYWNrZ3JvdW5kOiAl
ZCIsIHNlbGYsIHBhZ2UsIHBhZ2UgPyBwYWdlLT5pZGVudGlmaWVyKCkudG9VSW50NjQoKSA6IDAs
IGxhc3RPYnNlcnZlZFN0YXRlV2FzQmFja2dyb3VuZCwgW3NlbGYgaXNCYWNrZ3JvdW5kXSk7CiAK
LSAgICBpZiAoX2xhc3RPYnNlcnZlZFN0YXRlV2FzQmFja2dyb3VuZCAmJiAhW3NlbGYgaXNCYWNr
Z3JvdW5kXSkKKyAgICBpZiAobGFzdE9ic2VydmVkU3RhdGVXYXNCYWNrZ3JvdW5kICYmICFbc2Vs
ZiBpc0JhY2tncm91bmRdKQogICAgICAgICBbc2VsZiBfYXBwbGljYXRpb25XaWxsRW50ZXJGb3Jl
Z3JvdW5kXTsKLSAgICBlbHNlIGlmICghX2xhc3RPYnNlcnZlZFN0YXRlV2FzQmFja2dyb3VuZCAm
JiBbc2VsZiBpc0JhY2tncm91bmRdKQorICAgIGVsc2UgaWYgKCFsYXN0T2JzZXJ2ZWRTdGF0ZVdh
c0JhY2tncm91bmQgJiYgW3NlbGYgaXNCYWNrZ3JvdW5kXSkKICAgICAgICAgW3NlbGYgX2FwcGxp
Y2F0aW9uRGlkRW50ZXJCYWNrZ3JvdW5kXTsKIH0KIApAQCAtODQsNyArODMsNiBAQCAtICh2b2lk
KV9hcHBsaWNhdGlvbkRpZEVudGVyQmFja2dyb3VuZAogICAgIGlmICghcGFnZSkKICAgICAgICAg
cmV0dXJuOwogCi0gICAgX2xhc3RPYnNlcnZlZFN0YXRlV2FzQmFja2dyb3VuZCA9IFlFUzsKICAg
ICBwYWdlLT5hcHBsaWNhdGlvbkRpZEVudGVyQmFja2dyb3VuZCgpOwogICAgIHBhZ2UtPmFjdGl2
aXR5U3RhdGVEaWRDaGFuZ2UoV2ViQ29yZTo6QWN0aXZpdHlTdGF0ZTo6YWxsRmxhZ3MoKSAtIFdl
YkNvcmU6OkFjdGl2aXR5U3RhdGU6OklzSW5XaW5kb3cpOwogfQpAQCAtMTAxLDcgKzk5LDYgQEAg
LSAodm9pZClfYXBwbGljYXRpb25XaWxsRW50ZXJGb3JlZ3JvdW5kCiAgICAgaWYgKCFwYWdlKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBfbGFzdE9ic2VydmVkU3RhdGVXYXNCYWNrZ3JvdW5kID0g
Tk87CiAgICAgcGFnZS0+YXBwbGljYXRpb25XaWxsRW50ZXJGb3JlZ3JvdW5kKCk7CiAgICAgcGFn
ZS0+YWN0aXZpdHlTdGF0ZURpZENoYW5nZShXZWJDb3JlOjpBY3Rpdml0eVN0YXRlOjphbGxGbGFn
cygpIC0gV2ViQ29yZTo6QWN0aXZpdHlTdGF0ZTo6SXNJbldpbmRvdywgdHJ1ZSwgV2ViS2l0OjpX
ZWJQYWdlUHJveHk6OkFjdGl2aXR5U3RhdGVDaGFuZ2VEaXNwYXRjaE1vZGU6OkltbWVkaWF0ZSk7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5
SU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQpp
bmRleCAyOTA0MGE0NmQyMDQ4MTA2NjJkYmQ2ZjQxMThlOTA5MDNjMTg2MjkxLi5jMDQxYmUxZjVj
ZDZhMDE2NjZmODY2MjA0ZWE0OGM2NmNjMTg2NzFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0KQEAgLTY0OSw2ICs2NDksOCBAQCB2b2lkIFdl
YlBhZ2VQcm94eTo6c2F2ZUltYWdlVG9MaWJyYXJ5KGNvbnN0IFNoYXJlZE1lbW9yeTo6SGFuZGxl
JiBpbWFnZUhhbmRsZSwgdQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6YXBwbGljYXRpb25EaWRFbnRl
ckJhY2tncm91bmQoKQogeworICAgIG1fbGFzdE9ic2VydmVkU3RhdGVXYXNCYWNrZ3JvdW5kID0g
dHJ1ZTsKKwogICAgIGJvb2wgaXNTdXNwZW5kZWRVbmRlckxvY2sgPSBbVUlBcHAgaXNTdXNwZW5k
ZWRVbmRlckxvY2tdOwogICAgIAogICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoVmlld1N0YXRl
LCAiYXBwbGljYXRpb25EaWRFbnRlckJhY2tncm91bmQ6IGlzU3VzcGVuZGVkVW5kZXJMb2NrPyAl
ZCIsIGlzU3VzcGVuZGVkVW5kZXJMb2NrKTsKQEAgLTY3OCw2ICs2ODAsOCBAQCBib29sIFdlYlBh
Z2VQcm94eTo6aXNJbkhhcmR3YXJlS2V5Ym9hcmRNb2RlKCkKIAogdm9pZCBXZWJQYWdlUHJveHk6
OmFwcGxpY2F0aW9uV2lsbEVudGVyRm9yZWdyb3VuZCgpCiB7CisgICAgbV9sYXN0T2JzZXJ2ZWRT
dGF0ZVdhc0JhY2tncm91bmQgPSBmYWxzZTsKKwogICAgIGJvb2wgaXNTdXNwZW5kZWRVbmRlckxv
Y2sgPSBbVUlBcHAgaXNTdXNwZW5kZWRVbmRlckxvY2tdOwogICAgIFJFTEVBU0VfTE9HX0lGX0FM
TE9XRUQoVmlld1N0YXRlLCAiYXBwbGljYXRpb25XaWxsRW50ZXJGb3JlZ3JvdW5kOiBpc1N1c3Bl
bmRlZFVuZGVyTG9jaz8gJWQiLCBpc1N1c3BlbmRlZFVuZGVyTG9jayk7CiAKZGlmZiAtLWdpdCBh
L1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxNmE2MDIwODUyYzUxYTc3
MmI3NTYxNTk1OTc3Mzk5ODkxNjFlNTg0Li42Y2YyYzdjOTY4OGI1MTYwMTM3MjdiOWU2M2U4NDkz
NjA3NmYxYTM4IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTktMTEtMDMgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hv
cnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgV0tXZWJWaWV3IGNhbiBnZXQgc3R1Y2sgYmxhbmsg
KFdlYiBDb250ZW50IHByb2Nlc3MgdGhpbmtzIHRoZSBhcHAgaXMgYmFja2dyb3VuZGVkKQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzNzc0CisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS81MzM5OTA1ND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Q29jb2EvV0tQREZWaWV3Lm1tOiBBZGRlZC4KKyAgICAgICAgKFRFU1QpOgorICAgICAgICAo
aXNCYWNrZ3JvdW5kKToKKyAgICAgICAgKGNyZWF0ZUhvc3RWaWV3Rm9yRXh0ZW5zaW9uSWRlbnRp
Zmllcik6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XS1BERlZp
ZXdSZXNpemVDcmFzaC5tbTogUmVtb3ZlZC4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL1dLUERGVmlld1N0YWJsZVByZXNlbnRhdGlvblVwZGF0ZUNhbGxiYWNrLm1t
OiBSZW1vdmVkLgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvY29jb2EvVGVzdE5hdmlnYXRpb25E
ZWxlZ2F0ZS5oOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvY29jb2EvVGVzdE5hdmlnYXRpb25E
ZWxlZ2F0ZS5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF90ZXN0X3dhaXRGb3JEaWRGaW5pc2hO
YXZpZ2F0aW9uV2l0aG91dFByZXNlbnRhdGlvblVwZGF0ZV0pOgorICAgICAgICBNZXJnZSBleGlz
dGluZyBXS1BERlZpZXcgdGVzdHMgaW50byBvbmUgZmlsZSwgYW5kIGFkZCBvbmUgZm9yIHRoaXMg
YnVnLgorCiAyMDE5LTExLTAyICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAog
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBBZGQgZGlhZ25vc3RpYyBsb2dnaW5nIGZvciBmcm9udGVu
ZCBmZWF0dXJlIHVzYWdlCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJL
aXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDdjMDkxODk2NmVhM2Ni
ZDgzOGQ3ZWRmYTdiNTdkYjcyNmY4ZTllMmYuLjhlNDliNWZlNTM4OTBiYmZlMTFhYjI3YmU1OWY3
YmY5ODc2MmFkY2UgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQ
SS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMjIsMTEgKzEyMiwxMCBA
QAogCQkyOTBBOUJCOTE3MzVGNjM4MDBENzFCQkMgLyogT3Blbk5ld1dpbmRvdy5odG1sIGluIENv
cHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5MEE5QkI4
MTczNUY0MjMwMEQ3MUJCQyAvKiBPcGVuTmV3V2luZG93Lmh0bWwgKi87IH07CiAJCTI5MEY0Mjc1
MTcyQTIyMUMwMDkzOUZGMCAvKiBjdXN0b20tcHJvdG9jb2wtc3luYy14aHIuaHRtbCBpbiBDb3B5
IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOTBGNDI3NDE3
MkExRkRFMDA5MzlGRjAgLyogY3VzdG9tLXByb3RvY29sLXN5bmMteGhyLmh0bWwgKi87IH07CiAJ
CTI5NzIzNEI3MTczQUZBQzcwMDk4MzYwMSAvKiBDdXN0b21Qcm90b2NvbHNJbnZhbGlkU2NoZW1l
X0J1bmRsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAyOTcyMzRCNTE3M0FGQUM3MDA5ODM2MDEgLyogQ3VzdG9tUHJvdG9jb2xzSW52YWxpZFNjaGVt
ZV9CdW5kbGUuY3BwICovOyB9OwotCQkyRDAwMDY1RjFDMUY1ODlBMDA4OEU2QTcgLyogV0tQREZW
aWV3UmVzaXplQ3Jhc2gubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAyRDAwMDY1RDFDMUY1ODk0MDA4OEU2QTcgLyogV0tQREZWaWV3UmVzaXplQ3Jhc2gu
bW0gKi87IH07CisJCTJEMDAwNjVGMUMxRjU4OUEwMDg4RTZBNyAvKiBXS1BERlZpZXcubW0gaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDAwMDY1RDFDMUY1
ODk0MDA4OEU2QTcgLyogV0tQREZWaWV3Lm1tICovOyB9OwogCQkyRDAxRDA2RTIzMjE4RkVFMDAz
OUFBM0EgLyogV0tXZWJWaWV3UHJpbnRGb3JtYXR0ZXIubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDAxRDA2RDIzMjE4RkVFMDAzOUFBM0EgLyogV0tX
ZWJWaWV3UHJpbnRGb3JtYXR0ZXIubW0gKi87IH07CiAJCTJEMDhFOTM3MjI2N0QwRjQwMDI1MThE
QSAvKiBSZXBhcmVudFdlYlZpZXdUaW1lb3V0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMkQwOEU5MzYyMjY3RDBGMzAwMjUxOERBIC8qIFJlcGFyZW50
V2ViVmlld1RpbWVvdXQubW0gKi87IH07CiAJCTJEMTY0NkUyMUQxODYyQ0QwMDAxNUExQSAvKiBE
ZWZlcnJlZFZpZXdJbldpbmRvd1N0YXRlQ2hhbmdlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQxNjQ2RTExRDE4NjJDRDAwMDE1QTFBIC8qIERlZmVy
cmVkVmlld0luV2luZG93U3RhdGVDaGFuZ2UubW0gKi87IH07Ci0JCTJEMjFGRTU5MUYwNDY0Mjkw
MEI1OEU3RCAvKiBXS1BERlZpZXdTdGFibGVQcmVzZW50YXRpb25VcGRhdGVDYWxsYmFjay5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEMjFGRTU4MUYw
NDY0MjgwMEI1OEU3RCAvKiBXS1BERlZpZXdTdGFibGVQcmVzZW50YXRpb25VcGRhdGVDYWxsYmFj
ay5tbSAqLzsgfTsKIAkJMkQyQkVCMkQyMjMyNEU1RjAwNTU0NENBIC8qIFJlcXVlc3RUZXh0SW5w
dXRDb250ZXh0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMkQyQkVCMkMyMjMyNEU1RjAwNTU0NENBIC8qIFJlcXVlc3RUZXh0SW5wdXRDb250ZXh0Lm1t
ICovOyB9OwogCQkyRDJEMTNCMzIyOUY0MDhCMDA1MDY4QUYgLyogRGV2aWNlTWFuYWdlbWVudFJl
c3RyaWN0aW9ucy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDJEMkQxM0IyMjI5RjQwOEIwMDUwNjhBRiAvKiBEZXZpY2VNYW5hZ2VtZW50UmVzdHJpY3Rp
b25zLm1tICovOyB9OwogCQkyRDJGRThEODIzMTVGMDZFMDBCMkU5QzkgLyogUmVsb2FkV2l0aERp
ZmZlcmluZ0luaXRpYWxTY2FsZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDJEMkZFOEQ3MjMxNUYwNkQwMEIyRTlDOSAvKiBSZWxvYWRXaXRoRGlmZmVy
aW5nSW5pdGlhbFNjYWxlLm1tICovOyB9OwpAQCAtMTQ1OSw3ICsxNDU4LDYgQEAKIAkJCQk1Nzc0
NTREMDIzNTlCMzc4MDA4RTFFRDcgLyogd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24t
aGlkLW5vLWNyZWRlbnRpYWxzLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJNTc2NjNE
RUMyMzRGMUY5MzAwRTg1RTA5IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWhp
ZC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTU3OTgzMzkyMjM2OEZBMzcwMDhFNTU0
NyAvKiB3ZWItYXV0aGVudGljYXRpb24tZ2V0LWFzc2VydGlvbi1uZmMtbXVsdGlwbGUtdGFncy5o
dG1sIGluIENvcHkgUmVzb3VyY2VzICovLAotCQkJCTU3OTgzMzdDMjM1RUI2ODkwMDhFNTU0NyAv
KiB3ZWItYXV0aGVudGljYXRpb24tZ2V0LWFzc2VydGlvbi1uZmMtbXVsdGlwbGUtdGFncy5odG1s
IGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTU3NjYzREVBMjM0RUE2NkQwMEU4NUUwOSAvKiB3
ZWItYXV0aGVudGljYXRpb24tZ2V0LWFzc2VydGlvbi1uZmMuaHRtbCBpbiBDb3B5IFJlc291cmNl
cyAqLywKIAkJCQk1Nzc0NTREMjIzNTlCQjAxMDA4RTFFRDcgLyogd2ViLWF1dGhlbnRpY2F0aW9u
LWdldC1hc3NlcnRpb24tdTJmLW5vLWNyZWRlbnRpYWxzLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMg
Ki8sCiAJCQkJNTdDNjI0NTAyMzQ2QzIxRTAwMzgzRkU3IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1n
ZXQtYXNzZXJ0aW9uLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCkBAIC0xNjA1LDE0ICsxNjAz
LDEzIEBACiAJCTI5QUI4QTlGMTY0QzczNTgwMEQ0OUJFQyAvKiBDdXN0b21Qcm90b2NvbHNUZXN0
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gQ3VzdG9tUHJvdG9j
b2xzVGVzdC5tbTsgcGF0aCA9IFdlYktpdE9iakMvQ3VzdG9tUHJvdG9jb2xzVGVzdC5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjlBQjhBQTIxNjRDN0E5MzAwRDQ5QkVDIC8qIFRl
c3RCcm93c2luZ0NvbnRleHRMb2FkRGVsZWdhdGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBUZXN0QnJvd3NpbmdDb250ZXh0TG9hZERlbGVnYXRlLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOUFCOEFBMzE2NEM3QTkzMDBENDlCRUMgLyogVGVz
dEJyb3dzaW5nQ29udGV4dExvYWREZWxlZ2F0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBUZXN0QnJvd3NpbmdDb250ZXh0TG9hZERlbGVnYXRlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCTJEMDAwNjVEMUMxRjU4OTQwMDg4RTZBNyAvKiBXS1BERlZpZXdSZXNp
emVDcmFzaC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLUERG
Vmlld1Jlc2l6ZUNyYXNoLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDAwMDY1
RDFDMUY1ODk0MDA4OEU2QTcgLyogV0tQREZWaWV3Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gV0tQREZWaWV3Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkyRDAxRDA2RDIzMjE4RkVFMDAzOUFBM0EgLyogV0tXZWJWaWV3UHJpbnRGb3JtYXR0ZXIu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXS1dlYlZpZXdQcmlu
dEZvcm1hdHRlci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQwOEU5MzYyMjY3
RDBGMzAwMjUxOERBIC8qIFJlcGFyZW50V2ViVmlld1RpbWVvdXQubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBSZXBhcmVudFdlYlZpZXdUaW1lb3V0Lm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDE2NDZFMTFEMTg2MkNEMDAwMTVBMUEgLyogRGVm
ZXJyZWRWaWV3SW5XaW5kb3dTdGF0ZUNoYW5nZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgbmFtZSA9IERlZmVycmVkVmlld0luV2luZG93U3RhdGVDaGFuZ2UubW07IHBhdGgg
PSBXZWJLaXQvRGVmZXJyZWRWaWV3SW5XaW5kb3dTdGF0ZUNoYW5nZS5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMkQxQzA0QTUxRDc2Mjk4QjAwMEE2ODE2IC8qIFRlc3ROYXZpZ2F0
aW9uRGVsZWdhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gVGVzdE5hdmln
YXRpb25EZWxlZ2F0ZS5oOyBwYXRoID0gY29jb2EvVGVzdE5hdmlnYXRpb25EZWxlZ2F0ZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDFDMDRBNjFENzYyOThCMDAwQTY4MTYgLyog
VGVzdE5hdmlnYXRpb25EZWxlZ2F0ZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgbmFtZSA9IFRlc3ROYXZpZ2F0aW9uRGVsZWdhdGUubW07IHBhdGggPSBjb2NvYS9UZXN0TmF2
aWdhdGlvbkRlbGVnYXRlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDFGRTBB
RjFBRDQ2NUMxMDA2Q0Q5RTYgLyogRml4ZWRMYXlvdXRTaXplLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gRml4ZWRMYXlvdXRTaXplLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQkyRDIxRkU1ODFGMDQ2NDI4MDBCNThFN0QgLyogV0tQREZWaWV3U3Rh
YmxlUHJlc2VudGF0aW9uVXBkYXRlQ2FsbGJhY2subW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBXS1BERlZpZXdTdGFibGVQcmVzZW50YXRpb25VcGRhdGVDYWxsYmFj
ay5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQyQkVCMkMyMjMyNEU1RjAwNTU0
NENBIC8qIFJlcXVlc3RUZXh0SW5wdXRDb250ZXh0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gUmVxdWVzdFRleHRJbnB1dENvbnRleHQubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTJEMkQxM0IyMjI5RjQwOEIwMDUwNjhBRiAvKiBEZXZpY2VNYW5h
Z2VtZW50UmVzdHJpY3Rpb25zLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gRGV2aWNlTWFuYWdlbWVudFJlc3RyaWN0aW9ucy5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMkQyRkU4RDcyMzE1RjA2RDAwQjJFOUM5IC8qIFJlbG9hZFdpdGhEaWZmZXJp
bmdJbml0aWFsU2NhbGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBSZWxvYWRXaXRoRGlmZmVyaW5nSW5pdGlhbFNjYWxlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMjk5MSw4ICsyOTg4LDcgQEAKIAkJCQlERjRCMjczODIxQTQ3NzI3MDA5QkQx
Q0EgLyogV0tOU0RpY3Rpb25hcnlFbXB0eURpY3Rpb25hcnlDcmFzaC5tbSAqLywKIAkJCQkzNzVF
MEUxNTFENjY2NzQ0MDBFRkVDMkMgLyogV0tOU051bWJlci5tbSAqLywKIAkJCQkzN0I0N0UyRTFE
NjRFN0NBMDA1RjRFRkYgLyogV0tPYmplY3QubW0gKi8sCi0JCQkJMkQwMDA2NUQxQzFGNTg5NDAw
ODhFNkE3IC8qIFdLUERGVmlld1Jlc2l6ZUNyYXNoLm1tICovLAotCQkJCTJEMjFGRTU4MUYwNDY0
MjgwMEI1OEU3RCAvKiBXS1BERlZpZXdTdGFibGVQcmVzZW50YXRpb25VcGRhdGVDYWxsYmFjay5t
bSAqLywKKwkJCQkyRDAwMDY1RDFDMUY1ODk0MDA4OEU2QTcgLyogV0tQREZWaWV3Lm1tICovLAog
CQkJCTM3ODE3NDZDMjE5OEFFMjQwMDA2MkMyNiAvKiBXS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlv
bi5tbSAqLywKIAkJCQk0NDgxN0EyRTFGMDQ4NkJGMDAwMDM4MTAgLyogV0tSZXF1ZXN0QWN0aXZh
dGVkRWxlbWVudEluZm8ubW0gKi8sCiAJCQkJNUU0QjFEMkMxRDQwNEM2MTAwMDUzNjIxIC8qIFdL
U2Nyb2xsVmlld0RlbGVnYXRlLm1tICovLApAQCAtNDkyMyw4ICs0OTE5LDcgQEAKIAkJCQk1MkQ2
NzNFRTFBRkIxMjczMDBGQTE5RkUgLyogV0tQYWdlQ29weVNlc3Npb25TdGF0ZVdpdGhGaWx0ZXJp
bmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdGMUYxQTQxMUFFNjAwNDQ3QzRDIC8qIFdL
UGFnZUdldFNjYWxlRmFjdG9yTm90WmVyby5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0Yy
MDFBNDExQUU2MDA0NDdDNEMgLyogV0tQYWdlSXNQbGF5aW5nQXVkaW8uY3BwIGluIFNvdXJjZXMg
Ki8sCi0JCQkJMkQwMDA2NUYxQzFGNTg5QTAwODhFNkE3IC8qIFdLUERGVmlld1Jlc2l6ZUNyYXNo
Lm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMkQyMUZFNTkxRjA0NjQyOTAwQjU4RTdEIC8qIFdLUERG
Vmlld1N0YWJsZVByZXNlbnRhdGlvblVwZGF0ZUNhbGxiYWNrLm1tIGluIFNvdXJjZXMgKi8sCisJ
CQkJMkQwMDA2NUYxQzFGNTg5QTAwODhFNkE3IC8qIFdLUERGVmlldy5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTdDQ0U3RjIxMUE0MTFBRTYwMDQ0N0M0QyAvKiBXS1ByZWZlcmVuY2VzLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTM3ODE3NDZEMjE5OEFFNDYwMDA2MkMyNiAvKiBXS1Byb2Nlc3NQb29s
Q29uZmlndXJhdGlvbi5tbSBpbiBTb3VyY2VzICovLAogCQkJCTQ0ODE3QTJGMUYwNDg2QkYwMDAw
MzgxMCAvKiBXS1JlcXVlc3RBY3RpdmF0ZWRFbGVtZW50SW5mby5tbSBpbiBTb3VyY2VzICovLApk
aWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XS1BERlZp
ZXcubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dLUERGVmlldy5t
bQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5hMGY1YTQ1OGU4YjdjM2MyNzQ1M2I3NGE2YWY0MTY0YzAzZjk1Y2YxCi0t
LSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9X
S1BERlZpZXcubW0KQEAgLTAsMCArMSwxMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUt
MjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKworI2ltcG9ydCAiQ2xhc3NNZXRob2RTd2l6emxlci5oIgorI2ltcG9ydCAi
SW5zdGFuY2VNZXRob2RTd2l6emxlci5oIgorI2ltcG9ydCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIK
KyNpbXBvcnQgIlRlc3QuaCIKKyNpbXBvcnQgIlRlc3ROYXZpZ2F0aW9uRGVsZWdhdGUuaCIKKyNp
bXBvcnQgPFdlYktpdC9XS1dlYlZpZXcuaD4KKyNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdDb25m
aWd1cmF0aW9uUHJpdmF0ZS5oPgorI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgorCisjaWYgUExB
VEZPUk0oSU9TX0ZBTUlMWSkKKworQGludGVyZmFjZSBQREZIb3N0Vmlld0NvbnRyb2xsZXIgOiBV
SVZpZXdDb250cm9sbGVyCisrICh2b2lkKWNyZWF0ZUhvc3RWaWV3Oih2b2lkKF4pKGlkIGhvc3RW
aWV3Q29udHJvbGxlcikpY2FsbGJhY2sgZm9yRXh0ZW5zaW9uSWRlbnRpZmllcjooTlNTdHJpbmcg
KilleHRlbnNpb25JZGVudGlmaWVyOworQGVuZAorCitAaW50ZXJmYWNlIFdLQXBwbGljYXRpb25T
dGF0ZVRyYWNraW5nVmlldyA6IFVJVmlldworLSAoQk9PTClpc0JhY2tncm91bmQ7CitAZW5kCisK
K1RFU1QoV2ViS2l0LCBXS1BERlZpZXdSZXNpemVDcmFzaCkKK3sKKyAgICBSZXRhaW5QdHI8V0tX
ZWJWaWV3PiB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFt
ZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKV0pOworCisgICAgTlNVUkxSZXF1ZXN0ICpyZXF1
ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbW05TQnVuZGxlIG1haW5CdW5kbGVd
IFVSTEZvclJlc291cmNlOkAidGVzdCIgd2l0aEV4dGVuc2lvbjpAInBkZiIgc3ViZGlyZWN0b3J5
OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXV07CisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6
cmVxdWVzdF07CisgICAgW3dlYlZpZXcgX3Rlc3Rfd2FpdEZvckRpZEZpbmlzaE5hdmlnYXRpb25d
OworCisgICAgW3dlYlZpZXcgc2V0RnJhbWU6TlNNYWtlUmVjdCgwLCAwLCAxMDAsIDEwMCldOwor
ICAgIHdlYlZpZXcgPSBuaWw7CisKKyAgICBfX2Jsb2NrIGJvb2wgZmluaXNoZWREaXNwYXRjaCA9
IGZhbHNlOworICAgIGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCksIF57
CisgICAgICAgIGZpbmlzaGVkRGlzcGF0Y2ggPSB0cnVlOworICAgIH0pOworCisgICAgVGVzdFdl
YktpdEFQSTo6VXRpbDo6cnVuKCZmaW5pc2hlZERpc3BhdGNoKTsKK30KKworVEVTVChXZWJLaXQs
IFdLUERGVmlld1N0YWJsZVByZXNlbnRhdGlvblVwZGF0ZUNhbGxiYWNrKQoreworICAgIFJldGFp
blB0cjxXS1dlYlZpZXc+IHdlYlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0
V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDApXSk7CisKKyAgICBOU1VSTFJlcXVl
c3QgKnJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltbTlNCdW5kbGUgbWFp
bkJ1bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJ0ZXN0IiB3aXRoRXh0ZW5zaW9uOkAicGRmIiBzdWJk
aXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJdXTsKKyAgICBbd2ViVmlldyBsb2Fk
UmVxdWVzdDpyZXF1ZXN0XTsKKyAgICBbd2ViVmlldyBfdGVzdF93YWl0Rm9yRGlkRmluaXNoTmF2
aWdhdGlvbl07CisKKyAgICBfX2Jsb2NrIGJvb2wgZmluaXNoZWQ7CisgICAgW3dlYlZpZXcgX2Rv
QWZ0ZXJOZXh0U3RhYmxlUHJlc2VudGF0aW9uVXBkYXRlOl57CisgICAgICAgIGZpbmlzaGVkID0g
dHJ1ZTsKKyAgICB9XTsKKworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZmluaXNoZWQp
OworfQorCitzdGF0aWMgQk9PTCBzSXNCYWNrZ3JvdW5kOworc3RhdGljIEJPT0wgaXNCYWNrZ3Jv
dW5kKGlkIHNlbGYpCit7CisgICAgcmV0dXJuIHNJc0JhY2tncm91bmQ7Cit9CisKK3N0YXRpYyB2
b2lkIGNyZWF0ZUhvc3RWaWV3Rm9yRXh0ZW5zaW9uSWRlbnRpZmllcih2b2lkKF5jYWxsYmFjayko
aWQgaG9zdFZpZXdDb250cm9sbGVyKSwgTlNTdHJpbmcgKmV4dGVuc2lvbklkZW50aWZpZXIpCit7
Cit9CisKK1RFU1QoV2ViS2l0LCBXS1BERlZpZXdMb3Nlc0FwcGxpY2F0aW9uRm9yZWdyb3VuZE5v
dGlmaWNhdGlvbikKK3sKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8Q2xhc3NNZXRob2RTd2l6emxlcj4g
cGRmSG9zdFZpZXdDb250cm9sbGVyU3dpenpsZXIgPSBtYWtlVW5pcXVlPENsYXNzTWV0aG9kU3dp
enpsZXI+KFtQREZIb3N0Vmlld0NvbnRyb2xsZXIgY2xhc3NdLCBAc2VsZWN0b3IoY3JlYXRlSG9z
dFZpZXc6Zm9yRXh0ZW5zaW9uSWRlbnRpZmllcjopLCByZWludGVycHJldF9jYXN0PElNUD4oY3Jl
YXRlSG9zdFZpZXdGb3JFeHRlbnNpb25JZGVudGlmaWVyKSk7CisKKyAgICBzdGQ6OnVuaXF1ZV9w
dHI8SW5zdGFuY2VNZXRob2RTd2l6emxlcj4gaXNJbkJhY2tncm91bmRTd2l6emxlciA9IG1ha2VV
bmlxdWU8SW5zdGFuY2VNZXRob2RTd2l6emxlcj4oTlNDbGFzc0Zyb21TdHJpbmcoQCJXS0FwcGxp
Y2F0aW9uU3RhdGVUcmFja2luZ1ZpZXciKSwgQHNlbGVjdG9yKGlzQmFja2dyb3VuZCksIHJlaW50
ZXJwcmV0X2Nhc3Q8SU1QPihpc0JhY2tncm91bmQpKTsKKworICAgIFJldGFpblB0cjxXS1dlYlZp
ZXdDb25maWd1cmF0aW9uPiBjb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZp
Z3VyYXRpb24gYWxsb2NdIGluaXRdKTsKKyAgICBbY29uZmlndXJhdGlvbiBfc2V0QWx3YXlzUnVu
c0F0Rm9yZWdyb3VuZFByaW9yaXR5OllFU107CisKKyAgICBSZXRhaW5QdHI8V0tXZWJWaWV3PiB3
ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VS
ZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCldKTsK
KworICAgIC8vIExvYWQgYSBQREYsIHNvIHdlIGluc3RhbGwgYSBXS1BERlZpZXcuCisgICAgW3dl
YlZpZXcgbG9hZERhdGE6W05TRGF0YSBkYXRhV2l0aENvbnRlbnRzT2ZVUkw6W1tOU0J1bmRsZSBt
YWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpAInRlc3QiIHdpdGhFeHRlbnNpb246QCJwZGYiIHN1
YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRBUEkucmVzb3VyY2VzIl1dIE1JTUVUeXBlOkAiYXBwbGlj
YXRpb24vcGRmIiBjaGFyYWN0ZXJFbmNvZGluZ05hbWU6QCIiIGJhc2VVUkw6W05TVVJMIFVSTFdp
dGhTdHJpbmc6QCJodHRwczovL3d3dy5hcHBsZS5jb20vMCJdXTsKKyAgICBbd2ViVmlldyBfdGVz
dF93YWl0Rm9yRGlkRmluaXNoTmF2aWdhdGlvbl07CisKKyAgICAvLyBHbyBpbnRvIHRoZSBiYWNr
Z3JvdW5kIGFuZCBwYXJlbnQgdGhlIFdLV2ViVmlldy4KKyAgICAvLyBUaGlzIHdpbGwgY2F1c2Ug
V0tQREZWaWV3IHRvIHNlbmQgYSBhcHBsaWNhdGlvbkRpZEVudGVyQmFja2dyb3VuZAorICAgIC8v
IHRvIHRoZSBXZWIgQ29udGVudCBwcm9jZXNzLCBmcmVlemluZyB0aGUgbGF5ZXIgdHJlZS4KKyAg
ICBzSXNCYWNrZ3JvdW5kID0gWUVTOworICAgIFJldGFpblB0cjxVSVdpbmRvdz4gdWlXaW5kb3cg
PSBhZG9wdE5TKFtbVUlXaW5kb3cgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAw
LCA4MDAsIDYwMCldKTsKKyAgICBbdWlXaW5kb3cgYWRkU3Vidmlldzp3ZWJWaWV3LmdldCgpXTsK
KyAgICBbd2ViVmlldyByZW1vdmVGcm9tU3VwZXJ2aWV3XTsKKworICAgIC8vIExvYWQgYSBIVE1M
IGRvY3VtZW50LCBzbyB3ZSBzd2l0Y2ggYmFjayB0byBXS0NvbnRlbnRWaWV3LgorICAgIFt3ZWJW
aWV3IGxvYWRIVE1MU3RyaW5nOkAiPG1ldGEgbmFtZT0ndmlld3BvcnQnIGNvbnRlbnQ9J3dpZHRo
PWRldmljZS13aWR0aCc+PGgxPmhlbGxvIHdvcmxkPC9oMT4iIGJhc2VVUkw6W05TVVJMIFVSTFdp
dGhTdHJpbmc6QCJodHRwczovL3d3dy5hcHBsZS5jb20vMSJdXTsKKyAgICBbd2ViVmlldyBfdGVz
dF93YWl0Rm9yRGlkRmluaXNoTmF2aWdhdGlvbldpdGhvdXRQcmVzZW50YXRpb25VcGRhdGVdOwor
CisgICAgLy8gR28gaW50byB0aGUgZm9yZWdyb3VuZCwgYW5kIHBhcmVudCB0aGUgdmlldy4KKyAg
ICAvLyBUaGlzIHNob3VsZCBiZSBzdWZmaWNpZW50IHRvIHVuZnJlZXplIHRoZSBsYXllciB0cmVl
LgorICAgIHNJc0JhY2tncm91bmQgPSBOTzsKKyAgICBbdWlXaW5kb3cgYWRkU3Vidmlldzp3ZWJW
aWV3LmdldCgpXTsKKworICAgIF9fYmxvY2sgYm9vbCBmaW5pc2hlZCA9IGZhbHNlOworICAgIC8v
IElmIHRoZSBidWcgcmVwcm9kdWNlcywgbm8gc3RhYmxlIHByZXNlbnRhdGlvbiB1cGRhdGUgd2ls
bCBldmVyIGNvbWUsCisgICAgLy8gc28gdGhlIHRlc3QgdGltZXMgb3V0IGhlcmUuCisgICAgW3dl
YlZpZXcgX2RvQWZ0ZXJOZXh0UHJlc2VudGF0aW9uVXBkYXRlOl57CisgICAgICAgIGZpbmlzaGVk
ID0gdHJ1ZTsKKyAgICB9XTsKKworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZmluaXNo
ZWQpOworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvV0tQREZWaWV3UmVzaXplQ3Jhc2gubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL1dLUERGVmlld1Jlc2l6ZUNyYXNoLm1tCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAyODY1OWUxYTQ4MWRiYzgyNTcwNjY4NjdkZGQwZWI5MzA0ZWRmNTU3
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tQREZWaWV3UmVzaXplQ3Jhc2gubW0KKysr
IC9kZXYvbnVsbApAQCAtMSw1MyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE1IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwot
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0g
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZp
Zy5oIgotCi0jaW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgotI2ltcG9ydCAiVGVzdC5oIgot
I2ltcG9ydCAiVGVzdE5hdmlnYXRpb25EZWxlZ2F0ZS5oIgotI2ltcG9ydCA8V2ViS2l0L1dLV2Vi
Vmlldy5oPgotI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgotCi1zdGF0aWMgYm9vbCBmaW5pc2hl
ZERpc3BhdGNoOwotCi1URVNUKFdlYktpdCwgV0tQREZWaWV3UmVzaXplQ3Jhc2gpCi17Ci0gICAg
UmV0YWluUHRyPFdLV2ViVmlldz4gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2Nd
IGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCldKTsKLQotICAgIE5TVVJM
UmVxdWVzdCAqcmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W1tOU0J1bmRs
ZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpAInRlc3QiIHdpdGhFeHRlbnNpb246QCJwZGYi
IHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRBUEkucmVzb3VyY2VzIl1dOwotICAgIFt3ZWJWaWV3
IGxvYWRSZXF1ZXN0OnJlcXVlc3RdOwotICAgIFt3ZWJWaWV3IF90ZXN0X3dhaXRGb3JEaWRGaW5p
c2hOYXZpZ2F0aW9uXTsKLQotICAgIFt3ZWJWaWV3IHNldEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwg
MTAwLCAxMDApXTsKLSAgICB3ZWJWaWV3ID0gbmlsOwotCi0gICAgZGlzcGF0Y2hfYXN5bmMoZGlz
cGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgXnsKLSAgICAgICAgZmluaXNoZWREaXNwYXRjaCA9IHRy
dWU7Ci0gICAgfSk7Ci0KLSAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmZpbmlzaGVkRGlz
cGF0Y2gpOwotfQotCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dENvY29hL1dLUERGVmlld1N0YWJsZVByZXNlbnRhdGlvblVwZGF0ZUNhbGxiYWNrLm1tIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XS1BERlZpZXdTdGFibGVQcmVzZW50
YXRpb25VcGRhdGVDYWxsYmFjay5tbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWZl
NmRmZWExOWM3MTdhYzVjODhhZDBiMzVmZTRiOWUzNzk0MjlhMC4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdENvY29hL1dLUERGVmlld1N0YWJsZVByZXNlbnRhdGlvblVwZGF0ZUNhbGxiYWNrLm1tCisr
KyAvZGV2L251bGwKQEAgLTEsNTMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
LSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgot
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25m
aWcuaCIKLQotI2ltcG9ydCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKLSNpbXBvcnQgIlRlc3QuaCIK
LSNpbXBvcnQgIlRlc3ROYXZpZ2F0aW9uRGVsZWdhdGUuaCIKLSNpbXBvcnQgPFdlYktpdC9XS1dl
YlZpZXcuaD4KLSNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KLQotI2lmIFBMQVRGT1JNKElPU19G
QU1JTFkpCi0KLVRFU1QoV2ViS2l0LCBXS1BERlZpZXdTdGFibGVQcmVzZW50YXRpb25VcGRhdGVD
YWxsYmFjaykKLXsKLSAgICBSZXRhaW5QdHI8V0tXZWJWaWV3PiB3ZWJWaWV3ID0gYWRvcHROUyhb
W1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAw
KV0pOwotCi0gICAgTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0
V2l0aFVSTDpbW05TQnVuZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAidGVzdCIgd2l0
aEV4dGVuc2lvbjpAInBkZiIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMi
XV07Ci0gICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6cmVxdWVzdF07Ci0gICAgW3dlYlZpZXcgX3Rl
c3Rfd2FpdEZvckRpZEZpbmlzaE5hdmlnYXRpb25dOwotCi0gICAgX19ibG9jayBib29sIGZpbmlz
aGVkOwotCi0gICAgW3dlYlZpZXcgX2RvQWZ0ZXJOZXh0U3RhYmxlUHJlc2VudGF0aW9uVXBkYXRl
Ol4gewotICAgICAgICBmaW5pc2hlZCA9IHRydWU7Ci0gICAgfV07Ci0KLSAgICBUZXN0V2ViS2l0
QVBJOjpVdGlsOjpydW4oJmZpbmlzaGVkKTsKLX0KLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL2NvY29hL1Rlc3ROYXZpZ2F0aW9uRGVsZWdhdGUuaCBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvY29jb2EvVGVzdE5hdmlnYXRpb25EZWxlZ2F0ZS5oCmluZGV4IDQyNWQ2NzUz
MzQ1ZDI0ZmMwNGVmNzllNjczYzhhOTE0ZTVkYzdjODkuLjIyMzIwMWJjYmVmOWM5Yzc3ZDg1YzFk
ZDFlODU4ODQyNmI2MmY1ZmIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2Ev
VGVzdE5hdmlnYXRpb25EZWxlZ2F0ZS5oCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2Ev
VGVzdE5hdmlnYXRpb25EZWxlZ2F0ZS5oCkBAIC00OCw0ICs0OCw1IEBACiBAaW50ZXJmYWNlIFdL
V2ViVmlldyAoVGVzdFdlYktpdEFQSUV4dHJhcykKIC0gKHZvaWQpX3Rlc3Rfd2FpdEZvckRpZFN0
YXJ0UHJvdmlzaW9uYWxOYXZpZ2F0aW9uOwogLSAodm9pZClfdGVzdF93YWl0Rm9yRGlkRmluaXNo
TmF2aWdhdGlvbjsKKy0gKHZvaWQpX3Rlc3Rfd2FpdEZvckRpZEZpbmlzaE5hdmlnYXRpb25XaXRo
b3V0UHJlc2VudGF0aW9uVXBkYXRlOwogQGVuZApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9jb2NvYS9UZXN0TmF2aWdhdGlvbkRlbGVnYXRlLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9jb2NvYS9UZXN0TmF2aWdhdGlvbkRlbGVnYXRlLm1tCmluZGV4IDU1OGVhNzc4MmU1MWEyNjc0
NjAwNjc5NzVkNzBhOTIxMWZmY2FjZTAuLjk2NzZhMzNiYjI2Y2FmOTllYjdiYzE5MmQyODA5ZmQ4
NjZmZWZkMmQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvVGVzdE5hdmln
YXRpb25EZWxlZ2F0ZS5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL1Rlc3ROYXZp
Z2F0aW9uRGVsZWdhdGUubW0KQEAgLTE0MCw2ICsxNDAsMTcgQEAgLSAodm9pZClfdGVzdF93YWl0
Rm9yRGlkU3RhcnRQcm92aXNpb25hbE5hdmlnYXRpb24KICAgICBzZWxmLm5hdmlnYXRpb25EZWxl
Z2F0ZSA9IG5pbDsKIH0KIAorLSAodm9pZClfdGVzdF93YWl0Rm9yRGlkRmluaXNoTmF2aWdhdGlv
bldpdGhvdXRQcmVzZW50YXRpb25VcGRhdGUKK3sKKyAgICBFWFBFQ1RfRkFMU0Uoc2VsZi5uYXZp
Z2F0aW9uRGVsZWdhdGUpOworCisgICAgYXV0byBuYXZpZ2F0aW9uRGVsZWdhdGUgPSBhZG9wdE5T
KFtbVGVzdE5hdmlnYXRpb25EZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOworICAgIHNlbGYubmF2aWdh
dGlvbkRlbGVnYXRlID0gbmF2aWdhdGlvbkRlbGVnYXRlLmdldCgpOworICAgIFtuYXZpZ2F0aW9u
RGVsZWdhdGUgd2FpdEZvckRpZEZpbmlzaE5hdmlnYXRpb25dOworCisgICAgc2VsZi5uYXZpZ2F0
aW9uRGVsZWdhdGUgPSBuaWw7Cit9CisKIC0gKHZvaWQpX3Rlc3Rfd2FpdEZvckRpZEZpbmlzaE5h
dmlnYXRpb24KIHsKICAgICBFWFBFQ1RfRkFMU0Uoc2VsZi5uYXZpZ2F0aW9uRGVsZWdhdGUpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>