<?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>154308</bug_id>
          
          <creation_ts>2016-02-16 14:32:59 -0800</creation_ts>
          <short_desc>Remove unused environment variable classes</short_desc>
          <delta_ts>2016-02-16 14:43:16 -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>New Bugs</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1165323</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-02-16 14:32:59 -0800</bug_when>
    <thetext>Remove unused environment variable classes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165324</commentid>
    <comment_count>1</comment_count>
      <attachid>271486</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-02-16 14:35:09 -0800</bug_when>
    <thetext>Created attachment 271486
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165328</commentid>
    <comment_count>2</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-02-16 14:43:16 -0800</bug_when>
    <thetext>Committed r196659: &lt;http://trac.webkit.org/changeset/196659&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271486</attachid>
            <date>2016-02-16 14:35:09 -0800</date>
            <delta_ts>2016-02-16 14:39:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-154308-20160216143458.patch</filename>
            <type>text/plain</type>
            <size>31273</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk2NjQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOGE4N2ExMmMzZWU2MmZh
OTg3MzhjOWRiN2FjNWMwYmUxYzcxMmI0Zi4uZDZhMWY4Y2IyMzdlN2FjODk1NWU0YmU5NzkwODNl
N2I2NTJjYzk0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE2LTAyLTE2ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHVudXNl
ZCBlbnZpcm9ubWVudCB2YXJpYWJsZSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTQzMDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9MYXVuY2hlci9tYWMvRHluYW1pY0xp
bmtlckVudmlyb25tZW50RXh0cmFjdG9yLmg6IFJlbW92ZWQuCisgICAgICAgICogVUlQcm9jZXNz
L0xhdW5jaGVyL21hYy9EeW5hbWljTGlua2VyRW52aXJvbm1lbnRFeHRyYWN0b3IubW06IFJlbW92
ZWQuCisgICAgICAgIChXZWJLaXQ6OkR5bmFtaWNMaW5rZXJFbnZpcm9ubWVudEV4dHJhY3Rvcjo6
RHluYW1pY0xpbmtlckVudmlyb25tZW50RXh0cmFjdG9yKTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YktpdDo6RHluYW1pY0xpbmtlckVudmlyb25tZW50RXh0cmFjdG9yOjpwcm9jZXNzRW52aXJvbm1l
bnRWYXJpYWJsZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OkR5bmFtaWNMaW5rZXJFbnZp
cm9ubWVudEV4dHJhY3Rvcjo6cHJvY2Vzc0xvYWRDb21tYW5kKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYktpdDo6RHluYW1pY0xpbmtlckVudmlyb25tZW50RXh0cmFjdG9yOjpwcm9jZXNzTG9hZENv
bW1hbmRzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6RHluYW1pY0xpbmtlckVudmlyb25t
ZW50RXh0cmFjdG9yOjpwcm9jZXNzU2luZ2xlQXJjaGl0ZWN0dXJlKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYktpdDo6RHluYW1pY0xpbmtlckVudmlyb25tZW50RXh0cmFjdG9yOjpwcm9jZXNzRmF0
RmlsZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OkR5bmFtaWNMaW5rZXJFbnZpcm9ubWVu
dEV4dHJhY3Rvcjo6Z2V0RXh0cmFjdGVkRW52aXJvbm1lbnRWYXJpYWJsZXMpOiBEZWxldGVkLgor
ICAgICAgICAqIFVJUHJvY2Vzcy9MYXVuY2hlci9tYWMvRW52aXJvbm1lbnRWYXJpYWJsZXMuY3Bw
OiBSZW1vdmVkLgorICAgICAgICAoV2ViS2l0OjpFbnZpcm9ubWVudFZhcmlhYmxlczo6RW52aXJv
bm1lbnRWYXJpYWJsZXMpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpFbnZpcm9ubWVudFZh
cmlhYmxlczo6fkVudmlyb25tZW50VmFyaWFibGVzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktp
dDo6RW52aXJvbm1lbnRWYXJpYWJsZXM6OnNldCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6
OkVudmlyb25tZW50VmFyaWFibGVzOjpnZXQpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpF
bnZpcm9ubWVudFZhcmlhYmxlczo6YXBwZW5kVmFsdWUpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
S2l0OjpFbnZpcm9ubWVudFZhcmlhYmxlczo6dmFsdWVJZlZhcmlhYmxlSGFzTmFtZSk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJLaXQ6OkVudmlyb25tZW50VmFyaWFibGVzOjpjcmVhdGVTdHJpbmdG
b3JWYXJpYWJsZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OkVudmlyb25tZW50VmFyaWFi
bGVzOjpjb3B5RW52aXJvbm1lbnRWYXJpYWJsZXMpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0
OjpFbnZpcm9ubWVudFZhcmlhYmxlczo6ZHVtcCk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9j
ZXNzL0xhdW5jaGVyL21hYy9FbnZpcm9ubWVudFZhcmlhYmxlcy5oOiBSZW1vdmVkLgorICAgICAg
ICAoV2ViS2l0OjpFbnZpcm9ubWVudFZhcmlhYmxlczo6ZW52aXJvbm1lbnRQb2ludGVyKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvTGF1bmNoZXIvbWFjL1Byb2Nlc3NMYXVuY2hlck1h
Yy5tbToKKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIw
MTYtMDItMTYgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZlcnQg
cjE5NTgyNi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9t
YWMvRHluYW1pY0xpbmtlckVudmlyb25tZW50RXh0cmFjdG9yLmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvTGF1bmNoZXIvbWFjL0R5bmFtaWNMaW5rZXJFbnZpcm9ubWVudEV4dHJhY3Rvci5o
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3YjIxNDU0MjRiZjJkNjhhZWY3MjAxODZl
OTA4MTExZmU4ZmU1ZWQwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9tYWMvRHluYW1pY0xpbmtl
ckVudmlyb25tZW50RXh0cmFjdG9yLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2MiArMCwwIEBACi0v
KgotICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCi0gKi8KLQotI2lmbmRlZiBEeW5hbWljTGlua2VyRW52aXJvbm1lbnRFeHRyYWN0b3JfaAot
I2RlZmluZSBEeW5hbWljTGlua2VyRW52aXJvbm1lbnRFeHRyYWN0b3JfaAotCi0jaW5jbHVkZSA8
bWFjaC9tYWNoaW5lLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+Ci0jaW5jbHVkZSA8
d3RmL1JldGFpblB0ci5oPgotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KLSNpbmNsdWRlIDx3dGYv
dGV4dC9DU3RyaW5nLmg+Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1jbGFzcyBFbnZpcm9ubWVu
dFZhcmlhYmxlczsKLQotY2xhc3MgRHluYW1pY0xpbmtlckVudmlyb25tZW50RXh0cmFjdG9yIHsK
LSAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEeW5hbWljTGlua2VyRW52aXJvbm1lbnRFeHRyYWN0
b3IpOwotCi1wdWJsaWM6Ci0gICAgRHluYW1pY0xpbmtlckVudmlyb25tZW50RXh0cmFjdG9yKE5T
U3RyaW5nICpleGVjdXRhYmxlUGF0aCwgY3B1X3R5cGVfdCBhcmNoaXRlY3R1cmUpOwotCi0gICAg
dm9pZCBnZXRFeHRyYWN0ZWRFbnZpcm9ubWVudFZhcmlhYmxlcyhFbnZpcm9ubWVudFZhcmlhYmxl
cyYpIGNvbnN0OwotCi1wcml2YXRlOgotICAgIHZvaWQgcHJvY2Vzc1NpbmdsZUFyY2hpdGVjdHVy
ZShjb25zdCB2b2lkKiBkYXRhLCBzaXplX3QgbGVuZ3RoKTsKLSAgICB2b2lkIHByb2Nlc3NGYXRG
aWxlKGNvbnN0IHZvaWQqIGRhdGEsIHNpemVfdCBsZW5ndGgpOwotICAgIHZvaWQgcHJvY2Vzc0xv
YWRDb21tYW5kcyhjb25zdCB2b2lkKiBkYXRhLCBzaXplX3QgbGVuZ3RoLCBpbnQzMl90IG51bWJl
ck9mQ29tbWFuZHMsIGJvb2wgc2hvdWxkQnl0ZVN3YXApOwotICAgIHNpemVfdCBwcm9jZXNzTG9h
ZENvbW1hbmQoY29uc3Qgdm9pZCogZGF0YSwgc2l6ZV90IGxlbmd0aCwgYm9vbCBzaG91bGRCeXRl
U3dhcCk7Ci0gICAgdm9pZCBwcm9jZXNzRW52aXJvbm1lbnRWYXJpYWJsZShjb25zdCBjaGFyKiBl
bnZpcm9ubWVudFN0cmluZyk7Ci0KLSAgICBSZXRhaW5QdHI8TlNTdHJpbmc+IG1fZXhlY3V0YWJs
ZVBhdGg7Ci0gICAgY3B1X3R5cGVfdCBtX2FyY2hpdGVjdHVyZTsKLQotICAgIFZlY3RvcjxzdGQ6
OnBhaXI8Q1N0cmluZywgQ1N0cmluZz4+IG1fZXh0cmFjdGVkVmFyaWFibGVzOwotfTsKLQotfSAv
LyBuYW1lc3BhY2UgV2ViS2l0Ci0KLSNlbmRpZiAvLyBEeW5hbWljTGlua2VyRW52aXJvbm1lbnRF
eHRyYWN0b3JfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVy
L21hYy9EeW5hbWljTGlua2VyRW52aXJvbm1lbnRFeHRyYWN0b3IubW0gYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvTGF1bmNoZXIvbWFjL0R5bmFtaWNMaW5rZXJFbnZpcm9ubWVudEV4dHJhY3Rv
ci5tbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmE0NjMzYTQyYzg3N2JmNWFiYjAz
ZGRjOGU1YzMxZjQ0NDJmMjNjOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvbWFjL0R5bmFtaWNM
aW5rZXJFbnZpcm9ubWVudEV4dHJhY3Rvci5tbQorKysgL2Rldi9udWxsCkBAIC0xLDE5OCArMCww
IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkR5bmFtaWNM
aW5rZXJFbnZpcm9ubWVudEV4dHJhY3Rvci5oIgotCi0jaW5jbHVkZSAiRW52aXJvbm1lbnRWYXJp
YWJsZXMuaCIKLSNpbmNsdWRlIDxtYWNoLW8vbG9hZGVyLmg+Ci0jaW5jbHVkZSA8bWFjaC1vL3N3
YXAuaD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KLQotbmFtZXNwYWNlIFdlYktp
dCB7Ci0KLUR5bmFtaWNMaW5rZXJFbnZpcm9ubWVudEV4dHJhY3Rvcjo6RHluYW1pY0xpbmtlckVu
dmlyb25tZW50RXh0cmFjdG9yKE5TU3RyaW5nICpleGVjdXRhYmxlUGF0aCwgY3B1X3R5cGVfdCBh
cmNoaXRlY3R1cmUpCi0gICAgOiBtX2V4ZWN1dGFibGVQYXRoKGV4ZWN1dGFibGVQYXRoKQotICAg
ICwgbV9hcmNoaXRlY3R1cmUoYXJjaGl0ZWN0dXJlKQotewotICAgIE5TRGF0YSAqbWFpbkV4ZWN1
dGFibGVEYXRhID0gW05TRGF0YSBkYXRhV2l0aENvbnRlbnRzT2ZGaWxlOm1fZXhlY3V0YWJsZVBh
dGguZ2V0KCkgb3B0aW9uczpOU0RhdGFSZWFkaW5nTWFwcGVkSWZTYWZlIGVycm9yOjBdOwotICAg
IGlmICghbWFpbkV4ZWN1dGFibGVEYXRhKQotICAgICAgICByZXR1cm47Ci0KLSAgICBjb25zdCB2
b2lkKiBtYWluRXhlY3V0YWJsZUJ5dGVzID0gW21haW5FeGVjdXRhYmxlRGF0YSBieXRlc107Ci0g
ICAgc2l6ZV90IGxlbmd0aCA9IFttYWluRXhlY3V0YWJsZURhdGEgbGVuZ3RoXTsKLSAgICBpZiAo
bGVuZ3RoIDwgc2l6ZW9mKHVpbnQzMl90KSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgdWludDMy
X3QgbWFnaWNWYWx1ZSA9ICpzdGF0aWNfY2FzdDxjb25zdCB1aW50MzJfdCo+KG1haW5FeGVjdXRh
YmxlQnl0ZXMpOwotICAgIGlmIChtYWdpY1ZhbHVlID09IEZBVF9NQUdJQyB8fCBtYWdpY1ZhbHVl
ID09IEZBVF9DSUdBTSkgewotICAgICAgICBwcm9jZXNzRmF0RmlsZShtYWluRXhlY3V0YWJsZUJ5
dGVzLCBsZW5ndGgpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgcHJvY2Vzc1Npbmds
ZUFyY2hpdGVjdHVyZShtYWluRXhlY3V0YWJsZUJ5dGVzLCBsZW5ndGgpOwotfQotCi0jZGVmaW5l
IERFRklORV9CWVRFX1NXQVBQRVIodHlwZSkgaW5saW5lIHR5cGUgYnl0ZVN3YXBJZk5lZWRlZChj
b25zdCB0eXBlJiBkYXRhLCBib29sIHNob3VsZEJ5dGVTd2FwKSBcCi17IFwKLSAgICB0eXBlIHN3
YXBwZWQgPSBkYXRhOyBcCi0gICAgaWYgKHNob3VsZEJ5dGVTd2FwKSBcCi0gICAgICAgIHN3YXBf
IyN0eXBlKCZzd2FwcGVkLCBOWF9Vbmtub3duQnl0ZU9yZGVyKTsgXAotICAgIHJldHVybiBzd2Fw
cGVkOyBcCi19Ci0KLURFRklORV9CWVRFX1NXQVBQRVIobG9hZF9jb21tYW5kKQotREVGSU5FX0JZ
VEVfU1dBUFBFUihkeWxpbmtlcl9jb21tYW5kKQotREVGSU5FX0JZVEVfU1dBUFBFUihtYWNoX2hl
YWRlcikKLURFRklORV9CWVRFX1NXQVBQRVIobWFjaF9oZWFkZXJfNjQpCi0KLSN1bmRlZiBERUZJ
TkVfQllURV9TV0FQUEVSCi0KLXZvaWQgRHluYW1pY0xpbmtlckVudmlyb25tZW50RXh0cmFjdG9y
Ojpwcm9jZXNzRW52aXJvbm1lbnRWYXJpYWJsZShjb25zdCBjaGFyKiBlbnZpcm9ubWVudFN0cmlu
ZykKLXsKLSAgICBjb25zdCBjaGFyKiBlcXVhbHNMb2NhdGlvbiA9IHN0cmNocihlbnZpcm9ubWVu
dFN0cmluZywgJz0nKTsKLSAgICBpZiAoIWVxdWFsc0xvY2F0aW9uKQotICAgICAgICByZXR1cm47
Ci0KLSAgICBzaXplX3QgbmFtZUxlbmd0aCA9IGVxdWFsc0xvY2F0aW9uIC0gZW52aXJvbm1lbnRT
dHJpbmc7Ci0gICAgU3RyaW5nIG5hbWUoZW52aXJvbm1lbnRTdHJpbmcsIG5hbWVMZW5ndGgpOwot
Ci0gICAgLy8gTENfRFlMRF9FTlZJUk9OTUVOVCBvbmx5IHJlc3BlY3RzIERZTERfKl9QQVRIIHZh
cmlhYmxlcy4KLSAgICBpZiAoIW5hbWUuc3RhcnRzV2l0aCgiRFlMRF8iKSB8fCAhbmFtZS5lbmRz
V2l0aCgiX1BBVEgiKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgQ1N0cmluZyB2YWx1ZShlcXVh
bHNMb2NhdGlvbiArIDEpOwotICAgIG1fZXh0cmFjdGVkVmFyaWFibGVzLmFwcGVuZChzdGQ6Om1h
a2VfcGFpcihuYW1lLmxhdGluMSgpLCB2YWx1ZSkpOwotfQotCi1zaXplX3QgRHluYW1pY0xpbmtl
ckVudmlyb25tZW50RXh0cmFjdG9yOjpwcm9jZXNzTG9hZENvbW1hbmQoY29uc3Qgdm9pZCogZGF0
YSwgc2l6ZV90IGxlbmd0aCwgYm9vbCBzaG91bGRCeXRlU3dhcCkKLXsKLSAgICBpZiAobGVuZ3Ro
IDwgc2l6ZW9mKGxvYWRfY29tbWFuZCkpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgY29uc3Qg
bG9hZF9jb21tYW5kKiByYXdMb2FkQ29tbWFuZCA9IHN0YXRpY19jYXN0PGNvbnN0IGxvYWRfY29t
bWFuZCo+KGRhdGEpOwotICAgIGxvYWRfY29tbWFuZCBsb2FkQ29tbWFuZCA9IGJ5dGVTd2FwSWZO
ZWVkZWQoKnJhd0xvYWRDb21tYW5kLCBzaG91bGRCeXRlU3dhcCk7Ci0KLSAgICBpZiAobGVuZ3Ro
IDwgbG9hZENvbW1hbmQuY21kc2l6ZSkKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICBpZiAobG9h
ZENvbW1hbmQuY21kID09IExDX0RZTERfRU5WSVJPTk1FTlQpIHsKLSAgICAgICAgaWYgKGxlbmd0
aCA8IHNpemVvZihkeWxpbmtlcl9jb21tYW5kKSkKLSAgICAgICAgICAgIHJldHVybiAwOwotCi0g
ICAgICAgIGR5bGlua2VyX2NvbW1hbmQgZW52aXJvbm1lbnRDb21tYW5kID0gYnl0ZVN3YXBJZk5l
ZWRlZCgqcmVpbnRlcnByZXRfY2FzdDxjb25zdCBkeWxpbmtlcl9jb21tYW5kKj4ocmF3TG9hZENv
bW1hbmQpLCBzaG91bGRCeXRlU3dhcCk7Ci0gICAgICAgIGlmIChsb2FkQ29tbWFuZC5jbWRzaXpl
IDwgZW52aXJvbm1lbnRDb21tYW5kLm5hbWUub2Zmc2V0KQotICAgICAgICAgICAgcmV0dXJuIDA7
Ci0KLSAgICAgICAgc2l6ZV90IGVudmlyb25tZW50U3RyaW5nTGVuZ3RoID0gbG9hZENvbW1hbmQu
Y21kc2l6ZSAtIGVudmlyb25tZW50Q29tbWFuZC5uYW1lLm9mZnNldDsKLSAgICAgICAgVmVjdG9y
PGNoYXIsIDI1Nj4gZW52aXJvbm1lbnRTdHJpbmc7Ci0gICAgICAgIGVudmlyb25tZW50U3RyaW5n
LnJlc2VydmVDYXBhY2l0eShlbnZpcm9ubWVudFN0cmluZ0xlbmd0aCArIDEpOwotICAgICAgICBl
bnZpcm9ubWVudFN0cmluZy5hcHBlbmQocmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4ocmF3
TG9hZENvbW1hbmQpICsgZW52aXJvbm1lbnRDb21tYW5kLm5hbWUub2Zmc2V0LCBlbnZpcm9ubWVu
dFN0cmluZ0xlbmd0aCk7Ci0gICAgICAgIGVudmlyb25tZW50U3RyaW5nLmFwcGVuZCgwKTsKLQot
ICAgICAgICBwcm9jZXNzRW52aXJvbm1lbnRWYXJpYWJsZShlbnZpcm9ubWVudFN0cmluZy5kYXRh
KCkpOwotICAgIH0KLQotICAgIHJldHVybiBsb2FkQ29tbWFuZC5jbWRzaXplOwotfQotCi12b2lk
IER5bmFtaWNMaW5rZXJFbnZpcm9ubWVudEV4dHJhY3Rvcjo6cHJvY2Vzc0xvYWRDb21tYW5kcyhj
b25zdCB2b2lkKiBkYXRhLCBzaXplX3QgbGVuZ3RoLCBpbnQzMl90IG51bWJlck9mQ29tbWFuZHMs
IGJvb2wgc2hvdWxkQnl0ZVN3YXApCi17Ci0gICAgY29uc3Qgdm9pZCogZGF0YVJlbWFpbmluZyA9
IGRhdGE7Ci0gICAgc2l6ZV90IGxlbmd0aFJlbWFpbmluZyA9IGxlbmd0aDsKLSAgICBmb3IgKGlu
dCBpID0gMDsgaSA8IG51bWJlck9mQ29tbWFuZHM7IGkrKykgewotICAgICAgICBzaXplX3QgY29t
bWFuZExlbmd0aCA9IHByb2Nlc3NMb2FkQ29tbWFuZChkYXRhUmVtYWluaW5nLCBsZW5ndGhSZW1h
aW5pbmcsIHNob3VsZEJ5dGVTd2FwKTsKLSAgICAgICAgaWYgKCFjb21tYW5kTGVuZ3RoIHx8IGxl
bmd0aFJlbWFpbmluZyA8IGNvbW1hbmRMZW5ndGgpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAg
ICAgICAgZGF0YVJlbWFpbmluZyA9IHN0YXRpY19jYXN0PGNvbnN0IGNoYXIqPihkYXRhUmVtYWlu
aW5nKSArIGNvbW1hbmRMZW5ndGg7Ci0gICAgICAgIGxlbmd0aFJlbWFpbmluZyAtPSBjb21tYW5k
TGVuZ3RoOwotICAgIH0KLX0KLQotdm9pZCBEeW5hbWljTGlua2VyRW52aXJvbm1lbnRFeHRyYWN0
b3I6OnByb2Nlc3NTaW5nbGVBcmNoaXRlY3R1cmUoY29uc3Qgdm9pZCogZGF0YSwgc2l6ZV90IGxl
bmd0aCkKLXsKLSAgICBpZiAobGVuZ3RoIDwgc2l6ZW9mKG1hY2hfaGVhZGVyKSkKLSAgICAgICAg
cmV0dXJuOwotCi0gICAgY29uc3QgbWFjaF9oZWFkZXIqIGhlYWRlciA9IHN0YXRpY19jYXN0PGNv
bnN0IG1hY2hfaGVhZGVyKj4oZGF0YSk7Ci0gICAgaWYgKGhlYWRlci0+bWFnaWMgPT0gTUhfTUFH
SUMgfHwgaGVhZGVyLT5tYWdpYyA9PSBNSF9DSUdBTSkgewotICAgICAgICBib29sIHNob3VsZEJ5
dGVTd2FwID0gaGVhZGVyLT5tYWdpYyA9PSBNSF9DSUdBTTsKLSAgICAgICAgbWFjaF9oZWFkZXIg
c3dhcHBlZEhlYWRlciA9IGJ5dGVTd2FwSWZOZWVkZWQoKmhlYWRlciwgc2hvdWxkQnl0ZVN3YXAp
OwotICAgICAgICBpZiAoc3dhcHBlZEhlYWRlci5jcHV0eXBlID09IG1fYXJjaGl0ZWN0dXJlKQot
ICAgICAgICAgICAgcHJvY2Vzc0xvYWRDb21tYW5kcyhzdGF0aWNfY2FzdDxjb25zdCBjaGFyKj4o
ZGF0YSkgKyBzaXplb2YoKmhlYWRlciksIGxlbmd0aCAtIHNpemVvZigqaGVhZGVyKSwgc3dhcHBl
ZEhlYWRlci5uY21kcywgc2hvdWxkQnl0ZVN3YXApOwotICAgICAgICByZXR1cm47Ci0gICAgfQot
Ci0gICAgaWYgKGxlbmd0aCA8IHNpemVvZihtYWNoX2hlYWRlcl82NCkpCi0gICAgICAgIHJldHVy
bjsKLQotICAgIGNvbnN0IG1hY2hfaGVhZGVyXzY0KiBoZWFkZXI2NCA9IHN0YXRpY19jYXN0PGNv
bnN0IG1hY2hfaGVhZGVyXzY0Kj4oZGF0YSk7Ci0gICAgYm9vbCBzaG91bGRCeXRlU3dhcCA9IGhl
YWRlci0+bWFnaWMgPT0gTUhfQ0lHQU1fNjQ7Ci0gICAgbWFjaF9oZWFkZXJfNjQgc3dhcHBlZEhl
YWRlcjY0ID0gYnl0ZVN3YXBJZk5lZWRlZCgqaGVhZGVyNjQsIHNob3VsZEJ5dGVTd2FwKTsKLSAg
ICBpZiAoc3dhcHBlZEhlYWRlcjY0LmNwdXR5cGUgPT0gbV9hcmNoaXRlY3R1cmUpCi0gICAgICAg
IHByb2Nlc3NMb2FkQ29tbWFuZHMoc3RhdGljX2Nhc3Q8Y29uc3QgY2hhcio+KGRhdGEpICsgc2l6
ZW9mKCpoZWFkZXI2NCksIGxlbmd0aCAtIHNpemVvZigqaGVhZGVyNjQpLCBzd2FwcGVkSGVhZGVy
NjQubmNtZHMsIHNob3VsZEJ5dGVTd2FwKTsKLX0KLQotdm9pZCBEeW5hbWljTGlua2VyRW52aXJv
bm1lbnRFeHRyYWN0b3I6OnByb2Nlc3NGYXRGaWxlKGNvbnN0IHZvaWQqIGRhdGEsIHNpemVfdCBs
ZW5ndGgpCi17Ci0gICAgaWYgKGxlbmd0aCA8IHNpemVvZihmYXRfaGVhZGVyKSkKLSAgICAgICAg
cmV0dXJuOwotCi0gICAgY29uc3QgZmF0X2hlYWRlciogaGVhZGVyID0gc3RhdGljX2Nhc3Q8Y29u
c3QgZmF0X2hlYWRlcio+KGRhdGEpOwotCi0gICAgc2l6ZV90IG51bWJlck9mQXJjaGl0ZWN0dXJl
cyA9IE9TU3dhcEJpZ1RvSG9zdEludDMyKGhlYWRlci0+bmZhdF9hcmNoKTsKLQotICAgIC8vIEVu
c3VyZSB0aGF0IHdlIGhhdmUgZW5vdWdoIGRhdGEgcmVtYWluaW5nIGZvciBudW1iZXJPZkFyY2hp
dGVjdHVyZXMgZmF0X2FyY2ggc3RydWN0cy4KLSAgICBpZiAoKGxlbmd0aCAtIHNpemVvZihmYXRf
aGVhZGVyKSkgLyBzaXplb2YoZmF0X2FyY2gpIDwgbnVtYmVyT2ZBcmNoaXRlY3R1cmVzKQotICAg
ICAgICByZXR1cm47Ci0KLSAgICBjb25zdCBmYXRfYXJjaCogYXJjaHMgPSByZWludGVycHJldF9j
YXN0PGNvbnN0IGZhdF9hcmNoKj4ocmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oZGF0YSkg
KyBzaXplb2YoKmhlYWRlcikpOwotICAgIGZvciAodWludDMyX3QgaSA9IDA7IGkgPCBudW1iZXJP
ZkFyY2hpdGVjdHVyZXM7IGkrKykgewotICAgICAgICB1aW50MzJfdCBhcmNoaXRlY3R1cmVPZmZz
ZXQgPSBPU1N3YXBCaWdUb0hvc3RJbnQzMihhcmNoc1tpXS5vZmZzZXQpOwotICAgICAgICB1aW50
MzJfdCBhcmNoaXRlY3R1cmVTaXplID0gT1NTd2FwQmlnVG9Ib3N0SW50MzIoYXJjaHNbaV0uc2l6
ZSk7Ci0gICAgICAgIGlmIChsZW5ndGggPCBhcmNoaXRlY3R1cmVPZmZzZXQgKyBhcmNoaXRlY3R1
cmVTaXplKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIHByb2Nlc3NTaW5nbGVBcmNo
aXRlY3R1cmUoc3RhdGljX2Nhc3Q8Y29uc3QgY2hhcio+KGRhdGEpICsgYXJjaGl0ZWN0dXJlT2Zm
c2V0LCBhcmNoaXRlY3R1cmVTaXplKTsKLSAgICB9Ci19Ci0KLXZvaWQgRHluYW1pY0xpbmtlckVu
dmlyb25tZW50RXh0cmFjdG9yOjpnZXRFeHRyYWN0ZWRFbnZpcm9ubWVudFZhcmlhYmxlcyhFbnZp
cm9ubWVudFZhcmlhYmxlcyYgZW52aXJvbm1lbnRWYXJpYWJsZXMpIGNvbnN0Ci17Ci0gICAgc2l6
ZV90IGV4dHJhY3RlZFZhcmlhYmxlQ291bnQgPSBtX2V4dHJhY3RlZFZhcmlhYmxlcy5zaXplKCk7
Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBleHRyYWN0ZWRWYXJpYWJsZUNvdW50OyArK2kp
IHsKLSAgICAgICAgY29uc3QgQ1N0cmluZyYgbmFtZSA9IG1fZXh0cmFjdGVkVmFyaWFibGVzW2ld
LmZpcnN0OwotCi0gICAgICAgIC8vIFByZXNlcnZlIGFueSBleGlzdGluZyBlbnZpcm9ubWVudCB2
YXJpYWJsZSBieSB0aGlzIG5hbWUgc28gdGhhdCBpdCB3aWxsIHRha2UKLSAgICAgICAgLy8gcHJl
Y2VkZW5jZSBvdmVyIHdoYXQgd2UgZXh0cmFjdGVkIGZyb20gdGhlIGV4ZWN1dGFibGUgZmlsZS4K
LSAgICAgICAgaWYgKGVudmlyb25tZW50VmFyaWFibGVzLmdldChuYW1lLmRhdGEoKSkpCi0gICAg
ICAgICAgICBjb250aW51ZTsKLQotICAgICAgICBlbnZpcm9ubWVudFZhcmlhYmxlcy5zZXQobmFt
ZS5kYXRhKCksIG1fZXh0cmFjdGVkVmFyaWFibGVzW2ldLnNlY29uZC5kYXRhKCkpOwotICAgIH0K
LX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvTGF1bmNoZXIvbWFjL0Vudmlyb25tZW50VmFyaWFibGVzLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9tYWMvRW52aXJvbm1lbnRWYXJpYWJsZXMuY3BwCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlM2JlMjU1MzhkYjRhMDA4ZTIzYzYxY2ZkMmVh
ZDkzMDkxMTRhZGYwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9tYWMvRW52aXJvbm1lbnRWYXJp
YWJsZXMuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTQ3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTAsIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgot
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
LSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAq
LwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiRW52aXJvbm1lbnRWYXJpYWJsZXMu
aCIKLQotI2luY2x1ZGUgPGNydF9leHRlcm5zLmg+Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1F
bnZpcm9ubWVudFZhcmlhYmxlczo6RW52aXJvbm1lbnRWYXJpYWJsZXMoKQotICAgIDogbV9lbnZp
cm9ubWVudFBvaW50ZXIoKl9OU0dldEVudmlyb24oKSkKLXsKLX0KLQotRW52aXJvbm1lbnRWYXJp
YWJsZXM6On5FbnZpcm9ubWVudFZhcmlhYmxlcygpCi17Ci0gICAgc2l6ZV90IHNpemUgPSBtX2Fs
bG9jYXRlZFN0cmluZ3Muc2l6ZSgpOwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc2l6ZTsg
KytpKQotICAgICAgICBmYXN0RnJlZShtX2FsbG9jYXRlZFN0cmluZ3NbaV0pOwotfQotCi12b2lk
IEVudmlyb25tZW50VmFyaWFibGVzOjpzZXQoY29uc3QgY2hhciogbmFtZSwgY29uc3QgY2hhciog
dmFsdWUpCi17Ci0gICAgLy8gQ2hlY2sgaWYgd2UgbmVlZCB0byBjb3B5IHRoZSBlbnZpcm9ubWVu
dC4KLSAgICBpZiAobV9lbnZpcm9ubWVudFBvaW50ZXIgPT0gKl9OU0dldEVudmlyb24oKSkKLSAg
ICAgICAgY29weUVudmlyb25tZW50VmFyaWFibGVzKCk7Ci0KLSAgICAvLyBBbGxvY2F0ZSBhIHN0
cmluZyBmb3IgdGhlIG5hbWUgYW5kIHZhbHVlLgotICAgIGNvbnN0IGNoYXIqIG5hbWVBbmRWYWx1
ZSA9IGNyZWF0ZVN0cmluZ0ZvclZhcmlhYmxlKG5hbWUsIHZhbHVlKTsKLQotICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgbV9lbnZpcm9ubWVudFZhcmlhYmxlcy5zaXplKCkgLSAxOyArK2kpIHsK
LSAgICAgICAgaWYgKHZhbHVlSWZWYXJpYWJsZUhhc05hbWUobV9lbnZpcm9ubWVudFZhcmlhYmxl
c1tpXSwgbmFtZSkpIHsKLSAgICAgICAgICAgIC8vIEp1c3QgcmVwbGFjZSB0aGUgZW52aXJvbm1l
bnQgdmFyaWFibGUuCi0gICAgICAgICAgICBtX2Vudmlyb25tZW50VmFyaWFibGVzW2ldID0gY29u
c3RfY2FzdDxjaGFyKj4obmFtZUFuZFZhbHVlKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAg
ICAgfQotICAgIH0KLQotICAgIC8vIEFwcGVuZCB0aGUgbmV3IHN0cmluZy4KLSAgICBBU1NFUlQo
IW1fZW52aXJvbm1lbnRWYXJpYWJsZXMubGFzdCgpKTsKLSAgICBtX2Vudmlyb25tZW50VmFyaWFi
bGVzLmxhc3QoKSA9IGNvbnN0X2Nhc3Q8Y2hhcio+KG5hbWVBbmRWYWx1ZSk7Ci0gICAgbV9lbnZp
cm9ubWVudFZhcmlhYmxlcy5hcHBlbmQoc3RhdGljX2Nhc3Q8Y2hhcio+KDApKTsKLQotICAgIG1f
ZW52aXJvbm1lbnRQb2ludGVyID0gbV9lbnZpcm9ubWVudFZhcmlhYmxlcy5kYXRhKCk7Ci19Ci0K
LWNvbnN0IGNoYXIqIEVudmlyb25tZW50VmFyaWFibGVzOjpnZXQoY29uc3QgY2hhciogbmFtZSkg
Y29uc3QKLXsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgbV9lbnZpcm9ubWVudFBvaW50ZXJbaV07
ICsraSkgewotICAgICAgICBpZiAoY29uc3QgY2hhciogdmFsdWUgPSB2YWx1ZUlmVmFyaWFibGVI
YXNOYW1lKG1fZW52aXJvbm1lbnRQb2ludGVyW2ldLCBuYW1lKSkKLSAgICAgICAgICAgIHJldHVy
biB2YWx1ZTsKLSAgICB9Ci0gICAgcmV0dXJuIDA7Ci19Ci0KLXZvaWQgRW52aXJvbm1lbnRWYXJp
YWJsZXM6OmFwcGVuZFZhbHVlKGNvbnN0IGNoYXIqIG5hbWUsIGNvbnN0IGNoYXIqIHZhbHVlLCBj
aGFyIHNlcGFyYXRvcikKLXsKLSAgICBjb25zdCBjaGFyKiBleGlzdGluZ1ZhbHVlID0gZ2V0KG5h
bWUpOwotICAgIGlmICghZXhpc3RpbmdWYWx1ZSB8fCAhc3RybGVuKGV4aXN0aW5nVmFsdWUpKSB7
Ci0gICAgICAgIHNldChuYW1lLCB2YWx1ZSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAg
ICBWZWN0b3I8Y2hhciwgMTI4PiBuZXdWYWx1ZTsKLSAgICBuZXdWYWx1ZS5hcHBlbmQoZXhpc3Rp
bmdWYWx1ZSwgc3RybGVuKGV4aXN0aW5nVmFsdWUpKTsKLSAgICBuZXdWYWx1ZS5hcHBlbmQoc2Vw
YXJhdG9yKTsKLSAgICBuZXdWYWx1ZS5hcHBlbmQodmFsdWUsIHN0cmxlbih2YWx1ZSkgKyAxKTsK
LQotICAgIHNldChuYW1lLCBuZXdWYWx1ZS5kYXRhKCkpOwotfQotCi1jb25zdCBjaGFyKiBFbnZp
cm9ubWVudFZhcmlhYmxlczo6dmFsdWVJZlZhcmlhYmxlSGFzTmFtZShjb25zdCBjaGFyKiBlbnZp
cm9ubWVudFZhcmlhYmxlLCBjb25zdCBjaGFyKiBuYW1lKSBjb25zdAotewotICAgIC8vIEZpbmQg
dGhlIGVudmlyb25tZW50IHZhcmlhYmxlIG5hbWUuCi0gICAgY29uc3QgY2hhciogZXF1YWxzTG9j
YXRpb24gPSBzdHJjaHIoZW52aXJvbm1lbnRWYXJpYWJsZSwgJz0nKTsKLSAgICBBU1NFUlQoZXF1
YWxzTG9jYXRpb24pOwotCi0gICAgc2l6ZV90IG5hbWVMZW5ndGggPSBlcXVhbHNMb2NhdGlvbiAt
IGVudmlyb25tZW50VmFyaWFibGU7Ci0gICAgaWYgKHN0cmxlbihuYW1lKSAhPSBuYW1lTGVuZ3Ro
KQotICAgICAgICByZXR1cm4gMDsKLSAgICBpZiAobWVtY21wKGVudmlyb25tZW50VmFyaWFibGUs
IG5hbWUsIG5hbWVMZW5ndGgpKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIHJldHVybiBlcXVh
bHNMb2NhdGlvbiArIDE7Ci19Ci0KLWNvbnN0IGNoYXIqIEVudmlyb25tZW50VmFyaWFibGVzOjpj
cmVhdGVTdHJpbmdGb3JWYXJpYWJsZShjb25zdCBjaGFyKiBuYW1lLCBjb25zdCBjaGFyKiB2YWx1
ZSkKLXsKLSAgICBpbnQgbmFtZUxlbmd0aCA9IHN0cmxlbihuYW1lKTsKLSAgICBpbnQgdmFsdWVM
ZW5ndGggPSBzdHJsZW4odmFsdWUpOwotCi0gICAgLy8gQWxsb2NhdGUgZW5vdWdoIHJvb20gdG8g
aG9sZCAnbmFtZT12YWx1ZScgYW5kIHRoZSBudWxsIGNoYXJhY3Rlci4KLSAgICBjaGFyKiBzdHJp
bmcgPSBzdGF0aWNfY2FzdDxjaGFyKj4oZmFzdE1hbGxvYyhuYW1lTGVuZ3RoICsgMSArIHZhbHVl
TGVuZ3RoICsgMSkpOwotICAgIG1lbWNweShzdHJpbmcsIG5hbWUsIG5hbWVMZW5ndGgpOwotICAg
IHN0cmluZ1tuYW1lTGVuZ3RoXSA9ICc9JzsKLSAgICBtZW1jcHkoc3RyaW5nICsgbmFtZUxlbmd0
aCArIDEsIHZhbHVlLCB2YWx1ZUxlbmd0aCk7Ci0gICAgc3RyaW5nW25hbWVMZW5ndGggKyAxICsg
dmFsdWVMZW5ndGhdID0gJ1wwJzsKLQotICAgIG1fYWxsb2NhdGVkU3RyaW5ncy5hcHBlbmQoc3Ry
aW5nKTsKLQotICAgIHJldHVybiBzdHJpbmc7Ci19Ci0KLXZvaWQgRW52aXJvbm1lbnRWYXJpYWJs
ZXM6OmNvcHlFbnZpcm9ubWVudFZhcmlhYmxlcygpCi17Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7
ICgqX05TR2V0RW52aXJvbigpKVtpXTsgaSsrKQotICAgICAgICBtX2Vudmlyb25tZW50VmFyaWFi
bGVzLmFwcGVuZCgoKl9OU0dldEVudmlyb24oKSlbaV0pOwotCi0gICAgLy8gTnVsbC10ZXJtaW5h
dGUgdGhlIGFycmF5LgotICAgIG1fZW52aXJvbm1lbnRWYXJpYWJsZXMuYXBwZW5kKHN0YXRpY19j
YXN0PGNoYXIqPigwKSk7Ci0KLSAgICAvLyBVcGRhdGUgdGhlIGVudmlyb25tZW50IHBvaW50ZXIu
Ci0gICAgbV9lbnZpcm9ubWVudFBvaW50ZXIgPSBtX2Vudmlyb25tZW50VmFyaWFibGVzLmRhdGEo
KTsKLX0KLQotdm9pZCBFbnZpcm9ubWVudFZhcmlhYmxlczo6ZHVtcCgpCi17Ci0gICAgZm9yIChz
aXplX3QgaSA9IDA7ICgqX05TR2V0RW52aXJvbigpKVtpXTsgaSsrKQotICAgICAgICBwcmludGYo
IiVzXG4iLCAoKl9OU0dldEVudmlyb24oKSlbaV0pOwotCi0gICAgcHJpbnRmKCJcblxuXG4iKTsK
LX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvTGF1bmNoZXIvbWFjL0Vudmlyb25tZW50VmFyaWFibGVzLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvbWFjL0Vudmlyb25tZW50VmFyaWFibGVzLmgKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFjZTUzYmE4MTYzMjY1ODBhNGU3NjgyZjlkZWZjMzFk
N2QxNzk5MTkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL21hYy9FbnZpcm9ubWVudFZhcmlhYmxl
cy5oCisrKyAvZGV2L251bGwKQEAgLTEsNjUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxMCwgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNp
Zm5kZWYgRW52aXJvbm1lbnRWYXJpYWJsZXNfaAotI2RlZmluZSBFbnZpcm9ubWVudFZhcmlhYmxl
c19oCi0KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KLSNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1jbGFzcyBFbnZpcm9ubWVudFZhcmlhYmxlcyB7
Ci0gICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRW52aXJvbm1lbnRWYXJpYWJsZXMpOwotCi1wdWJs
aWM6Ci0gICAgRW52aXJvbm1lbnRWYXJpYWJsZXMoKTsKLSAgICB+RW52aXJvbm1lbnRWYXJpYWJs
ZXMoKTsKLQotICAgIHZvaWQgc2V0KGNvbnN0IGNoYXIqIG5hbWUsIGNvbnN0IGNoYXIqIHZhbHVl
KTsKLSAgICBjb25zdCBjaGFyKiBnZXQoY29uc3QgY2hhciogbmFtZSkgY29uc3Q7Ci0KLSAgICAv
LyBXaWxsIGFwcGVuZCB0aGUgdmFsdWUgd2l0aCB0aGUgZ2l2ZW4gc2VwYXJhdG9yIGlmIHRoZSBl
bnZpcm9ubWVudCB2YXJpYWJsZSBhbHJlYWR5IGV4aXN0cy4KLSAgICB2b2lkIGFwcGVuZFZhbHVl
KGNvbnN0IGNoYXIqIG5hbWUsIGNvbnN0IGNoYXIqIHZhbHVlLCBjaGFyIHNlcGFyYXRvcik7Ci0K
LSAgICBjaGFyKiogZW52aXJvbm1lbnRQb2ludGVyKCkgY29uc3QgeyByZXR1cm4gbV9lbnZpcm9u
bWVudFBvaW50ZXI7IH0KLQotICAgIHN0YXRpYyB2b2lkIGR1bXAoKTsKLQotcHJpdmF0ZToKLSAg
ICBjb25zdCBjaGFyKiB2YWx1ZUlmVmFyaWFibGVIYXNOYW1lKGNvbnN0IGNoYXIqIGVudmlyb25t
ZW50VmFyaWFibGUsIGNvbnN0IGNoYXIqIG5hbWUpIGNvbnN0OwotICAgIGNvbnN0IGNoYXIqIGNy
ZWF0ZVN0cmluZ0ZvclZhcmlhYmxlKGNvbnN0IGNoYXIqIG5hbWUsIGNvbnN0IGNoYXIqIHZhbHVl
KTsKLSAgICB2b2lkIGNvcHlFbnZpcm9ubWVudFZhcmlhYmxlcygpOwotCi0gICAgY2hhcioqIG1f
ZW52aXJvbm1lbnRQb2ludGVyOwotICAgIFZlY3RvcjxjaGFyKj4gbV9lbnZpcm9ubWVudFZhcmlh
YmxlczsKLQotICAgIC8vIFRoZXNlIGFsbG9jYXRlZCBzdHJpbmdzIHdpbGwgYmUgZnJlZWQgaW4g
dGhlIGRlc3RydWN0b3IuCi0gICAgVmVjdG9yPGNoYXIqPiBtX2FsbG9jYXRlZFN0cmluZ3M7Ci19
OwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8vIEVudmlyb25tZW50VmFyaWFi
bGVzX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9tYWMv
UHJvY2Vzc0xhdW5jaGVyTWFjLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVy
L21hYy9Qcm9jZXNzTGF1bmNoZXJNYWMubW0KaW5kZXggODAyM2I3ZDYxMzU1ODUyMmY2Y2I5ZDU3
ZDI0ZTU2OGY3M2QwMzkyNS4uZmEwODRlYTk5ZDBkNTQ1ZWRlYmUyMTIxNjNlOTUxZTM2OTZlMWMx
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL21hYy9Qcm9j
ZXNzTGF1bmNoZXJNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVy
L21hYy9Qcm9jZXNzTGF1bmNoZXJNYWMubW0KQEAgLTI2LDggKzI2LDYgQEAKICNpbXBvcnQgImNv
bmZpZy5oIgogI2ltcG9ydCAiUHJvY2Vzc0xhdW5jaGVyLmgiCiAKLSNpbXBvcnQgIkR5bmFtaWNM
aW5rZXJFbnZpcm9ubWVudEV4dHJhY3Rvci5oIgotI2ltcG9ydCAiRW52aXJvbm1lbnRWYXJpYWJs
ZXMuaCIKICNpbXBvcnQgPFdlYkNvcmUvQ0ZCdW5kbGVTUEkuaD4KICNpbXBvcnQgPFdlYkNvcmUv
U2VydmVyc1NQSS5oPgogI2ltcG9ydCA8V2ViQ29yZS9Tb2Z0TGlua2luZy5oPgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDMxYWE4
OWJiMDg2NzgzOTQwOTliZDdkYzgyMGM5M2EzYTMxZDdlNmEuLjZjNThkNzhkYmE5ODIzNDM3NTNh
YTYzYTY5YmExMDdiM2Q2NTFkNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTMwMyw4ICszMDMsNiBAQAogCQkxQTc4NjVCQTE2
Q0FDNzE1MDBBQ0U4M0EgLyogUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyTWVzc2FnZXMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNzg2NUI4
MTZDQUM3MTUwMEFDRTgzQSAvKiBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXJNZXNzYWdl
cy5oICovOyB9OwogCQkxQTdDMERGNjFCN0QxRjEwMDBBOUI4NDggLyogV0tXaW5kb3dGZWF0dXJl
c1JlZi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
QTdDMERGNDFCN0QxRjEwMDBBOUI4NDggLyogV0tXaW5kb3dGZWF0dXJlc1JlZi5jcHAgKi87IH07
CiAJCTFBN0MwREY3MUI3RDFGMTAwMEE5Qjg0OCAvKiBXS1dpbmRvd0ZlYXR1cmVzUmVmLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTdDMERGNTFCN0Qx
RjEwMDBBOUI4NDggLyogV0tXaW5kb3dGZWF0dXJlc1JlZi5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTFBN0M2Q0RBMTM3ODk1MDgwMEI5QzA0RCAv
KiBFbnZpcm9ubWVudFZhcmlhYmxlcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxQTdDNkNEODEzNzg5NTA4MDBCOUMwNEQgLyogRW52aXJvbm1lbnRW
YXJpYWJsZXMuY3BwICovOyB9OwotCQkxQTdDNkNEQjEzNzg5NTA4MDBCOUMwNEQgLyogRW52aXJv
bm1lbnRWYXJpYWJsZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFBN0M2Q0Q5MTM3ODk1MDgwMEI5QzA0RCAvKiBFbnZpcm9ubWVudFZhcmlhYmxlcy5o
ICovOyB9OwogCQkxQTdFMzc3NTE4RTRBMzNBMDAzRDBGRkYgLyogV0tTY3JpcHRNZXNzYWdlSGFu
ZGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE3
RTM3NzQxOEU0QTMzQTAwM0QwRkZGIC8qIFdLU2NyaXB0TWVzc2FnZUhhbmRsZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJsaWMsICk7IH07IH07CiAJCTFBN0UzNzc4MThFNEE0
RkUwMDNEMEZGRiAvKiBXS1NjcmlwdE1lc3NhZ2UubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTdFMzc3NjE4RTRBNEZFMDAzRDBGRkYgLyogV0tTY3Jp
cHRNZXNzYWdlLm1tICovOyB9OwogCQkxQTdFMzc3OTE4RTRBNEZFMDAzRDBGRkYgLyogV0tTY3Jp
cHRNZXNzYWdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxQTdFMzc3NzE4RTRBNEZFMDAzRDBGRkYgLyogV0tTY3JpcHRNZXNzYWdlLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9OwpAQCAtMTA1Miw4ICsxMDUwLDYg
QEAKIAkJNUM4NUM3ODgxQzNGMjNDRTAwNjFBNEZBIC8qIFBlbmRpbmdEb3dubG9hZC5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Qzg1Qzc4NjFDM0Yy
M0M1MDA2MUE0RkEgLyogUGVuZGluZ0Rvd25sb2FkLmNwcCAqLzsgfTsKIAkJNUNCQzlCOEQxQzY1
Mjc5QzAwQThGRENGIC8qIE5ldHdvcmtEYXRhVGFza0NvY29hLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUNCQzlCOEIxQzY1MjU3MzAwQThGRENGIC8q
IE5ldHdvcmtEYXRhVGFza0NvY29hLm1tICovOyB9OwogCQk1Q0JDOUI4RTFDNjUyQ0EwMDBBOEZE
Q0YgLyogTmV0d29ya0RhdGFUYXNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1Q0JDOUI4OTFDNjUyNEE1MDBBOEZEQ0YgLyogTmV0d29ya0RhdGFUYXNr
LmggKi87IH07Ci0JCTVEQTZFRDBBMTQ5MDYwNjkwMEI0MUQxMiAvKiBEeW5hbWljTGlua2VyRW52
aXJvbm1lbnRFeHRyYWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDVEQTZFRDA4MTQ5MDYwNjkwMEI0MUQxMiAvKiBEeW5hbWljTGlua2VyRW52aXJv
bm1lbnRFeHRyYWN0b3IuaCAqLzsgfTsKLQkJNURBNkVEMEIxNDkwNjA2OTAwQjQxRDEyIC8qIER5
bmFtaWNMaW5rZXJFbnZpcm9ubWVudEV4dHJhY3Rvci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVEQTZFRDA5MTQ5MDYwNjkwMEI0MUQxMiAvKiBEeW5h
bWljTGlua2VyRW52aXJvbm1lbnRFeHRyYWN0b3IubW0gKi87IH07CiAJCTY1MDFCRDFBMTJGMTI0
MzQwMEU5RjI0OCAvKiBXS0J1bmRsZUluc3BlY3Rvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NUI4NkYxNzEyRjExRDdCMDBCN0REOEEgLyogV0tC
dW5kbGVJbnNwZWN0b3IuY3BwICovOyB9OwogCQk2NTlDNTUxRTEzMDAwNjQxMDAyNUMwQzIgLyog
SW5qZWN0ZWRCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1NDZBODI5MTMwMDAxNjQwMDBDRUIxQyAv
KiBJbmplY3RlZEJ1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQuY3BwICovOyB9OwogCQk2NUI4
NkYxRTEyRjExREUzMDBCN0REOEEgLyogV0tCdW5kbGVJbnNwZWN0b3IuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1Qjg2RjE4MTJGMTFEN0IwMEI3REQ4
QSAvKiBXS0J1bmRsZUluc3BlY3Rvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CkBAIC0yMjUxLDggKzIyNDcsNiBAQAogCQkxQTc4NjVCODE2Q0FDNzE1
MDBBQ0U4M0EgLyogUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyTWVzc2FnZXMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5h
Z2VyTWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUE3QzBERjQxQjdE
MUYxMDAwQTlCODQ4IC8qIFdLV2luZG93RmVhdHVyZXNSZWYuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gV0tXaW5kb3dGZWF0dXJlc1JlZi5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTFBN0MwREY1MUI3RDFGMTAwMEE5Qjg0OCAvKiBXS1dpbmRvd0Zl
YXR1cmVzUmVmLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLV2luZG93RmVh
dHVyZXNSZWYuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMUE3QzZDRDgxMzc4OTUw
ODAwQjlDMDREIC8qIEVudmlyb25tZW50VmFyaWFibGVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEVudmlyb25tZW50VmFyaWFibGVzLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJMUE3QzZDRDkxMzc4OTUwODAwQjlDMDREIC8qIEVudmlyb25tZW50
VmFyaWFibGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEVudmlyb25tZW50
VmFyaWFibGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBN0RBNTREMUFGRDhC
MzgwMDE4MjM5RCAvKiBJbmZvLU9TWC0xMC45LTEwLjEwLnBsaXN0ICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5w
bGlzdC54bWw7IHBhdGggPSAiSW5mby1PU1gtMTAuOS0xMC4xMC5wbGlzdCI7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTFBN0UzNzc0MThFNEEzM0EwMDNEMEZGRiAvKiBXS1NjcmlwdE1l
c3NhZ2VIYW5kbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLU2NyaXB0
TWVzc2FnZUhhbmRsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUE3RTM3NzYx
OEU0QTRGRTAwM0QwRkZGIC8qIFdLU2NyaXB0TWVzc2FnZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLU2NyaXB0TWVzc2FnZS5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTMwNzQsOCArMzA2OCw2IEBACiAJCTVDQkM5Qjg5MUM2NTI0QTUwMEE4
RkRDRiAvKiBOZXR3b3JrRGF0YVRhc2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gTmV0d29ya0RhdGFUYXNrLmg7IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrRGF0YVRh
c2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUNCQzlCOEIxQzY1MjU3MzAwQThG
RENGIC8qIE5ldHdvcmtEYXRhVGFza0NvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBuYW1lID0gTmV0d29ya0RhdGFUYXNrQ29jb2EubW07IHBhdGggPSBOZXR3b3JrUHJv
Y2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNUQ0NDJBNTUxNkQ1ODU2NzAwQUMzMzMxIC8qIFBsdWdpblNlcnZpY2UuZW50aXRs
ZW1lbnRzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dC54bWw7IHBhdGggPSBQbHVnaW5TZXJ2aWNlLmVudGl0bGVtZW50czsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJNURBNkVEMDgxNDkwNjA2OTAwQjQxRDEyIC8qIER5bmFtaWNMaW5r
ZXJFbnZpcm9ubWVudEV4dHJhY3Rvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBEeW5hbWljTGlua2VyRW52aXJvbm1lbnRFeHRyYWN0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJNURBNkVEMDkxNDkwNjA2OTAwQjQxRDEyIC8qIER5bmFtaWNMaW5rZXJFbnZp
cm9ubWVudEV4dHJhY3Rvci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IER5bmFtaWNMaW5rZXJFbnZpcm9ubWVudEV4dHJhY3Rvci5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNURBRDczRjExMTZGRjkwQzAwRUU1Mzk2IC8qIEJhc2VUYXJnZXQueGNj
b25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRoID0gQmFzZVRhcmdldC54Y2NvbmZp
Zzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjU0NkE4MjkxMzAwMDE2NDAwMENFQjFD
IC8qIEluamVjdGVkQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbmplY3RlZEJ1bmRsZVBhZ2VSZXNvdXJjZUxvYWRD
bGllbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2NTQ2QTgyQTEzMDAwMTY0
MDAwQ0VCMUMgLyogSW5qZWN0ZWRCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluamVjdGVkQnVuZGxlUGFnZVJlc291cmNlTG9h
ZENsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNjIwNiwxMCArNjE5OCw2
IEBACiAJCUJDMTExQjE5MTEyRjVGQzUwMDMzN0JBQiAvKiBtYWMgKi8gPSB7CiAJCQlpc2EgPSBQ
QlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAotCQkJCTVEQTZFRDA4MTQ5MDYwNjkwMEI0MUQxMiAv
KiBEeW5hbWljTGlua2VyRW52aXJvbm1lbnRFeHRyYWN0b3IuaCAqLywKLQkJCQk1REE2RUQwOTE0
OTA2MDY5MDBCNDFEMTIgLyogRHluYW1pY0xpbmtlckVudmlyb25tZW50RXh0cmFjdG9yLm1tICov
LAotCQkJCTFBN0M2Q0Q4MTM3ODk1MDgwMEI5QzA0RCAvKiBFbnZpcm9ubWVudFZhcmlhYmxlcy5j
cHAgKi8sCi0JCQkJMUE3QzZDRDkxMzc4OTUwODAwQjlDMDREIC8qIEVudmlyb25tZW50VmFyaWFi
bGVzLmggKi8sCiAJCQkJQkMxMTFCMUIxMTJGNUZFNjAwMzM3QkFCIC8qIFByb2Nlc3NMYXVuY2hl
ck1hYy5tbSAqLywKIAkJCSk7CiAJCQlwYXRoID0gbWFjOwpAQCAtNzM0OSwxMSArNzMzNyw5IEBA
CiAJCQkJMUE2NDIyOUExMkREMDI5MjAwQ0FBRTJDIC8qIERyYXdpbmdBcmVhTWVzc2FnZXMuaCBp
biBIZWFkZXJzICovLAogCQkJCUJDMjY1MjE3MTE4MjYwODEwMDI0M0UxMiAvKiBEcmF3aW5nQXJl
YVByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTY0MjMwOTEyREQwOUVCMDBDQUFFMkMgLyog
RHJhd2luZ0FyZWFQcm94eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKLQkJCQk1REE2RUQwQTE0
OTA2MDY5MDBCNDFEMTIgLyogRHluYW1pY0xpbmtlckVudmlyb25tZW50RXh0cmFjdG9yLmggaW4g
SGVhZGVycyAqLywKIAkJCQlFMTA1RkU1NDE4RDdCOURFMDA4RjU3QTggLyogRWRpdGluZ1Jhbmdl
LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUE0MUFCNTEyQzAyRUM0MDAyQkU2N0IgLyogRWRpdG9y
U3RhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxQjE1QTg1MTM4NDNBMzkwMDMyMUFEOCAvKiBF
bnZpcm9ubWVudFV0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMUE3QzZDREIxMzc4OTUw
ODAwQjlDMDREIC8qIEVudmlyb25tZW50VmFyaWFibGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkx
QUE1NzVGQjE0OTZCNTI2MDBBNEVFMDYgLyogRXZlbnREaXNwYXRjaGVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQkwMEI5NjYxQTE4RTI1QUUxMDBDRTFGODggLyogRmluZENsaWVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMUE5MEMxRjQxMjY0RkQ3MTAwM0U0NEQ0IC8qIEZpbmRDb250cm9sbGVyLmgg
aW4gSGVhZGVycyAqLywKQEAgLTg4MDAsMTAgKzg3ODYsOCBAQAogCQkJCTFBNjQyMjk5MTJERDAy
OTIwMENBQUUyQyAvKiBEcmF3aW5nQXJlYU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlCQzI2NTIxNjExODI2MDgxMDAyNDNFMTIgLyogRHJhd2luZ0FyZWFQcm94eS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkxQTY0MjMwODEyREQwOUVCMDBDQUFFMkMgLyogRHJhd2luZ0Fy
ZWFQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk1REE2RUQwQjE0
OTA2MDY5MDBCNDFEMTIgLyogRHluYW1pY0xpbmtlckVudmlyb25tZW50RXh0cmFjdG9yLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJOENGRUNFOTQxNDkwRjE0MDAwMkFBQTMyIC8qIEVkaXRvclN0YXRl
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxQjE1QTg0MTM4NDNBMzkwMDMyMUFEOCAvKiBFbnZp
cm9ubWVudFV0aWxpdGllcy5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkxQTdDNkNEQTEzNzg5NTA4
MDBCOUMwNEQgLyogRW52aXJvbm1lbnRWYXJpYWJsZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MUFBNTc1RkExNDk2QjUyNjAwQTRFRTA2IC8qIEV2ZW50RGlzcGF0Y2hlci5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkxQUE1NzYwMjE0OTZCOTc5MDBBNEVFMDYgLyogRXZlbnREaXNwYXRjaGVyTWVz
c2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTAwQjk2NjE5MThFMjVBRTEwMENF
MUY4OCAvKiBGaW5kQ2xpZW50Lm1tIGluIFNvdXJjZXMgKi8sCg==
</data>
<flag name="review"
          id="296302"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>