<?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>120392</bug_id>
          
          <creation_ts>2013-08-27 21:53:42 -0700</creation_ts>
          <short_desc>Eliminate Pasteboard::generalPasteboard</short_desc>
          <delta_ts>2013-08-28 08:29:02 -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>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>120367</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gtk-ews</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>921834</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-08-27 21:53:42 -0700</bug_when>
    <thetext>Eliminate Pasteboard::generalPasteboard</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>921836</commentid>
    <comment_count>1</comment_count>
      <attachid>209847</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-08-27 22:01:14 -0700</bug_when>
    <thetext>Created attachment 209847
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>921844</commentid>
    <comment_count>2</comment_count>
      <attachid>209847</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2013-08-27 22:46:15 -0700</bug_when>
    <thetext>Comment on attachment 209847
Patch

Attachment 209847 did not pass gtk-wk2-ews (gtk-wk2):
Output: http://webkit-queues.appspot.com/results/1626139</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>922010</commentid>
    <comment_count>3</comment_count>
      <attachid>209888</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-08-28 07:56:31 -0700</bug_when>
    <thetext>Created attachment 209888
Patch (fix gtk-webkit2 build)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>922018</commentid>
    <comment_count>4</comment_count>
      <attachid>209888</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-08-28 08:28:59 -0700</bug_when>
    <thetext>Comment on attachment 209888
Patch (fix gtk-webkit2 build)

Clearing flags on attachment: 209888

Committed r154750: &lt;http://trac.webkit.org/changeset/154750&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>922019</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-08-28 08:29:02 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>209847</attachid>
            <date>2013-08-27 22:01:14 -0700</date>
            <delta_ts>2013-08-28 07:56:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-120392-20130827220113.patch</filename>
            <type>text/plain</type>
            <size>27150</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0NzIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmNlOTNkNDg5ZDliMDg5
