<?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>221626</bug_id>
          
          <creation_ts>2021-02-09 13:44:52 -0800</creation_ts>
          <short_desc>Use CompletionHandler instead of ImageCallback</short_desc>
          <delta_ts>2021-02-10 11:29:55 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=221702</see_also>
          <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="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>cdumez</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1727215</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-02-09 13:44:52 -0800</bug_when>
    <thetext>Use CompletionHandler instead of ImageCallback</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727217</commentid>
    <comment_count>1</comment_count>
      <attachid>419756</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-02-09 13:45:20 -0800</bug_when>
    <thetext>Created attachment 419756
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727236</commentid>
    <comment_count>2</comment_count>
      <attachid>419756</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-02-09 14:02:53 -0800</bug_when>
    <thetext>Comment on attachment 419756
Patch

r=me if the bots are happy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727262</commentid>
    <comment_count>3</comment_count>
      <attachid>419767</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-02-09 14:30:12 -0800</bug_when>
    <thetext>Created attachment 419767
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727365</commentid>
    <comment_count>4</comment_count>
      <attachid>419767</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-02-09 17:29:49 -0800</bug_when>
    <thetext>Comment on attachment 419767
Patch

http://trac.webkit.org/r272628</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727366</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-02-09 17:30:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/74167843&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419756</attachid>
            <date>2021-02-09 13:45:20 -0800</date>
            <delta_ts>2021-02-09 14:51:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221626-20210209134519.patch</filename>
            <type>text/plain</type>
            <size>21718</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNjA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDcyYmIxZTE1ZmZlMzkzNmMw
