<?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>70271</bug_id>
          
          <creation_ts>2011-10-17 14:44:45 -0700</creation_ts>
          <short_desc>Rename static getOwnPropertySlot to getOwnPropertySlotByIndex</short_desc>
          <delta_ts>2011-10-24 11:36:54 -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>gustavo.noronha</cc>
    
    <cc>gustavo</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>485518</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-10-17 14:44:45 -0700</bug_when>
    <thetext>There are two versions of getOwnPropertySlot, one that uses an Identifier and the other that uses an unsigned.  We need to rename the version that takes an unsigned to getOwnPropertySlotByIndex.  This is in preparation for adding both versions to the MethodTable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485522</commentid>
    <comment_count>1</comment_count>
      <attachid>111323</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-10-17 14:48:31 -0700</bug_when>
    <thetext>Created attachment 111323
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485528</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-17 14:51:10 -0700</bug_when>
    <thetext>Attachment 111323 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/update-webkit&apos;, &apos;--chromium&apos;]&quot; exit_code: 2

Updating OpenSource
From git://git.webkit.org/WebKit
   915de3d..665fcc3  master     -&gt; origin/master
	M	LayoutTests/platform/chromium/test_expectations.txt
	M	LayoutTests/fast/js/script-tests/stack-overflow-arrity-catch.js
	M	LayoutTests/fast/js/stack-overflow-arrity-catch-expected.txt
	M	LayoutTests/ChangeLog
r97651 = 15345d92fb4fb4090a6a775d1a17ae7daaee53cf (refs/remotes/trunk)
	M	LayoutTests/platform/chromium/test_expectations.txt
	M	LayoutTests/ChangeLog
r97652 = 3a79ff0362f4f892e144879ce09d6cf8f7a297bc (refs/remotes/trunk)
	A	LayoutTests/fast/writing-mode/borders-expected.html
	A	LayoutTests/fast/writing-mode/borders.html
	M	LayoutTests/ChangeLog
	M	Source/WebCore/ChangeLog
	M	Source/WebCore/rendering/RenderBlock.cpp
r97653 = 420f57e9e65cd5bb486ff61a4c7a279472c87fe7 (refs/remotes/trunk)
	M	LayoutTests/platform/mac/fast/table/028-vertical-expected.png
	M	LayoutTests/platform/mac/fast/table/028-vertical-expected.txt
	M	LayoutTests/platform/mac/fast/table/height-percent-test-vertical-expected.png
	M	LayoutTests/platform/mac/fast/table/height-percent-test-vertical-expected.txt
	M	LayoutTests/platform/mac/fast/backgrounds/background-leakage-transforms-expected.txt
	M	LayoutTests/platform/mac/fast/writing-mode/fallback-orientation-expected.txt
	M	LayoutTests/ChangeLog
	M	Source/WebCore/ChangeLog
	M	Source/WebCore/rendering/RenderBox.cpp
r97654 = 26a2c52d7c980b98a33482c134d8ed39c5ba6fac (refs/remotes/trunk)
	M	LayoutTests/fast/js/script-tests/delete-syntax.js
	M	LayoutTests/fast/js/delete-syntax-expected.txt
	M	LayoutTests/ChangeLog
	M	Source/JavaScriptCore/runtime/JSObject.cpp
	M	Source/JavaScriptCore/ChangeLog
r97655 = 665fcc38aafbb9a5fbfbc608264a717a2109e4ff (refs/remotes/trunk)
First, rewinding head to replay your work on top of it...
Fast-forwarded master to refs/remotes/trunk.
Updating chromium port dependencies using gclient...
Error: Can&apos;t switch the checkout to http://v8.googlecode.com/svn/branches/3.6@9637; UUID don&apos;t match and there is local changes in /mnt/git/webkit-style-queue/Source/WebKit/chromium/v8. Delete the directory and try again.
Re-trying &apos;depot_tools/gclient sync&apos;
Error: Can&apos;t switch the checkout to http://v8.googlecode.com/svn/branches/3.6@9637; UUID don&apos;t match and there is local changes in /mnt/git/webkit-style-queue/Source/WebKit/chromium/v8. Delete the directory and try again.
Re-trying &apos;depot_tools/gclient sync&apos;
Error: Can&apos;t switch the checkout to http://v8.googlecode.com/svn/branches/3.6@9637; UUID don&apos;t match and there is local changes in /mnt/git/webkit-style-queue/Source/WebKit/chromium/v8. Delete the directory and try again.
Error: &apos;depot_tools/gclient sync&apos; failed 3 tries and returned 256 at Tools/Scripts/update-webkit-chromium line 107.
Re-trying &apos;depot_tools/gclient sync&apos;
No such file or directory at Tools/Scripts/update-webkit line 104.


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>486188</commentid>
    <comment_count>3</comment_count>
      <attachid>111474</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-10-18 11:27:29 -0700</bug_when>
    <thetext>Created attachment 111474
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>486521</commentid>
    <comment_count>4</comment_count>
      <attachid>111474</attachid>
    <who name="Collabora GTK+ EWS bot">gustavo.noronha</who>
    <bug_when>2011-10-18 19:09:58 -0700</bug_when>
    <thetext>Comment on attachment 111474
Patch

Attachment 111474 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/10144192</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>486538</commentid>
    <comment_count>5</comment_count>
      <attachid>111474</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-10-18 21:10:42 -0700</bug_when>
    <thetext>Comment on attachment 111474
Patch

Attachment 111474 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/10144212</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>487844</commentid>
    <comment_count>6</comment_count>
      <attachid>111840</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-10-20 13:45:57 -0700</bug_when>
    <thetext>Created attachment 111840
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489040</commentid>
    <comment_count>7</comment_count>
      <attachid>112120</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-10-23 10:55:12 -0700</bug_when>
    <thetext>Created attachment 112120
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489480</commentid>
    <comment_count>8</comment_count>
      <attachid>112120</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-24 11:36:49 -0700</bug_when>
    <thetext>Comment on attachment 112120
Patch

Clearing flags on attachment: 112120

Committed r98261: &lt;http://trac.webkit.org/changeset/98261&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489481</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-24 11:36:54 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111323</attachid>
            <date>2011-10-17 14:48:31 -0700</date>
            <delta_ts>2011-10-18 11:27:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70271-20111017144830.patch</filename>
            <type>text/plain</type>
            <size>33370</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTc2MzIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDZk
MjYwOGJmMGVhNmM2NTJlYjk1ODdiMGZmODcyMDJjYmM3MTJlNDQuLjkzZWM2OTcxODFhMTI5Njdm
MmM5MzRiOGQyOTQ3NzRhNTViNjBjZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDU2IEBACisyMDExLTEwLTE3ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBs
ZS5jb20+CisKKyAgICAgICAgUmVuYW1lIHN0YXRpYyBnZXRPd25Qcm9wZXJ0eVNsb3QgdG8gZ2V0
T3duUHJvcGVydHlTbG90QnlJbmRleAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzAyNzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBSZW5hbWluZyB2ZXJzaW9ucyBvZiBnZXRPd25Qcm9wZXJ0eVNsb3QgdGhh
dCB1c2UgYW4gdW5zaWduZWQgYXMgdGhlIHByb3BlcnR5CisgICAgICAgIG5hbWUgdG8gImdldE93
blByb3BlcnR5U2xvdEJ5SW5kZXgiIGluIHByZXBhcmF0aW9uIGZvciBhZGRpbmcgdGhlbSB0byB0
aGUgCisgICAgICAgIE1ldGhvZFRhYmxlLCB3aGljaCByZXF1aXJlcyB1bmlxdWUgbmFtZXMgZm9y
IGVhY2ggbWV0aG9kLgorCisgICAgICAgICogSmF2YVNjcmlwdENvcmUuZXhwOgorICAgICAgICAq
IHJ1bnRpbWUvQXJndW1lbnRzLmNwcDoKKyAgICAgICAgKEpTQzo6QXJndW1lbnRzOjpnZXRPd25Q
cm9wZXJ0eVNsb3RWaXJ0dWFsKToKKyAgICAgICAgKEpTQzo6QXJndW1lbnRzOjpnZXRPd25Qcm9w
ZXJ0eVNsb3RCeUluZGV4KToKKyAgICAgICAgKiBydW50aW1lL0FyZ3VtZW50cy5oOgorICAgICAg
ICAqIHJ1bnRpbWUvSlNBcnJheS5jcHA6CisgICAgICAgIChKU0M6OkpTQXJyYXk6OmdldE93blBy
b3BlcnR5U2xvdFZpcnR1YWwpOgorICAgICAgICAoSlNDOjpKU0FycmF5OjpnZXRPd25Qcm9wZXJ0
eVNsb3RCeUluZGV4KToKKyAgICAgICAgKEpTQzo6SlNBcnJheTo6Z2V0T3duUHJvcGVydHlTbG90
KToKKyAgICAgICAgKiBydW50aW1lL0pTQXJyYXkuaDoKKyAgICAgICAgKiBydW50aW1lL0pTQnl0
ZUFycmF5LmNwcDoKKyAgICAgICAgKEpTQzo6SlNCeXRlQXJyYXk6OmdldE93blByb3BlcnR5U2xv
dFZpcnR1YWwpOgorICAgICAgICAoSlNDOjpKU0J5dGVBcnJheTo6Z2V0T3duUHJvcGVydHlTbG90
QnlJbmRleCk6CisgICAgICAgICogcnVudGltZS9KU0J5dGVBcnJheS5oOgorICAgICAgICAqIHJ1
bnRpbWUvSlNDZWxsLmNwcDoKKyAgICAgICAgKEpTQzo6SlNDZWxsOjpnZXRPd25Qcm9wZXJ0eVNs
b3RWaXJ0dWFsKToKKyAgICAgICAgKEpTQzo6SlNDZWxsOjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUlu
ZGV4KToKKyAgICAgICAgKiBydW50aW1lL0pTQ2VsbC5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNO
b3RBbk9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTTm90QW5PYmplY3Q6OmdldE93blByb3Bl
cnR5U2xvdFZpcnR1YWwpOgorICAgICAgICAoSlNDOjpKU05vdEFuT2JqZWN0OjpnZXRPd25Qcm9w
ZXJ0eVNsb3RCeUluZGV4KToKKyAgICAgICAgKiBydW50aW1lL0pTTm90QW5PYmplY3QuaDoKKyAg
ICAgICAgKiBydW50aW1lL0pTT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6Omdl
dE93blByb3BlcnR5U2xvdFZpcnR1YWwpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6Z2V0T3du
UHJvcGVydHlTbG90QnlJbmRleCk6CisgICAgICAgICogcnVudGltZS9KU09iamVjdC5oOgorICAg
ICAgICAqIHJ1bnRpbWUvSlNTdHJpbmcuY3BwOgorICAgICAgICAoSlNDOjpKU1N0cmluZzo6Z2V0
T3duUHJvcGVydHlTbG90VmlydHVhbCk6CisgICAgICAgIChKU0M6OkpTU3RyaW5nOjpnZXRPd25Q
cm9wZXJ0eVNsb3RCeUluZGV4KToKKyAgICAgICAgKiBydW50aW1lL0pTU3RyaW5nLmg6CisgICAg
ICAgICogcnVudGltZS9PYmplY3RQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpPYmplY3RQ
cm90b3R5cGU6OmdldE93blByb3BlcnR5U2xvdFZpcnR1YWwpOgorICAgICAgICAoSlNDOjpPYmpl
Y3RQcm90b3R5cGU6OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgpOgorICAgICAgICAqIHJ1bnRp
bWUvT2JqZWN0UHJvdG90eXBlLmg6CisgICAgICAgICogcnVudGltZS9SZWdFeHBNYXRjaGVzQXJy
YXkuaDoKKyAgICAgICAgKEpTQzo6UmVnRXhwTWF0Y2hlc0FycmF5OjpnZXRPd25Qcm9wZXJ0eVNs
b3RWaXJ0dWFsKToKKyAgICAgICAgKEpTQzo6UmVnRXhwTWF0Y2hlc0FycmF5OjpnZXRPd25Qcm9w
ZXJ0eVNsb3RCeUluZGV4KToKKyAgICAgICAgKiBydW50aW1lL1N0cmluZ09iamVjdC5jcHA6Cisg
ICAgICAgIChKU0M6OlN0cmluZ09iamVjdDo6Z2V0T3duUHJvcGVydHlTbG90VmlydHVhbCk6Cisg
ICAgICAgIChKU0M6OlN0cmluZ09iamVjdDo6Z2V0T3duUHJvcGVydHlTbG90QnlJbmRleCk6Cisg
ICAgICAgICogcnVudGltZS9TdHJpbmdPYmplY3QuaDoKKwogMjAxMS0xMC0xNyAgQWRhbSBSb2Jl
biAgPGFyb2JlbkBhcHBsZS5jb20+CiAKICAgICAgICAgV2luZG93cyBidWlsZCBmaXggYWZ0ZXIg
cjk3NTM2LCBwYXJ0IDMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmNWZhZmU0OTFkZGEyODY1NDg2OTAxZTJlZjRh
MTM2NTcyNDIyYWI0Li4yMmNmMzQ0YjhjZjU4NjYyYzE1ZDkxMGFhNGQyMzlmZjE3OGI4YjA3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTEtMTAtMTcgIE1hcmsgSGFobmVuYmVyZyAg
PG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KKworICAgICAgICBSZW5hbWUgc3RhdGljIGdldE93blBy
b3BlcnR5U2xvdCB0byBnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI3MQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4KKworICAgICAgICBS
ZW5hbWluZyB2ZXJzaW9ucyBvZiBnZXRPd25Qcm9wZXJ0eVNsb3QgdGhhdCB1c2UgYW4gdW5zaWdu
ZWQgYXMgdGhlIHByb3BlcnR5CisgICAgICAgIG5hbWUgdG8gImdldE93blByb3BlcnR5U2xvdEJ5
SW5kZXgiIGluIHByZXBhcmF0aW9uIGZvciBhZGRpbmcgdGhlbSB0byB0aGUgCisgICAgICAgIE1l
dGhvZFRhYmxlLCB3aGljaCByZXF1aXJlcyB1bmlxdWUgbmFtZXMgZm9yIGVhY2ggbWV0aG9kLgor
CisgICAgICAgICogYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNsb25lU2VyaWFsaXplcjo6Z2V0U3BhcnNlSW5kZXgpOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAoR2VuZXJhdGVI
ZWFkZXIpOgorICAgICAgICAoR2VuZXJhdGVJbXBsZW1lbnRhdGlvbik6CisgICAgICAgICogYnJp
ZGdlL3J1bnRpbWVfYXJyYXkuY3BwOgorICAgICAgICAoSlNDOjpSdW50aW1lQXJyYXk6OmdldE93
blByb3BlcnR5U2xvdFZpcnR1YWwpOgorICAgICAgICAoSlNDOjpSdW50aW1lQXJyYXk6OmdldE93
blByb3BlcnR5U2xvdEJ5SW5kZXgpOgorICAgICAgICAqIGJyaWRnZS9ydW50aW1lX2FycmF5Lmg6
CisKIDIwMTEtMTAtMTcgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgVG91Y2ggSW50ZXJuYWxzLmNwcCB0byBtYWtlIDY0LWJpdCBHVEsrIGJ1aWxkIGhhcHB5Lgpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKaW5kZXggZDg2NDZjZGIyZjVl
OTU1YTcwNWU3NzI5MjJlNzM1YmYxNGNlMTA2MC4uNzk4NDE4MTRjYzNhYTBlODRjM2IxZWNjMGZh
Njk5YmZjYjBhOTM4NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLmV4cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhw
CkBAIC0yNzksNyArMjc5LDcgQEAgX19aTjNKU0M3SlNBcnJheTEzdmlzaXRDaGlsZHJlbkVQTlNf
NkpTQ2VsbEVSTlNfMTFTbG90VmlzaXRvckUKIF9fWk4zSlNDN0pTQXJyYXkxNGZpbmlzaENyZWF0
aW9uRVJOU18xMkpTR2xvYmFsRGF0YUUKIF9fWk4zSlNDN0pTQXJyYXkxNGZpbmlzaENyZWF0aW9u
RVJOU18xMkpTR2xvYmFsRGF0YUVSS05TXzdBcmdMaXN0RQogX19aTjNKU0M3SlNBcnJheTE1c2V0
U3ViY2xhc3NEYXRhRVB2Ci1fX1pOM0pTQzdKU0FycmF5MThnZXRPd25Qcm9wZXJ0eVNsb3RFUE5T
XzZKU0NlbGxFUE5TXzlFeGVjU3RhdGVFalJOU18xMlByb3BlcnR5U2xvdEUKK19fWk4zSlNDN0pT
QXJyYXkyNWdldE93blByb3BlcnR5U2xvdEJ5SW5kZXhFUE5TXzZKU0NlbGxFUE5TXzlFeGVjU3Rh
dGVFalJOU18xMlByb3BlcnR5U2xvdEUKIF9fWk4zSlNDN0pTQXJyYXk2c19pbmZvRQogX19aTjNK
U0M3SlNBcnJheTlzZXRMZW5ndGhFagogX19aTjNKU0M3SlNBcnJheUMxRVJOU18xMkpTR2xvYmFs
RGF0YUVQTlNfOVN0cnVjdHVyZUUKQEAgLTMyMiw3ICszMjIsNiBAQCBfX1pOM0pTQzhKU09iamVj
dDE3cHV0V2l0aEF0dHJpYnV0ZXNFUE5TXzEySlNHbG9iYWxEYXRhRWpOU183SlNWYWx1ZUVqCiBf
X1pOM0pTQzhKU09iamVjdDE3cHV0V2l0aEF0dHJpYnV0ZXNFUE5TXzlFeGVjU3RhdGVFUktOU18x
MElkZW50aWZpZXJFTlNfN0pTVmFsdWVFagogX19aTjNKU0M4SlNPYmplY3QxN3B1dFdpdGhBdHRy
aWJ1dGVzRVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRU5TXzdKU1ZhbHVlRWpiUk5T
XzE1UHV0UHJvcGVydHlTbG90RQogX19aTjNKU0M4SlNPYmplY3QxN3B1dFdpdGhBdHRyaWJ1dGVz
RVBOU185RXhlY1N0YXRlRWpOU183SlNWYWx1ZUVqCi1fX1pOM0pTQzhKU09iamVjdDE4Z2V0T3du
UHJvcGVydHlTbG90RVBOU182SlNDZWxsRVBOU185RXhlY1N0YXRlRWpSTlNfMTJQcm9wZXJ0eVNs
b3RFCiBfX1pOM0pTQzhKU09iamVjdDE5Z2V0T3duUHJvcGVydHlOYW1lc0VQTlNfOUV4ZWNTdGF0
ZUVSTlNfMTdQcm9wZXJ0eU5hbWVBcnJheUVOU18xNUVudW1lcmF0aW9uTW9kZUUKIF9fWk4zSlND
OEpTT2JqZWN0MjFkZWxldGVQcm9wZXJ0eVZpcnR1YWxFUE5TXzlFeGVjU3RhdGVFUktOU18xMElk
ZW50aWZpZXJFCiBfX1pOM0pTQzhKU09iamVjdDIxZGVsZXRlUHJvcGVydHlWaXJ0dWFsRVBOU185
RXhlY1N0YXRlRWoKQEAgLTMzMCw2ICszMjksNyBAQCBfX1pOM0pTQzhKU09iamVjdDIxZ2V0UHJv
cGVydHlEZXNjcmlwdG9yRVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRVJOU18xOAog
X19aTjNKU0M4SlNPYmplY3QyMmZpbGxHZXR0ZXJQcm9wZXJ0eVNsb3RFUk5TXzEyUHJvcGVydHlT
bG90RVBOU18xNldyaXRlQmFycmllckJhc2VJTlNfN1Vua25vd25FRUUKIF9fWk4zSlNDOEpTT2Jq
ZWN0MjNhbGxvY2F0ZVByb3BlcnR5U3RvcmFnZUVSTlNfMTJKU0dsb2JhbERhdGFFbW0KIF9fWk4z
SlNDOEpTT2JqZWN0MjRnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JFUE5TXzlFeGVjU3RhdGVFUktO
U18xMElkZW50aWZpZXJFUk5TXzE4UHJvcGVydHlEZXNjcmlwdG9yRQorX19aTjNKU0M4SlNPYmpl
Y3QyNWdldE93blByb3BlcnR5U2xvdEJ5SW5kZXhFUE5TXzZKU0NlbGxFUE5TXzlFeGVjU3RhdGVF
alJOU18xMlByb3BlcnR5U2xvdEUKIF9fWk4zSlNDOEpTT2JqZWN0MjVnZXRPd25Qcm9wZXJ0eVNs
b3RWaXJ0dWFsRVBOU185RXhlY1N0YXRlRWpSTlNfMTJQcm9wZXJ0eVNsb3RFCiBfX1pOM0pTQzhK
U09iamVjdDNwdXRFUE5TXzZKU0NlbGxFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJF
TlNfN0pTVmFsdWVFUk5TXzE1UHV0UHJvcGVydHlTbG90RQogX19aTjNKU0M4SlNPYmplY3Q2c19p
bmZvRQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRz
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5jcHAKaW5kZXgg
ZjgyNDBjMDY5NzAxN2Q4MDY3MzZiZDY4ZTRiYWIxMWYyNzJiY2QyOC4uMzY0ZDdjMDQ4Yjk3YWNj
ZDViZjY5MDQ5ZjY3ZWI5ODNhMzg1MGYzNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQXJndW1lbnRzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Bcmd1bWVudHMuY3BwCkBAIC0xNDcsMTAgKzE0NywxMCBAQCB2b2lkIEFyZ3VtZW50czo6
ZmlsbEFyZ0xpc3QoRXhlY1N0YXRlKiBleGVjLCBNYXJrZWRBcmd1bWVudEJ1ZmZlciYgYXJncykK
IAogYm9vbCBBcmd1bWVudHM6OmdldE93blByb3BlcnR5U2xvdFZpcnR1YWwoRXhlY1N0YXRlKiBl
eGVjLCB1bnNpZ25lZCBpLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCiB7Ci0gICAgcmV0dXJuIGdldE93
blByb3BlcnR5U2xvdCh0aGlzLCBleGVjLCBpLCBzbG90KTsKKyAgICByZXR1cm4gZ2V0T3duUHJv
cGVydHlTbG90QnlJbmRleCh0aGlzLCBleGVjLCBpLCBzbG90KTsKIH0KIAotYm9vbCBBcmd1bWVu
dHM6OmdldE93blByb3BlcnR5U2xvdChKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgdW5z
aWduZWQgaSwgUHJvcGVydHlTbG90JiBzbG90KQorYm9vbCBBcmd1bWVudHM6OmdldE93blByb3Bl
cnR5U2xvdEJ5SW5kZXgoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIGks
IFByb3BlcnR5U2xvdCYgc2xvdCkKIHsKICAgICBBcmd1bWVudHMqIHRoaXNPYmplY3QgPSBzdGF0
aWNfY2FzdDxBcmd1bWVudHMqPihjZWxsKTsKICAgICBpZiAoaSA8IHRoaXNPYmplY3QtPmQtPm51
bUFyZ3VtZW50cyAmJiAoIXRoaXNPYmplY3QtPmQtPmRlbGV0ZWRBcmd1bWVudHMgfHwgIXRoaXNP
YmplY3QtPmQtPmRlbGV0ZWRBcmd1bWVudHNbaV0pKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0FyZ3VtZW50cy5oCmluZGV4IGM1NzViNWM0Yjc3NWYwMzEzMTBiYjQ3MmM1NTJkMzk2
MTIxZjIwOGMuLjFjMTljOGJlMDk0MTY0MWE0MzdmZGVmNzFlMTA0Mzc0OGQ1MGE0YzMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5oCkBAIC0xMzgsNyArMTM4LDcg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eVNs
b3RWaXJ0dWFsKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgUHJv
cGVydHlTbG90Jik7CiAgICAgICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdChKU0Nl
bGwqLCBFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5
U2xvdCYpOwogICAgICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90VmlydHVhbChF
eGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYpOwotICAgICAg
ICBzdGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiwgRXhlY1N0YXRlKiwgdW5z
aWduZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsKKyAgICAgICAgc3RhdGljIGJvb2wg
Z2V0T3duUHJvcGVydHlTbG90QnlJbmRleChKU0NlbGwqLCBFeGVjU3RhdGUqLCB1bnNpZ25lZCBw
cm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYpOwogICAgICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBQcm9wZXJ0
eURlc2NyaXB0b3ImKTsKICAgICAgICAgdmlydHVhbCB2b2lkIGdldE93blByb3BlcnR5TmFtZXMo
RXhlY1N0YXRlKiwgUHJvcGVydHlOYW1lQXJyYXkmLCBFbnVtZXJhdGlvbk1vZGUgbW9kZSA9IEV4
Y2x1ZGVEb250RW51bVByb3BlcnRpZXMpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgcHV0VmlydHVh
bChFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUsIFB1
dFByb3BlcnR5U2xvdCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNBcnJheS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5LmNw
cAppbmRleCBhNzkyMDVjY2IwMDBkMTlmOWExYWZiNTYyZWI0YTI4MjQ3YmIyNzM4Li4zMzc4YzBi
NmNjYWVmNWMyYWE1NDQ3MmZjNjlhMTcxNmUyMWU2Y2E2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0FycmF5LmNwcApAQCAtMjQ3LDEwICsyNDcsMTAgQEAgSlNBcnJheTo6fkpT
QXJyYXkoKQogCiBib29sIEpTQXJyYXk6OmdldE93blByb3BlcnR5U2xvdFZpcnR1YWwoRXhlY1N0
YXRlKiBleGVjLCB1bnNpZ25lZCBpLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCiB7Ci0gICAgcmV0dXJu
IGdldE93blByb3BlcnR5U2xvdCh0aGlzLCBleGVjLCBpLCBzbG90KTsKKyAgICByZXR1cm4gZ2V0
T3duUHJvcGVydHlTbG90QnlJbmRleCh0aGlzLCBleGVjLCBpLCBzbG90KTsKIH0KIAotYm9vbCBK
U0FycmF5OjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMs
IHVuc2lnbmVkIGksIFByb3BlcnR5U2xvdCYgc2xvdCkKK2Jvb2wgSlNBcnJheTo6Z2V0T3duUHJv
cGVydHlTbG90QnlJbmRleChKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQg
aSwgUHJvcGVydHlTbG90JiBzbG90KQogewogICAgIEpTQXJyYXkqIHRoaXNPYmplY3QgPSBzdGF0
aWNfY2FzdDxKU0FycmF5Kj4oY2VsbCk7CiAgICAgQXJyYXlTdG9yYWdlKiBzdG9yYWdlID0gdGhp
c09iamVjdC0+bV9zdG9yYWdlOwpAQCAtMjk2LDcgKzI5Niw3IEBAIGJvb2wgSlNBcnJheTo6Z2V0
T3duUHJvcGVydHlTbG90KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVu
dGlmaWVyCiAgICAgYm9vbCBpc0FycmF5SW5kZXg7CiAgICAgdW5zaWduZWQgaSA9IHByb3BlcnR5
TmFtZS50b0FycmF5SW5kZXgoaXNBcnJheUluZGV4KTsKICAgICBpZiAoaXNBcnJheUluZGV4KQot
ICAgICAgICByZXR1cm4gSlNBcnJheTo6Z2V0T3duUHJvcGVydHlTbG90KHRoaXNPYmplY3QsIGV4
ZWMsIGksIHNsb3QpOworICAgICAgICByZXR1cm4gSlNBcnJheTo6Z2V0T3duUHJvcGVydHlTbG90
QnlJbmRleCh0aGlzT2JqZWN0LCBleGVjLCBpLCBzbG90KTsKIAogICAgIHJldHVybiBKU09iamVj
dDo6Z2V0T3duUHJvcGVydHlTbG90KHRoaXNPYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwgc2xv
dCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5LmgKaW5kZXggZTIyZjdi
Nzc5MGM3MmE1NWRlYjZjZTg3MjhhODVkMjZhYWIyOTY0NC4uNjA1ZDFhYjE0NTA1NDIzZjUwZWQ4
ZmMwY2RjNWMyMWI1OGVmMzFiYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNBcnJheS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJy
YXkuaApAQCAtOTcsNyArOTcsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdmlydHVhbCBi
b29sIGdldE93blByb3BlcnR5U2xvdFZpcnR1YWwoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmll
ciYgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsKICAgICAgICAgc3RhdGljIGJvb2wgZ2V0
T3duUHJvcGVydHlTbG90KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHBy
b3BlcnR5TmFtZSwgUHJvcGVydHlTbG90Jik7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Q
cm9wZXJ0eVNsb3RWaXJ0dWFsKEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJv
cGVydHlTbG90Jik7Ci0gICAgICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdChKU0Nl
bGwqLCBFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYpOwor
ICAgICAgICBzdGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KEpTQ2VsbCosIEV4
ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90Jik7CiAgICAgICAg
IHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRXhlY1N0YXRlKiwgY29uc3Qg
SWRlbnRpZmllciYsIFByb3BlcnR5RGVzY3JpcHRvciYpOwogICAgICAgICB2aXJ0dWFsIHZvaWQg
cHV0VmlydHVhbChFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUpOyAv
LyBGSVhNRTogTWFrZSBwcm90ZWN0ZWQgYW5kIGFkZCBzZXRJdGVtLgogICAgICAgICBzdGF0aWMg
dm9pZCBwdXQoSlNDZWxsKiwgRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBKU1Zh
bHVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQnl0ZUFy
cmF5LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQnl0ZUFycmF5LmNwcApp
bmRleCA5NDBlOGUzOTI0MDlmMTBmZWJlYzYzYjViZDk3ODg3MjUyYmNjMjllLi4yYjAxYzA4M2Ux
ZGIwZTM1YzlmNjI5MmNlYmY3ZjczZDcxNmVlZTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0J5dGVBcnJheS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNCeXRlQXJyYXkuY3BwCkBAIC04NCwxMCArODQsMTAgQEAgYm9vbCBKU0J5
dGVBcnJheTo6Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEV4ZWNTdGF0ZSogZXhlYywgY29uc3Qg
SWRlbnRpZmllciYgcHIKIAogYm9vbCBKU0J5dGVBcnJheTo6Z2V0T3duUHJvcGVydHlTbG90Vmly
dHVhbChFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90
JiBzbG90KQogewotICAgIHJldHVybiBnZXRPd25Qcm9wZXJ0eVNsb3QodGhpcywgZXhlYywgcHJv
cGVydHlOYW1lLCBzbG90KTsKKyAgICByZXR1cm4gZ2V0T3duUHJvcGVydHlTbG90QnlJbmRleCh0
aGlzLCBleGVjLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOwogfQogCi1ib29sIEpTQnl0ZUFycmF5Ojpn
ZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVk
IHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQorYm9vbCBKU0J5dGVBcnJheTo6Z2V0
T3duUHJvcGVydHlTbG90QnlJbmRleChKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgdW5z
aWduZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCiB7CiAgICAgSlNCeXRlQXJy
YXkqIHRoaXNPYmplY3QgPSBzdGF0aWNfY2FzdDxKU0J5dGVBcnJheSo+KGNlbGwpOwogICAgIGlm
ICh0aGlzT2JqZWN0LT5jYW5BY2Nlc3NJbmRleChwcm9wZXJ0eU5hbWUpKSB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0J5dGVBcnJheS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCeXRlQXJyYXkuaAppbmRleCA2NjJjOWM3MDA4NmY4YmQ1
ZTVmYTQzMjk4OTFiMjczYzU1ZTIyYTZiLi44MDhlNTc5OWM3YjVmMWQ5YjA3Njk5NzExYWVlM2I5
OTg5NmYzNmJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0J5
dGVBcnJheS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQnl0ZUFycmF5
LmgKQEAgLTkxLDcgKzkxLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZpcnR1YWwgYm9v
bCBnZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0dWFsKEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgSlNDOjpJ
ZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTQzo6UHJvcGVydHlTbG90Jik7CiAgICAgICAgIHN0
YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdChKU0M6OkpTQ2VsbCosIEpTQzo6RXhlY1N0YXRl
KiwgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTQzo6UHJvcGVydHlTbG90
Jik7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0dWFsKEpTQzo6
RXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBKU0M6OlByb3BlcnR5U2xvdCYpOwot
ICAgICAgICBzdGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDOjpKU0NlbGwqLCBKU0M6
OkV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgSlNDOjpQcm9wZXJ0eVNsb3QmKTsK
KyAgICAgICAgc3RhdGljIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90QnlJbmRleChKU0M6OkpTQ2Vs
bCosIEpTQzo6RXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBKU0M6OlByb3BlcnR5
U2xvdCYpOwogICAgICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEV4
ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBQcm9wZXJ0eURlc2NyaXB0b3ImKTsKICAgICAg
ICAgdmlydHVhbCB2b2lkIHB1dFZpcnR1YWwoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBKU0M6Oklk
ZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNDOjpKU1ZhbHVlLCBKU0M6OlB1dFByb3BlcnR5U2xv
dCYpOwogICAgICAgICBzdGF0aWMgdm9pZCBwdXQoSlNDOjpKU0NlbGwqLCBKU0M6OkV4ZWNTdGF0
ZSosIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU0M6OkpTVmFsdWUsIEpT
Qzo6UHV0UHJvcGVydHlTbG90Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0NlbGwuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxs
LmNwcAppbmRleCAxOTdkZjQ0YzI2YzBmNmRmNWM4ZmYyMDE0Zjk2ZDlmYTY2N2Q4NDhhLi4xZWM3
MjBiODUzOTM4ZDgxOTViYTFhNDhiMWNlMjYzYmFkYjAyNmU5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAKQEAgLTg4LDEwICs4OCwxMCBAQCBib29sIEpTQ2VsbDo6
Z2V0T3duUHJvcGVydHlTbG90KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJ
ZGVudGlmaWVyJgogCiBib29sIEpTQ2VsbDo6Z2V0T3duUHJvcGVydHlTbG90VmlydHVhbChFeGVj
U3RhdGUqIGV4ZWMsIHVuc2lnbmVkIGlkZW50aWZpZXIsIFByb3BlcnR5U2xvdCYgc2xvdCkKIHsK
LSAgICByZXR1cm4gZ2V0T3duUHJvcGVydHlTbG90KHRoaXMsIGV4ZWMsIGlkZW50aWZpZXIsIHNs
b3QpOworICAgIHJldHVybiBnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KHRoaXMsIGV4ZWMsIGlk
ZW50aWZpZXIsIHNsb3QpOwogfQogCi1ib29sIEpTQ2VsbDo6Z2V0T3duUHJvcGVydHlTbG90KEpT
Q2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBpZGVudGlmaWVyLCBQcm9wZXJ0
eVNsb3QmIHNsb3QpCitib29sIEpTQ2VsbDo6Z2V0T3duUHJvcGVydHlTbG90QnlJbmRleChKU0Nl
bGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgaWRlbnRpZmllciwgUHJvcGVydHlT
bG90JiBzbG90KQogewogICAgIC8vIFRoaXMgaXMgbm90IGEgZ2VuZXJhbCBwdXJwb3NlIGltcGxl
bWVudGF0aW9uIG9mIGdldE93blByb3BlcnR5U2xvdC4KICAgICAvLyBJdCBzaG91bGQgb25seSBi
ZSBjYWxsZWQgYnkgSlNWYWx1ZTo6Z2V0LgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNDZWxsLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Nl
bGwuaAppbmRleCA0NGNiOWFiZjQ1ODg2YTgyYzEyOTQyYTdkZjRmNThhZmVkMzIzYjQ2Li4wNWVi
ZTMxOTI4YzFiODA5NzBjYTViZWQ5MTU3OWRhN2ZhMjIxNjFkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0NlbGwuaApAQCAtMTM4LDcgKzEzOCw3IEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90VmlydHVhbChFeGVjU3RhdGUq
LCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYpOwogICAgICAg
ICBzdGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiwgRXhlY1N0YXRlKiwgY29u
c3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsKICAgICAgICAgdmly
dHVhbCBib29sIGdldE93blByb3BlcnR5U2xvdFZpcnR1YWwoRXhlY1N0YXRlKiwgdW5zaWduZWQg
cHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsKLSAgICAgICAgc3RhdGljIGJvb2wgZ2V0T3du
UHJvcGVydHlTbG90KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwg
UHJvcGVydHlTbG90Jik7CisgICAgICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdEJ5
SW5kZXgoSlNDZWxsKiwgRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0
eVNsb3QmKTsKICAgICAgICAgCiAgICAgICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fc3Ry
dWN0dXJlOwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU05vdEFuT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTm90
QW5PYmplY3QuY3BwCmluZGV4IDIyYjljYWM3ZjZhYWU3YmU5ODU1YzA5YjRiOTA0ZjdlMmE0ZjIy
MDguLmJkOTY2NjNhMzYxMGExOTYwYWY5MDQyMTJkMWM2ODQ3YjI1ZWE4OTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTm90QW5PYmplY3QuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTm90QW5PYmplY3QuY3BwCkBAIC01OSwxMCAr
NTksMTAgQEAgYm9vbCBKU05vdEFuT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiwg
RXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWUKIAogYm9vbCBKU05vdEFuT2JqZWN0Ojpn
ZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgcHJvcGVy
dHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCiB7Ci0gICAgcmV0dXJuIGdldE93blByb3BlcnR5
U2xvdCh0aGlzLCBleGVjLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOworICAgIHJldHVybiBnZXRPd25Q
cm9wZXJ0eVNsb3RCeUluZGV4KHRoaXMsIGV4ZWMsIHByb3BlcnR5TmFtZSwgc2xvdCk7CiB9CiAK
LWJvb2wgSlNOb3RBbk9iamVjdDo6Z2V0T3duUHJvcGVydHlTbG90KEpTQ2VsbCosIEV4ZWNTdGF0
ZSogZXhlYywgdW5zaWduZWQsIFByb3BlcnR5U2xvdCYpCitib29sIEpTTm90QW5PYmplY3Q6Omdl
dE93blByb3BlcnR5U2xvdEJ5SW5kZXgoSlNDZWxsKiwgRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25l
ZCwgUHJvcGVydHlTbG90JikKIHsKICAgICBBU1NFUlRfVU5VU0VEKGV4ZWMsIGV4ZWMtPmhhZEV4
Y2VwdGlvbigpKTsKICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU05vdEFuT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU05vdEFuT2JqZWN0LmgKaW5kZXggM2QwNmVkYTAxZDRhNTcyNzU2MzQ3MzEzOGU3
MDMzMDBiMGM1NTk5My4uZTEzNmMyNGIwNGE4NDA4NTVjYmY2M2U5Y2UxMDBmMGJlZjVkM2M1NiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNOb3RBbk9iamVjdC5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTm90QW5PYmplY3QuaApAQCAt
NzEsNyArNzEsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdmlydHVhbCBib29sIGdldE93
blByb3BlcnR5U2xvdFZpcnR1YWwoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVy
dHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsKICAgICAgICAgc3RhdGljIGJvb2wgZ2V0T3duUHJvcGVy
dHlTbG90KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFt
ZSwgUHJvcGVydHlTbG90Jik7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eVNs
b3RWaXJ0dWFsKEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90
Jik7Ci0gICAgICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdChKU0NlbGwqLCBFeGVj
U3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYpOworICAgICAgICBz
dGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KEpTQ2VsbCosIEV4ZWNTdGF0ZSos
IHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90Jik7CiAgICAgICAgIHZpcnR1YWwg
Ym9vbCBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmll
ciYsIFByb3BlcnR5RGVzY3JpcHRvciYpOwogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBwdXRWaXJ0
dWFsKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSwg
UHV0UHJvcGVydHlTbG90Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU09iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVj
dC5jcHAKaW5kZXggYTU5NDU1MjZmZThjMTFiYWVjMzI1Yzg1MzFjMTcyNzMzYjhhYTA1Ni4uZTNi
ZGM5NDViMTVmOGMyMWM4NGM1Yzc3MGY3ZjJlMmQ0OTZlMmQ1MCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcApAQCAtOTUsMTAgKzk1LDEwIEBAIFVTdHJpbmcg
SlNPYmplY3Q6OmNsYXNzTmFtZSgpIGNvbnN0CiAKIGJvb2wgSlNPYmplY3Q6OmdldE93blByb3Bl
cnR5U2xvdFZpcnR1YWwoRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFBy
b3BlcnR5U2xvdCYgc2xvdCkKIHsKLSAgICByZXR1cm4gZ2V0T3duUHJvcGVydHlTbG90KHRoaXMs
IGV4ZWMsIHByb3BlcnR5TmFtZSwgc2xvdCk7CisgICAgcmV0dXJuIGdldE93blByb3BlcnR5U2xv
dEJ5SW5kZXgodGhpcywgZXhlYywgcHJvcGVydHlOYW1lLCBzbG90KTsKIH0KIAotYm9vbCBKU09i
amVjdDo6Z2V0T3duUHJvcGVydHlTbG90KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCB1
bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdCkKK2Jvb2wgSlNPYmplY3Q6
OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMs
IHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQogewogICAgIHJldHVy
biBzdGF0aWNfY2FzdDxKU09iamVjdCo+KGNlbGwpLT5nZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0dWFs
KGV4ZWMsIElkZW50aWZpZXI6OmZyb20oZXhlYywgcHJvcGVydHlOYW1lKSwgc2xvdCk7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAppbmRleCA0Y2RjOTc5YzQwZTcy
NTZkMDI2OTVmYjI3ODg5YzIxYzYyMTgwODk3Li5lMzk5NGJkZGJmYjI5YzM3MDc2MzEzY2I4NzQ5
MmU2Yzc2MTU5N2QyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U09iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgK
QEAgLTEwNCw3ICsxMDQsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdmlydHVhbCBib29s
IGdldE93blByb3BlcnR5U2xvdFZpcnR1YWwoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYg
cHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsKICAgICAgICAgc3RhdGljIGJvb2wgZ2V0T3du
UHJvcGVydHlTbG90KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3Bl
cnR5TmFtZSwgUHJvcGVydHlTbG90Jik7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9w
ZXJ0eVNsb3RWaXJ0dWFsKEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVy
dHlTbG90Jik7Ci0gICAgICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdChKU0NlbGwq
LCBFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYpOworICAg
ICAgICBzdGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KEpTQ2VsbCosIEV4ZWNT
dGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90Jik7CiAgICAgICAgIHZp
cnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRXhlY1N0YXRlKiwgY29uc3QgSWRl
bnRpZmllciYsIFByb3BlcnR5RGVzY3JpcHRvciYpOwogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBw
dXRWaXJ0dWFsKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNW
YWx1ZSwgUHV0UHJvcGVydHlTbG90Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU1N0cmluZy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U1N0cmluZy5jcHAKaW5kZXggMjc4NzYzN2FhMmQxZTllNjU0MjNmYTliZjMzOTlmYTQwNzI1MTA1
Ni4uYTliYjIyNTVlOTYwYTg2ZTNmMWZmNmQxNWU4ODg1NmRlZDZkZTQwNyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdHJpbmcuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU3RyaW5nLmNwcApAQCAtMzY5LDEwICszNjksMTAgQEAg
Ym9vbCBKU1N0cmluZzo6Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEV4ZWNTdGF0ZSogZXhlYywg
Y29uc3QgSWRlbnRpZmllciYgcHJvcGUKIAogYm9vbCBKU1N0cmluZzo6Z2V0T3duUHJvcGVydHlT
bG90VmlydHVhbChFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVy
dHlTbG90JiBzbG90KQogewotICAgIHJldHVybiBnZXRPd25Qcm9wZXJ0eVNsb3QodGhpcywgZXhl
YywgcHJvcGVydHlOYW1lLCBzbG90KTsKKyAgICByZXR1cm4gZ2V0T3duUHJvcGVydHlTbG90QnlJ
bmRleCh0aGlzLCBleGVjLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOwogfQogCi1ib29sIEpTU3RyaW5n
OjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIHVuc2ln
bmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQorYm9vbCBKU1N0cmluZzo6Z2V0
T3duUHJvcGVydHlTbG90QnlJbmRleChKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgdW5z
aWduZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCiB7CiAgICAgSlNTdHJpbmcq
IHRoaXNPYmplY3QgPSBzdGF0aWNfY2FzdDxKU1N0cmluZyo+KGNlbGwpOwogICAgIC8vIFRoZSBz
ZW1hbnRpY3MgaGVyZSBhcmUgcmVhbGx5IGdldFByb3BlcnR5U2xvdCwgbm90IGdldE93blByb3Bl
cnR5U2xvdC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU3Ry
aW5nLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1N0cmluZy5oCmluZGV4IDQ2
OTY1MmIwMThjNTIwZjIzMzY5OTMwZjE2NTA2YzhlZDcyYTk5MDkuLmExZDllZTdiYWI2ZDkzNTI0
Y2VkNjUyY2RjODE3YTUxZDdkMDk5MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTU3RyaW5nLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNTdHJpbmcuaApAQCAtNTA5LDcgKzUwOSw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2
aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90VmlydHVhbChFeGVjU3RhdGUqLCBjb25zdCBJ
ZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYpOwogICAgICAgICBzdGF0aWMg
Ym9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiwgRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRp
ZmllciYgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsKICAgICAgICAgdmlydHVhbCBib29s
IGdldE93blByb3BlcnR5U2xvdFZpcnR1YWwoRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlO
YW1lLCBQcm9wZXJ0eVNsb3QmKTsKLSAgICAgICAgc3RhdGljIGJvb2wgZ2V0T3duUHJvcGVydHlT
bG90KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlT
bG90Jik7CisgICAgICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgoSlND
ZWxsKiwgRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsK
ICAgICAgICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5RGVzY3JpcHRvcihFeGVjU3RhdGUq
LCBjb25zdCBJZGVudGlmaWVyJiwgUHJvcGVydHlEZXNjcmlwdG9yJik7CiAKICAgICAgICAgc3Rh
dGljIGNvbnN0IHVuc2lnbmVkIHNfbWF4SW50ZXJuYWxSb3BlTGVuZ3RoID0gMzsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdFByb3RvdHlwZS5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RQcm90b3R5cGUuY3BwCmluZGV4IDU1
NDJjMDYwNWRkOWEwYTA4OTJkNTUxMDk2ZTQ1ZjQwMzc4NjVlMTAuLjk4ZTFkMTc4ZDRmNDZiNDBk
NTdiNmIxMWFlMGY0ZGZiZTdjODlhOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL09iamVjdFByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmNwcApAQCAtOTQsMTUgKzk0LDE1IEBAIHZvaWQgT2Jq
ZWN0UHJvdG90eXBlOjpwdXQoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElk
ZW50aWZpZXImIHByb3BlCiAKIGJvb2wgT2JqZWN0UHJvdG90eXBlOjpnZXRPd25Qcm9wZXJ0eVNs
b3RWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0
eVNsb3QmIHNsb3QpCiB7Ci0gICAgcmV0dXJuIGdldE93blByb3BlcnR5U2xvdCh0aGlzLCBleGVj
LCBwcm9wZXJ0eU5hbWUsIHNsb3QpOworICAgIHJldHVybiBnZXRPd25Qcm9wZXJ0eVNsb3RCeUlu
ZGV4KHRoaXMsIGV4ZWMsIHByb3BlcnR5TmFtZSwgc2xvdCk7CiB9CiAKLWJvb2wgT2JqZWN0UHJv
dG90eXBlOjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMs
IHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQorYm9vbCBPYmplY3RQ
cm90b3R5cGU6OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgoSlNDZWxsKiBjZWxsLCBFeGVjU3Rh
dGUqIGV4ZWMsIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQogewog
ICAgIE9iamVjdFByb3RvdHlwZSogdGhpc09iamVjdCA9IHN0YXRpY19jYXN0PE9iamVjdFByb3Rv
dHlwZSo+KGNlbGwpOwogICAgIGlmICh0aGlzT2JqZWN0LT5tX2hhc05vUHJvcGVydGllc1dpdGhV
SW50MzJOYW1lcykKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHJldHVybiBKU05vbkZpbmFs
T2JqZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3QodGhpc09iamVjdCwgZXhlYywgcHJvcGVydHlOYW1l
LCBzbG90KTsKKyAgICByZXR1cm4gSlNOb25GaW5hbE9iamVjdDo6Z2V0T3duUHJvcGVydHlTbG90
QnlJbmRleCh0aGlzT2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOwogfQogCiBib29s
IE9iamVjdFByb3RvdHlwZTo6Z2V0T3duUHJvcGVydHlTbG90VmlydHVhbChFeGVjU3RhdGUqIGV4
ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0UHJvdG90eXBl
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RQcm90b3R5cGUuaAppbmRl
eCAwNDEyOTU3YWJjNzBmMzNmZmUxM2E5MWM5ZjNhNWEyYjQ1NzlkODg3Li5jODU5ZDU3ZjMzMWVi
NDU2MmExZTM2ZjM3OTQ3NDA4NDJkZDQxNTFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9PYmplY3RQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9PYmplY3RQcm90b3R5cGUuaApAQCAtNTYsNyArNTYsNyBAQCBuYW1lc3BhY2Ug
SlNDIHsKICAgICAgICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5U2xvdFZpcnR1YWwoRXhl
Y1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYsIFByb3BlcnR5U2xvdCYpOwogICAgICAgICBzdGF0
aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiwgRXhlY1N0YXRlKiwgY29uc3QgSWRl
bnRpZmllciYsIFByb3BlcnR5U2xvdCYpOwogICAgICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJv
cGVydHlTbG90VmlydHVhbChFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFByb3Bl
cnR5U2xvdCYpOwotICAgICAgICBzdGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxs
KiwgRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsKKyAg
ICAgICAgc3RhdGljIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90QnlJbmRleChKU0NlbGwqLCBFeGVj
U3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYpOwogICAgICAgICB2
aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEV4ZWNTdGF0ZSosIGNvbnN0IElk
ZW50aWZpZXImLCBQcm9wZXJ0eURlc2NyaXB0b3ImKTsKIAogICAgICAgICBib29sIG1faGFzTm9Q
cm9wZXJ0aWVzV2l0aFVJbnQzMk5hbWVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUmVnRXhwTWF0Y2hlc0FycmF5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9SZWdFeHBNYXRjaGVzQXJyYXkuaAppbmRleCBiNzg1ZDlhNjUxNzMxMThmOTczOTQz
Y2RjNzhjNjQxODliNDBjMWY3Li4wNjFhZTQ4ZjRjYWQxNjAzOGMxNzYxN2UwNTU0NjUwMzc3NTZm
M2MyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBNYXRj
aGVzQXJyYXkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBNYXRj
aGVzQXJyYXkuaApAQCAtNTgsMTUgKzU4LDE1IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAg
IHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywg
dW5zaWduZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCiAgICAgICAgIHsKLSAg
ICAgICAgICAgIHJldHVybiBnZXRPd25Qcm9wZXJ0eVNsb3QodGhpcywgZXhlYywgcHJvcGVydHlO
YW1lLCBzbG90KTsKKyAgICAgICAgICAgIHJldHVybiBnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4
KHRoaXMsIGV4ZWMsIHByb3BlcnR5TmFtZSwgc2xvdCk7CiAgICAgICAgIH0KIAotICAgICAgICBz
dGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4
ZWMsIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQorICAgICAgICBz
dGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KEpTQ2VsbCogY2VsbCwgRXhlY1N0
YXRlKiBleGVjLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdCkKICAg
ICAgICAgewogICAgICAgICAgICAgUmVnRXhwTWF0Y2hlc0FycmF5KiB0aGlzT2JqZWN0ID0gc3Rh
dGljX2Nhc3Q8UmVnRXhwTWF0Y2hlc0FycmF5Kj4oY2VsbCk7CiAgICAgICAgICAgICBpZiAodGhp
c09iamVjdC0+c3ViY2xhc3NEYXRhKCkpCiAgICAgICAgICAgICAgICAgdGhpc09iamVjdC0+Zmls
bEFycmF5SW5zdGFuY2UoZXhlYyk7Ci0gICAgICAgICAgICByZXR1cm4gSlNBcnJheTo6Z2V0T3du
UHJvcGVydHlTbG90KHRoaXNPYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwgc2xvdCk7CisgICAg
ICAgICAgICByZXR1cm4gSlNBcnJheTo6Z2V0T3duUHJvcGVydHlTbG90QnlJbmRleCh0aGlzT2Jq
ZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOwogICAgICAgICB9CiAKICAgICAgICAgdmly
dHVhbCBib29sIGdldE93blByb3BlcnR5RGVzY3JpcHRvcihFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0
IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgUHJvcGVydHlEZXNjcmlwdG9yJiBkZXNjcmlwdG9y
KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nT2JqZWN0
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdC5jcHAKaW5k
ZXggYjcyM2U5MzA1OGM5Y2YyNDQ1MTYzMjBlZTQyMDY3NTkzNTM4YTYwNi4uNjc1MDRjYTBmZjdm
NzZhZjk1ZTVmYTAwMGNhOTUyNGJlMjZjMzVhMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3RyaW5nT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TdHJpbmdPYmplY3QuY3BwCkBAIC01NiwxMCArNTYsMTAgQEAgYm9vbCBTdHJp
bmdPYmplY3Q6OmdldE93blByb3BlcnR5U2xvdChKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhl
YywgY29uc3QgSWRlbnQKICAgICAKIGJvb2wgU3RyaW5nT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eVNs
b3RWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0
eVNsb3QmIHNsb3QpCiB7Ci0gICAgcmV0dXJuIGdldE93blByb3BlcnR5U2xvdCh0aGlzLCBleGVj
LCBwcm9wZXJ0eU5hbWUsIHNsb3QpOworICAgIHJldHVybiBnZXRPd25Qcm9wZXJ0eVNsb3RCeUlu
ZGV4KHRoaXMsIGV4ZWMsIHByb3BlcnR5TmFtZSwgc2xvdCk7CiB9CiAKLWJvb2wgU3RyaW5nT2Jq
ZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIHVu
c2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQorYm9vbCBTdHJpbmdPYmpl
Y3Q6OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4
ZWMsIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQogewogICAgIFN0
cmluZ09iamVjdCogdGhpc09iamVjdCA9IHN0YXRpY19jYXN0PFN0cmluZ09iamVjdCo+KGNlbGwp
OwogICAgIGlmICh0aGlzT2JqZWN0LT5pbnRlcm5hbFZhbHVlKCktPmdldFN0cmluZ1Byb3BlcnR5
U2xvdChleGVjLCBwcm9wZXJ0eU5hbWUsIHNsb3QpKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TdHJpbmdPYmplY3QuaAppbmRleCBmNzEwZGVhM2E3YTZkMWZhMGI1MmZlOGZmNWJi
YTQ2NjcxMmU5N2I1Li4xYzE0OGNiOTQ4NjBhZGMxOWIxOTE0MTljZmU3MjRiY2JiNTZmZjBjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdPYmplY3QuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdPYmplY3QuaApAQCAtNDks
NyArNDksNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdmlydHVhbCBib29sIGdldE93blBy
b3BlcnR5U2xvdFZpcnR1YWwoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlO
YW1lLCBQcm9wZXJ0eVNsb3QmKTsKICAgICAgICAgc3RhdGljIGJvb2wgZ2V0T3duUHJvcGVydHlT
bG90KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwg
UHJvcGVydHlTbG90Jik7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3RW
aXJ0dWFsKEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90Jik7
Ci0gICAgICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdChKU0NlbGwqLCBFeGVjU3Rh
dGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYpOworICAgICAgICBzdGF0
aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIHVu
c2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90Jik7CiAgICAgICAgIHZpcnR1YWwgYm9v
bCBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYs
IFByb3BlcnR5RGVzY3JpcHRvciYpOwogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBwdXRWaXJ0dWFs
KEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSwgUHV0
UHJvcGVydHlTbG90Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9T
ZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2Vy
aWFsaXplZFNjcmlwdFZhbHVlLmNwcAppbmRleCA1Nzk0M2JlYWJkYmZkYjhjMjlkYWYwOTM2Njk5
NjVkMzdmNDRkODIzLi45NjJiZjVkOTA1MmE3MjVlMmZlMzZlYmJmZjVlN2M3ZThhYjU4M2QwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFs
dWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRW
YWx1ZS5jcHAKQEAgLTMzMyw3ICszMzMsNyBAQCBwcml2YXRlOgogICAgIHsKICAgICAgICAgUHJv
cGVydHlTbG90IHNsb3QoYXJyYXkpOwogICAgICAgICBpZiAoaXNKU0FycmF5KCZtX2V4ZWMtPmds
b2JhbERhdGEoKSwgYXJyYXkpKSB7Ci0gICAgICAgICAgICBpZiAoSlNBcnJheTo6Z2V0T3duUHJv
cGVydHlTbG90KGFycmF5LCBtX2V4ZWMsIHByb3BlcnR5TmFtZSwgc2xvdCkpIHsKKyAgICAgICAg
ICAgIGlmIChKU0FycmF5OjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KGFycmF5LCBtX2V4ZWMs
IHByb3BlcnR5TmFtZSwgc2xvdCkpIHsKICAgICAgICAgICAgICAgICBoYXNJbmRleCA9IHRydWU7
CiAgICAgICAgICAgICAgICAgcmV0dXJuIHNsb3QuZ2V0VmFsdWUobV9leGVjLCBwcm9wZXJ0eU5h
bWUpOwogICAgICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCBiOWRmM2QzYWIxMjFlNzhlNjIwMWVhMGFmNGI4
ODFjNWZiNWUzOGExLi5jNWQ2ZWJhZjUyNzc2ODQ1YTJjZjhlNjNkNTg0NTJjNWU4YTJmMWVhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JK
Uy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JK
Uy5wbQpAQCAtNzc0LDcgKzc3NCw3IEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogICAgICAgICBwdXNo
KEBoZWFkZXJDb250ZW50LCAiICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdChKU0M6
OkpTQ2VsbCosIEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBwcm9wZXJ0
eU5hbWUsIEpTQzo6UHJvcGVydHlTbG90Jik7XG4iKTsKICAgICAgICAgcHVzaChAaGVhZGVyQ29u
dGVudCwgIiAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEpTQzo6RXhl
Y1N0YXRlKiwgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTQzo6UHJvcGVy
dHlEZXNjcmlwdG9yJik7XG4iKTsKICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiAgICB2
aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90VmlydHVhbChKU0M6OkV4ZWNTdGF0ZSosIHVu
c2lnbmVkIHByb3BlcnR5TmFtZSwgSlNDOjpQcm9wZXJ0eVNsb3QmKTtcbiIpIGlmICgkZGF0YU5v
ZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJIYXNJbmRleEdldHRlciJ9IHx8ICRkYXRhTm9kZS0+
ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ikhhc0N1c3RvbUluZGV4R2V0dGVyIn0gfHwgJGRhdGFOb2Rl
LT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSGFzTnVtZXJpY0luZGV4R2V0dGVyIn0pICYmICEkZGF0
YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJIYXNPdmVycmlkaW5nTmFtZUdldHRlciJ9Owot
ICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgIHN0YXRpYyBib29sIGdldE93blByb3Bl
cnR5U2xvdChKU0M6OkpTQ2VsbCosIEpTQzo6RXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlO
YW1lLCBKU0M6OlByb3BlcnR5U2xvdCYpO1xuIikgaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRy
aWJ1dGVzLT57Ikhhc0luZGV4R2V0dGVyIn0gfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0
ZXMtPnsiSGFzQ3VzdG9tSW5kZXhHZXR0ZXIifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmli
dXRlcy0+eyJIYXNOdW1lcmljSW5kZXhHZXR0ZXIifSkgJiYgISRkYXRhTm9kZS0+ZXh0ZW5kZWRB
dHRyaWJ1dGVzLT57Ikhhc092ZXJyaWRpbmdOYW1lR2V0dGVyIn07CisgICAgICAgIHB1c2goQGhl
YWRlckNvbnRlbnQsICIgICAgc3RhdGljIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90QnlJbmRleChK
U0M6OkpTQ2VsbCosIEpTQzo6RXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBKU0M6
OlByb3BlcnR5U2xvdCYpO1xuIikgaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57
Ikhhc0luZGV4R2V0dGVyIn0gfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSGFz
Q3VzdG9tSW5kZXhHZXR0ZXIifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJI
YXNOdW1lcmljSW5kZXhHZXR0ZXIifSkgJiYgISRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57Ikhhc092ZXJyaWRpbmdOYW1lR2V0dGVyIn07CiAgICAgICAgIHB1c2goQGhlYWRlckNvbnRl
bnQsICIgICAgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3REZWxlZ2F0ZShKU0M6OkV4ZWNTdGF0ZSos
IGNvbnN0IEpTQzo6SWRlbnRpZmllciYsIEpTQzo6UHJvcGVydHlTbG90Jik7XG4iKSBpZiAkZGF0
YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJEZWxlZ2F0aW5nR2V0T3duUHJvcGVydHlTbG90
In07CiAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgYm9vbCBnZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3JEZWxlZ2F0ZShKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IEpTQzo6SWRlbnRpZmll
ciYsIEpTQzo6UHJvcGVydHlEZXNjcmlwdG9yJik7XG4iKSBpZiAkZGF0YU5vZGUtPmV4dGVuZGVk
QXR0cmlidXRlcy0+eyJEZWxlZ2F0aW5nR2V0T3duUHJvcGVydHlTbG90In07CiAgICAgICAgICRz
dHJ1Y3R1cmVGbGFnc3siSlNDOjpPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QifSA9IDE7CkBA
IC0xNjA0LDkgKzE2MDQsOSBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAgICAg
ICAgICAgICYmICEkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJIYXNPdmVycmlkaW5n
TmFtZUdldHRlciJ9KSB7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgImJvb2wgJHtj
bGFzc05hbWV9OjpnZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywgdW5z
aWduZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNsb3QpXG4iKTsKICAgICAgICAgICAg
IHB1c2goQGltcGxDb250ZW50LCAie1xuIik7Ci0gICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgIiAgICByZXR1cm4gZ2V0T3duUHJvcGVydHlTbG90KHRoaXMsIGV4ZWMsIHByb3BlcnR5TmFt
ZSwgc2xvdCk7XG4iKTsKKyAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIHJldHVy
biBnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KHRoaXMsIGV4ZWMsIHByb3BlcnR5TmFtZSwgc2xv
dCk7XG4iKTsKICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAifVxuXG4iKTsKLSAgICAg
ICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiYm9vbCAke2NsYXNzTmFtZX06OmdldE93blByb3Bl
cnR5U2xvdChKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgcHJvcGVydHlO
YW1lLCBQcm9wZXJ0eVNsb3QmIHNsb3QpXG4iKTsKKyAgICAgICAgICAgIHB1c2goQGltcGxDb250
ZW50LCAiYm9vbCAke2NsYXNzTmFtZX06OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgoSlNDZWxs
KiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlT
bG90JiBzbG90KVxuIik7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIpOwog
ICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgJHtjbGFzc05hbWV9KiB0aGlzT2Jq
ZWN0ID0gc3RhdGljX2Nhc3Q8JHtjbGFzc05hbWV9Kj4oY2VsbCk7XG4iKTsKICAgICAgICAgICAg
IHB1c2goQGltcGxDb250ZW50LCAiICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFModGhpc09i
amVjdCwgJnNfaW5mbyk7XG4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9y
dW50aW1lX2FycmF5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX2FycmF5LmNw
cAppbmRleCA2OTAwY2I3NzQ2NDEyNzAwYWZhNjBkMzEwYWQ1MDU0NjdlMGFlNjc3Li5hNTk2OTIx
OGJmZTk3ZDlkMWU3M2Q2YThiNTZiYTg3NzhlMzM0NDMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9icmlkZ2UvcnVudGltZV9hcnJheS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdl
L3J1bnRpbWVfYXJyYXkuY3BwCkBAIC0xMjgsMTAgKzEyOCwxMCBAQCBib29sIFJ1bnRpbWVBcnJh
eTo6Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRp
ZmllciYgcAogCiBib29sIFJ1bnRpbWVBcnJheTo6Z2V0T3duUHJvcGVydHlTbG90VmlydHVhbChF
eGVjU3RhdGUgKmV4ZWMsIHVuc2lnbmVkIGluZGV4LCBQcm9wZXJ0eVNsb3QmIHNsb3QpCiB7Ci0g
ICAgcmV0dXJuIGdldE93blByb3BlcnR5U2xvdCh0aGlzLCBleGVjLCBpbmRleCwgc2xvdCk7Cisg
ICAgcmV0dXJuIGdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgodGhpcywgZXhlYywgaW5kZXgsIHNs
b3QpOwogfQogCi1ib29sIFJ1bnRpbWVBcnJheTo6Z2V0T3duUHJvcGVydHlTbG90KEpTQ2VsbCog
Y2VsbCwgRXhlY1N0YXRlICpleGVjLCB1bnNpZ25lZCBpbmRleCwgUHJvcGVydHlTbG90JiBzbG90
KQorYm9vbCBSdW50aW1lQXJyYXk6OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgoSlNDZWxsKiBj
ZWxsLCBFeGVjU3RhdGUgKmV4ZWMsIHVuc2lnbmVkIGluZGV4LCBQcm9wZXJ0eVNsb3QmIHNsb3Qp
CiB7CiAgICAgUnVudGltZUFycmF5KiB0aGlzT2JqZWN0ID0gc3RhdGljX2Nhc3Q8UnVudGltZUFy
cmF5Kj4oY2VsbCk7CiAgICAgaWYgKGluZGV4IDwgdGhpc09iamVjdC0+Z2V0TGVuZ3RoKCkpIHsK
QEAgLTEzOSw3ICsxMzksNyBAQCBib29sIFJ1bnRpbWVBcnJheTo6Z2V0T3duUHJvcGVydHlTbG90
KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlICpleGVjLCB1bnNpZ25lZCBpbgogICAgICAgICByZXR1
cm4gdHJ1ZTsKICAgICB9CiAgICAgCi0gICAgcmV0dXJuIEpTT2JqZWN0OjpnZXRPd25Qcm9wZXJ0
eVNsb3QodGhpc09iamVjdCwgZXhlYywgaW5kZXgsIHNsb3QpOworICAgIHJldHVybiBKU09iamVj
dDo6Z2V0T3duUHJvcGVydHlTbG90QnlJbmRleCh0aGlzT2JqZWN0LCBleGVjLCBpbmRleCwgc2xv
dCk7CiB9CiAKIHZvaWQgUnVudGltZUFycmF5OjpwdXRWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywg
Y29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU1ZhbHVlIHZhbHVlLCBQdXRQcm9wZXJ0
eVNsb3QmIHNsb3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9h
cnJheS5oIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfYXJyYXkuaAppbmRleCA2ZjM1
M2ZhYjA1NmM5MWM5YjU1YzE3YTc5ZTg5N2QwYjQ0NjQ4OWNiLi5hMTE2ZTAwNzY2NGRmOWQ3YzFj
NDEwNDAyMWFlMzUzNzBmYjI3NjVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uv
cnVudGltZV9hcnJheS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX2FycmF5
LmgKQEAgLTUzLDcgKzUzLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9w
ZXJ0eVNsb3RWaXJ0dWFsKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBQcm9wZXJ0eVNs
b3QmKTsKICAgICBzdGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiwgRXhlY1N0
YXRlKiwgY29uc3QgSWRlbnRpZmllciYsIFByb3BlcnR5U2xvdCYpOwogICAgIHZpcnR1YWwgYm9v
bCBnZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0dWFsKEV4ZWNTdGF0ZSosIHVuc2lnbmVkLCBQcm9wZXJ0
eVNsb3QmKTsKLSAgICBzdGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiwgRXhl
Y1N0YXRlKiwgdW5zaWduZWQsIFByb3BlcnR5U2xvdCYpOworICAgIHN0YXRpYyBib29sIGdldE93
blByb3BlcnR5U2xvdEJ5SW5kZXgoSlNDZWxsKiwgRXhlY1N0YXRlKiwgdW5zaWduZWQsIFByb3Bl
cnR5U2xvdCYpOwogICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRXhl
Y1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYsIFByb3BlcnR5RGVzY3JpcHRvciYpOwogICAgIHZp
cnR1YWwgdm9pZCBwdXRWaXJ0dWFsKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3Bl
cnR5TmFtZSwgSlNWYWx1ZSwgUHV0UHJvcGVydHlTbG90Jik7CiAgICAgc3RhdGljIHZvaWQgcHV0
KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNW
YWx1ZSwgUHV0UHJvcGVydHlTbG90Jik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111474</attachid>
            <date>2011-10-18 11:27:29 -0700</date>
            <delta_ts>2011-10-20 13:45:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70271-20111018112728.patch</filename>
            <type>text/plain</type>
            <size>35302</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTc3NzAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDQ0
