<?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>85692</bug_id>
          
          <creation_ts>2012-05-04 19:38:44 -0700</creation_ts>
          <short_desc>Convert isPageBoxVisible to use Internals interface</short_desc>
          <delta_ts>2012-05-06 17:38:22 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gyuyoung Kim">gyuyoung.kim</reporter>
          <assigned_to name="Gyuyoung Kim">gyuyoung.kim</assigned_to>
          <cc>aestes</cc>
    
    <cc>dglazkov</cc>
    
    <cc>rakuco</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>616869</commentid>
    <comment_count>0</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-05-04 19:38:44 -0700</bug_when>
    <thetext>Adjust isPageBoxVisible tests to use Internals instead of LayoutTestController interface. In my humble opinion, isPageBoxVisible() is able to be supported by Internals. Because, it looks this function is implemented by WebCore layer, not WebKit layer. I&apos;d like to know how do reviewers think about this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616888</commentid>
    <comment_count>1</comment_count>
      <attachid>140379</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-05-04 20:51:19 -0700</bug_when>
    <thetext>Created attachment 140379
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616890</commentid>
    <comment_count>2</comment_count>
      <attachid>140379</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-05-04 21:05:51 -0700</bug_when>
    <thetext>Comment on attachment 140379
Patch

Attachment 140379 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/12626348</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616893</commentid>
    <comment_count>3</comment_count>
      <attachid>140379</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-04 21:17:23 -0700</bug_when>
    <thetext>Comment on attachment 140379
Patch

Attachment 140379 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/12543527</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616894</commentid>
    <comment_count>4</comment_count>
      <attachid>140379</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-05-04 21:20:05 -0700</bug_when>
    <thetext>Comment on attachment 140379
Patch

Attachment 140379 did not pass win-ews (win):
Output: http://queues.webkit.org/results/12602355</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616896</commentid>
    <comment_count>5</comment_count>
      <attachid>140379</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-05-04 21:47:04 -0700</bug_when>
    <thetext>Comment on attachment 140379
Patch

Attachment 140379 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12531360</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616898</commentid>
    <comment_count>6</comment_count>
      <attachid>140379</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-05-04 22:10:10 -0700</bug_when>
    <thetext>Comment on attachment 140379
Patch

Attachment 140379 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/12626362</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616906</commentid>
    <comment_count>7</comment_count>
      <attachid>140382</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-05-04 23:51:09 -0700</bug_when>
    <thetext>Created attachment 140382
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616911</commentid>
    <comment_count>8</comment_count>
      <attachid>140382</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-05-05 00:18:34 -0700</bug_when>
    <thetext>Comment on attachment 140382
Patch

Attachment 140382 did not pass win-ews (win):
Output: http://queues.webkit.org/results/12507439</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616959</commentid>
    <comment_count>9</comment_count>
      <attachid>140397</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-05-05 06:53:37 -0700</bug_when>
    <thetext>Created attachment 140397
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617063</commentid>
    <comment_count>10</comment_count>
      <attachid>140397</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-05-05 17:22:34 -0700</bug_when>
    <thetext>Comment on attachment 140397
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=140397&amp;action=review

&gt; Tools/DumpRenderTree/mac/LayoutTestControllerMac.mm:-315
&gt; -    return [mainFrame isPageBoxVisible:pageNumber];

I can’t speak for the other ports, but for the Mac port, the isPageBoxVisible: method exists only to support this DumpRenderTree feature. So we should also be removing that method from WebKit entirely.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617198</commentid>
    <comment_count>11</comment_count>
      <attachid>140397</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-06 15:42:33 -0700</bug_when>
    <thetext>Comment on attachment 140397
Patch

Clearing flags on attachment: 140397

Committed r116246: &lt;http://trac.webkit.org/changeset/116246&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617199</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-06 15:42:41 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617237</commentid>
    <comment_count>13</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2012-05-06 17:29:13 -0700</bug_when>
    <thetext>This patch broke the build on my machine due to leaving behind an unused function. I removed the function in &lt;http://trac.webkit.org/changeset/116252&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617239</commentid>
    <comment_count>14</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-05-06 17:38:22 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; This patch broke the build on my machine due to leaving behind an unused function. I removed the function in &lt;http://trac.webkit.org/changeset/116252&gt;.

Thank you for your fix for build break.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140379</attachid>
            <date>2012-05-04 20:51:19 -0700</date>
            <delta_ts>2012-05-04 23:50:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85692-20120505125116.patch</filename>
            <type>text/plain</type>
            <size>30722</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2MTk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2I1M2VlODE1NjBmYzdm
