<?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>182533</bug_id>
          
          <creation_ts>2018-02-06 09:01:20 -0800</creation_ts>
          <short_desc>Add scrolling node types to distinguish main frames and subframes</short_desc>
          <delta_ts>2018-02-08 02:03:54 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Frames</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>173833</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Frédéric Wang Nélar">fred.wang</reporter>
          <assigned_to name="Frédéric Wang Nélar">fred.wang</assigned_to>
          <cc>simon.fraser</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1396796</commentid>
    <comment_count>0</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2018-02-06 09:01:20 -0800</bug_when>
    <thetext>This change requires modifying several files, so I&apos;m extracting it from bug 173833.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1396797</commentid>
    <comment_count>1</comment_count>
      <attachid>333178</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2018-02-06 09:02:42 -0800</bug_when>
    <thetext>Created attachment 333178
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1397479</commentid>
    <comment_count>2</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2018-02-08 02:01:49 -0800</bug_when>
    <thetext>Committed r228264: &lt;https://trac.webkit.org/changeset/228264&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1397480</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-02-08 02:03:54 -0800</bug_when>
    <thetext>&lt;rdar://problem/37346050&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>333178</attachid>
            <date>2018-02-06 09:02:42 -0800</date>
            <delta_ts>2018-02-07 18:20:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182533-20180206180241.patch</filename>
            <type>text/plain</type>
            <size>32931</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI4MTcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzdkZDUzMWFlMDgxODU2
MDkwODYzODA3YzRhM2EzMmRhOGZhNDAxMS4uZjYyYzkyMzk3ZWMyMTk1MjQzZmYyOTg1MmQ2MGQ4
YzhiNTM1MWUxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYyIEBACisyMDE4LTAyLTA2ICBGcmVk
ZXJpYyBXYW5nICA8ZndhbmdAaWdhbGlhLmNvbT4KKworICAgICAgICBBZGQgc2Nyb2xsaW5nIG5v
ZGUgdHlwZXMgdG8gZGlzdGluZ3Vpc2ggbWFpbiBmcmFtZXMgYW5kIHN1YmZyYW1lcy4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MjUzMworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggc3Bs
aXRzIEZyYW1lU2Nyb2xsaW5nTm9kZSB0eXBlIGludG8gdHdvIHR5cGVzOiBNYWluRnJhbWVTY3Jv
bGxpbmdOb2RlIGFuZAorICAgICAgICBTdWJmcmFtZVNjcm9sbGluZ05vZGUuIFRoaXMgaXMgbmVl
ZGVkIGJlY2F1c2UgbmV3IHBsYWNlcyBpbiB0aGUgY29kZSBhcmUgbGlrZWx5IHRvCisgICAgICAg
IGRpc3Rpbmd1aXNoIHRoZW0gZS5nLiBpbiBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVn
YXRlSU9TOjp1cGRhdGVDaGlsZE5vZGVzQWZ0ZXJTY3JvbGwKKyAgICAgICAgb3Igd2hlbiBpT1Mg
ZnJhbWUgc2Nyb2xsaW5nIGlzIGludHJvZHVjZWQgKHNlZSBidWcgMTczODMzKS4KKworICAgICAg
ICBObyBuZXcgdGVzdHMsIGJlaGF2aW9yIHVuY2hhbmdlZC4KKworICAgICAgICAqIHBhZ2Uvc2Ny
b2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
QXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6ZW5zdXJlUm9vdFN0YXRlTm9kZUZvckZyYW1lVmll
dyk6IFRoaXMgaXMgb25seSBjYWxsZWQKKyAgICAgICAgZm9yIG1haW4gZnJhbWVzLCBzbyBwYXNz
IE1haW5GcmFtZVNjcm9sbGluZ05vZGUuCisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nQ29vcmRpbmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3I8PCk6IERpc3Rp
bmd1aXNoIHN1YmZyYW1lIGFuZCBtYWluIGZyYW1lIHdoZW4gZHVtcGluZy4KKyAgICAgICAgKiBw
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5oOiBTcGxpdCBGcmFtZVNjcm9sbGlu
Z05vZGUgaW50byB0d28gY2FzZXMuCisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
U3RhdGVGcmFtZVNjcm9sbGluZ05vZGUuY3BwOiBBZGQgbm9kZSB0eXBlIHRvIGNvbnN0cnVjdG9y
IGFuZAorICAgICAgICBBU1NFUlQgaXQgcmVtYWlucyBvZiB0eXBlIEZyYW1lU2Nyb2xsaW5nTm9k
ZS4KKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlOjpj
cmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05v
ZGU6OlNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlKToKKyAgICAgICAgKiBwYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZS5oOiBBZGQgbm9kZSB0eXBl
IHRvIGNvbnN0cnVjdG9yLgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRl
Tm9kZS5oOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nU3RhdGVOb2RlOjppc0ZyYW1lU2Ny
b2xsaW5nTm9kZSBjb25zdCk6IEluY2x1ZGVzIHRoZSB0d28gY2FzZXMuCisgICAgICAgICogcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVUcmVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbGluZ1N0YXRlVHJlZTo6Y3JlYXRlTm9kZSk6IFNwbGl0IEZyYW1lU2Nyb2xsaW5nTm9kZSBp
bnRvIHR3byBjYXNlcyBhbmQgcGFzcworICAgICAgICB0aGUgbm9kZSB0eXBlLgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsaW5nU3RhdGVUcmVlOjphdHRhY2hOb2RlKTogVGhlIGZpcnN0IGNhc2Ug
b25seSBoYXBwZW5zIGZvciBtYWluIGZyYW1lcyB3aGlsZQorICAgICAgICB0aGUgc2Vjb25kIGNh
c2Ugb25seSBoYXBwZW5zIHdpdGggc3ViZnJhbWVzLiBVc2UgdGhlIGFwcHJpYXRlIG5vZGUgdHlw
ZS4KKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdO
b2RlLmNwcDogQWRkIG5vZGUgdHlwZSB0byBjb25zdHJ1Y3RvciBhbmQKKyAgICAgICAgQVNTRVJU
IGl0IHJlbWFpbnMgb2YgdHlwZSBGcmFtZVNjcm9sbGluZ05vZGUuCisgICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlOjpTY3JvbGxpbmdUcmVlRnJhbWVTY3Jv
bGxpbmdOb2RlKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlRnJhbWVT
Y3JvbGxpbmdOb2RlLmg6IEFkZCBub2RlIHR5cGUgdG8gY29uc3RydWN0b3IuCisgICAgICAgICog
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZU5vZGUuaDogSW5jbHVkZXMgdGhlIHR3byBjYXNl
cy4KKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVOb2RlOjppc0ZyYW1lU2Nyb2xsaW5n
Tm9kZSBjb25zdCk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVG
cmFtZVNjcm9sbGluZ05vZGVJT1MuaDogQWRkIG5vZGUgdHlwZSB0byBjb25zdHJ1Y3Rvci4KKyAg
ICAgICAgKiBwYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9k
ZUlPUy5tbTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlRnJhbWVTY3Jv
bGxpbmdOb2RlSU9TOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZUZy
YW1lU2Nyb2xsaW5nTm9kZUlPUzo6U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUyk6
CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVJT1MuY3BwOiBTcGxp
dCBGcmFtZVNjcm9sbGluZ05vZGUgaW50byB0d28gY2FzZXMuCisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxpbmdUcmVlSU9TOjpjcmVhdGVTY3JvbGxpbmdUcmVlTm9kZSk6CisgICAgICAgICogcGFn
ZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMuaDogQWRk
IG5vZGUgdHlwZSB0byBjb25zdHJ1Y3Rvci4KKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9tYWMv
U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5tbTogRGl0dG8uCisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjOjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYzo6U2Nyb2xs
aW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYyk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcv
bWFjL1Njcm9sbGluZ1RyZWVNYWMuY3BwOiBTcGxpdCBGcmFtZVNjcm9sbGluZ05vZGUgaW50byB0
d28gY2FzZXMuCisgICAgICAgIChTY3JvbGxpbmdUcmVlTWFjOjpjcmVhdGVTY3JvbGxpbmdUcmVl
Tm9kZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlYXR0YWNoU3ViZnJhbWVT
Y3JvbGxMYXllcnMpOiBEaXN0aW5ndWlzaCB0aGUgY2FzZXMgb2YKKyAgICAgICAgbWFpbiBmcmFt
ZXMgYW5kIHN1YmZyYW1lcy4KKyAgICAgICAgKFdlYkNvcmU6OnNjcm9sbENvb3JkaW5hdGlvblJv
bGVGb3JOb2RlVHlwZSk6IFNwbGl0IEZyYW1lU2Nyb2xsaW5nTm9kZSBpbnRvIHR3byBjYXNlcy4K
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlU2Nyb2xsQ29v
cmRpbmF0aW9uRm9yVGhpc0ZyYW1lKTogRGlzdGluZ3Vpc2ggdGhlIGNhc2VzCisgICAgICAgIG9m
IG1haW4gZnJhbWVzIGFuZCBzdWJmcmFtZXMuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXll
ckNvbXBvc2l0b3I6OnVwZGF0ZVNjcm9sbENvb3JkaW5hdGVkTGF5ZXIpOiBTcGxpdCBGcmFtZVNj
cm9sbGluZ05vZGUgaW50bworICAgICAgICB0d28gY2FzZXMuCisKIDIwMTgtMDItMDYgIE1zMmdl
ciAgPE1zMmdlckBpZ2FsaWEuY29tPgogCiAgICAgICAgIEluaXRpYWxpemUgSW1hZ2VCaXRtYXA6
Om1fYml0bWFwRGF0YSBpbiB0aGUgY29uc3RydWN0b3IuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDQzYjI2ZjNiMTFk
N2YzYzlhM2E4ZTM3YjU4OThhZjU3YmJkYmFiYTUuLmE1Nzc0NGNjNGQ1MDliM2RmZGJhOGRmOTg1
OWE3MzYyYzRiNjY3YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMTgtMDItMDYgIEZy
ZWRlcmljIFdhbmcgIDxmd2FuZ0BpZ2FsaWEuY29tPgorCisgICAgICAgIEFkZCBzY3JvbGxpbmcg
bm9kZSB0eXBlcyB0byBkaXN0aW5ndWlzaCBtYWluIGZyYW1lcyBhbmQgc3ViZnJhbWVzLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgyNTMzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvUmVt
b3RlTGF5ZXJUcmVlL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yVHJhbnNhY3Rpb24uY3BwOiBS
ZXBsYWNlIHRoZSBjYXNlIG9mCisgICAgICAgIEZyYW1lU2Nyb2xsaW5nTm9kZSB3aXRoIE1haW5G
cmFtZVNjcm9sbGluZ05vZGUgYW5kIFN1YmZyYW1lU2Nyb2xsaW5nTm9kZS4KKyAgICAgICAgKFdl
YktpdDo6ZW5jb2RlTm9kZUFuZERlc2NlbmRhbnRzKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3Rl
U2Nyb2xsaW5nQ29vcmRpbmF0b3JUcmFuc2FjdGlvbjo6ZGVjb2RlKToKKyAgICAgICAgKFdlYktp
dDo6ZHVtcCk6CisgICAgICAgICogVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVTY3Jv
bGxpbmdDb29yZGluYXRvclByb3h5LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6OlJlbW90
ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHk6OmNvbm5lY3RTdGF0ZU5vZGVMYXllcnMpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVtb3RlU2Nyb2xsaW5nVHJlZS5jcHA6
IERpdHRvIGFuZCBwYXNzIHRoZSBub2RlIHR5cGUgdG8gdGhlCisgICAgICAgIGNvbnN0cnVjdG9y
IG9mIHRoZSBmcmFtZSBzY3JvbGxpbmcgbm9kZS4KKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU2Ny
b2xsaW5nVHJlZTo6Y3JlYXRlU2Nyb2xsaW5nVHJlZU5vZGUpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9SZW1vdGVMYXllclRyZWUvaW9zL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHlJT1Mu
bW06IFJlcGxhY2UgdGhlIGNhc2Ugb2YKKyAgICAgICAgRnJhbWVTY3JvbGxpbmdOb2RlIHdpdGgg
TWFpbkZyYW1lU2Nyb2xsaW5nTm9kZSBhbmQgU3ViZnJhbWVTY3JvbGxpbmdOb2RlLgorICAgICAg
ICAoV2ViS2l0OjpSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5Ojpjb25uZWN0U3RhdGVO
b2RlTGF5ZXJzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3Jv
bGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TLm1tOiBJbiBvcmRlciB0bworICAgICAg
ICBkZXRlcm1pbmUgd2hldGhlciB0aGUgbm9kZSBpcyBhIG1haW4gZnJhbWUgb3Igc3ViZnJhbWUs
IHVzZSB0aGUgbm9kZSB0eXBlIGluc3RlYWQgb2YgY2hlY2tpbmcKKyAgICAgICAgd2hldGhlciB0
aGUgbm9kZSBhcyBhIHBhcmVudC4KKyAgICAgICAgKFdlYktpdDo6U2Nyb2xsaW5nVHJlZVNjcm9s
bGluZ05vZGVEZWxlZ2F0ZUlPUzo6dXBkYXRlQ2hpbGROb2Rlc0FmdGVyU2Nyb2xsKToKKwogMjAx
OC0wMi0wNiAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgVW5yZXZpZXdlZCwgZml4IGZvcm1hdCBzcGVjaWZpZXJzIGFkZGVkIGluIHIyMjgxMTYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5n
Q29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3Jv
bGxpbmdDb29yZGluYXRvci5jcHAKaW5kZXggZjg0YjUyNTAzOTY3MzRkZTFlZjk1MDY0OTFjNzcx
ODRiMmRhNmM1Zi4uYzVlNWMwYTAzZDBiZTUxZWFmZDhlZmZkMzI0OWVkZGM0Y2FkZDkwZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29y
ZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3Jv
bGxpbmdDb29yZGluYXRvci5jcHAKQEAgLTUwNSw3ICs1MDUsNyBAQCB2b2lkIEFzeW5jU2Nyb2xs
aW5nQ29vcmRpbmF0b3I6OmVuc3VyZVJvb3RTdGF0ZU5vZGVGb3JGcmFtZVZpZXcoRnJhbWVWaWV3
JiBmcmFtZQogICAgIC8vIEZvciBub24tbWFpbiBmcmFtZXMsIGl0IGlzIG9ubHkgcG9zc2libGUg
dG8gYXJyaXZlIGluIHRoaXMgZnVuY3Rpb24gZnJvbQogICAgIC8vIFJlbmRlckxheWVyQ29tcG9z
aXRvcjo6dXBkYXRlQmFja2luZyB3aGVyZSB0aGUgbm9kZSBoYXMgYWxyZWFkeSBiZWVuIGNyZWF0
ZWQuCiAgICAgQVNTRVJUKGZyYW1lVmlldy5mcmFtZSgpLmlzTWFpbkZyYW1lKCkpOwotICAgIGF0
dGFjaFRvU3RhdGVUcmVlKEZyYW1lU2Nyb2xsaW5nTm9kZSwgZnJhbWVWaWV3LnNjcm9sbExheWVy
SUQoKSwgMCk7CisgICAgYXR0YWNoVG9TdGF0ZVRyZWUoTWFpbkZyYW1lU2Nyb2xsaW5nTm9kZSwg
ZnJhbWVWaWV3LnNjcm9sbExheWVySUQoKSwgMCk7CiB9CiAKIHZvaWQgQXN5bmNTY3JvbGxpbmdD
b29yZGluYXRvcjo6dXBkYXRlRnJhbWVTY3JvbGxpbmdOb2RlKFNjcm9sbGluZ05vZGVJRCBub2Rl
SUQsIEdyYXBoaWNzTGF5ZXIqIGxheWVyLCBHcmFwaGljc0xheWVyKiBzY3JvbGxlZENvbnRlbnRz
TGF5ZXIsIEdyYXBoaWNzTGF5ZXIqIGNvdW50ZXJTY3JvbGxpbmdMYXllciwgR3JhcGhpY3NMYXll
ciogaW5zZXRDbGlwTGF5ZXIsIGNvbnN0IFNjcm9sbGluZ0dlb21ldHJ5KiBzY3JvbGxpbmdHZW9t
ZXRyeSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z0Nvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z0Nvb3JkaW5hdG9yLmNwcAppbmRleCBjZThmMGVjNWM3NDIwZDc3Yjg3OWIyYWMzMDU4YWI0NzM0
YjhlZDA4Li4xZGQzNWMxMjA5ZDk0NWQzMWNjMTNmYjk2NGFiMzliNmUyOWQwZDVmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0
b3IuY3BwCkBAIC00MjUsOCArNDI1LDExIEBAIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0
cmVhbSYgdHMsIFNjcm9sbGFibGVBcmVhUGFyYW1ldGVycyBzY3JvbGxhYmxlQXJlYVBhCiBUZXh0
U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBTY3JvbGxpbmdOb2RlVHlwZSBub2Rl
VHlwZSkKIHsKICAgICBzd2l0Y2ggKG5vZGVUeXBlKSB7Ci0gICAgY2FzZSBGcmFtZVNjcm9sbGlu
Z05vZGU6Ci0gICAgICAgIHRzIDw8ICJmcmFtZS1zY3JvbGxpbmciOworICAgIGNhc2UgTWFpbkZy
YW1lU2Nyb2xsaW5nTm9kZToKKyAgICAgICAgdHMgPDwgIm1haW4tZnJhbWUtc2Nyb2xsaW5nIjsK
KyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBTdWJmcmFtZVNjcm9sbGluZ05vZGU6CisgICAgICAg
IHRzIDw8ICJzdWJmcmFtZS1zY3JvbGxpbmciOwogICAgICAgICBicmVhazsKICAgICBjYXNlIE92
ZXJmbG93U2Nyb2xsaW5nTm9kZToKICAgICAgICAgdHMgPDwgIm92ZXJmbG93LXNjcm9sbGluZyI7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29y
ZGluYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRp
bmF0b3IuaAppbmRleCAxZDY1OGE4ZGNlNmYzNTI5OGUyMjllNTVlZDg3MTc0MTM1MmU2ODYxLi40
ZGViMmU4NTM3ZTZiNDJkZDFiZDlhOTYzNWM4ZDEyZjdmZGEzZGZjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmgKQEAgLTU0
LDcgKzU0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogdHlwZWRlZiB1bnNpZ25lZCBTeW5jaHJv
bm91c1Njcm9sbGluZ1JlYXNvbnM7CiB0eXBlZGVmIHVpbnQ2NF90IFNjcm9sbGluZ05vZGVJRDsK
IAotZW51bSBTY3JvbGxpbmdOb2RlVHlwZSB7IEZyYW1lU2Nyb2xsaW5nTm9kZSwgT3ZlcmZsb3dT
Y3JvbGxpbmdOb2RlLCBGaXhlZE5vZGUsIFN0aWNreU5vZGUgfTsKK2VudW0gU2Nyb2xsaW5nTm9k
ZVR5cGUgeyBNYWluRnJhbWVTY3JvbGxpbmdOb2RlLCBTdWJmcmFtZVNjcm9sbGluZ05vZGUsIE92
ZXJmbG93U2Nyb2xsaW5nTm9kZSwgRml4ZWROb2RlLCBTdGlja3lOb2RlIH07CiAKIGVudW0gU2Ny
b2xsaW5nU3RhdGVUcmVlQXNUZXh0QmVoYXZpb3JGbGFncyB7CiAgICAgU2Nyb2xsaW5nU3RhdGVU
cmVlQXNUZXh0QmVoYXZpb3JOb3JtYWwgICAgICAgICAgICAgICAgICA9IDAsCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xs
aW5nTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0
ZUZyYW1lU2Nyb2xsaW5nTm9kZS5jcHAKaW5kZXggZDRmMGFmMDgxNzA4MTJjNmNlZGE0NzlhMDIz
NzczMGQ4MWM2YmZmMy4uMDFjMzZkNmJlNjRlMjU5ZjU4NThkYmZjN2E0NDliNGZmMTljZDMwNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVG
cmFtZVNjcm9sbGluZ05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlLmNwcApAQCAtMzMsMTQgKzMzLDE1IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUmVmPFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxp
bmdOb2RlPiBTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZTo6Y3JlYXRlKFNjcm9sbGlu
Z1N0YXRlVHJlZSYgc3RhdGVUcmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQorUmVmPFNjcm9s
bGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlPiBTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5n
Tm9kZTo6Y3JlYXRlKFNjcm9sbGluZ1N0YXRlVHJlZSYgc3RhdGVUcmVlLCBTY3JvbGxpbmdOb2Rl
VHlwZSBub2RlVHlwZSwgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkKIHsKLSAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZShzdGF0ZVRyZWUsIG5v
ZGVJRCkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNjcm9sbGluZ1N0YXRlRnJhbWVTY3Jv
bGxpbmdOb2RlKHN0YXRlVHJlZSwgbm9kZVR5cGUsIG5vZGVJRCkpOwogfQogCi1TY3JvbGxpbmdT
dGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZTo6U2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGUo
U2Nyb2xsaW5nU3RhdGVUcmVlJiBzdGF0ZVRyZWUsIFNjcm9sbGluZ05vZGVJRCBub2RlSUQpCi0g
ICAgOiBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUoc3RhdGVUcmVlLCBGcmFtZVNjcm9sbGlu
Z05vZGUsIG5vZGVJRCkKK1Njcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlOjpTY3JvbGxp
bmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZShTY3JvbGxpbmdTdGF0ZVRyZWUmIHN0YXRlVHJlZSwg
U2Nyb2xsaW5nTm9kZVR5cGUgbm9kZVR5cGUsIFNjcm9sbGluZ05vZGVJRCBub2RlSUQpCisgICAg
OiBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUoc3RhdGVUcmVlLCBub2RlVHlwZSwgbm9kZUlE
KQogeworICAgIEFTU0VSVChpc0ZyYW1lU2Nyb2xsaW5nTm9kZSgpKTsKIH0KIAogU2Nyb2xsaW5n
U3RhdGVGcmFtZVNjcm9sbGluZ05vZGU6OlNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2Rl
KGNvbnN0IFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlJiBzdGF0ZU5vZGUsIFNjcm9s
bGluZ1N0YXRlVHJlZSYgYWRvcHRpdmVUcmVlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2Rl
LmgKaW5kZXggNTJhM2RkYzJjNmFiMDEzZjY3MGQ1NGQ0NjBlYmE0Nzc0OWMwNDkxZC4uMGZiYzRm
ZjUyZWM0ZGI1YjdmMjJlNDc4ZTMxOTgwNzQ4NzViMzQ2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZyYW1lU2Ny
b2xsaW5nTm9kZS5oCkBAIC0zOSw3ICszOSw3IEBAIGNsYXNzIFNjcm9sbGJhcjsKIAogY2xhc3Mg
U2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGUgZmluYWwgOiBwdWJsaWMgU2Nyb2xsaW5n
U3RhdGVTY3JvbGxpbmdOb2RlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPFNjcm9sbGluZ1N0
YXRlRnJhbWVTY3JvbGxpbmdOb2RlPiBjcmVhdGUoU2Nyb2xsaW5nU3RhdGVUcmVlJiwgU2Nyb2xs
aW5nTm9kZUlEKTsKKyAgICBzdGF0aWMgUmVmPFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdO
b2RlPiBjcmVhdGUoU2Nyb2xsaW5nU3RhdGVUcmVlJiwgU2Nyb2xsaW5nTm9kZVR5cGUsIFNjcm9s
bGluZ05vZGVJRCk7CiAKICAgICBSZWY8U2Nyb2xsaW5nU3RhdGVOb2RlPiBjbG9uZShTY3JvbGxp
bmdTdGF0ZVRyZWUmKSBvdmVycmlkZTsKIApAQCAtMTM0LDcgKzEzNCw3IEBAIHB1YmxpYzoKICAg
ICB2b2lkIGR1bXBQcm9wZXJ0aWVzKFdURjo6VGV4dFN0cmVhbSYsIFNjcm9sbGluZ1N0YXRlVHJl
ZUFzVGV4dEJlaGF2aW9yKSBjb25zdCBvdmVycmlkZTsKIAogcHJpdmF0ZToKLSAgICBTY3JvbGxp
bmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZShTY3JvbGxpbmdTdGF0ZVRyZWUmLCBTY3JvbGxpbmdO
b2RlSUQpOworICAgIFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlKFNjcm9sbGluZ1N0
YXRlVHJlZSYsIFNjcm9sbGluZ05vZGVUeXBlLCBTY3JvbGxpbmdOb2RlSUQpOwogICAgIFNjcm9s
bGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlKGNvbnN0IFNjcm9sbGluZ1N0YXRlRnJhbWVTY3Jv
bGxpbmdOb2RlJiwgU2Nyb2xsaW5nU3RhdGVUcmVlJik7CiAKICAgICBMYXllclJlcHJlc2VudGF0
aW9uIG1fY291bnRlclNjcm9sbGluZ0xheWVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUuaAppbmRleCA1ZGE3OWY2MGMwYjkxNmVhYjdl
MWE2MmI5NzNlYWNhMGUxY2JiNTdmLi42ZmJlNjM4MjZhNDQ1MzY1ZTFmYjFmYTAyZThhZjU0NWNj
ZmYyMGU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdTdGF0ZU5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdTdGF0ZU5vZGUuaApAQCAtMTk3LDcgKzE5Nyw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzRml4
ZWROb2RlKCkgY29uc3QgeyByZXR1cm4gbV9ub2RlVHlwZSA9PSBGaXhlZE5vZGU7IH0KICAgICBi
b29sIGlzU3RpY2t5Tm9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fbm9kZVR5cGUgPT0gU3RpY2t5Tm9k
ZTsgfQogICAgIGJvb2wgaXNTY3JvbGxpbmdOb2RlKCkgY29uc3QgeyByZXR1cm4gaXNGcmFtZVNj
cm9sbGluZ05vZGUoKSB8fCBpc092ZXJmbG93U2Nyb2xsaW5nTm9kZSgpOyB9Ci0gICAgYm9vbCBp
c0ZyYW1lU2Nyb2xsaW5nTm9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fbm9kZVR5cGUgPT0gRnJhbWVT
Y3JvbGxpbmdOb2RlOyB9CisgICAgYm9vbCBpc0ZyYW1lU2Nyb2xsaW5nTm9kZSgpIGNvbnN0IHsg
cmV0dXJuIG1fbm9kZVR5cGUgPT0gTWFpbkZyYW1lU2Nyb2xsaW5nTm9kZSB8fCBtX25vZGVUeXBl
ID09IFN1YmZyYW1lU2Nyb2xsaW5nTm9kZTsgfQogICAgIGJvb2wgaXNPdmVyZmxvd1Njcm9sbGlu
Z05vZGUoKSBjb25zdCB7IHJldHVybiBtX25vZGVUeXBlID09IE92ZXJmbG93U2Nyb2xsaW5nTm9k
ZTsgfQogCiAgICAgdmlydHVhbCBSZWY8U2Nyb2xsaW5nU3RhdGVOb2RlPiBjbG9uZShTY3JvbGxp
bmdTdGF0ZVRyZWUmIGFkb3B0aXZlVHJlZSkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVUcmVlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlVHJlZS5jcHAKaW5kZXggMmJiYTJjYTJjODcw
MzlkNjk5NjdmNTQwYTQ2ZGViNzJlYWEyZDRmNi4uYjMzYWEwY2RhZmU0OTdhMmY4ZjljYTZiN2Iw
NzlmNDUyZmE3YjA3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
U2Nyb2xsaW5nU3RhdGVUcmVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdTdGF0ZVRyZWUuY3BwCkBAIC03Miw4ICs3Miw5IEBAIFJlZjxTY3JvbGxpbmdT
dGF0ZU5vZGU+IFNjcm9sbGluZ1N0YXRlVHJlZTo6Y3JlYXRlTm9kZShTY3JvbGxpbmdOb2RlVHlw
ZSBub2RlVHlwCiAgICAgICAgIHJldHVybiBTY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZTo6Y3JlYXRl
KCp0aGlzLCBub2RlSUQpOwogICAgIGNhc2UgU3RpY2t5Tm9kZToKICAgICAgICAgcmV0dXJuIFNj
cm9sbGluZ1N0YXRlU3RpY2t5Tm9kZTo6Y3JlYXRlKCp0aGlzLCBub2RlSUQpOwotICAgIGNhc2Ug
RnJhbWVTY3JvbGxpbmdOb2RlOgotICAgICAgICByZXR1cm4gU2Nyb2xsaW5nU3RhdGVGcmFtZVNj
cm9sbGluZ05vZGU6OmNyZWF0ZSgqdGhpcywgbm9kZUlEKTsKKyAgICBjYXNlIE1haW5GcmFtZVNj
cm9sbGluZ05vZGU6CisgICAgY2FzZSBTdWJmcmFtZVNjcm9sbGluZ05vZGU6CisgICAgICAgIHJl
dHVybiBTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZTo6Y3JlYXRlKCp0aGlzLCBub2Rl
VHlwZSwgbm9kZUlEKTsKICAgICBjYXNlIE92ZXJmbG93U2Nyb2xsaW5nTm9kZToKICAgICAgICAg
cmV0dXJuIFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlOjpjcmVhdGUoKnRoaXMs
IG5vZGVJRCk7CiAgICAgfQpAQCAtMTE2LDcgKzExNyw3IEBAIFNjcm9sbGluZ05vZGVJRCBTY3Jv
bGxpbmdTdGF0ZVRyZWU6OmF0dGFjaE5vZGUoU2Nyb2xsaW5nTm9kZVR5cGUgbm9kZVR5cGUsIFNj
cm9sCiAgICAgICAgIC8vIElmIHdlJ3JlIHJlc2V0dGluZyB0aGUgcm9vdCBub2RlLCB3ZSBzaG91
bGQgY2xlYXIgdGhlIEhhc2hNYXAgYW5kIGRlc3Ryb3kgdGhlIGN1cnJlbnQgY2hpbGRyZW4uCiAg
ICAgICAgIGNsZWFyKCk7CiAKLSAgICAgICAgc2V0Um9vdFN0YXRlTm9kZShTY3JvbGxpbmdTdGF0
ZUZyYW1lU2Nyb2xsaW5nTm9kZTo6Y3JlYXRlKCp0aGlzLCBuZXdOb2RlSUQpKTsKKyAgICAgICAg
c2V0Um9vdFN0YXRlTm9kZShTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZTo6Y3JlYXRl
KCp0aGlzLCBNYWluRnJhbWVTY3JvbGxpbmdOb2RlLCBuZXdOb2RlSUQpKTsKICAgICAgICAgbmV3
Tm9kZSA9IHJvb3RTdGF0ZU5vZGUoKTsKICAgICAgICAgbV9oYXNOZXdSb290U3RhdGVOb2RlID0g
dHJ1ZTsKICAgICB9IGVsc2UgewpAQCAtMTI0LDcgKzEyNSw3IEBAIFNjcm9sbGluZ05vZGVJRCBT
Y3JvbGxpbmdTdGF0ZVRyZWU6OmF0dGFjaE5vZGUoU2Nyb2xsaW5nTm9kZVR5cGUgbm9kZVR5cGUs
IFNjcm9sCiAgICAgICAgIGlmICghcGFyZW50KQogICAgICAgICAgICAgcmV0dXJuIDA7CiAKLSAg
ICAgICAgaWYgKG5vZGVUeXBlID09IEZyYW1lU2Nyb2xsaW5nTm9kZSAmJiBwYXJlbnRJRCkgewor
ICAgICAgICBpZiAobm9kZVR5cGUgPT0gU3ViZnJhbWVTY3JvbGxpbmdOb2RlICYmIHBhcmVudElE
KSB7CiAgICAgICAgICAgICBpZiAoYXV0byBvcnBoYW5lZE5vZGUgPSBtX29ycGhhbmVkU3ViZnJh
bWVOb2Rlcy50YWtlKG5ld05vZGVJRCkpIHsKICAgICAgICAgICAgICAgICBuZXdOb2RlID0gb3Jw
aGFuZWROb2RlLmdldCgpOwogICAgICAgICAgICAgICAgIHBhcmVudC0+YXBwZW5kQ2hpbGQob3Jw
aGFuZWROb2RlLnJlbGVhc2VOb25OdWxsKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2Rl
LmNwcAppbmRleCBiZmNiZmY5ZTU0MzM1OWQ3MTZjZDc3YTQzNDExNWI1NmMyOTFlMjQ2Li5kZTUy
MTRhMWFlYTZiNGExMTQ5NDNhN2E3MjY2Mjk4YTMyMGZhMjU5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlRnJhbWVT
Y3JvbGxpbmdOb2RlLmNwcApAQCAtMzYsOSArMzYsMTAgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlOjpTY3JvbGxpbmdUcmVlRnJhbWVT
Y3JvbGxpbmdOb2RlKFNjcm9sbGluZ1RyZWUmIHNjcm9sbGluZ1RyZWUsIFNjcm9sbGluZ05vZGVJ
RCBub2RlSUQpCi0gICAgOiBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZShzY3JvbGxpbmdUcmVl
LCBGcmFtZVNjcm9sbGluZ05vZGUsIG5vZGVJRCkKK1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGlu
Z05vZGU6OlNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGUoU2Nyb2xsaW5nVHJlZSYgc2Ny
b2xsaW5nVHJlZSwgU2Nyb2xsaW5nTm9kZVR5cGUgbm9kZVR5cGUsIFNjcm9sbGluZ05vZGVJRCBu
b2RlSUQpCisgICAgOiBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZShzY3JvbGxpbmdUcmVlLCBu
b2RlVHlwZSwgbm9kZUlEKQogeworICAgIEFTU0VSVChpc0ZyYW1lU2Nyb2xsaW5nTm9kZSgpKTsK
IH0KIAogU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZTo6flNjcm9sbGluZ1RyZWVGcmFt
ZVNjcm9sbGluZ05vZGUoKSA9IGRlZmF1bHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlLmgK
aW5kZXggY2JjOGQ2MzZmODQ4NDJmMWVmOWM4N2QxYWJjMzdkMjM0NzYwYTgwZi4uOTUzOTViMmEw
NWVjNzMyOWM5ZWU3MjFkZjU1NjIzOTE4YmFkNDJkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGlu
Z05vZGUuaApAQCAtNjEsNyArNjEsNyBAQCBwdWJsaWM6CiAgICAgRmxvYXRSZWN0IGZpeGVkUG9z
aXRpb25SZWN0KCkgeyByZXR1cm4gRmxvYXRSZWN0KGxhc3RDb21taXR0ZWRTY3JvbGxQb3NpdGlv
bigpLCBzY3JvbGxhYmxlQXJlYVNpemUoKSk7IH07CiAKIHByb3RlY3RlZDoKLSAgICBTY3JvbGxp
bmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlKFNjcm9sbGluZ1RyZWUmLCBTY3JvbGxpbmdOb2RlSUQp
OworICAgIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGUoU2Nyb2xsaW5nVHJlZSYsIFNj
cm9sbGluZ05vZGVUeXBlLCBTY3JvbGxpbmdOb2RlSUQpOwogCiAgICAgdm9pZCBzY3JvbGxCeShj
b25zdCBGbG9hdFNpemUmKTsKICAgICB2b2lkIHNjcm9sbEJ5V2l0aG91dENvbnRlbnRFZGdlQ29u
c3RyYWludHMoY29uc3QgRmxvYXRTaXplJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvU2Nyb2xsaW5nVHJlZU5vZGUuaAppbmRleCBmZDhjNTBjNGQ4MDEyZGM5YTkzYzU4
MTE4YjgyYjQ3OTVhZDY2NGU0Li43OTUxZGFkZTZhNjQxNzJiZTM3YmIxOTJiZGE4ODMwOTIxOWYx
YmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdU
cmVlTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1Ry
ZWVOb2RlLmgKQEAgLTUwLDcgKzUwLDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNGaXhlZE5vZGUo
KSBjb25zdCB7IHJldHVybiBub2RlVHlwZSgpID09IEZpeGVkTm9kZTsgfQogICAgIGJvb2wgaXNT
dGlja3lOb2RlKCkgY29uc3QgeyByZXR1cm4gbm9kZVR5cGUoKSA9PSBTdGlja3lOb2RlOyB9CiAg
ICAgYm9vbCBpc1Njcm9sbGluZ05vZGUoKSBjb25zdCB7IHJldHVybiBpc0ZyYW1lU2Nyb2xsaW5n
Tm9kZSgpIHx8IGlzT3ZlcmZsb3dTY3JvbGxpbmdOb2RlKCk7IH0KLSAgICBib29sIGlzRnJhbWVT
Y3JvbGxpbmdOb2RlKCkgY29uc3QgeyByZXR1cm4gbm9kZVR5cGUoKSA9PSBGcmFtZVNjcm9sbGlu
Z05vZGU7IH0KKyAgICBib29sIGlzRnJhbWVTY3JvbGxpbmdOb2RlKCkgY29uc3QgeyByZXR1cm4g
bm9kZVR5cGUoKSA9PSBNYWluRnJhbWVTY3JvbGxpbmdOb2RlIHx8IG5vZGVUeXBlKCkgPT0gU3Vi
ZnJhbWVTY3JvbGxpbmdOb2RlOyB9CiAgICAgYm9vbCBpc092ZXJmbG93U2Nyb2xsaW5nTm9kZSgp
IGNvbnN0IHsgcmV0dXJuIG5vZGVUeXBlKCkgPT0gT3ZlcmZsb3dTY3JvbGxpbmdOb2RlOyB9CiAK
ICAgICB2aXJ0dWFsIHZvaWQgY29tbWl0U3RhdGVCZWZvcmVDaGlsZHJlbihjb25zdCBTY3JvbGxp
bmdTdGF0ZU5vZGUmKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9pb3MvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUy5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVJ
T1MuaAppbmRleCAyMjM5NGU0MWJhMWUwMGQ2OTk2OTRiOTMwM2VhMDc1NjQ5M2YxMjAwLi5iZmFh
MGYxZGEwOGI0OGQ2YzQ2NjU5NWVjNmFiNDViZDI1YjM2NzU5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9k
ZUlPUy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdU
cmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TLmgKQEAgLTM2LDExICszNiwxMSBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVJT1MgOiBw
dWJsaWMgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZSB7CiBwdWJsaWM6Ci0gICAgV0VC
Q09SRV9FWFBPUlQgc3RhdGljIFJlZjxTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9T
PiBjcmVhdGUoU2Nyb2xsaW5nVHJlZSYsIFNjcm9sbGluZ05vZGVJRCk7CisgICAgV0VCQ09SRV9F
WFBPUlQgc3RhdGljIFJlZjxTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TPiBjcmVh
dGUoU2Nyb2xsaW5nVHJlZSYsIFNjcm9sbGluZ05vZGVUeXBlLCBTY3JvbGxpbmdOb2RlSUQpOwog
ICAgIHZpcnR1YWwgflNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVJT1MoKTsKIAogcHJv
dGVjdGVkOgotICAgIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVJT1MoU2Nyb2xsaW5n
VHJlZSYsIFNjcm9sbGluZ05vZGVJRCk7CisgICAgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5n
Tm9kZUlPUyhTY3JvbGxpbmdUcmVlJiwgU2Nyb2xsaW5nTm9kZVR5cGUsIFNjcm9sbGluZ05vZGVJ
RCk7CiAKICAgICAvLyBTY3JvbGxpbmdUcmVlTm9kZSBtZW1iZXIgZnVuY3Rpb25zLgogICAgIHZv
aWQgY29tbWl0U3RhdGVCZWZvcmVDaGlsZHJlbihjb25zdCBTY3JvbGxpbmdTdGF0ZU5vZGUmKSBv
dmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9T
Y3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVJT1MubW0KaW5k
ZXggNzYwMzI2MDZhMzUyNDZhM2M3MTQ4MTUzMmE5MmYxYjlmYzYxYjk2NC4uMTA5NWYwYjUzZmY5
MDJlMjUzMDhjYjQ4YjdiNTA1MTg1NTk0YjM5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVJT1MubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVGcmFt
ZVNjcm9sbGluZ05vZGVJT1MubW0KQEAgLTM4LDEzICszOCwxMyBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLVJlZjxTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TPiBTY3JvbGxp
bmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TOjpjcmVhdGUoU2Nyb2xsaW5nVHJlZSYgc2Nyb2xs
aW5nVHJlZSwgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkKK1JlZjxTY3JvbGxpbmdUcmVlRnJhbWVT
Y3JvbGxpbmdOb2RlSU9TPiBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TOjpjcmVh
dGUoU2Nyb2xsaW5nVHJlZSYgc2Nyb2xsaW5nVHJlZSwgU2Nyb2xsaW5nTm9kZVR5cGUgbm9kZVR5
cGUsIFNjcm9sbGluZ05vZGVJRCBub2RlSUQpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUyhzY3JvbGxpbmdUcmVlLCBub2RlSUQp
KTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdO
b2RlSU9TKHNjcm9sbGluZ1RyZWUsIG5vZGVUeXBlLCBub2RlSUQpKTsKIH0KIAotU2Nyb2xsaW5n
VHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUzo6U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9k
ZUlPUyhTY3JvbGxpbmdUcmVlJiBzY3JvbGxpbmdUcmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlE
KQotICAgIDogU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZShzY3JvbGxpbmdUcmVlLCBu
b2RlSUQpCitTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TOjpTY3JvbGxpbmdUcmVl
RnJhbWVTY3JvbGxpbmdOb2RlSU9TKFNjcm9sbGluZ1RyZWUmIHNjcm9sbGluZ1RyZWUsIFNjcm9s
bGluZ05vZGVUeXBlIG5vZGVUeXBlLCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQorICAgIDogU2Ny
b2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZShzY3JvbGxpbmdUcmVlLCBub2RlVHlwZSwgbm9k
ZUlEKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9p
b3MvU2Nyb2xsaW5nVHJlZUlPUy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9p
b3MvU2Nyb2xsaW5nVHJlZUlPUy5jcHAKaW5kZXggNTM3NWNlMWRiOTNiZWJkMjBlZDJlYTA2YWVk
M2NjOTBiYTQzODNiMy4uZjdhZjQxYjVmMzcwNTU0NjU1OTQ2MzMyZjhkZDY1ZjJmNmU4ZDM0OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ1Ry
ZWVJT1MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxp
bmdUcmVlSU9TLmNwcApAQCAtODYsOCArODYsOSBAQCB2b2lkIFNjcm9sbGluZ1RyZWVJT1M6OnNj
cm9sbGluZ1RyZWVOb2RlRGlkU2Nyb2xsKFNjcm9sbGluZ05vZGVJRCBub2RlSUQsIGNvbnN0CiBS
ZWY8U2Nyb2xsaW5nVHJlZU5vZGU+IFNjcm9sbGluZ1RyZWVJT1M6OmNyZWF0ZVNjcm9sbGluZ1Ry
ZWVOb2RlKFNjcm9sbGluZ05vZGVUeXBlIG5vZGVUeXBlLCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlE
KQogewogICAgIHN3aXRjaCAobm9kZVR5cGUpIHsKLSAgICBjYXNlIEZyYW1lU2Nyb2xsaW5nTm9k
ZToKLSAgICAgICAgcmV0dXJuIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVJT1M6OmNy
ZWF0ZSgqdGhpcywgbm9kZUlEKTsKKyAgICBjYXNlIE1haW5GcmFtZVNjcm9sbGluZ05vZGU6Cisg
ICAgY2FzZSBTdWJmcmFtZVNjcm9sbGluZ05vZGU6CisgICAgICAgIHJldHVybiBTY3JvbGxpbmdU
cmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TOjpjcmVhdGUoKnRoaXMsIG5vZGVUeXBlLCBub2RlSUQp
OwogICAgIGNhc2UgT3ZlcmZsb3dTY3JvbGxpbmdOb2RlOgogICAgICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGlu
Z05vZGVNYWMuaAppbmRleCBkNjdjNjE4NzI3ODU5MDcxYzFhNjI3ZGU0OGRlNjI0ZjJlMDY3MDhi
Li5hODk0MjMzZTFhMDVhZDc4MWM3NGZkMmY3MTk2M2FjNzg3NjlkNmUxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xs
aW5nTm9kZU1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3Jv
bGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLmgKQEAgLTM4LDExICszOCwxMSBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVN
YWMgOiBwdWJsaWMgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZSwgcHJpdmF0ZSBTY3Jv
bGxDb250cm9sbGVyQ2xpZW50IHsKIHB1YmxpYzoKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMg
UmVmPFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGU+IGNyZWF0ZShTY3JvbGxpbmdUcmVl
JiwgU2Nyb2xsaW5nTm9kZUlEKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUmVmPFNjcm9s
bGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGU+IGNyZWF0ZShTY3JvbGxpbmdUcmVlJiwgU2Nyb2xs
aW5nTm9kZVR5cGUsIFNjcm9sbGluZ05vZGVJRCk7CiAgICAgdmlydHVhbCB+U2Nyb2xsaW5nVHJl
ZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYygpOwogCiBwcml2YXRlOgotICAgIFNjcm9sbGluZ1RyZWVG
cmFtZVNjcm9sbGluZ05vZGVNYWMoU2Nyb2xsaW5nVHJlZSYsIFNjcm9sbGluZ05vZGVJRCk7Cisg
ICAgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYyhTY3JvbGxpbmdUcmVlJiwgU2Ny
b2xsaW5nTm9kZVR5cGUsIFNjcm9sbGluZ05vZGVJRCk7CiAKICAgICB2b2lkIHJlbGVhc2VSZWZl
cmVuY2VzVG9TY3JvbGxlckltcHNPblRoZU1haW5UaHJlYWQoKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGlu
Z05vZGVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5n
VHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5tbQppbmRleCA4YzBiMTU0YTJjMDgwNTcwOGNiNWMw
OTYzMTY4Y2EwMWExOGU4ODY4Li4wYTFjNzJjNmQwZDk2Y2UwYWU3Y2UzY2ExNzZlMzQ4MTI5MTMx
YmEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xs
aW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5tbQpAQCAt
NDgsMTMgKzQ4LDEzIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUmVmPFNjcm9sbGluZ1Ry
ZWVGcmFtZVNjcm9sbGluZ05vZGU+IFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWM6
OmNyZWF0ZShTY3JvbGxpbmdUcmVlJiBzY3JvbGxpbmdUcmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9k
ZUlEKQorUmVmPFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGU+IFNjcm9sbGluZ1RyZWVG
cmFtZVNjcm9sbGluZ05vZGVNYWM6OmNyZWF0ZShTY3JvbGxpbmdUcmVlJiBzY3JvbGxpbmdUcmVl
LCBTY3JvbGxpbmdOb2RlVHlwZSBub2RlVHlwZSwgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkKIHsK
LSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2Rl
TWFjKHNjcm9sbGluZ1RyZWUsIG5vZGVJRCkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNj
cm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMoc2Nyb2xsaW5nVHJlZSwgbm9kZVR5cGUs
IG5vZGVJRCkpOwogfQogCi1TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjOjpTY3Jv
bGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjKFNjcm9sbGluZ1RyZWUmIHNjcm9sbGluZ1Ry
ZWUsIFNjcm9sbGluZ05vZGVJRCBub2RlSUQpCi0gICAgOiBTY3JvbGxpbmdUcmVlRnJhbWVTY3Jv
bGxpbmdOb2RlKHNjcm9sbGluZ1RyZWUsIG5vZGVJRCkKK1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9s
bGluZ05vZGVNYWM6OlNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMoU2Nyb2xsaW5n
VHJlZSYgc2Nyb2xsaW5nVHJlZSwgU2Nyb2xsaW5nTm9kZVR5cGUgbm9kZVR5cGUsIFNjcm9sbGlu
Z05vZGVJRCBub2RlSUQpCisgICAgOiBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlKHNj
cm9sbGluZ1RyZWUsIG5vZGVUeXBlLCBub2RlSUQpCiAgICAgLCBtX3Njcm9sbENvbnRyb2xsZXIo
KnRoaXMpCiAgICAgLCBtX3ZlcnRpY2FsU2Nyb2xsZXJJbXAobnVsbHB0cikKICAgICAsIG1faG9y
aXpvbnRhbFNjcm9sbGVySW1wKG51bGxwdHIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU1hYy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU1hYy5jcHAKaW5kZXggODk5ZjFlOTAxNjdk
YjhjOGVhMWZhNmQ4ZWFlZjRjNzA0MTEyMDU0ZC4uNjQ5YmU0ZjU5ZTM1MjMwZGFhYWMzYzQ2MWM5
YjJmYzc5NjM1MDVlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
bWFjL1Njcm9sbGluZ1RyZWVNYWMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL21hYy9TY3JvbGxpbmdUcmVlTWFjLmNwcApAQCAtNDcsOCArNDcsOSBAQCBTY3JvbGxpbmdU
cmVlTWFjOjpTY3JvbGxpbmdUcmVlTWFjKEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3ImIHNjcm9s
bGluZ0Nvb3JkaW5hdAogUmVmPFNjcm9sbGluZ1RyZWVOb2RlPiBTY3JvbGxpbmdUcmVlTWFjOjpj
cmVhdGVTY3JvbGxpbmdUcmVlTm9kZShTY3JvbGxpbmdOb2RlVHlwZSBub2RlVHlwZSwgU2Nyb2xs
aW5nTm9kZUlEIG5vZGVJRCkKIHsKICAgICBzd2l0Y2ggKG5vZGVUeXBlKSB7Ci0gICAgY2FzZSBG
cmFtZVNjcm9sbGluZ05vZGU6Ci0gICAgICAgIHJldHVybiBTY3JvbGxpbmdUcmVlRnJhbWVTY3Jv
bGxpbmdOb2RlTWFjOjpjcmVhdGUoKnRoaXMsIG5vZGVJRCk7CisgICAgY2FzZSBNYWluRnJhbWVT
Y3JvbGxpbmdOb2RlOgorICAgIGNhc2UgU3ViZnJhbWVTY3JvbGxpbmdOb2RlOgorICAgICAgICBy
ZXR1cm4gU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYzo6Y3JlYXRlKCp0aGlzLCBu
b2RlVHlwZSwgbm9kZUlEKTsKICAgICBjYXNlIE92ZXJmbG93U2Nyb2xsaW5nTm9kZToKICAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAppbmRleCA5NDBmMjkw
ODgwZWM3ZDZmNTJjNzRlZGMwMDk3ZmM4ODkzOGQ1MGZjLi5jMTBkYzg1MDI1ZmU0MDUwMTMwM2Qy
YmIxZjFkM2Q1OTY4NjY2YjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcApAQCAtMzY3NSwxNCArMzY3NSwxNSBAQCB2b2lkIFJl
bmRlckxheWVyQ29tcG9zaXRvcjo6cmVhdHRhY2hTdWJmcmFtZVNjcm9sbExheWVycygpCiAgICAg
ICAgIGlmICghcGFyZW50Tm9kZUlEKQogICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAg
c2Nyb2xsaW5nQ29vcmRpbmF0b3ItPmF0dGFjaFRvU3RhdGVUcmVlKEZyYW1lU2Nyb2xsaW5nTm9k
ZSwgZnJhbWVTY3JvbGxpbmdOb2RlSUQsIHBhcmVudE5vZGVJRCk7CisgICAgICAgIHNjcm9sbGlu
Z0Nvb3JkaW5hdG9yLT5hdHRhY2hUb1N0YXRlVHJlZShjaGlsZC0+aXNNYWluRnJhbWUoKSA/IE1h
aW5GcmFtZVNjcm9sbGluZ05vZGUgOiBTdWJmcmFtZVNjcm9sbGluZ05vZGUsIGZyYW1lU2Nyb2xs
aW5nTm9kZUlELCBwYXJlbnROb2RlSUQpOwogICAgIH0KIH0KIAogc3RhdGljIGlubGluZSBMYXll
clNjcm9sbENvb3JkaW5hdGlvblJvbGUgc2Nyb2xsQ29vcmRpbmF0aW9uUm9sZUZvck5vZGVUeXBl
KFNjcm9sbGluZ05vZGVUeXBlIG5vZGVUeXBlKQogewogICAgIHN3aXRjaCAobm9kZVR5cGUpIHsK
LSAgICBjYXNlIEZyYW1lU2Nyb2xsaW5nTm9kZToKKyAgICBjYXNlIE1haW5GcmFtZVNjcm9sbGlu
Z05vZGU6CisgICAgY2FzZSBTdWJmcmFtZVNjcm9sbGluZ05vZGU6CiAgICAgY2FzZSBPdmVyZmxv
d1Njcm9sbGluZ05vZGU6CiAgICAgICAgIHJldHVybiBTY3JvbGxpbmc7CiAgICAgY2FzZSBGaXhl
ZE5vZGU6CkBAIC0zNzQxLDcgKzM3NDIsNyBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6
dXBkYXRlU2Nyb2xsQ29vcmRpbmF0aW9uRm9yVGhpc0ZyYW1lKFNjcm9sbGluZ05vZGVJRAogICAg
IGF1dG8qIHNjcm9sbGluZ0Nvb3JkaW5hdG9yID0gdGhpcy0+c2Nyb2xsaW5nQ29vcmRpbmF0b3Io
KTsKICAgICBBU1NFUlQoc2Nyb2xsaW5nQ29vcmRpbmF0b3ItPmNvb3JkaW5hdGVzU2Nyb2xsaW5n
Rm9yRnJhbWVWaWV3KG1fcmVuZGVyVmlldy5mcmFtZVZpZXcoKSkpOwogCi0gICAgU2Nyb2xsaW5n
Tm9kZUlEIG5vZGVJRCA9IGF0dGFjaFNjcm9sbGluZ05vZGUoKm1fcmVuZGVyVmlldy5sYXllcigp
LCBGcmFtZVNjcm9sbGluZ05vZGUsIHBhcmVudE5vZGVJRCk7CisgICAgU2Nyb2xsaW5nTm9kZUlE
IG5vZGVJRCA9IGF0dGFjaFNjcm9sbGluZ05vZGUoKm1fcmVuZGVyVmlldy5sYXllcigpLCBtX3Jl
bmRlclZpZXcuZnJhbWUoKS5pc01haW5GcmFtZSgpID8gTWFpbkZyYW1lU2Nyb2xsaW5nTm9kZSA6
IFN1YmZyYW1lU2Nyb2xsaW5nTm9kZSwgcGFyZW50Tm9kZUlEKTsKICAgICBzY3JvbGxpbmdDb29y
ZGluYXRvci0+dXBkYXRlRnJhbWVTY3JvbGxpbmdOb2RlKG5vZGVJRCwgbV9zY3JvbGxMYXllci5n
ZXQoKSwgbV9yb290Q29udGVudExheWVyLmdldCgpLCBmaXhlZFJvb3RCYWNrZ3JvdW5kTGF5ZXIo
KSwgY2xpcExheWVyKCkpOwogfQogCkBAIC0zNzc1LDcgKzM3NzYsNyBAQCB2b2lkIFJlbmRlckxh
eWVyQ29tcG9zaXRvcjo6dXBkYXRlU2Nyb2xsQ29vcmRpbmF0ZWRMYXllcihSZW5kZXJMYXllciYg
bGF5ZXIsIExheQogICAgIC8vIEFsd2F5cyBjYWxsIHRoaXMgZXZlbiBpZiB0aGUgYmFja2luZyBp
cyBhbHJlYWR5IGF0dGFjaGVkIGJlY2F1c2UgdGhlIHBhcmVudCBtYXkgaGF2ZSBjaGFuZ2VkLgog
ICAgIC8vIElmIGEgbm9kZSBwbGF5cyBib3RoIHJvbGVzLCBmaXhlZC9zdGlja3kgaXMgYWx3YXlz
IHRoZSBhbmNlc3RvciBub2RlIG9mIHNjcm9sbGluZy4KICAgICBpZiAocmVhc29ucyAmIFZpZXdw
b3J0Q29uc3RyYWluZWQpIHsKLSAgICAgICAgU2Nyb2xsaW5nTm9kZVR5cGUgbm9kZVR5cGUgPSBG
cmFtZVNjcm9sbGluZ05vZGU7CisgICAgICAgIFNjcm9sbGluZ05vZGVUeXBlIG5vZGVUeXBlID0g
TWFpbkZyYW1lU2Nyb2xsaW5nTm9kZTsKICAgICAgICAgaWYgKGxheWVyLnJlbmRlcmVyKCkuaXNG
aXhlZFBvc2l0aW9uZWQoKSkKICAgICAgICAgICAgIG5vZGVUeXBlID0gRml4ZWROb2RlOwogICAg
ICAgICBlbHNlIGlmIChsYXllci5yZW5kZXJlcigpLnN0eWxlKCkucG9zaXRpb24oKSA9PSBTdGlj
a3lQb3NpdGlvbikKQEAgLTM4MDAsNyArMzgwMSw4IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3Np
dG9yOjp1cGRhdGVTY3JvbGxDb29yZGluYXRlZExheWVyKFJlbmRlckxheWVyJiBsYXllciwgTGF5
CiAgICAgICAgICAgICBjYXNlIFN0aWNreU5vZGU6CiAgICAgICAgICAgICAgICAgc2Nyb2xsaW5n
Q29vcmRpbmF0b3ItPnVwZGF0ZU5vZGVWaWV3cG9ydENvbnN0cmFpbnRzKG5vZGVJRCwgY29tcHV0
ZVN0aWNreVZpZXdwb3J0Q29uc3RyYWludHMobGF5ZXIpKTsKICAgICAgICAgICAgICAgICBicmVh
azsKLSAgICAgICAgICAgIGNhc2UgRnJhbWVTY3JvbGxpbmdOb2RlOgorICAgICAgICAgICAgY2Fz
ZSBNYWluRnJhbWVTY3JvbGxpbmdOb2RlOgorICAgICAgICAgICAgY2FzZSBTdWJmcmFtZVNjcm9s
bGluZ05vZGU6CiAgICAgICAgICAgICBjYXNlIE92ZXJmbG93U2Nyb2xsaW5nTm9kZToKICAgICAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclRyYW5z
YWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVT
Y3JvbGxpbmdDb29yZGluYXRvclRyYW5zYWN0aW9uLmNwcAppbmRleCAyY2UxZjg5Nzk4MTVlZjUx
NDBmOTZmZjFmY2Y5N2YwM2FjOWUwOWU2Li44ZDJkMThjMDk2ZThiZGQ0ZGU1NzU5YzIyMTU3MjBi
YWUxY2VhODBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRy
ZWUvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JUcmFuc2FjdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9y
VHJhbnNhY3Rpb24uY3BwCkBAIC0zMzQsNyArMzM0LDggQEAgc3RhdGljIHZvaWQgZW5jb2RlTm9k
ZUFuZERlc2NlbmRhbnRzKElQQzo6RW5jb2RlciYgZW5jb2RlciwgY29uc3QgU2Nyb2xsaW5nU3Rh
dGUKICAgICArK2VuY29kZWROb2RlQ291bnQ7CiAKICAgICBzd2l0Y2ggKHN0YXRlTm9kZS5ub2Rl
VHlwZSgpKSB7Ci0gICAgY2FzZSBGcmFtZVNjcm9sbGluZ05vZGU6CisgICAgY2FzZSBNYWluRnJh
bWVTY3JvbGxpbmdOb2RlOgorICAgIGNhc2UgU3ViZnJhbWVTY3JvbGxpbmdOb2RlOgogICAgICAg
ICBlbmNvZGVyIDw8IGRvd25jYXN0PFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlPihz
dGF0ZU5vZGUpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIE92ZXJmbG93U2Nyb2xsaW5nTm9k
ZToKQEAgLTQxOCw3ICs0MTksOCBAQCBib29sIFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yVHJh
bnNhY3Rpb246OmRlY29kZShJUEM6OkRlY29kZXImIGRlY29kZXIpCiAgICAgICAgIEFTU0VSVCgh
cGFyZW50Tm9kZUlEIHx8IG5ld05vZGUtPnBhcmVudCgpKTsKICAgICAgICAgCiAgICAgICAgIHN3
aXRjaCAobm9kZVR5cGUpIHsKLSAgICAgICAgY2FzZSBGcmFtZVNjcm9sbGluZ05vZGU6CisgICAg
ICAgIGNhc2UgTWFpbkZyYW1lU2Nyb2xsaW5nTm9kZToKKyAgICAgICAgY2FzZSBTdWJmcmFtZVNj
cm9sbGluZ05vZGU6CiAgICAgICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGRvd25jYXN0PFNj
cm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlPigqbmV3Tm9kZSkpKQogICAgICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIGJyZWFrOwpAQCAtNTYxLDcgKzU2Myw4IEBA
IHN0YXRpYyB2b2lkIGR1bXAoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IFNjcm9sbGluZ1N0YXRlTm9k
ZSYgbm9kZSwgYm9vbCBjaGFuZ2VkUHJvCiAgICAgICAgIHRzLmR1bXBQcm9wZXJ0eSgibGF5ZXIi
LCBzdGF0aWNfY2FzdDxHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVySUQ+KG5vZGUubGF5ZXIo
KSkpOwogICAgIAogICAgIHN3aXRjaCAobm9kZS5ub2RlVHlwZSgpKSB7Ci0gICAgY2FzZSBGcmFt
ZVNjcm9sbGluZ05vZGU6CisgICAgY2FzZSBNYWluRnJhbWVTY3JvbGxpbmdOb2RlOgorICAgIGNh
c2UgU3ViZnJhbWVTY3JvbGxpbmdOb2RlOgogICAgICAgICBkdW1wKHRzLCBkb3duY2FzdDxTY3Jv
bGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZT4obm9kZSksIGNoYW5nZWRQcm9wZXJ0aWVzT25s
eSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgT3ZlcmZsb3dTY3JvbGxpbmdOb2RlOgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZVNj
cm9sbGluZ0Nvb3JkaW5hdG9yUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVt
b3RlTGF5ZXJUcmVlL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHkuY3BwCmluZGV4IGU1
ZDFlYjcxN2ZkOWEyNzM2YmJmYzExOGFmNDY1MGE1NzJiMGM3Y2UuLjk2YzU4ZWQyZmQ3MTdjN2I2
YTdlZGU2OWRkYzQxZjJhNjk2MDMxOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVtb3RlU2Nyb2xs
aW5nQ29vcmRpbmF0b3JQcm94eS5jcHAKQEAgLTEwMyw3ICsxMDMsOCBAQCB2b2lkIFJlbW90ZVNj
cm9sbGluZ0Nvb3JkaW5hdG9yUHJveHk6OmNvbm5lY3RTdGF0ZU5vZGVMYXllcnMoU2Nyb2xsaW5n
U3RhdGVUcmVlJgogICAgICAgICAgICAgY3Vyck5vZGUtPnNldExheWVyKGxheWVyVHJlZUhvc3Qu
Z2V0TGF5ZXIoY3Vyck5vZGUtPmxheWVyKCkpKTsKIAogICAgICAgICBzd2l0Y2ggKGN1cnJOb2Rl
LT5ub2RlVHlwZSgpKSB7Ci0gICAgICAgIGNhc2UgRnJhbWVTY3JvbGxpbmdOb2RlOiB7CisgICAg
ICAgIGNhc2UgTWFpbkZyYW1lU2Nyb2xsaW5nTm9kZToKKyAgICAgICAgY2FzZSBTdWJmcmFtZVNj
cm9sbGluZ05vZGU6IHsKICAgICAgICAgICAgIFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdO
b2RlJiBzY3JvbGxpbmdTdGF0ZU5vZGUgPSBkb3duY2FzdDxTY3JvbGxpbmdTdGF0ZUZyYW1lU2Ny
b2xsaW5nTm9kZT4oKmN1cnJOb2RlKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgaWYgKHNj
cm9sbGluZ1N0YXRlTm9kZS5oYXNDaGFuZ2VkUHJvcGVydHkoU2Nyb2xsaW5nU3RhdGVTY3JvbGxp
bmdOb2RlOjpTY3JvbGxlZENvbnRlbnRzTGF5ZXIpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZVNjcm9sbGluZ1RyZWUuY3BwIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZVNjcm9sbGluZ1RyZWUu
Y3BwCmluZGV4IDI1ZWJiNGJlMzExN2MwYzBhYzI0MjNmODdjZWY3MjIxOWRlMzMwMTQuLmI5ZDU1
ZjgxNWRlNjlhZjczMGQxMDJkMWQ1Mzg5YjhlZGQ4NTNmZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVTY3JvbGxpbmdUcmVlLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVtb3RlU2Nyb2xs
aW5nVHJlZS5jcHAKQEAgLTExMywxMSArMTEzLDEyIEBAIHZvaWQgUmVtb3RlU2Nyb2xsaW5nVHJl
ZTo6c2Nyb2xsaW5nVHJlZU5vZGVSZXF1ZXN0c1Njcm9sbChTY3JvbGxpbmdOb2RlSUQgbm9kZUlE
CiBSZWY8U2Nyb2xsaW5nVHJlZU5vZGU+IFJlbW90ZVNjcm9sbGluZ1RyZWU6OmNyZWF0ZVNjcm9s
bGluZ1RyZWVOb2RlKFNjcm9sbGluZ05vZGVUeXBlIG5vZGVUeXBlLCBTY3JvbGxpbmdOb2RlSUQg
bm9kZUlEKQogewogICAgIHN3aXRjaCAobm9kZVR5cGUpIHsKLSAgICBjYXNlIEZyYW1lU2Nyb2xs
aW5nTm9kZToKKyAgICBjYXNlIE1haW5GcmFtZVNjcm9sbGluZ05vZGU6CisgICAgY2FzZSBTdWJm
cmFtZVNjcm9sbGluZ05vZGU6CiAjaWYgUExBVEZPUk0oSU9TKQotICAgICAgICByZXR1cm4gU2Ny
b2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUzo6Y3JlYXRlKCp0aGlzLCBub2RlSUQpOwor
ICAgICAgICByZXR1cm4gU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUzo6Y3JlYXRl
KCp0aGlzLCBub2RlVHlwZSwgbm9kZUlEKTsKICNlbHNlCi0gICAgICAgIHJldHVybiBTY3JvbGxp
bmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjOjpjcmVhdGUoKnRoaXMsIG5vZGVJRCk7CisgICAg
ICAgIHJldHVybiBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjOjpjcmVhdGUoKnRo
aXMsIG5vZGVUeXBlLCBub2RlSUQpOwogI2VuZGlmCiAgICAgY2FzZSBPdmVyZmxvd1Njcm9sbGlu
Z05vZGU6CiAjaWYgUExBVEZPUk0oSU9TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5
SU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9SZW1v
dGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5SU9TLm1tCmluZGV4IDI4ZDM5NTkzNDU0ZTE4NWZi
NjZmZTVkZjdkYWI4YjNhMjg2MjA0ZWMuLmUyYjgxNDE0Y2RkNDk4OGZiZThmN2NiMTEyMzA2ZTVi
OGJlN2ZmNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVy
VHJlZS9pb3MvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eUlPUy5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1JlbW90ZVNjcm9sbGluZ0Nv
b3JkaW5hdG9yUHJveHlJT1MubW0KQEAgLTY3LDcgKzY3LDggQEAgdm9pZCBSZW1vdGVTY3JvbGxp
bmdDb29yZGluYXRvclByb3h5Ojpjb25uZWN0U3RhdGVOb2RlTGF5ZXJzKFNjcm9sbGluZ1N0YXRl
VHJlZSYKICAgICAgICAgICAgICAgICBzY3JvbGxpbmdTdGF0ZU5vZGUuc2V0U2Nyb2xsZWRDb250
ZW50c0xheWVyKGxheWVyUmVwcmVzZW50YXRpb25Gcm9tTGF5ZXJPclZpZXcobGF5ZXJUcmVlSG9z
dC5nZXRMYXllcihzY3JvbGxpbmdTdGF0ZU5vZGUuc2Nyb2xsZWRDb250ZW50c0xheWVyKCkpKSk7
CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfTsKLSAgICAgICAgY2FzZSBGcmFtZVNjcm9s
bGluZ05vZGU6IHsKKyAgICAgICAgY2FzZSBNYWluRnJhbWVTY3JvbGxpbmdOb2RlOgorICAgICAg
ICBjYXNlIFN1YmZyYW1lU2Nyb2xsaW5nTm9kZTogewogICAgICAgICAgICAgU2Nyb2xsaW5nU3Rh
dGVGcmFtZVNjcm9sbGluZ05vZGUmIHNjcm9sbGluZ1N0YXRlTm9kZSA9IGRvd25jYXN0PFNjcm9s
bGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlPigqY3Vyck5vZGUpOwogICAgICAgICAgICAgCiAg
ICAgICAgICAgICBpZiAoc2Nyb2xsaW5nU3RhdGVOb2RlLmhhc0NoYW5nZWRQcm9wZXJ0eShTY3Jv
bGxpbmdTdGF0ZU5vZGU6OlNjcm9sbExheWVyKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVE
ZWxlZ2F0ZUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9p
b3MvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlPUy5tbQppbmRleCAxMzUzOTYw
ZmZlN2ZjYTFjNTg3NTViMzYxZTNiNDdjMGMyMzAzMmVlLi40YTJlMjliNTYwOTYxYTU5YjFjYjU1
MTk3ODM5MTQ5YzMxMDY4NGMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9S
ZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1Mu
bW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3Jv
bGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TLm1tCkBAIC0yNDcsNyArMjQ3LDcgQEAg
dm9pZCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TOjp1cGRhdGVDaGlsZE5v
ZGVzQWZ0ZXJTY3JvbGwoY29uc3QgRmwKIAogICAgIEZsb2F0UmVjdCBmaXhlZFBvc2l0aW9uUmVj
dDsKICAgICBhdXRvKiBmcmFtZU5vZGUgPSBzY3JvbGxpbmdOb2RlKCkuZW5jbG9zaW5nRnJhbWVO
b2RlSW5jbHVkaW5nU2VsZigpOwotICAgIGlmIChmcmFtZU5vZGUgJiYgZnJhbWVOb2RlLT5wYXJl
bnQoKSkKKyAgICBpZiAoZnJhbWVOb2RlICYmIGZyYW1lTm9kZS0+bm9kZVR5cGUoKSA9PSBTdWJm
cmFtZVNjcm9sbGluZ05vZGUpCiAgICAgICAgIGZpeGVkUG9zaXRpb25SZWN0ID0gZnJhbWVOb2Rl
LT5maXhlZFBvc2l0aW9uUmVjdCgpOwogICAgIGVsc2UKICAgICAgICAgZml4ZWRQb3NpdGlvblJl
Y3QgPSBzY3JvbGxpbmdUcmVlKCkuZml4ZWRQb3NpdGlvblJlY3QoKTsK
</data>
<flag name="review"
          id="352097"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>