<?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>123177</bug_id>
          
          <creation_ts>2013-10-22 15:38:39 -0700</creation_ts>
          <short_desc>Implement a software rendering option on Mac</short_desc>
          <delta_ts>2013-10-22 21:40:29 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebGL</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dean Jackson">dino</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>roger_fong</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>942446</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-10-22 15:38:39 -0700</bug_when>
    <thetext>Implement a method to force software rendering of OpenGL, and a setting to expose that publicly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>942447</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2013-10-22 15:39:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/15292276&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>942541</commentid>
    <comment_count>2</comment_count>
      <attachid>214915</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-10-22 18:01:29 -0700</bug_when>
    <thetext>Created attachment 214915
Broken patch

This doesn&apos;t get the setting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>942548</commentid>
    <comment_count>3</comment_count>
      <attachid>214917</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-10-22 18:38:18 -0700</bug_when>
    <thetext>Created attachment 214917
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>942549</commentid>
    <comment_count>4</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-10-22 18:50:54 -0700</bug_when>
    <thetext>Committed r157843: &lt;http://trac.webkit.org/changeset/157843&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>942580</commentid>
    <comment_count>5</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-10-22 21:37:55 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>942581</commentid>
    <comment_count>6</comment_count>
      <attachid>214925</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-10-22 21:38:00 -0700</bug_when>
    <thetext>Created attachment 214925
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>942582</commentid>
    <comment_count>7</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-10-22 21:40:16 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Created an attachment (id=214925) [details]
&gt; Patch

Oooooops. I&apos;m sorry. I upload my patch in wrong bug. Please ignore my upload.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214915</attachid>
            <date>2013-10-22 18:01:29 -0700</date>
            <delta_ts>2013-10-22 18:38:13 -0700</delta_ts>
            <desc>Broken patch</desc>
            <filename>wtf.patch</filename>
            <type>text/plain</type>
            <size>14427</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRl
eHQuY3BwCmluZGV4IDBiMzk1NzkuLjk0MDc1ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcApAQCAtNDI5LDYgKzQyOSw5
IEBAIE93blB0cjxXZWJHTFJlbmRlcmluZ0NvbnRleHQ+IFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6
Y3JlYXRlKEhUTUxDYW52YXNFbGVtZW50KiBjCiAgICAgaWYgKGZyYW1lLT5zZXR0aW5ncygpLm11
bHRpdGhyZWFkZWRXZWJHTEVuYWJsZWQoKSkKICAgICAgICAgYXR0cmlidXRlcy5tdWx0aXRocmVh
ZGVkID0gdHJ1ZTsKIAorICAgIGlmIChmcmFtZS0+c2V0dGluZ3MoKS5mb3JjZVNvZnR3YXJlV2Vi
R0xSZW5kZXJpbmcoKSkKKyAgICAgICAgYXR0cmlidXRlcy5mb3JjZVNvZnR3YXJlUmVuZGVyZXIg
PSB0cnVlOworCiAgICAgUmVmUHRyPEdyYXBoaWNzQ29udGV4dDNEPiBjb250ZXh0KEdyYXBoaWNz
Q29udGV4dDNEOjpjcmVhdGUoYXR0cmlidXRlcywgaG9zdFdpbmRvdykpOwogCiAgICAgaWYgKCFj
b250ZXh0IHx8ICFjb250ZXh0LT5tYWtlQ29udGV4dEN1cnJlbnQoKSkgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5pbiBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0
dGluZ3MuaW4KaW5kZXggMWY1M2YwNi4uY2VmZGY1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9TZXR0aW5ncy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmlu
CkBAIC0xMDgsNiArMTA4LDcgQEAgd2ViR0xFcnJvcnNUb0NvbnNvbGVFbmFibGVkIGluaXRpYWw9
dHJ1ZQogb3BlbkdMTXVsdGlzYW1wbGluZ0VuYWJsZWQgaW5pdGlhbD10cnVlCiBtdWx0aXRocmVh
ZGVkV2ViR0xFbmFibGVkIGluaXRpYWw9ZmFsc2UKIHByaXZpbGVnZWRXZWJHTEV4dGVuc2lvbnNF
bmFibGVkIGluaXRpYWw9ZmFsc2UKK2ZvcmNlU29mdHdhcmVXZWJHTFJlbmRlcmluZyBpbml0aWFs
PWZhbHNlCiBhY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZCBpbml0aWFsPWZhbHNlCiBhbnRpYWxp
YXNlZDJkQ2FudmFzRW5hYmxlZCBpbml0aWFsPXRydWUKIGxvYWREZWZlcnJpbmdFbmFibGVkIGlu
aXRpYWw9dHJ1ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
R3JhcGhpY3NDb250ZXh0M0QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzQ29udGV4dDNELmgKaW5kZXggY2Q4YzU0ZC4uZjE2NjFlOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCkBAIC00
MzQsNiArNDM0LDcgQEAgcHVibGljOgogICAgICAgICAgICAgLCBzaGFyZVJlc291cmNlcyh0cnVl
KQogICAgICAgICAgICAgLCBwcmVmZXJEaXNjcmV0ZUdQVShmYWxzZSkKICAgICAgICAgICAgICwg
bXVsdGl0aHJlYWRlZChmYWxzZSkKKyAgICAgICAgICAgICwgZm9yY2VTb2Z0d2FyZVJlbmRlcmVy
KGZhbHNlKQogICAgICAgICB7CiAgICAgICAgIH0KIApAQCAtNDQ3LDYgKzQ0OCw3IEBAIHB1Ymxp
YzoKICAgICAgICAgYm9vbCBzaGFyZVJlc291cmNlczsKICAgICAgICAgYm9vbCBwcmVmZXJEaXNj
cmV0ZUdQVTsKICAgICAgICAgYm9vbCBtdWx0aXRocmVhZGVkOworICAgICAgICBib29sIGZvcmNl
U29mdHdhcmVSZW5kZXJlcjsKICAgICB9OwogCiAgICAgZW51bSBSZW5kZXJTdHlsZSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NDb250
ZXh0M0RNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhp
Y3NDb250ZXh0M0RNYWMubW0KaW5kZXggMDgyNzE2Zi4uYWM2MThmYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzQ29udGV4dDNETWFjLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRl
eHQzRE1hYy5tbQpAQCAtMTE4LDQ2ICsxMTgsNTggQEAgR3JhcGhpY3NDb250ZXh0M0Q6OkdyYXBo
aWNzQ29udGV4dDNEKEdyYXBoaWNzQ29udGV4dDNEOjpBdHRyaWJ1dGVzIGF0dHJzLCBIb3N0V2kK
ICAgICBDR0xQaXhlbEZvcm1hdE9iaiBwaXhlbEZvcm1hdE9iaiA9IDA7CiAgICAgR0xpbnQgbnVt
UGl4ZWxGb3JtYXRzID0gMDsKICAgICAKLSAgICAvLyBXZSB3aWxsIHRyeToKKyAgICAvLyBJZiB3
ZSdyZSBjb25maWd1cmVkIHRvIGRlbWFuZCB0aGUgc29mdHdhcmUgcmVuZGVyZXIsIHdlJ2xsCisg
ICAgLy8gZG8gc28uIFdlIGF0dGVtcHQgdG8gY3JlYXRlIGNvbnRleHRzIGluIHRoaXMgb3JkZXI6
CiAgICAgLy8KLSAgICAvLyAgMSkgMzIgYml0IFJHQkEvMzIgYml0IGRlcHRoL2FjY2VsZXJhdGVk
L3N1cGVyc2FtcGxlZAotICAgIC8vICAyKSAzMiBiaXQgUkdCQS8zMiBiaXQgZGVwdGgvYWNjZWxl
cmF0ZWQKLSAgICAvLyAgMykgMzIgYml0IFJHQkEvMTYgYml0IGRlcHRoL2FjY2VsZXJhdGVkCi0g
ICAgLy8gIDQpIGNsb3Nlc3QgdG8gMzIgYml0IFJHQkEvMTYgYml0IGRlcHRoL3NvZnR3YXJlIHJl
bmRlcmVyCisgICAgLy8gMSkgMzIgYml0IFJHQkEvMzIgYml0IGRlcHRoL3N1cGVyc2FtcGxlZAor
ICAgIC8vIDIpIDMyIGJpdCBSR0JBLzMyIGJpdCBkZXB0aAorICAgIC8vIDMpIDMyIGJpdCBSR0JB
LzE2IGJpdCBkZXB0aAogICAgIC8vCi0gICAgLy8gIElmIG5vbmUgb2YgdGhhdCB3b3Jrcywgd2Ug
c2ltcGx5IGZhaWwgYW5kIHNldCBtX2NvbnRleHRPYmogdG8gMC4KKyAgICAvLyBJZiB3ZSB3ZXJl
IG5vdCBmb3JjZWQgaW50byBzb2Z0d2FyZSBtb2RlIGFscmVhZHksIG91ciBmaW5hbCBhdHRlbXB0
IGlzCisgICAgLy8gdG8gdHJ5IHRoYXQ6CisgICAgLy8KKyAgICAvLyA0KSBjbG9zZXN0IHRvIDMy
IGJpdCBSR0JBLzE2IGJpdCBkZXB0aC9zb2Z0d2FyZSByZW5kZXJlcgorICAgIC8vCisgICAgLy8g
SWYgbm9uZSBvZiB0aGF0IHdvcmtzLCB3ZSBzaW1wbHkgZmFpbCBhbmQgc2V0IG1fY29udGV4dE9i
aiB0byAwLgorCisgICAgcHJpbnRmKCJGb3JjaW5nIHNvZnR3YXJlIHJlbmRlcmVyOiAlc1xuIiwg
YXR0cnMuZm9yY2VTb2Z0d2FyZVJlbmRlcmVyID8gIllFUyIgOiAiTk8iKTsKICAgICAKLSAgICBz
ZXRQaXhlbEZvcm1hdChhdHRyaWJzLCAzMiwgMzIsIHRydWUsIHRydWUsIGZhbHNlKTsKKyAgICBz
ZXRQaXhlbEZvcm1hdChhdHRyaWJzLCAzMiwgMzIsICFhdHRycy5mb3JjZVNvZnR3YXJlUmVuZGVy
ZXIsIHRydWUsIGZhbHNlKTsKICAgICBDR0xDaG9vc2VQaXhlbEZvcm1hdChhdHRyaWJzLmRhdGEo
KSwgJnBpeGVsRm9ybWF0T2JqLCAmbnVtUGl4ZWxGb3JtYXRzKTsKKwogICAgIGlmIChudW1QaXhl
bEZvcm1hdHMgPT0gMCkgewotICAgICAgICBzZXRQaXhlbEZvcm1hdChhdHRyaWJzLCAzMiwgMzIs
IHRydWUsIGZhbHNlLCBmYWxzZSk7CisgICAgICAgIHNldFBpeGVsRm9ybWF0KGF0dHJpYnMsIDMy
LCAzMiwgIWF0dHJzLmZvcmNlU29mdHdhcmVSZW5kZXJlciwgZmFsc2UsIGZhbHNlKTsKICAgICAg
ICAgQ0dMQ2hvb3NlUGl4ZWxGb3JtYXQoYXR0cmlicy5kYXRhKCksICZwaXhlbEZvcm1hdE9iaiwg
Jm51bVBpeGVsRm9ybWF0cyk7Ci0gICAgICAgIAorCiAgICAgICAgIGlmIChudW1QaXhlbEZvcm1h
dHMgPT0gMCkgewotICAgICAgICAgICAgc2V0UGl4ZWxGb3JtYXQoYXR0cmlicywgMzIsIDE2LCB0
cnVlLCBmYWxzZSwgZmFsc2UpOworICAgICAgICAgICAgc2V0UGl4ZWxGb3JtYXQoYXR0cmlicywg
MzIsIDE2LCAhYXR0cnMuZm9yY2VTb2Z0d2FyZVJlbmRlcmVyLCBmYWxzZSwgZmFsc2UpOwogICAg
ICAgICAgICAgQ0dMQ2hvb3NlUGl4ZWxGb3JtYXQoYXR0cmlicy5kYXRhKCksICZwaXhlbEZvcm1h
dE9iaiwgJm51bVBpeGVsRm9ybWF0cyk7Ci0gICAgICAgIAotICAgICAgICAgICAgaWYgKG51bVBp
eGVsRm9ybWF0cyA9PSAwKSB7Ci0gICAgICAgICAgICAgICAgc2V0UGl4ZWxGb3JtYXQoYXR0cmli
cywgMzIsIDE2LCBmYWxzZSwgZmFsc2UsIHRydWUpOwotICAgICAgICAgICAgICAgIENHTENob29z
ZVBpeGVsRm9ybWF0KGF0dHJpYnMuZGF0YSgpLCAmcGl4ZWxGb3JtYXRPYmosICZudW1QaXhlbEZv
cm1hdHMpOwotICAgICAgICAKLSAgICAgICAgICAgICAgICBpZiAobnVtUGl4ZWxGb3JtYXRzID09
IDApIHsKLSAgICAgICAgICAgICAgICAgICAgLy8gQ291bGQgbm90IGZpbmQgYW4gYWNjZXB0YWJs
ZSByZW5kZXJlciAtIGZhaWwKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICAgICAgIGlmICghYXR0cnMuZm9yY2VTb2Z0
d2FyZVJlbmRlcmVyICYmIG51bVBpeGVsRm9ybWF0cyA9PSAwKSB7CisgICAgICAgICAgICAgICAg
IHNldFBpeGVsRm9ybWF0KGF0dHJpYnMsIDMyLCAxNiwgZmFsc2UsIGZhbHNlLCB0cnVlKTsKKyAg
ICAgICAgICAgICAgICAgQ0dMQ2hvb3NlUGl4ZWxGb3JtYXQoYXR0cmlicy5kYXRhKCksICZwaXhl
bEZvcm1hdE9iaiwgJm51bVBpeGVsRm9ybWF0cyk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0K
ICAgICB9CisKKyAgICBpZiAobnVtUGl4ZWxGb3JtYXRzID09IDApCisgICAgICAgIHJldHVybjsK
ICAgICAKICAgICBDR0xFcnJvciBlcnIgPSBDR0xDcmVhdGVDb250ZXh0KHBpeGVsRm9ybWF0T2Jq
LCAwLCAmbV9jb250ZXh0T2JqKTsKICAgICBDR0xEZXN0cm95UGl4ZWxGb3JtYXQocGl4ZWxGb3Jt
YXRPYmopOwogICAgIAogICAgIGlmIChlcnIgIT0ga0NHTE5vRXJyb3IgfHwgIW1fY29udGV4dE9i
aikgewotICAgICAgICAvLyBDb3VsZCBub3QgY3JlYXRlIHRoZSBjb250ZXh0IC0gZmFpbAorICAg
ICAgICAvLyBXZSB3ZXJlIHVuYWJsZSB0byBjcmVhdGUgdGhlIGNvbnRleHQuCiAgICAgICAgIG1f
Y29udGV4dE9iaiA9IDA7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAgICBwaXhlbEZvcm1h
dE9iaiA9IENHTEdldFBpeGVsRm9ybWF0KG1fY29udGV4dE9iaik7CisgICAgCisgICAgR0xpbnQg
Y3VycmVudFJlbmRlcmVySUQ7CisgICAgQ0dMR2V0UGFyYW1ldGVyKG1fY29udGV4dE9iaiwga0NH
TENQQ3VycmVudFJlbmRlcmVySUQsICZjdXJyZW50UmVuZGVyZXJJRCk7CisgICAgcHJpbnRmKCJD
dXJyZW50IHJlbmRlcmVyIGlkIGlzICVkXG4iLCBjdXJyZW50UmVuZGVyZXJJRCk7CisKICAgICAv
LyBTZXQgdGhlIGN1cnJlbnQgY29udGV4dCB0byB0aGUgb25lIGdpdmVuIHRvIHVzLgogICAgIENH
TFNldEN1cnJlbnRDb250ZXh0KG1fY29udGV4dE9iaik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmggYi9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCmluZGV4IDgwMDNjYmUu
LjM0M2YyMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVy
ZW5jZUtleXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVm
ZXJlbmNlS2V5c1ByaXZhdGUuaApAQCAtMTAzLDYgKzEwMyw3IEBACiAjZGVmaW5lIFdlYktpdFdl
YkF1ZGlvRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRXZWJBdWRpb0VuYWJsZWQiCiAjZGVm
aW5lIFdlYktpdFdlYkdMRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRXZWJHTEVuYWJsZWQi
CiAjZGVmaW5lIFdlYktpdE11bHRpdGhyZWFkZWRXZWJHTEVuYWJsZWRQcmVmZXJlbmNlS2V5IEAi
V2ViS2l0TXVsdGl0aHJlYWRlZFdlYkdMRW5hYmxlZCIKKyNkZWZpbmUgV2ViS2l0Rm9yY2VTb2Z0
d2FyZVdlYkdMUmVuZGVyaW5nUHJlZmVyZW5jZUtleSBAIldlYktpdEZvcmNlU29mdHdhcmVXZWJH
TFJlbmRlcmluZyIKICNkZWZpbmUgV2ViS2l0QWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWRQcmVm
ZXJlbmNlS2V5IEAiV2ViS2l0QWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWQiCiAjZGVmaW5lIFdl
YktpdEZyYW1lRmxhdHRlbmluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0RnJhbWVGbGF0
dGVuaW5nRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkUHJl
ZmVyZW5jZUtleSBAIldlYktpdFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0gYi9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCmluZGV4IDVjMGJlZjVjLi4yZDQ5YjJl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KQEAgLTM3
OSw2ICszNzksNyBAQCBwdWJsaWM6CiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpO
T10sICAgV2ViS2l0U2hvd1JlcGFpbnRDb3VudGVyUHJlZmVyZW5jZUtleSwKICAgICAgICAgW05T
TnVtYmVyIG51bWJlcldpdGhCb29sOllFU10sICBXZWJLaXRXZWJHTEVuYWJsZWRQcmVmZXJlbmNl
S2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgIFdlYktpdE11bHRp
dGhyZWFkZWRXZWJHTEVuYWJsZWRQcmVmZXJlbmNlS2V5LAorICAgICAgICBbTlNOdW1iZXIgbnVt
YmVyV2l0aEJvb2w6Tk9dLCAgV2ViS2l0Rm9yY2VTb2Z0d2FyZVdlYkdMUmVuZGVyaW5nUHJlZmVy
ZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSwgICBXZWJLaXRB
Y2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAgIFtOU051bWJl
ciBudW1iZXJXaXRoQm9vbDpOT10sICAgV2ViS2l0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZFByZWZl
cmVuY2VLZXksCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sICAgV2ViS2l0
U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkUHJlZmVyZW5jZUtleSwKQEAgLTE0NzksNiArMTQ4MCwx
NiBAQCBzdGF0aWMgTlNTdHJpbmcgKmNsYXNzSUJDcmVhdG9ySUQgPSBuaWw7CiAgICAgW3NlbGYg
X3NldEJvb2xWYWx1ZTplbmFibGVkIGZvcktleTpXZWJLaXRNdWx0aXRocmVhZGVkV2ViR0xFbmFi
bGVkUHJlZmVyZW5jZUtleV07CiB9CiAKKy0gKEJPT0wpZm9yY2VTb2Z0d2FyZVdlYkdMUmVuZGVy
aW5nCit7CisgICAgcmV0dXJuIFtzZWxmIF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0Rm9yY2VTb2Z0
d2FyZVdlYkdMUmVuZGVyaW5nUHJlZmVyZW5jZUtleV07Cit9CisKKy0gKHZvaWQpc2V0Rm9yY2VT
b2Z0d2FyZVdlYkdMUmVuZGVyaW5nOihCT09MKWZvcmNlZAoreworICAgIFtzZWxmIF9zZXRCb29s
VmFsdWU6Zm9yY2VkIGZvcktleTpXZWJLaXRGb3JjZVNvZnR3YXJlV2ViR0xSZW5kZXJpbmdQcmVm
ZXJlbmNlS2V5XTsKK30KKwogLSAoQk9PTClhY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZAogewog
ICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdEFjY2VsZXJhdGVkMmRDYW52
YXNFbmFibGVkUHJlZmVyZW5jZUtleV07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAppbmRleCA4MjVhZDRiLi5iZGQwNDU1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKQEAg
LTIxNCw2ICsyMTQsOSBAQCBleHRlcm4gTlNTdHJpbmcgKldlYlByZWZlcmVuY2VzQ2FjaGVNb2Rl
bENoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbjsKIC0gKEJPT0wpbXVsdGl0aHJlYWRlZFdlYkdM
RW5hYmxlZDsKIC0gKHZvaWQpc2V0TXVsdGl0aHJlYWRlZFdlYkdMRW5hYmxlZDooQk9PTCllbmFi
bGVkOwogCistIChCT09MKWZvcmNlU29mdHdhcmVXZWJHTFJlbmRlcmluZzsKKy0gKHZvaWQpc2V0
Rm9yY2VTb2Z0d2FyZVdlYkdMUmVuZGVyaW5nOihCT09MKWZvcmNlZDsKKwogLSAoQk9PTClhY2Nl
bGVyYXRlZDJkQ2FudmFzRW5hYmxlZDsKIC0gKHZvaWQpc2V0QWNjZWxlcmF0ZWQyZENhbnZhc0Vu
YWJsZWQ6KEJPT0wpZW5hYmxlZDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmlu
ZGV4IDI3MjEyNGMuLjc1MGM3OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0K
QEAgLTE1MjQsNiArMTUyNCw3IEBAIHN0YXRpYyBib29sIG5lZWRzU2VsZlJldGFpbldoaWxlTG9h
ZGluZ1F1aXJrKCkKICAgICBzZXR0aW5ncy5zZXRTaG93UmVwYWludENvdW50ZXIoW3ByZWZlcmVu
Y2VzIHNob3dSZXBhaW50Q291bnRlcl0pOwogICAgIHNldHRpbmdzLnNldFdlYkdMRW5hYmxlZChb
cHJlZmVyZW5jZXMgd2ViR0xFbmFibGVkXSk7CiAgICAgc2V0dGluZ3Muc2V0TXVsdGl0aHJlYWRl
ZFdlYkdMRW5hYmxlZChbcHJlZmVyZW5jZXMgbXVsdGl0aHJlYWRlZFdlYkdMRW5hYmxlZF0pOwor
ICAgIHNldHRpbmdzLnNldEZvcmNlU29mdHdhcmVXZWJHTFJlbmRlcmluZyhbcHJlZmVyZW5jZXMg
Zm9yY2VTb2Z0d2FyZVdlYkdMUmVuZGVyaW5nXSk7CiAgICAgc2V0dGluZ3Muc2V0QWNjZWxlcmF0
ZWQyZENhbnZhc0VuYWJsZWQoW3ByZWZlcmVuY2VzIGFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVk
XSk7CiAgICAgc2V0dGluZ3Muc2V0TG9hZERlZmVycmluZ0VuYWJsZWQoc2hvdWxkRW5hYmxlTG9h
ZERlZmVycmluZygpKTsKICAgICBzZXR0aW5ncy5zZXRXaW5kb3dGb2N1c1Jlc3RyaWN0ZWQoc2hv
dWxkUmVzdHJpY3RXaW5kb3dGb2N1cygpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJl
ZmVyZW5jZXNTdG9yZS5oCmluZGV4IGQzMzlhNjcuLmRiNTVmZjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmgKKysrIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaApAQCAtOTQsNiArOTQsNyBAQCBuYW1lc3Bh
Y2UgV2ViS2l0IHsKICAgICBtYWNybyhDU1NDdXN0b21GaWx0ZXJFbmFibGVkLCBjc3NDdXN0b21G
aWx0ZXJFbmFibGVkLCBCb29sLCBib29sLCB0cnVlKSBcCiAgICAgbWFjcm8oV2ViR0xFbmFibGVk
LCB3ZWJHTEVuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUpIFwKICAgICBtYWNybyhNdWx0aXRocmVh
ZGVkV2ViR0xFbmFibGVkLCBtdWx0aXRocmVhZGVkV2ViR0xFbmFibGVkLCBCb29sLCBib29sLCBm
YWxzZSkgXAorICAgIG1hY3JvKEZvcmNlU29mdHdhcmVXZWJHTFJlbmRlcmluZywgZm9yY2VTb2Z0
d2FyZVdlYkdMUmVuZGVyaW5nLCBCb29sLCBib29sLCBmYWxzZSkgXAogICAgIG1hY3JvKEFjY2Vs
ZXJhdGVkMmRDYW52YXNFbmFibGVkLCBhY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZCwgQm9vbCwg
Ym9vbCwgZmFsc2UpIFwKICAgICBtYWNybyhDU1NSZWdpb25zRW5hYmxlZCwgY3NzUmVnaW9uc0Vu
YWJsZWQsIEJvb2wsIGJvb2wsIHRydWUpIFwKICAgICBtYWNybyhDU1NDb21wb3NpdGluZ0VuYWJs
ZWQsIGNzc0NvbXBvc2l0aW5nRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCmluZGV4IDBhNmZi
MjQuLmRmMThiZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9X
S1ByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQ
cmVmZXJlbmNlcy5jcHAKQEAgLTQ4OSw2ICs0ODksMTYgQEAgYm9vbCBXS1ByZWZlcmVuY2VzR2V0
TXVsdGl0aHJlYWRlZFdlYkdMRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVm
KQogICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5tdWx0aXRocmVhZGVkV2ViR0xF
bmFibGVkKCk7CiB9CiAKK3ZvaWQgV0tQcmVmZXJlbmNlc1NldEZvcmNlU29mdHdhcmVXZWJHTFJl
bmRlcmluZyhXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpCit7Cisg
ICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0Rm9yY2VTb2Z0d2FyZVdlYkdMUmVuZGVyaW5n
KGZsYWcpOworfQorCitib29sIFdLUHJlZmVyZW5jZXNHZXRGb3JjZVNvZnR3YXJlV2ViR0xSZW5k
ZXJpbmcoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKK3sKKyAgICByZXR1cm4gdG9J
bXBsKHByZWZlcmVuY2VzUmVmKS0+Zm9yY2VTb2Z0d2FyZVdlYkdMUmVuZGVyaW5nKCk7Cit9CisK
IHZvaWQgV0tQcmVmZXJlbmNlc1NldEFjY2VsZXJhdGVkMkRDYW52YXNFbmFibGVkKFdLUHJlZmVy
ZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZykKIHsKICAgICB0b0ltcGwocHJlZmVy
ZW5jZXNSZWYpLT5zZXRBY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZChmbGFnKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNQcml2YXRlLmgK
aW5kZXggOGNlOGVlMi4uNDYyZWI5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNQcml2YXRlLmgKQEAgLTEwMSw2ICsxMDEsMTAgQEAg
V0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldE11bHRpdGhyZWFkZWRXZWJHTEVuYWJsZWQo
V0tQcmVmZXJlbmNlc1JlZiwgYm9vbCkKIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRN
dWx0aXRocmVhZGVkV2ViR0xFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpOwogCiAvLyBEZWZhdWx0
cyB0byBmYWxzZS4KK1dLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRGb3JjZVNvZnR3YXJl
V2ViR0xSZW5kZXJpbmcoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCk7CitXS19FWFBPUlQgYm9vbCBX
S1ByZWZlcmVuY2VzR2V0Rm9yY2VTb2Z0d2FyZVdlYkdMUmVuZGVyaW5nKFdLUHJlZmVyZW5jZXNS
ZWYpOworCisvLyBEZWZhdWx0cyB0byBmYWxzZS4KIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5j
ZXNTZXRBY2NlbGVyYXRlZDJEQ2FudmFzRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29sKTsK
IFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRBY2NlbGVyYXRlZDJEQ2FudmFzRW5hYmxl
ZChXS1ByZWZlcmVuY2VzUmVmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwCmluZGV4IDRiMWRkNGYuLjg0NzA5NGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTIzNTEsNiArMjM1MSw3IEBA
IHZvaWQgV2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9y
ZSYgc3RvcmUpCiAgICAgc2V0dGluZ3Muc2V0UmVnaW9uQmFzZWRDb2x1bW5zRW5hYmxlZChzdG9y
ZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnJlZ2lvbkJhc2VkQ29sdW1u
c0VuYWJsZWRLZXkoKSkpOwogICAgIHNldHRpbmdzLnNldFdlYkdMRW5hYmxlZChzdG9yZS5nZXRC
b29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OndlYkdMRW5hYmxlZEtleSgpKSk7CiAg
ICAgc2V0dGluZ3Muc2V0TXVsdGl0aHJlYWRlZFdlYkdMRW5hYmxlZChzdG9yZS5nZXRCb29sVmFs
dWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6Om11bHRpdGhyZWFkZWRXZWJHTEVuYWJsZWRLZXko
KSkpOworICAgIHNldHRpbmdzLnNldEZvcmNlU29mdHdhcmVXZWJHTFJlbmRlcmluZyhzdG9yZS5n
ZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmZvcmNlU29mdHdhcmVXZWJHTFJl
bmRlcmluZ0tleSgpKSk7CiAgICAgc2V0dGluZ3Muc2V0QWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJs
ZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjphY2NlbGVyYXRl
ZDJkQ2FudmFzRW5hYmxlZEtleSgpKSk7CiAgICAgc2V0dGluZ3Muc2V0TWVkaWFQbGF5YmFja1Jl
cXVpcmVzVXNlckdlc3R1cmUoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2Vz
S2V5OjptZWRpYVBsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZUtleSgpKSk7CiAgICAgc2V0dGlu
Z3Muc2V0TWVkaWFQbGF5YmFja0FsbG93c0lubGluZShzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXko
V2ViUHJlZmVyZW5jZXNLZXk6Om1lZGlhUGxheWJhY2tBbGxvd3NJbmxpbmVLZXkoKSkpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvbWFjL1dlYktpdDIub3JkZXIgYi9Tb3VyY2UvV2ViS2l0
Mi9tYWMvV2ViS2l0Mi5vcmRlcgppbmRleCA3NzliYzRhLi5hMGYzNDhhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9tYWMvV2ViS2l0Mi5vcmRlcgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9tYWMv
V2ViS2l0Mi5vcmRlcgpAQCAtMTkyLDYgKzE5Miw3IEBAIF9fWk42V2ViS2l0MTdXZWJQcmVmZXJl
bmNlc0tleTMzdGlsZWRTY3JvbGxpbmdJbmRpY2F0b3JWaXNpYmxlS2V5RXYKIF9fWk42V2ViS2l0
MTdXZWJQcmVmZXJlbmNlc0tleTI1Y3NzQ3VzdG9tRmlsdGVyRW5hYmxlZEtleUV2CiBfX1pONldl
YktpdDE3V2ViUHJlZmVyZW5jZXNLZXkxNXdlYkdMRW5hYmxlZEtleUV2CiBfX1pONldlYktpdDE3
V2ViUHJlZmVyZW5jZXNLZXkyOG11bHRpdGhyZWFkZWRXZWJHTEVuYWJsZWRLZXlFdgorX19aTjZX
ZWJLaXQxN1dlYlByZWZlcmVuY2VzS2V5MzBmb3JjZVNvZnR3YXJlV2ViR0xSZW5kZXJpbmdLZXlF
dgogX19aTjZXZWJLaXQxN1dlYlByZWZlcmVuY2VzS2V5MjlhY2NlbGVyYXRlZDJkQ2FudmFzRW5h
YmxlZEtleUV2CiBfX1pONldlYktpdDE3V2ViUHJlZmVyZW5jZXNLZXkyMGNzc1JlZ2lvbnNFbmFi
bGVkS2V5RXYKIF9fWk42V2ViS2l0MTdXZWJQcmVmZXJlbmNlc0tleTI0Y3NzQ29tcG9zaXRpbmdF
bmFibGVkS2V5RXYKQEAgLTQ3MSw2ICs0NzIsOCBAQCBfV0tQcmVmZXJlbmNlc1NldFdlYkdMRW5h
YmxlZAogX19aTjZXZWJLaXQxNFdlYlByZWZlcmVuY2VzMTVzZXRXZWJHTEVuYWJsZWRFUktiCiBf
V0tQcmVmZXJlbmNlc1NldE11bHRpdGhyZWFkZWRXZWJHTEVuYWJsZWQKIF9fWk42V2ViS2l0MTRX
ZWJQcmVmZXJlbmNlczI4c2V0TXVsdGl0aHJlYWRlZFdlYkdMRW5hYmxlZEVSS2IKK19XS1ByZWZl
cmVuY2VzU2V0Rm9yY2VTb2Z0d2FyZVdlYkdMUmVuZGVyaW5nCitfX1pONldlYktpdDE0V2ViUHJl
ZmVyZW5jZXMzMHNldEZvcmNlU29mdHdhcmVXZWJHTFJlbmRlcmluZ0VSS2IKIF9XS011dGFibGVB
cnJheUNyZWF0ZQogX19aTjZXZWJLaXQxMk11dGFibGVBcnJheUMxRXYKIF9fWk42V2ViS2l0MTRJ
bW11dGFibGVBcnJheUMyRXYKQEAgLTc4MDQsNiArNzgwNyw4IEBAIF9XS1ByZWZlcmVuY2VzR2V0
V2ViR0xFbmFibGVkCiBfX1pOSzZXZWJLaXQxNFdlYlByZWZlcmVuY2VzMTJ3ZWJHTEVuYWJsZWRF
dgogX1dLUHJlZmVyZW5jZXNHZXRNdWx0aXRocmVhZGVkV2ViR0xFbmFibGVkCiBfX1pOSzZXZWJL
aXQxNFdlYlByZWZlcmVuY2VzMjVtdWx0aXRocmVhZGVkV2ViR0xFbmFibGVkRXYKK19XS1ByZWZl
cmVuY2VzR2V0Rm9yY2VTb2Z0d2FyZVdlYkdMUmVuZGVyaW5nCitfX1pOSzZXZWJLaXQxNFdlYlBy
ZWZlcmVuY2VzMjdmb3JjZVNvZnR3YXJlV2ViR0xSZW5kZXJpbmdFdgogX1dLUGFnZUNvcHlDdXN0
b21Vc2VyQWdlbnQKIF9XS1BhZ2VSZWxvYWQKIF9fWk42V2ViS2l0MTJXZWJQYWdlUHJveHk2cmVs
b2FkRWIK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214917</attachid>
            <date>2013-10-22 18:38:18 -0700</date>
            <delta_ts>2013-10-22 21:37:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-123177-20131023123816.patch</filename>
            <type>text/plain</type>
            <size>22154</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3ODAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjE4NGJiYTY2ZmNhNzNk