NmQ4MTdjODVlMWJhNWMzOWU2MTMyYjQ3YS4uZTgzMzFlYmViNmM4ODYwNzUxOGM1MzgwZjIyODI0
NjRkMTY3NzBkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA1LTA0ICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgQ29udmVydCBp
c1BhZ2VCb3hWaXNpYmxlIHRvIHVzZSBJbnRlcm5hbHMgaW50ZXJmYWNlLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODU2OTIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgaXNQYWdlQm94VmlzaWJsZSBm
dW5jdGlvbnMsIGJlY2F1c2UgaXQgaXMgYWJsZSB0byB3b3JrIGluIHRoZQorICAgICAgICBjcm9z
cy1wb3J0IHdheSB0aHJvdWdoIHRoZSBJbnRlcm5hbHMgaW50ZXJmYWNlLgorCisgICAgICAgIE5v
IG5ldyB0ZXN0cywgc2luY2Ugd2UgYXJlIGltcHJvdmluZyBoZXJlIHRoZSBpbmZyYS1zdHJ1Y3R1
cmUgZm9yIHRlc3RpbmcKKyAgICAgICAgYSBzcGVjaWZpYyBtZXRob2QuCisKKyAgICAgICAgKiB0
ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNv
cmU6OkludGVybmFsczo6aXNQYWdlQm94VmlzaWJsZSk6CisgICAgICAgICogdGVzdGluZy9JbnRl
cm5hbHMuaDoKKyAgICAgICAgKEludGVybmFscyk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5h
bHMuaWRsOgorCiAyMDEyLTA1LTA0ICBKZWZmcmV5IFBmYXUgIDxqcGZhdUBhcHBsZS5jb20+CiAK
ICAgICAgICAgVW5yZXZpZXdlZDsgYnVpbGQgZml4IGFmdGVyIHIxMTYxOTEuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VM
b2cKaW5kZXggMTU4NzMzNTQ0MWNhMDM5ZjYwZTlkZjUzODVlYzY3MmNlOTliNTI3YS4uYmVmYmU2
MDExMDc0Mjc1MjIyYzA4NzQzMDdhN2EyNjkzNGY1NzgzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9lZmwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE2IEBACisyMDEyLTA1LTA0ICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ft
c3VuZy5jb20+CisKKyAgICAgICAgQ29udmVydCBpc1BhZ2VCb3hWaXNpYmxlIHRvIHVzZSBJbnRl
cm5hbHMgaW50ZXJmYWNlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODU2OTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBSZW1vdmUgaXNQYWdlQm94VmlzaWJsZSBmdW5jdGlvbnMsIGJlY2F1c2UgaXQgaXMg
YWJsZSB0byB3b3JrIGluIHRoZQorICAgICAgICBjcm9zcy1wb3J0IHdheSB0aHJvdWdoIHRoZSBJ
bnRlcm5hbHMgaW50ZXJmYWNlLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRl
clRyZWVTdXBwb3J0RWZsLmNwcDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVy
VHJlZVN1cHBvcnRFZmwuaDoKKwogMjAxMi0wNS0wNCAgQ2hyaXN0b3BoZSBEdW1leiAgPGNocmlz
dG9waGUuZHVtZXpAaW50ZWwuY29tPgogCiAgICAgICAgIFtFRkxdIEltcGxlbWVudCBsYXlvdXRU
ZXN0Q29udHJvbGxlci5kdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9n
CmluZGV4IGNhNTA2NDViZmUwNmQ2ODAwNTkyMTZjZTMxOTY5NWM4ODI2ZWJkYzguLjBhMGZjNmFi
MDNkNzFjOGUyYzc0NTA3NjA3MjkxYmJkYjI2YWY4YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvZ3RrL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxMi0wNS0wNCAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1
bmcuY29tPgorCisgICAgICAgIENvbnZlcnQgaXNQYWdlQm94VmlzaWJsZSB0byB1c2UgSW50ZXJu
YWxzIGludGVyZmFjZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTg1NjkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgUmVtb3ZlIGlzUGFnZUJveFZpc2libGUgZnVuY3Rpb25zLCBiZWNhdXNlIGl0IGlzIGFi
bGUgdG8gd29yayBpbiB0aGUKKyAgICAgICAgY3Jvc3MtcG9ydCB3YXkgdGhyb3VnaCB0aGUgSW50
ZXJuYWxzIGludGVyZmFjZS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJU
cmVlU3VwcG9ydEd0ay5jcHA6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRy
ZWVTdXBwb3J0R3RrLmg6CisgICAgICAgIChEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGspOgorCiAy
MDEyLTA1LTA0ICBTdWRhcnNhbmEgTmFnaW5lbmkgIDxzdWRhcnNhbmEubmFnaW5lbmlAbGludXgu
aW50ZWwuY29tPgogCiAgICAgICAgIFtHVEtdIERSVCBuZWVkcyBhbiBpbXBsZW1lbnRhdGlvbiBv
ZiBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RGVmZXJzTG9hZGluZyBhbmQgOjpnb0JhY2sKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9xdC9D
aGFuZ2VMb2cKaW5kZXggMGQwZGRlYmQ3NjZiNGYzZWNjOWExMGRmYTcxOWVkNGNkZDY1MDgzOS4u
NDBlNjlmZTZkMDAxOWM4OGI3ZTk3NmMyZGQyOGE4ZDMwZWMxM2U4ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNiBAQAorMjAxMi0wNS0wNCAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2lt
QHNhbXN1bmcuY29tPgorCisgICAgICAgIENvbnZlcnQgaXNQYWdlQm94VmlzaWJsZSB0byB1c2Ug
SW50ZXJuYWxzIGludGVyZmFjZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTg1NjkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUmVtb3ZlIGlzUGFnZUJveFZpc2libGUgZnVuY3Rpb25zLCBiZWNhdXNlIGl0
IGlzIGFibGUgdG8gd29yayBpbiB0aGUKKyAgICAgICAgY3Jvc3MtcG9ydCB3YXkgdGhyb3VnaCB0
aGUgSW50ZXJuYWxzIGludGVyZmFjZS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBS
ZW5kZXJUcmVlU3VwcG9ydFF0LmNwcDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVu
ZGVyVHJlZVN1cHBvcnRRdC5oOgorCiAyMDEyLTA1LTA0ICBOYXRlIENoYXBpbiAgPGphcGhldEBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgRG9uJ3QgcmVxdWlyZSBGcmFtZUxvYWRlckNsaWVudCB0
byBtYW51ZmFjdHVyZSBhIGNvbW1pdERhdGEoKSBjYWxsIGZvciBlbXB0eSBkb2N1bWVudHMuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggNGMxZDAyYzBmZTZjMjdiZjc2Mjlh
N2JkYTBlMDU5YmRmYTI5YmM5Ny4uZDIwYmI2ZmE2MWJkNDZiNmY2Mjc4ODM3NWJjMjcwNTczYTY1
MGQzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtOTk3LDYgKzk5Nywx
NiBAQCB1bnNpZ25lZCBJbnRlcm5hbHM6Om51bWJlck9mU2Nyb2xsYWJsZUFyZWFzKERvY3VtZW50
KiBkb2N1bWVudCwgRXhjZXB0aW9uQ29kZSYpCiAKICAgICByZXR1cm4gY291bnQ7CiB9CisgICAg
Citib29sIEludGVybmFsczo6aXNQYWdlQm94VmlzaWJsZShEb2N1bWVudCogZG9jdW1lbnQsIGlu
dCBwYWdlTnVtYmVyLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAoIWRvY3VtZW50KSB7
CisgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOworICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgfQorCisgICAgZG9jdW1lbnQtPmlzUGFnZUJveFZpc2libGUocGFnZU51bWJlcik7Cit9
CiAKICNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCiB2b2lkIEludGVybmFsczo6d2Via2l0V2ls
bEVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50LCBFbGVtZW50KiBl
bGVtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggNTEyZjRkMjZjMGVjMzYy
MGMxYzllNzIwYjQ5ZGJkNWRhZWZlYzZlMC4uMzkxZDM3NWZhMDNlYjdkMDFiNTAzOTg0MzFhYWFh
Yjk3MmUwYzFlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC0xNTMsNiArMTUz
LDggQEAgcHVibGljOgogCiAgICAgdW5zaWduZWQgbnVtYmVyT2ZTY3JvbGxhYmxlQXJlYXMoRG9j
dW1lbnQqLCBFeGNlcHRpb25Db2RlJik7CiAKKyAgICBib29sIGlzUGFnZUJveFZpc2libGUoRG9j
dW1lbnQqLCBpbnQgcGFnZU51bWJlciwgRXhjZXB0aW9uQ29kZSYpOworCiAgICAgc3RhdGljIGNv
bnN0IGNoYXIqIGludGVybmFsc0lkOwogCiAgICAgSW50ZXJuYWxTZXR0aW5ncyogc2V0dGluZ3Mo
KSBjb25zdCB7IHJldHVybiBtX3NldHRpbmdzLmdldCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5pZGwKaW5kZXggN2I0YmViMTc3Y2U0OTNiMzk0NzYyZGVhY2VjNTc1ODY1MjFlNDg3
My4uMDVmNmQzNGY4ODg3MTFmOGU5ZTBkYTYyZjZhMzM2MDZiYjIxODJmYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtMTI4LDYgKzEyOCw4IEBAIG1vZHVsZSB3aW5kb3cg
ewogCiAgICAgICAgIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZTY3JvbGxhYmxlQXJlYXMoaW4gRG9j
dW1lbnQgZG9jdW1lbnQpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKIAorICAgICAgICBib29sZWFu
IGlzUGFnZUJveFZpc2libGUoaW4gRG9jdW1lbnQgZG9jdW1lbnQsIGluIGxvbmcgcGFnZU51bWJl
cikgcmFpc2VzIChET01FeGNlcHRpb24pOworCiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBJ
bnRlcm5hbFNldHRpbmdzIHNldHRpbmdzOwogCiAjaWYgZGVmaW5lZChFTkFCTEVfQkFUVEVSWV9T
VEFUVVMpICYmIEVOQUJMRV9CQVRURVJZX1NUQVRVUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9lZmwvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5jcHAK
aW5kZXggYmVmNWMwYmM3ZTM1OTVmZGI4YThjYTNhMjU5NmFjZjQ1NmVlZTIzOS4uNzQ5NThmYmE4
ZWRlYzg5ZmE2YTFlZmVkYjQxNGE1NzgzMmIwM2E0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9lZmwvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwu
Y3BwCkBAIC0xNTEsMjEgKzE1MSw2IEBAIFdlYkNvcmU6OkZyYW1lKiBEdW1wUmVuZGVyVHJlZVN1
cHBvcnRFZmw6OmZyYW1lUGFyZW50KGNvbnN0IEV2YXNfT2JqZWN0KiBld2tGcmFtCiAgICAgcmV0
dXJuIGZyYW1lLT50cmVlKCktPnBhcmVudCgpOwogfQogCi1ib29sIER1bXBSZW5kZXJUcmVlU3Vw
cG9ydEVmbDo6aXNQYWdlQm94VmlzaWJsZShjb25zdCBFdmFzX09iamVjdCogZXdrRnJhbWUsIGlu
dCBwYWdlSW5kZXgpCi17Ci0gICAgY29uc3QgV2ViQ29yZTo6RnJhbWUqIGZyYW1lID0gRVdLUHJp
dmF0ZTo6Y29yZUZyYW1lKGV3a0ZyYW1lKTsKLQotICAgIGlmICghZnJhbWUpCi0gICAgICAgIHJl
dHVybiBmYWxzZTsKLQotICAgIFdlYkNvcmU6OkRvY3VtZW50KiBkb2N1bWVudCA9IGZyYW1lLT5k
b2N1bWVudCgpOwotCi0gICAgaWYgKCFkb2N1bWVudCkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwot
Ci0gICAgcmV0dXJuIGRvY3VtZW50LT5pc1BhZ2VCb3hWaXNpYmxlKHBhZ2VJbmRleCk7Ci19Ci0K
IHZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsOjpsYXlvdXRGcmFtZShFdmFzX09iamVjdCog
ZXdrRnJhbWUpCiB7CiAgICAgV2ViQ29yZTo6RnJhbWUqIGZyYW1lID0gRVdLUHJpdmF0ZTo6Y29y
ZUZyYW1lKGV3a0ZyYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVT
dXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5oIGIvU291cmNlL1dlYktpdC9lZmwvV2Vi
Q29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsLmgKaW5kZXggOTY2MWY3MzdjNzcx
ZGY0NjJhYWNiMjYyNzVjYmViN2YwMDZjOWIwYS4uYjE2NzcyMzczYTMwZDFlYTg1OWM1OGIzYTkw
NjgxNmI5NjUxNzczOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBv
cnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2Vi
Q29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsLmgKQEAgLTUyLDcgKzUyLDYgQEAg
cHVibGljOgogICAgIHN0YXRpYyBib29sIGVsZW1lbnREb2VzQXV0b0NvbXBsZXRlRm9yRWxlbWVu
dFdpdGhJZChjb25zdCBFdmFzX09iamVjdCogZXdrRnJhbWUsIGNvbnN0IFN0cmluZyYgZWxlbWVu
dElkKTsKICAgICBzdGF0aWMgRWluYV9MaXN0KiBmcmFtZUNoaWxkcmVuKGNvbnN0IEV2YXNfT2Jq
ZWN0KiBld2tGcmFtZSk7CiAgICAgc3RhdGljIFdlYkNvcmU6OkZyYW1lKiBmcmFtZVBhcmVudChj
b25zdCBFdmFzX09iamVjdCogZXdrRnJhbWUpOwotICAgIHN0YXRpYyBib29sIGlzUGFnZUJveFZp
c2libGUoY29uc3QgRXZhc19PYmplY3QqIGV3a0ZyYW1lLCBpbnQgcGFnZUluZGV4KTsKICAgICBz
dGF0aWMgdm9pZCBsYXlvdXRGcmFtZShFdmFzX09iamVjdCogZXdrRnJhbWUpOwogICAgIHN0YXRp
YyBpbnQgbnVtYmVyT2ZQYWdlcyhjb25zdCBFdmFzX09iamVjdCogZXdrRnJhbWUsIGZsb2F0IHBh
Z2VXaWR0aCwgZmxvYXQgcGFnZUhlaWdodCk7CiAgICAgc3RhdGljIGludCBudW1iZXJPZlBhZ2Vz
Rm9yRWxlbWVudElkKGNvbnN0IEV2YXNfT2JqZWN0KiBld2tGcmFtZSwgY29uc3QgY2hhciogZWxl
bWVudElkLCBmbG9hdCBwYWdlV2lkdGgsIGZsb2F0IHBhZ2VIZWlnaHQpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3Rr
LmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3Vw
cG9ydEd0ay5jcHAKaW5kZXggMjUyODBmMjk5YWJlOWNmNTcxYmNmNDFiNzkwYzBkZDllMzhiZTQx
MC4uMWEwZjMyZjJkYzQwYzYxYzBkOTNiODBkODg4NmE3NjUwZDY5NGU0ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3Rr
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJl
ZVN1cHBvcnRHdGsuY3BwCkBAIC0yNzEsMjQgKzI3MSw2IEBAIENTdHJpbmcgRHVtcFJlbmRlclRy
ZWVTdXBwb3J0R3RrOjpwYWdlUHJvcGVydHkoV2ViS2l0V2ViRnJhbWUqIGZyYW1lLCBjb25zdCBj
aGFyCiB9CiAKIC8qKgotICogaXNQYWdlQm94VmlzaWJsZQotICogQGZyYW1lOiBhICNXZWJLaXRX
ZWJGcmFtZQotICogQHBhZ2VOdW1iZXI6IG51bWJlciBvZiBhIHBhZ2UgCi0gKgotICogUmV0dXJu
IHZhbHVlOiBUUlVFIGlmIGEgcGFnZSBib3ggaXMgdmlzaWJsZS4gCi0gKi8KLWJvb2wgRHVtcFJl
bmRlclRyZWVTdXBwb3J0R3RrOjppc1BhZ2VCb3hWaXNpYmxlKFdlYktpdFdlYkZyYW1lKiBmcmFt
ZSwgaW50IHBhZ2VOdW1iZXIpCi17Ci0gICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lT
X1dFQl9GUkFNRShmcmFtZSksIGZhbHNlKTsKLQotICAgIEZyYW1lKiBjb3JlRnJhbWUgPSBjb3Jl
KGZyYW1lKTsKLSAgICBpZiAoIWNvcmVGcmFtZSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0g
ICAgcmV0dXJuIGNvcmVGcmFtZS0+ZG9jdW1lbnQoKS0+aXNQYWdlQm94VmlzaWJsZShwYWdlTnVt
YmVyKTsgCi19Ci0KLS8qKgogICogcGFnZVNpemVBbmRNYXJnaW5zSW5QaXhlbHMKICAqIEBmcmFt
ZTogYSAjV2ViS2l0V2ViRnJhbWUKICAqIEBwYWdlTnVtYmVyOiBudW1iZXIgb2YgYSBwYWdlIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRy
ZWVTdXBwb3J0R3RrLmggYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVu
ZGVyVHJlZVN1cHBvcnRHdGsuaAppbmRleCBiNjRmZmViMDNmZDEwZjY5YjBjNDkyZTc3N2Y1MjMx
NGM3NmEzYTliLi43ZGI4NWNmZmU0NzlhYmViZmZmM2Q4NDdiNjIyY2VlYWNmMzU3MzI4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1
cHBvcnRHdGsuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVu
ZGVyVHJlZVN1cHBvcnRHdGsuaApAQCAtNjUsNyArNjUsNiBAQCBwdWJsaWM6CiAgICAgc3RhdGlj
IGludCBwYWdlTnVtYmVyRm9yRWxlbWVudEJ5SWQoV2ViS2l0V2ViRnJhbWUqLCBjb25zdCBjaGFy
KiBpZCwgZmxvYXQgcGFnZVdpZHRoLCBmbG9hdCBwYWdlSGVpZ2h0KTsKICAgICBzdGF0aWMgaW50
IG51bWJlck9mUGFnZXNGb3JGcmFtZShXZWJLaXRXZWJGcmFtZSosIGZsb2F0IHBhZ2VXaWR0aCwg
ZmxvYXQgcGFnZUhlaWdodCk7CiAgICAgc3RhdGljIFdURjo6Q1N0cmluZyBwYWdlUHJvcGVydHko
V2ViS2l0V2ViRnJhbWUqLCBjb25zdCBjaGFyKiBwcm9wZXJ0eU5hbWUsIGludCBwYWdlTnVtYmVy
KTsKLSAgICBzdGF0aWMgYm9vbCBpc1BhZ2VCb3hWaXNpYmxlKFdlYktpdFdlYkZyYW1lKiwgaW50
IHBhZ2VOdW1iZXIpOwogICAgIHN0YXRpYyBXVEY6OkNTdHJpbmcgcGFnZVNpemVBbmRNYXJnaW5z
SW5QaXhlbHMoV2ViS2l0V2ViRnJhbWUqLCBpbnQgcGFnZU51bWJlciwgaW50IHdpZHRoLCBpbnQg
aGVpZ2h0LCBpbnQgbWFyZ2luVG9wLCBpbnQgbWFyZ2luUmlnaHQsIGludCBtYXJnaW5Cb3R0b20s
IGludCBtYXJnaW5MZWZ0KTsKICAgICBzdGF0aWMgdm9pZCBhZGRVc2VyU3R5bGVTaGVldChXZWJL
aXRXZWJGcmFtZSosIGNvbnN0IGNoYXIqIHNvdXJjZUNvZGUsIGJvb2wgYWxsRnJhbWVzKTsKICAg
ICBzdGF0aWMgZ3VpbnQgZ2V0UGVuZGluZ1VubG9hZEV2ZW50Q291bnQoV2ViS2l0V2ViRnJhbWUq
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRl
clRyZWVTdXBwb3J0UXQuY3BwIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1w
UmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKaW5kZXggMGQyYzJmZDc5MzE5OTA0Zjg1M2RmMWY5ZDQz
ZmM2YWZkOTQxY2MxMi4uZjU1ZTI1NjY3OWExYmZhY2UyN2M2OWVhMGVjMWJiY2E1NzgwZTE2MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJl
ZVN1cHBvcnRRdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1w
UmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKQEAgLTk2MiwxMiArOTYyLDYgQEAgdm9pZCBEdW1wUmVu
ZGVyVHJlZVN1cHBvcnRRdDo6ZXZhbHVhdGVTY3JpcHRJbklzb2xhdGVkV29ybGQoUVdlYkZyYW1l
KiBmcmFtZSwgaW4KICNlbmRpZgogfQogCi1ib29sIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Ojpp
c1BhZ2VCb3hWaXNpYmxlKFFXZWJGcmFtZSogZnJhbWUsIGludCBwYWdlSW5kZXgpCi17Ci0gICAg
V2ViQ29yZTo6RnJhbWUqIGNvcmVGcmFtZSA9IFFXZWJGcmFtZVByaXZhdGU6OmNvcmUoZnJhbWUp
OwotICAgIHJldHVybiBjb3JlRnJhbWUtPmRvY3VtZW50KCktPmlzUGFnZUJveFZpc2libGUocGFn
ZUluZGV4KTsKLX0KLQogUVN0cmluZyBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6cGFnZVNpemVB
bmRNYXJnaW5zSW5QaXhlbHMoUVdlYkZyYW1lKiBmcmFtZSwgaW50IHBhZ2VJbmRleCwgaW50IHdp
ZHRoLCBpbnQgaGVpZ2h0LCBpbnQgbWFyZ2luVG9wLCBpbnQgbWFyZ2luUmlnaHQsIGludCBtYXJn
aW5Cb3R0b20sIGludCBtYXJnaW5MZWZ0KQogewogICAgIFdlYkNvcmU6OkZyYW1lKiBjb3JlRnJh
bWUgPSBRV2ViRnJhbWVQcml2YXRlOjpjb3JlKGZyYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaCBiL1NvdXJj
ZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaAppbmRl
eCA3NDJmMzQzMzhhNjlhMmUwNDY4M2IwZmE3NWNkNmQyNjBkNjBjMTg3Li5lYWRjMWFmMzU2NjI5
OWE4M2UzMDk1ZjZkYzQxZDFhZTdiMzZmNDI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0
L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmgKKysrIGIvU291cmNlL1dl
YktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5oCkBAIC0xOTYs
OCArMTk2LDYgQEAgcHVibGljOgogCiAgICAgc3RhdGljIHZvaWQgc2V0Q3VzdG9tUG9saWN5RGVs
ZWdhdGUoYm9vbCBlbmFibGVkLCBib29sIHBlcm1pc3NpdmUpOwogCi0gICAgc3RhdGljIGJvb2wg
aXNQYWdlQm94VmlzaWJsZShRV2ViRnJhbWUqIGZyYW1lLCBpbnQgcGFnZUluZGV4KTsKLQogICAg
IHN0YXRpYyBRU3RyaW5nIHBhZ2VTaXplQW5kTWFyZ2luc0luUGl4ZWxzKFFXZWJGcmFtZSogZnJh
bWUsIGludCBwYWdlSW5kZXgsIGludCB3aWR0aCwgaW50IGhlaWdodCwgaW50IG1hcmdpblRvcCwg
aW50IG1hcmdpblJpZ2h0LCBpbnQgbWFyZ2luQm90dG9tLCBpbnQgbWFyZ2luTGVmdCk7CiAgICAg
c3RhdGljIFFTdHJpbmcgcGFnZVByb3BlcnR5KFFXZWJGcmFtZSogZnJhbWUsIGNvbnN0IFFTdHJp
bmcmIHByb3BlcnR5TmFtZSwgaW50IHBhZ2VOdW1iZXIpOwogICAgIHN0YXRpYyB2b2lkIGFkZFVz
ZXJTdHlsZVNoZWV0KFFXZWJQYWdlKiBwYWdlLCBjb25zdCBRU3RyaW5nJiBzb3VyY2VDb2RlKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIgYi9Tb3VyY2UvYXV0
b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCmluZGV4IDIyNzFlYzBiOTJlODMyNjM1ZDBmYzBiYmZmNWZh
MTU3NDY1OTBhZmIuLjRkNzUwY2Y4YmYwMmU3NDdiOGFlMTI2ODcxOWQ5NTk3MGYyZGY4OTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKKysrIGIvU291cmNlL2F1
dG90b29scy9zeW1ib2xzLmZpbHRlcgpAQCAtMTA2LDYgKzEwNiw3IEBAIF9aTks3V2ViQ29yZThE
b2N1bWVudDR2aWV3RXY7CiBfWk5LN1dlYkNvcmU1UmFuZ2U0dGV4dEV2OwogX1pOSzdXZWJDb3Jl
OVRyZWVTY29wZTE0Z2V0RWxlbWVudEJ5SWRFUktOM1dURjEyQXRvbWljU3RyaW5nRTsKIF9aTks3
V2ViQ29yZTE0RG9jdW1lbnRNYXJrZXIxMWRlc2NyaXB0aW9uRXY7CitfWk43V2ViQ29yZThEb2N1
bWVudDE2aXNQYWdlQm94VmlzaWJsZUVpOwogX1pOSzdXZWJDb3JlMTlJbnNwZWN0b3JDb250cm9s
bGVyMTJnZXRIaWdobGlnaHRFUE5TXzlIaWdobGlnaHRFOwogX1pON1dlYkNvcmUyNEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjI2aW5zdHJ1bWVudGluZ0FnZW50c0ZvclBhZ2VFUE5TXzRQYWdlRTsK
IF9aTjdXZWJDb3JlMjRJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24xN3NfZnJvbnRlbmRDb3VudGVy
RTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBk
N2YxNDkxY2Q0ZjA3ZTJhNzU3MGU4NmMwY2UyYjBlMDBhYTA5MDUxLi5jYWNlYjAyMzI2MDI3MTM2
NDg1NGZkZmQwMjkyZmIyZTZiMTNlYTAyIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysr
IGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAKKzIwMTItMDUtMDQgIEd5dXlvdW5n
IEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBDb252ZXJ0IGlzUGFn
ZUJveFZpc2libGUgdG8gdXNlIEludGVybmFscyBpbnRlcmZhY2UuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTY5MgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBpc1BhZ2VCb3hWaXNpYmxlIGZ1
bmN0aW9ucywgYmVjYXVzZSBpdCBpcyBhYmxlIHRvIHdvcmsgaW4gdGhlCisgICAgICAgIGNyb3Nz
LXBvcnQgd2F5IHRocm91Z2ggdGhlIEludGVybmFscyBpbnRlcmZhY2UuCisKKyAgICAgICAgKiBE
dW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChMYXlvdXRU
ZXN0Q29udHJvbGxlcjo6c3RhdGljRnVuY3Rpb25zKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJl
ZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXIp
OgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvTGF5b3V0VGVzdENvbnRyb2xs
ZXJCbGFja0JlcnJ5LmNwcDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlv
dXRUZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6TGF5
b3V0VGVzdENvbnRyb2xsZXIpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xh
eW91dFRlc3RDb250cm9sbGVyLmg6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcik6Cisg
ICAgICAgICogRHVtcFJlbmRlclRyZWUvZWZsL0xheW91dFRlc3RDb250cm9sbGVyRWZsLmNwcDoK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsuY3Bw
OgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9MYXlvdXRUZXN0Q29udHJvbGxlck1hYy5t
bToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNw
cDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0Lmg6
CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcik6CisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvd2luL0xheW91dFRlc3RDb250cm9sbGVyV2luLmNwcDoKKyAgICAgICAgKiBEdW1wUmVuZGVy
VHJlZS93eC9MYXlvdXRUZXN0Q29udHJvbGxlcld4LmNwcDoKKwogMjAxMi0wNS0wNCAgRXJpYyBT
ZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CiAKICAgICAgICAgTWFrZSBjYXBpdGFsaXphdGlvbiBh
bmQgZGVzY3JpcHRpb25zIGluIEZlYXR1cmVMaXN0LnBtIG1vcmUgY29uc2lzdGVudCB0byBtYWtl
IGVhc2llciB0byBhdXRvZ2VuZXJhdGUKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L0xheW91dFRlc3RDb250cm9sbGVyLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRl
c3RDb250cm9sbGVyLmNwcAppbmRleCBlMDk0NGU1Zjk3NTRjNGM1Y2M2MjIyZTMxZjE4NzRiOTQw
YWEzNjM0Li40Mzk0ODk0OTEzYWUzNzRjZTE1ZGY4MDMyM2MwMWQ4MDE4MDFjZTJhIDEwMDY0NAot
LS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKKysrIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCkBAIC05MjEsMTYg
KzkyMSw2IEBAIHN0YXRpYyBKU1ZhbHVlUmVmIHBhZ2VQcm9wZXJ0eUNhbGxiYWNrKEpTQ29udGV4
dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlvCiAgICAgcmV0dXJuIHZhbHVlOwogfQog
Ci1zdGF0aWMgSlNWYWx1ZVJlZiBpc1BhZ2VCb3hWaXNpYmxlQ2FsbGJhY2soSlNDb250ZXh0UmVm
IGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1bmN0aW9uLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBz
aXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1
ZVJlZiogZXhjZXB0aW9uKQotewotICAgIGludCBwYWdlTnVtYmVyID0gMDsKLSAgICBpZiAoIXBh
cnNlUGFnZU51bWJlcihjb250ZXh0LCBhcmd1bWVudENvdW50LCBhcmd1bWVudHMsIGV4Y2VwdGlv
biwgcGFnZU51bWJlcikpCi0gICAgICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250
ZXh0KTsKLQotICAgIExheW91dFRlc3RDb250cm9sbGVyKiBjb250cm9sbGVyID0gc3RhdGljX2Nh
c3Q8TGF5b3V0VGVzdENvbnRyb2xsZXIqPihKU09iamVjdEdldFByaXZhdGUodGhpc09iamVjdCkp
OwotICAgIHJldHVybiBKU1ZhbHVlTWFrZUJvb2xlYW4oY29udGV4dCwgY29udHJvbGxlci0+aXNQ
YWdlQm94VmlzaWJsZShwYWdlTnVtYmVyKSk7Ci19Ci0KIHN0YXRpYyBKU1ZhbHVlUmVmIHBhZ2VT
aXplQW5kTWFyZ2luc0luUGl4ZWxzQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2Jq
ZWN0UmVmIGZ1bmN0aW9uLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRD
b3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9u
KQogewogICAgIGludCBwYWdlTnVtYmVyID0gMDsKQEAgLTIzNzMsNyArMjM2Myw2IEBAIEpTU3Rh
dGljRnVuY3Rpb24qIExheW91dFRlc3RDb250cm9sbGVyOjpzdGF0aWNGdW5jdGlvbnMoKQogICAg
ICAgICB7ICJncmFudERlc2t0b3BOb3RpZmljYXRpb25QZXJtaXNzaW9uIiwgZ3JhbnREZXNrdG9w
Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRP
bmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sIAogICAgICAgICB7ICJpZ25v
cmVEZXNrdG9wTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RzIiwgaWdub3JlRGVza3RvcE5v
dGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0c0NhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0
ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsg
ImlzQ29tbWFuZEVuYWJsZWQiLCBpc0NvbW1hbmRFbmFibGVkQ2FsbGJhY2ssIGtKU1Byb3BlcnR5
QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKLSAg
ICAgICAgeyAiaXNQYWdlQm94VmlzaWJsZSIsIGlzUGFnZUJveFZpc2libGVDYWxsYmFjaywga0pT
UHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0
ZSB9LAogICAgICAgICB7ICJrZWVwV2ViSGlzdG9yeSIsIGtlZXBXZWJIaXN0b3J5Q2FsbGJhY2ss
IGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnRE
ZWxldGUgfSwKICAgICAgICAgeyAibGF5ZXJUcmVlQXNUZXh0IiwgbGF5ZXJUcmVlQXNUZXh0Q2Fs
bGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0
ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAibnVtYmVyT2ZQYWdlcyIsIG51bWJlck9mUGFnZXND
YWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmli
dXRlRG9udERlbGV0ZSB9LApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0
VGVzdENvbnRyb2xsZXIuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9s
bGVyLmgKaW5kZXggMGMyM2VmMDQ0MTFiOWUwYmEzYmFjZjcyNTc2ZjBmMzk2NzU5ZTk5Ny4uYTNl
M2U5Yjk1NzRlMzFiZDQyYmU3Y2NkODhiOTJlN2E4M2FjYWU1ZCAxMDA2NDQKLS0tIGEvVG9vbHMv
RHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaAorKysgYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCkBAIC03Niw3ICs3Niw2IEBAIHB1YmxpYzoK
ICAgICBpbnQgcGFnZU51bWJlckZvckVsZW1lbnRCeUlkKEpTU3RyaW5nUmVmIGlkLCBmbG9hdCBw
YWdlV2lkdGhJblBpeGVscywgZmxvYXQgcGFnZUhlaWdodEluUGl4ZWxzKTsKICAgICBKU1JldGFp
blB0cjxKU1N0cmluZ1JlZj4gcGFnZVByb3BlcnR5KGNvbnN0IGNoYXIqIHByb3BlcnR5TmFtZSwg
aW50IHBhZ2VOdW1iZXIpIGNvbnN0OwogICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBwYWdl
U2l6ZUFuZE1hcmdpbnNJblBpeGVscyhpbnQgcGFnZU51bWJlciwgaW50IHdpZHRoLCBpbnQgaGVp
Z2h0LCBpbnQgbWFyZ2luVG9wLCBpbnQgbWFyZ2luUmlnaHQsIGludCBtYXJnaW5Cb3R0b20sIGlu
dCBtYXJnaW5MZWZ0KSBjb25zdDsKLSAgICBib29sIGlzUGFnZUJveFZpc2libGUoaW50IHBhZ2VO
dW1iZXIpIGNvbnN0OwogICAgIEpTU3RyaW5nUmVmIHBhdGhUb0xvY2FsUmVzb3VyY2UoSlNDb250
ZXh0UmVmLCBKU1N0cmluZ1JlZiB1cmwpOwogICAgIHZvaWQgcXVldWVCYWNrTmF2aWdhdGlvbihp
bnQgaG93RmFyQmFja3dhcmQpOwogICAgIHZvaWQgcXVldWVGb3J3YXJkTmF2aWdhdGlvbihpbnQg
aG93RmFyRm9yd2FyZCk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ibGFja2Jl
cnJ5L0xheW91dFRlc3RDb250cm9sbGVyQmxhY2tCZXJyeS5jcHAgYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9ibGFja2JlcnJ5L0xheW91dFRlc3RDb250cm9sbGVyQmxhY2tCZXJyeS5jcHAKaW5kZXgg
NGI4ZDZmNjI5ZDczYWU3M2MwNmM2OWI2NGU5ZDkwOWMyZGM4MmNjMC4uYmQxYTViZDY2ZjVhZGNl
NjY3ZjJhNTFiNzBlOTQ1OTZhYzM0ZTZlNCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvYmxhY2tiZXJyeS9MYXlvdXRUZXN0Q29udHJvbGxlckJsYWNrQmVycnkuY3BwCisrKyBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvTGF5b3V0VGVzdENvbnRyb2xsZXJCbGFja0Jl
cnJ5LmNwcApAQCAtNTQ5LDEyICs1NDksNiBAQCBpbnQgTGF5b3V0VGVzdENvbnRyb2xsZXI6Om51
bWJlck9mUGFnZXMoZmxvYXQsIGZsb2F0KQogICAgIHJldHVybiAtMTsKIH0KIAotYm9vbCBMYXlv
dXRUZXN0Q29udHJvbGxlcjo6aXNQYWdlQm94VmlzaWJsZShpbnQpIGNvbnN0Ci17Ci0gICAgbm90
SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KIHZvaWQgTGF5b3V0VGVzdENv
bnRyb2xsZXI6OnNldFNjcm9sbGJhclBvbGljeShKU1N0cmluZ1JlZiwgSlNTdHJpbmdSZWYpCiB7
CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmNwcAppbmRleCA3Mzc4MTgzMGRkMTVkZWEw
ODBkNTNjM2M1YWNmOGMyYzg0NDEwNDVhLi44YmI1MzE5MTEwNGQ5OWM5ZDg0MzUzNzI3ODhjNzI2
OTIyYzNlNGUyIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlv
dXRUZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
TGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCkBAIC0xMzYsNyArMTM2LDYgQEAgTGF5b3V0VGVzdENv
bnRyb2xsZXI6OkxheW91dFRlc3RDb250cm9sbGVyKFRlc3RTaGVsbCogc2hlbGwpCiAgICAgYmlu
ZE1ldGhvZCgiZmluZFN0cmluZyIsICZMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZmluZFN0cmluZyk7
CiAgICAgYmluZE1ldGhvZCgiaXNDb21tYW5kRW5hYmxlZCIsICZMYXlvdXRUZXN0Q29udHJvbGxl
cjo6aXNDb21tYW5kRW5hYmxlZCk7CiAgICAgYmluZE1ldGhvZCgiaGFzQ3VzdG9tUGFnZVNpemVT
dHlsZSIsICZMYXlvdXRUZXN0Q29udHJvbGxlcjo6aGFzQ3VzdG9tUGFnZVNpemVTdHlsZSk7Ci0g
ICAgYmluZE1ldGhvZCgiaXNQYWdlQm94VmlzaWJsZSIsICZMYXlvdXRUZXN0Q29udHJvbGxlcjo6
aXNQYWdlQm94VmlzaWJsZSk7CiAgICAgYmluZE1ldGhvZCgibGF5ZXJUcmVlQXNUZXh0IiwgJkxh
eW91dFRlc3RDb250cm9sbGVyOjpsYXllclRyZWVBc1RleHQpOwogICAgIGJpbmRNZXRob2QoImxv
c2VDb21wb3NpdG9yQ29udGV4dCIsICZMYXlvdXRUZXN0Q29udHJvbGxlcjo6bG9zZUNvbXBvc2l0
b3JDb250ZXh0KTsKICAgICBiaW5kTWV0aG9kKCJtYXJrZXJUZXh0Rm9yTGlzdEl0ZW0iLCAmTGF5
b3V0VGVzdENvbnRyb2xsZXI6Om1hcmtlclRleHRGb3JMaXN0SXRlbSk7CkBAIC0xNzk4LDE4ICsx
Nzk3LDYgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6aGFzQ3VzdG9tUGFnZVNpemVTdHls
ZShjb25zdCBDcHBBcmd1bWVudExpc3QmIGFyZ3VtZW4KICAgICByZXN1bHQtPnNldChmcmFtZS0+
aGFzQ3VzdG9tUGFnZVNpemVTdHlsZShwYWdlSW5kZXgpKTsKIH0KIAotdm9pZCBMYXlvdXRUZXN0
Q29udHJvbGxlcjo6aXNQYWdlQm94VmlzaWJsZShjb25zdCBDcHBBcmd1bWVudExpc3QmIGFyZ3Vt
ZW50cywgQ3BwVmFyaWFudCogcmVzdWx0KQotewotICAgIHJlc3VsdC0+c2V0TnVsbCgpOwotICAg
IGludCBwYWdlTnVtYmVyID0gMDsKLSAgICBpZiAoIXBhcnNlUGFnZU51bWJlcihhcmd1bWVudHMs
IDAsICZwYWdlTnVtYmVyKSkKLSAgICAgICAgcmV0dXJuOwotICAgIFdlYkZyYW1lKiBmcmFtZSA9
IG1fc2hlbGwtPndlYlZpZXcoKS0+bWFpbkZyYW1lKCk7Ci0gICAgaWYgKCFmcmFtZSkKLSAgICAg
ICAgcmV0dXJuOwotICAgIHJlc3VsdC0+c2V0KGZyYW1lLT5pc1BhZ2VCb3hWaXNpYmxlKHBhZ2VO
dW1iZXIpKTsKLX0KLQogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6cGFnZVByb3BlcnR5KGNv
bnN0IENwcEFyZ3VtZW50TGlzdCYgYXJndW1lbnRzLCBDcHBWYXJpYW50KiByZXN1bHQpCiB7CiAg
ICAgcmVzdWx0LT5zZXQoIiIpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL0xheW91dFRlc3RDb250cm9sbGVyLmgKaW5kZXggZThmODdlNmQ4MzAzMDgyYTg2NjY2MjVh
ZDM4YzU1NWY1ZjU3MDM1OC4uNzM4M2VjZmI1MTg3ZDg2NzNkNWVmMDNhMTY4ZjFkNTIxMDkxM2Y3
YiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENv
bnRyb2xsZXIuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0
Q29udHJvbGxlci5oCkBAIC0zNDAsOSArMzQwLDYgQEAgcHVibGljOgogICAgIC8vIHByaW50aW5n
LgogICAgIHZvaWQgaGFzQ3VzdG9tUGFnZVNpemVTdHlsZShjb25zdCBDcHBBcmd1bWVudExpc3Qm
LCBDcHBWYXJpYW50Kik7CiAKLSAgICAvLyBSZXR1cm5zIHRoZSB2aXNpYmlsaWx0eSBzdGF0dXMg
b2YgYSBwYWdlIGJveCBmb3IgcHJpbnRpbmcKLSAgICB2b2lkIGlzUGFnZUJveFZpc2libGUoY29u
c3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOwotCiAgICAgLy8gR2V0cyB0aGUgcGFn
ZS1yZWxhdGVkIHByb3BlcnR5IGZvciBwcmludGVkIGNvbnRlbnQKICAgICB2b2lkIHBhZ2VQcm9w
ZXJ0eShjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7CiAKZGlmZiAtLWdpdCBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9MYXlvdXRUZXN0Q29udHJvbGxlckVmbC5jcHAgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9lZmwvTGF5b3V0VGVzdENvbnRyb2xsZXJFZmwuY3BwCmluZGV4
IDFkZTdkZGJjYzNlZjIwNmVkODEzYWUwZmUzYTNlMjA3ZGE2ZDczZTYuLjRhMTczNGI0ZTI2NTQw
Nzc2YWJiOTMzMTJkNTVlMzZjMTVjYmYyNmUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2VmbC9MYXlvdXRUZXN0Q29udHJvbGxlckVmbC5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvZWZsL0xheW91dFRlc3RDb250cm9sbGVyRWZsLmNwcApAQCAtMTQyLDExICsxNDIsNiBA
QCBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gTGF5b3V0VGVzdENvbnRyb2xsZXI6OnBhZ2VQcm9w
ZXJ0eShjb25zdCBjaGFyKiBwcm9wZXJ0eQogICAgIHJldHVybiBwcm9wZXJ0eVZhbHVlOwogfQog
Ci1ib29sIExheW91dFRlc3RDb250cm9sbGVyOjppc1BhZ2VCb3hWaXNpYmxlKGludCBwYWdlSW5k
ZXgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIER1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbDo6aXNQYWdl
Qm94VmlzaWJsZShicm93c2VyLT5tYWluRnJhbWUoKSwgcGFnZUluZGV4KTsKLX0KLQogSlNSZXRh
aW5QdHI8SlNTdHJpbmdSZWY+IExheW91dFRlc3RDb250cm9sbGVyOjpwYWdlU2l6ZUFuZE1hcmdp
bnNJblBpeGVscyhpbnQgcGFnZU51bWJlciwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgbWFy
Z2luVG9wLCBpbnQgbWFyZ2luUmlnaHQsIGludCBtYXJnaW5Cb3R0b20sIGludCBtYXJnaW5MZWZ0
KSBjb25zdAogewogICAgIFN0cmluZyBwYWdlU2l6ZUFuZE1hcmdpbnMgPSBEdW1wUmVuZGVyVHJl
ZVN1cHBvcnRFZmw6OnBhZ2VTaXplQW5kTWFyZ2luc0luUGl4ZWxzKGJyb3dzZXItPm1haW5GcmFt
ZSgpLCBwYWdlTnVtYmVyLCB3aWR0aCwgaGVpZ2h0LCBtYXJnaW5Ub3AsIG1hcmdpblJpZ2h0LCBt
YXJnaW5Cb3R0b20sIG1hcmdpbkxlZnQpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvZ3RrL0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHAKaW5kZXggZjA0YTY4MjExM2MwN2M2ZDQy
NjBjYzNiYzY0ZTFiY2I5MGY1YWViMC4uZGU4MGM3NTBiYjkyZDZiNWM1YTE2Mzk3YjBlODVjYzYy
Mzk5MzE0MiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91dFRlc3RD
b250cm9sbGVyR3RrLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVz
dENvbnRyb2xsZXJHdGsuY3BwCkBAIC0xNDksMTEgKzE0OSw2IEBAIEpTUmV0YWluUHRyPEpTU3Ry
aW5nUmVmPiBMYXlvdXRUZXN0Q29udHJvbGxlcjo6cGFnZVByb3BlcnR5KGNvbnN0IGNoYXIqIHBy
b3BlcnR5CiAgICAgcmV0dXJuIHByb3BlcnR5VmFsdWU7CiB9CiAKLWJvb2wgTGF5b3V0VGVzdENv
bnRyb2xsZXI6OmlzUGFnZUJveFZpc2libGUoaW50IHBhZ2VOdW1iZXIpIGNvbnN0Ci17Ci0gICAg
cmV0dXJuIER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6aXNQYWdlQm94VmlzaWJsZShtYWluRnJh
bWUsIHBhZ2VOdW1iZXIpOwotfQotCiBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gTGF5b3V0VGVz
dENvbnRyb2xsZXI6OnBhZ2VTaXplQW5kTWFyZ2luc0luUGl4ZWxzKGludCBwYWdlTnVtYmVyLCBp
bnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBtYXJnaW5Ub3AsIGludCBtYXJnaW5SaWdodCwgaW50
IG1hcmdpbkJvdHRvbSwgaW50IG1hcmdpbkxlZnQpIGNvbnN0CiB7CiAgICAgSlNSZXRhaW5QdHI8
SlNTdHJpbmdSZWY+IHByb3BlcnR5VmFsdWUoQWRvcHQsIEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhD
U3RyaW5nKER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6cGFnZVNpemVBbmRNYXJnaW5zSW5QaXhl
bHMobWFpbkZyYW1lLCBwYWdlTnVtYmVyLCB3aWR0aCwgaGVpZ2h0LCBtYXJnaW5Ub3AsIG1hcmdp
blJpZ2h0LCBtYXJnaW5Cb3R0b20sIG1hcmdpbkxlZnQpLmRhdGEoKSkpOwpkaWZmIC0tZ2l0IGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVyTWFjLm1tIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVyTWFjLm1tCmluZGV4IDRm
MjEyZjM1ZjgwNDY3NjVmNzQxNzg0NTk3MzQ5YzY4YmFiNDA0Y2QuLjc5YzM2M2NmN2YzNWIzMzAx
OTU0ZTY3NThlMWViY2EzYTE0MmM3ZmYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L21hYy9MYXlvdXRUZXN0Q29udHJvbGxlck1hYy5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9tYWMvTGF5b3V0VGVzdENvbnRyb2xsZXJNYWMubW0KQEAgLTMxMCwxMSArMzEwLDYgQEAgSlNS
ZXRhaW5QdHI8SlNTdHJpbmdSZWY+IExheW91dFRlc3RDb250cm9sbGVyOjpwYWdlUHJvcGVydHko
Y29uc3QgY2hhciogcHJvcGVydHkKICAgICByZXR1cm4gcHJvcGVydHlWYWx1ZTsKIH0KIAotYm9v
bCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6aXNQYWdlQm94VmlzaWJsZShpbnQgcGFnZU51bWJlcikg
Y29uc3QKLXsKLSAgICByZXR1cm4gW21haW5GcmFtZSBpc1BhZ2VCb3hWaXNpYmxlOnBhZ2VOdW1i
ZXJdOwotfQotCiBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gTGF5b3V0VGVzdENvbnRyb2xsZXI6
OnBhZ2VTaXplQW5kTWFyZ2luc0luUGl4ZWxzKGludCBwYWdlTnVtYmVyLCBpbnQgd2lkdGgsIGlu
dCBoZWlnaHQsIGludCBtYXJnaW5Ub3AsIGludCBtYXJnaW5SaWdodCwgaW50IG1hcmdpbkJvdHRv
bSwgaW50IG1hcmdpbkxlZnQpIGNvbnN0CiB7CiAgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+
IHByb3BlcnR5VmFsdWUoQWRvcHQsIEpTU3RyaW5nQ3JlYXRlV2l0aENGU3RyaW5nKChDRlN0cmlu
Z1JlZilbbWFpbkZyYW1lIHBhZ2VTaXplQW5kTWFyZ2luc0luUGl4ZWxzOnBhZ2VOdW1iZXI6d2lk
dGg6aGVpZ2h0Om1hcmdpblRvcDptYXJnaW5SaWdodDptYXJnaW5Cb3R0b206bWFyZ2luTGVmdF0p
KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9s
bGVyUXQuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJR
dC5jcHAKaW5kZXggYTg2NmYwOTkwNTUxNTZkZDczOTVjNzM4MjAzN2NlOWEzZTU0MzY0NC4uNDY0
YWM1MzgyZjYxMWUyNDhhZjViOTAyMmJmYjJmMzUxYzgwNjkyOCAxMDA2NDQKLS0tIGEvVG9vbHMv
RHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAKKysrIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAKQEAgLTkyMCwxMSAr
OTIwLDYgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZXZhbHVhdGVTY3JpcHRJbklzb2xh
dGVkV29ybGQoaW50IHdvcmxkSUQsIGNvbnN0IFFTdHIKICAgICBEdW1wUmVuZGVyVHJlZVN1cHBv
cnRRdDo6ZXZhbHVhdGVTY3JpcHRJbklzb2xhdGVkV29ybGQobV9kcnQtPndlYlBhZ2UoKS0+bWFp
bkZyYW1lKCksIHdvcmxkSUQsIHNjcmlwdCk7CiB9CiAKLWJvb2wgTGF5b3V0VGVzdENvbnRyb2xs
ZXI6OmlzUGFnZUJveFZpc2libGUoaW50IHBhZ2VJbmRleCkKLXsKLSAgICByZXR1cm4gRHVtcFJl
bmRlclRyZWVTdXBwb3J0UXQ6OmlzUGFnZUJveFZpc2libGUobV9kcnQtPndlYlBhZ2UoKS0+bWFp
bkZyYW1lKCksIHBhZ2VJbmRleCk7Ci19Ci0KIFFTdHJpbmcgTGF5b3V0VGVzdENvbnRyb2xsZXI6
OnBhZ2VTaXplQW5kTWFyZ2luc0luUGl4ZWxzKGludCBwYWdlSW5kZXgsIGludCB3aWR0aCwgaW50
IGhlaWdodCwgaW50IG1hcmdpblRvcCwgaW50IG1hcmdpblJpZ2h0LCBpbnQgbWFyZ2luQm90dG9t
LCBpbnQgbWFyZ2luTGVmdCkKIHsKICAgICByZXR1cm4gRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6
OnBhZ2VTaXplQW5kTWFyZ2luc0luUGl4ZWxzKG1fZHJ0LT53ZWJQYWdlKCktPm1haW5GcmFtZSgp
LCBwYWdlSW5kZXgsCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRU
ZXN0Q29udHJvbGxlclF0LmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29u
dHJvbGxlclF0LmgKaW5kZXggN2E3ZTk1MmZlMDc3MGE1MDM1YWI3NzAwNjUwODc4ZDg1ZmU3ZGZi
MS4uOWNhYTNhOWY5YmE5Yjg5NGUyMjc3ZjYzMDlkZGUwODU5YWI3ZWQ2NyAxMDA2NDQKLS0tIGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oCisrKyBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaApAQCAtMjYzLDcg
KzI2Myw2IEBAIHB1YmxpYyBzbG90czoKIAogICAgIHZvaWQgZXZhbHVhdGVTY3JpcHRJbklzb2xh
dGVkV29ybGRBbmRSZXR1cm5WYWx1ZShpbnQgd29ybGRJRCwgY29uc3QgUVN0cmluZyYgc2NyaXB0
KTsKICAgICB2b2lkIGV2YWx1YXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxkKGludCB3b3JsZElELCBj
b25zdCBRU3RyaW5nJiBzY3JpcHQpOwotICAgIGJvb2wgaXNQYWdlQm94VmlzaWJsZShpbnQgcGFn
ZUluZGV4KTsKICAgICBRU3RyaW5nIHBhZ2VTaXplQW5kTWFyZ2luc0luUGl4ZWxzKGludCBwYWdl
SW5kZXgsIGludCB3aWR0aCwgaW50IGhlaWdodCwgaW50IG1hcmdpblRvcCwgaW50IG1hcmdpblJp
Z2h0LCBpbnQgbWFyZ2luQm90dG9tLCBpbnQgbWFyZ2luTGVmdCk7CiAgICAgUVN0cmluZyBwYWdl
UHJvcGVydHkoY29uc3QgUVN0cmluZyYgcHJvcGVydHlOYW1lLCBpbnQgcGFnZU51bWJlcik7CiAg
ICAgdm9pZCBhZGRVc2VyU3R5bGVTaGVldChjb25zdCBRU3RyaW5nJiBzb3VyY2VDb2RlKTsKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldp
bi5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0VGVzdENvbnRyb2xsZXJXaW4u
Y3BwCmluZGV4IDM0Mjk0NjNmODBiODAzMWRhOTE1YWUxMGEwYmVhNTQyN2Y5N2VhNzcuLjhkNjBk
ZmNhNTEzMDkxYzBjMGZkZjAwNTkzZjNjZDYzMDgyMzgxZmUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHAKKysrIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvd2luL0xheW91dFRlc3RDb250cm9sbGVyV2luLmNwcApAQCAtMTM5Mywx
MiArMTM5Myw2IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmFwaVRlc3ROZXdXaW5kb3dE
YXRhTG9hZEJhc2VVUkwoSlNTdHJpbmdSZWYgdXRmOERhdGEsCiAKIH0KIAotYm9vbCBMYXlvdXRU
ZXN0Q29udHJvbGxlcjo6aXNQYWdlQm94VmlzaWJsZShpbnQgcGFnZU51bWJlcikgY29uc3QKLXsK
LSAgICAvLyBGSVhNRTogaW1wbGVtZW50Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCiBKU1JldGFp
blB0cjxKU1N0cmluZ1JlZj4gTGF5b3V0VGVzdENvbnRyb2xsZXI6OnBhZ2VTaXplQW5kTWFyZ2lu
c0luUGl4ZWxzKGludCBwYWdlTnVtYmVyLCBpbnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBtYXJn
aW5Ub3AsIGludCBtYXJnaW5SaWdodCwgaW50IG1hcmdpbkJvdHRvbSwgaW50IG1hcmdpbkxlZnQp
IGNvbnN0CiB7CiAgICAgLy8gRklYTUU6IGltcGxlbWVudApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xsZXJXeC5jcHAgYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS93eC9MYXlvdXRUZXN0Q29udHJvbGxlcld4LmNwcAppbmRleCBmNjU1MzFhMGMwMjEz
Y2JkMTY5ZGZhNjkwYTQwNDVjNWFjYjY2NmIwLi5jM2E0M2QyMzJiM2VhN2ViOGUwMjU0ZmUxNjM0
ZDc5YTkwODQzNmQwIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93eC9MYXlvdXRU
ZXN0Q29udHJvbGxlcld4LmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93eC9MYXlvdXRU
ZXN0Q29udHJvbGxlcld4LmNwcApAQCAtNTY2LDEyICs1NjYsNiBAQCBKU1JldGFpblB0cjxKU1N0
cmluZ1JlZj4gTGF5b3V0VGVzdENvbnRyb2xsZXI6OnBhZ2VQcm9wZXJ0eShjb25zdCBjaGFyKiBw
cm9wZXJ0eQogICAgIHJldHVybiAwOwogfQogCi1ib29sIExheW91dFRlc3RDb250cm9sbGVyOjpp
c1BhZ2VCb3hWaXNpYmxlKGludCBwYWdlTnVtYmVyKSBjb25zdAotewotICAgIC8vIEZJWE1FOiBJ
bXBsZW1lbnQKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQogSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+
IExheW91dFRlc3RDb250cm9sbGVyOjpwYWdlU2l6ZUFuZE1hcmdpbnNJblBpeGVscyhpbnQgcGFn
ZU51bWJlciwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgbWFyZ2luVG9wLCBpbnQgbWFyZ2lu
UmlnaHQsIGludCBtYXJnaW5Cb3R0b20sIGludCBtYXJnaW5MZWZ0KSBjb25zdAogewogICAgIC8v
IEZJWE1FOiBJbXBsZW1lbnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxZjE2M2MyYTQwZWNiZTA3YTA4OTkwYjYwZDQxMzIy
N2QyMjFmYzA2Li5hMzM3YjliYTkwYTZmMDJlYzJhYTE2Nzc4ZjViYzk0ZGMwMDE3ZjY0IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDUtMDQgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtp
bUBzYW1zdW5nLmNvbT4KKworICAgICAgICBDb252ZXJ0IGlzUGFnZUJveFZpc2libGUgdG8gdXNl
IEludGVybmFscyBpbnRlcmZhY2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04NTY5MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIENhbGwgaXNQYWdlQm94VmlzaWJsZSBmdW5jdGlvbnMgZnJvbSBpbnRlcm5h
bHMsIGJlY2F1c2UgaXQgaXMgYWJsZSB0byB3b3JrIGluIHRoZQorICAgICAgICBjcm9zcy1wb3J0
IHdheSB0aHJvdWdoIHRoZSBJbnRlcm5hbHMgaW50ZXJmYWNlLgorCisgICAgICAgICogcHJpbnRp
bmcvcGFnZS1mb3JtYXQtZGF0YS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcHJpbnRpbmcvcGFn
ZS1mb3JtYXQtZGF0YS5odG1sOgorCiAyMDEyLTA1LTA0ICBFbnJpY2EgQ2FzdWNjaSAgPGVucmlj
YUBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTjogQ3Vyc29yIGp1bXBzIHRvIHRoZSBm
aXJzdCBsaW5lIGFmdGVyIGRlbGV0aW5nIHRoZSBsYXN0IHdvcmQuCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wcmludGluZy9wYWdlLWZvcm1hdC1kYXRhLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3ByaW50aW5nL3BhZ2UtZm9ybWF0LWRhdGEtZXhwZWN0ZWQudHh0CmluZGV4IGQ2NjJiZDk4
Yzk1ZDFiMTRkMmEzMWIxZDQzNTMyNGYzMTMyNzNjMzcuLjU0ZGRhZWE2YWYyNTIyODMxZjVjYjY2
YTRkZmQwYzAyYjU5MGExNTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3ByaW50aW5nL3BhZ2Ut
Zm9ybWF0LWRhdGEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3ByaW50aW5nL3BhZ2Ut
Zm9ybWF0LWRhdGEtZXhwZWN0ZWQudHh0CkBAIC00LDE1ICs0LDE1IEBAIE9uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFCiAKIAogVGVzdCBkZWZhdWx0IHZpc2liaWxpdHkKLVBBU1MgbGF5b3V0VGVzdENv
bnRyb2xsZXIuaXNQYWdlQm94VmlzaWJsZSgwKSBpcyB0cnVlCitQQVNTIGludGVybmFscy5pc1Bh
Z2VCb3hWaXNpYmxlKGRvY3VtZW50LCAwKSBpcyB0cnVlCiBUZXN0IGRpc3BsYXk6IG5vbmUuIGRp
c3BsYXkgcHJvcGVydHkgZG9lc24ndCBhcHBseSB0byBAcGFnZQotUEFTUyBsYXlvdXRUZXN0Q29u
dHJvbGxlci5pc1BhZ2VCb3hWaXNpYmxlKDApIGlzIHRydWUKK1BBU1MgaW50ZXJuYWxzLmlzUGFn
ZUJveFZpc2libGUoZG9jdW1lbnQsIDApIGlzIHRydWUKIFRlc3QgZGlzcGxheTogaW5saW5lLiBk
aXNwbGF5IHByb3BlcnR5IGRvZXNuJ3QgYXBwbHkgdG8gQHBhZ2UKLVBBU1MgbGF5b3V0VGVzdENv
bnRyb2xsZXIuaXNQYWdlQm94VmlzaWJsZSgwKSBpcyB0cnVlCitQQVNTIGludGVybmFscy5pc1Bh
Z2VCb3hWaXNpYmxlKGRvY3VtZW50LCAwKSBpcyB0cnVlCiBUZXN0IHZpc2liaWxpdHk6IGhpZGRl
bgotUEFTUyBsYXlvdXRUZXN0Q29udHJvbGxlci5pc1BhZ2VCb3hWaXNpYmxlKDApIGlzIGZhbHNl
CitQQVNTIGludGVybmFscy5pc1BhZ2VCb3hWaXNpYmxlKGRvY3VtZW50LCAwKSBpcyBmYWxzZQog
VGVzdCB2aXNpYmlsaXR5OiB2aXNpYmxlCi1QQVNTIGxheW91dFRlc3RDb250cm9sbGVyLmlzUGFn
ZUJveFZpc2libGUoMCkgaXMgdHJ1ZQorUEFTUyBpbnRlcm5hbHMuaXNQYWdlQm94VmlzaWJsZShk
b2N1bWVudCwgMCkgaXMgdHJ1ZQogCiBUZXN0IGRlZmF1bHQgcGFnZSBzaXplCiBQQVNTIGxheW91
dFRlc3RDb250cm9sbGVyLnBhZ2VTaXplQW5kTWFyZ2luc0luUGl4ZWxzKDAsIDEwMCwgMjAwLCAx
LCAyLCAzLCA0KSBpcyAnKDEwMCwgMjAwKScgKyBweE1hcmdpbnMoMSwgMiwgMywgNCkKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3ByaW50aW5nL3BhZ2UtZm9ybWF0LWRhdGEuaHRtbCBiL0xheW91
dFRlc3RzL3ByaW50aW5nL3BhZ2UtZm9ybWF0LWRhdGEuaHRtbAppbmRleCA1ZTkwZDdjNjFkNWZj
ZGY1NjQxZDg3MjllYjgzYzFiMDY3Y2I1MDQ4Li43YjNkZTBiNGJjYjIyNDVlNTFiZjRmNzE4OGRj
MTE2YzY3MTkyMjM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wcmludGluZy9wYWdlLWZvcm1h
dC1kYXRhLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvcHJpbnRpbmcvcGFnZS1mb3JtYXQtZGF0YS5o
dG1sCkBAIC0zOSwyMyArMzksMjMgQEAKICAgICAgICAgLy8gUGFnZSBib3ggdmlzaWJpbGl0eSB0
ZXN0cy4KIAogICAgICAgICBkZWJ1ZygiVGVzdCBkZWZhdWx0IHZpc2liaWxpdHkiKTsKLSAgICAg
ICAgc2hvdWxkQmUoImxheW91dFRlc3RDb250cm9sbGVyLmlzUGFnZUJveFZpc2libGUoMCkiLCAi
dHJ1ZSIpOworICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLmlzUGFnZUJveFZpc2libGUoZG9j
dW1lbnQsIDApIiwgInRydWUiKTsKIAogICAgICAgICBkZWJ1ZygiVGVzdCBkaXNwbGF5OiBub25l
LiBkaXNwbGF5IHByb3BlcnR5IGRvZXNuJ3QgYXBwbHkgdG8gQHBhZ2UiKTsKICAgICAgICAgYXBw
ZW5kU3R5bGUoIkBwYWdlIHtkaXNwbGF5Om5vbmU7fSIpOwotICAgICAgICBzaG91bGRCZSgibGF5
b3V0VGVzdENvbnRyb2xsZXIuaXNQYWdlQm94VmlzaWJsZSgwKSIsICJ0cnVlIik7CisgICAgICAg
IHNob3VsZEJlKCJpbnRlcm5hbHMuaXNQYWdlQm94VmlzaWJsZShkb2N1bWVudCwgMCkiLCAidHJ1
ZSIpOwogCiAgICAgICAgIGRlYnVnKCJUZXN0IGRpc3BsYXk6IGlubGluZS4gZGlzcGxheSBwcm9w
ZXJ0eSBkb2Vzbid0IGFwcGx5IHRvIEBwYWdlIik7CiAgICAgICAgIGFwcGVuZFN0eWxlKCJAcGFn
ZSB7ZGlzcGxheTppbmxpbmU7fSIpOwotICAgICAgICBzaG91bGRCZSgibGF5b3V0VGVzdENvbnRy
b2xsZXIuaXNQYWdlQm94VmlzaWJsZSgwKSIsICJ0cnVlIik7CisgICAgICAgIHNob3VsZEJlKCJp
bnRlcm5hbHMuaXNQYWdlQm94VmlzaWJsZShkb2N1bWVudCwgMCkiLCAidHJ1ZSIpOwogCiAgICAg
ICAgIGRlYnVnKCJUZXN0IHZpc2liaWxpdHk6IGhpZGRlbiIpOwogICAgICAgICBhcHBlbmRTdHls
ZSgiQHBhZ2Uge3Zpc2liaWxpdHk6aGlkZGVuO30iKTsKLSAgICAgICAgc2hvdWxkQmUoImxheW91
dFRlc3RDb250cm9sbGVyLmlzUGFnZUJveFZpc2libGUoMCkiLCAiZmFsc2UiKTsKKyAgICAgICAg
c2hvdWxkQmUoImludGVybmFscy5pc1BhZ2VCb3hWaXNpYmxlKGRvY3VtZW50LCAwKSIsICJmYWxz
ZSIpOwogCiAgICAgICAgIGRlYnVnKCJUZXN0IHZpc2liaWxpdHk6IHZpc2libGUiKTsKICAgICAg
ICAgYXBwZW5kU3R5bGUoIkBwYWdlIHt2aXNpYmlsaXR5OnZpc2libGU7fSIpOwotICAgICAgICBz
aG91bGRCZSgibGF5b3V0VGVzdENvbnRyb2xsZXIuaXNQYWdlQm94VmlzaWJsZSgwKSIsICJ0cnVl
Iik7CisgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMuaXNQYWdlQm94VmlzaWJsZShkb2N1bWVu
dCwgMCkiLCAidHJ1ZSIpOwogCiAgICAgICAgIGRlYnVnKCIiKTsKIApkaWZmIC0tZ2l0IGEvQ2hh
bmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IGJhZDViOTdmNjY3N2VlYWEwYjM3MTdhY2QyMjU1Njcz
NjE0OTgxOWMuLjI5Y2RiMGJmNzcyZWQ5ZGY2MTM1ODUxN2Y2MmE2ZTJjNzUzNmFmMGQgMTAwNjQ0
Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMi0w
NS0wNCAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgorCisgICAgICAg
IENvbnZlcnQgaXNQYWdlQm94VmlzaWJsZSB0byB1c2UgSW50ZXJuYWxzIGludGVyZmFjZS4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg1NjkyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTb3VyY2UvYXV0
b3Rvb2xzL3N5bWJvbHMuZmlsdGVyOiBBZGQgaXNQYWdlQm94VmlzaWJsZSBzeW1ib2wgZmlsdGVy
LgorCiAyMDEyLTA1LTA0ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAg
ICAgIEZsYXNoIG9mIHdoaXRlIHdoZW4gZXhpdGluZyBmdWxsIHNjcmVlbiBIVE1MNSB2aWRlbwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140382</attachid>
            <date>2012-05-04 23:51:09 -0700</date>
            <delta_ts>2012-05-05 06:53:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85692-20120505155105.patch</filename>
            <type>text/plain</type>
            <size>30729</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2MTk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2I1M2VlODE1NjBmYzdm
