<?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>231732</bug_id>
          
          <creation_ts>2021-10-14 04:27:35 -0700</creation_ts>
          <short_desc>[GTK][WPE] Move getCurrentExecutablePath() and getCurrentExecutableName() to FileSystem</short_desc>
          <delta_ts>2021-10-14 06:20:49 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>WebKit 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>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>annulen</cc>
    
    <cc>benjamin</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>menard</cc>
    
    <cc>philipj</cc>
    
    <cc>pnormand</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>vjaquez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1804216</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-10-14 04:27:35 -0700</bug_when>
    <thetext>And remove wtf/glib/GLibUtilities.h|cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804217</commentid>
    <comment_count>1</comment_count>
      <attachid>441202</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-10-14 04:31:01 -0700</bug_when>
    <thetext>Created attachment 441202
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804225</commentid>
    <comment_count>2</comment_count>
      <attachid>441206</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-10-14 05:23:32 -0700</bug_when>
    <thetext>Created attachment 441206
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804245</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-10-14 06:20:49 -0700</bug_when>
    <thetext>Committed r284156 (242976@main): &lt;https://commits.webkit.org/242976@main&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441202</attachid>
            <date>2021-10-14 04:31:01 -0700</date>
            <delta_ts>2021-10-14 05:23:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wtf-glib-utilities.diff</filename>
            <type>text/plain</type>
            <size>20737</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggNmM2ZjE5NThiM2FjLi5jYzk2NjIxMTIzN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIw
MjEtMTAtMTQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisg
ICAgICAgIFtHVEtdW1dQRV0gTW92ZSBnZXRDdXJyZW50RXhlY3V0YWJsZVBhdGgoKSBhbmQgZ2V0
Q3VycmVudEV4ZWN1dGFibGVOYW1lKCkgdG8gRmlsZVN5c3RlbQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxNzMyCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvRmlsZVN5c3RlbS5oOgorICAgICAg
ICAqIHd0Zi9QbGF0Zm9ybUdUSy5jbWFrZToKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1XUEUuY21h
a2U6CisgICAgICAgICogd3RmL2dsaWIvRmlsZVN5c3RlbUdsaWIuY3BwOgorICAgICAgICAoV1RG
OjpGaWxlU3lzdGVtSW1wbDo6Y3VycmVudEV4ZWN1dGFibGVQYXRoKToKKyAgICAgICAgKFdURjo6
RmlsZVN5c3RlbUltcGw6OmN1cnJlbnRFeGVjdXRhYmxlTmFtZSk6CisgICAgICAgICogd3RmL2ds
aWIvR0xpYlV0aWxpdGllcy5jcHA6IFJlbW92ZWQuCisgICAgICAgIChnZXRDdXJyZW50RXhlY3V0
YWJsZVBhdGgpOiBEZWxldGVkLgorICAgICAgICAoZ2V0Q3VycmVudEV4ZWN1dGFibGVOYW1lKTog
RGVsZXRlZC4KKyAgICAgICAgKiB3dGYvZ2xpYi9HTGliVXRpbGl0aWVzLmg6IFJlbW92ZWQuCisK
IDIwMjEtMTAtMTQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgog
CiAgICAgICAgIFtHVEtdW1dQRV0gQnVtcCBHTGliIHZlcnNpb24gdG8gMi41OC4zCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi9GaWxlU3lzdGVtLmggYi9Tb3VyY2UvV1RGL3d0Zi9GaWxlU3lz
dGVtLmgKaW5kZXggYjEwNzM3MDY5OGUxLi45OTZiYzBiNmY3ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XVEYvd3RmL0ZpbGVTeXN0ZW0uaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9GaWxlU3lzdGVtLmgK
QEAgLTE4OSw2ICsxODksOCBAQCBXVEZfRVhQT1JUX1BSSVZBVEUgUmV0YWluUHRyPENGVVJMUmVm
PiBwYXRoQXNVUkwoY29uc3QgU3RyaW5nJik7CiAKICNpZiBVU0UoR0xJQikKIFdURl9FWFBPUlRf
UFJJVkFURSBTdHJpbmcgZmlsZW5hbWVGb3JEaXNwbGF5KGNvbnN0IFN0cmluZyYpOworV1RGX0VY
UE9SVF9QUklWQVRFIENTdHJpbmcgY3VycmVudEV4ZWN1dGFibGVQYXRoKCk7CitXVEZfRVhQT1JU
X1BSSVZBVEUgQ1N0cmluZyBjdXJyZW50RXhlY3V0YWJsZU5hbWUoKTsKICNlbmRpZgogCiAjaWYg
T1MoV0lORE9XUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtR1RLLmNtYWtl
IGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1HVEsuY21ha2UKaW5kZXggNGExMmI1YTQzOTNmLi44
MDkwZTkxNjBhMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtR1RLLmNtYWtl
CisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC0yLDcgKzIsNiBAQCBz
ZXQoV1RGX09VVFBVVF9OQU1FIFdURkdUSykKIAogbGlzdChBUFBFTkQgV1RGX1BVQkxJQ19IRUFE
RVJTCiAgICAgZ2xpYi9DaGFzc2lzVHlwZS5oCi0gICAgZ2xpYi9HTGliVXRpbGl0aWVzLmgKICAg
ICBnbGliL0dNdXRleExvY2tlci5oCiAgICAgZ2xpYi9HUmVmUHRyLmgKICAgICBnbGliL0dTb2Nr
ZXRNb25pdG9yLmgKQEAgLTMwLDcgKzI5LDYgQEAgbGlzdChBUFBFTkQgV1RGX1NPVVJDRVMKIAog
ICAgIGdsaWIvQ2hhc3Npc1R5cGUuY3BwCiAgICAgZ2xpYi9GaWxlU3lzdGVtR2xpYi5jcHAKLSAg
ICBnbGliL0dMaWJVdGlsaXRpZXMuY3BwCiAgICAgZ2xpYi9HUmVmUHRyLmNwcAogICAgIGdsaWIv
R1NvY2tldE1vbml0b3IuY3BwCiAgICAgZ2xpYi9SdW5Mb29wR0xpYi5jcHAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtV1BFLmNtYWtlIGIvU291cmNlL1dURi93dGYvUGxhdGZv
cm1XUEUuY21ha2UKaW5kZXggNjQzZWYwZmNkZjRmLi5mYjhiYjNlZTY2MzIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtV1BFLmNtYWtlCisrKyBiL1NvdXJjZS9XVEYvd3RmL1Bs
YXRmb3JtV1BFLmNtYWtlCkBAIC0xLDYgKzEsNSBAQAogbGlzdChBUFBFTkQgV1RGX1BVQkxJQ19I
RUFERVJTCiAgICAgZ2xpYi9DaGFzc2lzVHlwZS5oCi0gICAgZ2xpYi9HTGliVXRpbGl0aWVzLmgK
ICAgICBnbGliL0dNdXRleExvY2tlci5oCiAgICAgZ2xpYi9HUmVmUHRyLmgKICAgICBnbGliL0dT
b2NrZXRNb25pdG9yLmgKQEAgLTIxLDcgKzIwLDYgQEAgbGlzdChBUFBFTkQgV1RGX1NPVVJDRVMK
IAogICAgIGdsaWIvQ2hhc3Npc1R5cGUuY3BwCiAgICAgZ2xpYi9GaWxlU3lzdGVtR2xpYi5jcHAK
LSAgICBnbGliL0dMaWJVdGlsaXRpZXMuY3BwCiAgICAgZ2xpYi9HUmVmUHRyLmNwcAogICAgIGds
aWIvR1NvY2tldE1vbml0b3IuY3BwCiAgICAgZ2xpYi9SdW5Mb29wR0xpYi5jcHAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL2dsaWIvRmlsZVN5c3RlbUdsaWIuY3BwIGIvU291cmNlL1dURi93
dGYvZ2xpYi9GaWxlU3lzdGVtR2xpYi5jcHAKaW5kZXggZjgxMjdmMGJhMGY0Li4xZDE1NDk0YzVj
MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL2dsaWIvRmlsZVN5c3RlbUdsaWIuY3BwCisr
KyBiL1NvdXJjZS9XVEYvd3RmL2dsaWIvRmlsZVN5c3RlbUdsaWIuY3BwCkBAIC0zMCw3ICszMCw2
IEBACiAjaW5jbHVkZSA8c3lzL2ZpbGUuaD4KICNpbmNsdWRlIDx3dGYvRW51bVRyYWl0cy5oPgog
I2luY2x1ZGUgPHd0Zi9VVUlELmg+Ci0jaW5jbHVkZSA8d3RmL2dsaWIvR0xpYlV0aWxpdGllcy5o
PgogI2luY2x1ZGUgPHd0Zi9nbGliL0dSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvZ2xpYi9HVW5p
cXVlUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQVNDSUlGYXN0UGF0aC5oPgpAQCAtMzgsNiAr
MzcsMTMgQEAKICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAjaW5jbHVkZSA8
d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKKyNpZiBPUyhXSU5ET1dTKQorI2luY2x1ZGUgPHdpbmRv
d3MuaD4KKyNlbHNlCisjaW5jbHVkZSA8bGltaXRzLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+Cisj
ZW5kaWYKKwogbmFtZXNwYWNlIFdURiB7CiAKIG5hbWVzcGFjZSBGaWxlU3lzdGVtSW1wbCB7CkBA
IC0yNzUsNSArMjgxLDUyIEBAIGJvb2wgdW5sb2NrRmlsZShQbGF0Zm9ybUZpbGVIYW5kbGUgaGFu
ZGxlKQogfQogI2VuZGlmIC8vIFVTRShGSUxFX0xPQ0spCiAKKyNpZiBPUyhMSU5VWCkKK0NTdHJp
bmcgY3VycmVudEV4ZWN1dGFibGVQYXRoKCkKK3sKKyAgICBzdGF0aWMgY2hhciByZWFkTGlua0J1
ZmZlcltQQVRIX01BWF07CisgICAgc3NpemVfdCByZXN1bHQgPSByZWFkbGluaygiL3Byb2Mvc2Vs
Zi9leGUiLCByZWFkTGlua0J1ZmZlciwgUEFUSF9NQVgpOworICAgIGlmIChyZXN1bHQgPT0gLTEp
CisgICAgICAgIHJldHVybiB7IH07CisgICAgcmV0dXJuIENTdHJpbmcocmVhZExpbmtCdWZmZXIs
IHJlc3VsdCk7Cit9CisjZWxpZiBPUyhIVVJEKQorQ1N0cmluZyBjdXJyZW50RXhlY3V0YWJsZVBh
dGgoKQoreworICAgIHJldHVybiB7IH07Cit9CisjZWxpZiBPUyhVTklYKQorQ1N0cmluZyBjdXJy
ZW50RXhlY3V0YWJsZVBhdGgoKQoreworICAgIHN0YXRpYyBjaGFyIHJlYWRMaW5rQnVmZmVyW1BB
VEhfTUFYXTsKKyAgICBzc2l6ZV90IHJlc3VsdCA9IHJlYWRsaW5rKCIvcHJvYy9jdXJwcm9jL2Zp
bGUiLCByZWFkTGlua0J1ZmZlciwgUEFUSF9NQVgpOworICAgIGlmIChyZXN1bHQgPT0gLTEpCisg
ICAgICAgIHJldHVybiB7IH07CisgICAgcmV0dXJuIENTdHJpbmcocmVhZExpbmtCdWZmZXIsIHJl
c3VsdCk7Cit9CisjZWxpZiBPUyhXSU5ET1dTKQorQ1N0cmluZyBjdXJyZW50RXhlY3V0YWJsZVBh
dGgoKQoreworICAgIHN0YXRpYyBXQ0hBUiBidWZmZXJbTUFYX1BBVEhdOworICAgIERXT1JEIGxl
bmd0aCA9IEdldE1vZHVsZUZpbGVOYW1lVygwLCBidWZmZXIsIE1BWF9QQVRIKTsKKyAgICBpZiAo
IWxlbmd0aCB8fCAobGVuZ3RoID09IE1BWF9QQVRIICYmIEdldExhc3RFcnJvcigpID09IEVSUk9S
X0lOU1VGRklDSUVOVF9CVUZGRVIpKQorICAgICAgICByZXR1cm4geyB9OworCisgICAgU3RyaW5n
IHBhdGgoYnVmZmVyLCBsZW5ndGgpOworICAgIHJldHVybiBwYXRoLnV0ZjgoKTsKK30KKyNlbmRp
ZgorCitDU3RyaW5nIGN1cnJlbnRFeGVjdXRhYmxlTmFtZSgpCit7CisgICAgYXV0byBleGVjdXRh
YmxlUGF0aCA9IGN1cnJlbnRFeGVjdXRhYmxlUGF0aCgpOworICAgIGlmICghZXhlY3V0YWJsZVBh
dGguaXNOdWxsKCkpIHsKKyAgICAgICAgR1VuaXF1ZVB0cjxjaGFyPiBiYXNlbmFtZShnX3BhdGhf
Z2V0X2Jhc2VuYW1lKGV4ZWN1dGFibGVQYXRoLmRhdGEoKSkpOworICAgICAgICByZXR1cm4gYmFz
ZW5hbWUuZ2V0KCk7CisgICAgfQorCisgICAgcmV0dXJuIGdfZ2V0X3ByZ25hbWUoKTsKK30KKwog
fSAvLyBuYW1lc3BhY2UgRmlsZVN5c3RlbUltcGwKIH0gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvZ2xpYi9HTGliVXRpbGl0aWVzLmNwcCBiL1NvdXJjZS9XVEYv
d3RmL2dsaWIvR0xpYlV0aWxpdGllcy5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGY0NGI5ZTVlN2Y0OC4uMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XVEYvd3RmL2dsaWIvR0xp
YlV0aWxpdGllcy5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw3OSArMCwwIEBACi0vKgotICogQ29w
eXJpZ2h0IChDKSAyMDEwIElnYWxpYSwgUy5MLgotICoKLSAqICBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiAgbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqICBM
aWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo
ZXIKLSAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCi0gKgotICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0
aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiAgTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK
LSAqICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAq
Ci0gKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUg
dGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiAgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwK
LSAqICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmln
LmgiCi0jaW5jbHVkZSA8d3RmL2dsaWIvR0xpYlV0aWxpdGllcy5oPgotCi0jaW5jbHVkZSA8Z2xp
Yi5oPgotI2luY2x1ZGUgPHd0Zi9nbGliL0dVbmlxdWVQdHIuaD4KLQotI2lmIE9TKFdJTkRPV1Mp
Ci0jaW5jbHVkZSA8d2luZG93cy5oPgotI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgot
I2Vsc2UKLSNpbmNsdWRlIDxsaW1pdHMuaD4KLSNpbmNsdWRlIDx1bmlzdGQuaD4KLSNlbmRpZgot
Ci0jaWYgT1MoTElOVVgpCi1DU3RyaW5nIGdldEN1cnJlbnRFeGVjdXRhYmxlUGF0aCgpCi17Ci0g
ICAgc3RhdGljIGNoYXIgcmVhZExpbmtCdWZmZXJbUEFUSF9NQVhdOwotICAgIHNzaXplX3QgcmVz
dWx0ID0gcmVhZGxpbmsoIi9wcm9jL3NlbGYvZXhlIiwgcmVhZExpbmtCdWZmZXIsIFBBVEhfTUFY
KTsKLSAgICBpZiAocmVzdWx0ID09IC0xKQotICAgICAgICByZXR1cm4gQ1N0cmluZygpOwotICAg
IHJldHVybiBDU3RyaW5nKHJlYWRMaW5rQnVmZmVyLCByZXN1bHQpOwotfQotI2VsaWYgT1MoSFVS
RCkKLUNTdHJpbmcgZ2V0Q3VycmVudEV4ZWN1dGFibGVQYXRoKCkKLXsKLSAgICByZXR1cm4gQ1N0
cmluZygpOwotfQotI2VsaWYgT1MoVU5JWCkKLUNTdHJpbmcgZ2V0Q3VycmVudEV4ZWN1dGFibGVQ
YXRoKCkKLXsKLSAgICBzdGF0aWMgY2hhciByZWFkTGlua0J1ZmZlcltQQVRIX01BWF07Ci0gICAg
c3NpemVfdCByZXN1bHQgPSByZWFkbGluaygiL3Byb2MvY3VycHJvYy9maWxlIiwgcmVhZExpbmtC
dWZmZXIsIFBBVEhfTUFYKTsKLSAgICBpZiAocmVzdWx0ID09IC0xKQotICAgICAgICByZXR1cm4g
Q1N0cmluZygpOwotICAgIHJldHVybiBDU3RyaW5nKHJlYWRMaW5rQnVmZmVyLCByZXN1bHQpOwot
fQotI2VsaWYgT1MoV0lORE9XUykKLUNTdHJpbmcgZ2V0Q3VycmVudEV4ZWN1dGFibGVQYXRoKCkK
LXsKLSAgICBzdGF0aWMgV0NIQVIgYnVmZmVyW01BWF9QQVRIXTsKLSAgICBEV09SRCBsZW5ndGgg
PSBHZXRNb2R1bGVGaWxlTmFtZVcoMCwgYnVmZmVyLCBNQVhfUEFUSCk7Ci0gICAgaWYgKCFsZW5n
dGggfHwgKGxlbmd0aCA9PSBNQVhfUEFUSCAmJiBHZXRMYXN0RXJyb3IoKSA9PSBFUlJPUl9JTlNV
RkZJQ0lFTlRfQlVGRkVSKSkKLSAgICAgICAgcmV0dXJuIENTdHJpbmcoKTsKLQotICAgIFN0cmlu
ZyBwYXRoKGJ1ZmZlciwgbGVuZ3RoKTsKLSAgICByZXR1cm4gcGF0aC51dGY4KCk7Ci19Ci0jZW5k
aWYKLQotQ1N0cmluZyBnZXRDdXJyZW50RXhlY3V0YWJsZU5hbWUoKQotewotICAgIGF1dG8gZXhl
Y3V0YWJsZVBhdGggPSBnZXRDdXJyZW50RXhlY3V0YWJsZVBhdGgoKTsKLSAgICBpZiAoIWV4ZWN1
dGFibGVQYXRoLmlzTnVsbCgpKSB7Ci0gICAgICAgIEdVbmlxdWVQdHI8Y2hhcj4gYmFzZW5hbWUo
Z19wYXRoX2dldF9iYXNlbmFtZShleGVjdXRhYmxlUGF0aC5kYXRhKCkpKTsKLSAgICAgICAgcmV0
dXJuIGJhc2VuYW1lLmdldCgpOwotICAgIH0KLQotICAgIHJldHVybiBnX2dldF9wcmduYW1lKCk7
Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9nbGliL0dMaWJVdGlsaXRpZXMuaCBiL1Nv
dXJjZS9XVEYvd3RmL2dsaWIvR0xpYlV0aWxpdGllcy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBmOTI0N2ExY2RmNjYuLjAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9n
bGliL0dMaWJVdGlsaXRpZXMuaAorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLS8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTAgSWdhbGlhLCBTLkwuCi0gKgotICogIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqICBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwot
ICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgotICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiAgYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqICBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQotICogIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz
LgotICoKLSAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqICB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs
b29yLAotICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICovCi0KLSNpZm5kZWYgR0xp
YlV0aWxpdGllc19oCi0jZGVmaW5lIEdMaWJVdGlsaXRpZXNfaAotCi0jaW5jbHVkZSA8Z2xpYi1v
YmplY3QuaD4KLSNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi90ZXh0
L0NTdHJpbmcuaD4KLQotV1RGX0VYUE9SVF9QUklWQVRFIENTdHJpbmcgZ2V0Q3VycmVudEV4ZWN1
dGFibGVQYXRoKCk7Ci1XVEZfRVhQT1JUX1BSSVZBVEUgQ1N0cmluZyBnZXRDdXJyZW50RXhlY3V0
YWJsZU5hbWUoKTsKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWE2ODI3MmFkZTllLi40Y2U3MDZm
YzczMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMS0xMC0xNCAgQ2FybG9zIEdh
cmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS11bV1BFXSBN
b3ZlIGdldEN1cnJlbnRFeGVjdXRhYmxlUGF0aCgpIGFuZCBnZXRDdXJyZW50RXhlY3V0YWJsZU5h
bWUoKSB0byBGaWxlU3lzdGVtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzE3MzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HU3RyZWFtZXJDb21tb24u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6ZW5zdXJlR1N0cmVhbWVySW5pdGlhbGl6ZWQpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXIuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBw
ZW5kUGlwZWxpbmUuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvaHlwaGVuL0h5cGhlbmF0
aW9uTGliSHlwaGVuLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvcExldmVsUGF0aCk6CisKIDIw
MjEtMTAtMTQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFtHVEtdW1dQRV0gQnVtcCBHTGliIHZlcnNpb24gdG8gMi41OC4zCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0cmVhbWVyQ29t
bW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HU3Ry
ZWFtZXJDb21tb24uY3BwCmluZGV4IGQxODg4N2Y1MTJkYi4uYjlmZTliYjlhYTY4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0cmVhbWVy
Q29tbW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvR1N0cmVhbWVyQ29tbW9uLmNwcApAQCAtMzMsOCArMzMsOCBAQAogI2luY2x1ZGUgPGdzdC9h
dWRpby9hdWRpby1pbmZvLmg+CiAjaW5jbHVkZSA8Z3N0L2dzdC5oPgogI2luY2x1ZGUgPG11dGV4
PgorI2luY2x1ZGUgPHd0Zi9GaWxlU3lzdGVtLmg+CiAjaW5jbHVkZSA8d3RmL1Njb3BlLmg+Ci0j
aW5jbHVkZSA8d3RmL2dsaWIvR0xpYlV0aWxpdGllcy5oPgogI2luY2x1ZGUgPHd0Zi9nbGliL0dV
bmlxdWVQdHIuaD4KICNpbmNsdWRlIDx3dGYvZ2xpYi9SdW5Mb29wU291cmNlUHJpb3JpdHkuaD4K
IApAQCAtMjU3LDcgKzI1Nyw3IEBAIGJvb2wgZW5zdXJlR1N0cmVhbWVySW5pdGlhbGl6ZWQoKQog
ICAgICAgICBzX1VJUHJvY2Vzc0NvbW1hbmRMaW5lT3B0aW9ucy5yZXNldCgpOwogICAgICAgICBj
aGFyKiogYXJndiA9IGdfbmV3MChjaGFyKiwgcGFyYW1ldGVycy5zaXplKCkgKyAyKTsKICAgICAg
ICAgaW50IGFyZ2MgPSBwYXJhbWV0ZXJzLnNpemUoKSArIDE7Ci0gICAgICAgIGFyZ3ZbMF0gPSBn
X3N0cmR1cChnZXRDdXJyZW50RXhlY3V0YWJsZU5hbWUoKS5kYXRhKCkpOworICAgICAgICBhcmd2
WzBdID0gZ19zdHJkdXAoRmlsZVN5c3RlbTo6Y3VycmVudEV4ZWN1dGFibGVOYW1lKCkuZGF0YSgp
KTsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHBhcmFtZXRlcnMuc2l6ZSgpOyBp
KyspCiAgICAgICAgICAgICBhcmd2W2kgKyAxXSA9IGdfc3RyZHVwKHBhcmFtZXRlcnNbaV0udXRm
OCgpLmRhdGEoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lci5jcHAKaW5kZXggMzczYTY4MmQzMGRlLi4yMTM1MjA3YzA1ZWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCkBAIC04Miw3ICs4Miw2IEBA
CiAjaW5jbHVkZSA8Z3N0L3ZpZGVvL2dzdHZpZGVvbWV0YS5oPgogI2luY2x1ZGUgPGxpbWl0cz4K
ICNpbmNsdWRlIDx3dGYvRmlsZVN5c3RlbS5oPgotI2luY2x1ZGUgPHd0Zi9nbGliL0dMaWJVdGls
aXRpZXMuaD4KICNpbmNsdWRlIDx3dGYvZ2xpYi9HVW5pcXVlUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L2dsaWIvUnVuTG9vcFNvdXJjZVByaW9yaXR5Lmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMu
aD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9tc2UvQXBwZW5kUGlwZWxpbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL21zZS9BcHBlbmRQaXBlbGluZS5jcHAKaW5kZXggNzQ5N2NkMDExYTg3Li4y
OTgyYmI1NjBkNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuY3BwCkBAIC00Miw3
ICs0Miw2IEBACiAjaW5jbHVkZSA8Z3N0L3BidXRpbHMvcGJ1dGlscy5oPgogI2luY2x1ZGUgPGdz
dC92aWRlby92aWRlby5oPgogI2luY2x1ZGUgPHd0Zi9Db25kaXRpb24uaD4KLSNpbmNsdWRlIDx3
dGYvZ2xpYi9HTGliVXRpbGl0aWVzLmg+CiAjaW5jbHVkZSA8d3RmL2dsaWIvUnVuTG9vcFNvdXJj
ZVByaW9yaXR5Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQ29uY2F0ZW5hdGVOdW1iZXJz
Lmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvaHlwaGVuL0h5
cGhlbmF0aW9uTGliSHlwaGVuLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvaHlw
aGVuL0h5cGhlbmF0aW9uTGliSHlwaGVuLmNwcAppbmRleCBmYTA1OGE4M2NmNjkuLmYwYjE3YjIx
MTNjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9oeXBoZW4vSHlw
aGVuYXRpb25MaWJIeXBoZW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQv
aHlwaGVuL0h5cGhlbmF0aW9uTGliSHlwaGVuLmNwcApAQCAtNDEsNyArNDEsNiBAQAogI2luY2x1
ZGUgPHd0Zi90ZXh0L1N0cmluZ1ZpZXcuaD4KIAogI2lmIFBMQVRGT1JNKEdUSykKLSNpbmNsdWRl
IDx3dGYvZ2xpYi9HTGliVXRpbGl0aWVzLmg+CiAjaW5jbHVkZSA8d3RmL2dsaWIvR1VuaXF1ZVB0
ci5oPgogI2VuZGlmCiAKQEAgLTEwMyw3ICsxMDIsNyBAQCBzdGF0aWMgQ1N0cmluZyB0b3BMZXZl
bFBhdGgoKQogICAgIC8vIElmIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSB3YXNuJ3QgcHJvdmlk
ZWQgdGhlbiBhc3N1bWUgd2Ugd2VyZSBidWlsdCBpbnRvCiAgICAgLy8gV2ViS2l0QnVpbGQvRGVi
dWcgb3IgV2ViS2l0QnVpbGQvUmVsZWFzZS4gT2J2aW91c2x5IHRoaXMgd2lsbCBmYWlsIGlmIHRo
ZSBidWlsZAogICAgIC8vIGRpcmVjdG9yeSBpcyBub24tc3RhbmRhcmQsIGJ1dCB3ZSBjYW4ndCBk
byBtdWNoIG1vcmUgYWJvdXQgdGhpcy4KLSAgICBHVW5pcXVlUHRyPGNoYXI+IHBhcmVudFBhdGgo
Z19wYXRoX2dldF9kaXJuYW1lKGdldEN1cnJlbnRFeGVjdXRhYmxlUGF0aCgpLmRhdGEoKSkpOwor
ICAgIEdVbmlxdWVQdHI8Y2hhcj4gcGFyZW50UGF0aChnX3BhdGhfZ2V0X2Rpcm5hbWUoRmlsZVN5
c3RlbTo6Y3VycmVudEV4ZWN1dGFibGVQYXRoKCkuZGF0YSgpKSk7CiAgICAgR1VuaXF1ZVB0cjxj
aGFyPiBsYXlvdXRUZXN0c1BhdGgoZ19idWlsZF9maWxlbmFtZShwYXJlbnRQYXRoLmdldCgpLCAi
Li4iLCAiLi4iLCAiLi4iLCBudWxscHRyKSk7CiAgICAgR1VuaXF1ZVB0cjxjaGFyPiBhYnNvbHV0
ZVRvcExldmVsUGF0aChyZWFscGF0aChsYXlvdXRUZXN0c1BhdGguZ2V0KCksIDApKTsKICAgICBy
ZXR1cm4gYWJzb2x1dGVUb3BMZXZlbFBhdGguZ2V0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDFmY2QwZTFlMWJi
ZC4uODUyNzBjOThjNWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIxLTEwLTE0ICBD
YXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RL
XVtXUEVdIE1vdmUgZ2V0Q3VycmVudEV4ZWN1dGFibGVQYXRoKCkgYW5kIGdldEN1cnJlbnRFeGVj
dXRhYmxlTmFtZSgpIHRvIEZpbGVTeXN0ZW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzMTczMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogU2hhcmVkL2dsaWIvUHJvY2Vzc0V4ZWN1dGFibGVQYXRoR0xp
Yi5jcHA6CisgICAgICAgIChXZWJLaXQ6OmdldEV4ZWN1dGFibGVQYXRoKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvTGF1bmNoZXIvZ2xpYi9CdWJibGV3cmFwTGF1bmNoZXIuY3BwOgorICAgICAgICAo
V2ViS2l0OjpidWJibGV3cmFwU3Bhd24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9MYXVuY2hlci9n
bGliL1Byb2Nlc3NMYXVuY2hlckdMaWIuY3BwOgorCiAyMDIxLTEwLTEzICBDaHJpcyBEdW1leiAg
PGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgRHJvcCBtYWtlV2Vha1B0cigpIGFuZCB1c2Ug
V2Vha1B0ciB7IH0gZGlyZWN0bHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2ds
aWIvUHJvY2Vzc0V4ZWN1dGFibGVQYXRoR0xpYi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9n
bGliL1Byb2Nlc3NFeGVjdXRhYmxlUGF0aEdMaWIuY3BwCmluZGV4IDg2MmY4Mzc4M2M0MS4uNjIy
Y2RjMDg0ZDAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9nbGliL1Byb2Nlc3NF
eGVjdXRhYmxlUGF0aEdMaWIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2dsaWIvUHJv
Y2Vzc0V4ZWN1dGFibGVQYXRoR0xpYi5jcHAKQEAgLTI5LDE0ICsyOSwxMyBAQAogCiAjaW5jbHVk
ZSA8Z2xpYi5oPgogI2luY2x1ZGUgPHd0Zi9GaWxlU3lzdGVtLmg+Ci0jaW5jbHVkZSA8d3RmL2ds
aWIvR0xpYlV0aWxpdGllcy5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogI2lmIEVOQUJMRShE
RVZFTE9QRVJfTU9ERSkKIHN0YXRpYyBTdHJpbmcgZ2V0RXhlY3V0YWJsZVBhdGgoKQogewotICAg
IENTdHJpbmcgZXhlY3V0YWJsZVBhdGggPSBnZXRDdXJyZW50RXhlY3V0YWJsZVBhdGgoKTsKKyAg
ICBDU3RyaW5nIGV4ZWN1dGFibGVQYXRoID0gRmlsZVN5c3RlbTo6Y3VycmVudEV4ZWN1dGFibGVQ
YXRoKCk7CiAgICAgaWYgKCFleGVjdXRhYmxlUGF0aC5pc051bGwoKSkKICAgICAgICAgcmV0dXJu
IEZpbGVTeXN0ZW06OnBhcmVudFBhdGgoRmlsZVN5c3RlbTo6c3RyaW5nRnJvbUZpbGVTeXN0ZW1S
ZXByZXNlbnRhdGlvbihleGVjdXRhYmxlUGF0aC5kYXRhKCkpKTsKICAgICByZXR1cm4geyB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTGF1bmNoZXIvZ2xpYi9CdWJibGV3
cmFwTGF1bmNoZXIuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTGF1bmNoZXIvZ2xpYi9C
dWJibGV3cmFwTGF1bmNoZXIuY3BwCmluZGV4IDJkZjIwODVmZmJmZS4uYzBjNjhkMDAyYzJjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9MYXVuY2hlci9nbGliL0J1YmJsZXdy
YXBMYXVuY2hlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTGF1bmNoZXIvZ2xp
Yi9CdWJibGV3cmFwTGF1bmNoZXIuY3BwCkBAIC0yOCw3ICsyOCw2IEBACiAjaW5jbHVkZSA8dW5p
c3RkLmg+CiAjaW5jbHVkZSA8d3RmL0ZpbGVTeXN0ZW0uaD4KICNpbmNsdWRlIDx3dGYvVW5pU3Rk
RXh0cmFzLmg+Ci0jaW5jbHVkZSA8d3RmL2dsaWIvR0xpYlV0aWxpdGllcy5oPgogI2luY2x1ZGUg
PHd0Zi9nbGliL0dSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvZ2xpYi9HVW5pcXVlUHRyLmg+CiAK
QEAgLTkzMSw3ICs5MzAsNyBAQCBHUmVmUHRyPEdTdWJwcm9jZXNzPiBidWJibGV3cmFwU3Bhd24o
R1N1YnByb2Nlc3NMYXVuY2hlciogbGF1bmNoZXIsIGNvbnN0IFByb2NlcwogICAgICAgICBiaW5k
SWZFeGlzdHMoc2FuZGJveEFyZ3MsIHBhcmVudERpci51dGY4KCkuZGF0YSgpKTsKICAgICB9CiAK
LSAgICBDU3RyaW5nIGV4ZWN1dGFibGVQYXRoID0gZ2V0Q3VycmVudEV4ZWN1dGFibGVQYXRoKCk7
CisgICAgQ1N0cmluZyBleGVjdXRhYmxlUGF0aCA9IEZpbGVTeXN0ZW06OmN1cnJlbnRFeGVjdXRh
YmxlUGF0aCgpOwogICAgIGlmICghZXhlY3V0YWJsZVBhdGguaXNOdWxsKCkpIHsKICAgICAgICAg
Ly8gT3VyIGV4ZWN1dGFibGUgaXMgYC9mb28vYmFyL2Jpbi9Qcm9jZXNzYCwgd2Ugd2FudCBgL2Zv
by9iYXJgIGFzIGEgdXNhYmxlIHByZWZpeAogICAgICAgICBTdHJpbmcgcGFyZW50RGlyID0gRmls
ZVN5c3RlbTo6cGFyZW50UGF0aChGaWxlU3lzdGVtOjpwYXJlbnRQYXRoKEZpbGVTeXN0ZW06OnN0
cmluZ0Zyb21GaWxlU3lzdGVtUmVwcmVzZW50YXRpb24oZXhlY3V0YWJsZVBhdGguZGF0YSgpKSkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTGF1bmNoZXIvZ2xpYi9Qcm9j
ZXNzTGF1bmNoZXJHTGliLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0xhdW5jaGVyL2ds
aWIvUHJvY2Vzc0xhdW5jaGVyR0xpYi5jcHAKaW5kZXggMWM1NzVlMjk4YjQwLi4zNWFmNWUzNWYx
MDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0xhdW5jaGVyL2dsaWIvUHJv
Y2Vzc0xhdW5jaGVyR0xpYi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTGF1bmNo
ZXIvZ2xpYi9Qcm9jZXNzTGF1bmNoZXJHTGliLmNwcApAQCAtMzcsNyArMzcsNiBAQAogI2luY2x1
ZGUgPHd0Zi9GaWxlU3lzdGVtLmg+CiAjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KICNpbmNsdWRl
IDx3dGYvVW5pU3RkRXh0cmFzLmg+Ci0jaW5jbHVkZSA8d3RmL2dsaWIvR0xpYlV0aWxpdGllcy5o
PgogI2luY2x1ZGUgPHd0Zi9nbGliL0dVbmlxdWVQdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9D
U3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CmRpZmYgLS1naXQgYS9U
b29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggY2VjYWMxNTcxNmJlLi4yMjY1
MDAyYzM1OTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMS0xMC0xNCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxj
Z2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS11bV1BFXSBNb3ZlIGdldEN1cnJlbnRF
eGVjdXRhYmxlUGF0aCgpIGFuZCBnZXRDdXJyZW50RXhlY3V0YWJsZU5hbWUoKSB0byBGaWxlU3lz
dGVtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE3
MzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRl
c3RXZWJLaXRBUEkvZ2xpYi9XZWJLaXRHTGliL1Rlc3RNYWluLmNwcDoKKyAgICAgICAgKG1haW4p
OgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvZ3RrL0FjdGl2YXRl
Rm9udHNHdGsuY3BwOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
Z3RrL0luamVjdGVkQnVuZGxlVXRpbGl0aWVzLmNwcDoKKyAgICAgICAgKFdUUjo6dG9wTGV2ZWxQ
YXRoKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL3dwZS9BY3Rp
dmF0ZUZvbnRzV1BFLmNwcDoKKyAgICAgICAgKFdUUjo6dG9wTGV2ZWxQYXRoKToKKwogMjAyMS0x
MC0xMyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIERyb3AgbWFr
ZVdlYWtQdHIoKSBhbmQgdXNlIFdlYWtQdHIgeyB9IGRpcmVjdGx5CmRpZmYgLS1naXQgYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL2dsaWIvV2ViS2l0R0xpYi9UZXN0TWFpbi5jcHAgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL2dsaWIvV2ViS2l0R0xpYi9UZXN0TWFpbi5jcHAKaW5kZXggM2JiMGMyMWY4MTE5
Li5lODViM2MxZWZkZTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvZ2xpYi9XZWJL
aXRHTGliL1Rlc3RNYWluLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL2dsaWIvV2ViS2l0
R0xpYi9UZXN0TWFpbi5jcHAKQEAgLTIxLDcgKzIxLDcgQEAKICNpbmNsdWRlICJUZXN0TWFpbi5o
IgogCiAjaW5jbHVkZSA8Z2xpYi9nc3RkaW8uaD4KLSNpbmNsdWRlIDx3dGYvZ2xpYi9HTGliVXRp
bGl0aWVzLmg+CisjaW5jbHVkZSA8d3RmL0ZpbGVTeXN0ZW0uaD4KIAogI2lmIFBMQVRGT1JNKEdU
SykKICNpbmNsdWRlIDxndGsvZ3RrLmg+CkBAIC0xMjQsNyArMTI0LDcgQEAgaW50IG1haW4oaW50
IGFyZ2MsIGNoYXIqKiBhcmd2KQogI2Vsc2UKICAgICBnX3Rlc3RfaW5pdCgmYXJnYywgJmFyZ3Ys
IG51bGxwdHIpOwogI2VuZGlmCi0gICAgZ19zZXRfcHJnbmFtZShnZXRDdXJyZW50RXhlY3V0YWJs
ZU5hbWUoKS5kYXRhKCkpOworICAgIGdfc2V0X3ByZ25hbWUoRmlsZVN5c3RlbTo6Y3VycmVudEV4
ZWN1dGFibGVOYW1lKCkuZGF0YSgpKTsKICAgICBnX3NldGVudigiV0VCS0lUX0VYRUNfUEFUSCIs
IFdFQktJVF9FWEVDX1BBVEgsIEZBTFNFKTsKICAgICBnX3NldGVudigiV0VCS0lUX0lOSkVDVEVE
X0JVTkRMRV9QQVRIIiwgV0VCS0lUX0lOSkVDVEVEX0JVTkRMRV9QQVRILCBGQUxTRSk7CiAgICAg
Z19zZXRlbnYoIkxDX0FMTCIsICJDIiwgVFJVRSk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRzR3RrLmNwcCBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvZ3RrL0FjdGl2YXRlRm9udHNHdGsuY3Bw
CmluZGV4IDgxYmNkOTYyYTA5Yy4uY2YxYTc2N2MzOTQxIDEwMDY0NAotLS0gYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRzR3RrLmNwcAorKysg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRz
R3RrLmNwcApAQCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlVXRpbGl0
aWVzLmgiCiAjaW5jbHVkZSA8Zm9udGNvbmZpZy9mb250Y29uZmlnLmg+CiAjaW5jbHVkZSA8Z3Rr
L2d0ay5oPgotI2luY2x1ZGUgPHd0Zi9nbGliL0dMaWJVdGlsaXRpZXMuaD4KICNpbmNsdWRlIDx3
dGYvZ2xpYi9HVW5pcXVlUHRyLmg+CiAKIG5hbWVzcGFjZSBXVFIgewpkaWZmIC0tZ2l0IGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9ndGsvSW5qZWN0ZWRCdW5kbGVVdGls
aXRpZXMuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9ndGsvSW5q
ZWN0ZWRCdW5kbGVVdGlsaXRpZXMuY3BwCmluZGV4IGFmYmQzZjc0YTFkNi4uOGFjZmVjOTYzZjFk
IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2d0ay9J
bmplY3RlZEJ1bmRsZVV0aWxpdGllcy5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9ndGsvSW5qZWN0ZWRCdW5kbGVVdGlsaXRpZXMuY3BwCkBAIC0zMCw3ICsz
MCw3IEBACiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVVdGlsaXRpZXMuaCIKIAogI2luY2x1ZGUg
PGd0ay9ndGsuaD4KLSNpbmNsdWRlIDx3dGYvZ2xpYi9HTGliVXRpbGl0aWVzLmg+CisjaW5jbHVk
ZSA8d3RmL0ZpbGVTeXN0ZW0uaD4KICNpbmNsdWRlIDx3dGYvZ2xpYi9HVW5pcXVlUHRyLmg+CiAK
IG5hbWVzcGFjZSBXVFIgewpAQCAtNDMsNyArNDMsNyBAQCBDU3RyaW5nIHRvcExldmVsUGF0aCgp
CiAgICAgLy8gSWYgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIHdhc24ndCBwcm92aWRlZCB0aGVu
IGFzc3VtZSB3ZSB3ZXJlIGJ1aWx0IGludG8KICAgICAvLyBXZWJLaXRCdWlsZC9EZWJ1ZyBvciBX
ZWJLaXRCdWlsZC9SZWxlYXNlLiBPYnZpb3VzbHkgdGhpcyB3aWxsIGZhaWwgaWYgdGhlIGJ1aWxk
CiAgICAgLy8gZGlyZWN0b3J5IGlzIG5vbi1zdGFuZGFyZCwgYnV0IHdlIGNhbid0IGRvIG11Y2gg
bW9yZSBhYm91dCB0aGlzLgotICAgIEdVbmlxdWVQdHI8Y2hhcj4gcGFyZW50UGF0aChnX3BhdGhf
Z2V0X2Rpcm5hbWUoZ2V0Q3VycmVudEV4ZWN1dGFibGVQYXRoKCkuZGF0YSgpKSk7CisgICAgR1Vu
aXF1ZVB0cjxjaGFyPiBwYXJlbnRQYXRoKGdfcGF0aF9nZXRfZGlybmFtZShGaWxlU3lzdGVtOjpj
dXJyZW50RXhlY3V0YWJsZVBhdGgoKS5kYXRhKCkpKTsKICAgICBHVW5pcXVlUHRyPGNoYXI+IGxh
eW91dFRlc3RzUGF0aChnX2J1aWxkX2ZpbGVuYW1lKHBhcmVudFBhdGguZ2V0KCksICIuLiIsICIu
LiIsICIuLiIsIG51bGxwdHIpKTsKICAgICBHVW5pcXVlUHRyPGNoYXI+IGFic29sdXRlVG9wTGV2
ZWxQYXRoKHJlYWxwYXRoKGxheW91dFRlc3RzUGF0aC5nZXQoKSwgMCkpOwogICAgIHJldHVybiBh
YnNvbHV0ZVRvcExldmVsUGF0aC5nZXQoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvd3BlL0FjdGl2YXRlRm9udHNXUEUuY3BwIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93cGUvQWN0aXZhdGVGb250c1dQRS5jcHAKaW5k
ZXggOGJlNzM2ZjA0OWM5Li42NDc5NTBhYWQ0ZjUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvd3BlL0FjdGl2YXRlRm9udHNXUEUuY3BwCisrKyBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvd3BlL0FjdGl2YXRlRm9udHNXUEUu
Y3BwCkBAIC0yNyw3ICsyNyw3IEBACiAjaW5jbHVkZSAiQWN0aXZhdGVGb250cy5oIgogCiAjaW5j
bHVkZSA8Zm9udGNvbmZpZy9mb250Y29uZmlnLmg+Ci0jaW5jbHVkZSA8d3RmL2dsaWIvR0xpYlV0
aWxpdGllcy5oPgorI2luY2x1ZGUgPHd0Zi9GaWxlU3lzdGVtLmg+CiAjaW5jbHVkZSA8d3RmL2ds
aWIvR1VuaXF1ZVB0ci5oPgogCiBuYW1lc3BhY2UgV1RSIHsKQEAgLTQwLDcgKzQwLDcgQEAgQ1N0
cmluZyB0b3BMZXZlbFBhdGgoKQogICAgIC8vIElmIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSB3
YXNuJ3QgcHJvdmlkZWQgdGhlbiBhc3N1bWUgd2Ugd2VyZSBidWlsdCBpbnRvCiAgICAgLy8gV2Vi
S2l0QnVpbGQvRGVidWcgb3IgV2ViS2l0QnVpbGQvUmVsZWFzZS4gT2J2aW91c2x5IHRoaXMgd2ls
bCBmYWlsIGlmIHRoZSBidWlsZAogICAgIC8vIGRpcmVjdG9yeSBpcyBub24tc3RhbmRhcmQsIGJ1
dCB3ZSBjYW4ndCBkbyBtdWNoIG1vcmUgYWJvdXQgdGhpcy4KLSAgICBHVW5pcXVlUHRyPGNoYXI+
IHBhcmVudFBhdGgoZ19wYXRoX2dldF9kaXJuYW1lKGdldEN1cnJlbnRFeGVjdXRhYmxlUGF0aCgp
LmRhdGEoKSkpOworICAgIEdVbmlxdWVQdHI8Y2hhcj4gcGFyZW50UGF0aChnX3BhdGhfZ2V0X2Rp
cm5hbWUoRmlsZVN5c3RlbTo6Y3VycmVudEV4ZWN1dGFibGVQYXRoKCkuZGF0YSgpKSk7CiAgICAg
R1VuaXF1ZVB0cjxjaGFyPiBsYXlvdXRUZXN0c1BhdGgoZ19idWlsZF9maWxlbmFtZShwYXJlbnRQ
YXRoLmdldCgpLCAiLi4iLCAiLi4iLCAiLi4iLCBudWxscHRyKSk7CiAgICAgR1VuaXF1ZVB0cjxj
aGFyPiBhYnNvbHV0ZVRvcExldmVsUGF0aChyZWFscGF0aChsYXlvdXRUZXN0c1BhdGguZ2V0KCks
IDApKTsKICAgICByZXR1cm4gYWJzb2x1dGVUb3BMZXZlbFBhdGguZ2V0KCk7Cg==
</data>
<flag name="commit-queue"
          id="465380"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441206</attachid>
            <date>2021-10-14 05:23:32 -0700</date>
            <delta_ts>2021-10-14 06:17:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wtf-glib-utilities.diff</filename>
            <type>text/plain</type>
            <size>21103</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggNmM2ZjE5NThiM2FjLi5jYzk2NjIxMTIzN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIw
MjEtMTAtMTQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisg
ICAgICAgIFtHVEtdW1dQRV0gTW92ZSBnZXRDdXJyZW50RXhlY3V0YWJsZVBhdGgoKSBhbmQgZ2V0
Q3VycmVudEV4ZWN1dGFibGVOYW1lKCkgdG8gRmlsZVN5c3RlbQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxNzMyCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvRmlsZVN5c3RlbS5oOgorICAgICAg
ICAqIHd0Zi9QbGF0Zm9ybUdUSy5jbWFrZToKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1XUEUuY21h
a2U6CisgICAgICAgICogd3RmL2dsaWIvRmlsZVN5c3RlbUdsaWIuY3BwOgorICAgICAgICAoV1RG
OjpGaWxlU3lzdGVtSW1wbDo6Y3VycmVudEV4ZWN1dGFibGVQYXRoKToKKyAgICAgICAgKFdURjo6
RmlsZVN5c3RlbUltcGw6OmN1cnJlbnRFeGVjdXRhYmxlTmFtZSk6CisgICAgICAgICogd3RmL2ds
aWIvR0xpYlV0aWxpdGllcy5jcHA6IFJlbW92ZWQuCisgICAgICAgIChnZXRDdXJyZW50RXhlY3V0
YWJsZVBhdGgpOiBEZWxldGVkLgorICAgICAgICAoZ2V0Q3VycmVudEV4ZWN1dGFibGVOYW1lKTog
RGVsZXRlZC4KKyAgICAgICAgKiB3dGYvZ2xpYi9HTGliVXRpbGl0aWVzLmg6IFJlbW92ZWQuCisK
IDIwMjEtMTAtMTQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgog
CiAgICAgICAgIFtHVEtdW1dQRV0gQnVtcCBHTGliIHZlcnNpb24gdG8gMi41OC4zCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi9GaWxlU3lzdGVtLmggYi9Tb3VyY2UvV1RGL3d0Zi9GaWxlU3lz
dGVtLmgKaW5kZXggYjEwNzM3MDY5OGUxLi45OTZiYzBiNmY3ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XVEYvd3RmL0ZpbGVTeXN0ZW0uaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9GaWxlU3lzdGVtLmgK
QEAgLTE4OSw2ICsxODksOCBAQCBXVEZfRVhQT1JUX1BSSVZBVEUgUmV0YWluUHRyPENGVVJMUmVm
PiBwYXRoQXNVUkwoY29uc3QgU3RyaW5nJik7CiAKICNpZiBVU0UoR0xJQikKIFdURl9FWFBPUlRf
UFJJVkFURSBTdHJpbmcgZmlsZW5hbWVGb3JEaXNwbGF5KGNvbnN0IFN0cmluZyYpOworV1RGX0VY
UE9SVF9QUklWQVRFIENTdHJpbmcgY3VycmVudEV4ZWN1dGFibGVQYXRoKCk7CitXVEZfRVhQT1JU
X1BSSVZBVEUgQ1N0cmluZyBjdXJyZW50RXhlY3V0YWJsZU5hbWUoKTsKICNlbmRpZgogCiAjaWYg
T1MoV0lORE9XUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL09wdGlvblNldC5oIGIvU291
cmNlL1dURi93dGYvT3B0aW9uU2V0LmgKaW5kZXggNzdiNmVhNjE0N2M0Li42ZTY0OTNmMGFkNDIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL09wdGlvblNldC5oCisrKyBiL1NvdXJjZS9XVEYv
d3RmL09wdGlvblNldC5oCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSA8dHlwZV90cmFpdHM+
CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvRW51bVRyYWl0cy5o
PgorI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMu
aD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvd3RmL1BsYXRmb3JtR1RLLmNtYWtlIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1HVEsuY21h
a2UKaW5kZXggNGExMmI1YTQzOTNmLi44MDkwZTkxNjBhMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvd3RmL1BsYXRmb3JtR1RLLmNtYWtlCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtR1RL
LmNtYWtlCkBAIC0yLDcgKzIsNiBAQCBzZXQoV1RGX09VVFBVVF9OQU1FIFdURkdUSykKIAogbGlz
dChBUFBFTkQgV1RGX1BVQkxJQ19IRUFERVJTCiAgICAgZ2xpYi9DaGFzc2lzVHlwZS5oCi0gICAg
Z2xpYi9HTGliVXRpbGl0aWVzLmgKICAgICBnbGliL0dNdXRleExvY2tlci5oCiAgICAgZ2xpYi9H
UmVmUHRyLmgKICAgICBnbGliL0dTb2NrZXRNb25pdG9yLmgKQEAgLTMwLDcgKzI5LDYgQEAgbGlz
dChBUFBFTkQgV1RGX1NPVVJDRVMKIAogICAgIGdsaWIvQ2hhc3Npc1R5cGUuY3BwCiAgICAgZ2xp
Yi9GaWxlU3lzdGVtR2xpYi5jcHAKLSAgICBnbGliL0dMaWJVdGlsaXRpZXMuY3BwCiAgICAgZ2xp
Yi9HUmVmUHRyLmNwcAogICAgIGdsaWIvR1NvY2tldE1vbml0b3IuY3BwCiAgICAgZ2xpYi9SdW5M
b29wR0xpYi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtV1BFLmNtYWtl
IGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1XUEUuY21ha2UKaW5kZXggNjQzZWYwZmNkZjRmLi5m
YjhiYjNlZTY2MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtV1BFLmNtYWtl
CisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtV1BFLmNtYWtlCkBAIC0xLDYgKzEsNSBAQAog
bGlzdChBUFBFTkQgV1RGX1BVQkxJQ19IRUFERVJTCiAgICAgZ2xpYi9DaGFzc2lzVHlwZS5oCi0g
ICAgZ2xpYi9HTGliVXRpbGl0aWVzLmgKICAgICBnbGliL0dNdXRleExvY2tlci5oCiAgICAgZ2xp
Yi9HUmVmUHRyLmgKICAgICBnbGliL0dTb2NrZXRNb25pdG9yLmgKQEAgLTIxLDcgKzIwLDYgQEAg
bGlzdChBUFBFTkQgV1RGX1NPVVJDRVMKIAogICAgIGdsaWIvQ2hhc3Npc1R5cGUuY3BwCiAgICAg
Z2xpYi9GaWxlU3lzdGVtR2xpYi5jcHAKLSAgICBnbGliL0dMaWJVdGlsaXRpZXMuY3BwCiAgICAg
Z2xpYi9HUmVmUHRyLmNwcAogICAgIGdsaWIvR1NvY2tldE1vbml0b3IuY3BwCiAgICAgZ2xpYi9S
dW5Mb29wR0xpYi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2dsaWIvRmlsZVN5c3Rl
bUdsaWIuY3BwIGIvU291cmNlL1dURi93dGYvZ2xpYi9GaWxlU3lzdGVtR2xpYi5jcHAKaW5kZXgg
ZjgxMjdmMGJhMGY0Li4xZDE1NDk0YzVjMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL2ds
aWIvRmlsZVN5c3RlbUdsaWIuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL2dsaWIvRmlsZVN5c3Rl
bUdsaWIuY3BwCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSA8c3lzL2ZpbGUuaD4KICNpbmNs
dWRlIDx3dGYvRW51bVRyYWl0cy5oPgogI2luY2x1ZGUgPHd0Zi9VVUlELmg+Ci0jaW5jbHVkZSA8
d3RmL2dsaWIvR0xpYlV0aWxpdGllcy5oPgogI2luY2x1ZGUgPHd0Zi9nbGliL0dSZWZQdHIuaD4K
ICNpbmNsdWRlIDx3dGYvZ2xpYi9HVW5pcXVlUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQVND
SUlGYXN0UGF0aC5oPgpAQCAtMzgsNiArMzcsMTMgQEAKICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJp
bmdCdWlsZGVyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKKyNpZiBPUyhX
SU5ET1dTKQorI2luY2x1ZGUgPHdpbmRvd3MuaD4KKyNlbHNlCisjaW5jbHVkZSA8bGltaXRzLmg+
CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjZW5kaWYKKwogbmFtZXNwYWNlIFdURiB7CiAKIG5hbWVz
cGFjZSBGaWxlU3lzdGVtSW1wbCB7CkBAIC0yNzUsNSArMjgxLDUyIEBAIGJvb2wgdW5sb2NrRmls
ZShQbGF0Zm9ybUZpbGVIYW5kbGUgaGFuZGxlKQogfQogI2VuZGlmIC8vIFVTRShGSUxFX0xPQ0sp
CiAKKyNpZiBPUyhMSU5VWCkKK0NTdHJpbmcgY3VycmVudEV4ZWN1dGFibGVQYXRoKCkKK3sKKyAg
ICBzdGF0aWMgY2hhciByZWFkTGlua0J1ZmZlcltQQVRIX01BWF07CisgICAgc3NpemVfdCByZXN1
bHQgPSByZWFkbGluaygiL3Byb2Mvc2VsZi9leGUiLCByZWFkTGlua0J1ZmZlciwgUEFUSF9NQVgp
OworICAgIGlmIChyZXN1bHQgPT0gLTEpCisgICAgICAgIHJldHVybiB7IH07CisgICAgcmV0dXJu
IENTdHJpbmcocmVhZExpbmtCdWZmZXIsIHJlc3VsdCk7Cit9CisjZWxpZiBPUyhIVVJEKQorQ1N0
cmluZyBjdXJyZW50RXhlY3V0YWJsZVBhdGgoKQoreworICAgIHJldHVybiB7IH07Cit9CisjZWxp
ZiBPUyhVTklYKQorQ1N0cmluZyBjdXJyZW50RXhlY3V0YWJsZVBhdGgoKQoreworICAgIHN0YXRp
YyBjaGFyIHJlYWRMaW5rQnVmZmVyW1BBVEhfTUFYXTsKKyAgICBzc2l6ZV90IHJlc3VsdCA9IHJl
YWRsaW5rKCIvcHJvYy9jdXJwcm9jL2ZpbGUiLCByZWFkTGlua0J1ZmZlciwgUEFUSF9NQVgpOwor
ICAgIGlmIChyZXN1bHQgPT0gLTEpCisgICAgICAgIHJldHVybiB7IH07CisgICAgcmV0dXJuIENT
dHJpbmcocmVhZExpbmtCdWZmZXIsIHJlc3VsdCk7Cit9CisjZWxpZiBPUyhXSU5ET1dTKQorQ1N0
cmluZyBjdXJyZW50RXhlY3V0YWJsZVBhdGgoKQoreworICAgIHN0YXRpYyBXQ0hBUiBidWZmZXJb
TUFYX1BBVEhdOworICAgIERXT1JEIGxlbmd0aCA9IEdldE1vZHVsZUZpbGVOYW1lVygwLCBidWZm
ZXIsIE1BWF9QQVRIKTsKKyAgICBpZiAoIWxlbmd0aCB8fCAobGVuZ3RoID09IE1BWF9QQVRIICYm
IEdldExhc3RFcnJvcigpID09IEVSUk9SX0lOU1VGRklDSUVOVF9CVUZGRVIpKQorICAgICAgICBy
ZXR1cm4geyB9OworCisgICAgU3RyaW5nIHBhdGgoYnVmZmVyLCBsZW5ndGgpOworICAgIHJldHVy
biBwYXRoLnV0ZjgoKTsKK30KKyNlbmRpZgorCitDU3RyaW5nIGN1cnJlbnRFeGVjdXRhYmxlTmFt
ZSgpCit7CisgICAgYXV0byBleGVjdXRhYmxlUGF0aCA9IGN1cnJlbnRFeGVjdXRhYmxlUGF0aCgp
OworICAgIGlmICghZXhlY3V0YWJsZVBhdGguaXNOdWxsKCkpIHsKKyAgICAgICAgR1VuaXF1ZVB0
cjxjaGFyPiBiYXNlbmFtZShnX3BhdGhfZ2V0X2Jhc2VuYW1lKGV4ZWN1dGFibGVQYXRoLmRhdGEo
KSkpOworICAgICAgICByZXR1cm4gYmFzZW5hbWUuZ2V0KCk7CisgICAgfQorCisgICAgcmV0dXJu
IGdfZ2V0X3ByZ25hbWUoKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgRmlsZVN5c3RlbUltcGwKIH0g
Ly8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvZ2xpYi9HTGliVXRp
bGl0aWVzLmNwcCBiL1NvdXJjZS9XVEYvd3RmL2dsaWIvR0xpYlV0aWxpdGllcy5jcHAKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY0NGI5ZTVlN2Y0OC4uMDAwMDAwMDAwMDAwCi0tLSBh
L1NvdXJjZS9XVEYvd3RmL2dsaWIvR0xpYlV0aWxpdGllcy5jcHAKKysrIC9kZXYvbnVsbApAQCAt
MSw3OSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIElnYWxpYSwgUy5MLgotICoK
LSAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCi0gKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMKLSAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2Us
IG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogIFRoaXMgbGli
cmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAot
ICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCi0gKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogIGFsb25n
IHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdy
aXRlIHRvCi0gKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmts
aW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4K
LSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSA8d3RmL2dsaWIvR0xpYlV0aWxp
dGllcy5oPgotCi0jaW5jbHVkZSA8Z2xpYi5oPgotI2luY2x1ZGUgPHd0Zi9nbGliL0dVbmlxdWVQ
dHIuaD4KLQotI2lmIE9TKFdJTkRPV1MpCi0jaW5jbHVkZSA8d2luZG93cy5oPgotI2luY2x1ZGUg
PHd0Zi90ZXh0L1dURlN0cmluZy5oPgotI2Vsc2UKLSNpbmNsdWRlIDxsaW1pdHMuaD4KLSNpbmNs
dWRlIDx1bmlzdGQuaD4KLSNlbmRpZgotCi0jaWYgT1MoTElOVVgpCi1DU3RyaW5nIGdldEN1cnJl
bnRFeGVjdXRhYmxlUGF0aCgpCi17Ci0gICAgc3RhdGljIGNoYXIgcmVhZExpbmtCdWZmZXJbUEFU
SF9NQVhdOwotICAgIHNzaXplX3QgcmVzdWx0ID0gcmVhZGxpbmsoIi9wcm9jL3NlbGYvZXhlIiwg
cmVhZExpbmtCdWZmZXIsIFBBVEhfTUFYKTsKLSAgICBpZiAocmVzdWx0ID09IC0xKQotICAgICAg
ICByZXR1cm4gQ1N0cmluZygpOwotICAgIHJldHVybiBDU3RyaW5nKHJlYWRMaW5rQnVmZmVyLCBy
ZXN1bHQpOwotfQotI2VsaWYgT1MoSFVSRCkKLUNTdHJpbmcgZ2V0Q3VycmVudEV4ZWN1dGFibGVQ
YXRoKCkKLXsKLSAgICByZXR1cm4gQ1N0cmluZygpOwotfQotI2VsaWYgT1MoVU5JWCkKLUNTdHJp
bmcgZ2V0Q3VycmVudEV4ZWN1dGFibGVQYXRoKCkKLXsKLSAgICBzdGF0aWMgY2hhciByZWFkTGlu
a0J1ZmZlcltQQVRIX01BWF07Ci0gICAgc3NpemVfdCByZXN1bHQgPSByZWFkbGluaygiL3Byb2Mv
Y3VycHJvYy9maWxlIiwgcmVhZExpbmtCdWZmZXIsIFBBVEhfTUFYKTsKLSAgICBpZiAocmVzdWx0
ID09IC0xKQotICAgICAgICByZXR1cm4gQ1N0cmluZygpOwotICAgIHJldHVybiBDU3RyaW5nKHJl
YWRMaW5rQnVmZmVyLCByZXN1bHQpOwotfQotI2VsaWYgT1MoV0lORE9XUykKLUNTdHJpbmcgZ2V0
Q3VycmVudEV4ZWN1dGFibGVQYXRoKCkKLXsKLSAgICBzdGF0aWMgV0NIQVIgYnVmZmVyW01BWF9Q
QVRIXTsKLSAgICBEV09SRCBsZW5ndGggPSBHZXRNb2R1bGVGaWxlTmFtZVcoMCwgYnVmZmVyLCBN
QVhfUEFUSCk7Ci0gICAgaWYgKCFsZW5ndGggfHwgKGxlbmd0aCA9PSBNQVhfUEFUSCAmJiBHZXRM
YXN0RXJyb3IoKSA9PSBFUlJPUl9JTlNVRkZJQ0lFTlRfQlVGRkVSKSkKLSAgICAgICAgcmV0dXJu
IENTdHJpbmcoKTsKLQotICAgIFN0cmluZyBwYXRoKGJ1ZmZlciwgbGVuZ3RoKTsKLSAgICByZXR1
cm4gcGF0aC51dGY4KCk7Ci19Ci0jZW5kaWYKLQotQ1N0cmluZyBnZXRDdXJyZW50RXhlY3V0YWJs
ZU5hbWUoKQotewotICAgIGF1dG8gZXhlY3V0YWJsZVBhdGggPSBnZXRDdXJyZW50RXhlY3V0YWJs
ZVBhdGgoKTsKLSAgICBpZiAoIWV4ZWN1dGFibGVQYXRoLmlzTnVsbCgpKSB7Ci0gICAgICAgIEdV
bmlxdWVQdHI8Y2hhcj4gYmFzZW5hbWUoZ19wYXRoX2dldF9iYXNlbmFtZShleGVjdXRhYmxlUGF0
aC5kYXRhKCkpKTsKLSAgICAgICAgcmV0dXJuIGJhc2VuYW1lLmdldCgpOwotICAgIH0KLQotICAg
IHJldHVybiBnX2dldF9wcmduYW1lKCk7Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9n
bGliL0dMaWJVdGlsaXRpZXMuaCBiL1NvdXJjZS9XVEYvd3RmL2dsaWIvR0xpYlV0aWxpdGllcy5o
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmOTI0N2ExY2RmNjYuLjAwMDAwMDAwMDAw
MAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9nbGliL0dMaWJVdGlsaXRpZXMuaAorKysgL2Rldi9udWxs
CkBAIC0xLDMwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgSWdhbGlhLCBTLkwu
Ci0gKgotICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKLSAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogIHZlcnNpb24gMiBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiAgVGhp
cyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm
dWwsCi0gKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp
ZWQgd2FycmFudHkgb2YKLSAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2
ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiAg
YWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5v
dCwgd3JpdGUgdG8KLSAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBG
cmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwg
VVNBLgotICovCi0KLSNpZm5kZWYgR0xpYlV0aWxpdGllc19oCi0jZGVmaW5lIEdMaWJVdGlsaXRp
ZXNfaAotCi0jaW5jbHVkZSA8Z2xpYi1vYmplY3QuaD4KLSNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9u
cy5oPgotI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KLQotV1RGX0VYUE9SVF9QUklWQVRF
IENTdHJpbmcgZ2V0Q3VycmVudEV4ZWN1dGFibGVQYXRoKCk7Ci1XVEZfRVhQT1JUX1BSSVZBVEUg
Q1N0cmluZyBnZXRDdXJyZW50RXhlY3V0YWJsZU5hbWUoKTsKLQotI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggNWE2ODI3MmFkZTllLi40Y2U3MDZmYzczMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBA
QAorMjAyMS0xMC0xNCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+
CisKKyAgICAgICAgW0dUS11bV1BFXSBNb3ZlIGdldEN1cnJlbnRFeGVjdXRhYmxlUGF0aCgpIGFu
ZCBnZXRDdXJyZW50RXhlY3V0YWJsZU5hbWUoKSB0byBGaWxlU3lzdGVtCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE3MzIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9HU3RyZWFtZXJDb21tb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZW5zdXJlR1N0
cmVhbWVySW5pdGlhbGl6ZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuY3BwOgorICAgICAgICAqIHBsYXRm
b3JtL3RleHQvaHlwaGVuL0h5cGhlbmF0aW9uTGliSHlwaGVuLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OnRvcExldmVsUGF0aCk6CisKIDIwMjEtMTAtMTQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8
Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gQnVtcCBHTGliIHZlcnNp
b24gdG8gMi41OC4zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvR1N0cmVhbWVyQ29tbW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9HU3RyZWFtZXJDb21tb24uY3BwCmluZGV4IGQxODg4N2Y1MTJk
Yi4uYjlmZTliYjlhYTY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvR1N0cmVhbWVyQ29tbW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0cmVhbWVyQ29tbW9uLmNwcApAQCAtMzMsOCAr
MzMsOCBAQAogI2luY2x1ZGUgPGdzdC9hdWRpby9hdWRpby1pbmZvLmg+CiAjaW5jbHVkZSA8Z3N0
L2dzdC5oPgogI2luY2x1ZGUgPG11dGV4PgorI2luY2x1ZGUgPHd0Zi9GaWxlU3lzdGVtLmg+CiAj
aW5jbHVkZSA8d3RmL1Njb3BlLmg+Ci0jaW5jbHVkZSA8d3RmL2dsaWIvR0xpYlV0aWxpdGllcy5o
PgogI2luY2x1ZGUgPHd0Zi9nbGliL0dVbmlxdWVQdHIuaD4KICNpbmNsdWRlIDx3dGYvZ2xpYi9S
dW5Mb29wU291cmNlUHJpb3JpdHkuaD4KIApAQCAtMjU3LDcgKzI1Nyw3IEBAIGJvb2wgZW5zdXJl
R1N0cmVhbWVySW5pdGlhbGl6ZWQoKQogICAgICAgICBzX1VJUHJvY2Vzc0NvbW1hbmRMaW5lT3B0
aW9ucy5yZXNldCgpOwogICAgICAgICBjaGFyKiogYXJndiA9IGdfbmV3MChjaGFyKiwgcGFyYW1l
dGVycy5zaXplKCkgKyAyKTsKICAgICAgICAgaW50IGFyZ2MgPSBwYXJhbWV0ZXJzLnNpemUoKSAr
IDE7Ci0gICAgICAgIGFyZ3ZbMF0gPSBnX3N0cmR1cChnZXRDdXJyZW50RXhlY3V0YWJsZU5hbWUo
KS5kYXRhKCkpOworICAgICAgICBhcmd2WzBdID0gZ19zdHJkdXAoRmlsZVN5c3RlbTo6Y3VycmVu
dEV4ZWN1dGFibGVOYW1lKCkuZGF0YSgpKTsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsg
aSA8IHBhcmFtZXRlcnMuc2l6ZSgpOyBpKyspCiAgICAgICAgICAgICBhcmd2W2kgKyAxXSA9IGdf
c3RyZHVwKHBhcmFtZXRlcnNbaV0udXRmOCgpLmRhdGEoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKaW5kZXggMzczYTY4MmQzMGRlLi4yMTM1
MjA3YzA1ZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXIuY3BwCkBAIC04Miw3ICs4Miw2IEBACiAjaW5jbHVkZSA8Z3N0L3ZpZGVvL2dzdHZpZGVvbWV0
YS5oPgogI2luY2x1ZGUgPGxpbWl0cz4KICNpbmNsdWRlIDx3dGYvRmlsZVN5c3RlbS5oPgotI2lu
Y2x1ZGUgPHd0Zi9nbGliL0dMaWJVdGlsaXRpZXMuaD4KICNpbmNsdWRlIDx3dGYvZ2xpYi9HVW5p
cXVlUHRyLmg+CiAjaW5jbHVkZSA8d3RmL2dsaWIvUnVuTG9vcFNvdXJjZVByaW9yaXR5Lmg+CiAj
aW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9BcHBlbmRQaXBlbGluZS5j
cHAKaW5kZXggNzQ5N2NkMDExYTg3Li4yOTgyYmI1NjBkNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBw
ZW5kUGlwZWxpbmUuY3BwCkBAIC00Miw3ICs0Miw2IEBACiAjaW5jbHVkZSA8Z3N0L3BidXRpbHMv
cGJ1dGlscy5oPgogI2luY2x1ZGUgPGdzdC92aWRlby92aWRlby5oPgogI2luY2x1ZGUgPHd0Zi9D
b25kaXRpb24uaD4KLSNpbmNsdWRlIDx3dGYvZ2xpYi9HTGliVXRpbGl0aWVzLmg+CiAjaW5jbHVk
ZSA8d3RmL2dsaWIvUnVuTG9vcFNvdXJjZVByaW9yaXR5Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
U3RyaW5nQ29uY2F0ZW5hdGVOdW1iZXJzLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvaHlwaGVuL0h5cGhlbmF0aW9uTGliSHlwaGVuLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3RleHQvaHlwaGVuL0h5cGhlbmF0aW9uTGliSHlwaGVuLmNwcAppbmRl
eCBmYTA1OGE4M2NmNjkuLmYwYjE3YjIxMTNjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9oeXBoZW4vSHlwaGVuYXRpb25MaWJIeXBoZW4uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvaHlwaGVuL0h5cGhlbmF0aW9uTGliSHlwaGVuLmNwcApA
QCAtNDEsNyArNDEsNiBAQAogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ1ZpZXcuaD4KIAogI2lm
IFBMQVRGT1JNKEdUSykKLSNpbmNsdWRlIDx3dGYvZ2xpYi9HTGliVXRpbGl0aWVzLmg+CiAjaW5j
bHVkZSA8d3RmL2dsaWIvR1VuaXF1ZVB0ci5oPgogI2VuZGlmCiAKQEAgLTEwMyw3ICsxMDIsNyBA
QCBzdGF0aWMgQ1N0cmluZyB0b3BMZXZlbFBhdGgoKQogICAgIC8vIElmIHRoZSBlbnZpcm9ubWVu
dCB2YXJpYWJsZSB3YXNuJ3QgcHJvdmlkZWQgdGhlbiBhc3N1bWUgd2Ugd2VyZSBidWlsdCBpbnRv
CiAgICAgLy8gV2ViS2l0QnVpbGQvRGVidWcgb3IgV2ViS2l0QnVpbGQvUmVsZWFzZS4gT2J2aW91
c2x5IHRoaXMgd2lsbCBmYWlsIGlmIHRoZSBidWlsZAogICAgIC8vIGRpcmVjdG9yeSBpcyBub24t
c3RhbmRhcmQsIGJ1dCB3ZSBjYW4ndCBkbyBtdWNoIG1vcmUgYWJvdXQgdGhpcy4KLSAgICBHVW5p
cXVlUHRyPGNoYXI+IHBhcmVudFBhdGgoZ19wYXRoX2dldF9kaXJuYW1lKGdldEN1cnJlbnRFeGVj
dXRhYmxlUGF0aCgpLmRhdGEoKSkpOworICAgIEdVbmlxdWVQdHI8Y2hhcj4gcGFyZW50UGF0aChn
X3BhdGhfZ2V0X2Rpcm5hbWUoRmlsZVN5c3RlbTo6Y3VycmVudEV4ZWN1dGFibGVQYXRoKCkuZGF0
YSgpKSk7CiAgICAgR1VuaXF1ZVB0cjxjaGFyPiBsYXlvdXRUZXN0c1BhdGgoZ19idWlsZF9maWxl
bmFtZShwYXJlbnRQYXRoLmdldCgpLCAiLi4iLCAiLi4iLCAiLi4iLCBudWxscHRyKSk7CiAgICAg
R1VuaXF1ZVB0cjxjaGFyPiBhYnNvbHV0ZVRvcExldmVsUGF0aChyZWFscGF0aChsYXlvdXRUZXN0
c1BhdGguZ2V0KCksIDApKTsKICAgICByZXR1cm4gYWJzb2x1dGVUb3BMZXZlbFBhdGguZ2V0KCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCmluZGV4IDFmY2QwZTFlMWJiZC4uODUyNzBjOThjNWE5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE2IEBACisyMDIxLTEwLTE0ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdh
bGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVdIE1vdmUgZ2V0Q3VycmVudEV4ZWN1dGFibGVQ
YXRoKCkgYW5kIGdldEN1cnJlbnRFeGVjdXRhYmxlTmFtZSgpIHRvIEZpbGVTeXN0ZW0KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTczMgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2hhcmVkL2dsaWIv
UHJvY2Vzc0V4ZWN1dGFibGVQYXRoR0xpYi5jcHA6CisgICAgICAgIChXZWJLaXQ6OmdldEV4ZWN1
dGFibGVQYXRoKToKKyAgICAgICAgKiBVSVByb2Nlc3MvTGF1bmNoZXIvZ2xpYi9CdWJibGV3cmFw
TGF1bmNoZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpidWJibGV3cmFwU3Bhd24pOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9MYXVuY2hlci9nbGliL1Byb2Nlc3NMYXVuY2hlckdMaWIuY3BwOgorCiAy
MDIxLTEwLTEzICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgRHJv
cCBtYWtlV2Vha1B0cigpIGFuZCB1c2UgV2Vha1B0ciB7IH0gZGlyZWN0bHkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL2dsaWIvUHJvY2Vzc0V4ZWN1dGFibGVQYXRoR0xpYi5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9nbGliL1Byb2Nlc3NFeGVjdXRhYmxlUGF0aEdMaWIuY3Bw
CmluZGV4IDg2MmY4Mzc4M2M0MS4uNjIyY2RjMDg0ZDAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9nbGliL1Byb2Nlc3NFeGVjdXRhYmxlUGF0aEdMaWIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL2dsaWIvUHJvY2Vzc0V4ZWN1dGFibGVQYXRoR0xpYi5jcHAKQEAgLTI5
LDE0ICsyOSwxMyBAQAogCiAjaW5jbHVkZSA8Z2xpYi5oPgogI2luY2x1ZGUgPHd0Zi9GaWxlU3lz
dGVtLmg+Ci0jaW5jbHVkZSA8d3RmL2dsaWIvR0xpYlV0aWxpdGllcy5oPgogCiBuYW1lc3BhY2Ug
V2ViS2l0IHsKIAogI2lmIEVOQUJMRShERVZFTE9QRVJfTU9ERSkKIHN0YXRpYyBTdHJpbmcgZ2V0
RXhlY3V0YWJsZVBhdGgoKQogewotICAgIENTdHJpbmcgZXhlY3V0YWJsZVBhdGggPSBnZXRDdXJy
ZW50RXhlY3V0YWJsZVBhdGgoKTsKKyAgICBDU3RyaW5nIGV4ZWN1dGFibGVQYXRoID0gRmlsZVN5
c3RlbTo6Y3VycmVudEV4ZWN1dGFibGVQYXRoKCk7CiAgICAgaWYgKCFleGVjdXRhYmxlUGF0aC5p
c051bGwoKSkKICAgICAgICAgcmV0dXJuIEZpbGVTeXN0ZW06OnBhcmVudFBhdGgoRmlsZVN5c3Rl
bTo6c3RyaW5nRnJvbUZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbihleGVjdXRhYmxlUGF0aC5kYXRh
KCkpKTsKICAgICByZXR1cm4geyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvTGF1bmNoZXIvZ2xpYi9CdWJibGV3cmFwTGF1bmNoZXIuY3BwIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvTGF1bmNoZXIvZ2xpYi9CdWJibGV3cmFwTGF1bmNoZXIuY3BwCmluZGV4IDJkZjIw
ODVmZmJmZS4uYzBjNjhkMDAyYzJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9MYXVuY2hlci9nbGliL0J1YmJsZXdyYXBMYXVuY2hlci5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvTGF1bmNoZXIvZ2xpYi9CdWJibGV3cmFwTGF1bmNoZXIuY3BwCkBAIC0yOCw3
ICsyOCw2IEBACiAjaW5jbHVkZSA8dW5pc3RkLmg+CiAjaW5jbHVkZSA8d3RmL0ZpbGVTeXN0ZW0u
aD4KICNpbmNsdWRlIDx3dGYvVW5pU3RkRXh0cmFzLmg+Ci0jaW5jbHVkZSA8d3RmL2dsaWIvR0xp
YlV0aWxpdGllcy5oPgogI2luY2x1ZGUgPHd0Zi9nbGliL0dSZWZQdHIuaD4KICNpbmNsdWRlIDx3
dGYvZ2xpYi9HVW5pcXVlUHRyLmg+CiAKQEAgLTkzMSw3ICs5MzAsNyBAQCBHUmVmUHRyPEdTdWJw
cm9jZXNzPiBidWJibGV3cmFwU3Bhd24oR1N1YnByb2Nlc3NMYXVuY2hlciogbGF1bmNoZXIsIGNv
bnN0IFByb2NlcwogICAgICAgICBiaW5kSWZFeGlzdHMoc2FuZGJveEFyZ3MsIHBhcmVudERpci51
dGY4KCkuZGF0YSgpKTsKICAgICB9CiAKLSAgICBDU3RyaW5nIGV4ZWN1dGFibGVQYXRoID0gZ2V0
Q3VycmVudEV4ZWN1dGFibGVQYXRoKCk7CisgICAgQ1N0cmluZyBleGVjdXRhYmxlUGF0aCA9IEZp
bGVTeXN0ZW06OmN1cnJlbnRFeGVjdXRhYmxlUGF0aCgpOwogICAgIGlmICghZXhlY3V0YWJsZVBh
dGguaXNOdWxsKCkpIHsKICAgICAgICAgLy8gT3VyIGV4ZWN1dGFibGUgaXMgYC9mb28vYmFyL2Jp
bi9Qcm9jZXNzYCwgd2Ugd2FudCBgL2Zvby9iYXJgIGFzIGEgdXNhYmxlIHByZWZpeAogICAgICAg
ICBTdHJpbmcgcGFyZW50RGlyID0gRmlsZVN5c3RlbTo6cGFyZW50UGF0aChGaWxlU3lzdGVtOjpw
YXJlbnRQYXRoKEZpbGVTeXN0ZW06OnN0cmluZ0Zyb21GaWxlU3lzdGVtUmVwcmVzZW50YXRpb24o
ZXhlY3V0YWJsZVBhdGguZGF0YSgpKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvTGF1bmNoZXIvZ2xpYi9Qcm9jZXNzTGF1bmNoZXJHTGliLmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0xhdW5jaGVyL2dsaWIvUHJvY2Vzc0xhdW5jaGVyR0xpYi5jcHAKaW5kZXgg
MWM1NzVlMjk4YjQwLi4zNWFmNWUzNWYxMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0xhdW5jaGVyL2dsaWIvUHJvY2Vzc0xhdW5jaGVyR0xpYi5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvTGF1bmNoZXIvZ2xpYi9Qcm9jZXNzTGF1bmNoZXJHTGliLmNwcApA
QCAtMzcsNyArMzcsNiBAQAogI2luY2x1ZGUgPHd0Zi9GaWxlU3lzdGVtLmg+CiAjaW5jbHVkZSA8
d3RmL1J1bkxvb3AuaD4KICNpbmNsdWRlIDx3dGYvVW5pU3RkRXh0cmFzLmg+Ci0jaW5jbHVkZSA8
d3RmL2dsaWIvR0xpYlV0aWxpdGllcy5oPgogI2luY2x1ZGUgPHd0Zi9nbGliL0dVbmlxdWVQdHIu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RG
U3RyaW5nLmg+CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cK
aW5kZXggY2VjYWMxNTcxNmJlLi4yMjY1MDAyYzM1OTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5n
ZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMS0xMC0xNCAg
Q2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dU
S11bV1BFXSBNb3ZlIGdldEN1cnJlbnRFeGVjdXRhYmxlUGF0aCgpIGFuZCBnZXRDdXJyZW50RXhl
Y3V0YWJsZU5hbWUoKSB0byBGaWxlU3lzdGVtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE3MzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvZ2xpYi9XZWJLaXRHTGliL1Rlc3RN
YWluLmNwcDoKKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvZ3RrL0FjdGl2YXRlRm9udHNHdGsuY3BwOgorICAgICAgICAqIFdlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvZ3RrL0luamVjdGVkQnVuZGxlVXRpbGl0aWVzLmNwcDoK
KyAgICAgICAgKFdUUjo6dG9wTGV2ZWxQYXRoKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL3dwZS9BY3RpdmF0ZUZvbnRzV1BFLmNwcDoKKyAgICAgICAgKFdUUjo6
dG9wTGV2ZWxQYXRoKToKKwogMjAyMS0xMC0xMyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgogCiAgICAgICAgIERyb3AgbWFrZVdlYWtQdHIoKSBhbmQgdXNlIFdlYWtQdHIgeyB9IGRp
cmVjdGx5CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL2dsaWIvV2ViS2l0R0xpYi9U
ZXN0TWFpbi5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL2dsaWIvV2ViS2l0R0xpYi9UZXN0TWFp
bi5jcHAKaW5kZXggM2JiMGMyMWY4MTE5Li5lODViM2MxZWZkZTcgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvZ2xpYi9XZWJLaXRHTGliL1Rlc3RNYWluLmNwcAorKysgYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL2dsaWIvV2ViS2l0R0xpYi9UZXN0TWFpbi5jcHAKQEAgLTIxLDcgKzIxLDcg
QEAKICNpbmNsdWRlICJUZXN0TWFpbi5oIgogCiAjaW5jbHVkZSA8Z2xpYi9nc3RkaW8uaD4KLSNp
bmNsdWRlIDx3dGYvZ2xpYi9HTGliVXRpbGl0aWVzLmg+CisjaW5jbHVkZSA8d3RmL0ZpbGVTeXN0
ZW0uaD4KIAogI2lmIFBMQVRGT1JNKEdUSykKICNpbmNsdWRlIDxndGsvZ3RrLmg+CkBAIC0xMjQs
NyArMTI0LDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogI2Vsc2UKICAgICBn
X3Rlc3RfaW5pdCgmYXJnYywgJmFyZ3YsIG51bGxwdHIpOwogI2VuZGlmCi0gICAgZ19zZXRfcHJn
bmFtZShnZXRDdXJyZW50RXhlY3V0YWJsZU5hbWUoKS5kYXRhKCkpOworICAgIGdfc2V0X3ByZ25h
bWUoRmlsZVN5c3RlbTo6Y3VycmVudEV4ZWN1dGFibGVOYW1lKCkuZGF0YSgpKTsKICAgICBnX3Nl
dGVudigiV0VCS0lUX0VYRUNfUEFUSCIsIFdFQktJVF9FWEVDX1BBVEgsIEZBTFNFKTsKICAgICBn
X3NldGVudigiV0VCS0lUX0lOSkVDVEVEX0JVTkRMRV9QQVRIIiwgV0VCS0lUX0lOSkVDVEVEX0JV
TkRMRV9QQVRILCBGQUxTRSk7CiAgICAgZ19zZXRlbnYoIkxDX0FMTCIsICJDIiwgVFJVRSk7CmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2d0ay9BY3Rp
dmF0ZUZvbnRzR3RrLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
Z3RrL0FjdGl2YXRlRm9udHNHdGsuY3BwCmluZGV4IDgxYmNkOTYyYTA5Yy4uY2YxYTc2N2MzOTQx
IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2d0ay9B
Y3RpdmF0ZUZvbnRzR3RrLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRzR3RrLmNwcApAQCAtMzQsNyArMzQsNiBAQAogI2luY2x1
ZGUgIkluamVjdGVkQnVuZGxlVXRpbGl0aWVzLmgiCiAjaW5jbHVkZSA8Zm9udGNvbmZpZy9mb250
Y29uZmlnLmg+CiAjaW5jbHVkZSA8Z3RrL2d0ay5oPgotI2luY2x1ZGUgPHd0Zi9nbGliL0dMaWJV
dGlsaXRpZXMuaD4KICNpbmNsdWRlIDx3dGYvZ2xpYi9HVW5pcXVlUHRyLmg+CiAKIG5hbWVzcGFj
ZSBXVFIgewpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9ndGsvSW5qZWN0ZWRCdW5kbGVVdGlsaXRpZXMuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9ndGsvSW5qZWN0ZWRCdW5kbGVVdGlsaXRpZXMuY3BwCmluZGV4IGFm
YmQzZjc0YTFkNi4uOGFjZmVjOTYzZjFkIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL2d0ay9JbmplY3RlZEJ1bmRsZVV0aWxpdGllcy5jcHAKKysrIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9ndGsvSW5qZWN0ZWRCdW5kbGVV
dGlsaXRpZXMuY3BwCkBAIC0zMCw3ICszMCw3IEBACiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVV
dGlsaXRpZXMuaCIKIAogI2luY2x1ZGUgPGd0ay9ndGsuaD4KLSNpbmNsdWRlIDx3dGYvZ2xpYi9H
TGliVXRpbGl0aWVzLmg+CisjaW5jbHVkZSA8d3RmL0ZpbGVTeXN0ZW0uaD4KICNpbmNsdWRlIDx3
dGYvZ2xpYi9HVW5pcXVlUHRyLmg+CiAKIG5hbWVzcGFjZSBXVFIgewpAQCAtNDMsNyArNDMsNyBA
QCBDU3RyaW5nIHRvcExldmVsUGF0aCgpCiAgICAgLy8gSWYgdGhlIGVudmlyb25tZW50IHZhcmlh
YmxlIHdhc24ndCBwcm92aWRlZCB0aGVuIGFzc3VtZSB3ZSB3ZXJlIGJ1aWx0IGludG8KICAgICAv
LyBXZWJLaXRCdWlsZC9EZWJ1ZyBvciBXZWJLaXRCdWlsZC9SZWxlYXNlLiBPYnZpb3VzbHkgdGhp
cyB3aWxsIGZhaWwgaWYgdGhlIGJ1aWxkCiAgICAgLy8gZGlyZWN0b3J5IGlzIG5vbi1zdGFuZGFy
ZCwgYnV0IHdlIGNhbid0IGRvIG11Y2ggbW9yZSBhYm91dCB0aGlzLgotICAgIEdVbmlxdWVQdHI8
Y2hhcj4gcGFyZW50UGF0aChnX3BhdGhfZ2V0X2Rpcm5hbWUoZ2V0Q3VycmVudEV4ZWN1dGFibGVQ
YXRoKCkuZGF0YSgpKSk7CisgICAgR1VuaXF1ZVB0cjxjaGFyPiBwYXJlbnRQYXRoKGdfcGF0aF9n
ZXRfZGlybmFtZShGaWxlU3lzdGVtOjpjdXJyZW50RXhlY3V0YWJsZVBhdGgoKS5kYXRhKCkpKTsK
ICAgICBHVW5pcXVlUHRyPGNoYXI+IGxheW91dFRlc3RzUGF0aChnX2J1aWxkX2ZpbGVuYW1lKHBh
cmVudFBhdGguZ2V0KCksICIuLiIsICIuLiIsICIuLiIsIG51bGxwdHIpKTsKICAgICBHVW5pcXVl
UHRyPGNoYXI+IGFic29sdXRlVG9wTGV2ZWxQYXRoKHJlYWxwYXRoKGxheW91dFRlc3RzUGF0aC5n
ZXQoKSwgMCkpOwogICAgIHJldHVybiBhYnNvbHV0ZVRvcExldmVsUGF0aC5nZXQoKTsKZGlmZiAt
LWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvd3BlL0FjdGl2YXRl
Rm9udHNXUEUuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93cGUv
QWN0aXZhdGVGb250c1dQRS5jcHAKaW5kZXggOGJlNzM2ZjA0OWM5Li42NDc5NTBhYWQ0ZjUgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvd3BlL0FjdGl2
YXRlRm9udHNXUEUuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvd3BlL0FjdGl2YXRlRm9udHNXUEUuY3BwCkBAIC0yNyw3ICsyNyw3IEBACiAjaW5jbHVkZSAi
QWN0aXZhdGVGb250cy5oIgogCiAjaW5jbHVkZSA8Zm9udGNvbmZpZy9mb250Y29uZmlnLmg+Ci0j
aW5jbHVkZSA8d3RmL2dsaWIvR0xpYlV0aWxpdGllcy5oPgorI2luY2x1ZGUgPHd0Zi9GaWxlU3lz
dGVtLmg+CiAjaW5jbHVkZSA8d3RmL2dsaWIvR1VuaXF1ZVB0ci5oPgogCiBuYW1lc3BhY2UgV1RS
IHsKQEAgLTQwLDcgKzQwLDcgQEAgQ1N0cmluZyB0b3BMZXZlbFBhdGgoKQogICAgIC8vIElmIHRo
ZSBlbnZpcm9ubWVudCB2YXJpYWJsZSB3YXNuJ3QgcHJvdmlkZWQgdGhlbiBhc3N1bWUgd2Ugd2Vy
ZSBidWlsdCBpbnRvCiAgICAgLy8gV2ViS2l0QnVpbGQvRGVidWcgb3IgV2ViS2l0QnVpbGQvUmVs
ZWFzZS4gT2J2aW91c2x5IHRoaXMgd2lsbCBmYWlsIGlmIHRoZSBidWlsZAogICAgIC8vIGRpcmVj
dG9yeSBpcyBub24tc3RhbmRhcmQsIGJ1dCB3ZSBjYW4ndCBkbyBtdWNoIG1vcmUgYWJvdXQgdGhp
cy4KLSAgICBHVW5pcXVlUHRyPGNoYXI+IHBhcmVudFBhdGgoZ19wYXRoX2dldF9kaXJuYW1lKGdl
dEN1cnJlbnRFeGVjdXRhYmxlUGF0aCgpLmRhdGEoKSkpOworICAgIEdVbmlxdWVQdHI8Y2hhcj4g
cGFyZW50UGF0aChnX3BhdGhfZ2V0X2Rpcm5hbWUoRmlsZVN5c3RlbTo6Y3VycmVudEV4ZWN1dGFi
bGVQYXRoKCkuZGF0YSgpKSk7CiAgICAgR1VuaXF1ZVB0cjxjaGFyPiBsYXlvdXRUZXN0c1BhdGgo
Z19idWlsZF9maWxlbmFtZShwYXJlbnRQYXRoLmdldCgpLCAiLi4iLCAiLi4iLCAiLi4iLCBudWxs
cHRyKSk7CiAgICAgR1VuaXF1ZVB0cjxjaGFyPiBhYnNvbHV0ZVRvcExldmVsUGF0aChyZWFscGF0
aChsYXlvdXRUZXN0c1BhdGguZ2V0KCksIDApKTsKICAgICByZXR1cm4gYWJzb2x1dGVUb3BMZXZl
bFBhdGguZ2V0KCk7Cg==
</data>
<flag name="review"
          id="465385"
          type_id="1"
          status="+"
          setter="mcatanzaro"
    />
          </attachment>
      

    </bug>

</bugzilla>