MjAxNTJmMjIyZDAxMDQzYzVlYzNiMWUuLmNkNWY2YzRlYTAxNjRhNDE4ZWRiMjdiMmY1Y2QxNmU2
NzNjMjQ2ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAKKzIwMjEtMDItMDkgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBVc2UgQ29tcGxl
dGlvbkhhbmRsZXIgaW5zdGVhZCBvZiBJbWFnZUNhbGxiYWNrCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjE2MjYKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgdGFrZVNuYXBzaG90V2l0aENvbmZpZ3VyYXRp
b246Y29tcGxldGlvbkhhbmRsZXI6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9f
V0tUaHVtYm5haWxWaWV3Lm1tOgorICAgICAgICAoLVtfV0tUaHVtYm5haWxWaWV3IHJlcXVlc3RT
bmFwc2hvdF0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvaW9zL1dLV2ViVmlld0lPUy5tbToK
KyAgICAgICAgKC1bV0tXZWJWaWV3IF9zbmFwc2hvdFJlY3Q6aW50b0ltYWdlT2ZXaWR0aDpjb21w
bGV0aW9uSGFuZGxlcjpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvR2VuZXJpY0NhbGxiYWNrLmg6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2VQcm94eTo6ZHJhd1JlY3RUb0ltYWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZVByb3h5Ojp0YWtlU25hcHNob3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6Omlt
YWdlQ2FsbGJhY2spOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9tYWMvV0tQcmludGluZ1ZpZXcubW06CisgICAgICAgICgtW1dLUHJpbnRp
bmdWaWV3IF9kcmF3UHJldmlldzpdKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnRha2VTbmFwc2hvdCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6OmRyYXdSZWN0VG9JbWFnZSk6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5tZXNzYWdlcy5pbjoKKwogMjAyMS0wMi0wOSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJp
c3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFVzZSBDb21wbGV0aW9uSGFuZGxlciBpbnN0
ZWFkIG9mIENvbXB1dGVkUGFnZXNDYWxsYmFjawpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggZDk1MzM1OGU3YzE4NzMwNzNjZDJiZGUwMGUw
MjVhODJkNGY4MGNkYS4uNGMyNWM4YTZmMjk5YWFjOTAwMTIyN2FhYzE0YTUxNGIxNDExMzdmNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBA
IC0xMDk0LDEzICsxMDk0LDcgQEAgc3RhdGljIFJldGFpblB0cjxOU0Vycm9yPiBuc0Vycm9yRnJv
bUV4Y2VwdGlvbkRldGFpbHMoY29uc3QgV2ViQ29yZTo6RXhjZXB0aW9uRGUKICAgICAvLyBUaGlz
IGNvZGUgZG9lc24ndCBjb25zaWRlciBzbmFwc2hvdENvbmZpZ3VyYXRpb24uYWZ0ZXJTY3JlZW5V
cGRhdGVzIHNpbmNlIHRoZSBzb2Z0d2FyZSBzbmFwc2hvdCBhbHdheXMKICAgICAvLyBjb250YWlu
cyByZWNlbnQgdXBkYXRlcy4gSWYgd2UgZXZlciBoYXZlIGEgVUktc2lkZSBzbmFwc2hvdCBtZWNo
YW5pc20gb24gbWFjT1MsIHdlIHdpbGwgbmVlZCB0byBmYWN0b3IKICAgICAvLyBpbiBzbmFwc2hv
dENvbmZpZ3VyYXRpb24uYWZ0ZXJTY3JlZW5VcGRhdGVzIGF0IHRoYXQgdGltZS4KLSAgICBfcGFn
ZS0+dGFrZVNuYXBzaG90KFdlYkNvcmU6OmVuY2xvc2luZ0ludFJlY3QocmVjdEluVmlld0Nvb3Jk
aW5hdGVzKSwgYml0bWFwU2l6ZSwgV2ViS2l0OjpTbmFwc2hvdE9wdGlvbnNJblZpZXdDb29yZGlu
YXRlcywgW2hhbmRsZXIsIHNuYXBzaG90V2lkdGgsIGltYWdlSGVpZ2h0XShjb25zdCBXZWJLaXQ6
OlNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBpbWFnZUhhbmRsZSwgV2ViS2l0OjpDYWxsYmFja0Jh
c2U6OkVycm9yIGVycm9yQ29kZSkgewotICAgICAgICBpZiAoZXJyb3JDb2RlICE9IFdlYktpdDo6
Q2FsbGJhY2tCYXNlOjpFcnJvcjo6Tm9uZSkgewotICAgICAgICAgICAgYXV0byBlcnJvciA9IGNy
ZWF0ZU5TRXJyb3IoY2FsbGJhY2tFcnJvckNvZGUoZXJyb3JDb2RlKSk7Ci0gICAgICAgICAgICBo
YW5kbGVyKG5pbCwgZXJyb3IuZ2V0KCkpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9
Ci0KKyAgICBfcGFnZS0+dGFrZVNuYXBzaG90KFdlYkNvcmU6OmVuY2xvc2luZ0ludFJlY3QocmVj
dEluVmlld0Nvb3JkaW5hdGVzKSwgYml0bWFwU2l6ZSwgV2ViS2l0OjpTbmFwc2hvdE9wdGlvbnNJ
blZpZXdDb29yZGluYXRlcywgW2hhbmRsZXIsIHNuYXBzaG90V2lkdGgsIGltYWdlSGVpZ2h0XShj
b25zdCBXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBpbWFnZUhhbmRsZSkgewogICAg
ICAgICBhdXRvIGJpdG1hcCA9IFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpjcmVhdGUoaW1hZ2VI
YW5kbGUsIFdlYktpdDo6U2hhcmVkTWVtb3J5OjpQcm90ZWN0aW9uOjpSZWFkT25seSk7CiAgICAg
ICAgIFJldGFpblB0cjxDR0ltYWdlUmVmPiBjZ0ltYWdlID0gYml0bWFwID8gYml0bWFwLT5tYWtl
Q0dJbWFnZSgpIDogbnVsbHB0cjsKICAgICAgICAgYXV0byBpbWFnZSA9IGFkb3B0TlMoW1tOU0lt
YWdlIGFsbG9jXSBpbml0V2l0aENHSW1hZ2U6Y2dJbWFnZS5nZXQoKSBzaXplOk5TTWFrZVNpemUo
c25hcHNob3RXaWR0aCwgaW1hZ2VIZWlnaHQpXSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVGh1bWJuYWlsVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tUaHVtYm5haWxWaWV3Lm1tCmluZGV4IDM4MTg1NWMyMDNl
NzhhODk3NmZiNzNkYmUyMzk4ZDA4MmM2YTY4NDkuLmJhOGNhNzQyNmUwMjI0ZTgzM2Y4OWIwNDA5
MjFkNTM1NjUxYzVmMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9fV0tUaHVtYm5haWxWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tUaHVtYm5haWxWaWV3Lm1tCkBAIC0xNDEsNyArMTQxLDcgQEAgQUxMT1dfREVQ
UkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECiAKICAgICBfbGFzdFNuYXBzaG90U2NhbGUgPSBfc2Nh
bGU7CiAgICAgX2xhc3RTbmFwc2hvdE1heGltdW1TaXplID0gX21heGltdW1TbmFwc2hvdFNpemU7
Ci0gICAgX3dlYlBhZ2VQcm94eS0+dGFrZVNuYXBzaG90KHNuYXBzaG90UmVjdCwgYml0bWFwU2l6
ZSwgb3B0aW9ucywgW3RodW1ibmFpbFZpZXddKGNvbnN0IFdlYktpdDo6U2hhcmVhYmxlQml0bWFw
OjpIYW5kbGUmIGltYWdlSGFuZGxlLCBXZWJLaXQ6OkNhbGxiYWNrQmFzZTo6RXJyb3IpIHsKKyAg
ICBfd2ViUGFnZVByb3h5LT50YWtlU25hcHNob3Qoc25hcHNob3RSZWN0LCBiaXRtYXBTaXplLCBv
cHRpb25zLCBbdGh1bWJuYWlsVmlld10oY29uc3QgV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6Okhh
bmRsZSYgaW1hZ2VIYW5kbGUpIHsKICAgICAgICAgYXV0byBiaXRtYXAgPSBXZWJLaXQ6OlNoYXJl
YWJsZUJpdG1hcDo6Y3JlYXRlKGltYWdlSGFuZGxlLCBXZWJLaXQ6OlNoYXJlZE1lbW9yeTo6UHJv
dGVjdGlvbjo6UmVhZE9ubHkpOwogICAgICAgICBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gY2dJbWFn
ZSA9IGJpdG1hcCA/IGJpdG1hcC0+bWFrZUNHSW1hZ2UoKSA6IG51bGxwdHI7CiAgICAgICAgIFt0
aHVtYm5haWxWaWV3IF9kaWRUYWtlU25hcHNob3Q6Y2dJbWFnZS5nZXQoKV07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvaW9zL1dLV2ViVmlld0lPUy5tbSBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9pb3MvV0tXZWJWaWV3SU9TLm1tCmluZGV4IDYzMjc3MjQz
N2E0ZmJkNjAzY2M3YWFlMjA4NDNkNDA0ZGVmY2ZkYzAuLjhjMWZlOTYwYzFhNmZjZGI0M2FhMDA4
MDdjZGQ5NWVlY2VlMmVhZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9pb3MvV0tXZWJWaWV3SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9p
b3MvV0tXZWJWaWV3SU9TLm1tCkBAIC0zMDg4LDI2ICszMDg4LDE2IEBAIHN0YXRpYyBXZWJDb3Jl
OjpVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uIHRvVXNlckludGVyZmFjZUxheW91dERpcmVj
dGlvbihVSVNlCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICB2b2lkKF5jb3BpZWRDb21w
bGV0aW9uSGFuZGxlcikoQ0dJbWFnZVJlZikgPSBbY29tcGxldGlvbkhhbmRsZXIgY29weV07Ci0g
ICAgX3BhZ2UtPnRha2VTbmFwc2hvdChXZWJDb3JlOjplbmNsb3NpbmdJbnRSZWN0KHNuYXBzaG90
UmVjdEluQ29udGVudENvb3JkaW5hdGVzKSwgV2ViQ29yZTo6ZXhwYW5kZWRJbnRTaXplKFdlYkNv
cmU6OkZsb2F0U2l6ZShpbWFnZVNpemUpKSwgV2ViS2l0OjpTbmFwc2hvdE9wdGlvbnNFeGNsdWRl
RGV2aWNlU2NhbGVGYWN0b3IsIFs9XShjb25zdCBXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6SGFu
ZGxlJiBpbWFnZUhhbmRsZSwgV2ViS2l0OjpDYWxsYmFja0Jhc2U6OkVycm9yKSB7Ci0gICAgICAg
IGlmIChpbWFnZUhhbmRsZS5pc051bGwoKSkgewotICAgICAgICAgICAgY29waWVkQ29tcGxldGlv
bkhhbmRsZXIobnVsbHB0cik7Ci0gICAgICAgICAgICBbY29waWVkQ29tcGxldGlvbkhhbmRsZXIg
cmVsZWFzZV07Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KKyAgICBfcGFnZS0+dGFr
ZVNuYXBzaG90KFdlYkNvcmU6OmVuY2xvc2luZ0ludFJlY3Qoc25hcHNob3RSZWN0SW5Db250ZW50
Q29vcmRpbmF0ZXMpLCBXZWJDb3JlOjpleHBhbmRlZEludFNpemUoV2ViQ29yZTo6RmxvYXRTaXpl
KGltYWdlU2l6ZSkpLCBXZWJLaXQ6OlNuYXBzaG90T3B0aW9uc0V4Y2x1ZGVEZXZpY2VTY2FsZUZh
Y3RvciwgW2NvbXBsZXRpb25IYW5kbGVyID0gbWFrZUJsb2NrUHRyKGNvbXBsZXRpb25IYW5kbGVy
KV0oY29uc3QgV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgaW1hZ2VIYW5kbGUpIHsK
KyAgICAgICAgaWYgKGltYWdlSGFuZGxlLmlzTnVsbCgpKQorICAgICAgICAgICAgcmV0dXJuIGNv
bXBsZXRpb25IYW5kbGVyKG5pbCk7CiAKICAgICAgICAgYXV0byBiaXRtYXAgPSBXZWJLaXQ6OlNo
YXJlYWJsZUJpdG1hcDo6Y3JlYXRlKGltYWdlSGFuZGxlLCBXZWJLaXQ6OlNoYXJlZE1lbW9yeTo6
UHJvdGVjdGlvbjo6UmVhZE9ubHkpOwogCi0gICAgICAgIGlmICghYml0bWFwKSB7Ci0gICAgICAg
ICAgICBjb3BpZWRDb21wbGV0aW9uSGFuZGxlcihudWxscHRyKTsKLSAgICAgICAgICAgIFtjb3Bp
ZWRDb21wbGV0aW9uSGFuZGxlciByZWxlYXNlXTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAg
ICAgfQorICAgICAgICBpZiAoIWJpdG1hcCkKKyAgICAgICAgICAgIHJldHVybiBjb21wbGV0aW9u
SGFuZGxlcihuaWwpOwogCi0gICAgICAgIFJldGFpblB0cjxDR0ltYWdlUmVmPiBjZ0ltYWdlOwot
ICAgICAgICBjZ0ltYWdlID0gYml0bWFwLT5tYWtlQ0dJbWFnZSgpOwotICAgICAgICBjb3BpZWRD
b21wbGV0aW9uSGFuZGxlcihjZ0ltYWdlLmdldCgpKTsKLSAgICAgICAgW2NvcGllZENvbXBsZXRp
b25IYW5kbGVyIHJlbGVhc2VdOworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihiaXRtYXAtPm1h
a2VDR0ltYWdlKCkuZ2V0KCkpOwogICAgIH0pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9HZW5lcmljQ2FsbGJhY2suaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0dlbmVyaWNDYWxsYmFjay5oCmluZGV4IDRlNjQ1MGJiZjYwNTFmNTZiMjE2ZmRlYjM0NmM1OGE0
MGEzMmI3ZWIuLmMzNjU4MTFkMGE2MmZkODQyZTk0NDg5MDBlZGI2YTJiNGZlNDc4MTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dlbmVyaWNDYWxsYmFjay5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dlbmVyaWNDYWxsYmFjay5oCkBAIC0xNTUsNyArMTU1LDYg
QEAgc3RhdGljIHR5cGVuYW1lIEdlbmVyaWNDYWxsYmFjazxJbnRlcm5hbFJldHVyblZhbHVlVHlw
ZT46OkNhbGxiYWNrRnVuY3Rpb24gdG9HZW4KIH0KIAogdHlwZWRlZiBHZW5lcmljQ2FsbGJhY2s8
PiBWb2lkQ2FsbGJhY2s7Ci10eXBlZGVmIEdlbmVyaWNDYWxsYmFjazxjb25zdCBTaGFyZWFibGVC
aXRtYXA6OkhhbmRsZSY+IEltYWdlQ2FsbGJhY2s7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiB2
b2lkIGludmFsaWRhdGVDYWxsYmFja01hcChIYXNoTWFwPHVpbnQ2NF90LCBUPiYgY2FsbGJhY2tN
YXAsIENhbGxiYWNrQmFzZTo6RXJyb3IgZXJyb3IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcAppbmRleCA4Y2I1ZDIzYmU4Y2Q0ZTIwNTlkZTQ1Y2ViNWJjNDhiZTAxNzgw
N2Y1Li5iYTUxNjhhYzE1NWRjN2IzNTFmNmY4OGY0YWUyMTI1ZmI5ZWVkZDFiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTcxMjIsMTcgKzcxMjIsNiBAQCB2
b2lkIFdlYlBhZ2VQcm94eTo6ZGF0YUNhbGxiYWNrKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYg
ZGF0YVJlZmVyZW5jZSwgQ2FsbGJhYwogICAgIGNhbGxiYWNrLT5wZXJmb3JtQ2FsbGJhY2tXaXRo
UmV0dXJuVmFsdWUoQVBJOjpEYXRhOjpjcmVhdGUoZGF0YVJlZmVyZW5jZS5kYXRhKCksIGRhdGFS
ZWZlcmVuY2Uuc2l6ZSgpKS5wdHIoKSk7CiB9CiAKLXZvaWQgV2ViUGFnZVByb3h5OjppbWFnZUNh
bGxiYWNrKGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBiaXRtYXBIYW5kbGUsIENhbGxi
YWNrSUQgY2FsbGJhY2tJRCkKLXsKLSAgICBhdXRvIGNhbGxiYWNrID0gbV9jYWxsYmFja3MudGFr
ZTxJbWFnZUNhbGxiYWNrPihjYWxsYmFja0lEKTsKLSAgICBpZiAoIWNhbGxiYWNrKSB7Ci0gICAg
ICAgIC8vIEZJWE1FOiBMb2cgZXJyb3Igb3IgYXNzZXJ0LgotICAgICAgICByZXR1cm47Ci0gICAg
fQotCi0gICAgY2FsbGJhY2stPnBlcmZvcm1DYWxsYmFja1dpdGhSZXR1cm5WYWx1ZShiaXRtYXBI
YW5kbGUpOwotfQotCiB2b2lkIFdlYlBhZ2VQcm94eTo6c3RyaW5nQ2FsbGJhY2soY29uc3QgU3Ry
aW5nJiByZXN1bHRTdHJpbmcsIENhbGxiYWNrSUQgY2FsbGJhY2tJRCkKIHsKICAgICBhdXRvIGNh
bGxiYWNrID0gbV9jYWxsYmFja3MudGFrZTxTdHJpbmdDYWxsYmFjaz4oY2FsbGJhY2tJRCk7CkBA
IC04NTQxLDE2ICs4NTMwLDkgQEAgdWludDY0X3QgV2ViUGFnZVByb3h5Ojpjb21wdXRlUGFnZXNG
b3JQcmludGluZyhXZWJGcmFtZVByb3h5KiBmcmFtZSwgY29uc3QgUHJpbnQKIH0KIAogI2lmIFBM
QVRGT1JNKENPQ09BKQotdm9pZCBXZWJQYWdlUHJveHk6OmRyYXdSZWN0VG9JbWFnZShXZWJGcmFt
ZVByb3h5KiBmcmFtZSwgY29uc3QgUHJpbnRJbmZvJiBwcmludEluZm8sIGNvbnN0IEludFJlY3Qm
IHJlY3QsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmIGltYWdlU2l6ZSwgUmVmPEltYWdlQ2FsbGJh
Y2s+JiYgY2FsbGJhY2spCit1aW50NjRfdCBXZWJQYWdlUHJveHk6OmRyYXdSZWN0VG9JbWFnZShX
ZWJGcmFtZVByb3h5KiBmcmFtZSwgY29uc3QgUHJpbnRJbmZvJiBwcmludEluZm8sIGNvbnN0IElu
dFJlY3QmIHJlY3QsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmIGltYWdlU2l6ZSwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChjb25zdCBXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJik+JiYg
Y2FsbGJhY2spCiB7Ci0gICAgaWYgKCFoYXNSdW5uaW5nUHJvY2VzcygpKSB7Ci0gICAgICAgIGNh
bGxiYWNrLT5pbnZhbGlkYXRlKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgCi0gICAg
YXV0byBjYWxsYmFja0lEID0gY2FsbGJhY2stPmNhbGxiYWNrSUQoKTsKLSAgICBtX2NhbGxiYWNr
cy5wdXQoV1RGTW92ZShjYWxsYmFjaykpOwotICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkRy
YXdSZWN0VG9JbWFnZShmcmFtZS0+ZnJhbWVJRCgpLCBwcmludEluZm8sIHJlY3QsIGltYWdlU2l6
ZSwgY2FsbGJhY2tJRCksIHByaW50aW5nU2VuZE9wdGlvbnMobV9pc1BlcmZvcm1pbmdET01Qcmlu
dE9wZXJhdGlvbikpOworICAgIHJldHVybiBzZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6Oldl
YlBhZ2U6OkRyYXdSZWN0VG9JbWFnZShmcmFtZS0+ZnJhbWVJRCgpLCBwcmludEluZm8sIHJlY3Qs
IGltYWdlU2l6ZSksIFdURk1vdmUoY2FsbGJhY2spLCBwcmludGluZ1NlbmRPcHRpb25zKG1faXNQ
ZXJmb3JtaW5nRE9NUHJpbnRPcGVyYXRpb24pKTsKIH0KIAogdm9pZCBXZWJQYWdlUHJveHk6OmRy
YXdQYWdlc1RvUERGKFdlYkZyYW1lUHJveHkqIGZyYW1lLCBjb25zdCBQcmludEluZm8mIHByaW50
SW5mbywgdWludDMyX3QgZmlyc3QsIHVpbnQzMl90IGNvdW50LCBSZWY8RGF0YUNhbGxiYWNrPiYm
IGNhbGxiYWNrKQpAQCAtOTAwNCwxNSArODk4Niw5IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzZXRT
Y3JvbGxQZXJmb3JtYW5jZURhdGFDb2xsZWN0aW9uRW5hYmxlZChib29sIGVuYWJsZWQpCiB9CiAj
ZW5kaWYKIAotdm9pZCBXZWJQYWdlUHJveHk6OnRha2VTbmFwc2hvdChJbnRSZWN0IHJlY3QsIElu
dFNpemUgYml0bWFwU2l6ZSwgU25hcHNob3RPcHRpb25zIG9wdGlvbnMsIFdURjo6RnVuY3Rpb248
dm9pZCAoY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmLCBDYWxsYmFja0Jhc2U6OkVycm9y
KT4mJiBjYWxsYmFja0Z1bmN0aW9uKQordm9pZCBXZWJQYWdlUHJveHk6OnRha2VTbmFwc2hvdChJ
bnRSZWN0IHJlY3QsIEludFNpemUgYml0bWFwU2l6ZSwgU25hcHNob3RPcHRpb25zIG9wdGlvbnMs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmKT4m
JiBjYWxsYmFjaykKIHsKLSAgICBpZiAoIWhhc1J1bm5pbmdQcm9jZXNzKCkpIHsKLSAgICAgICAg
Y2FsbGJhY2tGdW5jdGlvbihTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSgpLCBDYWxsYmFja0Jhc2U6
OkVycm9yOjpVbmtub3duKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGF1dG8gY2Fs
bGJhY2tJRCA9IG1fY2FsbGJhY2tzLnB1dChXVEZNb3ZlKGNhbGxiYWNrRnVuY3Rpb24pLCBtX3By
b2Nlc3MtPnRocm90dGxlcigpLmJhY2tncm91bmRBY3Rpdml0eSgiV2ViUGFnZVByb3h5Ojp0YWtl
U25hcHNob3QiX3MpKTsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpUYWtlU25hcHNob3Qo
cmVjdCwgYml0bWFwU2l6ZSwgb3B0aW9ucywgY2FsbGJhY2tJRCkpOworICAgIHNlbmRXaXRoQXN5
bmNSZXBseShNZXNzYWdlczo6V2ViUGFnZTo6VGFrZVNuYXBzaG90KHJlY3QsIGJpdG1hcFNpemUs
IG9wdGlvbnMpLCBXVEZNb3ZlKGNhbGxiYWNrKSk7CiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5Ojpu
YXZpZ2F0aW9uR2VzdHVyZURpZEJlZ2luKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmgKaW5kZXggNmNlODMzYjFiNmZmYjNkN2EyMDFlMzljNTJkN2FhZDk2MGJlNTNlNy4uOWE3
ZGZlOTc5ZDJhOWRhNjlkYTQ0MmFmYTk1YjU5MTg3N2NhZDdlZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTEyOTQsNyArMTI5NCw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIGVuZFByaW50aW5nKCk7CiAgICAgdWludDY0X3QgY29tcHV0ZVBhZ2VzRm9yUHJpbnRpbmco
V2ViRnJhbWVQcm94eSosIGNvbnN0IFByaW50SW5mbyYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
Y29uc3QgVmVjdG9yPFdlYkNvcmU6OkludFJlY3Q+JiwgZG91YmxlLCBjb25zdCBXZWJDb3JlOjpG
bG9hdEJveEV4dGVudCYpPiYmKTsKICNpZiBQTEFURk9STShDT0NPQSkKLSAgICB2b2lkIGRyYXdS
ZWN0VG9JbWFnZShXZWJGcmFtZVByb3h5KiwgY29uc3QgUHJpbnRJbmZvJiwgY29uc3QgV2ViQ29y
ZTo6SW50UmVjdCYsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmLCBSZWY8SW1hZ2VDYWxsYmFjaz4m
Jik7CisgICAgdWludDY0X3QgZHJhd1JlY3RUb0ltYWdlKFdlYkZyYW1lUHJveHkqLCBjb25zdCBQ
cmludEluZm8mLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgY29uc3QgV2ViQ29yZTo6SW50U2l6
ZSYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6
OkhhbmRsZSYpPiYmKTsKICAgICB2b2lkIGRyYXdQYWdlc1RvUERGKFdlYkZyYW1lUHJveHkqLCBj
b25zdCBQcmludEluZm8mLCB1aW50MzJfdCBmaXJzdCwgdWludDMyX3QgY291bnQsIFJlZjxEYXRh
Q2FsbGJhY2s+JiYpOwogICAgIHZvaWQgZHJhd1RvUERGKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmll
ciwgY29uc3QgT3B0aW9uYWw8V2ViQ29yZTo6RmxvYXRSZWN0PiYsIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJik+JiYpOwogI2lmIFBMQVRGT1JNKElPU19G
QU1JTFkpCkBAIC0xNDI4LDcgKzE0MjgsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNpZ25lZFB1
YmxpY0tleUFuZENoYWxsZW5nZVN0cmluZyh1bnNpZ25lZCBrZXlTaXplSW5kZXgsIGNvbnN0IFN0
cmluZyYgY2hhbGxlbmdlU3RyaW5nLCBjb25zdCBVUkwmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KFN0cmluZyk+JiYpOwogCi0gICAgdm9pZCB0YWtlU25hcHNob3QoV2ViQ29yZTo6SW50UmVjdCwg
V2ViQ29yZTo6SW50U2l6ZSBiaXRtYXBTaXplLCBTbmFwc2hvdE9wdGlvbnMsIFdURjo6RnVuY3Rp
b248dm9pZCAoY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmLCBDYWxsYmFja0Jhc2U6OkVy
cm9yKT4mJik7CisgICAgdm9pZCB0YWtlU25hcHNob3QoV2ViQ29yZTo6SW50UmVjdCwgV2ViQ29y
ZTo6SW50U2l6ZSBiaXRtYXBTaXplLCBTbmFwc2hvdE9wdGlvbnMsIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmKT4mJik7CiAKICAgICB2b2lkIG5h
dmlnYXRpb25HZXN0dXJlRGlkQmVnaW4oKTsKICAgICB2b2lkIG5hdmlnYXRpb25HZXN0dXJlV2ls
bEVuZChib29sIHdpbGxOYXZpZ2F0ZSwgV2ViQmFja0ZvcndhcmRMaXN0SXRlbSYpOwpAQCAtMjE1
NSw3ICsyMTU1LDYgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgdm9pZENhbGxiYWNrKENhbGxiYWNr
SUQpOwogICAgIHZvaWQgZGF0YUNhbGxiYWNrKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYsIENh
bGxiYWNrSUQpOwotICAgIHZvaWQgaW1hZ2VDYWxsYmFjayhjb25zdCBTaGFyZWFibGVCaXRtYXA6
OkhhbmRsZSYsIENhbGxiYWNrSUQpOwogICAgIHZvaWQgc3RyaW5nQ2FsbGJhY2soY29uc3QgU3Ry
aW5nJiwgQ2FsbGJhY2tJRCk7CiAgICAgdm9pZCBpbnZhbGlkYXRlU3RyaW5nQ2FsbGJhY2soQ2Fs
bGJhY2tJRCk7CiAgICAgdm9pZCB1bnNpZ25lZENhbGxiYWNrKHVpbnQ2NF90LCBDYWxsYmFja0lE
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNz
YWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5p
bgppbmRleCBiNDljNzk1Y2Y4NDhlYzYzYmUzZGJiOGY0NGY3NWM4YWYzYmNkZmZhLi41MWQwNzIx
ZjVjMDYxOWVlMDViMWY2MTA4ZTA2MjQ0OWU0NWM5MjE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC0xNjUsNyArMTY1LDYgQEAg
bWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICAjIENhbGxiYWNrIG1lc3NhZ2VzCiAgICAg
Vm9pZENhbGxiYWNrKFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQogICAgIERhdGFDYWxs
YmFjayhJUEM6OlNoYXJlZEJ1ZmZlckRhdGFSZWZlcmVuY2UgcmVzdWx0RGF0YSwgV2ViS2l0OjpD
YWxsYmFja0lEIGNhbGxiYWNrSUQpCi0gICAgSW1hZ2VDYWxsYmFjayhXZWJLaXQ6OlNoYXJlYWJs
ZUJpdG1hcDo6SGFuZGxlIGJpdG1hcEhhbmRsZSwgV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxiYWNr
SUQpCiAgICAgU3RyaW5nQ2FsbGJhY2soU3RyaW5nIHJlc3VsdFN0cmluZywgV2ViS2l0OjpDYWxs
YmFja0lEIGNhbGxiYWNrSUQpCiAgICAgSW52YWxpZGF0ZVN0cmluZ0NhbGxiYWNrKFdlYktpdDo6
Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQogICAgIFVuc2lnbmVkQ2FsbGJhY2sodWludDY0X3QgcmVz
dWx0LCBXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL21hYy9XS1ByaW50aW5nVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL21hYy9XS1ByaW50aW5nVmlldy5tbQppbmRleCAwNWZjZmE0YmVmYjk1NWI1ODlhMzc2
ODJjZWUwZDQwMGQ5Y2RkZDM3Li41MmNlNmVlNjFmYWQwOWRhMjM4OTYyYTRhNzc4YzhmN2E1YzMy
ZGNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV0tQcmludGluZ1Zp
ZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dLUHJpbnRpbmdWaWV3Lm1t
CkBAIC01NDAsMTcgKzU0MCwxNSBAQCBzdGF0aWMgTlNTdHJpbmcgKmxpbmtEZXN0aW5hdGlvbk5h
bWUoUERGRG9jdW1lbnQgKmRvY3VtZW50LCBQREZEZXN0aW5hdGlvbiAqZGVzdAogICAgICAgICAg
ICAgICAgIF93ZWJGcmFtZS0+cGFnZSgpLT5iZWdpblByaW50aW5nKF93ZWJGcmFtZS5nZXQoKSwg
V2ViS2l0OjpQcmludEluZm8oW19wcmludE9wZXJhdGlvbi5nZXQoKSBwcmludEluZm9dKSk7CiAK
ICAgICAgICAgICAgICAgICBJUENDYWxsYmFja0NvbnRleHQqIGNvbnRleHQgPSBuZXcgSVBDQ2Fs
bGJhY2tDb250ZXh0OwotICAgICAgICAgICAgICAgIGF1dG8gY2FsbGJhY2sgPSBXZWJLaXQ6Oklt
YWdlQ2FsbGJhY2s6OmNyZWF0ZShbY29udGV4dF0oY29uc3QgV2ViS2l0OjpTaGFyZWFibGVCaXRt
YXA6OkhhbmRsZSYgaW1hZ2VIYW5kbGUsIFdlYktpdDo6Q2FsbGJhY2tCYXNlOjpFcnJvcikgewor
ICAgICAgICAgICAgICAgIGF1dG8gY2FsbGJhY2sgPSBbY29udGV4dF0oY29uc3QgV2ViS2l0OjpT
aGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgaW1hZ2VIYW5kbGUpIHsKICAgICAgICAgICAgICAgICAg
ICAgc3RkOjp1bmlxdWVfcHRyPElQQ0NhbGxiYWNrQ29udGV4dD4gY29udGV4dERlbGV0ZXIoY29u
dGV4dCk7CiAgICAgICAgICAgICAgICAgICAgIHBhZ2VEaWREcmF3VG9JbWFnZShpbWFnZUhhbmRs
ZSwgY29udGV4dCk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgX2xhdGVz
dEV4cGVjdGVkUHJldmlld0NhbGxiYWNrID0gY2FsbGJhY2stPmNhbGxiYWNrSUQoKS50b0ludGVn
ZXIoKTsKKyAgICAgICAgICAgICAgICB9OworICAgICAgICAgICAgICAgIF9sYXRlc3RFeHBlY3Rl
ZFByZXZpZXdDYWxsYmFjayA9IF93ZWJGcmFtZS0+cGFnZSgpLT5kcmF3UmVjdFRvSW1hZ2UoX3dl
YkZyYW1lLmdldCgpLCBXZWJLaXQ6OlByaW50SW5mbyhbX3ByaW50T3BlcmF0aW9uLmdldCgpIHBy
aW50SW5mb10pLCBzY2FsZWRQcmludGluZ1JlY3QsIGltYWdlU2l6ZSwgV1RGTW92ZShjYWxsYmFj
aykpOwogICAgICAgICAgICAgICAgIF9leHBlY3RlZFByZXZpZXdDYWxsYmFja3MuYWRkKF9sYXRl
c3RFeHBlY3RlZFByZXZpZXdDYWxsYmFjaywgc2NhbGVkUHJpbnRpbmdSZWN0KTsKIAogICAgICAg
ICAgICAgICAgIGNvbnRleHQtPnZpZXcgPSBzZWxmOwotICAgICAgICAgICAgICAgIGNvbnRleHQt
PmNhbGxiYWNrSUQgPSBjYWxsYmFjay0+Y2FsbGJhY2tJRCgpLnRvSW50ZWdlcigpOwotCi0gICAg
ICAgICAgICAgICAgX3dlYkZyYW1lLT5wYWdlKCktPmRyYXdSZWN0VG9JbWFnZShfd2ViRnJhbWUu
Z2V0KCksIFdlYktpdDo6UHJpbnRJbmZvKFtfcHJpbnRPcGVyYXRpb24uZ2V0KCkgcHJpbnRJbmZv
XSksIHNjYWxlZFByaW50aW5nUmVjdCwgaW1hZ2VTaXplLCBXVEZNb3ZlKGNhbGxiYWNrKSk7Cisg
ICAgICAgICAgICAgICAgY29udGV4dC0+Y2FsbGJhY2tJRCA9IF9sYXRlc3RFeHBlY3RlZFByZXZp
ZXdDYWxsYmFjazsKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5k
ZXggMjczNTBhYWJjOTlmNjdjYmUzODUzNDg4OTE3ZTgyNzY0ZGViZGZlNC4uYjA4ZTZiNDFhZGQy
ODZjOWE4ODEwM2E4ODFlOWIyZmZmZTQ0OWNjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTI0MjIsNyArMjQyMiw3IEBAIHZvaWQgV2ViUGFn
ZTo6c2V0Rm9vdGVyQmFubmVySGVpZ2h0Rm9yVGVzdGluZyhpbnQgaGVpZ2h0KQogCiAjZW5kaWYg
Ly8gIVBMQVRGT1JNKElPU19GQU1JTFkpCiAKLXZvaWQgV2ViUGFnZTo6dGFrZVNuYXBzaG90KElu
dFJlY3Qgc25hcHNob3RSZWN0LCBJbnRTaXplIGJpdG1hcFNpemUsIHVpbnQzMl90IG9wdGlvbnMs
IENhbGxiYWNrSUQgY2FsbGJhY2tJRCkKK3ZvaWQgV2ViUGFnZTo6dGFrZVNuYXBzaG90KEludFJl
Y3Qgc25hcHNob3RSZWN0LCBJbnRTaXplIGJpdG1hcFNpemUsIHVpbnQzMl90IG9wdGlvbnMsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OkhhbmRs
ZSYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIFNuYXBzaG90T3B0aW9ucyBzbmFwc2hv
dE9wdGlvbnMgPSBzdGF0aWNfY2FzdDxTbmFwc2hvdE9wdGlvbnM+KG9wdGlvbnMpOwogICAgIHNu
YXBzaG90T3B0aW9ucyB8PSBTbmFwc2hvdE9wdGlvbnNTaGFyZWFibGU7CkBAIC0yNDMzLDcgKzI0
MzMsNyBAQCB2b2lkIFdlYlBhZ2U6OnRha2VTbmFwc2hvdChJbnRSZWN0IHNuYXBzaG90UmVjdCwg
SW50U2l6ZSBiaXRtYXBTaXplLCB1aW50MzJfdCBvcAogICAgIGlmIChpbWFnZSkKICAgICAgICAg
aW1hZ2UtPmJpdG1hcCgpLmNyZWF0ZUhhbmRsZShoYW5kbGUsIFNoYXJlZE1lbW9yeTo6UHJvdGVj
dGlvbjo6UmVhZE9ubHkpOwogCi0gICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpJbWFn
ZUNhbGxiYWNrKGhhbmRsZSwgY2FsbGJhY2tJRCkpOworICAgIGNvbXBsZXRpb25IYW5kbGVyKGhh
bmRsZSk7CiB9CiAKIFJlZlB0cjxXZWJJbWFnZT4gV2ViUGFnZTo6c2NhbGVkU25hcHNob3RXaXRo
T3B0aW9ucyhjb25zdCBJbnRSZWN0JiByZWN0LCBkb3VibGUgYWRkaXRpb25hbFNjYWxlRmFjdG9y
LCBTbmFwc2hvdE9wdGlvbnMgb3B0aW9ucykKQEAgLTUxMjgsNyArNTEyOCw3IEBAIHZvaWQgV2Vi
UGFnZTo6ZHJhd1RvUERGKEZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBjb25zdCBPcHRpb25hbDxG
bG9hdFJlY3Q+JiByZWN0CiAgICAgY29tcGxldGlvbkhhbmRsZXIoSVBDOjpEYXRhUmVmZXJlbmNl
KENGRGF0YUdldEJ5dGVQdHIocGRmRGF0YS5nZXQoKSksIENGRGF0YUdldExlbmd0aChwZGZEYXRh
LmdldCgpKSkpOwogfQogCi12b2lkIFdlYlBhZ2U6OmRyYXdSZWN0VG9JbWFnZShGcmFtZUlkZW50
aWZpZXIgZnJhbWVJRCwgY29uc3QgUHJpbnRJbmZvJiBwcmludEluZm8sIGNvbnN0IEludFJlY3Qm
IHJlY3QsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmIGltYWdlU2l6ZSwgQ2FsbGJhY2tJRCBjYWxs
YmFja0lEKQordm9pZCBXZWJQYWdlOjpkcmF3UmVjdFRvSW1hZ2UoRnJhbWVJZGVudGlmaWVyIGZy
YW1lSUQsIGNvbnN0IFByaW50SW5mbyYgcHJpbnRJbmZvLCBjb25zdCBJbnRSZWN0JiByZWN0LCBj
b25zdCBXZWJDb3JlOjpJbnRTaXplJiBpbWFnZVNpemUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
Y29uc3QgV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYpPiYmIGNvbXBsZXRpb25IYW5k
bGVyKQogewogICAgIFdlYkZyYW1lKiBmcmFtZSA9IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLndl
YkZyYW1lKGZyYW1lSUQpOwogICAgIEZyYW1lKiBjb3JlRnJhbWUgPSBmcmFtZSA/IGZyYW1lLT5j
b3JlRnJhbWUoKSA6IDA7CkBAIC01MTQ2LDcgKzUxNDYsNyBAQCB2b2lkIFdlYlBhZ2U6OmRyYXdS
ZWN0VG9JbWFnZShGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgY29uc3QgUHJpbnRJbmZvJiBwcmlu
dEluZgogICAgICAgICBhdXRvIGJpdG1hcCA9IFNoYXJlYWJsZUJpdG1hcDo6Y3JlYXRlU2hhcmVh
YmxlKGltYWdlU2l6ZSwgeyB9KTsKICAgICAgICAgaWYgKCFiaXRtYXApIHsKICAgICAgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAg
cmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKHsgfSk7CiAgICAgICAgIH0KICAgICAgICAgYXV0byBn
cmFwaGljc0NvbnRleHQgPSBiaXRtYXAtPmNyZWF0ZUdyYXBoaWNzQ29udGV4dCgpOwogICAgICAg
ICBpZiAoZ3JhcGhpY3NDb250ZXh0KSB7CkBAIC01MTc1LDcgKzUxNzUsNyBAQCB2b2lkIFdlYlBh
Z2U6OmRyYXdSZWN0VG9JbWFnZShGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgY29uc3QgUHJpbnRJ
bmZvJiBwcmludEluZgogICAgIGlmIChpbWFnZSkKICAgICAgICAgaW1hZ2UtPmJpdG1hcCgpLmNy
ZWF0ZUhhbmRsZShoYW5kbGUsIFNoYXJlZE1lbW9yeTo6UHJvdGVjdGlvbjo6UmVhZE9ubHkpOwog
Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpJbWFnZUNhbGxiYWNrKGhhbmRsZSwg
Y2FsbGJhY2tJRCkpOworICAgIGNvbXBsZXRpb25IYW5kbGVyKGhhbmRsZSk7CiB9CiAKIHZvaWQg
V2ViUGFnZTo6ZHJhd1BhZ2VzVG9QREYoRnJhbWVJZGVudGlmaWVyIGZyYW1lSUQsIGNvbnN0IFBy
aW50SW5mbyYgcHJpbnRJbmZvLCB1aW50MzJfdCBmaXJzdCwgdWludDMyX3QgY291bnQsIENhbGxi
YWNrSUQgY2FsbGJhY2tJRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuaAppbmRleCA2Y2FmMWQ1NGU3N2FjMWYyNjczYTFhOWM3YmJjNzM0ZGFkNGRjYzMyLi45ODc5
OWZhYjkwMTI0NTQ4NTMzYmEzNTc3MTAwNTU2MDE5MDEyZDhhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC05NjUsNyArOTY1LDcgQEAgcHVibGljOgog
ICAgIHZvaWQgY29tcHV0ZVBhZ2VzRm9yUHJpbnRpbmdJbXBsKFdlYkNvcmU6OkZyYW1lSWRlbnRp
ZmllciwgY29uc3QgUHJpbnRJbmZvJiwgVmVjdG9yPFdlYkNvcmU6OkludFJlY3Q+JiBwYWdlUmVj
dHMsIGRvdWJsZSYgdG90YWxTY2FsZUZhY3RvciwgV2ViQ29yZTo6RmxvYXRCb3hFeHRlbnQmIGNv
bXB1dGVkTWFyZ2luKTsKIAogI2lmIFBMQVRGT1JNKENPQ09BKQotICAgIHZvaWQgZHJhd1JlY3RU
b0ltYWdlKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciwgY29uc3QgUHJpbnRJbmZvJiwgY29uc3Qg
V2ViQ29yZTo6SW50UmVjdCYsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmLCBDYWxsYmFja0lEKTsK
KyAgICB2b2lkIGRyYXdSZWN0VG9JbWFnZShXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIsIGNvbnN0
IFByaW50SW5mbyYsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBjb25zdCBXZWJDb3JlOjpJbnRT
aXplJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBXZWJLaXQ6OlNoYXJlYWJsZUJpdG1h
cDo6SGFuZGxlJik+JiYpOwogICAgIHZvaWQgZHJhd1BhZ2VzVG9QREYoV2ViQ29yZTo6RnJhbWVJ
ZGVudGlmaWVyLCBjb25zdCBQcmludEluZm8mLCB1aW50MzJfdCBmaXJzdCwgdWludDMyX3QgY291
bnQsIENhbGxiYWNrSUQpOwogICAgIHZvaWQgZHJhd1BhZ2VzVG9QREZJbXBsKFdlYkNvcmU6OkZy
YW1lSWRlbnRpZmllciwgY29uc3QgUHJpbnRJbmZvJiwgdWludDMyX3QgZmlyc3QsIHVpbnQzMl90
IGNvdW50LCBSZXRhaW5QdHI8Q0ZNdXRhYmxlRGF0YVJlZj4mIHBkZlBhZ2VEYXRhKTsKICNlbmRp
ZgpAQCAtMTU5MSw3ICsxNTkxLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHJ1bkphdmFTY3JpcHQo
V2ViRnJhbWUqLCBXZWJDb3JlOjpSdW5KYXZhU2NyaXB0UGFyYW1ldGVycyYmLCBDb250ZW50V29y
bGRJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IElQQzo6RGF0YVJlZmVy
ZW5jZSYsIGNvbnN0IE9wdGlvbmFsPFdlYkNvcmU6OkV4Y2VwdGlvbkRldGFpbHM+Jik+JiYpOwog
ICAgIHZvaWQgcnVuSmF2YVNjcmlwdEluRnJhbWVJblNjcmlwdFdvcmxkKFdlYkNvcmU6OlJ1bkph
dmFTY3JpcHRQYXJhbWV0ZXJzJiYsIE9wdGlvbmFsPFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllcj4s
IGNvbnN0IHN0ZDo6cGFpcjxDb250ZW50V29ybGRJZGVudGlmaWVyLCBTdHJpbmc+JiB3b3JsZERh
dGEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiwgY29u
c3QgT3B0aW9uYWw8V2ViQ29yZTo6RXhjZXB0aW9uRGV0YWlscz4mKT4mJik7CiAgICAgdm9pZCBm
b3JjZVJlcGFpbnQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKLSAgICB2b2lkIHRha2VT
bmFwc2hvdChXZWJDb3JlOjpJbnRSZWN0IHNuYXBzaG90UmVjdCwgV2ViQ29yZTo6SW50U2l6ZSBi
aXRtYXBTaXplLCB1aW50MzJfdCBvcHRpb25zLCBDYWxsYmFja0lEKTsKKyAgICB2b2lkIHRha2VT
bmFwc2hvdChXZWJDb3JlOjpJbnRSZWN0IHNuYXBzaG90UmVjdCwgV2ViQ29yZTo6SW50U2l6ZSBi
aXRtYXBTaXplLCB1aW50MzJfdCBvcHRpb25zLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0
IFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmKT4mJik7CiAKICAgICB2b2lkIHByZWZl
cmVuY2VzRGlkQ2hhbmdlKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmKTsKICAgICB2b2lkIHVw
ZGF0ZVByZWZlcmVuY2VzKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4gYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCmluZGV4
IDg1YTNkYWQ5NzVlOWEwZjIzN2NmMTg3NGE5ZDZkMWQ4NGVhYjlkNGQuLjEzZThkODRhNTE2NjMy
MzQzNmNlMmFhZDcwYmUxM2Y3NTc1NjU4MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgpAQCAtMzk5LDcgKzM5OSw3IEBA
IEdlbmVyYXRlU3ludGhldGljRWRpdGluZ0NvbW1hbmQoZW51bTp1aW50OF90IFdlYktpdDo6U3lu
dGhldGljRWRpdGluZ0NvbW1hbmRUeXBlCiAgICAgRW5kUHJpbnRpbmcoKQogICAgIENvbXB1dGVQ
YWdlc0ZvclByaW50aW5nKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBzdHJ1Y3Qg
V2ViS2l0OjpQcmludEluZm8gcHJpbnRJbmZvKSAtPiAoVmVjdG9yPFdlYkNvcmU6OkludFJlY3Q+
IHBhZ2VSZWN0cywgZG91YmxlIHRvdGFsU2NhbGVGYWN0b3JGb3JQcmludGluZywgV2ViQ29yZTo6
UmVjdEVkZ2VzPGZsb2F0PiBjb21wdXRlZFBhZ2VNYXJnaW4pIEFzeW5jCiAjaWYgUExBVEZPUk0o
Q09DT0EpCi0gICAgRHJhd1JlY3RUb0ltYWdlKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciBmcmFt
ZUlELCBzdHJ1Y3QgV2ViS2l0OjpQcmludEluZm8gcHJpbnRJbmZvLCBXZWJDb3JlOjpJbnRSZWN0
IHJlY3QsIFdlYkNvcmU6OkludFNpemUgaW1hZ2VTaXplLCBXZWJLaXQ6OkNhbGxiYWNrSUQgY2Fs
bGJhY2tJRCkKKyAgICBEcmF3UmVjdFRvSW1hZ2UoV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyIGZy
YW1lSUQsIHN0cnVjdCBXZWJLaXQ6OlByaW50SW5mbyBwcmludEluZm8sIFdlYkNvcmU6OkludFJl
Y3QgcmVjdCwgV2ViQ29yZTo6SW50U2l6ZSBpbWFnZVNpemUpIC0+IChXZWJLaXQ6OlNoYXJlYWJs
ZUJpdG1hcDo6SGFuZGxlIGltYWdlKSBBc3luYwogICAgIERyYXdQYWdlc1RvUERGKFdlYkNvcmU6
OkZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBzdHJ1Y3QgV2ViS2l0OjpQcmludEluZm8gcHJpbnRJ
bmZvLCB1aW50MzJfdCBmaXJzdCwgdWludDMyX3QgY291bnQsIFdlYktpdDo6Q2FsbGJhY2tJRCBj
YWxsYmFja0lEKQogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgQ29tcHV0ZVBhZ2VzRm9y
UHJpbnRpbmdpT1MoV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyIGZyYW1lSUQsIHN0cnVjdCBXZWJL
aXQ6OlByaW50SW5mbyBwcmludEluZm8pIC0+IChzaXplX3QgcGFnZUNvdW50KSBTeW5jaHJvbm91
cwpAQCAtNDkxLDcgKzQ5MSw3IEBAIEdlbmVyYXRlU3ludGhldGljRWRpdGluZ0NvbW1hbmQoZW51
bTp1aW50OF90IFdlYktpdDo6U3ludGhldGljRWRpdGluZ0NvbW1hbmRUeXBlCiAKICAgICBHZXRT
YW1wbGluZ1Byb2ZpbGVyT3V0cHV0KFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQogICAg
IAotICAgIFRha2VTbmFwc2hvdChXZWJDb3JlOjpJbnRSZWN0IHNuYXBzaG90UmVjdCwgV2ViQ29y
ZTo6SW50U2l6ZSBiaXRtYXBTaXplLCB1aW50MzJfdCBvcHRpb25zLCBXZWJLaXQ6OkNhbGxiYWNr
SUQgY2FsbGJhY2tJRCkKKyAgICBUYWtlU25hcHNob3QoV2ViQ29yZTo6SW50UmVjdCBzbmFwc2hv
dFJlY3QsIFdlYkNvcmU6OkludFNpemUgYml0bWFwU2l6ZSwgdWludDMyX3Qgb3B0aW9ucykgLT4g
KFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpIYW5kbGUgaW1hZ2UpIEFzeW5jCiAjaWYgUExBVEZP
Uk0oTUFDKQogICAgIFBlcmZvcm1JbW1lZGlhdGVBY3Rpb25IaXRUZXN0QXRMb2NhdGlvbihXZWJD
b3JlOjpGbG9hdFBvaW50IGxvY2F0aW9uKQogICAgIEltbWVkaWF0ZUFjdGlvbkRpZFVwZGF0ZSgp
Cg==
</data>
<flag name="commit-queue"
          id="438097"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419767</attachid>
            <date>2021-02-09 14:30:12 -0800</date>
            <delta_ts>2021-02-09 17:29:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221626-20210209143011.patch</filename>
            <type>text/plain</type>
            <size>22715</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNjA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDcyYmIxZTE1ZmZlMzkzNmMw