MTEzZjE2MzM2ZTVlYTM0ODFjZTI3YjlmNjExOTBmYzIzMWViOGUuLmRjMjdkOTkwYTFjZTU3NmQ5
MDczNTM4ZDZlZmU3ZGNjYzBmMjhmZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDU4IEBACisyMDExLTEwLTE4ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBs
ZS5jb20+CisKKyAgICAgICAgUmVuYW1lIHN0YXRpYyBnZXRPd25Qcm9wZXJ0eVNsb3QgdG8gZ2V0
T3duUHJvcGVydHlTbG90QnlJbmRleAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzAyNzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBSZW5hbWluZyB2ZXJzaW9ucyBvZiBnZXRPd25Qcm9wZXJ0eVNsb3QgdGhh
dCB1c2UgYW4gdW5zaWduZWQgYXMgdGhlIHByb3BlcnR5CisgICAgICAgIG5hbWUgdG8gImdldE93
blByb3BlcnR5U2xvdEJ5SW5kZXgiIGluIHByZXBhcmF0aW9uIGZvciBhZGRpbmcgdGhlbSB0byB0
aGUgCisgICAgICAgIE1ldGhvZFRhYmxlLCB3aGljaCByZXF1aXJlcyB1bmlxdWUgbmFtZXMgZm9y
IGVhY2ggbWV0aG9kLgorCisgICAgICAgICogSmF2YVNjcmlwdENvcmUuZXhwOgorICAgICAgICAq
IEphdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWY6
CisgICAgICAgICogcnVudGltZS9Bcmd1bWVudHMuY3BwOgorICAgICAgICAoSlNDOjpBcmd1bWVu
dHM6OmdldE93blByb3BlcnR5U2xvdFZpcnR1YWwpOgorICAgICAgICAoSlNDOjpBcmd1bWVudHM6
OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgpOgorICAgICAgICAqIHJ1bnRpbWUvQXJndW1lbnRz
Lmg6CisgICAgICAgICogcnVudGltZS9KU0FycmF5LmNwcDoKKyAgICAgICAgKEpTQzo6SlNBcnJh
eTo6Z2V0T3duUHJvcGVydHlTbG90VmlydHVhbCk6CisgICAgICAgIChKU0M6OkpTQXJyYXk6Omdl
dE93blByb3BlcnR5U2xvdEJ5SW5kZXgpOgorICAgICAgICAoSlNDOjpKU0FycmF5OjpnZXRPd25Q
cm9wZXJ0eVNsb3QpOgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJheS5oOgorICAgICAgICAqIHJ1
bnRpbWUvSlNCeXRlQXJyYXkuY3BwOgorICAgICAgICAoSlNDOjpKU0J5dGVBcnJheTo6Z2V0T3du
UHJvcGVydHlTbG90VmlydHVhbCk6CisgICAgICAgIChKU0M6OkpTQnl0ZUFycmF5OjpnZXRPd25Q
cm9wZXJ0eVNsb3RCeUluZGV4KToKKyAgICAgICAgKiBydW50aW1lL0pTQnl0ZUFycmF5Lmg6Cisg
ICAgICAgICogcnVudGltZS9KU0NlbGwuY3BwOgorICAgICAgICAoSlNDOjpKU0NlbGw6OmdldE93
blByb3BlcnR5U2xvdFZpcnR1YWwpOgorICAgICAgICAoSlNDOjpKU0NlbGw6OmdldE93blByb3Bl
cnR5U2xvdEJ5SW5kZXgpOgorICAgICAgICAqIHJ1bnRpbWUvSlNDZWxsLmg6CisgICAgICAgICog
cnVudGltZS9KU05vdEFuT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNOb3RBbk9iamVjdDo6
Z2V0T3duUHJvcGVydHlTbG90VmlydHVhbCk6CisgICAgICAgIChKU0M6OkpTTm90QW5PYmplY3Q6
OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgpOgorICAgICAgICAqIHJ1bnRpbWUvSlNOb3RBbk9i
amVjdC5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpK
U09iamVjdDo6Z2V0T3duUHJvcGVydHlTbG90VmlydHVhbCk6CisgICAgICAgIChKU0M6OkpTT2Jq
ZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KToKKyAgICAgICAgKiBydW50aW1lL0pTT2Jq
ZWN0Lmg6CisgICAgICAgICogcnVudGltZS9KU1N0cmluZy5jcHA6CisgICAgICAgIChKU0M6OkpT
U3RyaW5nOjpnZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0dWFsKToKKyAgICAgICAgKEpTQzo6SlNTdHJp
bmc6OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgpOgorICAgICAgICAqIHJ1bnRpbWUvSlNTdHJp
bmcuaDoKKyAgICAgICAgKiBydW50aW1lL09iamVjdFByb3RvdHlwZS5jcHA6CisgICAgICAgIChK
U0M6Ok9iamVjdFByb3RvdHlwZTo6Z2V0T3duUHJvcGVydHlTbG90VmlydHVhbCk6CisgICAgICAg
IChKU0M6Ok9iamVjdFByb3RvdHlwZTo6Z2V0T3duUHJvcGVydHlTbG90QnlJbmRleCk6CisgICAg
ICAgICogcnVudGltZS9PYmplY3RQcm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL1JlZ0V4
cE1hdGNoZXNBcnJheS5oOgorICAgICAgICAoSlNDOjpSZWdFeHBNYXRjaGVzQXJyYXk6OmdldE93
blByb3BlcnR5U2xvdFZpcnR1YWwpOgorICAgICAgICAoSlNDOjpSZWdFeHBNYXRjaGVzQXJyYXk6
OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgpOgorICAgICAgICAqIHJ1bnRpbWUvU3RyaW5nT2Jq
ZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6U3RyaW5nT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3RW
aXJ0dWFsKToKKyAgICAgICAgKEpTQzo6U3RyaW5nT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3RC
eUluZGV4KToKKyAgICAgICAgKiBydW50aW1lL1N0cmluZ09iamVjdC5oOgorICAgICAgICAqIHd0
Zi9QbGF0Zm9ybS5oOgorCiAyMDExLTEwLTE4ICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xv
dWdoQGFwcGxlLmNvbT4KIAogICAgICAgICBJbmRleGVkIGFyZ3VtZW50cyBvbiB0aGUgQXJndW1l
bnRzIG9iamVjdCBzaG91bGQgYmUgZW51bWVyYWJsZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmZjZkYzAzYzM0
ZDM0ZWFmMThiYWIxNTk2YzhkOGUzNjg1YjkzOTc1Li44NDIzNmRmNWMzMjc5ZGYwODczYzcyNmE1
M2QxMzAxNzI1MTE5NWNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTEtMTAtMTgg
IE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KKworICAgICAgICBSZW5h
bWUgc3RhdGljIGdldE93blByb3BlcnR5U2xvdCB0byBnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI3MQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0
ZXN0cy4KKworICAgICAgICBSZW5hbWluZyB2ZXJzaW9ucyBvZiBnZXRPd25Qcm9wZXJ0eVNsb3Qg
dGhhdCB1c2UgYW4gdW5zaWduZWQgYXMgdGhlIHByb3BlcnR5CisgICAgICAgIG5hbWUgdG8gImdl
dE93blByb3BlcnR5U2xvdEJ5SW5kZXgiIGluIHByZXBhcmF0aW9uIGZvciBhZGRpbmcgdGhlbSB0
byB0aGUgCisgICAgICAgIE1ldGhvZFRhYmxlLCB3aGljaCByZXF1aXJlcyB1bmlxdWUgbmFtZXMg
Zm9yIGVhY2ggbWV0aG9kLgorCisgICAgICAgICogYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlw
dFZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNsb25lU2VyaWFsaXplcjo6Z2V0U3BhcnNl
SW5kZXgpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgor
ICAgICAgICAoR2VuZXJhdGVIZWFkZXIpOgorICAgICAgICAoR2VuZXJhdGVJbXBsZW1lbnRhdGlv
bik6CisgICAgICAgICogYnJpZGdlL3J1bnRpbWVfYXJyYXkuY3BwOgorICAgICAgICAoSlNDOjpS
dW50aW1lQXJyYXk6OmdldE93blByb3BlcnR5U2xvdFZpcnR1YWwpOgorICAgICAgICAoSlNDOjpS
dW50aW1lQXJyYXk6OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgpOgorICAgICAgICAqIGJyaWRn
ZS9ydW50aW1lX2FycmF5Lmg6CisKIDIwMTEtMTAtMTggIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6
YWNoQGFwcGxlLmNvbT4KIAogICAgICAgICBBWDogYnV0dG9ucyBvZiBudW1iZXIgdHlwZSA8aW5w
dXQ+IGNvbnRyb2xzIGFyZSBub3QgZnVsbHkgYWNjZXNzaWJsZQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS5leHAKaW5kZXggNDQ1NzlhYzZjZTQ3YTlmOGIwZTM1Y2I4ZDNlNDkz
NDE2ODcxNjllZS4uMzlhYTg5YTQyM2UyNmQ4NTg2YWM0ZjFjZDk2YWQ2NTUxODIzNzNlNSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwCkBAIC0yODAsNyArMjgwLDcg
QEAgX19aTjNKU0M3SlNBcnJheTEzdmlzaXRDaGlsZHJlbkVQTlNfNkpTQ2VsbEVSTlNfMTFTbG90
VmlzaXRvckUKIF9fWk4zSlNDN0pTQXJyYXkxNGZpbmlzaENyZWF0aW9uRVJOU18xMkpTR2xvYmFs
RGF0YUUKIF9fWk4zSlNDN0pTQXJyYXkxNGZpbmlzaENyZWF0aW9uRVJOU18xMkpTR2xvYmFsRGF0
YUVSS05TXzdBcmdMaXN0RQogX19aTjNKU0M3SlNBcnJheTE1c2V0U3ViY2xhc3NEYXRhRVB2Ci1f
X1pOM0pTQzdKU0FycmF5MThnZXRPd25Qcm9wZXJ0eVNsb3RFUE5TXzZKU0NlbGxFUE5TXzlFeGVj
U3RhdGVFalJOU18xMlByb3BlcnR5U2xvdEUKK19fWk4zSlNDN0pTQXJyYXkyNWdldE93blByb3Bl
cnR5U2xvdEJ5SW5kZXhFUE5TXzZKU0NlbGxFUE5TXzlFeGVjU3RhdGVFalJOU18xMlByb3BlcnR5
U2xvdEUKIF9fWk4zSlNDN0pTQXJyYXk2c19pbmZvRQogX19aTjNKU0M3SlNBcnJheTlzZXRMZW5n
dGhFagogX19aTjNKU0M3SlNBcnJheUMxRVJOU18xMkpTR2xvYmFsRGF0YUVQTlNfOVN0cnVjdHVy
ZUUKQEAgLTMyMyw3ICszMjMsNiBAQCBfX1pOM0pTQzhKU09iamVjdDE3cHV0V2l0aEF0dHJpYnV0
ZXNFUE5TXzEySlNHbG9iYWxEYXRhRWpOU183SlNWYWx1ZUVqCiBfX1pOM0pTQzhKU09iamVjdDE3
cHV0V2l0aEF0dHJpYnV0ZXNFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJFTlNfN0pT
VmFsdWVFagogX19aTjNKU0M4SlNPYmplY3QxN3B1dFdpdGhBdHRyaWJ1dGVzRVBOU185RXhlY1N0
YXRlRVJLTlNfMTBJZGVudGlmaWVyRU5TXzdKU1ZhbHVlRWpiUk5TXzE1UHV0UHJvcGVydHlTbG90
RQogX19aTjNKU0M4SlNPYmplY3QxN3B1dFdpdGhBdHRyaWJ1dGVzRVBOU185RXhlY1N0YXRlRWpO
U183SlNWYWx1ZUVqCi1fX1pOM0pTQzhKU09iamVjdDE4Z2V0T3duUHJvcGVydHlTbG90RVBOU182
SlNDZWxsRVBOU185RXhlY1N0YXRlRWpSTlNfMTJQcm9wZXJ0eVNsb3RFCiBfX1pOM0pTQzhKU09i
amVjdDE5Z2V0T3duUHJvcGVydHlOYW1lc0VQTlNfOUV4ZWNTdGF0ZUVSTlNfMTdQcm9wZXJ0eU5h
bWVBcnJheUVOU18xNUVudW1lcmF0aW9uTW9kZUUKIF9fWk4zSlNDOEpTT2JqZWN0MjFkZWxldGVQ
cm9wZXJ0eVZpcnR1YWxFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJFCiBfX1pOM0pT
QzhKU09iamVjdDIxZGVsZXRlUHJvcGVydHlWaXJ0dWFsRVBOU185RXhlY1N0YXRlRWoKQEAgLTMz
MSw2ICszMzAsNyBAQCBfX1pOM0pTQzhKU09iamVjdDIxZ2V0UHJvcGVydHlEZXNjcmlwdG9yRVBO
U185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRVJOU18xOAogX19aTjNKU0M4SlNPYmplY3Qy
MmZpbGxHZXR0ZXJQcm9wZXJ0eVNsb3RFUk5TXzEyUHJvcGVydHlTbG90RVBOU18xNldyaXRlQmFy
cmllckJhc2VJTlNfN1Vua25vd25FRUUKIF9fWk4zSlNDOEpTT2JqZWN0MjNhbGxvY2F0ZVByb3Bl
cnR5U3RvcmFnZUVSTlNfMTJKU0dsb2JhbERhdGFFbW0KIF9fWk4zSlNDOEpTT2JqZWN0MjRnZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3JFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJFUk5T
XzE4UHJvcGVydHlEZXNjcmlwdG9yRQorX19aTjNKU0M4SlNPYmplY3QyNWdldE93blByb3BlcnR5
U2xvdEJ5SW5kZXhFUE5TXzZKU0NlbGxFUE5TXzlFeGVjU3RhdGVFalJOU18xMlByb3BlcnR5U2xv
dEUKIF9fWk4zSlNDOEpTT2JqZWN0MjVnZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0dWFsRVBOU185RXhl
Y1N0YXRlRWpSTlNfMTJQcm9wZXJ0eVNsb3RFCiBfX1pOM0pTQzhKU09iamVjdDNwdXRFUE5TXzZK
U0NlbGxFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJFTlNfN0pTVmFsdWVFUk5TXzE1
UHV0UHJvcGVydHlTbG90RQogX19aTjNKU0M4SlNPYmplY3Q2c19pbmZvRQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS5kZWYgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgppbmRleCAwMDQ4NWUz
YjM2N2Y2NDU1OGIwNjJkNjMxOTUxNTFkZTcxMWU3NzUzLi40NGJhNTI3MDBhNGY2NmI5MjNlNWRj
ZDI4NGNiNDViNjE1NmRjMWYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLmRlZgpAQCAtMjAxLDcgKzIwMSw2IEBAIEVYUE9SVFMKICAgICA/
Z2V0T3duUHJvcGVydHlOYW1lc0BKU09iamVjdEBKU0NAQFVBRVhQQVZFeGVjU3RhdGVAMkBBQVZQ
cm9wZXJ0eU5hbWVBcnJheUAyQFc0RW51bWVyYXRpb25Nb2RlQDJAQFoKICAgICA/Z2V0T3duUHJv
cGVydHlOYW1lc0BKU1ZhcmlhYmxlT2JqZWN0QEpTQ0BAVUFFWFBBVkV4ZWNTdGF0ZUAyQEFBVlBy
b3BlcnR5TmFtZUFycmF5QDJAVzRFbnVtZXJhdGlvbk1vZGVAMkBAWgogICAgID9nZXRPd25Qcm9w
ZXJ0eU5hbWVzQFN0cmluZ09iamVjdEBKU0NAQFVBRVhQQVZFeGVjU3RhdGVAMkBBQVZQcm9wZXJ0
eU5hbWVBcnJheUAyQFc0RW51bWVyYXRpb25Nb2RlQDJAQFoKLSAgICA/Z2V0T3duUHJvcGVydHlT
bG90QEpTQXJyYXlASlNDQEBTQV9OUEFWSlNDZWxsQDJAUEFWRXhlY1N0YXRlQDJASUFBVlByb3Bl
cnR5U2xvdEAyQEBaCiAgICAgP2dldE93blByb3BlcnR5U2xvdEBKU0dsb2JhbE9iamVjdEBKU0NA
QFNBX05QQVZKU0NlbGxAMkBQQVZFeGVjU3RhdGVAMkBBQlZJZGVudGlmaWVyQDJAQUFWUHJvcGVy
dHlTbG90QDJAQFoKICAgICA/Z2V0T3duUHJvcGVydHlTbG90VmlydHVhbEBKU0NlbGxASlNDQEBF
QUVfTlBBVkV4ZWNTdGF0ZUAyQEFCVklkZW50aWZpZXJAMkBBQVZQcm9wZXJ0eVNsb3RAMkBAWgog
ICAgID9nZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0dWFsQEpTQ2VsbEBKU0NAQEVBRV9OUEFWRXhlY1N0
YXRlQDJASUFBVlByb3BlcnR5U2xvdEAyQEBaCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9Bcmd1bWVudHMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQXJndW1lbnRzLmNwcAppbmRleCAyYjc2Y2NkNDYwNzQyMzYxZDMyMzAyNzdkMDVlZjQ4OGI0
NDFmNjU2Li44YjE1ZWI4MGIxNTUyOTc3NzY0ZWUwMTYxMjBlMDgyNjE4MzFiMTE0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5jcHAKQEAgLTE0NywxMCArMTQ3
LDEwIEBAIHZvaWQgQXJndW1lbnRzOjpmaWxsQXJnTGlzdChFeGVjU3RhdGUqIGV4ZWMsIE1hcmtl
ZEFyZ3VtZW50QnVmZmVyJiBhcmdzKQogCiBib29sIEFyZ3VtZW50czo6Z2V0T3duUHJvcGVydHlT
bG90VmlydHVhbChFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIGksIFByb3BlcnR5U2xvdCYgc2xv
dCkKIHsKLSAgICByZXR1cm4gZ2V0T3duUHJvcGVydHlTbG90KHRoaXMsIGV4ZWMsIGksIHNsb3Qp
OworICAgIHJldHVybiBnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KHRoaXMsIGV4ZWMsIGksIHNs
b3QpOwogfQogCi1ib29sIEFyZ3VtZW50czo6Z2V0T3duUHJvcGVydHlTbG90KEpTQ2VsbCogY2Vs
bCwgRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBpLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCitib29s
IEFyZ3VtZW50czo6Z2V0T3duUHJvcGVydHlTbG90QnlJbmRleChKU0NlbGwqIGNlbGwsIEV4ZWNT
dGF0ZSogZXhlYywgdW5zaWduZWQgaSwgUHJvcGVydHlTbG90JiBzbG90KQogewogICAgIEFyZ3Vt
ZW50cyogdGhpc09iamVjdCA9IHN0YXRpY19jYXN0PEFyZ3VtZW50cyo+KGNlbGwpOwogICAgIGlm
IChpIDwgdGhpc09iamVjdC0+ZC0+bnVtQXJndW1lbnRzICYmICghdGhpc09iamVjdC0+ZC0+ZGVs
ZXRlZEFyZ3VtZW50cyB8fCAhdGhpc09iamVjdC0+ZC0+ZGVsZXRlZEFyZ3VtZW50c1tpXSkpIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmgKaW5kZXggYzU3NWI1YzRi
Nzc1ZjAzMTMxMGJiNDcyYzU1MmQzOTYxMjFmMjA4Yy4uMWMxOWM4YmUwOTQxNjQxYTQzN2ZkZWY3
MWUxMDQzNzQ4ZDUwYTRjMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQXJndW1lbnRzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1l
bnRzLmgKQEAgLTEzOCw3ICsxMzgsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdmlydHVh
bCBib29sIGdldE93blByb3BlcnR5U2xvdFZpcnR1YWwoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRp
ZmllciYgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsKICAgICAgICAgc3RhdGljIGJvb2wg
Z2V0T3duUHJvcGVydHlTbG90KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXIm
IHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90Jik7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBnZXRP
d25Qcm9wZXJ0eVNsb3RWaXJ0dWFsKEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwg
UHJvcGVydHlTbG90Jik7Ci0gICAgICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdChK
U0NlbGwqLCBFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYp
OworICAgICAgICBzdGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KEpTQ2VsbCos
IEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90Jik7CiAgICAg
ICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRXhlY1N0YXRlKiwgY29u
c3QgSWRlbnRpZmllciYsIFByb3BlcnR5RGVzY3JpcHRvciYpOwogICAgICAgICB2aXJ0dWFsIHZv
aWQgZ2V0T3duUHJvcGVydHlOYW1lcyhFeGVjU3RhdGUqLCBQcm9wZXJ0eU5hbWVBcnJheSYsIEVu
dW1lcmF0aW9uTW9kZSBtb2RlID0gRXhjbHVkZURvbnRFbnVtUHJvcGVydGllcyk7CiAgICAgICAg
IHZpcnR1YWwgdm9pZCBwdXRWaXJ0dWFsKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHBy
b3BlcnR5TmFtZSwgSlNWYWx1ZSwgUHV0UHJvcGVydHlTbG90Jik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTQXJyYXkuY3BwCmluZGV4IDRkN2FmNzgyY2ZkM2Q1MDU5YzdmNDhhMTE3
MjFmNTIzMjc1ODljYTMuLjUxODEzZjRjNWEwM2Y3NzdhMzkxMTNmN2UyMzdkOWJiNjdmNGI1MDMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3BwCkBAIC0yNDcsMTAg
KzI0NywxMCBAQCBKU0FycmF5Ojp+SlNBcnJheSgpCiAKIGJvb2wgSlNBcnJheTo6Z2V0T3duUHJv
cGVydHlTbG90VmlydHVhbChFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIGksIFByb3BlcnR5U2xv
dCYgc2xvdCkKIHsKLSAgICByZXR1cm4gZ2V0T3duUHJvcGVydHlTbG90KHRoaXMsIGV4ZWMsIGks
IHNsb3QpOworICAgIHJldHVybiBnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KHRoaXMsIGV4ZWMs
IGksIHNsb3QpOwogfQogCi1ib29sIEpTQXJyYXk6OmdldE93blByb3BlcnR5U2xvdChKU0NlbGwq
IGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgaSwgUHJvcGVydHlTbG90JiBzbG90KQor
Ym9vbCBKU0FycmF5OjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KEpTQ2VsbCogY2VsbCwgRXhl
Y1N0YXRlKiBleGVjLCB1bnNpZ25lZCBpLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCiB7CiAgICAgSlNB
cnJheSogdGhpc09iamVjdCA9IHN0YXRpY19jYXN0PEpTQXJyYXkqPihjZWxsKTsKICAgICBBcnJh
eVN0b3JhZ2UqIHN0b3JhZ2UgPSB0aGlzT2JqZWN0LT5tX3N0b3JhZ2U7CkBAIC0yOTYsNyArMjk2
LDcgQEAgYm9vbCBKU0FycmF5OjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiBjZWxsLCBFeGVj
U3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXIKICAgICBib29sIGlzQXJyYXlJbmRleDsKICAg
ICB1bnNpZ25lZCBpID0gcHJvcGVydHlOYW1lLnRvQXJyYXlJbmRleChpc0FycmF5SW5kZXgpOwog
ICAgIGlmIChpc0FycmF5SW5kZXgpCi0gICAgICAgIHJldHVybiBKU0FycmF5OjpnZXRPd25Qcm9w
ZXJ0eVNsb3QodGhpc09iamVjdCwgZXhlYywgaSwgc2xvdCk7CisgICAgICAgIHJldHVybiBKU0Fy
cmF5OjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KHRoaXNPYmplY3QsIGV4ZWMsIGksIHNsb3Qp
OwogCiAgICAgcmV0dXJuIEpTT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3QodGhpc09iamVjdCwg
ZXhlYywgcHJvcGVydHlOYW1lLCBzbG90KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQXJyYXkuaAppbmRleCA1ZTdkNGIxNWU4ZmFiNWI4YmEzNTMwYWM2YzljYTI2MDMyNDRkNjhj
Li4xMDllNDFmNDhmOGFiNzU5NDhhYWU4NTljMTJjMWVlYzAzMGM5NTZmIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5LmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5oCkBAIC05Nyw3ICs5Nyw3IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90VmlydHVhbChFeGVj
U3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYpOwog
ICAgICAgICBzdGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiwgRXhlY1N0YXRl
KiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsKICAgICAg
ICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5U2xvdFZpcnR1YWwoRXhlY1N0YXRlKiwgdW5z
aWduZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsKLSAgICAgICAgc3RhdGljIGJvb2wg
Z2V0T3duUHJvcGVydHlTbG90KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5
TmFtZSwgUHJvcGVydHlTbG90Jik7CisgICAgICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5
U2xvdEJ5SW5kZXgoSlNDZWxsKiwgRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBQ
cm9wZXJ0eVNsb3QmKTsKICAgICAgICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiwgUHJvcGVydHlEZXNjcmlwdG9yJik7
CiAgICAgICAgIHZpcnR1YWwgdm9pZCBwdXRWaXJ0dWFsKEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHBy
b3BlcnR5TmFtZSwgSlNWYWx1ZSk7IC8vIEZJWE1FOiBNYWtlIHByb3RlY3RlZCBhbmQgYWRkIHNl
dEl0ZW0uCiAgICAgICAgIHN0YXRpYyB2b2lkIHB1dChKU0NlbGwqLCBFeGVjU3RhdGUqLCB1bnNp
Z25lZCBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNCeXRlQXJyYXkuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNCeXRlQXJyYXkuY3BwCmluZGV4IDk0MGU4ZTM5MjQwOWYxMGZlYmVjNjNiNWJkOTc4
ODcyNTJiY2MyOWUuLjJiMDFjMDgzZTFkYjBlMzVjOWY2MjkyY2ViZjdmNzNkNzE2ZWVlMTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQnl0ZUFycmF5LmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0J5dGVBcnJheS5jcHAKQEAgLTg0
LDEwICs4NCwxMCBAQCBib29sIEpTQnl0ZUFycmF5OjpnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
RXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcgogCiBib29sIEpTQnl0ZUFycmF5
OjpnZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgcHJv
cGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCiB7Ci0gICAgcmV0dXJuIGdldE93blByb3Bl
cnR5U2xvdCh0aGlzLCBleGVjLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOworICAgIHJldHVybiBnZXRP
d25Qcm9wZXJ0eVNsb3RCeUluZGV4KHRoaXMsIGV4ZWMsIHByb3BlcnR5TmFtZSwgc2xvdCk7CiB9
CiAKLWJvb2wgSlNCeXRlQXJyYXk6OmdldE93blByb3BlcnR5U2xvdChKU0NlbGwqIGNlbGwsIEV4
ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNsb3Qp
Citib29sIEpTQnl0ZUFycmF5OjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KEpTQ2VsbCogY2Vs
bCwgRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYg
c2xvdCkKIHsKICAgICBKU0J5dGVBcnJheSogdGhpc09iamVjdCA9IHN0YXRpY19jYXN0PEpTQnl0
ZUFycmF5Kj4oY2VsbCk7CiAgICAgaWYgKHRoaXNPYmplY3QtPmNhbkFjY2Vzc0luZGV4KHByb3Bl
cnR5TmFtZSkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
Qnl0ZUFycmF5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0J5dGVBcnJheS5o
CmluZGV4IDY2MmM5YzcwMDg2ZjhiZDVlNWZhNDMyOTg5MWIyNzNjNTVlMjJhNmIuLjgwOGU1Nzk5
YzdiNWYxZDliMDc2OTk3MTFhZWUzYjk5ODk2ZjM2YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQnl0ZUFycmF5LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNCeXRlQXJyYXkuaApAQCAtOTEsNyArOTEsNyBAQCBuYW1lc3BhY2UgSlND
IHsKICAgICAgICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5U2xvdFZpcnR1YWwoSlNDOjpF
eGVjU3RhdGUqLCBjb25zdCBKU0M6OklkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNDOjpQcm9w
ZXJ0eVNsb3QmKTsKICAgICAgICAgc3RhdGljIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90KEpTQzo6
SlNDZWxsKiwgSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBKU0M6OklkZW50aWZpZXImIHByb3BlcnR5
TmFtZSwgSlNDOjpQcm9wZXJ0eVNsb3QmKTsKICAgICAgICAgdmlydHVhbCBib29sIGdldE93blBy
b3BlcnR5U2xvdFZpcnR1YWwoSlNDOjpFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUs
IEpTQzo6UHJvcGVydHlTbG90Jik7Ci0gICAgICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5
U2xvdChKU0M6OkpTQ2VsbCosIEpTQzo6RXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1l
LCBKU0M6OlByb3BlcnR5U2xvdCYpOworICAgICAgICBzdGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0
eVNsb3RCeUluZGV4KEpTQzo6SlNDZWxsKiwgSlNDOjpFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9w
ZXJ0eU5hbWUsIEpTQzo6UHJvcGVydHlTbG90Jik7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBnZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYsIFByb3Bl
cnR5RGVzY3JpcHRvciYpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgcHV0VmlydHVhbChKU0M6OkV4
ZWNTdGF0ZSosIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU0M6OkpTVmFs
dWUsIEpTQzo6UHV0UHJvcGVydHlTbG90Jik7CiAgICAgICAgIHN0YXRpYyB2b2lkIHB1dChKU0M6
OkpTQ2VsbCosIEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBwcm9wZXJ0
eU5hbWUsIEpTQzo6SlNWYWx1ZSwgSlNDOjpQdXRQcm9wZXJ0eVNsb3QmKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0NlbGwuY3BwCmluZGV4IDE5N2RmNDRjMjZjMGY2ZGY1YzhmZjIw
MTRmOTZkOWZhNjY3ZDg0OGEuLjFlYzcyMGI4NTM5MzhkODE5NWJhMWE0OGIxY2UyNjNiYWRiMDI2
ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmNwcApAQCAtODgsMTAg
Kzg4LDEwIEBAIGJvb2wgSlNDZWxsOjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiBjZWxsLCBF
eGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImCiAKIGJvb2wgSlNDZWxsOjpnZXRPd25Q
cm9wZXJ0eVNsb3RWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgaWRlbnRpZmllciwg
UHJvcGVydHlTbG90JiBzbG90KQogewotICAgIHJldHVybiBnZXRPd25Qcm9wZXJ0eVNsb3QodGhp
cywgZXhlYywgaWRlbnRpZmllciwgc2xvdCk7CisgICAgcmV0dXJuIGdldE93blByb3BlcnR5U2xv
dEJ5SW5kZXgodGhpcywgZXhlYywgaWRlbnRpZmllciwgc2xvdCk7CiB9CiAKLWJvb2wgSlNDZWxs
OjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIHVuc2ln
bmVkIGlkZW50aWZpZXIsIFByb3BlcnR5U2xvdCYgc2xvdCkKK2Jvb2wgSlNDZWxsOjpnZXRPd25Q
cm9wZXJ0eVNsb3RCeUluZGV4KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25l
ZCBpZGVudGlmaWVyLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCiB7CiAgICAgLy8gVGhpcyBpcyBub3Qg
YSBnZW5lcmFsIHB1cnBvc2UgaW1wbGVtZW50YXRpb24gb2YgZ2V0T3duUHJvcGVydHlTbG90Lgog
ICAgIC8vIEl0IHNob3VsZCBvbmx5IGJlIGNhbGxlZCBieSBKU1ZhbHVlOjpnZXQuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCmluZGV4IDQ0Y2I5YWJmNDU4ODZhODJjMTI5NDJh
N2RmNGY1OGFmZWQzMjNiNDYuLjA1ZWJlMzE5MjhjMWI4MDk3MGNhNWJlZDkxNTc5ZGE3ZmEyMjE2
MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCkBAIC0xMzgsNyArMTM4
LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0
eVNsb3RWaXJ0dWFsKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwg
UHJvcGVydHlTbG90Jik7CiAgICAgICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdChK
U0NlbGwqLCBFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3Bl
cnR5U2xvdCYpOwogICAgICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90VmlydHVh
bChFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYpOwotICAg
ICAgICBzdGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiwgRXhlY1N0YXRlKiwg
dW5zaWduZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsKKyAgICAgICAgc3RhdGljIGJv
b2wgZ2V0T3duUHJvcGVydHlTbG90QnlJbmRleChKU0NlbGwqLCBFeGVjU3RhdGUqLCB1bnNpZ25l
ZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYpOwogICAgICAgICAKICAgICAgICAgV3JpdGVC
YXJyaWVyPFN0cnVjdHVyZT4gbV9zdHJ1Y3R1cmU7CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTm90QW5PYmplY3QuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNOb3RBbk9iamVjdC5jcHAKaW5kZXggMjJiOWNhYzdmNmFhZTdi
ZTk4NTVjMDliNGI5MDRmN2UyYTRmMjIwOC4uYmQ5NjY2M2EzNjEwYTE5NjBhZjkwNDIxMmQxYzY4
NDdiMjVlYTg5MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNO
b3RBbk9iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNOb3RB
bk9iamVjdC5jcHAKQEAgLTU5LDEwICs1OSwxMCBAQCBib29sIEpTTm90QW5PYmplY3Q6OmdldE93
blByb3BlcnR5U2xvdChKU0NlbGwqLCBFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZQog
CiBib29sIEpTTm90QW5PYmplY3Q6OmdldE93blByb3BlcnR5U2xvdFZpcnR1YWwoRXhlY1N0YXRl
KiBleGVjLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdCkKIHsKLSAg
ICByZXR1cm4gZ2V0T3duUHJvcGVydHlTbG90KHRoaXMsIGV4ZWMsIHByb3BlcnR5TmFtZSwgc2xv
dCk7CisgICAgcmV0dXJuIGdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgodGhpcywgZXhlYywgcHJv
cGVydHlOYW1lLCBzbG90KTsKIH0KIAotYm9vbCBKU05vdEFuT2JqZWN0OjpnZXRPd25Qcm9wZXJ0
eVNsb3QoSlNDZWxsKiwgRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCwgUHJvcGVydHlTbG90JikK
K2Jvb2wgSlNOb3RBbk9iamVjdDo6Z2V0T3duUHJvcGVydHlTbG90QnlJbmRleChKU0NlbGwqLCBF
eGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkLCBQcm9wZXJ0eVNsb3QmKQogewogICAgIEFTU0VSVF9V
TlVTRUQoZXhlYywgZXhlYy0+aGFkRXhjZXB0aW9uKCkpOwogICAgIHJldHVybiBmYWxzZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTm90QW5PYmplY3QuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTm90QW5PYmplY3QuaAppbmRleCAzZDA2
ZWRhMDFkNGE1NzI3NTYzNDczMTM4ZTcwMzMwMGIwYzU1OTkzLi5lMTM2YzI0YjA0YTg0MDg1NWNi
ZjYzZTljZTEwMGYwYmVmNWQzYzU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU05vdEFuT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNOb3RBbk9iamVjdC5oCkBAIC03MSw3ICs3MSw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAg
ICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90VmlydHVhbChFeGVjU3RhdGUqLCBj
b25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYpOwogICAgICAgICBz
dGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiwgRXhlY1N0YXRlKiwgY29uc3Qg
SWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsKICAgICAgICAgdmlydHVh
bCBib29sIGdldE93blByb3BlcnR5U2xvdFZpcnR1YWwoRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJv
cGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsKLSAgICAgICAgc3RhdGljIGJvb2wgZ2V0T3duUHJv
cGVydHlTbG90KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJv
cGVydHlTbG90Jik7CisgICAgICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdEJ5SW5k
ZXgoSlNDZWxsKiwgRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNs
b3QmKTsKICAgICAgICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5RGVzY3JpcHRvcihFeGVj
U3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiwgUHJvcGVydHlEZXNjcmlwdG9yJik7CiAKICAgICAg
ICAgdmlydHVhbCB2b2lkIHB1dFZpcnR1YWwoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYg
cHJvcGVydHlOYW1lLCBKU1ZhbHVlLCBQdXRQcm9wZXJ0eVNsb3QmKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAppbmRleCAyODZhNzZhNWE0NDFmODJlNWVjNGE4
ODUwMDlmOTcwMjAyMzk3OWUxLi5iZDI1Y2I0NTExZTFkYzgwZTJiOTU1MWQ4OWY3ODg0NGJiOWRm
MDlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCkBAIC0x
MDEsMTAgKzEwMSwxMCBAQCBVU3RyaW5nIEpTT2JqZWN0OjpjbGFzc05hbWUoKSBjb25zdAogCiBi
b29sIEpTT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywg
dW5zaWduZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCiB7Ci0gICAgcmV0dXJu
IGdldE93blByb3BlcnR5U2xvdCh0aGlzLCBleGVjLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOworICAg
IHJldHVybiBnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KHRoaXMsIGV4ZWMsIHByb3BlcnR5TmFt
ZSwgc2xvdCk7CiB9CiAKLWJvb2wgSlNPYmplY3Q6OmdldE93blByb3BlcnR5U2xvdChKU0NlbGwq
IGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNs
b3QmIHNsb3QpCitib29sIEpTT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KEpTQ2Vs
bCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5
U2xvdCYgc2xvdCkKIHsKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SlNPYmplY3QqPihjZWxsKS0+
Z2V0T3duUHJvcGVydHlTbG90VmlydHVhbChleGVjLCBJZGVudGlmaWVyOjpmcm9tKGV4ZWMsIHBy
b3BlcnR5TmFtZSksIHNsb3QpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2Jq
ZWN0LmgKaW5kZXggYjk1OGY5MjVmZDRjMmQwN2NmOTUwZjcxZGY0ZTExOTk2YTI4YmM5My4uY2Vl
NmVmZWJhNTdiYzk0ODkwYTJkNGFkMDEwNGNhNTYyZWVjOTNiMSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU09iamVjdC5oCkBAIC0xMDMsNyArMTAzLDcgQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0dWFsKEV4ZWNT
dGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90Jik7CiAg
ICAgICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdChKU0NlbGwqLCBFeGVjU3RhdGUq
LCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYpOwogICAgICAg
ICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90VmlydHVhbChFeGVjU3RhdGUqLCB1bnNp
Z25lZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYpOwotICAgICAgICBzdGF0aWMgYm9vbCBn
ZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiwgRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlO
YW1lLCBQcm9wZXJ0eVNsb3QmKTsKKyAgICAgICAgc3RhdGljIGJvb2wgZ2V0T3duUHJvcGVydHlT
bG90QnlJbmRleChKU0NlbGwqLCBFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFBy
b3BlcnR5U2xvdCYpOwogICAgICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBQcm9wZXJ0eURlc2NyaXB0b3ImKTsK
IAogICAgICAgICB2aXJ0dWFsIHZvaWQgcHV0VmlydHVhbChFeGVjU3RhdGUqLCBjb25zdCBJZGVu
dGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUsIFB1dFByb3BlcnR5U2xvdCYpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdHJpbmcuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdHJpbmcuY3BwCmluZGV4IDI3ODc2MzdhYTJkMWU5
ZTY1NDIzZmE5YmYzMzk5ZmE0MDcyNTEwNTYuLmE5YmIyMjU1ZTk2MGE4NmUzZjFmZjZkMTVlODg4
NTZkZWQ2ZGU0MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
U3RyaW5nLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1N0cmluZy5j
cHAKQEAgLTM2OSwxMCArMzY5LDEwIEBAIGJvb2wgSlNTdHJpbmc6OmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlCiAKIGJvb2wg
SlNTdHJpbmc6OmdldE93blByb3BlcnR5U2xvdFZpcnR1YWwoRXhlY1N0YXRlKiBleGVjLCB1bnNp
Z25lZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdCkKIHsKLSAgICByZXR1cm4gZ2V0
T3duUHJvcGVydHlTbG90KHRoaXMsIGV4ZWMsIHByb3BlcnR5TmFtZSwgc2xvdCk7CisgICAgcmV0
dXJuIGdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgodGhpcywgZXhlYywgcHJvcGVydHlOYW1lLCBz
bG90KTsKIH0KIAotYm9vbCBKU1N0cmluZzo6Z2V0T3duUHJvcGVydHlTbG90KEpTQ2VsbCogY2Vs
bCwgRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYg
c2xvdCkKK2Jvb2wgSlNTdHJpbmc6OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgoSlNDZWxsKiBj
ZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90
JiBzbG90KQogewogICAgIEpTU3RyaW5nKiB0aGlzT2JqZWN0ID0gc3RhdGljX2Nhc3Q8SlNTdHJp
bmcqPihjZWxsKTsKICAgICAvLyBUaGUgc2VtYW50aWNzIGhlcmUgYXJlIHJlYWxseSBnZXRQcm9w
ZXJ0eVNsb3QsIG5vdCBnZXRPd25Qcm9wZXJ0eVNsb3QuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU1N0cmluZy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNTdHJpbmcuaAppbmRleCA0Njk2NTJiMDE4YzUyMGYyMzM2OTkzMGYxNjUwNmM4ZWQ3
MmE5OTA5Li5hMWQ5ZWU3YmFiNmQ5MzUyNGNlZDY1MmNkYzgxN2E1MWQ3ZDA5OTJmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1N0cmluZy5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU3RyaW5nLmgKQEAgLTUwOSw3ICs1MDksNyBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAgICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5U2xvdFZp
cnR1YWwoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBQcm9wZXJ0
eVNsb3QmKTsKICAgICAgICAgc3RhdGljIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90KEpTQ2VsbCos
IEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90
Jik7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0dWFsKEV4ZWNT
dGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90Jik7Ci0gICAgICAgIHN0
YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdChKU0NlbGwqLCBFeGVjU3RhdGUqLCB1bnNpZ25l
ZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYpOworICAgICAgICBzdGF0aWMgYm9vbCBnZXRP
d25Qcm9wZXJ0eVNsb3RCeUluZGV4KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3Bl
cnR5TmFtZSwgUHJvcGVydHlTbG90Jik7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYsIFByb3BlcnR5RGVz
Y3JpcHRvciYpOwogCiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBzX21heEludGVybmFs
Um9wZUxlbmd0aCA9IDM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9PYmplY3RQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2Jq
ZWN0UHJvdG90eXBlLmNwcAppbmRleCA1NTQyYzA2MDVkZDlhMGEwODkyZDU1MTA5NmU0NWY0MDM3
ODY1ZTEwLi45OGUxZDE3OGQ0ZjQ2YjQwZDU3YjZiMTFhZTBmNGRmYmU3Yzg5YTllIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RQcm90b3R5cGUuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdFByb3RvdHlwZS5jcHAKQEAg
LTk0LDE1ICs5NCwxNSBAQCB2b2lkIE9iamVjdFByb3RvdHlwZTo6cHV0KEpTQ2VsbCogY2VsbCwg
RXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZQogCiBib29sIE9iamVjdFBy
b3RvdHlwZTo6Z2V0T3duUHJvcGVydHlTbG90VmlydHVhbChFeGVjU3RhdGUqIGV4ZWMsIHVuc2ln
bmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQogewotICAgIHJldHVybiBnZXRP
d25Qcm9wZXJ0eVNsb3QodGhpcywgZXhlYywgcHJvcGVydHlOYW1lLCBzbG90KTsKKyAgICByZXR1
cm4gZ2V0T3duUHJvcGVydHlTbG90QnlJbmRleCh0aGlzLCBleGVjLCBwcm9wZXJ0eU5hbWUsIHNs
b3QpOwogfQogCi1ib29sIE9iamVjdFByb3RvdHlwZTo6Z2V0T3duUHJvcGVydHlTbG90KEpTQ2Vs
bCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5
U2xvdCYgc2xvdCkKK2Jvb2wgT2JqZWN0UHJvdG90eXBlOjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUlu
ZGV4KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUs
IFByb3BlcnR5U2xvdCYgc2xvdCkKIHsKICAgICBPYmplY3RQcm90b3R5cGUqIHRoaXNPYmplY3Qg
PSBzdGF0aWNfY2FzdDxPYmplY3RQcm90b3R5cGUqPihjZWxsKTsKICAgICBpZiAodGhpc09iamVj
dC0+bV9oYXNOb1Byb3BlcnRpZXNXaXRoVUludDMyTmFtZXMpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICByZXR1cm4gSlNOb25GaW5hbE9iamVjdDo6Z2V0T3duUHJvcGVydHlTbG90KHRoaXNP
YmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwgc2xvdCk7CisgICAgcmV0dXJuIEpTTm9uRmluYWxP
YmplY3Q6OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgodGhpc09iamVjdCwgZXhlYywgcHJvcGVy
dHlOYW1lLCBzbG90KTsKIH0KIAogYm9vbCBPYmplY3RQcm90b3R5cGU6OmdldE93blByb3BlcnR5
U2xvdFZpcnR1YWwoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5h
bWUsIFByb3BlcnR5U2xvdCYgc2xvdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL09iamVjdFByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvT2JqZWN0UHJvdG90eXBlLmgKaW5kZXggMDQxMjk1N2FiYzcwZjMzZmZlMTNhOTFjOWYzYTVh
MmI0NTc5ZDg4Ny4uYzg1OWQ1N2YzMzFlYjQ1NjJhMWUzNmYzNzk0NzQwODQyZGQ0MTUxZCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmgKQEAg
LTU2LDcgKzU2LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBnZXRP
d25Qcm9wZXJ0eVNsb3RWaXJ0dWFsKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBQcm9w
ZXJ0eVNsb3QmKTsKICAgICAgICAgc3RhdGljIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90KEpTQ2Vs
bCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBQcm9wZXJ0eVNsb3QmKTsKICAgICAg
ICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5U2xvdFZpcnR1YWwoRXhlY1N0YXRlKiwgdW5z
aWduZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsKLSAgICAgICAgc3RhdGljIGJvb2wg
Z2V0T3duUHJvcGVydHlTbG90KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5
TmFtZSwgUHJvcGVydHlTbG90Jik7CisgICAgICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5
U2xvdEJ5SW5kZXgoSlNDZWxsKiwgRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBQ
cm9wZXJ0eVNsb3QmKTsKICAgICAgICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiwgUHJvcGVydHlEZXNjcmlwdG9yJik7
CiAKICAgICAgICAgYm9vbCBtX2hhc05vUHJvcGVydGllc1dpdGhVSW50MzJOYW1lczsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE1hdGNoZXNBcnJheS5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwTWF0Y2hlc0FycmF5LmgKaW5k
ZXggYjc4NWQ5YTY1MTczMTE4Zjk3Mzk0M2NkYzc4YzY0MTg5YjQwYzFmNy4uMDYxYWU0OGY0Y2Fk
MTYwMzhjMTc2MTdlMDU1NDY1MDM3NzU2ZjNjMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvUmVnRXhwTWF0Y2hlc0FycmF5LmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvUmVnRXhwTWF0Y2hlc0FycmF5LmgKQEAgLTU4LDE1ICs1OCwxNSBAQCBu
YW1lc3BhY2UgSlNDIHsKIAogICAgICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90
VmlydHVhbChFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlT
bG90JiBzbG90KQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gZ2V0T3duUHJvcGVydHlT
bG90KHRoaXMsIGV4ZWMsIHByb3BlcnR5TmFtZSwgc2xvdCk7CisgICAgICAgICAgICByZXR1cm4g
Z2V0T3duUHJvcGVydHlTbG90QnlJbmRleCh0aGlzLCBleGVjLCBwcm9wZXJ0eU5hbWUsIHNsb3Qp
OwogICAgICAgICB9CiAKLSAgICAgICAgc3RhdGljIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90KEpT
Q2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFByb3Bl
cnR5U2xvdCYgc2xvdCkKKyAgICAgICAgc3RhdGljIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90QnlJ
bmRleChKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgcHJvcGVydHlOYW1l
LCBQcm9wZXJ0eVNsb3QmIHNsb3QpCiAgICAgICAgIHsKICAgICAgICAgICAgIFJlZ0V4cE1hdGNo
ZXNBcnJheSogdGhpc09iamVjdCA9IHN0YXRpY19jYXN0PFJlZ0V4cE1hdGNoZXNBcnJheSo+KGNl
bGwpOwogICAgICAgICAgICAgaWYgKHRoaXNPYmplY3QtPnN1YmNsYXNzRGF0YSgpKQogICAgICAg
ICAgICAgICAgIHRoaXNPYmplY3QtPmZpbGxBcnJheUluc3RhbmNlKGV4ZWMpOwotICAgICAgICAg
ICAgcmV0dXJuIEpTQXJyYXk6OmdldE93blByb3BlcnR5U2xvdCh0aGlzT2JqZWN0LCBleGVjLCBw
cm9wZXJ0eU5hbWUsIHNsb3QpOworICAgICAgICAgICAgcmV0dXJuIEpTQXJyYXk6OmdldE93blBy
b3BlcnR5U2xvdEJ5SW5kZXgodGhpc09iamVjdCwgZXhlYywgcHJvcGVydHlOYW1lLCBzbG90KTsK
ICAgICAgICAgfQogCiAgICAgICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3Bl
cnR5RGVzY3JpcHRvciYgZGVzY3JpcHRvcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TdHJpbmdPYmplY3QuY3BwCmluZGV4IGI3MjNlOTMwNThjOWNmMjQ0NTE2MzIwZWU0MjA2
NzU5MzUzOGE2MDYuLjY3NTA0Y2EwZmY3Zjc2YWY5NWU1ZmEwMDBjYTk1MjRiZTI2YzM1YTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdC5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nT2JqZWN0LmNwcApAQCAt
NTYsMTAgKzU2LDEwIEBAIGJvb2wgU3RyaW5nT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlND
ZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50CiAgICAgCiBib29sIFN0cmlu
Z09iamVjdDo6Z2V0T3duUHJvcGVydHlTbG90VmlydHVhbChFeGVjU3RhdGUqIGV4ZWMsIHVuc2ln
bmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQogewotICAgIHJldHVybiBnZXRP
d25Qcm9wZXJ0eVNsb3QodGhpcywgZXhlYywgcHJvcGVydHlOYW1lLCBzbG90KTsKKyAgICByZXR1
cm4gZ2V0T3duUHJvcGVydHlTbG90QnlJbmRleCh0aGlzLCBleGVjLCBwcm9wZXJ0eU5hbWUsIHNs
b3QpOwogfQogCi1ib29sIFN0cmluZ09iamVjdDo6Z2V0T3duUHJvcGVydHlTbG90KEpTQ2VsbCog
Y2VsbCwgRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xv
dCYgc2xvdCkKK2Jvb2wgU3RyaW5nT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KEpT
Q2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFByb3Bl
cnR5U2xvdCYgc2xvdCkKIHsKICAgICBTdHJpbmdPYmplY3QqIHRoaXNPYmplY3QgPSBzdGF0aWNf
Y2FzdDxTdHJpbmdPYmplY3QqPihjZWxsKTsKICAgICBpZiAodGhpc09iamVjdC0+aW50ZXJuYWxW
YWx1ZSgpLT5nZXRTdHJpbmdQcm9wZXJ0eVNsb3QoZXhlYywgcHJvcGVydHlOYW1lLCBzbG90KSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdC5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nT2JqZWN0LmgKaW5kZXggZjcx
MGRlYTNhN2E2ZDFmYTBiNTJmZThmZjViYmE0NjY3MTJlOTdiNS4uMWMxNDhjYjk0ODYwYWRjMTli
MTkxNDE5Y2ZlNzI0YmNiYjU2ZmYwYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3RyaW5nT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvU3RyaW5nT2JqZWN0LmgKQEAgLTQ5LDcgKzQ5LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAg
ICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0dWFsKEV4ZWNTdGF0ZSosIGNv
bnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90Jik7CiAgICAgICAgIHN0
YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdChKU0NlbGwqLCBFeGVjU3RhdGUqLCBjb25zdCBJ
ZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYpOwogICAgICAgICB2aXJ0dWFs
IGJvb2wgZ2V0T3duUHJvcGVydHlTbG90VmlydHVhbChFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9w
ZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYpOwotICAgICAgICBzdGF0aWMgYm9vbCBnZXRPd25Qcm9w
ZXJ0eVNsb3QoSlNDZWxsKiwgRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBQcm9w
ZXJ0eVNsb3QmKTsKKyAgICAgICAgc3RhdGljIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90QnlJbmRl
eChKU0NlbGwqLCBFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xv
dCYpOwogICAgICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEV4ZWNT
dGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBQcm9wZXJ0eURlc2NyaXB0b3ImKTsKIAogICAgICAg
ICB2aXJ0dWFsIHZvaWQgcHV0VmlydHVhbChFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBw
cm9wZXJ0eU5hbWUsIEpTVmFsdWUsIFB1dFByb3BlcnR5U2xvdCYpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3d0Zi9QbGF0Zm9ybS5oCmluZGV4IGZjNzY3MjMwNTBkODdiYjI3MjhkNTVmOTkyMTZiMTYzZTVm
MzVjNDEuLmJkYzVhZjk0NGVhNjIzZTA4YWIyODE2ZTQ0YzBhYmZkZDE1NjJmYjQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKQEAgLTMxLDYgKzMxLDggQEAKIC8qIEluY2x1ZGUg
Y29tcGlsZXIgc3BlY2lmaWMgbWFjcm9zICovCiAjaW5jbHVkZSAiQ29tcGlsZXIuaCIKIAorI2Rl
ZmluZSBFTkFCTEVfSklUIDAKKwogLyogPT09PSBQTEFURk9STSBoYW5kbGVzIE9TLCBvcGVyYXRp
bmcgZW52aXJvbm1lbnQsIGdyYXBoaWNzIEFQSSwgYW5kCiAgICBDUFUuIFRoaXMgbWFjcm8gd2ls
bCBiZSBwaGFzZWQgb3V0IGluIGZhdm9yIG9mIHBsYXRmb3JtIGFkYXB0YXRpb24KICAgIG1hY3Jv
cywgcG9saWN5IGRlY2lzaW9uIG1hY3JvcywgYW5kIHRvcC1sZXZlbCBwb3J0IGRlZmluaXRpb25z
LiA9PT09ICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxp
emVkU2NyaXB0VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlLmNwcAppbmRleCA1Nzk0M2JlYWJkYmZkYjhjMjlkYWYwOTM2Njk5NjVkMzdm
NDRkODIzLi45NjJiZjVkOTA1MmE3MjVlMmZlMzZlYmJmZjVlN2M3ZThhYjU4M2QwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5j
cHAKQEAgLTMzMyw3ICszMzMsNyBAQCBwcml2YXRlOgogICAgIHsKICAgICAgICAgUHJvcGVydHlT
bG90IHNsb3QoYXJyYXkpOwogICAgICAgICBpZiAoaXNKU0FycmF5KCZtX2V4ZWMtPmdsb2JhbERh
dGEoKSwgYXJyYXkpKSB7Ci0gICAgICAgICAgICBpZiAoSlNBcnJheTo6Z2V0T3duUHJvcGVydHlT
bG90KGFycmF5LCBtX2V4ZWMsIHByb3BlcnR5TmFtZSwgc2xvdCkpIHsKKyAgICAgICAgICAgIGlm
IChKU0FycmF5OjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KGFycmF5LCBtX2V4ZWMsIHByb3Bl
cnR5TmFtZSwgc2xvdCkpIHsKICAgICAgICAgICAgICAgICBoYXNJbmRleCA9IHRydWU7CiAgICAg
ICAgICAgICAgICAgcmV0dXJuIHNsb3QuZ2V0VmFsdWUobV9leGVjLCBwcm9wZXJ0eU5hbWUpOwog
ICAgICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3JKUy5wbQppbmRleCBiOWRmM2QzYWIxMjFlNzhlNjIwMWVhMGFmNGI4ODFjNWZi
NWUzOGExLi5jNWQ2ZWJhZjUyNzc2ODQ1YTJjZjhlNjNkNTg0NTJjNWU4YTJmMWVhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpA
QCAtNzc0LDcgKzc3NCw3IEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogICAgICAgICBwdXNoKEBoZWFk
ZXJDb250ZW50LCAiICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdChKU0M6OkpTQ2Vs
bCosIEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUs
IEpTQzo6UHJvcGVydHlTbG90Jik7XG4iKTsKICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwg
IiAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEpTQzo6RXhlY1N0YXRl
KiwgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTQzo6UHJvcGVydHlEZXNj
cmlwdG9yJik7XG4iKTsKICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiAgICB2aXJ0dWFs
IGJvb2wgZ2V0T3duUHJvcGVydHlTbG90VmlydHVhbChKU0M6OkV4ZWNTdGF0ZSosIHVuc2lnbmVk
IHByb3BlcnR5TmFtZSwgSlNDOjpQcm9wZXJ0eVNsb3QmKTtcbiIpIGlmICgkZGF0YU5vZGUtPmV4
dGVuZGVkQXR0cmlidXRlcy0+eyJIYXNJbmRleEdldHRlciJ9IHx8ICRkYXRhTm9kZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57Ikhhc0N1c3RvbUluZGV4R2V0dGVyIn0gfHwgJGRhdGFOb2RlLT5leHRl
bmRlZEF0dHJpYnV0ZXMtPnsiSGFzTnVtZXJpY0luZGV4R2V0dGVyIn0pICYmICEkZGF0YU5vZGUt
PmV4dGVuZGVkQXR0cmlidXRlcy0+eyJIYXNPdmVycmlkaW5nTmFtZUdldHRlciJ9OwotICAgICAg
ICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xv
dChKU0M6OkpTQ2VsbCosIEpTQzo6RXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBK
U0M6OlByb3BlcnR5U2xvdCYpO1xuIikgaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57Ikhhc0luZGV4R2V0dGVyIn0gfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsi
SGFzQ3VzdG9tSW5kZXhHZXR0ZXIifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+
eyJIYXNOdW1lcmljSW5kZXhHZXR0ZXIifSkgJiYgISRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1
dGVzLT57Ikhhc092ZXJyaWRpbmdOYW1lR2V0dGVyIn07CisgICAgICAgIHB1c2goQGhlYWRlckNv
bnRlbnQsICIgICAgc3RhdGljIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90QnlJbmRleChKU0M6OkpT
Q2VsbCosIEpTQzo6RXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBKU0M6OlByb3Bl
cnR5U2xvdCYpO1xuIikgaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ikhhc0lu
ZGV4R2V0dGVyIn0gfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSGFzQ3VzdG9t
SW5kZXhHZXR0ZXIifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJIYXNOdW1l
cmljSW5kZXhHZXR0ZXIifSkgJiYgISRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ikhh
c092ZXJyaWRpbmdOYW1lR2V0dGVyIn07CiAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIg
ICAgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3REZWxlZ2F0ZShKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0
IEpTQzo6SWRlbnRpZmllciYsIEpTQzo6UHJvcGVydHlTbG90Jik7XG4iKSBpZiAkZGF0YU5vZGUt
PmV4dGVuZGVkQXR0cmlidXRlcy0+eyJEZWxlZ2F0aW5nR2V0T3duUHJvcGVydHlTbG90In07CiAg
ICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgYm9vbCBnZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3JEZWxlZ2F0ZShKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IEpTQzo6SWRlbnRpZmllciYsIEpT
Qzo6UHJvcGVydHlEZXNjcmlwdG9yJik7XG4iKSBpZiAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmli
dXRlcy0+eyJEZWxlZ2F0aW5nR2V0T3duUHJvcGVydHlTbG90In07CiAgICAgICAgICRzdHJ1Y3R1
cmVGbGFnc3siSlNDOjpPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QifSA9IDE7CkBAIC0xNjA0
LDkgKzE2MDQsOSBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAgICAgICAgICAg
ICYmICEkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJIYXNPdmVycmlkaW5nTmFtZUdl
dHRlciJ9KSB7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgImJvb2wgJHtjbGFzc05h
bWV9OjpnZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQg
cHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNsb3QpXG4iKTsKICAgICAgICAgICAgIHB1c2go
QGltcGxDb250ZW50LCAie1xuIik7Ci0gICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAg
ICByZXR1cm4gZ2V0T3duUHJvcGVydHlTbG90KHRoaXMsIGV4ZWMsIHByb3BlcnR5TmFtZSwgc2xv
dCk7XG4iKTsKKyAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIHJldHVybiBnZXRP
d25Qcm9wZXJ0eVNsb3RCeUluZGV4KHRoaXMsIGV4ZWMsIHByb3BlcnR5TmFtZSwgc2xvdCk7XG4i
KTsKICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAifVxuXG4iKTsKLSAgICAgICAgICAg
IHB1c2goQGltcGxDb250ZW50LCAiYm9vbCAke2NsYXNzTmFtZX06OmdldE93blByb3BlcnR5U2xv
dChKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBQ
cm9wZXJ0eVNsb3QmIHNsb3QpXG4iKTsKKyAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
Ym9vbCAke2NsYXNzTmFtZX06OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgoSlNDZWxsKiBjZWxs
LCBFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBz
bG90KVxuIik7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIpOwogICAgICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgJHtjbGFzc05hbWV9KiB0aGlzT2JqZWN0ID0g
c3RhdGljX2Nhc3Q8JHtjbGFzc05hbWV9Kj4oY2VsbCk7XG4iKTsKICAgICAgICAgICAgIHB1c2go
QGltcGxDb250ZW50LCAiICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFModGhpc09iamVjdCwg
JnNfaW5mbyk7XG4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1l
X2FycmF5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX2FycmF5LmNwcAppbmRl
eCA2OTAwY2I3NzQ2NDEyNzAwYWZhNjBkMzEwYWQ1MDU0NjdlMGFlNjc3Li5hNTk2OTIxOGJmZTk3
ZDlkMWU3M2Q2YThiNTZiYTg3NzhlMzM0NDMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
cmlkZ2UvcnVudGltZV9hcnJheS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRp
bWVfYXJyYXkuY3BwCkBAIC0xMjgsMTAgKzEyOCwxMCBAQCBib29sIFJ1bnRpbWVBcnJheTo6Z2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYg
cAogCiBib29sIFJ1bnRpbWVBcnJheTo6Z2V0T3duUHJvcGVydHlTbG90VmlydHVhbChFeGVjU3Rh
dGUgKmV4ZWMsIHVuc2lnbmVkIGluZGV4LCBQcm9wZXJ0eVNsb3QmIHNsb3QpCiB7Ci0gICAgcmV0
dXJuIGdldE93blByb3BlcnR5U2xvdCh0aGlzLCBleGVjLCBpbmRleCwgc2xvdCk7CisgICAgcmV0
dXJuIGdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgodGhpcywgZXhlYywgaW5kZXgsIHNsb3QpOwog
fQogCi1ib29sIFJ1bnRpbWVBcnJheTo6Z2V0T3duUHJvcGVydHlTbG90KEpTQ2VsbCogY2VsbCwg
RXhlY1N0YXRlICpleGVjLCB1bnNpZ25lZCBpbmRleCwgUHJvcGVydHlTbG90JiBzbG90KQorYm9v
bCBSdW50aW1lQXJyYXk6OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgoSlNDZWxsKiBjZWxsLCBF
eGVjU3RhdGUgKmV4ZWMsIHVuc2lnbmVkIGluZGV4LCBQcm9wZXJ0eVNsb3QmIHNsb3QpCiB7CiAg
ICAgUnVudGltZUFycmF5KiB0aGlzT2JqZWN0ID0gc3RhdGljX2Nhc3Q8UnVudGltZUFycmF5Kj4o
Y2VsbCk7CiAgICAgaWYgKGluZGV4IDwgdGhpc09iamVjdC0+Z2V0TGVuZ3RoKCkpIHsKQEAgLTEz
OSw3ICsxMzksNyBAQCBib29sIFJ1bnRpbWVBcnJheTo6Z2V0T3duUHJvcGVydHlTbG90KEpTQ2Vs
bCogY2VsbCwgRXhlY1N0YXRlICpleGVjLCB1bnNpZ25lZCBpbgogICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICB9CiAgICAgCi0gICAgcmV0dXJuIEpTT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3Qo
dGhpc09iamVjdCwgZXhlYywgaW5kZXgsIHNsb3QpOworICAgIHJldHVybiBKU09iamVjdDo6Z2V0
T3duUHJvcGVydHlTbG90QnlJbmRleCh0aGlzT2JqZWN0LCBleGVjLCBpbmRleCwgc2xvdCk7CiB9
CiAKIHZvaWQgUnVudGltZUFycmF5OjpwdXRWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywgY29uc3Qg
SWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU1ZhbHVlIHZhbHVlLCBQdXRQcm9wZXJ0eVNsb3Qm
IHNsb3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9hcnJheS5o
IGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfYXJyYXkuaAppbmRleCA2ZjM1M2ZhYjA1
NmM5MWM5YjU1YzE3YTc5ZTg5N2QwYjQ0NjQ4OWNiLi5hMTE2ZTAwNzY2NGRmOWQ3YzFjNDEwNDAy
MWFlMzUzNzBmYjI3NjVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGlt
ZV9hcnJheS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX2FycmF5LmgKQEAg
LTUzLDcgKzUzLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eVNs
b3RWaXJ0dWFsKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBQcm9wZXJ0eVNsb3QmKTsK
ICAgICBzdGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiwgRXhlY1N0YXRlKiwg
Y29uc3QgSWRlbnRpZmllciYsIFByb3BlcnR5U2xvdCYpOwogICAgIHZpcnR1YWwgYm9vbCBnZXRP
d25Qcm9wZXJ0eVNsb3RWaXJ0dWFsKEV4ZWNTdGF0ZSosIHVuc2lnbmVkLCBQcm9wZXJ0eVNsb3Qm
KTsKLSAgICBzdGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiwgRXhlY1N0YXRl
KiwgdW5zaWduZWQsIFByb3BlcnR5U2xvdCYpOworICAgIHN0YXRpYyBib29sIGdldE93blByb3Bl
cnR5U2xvdEJ5SW5kZXgoSlNDZWxsKiwgRXhlY1N0YXRlKiwgdW5zaWduZWQsIFByb3BlcnR5U2xv
dCYpOwogICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRXhlY1N0YXRl
KiwgY29uc3QgSWRlbnRpZmllciYsIFByb3BlcnR5RGVzY3JpcHRvciYpOwogICAgIHZpcnR1YWwg
dm9pZCBwdXRWaXJ0dWFsKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFt
ZSwgSlNWYWx1ZSwgUHV0UHJvcGVydHlTbG90Jik7CiAgICAgc3RhdGljIHZvaWQgcHV0KEpTQ2Vs
bCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSwg
UHV0UHJvcGVydHlTbG90Jik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111840</attachid>
            <date>2011-10-20 13:45:57 -0700</date>
            <delta_ts>2011-10-23 10:55:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70271-20111020134556.patch</filename>
            <type>text/plain</type>
            <size>34983</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTgwMDIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDYy
YjA1NWM2MjQ1MjQ2YzIzYmRmZTFkNjY3NjBiZGNkNmEzMjJlNmYuLjU5Y2QyZDRkNjc4ZTc2NmNk
MzQwN2ZjNTFlMmY2YmIzOTllOTk0ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSw1
ICsxLDU5IEBACiAyMDExLTEwLTIwICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBs
ZS5jb20+CiAKKyAgICAgICAgUmVuYW1lIHN0YXRpYyBnZXRPd25Qcm9wZXJ0eVNsb3QgdG8gZ2V0
T3duUHJvcGVydHlTbG90QnlJbmRleAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzAyNzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBSZW5hbWluZyB2ZXJzaW9ucyBvZiBnZXRPd25Qcm9wZXJ0eVNsb3QgdGhh
dCB1c2UgYW4gdW5zaWduZWQgYXMgdGhlIHByb3BlcnR5CisgICAgICAgIG5hbWUgdG8gImdldE93
blByb3BlcnR5U2xvdEJ5SW5kZXgiIGluIHByZXBhcmF0aW9uIGZvciBhZGRpbmcgdGhlbSB0byB0
aGUgCisgICAgICAgIE1ldGhvZFRhYmxlLCB3aGljaCByZXF1aXJlcyB1bmlxdWUgbmFtZXMgZm9y
IGVhY2ggbWV0aG9kLgorCisgICAgICAgICogSmF2YVNjcmlwdENvcmUuZXhwOgorICAgICAgICAq
IEphdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWY6
CisgICAgICAgICogcnVudGltZS9Bcmd1bWVudHMuY3BwOgorICAgICAgICAoSlNDOjpBcmd1bWVu
dHM6OmdldE93blByb3BlcnR5U2xvdFZpcnR1YWwpOgorICAgICAgICAoSlNDOjpBcmd1bWVudHM6
OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgpOgorICAgICAgICAqIHJ1bnRpbWUvQXJndW1lbnRz
Lmg6CisgICAgICAgICogcnVudGltZS9KU0FycmF5LmNwcDoKKyAgICAgICAgKEpTQzo6SlNBcnJh
eTo6Z2V0T3duUHJvcGVydHlTbG90VmlydHVhbCk6CisgICAgICAgIChKU0M6OkpTQXJyYXk6Omdl
dE93blByb3BlcnR5U2xvdEJ5SW5kZXgpOgorICAgICAgICAoSlNDOjpKU0FycmF5OjpnZXRPd25Q
cm9wZXJ0eVNsb3QpOgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJheS5oOgorICAgICAgICAqIHJ1
bnRpbWUvSlNCeXRlQXJyYXkuY3BwOgorICAgICAgICAoSlNDOjpKU0J5dGVBcnJheTo6Z2V0T3du
UHJvcGVydHlTbG90VmlydHVhbCk6CisgICAgICAgIChKU0M6OkpTQnl0ZUFycmF5OjpnZXRPd25Q
cm9wZXJ0eVNsb3RCeUluZGV4KToKKyAgICAgICAgKiBydW50aW1lL0pTQnl0ZUFycmF5Lmg6Cisg
ICAgICAgICogcnVudGltZS9KU0NlbGwuY3BwOgorICAgICAgICAoSlNDOjpKU0NlbGw6OmdldE93
blByb3BlcnR5U2xvdFZpcnR1YWwpOgorICAgICAgICAoSlNDOjpKU0NlbGw6OmdldE93blByb3Bl
cnR5U2xvdEJ5SW5kZXgpOgorICAgICAgICAqIHJ1bnRpbWUvSlNDZWxsLmg6CisgICAgICAgICog
cnVudGltZS9KU05vdEFuT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNOb3RBbk9iamVjdDo6
Z2V0T3duUHJvcGVydHlTbG90VmlydHVhbCk6CisgICAgICAgIChKU0M6OkpTTm90QW5PYmplY3Q6
OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgpOgorICAgICAgICAqIHJ1bnRpbWUvSlNOb3RBbk9i
amVjdC5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpK
U09iamVjdDo6Z2V0T3duUHJvcGVydHlTbG90VmlydHVhbCk6CisgICAgICAgIChKU0M6OkpTT2Jq
ZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KToKKyAgICAgICAgKiBydW50aW1lL0pTT2Jq
ZWN0Lmg6CisgICAgICAgICogcnVudGltZS9KU1N0cmluZy5jcHA6CisgICAgICAgIChKU0M6OkpT
U3RyaW5nOjpnZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0dWFsKToKKyAgICAgICAgKEpTQzo6SlNTdHJp
bmc6OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgpOgorICAgICAgICAqIHJ1bnRpbWUvSlNTdHJp
bmcuaDoKKyAgICAgICAgKiBydW50aW1lL09iamVjdFByb3RvdHlwZS5jcHA6CisgICAgICAgIChK
U0M6Ok9iamVjdFByb3RvdHlwZTo6Z2V0T3duUHJvcGVydHlTbG90VmlydHVhbCk6CisgICAgICAg
IChKU0M6Ok9iamVjdFByb3RvdHlwZTo6Z2V0T3duUHJvcGVydHlTbG90QnlJbmRleCk6CisgICAg
ICAgICogcnVudGltZS9PYmplY3RQcm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL1JlZ0V4
cE1hdGNoZXNBcnJheS5oOgorICAgICAgICAoSlNDOjpSZWdFeHBNYXRjaGVzQXJyYXk6OmdldE93
blByb3BlcnR5U2xvdFZpcnR1YWwpOgorICAgICAgICAoSlNDOjpSZWdFeHBNYXRjaGVzQXJyYXk6
OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgpOgorICAgICAgICAqIHJ1bnRpbWUvU3RyaW5nT2Jq
ZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6U3RyaW5nT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3RW
aXJ0dWFsKToKKyAgICAgICAgKEpTQzo6U3RyaW5nT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3RC
eUluZGV4KToKKyAgICAgICAgKiBydW50aW1lL1N0cmluZ09iamVjdC5oOgorCisyMDExLTEwLTIw
ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisKICAgICAgICAgUmVu
YW1lIHN0YXRpYyBkZWxldGVQcm9wZXJ0eSB0byBkZWxldGVQcm9wZXJ0eUJ5SW5kZXgKICAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjU3CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwppbmRleCBjYjlmNTkzZjQwYjlhZDQ1ZmNhY2RjMTYwNjcwYjU1MzY5NjM5MWZlLi5iZmIwOGQy
MDUxNjJjYjg2MDAxNmNmMzg4OTA3ZTA4Nzg0OTljY2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEs
MjggQEAKIDIwMTEtMTAtMjAgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNv
bT4KIAorICAgICAgICBSZW5hbWUgc3RhdGljIGdldE93blByb3BlcnR5U2xvdCB0byBnZXRPd25Q
cm9wZXJ0eVNsb3RCeUluZGV4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03MDI3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIE5vIG5ldyB0ZXN0cy4KKworICAgICAgICBSZW5hbWluZyB2ZXJzaW9ucyBvZiBn
ZXRPd25Qcm9wZXJ0eVNsb3QgdGhhdCB1c2UgYW4gdW5zaWduZWQgYXMgdGhlIHByb3BlcnR5Cisg
ICAgICAgIG5hbWUgdG8gImdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgiIGluIHByZXBhcmF0aW9u
IGZvciBhZGRpbmcgdGhlbSB0byB0aGUgCisgICAgICAgIE1ldGhvZFRhYmxlLCB3aGljaCByZXF1
aXJlcyB1bmlxdWUgbmFtZXMgZm9yIGVhY2ggbWV0aG9kLgorCisgICAgICAgICogYmluZGluZ3Mv
anMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNsb25lU2Vy
aWFsaXplcjo6Z2V0U3BhcnNlSW5kZXgpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAoR2VuZXJhdGVIZWFkZXIpOgorICAgICAgICAoR2Vu
ZXJhdGVJbXBsZW1lbnRhdGlvbik6CisgICAgICAgICogYnJpZGdlL3J1bnRpbWVfYXJyYXkuY3Bw
OgorICAgICAgICAoSlNDOjpSdW50aW1lQXJyYXk6OmdldE93blByb3BlcnR5U2xvdFZpcnR1YWwp
OgorICAgICAgICAoSlNDOjpSdW50aW1lQXJyYXk6OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgp
OgorICAgICAgICAqIGJyaWRnZS9ydW50aW1lX2FycmF5Lmg6CisKKzIwMTEtMTAtMjAgIE1hcmsg
SGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KKwogICAgICAgICBSZW5hbWUgc3Rh
dGljIGRlbGV0ZVByb3BlcnR5IHRvIGRlbGV0ZVByb3BlcnR5QnlJbmRleAogICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNTcKIApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKaW5kZXggOWU2YjRmYmFjYjcwM2UyM2FmMzkxZTQ3
NTEwODY0YTFmN2Y2Y2Q0NC4uMjYyMWE3ZTA4YWU1NTBjZWNiYmI3OTdjNGZkNjdlYjM4ZmVjMzIz
YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwCkBAIC0yODEsNyAr
MjgxLDcgQEAgX19aTjNKU0M3SlNBcnJheTEzdmlzaXRDaGlsZHJlbkVQTlNfNkpTQ2VsbEVSTlNf
MTFTbG90VmlzaXRvckUKIF9fWk4zSlNDN0pTQXJyYXkxNGZpbmlzaENyZWF0aW9uRVJOU18xMkpT
R2xvYmFsRGF0YUUKIF9fWk4zSlNDN0pTQXJyYXkxNGZpbmlzaENyZWF0aW9uRVJOU18xMkpTR2xv
YmFsRGF0YUVSS05TXzdBcmdMaXN0RQogX19aTjNKU0M3SlNBcnJheTE1c2V0U3ViY2xhc3NEYXRh
RVB2Ci1fX1pOM0pTQzdKU0FycmF5MThnZXRPd25Qcm9wZXJ0eVNsb3RFUE5TXzZKU0NlbGxFUE5T
XzlFeGVjU3RhdGVFalJOU18xMlByb3BlcnR5U2xvdEUKK19fWk4zSlNDN0pTQXJyYXkyNWdldE93
blByb3BlcnR5U2xvdEJ5SW5kZXhFUE5TXzZKU0NlbGxFUE5TXzlFeGVjU3RhdGVFalJOU18xMlBy
b3BlcnR5U2xvdEUKIF9fWk4zSlNDN0pTQXJyYXk2c19pbmZvRQogX19aTjNKU0M3SlNBcnJheTlz
ZXRMZW5ndGhFagogX19aTjNKU0M3SlNBcnJheUMxRVJOU18xMkpTR2xvYmFsRGF0YUVQTlNfOVN0
cnVjdHVyZUUKQEAgLTMyNCw3ICszMjQsNiBAQCBfX1pOM0pTQzhKU09iamVjdDE3cHV0V2l0aEF0
dHJpYnV0ZXNFUE5TXzEySlNHbG9iYWxEYXRhRWpOU183SlNWYWx1ZUVqCiBfX1pOM0pTQzhKU09i
amVjdDE3cHV0V2l0aEF0dHJpYnV0ZXNFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJF
TlNfN0pTVmFsdWVFagogX19aTjNKU0M4SlNPYmplY3QxN3B1dFdpdGhBdHRyaWJ1dGVzRVBOU185
RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRU5TXzdKU1ZhbHVlRWpiUk5TXzE1UHV0UHJvcGVy
dHlTbG90RQogX19aTjNKU0M4SlNPYmplY3QxN3B1dFdpdGhBdHRyaWJ1dGVzRVBOU185RXhlY1N0
YXRlRWpOU183SlNWYWx1ZUVqCi1fX1pOM0pTQzhKU09iamVjdDE4Z2V0T3duUHJvcGVydHlTbG90
RVBOU182SlNDZWxsRVBOU185RXhlY1N0YXRlRWpSTlNfMTJQcm9wZXJ0eVNsb3RFCiBfX1pOM0pT
QzhKU09iamVjdDE5Z2V0T3duUHJvcGVydHlOYW1lc0VQTlNfOUV4ZWNTdGF0ZUVSTlNfMTdQcm9w
ZXJ0eU5hbWVBcnJheUVOU18xNUVudW1lcmF0aW9uTW9kZUUKIF9fWk4zSlNDOEpTT2JqZWN0MjFk
ZWxldGVQcm9wZXJ0eVZpcnR1YWxFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJFCiBf
X1pOM0pTQzhKU09iamVjdDIxZGVsZXRlUHJvcGVydHlWaXJ0dWFsRVBOU185RXhlY1N0YXRlRWoK
QEAgLTMzMiw2ICszMzEsNyBAQCBfX1pOM0pTQzhKU09iamVjdDIxZ2V0UHJvcGVydHlEZXNjcmlw
dG9yRVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRVJOU18xOAogX19aTjNKU0M4SlNP
YmplY3QyMmZpbGxHZXR0ZXJQcm9wZXJ0eVNsb3RFUk5TXzEyUHJvcGVydHlTbG90RVBOU18xNldy
aXRlQmFycmllckJhc2VJTlNfN1Vua25vd25FRUUKIF9fWk4zSlNDOEpTT2JqZWN0MjNhbGxvY2F0
ZVByb3BlcnR5U3RvcmFnZUVSTlNfMTJKU0dsb2JhbERhdGFFbW0KIF9fWk4zSlNDOEpTT2JqZWN0
MjRnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZp
ZXJFUk5TXzE4UHJvcGVydHlEZXNjcmlwdG9yRQorX19aTjNKU0M4SlNPYmplY3QyNWdldE93blBy
b3BlcnR5U2xvdEJ5SW5kZXhFUE5TXzZKU0NlbGxFUE5TXzlFeGVjU3RhdGVFalJOU18xMlByb3Bl
cnR5U2xvdEUKIF9fWk4zSlNDOEpTT2JqZWN0MjVnZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0dWFsRVBO
U185RXhlY1N0YXRlRWpSTlNfMTJQcm9wZXJ0eVNsb3RFCiBfX1pOM0pTQzhKU09iamVjdDNwdXRF
UE5TXzZKU0NlbGxFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJFTlNfN0pTVmFsdWVF
Uk5TXzE1UHV0UHJvcGVydHlTbG90RQogX19aTjNKU0M4SlNPYmplY3Q2c19pbmZvRQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgppbmRleCA2
YTAwODkzYzM0NTUwNGM4YmU1Y2FiODM1YWM2NWQzYmZlNDFiMzQwLi5jOGM4YjAxOGIzYWQ2YTJk
NzVlZjFlMTY1YzY2M2M2MjlmNWVkMmY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRl
ZgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgpAQCAtMjAyLDggKzIwMiw4IEBAIEVYUE9SVFMK
ICAgICA/Z2V0T3duUHJvcGVydHlOYW1lc0BKU09iamVjdEBKU0NAQFVBRVhQQVZFeGVjU3RhdGVA
MkBBQVZQcm9wZXJ0eU5hbWVBcnJheUAyQFc0RW51bWVyYXRpb25Nb2RlQDJAQFoKICAgICA/Z2V0
T3duUHJvcGVydHlOYW1lc0BKU1ZhcmlhYmxlT2JqZWN0QEpTQ0BAVUFFWFBBVkV4ZWNTdGF0ZUAy
QEFBVlByb3BlcnR5TmFtZUFycmF5QDJAVzRFbnVtZXJhdGlvbk1vZGVAMkBAWgogICAgID9nZXRP
d25Qcm9wZXJ0eU5hbWVzQFN0cmluZ09iamVjdEBKU0NAQFVBRVhQQVZFeGVjU3RhdGVAMkBBQVZQ
cm9wZXJ0eU5hbWVBcnJheUAyQFc0RW51bWVyYXRpb25Nb2RlQDJAQFoKLSAgICA/Z2V0T3duUHJv
cGVydHlTbG90QEpTQXJyYXlASlNDQEBTQV9OUEFWSlNDZWxsQDJAUEFWRXhlY1N0YXRlQDJASUFB
VlByb3BlcnR5U2xvdEAyQEBaCiAgICAgP2dldE93blByb3BlcnR5U2xvdEBKU0dsb2JhbE9iamVj
dEBKU0NAQFNBX05QQVZKU0NlbGxAMkBQQVZFeGVjU3RhdGVAMkBBQlZJZGVudGlmaWVyQDJAQUFW
UHJvcGVydHlTbG90QDJAQFoKKyAgICA/Z2V0T3duUHJvcGVydHlTbG90QnlJbmRleEBKU0FycmF5
QEpTQ0BAU0FfTlBBVkpTQ2VsbEAyQFBBVkV4ZWNTdGF0ZUAyQElBQVZQcm9wZXJ0eVNsb3RAMkBA
WgogICAgID9nZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0dWFsQEpTQ2VsbEBKU0NAQEVBRV9OUEFWRXhl
Y1N0YXRlQDJAQUJWSWRlbnRpZmllckAyQEFBVlByb3BlcnR5U2xvdEAyQEBaCiAgICAgP2dldE93
blByb3BlcnR5U2xvdFZpcnR1YWxASlNDZWxsQEpTQ0BARUFFX05QQVZFeGVjU3RhdGVAMkBJQUFW
UHJvcGVydHlTbG90QDJAQFoKICAgICA/Z2V0T3duUHJvcGVydHlTbG90VmlydHVhbEBKU0dsb2Jh
bE9iamVjdEBKU0NAQFVBRV9OUEFWRXhlY1N0YXRlQDJAQUJWSWRlbnRpZmllckAyQEFBVlByb3Bl
cnR5U2xvdEAyQEBaCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9B
cmd1bWVudHMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmNw
cAppbmRleCAwODkwMWNhMDI0Njg1YzgyZjI1OGQwMzlmZjdjYTQ0ZTc0OTcxMWQ0Li43YjY2ZWRh
MTMzNTk2Njk0MjFkNGI5MTNjZTg3N2RhMmVlNWRmOGY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5jcHAKQEAgLTE0NywxMCArMTQ3LDEwIEBAIHZvaWQgQXJn
dW1lbnRzOjpmaWxsQXJnTGlzdChFeGVjU3RhdGUqIGV4ZWMsIE1hcmtlZEFyZ3VtZW50QnVmZmVy
JiBhcmdzKQogCiBib29sIEFyZ3VtZW50czo6Z2V0T3duUHJvcGVydHlTbG90VmlydHVhbChFeGVj
U3RhdGUqIGV4ZWMsIHVuc2lnbmVkIGksIFByb3BlcnR5U2xvdCYgc2xvdCkKIHsKLSAgICByZXR1
cm4gZ2V0T3duUHJvcGVydHlTbG90KHRoaXMsIGV4ZWMsIGksIHNsb3QpOworICAgIHJldHVybiBn
ZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KHRoaXMsIGV4ZWMsIGksIHNsb3QpOwogfQogCi1ib29s
IEFyZ3VtZW50czo6Z2V0T3duUHJvcGVydHlTbG90KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBl
eGVjLCB1bnNpZ25lZCBpLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCitib29sIEFyZ3VtZW50czo6Z2V0
T3duUHJvcGVydHlTbG90QnlJbmRleChKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgdW5z
aWduZWQgaSwgUHJvcGVydHlTbG90JiBzbG90KQogewogICAgIEFyZ3VtZW50cyogdGhpc09iamVj
dCA9IHN0YXRpY19jYXN0PEFyZ3VtZW50cyo+KGNlbGwpOwogICAgIGlmIChpIDwgdGhpc09iamVj
dC0+ZC0+bnVtQXJndW1lbnRzICYmICghdGhpc09iamVjdC0+ZC0+ZGVsZXRlZEFyZ3VtZW50cyB8
fCAhdGhpc09iamVjdC0+ZC0+ZGVsZXRlZEFyZ3VtZW50c1tpXSkpIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmgKaW5kZXggNDVhNzVjOTRiMTcwZmFiMjZiMTRiMGZi
MzBhNmNiOWVmMzkyY2E1ZC4uZDk3NjU1ZDEwMDliMTZhZjhhZDVkY2Q1ZmE2MWM4ZmVkMTFmMWQ0
YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmgKQEAgLTEzOCw3
ICsxMzgsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdmlydHVhbCBib29sIGdldE93blBy
b3BlcnR5U2xvdFZpcnR1YWwoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlO
YW1lLCBQcm9wZXJ0eVNsb3QmKTsKICAgICAgICAgc3RhdGljIGJvb2wgZ2V0T3duUHJvcGVydHlT
bG90KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwg
UHJvcGVydHlTbG90Jik7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3RW
aXJ0dWFsKEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90Jik7
Ci0gICAgICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdChKU0NlbGwqLCBFeGVjU3Rh
dGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYpOworICAgICAgICBzdGF0
aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIHVu
c2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90Jik7CiAgICAgICAgIHZpcnR1YWwgYm9v
bCBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYs
IFByb3BlcnR5RGVzY3JpcHRvciYpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZ2V0T3duUHJvcGVy
dHlOYW1lcyhFeGVjU3RhdGUqLCBQcm9wZXJ0eU5hbWVBcnJheSYsIEVudW1lcmF0aW9uTW9kZSBt
b2RlID0gRXhjbHVkZURvbnRFbnVtUHJvcGVydGllcyk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBw
dXRWaXJ0dWFsKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNW
YWx1ZSwgUHV0UHJvcGVydHlTbG90Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0FycmF5LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
QXJyYXkuY3BwCmluZGV4IGFkMzlhMGRkNGFhODFhMzdlMmFlMTJiOTNkN2UyMzU4M2JjMDkyNDIu
LjMyMTQxZjgwOWZiZTUyMjU0MGM2MTU5ZDFmM2ZhN2Q4Y2U2YjJkOWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3BwCkBAIC0yNDcsMTAgKzI0NywxMCBAQCBKU0Fy
cmF5Ojp+SlNBcnJheSgpCiAKIGJvb2wgSlNBcnJheTo6Z2V0T3duUHJvcGVydHlTbG90VmlydHVh
bChFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIGksIFByb3BlcnR5U2xvdCYgc2xvdCkKIHsKLSAg
ICByZXR1cm4gZ2V0T3duUHJvcGVydHlTbG90KHRoaXMsIGV4ZWMsIGksIHNsb3QpOworICAgIHJl
dHVybiBnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KHRoaXMsIGV4ZWMsIGksIHNsb3QpOwogfQog
Ci1ib29sIEpTQXJyYXk6OmdldE93blByb3BlcnR5U2xvdChKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0
ZSogZXhlYywgdW5zaWduZWQgaSwgUHJvcGVydHlTbG90JiBzbG90KQorYm9vbCBKU0FycmF5Ojpn
ZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCB1
bnNpZ25lZCBpLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCiB7CiAgICAgSlNBcnJheSogdGhpc09iamVj
dCA9IHN0YXRpY19jYXN0PEpTQXJyYXkqPihjZWxsKTsKICAgICBBcnJheVN0b3JhZ2UqIHN0b3Jh
Z2UgPSB0aGlzT2JqZWN0LT5tX3N0b3JhZ2U7CkBAIC0yOTYsNyArMjk2LDcgQEAgYm9vbCBKU0Fy
cmF5OjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIGNv
bnN0IElkZW50aWZpZXIKICAgICBib29sIGlzQXJyYXlJbmRleDsKICAgICB1bnNpZ25lZCBpID0g
cHJvcGVydHlOYW1lLnRvQXJyYXlJbmRleChpc0FycmF5SW5kZXgpOwogICAgIGlmIChpc0FycmF5
SW5kZXgpCi0gICAgICAgIHJldHVybiBKU0FycmF5OjpnZXRPd25Qcm9wZXJ0eVNsb3QodGhpc09i
amVjdCwgZXhlYywgaSwgc2xvdCk7CisgICAgICAgIHJldHVybiBKU0FycmF5OjpnZXRPd25Qcm9w
ZXJ0eVNsb3RCeUluZGV4KHRoaXNPYmplY3QsIGV4ZWMsIGksIHNsb3QpOwogCiAgICAgcmV0dXJu
IEpTT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3QodGhpc09iamVjdCwgZXhlYywgcHJvcGVydHlO
YW1lLCBzbG90KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQXJyYXkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuaAppbmRl
eCA1NmEzYjc4ZWU4NTZmMzI2MjNiNTE1OThlN2FkMjU1MmYyNTkwZTAzLi42YjVmYmM2ZTBjYjFi
N2Y4Y2ZhNTM0N2ZkNGI5ZThiN2E5ZGNiYzIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0FycmF5LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNBcnJheS5oCkBAIC05Nyw3ICs5Nyw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2
aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90VmlydHVhbChFeGVjU3RhdGUqLCBjb25zdCBJ
ZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYpOwogICAgICAgICBzdGF0aWMg
Ym9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiwgRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRp
ZmllciYgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsKICAgICAgICAgdmlydHVhbCBib29s
IGdldE93blByb3BlcnR5U2xvdFZpcnR1YWwoRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlO
YW1lLCBQcm9wZXJ0eVNsb3QmKTsKLSAgICAgICAgc3RhdGljIGJvb2wgZ2V0T3duUHJvcGVydHlT
bG90KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlT
bG90Jik7CisgICAgICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgoSlND
ZWxsKiwgRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsK
ICAgICAgICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5RGVzY3JpcHRvcihFeGVjU3RhdGUq
LCBjb25zdCBJZGVudGlmaWVyJiwgUHJvcGVydHlEZXNjcmlwdG9yJik7CiAgICAgICAgIHZpcnR1
YWwgdm9pZCBwdXRWaXJ0dWFsKEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgSlNW
YWx1ZSk7IC8vIEZJWE1FOiBNYWtlIHByb3RlY3RlZCBhbmQgYWRkIHNldEl0ZW0uCiAgICAgICAg
IHN0YXRpYyB2b2lkIHB1dEJ5SW5kZXgoSlNDZWxsKiwgRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJv
cGVydHlOYW1lLCBKU1ZhbHVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQnl0ZUFycmF5LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
Qnl0ZUFycmF5LmNwcAppbmRleCAwOTgwZTk3MjMxMGE4ODZkZTY4NTM0NTY5ZTNlZTNkMmU3NTM1
MzdlLi42NzA1OGI0MDkwMDkyNzZkZjYyZmQ3Y2RkZWYxNzlmMTZjY2E4ZWFjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0J5dGVBcnJheS5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCeXRlQXJyYXkuY3BwCkBAIC04NCwxMCArODQs
MTAgQEAgYm9vbCBKU0J5dGVBcnJheTo6Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEV4ZWNTdGF0
ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHIKIAogYm9vbCBKU0J5dGVBcnJheTo6Z2V0T3du
UHJvcGVydHlTbG90VmlydHVhbChFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHByb3BlcnR5TmFt
ZSwgUHJvcGVydHlTbG90JiBzbG90KQogewotICAgIHJldHVybiBnZXRPd25Qcm9wZXJ0eVNsb3Qo
dGhpcywgZXhlYywgcHJvcGVydHlOYW1lLCBzbG90KTsKKyAgICByZXR1cm4gZ2V0T3duUHJvcGVy
dHlTbG90QnlJbmRleCh0aGlzLCBleGVjLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOwogfQogCi1ib29s
IEpTQnl0ZUFycmF5OjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUq
IGV4ZWMsIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQorYm9vbCBK
U0J5dGVBcnJheTo6Z2V0T3duUHJvcGVydHlTbG90QnlJbmRleChKU0NlbGwqIGNlbGwsIEV4ZWNT
dGF0ZSogZXhlYywgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCiB7
CiAgICAgSlNCeXRlQXJyYXkqIHRoaXNPYmplY3QgPSBzdGF0aWNfY2FzdDxKU0J5dGVBcnJheSo+
KGNlbGwpOwogICAgIGlmICh0aGlzT2JqZWN0LT5jYW5BY2Nlc3NJbmRleChwcm9wZXJ0eU5hbWUp
KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0J5dGVBcnJh
eS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCeXRlQXJyYXkuaAppbmRleCAz
MzcwNDEwN2I5M2E4MWFhMzg1MmQ3Y2JhNzkzNDFjMDllZDgxNzdiLi5kZTZiOWMyODI2ZGMyOTQ2
YThiNmZiMGZkNjRjYzcyNGQ0ZWJjM2IzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0J5dGVBcnJheS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQnl0ZUFycmF5LmgKQEAgLTkxLDcgKzkxLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAg
ICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0dWFsKEpTQzo6RXhlY1N0YXRl
KiwgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTQzo6UHJvcGVydHlTbG90
Jik7CiAgICAgICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdChKU0M6OkpTQ2VsbCos
IEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpT
Qzo6UHJvcGVydHlTbG90Jik7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eVNs
b3RWaXJ0dWFsKEpTQzo6RXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBKU0M6OlBy
b3BlcnR5U2xvdCYpOwotICAgICAgICBzdGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlND
OjpKU0NlbGwqLCBKU0M6OkV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgSlNDOjpQ
cm9wZXJ0eVNsb3QmKTsKKyAgICAgICAgc3RhdGljIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90QnlJ
bmRleChKU0M6OkpTQ2VsbCosIEpTQzo6RXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1l
LCBKU0M6OlByb3BlcnR5U2xvdCYpOwogICAgICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBQcm9wZXJ0eURlc2Ny
aXB0b3ImKTsKICAgICAgICAgdmlydHVhbCB2b2lkIHB1dFZpcnR1YWwoSlNDOjpFeGVjU3RhdGUq
LCBjb25zdCBKU0M6OklkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNDOjpKU1ZhbHVlLCBKU0M6
OlB1dFByb3BlcnR5U2xvdCYpOwogICAgICAgICBzdGF0aWMgdm9pZCBwdXQoSlNDOjpKU0NlbGwq
LCBKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBK
U0M6OkpTVmFsdWUsIEpTQzo6UHV0UHJvcGVydHlTbG90Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNDZWxsLmNwcAppbmRleCA5MzlmN2I0NTIyMGNlMzBiNzNkYWVlNjJmMDcxYmI4
ZWRmZWJiZDk4Li45NTJkYzI0OGM2MTBjNzIxMzQwMTYwYzAyYzMwZDg3ZjI0ZWY2MzkzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAKQEAgLTg4LDEwICs4OCwxMCBA
QCBib29sIEpTQ2VsbDo6Z2V0T3duUHJvcGVydHlTbG90KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRl
KiBleGVjLCBjb25zdCBJZGVudGlmaWVyJgogCiBib29sIEpTQ2VsbDo6Z2V0T3duUHJvcGVydHlT
bG90VmlydHVhbChFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIGlkZW50aWZpZXIsIFByb3BlcnR5
U2xvdCYgc2xvdCkKIHsKLSAgICByZXR1cm4gZ2V0T3duUHJvcGVydHlTbG90KHRoaXMsIGV4ZWMs
IGlkZW50aWZpZXIsIHNsb3QpOworICAgIHJldHVybiBnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4
KHRoaXMsIGV4ZWMsIGlkZW50aWZpZXIsIHNsb3QpOwogfQogCi1ib29sIEpTQ2VsbDo6Z2V0T3du
UHJvcGVydHlTbG90KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBpZGVu
dGlmaWVyLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCitib29sIEpTQ2VsbDo6Z2V0T3duUHJvcGVydHlT
bG90QnlJbmRleChKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgaWRlbnRp
ZmllciwgUHJvcGVydHlTbG90JiBzbG90KQogewogICAgIC8vIFRoaXMgaXMgbm90IGEgZ2VuZXJh
bCBwdXJwb3NlIGltcGxlbWVudGF0aW9uIG9mIGdldE93blByb3BlcnR5U2xvdC4KICAgICAvLyBJ
dCBzaG91bGQgb25seSBiZSBjYWxsZWQgYnkgSlNWYWx1ZTo6Z2V0LgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0NlbGwuaAppbmRleCBiODViNmMwNTE0YTdkY2RlNWRiNTRkODY2YjAzODcy
YzY0YWFkMzVlLi4yM2RkMzQwMzMwMTlhZjQ5OGZkYTkzM2M4MDkzNmE3MjM2N2VjNjdjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaApAQCAtMTM4LDcgKzEzOCw3IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90Vmly
dHVhbChFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5
U2xvdCYpOwogICAgICAgICBzdGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiwg
RXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3Qm
KTsKICAgICAgICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5U2xvdFZpcnR1YWwoRXhlY1N0
YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsKLSAgICAgICAgc3Rh
dGljIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIHVuc2lnbmVk
IHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90Jik7CisgICAgICAgIHN0YXRpYyBib29sIGdldE93
blByb3BlcnR5U2xvdEJ5SW5kZXgoSlNDZWxsKiwgRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVy
dHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsKICAgICAgICAgCiAgICAgICAgIFdyaXRlQmFycmllcjxT
dHJ1Y3R1cmU+IG1fc3RydWN0dXJlOwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU05vdEFuT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTTm90QW5PYmplY3QuY3BwCmluZGV4IGI1YTVhMzFmNWU5YTEyMmE3ODAyNTVh
MDVjMmU0MGY3ZDcwMTIzYzUuLmU5ZDQ1ZDUxMjFiNmE5ZWJhOWFhN2Y3NmRkMzdiMDFkYjY2Zjlh
ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTm90QW5PYmpl
Y3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTm90QW5PYmplY3Qu
Y3BwCkBAIC01OSwxMCArNTksMTAgQEAgYm9vbCBKU05vdEFuT2JqZWN0OjpnZXRPd25Qcm9wZXJ0
eVNsb3QoSlNDZWxsKiwgRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWUKIAogYm9vbCBK
U05vdEFuT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywg
dW5zaWduZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCiB7Ci0gICAgcmV0dXJu
IGdldE93blByb3BlcnR5U2xvdCh0aGlzLCBleGVjLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOworICAg
IHJldHVybiBnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KHRoaXMsIGV4ZWMsIHByb3BlcnR5TmFt
ZSwgc2xvdCk7CiB9CiAKLWJvb2wgSlNOb3RBbk9iamVjdDo6Z2V0T3duUHJvcGVydHlTbG90KEpT
Q2VsbCosIEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQsIFByb3BlcnR5U2xvdCYpCitib29sIEpT
Tm90QW5PYmplY3Q6OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgoSlNDZWxsKiwgRXhlY1N0YXRl
KiBleGVjLCB1bnNpZ25lZCwgUHJvcGVydHlTbG90JikKIHsKICAgICBBU1NFUlRfVU5VU0VEKGV4
ZWMsIGV4ZWMtPmhhZEV4Y2VwdGlvbigpKTsKICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU05vdEFuT2JqZWN0LmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU05vdEFuT2JqZWN0LmgKaW5kZXggNDEzODMxZTI1ZWRl
MzliYjZmYzRiYTVmY2IwMWVmMzNlNjY2NDg5YS4uOGQ1ZTdiYzQ5MWYzMDE1OWEyYTc3ODAyODMx
OGNlOGI4MGNjNjNmZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNOb3RBbk9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTm90
QW5PYmplY3QuaApAQCAtNzEsNyArNzEsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdmly
dHVhbCBib29sIGdldE93blByb3BlcnR5U2xvdFZpcnR1YWwoRXhlY1N0YXRlKiwgY29uc3QgSWRl
bnRpZmllciYgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsKICAgICAgICAgc3RhdGljIGJv
b2wgZ2V0T3duUHJvcGVydHlTbG90KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZp
ZXImIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90Jik7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBn
ZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0dWFsKEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFt
ZSwgUHJvcGVydHlTbG90Jik7Ci0gICAgICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xv
dChKU0NlbGwqLCBFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xv
dCYpOworICAgICAgICBzdGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KEpTQ2Vs
bCosIEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90Jik7CiAg
ICAgICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRXhlY1N0YXRlKiwg
Y29uc3QgSWRlbnRpZmllciYsIFByb3BlcnR5RGVzY3JpcHRvciYpOwogCiAgICAgICAgIHZpcnR1
YWwgdm9pZCBwdXRWaXJ0dWFsKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5
TmFtZSwgSlNWYWx1ZSwgUHV0UHJvcGVydHlTbG90Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU09iamVjdC5jcHAKaW5kZXggNjIyZjc3MWRmMTA5NTA1ZWQwZjhlZTUxN2IwZTEw
MjFmZTg4YWFkNS4uZTBlNjZjNTAwZDdjZWQwMmRhYzliZTdlNGRmZDM4YTdhMWYxZTQ2MCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcApAQCAtMTAxLDEwICsx
MDEsMTAgQEAgVVN0cmluZyBKU09iamVjdDo6Y2xhc3NOYW1lKCkgY29uc3QKIAogYm9vbCBKU09i
amVjdDo6Z2V0T3duUHJvcGVydHlTbG90VmlydHVhbChFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVk
IHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQogewotICAgIHJldHVybiBnZXRPd25Q
cm9wZXJ0eVNsb3QodGhpcywgZXhlYywgcHJvcGVydHlOYW1lLCBzbG90KTsKKyAgICByZXR1cm4g
Z2V0T3duUHJvcGVydHlTbG90QnlJbmRleCh0aGlzLCBleGVjLCBwcm9wZXJ0eU5hbWUsIHNsb3Qp
OwogfQogCi1ib29sIEpTT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiBjZWxsLCBF
eGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90
KQorYm9vbCBKU09iamVjdDo6Z2V0T3duUHJvcGVydHlTbG90QnlJbmRleChKU0NlbGwqIGNlbGws
IEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNs
b3QpCiB7CiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEpTT2JqZWN0Kj4oY2VsbCktPmdldE93blBy
b3BlcnR5U2xvdFZpcnR1YWwoZXhlYywgSWRlbnRpZmllcjo6ZnJvbShleGVjLCBwcm9wZXJ0eU5h
bWUpLCBzbG90KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCmlu
ZGV4IGRjOTA2MWFlZjE3ZWNiMTAyYWQ5OTA4ZWM3YzM2MmYxYWZmYzkyMTEuLjNjOTEwMjJhNGU2
ZWE4YTVmMWE1NWQwNjA3YTJkMTY5OTc1MDdmYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNPYmplY3QuaApAQCAtMTA0LDcgKzEwNCw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAg
ICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90VmlydHVhbChFeGVjU3RhdGUqLCBj
b25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYpOwogICAgICAgICBz
dGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiwgRXhlY1N0YXRlKiwgY29uc3Qg
SWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsKICAgICAgICAgdmlydHVh
bCBib29sIGdldE93blByb3BlcnR5U2xvdFZpcnR1YWwoRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJv
cGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsKLSAgICAgICAgc3RhdGljIGJvb2wgZ2V0T3duUHJv
cGVydHlTbG90KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJv
cGVydHlTbG90Jik7CisgICAgICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdEJ5SW5k
ZXgoSlNDZWxsKiwgRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNs
b3QmKTsKICAgICAgICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5RGVzY3JpcHRvcihFeGVj
U3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiwgUHJvcGVydHlEZXNjcmlwdG9yJik7CiAKICAgICAg
ICAgdmlydHVhbCB2b2lkIHB1dFZpcnR1YWwoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYg
cHJvcGVydHlOYW1lLCBKU1ZhbHVlLCBQdXRQcm9wZXJ0eVNsb3QmKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU3RyaW5nLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTU3RyaW5nLmNwcAppbmRleCAyNjNhMjAzZGFhYzJlNzIxOTc3OWYw
ZjcwMjYxMjYxMTQ1N2Q2NTIxLi5hY2M4MTM2MWQ3NDMzOWM2OWY2MThiNzU0Yjg1MmJkYzI2MjZk
MjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1N0cmluZy5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdHJpbmcuY3BwCkBAIC0y
NTcsMTAgKzI1NywxMCBAQCBib29sIEpTU3RyaW5nOjpnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
RXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZQogCiBib29sIEpTU3RyaW5n
OjpnZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgcHJv
cGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCiB7Ci0gICAgcmV0dXJuIGdldE93blByb3Bl
cnR5U2xvdCh0aGlzLCBleGVjLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOworICAgIHJldHVybiBnZXRP
d25Qcm9wZXJ0eVNsb3RCeUluZGV4KHRoaXMsIGV4ZWMsIHByb3BlcnR5TmFtZSwgc2xvdCk7CiB9
CiAKLWJvb2wgSlNTdHJpbmc6OmdldE93blByb3BlcnR5U2xvdChKU0NlbGwqIGNlbGwsIEV4ZWNT
dGF0ZSogZXhlYywgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCiti
b29sIEpTU3RyaW5nOjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KEpTQ2VsbCogY2VsbCwgRXhl
Y1N0YXRlKiBleGVjLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdCkK
IHsKICAgICBKU1N0cmluZyogdGhpc09iamVjdCA9IHN0YXRpY19jYXN0PEpTU3RyaW5nKj4oY2Vs
bCk7CiAgICAgLy8gVGhlIHNlbWFudGljcyBoZXJlIGFyZSByZWFsbHkgZ2V0UHJvcGVydHlTbG90
LCBub3QgZ2V0T3duUHJvcGVydHlTbG90LgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNTdHJpbmcuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
U3RyaW5nLmgKaW5kZXggNzQxODNlMTBhNGE1YzJjMzc5MjcxMTE1NmFmMTEzZTg5ODNmOTQzNy4u
ZjVhZTFlOTM5ZjE1MzMzOGQwY2JiNDk1YTZmZmY3ODI1NTdiY2FiNCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdHJpbmcuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU1N0cmluZy5oCkBAIC0yNTMsNyArMjUzLDcgQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0dWFsKEV4
ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90Jik7
CiAgICAgICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdChKU0NlbGwqLCBFeGVjU3Rh
dGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYpOwogICAg
ICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90VmlydHVhbChFeGVjU3RhdGUqLCB1
bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYpOwotICAgICAgICBzdGF0aWMgYm9v
bCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiwgRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVy
dHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsKKyAgICAgICAgc3RhdGljIGJvb2wgZ2V0T3duUHJvcGVy
dHlTbG90QnlJbmRleChKU0NlbGwqLCBFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUs
IFByb3BlcnR5U2xvdCYpOwogICAgICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBQcm9wZXJ0eURlc2NyaXB0b3Im
KTsKIAogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgc19tYXhJbnRlcm5hbFJvcGVMZW5n
dGggPSAzOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0
UHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdFByb3Rv
dHlwZS5jcHAKaW5kZXggNTU0MmMwNjA1ZGQ5YTBhMDg5MmQ1NTEwOTZlNDVmNDAzNzg2NWUxMC4u
OThlMWQxNzhkNGY0NmI0MGQ1N2I2YjExYWUwZjRkZmJlN2M4OWE5ZSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RQcm90b3R5cGUuY3BwCkBAIC05NCwxNSAr
OTQsMTUgQEAgdm9pZCBPYmplY3RQcm90b3R5cGU6OnB1dChKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0
ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGUKIAogYm9vbCBPYmplY3RQcm90b3R5cGU6
OmdldE93blByb3BlcnR5U2xvdFZpcnR1YWwoRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBwcm9w
ZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdCkKIHsKLSAgICByZXR1cm4gZ2V0T3duUHJvcGVy
dHlTbG90KHRoaXMsIGV4ZWMsIHByb3BlcnR5TmFtZSwgc2xvdCk7CisgICAgcmV0dXJuIGdldE93
blByb3BlcnR5U2xvdEJ5SW5kZXgodGhpcywgZXhlYywgcHJvcGVydHlOYW1lLCBzbG90KTsKIH0K
IAotYm9vbCBPYmplY3RQcm90b3R5cGU6OmdldE93blByb3BlcnR5U2xvdChKU0NlbGwqIGNlbGws
IEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNs
b3QpCitib29sIE9iamVjdFByb3RvdHlwZTo6Z2V0T3duUHJvcGVydHlTbG90QnlJbmRleChKU0Nl
bGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0
eVNsb3QmIHNsb3QpCiB7CiAgICAgT2JqZWN0UHJvdG90eXBlKiB0aGlzT2JqZWN0ID0gc3RhdGlj
X2Nhc3Q8T2JqZWN0UHJvdG90eXBlKj4oY2VsbCk7CiAgICAgaWYgKHRoaXNPYmplY3QtPm1faGFz
Tm9Qcm9wZXJ0aWVzV2l0aFVJbnQzMk5hbWVzKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAg
cmV0dXJuIEpTTm9uRmluYWxPYmplY3Q6OmdldE93blByb3BlcnR5U2xvdCh0aGlzT2JqZWN0LCBl
eGVjLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOworICAgIHJldHVybiBKU05vbkZpbmFsT2JqZWN0Ojpn
ZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KHRoaXNPYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwg
c2xvdCk7CiB9CiAKIGJvb2wgT2JqZWN0UHJvdG90eXBlOjpnZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0
dWFsKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBQcm9w
ZXJ0eVNsb3QmIHNsb3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9PYmplY3RQcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVj
dFByb3RvdHlwZS5oCmluZGV4IDA0MTI5NTdhYmM3MGYzM2ZmZTEzYTkxYzlmM2E1YTJiNDU3OWQ4
ODcuLmM4NTlkNTdmMzMxZWI0NTYyYTFlMzZmMzc5NDc0MDg0MmRkNDE1MWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdFByb3RvdHlwZS5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdFByb3RvdHlwZS5oCkBAIC01Niw3ICs1
Niw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVy
dHlTbG90VmlydHVhbChFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiwgUHJvcGVydHlTbG90
Jik7CiAgICAgICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdChKU0NlbGwqLCBFeGVj
U3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiwgUHJvcGVydHlTbG90Jik7CiAgICAgICAgIHZpcnR1
YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0dWFsKEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHBy
b3BlcnR5TmFtZSwgUHJvcGVydHlTbG90Jik7Ci0gICAgICAgIHN0YXRpYyBib29sIGdldE93blBy
b3BlcnR5U2xvdChKU0NlbGwqLCBFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFBy
b3BlcnR5U2xvdCYpOworICAgICAgICBzdGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3RCeUlu
ZGV4KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlT
bG90Jik7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRXhl
Y1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYsIFByb3BlcnR5RGVzY3JpcHRvciYpOwogCiAgICAg
ICAgIGJvb2wgbV9oYXNOb1Byb3BlcnRpZXNXaXRoVUludDMyTmFtZXM7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBNYXRjaGVzQXJyYXkuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE1hdGNoZXNBcnJheS5oCmluZGV4IDVlODAw
ZWM2ZDQ4NDhlMmQ0NTYyMzZjYTMwODA4ZjJkOTc0MzY0N2MuLjQ3MDBmYzkzZTFmZTViZWZjOWUx
ZDQxMDE3ZGVkYzkxZjNhMjlkMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1JlZ0V4cE1hdGNoZXNBcnJheS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1JlZ0V4cE1hdGNoZXNBcnJheS5oCkBAIC01OCwxNSArNTgsMTUgQEAgbmFtZXNwYWNl
IEpTQyB7CiAKICAgICAgICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5U2xvdFZpcnR1YWwo
RXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xv
dCkKICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIGdldE93blByb3BlcnR5U2xvdCh0aGlz
LCBleGVjLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOworICAgICAgICAgICAgcmV0dXJuIGdldE93blBy
b3BlcnR5U2xvdEJ5SW5kZXgodGhpcywgZXhlYywgcHJvcGVydHlOYW1lLCBzbG90KTsKICAgICAg
ICAgfQogCi0gICAgICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdChKU0NlbGwqIGNl
bGwsIEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3Qm
IHNsb3QpCisgICAgICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgoSlND
ZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVy
dHlTbG90JiBzbG90KQogICAgICAgICB7CiAgICAgICAgICAgICBSZWdFeHBNYXRjaGVzQXJyYXkq
IHRoaXNPYmplY3QgPSBzdGF0aWNfY2FzdDxSZWdFeHBNYXRjaGVzQXJyYXkqPihjZWxsKTsKICAg
ICAgICAgICAgIGlmICh0aGlzT2JqZWN0LT5zdWJjbGFzc0RhdGEoKSkKICAgICAgICAgICAgICAg
ICB0aGlzT2JqZWN0LT5maWxsQXJyYXlJbnN0YW5jZShleGVjKTsKLSAgICAgICAgICAgIHJldHVy
biBKU0FycmF5OjpnZXRPd25Qcm9wZXJ0eVNsb3QodGhpc09iamVjdCwgZXhlYywgcHJvcGVydHlO
YW1lLCBzbG90KTsKKyAgICAgICAgICAgIHJldHVybiBKU0FycmF5OjpnZXRPd25Qcm9wZXJ0eVNs
b3RCeUluZGV4KHRoaXNPYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwgc2xvdCk7CiAgICAgICAg
IH0KIAogICAgICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEV4ZWNT
dGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eURlc2Ny
aXB0b3ImIGRlc2NyaXB0b3IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TdHJpbmdPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Ry
aW5nT2JqZWN0LmNwcAppbmRleCBiNzIzZTkzMDU4YzljZjI0NDUxNjMyMGVlNDIwNjc1OTM1Mzhh
NjA2Li42NzUwNGNhMGZmN2Y3NmFmOTVlNWZhMDAwY2E5NTI0YmUyNmMzNWEzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdPYmplY3QuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdC5jcHAKQEAgLTU2LDEwICs1
NiwxMCBAQCBib29sIFN0cmluZ09iamVjdDo6Z2V0T3duUHJvcGVydHlTbG90KEpTQ2VsbCogY2Vs
bCwgRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudAogICAgIAogYm9vbCBTdHJpbmdPYmplY3Q6
OmdldE93blByb3BlcnR5U2xvdFZpcnR1YWwoRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBwcm9w
ZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdCkKIHsKLSAgICByZXR1cm4gZ2V0T3duUHJvcGVy
dHlTbG90KHRoaXMsIGV4ZWMsIHByb3BlcnR5TmFtZSwgc2xvdCk7CisgICAgcmV0dXJuIGdldE93
blByb3BlcnR5U2xvdEJ5SW5kZXgodGhpcywgZXhlYywgcHJvcGVydHlOYW1lLCBzbG90KTsKIH0K
IAotYm9vbCBTdHJpbmdPYmplY3Q6OmdldE93blByb3BlcnR5U2xvdChKU0NlbGwqIGNlbGwsIEV4
ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNsb3Qp
Citib29sIFN0cmluZ09iamVjdDo6Z2V0T3duUHJvcGVydHlTbG90QnlJbmRleChKU0NlbGwqIGNl
bGwsIEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3Qm
IHNsb3QpCiB7CiAgICAgU3RyaW5nT2JqZWN0KiB0aGlzT2JqZWN0ID0gc3RhdGljX2Nhc3Q8U3Ry
aW5nT2JqZWN0Kj4oY2VsbCk7CiAgICAgaWYgKHRoaXNPYmplY3QtPmludGVybmFsVmFsdWUoKS0+
Z2V0U3RyaW5nUHJvcGVydHlTbG90KGV4ZWMsIHByb3BlcnR5TmFtZSwgc2xvdCkpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdPYmplY3QuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdC5oCmluZGV4IGRjZWIxYmIxZmFh
MGU3NGYyMjVmYmVmNjc0MDNhMzVjNmQ3YmE1OGQuLjQxZDUzYTEyNmIwNTAxMmI4MjM4OTgxMTZl
NTZiYzE2OGZmMGRkZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1N0cmluZ09iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmlu
Z09iamVjdC5oCkBAIC00OCw3ICs0OCw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2aXJ0
dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90VmlydHVhbChFeGVjU3RhdGUqLCBjb25zdCBJZGVu
dGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYpOwogICAgICAgICBzdGF0aWMgYm9v
bCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiwgRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmll
ciYgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsKICAgICAgICAgdmlydHVhbCBib29sIGdl
dE93blByb3BlcnR5U2xvdFZpcnR1YWwoRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1l
LCBQcm9wZXJ0eVNsb3QmKTsKLSAgICAgICAgc3RhdGljIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90
KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90
Jik7CisgICAgICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgoSlNDZWxs
KiwgRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsKICAg
ICAgICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5RGVzY3JpcHRvcihFeGVjU3RhdGUqLCBj
b25zdCBJZGVudGlmaWVyJiwgUHJvcGVydHlEZXNjcmlwdG9yJik7CiAKICAgICAgICAgdmlydHVh
bCB2b2lkIHB1dFZpcnR1YWwoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlO
YW1lLCBKU1ZhbHVlLCBQdXRQcm9wZXJ0eVNsb3QmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCmluZGV4IDU3OTQzYmVhYmRi
ZmRiOGMyOWRhZjA5MzY2OTk2NWQzN2Y0NGQ4MjMuLjk2MmJmNWQ5MDUyYTcyNWUyZmUzNmViYmZm
NWU3YzdlOGFiNTgzZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nl
cmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
U2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcApAQCAtMzMzLDcgKzMzMyw3IEBAIHByaXZhdGU6CiAg
ICAgewogICAgICAgICBQcm9wZXJ0eVNsb3Qgc2xvdChhcnJheSk7CiAgICAgICAgIGlmIChpc0pT
QXJyYXkoJm1fZXhlYy0+Z2xvYmFsRGF0YSgpLCBhcnJheSkpIHsKLSAgICAgICAgICAgIGlmIChK
U0FycmF5OjpnZXRPd25Qcm9wZXJ0eVNsb3QoYXJyYXksIG1fZXhlYywgcHJvcGVydHlOYW1lLCBz
bG90KSkgeworICAgICAgICAgICAgaWYgKEpTQXJyYXk6OmdldE93blByb3BlcnR5U2xvdEJ5SW5k
ZXgoYXJyYXksIG1fZXhlYywgcHJvcGVydHlOYW1lLCBzbG90KSkgewogICAgICAgICAgICAgICAg
IGhhc0luZGV4ID0gdHJ1ZTsKICAgICAgICAgICAgICAgICByZXR1cm4gc2xvdC5nZXRWYWx1ZSht
X2V4ZWMsIHByb3BlcnR5TmFtZSk7CiAgICAgICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IGI4MzIwNjQ1MDdi
YmUwMDg2YmUxYWFjMWIwMjA2N2RkNWNmNzNjNzEuLjhhNWYxYmYyOWMwZTZiNTA3NGIwNjI5ZjQ2
ZDcwMjQ4NDhjYWIyOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC03NzQsNyArNzc0LDcgQEAgc3ViIEdlbmVyYXRlSGVh
ZGVyCiAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgc3RhdGljIGJvb2wgZ2V0T3du
UHJvcGVydHlTbG90KEpTQzo6SlNDZWxsKiwgSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBKU0M6Oklk
ZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNDOjpQcm9wZXJ0eVNsb3QmKTtcbiIpOwogICAgICAg
ICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBKU0M6OklkZW50aWZpZXImIHByb3BlcnR5
TmFtZSwgSlNDOjpQcm9wZXJ0eURlc2NyaXB0b3ImKTtcbiIpOwogICAgICAgICBwdXNoKEBoZWFk
ZXJDb250ZW50LCAiICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0dWFsKEpT
Qzo6RXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBKU0M6OlByb3BlcnR5U2xvdCYp
O1xuIikgaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ikhhc0luZGV4R2V0dGVy
In0gfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSGFzQ3VzdG9tSW5kZXhHZXR0
ZXIifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJIYXNOdW1lcmljSW5kZXhH
ZXR0ZXIifSkgJiYgISRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ikhhc092ZXJyaWRp
bmdOYW1lR2V0dGVyIn07Ci0gICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgc3RhdGlj
IGJvb2wgZ2V0T3duUHJvcGVydHlTbG90KEpTQzo6SlNDZWxsKiwgSlNDOjpFeGVjU3RhdGUqLCB1
bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIEpTQzo6UHJvcGVydHlTbG90Jik7XG4iKSBpZiAoJGRhdGFO
b2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSGFzSW5kZXhHZXR0ZXIifSB8fCAkZGF0YU5vZGUt
PmV4dGVuZGVkQXR0cmlidXRlcy0+eyJIYXNDdXN0b21JbmRleEdldHRlciJ9IHx8ICRkYXRhTm9k
ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ikhhc051bWVyaWNJbmRleEdldHRlciJ9KSAmJiAhJGRh
dGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSGFzT3ZlcnJpZGluZ05hbWVHZXR0ZXIifTsK
KyAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiAgICBzdGF0aWMgYm9vbCBnZXRPd25Qcm9w
ZXJ0eVNsb3RCeUluZGV4KEpTQzo6SlNDZWxsKiwgSlNDOjpFeGVjU3RhdGUqLCB1bnNpZ25lZCBw
cm9wZXJ0eU5hbWUsIEpTQzo6UHJvcGVydHlTbG90Jik7XG4iKSBpZiAoJGRhdGFOb2RlLT5leHRl
bmRlZEF0dHJpYnV0ZXMtPnsiSGFzSW5kZXhHZXR0ZXIifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVk
QXR0cmlidXRlcy0+eyJIYXNDdXN0b21JbmRleEdldHRlciJ9IHx8ICRkYXRhTm9kZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57Ikhhc051bWVyaWNJbmRleEdldHRlciJ9KSAmJiAhJGRhdGFOb2RlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiSGFzT3ZlcnJpZGluZ05hbWVHZXR0ZXIifTsKICAgICAgICAg
cHVzaChAaGVhZGVyQ29udGVudCwgIiAgICBib29sIGdldE93blByb3BlcnR5U2xvdERlbGVnYXRl
KEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgSlNDOjpJZGVudGlmaWVyJiwgSlNDOjpQcm9wZXJ0eVNs
b3QmKTtcbiIpIGlmICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkRlbGVnYXRpbmdH
ZXRPd25Qcm9wZXJ0eVNsb3QifTsKICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiAgICBi
b29sIGdldE93blByb3BlcnR5RGVzY3JpcHRvckRlbGVnYXRlKEpTQzo6RXhlY1N0YXRlKiwgY29u
c3QgSlNDOjpJZGVudGlmaWVyJiwgSlNDOjpQcm9wZXJ0eURlc2NyaXB0b3ImKTtcbiIpIGlmICRk
YXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkRlbGVnYXRpbmdHZXRPd25Qcm9wZXJ0eVNs
b3QifTsKICAgICAgICAgJHN0cnVjdHVyZUZsYWdzeyJKU0M6Ok92ZXJyaWRlc0dldE93blByb3Bl
cnR5U2xvdCJ9ID0gMTsKQEAgLTE2MDQsOSArMTYwNCw5IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVu
dGF0aW9uCiAgICAgICAgICAgICAgICAgJiYgISRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57Ikhhc092ZXJyaWRpbmdOYW1lR2V0dGVyIn0pIHsKICAgICAgICAgICAgIHB1c2goQGltcGxD
b250ZW50LCAiYm9vbCAke2NsYXNzTmFtZX06OmdldE93blByb3BlcnR5U2xvdFZpcnR1YWwoRXhl
Y1N0YXRlKiBleGVjLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdClc
biIpOwogICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ7XG4iKTsKLSAgICAgICAgICAg
IHB1c2goQGltcGxDb250ZW50LCAiICAgIHJldHVybiBnZXRPd25Qcm9wZXJ0eVNsb3QodGhpcywg
ZXhlYywgcHJvcGVydHlOYW1lLCBzbG90KTtcbiIpOworICAgICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICIgICAgcmV0dXJuIGdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgodGhpcywgZXhlYywg
cHJvcGVydHlOYW1lLCBzbG90KTtcbiIpOwogICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQs
ICJ9XG5cbiIpOwotICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJib29sICR7Y2xhc3NO
YW1lfTo6Z2V0T3duUHJvcGVydHlTbG90KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCB1
bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdClcbiIpOworICAgICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICJib29sICR7Y2xhc3NOYW1lfTo6Z2V0T3duUHJvcGVydHlT
bG90QnlJbmRleChKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgcHJvcGVy
dHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNsb3QpXG4iKTsKICAgICAgICAgICAgIHB1c2goQGltcGxD
b250ZW50LCAie1xuIik7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAke2Ns
YXNzTmFtZX0qIHRoaXNPYmplY3QgPSBzdGF0aWNfY2FzdDwke2NsYXNzTmFtZX0qPihjZWxsKTtc
biIpOwogICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgQVNTRVJUX0dDX09CSkVD
VF9JTkhFUklUUyh0aGlzT2JqZWN0LCAmc19pbmZvKTtcbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfYXJyYXkuY3BwIGIvU291cmNlL1dlYkNvcmUvYnJpZGdl
L3J1bnRpbWVfYXJyYXkuY3BwCmluZGV4IDg3MjJlNTg1MTlhYmZlZjYwMjM2OTI0ODY4OGU1ZjQ4
YzUzNTY3NTcuLmUzYjU0MGViZDcyMDIxN2UwZGVjYmI4OGM4YmE0NDVhZDVjZjBjODggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX2FycmF5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9hcnJheS5jcHAKQEAgLTEyOCwxMCArMTI4LDEwIEBA
IGJvb2wgUnVudGltZUFycmF5OjpnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRXhlY1N0YXRlKiBl
eGVjLCBjb25zdCBJZGVudGlmaWVyJiBwCiAKIGJvb2wgUnVudGltZUFycmF5OjpnZXRPd25Qcm9w
ZXJ0eVNsb3RWaXJ0dWFsKEV4ZWNTdGF0ZSAqZXhlYywgdW5zaWduZWQgaW5kZXgsIFByb3BlcnR5
U2xvdCYgc2xvdCkKIHsKLSAgICByZXR1cm4gZ2V0T3duUHJvcGVydHlTbG90KHRoaXMsIGV4ZWMs
IGluZGV4LCBzbG90KTsKKyAgICByZXR1cm4gZ2V0T3duUHJvcGVydHlTbG90QnlJbmRleCh0aGlz
LCBleGVjLCBpbmRleCwgc2xvdCk7CiB9CiAKLWJvb2wgUnVudGltZUFycmF5OjpnZXRPd25Qcm9w
ZXJ0eVNsb3QoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUgKmV4ZWMsIHVuc2lnbmVkIGluZGV4LCBQ
cm9wZXJ0eVNsb3QmIHNsb3QpCitib29sIFJ1bnRpbWVBcnJheTo6Z2V0T3duUHJvcGVydHlTbG90
QnlJbmRleChKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSAqZXhlYywgdW5zaWduZWQgaW5kZXgsIFBy
b3BlcnR5U2xvdCYgc2xvdCkKIHsKICAgICBSdW50aW1lQXJyYXkqIHRoaXNPYmplY3QgPSBzdGF0
aWNfY2FzdDxSdW50aW1lQXJyYXkqPihjZWxsKTsKICAgICBpZiAoaW5kZXggPCB0aGlzT2JqZWN0
LT5nZXRMZW5ndGgoKSkgewpAQCAtMTM5LDcgKzEzOSw3IEBAIGJvb2wgUnVudGltZUFycmF5Ojpn
ZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUgKmV4ZWMsIHVuc2lnbmVk
IGluCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICAgICAKLSAgICByZXR1cm4gSlNPYmpl
Y3Q6OmdldE93blByb3BlcnR5U2xvdCh0aGlzT2JqZWN0LCBleGVjLCBpbmRleCwgc2xvdCk7Cisg
ICAgcmV0dXJuIEpTT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KHRoaXNPYmplY3Qs
IGV4ZWMsIGluZGV4LCBzbG90KTsKIH0KIAogdm9pZCBSdW50aW1lQXJyYXk6OnB1dFZpcnR1YWwo
RXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUg
dmFsdWUsIFB1dFByb3BlcnR5U2xvdCYgc2xvdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JyaWRnZS9ydW50aW1lX2FycmF5LmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9h
cnJheS5oCmluZGV4IDE3ODUyZTg5ZGVjN2ZjNmRkM2NjYzMyYTVlYTBkNjllZTk4ZGNmZGYuLmRk
YmUzN2ZkM2I4ZWNkZDZlYWQ4MmExN2VlMWY3ZGFkYmI4MmMwOWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX2FycmF5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYnJp
ZGdlL3J1bnRpbWVfYXJyYXkuaApAQCAtNTMsNyArNTMsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCBib29sIGdldE93blByb3BlcnR5U2xvdFZpcnR1YWwoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRp
ZmllciYsIFByb3BlcnR5U2xvdCYpOwogICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xv
dChKU0NlbGwqLCBFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiwgUHJvcGVydHlTbG90Jik7
CiAgICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5U2xvdFZpcnR1YWwoRXhlY1N0YXRlKiwg
dW5zaWduZWQsIFByb3BlcnR5U2xvdCYpOwotICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5
U2xvdChKU0NlbGwqLCBFeGVjU3RhdGUqLCB1bnNpZ25lZCwgUHJvcGVydHlTbG90Jik7CisgICAg
c3RhdGljIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90QnlJbmRleChKU0NlbGwqLCBFeGVjU3RhdGUq
LCB1bnNpZ25lZCwgUHJvcGVydHlTbG90Jik7CiAgICAgdmlydHVhbCBib29sIGdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiwgUHJvcGVydHlEZXNj
cmlwdG9yJik7CiAgICAgdmlydHVhbCB2b2lkIHB1dFZpcnR1YWwoRXhlY1N0YXRlKiwgY29uc3Qg
SWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU1ZhbHVlLCBQdXRQcm9wZXJ0eVNsb3QmKTsKICAg
ICBzdGF0aWMgdm9pZCBwdXQoSlNDZWxsKiwgRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYg
cHJvcGVydHlOYW1lLCBKU1ZhbHVlLCBQdXRQcm9wZXJ0eVNsb3QmKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112120</attachid>
            <date>2011-10-23 10:55:12 -0700</date>
            <delta_ts>2011-10-24 11:36:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70271-20111023105511.patch</filename>
            <type>text/plain</type>
            <size>34838</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTgyMDEKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGNk
