<?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>169646</bug_id>
          
          <creation_ts>2017-03-14 16:56:49 -0700</creation_ts>
          <short_desc>Wrap legacy WebRTC API in runtime flag</short_desc>
          <delta_ts>2017-03-16 17:05:49 -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>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=164217</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>169662</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jon Lee">jonlee</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>adam.bergkvist</cc>
    
    <cc>alex</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1287882</commentid>
    <comment_count>0</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2017-03-14 16:56:49 -0700</bug_when>
    <thetext>Wrap legacy WebRTC API in runtime flag</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1288749</commentid>
    <comment_count>1</comment_count>
      <attachid>304694</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-03-16 14:33:59 -0700</bug_when>
    <thetext>Created attachment 304694
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1288753</commentid>
    <comment_count>2</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-03-16 14:36:11 -0700</bug_when>
    <thetext>Patch is adding a runtime flag for the legacy API.
Turned on by default from now.

Also found that the overload for createOffer and createAnswer is not inline with the spec (parameters/order of parameters).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1288788</commentid>
    <comment_count>3</comment_count>
      <attachid>304704</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-03-16 15:22:55 -0700</bug_when>
    <thetext>Created attachment 304704
Fixing build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1288851</commentid>
    <comment_count>4</comment_count>
      <attachid>304704</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-16 17:05:41 -0700</bug_when>
    <thetext>Comment on attachment 304704
Fixing build

Clearing flags on attachment: 304704

Committed r214080: &lt;http://trac.webkit.org/changeset/214080&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1288852</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-16 17:05:49 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>304694</attachid>
            <date>2017-03-16 14:33:59 -0700</date>
            <delta_ts>2017-03-16 15:22:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169646-20170316143359.patch</filename>
            <type>text/plain</type>
            <size>24668</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE0MDQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGQ5MzAxZjBiZmJmYmZk
