<?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>126340</bug_id>
          
          <creation_ts>2013-12-31 07:41:33 -0800</creation_ts>
          <short_desc>Out-of-line RenderStyle substructure copying helpers.</short_desc>
          <delta_ts>2013-12-31 08:37:20 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andreas Kling">kling</reporter>
          <assigned_to name="Andreas Kling">kling</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kling</cc>
    
    <cc>kondapallykalyan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>963513</commentid>
    <comment_count>0</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-12-31 07:41:33 -0800</bug_when>
    <thetext>Out-of-line RenderStyle substructure copying helpers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>963514</commentid>
    <comment_count>1</comment_count>
      <attachid>220157</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-12-31 07:42:20 -0800</bug_when>
    <thetext>Created attachment 220157
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>963527</commentid>
    <comment_count>2</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-12-31 08:37:20 -0800</bug_when>
    <thetext>Committed r161184: &lt;http://trac.webkit.org/changeset/161184&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>220157</attachid>
            <date>2013-12-31 07:42:20 -0800</date>
            <delta_ts>2013-12-31 07:58:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-126340.diff</filename>
            <type>text/plain</type>
            <size>38160</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA1OWZjNWUyLi4yNGIyNGJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTMtMTItMzEgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgorCisgICAg
ICAgIE91dC1vZi1saW5lIFJlbmRlclN0eWxlIHN1YnN0cnVjdHVyZSBjb3B5aW5nIGhlbHBlcnMu
CisgICAgICAgIDxodHRwczovL3dlYmtpdC5vcmcvYi8xMjYzNDA+CisKKyAgICAgICAgVGhpcyBz
aHJpbmtzIHRoZSAuYWNjZXNzKCkgY2FsbHMgYnkgbW92aW5nIG1lbW9yeSBhbGxvY2F0aW9uIGxv
Z2ljCisgICAgICAgIG91dC1vZi1saW5lLCB0aG91Z2ggSSdtIHJlYWxseSBkb2luZyB0aGlzIHRv
IG1ha2UgSW5zdHJ1bWVudHMuYXBwCisgICAgICAgIGFsbG9jYXRpb25zIG91dHB1dCBtb3JlIHJl
YWRhYmxlLgorCisgICAgICAgIFdyaXRlcyB0byBlLmcgJ2ZvbnQnIG9yICdjb2xvcicgd2lsbCBu
b3cgYmUgZ3JvdXBlZCB1bmRlciBhIHNpbmdsZQorICAgICAgICBTdHlsZUluaGVyaXRlZERhdGE6
OmNvcHkoKSBjYWxsIGluc3RlYWQgb2YgYmVpbmcgc3ByZWFkIG91dCBvdmVyCisgICAgICAgIHNl
dEZvbnREZXNjcmlwdGlvbigpLCBzZXRMaW5lSGVpZ2h0KCksIHNldENvbG9yKCksIGV0Yy4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwogMjAxMy0xMi0zMCAgQW5kcmVh
cyBLbGluZyAgPGFrbGluZ0BhcHBsZS5jb20+CiAKICAgICAgICAgRWxlbWVudCdzIHJlbmRlcmVy
IGZhY3Rvcnkgc2hvdWxkIHJldHVybiBSZW5kZXJQdHJzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL05pbmVQaWVjZUltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9OaW5lUGllY2VJbWFnZS5jcHAKaW5kZXggODg2M2FiNy4uNDNiZDFi
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL05pbmVQaWVjZUlt
YWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvTmluZVBpZWNlSW1h
Z2UuY3BwCkBAIC02MSw3ICs2MSw3IEBAIE5pbmVQaWVjZUltYWdlRGF0YTo6TmluZVBpZWNlSW1h
Z2VEYXRhKCkKIHsKIH0KIAotTmluZVBpZWNlSW1hZ2VEYXRhOjpOaW5lUGllY2VJbWFnZURhdGEo
Y29uc3QgTmluZVBpZWNlSW1hZ2VEYXRhJiBvdGhlcikKK2lubGluZSBOaW5lUGllY2VJbWFnZURh
dGE6Ok5pbmVQaWVjZUltYWdlRGF0YShjb25zdCBOaW5lUGllY2VJbWFnZURhdGEmIG90aGVyKQog
ICAgIDogUmVmQ291bnRlZDxOaW5lUGllY2VJbWFnZURhdGE+KCkKICAgICAsIGZpbGwob3RoZXIu
ZmlsbCkKICAgICAsIGhvcml6b250YWxSdWxlKG90aGVyLmhvcml6b250YWxSdWxlKQpAQCAtNzMs
NiArNzMsMTEgQEAgTmluZVBpZWNlSW1hZ2VEYXRhOjpOaW5lUGllY2VJbWFnZURhdGEoY29uc3Qg
TmluZVBpZWNlSW1hZ2VEYXRhJiBvdGhlcikKIHsKIH0KIAorUGFzc1JlZjxOaW5lUGllY2VJbWFn
ZURhdGE+IE5pbmVQaWVjZUltYWdlRGF0YTo6Y29weSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgTmluZVBpZWNlSW1hZ2VEYXRhKCp0aGlzKSk7Cit9CisKIGJvb2wgTmluZVBp
ZWNlSW1hZ2VEYXRhOjpvcGVyYXRvcj09KGNvbnN0IE5pbmVQaWVjZUltYWdlRGF0YSYgb3RoZXIp
IGNvbnN0CiB7CiAgICAgcmV0dXJuIFN0eWxlSW1hZ2U6OmltYWdlc0VxdWl2YWxlbnQoaW1hZ2Uu
Z2V0KCksIG90aGVyLmltYWdlLmdldCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL05pbmVQaWVjZUltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvTmluZVBpZWNlSW1hZ2UuaAppbmRleCAwODJmZDE5Li5lMzQ5MjQxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvTmluZVBpZWNlSW1hZ2UuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvTmluZVBpZWNlSW1hZ2UuaApAQCAtMzgsNyAr
MzgsNyBAQCBlbnVtIEVOaW5lUGllY2VJbWFnZVJ1bGUgewogY2xhc3MgTmluZVBpZWNlSW1hZ2VE
YXRhIDogcHVibGljIFJlZkNvdW50ZWQ8TmluZVBpZWNlSW1hZ2VEYXRhPiB7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIFBhc3NSZWY8TmluZVBpZWNlSW1hZ2VEYXRhPiBjcmVhdGUoKSB7IHJldHVybiBh
ZG9wdFJlZigqbmV3IE5pbmVQaWVjZUltYWdlRGF0YSk7IH0KLSAgICBQYXNzUmVmPE5pbmVQaWVj
ZUltYWdlRGF0YT4gY29weSgpIGNvbnN0IHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTmluZVBpZWNl
SW1hZ2VEYXRhKCp0aGlzKSk7IH0KKyAgICBQYXNzUmVmPE5pbmVQaWVjZUltYWdlRGF0YT4gY29w
eSgpIGNvbnN0OwogCiAgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IE5pbmVQaWVjZUltYWdlRGF0
YSYpIGNvbnN0OwogICAgIGJvb2wgb3BlcmF0b3IhPShjb25zdCBOaW5lUGllY2VJbWFnZURhdGEm
IG8pIGNvbnN0IHsgcmV0dXJuICEoKnRoaXMgPT0gbyk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuY3BwCmluZGV4IDMyYjUxMzcuLjA2Yzc5
M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TVkdSZW5kZXJT
dHlsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0
eWxlLmNwcApAQCAtNzYsNyArNzYsNyBAQCBTVkdSZW5kZXJTdHlsZTo6U1ZHUmVuZGVyU3R5bGUo
Q3JlYXRlRGVmYXVsdFR5cGUpCiAgICAgc2V0Qml0RGVmYXVsdHMoKTsKIH0KIAotU1ZHUmVuZGVy
U3R5bGU6OlNWR1JlbmRlclN0eWxlKGNvbnN0IFNWR1JlbmRlclN0eWxlJiBvdGhlcikKK2lubGlu
ZSBTVkdSZW5kZXJTdHlsZTo6U1ZHUmVuZGVyU3R5bGUoY29uc3QgU1ZHUmVuZGVyU3R5bGUmIG90
aGVyKQogICAgIDogUmVmQ291bnRlZDxTVkdSZW5kZXJTdHlsZT4oKQogICAgICwgc3ZnX2luaGVy
aXRlZF9mbGFncyhvdGhlci5zdmdfaW5oZXJpdGVkX2ZsYWdzKQogICAgICwgc3ZnX25vbmluaGVy
aXRlZF9mbGFncyhvdGhlci5zdmdfbm9uaW5oZXJpdGVkX2ZsYWdzKQpAQCAtOTEsNiArOTEsMTEg
QEAgU1ZHUmVuZGVyU3R5bGU6OlNWR1JlbmRlclN0eWxlKGNvbnN0IFNWR1JlbmRlclN0eWxlJiBv
dGhlcikKIHsKIH0KIAorUGFzc1JlZjxTVkdSZW5kZXJTdHlsZT4gU1ZHUmVuZGVyU3R5bGU6OmNv
cHkoKSBjb25zdAoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNWR1JlbmRlclN0eWxlKCp0
aGlzKSk7Cit9CisKIFNWR1JlbmRlclN0eWxlOjp+U1ZHUmVuZGVyU3R5bGUoKQogewogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0eWxlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuaAppbmRleCAz
NTA3ZDQxLi5mZjA3ZGI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvU1ZHUmVuZGVyU3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
U1ZHUmVuZGVyU3R5bGUuaApAQCAtNDMsNyArNDMsNyBAQCBjbGFzcyBTVkdSZW5kZXJTdHlsZSA6
IHB1YmxpYyBSZWZDb3VudGVkPFNWR1JlbmRlclN0eWxlPiB7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFBhc3NSZWY8U1ZHUmVuZGVyU3R5bGU+IGNyZWF0ZURlZmF1bHRTdHlsZSgpOwogICAgIHN0YXRp
YyBQYXNzUmVmPFNWR1JlbmRlclN0eWxlPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZigqbmV3
IFNWR1JlbmRlclN0eWxlKTsgfQotICAgIFBhc3NSZWY8U1ZHUmVuZGVyU3R5bGU+IGNvcHkoKSBj
b25zdCB7IHJldHVybiBhZG9wdFJlZigqbmV3IFNWR1JlbmRlclN0eWxlKCp0aGlzKSk7fQorICAg
IFBhc3NSZWY8U1ZHUmVuZGVyU3R5bGU+IGNvcHkoKSBjb25zdDsKICAgICB+U1ZHUmVuZGVyU3R5
bGUoKTsKIAogICAgIGJvb2wgaW5oZXJpdGVkTm90RXF1YWwoY29uc3QgU1ZHUmVuZGVyU3R5bGUq
KSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TVkdS
ZW5kZXJTdHlsZURlZnMuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NWR1Jl
bmRlclN0eWxlRGVmcy5jcHAKaW5kZXggZThjODA5OC4uYWVkMTc5YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0eWxlRGVmcy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0eWxlRGVmcy5jcHAKQEAg
LTQ2LDcgKzQ2LDcgQEAgU3R5bGVGaWxsRGF0YTo6U3R5bGVGaWxsRGF0YSgpCiB7CiB9CiAKLVN0
eWxlRmlsbERhdGE6OlN0eWxlRmlsbERhdGEoY29uc3QgU3R5bGVGaWxsRGF0YSYgb3RoZXIpCitp
bmxpbmUgU3R5bGVGaWxsRGF0YTo6U3R5bGVGaWxsRGF0YShjb25zdCBTdHlsZUZpbGxEYXRhJiBv
dGhlcikKICAgICA6IFJlZkNvdW50ZWQ8U3R5bGVGaWxsRGF0YT4oKQogICAgICwgb3BhY2l0eShv
dGhlci5vcGFjaXR5KQogICAgICwgcGFpbnRUeXBlKG90aGVyLnBhaW50VHlwZSkKQEAgLTU4LDYg
KzU4LDExIEBAIFN0eWxlRmlsbERhdGE6OlN0eWxlRmlsbERhdGEoY29uc3QgU3R5bGVGaWxsRGF0
YSYgb3RoZXIpCiB7CiB9CiAKK1Bhc3NSZWY8U3R5bGVGaWxsRGF0YT4gU3R5bGVGaWxsRGF0YTo6
Y29weSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVGaWxsRGF0YSgq
dGhpcykpOworfQorCiBib29sIFN0eWxlRmlsbERhdGE6Om9wZXJhdG9yPT0oY29uc3QgU3R5bGVG
aWxsRGF0YSYgb3RoZXIpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG9wYWNpdHkgPT0gb3RoZXIub3Bh
Y2l0eSAKQEAgLTg0LDcgKzg5LDcgQEAgU3R5bGVTdHJva2VEYXRhOjpTdHlsZVN0cm9rZURhdGEo
KQogewogfQogCi1TdHlsZVN0cm9rZURhdGE6OlN0eWxlU3Ryb2tlRGF0YShjb25zdCBTdHlsZVN0
cm9rZURhdGEmIG90aGVyKQoraW5saW5lIFN0eWxlU3Ryb2tlRGF0YTo6U3R5bGVTdHJva2VEYXRh
KGNvbnN0IFN0eWxlU3Ryb2tlRGF0YSYgb3RoZXIpCiAgICAgOiBSZWZDb3VudGVkPFN0eWxlU3Ry
b2tlRGF0YT4oKQogICAgICwgb3BhY2l0eShvdGhlci5vcGFjaXR5KQogICAgICwgbWl0ZXJMaW1p
dChvdGhlci5taXRlckxpbWl0KQpAQCAtMTAwLDYgKzEwNSwxMSBAQCBTdHlsZVN0cm9rZURhdGE6
OlN0eWxlU3Ryb2tlRGF0YShjb25zdCBTdHlsZVN0cm9rZURhdGEmIG90aGVyKQogewogfQogCitQ
YXNzUmVmPFN0eWxlU3Ryb2tlRGF0YT4gU3R5bGVTdHJva2VEYXRhOjpjb3B5KCkgY29uc3QKK3sK
KyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTdHlsZVN0cm9rZURhdGEoKnRoaXMpKTsKK30KKwog
Ym9vbCBTdHlsZVN0cm9rZURhdGE6Om9wZXJhdG9yPT0oY29uc3QgU3R5bGVTdHJva2VEYXRhJiBv
dGhlcikgY29uc3QKIHsKICAgICByZXR1cm4gd2lkdGggPT0gb3RoZXIud2lkdGgKQEAgLTEyMSwx
MyArMTMxLDE4IEBAIFN0eWxlU3RvcERhdGE6OlN0eWxlU3RvcERhdGEoKQogewogfQogCi1TdHls
ZVN0b3BEYXRhOjpTdHlsZVN0b3BEYXRhKGNvbnN0IFN0eWxlU3RvcERhdGEmIG90aGVyKQoraW5s
aW5lIFN0eWxlU3RvcERhdGE6OlN0eWxlU3RvcERhdGEoY29uc3QgU3R5bGVTdG9wRGF0YSYgb3Ro
ZXIpCiAgICAgOiBSZWZDb3VudGVkPFN0eWxlU3RvcERhdGE+KCkKICAgICAsIG9wYWNpdHkob3Ro
ZXIub3BhY2l0eSkKICAgICAsIGNvbG9yKG90aGVyLmNvbG9yKQogewogfQogCitQYXNzUmVmPFN0
eWxlU3RvcERhdGE+IFN0eWxlU3RvcERhdGE6OmNvcHkoKSBjb25zdAoreworICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IFN0eWxlU3RvcERhdGEoKnRoaXMpKTsKK30KKwogYm9vbCBTdHlsZVN0b3BE
YXRhOjpvcGVyYXRvcj09KGNvbnN0IFN0eWxlU3RvcERhdGEmIG90aGVyKSBjb25zdAogewogICAg
IHJldHVybiBjb2xvciA9PSBvdGhlci5jb2xvcgpAQCAtMTM5LDEyICsxNTQsMTcgQEAgU3R5bGVU
ZXh0RGF0YTo6U3R5bGVUZXh0RGF0YSgpCiB7CiB9CiAKLVN0eWxlVGV4dERhdGE6OlN0eWxlVGV4
dERhdGEoY29uc3QgU3R5bGVUZXh0RGF0YSYgb3RoZXIpCitpbmxpbmUgU3R5bGVUZXh0RGF0YTo6
U3R5bGVUZXh0RGF0YShjb25zdCBTdHlsZVRleHREYXRhJiBvdGhlcikKICAgICA6IFJlZkNvdW50
ZWQ8U3R5bGVUZXh0RGF0YT4oKQogICAgICwga2VybmluZyhvdGhlci5rZXJuaW5nKQogewogfQog
CitQYXNzUmVmPFN0eWxlVGV4dERhdGE+IFN0eWxlVGV4dERhdGE6OmNvcHkoKSBjb25zdAorewor
ICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxlVGV4dERhdGEoKnRoaXMpKTsKK30KKwogYm9v
bCBTdHlsZVRleHREYXRhOjpvcGVyYXRvcj09KGNvbnN0IFN0eWxlVGV4dERhdGEmIG90aGVyKSBj
b25zdAogewogICAgIHJldHVybiBrZXJuaW5nID09IG90aGVyLmtlcm5pbmc7CkBAIC0xNTgsNyAr
MTc4LDcgQEAgU3R5bGVNaXNjRGF0YTo6U3R5bGVNaXNjRGF0YSgpCiB7CiB9CiAKLVN0eWxlTWlz
Y0RhdGE6OlN0eWxlTWlzY0RhdGEoY29uc3QgU3R5bGVNaXNjRGF0YSYgb3RoZXIpCitpbmxpbmUg
U3R5bGVNaXNjRGF0YTo6U3R5bGVNaXNjRGF0YShjb25zdCBTdHlsZU1pc2NEYXRhJiBvdGhlcikK
ICAgICA6IFJlZkNvdW50ZWQ8U3R5bGVNaXNjRGF0YT4oKQogICAgICwgZmxvb2RDb2xvcihvdGhl
ci5mbG9vZENvbG9yKQogICAgICwgZmxvb2RPcGFjaXR5KG90aGVyLmZsb29kT3BhY2l0eSkKQEAg
LTE2Nyw2ICsxODcsMTEgQEAgU3R5bGVNaXNjRGF0YTo6U3R5bGVNaXNjRGF0YShjb25zdCBTdHls
ZU1pc2NEYXRhJiBvdGhlcikKIHsKIH0KIAorUGFzc1JlZjxTdHlsZU1pc2NEYXRhPiBTdHlsZU1p
c2NEYXRhOjpjb3B5KCkgY29uc3QKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTdHlsZU1p
c2NEYXRhKCp0aGlzKSk7Cit9CisKIGJvb2wgU3R5bGVNaXNjRGF0YTo6b3BlcmF0b3I9PShjb25z
dCBTdHlsZU1pc2NEYXRhJiBvdGhlcikgY29uc3QKIHsKICAgICByZXR1cm4gZmxvb2RPcGFjaXR5
ID09IG90aGVyLmZsb29kT3BhY2l0eQpAQCAtMTc5LDEyICsyMDQsMTcgQEAgU3R5bGVTaGFkb3dT
VkdEYXRhOjpTdHlsZVNoYWRvd1NWR0RhdGEoKQogewogfQogCi1TdHlsZVNoYWRvd1NWR0RhdGE6
OlN0eWxlU2hhZG93U1ZHRGF0YShjb25zdCBTdHlsZVNoYWRvd1NWR0RhdGEmIG90aGVyKQoraW5s
aW5lIFN0eWxlU2hhZG93U1ZHRGF0YTo6U3R5bGVTaGFkb3dTVkdEYXRhKGNvbnN0IFN0eWxlU2hh
ZG93U1ZHRGF0YSYgb3RoZXIpCiAgICAgOiBSZWZDb3VudGVkPFN0eWxlU2hhZG93U1ZHRGF0YT4o
KQogICAgICwgc2hhZG93KG90aGVyLnNoYWRvdyA/IGFkb3B0UHRyKG5ldyBTaGFkb3dEYXRhKCpv
dGhlci5zaGFkb3cpKSA6IG51bGxwdHIpCiB7CiB9CiAKK1Bhc3NSZWY8U3R5bGVTaGFkb3dTVkdE
YXRhPiBTdHlsZVNoYWRvd1NWR0RhdGE6OmNvcHkoKSBjb25zdAoreworICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IFN0eWxlU2hhZG93U1ZHRGF0YSgqdGhpcykpOworfQorCiBib29sIFN0eWxlU2hh
ZG93U1ZHRGF0YTo6b3BlcmF0b3I9PShjb25zdCBTdHlsZVNoYWRvd1NWR0RhdGEmIG90aGVyKSBj
b25zdAogewogICAgIGlmICgoIXNoYWRvdyAmJiBvdGhlci5zaGFkb3cpIHx8IChzaGFkb3cgJiYg
IW90aGVyLnNoYWRvdykpCkBAIC0yMDEsNyArMjMxLDcgQEAgU3R5bGVSZXNvdXJjZURhdGE6OlN0
eWxlUmVzb3VyY2VEYXRhKCkKIHsKIH0KIAotU3R5bGVSZXNvdXJjZURhdGE6OlN0eWxlUmVzb3Vy
Y2VEYXRhKGNvbnN0IFN0eWxlUmVzb3VyY2VEYXRhJiBvdGhlcikKK2lubGluZSBTdHlsZVJlc291
cmNlRGF0YTo6U3R5bGVSZXNvdXJjZURhdGEoY29uc3QgU3R5bGVSZXNvdXJjZURhdGEmIG90aGVy
KQogICAgIDogUmVmQ291bnRlZDxTdHlsZVJlc291cmNlRGF0YT4oKQogICAgICwgY2xpcHBlcihv
dGhlci5jbGlwcGVyKQogICAgICwgZmlsdGVyKG90aGVyLmZpbHRlcikKQEAgLTIwOSw2ICsyMzks
MTEgQEAgU3R5bGVSZXNvdXJjZURhdGE6OlN0eWxlUmVzb3VyY2VEYXRhKGNvbnN0IFN0eWxlUmVz
b3VyY2VEYXRhJiBvdGhlcikKIHsKIH0KIAorUGFzc1JlZjxTdHlsZVJlc291cmNlRGF0YT4gU3R5
bGVSZXNvdXJjZURhdGE6OmNvcHkoKSBjb25zdAoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IFN0eWxlUmVzb3VyY2VEYXRhKCp0aGlzKSk7Cit9CisKIGJvb2wgU3R5bGVSZXNvdXJjZURhdGE6
Om9wZXJhdG9yPT0oY29uc3QgU3R5bGVSZXNvdXJjZURhdGEmIG90aGVyKSBjb25zdAogewogICAg
IHJldHVybiBjbGlwcGVyID09IG90aGVyLmNsaXBwZXIKQEAgLTIyMyw3ICsyNTgsNyBAQCBTdHls
ZUluaGVyaXRlZFJlc291cmNlRGF0YTo6U3R5bGVJbmhlcml0ZWRSZXNvdXJjZURhdGEoKQogewog
fQogCi1TdHlsZUluaGVyaXRlZFJlc291cmNlRGF0YTo6U3R5bGVJbmhlcml0ZWRSZXNvdXJjZURh
dGEoY29uc3QgU3R5bGVJbmhlcml0ZWRSZXNvdXJjZURhdGEmIG90aGVyKQoraW5saW5lIFN0eWxl
SW5oZXJpdGVkUmVzb3VyY2VEYXRhOjpTdHlsZUluaGVyaXRlZFJlc291cmNlRGF0YShjb25zdCBT
dHlsZUluaGVyaXRlZFJlc291cmNlRGF0YSYgb3RoZXIpCiAgICAgOiBSZWZDb3VudGVkPFN0eWxl
SW5oZXJpdGVkUmVzb3VyY2VEYXRhPigpCiAgICAgLCBtYXJrZXJTdGFydChvdGhlci5tYXJrZXJT
dGFydCkKICAgICAsIG1hcmtlck1pZChvdGhlci5tYXJrZXJNaWQpCkBAIC0yMzEsNiArMjY2LDEx
IEBAIFN0eWxlSW5oZXJpdGVkUmVzb3VyY2VEYXRhOjpTdHlsZUluaGVyaXRlZFJlc291cmNlRGF0
YShjb25zdCBTdHlsZUluaGVyaXRlZFJlc291CiB7CiB9CiAKK1Bhc3NSZWY8U3R5bGVJbmhlcml0
ZWRSZXNvdXJjZURhdGE+IFN0eWxlSW5oZXJpdGVkUmVzb3VyY2VEYXRhOjpjb3B5KCkgY29uc3QK
K3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTdHlsZUluaGVyaXRlZFJlc291cmNlRGF0YSgq
dGhpcykpOworfQorCiBib29sIFN0eWxlSW5oZXJpdGVkUmVzb3VyY2VEYXRhOjpvcGVyYXRvcj09
KGNvbnN0IFN0eWxlSW5oZXJpdGVkUmVzb3VyY2VEYXRhJiBvdGhlcikgY29uc3QKIHsKICAgICBy
ZXR1cm4gbWFya2VyU3RhcnQgPT0gb3RoZXIubWFya2VyU3RhcnQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHlsZURlZnMuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHlsZURlZnMuaAppbmRleCAyZjE4ZTg2
Li45Yzg0MGJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZH
UmVuZGVyU3R5bGVEZWZzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NW
R1JlbmRlclN0eWxlRGVmcy5oCkBAIC0xMDIsNyArMTAyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIGNsYXNzIFN0eWxlRmlsbERhdGEgOiBwdWJsaWMgUmVmQ291bnRlZDxTdHlsZUZpbGxE
YXRhPiB7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZjxTdHlsZUZpbGxEYXRh
PiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxlRmlsbERhdGEpOyB9Ci0gICAg
ICAgIFBhc3NSZWY8U3R5bGVGaWxsRGF0YT4gY29weSgpIGNvbnN0IHsgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgU3R5bGVGaWxsRGF0YSgqdGhpcykpOyB9CisgICAgICAgIFBhc3NSZWY8U3R5bGVGaWxs
RGF0YT4gY29weSgpIGNvbnN0OwogCiAgICAgICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBTdHls
ZUZpbGxEYXRhJikgY29uc3Q7CiAgICAgICAgIGJvb2wgb3BlcmF0b3IhPShjb25zdCBTdHlsZUZp
bGxEYXRhJiBvdGhlcikgY29uc3QKQEAgLTEyNiw3ICsxMjYsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgY2xhc3MgU3R5bGVTdHJva2VEYXRhIDogcHVibGljIFJlZkNvdW50ZWQ8U3R5bGVT
dHJva2VEYXRhPiB7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZjxTdHlsZVN0
cm9rZURhdGE+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVTdHJva2VEYXRh
KTsgfQotICAgICAgICBQYXNzUmVmPFN0eWxlU3Ryb2tlRGF0YT4gY29weSgpIGNvbnN0IHsgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVTdHJva2VEYXRhKCp0aGlzKSk7IH0KKyAgICAgICAgUGFz
c1JlZjxTdHlsZVN0cm9rZURhdGE+IGNvcHkoKSBjb25zdDsKIAogICAgICAgICBib29sIG9wZXJh
dG9yPT0oY29uc3QgU3R5bGVTdHJva2VEYXRhJikgY29uc3Q7CiAgICAgICAgIGJvb2wgb3BlcmF0
b3IhPShjb25zdCBTdHlsZVN0cm9rZURhdGEmIG90aGVyKSBjb25zdApAQCAtMTU2LDcgKzE1Niw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBTdHlsZVN0b3BEYXRhIDogcHVibGlj
IFJlZkNvdW50ZWQ8U3R5bGVTdG9wRGF0YT4gewogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGlj
IFBhc3NSZWY8U3R5bGVTdG9wRGF0YT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBT
dHlsZVN0b3BEYXRhKTsgfQotICAgICAgICBQYXNzUmVmPFN0eWxlU3RvcERhdGE+IGNvcHkoKSBj
b25zdCB7IHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxlU3RvcERhdGEoKnRoaXMpKTsgfQorICAg
ICAgICBQYXNzUmVmPFN0eWxlU3RvcERhdGE+IGNvcHkoKSBjb25zdDsKIAogICAgICAgICBib29s
IG9wZXJhdG9yPT0oY29uc3QgU3R5bGVTdG9wRGF0YSYpIGNvbnN0OwogICAgICAgICBib29sIG9w
ZXJhdG9yIT0oY29uc3QgU3R5bGVTdG9wRGF0YSYgb3RoZXIpIGNvbnN0CkBAIC0xNzUsNyArMTc1
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFN0eWxlVGV4dERhdGEgOiBwdWJs
aWMgUmVmQ291bnRlZDxTdHlsZVRleHREYXRhPiB7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0
aWMgUGFzc1JlZjxTdHlsZVRleHREYXRhPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZigqbmV3
IFN0eWxlVGV4dERhdGEpOyB9Ci0gICAgICAgIFBhc3NSZWY8U3R5bGVUZXh0RGF0YT4gY29weSgp
IGNvbnN0IHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVUZXh0RGF0YSgqdGhpcykpOyB9Cisg
ICAgICAgIFBhc3NSZWY8U3R5bGVUZXh0RGF0YT4gY29weSgpIGNvbnN0OwogICAgICAgICAKICAg
ICAgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFN0eWxlVGV4dERhdGEmIG90aGVyKSBjb25zdDsK
ICAgICAgICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IFN0eWxlVGV4dERhdGEmIG90aGVyKSBjb25z
dApAQCAtMTk0LDcgKzE5NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBTdHls
ZU1pc2NEYXRhIDogcHVibGljIFJlZkNvdW50ZWQ8U3R5bGVNaXNjRGF0YT4gewogICAgIHB1Ymxp
YzoKICAgICAgICAgc3RhdGljIFBhc3NSZWY8U3R5bGVNaXNjRGF0YT4gY3JlYXRlKCkgeyByZXR1
cm4gYWRvcHRSZWYoKm5ldyBTdHlsZU1pc2NEYXRhKTsgfQotICAgICAgICBQYXNzUmVmPFN0eWxl
TWlzY0RhdGE+IGNvcHkoKSBjb25zdCB7IHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxlTWlzY0Rh
dGEoKnRoaXMpKTsgfQorICAgICAgICBQYXNzUmVmPFN0eWxlTWlzY0RhdGE+IGNvcHkoKSBjb25z
dDsKIAogICAgICAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgU3R5bGVNaXNjRGF0YSYpIGNvbnN0
OwogICAgICAgICBib29sIG9wZXJhdG9yIT0oY29uc3QgU3R5bGVNaXNjRGF0YSYgb3RoZXIpIGNv
bnN0CkBAIC0yMTcsNyArMjE3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFN0
eWxlU2hhZG93U1ZHRGF0YSA6IHB1YmxpYyBSZWZDb3VudGVkPFN0eWxlU2hhZG93U1ZHRGF0YT4g
ewogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWY8U3R5bGVTaGFkb3dTVkdEYXRh
PiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxlU2hhZG93U1ZHRGF0YSk7IH0K
LSAgICAgICAgUGFzc1JlZjxTdHlsZVNoYWRvd1NWR0RhdGE+IGNvcHkoKSBjb25zdCB7IHJldHVy
biBhZG9wdFJlZigqbmV3IFN0eWxlU2hhZG93U1ZHRGF0YSgqdGhpcykpOyB9CisgICAgICAgIFBh
c3NSZWY8U3R5bGVTaGFkb3dTVkdEYXRhPiBjb3B5KCkgY29uc3Q7CiAKICAgICAgICAgYm9vbCBv
cGVyYXRvcj09KGNvbnN0IFN0eWxlU2hhZG93U1ZHRGF0YSYpIGNvbnN0OwogICAgICAgICBib29s
IG9wZXJhdG9yIT0oY29uc3QgU3R5bGVTaGFkb3dTVkdEYXRhJiBvdGhlcikgY29uc3QKQEAgLTIz
Niw3ICsyMzYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgU3R5bGVSZXNvdXJj
ZURhdGEgOiBwdWJsaWMgUmVmQ291bnRlZDxTdHlsZVJlc291cmNlRGF0YT4gewogICAgIHB1Ymxp
YzoKICAgICAgICAgc3RhdGljIFBhc3NSZWY8U3R5bGVSZXNvdXJjZURhdGE+IGNyZWF0ZSgpIHsg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVSZXNvdXJjZURhdGEpOyB9Ci0gICAgICAgIFBhc3NS
ZWY8U3R5bGVSZXNvdXJjZURhdGE+IGNvcHkoKSBjb25zdCB7IHJldHVybiBhZG9wdFJlZigqbmV3
IFN0eWxlUmVzb3VyY2VEYXRhKCp0aGlzKSk7IH0KKyAgICAgICAgUGFzc1JlZjxTdHlsZVJlc291
cmNlRGF0YT4gY29weSgpIGNvbnN0OwogCiAgICAgICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBT
dHlsZVJlc291cmNlRGF0YSYpIGNvbnN0OwogICAgICAgICBib29sIG9wZXJhdG9yIT0oY29uc3Qg
U3R5bGVSZXNvdXJjZURhdGEmIG90aGVyKSBjb25zdApAQCAtMjU3LDcgKzI1Nyw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBTdHlsZUluaGVyaXRlZFJlc291cmNlRGF0YSA6IHB1
YmxpYyBSZWZDb3VudGVkPFN0eWxlSW5oZXJpdGVkUmVzb3VyY2VEYXRhPiB7CiAgICAgcHVibGlj
OgogICAgICAgICBzdGF0aWMgUGFzc1JlZjxTdHlsZUluaGVyaXRlZFJlc291cmNlRGF0YT4gY3Jl
YXRlKCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBTdHlsZUluaGVyaXRlZFJlc291cmNlRGF0YSk7
IH0KLSAgICAgICAgUGFzc1JlZjxTdHlsZUluaGVyaXRlZFJlc291cmNlRGF0YT4gY29weSgpIGNv
bnN0IHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVJbmhlcml0ZWRSZXNvdXJjZURhdGEoKnRo
aXMpKTsgfQorICAgICAgICBQYXNzUmVmPFN0eWxlSW5oZXJpdGVkUmVzb3VyY2VEYXRhPiBjb3B5
KCkgY29uc3Q7CiAKICAgICAgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFN0eWxlSW5oZXJpdGVk
UmVzb3VyY2VEYXRhJikgY29uc3Q7CiAgICAgICAgIGJvb2wgb3BlcmF0b3IhPShjb25zdCBTdHls
ZUluaGVyaXRlZFJlc291cmNlRGF0YSYgb3RoZXIpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVCYWNrZ3JvdW5kRGF0YS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVCYWNrZ3JvdW5kRGF0YS5jcHAKaW5kZXggOTQw
N2MxMi4uYzUxYjgyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1N0eWxlQmFja2dyb3VuZERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9TdHlsZUJhY2tncm91bmREYXRhLmNwcApAQCAtMzMsNyArMzMsNyBAQCBTdHlsZUJhY2tn
cm91bmREYXRhOjpTdHlsZUJhY2tncm91bmREYXRhKCkKIHsKIH0KIAotU3R5bGVCYWNrZ3JvdW5k
RGF0YTo6U3R5bGVCYWNrZ3JvdW5kRGF0YShjb25zdCBTdHlsZUJhY2tncm91bmREYXRhJiBvKQor
aW5saW5lIFN0eWxlQmFja2dyb3VuZERhdGE6OlN0eWxlQmFja2dyb3VuZERhdGEoY29uc3QgU3R5
bGVCYWNrZ3JvdW5kRGF0YSYgbykKICAgICA6IFJlZkNvdW50ZWQ8U3R5bGVCYWNrZ3JvdW5kRGF0
YT4oKQogICAgICwgbV9iYWNrZ3JvdW5kKG8ubV9iYWNrZ3JvdW5kKQogICAgICwgbV9jb2xvcihv
Lm1fY29sb3IpCkBAIC00MSw2ICs0MSwxMSBAQCBTdHlsZUJhY2tncm91bmREYXRhOjpTdHlsZUJh
Y2tncm91bmREYXRhKGNvbnN0IFN0eWxlQmFja2dyb3VuZERhdGEmIG8pCiB7CiB9CiAKK1Bhc3NS
ZWY8U3R5bGVCYWNrZ3JvdW5kRGF0YT4gU3R5bGVCYWNrZ3JvdW5kRGF0YTo6Y29weSgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVCYWNrZ3JvdW5kRGF0YSgqdGhpcykp
OworfQorCiBib29sIFN0eWxlQmFja2dyb3VuZERhdGE6Om9wZXJhdG9yPT0oY29uc3QgU3R5bGVC
YWNrZ3JvdW5kRGF0YSYgbykgY29uc3QKIHsKICAgICByZXR1cm4gbV9iYWNrZ3JvdW5kID09IG8u
bV9iYWNrZ3JvdW5kICYmIG1fY29sb3IgPT0gby5tX2NvbG9yICYmIG1fb3V0bGluZSA9PSBvLm1f
b3V0bGluZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHls
ZUJhY2tncm91bmREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVC
YWNrZ3JvdW5kRGF0YS5oCmluZGV4IDEzYjYxNTEuLmIyOTk2ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUJhY2tncm91bmREYXRhLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlQmFja2dyb3VuZERhdGEuaApAQCAtMzYs
NyArMzYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBTdHlsZUJhY2tncm91bmREYXRh
IDogcHVibGljIFJlZkNvdW50ZWQ8U3R5bGVCYWNrZ3JvdW5kRGF0YT4gewogcHVibGljOgogICAg
IHN0YXRpYyBQYXNzUmVmPFN0eWxlQmFja2dyb3VuZERhdGE+IGNyZWF0ZSgpIHsgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgU3R5bGVCYWNrZ3JvdW5kRGF0YSk7IH0KLSAgICBQYXNzUmVmPFN0eWxlQmFj
a2dyb3VuZERhdGE+IGNvcHkoKSBjb25zdCB7IHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxlQmFj
a2dyb3VuZERhdGEoKnRoaXMpKTsgfQorICAgIFBhc3NSZWY8U3R5bGVCYWNrZ3JvdW5kRGF0YT4g
Y29weSgpIGNvbnN0OwogICAgIH5TdHlsZUJhY2tncm91bmREYXRhKCkgeyB9CiAKICAgICBib29s
IG9wZXJhdG9yPT0oY29uc3QgU3R5bGVCYWNrZ3JvdW5kRGF0YSYgbykgY29uc3Q7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVCb3hEYXRhLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUJveERhdGEuY3BwCmluZGV4IDNmYzAw
YzguLmExMTg3ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
dHlsZUJveERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHls
ZUJveERhdGEuY3BwCkBAIC00OSw3ICs0OSw3IEBAIFN0eWxlQm94RGF0YTo6U3R5bGVCb3hEYXRh
KCkKIHsKIH0KIAotU3R5bGVCb3hEYXRhOjpTdHlsZUJveERhdGEoY29uc3QgU3R5bGVCb3hEYXRh
JiBvKQoraW5saW5lIFN0eWxlQm94RGF0YTo6U3R5bGVCb3hEYXRhKGNvbnN0IFN0eWxlQm94RGF0
YSYgbykKICAgICA6IFJlZkNvdW50ZWQ8U3R5bGVCb3hEYXRhPigpCiAgICAgLCBtX3dpZHRoKG8u
bV93aWR0aCkKICAgICAsIG1faGVpZ2h0KG8ubV9oZWlnaHQpCkBAIC02Nyw2ICs2NywxMSBAQCBT
dHlsZUJveERhdGE6OlN0eWxlQm94RGF0YShjb25zdCBTdHlsZUJveERhdGEmIG8pCiB7CiB9CiAK
K1Bhc3NSZWY8U3R5bGVCb3hEYXRhPiBTdHlsZUJveERhdGE6OmNvcHkoKSBjb25zdAoreworICAg
IHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxlQm94RGF0YSgqdGhpcykpOworfQorCiBib29sIFN0
eWxlQm94RGF0YTo6b3BlcmF0b3I9PShjb25zdCBTdHlsZUJveERhdGEmIG8pIGNvbnN0CiB7CiAg
ICAgcmV0dXJuIG1fd2lkdGggPT0gby5tX3dpZHRoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVCb3hEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvU3R5bGVCb3hEYXRhLmgKaW5kZXggOTVhZDkzZC4uMmM2ZDAzMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlQm94RGF0YS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUJveERhdGEuaApAQCAtMzUsNyArMzUs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBTdHlsZUJveERhdGEgOiBwdWJsaWMgUmVm
Q291bnRlZDxTdHlsZUJveERhdGE+IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZjxTdHls
ZUJveERhdGE+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVCb3hEYXRhKTsg
fQotICAgIFBhc3NSZWY8U3R5bGVCb3hEYXRhPiBjb3B5KCkgY29uc3QgeyByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBTdHlsZUJveERhdGEoKnRoaXMpKTsgfQorICAgIFBhc3NSZWY8U3R5bGVCb3hEYXRh
PiBjb3B5KCkgY29uc3Q7CiAKICAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgU3R5bGVCb3hEYXRh
JiBvKSBjb25zdDsKICAgICBib29sIG9wZXJhdG9yIT0oY29uc3QgU3R5bGVCb3hEYXRhJiBvKSBj
b25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlRGVw
cmVjYXRlZEZsZXhpYmxlQm94RGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvU3R5bGVEZXByZWNhdGVkRmxleGlibGVCb3hEYXRhLmNwcAppbmRleCAzM2M0Yzk4Li4zYzgz
NTkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVEZXBy
ZWNhdGVkRmxleGlibGVCb3hEYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvU3R5bGVEZXByZWNhdGVkRmxleGlibGVCb3hEYXRhLmNwcApAQCAtMzcsNyArMzcsNyBA
QCBTdHlsZURlcHJlY2F0ZWRGbGV4aWJsZUJveERhdGE6OlN0eWxlRGVwcmVjYXRlZEZsZXhpYmxl
Qm94RGF0YSgpCiB7CiB9CiAKLVN0eWxlRGVwcmVjYXRlZEZsZXhpYmxlQm94RGF0YTo6U3R5bGVE
ZXByZWNhdGVkRmxleGlibGVCb3hEYXRhKGNvbnN0IFN0eWxlRGVwcmVjYXRlZEZsZXhpYmxlQm94
RGF0YSYgbykKK2lubGluZSBTdHlsZURlcHJlY2F0ZWRGbGV4aWJsZUJveERhdGE6OlN0eWxlRGVw
cmVjYXRlZEZsZXhpYmxlQm94RGF0YShjb25zdCBTdHlsZURlcHJlY2F0ZWRGbGV4aWJsZUJveERh
dGEmIG8pCiAgICAgOiBSZWZDb3VudGVkPFN0eWxlRGVwcmVjYXRlZEZsZXhpYmxlQm94RGF0YT4o
KQogICAgICwgZmxleChvLmZsZXgpCiAgICAgLCBmbGV4X2dyb3VwKG8uZmxleF9ncm91cCkKQEAg
LTQ5LDYgKzQ5LDExIEBAIFN0eWxlRGVwcmVjYXRlZEZsZXhpYmxlQm94RGF0YTo6U3R5bGVEZXBy
ZWNhdGVkRmxleGlibGVCb3hEYXRhKGNvbnN0IFN0eWxlRGVwcmVjCiB7CiB9CiAKK1Bhc3NSZWY8
U3R5bGVEZXByZWNhdGVkRmxleGlibGVCb3hEYXRhPiBTdHlsZURlcHJlY2F0ZWRGbGV4aWJsZUJv
eERhdGE6OmNvcHkoKSBjb25zdAoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxlRGVw
cmVjYXRlZEZsZXhpYmxlQm94RGF0YSgqdGhpcykpOworfQorCiBib29sIFN0eWxlRGVwcmVjYXRl
ZEZsZXhpYmxlQm94RGF0YTo6b3BlcmF0b3I9PShjb25zdCBTdHlsZURlcHJlY2F0ZWRGbGV4aWJs
ZUJveERhdGEmIG8pIGNvbnN0CiB7CiAgICAgcmV0dXJuIGZsZXggPT0gby5mbGV4ICYmIGZsZXhf
Z3JvdXAgPT0gby5mbGV4X2dyb3VwICYmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvU3R5bGVEZXByZWNhdGVkRmxleGlibGVCb3hEYXRhLmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVEZXByZWNhdGVkRmxleGlibGVCb3hEYXRhLmgKaW5k
ZXggMjRlM2IyNS4uNjRjOWM3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1N0eWxlRGVwcmVjYXRlZEZsZXhpYmxlQm94RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZURlcHJlY2F0ZWRGbGV4aWJsZUJveERhdGEuaApAQCAt
MzMsNyArMzMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBTdHlsZURlcHJlY2F0ZWRG
bGV4aWJsZUJveERhdGEgOiBwdWJsaWMgUmVmQ291bnRlZDxTdHlsZURlcHJlY2F0ZWRGbGV4aWJs
ZUJveERhdGE+IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZjxTdHlsZURlcHJlY2F0ZWRG
bGV4aWJsZUJveERhdGE+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVEZXBy
ZWNhdGVkRmxleGlibGVCb3hEYXRhKTsgfQotICAgIFBhc3NSZWY8U3R5bGVEZXByZWNhdGVkRmxl
eGlibGVCb3hEYXRhPiBjb3B5KCkgY29uc3QgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBTdHlsZURl
cHJlY2F0ZWRGbGV4aWJsZUJveERhdGEoKnRoaXMpKTsgfQorICAgIFBhc3NSZWY8U3R5bGVEZXBy
ZWNhdGVkRmxleGlibGVCb3hEYXRhPiBjb3B5KCkgY29uc3Q7CiAKICAgICBib29sIG9wZXJhdG9y
PT0oY29uc3QgU3R5bGVEZXByZWNhdGVkRmxleGlibGVCb3hEYXRhJikgY29uc3Q7CiAgICAgYm9v
bCBvcGVyYXRvciE9KGNvbnN0IFN0eWxlRGVwcmVjYXRlZEZsZXhpYmxlQm94RGF0YSYgbykgY29u
c3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUZpbHRl
ckRhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlRmlsdGVyRGF0
YS5jcHAKaW5kZXggZTU1YjI1Yi4uZDFlYjk0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1N0eWxlRmlsdGVyRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1N0eWxlRmlsdGVyRGF0YS5jcHAKQEAgLTM5LDEyICszOSwxNyBAQCBT
dHlsZUZpbHRlckRhdGE6OlN0eWxlRmlsdGVyRGF0YSgpCiB7CiB9CiAKLVN0eWxlRmlsdGVyRGF0
YTo6U3R5bGVGaWx0ZXJEYXRhKGNvbnN0IFN0eWxlRmlsdGVyRGF0YSYgbykKK2lubGluZSBTdHls
ZUZpbHRlckRhdGE6OlN0eWxlRmlsdGVyRGF0YShjb25zdCBTdHlsZUZpbHRlckRhdGEmIG8pCiAg
ICAgOiBSZWZDb3VudGVkPFN0eWxlRmlsdGVyRGF0YT4oKQogICAgICwgbV9vcGVyYXRpb25zKG8u
bV9vcGVyYXRpb25zKQogewogfQogCitQYXNzUmVmPFN0eWxlRmlsdGVyRGF0YT4gU3R5bGVGaWx0
ZXJEYXRhOjpjb3B5KCkgY29uc3QKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTdHlsZUZp
bHRlckRhdGEoKnRoaXMpKTsKK30KKwogYm9vbCBTdHlsZUZpbHRlckRhdGE6Om9wZXJhdG9yPT0o
Y29uc3QgU3R5bGVGaWx0ZXJEYXRhJiBvKSBjb25zdAogewogICAgIHJldHVybiBtX29wZXJhdGlv
bnMgPT0gby5tX29wZXJhdGlvbnM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvU3R5bGVGaWx0ZXJEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvU3R5bGVGaWx0ZXJEYXRhLmgKaW5kZXggYTRkZDEwZS4uMjVlMmY3YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlRmlsdGVyRGF0YS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUZpbHRlckRhdGEuaApAQCAtMzcsNyAr
MzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBTdHlsZUZpbHRlckRhdGEgOiBwdWJs
aWMgUmVmQ291bnRlZDxTdHlsZUZpbHRlckRhdGE+IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFz
c1JlZjxTdHlsZUZpbHRlckRhdGE+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5
bGVGaWx0ZXJEYXRhKTsgfQotICAgIFBhc3NSZWY8U3R5bGVGaWx0ZXJEYXRhPiBjb3B5KCkgY29u
c3QgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBTdHlsZUZpbHRlckRhdGEoKnRoaXMpKTsgfQorICAg
IFBhc3NSZWY8U3R5bGVGaWx0ZXJEYXRhPiBjb3B5KCkgY29uc3Q7CiAKICAgICBib29sIG9wZXJh
dG9yPT0oY29uc3QgU3R5bGVGaWx0ZXJEYXRhJikgY29uc3Q7CiAgICAgYm9vbCBvcGVyYXRvciE9
KGNvbnN0IFN0eWxlRmlsdGVyRGF0YSYgbykgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUZsZXhpYmxlQm94RGF0YS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVGbGV4aWJsZUJveERhdGEuY3BwCmluZGV4IGE3Y2Zh
YzEuLjc3NTg4NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
dHlsZUZsZXhpYmxlQm94RGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1N0eWxlRmxleGlibGVCb3hEYXRhLmNwcApAQCAtMzksNyArMzksNyBAQCBTdHlsZUZsZXhp
YmxlQm94RGF0YTo6U3R5bGVGbGV4aWJsZUJveERhdGEoKQogewogfQogCi1TdHlsZUZsZXhpYmxl
Qm94RGF0YTo6U3R5bGVGbGV4aWJsZUJveERhdGEoY29uc3QgU3R5bGVGbGV4aWJsZUJveERhdGEm
IG8pCitpbmxpbmUgU3R5bGVGbGV4aWJsZUJveERhdGE6OlN0eWxlRmxleGlibGVCb3hEYXRhKGNv
bnN0IFN0eWxlRmxleGlibGVCb3hEYXRhJiBvKQogICAgIDogUmVmQ291bnRlZDxTdHlsZUZsZXhp
YmxlQm94RGF0YT4oKQogICAgICwgbV9mbGV4R3JvdyhvLm1fZmxleEdyb3cpCiAgICAgLCBtX2Zs
ZXhTaHJpbmsoby5tX2ZsZXhTaHJpbmspCkBAIC00OSw2ICs0OSwxMSBAQCBTdHlsZUZsZXhpYmxl
Qm94RGF0YTo6U3R5bGVGbGV4aWJsZUJveERhdGEoY29uc3QgU3R5bGVGbGV4aWJsZUJveERhdGEm
IG8pCiB7CiB9CiAKK1Bhc3NSZWY8U3R5bGVGbGV4aWJsZUJveERhdGE+IFN0eWxlRmxleGlibGVC
b3hEYXRhOjpjb3B5KCkgY29uc3QKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTdHlsZUZs
ZXhpYmxlQm94RGF0YSgqdGhpcykpOworfQorCiBib29sIFN0eWxlRmxleGlibGVCb3hEYXRhOjpv
cGVyYXRvcj09KGNvbnN0IFN0eWxlRmxleGlibGVCb3hEYXRhJiBvKSBjb25zdAogewogICAgIHJl
dHVybiBtX2ZsZXhHcm93ID09IG8ubV9mbGV4R3JvdyAmJiBtX2ZsZXhTaHJpbmsgPT0gby5tX2Zs
ZXhTaHJpbmsgJiYgbV9mbGV4QmFzaXMgPT0gby5tX2ZsZXhCYXNpcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlRmxleGlibGVCb3hEYXRhLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVGbGV4aWJsZUJveERhdGEuaAppbmRleCAw
ZTU0Y2YzLi4wZTMzNTJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvU3R5bGVGbGV4aWJsZUJveERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvU3R5bGVGbGV4aWJsZUJveERhdGEuaApAQCAtMzYsNyArMzYsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiBjbGFzcyBTdHlsZUZsZXhpYmxlQm94RGF0YSA6IHB1YmxpYyBSZWZDb3VudGVk
PFN0eWxlRmxleGlibGVCb3hEYXRhPiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWY8U3R5
bGVGbGV4aWJsZUJveERhdGE+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVG
bGV4aWJsZUJveERhdGEpOyB9Ci0gICAgUGFzc1JlZjxTdHlsZUZsZXhpYmxlQm94RGF0YT4gY29w
eSgpIGNvbnN0IHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVGbGV4aWJsZUJveERhdGEoKnRo
aXMpKTsgfQorICAgIFBhc3NSZWY8U3R5bGVGbGV4aWJsZUJveERhdGE+IGNvcHkoKSBjb25zdDsK
IAogICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBTdHlsZUZsZXhpYmxlQm94RGF0YSYpIGNvbnN0
OwogICAgIGJvb2wgb3BlcmF0b3IhPShjb25zdCBTdHlsZUZsZXhpYmxlQm94RGF0YSYgbykgY29u
c3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUdyaWRE
YXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUdyaWREYXRhLmNw
cAppbmRleCBlNWQxODNmLi4xMGVjY2MwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvU3R5bGVHcmlkRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1N0eWxlR3JpZERhdGEuY3BwCkBAIC00NCw3ICs0NCw3IEBAIFN0eWxlR3JpZERh
dGE6OlN0eWxlR3JpZERhdGEoKQogewogfQogCi1TdHlsZUdyaWREYXRhOjpTdHlsZUdyaWREYXRh
KGNvbnN0IFN0eWxlR3JpZERhdGEmIG8pCitpbmxpbmUgU3R5bGVHcmlkRGF0YTo6U3R5bGVHcmlk
RGF0YShjb25zdCBTdHlsZUdyaWREYXRhJiBvKQogICAgIDogUmVmQ291bnRlZDxTdHlsZUdyaWRE
YXRhPigpCiAgICAgLCBtX2dyaWRDb2x1bW5zKG8ubV9ncmlkQ29sdW1ucykKICAgICAsIG1fZ3Jp
ZFJvd3Moby5tX2dyaWRSb3dzKQpAQCAtNTksNSArNTksMTAgQEAgU3R5bGVHcmlkRGF0YTo6U3R5
bGVHcmlkRGF0YShjb25zdCBTdHlsZUdyaWREYXRhJiBvKQogewogfQogCitQYXNzUmVmPFN0eWxl
R3JpZERhdGE+IFN0eWxlR3JpZERhdGE6OmNvcHkoKSBjb25zdAoreworICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IFN0eWxlR3JpZERhdGEoKnRoaXMpKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVH
cmlkRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlR3JpZERhdGEu
aAppbmRleCA3ZGQ1YTVmLi43ZmU0Yzk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvU3R5bGVHcmlkRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9TdHlsZUdyaWREYXRhLmgKQEAgLTQxLDcgKzQxLDcgQEAgdHlwZWRlZiBIYXNoTWFw
PFN0cmluZywgVmVjdG9yPHNpemVfdD4+IE5hbWVkR3JpZExpbmVzTWFwOwogY2xhc3MgU3R5bGVH
cmlkRGF0YSA6IHB1YmxpYyBSZWZDb3VudGVkPFN0eWxlR3JpZERhdGE+IHsKIHB1YmxpYzoKICAg
ICBzdGF0aWMgUGFzc1JlZjxTdHlsZUdyaWREYXRhPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJl
ZigqbmV3IFN0eWxlR3JpZERhdGEpOyB9Ci0gICAgUGFzc1JlZjxTdHlsZUdyaWREYXRhPiBjb3B5
KCkgY29uc3QgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBTdHlsZUdyaWREYXRhKCp0aGlzKSk7IH0K
KyAgICBQYXNzUmVmPFN0eWxlR3JpZERhdGE+IGNvcHkoKSBjb25zdDsKIAogICAgIGJvb2wgb3Bl
cmF0b3I9PShjb25zdCBTdHlsZUdyaWREYXRhJiBvKSBjb25zdAogICAgIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUdyaWRJdGVtRGF0YS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVHcmlkSXRlbURhdGEuY3BwCmluZGV4
IDRjZmNmNWIuLjBjOTkyOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9TdHlsZUdyaWRJdGVtRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1N0eWxlR3JpZEl0ZW1EYXRhLmNwcApAQCAtNDIsNyArNDIsNyBAQCBTdHlsZUdyaWRJ
dGVtRGF0YTo6U3R5bGVHcmlkSXRlbURhdGEoKQogewogfQogCi1TdHlsZUdyaWRJdGVtRGF0YTo6
U3R5bGVHcmlkSXRlbURhdGEoY29uc3QgU3R5bGVHcmlkSXRlbURhdGEmIG8pCitpbmxpbmUgU3R5
bGVHcmlkSXRlbURhdGE6OlN0eWxlR3JpZEl0ZW1EYXRhKGNvbnN0IFN0eWxlR3JpZEl0ZW1EYXRh
JiBvKQogICAgIDogUmVmQ291bnRlZDxTdHlsZUdyaWRJdGVtRGF0YT4oKQogICAgICwgbV9ncmlk
Q29sdW1uU3RhcnQoby5tX2dyaWRDb2x1bW5TdGFydCkKICAgICAsIG1fZ3JpZENvbHVtbkVuZChv
Lm1fZ3JpZENvbHVtbkVuZCkKQEAgLTUxLDQgKzUxLDkgQEAgU3R5bGVHcmlkSXRlbURhdGE6OlN0
eWxlR3JpZEl0ZW1EYXRhKGNvbnN0IFN0eWxlR3JpZEl0ZW1EYXRhJiBvKQogewogfQogCitQYXNz
UmVmPFN0eWxlR3JpZEl0ZW1EYXRhPiBTdHlsZUdyaWRJdGVtRGF0YTo6Y29weSgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVHcmlkSXRlbURhdGEoKnRoaXMpKTsKK30K
KwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1N0eWxlR3JpZEl0ZW1EYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvU3R5bGVHcmlkSXRlbURhdGEuaAppbmRleCBlMzIxMTIwLi5jMGY5ZDk4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVHcmlkSXRlbURhdGEu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVHcmlkSXRlbURhdGEu
aApAQCAtNDIsNyArNDIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBTdHlsZUdyaWRJ
dGVtRGF0YSA6IHB1YmxpYyBSZWZDb3VudGVkPFN0eWxlR3JpZEl0ZW1EYXRhPiB7CiBwdWJsaWM6
CiAgICAgc3RhdGljIFBhc3NSZWY8U3R5bGVHcmlkSXRlbURhdGE+IGNyZWF0ZSgpIHsgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgU3R5bGVHcmlkSXRlbURhdGEpOyB9Ci0gICAgUGFzc1JlZjxTdHlsZUdy
aWRJdGVtRGF0YT4gY29weSgpIGNvbnN0IHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVHcmlk
SXRlbURhdGEoKnRoaXMpKTsgfQorICAgIFBhc3NSZWY8U3R5bGVHcmlkSXRlbURhdGE+IGNvcHko
KSBjb25zdDsKIAogICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBTdHlsZUdyaWRJdGVtRGF0YSYg
bykgY29uc3QKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvU3R5bGVJbmhlcml0ZWREYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9TdHlsZUluaGVyaXRlZERhdGEuY3BwCmluZGV4IGI4NzI2MGYuLjdmMmUxYzUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUluaGVyaXRlZERhdGEuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUluaGVyaXRlZERhdGEu
Y3BwCkBAIC00Miw3ICs0Miw3IEBAIFN0eWxlSW5oZXJpdGVkRGF0YTo6flN0eWxlSW5oZXJpdGVk
RGF0YSgpCiB7CiB9CiAKLVN0eWxlSW5oZXJpdGVkRGF0YTo6U3R5bGVJbmhlcml0ZWREYXRhKGNv
bnN0IFN0eWxlSW5oZXJpdGVkRGF0YSYgbykKK2lubGluZSBTdHlsZUluaGVyaXRlZERhdGE6OlN0
eWxlSW5oZXJpdGVkRGF0YShjb25zdCBTdHlsZUluaGVyaXRlZERhdGEmIG8pCiAgICAgOiBSZWZD
b3VudGVkPFN0eWxlSW5oZXJpdGVkRGF0YT4oKQogICAgICwgaG9yaXpvbnRhbF9ib3JkZXJfc3Bh
Y2luZyhvLmhvcml6b250YWxfYm9yZGVyX3NwYWNpbmcpCiAgICAgLCB2ZXJ0aWNhbF9ib3JkZXJf
c3BhY2luZyhvLnZlcnRpY2FsX2JvcmRlcl9zcGFjaW5nKQpAQCAtNTYsNiArNTYsMTEgQEAgU3R5
bGVJbmhlcml0ZWREYXRhOjpTdHlsZUluaGVyaXRlZERhdGEoY29uc3QgU3R5bGVJbmhlcml0ZWRE
YXRhJiBvKQogewogfQogCitQYXNzUmVmPFN0eWxlSW5oZXJpdGVkRGF0YT4gU3R5bGVJbmhlcml0
ZWREYXRhOjpjb3B5KCkgY29uc3QKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTdHlsZUlu
aGVyaXRlZERhdGEoKnRoaXMpKTsKK30KKwogYm9vbCBTdHlsZUluaGVyaXRlZERhdGE6Om9wZXJh
dG9yPT0oY29uc3QgU3R5bGVJbmhlcml0ZWREYXRhJiBvKSBjb25zdAogewogICAgIHJldHVybiBs
aW5lX2hlaWdodCA9PSBvLmxpbmVfaGVpZ2h0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvU3R5bGVJbmhlcml0ZWREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvU3R5bGVJbmhlcml0ZWREYXRhLmgKaW5kZXggN2M2ZTViOS4uYTY1YmVmZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlSW5oZXJpdGVk
RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUluaGVyaXRl
ZERhdGEuaApAQCAtMzcsNyArMzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBTdHls
ZUluaGVyaXRlZERhdGEgOiBwdWJsaWMgUmVmQ291bnRlZDxTdHlsZUluaGVyaXRlZERhdGE+IHsK
IHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZjxTdHlsZUluaGVyaXRlZERhdGE+IGNyZWF0ZSgp
IHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVJbmhlcml0ZWREYXRhKTsgfQotICAgIFBhc3NS
ZWY8U3R5bGVJbmhlcml0ZWREYXRhPiBjb3B5KCkgY29uc3QgeyByZXR1cm4gYWRvcHRSZWYoKm5l
dyBTdHlsZUluaGVyaXRlZERhdGEoKnRoaXMpKTsgfQorICAgIFBhc3NSZWY8U3R5bGVJbmhlcml0
ZWREYXRhPiBjb3B5KCkgY29uc3Q7CiAgICAgflN0eWxlSW5oZXJpdGVkRGF0YSgpOwogCiAgICAg
Ym9vbCBvcGVyYXRvcj09KGNvbnN0IFN0eWxlSW5oZXJpdGVkRGF0YSYgbykgY29uc3Q7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVNYXJxdWVlRGF0YS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVNYXJxdWVlRGF0YS5jcHAK
aW5kZXggZjBlODI0ZC4uNWUyNWU0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1N0eWxlTWFycXVlZURhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9TdHlsZU1hcnF1ZWVEYXRhLmNwcApAQCAtMzUsNyArMzUsNyBAQCBTdHlsZU1h
cnF1ZWVEYXRhOjpTdHlsZU1hcnF1ZWVEYXRhKCkKIHsKIH0KIAotU3R5bGVNYXJxdWVlRGF0YTo6
U3R5bGVNYXJxdWVlRGF0YShjb25zdCBTdHlsZU1hcnF1ZWVEYXRhJiBvKQoraW5saW5lIFN0eWxl
TWFycXVlZURhdGE6OlN0eWxlTWFycXVlZURhdGEoY29uc3QgU3R5bGVNYXJxdWVlRGF0YSYgbykK
ICAgICA6IFJlZkNvdW50ZWQ8U3R5bGVNYXJxdWVlRGF0YT4oKQogICAgICwgaW5jcmVtZW50KG8u
aW5jcmVtZW50KQogICAgICwgc3BlZWQoby5zcGVlZCkKQEAgLTQ1LDYgKzQ1LDExIEBAIFN0eWxl
TWFycXVlZURhdGE6OlN0eWxlTWFycXVlZURhdGEoY29uc3QgU3R5bGVNYXJxdWVlRGF0YSYgbykK
IHsKIH0KIAorUGFzc1JlZjxTdHlsZU1hcnF1ZWVEYXRhPiBTdHlsZU1hcnF1ZWVEYXRhOjpjb3B5
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTdHlsZU1hcnF1ZWVEYXRhKCp0
aGlzKSk7Cit9CisKIGJvb2wgU3R5bGVNYXJxdWVlRGF0YTo6b3BlcmF0b3I9PShjb25zdCBTdHls
ZU1hcnF1ZWVEYXRhJiBvKSBjb25zdAogewogICAgIHJldHVybiBpbmNyZW1lbnQgPT0gby5pbmNy
ZW1lbnQgJiYgc3BlZWQgPT0gby5zcGVlZCAmJiBkaXJlY3Rpb24gPT0gby5kaXJlY3Rpb24gJiYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZU1hcnF1ZWVE
YXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVNYXJxdWVlRGF0YS5o
CmluZGV4IDA1MGE1ZDEuLjY5ZTlkY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9TdHlsZU1hcnF1ZWVEYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1N0eWxlTWFycXVlZURhdGEuaApAQCAtMzUsNyArMzUsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiBjbGFzcyBTdHlsZU1hcnF1ZWVEYXRhIDogcHVibGljIFJlZkNvdW50ZWQ8U3R5
bGVNYXJxdWVlRGF0YT4gewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmPFN0eWxlTWFycXVl
ZURhdGE+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVNYXJxdWVlRGF0YSk7
IH0KLSAgICBQYXNzUmVmPFN0eWxlTWFycXVlZURhdGE+IGNvcHkoKSBjb25zdCB7IHJldHVybiBh
ZG9wdFJlZigqbmV3IFN0eWxlTWFycXVlZURhdGEoKnRoaXMpKTsgfQorICAgIFBhc3NSZWY8U3R5
bGVNYXJxdWVlRGF0YT4gY29weSgpIGNvbnN0OwogCiAgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0
IFN0eWxlTWFycXVlZURhdGEmIG8pIGNvbnN0OwogICAgIGJvb2wgb3BlcmF0b3IhPShjb25zdCBT
dHlsZU1hcnF1ZWVEYXRhJiBvKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1N0eWxlTXVsdGlDb2xEYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9TdHlsZU11bHRpQ29sRGF0YS5jcHAKaW5kZXggMTlhMGQ3Yy4uNjhiNjE3OCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlTXVsdGlDb2xE
YXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVNdWx0aUNv
bERhdGEuY3BwCkBAIC00Myw3ICs0Myw3IEBAIFN0eWxlTXVsdGlDb2xEYXRhOjpTdHlsZU11bHRp
Q29sRGF0YSgpCiB7CiB9CiAKLVN0eWxlTXVsdGlDb2xEYXRhOjpTdHlsZU11bHRpQ29sRGF0YShj
b25zdCBTdHlsZU11bHRpQ29sRGF0YSYgbykKK2lubGluZSBTdHlsZU11bHRpQ29sRGF0YTo6U3R5
bGVNdWx0aUNvbERhdGEoY29uc3QgU3R5bGVNdWx0aUNvbERhdGEmIG8pCiAgICAgOiBSZWZDb3Vu
dGVkPFN0eWxlTXVsdGlDb2xEYXRhPigpCiAgICAgLCBtX3dpZHRoKG8ubV93aWR0aCkKICAgICAs
IG1fY291bnQoby5tX2NvdW50KQpAQCAtNjMsNiArNjMsMTEgQEAgU3R5bGVNdWx0aUNvbERhdGE6
OlN0eWxlTXVsdGlDb2xEYXRhKGNvbnN0IFN0eWxlTXVsdGlDb2xEYXRhJiBvKQogewogfQogCitQ
YXNzUmVmPFN0eWxlTXVsdGlDb2xEYXRhPiBTdHlsZU11bHRpQ29sRGF0YTo6Y29weSgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVNdWx0aUNvbERhdGEoKnRoaXMpKTsK
K30KKwogYm9vbCBTdHlsZU11bHRpQ29sRGF0YTo6b3BlcmF0b3I9PShjb25zdCBTdHlsZU11bHRp
Q29sRGF0YSYgbykgY29uc3QKIHsKICAgICByZXR1cm4gbV93aWR0aCA9PSBvLm1fd2lkdGggJiYg
bV9jb3VudCA9PSBvLm1fY291bnQgJiYgbV9nYXAgPT0gby5tX2dhcApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlTXVsdGlDb2xEYXRhLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVNdWx0aUNvbERhdGEuaAppbmRleCA0OTE1NzA3
Li4wZTQyZTZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5
bGVNdWx0aUNvbERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5
bGVNdWx0aUNvbERhdGEuaApAQCAtMzgsNyArMzgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBj
bGFzcyBTdHlsZU11bHRpQ29sRGF0YSA6IHB1YmxpYyBSZWZDb3VudGVkPFN0eWxlTXVsdGlDb2xE
YXRhPiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWY8U3R5bGVNdWx0aUNvbERhdGE+IGNy
ZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVNdWx0aUNvbERhdGEpOyB9Ci0gICAg
UGFzc1JlZjxTdHlsZU11bHRpQ29sRGF0YT4gY29weSgpIGNvbnN0IHsgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgU3R5bGVNdWx0aUNvbERhdGEoKnRoaXMpKTsgfQorICAgIFBhc3NSZWY8U3R5bGVNdWx0
aUNvbERhdGE+IGNvcHkoKSBjb25zdDsKICAgICAKICAgICBib29sIG9wZXJhdG9yPT0oY29uc3Qg
U3R5bGVNdWx0aUNvbERhdGEmIG8pIGNvbnN0OwogICAgIGJvb2wgb3BlcmF0b3IhPShjb25zdCBT
dHlsZU11bHRpQ29sRGF0YSAmbykgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcAppbmRleCAyNmNjZWRj
Li4xNGFlZGU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5
bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwCkBAIC0xMzUsNyArMTM1LDcgQEAgU3R5bGVS
YXJlSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0YSgpCiB7CiB9CiAKLVN0eWxl
UmFyZUluaGVyaXRlZERhdGE6OlN0eWxlUmFyZUluaGVyaXRlZERhdGEoY29uc3QgU3R5bGVSYXJl
SW5oZXJpdGVkRGF0YSYgbykKK2lubGluZSBTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpTdHlsZVJh
cmVJbmhlcml0ZWREYXRhKGNvbnN0IFN0eWxlUmFyZUluaGVyaXRlZERhdGEmIG8pCiAgICAgOiBS
ZWZDb3VudGVkPFN0eWxlUmFyZUluaGVyaXRlZERhdGE+KCkKICAgICAsIGxpc3RTdHlsZUltYWdl
KG8ubGlzdFN0eWxlSW1hZ2UpCiAgICAgLCB0ZXh0U3Ryb2tlQ29sb3Ioby50ZXh0U3Ryb2tlQ29s
b3IpCkBAIC0yMTksNiArMjE5LDExIEBAIFN0eWxlUmFyZUluaGVyaXRlZERhdGE6OlN0eWxlUmFy
ZUluaGVyaXRlZERhdGEoY29uc3QgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YSYgbykKIHsKIH0KIAor
UGFzc1JlZjxTdHlsZVJhcmVJbmhlcml0ZWREYXRhPiBTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpj
b3B5KCkgY29uc3QKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTdHlsZVJhcmVJbmhlcml0
ZWREYXRhKCp0aGlzKSk7Cit9CisKIFN0eWxlUmFyZUluaGVyaXRlZERhdGE6On5TdHlsZVJhcmVJ
bmhlcml0ZWREYXRhKCkKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5oCmluZGV4IDA0OTc3ODQuLjBlMWNiNWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhl
cml0ZWREYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFy
ZUluaGVyaXRlZERhdGEuaApAQCAtNDgsNyArNDgsNyBAQCBjbGFzcyBTdHlsZUltYWdlOwogY2xh
c3MgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YSA6IHB1YmxpYyBSZWZDb3VudGVkPFN0eWxlUmFyZUlu
aGVyaXRlZERhdGE+IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZjxTdHlsZVJhcmVJbmhl
cml0ZWREYXRhPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxlUmFyZUluaGVy
aXRlZERhdGEpOyB9Ci0gICAgUGFzc1JlZjxTdHlsZVJhcmVJbmhlcml0ZWREYXRhPiBjb3B5KCkg
Y29uc3QgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBTdHlsZVJhcmVJbmhlcml0ZWREYXRhKCp0aGlz
KSk7IH0KKyAgICBQYXNzUmVmPFN0eWxlUmFyZUluaGVyaXRlZERhdGE+IGNvcHkoKSBjb25zdDsK
ICAgICB+U3R5bGVSYXJlSW5oZXJpdGVkRGF0YSgpOwogCiAgICAgYm9vbCBvcGVyYXRvcj09KGNv
bnN0IFN0eWxlUmFyZUluaGVyaXRlZERhdGEmIG8pIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEu
Y3BwCmluZGV4IDQ2ZmFjNDguLjk1ZjA3NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAKQEAg
LTEwMyw3ICsxMDMsNyBAQCBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpTdHlsZVJhcmVOb25J
bmhlcml0ZWREYXRhKCkKICAgICBtX21hc2tCb3hJbWFnZS5zZXRNYXNrRGVmYXVsdHMoKTsKIH0K
IAotU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YShj
b25zdCBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhJiBvKQoraW5saW5lIFN0eWxlUmFyZU5vbklu
aGVyaXRlZERhdGE6OlN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEoY29uc3QgU3R5bGVSYXJlTm9u
SW5oZXJpdGVkRGF0YSYgbykKICAgICA6IFJlZkNvdW50ZWQ8U3R5bGVSYXJlTm9uSW5oZXJpdGVk
RGF0YT4oKQogICAgICwgb3BhY2l0eShvLm9wYWNpdHkpCiAgICAgLCBtX2FzcGVjdFJhdGlvRGVu
b21pbmF0b3Ioby5tX2FzcGVjdFJhdGlvRGVub21pbmF0b3IpCkBAIC0xODksNiArMTg5LDExIEBA
IFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6OlN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEoY29u
c3QgU3R5bGVSYXJlTm9uSW5oZXJpdGVkCiB7CiB9CiAKK1Bhc3NSZWY8U3R5bGVSYXJlTm9uSW5o
ZXJpdGVkRGF0YT4gU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6Y29weSgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YSgqdGhpcykp
OworfQorCiBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjp+U3R5bGVSYXJlTm9uSW5oZXJpdGVk
RGF0YSgpCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuaAppbmRleCA0NWE5NjY1Li42OTM1YzAyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5o
ZXJpdGVkRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJh
cmVOb25Jbmhlcml0ZWREYXRhLmgKQEAgLTc4LDcgKzc4LDcgQEAgZW51bSBQYWdlU2l6ZVR5cGUg
ewogY2xhc3MgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YSA6IHB1YmxpYyBSZWZDb3VudGVkPFN0
eWxlUmFyZU5vbkluaGVyaXRlZERhdGE+IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZjxT
dHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZigqbmV3
IFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEpOyB9Ci0gICAgUGFzc1JlZjxTdHlsZVJhcmVOb25J
bmhlcml0ZWREYXRhPiBjb3B5KCkgY29uc3QgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBTdHlsZVJh
cmVOb25Jbmhlcml0ZWREYXRhKCp0aGlzKSk7IH0KKyAgICBQYXNzUmVmPFN0eWxlUmFyZU5vbklu
aGVyaXRlZERhdGE+IGNvcHkoKSBjb25zdDsKICAgICB+U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0
YSgpOwogICAgIAogICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBTdHlsZVJhcmVOb25Jbmhlcml0
ZWREYXRhJikgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvU3R5bGVTdXJyb3VuZERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1N0eWxlU3Vycm91bmREYXRhLmNwcAppbmRleCA4ZDVlNzljLi43NjZhNzBmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVTdXJyb3VuZERhdGEuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVN1cnJvdW5kRGF0YS5jcHAK
QEAgLTMwLDcgKzMwLDcgQEAgU3R5bGVTdXJyb3VuZERhdGE6OlN0eWxlU3Vycm91bmREYXRhKCkK
IHsKIH0KIAotU3R5bGVTdXJyb3VuZERhdGE6OlN0eWxlU3Vycm91bmREYXRhKGNvbnN0IFN0eWxl
U3Vycm91bmREYXRhJiBvKQoraW5saW5lIFN0eWxlU3Vycm91bmREYXRhOjpTdHlsZVN1cnJvdW5k
RGF0YShjb25zdCBTdHlsZVN1cnJvdW5kRGF0YSYgbykKICAgICA6IFJlZkNvdW50ZWQ8U3R5bGVT
dXJyb3VuZERhdGE+KCkKICAgICAsIG9mZnNldChvLm9mZnNldCkKICAgICAsIG1hcmdpbihvLm1h
cmdpbikKQEAgLTM5LDYgKzM5LDExIEBAIFN0eWxlU3Vycm91bmREYXRhOjpTdHlsZVN1cnJvdW5k
RGF0YShjb25zdCBTdHlsZVN1cnJvdW5kRGF0YSYgbykKIHsKIH0KIAorUGFzc1JlZjxTdHlsZVN1
cnJvdW5kRGF0YT4gU3R5bGVTdXJyb3VuZERhdGE6OmNvcHkoKSBjb25zdAoreworICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IFN0eWxlU3Vycm91bmREYXRhKCp0aGlzKSk7Cit9CisKIGJvb2wgU3R5
bGVTdXJyb3VuZERhdGE6Om9wZXJhdG9yPT0oY29uc3QgU3R5bGVTdXJyb3VuZERhdGEmIG8pIGNv
bnN0CiB7CiAgICAgcmV0dXJuIG9mZnNldCA9PSBvLm9mZnNldCAmJiBtYXJnaW4gPT0gby5tYXJn
aW4gJiYgcGFkZGluZyA9PSBvLnBhZGRpbmcgJiYgYm9yZGVyID09IG8uYm9yZGVyOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlU3Vycm91bmREYXRhLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVTdXJyb3VuZERhdGEuaAppbmRl
eCBmNDIzZjM3Li4wZGNlMzE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvU3R5bGVTdXJyb3VuZERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvU3R5bGVTdXJyb3VuZERhdGEuaApAQCAtMzUsNyArMzUsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiBjbGFzcyBTdHlsZVN1cnJvdW5kRGF0YSA6IHB1YmxpYyBSZWZDb3VudGVkPFN0eWxl
U3Vycm91bmREYXRhPiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWY8U3R5bGVTdXJyb3Vu
ZERhdGE+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVTdXJyb3VuZERhdGEp
OyB9Ci0gICAgUGFzc1JlZjxTdHlsZVN1cnJvdW5kRGF0YT4gY29weSgpIGNvbnN0IHsgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgU3R5bGVTdXJyb3VuZERhdGEoKnRoaXMpKTsgfQorICAgIFBhc3NSZWY8
U3R5bGVTdXJyb3VuZERhdGE+IGNvcHkoKSBjb25zdDsKICAgICAKICAgICBib29sIG9wZXJhdG9y
PT0oY29uc3QgU3R5bGVTdXJyb3VuZERhdGEmIG8pIGNvbnN0OwogICAgIGJvb2wgb3BlcmF0b3Ih
PShjb25zdCBTdHlsZVN1cnJvdW5kRGF0YSYgbykgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVRyYW5zZm9ybURhdGEuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlVHJhbnNmb3JtRGF0YS5jcHAKaW5kZXggMmJhZWJm
OS4uYzNmOTFlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0
eWxlVHJhbnNmb3JtRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1N0eWxlVHJhbnNmb3JtRGF0YS5jcHAKQEAgLTM0LDcgKzM0LDcgQEAgU3R5bGVUcmFuc2Zvcm1E
YXRhOjpTdHlsZVRyYW5zZm9ybURhdGEoKQogewogfQogCi1TdHlsZVRyYW5zZm9ybURhdGE6OlN0
eWxlVHJhbnNmb3JtRGF0YShjb25zdCBTdHlsZVRyYW5zZm9ybURhdGEmIG8pCitpbmxpbmUgU3R5
bGVUcmFuc2Zvcm1EYXRhOjpTdHlsZVRyYW5zZm9ybURhdGEoY29uc3QgU3R5bGVUcmFuc2Zvcm1E
YXRhJiBvKQogICAgIDogUmVmQ291bnRlZDxTdHlsZVRyYW5zZm9ybURhdGE+KCkKICAgICAsIG1f
b3BlcmF0aW9ucyhvLm1fb3BlcmF0aW9ucykKICAgICAsIG1feChvLm1feCkKQEAgLTQzLDYgKzQz
LDExIEBAIFN0eWxlVHJhbnNmb3JtRGF0YTo6U3R5bGVUcmFuc2Zvcm1EYXRhKGNvbnN0IFN0eWxl
VHJhbnNmb3JtRGF0YSYgbykKIHsKIH0KIAorUGFzc1JlZjxTdHlsZVRyYW5zZm9ybURhdGE+IFN0
eWxlVHJhbnNmb3JtRGF0YTo6Y29weSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgU3R5bGVUcmFuc2Zvcm1EYXRhKCp0aGlzKSk7Cit9CisKIGJvb2wgU3R5bGVUcmFuc2Zvcm1E
YXRhOjpvcGVyYXRvcj09KGNvbnN0IFN0eWxlVHJhbnNmb3JtRGF0YSYgbykgY29uc3QKIHsKICAg
ICByZXR1cm4gbV94ID09IG8ubV94ICYmIG1feSA9PSBvLm1feSAmJiBtX3ogPT0gby5tX3ogJiYg
bV9vcGVyYXRpb25zID09IG8ubV9vcGVyYXRpb25zOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlVHJhbnNmb3JtRGF0YS5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1N0eWxlVHJhbnNmb3JtRGF0YS5oCmluZGV4IDI0ZTEzNmYuLmU4MmVh
MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVRyYW5z
Zm9ybURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVUcmFu
c2Zvcm1EYXRhLmgKQEAgLTM1LDcgKzM1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3Mg
U3R5bGVUcmFuc2Zvcm1EYXRhIDogcHVibGljIFJlZkNvdW50ZWQ8U3R5bGVUcmFuc2Zvcm1EYXRh
PiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWY8U3R5bGVUcmFuc2Zvcm1EYXRhPiBjcmVh
dGUoKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxlVHJhbnNmb3JtRGF0YSk7IH0KLSAgICBQ
YXNzUmVmPFN0eWxlVHJhbnNmb3JtRGF0YT4gY29weSgpIGNvbnN0IHsgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgU3R5bGVUcmFuc2Zvcm1EYXRhKCp0aGlzKSk7IH0KKyAgICBQYXNzUmVmPFN0eWxlVHJh
bnNmb3JtRGF0YT4gY29weSgpIGNvbnN0OwogCiAgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFN0
eWxlVHJhbnNmb3JtRGF0YSYgbykgY29uc3Q7CiAgICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IFN0
eWxlVHJhbnNmb3JtRGF0YSYgbykgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9TdHlsZVZpc3VhbERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1N0eWxlVmlzdWFsRGF0YS5jcHAKaW5kZXggNjI4YTIwYS4uMjNlNmNkMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlVmlzdWFsRGF0YS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlVmlzdWFsRGF0YS5j
cHAKQEAgLTQwLDcgKzQwLDcgQEAgU3R5bGVWaXN1YWxEYXRhOjp+U3R5bGVWaXN1YWxEYXRhKCkK
IHsKIH0KIAotU3R5bGVWaXN1YWxEYXRhOjpTdHlsZVZpc3VhbERhdGEoY29uc3QgU3R5bGVWaXN1
YWxEYXRhJiBvKQoraW5saW5lIFN0eWxlVmlzdWFsRGF0YTo6U3R5bGVWaXN1YWxEYXRhKGNvbnN0
IFN0eWxlVmlzdWFsRGF0YSYgbykKICAgICA6IFJlZkNvdW50ZWQ8U3R5bGVWaXN1YWxEYXRhPigp
CiAgICAgLCBjbGlwKG8uY2xpcCkKICAgICAsIGhhc0NsaXAoby5oYXNDbGlwKQpAQCAtNTIsNCAr
NTIsOSBAQCBTdHlsZVZpc3VhbERhdGE6OlN0eWxlVmlzdWFsRGF0YShjb25zdCBTdHlsZVZpc3Vh
bERhdGEmIG8pCiB7CiB9CiAKK1Bhc3NSZWY8U3R5bGVWaXN1YWxEYXRhPiBTdHlsZVZpc3VhbERh
dGE6OmNvcHkoKSBjb25zdAoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxlVmlzdWFs
RGF0YSgqdGhpcykpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVWaXN1YWxEYXRhLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVWaXN1YWxEYXRhLmgKaW5kZXggOWRmNTNlMS4u
MmIyZDYzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxl
VmlzdWFsRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVZp
c3VhbERhdGEuaApAQCAtMzUsNyArMzUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBT
dHlsZVZpc3VhbERhdGEgOiBwdWJsaWMgUmVmQ291bnRlZDxTdHlsZVZpc3VhbERhdGE+IHsKIHB1
YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZjxTdHlsZVZpc3VhbERhdGE+IGNyZWF0ZSgpIHsgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVWaXN1YWxEYXRhKTsgfQotICAgIFBhc3NSZWY8U3R5bGVW
aXN1YWxEYXRhPiBjb3B5KCkgY29uc3QgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBTdHlsZVZpc3Vh
bERhdGEoKnRoaXMpKTsgfQorICAgIFBhc3NSZWY8U3R5bGVWaXN1YWxEYXRhPiBjb3B5KCkgY29u
c3Q7CiAgICAgflN0eWxlVmlzdWFsRGF0YSgpOwogCiAgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0
IFN0eWxlVmlzdWFsRGF0YSYgbykgY29uc3QK
</data>
<flag name="review"
          id="243835"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>