MzFhYzZlMzhjNTg0ODQxZTQxNWM2YjA5OTkzNmQ2MDRmNTczNjUuLmJiMGM1ZjczNmNhNjkwNzA1
NTZiNjExZTcxNTkxNDYzYjUyOGQxMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDU3IEBACisyMDExLTEwLTIzICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBs
ZS5jb20+CisKKyAgICAgICAgUmVuYW1lIHN0YXRpYyBnZXRPd25Qcm9wZXJ0eVNsb3QgdG8gZ2V0
T3duUHJvcGVydHlTbG90QnlJbmRleAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzAyNzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBSZW5hbWluZyB2ZXJzaW9ucyBvZiBnZXRPd25Qcm9wZXJ0eVNsb3QgdGhh
dCB1c2UgYW4gdW5zaWduZWQgYXMgdGhlIHByb3BlcnR5CisgICAgICAgIG5hbWUgdG8gImdldE93
blByb3BlcnR5U2xvdEJ5SW5kZXgiIGluIHByZXBhcmF0aW9uIGZvciBhZGRpbmcgdGhlbSB0byB0
aGUgCisgICAgICAgIE1ldGhvZFRhYmxlLCB3aGljaCByZXF1aXJlcyB1bmlxdWUgbmFtZXMgZm9y
IGVhY2ggbWV0aG9kLgorCisgICAgICAgICogSmF2YVNjcmlwdENvcmUuZXhwOgorICAgICAgICAq
IEphdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWY6
CisgICAgICAgICogcnVudGltZS9Bcmd1bWVudHMuY3BwOgorICAgICAgICAoSlNDOjpBcmd1bWVu
dHM6OmdldE93blByb3BlcnR5U2xvdFZpcnR1YWwpOgorICAgICAgICAoSlNDOjpBcmd1bWVudHM6
OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgpOgorICAgICAgICAqIHJ1bnRpbWUvQXJndW1lbnRz
Lmg6CisgICAgICAgICogcnVudGltZS9KU0FycmF5LmNwcDoKKyAgICAgICAgKEpTQzo6SlNBcnJh
eTo6Z2V0T3duUHJvcGVydHlTbG90VmlydHVhbCk6CisgICAgICAgIChKU0M6OkpTQXJyYXk6Omdl
dE93blByb3BlcnR5U2xvdEJ5SW5kZXgpOgorICAgICAgICAoSlNDOjpKU0FycmF5OjpnZXRPd25Q
cm9wZXJ0eVNsb3QpOgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJheS5oOgorICAgICAgICAqIHJ1
bnRpbWUvSlNCeXRlQXJyYXkuY3BwOgorICAgICAgICAoSlNDOjpKU0J5dGVBcnJheTo6Z2V0T3du
UHJvcGVydHlTbG90VmlydHVhbCk6CisgICAgICAgIChKU0M6OkpTQnl0ZUFycmF5OjpnZXRPd25Q
cm9wZXJ0eVNsb3RCeUluZGV4KToKKyAgICAgICAgKiBydW50aW1lL0pTQnl0ZUFycmF5Lmg6Cisg
ICAgICAgICogcnVudGltZS9KU0NlbGwuY3BwOgorICAgICAgICAoSlNDOjpKU0NlbGw6OmdldE93
blByb3BlcnR5U2xvdFZpcnR1YWwpOgorICAgICAgICAoSlNDOjpKU0NlbGw6OmdldE93blByb3Bl
cnR5U2xvdEJ5SW5kZXgpOgorICAgICAgICAqIHJ1bnRpbWUvSlNDZWxsLmg6CisgICAgICAgICog
cnVudGltZS9KU05vdEFuT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNOb3RBbk9iamVjdDo6
Z2V0T3duUHJvcGVydHlTbG90VmlydHVhbCk6CisgICAgICAgIChKU0M6OkpTTm90QW5PYmplY3Q6
OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgpOgorICAgICAgICAqIHJ1bnRpbWUvSlNOb3RBbk9i
amVjdC5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpK
U09iamVjdDo6Z2V0T3duUHJvcGVydHlTbG90VmlydHVhbCk6CisgICAgICAgIChKU0M6OkpTT2Jq
ZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KToKKyAgICAgICAgKiBydW50aW1lL0pTT2Jq
ZWN0Lmg6CisgICAgICAgICogcnVudGltZS9KU1N0cmluZy5jcHA6CisgICAgICAgIChKU0M6OkpT
U3RyaW5nOjpnZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0dWFsKToKKyAgICAgICAgKEpTQzo6SlNTdHJp
bmc6OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgpOgorICAgICAgICAqIHJ1bnRpbWUvSlNTdHJp
bmcuaDoKKyAgICAgICAgKiBydW50aW1lL09iamVjdFByb3RvdHlwZS5jcHA6CisgICAgICAgIChK
U0M6Ok9iamVjdFByb3RvdHlwZTo6Z2V0T3duUHJvcGVydHlTbG90VmlydHVhbCk6CisgICAgICAg
IChKU0M6Ok9iamVjdFByb3RvdHlwZTo6Z2V0T3duUHJvcGVydHlTbG90QnlJbmRleCk6CisgICAg
ICAgICogcnVudGltZS9PYmplY3RQcm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL1JlZ0V4
cE1hdGNoZXNBcnJheS5oOgorICAgICAgICAoSlNDOjpSZWdFeHBNYXRjaGVzQXJyYXk6OmdldE93
blByb3BlcnR5U2xvdFZpcnR1YWwpOgorICAgICAgICAoSlNDOjpSZWdFeHBNYXRjaGVzQXJyYXk6
OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgpOgorICAgICAgICAqIHJ1bnRpbWUvU3RyaW5nT2Jq
ZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6U3RyaW5nT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3RW
aXJ0dWFsKToKKyAgICAgICAgKEpTQzo6U3RyaW5nT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3RC
eUluZGV4KToKKyAgICAgICAgKiBydW50aW1lL1N0cmluZ09iamVjdC5oOgorCiAyMDExLTEwLTIz
ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CiAKICAgICAgICAgVHJ5IHRvIGZp
eCB0aGUgU0wgYnVpbGQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjY2YjcyM2VkMGYyMzc4ZGUwOGJmYTBiMjYz
NTU3YTJiNDQzYWNkMC4uMWZhNGM0ODY2YTAyOTYzNzNlOWE3OTlhNWY3ZjM4YjhlYmM4MmM5YyAx
MDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDExLTEwLTIzICBNYXJrIEhhaG5lbmJlcmcg
IDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisKKyAgICAgICAgUmVuYW1lIHN0YXRpYyBnZXRPd25Q
cm9wZXJ0eVNsb3QgdG8gZ2V0T3duUHJvcGVydHlTbG90QnlJbmRleAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNzEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMuCisKKyAgICAgICAg
UmVuYW1pbmcgdmVyc2lvbnMgb2YgZ2V0T3duUHJvcGVydHlTbG90IHRoYXQgdXNlIGFuIHVuc2ln
bmVkIGFzIHRoZSBwcm9wZXJ0eQorICAgICAgICBuYW1lIHRvICJnZXRPd25Qcm9wZXJ0eVNsb3RC
eUluZGV4IiBpbiBwcmVwYXJhdGlvbiBmb3IgYWRkaW5nIHRoZW0gdG8gdGhlIAorICAgICAgICBN
ZXRob2RUYWJsZSwgd2hpY2ggcmVxdWlyZXMgdW5pcXVlIG5hbWVzIGZvciBlYWNoIG1ldGhvZC4K
KworICAgICAgICAqIGJpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDbG9uZVNlcmlhbGl6ZXI6OmdldFNwYXJzZUluZGV4KToKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRl
SGVhZGVyKToKKyAgICAgICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb24pOgorICAgICAgICAqIGJy
aWRnZS9ydW50aW1lX2FycmF5LmNwcDoKKyAgICAgICAgKEpTQzo6UnVudGltZUFycmF5OjpnZXRP
d25Qcm9wZXJ0eVNsb3RWaXJ0dWFsKToKKyAgICAgICAgKEpTQzo6UnVudGltZUFycmF5OjpnZXRP
d25Qcm9wZXJ0eVNsb3RCeUluZGV4KToKKyAgICAgICAgKiBicmlkZ2UvcnVudGltZV9hcnJheS5o
OgorCiAyMDExLTEwLTIyICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgU2VwYXJhdGVkIHN0cmluZyBsaWZldGltZSBiaXRzIGZyb20gY2hhcmFjdGVyIGJ1ZmZl
ciBzdGF0ZSBiaXRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUuZXhwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cAppbmRl
eCAyNGZkMDQwZDMwZDUyNGU2MDI2MGEzYWQ5Y2YwMmYxYmE4Yjg2YjQwLi5kMzMzZGU3NDYwMmIx
MWI3MzRlNWUzZjZkNTYxNzFiNmU3ODBlZDhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUuZXhwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS5leHAKQEAgLTI4Myw3ICsyODMsNyBAQCBfX1pOM0pTQzdKU0FycmF5MTN2aXNp
dENoaWxkcmVuRVBOU182SlNDZWxsRVJOU18xMVNsb3RWaXNpdG9yRQogX19aTjNKU0M3SlNBcnJh
eTE0ZmluaXNoQ3JlYXRpb25FUk5TXzEySlNHbG9iYWxEYXRhRQogX19aTjNKU0M3SlNBcnJheTE0
ZmluaXNoQ3JlYXRpb25FUk5TXzEySlNHbG9iYWxEYXRhRVJLTlNfN0FyZ0xpc3RFCiBfX1pOM0pT
QzdKU0FycmF5MTVzZXRTdWJjbGFzc0RhdGFFUHYKLV9fWk4zSlNDN0pTQXJyYXkxOGdldE93blBy
b3BlcnR5U2xvdEVQTlNfNkpTQ2VsbEVQTlNfOUV4ZWNTdGF0ZUVqUk5TXzEyUHJvcGVydHlTbG90
RQorX19aTjNKU0M3SlNBcnJheTI1Z2V0T3duUHJvcGVydHlTbG90QnlJbmRleEVQTlNfNkpTQ2Vs
bEVQTlNfOUV4ZWNTdGF0ZUVqUk5TXzEyUHJvcGVydHlTbG90RQogX19aTjNKU0M3SlNBcnJheTZz
X2luZm9FCiBfX1pOM0pTQzdKU0FycmF5OXNldExlbmd0aEVqCiBfX1pOM0pTQzdKU0FycmF5QzFF
Uk5TXzEySlNHbG9iYWxEYXRhRVBOU185U3RydWN0dXJlRQpAQCAtMzI3LDcgKzMyNyw2IEBAIF9f
Wk4zSlNDOEpTT2JqZWN0MTdwdXRXaXRoQXR0cmlidXRlc0VQTlNfMTJKU0dsb2JhbERhdGFFak5T
XzdKU1ZhbHVlRWoKIF9fWk4zSlNDOEpTT2JqZWN0MTdwdXRXaXRoQXR0cmlidXRlc0VQTlNfOUV4
ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckVOU183SlNWYWx1ZUVqCiBfX1pOM0pTQzhKU09iamVj
dDE3cHV0V2l0aEF0dHJpYnV0ZXNFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJFTlNf
N0pTVmFsdWVFamJSTlNfMTVQdXRQcm9wZXJ0eVNsb3RFCiBfX1pOM0pTQzhKU09iamVjdDE3cHV0
V2l0aEF0dHJpYnV0ZXNFUE5TXzlFeGVjU3RhdGVFak5TXzdKU1ZhbHVlRWoKLV9fWk4zSlNDOEpT
T2JqZWN0MThnZXRPd25Qcm9wZXJ0eVNsb3RFUE5TXzZKU0NlbGxFUE5TXzlFeGVjU3RhdGVFalJO
U18xMlByb3BlcnR5U2xvdEUKIF9fWk4zSlNDOEpTT2JqZWN0MTlnZXRPd25Qcm9wZXJ0eU5hbWVz
RVBOU185RXhlY1N0YXRlRVJOU18xN1Byb3BlcnR5TmFtZUFycmF5RU5TXzE1RW51bWVyYXRpb25N
b2RlRQogX19aTjNKU0M4SlNPYmplY3QyMWRlbGV0ZVByb3BlcnR5VmlydHVhbEVQTlNfOUV4ZWNT
dGF0ZUVSS05TXzEwSWRlbnRpZmllckUKIF9fWk4zSlNDOEpTT2JqZWN0MjFkZWxldGVQcm9wZXJ0
eVZpcnR1YWxFUE5TXzlFeGVjU3RhdGVFagpAQCAtMzM1LDYgKzMzNCw3IEBAIF9fWk4zSlNDOEpT
T2JqZWN0MjFnZXRQcm9wZXJ0eURlc2NyaXB0b3JFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50
aWZpZXJFUk5TXzE4CiBfX1pOM0pTQzhKU09iamVjdDIyZmlsbEdldHRlclByb3BlcnR5U2xvdEVS
TlNfMTJQcm9wZXJ0eVNsb3RFUE5TXzE2V3JpdGVCYXJyaWVyQmFzZUlOU183VW5rbm93bkVFRQog
X19aTjNKU0M4SlNPYmplY3QyM2FsbG9jYXRlUHJvcGVydHlTdG9yYWdlRVJOU18xMkpTR2xvYmFs
RGF0YUVtbQogX19aTjNKU0M4SlNPYmplY3QyNGdldE93blByb3BlcnR5RGVzY3JpcHRvckVQTlNf
OUV4ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckVSTlNfMThQcm9wZXJ0eURlc2NyaXB0b3JFCitf
X1pOM0pTQzhKU09iamVjdDI1Z2V0T3duUHJvcGVydHlTbG90QnlJbmRleEVQTlNfNkpTQ2VsbEVQ
TlNfOUV4ZWNTdGF0ZUVqUk5TXzEyUHJvcGVydHlTbG90RQogX19aTjNKU0M4SlNPYmplY3QyNWdl
dE93blByb3BlcnR5U2xvdFZpcnR1YWxFUE5TXzlFeGVjU3RhdGVFalJOU18xMlByb3BlcnR5U2xv
dEUKIF9fWk4zSlNDOEpTT2JqZWN0M3B1dEVQTlNfNkpTQ2VsbEVQTlNfOUV4ZWNTdGF0ZUVSS05T
XzEwSWRlbnRpZmllckVOU183SlNWYWx1ZUVSTlNfMTVQdXRQcm9wZXJ0eVNsb3RFCiBfX1pOM0pT
QzhKU09iamVjdDZzX2luZm9FCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZiBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUuZGVmCmluZGV4IDM1YWIzNGEzMzg3NzA0ZWNlNzc5MTQ3NWYxMDQzZTRm
Y2E5YmNlNjIuLjk2NzE1OWE2ZGJlNTZmYTA2NjVjNmQyYzBhNTRlMGJjODE2NGQzNWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVmCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVmCkBA
IC0yMDIsOCArMjAyLDggQEAgRVhQT1JUUwogICAgID9nZXRPd25Qcm9wZXJ0eU5hbWVzQEpTT2Jq
ZWN0QEpTQ0BAVUFFWFBBVkV4ZWNTdGF0ZUAyQEFBVlByb3BlcnR5TmFtZUFycmF5QDJAVzRFbnVt
ZXJhdGlvbk1vZGVAMkBAWgogICAgID9nZXRPd25Qcm9wZXJ0eU5hbWVzQEpTVmFyaWFibGVPYmpl
Y3RASlNDQEBVQUVYUEFWRXhlY1N0YXRlQDJAQUFWUHJvcGVydHlOYW1lQXJyYXlAMkBXNEVudW1l
cmF0aW9uTW9kZUAyQEBaCiAgICAgP2dldE93blByb3BlcnR5TmFtZXNAU3RyaW5nT2JqZWN0QEpT
Q0BAVUFFWFBBVkV4ZWNTdGF0ZUAyQEFBVlByb3BlcnR5TmFtZUFycmF5QDJAVzRFbnVtZXJhdGlv
bk1vZGVAMkBAWgotICAgID9nZXRPd25Qcm9wZXJ0eVNsb3RASlNBcnJheUBKU0NAQFNBX05QQVZK
U0NlbGxAMkBQQVZFeGVjU3RhdGVAMkBJQUFWUHJvcGVydHlTbG90QDJAQFoKICAgICA/Z2V0T3du
UHJvcGVydHlTbG90QEpTR2xvYmFsT2JqZWN0QEpTQ0BAU0FfTlBBVkpTQ2VsbEAyQFBBVkV4ZWNT
dGF0ZUAyQEFCVklkZW50aWZpZXJAMkBBQVZQcm9wZXJ0eVNsb3RAMkBAWgorICAgID9nZXRPd25Q
cm9wZXJ0eVNsb3RCeUluZGV4QEpTQXJyYXlASlNDQEBTQV9OUEFWSlNDZWxsQDJAUEFWRXhlY1N0
YXRlQDJASUFBVlByb3BlcnR5U2xvdEAyQEBaCiAgICAgP2dldE93blByb3BlcnR5U2xvdFZpcnR1
YWxASlNDZWxsQEpTQ0BARUFFX05QQVZFeGVjU3RhdGVAMkBBQlZJZGVudGlmaWVyQDJAQUFWUHJv
cGVydHlTbG90QDJAQFoKICAgICA/Z2V0T3duUHJvcGVydHlTbG90VmlydHVhbEBKU0NlbGxASlND
QEBFQUVfTlBBVkV4ZWNTdGF0ZUAyQElBQVZQcm9wZXJ0eVNsb3RAMkBAWgogICAgID9nZXRPd25Q
cm9wZXJ0eVNsb3RWaXJ0dWFsQEpTR2xvYmFsT2JqZWN0QEpTQ0BAVUFFX05QQVZFeGVjU3RhdGVA
MkBBQlZJZGVudGlmaWVyQDJAQUFWUHJvcGVydHlTbG90QDJAQFoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9Bcmd1bWVudHMuY3BwCmluZGV4IDA4OTAxY2EwMjQ2ODVjODJmMjU4ZDAz
OWZmN2NhNDRlNzQ5NzExZDQuLjdiNjZlZGExMzM1OTY2OTQyMWQ0YjkxM2NlODc3ZGEyZWU1ZGY4
ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmNwcApAQCAt
MTQ3LDEwICsxNDcsMTAgQEAgdm9pZCBBcmd1bWVudHM6OmZpbGxBcmdMaXN0KEV4ZWNTdGF0ZSog
ZXhlYywgTWFya2VkQXJndW1lbnRCdWZmZXImIGFyZ3MpCiAKIGJvb2wgQXJndW1lbnRzOjpnZXRP
d25Qcm9wZXJ0eVNsb3RWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgaSwgUHJvcGVy
dHlTbG90JiBzbG90KQogewotICAgIHJldHVybiBnZXRPd25Qcm9wZXJ0eVNsb3QodGhpcywgZXhl
YywgaSwgc2xvdCk7CisgICAgcmV0dXJuIGdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgodGhpcywg
ZXhlYywgaSwgc2xvdCk7CiB9CiAKLWJvb2wgQXJndW1lbnRzOjpnZXRPd25Qcm9wZXJ0eVNsb3Qo
SlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIGksIFByb3BlcnR5U2xvdCYg
c2xvdCkKK2Jvb2wgQXJndW1lbnRzOjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KEpTQ2VsbCog
Y2VsbCwgRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBpLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCiB7
CiAgICAgQXJndW1lbnRzKiB0aGlzT2JqZWN0ID0gc3RhdGljX2Nhc3Q8QXJndW1lbnRzKj4oY2Vs
bCk7CiAgICAgaWYgKGkgPCB0aGlzT2JqZWN0LT5kLT5udW1Bcmd1bWVudHMgJiYgKCF0aGlzT2Jq
ZWN0LT5kLT5kZWxldGVkQXJndW1lbnRzIHx8ICF0aGlzT2JqZWN0LT5kLT5kZWxldGVkQXJndW1l
bnRzW2ldKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJn
dW1lbnRzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuaAppbmRl
eCA0NWE3NWM5NGIxNzBmYWIyNmIxNGIwZmIzMGE2Y2I5ZWYzOTJjYTVkLi5kOTc2NTVkMTAwOWIx
NmFmOGFkNWRjZDVmYTYxYzhmZWQxMWYxZDRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9Bcmd1bWVudHMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Bcmd1bWVudHMuaApAQCAtMTM4LDcgKzEzOCw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAg
ICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90VmlydHVhbChFeGVjU3RhdGUqLCBj
b25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYpOwogICAgICAgICBz
dGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiwgRXhlY1N0YXRlKiwgY29uc3Qg
SWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsKICAgICAgICAgdmlydHVh
bCBib29sIGdldE93blByb3BlcnR5U2xvdFZpcnR1YWwoRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJv
cGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsKLSAgICAgICAgc3RhdGljIGJvb2wgZ2V0T3duUHJv
cGVydHlTbG90KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJv
cGVydHlTbG90Jik7CisgICAgICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdEJ5SW5k
ZXgoSlNDZWxsKiwgRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNs
b3QmKTsKICAgICAgICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5RGVzY3JpcHRvcihFeGVj
U3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiwgUHJvcGVydHlEZXNjcmlwdG9yJik7CiAgICAgICAg
IHZpcnR1YWwgdm9pZCBnZXRPd25Qcm9wZXJ0eU5hbWVzKEV4ZWNTdGF0ZSosIFByb3BlcnR5TmFt
ZUFycmF5JiwgRW51bWVyYXRpb25Nb2RlIG1vZGUgPSBFeGNsdWRlRG9udEVudW1Qcm9wZXJ0aWVz
KTsKICAgICAgICAgdmlydHVhbCB2b2lkIHB1dFZpcnR1YWwoRXhlY1N0YXRlKiwgY29uc3QgSWRl
bnRpZmllciYgcHJvcGVydHlOYW1lLCBKU1ZhbHVlLCBQdXRQcm9wZXJ0eVNsb3QmKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAKaW5kZXggYWQzOWEwZGQ0YWE4MWEz
N2UyYWUxMmI5M2Q3ZTIzNTgzYmMwOTI0Mi4uMzIxNDFmODA5ZmJlNTIyNTQwYzYxNTlkMWYzZmE3
ZDhjZTZiMmQ5ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNB
cnJheS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAK
QEAgLTI0NywxMCArMjQ3LDEwIEBAIEpTQXJyYXk6On5KU0FycmF5KCkKIAogYm9vbCBKU0FycmF5
OjpnZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgaSwg
UHJvcGVydHlTbG90JiBzbG90KQogewotICAgIHJldHVybiBnZXRPd25Qcm9wZXJ0eVNsb3QodGhp
cywgZXhlYywgaSwgc2xvdCk7CisgICAgcmV0dXJuIGdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgo
dGhpcywgZXhlYywgaSwgc2xvdCk7CiB9CiAKLWJvb2wgSlNBcnJheTo6Z2V0T3duUHJvcGVydHlT
bG90KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBpLCBQcm9wZXJ0eVNs
b3QmIHNsb3QpCitib29sIEpTQXJyYXk6OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgoSlNDZWxs
KiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIGksIFByb3BlcnR5U2xvdCYgc2xvdCkK
IHsKICAgICBKU0FycmF5KiB0aGlzT2JqZWN0ID0gc3RhdGljX2Nhc3Q8SlNBcnJheSo+KGNlbGwp
OwogICAgIEFycmF5U3RvcmFnZSogc3RvcmFnZSA9IHRoaXNPYmplY3QtPm1fc3RvcmFnZTsKQEAg
LTI5Niw3ICsyOTYsNyBAQCBib29sIEpTQXJyYXk6OmdldE93blByb3BlcnR5U2xvdChKU0NlbGwq
IGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllcgogICAgIGJvb2wgaXNBcnJh
eUluZGV4OwogICAgIHVuc2lnbmVkIGkgPSBwcm9wZXJ0eU5hbWUudG9BcnJheUluZGV4KGlzQXJy
YXlJbmRleCk7CiAgICAgaWYgKGlzQXJyYXlJbmRleCkKLSAgICAgICAgcmV0dXJuIEpTQXJyYXk6
OmdldE93blByb3BlcnR5U2xvdCh0aGlzT2JqZWN0LCBleGVjLCBpLCBzbG90KTsKKyAgICAgICAg
cmV0dXJuIEpTQXJyYXk6OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgodGhpc09iamVjdCwgZXhl
YywgaSwgc2xvdCk7CiAKICAgICByZXR1cm4gSlNPYmplY3Q6OmdldE93blByb3BlcnR5U2xvdCh0
aGlzT2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNBcnJheS5oCmluZGV4IDU2YTNiNzhlZTg1NmYzMjYyM2I1MTU5OGU3YWQy
NTUyZjI1OTBlMDMuLjZiNWZiYzZlMGNiMWI3ZjhjZmE1MzQ3ZmQ0YjllOGI3YTlkY2JjMjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5LmgKQEAgLTk3LDcgKzk3LDcgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3RW
aXJ0dWFsKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgUHJvcGVy
dHlTbG90Jik7CiAgICAgICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdChKU0NlbGwq
LCBFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xv
dCYpOwogICAgICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90VmlydHVhbChFeGVj
U3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYpOwotICAgICAgICBz
dGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiwgRXhlY1N0YXRlKiwgdW5zaWdu
ZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsKKyAgICAgICAgc3RhdGljIGJvb2wgZ2V0
T3duUHJvcGVydHlTbG90QnlJbmRleChKU0NlbGwqLCBFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9w
ZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYpOwogICAgICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBQcm9wZXJ0eURl
c2NyaXB0b3ImKTsKICAgICAgICAgdmlydHVhbCB2b2lkIHB1dFZpcnR1YWwoRXhlY1N0YXRlKiwg
dW5zaWduZWQgcHJvcGVydHlOYW1lLCBKU1ZhbHVlKTsgLy8gRklYTUU6IE1ha2UgcHJvdGVjdGVk
IGFuZCBhZGQgc2V0SXRlbS4KICAgICAgICAgc3RhdGljIHZvaWQgcHV0QnlJbmRleChKU0NlbGwq
LCBFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCeXRlQXJyYXkuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCeXRlQXJyYXkuY3BwCmluZGV4IDA5ODBlOTcyMzEw
YTg4NmRlNjg1MzQ1NjllM2VlM2QyZTc1MzUzN2UuLjY3MDU4YjQwOTAwOTI3NmRmNjJmZDdjZGRl
ZjE3OWYxNmNjYThlYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQnl0ZUFycmF5LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0J5
dGVBcnJheS5jcHAKQEAgLTg0LDEwICs4NCwxMCBAQCBib29sIEpTQnl0ZUFycmF5OjpnZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcgog
CiBib29sIEpTQnl0ZUFycmF5OjpnZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0dWFsKEV4ZWNTdGF0ZSog
ZXhlYywgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCiB7Ci0gICAg
cmV0dXJuIGdldE93blByb3BlcnR5U2xvdCh0aGlzLCBleGVjLCBwcm9wZXJ0eU5hbWUsIHNsb3Qp
OworICAgIHJldHVybiBnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KHRoaXMsIGV4ZWMsIHByb3Bl
cnR5TmFtZSwgc2xvdCk7CiB9CiAKLWJvb2wgSlNCeXRlQXJyYXk6OmdldE93blByb3BlcnR5U2xv
dChKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBQ
cm9wZXJ0eVNsb3QmIHNsb3QpCitib29sIEpTQnl0ZUFycmF5OjpnZXRPd25Qcm9wZXJ0eVNsb3RC
eUluZGV4KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBwcm9wZXJ0eU5h
bWUsIFByb3BlcnR5U2xvdCYgc2xvdCkKIHsKICAgICBKU0J5dGVBcnJheSogdGhpc09iamVjdCA9
IHN0YXRpY19jYXN0PEpTQnl0ZUFycmF5Kj4oY2VsbCk7CiAgICAgaWYgKHRoaXNPYmplY3QtPmNh
bkFjY2Vzc0luZGV4KHByb3BlcnR5TmFtZSkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTQnl0ZUFycmF5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0J5dGVBcnJheS5oCmluZGV4IDMzNzA0MTA3YjkzYTgxYWEzODUyZDdjYmE3OTM0MWMw
OWVkODE3N2IuLmRlNmI5YzI4MjZkYzI5NDZhOGI2ZmIwZmQ2NGNjNzI0ZDRlYmMzYjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQnl0ZUFycmF5LmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCeXRlQXJyYXkuaApAQCAtOTEsNyArOTEs
NyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5
U2xvdFZpcnR1YWwoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBKU0M6OklkZW50aWZpZXImIHByb3Bl
cnR5TmFtZSwgSlNDOjpQcm9wZXJ0eVNsb3QmKTsKICAgICAgICAgc3RhdGljIGJvb2wgZ2V0T3du
UHJvcGVydHlTbG90KEpTQzo6SlNDZWxsKiwgSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBKU0M6Oklk
ZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNDOjpQcm9wZXJ0eVNsb3QmKTsKICAgICAgICAgdmly
dHVhbCBib29sIGdldE93blByb3BlcnR5U2xvdFZpcnR1YWwoSlNDOjpFeGVjU3RhdGUqLCB1bnNp
Z25lZCBwcm9wZXJ0eU5hbWUsIEpTQzo6UHJvcGVydHlTbG90Jik7Ci0gICAgICAgIHN0YXRpYyBi
b29sIGdldE93blByb3BlcnR5U2xvdChKU0M6OkpTQ2VsbCosIEpTQzo6RXhlY1N0YXRlKiwgdW5z
aWduZWQgcHJvcGVydHlOYW1lLCBKU0M6OlByb3BlcnR5U2xvdCYpOworICAgICAgICBzdGF0aWMg
Ym9vbCBnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KEpTQzo6SlNDZWxsKiwgSlNDOjpFeGVjU3Rh
dGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIEpTQzo6UHJvcGVydHlTbG90Jik7CiAgICAgICAg
IHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRXhlY1N0YXRlKiwgY29uc3Qg
SWRlbnRpZmllciYsIFByb3BlcnR5RGVzY3JpcHRvciYpOwogICAgICAgICB2aXJ0dWFsIHZvaWQg
cHV0VmlydHVhbChKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgcHJvcGVy
dHlOYW1lLCBKU0M6OkpTVmFsdWUsIEpTQzo6UHV0UHJvcGVydHlTbG90Jik7CiAgICAgICAgIHN0
YXRpYyB2b2lkIHB1dChKU0M6OkpTQ2VsbCosIEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgSlNDOjpJ
ZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTQzo6SlNWYWx1ZSwgSlNDOjpQdXRQcm9wZXJ0eVNs
b3QmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuY3BwCmluZGV4IDkzOWY3
YjQ1MjIwY2UzMGI3M2RhZWU2MmYwNzFiYjhlZGZlYmJkOTguLjk1MmRjMjQ4YzYxMGM3MjEzNDAx
NjBjMDJjMzBkODdmMjRlZjYzOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQ2VsbC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlND
ZWxsLmNwcApAQCAtODgsMTAgKzg4LDEwIEBAIGJvb2wgSlNDZWxsOjpnZXRPd25Qcm9wZXJ0eVNs
b3QoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImCiAKIGJv
b2wgSlNDZWxsOjpnZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywgdW5z
aWduZWQgaWRlbnRpZmllciwgUHJvcGVydHlTbG90JiBzbG90KQogewotICAgIHJldHVybiBnZXRP
d25Qcm9wZXJ0eVNsb3QodGhpcywgZXhlYywgaWRlbnRpZmllciwgc2xvdCk7CisgICAgcmV0dXJu
IGdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgodGhpcywgZXhlYywgaWRlbnRpZmllciwgc2xvdCk7
CiB9CiAKLWJvb2wgSlNDZWxsOjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiBjZWxsLCBFeGVj
U3RhdGUqIGV4ZWMsIHVuc2lnbmVkIGlkZW50aWZpZXIsIFByb3BlcnR5U2xvdCYgc2xvdCkKK2Jv
b2wgSlNDZWxsOjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KEpTQ2VsbCogY2VsbCwgRXhlY1N0
YXRlKiBleGVjLCB1bnNpZ25lZCBpZGVudGlmaWVyLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCiB7CiAg
ICAgLy8gVGhpcyBpcyBub3QgYSBnZW5lcmFsIHB1cnBvc2UgaW1wbGVtZW50YXRpb24gb2YgZ2V0
T3duUHJvcGVydHlTbG90LgogICAgIC8vIEl0IHNob3VsZCBvbmx5IGJlIGNhbGxlZCBieSBKU1Zh
bHVlOjpnZXQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Nl
bGwuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCmluZGV4IDRmZjFh
NTgxMDFjZGViNDVjNGFhMDQ3OGI1NmM5NTQwYzFjMmY5MDcuLjIwMGQzNWQzYjdkNjhjOWYzODJj
MDBjMDQ1NzRlOGIyYThhNzQ3MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQ2VsbC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2Vs
bC5oCkBAIC0xMzgsNyArMTM4LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZpcnR1YWwg
Ym9vbCBnZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0dWFsKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZp
ZXImIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90Jik7CiAgICAgICAgIHN0YXRpYyBib29sIGdl
dE93blByb3BlcnR5U2xvdChKU0NlbGwqLCBFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBw
cm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYpOwogICAgICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3du
UHJvcGVydHlTbG90VmlydHVhbChFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFBy
b3BlcnR5U2xvdCYpOwotICAgICAgICBzdGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlND
ZWxsKiwgRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsK
KyAgICAgICAgc3RhdGljIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90QnlJbmRleChKU0NlbGwqLCBF
eGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYpOwogICAgICAg
ICAKICAgICAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9zdHJ1Y3R1cmU7CiAgICAgfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTm90QW5PYmplY3Qu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNOb3RBbk9iamVjdC5jcHAKaW5k
ZXggYjVhNWEzMWY1ZTlhMTIyYTc4MDI1NWEwNWMyZTQwZjdkNzAxMjNjNS4uZTlkNDVkNTEyMWI2
YTllYmE5YWE3Zjc2ZGQzN2IwMWRiNjZmOWE4NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNOb3RBbk9iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNOb3RBbk9iamVjdC5jcHAKQEAgLTU5LDEwICs1OSwxMCBAQCBib29sIEpT
Tm90QW5PYmplY3Q6OmdldE93blByb3BlcnR5U2xvdChKU0NlbGwqLCBFeGVjU3RhdGUqIGV4ZWMs
IGNvbnN0IElkZW50aWZpZQogCiBib29sIEpTTm90QW5PYmplY3Q6OmdldE93blByb3BlcnR5U2xv
dFZpcnR1YWwoRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5
U2xvdCYgc2xvdCkKIHsKLSAgICByZXR1cm4gZ2V0T3duUHJvcGVydHlTbG90KHRoaXMsIGV4ZWMs
IHByb3BlcnR5TmFtZSwgc2xvdCk7CisgICAgcmV0dXJuIGdldE93blByb3BlcnR5U2xvdEJ5SW5k
ZXgodGhpcywgZXhlYywgcHJvcGVydHlOYW1lLCBzbG90KTsKIH0KIAotYm9vbCBKU05vdEFuT2Jq
ZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiwgRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25l
ZCwgUHJvcGVydHlTbG90JikKK2Jvb2wgSlNOb3RBbk9iamVjdDo6Z2V0T3duUHJvcGVydHlTbG90
QnlJbmRleChKU0NlbGwqLCBFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkLCBQcm9wZXJ0eVNsb3Qm
KQogewogICAgIEFTU0VSVF9VTlVTRUQoZXhlYywgZXhlYy0+aGFkRXhjZXB0aW9uKCkpOwogICAg
IHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTTm90QW5PYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTm90QW5P
YmplY3QuaAppbmRleCA0MTM4MzFlMjVlZGUzOWJiNmZjNGJhNWZjYjAxZWYzM2U2NjY0ODlhLi44
ZDVlN2JjNDkxZjMwMTU5YTJhNzc4MDI4MzE4Y2U4YjgwY2M2M2ZmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU05vdEFuT2JqZWN0LmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNOb3RBbk9iamVjdC5oCkBAIC03MSw3ICs3MSw3IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90Vmly
dHVhbChFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5
U2xvdCYpOwogICAgICAgICBzdGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiwg
RXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3Qm
KTsKICAgICAgICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5U2xvdFZpcnR1YWwoRXhlY1N0
YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsKLSAgICAgICAgc3Rh
dGljIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIHVuc2lnbmVk
IHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90Jik7CisgICAgICAgIHN0YXRpYyBib29sIGdldE93
blByb3BlcnR5U2xvdEJ5SW5kZXgoSlNDZWxsKiwgRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVy
dHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsKICAgICAgICAgdmlydHVhbCBib29sIGdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiwgUHJvcGVydHlEZXNj
cmlwdG9yJik7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIHB1dFZpcnR1YWwoRXhlY1N0YXRlKiwg
Y29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU1ZhbHVlLCBQdXRQcm9wZXJ0eVNsb3Qm
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAppbmRleCA3Mjhk
OWFmYTA2ZGY5MzNiODZkYzRmNWYxMzg5Yzg4MmJiYjQ3YzZiLi5jNjkwOTM5MWY4Njc2N2QxMDA3
NTQ0MmE0YTExZGM3ZmNlZTNmYTdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU09iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNPYmplY3QuY3BwCkBAIC0xMDYsMTAgKzEwNiwxMCBAQCBVU3RyaW5nIEpTT2JqZWN0OjpjbGFz
c05hbWUoKSBjb25zdAogCiBib29sIEpTT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0dWFs
KEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNs
b3QpCiB7Ci0gICAgcmV0dXJuIGdldE93blByb3BlcnR5U2xvdCh0aGlzLCBleGVjLCBwcm9wZXJ0
eU5hbWUsIHNsb3QpOworICAgIHJldHVybiBnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KHRoaXMs
IGV4ZWMsIHByb3BlcnR5TmFtZSwgc2xvdCk7CiB9CiAKLWJvb2wgSlNPYmplY3Q6OmdldE93blBy
b3BlcnR5U2xvdChKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgcHJvcGVy
dHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCitib29sIEpTT2JqZWN0OjpnZXRPd25Qcm9wZXJ0
eVNsb3RCeUluZGV4KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBwcm9w
ZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdCkKIHsKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
SlNPYmplY3QqPihjZWxsKS0+Z2V0T3duUHJvcGVydHlTbG90VmlydHVhbChleGVjLCBJZGVudGlm
aWVyOjpmcm9tKGV4ZWMsIHByb3BlcnR5TmFtZSksIHNsb3QpOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKaW5kZXggMzQ1OGZhYjU4MTU0MGRlYzM1Nzk3ZGEyZTUx
MmE4YTczN2FlNDEwYS4uYzU4ZjcyZjMwYWU3NTRlNDU2YzZkN2Y3ZDQ3ODdkNmVlYzU3MTA1NiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCkBAIC0xMDIsNyArMTAy
LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0
eVNsb3RWaXJ0dWFsKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwg
UHJvcGVydHlTbG90Jik7CiAgICAgICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdChK
U0NlbGwqLCBFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3Bl
cnR5U2xvdCYpOwogICAgICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90VmlydHVh
bChFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYpOwotICAg
ICAgICBzdGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiwgRXhlY1N0YXRlKiwg
dW5zaWduZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsKKyAgICAgICAgc3RhdGljIGJv
b2wgZ2V0T3duUHJvcGVydHlTbG90QnlJbmRleChKU0NlbGwqLCBFeGVjU3RhdGUqLCB1bnNpZ25l
ZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYpOwogICAgICAgICB2aXJ0dWFsIGJvb2wgZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBQcm9w
ZXJ0eURlc2NyaXB0b3ImKTsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgcHV0VmlydHVhbChFeGVj
U3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUsIFB1dFByb3Bl
cnR5U2xvdCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNT
dHJpbmcuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdHJpbmcuY3BwCmlu
ZGV4IDI2M2EyMDNkYWFjMmU3MjE5Nzc5ZjBmNzAyNjEyNjExNDU3ZDY1MjEuLmFjYzgxMzYxZDc0
MzM5YzY5ZjYxOGI3NTRiODUyYmRjMjYyNmQyMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTU3RyaW5nLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU1N0cmluZy5jcHAKQEAgLTI1NywxMCArMjU3LDEwIEBAIGJvb2wgSlNTdHJpbmc6
OmdldE93blByb3BlcnR5RGVzY3JpcHRvcihFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZp
ZXImIHByb3BlCiAKIGJvb2wgSlNTdHJpbmc6OmdldE93blByb3BlcnR5U2xvdFZpcnR1YWwoRXhl
Y1N0YXRlKiBleGVjLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdCkK
IHsKLSAgICByZXR1cm4gZ2V0T3duUHJvcGVydHlTbG90KHRoaXMsIGV4ZWMsIHByb3BlcnR5TmFt
ZSwgc2xvdCk7CisgICAgcmV0dXJuIGdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgodGhpcywgZXhl
YywgcHJvcGVydHlOYW1lLCBzbG90KTsKIH0KIAotYm9vbCBKU1N0cmluZzo6Z2V0T3duUHJvcGVy
dHlTbG90KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBwcm9wZXJ0eU5h
bWUsIFByb3BlcnR5U2xvdCYgc2xvdCkKK2Jvb2wgSlNTdHJpbmc6OmdldE93blByb3BlcnR5U2xv
dEJ5SW5kZXgoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHByb3BlcnR5
TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQogewogICAgIEpTU3RyaW5nKiB0aGlzT2JqZWN0ID0g
c3RhdGljX2Nhc3Q8SlNTdHJpbmcqPihjZWxsKTsKICAgICAvLyBUaGUgc2VtYW50aWNzIGhlcmUg
YXJlIHJlYWxseSBnZXRQcm9wZXJ0eVNsb3QsIG5vdCBnZXRPd25Qcm9wZXJ0eVNsb3QuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1N0cmluZy5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdHJpbmcuaAppbmRleCA3NDE4M2UxMGE0YTVjMmMz
NzkyNzExMTU2YWYxMTNlODk4M2Y5NDM3Li5mNWFlMWU5MzlmMTUzMzM4ZDBjYmI0OTVhNmZmZjc4
MjU1N2JjYWI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1N0
cmluZy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU3RyaW5nLmgKQEAg
LTI1Myw3ICsyNTMsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdmlydHVhbCBib29sIGdl
dE93blByb3BlcnR5U2xvdFZpcnR1YWwoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJv
cGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsKICAgICAgICAgc3RhdGljIGJvb2wgZ2V0T3duUHJv
cGVydHlTbG90KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5
TmFtZSwgUHJvcGVydHlTbG90Jik7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0
eVNsb3RWaXJ0dWFsKEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlT
bG90Jik7Ci0gICAgICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdChKU0NlbGwqLCBF
eGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYpOworICAgICAg
ICBzdGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KEpTQ2VsbCosIEV4ZWNTdGF0
ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90Jik7CiAgICAgICAgIHZpcnR1
YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRp
ZmllciYsIFByb3BlcnR5RGVzY3JpcHRvciYpOwogCiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBzX21heEludGVybmFsUm9wZUxlbmd0aCA9IDM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmNwcAppbmRleCA1NTQyYzA2MDVkZDlhMGEw
ODkyZDU1MTA5NmU0NWY0MDM3ODY1ZTEwLi45OGUxZDE3OGQ0ZjQ2YjQwZDU3YjZiMTFhZTBmNGRm
YmU3Yzg5YTllIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmpl
Y3RQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVj
dFByb3RvdHlwZS5jcHAKQEAgLTk0LDE1ICs5NCwxNSBAQCB2b2lkIE9iamVjdFByb3RvdHlwZTo6
cHV0KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9w
ZQogCiBib29sIE9iamVjdFByb3RvdHlwZTo6Z2V0T3duUHJvcGVydHlTbG90VmlydHVhbChFeGVj
U3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQog
ewotICAgIHJldHVybiBnZXRPd25Qcm9wZXJ0eVNsb3QodGhpcywgZXhlYywgcHJvcGVydHlOYW1l
LCBzbG90KTsKKyAgICByZXR1cm4gZ2V0T3duUHJvcGVydHlTbG90QnlJbmRleCh0aGlzLCBleGVj
LCBwcm9wZXJ0eU5hbWUsIHNsb3QpOwogfQogCi1ib29sIE9iamVjdFByb3RvdHlwZTo6Z2V0T3du
UHJvcGVydHlTbG90KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBwcm9w
ZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdCkKK2Jvb2wgT2JqZWN0UHJvdG90eXBlOjpnZXRP
d25Qcm9wZXJ0eVNsb3RCeUluZGV4KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCB1bnNp
Z25lZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdCkKIHsKICAgICBPYmplY3RQcm90
b3R5cGUqIHRoaXNPYmplY3QgPSBzdGF0aWNfY2FzdDxPYmplY3RQcm90b3R5cGUqPihjZWxsKTsK
ICAgICBpZiAodGhpc09iamVjdC0+bV9oYXNOb1Byb3BlcnRpZXNXaXRoVUludDMyTmFtZXMpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICByZXR1cm4gSlNOb25GaW5hbE9iamVjdDo6Z2V0T3du
UHJvcGVydHlTbG90KHRoaXNPYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwgc2xvdCk7CisgICAg
cmV0dXJuIEpTTm9uRmluYWxPYmplY3Q6OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgodGhpc09i
amVjdCwgZXhlYywgcHJvcGVydHlOYW1lLCBzbG90KTsKIH0KIAogYm9vbCBPYmplY3RQcm90b3R5
cGU6OmdldE93blByb3BlcnR5U2xvdFZpcnR1YWwoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVu
dGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdFByb3RvdHlwZS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmgKaW5kZXggMDQxMjk1N2FiYzcw
ZjMzZmZlMTNhOTFjOWYzYTVhMmI0NTc5ZDg4Ny4uYzg1OWQ1N2YzMzFlYjQ1NjJhMWUzNmYzNzk0
NzQwODQyZGQ0MTUxZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
T2JqZWN0UHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2Jq
ZWN0UHJvdG90eXBlLmgKQEAgLTU2LDcgKzU2LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAg
IHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0dWFsKEV4ZWNTdGF0ZSosIGNvbnN0
IElkZW50aWZpZXImLCBQcm9wZXJ0eVNsb3QmKTsKICAgICAgICAgc3RhdGljIGJvb2wgZ2V0T3du
UHJvcGVydHlTbG90KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBQcm9w
ZXJ0eVNsb3QmKTsKICAgICAgICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5U2xvdFZpcnR1
YWwoRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsKLSAg
ICAgICAgc3RhdGljIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90KEpTQ2VsbCosIEV4ZWNTdGF0ZSos
IHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90Jik7CisgICAgICAgIHN0YXRpYyBi
b29sIGdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgoSlNDZWxsKiwgRXhlY1N0YXRlKiwgdW5zaWdu
ZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsKICAgICAgICAgdmlydHVhbCBib29sIGdl
dE93blByb3BlcnR5RGVzY3JpcHRvcihFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiwgUHJv
cGVydHlEZXNjcmlwdG9yJik7CiAKICAgICAgICAgYm9vbCBtX2hhc05vUHJvcGVydGllc1dpdGhV
SW50MzJOYW1lczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Jl
Z0V4cE1hdGNoZXNBcnJheS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhw
TWF0Y2hlc0FycmF5LmgKaW5kZXggNWU4MDBlYzZkNDg0OGUyZDQ1NjIzNmNhMzA4MDhmMmQ5NzQz
NjQ3Yy4uNDcwMGZjOTNlMWZlNWJlZmM5ZTFkNDEwMTdkZWRjOTFmM2EyOWQxMyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwTWF0Y2hlc0FycmF5LmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwTWF0Y2hlc0FycmF5LmgKQEAg
LTU4LDE1ICs1OCwxNSBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICB2aXJ0dWFsIGJvb2wg
Z2V0T3duUHJvcGVydHlTbG90VmlydHVhbChFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHByb3Bl
cnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1
cm4gZ2V0T3duUHJvcGVydHlTbG90KHRoaXMsIGV4ZWMsIHByb3BlcnR5TmFtZSwgc2xvdCk7Cisg
ICAgICAgICAgICByZXR1cm4gZ2V0T3duUHJvcGVydHlTbG90QnlJbmRleCh0aGlzLCBleGVjLCBw
cm9wZXJ0eU5hbWUsIHNsb3QpOwogICAgICAgICB9CiAKLSAgICAgICAgc3RhdGljIGJvb2wgZ2V0
T3duUHJvcGVydHlTbG90KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBw
cm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdCkKKyAgICAgICAgc3RhdGljIGJvb2wgZ2V0
T3duUHJvcGVydHlTbG90QnlJbmRleChKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgdW5z
aWduZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCiAgICAgICAgIHsKICAgICAg
ICAgICAgIFJlZ0V4cE1hdGNoZXNBcnJheSogdGhpc09iamVjdCA9IHN0YXRpY19jYXN0PFJlZ0V4
cE1hdGNoZXNBcnJheSo+KGNlbGwpOwogICAgICAgICAgICAgaWYgKHRoaXNPYmplY3QtPnN1YmNs
YXNzRGF0YSgpKQogICAgICAgICAgICAgICAgIHRoaXNPYmplY3QtPmZpbGxBcnJheUluc3RhbmNl
KGV4ZWMpOwotICAgICAgICAgICAgcmV0dXJuIEpTQXJyYXk6OmdldE93blByb3BlcnR5U2xvdCh0
aGlzT2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOworICAgICAgICAgICAgcmV0dXJu
IEpTQXJyYXk6OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgodGhpc09iamVjdCwgZXhlYywgcHJv
cGVydHlOYW1lLCBzbG90KTsKICAgICAgICAgfQogCiAgICAgICAgIHZpcnR1YWwgYm9vbCBnZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBw
cm9wZXJ0eU5hbWUsIFByb3BlcnR5RGVzY3JpcHRvciYgZGVzY3JpcHRvcikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdC5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdPYmplY3QuY3BwCmluZGV4IGI3MjNlOTMwNThj
OWNmMjQ0NTE2MzIwZWU0MjA2NzU5MzUzOGE2MDYuLjY3NTA0Y2EwZmY3Zjc2YWY5NWU1ZmEwMDBj
YTk1MjRiZTI2YzM1YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1N0cmluZ09iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Ry
aW5nT2JqZWN0LmNwcApAQCAtNTYsMTAgKzU2LDEwIEBAIGJvb2wgU3RyaW5nT2JqZWN0OjpnZXRP
d25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50
CiAgICAgCiBib29sIFN0cmluZ09iamVjdDo6Z2V0T3duUHJvcGVydHlTbG90VmlydHVhbChFeGVj
U3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQog
ewotICAgIHJldHVybiBnZXRPd25Qcm9wZXJ0eVNsb3QodGhpcywgZXhlYywgcHJvcGVydHlOYW1l
LCBzbG90KTsKKyAgICByZXR1cm4gZ2V0T3duUHJvcGVydHlTbG90QnlJbmRleCh0aGlzLCBleGVj
LCBwcm9wZXJ0eU5hbWUsIHNsb3QpOwogfQogCi1ib29sIFN0cmluZ09iamVjdDo6Z2V0T3duUHJv
cGVydHlTbG90KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBwcm9wZXJ0
eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdCkKK2Jvb2wgU3RyaW5nT2JqZWN0OjpnZXRPd25Qcm9w
ZXJ0eVNsb3RCeUluZGV4KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBw
cm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdCkKIHsKICAgICBTdHJpbmdPYmplY3QqIHRo
aXNPYmplY3QgPSBzdGF0aWNfY2FzdDxTdHJpbmdPYmplY3QqPihjZWxsKTsKICAgICBpZiAodGhp
c09iamVjdC0+aW50ZXJuYWxWYWx1ZSgpLT5nZXRTdHJpbmdQcm9wZXJ0eVNsb3QoZXhlYywgcHJv
cGVydHlOYW1lLCBzbG90KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1N0cmluZ09iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5n
T2JqZWN0LmgKaW5kZXggZGNlYjFiYjFmYWEwZTc0ZjIyNWZiZWY2NzQwM2EzNWM2ZDdiYTU4ZC4u
NDFkNTNhMTI2YjA1MDEyYjgyMzg5ODExNmU1NmJjMTY4ZmYwZGRkYiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nT2JqZWN0LmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nT2JqZWN0LmgKQEAgLTQ4LDcgKzQ4LDcgQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0
dWFsKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgUHJvcGVydHlT
bG90Jik7CiAgICAgICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdChKU0NlbGwqLCBF
eGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYp
OwogICAgICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90VmlydHVhbChFeGVjU3Rh
dGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYpOwotICAgICAgICBzdGF0
aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiwgRXhlY1N0YXRlKiwgdW5zaWduZWQg
cHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsKKyAgICAgICAgc3RhdGljIGJvb2wgZ2V0T3du
UHJvcGVydHlTbG90QnlJbmRleChKU0NlbGwqLCBFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0
eU5hbWUsIFByb3BlcnR5U2xvdCYpOwogICAgICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBQcm9wZXJ0eURlc2Ny
aXB0b3ImKTsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgcHV0VmlydHVhbChFeGVjU3RhdGUqLCBj
b25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUsIFB1dFByb3BlcnR5U2xvdCYp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlw
dFZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRW
YWx1ZS5jcHAKaW5kZXggNTc5NDNiZWFiZGJmZGI4YzI5ZGFmMDkzNjY5OTY1ZDM3ZjQ0ZDgyMy4u
OTYyYmY1ZDkwNTJhNzI1ZTJmZTM2ZWJiZmY1ZTdjN2U4YWI1ODNkMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCkBAIC0z
MzMsNyArMzMzLDcgQEAgcHJpdmF0ZToKICAgICB7CiAgICAgICAgIFByb3BlcnR5U2xvdCBzbG90
KGFycmF5KTsKICAgICAgICAgaWYgKGlzSlNBcnJheSgmbV9leGVjLT5nbG9iYWxEYXRhKCksIGFy
cmF5KSkgewotICAgICAgICAgICAgaWYgKEpTQXJyYXk6OmdldE93blByb3BlcnR5U2xvdChhcnJh
eSwgbV9leGVjLCBwcm9wZXJ0eU5hbWUsIHNsb3QpKSB7CisgICAgICAgICAgICBpZiAoSlNBcnJh
eTo6Z2V0T3duUHJvcGVydHlTbG90QnlJbmRleChhcnJheSwgbV9leGVjLCBwcm9wZXJ0eU5hbWUs
IHNsb3QpKSB7CiAgICAgICAgICAgICAgICAgaGFzSW5kZXggPSB0cnVlOwogICAgICAgICAgICAg
ICAgIHJldHVybiBzbG90LmdldFZhbHVlKG1fZXhlYywgcHJvcGVydHlOYW1lKTsKICAgICAgICAg
ICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9ySlMucG0KaW5kZXggYzQ3NGFjYjQ2MWQyMWVjZmEwNTUxNzUyMDkyYjg0M2JhZjYyNTllYS4u
Y2Y3ZDE1NmVmMzMzNTI0ZWVmNWExOWU0NTA0NDA2MmNiYWY0YzhiZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTc3NCw3
ICs3NzQsNyBAQCBzdWIgR2VuZXJhdGVIZWFkZXIKICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVu
dCwgIiAgICBzdGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDOjpKU0NlbGwqLCBKU0M6
OkV4ZWNTdGF0ZSosIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU0M6OlBy
b3BlcnR5U2xvdCYpO1xuIik7CiAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgdmly
dHVhbCBib29sIGdldE93blByb3BlcnR5RGVzY3JpcHRvcihKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0
IEpTQzo6SWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU0M6OlByb3BlcnR5RGVzY3JpcHRvciYp
O1xuIik7CiAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgdmlydHVhbCBib29sIGdl
dE93blByb3BlcnR5U2xvdFZpcnR1YWwoSlNDOjpFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0
eU5hbWUsIEpTQzo6UHJvcGVydHlTbG90Jik7XG4iKSBpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0
dHJpYnV0ZXMtPnsiSGFzSW5kZXhHZXR0ZXIifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmli
dXRlcy0+eyJIYXNDdXN0b21JbmRleEdldHRlciJ9IHx8ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRy
aWJ1dGVzLT57Ikhhc051bWVyaWNJbmRleEdldHRlciJ9KSAmJiAhJGRhdGFOb2RlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPnsiSGFzT3ZlcnJpZGluZ05hbWVHZXR0ZXIifTsKLSAgICAgICAgcHVzaChA
aGVhZGVyQ29udGVudCwgIiAgICBzdGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDOjpK
U0NlbGwqLCBKU0M6OkV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgSlNDOjpQcm9w
ZXJ0eVNsb3QmKTtcbiIpIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJIYXNJ
bmRleEdldHRlciJ9IHx8ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ikhhc0N1c3Rv
bUluZGV4R2V0dGVyIn0gfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSGFzTnVt
ZXJpY0luZGV4R2V0dGVyIn0pICYmICEkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJI
YXNPdmVycmlkaW5nTmFtZUdldHRlciJ9OworICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAi
ICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgoSlNDOjpKU0NlbGwqLCBK
U0M6OkV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgSlNDOjpQcm9wZXJ0eVNsb3Qm
KTtcbiIpIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJIYXNJbmRleEdldHRl
ciJ9IHx8ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ikhhc0N1c3RvbUluZGV4R2V0
dGVyIn0gfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSGFzTnVtZXJpY0luZGV4
R2V0dGVyIn0pICYmICEkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJIYXNPdmVycmlk
aW5nTmFtZUdldHRlciJ9OwogICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgIGJvb2wg
Z2V0T3duUHJvcGVydHlTbG90RGVsZWdhdGUoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBKU0M6Oklk
ZW50aWZpZXImLCBKU0M6OlByb3BlcnR5U2xvdCYpO1xuIikgaWYgJGRhdGFOb2RlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPnsiRGVsZWdhdGluZ0dldE93blByb3BlcnR5U2xvdCJ9OwogICAgICAgICBw
dXNoKEBoZWFkZXJDb250ZW50LCAiICAgIGJvb2wgZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yRGVs
ZWdhdGUoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBKU0M6OklkZW50aWZpZXImLCBKU0M6OlByb3Bl
cnR5RGVzY3JpcHRvciYpO1xuIikgaWYgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsi
RGVsZWdhdGluZ0dldE93blByb3BlcnR5U2xvdCJ9OwogICAgICAgICAkc3RydWN0dXJlRmxhZ3N7
IkpTQzo6T3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90In0gPSAxOwpAQCAtMTYwNCw5ICsxNjA0
LDkgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAgICAgICAgICAgICAmJiAhJGRh
dGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSGFzT3ZlcnJpZGluZ05hbWVHZXR0ZXIifSkg
ewogICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJib29sICR7Y2xhc3NOYW1lfTo6Z2V0
T3duUHJvcGVydHlTbG90VmlydHVhbChFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHByb3BlcnR5
TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KVxuIik7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29u
dGVudCwgIntcbiIpOwotICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgcmV0dXJu
IGdldE93blByb3BlcnR5U2xvdCh0aGlzLCBleGVjLCBwcm9wZXJ0eU5hbWUsIHNsb3QpO1xuIik7
CisgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICByZXR1cm4gZ2V0T3duUHJvcGVy
dHlTbG90QnlJbmRleCh0aGlzLCBleGVjLCBwcm9wZXJ0eU5hbWUsIHNsb3QpO1xuIik7CiAgICAg
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIn1cblxuIik7Ci0gICAgICAgICAgICBwdXNoKEBp
bXBsQ29udGVudCwgImJvb2wgJHtjbGFzc05hbWV9OjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxs
KiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlT
bG90JiBzbG90KVxuIik7CisgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgImJvb2wgJHtj
bGFzc05hbWV9OjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KEpTQ2VsbCogY2VsbCwgRXhlY1N0
YXRlKiBleGVjLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdClcbiIp
OwogICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ7XG4iKTsKICAgICAgICAgICAgIHB1
c2goQGltcGxDb250ZW50LCAiICAgICR7Y2xhc3NOYW1lfSogdGhpc09iamVjdCA9IHN0YXRpY19j
YXN0PCR7Y2xhc3NOYW1lfSo+KGNlbGwpO1xuIik7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29u
dGVudCwgIiAgICBBU1NFUlRfR0NfT0JKRUNUX0lOSEVSSVRTKHRoaXNPYmplY3QsICZzX2luZm8p
O1xuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9hcnJheS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9hcnJheS5jcHAKaW5kZXggODcyMmU1
ODUxOWFiZmVmNjAyMzY5MjQ4Njg4ZTVmNDhjNTM1Njc1Ny4uZTNiNTQwZWJkNzIwMjE3ZTBkZWNi
Yjg4YzhiYTQ0NWFkNWNmMGM4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1
bnRpbWVfYXJyYXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX2FycmF5
LmNwcApAQCAtMTI4LDEwICsxMjgsMTAgQEAgYm9vbCBSdW50aW1lQXJyYXk6OmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHAKIAogYm9v
bCBSdW50aW1lQXJyYXk6OmdldE93blByb3BlcnR5U2xvdFZpcnR1YWwoRXhlY1N0YXRlICpleGVj
LCB1bnNpZ25lZCBpbmRleCwgUHJvcGVydHlTbG90JiBzbG90KQogewotICAgIHJldHVybiBnZXRP
d25Qcm9wZXJ0eVNsb3QodGhpcywgZXhlYywgaW5kZXgsIHNsb3QpOworICAgIHJldHVybiBnZXRP
d25Qcm9wZXJ0eVNsb3RCeUluZGV4KHRoaXMsIGV4ZWMsIGluZGV4LCBzbG90KTsKIH0KIAotYm9v
bCBSdW50aW1lQXJyYXk6OmdldE93blByb3BlcnR5U2xvdChKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0
ZSAqZXhlYywgdW5zaWduZWQgaW5kZXgsIFByb3BlcnR5U2xvdCYgc2xvdCkKK2Jvb2wgUnVudGlt
ZUFycmF5OjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRl
ICpleGVjLCB1bnNpZ25lZCBpbmRleCwgUHJvcGVydHlTbG90JiBzbG90KQogewogICAgIFJ1bnRp
bWVBcnJheSogdGhpc09iamVjdCA9IHN0YXRpY19jYXN0PFJ1bnRpbWVBcnJheSo+KGNlbGwpOwog
ICAgIGlmIChpbmRleCA8IHRoaXNPYmplY3QtPmdldExlbmd0aCgpKSB7CkBAIC0xMzksNyArMTM5
LDcgQEAgYm9vbCBSdW50aW1lQXJyYXk6OmdldE93blByb3BlcnR5U2xvdChKU0NlbGwqIGNlbGws
IEV4ZWNTdGF0ZSAqZXhlYywgdW5zaWduZWQgaW4KICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAg
fQogICAgIAotICAgIHJldHVybiBKU09iamVjdDo6Z2V0T3duUHJvcGVydHlTbG90KHRoaXNPYmpl
Y3QsIGV4ZWMsIGluZGV4LCBzbG90KTsKKyAgICByZXR1cm4gSlNPYmplY3Q6OmdldE93blByb3Bl
cnR5U2xvdEJ5SW5kZXgodGhpc09iamVjdCwgZXhlYywgaW5kZXgsIHNsb3QpOwogfQogCiB2b2lk
IFJ1bnRpbWVBcnJheTo6cHV0VmlydHVhbChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZp
ZXImIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSB2YWx1ZSwgUHV0UHJvcGVydHlTbG90JiBzbG90KQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfYXJyYXkuaCBiL1NvdXJj
ZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX2FycmF5LmgKaW5kZXggMTc4NTJlODlkZWM3ZmM2ZGQz
Y2NjMzJhNWVhMGQ2OWVlOThkY2ZkZi4uZGRiZTM3ZmQzYjhlY2RkNmVhZDgyYTE3ZWUxZjdkYWRi
YjgyYzA5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfYXJyYXku
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9hcnJheS5oCkBAIC01Myw3ICs1
Myw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90VmlydHVh
bChFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiwgUHJvcGVydHlTbG90Jik7CiAgICAgc3Rh
dGljIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIGNvbnN0IElk
ZW50aWZpZXImLCBQcm9wZXJ0eVNsb3QmKTsKICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVy
dHlTbG90VmlydHVhbChFeGVjU3RhdGUqLCB1bnNpZ25lZCwgUHJvcGVydHlTbG90Jik7Ci0gICAg
c3RhdGljIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIHVuc2ln
bmVkLCBQcm9wZXJ0eVNsb3QmKTsKKyAgICBzdGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3RC
eUluZGV4KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIHVuc2lnbmVkLCBQcm9wZXJ0eVNsb3QmKTsKICAg
ICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEV4ZWNTdGF0ZSosIGNvbnN0
IElkZW50aWZpZXImLCBQcm9wZXJ0eURlc2NyaXB0b3ImKTsKICAgICB2aXJ0dWFsIHZvaWQgcHV0
VmlydHVhbChFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTVmFs
dWUsIFB1dFByb3BlcnR5U2xvdCYpOwogICAgIHN0YXRpYyB2b2lkIHB1dChKU0NlbGwqLCBFeGVj
U3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUsIFB1dFByb3Bl
cnR5U2xvdCYpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>