NmQ4MTdjODVlMWJhNWMzOWU2MTMyYjQ3YS4uZTgzMzFlYmViNmM4ODYwNzUxOGM1MzgwZjIyODI0
NjRkMTY3NzBkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA1LTA0ICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgQ29udmVydCBp
c1BhZ2VCb3hWaXNpYmxlIHRvIHVzZSBJbnRlcm5hbHMgaW50ZXJmYWNlLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODU2OTIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgaXNQYWdlQm94VmlzaWJsZSBm
dW5jdGlvbnMsIGJlY2F1c2UgaXQgaXMgYWJsZSB0byB3b3JrIGluIHRoZQorICAgICAgICBjcm9z
cy1wb3J0IHdheSB0aHJvdWdoIHRoZSBJbnRlcm5hbHMgaW50ZXJmYWNlLgorCisgICAgICAgIE5v
IG5ldyB0ZXN0cywgc2luY2Ugd2UgYXJlIGltcHJvdmluZyBoZXJlIHRoZSBpbmZyYS1zdHJ1Y3R1
cmUgZm9yIHRlc3RpbmcKKyAgICAgICAgYSBzcGVjaWZpYyBtZXRob2QuCisKKyAgICAgICAgKiB0
ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNv
cmU6OkludGVybmFsczo6aXNQYWdlQm94VmlzaWJsZSk6CisgICAgICAgICogdGVzdGluZy9JbnRl
cm5hbHMuaDoKKyAgICAgICAgKEludGVybmFscyk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5h
bHMuaWRsOgorCiAyMDEyLTA1LTA0ICBKZWZmcmV5IFBmYXUgIDxqcGZhdUBhcHBsZS5jb20+CiAK
ICAgICAgICAgVW5yZXZpZXdlZDsgYnVpbGQgZml4IGFmdGVyIHIxMTYxOTEuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VM
b2cKaW5kZXggMTU4NzMzNTQ0MWNhMDM5ZjYwZTlkZjUzODVlYzY3MmNlOTliNTI3YS4uYmVmYmU2
MDExMDc0Mjc1MjIyYzA4NzQzMDdhN2EyNjkzNGY1NzgzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9lZmwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE2IEBACisyMDEyLTA1LTA0ICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ft
c3VuZy5jb20+CisKKyAgICAgICAgQ29udmVydCBpc1BhZ2VCb3hWaXNpYmxlIHRvIHVzZSBJbnRl
cm5hbHMgaW50ZXJmYWNlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODU2OTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBSZW1vdmUgaXNQYWdlQm94VmlzaWJsZSBmdW5jdGlvbnMsIGJlY2F1c2UgaXQgaXMg
YWJsZSB0byB3b3JrIGluIHRoZQorICAgICAgICBjcm9zcy1wb3J0IHdheSB0aHJvdWdoIHRoZSBJ
bnRlcm5hbHMgaW50ZXJmYWNlLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRl
clRyZWVTdXBwb3J0RWZsLmNwcDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVy
VHJlZVN1cHBvcnRFZmwuaDoKKwogMjAxMi0wNS0wNCAgQ2hyaXN0b3BoZSBEdW1leiAgPGNocmlz
dG9waGUuZHVtZXpAaW50ZWwuY29tPgogCiAgICAgICAgIFtFRkxdIEltcGxlbWVudCBsYXlvdXRU
ZXN0Q29udHJvbGxlci5kdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9n
CmluZGV4IGNhNTA2NDViZmUwNmQ2ODAwNTkyMTZjZTMxOTY5NWM4ODI2ZWJkYzguLjBhMGZjNmFi
MDNkNzFjOGUyYzc0NTA3NjA3MjkxYmJkYjI2YWY4YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvZ3RrL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxMi0wNS0wNCAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1
bmcuY29tPgorCisgICAgICAgIENvbnZlcnQgaXNQYWdlQm94VmlzaWJsZSB0byB1c2UgSW50ZXJu
YWxzIGludGVyZmFjZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTg1NjkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgUmVtb3ZlIGlzUGFnZUJveFZpc2libGUgZnVuY3Rpb25zLCBiZWNhdXNlIGl0IGlzIGFi
bGUgdG8gd29yayBpbiB0aGUKKyAgICAgICAgY3Jvc3MtcG9ydCB3YXkgdGhyb3VnaCB0aGUgSW50
ZXJuYWxzIGludGVyZmFjZS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJU
cmVlU3VwcG9ydEd0ay5jcHA6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRy
ZWVTdXBwb3J0R3RrLmg6CisgICAgICAgIChEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGspOgorCiAy
MDEyLTA1LTA0ICBTdWRhcnNhbmEgTmFnaW5lbmkgIDxzdWRhcnNhbmEubmFnaW5lbmlAbGludXgu
aW50ZWwuY29tPgogCiAgICAgICAgIFtHVEtdIERSVCBuZWVkcyBhbiBpbXBsZW1lbnRhdGlvbiBv
ZiBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RGVmZXJzTG9hZGluZyBhbmQgOjpnb0JhY2sKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9xdC9D
aGFuZ2VMb2cKaW5kZXggMGQwZGRlYmQ3NjZiNGYzZWNjOWExMGRmYTcxOWVkNGNkZDY1MDgzOS4u
NDBlNjlmZTZkMDAxOWM4OGI3ZTk3NmMyZGQyOGE4ZDMwZWMxM2U4ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNiBAQAorMjAxMi0wNS0wNCAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2lt
QHNhbXN1bmcuY29tPgorCisgICAgICAgIENvbnZlcnQgaXNQYWdlQm94VmlzaWJsZSB0byB1c2Ug
SW50ZXJuYWxzIGludGVyZmFjZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTg1NjkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUmVtb3ZlIGlzUGFnZUJveFZpc2libGUgZnVuY3Rpb25zLCBiZWNhdXNlIGl0
IGlzIGFibGUgdG8gd29yayBpbiB0aGUKKyAgICAgICAgY3Jvc3MtcG9ydCB3YXkgdGhyb3VnaCB0
aGUgSW50ZXJuYWxzIGludGVyZmFjZS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBS
ZW5kZXJUcmVlU3VwcG9ydFF0LmNwcDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVu
ZGVyVHJlZVN1cHBvcnRRdC5oOgorCiAyMDEyLTA1LTA0ICBOYXRlIENoYXBpbiAgPGphcGhldEBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgRG9uJ3QgcmVxdWlyZSBGcmFtZUxvYWRlckNsaWVudCB0
byBtYW51ZmFjdHVyZSBhIGNvbW1pdERhdGEoKSBjYWxsIGZvciBlbXB0eSBkb2N1bWVudHMuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggNGMxZDAyYzBmZTZjMjdiZjc2Mjlh
N2JkYTBlMDU5YmRmYTI5YmM5Ny4uM2MyYTlkNTExYTY1MmViMGM1Y2QxNzgxN2JjNmU4ZjVkYzkw
YTFlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtOTk3LDYgKzk5Nywx
NiBAQCB1bnNpZ25lZCBJbnRlcm5hbHM6Om51bWJlck9mU2Nyb2xsYWJsZUFyZWFzKERvY3VtZW50
KiBkb2N1bWVudCwgRXhjZXB0aW9uQ29kZSYpCiAKICAgICByZXR1cm4gY291bnQ7CiB9CisgICAg
Citib29sIEludGVybmFsczo6aXNQYWdlQm94VmlzaWJsZShEb2N1bWVudCogZG9jdW1lbnQsIGlu
dCBwYWdlTnVtYmVyLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAoIWRvY3VtZW50KSB7
CisgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOworICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgfQorCisgICAgcmV0dXJuIGRvY3VtZW50LT5pc1BhZ2VCb3hWaXNpYmxlKHBhZ2VOdW1i
ZXIpOworfQogCiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQogdm9pZCBJbnRlcm5hbHM6Ondl
YmtpdFdpbGxFbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KERvY3VtZW50KiBkb2N1bWVudCwgRWxl
bWVudCogZWxlbWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IDUxMmY0ZDI2
YzBlYzM2MjBjMWM5ZTcyMGI0OWRiZDVkYWVmZWM2ZTAuLjM5MWQzNzVmYTAzZWI3ZDAxYjUwMzk4
NDMxYWFhYWI5NzJlMGMxZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtMTUz
LDYgKzE1Myw4IEBAIHB1YmxpYzoKIAogICAgIHVuc2lnbmVkIG51bWJlck9mU2Nyb2xsYWJsZUFy
ZWFzKERvY3VtZW50KiwgRXhjZXB0aW9uQ29kZSYpOwogCisgICAgYm9vbCBpc1BhZ2VCb3hWaXNp
YmxlKERvY3VtZW50KiwgaW50IHBhZ2VOdW1iZXIsIEV4Y2VwdGlvbkNvZGUmKTsKKwogICAgIHN0
YXRpYyBjb25zdCBjaGFyKiBpbnRlcm5hbHNJZDsKIAogICAgIEludGVybmFsU2V0dGluZ3MqIHNl
dHRpbmdzKCkgY29uc3QgeyByZXR1cm4gbV9zZXR0aW5ncy5nZXQoKTsgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IDdiNGJlYjE3N2NlNDkzYjM5NDc2MmRlYWNlYzU3NTg2
NTIxZTQ4NzMuLjA1ZjZkMzRmODg4NzExZjhlOWUwZGE2MmY2YTMzNjA2YmIyMTgyZmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTEyOCw2ICsxMjgsOCBAQCBtb2R1bGUg
d2luZG93IHsKIAogICAgICAgICB1bnNpZ25lZCBsb25nIG51bWJlck9mU2Nyb2xsYWJsZUFyZWFz
KGluIERvY3VtZW50IGRvY3VtZW50KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAKKyAgICAgICAg
Ym9vbGVhbiBpc1BhZ2VCb3hWaXNpYmxlKGluIERvY3VtZW50IGRvY3VtZW50LCBpbiBsb25nIHBh
Z2VOdW1iZXIpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKwogICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgSW50ZXJuYWxTZXR0aW5ncyBzZXR0aW5nczsKIAogI2lmIGRlZmluZWQoRU5BQkxFX0JB
VFRFUllfU1RBVFVTKSAmJiBFTkFCTEVfQkFUVEVSWV9TVEFUVVMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRF
ZmwuY3BwCmluZGV4IGJlZjVjMGJjN2UzNTk1ZmRiOGE4Y2EzYTI1OTZhY2Y0NTZlZWUyMzkuLjc0
OTU4ZmJhOGVkZWM4OWZhNmExZWZlZGI0MTRhNTc4MzJiMDNhNGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBw
b3J0RWZsLmNwcApAQCAtMTUxLDIxICsxNTEsNiBAQCBXZWJDb3JlOjpGcmFtZSogRHVtcFJlbmRl
clRyZWVTdXBwb3J0RWZsOjpmcmFtZVBhcmVudChjb25zdCBFdmFzX09iamVjdCogZXdrRnJhbQog
ICAgIHJldHVybiBmcmFtZS0+dHJlZSgpLT5wYXJlbnQoKTsKIH0KIAotYm9vbCBEdW1wUmVuZGVy
VHJlZVN1cHBvcnRFZmw6OmlzUGFnZUJveFZpc2libGUoY29uc3QgRXZhc19PYmplY3QqIGV3a0Zy
YW1lLCBpbnQgcGFnZUluZGV4KQotewotICAgIGNvbnN0IFdlYkNvcmU6OkZyYW1lKiBmcmFtZSA9
IEVXS1ByaXZhdGU6OmNvcmVGcmFtZShld2tGcmFtZSk7Ci0KLSAgICBpZiAoIWZyYW1lKQotICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBXZWJDb3JlOjpEb2N1bWVudCogZG9jdW1lbnQgPSBm
cmFtZS0+ZG9jdW1lbnQoKTsKLQotICAgIGlmICghZG9jdW1lbnQpCi0gICAgICAgIHJldHVybiBm
YWxzZTsKLQotICAgIHJldHVybiBkb2N1bWVudC0+aXNQYWdlQm94VmlzaWJsZShwYWdlSW5kZXgp
OwotfQotCiB2b2lkIER1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbDo6bGF5b3V0RnJhbWUoRXZhc19P
YmplY3QqIGV3a0ZyYW1lKQogewogICAgIFdlYkNvcmU6OkZyYW1lKiBmcmFtZSA9IEVXS1ByaXZh
dGU6OmNvcmVGcmFtZShld2tGcmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9X
ZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwuaCBiL1NvdXJjZS9XZWJLaXQv
ZWZsL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5oCmluZGV4IDk2NjFm
NzM3Yzc3MWRmNDYyYWFjYjI2Mjc1Y2JlYjdmMDA2YzliMGEuLmIxNjc3MjM3M2EzMGQxZWE4NTlj
NThiM2E5MDY4MTZiOTY1MTc3MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNv
cmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5oCkBAIC01Miw3ICs1
Miw2IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBlbGVtZW50RG9lc0F1dG9Db21wbGV0ZUZv
ckVsZW1lbnRXaXRoSWQoY29uc3QgRXZhc19PYmplY3QqIGV3a0ZyYW1lLCBjb25zdCBTdHJpbmcm
IGVsZW1lbnRJZCk7CiAgICAgc3RhdGljIEVpbmFfTGlzdCogZnJhbWVDaGlsZHJlbihjb25zdCBF
dmFzX09iamVjdCogZXdrRnJhbWUpOwogICAgIHN0YXRpYyBXZWJDb3JlOjpGcmFtZSogZnJhbWVQ
YXJlbnQoY29uc3QgRXZhc19PYmplY3QqIGV3a0ZyYW1lKTsKLSAgICBzdGF0aWMgYm9vbCBpc1Bh
Z2VCb3hWaXNpYmxlKGNvbnN0IEV2YXNfT2JqZWN0KiBld2tGcmFtZSwgaW50IHBhZ2VJbmRleCk7
CiAgICAgc3RhdGljIHZvaWQgbGF5b3V0RnJhbWUoRXZhc19PYmplY3QqIGV3a0ZyYW1lKTsKICAg
ICBzdGF0aWMgaW50IG51bWJlck9mUGFnZXMoY29uc3QgRXZhc19PYmplY3QqIGV3a0ZyYW1lLCBm
bG9hdCBwYWdlV2lkdGgsIGZsb2F0IHBhZ2VIZWlnaHQpOwogICAgIHN0YXRpYyBpbnQgbnVtYmVy
T2ZQYWdlc0ZvckVsZW1lbnRJZChjb25zdCBFdmFzX09iamVjdCogZXdrRnJhbWUsIGNvbnN0IGNo
YXIqIGVsZW1lbnRJZCwgZmxvYXQgcGFnZVdpZHRoLCBmbG9hdCBwYWdlSGVpZ2h0KTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3Vw
cG9ydEd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVy
VHJlZVN1cHBvcnRHdGsuY3BwCmluZGV4IDI1MjgwZjI5OWFiZTljZjU3MWJjZjQxYjc5MGMwZGQ5
ZTM4YmU0MTAuLjFhMGYzMmYyZGM0MGM2MWMwZDkzYjgwZDg4ODZhNzY1MGQ2OTRlNGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3Vw
cG9ydEd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRHVtcFJl
bmRlclRyZWVTdXBwb3J0R3RrLmNwcApAQCAtMjcxLDI0ICsyNzEsNiBAQCBDU3RyaW5nIER1bXBS
ZW5kZXJUcmVlU3VwcG9ydEd0azo6cGFnZVByb3BlcnR5KFdlYktpdFdlYkZyYW1lKiBmcmFtZSwg
Y29uc3QgY2hhcgogfQogCiAvKioKLSAqIGlzUGFnZUJveFZpc2libGUKLSAqIEBmcmFtZTogYSAj
V2ViS2l0V2ViRnJhbWUKLSAqIEBwYWdlTnVtYmVyOiBudW1iZXIgb2YgYSBwYWdlIAotICoKLSAq
IFJldHVybiB2YWx1ZTogVFJVRSBpZiBhIHBhZ2UgYm94IGlzIHZpc2libGUuIAotICovCi1ib29s
IER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6aXNQYWdlQm94VmlzaWJsZShXZWJLaXRXZWJGcmFt
ZSogZnJhbWUsIGludCBwYWdlTnVtYmVyKQotewotICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdF
QktJVF9JU19XRUJfRlJBTUUoZnJhbWUpLCBmYWxzZSk7Ci0KLSAgICBGcmFtZSogY29yZUZyYW1l
ID0gY29yZShmcmFtZSk7Ci0gICAgaWYgKCFjb3JlRnJhbWUpCi0gICAgICAgIHJldHVybiBmYWxz
ZTsKLQotICAgIHJldHVybiBjb3JlRnJhbWUtPmRvY3VtZW50KCktPmlzUGFnZUJveFZpc2libGUo
cGFnZU51bWJlcik7IAotfQotCi0vKioKICAqIHBhZ2VTaXplQW5kTWFyZ2luc0luUGl4ZWxzCiAg
KiBAZnJhbWU6IGEgI1dlYktpdFdlYkZyYW1lCiAgKiBAcGFnZU51bWJlcjogbnVtYmVyIG9mIGEg
cGFnZSAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBS
ZW5kZXJUcmVlU3VwcG9ydEd0ay5oIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQv
RHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmgKaW5kZXggYjY0ZmZlYjAzZmQxMGY2OWIwYzQ5MmU3
NzdmNTIzMTRjNzZhM2E5Yi4uN2RiODVjZmZlNDc5YWJlYmZmZjNkODQ3YjYyMmNlZWFjZjM1NzMy
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRl
clRyZWVTdXBwb3J0R3RrLmgKKysrIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQv
RHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmgKQEAgLTY1LDcgKzY1LDYgQEAgcHVibGljOgogICAg
IHN0YXRpYyBpbnQgcGFnZU51bWJlckZvckVsZW1lbnRCeUlkKFdlYktpdFdlYkZyYW1lKiwgY29u
c3QgY2hhciogaWQsIGZsb2F0IHBhZ2VXaWR0aCwgZmxvYXQgcGFnZUhlaWdodCk7CiAgICAgc3Rh
dGljIGludCBudW1iZXJPZlBhZ2VzRm9yRnJhbWUoV2ViS2l0V2ViRnJhbWUqLCBmbG9hdCBwYWdl
V2lkdGgsIGZsb2F0IHBhZ2VIZWlnaHQpOwogICAgIHN0YXRpYyBXVEY6OkNTdHJpbmcgcGFnZVBy
b3BlcnR5KFdlYktpdFdlYkZyYW1lKiwgY29uc3QgY2hhciogcHJvcGVydHlOYW1lLCBpbnQgcGFn
ZU51bWJlcik7Ci0gICAgc3RhdGljIGJvb2wgaXNQYWdlQm94VmlzaWJsZShXZWJLaXRXZWJGcmFt
ZSosIGludCBwYWdlTnVtYmVyKTsKICAgICBzdGF0aWMgV1RGOjpDU3RyaW5nIHBhZ2VTaXplQW5k
TWFyZ2luc0luUGl4ZWxzKFdlYktpdFdlYkZyYW1lKiwgaW50IHBhZ2VOdW1iZXIsIGludCB3aWR0
aCwgaW50IGhlaWdodCwgaW50IG1hcmdpblRvcCwgaW50IG1hcmdpblJpZ2h0LCBpbnQgbWFyZ2lu
Qm90dG9tLCBpbnQgbWFyZ2luTGVmdCk7CiAgICAgc3RhdGljIHZvaWQgYWRkVXNlclN0eWxlU2hl
ZXQoV2ViS2l0V2ViRnJhbWUqLCBjb25zdCBjaGFyKiBzb3VyY2VDb2RlLCBib29sIGFsbEZyYW1l
cyk7CiAgICAgc3RhdGljIGd1aW50IGdldFBlbmRpbmdVbmxvYWRFdmVudENvdW50KFdlYktpdFdl
YkZyYW1lKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1
bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBv
cnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwCmluZGV4IDBkMmMyZmQ3OTMxOTkwNGY4NTNk
ZjFmOWQ0M2ZjNmFmZDk0MWNjMTIuLmY1NWUyNTY2NzlhMWJmYWNlMjdjNjllYTBlYzFiYmNhNTc4
MGUxNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJl
bmRlclRyZWVTdXBwb3J0UXQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBv
cnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwCkBAIC05NjIsMTIgKzk2Miw2IEBAIHZvaWQg
RHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OmV2YWx1YXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxkKFFX
ZWJGcmFtZSogZnJhbWUsIGluCiAjZW5kaWYKIH0KIAotYm9vbCBEdW1wUmVuZGVyVHJlZVN1cHBv
cnRRdDo6aXNQYWdlQm94VmlzaWJsZShRV2ViRnJhbWUqIGZyYW1lLCBpbnQgcGFnZUluZGV4KQot
ewotICAgIFdlYkNvcmU6OkZyYW1lKiBjb3JlRnJhbWUgPSBRV2ViRnJhbWVQcml2YXRlOjpjb3Jl
KGZyYW1lKTsKLSAgICByZXR1cm4gY29yZUZyYW1lLT5kb2N1bWVudCgpLT5pc1BhZ2VCb3hWaXNp
YmxlKHBhZ2VJbmRleCk7Ci19Ci0KIFFTdHJpbmcgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OnBh
Z2VTaXplQW5kTWFyZ2luc0luUGl4ZWxzKFFXZWJGcmFtZSogZnJhbWUsIGludCBwYWdlSW5kZXgs
IGludCB3aWR0aCwgaW50IGhlaWdodCwgaW50IG1hcmdpblRvcCwgaW50IG1hcmdpblJpZ2h0LCBp
bnQgbWFyZ2luQm90dG9tLCBpbnQgbWFyZ2luTGVmdCkKIHsKICAgICBXZWJDb3JlOjpGcmFtZSog
Y29yZUZyYW1lID0gUVdlYkZyYW1lUHJpdmF0ZTo6Y29yZShmcmFtZSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Lmgg
Yi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0
LmgKaW5kZXggNzQyZjM0MzM4YTY5YTJlMDQ2ODNiMGZhNzVjZDZkMjYwZDYwYzE4Ny4uZWFkYzFh
ZjM1NjYyOTlhODNlMzA5NWY2ZGM0MWQxYWU3YjM2ZjQyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaApA
QCAtMTk2LDggKzE5Niw2IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyB2b2lkIHNldEN1c3RvbVBv
bGljeURlbGVnYXRlKGJvb2wgZW5hYmxlZCwgYm9vbCBwZXJtaXNzaXZlKTsKIAotICAgIHN0YXRp
YyBib29sIGlzUGFnZUJveFZpc2libGUoUVdlYkZyYW1lKiBmcmFtZSwgaW50IHBhZ2VJbmRleCk7
Ci0KICAgICBzdGF0aWMgUVN0cmluZyBwYWdlU2l6ZUFuZE1hcmdpbnNJblBpeGVscyhRV2ViRnJh
bWUqIGZyYW1lLCBpbnQgcGFnZUluZGV4LCBpbnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBtYXJn
aW5Ub3AsIGludCBtYXJnaW5SaWdodCwgaW50IG1hcmdpbkJvdHRvbSwgaW50IG1hcmdpbkxlZnQp
OwogICAgIHN0YXRpYyBRU3RyaW5nIHBhZ2VQcm9wZXJ0eShRV2ViRnJhbWUqIGZyYW1lLCBjb25z
dCBRU3RyaW5nJiBwcm9wZXJ0eU5hbWUsIGludCBwYWdlTnVtYmVyKTsKICAgICBzdGF0aWMgdm9p
ZCBhZGRVc2VyU3R5bGVTaGVldChRV2ViUGFnZSogcGFnZSwgY29uc3QgUVN0cmluZyYgc291cmNl
Q29kZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyIGIvU291
cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgppbmRleCAyMjcxZWMwYjkyZTgzMjYzNWQwZmMw
YmJmZjVmYTE1NzQ2NTkwYWZiLi40ZDc1MGNmOGJmMDJlNzQ3YjhhZTEyNjg3MTlkOTU5NzBmMmRm
ODk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCisrKyBiL1Nv
dXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKQEAgLTEwNiw2ICsxMDYsNyBAQCBfWk5LN1dl
YkNvcmU4RG9jdW1lbnQ0dmlld0V2OwogX1pOSzdXZWJDb3JlNVJhbmdlNHRleHRFdjsKIF9aTks3
V2ViQ29yZTlUcmVlU2NvcGUxNGdldEVsZW1lbnRCeUlkRVJLTjNXVEYxMkF0b21pY1N0cmluZ0U7
CiBfWk5LN1dlYkNvcmUxNERvY3VtZW50TWFya2VyMTFkZXNjcmlwdGlvbkV2OworX1pON1dlYkNv
cmU4RG9jdW1lbnQxNmlzUGFnZUJveFZpc2libGVFaTsKIF9aTks3V2ViQ29yZTE5SW5zcGVjdG9y
Q29udHJvbGxlcjEyZ2V0SGlnaGxpZ2h0RVBOU185SGlnaGxpZ2h0RTsKIF9aTjdXZWJDb3JlMjRJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb24yNmluc3RydW1lbnRpbmdBZ2VudHNGb3JQYWdlRVBOU180
UGFnZUU7CiBfWk43V2ViQ29yZTI0SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uMTdzX2Zyb250ZW5k
Q291bnRlckU7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cK
aW5kZXggZDdmMTQ5MWNkNGYwN2UyYTc1NzBlODZjMGNlMmIwZTAwYWEwOTA1MS4uY2FjZWIwMjMy
NjAyNzEzNjQ4NTRmZGZkMDI5MmZiMmU2YjEzZWEwMiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdl
TG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTA1LTA0ICBH
eXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgQ29udmVy
dCBpc1BhZ2VCb3hWaXNpYmxlIHRvIHVzZSBJbnRlcm5hbHMgaW50ZXJmYWNlLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODU2OTIKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgaXNQYWdlQm94Vmlz
aWJsZSBmdW5jdGlvbnMsIGJlY2F1c2UgaXQgaXMgYWJsZSB0byB3b3JrIGluIHRoZQorICAgICAg
ICBjcm9zcy1wb3J0IHdheSB0aHJvdWdoIHRoZSBJbnRlcm5hbHMgaW50ZXJmYWNlLgorCisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAo
TGF5b3V0VGVzdENvbnRyb2xsZXI6OnN0YXRpY0Z1bmN0aW9ucyk6CisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKExheW91dFRlc3RDb250
cm9sbGVyKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0xheW91dFRlc3RD
b250cm9sbGVyQmxhY2tCZXJyeS5jcHA6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xs
ZXI6OkxheW91dFRlc3RDb250cm9sbGVyKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5oOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xs
ZXIpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2VmbC9MYXlvdXRUZXN0Q29udHJvbGxlckVm
bC5jcHA6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91dFRlc3RDb250cm9sbGVy
R3RrLmNwcDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvTGF5b3V0VGVzdENvbnRyb2xs
ZXJNYWMubW06CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xs
ZXJRdC5jcHA6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xs
ZXJRdC5oOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXIpOgorICAgICAgICAqIER1bXBS
ZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHA6CisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xsZXJXeC5jcHA6CisKIDIwMTItMDUtMDQg
IEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgogCiAgICAgICAgIE1ha2UgY2FwaXRhbGl6
YXRpb24gYW5kIGRlc2NyaXB0aW9ucyBpbiBGZWF0dXJlTGlzdC5wbSBtb3JlIGNvbnNpc3RlbnQg
dG8gbWFrZSBlYXNpZXIgdG8gYXV0b2dlbmVyYXRlCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9M
YXlvdXRUZXN0Q29udHJvbGxlci5jcHAKaW5kZXggZTA5NDRlNWY5NzU0YzRjNWNjNjIyMmUzMWYx
ODc0Yjk0MGFhMzYzNC4uNDM5NDg5NDkxM2FlMzc0Y2UxNWRmODAzMjNjMDFkODAxODAxY2UyYSAx
MDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3Bw
CisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcApAQCAt
OTIxLDE2ICs5MjEsNiBAQCBzdGF0aWMgSlNWYWx1ZVJlZiBwYWdlUHJvcGVydHlDYWxsYmFjayhK
U0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgZnVuY3RpbwogICAgIHJldHVybiB2YWx1
ZTsKIH0KIAotc3RhdGljIEpTVmFsdWVSZWYgaXNQYWdlQm94VmlzaWJsZUNhbGxiYWNrKEpTQ29u
dGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09i
amVjdCwgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10s
IEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKLXsKLSAgICBpbnQgcGFnZU51bWJlciA9IDA7Ci0gICAg
aWYgKCFwYXJzZVBhZ2VOdW1iZXIoY29udGV4dCwgYXJndW1lbnRDb3VudCwgYXJndW1lbnRzLCBl
eGNlcHRpb24sIHBhZ2VOdW1iZXIpKQotICAgICAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmlu
ZWQoY29udGV4dCk7Ci0KLSAgICBMYXlvdXRUZXN0Q29udHJvbGxlciogY29udHJvbGxlciA9IHN0
YXRpY19jYXN0PExheW91dFRlc3RDb250cm9sbGVyKj4oSlNPYmplY3RHZXRQcml2YXRlKHRoaXNP
YmplY3QpKTsKLSAgICByZXR1cm4gSlNWYWx1ZU1ha2VCb29sZWFuKGNvbnRleHQsIGNvbnRyb2xs
ZXItPmlzUGFnZUJveFZpc2libGUocGFnZU51bWJlcikpOwotfQotCiBzdGF0aWMgSlNWYWx1ZVJl
ZiBwYWdlU2l6ZUFuZE1hcmdpbnNJblBpeGVsc0NhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0
LCBKU09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFy
Z3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4
Y2VwdGlvbikKIHsKICAgICBpbnQgcGFnZU51bWJlciA9IDA7CkBAIC0yMzczLDcgKzIzNjMsNiBA
QCBKU1N0YXRpY0Z1bmN0aW9uKiBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c3RhdGljRnVuY3Rpb25z
KCkKICAgICAgICAgeyAiZ3JhbnREZXNrdG9wTm90aWZpY2F0aW9uUGVybWlzc2lvbiIsIGdyYW50
RGVza3RvcE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1
dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LCAKICAgICAgICAg
eyAiaWdub3JlRGVza3RvcE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0cyIsIGlnbm9yZURl
c2t0b3BOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdHNDYWxsYmFjaywga0pTUHJvcGVydHlB
dHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAg
ICAgICB7ICJpc0NvbW1hbmRFbmFibGVkIiwgaXNDb21tYW5kRW5hYmxlZENhbGxiYWNrLCBrSlNQ
cm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRl
IH0sCi0gICAgICAgIHsgImlzUGFnZUJveFZpc2libGUiLCBpc1BhZ2VCb3hWaXNpYmxlQ2FsbGJh
Y2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURv
bnREZWxldGUgfSwKICAgICAgICAgeyAia2VlcFdlYkhpc3RvcnkiLCBrZWVwV2ViSGlzdG9yeUNh
bGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1
dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgImxheWVyVHJlZUFzVGV4dCIsIGxheWVyVHJlZUFz
VGV4dENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlB
dHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgIm51bWJlck9mUGFnZXMiLCBudW1iZXJP
ZlBhZ2VzQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0
eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L0xheW91dFRlc3RDb250cm9sbGVyLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0
Q29udHJvbGxlci5oCmluZGV4IDBjMjNlZjA0NDExYjllMGJhM2JhY2Y3MjU3NmYwZjM5Njc1OWU5
OTcuLmEzZTNlOWI5NTc0ZTMxYmQ0MmJlN2NjZDg4YjkyZTdhODNhY2FlNWQgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmgKKysrIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaApAQCAtNzYsNyArNzYsNiBAQCBw
dWJsaWM6CiAgICAgaW50IHBhZ2VOdW1iZXJGb3JFbGVtZW50QnlJZChKU1N0cmluZ1JlZiBpZCwg
ZmxvYXQgcGFnZVdpZHRoSW5QaXhlbHMsIGZsb2F0IHBhZ2VIZWlnaHRJblBpeGVscyk7CiAgICAg
SlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHBhZ2VQcm9wZXJ0eShjb25zdCBjaGFyKiBwcm9wZXJ0
eU5hbWUsIGludCBwYWdlTnVtYmVyKSBjb25zdDsKICAgICBKU1JldGFpblB0cjxKU1N0cmluZ1Jl
Zj4gcGFnZVNpemVBbmRNYXJnaW5zSW5QaXhlbHMoaW50IHBhZ2VOdW1iZXIsIGludCB3aWR0aCwg
aW50IGhlaWdodCwgaW50IG1hcmdpblRvcCwgaW50IG1hcmdpblJpZ2h0LCBpbnQgbWFyZ2luQm90
dG9tLCBpbnQgbWFyZ2luTGVmdCkgY29uc3Q7Ci0gICAgYm9vbCBpc1BhZ2VCb3hWaXNpYmxlKGlu
dCBwYWdlTnVtYmVyKSBjb25zdDsKICAgICBKU1N0cmluZ1JlZiBwYXRoVG9Mb2NhbFJlc291cmNl
KEpTQ29udGV4dFJlZiwgSlNTdHJpbmdSZWYgdXJsKTsKICAgICB2b2lkIHF1ZXVlQmFja05hdmln
YXRpb24oaW50IGhvd0ZhckJhY2t3YXJkKTsKICAgICB2b2lkIHF1ZXVlRm9yd2FyZE5hdmlnYXRp
b24oaW50IGhvd0ZhckZvcndhcmQpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUv
YmxhY2tiZXJyeS9MYXlvdXRUZXN0Q29udHJvbGxlckJsYWNrQmVycnkuY3BwIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvYmxhY2tiZXJyeS9MYXlvdXRUZXN0Q29udHJvbGxlckJsYWNrQmVycnkuY3Bw
CmluZGV4IDRiOGQ2ZjYyOWQ3M2FlNzNjMDZjNjliNjRlOWQ5MDljMmRjODJjYzAuLmJkMWE1YmQ2
NmY1YWRjZTY2N2YyYTUxYjcwZTk0NTk2YWMzNGU2ZTQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2JsYWNrYmVycnkvTGF5b3V0VGVzdENvbnRyb2xsZXJCbGFja0JlcnJ5LmNwcAor
KysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0xheW91dFRlc3RDb250cm9sbGVy
QmxhY2tCZXJyeS5jcHAKQEAgLTU0OSwxMiArNTQ5LDYgQEAgaW50IExheW91dFRlc3RDb250cm9s
bGVyOjpudW1iZXJPZlBhZ2VzKGZsb2F0LCBmbG9hdCkKICAgICByZXR1cm4gLTE7CiB9CiAKLWJv
b2wgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmlzUGFnZUJveFZpc2libGUoaW50KSBjb25zdAotewot
ICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCiB2b2lkIExheW91
dFRlc3RDb250cm9sbGVyOjpzZXRTY3JvbGxiYXJQb2xpY3koSlNTdHJpbmdSZWYsIEpTU3RyaW5n
UmVmKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAgYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKaW5kZXggNzM3ODE4MzBk
ZDE1ZGVhMDgwZDUzYzNjNWFjZjhjMmM4NDQxMDQ1YS4uOGJiNTMxOTExMDRkOTljOWQ4NDM1Mzcy
Nzg4YzcyNjkyMmMzZTRlMiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmNwcApAQCAtMTM2LDcgKzEzNiw2IEBAIExheW91
dFRlc3RDb250cm9sbGVyOjpMYXlvdXRUZXN0Q29udHJvbGxlcihUZXN0U2hlbGwqIHNoZWxsKQog
ICAgIGJpbmRNZXRob2QoImZpbmRTdHJpbmciLCAmTGF5b3V0VGVzdENvbnRyb2xsZXI6OmZpbmRT
dHJpbmcpOwogICAgIGJpbmRNZXRob2QoImlzQ29tbWFuZEVuYWJsZWQiLCAmTGF5b3V0VGVzdENv
bnRyb2xsZXI6OmlzQ29tbWFuZEVuYWJsZWQpOwogICAgIGJpbmRNZXRob2QoImhhc0N1c3RvbVBh
Z2VTaXplU3R5bGUiLCAmTGF5b3V0VGVzdENvbnRyb2xsZXI6Omhhc0N1c3RvbVBhZ2VTaXplU3R5
bGUpOwotICAgIGJpbmRNZXRob2QoImlzUGFnZUJveFZpc2libGUiLCAmTGF5b3V0VGVzdENvbnRy
b2xsZXI6OmlzUGFnZUJveFZpc2libGUpOwogICAgIGJpbmRNZXRob2QoImxheWVyVHJlZUFzVGV4
dCIsICZMYXlvdXRUZXN0Q29udHJvbGxlcjo6bGF5ZXJUcmVlQXNUZXh0KTsKICAgICBiaW5kTWV0
aG9kKCJsb3NlQ29tcG9zaXRvckNvbnRleHQiLCAmTGF5b3V0VGVzdENvbnRyb2xsZXI6Omxvc2VD
b21wb3NpdG9yQ29udGV4dCk7CiAgICAgYmluZE1ldGhvZCgibWFya2VyVGV4dEZvckxpc3RJdGVt
IiwgJkxheW91dFRlc3RDb250cm9sbGVyOjptYXJrZXJUZXh0Rm9yTGlzdEl0ZW0pOwpAQCAtMTc5
OCwxOCArMTc5Nyw2IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6Omhhc0N1c3RvbVBhZ2VT
aXplU3R5bGUoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiBhcmd1bWVuCiAgICAgcmVzdWx0LT5zZXQo
ZnJhbWUtPmhhc0N1c3RvbVBhZ2VTaXplU3R5bGUocGFnZUluZGV4KSk7CiB9CiAKLXZvaWQgTGF5
b3V0VGVzdENvbnRyb2xsZXI6OmlzUGFnZUJveFZpc2libGUoY29uc3QgQ3BwQXJndW1lbnRMaXN0
JiBhcmd1bWVudHMsIENwcFZhcmlhbnQqIHJlc3VsdCkKLXsKLSAgICByZXN1bHQtPnNldE51bGwo
KTsKLSAgICBpbnQgcGFnZU51bWJlciA9IDA7Ci0gICAgaWYgKCFwYXJzZVBhZ2VOdW1iZXIoYXJn
dW1lbnRzLCAwLCAmcGFnZU51bWJlcikpCi0gICAgICAgIHJldHVybjsKLSAgICBXZWJGcmFtZSog
ZnJhbWUgPSBtX3NoZWxsLT53ZWJWaWV3KCktPm1haW5GcmFtZSgpOwotICAgIGlmICghZnJhbWUp
Ci0gICAgICAgIHJldHVybjsKLSAgICByZXN1bHQtPnNldChmcmFtZS0+aXNQYWdlQm94VmlzaWJs
ZShwYWdlTnVtYmVyKSk7Ci19Ci0KIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnBhZ2VQcm9w
ZXJ0eShjb25zdCBDcHBBcmd1bWVudExpc3QmIGFyZ3VtZW50cywgQ3BwVmFyaWFudCogcmVzdWx0
KQogewogICAgIHJlc3VsdC0+c2V0KCIiKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmggYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCmluZGV4IGU4Zjg3ZTZkODMwMzA4MmE4
NjY2NjI1YWQzOGM1NTVmNWY1NzAzNTguLjczODNlY2ZiNTE4N2Q4NjczZDVlZjAzYTE2OGYxZDUy
MTA5MTNmN2IgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91
dFRlc3RDb250cm9sbGVyLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5
b3V0VGVzdENvbnRyb2xsZXIuaApAQCAtMzQwLDkgKzM0MCw2IEBAIHB1YmxpYzoKICAgICAvLyBw
cmludGluZy4KICAgICB2b2lkIGhhc0N1c3RvbVBhZ2VTaXplU3R5bGUoY29uc3QgQ3BwQXJndW1l
bnRMaXN0JiwgQ3BwVmFyaWFudCopOwogCi0gICAgLy8gUmV0dXJucyB0aGUgdmlzaWJpbGlsdHkg
c3RhdHVzIG9mIGEgcGFnZSBib3ggZm9yIHByaW50aW5nCi0gICAgdm9pZCBpc1BhZ2VCb3hWaXNp
YmxlKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKLQogICAgIC8vIEdldHMg
dGhlIHBhZ2UtcmVsYXRlZCBwcm9wZXJ0eSBmb3IgcHJpbnRlZCBjb250ZW50CiAgICAgdm9pZCBw
YWdlUHJvcGVydHkoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOwogCmRpZmYg
LS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvTGF5b3V0VGVzdENvbnRyb2xsZXJFZmwu
Y3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0xheW91dFRlc3RDb250cm9sbGVyRWZsLmNw
cAppbmRleCAxZGU3ZGRiY2MzZWYyMDZlZDgxM2FlMGZlM2EzZTIwN2RhNmQ3M2U2Li40YTE3MzRi
NGUyNjU0MDc3NmFiYjkzMzEyZDU1ZTM2YzE1Y2JmMjZlIDEwMDY0NAotLS0gYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9lZmwvTGF5b3V0VGVzdENvbnRyb2xsZXJFZmwuY3BwCisrKyBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2VmbC9MYXlvdXRUZXN0Q29udHJvbGxlckVmbC5jcHAKQEAgLTE0MiwxMSAr
MTQyLDYgQEAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IExheW91dFRlc3RDb250cm9sbGVyOjpw
YWdlUHJvcGVydHkoY29uc3QgY2hhciogcHJvcGVydHkKICAgICByZXR1cm4gcHJvcGVydHlWYWx1
ZTsKIH0KIAotYm9vbCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6aXNQYWdlQm94VmlzaWJsZShpbnQg
cGFnZUluZGV4KSBjb25zdAotewotICAgIHJldHVybiBEdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmw6
OmlzUGFnZUJveFZpc2libGUoYnJvd3Nlci0+bWFpbkZyYW1lKCksIHBhZ2VJbmRleCk7Ci19Ci0K
IEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBMYXlvdXRUZXN0Q29udHJvbGxlcjo6cGFnZVNpemVB
bmRNYXJnaW5zSW5QaXhlbHMoaW50IHBhZ2VOdW1iZXIsIGludCB3aWR0aCwgaW50IGhlaWdodCwg
aW50IG1hcmdpblRvcCwgaW50IG1hcmdpblJpZ2h0LCBpbnQgbWFyZ2luQm90dG9tLCBpbnQgbWFy
Z2luTGVmdCkgY29uc3QKIHsKICAgICBTdHJpbmcgcGFnZVNpemVBbmRNYXJnaW5zID0gRHVtcFJl
bmRlclRyZWVTdXBwb3J0RWZsOjpwYWdlU2l6ZUFuZE1hcmdpbnNJblBpeGVscyhicm93c2VyLT5t
YWluRnJhbWUoKSwgcGFnZU51bWJlciwgd2lkdGgsIGhlaWdodCwgbWFyZ2luVG9wLCBtYXJnaW5S
aWdodCwgbWFyZ2luQm90dG9tLCBtYXJnaW5MZWZ0KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHAgYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsuY3BwCmluZGV4IGYwNGE2ODIxMTNj
MDdjNmQ0MjYwY2MzYmM2NGUxYmNiOTBmNWFlYjAuLmRlODBjNzUwYmI5MmQ2YjVjNWExNjM5N2Iw
ZTg1Y2M2MjM5OTMxNDIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9MYXlv
dXRUZXN0Q29udHJvbGxlckd0ay5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0xh
eW91dFRlc3RDb250cm9sbGVyR3RrLmNwcApAQCAtMTQ5LDExICsxNDksNiBAQCBKU1JldGFpblB0
cjxKU1N0cmluZ1JlZj4gTGF5b3V0VGVzdENvbnRyb2xsZXI6OnBhZ2VQcm9wZXJ0eShjb25zdCBj
aGFyKiBwcm9wZXJ0eQogICAgIHJldHVybiBwcm9wZXJ0eVZhbHVlOwogfQogCi1ib29sIExheW91
dFRlc3RDb250cm9sbGVyOjppc1BhZ2VCb3hWaXNpYmxlKGludCBwYWdlTnVtYmVyKSBjb25zdAot
ewotICAgIHJldHVybiBEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6OmlzUGFnZUJveFZpc2libGUo
bWFpbkZyYW1lLCBwYWdlTnVtYmVyKTsKLX0KLQogSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IExh
eW91dFRlc3RDb250cm9sbGVyOjpwYWdlU2l6ZUFuZE1hcmdpbnNJblBpeGVscyhpbnQgcGFnZU51
bWJlciwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgbWFyZ2luVG9wLCBpbnQgbWFyZ2luUmln
aHQsIGludCBtYXJnaW5Cb3R0b20sIGludCBtYXJnaW5MZWZ0KSBjb25zdAogewogICAgIEpTUmV0
YWluUHRyPEpTU3RyaW5nUmVmPiBwcm9wZXJ0eVZhbHVlKEFkb3B0LCBKU1N0cmluZ0NyZWF0ZVdp
dGhVVEY4Q1N0cmluZyhEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6OnBhZ2VTaXplQW5kTWFyZ2lu
c0luUGl4ZWxzKG1haW5GcmFtZSwgcGFnZU51bWJlciwgd2lkdGgsIGhlaWdodCwgbWFyZ2luVG9w
LCBtYXJnaW5SaWdodCwgbWFyZ2luQm90dG9tLCBtYXJnaW5MZWZ0KS5kYXRhKCkpKTsKZGlmZiAt
LWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9MYXlvdXRUZXN0Q29udHJvbGxlck1hYy5t
bSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9MYXlvdXRUZXN0Q29udHJvbGxlck1hYy5tbQpp
bmRleCA0ZjIxMmYzNWY4MDQ2NzY1Zjc0MTc4NDU5NzM0OWM2OGJhYjQwNGNkLi43OWMzNjNjZjdm
MzViMzMwMTk1NGU2NzU4ZTFlYmNhM2ExNDJjN2ZmIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9tYWMvTGF5b3V0VGVzdENvbnRyb2xsZXJNYWMubW0KKysrIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVyTWFjLm1tCkBAIC0zMTAsMTEgKzMxMCw2
IEBAIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBMYXlvdXRUZXN0Q29udHJvbGxlcjo6cGFnZVBy
b3BlcnR5KGNvbnN0IGNoYXIqIHByb3BlcnR5CiAgICAgcmV0dXJuIHByb3BlcnR5VmFsdWU7CiB9
CiAKLWJvb2wgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmlzUGFnZUJveFZpc2libGUoaW50IHBhZ2VO
dW1iZXIpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIFttYWluRnJhbWUgaXNQYWdlQm94VmlzaWJsZTpw
YWdlTnVtYmVyXTsKLX0KLQogSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IExheW91dFRlc3RDb250
cm9sbGVyOjpwYWdlU2l6ZUFuZE1hcmdpbnNJblBpeGVscyhpbnQgcGFnZU51bWJlciwgaW50IHdp
ZHRoLCBpbnQgaGVpZ2h0LCBpbnQgbWFyZ2luVG9wLCBpbnQgbWFyZ2luUmlnaHQsIGludCBtYXJn
aW5Cb3R0b20sIGludCBtYXJnaW5MZWZ0KSBjb25zdAogewogICAgIEpTUmV0YWluUHRyPEpTU3Ry
aW5nUmVmPiBwcm9wZXJ0eVZhbHVlKEFkb3B0LCBKU1N0cmluZ0NyZWF0ZVdpdGhDRlN0cmluZygo
Q0ZTdHJpbmdSZWYpW21haW5GcmFtZSBwYWdlU2l6ZUFuZE1hcmdpbnNJblBpeGVsczpwYWdlTnVt
YmVyOndpZHRoOmhlaWdodDptYXJnaW5Ub3A6bWFyZ2luUmlnaHQ6bWFyZ2luQm90dG9tOm1hcmdp
bkxlZnRdKSk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0
Q29udHJvbGxlclF0LmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250
cm9sbGVyUXQuY3BwCmluZGV4IGE4NjZmMDk5MDU1MTU2ZGQ3Mzk1YzczODIwMzdjZTlhM2U1NDM2
NDQuLjQ2NGFjNTM4MmY2MTFlMjQ4YWY1YjkwMjJiZmIyZjM1MWM4MDY5MjggMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwCisrKyBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwCkBAIC05
MjAsMTEgKzkyMCw2IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmV2YWx1YXRlU2NyaXB0
SW5Jc29sYXRlZFdvcmxkKGludCB3b3JsZElELCBjb25zdCBRU3RyCiAgICAgRHVtcFJlbmRlclRy
ZWVTdXBwb3J0UXQ6OmV2YWx1YXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxkKG1fZHJ0LT53ZWJQYWdl
KCktPm1haW5GcmFtZSgpLCB3b3JsZElELCBzY3JpcHQpOwogfQogCi1ib29sIExheW91dFRlc3RD
b250cm9sbGVyOjppc1BhZ2VCb3hWaXNpYmxlKGludCBwYWdlSW5kZXgpCi17Ci0gICAgcmV0dXJu
IER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Ojppc1BhZ2VCb3hWaXNpYmxlKG1fZHJ0LT53ZWJQYWdl
KCktPm1haW5GcmFtZSgpLCBwYWdlSW5kZXgpOwotfQotCiBRU3RyaW5nIExheW91dFRlc3RDb250
cm9sbGVyOjpwYWdlU2l6ZUFuZE1hcmdpbnNJblBpeGVscyhpbnQgcGFnZUluZGV4LCBpbnQgd2lk
dGgsIGludCBoZWlnaHQsIGludCBtYXJnaW5Ub3AsIGludCBtYXJnaW5SaWdodCwgaW50IG1hcmdp
bkJvdHRvbSwgaW50IG1hcmdpbkxlZnQpCiB7CiAgICAgcmV0dXJuIER1bXBSZW5kZXJUcmVlU3Vw
cG9ydFF0OjpwYWdlU2l6ZUFuZE1hcmdpbnNJblBpeGVscyhtX2RydC0+d2ViUGFnZSgpLT5tYWlu
RnJhbWUoKSwgcGFnZUluZGV4LApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQv
TGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0
VGVzdENvbnRyb2xsZXJRdC5oCmluZGV4IDdhN2U5NTJmZTA3NzBhNTAzNWFiNzcwMDY1MDg3OGQ4
NWZlN2RmYjEuLjljYWEzYTlmOWJhOWI4OTRlMjI3N2Y2MzA5ZGRlMDg1OWFiN2VkNjcgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaAor
KysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmgKQEAg
LTI2Myw3ICsyNjMsNiBAQCBwdWJsaWMgc2xvdHM6CiAKICAgICB2b2lkIGV2YWx1YXRlU2NyaXB0
SW5Jc29sYXRlZFdvcmxkQW5kUmV0dXJuVmFsdWUoaW50IHdvcmxkSUQsIGNvbnN0IFFTdHJpbmcm
IHNjcmlwdCk7CiAgICAgdm9pZCBldmFsdWF0ZVNjcmlwdEluSXNvbGF0ZWRXb3JsZChpbnQgd29y
bGRJRCwgY29uc3QgUVN0cmluZyYgc2NyaXB0KTsKLSAgICBib29sIGlzUGFnZUJveFZpc2libGUo
aW50IHBhZ2VJbmRleCk7CiAgICAgUVN0cmluZyBwYWdlU2l6ZUFuZE1hcmdpbnNJblBpeGVscyhp
bnQgcGFnZUluZGV4LCBpbnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBtYXJnaW5Ub3AsIGludCBt
YXJnaW5SaWdodCwgaW50IG1hcmdpbkJvdHRvbSwgaW50IG1hcmdpbkxlZnQpOwogICAgIFFTdHJp
bmcgcGFnZVByb3BlcnR5KGNvbnN0IFFTdHJpbmcmIHByb3BlcnR5TmFtZSwgaW50IHBhZ2VOdW1i
ZXIpOwogICAgIHZvaWQgYWRkVXNlclN0eWxlU2hlZXQoY29uc3QgUVN0cmluZyYgc291cmNlQ29k
ZSk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0VGVzdENvbnRy
b2xsZXJXaW4uY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0xheW91dFRlc3RDb250cm9s
bGVyV2luLmNwcAppbmRleCAzNDI5NDYzZjgwYjgwMzFkYTkxNWFlMTBhMGJlYTU0MjdmOTdlYTc3
Li44ZDYwZGZjYTUxMzA5MWMwYzBmZGYwMDU5M2YzY2Q2MzA4MjM4MWZlIDEwMDY0NAotLS0gYS9U
b29scy9EdW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0VGVzdENvbnRyb2xsZXJXaW4uY3BwCisrKyBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHAKQEAg
LTEzOTMsMTIgKzEzOTMsNiBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjphcGlUZXN0TmV3
V2luZG93RGF0YUxvYWRCYXNlVVJMKEpTU3RyaW5nUmVmIHV0ZjhEYXRhLAogCiB9CiAKLWJvb2wg
TGF5b3V0VGVzdENvbnRyb2xsZXI6OmlzUGFnZUJveFZpc2libGUoaW50IHBhZ2VOdW1iZXIpIGNv
bnN0Ci17Ci0gICAgLy8gRklYTUU6IGltcGxlbWVudAotICAgIHJldHVybiBmYWxzZTsKLX0KLQog
SlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IExheW91dFRlc3RDb250cm9sbGVyOjpwYWdlU2l6ZUFu
ZE1hcmdpbnNJblBpeGVscyhpbnQgcGFnZU51bWJlciwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBp
bnQgbWFyZ2luVG9wLCBpbnQgbWFyZ2luUmlnaHQsIGludCBtYXJnaW5Cb3R0b20sIGludCBtYXJn
aW5MZWZ0KSBjb25zdAogewogICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQKZGlmZiAtLWdpdCBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL3d4L0xheW91dFRlc3RDb250cm9sbGVyV3guY3BwIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xsZXJXeC5jcHAKaW5kZXggZjY1NTMx
YTBjMDIxM2NiZDE2OWRmYTY5MGE0MDQ1YzVhY2I2NjZiMC4uYzNhNDNkMjMyYjNlYTdlYjhlMDI1
NGZlMTYzNGQ3OWE5MDg0MzZkMCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd3gv
TGF5b3V0VGVzdENvbnRyb2xsZXJXeC5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd3gv
TGF5b3V0VGVzdENvbnRyb2xsZXJXeC5jcHAKQEAgLTU2NiwxMiArNTY2LDYgQEAgSlNSZXRhaW5Q
dHI8SlNTdHJpbmdSZWY+IExheW91dFRlc3RDb250cm9sbGVyOjpwYWdlUHJvcGVydHkoY29uc3Qg
Y2hhciogcHJvcGVydHkKICAgICByZXR1cm4gMDsKIH0KIAotYm9vbCBMYXlvdXRUZXN0Q29udHJv
bGxlcjo6aXNQYWdlQm94VmlzaWJsZShpbnQgcGFnZU51bWJlcikgY29uc3QKLXsKLSAgICAvLyBG
SVhNRTogSW1wbGVtZW50Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KIEpTUmV0YWluUHRyPEpTU3Ry
aW5nUmVmPiBMYXlvdXRUZXN0Q29udHJvbGxlcjo6cGFnZVNpemVBbmRNYXJnaW5zSW5QaXhlbHMo
aW50IHBhZ2VOdW1iZXIsIGludCB3aWR0aCwgaW50IGhlaWdodCwgaW50IG1hcmdpblRvcCwgaW50
IG1hcmdpblJpZ2h0LCBpbnQgbWFyZ2luQm90dG9tLCBpbnQgbWFyZ2luTGVmdCkgY29uc3QKIHsK
ICAgICAvLyBGSVhNRTogSW1wbGVtZW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMWYxNjNjMmE0MGVjYmUwN2EwODk5MGI2
MGQ0MTMyMjdkMjIxZmMwNi4uYTMzN2I5YmE5MGE2ZjAyZWMyYWExNjc3OGY1YmM5NGRjMDAxN2Y2
NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA1LTA0ICBHeXV5b3VuZyBLaW0gIDxneXV5
b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgQ29udmVydCBpc1BhZ2VCb3hWaXNpYmxl
IHRvIHVzZSBJbnRlcm5hbHMgaW50ZXJmYWNlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODU2OTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBDYWxsIGlzUGFnZUJveFZpc2libGUgZnVuY3Rpb25zIGZyb20g
aW50ZXJuYWxzLCBiZWNhdXNlIGl0IGlzIGFibGUgdG8gd29yayBpbiB0aGUKKyAgICAgICAgY3Jv
c3MtcG9ydCB3YXkgdGhyb3VnaCB0aGUgSW50ZXJuYWxzIGludGVyZmFjZS4KKworICAgICAgICAq
IHByaW50aW5nL3BhZ2UtZm9ybWF0LWRhdGEtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHByaW50
aW5nL3BhZ2UtZm9ybWF0LWRhdGEuaHRtbDoKKwogMjAxMi0wNS0wNCAgRW5yaWNhIENhc3VjY2kg
IDxlbnJpY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT046IEN1cnNvciBqdW1wcyB0
byB0aGUgZmlyc3QgbGluZSBhZnRlciBkZWxldGluZyB0aGUgbGFzdCB3b3JkLgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcHJpbnRpbmcvcGFnZS1mb3JtYXQtZGF0YS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9wcmludGluZy9wYWdlLWZvcm1hdC1kYXRhLWV4cGVjdGVkLnR4dAppbmRleCBk
NjYyYmQ5OGM5NWQxYjE0ZDJhMzFiMWQ0MzUzMjRmMzEzMjczYzM3Li41NGRkYWVhNmFmMjUyMjgz
MWY1Y2I2NmE0ZGZkMGMwMmI1OTBhMTUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wcmludGlu
Zy9wYWdlLWZvcm1hdC1kYXRhLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wcmludGlu
Zy9wYWdlLWZvcm1hdC1kYXRhLWV4cGVjdGVkLnR4dApAQCAtNCwxNSArNCwxNSBAQCBPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURQogCiAKIFRlc3QgZGVmYXVsdCB2aXNpYmlsaXR5Ci1QQVNTIGxheW91
dFRlc3RDb250cm9sbGVyLmlzUGFnZUJveFZpc2libGUoMCkgaXMgdHJ1ZQorUEFTUyBpbnRlcm5h
bHMuaXNQYWdlQm94VmlzaWJsZShkb2N1bWVudCwgMCkgaXMgdHJ1ZQogVGVzdCBkaXNwbGF5OiBu
b25lLiBkaXNwbGF5IHByb3BlcnR5IGRvZXNuJ3QgYXBwbHkgdG8gQHBhZ2UKLVBBU1MgbGF5b3V0
VGVzdENvbnRyb2xsZXIuaXNQYWdlQm94VmlzaWJsZSgwKSBpcyB0cnVlCitQQVNTIGludGVybmFs
cy5pc1BhZ2VCb3hWaXNpYmxlKGRvY3VtZW50LCAwKSBpcyB0cnVlCiBUZXN0IGRpc3BsYXk6IGlu
bGluZS4gZGlzcGxheSBwcm9wZXJ0eSBkb2Vzbid0IGFwcGx5IHRvIEBwYWdlCi1QQVNTIGxheW91
dFRlc3RDb250cm9sbGVyLmlzUGFnZUJveFZpc2libGUoMCkgaXMgdHJ1ZQorUEFTUyBpbnRlcm5h
bHMuaXNQYWdlQm94VmlzaWJsZShkb2N1bWVudCwgMCkgaXMgdHJ1ZQogVGVzdCB2aXNpYmlsaXR5
OiBoaWRkZW4KLVBBU1MgbGF5b3V0VGVzdENvbnRyb2xsZXIuaXNQYWdlQm94VmlzaWJsZSgwKSBp
cyBmYWxzZQorUEFTUyBpbnRlcm5hbHMuaXNQYWdlQm94VmlzaWJsZShkb2N1bWVudCwgMCkgaXMg
ZmFsc2UKIFRlc3QgdmlzaWJpbGl0eTogdmlzaWJsZQotUEFTUyBsYXlvdXRUZXN0Q29udHJvbGxl
ci5pc1BhZ2VCb3hWaXNpYmxlKDApIGlzIHRydWUKK1BBU1MgaW50ZXJuYWxzLmlzUGFnZUJveFZp
c2libGUoZG9jdW1lbnQsIDApIGlzIHRydWUKIAogVGVzdCBkZWZhdWx0IHBhZ2Ugc2l6ZQogUEFT
UyBsYXlvdXRUZXN0Q29udHJvbGxlci5wYWdlU2l6ZUFuZE1hcmdpbnNJblBpeGVscygwLCAxMDAs
IDIwMCwgMSwgMiwgMywgNCkgaXMgJygxMDAsIDIwMCknICsgcHhNYXJnaW5zKDEsIDIsIDMsIDQp
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wcmludGluZy9wYWdlLWZvcm1hdC1kYXRhLmh0bWwg
Yi9MYXlvdXRUZXN0cy9wcmludGluZy9wYWdlLWZvcm1hdC1kYXRhLmh0bWwKaW5kZXggNWU5MGQ3
YzYxZDVmY2RmNTY0MWQ4NzI5ZWI4M2MxYjA2N2NiNTA0OC4uN2IzZGUwYjRiY2IyMjQ1ZTUxYmY0
ZjcxODhkYzExNmM2NzE5MjIzOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcHJpbnRpbmcvcGFn
ZS1mb3JtYXQtZGF0YS5odG1sCisrKyBiL0xheW91dFRlc3RzL3ByaW50aW5nL3BhZ2UtZm9ybWF0
LWRhdGEuaHRtbApAQCAtMzksMjMgKzM5LDIzIEBACiAgICAgICAgIC8vIFBhZ2UgYm94IHZpc2li
aWxpdHkgdGVzdHMuCiAKICAgICAgICAgZGVidWcoIlRlc3QgZGVmYXVsdCB2aXNpYmlsaXR5Iik7
Ci0gICAgICAgIHNob3VsZEJlKCJsYXlvdXRUZXN0Q29udHJvbGxlci5pc1BhZ2VCb3hWaXNpYmxl
KDApIiwgInRydWUiKTsKKyAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5pc1BhZ2VCb3hWaXNp
YmxlKGRvY3VtZW50LCAwKSIsICJ0cnVlIik7CiAKICAgICAgICAgZGVidWcoIlRlc3QgZGlzcGxh
eTogbm9uZS4gZGlzcGxheSBwcm9wZXJ0eSBkb2Vzbid0IGFwcGx5IHRvIEBwYWdlIik7CiAgICAg
ICAgIGFwcGVuZFN0eWxlKCJAcGFnZSB7ZGlzcGxheTpub25lO30iKTsKLSAgICAgICAgc2hvdWxk
QmUoImxheW91dFRlc3RDb250cm9sbGVyLmlzUGFnZUJveFZpc2libGUoMCkiLCAidHJ1ZSIpOwor
ICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLmlzUGFnZUJveFZpc2libGUoZG9jdW1lbnQsIDAp
IiwgInRydWUiKTsKIAogICAgICAgICBkZWJ1ZygiVGVzdCBkaXNwbGF5OiBpbmxpbmUuIGRpc3Bs
YXkgcHJvcGVydHkgZG9lc24ndCBhcHBseSB0byBAcGFnZSIpOwogICAgICAgICBhcHBlbmRTdHls
ZSgiQHBhZ2Uge2Rpc3BsYXk6aW5saW5lO30iKTsKLSAgICAgICAgc2hvdWxkQmUoImxheW91dFRl
c3RDb250cm9sbGVyLmlzUGFnZUJveFZpc2libGUoMCkiLCAidHJ1ZSIpOworICAgICAgICBzaG91
bGRCZSgiaW50ZXJuYWxzLmlzUGFnZUJveFZpc2libGUoZG9jdW1lbnQsIDApIiwgInRydWUiKTsK
IAogICAgICAgICBkZWJ1ZygiVGVzdCB2aXNpYmlsaXR5OiBoaWRkZW4iKTsKICAgICAgICAgYXBw
ZW5kU3R5bGUoIkBwYWdlIHt2aXNpYmlsaXR5OmhpZGRlbjt9Iik7Ci0gICAgICAgIHNob3VsZEJl
KCJsYXlvdXRUZXN0Q29udHJvbGxlci5pc1BhZ2VCb3hWaXNpYmxlKDApIiwgImZhbHNlIik7Cisg
ICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMuaXNQYWdlQm94VmlzaWJsZShkb2N1bWVudCwgMCki
LCAiZmFsc2UiKTsKIAogICAgICAgICBkZWJ1ZygiVGVzdCB2aXNpYmlsaXR5OiB2aXNpYmxlIik7
CiAgICAgICAgIGFwcGVuZFN0eWxlKCJAcGFnZSB7dmlzaWJpbGl0eTp2aXNpYmxlO30iKTsKLSAg
ICAgICAgc2hvdWxkQmUoImxheW91dFRlc3RDb250cm9sbGVyLmlzUGFnZUJveFZpc2libGUoMCki
LCAidHJ1ZSIpOworICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLmlzUGFnZUJveFZpc2libGUo
ZG9jdW1lbnQsIDApIiwgInRydWUiKTsKIAogICAgICAgICBkZWJ1ZygiIik7CiAKZGlmZiAtLWdp
dCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBiYWQ1Yjk3ZjY2NzdlZWFhMGIzNzE3YWNk
MjI1NTY3MzYxNDk4MTljLi4yOWNkYjBiZjc3MmVkOWRmNjEzNTg1MTdmNjJhNmUyYzc1MzZhZjBk
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAK
KzIwMTItMDUtMDQgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KKwor
ICAgICAgICBDb252ZXJ0IGlzUGFnZUJveFZpc2libGUgdG8gdXNlIEludGVybmFscyBpbnRlcmZh
Y2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTY5
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU291
cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcjogQWRkIGlzUGFnZUJveFZpc2libGUgc3ltYm9s
IGZpbHRlci4KKwogMjAxMi0wNS0wNCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4K
IAogICAgICAgICBGbGFzaCBvZiB3aGl0ZSB3aGVuIGV4aXRpbmcgZnVsbCBzY3JlZW4gSFRNTDUg
dmlkZW8K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140397</attachid>
            <date>2012-05-05 06:53:37 -0700</date>
            <delta_ts>2012-05-06 15:42:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85692-20120505225334.patch</filename>
            <type>text/plain</type>
            <size>31935</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2MTk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2I1M2VlODE1NjBmYzdm
