<?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>70638</bug_id>
          
          <creation_ts>2011-10-21 13:20:10 -0700</creation_ts>
          <short_desc>Remove getConstructDataVirtual</short_desc>
          <delta_ts>2011-10-23 15:53:07 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>67690</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Hahnenberg">mhahnenberg</reporter>
          <assigned_to name="Mark Hahnenberg">mhahnenberg</assigned_to>
          <cc>abarth</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>488599</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-10-21 13:20:10 -0700</bug_when>
    <thetext>Now that we have an entry in the MethodTable for getConstructData, we can remove its virtual counterpart and replace all call sites with an explicit lookup in the MethodTable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>488602</commentid>
    <comment_count>1</comment_count>
      <attachid>112008</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-10-21 13:22:14 -0700</bug_when>
    <thetext>Created attachment 112008
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>488805</commentid>
    <comment_count>2</comment_count>
      <attachid>112054</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-10-21 18:22:10 -0700</bug_when>
    <thetext>Created attachment 112054
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489067</commentid>
    <comment_count>3</comment_count>
      <attachid>112054</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-23 14:14:57 -0700</bug_when>
    <thetext>Comment on attachment 112054
Patch

Rejecting attachment 112054 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
s/Plugins/Netscape/JSNPObject.cpp
Hunk #1 FAILED at 236.
1 out of 1 hunk FAILED -- saving rejects to file Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.cpp.rej
patching file Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.h
Hunk #1 FAILED at 80.
1 out of 1 hunk FAILED -- saving rejects to file Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.h.rej

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;Darin Adler&apos;, u&apos;--force&apos;]&quot; exit_code: 1

Full output: http://queues.webkit.org/results/10203571</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489075</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-10-23 15:53:07 -0700</bug_when>
    <thetext>Committed r98203: &lt;http://trac.webkit.org/changeset/98203&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112008</attachid>
            <date>2011-10-21 13:22:14 -0700</date>
            <delta_ts>2011-10-21 18:22:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70638-20111021132213.patch</filename>
            <type>text/plain</type>
            <size>44689</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTgxMjUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDE1