ZmNmZWFmNmRlYTU3ZTljYmIwNmFkYmY1Ny4uMTZjMzVhMGMxMjg2NmY2OWJlNGViOTQ3M2ExYzRj
NGFlNzRhYzdhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDEzLTA4LTI3ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBFbGltaW5hdGUgUGFzdGVib2Fy
ZDo6Z2VuZXJhbFBhc3RlYm9hcmQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEyMDM5MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46IFJlbW92ZWQgdGhlIGdlbmVyYWxQYXN0ZWJv
YXJkIGZ1bmN0aW9uLgorICAgICAgICBJdCBkaWRuJ3QgbmVlZCB0byBiZSBleHBvcnRlZCwgYmVj
YXVzZSBubyBvbmUgd2FzIHVzaW5nIGl0LgorCisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9yOjpwYXN0ZSk6IEFkZGVkIGFuIG92ZXJsb2FkIHRo
YXQgdGFrZXMgYSBQYXN0ZWJvYXJkLgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9yOjpjb3B5VVJM
KTogRGl0dG8uCisgICAgICAgICogZWRpdGluZy9FZGl0b3IuaDogQWRkZWQgb3ZlcmxvYWRzLgor
CisgICAgICAgICogZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OmV4ZWN1dGVQYXN0ZUdsb2JhbFNlbGVjdGlvbik6IFB1dCB0aGlzIGZ1bmN0aW9uIGluc2lkZSB0
aGUgc2FtZQorICAgICAgICBwbGF0Zm9ybSAjaWYgdGhhdCB0aGUgZ2xvYmFsIHNlbGVjdGlvbiBj
b2RlIGluIHRoZSBQYXN0ZWJvYXJkIGNsYXNzIHdhcyBpbi4KKyAgICAgICAgQ2hhbmdlZCB0byB1
c2UgUGFzdGVib2FyZDo6Y3JlYXRlRm9yR2xvYmFsU2VsZWN0aW9uIGluc3RlYWQgb2YgdXNpbmcg
dGhlCisgICAgICAgIFBhc3RlYm9hcmQ6OnNldFNlbGVjdGlvbk1vZGUgYXBwcm9hY2guCisgICAg
ICAgIChXZWJDb3JlOjpjcmVhdGVDb21tYW5kTWFwKTogUHV0IFBhc3RlR2xvYmFsU2VsZWN0aW9u
IGluc2lkZSB0aGUgcGxhdGZvcm0gI2lmLgorCisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVk
U2NyaXB0SG9zdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdEhvc3Q6OmNv
cHlUZXh0KTogVXNlIFBhc3RlYm9hcmQ6OmNyZWF0ZUZvckNvcHlBbmRQYXN0ZSgpCisgICAgICAg
IGluc3RlYWQgb2YgUGFzdGVib2FyZDo6Z2VuZXJhbFBhc3RlYm9hcmQoKS4KKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3RvckZyb250ZW5kSG9zdDo6Y29weVRleHQpOiBEaXR0by4KKworICAgICAgICAqIHBsYXRm
b3JtL1Bhc3RlYm9hcmQuaDogUmVtb3ZlZCBnZW5lcmFsUGFzdGVib2FyZC4gUmVwbGFjZWQgaXNT
ZWxlY3Rpb25Nb2RlCisgICAgICAgIGFuZCBzZXRTZWxlY3Rpb25Nb2RlIHdpdGggY3JlYXRlRm9y
R2xvYmFsU2VsZWN0aW9uLgorCisgICAgICAgICogcGxhdGZvcm0vYmxhY2tiZXJyeS9QYXN0ZWJv
YXJkQmxhY2tCZXJyeS5jcHA6IERlbGV0ZWQgZ2VuZXJhbFBhc3RlYm9hcmQuCisgICAgICAgICog
cGxhdGZvcm0vZWZsL1Bhc3RlYm9hcmRFZmwuY3BwOiBEZWxldGVkIGdlbmVyYWxQYXN0ZWJvYXJk
LgorCisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Bhc3RlYm9hcmRHdGsuY3BwOiBEZWxldGVkIHNl
bGVjdGlvbkNsaXBib2FyZCwgcHJpbWFyeUNsaXBib2FyZCwKKyAgICAgICAgZ2VuZXJhbFBhc3Rl
Ym9hcmQsIGlzU2VsZWN0aW9uTW9kZSwgYW5kIHNldFNlbGVjdGlvbk1vZGUuCisgICAgICAgIChX
ZWJDb3JlOjpQYXN0ZWJvYXJkOjpjcmVhdGVGb3JHbG9iYWxTZWxlY3Rpb24pOiBBZGRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9ndGsvUGFzdGVib2FyZEhlbHBlci5jcHA6IERlbGV0ZWQgbV91c2VQ
cmltYXJ5U2VsZWN0aW9uQ2xpcGJvYXJkLAorICAgICAgICBnZXRDdXJyZW50Q2xpcGJvYXJkLCBn
ZXRDbGlwYm9hcmQsIGFuZCBnZXRQcmltYXJ5U2VsZWN0aW9uQ2xpcGJvYXJkLgorICAgICAgICAq
IHBsYXRmb3JtL2d0ay9QYXN0ZWJvYXJkSGVscGVyLmg6IERlbGV0ZWQgdGhlIGFib3ZlLCBwbHVz
CisgICAgICAgIHNldFVzZVByaW1hcnlTZWxlY3Rpb25DbGlwYm9hcmQgYW5kIHVzZVByaW1hcnlT
ZWxlY3Rpb25DbGlwYm9hcmQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvUGFzdGVib2FyZElP
Uy5tbTogRGVsZXRlZCBnZW5lcmFsUGFzdGVib2FyZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
UGFzdGVib2FyZE1hYy5tbTogRGVsZXRlZCBnZW5lcmFsUGFzdGVib2FyZC4KKworICAgICAgICAq
IHBsYXRmb3JtL3F0L1Bhc3RlYm9hcmRRdC5jcHA6IERlbGV0ZWQgZ2VuZXJhbFBhc3RlYm9hcmQs
IGlzU2VsZWN0aW9uTW9kZSwKKyAgICAgICAgYW5kIHNldFNlbGVjdGlvbk1vZGUuCisgICAgICAg
IChXZWJDb3JlOjpQYXN0ZWJvYXJkOjpjcmVhdGVGb3JHbG9iYWxTZWxlY3Rpb24pOiBBZGRlZC4K
KworICAgICAgICAqIHBsYXRmb3JtL3dpbi9QYXN0ZWJvYXJkV2luLmNwcDogRGVsZXRlZCBnZW5l
cmFsUGFzdGVib2FyZC4KKwogMjAxMy0wOC0yNiAgQW50b25pbyBHb21lcyAgPGExLmdvbWVzQHNp
c2Euc2Ftc3VuZy5jb20+CiAKICAgICAgICAgU2Nyb2xsaW5nIGFsbG93ZWQgd2hlbiBvdmVyZmxv
dzpoaWRkZW4gKHNlZW4gb24gQWNpZDIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDNhOWYyNzUwM2FiMGZi
MDRkMmU1NzJjYmQ3ODgzOWJmYWZiM2M3NGUuLjJlZTEyZjU4YmIyZmFmOWY0OWVkYTE3ZGE2ZTNk
OTQwZjU3NTI4MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTMtMDgtMjcg
IERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIEVsaW1pbmF0ZSBQYXN0
ZWJvYXJkOjpnZW5lcmFsUGFzdGVib2FyZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTIwMzkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRRdC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpFZGl0b3JDbGllbnRRdDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlv
bik6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvUVdlYlBhZ2VBZGFwdGVyLmNwcDoKKyAgICAg
ICAgKFFXZWJQYWdlQWRhcHRlcjo6dHJpZ2dlckFjdGlvbik6CisgICAgICAgIFVzZSBjcmVhdGVG
b3JHbG9iYWxTZWxlY3Rpb24gaW5zdGVhZCBvZiBnZW5lcmFsUGFzdGVib2FyZCBhbmQgc2V0U2Vs
ZWN0aW9uTW9kZS4KKwogMjAxMy0wOC0yNyAgQXJ1bnByYXNhZCBSYWprdW1hciAgPGFydXJhamt1
QGNpc2NvLmNvbT4KIAogICAgICAgICBbUXRdIExldCBQYWdlIGNyZWF0ZSB0aGUgbWFpbiBGcmFt
ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwppbmRleCA2NzUwZTRlNTAxOTJlYmJiZDUzMmY1YWE2YzIzMzNmOGQwMTU1MmVk
Li43Nzk4MDQ5MzI5MTRmMzMyNTkxYjUyZTk0ZmY5Y2VkNWRiZjIxMmJmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMTMtMDgtMjcgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29t
PgorCisgICAgICAgIEVsaW1pbmF0ZSBQYXN0ZWJvYXJkOjpnZW5lcmFsUGFzdGVib2FyZAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIwMzkyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YkVkaXRvckNsaWVudDo6dXBkYXRlR2xvYmFsU2VsZWN0aW9uKToKKyAgICAgICAgVXNlIGNyZWF0
ZUZvckdsb2JhbFNlbGVjdGlvbiBpbnN0ZWFkIG9mIGdlbmVyYWxQYXN0ZWJvYXJkIGFuZCBzZXRT
ZWxlY3Rpb25Nb2RlLgorCiAyMDEzLTA4LTI3ICBMdWNpYW5vIFdvbGYgIDxsdWNpYW5vLndvbGZA
b3BlbmJvc3NhLm9yZz4KIAogICAgICAgICAxMDAlIGNwdSB1c2FnZSBmb3IgInRyYW5zaXRpb246
IG9wYWNpdHkiIGFuaW1hdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5l
eHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCA5OTE4OWI3NjkzNmY1
Y2VlOWUyMzc5YTFkYzFkYmVkNzQzMWE4MzIwLi5lMzI4ZDE0OTJkNTM0MjBjMjZmYjI1OGUzOGJj
ZjFjNzdmNWJkYjUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgor
KysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtNzksNyArNzksNiBAQCBfX1pO
N1dlYkNvcmUxMEpTRG9jdW1lbnQ2c19pbmZvRQogX19aTjdXZWJDb3JlMTBNb3VzZUV2ZW50NmNy
ZWF0ZUVSS04zV1RGMTJBdG9taWNTdHJpbmdFTlMxXzEwUGFzc1JlZlB0cklOU185RE9NV2luZG93
RUVFUktOU18xOFBsYXRmb3JtTW91c2VFdmVudEVpTlM1X0lOU180Tm9kZUVFRQogX19aTjdXZWJD
b3JlMTBNb3VzZUV2ZW50NmNyZWF0ZUVSS04zV1RGMTJBdG9taWNTdHJpbmdFYmJkTlMxXzEwUGFz
c1JlZlB0cklOU185RE9NV2luZG93RUVFaWlpaWliYmJidE5TNV9JTlNfMTFFdmVudFRhcmdldEVF
RU5TNV9JTlNfOUNsaXBib2FyZEVFRWIKIF9fWk43V2ViQ29yZTEwUGFzdGVib2FyZDE0d3JpdGVQ
bGFpblRleHRFUktOM1dURjZTdHJpbmdFTlMwXzE4U21hcnRSZXBsYWNlT3B0aW9uRQotX19aTjdX
ZWJDb3JlMTBQYXN0ZWJvYXJkMTdnZW5lcmFsUGFzdGVib2FyZEV2CiBfX1pON1dlYkNvcmUxMFJl
bmRlclBhcnQ5c2V0V2lkZ2V0RU4zV1RGMTBQYXNzUmVmUHRySU5TXzZXaWRnZXRFRUUKIF9fWk43
V2ViQ29yZTEwUmVuZGVyVmlldzEwY29tcG9zaXRvckV2CiBfX1pON1dlYkNvcmUxMFJlbmRlclZp
ZXc3aGl0VGVzdEVSS05TXzE0SGl0VGVzdFJlcXVlc3RFUk5TXzEzSGl0VGVzdFJlc3VsdEUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvRWRpdG9yLmNwcAppbmRleCA3ZWU3ZTFkYjczYmQ4NWUxOGRjMDdiOGFlMTM3
ZTJiMjRhZjlhNDgzLi5lY2RlYmFhNmFiZDMyZTVlZWNhZThkZWYxMzZlYzEzMmY3MzY5NDlhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCkBAIC0zNyw5ICszNyw2IEBACiAjaW5jbHVkZSAi
Q2xpcGJvYXJkRXZlbnQuaCIKICNpbmNsdWRlICJDb21wb3NpdGlvbkV2ZW50LmgiCiAjaW5jbHVk
ZSAiQ3JlYXRlTGlua0NvbW1hbmQuaCIKLSNpZiBFTkFCTEUoREVMRVRJT05fVUkpCi0jaW5jbHVk
ZSAiRGVsZXRlQnV0dG9uQ29udHJvbGxlci5oIgotI2VuZGlmCiAjaW5jbHVkZSAiRGVsZXRlU2Vs
ZWN0aW9uQ29tbWFuZC5oIgogI2luY2x1ZGUgIkRpY3RhdGlvbkFsdGVybmF0aXZlLmgiCiAjaW5j
bHVkZSAiRGljdGF0aW9uQ29tbWFuZC5oIgpAQCAtOTUsNiArOTIsMTAgQEAKICNpbmNsdWRlIDx3
dGYvdW5pY29kZS9DaGFyYWN0ZXJOYW1lcy5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNv
ZGUuaD4KIAorI2lmIEVOQUJMRShERUxFVElPTl9VSSkKKyNpbmNsdWRlICJEZWxldGVCdXR0b25D
b250cm9sbGVyLmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1l
c3BhY2Ugc3RkOwpAQCAtMTA3Niw2ICsxMDc3LDExIEBAIHZvaWQgRWRpdG9yOjpjb3B5KCkKIAog
dm9pZCBFZGl0b3I6OnBhc3RlKCkKIHsKKyAgICBwYXN0ZSgqUGFzdGVib2FyZDo6Y3JlYXRlRm9y
Q29weUFuZFBhc3RlKCkpOworfQorCit2b2lkIEVkaXRvcjo6cGFzdGUoUGFzdGVib2FyZCYgcGFz
dGVib2FyZCkKK3sKICAgICBBU1NFUlQobV9mcmFtZS5kb2N1bWVudCgpKTsKICAgICBpZiAodHJ5
REhUTUxQYXN0ZSgpKQogICAgICAgICByZXR1cm47IC8vIERIVE1MIGRpZCB0aGUgd2hvbGUgb3Bl
cmF0aW9uCkBAIC0xMDg1LDkgKzEwOTEsOSBAQCB2b2lkIEVkaXRvcjo6cGFzdGUoKQogICAgIENh
Y2hlZFJlc291cmNlTG9hZGVyKiBsb2FkZXIgPSBtX2ZyYW1lLmRvY3VtZW50KCktPmNhY2hlZFJl
c291cmNlTG9hZGVyKCk7CiAgICAgUmVzb3VyY2VDYWNoZVZhbGlkYXRpb25TdXBwcmVzc29yIHZh
bGlkYXRpb25TdXBwcmVzc29yKGxvYWRlcik7CiAgICAgaWYgKG1fZnJhbWUuc2VsZWN0aW9uKCku
aXNDb250ZW50UmljaGx5RWRpdGFibGUoKSkKLSAgICAgICAgcGFzdGVXaXRoUGFzdGVib2FyZChQ
YXN0ZWJvYXJkOjpjcmVhdGVGb3JDb3B5QW5kUGFzdGUoKS5nZXQoKSwgdHJ1ZSk7CisgICAgICAg
IHBhc3RlV2l0aFBhc3RlYm9hcmQoJnBhc3RlYm9hcmQsIHRydWUpOwogICAgIGVsc2UKLSAgICAg
ICAgcGFzdGVBc1BsYWluVGV4dFdpdGhQYXN0ZWJvYXJkKFBhc3RlYm9hcmQ6OmNyZWF0ZUZvckNv
cHlBbmRQYXN0ZSgpLmdldCgpKTsKKyAgICAgICAgcGFzdGVBc1BsYWluVGV4dFdpdGhQYXN0ZWJv
YXJkKCZwYXN0ZWJvYXJkKTsKIH0KIAogdm9pZCBFZGl0b3I6OnBhc3RlQXNQbGFpblRleHQoKQpA
QCAtMTEzNSw3ICsxMTQxLDEyIEBAIHZvaWQgRWRpdG9yOjpzaW1wbGlmeU1hcmt1cChOb2RlKiBz
dGFydE5vZGUsIE5vZGUqIGVuZE5vZGUpCiAKIHZvaWQgRWRpdG9yOjpjb3B5VVJMKGNvbnN0IEtV
UkwmIHVybCwgY29uc3QgU3RyaW5nJiB0aXRsZSkKIHsKLSAgICBQYXN0ZWJvYXJkOjpjcmVhdGVG
b3JDb3B5QW5kUGFzdGUoKS0+d3JpdGVVUkwodXJsLCB0aXRsZSwgJm1fZnJhbWUpOworICAgIGNv
cHlVUkwodXJsLCB0aXRsZSwgKlBhc3RlYm9hcmQ6OmNyZWF0ZUZvckNvcHlBbmRQYXN0ZSgpKTsK
K30KKwordm9pZCBFZGl0b3I6OmNvcHlVUkwoY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcm
IHRpdGxlLCBQYXN0ZWJvYXJkJiBwYXN0ZWJvYXJkKQoreworICAgIHBhc3RlYm9hcmQud3JpdGVV
UkwodXJsLCB0aXRsZSwgJm1fZnJhbWUpOwogfQogCiB2b2lkIEVkaXRvcjo6Y29weUltYWdlKGNv
bnN0IEhpdFRlc3RSZXN1bHQmIHJlc3VsdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvRWRpdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5oCmluZGV4IGRk
MmRjOTliOTM2Y2VkMjk2ZDZiZWQ4ZDVlNTRiMmUwOTJkOGQ0YTIuLjM0ZDU3NjNmMzEzODk2YjBl
MWNkYjQ3ZWMwZjdiZmI5NWIyNTE3MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRWRpdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaApAQCAtMTI5
LDEwICsxMjksMTIgQEAgcHVibGljOgogICAgIHZvaWQgY3V0KCk7CiAgICAgdm9pZCBjb3B5KCk7
CiAgICAgdm9pZCBwYXN0ZSgpOworICAgIHZvaWQgcGFzdGUoUGFzdGVib2FyZCYpOwogICAgIHZv
aWQgcGFzdGVBc1BsYWluVGV4dCgpOwogICAgIHZvaWQgcGVyZm9ybURlbGV0ZSgpOwogCi0gICAg
dm9pZCBjb3B5VVJMKGNvbnN0IEtVUkwmLCBjb25zdCBTdHJpbmcmKTsKKyAgICB2b2lkIGNvcHlV
UkwoY29uc3QgS1VSTCYsIGNvbnN0IFN0cmluZyYgdGl0bGUpOworICAgIHZvaWQgY29weVVSTChj
b25zdCBLVVJMJiwgY29uc3QgU3RyaW5nJiB0aXRsZSwgUGFzdGVib2FyZCYpOwogICAgIHZvaWQg
Y29weUltYWdlKGNvbnN0IEhpdFRlc3RSZXN1bHQmKTsKIAogICAgIHZvaWQgaW5kZW50KCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcAppbmRleCBiMWY2NDc2NTJmMjE0
M2JjYmY4NjE2NDcxNGI2MDM3ZjE1ZTkwMGU1Li4yZDM4MDljYzM5MjQ5MmFkYWIwY2ZiZTQ0NTI0
M2U3NzdiOGU1OWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvckNv
bW1hbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHAK
QEAgLTkxOCwyMCArOTE4LDIyIEBAIHN0YXRpYyBib29sIGV4ZWN1dGVQYXN0ZShGcmFtZSYgZnJh
bWUsIEV2ZW50KiwgRWRpdG9yQ29tbWFuZFNvdXJjZSBzb3VyY2UsIGNvbnN0CiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKKyNpZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFFUKQorCiBzdGF0aWMg
Ym9vbCBleGVjdXRlUGFzdGVHbG9iYWxTZWxlY3Rpb24oRnJhbWUmIGZyYW1lLCBFdmVudCosIEVk
aXRvckNvbW1hbmRTb3VyY2Ugc291cmNlLCBjb25zdCBTdHJpbmcmKQogeworICAgIC8vIEZJWE1F
OiBUaGlzIGNoZWNrIHNob3VsZCBiZSBpbiBhbiBlbmFibGUgZnVuY3Rpb24sIG5vdCBoZXJlLgog
ICAgIGlmICghZnJhbWUuZWRpdG9yKCkuY2xpZW50KCktPnN1cHBvcnRzR2xvYmFsU2VsZWN0aW9u
KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIEFTU0VSVF9VTlVTRUQoc291cmNlLCBz
b3VyY2UgPT0gQ29tbWFuZEZyb21NZW51T3JLZXlCaW5kaW5nKTsKICAgICBVc2VyVHlwaW5nR2Vz
dHVyZUluZGljYXRvciB0eXBpbmdHZXN0dXJlSW5kaWNhdG9yKGZyYW1lKTsKLQotICAgIGJvb2wg
b2xkU2VsZWN0aW9uTW9kZSA9IFBhc3RlYm9hcmQ6OmdlbmVyYWxQYXN0ZWJvYXJkKCktPmlzU2Vs
ZWN0aW9uTW9kZSgpOwotICAgIFBhc3RlYm9hcmQ6OmdlbmVyYWxQYXN0ZWJvYXJkKCktPnNldFNl
bGVjdGlvbk1vZGUodHJ1ZSk7Ci0gICAgZnJhbWUuZWRpdG9yKCkucGFzdGUoKTsKLSAgICBQYXN0
ZWJvYXJkOjpnZW5lcmFsUGFzdGVib2FyZCgpLT5zZXRTZWxlY3Rpb25Nb2RlKG9sZFNlbGVjdGlv
bk1vZGUpOworICAgIGZyYW1lLmVkaXRvcigpLnBhc3RlKCpQYXN0ZWJvYXJkOjpjcmVhdGVGb3JH
bG9iYWxTZWxlY3Rpb24oKSk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKKyNlbmRpZgorCiBzdGF0
aWMgYm9vbCBleGVjdXRlUGFzdGVBbmRNYXRjaFN0eWxlKEZyYW1lJiBmcmFtZSwgRXZlbnQqLCBF
ZGl0b3JDb21tYW5kU291cmNlIHNvdXJjZSwgY29uc3QgU3RyaW5nJikKIHsKICAgICBpZiAoc291
cmNlID09IENvbW1hbmRGcm9tTWVudU9yS2V5QmluZGluZykgewpAQCAtMTU1OSw3ICsxNTYxLDYg
QEAgc3RhdGljIGNvbnN0IENvbW1hbmRNYXAmIGNyZWF0ZUNvbW1hbmRNYXAoKQogICAgICAgICB7
ICJQYXN0ZSIsIHsgZXhlY3V0ZVBhc3RlLCBzdXBwb3J0ZWRQYXN0ZSwgZW5hYmxlZFBhc3RlLCBz
dGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgYWxsb3dFeGVjdXRpb25XaGVu
RGlzYWJsZWQgfSB9LAogICAgICAgICB7ICJQYXN0ZUFuZE1hdGNoU3R5bGUiLCB7IGV4ZWN1dGVQ
YXN0ZUFuZE1hdGNoU3R5bGUsIHN1cHBvcnRlZFBhc3RlLCBlbmFibGVkUGFzdGUsIHN0YXRlTm9u
ZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBhbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxl
ZCB9IH0sCiAgICAgICAgIHsgIlBhc3RlQXNQbGFpblRleHQiLCB7IGV4ZWN1dGVQYXN0ZUFzUGxh
aW5UZXh0LCBzdXBwb3J0ZWRQYXN0ZSwgZW5hYmxlZFBhc3RlLCBzdGF0ZU5vbmUsIHZhbHVlTnVs
bCwgbm90VGV4dEluc2VydGlvbiwgYWxsb3dFeGVjdXRpb25XaGVuRGlzYWJsZWQgfSB9LAotICAg
ICAgICB7ICJQYXN0ZUdsb2JhbFNlbGVjdGlvbiIsIHsgZXhlY3V0ZVBhc3RlR2xvYmFsU2VsZWN0
aW9uLCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZFBhc3RlLCBzdGF0ZU5v
bmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgYWxsb3dFeGVjdXRpb25XaGVuRGlzYWJs
ZWQgfSB9LAogICAgICAgICB7ICJQcmludCIsIHsgZXhlY3V0ZVByaW50LCBzdXBwb3J0ZWQsIGVu
YWJsZWQsIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93
RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKICAgICAgICAgeyAiUmVkbyIsIHsgZXhlY3V0ZVJl
ZG8sIHN1cHBvcnRlZCwgZW5hYmxlZFJlZG8sIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0
SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKICAgICAgICAg
eyAiUmVtb3ZlRm9ybWF0IiwgeyBleGVjdXRlUmVtb3ZlRm9ybWF0LCBzdXBwb3J0ZWQsIGVuYWJs
ZWRSYW5nZUluRWRpdGFibGVUZXh0LCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2Vy
dGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCkBAIC0xNTk0LDYgKzE1
OTUsMTAgQEAgc3RhdGljIGNvbnN0IENvbW1hbmRNYXAmIGNyZWF0ZUNvbW1hbmRNYXAoKQogICAg
ICAgICB7ICJZYW5rIiwgeyBleGVjdXRlWWFuaywgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRp
bmcsIGVuYWJsZWRJbkVkaXRhYmxlVGV4dCwgc3RhdGVOb25lLCB2YWx1ZU51bGwsIG5vdFRleHRJ
bnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlzYWJsZWQgfSB9LAogICAgICAgICB7
ICJZYW5rQW5kU2VsZWN0IiwgeyBleGVjdXRlWWFua0FuZFNlbGVjdCwgc3VwcG9ydGVkRnJvbU1l
bnVPcktleUJpbmRpbmcsIGVuYWJsZWRJbkVkaXRhYmxlVGV4dCwgc3RhdGVOb25lLCB2YWx1ZU51
bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlzYWJsZWQgfSB9
LAogCisjaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShRVCkKKyAgICAgICAgeyAiUGFzdGVH
bG9iYWxTZWxlY3Rpb24iLCB7IGV4ZWN1dGVQYXN0ZUdsb2JhbFNlbGVjdGlvbiwgc3VwcG9ydGVk
RnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRQYXN0ZSwgc3RhdGVOb25lLCB2YWx1ZU51bGws
IG5vdFRleHRJbnNlcnRpb24sIGFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKKyNlbmRp
ZgorCiAjaWYgUExBVEZPUk0oTUFDKQogICAgICAgICB7ICJUYWtlRmluZFN0cmluZ0Zyb21TZWxl
Y3Rpb24iLCB7IGV4ZWN1dGVUYWtlRmluZFN0cmluZ0Zyb21TZWxlY3Rpb24sIHN1cHBvcnRlZEZy
b21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkVGFrZUZpbmRTdHJpbmdGcm9tU2VsZWN0aW9uLCBz
dGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlv
bldoZW5EaXNhYmxlZCB9IH0sCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luamVjdGVkU2NyaXB0SG9zdC5jcHAKaW5kZXggYThlYjQwMzZmODRlOTczZTdjN2ZiNzU2Mzhm
MWI4MDAzYTA0YjA1MS4uOTE4YmZlMWI3NmZkYTJlNjVlY2U4ODFiODk5YjQzZDE4ZjhmNjYzNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0SG9zdC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0SG9zdC5jcHAK
QEAgLTEyMCw3ICsxMjAsNyBAQCB2b2lkIEluamVjdGVkU2NyaXB0SG9zdDo6Y2xlYXJDb25zb2xl
TWVzc2FnZXMoKQogCiB2b2lkIEluamVjdGVkU2NyaXB0SG9zdDo6Y29weVRleHQoY29uc3QgU3Ry
aW5nJiB0ZXh0KQogewotICAgIFBhc3RlYm9hcmQ6OmdlbmVyYWxQYXN0ZWJvYXJkKCktPndyaXRl
UGxhaW5UZXh0KHRleHQsIFBhc3RlYm9hcmQ6OkNhbm5vdFNtYXJ0UmVwbGFjZSk7CisgICAgUGFz
dGVib2FyZDo6Y3JlYXRlRm9yQ29weUFuZFBhc3RlKCktPndyaXRlUGxhaW5UZXh0KHRleHQsIFBh
c3RlYm9hcmQ6OkNhbm5vdFNtYXJ0UmVwbGFjZSk7CiB9CiAKIFNjcmlwdFZhbHVlIEluamVjdGVk
U2NyaXB0SG9zdDo6SW5zcGVjdGFibGVPYmplY3Q6OmdldChTY3JpcHRTdGF0ZSopCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCmluZGV4
IDEyNGI5YjllNDJjYjg3NTcwOGUyNzViOGI1NjVjMzkzMjFmNjE0NjguLmQyZDk2ZWU4ODEyNWI4
MmRmN2Y4YWMzM2ZjOWI3NWUxYzExNDY1M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCkBAIC0yMjQsNyArMjI0LDcgQEAgU3Ry
aW5nIEluc3BlY3RvckZyb250ZW5kSG9zdDo6bG9jYWxpemVkU3RyaW5nc1VSTCgpCiAKIHZvaWQg
SW5zcGVjdG9yRnJvbnRlbmRIb3N0Ojpjb3B5VGV4dChjb25zdCBTdHJpbmcmIHRleHQpCiB7Ci0g
ICAgUGFzdGVib2FyZDo6Z2VuZXJhbFBhc3RlYm9hcmQoKS0+d3JpdGVQbGFpblRleHQodGV4dCwg
UGFzdGVib2FyZDo6Q2Fubm90U21hcnRSZXBsYWNlKTsKKyAgICBQYXN0ZWJvYXJkOjpjcmVhdGVG
b3JDb3B5QW5kUGFzdGUoKS0+d3JpdGVQbGFpblRleHQodGV4dCwgUGFzdGVib2FyZDo6Q2Fubm90
U21hcnRSZXBsYWNlKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JGcm9udGVuZEhvc3Q6Om9wZW5Jbk5l
d1RhYihjb25zdCBTdHJpbmcmIHVybCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Bhc3RlYm9hcmQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaApp
bmRleCBkYWYwNWU4ZGRjMjg3ZTJmYTY1MmQ3NmMzMDk3YTUyZGZiYTRhNDVkLi5mY2Q4Zjc0ZWNh
ZjBmYmMxNDllNjUzZjI2Y2ZiZmI1NTQ5YmNmOTExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFz
dGVib2FyZC5oCkBAIC0xMTAsOSArMTEwLDYgQEAgcHVibGljOgogICAgIGJvb2wgaXNGb3JDb3B5
QW5kUGFzdGUoKSBjb25zdCB7IHJldHVybiAhbV9pc0ZvckRyYWdBbmREcm9wOyB9CiAjZW5kaWYK
IAotICAgIC8vIERlcHJlY2F0ZWQuIFVzZSBjcmVhdGVGb3JDb3B5QW5kUGFzdGUgaW5zdGVhZC4K
LSAgICBzdGF0aWMgUGFzdGVib2FyZCogZ2VuZXJhbFBhc3RlYm9hcmQoKTsKLQogICAgIHN0YXRp
YyBQYXNzT3duUHRyPFBhc3RlYm9hcmQ+IGNyZWF0ZUZvckNvcHlBbmRQYXN0ZSgpOwogICAgIHN0
YXRpYyBQYXNzT3duUHRyPFBhc3RlYm9hcmQ+IGNyZWF0ZVByaXZhdGUoKTsgLy8gQ29ycmVzcG9u
ZHMgdG8gdGhlICJ1bmlxdWUgcGFzdGVib2FyZCIgY29uY2VwdCBvbiBNYWMuIFVzZWQgaW4gZWRp
dGluZywgbm90IHN1cmUgZXhhY3RseSBmb3Igd2hhdCBwdXJwb3NlLgogCkBAIC0xNjAsMTIgKzE1
Nyw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEZyYW1lKEZyYW1lKik7CiAjZW5kaWYKIAotI2lm
IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShHVEspCi0gICAgYm9vbCBpc1NlbGVjdGlvbk1vZGUo
KSBjb25zdDsKLSAgICB2b2lkIHNldFNlbGVjdGlvbk1vZGUoYm9vbCk7Ci0jZWxzZQotICAgIGJv
b2wgaXNTZWxlY3Rpb25Nb2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KLSAgICB2b2lkIHNl
dFNlbGVjdGlvbk1vZGUoYm9vbCkgeyB9CisjaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShR
VCkKKyAgICBzdGF0aWMgUGFzc093blB0cjxQYXN0ZWJvYXJkPiBjcmVhdGVGb3JHbG9iYWxTZWxl
Y3Rpb24oKTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oV0lOKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9QYXN0ZWJvYXJkQmxhY2tCZXJyeS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1Bhc3RlYm9hcmRCbGFja0JlcnJ5LmNw
cAppbmRleCA0ZjY0NGVjNDY5MGJkOTdlOWIwZGZjY2E5YWZhMTJmOTAxMjU5ZDE1Li4wM2IwN2I2
YWE2ZTdjMDA5NGM3MWY0YTQ3OTM5N2JhYTFkZjJjMTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1Bhc3RlYm9hcmRCbGFja0JlcnJ5LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1Bhc3RlYm9hcmRCbGFja0JlcnJ5LmNw
cApAQCAtMzAsMTIgKzMwLDYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYXN0ZWJvYXJk
KiBQYXN0ZWJvYXJkOjpnZW5lcmFsUGFzdGVib2FyZCgpCi17Ci0gICAgc3RhdGljIFBhc3RlYm9h
cmQqIHBhc3RlYm9hcmQgPSBuZXcgUGFzdGVib2FyZCgpOwotICAgIHJldHVybiBwYXN0ZWJvYXJk
OwotfQotCiBQYXN0ZWJvYXJkOjpQYXN0ZWJvYXJkKCkKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9QYXN0ZWJvYXJkRWZsLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2VmbC9QYXN0ZWJvYXJkRWZsLmNwcAppbmRleCBhNmVkZDUwYjgyY2UxNzBjMzMx
NGMwYjUyODkwZTU3ZjQ3ZTIwZjljLi5iYjgzNGM5NDU4NWQwYzJkZTNjN2EzNzA3ZDYyNGEzMTcz
YzI4MGZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvUGFzdGVib2Fy
ZEVmbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1Bhc3RlYm9hcmRFZmwu
Y3BwCkBAIC0yOSwxNSArMjksOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3RlYm9h
cmQqIFBhc3RlYm9hcmQ6OmdlbmVyYWxQYXN0ZWJvYXJkKCkKLXsKLSAgICBzdGF0aWMgUGFzdGVi
b2FyZCogcGFzdGVib2FyZCA9IG5ldyBQYXN0ZWJvYXJkKCk7Ci0gICAgcmV0dXJuIHBhc3RlYm9h
cmQ7Ci19Ci0KIFBhc3RlYm9hcmQ6OlBhc3RlYm9hcmQoKQogewotICAgIG5vdEltcGxlbWVudGVk
KCk7CiB9CiAKIHZvaWQgUGFzdGVib2FyZDo6d3JpdGVQbGFpblRleHQoY29uc3QgU3RyaW5nJiwg
U21hcnRSZXBsYWNlT3B0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3RrL1Bhc3RlYm9hcmRHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Bhc3Rl
Ym9hcmRHdGsuY3BwCmluZGV4IDJjMGIzNzZlOWQ1YmFmNzEwNDVhOTRjM2M0ODhlYWM5NmEyMjk2
YjguLmQzMmY4OGY5ZjdiZmI0NjFjYjg1ZDgwYjExZmFlMWVkNzM0NmU5YjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9QYXN0ZWJvYXJkR3RrLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUGFzdGVib2FyZEd0ay5jcHAKQEAgLTY3LDYgKzY3LDEx
IEBAIFBhc3NPd25QdHI8UGFzdGVib2FyZD4gUGFzdGVib2FyZDo6Y3JlYXRlRm9yQ29weUFuZFBh
c3RlKCkKICAgICByZXR1cm4gY3JlYXRlKGd0a19jbGlwYm9hcmRfZ2V0KEdES19TRUxFQ1RJT05f
Q0xJUEJPQVJEKSk7CiB9CiAKK1Bhc3NPd25QdHI8UGFzdGVib2FyZD4gUGFzdGVib2FyZDo6Y3Jl
YXRlRm9yR2xvYmFsU2VsZWN0aW9uKCkKK3sKKyAgICByZXR1cm4gY3JlYXRlKGd0a19jbGlwYm9h
cmRfZ2V0KEdES19TRUxFQ1RJT05fUFJJTUFSWSkpOworfQorCiBQYXNzT3duUHRyPFBhc3RlYm9h
cmQ+IFBhc3RlYm9hcmQ6OmNyZWF0ZVByaXZhdGUoKQogewogICAgIHJldHVybiBjcmVhdGUoRGF0
YU9iamVjdEd0azo6Y3JlYXRlKCkpOwpAQCAtODIsMjMgKzg3LDYgQEAgUGFzc093blB0cjxQYXN0
ZWJvYXJkPiBQYXN0ZWJvYXJkOjpjcmVhdGVGb3JEcmFnQW5kRHJvcChjb25zdCBEcmFnRGF0YSYg
ZHJhZ0RhdGEKICAgICByZXR1cm4gY3JlYXRlKGRyYWdEYXRhLnBsYXRmb3JtRGF0YSgpKTsKIH0K
IAotc3RhdGljIFBhc3RlYm9hcmQqIHNlbGVjdGlvbkNsaXBib2FyZCgpCi17Ci0gICAgc3RhdGlj
IFBhc3RlYm9hcmQqIHBhc3RlYm9hcmQgPSBQYXN0ZWJvYXJkOjpjcmVhdGUoZ3RrX2NsaXBib2Fy
ZF9nZXQoR0RLX1NFTEVDVElPTl9DTElQQk9BUkQpKS5sZWFrUHRyKCk7Ci0gICAgcmV0dXJuIHBh
c3RlYm9hcmQ7Ci19Ci0KLXN0YXRpYyBQYXN0ZWJvYXJkKiBwcmltYXJ5Q2xpcGJvYXJkKCkKLXsK
LSAgICBzdGF0aWMgUGFzdGVib2FyZCogcGFzdGVib2FyZCA9IFBhc3RlYm9hcmQ6OmNyZWF0ZShn
dGtfY2xpcGJvYXJkX2dldChHREtfU0VMRUNUSU9OX1BSSU1BUlkpKS5sZWFrUHRyKCk7Ci0gICAg
cmV0dXJuIHBhc3RlYm9hcmQ7Ci19Ci0KLVBhc3RlYm9hcmQqIFBhc3RlYm9hcmQ6OmdlbmVyYWxQ
YXN0ZWJvYXJkKCkKLXsKLSAgICByZXR1cm4gUGFzdGVib2FyZEhlbHBlcjo6ZGVmYXVsdFBhc3Rl
Ym9hcmRIZWxwZXIoKS0+dXNlUHJpbWFyeVNlbGVjdGlvbkNsaXBib2FyZCgpID8gcHJpbWFyeUNs
aXBib2FyZCgpIDogc2VsZWN0aW9uQ2xpcGJvYXJkKCk7Ci19Ci0KIFBhc3RlYm9hcmQ6OlBhc3Rl
Ym9hcmQoUGFzc1JlZlB0cjxEYXRhT2JqZWN0R3RrPiBkYXRhT2JqZWN0KQogICAgIDogbV9kYXRh
T2JqZWN0KGRhdGFPYmplY3QpCiAgICAgLCBtX2d0a0NsaXBib2FyZCgwKQpAQCAtMzQzLDE2ICsz
MzEsNiBAQCBTdHJpbmcgUGFzdGVib2FyZDo6cGxhaW5UZXh0KEZyYW1lKiBmcmFtZSkKICAgICBy
ZXR1cm4gbV9kYXRhT2JqZWN0LT50ZXh0KCk7CiB9CiAKLWJvb2wgUGFzdGVib2FyZDo6aXNTZWxl
Y3Rpb25Nb2RlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gUGFzdGVib2FyZEhlbHBlcjo6ZGVmYXVs
dFBhc3RlYm9hcmRIZWxwZXIoKS0+dXNlUHJpbWFyeVNlbGVjdGlvbkNsaXBib2FyZCgpOwotfQot
Ci12b2lkIFBhc3RlYm9hcmQ6OnNldFNlbGVjdGlvbk1vZGUoYm9vbCBzZWxlY3Rpb25Nb2RlKQot
ewotICAgIFBhc3RlYm9hcmRIZWxwZXI6OmRlZmF1bHRQYXN0ZWJvYXJkSGVscGVyKCktPnNldFVz
ZVByaW1hcnlTZWxlY3Rpb25DbGlwYm9hcmQoc2VsZWN0aW9uTW9kZSk7Ci19Ci0KIGJvb2wgUGFz
dGVib2FyZDo6aGFzRGF0YSgpCiB7CiAgICAgaWYgKG1fZ3RrQ2xpcGJvYXJkKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Bhc3RlYm9hcmRIZWxwZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Bhc3RlYm9hcmRIZWxwZXIuY3BwCmluZGV4IDEyNmU4
N2FlYWEyMmI3NDU0ZmNhYmNlMjM2YTkwMjgxYjE3YTQ1OWIuLjFkZjQ4YTc2NmViNGYyNzc1N2Rj
MTQxMzZjNjY5Y2UxMmNiZWE5MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2d0ay9QYXN0ZWJvYXJkSGVscGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
dGsvUGFzdGVib2FyZEhlbHBlci5jcHAKQEAgLTc0LDcgKzc0LDYgQEAgUGFzdGVib2FyZEhlbHBl
ciogUGFzdGVib2FyZEhlbHBlcjo6ZGVmYXVsdFBhc3RlYm9hcmRIZWxwZXIoKQogCiBQYXN0ZWJv
YXJkSGVscGVyOjpQYXN0ZWJvYXJkSGVscGVyKCkKICAgICA6IG1fdGFyZ2V0TGlzdChndGtfdGFy
Z2V0X2xpc3RfbmV3KDAsIDApKQotICAgICwgbV91c2VQcmltYXJ5U2VsZWN0aW9uQ2xpcGJvYXJk
KGZhbHNlKQogewogICAgIGluaXRHZGtBdG9tcygpOwogCkBAIC05OSwyMyArOTgsNiBAQCBzdGF0
aWMgaW5saW5lIEdka0Rpc3BsYXkqIGRpc3BsYXlGcm9tRnJhbWUoRnJhbWUqIGZyYW1lKQogICAg
IHJldHVybiBjbGllbnQgPyBndGtfd2lkZ2V0X2dldF9kaXNwbGF5KGNsaWVudCkgOiBnZGtfZGlz
cGxheV9nZXRfZGVmYXVsdCgpOwogfQogCi1HdGtDbGlwYm9hcmQqIFBhc3RlYm9hcmRIZWxwZXI6
OmdldEN1cnJlbnRDbGlwYm9hcmQoRnJhbWUqIGZyYW1lKQotewotICAgIGlmIChtX3VzZVByaW1h
cnlTZWxlY3Rpb25DbGlwYm9hcmQpCi0gICAgICAgIHJldHVybiBnZXRQcmltYXJ5U2VsZWN0aW9u
Q2xpcGJvYXJkKGZyYW1lKTsKLSAgICByZXR1cm4gZ2V0Q2xpcGJvYXJkKGZyYW1lKTsKLX0KLQot
R3RrQ2xpcGJvYXJkKiBQYXN0ZWJvYXJkSGVscGVyOjpnZXRDbGlwYm9hcmQoRnJhbWUqIGZyYW1l
KSBjb25zdAotewotICAgIHJldHVybiBndGtfY2xpcGJvYXJkX2dldF9mb3JfZGlzcGxheShkaXNw
bGF5RnJvbUZyYW1lKGZyYW1lKSwgR0RLX1NFTEVDVElPTl9DTElQQk9BUkQpOwotfQotCi1HdGtD
bGlwYm9hcmQqIFBhc3RlYm9hcmRIZWxwZXI6OmdldFByaW1hcnlTZWxlY3Rpb25DbGlwYm9hcmQo
RnJhbWUqIGZyYW1lKSBjb25zdAotewotICAgIHJldHVybiBndGtfY2xpcGJvYXJkX2dldF9mb3Jf
ZGlzcGxheShkaXNwbGF5RnJvbUZyYW1lKGZyYW1lKSwgR0RLX1NFTEVDVElPTl9QUklNQVJZKTsK
LX0KLQogR3RrVGFyZ2V0TGlzdCogUGFzdGVib2FyZEhlbHBlcjo6dGFyZ2V0TGlzdCgpIGNvbnN0
CiB7CiAgICAgcmV0dXJuIG1fdGFyZ2V0TGlzdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2d0ay9QYXN0ZWJvYXJkSGVscGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ndGsvUGFzdGVib2FyZEhlbHBlci5oCmluZGV4IGJiNGU2MmY2YjI2ODc3YmJhNTk2NTY5MDU2
NmI2ZWJjNDA3YjQyZTYuLmVlMzY5NThiZDY1NmE3ODI4Yjk4MDlmOGFjMDI0NDUxNTdlZWE0NmYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9QYXN0ZWJvYXJkSGVscGVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Bhc3RlYm9hcmRIZWxwZXIuaApA
QCAtMzgsMTQgKzM4LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgflBhc3RlYm9hcmRIZWxwZXIo
KTsKICAgICBzdGF0aWMgUGFzdGVib2FyZEhlbHBlciogZGVmYXVsdFBhc3RlYm9hcmRIZWxwZXIo
KTsKIAotICAgIHZvaWQgc2V0VXNlUHJpbWFyeVNlbGVjdGlvbkNsaXBib2FyZChib29sIHVzZVBy
aW1hcnkpIHsgbV91c2VQcmltYXJ5U2VsZWN0aW9uQ2xpcGJvYXJkID0gdXNlUHJpbWFyeTsgfQot
ICAgIGJvb2wgdXNlUHJpbWFyeVNlbGVjdGlvbkNsaXBib2FyZCgpIHsgcmV0dXJuIG1fdXNlUHJp
bWFyeVNlbGVjdGlvbkNsaXBib2FyZDsgfQotCiAgICAgZW51bSBTbWFydFBhc3RlSW5jbHVzaW9u
IHsgSW5jbHVkZVNtYXJ0UGFzdGUsIERvTm90SW5jbHVkZVNtYXJ0UGFzdGUgfTsKIAotICAgIEd0
a0NsaXBib2FyZCogZ2V0Q3VycmVudENsaXBib2FyZChGcmFtZSopOwotICAgIEd0a0NsaXBib2Fy
ZCogZ2V0Q2xpcGJvYXJkKEZyYW1lKikgY29uc3Q7Ci0gICAgR3RrQ2xpcGJvYXJkKiBnZXRQcmlt
YXJ5U2VsZWN0aW9uQ2xpcGJvYXJkKEZyYW1lKikgY29uc3Q7CiAgICAgR3RrVGFyZ2V0TGlzdCog
dGFyZ2V0TGlzdCgpIGNvbnN0OwogICAgIEd0a1RhcmdldExpc3QqIHRhcmdldExpc3RGb3JEYXRh
T2JqZWN0KERhdGFPYmplY3RHdGsqLCBTbWFydFBhc3RlSW5jbHVzaW9uID0gRG9Ob3RJbmNsdWRl
U21hcnRQYXN0ZSk7CiAgICAgdm9pZCBmaWxsU2VsZWN0aW9uRGF0YShHdGtTZWxlY3Rpb25EYXRh
KiwgZ3VpbnQsIERhdGFPYmplY3RHdGsqKTsKQEAgLTU5LDcgKzUzLDYgQEAgcHVibGljOgogCiBw
cml2YXRlOgogICAgIEd0a1RhcmdldExpc3QqIG1fdGFyZ2V0TGlzdDsKLSAgICBib29sIG1fdXNl
UHJpbWFyeVNlbGVjdGlvbkNsaXBib2FyZDsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2lvcy9QYXN0ZWJvYXJkSU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW9zL1Bhc3RlYm9hcmRJT1MubW0KaW5kZXggMjJkMzk4N2MzZjFlN2E0N2I2YTM3ZDA3
M2NmNGE0NThlNjYxNzZiNS4uMjAxMWI3M2JlM2M4OTE1MmIxYjE5YTYxMmI5ZjAzMjU1NjgyZmJh
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Bhc3RlYm9hcmRJT1Mu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Bhc3RlYm9hcmRJT1MubW0KQEAg
LTEwMCwxMiArMTAwLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBOU1N0cmluZyAqV2ViQXJj
aGl2ZVBib2FyZFR5cGUgPSBAIkFwcGxlIFdlYiBBcmNoaXZlIHBhc3RlYm9hcmQgdHlwZSI7CiAK
LVBhc3RlYm9hcmQqIFBhc3RlYm9hcmQ6OmdlbmVyYWxQYXN0ZWJvYXJkKCkKLXsKLSAgICBzdGF0
aWMgUGFzdGVib2FyZCogcGFzdGVib2FyZCA9IG5ldyBQYXN0ZWJvYXJkOwotICAgIHJldHVybiBw
YXN0ZWJvYXJkOwotfQotCiBQYXN0ZWJvYXJkOjpQYXN0ZWJvYXJkKCkKICAgICA6IG1fZnJhbWUo
MCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJk
TWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Bhc3RlYm9hcmRNYWMubW0KaW5k
ZXggMjIyMTkyODAzMGY4NjcxZWYyMjcwNDc3MDhiZTNiODEwNWExOTg5YS4uZDNhNzBkMWRiNzRk
OGFmNWIyZmI2YWZkNTU3ZGJmYmZkOGI5MmIxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL1Bhc3RlYm9hcmRNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1Bhc3RlYm9hcmRNYWMubW0KQEAgLTExNSwxMiArMTE1LDYgQEAgc3RhdGljIFZlY3Rv
cjxTdHJpbmc+IHdyaXRhYmxlVHlwZXNGb3JJbWFnZSgpCiAgICAgcmV0dXJuIHR5cGVzOwogfQog
Ci1QYXN0ZWJvYXJkKiBQYXN0ZWJvYXJkOjpnZW5lcmFsUGFzdGVib2FyZCgpIAotewotICAgIHN0
YXRpYyBQYXN0ZWJvYXJkKiBwYXN0ZWJvYXJkID0gbmV3IFBhc3RlYm9hcmQoTlNHZW5lcmFsUGJv
YXJkKTsKLSAgICByZXR1cm4gcGFzdGVib2FyZDsKLX0KLQogUGFzdGVib2FyZDo6UGFzdGVib2Fy
ZChjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKQogICAgIDogbV9wYXN0ZWJvYXJkTmFtZShw
YXN0ZWJvYXJkTmFtZSkKICAgICAsIG1fY2hhbmdlQ291bnQocGxhdGZvcm1TdHJhdGVnaWVzKCkt
PnBhc3RlYm9hcmRTdHJhdGVneSgpLT5jaGFuZ2VDb3VudChtX3Bhc3RlYm9hcmROYW1lKSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1Bhc3RlYm9hcmRRdC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9QYXN0ZWJvYXJkUXQuY3BwCmluZGV4IDllOGU0Mzg3
ZjJhNTFlNjA1OGY3MTY3Y2MzYmNkYTlmZDc5MjRkMDYuLjBlNjRjMTM5NTI4MDc2ZDRhZGMxMTli
ZjAwZjc5ZDI4Y2Y0MWZmOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0
L1Bhc3RlYm9hcmRRdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvUGFzdGVi
b2FyZFF0LmNwcApAQCAtNzMsNiArNzMsMTMgQEAgUGFzc093blB0cjxQYXN0ZWJvYXJkPiBQYXN0
ZWJvYXJkOjpjcmVhdGVGb3JDb3B5QW5kUGFzdGUoKQogI2VuZGlmCiB9CiAKK1Bhc3NPd25QdHI8
UGFzdGVib2FyZD4gUGFzdGVib2FyZDo6Y3JlYXRlRm9yR2xvYmFsU2VsZWN0aW9uKCkKK3sKKyAg
ICBPd25QdHI8UGFzdGVib2FyZD4gcGFzdGVib2FyZCA9IGNyZWF0ZUZvckNvcHlBbmRQYXN0ZSgp
OworICAgIHBhc3RlYm9hcmQtPm1fc2VsZWN0aW9uTW9kZSA9IHRydWU7CisgICAgcmV0dXJuIHBh
c3RlYm9hcmQucmVsZWFzZSgpOworfQorCiBQYXNzT3duUHRyPFBhc3RlYm9hcmQ+IFBhc3RlYm9h
cmQ6OmNyZWF0ZVByaXZhdGUoKQogewogICAgIHJldHVybiBjcmVhdGUoKTsKQEAgLTEwNSwxNCAr
MTEyLDYgQEAgUGFzdGVib2FyZDo6flBhc3RlYm9hcmQoKQogICAgIG1fcmVhZGFibGVEYXRhID0g
MDsKIH0KIAotUGFzdGVib2FyZCogUGFzdGVib2FyZDo6Z2VuZXJhbFBhc3RlYm9hcmQoKQotewot
ICAgIHN0YXRpYyBQYXN0ZWJvYXJkKiBwYXN0ZWJvYXJkID0gMDsKLSAgICBpZiAoIXBhc3RlYm9h
cmQpCi0gICAgICAgIHBhc3RlYm9hcmQgPSBuZXcgUGFzdGVib2FyZCgwLCBmYWxzZSk7Ci0gICAg
cmV0dXJuIHBhc3RlYm9hcmQ7Ci19Ci0KIHZvaWQgUGFzdGVib2FyZDo6d3JpdGVTZWxlY3Rpb24o
UmFuZ2UqIHNlbGVjdGVkUmFuZ2UsIGJvb2wgY2FuU21hcnRDb3B5T3JEZWxldGUsIEZyYW1lKiBm
cmFtZSwgU2hvdWxkU2VyaWFsaXplU2VsZWN0ZWRUZXh0Rm9yQ2xpcGJvYXJkIHNob3VsZFNlcmlh
bGl6ZVNlbGVjdGVkVGV4dEZvckNsaXBib2FyZCkKIHsKICAgICBRTWltZURhdGEqIG1kID0gbmV3
IFFNaW1lRGF0YTsKQEAgLTIzMCwxNiArMjI5LDYgQEAgdm9pZCBQYXN0ZWJvYXJkOjp3cml0ZUlt
YWdlKE5vZGUqIG5vZGUsIGNvbnN0IEtVUkwmLCBjb25zdCBTdHJpbmcmKQogI2VuZGlmCiB9CiAK
LWJvb2wgUGFzdGVib2FyZDo6aXNTZWxlY3Rpb25Nb2RlKCkgY29uc3QKLXsKLSAgICByZXR1cm4g
bV9zZWxlY3Rpb25Nb2RlOwotfQotCi12b2lkIFBhc3RlYm9hcmQ6OnNldFNlbGVjdGlvbk1vZGUo
Ym9vbCBzZWxlY3Rpb25Nb2RlKQotewotICAgIG1fc2VsZWN0aW9uTW9kZSA9IHNlbGVjdGlvbk1v
ZGU7Ci19Ci0KIGNvbnN0IFFNaW1lRGF0YSogUGFzdGVib2FyZDo6cmVhZERhdGEoKSBjb25zdAog
ewogICAgIEFTU0VSVCghKG1fcmVhZGFibGVEYXRhICYmIG1fd3JpdGFibGVEYXRhKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUGFzdGVib2FyZFdpbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUGFzdGVib2FyZFdpbi5jcHAKaW5kZXggYjg3ZmU4
YTYzMWRiNjBmMjJlOTAyN2U0MWYwZDEzYjljNGJkOGViNS4uYzdjZmRhZTgxMDc1MWZjNTQ1N2U2
N2NhMjY1MGQ0Njg5MzdkODVlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
d2luL1Bhc3RlYm9hcmRXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9Q
YXN0ZWJvYXJkV2luLmNwcApAQCAtOTAsMTIgKzkwLDYgQEAgc3RhdGljIExSRVNVTFQgQ0FMTEJB
Q0sgUGFzdGVib2FyZE93bmVyV25kUHJvYyhIV05EIGhXbmQsIFVJTlQgbWVzc2FnZSwgV1BBUkFN
IHcKICAgICByZXR1cm4gbHJlc3VsdDsKIH0KIAotUGFzdGVib2FyZCogUGFzdGVib2FyZDo6Z2Vu
ZXJhbFBhc3RlYm9hcmQoKSAKLXsKLSAgICBzdGF0aWMgUGFzdGVib2FyZCogcGFzdGVib2FyZCA9
IG5ldyBQYXN0ZWJvYXJkOwotICAgIHJldHVybiBwYXN0ZWJvYXJkOwotfQotCiBQYXNzT3duUHRy
PFBhc3RlYm9hcmQ+IFBhc3RlYm9hcmQ6OmNyZWF0ZUZvckNvcHlBbmRQYXN0ZSgpCiB7CiAgICAg
T3duUHRyPFBhc3RlYm9hcmQ+IHBhc3RlYm9hcmQgPSBhZG9wdFB0cihuZXcgUGFzdGVib2FyZCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVu
dFF0LmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQu
Y3BwCmluZGV4IDczNmQ0MGFjNWUxOTk0MThiMmE0OTk2MDBiOWVlMGYyZWRlMmUxZmYuLmM4NWRk
ODJjNTUyMzFhMDlkYThjZDQ0MzlkOTFkZDk1M2Q0OTVhNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQuY3BwCkBAIC0yMDMsMTIgKzIw
Myw4IEBAIHZvaWQgRWRpdG9yQ2xpZW50UXQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oRnJh
bWUqIGZyYW1lKQogLy8gICAgIHNlbGVjdGlvbi5mb3JtYXRGb3JEZWJ1Z2dlcihidWZmZXIsIHNp
emVvZihidWZmZXIpKTsKIC8vICAgICBwcmludGYoIiVzXG4iLCBidWZmZXIpOwogCi0gICAgaWYg
KHN1cHBvcnRzR2xvYmFsU2VsZWN0aW9uKCkgJiYgZnJhbWUtPnNlbGVjdGlvbigpLmlzUmFuZ2Uo
KSkgewotICAgICAgICBib29sIG9sZFNlbGVjdGlvbk1vZGUgPSBQYXN0ZWJvYXJkOjpnZW5lcmFs
UGFzdGVib2FyZCgpLT5pc1NlbGVjdGlvbk1vZGUoKTsKLSAgICAgICAgUGFzdGVib2FyZDo6Z2Vu
ZXJhbFBhc3RlYm9hcmQoKS0+c2V0U2VsZWN0aW9uTW9kZSh0cnVlKTsKLSAgICAgICAgUGFzdGVi
b2FyZDo6Z2VuZXJhbFBhc3RlYm9hcmQoKS0+d3JpdGVTZWxlY3Rpb24oZnJhbWUtPnNlbGVjdGlv
bigpLnRvTm9ybWFsaXplZFJhbmdlKCkuZ2V0KCksIGZyYW1lLT5lZGl0b3IoKS5jYW5TbWFydENv
cHlPckRlbGV0ZSgpLCBmcmFtZSk7Ci0gICAgICAgIFBhc3RlYm9hcmQ6OmdlbmVyYWxQYXN0ZWJv
YXJkKCktPnNldFNlbGVjdGlvbk1vZGUob2xkU2VsZWN0aW9uTW9kZSk7Ci0gICAgfQorICAgIGlm
IChzdXBwb3J0c0dsb2JhbFNlbGVjdGlvbigpICYmIGZyYW1lLT5zZWxlY3Rpb24oKS5pc1Jhbmdl
KCkpCisgICAgICAgIFBhc3RlYm9hcmQ6OmNyZWF0ZUZvckdsb2JhbFNlbGVjdGlvbigpLT53cml0
ZVNlbGVjdGlvbihmcmFtZS0+c2VsZWN0aW9uKCkudG9Ob3JtYWxpemVkUmFuZ2UoKS5nZXQoKSwg
ZnJhbWUtPmVkaXRvcigpLmNhblNtYXJ0Q29weU9yRGVsZXRlKCksIGZyYW1lKTsKIAogICAgIG1f
cGFnZS0+cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbigpOwogICAgIGlmICghZnJhbWUtPmVkaXRv
cigpLmlnbm9yZUNvbXBvc2l0aW9uU2VsZWN0aW9uQ2hhbmdlKCkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1FXZWJQYWdlQWRhcHRlci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1FXZWJQYWdlQWRhcHRlci5jcHAKaW5kZXggNzA0ZGE0
OGUxZDBiMGRiMWNmMmEzZDNmOWQ4NDA1MGRmMWJhNzgwOC4uZmZlMjdhODQxM2FmMDA0MjA0OGVl
NGY1MWY2ODE3OWZlNWU5NDBkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9RV2ViUGFnZUFkYXB0ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29y
ZVN1cHBvcnQvUVdlYlBhZ2VBZGFwdGVyLmNwcApAQCAtMTA3NCwxNiArMTA3NCwxMiBAQCB2b2lk
IFFXZWJQYWdlQWRhcHRlcjo6dHJpZ2dlckFjdGlvbihRV2ViUGFnZUFkYXB0ZXI6Ok1lbnVBY3Rp
b24gYWN0aW9uLCBRV2ViSGl0VAogICAgICAgICBvcGVuTmV3V2luZG93KHVybCwgJmZyYW1lKTsK
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KLSAgICBjYXNlIENvcHlMaW5rVG9DbGlwYm9hcmQ6
IHsKKyAgICBjYXNlIENvcHlMaW5rVG9DbGlwYm9hcmQ6CiAjaWYgZGVmaW5lZChRX1dTX1gxMSkK
LSAgICAgICAgYm9vbCBvbGRTZWxlY3Rpb25Nb2RlID0gUGFzdGVib2FyZDo6Z2VuZXJhbFBhc3Rl
Ym9hcmQoKS0+aXNTZWxlY3Rpb25Nb2RlKCk7Ci0gICAgICAgIFBhc3RlYm9hcmQ6OmdlbmVyYWxQ
YXN0ZWJvYXJkKCktPnNldFNlbGVjdGlvbk1vZGUodHJ1ZSk7Ci0gICAgICAgIGVkaXRvci5jb3B5
VVJMKGhpdFRlc3RSZXN1bHQtPmxpbmtVcmwsIGhpdFRlc3RSZXN1bHQtPmxpbmtUZXh0KTsKLSAg
ICAgICAgUGFzdGVib2FyZDo6Z2VuZXJhbFBhc3RlYm9hcmQoKS0+c2V0U2VsZWN0aW9uTW9kZShv
bGRTZWxlY3Rpb25Nb2RlKTsKKyAgICAgICAgZWRpdG9yLmNvcHlVUkwoaGl0VGVzdFJlc3VsdC0+
bGlua1VybCwgaGl0VGVzdFJlc3VsdC0+bGlua1RleHQsICpQYXN0ZWJvYXJkOjpjcmVhdGVGb3JH
bG9iYWxTZWxlY3Rpb24oKSk7CiAjZW5kaWYKICAgICAgICAgZWRpdG9yLmNvcHlVUkwoaGl0VGVz
dFJlc3VsdC0+bGlua1VybCwgaGl0VGVzdFJlc3VsdC0+bGlua1RleHQpOwogICAgICAgICBicmVh
azsKLSAgICB9CiAgICAgY2FzZSBPcGVuSW1hZ2VJbk5ld1dpbmRvdzoKICAgICAgICAgb3Blbk5l
d1dpbmRvdyhoaXRUZXN0UmVzdWx0LT5pbWFnZVVybCwgJmZyYW1lKTsKICAgICAgICAgYnJlYWs7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkVkaXRvckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkVkaXRvckNsaWVudC5jcHAKaW5kZXggYjE5YjUzNzc5OTc1MGZhOTU4NWVhNDI3YzU2
NjRhODlhODE3ZTM2MS4uOGEyNTVkZWM0NjQxNDEyNGYyNGNkNWE4OTY1MDI4YjIxOTQ3ZDEwMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJF
ZGl0b3JDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcApAQCAtMjAzLDE2ICsyMDMsMTQgQEAgdm9pZCBXZWJF
ZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oRnJhbWUqIGZyYW1lKQogfQog
CiAjaWYgUExBVEZPUk0oUVQpCisKIC8vIEZJWE1FOiBVc2UgdGhpcyBmdW5jdGlvbiBmb3Igb3Ro
ZXIgWDExLWJhc2VkIHBsYXRmb3JtcyB0aGF0IG5lZWQgdG8gbWFudWFsbHkgdXBkYXRlIHRoZSBn
bG9iYWwgc2VsZWN0aW9uLgogdm9pZCBXZWJFZGl0b3JDbGllbnQ6OnVwZGF0ZUdsb2JhbFNlbGVj
dGlvbihGcmFtZSogZnJhbWUpCiB7Ci0gICAgaWYgKHN1cHBvcnRzR2xvYmFsU2VsZWN0aW9uKCkg
JiYgZnJhbWUtPnNlbGVjdGlvbigpLmlzUmFuZ2UoKSkgewotICAgICAgICBib29sIG9sZFNlbGVj
dGlvbk1vZGUgPSBQYXN0ZWJvYXJkOjpnZW5lcmFsUGFzdGVib2FyZCgpLT5pc1NlbGVjdGlvbk1v
ZGUoKTsKLSAgICAgICAgUGFzdGVib2FyZDo6Z2VuZXJhbFBhc3RlYm9hcmQoKS0+c2V0U2VsZWN0
aW9uTW9kZSh0cnVlKTsKLSAgICAgICAgUGFzdGVib2FyZDo6Z2VuZXJhbFBhc3RlYm9hcmQoKS0+
d3JpdGVTZWxlY3Rpb24oZnJhbWUtPnNlbGVjdGlvbigpLnRvTm9ybWFsaXplZFJhbmdlKCkuZ2V0
KCksIGZyYW1lLT5lZGl0b3IoKS5jYW5TbWFydENvcHlPckRlbGV0ZSgpLCBmcmFtZSk7Ci0gICAg
ICAgIFBhc3RlYm9hcmQ6OmdlbmVyYWxQYXN0ZWJvYXJkKCktPnNldFNlbGVjdGlvbk1vZGUob2xk
U2VsZWN0aW9uTW9kZSk7Ci0gICAgfQorICAgIGlmIChzdXBwb3J0c0dsb2JhbFNlbGVjdGlvbigp
ICYmIGZyYW1lLT5zZWxlY3Rpb24oKS5pc1JhbmdlKCkpCisgICAgICAgIFBhc3RlYm9hcmQ6OmNy
ZWF0ZUZvckdsb2JhbFNlbGVjdGlvbigpLT53cml0ZVNlbGVjdGlvbihmcmFtZS0+c2VsZWN0aW9u
KCkudG9Ob3JtYWxpemVkUmFuZ2UoKS5nZXQoKSwgZnJhbWUtPmVkaXRvcigpLmNhblNtYXJ0Q29w
eU9yRGVsZXRlKCksIGZyYW1lKTsKIH0KKwogI2VuZGlmCiAKIHZvaWQgV2ViRWRpdG9yQ2xpZW50
OjpkaWRFbmRFZGl0aW5nKCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>209888</attachid>
            <date>2013-08-28 07:56:31 -0700</date>
            <delta_ts>2013-08-28 08:28:59 -0700</delta_ts>
            <desc>Patch (fix gtk-webkit2 build)</desc>
            <filename>bug-120392-20130828075631.patch</filename>
            <type>text/plain</type>
            <size>26962</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0NzIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmNlOTNkNDg5ZDliMDg5