Zjg0YjhhYzUzZTM0YTEyMGYwNDRiYTA2Mi4uN2ExYWE4MjgwMzMxMTgyZWY0ODIwYWM4MjYyZmQ5
MTk2OGM1YmFjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI4IEBACiAyMDE3LTAzLTE2ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAorICAgICAgICBXcmFwIGxlZ2FjeSBXZWJS
VEMgQVBJIGluIHJ1bnRpbWUgZmxhZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTY5NjQ2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGVzdDogd2VicnRjL2xlZ2FjeS1hcGkuaHRtbAorCisgICAgICAgIEFk
ZGluZyBhIHJ1bnRpbWUgZmxhZyBmb3IgbGVnYWN5IEFQSS4KKyAgICAgICAgTWFraW5nIHNvbWUg
V2ViSURMIHBlZXIgY29ubmVjdGlvbiBtZW1iZXJzIHJ1bnRpbWUtZW5hYmxlZC4KKyAgICAgICAg
QWRkaW5nIGEgSlMgcHJpdmF0ZSBnZXR0ZXIgb24gdGhpcyBmbGFnIHNvIHRoYXQgb3ZlcmxvYWRl
ZCBvcGVyYXRpb25zIGJlaGF2ZSBhcyBwcm9taXNlLWJhc2VkIG9ubHkgaWYgZmxhZyBpcyB0dXJu
ZWQgb2ZmLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlv
bi5pZGw6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbklu
dGVybmFscy5qczoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjppc1dlYlJUQ0xlZ2FjeUFQSUVuYWJsZWQpOgorICAgICAgICAo
V2ViQ29yZTo6SlNET01HbG9iYWxPYmplY3Q6OmFkZEJ1aWx0aW5HbG9iYWxzKToKKyAgICAgICAg
KiBiaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmg6CisgICAgICAgICogcGFnZS9SdW50
aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjp3ZWJSVENMZWdhY3lBUElFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRp
bWVFbmFibGVkRmVhdHVyZXM6OnNldFdlYlJUQ0xlZ2FjeUFQSUVuYWJsZWQpOgorCisyMDE3LTAz
LTE2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKwogICAgICAgICBNZWRpYVN0
cmVhbVRyYWNrIHJlbW90ZSgpIG5vIGxvbmdlciBleGlzdHMKICAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2OTczNAogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXgg
MDQzNmIzY2VhOGEwNGMyYmJkYzIwMjk1NjcxYjM0MTY1ZTBiODI2Yi4uNWU3OGVkZDY1YjBkNGQz
OGFhNGU4OTRlZGIyOTg4OTZhZjkyNDhlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5
IEBACisyMDE3LTAzLTE2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAg
ICAgICBXcmFwIGxlZ2FjeSBXZWJSVEMgQVBJIGluIHJ1bnRpbWUgZmxhZworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY5NjQ2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVu
Y2VLZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW06Cisg
ICAgICAgICgrW1dlYlByZWZlcmVuY2VzIGluaXRpYWxpemVdKToKKyAgICAgICAgKC1bV2ViUHJl
ZmVyZW5jZXMgd2ViUlRDTGVnYWN5QVBJRW5hYmxlZF0pOgorICAgICAgICAoLVtXZWJQcmVmZXJl
bmNlcyBzZXRXZWJSVENMZWdhY3lBUElFbmFibGVkOl0pOgorICAgICAgICAqIFdlYlZpZXcvV2Vi
UHJlZmVyZW5jZXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAg
ICAgICAoLVtXZWJWaWV3IF9wcmVmZXJlbmNlc0NoYW5nZWQ6XSk6CisKIDIwMTctMDMtMTQgIE1l
Z2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBDb3JyZWN0
bHkgZXhwb3J0IFdlYkl0ZW1Qcm92aWRlclBhc3RlYm9hcmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBjMjRlMjkw
NGMwNzZjYTFkNjE3NDAyZDQ3ZmFiODQ2OGU3MzE3YjAyLi5mY2MzN2IxMWMwMTA4YmIxY2ExYjBl
ZDBjOTAyYTk2MzMyNTMzODNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjQgQEAKIDIwMTctMDMt
MTYgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCisgICAgICAgIFdyYXAgbGVn
YWN5IFdlYlJUQyBBUEkgaW4gcnVudGltZSBmbGFnCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjk2NDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBZGRpbmcgcHJlZmVyZW5jZSB0byBsZWdhY3kgQVBJLgor
CisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHA6CisgICAgICAgIChXS1ByZWZlcmVu
Y2VzU2V0V2ViUlRDTGVnYWN5QVBJRW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0
V2ViUlRDTGVnYWN5QVBJRW5hYmxlZCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJl
ZmVyZW5jZXNSZWYuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVj
dGVkQnVuZGxlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGU6Om92ZXJyaWRl
Qm9vbFByZWZlcmVuY2VGb3JUZXN0UnVubmVyKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnVwZGF0ZVByZWZlcmVu
Y2VzKToKKworMjAxNy0wMy0xNiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisK
ICAgICAgICAgW21hYy13azIgZGVidWddIExheW91dFRlc3Qgd2VicnRjL3ZpZGVvLW11dGUuaHRt
bCBpcyB0aW1pbmcgb3V0CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNjk3NTgKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmlkbAppbmRleCBmZWRlNDU3NmRiZmVmODdiNmYw
ODlhNmVhZjgwZDJjY2IxYjhlY2NiLi5lYzIxMDcxNzAyYWU1MTNiMWM4MmI1NjdlNDI0YjA5MzY5
ZjBmNTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q1BlZXJDb25uZWN0aW9uLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmlkbApAQCAtMTYzLDE2ICsxNjMsMTQgQEAKICAgICAvLyA5
LjYgSWRlbnRpdHkgUHJvdmlkZXIgQVBJCiAgICAgLy8gRklYTUUgMTY5NjQ0OiBtaXNzaW5nIElk
UAogCi0KICAgICAvLyBMZWdhY3kgTWVkaWFTdHJlYW0gQVBJCi0gICAgLy8gRklYTUUgMTY5NjQ2
OiB3cmFwIHRoaXMgaW4gcnVudGltZSBmbGFnCi0gICAgW0pTQnVpbHRpbl0gc2VxdWVuY2U8TWVk
aWFTdHJlYW0+IGdldExvY2FsU3RyZWFtcygpOwotICAgIFtQcml2YXRlSWRlbnRpZmllciwgUHVi
bGljSWRlbnRpZmllcl0gc2VxdWVuY2U8TWVkaWFTdHJlYW0+IGdldFJlbW90ZVN0cmVhbXMoKTsK
LSAgICBbSlNCdWlsdGluXSBNZWRpYVN0cmVhbSBnZXRTdHJlYW1CeUlkKERPTVN0cmluZyBzdHJl
YW1JZCk7CisgICAgW0pTQnVpbHRpbiwgRW5hYmxlZEF0UnVudGltZT1XZWJSVENMZWdhY3lBUEld
IHNlcXVlbmNlPE1lZGlhU3RyZWFtPiBnZXRMb2NhbFN0cmVhbXMoKTsKKyAgICBbUHJpdmF0ZUlk
ZW50aWZpZXIsIFB1YmxpY0lkZW50aWZpZXIsIEVuYWJsZWRBdFJ1bnRpbWU9V2ViUlRDTGVnYWN5
QVBJXSBzZXF1ZW5jZTxNZWRpYVN0cmVhbT4gZ2V0UmVtb3RlU3RyZWFtcygpOworICAgIFtKU0J1
aWx0aW4sIEVuYWJsZWRBdFJ1bnRpbWU9V2ViUlRDTGVnYWN5QVBJXSBNZWRpYVN0cmVhbSBnZXRT
dHJlYW1CeUlkKERPTVN0cmluZyBzdHJlYW1JZCk7CiAKLSAgICBbSlNCdWlsdGluXSB2b2lkIGFk
ZFN0cmVhbShNZWRpYVN0cmVhbSBzdHJlYW0pOwotICAgIFtKU0J1aWx0aW5dIHZvaWQgcmVtb3Zl
U3RyZWFtKE1lZGlhU3RyZWFtIHN0cmVhbSk7CisgICAgW0pTQnVpbHRpbiwgRW5hYmxlZEF0UnVu
dGltZT1XZWJSVENMZWdhY3lBUEldIHZvaWQgYWRkU3RyZWFtKE1lZGlhU3RyZWFtIHN0cmVhbSk7
CisgICAgW0pTQnVpbHRpbiwgRW5hYmxlZEF0UnVudGltZT1XZWJSVENMZWdhY3lBUEldIHZvaWQg
cmVtb3ZlU3RyZWFtKE1lZGlhU3RyZWFtIHN0cmVhbSk7CiAKICAgICAvLyBMZWdhY3kgZXZlbnQg
aGFuZGxlciAoTWVkaWFTdHJlYW0tYmFzZWQgQVBJKQotICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRs
ZXIgb25hZGRzdHJlYW07CisgICAgW0VuYWJsZWRBdFJ1bnRpbWU9V2ViUlRDTGVnYWN5QVBJXSBh
dHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uYWRkc3RyZWFtOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb25JbnRlcm5hbHMu
anMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9u
SW50ZXJuYWxzLmpzCmluZGV4IDQ5OGQ0Zjg4NjljN2I0YjExNTU1Yjk4YTlhNjdiNzBjYWFhYTE2
MGEuLjk5NjcxZWJlZTMyYzNlNThiMjg4YWJiZjIyYTNlZmY2M2UwOGExM2MgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb25JbnRl
cm5hbHMuanMKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVy
Q29ubmVjdGlvbkludGVybmFscy5qcwpAQCAtODgsNyArODgsNyBAQCBmdW5jdGlvbiBvYmplY3RB
bmRDYWxsYmFja3NPdmVybG9hZChhcmdzLCBmdW5jdGlvbk5hbWUsIG9iamVjdEluZm8sIHByb21p
c2VNb2RlLAogICAgIGlmICghb2JqZWN0QXJnT2spCiAgICAgICAgIHJldHVybiBAUHJvbWlzZS5A
cmVqZWN0KG5ldyBAVHlwZUVycm9yKGBBcmd1bWVudCAxICgnJHtvYmplY3RJbmZvLmFyZ05hbWV9
JykgdG8gUlRDUGVlckNvbm5lY3Rpb24uJHtmdW5jdGlvbk5hbWV9IG11c3QgYmUgYW4gaW5zdGFu
Y2Ugb2YgJHtvYmplY3RJbmZvLmFyZ1R5cGV9YCkpOwogCi0gICAgaWYgKGFyZ3NDb3VudCA9PT0g
MSkKKyAgICBpZiAoIUB3ZWJSVENMZWdhY3lBUElFbmFibGVkKCkgfHwgYXJnc0NvdW50ID09PSAx
KQogICAgICAgICByZXR1cm4gcHJvbWlzZU1vZGUob2JqZWN0QXJnKTsKIAogICAgIC8vIE1vcmUg
dGhhbiBvbmUgYXJndW1lbnQ6IExlZ2FjeSBtb2RlCkBAIC0xMTEsNyArMTExLDcgQEAgZnVuY3Rp
b24gY2FsbGJhY2tzQW5kRGljdGlvbmFyeU92ZXJsb2FkKGFyZ3MsIGZ1bmN0aW9uTmFtZSwgcHJv
bWlzZU1vZGUsIGxlZ2FjeU0KIHsKICAgICAidXNlIHN0cmljdCI7CiAKLSAgICBpZiAoYXJncy5s
ZW5ndGggPD0gMSkgeworICAgIGlmICghQHdlYlJUQ0xlZ2FjeUFQSUVuYWJsZWQoKSB8fCBhcmdz
Lmxlbmd0aCA8PSAxKSB7CiAgICAgICAgIC8vIFplcm8gb3Igb25lIGFyZ3VtZW50czogUHJvbWlz
ZSBtb2RlCiAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSBhcmdzWzBdOwogICAgICAgICBpZiAoYXJn
cy5sZW5ndGggJiYgIUBpc0RpY3Rpb25hcnkob3B0aW9ucykpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAKaW5kZXggNGU1ODFhMmQxOGUwNzE3
OTcxMzMxYmJiOGM5MjYwMTVlMDkxNDU0NC4uNWU3NTQ2NTA0N2FlYjViNGUxNzBiNmMxM2FlYTBj
NmIxMTFkNThhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01H
bG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xv
YmFsT2JqZWN0LmNwcApAQCAtNTAsNiArNTAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIEVu
Y29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgbWFrZVRoaXNUeXBlRXJyb3JGb3JCdWlsdGlucyhF
eGVjU3RhdGUqKTsKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgbWFrZUdldHRlclR5cGVF
cnJvckZvckJ1aWx0aW5zKEV4ZWNTdGF0ZSopOworRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBpc1dlYlJUQ0xlZ2FjeUFQSUVuYWJsZWQoRXhlY1N0YXRlKik7CiAKIGNvbnN0IENsYXNzSW5m
byBKU0RPTUdsb2JhbE9iamVjdDo6c19pbmZvID0geyAiRE9NR2xvYmFsT2JqZWN0IiwgJkpTR2xv
YmFsT2JqZWN0OjpzX2luZm8sIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNET01HbG9iYWxPYmpl
Y3QpIH07CiAKQEAgLTk5LDYgKzEwMCwxMSBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IG1ha2VHZXR0ZXJUeXBlRXJyb3JGb3JCdWlsdGlucyhFeGVjU3RhdGUqIGV4ZWNTdGF0ZQogICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUoY3JlYXRlVHlwZUVycm9yKGV4ZWNTdGF0ZSwgbWFrZUdl
dHRlclR5cGVFcnJvck1lc3NhZ2UoaW50ZXJmYWNlTmFtZS51dGY4KCkuZGF0YSgpLCBhdHRyaWJ1
dGVOYW1lLnV0ZjgoKS5kYXRhKCkpKSk7CiB9CiAKK0VuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NB
TEwgaXNXZWJSVENMZWdhY3lBUElFbmFibGVkKEV4ZWNTdGF0ZSopCit7CisgICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZShqc0Jvb2xlYW4oUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVh
dHVyZXMoKS53ZWJSVENMZWdhY3lBUElFbmFibGVkKCkpKTsKK30KKwogdm9pZCBKU0RPTUdsb2Jh
bE9iamVjdDo6YWRkQnVpbHRpbkdsb2JhbHMoVk0mIHZtKQogewogICAgIG1fYnVpbHRpbkludGVy
bmFsRnVuY3Rpb25zLmluaXRpYWxpemUoKnRoaXMpOwpAQCAtMTU1LDYgKzE2MSw5IEBAIHZvaWQg
SlNET01HbG9iYWxPYmplY3Q6OmFkZEJ1aWx0aW5HbG9iYWxzKFZNJiB2bSkKICNlbmRpZgogICAg
ICAgICBKU0RPTUdsb2JhbE9iamVjdDo6R2xvYmFsUHJvcGVydHlJbmZvKGNsaWVudERhdGEuYnVp
bHRpbk5hbWVzKCkuUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyUHJpdmF0ZU5hbWUoKSwgcHJp
dmF0ZVJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlckNvbnN0cnVjdG9yLCBEb250RGVsZXRlIHwg
UmVhZE9ubHkpLAogI2VuZGlmCisjaWYgRU5BQkxFKFdFQl9SVEMpCisgICAgICAgIEpTRE9NR2xv
YmFsT2JqZWN0OjpHbG9iYWxQcm9wZXJ0eUluZm8oY2xpZW50RGF0YS5idWlsdGluTmFtZXMoKS53
ZWJSVENMZWdhY3lBUElFbmFibGVkUHJpdmF0ZU5hbWUoKSwgSlNGdW5jdGlvbjo6Y3JlYXRlKHZt
LCB0aGlzLCAwLCBTdHJpbmcoKSwgaXNXZWJSVENMZWdhY3lBUElFbmFibGVkKSwgRG9udERlbGV0
ZSB8IFJlYWRPbmx5KSwKKyNlbmRpZgogICAgIH07CiAgICAgYWRkU3RhdGljR2xvYmFscyhzdGF0
aWNHbG9iYWxzLCBXVEZfQVJSQVlfTEVOR1RIKHN0YXRpY0dsb2JhbHMpKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAppbmRleCBkYTE4
NzkyZjgwYjNiMDc5MTQ5YTY3ODZjZjYyN2QzOGViNjk3ZjVlLi4yNWQyZTQ3YjZhYmE4YzBlMjQ5
OWJmYzA5ZTVkMzMzYmJjNTFkNzNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC0xMDcsNiArMTA3LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIG1hY3JvKHVuZGVybHlpbmdTaW5rKSBcCiAgICAgbWFjcm8odW5kZXJseWlu
Z1NvdXJjZSkgXAogICAgIG1hY3JvKHZpZXcpIFwKKyAgICBtYWNybyh3ZWJSVENMZWdhY3lBUElF
bmFibGVkKSBcCiAgICAgbWFjcm8od3JpdGluZykgXAogICAgIG1hY3JvKEhlYWRlcnMpIFwKICAg
ICBtYWNybyhNZWRpYVN0cmVhbSkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9S
dW50aW1lRW5hYmxlZEZlYXR1cmVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFi
bGVkRmVhdHVyZXMuaAppbmRleCA0Y2I1MjFmNmUyNzgxNDZhZDVkMzA0YjE1MzAwMWQwNzAwN2Y3
MjAxLi4wM2UyYmEwZGU1MDQ2MDNkYjBkN2FlMDcyODJlNTRkYmFiYTI3NDhlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaApAQCAtOTYsNiArOTYsOCBA
QCBwdWJsaWM6CiAjaWYgRU5BQkxFKFdFQl9SVEMpCiAgICAgYm9vbCBwZWVyQ29ubmVjdGlvbkVu
YWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzUGVlckNvbm5lY3Rpb25FbmFibGVkOyB9CiAgICAg
dm9pZCBzZXRQZWVyQ29ubmVjdGlvbkVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc1BlZXJD
b25uZWN0aW9uRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQorICAgIGJvb2wgd2ViUlRDTGVnYWN5QVBJ
RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fd2ViUlRDTGVnYWN5QVBJRW5hYmxlZDsgfQorICAg
IHZvaWQgc2V0V2ViUlRDTGVnYWN5QVBJRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX3dlYlJU
Q0xlZ2FjeUFQSUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICNlbmRpZgogCiAjaWYgRU5BQkxFKExF
R0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKQpAQCAtMjMxLDYgKzIzMyw3IEBAIHByaXZhdGU6CiAK
ICNpZiBFTkFCTEUoV0VCX1JUQykKICAgICBib29sIG1faXNQZWVyQ29ubmVjdGlvbkVuYWJsZWQg
eyB0cnVlIH07CisgICAgYm9vbCBtX3dlYlJUQ0xlZ2FjeUFQSUVuYWJsZWQgeyB0cnVlIH07CiAj
ZW5kaWYKIAogI2lmIEVOQUJMRShMRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCmlu
ZGV4IDhiNTUyMDI3ZTM5NjJkYzU2ZDI5ODdlNTY1MjkzMTFjYjg3YTBkMzEuLmI2YWQ3NWU3ODQ1
ZjE0MDEwMWZlNWZjNTc2NGY2YzM3OWU1NjYzMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaApAQCAtMTc3LDYgKzE3Nyw3
IEBACiAjZGVmaW5lIFdlYktpdFN1YnRsZUNyeXB0b0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2Vi
S2l0U3VidGxlQ3J5cHRvRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0TWVkaWFTdHJlYW1FbmFibGVk
UHJlZmVyZW5jZUtleSBAIldlYktpdE1lZGlhU3RyZWFtRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0
UGVlckNvbm5lY3Rpb25FbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFBlZXJDb25uZWN0aW9u
RW5hYmxlZCIKKyNkZWZpbmUgV2ViS2l0V2ViUlRDTGVnYWN5QVBJRW5hYmxlZFByZWZlcmVuY2VL
ZXkgQCJXZWJLaXRXZWJSVENMZWdhY3lBUElFbmFibGVkIgogI2RlZmluZSBXZWJLaXRMaW5rUHJl
bG9hZEVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TGlua1ByZWxvYWRFbmFibGVkIgogI2Rl
ZmluZSBXZWJLaXRDcmVkZW50aWFsTWFuYWdlbWVudEVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2Vi
S2l0Q3JlZGVudGlhbE1hbmFnZW1lbnRFbmFibGVkIgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlcy5tbQppbmRleCBjMjIxNjg4NTIwZTI4YTQ4ZDMzYjJmZGQ3OWRj
NTUxNjk1NDkyYzlmLi5kNTY4YTY5NjZiZjJmZWU4YzEzNDczMDMzMzg3NDM5MDc0OTc4NTFmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KQEAgLTY1NSw2
ICs2NTUsNyBAQCBwdWJsaWM6CiAjZW5kaWYKICNpZiBFTkFCTEUoV0VCX1JUQykKICAgICAgICAg
W05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSwgV2ViS2l0UGVlckNvbm5lY3Rpb25FbmFibGVk
UHJlZmVyZW5jZUtleSwKKyAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSwgV2Vi
S2l0V2ViUlRDTGVnYWN5QVBJRW5hYmxlZFByZWZlcmVuY2VLZXksCiAjZW5kaWYKICNpZiBFTkFC
TEUoSU5URVJTRUNUSU9OX09CU0VSVkVSKQogICAgICAgICBATk8sIFdlYktpdEludGVyc2VjdGlv
bk9ic2VydmVyRW5hYmxlZFByZWZlcmVuY2VLZXksCkBAIC0yNzc1LDYgKzI3NzYsMTYgQEAgc3Rh
dGljIE5TU3RyaW5nICpjbGFzc0lCQ3JlYXRvcklEID0gbmlsOwogICAgIFtzZWxmIF9zZXRCb29s
VmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0UGVlckNvbm5lY3Rpb25FbmFibGVkUHJlZmVyZW5jZUtl
eV07CiB9CiAKKy0gKEJPT0wpd2ViUlRDTGVnYWN5QVBJRW5hYmxlZAoreworICAgIHJldHVybiBb
c2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdFdlYlJUQ0xlZ2FjeUFQSUVuYWJsZWRQcmVmZXJl
bmNlS2V5XTsKK30KKworLSAodm9pZClzZXRXZWJSVENMZWdhY3lBUElFbmFibGVkOihCT09MKWZs
YWcKK3sKKyAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktpdFdlYlJUQ0xl
Z2FjeUFQSUVuYWJsZWRQcmVmZXJlbmNlS2V5XTsKK30KKwogLSAoQk9PTClsaW5rUHJlbG9hZEVu
YWJsZWQKIHsKICAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRMaW5rUHJl
bG9hZEVuYWJsZWRQcmVmZXJlbmNlS2V5XTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCmluZGV4IDQzZDdkZjg3ZDI0Yzk3MWFjNjljNDJl
MWY5NjgyYTM2NmU2NmE0ZmIuLmVlOTVmZjg3OTI3MjMxOTRmZTgyMGM2M2E5ZTRkN2YxNjA5Njk4
Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQ
cml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1By
aXZhdGUuaApAQCAtMTY4LDYgKzE2OCw5IEBAIGV4dGVybiBOU1N0cmluZyAqV2ViUHJlZmVyZW5j
ZXNDYWNoZU1vZGVsQ2hhbmdlZEludGVybmFsTm90aWZpY2F0aW9uOwogLSAodm9pZClzZXRQZWVy
Q29ubmVjdGlvbkVuYWJsZWQ6KEJPT0wpZmxhZzsKIC0gKEJPT0wpcGVlckNvbm5lY3Rpb25FbmFi
bGVkOwogCistICh2b2lkKXNldFdlYlJUQ0xlZ2FjeUFQSUVuYWJsZWQ6KEJPT0wpZmxhZzsKKy0g
KEJPT0wpd2ViUlRDTGVnYWN5QVBJRW5hYmxlZDsKKwogI2lmICFUQVJHRVRfT1NfSVBIT05FCiAv
LyB6ZXJvIG1lYW5zIGRvIEF1dG9TY2FsZQogLSAoZmxvYXQpUERGU2NhbGVGYWN0b3I7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggOGQzNWZjMTBhYTVhYmE0ZTcyNTQyZGY2
OGZlZjFlMjUxNDM1OTdmMC4uZjAyZDkwMDMyMmUxOWNlYjY3NjU3NWFkYzQ4MTM3YzViM2QxMzI5
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMjg2Nyw2ICsyODY3LDcg
QEAgc3RhdGljIGJvb2wgbmVlZHNTZWxmUmV0YWluV2hpbGVMb2FkaW5nUXVpcmsoKQogCiAjaWYg
RU5BQkxFKFdFQl9SVEMpCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVy
ZXMoKS5zZXRQZWVyQ29ubmVjdGlvbkVuYWJsZWQoW3ByZWZlcmVuY2VzIHBlZXJDb25uZWN0aW9u
RW5hYmxlZF0pOworICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCku
c2V0V2ViUlRDTGVnYWN5QVBJRW5hYmxlZChbcHJlZmVyZW5jZXMgd2ViUlRDTGVnYWN5QVBJRW5h
YmxlZF0pOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoV0VCX0FVRElPKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaCBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgKaW5kZXggYjljMTU5ZGIw
ODZlYjI1NjcxYTRlYmM4MzYyYmYyMDQ5NzI5NWQ4My4uNmMxOWQ1NDQ1ZGRkYmU2NjVjY2Q3MmZj
ODhlZGFjNzNkNWRjNThhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlBy
ZWZlcmVuY2VzRGVmaW5pdGlvbnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJl
ZmVyZW5jZXNEZWZpbml0aW9ucy5oCkBAIC0yMzgsNiArMjM4LDcgQEAKICAgICBtYWNybyhNb2Nr
Q2FwdHVyZURldmljZXNFbmFibGVkLCBtb2NrQ2FwdHVyZURldmljZXNFbmFibGVkLCBCb29sLCBi
b29sLCBmYWxzZSwgIiIsICIiKSBcCiAgICAgbWFjcm8oTWVkaWFDYXB0dXJlUmVxdWlyZXNTZWN1
cmVDb25uZWN0aW9uLCBtZWRpYUNhcHR1cmVSZXF1aXJlc1NlY3VyZUNvbm5lY3Rpb24sIEJvb2ws
IGJvb2wsIHRydWUsICIiLCAiIikgXAogICAgIG1hY3JvKEVudW1lcmF0aW5nQWxsTmV0d29ya0lu
dGVyZmFjZXNFbmFibGVkLCBlbnVtZXJhdGluZ0FsbE5ldHdvcmtJbnRlcmZhY2VzRW5hYmxlZCwg
Qm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKFdlYlJUQ0xlZ2FjeUFQSUVu
YWJsZWQsIHdlYlJUQ0xlZ2FjeUFQSUVuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUsICIiLCAiIikg
XAogICAgIG1hY3JvKElDRUNhbmRpZGF0ZUZpbHRlcmluZ0VuYWJsZWQsIGljZUNhbmRpZGF0ZUZp
bHRlcmluZ0VuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUsICIiLCAiIikgXAogICAgIG1hY3JvKFNo
YWRvd0RPTUVuYWJsZWQsIHNoYWRvd0RPTUVuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUsICJTaGFk
b3cgRE9NIiwgIkhUTUwgU2hhZG93IERPTSBwcm90b3R5cGUiKSBcCiAgICAgbWFjcm8oRmV0Y2hB
UElFbmFibGVkLCBmZXRjaEFQSUVuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUsICIiLCAiIikgXApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMu
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCmlu
ZGV4IGI4OTk1NTRiNDVlMmQzMGFkMjJlMWI5N2YyMjcwOWM3OTM3N2I3ZjcuLjk3ZWMxNDllNDc2
YjdiYjhiODNmMDE2YzA0NTY0YzNiZGViZDE3ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKQEAgLTEzNTEsNiArMTM1MSwxNiBAQCBi
b29sIFdLUHJlZmVyZW5jZXNHZXRQZWVyQ29ubmVjdGlvbkVuYWJsZWQoV0tQcmVmZXJlbmNlc1Jl
ZiBwcmVmZXJlbmNlc1JlZikKICAgICByZXR1cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+cGVl
ckNvbm5lY3Rpb25FbmFibGVkKCk7CiB9CiAKK3ZvaWQgV0tQcmVmZXJlbmNlc1NldFdlYlJUQ0xl
Z2FjeUFQSUVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFi
bGVkKQoreworICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNldFdlYlJUQ0xlZ2FjeUFQSUVu
YWJsZWQoZW5hYmxlZCk7Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldFdlYlJUQ0xlZ2FjeUFQ
SUVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKK3sKKyAgICByZXR1cm4g
dG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+d2ViUlRDTGVnYWN5QVBJRW5hYmxlZCgpOworfQorCiB2
b2lkIFdLUHJlZmVyZW5jZXNTZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoV0tQcmVmZXJlbmNl
c1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKQogewogICAgIHRvSW1wbChwcmVmZXJl
bmNlc1JlZiktPnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChlbmFibGVkKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmLmggYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZi5oCmluZGV4IGJj
NWQ3MGIwMTlhZDdmMDA0YWZjZWI2ZmQyYzU4Yzg0MDAxYmRhYzMuLjVjYjYxMjIwZWU4ODA3ZTli
YmY5OGJjODZmOGIxMGZiNDIzYTU5ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWYuaApAQCAtMjYwLDYgKzI2MCwxMCBAQCBXS19FWFBP
UlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0TWVkaWFTdHJlYW1FbmFibGVkKFdLUHJlZmVyZW5jZXNS
ZWYgcHJlZmVyZW5jZXNSZQogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFBlZXJDb25u
ZWN0aW9uRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGVuYWJs
ZWQpOwogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldFBlZXJDb25uZWN0aW9uRW5hYmxl
ZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKTsKIAorLy8gU2hvdWxkIGRlZmF1bHQg
dG8gZmFsc2UKK1dLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRXZWJSVENMZWdhY3lBUElF
bmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCk7CitX
S19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0V2ViUlRDTGVnYWN5QVBJRW5hYmxlZChXS1By
ZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKTsKKwogLy8gRGVmYXVsdHMgdG8gZmFsc2UuCiBX
S19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKFdL
UHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCk7CiBXS19FWFBPUlQg
Ym9vbCBXS1ByZWZlcmVuY2VzR2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKFdLUHJlZmVyZW5j
ZXNSZWYgcHJlZmVyZW5jZXNSZWYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcAppbmRleCA4ODVlM2U5
ZmQxODZiNGY3NzFjYmU4ZjQxNDkxY2IwMjNmYjE3YWVkLi5lYTJkZTZkNDc5MDExOTIxZGJiNzkx
YTI4YmFkOTU3M2MxNWExNWYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcApAQCAtMjM3LDYgKzIz
Nyw4IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6Om92ZXJyaWRlQm9vbFByZWZlcmVuY2VGb3JUZXN0
UnVubmVyKFdlYlBhZ2VHcm91cFByb3h5KiBwYWdlCiAjaWYgRU5BQkxFKFdFQl9SVEMpCiAgICAg
aWYgKHByZWZlcmVuY2UgPT0gIldlYktpdFBlZXJDb25uZWN0aW9uRW5hYmxlZCIpCiAgICAgICAg
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0UGVlckNvbm5lY3Rp
b25FbmFibGVkKGVuYWJsZWQpOworICAgIGlmIChwcmVmZXJlbmNlID09ICJXZWJLaXRXZWJSVENM
ZWdhY3lBUElFbmFibGVkIikKKyAgICAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVk
RmVhdHVyZXMoKS5zZXRXZWJSVENMZWdhY3lBUElFbmFibGVkKGVuYWJsZWQpOwogI2VuZGlmCiAK
ICAgICAvLyBNYXAgdGhlIG5hbWVzIHVzZWQgaW4gTGF5b3V0VGVzdHMgd2l0aCB0aGUgbmFtZXMg
dXNlZCBpbiBXZWJDb3JlOjpTZXR0aW5ncyBhbmQgV2ViUHJlZmVyZW5jZXNTdG9yZS4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCA2ODQ3YjJl
ZTAzMDAyNTFhNmMzMjhlMzFhMDAzMTI5YWM2MDM3MmNlLi5kZDZhZmUxODkzY2M4NjJiYmYzNmEx
MjEwY2EwZTU3YzZjMTYzYWZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwCkBAIC0zMTMwLDYgKzMxMzAsNyBAQCB2b2lkIFdlYlBhZ2U6OnVwZGF0
ZVByZWZlcmVuY2VzKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmIHN0b3JlKQogCiAjaWYgRU5B
QkxFKFdFQl9SVEMpCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMo
KS5zZXRQZWVyQ29ubmVjdGlvbkVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlBy
ZWZlcmVuY2VzS2V5OjpwZWVyQ29ubmVjdGlvbkVuYWJsZWRLZXkoKSkpOworICAgIFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0V2ViUlRDTGVnYWN5QVBJRW5hYmxl
ZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OndlYlJUQ0xlZ2Fj
eUFQSUVuYWJsZWRLZXkoKSkpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9M
UykKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBm
ODg3NTNkYTAzNTFiZWQ1OTU2YzM3Mjc4MjkyNDk0M2I4OTVjY2I1Li4wNmIxYjU1ZmRiOGYwNTY2
MGI4NWQ4ODUyYTVlMGZhNTVhZTdkM2IyIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysr
IGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTctMDMtMTYgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFdyYXAgbGVnYWN5IFdlYlJUQyBB
UEkgaW4gcnVudGltZSBmbGFnCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNjk2NDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAg
ICAgKGVuYWJsZUV4cGVyaW1lbnRhbEZlYXR1cmVzKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsOgorICAgICAgICAqIFdl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwOgorICAgICAg
ICAoV1RSOjpJbmplY3RlZEJ1bmRsZTo6YmVnaW5UZXN0aW5nKToKKyAgICAgICAgKiBXZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwOgorICAgICAgICAoV1RSOjpU
ZXN0UnVubmVyOjpzZXRXZWJSVENMZWdhY3lBUElFbmFibGVkKToKKyAgICAgICAgKiBXZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaDoKKwogMjAxNy0wMy0xNSAgVGlt
IEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBOdWxsIGRlcmVm
IHVuZGVyIGNhbGxBZnRlck5leHRQcmVzZW50YXRpb25VcGRhdGUKZGlmZiAtLWdpdCBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQppbmRleCBkODk1YTQ0YTQxOThiYzlmMTA4MmIxNGZl
NDJmMGNjY2U0YjM4NmM1Li4yOTdkMjdkODk3YWJhMzhlZDZlOTRmZjU0YTQ4NmU2NTk5MDU0YzQ2
IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0K
KysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCkBAIC04NDks
NiArODQ5LDcgQEAgc3RhdGljIHZvaWQgZW5hYmxlRXhwZXJpbWVudGFsRmVhdHVyZXMoV2ViUHJl
ZmVyZW5jZXMqIHByZWZlcmVuY2VzKQogICAgIFtwcmVmZXJlbmNlcyBzZXRXZWJHTDJFbmFibGVk
OllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNldFdlYkdQVUVuYWJsZWQ6WUVTXTsKICAgICBbcHJl
ZmVyZW5jZXMgc2V0UGVlckNvbm5lY3Rpb25FbmFibGVkOllFU107CisgICAgW3ByZWZlcmVuY2Vz
IHNldFdlYlJUQ0xlZ2FjeUFQSUVuYWJsZWQ6WUVTXTsKICAgICBbcHJlZmVyZW5jZXMgc2V0Q3Jl
ZGVudGlhbE1hbmFnZW1lbnRFbmFibGVkOllFU107CiB9CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwgYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIu
aWRsCmluZGV4IGQzOThjMzhmOTQwNjkwZTBmN2M0MzBjNTdhZGEwZTA0Nzg0MDAwZjYuLmUwZjNl
Mjk1NzNkOTJiNzU0YjE3NGM2OTU1YWI2YmFiN2Y0ZjlmZDAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwKKysr
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVu
bmVyLmlkbApAQCAtMjY4LDQgKzI2OCw2IEBAIGludGVyZmFjZSBUZXN0UnVubmVyIHsKIAogICAg
IC8vIE9wZW4gcGFuZWwKICAgICB2b2lkIHNldE9wZW5QYW5lbEZpbGVzKG9iamVjdCBmaWxlc0Fy
cmF5KTsKKworICAgIHZvaWQgc2V0V2ViUlRDTGVnYWN5QVBJRW5hYmxlZChib29sZWFuIHZhbHVl
KTsKIH07CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L0luamVjdGVkQnVuZGxlLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvSW5qZWN0ZWRCdW5kbGUuY3BwCmluZGV4IGM1NWRkZDI4MzcwY2E1NjA3ODVkMTY2NWY4NjBk
ODdjODE1ZTBlYWQuLjAyN2JiMWZlZTk0YzM5NzRmMmIxYzgwMDI5NDZiYmRlZWE2NzkzMWQgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRC
dW5kbGUuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5q
ZWN0ZWRCdW5kbGUuY3BwCkBAIC0zNDUsNiArMzQ1LDcgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6
YmVnaW5UZXN0aW5nKFdLRGljdGlvbmFyeVJlZiBzZXR0aW5ncykKIAogICAgIG1fdGVzdFJ1bm5l
ci0+c2V0TWVkaWFTdHJlYW1FbmFibGVkKHRydWUpOwogICAgIG1fdGVzdFJ1bm5lci0+c2V0UGVl
ckNvbm5lY3Rpb25FbmFibGVkKHRydWUpOworICAgIG1fdGVzdFJ1bm5lci0+c2V0V2ViUlRDTGVn
YWN5QVBJRW5hYmxlZCh0cnVlKTsKIAogICAgIGlmIChtX3RpbWVvdXQgPiAwKQogICAgICAgICBt
X3Rlc3RSdW5uZXItPnNldEN1c3RvbVRpbWVvdXQobV90aW1lb3V0KTsKZGlmZiAtLWdpdCBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAgYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCmluZGV4IGQ0
MDcyYjA4NjAyNjhhMzJkNzFmYTYwOGUxNWIxMzY1ZmMwYjEzMDguLjY5ZjBjNWZmY2YzMzRiYmEx
ZjQ0M2Q5YjYwYmU1MWI3MGJlNDRkODUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcApAQCAtMzgxLDYgKzM4MSwxMyBAQCB2
b2lkIFRlc3RSdW5uZXI6OnNldFBlZXJDb25uZWN0aW9uRW5hYmxlZChib29sIGVuYWJsZWQpCiAg
ICAgV0tCdW5kbGVPdmVycmlkZUJvb2xQcmVmZXJlbmNlRm9yVGVzdFJ1bm5lcihpbmplY3RlZEJ1
bmRsZS5idW5kbGUoKSwgaW5qZWN0ZWRCdW5kbGUucGFnZUdyb3VwKCksIGtleS5nZXQoKSwgZW5h
YmxlZCk7CiB9CiAKK3ZvaWQgVGVzdFJ1bm5lcjo6c2V0V2ViUlRDTGVnYWN5QVBJRW5hYmxlZChi
b29sIGVuYWJsZWQpCit7CisgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IGtleShBZG9wdFdL
LCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiV2ViS2l0V2ViUlRDTGVnYWN5QVBJRW5h
YmxlZCIpKTsKKyAgICBhdXRvJiBpbmplY3RlZEJ1bmRsZSA9IEluamVjdGVkQnVuZGxlOjpzaW5n
bGV0b24oKTsKKyAgICBXS0J1bmRsZU92ZXJyaWRlQm9vbFByZWZlcmVuY2VGb3JUZXN0UnVubmVy
KGluamVjdGVkQnVuZGxlLmJ1bmRsZSgpLCBpbmplY3RlZEJ1bmRsZS5wYWdlR3JvdXAoKSwga2V5
LmdldCgpLCBlbmFibGVkKTsKK30KKwogdm9pZCBUZXN0UnVubmVyOjpzZXRNb2Rlcm5NZWRpYUNv
bnRyb2xzRW5hYmxlZChib29sIGVuYWJsZWQpCiB7CiAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdS
ZWY+IGtleShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiV2ViS2l0TW9k
ZXJuTWVkaWFDb250cm9sc0VuYWJsZWQiKSk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCmluZGV4IGQ2ODBjMDg5ZDc4ZjU2ZmM0ZTVh
YjA0NjM0Y2Q4MGViMjczMzFlODguLmZlNDRkMzc2NzNkYjc1YzlmMjk1ZDI2YzE2YzQ1MWE1YmU3
MGZmN2UgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
VGVzdFJ1bm5lci5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
VGVzdFJ1bm5lci5oCkBAIC0xMzMsNiArMTMzLDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0U3Vi
dGxlQ3J5cHRvRW5hYmxlZChib29sKTsKICAgICB2b2lkIHNldE1lZGlhU3RyZWFtRW5hYmxlZChi
b29sKTsKICAgICB2b2lkIHNldFBlZXJDb25uZWN0aW9uRW5hYmxlZChib29sKTsKKyAgICB2b2lk
IHNldFdlYlJUQ0xlZ2FjeUFQSUVuYWJsZWQoYm9vbCk7CiAKICAgICAvLyBTcGVjaWFsIERPTSBm
dW5jdGlvbnMuCiAgICAgdm9pZCBjbGVhckJhY2tGb3J3YXJkTGlzdCgpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDZiYTMy
MDcxNTZkMjU0M2Y3YTgxNjY1Njk4MzNmMjA1Mzk4ZjE3YWIuLmJmNzI1NzQ3MDVmMWVlM2UzMWQ4
YjVmOTg2MThjMzIyZjEyYTUxMzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxNSBAQAogMjAxNy0wMy0xNiAg
WW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKKyAgICAgICAgV3JhcCBsZWdhY3kg
V2ViUlRDIEFQSSBpbiBydW50aW1lIGZsYWcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE2OTY0NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogd2VicnRjL2xlZ2FjeS1hcGktZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJydGMvbGVnYWN5LWFwaS5odG1sOiBBZGRlZC4KKworMjAxNy0wMy0x
NiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKICAgICAgICAgYWN0aXZhdGlu
ZyB3ZWJydGMgdGVzdHMgb24gUmVsZWFzZSBib3RzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjk3NzUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2VicnRjL2xlZ2FjeS1hcGktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2VicnRjL2xlZ2Fj
eS1hcGktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE0ZWI0MTQ0MTY2NGMwZDdkOTU0OGZlZjU3
NmFlMjJhNDQzOGU5NmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJydGMvbGVn
YWN5LWFwaS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNCBAQAorU3VtbWFyeQorCitIYXJuZXNz
IHN0YXR1czogT0sKKworRm91bmQgMSB0ZXN0cworCisxIFBhc3MKK0RldGFpbHMKKworUmVzdWx0
CVRlc3QgTmFtZQlNZXNzYWdlCitQYXNzCVRlc3RpbmcgbGVnYWN5IEFQSSBpcyBub3QgZGVmaW5l
ZCB3aGVuIGxlZ2FjeSBmbGFnIGlzIHR1cm5lZCBvZmYJCisKK1BBU1MgVGVzdGluZyBsZWdhY3kg
QVBJIGlzIG5vdCBkZWZpbmVkIHdoZW4gbGVnYWN5IGZsYWcgaXMgdHVybmVkIG9mZiAKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2VicnRjL2xlZ2FjeS1hcGkuaHRtbCBiL0xheW91dFRlc3Rz
L3dlYnJ0Yy9sZWdhY3ktYXBpLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGI4NDQ5NWZlMTc1OTQ4Y2RiN2Iy
ZWM1YjVlZDJhZTVhOThhY2VmYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYnJ0
Yy9sZWdhY3ktYXBpLmh0bWwKQEAgLTAsMCArMSwzMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorICAgIDwv
aGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICB0ZXN0UnVubmVyLnNldFdlYlJUQ0xlZ2FjeUFQSUVuYWJsZWQoZmFsc2UpOworCitw
cm9taXNlX3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgdmFyIHBjMSA9IG5ldyBSVENQZWVyQ29ubmVj
dGlvbih7aWNlU2VydmVyczpbe3VybHM6J3N0dW46Zm9vLmNvbSd9XX0pOworICAgIHZhciBwYzIg
PSBuZXcgUlRDUGVlckNvbm5lY3Rpb24oe2ljZVNlcnZlcnM6W3t1cmxzOidzdHVuOmZvby5jb20n
fV19KTsKKyAgICBhc3NlcnRfZXF1YWxzKHBjMS5nZXRMb2NhbFN0cmVhbXMsIHVuZGVmaW5lZCk7
CisgICAgYXNzZXJ0X2VxdWFscyhwYzEuZ2V0UmVtb3RlU3RyZWFtcywgdW5kZWZpbmVkKTsKKyAg
ICBhc3NlcnRfZXF1YWxzKHBjMS5nZXRTdHJlYW1CeUlkLCB1bmRlZmluZWQpOworICAgIGFzc2Vy
dF9lcXVhbHMocGMxLmFkZFN0cmVhbSwgdW5kZWZpbmVkKTsKKyAgICBhc3NlcnRfZXF1YWxzKHBj
MS5yZW1vdmVTdHJlYW0sIHVuZGVmaW5lZCk7CisgICAgYXNzZXJ0X2VxdWFscyhwYzEub25hZGRz
dHJlYW0sIHVuZGVmaW5lZCk7CisKKyAgICB2YXIgY2hhbm5lbCA9IHBjMS5jcmVhdGVEYXRhQ2hh
bm5lbCgidGVzdCIpOworICAgIHJldHVybiBwYzEuY3JlYXRlT2ZmZXIoeyB9LCBhc3NlcnRfdW5y
ZWFjaGVkLCBhc3NlcnRfdW5yZWFjaGVkKS50aGVuKChvZmZlcikgPT4geworICAgICAgICByZXR1
cm4gcGMxLnNldExvY2FsRGVzY3JpcHRpb24ob2ZmZXIsIGFzc2VydF91bnJlYWNoZWQsIGFzc2Vy
dF91bnJlYWNoZWQpLnRoZW4oKCkgPT4geyByZXR1cm4gb2ZmZXI7IH0pOyAKKyAgICB9KS50aGVu
KChvZmZlcikgPT4geworICAgICAgICByZXR1cm4gcGMyLnNldFJlbW90ZURlc2NyaXB0aW9uKG9m
ZmVyLCBhc3NlcnRfdW5yZWFjaGVkLCBhc3NlcnRfdW5yZWFjaGVkKTsgCisgICAgfSkudGhlbigo
KSA9PiB7CisgICAgICAgIHJldHVybiBwYzIuY3JlYXRlQW5zd2VyKHsgfSwgYXNzZXJ0X3VucmVh
Y2hlZCwgYXNzZXJ0X3VucmVhY2hlZCk7CisgICAgfSk7Cit9LCAiVGVzdGluZyBsZWdhY3kgQVBJ
IGlzIG5vdCBkZWZpbmVkIHdoZW4gbGVnYWN5IGZsYWcgaXMgdHVybmVkIG9mZiIpOworICAgICAg
ICA8L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+CisgICAgPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>304704</attachid>
            <date>2017-03-16 15:22:55 -0700</date>
            <delta_ts>2017-03-16 17:05:41 -0700</delta_ts>
            <desc>Fixing build</desc>
            <filename>bug-169646-20170316152255.patch</filename>
            <type>text/plain</type>
            <size>24697</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE0MDQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGQ5MzAxZjBiZmJmYmZk