MWM2M2FiZTBiODlhMWFhZDZhNmNmN2RiNWNmZjNkMDJiNzlmZTQuLjM5MzRmY2UwNjljNzM0NmRk
NzJkZmJhOWI3MGQyMzczOTc3NDcyMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSw1
ICsxLDU4IEBACiAyMDExLTEwLTIxICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBs
ZS5jb20+CiAKKyAgICAgICAgUmVtb3ZlIGdldENvbnN0cnVjdERhdGFWaXJ0dWFsCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYzOAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZWQgYWxsIGRlY2xh
cmF0aW9ucyBhbmQgZGVmaW5pdGlvbnMgb2YgZ2V0Q29uc3RydWN0RGF0YVZpcnR1YWwuCisgICAg
ICAgIEFsc28gcmVwbGFjZWQgYWxsIGNhbGwgc2l0ZXMgdG8gZ2V0Q29uc3RydWN0RGF0YVZpcnR1
YWwgd2l0aCBhIAorICAgICAgICBjb3JyZXNwb25kaW5nIGxvb2t1cCBpbiB0aGUgTWV0aG9kVGFi
bGUuCisKKyAgICAgICAgKiBBUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAg
KiBBUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmg6CisgICAgICAgICogQVBJL0pTQ2FsbGJhY2tP
YmplY3QuaDoKKyAgICAgICAgKiBBUEkvSlNDYWxsYmFja09iamVjdEZ1bmN0aW9ucy5oOgorICAg
ICAgICAqIEFQSS9KU09iamVjdFJlZi5jcHA6CisgICAgICAgIChKU09iamVjdElzQ29uc3RydWN0
b3IpOgorICAgICAgICAoSlNPYmplY3RDYWxsQXNDb25zdHJ1Y3Rvcik6CisgICAgICAgICogSmF2
YVNjcmlwdENvcmUuZXhwOgorICAgICAgICAqIGRmZy9ERkdPcGVyYXRpb25zLmNwcDoKKyAgICAg
ICAgKiBpbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHA6CisgICAgICAgIChKU0M6OkludGVycHJl
dGVyOjpwcml2YXRlRXhlY3V0ZSk6CisgICAgICAgICogaml0L0pJVFN0dWJzLmNwcDoKKyAgICAg
ICAgKEpTQzo6REVGSU5FX1NUVUJfRlVOQ1RJT04pOgorICAgICAgICAqIHJ1bnRpbWUvQXJyYXlD
b25zdHJ1Y3Rvci5jcHA6CisgICAgICAgICogcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmg6Cisg
ICAgICAgICogcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAqIHJ1bnRp
bWUvQm9vbGVhbkNvbnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9EYXRlQ29uc3RydWN0
b3IuY3BwOgorICAgICAgICAqIHJ1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmg6CisgICAgICAgICog
cnVudGltZS9FcnJvci5oOgorICAgICAgICAoSlNDOjpTdHJpY3RNb2RlVHlwZUVycm9yRnVuY3Rp
b246OmdldENvbnN0cnVjdERhdGEpOgorICAgICAgICAqIHJ1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rv
ci5jcHA6CisgICAgICAgICogcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmg6CisgICAgICAgICog
cnVudGltZS9GdW5jdGlvbkNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKiBydW50aW1lL0Z1bmN0
aW9uQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL0pTQ2VsbC5jcHA6CisgICAgICAg
ICogcnVudGltZS9KU0NlbGwuaDoKKyAgICAgICAgKiBydW50aW1lL0pTRnVuY3Rpb24uY3BwOgor
ICAgICAgICAqIHJ1bnRpbWUvSlNGdW5jdGlvbi5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNPYmpl
Y3QuaDoKKyAgICAgICAgKEpTQzo6Z2V0Q29uc3RydWN0RGF0YSk6CisgICAgICAgICogcnVudGlt
ZS9OYXRpdmVFcnJvckNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKiBydW50aW1lL05hdGl2ZUVy
cm9yQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmNw
cDoKKyAgICAgICAgKiBydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmg6CisgICAgICAgICogcnVu
dGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgICogcnVudGltZS9PYmplY3RDb25z
dHJ1Y3Rvci5oOgorICAgICAgICAqIHJ1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuY3BwOgorICAg
ICAgICAqIHJ1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL1N0
cmluZ0NvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKiBydW50aW1lL1N0cmluZ0NvbnN0cnVjdG9y
Lmg6CisKKzIwMTEtMTAtMjEgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNv
bT4KKwogICAgICAgICBBZGQgZmluYWxpemVyIHRvIEpTT2JqZWN0CiAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMzNgogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDhm
ZjYxY2Q5YzY2NDFjODBkMzI1ZTIwNTZjN2YwOGExMjA2MTY0Ny4uZDAxNzc1MjQ5ZjA0Nzg2NTZm
Mjc1YzIxODEwOWIxMzlhYTFhYzA5YSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEx
LTEwLTIxICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisKKyAgICAg
ICAgUmVtb3ZlIGdldENvbnN0cnVjdERhdGFWaXJ0dWFsCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4KKworICAgICAgICBSZW1vdmVk
IGFsbCBkZWNsYXJhdGlvbnMgYW5kIGRlZmluaXRpb25zIG9mIGdldENvbnN0cnVjdERhdGFWaXJ0
dWFsLgorICAgICAgICBBbHNvIHJlcGxhY2VkIGFsbCBjYWxsIHNpdGVzIHRvIGdldENvbnN0cnVj
dERhdGFWaXJ0dWFsIHdpdGggYSAKKyAgICAgICAgY29ycmVzcG9uZGluZyBsb29rdXAgaW4gdGhl
IE1ldGhvZFRhYmxlLgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogYmlu
ZGluZ3MvanMvSlNBdWRpb0NvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9K
U0F1ZGlvQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0ltYWdlQ29uc3Ry
dWN0b3IuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTSW1hZ2VDb25zdHJ1Y3Rvci5oOgor
ICAgICAgICAqIGJpbmRpbmdzL2pzL0pTT3B0aW9uQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAq
IGJpbmRpbmdzL2pzL0pTT3B0aW9uQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9TY3JpcHRGdW5jdGlvbkNhbGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RnVuY3Rp
b25DYWxsOjpjb25zdHJ1Y3QpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckpTLnBtOgorICAgICAgICAoR2VuZXJhdGVDb25zdHJ1Y3RvckRlY2xhcmF0aW9uKToKKyAg
ICAgICAgKEdlbmVyYXRlQ29uc3RydWN0b3JEZWZpbml0aW9uKToKKyAgICAgICAgKiBicmlkZ2Uv
cnVudGltZV9vYmplY3QuY3BwOgorICAgICAgICAqIGJyaWRnZS9ydW50aW1lX29iamVjdC5oOgor
CiAyMDExLTEwLTIxICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IEFkdmFuY2VkIHNlYXJjaCByZXN1bHRzIHNob3VsZCBiZSBj
bGVhcmVkIG9uIG5hdmlnYXRpb24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggNmFhNGQ2M2NjZGNmOGJh
MTE1YWI4YzQ1MDE2OWIzNTQ3OTFiMzVmNS4uZDY4MmU0NWFhMWI3ODE3YWE2NmI0MzMwMGNiNjcz
NDRkNTlmOWFmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDExLTEwLTIx
ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisKKyAgICAgICAgUmVt
b3ZlIGdldENvbnN0cnVjdERhdGFWaXJ0dWFsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03MDYzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFJlbW92ZWQgYWxsIGRlY2xhcmF0aW9ucyBhbmQgZGVmaW5pdGlv
bnMgb2YgZ2V0Q29uc3RydWN0RGF0YVZpcnR1YWwuCisgICAgICAgIEFsc28gcmVwbGFjZWQgYWxs
IGNhbGwgc2l0ZXMgdG8gZ2V0Q29uc3RydWN0RGF0YVZpcnR1YWwgd2l0aCBhIAorICAgICAgICBj
b3JyZXNwb25kaW5nIGxvb2t1cCBpbiB0aGUgTWV0aG9kVGFibGUuCisKKyAgICAgICAgKiBQbHVn
aW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW06CisgICAgICAgIChXZWJL
aXQ6Ok5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6Y29uc3RydWN0KToKKwogMjAxMS0xMC0y
MCAgSWFuIEhlbmRlcnNvbiAgPGlhbmhAYXBwbGUuY29tPgogCiAgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU0MQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDNmNzhjOTA0
ZDIwZmFiYzAzZDI2OGIzZDkzMDQ4YzhhN2RiOWQ2Y2EuLmNlNDk2OGU5ZDFjNDM1Mjg2YTYzYWFh
Zjg4NDE0NTkyNDU0NzJkN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMS0xMC0y
MSAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29tPgorCisgICAgICAgIFJl
bW92ZSBnZXRDb25zdHJ1Y3REYXRhVmlydHVhbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2MzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBSZW1vdmVkIGFsbCBkZWNsYXJhdGlvbnMgYW5kIGRlZmluaXRp
b25zIG9mIGdldENvbnN0cnVjdERhdGFWaXJ0dWFsLgorICAgICAgICBBbHNvIHJlcGxhY2VkIGFs
bCBjYWxsIHNpdGVzIHRvIGdldENvbnN0cnVjdERhdGFWaXJ0dWFsIHdpdGggYSAKKyAgICAgICAg
Y29ycmVzcG9uZGluZyBsb29rdXAgaW4gdGhlIE1ldGhvZFRhYmxlLgorCisgICAgICAgICogV2Vi
UHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBPYmplY3QuY3BwOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QT2JqZWN0Lmg6CisKIDIwMTEtMTAtMjEgIEFuZGVy
cyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBGbGFzaCBvZiB3aGl0
ZSB3aGVuIGxvYWRpbmcgYSBwYWdlIGFmdGVyIGEgd2ViIHByb2Nlc3MgY3Jhc2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmNwcAppbmRl
eCBjYjRiZTQxNmJkNTczODAzNTEzM2M1YmQ2YzVmOWQ3YjZiZTlmOWZhLi5iNjAxZjNlY2EzNGRl
NWIwMDM3MzAwNzYzZTZhYjI1N2JkMTRiNDExIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQVBJL0pTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0FQSS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuY3BwCkBAIC04NiwxMSArODYsNiBAQCBz
dGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjb25zdHJ1Y3RKU0NhbGxiYWNrKEV4
ZWNTdGF0ZSogZXhlYykKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRvSlMoSlNPYmplY3RN
YWtlKGN0eCwgc3RhdGljX2Nhc3Q8SlNDYWxsYmFja0NvbnN0cnVjdG9yKj4oY29uc3RydWN0b3Ip
LT5jbGFzc1JlZigpLCAwKSkpOwogfQogCi1Db25zdHJ1Y3RUeXBlIEpTQ2FsbGJhY2tDb25zdHJ1
Y3Rvcjo6Z2V0Q29uc3RydWN0RGF0YVZpcnR1YWwoQ29uc3RydWN0RGF0YSYgY29uc3RydWN0RGF0
YSkKLXsKLSAgICByZXR1cm4gZ2V0Q29uc3RydWN0RGF0YSh0aGlzLCBjb25zdHJ1Y3REYXRhKTsK
LX0KLQogQ29uc3RydWN0VHlwZSBKU0NhbGxiYWNrQ29uc3RydWN0b3I6OmdldENvbnN0cnVjdERh
dGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0YSYgY29uc3RydWN0RGF0YSkKIHsKICAgICBjb25zdHJ1
Y3REYXRhLm5hdGl2ZS5mdW5jdGlvbiA9IGNvbnN0cnVjdEpTQ2FsbGJhY2s7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuaAppbmRleCBlMzE3
NmM2YTFjYzQ3NDZiNjZiZmVmNjZkOThiNmFlYzgxMzFjMjkwLi5iMzIwYTkwMWM5MDQzY2ZkMDc4
MjcxMWI1MzJkODM4NzZlYjgyYjkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
QVBJL0pTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9B
UEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmgKQEAgLTU4LDcgKzU4LDYgQEAgcHJvdGVjdGVkOgog
ICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEltcGxlbWVudHNIYXNJ
bnN0YW5jZSB8IEpTT2JqZWN0OjpTdHJ1Y3R1cmVGbGFnczsKIAogcHJpdmF0ZToKLSAgICB2aXJ0
dWFsIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YVZpcnR1YWwoQ29uc3RydWN0RGF0YSYp
OwogICAgIHN0YXRpYyBDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGEoSlNDZWxsKiwgQ29u
c3RydWN0RGF0YSYpOwogCiAgICAgSlNDbGFzc1JlZiBtX2NsYXNzOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuaAppbmRleCAzZDA5Mjk3MDcwN2RkNDk2NDRj
ZTU0ZWY5ZjE5ZGI4M2ZkY2Q4OTRhLi4zOThkZDAzZDA3NzQ1MGMwMjY1OWNiNGFlZWExZWI2MGMy
NmE3MjMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tP
YmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3Qu
aApAQCAtMTk0LDcgKzE5NCw2IEBAIHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIHZvaWQgZ2V0T3du
UHJvcGVydHlOYW1lcyhFeGVjU3RhdGUqLCBQcm9wZXJ0eU5hbWVBcnJheSYsIEVudW1lcmF0aW9u
TW9kZSBtb2RlID0gRXhjbHVkZURvbnRFbnVtUHJvcGVydGllcyk7CiAKLSAgICB2aXJ0dWFsIENv
bnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YVZpcnR1YWwoQ29uc3RydWN0RGF0YSYpOwogICAg
IHN0YXRpYyBDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGEoSlNDZWxsKiwgQ29uc3RydWN0
RGF0YSYpOwogICAgIHN0YXRpYyBDYWxsVHlwZSBnZXRDYWxsRGF0YShKU0NlbGwqLCBDYWxsRGF0
YSYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tP
YmplY3RGdW5jdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09i
amVjdEZ1bmN0aW9ucy5oCmluZGV4IGM0OTViNjMwOWRlMTRmYjlhNDhiYmI2NjA4MWIxNTRkNzM1
MmYzM2UuLjFkYmIxZDVjNzI2N2FhMGZmZDM0ZjA2NWJiZDcwYzJkZjQzYzg2N2IgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdEZ1bmN0aW9ucy5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdEZ1bmN0aW9u
cy5oCkBAIC0zMzUsMTIgKzMzNSw2IEBAIGJvb2wgSlNDYWxsYmFja09iamVjdDxQYXJlbnQ+Ojpk
ZWxldGVQcm9wZXJ0eUJ5SW5kZXgoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4CiB9CiAKIHRl
bXBsYXRlIDxjbGFzcyBQYXJlbnQ+Ci1Db25zdHJ1Y3RUeXBlIEpTQ2FsbGJhY2tPYmplY3Q8UGFy
ZW50Pjo6Z2V0Q29uc3RydWN0RGF0YVZpcnR1YWwoQ29uc3RydWN0RGF0YSYgY29uc3RydWN0RGF0
YSkKLXsKLSAgICByZXR1cm4gZ2V0Q29uc3RydWN0RGF0YSh0aGlzLCBjb25zdHJ1Y3REYXRhKTsK
LX0KLQotdGVtcGxhdGUgPGNsYXNzIFBhcmVudD4KIENvbnN0cnVjdFR5cGUgSlNDYWxsYmFja09i
amVjdDxQYXJlbnQ+OjpnZXRDb25zdHJ1Y3REYXRhKEpTQ2VsbCogY2VsbCwgQ29uc3RydWN0RGF0
YSYgY29uc3RydWN0RGF0YSkKIHsKICAgICBKU0NhbGxiYWNrT2JqZWN0KiB0aGlzT2JqZWN0ID0g
c3RhdGljX2Nhc3Q8SlNDYWxsYmFja09iamVjdCo+KGNlbGwpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQVBJL0pTT2JqZWN0UmVmLmNwcAppbmRleCAxZmY1NzhiNjQxZDk3YjhkZGU1ZmQ4ZjhhOTlj
NTAxOGNkMTU5MTFjLi42ZDVmMDNkNjVlNDM3YmZiMDJkMWVjZmRiNjQ0NjFkYmE2NDdhNmNlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcApAQCAtNDU0LDcgKzQ1
NCw3IEBAIGJvb2wgSlNPYmplY3RJc0NvbnN0cnVjdG9yKEpTQ29udGV4dFJlZiwgSlNPYmplY3RS
ZWYgb2JqZWN0KQogewogICAgIEpTT2JqZWN0KiBqc09iamVjdCA9IHRvSlMob2JqZWN0KTsKICAg
ICBDb25zdHJ1Y3REYXRhIGNvbnN0cnVjdERhdGE7Ci0gICAgcmV0dXJuIGpzT2JqZWN0LT5nZXRD
b25zdHJ1Y3REYXRhVmlydHVhbChjb25zdHJ1Y3REYXRhKSAhPSBDb25zdHJ1Y3RUeXBlTm9uZTsK
KyAgICByZXR1cm4ganNPYmplY3QtPm1ldGhvZFRhYmxlKCktPmdldENvbnN0cnVjdERhdGEoanNP
YmplY3QsIGNvbnN0cnVjdERhdGEpICE9IENvbnN0cnVjdFR5cGVOb25lOwogfQogCiBKU09iamVj
dFJlZiBKU09iamVjdENhbGxBc0NvbnN0cnVjdG9yKEpTQ29udGV4dFJlZiBjdHgsIEpTT2JqZWN0
UmVmIG9iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1l
bnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKQEAgLTQ2NSw3ICs0NjUsNyBAQCBKU09iamVj
dFJlZiBKU09iamVjdENhbGxBc0NvbnN0cnVjdG9yKEpTQ29udGV4dFJlZiBjdHgsIEpTT2JqZWN0
UmVmIG9iamVjdCwgc2l6ZQogICAgIEpTT2JqZWN0KiBqc09iamVjdCA9IHRvSlMob2JqZWN0KTsK
IAogICAgIENvbnN0cnVjdERhdGEgY29uc3RydWN0RGF0YTsKLSAgICBDb25zdHJ1Y3RUeXBlIGNv
bnN0cnVjdFR5cGUgPSBqc09iamVjdC0+Z2V0Q29uc3RydWN0RGF0YVZpcnR1YWwoY29uc3RydWN0
RGF0YSk7CisgICAgQ29uc3RydWN0VHlwZSBjb25zdHJ1Y3RUeXBlID0ganNPYmplY3QtPm1ldGhv
ZFRhYmxlKCktPmdldENvbnN0cnVjdERhdGEoanNPYmplY3QsIGNvbnN0cnVjdERhdGEpOwogICAg
IGlmIChjb25zdHJ1Y3RUeXBlID09IENvbnN0cnVjdFR5cGVOb25lKQogICAgICAgICByZXR1cm4g
MDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKaW5kZXggOWU2YjRm
YmFjYjcwM2UyM2FmMzkxZTQ3NTEwODY0YTFmN2Y2Y2Q0NC4uZWEyZWZmNmRmODBmYWU1YWNjODI3
ZDRiNmI5OTViYzNhOTNkNzNlMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLmV4cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUuZXhwCkBAIC0yNjIsNyArMjYyLDYgQEAgX19aTjNKU0M2SlNDZWxsMTFnZXRDYWxsRGF0YUVQ
UzBfUk5TXzhDYWxsRGF0YUUKIF9fWk4zSlNDNkpTQ2VsbDE2Z2V0Q29uc3RydWN0RGF0YUVQUzBf
Uk5TXzEzQ29uc3RydWN0RGF0YUUKIF9fWk4zSlNDNkpTQ2VsbDIxZGVsZXRlUHJvcGVydHlWaXJ0
dWFsRVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRQogX19aTjNKU0M2SlNDZWxsMjFk
ZWxldGVQcm9wZXJ0eVZpcnR1YWxFUE5TXzlFeGVjU3RhdGVFagotX19aTjNKU0M2SlNDZWxsMjNn
ZXRDb25zdHJ1Y3REYXRhVmlydHVhbEVSTlNfMTNDb25zdHJ1Y3REYXRhRQogX19aTjNKU0M2SlND
ZWxsMjVnZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0dWFsRVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVu
dGlmaWVyRVJOU18xMlByb3BlcnR5U2xvdEUKIF9fWk4zSlNDNkpTQ2VsbDI1Z2V0T3duUHJvcGVy
dHlTbG90VmlydHVhbEVQTlNfOUV4ZWNTdGF0ZUVqUk5TXzEyUHJvcGVydHlTbG90RQogX19aTjNK
U0M2SlNDZWxsOWdldE9iamVjdEV2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR09wZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVy
YXRpb25zLmNwcAppbmRleCA0MTcyN2RmZmE1NTFhN2U4MDFlMzYyOWVjYTJhZjE3ODE5NGI3NTI1
Li42YzZiYjljOGEzMmUwZTMyNGQ4YWFlMGY2ZGEyNTJjNjgyYmQ1MTY0IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAKQEAgLTE2MSw3ICsxNjEsNyBAQCBK
U0NlbGwqIERGR19PUEVSQVRJT04gb3BlcmF0aW9uQ3JlYXRlVGhpcyhFeGVjU3RhdGUqIGV4ZWMs
IEpTQ2VsbCogcHJvdG90eXBlKQogICAgIAogI2lmICFBU1NFUlRfRElTQUJMRUQKICAgICBDb25z
dHJ1Y3REYXRhIGNvbnN0cnVjdERhdGE7Ci0gICAgQVNTRVJUKGNvbnN0cnVjdG9yLT5nZXRDb25z
dHJ1Y3REYXRhVmlydHVhbChjb25zdHJ1Y3REYXRhKSA9PSBDb25zdHJ1Y3RUeXBlSlMpOworICAg
IEFTU0VSVChjb25zdHJ1Y3Rvci0+bWV0aG9kVGFibGUoKS0+Z2V0Q29uc3RydWN0RGF0YShjb25z
dHJ1Y3RvciwgY29uc3RydWN0RGF0YSkgPT0gQ29uc3RydWN0VHlwZUpTKTsKICNlbmRpZgogICAg
IAogICAgIEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSA9IGV4ZWMtPmdsb2JhbERhdGEoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCmlu
ZGV4IGNjZmRlZTk0Njk0NGJlNWY1NWY3NGVlZjM0ZTQyYTM5YWFkMzE0MDkuLjgzOGY1MWM1OGI5
N2U1ZmExYjg0OGVmNGU5MjNkZDExYjU5MzMxNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcApAQCAtNDYwOSw3ICs0NjA5LDcgQEAg
c2tpcF9pZF9jdXN0b21fc2VsZjoKICAgICAgICAgSlNGdW5jdGlvbiogY29uc3RydWN0b3IgPSBh
c0Z1bmN0aW9uKGNhbGxGcmFtZS0+Y2FsbGVlKCkpOwogI2lmICFBU1NFUlRfRElTQUJMRUQKICAg
ICAgICAgQ29uc3RydWN0RGF0YSBjb25zdHJ1Y3REYXRhOwotICAgICAgICBBU1NFUlQoY29uc3Ry
dWN0b3ItPmdldENvbnN0cnVjdERhdGFWaXJ0dWFsKGNvbnN0cnVjdERhdGEpID09IENvbnN0cnVj
dFR5cGVKUyk7CisgICAgICAgIEFTU0VSVChjb25zdHJ1Y3Rvci0+bWV0aG9kVGFibGUoKS0+Z2V0
Q29uc3RydWN0RGF0YShjb25zdHJ1Y3RvciwgY29uc3RydWN0RGF0YSkgPT0gQ29uc3RydWN0VHlw
ZUpTKTsKICNlbmRpZgogCiAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVFN0dWJzLmNwcAppbmRleCAzOWY2ZDA1OGEyMzgzN2VjMWY1NGU0MzU2
OTU1MWMxYzMxZjEzNzQwLi4wYzUwYWIwYWQ1NjY0ZDEwNjc4MzU0YjI3NDRlY2IzYWZkYTU3NTAz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmNwcApAQCAtMTI2Nyw3ICsxMjY3
LDcgQEAgREVGSU5FX1NUVUJfRlVOQ1RJT04oRW5jb2RlZEpTVmFsdWUsIG9wX2NyZWF0ZV90aGlz
KQogICAgIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yID0gYXNGdW5jdGlvbihjYWxsRnJhbWUtPmNh
bGxlZSgpKTsKICNpZiAhQVNTRVJUX0RJU0FCTEVECiAgICAgQ29uc3RydWN0RGF0YSBjb25zdHJ1
Y3REYXRhOwotICAgIEFTU0VSVChjb25zdHJ1Y3Rvci0+Z2V0Q29uc3RydWN0RGF0YVZpcnR1YWwo
Y29uc3RydWN0RGF0YSkgPT0gQ29uc3RydWN0VHlwZUpTKTsKKyAgICBBU1NFUlQoY29uc3RydWN0
b3ItPm1ldGhvZFRhYmxlKCktPmdldENvbnN0cnVjdERhdGEoY29uc3RydWN0b3IsIGNvbnN0cnVj
dERhdGEpID09IENvbnN0cnVjdFR5cGVKUyk7CiAjZW5kaWYKIAogICAgIFN0cnVjdHVyZSogc3Ry
dWN0dXJlOwpAQCAtMjE2Nyw3ICsyMTY3LDcgQEAgREVGSU5FX1NUVUJfRlVOQ1RJT04odm9pZCos
IG9wX2NvbnN0cnVjdF9qaXRDb21waWxlKQogCiAjaWYgIUFTU0VSVF9ESVNBQkxFRAogICAgIENv
bnN0cnVjdERhdGEgY29uc3RydWN0RGF0YTsKLSAgICBBU1NFUlQoYXNGdW5jdGlvbihzdGFja0Zy
YW1lLmNhbGxGcmFtZS0+Y2FsbGVlKCkpLT5nZXRDb25zdHJ1Y3REYXRhVmlydHVhbChjb25zdHJ1
Y3REYXRhKSA9PSBDb25zdHJ1Y3RUeXBlSlMpOworICAgIEFTU0VSVChhc0Z1bmN0aW9uKHN0YWNr
RnJhbWUuY2FsbEZyYW1lLT5jYWxsZWUoKSktPm1ldGhvZFRhYmxlKCktPmdldENvbnN0cnVjdERh
dGEoc3RhY2tGcmFtZS5jYWxsRnJhbWUtPmNhbGxlZSgpLCBjb25zdHJ1Y3REYXRhKSA9PSBDb25z
dHJ1Y3RUeXBlSlMpOwogI2VuZGlmCiAgICAgCiAgICAgcmV0dXJuIGppdENvbXBpbGVGb3Ioc3Rh
Y2tGcmFtZSwgQ29kZUZvckNvbnN0cnVjdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0FycmF5Q29uc3RydWN0b3IuY3BwCmluZGV4IDUwYzhhZTE1ODU4OThmZDJiYWI1
M2U3YTExZDIzYmFmMWFjNjM2NzUuLjJhZTUzMDdhNjdkOGU1ZjA1OTRhNGI1Mjc2MDY4NDYzNmI4
NGZlYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5Q29u
c3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5Q29u
c3RydWN0b3IuY3BwCkBAIC0xMDIsMTEgKzEwMiw2IEBAIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIGNvbnN0cnVjdFdpdGhBcnJheUNvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhl
CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShjb25zdHJ1Y3RBcnJheVdpdGhTaXplUXVpcmso
ZXhlYywgYXJncykpOwogfQogCi1Db25zdHJ1Y3RUeXBlIEFycmF5Q29uc3RydWN0b3I6OmdldENv
bnN0cnVjdERhdGFWaXJ0dWFsKENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCi17Ci0gICAg
cmV0dXJuIGdldENvbnN0cnVjdERhdGEodGhpcywgY29uc3RydWN0RGF0YSk7Ci19Ci0KIENvbnN0
cnVjdFR5cGUgQXJyYXlDb25zdHJ1Y3Rvcjo6Z2V0Q29uc3RydWN0RGF0YShKU0NlbGwqLCBDb25z
dHJ1Y3REYXRhJiBjb25zdHJ1Y3REYXRhKQogewogICAgIGNvbnN0cnVjdERhdGEubmF0aXZlLmZ1
bmN0aW9uID0gY29uc3RydWN0V2l0aEFycmF5Q29uc3RydWN0b3I7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmgKaW5kZXggMjU4MzQ4OWM0M2Iz
M2Y1YzQwZjUyYTFiOTM2YmFhYjE3YzAwMjkxYi4uZGZmNzBhNDhmZmFlNzgwZjNjOTQ5NGU4ODhi
OTdmM2RkYjhjNmI0OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
QXJyYXlDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Fy
cmF5Q29uc3RydWN0b3IuaApAQCAtNTYsNyArNTYsNiBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAg
ICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEV4ZWNTdGF0ZSosIGNv
bnN0IElkZW50aWZpZXImLCBQcm9wZXJ0eURlc2NyaXB0b3ImKTsKIAotICAgICAgICB2aXJ0dWFs
IENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YVZpcnR1YWwoQ29uc3RydWN0RGF0YSYpOwog
ICAgICAgICBzdGF0aWMgQ29uc3RydWN0VHlwZSBnZXRDb25zdHJ1Y3REYXRhKEpTQ2VsbCosIENv
bnN0cnVjdERhdGEmKTsKICAgICAgICAgc3RhdGljIENhbGxUeXBlIGdldENhbGxEYXRhKEpTQ2Vs
bCosIENhbGxEYXRhJik7CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuY3BwCmluZGV4IGFiNjE2OWQxOWY4MWJiZjc5N2Nl
YWU0ZjM3NDUwMmNmZDg5NjVlNGMuLmRjMjhkZTE0MzE4MTI2NTgxMWMyYmYxNTk3MDJhZDI3MzUw
YzIzYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5D
b25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVh
bkNvbnN0cnVjdG9yLmNwcApAQCAtNTgsMTEgKzU4LDYgQEAgc3RhdGljIEVuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwgY29uc3RydWN0V2l0aEJvb2xlYW5Db25zdHJ1Y3RvcihFeGVjU3RhdGUq
IGUKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGNvbnN0cnVjdEJvb2xlYW4oZXhlYywgYXJn
cykpOwogfQogCi1Db25zdHJ1Y3RUeXBlIEJvb2xlYW5Db25zdHJ1Y3Rvcjo6Z2V0Q29uc3RydWN0
RGF0YVZpcnR1YWwoQ29uc3RydWN0RGF0YSYgY29uc3RydWN0RGF0YSkKLXsKLSAgICByZXR1cm4g
Z2V0Q29uc3RydWN0RGF0YSh0aGlzLCBjb25zdHJ1Y3REYXRhKTsKLX0KLQogQ29uc3RydWN0VHlw
ZSBCb29sZWFuQ29uc3RydWN0b3I6OmdldENvbnN0cnVjdERhdGEoSlNDZWxsKiwgQ29uc3RydWN0
RGF0YSYgY29uc3RydWN0RGF0YSkKIHsKICAgICBjb25zdHJ1Y3REYXRhLm5hdGl2ZS5mdW5jdGlv
biA9IGNvbnN0cnVjdFdpdGhCb29sZWFuQ29uc3RydWN0b3I7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5oCmluZGV4IDY3MDNmZDdhOWRh
MWZiNDQxMGZmZWVjMzUxNDg3N2I2ZWUwN2QxMGIuLmFmNmJlNjUwNmEyYTUxYjAxN2U0YjgwODU2
YTY2NTQ0NWZkMjQxMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Jvb2xlYW5Db25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Jvb2xlYW5Db25zdHJ1Y3Rvci5oCkBAIC01MCw3ICs1MCw2IEBAIG5hbWVzcGFjZSBKU0Mgewog
CiAgICAgcHJpdmF0ZToKICAgICAgICAgQm9vbGVhbkNvbnN0cnVjdG9yKEpTR2xvYmFsT2JqZWN0
KiwgU3RydWN0dXJlKik7Ci0gICAgICAgIHZpcnR1YWwgQ29uc3RydWN0VHlwZSBnZXRDb25zdHJ1
Y3REYXRhVmlydHVhbChDb25zdHJ1Y3REYXRhJik7CiAgICAgICAgIHN0YXRpYyBDb25zdHJ1Y3RU
eXBlIGdldENvbnN0cnVjdERhdGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0YSYpOwogICAgICAgICBz
dGF0aWMgQ2FsbFR5cGUgZ2V0Q2FsbERhdGEoSlNDZWxsKiwgQ2FsbERhdGEmKTsKICAgICB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9y
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5jcHAK
aW5kZXggZmI3OGZiMTgxM2YzNzBkZjE0ODg1OGVmMTg4MTgyZDVhNmY0Y2VjMi4uMWI5MGM2ZGMw
YTEzNjYyMGZmYmIwOGNhNTkwN2M2ZjMzZWIyYTNiNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3IuY3BwCkBAIC0xNjEsMTEgKzE2MSw2IEBA
IHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGNvbnN0cnVjdFdpdGhEYXRlQ29u
c3RydWN0b3IoRXhlY1N0YXRlKiBleGVjCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShjb25z
dHJ1Y3REYXRlKGV4ZWMsIGFzSW50ZXJuYWxGdW5jdGlvbihleGVjLT5jYWxsZWUoKSktPmdsb2Jh
bE9iamVjdCgpLCBhcmdzKSk7CiB9CiAKLUNvbnN0cnVjdFR5cGUgRGF0ZUNvbnN0cnVjdG9yOjpn
ZXRDb25zdHJ1Y3REYXRhVmlydHVhbChDb25zdHJ1Y3REYXRhJiBjb25zdHJ1Y3REYXRhKQotewot
ICAgIHJldHVybiBnZXRDb25zdHJ1Y3REYXRhKHRoaXMsIGNvbnN0cnVjdERhdGEpOwotfQotCiBD
b25zdHJ1Y3RUeXBlIERhdGVDb25zdHJ1Y3Rvcjo6Z2V0Q29uc3RydWN0RGF0YShKU0NlbGwqLCBD
b25zdHJ1Y3REYXRhJiBjb25zdHJ1Y3REYXRhKQogewogICAgIGNvbnN0cnVjdERhdGEubmF0aXZl
LmZ1bmN0aW9uID0gY29uc3RydWN0V2l0aERhdGVDb25zdHJ1Y3RvcjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmgKaW5kZXggYzc3MzRiMTAyMDI2
ZjJmNjgwZTJiMzIwYThkZTllNzA3ZDAyZDU1MC4uMWYxYmMxNWZjNGVjYzBkODIwYjdjYTg1ZWUw
YWI4M2Y2NDQ0Y2U0YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
RGF0ZUNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0
ZUNvbnN0cnVjdG9yLmgKQEAgLTUxLDcgKzUxLDYgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICBw
cml2YXRlOgogICAgICAgICBEYXRlQ29uc3RydWN0b3IoSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1
cmUqKTsKLSAgICAgICAgdmlydHVhbCBDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGFWaXJ0
dWFsKENvbnN0cnVjdERhdGEmKTsKICAgICAgICAgc3RhdGljIENvbnN0cnVjdFR5cGUgZ2V0Q29u
c3RydWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRhJik7CiAgICAgICAgIHN0YXRpYyBDYWxs
VHlwZSBnZXRDYWxsRGF0YShKU0NlbGwqLCBDYWxsRGF0YSYpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRXJyb3IuaAppbmRleCA1MTgwZmZhMGY3NDJhNzg1NWQ5MzQ3NDU3OTBiYTU3ZGUz
OTBiOGFhLi5hYzczNTRkMzE3MjA0Y2U3YTc3YzllOGUwOWYwM2U3M2VhMWEyZjIzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvci5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yLmgKQEAgLTk4LDcgKzk4LDcgQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVsbCgpKTsKICAg
ICAgICAgfQogICAgIAotICAgICAgICB2aXJ0dWFsIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0
RGF0YVZpcnR1YWwoQ29uc3RydWN0RGF0YSYgY29uc3RydWN0RGF0YSkKKyAgICAgICAgc3RhdGlj
IENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRhJiBj
b25zdHJ1Y3REYXRhKQogICAgICAgICB7CiAgICAgICAgICAgICBjb25zdHJ1Y3REYXRhLm5hdGl2
ZS5mdW5jdGlvbiA9IGNvbnN0cnVjdFRocm93VHlwZUVycm9yOwogICAgICAgICAgICAgcmV0dXJu
IENvbnN0cnVjdFR5cGVIb3N0OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9FcnJvckNvbnN0cnVjdG9yLmNwcAppbmRleCAwOGE3NWY4NWVkOWMzN2M4NmFhMDYyOWEwNDUz
ZmYxMTEwYWRkNTQ1Li41MjMwOWQxZmQ2YWE5NzQzOTljNjU0N2I1NjM1ZmU1OGU2OTQ0ZmZjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9y
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9y
LmNwcApAQCAtNTMsMTEgKzUzLDYgQEAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NB
TEwgY29uc3RydWN0V2l0aEVycm9yQ29uc3RydWN0b3IoRXhlY1N0YXRlKiBleGUKICAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0ZShleGVjLCBlcnJvclN0cnVj
dHVyZSwgbWVzc2FnZSkpOwogfQogCi1Db25zdHJ1Y3RUeXBlIEVycm9yQ29uc3RydWN0b3I6Omdl
dENvbnN0cnVjdERhdGFWaXJ0dWFsKENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCi17Ci0g
ICAgcmV0dXJuIGdldENvbnN0cnVjdERhdGEodGhpcywgY29uc3RydWN0RGF0YSk7Ci19Ci0KIENv
bnN0cnVjdFR5cGUgRXJyb3JDb25zdHJ1Y3Rvcjo6Z2V0Q29uc3RydWN0RGF0YShKU0NlbGwqLCBD
b25zdHJ1Y3REYXRhJiBjb25zdHJ1Y3REYXRhKQogewogICAgIGNvbnN0cnVjdERhdGEubmF0aXZl
LmZ1bmN0aW9uID0gY29uc3RydWN0V2l0aEVycm9yQ29uc3RydWN0b3I7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmgKaW5kZXggYWYzZmFkZjY0
NWIyMThjNzA4ZmQ2OWI2MGQ4ZTU3YmNmNjUxMzdjNS4uYmU2N2Q2Y2MwNDliYWFhMmEwOTFkMzc4
ZTg5MDVlYzZjNWI1YzUwMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvRXJyb3JDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Vycm9yQ29uc3RydWN0b3IuaApAQCAtNTEsNyArNTEsNiBAQCBuYW1lc3BhY2UgSlNDIHsKICAg
ICAgICAgCiAgICAgcHJpdmF0ZToKICAgICAgICAgRXJyb3JDb25zdHJ1Y3RvcihKU0dsb2JhbE9i
amVjdCosIFN0cnVjdHVyZSopOwotICAgICAgICB2aXJ0dWFsIENvbnN0cnVjdFR5cGUgZ2V0Q29u
c3RydWN0RGF0YVZpcnR1YWwoQ29uc3RydWN0RGF0YSYpOwogICAgICAgICBzdGF0aWMgQ29uc3Ry
dWN0VHlwZSBnZXRDb25zdHJ1Y3REYXRhKEpTQ2VsbCosIENvbnN0cnVjdERhdGEmKTsKICAgICAg
ICAgc3RhdGljIENhbGxUeXBlIGdldENhbGxEYXRhKEpTQ2VsbCosIENhbGxEYXRhJik7CiAgICAg
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uQ29u
c3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Db25z
dHJ1Y3Rvci5jcHAKaW5kZXggNGExN2JhZGQzOWZlYTAxNmNhNDA0OWU2ZmZlYTVkZWVhOTdhNTE5
Mi4uNTU0MmQ4NTYxMDliY2NiYzUxMmE2NzBmYzVmY2U0MjI3ZjQ5Y2RlNCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAK
QEAgLTU5LDExICs1OSw2IEBAIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGNv
bnN0cnVjdFdpdGhGdW5jdGlvbkNvbnN0cnVjdG9yKEV4ZWNTdGF0ZSoKICAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKGNvbnN0cnVjdEZ1bmN0aW9uKGV4ZWMsIGFzSW50ZXJuYWxGdW5jdGlvbihl
eGVjLT5jYWxsZWUoKSktPmdsb2JhbE9iamVjdCgpLCBhcmdzKSk7CiB9CiAKLUNvbnN0cnVjdFR5
cGUgRnVuY3Rpb25Db25zdHJ1Y3Rvcjo6Z2V0Q29uc3RydWN0RGF0YVZpcnR1YWwoQ29uc3RydWN0
RGF0YSYgY29uc3RydWN0RGF0YSkKLXsKLSAgICByZXR1cm4gZ2V0Q29uc3RydWN0RGF0YSh0aGlz
LCBjb25zdHJ1Y3REYXRhKTsKLX0KLQogQ29uc3RydWN0VHlwZSBGdW5jdGlvbkNvbnN0cnVjdG9y
OjpnZXRDb25zdHJ1Y3REYXRhKEpTQ2VsbCosIENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEp
CiB7CiAgICAgY29uc3RydWN0RGF0YS5uYXRpdmUuZnVuY3Rpb24gPSBjb25zdHJ1Y3RXaXRoRnVu
Y3Rpb25Db25zdHJ1Y3RvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Z1bmN0aW9uQ29uc3RydWN0b3IuaAppbmRleCAwYTczN2ZiNDVkMDE4NTA4N2MxMzI1OTBmMDk4
MDYyMGUwNjgyYWZkLi5hZDA0NTdmYzY0OGM5MzYzZTkyMjg0ODdjMjYwMTQyYzc0M2M3ZWNlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkNvbnN0cnVj
dG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Db25zdHJ1
Y3Rvci5oCkBAIC00OCw3ICs0OCw2IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIHByaXZhdGU6CiAg
ICAgICAgIEZ1bmN0aW9uQ29uc3RydWN0b3IoSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqKTsK
ICAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqLCBGdW5jdGlvblByb3RvdHlw
ZSopOwotICAgICAgICB2aXJ0dWFsIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YVZpcnR1
YWwoQ29uc3RydWN0RGF0YSYpOwogICAgICAgICBzdGF0aWMgQ29uc3RydWN0VHlwZSBnZXRDb25z
dHJ1Y3REYXRhKEpTQ2VsbCosIENvbnN0cnVjdERhdGEmKTsKICAgICAgICAgc3RhdGljIENhbGxU
eXBlIGdldENhbGxEYXRhKEpTQ2VsbCosIENhbGxEYXRhJik7CiAgICAgfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0NlbGwuY3BwCmluZGV4IDkzOWY3YjQ1MjIwY2UzMGI3M2RhZWU2
MmYwNzFiYjhlZGZlYmJkOTguLmMyNzlhZTVhYTRkMTQ4ZTU2NjdhNjYzZmEzMGFjZTg5OWQ5YmY5
ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmNwcApAQCAtNTksMTEg
KzU5LDYgQEAgQ2FsbFR5cGUgSlNDZWxsOjpnZXRDYWxsRGF0YShKU0NlbGwqLCBDYWxsRGF0YSYp
CiAgICAgcmV0dXJuIENhbGxUeXBlTm9uZTsKIH0KIAotQ29uc3RydWN0VHlwZSBKU0NlbGw6Omdl
dENvbnN0cnVjdERhdGFWaXJ0dWFsKENvbnN0cnVjdERhdGEmKQotewotICAgIHJldHVybiBDb25z
dHJ1Y3RUeXBlTm9uZTsKLX0KLQogQ29uc3RydWN0VHlwZSBKU0NlbGw6OmdldENvbnN0cnVjdERh
dGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0YSYpCiB7CiAgICAgcmV0dXJuIENvbnN0cnVjdFR5cGVO
b25lOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaAppbmRleCA0ZmYxYTU4MTAx
Y2RlYjQ1YzRhYTA0NzhiNTZjOTU0MGMxYzJmOTA3Li43ZTBlNTFmZTFhNzk4NjMyYWM1MzRhMjNk
NzNhYzA5OTc3YWY2OWQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0NlbGwuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaApA
QCAtNzQsNyArNzQsNiBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgY29uc3QgSlNPYmplY3Qq
IGdldE9iamVjdCgpIGNvbnN0OyAvLyBOVUxMIGlmIG5vdCBhbiBvYmplY3QKICAgICAgICAgCiAg
ICAgICAgIHN0YXRpYyBDYWxsVHlwZSBnZXRDYWxsRGF0YShKU0NlbGwqLCBDYWxsRGF0YSYpOwot
ICAgICAgICB2aXJ0dWFsIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YVZpcnR1YWwoQ29u
c3RydWN0RGF0YSYpOwogICAgICAgICBzdGF0aWMgQ29uc3RydWN0VHlwZSBnZXRDb25zdHJ1Y3RE
YXRhKEpTQ2VsbCosIENvbnN0cnVjdERhdGEmKTsKIAogICAgICAgICAvLyBCYXNpYyBjb252ZXJz
aW9ucy4KQEAgLTIzMiwxMyArMjMxLDYgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHJldHVy
biBpc0NlbGwoKSA/IGFzQ2VsbCgpLT5nZXRPYmplY3QoKSA6IDA7CiAgICAgfQogCi0gICAgaW5s
aW5lIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YShKU1ZhbHVlIHZhbHVlLCBDb25zdHJ1
Y3REYXRhJiBjb25zdHJ1Y3REYXRhKQotICAgIHsKLSAgICAgICAgQ29uc3RydWN0VHlwZSByZXN1
bHQgPSB2YWx1ZS5pc0NlbGwoKSA/IHZhbHVlLmFzQ2VsbCgpLT5nZXRDb25zdHJ1Y3REYXRhVmly
dHVhbChjb25zdHJ1Y3REYXRhKSA6IENvbnN0cnVjdFR5cGVOb25lOwotICAgICAgICBBU1NFUlQo
cmVzdWx0ID09IENvbnN0cnVjdFR5cGVOb25lIHx8IHZhbHVlLmlzVmFsaWRDYWxsZWUoKSk7Ci0g
ICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgfQotCiAgICAgQUxXQVlTX0lOTElORSBib29sIEpT
VmFsdWU6OmdldFVJbnQzMih1aW50MzJfdCYgdikgY29uc3QKICAgICB7CiAgICAgICAgIGlmIChp
c0ludDMyKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
RnVuY3Rpb24uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5j
cHAKaW5kZXggNjVkMzRmMjFmMWNhNjI0ZDE0MjljMmEwY2RjNjM4YWYxOTg5NzNiYi4uMzgzYjk1
M2UwMDlhODllMWMzMDAxNzhiMThiNmE4ODU0NTY3MThhYSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAKQEAgLTM2MiwxMSArMzYyLDYgQEAgYm9vbCBK
U0Z1bmN0aW9uOjpkZWxldGVQcm9wZXJ0eShKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywg
Y29uc3QgSWRlbnRpZmllciYKICAgICByZXR1cm4gQmFzZTo6ZGVsZXRlUHJvcGVydHkodGhpc09i
amVjdCwgZXhlYywgcHJvcGVydHlOYW1lKTsKIH0KIAotQ29uc3RydWN0VHlwZSBKU0Z1bmN0aW9u
OjpnZXRDb25zdHJ1Y3REYXRhVmlydHVhbChDb25zdHJ1Y3REYXRhJiBjb25zdHJ1Y3REYXRhKQot
ewotICAgIHJldHVybiBnZXRDb25zdHJ1Y3REYXRhKHRoaXMsIGNvbnN0cnVjdERhdGEpOwotfQot
CiAvLyBFQ01BIDEzLjIuMiBbW0NvbnN0cnVjdF1dCiBDb25zdHJ1Y3RUeXBlIEpTRnVuY3Rpb246
OmdldENvbnN0cnVjdERhdGEoSlNDZWxsKiBjZWxsLCBDb25zdHJ1Y3REYXRhJiBjb25zdHJ1Y3RE
YXRhKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5j
dGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCmluZGV4
IDI3ZmE2ZjVmNjQ3NGUwNDAyZDdiOGJiYTBlODUyNzg5ZWFlNGIxOWIuLjFjMDQwZjBmZDc0NWJl
ODIxMzg1NTg3OGJjMjNkZWRkYjdhYjUwMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0Z1bmN0aW9uLmgKQEAgLTEwNSw3ICsxMDUsNiBAQCBuYW1lc3BhY2UgSlNDIHsKICAg
ICAgICAgTmF0aXZlRnVuY3Rpb24gbmF0aXZlRnVuY3Rpb24oKTsKICAgICAgICAgTmF0aXZlRnVu
Y3Rpb24gbmF0aXZlQ29uc3RydWN0b3IoKTsKIAotICAgICAgICB2aXJ0dWFsIENvbnN0cnVjdFR5
cGUgZ2V0Q29uc3RydWN0RGF0YVZpcnR1YWwoQ29uc3RydWN0RGF0YSYpOwogICAgICAgICBzdGF0
aWMgQ29uc3RydWN0VHlwZSBnZXRDb25zdHJ1Y3REYXRhKEpTQ2VsbCosIENvbnN0cnVjdERhdGEm
KTsKICAgICAgICAgc3RhdGljIENhbGxUeXBlIGdldENhbGxEYXRhKEpTQ2VsbCosIENhbGxEYXRh
Jik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCmluZGV4IDM0NThm
YWI1ODE1NDBkZWMzNTc5N2RhMmU1MTJhOGE3MzdhZTQxMGEuLjAwYmRiZmY3YTE1N2FhNTMxYjI3
ZjEwNjlkNDZkYjQ3N2E0YjQwZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNP
YmplY3QuaApAQCAtNDIyLDYgKzQyMiwxMyBAQCBpbmxpbmUgQ2FsbFR5cGUgZ2V0Q2FsbERhdGEo
SlNWYWx1ZSB2YWx1ZSwgQ2FsbERhdGEmIGNhbGxEYXRhKQogICAgIHJldHVybiByZXN1bHQ7CiB9
CiAKK2lubGluZSBDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGEoSlNWYWx1ZSB2YWx1ZSwg
Q29uc3RydWN0RGF0YSYgY29uc3RydWN0RGF0YSkKK3sKKyAgICBDb25zdHJ1Y3RUeXBlIHJlc3Vs
dCA9IHZhbHVlLmlzQ2VsbCgpID8gdmFsdWUuYXNDZWxsKCktPm1ldGhvZFRhYmxlKCktPmdldENv
bnN0cnVjdERhdGEodmFsdWUuYXNDZWxsKCksIGNvbnN0cnVjdERhdGEpIDogQ29uc3RydWN0VHlw
ZU5vbmU7CisgICAgQVNTRVJUKHJlc3VsdCA9PSBDb25zdHJ1Y3RUeXBlTm9uZSB8fCB2YWx1ZS5p
c1ZhbGlkQ2FsbGVlKCkpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKIGlubGluZSBTdHJ1Y3R1
cmUqIGNyZWF0ZUVtcHR5T2JqZWN0U3RydWN0dXJlKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90b3R5cGUpCiB7CiAgICAg
cmV0dXJuIEpTRmluYWxPYmplY3Q6OmNyZWF0ZVN0cnVjdHVyZShnbG9iYWxEYXRhLCBnbG9iYWxP
YmplY3QsIHByb3RvdHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9OYXRpdmVFcnJvckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuY3BwCmluZGV4IGIzODU4ZGEzNjNmYTliZTdm
YTcwNTg2MDU4NTE2ZDk5MWJmMzhiYzEuLmI1MTk1ODE1YjQ4MjMxOTJiOTYxNjYyODBlM2E5MDA2
OWI1MjhmMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2
ZUVycm9yQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L05hdGl2ZUVycm9yQ29uc3RydWN0b3IuY3BwCkBAIC01NiwxMSArNTYsNiBAQCBzdGF0aWMgRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjb25zdHJ1Y3RXaXRoTmF0aXZlRXJyb3JDb25zdHJ1
Y3RvcihFeGVjU3RhdAogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6
Y3JlYXRlKGV4ZWMsIGVycm9yU3RydWN0dXJlLCBtZXNzYWdlKSk7CiB9CiAKLUNvbnN0cnVjdFR5
cGUgTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvcjo6Z2V0Q29uc3RydWN0RGF0YVZpcnR1YWwoQ29uc3Ry
dWN0RGF0YSYgY29uc3RydWN0RGF0YSkKLXsKLSAgICByZXR1cm4gZ2V0Q29uc3RydWN0RGF0YSh0
aGlzLCBjb25zdHJ1Y3REYXRhKTsKLX0KLQogQ29uc3RydWN0VHlwZSBOYXRpdmVFcnJvckNvbnN0
cnVjdG9yOjpnZXRDb25zdHJ1Y3REYXRhKEpTQ2VsbCosIENvbnN0cnVjdERhdGEmIGNvbnN0cnVj
dERhdGEpCiB7CiAgICAgY29uc3RydWN0RGF0YS5uYXRpdmUuZnVuY3Rpb24gPSBjb25zdHJ1Y3RX
aXRoTmF0aXZlRXJyb3JDb25zdHJ1Y3RvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuaAppbmRleCA2YTgyYjUxZDhhMjk1
MGE5MmFlZjEyZTYxZjU1YzhiZjEyYjY5NGFiLi45ODMyMmYxYjY2MWZhNDc0NDAxMjRiYjBiOTMz
YTQ1YjZlNTg5Y2FmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9O
YXRpdmVFcnJvckNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvci5oCkBAIC02OCw3ICs2OCw2IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgIHByaXZhdGU6CiAgICAgICAgIE5hdGl2ZUVycm9yQ29uc3RydWN0b3IoSlNHbG9i
YWxPYmplY3QqLCBTdHJ1Y3R1cmUqKTsKICAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0
cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzVmlzaXRDaGlsZHJlbiB8IEludGVybmFsRnVuY3Rpb246
OlN0cnVjdHVyZUZsYWdzOwotICAgICAgICB2aXJ0dWFsIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3Ry
dWN0RGF0YVZpcnR1YWwoQ29uc3RydWN0RGF0YSYpOwogICAgICAgICBzdGF0aWMgQ29uc3RydWN0
VHlwZSBnZXRDb25zdHJ1Y3REYXRhKEpTQ2VsbCosIENvbnN0cnVjdERhdGEmKTsKICAgICAgICAg
c3RhdGljIENhbGxUeXBlIGdldENhbGxEYXRhKEpTQ2VsbCosIENhbGxEYXRhJik7CiAgICAgICAg
IHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmNwcApp
bmRleCBjODkzNTRjM2JlNWYyODI1NTIwYjc5MTJmODliYTIzMWVmYmIzY2Y2Li4wMGEyZGM4NDUx
MmI1YTA3MTc4MDRkZDI5NTdjMzM3NzY1ZTU2ODU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuY3BwCkBAIC0xMjAsMTEgKzEyMCw2
IEBAIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGNvbnN0cnVjdFdpdGhOdW1i
ZXJDb25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShv
YmplY3QpOwogfQogCi1Db25zdHJ1Y3RUeXBlIE51bWJlckNvbnN0cnVjdG9yOjpnZXRDb25zdHJ1
Y3REYXRhVmlydHVhbChDb25zdHJ1Y3REYXRhJiBjb25zdHJ1Y3REYXRhKQotewotICAgIHJldHVy
biBnZXRDb25zdHJ1Y3REYXRhKHRoaXMsIGNvbnN0cnVjdERhdGEpOwotfQotCiBDb25zdHJ1Y3RU
eXBlIE51bWJlckNvbnN0cnVjdG9yOjpnZXRDb25zdHJ1Y3REYXRhKEpTQ2VsbCosIENvbnN0cnVj
dERhdGEmIGNvbnN0cnVjdERhdGEpCiB7CiAgICAgY29uc3RydWN0RGF0YS5uYXRpdmUuZnVuY3Rp
b24gPSBjb25zdHJ1Y3RXaXRoTnVtYmVyQ29uc3RydWN0b3I7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuaAppbmRleCAxOTFmNGFhMjkxNTA5
OGE1YWZlN2M3ZjRkZTAwNDA1YjUwNzRiMmE4Li45M2IxNjlkNzk2MDViYzI2OTk1ZDhkYWFmZjVl
ZDg1YTM2MGI4ZjYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9O
dW1iZXJDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051
bWJlckNvbnN0cnVjdG9yLmgKQEAgLTU4LDcgKzU4LDYgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAg
ICBwcml2YXRlOgogICAgICAgICBOdW1iZXJDb25zdHJ1Y3RvcihKU0dsb2JhbE9iamVjdCosIFN0
cnVjdHVyZSopOwotICAgICAgICB2aXJ0dWFsIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0
YVZpcnR1YWwoQ29uc3RydWN0RGF0YSYpOwogICAgICAgICBzdGF0aWMgQ29uc3RydWN0VHlwZSBn
ZXRDb25zdHJ1Y3REYXRhKEpTQ2VsbCosIENvbnN0cnVjdERhdGEmKTsKICAgICAgICAgc3RhdGlj
IENhbGxUeXBlIGdldENhbGxEYXRhKEpTQ2VsbCosIENhbGxEYXRhJik7CiAgICAgfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmNwcApp
bmRleCBmZDhhZTNlNzM2YWFiMGU4YjViODZkZjBiOTE2ZjRlMGNhNzVmMjM3Li5mYmRjYzM4MTFm
MmFjM2EwMjk3OGRmOGMxMWIwM2E1MGNlZGFiZDA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwCkBAIC0xMTksMTEgKzExOSw2
IEBAIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGNvbnN0cnVjdFdpdGhPYmpl
Y3RDb25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShj
b25zdHJ1Y3RPYmplY3QoZXhlYywgYXNJbnRlcm5hbEZ1bmN0aW9uKGV4ZWMtPmNhbGxlZSgpKS0+
Z2xvYmFsT2JqZWN0KCksIGFyZ3MpKTsKIH0KIAotQ29uc3RydWN0VHlwZSBPYmplY3RDb25zdHJ1
Y3Rvcjo6Z2V0Q29uc3RydWN0RGF0YVZpcnR1YWwoQ29uc3RydWN0RGF0YSYgY29uc3RydWN0RGF0
YSkKLXsKLSAgICByZXR1cm4gZ2V0Q29uc3RydWN0RGF0YSh0aGlzLCBjb25zdHJ1Y3REYXRhKTsK
LX0KLQogQ29uc3RydWN0VHlwZSBPYmplY3RDb25zdHJ1Y3Rvcjo6Z2V0Q29uc3RydWN0RGF0YShK
U0NlbGwqLCBDb25zdHJ1Y3REYXRhJiBjb25zdHJ1Y3REYXRhKQogewogICAgIGNvbnN0cnVjdERh
dGEubmF0aXZlLmZ1bmN0aW9uID0gY29uc3RydWN0V2l0aE9iamVjdENvbnN0cnVjdG9yOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3Iu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmgKaW5k
ZXggY2Q2MjRjM2ZiNjgzZGQ4MzNiZGM0ZWQwYTE2NmI0YmUwYTBjMzljYi4uYmJlMTVlZmZjNWFj
NTE5NzI0YTUwMzY2MDFkMTQzZGRjYmE4ZGRjNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5oCkBAIC01NSw3ICs1NSw2IEBAIG5hbWVz
cGFjZSBKU0MgewogCiAgICAgcHJpdmF0ZToKICAgICAgICAgT2JqZWN0Q29uc3RydWN0b3IoSlNH
bG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqKTsKLSAgICAgICAgdmlydHVhbCBDb25zdHJ1Y3RUeXBl
IGdldENvbnN0cnVjdERhdGFWaXJ0dWFsKENvbnN0cnVjdERhdGEmKTsKICAgICAgICAgc3RhdGlj
IENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRhJik7
CiAgICAgICAgIHN0YXRpYyBDYWxsVHlwZSBnZXRDYWxsRGF0YShKU0NlbGwqLCBDYWxsRGF0YSYp
OwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdF
eHBDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBD
b25zdHJ1Y3Rvci5jcHAKaW5kZXggNzJkNDY4ZDdjODRlZjE3YWQ2YmRkZGY0NWYxMWEyNTA4YWRl
MGQ3OC4uOTBmYTM3MTMwOWYwYTQ2MzZkNzE4NTE1NzI2ZjAyN2RmMWNmMDE3OSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcApA
QCAtMzU0LDExICszNTQsNiBAQCBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBj
b25zdHJ1Y3RXaXRoUmVnRXhwQ29uc3RydWN0b3IoRXhlY1N0YXRlKiBleAogICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUoY29uc3RydWN0UmVnRXhwKGV4ZWMsIGFzSW50ZXJuYWxGdW5jdGlvbihl
eGVjLT5jYWxsZWUoKSktPmdsb2JhbE9iamVjdCgpLCBhcmdzLCB0cnVlKSk7CiB9CiAKLUNvbnN0
cnVjdFR5cGUgUmVnRXhwQ29uc3RydWN0b3I6OmdldENvbnN0cnVjdERhdGFWaXJ0dWFsKENvbnN0
cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCi17Ci0gICAgcmV0dXJuIGdldENvbnN0cnVjdERhdGEo
dGhpcywgY29uc3RydWN0RGF0YSk7Ci19Ci0KIENvbnN0cnVjdFR5cGUgUmVnRXhwQ29uc3RydWN0
b3I6OmdldENvbnN0cnVjdERhdGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0YSYgY29uc3RydWN0RGF0
YSkKIHsKICAgICBjb25zdHJ1Y3REYXRhLm5hdGl2ZS5mdW5jdGlvbiA9IGNvbnN0cnVjdFdpdGhS
ZWdFeHBDb25zdHJ1Y3RvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9S
ZWdFeHBDb25zdHJ1Y3Rvci5oCmluZGV4IGVhODVlZGI2NzRhOWUwNDBlNTg1MmQ4Njk1MDU4NGEw
ZGQzYTllNjUuLjJmZjljMWQzM2NkZDgyNjI0NWQ2ZmI2ZWU5OGQ0ZDEwNmM1YTBiNzggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaApA
QCAtMTAwLDcgKzEwMCw2IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgcHJpdmF0ZToKICAgICAg
ICAgUmVnRXhwQ29uc3RydWN0b3IoSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqKTsKLSAgICAg
ICAgdmlydHVhbCBDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGFWaXJ0dWFsKENvbnN0cnVj
dERhdGEmKTsKICAgICAgICAgc3RhdGljIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YShK
U0NlbGwqLCBDb25zdHJ1Y3REYXRhJik7CiAgICAgICAgIHN0YXRpYyBDYWxsVHlwZSBnZXRDYWxs
RGF0YShKU0NlbGwqLCBDYWxsRGF0YSYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5jcHAKaW5kZXggYTFkMjUzOTUzYzkwNTk1MGNk
ZjE5ZGU5MDEyM2ExYmIxMmNkNjhiMy4uMzZlNzM2YTM3Mjg3OWJhYzFmZTFhZmE2Mjg4MzVhZDRl
MjA0YzUxOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5n
Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmlu
Z0NvbnN0cnVjdG9yLmNwcApAQCAtMTA1LDExICsxMDUsNiBAQCBzdGF0aWMgRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBjb25zdHJ1Y3RXaXRoU3RyaW5nQ29uc3RydWN0b3IoRXhlY1N0YXRl
KiBleAogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoU3RyaW5nT2JqZWN0OjpjcmVhdGUoZXhl
YywgZ2xvYmFsT2JqZWN0LT5zdHJpbmdPYmplY3RTdHJ1Y3R1cmUoKSwgc3RyaW5nKSk7CiB9CiAK
LUNvbnN0cnVjdFR5cGUgU3RyaW5nQ29uc3RydWN0b3I6OmdldENvbnN0cnVjdERhdGFWaXJ0dWFs
KENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCi17Ci0gICAgcmV0dXJuIGdldENvbnN0cnVj
dERhdGEodGhpcywgY29uc3RydWN0RGF0YSk7Ci19Ci0KIENvbnN0cnVjdFR5cGUgU3RyaW5nQ29u
c3RydWN0b3I6OmdldENvbnN0cnVjdERhdGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0YSYgY29uc3Ry
dWN0RGF0YSkKIHsKICAgICBjb25zdHJ1Y3REYXRhLm5hdGl2ZS5mdW5jdGlvbiA9IGNvbnN0cnVj
dFdpdGhTdHJpbmdDb25zdHJ1Y3RvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1N0cmluZ0NvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5oCmluZGV4IDU4NGRiNWM2MzU4OGExY2NiNGQxMTM3ODA2
OWI1ZjQ5NTEzZDNmZTQuLmNhODNmMDExMDFlNTY3NTYyY2VhYTY5ZTlmOGY5OTNlMzYyMDM4ZWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ0NvbnN0cnVj
dG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nQ29uc3RydWN0
b3IuaApAQCAtNTEsNyArNTEsNiBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBwcml2YXRlOgogICAg
ICAgICBTdHJpbmdDb25zdHJ1Y3RvcihKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSopOwogICAg
ICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSosIFN0cmluZ1Byb3RvdHlwZSopOwot
ICAgICAgICB2aXJ0dWFsIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YVZpcnR1YWwoQ29u
c3RydWN0RGF0YSYpOwogICAgICAgICBzdGF0aWMgQ29uc3RydWN0VHlwZSBnZXRDb25zdHJ1Y3RE
YXRhKEpTQ2VsbCosIENvbnN0cnVjdERhdGEmKTsKICAgICAgICAgc3RhdGljIENhbGxUeXBlIGdl
dENhbGxEYXRhKEpTQ2VsbCosIENhbGxEYXRhJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXgg
MmRlMmU2NzBiNWYxZjYwNDYzZjI5YWE0OTA4YjgyYTdjZjhhMmY0Yi4uMzY5M2FiMDEzNGU5MWUw
MGU0ZTUwNjJkMmRlNTJjZWQ3YzE1ZjUzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTE3MDMs
NyArMTcwMyw2IEBAIF9fWk4zSlNDOEJpbmRpbmdzMTNSdW50aW1lT2JqZWN0MTRmaW5pc2hDcmVh
dGlvbkVQTlNfMTRKU0dsb2JhbE9iamVjdEUKIF9fWk4zSlNDOEJpbmRpbmdzMTNSdW50aW1lT2Jq
ZWN0MTZnZXRDb25zdHJ1Y3REYXRhRVBOU182SlNDZWxsRVJOU18xM0NvbnN0cnVjdERhdGFFCiBf
X1pOM0pTQzhCaW5kaW5nczEzUnVudGltZU9iamVjdDE4Z2V0T3duUHJvcGVydHlTbG90RVBOU182
SlNDZWxsRVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRVJOU18xMlByb3BlcnR5U2xv
dEUKIF9fWk4zSlNDOEJpbmRpbmdzMTNSdW50aW1lT2JqZWN0MTlnZXRPd25Qcm9wZXJ0eU5hbWVz
RVBOU185RXhlY1N0YXRlRVJOU18xN1Byb3BlcnR5TmFtZUFycmF5RU5TXzE1RW51bWVyYXRpb25N
b2RlRQotX19aTjNKU0M4QmluZGluZ3MxM1J1bnRpbWVPYmplY3QyM2dldENvbnN0cnVjdERhdGFW
aXJ0dWFsRVJOU18xM0NvbnN0cnVjdERhdGFFCiBfX1pOM0pTQzhCaW5kaW5nczEzUnVudGltZU9i
amVjdDIxZGVsZXRlUHJvcGVydHlWaXJ0dWFsRVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlm
aWVyRQogX19aTjNKU0M4QmluZGluZ3MxM1J1bnRpbWVPYmplY3QyNGdldE93blByb3BlcnR5RGVz
Y3JpcHRvckVQTlNfOUV4ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckVSTlNfMThQcm9wZXJ0eURl
c2NyaXB0b3JFCiBfX1pOM0pTQzhCaW5kaW5nczEzUnVudGltZU9iamVjdDI1Z2V0T3duUHJvcGVy
dHlTbG90VmlydHVhbEVQTlNfOUV4ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckVSTlNfMTJQcm9w
ZXJ0eVNsb3RFCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0F1ZGlv
Q29uc3RydWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNBdWRpb0NvbnN0
cnVjdG9yLmNwcAppbmRleCA3NTYwMzlmNzM2M2Q4N2I0NWE1ZmJkOTcwZTY2ZTlmOWYyMDFiMDQ3
Li4wNjIwYTIxMzNhYzA0NTZmYjFlNzQ3Y2Q3YjQzYzBiNjNiYzNlNTY3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0F1ZGlvQ29uc3RydWN0b3IuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQXVkaW9Db25zdHJ1Y3Rvci5jcHAKQEAgLTc1LDEx
ICs3NSw2IEBAIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGNvbnN0cnVjdEF1
ZGlvKEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgSFRNTEF1ZGlvRWxlbWVudDo6Y3JlYXRlRm9y
SlNDb25zdHJ1Y3Rvcihkb2N1bWVudCwgc3JjKSkpKTsKIH0KIAotQ29uc3RydWN0VHlwZSBKU0F1
ZGlvQ29uc3RydWN0b3I6OmdldENvbnN0cnVjdERhdGFWaXJ0dWFsKENvbnN0cnVjdERhdGEmIGNv
bnN0cnVjdERhdGEpCi17Ci0gICAgcmV0dXJuIGdldENvbnN0cnVjdERhdGEodGhpcywgY29uc3Ry
dWN0RGF0YSk7Ci19Ci0KIENvbnN0cnVjdFR5cGUgSlNBdWRpb0NvbnN0cnVjdG9yOjpnZXRDb25z
dHJ1Y3REYXRhKEpTQ2VsbCosIENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCiB7CiAgICAg
Y29uc3RydWN0RGF0YS5uYXRpdmUuZnVuY3Rpb24gPSBjb25zdHJ1Y3RBdWRpbzsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQXVkaW9Db25zdHJ1Y3Rvci5oIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNBdWRpb0NvbnN0cnVjdG9yLmgKaW5kZXggMDdlYzNk
NTYxYmUzMTgyYTQwYjU3MzBhODlkYjBiNmUxOTNlOTUwZC4uNGZhNDQwNjQ1OTE1MDk5NTg5ZWJj
MzQ0N2Y4ZTYxMGZhODJkM2IwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNBdWRpb0NvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNBdWRpb0NvbnN0cnVjdG9yLmgKQEAgLTU1LDcgKzU1LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIHByaXZhdGU6CiAgICAgICAgIEpTQXVkaW9Db25zdHJ1Y3RvcihKU0M6OlN0cnVjdHVy
ZSosIEpTRE9NR2xvYmFsT2JqZWN0Kik7CiAgICAgICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlND
OjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCopOwotICAgICAgICB2aXJ0dWFsIEpTQzo6
Q29uc3RydWN0VHlwZSBnZXRDb25zdHJ1Y3REYXRhVmlydHVhbChKU0M6OkNvbnN0cnVjdERhdGEm
KTsKICAgICAgICAgc3RhdGljIEpTQzo6Q29uc3RydWN0VHlwZSBnZXRDb25zdHJ1Y3REYXRhKEpT
Qzo6SlNDZWxsKiwgSlNDOjpDb25zdHJ1Y3REYXRhJik7CiAgICAgfTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbWFnZUNvbnN0cnVjdG9yLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW1hZ2VDb25zdHJ1Y3Rvci5jcHAKaW5kZXggYTg3NTAy
YTNjMTFiOTBjYmUxMTNmMDExZmU4ZDNkOThlMmEwZmRjNy4uNGEzOTZlNDVjZjcxYzNjMmU3Mzcy
NTYyZjM3MzE2MTkwMTA1M2QwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNJbWFnZUNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0ltYWdlQ29uc3RydWN0b3IuY3BwCkBAIC03NCwxMSArNzQsNiBAQCBzdGF0aWMgRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjb25zdHJ1Y3RJbWFnZShFeGVjU3RhdGUqIGV4ZWMpCiAg
ICAgICAgIEhUTUxJbWFnZUVsZW1lbnQ6OmNyZWF0ZUZvckpTQ29uc3RydWN0b3IoZG9jdW1lbnQs
IG9wdGlvbmFsV2lkdGgsIG9wdGlvbmFsSGVpZ2h0KSkpKTsKIH0KIAotQ29uc3RydWN0VHlwZSBK
U0ltYWdlQ29uc3RydWN0b3I6OmdldENvbnN0cnVjdERhdGFWaXJ0dWFsKENvbnN0cnVjdERhdGEm
IGNvbnN0cnVjdERhdGEpCi17Ci0gICAgcmV0dXJuIGdldENvbnN0cnVjdERhdGEodGhpcywgY29u
c3RydWN0RGF0YSk7Ci19Ci0KIENvbnN0cnVjdFR5cGUgSlNJbWFnZUNvbnN0cnVjdG9yOjpnZXRD
b25zdHJ1Y3REYXRhKEpTQ2VsbCosIENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCiB7CiAg
ICAgY29uc3RydWN0RGF0YS5uYXRpdmUuZnVuY3Rpb24gPSBjb25zdHJ1Y3RJbWFnZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW1hZ2VDb25zdHJ1Y3Rvci5oIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbWFnZUNvbnN0cnVjdG9yLmgKaW5kZXggMzk1
YjYxNmQ5MWMwN2QyZTBiMGQyNWNhODcwNmI0Y2Q0ZmE4MmM1Mi4uOWNjNGZkMTljYWU3ZThjNzUy
Y2U0ZDgzMjY3MWJiMWRmMzQwMTk5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNJbWFnZUNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNJbWFnZUNvbnN0cnVjdG9yLmgKQEAgLTQ2LDcgKzQ2LDYgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIHByaXZhdGU6CiAgICAgICAgIEpTSW1hZ2VDb25zdHJ1Y3RvcihKU0M6OlN0cnVj
dHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0Kik7CiAgICAgICAgIHZvaWQgZmluaXNoQ3JlYXRpb24o
SlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCopOwotICAgICAgICB2aXJ0dWFsIEpT
Qzo6Q29uc3RydWN0VHlwZSBnZXRDb25zdHJ1Y3REYXRhVmlydHVhbChKU0M6OkNvbnN0cnVjdERh
dGEmKTsKICAgICAgICAgc3RhdGljIEpTQzo6Q29uc3RydWN0VHlwZSBnZXRDb25zdHJ1Y3REYXRh
KEpTQzo6SlNDZWxsKiwgSlNDOjpDb25zdHJ1Y3REYXRhJik7CiAgICAgfTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNPcHRpb25Db25zdHJ1Y3Rvci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU09wdGlvbkNvbnN0cnVjdG9yLmNwcAppbmRleCA5
ODBmOWE2M2Q3ZmYzMTM3Zjg4YjdlNzAwMzM5MzkxYjNjYzNjNjkxLi41ZWZlYWVmMjY3NDNmMjVm
OGY5MjQ1MDNhMjdhM2U2OTVkY2U3OWExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU09wdGlvbkNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU09wdGlvbkNvbnN0cnVjdG9yLmNwcApAQCAtNzUsMTEgKzc1LDYgQEAgc3RhdGlj
IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY29uc3RydWN0SFRNTE9wdGlvbkVsZW1lbnQo
RXhlY1N0YXRlKiBleGVjKQogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoYXNPYmplY3QodG9K
UyhleGVjLCBqc0NvbnN0cnVjdG9yLT5nbG9iYWxPYmplY3QoKSwgZWxlbWVudC5yZWxlYXNlKCkp
KSk7CiB9CiAKLUNvbnN0cnVjdFR5cGUgSlNPcHRpb25Db25zdHJ1Y3Rvcjo6Z2V0Q29uc3RydWN0
RGF0YVZpcnR1YWwoQ29uc3RydWN0RGF0YSYgY29uc3RydWN0RGF0YSkKLXsKLSAgICByZXR1cm4g
Z2V0Q29uc3RydWN0RGF0YSh0aGlzLCBjb25zdHJ1Y3REYXRhKTsKLX0KLQogQ29uc3RydWN0VHlw
ZSBKU09wdGlvbkNvbnN0cnVjdG9yOjpnZXRDb25zdHJ1Y3REYXRhKEpTQ2VsbCosIENvbnN0cnVj
dERhdGEmIGNvbnN0cnVjdERhdGEpCiB7CiAgICAgY29uc3RydWN0RGF0YS5uYXRpdmUuZnVuY3Rp
b24gPSBjb25zdHJ1Y3RIVE1MT3B0aW9uRWxlbWVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTT3B0aW9uQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTT3B0aW9uQ29uc3RydWN0b3IuaAppbmRleCBmOTYxYTg4YTVjNTdiNjNhYTE1
MjkyZTlkOGMwNTk0YzdlY2MyNzgxLi5hYmUxNTllNjA0MTM2MTc4M2E1NzI5MzViZjA5NjgxY2U2
OWUwZjliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU09wdGlvbkNv
bnN0cnVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNPcHRpb25Db25z
dHJ1Y3Rvci5oCkBAIC00Nyw3ICs0Nyw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBwcml2
YXRlOgogICAgICAgICBKU09wdGlvbkNvbnN0cnVjdG9yKEpTQzo6U3RydWN0dXJlKiwgSlNET01H
bG9iYWxPYmplY3QqKTsKICAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OkV4ZWNTdGF0
ZSosIEpTRE9NR2xvYmFsT2JqZWN0Kik7Ci0gICAgICAgIHZpcnR1YWwgSlNDOjpDb25zdHJ1Y3RU
eXBlIGdldENvbnN0cnVjdERhdGFWaXJ0dWFsKEpTQzo6Q29uc3RydWN0RGF0YSYpOwogICAgICAg
ICBzdGF0aWMgSlNDOjpDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGEoSlNDOjpKU0NlbGwq
LCBKU0M6OkNvbnN0cnVjdERhdGEmKTsKICAgICB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9TY3JpcHRGdW5jdGlvbkNhbGwuY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvU2NyaXB0RnVuY3Rpb25DYWxsLmNwcAppbmRleCAxOTA5OWE5NzY4ZTY2OTc0
MWRhMjhiZDRkZDE0ZjE3ZjMzOGQ5NWE2Li41YzllYmMwOTZkOWNmZDAzZTRkNGY0ZWFmYTRjOTg2
M2M3YWRlODdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRG
dW5jdGlvbkNhbGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdEZ1
bmN0aW9uQ2FsbC5jcHAKQEAgLTE3NSw3ICsxNzUsNyBAQCBTY3JpcHRPYmplY3QgU2NyaXB0RnVu
Y3Rpb25DYWxsOjpjb25zdHJ1Y3QoYm9vbCYgaGFkRXhjZXB0aW9uLCBib29sIHJlcG9ydEV4Y2Vw
dAogICAgIH0KIAogICAgIENvbnN0cnVjdERhdGEgY29uc3RydWN0RGF0YTsKLSAgICBDb25zdHJ1
Y3RUeXBlIGNvbnN0cnVjdFR5cGUgPSBjb25zdHJ1Y3Rvci0+Z2V0Q29uc3RydWN0RGF0YVZpcnR1
YWwoY29uc3RydWN0RGF0YSk7CisgICAgQ29uc3RydWN0VHlwZSBjb25zdHJ1Y3RUeXBlID0gY29u
c3RydWN0b3ItPm1ldGhvZFRhYmxlKCktPmdldENvbnN0cnVjdERhdGEoY29uc3RydWN0b3IsIGNv
bnN0cnVjdERhdGEpOwogICAgIGlmIChjb25zdHJ1Y3RUeXBlID09IENvbnN0cnVjdFR5cGVOb25l
KQogICAgICAgICByZXR1cm4gU2NyaXB0T2JqZWN0KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXggYjgzMjA2NDUwN2Ji
ZTAwODZiZTFhYWMxYjAyMDY3ZGQ1Y2Y3M2M3MS4uYTE2YTQzZjJhOTU5N2Y3ZmQxZGY0MGE0NjFk
M2YyODllNmM2MjdmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTMyMTcsNyArMzIxNyw2IEBAIHN1YiBHZW5lcmF0ZUNv
bnN0cnVjdG9yRGVjbGFyYXRpb24KIAogICAgIGlmICgkY2FuQ29uc3RydWN0KSB7CiAgICAgICAg
IHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBzdGF0aWMgSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0Nf
SE9TVF9DQUxMIGNvbnN0cnVjdCR7Y2xhc3NOYW1lfShKU0M6OkV4ZWNTdGF0ZSopO1xuIik7Ci0g
ICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICB2aXJ0dWFsIEpTQzo6Q29uc3RydWN0VHlw
ZSBnZXRDb25zdHJ1Y3REYXRhVmlydHVhbChKU0M6OkNvbnN0cnVjdERhdGEmKTtcbiIpOwogICAg
ICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgc3RhdGljIEpTQzo6Q29uc3RydWN0VHlwZSBn
ZXRDb25zdHJ1Y3REYXRhKEpTQzo6SlNDZWxsKiwgSlNDOjpDb25zdHJ1Y3REYXRhJik7XG4iKTsK
ICAgICB9CiAgICAgcHVzaChAJG91dHB1dEFycmF5LCAifTtcblxuIik7CkBAIC0zMzM1LDExICsz
MzM0LDYgQEAgc3ViIEdlbmVyYXRlQ29uc3RydWN0b3JEZWZpbml0aW9uCiAgICAgICAgICAgICBw
dXNoKEAkb3V0cHV0QXJyYXksICJ9XG5cbiIpOwogICAgICAgICB9CiAKLSAgICAgICAgcHVzaChA
JG91dHB1dEFycmF5LCAiQ29uc3RydWN0VHlwZSAke2NvbnN0cnVjdG9yQ2xhc3NOYW1lfTo6Z2V0
Q29uc3RydWN0RGF0YVZpcnR1YWwoQ29uc3RydWN0RGF0YSYgY29uc3RydWN0RGF0YSlcbiIpOwot
ICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICJ7XG4iKTsKLSAgICAgICAgcHVzaChAJG91dHB1
dEFycmF5LCAiICAgIHJldHVybiBnZXRDb25zdHJ1Y3REYXRhKHRoaXMsIGNvbnN0cnVjdERhdGEp
O1xuIik7Ci0gICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIn1cblxuIik7Ci0KICAgICAgICAg
cHVzaChAJG91dHB1dEFycmF5LCAiQ29uc3RydWN0VHlwZSAke2NvbnN0cnVjdG9yQ2xhc3NOYW1l
fTo6Z2V0Q29uc3RydWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRhJiBjb25zdHJ1Y3REYXRh
KVxuIik7CiAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIntcbiIpOwogICAgICAgICBwdXNo
KEAkb3V0cHV0QXJyYXksICIgICAgY29uc3RydWN0RGF0YS5uYXRpdmUuZnVuY3Rpb24gPSBjb25z
dHJ1Y3Qke2NsYXNzTmFtZX07XG4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRn
ZS9ydW50aW1lX29iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9vYmpl
Y3QuY3BwCmluZGV4IDA5ZGE5MmZlZjExYzdjNjM4ZWMzN2YwOWMzOGE1NTMyMmFlNDJlZTMuLjMy
OGVjYmZmOGFhYzdmYTFhNTI3MTc3YTIwODcwMTIxZDI1NzBkNGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX29iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YnJpZGdlL3J1bnRpbWVfb2JqZWN0LmNwcApAQCAtMzA0LDExICszMDQsNiBAQCBzdGF0aWMgRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjYWxsUnVudGltZUNvbnN0cnVjdG9yKEV4ZWNTdGF0
ZSogZXhlYykKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdC5pc09iamVjdCgpID8g
c3RhdGljX2Nhc3Q8SlNPYmplY3QqPihyZXN1bHQuYXNDZWxsKCkpIDogY29uc3RydWN0b3IpOwog
fQogCi1Db25zdHJ1Y3RUeXBlIFJ1bnRpbWVPYmplY3Q6OmdldENvbnN0cnVjdERhdGFWaXJ0dWFs
KENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCi17Ci0gICAgcmV0dXJuIGdldENvbnN0cnVj
dERhdGEodGhpcywgY29uc3RydWN0RGF0YSk7Ci19Ci0KIENvbnN0cnVjdFR5cGUgUnVudGltZU9i
amVjdDo6Z2V0Q29uc3RydWN0RGF0YShKU0NlbGwqIGNlbGwsIENvbnN0cnVjdERhdGEmIGNvbnN0
cnVjdERhdGEpCiB7CiAgICAgUnVudGltZU9iamVjdCogdGhpc09iamVjdCA9IHN0YXRpY19jYXN0
PFJ1bnRpbWVPYmplY3QqPihjZWxsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRn
ZS9ydW50aW1lX29iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfb2JqZWN0
LmgKaW5kZXggZjM4NmFlYjE4OWY5NDNiMDllYzE2ZGEyYTEzYmY5YzMzOWY2YzY4Yy4uOGEyNzE5
ZTE4MWVjM2Q1ZDVjMWY3NjgwYjMyMmVjYjk3OGU2NjkyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdl
L3J1bnRpbWVfb2JqZWN0LmgKQEAgLTU0LDcgKzU0LDYgQEAgcHVibGljOgogICAgIHN0YXRpYyBi
b29sIGRlbGV0ZVByb3BlcnR5KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXIm
IHByb3BlcnR5TmFtZSk7CiAgICAgdmlydHVhbCBKU1ZhbHVlIGRlZmF1bHRWYWx1ZShFeGVjU3Rh
dGUqLCBQcmVmZXJyZWRQcmltaXRpdmVUeXBlKSBjb25zdDsKICAgICBzdGF0aWMgQ2FsbFR5cGUg
Z2V0Q2FsbERhdGEoSlNDZWxsKiwgQ2FsbERhdGEmKTsKLSAgICB2aXJ0dWFsIENvbnN0cnVjdFR5
cGUgZ2V0Q29uc3RydWN0RGF0YVZpcnR1YWwoQ29uc3RydWN0RGF0YSYpOwogICAgIHN0YXRpYyBD
b25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0YSYpOwog
CiAgICAgdmlydHVhbCB2b2lkIGdldE93blByb3BlcnR5TmFtZXMoRXhlY1N0YXRlKiwgUHJvcGVy
dHlOYW1lQXJyYXkmLCBFbnVtZXJhdGlvbk1vZGUgbW9kZSA9IEV4Y2x1ZGVEb250RW51bVByb3Bl
cnRpZXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0
c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9I
b3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Lm1tCmluZGV4IGM1OTdlOGFhNjk0NjAw
NWY4ZTljZjZjZWYyMjdkOTZkYTIwMDZmNTAuLjA5ZTUzOWU1NTQzMmYxMDAxODNhZjM1OTVmMmI2
MjZlNGRiYjcwOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVk
L05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9Q
bHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW0KQEAgLTk3OCw3ICs5
NzgsNyBAQCBib29sIE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6Y29uc3RydWN0KHVpbnQz
Ml90IG9iamVjdElELCBkYXRhX3QgYXJndW1lbnRzRAogICAgIEpTTG9jayBsb2NrKFNpbGVuY2VB
c3NlcnRpb25zT25seSk7CiAKICAgICBDb25zdHJ1Y3REYXRhIGNvbnN0cnVjdERhdGE7Ci0gICAg
Q29uc3RydWN0VHlwZSBjb25zdHJ1Y3RUeXBlID0gb2JqZWN0LT5nZXRDb25zdHJ1Y3REYXRhVmly
dHVhbChjb25zdHJ1Y3REYXRhKTsKKyAgICBDb25zdHJ1Y3RUeXBlIGNvbnN0cnVjdFR5cGUgPSBv
YmplY3QtPm1ldGhvZFRhYmxlKCktPmdldENvbnN0cnVjdERhdGEob2JqZWN0LCBjb25zdHJ1Y3RE
YXRhKTsKICAgICBpZiAoY29uc3RydWN0VHlwZSA9PSBDb25zdHJ1Y3RUeXBlTm9uZSkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1BsdWdpbnMvTmV0c2NhcGUvSlNOUE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE9iamVjdC5jcHAKaW5kZXggZTJkMDJhNDU0ZjNkYWFh
OGY5M2Q5YzUxMzU5YjYyODlmZmIwZDJmOC4uZDA1OGVlNWViMGY2ZTUwZmY4ZDk2ZTJjYzQwODcw
NGM5YmE0Y2U4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L05ldHNjYXBlL0pTTlBPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
UGx1Z2lucy9OZXRzY2FwZS9KU05QT2JqZWN0LmNwcApAQCAtMjM2LDExICsyMzYsNiBAQCBzdGF0
aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjb25zdHJ1Y3RXaXRoQ29uc3RydWN0b3Io
RXhlY1N0YXRlKiBleGVjKQogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoc3RhdGljX2Nhc3Q8
SlNOUE9iamVjdCo+KGNvbnN0cnVjdG9yKS0+Y2FsbENvbnN0cnVjdG9yKGV4ZWMpKTsKIH0KIAot
Q29uc3RydWN0VHlwZSBKU05QT2JqZWN0OjpnZXRDb25zdHJ1Y3REYXRhVmlydHVhbChDb25zdHJ1
Y3REYXRhJiBjb25zdHJ1Y3REYXRhKQotewotICAgIHJldHVybiBnZXRDb25zdHJ1Y3REYXRhKHRo
aXMsIGNvbnN0cnVjdERhdGEpOwotfQotCiBDb25zdHJ1Y3RUeXBlIEpTTlBPYmplY3Q6OmdldENv
bnN0cnVjdERhdGEoSlNDZWxsKiBjZWxsLCBDb25zdHJ1Y3REYXRhJiBjb25zdHJ1Y3REYXRhKQog
ewogICAgIEpTTlBPYmplY3QqIHRoaXNPYmplY3QgPSBzdGF0aWNfY2FzdDxKU05QT2JqZWN0Kj4o
Y2VsbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0
c2NhcGUvSlNOUE9iamVjdC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05l
dHNjYXBlL0pTTlBPYmplY3QuaAppbmRleCA5MzA2ZmJiNjMyN2I2MGZiYTA3ZjIwM2Y2YWVhNTVj
MzZhZDdlZDg4Li40YWUxM2JhZjYwNWExNDgyOGQ4YzIzOTA1YjdiMDJjMzk2MTFkZjk2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE9i
amVjdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9K
U05QT2JqZWN0LmgKQEAgLTgwLDcgKzgwLDYgQEAgcHJpdmF0ZToKICAgICB9CiAKICAgICBzdGF0
aWMgSlNDOjpDYWxsVHlwZSBnZXRDYWxsRGF0YShKU0M6OkpTQ2VsbCosIEpTQzo6Q2FsbERhdGEm
KTsKLSAgICB2aXJ0dWFsIEpTQzo6Q29uc3RydWN0VHlwZSBnZXRDb25zdHJ1Y3REYXRhVmlydHVh
bChKU0M6OkNvbnN0cnVjdERhdGEmKTsKICAgICBzdGF0aWMgSlNDOjpDb25zdHJ1Y3RUeXBlIGdl
dENvbnN0cnVjdERhdGEoSlNDOjpKU0NlbGwqLCBKU0M6OkNvbnN0cnVjdERhdGEmKTsKIAogICAg
IHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0dWFsKEpTQzo6RXhlY1N0YXRlKiwg
Y29uc3QgSlNDOjpJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTQzo6UHJvcGVydHlTbG90Jik7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112054</attachid>
            <date>2011-10-21 18:22:10 -0700</date>
            <delta_ts>2011-10-23 14:14:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70638-20111021182209.patch</filename>
            <type>text/plain</type>
            <size>45818</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTgxMjUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDE1