YzEwYjRlMzNiM2Q5YzJjMDJjY2Q3OGYwYi4uZDI2MmVkMTMzMGI1YjYxZDg2MTk0YWRmYTFlMGVh
MjEwZWMzMDE2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEzLTEwLTIyICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViR0xdIEltcGxlbWVudCBh
IHNvZnR3YXJlIHJlbmRlcmluZyBvcHRpb24gb24gTWFjCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjMxNzcKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgYSB3YXkgdG8gZm9yY2Ugc29mdHdh
cmUgT3BlbkdMIHJlbmRlcmluZworICAgICAgICBmb3IgV2ViR0wsIHZpYSBhIFNldHRpbmcvUHJl
ZmVyZW5jZS4KKworICAgICAgICBObyBuZXcgdGVzdHMuIFdlIGludGVudGlvbmFsbHkgaGlkZSB0
aGUgY2FwYWJpbGl0aWVzIG9mCisgICAgICAgIHRoZSByZW5kZXJlciBmcm9tIHRoZSBjb250ZW50
LCBzbyB5b3UgY2FuJ3QgdGVzdCBmb3IKKyAgICAgICAgdGhpcyBzZXR0aW5nLiBIb3dldmVyLCBt
YW51YWwgaW5zcGVjdGlvbiBpcyBwcmV0dHkKKyAgICAgICAgb2J2aW91cy4gSnVzdCBnbyB0byBh
IHBhZ2Ugd2l0aCBhIGNvbXBsZXggc2hhZGVyCisgICAgICAgIHN1Y2ggYXMgaHR0cHM6Ly93d3cu
c2hhZGVydG95LmNvbS92aWV3L2xzczNXUy4KKworICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdM
UmVuZGVyaW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0Nv
bnRleHQ6OmNyZWF0ZSk6IElmIHdlJ3JlIGZvcmNpbmcgc29mdHdhcmUKKyAgICAgICAgcmVuZGVy
aW5nLCBtYXJrIHRoZSBjb250ZXh0IGF0dHJpYnV0ZXMgYXMgc3VjaC4KKyAgICAgICAgKiBwYWdl
L1NldHRpbmdzLmluOiBOZXcgc2V0dGluZyBrZXkuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NDb250ZXh0M0QuaDogTmV3IGZsYWcgaW4gQXR0cmlidXRlcy4KKyAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjpBdHRyaWJ1dGVzOjpBdHRyaWJ1dGVzKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NDb250ZXh0M0RNYWMubW06Cisg
ICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6R3JhcGhpY3NDb250ZXh0M0QpOiBT
bGlnaHQgdXBkYXRlIHRvIHRoZQorICAgICAgICBhbGdvcml0aG0gdGhhdCBzZXRzIGEgcGl4ZWwg
Zm9ybWF0LiBJZiB3ZSdyZSBmb3JjaW5nIHNvZnR3YXJlIHJlbmRlcmluZywKKyAgICAgICAgb2J2
aW91c2x5IHdlIG5ldmVyIHdhbnQgdG8gY3JlYXRlIGFuIGFjY2VsZXJhdGVkIHBpeGVsIGZvcm1h
dC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlckdsb2Jh
bENvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4
dDo6cHJlcGFyZUNvbnRleHRJZk5lZWRlZCk6IFNldCB0aGUgYXR0cmlidXRlCisgICAgICAgIGhl
cmUgYmVmb3JlIHRyeWluZyB0byBjcmVhdGUgdGhlIGNvbnRleHQuCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJHbG9iYWxDb250ZXh0Lmg6IEFkZCBhIGZv
cmNlU29mdHdhcmVSZW5kZXJpbmcKKyAgICAgICAgZmxhZyB0byBwcmVwYXJlQ29udGV4dElmTmVl
ZGVkLgorICAgICAgICAqIHJlbmRlcmluZy9GaWx0ZXJFZmZlY3RSZW5kZXJlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpjcmVhdGVDdXN0b21GaWx0ZXJFZmZlY3QpOiBDaGVjayB0aGUgU2V0dGlu
ZyBiZWZvcmUgY3JlYXRpbmcgYSBjdXN0b20KKyAgICAgICAgZmlsdGVyIGNvbnRleHQuCisKIDIw
MTMtMTAtMjIgIHBlYXZvQG91dGxvb2suY29tICA8cGVhdm9Ab3V0bG9vay5jb20+CiAKICAgICAg
ICAgW1dpbkNhaXJvXSBDb21waWxlIGVycm9yLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9t
YWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDFhOGVhZTUy
NTllNTIxOTg2YzgwOTYxZjdkYTJjMzY0ODE0NTk1YWYuLjYwYzAxNTQ1M2U2NDE0YmE3YTcyMWE0
YjNlYWFmYmU1YmJiOTZiZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAx
My0xMC0yMiAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdM
XSBJbXBsZW1lbnQgYSBzb2Z0d2FyZSByZW5kZXJpbmcgb3B0aW9uIG9uIE1hYworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIzMTc3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IGEgd2F5IHRv
IGZvcmNlIHNvZnR3YXJlIE9wZW5HTCByZW5kZXJpbmcKKyAgICAgICAgZm9yIFdlYkdMLCB2aWEg
YSBTZXR0aW5nL1ByZWZlcmVuY2UuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VL
ZXlzUHJpdmF0ZS5oOiBOZXcgV2ViS2l0Rm9yY2VTb2Z0d2FyZVdlYkdMUmVuZGVyaW5nIGtleS4K
KyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAgICAoK1tXZWJQcmVm
ZXJlbmNlcyBpbml0aWFsaXplXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIGZvcmNlU29m
dHdhcmVXZWJHTFJlbmRlcmluZ10pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRGb3Jj
ZVNvZnR3YXJlV2ViR0xSZW5kZXJpbmc6XSk6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJl
bmNlc1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgt
W1dlYlZpZXcgX3ByZWZlcmVuY2VzQ2hhbmdlZDpdKToKKwogMjAxMy0xMC0yMSAgTWFyayBSb3dl
ICA8bXJvd2VAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBhIHZlcnNpb24gb2YgV2ViS2l0U3lz
dGVtSW50ZXJmYWNlIGZvciBNYXZlcmlja3MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZWQzMWNmZjBkODgwMmY1
ZDgxYTY0NjdmYTE5MjQzMzgzYjJmOTc3ZS4uMDgwYzVhOTBkOTg0MTg4ZDgxNzY5OGRmZGYwZjZi
YTNjMTg0MGRhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTEwLTIyICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViR0xdIEltcGxlbWVudCBh
IHNvZnR3YXJlIHJlbmRlcmluZyBvcHRpb24gb24gTWFjCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjMxNzcKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgYSB3YXkgdG8gZm9yY2Ugc29mdHdh
cmUgT3BlbkdMIHJlbmRlcmluZworICAgICAgICBmb3IgV2ViR0wsIHZpYSBhIFNldHRpbmcvUHJl
ZmVyZW5jZS4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmg6IE5ldyBG
b3JjZVNvZnR3YXJlV2ViR0xSZW5kZXJpbmcgZW50cnkuCisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9DL1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV0tQcmVmZXJlbmNlc1NldEZvcmNlU29m
dHdhcmVXZWJHTFJlbmRlcmluZyk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0Rm9yY2VTb2Z0
d2FyZVdlYkdMUmVuZGVyaW5nKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJl
bmNlc1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnVwZGF0ZVByZWZlcmVuY2VzKToKKyAgICAgICAg
KiBtYWMvV2ViS2l0Mi5vcmRlcjoKKwogMjAxMy0xMC0yMiAgQnJpYW4gSG9sdCAgPGJyaWFuLmhv
bHRAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0dUS10gQWRkIFdlYktpdDIgQVBJIGZvciBUTFMg
ZXJyb3JzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRl
cmluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJp
bmdDb250ZXh0LmNwcAppbmRleCAwYjM5NTc5ODA3YmUxMjlhOWQ3Njk0MTRkNjdhZWIwZTBjOTE5
ZmNmLi45NDA3NWQxMzk2MTIxODA2MDMxMDNjM2Q4NzYwMjZlYzBiOGI5ZmE5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAK
QEAgLTQyOSw2ICs0MjksOSBAQCBPd25QdHI8V2ViR0xSZW5kZXJpbmdDb250ZXh0PiBXZWJHTFJl
bmRlcmluZ0NvbnRleHQ6OmNyZWF0ZShIVE1MQ2FudmFzRWxlbWVudCogYwogICAgIGlmIChmcmFt
ZS0+c2V0dGluZ3MoKS5tdWx0aXRocmVhZGVkV2ViR0xFbmFibGVkKCkpCiAgICAgICAgIGF0dHJp
YnV0ZXMubXVsdGl0aHJlYWRlZCA9IHRydWU7CiAKKyAgICBpZiAoZnJhbWUtPnNldHRpbmdzKCku
Zm9yY2VTb2Z0d2FyZVdlYkdMUmVuZGVyaW5nKCkpCisgICAgICAgIGF0dHJpYnV0ZXMuZm9yY2VT
b2Z0d2FyZVJlbmRlcmVyID0gdHJ1ZTsKKwogICAgIFJlZlB0cjxHcmFwaGljc0NvbnRleHQzRD4g
Y29udGV4dChHcmFwaGljc0NvbnRleHQzRDo6Y3JlYXRlKGF0dHJpYnV0ZXMsIGhvc3RXaW5kb3cp
KTsKIAogICAgIGlmICghY29udGV4dCB8fCAhY29udGV4dC0+bWFrZUNvbnRleHRDdXJyZW50KCkp
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4gYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1NldHRpbmdzLmluCmluZGV4IDFmNTNmMDY4ZTQ2NjBlOTY2OGQ0MDQ2ODVi
YTg4ZGY1ODcxN2Y1ZGYuLmNlZmRmNWE3MDQ4NTQ4ZWY0Zjc0NDQ2ZWU3YjU1ZmIwZTg5MWM0ZDAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4KKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5pbgpAQCAtMTA4LDYgKzEwOCw3IEBAIHdlYkdMRXJyb3Jz
VG9Db25zb2xlRW5hYmxlZCBpbml0aWFsPXRydWUKIG9wZW5HTE11bHRpc2FtcGxpbmdFbmFibGVk
IGluaXRpYWw9dHJ1ZQogbXVsdGl0aHJlYWRlZFdlYkdMRW5hYmxlZCBpbml0aWFsPWZhbHNlCiBw
cml2aWxlZ2VkV2ViR0xFeHRlbnNpb25zRW5hYmxlZCBpbml0aWFsPWZhbHNlCitmb3JjZVNvZnR3
YXJlV2ViR0xSZW5kZXJpbmcgaW5pdGlhbD1mYWxzZQogYWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJs
ZWQgaW5pdGlhbD1mYWxzZQogYW50aWFsaWFzZWQyZENhbnZhc0VuYWJsZWQgaW5pdGlhbD10cnVl
CiBsb2FkRGVmZXJyaW5nRW5hYmxlZCBpbml0aWFsPXRydWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCmluZGV4IGNkOGM1NGQ0
YjJhZDg5OTAyNGE4YTExODY0OTA5NzY5ZDQ5ZDA3NTUuLmYxNjYxZTk3ZTMyNTIyZGM4MjRmZTI1
ZTQzYzdkMzcyNGQ2YmRmYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaApAQCAtNDM0LDYgKzQzNCw3IEBAIHB1YmxpYzoK
ICAgICAgICAgICAgICwgc2hhcmVSZXNvdXJjZXModHJ1ZSkKICAgICAgICAgICAgICwgcHJlZmVy
RGlzY3JldGVHUFUoZmFsc2UpCiAgICAgICAgICAgICAsIG11bHRpdGhyZWFkZWQoZmFsc2UpCisg
ICAgICAgICAgICAsIGZvcmNlU29mdHdhcmVSZW5kZXJlcihmYWxzZSkKICAgICAgICAgewogICAg
ICAgICB9CiAKQEAgLTQ0Nyw2ICs0NDgsNyBAQCBwdWJsaWM6CiAgICAgICAgIGJvb2wgc2hhcmVS
ZXNvdXJjZXM7CiAgICAgICAgIGJvb2wgcHJlZmVyRGlzY3JldGVHUFU7CiAgICAgICAgIGJvb2wg
bXVsdGl0aHJlYWRlZDsKKyAgICAgICAgYm9vbCBmb3JjZVNvZnR3YXJlUmVuZGVyZXI7CiAgICAg
fTsKIAogICAgIGVudW0gUmVuZGVyU3R5bGUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJHbG9iYWxDb250ZXh0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyR2xv
YmFsQ29udGV4dC5jcHAKaW5kZXggNGY1ZGQyZWZiMGIxNDIxNzVlYzI0MjY0ZDk1MWQyY2E3ZDAy
YTFjYi4uZjliZGRjMTRiNDkxY2IwNjRjNTc5ZjQ4MWZkYWM5ZjYwZjNkNDY3YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJH
bG9iYWxDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9m
aWx0ZXJzL0N1c3RvbUZpbHRlckdsb2JhbENvbnRleHQuY3BwCkBAIC02Nyw3ICs2Nyw3IEBAIFBh
c3NPd25QdHI8QU5HTEVXZWJLaXRCcmlkZ2U+IEN1c3RvbUZpbHRlckdsb2JhbENvbnRleHQ6OmNy
ZWF0ZVNoYWRlclZhbGlkYXRvcihTCiAgICAgcmV0dXJuIHZhbGlkYXRvci5yZWxlYXNlKCk7CiB9
CiAKLXZvaWQgQ3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4dDo6cHJlcGFyZUNvbnRleHRJZk5lZWRl
ZChIb3N0V2luZG93KiBob3N0V2luZG93KQordm9pZCBDdXN0b21GaWx0ZXJHbG9iYWxDb250ZXh0
OjpwcmVwYXJlQ29udGV4dElmTmVlZGVkKEhvc3RXaW5kb3cqIGhvc3RXaW5kb3csIGJvb2wgZm9y
Y2VTb2Z0d2FyZVJlbmRlcmluZykKIHsKICAgICBpZiAobV9jb250ZXh0LmdldCgpKQogICAgICAg
ICByZXR1cm47CkBAIC03Nyw2ICs3NywxMCBAQCB2b2lkIEN1c3RvbUZpbHRlckdsb2JhbENvbnRl
eHQ6OnByZXBhcmVDb250ZXh0SWZOZWVkZWQoSG9zdFdpbmRvdyogaG9zdFdpbmRvdykKICAgICBh
dHRyaWJ1dGVzLnByZW11bHRpcGxpZWRBbHBoYSA9IGZhbHNlOwogICAgIGF0dHJpYnV0ZXMuc2hh
cmVSZXNvdXJjZXMgPSB0cnVlOwogICAgIGF0dHJpYnV0ZXMucHJlZmVyRGlzY3JldGVHUFUgPSB0
cnVlOworCisgICAgaWYgKGZvcmNlU29mdHdhcmVSZW5kZXJpbmcpCisgICAgICAgIGF0dHJpYnV0
ZXMuZm9yY2VTb2Z0d2FyZVJlbmRlcmVyID0gdHJ1ZTsKKyAgICAKICAgICBtX2NvbnRleHQgPSBH
cmFwaGljc0NvbnRleHQzRDo6Y3JlYXRlKGF0dHJpYnV0ZXMsIGhvc3RXaW5kb3csIEdyYXBoaWNz
Q29udGV4dDNEOjpSZW5kZXJPZmZzY3JlZW4pOwogICAgIGlmICghbV9jb250ZXh0KQogICAgICAg
ICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9m
aWx0ZXJzL0N1c3RvbUZpbHRlckdsb2JhbENvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4dC5oCmluZGV4IDg2
NmY2Mzg2ZmJjMzA5NDVjZDJkMjRmNzIwMDllNjI1NWUxNDJmNWQuLjFlOGY2YmRmYTA4NjRiNWNj
MjBiN2UwM2I5OGI0ODQ2ZmE0ZjA0NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4dC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyR2xvYmFs
Q29udGV4dC5oCkBAIC02MSw3ICs2MSw3IEBAIHB1YmxpYzoKICAgICAvLyBUaGUgY29tcGxldGUg
ZGV0YWlscyBhcmUgZG9jdW1lbnRlZCBpbiBBTkdMRS9TaGFkZXJMYW5nLmguCiAgICAgQU5HTEVX
ZWJLaXRCcmlkZ2UqIG1peFNoYWRlclZhbGlkYXRvcigpOwogICAgIAotICAgIHZvaWQgcHJlcGFy
ZUNvbnRleHRJZk5lZWRlZChIb3N0V2luZG93Kik7CisgICAgdm9pZCBwcmVwYXJlQ29udGV4dElm
TmVlZGVkKEhvc3RXaW5kb3cqLCBib29sIGZvcmNlU29mdHdhcmVSZW5kZXJpbmcpOwogcHJpdmF0
ZToKICAgICBzdGF0aWMgUGFzc093blB0cjxBTkdMRVdlYktpdEJyaWRnZT4gY3JlYXRlU2hhZGVy
VmFsaWRhdG9yKFNoU2hhZGVyU3BlYyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHQzRE1hYy5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHQzRE1hYy5tbQppbmRleCAw
ODI3MTZmMWRiNDY0ODU2YzgwOTAyYzJmMjJmMTY5ODE5NmE2YTc1Li45ZjUwNTBhZDVkMjg1MjUw
ZjkwYzQ1ZDQzZjNhMDU4MTZiMTBlMjFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NDb250ZXh0M0RNYWMubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzQ29udGV4dDNETWFjLm1tCkBAIC0x
MTgsNDIgKzExOCw0NiBAQCBHcmFwaGljc0NvbnRleHQzRDo6R3JhcGhpY3NDb250ZXh0M0QoR3Jh
cGhpY3NDb250ZXh0M0Q6OkF0dHJpYnV0ZXMgYXR0cnMsIEhvc3RXaQogICAgIENHTFBpeGVsRm9y
bWF0T2JqIHBpeGVsRm9ybWF0T2JqID0gMDsKICAgICBHTGludCBudW1QaXhlbEZvcm1hdHMgPSAw
OwogICAgIAotICAgIC8vIFdlIHdpbGwgdHJ5OgorICAgIC8vIElmIHdlJ3JlIGNvbmZpZ3VyZWQg
dG8gZGVtYW5kIHRoZSBzb2Z0d2FyZSByZW5kZXJlciwgd2UnbGwKKyAgICAvLyBkbyBzby4gV2Ug
YXR0ZW1wdCB0byBjcmVhdGUgY29udGV4dHMgaW4gdGhpcyBvcmRlcjoKICAgICAvLwotICAgIC8v
ICAxKSAzMiBiaXQgUkdCQS8zMiBiaXQgZGVwdGgvYWNjZWxlcmF0ZWQvc3VwZXJzYW1wbGVkCi0g
ICAgLy8gIDIpIDMyIGJpdCBSR0JBLzMyIGJpdCBkZXB0aC9hY2NlbGVyYXRlZAotICAgIC8vICAz
KSAzMiBiaXQgUkdCQS8xNiBiaXQgZGVwdGgvYWNjZWxlcmF0ZWQKLSAgICAvLyAgNCkgY2xvc2Vz
dCB0byAzMiBiaXQgUkdCQS8xNiBiaXQgZGVwdGgvc29mdHdhcmUgcmVuZGVyZXIKKyAgICAvLyAx
KSAzMiBiaXQgUkdCQS8zMiBiaXQgZGVwdGgvc3VwZXJzYW1wbGVkCisgICAgLy8gMikgMzIgYml0
IFJHQkEvMzIgYml0IGRlcHRoCisgICAgLy8gMykgMzIgYml0IFJHQkEvMTYgYml0IGRlcHRoCiAg
ICAgLy8KLSAgICAvLyAgSWYgbm9uZSBvZiB0aGF0IHdvcmtzLCB3ZSBzaW1wbHkgZmFpbCBhbmQg
c2V0IG1fY29udGV4dE9iaiB0byAwLgotICAgIAotICAgIHNldFBpeGVsRm9ybWF0KGF0dHJpYnMs
IDMyLCAzMiwgdHJ1ZSwgdHJ1ZSwgZmFsc2UpOworICAgIC8vIElmIHdlIHdlcmUgbm90IGZvcmNl
ZCBpbnRvIHNvZnR3YXJlIG1vZGUgYWxyZWFkeSwgb3VyIGZpbmFsIGF0dGVtcHQgaXMKKyAgICAv
LyB0byB0cnkgdGhhdDoKKyAgICAvLworICAgIC8vIDQpIGNsb3Nlc3QgdG8gMzIgYml0IFJHQkEv
MTYgYml0IGRlcHRoL3NvZnR3YXJlIHJlbmRlcmVyCisgICAgLy8KKyAgICAvLyBJZiBub25lIG9m
IHRoYXQgd29ya3MsIHdlIHNpbXBseSBmYWlsIGFuZCBzZXQgbV9jb250ZXh0T2JqIHRvIDAuCisK
KyAgICBzZXRQaXhlbEZvcm1hdChhdHRyaWJzLCAzMiwgMzIsICFhdHRycy5mb3JjZVNvZnR3YXJl
UmVuZGVyZXIsIHRydWUsIGZhbHNlKTsKICAgICBDR0xDaG9vc2VQaXhlbEZvcm1hdChhdHRyaWJz
LmRhdGEoKSwgJnBpeGVsRm9ybWF0T2JqLCAmbnVtUGl4ZWxGb3JtYXRzKTsKKwogICAgIGlmIChu
dW1QaXhlbEZvcm1hdHMgPT0gMCkgewotICAgICAgICBzZXRQaXhlbEZvcm1hdChhdHRyaWJzLCAz
MiwgMzIsIHRydWUsIGZhbHNlLCBmYWxzZSk7CisgICAgICAgIHNldFBpeGVsRm9ybWF0KGF0dHJp
YnMsIDMyLCAzMiwgIWF0dHJzLmZvcmNlU29mdHdhcmVSZW5kZXJlciwgZmFsc2UsIGZhbHNlKTsK
ICAgICAgICAgQ0dMQ2hvb3NlUGl4ZWxGb3JtYXQoYXR0cmlicy5kYXRhKCksICZwaXhlbEZvcm1h
dE9iaiwgJm51bVBpeGVsRm9ybWF0cyk7Ci0gICAgICAgIAorCiAgICAgICAgIGlmIChudW1QaXhl
bEZvcm1hdHMgPT0gMCkgewotICAgICAgICAgICAgc2V0UGl4ZWxGb3JtYXQoYXR0cmlicywgMzIs
IDE2LCB0cnVlLCBmYWxzZSwgZmFsc2UpOworICAgICAgICAgICAgc2V0UGl4ZWxGb3JtYXQoYXR0
cmlicywgMzIsIDE2LCAhYXR0cnMuZm9yY2VTb2Z0d2FyZVJlbmRlcmVyLCBmYWxzZSwgZmFsc2Up
OwogICAgICAgICAgICAgQ0dMQ2hvb3NlUGl4ZWxGb3JtYXQoYXR0cmlicy5kYXRhKCksICZwaXhl
bEZvcm1hdE9iaiwgJm51bVBpeGVsRm9ybWF0cyk7Ci0gICAgICAgIAotICAgICAgICAgICAgaWYg
KG51bVBpeGVsRm9ybWF0cyA9PSAwKSB7Ci0gICAgICAgICAgICAgICAgc2V0UGl4ZWxGb3JtYXQo
YXR0cmlicywgMzIsIDE2LCBmYWxzZSwgZmFsc2UsIHRydWUpOwotICAgICAgICAgICAgICAgIENH
TENob29zZVBpeGVsRm9ybWF0KGF0dHJpYnMuZGF0YSgpLCAmcGl4ZWxGb3JtYXRPYmosICZudW1Q
aXhlbEZvcm1hdHMpOwotICAgICAgICAKLSAgICAgICAgICAgICAgICBpZiAobnVtUGl4ZWxGb3Jt
YXRzID09IDApIHsKLSAgICAgICAgICAgICAgICAgICAgLy8gQ291bGQgbm90IGZpbmQgYW4gYWNj
ZXB0YWJsZSByZW5kZXJlciAtIGZhaWwKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAg
ICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgIGlmICghYXR0cnMuZm9yY2VTb2Z0d2FyZVJl
bmRlcmVyICYmIG51bVBpeGVsRm9ybWF0cyA9PSAwKSB7CisgICAgICAgICAgICAgICAgIHNldFBp
eGVsRm9ybWF0KGF0dHJpYnMsIDMyLCAxNiwgZmFsc2UsIGZhbHNlLCB0cnVlKTsKKyAgICAgICAg
ICAgICAgICAgQ0dMQ2hvb3NlUGl4ZWxGb3JtYXQoYXR0cmlicy5kYXRhKCksICZwaXhlbEZvcm1h
dE9iaiwgJm51bVBpeGVsRm9ybWF0cyk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9
Ci0gICAgCisKKyAgICBpZiAobnVtUGl4ZWxGb3JtYXRzID09IDApCisgICAgICAgIHJldHVybjsK
KwogICAgIENHTEVycm9yIGVyciA9IENHTENyZWF0ZUNvbnRleHQocGl4ZWxGb3JtYXRPYmosIDAs
ICZtX2NvbnRleHRPYmopOwogICAgIENHTERlc3Ryb3lQaXhlbEZvcm1hdChwaXhlbEZvcm1hdE9i
aik7CiAgICAgCiAgICAgaWYgKGVyciAhPSBrQ0dMTm9FcnJvciB8fCAhbV9jb250ZXh0T2JqKSB7
Ci0gICAgICAgIC8vIENvdWxkIG5vdCBjcmVhdGUgdGhlIGNvbnRleHQgLSBmYWlsCisgICAgICAg
IC8vIFdlIHdlcmUgdW5hYmxlIHRvIGNyZWF0ZSB0aGUgY29udGV4dC4KICAgICAgICAgbV9jb250
ZXh0T2JqID0gMDsKICAgICAgICAgcmV0dXJuOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9GaWx0ZXJFZmZlY3RSZW5kZXJlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvRmlsdGVyRWZmZWN0UmVuZGVyZXIuY3BwCmluZGV4IDFkYTdmMDRlNjQzYzJk
ZmMxNDU5ZTE3YmM3NTllMWZjZTU4YzJhNjYuLmVlZDVhYTU4ZDhmOGUzYjc4NzUxZDFmYjdjZDQw
ZTc2MTNjNDUzMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GaWx0ZXJF
ZmZlY3RSZW5kZXJlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0ZpbHRlckVm
ZmVjdFJlbmRlcmVyLmNwcApAQCAtMzgsNyArMzgsOSBAQAogI2luY2x1ZGUgIkZFR2F1c3NpYW5C
bHVyLmgiCiAjaW5jbHVkZSAiRkVNZXJnZS5oIgogI2luY2x1ZGUgIkZsb2F0Q29udmVyc2lvbi5o
IgorI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKKyNpbmNsdWRl
ICJTZXR0aW5ncy5oIgogCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgogI2luY2x1ZGUgPHd0Zi9NYXRo
RXh0cmFzLmg+CkBAIC05NCw3ICs5Niw3IEBAIHN0YXRpYyBQYXNzUmVmUHRyPEZFQ3VzdG9tRmls
dGVyPiBjcmVhdGVDdXN0b21GaWx0ZXJFZmZlY3QoRmlsdGVyKiBmaWx0ZXIsIERvY3VtCiAgICAg
ICAgIHJldHVybiAwOwogCiAgICAgQ3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4dCogZ2xvYmFsQ29u
dGV4dCA9IGRvY3VtZW50LT5yZW5kZXJWaWV3KCktPmN1c3RvbUZpbHRlckdsb2JhbENvbnRleHQo
KTsKLSAgICBnbG9iYWxDb250ZXh0LT5wcmVwYXJlQ29udGV4dElmTmVlZGVkKGRvY3VtZW50LT52
aWV3KCktPmhvc3RXaW5kb3coKSk7CisgICAgZ2xvYmFsQ29udGV4dC0+cHJlcGFyZUNvbnRleHRJ
Zk5lZWRlZChkb2N1bWVudC0+dmlldygpLT5ob3N0V2luZG93KCksIGRvY3VtZW50LT5mcmFtZSgp
LT5zZXR0aW5ncygpLmZvcmNlU29mdHdhcmVXZWJHTFJlbmRlcmluZygpKTsKICAgICBpZiAoIWds
b2JhbENvbnRleHQtPmNvbnRleHQoKSkKICAgICAgICAgcmV0dXJuIDA7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmggYi9T
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCmluZGV4
IDgwMDNjYmU4ODg1MDdlZWE5ODg2OTZhMDcyZWFhMzMxZTNjMzU5YTIuLjM0M2YyMmY5YmQzM2Ey
Y2FlNmJmMTljZjczYzM5NmI5MzJiZDcxYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaApAQCAtMTAzLDYgKzEwMyw3IEBA
CiAjZGVmaW5lIFdlYktpdFdlYkF1ZGlvRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRXZWJB
dWRpb0VuYWJsZWQiCiAjZGVmaW5lIFdlYktpdFdlYkdMRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJX
ZWJLaXRXZWJHTEVuYWJsZWQiCiAjZGVmaW5lIFdlYktpdE11bHRpdGhyZWFkZWRXZWJHTEVuYWJs
ZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TXVsdGl0aHJlYWRlZFdlYkdMRW5hYmxlZCIKKyNkZWZp
bmUgV2ViS2l0Rm9yY2VTb2Z0d2FyZVdlYkdMUmVuZGVyaW5nUHJlZmVyZW5jZUtleSBAIldlYktp
dEZvcmNlU29mdHdhcmVXZWJHTFJlbmRlcmluZyIKICNkZWZpbmUgV2ViS2l0QWNjZWxlcmF0ZWQy
ZENhbnZhc0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0QWNjZWxlcmF0ZWQyZENhbnZhc0Vu
YWJsZWQiCiAjZGVmaW5lIFdlYktpdEZyYW1lRmxhdHRlbmluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5
IEAiV2ViS2l0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0U3BhdGlhbE5h
dmlnYXRpb25FbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFNwYXRpYWxOYXZpZ2F0aW9uRW5h
YmxlZCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZXMubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCmluZGV4
IDVjMGJlZjVjYTU1OWRkNWYxY2YzOWFiMGUzN2U5MDYwM2VhNmE4N2QuLjJkNDliMmVjMWM0N2Y0
MGFhYThjOWRiNDExZjQ4ZjEyOTgwOGE0MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlcy5tbQpAQCAtMzc5LDYgKzM3OSw3IEBAIHB1YmxpYzoKICAgICAgICAg
W05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSwgICBXZWJLaXRTaG93UmVwYWludENvdW50ZXJQ
cmVmZXJlbmNlS2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6WUVTXSwgIFdl
YktpdFdlYkdMRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAgIFtOU051bWJlciBudW1iZXJX
aXRoQm9vbDpOT10sICAgV2ViS2l0TXVsdGl0aHJlYWRlZFdlYkdMRW5hYmxlZFByZWZlcmVuY2VL
ZXksCisgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sICBXZWJLaXRGb3JjZVNv
ZnR3YXJlV2ViR0xSZW5kZXJpbmdQcmVmZXJlbmNlS2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVt
YmVyV2l0aEJvb2w6Tk9dLCAgIFdlYktpdEFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVkUHJlZmVy
ZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSwgICBXZWJLaXRG
cmFtZUZsYXR0ZW5pbmdFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51
bWJlcldpdGhCb29sOk5PXSwgICBXZWJLaXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWRQcmVmZXJl
bmNlS2V5LApAQCAtMTQ3OSw2ICsxNDgwLDE2IEBAIHN0YXRpYyBOU1N0cmluZyAqY2xhc3NJQkNy
ZWF0b3JJRCA9IG5pbDsKICAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmVuYWJsZWQgZm9yS2V5Oldl
YktpdE11bHRpdGhyZWFkZWRXZWJHTEVuYWJsZWRQcmVmZXJlbmNlS2V5XTsKIH0KIAorLSAoQk9P
TClmb3JjZVNvZnR3YXJlV2ViR0xSZW5kZXJpbmcKK3sKKyAgICByZXR1cm4gW3NlbGYgX2Jvb2xW
YWx1ZUZvcktleTpXZWJLaXRGb3JjZVNvZnR3YXJlV2ViR0xSZW5kZXJpbmdQcmVmZXJlbmNlS2V5
XTsKK30KKworLSAodm9pZClzZXRGb3JjZVNvZnR3YXJlV2ViR0xSZW5kZXJpbmc6KEJPT0wpZm9y
Y2VkCit7CisgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmb3JjZWQgZm9yS2V5OldlYktpdEZvcmNl
U29mdHdhcmVXZWJHTFJlbmRlcmluZ1ByZWZlcmVuY2VLZXldOworfQorCiAtIChCT09MKWFjY2Vs
ZXJhdGVkMmRDYW52YXNFbmFibGVkCiB7CiAgICAgcmV0dXJuIFtzZWxmIF9ib29sVmFsdWVGb3JL
ZXk6V2ViS2l0QWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCmluZGV4
IDgyNWFkNGJmOTg1NjE2ZDg3NmFlYzA4YWJlYzM1MDgyODE2NTI1NDMuLmJkZDA0NTU1OWViOGQ5
NmQ5OTBkNDQxZGRkY2Q4NWRkNTZhYTI4YzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaApAQCAtMjE0LDYgKzIxNCw5IEBAIGV4dGVy
biBOU1N0cmluZyAqV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsQ2hhbmdlZEludGVybmFsTm90aWZp
Y2F0aW9uOwogLSAoQk9PTCltdWx0aXRocmVhZGVkV2ViR0xFbmFibGVkOwogLSAodm9pZClzZXRN
dWx0aXRocmVhZGVkV2ViR0xFbmFibGVkOihCT09MKWVuYWJsZWQ7CiAKKy0gKEJPT0wpZm9yY2VT
b2Z0d2FyZVdlYkdMUmVuZGVyaW5nOworLSAodm9pZClzZXRGb3JjZVNvZnR3YXJlV2ViR0xSZW5k
ZXJpbmc6KEJPT0wpZm9yY2VkOworCiAtIChCT09MKWFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVk
OwogLSAodm9pZClzZXRBY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZDooQk9PTCllbmFibGVkOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggMjcyMTI0YzY4ZmIxNzgxNDlh
NzRlZTU1ODU4MDE4Y2Q4ZWU2YmE1MC4uNzUwYzc5YWZjMmEwZWY4ZWRjY2IxYmY2MDA0ZDMxOTZh
ZTQ0ODgxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMTUyNCw2ICsx
NTI0LDcgQEAgc3RhdGljIGJvb2wgbmVlZHNTZWxmUmV0YWluV2hpbGVMb2FkaW5nUXVpcmsoKQog
ICAgIHNldHRpbmdzLnNldFNob3dSZXBhaW50Q291bnRlcihbcHJlZmVyZW5jZXMgc2hvd1JlcGFp
bnRDb3VudGVyXSk7CiAgICAgc2V0dGluZ3Muc2V0V2ViR0xFbmFibGVkKFtwcmVmZXJlbmNlcyB3
ZWJHTEVuYWJsZWRdKTsKICAgICBzZXR0aW5ncy5zZXRNdWx0aXRocmVhZGVkV2ViR0xFbmFibGVk
KFtwcmVmZXJlbmNlcyBtdWx0aXRocmVhZGVkV2ViR0xFbmFibGVkXSk7CisgICAgc2V0dGluZ3Mu
c2V0Rm9yY2VTb2Z0d2FyZVdlYkdMUmVuZGVyaW5nKFtwcmVmZXJlbmNlcyBmb3JjZVNvZnR3YXJl
V2ViR0xSZW5kZXJpbmddKTsKICAgICBzZXR0aW5ncy5zZXRBY2NlbGVyYXRlZDJkQ2FudmFzRW5h
YmxlZChbcHJlZmVyZW5jZXMgYWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWRdKTsKICAgICBzZXR0
aW5ncy5zZXRMb2FkRGVmZXJyaW5nRW5hYmxlZChzaG91bGRFbmFibGVMb2FkRGVmZXJyaW5nKCkp
OwogICAgIHNldHRpbmdzLnNldFdpbmRvd0ZvY3VzUmVzdHJpY3RlZChzaG91bGRSZXN0cmljdFdp
bmRvd0ZvY3VzKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZl
cmVuY2VzU3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3Jl
LmgKaW5kZXggZDMzOWE2NzgxOGJlOTdjYTAwOWQ5ZTg0ZDZmMmQ5ZTBiYTk1YzM3NS4uZGI1NWZm
MDYwNjE4MjJiZTlhZTNlOGU5NWQ0MjUxZTgyNGM5N2FhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oCkBAIC05NCw2ICs5NCw3IEBAIG5hbWVzcGFjZSBX
ZWJLaXQgewogICAgIG1hY3JvKENTU0N1c3RvbUZpbHRlckVuYWJsZWQsIGNzc0N1c3RvbUZpbHRl
ckVuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUpIFwKICAgICBtYWNybyhXZWJHTEVuYWJsZWQsIHdl
YkdMRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAogICAgIG1hY3JvKE11bHRpdGhyZWFkZWRX
ZWJHTEVuYWJsZWQsIG11bHRpdGhyZWFkZWRXZWJHTEVuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNl
KSBcCisgICAgbWFjcm8oRm9yY2VTb2Z0d2FyZVdlYkdMUmVuZGVyaW5nLCBmb3JjZVNvZnR3YXJl
V2ViR0xSZW5kZXJpbmcsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCiAgICAgbWFjcm8oQWNjZWxlcmF0
ZWQyZENhbnZhc0VuYWJsZWQsIGFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVkLCBCb29sLCBib29s
LCBmYWxzZSkgXAogICAgIG1hY3JvKENTU1JlZ2lvbnNFbmFibGVkLCBjc3NSZWdpb25zRW5hYmxl
ZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAogICAgIG1hY3JvKENTU0NvbXBvc2l0aW5nRW5hYmxlZCwg
Y3NzQ29tcG9zaXRpbmdFbmFibGVkLCBCb29sLCBib29sLCB0cnVlKSBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKaW5kZXggMGE2ZmIyNDlh
YzEzODk1NDhhNjYxNTUwNmE5N2I2OWFiZWI3YzgxOS4uZGYxOGJmZTY3YzA4Y2ViMmNkMjRhZTUw
ZThlMzIwNTRjNmNhOWY3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL1dLUHJlZmVyZW5jZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzLmNwcApAQCAtNDg5LDYgKzQ4OSwxNiBAQCBib29sIFdLUHJlZmVyZW5j
ZXNHZXRNdWx0aXRocmVhZGVkV2ViR0xFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5j
ZXNSZWYpCiAgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPm11bHRpdGhyZWFkZWRX
ZWJHTEVuYWJsZWQoKTsKIH0KIAordm9pZCBXS1ByZWZlcmVuY2VzU2V0Rm9yY2VTb2Z0d2FyZVdl
YkdMUmVuZGVyaW5nKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZykK
K3sKKyAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRGb3JjZVNvZnR3YXJlV2ViR0xSZW5k
ZXJpbmcoZmxhZyk7Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldEZvcmNlU29mdHdhcmVXZWJH
TFJlbmRlcmluZyhXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQoreworICAgIHJldHVy
biB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5mb3JjZVNvZnR3YXJlV2ViR0xSZW5kZXJpbmcoKTsK
K30KKwogdm9pZCBXS1ByZWZlcmVuY2VzU2V0QWNjZWxlcmF0ZWQyRENhbnZhc0VuYWJsZWQoV0tQ
cmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKQogewogICAgIHRvSW1wbChw
cmVmZXJlbmNlc1JlZiktPnNldEFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVkKGZsYWcpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNQcml2
YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1ByaXZh
dGUuaAppbmRleCA4Y2U4ZWUyYmY1MDdjMWI5MTI5MmI1ZTQ4YTVlMjZlYTg5NTU3YmVjLi40NjJl
YjkzNDM4ODYyNGRhYTI1OGM4NTNlZDUxYTZmMTA3ZTkzMGU4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaApAQCAtMTAx
LDYgKzEwMSwxMCBAQCBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0TXVsdGl0aHJlYWRl
ZFdlYkdMRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29sKQogV0tfRVhQT1JUIGJvb2wgV0tQ
cmVmZXJlbmNlc0dldE11bHRpdGhyZWFkZWRXZWJHTEVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZik7
CiAKIC8vIERlZmF1bHRzIHRvIGZhbHNlLgorV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1Nl
dEZvcmNlU29mdHdhcmVXZWJHTFJlbmRlcmluZyhXS1ByZWZlcmVuY2VzUmVmLCBib29sKTsKK1dL
X0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRGb3JjZVNvZnR3YXJlV2ViR0xSZW5kZXJpbmco
V0tQcmVmZXJlbmNlc1JlZik7CisKKy8vIERlZmF1bHRzIHRvIGZhbHNlLgogV0tfRVhQT1JUIHZv
aWQgV0tQcmVmZXJlbmNlc1NldEFjY2VsZXJhdGVkMkRDYW52YXNFbmFibGVkKFdLUHJlZmVyZW5j
ZXNSZWYsIGJvb2wpOwogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldEFjY2VsZXJhdGVk
MkRDYW52YXNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggNGIxZGQ0ZjY5ZDQ1ZmNiNTE0MDc1
ZmE2YWUxMmRkZTBmZmMxM2UzNy4uODQ3MDk0ZGI2ZmEwYzRmYjllOWU5OThhMjExNmQxYTA1N2Ji
MTM4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cApAQCAtMjM1MSw2ICsyMzUxLDcgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyhj
b25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJiBzdG9yZSkKICAgICBzZXR0aW5ncy5zZXRSZWdpb25C
YXNlZENvbHVtbnNFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNl
c0tleTo6cmVnaW9uQmFzZWRDb2x1bW5zRW5hYmxlZEtleSgpKSk7CiAgICAgc2V0dGluZ3Muc2V0
V2ViR0xFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6
d2ViR0xFbmFibGVkS2V5KCkpKTsKICAgICBzZXR0aW5ncy5zZXRNdWx0aXRocmVhZGVkV2ViR0xF
bmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6bXVsdGl0
aHJlYWRlZFdlYkdMRW5hYmxlZEtleSgpKSk7CisgICAgc2V0dGluZ3Muc2V0Rm9yY2VTb2Z0d2Fy
ZVdlYkdMUmVuZGVyaW5nKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tl
eTo6Zm9yY2VTb2Z0d2FyZVdlYkdMUmVuZGVyaW5nS2V5KCkpKTsKICAgICBzZXR0aW5ncy5zZXRB
Y2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJl
ZmVyZW5jZXNLZXk6OmFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVkS2V5KCkpKTsKICAgICBzZXR0
aW5ncy5zZXRNZWRpYVBsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZShzdG9yZS5nZXRCb29sVmFs
dWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6Om1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0
dXJlS2V5KCkpKTsKICAgICBzZXR0aW5ncy5zZXRNZWRpYVBsYXliYWNrQWxsb3dzSW5saW5lKHN0
b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6bWVkaWFQbGF5YmFja0Fs
bG93c0lubGluZUtleSgpKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9tYWMvV2ViS2l0
Mi5vcmRlciBiL1NvdXJjZS9XZWJLaXQyL21hYy9XZWJLaXQyLm9yZGVyCmluZGV4IDc3OWJjNGE2
YjIyYTJjM2ViNThjYjJhMWM2ZTE4ZDg3NDI3YzE1YTguLmEwZjM0OGE1YjVkNjJlNjQ5NjExZWUw
MWUyMzE1MzhjMDA2MjBhMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL21hYy9XZWJLaXQy
Lm9yZGVyCisrKyBiL1NvdXJjZS9XZWJLaXQyL21hYy9XZWJLaXQyLm9yZGVyCkBAIC0xOTIsNiAr
MTkyLDcgQEAgX19aTjZXZWJLaXQxN1dlYlByZWZlcmVuY2VzS2V5MzN0aWxlZFNjcm9sbGluZ0lu
ZGljYXRvclZpc2libGVLZXlFdgogX19aTjZXZWJLaXQxN1dlYlByZWZlcmVuY2VzS2V5MjVjc3ND
dXN0b21GaWx0ZXJFbmFibGVkS2V5RXYKIF9fWk42V2ViS2l0MTdXZWJQcmVmZXJlbmNlc0tleTE1
d2ViR0xFbmFibGVkS2V5RXYKIF9fWk42V2ViS2l0MTdXZWJQcmVmZXJlbmNlc0tleTI4bXVsdGl0
aHJlYWRlZFdlYkdMRW5hYmxlZEtleUV2CitfX1pONldlYktpdDE3V2ViUHJlZmVyZW5jZXNLZXkz
MGZvcmNlU29mdHdhcmVXZWJHTFJlbmRlcmluZ0tleUV2CiBfX1pONldlYktpdDE3V2ViUHJlZmVy
ZW5jZXNLZXkyOWFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVkS2V5RXYKIF9fWk42V2ViS2l0MTdX
ZWJQcmVmZXJlbmNlc0tleTIwY3NzUmVnaW9uc0VuYWJsZWRLZXlFdgogX19aTjZXZWJLaXQxN1dl
YlByZWZlcmVuY2VzS2V5MjRjc3NDb21wb3NpdGluZ0VuYWJsZWRLZXlFdgpAQCAtNDcxLDYgKzQ3
Miw4IEBAIF9XS1ByZWZlcmVuY2VzU2V0V2ViR0xFbmFibGVkCiBfX1pONldlYktpdDE0V2ViUHJl
ZmVyZW5jZXMxNXNldFdlYkdMRW5hYmxlZEVSS2IKIF9XS1ByZWZlcmVuY2VzU2V0TXVsdGl0aHJl
YWRlZFdlYkdMRW5hYmxlZAogX19aTjZXZWJLaXQxNFdlYlByZWZlcmVuY2VzMjhzZXRNdWx0aXRo
cmVhZGVkV2ViR0xFbmFibGVkRVJLYgorX1dLUHJlZmVyZW5jZXNTZXRGb3JjZVNvZnR3YXJlV2Vi
R0xSZW5kZXJpbmcKK19fWk42V2ViS2l0MTRXZWJQcmVmZXJlbmNlczMwc2V0Rm9yY2VTb2Z0d2Fy
ZVdlYkdMUmVuZGVyaW5nRVJLYgogX1dLTXV0YWJsZUFycmF5Q3JlYXRlCiBfX1pONldlYktpdDEy
TXV0YWJsZUFycmF5QzFFdgogX19aTjZXZWJLaXQxNEltbXV0YWJsZUFycmF5QzJFdgpAQCAtNzgw
NCw2ICs3ODA3LDggQEAgX1dLUHJlZmVyZW5jZXNHZXRXZWJHTEVuYWJsZWQKIF9fWk5LNldlYktp
dDE0V2ViUHJlZmVyZW5jZXMxMndlYkdMRW5hYmxlZEV2CiBfV0tQcmVmZXJlbmNlc0dldE11bHRp
dGhyZWFkZWRXZWJHTEVuYWJsZWQKIF9fWk5LNldlYktpdDE0V2ViUHJlZmVyZW5jZXMyNW11bHRp
dGhyZWFkZWRXZWJHTEVuYWJsZWRFdgorX1dLUHJlZmVyZW5jZXNHZXRGb3JjZVNvZnR3YXJlV2Vi
R0xSZW5kZXJpbmcKK19fWk5LNldlYktpdDE0V2ViUHJlZmVyZW5jZXMyN2ZvcmNlU29mdHdhcmVX
ZWJHTFJlbmRlcmluZ0V2CiBfV0tQYWdlQ29weUN1c3RvbVVzZXJBZ2VudAogX1dLUGFnZVJlbG9h
ZAogX19aTjZXZWJLaXQxMldlYlBhZ2VQcm94eTZyZWxvYWRFYgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214925</attachid>
            <date>2013-10-22 21:38:00 -0700</date>
            <delta_ts>2013-10-22 21:40:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-123177-20131023133758.patch</filename>
            <type>text/plain</type>
            <size>71885</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3ODQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDg1YThjYWZmNWVmMWU2
