<?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>70314</bug_id>
          
          <creation_ts>2011-10-18 01:15:36 -0700</creation_ts>
          <short_desc>Prepare SVGImage intrinsic size negotiation: Add intrinsic size &amp; ratio calculation functionality to Image</short_desc>
          <delta_ts>2011-10-18 01:39:11 -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>SVG</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>
          
          <blocked>47156</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Nikolas Zimmermann">zimmermann</reporter>
          <assigned_to name="Nikolas Zimmermann">zimmermann</assigned_to>
          <cc>japhet</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>485901</commentid>
    <comment_count>0</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-10-18 01:15:36 -0700</bug_when>
    <thetext>Add a &quot;void computeIntrinsicDimension(Length&amp; intrinsicWidth, Lengt&amp; intrinsicHeight, FloatSize&amp; intrinsicRatio)&quot; helper method to Image/GeneratedImage/SVGImage and make it accessible through StyleImage.
This splits off some parts of bug 47156 into a smaller piece.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485904</commentid>
    <comment_count>1</comment_count>
      <attachid>111408</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-10-18 01:23:37 -0700</bug_when>
    <thetext>Created attachment 111408
Patch

Split-off another chunk from bug 47156, to aid reducing the total patch size.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485906</commentid>
    <comment_count>2</comment_count>
      <attachid>111408</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2011-10-18 01:32:17 -0700</bug_when>
    <thetext>Comment on attachment 111408
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485908</commentid>
    <comment_count>3</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-10-18 01:33:32 -0700</bug_when>
    <thetext>Oops ; missing in one line in SVGImage.cpp - manual merging sucks..
I&apos;ll make sure it builds before landing :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485909</commentid>
    <comment_count>4</comment_count>
      <attachid>111408</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-10-18 01:34:20 -0700</bug_when>
    <thetext>Comment on attachment 111408
Patch

Attachment 111408 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/10125167</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485911</commentid>
    <comment_count>5</comment_count>
      <attachid>111408</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-10-18 01:38:09 -0700</bug_when>
    <thetext>Comment on attachment 111408
Patch

Attachment 111408 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/10126163</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485912</commentid>
    <comment_count>6</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-10-18 01:38:48 -0700</bug_when>
    <thetext>Landed in r97727.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111408</attachid>
            <date>2011-10-18 01:23:37 -0700</date>
            <delta_ts>2011-10-18 01:39:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>SVGImage-intrinsic-prep-v1.diff</filename>
            <type>text/plain</type>
            <size>16300</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk3NzI2KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDQgQEAKKzIwMTEtMTAtMTggIE5pa29sYXMg
