<?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>111791</bug_id>
          
          <creation_ts>2013-03-07 16:25:15 -0800</creation_ts>
          <short_desc>[chromium] Use SkMatrix44 instead of WebTransformationMatrix in animation APIs</short_desc>
          <delta_ts>2013-03-11 17:47:49 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="James Robinson">jamesr</reporter>
          <assigned_to name="James Robinson">jamesr</assigned_to>
          <cc>abarth</cc>
    
    <cc>cc-bugs</cc>
    
    <cc>dglazkov</cc>
    
    <cc>enne</cc>
    
    <cc>fishd</cc>
    
    <cc>peter+ews</cc>
    
    <cc>shawnsingh</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>vollick</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>850598</commentid>
    <comment_count>0</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-03-07 16:25:15 -0800</bug_when>
    <thetext>[chromium] Use SkMatrix44 instead of WebTransformationMatrix in animation APIs</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850609</commentid>
    <comment_count>1</comment_count>
      <attachid>192103</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-03-07 16:30:32 -0800</bug_when>
    <thetext>Created attachment 192103
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850610</commentid>
    <comment_count>2</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-03-07 16:31:49 -0800</bug_when>
    <thetext>This depends on https://codereview.chromium.org/12629006/.

Ian/Shawn - if you want to optimize the TransformationMatrix -&gt; SkMatrix44 conversion it&apos;s now in its own file that can be easily hit in unit tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850617</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-07 16:38:08 -0800</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850628</commentid>
    <comment_count>4</comment_count>
      <attachid>192103</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-07 16:46:12 -0800</bug_when>
    <thetext>Comment on attachment 192103
Patch

Attachment 192103 did not pass cr-linux-debug-ews (chromium-xvfb):
Output: http://webkit-commit-queue.appspot.com/results/17081209</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850667</commentid>
    <comment_count>5</comment_count>
      <attachid>192103</attachid>
    <who name="Peter Beverloo (cr-android ews)">peter+ews</who>
    <bug_when>2013-03-07 17:04:56 -0800</bug_when>
    <thetext>Comment on attachment 192103
Patch

Attachment 192103 did not pass cr-android-ews (chromium-android):
Output: http://webkit-commit-queue.appspot.com/results/17087072</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850725</commentid>
    <comment_count>6</comment_count>
      <attachid>192103</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-07 18:12:55 -0800</bug_when>
    <thetext>Comment on attachment 192103
Patch

Attachment 192103 did not pass chromium-ews (chromium-xvfb):
Output: http://webkit-commit-queue.appspot.com/results/17066222</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852750</commentid>
    <comment_count>7</comment_count>
      <attachid>192103</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2013-03-11 14:45:01 -0700</bug_when>
    <thetext>Comment on attachment 192103
Patch

R=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852773</commentid>
    <comment_count>8</comment_count>
      <attachid>192103</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-03-11 15:11:45 -0700</bug_when>
    <thetext>Comment on attachment 192103
Patch

DEPS is &gt;= 186902</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852921</commentid>
    <comment_count>9</comment_count>
      <attachid>192103</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-11 17:47:45 -0700</bug_when>
    <thetext>Comment on attachment 192103
Patch

Clearing flags on attachment: 192103

Committed r145442: &lt;http://trac.webkit.org/changeset/145442&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852922</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-11 17:47:49 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192103</attachid>
            <date>2013-03-07 16:30:32 -0800</date>
            <delta_ts>2013-03-11 17:47:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-111791-20130307162636.patch</filename>
            <type>text/plain</type>
            <size>27064</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1MTMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCBhNTQxYTNhNGRkNWU5
ZGM5NzZkNDljYTE4NzM3YThmNTI2Mzg4NjQzLi5mMTA2OWYxNTRlZWE1YjM3YWVkYjAwNjU5ZGFk
Zjk3MzkzZDA5NmMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxMy0wMy0wNyAg
SmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1
bV0gVXNlIFNrTWF0cml4NDQgaW5zdGVhZCBvZiBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCBpbiBh
bmltYXRpb24gQVBJcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTExNzkxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGhpcyBhZGRzIFNrTWF0cml4NDQgb3ZlcnJpZGVzIGZvciBhbmltYXRpb24gQVBJcyB0
aGF0IGRlYWwgd2l0aCBtYXRyaWNlcyBhbmQgc2xpbXMgdGhlIGludGVyZmFjZQorICAgICAgICBk
b3duIGZvciBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCB0byB0aGUgbWluaW11bSBuZWVkZWQgdG8g
Y29tcGlsZS4gV2l0aCB0aGlzIHBhdGNoLCB0aGVyZSBhcmUgbm8KKyAgICAgICAgbGl2ZSBjb2Rl
cGF0aHMgdGhhdCB1c2UgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXggYnV0IHNvbWUgZG93bnN0cmVh
bSBjb2RlIHN0aWxsIG5lZWRzIGEgdHlwZSBhbmQgYQorICAgICAgICBmZXcgZnVuY3Rpb25zIHRv
IGNvbXBpbGUuIEFmdGVyIHRoZSBkb3duc3RyZWFtIGNvZGUgaXMgcGF0Y2hlZCB0aGlzIHR5cGUg
Y2FuIGdvIGF3YXkgY29tcGxldGVseS4KKworICAgICAgICAqIGNocm9taXVtL3B1YmxpYy9XZWJM
YXllci5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYkxheWVyKToKKyAgICAgICAg
KiBjaHJvbWl1bS9wdWJsaWMvV2ViVHJhbnNmb3JtQW5pbWF0aW9uQ3VydmUuaDoKKyAgICAgICAg
KFdlYlRyYW5zZm9ybUFuaW1hdGlvbkN1cnZlKToKKyAgICAgICAgKiBjaHJvbWl1bS9wdWJsaWMv
V2ViVHJhbnNmb3JtT3BlcmF0aW9ucy5oOgorICAgICAgICAoV2ViVHJhbnNmb3JtT3BlcmF0aW9u
cyk6CisgICAgICAgICogY2hyb21pdW0vcHVibGljL1dlYlRyYW5zZm9ybWF0aW9uTWF0cml4Lmg6
CisgICAgICAgIChXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCk6CisKIDIwMTMtMDMtMDYgIEphbWVz
IFJvYmluc29uICA8amFtZXNyQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIFN0
b3AgdXNpbmcgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXggb24gV2ViTGF5ZXIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCBlNzMxOGFmMWJlYTk2M2M1NTFlMmQ5ZmVjNDFlYjg3MjlmMGVmNGRiLi4wY2RhMzVmNTNmNzJk
MmQ5NTFlMzMzZWExNDEzNjEzMGZhOWIzOTNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAK
KzIwMTMtMDMtMDcgIEphbWVzIFJvYmluc29uICA8amFtZXNyQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBbY2hyb21pdW1dIFVzZSBTa01hdHJpeDQ0IGluc3RlYWQgb2YgV2ViVHJhbnNmb3JtYXRp
b25NYXRyaXggaW4gYW5pbWF0aW9uIEFQSXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTExMTc5MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZHMgYSBuZXcgdXRpbGl0eSBmdW5jdGlvbiB0byBjb252ZXJ0
IGEgVHJhbnNmb3JtYXRpb25NYXRyaXggdG8gYW4gU2tNYXRyaXg0NCBhbmQKKyAgICAgICAgdXNl
cyBpdCBpbiBBbmltYXRpb25UcmFuc2xhdGlvblV0aWwgYW5kIEdyYXBoaWNzTGF5ZXJDaHJvbWl1
bS4KKworICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1
bS9zdXBwb3J0L1dlYlRyYW5zZm9ybWF0aW9uTWF0cml4LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViVHJhbnNmb3JtYXRpb25NYXRyaXg6OldlYlRyYW5zZm9ybWF0aW9uTWF0cml4KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9BbmltYXRpb25UcmFuc2xhdGlvblV0aWwu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9XZWJUcmFuc2Zvcm1PcGVyYXRpb25zKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVyQ2hyb21pdW0uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNocm9taXVtOjp1cGRhdGVUcmFuc2Zv
cm0pOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNocm9taXVtOjp1cGRhdGVDaGls
ZHJlblRyYW5zZm9ybSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJh
bnNmb3JtU2tNYXRyaXg0NENvbnZlcnNpb25zLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRyYW5z
Zm9ybVNrTWF0cml4NDRDb252ZXJzaW9uczo6Y29udmVydCk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vVHJhbnNmb3JtU2tNYXRyaXg0NENvbnZlcnNpb25zLmg6CisgICAg
ICAgIChUcmFuc2Zvcm1Ta01hdHJpeDQ0Q29udmVyc2lvbnMpOgorCiAyMDEzLTAzLTA2ICBKYW1l
cyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBT
dG9wIHVzaW5nIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4IG9uIFdlYkxheWVyCmRpZmYgLS1naXQg
YS9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYkxheWVyLmggYi9Tb3VyY2UvUGxh
dGZvcm0vY2hyb21pdW0vcHVibGljL1dlYkxheWVyLmgKaW5kZXggOWJlNzI4NGEzMDE1MDZkOTJh
MjlhYjE1NzMzZTYyNDFiMzc4NjY4Mi4uMDEzNGMzMGM2ZGI3NjkyODVmOTZmNjgyNmE2ZDFhMjgw
OTRjNTFhMiAxMDA2NDQKLS0tIGEvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJM
YXllci5oCisrKyBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViTGF5ZXIuaApA
QCAtNDIsNyArNDIsNiBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIFdlYkFuaW1hdGlvbkRl
bGVnYXRlOwogY2xhc3MgV2ViRmlsdGVyT3BlcmF0aW9uczsKIGNsYXNzIFdlYkxheWVyU2Nyb2xs
Q2xpZW50OwotY2xhc3MgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXg7CiBzdHJ1Y3QgV2ViRmxvYXRQ
b2ludDsKIHN0cnVjdCBXZWJGbG9hdFJlY3Q7CiBzdHJ1Y3QgV2ViU2l6ZTsKQEAgLTk0LDExICs5
Myw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFdlYkZsb2F0UG9pbnQgcG9zaXRpb24oKSBjb25z
dCA9IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0U3VibGF5ZXJUcmFuc2Zvcm0oY29uc3QgU2tN
YXRyaXg0NCYpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0U3VibGF5ZXJUcmFuc2Zvcm0oY29u
c3QgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXgmKSA9IDA7CiAgICAgdmlydHVhbCBTa01hdHJpeDQ0
IHN1YmxheWVyVHJhbnNmb3JtKCkgY29uc3QgPSAwOwogCiAgICAgdmlydHVhbCB2b2lkIHNldFRy
YW5zZm9ybShjb25zdCBTa01hdHJpeDQ0JikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBzZXRUcmFu
c2Zvcm0oY29uc3QgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXgmKSA9IDA7CiAgICAgdmlydHVhbCBT
a01hdHJpeDQ0IHRyYW5zZm9ybSgpIGNvbnN0ID0gMDsKIAogICAgIC8vIFNldHMgd2hldGhlciB0
aGUgbGF5ZXIgZHJhd3MgaXRzIGNvbnRlbnQgd2hlbiBjb21wb3NpdGluZy4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViVHJhbnNmb3JtQW5pbWF0aW9uQ3Vy
dmUuaCBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViVHJhbnNmb3JtQW5pbWF0
aW9uQ3VydmUuaAppbmRleCA5NjBjNmI1ZmM5MTljMTMzZTcwNGRkYzA2ZjhhMTdmZjg0OTkzNWMy
Li4yOWZiMjdhNmQ3YjQ2NzE0YmIyY2E2MmFlNDIxYjA1YTZiNWM0NjAzIDEwMDY0NAotLS0gYS9T
b3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYlRyYW5zZm9ybUFuaW1hdGlvbkN1cnZl
LmgKKysrIGIvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJUcmFuc2Zvcm1Bbmlt
YXRpb25DdXJ2ZS5oCkBAIC0yOSw3ICsyOSw2IEBACiAKICNpbmNsdWRlICJXZWJDb21tb24uaCIK
ICNpbmNsdWRlICJXZWJUcmFuc2Zvcm1LZXlmcmFtZS5oIgotI2luY2x1ZGUgIldlYlRyYW5zZm9y
bWF0aW9uTWF0cml4LmgiCiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCkBAIC00NCw5ICs0Myw2IEBA
IHB1YmxpYzoKICAgICAvLyBBZGRzIHRoZSBrZXlmcmFtZSB3aXRoIGEgY3VzdG9tLCBiZXppZXIg
dGltaW5nIGZ1bmN0aW9uLiBOb3RlLCBpdCBpcwogICAgIC8vIGFzc3VtZWQgdGhhdCB4MCA9IHkw
ID0gMCwgYW5kIHgzID0geTMgPSAxLgogICAgIHZpcnR1YWwgdm9pZCBhZGQoY29uc3QgV2ViVHJh
bnNmb3JtS2V5ZnJhbWUmLCBkb3VibGUgeDEsIGRvdWJsZSB5MSwgZG91YmxlIHgyLCBkb3VibGUg
eTIpID0gMDsKLQotICAgIHZpcnR1YWwgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXggZ2V0VmFsdWUo
ZG91YmxlIHRpbWUpIGNvbnN0ID0gMDsKLQogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYlRyYW5zZm9ybU9w
ZXJhdGlvbnMuaCBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViVHJhbnNmb3Jt
T3BlcmF0aW9ucy5oCmluZGV4IGIxZWNjNGZhMjMxYzlkMmJhOThkZGQ1NDZiMjVlZTkzYmZlNjFj
NmEuLmQ5YTVlYmIwMzI2MDI5ODk4OGQ0MTU2MThiMDRiODkwMzRiY2U0MjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViVHJhbnNmb3JtT3BlcmF0aW9ucy5o
CisrKyBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViVHJhbnNmb3JtT3BlcmF0
aW9ucy5oCkBAIC0yNSw3ICsyNSw3IEBACiAjaWZuZGVmIFdlYlRyYW5zZm9ybU9wZXJhdGlvbnNf
aAogI2RlZmluZSBXZWJUcmFuc2Zvcm1PcGVyYXRpb25zX2gKIAotI2luY2x1ZGUgIldlYlRyYW5z
Zm9ybWF0aW9uTWF0cml4LmgiCitjbGFzcyBTa01hdHJpeDQ0OwogCiAjZGVmaW5lIFdFQl9UUkFO
U0ZPUk1fT1BFUkFUSU9OU19JU19WSVJUVUFMIDEKIApAQCAtNDUsNyArNDUsNyBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIGFwcGVuZFNjYWxlKGRvdWJsZSB4LCBkb3VibGUgeSwgZG91Ymxl
IHopID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgYXBwZW5kU2tldyhkb3VibGUgeCwgZG91YmxlIHkp
ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgYXBwZW5kUGVyc3BlY3RpdmUoZG91YmxlIGRlcHRoKSA9
IDA7Ci0gICAgdmlydHVhbCB2b2lkIGFwcGVuZE1hdHJpeChjb25zdCBXZWJUcmFuc2Zvcm1hdGlv
bk1hdHJpeCYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgYXBwZW5kTWF0cml4KGNvbnN0IFNrTWF0
cml4NDQmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGFwcGVuZElkZW50aXR5KCkgPSAwOwogCiAg
ICAgdmlydHVhbCBib29sIGlzSWRlbnRpdHkoKSBjb25zdCA9IDA7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYlRyYW5zZm9ybWF0aW9uTWF0cml4LmggYi9T
b3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYlRyYW5zZm9ybWF0aW9uTWF0cml4LmgK
aW5kZXggZGU4OGRlMDE3ODJkYTU3MTc3MDk5ZTA2OGNhYjZkNmUyZTY4YTI1My4uYWI2ZmFhNGFh
NDc3Y2RjNzVjYmUyZDlkMDcxMWI5OTYxNTMyN2E4MCAxMDA2NDQKLS0tIGEvU291cmNlL1BsYXRm
b3JtL2Nocm9taXVtL3B1YmxpYy9XZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCisrKyBiL1NvdXJj
ZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViVHJhbnNmb3JtYXRpb25NYXRyaXguaApAQCAt
NDcsNDggKzQ3LDExIEBAIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgV2ViVHJhbnNmb3JtYXRp
b25NYXRyaXggewogcHVibGljOgogICAgIFdFQktJVF9FWFBPUlQgV2ViVHJhbnNmb3JtYXRpb25N
YXRyaXgoKTsKLSAgICBXRUJLSVRfRVhQT1JUIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4KGRvdWJs
ZSBhLCBkb3VibGUgYiwgZG91YmxlIGMsIGRvdWJsZSBkLCBkb3VibGUgZSwgZG91YmxlIGYpOwot
ICAgIFdFQktJVF9FWFBPUlQgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXgoZG91YmxlIG0xMSwgZG91
YmxlIG0xMiwgZG91YmxlIG0xMywgZG91YmxlIG0xNCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGRvdWJsZSBtMjEsIGRvdWJsZSBtMjIsIGRvdWJsZSBtMjMsIGRv
dWJsZSBtMjQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb3Vi
bGUgbTMxLCBkb3VibGUgbTMyLCBkb3VibGUgbTMzLCBkb3VibGUgbTM0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG91YmxlIG00MSwgZG91YmxlIG00MiwgZG91
YmxlIG00MywgZG91YmxlIG00NCk7CiAgICAgV0VCS0lUX0VYUE9SVCBXZWJUcmFuc2Zvcm1hdGlv
bk1hdHJpeChjb25zdCBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCYpOwogICAgIH5XZWJUcmFuc2Zv
cm1hdGlvbk1hdHJpeCgpIHsgcmVzZXQoKTsgfQogCiAgICAgV0VCS0lUX0VYUE9SVCB2b2lkIHJl
c2V0KCk7CiAKLSAgICAvLyBPcGVyYXRpb25zIHRoYXQgcmV0dXJuIGEgc2VwYXJhdGUgbWF0cml4
IGFuZCBkbyBub3QgbW9kaWZ5IHRoaXMgb25lLgotICAgIFdFQktJVF9FWFBPUlQgV2ViVHJhbnNm
b3JtYXRpb25NYXRyaXggaW52ZXJzZSgpIGNvbnN0OwotICAgIFdFQktJVF9FWFBPUlQgV2ViVHJh
bnNmb3JtYXRpb25NYXRyaXggdG8yZFRyYW5zZm9ybSgpIGNvbnN0OwotCi0gICAgV0VCS0lUX0VY
UE9SVCBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgb3BlcmF0b3I9KGNvbnN0IFdlYlRyYW5zZm9y
bWF0aW9uTWF0cml4Jik7Ci0gICAgV0VCS0lUX0VYUE9SVCBib29sIG9wZXJhdG9yPT0oY29uc3Qg
V2ViVHJhbnNmb3JtYXRpb25NYXRyaXgmKSBjb25zdDsKLSAgICBXRUJLSVRfRVhQT1JUIFdlYlRy
YW5zZm9ybWF0aW9uTWF0cml4IG9wZXJhdG9yKihjb25zdCBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJp
eCYpIGNvbnN0OwotCi0gICAgLy8gT3BlcmF0aW9ucyB0aGF0IG1vZGlmeSB0aGlzIG1hdHJpeAot
ICAgIFdFQktJVF9FWFBPUlQgdm9pZCBtdWx0aXBseShjb25zdCBXZWJUcmFuc2Zvcm1hdGlvbk1h
dHJpeCYpOwotICAgIFdFQktJVF9FWFBPUlQgdm9pZCBtYWtlSWRlbnRpdHkoKTsKLSAgICBXRUJL
SVRfRVhQT1JUIHZvaWQgdHJhbnNsYXRlKGRvdWJsZSB0eCwgZG91YmxlIHR5KTsKLSAgICBXRUJL
SVRfRVhQT1JUIHZvaWQgdHJhbnNsYXRlM2QoZG91YmxlIHR4LCBkb3VibGUgdHksIGRvdWJsZSB0
eik7Ci0gICAgV0VCS0lUX0VYUE9SVCB2b2lkIHRyYW5zbGF0ZVJpZ2h0M2QoZG91YmxlIHR4LCBk
b3VibGUgdHksIGRvdWJsZSB0eik7Ci0gICAgV0VCS0lUX0VYUE9SVCB2b2lkIHNjYWxlKGRvdWJs
ZSBzKTsKLSAgICBXRUJLSVRfRVhQT1JUIHZvaWQgc2NhbGVOb25Vbmlmb3JtKGRvdWJsZSBzeCwg
ZG91YmxlIHN5KTsKLSAgICBXRUJLSVRfRVhQT1JUIHZvaWQgc2NhbGUzZChkb3VibGUgc3gsIGRv
dWJsZSBzeSwgZG91YmxlIHN6KTsKLSAgICBXRUJLSVRfRVhQT1JUIHZvaWQgcm90YXRlKGRvdWJs
ZSBhbmdsZSk7Ci0gICAgV0VCS0lUX0VYUE9SVCB2b2lkIHJvdGF0ZTNkKGRvdWJsZSByeCwgZG91
YmxlIHJ5LCBkb3VibGUgcnopOwotICAgIFdFQktJVF9FWFBPUlQgdm9pZCByb3RhdGUzZChkb3Vi
bGUgeCwgZG91YmxlIHksIGRvdWJsZSB6LCBkb3VibGUgYW5nbGUpOwotICAgIFdFQktJVF9FWFBP
UlQgdm9pZCBza2V3WChkb3VibGUgYW5nbGUpOwotICAgIFdFQktJVF9FWFBPUlQgdm9pZCBza2V3
WShkb3VibGUgYW5nbGUpOwotICAgIFdFQktJVF9FWFBPUlQgdm9pZCBhcHBseVBlcnNwZWN0aXZl
KGRvdWJsZSBwKTsKLSAgICBXRUJLSVRfRVhQT1JUIGJvb2wgYmxlbmQoY29uc3QgV2ViVHJhbnNm
b3JtYXRpb25NYXRyaXgmIGZyb20sIGRvdWJsZSBwcm9ncmVzcyk7Ci0KLSAgICBXRUJLSVRfRVhQ
T1JUIGJvb2wgaGFzUGVyc3BlY3RpdmUoKSBjb25zdDsKLSAgICBXRUJLSVRfRVhQT1JUIGJvb2wg
aXNJbnZlcnRpYmxlKCkgY29uc3Q7Ci0gICAgV0VCS0lUX0VYUE9SVCBib29sIGlzQmFja0ZhY2VW
aXNpYmxlKCkgY29uc3Q7Ci0gICAgV0VCS0lUX0VYUE9SVCBib29sIGlzSWRlbnRpdHkoKSBjb25z
dDsKLSAgICBXRUJLSVRfRVhQT1JUIGJvb2wgaXNJZGVudGl0eU9yVHJhbnNsYXRpb24oKSBjb25z
dDsKLSAgICBXRUJLSVRfRVhQT1JUIGJvb2wgaXNJbnRlZ2VyVHJhbnNsYXRpb24oKSBjb25zdDsK
LQogICAgIC8vIEFjY2Vzc29ycwogICAgIFdFQktJVF9FWFBPUlQgZG91YmxlIG0xMSgpIGNvbnN0
OwogICAgIFdFQktJVF9FWFBPUlQgdm9pZCBzZXRNMTEoZG91YmxlKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpp
bmRleCBmY2MxZGJlM2JkNGEyY2ZjNmNjMmViOWU3YTc1NWYzOTQxOTk1YzNmLi5jYzlkNjRjMDQw
YzAyMjNkZGVmY2NmNjg4Y2Y3MjZiMzIxNDI3Mjk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC00MDUz
LDYgKzQwNTMsOCBAQAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Np
bXBsZUZvbnREYXRhQ2hyb21pdW1XaW4uY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9UaHJlYWRTYWZlRGF0YVRyYW5zcG9ydC5jcHAnLAogICAgICAgICAgICAg
J3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RocmVhZFNhZmVEYXRhVHJhbnNwb3J0LmgnLAor
ICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RyYW5zZm9ybVNrTWF0cml4
NDRDb252ZXJzaW9ucy5jcHAnLAorICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL1RyYW5zZm9ybVNrTWF0cml4NDRDb252ZXJzaW9ucy5oJywKICAgICAgICAgICAgICdwbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UcmFuc3BhcmVuY3lXaW4uY3BwJywKICAgICAgICAgICAg
ICdwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UcmFuc3BhcmVuY3lXaW4uaCcsCiAgICAgICAg
ICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVW5pc2NyaWJlSGVscGVyLmNwcCcsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9zdXBwb3J0L1dlYlRy
YW5zZm9ybWF0aW9uTWF0cml4LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVt
L3N1cHBvcnQvV2ViVHJhbnNmb3JtYXRpb25NYXRyaXguY3BwCmluZGV4IDVlN2FjNGYwOTFmMzIz
YzE5YTZhNDc3MTNlOGQ2Mjc2NTVmYjZjMGMuLjJmOWNlZmNiYmU1NjZjNTM3NmZjNmFjZWQ0ZTg2
NjdjNzIwZTI3OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVt
L3N1cHBvcnQvV2ViVHJhbnNmb3JtYXRpb25NYXRyaXguY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2Nocm9taXVtL3N1cHBvcnQvV2ViVHJhbnNmb3JtYXRpb25NYXRyaXguY3BwCkBA
IC0zNywyMSArMzcsOCBAQCBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6V2ViVHJhbnNmb3JtYXRp
b25NYXRyaXgoKQogewogfQogCi1XZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6V2ViVHJhbnNmb3Jt
YXRpb25NYXRyaXgoZG91YmxlIGEsIGRvdWJsZSBiLCBkb3VibGUgYywgZG91YmxlIGQsIGRvdWJs
ZSBlLCBkb3VibGUgZikKLSAgICA6IG1fcHJpdmF0ZShuZXcgVHJhbnNmb3JtYXRpb25NYXRyaXgo
YSwgYiwgYywgZCwgZSwgZikpCi17Ci19Ci0KLVdlYlRyYW5zZm9ybWF0aW9uTWF0cml4OjpXZWJU
cmFuc2Zvcm1hdGlvbk1hdHJpeChkb3VibGUgbTExLCBkb3VibGUgbTEyLCBkb3VibGUgbTEzLCBk
b3VibGUgbTE0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGRvdWJsZSBtMjEsIGRvdWJsZSBtMjIsIGRvdWJsZSBtMjMsIGRvdWJsZSBtMjQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG91YmxlIG0zMSwg
ZG91YmxlIG0zMiwgZG91YmxlIG0zMywgZG91YmxlIG0zNCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb3VibGUgbTQxLCBkb3VibGUgbTQyLCBkb3Vi
bGUgbTQzLCBkb3VibGUgbTQ0KQotICAgIDogbV9wcml2YXRlKG5ldyBUcmFuc2Zvcm1hdGlvbk1h
dHJpeChtMTEsIG0xMiwgbTEzLCBtMTQsIG0yMSwgbTIyLCBtMjMsIG0yNCwgbTMxLCBtMzIsIG0z
MywgbTM0LCBtNDEsIG00MiwgbTQzLCBtNDQpKQotewotfQotCi1XZWJUcmFuc2Zvcm1hdGlvbk1h
dHJpeDo6V2ViVHJhbnNmb3JtYXRpb25NYXRyaXgoY29uc3QgV2ViVHJhbnNmb3JtYXRpb25NYXRy
aXgmIHQpCi0gICAgOiBtX3ByaXZhdGUobmV3IFRyYW5zZm9ybWF0aW9uTWF0cml4KCp0Lm1fcHJp
dmF0ZS5nZXQoKSkpCitXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6V2ViVHJhbnNmb3JtYXRpb25N
YXRyaXgoY29uc3QgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXgmIG1hdHJpeCkKKyAgICA6IG1fcHJp
dmF0ZShuZXcgVHJhbnNmb3JtYXRpb25NYXRyaXgoKm1hdHJpeC5tX3ByaXZhdGUuZ2V0KCkpKQog
ewogfQogCkBAIC02NSwzNjggKzUyLDg0IEBAIHZvaWQgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXg6
OnJlc2V0KCkKICAgICBtX3ByaXZhdGUucmVzZXQoMCk7CiB9CiAKLVdlYlRyYW5zZm9ybWF0aW9u
TWF0cml4JiBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6b3BlcmF0b3I9KGNvbnN0IFdlYlRyYW5z
Zm9ybWF0aW9uTWF0cml4JiB0KQotewotICAgIG1fcHJpdmF0ZS5yZXNldChuZXcgVHJhbnNmb3Jt
YXRpb25NYXRyaXgoKnQubV9wcml2YXRlLmdldCgpKSk7Ci0gICAgcmV0dXJuICp0aGlzOwotfQot
Ci1ib29sIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4OjpvcGVyYXRvcj09KGNvbnN0IFdlYlRyYW5z
Zm9ybWF0aW9uTWF0cml4JiB0KSBjb25zdAotewotICAgIHJldHVybiAqbV9wcml2YXRlLmdldCgp
ID09ICp0Lm1fcHJpdmF0ZS5nZXQoKTsKLX0KLQotV2ViVHJhbnNmb3JtYXRpb25NYXRyaXggV2Vi
VHJhbnNmb3JtYXRpb25NYXRyaXg6Om9wZXJhdG9yKihjb25zdCBXZWJUcmFuc2Zvcm1hdGlvbk1h
dHJpeCYgdCkgY29uc3QKLXsKLSAgICBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCByZXN1bHQgPSAq
dGhpczsKLSAgICByZXN1bHQubXVsdGlwbHkodCk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQot
V2ViVHJhbnNmb3JtYXRpb25NYXRyaXggV2ViVHJhbnNmb3JtYXRpb25NYXRyaXg6OmludmVyc2Uo
KSBjb25zdAotewotICAgIHJldHVybiBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeChtX3ByaXZhdGUt
PmludmVyc2UoKSk7Ci19Ci0KLVdlYlRyYW5zZm9ybWF0aW9uTWF0cml4IFdlYlRyYW5zZm9ybWF0
aW9uTWF0cml4Ojp0bzJkVHJhbnNmb3JtKCkgY29uc3QKLXsKLSAgICBXZWJUcmFuc2Zvcm1hdGlv
bk1hdHJpeCByZXN1bHQ7Ci0gICAgcmVzdWx0Lm1fcHJpdmF0ZS5yZXNldChuZXcgVHJhbnNmb3Jt
YXRpb25NYXRyaXgobV9wcml2YXRlLT50bzJkVHJhbnNmb3JtKCkpKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotCi12b2lkIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4OjptdWx0aXBseShjb25zdCBX
ZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgdCkKLXsKLSAgICBtX3ByaXZhdGUtPm11bHRpcGx5KCp0
Lm1fcHJpdmF0ZS5nZXQoKSk7Ci19Ci0KLXZvaWQgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXg6Om1h
a2VJZGVudGl0eSgpCi17Ci0gICAgbV9wcml2YXRlLT5tYWtlSWRlbnRpdHkoKTsKLX0KLQotdm9p
ZCBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6dHJhbnNsYXRlKGRvdWJsZSB0eCwgZG91YmxlIHR5
KQotewotICAgIG1fcHJpdmF0ZS0+dHJhbnNsYXRlKHR4LCB0eSk7Ci19Ci0KLXZvaWQgV2ViVHJh
bnNmb3JtYXRpb25NYXRyaXg6OnRyYW5zbGF0ZTNkKGRvdWJsZSB0eCwgZG91YmxlIHR5LCBkb3Vi
bGUgdHopCi17Ci0gICAgbV9wcml2YXRlLT50cmFuc2xhdGUzZCh0eCwgdHksIHR6KTsKLX0KLQot
dm9pZCBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6dHJhbnNsYXRlUmlnaHQzZChkb3VibGUgdHgs
IGRvdWJsZSB0eSwgZG91YmxlIHR6KQotewotICAgIG1fcHJpdmF0ZS0+dHJhbnNsYXRlUmlnaHQz
ZCh0eCwgdHksIHR6KTsKLX0KLQotdm9pZCBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6c2NhbGUo
ZG91YmxlIHMpCi17Ci0gICAgbV9wcml2YXRlLT5zY2FsZShzKTsKLX0KLQotdm9pZCBXZWJUcmFu
c2Zvcm1hdGlvbk1hdHJpeDo6c2NhbGVOb25Vbmlmb3JtKGRvdWJsZSBzeCwgZG91YmxlIHN5KQot
ewotICAgIG1fcHJpdmF0ZS0+c2NhbGVOb25Vbmlmb3JtKHN4LCBzeSk7Ci19Ci0KLXZvaWQgV2Vi
VHJhbnNmb3JtYXRpb25NYXRyaXg6OnNjYWxlM2QoZG91YmxlIHN4LCBkb3VibGUgc3ksIGRvdWJs
ZSBzeikKLXsKLSAgICBtX3ByaXZhdGUtPnNjYWxlM2Qoc3gsIHN5LCBzeik7Ci19Ci0KLXZvaWQg
V2ViVHJhbnNmb3JtYXRpb25NYXRyaXg6OnJvdGF0ZShkb3VibGUgYW5nbGUpCi17Ci0gICAgbV9w
cml2YXRlLT5yb3RhdGUoYW5nbGUpOwotfQotCi12b2lkIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4
Ojpyb3RhdGUzZChkb3VibGUgcngsIGRvdWJsZSByeSwgZG91YmxlIHJ6KQotewotICAgIG1fcHJp
dmF0ZS0+cm90YXRlM2QocngsIHJ5LCByeik7Ci19Ci0KLXZvaWQgV2ViVHJhbnNmb3JtYXRpb25N
YXRyaXg6OnJvdGF0ZTNkKGRvdWJsZSB4LCBkb3VibGUgeSwgZG91YmxlIHosIGRvdWJsZSBhbmds
ZSkKLXsKLSAgICBtX3ByaXZhdGUtPnJvdGF0ZTNkKHgsIHksIHosIGFuZ2xlKTsKLX0KLQotdm9p
ZCBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6c2tld1goZG91YmxlIGFuZ2xlKQotewotICAgIG1f
cHJpdmF0ZS0+c2tld1goYW5nbGUpOwotfQotCi12b2lkIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4
Ojpza2V3WShkb3VibGUgYW5nbGUpCi17Ci0gICAgbV9wcml2YXRlLT5za2V3WShhbmdsZSk7Ci19
Ci0KLXZvaWQgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXg6OmFwcGx5UGVyc3BlY3RpdmUoZG91Ymxl
IHApCi17Ci0gICAgbV9wcml2YXRlLT5hcHBseVBlcnNwZWN0aXZlKHApOwotfQotCi1ib29sIFdl
YlRyYW5zZm9ybWF0aW9uTWF0cml4OjpibGVuZChjb25zdCBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJp
eCYgZnJvbSwgZG91YmxlIHByb2dyZXNzKQotewotICAgIFdlYkNvcmU6OlRyYW5zZm9ybWF0aW9u
TWF0cml4OjpEZWNvbXBvc2VkVHlwZSBkdW1teTsKLSAgICBpZiAoIW1fcHJpdmF0ZS0+ZGVjb21w
b3NlKGR1bW15KSB8fCAhZnJvbS5tX3ByaXZhdGUtPmRlY29tcG9zZShkdW1teSkpCi0gICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICBtX3ByaXZhdGUtPmJsZW5kKCpmcm9tLm1fcHJpdmF0ZS5nZXQo
KSwgcHJvZ3Jlc3MpOwotICAgIHJldHVybiB0cnVlOwotfQotCi1ib29sIFdlYlRyYW5zZm9ybWF0
aW9uTWF0cml4OjpoYXNQZXJzcGVjdGl2ZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fcHJpdmF0
ZS0+aGFzUGVyc3BlY3RpdmUoKTsKLX0KLQotYm9vbCBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6
aXNJbnZlcnRpYmxlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9wcml2YXRlLT5pc0ludmVydGli
bGUoKTsKLX0KLQotYm9vbCBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6aXNCYWNrRmFjZVZpc2li
bGUoKSBjb25zdAotewotICAgIHJldHVybiBtX3ByaXZhdGUtPmlzQmFja0ZhY2VWaXNpYmxlKCk7
Ci19Ci0KLWJvb2wgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXg6OmlzSWRlbnRpdHkoKSBjb25zdAot
ewotICAgIHJldHVybiBtX3ByaXZhdGUtPmlzSWRlbnRpdHkoKTsKLX0KLQotYm9vbCBXZWJUcmFu
c2Zvcm1hdGlvbk1hdHJpeDo6aXNJZGVudGl0eU9yVHJhbnNsYXRpb24oKSBjb25zdAotewotICAg
IHJldHVybiBtX3ByaXZhdGUtPmlzSWRlbnRpdHlPclRyYW5zbGF0aW9uKCk7Ci19Ci0KLWJvb2wg
V2ViVHJhbnNmb3JtYXRpb25NYXRyaXg6OmlzSW50ZWdlclRyYW5zbGF0aW9uKCkgY29uc3QKLXsK
LSAgICByZXR1cm4gbV9wcml2YXRlLT5pc0ludGVnZXJUcmFuc2xhdGlvbigpOwotfQotCiBkb3Vi
bGUgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXg6Om0xMSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1f
cHJpdmF0ZS0+bTExKCk7CiB9CiAKLXZvaWQgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXg6OnNldE0x
MShkb3VibGUgZikKLXsKLSAgICBtX3ByaXZhdGUtPnNldE0xMShmKTsKLX0KLQogZG91YmxlIFdl
YlRyYW5zZm9ybWF0aW9uTWF0cml4OjptMTIoKSBjb25zdAogewogICAgIHJldHVybiBtX3ByaXZh
dGUtPm0xMigpOwogfQogCi12b2lkIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4OjpzZXRNMTIoZG91
YmxlIGYpCi17Ci0gICAgbV9wcml2YXRlLT5zZXRNMTIoZik7Ci19Ci0KIGRvdWJsZSBXZWJUcmFu
c2Zvcm1hdGlvbk1hdHJpeDo6bTEzKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9wcml2YXRlLT5t
MTMoKTsKIH0KIAotdm9pZCBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6c2V0TTEzKGRvdWJsZSBm
KQotewotICAgIG1fcHJpdmF0ZS0+c2V0TTEzKGYpOwotfQotCiBkb3VibGUgV2ViVHJhbnNmb3Jt
YXRpb25NYXRyaXg6Om0xNCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fcHJpdmF0ZS0+bTE0KCk7
CiB9CiAKLXZvaWQgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXg6OnNldE0xNChkb3VibGUgZikKLXsK
LSAgICBtX3ByaXZhdGUtPnNldE0xNChmKTsKLX0KLQogZG91YmxlIFdlYlRyYW5zZm9ybWF0aW9u
TWF0cml4OjptMjEoKSBjb25zdAogewogICAgIHJldHVybiBtX3ByaXZhdGUtPm0yMSgpOwogfQog
Ci12b2lkIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4OjpzZXRNMjEoZG91YmxlIGYpCi17Ci0gICAg
bV9wcml2YXRlLT5zZXRNMjEoZik7Ci19Ci0KIGRvdWJsZSBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJp
eDo6bTIyKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9wcml2YXRlLT5tMjIoKTsKIH0KIAotdm9p
ZCBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6c2V0TTIyKGRvdWJsZSBmKQotewotICAgIG1fcHJp
dmF0ZS0+c2V0TTIyKGYpOwotfQotCiBkb3VibGUgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXg6Om0y
MygpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fcHJpdmF0ZS0+bTIzKCk7CiB9CiAKLXZvaWQgV2Vi
VHJhbnNmb3JtYXRpb25NYXRyaXg6OnNldE0yMyhkb3VibGUgZikKLXsKLSAgICBtX3ByaXZhdGUt
PnNldE0yMyhmKTsKLX0KLQogZG91YmxlIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4OjptMjQoKSBj
b25zdAogewogICAgIHJldHVybiBtX3ByaXZhdGUtPm0yNCgpOwogfQogCi12b2lkIFdlYlRyYW5z
Zm9ybWF0aW9uTWF0cml4OjpzZXRNMjQoZG91YmxlIGYpCi17Ci0gICAgbV9wcml2YXRlLT5zZXRN
MjQoZik7Ci19Ci0KIGRvdWJsZSBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6bTMxKCkgY29uc3QK
IHsKICAgICByZXR1cm4gbV9wcml2YXRlLT5tMzEoKTsKIH0KIAotdm9pZCBXZWJUcmFuc2Zvcm1h
dGlvbk1hdHJpeDo6c2V0TTMxKGRvdWJsZSBmKQotewotICAgIG1fcHJpdmF0ZS0+c2V0TTMxKGYp
OwotfQotCiBkb3VibGUgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXg6Om0zMigpIGNvbnN0CiB7CiAg
ICAgcmV0dXJuIG1fcHJpdmF0ZS0+bTMyKCk7CiB9CiAKLXZvaWQgV2ViVHJhbnNmb3JtYXRpb25N
YXRyaXg6OnNldE0zMihkb3VibGUgZikKLXsKLSAgICBtX3ByaXZhdGUtPnNldE0zMihmKTsKLX0K
LQogZG91YmxlIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4OjptMzMoKSBjb25zdAogewogICAgIHJl
dHVybiBtX3ByaXZhdGUtPm0zMygpOwogfQogCi12b2lkIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4
OjpzZXRNMzMoZG91YmxlIGYpCi17Ci0gICAgbV9wcml2YXRlLT5zZXRNMzMoZik7Ci19Ci0KIGRv
dWJsZSBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6bTM0KCkgY29uc3QKIHsKICAgICByZXR1cm4g
bV9wcml2YXRlLT5tMzQoKTsKIH0KIAotdm9pZCBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6c2V0
TTM0KGRvdWJsZSBmKQotewotICAgIG1fcHJpdmF0ZS0+c2V0TTM0KGYpOwotfQotCiBkb3VibGUg
V2ViVHJhbnNmb3JtYXRpb25NYXRyaXg6Om00MSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fcHJp
dmF0ZS0+bTQxKCk7CiB9CiAKLXZvaWQgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXg6OnNldE00MShk
b3VibGUgZikKLXsKLSAgICBtX3ByaXZhdGUtPnNldE00MShmKTsKLX0KLQogZG91YmxlIFdlYlRy
YW5zZm9ybWF0aW9uTWF0cml4OjptNDIoKSBjb25zdAogewogICAgIHJldHVybiBtX3ByaXZhdGUt
Pm00MigpOwogfQogCi12b2lkIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4OjpzZXRNNDIoZG91Ymxl
IGYpCi17Ci0gICAgbV9wcml2YXRlLT5zZXRNNDIoZik7Ci19Ci0KIGRvdWJsZSBXZWJUcmFuc2Zv
cm1hdGlvbk1hdHJpeDo6bTQzKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9wcml2YXRlLT5tNDMo
KTsKIH0KIAotdm9pZCBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6c2V0TTQzKGRvdWJsZSBmKQot
ewotICAgIG1fcHJpdmF0ZS0+c2V0TTQzKGYpOwotfQotCiBkb3VibGUgV2ViVHJhbnNmb3JtYXRp
b25NYXRyaXg6Om00NCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fcHJpdmF0ZS0+bTQ0KCk7CiB9
CiAKLXZvaWQgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXg6OnNldE00NChkb3VibGUgZikKLXsKLSAg
ICBtX3ByaXZhdGUtPnNldE00NChmKTsKLX0KLQotZG91YmxlIFdlYlRyYW5zZm9ybWF0aW9uTWF0
cml4OjphKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9wcml2YXRlLT5hKCk7Ci19Ci0KLXZvaWQg
V2ViVHJhbnNmb3JtYXRpb25NYXRyaXg6OnNldEEoZG91YmxlIGEpCi17Ci0gICAgbV9wcml2YXRl
LT5zZXRBKGEpOwotfQotCi1kb3VibGUgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXg6OmIoKSBjb25z
dAotewotICAgIHJldHVybiBtX3ByaXZhdGUtPmIoKTsKLX0KLQotdm9pZCBXZWJUcmFuc2Zvcm1h
dGlvbk1hdHJpeDo6c2V0Qihkb3VibGUgYikKLXsKLSAgICBtX3ByaXZhdGUtPnNldEIoYik7Ci19
Ci0KLWRvdWJsZSBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6YygpIGNvbnN0Ci17Ci0gICAgcmV0
dXJuIG1fcHJpdmF0ZS0+YygpOwotfQotCi12b2lkIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4Ojpz
ZXRDKGRvdWJsZSBjKQotewotICAgIG1fcHJpdmF0ZS0+c2V0QyhjKTsKLX0KLQotZG91YmxlIFdl
YlRyYW5zZm9ybWF0aW9uTWF0cml4OjpkKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9wcml2YXRl
LT5kKCk7Ci19Ci0KLXZvaWQgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXg6OnNldEQoZG91YmxlIGQp
Ci17Ci0gICAgbV9wcml2YXRlLT5zZXREKGQpOwotfQotCi1kb3VibGUgV2ViVHJhbnNmb3JtYXRp
b25NYXRyaXg6OmUoKSBjb25zdAotewotICAgIHJldHVybiBtX3ByaXZhdGUtPmUoKTsKLX0KLQot
dm9pZCBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6c2V0RShkb3VibGUgZSkKLXsKLSAgICBtX3By
aXZhdGUtPnNldEUoZSk7Ci19Ci0KLWRvdWJsZSBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6Zigp
IGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fcHJpdmF0ZS0+ZigpOwotfQotCi12b2lkIFdlYlRyYW5z
Zm9ybWF0aW9uTWF0cml4OjpzZXRGKGRvdWJsZSBmKQotewotICAgIG1fcHJpdmF0ZS0+c2V0Rihm
KTsKLX0KLQotVHJhbnNmb3JtYXRpb25NYXRyaXggV2ViVHJhbnNmb3JtYXRpb25NYXRyaXg6OnRv
V2ViQ29yZVRyYW5zZm9ybSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuICptX3ByaXZhdGUuZ2V0KCk7
Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQW5pbWF0aW9uVHJhbnNsYXRpb25VdGlsLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0FuaW1hdGlvblRyYW5z
bGF0aW9uVXRpbC5jcHAKaW5kZXggMWE4YjQ2NmYzMjk5NDBiMjkyZTczOTY3YmQyYjVlMjJlMDAz
YjVlZi4uZmRjYzFmODQ4YzU1YmI1MjgyYWNmYzQ4ZDI5YmQ4MjRlMWFlNGM5ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQW5pbWF0aW9uVHJh
bnNsYXRpb25VdGlsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9BbmltYXRpb25UcmFuc2xhdGlvblV0aWwuY3BwCkBAIC0zNiw4ICszNiwxMCBAQAog
I2luY2x1ZGUgIlBlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiUm90
YXRlVHJhbnNmb3JtT3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiU2NhbGVUcmFuc2Zvcm1PcGVyYXRp
b24uaCIKKyNpbmNsdWRlICJTa01hdHJpeDQ0LmgiCiAjaW5jbHVkZSAiU2tld1RyYW5zZm9ybU9w
ZXJhdGlvbi5oIgogI2luY2x1ZGUgIlRyYW5zZm9ybU9wZXJhdGlvbnMuaCIKKyNpbmNsdWRlICJU
cmFuc2Zvcm1Ta01hdHJpeDQ0Q29udmVyc2lvbnMuaCIKICNpbmNsdWRlICJUcmFuc2xhdGVUcmFu
c2Zvcm1PcGVyYXRpb24uaCIKIAogI2luY2x1ZGUgPHB1YmxpYy9QbGF0Zm9ybS5oPgpAQCAtNDcs
NyArNDksNiBAQAogI2luY2x1ZGUgPHB1YmxpYy9XZWJGbG9hdEFuaW1hdGlvbkN1cnZlLmg+CiAj
aW5jbHVkZSA8cHVibGljL1dlYlRyYW5zZm9ybUFuaW1hdGlvbkN1cnZlLmg+CiAjaW5jbHVkZSA8
cHVibGljL1dlYlRyYW5zZm9ybU9wZXJhdGlvbnMuaD4KLSNpbmNsdWRlIDxwdWJsaWMvV2ViVHJh
bnNmb3JtYXRpb25NYXRyaXguaD4KIAogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9DU3RyaW5nLmg+CkBAIC0xMDIsMTMgKzEwMywxMyBAQCBQYXNzT3duUHRyPFdl
YlRyYW5zZm9ybU9wZXJhdGlvbnM+IHRvV2ViVHJhbnNmb3JtT3BlcmF0aW9ucyhjb25zdCBUcmFu
c2Zvcm1PcGVyYQogICAgICAgICBjYXNlIFRyYW5zZm9ybU9wZXJhdGlvbjo6TUFUUklYOiB7CiAg
ICAgICAgICAgICBNYXRyaXhUcmFuc2Zvcm1PcGVyYXRpb24qIHRyYW5zZm9ybSA9IHN0YXRpY19j
YXN0PE1hdHJpeFRyYW5zZm9ybU9wZXJhdGlvbio+KHRyYW5zZm9ybU9wZXJhdGlvbnMub3BlcmF0
aW9ucygpW2pdLmdldCgpKTsKICAgICAgICAgICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IG0gPSB0
cmFuc2Zvcm0tPm1hdHJpeCgpOwotICAgICAgICAgICAgd2ViVHJhbnNmb3JtT3BlcmF0aW9ucy0+
YXBwZW5kTWF0cml4KFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4KG0pKTsKKyAgICAgICAgICAgIHdl
YlRyYW5zZm9ybU9wZXJhdGlvbnMtPmFwcGVuZE1hdHJpeChUcmFuc2Zvcm1Ta01hdHJpeDQ0Q29u
dmVyc2lvbnM6OmNvbnZlcnQobSkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAg
ICAgICAgY2FzZSBUcmFuc2Zvcm1PcGVyYXRpb246Ok1BVFJJWF8zRDogewogICAgICAgICAgICAg
TWF0cml4M0RUcmFuc2Zvcm1PcGVyYXRpb24qIHRyYW5zZm9ybSA9IHN0YXRpY19jYXN0PE1hdHJp
eDNEVHJhbnNmb3JtT3BlcmF0aW9uKj4odHJhbnNmb3JtT3BlcmF0aW9ucy5vcGVyYXRpb25zKClb
al0uZ2V0KCkpOwogICAgICAgICAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggbSA9IHRyYW5zZm9y
bS0+bWF0cml4KCk7Ci0gICAgICAgICAgICB3ZWJUcmFuc2Zvcm1PcGVyYXRpb25zLT5hcHBlbmRN
YXRyaXgoV2ViVHJhbnNmb3JtYXRpb25NYXRyaXgobSkpOworICAgICAgICAgICAgd2ViVHJhbnNm
b3JtT3BlcmF0aW9ucy0+YXBwZW5kTWF0cml4KFRyYW5zZm9ybVNrTWF0cml4NDRDb252ZXJzaW9u
czo6Y29udmVydChtKSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBj
YXNlIFRyYW5zZm9ybU9wZXJhdGlvbjo6UEVSU1BFQ1RJVkU6IHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1
bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFwaGlj
c0xheWVyQ2hyb21pdW0uY3BwCmluZGV4IDRiMWZlYmUyZjYxZmRiODgwMDk0NGExZjg3MmVmNzFm
N2ZkOGQzY2UuLjVmMzVmMDk0NzQ4YWQ0ZDg3ZmQxZTAzNTU1YjYyOTYzOGY5MzFmYTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNz
TGF5ZXJDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmNwcApAQCAtNTksNiArNTksNyBAQAogI2lu
Y2x1ZGUgIlNrTWF0cml4NDQuaCIKICNpbmNsdWRlICJTa2lhSW1hZ2VGaWx0ZXJCdWlsZGVyLmgi
CiAjaW5jbHVkZSAiU3lzdGVtVGltZS5oIgorI2luY2x1ZGUgIlRyYW5zZm9ybVNrTWF0cml4NDRD
b252ZXJzaW9ucy5oIgogI2luY2x1ZGUgPHB1YmxpYy9QbGF0Zm9ybS5oPgogI2luY2x1ZGUgPHB1
YmxpYy9XZWJBbmltYXRpb24uaD4KICNpbmNsdWRlIDxwdWJsaWMvV2ViQ29tcG9zaXRvclN1cHBv
cnQuaD4KQEAgLTcwMSwzNiArNzAyLDE0IEBAIHZvaWQgR3JhcGhpY3NMYXllckNocm9taXVtOjp1
cGRhdGVBbmNob3JQb2ludCgpCiAgICAgcGxhdGZvcm1MYXllcigpLT5zZXRBbmNob3JQb2ludFoo
bV9hbmNob3JQb2ludC56KCkpOwogfQogCi1zdGF0aWMgU2tNYXRyaXg0NCB0cmFuc2Zvcm1Ub1Nr
TWF0cml4NDQoY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIG1hdHJpeCkKLXsKLSAgICBTa01h
dHJpeDQ0IHJldChTa01hdHJpeDQ0OjprVW5pbml0aWFsaXplZF9Db25zdHJ1Y3Rvcik7Ci0gICAg
cmV0LnNldERvdWJsZSgwLCAwLCBtYXRyaXgubTExKCkpOwotICAgIHJldC5zZXREb3VibGUoMCwg
MSwgbWF0cml4Lm0yMSgpKTsKLSAgICByZXQuc2V0RG91YmxlKDAsIDIsIG1hdHJpeC5tMzEoKSk7
Ci0gICAgcmV0LnNldERvdWJsZSgwLCAzLCBtYXRyaXgubTQxKCkpOwotICAgIHJldC5zZXREb3Vi
bGUoMSwgMCwgbWF0cml4Lm0xMigpKTsKLSAgICByZXQuc2V0RG91YmxlKDEsIDEsIG1hdHJpeC5t
MjIoKSk7Ci0gICAgcmV0LnNldERvdWJsZSgxLCAyLCBtYXRyaXgubTMyKCkpOwotICAgIHJldC5z
ZXREb3VibGUoMSwgMywgbWF0cml4Lm00MigpKTsKLSAgICByZXQuc2V0RG91YmxlKDIsIDAsIG1h
dHJpeC5tMTMoKSk7Ci0gICAgcmV0LnNldERvdWJsZSgyLCAxLCBtYXRyaXgubTIzKCkpOwotICAg
IHJldC5zZXREb3VibGUoMiwgMiwgbWF0cml4Lm0zMygpKTsKLSAgICByZXQuc2V0RG91YmxlKDIs
IDMsIG1hdHJpeC5tNDMoKSk7Ci0gICAgcmV0LnNldERvdWJsZSgzLCAwLCBtYXRyaXgubTE0KCkp
OwotICAgIHJldC5zZXREb3VibGUoMywgMSwgbWF0cml4Lm0yNCgpKTsKLSAgICByZXQuc2V0RG91
YmxlKDMsIDIsIG1hdHJpeC5tMzQoKSk7Ci0gICAgcmV0LnNldERvdWJsZSgzLCAzLCBtYXRyaXgu
bTQ0KCkpOwotICAgIHJldHVybiByZXQ7Ci19Ci0KIHZvaWQgR3JhcGhpY3NMYXllckNocm9taXVt
Ojp1cGRhdGVUcmFuc2Zvcm0oKQogewotICAgIHBsYXRmb3JtTGF5ZXIoKS0+c2V0VHJhbnNmb3Jt
KHRyYW5zZm9ybVRvU2tNYXRyaXg0NChtX3RyYW5zZm9ybSkpOworICAgIHBsYXRmb3JtTGF5ZXIo
KS0+c2V0VHJhbnNmb3JtKFRyYW5zZm9ybVNrTWF0cml4NDRDb252ZXJzaW9uczo6Y29udmVydCht
X3RyYW5zZm9ybSkpOwogfQogCiB2b2lkIEdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6dXBkYXRlQ2hp
bGRyZW5UcmFuc2Zvcm0oKQogewotICAgIHBsYXRmb3JtTGF5ZXIoKS0+c2V0U3VibGF5ZXJUcmFu
c2Zvcm0odHJhbnNmb3JtVG9Ta01hdHJpeDQ0KG1fY2hpbGRyZW5UcmFuc2Zvcm0pKTsKKyAgICBw
bGF0Zm9ybUxheWVyKCktPnNldFN1YmxheWVyVHJhbnNmb3JtKFRyYW5zZm9ybVNrTWF0cml4NDRD
b252ZXJzaW9uczo6Y29udmVydChtX2NoaWxkcmVuVHJhbnNmb3JtKSk7CiB9CiAKIHZvaWQgR3Jh
cGhpY3NMYXllckNocm9taXVtOjp1cGRhdGVNYXNrc1RvQm91bmRzKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RyYW5zZm9ybVNrTWF0cml4
NDRDb252ZXJzaW9ucy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9UcmFuc2Zvcm1Ta01hdHJpeDQ0Q29udmVyc2lvbnMuY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYxYjU4
ZDUzZDk0MjIzYTRiYjkyNmUwOWNkOTY2OGZiMTJhOTRmMTgKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UcmFuc2Zvcm1Ta01hdHJp
eDQ0Q29udmVyc2lvbnMuY3BwCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwor
ICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKworI2luY2x1ZGUgIlRyYW5zZm9ybVNrTWF0cml4NDRDb252ZXJzaW9u
cy5oIgorCisjaW5jbHVkZSAiVHJhbnNmb3JtYXRpb25NYXRyaXguaCIKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitTa01hdHJpeDQ0IFRyYW5zZm9ybVNrTWF0cml4NDRDb252ZXJzaW9uczo6Y29u
dmVydChjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgbWF0cml4KQoreworICAgIFNrTWF0cml4
NDQgcmV0KFNrTWF0cml4NDQ6OmtVbmluaXRpYWxpemVkX0NvbnN0cnVjdG9yKTsKKyAgICByZXQu
c2V0RG91YmxlKDAsIDAsIG1hdHJpeC5tMTEoKSk7CisgICAgcmV0LnNldERvdWJsZSgwLCAxLCBt
YXRyaXgubTIxKCkpOworICAgIHJldC5zZXREb3VibGUoMCwgMiwgbWF0cml4Lm0zMSgpKTsKKyAg
ICByZXQuc2V0RG91YmxlKDAsIDMsIG1hdHJpeC5tNDEoKSk7CisgICAgcmV0LnNldERvdWJsZSgx
LCAwLCBtYXRyaXgubTEyKCkpOworICAgIHJldC5zZXREb3VibGUoMSwgMSwgbWF0cml4Lm0yMigp
KTsKKyAgICByZXQuc2V0RG91YmxlKDEsIDIsIG1hdHJpeC5tMzIoKSk7CisgICAgcmV0LnNldERv
dWJsZSgxLCAzLCBtYXRyaXgubTQyKCkpOworICAgIHJldC5zZXREb3VibGUoMiwgMCwgbWF0cml4
Lm0xMygpKTsKKyAgICByZXQuc2V0RG91YmxlKDIsIDEsIG1hdHJpeC5tMjMoKSk7CisgICAgcmV0
LnNldERvdWJsZSgyLCAyLCBtYXRyaXgubTMzKCkpOworICAgIHJldC5zZXREb3VibGUoMiwgMywg
bWF0cml4Lm00MygpKTsKKyAgICByZXQuc2V0RG91YmxlKDMsIDAsIG1hdHJpeC5tMTQoKSk7Cisg
ICAgcmV0LnNldERvdWJsZSgzLCAxLCBtYXRyaXgubTI0KCkpOworICAgIHJldC5zZXREb3VibGUo
MywgMiwgbWF0cml4Lm0zNCgpKTsKKyAgICByZXQuc2V0RG91YmxlKDMsIDMsIG1hdHJpeC5tNDQo
KSk7CisgICAgcmV0dXJuIHJldDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNmb3Jt
U2tNYXRyaXg0NENvbnZlcnNpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9UcmFuc2Zvcm1Ta01hdHJpeDQ0Q29udmVyc2lvbnMuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
OGI5MjM0ZDJjN2E2NWQ2NGMzYmZjZjUxYzAxOTEzNDc1MDQ5NTM2Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNmb3JtU2tN
YXRyaXg0NENvbnZlcnNpb25zLmgKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
CisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgIlNrTWF0cml4NDQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBUcmFu
c2Zvcm1hdGlvbk1hdHJpeDsKKworY2xhc3MgVHJhbnNmb3JtU2tNYXRyaXg0NENvbnZlcnNpb25z
IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgU2tNYXRyaXg0NCBjb252ZXJ0KGNvbnN0IFRyYW5zZm9y
bWF0aW9uTWF0cml4Jik7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>