<?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>50229</bug_id>
          
          <creation_ts>2010-11-30 05:51:51 -0800</creation_ts>
          <short_desc>Cleanup SVGPropertyTraits</short_desc>
          <delta_ts>2010-12-01 02:04:36 -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>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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>
          
          <blocked>47905</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Nikolas Zimmermann">zimmermann</reporter>
          <assigned_to name="Nikolas Zimmermann">zimmermann</assigned_to>
          <cc>krit</cc>
    
    <cc>mdelaney7</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>314973</commentid>
    <comment_count>0</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-11-30 05:51:51 -0800</bug_when>
    <thetext>SVGPropertyTraits includes several SVG* files, just to declare the template specializations. We can just move the specializations into the SVG* files, and remove all SVG*.h includes from SVGPropertyTraits.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314977</commentid>
    <comment_count>1</comment_count>
      <attachid>75130</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-11-30 05:55:23 -0800</bug_when>
    <thetext>Created attachment 75130
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315106</commentid>
    <comment_count>2</comment_count>
      <attachid>75130</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-11-30 09:41:14 -0800</bug_when>
    <thetext>Comment on attachment 75130
Patch

LGTM. r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315564</commentid>
    <comment_count>3</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-12-01 00:51:39 -0800</bug_when>
    <thetext>Fixed all style issues locally, wondering why the style bot didn&apos;t post a link here.
Chromium EWS does nothing unfortunately, so I&apos;m just risking to land...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315565</commentid>
    <comment_count>4</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-12-01 00:56:37 -0800</bug_when>
    <thetext>Saw the same problem on other patches. Seems to be a bug in the Style-bot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315566</commentid>
    <comment_count>5</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-12-01 01:03:43 -0800</bug_when>
    <thetext>Landed in r73011, closing bug when it builds everywhere.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315576</commentid>
    <comment_count>6</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-12-01 02:04:36 -0800</bug_when>
    <thetext>Builds just fine, closing bug, marking as blocks 47905, what I forgot before.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75130</attachid>
            <date>2010-11-30 05:55:23 -0800</date>
            <delta_ts>2010-11-30 09:41:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>CleanupPatch.diff</filename>
            <type>text/plain</type>
            <size>23314</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MjkwNykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDIgQEAKKzIwMTAtMTEtMzAgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJt
YW5uQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQ2xlYW51cCBTVkdQcm9wZXJ0eVRyYWl0cworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTAyMjkKKworICAgICAgICBNb3ZlIGFsbCB0ZW1wbGF0
ZSBzcGVjaWFsaXphdGlvbnMgZm9yIG5vbi1QT0QgdHlwZXMgKGVnLiBTVkdMZW5ndGgsIFNWR0xl
bmd0aExpc3QsIGV0Yy4pIGZyb20gU1ZHUHJvcGVydHlUcmFpdHMKKyAgICAgICAgaW50byB0aGUg
cmlnaHQgU1ZHKiBjbGFzc2VzLCB0byBhdm9pZCBoYXZpbmcgdG8gaW5jbHVkZSBhIGRvemVuIFNW
RyouaCBmaWxlcyBpbiBTVkdQcm9wZXJ0eVRyYWl0cy5oLCB3aGljaCBpcworICAgICAgICBpbmNs
dWRlZCBieSBhbGwgRE9NL0pTL1Y4IGJpbmRpbmcgZmlsZXMgYW5kIFNWR0VsZW1lbnQuaC4KKwor
ICAgICAgICBObyBuZXcgZnVuY3Rpb25hbGl0eSwgdGh1cyBubyBuZXcgdGVzdHMuCisKKyAgICAg
ICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICog
V2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbToKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBtOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtOgorICAgICAgICAqIHN2Zy9TVkdBbmdsZS5o
OgorICAgICAgICAqIHN2Zy9TVkdMZW5ndGguaDoKKyAgICAgICAgKiBzdmcvU1ZHTGVuZ3RoTGlz
dC5oOgorICAgICAgICAqIHN2Zy9TVkdNYXJrZXJFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NW
R051bWJlckxpc3QuaDoKKyAgICAgICAgKiBzdmcvU1ZHUGF0dGVybkVsZW1lbnQuaDoKKyAgICAg
ICAgKiBzdmcvU1ZHUG9pbnRMaXN0Lmg6CisgICAgICAgICogc3ZnL1NWR1ByZXNlcnZlQXNwZWN0
UmF0aW8uaDoKKyAgICAgICAgKiBzdmcvU1ZHUmVjdC5oOiBBZGRlZC4KKyAgICAgICAgKiBzdmcv
U1ZHU1ZHRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdTdHJpbmdMaXN0Lmg6CisgICAgICAg
ICogc3ZnL1NWR1N5bWJvbEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHVHJhbnNmb3JtTGlz
dC5oOgorICAgICAgICAqIHN2Zy9TVkdWaWV3RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdW
aWV3U3BlYy5oOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR0xpc3RQcm9wZXJ0eS5oOgor
ICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5VHJhaXRzLmg6CisgICAgICAgICog
c3ZnL3Byb3BlcnRpZXMvU1ZHVHJhbnNmb3JtTGlzdFByb3BlcnR5VGVhck9mZi5oOgorCiAyMDEw
LTExLTMwICBSZW5hdGEgSG9kb3ZhbiAgPHJlbmlAaW5mLnUtc3plZ2VkLmh1PgogCiAgICAgICAg
IFJldmlld2VkIGJ5IEFuZHJlYXMgS2xpbmcuCkluZGV4OiBXZWJDb3JlL0dOVW1ha2VmaWxlLmFt
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvR05VbWFrZWZpbGUuYW0JKHJldmlzaW9uIDcyOTAxKQor
KysgV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkod29ya2luZyBjb3B5KQpAQCAtMzM1OCw2ICszMzU4
LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL3N2Zy9TVkdQcmVzZXJ2ZUFzcGVj
dFJhdGlvLmggXAogCVdlYkNvcmUvc3ZnL1NWR1JhZGlhbEdyYWRpZW50RWxlbWVudC5jcHAgXAog
CVdlYkNvcmUvc3ZnL1NWR1JhZGlhbEdyYWRpZW50RWxlbWVudC5oIFwKKwlXZWJDb3JlL3N2Zy9T
VkdSZWN0LmggXAogCVdlYkNvcmUvc3ZnL1NWR1JlY3RFbGVtZW50LmNwcCBcCiAJV2ViQ29yZS9z
dmcvU1ZHUmVjdEVsZW1lbnQuaCBcCiAJV2ViQ29yZS9zdmcvU1ZHUmVuZGVyaW5nSW50ZW50Lmgg
XApJbmRleDogV2ViQ29yZS9XZWJDb3JlLmd5cGkKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJD
b3JlLmd5cGkJKHJldmlzaW9uIDcyOTAxKQorKysgV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHdvcmtp
bmcgY29weSkKQEAgLTQyNTEsNiArNDI1MSw3IEBACiAgICAgICAgICAgICAnc3ZnL1NWR1ByZXNl
cnZlQXNwZWN0UmF0aW8uaCcsCiAgICAgICAgICAgICAnc3ZnL1NWR1JhZGlhbEdyYWRpZW50RWxl
bWVudC5jcHAnLAogICAgICAgICAgICAgJ3N2Zy9TVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQuaCcs
CisgICAgICAgICAgICAnc3ZnL1NWR1JlY3QuaCcsCiAgICAgICAgICAgICAnc3ZnL1NWR1JlY3RF
bGVtZW50LmNwcCcsCiAgICAgICAgICAgICAnc3ZnL1NWR1JlY3RFbGVtZW50LmgnLAogICAgICAg
ICAgICAgJ3N2Zy9TVkdSZW5kZXJpbmdJbnRlbnQuaCcsCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUu
cHJvCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5wcm8JKHJldmlzaW9uIDcyOTAxKQor
KysgV2ViQ29yZS9XZWJDb3JlLnBybwkod29ya2luZyBjb3B5KQpAQCAtMjUwOSw2ICsyNTA5LDcg
QEAgSEVBREVSUyArPSBcCiAgICAgc3ZnL1NWR1BvbHlsaW5lRWxlbWVudC5oIFwKICAgICBzdmcv
U1ZHUHJlc2VydmVBc3BlY3RSYXRpby5oIFwKICAgICBzdmcvU1ZHUmFkaWFsR3JhZGllbnRFbGVt
ZW50LmggXAorICAgIHN2Zy9TVkdSZWN0LmggXAogICAgIHN2Zy9TVkdSZWN0RWxlbWVudC5oIFwK
ICAgICBzdmcvU1ZHU2NyaXB0RWxlbWVudC5oIFwKICAgICBzdmcvU1ZHU2V0RWxlbWVudC5oIFwK
SW5kZXg6IFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lv
biA3MjkwMSkKKysrIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3
b3JraW5nIGNvcHkpCkBAIC0yNTcsNiArMjU3LDcgQEAKIAkJMDhFNkEyRTkwRUVFMDM1MjAwQUMx
MjA2IC8qIFdNTFBvc3RmaWVsZEVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDA4RTZBMkU3MEVFRTAzNTIwMEFDMTIwNiAvKiBXTUxQb3N0Zmll
bGRFbGVtZW50LmggKi87IH07CiAJCTA4RTZFMEYxMEVGRjQyQkEwMDAyOUZCRiAvKiBXTUxGaWVs
ZFNldEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMDhFNkUwRUYwRUZGNDJCQTAwMDI5RkJGIC8qIFdNTEZpZWxkU2V0RWxlbWVudC5jcHAg
Ki87IH07CiAJCTA4RTZFMEYyMEVGRjQyQkEwMDAyOUZCRiAvKiBXTUxGaWVsZFNldEVsZW1lbnQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4RTZFMEYw
MEVGRjQyQkEwMDAyOUZCRiAvKiBXTUxGaWVsZFNldEVsZW1lbnQuaCAqLzsgfTsKKwkJMDhFREUx
OUYxMkE1MEI4RTAwQjk1Nzk3IC8qIFNWR1JlY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4RURFMTlFMTJBNTBCOEUwMEI5NTc5NyAvKiBTVkdSZWN0
LmggKi87IH07CiAJCTA4RjBCRkMyMTI1NUM1M0MwMDA3NTE4NSAvKiBTVkdUZXh0Q2h1bmsuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDhGMEJGQkQx
MjU1QzUzQzAwMDc1MTg1IC8qIFNWR1RleHRDaHVuay5jcHAgKi87IH07CiAJCTA4RjBCRkMzMTI1
NUM1M0MwMDA3NTE4NSAvKiBTVkdUZXh0Q2h1bmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4RjBCRkJFMTI1NUM1M0MwMDA3NTE4NSAvKiBTVkdUZXh0
Q2h1bmsuaCAqLzsgfTsKIAkJMDhGMEJGQzQxMjU1QzUzQzAwMDc1MTg1IC8qIFNWR1RleHRGcmFn
bWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDhG
MEJGQkYxMjU1QzUzQzAwMDc1MTg1IC8qIFNWR1RleHRGcmFnbWVudC5oICovOyB9OwpAQCAtNjMx
MSw2ICs2MzEyLDcgQEAKIAkJMDhFNkEyRTcwRUVFMDM1MjAwQUMxMjA2IC8qIFdNTFBvc3RmaWVs
ZEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV01MUG9zdGZpZWxk
RWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwOEU2RTBFRjBFRkY0MkJB
MDAwMjlGQkYgLyogV01MRmllbGRTZXRFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFdNTEZpZWxkU2V0RWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTA4RTZFMEYwMEVGRjQyQkEwMDAyOUZCRiAvKiBXTUxGaWVsZFNldEVsZW1l
bnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV01MRmllbGRTZXRFbGVtZW50
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTA4RURFMTlFMTJBNTBCOEUwMEI5NTc5
NyAvKiBTVkdSZWN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1JlY3Qu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDhGMEJGQkQxMjU1QzUzQzAwMDc1MTg1
IC8qIFNWR1RleHRDaHVuay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBTVkdUZXh0Q2h1bmsuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwOEYwQkZC
RTEyNTVDNTNDMDAwNzUxODUgLyogU1ZHVGV4dENodW5rLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFNWR1RleHRDaHVuay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkwOEYwQkZCRjEyNTVDNTNDMDAwNzUxODUgLyogU1ZHVGV4dEZyYWdtZW50LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1RleHRGcmFnbWVudC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMTY1MTIsNiArMTY1MTQsNyBAQAogCQkJCUIyMjI3OTAzMEQwMEJG
MjEwMDcxQjc4MiAvKiBTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQuY3BwICovLAogCQkJCUIyMjI3
OTA0MEQwMEJGMjEwMDcxQjc4MiAvKiBTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQuaCAqLywKIAkJ
CQlCMjIyNzkwNTBEMDBCRjIxMDA3MUI3ODIgLyogU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50Lmlk
bCAqLywKKwkJCQkwOEVERTE5RTEyQTUwQjhFMDBCOTU3OTcgLyogU1ZHUmVjdC5oICovLAogCQkJ
CUIyMjI3OTA2MEQwMEJGMjEwMDcxQjc4MiAvKiBTVkdSZWN0LmlkbCAqLywKIAkJCQlCMjIyNzkw
NzBEMDBCRjIxMDA3MUI3ODIgLyogU1ZHUmVjdEVsZW1lbnQuY3BwICovLAogCQkJCUIyMjI3OTA4
MEQwMEJGMjEwMDcxQjc4MiAvKiBTVkdSZWN0RWxlbWVudC5oICovLApAQCAtMjE0MzMsNiArMjE0
MzYsNyBAQAogCQkJCTc1NDE1RDVBMTI5QUIyRDIwMDNBRDY2OSAvKiBKU1NwZWVjaElucHV0UmVz
dWx0TGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkU5N0NDRUIxMjkzOUNCODAwQzVDOEZGIC8q
IERhdGFWaWV3LmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTk3Q0U3MDEyOTNBRDZCMDBDNUM4RkYg
LyogSlNEYXRhVmlldy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMDhFREUxOUYxMkE1MEI4RTAwQjk1
Nzk3IC8qIFNWR1JlY3QuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBs
b3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3IucG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3IucG0JKHJldmlzaW9uIDcyOTAxKQorKysgV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0JKHdvcmtpbmcgY29weSkKQEAgLTMwOCw4ICsz
MDgsOCBAQCBzdWIgQXZvaWRJbmNsdXNpb25PZlR5cGUKICAgICBteSAkb2JqZWN0ID0gc2hpZnQ7
CiAgICAgbXkgJHR5cGUgPSBzaGlmdDsKIAotICAgICMgU3BlY2lhbCBjYXNlOiBTVkdSZWN0Lmgg
LyBTVkdQb2ludC5oIC8gU1ZHTnVtYmVyLmggZG8gbm90IGV4aXN0LgotICAgIHJldHVybiAxIGlm
ICR0eXBlIGVxICJTVkdSZWN0IiBvciAkdHlwZSBlcSAiU1ZHUG9pbnQiIG9yICR0eXBlIGVxICJT
VkdOdW1iZXIiOworICAgICMgU3BlY2lhbCBjYXNlOiBTVkdQb2ludC5oIC8gU1ZHTnVtYmVyLmgg
ZG8gbm90IGV4aXN0LgorICAgIHJldHVybiAxIGlmICR0eXBlIGVxICJTVkdQb2ludCIgb3IgJHR5
cGUgZXEgIlNWR051bWJlciI7CiAgICAgcmV0dXJuIDA7CiB9CiAKSW5kZXg6IFdlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yT2JqQy5wbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMucG0JKHJldmlzaW9uIDcyOTAxKQor
KysgV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBtCSh3b3JraW5n
IGNvcHkpCkBAIC0xMzA0LDYgKzEzMDQsNyBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgog
ICAgICAgICAgICAgICAgIG15ICR0eXBlID0gJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT50eXBlOwog
ICAgICAgICAgICAgICAgIGlmICgkY29kZUdlbmVyYXRvci0+SXNTVkdUeXBlTmVlZGluZ1RlYXJP
ZmYoJHR5cGUpIGFuZCBub3QgJGltcGxDbGFzc05hbWUgPX4gL0xpc3QkLykgewogICAgICAgICAg
ICAgICAgICAgICBteSAkaWRsVHlwZVdpdGhOYW1lc3BhY2UgPSBHZXRTVkdUeXBlV2l0aE5hbWVz
cGFjZSgkdHlwZSk7CisgICAgICAgICAgICAgICAgICAgICRpbXBsSW5jbHVkZXN7IiR0eXBlLmgi
fSA9IDEgaWYgbm90ICRjb2RlR2VuZXJhdG9yLT5Bdm9pZEluY2x1c2lvbk9mVHlwZSgkdHlwZSk7
CiAgICAgICAgICAgICAgICAgICAgIGlmICgkY29kZUdlbmVyYXRvci0+SXNTVkdUeXBlV2l0aFdy
aXRhYmxlUHJvcGVydGllc05lZWRpbmdUZWFyT2ZmKCR0eXBlKSBhbmQgbm90IGRlZmluZWQgJGF0
dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSW1tdXRhYmxlIn0pIHsK
ICAgICAgICAgICAgICAgICAgICAgICAgICRpZGxUeXBlV2l0aE5hbWVzcGFjZSA9fiBzL1NWR1By
b3BlcnR5VGVhck9mZjwvU1ZHU3RhdGljUHJvcGVydHlUZWFyT2ZmPCRpbXBsQ2xhc3NOYW1lV2l0
aE5hbWVzcGFjZSwgLzsKICAgICAgICAgICAgICAgICAgICAgICAgICRpbXBsSW5jbHVkZXN7IlNW
R1N0YXRpY1Byb3BlcnR5VGVhck9mZi5oIn0gPSAxOwpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCShyZXZpc2lvbiA3MjkwMSkKKysrIFdlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0JKHdvcmtpbmcgY29weSkKQEAgLTI5
MDMsMTAgKzI5MDMsNiBAQCBzdWIgSlNWYWx1ZVRvTmF0aXZlCiAgICAgICAgIHJldHVybiAiVjhE
T01XcmFwcGVyOjp3cmFwTmF0aXZlTm9kZUZpbHRlcigkdmFsdWUpIjsKICAgICB9CiAKLSAgICBp
ZiAoJHR5cGUgZXEgIlNWR1JlY3QiKSB7Ci0gICAgICAgICRpbXBsSW5jbHVkZXN7IkZsb2F0UmVj
dC5oIn0gPSAxOwotICAgIH0KLQogICAgIGlmICgkdHlwZSBlcSAiTWVkaWFRdWVyeUxpc3RMaXN0
ZW5lciIpIHsKICAgICAgICAgJGltcGxJbmNsdWRlc3siTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5o
In0gPSAxOwogICAgICAgICByZXR1cm4gIk1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6OmNyZWF0ZSgi
IC4gJHZhbHVlIC4gIikiOwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHQW5nbGUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3N2Zy9TVkdBbmdsZS5oCShyZXZpc2lvbiA3MjkwMSkKKysrIFdlYkNvcmUv
c3ZnL1NWR0FuZ2xlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI0LDcgKzI0LDcgQEAKIAogI2lmIEVO
QUJMRShTVkcpCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgotI2luY2x1ZGUgPHd0Zi90ZXh0
L1dURlN0cmluZy5oPgorI2luY2x1ZGUgIlNWR1Byb3BlcnR5VHJhaXRzLmgiCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIApAQCAtNTksNiArNTksMTIgQEAgcHJpdmF0ZToKICAgICBmbG9hdCBtX3Zh
bHVlSW5TcGVjaWZpZWRVbml0czsKIH07CiAKK3RlbXBsYXRlPD4KK3N0cnVjdCBTVkdQcm9wZXJ0
eVRyYWl0czxTVkdBbmdsZT4geworICAgIHN0YXRpYyBTVkdBbmdsZSBpbml0aWFsVmFsdWUoKSB7
IHJldHVybiBTVkdBbmdsZSgpOyB9CisgICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhjb25zdCBT
VkdBbmdsZSYgdHlwZSkgeyByZXR1cm4gdHlwZS52YWx1ZUFzU3RyaW5nKCk7IH0KK307CisKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShTVkcpCkluZGV4OiBXZWJD
b3JlL3N2Zy9TVkdMZW5ndGguaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdMZW5ndGgu
aAkocmV2aXNpb24gNzI5MDEpCisrKyBXZWJDb3JlL3N2Zy9TVkdMZW5ndGguaAkod29ya2luZyBj
b3B5KQpAQCAtMjMsNyArMjMsNyBAQAogCiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJFeGNl
cHRpb25Db2RlLmgiCi0jaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisjaW5jbHVkZSAi
U1ZHUHJvcGVydHlUcmFpdHMuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0xMTgsNiAr
MTE4LDEzIEBAIHByaXZhdGU6CiAgICAgdW5zaWduZWQgaW50IG1fdW5pdDsKIH07CiAKK3RlbXBs
YXRlPD4KK3N0cnVjdCBTVkdQcm9wZXJ0eVRyYWl0czxTVkdMZW5ndGg+IHsKKyAgICBzdGF0aWMg
U1ZHTGVuZ3RoIGluaXRpYWxWYWx1ZSgpIHsgcmV0dXJuIFNWR0xlbmd0aCgpOyB9CisgICAgc3Rh
dGljIFN0cmluZyB0b1N0cmluZyhjb25zdCBTVkdMZW5ndGgmIHR5cGUpIHsgcmV0dXJuIHR5cGUu
dmFsdWVBc1N0cmluZygpOyB9Cit9OworCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2Vu
ZGlmIC8vIEVOQUJMRShTVkcpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdMZW5ndGhMaXN0LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoTGlzdC5oCShyZXZpc2lvbiA3MjkwMSkK
KysrIFdlYkNvcmUvc3ZnL1NWR0xlbmd0aExpc3QuaAkod29ya2luZyBjb3B5KQpAQCAtMzUsNiAr
MzUsMTQgQEAgcHVibGljOgogICAgIFN0cmluZyB2YWx1ZUFzU3RyaW5nKCkgY29uc3Q7CiB9Owog
Cit0ZW1wbGF0ZTw+CitzdHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8U1ZHTGVuZ3RoTGlzdD4gewor
ICAgIHR5cGVkZWYgU1ZHTGVuZ3RoIExpc3RJdGVtVHlwZTsKKworICAgIHN0YXRpYyBTVkdMZW5n
dGhMaXN0IGluaXRpYWxWYWx1ZSgpIHsgcmV0dXJuIFNWR0xlbmd0aExpc3QoKTsgfQorICAgIHN0
YXRpYyBTdHJpbmcgdG9TdHJpbmcoY29uc3QgU1ZHTGVuZ3RoTGlzdCYgdHlwZSkgeyByZXR1cm4g
dHlwZS52YWx1ZUFzU3RyaW5nKCk7IH0KK307CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAog
I2VuZGlmIC8vIEVOQUJMRShTVkcpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxlbWVudC5oCShyZXZpc2lv
biA3MjkwMSkKKysrIFdlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuaAkod29ya2luZyBjb3B5
KQpAQCAtMjksNiArMjksOCBAQAogI2luY2x1ZGUgIlNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQuaCIKICNpbmNsdWRlICJTVkdGaXRUb1ZpZXdCb3guaCIKICNpbmNsdWRlICJTVkdMYW5nU3Bh
Y2UuaCIKKyNpbmNsdWRlICJTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmgiCisjaW5jbHVkZSAiU1ZH
UmVjdC5oIgogI2luY2x1ZGUgIlNWR1N0eWxlZEVsZW1lbnQuaCIKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHTnVtYmVyTGlzdC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvc3ZnL1NWR051bWJlckxpc3QuaAkocmV2aXNpb24gNzI5MDEpCisrKyBXZWJDb3JlL3N2
Zy9TVkdOdW1iZXJMaXN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTIyLDggKzIyLDggQEAKICNkZWZp
bmUgU1ZHTnVtYmVyTGlzdF9oCiAKICNpZiBFTkFCTEUoU1ZHKQorI2luY2x1ZGUgIlNWR1Byb3Bl
cnR5VHJhaXRzLmgiCiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgotI2luY2x1ZGUgPHd0Zi90ZXh0
L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM1LDYgKzM1LDE0IEBA
IHB1YmxpYzoKICAgICBTdHJpbmcgdmFsdWVBc1N0cmluZygpIGNvbnN0OwogfTsKIAordGVtcGxh
dGU8Pgorc3RydWN0IFNWR1Byb3BlcnR5VHJhaXRzPFNWR051bWJlckxpc3Q+IHsKKyAgICB0eXBl
ZGVmIGZsb2F0IExpc3RJdGVtVHlwZTsKKworICAgIHN0YXRpYyBTVkdOdW1iZXJMaXN0IGluaXRp
YWxWYWx1ZSgpIHsgcmV0dXJuIFNWR051bWJlckxpc3QoKTsgfQorICAgIHN0YXRpYyBTdHJpbmcg
dG9TdHJpbmcoY29uc3QgU1ZHTnVtYmVyTGlzdCYgdHlwZSkgeyByZXR1cm4gdHlwZS52YWx1ZUFz
U3RyaW5nKCk7IH0KK307CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVO
QUJMRShTVkcpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmgJKHJldmlzaW9uIDcyOTAxKQor
KysgV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzIs
NiArMzIsOCBAQAogI2luY2x1ZGUgIlNWR1Rlc3RzLmgiCiAjaW5jbHVkZSAiU1ZHVHJhbnNmb3Jt
TGlzdC5oIgogI2luY2x1ZGUgIlNWR1VSSVJlZmVyZW5jZS5oIgorI2luY2x1ZGUgIlNWR1ByZXNl
cnZlQXNwZWN0UmF0aW8uaCIKKyNpbmNsdWRlICJTVkdSZWN0LmgiCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApJbmRleDogV2ViQ29yZS9zdmcvU1ZHUG9pbnRMaXN0LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9zdmcvU1ZHUG9pbnRMaXN0LmgJKHJldmlzaW9uIDcyOTAxKQorKysgV2ViQ29yZS9z
dmcvU1ZHUG9pbnRMaXN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTIzLDggKzIzLDggQEAKIAogI2lm
IEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiUXVhbGlmaWVkTmFtZS5oIgorI2luY2x1ZGUgIlNWR1By
b3BlcnR5VHJhaXRzLmgiCiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgotI2luY2x1ZGUgPHd0Zi90
ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM5LDYgKzM5LDEy
IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBjcmVhdGVBbmltYXRlZChjb25zdCBTVkdQb2lu
dExpc3QmIGZyb21MaXN0LCBjb25zdCBTVkdQb2ludExpc3QmIHRvTGlzdCwgU1ZHUG9pbnRMaXN0
JiByZXN1bHRMaXN0LCBmbG9hdCBwcm9ncmVzcyk7CiB9OwogCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qg
U1ZHUHJvcGVydHlUcmFpdHM8U1ZHUG9pbnRMaXN0PiB7CisgICAgc3RhdGljIFNWR1BvaW50TGlz
dCBpbml0aWFsVmFsdWUoKSB7IHJldHVybiBTVkdQb2ludExpc3QoKTsgfQorICAgIHR5cGVkZWYg
RmxvYXRQb2ludCBMaXN0SXRlbVR5cGU7Cit9OworCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
ICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHUHJlc2VydmVBc3Bl
Y3RSYXRpby5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0
aW8uaAkocmV2aXNpb24gNzI5MDEpCisrKyBXZWJDb3JlL3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJh
dGlvLmgJKHdvcmtpbmcgY29weSkKQEAgLTIzLDcgKzIzLDcgQEAKIAogI2lmIEVOQUJMRShTVkcp
CiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgotI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmlu
Zy5oPgorI2luY2x1ZGUgIlNWR1Byb3BlcnR5VHJhaXRzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIApAQCAtODYsNiArODYsMTIgQEAgcHJpdmF0ZToKICAgICBTVkdNZWV0T3JTbGljZVR5cGUg
bV9tZWV0T3JTbGljZTsKIH07CiAKK3RlbXBsYXRlPD4KK3N0cnVjdCBTVkdQcm9wZXJ0eVRyYWl0
czxTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvPiB7CisgICAgc3RhdGljIFNWR1ByZXNlcnZlQXNwZWN0
UmF0aW8gaW5pdGlhbFZhbHVlKCkgeyByZXR1cm4gU1ZHUHJlc2VydmVBc3BlY3RSYXRpbygpOyB9
CisgICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhjb25zdCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlv
JiB0eXBlKSB7IHJldHVybiB0eXBlLnZhbHVlQXNTdHJpbmcoKTsgfQorfTsKKwogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFNWRykKSW5kZXg6IFdlYkNvcmUvc3Zn
L1NWR1JlY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdSZWN0LmgJKHJldmlzaW9u
IDApCisrKyBXZWJDb3JlL3N2Zy9TVkdSZWN0LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTEg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVy
c2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0
IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0
IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcu
TElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
SW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIx
MTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgU1ZHUmVjdF9oCisjZGVmaW5lIFNWR1JlY3Rf
aAorCisjaWYgRU5BQkxFKFNWRykKKyNpbmNsdWRlICJGbG9hdFJlY3QuaCIKKyNpbmNsdWRlICJT
VkdQcm9wZXJ0eVRyYWl0cy5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgU1ZHUHJvcGVydHlU
cmFpdHM8RmxvYXRSZWN0PiB7CisgICAgc3RhdGljIEZsb2F0UmVjdCBpbml0aWFsVmFsdWUoKSB7
IHJldHVybiBGbG9hdFJlY3QoKTsgfQorICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoY29uc3Qg
RmxvYXRSZWN0JiB0eXBlKQorICAgIHsKKyAgICAgICAgU3RyaW5nQnVpbGRlciBidWlsZGVyOwor
ICAgICAgICBidWlsZGVyLmFwcGVuZChTdHJpbmc6Om51bWJlcih0eXBlLngoKSkpOworICAgICAg
ICBidWlsZGVyLmFwcGVuZCgnICcpOworICAgICAgICBidWlsZGVyLmFwcGVuZChTdHJpbmc6Om51
bWJlcih0eXBlLnkoKSkpOworICAgICAgICBidWlsZGVyLmFwcGVuZCgnICcpOworICAgICAgICBi
dWlsZGVyLmFwcGVuZChTdHJpbmc6Om51bWJlcih0eXBlLndpZHRoKCkpKTsKKyAgICAgICAgYnVp
bGRlci5hcHBlbmQoJyAnKTsKKyAgICAgICAgYnVpbGRlci5hcHBlbmQoU3RyaW5nOjpudW1iZXIo
dHlwZS5oZWlnaHQoKSkpOworICAgICAgICBidWlsZGVyLmFwcGVuZCgnICcpOworICAgICAgICBy
ZXR1cm4gYnVpbGRlci50b1N0cmluZygpOworICAgIH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShTVkcpCisjZW5kaWYgLy8gU1ZHUmVjdF9oCkluZGV4
OiBXZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcv
U1ZHU1ZHRWxlbWVudC5oCShyZXZpc2lvbiA3MjkwMSkKKysrIFdlYkNvcmUvc3ZnL1NWR1NWR0Vs
ZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsOCBAQAogI2luY2x1ZGUgIlNWR0V4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaCIKICNpbmNsdWRlICJTVkdGaXRUb1ZpZXdCb3guaCIK
ICNpbmNsdWRlICJTVkdMYW5nU3BhY2UuaCIKKyNpbmNsdWRlICJTVkdQcmVzZXJ2ZUFzcGVjdFJh
dGlvLmgiCisjaW5jbHVkZSAiU1ZHUmVjdC5oIgogI2luY2x1ZGUgIlNWR1N0eWxlZExvY2F0YWJs
ZUVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdUZXN0cy5oIgogI2luY2x1ZGUgIlNWR1pvb21BbmRQ
YW4uaCIKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1N0cmluZ0xpc3QuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3N2Zy9TVkdTdHJpbmdMaXN0LmgJKHJldmlzaW9uIDcyOTAxKQorKysgV2ViQ29yZS9z
dmcvU1ZHU3RyaW5nTGlzdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMyw4ICsyMyw4IEBACiAKICNp
ZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIlF1YWxpZmllZE5hbWUuaCIKKyNpbmNsdWRlICJTVkdQ
cm9wZXJ0eVRyYWl0cy5oIgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KLSNpbmNsdWRlIDx3dGYv
dGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00OSw2ICs0OSwx
MSBAQCBwcml2YXRlOgogICAgIGNvbnN0IFF1YWxpZmllZE5hbWUmIG1fYXR0cmlidXRlTmFtZTsK
IH07CiAKK3RlbXBsYXRlPD4KK3N0cnVjdCBTVkdQcm9wZXJ0eVRyYWl0czxTVkdTdHJpbmdMaXN0
PiB7CisgICAgdHlwZWRlZiBTdHJpbmcgTGlzdEl0ZW1UeXBlOworfTsKKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFNWRykKSW5kZXg6IFdlYkNvcmUvc3ZnL1NW
R1N5bWJvbEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdTeW1ib2xFbGVt
ZW50LmgJKHJldmlzaW9uIDcyOTAxKQorKysgV2ViQ29yZS9zdmcvU1ZHU3ltYm9sRWxlbWVudC5o
CSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw4IEBACiAjaW5jbHVkZSAiU1ZHRXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZC5oIgogI2luY2x1ZGUgIlNWR0ZpdFRvVmlld0JveC5oIgogI2luY2x1
ZGUgIlNWR0xhbmdTcGFjZS5oIgorI2luY2x1ZGUgIlNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uaCIK
KyNpbmNsdWRlICJTVkdSZWN0LmgiCiAjaW5jbHVkZSAiU1ZHU3R5bGVkRWxlbWVudC5oIgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdUcmFuc2Zvcm1MaXN0LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHVHJhbnNmb3JtTGlzdC5oCShyZXZpc2lvbiA3
MjkwMSkKKysrIFdlYkNvcmUvc3ZnL1NWR1RyYW5zZm9ybUxpc3QuaAkod29ya2luZyBjb3B5KQpA
QCAtMjIsOSArMjIsOSBAQAogI2RlZmluZSBTVkdUcmFuc2Zvcm1MaXN0X2gKIAogI2lmIEVOQUJM
RShTVkcpCisjaW5jbHVkZSAiU1ZHUHJvcGVydHlUcmFpdHMuaCIKICNpbmNsdWRlICJTVkdUcmFu
c2Zvcm0uaCIKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvV1RG
U3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDEsNiArNDEsMTMgQEAgcHVi
bGljOgogICAgIFN0cmluZyB2YWx1ZUFzU3RyaW5nKCkgY29uc3Q7CiB9OwogCit0ZW1wbGF0ZTw+
CitzdHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8U1ZHVHJhbnNmb3JtTGlzdD4geworICAgIHN0YXRp
YyBTVkdUcmFuc2Zvcm1MaXN0IGluaXRpYWxWYWx1ZSgpIHsgcmV0dXJuIFNWR1RyYW5zZm9ybUxp
c3QoKTsgfQorICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoY29uc3QgU1ZHVHJhbnNmb3JtTGlz
dCYgdHlwZSkgeyByZXR1cm4gdHlwZS52YWx1ZUFzU3RyaW5nKCk7IH0KKyAgICB0eXBlZGVmIFNW
R1RyYW5zZm9ybSBMaXN0SXRlbVR5cGU7Cit9OworCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
ICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHVmlld0VsZW1lbnQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5oCShyZXZpc2lvbiA3
MjkwMSkKKysrIFdlYkNvcmUvc3ZnL1NWR1ZpZXdFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAg
LTI3LDYgKzI3LDggQEAKICNpbmNsdWRlICJTVkdTdHlsZWRFbGVtZW50LmgiCiAjaW5jbHVkZSAi
U1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIgogI2luY2x1ZGUgIlNWR0ZpdFRvVmlld0Jv
eC5oIgorI2luY2x1ZGUgIlNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uaCIKKyNpbmNsdWRlICJTVkdS
ZWN0LmgiCiAjaW5jbHVkZSAiU1ZHWm9vbUFuZFBhbi5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
c3ZnL1NWR1ZpZXdTcGVjLmgJKHJldmlzaW9uIDcyOTAxKQorKysgV2ViQ29yZS9zdmcvU1ZHVmll
d1NwZWMuaAkod29ya2luZyBjb3B5KQpAQCAtMjQsNiArMjQsOCBAQAogI2luY2x1ZGUgIlNWR0Fu
aW1hdGVkUHJvcGVydHlNYWNyb3MuaCIKICNpbmNsdWRlICJTVkdFbGVtZW50LmgiCiAjaW5jbHVk
ZSAiU1ZHRml0VG9WaWV3Qm94LmgiCisjaW5jbHVkZSAiU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5o
IgorI2luY2x1ZGUgIlNWR1JlY3QuaCIKICNpbmNsdWRlICJTVkdab29tQW5kUGFuLmgiCiAKICNp
bmNsdWRlIDx3dGYvUmVmUHRyLmg+CkluZGV4OiBXZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0xp
c3RQcm9wZXJ0eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHTGlz
dFByb3BlcnR5LmgJKHJldmlzaW9uIDcyOTAxKQorKysgV2ViQ29yZS9zdmcvcHJvcGVydGllcy9T
VkdMaXN0UHJvcGVydHkuaAkod29ya2luZyBjb3B5KQpAQCAtMjEsOCArMjEsOCBAQAogI2RlZmlu
ZSBTVkdMaXN0UHJvcGVydHlfaAogCiAjaWYgRU5BQkxFKFNWRykKLSNpbmNsdWRlICJFeGNlcHRp
b25Db2RlLmgiCiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRQcm9wZXJ0eS5oIgorI2luY2x1ZGUgIlNW
R0V4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIlNWR1Byb3BlcnR5VGVhck9mZi5oIgogI2luY2x1ZGUg
IlNWR1Byb3BlcnR5VHJhaXRzLmgiCiAKSW5kZXg6IFdlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZH
UHJvcGVydHlUcmFpdHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NW
R1Byb3BlcnR5VHJhaXRzLmgJKHJldmlzaW9uIDcyOTAxKQorKysgV2ViQ29yZS9zdmcvcHJvcGVy
dGllcy9TVkdQcm9wZXJ0eVRyYWl0cy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMiwxNiArMjIsNyBA
QAogI2RlZmluZSBTVkdQcm9wZXJ0eVRyYWl0c19oCiAKICNpZiBFTkFCTEUoU1ZHKQotI2luY2x1
ZGUgIkZsb2F0UmVjdC5oIgotI2luY2x1ZGUgIlNWR0FuZ2xlLmgiCi0jaW5jbHVkZSAiU1ZHTGVu
Z3RoLmgiCi0jaW5jbHVkZSAiU1ZHTGVuZ3RoTGlzdC5oIgotI2luY2x1ZGUgIlNWR051bWJlckxp
c3QuaCIKLSNpbmNsdWRlICJTVkdQb2ludExpc3QuaCIKLSNpbmNsdWRlICJTVkdQcmVzZXJ2ZUFz
cGVjdFJhdGlvLmgiCi0jaW5jbHVkZSAiU1ZHU3RyaW5nTGlzdC5oIgotI2luY2x1ZGUgIlNWR1Ry
YW5zZm9ybUxpc3QuaCIKLSNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CisjaW5j
bHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAt
MzksMTIgKzMwLDYgQEAgdGVtcGxhdGU8dHlwZW5hbWUgUHJvcGVydHlUeXBlPgogc3RydWN0IFNW
R1Byb3BlcnR5VHJhaXRzIHsgfTsKIAogdGVtcGxhdGU8Pgotc3RydWN0IFNWR1Byb3BlcnR5VHJh
aXRzPFNWR0FuZ2xlPiB7Ci0gICAgc3RhdGljIFNWR0FuZ2xlIGluaXRpYWxWYWx1ZSgpIHsgcmV0
dXJuIFNWR0FuZ2xlKCk7IH0KLSAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKGNvbnN0IFNWR0Fu
Z2xlJiB0eXBlKSB7IHJldHVybiB0eXBlLnZhbHVlQXNTdHJpbmcoKTsgfQotfTsKLQotdGVtcGxh
dGU8Pgogc3RydWN0IFNWR1Byb3BlcnR5VHJhaXRzPGJvb2w+IHsKICAgICBzdGF0aWMgYm9vbCBp
bml0aWFsVmFsdWUoKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJp
bmcoYm9vbCB0eXBlKSB7IHJldHVybiB0eXBlID8gInRydWUiIDogImZhbHNlIjsgfQpAQCAtNjMs
ODEgKzQ4LDE3IEBAIHN0cnVjdCBTVkdQcm9wZXJ0eVRyYWl0czxsb25nPiB7CiB9OwogCiB0ZW1w
bGF0ZTw+Ci1zdHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8U1ZHTGVuZ3RoPiB7Ci0gICAgc3RhdGlj
IFNWR0xlbmd0aCBpbml0aWFsVmFsdWUoKSB7IHJldHVybiBTVkdMZW5ndGgoKTsgfQotICAgIHN0
YXRpYyBTdHJpbmcgdG9TdHJpbmcoY29uc3QgU1ZHTGVuZ3RoJiB0eXBlKSB7IHJldHVybiB0eXBl
LnZhbHVlQXNTdHJpbmcoKTsgfQotfTsKLQotdGVtcGxhdGU8Pgotc3RydWN0IFNWR1Byb3BlcnR5
VHJhaXRzPFNWR0xlbmd0aExpc3Q+IHsKLSAgICB0eXBlZGVmIFNWR0xlbmd0aCBMaXN0SXRlbVR5
cGU7Ci0KLSAgICBzdGF0aWMgU1ZHTGVuZ3RoTGlzdCBpbml0aWFsVmFsdWUoKSB7IHJldHVybiBT
VkdMZW5ndGhMaXN0KCk7IH0KLSAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKGNvbnN0IFNWR0xl
bmd0aExpc3QmIHR5cGUpIHsgcmV0dXJuIHR5cGUudmFsdWVBc1N0cmluZygpOyB9Ci19OwotCi10
ZW1wbGF0ZTw+CiBzdHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8ZmxvYXQ+IHsKICAgICBzdGF0aWMg
ZmxvYXQgaW5pdGlhbFZhbHVlKCkgeyByZXR1cm4gMDsgfQogICAgIHN0YXRpYyBTdHJpbmcgdG9T
dHJpbmcoZmxvYXQgdHlwZSkgeyByZXR1cm4gU3RyaW5nOjpudW1iZXIodHlwZSk7IH0KIH07CiAK
IHRlbXBsYXRlPD4KLXN0cnVjdCBTVkdQcm9wZXJ0eVRyYWl0czxTVkdOdW1iZXJMaXN0PiB7Ci0g
ICAgdHlwZWRlZiBmbG9hdCBMaXN0SXRlbVR5cGU7Ci0KLSAgICBzdGF0aWMgU1ZHTnVtYmVyTGlz
dCBpbml0aWFsVmFsdWUoKSB7IHJldHVybiBTVkdOdW1iZXJMaXN0KCk7IH0KLSAgICBzdGF0aWMg
U3RyaW5nIHRvU3RyaW5nKGNvbnN0IFNWR051bWJlckxpc3QmIHR5cGUpIHsgcmV0dXJuIHR5cGUu
dmFsdWVBc1N0cmluZygpOyB9Ci19OwotCi10ZW1wbGF0ZTw+Ci1zdHJ1Y3QgU1ZHUHJvcGVydHlU
cmFpdHM8U1ZHUHJlc2VydmVBc3BlY3RSYXRpbz4gewotICAgIHN0YXRpYyBTVkdQcmVzZXJ2ZUFz
cGVjdFJhdGlvIGluaXRpYWxWYWx1ZSgpIHsgcmV0dXJuIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8o
KTsgfQotICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoY29uc3QgU1ZHUHJlc2VydmVBc3BlY3RS
YXRpbyYgdHlwZSkgeyByZXR1cm4gdHlwZS52YWx1ZUFzU3RyaW5nKCk7IH0KLX07Ci0KLXRlbXBs
YXRlPD4KLXN0cnVjdCBTVkdQcm9wZXJ0eVRyYWl0czxGbG9hdFJlY3Q+IHsKLSAgICBzdGF0aWMg
RmxvYXRSZWN0IGluaXRpYWxWYWx1ZSgpIHsgcmV0dXJuIEZsb2F0UmVjdCgpOyB9Ci0gICAgc3Rh
dGljIFN0cmluZyB0b1N0cmluZyhjb25zdCBGbG9hdFJlY3QmIHR5cGUpCi0gICAgewotICAgICAg
ICBTdHJpbmdCdWlsZGVyIGJ1aWxkZXI7Ci0gICAgICAgIGJ1aWxkZXIuYXBwZW5kKFN0cmluZzo6
bnVtYmVyKHR5cGUueCgpKSk7Ci0gICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcgJyk7Ci0gICAgICAg
IGJ1aWxkZXIuYXBwZW5kKFN0cmluZzo6bnVtYmVyKHR5cGUueSgpKSk7Ci0gICAgICAgIGJ1aWxk
ZXIuYXBwZW5kKCcgJyk7Ci0gICAgICAgIGJ1aWxkZXIuYXBwZW5kKFN0cmluZzo6bnVtYmVyKHR5
cGUud2lkdGgoKSkpOwotICAgICAgICBidWlsZGVyLmFwcGVuZCgnICcpOwotICAgICAgICBidWls
ZGVyLmFwcGVuZChTdHJpbmc6Om51bWJlcih0eXBlLmhlaWdodCgpKSk7Ci0gICAgICAgIGJ1aWxk
ZXIuYXBwZW5kKCcgJyk7Ci0gICAgICAgIHJldHVybiBidWlsZGVyLnRvU3RyaW5nKCk7Ci0gICAg
fQotfTsKLQotdGVtcGxhdGU8Pgogc3RydWN0IFNWR1Byb3BlcnR5VHJhaXRzPFN0cmluZz4gewog
ICAgIHN0YXRpYyBTdHJpbmcgaW5pdGlhbFZhbHVlKCkgeyByZXR1cm4gU3RyaW5nKCk7IH0KICAg
ICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKGNvbnN0IFN0cmluZyYgdHlwZSkgeyByZXR1cm4gdHlw
ZTsgfQogfTsKIAotdGVtcGxhdGU8Pgotc3RydWN0IFNWR1Byb3BlcnR5VHJhaXRzPFNWR1N0cmlu
Z0xpc3Q+IHsKLSAgICB0eXBlZGVmIFN0cmluZyBMaXN0SXRlbVR5cGU7Ci19OwotCi10ZW1wbGF0
ZTw+Ci1zdHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8U1ZHUG9pbnRMaXN0PiB7Ci0gICAgc3RhdGlj
IFNWR1BvaW50TGlzdCBpbml0aWFsVmFsdWUoKSB7IHJldHVybiBTVkdQb2ludExpc3QoKTsgfQot
ICAgIHR5cGVkZWYgRmxvYXRQb2ludCBMaXN0SXRlbVR5cGU7Ci19OwotCi10ZW1wbGF0ZTw+Ci1z
dHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8U1ZHVHJhbnNmb3JtTGlzdD4gewotICAgIHN0YXRpYyBT
VkdUcmFuc2Zvcm1MaXN0IGluaXRpYWxWYWx1ZSgpIHsgcmV0dXJuIFNWR1RyYW5zZm9ybUxpc3Qo
KTsgfQotICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoY29uc3QgU1ZHVHJhbnNmb3JtTGlzdCYg
dHlwZSkgeyByZXR1cm4gdHlwZS52YWx1ZUFzU3RyaW5nKCk7IH0KLSAgICB0eXBlZGVmIFNWR1Ry
YW5zZm9ybSBMaXN0SXRlbVR5cGU7Ci19OwotCiB9CiAKICNlbmRpZgpJbmRleDogV2ViQ29yZS9z
dmcvcHJvcGVydGllcy9TVkdUcmFuc2Zvcm1MaXN0UHJvcGVydHlUZWFyT2ZmLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdUcmFuc2Zvcm1MaXN0UHJvcGVydHlUZWFy
T2ZmLmgJKHJldmlzaW9uIDcyOTAxKQorKysgV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdUcmFu
c2Zvcm1MaXN0UHJvcGVydHlUZWFyT2ZmLmgJKHdvcmtpbmcgY29weSkKQEAgLTIyLDYgKzIyLDcg
QEAKIAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiU1ZHTGlzdFByb3BlcnR5VGVhck9mZi5o
IgorI2luY2x1ZGUgIlNWR1RyYW5zZm9ybUxpc3QuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Cg==
</data>
<flag name="review"
          id="65872"
          type_id="1"
          status="+"
          setter="krit"
    />
          </attachment>
      

    </bug>

</bugzilla>