MjAxNTJmMjIyZDAxMDQzYzVlYzNiMWUuLjU2MDg0ODcxZDM5YTczZDM0ODQ1ODlmNmRiNzE5MTkz
YTI1OWFkNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAKKzIwMjEtMDItMDkgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBVc2UgQ29tcGxl
dGlvbkhhbmRsZXIgaW5zdGVhZCBvZiBJbWFnZUNhbGxiYWNrCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjE2MjYKKworICAgICAgICBSZXZpZXdlZCBi
eSBDaHJpcyBEdW1lei4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgdGFrZVNuYXBzaG90V2l0aENvbmZpZ3VyYXRpb246
Y29tcGxldGlvbkhhbmRsZXI6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tU
aHVtYm5haWxWaWV3Lm1tOgorICAgICAgICAoLVtfV0tUaHVtYm5haWxWaWV3IHJlcXVlc3RTbmFw
c2hvdF0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvaW9zL1dLV2ViVmlld0lPUy5tbToKKyAg
ICAgICAgKC1bV0tXZWJWaWV3IF9zbmFwc2hvdFJlY3Q6aW50b0ltYWdlT2ZXaWR0aDpjb21wbGV0
aW9uSGFuZGxlcjpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvR2VuZXJpY0NhbGxiYWNrLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2VQcm94eTo6ZHJhd1JlY3RUb0ltYWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVBy
b3h5Ojp0YWtlU25hcHNob3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmltYWdl
Q2FsbGJhY2spOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAq
IFVJUHJvY2Vzcy9tYWMvV0tQcmludGluZ1ZpZXcubW06CisgICAgICAgICgtW1dLUHJpbnRpbmdW
aWV3IF9kcmF3UHJldmlldzpdKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnRha2VTbmFwc2hvdCk6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2U6OmRyYXdSZWN0VG9JbWFnZSk6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5tZXNzYWdlcy5pbjoKKwogMjAyMS0wMi0wOSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3Rl
bnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFVzZSBDb21wbGV0aW9uSGFuZGxlciBpbnN0ZWFk
IG9mIENvbXB1dGVkUGFnZXNDYWxsYmFjawpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggZDk1MzM1OGU3YzE4NzMwNzNjZDJiZGUwMGUwMjVh
ODJkNGY4MGNkYS4uYjE4ZjMxY2RjZDFkODJiMWViNzZiOTBkM2ZiYTBjMTg5NmUyOWU2MSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC04
NDAsMjYgKzg0MCw2IEBAIHN0YXRpYyB2b2lkIGhhcmR3YXJlS2V5Ym9hcmRBdmFpbGFiaWxpdHlD
aGFuZ2VkQ2FsbGJhY2soQ0ZOb3RpZmljYXRpb25DZW50ZXJSZWYsCiAgICAgX3BhZ2UtPnN0b3BM
b2FkaW5nKCk7CiB9CiAKLSNpZiBVU0UoQVBQS0lUKQotc3RhdGljIFdLRXJyb3JDb2RlIGNhbGxi
YWNrRXJyb3JDb2RlKFdlYktpdDo6Q2FsbGJhY2tCYXNlOjpFcnJvciBlcnJvcikKLXsKLSAgICBz
d2l0Y2ggKGVycm9yKSB7Ci0gICAgY2FzZSBXZWJLaXQ6OkNhbGxiYWNrQmFzZTo6RXJyb3I6Ok5v
bmU6Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICByZXR1cm4gV0tFcnJv
clVua25vd247Ci0KLSAgICBjYXNlIFdlYktpdDo6Q2FsbGJhY2tCYXNlOjpFcnJvcjo6VW5rbm93
bjoKLSAgICAgICAgcmV0dXJuIFdLRXJyb3JVbmtub3duOwotCi0gICAgY2FzZSBXZWJLaXQ6OkNh
bGxiYWNrQmFzZTo6RXJyb3I6OlByb2Nlc3NFeGl0ZWQ6Ci0gICAgICAgIHJldHVybiBXS0Vycm9y
V2ViQ29udGVudFByb2Nlc3NUZXJtaW5hdGVkOwotCi0gICAgY2FzZSBXZWJLaXQ6OkNhbGxiYWNr
QmFzZTo6RXJyb3I6Ok93bmVyV2FzSW52YWxpZGF0ZWQ6Ci0gICAgICAgIHJldHVybiBXS0Vycm9y
V2ViVmlld0ludmFsaWRhdGVkOwotICAgIH0KLX0KLSNlbmRpZgotCiAtICh2b2lkKWV2YWx1YXRl
SmF2YVNjcmlwdDooTlNTdHJpbmcgKilqYXZhU2NyaXB0U3RyaW5nIGNvbXBsZXRpb25IYW5kbGVy
Oih2b2lkICheKShpZCwgTlNFcnJvciAqKSljb21wbGV0aW9uSGFuZGxlcgogewogICAgIFtzZWxm
IF9ldmFsdWF0ZUphdmFTY3JpcHQ6amF2YVNjcmlwdFN0cmluZyBhc0FzeW5jRnVuY3Rpb246Tk8g
d2l0aFNvdXJjZVVSTDpuaWwgd2l0aEFyZ3VtZW50czpuaWwgZm9yY2VVc2VyR2VzdHVyZTpZRVMg
aW5GcmFtZTpuaWwgaW5Xb3JsZDpXS0NvbnRlbnRXb3JsZC5wYWdlV29ybGQgY29tcGxldGlvbkhh
bmRsZXI6Y29tcGxldGlvbkhhbmRsZXJdOwpAQCAtMTA5NCwxMyArMTA3NCw3IEBAIHN0YXRpYyBS
ZXRhaW5QdHI8TlNFcnJvcj4gbnNFcnJvckZyb21FeGNlcHRpb25EZXRhaWxzKGNvbnN0IFdlYkNv
cmU6OkV4Y2VwdGlvbkRlCiAgICAgLy8gVGhpcyBjb2RlIGRvZXNuJ3QgY29uc2lkZXIgc25hcHNo
b3RDb25maWd1cmF0aW9uLmFmdGVyU2NyZWVuVXBkYXRlcyBzaW5jZSB0aGUgc29mdHdhcmUgc25h
cHNob3QgYWx3YXlzCiAgICAgLy8gY29udGFpbnMgcmVjZW50IHVwZGF0ZXMuIElmIHdlIGV2ZXIg
aGF2ZSBhIFVJLXNpZGUgc25hcHNob3QgbWVjaGFuaXNtIG9uIG1hY09TLCB3ZSB3aWxsIG5lZWQg
dG8gZmFjdG9yCiAgICAgLy8gaW4gc25hcHNob3RDb25maWd1cmF0aW9uLmFmdGVyU2NyZWVuVXBk
YXRlcyBhdCB0aGF0IHRpbWUuCi0gICAgX3BhZ2UtPnRha2VTbmFwc2hvdChXZWJDb3JlOjplbmNs
b3NpbmdJbnRSZWN0KHJlY3RJblZpZXdDb29yZGluYXRlcyksIGJpdG1hcFNpemUsIFdlYktpdDo6
U25hcHNob3RPcHRpb25zSW5WaWV3Q29vcmRpbmF0ZXMsIFtoYW5kbGVyLCBzbmFwc2hvdFdpZHRo
LCBpbWFnZUhlaWdodF0oY29uc3QgV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgaW1h
Z2VIYW5kbGUsIFdlYktpdDo6Q2FsbGJhY2tCYXNlOjpFcnJvciBlcnJvckNvZGUpIHsKLSAgICAg
ICAgaWYgKGVycm9yQ29kZSAhPSBXZWJLaXQ6OkNhbGxiYWNrQmFzZTo6RXJyb3I6Ok5vbmUpIHsK
LSAgICAgICAgICAgIGF1dG8gZXJyb3IgPSBjcmVhdGVOU0Vycm9yKGNhbGxiYWNrRXJyb3JDb2Rl
KGVycm9yQ29kZSkpOwotICAgICAgICAgICAgaGFuZGxlcihuaWwsIGVycm9yLmdldCgpKTsKLSAg
ICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotCisgICAgX3BhZ2UtPnRha2VTbmFwc2hvdChX
ZWJDb3JlOjplbmNsb3NpbmdJbnRSZWN0KHJlY3RJblZpZXdDb29yZGluYXRlcyksIGJpdG1hcFNp
emUsIFdlYktpdDo6U25hcHNob3RPcHRpb25zSW5WaWV3Q29vcmRpbmF0ZXMsIFtoYW5kbGVyLCBz
bmFwc2hvdFdpZHRoLCBpbWFnZUhlaWdodF0oY29uc3QgV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6
OkhhbmRsZSYgaW1hZ2VIYW5kbGUpIHsKICAgICAgICAgYXV0byBiaXRtYXAgPSBXZWJLaXQ6OlNo
YXJlYWJsZUJpdG1hcDo6Y3JlYXRlKGltYWdlSGFuZGxlLCBXZWJLaXQ6OlNoYXJlZE1lbW9yeTo6
UHJvdGVjdGlvbjo6UmVhZE9ubHkpOwogICAgICAgICBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gY2dJ
bWFnZSA9IGJpdG1hcCA/IGJpdG1hcC0+bWFrZUNHSW1hZ2UoKSA6IG51bGxwdHI7CiAgICAgICAg
IGF1dG8gaW1hZ2UgPSBhZG9wdE5TKFtbTlNJbWFnZSBhbGxvY10gaW5pdFdpdGhDR0ltYWdlOmNn
SW1hZ2UuZ2V0KCkgc2l6ZTpOU01ha2VTaXplKHNuYXBzaG90V2lkdGgsIGltYWdlSGVpZ2h0KV0p
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1RodW1i
bmFpbFZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVGh1bWJu
YWlsVmlldy5tbQppbmRleCAzODE4NTVjMjAzZTc4YTg5NzZmYjczZGJlMjM5OGQwODJjNmE2ODQ5
Li5iYThjYTc0MjZlMDIyNGU4MzNmODliMDQwOTIxZDUzNTY1MWM1ZjA4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVGh1bWJuYWlsVmlldy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVGh1bWJuYWlsVmlldy5tbQpA
QCAtMTQxLDcgKzE0MSw3IEBAIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORAogCiAg
ICAgX2xhc3RTbmFwc2hvdFNjYWxlID0gX3NjYWxlOwogICAgIF9sYXN0U25hcHNob3RNYXhpbXVt
U2l6ZSA9IF9tYXhpbXVtU25hcHNob3RTaXplOwotICAgIF93ZWJQYWdlUHJveHktPnRha2VTbmFw
c2hvdChzbmFwc2hvdFJlY3QsIGJpdG1hcFNpemUsIG9wdGlvbnMsIFt0aHVtYm5haWxWaWV3XShj
b25zdCBXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBpbWFnZUhhbmRsZSwgV2ViS2l0
OjpDYWxsYmFja0Jhc2U6OkVycm9yKSB7CisgICAgX3dlYlBhZ2VQcm94eS0+dGFrZVNuYXBzaG90
KHNuYXBzaG90UmVjdCwgYml0bWFwU2l6ZSwgb3B0aW9ucywgW3RodW1ibmFpbFZpZXddKGNvbnN0
IFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmIGltYWdlSGFuZGxlKSB7CiAgICAgICAg
IGF1dG8gYml0bWFwID0gV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OmNyZWF0ZShpbWFnZUhhbmRs
ZSwgV2ViS2l0OjpTaGFyZWRNZW1vcnk6OlByb3RlY3Rpb246OlJlYWRPbmx5KTsKICAgICAgICAg
UmV0YWluUHRyPENHSW1hZ2VSZWY+IGNnSW1hZ2UgPSBiaXRtYXAgPyBiaXRtYXAtPm1ha2VDR0lt
YWdlKCkgOiBudWxscHRyOwogICAgICAgICBbdGh1bWJuYWlsVmlldyBfZGlkVGFrZVNuYXBzaG90
OmNnSW1hZ2UuZ2V0KCldOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L2lvcy9XS1dlYlZpZXdJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvaW9zL1dL
V2ViVmlld0lPUy5tbQppbmRleCA2MzI3NzI0MzdhNGZiZDYwM2NjN2FhZTIwODQzZDQwNGRlZmNm
ZGMwLi44YzFmZTk2MGMxYTZmY2RiNDNhYTAwODA3Y2RkOTVlZWNlZTJlYWRhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvaW9zL1dLV2ViVmlld0lPUy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvaW9zL1dLV2ViVmlld0lPUy5tbQpAQCAtMzA4OCwy
NiArMzA4OCwxNiBAQCBzdGF0aWMgV2ViQ29yZTo6VXNlckludGVyZmFjZUxheW91dERpcmVjdGlv
biB0b1VzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24oVUlTZQogICAgICAgICByZXR1cm47CiAg
ICAgfQogCi0gICAgdm9pZCheY29waWVkQ29tcGxldGlvbkhhbmRsZXIpKENHSW1hZ2VSZWYpID0g
W2NvbXBsZXRpb25IYW5kbGVyIGNvcHldOwotICAgIF9wYWdlLT50YWtlU25hcHNob3QoV2ViQ29y
ZTo6ZW5jbG9zaW5nSW50UmVjdChzbmFwc2hvdFJlY3RJbkNvbnRlbnRDb29yZGluYXRlcyksIFdl
YkNvcmU6OmV4cGFuZGVkSW50U2l6ZShXZWJDb3JlOjpGbG9hdFNpemUoaW1hZ2VTaXplKSksIFdl
YktpdDo6U25hcHNob3RPcHRpb25zRXhjbHVkZURldmljZVNjYWxlRmFjdG9yLCBbPV0oY29uc3Qg
V2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgaW1hZ2VIYW5kbGUsIFdlYktpdDo6Q2Fs
bGJhY2tCYXNlOjpFcnJvcikgewotICAgICAgICBpZiAoaW1hZ2VIYW5kbGUuaXNOdWxsKCkpIHsK
LSAgICAgICAgICAgIGNvcGllZENvbXBsZXRpb25IYW5kbGVyKG51bGxwdHIpOwotICAgICAgICAg
ICAgW2NvcGllZENvbXBsZXRpb25IYW5kbGVyIHJlbGVhc2VdOwotICAgICAgICAgICAgcmV0dXJu
OwotICAgICAgICB9CisgICAgX3BhZ2UtPnRha2VTbmFwc2hvdChXZWJDb3JlOjplbmNsb3NpbmdJ
bnRSZWN0KHNuYXBzaG90UmVjdEluQ29udGVudENvb3JkaW5hdGVzKSwgV2ViQ29yZTo6ZXhwYW5k
ZWRJbnRTaXplKFdlYkNvcmU6OkZsb2F0U2l6ZShpbWFnZVNpemUpKSwgV2ViS2l0OjpTbmFwc2hv
dE9wdGlvbnNFeGNsdWRlRGV2aWNlU2NhbGVGYWN0b3IsIFtjb21wbGV0aW9uSGFuZGxlciA9IG1h
a2VCbG9ja1B0cihjb21wbGV0aW9uSGFuZGxlcildKGNvbnN0IFdlYktpdDo6U2hhcmVhYmxlQml0
bWFwOjpIYW5kbGUmIGltYWdlSGFuZGxlKSB7CisgICAgICAgIGlmIChpbWFnZUhhbmRsZS5pc051
bGwoKSkKKyAgICAgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcihuaWwpOwogCiAgICAg
ICAgIGF1dG8gYml0bWFwID0gV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OmNyZWF0ZShpbWFnZUhh
bmRsZSwgV2ViS2l0OjpTaGFyZWRNZW1vcnk6OlByb3RlY3Rpb246OlJlYWRPbmx5KTsKIAotICAg
ICAgICBpZiAoIWJpdG1hcCkgewotICAgICAgICAgICAgY29waWVkQ29tcGxldGlvbkhhbmRsZXIo
bnVsbHB0cik7Ci0gICAgICAgICAgICBbY29waWVkQ29tcGxldGlvbkhhbmRsZXIgcmVsZWFzZV07
Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KKyAgICAgICAgaWYgKCFiaXRtYXApCisg
ICAgICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIobmlsKTsKIAotICAgICAgICBSZXRh
aW5QdHI8Q0dJbWFnZVJlZj4gY2dJbWFnZTsKLSAgICAgICAgY2dJbWFnZSA9IGJpdG1hcC0+bWFr
ZUNHSW1hZ2UoKTsKLSAgICAgICAgY29waWVkQ29tcGxldGlvbkhhbmRsZXIoY2dJbWFnZS5nZXQo
KSk7Ci0gICAgICAgIFtjb3BpZWRDb21wbGV0aW9uSGFuZGxlciByZWxlYXNlXTsKKyAgICAgICAg
Y29tcGxldGlvbkhhbmRsZXIoYml0bWFwLT5tYWtlQ0dJbWFnZSgpLmdldCgpKTsKICAgICB9KTsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR2VuZXJpY0NhbGxiYWNr
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HZW5lcmljQ2FsbGJhY2suaAppbmRleCA0ZTY0
NTBiYmY2MDUxZjU2YjIxNmZkZWIzNDZjNThhNDBhMzJiN2ViLi5jMzY1ODExZDBhNjJmZDg0MmU5
NDQ4OTAwZWRiNmEyYjRmZTQ3ODE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9HZW5lcmljQ2FsbGJhY2suaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HZW5lcmlj
Q2FsbGJhY2suaApAQCAtMTU1LDcgKzE1NSw2IEBAIHN0YXRpYyB0eXBlbmFtZSBHZW5lcmljQ2Fs
bGJhY2s8SW50ZXJuYWxSZXR1cm5WYWx1ZVR5cGU+OjpDYWxsYmFja0Z1bmN0aW9uIHRvR2VuCiB9
CiAKIHR5cGVkZWYgR2VuZXJpY0NhbGxiYWNrPD4gVm9pZENhbGxiYWNrOwotdHlwZWRlZiBHZW5l
cmljQ2FsbGJhY2s8Y29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmPiBJbWFnZUNhbGxiYWNr
OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogdm9pZCBpbnZhbGlkYXRlQ2FsbGJhY2tNYXAoSGFz
aE1hcDx1aW50NjRfdCwgVD4mIGNhbGxiYWNrTWFwLCBDYWxsYmFja0Jhc2U6OkVycm9yIGVycm9y
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggOGNiNWQyM2Jl
OGNkNGUyMDU5ZGU0NWNlYjViYzQ4YmUwMTc4MDdmNS4uYmE1MTY4YWMxNTVkYzdiMzUxZjZmODhm
NGFlMjEyNWZiOWVlZGQxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwCkBAIC03MTIyLDE3ICs3MTIyLDYgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRhdGFDYWxsYmFj
ayhjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIGRhdGFSZWZlcmVuY2UsIENhbGxiYWMKICAgICBj
YWxsYmFjay0+cGVyZm9ybUNhbGxiYWNrV2l0aFJldHVyblZhbHVlKEFQSTo6RGF0YTo6Y3JlYXRl
KGRhdGFSZWZlcmVuY2UuZGF0YSgpLCBkYXRhUmVmZXJlbmNlLnNpemUoKSkucHRyKCkpOwogfQog
Ci12b2lkIFdlYlBhZ2VQcm94eTo6aW1hZ2VDYWxsYmFjayhjb25zdCBTaGFyZWFibGVCaXRtYXA6
OkhhbmRsZSYgYml0bWFwSGFuZGxlLCBDYWxsYmFja0lEIGNhbGxiYWNrSUQpCi17Ci0gICAgYXV0
byBjYWxsYmFjayA9IG1fY2FsbGJhY2tzLnRha2U8SW1hZ2VDYWxsYmFjaz4oY2FsbGJhY2tJRCk7
Ci0gICAgaWYgKCFjYWxsYmFjaykgewotICAgICAgICAvLyBGSVhNRTogTG9nIGVycm9yIG9yIGFz
c2VydC4KLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGNhbGxiYWNrLT5wZXJmb3JtQ2Fs
bGJhY2tXaXRoUmV0dXJuVmFsdWUoYml0bWFwSGFuZGxlKTsKLX0KLQogdm9pZCBXZWJQYWdlUHJv
eHk6OnN0cmluZ0NhbGxiYWNrKGNvbnN0IFN0cmluZyYgcmVzdWx0U3RyaW5nLCBDYWxsYmFja0lE
IGNhbGxiYWNrSUQpCiB7CiAgICAgYXV0byBjYWxsYmFjayA9IG1fY2FsbGJhY2tzLnRha2U8U3Ry
aW5nQ2FsbGJhY2s+KGNhbGxiYWNrSUQpOwpAQCAtODU0MSwxNiArODUzMCw5IEBAIHVpbnQ2NF90
IFdlYlBhZ2VQcm94eTo6Y29tcHV0ZVBhZ2VzRm9yUHJpbnRpbmcoV2ViRnJhbWVQcm94eSogZnJh
bWUsIGNvbnN0IFByaW50CiB9CiAKICNpZiBQTEFURk9STShDT0NPQSkKLXZvaWQgV2ViUGFnZVBy
b3h5OjpkcmF3UmVjdFRvSW1hZ2UoV2ViRnJhbWVQcm94eSogZnJhbWUsIGNvbnN0IFByaW50SW5m
byYgcHJpbnRJbmZvLCBjb25zdCBJbnRSZWN0JiByZWN0LCBjb25zdCBXZWJDb3JlOjpJbnRTaXpl
JiBpbWFnZVNpemUsIFJlZjxJbWFnZUNhbGxiYWNrPiYmIGNhbGxiYWNrKQordWludDY0X3QgV2Vi
UGFnZVByb3h5OjpkcmF3UmVjdFRvSW1hZ2UoV2ViRnJhbWVQcm94eSogZnJhbWUsIGNvbnN0IFBy
aW50SW5mbyYgcHJpbnRJbmZvLCBjb25zdCBJbnRSZWN0JiByZWN0LCBjb25zdCBXZWJDb3JlOjpJ
bnRTaXplJiBpbWFnZVNpemUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgV2ViS2l0OjpT
aGFyZWFibGVCaXRtYXA6OkhhbmRsZSYpPiYmIGNhbGxiYWNrKQogewotICAgIGlmICghaGFzUnVu
bmluZ1Byb2Nlc3MoKSkgewotICAgICAgICBjYWxsYmFjay0+aW52YWxpZGF0ZSgpOwotICAgICAg
ICByZXR1cm47Ci0gICAgfQotICAgIAotICAgIGF1dG8gY2FsbGJhY2tJRCA9IGNhbGxiYWNrLT5j
YWxsYmFja0lEKCk7Ci0gICAgbV9jYWxsYmFja3MucHV0KFdURk1vdmUoY2FsbGJhY2spKTsKLSAg
ICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEcmF3UmVjdFRvSW1hZ2UoZnJhbWUtPmZyYW1lSUQo
KSwgcHJpbnRJbmZvLCByZWN0LCBpbWFnZVNpemUsIGNhbGxiYWNrSUQpLCBwcmludGluZ1NlbmRP
cHRpb25zKG1faXNQZXJmb3JtaW5nRE9NUHJpbnRPcGVyYXRpb24pKTsKKyAgICByZXR1cm4gc2Vu
ZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJQYWdlOjpEcmF3UmVjdFRvSW1hZ2UoZnJhbWUt
PmZyYW1lSUQoKSwgcHJpbnRJbmZvLCByZWN0LCBpbWFnZVNpemUpLCBXVEZNb3ZlKGNhbGxiYWNr
KSwgcHJpbnRpbmdTZW5kT3B0aW9ucyhtX2lzUGVyZm9ybWluZ0RPTVByaW50T3BlcmF0aW9uKSk7
CiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5OjpkcmF3UGFnZXNUb1BERihXZWJGcmFtZVByb3h5KiBm
cmFtZSwgY29uc3QgUHJpbnRJbmZvJiBwcmludEluZm8sIHVpbnQzMl90IGZpcnN0LCB1aW50MzJf
dCBjb3VudCwgUmVmPERhdGFDYWxsYmFjaz4mJiBjYWxsYmFjaykKQEAgLTkwMDQsMTUgKzg5ODYs
OSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c2V0U2Nyb2xsUGVyZm9ybWFuY2VEYXRhQ29sbGVjdGlv
bkVuYWJsZWQoYm9vbCBlbmFibGVkKQogfQogI2VuZGlmCiAKLXZvaWQgV2ViUGFnZVByb3h5Ojp0
YWtlU25hcHNob3QoSW50UmVjdCByZWN0LCBJbnRTaXplIGJpdG1hcFNpemUsIFNuYXBzaG90T3B0
aW9ucyBvcHRpb25zLCBXVEY6OkZ1bmN0aW9uPHZvaWQgKGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6
SGFuZGxlJiwgQ2FsbGJhY2tCYXNlOjpFcnJvcik+JiYgY2FsbGJhY2tGdW5jdGlvbikKK3ZvaWQg
V2ViUGFnZVByb3h5Ojp0YWtlU25hcHNob3QoSW50UmVjdCByZWN0LCBJbnRTaXplIGJpdG1hcFNp
emUsIFNuYXBzaG90T3B0aW9ucyBvcHRpb25zLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0
IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJik+JiYgY2FsbGJhY2spCiB7Ci0gICAgaWYgKCFoYXNS
dW5uaW5nUHJvY2VzcygpKSB7Ci0gICAgICAgIGNhbGxiYWNrRnVuY3Rpb24oU2hhcmVhYmxlQml0
bWFwOjpIYW5kbGUoKSwgQ2FsbGJhY2tCYXNlOjpFcnJvcjo6VW5rbm93bik7Ci0gICAgICAgIHJl
dHVybjsKLSAgICB9Ci0KLSAgICBhdXRvIGNhbGxiYWNrSUQgPSBtX2NhbGxiYWNrcy5wdXQoV1RG
TW92ZShjYWxsYmFja0Z1bmN0aW9uKSwgbV9wcm9jZXNzLT50aHJvdHRsZXIoKS5iYWNrZ3JvdW5k
QWN0aXZpdHkoIldlYlBhZ2VQcm94eTo6dGFrZVNuYXBzaG90Il9zKSk7Ci0gICAgc2VuZChNZXNz
YWdlczo6V2ViUGFnZTo6VGFrZVNuYXBzaG90KHJlY3QsIGJpdG1hcFNpemUsIG9wdGlvbnMsIGNh
bGxiYWNrSUQpKTsKKyAgICBzZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlBhZ2U6OlRh
a2VTbmFwc2hvdChyZWN0LCBiaXRtYXBTaXplLCBvcHRpb25zKSwgV1RGTW92ZShjYWxsYmFjaykp
OwogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6bmF2aWdhdGlvbkdlc3R1cmVEaWRCZWdpbigpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDZjZTgzM2IxYjZmZmIzZDdh
MjAxZTM5YzUyZDdhYWQ5NjBiZTUzZTcuLjlhN2RmZTk3OWQyYTlkYTY5ZGE0NDJhZmE5NWI1OTE4
NzdjYWQ3ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0xMjk0
LDcgKzEyOTQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBlbmRQcmludGluZygpOwogICAgIHVpbnQ2
NF90IGNvbXB1dGVQYWdlc0ZvclByaW50aW5nKFdlYkZyYW1lUHJveHkqLCBjb25zdCBQcmludElu
Zm8mLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpJbnRSZWN0
PiYsIGRvdWJsZSwgY29uc3QgV2ViQ29yZTo6RmxvYXRCb3hFeHRlbnQmKT4mJik7CiAjaWYgUExB
VEZPUk0oQ09DT0EpCi0gICAgdm9pZCBkcmF3UmVjdFRvSW1hZ2UoV2ViRnJhbWVQcm94eSosIGNv
bnN0IFByaW50SW5mbyYsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBjb25zdCBXZWJDb3JlOjpJ
bnRTaXplJiwgUmVmPEltYWdlQ2FsbGJhY2s+JiYpOworICAgIHVpbnQ2NF90IGRyYXdSZWN0VG9J
bWFnZShXZWJGcmFtZVByb3h5KiwgY29uc3QgUHJpbnRJbmZvJiwgY29uc3QgV2ViQ29yZTo6SW50
UmVjdCYsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNv
bnN0IFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmKT4mJik7CiAgICAgdm9pZCBkcmF3
UGFnZXNUb1BERihXZWJGcmFtZVByb3h5KiwgY29uc3QgUHJpbnRJbmZvJiwgdWludDMyX3QgZmly
c3QsIHVpbnQzMl90IGNvdW50LCBSZWY8RGF0YUNhbGxiYWNrPiYmKTsKICAgICB2b2lkIGRyYXdU
b1BERihXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIsIGNvbnN0IE9wdGlvbmFsPFdlYkNvcmU6OkZs
b2F0UmVjdD4mLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5j
ZSYpPiYmKTsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpAQCAtMTQyOCw3ICsxNDI4LDcgQEAg
cHVibGljOgogCiAgICAgdm9pZCBzaWduZWRQdWJsaWNLZXlBbmRDaGFsbGVuZ2VTdHJpbmcodW5z
aWduZWQga2V5U2l6ZUluZGV4LCBjb25zdCBTdHJpbmcmIGNoYWxsZW5nZVN0cmluZywgY29uc3Qg
VVJMJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChTdHJpbmcpPiYmKTsKIAotICAgIHZvaWQgdGFr
ZVNuYXBzaG90KFdlYkNvcmU6OkludFJlY3QsIFdlYkNvcmU6OkludFNpemUgYml0bWFwU2l6ZSwg
U25hcHNob3RPcHRpb25zLCBXVEY6OkZ1bmN0aW9uPHZvaWQgKGNvbnN0IFNoYXJlYWJsZUJpdG1h
cDo6SGFuZGxlJiwgQ2FsbGJhY2tCYXNlOjpFcnJvcik+JiYpOworICAgIHZvaWQgdGFrZVNuYXBz
aG90KFdlYkNvcmU6OkludFJlY3QsIFdlYkNvcmU6OkludFNpemUgYml0bWFwU2l6ZSwgU25hcHNo
b3RPcHRpb25zLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6
SGFuZGxlJik+JiYpOwogCiAgICAgdm9pZCBuYXZpZ2F0aW9uR2VzdHVyZURpZEJlZ2luKCk7CiAg
ICAgdm9pZCBuYXZpZ2F0aW9uR2VzdHVyZVdpbGxFbmQoYm9vbCB3aWxsTmF2aWdhdGUsIFdlYkJh
Y2tGb3J3YXJkTGlzdEl0ZW0mKTsKQEAgLTIxNTUsNyArMjE1NSw2IEBAIHByaXZhdGU6CiAKICAg
ICB2b2lkIHZvaWRDYWxsYmFjayhDYWxsYmFja0lEKTsKICAgICB2b2lkIGRhdGFDYWxsYmFjayhj
b25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmLCBDYWxsYmFja0lEKTsKLSAgICB2b2lkIGltYWdlQ2Fs
bGJhY2soY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmLCBDYWxsYmFja0lEKTsKICAgICB2
b2lkIHN0cmluZ0NhbGxiYWNrKGNvbnN0IFN0cmluZyYsIENhbGxiYWNrSUQpOwogICAgIHZvaWQg
aW52YWxpZGF0ZVN0cmluZ0NhbGxiYWNrKENhbGxiYWNrSUQpOwogICAgIHZvaWQgdW5zaWduZWRD
YWxsYmFjayh1aW50NjRfdCwgQ2FsbGJhY2tJRCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggYjQ5Yzc5NWNmODQ4ZWM2M2JlM2Ri
YjhmNDRmNzVjOGFmM2JjZGZmYS4uNTFkMDcyMWY1YzA2MTllZTA1YjFmNjEwOGUwNjI0NDllNDVj
OTIxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1l
c3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNz
YWdlcy5pbgpAQCAtMTY1LDcgKzE2NSw2IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAg
ICAgIyBDYWxsYmFjayBtZXNzYWdlcwogICAgIFZvaWRDYWxsYmFjayhXZWJLaXQ6OkNhbGxiYWNr
SUQgY2FsbGJhY2tJRCkKICAgICBEYXRhQ2FsbGJhY2soSVBDOjpTaGFyZWRCdWZmZXJEYXRhUmVm
ZXJlbmNlIHJlc3VsdERhdGEsIFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQotICAgIElt
YWdlQ2FsbGJhY2soV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSBiaXRtYXBIYW5kbGUs
IFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQogICAgIFN0cmluZ0NhbGxiYWNrKFN0cmlu
ZyByZXN1bHRTdHJpbmcsIFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQogICAgIEludmFs
aWRhdGVTdHJpbmdDYWxsYmFjayhXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCkKICAgICBV
bnNpZ25lZENhbGxiYWNrKHVpbnQ2NF90IHJlc3VsdCwgV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxi
YWNrSUQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV0tQcmludGlu
Z1ZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV0tQcmludGluZ1ZpZXcubW0K
aW5kZXggMDVmY2ZhNGJlZmI5NTViNTg5YTM3NjgyY2VlMGQ0MDBkOWNkZGQzNy4uNTJjZTZlZTYx
ZmFkMDlkYTIzODk2MmE0YTc3OGM4ZjdhNWMzMmRjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvbWFjL1dLUHJpbnRpbmdWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL21hYy9XS1ByaW50aW5nVmlldy5tbQpAQCAtNTQwLDE3ICs1NDAsMTUgQEAgc3RhdGlj
IE5TU3RyaW5nICpsaW5rRGVzdGluYXRpb25OYW1lKFBERkRvY3VtZW50ICpkb2N1bWVudCwgUERG
RGVzdGluYXRpb24gKmRlc3QKICAgICAgICAgICAgICAgICBfd2ViRnJhbWUtPnBhZ2UoKS0+YmVn
aW5QcmludGluZyhfd2ViRnJhbWUuZ2V0KCksIFdlYktpdDo6UHJpbnRJbmZvKFtfcHJpbnRPcGVy
YXRpb24uZ2V0KCkgcHJpbnRJbmZvXSkpOwogCiAgICAgICAgICAgICAgICAgSVBDQ2FsbGJhY2tD
b250ZXh0KiBjb250ZXh0ID0gbmV3IElQQ0NhbGxiYWNrQ29udGV4dDsKLSAgICAgICAgICAgICAg
ICBhdXRvIGNhbGxiYWNrID0gV2ViS2l0OjpJbWFnZUNhbGxiYWNrOjpjcmVhdGUoW2NvbnRleHRd
KGNvbnN0IFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmIGltYWdlSGFuZGxlLCBXZWJL
aXQ6OkNhbGxiYWNrQmFzZTo6RXJyb3IpIHsKKyAgICAgICAgICAgICAgICBhdXRvIGNhbGxiYWNr
ID0gW2NvbnRleHRdKGNvbnN0IFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmIGltYWdl
SGFuZGxlKSB7CiAgICAgICAgICAgICAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxJUENDYWxsYmFj
a0NvbnRleHQ+IGNvbnRleHREZWxldGVyKGNvbnRleHQpOwogICAgICAgICAgICAgICAgICAgICBw
YWdlRGlkRHJhd1RvSW1hZ2UoaW1hZ2VIYW5kbGUsIGNvbnRleHQpOwotICAgICAgICAgICAgICAg
IH0pOwotICAgICAgICAgICAgICAgIF9sYXRlc3RFeHBlY3RlZFByZXZpZXdDYWxsYmFjayA9IGNh
bGxiYWNrLT5jYWxsYmFja0lEKCkudG9JbnRlZ2VyKCk7CisgICAgICAgICAgICAgICAgfTsKKyAg
ICAgICAgICAgICAgICBfbGF0ZXN0RXhwZWN0ZWRQcmV2aWV3Q2FsbGJhY2sgPSBfd2ViRnJhbWUt
PnBhZ2UoKS0+ZHJhd1JlY3RUb0ltYWdlKF93ZWJGcmFtZS5nZXQoKSwgV2ViS2l0OjpQcmludElu
Zm8oW19wcmludE9wZXJhdGlvbi5nZXQoKSBwcmludEluZm9dKSwgc2NhbGVkUHJpbnRpbmdSZWN0
LCBpbWFnZVNpemUsIFdURk1vdmUoY2FsbGJhY2spKTsKICAgICAgICAgICAgICAgICBfZXhwZWN0
ZWRQcmV2aWV3Q2FsbGJhY2tzLmFkZChfbGF0ZXN0RXhwZWN0ZWRQcmV2aWV3Q2FsbGJhY2ssIHNj
YWxlZFByaW50aW5nUmVjdCk7CiAKICAgICAgICAgICAgICAgICBjb250ZXh0LT52aWV3ID0gc2Vs
ZjsKLSAgICAgICAgICAgICAgICBjb250ZXh0LT5jYWxsYmFja0lEID0gY2FsbGJhY2stPmNhbGxi
YWNrSUQoKS50b0ludGVnZXIoKTsKLQotICAgICAgICAgICAgICAgIF93ZWJGcmFtZS0+cGFnZSgp
LT5kcmF3UmVjdFRvSW1hZ2UoX3dlYkZyYW1lLmdldCgpLCBXZWJLaXQ6OlByaW50SW5mbyhbX3By
aW50T3BlcmF0aW9uLmdldCgpIHByaW50SW5mb10pLCBzY2FsZWRQcmludGluZ1JlY3QsIGltYWdl
U2l6ZSwgV1RGTW92ZShjYWxsYmFjaykpOworICAgICAgICAgICAgICAgIGNvbnRleHQtPmNhbGxi
YWNrSUQgPSBfbGF0ZXN0RXhwZWN0ZWRQcmV2aWV3Q2FsbGJhY2s7CiAgICAgICAgICAgICAgICAg
cmV0dXJuOwogICAgICAgICAgICAgfQogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDI3MzUwYWFiYzk5ZjY3Y2JlMzg1MzQ4ODkx
N2U4Mjc2NGRlYmRmZTQuLmIwOGU2YjQxYWRkMjg2YzlhODgxMDNhODgxZTliMmZmZmU0NDljYzcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0y
NDIyLDcgKzI0MjIsNyBAQCB2b2lkIFdlYlBhZ2U6OnNldEZvb3RlckJhbm5lckhlaWdodEZvclRl
c3RpbmcoaW50IGhlaWdodCkKIAogI2VuZGlmIC8vICFQTEFURk9STShJT1NfRkFNSUxZKQogCi12
b2lkIFdlYlBhZ2U6OnRha2VTbmFwc2hvdChJbnRSZWN0IHNuYXBzaG90UmVjdCwgSW50U2l6ZSBi
aXRtYXBTaXplLCB1aW50MzJfdCBvcHRpb25zLCBDYWxsYmFja0lEIGNhbGxiYWNrSUQpCit2b2lk
IFdlYlBhZ2U6OnRha2VTbmFwc2hvdChJbnRSZWN0IHNuYXBzaG90UmVjdCwgSW50U2l6ZSBiaXRt
YXBTaXplLCB1aW50MzJfdCBvcHRpb25zLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IFdl
YktpdDo6U2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsK
ICAgICBTbmFwc2hvdE9wdGlvbnMgc25hcHNob3RPcHRpb25zID0gc3RhdGljX2Nhc3Q8U25hcHNo
b3RPcHRpb25zPihvcHRpb25zKTsKICAgICBzbmFwc2hvdE9wdGlvbnMgfD0gU25hcHNob3RPcHRp
b25zU2hhcmVhYmxlOwpAQCAtMjQzMyw3ICsyNDMzLDcgQEAgdm9pZCBXZWJQYWdlOjp0YWtlU25h
cHNob3QoSW50UmVjdCBzbmFwc2hvdFJlY3QsIEludFNpemUgYml0bWFwU2l6ZSwgdWludDMyX3Qg
b3AKICAgICBpZiAoaW1hZ2UpCiAgICAgICAgIGltYWdlLT5iaXRtYXAoKS5jcmVhdGVIYW5kbGUo
aGFuZGxlLCBTaGFyZWRNZW1vcnk6OlByb3RlY3Rpb246OlJlYWRPbmx5KTsKIAotICAgIHNlbmQo
TWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6SW1hZ2VDYWxsYmFjayhoYW5kbGUsIGNhbGxiYWNrSUQp
KTsKKyAgICBjb21wbGV0aW9uSGFuZGxlcihoYW5kbGUpOwogfQogCiBSZWZQdHI8V2ViSW1hZ2U+
IFdlYlBhZ2U6OnNjYWxlZFNuYXBzaG90V2l0aE9wdGlvbnMoY29uc3QgSW50UmVjdCYgcmVjdCwg
ZG91YmxlIGFkZGl0aW9uYWxTY2FsZUZhY3RvciwgU25hcHNob3RPcHRpb25zIG9wdGlvbnMpCkBA
IC01MTI4LDcgKzUxMjgsNyBAQCB2b2lkIFdlYlBhZ2U6OmRyYXdUb1BERihGcmFtZUlkZW50aWZp
ZXIgZnJhbWVJRCwgY29uc3QgT3B0aW9uYWw8RmxvYXRSZWN0PiYgcmVjdAogICAgIGNvbXBsZXRp
b25IYW5kbGVyKElQQzo6RGF0YVJlZmVyZW5jZShDRkRhdGFHZXRCeXRlUHRyKHBkZkRhdGEuZ2V0
KCkpLCBDRkRhdGFHZXRMZW5ndGgocGRmRGF0YS5nZXQoKSkpKTsKIH0KIAotdm9pZCBXZWJQYWdl
OjpkcmF3UmVjdFRvSW1hZ2UoRnJhbWVJZGVudGlmaWVyIGZyYW1lSUQsIGNvbnN0IFByaW50SW5m
byYgcHJpbnRJbmZvLCBjb25zdCBJbnRSZWN0JiByZWN0LCBjb25zdCBXZWJDb3JlOjpJbnRTaXpl
JiBpbWFnZVNpemUsIENhbGxiYWNrSUQgY2FsbGJhY2tJRCkKK3ZvaWQgV2ViUGFnZTo6ZHJhd1Jl
Y3RUb0ltYWdlKEZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBjb25zdCBQcmludEluZm8mIHByaW50
SW5mbywgY29uc3QgSW50UmVjdCYgcmVjdCwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgaW1hZ2VT
aXplLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IFdlYktpdDo6U2hhcmVhYmxlQml0bWFw
OjpIYW5kbGUmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBXZWJGcmFtZSogZnJhbWUg
PSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS53ZWJGcmFtZShmcmFtZUlEKTsKICAgICBGcmFtZSog
Y29yZUZyYW1lID0gZnJhbWUgPyBmcmFtZS0+Y29yZUZyYW1lKCkgOiAwOwpAQCAtNTE0Niw3ICs1
MTQ2LDcgQEAgdm9pZCBXZWJQYWdlOjpkcmF3UmVjdFRvSW1hZ2UoRnJhbWVJZGVudGlmaWVyIGZy
YW1lSUQsIGNvbnN0IFByaW50SW5mbyYgcHJpbnRJbmYKICAgICAgICAgYXV0byBiaXRtYXAgPSBT
aGFyZWFibGVCaXRtYXA6OmNyZWF0ZVNoYXJlYWJsZShpbWFnZVNpemUsIHsgfSk7CiAgICAgICAg
IGlmICghYml0bWFwKSB7CiAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcih7IH0p
OwogICAgICAgICB9CiAgICAgICAgIGF1dG8gZ3JhcGhpY3NDb250ZXh0ID0gYml0bWFwLT5jcmVh
dGVHcmFwaGljc0NvbnRleHQoKTsKICAgICAgICAgaWYgKGdyYXBoaWNzQ29udGV4dCkgewpAQCAt
NTE3NSw3ICs1MTc1LDcgQEAgdm9pZCBXZWJQYWdlOjpkcmF3UmVjdFRvSW1hZ2UoRnJhbWVJZGVu
dGlmaWVyIGZyYW1lSUQsIGNvbnN0IFByaW50SW5mbyYgcHJpbnRJbmYKICAgICBpZiAoaW1hZ2Up
CiAgICAgICAgIGltYWdlLT5iaXRtYXAoKS5jcmVhdGVIYW5kbGUoaGFuZGxlLCBTaGFyZWRNZW1v
cnk6OlByb3RlY3Rpb246OlJlYWRPbmx5KTsKIAotICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQ
cm94eTo6SW1hZ2VDYWxsYmFjayhoYW5kbGUsIGNhbGxiYWNrSUQpKTsKKyAgICBjb21wbGV0aW9u
SGFuZGxlcihoYW5kbGUpOwogfQogCiB2b2lkIFdlYlBhZ2U6OmRyYXdQYWdlc1RvUERGKEZyYW1l
SWRlbnRpZmllciBmcmFtZUlELCBjb25zdCBQcmludEluZm8mIHByaW50SW5mbywgdWludDMyX3Qg
Zmlyc3QsIHVpbnQzMl90IGNvdW50LCBDYWxsYmFja0lEIGNhbGxiYWNrSUQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggNmNhZjFkNTRlNzdhYzFmMjY3
M2ExYTljN2JiYzczNGRhZDRkY2MzMi4uOTg3OTlmYWI5MDEyNDU0ODUzM2JhMzU3NzEwMDU1NjAx
OTAxMmQ4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApA
QCAtOTY1LDcgKzk2NSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGNvbXB1dGVQYWdlc0ZvclByaW50
aW5nSW1wbChXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIsIGNvbnN0IFByaW50SW5mbyYsIFZlY3Rv
cjxXZWJDb3JlOjpJbnRSZWN0PiYgcGFnZVJlY3RzLCBkb3VibGUmIHRvdGFsU2NhbGVGYWN0b3Is
IFdlYkNvcmU6OkZsb2F0Qm94RXh0ZW50JiBjb21wdXRlZE1hcmdpbik7CiAKICNpZiBQTEFURk9S
TShDT0NPQSkKLSAgICB2b2lkIGRyYXdSZWN0VG9JbWFnZShXZWJDb3JlOjpGcmFtZUlkZW50aWZp
ZXIsIGNvbnN0IFByaW50SW5mbyYsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBjb25zdCBXZWJD
b3JlOjpJbnRTaXplJiwgQ2FsbGJhY2tJRCk7CisgICAgdm9pZCBkcmF3UmVjdFRvSW1hZ2UoV2Vi
Q29yZTo6RnJhbWVJZGVudGlmaWVyLCBjb25zdCBQcmludEluZm8mLCBjb25zdCBXZWJDb3JlOjpJ
bnRSZWN0JiwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
Y29uc3QgV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYpPiYmKTsKICAgICB2b2lkIGRy
YXdQYWdlc1RvUERGKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciwgY29uc3QgUHJpbnRJbmZvJiwg
dWludDMyX3QgZmlyc3QsIHVpbnQzMl90IGNvdW50LCBDYWxsYmFja0lEKTsKICAgICB2b2lkIGRy
YXdQYWdlc1RvUERGSW1wbChXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIsIGNvbnN0IFByaW50SW5m
byYsIHVpbnQzMl90IGZpcnN0LCB1aW50MzJfdCBjb3VudCwgUmV0YWluUHRyPENGTXV0YWJsZURh
dGFSZWY+JiBwZGZQYWdlRGF0YSk7CiAjZW5kaWYKQEAgLTE1OTEsNyArMTU5MSw3IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBydW5KYXZhU2NyaXB0KFdlYkZyYW1lKiwgV2ViQ29yZTo6UnVuSmF2YVNj
cmlwdFBhcmFtZXRlcnMmJiwgQ29udGVudFdvcmxkSWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmLCBjb25zdCBPcHRpb25hbDxXZWJDb3Jl
OjpFeGNlcHRpb25EZXRhaWxzPiYpPiYmKTsKICAgICB2b2lkIHJ1bkphdmFTY3JpcHRJbkZyYW1l
SW5TY3JpcHRXb3JsZChXZWJDb3JlOjpSdW5KYXZhU2NyaXB0UGFyYW1ldGVycyYmLCBPcHRpb25h
bDxXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXI+LCBjb25zdCBzdGQ6OnBhaXI8Q29udGVudFdvcmxk
SWRlbnRpZmllciwgU3RyaW5nPiYgd29ybGREYXRhLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNv
bnN0IElQQzo6RGF0YVJlZmVyZW5jZSYsIGNvbnN0IE9wdGlvbmFsPFdlYkNvcmU6OkV4Y2VwdGlv
bkRldGFpbHM+Jik+JiYpOwogICAgIHZvaWQgZm9yY2VSZXBhaW50KENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoKT4mJik7Ci0gICAgdm9pZCB0YWtlU25hcHNob3QoV2ViQ29yZTo6SW50UmVjdCBzbmFw
c2hvdFJlY3QsIFdlYkNvcmU6OkludFNpemUgYml0bWFwU2l6ZSwgdWludDMyX3Qgb3B0aW9ucywg
Q2FsbGJhY2tJRCk7CisgICAgdm9pZCB0YWtlU25hcHNob3QoV2ViQ29yZTo6SW50UmVjdCBzbmFw
c2hvdFJlY3QsIFdlYkNvcmU6OkludFNpemUgYml0bWFwU2l6ZSwgdWludDMyX3Qgb3B0aW9ucywg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6SGFu
ZGxlJik+JiYpOwogCiAgICAgdm9pZCBwcmVmZXJlbmNlc0RpZENoYW5nZShjb25zdCBXZWJQcmVm
ZXJlbmNlc1N0b3JlJik7CiAgICAgdm9pZCB1cGRhdGVQcmVmZXJlbmNlcyhjb25zdCBXZWJQcmVm
ZXJlbmNlc1N0b3JlJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5tZXNzYWdlcy5pbgppbmRleCA4NWEzZGFkOTc1ZTlhMGYyMzdjZjE4NzRhOWQ2
ZDFkODRlYWI5ZDRkLi4xM2U4ZDg0YTUxNjYzMjM0MzZjZTJhYWQ3MGJlMTNmNzU3NTY1ODIxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3Nh
Z2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVz
c2FnZXMuaW4KQEAgLTM5OSw3ICszOTksNyBAQCBHZW5lcmF0ZVN5bnRoZXRpY0VkaXRpbmdDb21t
YW5kKGVudW06dWludDhfdCBXZWJLaXQ6OlN5bnRoZXRpY0VkaXRpbmdDb21tYW5kVHlwZQogICAg
IEVuZFByaW50aW5nKCkKICAgICBDb21wdXRlUGFnZXNGb3JQcmludGluZyhXZWJDb3JlOjpGcmFt
ZUlkZW50aWZpZXIgZnJhbWVJRCwgc3RydWN0IFdlYktpdDo6UHJpbnRJbmZvIHByaW50SW5mbykg
LT4gKFZlY3RvcjxXZWJDb3JlOjpJbnRSZWN0PiBwYWdlUmVjdHMsIGRvdWJsZSB0b3RhbFNjYWxl
RmFjdG9yRm9yUHJpbnRpbmcsIFdlYkNvcmU6OlJlY3RFZGdlczxmbG9hdD4gY29tcHV0ZWRQYWdl
TWFyZ2luKSBBc3luYwogI2lmIFBMQVRGT1JNKENPQ09BKQotICAgIERyYXdSZWN0VG9JbWFnZShX
ZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgc3RydWN0IFdlYktpdDo6UHJpbnRJbmZv
IHByaW50SW5mbywgV2ViQ29yZTo6SW50UmVjdCByZWN0LCBXZWJDb3JlOjpJbnRTaXplIGltYWdl
U2l6ZSwgV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQpCisgICAgRHJhd1JlY3RUb0ltYWdl
KFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBzdHJ1Y3QgV2ViS2l0OjpQcmludElu
Zm8gcHJpbnRJbmZvLCBXZWJDb3JlOjpJbnRSZWN0IHJlY3QsIFdlYkNvcmU6OkludFNpemUgaW1h
Z2VTaXplKSAtPiAoV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSBpbWFnZSkgQXN5bmMK
ICAgICBEcmF3UGFnZXNUb1BERihXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgc3Ry
dWN0IFdlYktpdDo6UHJpbnRJbmZvIHByaW50SW5mbywgdWludDMyX3QgZmlyc3QsIHVpbnQzMl90
IGNvdW50LCBXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCkKICNpZiBQTEFURk9STShJT1Nf
RkFNSUxZKQogICAgIENvbXB1dGVQYWdlc0ZvclByaW50aW5naU9TKFdlYkNvcmU6OkZyYW1lSWRl
bnRpZmllciBmcmFtZUlELCBzdHJ1Y3QgV2ViS2l0OjpQcmludEluZm8gcHJpbnRJbmZvKSAtPiAo
c2l6ZV90IHBhZ2VDb3VudCkgU3luY2hyb25vdXMKQEAgLTQ5MSw3ICs0OTEsNyBAQCBHZW5lcmF0
ZVN5bnRoZXRpY0VkaXRpbmdDb21tYW5kKGVudW06dWludDhfdCBXZWJLaXQ6OlN5bnRoZXRpY0Vk
aXRpbmdDb21tYW5kVHlwZQogCiAgICAgR2V0U2FtcGxpbmdQcm9maWxlck91dHB1dChXZWJLaXQ6
OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCkKICAgICAKLSAgICBUYWtlU25hcHNob3QoV2ViQ29yZTo6
SW50UmVjdCBzbmFwc2hvdFJlY3QsIFdlYkNvcmU6OkludFNpemUgYml0bWFwU2l6ZSwgdWludDMy
X3Qgb3B0aW9ucywgV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQpCisgICAgVGFrZVNuYXBz
aG90KFdlYkNvcmU6OkludFJlY3Qgc25hcHNob3RSZWN0LCBXZWJDb3JlOjpJbnRTaXplIGJpdG1h
cFNpemUsIHVpbnQzMl90IG9wdGlvbnMpIC0+IChXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6SGFu
ZGxlIGltYWdlKSBBc3luYwogI2lmIFBMQVRGT1JNKE1BQykKICAgICBQZXJmb3JtSW1tZWRpYXRl
QWN0aW9uSGl0VGVzdEF0TG9jYXRpb24oV2ViQ29yZTo6RmxvYXRQb2ludCBsb2NhdGlvbikKICAg
ICBJbW1lZGlhdGVBY3Rpb25EaWRVcGRhdGUoKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>