WmltbWVybWFubiAgPG56aW1tZXJtYW5uQHJpbS5jb20+CisKKyAgICAgICAgUHJlcGFyZSBTVkdJ
bWFnZSBpbnRyaW5zaWMgc2l6ZSBuZWdvdGlhdGlvbjogQWRkIGludHJpbnNpYyBzaXplICYgcmF0
aW8gY2FsY3VsYXRpb24gZnVuY3Rpb25hbGl0eSB0byBJbWFnZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMTQKKworICAgICAgICBBZGQgYSAidm9p
ZCBjb21wdXRlSW50cmluc2ljRGltZW5zaW9uKExlbmd0aCYgaW50cmluc2ljV2lkdGgsIExlbmd0
JiBpbnRyaW5zaWNIZWlnaHQsIEZsb2F0U2l6ZSYgaW50cmluc2ljUmF0aW8pIiBoZWxwZXIgbWV0
aG9kCisgICAgICAgIHRvIEltYWdlL0dlbmVyYXRlZEltYWdlL1NWR0ltYWdlIGFuZCBtYWtlIGl0
IGFjY2Vzc2libGUgdGhyb3VnaCBTdHlsZUltYWdlLgorCisgICAgICAgIEZvciBhIHJlZ3VsYXIg
SW1hZ2UgdGhlIGludHJpbnNpY1dpZHRoL0hlaWdodCBjb250YWlucyBqdXN0IGEgTGVuZ3RoKHNp
emUoKS53aWR0aCgpLCBGaXhlZCkuIEluIGNvbnRyYXJ5IFNWR0ltYWdlcyBwYXNzIG9uIHRoZQor
ICAgICAgICBzdHlsZSgpLT53aWR0aCgpL2hlaWdodCgpIHZhbHVlcyBmcm9tIHRoZSByZW5kZXIg
c3R5bGUgb2YgdGhlIFJlbmRlclNWR1Jvb3QgcmVuZGVyZXIuIFRoZXNlIGluZm9ybWF0aW9uIGFy
ZSBuZWVkZWQgdG8gaW1wbGVtZW50CisgICAgICAgIHRoZSBzaXplIG5lZ290aWF0aW9uIGJldHdl
ZW4gZW1iZWRkZWQgU1ZHIGltYWdlcyBhbmQgdGhlIGVtYmVkZGVyLgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgYXMgdGhpcyBu
ZXcgZnVuY3Rpb25hbGl0eSBpcyBub3QgeWV0IHVzZWQuCisKKyAgICAgICAgKiBsb2FkZXIvY2Fj
aGUvQ2FjaGVkSW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkSW1hZ2U6OmNvbXB1
dGVJbnRyaW5zaWNEaW1lbnNpb25zKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkSW1h
Z2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HZW5lcmF0ZWRJbWFnZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpHZW5lcmF0ZWRJbWFnZTo6Y29tcHV0ZUludHJpbnNpY0RpbWVuc2lv
bnMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dlbmVyYXRlZEltYWdlLmg6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1h
Z2U6OmNvbXB1dGVJbnRyaW5zaWNEaW1lbnNpb25zKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9JbWFnZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL1BERkRvY3VtZW50
SW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UERGRG9jdW1lbnRJbWFnZTo6Y29tcHV0ZUlu
dHJpbnNpY0RpbWVuc2lvbnMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL1BERkRv
Y3VtZW50SW1hZ2UuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVDYWNoZWRJbWFn
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZUNhY2hlZEltYWdlOjpjb21wdXRlSW50cmlu
c2ljRGltZW5zaW9ucyk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlQ2FjaGVkSW1h
Z2UuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVHZW5lcmF0ZWRJbWFnZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTdHlsZUdlbmVyYXRlZEltYWdlOjpjb21wdXRlSW50cmluc2lj
RGltZW5zaW9ucyk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlR2VuZXJhdGVkSW1h
Z2UuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVJbWFnZS5oOgorICAgICAgICAq
IHJlbmRlcmluZy9zdHlsZS9TdHlsZVBlbmRpbmdJbWFnZS5oOgorICAgICAgICAoV2ViQ29yZTo6
U3R5bGVQZW5kaW5nSW1hZ2U6OmNvbXB1dGVJbnRyaW5zaWNEaW1lbnNpb25zKToKKyAgICAgICAg
KiBzdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHSW1hZ2U6
OmNvbXB1dGVJbnRyaW5zaWNEaW1lbnNpb25zKToKKyAgICAgICAgKiBzdmcvZ3JhcGhpY3MvU1ZH
SW1hZ2UuaDoKKwogMjAxMS0xMC0xNyAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFtDaHJvbWl1bV0gRGlmZmVyZW50IGRp
bWVuc2lvbnMgYXJlIHJlcG9ydGVkIGZvciBlbGVtZW50cyBvbnNjcmVlbiBhbmQgaW4gdGhlIE1l
dHJpY3MgcGFuZQpJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1h
Z2UuY3BwCShyZXZpc2lvbiA5NzQ1MSkKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRJbWFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0MCw2ICsyNDAsMTIgQEAgSW50U2l6
ZSBDYWNoZWRJbWFnZTo6aW1hZ2VTaXplRm9yUmVuZGVyZQogICAgIHJldHVybiBJbnRTaXplKHdp
ZHRoLCBoZWlnaHQpOwogfQogCit2b2lkIENhY2hlZEltYWdlOjpjb21wdXRlSW50cmluc2ljRGlt
ZW5zaW9ucyhjb25zdCBSZW5kZXJPYmplY3QqIHJlbmRlcmVyLCBMZW5ndGgmIGludHJpbnNpY1dp
ZHRoLCBMZW5ndGgmIGludHJpbnNpY0hlaWdodCwgRmxvYXRTaXplJiBpbnRyaW5zaWNSYXRpbykK
K3sKKyAgICBpZiAoSW1hZ2UqIGltYWdlID0gbG9va3VwSW1hZ2VGb3JSZW5kZXJlcihyZW5kZXJl
cikpCisgICAgICAgIGltYWdlLT5jb21wdXRlSW50cmluc2ljRGltZW5zaW9ucyhpbnRyaW5zaWNX
aWR0aCwgaW50cmluc2ljSGVpZ2h0LCBpbnRyaW5zaWNSYXRpbyk7Cit9CisKIHZvaWQgQ2FjaGVk
SW1hZ2U6Om5vdGlmeU9ic2VydmVycyhjb25zdCBJbnRSZWN0KiBjaGFuZ2VSZWN0KQogewogICAg
IENhY2hlZFJlc291cmNlQ2xpZW50V2Fsa2VyPENhY2hlZEltYWdlQ2xpZW50PiB3KG1fY2xpZW50
cyk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuaAkocmV2
aXNpb24gOTc0NTEpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2Uu
aAkod29ya2luZyBjb3B5KQpAQCAtMzQsNiArMzQsOCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBDYWNoZWRSZXNvdXJjZUxvYWRlcjsKK2NsYXNzIExlbmd0aDsKK2NsYXNzIEZsb2F0
U2l6ZTsKIGNsYXNzIE1lbW9yeUNhY2hlOwogY2xhc3MgUmVuZGVyT2JqZWN0OwogCkBAIC02NCw2
ICs2Niw3IEBAIHB1YmxpYzoKICAgICAKICAgICAvLyBUaGlzIG1ldGhvZCB0YWtlcyBhIHpvb20g
bXVsdGlwbGllciB0aGF0IGNhbiBiZSB1c2VkIHRvIGluY3JlYXNlIHRoZSBuYXR1cmFsIHNpemUg
b2YgdGhlIGltYWdlIGJ5IHRoZSB6b29tLgogICAgIEludFNpemUgaW1hZ2VTaXplRm9yUmVuZGVy
ZXIoY29uc3QgUmVuZGVyT2JqZWN0KiwgZmxvYXQgbXVsdGlwbGllcik7IC8vIHJldHVybnMgdGhl
IHNpemUgb2YgdGhlIGNvbXBsZXRlIGltYWdlLgorICAgIHZvaWQgY29tcHV0ZUludHJpbnNpY0Rp
bWVuc2lvbnMoY29uc3QgUmVuZGVyT2JqZWN0KiwgTGVuZ3RoJiBpbnRyaW5zaWNXaWR0aCwgTGVu
Z3RoJiBpbnRyaW5zaWNIZWlnaHQsIEZsb2F0U2l6ZSYgaW50cmluc2ljUmF0aW8pOwogCiAgICAg
dmlydHVhbCB2b2lkIGRpZEFkZENsaWVudChDYWNoZWRSZXNvdXJjZUNsaWVudCopOwogICAgIApJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VuZXJhdGVkSW1hZ2UuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlbmVyYXRl
ZEltYWdlLmNwcAkocmV2aXNpb24gOTc0NTEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9HZW5lcmF0ZWRJbWFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5LDggKzI5LDcg
QEAKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIK
ICNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgotCi11c2luZyBuYW1lc3BhY2Ugc3RkOworI2luY2x1
ZGUgIkxlbmd0aC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTY3LDQgKzY2LDEwIEBA
IHZvaWQgR2VuZXJhdGVkSW1hZ2U6OmRyYXdQYXR0ZXJuKEdyYXBoaWMKICAgICBpbWFnZUJ1ZmZl
ci0+ZHJhd1BhdHRlcm4oY29udGV4dCwgYWRqdXN0ZWRTcmNSZWN0LCBwYXR0ZXJuVHJhbnNmb3Jt
LCBwaGFzZSwgc3R5bGVDb2xvclNwYWNlLCBjb21wb3NpdGVPcCwgZGVzdFJlY3QpOwogfQogCit2
b2lkIEdlbmVyYXRlZEltYWdlOjpjb21wdXRlSW50cmluc2ljRGltZW5zaW9ucyhMZW5ndGgmIGlu
dHJpbnNpY1dpZHRoLCBMZW5ndGgmIGludHJpbnNpY0hlaWdodCwgRmxvYXRTaXplJiBpbnRyaW5z
aWNSYXRpbykKK3sKKyAgICBJbWFnZTo6Y29tcHV0ZUludHJpbnNpY0RpbWVuc2lvbnMoaW50cmlu
c2ljV2lkdGgsIGludHJpbnNpY0hlaWdodCwgaW50cmluc2ljUmF0aW8pOworICAgIGludHJpbnNp
Y1JhdGlvID0gRmxvYXRTaXplKCk7Cit9CisKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dlbmVyYXRlZEltYWdlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VuZXJhdGVkSW1hZ2UuaAkocmV2aXNpb24gOTc0NTEpCisr
KyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW5lcmF0ZWRJbWFnZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC00NCwxMSArNDQsMTEgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29s
IGhhc1NpbmdsZVNlY3VyaXR5T3JpZ2luKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogCi0gICAg
Ly8gVGhlc2UgYXJlIG9ubHkgdXNlZCBmb3IgU1ZHR2VuZXJhdGVkSW1hZ2UgcmlnaHQgbm93CiAg
ICAgdmlydHVhbCB2b2lkIHNldENvbnRhaW5lclNpemUoY29uc3QgSW50U2l6ZSYgc2l6ZSkgeyBt
X3NpemUgPSBzaXplOyB9CiAgICAgdmlydHVhbCBib29sIHVzZXNDb250YWluZXJTaXplKCkgY29u
c3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgYm9vbCBoYXNSZWxhdGl2ZVdpZHRoKCkg
Y29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgYm9vbCBoYXNSZWxhdGl2ZUhlaWdo
dCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKyAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZUludHJp
bnNpY0RpbWVuc2lvbnMoTGVuZ3RoJiBpbnRyaW5zaWNXaWR0aCwgTGVuZ3RoJiBpbnRyaW5zaWNI
ZWlnaHQsIEZsb2F0U2l6ZSYgaW50cmluc2ljUmF0aW8pOwogCiAgICAgdmlydHVhbCBJbnRTaXpl
IHNpemUoKSBjb25zdCB7IHJldHVybiBtX3NpemU7IH0KIApJbmRleDogU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmNwcAkocmV2aXNpb24gOTc0NTEpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMx
LDYgKzMxLDcgQEAKICNpbmNsdWRlICJCaXRtYXBJbWFnZS5oIgogI2luY2x1ZGUgIkdyYXBoaWNz
Q29udGV4dC5oIgogI2luY2x1ZGUgIkludFJlY3QuaCIKKyNpbmNsdWRlICJMZW5ndGguaCIKICNp
bmNsdWRlICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgiCiAj
aW5jbHVkZSA8bWF0aC5oPgpAQCAtMTY2LDUgKzE2NywxMSBAQCB2b2lkIEltYWdlOjpkcmF3VGls
ZWQoR3JhcGhpY3NDb250ZXh0KiBjCiAgICAgc3RhcnRBbmltYXRpb24oKTsKIH0KIAordm9pZCBJ
bWFnZTo6Y29tcHV0ZUludHJpbnNpY0RpbWVuc2lvbnMoTGVuZ3RoJiBpbnRyaW5zaWNXaWR0aCwg
TGVuZ3RoJiBpbnRyaW5zaWNIZWlnaHQsIEZsb2F0U2l6ZSYgaW50cmluc2ljUmF0aW8pCit7Cisg
ICAgaW50cmluc2ljUmF0aW8gPSBzaXplKCk7CisgICAgaW50cmluc2ljV2lkdGggPSBMZW5ndGgo
aW50cmluc2ljUmF0aW8ud2lkdGgoKSwgRml4ZWQpOworICAgIGludHJpbnNpY0hlaWdodCA9IExl
bmd0aChpbnRyaW5zaWNSYXRpby5oZWlnaHQoKSwgRml4ZWQpOworfQogCiB9CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmgJKHJldmlzaW9uIDk3NDUxKQorKysg
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuaAkod29ya2luZyBjb3B5KQpA
QCAtNzEsNiArNzEsNyBAQCBjbGFzcyBGbG9hdFBvaW50OwogY2xhc3MgRmxvYXRSZWN0OwogY2xh
c3MgRmxvYXRTaXplOwogY2xhc3MgR3JhcGhpY3NDb250ZXh0OworY2xhc3MgTGVuZ3RoOwogY2xh
c3MgU2hhcmVkQnVmZmVyOwogCiAvLyBUaGlzIGNsYXNzIGdldHMgbm90aWZpZWQgd2hlbiBhbiBp
bWFnZSBjcmVhdGVzIG9yIGRlc3Ryb3lzIGRlY29kZWQgZnJhbWVzIGFuZCB3aGVuIGl0IGFkdmFu
Y2VzIGFuaW1hdGlvbiBmcmFtZXMuCkBAIC05OCwxMSArOTksMTEgQEAgcHVibGljOgogICAgIHN0
YXRpYyBJbWFnZSogbnVsbEltYWdlKCk7CiAgICAgYm9vbCBpc051bGwoKSBjb25zdCB7IHJldHVy
biBzaXplKCkuaXNFbXB0eSgpOyB9CiAKLSAgICAvLyBUaGVzZSBhcmUgb25seSB1c2VkIGZvciBT
VkdJbWFnZSByaWdodCBub3cKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q29udGFpbmVyU2l6ZShjb25z
dCBJbnRTaXplJikgeyB9CiAgICAgdmlydHVhbCBib29sIHVzZXNDb250YWluZXJTaXplKCkgY29u
c3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaGFzUmVsYXRpdmVXaWR0aCgp
IGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGhhc1JlbGF0aXZlSGVp
Z2h0KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZUlu
dHJpbnNpY0RpbWVuc2lvbnMoTGVuZ3RoJiBpbnRyaW5zaWNXaWR0aCwgTGVuZ3RoJiBpbnRyaW5z
aWNIZWlnaHQsIEZsb2F0U2l6ZSYgaW50cmluc2ljUmF0aW8pOwogCiAgICAgdmlydHVhbCBJbnRT
aXplIHNpemUoKSBjb25zdCA9IDA7CiAgICAgSW50UmVjdCByZWN0KCkgY29uc3QgeyByZXR1cm4g
SW50UmVjdChJbnRQb2ludCgpLCBzaXplKCkpOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jZy9QREZEb2N1bWVudEltYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9QREZEb2N1bWVudEltYWdlLmNwcAkocmV2
aXNpb24gOTc0NTEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9QREZE
b2N1bWVudEltYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsNyBAQAogCiAjaW5j
bHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiSW1hZ2VPYnNlcnZlci5oIgorI2lu
Y2x1ZGUgIkxlbmd0aC5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgogI2luY2x1ZGUgPENv
cmVHcmFwaGljcy9DR0NvbnRleHQuaD4KICNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dQREZEb2N1
bWVudC5oPgpAQCAtNzUsNiArNzYsMTMgQEAgSW50U2l6ZSBQREZEb2N1bWVudEltYWdlOjpzaXpl
KCkgY29uc3QKICAgICByZXR1cm4gSW50U2l6ZSgoaW50KShmYWJzZihyb3RXaWR0aCkgKyAwLjVm
KSwgKGludCkoZmFic2Yocm90SGVpZ2h0KSArIDAuNWYpKTsKIH0KIAordm9pZCBQREZEb2N1bWVu
dEltYWdlOjpjb21wdXRlSW50cmluc2ljRGltZW5zaW9ucyhMZW5ndGgmIGludHJpbnNpY1dpZHRo
LCBMZW5ndGgmIGludHJpbnNpY0hlaWdodCwgRmxvYXRTaXplJiBpbnRyaW5zaWNSYXRpbykKK3sK
KyAgICAvLyBGSVhNRTogSWYgd2Ugd2FudCBzaXplIG5lZ290aWF0aW9uIHdpdGggUERGIGRvY3Vt
ZW50cyBhcy1pbWFnZSwgdGhpcyBpcyB0aGUgcGxhY2UgdG8gaW1wbGVtZW50IGl0IChodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIwOTUpLgorICAgIEltYWdlOjpjb21w
dXRlSW50cmluc2ljRGltZW5zaW9ucyhpbnRyaW5zaWNXaWR0aCwgaW50cmluc2ljSGVpZ2h0LCBp
bnRyaW5zaWNSYXRpbyk7CisgICAgaW50cmluc2ljUmF0aW8gPSBGbG9hdFNpemUoKTsKK30KKwog
Ym9vbCBQREZEb2N1bWVudEltYWdlOjpkYXRhQ2hhbmdlZChib29sIGFsbERhdGFSZWNlaXZlZCkK
IHsKICAgICBpZiAoYWxsRGF0YVJlY2VpdmVkICYmICFtX2RvY3VtZW50KSB7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9QREZEb2N1bWVudEltYWdlLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvUERGRG9jdW1lbnRJ
bWFnZS5oCShyZXZpc2lvbiA5NzQ1MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NnL1BERkRvY3VtZW50SW1hZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtNTksNiArNTksNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkZXN0cm95RGVjb2Rl
ZERhdGEoYm9vbCAvKmRlc3Ryb3lBbGwqLyA9IHRydWUpIHsgfQogICAgICAgICB2aXJ0dWFsIHVu
c2lnbmVkIGRlY29kZWRTaXplKCkgY29uc3QgeyByZXR1cm4gMDsgfQogCisgICAgICAgIHZpcnR1
YWwgdm9pZCBjb21wdXRlSW50cmluc2ljRGltZW5zaW9ucyhMZW5ndGgmIGludHJpbnNpY1dpZHRo
LCBMZW5ndGgmIGludHJpbnNpY0hlaWdodCwgRmxvYXRTaXplJiBpbnRyaW5zaWNSYXRpbyk7CiAg
ICAgICAgIHZpcnR1YWwgSW50U2l6ZSBzaXplKCkgY29uc3Q7CiAKICAgICAgICAgUERGRG9jdW1l
bnRJbWFnZSgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlQ2Fj
aGVkSW1hZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9TdHlsZUNhY2hlZEltYWdlLmNwcAkocmV2aXNpb24gOTc0NTEpCisrKyBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVDYWNoZWRJbWFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTY0LDYgKzY0LDExIEBAIGJvb2wgU3R5bGVDYWNoZWRJbWFnZTo6aW1hZ2VIYXNSZWxhdGl2ZUgK
ICAgICByZXR1cm4gbV9pbWFnZS0+aW1hZ2VIYXNSZWxhdGl2ZUhlaWdodCgpOwogfQogCit2b2lk
IFN0eWxlQ2FjaGVkSW1hZ2U6OmNvbXB1dGVJbnRyaW5zaWNEaW1lbnNpb25zKGNvbnN0IFJlbmRl
ck9iamVjdCogcmVuZGVyZXIsIExlbmd0aCYgaW50cmluc2ljV2lkdGgsIExlbmd0aCYgaW50cmlu
c2ljSGVpZ2h0LCBGbG9hdFNpemUmIGludHJpbnNpY1JhdGlvKQoreworICAgIG1faW1hZ2UtPmNv
bXB1dGVJbnRyaW5zaWNEaW1lbnNpb25zKHJlbmRlcmVyLCBpbnRyaW5zaWNXaWR0aCwgaW50cmlu
c2ljSGVpZ2h0LCBpbnRyaW5zaWNSYXRpbyk7Cit9CisKIGJvb2wgU3R5bGVDYWNoZWRJbWFnZTo6
dXNlc0ltYWdlQ29udGFpbmVyU2l6ZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1faW1hZ2UtPnVz
ZXNJbWFnZUNvbnRhaW5lclNpemUoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9TdHlsZUNhY2hlZEltYWdlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1N0eWxlQ2FjaGVkSW1hZ2UuaAkocmV2aXNpb24gOTc0NTEpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVDYWNoZWRJbWFnZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC00Niw2ICs0Niw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEludFNpemUgaW1hZ2VT
aXplKGNvbnN0IFJlbmRlck9iamVjdCosIGZsb2F0IG11bHRpcGxpZXIpIGNvbnN0OwogICAgIHZp
cnR1YWwgYm9vbCBpbWFnZUhhc1JlbGF0aXZlV2lkdGgoKSBjb25zdDsKICAgICB2aXJ0dWFsIGJv
b2wgaW1hZ2VIYXNSZWxhdGl2ZUhlaWdodCgpIGNvbnN0OworICAgIHZpcnR1YWwgdm9pZCBjb21w
dXRlSW50cmluc2ljRGltZW5zaW9ucyhjb25zdCBSZW5kZXJPYmplY3QqLCBMZW5ndGgmIGludHJp
bnNpY1dpZHRoLCBMZW5ndGgmIGludHJpbnNpY0hlaWdodCwgRmxvYXRTaXplJiBpbnRyaW5zaWNS
YXRpbyk7CiAgICAgdmlydHVhbCBib29sIHVzZXNJbWFnZUNvbnRhaW5lclNpemUoKSBjb25zdDsK
ICAgICB2aXJ0dWFsIHZvaWQgc2V0Q29udGFpbmVyU2l6ZUZvclJlbmRlcmVyKGNvbnN0IFJlbmRl
ck9iamVjdCosIGNvbnN0IEludFNpemUmKTsKICAgICB2aXJ0dWFsIHZvaWQgYWRkQ2xpZW50KFJl
bmRlck9iamVjdCopOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxl
R2VuZXJhdGVkSW1hZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9TdHlsZUdlbmVyYXRlZEltYWdlLmNwcAkocmV2aXNpb24gOTc0NTEpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVHZW5lcmF0ZWRJbWFnZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTU4LDYgKzU4LDE0IEBAIEludFNpemUgU3R5bGVHZW5lcmF0ZWRJbWFnZTo6
aW1hZ2VTaXplKGMKICAgICByZXR1cm4gbV9jb250YWluZXJTaXplOwogfQogCit2b2lkIFN0eWxl
R2VuZXJhdGVkSW1hZ2U6OmNvbXB1dGVJbnRyaW5zaWNEaW1lbnNpb25zKGNvbnN0IFJlbmRlck9i
amVjdCogcmVuZGVyZXIsIExlbmd0aCYgaW50cmluc2ljV2lkdGgsIExlbmd0aCYgaW50cmluc2lj
SGVpZ2h0LCBGbG9hdFNpemUmIGludHJpbnNpY1JhdGlvKQoreworICAgIEludFNpemUgc2l6ZSA9
IGltYWdlU2l6ZShyZW5kZXJlciwgMSk7CisgICAgaW50cmluc2ljV2lkdGggPSBMZW5ndGgoc2l6
ZS53aWR0aCgpLCBGaXhlZCk7CisgICAgaW50cmluc2ljSGVpZ2h0ID0gTGVuZ3RoKHNpemUuaGVp
Z2h0KCksIEZpeGVkKTsKKyAgICBpbnRyaW5zaWNSYXRpbyA9IHNpemU7Cit9CisKIHZvaWQgU3R5
bGVHZW5lcmF0ZWRJbWFnZTo6YWRkQ2xpZW50KFJlbmRlck9iamVjdCogcmVuZGVyZXIpCiB7CiAg
ICAgbV9nZW5lcmF0b3ItPmFkZENsaWVudChyZW5kZXJlciwgSW50U2l6ZSgpKTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUdlbmVyYXRlZEltYWdlLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlR2VuZXJhdGVkSW1h
Z2UuaAkocmV2aXNpb24gOTc0NTEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
U3R5bGVHZW5lcmF0ZWRJbWFnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00NSw2ICs0NSw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIEludFNpemUgaW1hZ2VTaXplKGNvbnN0IFJlbmRlck9iamVjdCos
IGZsb2F0IG11bHRpcGxpZXIpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBpbWFnZUhhc1JlbGF0
aXZlV2lkdGgoKSBjb25zdCB7IHJldHVybiAhbV9maXhlZFNpemU7IH0KICAgICB2aXJ0dWFsIGJv
b2wgaW1hZ2VIYXNSZWxhdGl2ZUhlaWdodCgpIGNvbnN0IHsgcmV0dXJuICFtX2ZpeGVkU2l6ZTsg
fQorICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlSW50cmluc2ljRGltZW5zaW9ucyhjb25zdCBSZW5k
ZXJPYmplY3QqLCBMZW5ndGgmIGludHJpbnNpY1dpZHRoLCBMZW5ndGgmIGludHJpbnNpY0hlaWdo
dCwgRmxvYXRTaXplJiBpbnRyaW5zaWNSYXRpbyk7CiAgICAgdmlydHVhbCBib29sIHVzZXNJbWFn
ZUNvbnRhaW5lclNpemUoKSBjb25zdCB7IHJldHVybiAhbV9maXhlZFNpemU7IH0KICAgICB2aXJ0
dWFsIHZvaWQgc2V0Q29udGFpbmVyU2l6ZUZvclJlbmRlcmVyKGNvbnN0IFJlbmRlck9iamVjdCos
IGNvbnN0IEludFNpemUmIGNvbnRhaW5lclNpemUpIHsgbV9jb250YWluZXJTaXplID0gY29udGFp
bmVyU2l6ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBhZGRDbGllbnQoUmVuZGVyT2JqZWN0Kik7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVJbWFnZS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUltYWdlLmgJKHJldmlz
aW9uIDk3NDUxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlSW1hZ2Uu
aAkod29ya2luZyBjb3B5KQpAQCAtNTMsNiArNTMsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBi
b29sIGlzTG9hZGVkKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgYm9vbCBl
cnJvck9jY3VycmVkKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIEludFNp
emUgaW1hZ2VTaXplKGNvbnN0IFJlbmRlck9iamVjdCosIGZsb2F0IG11bHRpcGxpZXIpIGNvbnN0
ID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZUludHJpbnNpY0RpbWVuc2lvbnMoY29uc3Qg
UmVuZGVyT2JqZWN0KiwgTGVuZ3RoJiBpbnRyaW5zaWNXaWR0aCwgTGVuZ3RoJiBpbnRyaW5zaWNI
ZWlnaHQsIEZsb2F0U2l6ZSYgaW50cmluc2ljUmF0aW8pID0gMDsKICAgICB2aXJ0dWFsIGJvb2wg
aW1hZ2VIYXNSZWxhdGl2ZVdpZHRoKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBpbWFn
ZUhhc1JlbGF0aXZlSGVpZ2h0KCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgYm9vbCB1c2VzSW1h
Z2VDb250YWluZXJTaXplKCkgY29uc3QgPSAwOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1N0eWxlUGVuZGluZ0ltYWdlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUGVuZGluZ0ltYWdlLmgJKHJldmlzaW9uIDk3NDUxKQor
KysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUGVuZGluZ0ltYWdlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTQ3LDYgKzQ3LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgSW50U2l6
ZSBpbWFnZVNpemUoY29uc3QgUmVuZGVyT2JqZWN0KiwgZmxvYXQgLyptdWx0aXBsaWVyKi8pIGNv
bnN0IHsgcmV0dXJuIEludFNpemUoKTsgfQogICAgIHZpcnR1YWwgYm9vbCBpbWFnZUhhc1JlbGF0
aXZlV2lkdGgoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpbWFn
ZUhhc1JlbGF0aXZlSGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFs
IHZvaWQgY29tcHV0ZUludHJpbnNpY0RpbWVuc2lvbnMoY29uc3QgUmVuZGVyT2JqZWN0KiwgTGVu
Z3RoJiAvKiBpbnRyaW5zaWNXaWR0aCAqLyAsIExlbmd0aCYgLyogaW50cmluc2ljSGVpZ2h0ICov
LCBGbG9hdFNpemUmIC8qIGludHJpbnNpY1JhdGlvICovKSB7IH0KICAgICB2aXJ0dWFsIGJvb2wg
dXNlc0ltYWdlQ29udGFpbmVyU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmly
dHVhbCB2b2lkIHNldENvbnRhaW5lclNpemVGb3JSZW5kZXJlcihjb25zdCBSZW5kZXJPYmplY3Qq
LCBjb25zdCBJbnRTaXplJikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGFkZENsaWVudChSZW5kZXJP
YmplY3QqKSB7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNw
cAkocmV2aXNpb24gOTc0NTEpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1h
Z2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTMsNiArMjEzLDI0IEBAIHZvaWQgU1ZHSW1hZ2U6
OmRyYXcoR3JhcGhpY3NDb250ZXh0KiBjb24KICAgICAgICAgaW1hZ2VPYnNlcnZlcigpLT5kaWRE
cmF3KHRoaXMpOwogfQogCit2b2lkIFNWR0ltYWdlOjpjb21wdXRlSW50cmluc2ljRGltZW5zaW9u
cyhMZW5ndGgmIGludHJpbnNpY1dpZHRoLCBMZW5ndGgmIGludHJpbnNpY0hlaWdodCwgRmxvYXRT
aXplJiBpbnRyaW5zaWNSYXRpbykKK3sKKyAgICBpZiAoIW1fcGFnZSkKKyAgICAgICAgcmV0dXJu
OworICAgIEZyYW1lKiBmcmFtZSA9IG1fcGFnZS0+bWFpbkZyYW1lKCk7CisgICAgU1ZHU1ZHRWxl
bWVudCogcm9vdEVsZW1lbnQgPSBzdGF0aWNfY2FzdDxTVkdEb2N1bWVudCo+KGZyYW1lLT5kb2N1
bWVudCgpKS0+cm9vdEVsZW1lbnQoKTsKKyAgICBpZiAoIXJvb3RFbGVtZW50KQorICAgICAgICBy
ZXR1cm47CisgICAgUmVuZGVyQm94KiByZW5kZXJlciA9IHRvUmVuZGVyQm94KHJvb3RFbGVtZW50
LT5yZW5kZXJlcigpKTsKKyAgICBpZiAoIXJlbmRlcmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpbnRyaW5zaWNXaWR0aCA9IHJlbmRlcmVyLT5zdHlsZSgpLT53aWR0aCgpOworICAgIGludHJp
bnNpY0hlaWdodCA9IHJlbmRlcmVyLT5zdHlsZSgpLT5oZWlnaHQoKQorICAgIC8vIEZJWE1FOiBB
ZGQgaW50cmluc2ljUmF0aW8gY2FsY3VsYXRpb24gZnJvbSB3ZWJraXQub3JnL2IvNDcxNTYuCisg
ICAgaW50cmluc2ljUmF0aW8gPSBGbG9hdFNpemUoKTsKK30KKwogTmF0aXZlSW1hZ2VQdHIgU1ZH
SW1hZ2U6Om5hdGl2ZUltYWdlRm9yQ3VycmVudEZyYW1lKCkKIHsKICAgICAvLyBGSVhNRTogSW4g
b3JkZXIgdG8gc3VwcG9ydCBkeW5hbWljIFNWR3Mgd2UgbmVlZCB0byBoYXZlIGEgd2F5IHRvIGlu
dmFsaWRhdGUgdGhpcwpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmgJ
KHJldmlzaW9uIDk3NDUxKQorKysgU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTU1LDYgKzU1LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFs
IGJvb2wgdXNlc0NvbnRhaW5lclNpemUoKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgaGFzUmVs
YXRpdmVXaWR0aCgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBoYXNSZWxhdGl2ZUhlaWdodCgp
IGNvbnN0OworICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlSW50cmluc2ljRGltZW5zaW9ucyhMZW5n
dGgmIGludHJpbnNpY1dpZHRoLCBMZW5ndGgmIGludHJpbnNpY0hlaWdodCwgRmxvYXRTaXplJiBp
bnRyaW5zaWNSYXRpbyk7CiAKICAgICB2aXJ0dWFsIEludFNpemUgc2l6ZSgpIGNvbnN0OwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>