ZmNmZWFmNmRlYTU3ZTljYmIwNmFkYmY1Ny4uZjJhZThkY2NiYTkwNDVlYzJjOWFjZDI3ZDQ3MmNl
M2E4MjY5ZTU1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDEzLTA4LTI3ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBFbGltaW5hdGUgUGFzdGVib2Fy
ZDo6Z2VuZXJhbFBhc3RlYm9hcmQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEyMDM5MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46IFJlbW92ZWQgdGhlIGdlbmVyYWxQYXN0ZWJv
YXJkIGZ1bmN0aW9uLgorICAgICAgICBJdCBkaWRuJ3QgbmVlZCB0byBiZSBleHBvcnRlZCwgYmVj
YXVzZSBubyBvbmUgd2FzIHVzaW5nIGl0LgorCisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9yOjpwYXN0ZSk6IEFkZGVkIGFuIG92ZXJsb2FkIHRo
YXQgdGFrZXMgYSBQYXN0ZWJvYXJkLgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9yOjpjb3B5VVJM
KTogRGl0dG8uCisgICAgICAgICogZWRpdGluZy9FZGl0b3IuaDogQWRkZWQgb3ZlcmxvYWRzLgor
CisgICAgICAgICogZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OmV4ZWN1dGVQYXN0ZUdsb2JhbFNlbGVjdGlvbik6IFB1dCB0aGlzIGZ1bmN0aW9uIGluc2lkZSB0
aGUgc2FtZQorICAgICAgICBwbGF0Zm9ybSAjaWYgdGhhdCB0aGUgZ2xvYmFsIHNlbGVjdGlvbiBj
b2RlIGluIHRoZSBQYXN0ZWJvYXJkIGNsYXNzIHdhcyBpbi4KKyAgICAgICAgQ2hhbmdlZCB0byB1
c2UgUGFzdGVib2FyZDo6Y3JlYXRlRm9yR2xvYmFsU2VsZWN0aW9uIGluc3RlYWQgb2YgdXNpbmcg
dGhlCisgICAgICAgIFBhc3RlYm9hcmQ6OnNldFNlbGVjdGlvbk1vZGUgYXBwcm9hY2guCisgICAg
ICAgIChXZWJDb3JlOjpjcmVhdGVDb21tYW5kTWFwKTogUHV0IFBhc3RlR2xvYmFsU2VsZWN0aW9u
IGluc2lkZSB0aGUgcGxhdGZvcm0gI2lmLgorCisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVk
U2NyaXB0SG9zdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdEhvc3Q6OmNv
cHlUZXh0KTogVXNlIFBhc3RlYm9hcmQ6OmNyZWF0ZUZvckNvcHlBbmRQYXN0ZSgpCisgICAgICAg
IGluc3RlYWQgb2YgUGFzdGVib2FyZDo6Z2VuZXJhbFBhc3RlYm9hcmQoKS4KKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3RvckZyb250ZW5kSG9zdDo6Y29weVRleHQpOiBEaXR0by4KKworICAgICAgICAqIHBsYXRm
b3JtL1Bhc3RlYm9hcmQuaDogUmVtb3ZlZCBnZW5lcmFsUGFzdGVib2FyZC4gUmVwbGFjZWQgaXNT
ZWxlY3Rpb25Nb2RlCisgICAgICAgIGFuZCBzZXRTZWxlY3Rpb25Nb2RlIHdpdGggY3JlYXRlRm9y
R2xvYmFsU2VsZWN0aW9uLgorCisgICAgICAgICogcGxhdGZvcm0vYmxhY2tiZXJyeS9QYXN0ZWJv
YXJkQmxhY2tCZXJyeS5jcHA6IERlbGV0ZWQgZ2VuZXJhbFBhc3RlYm9hcmQuCisgICAgICAgICog
cGxhdGZvcm0vZWZsL1Bhc3RlYm9hcmRFZmwuY3BwOiBEZWxldGVkIGdlbmVyYWxQYXN0ZWJvYXJk
LgorCisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Bhc3RlYm9hcmRHdGsuY3BwOiBEZWxldGVkIHNl
bGVjdGlvbkNsaXBib2FyZCwgcHJpbWFyeUNsaXBib2FyZCwKKyAgICAgICAgZ2VuZXJhbFBhc3Rl
Ym9hcmQsIGlzU2VsZWN0aW9uTW9kZSwgYW5kIHNldFNlbGVjdGlvbk1vZGUuCisgICAgICAgIChX
ZWJDb3JlOjpQYXN0ZWJvYXJkOjpjcmVhdGVGb3JHbG9iYWxTZWxlY3Rpb24pOiBBZGRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9ndGsvUGFzdGVib2FyZEhlbHBlci5jcHA6IERlbGV0ZWQgbV91c2VQ
cmltYXJ5U2VsZWN0aW9uQ2xpcGJvYXJkLAorICAgICAgICBnZXRDdXJyZW50Q2xpcGJvYXJkLCBh
bmQgZ2V0Q2xpcGJvYXJkLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9QYXN0ZWJvYXJkSGVscGVy
Lmg6IERlbGV0ZWQgdGhlIGFib3ZlLCBwbHVzCisgICAgICAgIHNldFVzZVByaW1hcnlTZWxlY3Rp
b25DbGlwYm9hcmQgYW5kIHVzZVByaW1hcnlTZWxlY3Rpb25DbGlwYm9hcmQuCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9pb3MvUGFzdGVib2FyZElPUy5tbTogRGVsZXRlZCBnZW5lcmFsUGFzdGVib2Fy
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbTogRGVsZXRlZCBnZW5l
cmFsUGFzdGVib2FyZC4KKworICAgICAgICAqIHBsYXRmb3JtL3F0L1Bhc3RlYm9hcmRRdC5jcHA6
IERlbGV0ZWQgZ2VuZXJhbFBhc3RlYm9hcmQsIGlzU2VsZWN0aW9uTW9kZSwKKyAgICAgICAgYW5k
IHNldFNlbGVjdGlvbk1vZGUuCisgICAgICAgIChXZWJDb3JlOjpQYXN0ZWJvYXJkOjpjcmVhdGVG
b3JHbG9iYWxTZWxlY3Rpb24pOiBBZGRlZC4KKworICAgICAgICAqIHBsYXRmb3JtL3dpbi9QYXN0
ZWJvYXJkV2luLmNwcDogRGVsZXRlZCBnZW5lcmFsUGFzdGVib2FyZC4KKwogMjAxMy0wOC0yNiAg
QW50b25pbyBHb21lcyAgPGExLmdvbWVzQHNpc2Euc2Ftc3VuZy5jb20+CiAKICAgICAgICAgU2Ny
b2xsaW5nIGFsbG93ZWQgd2hlbiBvdmVyZmxvdzpoaWRkZW4gKHNlZW4gb24gQWNpZDIpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hh
bmdlTG9nCmluZGV4IDNhOWYyNzUwM2FiMGZiMDRkMmU1NzJjYmQ3ODgzOWJmYWZiM2M3NGUuLjJl
ZTEyZjU4YmIyZmFmOWY0OWVkYTE3ZGE2ZTNkOTQwZjU3NTI4MWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTMtMDgtMjcgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29t
PgorCisgICAgICAgIEVsaW1pbmF0ZSBQYXN0ZWJvYXJkOjpnZW5lcmFsUGFzdGVib2FyZAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIwMzkyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9FZGl0b3JDbGllbnRRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFZGl0b3JDbGllbnRR
dDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbik6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQv
UVdlYlBhZ2VBZGFwdGVyLmNwcDoKKyAgICAgICAgKFFXZWJQYWdlQWRhcHRlcjo6dHJpZ2dlckFj
dGlvbik6CisgICAgICAgIFVzZSBjcmVhdGVGb3JHbG9iYWxTZWxlY3Rpb24gaW5zdGVhZCBvZiBn
ZW5lcmFsUGFzdGVib2FyZCBhbmQgc2V0U2VsZWN0aW9uTW9kZS4KKwogMjAxMy0wOC0yNyAgQXJ1
bnByYXNhZCBSYWprdW1hciAgPGFydXJhamt1QGNpc2NvLmNvbT4KIAogICAgICAgICBbUXRdIExl
dCBQYWdlIGNyZWF0ZSB0aGUgbWFpbiBGcmFtZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA2NzUwZTRlNTAxOTJl
YmJiZDUzMmY1YWE2YzIzMzNmOGQwMTU1MmVkLi43Nzk4MDQ5MzI5MTRmMzMyNTkxYjUyZTk0ZmY5
Y2VkNWRiZjIxMmJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTMtMDgtMjcgIERh
cmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIEVsaW1pbmF0ZSBQYXN0ZWJv
YXJkOjpnZW5lcmFsUGFzdGVib2FyZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTIwMzkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVu
dC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkVkaXRvckNsaWVudDo6dXBkYXRlR2xvYmFsU2Vs
ZWN0aW9uKToKKyAgICAgICAgVXNlIGNyZWF0ZUZvckdsb2JhbFNlbGVjdGlvbiBpbnN0ZWFkIG9m
IGdlbmVyYWxQYXN0ZWJvYXJkIGFuZCBzZXRTZWxlY3Rpb25Nb2RlLgorCiAyMDEzLTA4LTI3ICBM
dWNpYW5vIFdvbGYgIDxsdWNpYW5vLndvbGZAb3BlbmJvc3NhLm9yZz4KIAogICAgICAgICAxMDAl
IGNwdSB1c2FnZSBmb3IgInRyYW5zaXRpb246IG9wYWNpdHkiIGFuaW1hdGlvbgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbgppbmRleCA5OTE4OWI3NjkzNmY1Y2VlOWUyMzc5YTFkYzFkYmVkNzQzMWE4MzIwLi5l
MzI4ZDE0OTJkNTM0MjBjMjZmYjI1OGUzOGJjZjFjNzdmNWJkYjUxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4
cC5pbgpAQCAtNzksNyArNzksNiBAQCBfX1pON1dlYkNvcmUxMEpTRG9jdW1lbnQ2c19pbmZvRQog
X19aTjdXZWJDb3JlMTBNb3VzZUV2ZW50NmNyZWF0ZUVSS04zV1RGMTJBdG9taWNTdHJpbmdFTlMx
XzEwUGFzc1JlZlB0cklOU185RE9NV2luZG93RUVFUktOU18xOFBsYXRmb3JtTW91c2VFdmVudEVp
TlM1X0lOU180Tm9kZUVFRQogX19aTjdXZWJDb3JlMTBNb3VzZUV2ZW50NmNyZWF0ZUVSS04zV1RG
MTJBdG9taWNTdHJpbmdFYmJkTlMxXzEwUGFzc1JlZlB0cklOU185RE9NV2luZG93RUVFaWlpaWli
YmJidE5TNV9JTlNfMTFFdmVudFRhcmdldEVFRU5TNV9JTlNfOUNsaXBib2FyZEVFRWIKIF9fWk43
V2ViQ29yZTEwUGFzdGVib2FyZDE0d3JpdGVQbGFpblRleHRFUktOM1dURjZTdHJpbmdFTlMwXzE4
U21hcnRSZXBsYWNlT3B0aW9uRQotX19aTjdXZWJDb3JlMTBQYXN0ZWJvYXJkMTdnZW5lcmFsUGFz
dGVib2FyZEV2CiBfX1pON1dlYkNvcmUxMFJlbmRlclBhcnQ5c2V0V2lkZ2V0RU4zV1RGMTBQYXNz
UmVmUHRySU5TXzZXaWRnZXRFRUUKIF9fWk43V2ViQ29yZTEwUmVuZGVyVmlldzEwY29tcG9zaXRv
ckV2CiBfX1pON1dlYkNvcmUxMFJlbmRlclZpZXc3aGl0VGVzdEVSS05TXzE0SGl0VGVzdFJlcXVl
c3RFUk5TXzEzSGl0VGVzdFJlc3VsdEUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRWRpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAppbmRleCA3
ZWU3ZTFkYjczYmQ4NWUxOGRjMDdiOGFlMTM3ZTJiMjRhZjlhNDgzLi5lY2RlYmFhNmFiZDMyZTVl
ZWNhZThkZWYxMzZlYzEzMmY3MzY5NDlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0VkaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCkBA
IC0zNyw5ICszNyw2IEBACiAjaW5jbHVkZSAiQ2xpcGJvYXJkRXZlbnQuaCIKICNpbmNsdWRlICJD
b21wb3NpdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiQ3JlYXRlTGlua0NvbW1hbmQuaCIKLSNpZiBF
TkFCTEUoREVMRVRJT05fVUkpCi0jaW5jbHVkZSAiRGVsZXRlQnV0dG9uQ29udHJvbGxlci5oIgot
I2VuZGlmCiAjaW5jbHVkZSAiRGVsZXRlU2VsZWN0aW9uQ29tbWFuZC5oIgogI2luY2x1ZGUgIkRp
Y3RhdGlvbkFsdGVybmF0aXZlLmgiCiAjaW5jbHVkZSAiRGljdGF0aW9uQ29tbWFuZC5oIgpAQCAt
OTUsNiArOTIsMTAgQEAKICNpbmNsdWRlIDx3dGYvdW5pY29kZS9DaGFyYWN0ZXJOYW1lcy5oPgog
I2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KIAorI2lmIEVOQUJMRShERUxFVElPTl9V
SSkKKyNpbmNsdWRlICJEZWxldGVCdXR0b25Db250cm9sbGVyLmgiCisjZW5kaWYKKwogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwpAQCAtMTA3Niw2ICsxMDc3LDEx
IEBAIHZvaWQgRWRpdG9yOjpjb3B5KCkKIAogdm9pZCBFZGl0b3I6OnBhc3RlKCkKIHsKKyAgICBw
YXN0ZSgqUGFzdGVib2FyZDo6Y3JlYXRlRm9yQ29weUFuZFBhc3RlKCkpOworfQorCit2b2lkIEVk
aXRvcjo6cGFzdGUoUGFzdGVib2FyZCYgcGFzdGVib2FyZCkKK3sKICAgICBBU1NFUlQobV9mcmFt
ZS5kb2N1bWVudCgpKTsKICAgICBpZiAodHJ5REhUTUxQYXN0ZSgpKQogICAgICAgICByZXR1cm47
IC8vIERIVE1MIGRpZCB0aGUgd2hvbGUgb3BlcmF0aW9uCkBAIC0xMDg1LDkgKzEwOTEsOSBAQCB2
b2lkIEVkaXRvcjo6cGFzdGUoKQogICAgIENhY2hlZFJlc291cmNlTG9hZGVyKiBsb2FkZXIgPSBt
X2ZyYW1lLmRvY3VtZW50KCktPmNhY2hlZFJlc291cmNlTG9hZGVyKCk7CiAgICAgUmVzb3VyY2VD
YWNoZVZhbGlkYXRpb25TdXBwcmVzc29yIHZhbGlkYXRpb25TdXBwcmVzc29yKGxvYWRlcik7CiAg
ICAgaWYgKG1fZnJhbWUuc2VsZWN0aW9uKCkuaXNDb250ZW50UmljaGx5RWRpdGFibGUoKSkKLSAg
ICAgICAgcGFzdGVXaXRoUGFzdGVib2FyZChQYXN0ZWJvYXJkOjpjcmVhdGVGb3JDb3B5QW5kUGFz
dGUoKS5nZXQoKSwgdHJ1ZSk7CisgICAgICAgIHBhc3RlV2l0aFBhc3RlYm9hcmQoJnBhc3RlYm9h
cmQsIHRydWUpOwogICAgIGVsc2UKLSAgICAgICAgcGFzdGVBc1BsYWluVGV4dFdpdGhQYXN0ZWJv
YXJkKFBhc3RlYm9hcmQ6OmNyZWF0ZUZvckNvcHlBbmRQYXN0ZSgpLmdldCgpKTsKKyAgICAgICAg
cGFzdGVBc1BsYWluVGV4dFdpdGhQYXN0ZWJvYXJkKCZwYXN0ZWJvYXJkKTsKIH0KIAogdm9pZCBF
ZGl0b3I6OnBhc3RlQXNQbGFpblRleHQoKQpAQCAtMTEzNSw3ICsxMTQxLDEyIEBAIHZvaWQgRWRp
dG9yOjpzaW1wbGlmeU1hcmt1cChOb2RlKiBzdGFydE5vZGUsIE5vZGUqIGVuZE5vZGUpCiAKIHZv
aWQgRWRpdG9yOjpjb3B5VVJMKGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiB0aXRsZSkK
IHsKLSAgICBQYXN0ZWJvYXJkOjpjcmVhdGVGb3JDb3B5QW5kUGFzdGUoKS0+d3JpdGVVUkwodXJs
LCB0aXRsZSwgJm1fZnJhbWUpOworICAgIGNvcHlVUkwodXJsLCB0aXRsZSwgKlBhc3RlYm9hcmQ6
OmNyZWF0ZUZvckNvcHlBbmRQYXN0ZSgpKTsKK30KKwordm9pZCBFZGl0b3I6OmNvcHlVUkwoY29u
c3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBQYXN0ZWJvYXJkJiBwYXN0ZWJvYXJk
KQoreworICAgIHBhc3RlYm9hcmQud3JpdGVVUkwodXJsLCB0aXRsZSwgJm1fZnJhbWUpOwogfQog
CiB2b2lkIEVkaXRvcjo6Y29weUltYWdlKGNvbnN0IEhpdFRlc3RSZXN1bHQmIHJlc3VsdCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmggYi9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRvci5oCmluZGV4IGRkMmRjOTliOTM2Y2VkMjk2ZDZiZWQ4ZDVlNTRiMmUw
OTJkOGQ0YTIuLjM0ZDU3NjNmMzEzODk2YjBlMWNkYjQ3ZWMwZjdiZmI5NWIyNTE3MzQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9FZGl0b3IuaApAQCAtMTI5LDEwICsxMjksMTIgQEAgcHVibGljOgogICAgIHZv
aWQgY3V0KCk7CiAgICAgdm9pZCBjb3B5KCk7CiAgICAgdm9pZCBwYXN0ZSgpOworICAgIHZvaWQg
cGFzdGUoUGFzdGVib2FyZCYpOwogICAgIHZvaWQgcGFzdGVBc1BsYWluVGV4dCgpOwogICAgIHZv
aWQgcGVyZm9ybURlbGV0ZSgpOwogCi0gICAgdm9pZCBjb3B5VVJMKGNvbnN0IEtVUkwmLCBjb25z
dCBTdHJpbmcmKTsKKyAgICB2b2lkIGNvcHlVUkwoY29uc3QgS1VSTCYsIGNvbnN0IFN0cmluZyYg
dGl0bGUpOworICAgIHZvaWQgY29weVVSTChjb25zdCBLVVJMJiwgY29uc3QgU3RyaW5nJiB0aXRs
ZSwgUGFzdGVib2FyZCYpOwogICAgIHZvaWQgY29weUltYWdlKGNvbnN0IEhpdFRlc3RSZXN1bHQm
KTsKIAogICAgIHZvaWQgaW5kZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0VkaXRvckNvbW1hbmQuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3JDb21t
YW5kLmNwcAppbmRleCBiMWY2NDc2NTJmMjE0M2JjYmY4NjE2NDcxNGI2MDM3ZjE1ZTkwMGU1Li4y
ZDM4MDljYzM5MjQ5MmFkYWIwY2ZiZTQ0NTI0M2U3NzdiOGU1OWZkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHAKQEAgLTkxOCwyMCArOTE4LDIyIEBAIHN0YXRpYyBi
b29sIGV4ZWN1dGVQYXN0ZShGcmFtZSYgZnJhbWUsIEV2ZW50KiwgRWRpdG9yQ29tbWFuZFNvdXJj
ZSBzb3VyY2UsIGNvbnN0CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKKyNpZiBQTEFURk9STShHVEsp
IHx8IFBMQVRGT1JNKFFUKQorCiBzdGF0aWMgYm9vbCBleGVjdXRlUGFzdGVHbG9iYWxTZWxlY3Rp
b24oRnJhbWUmIGZyYW1lLCBFdmVudCosIEVkaXRvckNvbW1hbmRTb3VyY2Ugc291cmNlLCBjb25z
dCBTdHJpbmcmKQogeworICAgIC8vIEZJWE1FOiBUaGlzIGNoZWNrIHNob3VsZCBiZSBpbiBhbiBl
bmFibGUgZnVuY3Rpb24sIG5vdCBoZXJlLgogICAgIGlmICghZnJhbWUuZWRpdG9yKCkuY2xpZW50
KCktPnN1cHBvcnRzR2xvYmFsU2VsZWN0aW9uKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKKwog
ICAgIEFTU0VSVF9VTlVTRUQoc291cmNlLCBzb3VyY2UgPT0gQ29tbWFuZEZyb21NZW51T3JLZXlC
aW5kaW5nKTsKICAgICBVc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvciB0eXBpbmdHZXN0dXJlSW5k
aWNhdG9yKGZyYW1lKTsKLQotICAgIGJvb2wgb2xkU2VsZWN0aW9uTW9kZSA9IFBhc3RlYm9hcmQ6
OmdlbmVyYWxQYXN0ZWJvYXJkKCktPmlzU2VsZWN0aW9uTW9kZSgpOwotICAgIFBhc3RlYm9hcmQ6
OmdlbmVyYWxQYXN0ZWJvYXJkKCktPnNldFNlbGVjdGlvbk1vZGUodHJ1ZSk7Ci0gICAgZnJhbWUu
ZWRpdG9yKCkucGFzdGUoKTsKLSAgICBQYXN0ZWJvYXJkOjpnZW5lcmFsUGFzdGVib2FyZCgpLT5z
ZXRTZWxlY3Rpb25Nb2RlKG9sZFNlbGVjdGlvbk1vZGUpOworICAgIGZyYW1lLmVkaXRvcigpLnBh
c3RlKCpQYXN0ZWJvYXJkOjpjcmVhdGVGb3JHbG9iYWxTZWxlY3Rpb24oKSk7CiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKKyNlbmRpZgorCiBzdGF0aWMgYm9vbCBleGVjdXRlUGFzdGVBbmRNYXRjaFN0
eWxlKEZyYW1lJiBmcmFtZSwgRXZlbnQqLCBFZGl0b3JDb21tYW5kU291cmNlIHNvdXJjZSwgY29u
c3QgU3RyaW5nJikKIHsKICAgICBpZiAoc291cmNlID09IENvbW1hbmRGcm9tTWVudU9yS2V5Qmlu
ZGluZykgewpAQCAtMTU1OSw3ICsxNTYxLDYgQEAgc3RhdGljIGNvbnN0IENvbW1hbmRNYXAmIGNy
ZWF0ZUNvbW1hbmRNYXAoKQogICAgICAgICB7ICJQYXN0ZSIsIHsgZXhlY3V0ZVBhc3RlLCBzdXBw
b3J0ZWRQYXN0ZSwgZW5hYmxlZFBhc3RlLCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dElu
c2VydGlvbiwgYWxsb3dFeGVjdXRpb25XaGVuRGlzYWJsZWQgfSB9LAogICAgICAgICB7ICJQYXN0
ZUFuZE1hdGNoU3R5bGUiLCB7IGV4ZWN1dGVQYXN0ZUFuZE1hdGNoU3R5bGUsIHN1cHBvcnRlZFBh
c3RlLCBlbmFibGVkUGFzdGUsIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9u
LCBhbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCiAgICAgICAgIHsgIlBhc3RlQXNQbGFp
blRleHQiLCB7IGV4ZWN1dGVQYXN0ZUFzUGxhaW5UZXh0LCBzdXBwb3J0ZWRQYXN0ZSwgZW5hYmxl
ZFBhc3RlLCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgYWxsb3dFeGVj
dXRpb25XaGVuRGlzYWJsZWQgfSB9LAotICAgICAgICB7ICJQYXN0ZUdsb2JhbFNlbGVjdGlvbiIs
IHsgZXhlY3V0ZVBhc3RlR2xvYmFsU2VsZWN0aW9uLCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5Qmlu
ZGluZywgZW5hYmxlZFBhc3RlLCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlv
biwgYWxsb3dFeGVjdXRpb25XaGVuRGlzYWJsZWQgfSB9LAogICAgICAgICB7ICJQcmludCIsIHsg
ZXhlY3V0ZVByaW50LCBzdXBwb3J0ZWQsIGVuYWJsZWQsIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBu
b3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKICAg
ICAgICAgeyAiUmVkbyIsIHsgZXhlY3V0ZVJlZG8sIHN1cHBvcnRlZCwgZW5hYmxlZFJlZG8sIHN0
YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9u
V2hlbkRpc2FibGVkIH0gfSwKICAgICAgICAgeyAiUmVtb3ZlRm9ybWF0IiwgeyBleGVjdXRlUmVt
b3ZlRm9ybWF0LCBzdXBwb3J0ZWQsIGVuYWJsZWRSYW5nZUluRWRpdGFibGVUZXh0LCBzdGF0ZU5v
bmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5E
aXNhYmxlZCB9IH0sCkBAIC0xNTk0LDYgKzE1OTUsMTAgQEAgc3RhdGljIGNvbnN0IENvbW1hbmRN
YXAmIGNyZWF0ZUNvbW1hbmRNYXAoKQogICAgICAgICB7ICJZYW5rIiwgeyBleGVjdXRlWWFuaywg
c3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRJbkVkaXRhYmxlVGV4dCwgc3Rh
dGVOb25lLCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25X
aGVuRGlzYWJsZWQgfSB9LAogICAgICAgICB7ICJZYW5rQW5kU2VsZWN0IiwgeyBleGVjdXRlWWFu
a0FuZFNlbGVjdCwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRJbkVkaXRh
YmxlVGV4dCwgc3RhdGVOb25lLCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxs
b3dFeGVjdXRpb25XaGVuRGlzYWJsZWQgfSB9LAogCisjaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFU
Rk9STShRVCkKKyAgICAgICAgeyAiUGFzdGVHbG9iYWxTZWxlY3Rpb24iLCB7IGV4ZWN1dGVQYXN0
ZUdsb2JhbFNlbGVjdGlvbiwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRQ
YXN0ZSwgc3RhdGVOb25lLCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGFsbG93RXhlY3V0
aW9uV2hlbkRpc2FibGVkIH0gfSwKKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oTUFDKQogICAgICAg
ICB7ICJUYWtlRmluZFN0cmluZ0Zyb21TZWxlY3Rpb24iLCB7IGV4ZWN1dGVUYWtlRmluZFN0cmlu
Z0Zyb21TZWxlY3Rpb24sIHN1cHBvcnRlZEZyb21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkVGFr
ZUZpbmRTdHJpbmdGcm9tU2VsZWN0aW9uLCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dElu
c2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCiAjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0SG9zdC5jcHAKaW5kZXgg
YThlYjQwMzZmODRlOTczZTdjN2ZiNzU2MzhmMWI4MDAzYTA0YjA1MS4uOTE4YmZlMWI3NmZkYTJl
NjVlY2U4ODFiODk5YjQzZDE4ZjhmNjYzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luamVjdGVkU2NyaXB0SG9zdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luamVjdGVkU2NyaXB0SG9zdC5jcHAKQEAgLTEyMCw3ICsxMjAsNyBAQCB2b2lkIEluamVj
dGVkU2NyaXB0SG9zdDo6Y2xlYXJDb25zb2xlTWVzc2FnZXMoKQogCiB2b2lkIEluamVjdGVkU2Ny
aXB0SG9zdDo6Y29weVRleHQoY29uc3QgU3RyaW5nJiB0ZXh0KQogewotICAgIFBhc3RlYm9hcmQ6
OmdlbmVyYWxQYXN0ZWJvYXJkKCktPndyaXRlUGxhaW5UZXh0KHRleHQsIFBhc3RlYm9hcmQ6OkNh
bm5vdFNtYXJ0UmVwbGFjZSk7CisgICAgUGFzdGVib2FyZDo6Y3JlYXRlRm9yQ29weUFuZFBhc3Rl
KCktPndyaXRlUGxhaW5UZXh0KHRleHQsIFBhc3RlYm9hcmQ6OkNhbm5vdFNtYXJ0UmVwbGFjZSk7
CiB9CiAKIFNjcmlwdFZhbHVlIEluamVjdGVkU2NyaXB0SG9zdDo6SW5zcGVjdGFibGVPYmplY3Q6
OmdldChTY3JpcHRTdGF0ZSopCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JGcm9udGVuZEhvc3QuY3BwCmluZGV4IDEyNGI5YjllNDJjYjg3NTcwOGUyNzViOGI1NjVj
MzkzMjFmNjE0NjguLmQyZDk2ZWU4ODEyNWI4MmRmN2Y4YWMzM2ZjOWI3NWUxYzExNDY1M2UgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3Qu
Y3BwCkBAIC0yMjQsNyArMjI0LDcgQEAgU3RyaW5nIEluc3BlY3RvckZyb250ZW5kSG9zdDo6bG9j
YWxpemVkU3RyaW5nc1VSTCgpCiAKIHZvaWQgSW5zcGVjdG9yRnJvbnRlbmRIb3N0Ojpjb3B5VGV4
dChjb25zdCBTdHJpbmcmIHRleHQpCiB7Ci0gICAgUGFzdGVib2FyZDo6Z2VuZXJhbFBhc3RlYm9h
cmQoKS0+d3JpdGVQbGFpblRleHQodGV4dCwgUGFzdGVib2FyZDo6Q2Fubm90U21hcnRSZXBsYWNl
KTsKKyAgICBQYXN0ZWJvYXJkOjpjcmVhdGVGb3JDb3B5QW5kUGFzdGUoKS0+d3JpdGVQbGFpblRl
eHQodGV4dCwgUGFzdGVib2FyZDo6Q2Fubm90U21hcnRSZXBsYWNlKTsKIH0KIAogdm9pZCBJbnNw
ZWN0b3JGcm9udGVuZEhvc3Q6Om9wZW5Jbk5ld1RhYihjb25zdCBTdHJpbmcmIHVybCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAppbmRleCBkYWYwNWU4ZGRjMjg3ZTJmYTY1MmQ3NmMz
MDk3YTUyZGZiYTRhNDVkLi5mY2Q4Zjc0ZWNhZjBmYmMxNDllNjUzZjI2Y2ZiZmI1NTQ5YmNmOTEx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oCkBAIC0xMTAsOSArMTEwLDYgQEAg
cHVibGljOgogICAgIGJvb2wgaXNGb3JDb3B5QW5kUGFzdGUoKSBjb25zdCB7IHJldHVybiAhbV9p
c0ZvckRyYWdBbmREcm9wOyB9CiAjZW5kaWYKIAotICAgIC8vIERlcHJlY2F0ZWQuIFVzZSBjcmVh
dGVGb3JDb3B5QW5kUGFzdGUgaW5zdGVhZC4KLSAgICBzdGF0aWMgUGFzdGVib2FyZCogZ2VuZXJh
bFBhc3RlYm9hcmQoKTsKLQogICAgIHN0YXRpYyBQYXNzT3duUHRyPFBhc3RlYm9hcmQ+IGNyZWF0
ZUZvckNvcHlBbmRQYXN0ZSgpOwogICAgIHN0YXRpYyBQYXNzT3duUHRyPFBhc3RlYm9hcmQ+IGNy
ZWF0ZVByaXZhdGUoKTsgLy8gQ29ycmVzcG9uZHMgdG8gdGhlICJ1bmlxdWUgcGFzdGVib2FyZCIg
Y29uY2VwdCBvbiBNYWMuIFVzZWQgaW4gZWRpdGluZywgbm90IHN1cmUgZXhhY3RseSBmb3Igd2hh
dCBwdXJwb3NlLgogCkBAIC0xNjAsMTIgKzE1Nyw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEZy
YW1lKEZyYW1lKik7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShHVEsp
Ci0gICAgYm9vbCBpc1NlbGVjdGlvbk1vZGUoKSBjb25zdDsKLSAgICB2b2lkIHNldFNlbGVjdGlv
bk1vZGUoYm9vbCk7Ci0jZWxzZQotICAgIGJvb2wgaXNTZWxlY3Rpb25Nb2RlKCkgY29uc3QgeyBy
ZXR1cm4gZmFsc2U7IH0KLSAgICB2b2lkIHNldFNlbGVjdGlvbk1vZGUoYm9vbCkgeyB9CisjaWYg
UExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShRVCkKKyAgICBzdGF0aWMgUGFzc093blB0cjxQYXN0
ZWJvYXJkPiBjcmVhdGVGb3JHbG9iYWxTZWxlY3Rpb24oKTsKICNlbmRpZgogCiAjaWYgUExBVEZP
Uk0oV0lOKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9Q
YXN0ZWJvYXJkQmxhY2tCZXJyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2Jl
cnJ5L1Bhc3RlYm9hcmRCbGFja0JlcnJ5LmNwcAppbmRleCA0ZjY0NGVjNDY5MGJkOTdlOWIwZGZj
Y2E5YWZhMTJmOTAxMjU5ZDE1Li4wM2IwN2I2YWE2ZTdjMDA5NGM3MWY0YTQ3OTM5N2JhYTFkZjJj
MTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1Bhc3Rl
Ym9hcmRCbGFja0JlcnJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2Jl
cnJ5L1Bhc3RlYm9hcmRCbGFja0JlcnJ5LmNwcApAQCAtMzAsMTIgKzMwLDYgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1QYXN0ZWJvYXJkKiBQYXN0ZWJvYXJkOjpnZW5lcmFsUGFzdGVib2Fy
ZCgpCi17Ci0gICAgc3RhdGljIFBhc3RlYm9hcmQqIHBhc3RlYm9hcmQgPSBuZXcgUGFzdGVib2Fy
ZCgpOwotICAgIHJldHVybiBwYXN0ZWJvYXJkOwotfQotCiBQYXN0ZWJvYXJkOjpQYXN0ZWJvYXJk
KCkKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9QYXN0ZWJv
YXJkRWZsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9QYXN0ZWJvYXJkRWZsLmNw
cAppbmRleCBhNmVkZDUwYjgyY2UxNzBjMzMxNGMwYjUyODkwZTU3ZjQ3ZTIwZjljLi5iYjgzNGM5
NDU4NWQwYzJkZTNjN2EzNzA3ZDYyNGEzMTczYzI4MGZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9lZmwvUGFzdGVib2FyZEVmbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZWZsL1Bhc3RlYm9hcmRFZmwuY3BwCkBAIC0yOSwxNSArMjksOCBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLVBhc3RlYm9hcmQqIFBhc3RlYm9hcmQ6OmdlbmVyYWxQYXN0ZWJv
YXJkKCkKLXsKLSAgICBzdGF0aWMgUGFzdGVib2FyZCogcGFzdGVib2FyZCA9IG5ldyBQYXN0ZWJv
YXJkKCk7Ci0gICAgcmV0dXJuIHBhc3RlYm9hcmQ7Ci19Ci0KIFBhc3RlYm9hcmQ6OlBhc3RlYm9h
cmQoKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKIHZvaWQgUGFzdGVib2FyZDo6d3Jp
dGVQbGFpblRleHQoY29uc3QgU3RyaW5nJiwgU21hcnRSZXBsYWNlT3B0aW9uKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Bhc3RlYm9hcmRHdGsuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Bhc3RlYm9hcmRHdGsuY3BwCmluZGV4IDJjMGIzNzZlOWQ1
YmFmNzEwNDVhOTRjM2M0ODhlYWM5NmEyMjk2YjguLmQzMmY4OGY5ZjdiZmI0NjFjYjg1ZDgwYjEx
ZmFlMWVkNzM0NmU5YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9Q
YXN0ZWJvYXJkR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUGFzdGVi
b2FyZEd0ay5jcHAKQEAgLTY3LDYgKzY3LDExIEBAIFBhc3NPd25QdHI8UGFzdGVib2FyZD4gUGFz
dGVib2FyZDo6Y3JlYXRlRm9yQ29weUFuZFBhc3RlKCkKICAgICByZXR1cm4gY3JlYXRlKGd0a19j
bGlwYm9hcmRfZ2V0KEdES19TRUxFQ1RJT05fQ0xJUEJPQVJEKSk7CiB9CiAKK1Bhc3NPd25QdHI8
UGFzdGVib2FyZD4gUGFzdGVib2FyZDo6Y3JlYXRlRm9yR2xvYmFsU2VsZWN0aW9uKCkKK3sKKyAg
ICByZXR1cm4gY3JlYXRlKGd0a19jbGlwYm9hcmRfZ2V0KEdES19TRUxFQ1RJT05fUFJJTUFSWSkp
OworfQorCiBQYXNzT3duUHRyPFBhc3RlYm9hcmQ+IFBhc3RlYm9hcmQ6OmNyZWF0ZVByaXZhdGUo
KQogewogICAgIHJldHVybiBjcmVhdGUoRGF0YU9iamVjdEd0azo6Y3JlYXRlKCkpOwpAQCAtODIs
MjMgKzg3LDYgQEAgUGFzc093blB0cjxQYXN0ZWJvYXJkPiBQYXN0ZWJvYXJkOjpjcmVhdGVGb3JE
cmFnQW5kRHJvcChjb25zdCBEcmFnRGF0YSYgZHJhZ0RhdGEKICAgICByZXR1cm4gY3JlYXRlKGRy
YWdEYXRhLnBsYXRmb3JtRGF0YSgpKTsKIH0KIAotc3RhdGljIFBhc3RlYm9hcmQqIHNlbGVjdGlv
bkNsaXBib2FyZCgpCi17Ci0gICAgc3RhdGljIFBhc3RlYm9hcmQqIHBhc3RlYm9hcmQgPSBQYXN0
ZWJvYXJkOjpjcmVhdGUoZ3RrX2NsaXBib2FyZF9nZXQoR0RLX1NFTEVDVElPTl9DTElQQk9BUkQp
KS5sZWFrUHRyKCk7Ci0gICAgcmV0dXJuIHBhc3RlYm9hcmQ7Ci19Ci0KLXN0YXRpYyBQYXN0ZWJv
YXJkKiBwcmltYXJ5Q2xpcGJvYXJkKCkKLXsKLSAgICBzdGF0aWMgUGFzdGVib2FyZCogcGFzdGVi
b2FyZCA9IFBhc3RlYm9hcmQ6OmNyZWF0ZShndGtfY2xpcGJvYXJkX2dldChHREtfU0VMRUNUSU9O
X1BSSU1BUlkpKS5sZWFrUHRyKCk7Ci0gICAgcmV0dXJuIHBhc3RlYm9hcmQ7Ci19Ci0KLVBhc3Rl
Ym9hcmQqIFBhc3RlYm9hcmQ6OmdlbmVyYWxQYXN0ZWJvYXJkKCkKLXsKLSAgICByZXR1cm4gUGFz
dGVib2FyZEhlbHBlcjo6ZGVmYXVsdFBhc3RlYm9hcmRIZWxwZXIoKS0+dXNlUHJpbWFyeVNlbGVj
dGlvbkNsaXBib2FyZCgpID8gcHJpbWFyeUNsaXBib2FyZCgpIDogc2VsZWN0aW9uQ2xpcGJvYXJk
KCk7Ci19Ci0KIFBhc3RlYm9hcmQ6OlBhc3RlYm9hcmQoUGFzc1JlZlB0cjxEYXRhT2JqZWN0R3Rr
PiBkYXRhT2JqZWN0KQogICAgIDogbV9kYXRhT2JqZWN0KGRhdGFPYmplY3QpCiAgICAgLCBtX2d0
a0NsaXBib2FyZCgwKQpAQCAtMzQzLDE2ICszMzEsNiBAQCBTdHJpbmcgUGFzdGVib2FyZDo6cGxh
aW5UZXh0KEZyYW1lKiBmcmFtZSkKICAgICByZXR1cm4gbV9kYXRhT2JqZWN0LT50ZXh0KCk7CiB9
CiAKLWJvb2wgUGFzdGVib2FyZDo6aXNTZWxlY3Rpb25Nb2RlKCkgY29uc3QKLXsKLSAgICByZXR1
cm4gUGFzdGVib2FyZEhlbHBlcjo6ZGVmYXVsdFBhc3RlYm9hcmRIZWxwZXIoKS0+dXNlUHJpbWFy
eVNlbGVjdGlvbkNsaXBib2FyZCgpOwotfQotCi12b2lkIFBhc3RlYm9hcmQ6OnNldFNlbGVjdGlv
bk1vZGUoYm9vbCBzZWxlY3Rpb25Nb2RlKQotewotICAgIFBhc3RlYm9hcmRIZWxwZXI6OmRlZmF1
bHRQYXN0ZWJvYXJkSGVscGVyKCktPnNldFVzZVByaW1hcnlTZWxlY3Rpb25DbGlwYm9hcmQoc2Vs
ZWN0aW9uTW9kZSk7Ci19Ci0KIGJvb2wgUGFzdGVib2FyZDo6aGFzRGF0YSgpCiB7CiAgICAgaWYg
KG1fZ3RrQ2xpcGJvYXJkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Rr
L1Bhc3RlYm9hcmRIZWxwZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Bhc3Rl
Ym9hcmRIZWxwZXIuY3BwCmluZGV4IDEyNmU4N2FlYWEyMmI3NDU0ZmNhYmNlMjM2YTkwMjgxYjE3
YTQ1OWIuLmNmYTEzMDYyZmFkY2IyNzY5ZmQxYzQ5ZDhhZWY1Mjc5ZGI2ZGE0YTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9QYXN0ZWJvYXJkSGVscGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUGFzdGVib2FyZEhlbHBlci5jcHAKQEAgLTc0
LDcgKzc0LDYgQEAgUGFzdGVib2FyZEhlbHBlciogUGFzdGVib2FyZEhlbHBlcjo6ZGVmYXVsdFBh
c3RlYm9hcmRIZWxwZXIoKQogCiBQYXN0ZWJvYXJkSGVscGVyOjpQYXN0ZWJvYXJkSGVscGVyKCkK
ICAgICA6IG1fdGFyZ2V0TGlzdChndGtfdGFyZ2V0X2xpc3RfbmV3KDAsIDApKQotICAgICwgbV91
c2VQcmltYXJ5U2VsZWN0aW9uQ2xpcGJvYXJkKGZhbHNlKQogewogICAgIGluaXRHZGtBdG9tcygp
OwogCkBAIC05OSwxOCArOTgsNiBAQCBzdGF0aWMgaW5saW5lIEdka0Rpc3BsYXkqIGRpc3BsYXlG
cm9tRnJhbWUoRnJhbWUqIGZyYW1lKQogICAgIHJldHVybiBjbGllbnQgPyBndGtfd2lkZ2V0X2dl
dF9kaXNwbGF5KGNsaWVudCkgOiBnZGtfZGlzcGxheV9nZXRfZGVmYXVsdCgpOwogfQogCi1HdGtD
bGlwYm9hcmQqIFBhc3RlYm9hcmRIZWxwZXI6OmdldEN1cnJlbnRDbGlwYm9hcmQoRnJhbWUqIGZy
YW1lKQotewotICAgIGlmIChtX3VzZVByaW1hcnlTZWxlY3Rpb25DbGlwYm9hcmQpCi0gICAgICAg
IHJldHVybiBnZXRQcmltYXJ5U2VsZWN0aW9uQ2xpcGJvYXJkKGZyYW1lKTsKLSAgICByZXR1cm4g
Z2V0Q2xpcGJvYXJkKGZyYW1lKTsKLX0KLQotR3RrQ2xpcGJvYXJkKiBQYXN0ZWJvYXJkSGVscGVy
OjpnZXRDbGlwYm9hcmQoRnJhbWUqIGZyYW1lKSBjb25zdAotewotICAgIHJldHVybiBndGtfY2xp
cGJvYXJkX2dldF9mb3JfZGlzcGxheShkaXNwbGF5RnJvbUZyYW1lKGZyYW1lKSwgR0RLX1NFTEVD
VElPTl9DTElQQk9BUkQpOwotfQotCiBHdGtDbGlwYm9hcmQqIFBhc3RlYm9hcmRIZWxwZXI6Omdl
dFByaW1hcnlTZWxlY3Rpb25DbGlwYm9hcmQoRnJhbWUqIGZyYW1lKSBjb25zdAogewogICAgIHJl
dHVybiBndGtfY2xpcGJvYXJkX2dldF9mb3JfZGlzcGxheShkaXNwbGF5RnJvbUZyYW1lKGZyYW1l
KSwgR0RLX1NFTEVDVElPTl9QUklNQVJZKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2d0ay9QYXN0ZWJvYXJkSGVscGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
dGsvUGFzdGVib2FyZEhlbHBlci5oCmluZGV4IGJiNGU2MmY2YjI2ODc3YmJhNTk2NTY5MDU2NmI2
ZWJjNDA3YjQyZTYuLjVlYjY2OWU5ODIzNDgzNjA1NDVmZmY3OTcxYmZmZTFhOTE1YmU2ZjIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9QYXN0ZWJvYXJkSGVscGVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Bhc3RlYm9hcmRIZWxwZXIuaApAQCAt
MzgsMTMgKzM4LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgflBhc3RlYm9hcmRIZWxwZXIoKTsK
ICAgICBzdGF0aWMgUGFzdGVib2FyZEhlbHBlciogZGVmYXVsdFBhc3RlYm9hcmRIZWxwZXIoKTsK
IAotICAgIHZvaWQgc2V0VXNlUHJpbWFyeVNlbGVjdGlvbkNsaXBib2FyZChib29sIHVzZVByaW1h
cnkpIHsgbV91c2VQcmltYXJ5U2VsZWN0aW9uQ2xpcGJvYXJkID0gdXNlUHJpbWFyeTsgfQotICAg
IGJvb2wgdXNlUHJpbWFyeVNlbGVjdGlvbkNsaXBib2FyZCgpIHsgcmV0dXJuIG1fdXNlUHJpbWFy
eVNlbGVjdGlvbkNsaXBib2FyZDsgfQotCiAgICAgZW51bSBTbWFydFBhc3RlSW5jbHVzaW9uIHsg
SW5jbHVkZVNtYXJ0UGFzdGUsIERvTm90SW5jbHVkZVNtYXJ0UGFzdGUgfTsKIAotICAgIEd0a0Ns
aXBib2FyZCogZ2V0Q3VycmVudENsaXBib2FyZChGcmFtZSopOwotICAgIEd0a0NsaXBib2FyZCog
Z2V0Q2xpcGJvYXJkKEZyYW1lKikgY29uc3Q7CiAgICAgR3RrQ2xpcGJvYXJkKiBnZXRQcmltYXJ5
U2VsZWN0aW9uQ2xpcGJvYXJkKEZyYW1lKikgY29uc3Q7CiAgICAgR3RrVGFyZ2V0TGlzdCogdGFy
Z2V0TGlzdCgpIGNvbnN0OwogICAgIEd0a1RhcmdldExpc3QqIHRhcmdldExpc3RGb3JEYXRhT2Jq
ZWN0KERhdGFPYmplY3RHdGsqLCBTbWFydFBhc3RlSW5jbHVzaW9uID0gRG9Ob3RJbmNsdWRlU21h
cnRQYXN0ZSk7CkBAIC01OSw3ICs1NCw2IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBHdGtU
YXJnZXRMaXN0KiBtX3RhcmdldExpc3Q7Ci0gICAgYm9vbCBtX3VzZVByaW1hcnlTZWxlY3Rpb25D
bGlwYm9hcmQ7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
b3MvUGFzdGVib2FyZElPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QYXN0ZWJv
YXJkSU9TLm1tCmluZGV4IDIyZDM5ODdjM2YxZTdhNDdiNmEzN2QwNzNjZjRhNDU4ZTY2MTc2YjUu
LjIwMTFiNzNiZTNjODkxNTJiMWIxOWE2MTJiOWYwMzI1NTY4MmZiYTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QYXN0ZWJvYXJkSU9TLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2lvcy9QYXN0ZWJvYXJkSU9TLm1tCkBAIC0xMDAsMTIgKzEwMCw2IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogTlNTdHJpbmcgKldlYkFyY2hpdmVQYm9hcmRUeXBlID0g
QCJBcHBsZSBXZWIgQXJjaGl2ZSBwYXN0ZWJvYXJkIHR5cGUiOwogCi1QYXN0ZWJvYXJkKiBQYXN0
ZWJvYXJkOjpnZW5lcmFsUGFzdGVib2FyZCgpCi17Ci0gICAgc3RhdGljIFBhc3RlYm9hcmQqIHBh
c3RlYm9hcmQgPSBuZXcgUGFzdGVib2FyZDsKLSAgICByZXR1cm4gcGFzdGVib2FyZDsKLX0KLQog
UGFzdGVib2FyZDo6UGFzdGVib2FyZCgpCiAgICAgOiBtX2ZyYW1lKDApCiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJkTWFjLm1tCmluZGV4IDIyMjE5MjgwMzBmODY3
MWVmMjI3MDQ3NzA4YmUzYjgxMDVhMTk4OWEuLmQzYTcwZDFkYjc0ZDhhZjViMmZiNmFmZDU1N2Ri
ZmJmZDhiOTJiMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QYXN0
ZWJvYXJkTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJk
TWFjLm1tCkBAIC0xMTUsMTIgKzExNSw2IEBAIHN0YXRpYyBWZWN0b3I8U3RyaW5nPiB3cml0YWJs
ZVR5cGVzRm9ySW1hZ2UoKQogICAgIHJldHVybiB0eXBlczsKIH0KIAotUGFzdGVib2FyZCogUGFz
dGVib2FyZDo6Z2VuZXJhbFBhc3RlYm9hcmQoKSAKLXsKLSAgICBzdGF0aWMgUGFzdGVib2FyZCog
cGFzdGVib2FyZCA9IG5ldyBQYXN0ZWJvYXJkKE5TR2VuZXJhbFBib2FyZCk7Ci0gICAgcmV0dXJu
IHBhc3RlYm9hcmQ7Ci19Ci0KIFBhc3RlYm9hcmQ6OlBhc3RlYm9hcmQoY29uc3QgU3RyaW5nJiBw
YXN0ZWJvYXJkTmFtZSkKICAgICA6IG1fcGFzdGVib2FyZE5hbWUocGFzdGVib2FyZE5hbWUpCiAg
ICAgLCBtX2NoYW5nZUNvdW50KHBsYXRmb3JtU3RyYXRlZ2llcygpLT5wYXN0ZWJvYXJkU3RyYXRl
Z3koKS0+Y2hhbmdlQ291bnQobV9wYXN0ZWJvYXJkTmFtZSkpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9xdC9QYXN0ZWJvYXJkUXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vcXQvUGFzdGVib2FyZFF0LmNwcAppbmRleCA5ZThlNDM4N2YyYTUxZTYwNThmNzE2N2Nj
M2JjZGE5ZmQ3OTI0ZDA2Li4wZTY0YzEzOTUyODA3NmQ0YWRjMTE5YmYwMGY3OWQyOGNmNDFmZjlh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9QYXN0ZWJvYXJkUXQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1Bhc3RlYm9hcmRRdC5jcHAKQEAgLTcz
LDYgKzczLDEzIEBAIFBhc3NPd25QdHI8UGFzdGVib2FyZD4gUGFzdGVib2FyZDo6Y3JlYXRlRm9y
Q29weUFuZFBhc3RlKCkKICNlbmRpZgogfQogCitQYXNzT3duUHRyPFBhc3RlYm9hcmQ+IFBhc3Rl
Ym9hcmQ6OmNyZWF0ZUZvckdsb2JhbFNlbGVjdGlvbigpCit7CisgICAgT3duUHRyPFBhc3RlYm9h
cmQ+IHBhc3RlYm9hcmQgPSBjcmVhdGVGb3JDb3B5QW5kUGFzdGUoKTsKKyAgICBwYXN0ZWJvYXJk
LT5tX3NlbGVjdGlvbk1vZGUgPSB0cnVlOworICAgIHJldHVybiBwYXN0ZWJvYXJkLnJlbGVhc2Uo
KTsKK30KKwogUGFzc093blB0cjxQYXN0ZWJvYXJkPiBQYXN0ZWJvYXJkOjpjcmVhdGVQcml2YXRl
KCkKIHsKICAgICByZXR1cm4gY3JlYXRlKCk7CkBAIC0xMDUsMTQgKzExMiw2IEBAIFBhc3RlYm9h
cmQ6On5QYXN0ZWJvYXJkKCkKICAgICBtX3JlYWRhYmxlRGF0YSA9IDA7CiB9CiAKLVBhc3RlYm9h
cmQqIFBhc3RlYm9hcmQ6OmdlbmVyYWxQYXN0ZWJvYXJkKCkKLXsKLSAgICBzdGF0aWMgUGFzdGVi
b2FyZCogcGFzdGVib2FyZCA9IDA7Ci0gICAgaWYgKCFwYXN0ZWJvYXJkKQotICAgICAgICBwYXN0
ZWJvYXJkID0gbmV3IFBhc3RlYm9hcmQoMCwgZmFsc2UpOwotICAgIHJldHVybiBwYXN0ZWJvYXJk
OwotfQotCiB2b2lkIFBhc3RlYm9hcmQ6OndyaXRlU2VsZWN0aW9uKFJhbmdlKiBzZWxlY3RlZFJh
bmdlLCBib29sIGNhblNtYXJ0Q29weU9yRGVsZXRlLCBGcmFtZSogZnJhbWUsIFNob3VsZFNlcmlh
bGl6ZVNlbGVjdGVkVGV4dEZvckNsaXBib2FyZCBzaG91bGRTZXJpYWxpemVTZWxlY3RlZFRleHRG
b3JDbGlwYm9hcmQpCiB7CiAgICAgUU1pbWVEYXRhKiBtZCA9IG5ldyBRTWltZURhdGE7CkBAIC0y
MzAsMTYgKzIyOSw2IEBAIHZvaWQgUGFzdGVib2FyZDo6d3JpdGVJbWFnZShOb2RlKiBub2RlLCBj
b25zdCBLVVJMJiwgY29uc3QgU3RyaW5nJikKICNlbmRpZgogfQogCi1ib29sIFBhc3RlYm9hcmQ6
OmlzU2VsZWN0aW9uTW9kZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fc2VsZWN0aW9uTW9kZTsK
LX0KLQotdm9pZCBQYXN0ZWJvYXJkOjpzZXRTZWxlY3Rpb25Nb2RlKGJvb2wgc2VsZWN0aW9uTW9k
ZSkKLXsKLSAgICBtX3NlbGVjdGlvbk1vZGUgPSBzZWxlY3Rpb25Nb2RlOwotfQotCiBjb25zdCBR
TWltZURhdGEqIFBhc3RlYm9hcmQ6OnJlYWREYXRhKCkgY29uc3QKIHsKICAgICBBU1NFUlQoISht
X3JlYWRhYmxlRGF0YSAmJiBtX3dyaXRhYmxlRGF0YSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vd2luL1Bhc3RlYm9hcmRXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vd2luL1Bhc3RlYm9hcmRXaW4uY3BwCmluZGV4IGI4N2ZlOGE2MzFkYjYwZjIyZTkwMjdl
NDFmMGQxM2I5YzRiZDhlYjUuLmM3Y2ZkYWU4MTA3NTFmYzU0NTdlNjdjYTI2NTBkNDY4OTM3ZDg1
ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9QYXN0ZWJvYXJkV2lu
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUGFzdGVib2FyZFdpbi5jcHAK
QEAgLTkwLDEyICs5MCw2IEBAIHN0YXRpYyBMUkVTVUxUIENBTExCQUNLIFBhc3RlYm9hcmRPd25l
clduZFByb2MoSFdORCBoV25kLCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSB3CiAgICAgcmV0dXJuIGxy
ZXN1bHQ7CiB9CiAKLVBhc3RlYm9hcmQqIFBhc3RlYm9hcmQ6OmdlbmVyYWxQYXN0ZWJvYXJkKCkg
Ci17Ci0gICAgc3RhdGljIFBhc3RlYm9hcmQqIHBhc3RlYm9hcmQgPSBuZXcgUGFzdGVib2FyZDsK
LSAgICByZXR1cm4gcGFzdGVib2FyZDsKLX0KLQogUGFzc093blB0cjxQYXN0ZWJvYXJkPiBQYXN0
ZWJvYXJkOjpjcmVhdGVGb3JDb3B5QW5kUGFzdGUoKQogewogICAgIE93blB0cjxQYXN0ZWJvYXJk
PiBwYXN0ZWJvYXJkID0gYWRvcHRQdHIobmV3IFBhc3RlYm9hcmQpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRRdC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudFF0LmNwcAppbmRleCA3MzZkNDBh
YzVlMTk5NDE4YjJhNDk5NjAwYjllZTBmMmVkZTJlMWZmLi5jODVkZDgyYzU1MjMxYTA5ZGE4Y2Q0
NDM5ZDkxZGQ5NTNkNDk1YTc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVT
dXBwb3J0L0VkaXRvckNsaWVudFF0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVT
dXBwb3J0L0VkaXRvckNsaWVudFF0LmNwcApAQCAtMjAzLDEyICsyMDMsOCBAQCB2b2lkIEVkaXRv
ckNsaWVudFF0OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKEZyYW1lKiBmcmFtZSkKIC8vICAg
ICBzZWxlY3Rpb24uZm9ybWF0Rm9yRGVidWdnZXIoYnVmZmVyLCBzaXplb2YoYnVmZmVyKSk7CiAv
LyAgICAgcHJpbnRmKCIlc1xuIiwgYnVmZmVyKTsKIAotICAgIGlmIChzdXBwb3J0c0dsb2JhbFNl
bGVjdGlvbigpICYmIGZyYW1lLT5zZWxlY3Rpb24oKS5pc1JhbmdlKCkpIHsKLSAgICAgICAgYm9v
bCBvbGRTZWxlY3Rpb25Nb2RlID0gUGFzdGVib2FyZDo6Z2VuZXJhbFBhc3RlYm9hcmQoKS0+aXNT
ZWxlY3Rpb25Nb2RlKCk7Ci0gICAgICAgIFBhc3RlYm9hcmQ6OmdlbmVyYWxQYXN0ZWJvYXJkKCkt
PnNldFNlbGVjdGlvbk1vZGUodHJ1ZSk7Ci0gICAgICAgIFBhc3RlYm9hcmQ6OmdlbmVyYWxQYXN0
ZWJvYXJkKCktPndyaXRlU2VsZWN0aW9uKGZyYW1lLT5zZWxlY3Rpb24oKS50b05vcm1hbGl6ZWRS
YW5nZSgpLmdldCgpLCBmcmFtZS0+ZWRpdG9yKCkuY2FuU21hcnRDb3B5T3JEZWxldGUoKSwgZnJh
bWUpOwotICAgICAgICBQYXN0ZWJvYXJkOjpnZW5lcmFsUGFzdGVib2FyZCgpLT5zZXRTZWxlY3Rp
b25Nb2RlKG9sZFNlbGVjdGlvbk1vZGUpOwotICAgIH0KKyAgICBpZiAoc3VwcG9ydHNHbG9iYWxT
ZWxlY3Rpb24oKSAmJiBmcmFtZS0+c2VsZWN0aW9uKCkuaXNSYW5nZSgpKQorICAgICAgICBQYXN0
ZWJvYXJkOjpjcmVhdGVGb3JHbG9iYWxTZWxlY3Rpb24oKS0+d3JpdGVTZWxlY3Rpb24oZnJhbWUt
PnNlbGVjdGlvbigpLnRvTm9ybWFsaXplZFJhbmdlKCkuZ2V0KCksIGZyYW1lLT5lZGl0b3IoKS5j
YW5TbWFydENvcHlPckRlbGV0ZSgpLCBmcmFtZSk7CiAKICAgICBtX3BhZ2UtPnJlc3BvbmRUb0No
YW5nZWRTZWxlY3Rpb24oKTsKICAgICBpZiAoIWZyYW1lLT5lZGl0b3IoKS5pZ25vcmVDb21wb3Np
dGlvblNlbGVjdGlvbkNoYW5nZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJD
b3JlU3VwcG9ydC9RV2ViUGFnZUFkYXB0ZXIuY3BwIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9RV2ViUGFnZUFkYXB0ZXIuY3BwCmluZGV4IDcwNGRhNDhlMWQwYjBkYjFjZjJhM2Qz
ZjlkODQwNTBkZjFiYTc4MDguLmZmZTI3YTg0MTNhZjAwNDIwNDhlZTRmNTFmNjgxNzlmZTVlOTQw
ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUVdlYlBhZ2VB
ZGFwdGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1FXZWJQYWdl
QWRhcHRlci5jcHAKQEAgLTEwNzQsMTYgKzEwNzQsMTIgQEAgdm9pZCBRV2ViUGFnZUFkYXB0ZXI6
OnRyaWdnZXJBY3Rpb24oUVdlYlBhZ2VBZGFwdGVyOjpNZW51QWN0aW9uIGFjdGlvbiwgUVdlYkhp
dFQKICAgICAgICAgb3Blbk5ld1dpbmRvdyh1cmwsICZmcmFtZSk7CiAgICAgICAgIGJyZWFrOwog
ICAgICAgICB9Ci0gICAgY2FzZSBDb3B5TGlua1RvQ2xpcGJvYXJkOiB7CisgICAgY2FzZSBDb3B5
TGlua1RvQ2xpcGJvYXJkOgogI2lmIGRlZmluZWQoUV9XU19YMTEpCi0gICAgICAgIGJvb2wgb2xk
U2VsZWN0aW9uTW9kZSA9IFBhc3RlYm9hcmQ6OmdlbmVyYWxQYXN0ZWJvYXJkKCktPmlzU2VsZWN0
aW9uTW9kZSgpOwotICAgICAgICBQYXN0ZWJvYXJkOjpnZW5lcmFsUGFzdGVib2FyZCgpLT5zZXRT
ZWxlY3Rpb25Nb2RlKHRydWUpOwotICAgICAgICBlZGl0b3IuY29weVVSTChoaXRUZXN0UmVzdWx0
LT5saW5rVXJsLCBoaXRUZXN0UmVzdWx0LT5saW5rVGV4dCk7Ci0gICAgICAgIFBhc3RlYm9hcmQ6
OmdlbmVyYWxQYXN0ZWJvYXJkKCktPnNldFNlbGVjdGlvbk1vZGUob2xkU2VsZWN0aW9uTW9kZSk7
CisgICAgICAgIGVkaXRvci5jb3B5VVJMKGhpdFRlc3RSZXN1bHQtPmxpbmtVcmwsIGhpdFRlc3RS
ZXN1bHQtPmxpbmtUZXh0LCAqUGFzdGVib2FyZDo6Y3JlYXRlRm9yR2xvYmFsU2VsZWN0aW9uKCkp
OwogI2VuZGlmCiAgICAgICAgIGVkaXRvci5jb3B5VVJMKGhpdFRlc3RSZXN1bHQtPmxpbmtVcmws
IGhpdFRlc3RSZXN1bHQtPmxpbmtUZXh0KTsKICAgICAgICAgYnJlYWs7Ci0gICAgfQogICAgIGNh
c2UgT3BlbkltYWdlSW5OZXdXaW5kb3c6CiAgICAgICAgIG9wZW5OZXdXaW5kb3coaGl0VGVzdFJl
c3VsdC0+aW1hZ2VVcmwsICZmcmFtZSk7CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuY3Bw
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGll
bnQuY3BwCmluZGV4IGIxOWI1Mzc3OTk3NTBmYTk1ODVlYTQyN2M1NjY0YTg5YTgxN2UzNjEuLjhh
MjU1ZGVjNDY0MTQxMjRmMjRjZDVhODk2NTAyOGIyMTk0N2QxMDMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNs
aWVudC5jcHAKQEAgLTIwMywxNiArMjAzLDE0IEBAIHZvaWQgV2ViRWRpdG9yQ2xpZW50OjpyZXNw
b25kVG9DaGFuZ2VkU2VsZWN0aW9uKEZyYW1lKiBmcmFtZSkKIH0KIAogI2lmIFBMQVRGT1JNKFFU
KQorCiAvLyBGSVhNRTogVXNlIHRoaXMgZnVuY3Rpb24gZm9yIG90aGVyIFgxMS1iYXNlZCBwbGF0
Zm9ybXMgdGhhdCBuZWVkIHRvIG1hbnVhbGx5IHVwZGF0ZSB0aGUgZ2xvYmFsIHNlbGVjdGlvbi4K
IHZvaWQgV2ViRWRpdG9yQ2xpZW50Ojp1cGRhdGVHbG9iYWxTZWxlY3Rpb24oRnJhbWUqIGZyYW1l
KQogewotICAgIGlmIChzdXBwb3J0c0dsb2JhbFNlbGVjdGlvbigpICYmIGZyYW1lLT5zZWxlY3Rp
b24oKS5pc1JhbmdlKCkpIHsKLSAgICAgICAgYm9vbCBvbGRTZWxlY3Rpb25Nb2RlID0gUGFzdGVi
b2FyZDo6Z2VuZXJhbFBhc3RlYm9hcmQoKS0+aXNTZWxlY3Rpb25Nb2RlKCk7Ci0gICAgICAgIFBh
c3RlYm9hcmQ6OmdlbmVyYWxQYXN0ZWJvYXJkKCktPnNldFNlbGVjdGlvbk1vZGUodHJ1ZSk7Ci0g
ICAgICAgIFBhc3RlYm9hcmQ6OmdlbmVyYWxQYXN0ZWJvYXJkKCktPndyaXRlU2VsZWN0aW9uKGZy
YW1lLT5zZWxlY3Rpb24oKS50b05vcm1hbGl6ZWRSYW5nZSgpLmdldCgpLCBmcmFtZS0+ZWRpdG9y
KCkuY2FuU21hcnRDb3B5T3JEZWxldGUoKSwgZnJhbWUpOwotICAgICAgICBQYXN0ZWJvYXJkOjpn
ZW5lcmFsUGFzdGVib2FyZCgpLT5zZXRTZWxlY3Rpb25Nb2RlKG9sZFNlbGVjdGlvbk1vZGUpOwot
ICAgIH0KKyAgICBpZiAoc3VwcG9ydHNHbG9iYWxTZWxlY3Rpb24oKSAmJiBmcmFtZS0+c2VsZWN0
aW9uKCkuaXNSYW5nZSgpKQorICAgICAgICBQYXN0ZWJvYXJkOjpjcmVhdGVGb3JHbG9iYWxTZWxl
Y3Rpb24oKS0+d3JpdGVTZWxlY3Rpb24oZnJhbWUtPnNlbGVjdGlvbigpLnRvTm9ybWFsaXplZFJh
bmdlKCkuZ2V0KCksIGZyYW1lLT5lZGl0b3IoKS5jYW5TbWFydENvcHlPckRlbGV0ZSgpLCBmcmFt
ZSk7CiB9CisKICNlbmRpZgogCiB2b2lkIFdlYkVkaXRvckNsaWVudDo6ZGlkRW5kRWRpdGluZygp
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>