NmQ4MTdjODVlMWJhNWMzOWU2MTMyYjQ3YS4uZTgzMzFlYmViNmM4ODYwNzUxOGM1MzgwZjIyODI0
NjRkMTY3NzBkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA1LTA0ICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgQ29udmVydCBp
c1BhZ2VCb3hWaXNpYmxlIHRvIHVzZSBJbnRlcm5hbHMgaW50ZXJmYWNlLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODU2OTIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgaXNQYWdlQm94VmlzaWJsZSBm
dW5jdGlvbnMsIGJlY2F1c2UgaXQgaXMgYWJsZSB0byB3b3JrIGluIHRoZQorICAgICAgICBjcm9z
cy1wb3J0IHdheSB0aHJvdWdoIHRoZSBJbnRlcm5hbHMgaW50ZXJmYWNlLgorCisgICAgICAgIE5v
IG5ldyB0ZXN0cywgc2luY2Ugd2UgYXJlIGltcHJvdmluZyBoZXJlIHRoZSBpbmZyYS1zdHJ1Y3R1
cmUgZm9yIHRlc3RpbmcKKyAgICAgICAgYSBzcGVjaWZpYyBtZXRob2QuCisKKyAgICAgICAgKiB0
ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNv
cmU6OkludGVybmFsczo6aXNQYWdlQm94VmlzaWJsZSk6CisgICAgICAgICogdGVzdGluZy9JbnRl
cm5hbHMuaDoKKyAgICAgICAgKEludGVybmFscyk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5h
bHMuaWRsOgorCiAyMDEyLTA1LTA0ICBKZWZmcmV5IFBmYXUgIDxqcGZhdUBhcHBsZS5jb20+CiAK
ICAgICAgICAgVW5yZXZpZXdlZDsgYnVpbGQgZml4IGFmdGVyIHIxMTYxOTEuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VM
b2cKaW5kZXggMTU4NzMzNTQ0MWNhMDM5ZjYwZTlkZjUzODVlYzY3MmNlOTliNTI3YS4uYmVmYmU2
MDExMDc0Mjc1MjIyYzA4NzQzMDdhN2EyNjkzNGY1NzgzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9lZmwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE2IEBACisyMDEyLTA1LTA0ICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ft
c3VuZy5jb20+CisKKyAgICAgICAgQ29udmVydCBpc1BhZ2VCb3hWaXNpYmxlIHRvIHVzZSBJbnRl
cm5hbHMgaW50ZXJmYWNlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODU2OTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBSZW1vdmUgaXNQYWdlQm94VmlzaWJsZSBmdW5jdGlvbnMsIGJlY2F1c2UgaXQgaXMg
YWJsZSB0byB3b3JrIGluIHRoZQorICAgICAgICBjcm9zcy1wb3J0IHdheSB0aHJvdWdoIHRoZSBJ
bnRlcm5hbHMgaW50ZXJmYWNlLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRl
clRyZWVTdXBwb3J0RWZsLmNwcDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVy
VHJlZVN1cHBvcnRFZmwuaDoKKwogMjAxMi0wNS0wNCAgQ2hyaXN0b3BoZSBEdW1leiAgPGNocmlz
dG9waGUuZHVtZXpAaW50ZWwuY29tPgogCiAgICAgICAgIFtFRkxdIEltcGxlbWVudCBsYXlvdXRU
ZXN0Q29udHJvbGxlci5kdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9n
CmluZGV4IGNhNTA2NDViZmUwNmQ2ODAwNTkyMTZjZTMxOTY5NWM4ODI2ZWJkYzguLjBhMGZjNmFi
MDNkNzFjOGUyYzc0NTA3NjA3MjkxYmJkYjI2YWY4YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvZ3RrL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxMi0wNS0wNCAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1
bmcuY29tPgorCisgICAgICAgIENvbnZlcnQgaXNQYWdlQm94VmlzaWJsZSB0byB1c2UgSW50ZXJu
YWxzIGludGVyZmFjZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTg1NjkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgUmVtb3ZlIGlzUGFnZUJveFZpc2libGUgZnVuY3Rpb25zLCBiZWNhdXNlIGl0IGlzIGFi
bGUgdG8gd29yayBpbiB0aGUKKyAgICAgICAgY3Jvc3MtcG9ydCB3YXkgdGhyb3VnaCB0aGUgSW50
ZXJuYWxzIGludGVyZmFjZS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJU
cmVlU3VwcG9ydEd0ay5jcHA6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRy
ZWVTdXBwb3J0R3RrLmg6CisgICAgICAgIChEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGspOgorCiAy
MDEyLTA1LTA0ICBTdWRhcnNhbmEgTmFnaW5lbmkgIDxzdWRhcnNhbmEubmFnaW5lbmlAbGludXgu
aW50ZWwuY29tPgogCiAgICAgICAgIFtHVEtdIERSVCBuZWVkcyBhbiBpbXBsZW1lbnRhdGlvbiBv
ZiBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RGVmZXJzTG9hZGluZyBhbmQgOjpnb0JhY2sKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9xdC9D
aGFuZ2VMb2cKaW5kZXggMGQwZGRlYmQ3NjZiNGYzZWNjOWExMGRmYTcxOWVkNGNkZDY1MDgzOS4u
NDBlNjlmZTZkMDAxOWM4OGI3ZTk3NmMyZGQyOGE4ZDMwZWMxM2U4ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNiBAQAorMjAxMi0wNS0wNCAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2lt
QHNhbXN1bmcuY29tPgorCisgICAgICAgIENvbnZlcnQgaXNQYWdlQm94VmlzaWJsZSB0byB1c2Ug
SW50ZXJuYWxzIGludGVyZmFjZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTg1NjkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUmVtb3ZlIGlzUGFnZUJveFZpc2libGUgZnVuY3Rpb25zLCBiZWNhdXNlIGl0
IGlzIGFibGUgdG8gd29yayBpbiB0aGUKKyAgICAgICAgY3Jvc3MtcG9ydCB3YXkgdGhyb3VnaCB0
aGUgSW50ZXJuYWxzIGludGVyZmFjZS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBS
ZW5kZXJUcmVlU3VwcG9ydFF0LmNwcDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVu
ZGVyVHJlZVN1cHBvcnRRdC5oOgorCiAyMDEyLTA1LTA0ICBOYXRlIENoYXBpbiAgPGphcGhldEBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgRG9uJ3QgcmVxdWlyZSBGcmFtZUxvYWRlckNsaWVudCB0
byBtYW51ZmFjdHVyZSBhIGNvbW1pdERhdGEoKSBjYWxsIGZvciBlbXB0eSBkb2N1bWVudHMuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKaW5kZXggZjE5Y2YwNTQxOTYwM2U2Y2ExZTZmMzc3YzQxMjVjYTZiYTJhZGZlYS4uZDRj
NmE0YjJlM2ViOTk4MzE4MWViMTRlYWFkMDRhNmYyNjRjM2YyMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDEyIEBACisyMDEyLTA1LTA1ICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3Vu
Zy5jb20+CisKKyAgICAgICAgQ29udmVydCBpc1BhZ2VCb3hWaXNpYmxlIHRvIHVzZSBJbnRlcm5h
bHMgaW50ZXJmYWNlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODU2OTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIHdpbi9XZWJLaXQyLmRlZjogQWRkIGlzUGFnZUJveFZpc2libGUgc3ltYm9sIGZpbHRl
ci4KKwogMjAxMi0wNS0wMiAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAg
ICAgICBGbGFzaCBvZiB3aGl0ZSB3aGVuIGV4aXRpbmcgZnVsbCBzY3JlZW4gSFRNTDUgdmlkZW8K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCA0YzFkMDJjMGZlNmMyN2JmNzYy
OWE3YmRhMGUwNTliZGZhMjliYzk3Li4zYzJhOWQ1MTFhNjUyZWIwYzVjZDE3ODE3YmM2ZThmNWRj
OTBhMWU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC05OTcsNiArOTk3
LDE2IEBAIHVuc2lnbmVkIEludGVybmFsczo6bnVtYmVyT2ZTY3JvbGxhYmxlQXJlYXMoRG9jdW1l
bnQqIGRvY3VtZW50LCBFeGNlcHRpb25Db2RlJikKIAogICAgIHJldHVybiBjb3VudDsKIH0KKyAg
ICAKK2Jvb2wgSW50ZXJuYWxzOjppc1BhZ2VCb3hWaXNpYmxlKERvY3VtZW50KiBkb2N1bWVudCwg
aW50IHBhZ2VOdW1iZXIsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmICghZG9jdW1lbnQp
IHsKKyAgICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7CisgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICB9CisKKyAgICByZXR1cm4gZG9jdW1lbnQtPmlzUGFnZUJveFZpc2libGUocGFnZU51
bWJlcik7Cit9CiAKICNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCiB2b2lkIEludGVybmFsczo6
d2Via2l0V2lsbEVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50LCBF
bGVtZW50KiBlbGVtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggNTEyZjRk
MjZjMGVjMzYyMGMxYzllNzIwYjQ5ZGJkNWRhZWZlYzZlMC4uMzkxZDM3NWZhMDNlYjdkMDFiNTAz
OTg0MzFhYWFhYjk3MmUwYzFlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC0x
NTMsNiArMTUzLDggQEAgcHVibGljOgogCiAgICAgdW5zaWduZWQgbnVtYmVyT2ZTY3JvbGxhYmxl
QXJlYXMoRG9jdW1lbnQqLCBFeGNlcHRpb25Db2RlJik7CiAKKyAgICBib29sIGlzUGFnZUJveFZp
c2libGUoRG9jdW1lbnQqLCBpbnQgcGFnZU51bWJlciwgRXhjZXB0aW9uQ29kZSYpOworCiAgICAg
c3RhdGljIGNvbnN0IGNoYXIqIGludGVybmFsc0lkOwogCiAgICAgSW50ZXJuYWxTZXR0aW5ncyog
c2V0dGluZ3MoKSBjb25zdCB7IHJldHVybiBtX3NldHRpbmdzLmdldCgpOyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXggN2I0YmViMTc3Y2U0OTNiMzk0NzYyZGVhY2VjNTc1
ODY1MjFlNDg3My4uMDVmNmQzNGY4ODg3MTFmOGU5ZTBkYTYyZjZhMzM2MDZiYjIxODJmYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtMTI4LDYgKzEyOCw4IEBAIG1vZHVs
ZSB3aW5kb3cgewogCiAgICAgICAgIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZTY3JvbGxhYmxlQXJl
YXMoaW4gRG9jdW1lbnQgZG9jdW1lbnQpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKIAorICAgICAg
ICBib29sZWFuIGlzUGFnZUJveFZpc2libGUoaW4gRG9jdW1lbnQgZG9jdW1lbnQsIGluIGxvbmcg
cGFnZU51bWJlcikgcmFpc2VzIChET01FeGNlcHRpb24pOworCiAgICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBJbnRlcm5hbFNldHRpbmdzIHNldHRpbmdzOwogCiAjaWYgZGVmaW5lZChFTkFCTEVf
QkFUVEVSWV9TVEFUVVMpICYmIEVOQUJMRV9CQVRURVJZX1NUQVRVUwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsLmNw
cCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9y
dEVmbC5jcHAKaW5kZXggYmVmNWMwYmM3ZTM1OTVmZGI4YThjYTNhMjU5NmFjZjQ1NmVlZTIzOS4u
NzQ5NThmYmE4ZWRlYzg5ZmE2YTFlZmVkYjQxNGE1NzgzMmIwM2E0ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1
cHBvcnRFZmwuY3BwCkBAIC0xNTEsMjEgKzE1MSw2IEBAIFdlYkNvcmU6OkZyYW1lKiBEdW1wUmVu
ZGVyVHJlZVN1cHBvcnRFZmw6OmZyYW1lUGFyZW50KGNvbnN0IEV2YXNfT2JqZWN0KiBld2tGcmFt
CiAgICAgcmV0dXJuIGZyYW1lLT50cmVlKCktPnBhcmVudCgpOwogfQogCi1ib29sIER1bXBSZW5k
ZXJUcmVlU3VwcG9ydEVmbDo6aXNQYWdlQm94VmlzaWJsZShjb25zdCBFdmFzX09iamVjdCogZXdr
RnJhbWUsIGludCBwYWdlSW5kZXgpCi17Ci0gICAgY29uc3QgV2ViQ29yZTo6RnJhbWUqIGZyYW1l
ID0gRVdLUHJpdmF0ZTo6Y29yZUZyYW1lKGV3a0ZyYW1lKTsKLQotICAgIGlmICghZnJhbWUpCi0g
ICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIFdlYkNvcmU6OkRvY3VtZW50KiBkb2N1bWVudCA9
IGZyYW1lLT5kb2N1bWVudCgpOwotCi0gICAgaWYgKCFkb2N1bWVudCkKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotCi0gICAgcmV0dXJuIGRvY3VtZW50LT5pc1BhZ2VCb3hWaXNpYmxlKHBhZ2VJbmRl
eCk7Ci19Ci0KIHZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsOjpsYXlvdXRGcmFtZShFdmFz
X09iamVjdCogZXdrRnJhbWUpCiB7CiAgICAgV2ViQ29yZTo6RnJhbWUqIGZyYW1lID0gRVdLUHJp
dmF0ZTo6Y29yZUZyYW1lKGV3a0ZyYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZs
L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5oIGIvU291cmNlL1dlYktp
dC9lZmwvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsLmgKaW5kZXggOTY2
MWY3MzdjNzcxZGY0NjJhYWNiMjYyNzVjYmViN2YwMDZjOWIwYS4uYjE2NzcyMzczYTMwZDFlYTg1
OWM1OGIzYTkwNjgxNmI5NjUxNzczOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2Vi
Q29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsLmgKKysrIGIvU291cmNlL1dlYktp
dC9lZmwvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsLmgKQEAgLTUyLDcg
KzUyLDYgQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIGVsZW1lbnREb2VzQXV0b0NvbXBsZXRl
Rm9yRWxlbWVudFdpdGhJZChjb25zdCBFdmFzX09iamVjdCogZXdrRnJhbWUsIGNvbnN0IFN0cmlu
ZyYgZWxlbWVudElkKTsKICAgICBzdGF0aWMgRWluYV9MaXN0KiBmcmFtZUNoaWxkcmVuKGNvbnN0
IEV2YXNfT2JqZWN0KiBld2tGcmFtZSk7CiAgICAgc3RhdGljIFdlYkNvcmU6OkZyYW1lKiBmcmFt
ZVBhcmVudChjb25zdCBFdmFzX09iamVjdCogZXdrRnJhbWUpOwotICAgIHN0YXRpYyBib29sIGlz
UGFnZUJveFZpc2libGUoY29uc3QgRXZhc19PYmplY3QqIGV3a0ZyYW1lLCBpbnQgcGFnZUluZGV4
KTsKICAgICBzdGF0aWMgdm9pZCBsYXlvdXRGcmFtZShFdmFzX09iamVjdCogZXdrRnJhbWUpOwog
ICAgIHN0YXRpYyBpbnQgbnVtYmVyT2ZQYWdlcyhjb25zdCBFdmFzX09iamVjdCogZXdrRnJhbWUs
IGZsb2F0IHBhZ2VXaWR0aCwgZmxvYXQgcGFnZUhlaWdodCk7CiAgICAgc3RhdGljIGludCBudW1i
ZXJPZlBhZ2VzRm9yRWxlbWVudElkKGNvbnN0IEV2YXNfT2JqZWN0KiBld2tGcmFtZSwgY29uc3Qg
Y2hhciogZWxlbWVudElkLCBmbG9hdCBwYWdlV2lkdGgsIGZsb2F0IHBhZ2VIZWlnaHQpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVT
dXBwb3J0R3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5k
ZXJUcmVlU3VwcG9ydEd0ay5jcHAKaW5kZXggMjUyODBmMjk5YWJlOWNmNTcxYmNmNDFiNzkwYzBk
ZDllMzhiZTQxMC4uMWEwZjMyZjJkYzQwYzYxYzBkOTNiODBkODg4NmE3NjUwZDY5NGU0ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVT
dXBwb3J0R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1w
UmVuZGVyVHJlZVN1cHBvcnRHdGsuY3BwCkBAIC0yNzEsMjQgKzI3MSw2IEBAIENTdHJpbmcgRHVt
cFJlbmRlclRyZWVTdXBwb3J0R3RrOjpwYWdlUHJvcGVydHkoV2ViS2l0V2ViRnJhbWUqIGZyYW1l
LCBjb25zdCBjaGFyCiB9CiAKIC8qKgotICogaXNQYWdlQm94VmlzaWJsZQotICogQGZyYW1lOiBh
ICNXZWJLaXRXZWJGcmFtZQotICogQHBhZ2VOdW1iZXI6IG51bWJlciBvZiBhIHBhZ2UgCi0gKgot
ICogUmV0dXJuIHZhbHVlOiBUUlVFIGlmIGEgcGFnZSBib3ggaXMgdmlzaWJsZS4gCi0gKi8KLWJv
b2wgRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjppc1BhZ2VCb3hWaXNpYmxlKFdlYktpdFdlYkZy
YW1lKiBmcmFtZSwgaW50IHBhZ2VOdW1iZXIpCi17Ci0gICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwo
V0VCS0lUX0lTX1dFQl9GUkFNRShmcmFtZSksIGZhbHNlKTsKLQotICAgIEZyYW1lKiBjb3JlRnJh
bWUgPSBjb3JlKGZyYW1lKTsKLSAgICBpZiAoIWNvcmVGcmFtZSkKLSAgICAgICAgcmV0dXJuIGZh
bHNlOwotCi0gICAgcmV0dXJuIGNvcmVGcmFtZS0+ZG9jdW1lbnQoKS0+aXNQYWdlQm94VmlzaWJs
ZShwYWdlTnVtYmVyKTsgCi19Ci0KLS8qKgogICogcGFnZVNpemVBbmRNYXJnaW5zSW5QaXhlbHMK
ICAqIEBmcmFtZTogYSAjV2ViS2l0V2ViRnJhbWUKICAqIEBwYWdlTnVtYmVyOiBudW1iZXIgb2Yg
YSBwYWdlIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRHVt
cFJlbmRlclRyZWVTdXBwb3J0R3RrLmggYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9y
dC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuaAppbmRleCBiNjRmZmViMDNmZDEwZjY5YjBjNDky
ZTc3N2Y1MjMxNGM3NmEzYTliLi43ZGI4NWNmZmU0NzlhYmViZmZmM2Q4NDdiNjIyY2VlYWNmMzU3
MzI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVu
ZGVyVHJlZVN1cHBvcnRHdGsuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9y
dC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuaApAQCAtNjUsNyArNjUsNiBAQCBwdWJsaWM6CiAg
ICAgc3RhdGljIGludCBwYWdlTnVtYmVyRm9yRWxlbWVudEJ5SWQoV2ViS2l0V2ViRnJhbWUqLCBj
b25zdCBjaGFyKiBpZCwgZmxvYXQgcGFnZVdpZHRoLCBmbG9hdCBwYWdlSGVpZ2h0KTsKICAgICBz
dGF0aWMgaW50IG51bWJlck9mUGFnZXNGb3JGcmFtZShXZWJLaXRXZWJGcmFtZSosIGZsb2F0IHBh
Z2VXaWR0aCwgZmxvYXQgcGFnZUhlaWdodCk7CiAgICAgc3RhdGljIFdURjo6Q1N0cmluZyBwYWdl
UHJvcGVydHkoV2ViS2l0V2ViRnJhbWUqLCBjb25zdCBjaGFyKiBwcm9wZXJ0eU5hbWUsIGludCBw
YWdlTnVtYmVyKTsKLSAgICBzdGF0aWMgYm9vbCBpc1BhZ2VCb3hWaXNpYmxlKFdlYktpdFdlYkZy
YW1lKiwgaW50IHBhZ2VOdW1iZXIpOwogICAgIHN0YXRpYyBXVEY6OkNTdHJpbmcgcGFnZVNpemVB
bmRNYXJnaW5zSW5QaXhlbHMoV2ViS2l0V2ViRnJhbWUqLCBpbnQgcGFnZU51bWJlciwgaW50IHdp
ZHRoLCBpbnQgaGVpZ2h0LCBpbnQgbWFyZ2luVG9wLCBpbnQgbWFyZ2luUmlnaHQsIGludCBtYXJn
aW5Cb3R0b20sIGludCBtYXJnaW5MZWZ0KTsKICAgICBzdGF0aWMgdm9pZCBhZGRVc2VyU3R5bGVT
aGVldChXZWJLaXRXZWJGcmFtZSosIGNvbnN0IGNoYXIqIHNvdXJjZUNvZGUsIGJvb2wgYWxsRnJh
bWVzKTsKICAgICBzdGF0aWMgZ3VpbnQgZ2V0UGVuZGluZ1VubG9hZEV2ZW50Q291bnQoV2ViS2l0
V2ViRnJhbWUqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQv
RHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3Vw
cG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKaW5kZXggMGQyYzJmZDc5MzE5OTA0Zjg1
M2RmMWY5ZDQzZmM2YWZkOTQxY2MxMi4uZjU1ZTI1NjY3OWExYmZhY2UyN2M2OWVhMGVjMWJiY2E1
NzgwZTE2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1w
UmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3Vw
cG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKQEAgLTk2MiwxMiArOTYyLDYgQEAgdm9p
ZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6ZXZhbHVhdGVTY3JpcHRJbklzb2xhdGVkV29ybGQo
UVdlYkZyYW1lKiBmcmFtZSwgaW4KICNlbmRpZgogfQogCi1ib29sIER1bXBSZW5kZXJUcmVlU3Vw
cG9ydFF0Ojppc1BhZ2VCb3hWaXNpYmxlKFFXZWJGcmFtZSogZnJhbWUsIGludCBwYWdlSW5kZXgp
Ci17Ci0gICAgV2ViQ29yZTo6RnJhbWUqIGNvcmVGcmFtZSA9IFFXZWJGcmFtZVByaXZhdGU6OmNv
cmUoZnJhbWUpOwotICAgIHJldHVybiBjb3JlRnJhbWUtPmRvY3VtZW50KCktPmlzUGFnZUJveFZp
c2libGUocGFnZUluZGV4KTsKLX0KLQogUVN0cmluZyBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6
cGFnZVNpemVBbmRNYXJnaW5zSW5QaXhlbHMoUVdlYkZyYW1lKiBmcmFtZSwgaW50IHBhZ2VJbmRl
eCwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgbWFyZ2luVG9wLCBpbnQgbWFyZ2luUmlnaHQs
IGludCBtYXJnaW5Cb3R0b20sIGludCBtYXJnaW5MZWZ0KQogewogICAgIFdlYkNvcmU6OkZyYW1l
KiBjb3JlRnJhbWUgPSBRV2ViRnJhbWVQcml2YXRlOjpjb3JlKGZyYW1lKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQu
aCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0
UXQuaAppbmRleCA3NDJmMzQzMzhhNjlhMmUwNDY4M2IwZmE3NWNkNmQyNjBkNjBjMTg3Li5lYWRj
MWFmMzU2NjI5OWE4M2UzMDk1ZjZkYzQxZDFhZTdiMzZmNDI5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmgKKysrIGIv
U291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5o
CkBAIC0xOTYsOCArMTk2LDYgQEAgcHVibGljOgogCiAgICAgc3RhdGljIHZvaWQgc2V0Q3VzdG9t
UG9saWN5RGVsZWdhdGUoYm9vbCBlbmFibGVkLCBib29sIHBlcm1pc3NpdmUpOwogCi0gICAgc3Rh
dGljIGJvb2wgaXNQYWdlQm94VmlzaWJsZShRV2ViRnJhbWUqIGZyYW1lLCBpbnQgcGFnZUluZGV4
KTsKLQogICAgIHN0YXRpYyBRU3RyaW5nIHBhZ2VTaXplQW5kTWFyZ2luc0luUGl4ZWxzKFFXZWJG
cmFtZSogZnJhbWUsIGludCBwYWdlSW5kZXgsIGludCB3aWR0aCwgaW50IGhlaWdodCwgaW50IG1h
cmdpblRvcCwgaW50IG1hcmdpblJpZ2h0LCBpbnQgbWFyZ2luQm90dG9tLCBpbnQgbWFyZ2luTGVm
dCk7CiAgICAgc3RhdGljIFFTdHJpbmcgcGFnZVByb3BlcnR5KFFXZWJGcmFtZSogZnJhbWUsIGNv
bnN0IFFTdHJpbmcmIHByb3BlcnR5TmFtZSwgaW50IHBhZ2VOdW1iZXIpOwogICAgIHN0YXRpYyB2
b2lkIGFkZFVzZXJTdHlsZVNoZWV0KFFXZWJQYWdlKiBwYWdlLCBjb25zdCBRU3RyaW5nJiBzb3Vy
Y2VDb2RlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZiBiL1Nv
dXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgppbmRleCA1MWM4MGE5ODZiNzU1ZTgyYTVlNTYw
YTIzMzY4M2E3ZmJmNTliNzQ3Li5jNGExMDM5MmQzYTIyN2RjMmM2NDhlODcwYWU0ZmFmYzcxNTlh
MGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYKKysrIGIvU291
cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCkBAIC0yNTQsMyArMjU0LDQgQEAgRVhQT1JUUwog
ICAgICAgICA/d2Via2l0RGlkRW50ZXJGdWxsU2NyZWVuRm9yRWxlbWVudEBEb2N1bWVudEBXZWJD
b3JlQEBRQUVYUEFWRWxlbWVudEAyQEBaCiAgICAgICAgID93ZWJraXRXaWxsRXhpdEZ1bGxTY3Jl
ZW5Gb3JFbGVtZW50QERvY3VtZW50QFdlYkNvcmVAQFFBRVhQQVZFbGVtZW50QDJAQFoKICAgICAg
ICAgP3dlYmtpdERpZEV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudEBEb2N1bWVudEBXZWJDb3JlQEBR
QUVYUEFWRWxlbWVudEAyQEBaCisgICAgICAgID9pc1BhZ2VCb3hWaXNpYmxlQERvY3VtZW50QFdl
YkNvcmVAQFFBRV9OSEBaCmRpZmYgLS1naXQgYS9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmls
dGVyIGIvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgppbmRleCAyMjcxZWMwYjkyZTgz
MjYzNWQwZmMwYmJmZjVmYTE1NzQ2NTkwYWZiLi40ZDc1MGNmOGJmMDJlNzQ3YjhhZTEyNjg3MTlk
OTU5NzBmMmRmODk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVy
CisrKyBiL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKQEAgLTEwNiw2ICsxMDYsNyBA
QCBfWk5LN1dlYkNvcmU4RG9jdW1lbnQ0dmlld0V2OwogX1pOSzdXZWJDb3JlNVJhbmdlNHRleHRF
djsKIF9aTks3V2ViQ29yZTlUcmVlU2NvcGUxNGdldEVsZW1lbnRCeUlkRVJLTjNXVEYxMkF0b21p
Y1N0cmluZ0U7CiBfWk5LN1dlYkNvcmUxNERvY3VtZW50TWFya2VyMTFkZXNjcmlwdGlvbkV2Owor
X1pON1dlYkNvcmU4RG9jdW1lbnQxNmlzUGFnZUJveFZpc2libGVFaTsKIF9aTks3V2ViQ29yZTE5
SW5zcGVjdG9yQ29udHJvbGxlcjEyZ2V0SGlnaGxpZ2h0RVBOU185SGlnaGxpZ2h0RTsKIF9aTjdX
ZWJDb3JlMjRJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24yNmluc3RydW1lbnRpbmdBZ2VudHNGb3JQ
YWdlRVBOU180UGFnZUU7CiBfWk43V2ViQ29yZTI0SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uMTdz
X2Zyb250ZW5kQ291bnRlckU7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9D
aGFuZ2VMb2cKaW5kZXggZDdmMTQ5MWNkNGYwN2UyYTc1NzBlODZjMGNlMmIwZTAwYWEwOTA1MS4u
Y2FjZWIwMjMyNjAyNzEzNjQ4NTRmZGZkMDI5MmZiMmU2YjEzZWEwMiAxMDA2NDQKLS0tIGEvVG9v
bHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEy
LTA1LTA0ICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAg
ICAgQ29udmVydCBpc1BhZ2VCb3hWaXNpYmxlIHRvIHVzZSBJbnRlcm5hbHMgaW50ZXJmYWNlLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODU2OTIKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgaXNQ
YWdlQm94VmlzaWJsZSBmdW5jdGlvbnMsIGJlY2F1c2UgaXQgaXMgYWJsZSB0byB3b3JrIGluIHRo
ZQorICAgICAgICBjcm9zcy1wb3J0IHdheSB0aHJvdWdoIHRoZSBJbnRlcm5hbHMgaW50ZXJmYWNl
LgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnN0YXRpY0Z1bmN0aW9ucyk6CisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKExheW91
dFRlc3RDb250cm9sbGVyKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0xh
eW91dFRlc3RDb250cm9sbGVyQmxhY2tCZXJyeS5jcHA6CisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoTGF5b3V0VGVz
dENvbnRyb2xsZXI6OkxheW91dFRlc3RDb250cm9sbGVyKToKKyAgICAgICAgKiBEdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5oOgorICAgICAgICAoTGF5b3V0VGVz
dENvbnRyb2xsZXIpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2VmbC9MYXlvdXRUZXN0Q29u
dHJvbGxlckVmbC5jcHA6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91dFRlc3RD
b250cm9sbGVyR3RrLmNwcDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvTGF5b3V0VGVz
dENvbnRyb2xsZXJNYWMubW06CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVz
dENvbnRyb2xsZXJRdC5jcHA6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVz
dENvbnRyb2xsZXJRdC5oOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXIpOgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHA6CisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xsZXJXeC5jcHA6CisKIDIw
MTItMDUtMDQgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgogCiAgICAgICAgIE1ha2Ug
Y2FwaXRhbGl6YXRpb24gYW5kIGRlc2NyaXB0aW9ucyBpbiBGZWF0dXJlTGlzdC5wbSBtb3JlIGNv
bnNpc3RlbnQgdG8gbWFrZSBlYXNpZXIgdG8gYXV0b2dlbmVyYXRlCmRpZmYgLS1naXQgYS9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAgYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKaW5kZXggZTA5NDRlNWY5NzU0YzRjNWNj
NjIyMmUzMWYxODc0Yjk0MGFhMzYzNC4uNDM5NDg5NDkxM2FlMzc0Y2UxNWRmODAzMjNjMDFkODAx
ODAxY2UyYSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRy
b2xsZXIuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVy
LmNwcApAQCAtOTIxLDE2ICs5MjEsNiBAQCBzdGF0aWMgSlNWYWx1ZVJlZiBwYWdlUHJvcGVydHlD
YWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgZnVuY3RpbwogICAgIHJl
dHVybiB2YWx1ZTsKIH0KIAotc3RhdGljIEpTVmFsdWVSZWYgaXNQYWdlQm94VmlzaWJsZUNhbGxi
YWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RS
ZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJn
dW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKLXsKLSAgICBpbnQgcGFnZU51bWJlciA9
IDA7Ci0gICAgaWYgKCFwYXJzZVBhZ2VOdW1iZXIoY29udGV4dCwgYXJndW1lbnRDb3VudCwgYXJn
dW1lbnRzLCBleGNlcHRpb24sIHBhZ2VOdW1iZXIpKQotICAgICAgICByZXR1cm4gSlNWYWx1ZU1h
a2VVbmRlZmluZWQoY29udGV4dCk7Ci0KLSAgICBMYXlvdXRUZXN0Q29udHJvbGxlciogY29udHJv
bGxlciA9IHN0YXRpY19jYXN0PExheW91dFRlc3RDb250cm9sbGVyKj4oSlNPYmplY3RHZXRQcml2
YXRlKHRoaXNPYmplY3QpKTsKLSAgICByZXR1cm4gSlNWYWx1ZU1ha2VCb29sZWFuKGNvbnRleHQs
IGNvbnRyb2xsZXItPmlzUGFnZUJveFZpc2libGUocGFnZU51bWJlcikpOwotfQotCiBzdGF0aWMg
SlNWYWx1ZVJlZiBwYWdlU2l6ZUFuZE1hcmdpbnNJblBpeGVsc0NhbGxiYWNrKEpTQ29udGV4dFJl
ZiBjb250ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwg
c2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFs
dWVSZWYqIGV4Y2VwdGlvbikKIHsKICAgICBpbnQgcGFnZU51bWJlciA9IDA7CkBAIC0yMzczLDcg
KzIzNjMsNiBAQCBKU1N0YXRpY0Z1bmN0aW9uKiBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c3RhdGlj
RnVuY3Rpb25zKCkKICAgICAgICAgeyAiZ3JhbnREZXNrdG9wTm90aWZpY2F0aW9uUGVybWlzc2lv
biIsIGdyYW50RGVza3RvcE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaywga0pTUHJvcGVy
dHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LCAK
ICAgICAgICAgeyAiaWdub3JlRGVza3RvcE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0cyIs
IGlnbm9yZURlc2t0b3BOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdHNDYWxsYmFjaywga0pT
UHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0
ZSB9LAogICAgICAgICB7ICJpc0NvbW1hbmRFbmFibGVkIiwgaXNDb21tYW5kRW5hYmxlZENhbGxi
YWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVE
b250RGVsZXRlIH0sCi0gICAgICAgIHsgImlzUGFnZUJveFZpc2libGUiLCBpc1BhZ2VCb3hWaXNp
YmxlQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0
dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAia2VlcFdlYkhpc3RvcnkiLCBrZWVwV2Vi
SGlzdG9yeUNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVy
dHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgImxheWVyVHJlZUFzVGV4dCIsIGxh
eWVyVHJlZUFzVGV4dENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pT
UHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgIm51bWJlck9mUGFnZXMi
LCBudW1iZXJPZlBhZ2VzQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBr
SlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9M
YXlvdXRUZXN0Q29udHJvbGxlci5oCmluZGV4IDBjMjNlZjA0NDExYjllMGJhM2JhY2Y3MjU3NmYw
ZjM5Njc1OWU5OTcuLmEzZTNlOWI5NTc0ZTMxYmQ0MmJlN2NjZDg4YjkyZTdhODNhY2FlNWQgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmgKKysr
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaApAQCAtNzYsNyAr
NzYsNiBAQCBwdWJsaWM6CiAgICAgaW50IHBhZ2VOdW1iZXJGb3JFbGVtZW50QnlJZChKU1N0cmlu
Z1JlZiBpZCwgZmxvYXQgcGFnZVdpZHRoSW5QaXhlbHMsIGZsb2F0IHBhZ2VIZWlnaHRJblBpeGVs
cyk7CiAgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHBhZ2VQcm9wZXJ0eShjb25zdCBjaGFy
KiBwcm9wZXJ0eU5hbWUsIGludCBwYWdlTnVtYmVyKSBjb25zdDsKICAgICBKU1JldGFpblB0cjxK
U1N0cmluZ1JlZj4gcGFnZVNpemVBbmRNYXJnaW5zSW5QaXhlbHMoaW50IHBhZ2VOdW1iZXIsIGlu
dCB3aWR0aCwgaW50IGhlaWdodCwgaW50IG1hcmdpblRvcCwgaW50IG1hcmdpblJpZ2h0LCBpbnQg
bWFyZ2luQm90dG9tLCBpbnQgbWFyZ2luTGVmdCkgY29uc3Q7Ci0gICAgYm9vbCBpc1BhZ2VCb3hW
aXNpYmxlKGludCBwYWdlTnVtYmVyKSBjb25zdDsKICAgICBKU1N0cmluZ1JlZiBwYXRoVG9Mb2Nh
bFJlc291cmNlKEpTQ29udGV4dFJlZiwgSlNTdHJpbmdSZWYgdXJsKTsKICAgICB2b2lkIHF1ZXVl
QmFja05hdmlnYXRpb24oaW50IGhvd0ZhckJhY2t3YXJkKTsKICAgICB2b2lkIHF1ZXVlRm9yd2Fy
ZE5hdmlnYXRpb24oaW50IGhvd0ZhckZvcndhcmQpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvYmxhY2tiZXJyeS9MYXlvdXRUZXN0Q29udHJvbGxlckJsYWNrQmVycnkuY3BwIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9MYXlvdXRUZXN0Q29udHJvbGxlckJsYWNr
QmVycnkuY3BwCmluZGV4IDRiOGQ2ZjYyOWQ3M2FlNzNjMDZjNjliNjRlOWQ5MDljMmRjODJjYzAu
LmJkMWE1YmQ2NmY1YWRjZTY2N2YyYTUxYjcwZTk0NTk2YWMzNGU2ZTQgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvTGF5b3V0VGVzdENvbnRyb2xsZXJCbGFja0Jl
cnJ5LmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0xheW91dFRlc3RD
b250cm9sbGVyQmxhY2tCZXJyeS5jcHAKQEAgLTU0OSwxMiArNTQ5LDYgQEAgaW50IExheW91dFRl
c3RDb250cm9sbGVyOjpudW1iZXJPZlBhZ2VzKGZsb2F0LCBmbG9hdCkKICAgICByZXR1cm4gLTE7
CiB9CiAKLWJvb2wgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmlzUGFnZUJveFZpc2libGUoaW50KSBj
b25zdAotewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCiB2
b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRTY3JvbGxiYXJQb2xpY3koSlNTdHJpbmdSZWYs
IEpTU3RyaW5nUmVmKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CmRpZmYgLS1naXQgYS9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAgYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKaW5kZXgg
NzM3ODE4MzBkZDE1ZGVhMDgwZDUzYzNjNWFjZjhjMmM4NDQxMDQ1YS4uOGJiNTMxOTExMDRkOTlj
OWQ4NDM1MzcyNzg4YzcyNjkyMmMzZTRlMiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmNwcApAQCAtMTM2LDcgKzEzNiw2
IEBAIExheW91dFRlc3RDb250cm9sbGVyOjpMYXlvdXRUZXN0Q29udHJvbGxlcihUZXN0U2hlbGwq
IHNoZWxsKQogICAgIGJpbmRNZXRob2QoImZpbmRTdHJpbmciLCAmTGF5b3V0VGVzdENvbnRyb2xs
ZXI6OmZpbmRTdHJpbmcpOwogICAgIGJpbmRNZXRob2QoImlzQ29tbWFuZEVuYWJsZWQiLCAmTGF5
b3V0VGVzdENvbnRyb2xsZXI6OmlzQ29tbWFuZEVuYWJsZWQpOwogICAgIGJpbmRNZXRob2QoImhh
c0N1c3RvbVBhZ2VTaXplU3R5bGUiLCAmTGF5b3V0VGVzdENvbnRyb2xsZXI6Omhhc0N1c3RvbVBh
Z2VTaXplU3R5bGUpOwotICAgIGJpbmRNZXRob2QoImlzUGFnZUJveFZpc2libGUiLCAmTGF5b3V0
VGVzdENvbnRyb2xsZXI6OmlzUGFnZUJveFZpc2libGUpOwogICAgIGJpbmRNZXRob2QoImxheWVy
VHJlZUFzVGV4dCIsICZMYXlvdXRUZXN0Q29udHJvbGxlcjo6bGF5ZXJUcmVlQXNUZXh0KTsKICAg
ICBiaW5kTWV0aG9kKCJsb3NlQ29tcG9zaXRvckNvbnRleHQiLCAmTGF5b3V0VGVzdENvbnRyb2xs
ZXI6Omxvc2VDb21wb3NpdG9yQ29udGV4dCk7CiAgICAgYmluZE1ldGhvZCgibWFya2VyVGV4dEZv
ckxpc3RJdGVtIiwgJkxheW91dFRlc3RDb250cm9sbGVyOjptYXJrZXJUZXh0Rm9yTGlzdEl0ZW0p
OwpAQCAtMTc5OCwxOCArMTc5Nyw2IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6Omhhc0N1
c3RvbVBhZ2VTaXplU3R5bGUoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiBhcmd1bWVuCiAgICAgcmVz
dWx0LT5zZXQoZnJhbWUtPmhhc0N1c3RvbVBhZ2VTaXplU3R5bGUocGFnZUluZGV4KSk7CiB9CiAK
LXZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmlzUGFnZUJveFZpc2libGUoY29uc3QgQ3BwQXJn
dW1lbnRMaXN0JiBhcmd1bWVudHMsIENwcFZhcmlhbnQqIHJlc3VsdCkKLXsKLSAgICByZXN1bHQt
PnNldE51bGwoKTsKLSAgICBpbnQgcGFnZU51bWJlciA9IDA7Ci0gICAgaWYgKCFwYXJzZVBhZ2VO
dW1iZXIoYXJndW1lbnRzLCAwLCAmcGFnZU51bWJlcikpCi0gICAgICAgIHJldHVybjsKLSAgICBX
ZWJGcmFtZSogZnJhbWUgPSBtX3NoZWxsLT53ZWJWaWV3KCktPm1haW5GcmFtZSgpOwotICAgIGlm
ICghZnJhbWUpCi0gICAgICAgIHJldHVybjsKLSAgICByZXN1bHQtPnNldChmcmFtZS0+aXNQYWdl
Qm94VmlzaWJsZShwYWdlTnVtYmVyKSk7Ci19Ci0KIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6
OnBhZ2VQcm9wZXJ0eShjb25zdCBDcHBBcmd1bWVudExpc3QmIGFyZ3VtZW50cywgQ3BwVmFyaWFu
dCogcmVzdWx0KQogewogICAgIHJlc3VsdC0+c2V0KCIiKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmggYi9Ub29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCmluZGV4IGU4Zjg3ZTZk
ODMwMzA4MmE4NjY2NjI1YWQzOGM1NTVmNWY1NzAzNTguLjczODNlY2ZiNTE4N2Q4NjczZDVlZjAz
YTE2OGYxZDUyMTA5MTNmN2IgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL0xheW91dFRlc3RDb250cm9sbGVyLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuaApAQCAtMzQwLDkgKzM0MCw2IEBAIHB1YmxpYzoK
ICAgICAvLyBwcmludGluZy4KICAgICB2b2lkIGhhc0N1c3RvbVBhZ2VTaXplU3R5bGUoY29uc3Qg
Q3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOwogCi0gICAgLy8gUmV0dXJucyB0aGUgdmlz
aWJpbGlsdHkgc3RhdHVzIG9mIGEgcGFnZSBib3ggZm9yIHByaW50aW5nCi0gICAgdm9pZCBpc1Bh
Z2VCb3hWaXNpYmxlKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKLQogICAg
IC8vIEdldHMgdGhlIHBhZ2UtcmVsYXRlZCBwcm9wZXJ0eSBmb3IgcHJpbnRlZCBjb250ZW50CiAg
ICAgdm9pZCBwYWdlUHJvcGVydHkoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCop
OwogCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvTGF5b3V0VGVzdENvbnRy
b2xsZXJFZmwuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0xheW91dFRlc3RDb250cm9s
bGVyRWZsLmNwcAppbmRleCAxZGU3ZGRiY2MzZWYyMDZlZDgxM2FlMGZlM2EzZTIwN2RhNmQ3M2U2
Li40YTE3MzRiNGUyNjU0MDc3NmFiYjkzMzEyZDU1ZTM2YzE1Y2JmMjZlIDEwMDY0NAotLS0gYS9U
b29scy9EdW1wUmVuZGVyVHJlZS9lZmwvTGF5b3V0VGVzdENvbnRyb2xsZXJFZmwuY3BwCisrKyBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9MYXlvdXRUZXN0Q29udHJvbGxlckVmbC5jcHAKQEAg
LTE0MiwxMSArMTQyLDYgQEAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IExheW91dFRlc3RDb250
cm9sbGVyOjpwYWdlUHJvcGVydHkoY29uc3QgY2hhciogcHJvcGVydHkKICAgICByZXR1cm4gcHJv
cGVydHlWYWx1ZTsKIH0KIAotYm9vbCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6aXNQYWdlQm94Vmlz
aWJsZShpbnQgcGFnZUluZGV4KSBjb25zdAotewotICAgIHJldHVybiBEdW1wUmVuZGVyVHJlZVN1
cHBvcnRFZmw6OmlzUGFnZUJveFZpc2libGUoYnJvd3Nlci0+bWFpbkZyYW1lKCksIHBhZ2VJbmRl
eCk7Ci19Ci0KIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBMYXlvdXRUZXN0Q29udHJvbGxlcjo6
cGFnZVNpemVBbmRNYXJnaW5zSW5QaXhlbHMoaW50IHBhZ2VOdW1iZXIsIGludCB3aWR0aCwgaW50
IGhlaWdodCwgaW50IG1hcmdpblRvcCwgaW50IG1hcmdpblJpZ2h0LCBpbnQgbWFyZ2luQm90dG9t
LCBpbnQgbWFyZ2luTGVmdCkgY29uc3QKIHsKICAgICBTdHJpbmcgcGFnZVNpemVBbmRNYXJnaW5z
ID0gRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsOjpwYWdlU2l6ZUFuZE1hcmdpbnNJblBpeGVscyhi
cm93c2VyLT5tYWluRnJhbWUoKSwgcGFnZU51bWJlciwgd2lkdGgsIGhlaWdodCwgbWFyZ2luVG9w
LCBtYXJnaW5SaWdodCwgbWFyZ2luQm90dG9tLCBtYXJnaW5MZWZ0KTsKZGlmZiAtLWdpdCBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHAgYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsuY3BwCmluZGV4IGYw
NGE2ODIxMTNjMDdjNmQ0MjYwY2MzYmM2NGUxYmNiOTBmNWFlYjAuLmRlODBjNzUwYmI5MmQ2YjVj
NWExNjM5N2IwZTg1Y2M2MjM5OTMxNDIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvZ3RrL0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcApAQCAtMTQ5LDExICsxNDksNiBAQCBK
U1JldGFpblB0cjxKU1N0cmluZ1JlZj4gTGF5b3V0VGVzdENvbnRyb2xsZXI6OnBhZ2VQcm9wZXJ0
eShjb25zdCBjaGFyKiBwcm9wZXJ0eQogICAgIHJldHVybiBwcm9wZXJ0eVZhbHVlOwogfQogCi1i
b29sIExheW91dFRlc3RDb250cm9sbGVyOjppc1BhZ2VCb3hWaXNpYmxlKGludCBwYWdlTnVtYmVy
KSBjb25zdAotewotICAgIHJldHVybiBEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6OmlzUGFnZUJv
eFZpc2libGUobWFpbkZyYW1lLCBwYWdlTnVtYmVyKTsKLX0KLQogSlNSZXRhaW5QdHI8SlNTdHJp
bmdSZWY+IExheW91dFRlc3RDb250cm9sbGVyOjpwYWdlU2l6ZUFuZE1hcmdpbnNJblBpeGVscyhp
bnQgcGFnZU51bWJlciwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgbWFyZ2luVG9wLCBpbnQg
bWFyZ2luUmlnaHQsIGludCBtYXJnaW5Cb3R0b20sIGludCBtYXJnaW5MZWZ0KSBjb25zdAogewog
ICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBwcm9wZXJ0eVZhbHVlKEFkb3B0LCBKU1N0cmlu
Z0NyZWF0ZVdpdGhVVEY4Q1N0cmluZyhEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6OnBhZ2VTaXpl
QW5kTWFyZ2luc0luUGl4ZWxzKG1haW5GcmFtZSwgcGFnZU51bWJlciwgd2lkdGgsIGhlaWdodCwg
bWFyZ2luVG9wLCBtYXJnaW5SaWdodCwgbWFyZ2luQm90dG9tLCBtYXJnaW5MZWZ0KS5kYXRhKCkp
KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9MYXlvdXRUZXN0Q29udHJv
bGxlck1hYy5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9MYXlvdXRUZXN0Q29udHJvbGxl
ck1hYy5tbQppbmRleCA0ZjIxMmYzNWY4MDQ2NzY1Zjc0MTc4NDU5NzM0OWM2OGJhYjQwNGNkLi43
OWMzNjNjZjdmMzViMzMwMTk1NGU2NzU4ZTFlYmNhM2ExNDJjN2ZmIDEwMDY0NAotLS0gYS9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9tYWMvTGF5b3V0VGVzdENvbnRyb2xsZXJNYWMubW0KKysrIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVyTWFjLm1tCkBAIC0zMTAs
MTEgKzMxMCw2IEBAIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBMYXlvdXRUZXN0Q29udHJvbGxl
cjo6cGFnZVByb3BlcnR5KGNvbnN0IGNoYXIqIHByb3BlcnR5CiAgICAgcmV0dXJuIHByb3BlcnR5
VmFsdWU7CiB9CiAKLWJvb2wgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmlzUGFnZUJveFZpc2libGUo
aW50IHBhZ2VOdW1iZXIpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIFttYWluRnJhbWUgaXNQYWdlQm94
VmlzaWJsZTpwYWdlTnVtYmVyXTsKLX0KLQogSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IExheW91
dFRlc3RDb250cm9sbGVyOjpwYWdlU2l6ZUFuZE1hcmdpbnNJblBpeGVscyhpbnQgcGFnZU51bWJl
ciwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgbWFyZ2luVG9wLCBpbnQgbWFyZ2luUmlnaHQs
IGludCBtYXJnaW5Cb3R0b20sIGludCBtYXJnaW5MZWZ0KSBjb25zdAogewogICAgIEpTUmV0YWlu
UHRyPEpTU3RyaW5nUmVmPiBwcm9wZXJ0eVZhbHVlKEFkb3B0LCBKU1N0cmluZ0NyZWF0ZVdpdGhD
RlN0cmluZygoQ0ZTdHJpbmdSZWYpW21haW5GcmFtZSBwYWdlU2l6ZUFuZE1hcmdpbnNJblBpeGVs
czpwYWdlTnVtYmVyOndpZHRoOmhlaWdodDptYXJnaW5Ub3A6bWFyZ2luUmlnaHQ6bWFyZ2luQm90
dG9tOm1hcmdpbkxlZnRdKSk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9M
YXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91
dFRlc3RDb250cm9sbGVyUXQuY3BwCmluZGV4IGE4NjZmMDk5MDU1MTU2ZGQ3Mzk1YzczODIwMzdj
ZTlhM2U1NDM2NDQuLjQ2NGFjNTM4MmY2MTFlMjQ4YWY1YjkwMjJiZmIyZjM1MWM4MDY5MjggMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQu
Y3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQu
Y3BwCkBAIC05MjAsMTEgKzkyMCw2IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmV2YWx1
YXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxkKGludCB3b3JsZElELCBjb25zdCBRU3RyCiAgICAgRHVt
cFJlbmRlclRyZWVTdXBwb3J0UXQ6OmV2YWx1YXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxkKG1fZHJ0
LT53ZWJQYWdlKCktPm1haW5GcmFtZSgpLCB3b3JsZElELCBzY3JpcHQpOwogfQogCi1ib29sIExh
eW91dFRlc3RDb250cm9sbGVyOjppc1BhZ2VCb3hWaXNpYmxlKGludCBwYWdlSW5kZXgpCi17Ci0g
ICAgcmV0dXJuIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Ojppc1BhZ2VCb3hWaXNpYmxlKG1fZHJ0
LT53ZWJQYWdlKCktPm1haW5GcmFtZSgpLCBwYWdlSW5kZXgpOwotfQotCiBRU3RyaW5nIExheW91
dFRlc3RDb250cm9sbGVyOjpwYWdlU2l6ZUFuZE1hcmdpbnNJblBpeGVscyhpbnQgcGFnZUluZGV4
LCBpbnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBtYXJnaW5Ub3AsIGludCBtYXJnaW5SaWdodCwg
aW50IG1hcmdpbkJvdHRvbSwgaW50IG1hcmdpbkxlZnQpCiB7CiAgICAgcmV0dXJuIER1bXBSZW5k
ZXJUcmVlU3VwcG9ydFF0OjpwYWdlU2l6ZUFuZE1hcmdpbnNJblBpeGVscyhtX2RydC0+d2ViUGFn
ZSgpLT5tYWluRnJhbWUoKSwgcGFnZUluZGV4LApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
cXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oCmluZGV4IDdhN2U5NTJmZTA3NzBhNTAzNWFiNzcw
MDY1MDg3OGQ4NWZlN2RmYjEuLjljYWEzYTlmOWJhOWI4OTRlMjI3N2Y2MzA5ZGRlMDg1OWFiN2Vk
NjcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9s
bGVyUXQuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxl
clF0LmgKQEAgLTI2Myw3ICsyNjMsNiBAQCBwdWJsaWMgc2xvdHM6CiAKICAgICB2b2lkIGV2YWx1
YXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxkQW5kUmV0dXJuVmFsdWUoaW50IHdvcmxkSUQsIGNvbnN0
IFFTdHJpbmcmIHNjcmlwdCk7CiAgICAgdm9pZCBldmFsdWF0ZVNjcmlwdEluSXNvbGF0ZWRXb3Js
ZChpbnQgd29ybGRJRCwgY29uc3QgUVN0cmluZyYgc2NyaXB0KTsKLSAgICBib29sIGlzUGFnZUJv
eFZpc2libGUoaW50IHBhZ2VJbmRleCk7CiAgICAgUVN0cmluZyBwYWdlU2l6ZUFuZE1hcmdpbnNJ
blBpeGVscyhpbnQgcGFnZUluZGV4LCBpbnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBtYXJnaW5U
b3AsIGludCBtYXJnaW5SaWdodCwgaW50IG1hcmdpbkJvdHRvbSwgaW50IG1hcmdpbkxlZnQpOwog
ICAgIFFTdHJpbmcgcGFnZVByb3BlcnR5KGNvbnN0IFFTdHJpbmcmIHByb3BlcnR5TmFtZSwgaW50
IHBhZ2VOdW1iZXIpOwogICAgIHZvaWQgYWRkVXNlclN0eWxlU2hlZXQoY29uc3QgUVN0cmluZyYg
c291cmNlQ29kZSk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0
VGVzdENvbnRyb2xsZXJXaW4uY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0xheW91dFRl
c3RDb250cm9sbGVyV2luLmNwcAppbmRleCAzNDI5NDYzZjgwYjgwMzFkYTkxNWFlMTBhMGJlYTU0
MjdmOTdlYTc3Li44ZDYwZGZjYTUxMzA5MWMwYzBmZGYwMDU5M2YzY2Q2MzA4MjM4MWZlIDEwMDY0
NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0VGVzdENvbnRyb2xsZXJXaW4u
Y3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldp
bi5jcHAKQEAgLTEzOTMsMTIgKzEzOTMsNiBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjph
cGlUZXN0TmV3V2luZG93RGF0YUxvYWRCYXNlVVJMKEpTU3RyaW5nUmVmIHV0ZjhEYXRhLAogCiB9
CiAKLWJvb2wgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmlzUGFnZUJveFZpc2libGUoaW50IHBhZ2VO
dW1iZXIpIGNvbnN0Ci17Ci0gICAgLy8gRklYTUU6IGltcGxlbWVudAotICAgIHJldHVybiBmYWxz
ZTsKLX0KLQogSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IExheW91dFRlc3RDb250cm9sbGVyOjpw
YWdlU2l6ZUFuZE1hcmdpbnNJblBpeGVscyhpbnQgcGFnZU51bWJlciwgaW50IHdpZHRoLCBpbnQg
aGVpZ2h0LCBpbnQgbWFyZ2luVG9wLCBpbnQgbWFyZ2luUmlnaHQsIGludCBtYXJnaW5Cb3R0b20s
IGludCBtYXJnaW5MZWZ0KSBjb25zdAogewogICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQKZGlmZiAt
LWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3d4L0xheW91dFRlc3RDb250cm9sbGVyV3guY3Bw
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xsZXJXeC5jcHAKaW5k
ZXggZjY1NTMxYTBjMDIxM2NiZDE2OWRmYTY5MGE0MDQ1YzVhY2I2NjZiMC4uYzNhNDNkMjMyYjNl
YTdlYjhlMDI1NGZlMTYzNGQ3OWE5MDg0MzZkMCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xsZXJXeC5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xsZXJXeC5jcHAKQEAgLTU2NiwxMiArNTY2LDYgQEAg
SlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IExheW91dFRlc3RDb250cm9sbGVyOjpwYWdlUHJvcGVy
dHkoY29uc3QgY2hhciogcHJvcGVydHkKICAgICByZXR1cm4gMDsKIH0KIAotYm9vbCBMYXlvdXRU
ZXN0Q29udHJvbGxlcjo6aXNQYWdlQm94VmlzaWJsZShpbnQgcGFnZU51bWJlcikgY29uc3QKLXsK
LSAgICAvLyBGSVhNRTogSW1wbGVtZW50Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KIEpTUmV0YWlu
UHRyPEpTU3RyaW5nUmVmPiBMYXlvdXRUZXN0Q29udHJvbGxlcjo6cGFnZVNpemVBbmRNYXJnaW5z
SW5QaXhlbHMoaW50IHBhZ2VOdW1iZXIsIGludCB3aWR0aCwgaW50IGhlaWdodCwgaW50IG1hcmdp
blRvcCwgaW50IG1hcmdpblJpZ2h0LCBpbnQgbWFyZ2luQm90dG9tLCBpbnQgbWFyZ2luTGVmdCkg
Y29uc3QKIHsKICAgICAvLyBGSVhNRTogSW1wbGVtZW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMWYxNjNjMmE0MGVjYmUw
N2EwODk5MGI2MGQ0MTMyMjdkMjIxZmMwNi4uYTMzN2I5YmE5MGE2ZjAyZWMyYWExNjc3OGY1YmM5
NGRjMDAxN2Y2NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA1LTA0ICBHeXV5b3VuZyBL
aW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgQ29udmVydCBpc1BhZ2VC
b3hWaXNpYmxlIHRvIHVzZSBJbnRlcm5hbHMgaW50ZXJmYWNlLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODU2OTIKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDYWxsIGlzUGFnZUJveFZpc2libGUgZnVuY3Rp
b25zIGZyb20gaW50ZXJuYWxzLCBiZWNhdXNlIGl0IGlzIGFibGUgdG8gd29yayBpbiB0aGUKKyAg
ICAgICAgY3Jvc3MtcG9ydCB3YXkgdGhyb3VnaCB0aGUgSW50ZXJuYWxzIGludGVyZmFjZS4KKwor
ICAgICAgICAqIHByaW50aW5nL3BhZ2UtZm9ybWF0LWRhdGEtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHByaW50aW5nL3BhZ2UtZm9ybWF0LWRhdGEuaHRtbDoKKwogMjAxMi0wNS0wNCAgRW5yaWNh
IENhc3VjY2kgIDxlbnJpY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT046IEN1cnNv
ciBqdW1wcyB0byB0aGUgZmlyc3QgbGluZSBhZnRlciBkZWxldGluZyB0aGUgbGFzdCB3b3JkLgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcHJpbnRpbmcvcGFnZS1mb3JtYXQtZGF0YS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9wcmludGluZy9wYWdlLWZvcm1hdC1kYXRhLWV4cGVjdGVkLnR4
dAppbmRleCBkNjYyYmQ5OGM5NWQxYjE0ZDJhMzFiMWQ0MzUzMjRmMzEzMjczYzM3Li41NGRkYWVh
NmFmMjUyMjgzMWY1Y2I2NmE0ZGZkMGMwMmI1OTBhMTUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wcmludGluZy9wYWdlLWZvcm1hdC1kYXRhLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9wcmludGluZy9wYWdlLWZvcm1hdC1kYXRhLWV4cGVjdGVkLnR4dApAQCAtNCwxNSArNCwxNSBA
QCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiAKIFRlc3QgZGVmYXVsdCB2aXNpYmlsaXR5Ci1Q
QVNTIGxheW91dFRlc3RDb250cm9sbGVyLmlzUGFnZUJveFZpc2libGUoMCkgaXMgdHJ1ZQorUEFT
UyBpbnRlcm5hbHMuaXNQYWdlQm94VmlzaWJsZShkb2N1bWVudCwgMCkgaXMgdHJ1ZQogVGVzdCBk
aXNwbGF5OiBub25lLiBkaXNwbGF5IHByb3BlcnR5IGRvZXNuJ3QgYXBwbHkgdG8gQHBhZ2UKLVBB
U1MgbGF5b3V0VGVzdENvbnRyb2xsZXIuaXNQYWdlQm94VmlzaWJsZSgwKSBpcyB0cnVlCitQQVNT
IGludGVybmFscy5pc1BhZ2VCb3hWaXNpYmxlKGRvY3VtZW50LCAwKSBpcyB0cnVlCiBUZXN0IGRp
c3BsYXk6IGlubGluZS4gZGlzcGxheSBwcm9wZXJ0eSBkb2Vzbid0IGFwcGx5IHRvIEBwYWdlCi1Q
QVNTIGxheW91dFRlc3RDb250cm9sbGVyLmlzUGFnZUJveFZpc2libGUoMCkgaXMgdHJ1ZQorUEFT
UyBpbnRlcm5hbHMuaXNQYWdlQm94VmlzaWJsZShkb2N1bWVudCwgMCkgaXMgdHJ1ZQogVGVzdCB2
aXNpYmlsaXR5OiBoaWRkZW4KLVBBU1MgbGF5b3V0VGVzdENvbnRyb2xsZXIuaXNQYWdlQm94Vmlz
aWJsZSgwKSBpcyBmYWxzZQorUEFTUyBpbnRlcm5hbHMuaXNQYWdlQm94VmlzaWJsZShkb2N1bWVu
dCwgMCkgaXMgZmFsc2UKIFRlc3QgdmlzaWJpbGl0eTogdmlzaWJsZQotUEFTUyBsYXlvdXRUZXN0
Q29udHJvbGxlci5pc1BhZ2VCb3hWaXNpYmxlKDApIGlzIHRydWUKK1BBU1MgaW50ZXJuYWxzLmlz
UGFnZUJveFZpc2libGUoZG9jdW1lbnQsIDApIGlzIHRydWUKIAogVGVzdCBkZWZhdWx0IHBhZ2Ug
c2l6ZQogUEFTUyBsYXlvdXRUZXN0Q29udHJvbGxlci5wYWdlU2l6ZUFuZE1hcmdpbnNJblBpeGVs
cygwLCAxMDAsIDIwMCwgMSwgMiwgMywgNCkgaXMgJygxMDAsIDIwMCknICsgcHhNYXJnaW5zKDEs
IDIsIDMsIDQpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wcmludGluZy9wYWdlLWZvcm1hdC1k
YXRhLmh0bWwgYi9MYXlvdXRUZXN0cy9wcmludGluZy9wYWdlLWZvcm1hdC1kYXRhLmh0bWwKaW5k
ZXggNWU5MGQ3YzYxZDVmY2RmNTY0MWQ4NzI5ZWI4M2MxYjA2N2NiNTA0OC4uN2IzZGUwYjRiY2Iy
MjQ1ZTUxYmY0ZjcxODhkYzExNmM2NzE5MjIzOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcHJp
bnRpbmcvcGFnZS1mb3JtYXQtZGF0YS5odG1sCisrKyBiL0xheW91dFRlc3RzL3ByaW50aW5nL3Bh
Z2UtZm9ybWF0LWRhdGEuaHRtbApAQCAtMzksMjMgKzM5LDIzIEBACiAgICAgICAgIC8vIFBhZ2Ug
Ym94IHZpc2liaWxpdHkgdGVzdHMuCiAKICAgICAgICAgZGVidWcoIlRlc3QgZGVmYXVsdCB2aXNp
YmlsaXR5Iik7Ci0gICAgICAgIHNob3VsZEJlKCJsYXlvdXRUZXN0Q29udHJvbGxlci5pc1BhZ2VC
b3hWaXNpYmxlKDApIiwgInRydWUiKTsKKyAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5pc1Bh
Z2VCb3hWaXNpYmxlKGRvY3VtZW50LCAwKSIsICJ0cnVlIik7CiAKICAgICAgICAgZGVidWcoIlRl
c3QgZGlzcGxheTogbm9uZS4gZGlzcGxheSBwcm9wZXJ0eSBkb2Vzbid0IGFwcGx5IHRvIEBwYWdl
Iik7CiAgICAgICAgIGFwcGVuZFN0eWxlKCJAcGFnZSB7ZGlzcGxheTpub25lO30iKTsKLSAgICAg
ICAgc2hvdWxkQmUoImxheW91dFRlc3RDb250cm9sbGVyLmlzUGFnZUJveFZpc2libGUoMCkiLCAi
dHJ1ZSIpOworICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLmlzUGFnZUJveFZpc2libGUoZG9j
dW1lbnQsIDApIiwgInRydWUiKTsKIAogICAgICAgICBkZWJ1ZygiVGVzdCBkaXNwbGF5OiBpbmxp
bmUuIGRpc3BsYXkgcHJvcGVydHkgZG9lc24ndCBhcHBseSB0byBAcGFnZSIpOwogICAgICAgICBh
cHBlbmRTdHlsZSgiQHBhZ2Uge2Rpc3BsYXk6aW5saW5lO30iKTsKLSAgICAgICAgc2hvdWxkQmUo
ImxheW91dFRlc3RDb250cm9sbGVyLmlzUGFnZUJveFZpc2libGUoMCkiLCAidHJ1ZSIpOworICAg
ICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLmlzUGFnZUJveFZpc2libGUoZG9jdW1lbnQsIDApIiwg
InRydWUiKTsKIAogICAgICAgICBkZWJ1ZygiVGVzdCB2aXNpYmlsaXR5OiBoaWRkZW4iKTsKICAg
ICAgICAgYXBwZW5kU3R5bGUoIkBwYWdlIHt2aXNpYmlsaXR5OmhpZGRlbjt9Iik7Ci0gICAgICAg
IHNob3VsZEJlKCJsYXlvdXRUZXN0Q29udHJvbGxlci5pc1BhZ2VCb3hWaXNpYmxlKDApIiwgImZh
bHNlIik7CisgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMuaXNQYWdlQm94VmlzaWJsZShkb2N1
bWVudCwgMCkiLCAiZmFsc2UiKTsKIAogICAgICAgICBkZWJ1ZygiVGVzdCB2aXNpYmlsaXR5OiB2
aXNpYmxlIik7CiAgICAgICAgIGFwcGVuZFN0eWxlKCJAcGFnZSB7dmlzaWJpbGl0eTp2aXNpYmxl
O30iKTsKLSAgICAgICAgc2hvdWxkQmUoImxheW91dFRlc3RDb250cm9sbGVyLmlzUGFnZUJveFZp
c2libGUoMCkiLCAidHJ1ZSIpOworICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLmlzUGFnZUJv
eFZpc2libGUoZG9jdW1lbnQsIDApIiwgInRydWUiKTsKIAogICAgICAgICBkZWJ1ZygiIik7CiAK
ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBiYWQ1Yjk3ZjY2NzdlZWFh
MGIzNzE3YWNkMjI1NTY3MzYxNDk4MTljLi4yOWNkYjBiZjc3MmVkOWRmNjEzNTg1MTdmNjJhNmUy
Yzc1MzZhZjBkIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTIgQEAKKzIwMTItMDUtMDQgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5n
LmNvbT4KKworICAgICAgICBDb252ZXJ0IGlzUGFnZUJveFZpc2libGUgdG8gdXNlIEludGVybmFs
cyBpbnRlcmZhY2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04NTY5MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcjogQWRkIGlzUGFnZUJveFZpc2li
bGUgc3ltYm9sIGZpbHRlci4KKwogMjAxMi0wNS0wNCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFw
cGxlLmNvbT4KIAogICAgICAgICBGbGFzaCBvZiB3aGl0ZSB3aGVuIGV4aXRpbmcgZnVsbCBzY3Jl
ZW4gSFRNTDUgdmlkZW8K
</data>

          </attachment>
      

    </bug>

</bugzilla>