Zjg0YjhhYzUzZTM0YTEyMGYwNDRiYTA2Mi4uN2ExYWE4MjgwMzMxMTgyZWY0ODIwYWM4MjYyZmQ5
MTk2OGM1YmFjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI4IEBACiAyMDE3LTAzLTE2ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAorICAgICAgICBXcmFwIGxlZ2FjeSBXZWJS
VEMgQVBJIGluIHJ1bnRpbWUgZmxhZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTY5NjQ2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGVzdDogd2VicnRjL2xlZ2FjeS1hcGkuaHRtbAorCisgICAgICAgIEFk
ZGluZyBhIHJ1bnRpbWUgZmxhZyBmb3IgbGVnYWN5IEFQSS4KKyAgICAgICAgTWFraW5nIHNvbWUg
V2ViSURMIHBlZXIgY29ubmVjdGlvbiBtZW1iZXJzIHJ1bnRpbWUtZW5hYmxlZC4KKyAgICAgICAg
QWRkaW5nIGEgSlMgcHJpdmF0ZSBnZXR0ZXIgb24gdGhpcyBmbGFnIHNvIHRoYXQgb3ZlcmxvYWRl
ZCBvcGVyYXRpb25zIGJlaGF2ZSBhcyBwcm9taXNlLWJhc2VkIG9ubHkgaWYgZmxhZyBpcyB0dXJu
ZWQgb2ZmLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlv
bi5pZGw6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbklu
dGVybmFscy5qczoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjppc1dlYlJUQ0xlZ2FjeUFQSUVuYWJsZWQpOgorICAgICAgICAo
V2ViQ29yZTo6SlNET01HbG9iYWxPYmplY3Q6OmFkZEJ1aWx0aW5HbG9iYWxzKToKKyAgICAgICAg
KiBiaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmg6CisgICAgICAgICogcGFnZS9SdW50
aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjp3ZWJSVENMZWdhY3lBUElFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRp
bWVFbmFibGVkRmVhdHVyZXM6OnNldFdlYlJUQ0xlZ2FjeUFQSUVuYWJsZWQpOgorCisyMDE3LTAz
LTE2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKwogICAgICAgICBNZWRpYVN0
cmVhbVRyYWNrIHJlbW90ZSgpIG5vIGxvbmdlciBleGlzdHMKICAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2OTczNAogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXgg
MDQzNmIzY2VhOGEwNGMyYmJkYzIwMjk1NjcxYjM0MTY1ZTBiODI2Yi4uNWU3OGVkZDY1YjBkNGQz
OGFhNGU4OTRlZGIyOTg4OTZhZjkyNDhlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5
IEBACisyMDE3LTAzLTE2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAg
ICAgICBXcmFwIGxlZ2FjeSBXZWJSVEMgQVBJIGluIHJ1bnRpbWUgZmxhZworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY5NjQ2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVu
Y2VLZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW06Cisg
ICAgICAgICgrW1dlYlByZWZlcmVuY2VzIGluaXRpYWxpemVdKToKKyAgICAgICAgKC1bV2ViUHJl
ZmVyZW5jZXMgd2ViUlRDTGVnYWN5QVBJRW5hYmxlZF0pOgorICAgICAgICAoLVtXZWJQcmVmZXJl
bmNlcyBzZXRXZWJSVENMZWdhY3lBUElFbmFibGVkOl0pOgorICAgICAgICAqIFdlYlZpZXcvV2Vi
UHJlZmVyZW5jZXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAg
ICAgICAoLVtXZWJWaWV3IF9wcmVmZXJlbmNlc0NoYW5nZWQ6XSk6CisKIDIwMTctMDMtMTQgIE1l
Z2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBDb3JyZWN0
bHkgZXhwb3J0IFdlYkl0ZW1Qcm92aWRlclBhc3RlYm9hcmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBjMjRlMjkw
NGMwNzZjYTFkNjE3NDAyZDQ3ZmFiODQ2OGU3MzE3YjAyLi5mY2MzN2IxMWMwMTA4YmIxY2ExYjBl
ZDBjOTAyYTk2MzMyNTMzODNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjQgQEAKIDIwMTctMDMt
MTYgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCisgICAgICAgIFdyYXAgbGVn
YWN5IFdlYlJUQyBBUEkgaW4gcnVudGltZSBmbGFnCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjk2NDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBZGRpbmcgcHJlZmVyZW5jZSB0byBsZWdhY3kgQVBJLgor
CisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHA6CisgICAgICAgIChXS1ByZWZlcmVu
Y2VzU2V0V2ViUlRDTGVnYWN5QVBJRW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0
V2ViUlRDTGVnYWN5QVBJRW5hYmxlZCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJl
ZmVyZW5jZXNSZWYuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVj
dGVkQnVuZGxlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGU6Om92ZXJyaWRl
Qm9vbFByZWZlcmVuY2VGb3JUZXN0UnVubmVyKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnVwZGF0ZVByZWZlcmVu
Y2VzKToKKworMjAxNy0wMy0xNiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisK
ICAgICAgICAgW21hYy13azIgZGVidWddIExheW91dFRlc3Qgd2VicnRjL3ZpZGVvLW11dGUuaHRt
bCBpcyB0aW1pbmcgb3V0CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNjk3NTgKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmlkbAppbmRleCBmZWRlNDU3NmRiZmVmODdiNmYw
ODlhNmVhZjgwZDJjY2IxYjhlY2NiLi5lYzIxMDcxNzAyYWU1MTNiMWM4MmI1NjdlNDI0YjA5MzY5
ZjBmNTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q1BlZXJDb25uZWN0aW9uLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmlkbApAQCAtMTYzLDE2ICsxNjMsMTQgQEAKICAgICAvLyA5
LjYgSWRlbnRpdHkgUHJvdmlkZXIgQVBJCiAgICAgLy8gRklYTUUgMTY5NjQ0OiBtaXNzaW5nIElk
UAogCi0KICAgICAvLyBMZWdhY3kgTWVkaWFTdHJlYW0gQVBJCi0gICAgLy8gRklYTUUgMTY5NjQ2
OiB3cmFwIHRoaXMgaW4gcnVudGltZSBmbGFnCi0gICAgW0pTQnVpbHRpbl0gc2VxdWVuY2U8TWVk
aWFTdHJlYW0+IGdldExvY2FsU3RyZWFtcygpOwotICAgIFtQcml2YXRlSWRlbnRpZmllciwgUHVi
bGljSWRlbnRpZmllcl0gc2VxdWVuY2U8TWVkaWFTdHJlYW0+IGdldFJlbW90ZVN0cmVhbXMoKTsK
LSAgICBbSlNCdWlsdGluXSBNZWRpYVN0cmVhbSBnZXRTdHJlYW1CeUlkKERPTVN0cmluZyBzdHJl
YW1JZCk7CisgICAgW0pTQnVpbHRpbiwgRW5hYmxlZEF0UnVudGltZT1XZWJSVENMZWdhY3lBUEld
IHNlcXVlbmNlPE1lZGlhU3RyZWFtPiBnZXRMb2NhbFN0cmVhbXMoKTsKKyAgICBbUHJpdmF0ZUlk
ZW50aWZpZXIsIFB1YmxpY0lkZW50aWZpZXIsIEVuYWJsZWRBdFJ1bnRpbWU9V2ViUlRDTGVnYWN5
QVBJXSBzZXF1ZW5jZTxNZWRpYVN0cmVhbT4gZ2V0UmVtb3RlU3RyZWFtcygpOworICAgIFtKU0J1
aWx0aW4sIEVuYWJsZWRBdFJ1bnRpbWU9V2ViUlRDTGVnYWN5QVBJXSBNZWRpYVN0cmVhbSBnZXRT
dHJlYW1CeUlkKERPTVN0cmluZyBzdHJlYW1JZCk7CiAKLSAgICBbSlNCdWlsdGluXSB2b2lkIGFk
ZFN0cmVhbShNZWRpYVN0cmVhbSBzdHJlYW0pOwotICAgIFtKU0J1aWx0aW5dIHZvaWQgcmVtb3Zl
U3RyZWFtKE1lZGlhU3RyZWFtIHN0cmVhbSk7CisgICAgW0pTQnVpbHRpbiwgRW5hYmxlZEF0UnVu
dGltZT1XZWJSVENMZWdhY3lBUEldIHZvaWQgYWRkU3RyZWFtKE1lZGlhU3RyZWFtIHN0cmVhbSk7
CisgICAgW0pTQnVpbHRpbiwgRW5hYmxlZEF0UnVudGltZT1XZWJSVENMZWdhY3lBUEldIHZvaWQg
cmVtb3ZlU3RyZWFtKE1lZGlhU3RyZWFtIHN0cmVhbSk7CiAKICAgICAvLyBMZWdhY3kgZXZlbnQg
aGFuZGxlciAoTWVkaWFTdHJlYW0tYmFzZWQgQVBJKQotICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRs
ZXIgb25hZGRzdHJlYW07CisgICAgW0VuYWJsZWRBdFJ1bnRpbWU9V2ViUlRDTGVnYWN5QVBJXSBh
dHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uYWRkc3RyZWFtOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb25JbnRlcm5hbHMu
anMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9u
SW50ZXJuYWxzLmpzCmluZGV4IDQ5OGQ0Zjg4NjljN2I0YjExNTU1Yjk4YTlhNjdiNzBjYWFhYTE2
MGEuLjk5NjcxZWJlZTMyYzNlNThiMjg4YWJiZjIyYTNlZmY2M2UwOGExM2MgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb25JbnRl
cm5hbHMuanMKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVy
Q29ubmVjdGlvbkludGVybmFscy5qcwpAQCAtODgsNyArODgsNyBAQCBmdW5jdGlvbiBvYmplY3RB
bmRDYWxsYmFja3NPdmVybG9hZChhcmdzLCBmdW5jdGlvbk5hbWUsIG9iamVjdEluZm8sIHByb21p
c2VNb2RlLAogICAgIGlmICghb2JqZWN0QXJnT2spCiAgICAgICAgIHJldHVybiBAUHJvbWlzZS5A
cmVqZWN0KG5ldyBAVHlwZUVycm9yKGBBcmd1bWVudCAxICgnJHtvYmplY3RJbmZvLmFyZ05hbWV9
JykgdG8gUlRDUGVlckNvbm5lY3Rpb24uJHtmdW5jdGlvbk5hbWV9IG11c3QgYmUgYW4gaW5zdGFu
Y2Ugb2YgJHtvYmplY3RJbmZvLmFyZ1R5cGV9YCkpOwogCi0gICAgaWYgKGFyZ3NDb3VudCA9PT0g
MSkKKyAgICBpZiAoIUB3ZWJSVENMZWdhY3lBUElFbmFibGVkKCkgfHwgYXJnc0NvdW50ID09PSAx
KQogICAgICAgICByZXR1cm4gcHJvbWlzZU1vZGUob2JqZWN0QXJnKTsKIAogICAgIC8vIE1vcmUg
dGhhbiBvbmUgYXJndW1lbnQ6IExlZ2FjeSBtb2RlCkBAIC0xMTEsNyArMTExLDcgQEAgZnVuY3Rp
b24gY2FsbGJhY2tzQW5kRGljdGlvbmFyeU92ZXJsb2FkKGFyZ3MsIGZ1bmN0aW9uTmFtZSwgcHJv
bWlzZU1vZGUsIGxlZ2FjeU0KIHsKICAgICAidXNlIHN0cmljdCI7CiAKLSAgICBpZiAoYXJncy5s
ZW5ndGggPD0gMSkgeworICAgIGlmICghQHdlYlJUQ0xlZ2FjeUFQSUVuYWJsZWQoKSB8fCBhcmdz
Lmxlbmd0aCA8PSAxKSB7CiAgICAgICAgIC8vIFplcm8gb3Igb25lIGFyZ3VtZW50czogUHJvbWlz
ZSBtb2RlCiAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSBhcmdzWzBdOwogICAgICAgICBpZiAoYXJn
cy5sZW5ndGggJiYgIUBpc0RpY3Rpb25hcnkob3B0aW9ucykpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAKaW5kZXggNGU1ODFhMmQxOGUwNzE3
OTcxMzMxYmJiOGM5MjYwMTVlMDkxNDU0NC4uYmQxYmMwNjMzNmY3ODgxYzdlMmMyZDVmZGMyYzBm
NmQwYzM3YmUzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01H
bG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xv
YmFsT2JqZWN0LmNwcApAQCAtNTAsNiArNTAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIEVu
Y29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgbWFrZVRoaXNUeXBlRXJyb3JGb3JCdWlsdGlucyhF
eGVjU3RhdGUqKTsKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgbWFrZUdldHRlclR5cGVF
cnJvckZvckJ1aWx0aW5zKEV4ZWNTdGF0ZSopOworRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBpc1dlYlJUQ0xlZ2FjeUFQSUVuYWJsZWQoRXhlY1N0YXRlKik7CiAKIGNvbnN0IENsYXNzSW5m
byBKU0RPTUdsb2JhbE9iamVjdDo6c19pbmZvID0geyAiRE9NR2xvYmFsT2JqZWN0IiwgJkpTR2xv
YmFsT2JqZWN0OjpzX2luZm8sIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNET01HbG9iYWxPYmpl
Y3QpIH07CiAKQEAgLTk5LDYgKzEwMCwxMyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IG1ha2VHZXR0ZXJUeXBlRXJyb3JGb3JCdWlsdGlucyhFeGVjU3RhdGUqIGV4ZWNTdGF0ZQogICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUoY3JlYXRlVHlwZUVycm9yKGV4ZWNTdGF0ZSwgbWFrZUdl
dHRlclR5cGVFcnJvck1lc3NhZ2UoaW50ZXJmYWNlTmFtZS51dGY4KCkuZGF0YSgpLCBhdHRyaWJ1
dGVOYW1lLnV0ZjgoKS5kYXRhKCkpKSk7CiB9CiAKKyNpZiBFTkFCTEUoV0VCX1JUQykKK0VuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgaXNXZWJSVENMZWdhY3lBUElFbmFibGVkKEV4ZWNTdGF0
ZSopCit7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc0Jvb2xlYW4oUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS53ZWJSVENMZWdhY3lBUElFbmFibGVkKCkpKTsK
K30KKyNlbmRpZgorCiB2b2lkIEpTRE9NR2xvYmFsT2JqZWN0OjphZGRCdWlsdGluR2xvYmFscyhW
TSYgdm0pCiB7CiAgICAgbV9idWlsdGluSW50ZXJuYWxGdW5jdGlvbnMuaW5pdGlhbGl6ZSgqdGhp
cyk7CkBAIC0xNTUsNiArMTYzLDkgQEAgdm9pZCBKU0RPTUdsb2JhbE9iamVjdDo6YWRkQnVpbHRp
bkdsb2JhbHMoVk0mIHZtKQogI2VuZGlmCiAgICAgICAgIEpTRE9NR2xvYmFsT2JqZWN0OjpHbG9i
YWxQcm9wZXJ0eUluZm8oY2xpZW50RGF0YS5idWlsdGluTmFtZXMoKS5SZWFkYWJsZVN0cmVhbURl
ZmF1bHRSZWFkZXJQcml2YXRlTmFtZSgpLCBwcml2YXRlUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVh
ZGVyQ29uc3RydWN0b3IsIERvbnREZWxldGUgfCBSZWFkT25seSksCiAjZW5kaWYKKyNpZiBFTkFC
TEUoV0VCX1JUQykKKyAgICAgICAgSlNET01HbG9iYWxPYmplY3Q6Okdsb2JhbFByb3BlcnR5SW5m
byhjbGllbnREYXRhLmJ1aWx0aW5OYW1lcygpLndlYlJUQ0xlZ2FjeUFQSUVuYWJsZWRQcml2YXRl
TmFtZSgpLCBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIHRoaXMsIDAsIFN0cmluZygpLCBpc1dlYlJU
Q0xlZ2FjeUFQSUVuYWJsZWQpLCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAorI2VuZGlmCiAgICAg
fTsKICAgICBhZGRTdGF0aWNHbG9iYWxzKHN0YXRpY0dsb2JhbHMsIFdURl9BUlJBWV9MRU5HVEgo
c3RhdGljR2xvYmFscykpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2Vi
Q29yZUJ1aWx0aW5OYW1lcy5oCmluZGV4IGRhMTg3OTJmODBiM2IwNzkxNDlhNjc4NmNmNjI3ZDM4
ZWI2OTdmNWUuLjI1ZDJlNDdiNmFiYThjMGUyNDk5YmZjMDllNWQzMzNiYmM1MWQ3M2MgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKQEAg
LTEwNyw2ICsxMDcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8odW5kZXJseWlu
Z1NpbmspIFwKICAgICBtYWNybyh1bmRlcmx5aW5nU291cmNlKSBcCiAgICAgbWFjcm8odmlldykg
XAorICAgIG1hY3JvKHdlYlJUQ0xlZ2FjeUFQSUVuYWJsZWQpIFwKICAgICBtYWNybyh3cml0aW5n
KSBcCiAgICAgbWFjcm8oSGVhZGVycykgXAogICAgIG1hY3JvKE1lZGlhU3RyZWFtKSBcCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCmluZGV4IDRjYjUyMWY2
ZTI3ODE0NmFkNWQzMDRiMTUzMDAxZDA3MDA3ZjcyMDEuLjAzZTJiYTBkZTUwNDYwM2RiMGQ3YWUw
NzI4MmU1NGRiYWJhMjc0OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJs
ZWRGZWF0dXJlcy5oCkBAIC05Niw2ICs5Niw4IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoV0VCX1JU
QykKICAgICBib29sIHBlZXJDb25uZWN0aW9uRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNQ
ZWVyQ29ubmVjdGlvbkVuYWJsZWQ7IH0KICAgICB2b2lkIHNldFBlZXJDb25uZWN0aW9uRW5hYmxl
ZChib29sIGlzRW5hYmxlZCkgeyBtX2lzUGVlckNvbm5lY3Rpb25FbmFibGVkID0gaXNFbmFibGVk
OyB9CisgICAgYm9vbCB3ZWJSVENMZWdhY3lBUElFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV93
ZWJSVENMZWdhY3lBUElFbmFibGVkOyB9CisgICAgdm9pZCBzZXRXZWJSVENMZWdhY3lBUElFbmFi
bGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fd2ViUlRDTGVnYWN5QVBJRW5hYmxlZCA9IGlzRW5hYmxl
ZDsgfQogI2VuZGlmCiAKICNpZiBFTkFCTEUoTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpCkBA
IC0yMzEsNiArMjMzLDcgQEAgcHJpdmF0ZToKIAogI2lmIEVOQUJMRShXRUJfUlRDKQogICAgIGJv
b2wgbV9pc1BlZXJDb25uZWN0aW9uRW5hYmxlZCB7IHRydWUgfTsKKyAgICBib29sIG1fd2ViUlRD
TGVnYWN5QVBJRW5hYmxlZCB7IHRydWUgfTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKExFR0FDWV9D
U1NfVkVORE9SX1BSRUZJWEVTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKaW5kZXggOGI1NTIwMjdlMzk2MmRjNTZkMjk4N2U1
NjUyOTMxMWNiODdhMGQzMS4uYjZhZDc1ZTc4NDVmMTQwMTAxZmU1ZmM1NzY0ZjZjMzc5ZTU2NjMx
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5
c1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VL
ZXlzUHJpdmF0ZS5oCkBAIC0xNzcsNiArMTc3LDcgQEAKICNkZWZpbmUgV2ViS2l0U3VidGxlQ3J5
cHRvRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRTdWJ0bGVDcnlwdG9FbmFibGVkIgogI2Rl
ZmluZSBXZWJLaXRNZWRpYVN0cmVhbUVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TWVkaWFT
dHJlYW1FbmFibGVkIgogI2RlZmluZSBXZWJLaXRQZWVyQ29ubmVjdGlvbkVuYWJsZWRQcmVmZXJl
bmNlS2V5IEAiV2ViS2l0UGVlckNvbm5lY3Rpb25FbmFibGVkIgorI2RlZmluZSBXZWJLaXRXZWJS
VENMZWdhY3lBUElFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFdlYlJUQ0xlZ2FjeUFQSUVu
YWJsZWQiCiAjZGVmaW5lIFdlYktpdExpbmtQcmVsb2FkRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJX
ZWJLaXRMaW5rUHJlbG9hZEVuYWJsZWQiCiAjZGVmaW5lIFdlYktpdENyZWRlbnRpYWxNYW5hZ2Vt
ZW50RW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRDcmVkZW50aWFsTWFuYWdlbWVudEVuYWJs
ZWQiCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZXMubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCmluZGV4
IGMyMjE2ODg1MjBlMjhhNDhkMzNiMmZkZDc5ZGM1NTE2OTU0OTJjOWYuLmQ1NjhhNjk2NmJmMmZl
ZThjMTM0NzMwMzMzODc0MzkwNzQ5Nzg1MWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlcy5tbQpAQCAtNjU1LDYgKzY1NSw3IEBAIHB1YmxpYzoKICNlbmRpZgog
I2lmIEVOQUJMRShXRUJfUlRDKQogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9d
LCBXZWJLaXRQZWVyQ29ubmVjdGlvbkVuYWJsZWRQcmVmZXJlbmNlS2V5LAorICAgICAgICBbTlNO
dW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCBXZWJLaXRXZWJSVENMZWdhY3lBUElFbmFibGVkUHJl
ZmVyZW5jZUtleSwKICNlbmRpZgogI2lmIEVOQUJMRShJTlRFUlNFQ1RJT05fT0JTRVJWRVIpCiAg
ICAgICAgIEBOTywgV2ViS2l0SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkUHJlZmVyZW5jZUtl
eSwKQEAgLTI3NzUsNiArMjc3NiwxNiBAQCBzdGF0aWMgTlNTdHJpbmcgKmNsYXNzSUJDcmVhdG9y
SUQgPSBuaWw7CiAgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRQZWVy
Q29ubmVjdGlvbkVuYWJsZWRQcmVmZXJlbmNlS2V5XTsKIH0KIAorLSAoQk9PTCl3ZWJSVENMZWdh
Y3lBUElFbmFibGVkCit7CisgICAgcmV0dXJuIFtzZWxmIF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0
V2ViUlRDTGVnYWN5QVBJRW5hYmxlZFByZWZlcmVuY2VLZXldOworfQorCistICh2b2lkKXNldFdl
YlJUQ0xlZ2FjeUFQSUVuYWJsZWQ6KEJPT0wpZmxhZworeworICAgIFtzZWxmIF9zZXRCb29sVmFs
dWU6ZmxhZyBmb3JLZXk6V2ViS2l0V2ViUlRDTGVnYWN5QVBJRW5hYmxlZFByZWZlcmVuY2VLZXld
OworfQorCiAtIChCT09MKWxpbmtQcmVsb2FkRW5hYmxlZAogewogICAgIHJldHVybiBbc2VsZiBf
Ym9vbFZhbHVlRm9yS2V5OldlYktpdExpbmtQcmVsb2FkRW5hYmxlZFByZWZlcmVuY2VLZXldOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZh
dGUuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgK
aW5kZXggNDNkN2RmODdkMjRjOTcxYWM2OWM0MmUxZjk2ODJhMzY2ZTY2YTRmYi4uZWU5NWZmODc5
MjcyMzE5NGZlODIwYzYzYTllNGQ3ZjE2MDk2OThjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCkBAIC0xNjgsNiArMTY4LDkgQEAg
ZXh0ZXJuIE5TU3RyaW5nICpXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxDaGFuZ2VkSW50ZXJuYWxO
b3RpZmljYXRpb247CiAtICh2b2lkKXNldFBlZXJDb25uZWN0aW9uRW5hYmxlZDooQk9PTClmbGFn
OwogLSAoQk9PTClwZWVyQ29ubmVjdGlvbkVuYWJsZWQ7CiAKKy0gKHZvaWQpc2V0V2ViUlRDTGVn
YWN5QVBJRW5hYmxlZDooQk9PTClmbGFnOworLSAoQk9PTCl3ZWJSVENMZWdhY3lBUElFbmFibGVk
OworCiAjaWYgIVRBUkdFVF9PU19JUEhPTkUKIC8vIHplcm8gbWVhbnMgZG8gQXV0b1NjYWxlCiAt
IChmbG9hdClQREZTY2FsZUZhY3RvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpp
bmRleCA4ZDM1ZmMxMGFhNWFiYTRlNzI1NDJkZjY4ZmVmMWUyNTE0MzU5N2YwLi5mMDJkOTAwMzIy
ZTE5Y2ViNjc2NTc1YWRjNDgxMzdjNWIzZDEzMjk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJWaWV3Lm1tCkBAIC0yODY3LDYgKzI4NjcsNyBAQCBzdGF0aWMgYm9vbCBuZWVkc1NlbGZSZXRh
aW5XaGlsZUxvYWRpbmdRdWlyaygpCiAKICNpZiBFTkFCTEUoV0VCX1JUQykKICAgICBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFBlZXJDb25uZWN0aW9uRW5hYmxl
ZChbcHJlZmVyZW5jZXMgcGVlckNvbm5lY3Rpb25FbmFibGVkXSk7CisgICAgUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRXZWJSVENMZWdhY3lBUElFbmFibGVkKFtw
cmVmZXJlbmNlcyB3ZWJSVENMZWdhY3lBUElFbmFibGVkXSk7CiAjZW5kaWYKIAogI2lmIEVOQUJM
RShXRUJfQVVESU8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVy
ZW5jZXNEZWZpbml0aW9ucy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2Vz
RGVmaW5pdGlvbnMuaAppbmRleCBiOWMxNTlkYjA4NmViMjU2NzFhNGViYzgzNjJiZjIwNDk3Mjk1
ZDgzLi42YzE5ZDU0NDVkZGRiZTY2NWNjZDcyZmM4OGVkYWM3M2Q1ZGM1OGFmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgKQEAgLTIz
OCw2ICsyMzgsNyBAQAogICAgIG1hY3JvKE1vY2tDYXB0dXJlRGV2aWNlc0VuYWJsZWQsIG1vY2tD
YXB0dXJlRGV2aWNlc0VuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKICAgICBt
YWNybyhNZWRpYUNhcHR1cmVSZXF1aXJlc1NlY3VyZUNvbm5lY3Rpb24sIG1lZGlhQ2FwdHVyZVJl
cXVpcmVzU2VjdXJlQ29ubmVjdGlvbiwgQm9vbCwgYm9vbCwgdHJ1ZSwgIiIsICIiKSBcCiAgICAg
bWFjcm8oRW51bWVyYXRpbmdBbGxOZXR3b3JrSW50ZXJmYWNlc0VuYWJsZWQsIGVudW1lcmF0aW5n
QWxsTmV0d29ya0ludGVyZmFjZXNFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBc
CisgICAgbWFjcm8oV2ViUlRDTGVnYWN5QVBJRW5hYmxlZCwgd2ViUlRDTGVnYWN5QVBJRW5hYmxl
ZCwgQm9vbCwgYm9vbCwgdHJ1ZSwgIiIsICIiKSBcCiAgICAgbWFjcm8oSUNFQ2FuZGlkYXRlRmls
dGVyaW5nRW5hYmxlZCwgaWNlQ2FuZGlkYXRlRmlsdGVyaW5nRW5hYmxlZCwgQm9vbCwgYm9vbCwg
dHJ1ZSwgIiIsICIiKSBcCiAgICAgbWFjcm8oU2hhZG93RE9NRW5hYmxlZCwgc2hhZG93RE9NRW5h
YmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSwgIlNoYWRvdyBET00iLCAiSFRNTCBTaGFkb3cgRE9NIHBy
b3RvdHlwZSIpIFwKICAgICBtYWNybyhGZXRjaEFQSUVuYWJsZWQsIGZldGNoQVBJRW5hYmxlZCwg
Qm9vbCwgYm9vbCwgdHJ1ZSwgIiIsICIiKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKaW5kZXggYjg5OTU1NGI0NWUyZDMwYWQyMmUxYjk3
ZjIyNzA5Yzc5Mzc3YjdmNy4uOTdlYzE0OWU0NzZiN2JiOGI4M2YwMTZjMDQ1NjRjM2JkZWJkMTdm
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5j
ZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2Vz
LmNwcApAQCAtMTM1MSw2ICsxMzUxLDE2IEBAIGJvb2wgV0tQcmVmZXJlbmNlc0dldFBlZXJDb25u
ZWN0aW9uRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQogICAgIHJldHVy
biB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5wZWVyQ29ubmVjdGlvbkVuYWJsZWQoKTsKIH0KIAor
dm9pZCBXS1ByZWZlcmVuY2VzU2V0V2ViUlRDTGVnYWN5QVBJRW5hYmxlZChXS1ByZWZlcmVuY2Vz
UmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGVuYWJsZWQpCit7CisgICAgdG9JbXBsKHByZWZlcmVu
Y2VzUmVmKS0+c2V0V2ViUlRDTGVnYWN5QVBJRW5hYmxlZChlbmFibGVkKTsKK30KKworYm9vbCBX
S1ByZWZlcmVuY2VzR2V0V2ViUlRDTGVnYWN5QVBJRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHBy
ZWZlcmVuY2VzUmVmKQoreworICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT53ZWJS
VENMZWdhY3lBUElFbmFibGVkKCk7Cit9CisKIHZvaWQgV0tQcmVmZXJlbmNlc1NldFNwYXRpYWxO
YXZpZ2F0aW9uRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGVu
YWJsZWQpCiB7CiAgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0U3BhdGlhbE5hdmlnYXRp
b25FbmFibGVkKGVuYWJsZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLUHJlZmVyZW5jZXNSZWYuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzUmVmLmgKaW5kZXggYmM1ZDcwYjAxOWFkN2YwMDRhZmNlYjZmZDJjNThj
ODQwMDFiZGFjMy4uNWNiNjEyMjBlZTg4MDdlOWJiZjk4YmM4NmY4YjEwZmI0MjNhNTk4NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWYu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZi5o
CkBAIC0yNjAsNiArMjYwLDEwIEBAIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRNZWRp
YVN0cmVhbUVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlCiBXS19FWFBPUlQg
dm9pZCBXS1ByZWZlcmVuY2VzU2V0UGVlckNvbm5lY3Rpb25FbmFibGVkKFdLUHJlZmVyZW5jZXNS
ZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCk7CiBXS19FWFBPUlQgYm9vbCBXS1ByZWZl
cmVuY2VzR2V0UGVlckNvbm5lY3Rpb25FbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5j
ZXNSZWYpOwogCisvLyBTaG91bGQgZGVmYXVsdCB0byBmYWxzZQorV0tfRVhQT1JUIHZvaWQgV0tQ
cmVmZXJlbmNlc1NldFdlYlJUQ0xlZ2FjeUFQSUVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVm
ZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKTsKK1dLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNH
ZXRXZWJSVENMZWdhY3lBUElFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYp
OworCiAvLyBEZWZhdWx0cyB0byBmYWxzZS4KIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNT
ZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1Jl
ZiwgYm9vbCBlbmFibGVkKTsKIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRTcGF0aWFs
TmF2aWdhdGlvbkVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVk
QnVuZGxlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5q
ZWN0ZWRCdW5kbGUuY3BwCmluZGV4IDg4NWUzZTlmZDE4NmI0Zjc3MWNiZThmNDE0OTFjYjAyM2Zi
MTdhZWQuLmVhMmRlNmQ0NzkwMTE5MjFkYmI3OTFhMjhiYWQ5NTczYzE1YTE1ZjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5k
bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5q
ZWN0ZWRCdW5kbGUuY3BwCkBAIC0yMzcsNiArMjM3LDggQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6
b3ZlcnJpZGVCb29sUHJlZmVyZW5jZUZvclRlc3RSdW5uZXIoV2ViUGFnZUdyb3VwUHJveHkqIHBh
Z2UKICNpZiBFTkFCTEUoV0VCX1JUQykKICAgICBpZiAocHJlZmVyZW5jZSA9PSAiV2ViS2l0UGVl
ckNvbm5lY3Rpb25FbmFibGVkIikKICAgICAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5zZXRQZWVyQ29ubmVjdGlvbkVuYWJsZWQoZW5hYmxlZCk7CisgICAgaWYg
KHByZWZlcmVuY2UgPT0gIldlYktpdFdlYlJUQ0xlZ2FjeUFQSUVuYWJsZWQiKQorICAgICAgICBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFdlYlJUQ0xlZ2FjeUFQ
SUVuYWJsZWQoZW5hYmxlZCk7CiAjZW5kaWYKIAogICAgIC8vIE1hcCB0aGUgbmFtZXMgdXNlZCBp
biBMYXlvdXRUZXN0cyB3aXRoIHRoZSBuYW1lcyB1c2VkIGluIFdlYkNvcmU6OlNldHRpbmdzIGFu
ZCBXZWJQcmVmZXJlbmNlc1N0b3JlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwCmluZGV4IDY4NDdiMmVlMDMwMDI1MWE2YzMyOGUzMWEwMDMxMjlhYzYw
MzcyY2UuLmRkNmFmZTE4OTNjYzg2MmJiZjM2YTEyMTBjYTBlNTdjNmMxNjNhZmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTMxMzAsNiAr
MzEzMCw3IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVy
ZW5jZXNTdG9yZSYgc3RvcmUpCiAKICNpZiBFTkFCTEUoV0VCX1JUQykKICAgICBSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFBlZXJDb25uZWN0aW9uRW5hYmxlZChz
dG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnBlZXJDb25uZWN0aW9u
RW5hYmxlZEtleSgpKSk7CisgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVy
ZXMoKS5zZXRXZWJSVENMZWdhY3lBUElFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShX
ZWJQcmVmZXJlbmNlc0tleTo6d2ViUlRDTGVnYWN5QVBJRW5hYmxlZEtleSgpKSk7CiAjZW5kaWYK
IAogI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdl
TG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGY4ODc1M2RhMDM1MWJlZDU5NTZjMzcyNzgyOTI0
OTQzYjg5NWNjYjUuLjA2YjFiNTVmZGI4ZjA1NjYwYjg1ZDg4NTJhNWUwZmE1NWFlN2QzYjIgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxOSBAQAorMjAxNy0wMy0xNiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisK
KyAgICAgICAgV3JhcCBsZWdhY3kgV2ViUlRDIEFQSSBpbiBydW50aW1lIGZsYWcKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2OTY0NgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUv
bWFjL0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAgICAoZW5hYmxlRXhwZXJpbWVudGFsRmVhdHVy
ZXMpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3Mv
VGVzdFJ1bm5lci5pZGw6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9JbmplY3RlZEJ1bmRsZS5jcHA6CisgICAgICAgIChXVFI6OkluamVjdGVkQnVuZGxlOjpiZWdp
blRlc3RpbmcpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVz
dFJ1bm5lci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6OnNldFdlYlJUQ0xlZ2FjeUFQ
SUVuYWJsZWQpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVz
dFJ1bm5lci5oOgorCiAyMDE3LTAzLTE1ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBw
bGUuY29tPgogCiAgICAgICAgIE51bGwgZGVyZWYgdW5kZXIgY2FsbEFmdGVyTmV4dFByZXNlbnRh
dGlvblVwZGF0ZQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5k
ZXJUcmVlLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCmlu
ZGV4IGQ4OTVhNDRhNDE5OGJjOWYxMDgyYjE0ZmU0MmYwY2NjZTRiMzg2YzUuLjI5N2QyN2Q4OTdh
YmEzOGVkNmU5NGZmNTRhNDg2ZTY1OTkwNTRjNDYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9t
YWMvRHVtcFJlbmRlclRyZWUubW0KQEAgLTg0OSw2ICs4NDksNyBAQCBzdGF0aWMgdm9pZCBlbmFi
bGVFeHBlcmltZW50YWxGZWF0dXJlcyhXZWJQcmVmZXJlbmNlcyogcHJlZmVyZW5jZXMpCiAgICAg
W3ByZWZlcmVuY2VzIHNldFdlYkdMMkVuYWJsZWQ6WUVTXTsKICAgICBbcHJlZmVyZW5jZXMgc2V0
V2ViR1BVRW5hYmxlZDpZRVNdOwogICAgIFtwcmVmZXJlbmNlcyBzZXRQZWVyQ29ubmVjdGlvbkVu
YWJsZWQ6WUVTXTsKKyAgICBbcHJlZmVyZW5jZXMgc2V0V2ViUlRDTGVnYWN5QVBJRW5hYmxlZDpZ
RVNdOwogICAgIFtwcmVmZXJlbmNlcyBzZXRDcmVkZW50aWFsTWFuYWdlbWVudEVuYWJsZWQ6WUVT
XTsKIH0KIApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwKaW5kZXggZDM5OGMzOGY5NDA2OTBlMGY3
YzQzMGM1N2FkYTBlMDQ3ODQwMDBmNi4uZTBmM2UyOTU3M2Q5MmI3NTRiMTc0YzY5NTVhYjZiYWI3
ZjRmOWZkMCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCkBAIC0yNjgsNCArMjY4LDYgQEAg
aW50ZXJmYWNlIFRlc3RSdW5uZXIgewogCiAgICAgLy8gT3BlbiBwYW5lbAogICAgIHZvaWQgc2V0
T3BlblBhbmVsRmlsZXMob2JqZWN0IGZpbGVzQXJyYXkpOworCisgICAgdm9pZCBzZXRXZWJSVENM
ZWdhY3lBUElFbmFibGVkKGJvb2xlYW4gdmFsdWUpOwogfTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKaW5kZXgg
YzU1ZGRkMjgzNzBjYTU2MDc4NWQxNjY1Zjg2MGQ4N2M4MTVlMGVhZC4uMDI3YmIxZmVlOTRjMzk3
NGYyYjFjODAwMjk0NmJiZGVlYTY3OTMxZCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKKysrIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKQEAgLTM0NSw2ICsz
NDUsNyBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpiZWdpblRlc3RpbmcoV0tEaWN0aW9uYXJ5UmVm
IHNldHRpbmdzKQogCiAgICAgbV90ZXN0UnVubmVyLT5zZXRNZWRpYVN0cmVhbUVuYWJsZWQodHJ1
ZSk7CiAgICAgbV90ZXN0UnVubmVyLT5zZXRQZWVyQ29ubmVjdGlvbkVuYWJsZWQodHJ1ZSk7Cisg
ICAgbV90ZXN0UnVubmVyLT5zZXRXZWJSVENMZWdhY3lBUElFbmFibGVkKHRydWUpOwogCiAgICAg
aWYgKG1fdGltZW91dCA+IDApCiAgICAgICAgIG1fdGVzdFJ1bm5lci0+c2V0Q3VzdG9tVGltZW91
dChtX3RpbWVvdXQpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9UZXN0UnVubmVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvVGVzdFJ1bm5lci5jcHAKaW5kZXggZDQwNzJiMDg2MDI2OGEzMmQ3MWZhNjA4ZTE1YjEz
NjVmYzBiMTMwOC4uNjlmMGM1ZmZjZjMzNGJiYTFmNDQzZDliNjBiZTUxYjcwYmU0NGQ4NSAxMDA2
NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVy
LmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5u
ZXIuY3BwCkBAIC0zODEsNiArMzgxLDEzIEBAIHZvaWQgVGVzdFJ1bm5lcjo6c2V0UGVlckNvbm5l
Y3Rpb25FbmFibGVkKGJvb2wgZW5hYmxlZCkKICAgICBXS0J1bmRsZU92ZXJyaWRlQm9vbFByZWZl
cmVuY2VGb3JUZXN0UnVubmVyKGluamVjdGVkQnVuZGxlLmJ1bmRsZSgpLCBpbmplY3RlZEJ1bmRs
ZS5wYWdlR3JvdXAoKSwga2V5LmdldCgpLCBlbmFibGVkKTsKIH0KIAordm9pZCBUZXN0UnVubmVy
OjpzZXRXZWJSVENMZWdhY3lBUElFbmFibGVkKGJvb2wgZW5hYmxlZCkKK3sKKyAgICBXS1JldGFp
blB0cjxXS1N0cmluZ1JlZj4ga2V5KEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3Ry
aW5nKCJXZWJLaXRXZWJSVENMZWdhY3lBUElFbmFibGVkIikpOworICAgIGF1dG8mIGluamVjdGVk
QnVuZGxlID0gSW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigpOworICAgIFdLQnVuZGxlT3ZlcnJp
ZGVCb29sUHJlZmVyZW5jZUZvclRlc3RSdW5uZXIoaW5qZWN0ZWRCdW5kbGUuYnVuZGxlKCksIGlu
amVjdGVkQnVuZGxlLnBhZ2VHcm91cCgpLCBrZXkuZ2V0KCksIGVuYWJsZWQpOworfQorCiB2b2lk
IFRlc3RSdW5uZXI6OnNldE1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkKGJvb2wgZW5hYmxlZCkK
IHsKICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4ga2V5KEFkb3B0V0ssIFdLU3RyaW5nQ3Jl
YXRlV2l0aFVURjhDU3RyaW5nKCJXZWJLaXRNb2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZCIpKTsK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1
bm5lci5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVy
LmgKaW5kZXggZDY4MGMwODlkNzhmNTZmYzRlNWFiMDQ2MzRjZDgwZWIyNzMzMWU4OC4uZmU0NGQz
NzY3M2RiNzVjOWYyOTVkMjZjMTZjNDUxYTViZTcwZmY3ZSAxMDA2NDQKLS0tIGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKKysrIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKQEAgLTEzMyw2ICsxMzMs
NyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTdWJ0bGVDcnlwdG9FbmFibGVkKGJvb2wpOwogICAg
IHZvaWQgc2V0TWVkaWFTdHJlYW1FbmFibGVkKGJvb2wpOwogICAgIHZvaWQgc2V0UGVlckNvbm5l
Y3Rpb25FbmFibGVkKGJvb2wpOworICAgIHZvaWQgc2V0V2ViUlRDTGVnYWN5QVBJRW5hYmxlZChi
b29sKTsKIAogICAgIC8vIFNwZWNpYWwgRE9NIGZ1bmN0aW9ucy4KICAgICB2b2lkIGNsZWFyQmFj
a0ZvcndhcmRMaXN0KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNmJhMzIwNzE1NmQyNTQzZjdhODE2NjU2OTgzM2YyMDUz
OThmMTdhYi4uYmY3MjU3NDcwNWYxZWUzZTMxZDhiNWY5ODYxOGMzMjJmMTJhNTEzNCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSw1ICsxLDE1IEBACiAyMDE3LTAzLTE2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxl
LmNvbT4KIAorICAgICAgICBXcmFwIGxlZ2FjeSBXZWJSVEMgQVBJIGluIHJ1bnRpbWUgZmxhZwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY5NjQ2CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWJydGMv
bGVnYWN5LWFwaS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYnJ0Yy9sZWdhY3kt
YXBpLmh0bWw6IEFkZGVkLgorCisyMDE3LTAzLTE2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFw
cGxlLmNvbT4KKwogICAgICAgICBhY3RpdmF0aW5nIHdlYnJ0YyB0ZXN0cyBvbiBSZWxlYXNlIGJv
dHMKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2OTc3
NQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJydGMvbGVnYWN5LWFwaS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy93ZWJydGMvbGVnYWN5LWFwaS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTRlYjQxNDQxNjY0YzBkN2Q5NTQ4ZmVmNTc2YWUyMmE0NDM4ZTk2YgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYnJ0Yy9sZWdhY3ktYXBpLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDE0IEBACitTdW1tYXJ5CisKK0hhcm5lc3Mgc3RhdHVzOiBPSworCitGb3VuZCAxIHRlc3Rz
CisKKzEgUGFzcworRGV0YWlscworCitSZXN1bHQJVGVzdCBOYW1lCU1lc3NhZ2UKK1Bhc3MJVGVz
dGluZyBsZWdhY3kgQVBJIGlzIG5vdCBkZWZpbmVkIHdoZW4gbGVnYWN5IGZsYWcgaXMgdHVybmVk
IG9mZgkKKworUEFTUyBUZXN0aW5nIGxlZ2FjeSBBUEkgaXMgbm90IGRlZmluZWQgd2hlbiBsZWdh
Y3kgZmxhZyBpcyB0dXJuZWQgb2ZmIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJydGMv
bGVnYWN5LWFwaS5odG1sIGIvTGF5b3V0VGVzdHMvd2VicnRjL2xlZ2FjeS1hcGkuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4wYjg0NDk1ZmUxNzU5NDhjZGI3YjJlYzViNWVkMmFlNWE5OGFjZWZhCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2VicnRjL2xlZ2FjeS1hcGkuaHRtbApAQCAtMCwwICsx
LDMzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8
c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuc2V0V2ViUlRD
TGVnYWN5QVBJRW5hYmxlZChmYWxzZSk7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbigpIHsKKyAg
ICB2YXIgcGMxID0gbmV3IFJUQ1BlZXJDb25uZWN0aW9uKHtpY2VTZXJ2ZXJzOlt7dXJsczonc3R1
bjpmb28uY29tJ31dfSk7CisgICAgdmFyIHBjMiA9IG5ldyBSVENQZWVyQ29ubmVjdGlvbih7aWNl
U2VydmVyczpbe3VybHM6J3N0dW46Zm9vLmNvbSd9XX0pOworICAgIGFzc2VydF9lcXVhbHMocGMx
LmdldExvY2FsU3RyZWFtcywgdW5kZWZpbmVkKTsKKyAgICBhc3NlcnRfZXF1YWxzKHBjMS5nZXRS
ZW1vdGVTdHJlYW1zLCB1bmRlZmluZWQpOworICAgIGFzc2VydF9lcXVhbHMocGMxLmdldFN0cmVh
bUJ5SWQsIHVuZGVmaW5lZCk7CisgICAgYXNzZXJ0X2VxdWFscyhwYzEuYWRkU3RyZWFtLCB1bmRl
ZmluZWQpOworICAgIGFzc2VydF9lcXVhbHMocGMxLnJlbW92ZVN0cmVhbSwgdW5kZWZpbmVkKTsK
KyAgICBhc3NlcnRfZXF1YWxzKHBjMS5vbmFkZHN0cmVhbSwgdW5kZWZpbmVkKTsKKworICAgIHZh
ciBjaGFubmVsID0gcGMxLmNyZWF0ZURhdGFDaGFubmVsKCJ0ZXN0Iik7CisgICAgcmV0dXJuIHBj
MS5jcmVhdGVPZmZlcih7IH0sIGFzc2VydF91bnJlYWNoZWQsIGFzc2VydF91bnJlYWNoZWQpLnRo
ZW4oKG9mZmVyKSA9PiB7CisgICAgICAgIHJldHVybiBwYzEuc2V0TG9jYWxEZXNjcmlwdGlvbihv
ZmZlciwgYXNzZXJ0X3VucmVhY2hlZCwgYXNzZXJ0X3VucmVhY2hlZCkudGhlbigoKSA9PiB7IHJl
dHVybiBvZmZlcjsgfSk7IAorICAgIH0pLnRoZW4oKG9mZmVyKSA9PiB7CisgICAgICAgIHJldHVy
biBwYzIuc2V0UmVtb3RlRGVzY3JpcHRpb24ob2ZmZXIsIGFzc2VydF91bnJlYWNoZWQsIGFzc2Vy
dF91bnJlYWNoZWQpOyAKKyAgICB9KS50aGVuKCgpID0+IHsKKyAgICAgICAgcmV0dXJuIHBjMi5j
cmVhdGVBbnN3ZXIoeyB9LCBhc3NlcnRfdW5yZWFjaGVkLCBhc3NlcnRfdW5yZWFjaGVkKTsKKyAg
ICB9KTsKK30sICJUZXN0aW5nIGxlZ2FjeSBBUEkgaXMgbm90IGRlZmluZWQgd2hlbiBsZWdhY3kg
ZmxhZyBpcyB0dXJuZWQgb2ZmIik7CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>