MWM2M2FiZTBiODlhMWFhZDZhNmNmN2RiNWNmZjNkMDJiNzlmZTQuLmFiOTVjOTEzOWRiNDlmOGNm
MjY4ZTNkNGZjNTlkMzliMDExNGI0MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSw1
ICsxLDU5IEBACiAyMDExLTEwLTIxICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBs
ZS5jb20+CiAKKyAgICAgICAgUmVtb3ZlIGdldENvbnN0cnVjdERhdGFWaXJ0dWFsCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYzOAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZWQgYWxsIGRlY2xh
cmF0aW9ucyBhbmQgZGVmaW5pdGlvbnMgb2YgZ2V0Q29uc3RydWN0RGF0YVZpcnR1YWwuCisgICAg
ICAgIEFsc28gcmVwbGFjZWQgYWxsIGNhbGwgc2l0ZXMgdG8gZ2V0Q29uc3RydWN0RGF0YVZpcnR1
YWwgd2l0aCBhIAorICAgICAgICBjb3JyZXNwb25kaW5nIGxvb2t1cCBpbiB0aGUgTWV0aG9kVGFi
bGUuCisKKyAgICAgICAgKiBBUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAg
KiBBUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmg6CisgICAgICAgICogQVBJL0pTQ2FsbGJhY2tP
YmplY3QuaDoKKyAgICAgICAgKiBBUEkvSlNDYWxsYmFja09iamVjdEZ1bmN0aW9ucy5oOgorICAg
ICAgICAqIEFQSS9KU09iamVjdFJlZi5jcHA6CisgICAgICAgIChKU09iamVjdElzQ29uc3RydWN0
b3IpOgorICAgICAgICAoSlNPYmplY3RDYWxsQXNDb25zdHJ1Y3Rvcik6CisgICAgICAgICogSmF2
YVNjcmlwdENvcmUuZXhwOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWY6CisgICAgICAgICogZGZnL0RGR09wZXJhdGlvbnMu
Y3BwOgorICAgICAgICAqIGludGVycHJldGVyL0ludGVycHJldGVyLmNwcDoKKyAgICAgICAgKEpT
Qzo6SW50ZXJwcmV0ZXI6OnByaXZhdGVFeGVjdXRlKToKKyAgICAgICAgKiBqaXQvSklUU3R1YnMu
Y3BwOgorICAgICAgICAoSlNDOjpERUZJTkVfU1RVQl9GVU5DVElPTik6CisgICAgICAgICogcnVu
dGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKiBydW50aW1lL0FycmF5Q29uc3Ry
dWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5jcHA6CisgICAg
ICAgICogcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL0Rh
dGVDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgICogcnVudGltZS9EYXRlQ29uc3RydWN0b3IuaDoK
KyAgICAgICAgKiBydW50aW1lL0Vycm9yLmg6CisgICAgICAgIChKU0M6OlN0cmljdE1vZGVUeXBl
RXJyb3JGdW5jdGlvbjo6Z2V0Q29uc3RydWN0RGF0YSk6CisgICAgICAgICogcnVudGltZS9FcnJv
ckNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKiBydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuaDoK
KyAgICAgICAgKiBydW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAqIHJ1
bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNDZWxsLmNw
cDoKKyAgICAgICAgKiBydW50aW1lL0pTQ2VsbC5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNGdW5j
dGlvbi5jcHA6CisgICAgICAgICogcnVudGltZS9KU0Z1bmN0aW9uLmg6CisgICAgICAgICogcnVu
dGltZS9KU09iamVjdC5oOgorICAgICAgICAoSlNDOjpnZXRDb25zdHJ1Y3REYXRhKToKKyAgICAg
ICAgKiBydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAqIHJ1bnRp
bWUvTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvci5oOgorICAgICAgICAqIHJ1bnRpbWUvTnVtYmVyQ29u
c3RydWN0b3IuY3BwOgorICAgICAgICAqIHJ1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuaDoKKyAg
ICAgICAgKiBydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKiBydW50aW1l
L09iamVjdENvbnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rv
ci5jcHA6CisgICAgICAgICogcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oOgorICAgICAgICAq
IHJ1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAqIHJ1bnRpbWUvU3RyaW5n
Q29uc3RydWN0b3IuaDoKKworMjAxMS0xMC0yMSAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJl
cmdAYXBwbGUuY29tPgorCiAgICAgICAgIEFkZCBmaW5hbGl6ZXIgdG8gSlNPYmplY3QKICAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzM2CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwppbmRleCAwOGZmNjFjZDljNjY0MWM4MGQzMjVlMjA1NmM3ZjA4YTEyMDYxNjQ3Li5kMDE3NzUy
NDlmMDQ3ODY1NmYyNzVjMjE4MTA5YjEzOWFhMWFjMDlhIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MzEgQEAKKzIwMTEtMTAtMjEgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNv
bT4KKworICAgICAgICBSZW1vdmUgZ2V0Q29uc3RydWN0RGF0YVZpcnR1YWwKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjM4CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLgorCisgICAg
ICAgIFJlbW92ZWQgYWxsIGRlY2xhcmF0aW9ucyBhbmQgZGVmaW5pdGlvbnMgb2YgZ2V0Q29uc3Ry
dWN0RGF0YVZpcnR1YWwuCisgICAgICAgIEFsc28gcmVwbGFjZWQgYWxsIGNhbGwgc2l0ZXMgdG8g
Z2V0Q29uc3RydWN0RGF0YVZpcnR1YWwgd2l0aCBhIAorICAgICAgICBjb3JyZXNwb25kaW5nIGxv
b2t1cCBpbiB0aGUgTWV0aG9kVGFibGUuCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9KU0F1ZGlvQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAqIGJp
bmRpbmdzL2pzL0pTQXVkaW9Db25zdHJ1Y3Rvci5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pT
SW1hZ2VDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvSlNJbWFnZUNvbnN0
cnVjdG9yLmg6CisgICAgICAgICogYmluZGluZ3MvanMvSlNPcHRpb25Db25zdHJ1Y3Rvci5jcHA6
CisgICAgICAgICogYmluZGluZ3MvanMvSlNPcHRpb25Db25zdHJ1Y3Rvci5oOgorICAgICAgICAq
IGJpbmRpbmdzL2pzL1NjcmlwdEZ1bmN0aW9uQ2FsbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JpcHRGdW5jdGlvbkNhbGw6OmNvbnN0cnVjdCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChHZW5lcmF0ZUNvbnN0cnVjdG9yRGVjbGFy
YXRpb24pOgorICAgICAgICAoR2VuZXJhdGVDb25zdHJ1Y3RvckRlZmluaXRpb24pOgorICAgICAg
ICAqIGJyaWRnZS9ydW50aW1lX29iamVjdC5jcHA6CisgICAgICAgICogYnJpZGdlL3J1bnRpbWVf
b2JqZWN0Lmg6CisKIDIwMTEtMTAtMjEgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogQWR2YW5jZWQgc2VhcmNoIHJlc3VsdHMg
c2hvdWxkIGJlIGNsZWFyZWQgb24gbmF2aWdhdGlvbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCA2YWE0
ZDYzY2NkY2Y4YmExMTVhYjhjNDUwMTY5YjM1NDc5MWIzNWY1Li5kNjgyZTQ1YWExYjc4MTdhYTY2
YjQzMzAwY2I2NzM0NGQ1OWY5YWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAK
KzIwMTEtMTAtMjEgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KKwor
ICAgICAgICBSZW1vdmUgZ2V0Q29uc3RydWN0RGF0YVZpcnR1YWwKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjM4CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlZCBhbGwgZGVjbGFyYXRpb25zIGFu
ZCBkZWZpbml0aW9ucyBvZiBnZXRDb25zdHJ1Y3REYXRhVmlydHVhbC4KKyAgICAgICAgQWxzbyBy
ZXBsYWNlZCBhbGwgY2FsbCBzaXRlcyB0byBnZXRDb25zdHJ1Y3REYXRhVmlydHVhbCB3aXRoIGEg
CisgICAgICAgIGNvcnJlc3BvbmRpbmcgbG9va3VwIGluIHRoZSBNZXRob2RUYWJsZS4KKworICAg
ICAgICAqIFBsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5tbToKKyAg
ICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Ojpjb25zdHJ1Y3QpOgor
CiAyMDExLTEwLTIwICBJYW4gSGVuZGVyc29uICA8aWFuaEBhcHBsZS5jb20+CiAKICAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTQxCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5k
ZXggM2Y3OGM5MDRkMjBmYWJjMDNkMjY4YjNkOTMwNDhjOGE3ZGI5ZDZjYS4uY2U0OTY4ZTlkMWM0
MzUyODZhNjNhYWFmODg0MTQ1OTI0NTQ3MmQ3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBA
CisyMDExLTEwLTIxICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisK
KyAgICAgICAgUmVtb3ZlIGdldENvbnN0cnVjdERhdGFWaXJ0dWFsCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYzOAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZWQgYWxsIGRlY2xhcmF0aW9ucyBh
bmQgZGVmaW5pdGlvbnMgb2YgZ2V0Q29uc3RydWN0RGF0YVZpcnR1YWwuCisgICAgICAgIEFsc28g
cmVwbGFjZWQgYWxsIGNhbGwgc2l0ZXMgdG8gZ2V0Q29uc3RydWN0RGF0YVZpcnR1YWwgd2l0aCBh
IAorICAgICAgICBjb3JyZXNwb25kaW5nIGxvb2t1cCBpbiB0aGUgTWV0aG9kVGFibGUuCisKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE9iamVjdC5jcHA6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBPYmplY3QuaDoKKwogMjAxMS0x
MC0yMSAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIEZs
YXNoIG9mIHdoaXRlIHdoZW4gbG9hZGluZyBhIHBhZ2UgYWZ0ZXIgYSB3ZWIgcHJvY2VzcyBjcmFz
aApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrQ29uc3Ry
dWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrQ29uc3RydWN0
b3IuY3BwCmluZGV4IGNiNGJlNDE2YmQ1NzM4MDM1MTMzYzViZDZjNWY5ZDdiNmJlOWY5ZmEuLmI2
MDFmM2VjYTM0ZGU1YjAwMzczMDA3NjNlNmFiMjU3YmQxNGI0MTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5jcHAKQEAgLTg2LDEx
ICs4Niw2IEBAIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGNvbnN0cnVjdEpT
Q2FsbGJhY2soRXhlY1N0YXRlKiBleGVjKQogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodG9K
UyhKU09iamVjdE1ha2UoY3R4LCBzdGF0aWNfY2FzdDxKU0NhbGxiYWNrQ29uc3RydWN0b3IqPihj
b25zdHJ1Y3RvciktPmNsYXNzUmVmKCksIDApKSk7CiB9CiAKLUNvbnN0cnVjdFR5cGUgSlNDYWxs
YmFja0NvbnN0cnVjdG9yOjpnZXRDb25zdHJ1Y3REYXRhVmlydHVhbChDb25zdHJ1Y3REYXRhJiBj
b25zdHJ1Y3REYXRhKQotewotICAgIHJldHVybiBnZXRDb25zdHJ1Y3REYXRhKHRoaXMsIGNvbnN0
cnVjdERhdGEpOwotfQotCiBDb25zdHJ1Y3RUeXBlIEpTQ2FsbGJhY2tDb25zdHJ1Y3Rvcjo6Z2V0
Q29uc3RydWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRhJiBjb25zdHJ1Y3REYXRhKQogewog
ICAgIGNvbnN0cnVjdERhdGEubmF0aXZlLmZ1bmN0aW9uID0gY29uc3RydWN0SlNDYWxsYmFjazsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVj
dG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5o
CmluZGV4IGUzMTc2YzZhMWNjNDc0NmI2NmJmZWY2NmQ5OGI2YWVjODEzMWMyOTAuLmIzMjBhOTAx
YzkwNDNjZmQwNzgyNzExYjUzMmQ4Mzg3NmViODJiOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuaApAQCAtNTgsNyArNTgsNiBAQCBw
cm90ZWN0ZWQ6CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gSW1w
bGVtZW50c0hhc0luc3RhbmNlIHwgSlNPYmplY3Q6OlN0cnVjdHVyZUZsYWdzOwogCiBwcml2YXRl
OgotICAgIHZpcnR1YWwgQ29uc3RydWN0VHlwZSBnZXRDb25zdHJ1Y3REYXRhVmlydHVhbChDb25z
dHJ1Y3REYXRhJik7CiAgICAgc3RhdGljIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YShK
U0NlbGwqLCBDb25zdHJ1Y3REYXRhJik7CiAKICAgICBKU0NsYXNzUmVmIG1fY2xhc3M7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdC5oCmluZGV4IDNkMDkyOTcw
NzA3ZGQ0OTY0NGNlNTRlZjlmMTlkYjgzZmRjZDg5NGEuLjM5OGRkMDNkMDc3NDUwYzAyNjU5Y2I0
YWVlYTFlYjYwYzI2YTcyMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkv
SlNDYWxsYmFja09iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxs
YmFja09iamVjdC5oCkBAIC0xOTQsNyArMTk0LDYgQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1YWwg
dm9pZCBnZXRPd25Qcm9wZXJ0eU5hbWVzKEV4ZWNTdGF0ZSosIFByb3BlcnR5TmFtZUFycmF5Jiwg
RW51bWVyYXRpb25Nb2RlIG1vZGUgPSBFeGNsdWRlRG9udEVudW1Qcm9wZXJ0aWVzKTsKIAotICAg
IHZpcnR1YWwgQ29uc3RydWN0VHlwZSBnZXRDb25zdHJ1Y3REYXRhVmlydHVhbChDb25zdHJ1Y3RE
YXRhJik7CiAgICAgc3RhdGljIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YShKU0NlbGwq
LCBDb25zdHJ1Y3REYXRhJik7CiAgICAgc3RhdGljIENhbGxUeXBlIGdldENhbGxEYXRhKEpTQ2Vs
bCosIENhbGxEYXRhJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkv
SlNDYWxsYmFja09iamVjdEZ1bmN0aW9ucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9K
U0NhbGxiYWNrT2JqZWN0RnVuY3Rpb25zLmgKaW5kZXggYzQ5NWI2MzA5ZGUxNGZiOWE0OGJiYjY2
MDgxYjE1NGQ3MzUyZjMzZS4uMWRiYjFkNWM3MjY3YWEwZmZkMzRmMDY1YmJkNzBjMmRmNDNjODY3
YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0
RnVuY3Rpb25zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2Jq
ZWN0RnVuY3Rpb25zLmgKQEAgLTMzNSwxMiArMzM1LDYgQEAgYm9vbCBKU0NhbGxiYWNrT2JqZWN0
PFBhcmVudD46OmRlbGV0ZVByb3BlcnR5QnlJbmRleChKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSog
ZXgKIH0KIAogdGVtcGxhdGUgPGNsYXNzIFBhcmVudD4KLUNvbnN0cnVjdFR5cGUgSlNDYWxsYmFj
a09iamVjdDxQYXJlbnQ+OjpnZXRDb25zdHJ1Y3REYXRhVmlydHVhbChDb25zdHJ1Y3REYXRhJiBj
b25zdHJ1Y3REYXRhKQotewotICAgIHJldHVybiBnZXRDb25zdHJ1Y3REYXRhKHRoaXMsIGNvbnN0
cnVjdERhdGEpOwotfQotCi10ZW1wbGF0ZSA8Y2xhc3MgUGFyZW50PgogQ29uc3RydWN0VHlwZSBK
U0NhbGxiYWNrT2JqZWN0PFBhcmVudD46OmdldENvbnN0cnVjdERhdGEoSlNDZWxsKiBjZWxsLCBD
b25zdHJ1Y3REYXRhJiBjb25zdHJ1Y3REYXRhKQogewogICAgIEpTQ2FsbGJhY2tPYmplY3QqIHRo
aXNPYmplY3QgPSBzdGF0aWNfY2FzdDxKU0NhbGxiYWNrT2JqZWN0Kj4oY2VsbCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYuY3BwCmluZGV4IDFmZjU3OGI2NDFkOTdiOGRk
ZTVmZDhmOGE5OWM1MDE4Y2QxNTkxMWMuLjZkNWYwM2Q2NWU0MzdiZmIwMmQxZWNmZGI2NDQ2MWRi
YTY0N2E2Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RS
ZWYuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYuY3BwCkBA
IC00NTQsNyArNDU0LDcgQEAgYm9vbCBKU09iamVjdElzQ29uc3RydWN0b3IoSlNDb250ZXh0UmVm
LCBKU09iamVjdFJlZiBvYmplY3QpCiB7CiAgICAgSlNPYmplY3QqIGpzT2JqZWN0ID0gdG9KUyhv
YmplY3QpOwogICAgIENvbnN0cnVjdERhdGEgY29uc3RydWN0RGF0YTsKLSAgICByZXR1cm4ganNP
YmplY3QtPmdldENvbnN0cnVjdERhdGFWaXJ0dWFsKGNvbnN0cnVjdERhdGEpICE9IENvbnN0cnVj
dFR5cGVOb25lOworICAgIHJldHVybiBqc09iamVjdC0+bWV0aG9kVGFibGUoKS0+Z2V0Q29uc3Ry
dWN0RGF0YShqc09iamVjdCwgY29uc3RydWN0RGF0YSkgIT0gQ29uc3RydWN0VHlwZU5vbmU7CiB9
CiAKIEpTT2JqZWN0UmVmIEpTT2JqZWN0Q2FsbEFzQ29uc3RydWN0b3IoSlNDb250ZXh0UmVmIGN0
eCwgSlNPYmplY3RSZWYgb2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1
ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQpAQCAtNDY1LDcgKzQ2NSw3
IEBAIEpTT2JqZWN0UmVmIEpTT2JqZWN0Q2FsbEFzQ29uc3RydWN0b3IoSlNDb250ZXh0UmVmIGN0
eCwgSlNPYmplY3RSZWYgb2JqZWN0LCBzaXplCiAgICAgSlNPYmplY3QqIGpzT2JqZWN0ID0gdG9K
UyhvYmplY3QpOwogCiAgICAgQ29uc3RydWN0RGF0YSBjb25zdHJ1Y3REYXRhOwotICAgIENvbnN0
cnVjdFR5cGUgY29uc3RydWN0VHlwZSA9IGpzT2JqZWN0LT5nZXRDb25zdHJ1Y3REYXRhVmlydHVh
bChjb25zdHJ1Y3REYXRhKTsKKyAgICBDb25zdHJ1Y3RUeXBlIGNvbnN0cnVjdFR5cGUgPSBqc09i
amVjdC0+bWV0aG9kVGFibGUoKS0+Z2V0Q29uc3RydWN0RGF0YShqc09iamVjdCwgY29uc3RydWN0
RGF0YSk7CiAgICAgaWYgKGNvbnN0cnVjdFR5cGUgPT0gQ29uc3RydWN0VHlwZU5vbmUpCiAgICAg
ICAgIHJldHVybiAwOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUuZXhwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cApp
bmRleCA5ZTZiNGZiYWNiNzAzZTIzYWYzOTFlNDc1MTA4NjRhMWY3ZjZjZDQ0Li5lYTJlZmY2ZGY4
MGZhZTVhY2M4MjdkNGI2Yjk5NWJjM2E5M2Q3M2UyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS5leHAKQEAgLTI2Miw3ICsyNjIsNiBAQCBfX1pOM0pTQzZKU0NlbGwxMWdl
dENhbGxEYXRhRVBTMF9STlNfOENhbGxEYXRhRQogX19aTjNKU0M2SlNDZWxsMTZnZXRDb25zdHJ1
Y3REYXRhRVBTMF9STlNfMTNDb25zdHJ1Y3REYXRhRQogX19aTjNKU0M2SlNDZWxsMjFkZWxldGVQ
cm9wZXJ0eVZpcnR1YWxFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJFCiBfX1pOM0pT
QzZKU0NlbGwyMWRlbGV0ZVByb3BlcnR5VmlydHVhbEVQTlNfOUV4ZWNTdGF0ZUVqCi1fX1pOM0pT
QzZKU0NlbGwyM2dldENvbnN0cnVjdERhdGFWaXJ0dWFsRVJOU18xM0NvbnN0cnVjdERhdGFFCiBf
X1pOM0pTQzZKU0NlbGwyNWdldE93blByb3BlcnR5U2xvdFZpcnR1YWxFUE5TXzlFeGVjU3RhdGVF
UktOU18xMElkZW50aWZpZXJFUk5TXzEyUHJvcGVydHlTbG90RQogX19aTjNKU0M2SlNDZWxsMjVn
ZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0dWFsRVBOU185RXhlY1N0YXRlRWpSTlNfMTJQcm9wZXJ0eVNs
b3RFCiBfX1pOM0pTQzZKU0NlbGw5Z2V0T2JqZWN0RXYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUuZGVmIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9K
YXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYKaW5kZXggNmEwMDg5M2MzNDU1MDRjOGJl
NWNhYjgzNWFjNjVkM2JmZTQxYjM0MC4uNmU4OWYxMzE3ZDcxMWNhZmU4ODhjZTExZTEwNTYxZGUz
YjJjZjk4ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS5kZWYKQEAgLTE5Myw3ICsxOTMsNiBAQCBFWFBPUlRTCiAgICAgP2dldEBTdHJ1Y3R1
cmVASlNDQEBRQUVJQUFWSlNHbG9iYWxEYXRhQDJAUEFWU3RyaW5nSW1wbEBXVEZAQEFBSUFBUEFW
SlNDZWxsQDJAQFoKICAgICA/Z2V0Q2FsbERhdGFASlNDZWxsQEpTQ0BAU0E/QVc0Q2FsbFR5cGVA
MkBQQVYxMkBBQVRDYWxsRGF0YUAyQEBaCiAgICAgP2dldENvbnN0cnVjdERhdGFASlNDZWxsQEpT
Q0BAU0E/QVc0Q29uc3RydWN0VHlwZUAyQFBBVjEyQEFBVENvbnN0cnVjdERhdGFAMkBAWgotICAg
ID9nZXRDb25zdHJ1Y3REYXRhVmlydHVhbEBKU0NlbGxASlNDQEBVQUU/QVc0Q29uc3RydWN0VHlw
ZUAyQEFBVENvbnN0cnVjdERhdGFAMkBAWgogICAgID9nZXRPYmplY3RASlNDZWxsQEpTQ0BAUUFF
UEFWSlNPYmplY3RAMkBYWgogICAgID9nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JASlNHbG9iYWxP
YmplY3RASlNDQEBVQUVfTlBBVkV4ZWNTdGF0ZUAyQEFCVklkZW50aWZpZXJAMkBBQVZQcm9wZXJ0
eURlc2NyaXB0b3JAMkBAWgogICAgID9nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JASlNPYmplY3RA
SlNDQEBVQUVfTlBBVkV4ZWNTdGF0ZUAyQEFCVklkZW50aWZpZXJAMkBBQVZQcm9wZXJ0eURlc2Ny
aXB0b3JAMkBAWgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVy
YXRpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAK
aW5kZXggNDE3MjdkZmZhNTUxYTdlODAxZTM2MjllY2EyYWYxNzgxOTRiNzUyNS4uNmM2YmI5Yzhh
MzJlMGUzMjRkOGFhZTBmNmRhMjUyYzY4MmJkNTE2NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCkBAIC0xNjEsNyArMTYxLDcgQEAgSlNDZWxsKiBERkdf
T1BFUkFUSU9OIG9wZXJhdGlvbkNyZWF0ZVRoaXMoRXhlY1N0YXRlKiBleGVjLCBKU0NlbGwqIHBy
b3RvdHlwZSkKICAgICAKICNpZiAhQVNTRVJUX0RJU0FCTEVECiAgICAgQ29uc3RydWN0RGF0YSBj
b25zdHJ1Y3REYXRhOwotICAgIEFTU0VSVChjb25zdHJ1Y3Rvci0+Z2V0Q29uc3RydWN0RGF0YVZp
cnR1YWwoY29uc3RydWN0RGF0YSkgPT0gQ29uc3RydWN0VHlwZUpTKTsKKyAgICBBU1NFUlQoY29u
c3RydWN0b3ItPm1ldGhvZFRhYmxlKCktPmdldENvbnN0cnVjdERhdGEoY29uc3RydWN0b3IsIGNv
bnN0cnVjdERhdGEpID09IENvbnN0cnVjdFR5cGVKUyk7CiAjZW5kaWYKICAgICAKICAgICBKU0ds
b2JhbERhdGEmIGdsb2JhbERhdGEgPSBleGVjLT5nbG9iYWxEYXRhKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcAppbmRleCBjY2ZkZWU5
NDY5NDRiZTVmNTVmNzRlZWYzNGU0MmEzOWFhZDMxNDA5Li44MzhmNTFjNThiOTdlNWZhMWI4NDhl
ZjRlOTIzZGQxMWI1OTMzMTRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50
ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9JbnRlcnByZXRlci5jcHAKQEAgLTQ2MDksNyArNDYwOSw3IEBAIHNraXBfaWRfY3Vz
dG9tX3NlbGY6CiAgICAgICAgIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yID0gYXNGdW5jdGlvbihj
YWxsRnJhbWUtPmNhbGxlZSgpKTsKICNpZiAhQVNTRVJUX0RJU0FCTEVECiAgICAgICAgIENvbnN0
cnVjdERhdGEgY29uc3RydWN0RGF0YTsKLSAgICAgICAgQVNTRVJUKGNvbnN0cnVjdG9yLT5nZXRD
b25zdHJ1Y3REYXRhVmlydHVhbChjb25zdHJ1Y3REYXRhKSA9PSBDb25zdHJ1Y3RUeXBlSlMpOwor
ICAgICAgICBBU1NFUlQoY29uc3RydWN0b3ItPm1ldGhvZFRhYmxlKCktPmdldENvbnN0cnVjdERh
dGEoY29uc3RydWN0b3IsIGNvbnN0cnVjdERhdGEpID09IENvbnN0cnVjdFR5cGVKUyk7CiAjZW5k
aWYKIAogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRTdHVicy5jcHAKaW5kZXggMzlmNmQwNThhMjM4MzdlYzFmNTRlNDM1Njk1NTFjMWMzMWYx
Mzc0MC4uMGM1MGFiMGFkNTY2NGQxMDY3ODM1NGIyNzQ0ZWNiM2FmZGE1NzUwMyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5jcHAKQEAgLTEyNjcsNyArMTI2Nyw3IEBAIERFRklO
RV9TVFVCX0ZVTkNUSU9OKEVuY29kZWRKU1ZhbHVlLCBvcF9jcmVhdGVfdGhpcykKICAgICBKU0Z1
bmN0aW9uKiBjb25zdHJ1Y3RvciA9IGFzRnVuY3Rpb24oY2FsbEZyYW1lLT5jYWxsZWUoKSk7CiAj
aWYgIUFTU0VSVF9ESVNBQkxFRAogICAgIENvbnN0cnVjdERhdGEgY29uc3RydWN0RGF0YTsKLSAg
ICBBU1NFUlQoY29uc3RydWN0b3ItPmdldENvbnN0cnVjdERhdGFWaXJ0dWFsKGNvbnN0cnVjdERh
dGEpID09IENvbnN0cnVjdFR5cGVKUyk7CisgICAgQVNTRVJUKGNvbnN0cnVjdG9yLT5tZXRob2RU
YWJsZSgpLT5nZXRDb25zdHJ1Y3REYXRhKGNvbnN0cnVjdG9yLCBjb25zdHJ1Y3REYXRhKSA9PSBD
b25zdHJ1Y3RUeXBlSlMpOwogI2VuZGlmCiAKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZTsKQEAg
LTIxNjcsNyArMjE2Nyw3IEBAIERFRklORV9TVFVCX0ZVTkNUSU9OKHZvaWQqLCBvcF9jb25zdHJ1
Y3Rfaml0Q29tcGlsZSkKIAogI2lmICFBU1NFUlRfRElTQUJMRUQKICAgICBDb25zdHJ1Y3REYXRh
IGNvbnN0cnVjdERhdGE7Ci0gICAgQVNTRVJUKGFzRnVuY3Rpb24oc3RhY2tGcmFtZS5jYWxsRnJh
bWUtPmNhbGxlZSgpKS0+Z2V0Q29uc3RydWN0RGF0YVZpcnR1YWwoY29uc3RydWN0RGF0YSkgPT0g
Q29uc3RydWN0VHlwZUpTKTsKKyAgICBBU1NFUlQoYXNGdW5jdGlvbihzdGFja0ZyYW1lLmNhbGxG
cmFtZS0+Y2FsbGVlKCkpLT5tZXRob2RUYWJsZSgpLT5nZXRDb25zdHJ1Y3REYXRhKHN0YWNrRnJh
bWUuY2FsbEZyYW1lLT5jYWxsZWUoKSwgY29uc3RydWN0RGF0YSkgPT0gQ29uc3RydWN0VHlwZUpT
KTsKICNlbmRpZgogICAgIAogICAgIHJldHVybiBqaXRDb21waWxlRm9yKHN0YWNrRnJhbWUsIENv
ZGVGb3JDb25zdHJ1Y3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQXJyYXlDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9B
cnJheUNvbnN0cnVjdG9yLmNwcAppbmRleCA1MGM4YWUxNTg1ODk4ZmQyYmFiNTNlN2ExMWQyM2Jh
ZjFhYzYzNjc1Li4yYWU1MzA3YTY3ZDhlNWYwNTk0YTRiNTI3NjA2ODQ2MzZiODRmZWEzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNw
cApAQCAtMTAyLDExICsxMDIsNiBAQCBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBjb25zdHJ1Y3RXaXRoQXJyYXlDb25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZQogICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoY29uc3RydWN0QXJyYXlXaXRoU2l6ZVF1aXJrKGV4ZWMsIGFyZ3Mp
KTsKIH0KIAotQ29uc3RydWN0VHlwZSBBcnJheUNvbnN0cnVjdG9yOjpnZXRDb25zdHJ1Y3REYXRh
VmlydHVhbChDb25zdHJ1Y3REYXRhJiBjb25zdHJ1Y3REYXRhKQotewotICAgIHJldHVybiBnZXRD
b25zdHJ1Y3REYXRhKHRoaXMsIGNvbnN0cnVjdERhdGEpOwotfQotCiBDb25zdHJ1Y3RUeXBlIEFy
cmF5Q29uc3RydWN0b3I6OmdldENvbnN0cnVjdERhdGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0YSYg
Y29uc3RydWN0RGF0YSkKIHsKICAgICBjb25zdHJ1Y3REYXRhLm5hdGl2ZS5mdW5jdGlvbiA9IGNv
bnN0cnVjdFdpdGhBcnJheUNvbnN0cnVjdG9yOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5oCmluZGV4IDI1ODM0ODljNDNiMzNmNWM0MGY1MmEx
YjkzNmJhYWIxN2MwMDI5MWIuLmRmZjcwYTQ4ZmZhZTc4MGYzYzk0OTRlODg4Yjk3ZjNkZGI4YzZi
NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5Q29uc3Ry
dWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVj
dG9yLmgKQEAgLTU2LDcgKzU2LDYgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgdmlydHVh
bCBib29sIGdldE93blByb3BlcnR5RGVzY3JpcHRvcihFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlm
aWVyJiwgUHJvcGVydHlEZXNjcmlwdG9yJik7CiAKLSAgICAgICAgdmlydHVhbCBDb25zdHJ1Y3RU
eXBlIGdldENvbnN0cnVjdERhdGFWaXJ0dWFsKENvbnN0cnVjdERhdGEmKTsKICAgICAgICAgc3Rh
dGljIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRh
Jik7CiAgICAgICAgIHN0YXRpYyBDYWxsVHlwZSBnZXRDYWxsRGF0YShKU0NlbGwqLCBDYWxsRGF0
YSYpOwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9C
b29sZWFuQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9v
bGVhbkNvbnN0cnVjdG9yLmNwcAppbmRleCBhYjYxNjlkMTlmODFiYmY3OTdjZWFlNGYzNzQ1MDJj
ZmQ4OTY1ZTRjLi5kYzI4ZGUxNDMxODEyNjU4MTFjMmJmMTU5NzAyYWQyNzM1MGMyM2FiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3Iu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rv
ci5jcHAKQEAgLTU4LDExICs1OCw2IEBAIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIGNvbnN0cnVjdFdpdGhCb29sZWFuQ29uc3RydWN0b3IoRXhlY1N0YXRlKiBlCiAgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShjb25zdHJ1Y3RCb29sZWFuKGV4ZWMsIGFyZ3MpKTsKIH0KIAot
Q29uc3RydWN0VHlwZSBCb29sZWFuQ29uc3RydWN0b3I6OmdldENvbnN0cnVjdERhdGFWaXJ0dWFs
KENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCi17Ci0gICAgcmV0dXJuIGdldENvbnN0cnVj
dERhdGEodGhpcywgY29uc3RydWN0RGF0YSk7Ci19Ci0KIENvbnN0cnVjdFR5cGUgQm9vbGVhbkNv
bnN0cnVjdG9yOjpnZXRDb25zdHJ1Y3REYXRhKEpTQ2VsbCosIENvbnN0cnVjdERhdGEmIGNvbnN0
cnVjdERhdGEpCiB7CiAgICAgY29uc3RydWN0RGF0YS5uYXRpdmUuZnVuY3Rpb24gPSBjb25zdHJ1
Y3RXaXRoQm9vbGVhbkNvbnN0cnVjdG9yOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuaAppbmRleCA2NzAzZmQ3YTlkYTFmYjQ0MTBmZmVl
YzM1MTQ4NzdiNmVlMDdkMTBiLi5hZjZiZTY1MDZhMmE1MWIwMTdlNGI4MDg1NmE2NjU0NDVmZDI0
MTMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuQ29u
c3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuQ29u
c3RydWN0b3IuaApAQCAtNTAsNyArNTAsNiBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIHByaXZh
dGU6CiAgICAgICAgIEJvb2xlYW5Db25zdHJ1Y3RvcihKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVy
ZSopOwotICAgICAgICB2aXJ0dWFsIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YVZpcnR1
YWwoQ29uc3RydWN0RGF0YSYpOwogICAgICAgICBzdGF0aWMgQ29uc3RydWN0VHlwZSBnZXRDb25z
dHJ1Y3REYXRhKEpTQ2VsbCosIENvbnN0cnVjdERhdGEmKTsKICAgICAgICAgc3RhdGljIENhbGxU
eXBlIGdldENhbGxEYXRhKEpTQ2VsbCosIENhbGxEYXRhJik7CiAgICAgfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3IuY3BwCmluZGV4IGZiNzhm
YjE4MTNmMzcwZGYxNDg4NThlZjE4ODE4MmQ1YTZmNGNlYzIuLjFiOTBjNmRjMGExMzY2MjBmZmJi
MDhjYTU5MDdjNmYzM2ViMmEzYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmNwcApAQCAtMTYxLDExICsxNjEsNiBAQCBzdGF0aWMgRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjb25zdHJ1Y3RXaXRoRGF0ZUNvbnN0cnVjdG9yKEV4
ZWNTdGF0ZSogZXhlYwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoY29uc3RydWN0RGF0ZShl
eGVjLCBhc0ludGVybmFsRnVuY3Rpb24oZXhlYy0+Y2FsbGVlKCkpLT5nbG9iYWxPYmplY3QoKSwg
YXJncykpOwogfQogCi1Db25zdHJ1Y3RUeXBlIERhdGVDb25zdHJ1Y3Rvcjo6Z2V0Q29uc3RydWN0
RGF0YVZpcnR1YWwoQ29uc3RydWN0RGF0YSYgY29uc3RydWN0RGF0YSkKLXsKLSAgICByZXR1cm4g
Z2V0Q29uc3RydWN0RGF0YSh0aGlzLCBjb25zdHJ1Y3REYXRhKTsKLX0KLQogQ29uc3RydWN0VHlw
ZSBEYXRlQ29uc3RydWN0b3I6OmdldENvbnN0cnVjdERhdGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0
YSYgY29uc3RydWN0RGF0YSkKIHsKICAgICBjb25zdHJ1Y3REYXRhLm5hdGl2ZS5mdW5jdGlvbiA9
IGNvbnN0cnVjdFdpdGhEYXRlQ29uc3RydWN0b3I7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5oCmluZGV4IGM3NzM0YjEwMjAyNmYyZjY4MGUyYjMy
MGE4ZGU5ZTcwN2QwMmQ1NTAuLjFmMWJjMTVmYzRlY2MwZDgyMGI3Y2E4NWVlMGFiODNmNjQ0NGNl
NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1
Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rv
ci5oCkBAIC01MSw3ICs1MSw2IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgcHJpdmF0ZToKICAg
ICAgICAgRGF0ZUNvbnN0cnVjdG9yKEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKik7Ci0gICAg
ICAgIHZpcnR1YWwgQ29uc3RydWN0VHlwZSBnZXRDb25zdHJ1Y3REYXRhVmlydHVhbChDb25zdHJ1
Y3REYXRhJik7CiAgICAgICAgIHN0YXRpYyBDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGEo
SlNDZWxsKiwgQ29uc3RydWN0RGF0YSYpOwogICAgICAgICBzdGF0aWMgQ2FsbFR5cGUgZ2V0Q2Fs
bERhdGEoSlNDZWxsKiwgQ2FsbERhdGEmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvRXJyb3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vy
cm9yLmgKaW5kZXggNTE4MGZmYTBmNzQyYTc4NTVkOTM0NzQ1NzkwYmE1N2RlMzkwYjhhYS4uYWM3
MzU0ZDMxNzIwNGNlN2E3N2M5ZThlMDlmMDNlNzNlYTFhMmYyMyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9FcnJvci5oCkBAIC05OCw3ICs5OCw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAg
ICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc051bGwoKSk7CiAgICAgICAgIH0KICAg
ICAKLSAgICAgICAgdmlydHVhbCBDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGFWaXJ0dWFs
KENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCisgICAgICAgIHN0YXRpYyBDb25zdHJ1Y3RU
eXBlIGdldENvbnN0cnVjdERhdGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0YSYgY29uc3RydWN0RGF0
YSkKICAgICAgICAgewogICAgICAgICAgICAgY29uc3RydWN0RGF0YS5uYXRpdmUuZnVuY3Rpb24g
PSBjb25zdHJ1Y3RUaHJvd1R5cGVFcnJvcjsKICAgICAgICAgICAgIHJldHVybiBDb25zdHJ1Y3RU
eXBlSG9zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9y
Q29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25z
dHJ1Y3Rvci5jcHAKaW5kZXggMDhhNzVmODVlZDljMzdjODZhYTA2MjlhMDQ1M2ZmMTExMGFkZDU0
NS4uNTIzMDlkMWZkNmFhOTc0Mzk5YzY1NDdiNTYzNWZlNThlNjk0NGZmYyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHAKQEAgLTUz
LDExICs1Myw2IEBAIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGNvbnN0cnVj
dFdpdGhFcnJvckNvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhlCiAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShFcnJvckluc3RhbmNlOjpjcmVhdGUoZXhlYywgZXJyb3JTdHJ1Y3R1cmUsIG1lc3Nh
Z2UpKTsKIH0KIAotQ29uc3RydWN0VHlwZSBFcnJvckNvbnN0cnVjdG9yOjpnZXRDb25zdHJ1Y3RE
YXRhVmlydHVhbChDb25zdHJ1Y3REYXRhJiBjb25zdHJ1Y3REYXRhKQotewotICAgIHJldHVybiBn
ZXRDb25zdHJ1Y3REYXRhKHRoaXMsIGNvbnN0cnVjdERhdGEpOwotfQotCiBDb25zdHJ1Y3RUeXBl
IEVycm9yQ29uc3RydWN0b3I6OmdldENvbnN0cnVjdERhdGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0
YSYgY29uc3RydWN0RGF0YSkKIHsKICAgICBjb25zdHJ1Y3REYXRhLm5hdGl2ZS5mdW5jdGlvbiA9
IGNvbnN0cnVjdFdpdGhFcnJvckNvbnN0cnVjdG9yOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5oCmluZGV4IGFmM2ZhZGY2NDViMjE4YzcwOGZk
NjliNjBkOGU1N2JjZjY1MTM3YzUuLmJlNjdkNmNjMDQ5YmFhYTJhMDkxZDM3OGU4OTA1ZWM2YzVi
NWM1MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yQ29u
c3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0
cnVjdG9yLmgKQEAgLTUxLDcgKzUxLDYgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIAogICAg
IHByaXZhdGU6CiAgICAgICAgIEVycm9yQ29uc3RydWN0b3IoSlNHbG9iYWxPYmplY3QqLCBTdHJ1
Y3R1cmUqKTsKLSAgICAgICAgdmlydHVhbCBDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGFW
aXJ0dWFsKENvbnN0cnVjdERhdGEmKTsKICAgICAgICAgc3RhdGljIENvbnN0cnVjdFR5cGUgZ2V0
Q29uc3RydWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRhJik7CiAgICAgICAgIHN0YXRpYyBD
YWxsVHlwZSBnZXRDYWxsRGF0YShKU0NlbGwqLCBDYWxsRGF0YSYpOwogICAgIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkNvbnN0cnVjdG9yLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuY3Bw
CmluZGV4IDRhMTdiYWRkMzlmZWEwMTZjYTQwNDllNmZmZWE1ZGVlYTk3YTUxOTIuLjU1NDJkODU2
MTA5YmNjYmM1MTJhNjcwZmM1ZmNlNDIyN2Y0OWNkZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuY3BwCkBAIC01OSwxMSAr
NTksNiBAQCBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjb25zdHJ1Y3RXaXRo
RnVuY3Rpb25Db25zdHJ1Y3RvcihFeGVjU3RhdGUqCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShjb25zdHJ1Y3RGdW5jdGlvbihleGVjLCBhc0ludGVybmFsRnVuY3Rpb24oZXhlYy0+Y2FsbGVl
KCkpLT5nbG9iYWxPYmplY3QoKSwgYXJncykpOwogfQogCi1Db25zdHJ1Y3RUeXBlIEZ1bmN0aW9u
Q29uc3RydWN0b3I6OmdldENvbnN0cnVjdERhdGFWaXJ0dWFsKENvbnN0cnVjdERhdGEmIGNvbnN0
cnVjdERhdGEpCi17Ci0gICAgcmV0dXJuIGdldENvbnN0cnVjdERhdGEodGhpcywgY29uc3RydWN0
RGF0YSk7Ci19Ci0KIENvbnN0cnVjdFR5cGUgRnVuY3Rpb25Db25zdHJ1Y3Rvcjo6Z2V0Q29uc3Ry
dWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRhJiBjb25zdHJ1Y3REYXRhKQogewogICAgIGNv
bnN0cnVjdERhdGEubmF0aXZlLmZ1bmN0aW9uID0gY29uc3RydWN0V2l0aEZ1bmN0aW9uQ29uc3Ry
dWN0b3I7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlv
bkNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkNv
bnN0cnVjdG9yLmgKaW5kZXggMGE3MzdmYjQ1ZDAxODUwODdjMTMyNTkwZjA5ODA2MjBlMDY4MmFm
ZC4uYWQwNDU3ZmM2NDhjOTM2M2U5MjI4NDg3YzI2MDE0MmM3NDNjN2VjZSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuaApAQCAt
NDgsNyArNDgsNiBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBwcml2YXRlOgogICAgICAgICBGdW5j
dGlvbkNvbnN0cnVjdG9yKEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKik7CiAgICAgICAgIHZv
aWQgZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiwgRnVuY3Rpb25Qcm90b3R5cGUqKTsKLSAgICAg
ICAgdmlydHVhbCBDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGFWaXJ0dWFsKENvbnN0cnVj
dERhdGEmKTsKICAgICAgICAgc3RhdGljIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YShK
U0NlbGwqLCBDb25zdHJ1Y3REYXRhJik7CiAgICAgICAgIHN0YXRpYyBDYWxsVHlwZSBnZXRDYWxs
RGF0YShKU0NlbGwqLCBDYWxsRGF0YSYpOwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNDZWxsLmNwcAppbmRleCA5MzlmN2I0NTIyMGNlMzBiNzNkYWVlNjJmMDcxYmI4ZWRm
ZWJiZDk4Li5jMjc5YWU1YWE0ZDE0OGU1NjY3YTY2M2ZhMzBhY2U4OTlkOWJmOTg3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAKQEAgLTU5LDExICs1OSw2IEBAIENh
bGxUeXBlIEpTQ2VsbDo6Z2V0Q2FsbERhdGEoSlNDZWxsKiwgQ2FsbERhdGEmKQogICAgIHJldHVy
biBDYWxsVHlwZU5vbmU7CiB9CiAKLUNvbnN0cnVjdFR5cGUgSlNDZWxsOjpnZXRDb25zdHJ1Y3RE
YXRhVmlydHVhbChDb25zdHJ1Y3REYXRhJikKLXsKLSAgICByZXR1cm4gQ29uc3RydWN0VHlwZU5v
bmU7Ci19Ci0KIENvbnN0cnVjdFR5cGUgSlNDZWxsOjpnZXRDb25zdHJ1Y3REYXRhKEpTQ2VsbCos
IENvbnN0cnVjdERhdGEmKQogewogICAgIHJldHVybiBDb25zdHJ1Y3RUeXBlTm9uZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgKaW5kZXggNGZmMWE1ODEwMWNkZWI0NWM0YWEw
NDc4YjU2Yzk1NDBjMWMyZjkwNy4uN2UwZTUxZmUxYTc5ODYzMmFjNTM0YTIzZDczYWMwOTk3N2Fm
NjlkNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgKQEAgLTc0LDcgKzc0
LDYgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIGNvbnN0IEpTT2JqZWN0KiBnZXRPYmplY3Qo
KSBjb25zdDsgLy8gTlVMTCBpZiBub3QgYW4gb2JqZWN0CiAgICAgICAgIAogICAgICAgICBzdGF0
aWMgQ2FsbFR5cGUgZ2V0Q2FsbERhdGEoSlNDZWxsKiwgQ2FsbERhdGEmKTsKLSAgICAgICAgdmly
dHVhbCBDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGFWaXJ0dWFsKENvbnN0cnVjdERhdGEm
KTsKICAgICAgICAgc3RhdGljIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YShKU0NlbGwq
LCBDb25zdHJ1Y3REYXRhJik7CiAKICAgICAgICAgLy8gQmFzaWMgY29udmVyc2lvbnMuCkBAIC0y
MzIsMTMgKzIzMSw2IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICByZXR1cm4gaXNDZWxsKCkg
PyBhc0NlbGwoKS0+Z2V0T2JqZWN0KCkgOiAwOwogICAgIH0KIAotICAgIGlubGluZSBDb25zdHJ1
Y3RUeXBlIGdldENvbnN0cnVjdERhdGEoSlNWYWx1ZSB2YWx1ZSwgQ29uc3RydWN0RGF0YSYgY29u
c3RydWN0RGF0YSkKLSAgICB7Ci0gICAgICAgIENvbnN0cnVjdFR5cGUgcmVzdWx0ID0gdmFsdWUu
aXNDZWxsKCkgPyB2YWx1ZS5hc0NlbGwoKS0+Z2V0Q29uc3RydWN0RGF0YVZpcnR1YWwoY29uc3Ry
dWN0RGF0YSkgOiBDb25zdHJ1Y3RUeXBlTm9uZTsKLSAgICAgICAgQVNTRVJUKHJlc3VsdCA9PSBD
b25zdHJ1Y3RUeXBlTm9uZSB8fCB2YWx1ZS5pc1ZhbGlkQ2FsbGVlKCkpOwotICAgICAgICByZXR1
cm4gcmVzdWx0OwotICAgIH0KLQogICAgIEFMV0FZU19JTkxJTkUgYm9vbCBKU1ZhbHVlOjpnZXRV
SW50MzIodWludDMyX3QmIHYpIGNvbnN0CiAgICAgewogICAgICAgICBpZiAoaXNJbnQzMigpKSB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCmluZGV4IDY1
ZDM0ZjIxZjFjYTYyNGQxNDI5YzJhMGNkYzYzOGFmMTk4OTczYmIuLjM4M2I5NTNlMDA5YTg5ZTFj
MzAwMTc4YjE4YjZhODg1NDU2NzE4YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTRnVuY3Rpb24uY3BwCkBAIC0zNjIsMTEgKzM2Miw2IEBAIGJvb2wgSlNGdW5jdGlvbjo6
ZGVsZXRlUHJvcGVydHkoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50
aWZpZXImCiAgICAgcmV0dXJuIEJhc2U6OmRlbGV0ZVByb3BlcnR5KHRoaXNPYmplY3QsIGV4ZWMs
IHByb3BlcnR5TmFtZSk7CiB9CiAKLUNvbnN0cnVjdFR5cGUgSlNGdW5jdGlvbjo6Z2V0Q29uc3Ry
dWN0RGF0YVZpcnR1YWwoQ29uc3RydWN0RGF0YSYgY29uc3RydWN0RGF0YSkKLXsKLSAgICByZXR1
cm4gZ2V0Q29uc3RydWN0RGF0YSh0aGlzLCBjb25zdHJ1Y3REYXRhKTsKLX0KLQogLy8gRUNNQSAx
My4yLjIgW1tDb25zdHJ1Y3RdXQogQ29uc3RydWN0VHlwZSBKU0Z1bmN0aW9uOjpnZXRDb25zdHJ1
Y3REYXRhKEpTQ2VsbCogY2VsbCwgQ29uc3RydWN0RGF0YSYgY29uc3RydWN0RGF0YSkKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaAppbmRleCAyN2ZhNmY1ZjY0
NzRlMDQwMmQ3YjhiYmEwZTg1Mjc4OWVhZTRiMTliLi4xYzA0MGYwZmQ3NDViZTgyMTM4NTU4Nzhi
YzIzZGVkZGI3YWI1MDE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0Z1bmN0aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5j
dGlvbi5oCkBAIC0xMDUsNyArMTA1LDYgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIE5hdGl2
ZUZ1bmN0aW9uIG5hdGl2ZUZ1bmN0aW9uKCk7CiAgICAgICAgIE5hdGl2ZUZ1bmN0aW9uIG5hdGl2
ZUNvbnN0cnVjdG9yKCk7CiAKLSAgICAgICAgdmlydHVhbCBDb25zdHJ1Y3RUeXBlIGdldENvbnN0
cnVjdERhdGFWaXJ0dWFsKENvbnN0cnVjdERhdGEmKTsKICAgICAgICAgc3RhdGljIENvbnN0cnVj
dFR5cGUgZ2V0Q29uc3RydWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRhJik7CiAgICAgICAg
IHN0YXRpYyBDYWxsVHlwZSBnZXRDYWxsRGF0YShKU0NlbGwqLCBDYWxsRGF0YSYpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAppbmRleCAzNDU4ZmFiNTgxNTQwZGVj
MzU3OTdkYTJlNTEyYThhNzM3YWU0MTBhLi4wMGJkYmZmN2ExNTdhYTUzMWIyN2YxMDY5ZDQ2ZGI0
NzdhNGI0MGRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09i
amVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKQEAg
LTQyMiw2ICs0MjIsMTMgQEAgaW5saW5lIENhbGxUeXBlIGdldENhbGxEYXRhKEpTVmFsdWUgdmFs
dWUsIENhbGxEYXRhJiBjYWxsRGF0YSkKICAgICByZXR1cm4gcmVzdWx0OwogfQogCitpbmxpbmUg
Q29uc3RydWN0VHlwZSBnZXRDb25zdHJ1Y3REYXRhKEpTVmFsdWUgdmFsdWUsIENvbnN0cnVjdERh
dGEmIGNvbnN0cnVjdERhdGEpCit7CisgICAgQ29uc3RydWN0VHlwZSByZXN1bHQgPSB2YWx1ZS5p
c0NlbGwoKSA/IHZhbHVlLmFzQ2VsbCgpLT5tZXRob2RUYWJsZSgpLT5nZXRDb25zdHJ1Y3REYXRh
KHZhbHVlLmFzQ2VsbCgpLCBjb25zdHJ1Y3REYXRhKSA6IENvbnN0cnVjdFR5cGVOb25lOworICAg
IEFTU0VSVChyZXN1bHQgPT0gQ29uc3RydWN0VHlwZU5vbmUgfHwgdmFsdWUuaXNWYWxpZENhbGxl
ZSgpKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCiBpbmxpbmUgU3RydWN0dXJlKiBjcmVhdGVF
bXB0eU9iamVjdFN0cnVjdHVyZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgcHJvdG90eXBlKQogewogICAgIHJldHVybiBKU0Zp
bmFsT2JqZWN0OjpjcmVhdGVTdHJ1Y3R1cmUoZ2xvYmFsRGF0YSwgZ2xvYmFsT2JqZWN0LCBwcm90
b3R5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZl
RXJyb3JDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRp
dmVFcnJvckNvbnN0cnVjdG9yLmNwcAppbmRleCBiMzg1OGRhMzYzZmE5YmU3ZmE3MDU4NjA1ODUx
NmQ5OTFiZjM4YmMxLi5iNTE5NTgxNWI0ODIzMTkyYjk2MTY2MjgwZTNhOTAwNjliNTI4ZjI1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvckNvbnN0
cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJv
ckNvbnN0cnVjdG9yLmNwcApAQCAtNTYsMTEgKzU2LDYgQEAgc3RhdGljIEVuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwgY29uc3RydWN0V2l0aE5hdGl2ZUVycm9yQ29uc3RydWN0b3IoRXhlY1N0
YXQKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0ZShleGVj
LCBlcnJvclN0cnVjdHVyZSwgbWVzc2FnZSkpOwogfQogCi1Db25zdHJ1Y3RUeXBlIE5hdGl2ZUVy
cm9yQ29uc3RydWN0b3I6OmdldENvbnN0cnVjdERhdGFWaXJ0dWFsKENvbnN0cnVjdERhdGEmIGNv
bnN0cnVjdERhdGEpCi17Ci0gICAgcmV0dXJuIGdldENvbnN0cnVjdERhdGEodGhpcywgY29uc3Ry
dWN0RGF0YSk7Ci19Ci0KIENvbnN0cnVjdFR5cGUgTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvcjo6Z2V0
Q29uc3RydWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRhJiBjb25zdHJ1Y3REYXRhKQogewog
ICAgIGNvbnN0cnVjdERhdGEubmF0aXZlLmZ1bmN0aW9uID0gY29uc3RydWN0V2l0aE5hdGl2ZUVy
cm9yQ29uc3RydWN0b3I7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9OYXRpdmVFcnJvckNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9OYXRpdmVFcnJvckNvbnN0cnVjdG9yLmgKaW5kZXggNmE4MmI1MWQ4YTI5NTBhOTJhZWYxMmU2
MWY1NWM4YmYxMmI2OTRhYi4uOTgzMjJmMWI2NjFmYTQ3NDQwMTI0YmIwYjkzM2E0NWI2ZTU4OWNh
ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRXJyb3JD
b25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUVy
cm9yQ29uc3RydWN0b3IuaApAQCAtNjgsNyArNjgsNiBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBw
cml2YXRlOgogICAgICAgICBOYXRpdmVFcnJvckNvbnN0cnVjdG9yKEpTR2xvYmFsT2JqZWN0Kiwg
U3RydWN0dXJlKik7CiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFn
cyA9IE92ZXJyaWRlc1Zpc2l0Q2hpbGRyZW4gfCBJbnRlcm5hbEZ1bmN0aW9uOjpTdHJ1Y3R1cmVG
bGFnczsKLSAgICAgICAgdmlydHVhbCBDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGFWaXJ0
dWFsKENvbnN0cnVjdERhdGEmKTsKICAgICAgICAgc3RhdGljIENvbnN0cnVjdFR5cGUgZ2V0Q29u
c3RydWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRhJik7CiAgICAgICAgIHN0YXRpYyBDYWxs
VHlwZSBnZXRDYWxsRGF0YShKU0NlbGwqLCBDYWxsRGF0YSYpOwogICAgICAgICBzdGF0aWMgdm9p
ZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5jcHAKaW5kZXggYzg5MzU0
YzNiZTVmMjgyNTUyMGI3OTEyZjg5YmEyMzFlZmJiM2NmNi4uMDBhMmRjODQ1MTJiNWEwNzE3ODA0
ZGQyOTU3YzMzNzc2NWU1Njg1OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL051bWJlckNvbnN0cnVjdG9yLmNwcApAQCAtMTIwLDExICsxMjAsNiBAQCBzdGF0aWMg
RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjb25zdHJ1Y3RXaXRoTnVtYmVyQ29uc3RydWN0
b3IoRXhlY1N0YXRlKiBleAogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUob2JqZWN0KTsKIH0K
IAotQ29uc3RydWN0VHlwZSBOdW1iZXJDb25zdHJ1Y3Rvcjo6Z2V0Q29uc3RydWN0RGF0YVZpcnR1
YWwoQ29uc3RydWN0RGF0YSYgY29uc3RydWN0RGF0YSkKLXsKLSAgICByZXR1cm4gZ2V0Q29uc3Ry
dWN0RGF0YSh0aGlzLCBjb25zdHJ1Y3REYXRhKTsKLX0KLQogQ29uc3RydWN0VHlwZSBOdW1iZXJD
b25zdHJ1Y3Rvcjo6Z2V0Q29uc3RydWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRhJiBjb25z
dHJ1Y3REYXRhKQogewogICAgIGNvbnN0cnVjdERhdGEubmF0aXZlLmZ1bmN0aW9uID0gY29uc3Ry
dWN0V2l0aE51bWJlckNvbnN0cnVjdG9yOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL051bWJlckNvbnN0cnVjdG9yLmgKaW5kZXggMTkxZjRhYTI5MTUwOThhNWFmZTdjN2Y0
ZGUwMDQwNWI1MDc0YjJhOC4uOTNiMTY5ZDc5NjA1YmMyNjk5NWQ4ZGFhZmY1ZWQ4NWEzNjBiOGY2
MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyQ29uc3Ry
dWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1
Y3Rvci5oCkBAIC01OCw3ICs1OCw2IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgcHJpdmF0ZToK
ICAgICAgICAgTnVtYmVyQ29uc3RydWN0b3IoSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqKTsK
LSAgICAgICAgdmlydHVhbCBDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGFWaXJ0dWFsKENv
bnN0cnVjdERhdGEmKTsKICAgICAgICAgc3RhdGljIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0
RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRhJik7CiAgICAgICAgIHN0YXRpYyBDYWxsVHlwZSBn
ZXRDYWxsRGF0YShKU0NlbGwqLCBDYWxsRGF0YSYpOwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAKaW5kZXggZmQ4YWUz
ZTczNmFhYjBlOGI1Yjg2ZGYwYjkxNmY0ZTBjYTc1ZjIzNy4uZmJkY2MzODExZjJhYzNhMDI5Nzhk
ZjhjMTFiMDNhNTBjZWRhYmQwNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL09iamVjdENvbnN0cnVjdG9yLmNwcApAQCAtMTE5LDExICsxMTksNiBAQCBzdGF0aWMg
RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjb25zdHJ1Y3RXaXRoT2JqZWN0Q29uc3RydWN0
b3IoRXhlY1N0YXRlKiBleAogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoY29uc3RydWN0T2Jq
ZWN0KGV4ZWMsIGFzSW50ZXJuYWxGdW5jdGlvbihleGVjLT5jYWxsZWUoKSktPmdsb2JhbE9iamVj
dCgpLCBhcmdzKSk7CiB9CiAKLUNvbnN0cnVjdFR5cGUgT2JqZWN0Q29uc3RydWN0b3I6OmdldENv
bnN0cnVjdERhdGFWaXJ0dWFsKENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCi17Ci0gICAg
cmV0dXJuIGdldENvbnN0cnVjdERhdGEodGhpcywgY29uc3RydWN0RGF0YSk7Ci19Ci0KIENvbnN0
cnVjdFR5cGUgT2JqZWN0Q29uc3RydWN0b3I6OmdldENvbnN0cnVjdERhdGEoSlNDZWxsKiwgQ29u
c3RydWN0RGF0YSYgY29uc3RydWN0RGF0YSkKIHsKICAgICBjb25zdHJ1Y3REYXRhLm5hdGl2ZS5m
dW5jdGlvbiA9IGNvbnN0cnVjdFdpdGhPYmplY3RDb25zdHJ1Y3RvcjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5oCmluZGV4IGNkNjI0YzNm
YjY4M2RkODMzYmRjNGVkMGExNjZiNGJlMGEwYzM5Y2IuLmJiZTE1ZWZmYzVhYzUxOTcyNGE1MDM2
NjAxZDE0M2RkY2JhOGRkYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL09iamVjdENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvT2JqZWN0Q29uc3RydWN0b3IuaApAQCAtNTUsNyArNTUsNiBAQCBuYW1lc3BhY2UgSlNDIHsK
IAogICAgIHByaXZhdGU6CiAgICAgICAgIE9iamVjdENvbnN0cnVjdG9yKEpTR2xvYmFsT2JqZWN0
KiwgU3RydWN0dXJlKik7Ci0gICAgICAgIHZpcnR1YWwgQ29uc3RydWN0VHlwZSBnZXRDb25zdHJ1
Y3REYXRhVmlydHVhbChDb25zdHJ1Y3REYXRhJik7CiAgICAgICAgIHN0YXRpYyBDb25zdHJ1Y3RU
eXBlIGdldENvbnN0cnVjdERhdGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0YSYpOwogICAgICAgICBz
dGF0aWMgQ2FsbFR5cGUgZ2V0Q2FsbERhdGEoSlNDZWxsKiwgQ2FsbERhdGEmKTsKICAgICB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0
b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3Iu
Y3BwCmluZGV4IDcyZDQ2OGQ3Yzg0ZWYxN2FkNmJkZGRmNDVmMTFhMjUwOGFkZTBkNzguLjkwZmEz
NzEzMDlmMGE0NjM2ZDcxODUxNTcyNmYwMjdkZjFjZjAxNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5jcHAKQEAgLTM1NCwxMSAr
MzU0LDYgQEAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY29uc3RydWN0V2l0
aFJlZ0V4cENvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXgKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKGNvbnN0cnVjdFJlZ0V4cChleGVjLCBhc0ludGVybmFsRnVuY3Rpb24oZXhlYy0+Y2FsbGVl
KCkpLT5nbG9iYWxPYmplY3QoKSwgYXJncywgdHJ1ZSkpOwogfQogCi1Db25zdHJ1Y3RUeXBlIFJl
Z0V4cENvbnN0cnVjdG9yOjpnZXRDb25zdHJ1Y3REYXRhVmlydHVhbChDb25zdHJ1Y3REYXRhJiBj
b25zdHJ1Y3REYXRhKQotewotICAgIHJldHVybiBnZXRDb25zdHJ1Y3REYXRhKHRoaXMsIGNvbnN0
cnVjdERhdGEpOwotfQotCiBDb25zdHJ1Y3RUeXBlIFJlZ0V4cENvbnN0cnVjdG9yOjpnZXRDb25z
dHJ1Y3REYXRhKEpTQ2VsbCosIENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCiB7CiAgICAg
Y29uc3RydWN0RGF0YS5uYXRpdmUuZnVuY3Rpb24gPSBjb25zdHJ1Y3RXaXRoUmVnRXhwQ29uc3Ry
dWN0b3I7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBD
b25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3Ry
dWN0b3IuaAppbmRleCBlYTg1ZWRiNjc0YTllMDQwZTU4NTJkODY5NTA1ODRhMGRkM2E5ZTY1Li4y
ZmY5YzFkMzNjZGQ4MjYyNDVkNmZiNmVlOThkNGQxMDZjNWEwYjc4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgKQEAgLTEwMCw3ICsx
MDAsNiBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIFJlZ0V4cENv
bnN0cnVjdG9yKEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKik7Ci0gICAgICAgIHZpcnR1YWwg
Q29uc3RydWN0VHlwZSBnZXRDb25zdHJ1Y3REYXRhVmlydHVhbChDb25zdHJ1Y3REYXRhJik7CiAg
ICAgICAgIHN0YXRpYyBDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGEoSlNDZWxsKiwgQ29u
c3RydWN0RGF0YSYpOwogICAgICAgICBzdGF0aWMgQ2FsbFR5cGUgZ2V0Q2FsbERhdGEoSlNDZWxs
KiwgQ2FsbERhdGEmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvU3RyaW5nQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U3RyaW5nQ29uc3RydWN0b3IuY3BwCmluZGV4IGExZDI1Mzk1M2M5MDU5NTBjZGYxOWRlOTAxMjNh
MWJiMTJjZDY4YjMuLjM2ZTczNmEzNzI4NzliYWMxZmUxYWZhNjI4ODM1YWQ0ZTIwNGM1MTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ0NvbnN0cnVjdG9y
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rv
ci5jcHAKQEAgLTEwNSwxMSArMTA1LDYgQEAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwgY29uc3RydWN0V2l0aFN0cmluZ0NvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXgKICAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKFN0cmluZ09iamVjdDo6Y3JlYXRlKGV4ZWMsIGdsb2JhbE9i
amVjdC0+c3RyaW5nT2JqZWN0U3RydWN0dXJlKCksIHN0cmluZykpOwogfQogCi1Db25zdHJ1Y3RU
eXBlIFN0cmluZ0NvbnN0cnVjdG9yOjpnZXRDb25zdHJ1Y3REYXRhVmlydHVhbChDb25zdHJ1Y3RE
YXRhJiBjb25zdHJ1Y3REYXRhKQotewotICAgIHJldHVybiBnZXRDb25zdHJ1Y3REYXRhKHRoaXMs
IGNvbnN0cnVjdERhdGEpOwotfQotCiBDb25zdHJ1Y3RUeXBlIFN0cmluZ0NvbnN0cnVjdG9yOjpn
ZXRDb25zdHJ1Y3REYXRhKEpTQ2VsbCosIENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCiB7
CiAgICAgY29uc3RydWN0RGF0YS5uYXRpdmUuZnVuY3Rpb24gPSBjb25zdHJ1Y3RXaXRoU3RyaW5n
Q29uc3RydWN0b3I7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
dHJpbmdDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5n
Q29uc3RydWN0b3IuaAppbmRleCA1ODRkYjVjNjM1ODhhMWNjYjRkMTEzNzgwNjliNWY0OTUxM2Qz
ZmU0Li5jYTgzZjAxMTAxZTU2NzU2MmNlYWE2OWU5ZjhmOTkzZTM2MjAzOGViIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ0NvbnN0cnVjdG9yLmgKQEAgLTUx
LDcgKzUxLDYgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgcHJpdmF0ZToKICAgICAgICAgU3RyaW5n
Q29uc3RydWN0b3IoSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqKTsKICAgICAgICAgdm9pZCBm
aW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqLCBTdHJpbmdQcm90b3R5cGUqKTsKLSAgICAgICAgdmly
dHVhbCBDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGFWaXJ0dWFsKENvbnN0cnVjdERhdGEm
KTsKICAgICAgICAgc3RhdGljIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YShKU0NlbGwq
LCBDb25zdHJ1Y3REYXRhJik7CiAgICAgICAgIHN0YXRpYyBDYWxsVHlwZSBnZXRDYWxsRGF0YShK
U0NlbGwqLCBDYWxsRGF0YSYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDJkZTJlNjcwYjVm
MWY2MDQ2M2YyOWFhNDkwOGI4MmE3Y2Y4YTJmNGIuLjM2OTNhYjAxMzRlOTFlMDBlNGU1MDYyZDJk
ZTUyY2VkN2MxNWY1M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmlu
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0xNzAzLDcgKzE3MDMsNiBA
QCBfX1pOM0pTQzhCaW5kaW5nczEzUnVudGltZU9iamVjdDE0ZmluaXNoQ3JlYXRpb25FUE5TXzE0
SlNHbG9iYWxPYmplY3RFCiBfX1pOM0pTQzhCaW5kaW5nczEzUnVudGltZU9iamVjdDE2Z2V0Q29u
c3RydWN0RGF0YUVQTlNfNkpTQ2VsbEVSTlNfMTNDb25zdHJ1Y3REYXRhRQogX19aTjNKU0M4Qmlu
ZGluZ3MxM1J1bnRpbWVPYmplY3QxOGdldE93blByb3BlcnR5U2xvdEVQTlNfNkpTQ2VsbEVQTlNf
OUV4ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckVSTlNfMTJQcm9wZXJ0eVNsb3RFCiBfX1pOM0pT
QzhCaW5kaW5nczEzUnVudGltZU9iamVjdDE5Z2V0T3duUHJvcGVydHlOYW1lc0VQTlNfOUV4ZWNT
dGF0ZUVSTlNfMTdQcm9wZXJ0eU5hbWVBcnJheUVOU18xNUVudW1lcmF0aW9uTW9kZUUKLV9fWk4z
SlNDOEJpbmRpbmdzMTNSdW50aW1lT2JqZWN0MjNnZXRDb25zdHJ1Y3REYXRhVmlydHVhbEVSTlNf
MTNDb25zdHJ1Y3REYXRhRQogX19aTjNKU0M4QmluZGluZ3MxM1J1bnRpbWVPYmplY3QyMWRlbGV0
ZVByb3BlcnR5VmlydHVhbEVQTlNfOUV4ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckUKIF9fWk4z
SlNDOEJpbmRpbmdzMTNSdW50aW1lT2JqZWN0MjRnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JFUE5T
XzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJFUk5TXzE4UHJvcGVydHlEZXNjcmlwdG9yRQog
X19aTjNKU0M4QmluZGluZ3MxM1J1bnRpbWVPYmplY3QyNWdldE93blByb3BlcnR5U2xvdFZpcnR1
YWxFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJFUk5TXzEyUHJvcGVydHlTbG90RQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNBdWRpb0NvbnN0cnVjdG9y
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQXVkaW9Db25zdHJ1Y3Rvci5jcHAK
aW5kZXggNzU2MDM5ZjczNjNkODdiNDVhNWZiZDk3MGU2NmU5ZjlmMjAxYjA0Ny4uMDYyMGEyMTMz
YWMwNDU2ZmIxZTc0N2NkN2I0M2MwYjYzYmMzZTU2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNBdWRpb0NvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0F1ZGlvQ29uc3RydWN0b3IuY3BwCkBAIC03NSwxMSArNzUsNiBAQCBz
dGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjb25zdHJ1Y3RBdWRpbyhFeGVjU3Rh
dGUqIGV4ZWMpCiAgICAgICAgIEhUTUxBdWRpb0VsZW1lbnQ6OmNyZWF0ZUZvckpTQ29uc3RydWN0
b3IoZG9jdW1lbnQsIHNyYykpKSk7CiB9CiAKLUNvbnN0cnVjdFR5cGUgSlNBdWRpb0NvbnN0cnVj
dG9yOjpnZXRDb25zdHJ1Y3REYXRhVmlydHVhbChDb25zdHJ1Y3REYXRhJiBjb25zdHJ1Y3REYXRh
KQotewotICAgIHJldHVybiBnZXRDb25zdHJ1Y3REYXRhKHRoaXMsIGNvbnN0cnVjdERhdGEpOwot
fQotCiBDb25zdHJ1Y3RUeXBlIEpTQXVkaW9Db25zdHJ1Y3Rvcjo6Z2V0Q29uc3RydWN0RGF0YShK
U0NlbGwqLCBDb25zdHJ1Y3REYXRhJiBjb25zdHJ1Y3REYXRhKQogewogICAgIGNvbnN0cnVjdERh
dGEubmF0aXZlLmZ1bmN0aW9uID0gY29uc3RydWN0QXVkaW87CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0F1ZGlvQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTQXVkaW9Db25zdHJ1Y3Rvci5oCmluZGV4IDA3ZWMzZDU2MWJlMzE4MmE0
MGI1NzMwYTg5ZGIwYjZlMTkzZTk1MGQuLjRmYTQ0MDY0NTkxNTA5OTU4OWViYzM0NDdmOGU2MTBm
YTgyZDNiMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQXVkaW9D
b25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQXVkaW9Db25z
dHJ1Y3Rvci5oCkBAIC01NSw3ICs1NSw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBwcml2
YXRlOgogICAgICAgICBKU0F1ZGlvQ29uc3RydWN0b3IoSlNDOjpTdHJ1Y3R1cmUqLCBKU0RPTUds
b2JhbE9iamVjdCopOwogICAgICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6RXhlY1N0YXRl
KiwgSlNET01HbG9iYWxPYmplY3QqKTsKLSAgICAgICAgdmlydHVhbCBKU0M6OkNvbnN0cnVjdFR5
cGUgZ2V0Q29uc3RydWN0RGF0YVZpcnR1YWwoSlNDOjpDb25zdHJ1Y3REYXRhJik7CiAgICAgICAg
IHN0YXRpYyBKU0M6OkNvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YShKU0M6OkpTQ2VsbCos
IEpTQzo6Q29uc3RydWN0RGF0YSYpOwogICAgIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTSW1hZ2VDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0ltYWdlQ29uc3RydWN0b3IuY3BwCmluZGV4IGE4NzUwMmEzYzExYjkwY2Jl
MTEzZjAxMWZlOGQzZDk4ZTJhMGZkYzcuLjRhMzk2ZTQ1Y2Y3MWMzYzJlNzM3MjU2MmYzNzMxNjE5
MDEwNTNkMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW1hZ2VD
b25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbWFnZUNv
bnN0cnVjdG9yLmNwcApAQCAtNzQsMTEgKzc0LDYgQEAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwgY29uc3RydWN0SW1hZ2UoRXhlY1N0YXRlKiBleGVjKQogICAgICAgICBIVE1M
SW1hZ2VFbGVtZW50OjpjcmVhdGVGb3JKU0NvbnN0cnVjdG9yKGRvY3VtZW50LCBvcHRpb25hbFdp
ZHRoLCBvcHRpb25hbEhlaWdodCkpKSk7CiB9CiAKLUNvbnN0cnVjdFR5cGUgSlNJbWFnZUNvbnN0
cnVjdG9yOjpnZXRDb25zdHJ1Y3REYXRhVmlydHVhbChDb25zdHJ1Y3REYXRhJiBjb25zdHJ1Y3RE
YXRhKQotewotICAgIHJldHVybiBnZXRDb25zdHJ1Y3REYXRhKHRoaXMsIGNvbnN0cnVjdERhdGEp
OwotfQotCiBDb25zdHJ1Y3RUeXBlIEpTSW1hZ2VDb25zdHJ1Y3Rvcjo6Z2V0Q29uc3RydWN0RGF0
YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRhJiBjb25zdHJ1Y3REYXRhKQogewogICAgIGNvbnN0cnVj
dERhdGEubmF0aXZlLmZ1bmN0aW9uID0gY29uc3RydWN0SW1hZ2U7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0ltYWdlQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTSW1hZ2VDb25zdHJ1Y3Rvci5oCmluZGV4IDM5NWI2MTZkOTFjMDdk
MmUwYjBkMjVjYTg3MDZiNGNkNGZhODJjNTIuLjljYzRmZDE5Y2FlN2U4Yzc1MmNlNGQ4MzI2NzFi
YjFkZjM0MDE5OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW1h
Z2VDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW1hZ2VD
b25zdHJ1Y3Rvci5oCkBAIC00Niw3ICs0Niw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBw
cml2YXRlOgogICAgICAgICBKU0ltYWdlQ29uc3RydWN0b3IoSlNDOjpTdHJ1Y3R1cmUqLCBKU0RP
TUdsb2JhbE9iamVjdCopOwogICAgICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6RXhlY1N0
YXRlKiwgSlNET01HbG9iYWxPYmplY3QqKTsKLSAgICAgICAgdmlydHVhbCBKU0M6OkNvbnN0cnVj
dFR5cGUgZ2V0Q29uc3RydWN0RGF0YVZpcnR1YWwoSlNDOjpDb25zdHJ1Y3REYXRhJik7CiAgICAg
ICAgIHN0YXRpYyBKU0M6OkNvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YShKU0M6OkpTQ2Vs
bCosIEpTQzo6Q29uc3RydWN0RGF0YSYpOwogICAgIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTT3B0aW9uQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNPcHRpb25Db25zdHJ1Y3Rvci5jcHAKaW5kZXggOTgwZjlhNjNkN2Zm
MzEzN2Y4OGI3ZTcwMDMzOTM5MWIzY2MzYzY5MS4uNWVmZWFlZjI2NzQzZjI1ZjhmOTI0NTAzYTI3
YTNlNjk1ZGNlNzlhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNP
cHRpb25Db25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNP
cHRpb25Db25zdHJ1Y3Rvci5jcHAKQEAgLTc1LDExICs3NSw2IEBAIHN0YXRpYyBFbmNvZGVkSlNW
YWx1ZSBKU0NfSE9TVF9DQUxMIGNvbnN0cnVjdEhUTUxPcHRpb25FbGVtZW50KEV4ZWNTdGF0ZSog
ZXhlYykKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGFzT2JqZWN0KHRvSlMoZXhlYywganND
b25zdHJ1Y3Rvci0+Z2xvYmFsT2JqZWN0KCksIGVsZW1lbnQucmVsZWFzZSgpKSkpOwogfQogCi1D
b25zdHJ1Y3RUeXBlIEpTT3B0aW9uQ29uc3RydWN0b3I6OmdldENvbnN0cnVjdERhdGFWaXJ0dWFs
KENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCi17Ci0gICAgcmV0dXJuIGdldENvbnN0cnVj
dERhdGEodGhpcywgY29uc3RydWN0RGF0YSk7Ci19Ci0KIENvbnN0cnVjdFR5cGUgSlNPcHRpb25D
b25zdHJ1Y3Rvcjo6Z2V0Q29uc3RydWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRhJiBjb25z
dHJ1Y3REYXRhKQogewogICAgIGNvbnN0cnVjdERhdGEubmF0aXZlLmZ1bmN0aW9uID0gY29uc3Ry
dWN0SFRNTE9wdGlvbkVsZW1lbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU09wdGlvbkNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U09wdGlvbkNvbnN0cnVjdG9yLmgKaW5kZXggZjk2MWE4OGE1YzU3YjYzYWExNTI5MmU5ZDhjMDU5
NGM3ZWNjMjc4MS4uYWJlMTU5ZTYwNDEzNjE3ODNhNTcyOTM1YmYwOTY4MWNlNjllMGY5YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNPcHRpb25Db25zdHJ1Y3Rvci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTT3B0aW9uQ29uc3RydWN0b3IuaApA
QCAtNDcsNyArNDcsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgcHJpdmF0ZToKICAgICAg
ICAgSlNPcHRpb25Db25zdHJ1Y3RvcihKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0
Kik7CiAgICAgICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUds
b2JhbE9iamVjdCopOwotICAgICAgICB2aXJ0dWFsIEpTQzo6Q29uc3RydWN0VHlwZSBnZXRDb25z
dHJ1Y3REYXRhVmlydHVhbChKU0M6OkNvbnN0cnVjdERhdGEmKTsKICAgICAgICAgc3RhdGljIEpT
Qzo6Q29uc3RydWN0VHlwZSBnZXRDb25zdHJ1Y3REYXRhKEpTQzo6SlNDZWxsKiwgSlNDOjpDb25z
dHJ1Y3REYXRhJik7CiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NyaXB0RnVuY3Rpb25DYWxsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1NjcmlwdEZ1bmN0aW9uQ2FsbC5jcHAKaW5kZXggMTkwOTlhOTc2OGU2Njk3NDFkYTI4YmQ0ZGQx
NGYxN2YzMzhkOTVhNi4uNWM5ZWJjMDk2ZDljZmQwM2U0ZDRmNGVhZmE0Yzk4NjNjN2FkZTg3YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0RnVuY3Rpb25DYWxs
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRGdW5jdGlvbkNhbGwu
Y3BwCkBAIC0xNzUsNyArMTc1LDcgQEAgU2NyaXB0T2JqZWN0IFNjcmlwdEZ1bmN0aW9uQ2FsbDo6
Y29uc3RydWN0KGJvb2wmIGhhZEV4Y2VwdGlvbiwgYm9vbCByZXBvcnRFeGNlcHQKICAgICB9CiAK
ICAgICBDb25zdHJ1Y3REYXRhIGNvbnN0cnVjdERhdGE7Ci0gICAgQ29uc3RydWN0VHlwZSBjb25z
dHJ1Y3RUeXBlID0gY29uc3RydWN0b3ItPmdldENvbnN0cnVjdERhdGFWaXJ0dWFsKGNvbnN0cnVj
dERhdGEpOworICAgIENvbnN0cnVjdFR5cGUgY29uc3RydWN0VHlwZSA9IGNvbnN0cnVjdG9yLT5t
ZXRob2RUYWJsZSgpLT5nZXRDb25zdHJ1Y3REYXRhKGNvbnN0cnVjdG9yLCBjb25zdHJ1Y3REYXRh
KTsKICAgICBpZiAoY29uc3RydWN0VHlwZSA9PSBDb25zdHJ1Y3RUeXBlTm9uZSkKICAgICAgICAg
cmV0dXJuIFNjcmlwdE9iamVjdCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IGI4MzIwNjQ1MDdiYmUwMDg2YmUxYWFj
MWIwMjA2N2RkNWNmNzNjNzEuLmExNmE0M2YyYTk1OTdmN2ZkMWRmNDBhNDYxZDNmMjg5ZTZjNjI3
ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckpTLnBtCkBAIC0zMjE3LDcgKzMyMTcsNiBAQCBzdWIgR2VuZXJhdGVDb25zdHJ1Y3RvckRl
Y2xhcmF0aW9uCiAKICAgICBpZiAoJGNhbkNvbnN0cnVjdCkgewogICAgICAgICBwdXNoKEAkb3V0
cHV0QXJyYXksICIgICAgc3RhdGljIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBj
b25zdHJ1Y3Qke2NsYXNzTmFtZX0oSlNDOjpFeGVjU3RhdGUqKTtcbiIpOwotICAgICAgICBwdXNo
KEAkb3V0cHV0QXJyYXksICIgICAgdmlydHVhbCBKU0M6OkNvbnN0cnVjdFR5cGUgZ2V0Q29uc3Ry
dWN0RGF0YVZpcnR1YWwoSlNDOjpDb25zdHJ1Y3REYXRhJik7XG4iKTsKICAgICAgICAgcHVzaChA
JG91dHB1dEFycmF5LCAiICAgIHN0YXRpYyBKU0M6OkNvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0
RGF0YShKU0M6OkpTQ2VsbCosIEpTQzo6Q29uc3RydWN0RGF0YSYpO1xuIik7CiAgICAgfQogICAg
IHB1c2goQCRvdXRwdXRBcnJheSwgIn07XG5cbiIpOwpAQCAtMzMzNSwxMSArMzMzNCw2IEBAIHN1
YiBHZW5lcmF0ZUNvbnN0cnVjdG9yRGVmaW5pdGlvbgogICAgICAgICAgICAgcHVzaChAJG91dHB1
dEFycmF5LCAifVxuXG4iKTsKICAgICAgICAgfQogCi0gICAgICAgIHB1c2goQCRvdXRwdXRBcnJh
eSwgIkNvbnN0cnVjdFR5cGUgJHtjb25zdHJ1Y3RvckNsYXNzTmFtZX06OmdldENvbnN0cnVjdERh
dGFWaXJ0dWFsKENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpXG4iKTsKLSAgICAgICAgcHVz
aChAJG91dHB1dEFycmF5LCAie1xuIik7Ci0gICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAg
ICByZXR1cm4gZ2V0Q29uc3RydWN0RGF0YSh0aGlzLCBjb25zdHJ1Y3REYXRhKTtcbiIpOwotICAg
ICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICJ9XG5cbiIpOwotCiAgICAgICAgIHB1c2goQCRvdXRw
dXRBcnJheSwgIkNvbnN0cnVjdFR5cGUgJHtjb25zdHJ1Y3RvckNsYXNzTmFtZX06OmdldENvbnN0
cnVjdERhdGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0YSYgY29uc3RydWN0RGF0YSlcbiIpOwogICAg
ICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICJ7XG4iKTsKICAgICAgICAgcHVzaChAJG91dHB1dEFy
cmF5LCAiICAgIGNvbnN0cnVjdERhdGEubmF0aXZlLmZ1bmN0aW9uID0gY29uc3RydWN0JHtjbGFz
c05hbWV9O1xuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9v
YmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmNwcAppbmRl
eCAwOWRhOTJmZWYxMWM3YzYzOGVjMzdmMDljMzhhNTUzMjJhZTQyZWUzLi4zMjhlY2JmZjhhYWM3
ZmExYTUyNzE3N2EyMDg3MDEyMWQyNTcwZDRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
cmlkZ2UvcnVudGltZV9vYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50
aW1lX29iamVjdC5jcHAKQEAgLTMwNCwxMSArMzA0LDYgQEAgc3RhdGljIEVuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwgY2FsbFJ1bnRpbWVDb25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMpCiAg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQuaXNPYmplY3QoKSA/IHN0YXRpY19jYXN0
PEpTT2JqZWN0Kj4ocmVzdWx0LmFzQ2VsbCgpKSA6IGNvbnN0cnVjdG9yKTsKIH0KIAotQ29uc3Ry
dWN0VHlwZSBSdW50aW1lT2JqZWN0OjpnZXRDb25zdHJ1Y3REYXRhVmlydHVhbChDb25zdHJ1Y3RE
YXRhJiBjb25zdHJ1Y3REYXRhKQotewotICAgIHJldHVybiBnZXRDb25zdHJ1Y3REYXRhKHRoaXMs
IGNvbnN0cnVjdERhdGEpOwotfQotCiBDb25zdHJ1Y3RUeXBlIFJ1bnRpbWVPYmplY3Q6OmdldENv
bnN0cnVjdERhdGEoSlNDZWxsKiBjZWxsLCBDb25zdHJ1Y3REYXRhJiBjb25zdHJ1Y3REYXRhKQog
ewogICAgIFJ1bnRpbWVPYmplY3QqIHRoaXNPYmplY3QgPSBzdGF0aWNfY2FzdDxSdW50aW1lT2Jq
ZWN0Kj4oY2VsbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9v
YmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX29iamVjdC5oCmluZGV4IGYz
ODZhZWIxODlmOTQzYjA5ZWMxNmRhMmExM2JmOWMzMzlmNmM2OGMuLjhhMjcxOWUxODFlYzNkNWQ1
YzFmNzY4MGIzMjJlY2I5NzhlNjY5MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRn
ZS9ydW50aW1lX29iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX29i
amVjdC5oCkBAIC01NCw3ICs1NCw2IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBkZWxldGVQ
cm9wZXJ0eShKU0NlbGwqLCBFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5h
bWUpOwogICAgIHZpcnR1YWwgSlNWYWx1ZSBkZWZhdWx0VmFsdWUoRXhlY1N0YXRlKiwgUHJlZmVy
cmVkUHJpbWl0aXZlVHlwZSkgY29uc3Q7CiAgICAgc3RhdGljIENhbGxUeXBlIGdldENhbGxEYXRh
KEpTQ2VsbCosIENhbGxEYXRhJik7Ci0gICAgdmlydHVhbCBDb25zdHJ1Y3RUeXBlIGdldENvbnN0
cnVjdERhdGFWaXJ0dWFsKENvbnN0cnVjdERhdGEmKTsKICAgICBzdGF0aWMgQ29uc3RydWN0VHlw
ZSBnZXRDb25zdHJ1Y3REYXRhKEpTQ2VsbCosIENvbnN0cnVjdERhdGEmKTsKIAogICAgIHZpcnR1
YWwgdm9pZCBnZXRPd25Qcm9wZXJ0eU5hbWVzKEV4ZWNTdGF0ZSosIFByb3BlcnR5TmFtZUFycmF5
JiwgRW51bWVyYXRpb25Nb2RlIG1vZGUgPSBFeGNsdWRlRG9udEVudW1Qcm9wZXJ0aWVzKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2lu
SW5zdGFuY2VQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNj
YXBlUGx1Z2luSW5zdGFuY2VQcm94eS5tbQppbmRleCBjNTk3ZThhYTY5NDYwMDVmOGU5Y2Y2Y2Vm
MjI3ZDk2ZGEyMDA2ZjUwLi4wOWU1MzllNTU0MzJmMTAwMTgzYWYzNTk1ZjJiNjI2ZTRkYmI3MDk3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBs
dWdpbkluc3RhbmNlUHJveHkubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0
ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Lm1tCkBAIC05NzgsNyArOTc4LDcgQEAgYm9v
bCBOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6OmNvbnN0cnVjdCh1aW50MzJfdCBvYmplY3RJ
RCwgZGF0YV90IGFyZ3VtZW50c0QKICAgICBKU0xvY2sgbG9jayhTaWxlbmNlQXNzZXJ0aW9uc09u
bHkpOwogCiAgICAgQ29uc3RydWN0RGF0YSBjb25zdHJ1Y3REYXRhOwotICAgIENvbnN0cnVjdFR5
cGUgY29uc3RydWN0VHlwZSA9IG9iamVjdC0+Z2V0Q29uc3RydWN0RGF0YVZpcnR1YWwoY29uc3Ry
dWN0RGF0YSk7CisgICAgQ29uc3RydWN0VHlwZSBjb25zdHJ1Y3RUeXBlID0gb2JqZWN0LT5tZXRo
b2RUYWJsZSgpLT5nZXRDb25zdHJ1Y3REYXRhKG9iamVjdCwgY29uc3RydWN0RGF0YSk7CiAgICAg
aWYgKGNvbnN0cnVjdFR5cGUgPT0gQ29uc3RydWN0VHlwZU5vbmUpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05l
dHNjYXBlL0pTTlBPYmplY3QuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L05ldHNjYXBlL0pTTlBPYmplY3QuY3BwCmluZGV4IGUyZDAyYTQ1NGYzZGFhYThmOTNkOWM1MTM1
OWI2Mjg5ZmZiMGQyZjguLmQwNThlZTVlYjBmNmU1MGZmOGQ5NmUyY2M0MDg3MDRjOWJhNGNlODEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9K
U05QT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0
c2NhcGUvSlNOUE9iamVjdC5jcHAKQEAgLTIzNiwxMSArMjM2LDYgQEAgc3RhdGljIEVuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwgY29uc3RydWN0V2l0aENvbnN0cnVjdG9yKEV4ZWNTdGF0ZSog
ZXhlYykKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHN0YXRpY19jYXN0PEpTTlBPYmplY3Qq
Pihjb25zdHJ1Y3RvciktPmNhbGxDb25zdHJ1Y3RvcihleGVjKSk7CiB9CiAKLUNvbnN0cnVjdFR5
cGUgSlNOUE9iamVjdDo6Z2V0Q29uc3RydWN0RGF0YVZpcnR1YWwoQ29uc3RydWN0RGF0YSYgY29u
c3RydWN0RGF0YSkKLXsKLSAgICByZXR1cm4gZ2V0Q29uc3RydWN0RGF0YSh0aGlzLCBjb25zdHJ1
Y3REYXRhKTsKLX0KLQogQ29uc3RydWN0VHlwZSBKU05QT2JqZWN0OjpnZXRDb25zdHJ1Y3REYXRh
KEpTQ2VsbCogY2VsbCwgQ29uc3RydWN0RGF0YSYgY29uc3RydWN0RGF0YSkKIHsKICAgICBKU05Q
T2JqZWN0KiB0aGlzT2JqZWN0ID0gc3RhdGljX2Nhc3Q8SlNOUE9iamVjdCo+KGNlbGwpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBP
YmplY3QuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05Q
T2JqZWN0LmgKaW5kZXggOTMwNmZiYjYzMjdiNjBmYmEwN2YyMDNmNmFlYTU1YzM2YWQ3ZWQ4OC4u
NGFlMTNiYWY2MDVhMTQ4MjhkOGMyMzkwNWI3YjAyYzM5NjExZGY5NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBPYmplY3QuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE9iamVjdC5o
CkBAIC04MCw3ICs4MCw2IEBAIHByaXZhdGU6CiAgICAgfQogCiAgICAgc3RhdGljIEpTQzo6Q2Fs
bFR5cGUgZ2V0Q2FsbERhdGEoSlNDOjpKU0NlbGwqLCBKU0M6OkNhbGxEYXRhJik7Ci0gICAgdmly
dHVhbCBKU0M6OkNvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YVZpcnR1YWwoSlNDOjpDb25z
dHJ1Y3REYXRhJik7CiAgICAgc3RhdGljIEpTQzo6Q29uc3RydWN0VHlwZSBnZXRDb25zdHJ1Y3RE
YXRhKEpTQzo6SlNDZWxsKiwgSlNDOjpDb25zdHJ1Y3REYXRhJik7CiAKICAgICB2aXJ0dWFsIGJv
b2wgZ2V0T3duUHJvcGVydHlTbG90VmlydHVhbChKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IEpTQzo6
SWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU0M6OlByb3BlcnR5U2xvdCYpOwo=
</data>
<flag name="review"
          id="110036"
          type_id="1"
          status="+"
          setter="darin"
    />
    <flag name="commit-queue"
          id="110117"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>