ZTE1MDViNWQzMTkzN2ZhZGQ1YzQxYWJiYS4uODI3ZWU0YWY5MzkzMGM5N2Y3ODdmOTQ5OTU3NzM1
MmRmOGRmZjVlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtNTYzLDYgKzU2Myw4OCBAQAogCiAyMDEzLTEwLTIy
ICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CiAKKyAgICAgICAgSW50
cm9kdWNlIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyB0byByZXBsYWNlIG1hbnVhbCB0b0Zvbygp
IGluIGNoaWxkIHJlbmRlciBvYmplY3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEyMzE1MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFzIGEgc3RlcCB0byBsZXQgdG9Gb28gdXNlIFRZUEVfQ0FTVFNfQkFT
RSwgdG9SZW5kZXJGb28oKSBjYW4gdXNlIGl0IGZvciBjaGlsZCByZW5kZXIgb2JqZWN0LgorICAg
ICAgICBTbywgdGhpcyBwYXRjaCBpbnRyb2R1Y2VzIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyBi
YXNlZCBvbiB0aGUgVFlQRV9DQVNUU19CQVNFLiBUaGlzIHdpbGwKKyAgICAgICAgZ2VuZXJhdGUg
cGxlbnR5IG1vcmUgaGVscGVyIGZ1bmN0aW9ucyBmb3IgcmVuZGVyIG9iamVjdCB0eXBlIGNhc3Qu
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBubyBiZWhhdmlvciBjaGFuZ2VzLgorCisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJs
b2NrRmxvdy5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyQnV0dG9uLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckNvdW50ZXIuaDoKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
RWxlbWVudDo6Z2VuZXJhdGluZ0VsZW1lbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJF
bWJlZGRlZE9iamVjdC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGaWVsZHNldC5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5oOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJGbG93VGhyZWFkLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZyYW1lLmg6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckZ1bGxTY3JlZW4uaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySFRNTENhbnZhcy5o
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJRnJhbWUuaDoKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVySW1hZ2UuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySW5saW5lLmg6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3QuaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyTGluZUJyZWFrLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxp
c3RCb3guaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGlzdEl0ZW0uaDoKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyTWVkaWEuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTWVu
dUxpc3QuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTWV0ZXIuaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5CbG9jay5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJNdWx0aUNvbHVtblNldC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJOYW1lZEZs
b3dGcmFnbWVudC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQu
aDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Lmg6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlclByb2dyZXNzLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclF1b3RlLmg6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5oOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJSZXBsYWNlZC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSdWJ5UnVuLmg6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclBhcnQuaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyU2VhcmNoRmllbGQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
U2xpZGVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNuYXBzaG90dGVkUGx1Z0luLmg6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlLmg6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclRhYmxlQ2FwdGlvbi5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZUNl
bGwuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGFibGVDb2wuaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGFi
bGVTZWN0aW9uLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRleHQuaDoKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyVGV4dENvbnRyb2xNdWx0aUxpbmUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4
dENvbnRyb2xTaW5nbGVMaW5lLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlcldpZGdldC5o
OgorICAgICAgICAqIHJlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MQmxvY2suaDoKKyAgICAg
ICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0NvbnRhaW5lci5oOgorICAgICAgICAqIHJlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHR3JhZGllbnRTdG9wLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N2
Zy9SZW5kZXJTVkdJbWFnZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSW5s
aW5lVGV4dC5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUGF0aC5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuaDoKKyAgICAgICAg
KiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlRmlsdGVyUHJpbWl0aXZlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlRmlsdGVyUHJpbWl0aXZlOjpzdHlsZURp
ZENoYW5nZSk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290Lmg6CisgICAg
ICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdTaGFwZS5oOgorICAgICAgICAqIHJlbmRlcmlu
Zy9zdmcvUmVuZGVyU1ZHVGV4dC5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZH
VGV4dFBhdGguaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1ZpZXdwb3J0Q29u
dGFpbmVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVGbG93Qm94LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNWR0lubGluZUZsb3dCb3g6OnBhaW50KToKKworMjAxMy0xMC0y
MiAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgorCiAgICAgICAgIElu
dHJvZHVjZSBBQ0NFU1NJQklMSVRZX09CSkVDVF9UWVBFX0NBU1RTIHRvIHJlcGxhY2UgbWFudWFs
IHRvRm9vKCkgaW4gYWNjZXNzaWJpbGl0eSBjaGlsZCBjbGFzcwogICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIzMTQwCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrLmgKaW5kZXggYjQ0N2Q4MjFlNjgzZDYzMWQyYzg5MTQzYzI3YTRlMWJi
ODM1ZWZmNi4uZDZlNDQyMjhlM2U3Yzg1YjJjYTc4ZjlkMjhmOWE3NWNkYTQzODQ2NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKQEAgLTc3MiwzMyArNzcyLDcgQEAgcHJp
dmF0ZToKICAgICBzdGF0aWMgYm9vbCBzX2NhblByb3BhZ2F0ZUZsb2F0SW50b1NpYmxpbmc7CiB9
OwogCi1pbmxpbmUgUmVuZGVyQmxvY2smIHRvUmVuZGVyQmxvY2soUmVuZGVyT2JqZWN0JiBvYmpl
Y3QpCi17Ci0gICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04ob2JqZWN0LmlzUmVu
ZGVyQmxvY2soKSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PFJlbmRlckJsb2NrJj4ob2JqZWN0
KTsKLX0KLQotaW5saW5lIGNvbnN0IFJlbmRlckJsb2NrJiB0b1JlbmRlckJsb2NrKGNvbnN0IFJl
bmRlck9iamVjdCYgb2JqZWN0KQotewotICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FU
SU9OKG9iamVjdC5pc1JlbmRlckJsb2NrKCkpOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25z
dCBSZW5kZXJCbG9jayY+KG9iamVjdCk7Ci19Ci0KLWlubGluZSBSZW5kZXJCbG9jayogdG9SZW5k
ZXJCbG9jayhSZW5kZXJPYmplY3QqIG9iamVjdCkKLXsgCi0gICAgQVNTRVJUX1dJVEhfU0VDVVJJ
VFlfSU1QTElDQVRJT04oIW9iamVjdCB8fCBvYmplY3QtPmlzUmVuZGVyQmxvY2soKSk7Ci0gICAg
cmV0dXJuIHN0YXRpY19jYXN0PFJlbmRlckJsb2NrKj4ob2JqZWN0KTsKLX0KLQotaW5saW5lIGNv
bnN0IFJlbmRlckJsb2NrKiB0b1JlbmRlckJsb2NrKGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0
KQoteyAKLSAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighb2JqZWN0IHx8IG9i
amVjdC0+aXNSZW5kZXJCbG9jaygpKTsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgUmVu
ZGVyQmxvY2sqPihvYmplY3QpOwotfQotCi0vLyBUaGlzIHdpbGwgY2F0Y2ggYW55b25lIGRvaW5n
IGFuIHVubmVjZXNzYXJ5IGNhc3QuCi12b2lkIHRvUmVuZGVyQmxvY2soY29uc3QgUmVuZGVyQmxv
Y2sqKTsKLXZvaWQgdG9SZW5kZXJCbG9jayhjb25zdCBSZW5kZXJCbG9jayYpOworUkVOREVSX09C
SkVDVF9UWVBFX0NBU1RTKFJlbmRlckJsb2NrLCBpc1JlbmRlckJsb2NrKCkpCiAKIExheW91dFVu
aXQgYmxvY2tEaXJlY3Rpb25PZmZzZXQoUmVuZGVyQmxvY2smIHJvb3RCbG9jaywgY29uc3QgTGF5
b3V0U2l6ZSYgb2Zmc2V0RnJvbVJvb3RCbG9jayk7CiBMYXlvdXRVbml0IGlubGluZURpcmVjdGlv
bk9mZnNldChSZW5kZXJCbG9jayYgcm9vdEJsb2NrLCBjb25zdCBMYXlvdXRTaXplJiBvZmZzZXRG
cm9tUm9vdEJsb2NrKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9ja0Zsb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cu
aAppbmRleCA5ZDBkZjk3YTkzMzE5MjAzNjMwOTAyZDBmZDEzMzQzZmEyOTVkZjRkLi5iMzkwNzA1
MjFhYTFhZDNhYjBmODQwYjNjODZiZmZmNTQyNGRlOGIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oCkBAIC00ODQsMzkgKzQ4NCwxMyBAQCBwcm90ZWN0ZWQ6
CiAgICAgZnJpZW5kIGNsYXNzIExpbmVXaWR0aDsgLy8gTmVlZHMgdG8ga25vdyBGbG9hdGluZ09i
amVjdAogfTsKIAotaW5saW5lIFJlbmRlckJsb2NrRmxvdyYgdG9SZW5kZXJCbG9ja0Zsb3coUmVu
ZGVyT2JqZWN0JiBvYmplY3QpCi17Ci0gICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJ
T04ob2JqZWN0LmlzUmVuZGVyQmxvY2tGbG93KCkpOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxS
ZW5kZXJCbG9ja0Zsb3cmPihvYmplY3QpOwotfQotCi1pbmxpbmUgY29uc3QgUmVuZGVyQmxvY2tG
bG93JiB0b1JlbmRlckJsb2NrRmxvdyhjb25zdCBSZW5kZXJPYmplY3QmIG9iamVjdCkKLXsKLSAg
ICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihvYmplY3QuaXNSZW5kZXJCbG9ja0Zs
b3coKSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFJlbmRlckJsb2NrRmxvdyY+KG9i
amVjdCk7Ci19Ci0KLWlubGluZSBSZW5kZXJCbG9ja0Zsb3cqIHRvUmVuZGVyQmxvY2tGbG93KFJl
bmRlck9iamVjdCogb2JqZWN0KQoteyAKLSAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNB
VElPTighb2JqZWN0IHx8IG9iamVjdC0+aXNSZW5kZXJCbG9ja0Zsb3coKSk7Ci0gICAgcmV0dXJu
IHN0YXRpY19jYXN0PFJlbmRlckJsb2NrRmxvdyo+KG9iamVjdCk7Ci19Ci0KLWlubGluZSBjb25z
dCBSZW5kZXJCbG9ja0Zsb3cqIHRvUmVuZGVyQmxvY2tGbG93KGNvbnN0IFJlbmRlck9iamVjdCog
b2JqZWN0KQoteyAKLSAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighb2JqZWN0
IHx8IG9iamVjdC0+aXNSZW5kZXJCbG9ja0Zsb3coKSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0
PGNvbnN0IFJlbmRlckJsb2NrRmxvdyo+KG9iamVjdCk7Ci19CitSRU5ERVJfT0JKRUNUX1RZUEVf
Q0FTVFMoUmVuZGVyQmxvY2tGbG93LCBpc1JlbmRlckJsb2NrRmxvdygpKQogCiBpbmxpbmUgYm9v
bCBSZW5kZXJFbGVtZW50Ojppc1JlbmRlck5hbWVkRmxvd0ZyYWdtZW50Q29udGFpbmVyKCkgY29u
c3QKIHsKICAgICByZXR1cm4gaXNSZW5kZXJCbG9ja0Zsb3coKSAmJiB0b1JlbmRlckJsb2NrRmxv
dyh0aGlzKS0+cmVuZGVyTmFtZWRGbG93RnJhZ21lbnQoKTsKIH0KIAotLy8gVGhpcyB3aWxsIGNh
dGNoIGFueW9uZSBkb2luZyBhbiB1bm5lY2Vzc2FyeSBjYXN0Lgotdm9pZCB0b1JlbmRlckJsb2Nr
Rmxvdyhjb25zdCBSZW5kZXJCbG9ja0Zsb3cqKTsKLXZvaWQgdG9SZW5kZXJCbG9ja0Zsb3coY29u
c3QgUmVuZGVyQmxvY2tGbG93Jik7Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlm
IC8vIFJlbmRlckJsb2NrRmxvd19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKaW5k
ZXggMWZmMDRiMDAyOTVhZjliMGI4ODg4MzcwZDc3MDI5NGE0ZDJkMmVjZS4uMzVhZjA3ZTVmYWUw
MjI4MzE4MjdiOTVmYTgyMzAzNDVjMDRkZmY2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCb3guaApAQCAtNzEyLDMzICs3MTIsNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyBib29sIHNf
aGFkT3ZlcmZsb3dDbGlwOwogfTsKIAotaW5saW5lIFJlbmRlckJveCYgdG9SZW5kZXJCb3goUmVu
ZGVyT2JqZWN0JiBvYmplY3QpCi17Ci0gICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJ
T04ob2JqZWN0LmlzQm94KCkpOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxSZW5kZXJCb3gmPihv
YmplY3QpOwotfQotCi1pbmxpbmUgY29uc3QgUmVuZGVyQm94JiB0b1JlbmRlckJveChjb25zdCBS
ZW5kZXJPYmplY3QmIG9iamVjdCkKLXsKLSAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNB
VElPTihvYmplY3QuaXNCb3goKSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFJlbmRl
ckJveCY+KG9iamVjdCk7Ci19Ci0KLWlubGluZSBSZW5kZXJCb3gqIHRvUmVuZGVyQm94KFJlbmRl
ck9iamVjdCogb2JqZWN0KQoteyAKLSAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElP
Tighb2JqZWN0IHx8IG9iamVjdC0+aXNCb3goKSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PFJl
bmRlckJveCo+KG9iamVjdCk7Ci19Ci0KLWlubGluZSBjb25zdCBSZW5kZXJCb3gqIHRvUmVuZGVy
Qm94KGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0KQoteyAKLSAgICBBU1NFUlRfV0lUSF9TRUNV
UklUWV9JTVBMSUNBVElPTighb2JqZWN0IHx8IG9iamVjdC0+aXNCb3goKSk7Ci0gICAgcmV0dXJu
IHN0YXRpY19jYXN0PGNvbnN0IFJlbmRlckJveCo+KG9iamVjdCk7Ci19Ci0KLS8vIFRoaXMgd2ls
bCBjYXRjaCBhbnlvbmUgZG9pbmcgYW4gdW5uZWNlc3NhcnkgY2FzdC4KLXZvaWQgdG9SZW5kZXJC
b3goY29uc3QgUmVuZGVyQm94Kik7Ci12b2lkIHRvUmVuZGVyQm94KGNvbnN0IFJlbmRlckJveCYp
OworUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlckJveCwgaXNCb3goKSkKIAogaW5saW5l
IFJlbmRlckJveCogUmVuZGVyQm94OjpwcmV2aW91c1NpYmxpbmdCb3goKSBjb25zdAogewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuaAppbmRleCA5
NDU4NzZmYjk2M2RmMGQxNzlmNzUwNDNhMDg3NTJhZDYwZGZhZTFkLi5mYjNhOTY3OTAxYzU1NGQ2
YjIyMTBjZjk5MDU0NGQ3NzEyYmMwOTY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQm94TW9kZWxPYmplY3QuaApAQCAtMzQwLDMzICszNDAsNyBAQCBwcml2YXRlOgog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbG9yLCBFQm9yZGVyU3R5bGUsIEJhY2tncm91
bmRCbGVlZEF2b2lkYW5jZSwgYm9vbCBpbmNsdWRlTG9naWNhbExlZnRFZGdlLCBib29sIGluY2x1
ZGVMb2dpY2FsUmlnaHRFZGdlKTsKIH07CiAKLWlubGluZSBSZW5kZXJCb3hNb2RlbE9iamVjdCYg
dG9SZW5kZXJCb3hNb2RlbE9iamVjdChSZW5kZXJPYmplY3QmIG9iamVjdCkKLXsKLSAgICBBU1NF
UlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihvYmplY3QuaXNCb3hNb2RlbE9iamVjdCgpKTsK
LSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8UmVuZGVyQm94TW9kZWxPYmplY3QmPihvYmplY3QpOwot
fQotCi1pbmxpbmUgY29uc3QgUmVuZGVyQm94TW9kZWxPYmplY3QmIHRvUmVuZGVyQm94TW9kZWxP
YmplY3QoY29uc3QgUmVuZGVyT2JqZWN0JiBvYmplY3QpCi17Ci0gICAgQVNTRVJUX1dJVEhfU0VD
VVJJVFlfSU1QTElDQVRJT04ob2JqZWN0LmlzQm94TW9kZWxPYmplY3QoKSk7Ci0gICAgcmV0dXJu
IHN0YXRpY19jYXN0PGNvbnN0IFJlbmRlckJveE1vZGVsT2JqZWN0Jj4ob2JqZWN0KTsKLX0KLQot
aW5saW5lIFJlbmRlckJveE1vZGVsT2JqZWN0KiB0b1JlbmRlckJveE1vZGVsT2JqZWN0KFJlbmRl
ck9iamVjdCogb2JqZWN0KQoteyAKLSAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElP
Tighb2JqZWN0IHx8IG9iamVjdC0+aXNCb3hNb2RlbE9iamVjdCgpKTsKLSAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8UmVuZGVyQm94TW9kZWxPYmplY3QqPihvYmplY3QpOwotfQotCi1pbmxpbmUgY29u
c3QgUmVuZGVyQm94TW9kZWxPYmplY3QqIHRvUmVuZGVyQm94TW9kZWxPYmplY3QoY29uc3QgUmVu
ZGVyT2JqZWN0KiBvYmplY3QpCi17IAotICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FU
SU9OKCFvYmplY3QgfHwgb2JqZWN0LT5pc0JveE1vZGVsT2JqZWN0KCkpOwotICAgIHJldHVybiBz
dGF0aWNfY2FzdDxjb25zdCBSZW5kZXJCb3hNb2RlbE9iamVjdCo+KG9iamVjdCk7Ci19Ci0KLS8v
IFRoaXMgd2lsbCBjYXRjaCBhbnlvbmUgZG9pbmcgYW4gdW5uZWNlc3NhcnkgY2FzdC4KLXZvaWQg
dG9SZW5kZXJCb3hNb2RlbE9iamVjdChjb25zdCBSZW5kZXJCb3hNb2RlbE9iamVjdCopOwotdm9p
ZCB0b1JlbmRlckJveE1vZGVsT2JqZWN0KGNvbnN0IFJlbmRlckJveE1vZGVsT2JqZWN0Jik7CitS
RU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyQm94TW9kZWxPYmplY3QsIGlzQm94TW9kZWxP
YmplY3QoKSkKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQnV0dG9uLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQnV0dG9uLmgKaW5kZXggYjkyYmJhNTEzOGVkM2RmMDNlNjUwNDlhZjQ0MmRkMThk
OWQ3ZGYzNS4uMmIyN2MzNDk4MzBjMDg0ZWMxYTQxNTg3NmJkZWVlNzdjZWQ4OTdiYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJ1dHRvbi5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCdXR0b24uaApAQCAtNzksMjAgKzc5LDcgQEAgcHJp
dmF0ZToKICAgICBib29sIG1fZGVmYXVsdDsKIH07CiAKLWlubGluZSBSZW5kZXJCdXR0b24qIHRv
UmVuZGVyQnV0dG9uKFJlbmRlck9iamVjdCogb2JqZWN0KQoteyAKLSAgICBBU1NFUlRfV0lUSF9T
RUNVUklUWV9JTVBMSUNBVElPTighb2JqZWN0IHx8IG9iamVjdC0+aXNSZW5kZXJCdXR0b24oKSk7
Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PFJlbmRlckJ1dHRvbio+KG9iamVjdCk7Ci19Ci0KLWlu
bGluZSBjb25zdCBSZW5kZXJCdXR0b24qIHRvUmVuZGVyQnV0dG9uKGNvbnN0IFJlbmRlck9iamVj
dCogb2JqZWN0KQoteyAKLSAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighb2Jq
ZWN0IHx8IG9iamVjdC0+aXNSZW5kZXJCdXR0b24oKSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0
PGNvbnN0IFJlbmRlckJ1dHRvbio+KG9iamVjdCk7Ci19Ci0KLS8vIFRoaXMgd2lsbCBjYXRjaCBh
bnlvbmUgZG9pbmcgYW4gdW5uZWNlc3NhcnkgY2FzdC4KLXZvaWQgdG9SZW5kZXJCdXR0b24oY29u
c3QgUmVuZGVyQnV0dG9uKik7CitSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyQnV0dG9u
LCBpc1JlbmRlckJ1dHRvbigpKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb3VudGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQ291bnRlci5oCmluZGV4IGY2YTYyNjZiNTI4NDM1OTBhNWZj
Yzc1MTdkMzg4NDQzNWVlN2FlODYuLjAzZDhhMmNhMzlmNmU4MjU2ODdkNzUwMDFjMjg4NDcxOWEy
MTVlZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb3VudGVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvdW50ZXIuaApAQCAtNjIs
MjEgKzYyLDcgQEAgcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgQ291bnRlck5vZGU7CiB9Owog
Ci1pbmxpbmUgUmVuZGVyQ291bnRlciYgdG9SZW5kZXJDb3VudGVyKFJlbmRlck9iamVjdCYgb2Jq
ZWN0KQotewotICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKG9iamVjdC5pc0Nv
dW50ZXIoKSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PFJlbmRlckNvdW50ZXImPihvYmplY3Qp
OwotfQotCi1pbmxpbmUgUmVuZGVyQ291bnRlciogdG9SZW5kZXJDb3VudGVyKFJlbmRlck9iamVj
dCogb2JqZWN0KQotewotICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFvYmpl
Y3QgfHwgb2JqZWN0LT5pc0NvdW50ZXIoKSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PFJlbmRl
ckNvdW50ZXIqPihvYmplY3QpOwotfQotCi0vLyBUaGlzIHdpbGwgY2F0Y2ggYW55b25lIGRvaW5n
IGFuIHVubmVjZXNzYXJ5IGNhc3QuCi12b2lkIHRvUmVuZGVyQ291bnRlcihjb25zdCBSZW5kZXJD
b3VudGVyJik7Ci12b2lkIHRvUmVuZGVyQ291bnRlcihjb25zdCBSZW5kZXJDb3VudGVyKik7CitS
RU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyQ291bnRlciwgaXNDb3VudGVyKCkpCiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVt
ZW50LmgKaW5kZXggNmQ5YmJlMDM0M2QxMTJiNWM1ZWY0NzY1ZDViZjI0Yjk1MGZlYWQ4MS4uN2Iw
YmI1MGEwZDk5YjlhMTBjNzUyNzIwOGMxYzNkYzIxM2IwZjdkMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCkBAIC0yMzYsNDEgKzIzNiwxNSBAQCBpbmxpbmUgYm9v
bCBSZW5kZXJFbGVtZW50Ojppc1JlbmRlcklubGluZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fYmFz
ZVR5cGVGbGFncyAmIFJlbmRlcklubGluZUZsYWc7CiB9CiAKLWlubGluZSBSZW5kZXJFbGVtZW50
JiB0b1JlbmRlckVsZW1lbnQoUmVuZGVyT2JqZWN0JiBvYmplY3QpCi17Ci0gICAgQVNTRVJUX1dJ
VEhfU0VDVVJJVFlfSU1QTElDQVRJT04ob2JqZWN0LmlzUmVuZGVyRWxlbWVudCgpKTsKLSAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8UmVuZGVyRWxlbWVudCY+KG9iamVjdCk7Ci19Ci0KLWlubGluZSBj
b25zdCBSZW5kZXJFbGVtZW50JiB0b1JlbmRlckVsZW1lbnQoY29uc3QgUmVuZGVyT2JqZWN0JiBv
YmplY3QpCi17Ci0gICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04ob2JqZWN0Lmlz
UmVuZGVyRWxlbWVudCgpKTsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgUmVuZGVyRWxl
bWVudCY+KG9iamVjdCk7Ci19Ci0KLWlubGluZSBSZW5kZXJFbGVtZW50KiB0b1JlbmRlckVsZW1l
bnQoUmVuZGVyT2JqZWN0KiBvYmplY3QpCi17Ci0gICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1Q
TElDQVRJT04oIW9iamVjdCB8fCBvYmplY3QtPmlzUmVuZGVyRWxlbWVudCgpKTsKLSAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8UmVuZGVyRWxlbWVudCo+KG9iamVjdCk7Ci19Ci0KLWlubGluZSBjb25z
dCBSZW5kZXJFbGVtZW50KiB0b1JlbmRlckVsZW1lbnQoY29uc3QgUmVuZGVyT2JqZWN0KiBvYmpl
Y3QpCi17Ci0gICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW9iamVjdCB8fCBv
YmplY3QtPmlzUmVuZGVyRWxlbWVudCgpKTsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3Qg
UmVuZGVyRWxlbWVudCo+KG9iamVjdCk7Ci19CitSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVu
ZGVyRWxlbWVudCwgaXNSZW5kZXJFbGVtZW50KCkpCiAKIGlubGluZSBFbGVtZW50KiBSZW5kZXJF
bGVtZW50OjpnZW5lcmF0aW5nRWxlbWVudCgpIGNvbnN0CiB7Ci0gICAgaWYgKHBhcmVudCgpICYm
IGlzUmVuZGVyTmFtZWRGbG93RnJhZ21lbnQoKSkKLSAgICAgICAgcmV0dXJuIHRvUmVuZGVyRWxl
bWVudChwYXJlbnQoKSktPmdlbmVyYXRpbmdFbGVtZW50KCk7CisgICAgaWYgKGlzUmVuZGVyTmFt
ZWRGbG93RnJhZ21lbnQoKSAmJiBwYXJlbnQoKSkKKyAgICAgICAgcmV0dXJuIHBhcmVudCgpLT5n
ZW5lcmF0aW5nRWxlbWVudCgpOwogICAgIHJldHVybiB0b0VsZW1lbnQoUmVuZGVyT2JqZWN0Ojpn
ZW5lcmF0aW5nTm9kZSgpKTsKIH0KIAotLy8gVGhpcyB3aWxsIGNhdGNoIGFueW9uZSBkb2luZyBh
biB1bm5lY2Vzc2FyeSBjYXN0Lgotdm9pZCB0b1JlbmRlckVsZW1lbnQoY29uc3QgUmVuZGVyRWxl
bWVudCopOwotdm9pZCB0b1JlbmRlckVsZW1lbnQoY29uc3QgUmVuZGVyRWxlbWVudCYpOwotCiBp
bmxpbmUgYm9vbCBSZW5kZXJPYmplY3Q6OmlzUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCgpIGNvbnN0
CiB7CiAgICAgcmV0dXJuIGlzUmVuZGVyRWxlbWVudCgpICYmIHRvUmVuZGVyRWxlbWVudCh0aGlz
KS0+aXNSZW5kZXJMYXllck1vZGVsT2JqZWN0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRW1iZWRkZWRPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJFbWJlZGRlZE9iamVjdC5oCmluZGV4IGUwNjA1NDA1ZTU2MTQ4NWE2NGMzYzcz
M2JjMjgyYWNhODk1MWMxNWQuLjNhZWY5MjU1ZjNiYTEyOGU1Y2FlZmExYzc1ZWQ1Y2FkMzBjOWQy
ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbWJlZGRlZE9i
amVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbWJlZGRlZE9iamVj
dC5oCkBAIC0xMTMsMTQgKzExMyw3IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIG1fdW5hdmFpbGFi
aWxpdHlEZXNjcmlwdGlvbjsKIH07CiAKLWlubGluZSBSZW5kZXJFbWJlZGRlZE9iamVjdCogdG9S
ZW5kZXJFbWJlZGRlZE9iamVjdChSZW5kZXJPYmplY3QqIG9iamVjdCkKLXsKLSAgICBBU1NFUlRf
V0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighb2JqZWN0IHx8IG9iamVjdC0+aXNFbWJlZGRlZE9i
amVjdCgpKTsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8UmVuZGVyRW1iZWRkZWRPYmplY3QqPihv
YmplY3QpOwotfQotCi0vLyBUaGlzIHdpbGwgY2F0Y2ggYW55b25lIGRvaW5nIGFuIHVubmVjZXNz
YXJ5IGNhc3QuCi12b2lkIHRvUmVuZGVyRW1iZWRkZWRPYmplY3QoY29uc3QgUmVuZGVyRW1iZWRk
ZWRPYmplY3QqKTsKK1JFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJFbWJlZGRlZE9iamVj
dCwgaXNFbWJlZGRlZE9iamVjdCgpKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWVsZHNldC5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpZWxkc2V0LmgKaW5kZXggNDM5ZGE3Yjg0MWI3NGQx
MDNhYWRmMDNkNDUyNDRjYzVmMDQzZjE1MS4uYjJhMzAzM2RmZjg2NGZhNjdjZDk1ZGZiYmI4Y2Iy
MGYyMDVhNjU5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZp
ZWxkc2V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpZWxkc2V0LmgK
QEAgLTU1LDE0ICs1NSw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHBhaW50TWFzayhQ
YWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYpIE9WRVJSSURFOwogfTsKIAotaW5saW5lIFJl
bmRlckZpZWxkc2V0KiB0b1JlbmRlckZpZWxkc2V0KFJlbmRlck9iamVjdCogb2JqZWN0KQotewot
ICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFvYmplY3QgfHwgb2JqZWN0LT5p
c0ZpZWxkc2V0KCkpOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxSZW5kZXJGaWVsZHNldCo+KG9i
amVjdCk7Ci19Ci0KLS8vIFRoaXMgd2lsbCBjYXRjaCBhbnlvbmUgZG9pbmcgYW4gdW5uZWNlc3Nh
cnkgY2FzdC4KLXZvaWQgdG9SZW5kZXJGaWVsZHNldChjb25zdCBSZW5kZXJGaWVsZHNldCopOwor
UkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlckZpZWxkc2V0LCBpc0ZpZWxkc2V0KCkpCiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuaAppbmRleCBmNmIyNzQ0YzczMTAwMDUxZDZmZjc3
ODdiNmJiYmQ5N2IyODYyYjRmLi40MDQ3NTUzNGE4NGQ1MGM2N2U1NTljN2UwNWVlYWJhODg5MzM2
OTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9h
ZENvbnRyb2wuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9h
ZENvbnRyb2wuaApAQCAtNjUsMjAgKzY1LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fY2FuUmVj
ZWl2ZURyb3BwZWRGaWxlczsKIH07CiAKLWlubGluZSBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbCog
dG9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbChSZW5kZXJPYmplY3QqIG9iamVjdCkKLXsKLSAgICBB
U1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighb2JqZWN0IHx8IG9iamVjdC0+aXNGaWxl
VXBsb2FkQ29udHJvbCgpKTsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8UmVuZGVyRmlsZVVwbG9h
ZENvbnRyb2wqPihvYmplY3QpOwotfQotCi1pbmxpbmUgY29uc3QgUmVuZGVyRmlsZVVwbG9hZENv
bnRyb2wqIHRvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2woY29uc3QgUmVuZGVyT2JqZWN0KiBvYmpl
Y3QpCi17Ci0gICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW9iamVjdCB8fCBv
YmplY3QtPmlzRmlsZVVwbG9hZENvbnRyb2woKSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PGNv
bnN0IFJlbmRlckZpbGVVcGxvYWRDb250cm9sKj4ob2JqZWN0KTsKLX0KLQotLy8gVGhpcyB3aWxs
IGNhdGNoIGFueW9uZSBkb2luZyBhbiB1bm5lY2Vzc2FyeSBjYXN0Lgotdm9pZCB0b1JlbmRlckZp
bGVVcGxvYWRDb250cm9sKGNvbnN0IFJlbmRlckZpbGVVcGxvYWRDb250cm9sKik7CitSRU5ERVJf
T0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wsIGlzRmlsZVVwbG9hZENv
bnRyb2woKSkKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5oCmluZGV4IDgxYWMxMmU2MzFmZDFlYWNmZmJlOWY3
ZGFiODY5YTYwNjRmZjA5ZjYuLjZiMjRmMjgxZjFmZDM0NjE4ZTJlNDNhZWUwNzBlNDQyYmJlYzk3
ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJv
eC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5oCkBA
IC0xNzcsMjAgKzE3Nyw3IEBAIHByaXZhdGU6CiAgICAgaW50IG1fbnVtYmVyT2ZJbkZsb3dDaGls
ZHJlbk9uRmlyc3RMaW5lOwogfTsKIAotaW5saW5lIFJlbmRlckZsZXhpYmxlQm94KiB0b1JlbmRl
ckZsZXhpYmxlQm94KFJlbmRlck9iamVjdCogb2JqZWN0KQotewotICAgIEFTU0VSVF9XSVRIX1NF
Q1VSSVRZX0lNUExJQ0FUSU9OKCFvYmplY3QgfHwgb2JqZWN0LT5pc0ZsZXhpYmxlQm94KCkpOwot
ICAgIHJldHVybiBzdGF0aWNfY2FzdDxSZW5kZXJGbGV4aWJsZUJveCo+KG9iamVjdCk7Ci19Ci0K
LWlubGluZSBjb25zdCBSZW5kZXJGbGV4aWJsZUJveCogdG9SZW5kZXJGbGV4aWJsZUJveChjb25z
dCBSZW5kZXJPYmplY3QqIG9iamVjdCkKLXsKLSAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBM
SUNBVElPTighb2JqZWN0IHx8IG9iamVjdC0+aXNGbGV4aWJsZUJveCgpKTsKLSAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8Y29uc3QgUmVuZGVyRmxleGlibGVCb3gqPihvYmplY3QpOwotfQotCi0vLyBU
aGlzIHdpbGwgY2F0Y2ggYW55b25lIGRvaW5nIGFuIHVubmVjZXNzYXJ5IGNhc3QuCi12b2lkIHRv
UmVuZGVyRmxleGlibGVCb3goY29uc3QgUmVuZGVyRmxleGlibGVCb3gqKTsKK1JFTkRFUl9PQkpF
Q1RfVFlQRV9DQVNUUyhSZW5kZXJGbGV4aWJsZUJveCwgaXNGbGV4aWJsZUJveCgpKQogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJGbG93VGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxv
d1RocmVhZC5oCmluZGV4IDcxZDZlZWNlNjllMzFmMzM4YTkxY2I1OTQzODI0ZWNjYjcyNjUxN2Uu
Ljk2MDc5Zjg1MTRkODk5MGY2ZGVkMjg3MDVjZmUyMTlmOTYxNjI3OWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaApAQCAtMzU1LDMzICszNTUsNyBAQCBw
cm90ZWN0ZWQ6CiAgICAgYm9vbCBtX2xheWVyc1RvUmVnaW9uTWFwcGluZ3NEaXJ0eSA6IDE7CiB9
OwogCi1pbmxpbmUgUmVuZGVyRmxvd1RocmVhZCYgdG9SZW5kZXJGbG93VGhyZWFkKFJlbmRlck9i
amVjdCYgb2JqZWN0KQotewotICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKG9i
amVjdC5pc1JlbmRlckZsb3dUaHJlYWQoKSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PFJlbmRl
ckZsb3dUaHJlYWQmPihvYmplY3QpOwotfQotCi1pbmxpbmUgY29uc3QgUmVuZGVyRmxvd1RocmVh
ZCYgdG9SZW5kZXJGbG93VGhyZWFkKGNvbnN0IFJlbmRlck9iamVjdCYgb2JqZWN0KQotewotICAg
IEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKG9iamVjdC5pc1JlbmRlckZsb3dUaHJl
YWQoKSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFJlbmRlckZsb3dUaHJlYWQmPihv
YmplY3QpOwotfQotCi1pbmxpbmUgUmVuZGVyRmxvd1RocmVhZCogdG9SZW5kZXJGbG93VGhyZWFk
KFJlbmRlck9iamVjdCogb2JqZWN0KQotewotICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJ
Q0FUSU9OKCFvYmplY3QgfHwgb2JqZWN0LT5pc1JlbmRlckZsb3dUaHJlYWQoKSk7Ci0gICAgcmV0
dXJuIHN0YXRpY19jYXN0PFJlbmRlckZsb3dUaHJlYWQqPihvYmplY3QpOwotfQotCi1pbmxpbmUg
Y29uc3QgUmVuZGVyRmxvd1RocmVhZCogdG9SZW5kZXJGbG93VGhyZWFkKGNvbnN0IFJlbmRlck9i
amVjdCogb2JqZWN0KQotewotICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFv
YmplY3QgfHwgb2JqZWN0LT5pc1JlbmRlckZsb3dUaHJlYWQoKSk7Ci0gICAgcmV0dXJuIHN0YXRp
Y19jYXN0PGNvbnN0IFJlbmRlckZsb3dUaHJlYWQqPihvYmplY3QpOwotfQotCi0vLyBUaGlzIHdp
bGwgY2F0Y2ggYW55b25lIGRvaW5nIGFuIHVubmVjZXNzYXJ5IGNhc3QuCi12b2lkIHRvUmVuZGVy
Rmxvd1RocmVhZChjb25zdCBSZW5kZXJGbG93VGhyZWFkKik7Ci12b2lkIHRvUmVuZGVyRmxvd1Ro
cmVhZChjb25zdCBSZW5kZXJGbG93VGhyZWFkJik7CitSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMo
UmVuZGVyRmxvd1RocmVhZCwgaXNSZW5kZXJGbG93VGhyZWFkKCkpCiAKIGNsYXNzIEN1cnJlbnRS
ZW5kZXJGbG93VGhyZWFkTWFpbnRhaW5lciB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3Vy
cmVudFJlbmRlckZsb3dUaHJlYWRNYWludGFpbmVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckZyYW1lLmgKaW5kZXggMWE3MDQ5MmRhMmJiZDNmZTdiNDQ4ZDJiNzA4YmVhOGUyZmFhODVi
Mi4uZjk5OTcyNmUzNjhkOWU2NjM2M2E2MDljN2ZkM2VkMTc3MmFmMjlhMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lLmgKQEAgLTQ3LDE0ICs0Nyw3IEBAIHByaXZhdGU6CiAg
ICAgdmlydHVhbCB2b2lkIHZpZXdDbGVhcmVkKCkgT1ZFUlJJREU7CiB9OwogCi1pbmxpbmUgUmVu
ZGVyRnJhbWUqIHRvUmVuZGVyRnJhbWUoUmVuZGVyT2JqZWN0KiBvYmplY3QpCi17Ci0gICAgQVNT
RVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW9iamVjdCB8fCBvYmplY3QtPmlzRnJhbWUo
KSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PFJlbmRlckZyYW1lKj4ob2JqZWN0KTsKLX0KLQot
Ly8gVGhpcyB3aWxsIGNhdGNoIGFueW9uZSBkb2luZyBhbiB1bm5lY2Vzc2FyeSBjYXN0Lgotdm9p
ZCB0b1JlbmRlckZyYW1lKGNvbnN0IFJlbmRlckZyYW1lKik7CitSRU5ERVJfT0JKRUNUX1RZUEVf
Q0FTVFMoUmVuZGVyRnJhbWUsIGlzRnJhbWUoKSkKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oCmluZGV4IGU2ZWQzYzM4
ZDBmOTA5ZTM3NjgxZjhiM2ZmZTFjMzJhNjU1MmVjMTkuLmY2YjQ0YWI4MjAwZWRjNDk0NDIwMjA5
MWIxOTAzMjk0YmQwZDIxM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJGcmFtZVNldC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFt
ZVNldC5oCkBAIC0xMjYsMTUgKzEyNiw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzQ2hpbGRS
ZXNpemluZzsKIH07CiAKLQotaW5saW5lIFJlbmRlckZyYW1lU2V0KiB0b1JlbmRlckZyYW1lU2V0
KFJlbmRlck9iamVjdCogb2JqZWN0KQotewotICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJ
Q0FUSU9OKCFvYmplY3QgfHwgb2JqZWN0LT5pc0ZyYW1lU2V0KCkpOwotICAgIHJldHVybiBzdGF0
aWNfY2FzdDxSZW5kZXJGcmFtZVNldCo+KG9iamVjdCk7Ci19Ci0KLS8vIFRoaXMgd2lsbCBjYXRj
aCBhbnlvbmUgZG9pbmcgYW4gdW5uZWNlc3NhcnkgY2FzdC4KLXZvaWQgdG9SZW5kZXJGcmFtZVNl
dChjb25zdCBSZW5kZXJGcmFtZVNldCopOworUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRl
ckZyYW1lU2V0LCBpc0ZyYW1lU2V0KCkpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZ1bGxTY3JlZW4uaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGdWxsU2NyZWVuLmgKaW5kZXggN2RiYTc4MDA0
NDI1OGE2OWExMDg5ZWU0YTU2ZmUxMzY4MDg0NzU4Mi4uZGVlNTY4OTkxNTE2NzJlZDMzOTljMjM1
YzY4Y2I2OGI4MTRlMmNlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckZ1bGxTY3JlZW4uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnVs
bFNjcmVlbi5oCkBAIC01MywxNSArNTMsOSBAQCBwcml2YXRlOgogcHJvdGVjdGVkOgogICAgIFJl
bmRlckJsb2NrKiBtX3BsYWNlaG9sZGVyOwogfTsKLSAgICAKLWlubGluZSBSZW5kZXJGdWxsU2Ny
ZWVuKiB0b1JlbmRlckZ1bGxTY3JlZW4oUmVuZGVyT2JqZWN0KiBvYmplY3QpCi17Ci0gICAgQVNT
RVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04ob2JqZWN0LT5pc1JlbmRlckZ1bGxTY3JlZW4o
KSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PFJlbmRlckZ1bGxTY3JlZW4qPihvYmplY3QpOwot
fQotICAgIAotLy8gVGhpcyB3aWxsIGNhdGNoIGFueW9uZSBkb2luZyBhbiB1bm5lY2Vzc2FyeSBj
YXN0Ogotdm9pZCB0b1JlbmRlckZ1bGxTY3JlZW4oUmVuZGVyRnVsbFNjcmVlbiopOworCitSRU5E
RVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyRnVsbFNjcmVlbiwgaXNSZW5kZXJGdWxsU2NyZWVu
KCkpCisKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVySFRNTENhbnZhcy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckhUTUxD
YW52YXMuaAppbmRleCBlYjdiN2ZjZjEyOWJjMTMxZWJlNDZhNmU2NmYzY2JkZDVhZWNmMGRmLi5k
Y2U2ZTkyYjA0NjFjYjE5YTE2NzI1YWFiZmE0NGYwMWM0ZmU0YTFkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySFRNTENhbnZhcy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJIVE1MQ2FudmFzLmgKQEAgLTQ5LDE0ICs0OSw3IEBAIHByaXZh
dGU6CiAgICAgdmlydHVhbCB2b2lkIGludHJpbnNpY1NpemVDaGFuZ2VkKCkgT1ZFUlJJREUgeyBj
YW52YXNTaXplQ2hhbmdlZCgpOyB9CiB9OwogCi1pbmxpbmUgUmVuZGVySFRNTENhbnZhcyogdG9S
ZW5kZXJIVE1MQ2FudmFzKFJlbmRlck9iamVjdCogb2JqZWN0KQotewotICAgIEFTU0VSVF9XSVRI
X1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFvYmplY3QgfHwgb2JqZWN0LT5pc0NhbnZhcygpKTsKLSAg
ICByZXR1cm4gc3RhdGljX2Nhc3Q8UmVuZGVySFRNTENhbnZhcyo+KG9iamVjdCk7Ci19Ci0KLS8v
IFRoaXMgd2lsbCBjYXRjaCBhbnlvbmUgZG9pbmcgYW4gdW5uZWNlc3NhcnkgY2FzdC4KLXZvaWQg
dG9SZW5kZXJIVE1MQ2FudmFzKGNvbnN0IFJlbmRlckhUTUxDYW52YXMqKTsKK1JFTkRFUl9PQkpF
Q1RfVFlQRV9DQVNUUyhSZW5kZXJIVE1MQ2FudmFzLCBpc0NhbnZhcygpKQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJJRnJhbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJRnJhbWUuaAppbmRl
eCA3Yjc4NmFhMTQzYmU5ZjE2MGY4MzFiMWM0ZDgxMzc0MzY5MDZjNGZhLi4wODM3ZjhmNjlhZDIw
M2MyZGMzMmUwZjU3ZDZiNjIwY2RiZTNkMzRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVySUZyYW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlcklGcmFtZS5oCkBAIC02MywyMSArNjMsNyBAQCBwcml2YXRlOgogICAgIFJlbmRlclZpZXcq
IGNvbnRlbnRSb290UmVuZGVyZXIoKSBjb25zdDsKIH07CiAKLWlubGluZSBSZW5kZXJJRnJhbWUq
IHRvUmVuZGVySUZyYW1lKFJlbmRlck9iamVjdCogb2JqZWN0KQotewotICAgIEFTU0VSVF9XSVRI
X1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFvYmplY3QgfHwgb2JqZWN0LT5pc1JlbmRlcklGcmFtZSgp
KTsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8UmVuZGVySUZyYW1lKj4ob2JqZWN0KTsKLX0KLQot
aW5saW5lIGNvbnN0IFJlbmRlcklGcmFtZSogdG9SZW5kZXJJRnJhbWUoY29uc3QgUmVuZGVyT2Jq
ZWN0KiBvYmplY3QpCi17Ci0gICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW9i
amVjdCB8fCBvYmplY3QtPmlzUmVuZGVySUZyYW1lKCkpOwotICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxjb25zdCBSZW5kZXJJRnJhbWUqPihvYmplY3QpOwotfQotCi0vLyBUaGlzIHdpbGwgY2F0Y2gg
YW55b25lIGRvaW5nIGFuIHVubmVjZXNzYXJ5IGNhc3QuCi12b2lkIHRvUmVuZGVySUZyYW1lKGNv
bnN0IFJlbmRlcklGcmFtZSopOwotCitSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVySUZy
YW1lLCBpc1JlbmRlcklGcmFtZSgpKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmgKaW5kZXggMTM4MGFjYjRjYjI2ZDhlNjk5MDll
MDMzZmRlNzg2OGM3MGQyNWFkZi4uZjUyN2JlNTRjZGNlOTcxYjJiYTFjN2M4YmFkZWQxMDU3YzQ3
ZjEyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmgKQEAgLTExOCwzMyAr
MTE4LDcgQEAgcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgUmVuZGVySW1hZ2VTY2FsZU9ic2Vy
dmVyOwogfTsKIAotaW5saW5lIFJlbmRlckltYWdlJiB0b1JlbmRlckltYWdlKFJlbmRlck9iamVj
dCYgb2JqZWN0KQotewotICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKG9iamVj
dC5pc1JlbmRlckltYWdlKCkpOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxSZW5kZXJJbWFnZSY+
KG9iamVjdCk7Ci19Ci0KLWlubGluZSBjb25zdCBSZW5kZXJJbWFnZSYgdG9SZW5kZXJJbWFnZShj
b25zdCBSZW5kZXJPYmplY3QmIG9iamVjdCkKLXsKLSAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9J
TVBMSUNBVElPTihvYmplY3QuaXNSZW5kZXJJbWFnZSgpKTsKLSAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8Y29uc3QgUmVuZGVySW1hZ2UmPihvYmplY3QpOwotfQotCi1pbmxpbmUgUmVuZGVySW1hZ2Uq
IHRvUmVuZGVySW1hZ2UoUmVuZGVyT2JqZWN0KiBvYmplY3QpCi17Ci0gICAgQVNTRVJUX1dJVEhf
U0VDVVJJVFlfSU1QTElDQVRJT04oIW9iamVjdCB8fCBvYmplY3QtPmlzUmVuZGVySW1hZ2UoKSk7
Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PFJlbmRlckltYWdlKj4ob2JqZWN0KTsKLX0KLQotaW5s
aW5lIGNvbnN0IFJlbmRlckltYWdlKiB0b1JlbmRlckltYWdlKGNvbnN0IFJlbmRlck9iamVjdCog
b2JqZWN0KQotewotICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFvYmplY3Qg
fHwgb2JqZWN0LT5pc1JlbmRlckltYWdlKCkpOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25z
dCBSZW5kZXJJbWFnZSo+KG9iamVjdCk7Ci19Ci0KLS8vIFRoaXMgd2lsbCBjYXRjaCBhbnlvbmUg
ZG9pbmcgYW4gdW5uZWNlc3NhcnkgY2FzdC4KLXZvaWQgdG9SZW5kZXJJbWFnZShjb25zdCBSZW5k
ZXJJbWFnZSopOwotdm9pZCB0b1JlbmRlckltYWdlKGNvbnN0IFJlbmRlckltYWdlJik7CitSRU5E
RVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVySW1hZ2UsIGlzUmVuZGVySW1hZ2UoKSkKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVySW5saW5lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5l
LmgKaW5kZXggZTM0YzMyYWU4MWY1NzcwYTc3MzExMzQ5MTQ4NGNiZTkwNTBiYjQ2Mi4uMGU3OGVk
NWQyYjYyYmNlYzFiZDUxNDIyMTllYjZlMDk2NmI4MDdjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJJbmxpbmUuaApAQCAtMTc2LDMzICsxNzYsNyBAQCBwcml2YXRlOgogICAgIGJv
b2wgbV9hbHdheXNDcmVhdGVMaW5lQm94ZXMgOiAxOwogfTsKIAotaW5saW5lIFJlbmRlcklubGlu
ZSYgdG9SZW5kZXJJbmxpbmUoUmVuZGVyT2JqZWN0JiBvYmplY3QpCi17Ci0gICAgQVNTRVJUX1dJ
VEhfU0VDVVJJVFlfSU1QTElDQVRJT04ob2JqZWN0LmlzUmVuZGVySW5saW5lKCkpOwotICAgIHJl
dHVybiBzdGF0aWNfY2FzdDxSZW5kZXJJbmxpbmUmPihvYmplY3QpOwotfQotCi1pbmxpbmUgY29u
c3QgUmVuZGVySW5saW5lJiB0b1JlbmRlcklubGluZShjb25zdCBSZW5kZXJPYmplY3QmIG9iamVj
dCkKLXsKLSAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihvYmplY3QuaXNSZW5k
ZXJJbmxpbmUoKSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFJlbmRlcklubGluZSY+
KG9iamVjdCk7Ci19Ci0KLWlubGluZSBSZW5kZXJJbmxpbmUqIHRvUmVuZGVySW5saW5lKFJlbmRl
ck9iamVjdCogb2JqZWN0KQoteyAKLSAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElP
Tighb2JqZWN0IHx8IG9iamVjdC0+aXNSZW5kZXJJbmxpbmUoKSk7Ci0gICAgcmV0dXJuIHN0YXRp
Y19jYXN0PFJlbmRlcklubGluZSo+KG9iamVjdCk7Ci19Ci0KLWlubGluZSBjb25zdCBSZW5kZXJJ
bmxpbmUqIHRvUmVuZGVySW5saW5lKGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0KQoteyAKLSAg
ICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighb2JqZWN0IHx8IG9iamVjdC0+aXNS
ZW5kZXJJbmxpbmUoKSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFJlbmRlcklubGlu
ZSo+KG9iamVjdCk7Ci19Ci0KLS8vIFRoaXMgd2lsbCBjYXRjaCBhbnlvbmUgZG9pbmcgYW4gdW5u
ZWNlc3NhcnkgY2FzdC4KLXZvaWQgdG9SZW5kZXJJbmxpbmUoY29uc3QgUmVuZGVySW5saW5lKik7
Ci12b2lkIHRvUmVuZGVySW5saW5lKGNvbnN0IFJlbmRlcklubGluZSYpOworUkVOREVSX09CSkVD
VF9UWVBFX0NBU1RTKFJlbmRlcklubGluZSwgaXNSZW5kZXJJbmxpbmUoKSkKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJNb2RlbE9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyTW9kZWxPYmplY3QuaAppbmRleCA1ZTRiMzMzODhmMjkwZWUxNTQ0NTUwMWNkYWI0OTMyMzZj
YjE5OWRlLi5hZmY1ODhmZGUzODc3MzcwYjM1MGQxY2QxZjFjYTlhY2U4N2FhZTg1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmgKQEAg
LTY3LDIwICs2Nyw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIGJvb2wgc19sYXllcldhc1NlbGZQ
YWludGluZzsKIH07CiAKLWlubGluZSBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiB0b1JlbmRlckxh
eWVyTW9kZWxPYmplY3QoUmVuZGVyT2JqZWN0KiBvYmplY3QpCi17Ci0gICAgQVNTRVJUX1dJVEhf
U0VDVVJJVFlfSU1QTElDQVRJT04oIW9iamVjdCB8fCBvYmplY3QtPmlzUmVuZGVyTGF5ZXJNb2Rl
bE9iamVjdCgpKTsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8UmVuZGVyTGF5ZXJNb2RlbE9iamVj
dCo+KG9iamVjdCk7Ci19Ci0KLWlubGluZSBjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiB0
b1JlbmRlckxheWVyTW9kZWxPYmplY3QoY29uc3QgUmVuZGVyT2JqZWN0KiBvYmplY3QpCi17Ci0g
ICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW9iamVjdCB8fCBvYmplY3QtPmlz
UmVuZGVyTGF5ZXJNb2RlbE9iamVjdCgpKTsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3Qg
UmVuZGVyTGF5ZXJNb2RlbE9iamVjdCo+KG9iamVjdCk7Ci19Ci0KLS8vIFRoaXMgd2lsbCBjYXRj
aCBhbnlvbmUgZG9pbmcgYW4gdW5uZWNlc3NhcnkgY2FzdC4KLXZvaWQgdG9SZW5kZXJMYXllck1v
ZGVsT2JqZWN0KGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqKTsKK1JFTkRFUl9PQkpFQ1Rf
VFlQRV9DQVNUUyhSZW5kZXJMYXllck1vZGVsT2JqZWN0LCBpc1JlbmRlckxheWVyTW9kZWxPYmpl
Y3QoKSkKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGluZUJyZWFrLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGluZUJyZWFrLmgKaW5kZXggOWI1ODkyN2Q1ZWVmYjA4NjA4MWY4MjM1Y2YzZjFi
YTRlN2UxZTgzYS4uMGY4NDQ0ODk2ZDc1OWFiZjg3MDAxOTVjN2NjZmRiMDQxZGMyNzE4NSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpbmVCcmVhay5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaW5lQnJlYWsuaApAQCAtODksMzIgKzg5
LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNXQlI7CiB9OwogCi1pbmxpbmUgUmVuZGVyTGlu
ZUJyZWFrJiB0b1JlbmRlckxpbmVCcmVhayhSZW5kZXJPYmplY3QmIG9iamVjdCkKLXsgCi0gICAg
QVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04ob2JqZWN0LmlzTGluZUJyZWFrKCkpOwot
ICAgIHJldHVybiBzdGF0aWNfY2FzdDxSZW5kZXJMaW5lQnJlYWsmPihvYmplY3QpOwotfQotCi1p
bmxpbmUgY29uc3QgUmVuZGVyTGluZUJyZWFrJiB0b1JlbmRlckxpbmVCcmVhayhjb25zdCBSZW5k
ZXJPYmplY3QmIG9iamVjdCkKLXsKLSAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElP
TihvYmplY3QuaXNMaW5lQnJlYWsoKSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFJl
bmRlckxpbmVCcmVhayY+KG9iamVjdCk7Ci19Ci0KLWlubGluZSBSZW5kZXJMaW5lQnJlYWsqIHRv
UmVuZGVyTGluZUJyZWFrKFJlbmRlck9iamVjdCogb2JqZWN0KQoteyAKLSAgICBBU1NFUlRfV0lU
SF9TRUNVUklUWV9JTVBMSUNBVElPTihvYmplY3QtPmlzTGluZUJyZWFrKCkpOwotICAgIHJldHVy
biBzdGF0aWNfY2FzdDxSZW5kZXJMaW5lQnJlYWsqPihvYmplY3QpOwotfQotCi1pbmxpbmUgY29u
c3QgUmVuZGVyTGluZUJyZWFrKiB0b1JlbmRlckxpbmVCcmVhayhjb25zdCBSZW5kZXJPYmplY3Qq
IG9iamVjdCkKLXsKLSAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihvYmplY3Qt
PmlzTGluZUJyZWFrKCkpOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBSZW5kZXJMaW5l
QnJlYWsqPihvYmplY3QpOwotfQotCi0vLyBUaGlzIHdpbGwgY2F0Y2ggYW55b25lIGRvaW5nIGFu
IHVubmVjZXNzYXJ5IGNhc3QuCi12b2lkIHRvUmVuZGVyTGluZUJyZWFrKGNvbnN0IFJlbmRlckxp
bmVCcmVhayYpOworUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlckxpbmVCcmVhaywgaXNM
aW5lQnJlYWsoKSkKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxpc3RCb3guaAppbmRleCBkYWEwNzc4OTU4MTYwOWQ0NjdhODEwMDA1MjI1
Nzg5ZGE3Y2U0YzE5Li45NWIyOTJjOTU0MTVjOWZlZjA3MWYxZGQxNmMyNWM3ZDUyZGQ1ZDJlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmgKQEAgLTE1NCwxNCArMTU0
LDcgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8U2Nyb2xsYmFyPiBtX3ZCYXI7CiB9OwogCi1pbmxp
bmUgUmVuZGVyTGlzdEJveCogdG9SZW5kZXJMaXN0Qm94KFJlbmRlck9iamVjdCogb2JqZWN0KQot
eyAKLSAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighb2JqZWN0IHx8IG9iamVj
dC0+aXNMaXN0Qm94KCkpOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxSZW5kZXJMaXN0Qm94Kj4o
b2JqZWN0KTsKLX0KLQotLy8gVGhpcyB3aWxsIGNhdGNoIGFueW9uZSBkb2luZyBhbiB1bm5lY2Vz
c2FyeSBjYXN0Lgotdm9pZCB0b1JlbmRlckxpc3RCb3goY29uc3QgUmVuZGVyTGlzdEJveCopOwor
UkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlckxpc3RCb3gsIGlzTGlzdEJveCgpKQogCiB9
IC8vIG5hbWVwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxpc3RJdGVtLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlz
dEl0ZW0uaAppbmRleCBiMWZmMjlkMjY1NDI2YTI0OTc1ZDMyNTcyN2U4NTk4ZWM1NTE1ZWNiLi4z
NzFkNzhhMWNlZThiZGY0MTMyNmFhNjJhNGE1MDc1YmYyNDI4OGRiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEl0ZW0uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEl0ZW0uaApAQCAtOTIsMTQgKzkyLDcgQEAgcHJpdmF0ZToK
ICAgICBib29sIG1fbm90SW5MaXN0IDogMTsKIH07CiAKLWlubGluZSBSZW5kZXJMaXN0SXRlbSog
dG9SZW5kZXJMaXN0SXRlbShSZW5kZXJPYmplY3QqIG9iamVjdCkKLXsKLSAgICBBU1NFUlRfV0lU
SF9TRUNVUklUWV9JTVBMSUNBVElPTighb2JqZWN0IHx8IG9iamVjdC0+aXNMaXN0SXRlbSgpKTsK
LSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8UmVuZGVyTGlzdEl0ZW0qPihvYmplY3QpOwotfQotCi0v
LyBUaGlzIHdpbGwgY2F0Y2ggYW55b25lIGRvaW5nIGFuIHVubmVjZXNzYXJ5IGNhc3QuCi12b2lk
IHRvUmVuZGVyTGlzdEl0ZW0oY29uc3QgUmVuZGVyTGlzdEl0ZW0qKTsKK1JFTkRFUl9PQkpFQ1Rf
VFlQRV9DQVNUUyhSZW5kZXJMaXN0SXRlbSwgaXNMaXN0SXRlbSgpKQogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJN
ZWRpYS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhLmgKaW5kZXggNGM4
NDdhOWUyOGExY2ViN2VkMGYyY2U4YjE1YWYyM2Y3NGE2NmUyNS4uMjBlMjI5NzM0NTZlMzRiNjYz
ZmMzNGI2NDA1MGMzZmEwYzAzNmNlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck1lZGlhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1l
ZGlhLmgKQEAgLTU3LDE0ICs1Nyw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBib29sIHJlcXVp
cmVzRm9yY2VkU3R5bGVSZWNhbGNQcm9wYWdhdGlvbigpIGNvbnN0IE9WRVJSSURFIEZJTkFMIHsg
cmV0dXJuIHRydWU7IH0KIH07CiAKLWlubGluZSBSZW5kZXJNZWRpYSogdG9SZW5kZXJNZWRpYShS
ZW5kZXJPYmplY3QqIG9iamVjdCkKLXsKLSAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNB
VElPTighb2JqZWN0IHx8IG9iamVjdC0+aXNNZWRpYSgpKTsKLSAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8UmVuZGVyTWVkaWEqPihvYmplY3QpOwotfQotCi0vLyBUaGlzIHdpbGwgY2F0Y2ggYW55b25l
IGRvaW5nIGFuIHVubmVjZXNzYXJ5IGNhc3QuCi12b2lkIHRvUmVuZGVyTWVkaWEoY29uc3QgUmVu
ZGVyTWVkaWEqKTsKK1JFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJNZWRpYSwgaXNNZWRp
YSgpKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck1lbnVMaXN0LmgKaW5kZXggZDFhMmU0Y2FjNWJhOGE1NTkyODE0MGQ2ZjYwZTE5YmM5
YzE0ODczYS4uNjIzNWI0NjRhMDE4ODk2ZDE4YTY2Yzg0MjdjMTliNzEzMTBjZjNkYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmgKQEAgLTE0OSwxNCArMTQ5LDcg
QEAgcHJpdmF0ZToKICAgICBib29sIG1fcG9wdXBJc1Zpc2libGU7CiB9OwogCi1pbmxpbmUgUmVu
ZGVyTWVudUxpc3QqIHRvUmVuZGVyTWVudUxpc3QoUmVuZGVyT2JqZWN0KiBvYmplY3QpCi17Ci0g
ICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW9iamVjdCB8fCBvYmplY3QtPmlz
TWVudUxpc3QoKSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PFJlbmRlck1lbnVMaXN0Kj4ob2Jq
ZWN0KTsKLX0KLQotLy8gVGhpcyB3aWxsIGNhdGNoIGFueW9uZSBkb2luZyBhbiB1bm5lY2Vzc2Fy
eSBjYXN0Lgotdm9pZCB0b1JlbmRlck1lbnVMaXN0KGNvbnN0IFJlbmRlck1lbnVMaXN0Kik7CitS
RU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyTWVudUxpc3QsIGlzTWVudUxpc3QoKSkKIAog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWV0ZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZXRlci5oCmluZGV4IDM4MDBkZjQzZTI5
YjdlMmEwOTVjZTAwZjEyNWUxMTQ5ZGExOTBmMjAuLmM2NTVhZTc5ODgxZTI5ZjhjZWNhZTVkNmQw
Nzg2MDhkNDRkOTY3NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJNZXRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZXRlci5oCkBA
IC00NywxNCArNDcsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCByZXF1aXJlc0ZvcmNl
ZFN0eWxlUmVjYWxjUHJvcGFnYXRpb24oKSBjb25zdCBPVkVSUklERSB7IHJldHVybiB0cnVlOyB9
CiB9OwogCi1pbmxpbmUgUmVuZGVyTWV0ZXIqIHRvUmVuZGVyTWV0ZXIoUmVuZGVyT2JqZWN0KiBv
YmplY3QpCi17Ci0gICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW9iamVjdCB8
fCBvYmplY3QtPmlzTWV0ZXIoKSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PFJlbmRlck1ldGVy
Kj4ob2JqZWN0KTsKLX0KLQotLy8gVGhpcyB3aWxsIGNhdGNoIGFueW9uZSBkb2luZyBhbiB1bm5l
Y2Vzc2FyeSBjYXN0Lgotdm9pZCB0b1JlbmRlck1ldGVyKGNvbnN0IFJlbmRlck1ldGVyKik7CitS
RU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyTWV0ZXIsIGlzTWV0ZXIoKSkKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTXVsdGlDb2x1bW5CbG9jay5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck11bHRpQ29sdW1uQmxvY2suaAppbmRleCAyODk1YTlkOGM4ZWNlMTQ4NDA1M2NhYzAzMzY4N2Y0
YzU1ZGUyNmFjLi5iMTkwMDAzYzU5NmVjM2NmYjM0MTE1MjNjZWI1NWZjZDc0MGM1NjI0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5CbG9jay5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkJsb2NrLmgK
QEAgLTczLDIwICs3Myw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2luQmFsYW5jaW5nUGFzczsg
Ly8gU2V0IHdoZW4gcmVsYXlvdXRpbmcgZm9yIGNvbHVtbiBiYWxhbmNpbmcuCiB9OwogCi1pbmxp
bmUgUmVuZGVyTXVsdGlDb2x1bW5CbG9jayogdG9SZW5kZXJNdWx0aUNvbHVtbkJsb2NrKFJlbmRl
ck9iamVjdCogb2JqZWN0KQotewotICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9O
KCFvYmplY3QgfHwgb2JqZWN0LT5pc1JlbmRlck11bHRpQ29sdW1uQmxvY2soKSk7Ci0gICAgcmV0
dXJuIHN0YXRpY19jYXN0PFJlbmRlck11bHRpQ29sdW1uQmxvY2sqPihvYmplY3QpOwotfQotCi1p
bmxpbmUgY29uc3QgUmVuZGVyTXVsdGlDb2x1bW5CbG9jayogdG9SZW5kZXJNdWx0aUNvbHVtbkJs
b2NrKGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0KQotewotICAgIEFTU0VSVF9XSVRIX1NFQ1VS
SVRZX0lNUExJQ0FUSU9OKCFvYmplY3QgfHwgb2JqZWN0LT5pc1JlbmRlck11bHRpQ29sdW1uQmxv
Y2soKSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFJlbmRlck11bHRpQ29sdW1uQmxv
Y2sqPihvYmplY3QpOwotfQotCi0vLyBUaGlzIHdpbGwgY2F0Y2ggYW55b25lIGRvaW5nIGFuIHVu
bmVjZXNzYXJ5IGNhc3QuCi12b2lkIHRvUmVuZGVyTXVsdGlDb2x1bW5CbG9jayhjb25zdCBSZW5k
ZXJNdWx0aUNvbHVtbkJsb2NrKik7CitSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyTXVs
dGlDb2x1bW5CbG9jaywgaXNSZW5kZXJNdWx0aUNvbHVtbkJsb2NrKCkpCiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck11bHRpQ29sdW1uU2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlD
b2x1bW5TZXQuaAppbmRleCBjZWFiMzdlZTc5MTRlZWEwMWVkZjA1ZmQ5N2YzYzQxMmM1YWQ1ZTk4
Li5hMGYwMTdkMDc4MjFlY2MxM2Q3NGY1MTQwZWZjY2Y1ZTAwYWViMDVmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuaApAQCAtMTUyLDIwICsx
NTIsNyBAQCBwcml2YXRlOgogICAgIExheW91dFVuaXQgbV9mb3JjZWRCcmVha09mZnNldDsKIH07
CiAKLWlubGluZSBSZW5kZXJNdWx0aUNvbHVtblNldCogdG9SZW5kZXJNdWx0aUNvbHVtblNldChS
ZW5kZXJPYmplY3QqIG9iamVjdCkKLXsKLSAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNB
VElPTighb2JqZWN0IHx8IG9iamVjdC0+aXNSZW5kZXJNdWx0aUNvbHVtblNldCgpKTsKLSAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8UmVuZGVyTXVsdGlDb2x1bW5TZXQqPihvYmplY3QpOwotfQotCi1p
bmxpbmUgY29uc3QgUmVuZGVyTXVsdGlDb2x1bW5TZXQqIHRvUmVuZGVyTXVsdGlDb2x1bW5TZXQo
Y29uc3QgUmVuZGVyT2JqZWN0KiBvYmplY3QpCi17Ci0gICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlf
SU1QTElDQVRJT04oIW9iamVjdCB8fCBvYmplY3QtPmlzUmVuZGVyTXVsdGlDb2x1bW5TZXQoKSk7
Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFJlbmRlck11bHRpQ29sdW1uU2V0Kj4ob2Jq
ZWN0KTsKLX0KLQotLy8gVGhpcyB3aWxsIGNhdGNoIGFueW9uZSBkb2luZyBhbiB1bm5lY2Vzc2Fy
eSBjYXN0Lgotdm9pZCB0b1JlbmRlck11bHRpQ29sdW1uU2V0KGNvbnN0IFJlbmRlck11bHRpQ29s
dW1uU2V0Kik7CitSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyTXVsdGlDb2x1bW5TZXQs
IGlzUmVuZGVyTXVsdGlDb2x1bW5TZXQoKSkKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93RnJhZ21l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dGcmFnbWVudC5o
CmluZGV4IDM0NTYyMDUxZjY3OTk2MzYxNjgwNGZjZGMyOTQwYWJlOWI2YjdiNmYuLjcwNmI1NmE1
YjJkNzgyOTM4NjQ5OWYwNDI2NGZkNTc4MGQ3ZWJhZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dGcmFnbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dGcmFnbWVudC5oCkBAIC02MywyMCArNjMsNyBA
QCBwcml2YXRlOgogICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IE9W
RVJSSURFIHsgcmV0dXJuICJSZW5kZXJOYW1lZEZsb3dGcmFnbWVudCI7IH0KIH07CiAKLWlubGlu
ZSBSZW5kZXJOYW1lZEZsb3dGcmFnbWVudCogdG9SZW5kZXJOYW1lZEZsb3dGcmFnbWVudChSZW5k
ZXJPYmplY3QqIG9iamVjdCkKLXsKLSAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElP
Tighb2JqZWN0IHx8IG9iamVjdC0+aXNSZW5kZXJOYW1lZEZsb3dGcmFnbWVudCgpKTsKLSAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8UmVuZGVyTmFtZWRGbG93RnJhZ21lbnQqPihvYmplY3QpOwotfQot
Ci1pbmxpbmUgY29uc3QgUmVuZGVyTmFtZWRGbG93RnJhZ21lbnQqIHRvUmVuZGVyTmFtZWRGbG93
RnJhZ21lbnQoY29uc3QgUmVuZGVyT2JqZWN0KiBvYmplY3QpCi17Ci0gICAgQVNTRVJUX1dJVEhf
U0VDVVJJVFlfSU1QTElDQVRJT04oIW9iamVjdCB8fCBvYmplY3QtPmlzUmVuZGVyTmFtZWRGbG93
RnJhZ21lbnQoKSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFJlbmRlck5hbWVkRmxv
d0ZyYWdtZW50Kj4ob2JqZWN0KTsKLX0KLQotLy8gVGhpcyB3aWxsIGNhdGNoIGFueW9uZSBkb2lu
ZyBhbiB1bm5lY2Vzc2FyeSBjYXN0Lgotdm9pZCB0b1JlbmRlck5hbWVkRmxvd0ZyYWdtZW50KGNv
bnN0IFJlbmRlck5hbWVkRmxvd0ZyYWdtZW50Kik7CitSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMo
UmVuZGVyTmFtZWRGbG93RnJhZ21lbnQsIGlzUmVuZGVyTmFtZWRGbG93RnJhZ21lbnQoKSkKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTmFtZWRGbG93VGhyZWFkLmgKaW5kZXggOTNhMDYyOGY1OGIzNmJiMWIyOGI4YTE0ZDA1
NjAxNmNkNGZmMmRiMi4uNDI3ZTg5NzUzZjk3NzUxNTZhYTZmMjk1Y2MyYWJmZTM1NjU1ZDRiOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVh
ZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQu
aApAQCAtMTM4LDIwICsxMzgsNyBAQCBwcml2YXRlOgogICAgIFRpbWVyPFJlbmRlck5hbWVkRmxv
d1RocmVhZD4gbV9yZWdpb25PdmVyc2V0Q2hhbmdlRXZlbnRUaW1lcjsKIH07CiAKLWlubGluZSBS
ZW5kZXJOYW1lZEZsb3dUaHJlYWQqIHRvUmVuZGVyTmFtZWRGbG93VGhyZWFkKFJlbmRlck9iamVj
dCogb2JqZWN0KQotewotICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFvYmpl
Y3QgfHwgb2JqZWN0LT5pc1JlbmRlck5hbWVkRmxvd1RocmVhZCgpKTsKLSAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8UmVuZGVyTmFtZWRGbG93VGhyZWFkKj4ob2JqZWN0KTsKLX0KLQotaW5saW5lIGNv
bnN0IFJlbmRlck5hbWVkRmxvd1RocmVhZCogdG9SZW5kZXJOYW1lZEZsb3dUaHJlYWQoY29uc3Qg
UmVuZGVyT2JqZWN0KiBvYmplY3QpCi17Ci0gICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElD
QVRJT04oIW9iamVjdCB8fCBvYmplY3QtPmlzUmVuZGVyTmFtZWRGbG93VGhyZWFkKCkpOwotICAg
IHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBSZW5kZXJOYW1lZEZsb3dUaHJlYWQqPihvYmplY3Qp
OwotfQotCi0vLyBUaGlzIHdpbGwgY2F0Y2ggYW55b25lIGRvaW5nIGFuIHVubmVjZXNzYXJ5IGNh
c3QuCi12b2lkIHRvUmVuZGVyTmFtZWRGbG93VGhyZWFkKGNvbnN0IFJlbmRlck5hbWVkRmxvd1Ro
cmVhZCopOworUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlck5hbWVkRmxvd1RocmVhZCwg
aXNSZW5kZXJOYW1lZEZsb3dUaHJlYWQoKSkKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKaW5kZXggNjUyNTg5ZTg3MzIwNjU3
NTUzYmFiOWE4YmRjNmZkM2RkZmIxZDFlMi4uYTNiMjEzMTQ4NWE2ZWJmMWRjMGM0OThkZTFkNTEw
ZWE4MzQ1NjY2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9i
amVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaApAQCAt
MTE1OCw2ICsxMTU4LDkgQEAgaW5saW5lIExheW91dFVuaXQgYWRqdXN0TGF5b3V0VW5pdEZvckFi
c29sdXRlWm9vbShMYXlvdXRVbml0IHZhbHVlLCBSZW5kZXJPYmplY3QKIH0KICNlbmRpZgogCisj
ZGVmaW5lIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhUb1ZhbHVlVHlwZU5hbWUsIHByZWRpY2F0
ZSkgXAorICAgIFRZUEVfQ0FTVFNfQkFTRShUb1ZhbHVlVHlwZU5hbWUsIFJlbmRlck9iamVjdCwg
b2JqZWN0LCBvYmplY3QtPnByZWRpY2F0ZSwgb2JqZWN0LnByZWRpY2F0ZSkKKwogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCiAjaWZuZGVmIE5ERUJVRwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyUHJvZ3Jlc3MuaAppbmRleCAzZGY1NDlkYjI2NTExNDczNjBjNmUyNzFmYzZkNzU2ZjFi
OThhZWEzLi5jNDE2YzZmOTA0ZWVjMDRiYzIyYmIzMTdmNzE1MTZmNTQxYWVkNzdhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuaApAQCAtNjAsMTQgKzYwLDcgQEAg
cHJpdmF0ZToKICAgICBUaW1lcjxSZW5kZXJQcm9ncmVzcz4gbV9hbmltYXRpb25UaW1lcjsKIH07
CiAKLWlubGluZSBSZW5kZXJQcm9ncmVzcyogdG9SZW5kZXJQcm9ncmVzcyhSZW5kZXJPYmplY3Qq
IG9iamVjdCkKLXsKLSAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighb2JqZWN0
IHx8IG9iamVjdC0+aXNQcm9ncmVzcygpKTsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8UmVuZGVy
UHJvZ3Jlc3MqPihvYmplY3QpOwotfQotCi0vLyBUaGlzIHdpbGwgY2F0Y2ggYW55b25lIGRvaW5n
IGFuIHVubmVjZXNzYXJ5IGNhc3QuCi12b2lkIHRvUmVuZGVyUHJvZ3Jlc3MoY29uc3QgUmVuZGVy
UHJvZ3Jlc3MqKTsKK1JFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJQcm9ncmVzcywgaXNQ
cm9ncmVzcygpKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJRdW90ZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclF1b3RlLmgKaW5kZXggZjllNDI4OWJiOTQ3YTM3OWY2MDAyMzQ3NWE3YzEyYjFi
ZTAzYWU5Yy4uNWU0NjY4MWE1MDUzOGUzNmQ4OTUyNjllN2E4M2UyNTNjNmYxMmIwNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclF1b3RlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclF1b3RlLmgKQEAgLTUzLDE0ICs1Myw3IEBAIHByaXZh
dGU6CiAgICAgYm9vbCBtX2lzQXR0YWNoZWQ7CiB9OwogCi1pbmxpbmUgUmVuZGVyUXVvdGUqIHRv
UmVuZGVyUXVvdGUoUmVuZGVyT2JqZWN0KiBvYmplY3QpCi17Ci0gICAgQVNTRVJUX1dJVEhfU0VD
VVJJVFlfSU1QTElDQVRJT04oIW9iamVjdCB8fCBvYmplY3QtPmlzUXVvdGUoKSk7Ci0gICAgcmV0
dXJuIHN0YXRpY19jYXN0PFJlbmRlclF1b3RlKj4ob2JqZWN0KTsKLX0KLQotLy8gVGhpcyB3aWxs
IGNhdGNoIGFueW9uZSBkb2luZyBhbiB1bm5lY2Vzc2FyeSBjYXN0Lgotdm9pZCB0b1JlbmRlclF1
b3RlKGNvbnN0IFJlbmRlclF1b3RlKik7CitSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVy
UXVvdGUsIGlzUXVvdGUoKSkKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmgKaW5kZXggOGI5NjQ2ODRiYmJiNWY4YmRlOGFmNGE1
NDE3YTM1ZmVkZjRiZGJhZi4uMzVkYzNjN2IwNDk4M2QzZjI5YThhNGMwMmQxNWFkYWI3YTNlZjQw
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZWdpb24uaApAQCAtMjM1LDMzICsy
MzUsNyBAQCBwcml2YXRlOgogICAgIExheW91dFVuaXQgbV9jb21wdXRlZEF1dG9IZWlnaHQ7CiB9
OwogCi1pbmxpbmUgUmVuZGVyUmVnaW9uKiB0b1JlbmRlclJlZ2lvbihSZW5kZXJPYmplY3QqIG9i
amVjdCkKLXsKLSAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighb2JqZWN0IHx8
IG9iamVjdC0+aXNSZW5kZXJSZWdpb24oKSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PFJlbmRl
clJlZ2lvbio+KG9iamVjdCk7Ci19Ci0KLWlubGluZSBjb25zdCBSZW5kZXJSZWdpb24qIHRvUmVu
ZGVyUmVnaW9uKGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0KQotewotICAgIEFTU0VSVF9XSVRI
X1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFvYmplY3QgfHwgb2JqZWN0LT5pc1JlbmRlclJlZ2lvbigp
KTsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgUmVuZGVyUmVnaW9uKj4ob2JqZWN0KTsK
LX0KLQotaW5saW5lIFJlbmRlclJlZ2lvbiYgdG9SZW5kZXJSZWdpb24oUmVuZGVyT2JqZWN0JiBv
YmplY3QpCi17Ci0gICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04ob2JqZWN0Lmlz
UmVuZGVyUmVnaW9uKCkpOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxSZW5kZXJSZWdpb24mPihv
YmplY3QpOwotfQotCi1pbmxpbmUgY29uc3QgUmVuZGVyUmVnaW9uJiB0b1JlbmRlclJlZ2lvbihj
b25zdCBSZW5kZXJPYmplY3QmIG9iamVjdCkKLXsKLSAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9J
TVBMSUNBVElPTihvYmplY3QuaXNSZW5kZXJSZWdpb24oKSk7Ci0gICAgcmV0dXJuIHN0YXRpY19j
YXN0PGNvbnN0IFJlbmRlclJlZ2lvbiY+KG9iamVjdCk7Ci19Ci0KLS8vIFRoaXMgd2lsbCBjYXRj
aCBhbnlvbmUgZG9pbmcgYW4gdW5uZWNlc3NhcnkgY2FzdC4KLXZvaWQgdG9SZW5kZXJSZWdpb24o
Y29uc3QgUmVuZGVyUmVnaW9uKik7Ci12b2lkIHRvUmVuZGVyUmVnaW9uKGNvbnN0IFJlbmRlclJl
Z2lvbiYpOworUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlclJlZ2lvbiwgaXNSZW5kZXJS
ZWdpb24oKSkKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJSZXBsYWNlZC5oCmluZGV4IDVhZDQxMzc3Zjc0YWIzOTI4NzE0MmI0ZTZmNWY4
YzJjM2UyYzRjZjAuLjIyZjNlMGNkYmYyZTJiMjIzMmJiNjAwYWFlZjc0OTM0NTFiMGVhN2QgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5oCkBAIC04OSwyMCArODks
NyBAQCBwcml2YXRlOgogICAgIG11dGFibGUgTGF5b3V0U2l6ZSBtX2ludHJpbnNpY1NpemU7CiB9
OwogCi1pbmxpbmUgUmVuZGVyUmVwbGFjZWQqIHRvUmVuZGVyUmVwbGFjZWQoUmVuZGVyT2JqZWN0
KiBvYmplY3QpCi17Ci0gICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW9iamVj
dCB8fCBvYmplY3QtPmlzUmVuZGVyUmVwbGFjZWQoKSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0
PFJlbmRlclJlcGxhY2VkKj4ob2JqZWN0KTsKLX0KLQotaW5saW5lIGNvbnN0IFJlbmRlclJlcGxh
Y2VkKiB0b1JlbmRlclJlcGxhY2VkKGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0KQotewotICAg
IEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFvYmplY3QgfHwgb2JqZWN0LT5pc1Jl
bmRlclJlcGxhY2VkKCkpOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBSZW5kZXJSZXBs
YWNlZCo+KG9iamVjdCk7Ci19Ci0KLS8vIFRoaXMgd2lsbCBjYXRjaCBhbnlvbmUgZG9pbmcgYW4g
dW5uZWNlc3NhcnkgY2FzdC4KLXZvaWQgdG9SZW5kZXJSZXBsYWNlZChjb25zdCBSZW5kZXJSZXBs
YWNlZCopOworUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlclJlcGxhY2VkLCBpc1JlbmRl
clJlcGxhY2VkKCkpCiAKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclJ1YnlSdW4uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSdWJ5UnVu
LmgKaW5kZXggYmQ3NDNiYzYyNjg0NDM4YTIwYzhjMmMwZGViMGM1MjdlM2EwZDE1NS4uYmFhMWVl
Y2VlNjg2ZjliNzM4MmQ3ODM5ZWVmMTFkNDc3NGFlZTNhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclJ1YnlSdW4uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyUnVieVJ1bi5oCkBAIC03NywzMiArNzcsNyBAQCBwcml2YXRlOgogICAgIHZp
cnR1YWwgdm9pZCByZW1vdmVMZWZ0b3ZlckFub255bW91c0Jsb2NrKFJlbmRlckJsb2NrKikgeyB9
CiB9OwogCi1pbmxpbmUgUmVuZGVyUnVieVJ1biYgdG9SZW5kZXJSdWJ5UnVuKFJlbmRlck9iamVj
dCYgb2JqZWN0KQotewotICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKG9iamVj
dC5pc1J1YnlSdW4oKSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PFJlbmRlclJ1YnlSdW4mPihv
YmplY3QpOwotfQotCi1pbmxpbmUgY29uc3QgUmVuZGVyUnVieVJ1biYgdG9SZW5kZXJSdWJ5UnVu
KGNvbnN0IFJlbmRlck9iamVjdCYgb2JqZWN0KQotewotICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZ
X0lNUExJQ0FUSU9OKG9iamVjdC5pc1J1YnlSdW4oKSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0
PGNvbnN0IFJlbmRlclJ1YnlSdW4mPihvYmplY3QpOwotfQotCi1pbmxpbmUgUmVuZGVyUnVieVJ1
biogdG9SZW5kZXJSdWJ5UnVuKFJlbmRlck9iamVjdCogb2JqZWN0KQotewotICAgIEFTU0VSVF9X
SVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFvYmplY3QgfHwgb2JqZWN0LT5pc1J1YnlSdW4oKSk7
Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PFJlbmRlclJ1YnlSdW4qPihvYmplY3QpOwotfQotCi1p
bmxpbmUgY29uc3QgUmVuZGVyUnVieVJ1biogdG9SZW5kZXJSdWJ5UnVuKGNvbnN0IFJlbmRlck9i
amVjdCogb2JqZWN0KQotewotICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFv
YmplY3QgfHwgb2JqZWN0LT5pc0JveCgpKTsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3Qg
UmVuZGVyUnVieVJ1bio+KG9iamVjdCk7Ci19Ci0KLXZvaWQgdG9SZW5kZXJSdWJ5UnVuKGNvbnN0
IFJlbmRlclJ1YnlSdW4qKTsKLXZvaWQgdG9SZW5kZXJSdWJ5UnVuKGNvbnN0IFJlbmRlclJ1YnlS
dW4mKTsKK1JFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJSdWJ5UnVuLCBpc1J1YnlSdW4o
KSkKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyUGFydC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclNjcm9sbGJhclBhcnQuaAppbmRleCBkMDFlYmY0MTNiNDUxZDM0MWY3NjgwM2Y0
MTgxODBmZGE2ZWU2MDEyLi4xMmUzNjE0NzdiYjg4NzIwZGFhZDIzNWYzYzgwYTc5MDlkOWVmMWE3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyUGFy
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJQYXJ0LmgK
QEAgLTczLDIwICs3Myw3IEBAIHByaXZhdGU6CiAgICAgU2Nyb2xsYmFyUGFydCBtX3BhcnQ7CiB9
OwogCi1pbmxpbmUgUmVuZGVyU2Nyb2xsYmFyUGFydCogdG9SZW5kZXJTY3JvbGxiYXJQYXJ0KFJl
bmRlck9iamVjdCogb2JqZWN0KQotewotICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FU
SU9OKCFvYmplY3QgfHwgb2JqZWN0LT5pc1JlbmRlclNjcm9sbGJhclBhcnQoKSk7Ci0gICAgcmV0
dXJuIHN0YXRpY19jYXN0PFJlbmRlclNjcm9sbGJhclBhcnQqPihvYmplY3QpOwotfQotCi1pbmxp
bmUgY29uc3QgUmVuZGVyU2Nyb2xsYmFyUGFydCogdG9SZW5kZXJTY3JvbGxiYXJQYXJ0KGNvbnN0
IFJlbmRlck9iamVjdCogb2JqZWN0KQotewotICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJ
Q0FUSU9OKCFvYmplY3QgfHwgb2JqZWN0LT5pc1JlbmRlclNjcm9sbGJhclBhcnQoKSk7Ci0gICAg
cmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFJlbmRlclNjcm9sbGJhclBhcnQqPihvYmplY3QpOwot
fQotCi0vLyBUaGlzIHdpbGwgY2F0Y2ggYW55b25lIGRvaW5nIGFuIHVubmVjZXNzYXJ5IGNhc3Qu
Ci12b2lkIHRvUmVuZGVyU2Nyb2xsYmFyUGFydChjb25zdCBSZW5kZXJTY3JvbGxiYXJQYXJ0Kik7
CitSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyU2Nyb2xsYmFyUGFydCwgaXNSZW5kZXJT
Y3JvbGxiYXJQYXJ0KCkpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNlYXJjaEZpZWxkLmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyU2VhcmNoRmllbGQuaAppbmRleCBkNDExNGQzOTU5YWNhOGE4
ZGUyYzFlMGExMjFiMDE1YjVjNTdjZmI5Li43ZmRjOTM4NWI5ZGEzNTQ2ZjA2ZjRlMWJjODZjOTZi
NjAyZjQ3YzI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Vh
cmNoRmllbGQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2VhcmNoRmll
bGQuaApAQCAtOTAsMTQgKzkwLDcgQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8U3RyaW5nPiBtX3Jl
Y2VudFNlYXJjaGVzOwogfTsKIAotaW5saW5lIFJlbmRlclNlYXJjaEZpZWxkKiB0b1JlbmRlclNl
YXJjaEZpZWxkKFJlbmRlck9iamVjdCogb2JqZWN0KQotewotICAgIEFTU0VSVF9XSVRIX1NFQ1VS
SVRZX0lNUExJQ0FUSU9OKCFvYmplY3QgfHwgb2JqZWN0LT5pc1RleHRGaWVsZCgpKTsKLSAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8UmVuZGVyU2VhcmNoRmllbGQqPihvYmplY3QpOwotfQotCi0vLyBU
aGlzIHdpbGwgY2F0Y2ggYW55b25lIGRvaW5nIGFuIHVubmVjZXNzYXJ5IGNhc3QuCi12b2lkIHRv
UmVuZGVyU2VhcmNoRmllbGQoY29uc3QgUmVuZGVyU2VhcmNoRmllbGQqKTsKK1JFTkRFUl9PQkpF
Q1RfVFlQRV9DQVNUUyhSZW5kZXJTZWFyY2hGaWVsZCwgaXNUZXh0RmllbGQoKSkKIAogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2xpZGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2xpZGVyLmgKaW5kZXggMWM0N2MyMjA0ZTRmMzIx
ZjZjNWUwYzk1MDQ0M2Q5MmY3ZWQ3ODg5ZS4uZDY1MjkxMTA4ZDQ1NTlmNzI0NWE4MGNkYTJhNzE4
MjZiYTdmNGRkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNs
aWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTbGlkZXIuaApAQCAt
NTIsMTQgKzUyLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0KCkgT1ZFUlJJ
REU7CiB9OwogCi1pbmxpbmUgUmVuZGVyU2xpZGVyKiB0b1JlbmRlclNsaWRlcihSZW5kZXJPYmpl
Y3QqIG9iamVjdCkKLXsKLSAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighb2Jq
ZWN0IHx8IG9iamVjdC0+aXNTbGlkZXIoKSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PFJlbmRl
clNsaWRlcio+KG9iamVjdCk7Ci19Ci0KLS8vIFRoaXMgd2lsbCBjYXRjaCBhbnlvbmUgZG9pbmcg
YW4gdW5uZWNlc3NhcnkgY2FzdC4KLXZvaWQgdG9SZW5kZXJTbGlkZXIoY29uc3QgUmVuZGVyU2xp
ZGVyKik7CitSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyU2xpZGVyLCBpc1NsaWRlcigp
KQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJTbmFwc2hvdHRlZFBsdWdJbi5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclNuYXBzaG90dGVkUGx1Z0luLmgKaW5kZXggYzBjZjdjYWVkNzNmZWZjYjMz
YmIxMzRmOWIyOGFlYzU3NjI4MjExZC4uODEzOWJhOTgwYzFkMTU1YWQxYTlkY2QyNzc4MmQ0ZmEx
OTEyZmQ2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNuYXBz
aG90dGVkUGx1Z0luLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNuYXBz
aG90dGVkUGx1Z0luLmgKQEAgLTYzLDE0ICs2Myw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lz
UG90ZW50aWFsTW91c2VBY3RpdmF0aW9uOwogfTsKIAotaW5saW5lIFJlbmRlclNuYXBzaG90dGVk
UGx1Z0luKiB0b1JlbmRlclNuYXBzaG90dGVkUGx1Z0luKFJlbmRlck9iamVjdCogb2JqZWN0KQot
ewotICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFvYmplY3QgfHwgb2JqZWN0
LT5pc1NuYXBzaG90dGVkUGx1Z0luKCkpOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxSZW5kZXJT
bmFwc2hvdHRlZFBsdWdJbio+KG9iamVjdCk7Ci19Ci0KLS8vIFRoaXMgd2lsbCBjYXRjaCBhbnlv
bmUgZG9pbmcgYW4gdW5uZWNlc3NhcnkgY2FzdC4KLXZvaWQgdG9SZW5kZXJTbmFwc2hvdHRlZFBs
dWdJbihjb25zdCBSZW5kZXJTbmFwc2hvdHRlZFBsdWdJbiopOworUkVOREVSX09CSkVDVF9UWVBF
X0NBU1RTKFJlbmRlclNuYXBzaG90dGVkUGx1Z0luLCBpc1NuYXBzaG90dGVkUGx1Z0luKCkpCiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRhYmxlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFi
bGUuaAppbmRleCA2MmE4N2IzYmU1OGE5MjVmMjNkMjA3Y2Y3YTBjYmVjZDM4ZWFkYjM5Li40YjM1
YzFkMjBlZTMwNGE1OTVlZmNlNDEzMjQ4ZWYyMTEwZmI3NzQzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGFibGUuaApAQCAtMzUwLDIwICszNTAsNyBAQCBpbmxpbmUgUmVuZGVyVGFi
bGVTZWN0aW9uKiBSZW5kZXJUYWJsZTo6dG9wU2VjdGlvbigpIGNvbnN0CiAgICAgcmV0dXJuIG1f
Zm9vdDsKIH0KIAotaW5saW5lIFJlbmRlclRhYmxlKiB0b1JlbmRlclRhYmxlKFJlbmRlck9iamVj
dCogb2JqZWN0KQotewotICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFvYmpl
Y3QgfHwgb2JqZWN0LT5pc1RhYmxlKCkpOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxSZW5kZXJU
YWJsZSo+KG9iamVjdCk7Ci19Ci0KLWlubGluZSBjb25zdCBSZW5kZXJUYWJsZSogdG9SZW5kZXJU
YWJsZShjb25zdCBSZW5kZXJPYmplY3QqIG9iamVjdCkKLXsKLSAgICBBU1NFUlRfV0lUSF9TRUNV
UklUWV9JTVBMSUNBVElPTighb2JqZWN0IHx8IG9iamVjdC0+aXNUYWJsZSgpKTsKLSAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8Y29uc3QgUmVuZGVyVGFibGUqPihvYmplY3QpOwotfQotCi0vLyBUaGlz
IHdpbGwgY2F0Y2ggYW55b25lIGRvaW5nIGFuIHVubmVjZXNzYXJ5IGNhc3QuCi12b2lkIHRvUmVu
ZGVyVGFibGUoY29uc3QgUmVuZGVyVGFibGUqKTsKK1JFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhS
ZW5kZXJUYWJsZSwgaXNUYWJsZSgpKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNhcHRpb24uaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNhcHRpb24uaAppbmRleCA2MTQwOTJh
YTM4NThmYmY4ZjdiNjI2NjcxYzM3OWZmOGNkY2E3OWYwLi40ZmIwYjg5MzAzYWI0OTgyNTAwZDUx
YjUzM2NjMDdmZDcxZDQyMjQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGFibGVDYXB0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRhYmxlQ2FwdGlvbi5oCkBAIC00NCwyMCArNDQsNyBAQCBwcml2YXRlOgogICAgIFJlbmRlclRh
YmxlKiB0YWJsZSgpIGNvbnN0OwogfTsKIAotaW5saW5lIFJlbmRlclRhYmxlQ2FwdGlvbiogdG9S
ZW5kZXJUYWJsZUNhcHRpb24oUmVuZGVyT2JqZWN0KiBvYmplY3QpCi17Ci0gICAgQVNTRVJUX1dJ
VEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW9iamVjdCB8fCBvYmplY3QtPmlzVGFibGVDYXB0aW9u
KCkpOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxSZW5kZXJUYWJsZUNhcHRpb24qPihvYmplY3Qp
OwotfQotCi1pbmxpbmUgY29uc3QgUmVuZGVyVGFibGVDYXB0aW9uKiB0b1JlbmRlclRhYmxlQ2Fw
dGlvbihjb25zdCBSZW5kZXJPYmplY3QqIG9iamVjdCkKLXsKLSAgICBBU1NFUlRfV0lUSF9TRUNV
UklUWV9JTVBMSUNBVElPTighb2JqZWN0IHx8IG9iamVjdC0+aXNUYWJsZUNhcHRpb24oKSk7Ci0g
ICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFJlbmRlclRhYmxlQ2FwdGlvbio+KG9iamVjdCk7
Ci19Ci0KLS8vIFRoaXMgd2lsbCBjYXRjaCBhbnlvbmUgZG9pbmcgYW4gdW5uZWNlc3NhcnkgY2Fz
dC4KLXZvaWQgdG9SZW5kZXJUYWJsZUNhcHRpb24oY29uc3QgUmVuZGVyVGFibGVDYXB0aW9uKik7
CitSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyVGFibGVDYXB0aW9uLCBpc1RhYmxlQ2Fw
dGlvbigpKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUYWJsZUNlbGwuaAppbmRleCAwN2U3ODNmNjA4YTE3M2I5NTA3MTRiYTIyZjRi
Y2UyMDk2MzczMzZiLi4wMTExNmIyYzUwY2FiOTA2YzM2NzQyNTc3MWQ1MzY3OTA0MzU0MDJjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5oCkBAIC0yOTYsMjAg
KzI5Niw3IEBAIHByaXZhdGU6CiAgICAgaW50IG1faW50cmluc2ljUGFkZGluZ0FmdGVyOwogfTsK
IAotaW5saW5lIFJlbmRlclRhYmxlQ2VsbCogdG9SZW5kZXJUYWJsZUNlbGwoUmVuZGVyT2JqZWN0
KiBvYmplY3QpCi17Ci0gICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW9iamVj
dCB8fCBvYmplY3QtPmlzVGFibGVDZWxsKCkpOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxSZW5k
ZXJUYWJsZUNlbGwqPihvYmplY3QpOwotfQotCi1pbmxpbmUgY29uc3QgUmVuZGVyVGFibGVDZWxs
KiB0b1JlbmRlclRhYmxlQ2VsbChjb25zdCBSZW5kZXJPYmplY3QqIG9iamVjdCkKLXsKLSAgICBB
U1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighb2JqZWN0IHx8IG9iamVjdC0+aXNUYWJs
ZUNlbGwoKSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFJlbmRlclRhYmxlQ2VsbCo+
KG9iamVjdCk7Ci19Ci0KLS8vIFRoaXMgd2lsbCBjYXRjaCBhbnlvbmUgZG9pbmcgYW4gdW5uZWNl
c3NhcnkgY2FzdC4KLXZvaWQgdG9SZW5kZXJUYWJsZUNlbGwoY29uc3QgUmVuZGVyVGFibGVDZWxs
Kik7CitSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyVGFibGVDZWxsLCBpc1RhYmxlQ2Vs
bCgpKQogCiBpbmxpbmUgUmVuZGVyVGFibGVDZWxsKiBSZW5kZXJUYWJsZUNlbGw6Om5leHRDZWxs
KCkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
YWJsZUNvbC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ29sLmgKaW5k
ZXggYjM2NzJmNmY0YWJjYjc5NGI0ZTYyYjc0ZjQyMzkyMWRmMjVhNDZhZS4uNjQ0MTMxYmZlMjI0
OTU4MmMwZDM1ODExNWI3NzMxZjRkMzE0Y2YwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRhYmxlQ29sLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRhYmxlQ29sLmgKQEAgLTk1LDIwICs5NSw3IEBAIHByaXZhdGU6CiAgICAgdW5zaWdu
ZWQgbV9zcGFuOwogfTsKIAotaW5saW5lIFJlbmRlclRhYmxlQ29sKiB0b1JlbmRlclRhYmxlQ29s
KFJlbmRlck9iamVjdCogb2JqZWN0KQotewotICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJ
Q0FUSU9OKCFvYmplY3QgfHwgb2JqZWN0LT5pc1JlbmRlclRhYmxlQ29sKCkpOwotICAgIHJldHVy
biBzdGF0aWNfY2FzdDxSZW5kZXJUYWJsZUNvbCo+KG9iamVjdCk7Ci19Ci0KLWlubGluZSBjb25z
dCBSZW5kZXJUYWJsZUNvbCogdG9SZW5kZXJUYWJsZUNvbChjb25zdCBSZW5kZXJPYmplY3QqIG9i
amVjdCkKLXsKLSAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighb2JqZWN0IHx8
IG9iamVjdC0+aXNSZW5kZXJUYWJsZUNvbCgpKTsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29u
c3QgUmVuZGVyVGFibGVDb2wqPihvYmplY3QpOwotfQotCi0vLyBUaGlzIHdpbGwgY2F0Y2ggYW55
b25lIGRvaW5nIGFuIHVubmVjZXNzYXJ5IGNhc3QuCi12b2lkIHRvUmVuZGVyVGFibGVDb2woY29u
c3QgUmVuZGVyVGFibGVDb2wqKTsKK1JFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJUYWJs
ZUNvbCwgaXNSZW5kZXJUYWJsZUNvbCgpKQogCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRhYmxlUm93LmgKaW5kZXggNTI4NjFmNmU3Y2QwMjIwODU0Y2Y0YWE2MmY5MDQ3ODE5
NzA3ZGU1NC4uMzM4YWFhMjBiZjFmYjliNTMzZmZjMzZlY2M4NDBkMjE2OGYzZjI2NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlUm93LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlUm93LmgKQEAgLTExOSwyNiArMTE5LDcg
QEAgcHJpdmF0ZToKICAgICB1bnNpZ25lZCBtX3Jvd0luZGV4IDogMzE7CiB9OwogCi1pbmxpbmUg
UmVuZGVyVGFibGVSb3cmIHRvUmVuZGVyVGFibGVSb3coUmVuZGVyT2JqZWN0JiBvYmplY3QpCi17
Ci0gICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04ob2JqZWN0LmlzVGFibGVSb3co
KSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PFJlbmRlclRhYmxlUm93Jj4ob2JqZWN0KTsKLX0K
LQotaW5saW5lIFJlbmRlclRhYmxlUm93KiB0b1JlbmRlclRhYmxlUm93KFJlbmRlck9iamVjdCog
b2JqZWN0KQotewotICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFvYmplY3Qg
fHwgb2JqZWN0LT5pc1RhYmxlUm93KCkpOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxSZW5kZXJU
YWJsZVJvdyo+KG9iamVjdCk7Ci19Ci0KLWlubGluZSBjb25zdCBSZW5kZXJUYWJsZVJvdyogdG9S
ZW5kZXJUYWJsZVJvdyhjb25zdCBSZW5kZXJPYmplY3QqIG9iamVjdCkKLXsKLSAgICBBU1NFUlRf
V0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighb2JqZWN0IHx8IG9iamVjdC0+aXNUYWJsZVJvdygp
KTsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgUmVuZGVyVGFibGVSb3cqPihvYmplY3Qp
OwotfQotCi0vLyBUaGlzIHdpbGwgY2F0Y2ggYW55b25lIGRvaW5nIGFuIHVubmVjZXNzYXJ5IGNh
c3QuCi12b2lkIHRvUmVuZGVyVGFibGVSb3coY29uc3QgUmVuZGVyVGFibGVSb3cqKTsKK1JFTkRF
Ul9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJUYWJsZVJvdywgaXNUYWJsZVJvdygpKQogCiBpbmxp
bmUgUmVuZGVyVGFibGVSb3cqIFJlbmRlclRhYmxlU2VjdGlvbjo6Zmlyc3RSb3coKSBjb25zdAog
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlv
bi5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5oCmluZGV4
IDg4N2E0YThkYWMzNTYzMjRkOWM0MTE3ZGZkYmZhNTJmNTkzMWE3ZmQuLjE0N2M1NTA1MmRhNWMz
YTIyODVjYmU3OTg5MGU1MTkwNmQ4ZmExMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGFibGVTZWN0aW9uLmgKQEAgLTMwOSwyMCArMzA5LDcgQEAgcHJpdmF0ZToKICAg
ICBIYXNoTWFwPHBhaXI8Y29uc3QgUmVuZGVyVGFibGVDZWxsKiwgaW50PiwgQ29sbGFwc2VkQm9y
ZGVyVmFsdWUgPiBtX2NlbGxzQ29sbGFwc2VkQm9yZGVyczsKIH07CiAKLWlubGluZSBSZW5kZXJU
YWJsZVNlY3Rpb24qIHRvUmVuZGVyVGFibGVTZWN0aW9uKFJlbmRlck9iamVjdCogb2JqZWN0KQot
ewotICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFvYmplY3QgfHwgb2JqZWN0
LT5pc1RhYmxlU2VjdGlvbigpKTsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8UmVuZGVyVGFibGVT
ZWN0aW9uKj4ob2JqZWN0KTsKLX0KLQotaW5saW5lIGNvbnN0IFJlbmRlclRhYmxlU2VjdGlvbiog
dG9SZW5kZXJUYWJsZVNlY3Rpb24oY29uc3QgUmVuZGVyT2JqZWN0KiBvYmplY3QpCi17Ci0gICAg
QVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW9iamVjdCB8fCBvYmplY3QtPmlzVGFi
bGVTZWN0aW9uKCkpOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBSZW5kZXJUYWJsZVNl
Y3Rpb24qPihvYmplY3QpOwotfQotCi0vLyBUaGlzIHdpbGwgY2F0Y2ggYW55b25lIGRvaW5nIGFu
IHVubmVjZXNzYXJ5IGNhc3QuCi12b2lkIHRvUmVuZGVyVGFibGVTZWN0aW9uKGNvbnN0IFJlbmRl
clRhYmxlU2VjdGlvbiopOworUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlclRhYmxlU2Vj
dGlvbiwgaXNUYWJsZVNlY3Rpb24oKSkKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuaAppbmRleCA3MzEwNmNjNmNkMTJlMmZmYjVlYWVh
ODFhYzljOTBkNjBjNjU1MzMwLi4wMzI4ODdiZjAwYWYyYmJkNzU5MDIxNmY5MTFhN2UwNjZlYTk4
ZWM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmgKQEAgLTIxMiwzMyArMjEy
LDcgQEAgcHJpdmF0ZToKICAgICBSZW5kZXJUZXh0TGluZUJveGVzIG1fbGluZUJveGVzOwogfTsK
IAotaW5saW5lIFJlbmRlclRleHQmIHRvUmVuZGVyVGV4dChSZW5kZXJPYmplY3QmIG9iamVjdCkK
LXsKLSAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihvYmplY3QuaXNUZXh0KCkp
OwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxSZW5kZXJUZXh0Jj4ob2JqZWN0KTsKLX0KLQotaW5s
aW5lIGNvbnN0IFJlbmRlclRleHQmIHRvUmVuZGVyVGV4dChjb25zdCBSZW5kZXJPYmplY3QmIG9i
amVjdCkKLXsKLSAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihvYmplY3QuaXNU
ZXh0KCkpOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBSZW5kZXJUZXh0Jj4ob2JqZWN0
KTsKLX0KLQotaW5saW5lIFJlbmRlclRleHQqIHRvUmVuZGVyVGV4dChSZW5kZXJPYmplY3QqIG9i
amVjdCkKLXsgCi0gICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW9iamVjdCB8
fCBvYmplY3QtPmlzVGV4dCgpKTsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8UmVuZGVyVGV4dCo+
KG9iamVjdCk7Ci19Ci0KLWlubGluZSBjb25zdCBSZW5kZXJUZXh0KiB0b1JlbmRlclRleHQoY29u
c3QgUmVuZGVyT2JqZWN0KiBvYmplY3QpCi17IAotICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lN
UExJQ0FUSU9OKCFvYmplY3QgfHwgb2JqZWN0LT5pc1RleHQoKSk7Ci0gICAgcmV0dXJuIHN0YXRp
Y19jYXN0PGNvbnN0IFJlbmRlclRleHQqPihvYmplY3QpOwotfQotCi0vLyBUaGlzIHdpbGwgY2F0
Y2ggYW55b25lIGRvaW5nIGFuIHVubmVjZXNzYXJ5IGNhc3QuCi12b2lkIHRvUmVuZGVyVGV4dChj
b25zdCBSZW5kZXJUZXh0Kik7Ci12b2lkIHRvUmVuZGVyVGV4dChjb25zdCBSZW5kZXJUZXh0Jik7
CitSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyVGV4dCwgaXNUZXh0KCkpCiAKIGlubGlu
ZSBSZW5kZXJTdHlsZSogUmVuZGVyVGV4dDo6c3R5bGUoKSBjb25zdAogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuaAppbmRleCA2YzA3ZTBkNmRjYjdlN2Iw
MjU4MDVmZmRlNTMyZDU4YWQ0ODU0OTAzLi4yZTQwMjAyNWYwY2I2Y2U3MDZhM2Y2NGI4MzliNTMw
M2YyZjcwNmNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4
dENvbnRyb2wuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRy
b2wuaApAQCAtODQsMjAgKzg0LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgcmVxdWly
ZXNGb3JjZWRTdHlsZVJlY2FsY1Byb3BhZ2F0aW9uKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4g
dHJ1ZTsgfQogfTsKIAotaW5saW5lIFJlbmRlclRleHRDb250cm9sKiB0b1JlbmRlclRleHRDb250
cm9sKFJlbmRlck9iamVjdCogb2JqZWN0KQoteyAKLSAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9J
TVBMSUNBVElPTighb2JqZWN0IHx8IG9iamVjdC0+aXNUZXh0Q29udHJvbCgpKTsKLSAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8UmVuZGVyVGV4dENvbnRyb2wqPihvYmplY3QpOwotfQotCi1pbmxpbmUg
Y29uc3QgUmVuZGVyVGV4dENvbnRyb2wqIHRvUmVuZGVyVGV4dENvbnRyb2woY29uc3QgUmVuZGVy
T2JqZWN0KiBvYmplY3QpCi17IAotICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9O
KCFvYmplY3QgfHwgb2JqZWN0LT5pc1RleHRDb250cm9sKCkpOwotICAgIHJldHVybiBzdGF0aWNf
Y2FzdDxjb25zdCBSZW5kZXJUZXh0Q29udHJvbCo+KG9iamVjdCk7Ci19Ci0KLS8vIFRoaXMgd2ls
bCBjYXRjaCBhbnlvbmUgZG9pbmcgYW4gdW5uZWNlc3NhcnkgY2FzdC4KLXZvaWQgdG9SZW5kZXJU
ZXh0Q29udHJvbChjb25zdCBSZW5kZXJUZXh0Q29udHJvbCopOworUkVOREVSX09CSkVDVF9UWVBF
X0NBU1RTKFJlbmRlclRleHRDb250cm9sLCBpc1RleHRDb250cm9sKCkpCiAKIC8vIFJlbmRlcmVy
IGZvciBvdXIgaW5uZXIgY29udGFpbmVyLCBmb3IgPHNlYXJjaD4gYW5kIG90aGVycy4KIC8vIFdl
IGNhbid0IHVzZSBSZW5kZXJGbGV4aWJsZUJveCBkaXJlY3RseSwgYmVjYXVzZSBmbGV4Ym94ZXMg
aGF2ZSBhIGRpZmZlcmVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRleHRDb250cm9sTXVsdGlMaW5lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGV4dENvbnRyb2xNdWx0aUxpbmUuaAppbmRleCAxNmNkMmNmYWU2Y2M1NTljMGE3Y2NkNGZj
MmU1NzFjNzcyMDA0NWQ4Li4yMTViYTAxMzc4N2Y0MzgwZDk5YjY4MDQwMmM4Y2Y3NWY0MTUxN2Vi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xN
dWx0aUxpbmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRy
b2xNdWx0aUxpbmUuaApAQCAtNTIsMTQgKzUyLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIFJl
bmRlck9iamVjdCogbGF5b3V0U3BlY2lhbEV4Y2x1ZGVkQ2hpbGQoYm9vbCByZWxheW91dENoaWxk
cmVuKTsKIH07CiAKLWlubGluZSBSZW5kZXJUZXh0Q29udHJvbE11bHRpTGluZSogdG9SZW5kZXJU
ZXh0Q29udHJvbE11bHRpTGluZShSZW5kZXJPYmplY3QqIG9iamVjdCkKLXsgCi0gICAgQVNTRVJU
X1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW9iamVjdCB8fCBvYmplY3QtPmlzVGV4dEFyZWEo
KSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PFJlbmRlclRleHRDb250cm9sTXVsdGlMaW5lKj4o
b2JqZWN0KTsKLX0KLQotLy8gVGhpcyB3aWxsIGNhdGNoIGFueW9uZSBkb2luZyBhbiB1bm5lY2Vz
c2FyeSBjYXN0Lgotdm9pZCB0b1JlbmRlclRleHRDb250cm9sTXVsdGlMaW5lKGNvbnN0IFJlbmRl
clRleHRDb250cm9sTXVsdGlMaW5lKik7CitSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVy
VGV4dENvbnRyb2xNdWx0aUxpbmUsIGlzVGV4dEFyZWEoKSkKIAogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmgKaW5k
ZXggNjA5NjRjOWVhNTNjMjgyNGE2OWUxYjM2Y2M5MjBkN2QwOTZlNmE1Yi4uZGFhODJjMjEzNGI0
N2UzNjNkMWE3MmM5OTA0ODM1ZWQ4ZWNjODI0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuaApAQCAtOTgsMTQgKzk4
LDcgQEAgaW5saW5lIEhUTUxFbGVtZW50KiBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6Omlu
bmVyQmxvY2tFbGVtZW50KCkgY29uc3QKICAgICByZXR1cm4gaW5wdXRFbGVtZW50KCkuaW5uZXJC
bG9ja0VsZW1lbnQoKTsKIH0KIAotaW5saW5lIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZSog
dG9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUoUmVuZGVyT2JqZWN0KiBvYmplY3QpCi17Ci0g
ICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW9iamVjdCB8fCBvYmplY3QtPmlz
VGV4dEZpZWxkKCkpOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxSZW5kZXJUZXh0Q29udHJvbFNp
bmdsZUxpbmUqPihvYmplY3QpOwotfQotCi0vLyBUaGlzIHdpbGwgY2F0Y2ggYW55b25lIGRvaW5n
IGFuIHVubmVjZXNzYXJ5IGNhc3QuCi12b2lkIHRvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5l
KGNvbnN0IFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZSopOworUkVOREVSX09CSkVDVF9UWVBF
X0NBU1RTKFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZSwgaXNUZXh0RmllbGQoKSkKIAogLy8g
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCkBAIC0xMjEsMTQgKzExNCw3IEBAIHByaXZh
dGU6CiAgICAgdmlydHVhbCBib29sIGlzVGV4dENvbnRyb2xJbm5lckJsb2NrKCkgY29uc3QgT1ZF
UlJJREUgeyByZXR1cm4gdHJ1ZTsgfQogfTsKIAotaW5saW5lIFJlbmRlclRleHRDb250cm9sSW5u
ZXJCbG9jayogdG9SZW5kZXJUZXh0Q29udHJvbElubmVyQmxvY2soUmVuZGVyT2JqZWN0KiBvYmpl
Y3QpCi17Ci0gICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW9iamVjdCB8fCBv
YmplY3QtPmlzVGV4dENvbnRyb2xJbm5lckJsb2NrKCkpOwotICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxSZW5kZXJUZXh0Q29udHJvbElubmVyQmxvY2sqPihvYmplY3QpOwotfQotCi0vLyBUaGlzIHdp
bGwgY2F0Y2ggYW55b25lIGRvaW5nIGFuIHVubmVjZXNzYXJ5IGNhc3QuCi12b2lkIHRvUmVuZGVy
VGV4dENvbnRyb2xJbm5lckJsb2NrKGNvbnN0IFJlbmRlclRleHRDb250cm9sSW5uZXJCbG9jayop
OworUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlclRleHRDb250cm9sSW5uZXJCbG9jaywg
aXNUZXh0Q29udHJvbElubmVyQmxvY2soKSkKIAogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyV2lkZ2V0LmgKaW5kZXggYmY5YmNjYmFmMWVkNTA2M2UzNTA1YmYwZTI1ODI2ZTZlMjQx
OWZkZi4uOGY4NzU5ZmRkYzMzYmExZjkyY2Y0OTI2ZGIwZWEyYjE4ZmM2ODU0OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXQuaApAQCAtMTEzLDIwICsxMTMsNyBAQCBwcml2
YXRlOgogICAgIEludFJlY3QgbV9jbGlwUmVjdDsgLy8gVGhlIHJlY3RhbmdsZSBuZWVkcyB0byBy
ZW1haW4gY29ycmVjdCBhZnRlciBzY3JvbGxpbmcsIHNvIGl0IGlzIHN0b3JlZCBpbiBjb250ZW50
IHZpZXcgY29vcmRpbmF0ZXMsIGFuZCBub3QgY2xpcHBlZCB0byB3aW5kb3cuCiB9OwogCi1pbmxp
bmUgUmVuZGVyV2lkZ2V0KiB0b1JlbmRlcldpZGdldChSZW5kZXJPYmplY3QqIG9iamVjdCkKLXsK
LSAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighb2JqZWN0IHx8IG9iamVjdC0+
aXNXaWRnZXQoKSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PFJlbmRlcldpZGdldCo+KG9iamVj
dCk7Ci19Ci0KLWlubGluZSBjb25zdCBSZW5kZXJXaWRnZXQqIHRvUmVuZGVyV2lkZ2V0KGNvbnN0
IFJlbmRlck9iamVjdCogb2JqZWN0KQotewotICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJ
Q0FUSU9OKCFvYmplY3QgfHwgb2JqZWN0LT5pc1dpZGdldCgpKTsKLSAgICByZXR1cm4gc3RhdGlj
X2Nhc3Q8Y29uc3QgUmVuZGVyV2lkZ2V0Kj4ob2JqZWN0KTsKLX0KLQotLy8gVGhpcyB3aWxsIGNh
dGNoIGFueW9uZSBkb2luZyBhbiB1bm5lY2Vzc2FyeSBjYXN0Lgotdm9pZCB0b1JlbmRlcldpZGdl
dChjb25zdCBSZW5kZXJXaWRnZXQqKTsKK1JFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJX
aWRnZXQsIGlzV2lkZ2V0KCkpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxCbG9jay5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxCbG9jay5oCmluZGV4
IDE3Mjc5M2ZkODljYTgxZjZlOWI5MDcyODEzMjQwMTM5NjEyYjM0ZDIuLmIwN2RjMzhmYzQzNTY5
NDNlODc3Y2I4MTEzYTcwMTE4NTFjZWM3ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MQmxvY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEJsb2NrLmgKQEAgLTg1LDIwICs4NSw3IEBAIHBy
aXZhdGU6CiAgICAgYm9vbCBtX2lnbm9yZUluQWNjZXNzaWJpbGl0eVRyZWU7CiB9OwogCi1pbmxp
bmUgUmVuZGVyTWF0aE1MQmxvY2sqIHRvUmVuZGVyTWF0aE1MQmxvY2soUmVuZGVyT2JqZWN0KiBv
YmplY3QpCi17IAotICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFvYmplY3Qg
fHwgb2JqZWN0LT5pc1JlbmRlck1hdGhNTEJsb2NrKCkpOwotICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxSZW5kZXJNYXRoTUxCbG9jayo+KG9iamVjdCk7Ci19Ci0KLWlubGluZSBjb25zdCBSZW5kZXJN
YXRoTUxCbG9jayogdG9SZW5kZXJNYXRoTUxCbG9jayhjb25zdCBSZW5kZXJPYmplY3QqIG9iamVj
dCkKLXsgCi0gICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW9iamVjdCB8fCBv
YmplY3QtPmlzUmVuZGVyTWF0aE1MQmxvY2soKSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PGNv
bnN0IFJlbmRlck1hdGhNTEJsb2NrKj4ob2JqZWN0KTsKLX0KLQotLy8gVGhpcyB3aWxsIGNhdGNo
IGFueW9uZSBkb2luZyBhbiB1bm5lY2Vzc2FyeSBjYXN0Lgotdm9pZCB0b1JlbmRlck1hdGhNTEJs
b2NrKGNvbnN0IFJlbmRlck1hdGhNTEJsb2NrKik7CitSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMo
UmVuZGVyTWF0aE1MQmxvY2ssIGlzUmVuZGVyTWF0aE1MQmxvY2soKSkKIAogY2xhc3MgUmVuZGVy
TWF0aE1MVGFibGUgRklOQUwgOiBwdWJsaWMgUmVuZGVyVGFibGUgewogcHVibGljOgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdDb250YWluZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHQ29udGFpbmVyLmgKaW5kZXgg
MWNjN2ZiN2FlNmZlYzVkMDkxOTNlODlhNDI1YzdiMWRkYTcwZjAxZS4uYmFmYTE1YWQwYTEwYWE3
ODgzNWM4MWVkYzFlOTI3YTE3OGQwNTI5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9SZW5kZXJTVkdDb250YWluZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1JlbmRlclNWR0NvbnRhaW5lci5oCkBAIC04MSwyMSArODEsOCBAQCBwcml2YXRl
OgogICAgIEZsb2F0UmVjdCBtX3JlcGFpbnRCb3VuZGluZ0JveDsKICAgICBib29sIG1fbmVlZHNC
b3VuZGFyaWVzVXBkYXRlIDogMTsKIH07Ci0gIAotaW5saW5lIFJlbmRlclNWR0NvbnRhaW5lciog
dG9SZW5kZXJTVkdDb250YWluZXIoUmVuZGVyT2JqZWN0KiBvYmplY3QpCi17Ci0gICAgQVNTRVJU
X1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW9iamVjdCB8fCBvYmplY3QtPmlzU1ZHQ29udGFp
bmVyKCkpOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxSZW5kZXJTVkdDb250YWluZXIqPihvYmpl
Y3QpOwotfQotCi1pbmxpbmUgY29uc3QgUmVuZGVyU1ZHQ29udGFpbmVyKiB0b1JlbmRlclNWR0Nv
bnRhaW5lcihjb25zdCBSZW5kZXJPYmplY3QqIG9iamVjdCkKLXsKLSAgICBBU1NFUlRfV0lUSF9T
RUNVUklUWV9JTVBMSUNBVElPTighb2JqZWN0IHx8IG9iamVjdC0+aXNTVkdDb250YWluZXIoKSk7
Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFJlbmRlclNWR0NvbnRhaW5lcio+KG9iamVj
dCk7Ci19Ci0KLS8vIFRoaXMgd2lsbCBjYXRjaCBhbnlvbmUgZG9pbmcgYW4gdW5uZWNlc3Nhcnkg
Y2FzdC4KLXZvaWQgdG9SZW5kZXJTVkdDb250YWluZXIoY29uc3QgUmVuZGVyU1ZHQ29udGFpbmVy
Kik7CisKK1JFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJTVkdDb250YWluZXIsIGlzU1ZH
Q29udGFpbmVyKCkpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdHcmFkaWVudFN0b3AuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHR3JhZGllbnRTdG9wLmgKaW5kZXggNjUy
OWI5ZTc1MWU3MDJjZGJmZTI3NWI2M2U4OGMxN2Q3OWQzNGE4Ni4uZTIwZjMxN2JlMGRlMmM1YzU3
ODliMjZiMGI3OGViMGM1YTI5ZWY4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9SZW5kZXJTVkdHcmFkaWVudFN0b3AuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1JlbmRlclNWR0dyYWRpZW50U3RvcC5oCkBAIC01OSwxMSArNTksNyBAQCBwcml2
YXRlOgogICAgIFNWR0dyYWRpZW50RWxlbWVudCogZ3JhZGllbnRFbGVtZW50KCkgY29uc3Q7CiB9
OwogCi1pbmxpbmUgY29uc3QgUmVuZGVyU1ZHR3JhZGllbnRTdG9wKiB0b1JlbmRlclNWR0dyYWRp
ZW50U3RvcChjb25zdCBSZW5kZXJPYmplY3QqIG9iamVjdCkKLXsKLSAgICBBU1NFUlRfV0lUSF9T
RUNVUklUWV9JTVBMSUNBVElPTighb2JqZWN0IHx8IG9iamVjdC0+aXNTVkdHcmFkaWVudFN0b3Ao
KSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFJlbmRlclNWR0dyYWRpZW50U3RvcCo+
KG9iamVjdCk7Ci19CitSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyU1ZHR3JhZGllbnRT
dG9wLCBpc1NWR0dyYWRpZW50U3RvcCgpKQogCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHSW1hZ2UuaAppbmRleCAzMTRmYTc0N2QwOTQ5YTMyMzFjMzIwNTI3
YWNlZTcxMGFmMTA3MTBkLi40NDM4OWI0Y2MwMjY0YTdlYjRlOWRjZWVhNDg5ZGEzNWMwNzU5MDE1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0ltYWdl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbWFnZS5oCkBA
IC05MywyMCArOTMsNyBAQCBwcml2YXRlOgogICAgIE93blB0cjxJbWFnZUJ1ZmZlcj4gbV9idWZm
ZXJlZEZvcmVncm91bmQ7CiB9OwogCi1pbmxpbmUgUmVuZGVyU1ZHSW1hZ2UqIHRvUmVuZGVyU1ZH
SW1hZ2UoUmVuZGVyT2JqZWN0KiBvYmplY3QpCi17Ci0gICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlf
SU1QTElDQVRJT04oIW9iamVjdCB8fCBvYmplY3QtPmlzU1ZHSW1hZ2UoKSk7Ci0gICAgcmV0dXJu
IHN0YXRpY19jYXN0PFJlbmRlclNWR0ltYWdlKj4ob2JqZWN0KTsKLX0KLQotaW5saW5lIGNvbnN0
IFJlbmRlclNWR0ltYWdlKiB0b1JlbmRlclNWR0ltYWdlKGNvbnN0IFJlbmRlck9iamVjdCogb2Jq
ZWN0KQotewotICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFvYmplY3QgfHwg
b2JqZWN0LT5pc1NWR0ltYWdlKCkpOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBSZW5k
ZXJTVkdJbWFnZSo+KG9iamVjdCk7Ci19Ci0KLS8vIFRoaXMgd2lsbCBjYXRjaCBhbnlvbmUgZG9p
bmcgYW4gdW5uZWNlc3NhcnkgY2FzdC4KLXZvaWQgdG9SZW5kZXJTVkdJbWFnZShjb25zdCBSZW5k
ZXJTVkdJbWFnZSopOworUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlclNWR0ltYWdlLCBp
c1NWR0ltYWdlKCkpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbmxpbmVUZXh0LmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0lubGluZVRleHQuaAppbmRleCAxYTBiNWY3
NjM1ZjQyN2QwOGQ0YTNjNGRlOWYzNWQyZGEzODg2YTE1Li5hODJlN2ZjZjA1NzQ3ZTcyZGEwZjc1
NDQyNzQ5NmYwZDRjNDk4YTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1JlbmRlclNWR0lubGluZVRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1JlbmRlclNWR0lubGluZVRleHQuaApAQCAtNjksMzIgKzY5LDcgQEAgcHJpdmF0ZToKICAg
ICBTVkdUZXh0TGF5b3V0QXR0cmlidXRlcyBtX2xheW91dEF0dHJpYnV0ZXM7CiB9OwogCi1pbmxp
bmUgUmVuZGVyU1ZHSW5saW5lVGV4dCYgdG9SZW5kZXJTVkdJbmxpbmVUZXh0KFJlbmRlck9iamVj
dCYgb2JqZWN0KQotewotICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKG9iamVj
dC5pc1NWR0lubGluZVRleHQoKSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PFJlbmRlclNWR0lu
bGluZVRleHQmPihvYmplY3QpOwotfQotCi1pbmxpbmUgY29uc3QgUmVuZGVyU1ZHSW5saW5lVGV4
dCYgdG9SZW5kZXJTVkdJbmxpbmVUZXh0KGNvbnN0IFJlbmRlck9iamVjdCYgb2JqZWN0KQotewot
ICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKG9iamVjdC5pc1NWR0lubGluZVRl
eHQoKSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFJlbmRlclNWR0lubGluZVRleHQm
PihvYmplY3QpOwotfQotCi1pbmxpbmUgUmVuZGVyU1ZHSW5saW5lVGV4dCogdG9SZW5kZXJTVkdJ
bmxpbmVUZXh0KFJlbmRlck9iamVjdCogb2JqZWN0KQotewotICAgIEFTU0VSVF9XSVRIX1NFQ1VS
SVRZX0lNUExJQ0FUSU9OKCFvYmplY3QgfHwgb2JqZWN0LT5pc1NWR0lubGluZVRleHQoKSk7Ci0g
ICAgcmV0dXJuIHN0YXRpY19jYXN0PFJlbmRlclNWR0lubGluZVRleHQqPihvYmplY3QpOwotfQot
Ci1pbmxpbmUgY29uc3QgUmVuZGVyU1ZHSW5saW5lVGV4dCogdG9SZW5kZXJTVkdJbmxpbmVUZXh0
KGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0KQotewotICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZ
X0lNUExJQ0FUSU9OKCFvYmplY3QgfHwgb2JqZWN0LT5pc1NWR0lubGluZVRleHQoKSk7Ci0gICAg
cmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFJlbmRlclNWR0lubGluZVRleHQqPihvYmplY3QpOwot
fQotCi0vLyBUaGlzIHdpbGwgY2F0Y2ggYW55b25lIGRvaW5nIGFuIHVubmVjZXNzYXJ5IGNhc3Qu
Ci12b2lkIHRvUmVuZGVyU1ZHSW5saW5lVGV4dChjb25zdCBSZW5kZXJTVkdJbmxpbmVUZXh0Kik7
CitSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyU1ZHSW5saW5lVGV4dCwgaXNTVkdJbmxp
bmVUZXh0KCkpCiAKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9SZW5kZXJTVkdQYXRoLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R1BhdGguaAppbmRleCAwZWVhMmE5NDBkNGI4ZjNkZjRhOWQwMjAwMzVkYzA4ZDc5YTM2ZDBlLi5i
OTc0NzVkYTU5MWI5ODYzMGNjZjJjZGFkM2E2MjNkNGJmNDU5NzUyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1BhdGguaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1BhdGguaApAQCAtNTQsMTEgKzU0LDcgQEAgcHJp
dmF0ZToKICAgICBWZWN0b3I8RmxvYXRQb2ludD4gbV96ZXJvTGVuZ3RoTGluZWNhcExvY2F0aW9u
czsKIH07CiAKLWlubGluZSBSZW5kZXJTVkdQYXRoKiB0b1JlbmRlclNWR1BhdGgoUmVuZGVyT2Jq
ZWN0KiBvYmplY3QpCi17Ci0gICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW9i
amVjdCB8fCBvYmplY3QtPmlzU1ZHUGF0aCgpKTsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8UmVu
ZGVyU1ZHUGF0aCo+KG9iamVjdCk7Ci19CitSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVy
U1ZHUGF0aCwgaXNTVkdQYXRoKCkpCiAKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5oCmluZGV4IDYxNzk3ZTg2MDZl
NTk1NWVkZTQxMTYzMjg5MDY2Y2MwMjg4Zjg1YzEuLmIyMWE3ZTFlYWFmZTYyYTM5MTgyZTQyZWFh
ZjUyNzQwNzliOGMyOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
UmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1JlbmRlclNWR1Jlc291cmNlRmlsdGVyLmgKQEAgLTEwMCwxMSArMTAwLDcgQEAgcHJpdmF0
ZToKICAgICBIYXNoTWFwPFJlbmRlck9iamVjdCosIHN0ZDo6dW5pcXVlX3B0cjxGaWx0ZXJEYXRh
Pj4gbV9maWx0ZXI7CiB9OwogCi1pbmxpbmUgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIqIHRvUmVu
ZGVyU1ZHRmlsdGVyKFJlbmRlck9iamVjdCogb2JqZWN0KQotewotICAgIEFTU0VSVF9XSVRIX1NF
Q1VSSVRZX0lNUExJQ0FUSU9OKCFvYmplY3QgfHwgb2JqZWN0LT5pc1NWR1Jlc291cmNlRmlsdGVy
KCkpOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcio+KG9i
amVjdCk7Ci19CitSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyU1ZHUmVzb3VyY2VGaWx0
ZXIsIGlzU1ZHUmVzb3VyY2VGaWx0ZXIoKSkKIAogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlRmlsdGVyUHJpbWl0aXZlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXJQcmlt
aXRpdmUuY3BwCmluZGV4IDdkZDZkZjU1YzZiMmRmZGFmY2MzZmRiZjk0ZTdiOGMyMmYzZmIyOGIu
LmE3MTFiZDk3ZGE4MGY0Yjg4Y2RhNDVmNDA4ZTRlOWE1YmE5NWU0ZmYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXJQcmltaXRp
dmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3Vy
Y2VGaWx0ZXJQcmltaXRpdmUuY3BwCkBAIC02MywxMiArNjMsMTIgQEAgdm9pZCBSZW5kZXJTVkdS
ZXNvdXJjZUZpbHRlclByaW1pdGl2ZTo6c3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlIGRp
ZmYsIGNvbnMKICAgICBjb25zdCBTVkdSZW5kZXJTdHlsZSogbmV3U3R5bGUgPSB0aGlzLT5zdHls
ZSgpLT5zdmdTdHlsZSgpOwogICAgIGlmIChmaWx0ZXJQcmltaXRpdmVFbGVtZW50KCkuaGFzVGFn
TmFtZShTVkdOYW1lczo6ZmVGbG9vZFRhZykpIHsKICAgICAgICAgaWYgKG5ld1N0eWxlLT5mbG9v
ZENvbG9yKCkgIT0gb2xkU3R5bGUtPnN2Z1N0eWxlKCktPmZsb29kQ29sb3IoKSkKLSAgICAgICAg
ICAgIHRvUmVuZGVyU1ZHRmlsdGVyKGZpbHRlciktPnByaW1pdGl2ZUF0dHJpYnV0ZUNoYW5nZWQo
dGhpcywgU1ZHTmFtZXM6OmZsb29kX2NvbG9yQXR0cik7CisgICAgICAgICAgICB0b1JlbmRlclNW
R1Jlc291cmNlRmlsdGVyKGZpbHRlciktPnByaW1pdGl2ZUF0dHJpYnV0ZUNoYW5nZWQodGhpcywg
U1ZHTmFtZXM6OmZsb29kX2NvbG9yQXR0cik7CiAgICAgICAgIGlmIChuZXdTdHlsZS0+Zmxvb2RP
cGFjaXR5KCkgIT0gb2xkU3R5bGUtPnN2Z1N0eWxlKCktPmZsb29kT3BhY2l0eSgpKQotICAgICAg
ICAgICAgdG9SZW5kZXJTVkdGaWx0ZXIoZmlsdGVyKS0+cHJpbWl0aXZlQXR0cmlidXRlQ2hhbmdl
ZCh0aGlzLCBTVkdOYW1lczo6Zmxvb2Rfb3BhY2l0eUF0dHIpOworICAgICAgICAgICAgdG9SZW5k
ZXJTVkdSZXNvdXJjZUZpbHRlcihmaWx0ZXIpLT5wcmltaXRpdmVBdHRyaWJ1dGVDaGFuZ2VkKHRo
aXMsIFNWR05hbWVzOjpmbG9vZF9vcGFjaXR5QXR0cik7CiAgICAgfSBlbHNlIGlmIChmaWx0ZXJQ
cmltaXRpdmVFbGVtZW50KCkuaGFzVGFnTmFtZShTVkdOYW1lczo6ZmVEaWZmdXNlTGlnaHRpbmdU
YWcpIHx8IGZpbHRlclByaW1pdGl2ZUVsZW1lbnQoKS5oYXNUYWdOYW1lKFNWR05hbWVzOjpmZVNw
ZWN1bGFyTGlnaHRpbmdUYWcpKSB7CiAgICAgICAgIGlmIChuZXdTdHlsZS0+bGlnaHRpbmdDb2xv
cigpICE9IG9sZFN0eWxlLT5zdmdTdHlsZSgpLT5saWdodGluZ0NvbG9yKCkpCi0gICAgICAgICAg
ICB0b1JlbmRlclNWR0ZpbHRlcihmaWx0ZXIpLT5wcmltaXRpdmVBdHRyaWJ1dGVDaGFuZ2VkKHRo
aXMsIFNWR05hbWVzOjpsaWdodGluZ19jb2xvckF0dHIpOworICAgICAgICAgICAgdG9SZW5kZXJT
VkdSZXNvdXJjZUZpbHRlcihmaWx0ZXIpLT5wcmltaXRpdmVBdHRyaWJ1dGVDaGFuZ2VkKHRoaXMs
IFNWR05hbWVzOjpsaWdodGluZ19jb2xvckF0dHIpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuaAppbmRleCBmNTBkMDk0OWM3ZmIxYmUx
NDQ3Zjk1YTZlM2NkMTE5MjE1Njc2MjI1Li40MDQ2MjM0NWU5Y2U5YjhmNTAyOGRmYTgyOTdlM2Rm
MDk0NzIwZTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRl
clNWR1Jvb3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jv
b3QuaApAQCAtMTIyLDIwICsxMjIsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9oYXNTVkdTaGFk
b3cgOiAxOwogfTsKIAotaW5saW5lIFJlbmRlclNWR1Jvb3QqIHRvUmVuZGVyU1ZHUm9vdChSZW5k
ZXJPYmplY3QqIG9iamVjdCkKLXsgCi0gICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJ
T04oIW9iamVjdCB8fCBvYmplY3QtPmlzU1ZHUm9vdCgpKTsKLSAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8UmVuZGVyU1ZHUm9vdCo+KG9iamVjdCk7Ci19Ci0KLWlubGluZSBjb25zdCBSZW5kZXJTVkdS
b290KiB0b1JlbmRlclNWR1Jvb3QoY29uc3QgUmVuZGVyT2JqZWN0KiBvYmplY3QpCi17IAotICAg
IEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFvYmplY3QgfHwgb2JqZWN0LT5pc1NW
R1Jvb3QoKSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFJlbmRlclNWR1Jvb3QqPihv
YmplY3QpOwotfQotCi0vLyBUaGlzIHdpbGwgY2F0Y2ggYW55b25lIGRvaW5nIGFuIHVubmVjZXNz
YXJ5IGNhc3QuCi12b2lkIHRvUmVuZGVyU1ZHUm9vdChjb25zdCBSZW5kZXJTVkdSb290Kik7CitS
RU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyU1ZHUm9vdCwgaXNTVkdSb290KCkpCiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9SZW5kZXJTVkdTaGFwZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9S
ZW5kZXJTVkdTaGFwZS5oCmluZGV4IDAzNjlmYTFiYzNlMzQ4NmI5NTZlMTU3ZGZmOGEyNzQzMjQw
MWVjOGIuLjU0ZWMwYWRmYWEyMTZjODM5Zjc1ZjcyNzM4NzZkZjI4ZjhjOTc1NDAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHU2hhcGUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1NoYXBlLmgKQEAgLTE1MywyMCAr
MTUzLDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fbmVlZHNUcmFuc2Zvcm1VcGRhdGUgOiAxOwog
fTsKIAotaW5saW5lIFJlbmRlclNWR1NoYXBlKiB0b1JlbmRlclNWR1NoYXBlKFJlbmRlck9iamVj
dCogb2JqZWN0KQotewotICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFvYmpl
Y3QgfHwgb2JqZWN0LT5pc1NWR1NoYXBlKCkpOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxSZW5k
ZXJTVkdTaGFwZSo+KG9iamVjdCk7Ci19Ci0KLWlubGluZSBjb25zdCBSZW5kZXJTVkdTaGFwZSog
dG9SZW5kZXJTVkdTaGFwZShjb25zdCBSZW5kZXJPYmplY3QqIG9iamVjdCkKLXsKLSAgICBBU1NF
UlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighb2JqZWN0IHx8IG9iamVjdC0+aXNTVkdTaGFw
ZSgpKTsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgUmVuZGVyU1ZHU2hhcGUqPihvYmpl
Y3QpOwotfQotCi0vLyBUaGlzIHdpbGwgY2F0Y2ggYW55b25lIGRvaW5nIGFuIHVubmVjZXNzYXJ5
IGNhc3QuCi12b2lkIHRvUmVuZGVyU1ZHU2hhcGUoY29uc3QgUmVuZGVyU1ZHU2hhcGUqKTsKK1JF
TkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJTVkdTaGFwZSwgaXNTVkdTaGFwZSgpKQogCiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVGV4
dC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdUZXh0LmgKaW5kZXgg
NjVjMmEyYTM4NzAzNWE2NjY2ODExMmYzOTc3YTIwM2Y0NWY5ZTM5NS4uZGQ3ODQwZjYxZDM1ZTZh
N2FjYjJmYWJlNjAwZjEyYTFmYWRkYjdmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9SZW5kZXJTVkdUZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9SZW5kZXJTVkdUZXh0LmgKQEAgLTEwNiwzMyArMTA2LDcgQEAgcHJpdmF0ZToKICAgICBW
ZWN0b3I8U1ZHVGV4dExheW91dEF0dHJpYnV0ZXMqPiBtX2xheW91dEF0dHJpYnV0ZXM7CiB9Owog
Ci1pbmxpbmUgUmVuZGVyU1ZHVGV4dCYgdG9SZW5kZXJTVkdUZXh0KFJlbmRlck9iamVjdCYgb2Jq
ZWN0KQotewotICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKG9iamVjdC5pc1NW
R1RleHQoKSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PFJlbmRlclNWR1RleHQmPihvYmplY3Qp
OwotfQotCi1pbmxpbmUgY29uc3QgUmVuZGVyU1ZHVGV4dCYgdG9SZW5kZXJTVkdUZXh0KGNvbnN0
IFJlbmRlck9iamVjdCYgb2JqZWN0KQotewotICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJ
Q0FUSU9OKG9iamVjdC5pc1NWR1RleHQoKSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0
IFJlbmRlclNWR1RleHQmPihvYmplY3QpOwotfQotCi1pbmxpbmUgUmVuZGVyU1ZHVGV4dCogdG9S
ZW5kZXJTVkdUZXh0KFJlbmRlck9iamVjdCogb2JqZWN0KQotewotICAgIEFTU0VSVF9XSVRIX1NF
Q1VSSVRZX0lNUExJQ0FUSU9OKCFvYmplY3QgfHwgb2JqZWN0LT5pc1NWR1RleHQoKSk7Ci0gICAg
cmV0dXJuIHN0YXRpY19jYXN0PFJlbmRlclNWR1RleHQqPihvYmplY3QpOwotfQotCi1pbmxpbmUg
Y29uc3QgUmVuZGVyU1ZHVGV4dCogdG9SZW5kZXJTVkdUZXh0KGNvbnN0IFJlbmRlck9iamVjdCog
b2JqZWN0KQotewotICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFvYmplY3Qg
fHwgb2JqZWN0LT5pc1NWR1RleHQoKSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFJl
bmRlclNWR1RleHQqPihvYmplY3QpOwotfQotCi0vLyBUaGlzIHdpbGwgY2F0Y2ggYW55b25lIGRv
aW5nIGFuIHVubmVjZXNzYXJ5IGNhc3QuCi12b2lkIHRvUmVuZGVyU1ZHVGV4dChjb25zdCBSZW5k
ZXJTVkdUZXh0Jik7Ci12b2lkIHRvUmVuZGVyU1ZHVGV4dChjb25zdCBSZW5kZXJTVkdUZXh0Kik7
CitSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyU1ZHVGV4dCwgaXNTVkdUZXh0KCkpCiAK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdU
ZXh0UGF0aC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdUZXh0UGF0
aC5oCmluZGV4IDJkOTg0NjMzNzZhNDY1ZTZjZTFlOWIwNmQ1ZjEzYTk1MTZkMWY0ZTIuLmM4MDIx
ZTE4Yzc5ZmY1NWQ1YjA4MWVjMDM1NjFiMmZmZTgxZTQzMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVGV4dFBhdGguaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1RleHRQYXRoLmgKQEAgLTQ2LDE0ICs0Niw3IEBA
IHByaXZhdGU6CiAgICAgUGF0aCBtX2xheW91dFBhdGg7CiB9OwogCi1pbmxpbmUgUmVuZGVyU1ZH
VGV4dFBhdGgqIHRvUmVuZGVyU1ZHVGV4dFBhdGgoUmVuZGVyT2JqZWN0KiBvYmplY3QpCi17IAot
ICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFvYmplY3QgfHwgb2JqZWN0LT5p
c1NWR1RleHRQYXRoKCkpOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxSZW5kZXJTVkdUZXh0UGF0
aCo+KG9iamVjdCk7Ci19Ci0KLS8vIFRoaXMgd2lsbCBjYXRjaCBhbnlvbmUgZG9pbmcgYW4gdW5u
ZWNlc3NhcnkgY2FzdC4KLXZvaWQgdG9SZW5kZXJTVkdUZXh0UGF0aChjb25zdCBSZW5kZXJTVkdU
ZXh0UGF0aCopOworUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlclNWR1RleHRQYXRoLCBp
c1NWR1RleHRQYXRoKCkpCiAKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9SZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lci5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9SZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lci5oCmluZGV4IGZhM2Q5NGQ4ZGJk
YzdkYjQ2MWQyYTJiMjI2MjY0Zjg4ODMxMzQwMDIuLjdiNjRiNGNmZDFjYTMxNzc5YzVjYzVmMzhh
MGYzNWMzZWQxMzAyMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
UmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1JlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmgKQEAgLTY3LDIxICs2Nyw4IEBAIHBy
aXZhdGU6CiAgICAgYm9vbCBtX2lzTGF5b3V0U2l6ZUNoYW5nZWQgOiAxOwogICAgIGJvb2wgbV9u
ZWVkc1RyYW5zZm9ybVVwZGF0ZSA6IDE7CiB9OwotICAKLWlubGluZSBSZW5kZXJTVkdWaWV3cG9y
dENvbnRhaW5lciogdG9SZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lcihSZW5kZXJPYmplY3QqIG9i
amVjdCkKLXsKLSAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighb2JqZWN0IHx8
IG9iamVjdC0+aXNTVkdWaWV3cG9ydENvbnRhaW5lcigpKTsKLSAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8UmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIqPihvYmplY3QpOwotfQotCi1pbmxpbmUgY29u
c3QgUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIqIHRvUmVuZGVyU1ZHVmlld3BvcnRDb250YWlu
ZXIoY29uc3QgUmVuZGVyT2JqZWN0KiBvYmplY3QpCi17Ci0gICAgQVNTRVJUX1dJVEhfU0VDVVJJ
VFlfSU1QTElDQVRJT04oIW9iamVjdCB8fCBvYmplY3QtPmlzU1ZHVmlld3BvcnRDb250YWluZXIo
KSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFJlbmRlclNWR1ZpZXdwb3J0Q29udGFp
bmVyKj4ob2JqZWN0KTsKLX0KLQotLy8gVGhpcyB3aWxsIGNhdGNoIGFueW9uZSBkb2luZyBhbiB1
bm5lY2Vzc2FyeSBjYXN0Lgotdm9pZCB0b1JlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyKGNvbnN0
IFJlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyKik7CisKK1JFTkRFUl9PQkpFQ1RfVFlQRV9DQVNU
UyhSZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lciwgaXNTVkdWaWV3cG9ydENvbnRhaW5lcigpKQog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvU1ZHSW5saW5lRmxvd0JveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1NWR0lubGluZUZsb3dCb3guY3BwCmluZGV4IGM4MmZjZDQ2N2ZlZGU2ZDQwOTU2N2Ew
N2I5OTA5NWFjZTJmMDExM2YuLjhkNzEwMWJkMzM0ZTFhYmI1M2ZhMDYyZDcwNzYzZGMwOTU2MjZh
YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHSW5saW5lRmxv
d0JveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVGbG93
Qm94LmNwcApAQCAtNTgsNyArNTgsNyBAQCB2b2lkIFNWR0lubGluZUZsb3dCb3g6OnBhaW50KFBh
aW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYsIExheW91dFVuaQogICAgIGlm
IChyZW5kZXJpbmdDb250ZXh0LmlzUmVuZGVyaW5nUHJlcGFyZWQoKSkgewogICAgICAgICBmb3Ig
KElubGluZUJveCogY2hpbGQgPSBmaXJzdENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5u
ZXh0T25MaW5lKCkpIHsKICAgICAgICAgICAgIGlmIChjaGlsZC0+aXNTVkdJbmxpbmVUZXh0Qm94
KCkpCi0gICAgICAgICAgICAgICAgY29tcHV0ZVRleHRNYXRjaE1hcmtlclJlY3RGb3JSZW5kZXJl
cigmdG9SZW5kZXJTVkdJbmxpbmVUZXh0KHRvU1ZHSW5saW5lVGV4dEJveChjaGlsZCktPnJlbmRl
cmVyKCkpKTsKKyAgICAgICAgICAgICAgICBjb21wdXRlVGV4dE1hdGNoTWFya2VyUmVjdEZvclJl
bmRlcmVyKCYodG9TVkdJbmxpbmVUZXh0Qm94KGNoaWxkKS0+cmVuZGVyZXIoKSkpOwogCiAgICAg
ICAgICAgICBjaGlsZC0+cGFpbnQocGFpbnRJbmZvLCBMYXlvdXRQb2ludCgpLCAwLCAwKTsKICAg
ICAgICAgfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>