<?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>23905</bug_id>
          
          <creation_ts>2009-02-11 15:12:02 -0800</creation_ts>
          <short_desc>Add 3D properties to RenderStyle and friends</short_desc>
          <delta_ts>2009-02-11 16:10:32 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</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>23359</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Marrin">cmarrin</reporter>
          <assigned_to name="Chris Marrin">cmarrin</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>109379</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2009-02-11 15:12:02 -0800</bug_when>
    <thetext>RenderStyle needs support for 3D related CSS: transform-style-3d, perspective, perspective-origin, and backface-visibility.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>109381</commentid>
    <comment_count>1</comment_count>
      <attachid>27575</attachid>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2009-02-11 15:15:13 -0800</bug_when>
    <thetext>Created attachment 27575
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>109383</commentid>
    <comment_count>2</comment_count>
      <attachid>27575</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2009-02-11 15:22:47 -0800</bug_when>
    <thetext>Comment on attachment 27575
Patch

I don&apos;t think we need to ifdef this code.  Let&apos;s just make the RenderStyle support 3D values. r=me with the ifdefs yanked.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>109387</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2009-02-11 16:10:32 -0800</bug_when>
    <thetext>Sending        WebCore/ChangeLog
Sending        WebCore/platform/graphics/transforms/TransformOperation.h
Sending        WebCore/rendering/style/RenderStyle.cpp
Sending        WebCore/rendering/style/RenderStyle.h
Sending        WebCore/rendering/style/RenderStyleConstants.h
Sending        WebCore/rendering/style/StyleRareNonInheritedData.cpp
Sending        WebCore/rendering/style/StyleRareNonInheritedData.h
Sending        WebCore/rendering/style/StyleTransformData.cpp
Sending        WebCore/rendering/style/StyleTransformData.h
Transmitting file data .........
Committed revision 40877.

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>27575</attachid>
            <date>2009-02-11 15:15:13 -0800</date>
            <delta_ts>2009-02-11 15:22:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>23905.patch</filename>
            <type>text/plain</type>
            <size>16531</size>
            <attacher name="Chris Marrin">cmarrin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MDg3NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDYgQEAKKzIwMDktMDItMTEgIENocmlzIE1hcnJpbiAgPGNtYXJyaW5AYXBwbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisJaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzOTA1CisKKyAgICAgICAgQWRkcyBzdXBw
b3J0IGZvciAzRCBDU1MgcHJvcGVydGllcyAodHJhbnNmb3JtLXN0eWxlLTNkLCBwZXJzcGVjdGl2
ZSwgCisgICAgICAgIHBlcnNwZWN0aXZlLW9yaWdpbiwgYW5kIGJhY2tmYWNlLXZpc2liaWxpdHkp
IHRvIFJlbmRlclN0eWxlIGFuZCBmcmllbmRzCisKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmRpZmYpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmFwcGx5VHJhbnNmb3JtKToKKyAgICAgICAg
KiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkluaGVy
aXRlZEZsYWdzOjp0cmFuc2Zvcm1PcmlnaW5aKToKKyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRl
ZEZsYWdzOjpoYXNUcmFuc2Zvcm1SZWxhdGVkUHJvcGVydHkpOgorICAgICAgICAoV2ViQ29yZTo6
SW5oZXJpdGVkRmxhZ3M6OnRyYW5zZm9ybVN0eWxlM0QpOgorICAgICAgICAoV2ViQ29yZTo6SW5o
ZXJpdGVkRmxhZ3M6OmJhY2tmYWNlVmlzaWJpbGl0eSk6CisgICAgICAgIChXZWJDb3JlOjpJbmhl
cml0ZWRGbGFnczo6cGVyc3BlY3RpdmUpOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxh
Z3M6OnBlcnNwZWN0aXZlT3JpZ2luWCk6CisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFn
czo6cGVyc3BlY3RpdmVPcmlnaW5ZKToKKyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdz
OjpzZXRUcmFuc2Zvcm1PcmlnaW5aKToKKyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdz
OjpzZXRUcmFuc2Zvcm1TdHlsZTNEKToKKyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdz
OjpzZXRCYWNrZmFjZVZpc2liaWxpdHkpOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxh
Z3M6OnNldFBlcnNwZWN0aXZlKToKKyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjpz
ZXRQZXJzcGVjdGl2ZU9yaWdpblgpOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6
OnNldFBlcnNwZWN0aXZlT3JpZ2luWSk6CisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFn
czo6aW5pdGlhbFRyYW5zZm9ybU9yaWdpblopOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVk
RmxhZ3M6OmluaXRpYWxUcmFuc2Zvcm1TdHlsZTNEKToKKyAgICAgICAgKFdlYkNvcmU6OkluaGVy
aXRlZEZsYWdzOjppbml0aWFsQmFja2ZhY2VWaXNpYmlsaXR5KToKKyAgICAgICAgKFdlYkNvcmU6
OkluaGVyaXRlZEZsYWdzOjppbml0aWFsUGVyc3BlY3RpdmUpOgorICAgICAgICAoV2ViQ29yZTo6
SW5oZXJpdGVkRmxhZ3M6OmluaXRpYWxQZXJzcGVjdGl2ZU9yaWdpblgpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5oZXJpdGVkRmxhZ3M6OmluaXRpYWxQZXJzcGVjdGl2ZU9yaWdpblkpOgorICAgICAg
ICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oOgorICAgICAgICAoV2Vi
Q29yZTo6KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVk
RGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpT
dHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmFyZU5v
bkluaGVyaXRlZERhdGE6Om9wZXJhdG9yPT0pOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9T
dHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0
eWxlVHJhbnNmb3JtRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVRyYW5zZm9ybURh
dGE6OlN0eWxlVHJhbnNmb3JtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVRyYW5zZm9y
bURhdGE6Om9wZXJhdG9yPT0pOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZVRyYW5z
Zm9ybURhdGEuaDoKKwogMjAwOS0wMi0xMSAgRGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+
CiAKICAgICAgICAgRWxpbWluYXRlIHRoZSB2aXJ0dWFsIHBvc2l0aW9uKCkgZnVuY3Rpb24gZnJv
bSBSZW5kZXJPYmplY3QuICBSZW5hbWUgdGhlIHBvc2l0aW9uKCkgb3ZlcnJpZGVzCkluZGV4OiBX
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCShyZXZpc2lvbiA0MDg2NikKKysr
IFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzM1LDYgKzMzNSwxNyBAQCBTdHlsZURpZmZlcmVuY2UgUmVuZGVyU3R5bGU6OmRpZmYoY29u
c3QgCiAjZW5kaWYKICAgICAgICAgfQogCisjaWYgRU5BQkxFKDNEX1RSQU5TRk9STVMpICYmICFV
U0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCisgICAgCWlmIChyYXJlTm9uSW5oZXJpdGVkRGF0
YS5nZXQoKSAhPSBvdGhlci0+cmFyZU5vbkluaGVyaXRlZERhdGEuZ2V0KCkpIHsKKyAgICAgICAg
CWlmIChyYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV90cmFuc2Zvcm1TdHlsZTNEICE9IG90aGVyLT5y
YXJlTm9uSW5oZXJpdGVkRGF0YS0+bV90cmFuc2Zvcm1TdHlsZTNEIHx8CisgICAgICAgICAgICAJ
cmFyZU5vbkluaGVyaXRlZERhdGEtPm1fYmFja2ZhY2VWaXNpYmlsaXR5ICE9IG90aGVyLT5yYXJl
Tm9uSW5oZXJpdGVkRGF0YS0+bV9iYWNrZmFjZVZpc2liaWxpdHkgfHwKKyAgICAgICAgICAgIAly
YXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9wZXJzcGVjdGl2ZSAhPSBvdGhlci0+cmFyZU5vbkluaGVy
aXRlZERhdGEtPm1fcGVyc3BlY3RpdmUgfHwKKyAgICAgICAgICAgIAlyYXJlTm9uSW5oZXJpdGVk
RGF0YS0+bV9wZXJzcGVjdGl2ZU9yaWdpblggIT0gb3RoZXItPnJhcmVOb25Jbmhlcml0ZWREYXRh
LT5tX3BlcnNwZWN0aXZlT3JpZ2luWCB8fAorICAgICAgICAgICAgCXJhcmVOb25Jbmhlcml0ZWRE
YXRhLT5tX3BlcnNwZWN0aXZlT3JpZ2luWSAhPSBvdGhlci0+cmFyZU5vbkluaGVyaXRlZERhdGEt
Pm1fcGVyc3BlY3RpdmVPcmlnaW5ZKQorICAgICAgICAgICAgCXJldHVybiBTdHlsZURpZmZlcmVu
Y2VMYXlvdXQ7CisgICAgCX0KKyNlbmRpZgorCiAjaWYgRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JU
KQogICAgICAgICAvLyBJZiByZWdpb25zIGNoYW5nZSwgdHJpZ2dlciBhIHJlbGF5b3V0IHRvIHJl
LWNhbGMgcmVnaW9ucy4KICAgICAgICAgaWYgKHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX2Rhc2hi
b2FyZFJlZ2lvbnMgIT0gb3RoZXItPnJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX2Rhc2hib2FyZFJl
Z2lvbnMpCkBAIC00ODEsNiArNDkyLDE3IEBAIFN0eWxlRGlmZmVyZW5jZSBSZW5kZXJTdHlsZTo6
ZGlmZihjb25zdCAKICAgICAgICAgcmFyZUluaGVyaXRlZERhdGEtPnRleHRTdHJva2VDb2xvciAh
PSBvdGhlci0+cmFyZUluaGVyaXRlZERhdGEtPnRleHRTdHJva2VDb2xvcikKICAgICAgICAgcmV0
dXJuIFN0eWxlRGlmZmVyZW5jZVJlcGFpbnQ7CiAKKyNpZiBFTkFCTEUoM0RfVFJBTlNGT1JNUykg
JiYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQorICAgIGlmIChyYXJlTm9uSW5oZXJpdGVk
RGF0YS5nZXQoKSAhPSBvdGhlci0+cmFyZU5vbkluaGVyaXRlZERhdGEuZ2V0KCkpIHsKKyAgICAg
ICAgaWYgKHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX3RyYW5zZm9ybVN0eWxlM0QgIT0gb3RoZXIt
PnJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX3RyYW5zZm9ybVN0eWxlM0QgfHwKKyAgICAgICAgICAg
IHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX2JhY2tmYWNlVmlzaWJpbGl0eSAhPSBvdGhlci0+cmFy
ZU5vbkluaGVyaXRlZERhdGEtPm1fYmFja2ZhY2VWaXNpYmlsaXR5IHx8CisgICAgICAgICAgICBy
YXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9wZXJzcGVjdGl2ZSAhPSBvdGhlci0+cmFyZU5vbkluaGVy
aXRlZERhdGEtPm1fcGVyc3BlY3RpdmUgfHwKKyAgICAgICAgICAgIHJhcmVOb25Jbmhlcml0ZWRE
YXRhLT5tX3BlcnNwZWN0aXZlT3JpZ2luWCAhPSBvdGhlci0+cmFyZU5vbkluaGVyaXRlZERhdGEt
Pm1fcGVyc3BlY3RpdmVPcmlnaW5YIHx8CisgICAgICAgICAgICByYXJlTm9uSW5oZXJpdGVkRGF0
YS0+bV9wZXJzcGVjdGl2ZU9yaWdpblkgIT0gb3RoZXItPnJhcmVOb25Jbmhlcml0ZWREYXRhLT5t
X3BlcnNwZWN0aXZlT3JpZ2luWSkKKyAgICAgICAgICAgIHJldHVybiBTdHlsZURpZmZlcmVuY2VS
ZWNvbXBvc2l0ZUxheWVyOworICAgIH0KKyNlbmRpZgorCiAgICAgLy8gQ3Vyc29ycyBhcmUgbm90
IGNoZWNrZWQsIHNpbmNlIHRoZXkgd2lsbCBiZSBzZXQgYXBwcm9wcmlhdGVseSBpbiByZXNwb25z
ZSB0byBtb3VzZSBldmVudHMsCiAgICAgLy8gc28gdGhleSBkb24ndCBuZWVkIHRvIGNhdXNlIGFu
eSByZXBhaW50IG9yIGxheW91dC4KIApAQCAtNjMzLDIxICs2NTUsMzYgQEAgdm9pZCBSZW5kZXJT
dHlsZTo6YXBwbHlUcmFuc2Zvcm0oVHJhbnNmbwogICAgICAgICAgICAgVHJhbnNmb3JtT3BlcmF0
aW9uOjpPcGVyYXRpb25UeXBlIHR5cGUgPSByYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV90cmFuc2Zv
cm0tPm1fb3BlcmF0aW9ucy5vcGVyYXRpb25zKClbaV0tPmdldE9wZXJhdGlvblR5cGUoKTsKICAg
ICAgICAgICAgIGlmICh0eXBlICE9IFRyYW5zZm9ybU9wZXJhdGlvbjo6VFJBTlNMQVRFX1ggJiYK
ICAgICAgICAgICAgICAgICAgICAgdHlwZSAhPSBUcmFuc2Zvcm1PcGVyYXRpb246OlRSQU5TTEFU
RV9ZICYmCi0gICAgICAgICAgICAgICAgICAgIHR5cGUgIT0gVHJhbnNmb3JtT3BlcmF0aW9uOjpU
UkFOU0xBVEUpIHsKKyAgICAgICAgICAgICAgICAgICAgdHlwZSAhPSBUcmFuc2Zvcm1PcGVyYXRp
b246OlRSQU5TTEFURQorI2lmIEVOQUJMRSgzRF9UUkFOU0ZPUk1TKQorICAgICAgICAgICAgICAg
ICAgICAmJiB0eXBlICE9IFRyYW5zZm9ybU9wZXJhdGlvbjo6VFJBTlNMQVRFX1oKKyAgICAgICAg
ICAgICAgICAgICAgJiYgdHlwZSAhPSBUcmFuc2Zvcm1PcGVyYXRpb246OlRSQU5TTEFURV8zRAor
I2VuZGlmCisgICAgICAgICAgICAgICAgICAgICkgewogICAgICAgICAgICAgICAgIGFwcGx5VHJh
bnNmb3JtT3JpZ2luID0gdHJ1ZTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAg
IH0KICAgICAgICAgfQogICAgIH0KIAotICAgIGlmIChhcHBseVRyYW5zZm9ybU9yaWdpbikKKyAg
ICBpZiAoYXBwbHlUcmFuc2Zvcm1PcmlnaW4pIHsKKyNpZiBFTkFCTEUoM0RfVFJBTlNGT1JNUykK
KyAgICAgICAgdHJhbnNmb3JtLnRyYW5zbGF0ZTNkKHRyYW5zZm9ybU9yaWdpblgoKS5jYWxjRmxv
YXRWYWx1ZShib3JkZXJCb3hTaXplLndpZHRoKCkpLCB0cmFuc2Zvcm1PcmlnaW5ZKCkuY2FsY0Zs
b2F0VmFsdWUoYm9yZGVyQm94U2l6ZS5oZWlnaHQoKSksIHRyYW5zZm9ybU9yaWdpblooKSk7Cisj
ZWxzZQogICAgICAgICB0cmFuc2Zvcm0udHJhbnNsYXRlKHRyYW5zZm9ybU9yaWdpblgoKS5jYWxj
RmxvYXRWYWx1ZShib3JkZXJCb3hTaXplLndpZHRoKCkpLCB0cmFuc2Zvcm1PcmlnaW5ZKCkuY2Fs
Y0Zsb2F0VmFsdWUoYm9yZGVyQm94U2l6ZS5oZWlnaHQoKSkpOworI2VuZGlmCisgICAgfQogCiAg
ICAgZm9yIChpID0gMDsgaSA8IHM7IGkrKykKICAgICAgICAgcmFyZU5vbkluaGVyaXRlZERhdGEt
Pm1fdHJhbnNmb3JtLT5tX29wZXJhdGlvbnMub3BlcmF0aW9ucygpW2ldLT5hcHBseSh0cmFuc2Zv
cm0sIGJvcmRlckJveFNpemUpOwogCi0gICAgaWYgKGFwcGx5VHJhbnNmb3JtT3JpZ2luKQorICAg
IGlmIChhcHBseVRyYW5zZm9ybU9yaWdpbikgeworI2lmIEVOQUJMRSgzRF9UUkFOU0ZPUk1TKQor
ICAgICAgICB0cmFuc2Zvcm0udHJhbnNsYXRlM2QoLXRyYW5zZm9ybU9yaWdpblgoKS5jYWxjRmxv
YXRWYWx1ZShib3JkZXJCb3hTaXplLndpZHRoKCkpLCAtdHJhbnNmb3JtT3JpZ2luWSgpLmNhbGNG
bG9hdFZhbHVlKGJvcmRlckJveFNpemUuaGVpZ2h0KCkpLCAtdHJhbnNmb3JtT3JpZ2luWigpKTsK
KyNlbHNlCiAgICAgICAgIHRyYW5zZm9ybS50cmFuc2xhdGUoLXRyYW5zZm9ybU9yaWdpblgoKS5j
YWxjRmxvYXRWYWx1ZShib3JkZXJCb3hTaXplLndpZHRoKCkpLCAtdHJhbnNmb3JtT3JpZ2luWSgp
LmNhbGNGbG9hdFZhbHVlKGJvcmRlckJveFNpemUuaGVpZ2h0KCkpKTsKKyNlbmRpZgorICAgIH0K
IH0KIAogI2lmIEVOQUJMRShYQkwpCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5k
ZXJTdHlsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0
eWxlLmgJKHJldmlzaW9uIDQwODY2KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVy
U3R5bGUuaAkod29ya2luZyBjb3B5KQpAQCAtNjM1LDcgKzYzNSwyMSBAQCBwdWJsaWM6CiAgICAg
Y29uc3QgVHJhbnNmb3JtT3BlcmF0aW9ucyYgdHJhbnNmb3JtKCkgY29uc3QgeyByZXR1cm4gcmFy
ZU5vbkluaGVyaXRlZERhdGEtPm1fdHJhbnNmb3JtLT5tX29wZXJhdGlvbnM7IH0KICAgICBMZW5n
dGggdHJhbnNmb3JtT3JpZ2luWCgpIGNvbnN0IHsgcmV0dXJuIHJhcmVOb25Jbmhlcml0ZWREYXRh
LT5tX3RyYW5zZm9ybS0+bV94OyB9CiAgICAgTGVuZ3RoIHRyYW5zZm9ybU9yaWdpblkoKSBjb25z
dCB7IHJldHVybiByYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV90cmFuc2Zvcm0tPm1feTsgfQorI2lm
IEVOQUJMRSgzRF9UUkFOU0ZPUk1TKQorICAgIGZsb2F0IHRyYW5zZm9ybU9yaWdpblooKSBjb25z
dCB7IHJldHVybiByYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV90cmFuc2Zvcm0tPm1fejsgfQorI2Vu
ZGlmCiAgICAgYm9vbCBoYXNUcmFuc2Zvcm0oKSBjb25zdCB7IHJldHVybiAhcmFyZU5vbkluaGVy
aXRlZERhdGEtPm1fdHJhbnNmb3JtLT5tX29wZXJhdGlvbnMub3BlcmF0aW9ucygpLmlzRW1wdHko
KTsgfQorICAgIAorICAgIC8vIFJldHVybiB0cnVlIGlmIGFueSB0cmFuc2Zvcm0gcmVsYXRlZCBw
cm9wZXJ0eSAoY3VycmVudGx5IHRyYW5zZm9ybSwgdHJhbnNmb3JtU3R5bGUzRCBvciBwZXJzcGVj
dGl2ZSkgCisgICAgLy8gaW5kaWNhdGVzIHRoYXQgd2UgYXJlIHRyYW5zZm9ybWluZworICAgIGJv
b2wgaGFzVHJhbnNmb3JtUmVsYXRlZFByb3BlcnR5KCkgY29uc3QKKyAgICB7CisgICAgICAgIHJl
dHVybiBoYXNUcmFuc2Zvcm0oKQorI2lmIEVOQUJMRSgzRF9UUkFOU0ZPUk1TKQorICAgICAgICB8
fCByYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV90cmFuc2Zvcm1TdHlsZTNEID09IFRyYW5zZm9ybVN0
eWxlM0RQcmVzZXJ2ZTNEIHx8IHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX3BlcnNwZWN0aXZlID4g
MAorI2VuZGlmCisgICAgICAgIDsKKyAgICB9CiAKICAgICBlbnVtIEFwcGx5VHJhbnNmb3JtT3Jp
Z2luIHsgSW5jbHVkZVRyYW5zZm9ybU9yaWdpbiwgRXhjbHVkZVRyYW5zZm9ybU9yaWdpbiB9Owog
ICAgIHZvaWQgYXBwbHlUcmFuc2Zvcm0oVHJhbnNmb3JtYXRpb25NYXRyaXgmLCBjb25zdCBJbnRT
aXplJiBib3JkZXJCb3hTaXplLCBBcHBseVRyYW5zZm9ybU9yaWdpbiA9IEluY2x1ZGVUcmFuc2Zv
cm1PcmlnaW4pIGNvbnN0OwpAQCAtNjU3LDYgKzY3MSwxNCBAQCBwdWJsaWM6CiAgICAgLy8gcmV0
dXJuIHRoZSBmaXJzdCBmb3VuZCBBbmltYXRpb24gKGluY2x1ZGluZyAnYWxsJyB0cmFuc2l0aW9u
cykKICAgICBjb25zdCBBbmltYXRpb24qIHRyYW5zaXRpb25Gb3JQcm9wZXJ0eShpbnQgcHJvcGVy
dHkpIGNvbnN0OwogCisjaWYgRU5BQkxFKDNEX1RSQU5TRk9STVMpCisgICAgRVRyYW5zZm9ybVN0
eWxlM0QgdHJhbnNmb3JtU3R5bGUzRCgpIGNvbnN0IHsgcmV0dXJuIHJhcmVOb25Jbmhlcml0ZWRE
YXRhLT5tX3RyYW5zZm9ybVN0eWxlM0Q7IH0KKyAgICBFQmFja2ZhY2VWaXNpYmlsaXR5IGJhY2tm
YWNlVmlzaWJpbGl0eSgpIGNvbnN0IHsgcmV0dXJuIHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX2Jh
Y2tmYWNlVmlzaWJpbGl0eTsgfQorICAgIGZsb2F0IHBlcnNwZWN0aXZlKCkgY29uc3QgeyByZXR1
cm4gcmFyZU5vbkluaGVyaXRlZERhdGEtPm1fcGVyc3BlY3RpdmU7IH0KKyAgICBMZW5ndGggcGVy
c3BlY3RpdmVPcmlnaW5YKCkgY29uc3QgeyByZXR1cm4gcmFyZU5vbkluaGVyaXRlZERhdGEtPm1f
cGVyc3BlY3RpdmVPcmlnaW5YOyB9CisgICAgTGVuZ3RoIHBlcnNwZWN0aXZlT3JpZ2luWSgpIGNv
bnN0IHsgcmV0dXJuIHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX3BlcnNwZWN0aXZlT3JpZ2luWTsg
fQorI2VuZGlmCisgICAgCiAgICAgaW50IGxpbmVDbGFtcCgpIGNvbnN0IHsgcmV0dXJuIHJhcmVO
b25Jbmhlcml0ZWREYXRhLT5saW5lQ2xhbXA7IH0KICAgICBib29sIHRleHRTaXplQWRqdXN0KCkg
Y29uc3QgeyByZXR1cm4gcmFyZUluaGVyaXRlZERhdGEtPnRleHRTaXplQWRqdXN0OyB9CiAgICAg
RVRleHRTZWN1cml0eSB0ZXh0U2VjdXJpdHkoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxF
VGV4dFNlY3VyaXR5PihyYXJlSW5oZXJpdGVkRGF0YS0+dGV4dFNlY3VyaXR5KTsgfQpAQCAtOTMy
LDYgKzk1NCw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFRyYW5zZm9ybShjb25zdCBUcmFuc2Zv
cm1PcGVyYXRpb25zJiBvcHMpIHsgU0VUX1ZBUihyYXJlTm9uSW5oZXJpdGVkRGF0YS5hY2Nlc3Mo
KS0+bV90cmFuc2Zvcm0sIG1fb3BlcmF0aW9ucywgb3BzKTsgfQogICAgIHZvaWQgc2V0VHJhbnNm
b3JtT3JpZ2luWChMZW5ndGggbCkgeyBTRVRfVkFSKHJhcmVOb25Jbmhlcml0ZWREYXRhLmFjY2Vz
cygpLT5tX3RyYW5zZm9ybSwgbV94LCBsKTsgfQogICAgIHZvaWQgc2V0VHJhbnNmb3JtT3JpZ2lu
WShMZW5ndGggbCkgeyBTRVRfVkFSKHJhcmVOb25Jbmhlcml0ZWREYXRhLmFjY2VzcygpLT5tX3Ry
YW5zZm9ybSwgbV95LCBsKTsgfQorI2lmIEVOQUJMRSgzRF9UUkFOU0ZPUk1TKQorICAgIHZvaWQg
c2V0VHJhbnNmb3JtT3JpZ2luWihmbG9hdCBmKSB7IFNFVF9WQVIocmFyZU5vbkluaGVyaXRlZERh
dGEuYWNjZXNzKCktPm1fdHJhbnNmb3JtLCBtX3osIGYpOyB9CisjZW5kaWYKICAgICAvLyBFbmQg
Q1NTMyBTZXR0ZXJzCiAKICAgICAvLyBBcHBsZS1zcGVjaWZpYyBwcm9wZXJ0eSBzZXR0ZXJzCkBA
IC05NTIsNiArOTc3LDE0IEBAIHB1YmxpYzoKICAgICB2b2lkIGFkanVzdEFuaW1hdGlvbnMoKTsK
ICAgICB2b2lkIGFkanVzdFRyYW5zaXRpb25zKCk7CiAKKyNpZiBFTkFCTEUoM0RfVFJBTlNGT1JN
UykKKyAgICB2b2lkIHNldFRyYW5zZm9ybVN0eWxlM0QoRVRyYW5zZm9ybVN0eWxlM0QgYikgeyBT
RVRfVkFSKHJhcmVOb25Jbmhlcml0ZWREYXRhLCBtX3RyYW5zZm9ybVN0eWxlM0QsIGIpOyB9Cisg
ICAgdm9pZCBzZXRCYWNrZmFjZVZpc2liaWxpdHkoRUJhY2tmYWNlVmlzaWJpbGl0eSBiKSB7IFNF
VF9WQVIocmFyZU5vbkluaGVyaXRlZERhdGEsIG1fYmFja2ZhY2VWaXNpYmlsaXR5LCBiKTsgfQor
ICAgIHZvaWQgc2V0UGVyc3BlY3RpdmUoZmxvYXQgcCkgeyBTRVRfVkFSKHJhcmVOb25Jbmhlcml0
ZWREYXRhLCBtX3BlcnNwZWN0aXZlLCBwKTsgfQorICAgIHZvaWQgc2V0UGVyc3BlY3RpdmVPcmln
aW5YKExlbmd0aCBsKSB7IFNFVF9WQVIocmFyZU5vbkluaGVyaXRlZERhdGEsIG1fcGVyc3BlY3Rp
dmVPcmlnaW5YLCBsKTsgfQorICAgIHZvaWQgc2V0UGVyc3BlY3RpdmVPcmlnaW5ZKExlbmd0aCBs
KSB7IFNFVF9WQVIocmFyZU5vbkluaGVyaXRlZERhdGEsIG1fcGVyc3BlY3RpdmVPcmlnaW5ZLCBs
KTsgfQorI2VuZGlmCisKICAgICB2b2lkIHNldExpbmVDbGFtcChpbnQgYykgeyBTRVRfVkFSKHJh
cmVOb25Jbmhlcml0ZWREYXRhLCBsaW5lQ2xhbXAsIGMpOyB9CiAgICAgdm9pZCBzZXRUZXh0U2l6
ZUFkanVzdChib29sIGIpIHsgU0VUX1ZBUihyYXJlSW5oZXJpdGVkRGF0YSwgdGV4dFNpemVBZGp1
c3QsIGIpOyB9CiAgICAgdm9pZCBzZXRUZXh0U2VjdXJpdHkoRVRleHRTZWN1cml0eSBhVGV4dFNl
Y3VyaXR5KSB7IFNFVF9WQVIocmFyZUluaGVyaXRlZERhdGEsIHRleHRTZWN1cml0eSwgYVRleHRT
ZWN1cml0eSk7IH0KQEAgLTExMTYsNiArMTE0OSwxNSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIExl
bmd0aCBpbml0aWFsVHJhbnNmb3JtT3JpZ2luWSgpIHsgcmV0dXJuIExlbmd0aCg1MC4wLCBQZXJj
ZW50KTsgfQogICAgIHN0YXRpYyBFUG9pbnRlckV2ZW50cyBpbml0aWFsUG9pbnRlckV2ZW50cygp
IHsgcmV0dXJuIFBFX0FVVE87IH0KIAorI2lmIEVOQUJMRSgzRF9UUkFOU0ZPUk1TKQorICAgIHN0
YXRpYyBmbG9hdCBpbml0aWFsVHJhbnNmb3JtT3JpZ2luWigpIHsgcmV0dXJuIDA7IH0KKyAgICBz
dGF0aWMgRVRyYW5zZm9ybVN0eWxlM0QgaW5pdGlhbFRyYW5zZm9ybVN0eWxlM0QoKSB7IHJldHVy
biBUcmFuc2Zvcm1TdHlsZTNERmxhdDsgfQorICAgIHN0YXRpYyBFQmFja2ZhY2VWaXNpYmlsaXR5
IGluaXRpYWxCYWNrZmFjZVZpc2liaWxpdHkoKSB7IHJldHVybiBCYWNrZmFjZVZpc2liaWxpdHlW
aXNpYmxlOyB9CisgICAgc3RhdGljIGZsb2F0IGluaXRpYWxQZXJzcGVjdGl2ZSgpIHsgcmV0dXJu
IDA7IH0KKyAgICBzdGF0aWMgTGVuZ3RoIGluaXRpYWxQZXJzcGVjdGl2ZU9yaWdpblgoKSB7IHJl
dHVybiBMZW5ndGgoNTAuMCwgUGVyY2VudCk7IH0KKyAgICBzdGF0aWMgTGVuZ3RoIGluaXRpYWxQ
ZXJzcGVjdGl2ZU9yaWdpblkoKSB7IHJldHVybiBMZW5ndGgoNTAuMCwgUGVyY2VudCk7IH0KKyNl
bmRpZgorCiAgICAgLy8gS2VlcCB0aGVzZSBhdCB0aGUgZW5kLgogICAgIHN0YXRpYyBpbnQgaW5p
dGlhbExpbmVDbGFtcCgpIHsgcmV0dXJuIC0xOyB9CiAgICAgc3RhdGljIGJvb2wgaW5pdGlhbFRl
eHRTaXplQWRqdXN0KCkgeyByZXR1cm4gdHJ1ZTsgfQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCShyZXZpc2lvbiA0MDg2NikKKysrIFdl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTI5Niw2ICsyOTYsMTQgQEAgZW51bSBFUG9pbnRlckV2ZW50cyB7CiAgICAgUEVfVklT
SUJMRV9TVFJPS0UsIFBFX1ZJU0lCTEVfRklMTCwgUEVfVklTSUJMRV9QQUlOVEVELCBQRV9BTEwK
IH07CiAKK2VudW0gRVRyYW5zZm9ybVN0eWxlM0QgeworICAgIFRyYW5zZm9ybVN0eWxlM0RGbGF0
LCBUcmFuc2Zvcm1TdHlsZTNEUHJlc2VydmUzRAorfTsKKworZW51bSBFQmFja2ZhY2VWaXNpYmls
aXR5IHsKKyAgICBCYWNrZmFjZVZpc2liaWxpdHlWaXNpYmxlLCBCYWNrZmFjZVZpc2liaWxpdHlI
aWRkZW4KK307CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIFJlbmRlclN0
eWxlQ29uc3RhbnRzX2gKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5v
bkluaGVyaXRlZERhdGEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwCShyZXZpc2lvbiA0MDg2NikKKysrIFdlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00Niw2ICs0NiwxMyBAQCBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpTdHls
ZVJhcmVOb25JCiAgICAgLCBtX2FuaW1hdGlvbnMoMCkKICAgICAsIG1fdHJhbnNpdGlvbnMoMCkK
ICAgICAsIG1fbWFzayhGaWxsTGF5ZXIoTWFza0ZpbGxMYXllcikpCisjaWYgRU5BQkxFKDNEX1RS
QU5TRk9STVMpCisgICAgLCBtX3RyYW5zZm9ybVN0eWxlM0QoUmVuZGVyU3R5bGU6OmluaXRpYWxU
cmFuc2Zvcm1TdHlsZTNEKCkpCisgICAgLCBtX2JhY2tmYWNlVmlzaWJpbGl0eShSZW5kZXJTdHls
ZTo6aW5pdGlhbEJhY2tmYWNlVmlzaWJpbGl0eSgpKQorICAgICwgbV9wZXJzcGVjdGl2ZShSZW5k
ZXJTdHlsZTo6aW5pdGlhbFBlcnNwZWN0aXZlKCkpCisgICAgLCBtX3BlcnNwZWN0aXZlT3JpZ2lu
WChSZW5kZXJTdHlsZTo6aW5pdGlhbFBlcnNwZWN0aXZlT3JpZ2luWCgpKQorICAgICwgbV9wZXJz
cGVjdGl2ZU9yaWdpblkoUmVuZGVyU3R5bGU6OmluaXRpYWxQZXJzcGVjdGl2ZU9yaWdpblkoKSkK
KyNlbmRpZgogI2lmIEVOQUJMRShYQkwpCiAgICAgLCBiaW5kaW5nVVJJKDApCiAjZW5kaWYKQEAg
LTc1LDYgKzgyLDEzIEBAIFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6OlN0eWxlUmFyZU5vbkkK
ICAgICAsIG1fdHJhbnNpdGlvbnMoby5tX3RyYW5zaXRpb25zID8gbmV3IEFuaW1hdGlvbkxpc3Qo
Km8ubV90cmFuc2l0aW9ucykgOiAwKQogICAgICwgbV9tYXNrKG8ubV9tYXNrKQogICAgICwgbV9t
YXNrQm94SW1hZ2Uoby5tX21hc2tCb3hJbWFnZSkKKyNpZiBFTkFCTEUoM0RfVFJBTlNGT1JNUykK
KyAgICAsIG1fdHJhbnNmb3JtU3R5bGUzRChvLm1fdHJhbnNmb3JtU3R5bGUzRCkKKyAgICAsIG1f
YmFja2ZhY2VWaXNpYmlsaXR5KG8ubV9iYWNrZmFjZVZpc2liaWxpdHkpCisgICAgLCBtX3BlcnNw
ZWN0aXZlKG8ubV9wZXJzcGVjdGl2ZSkKKyAgICAsIG1fcGVyc3BlY3RpdmVPcmlnaW5YKG8ubV9w
ZXJzcGVjdGl2ZU9yaWdpblgpCisgICAgLCBtX3BlcnNwZWN0aXZlT3JpZ2luWShvLm1fcGVyc3Bl
Y3RpdmVPcmlnaW5ZKQorI2VuZGlmCiAjaWYgRU5BQkxFKFhCTCkKICAgICAsIGJpbmRpbmdVUkko
by5iaW5kaW5nVVJJID8gby5iaW5kaW5nVVJJLT5jb3B5KCkgOiAwKQogI2VuZGlmCkBAIC0xMjYs
NiArMTQwLDEzIEBAIGJvb2wgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6b3BlcmF0b3IKICNp
ZiBFTkFCTEUoWEJMKQogICAgICAgICAmJiBiaW5kaW5nc0VxdWl2YWxlbnQobykKICNlbmRpZgor
I2lmIEVOQUJMRSgzRF9UUkFOU0ZPUk1TKQorICAgICAgICAmJiAobV90cmFuc2Zvcm1TdHlsZTNE
ID09IG8ubV90cmFuc2Zvcm1TdHlsZTNEKQorICAgICAgICAmJiAobV9iYWNrZmFjZVZpc2liaWxp
dHkgPT0gby5tX2JhY2tmYWNlVmlzaWJpbGl0eSkKKyAgICAgICAgJiYgKG1fcGVyc3BlY3RpdmUg
PT0gby5tX3BlcnNwZWN0aXZlKQorICAgICAgICAmJiAobV9wZXJzcGVjdGl2ZU9yaWdpblggPT0g
by5tX3BlcnNwZWN0aXZlT3JpZ2luWCkKKyAgICAgICAgJiYgKG1fcGVyc3BlY3RpdmVPcmlnaW5Z
ID09IG8ubV9wZXJzcGVjdGl2ZU9yaWdpblkpCisjZW5kaWYKICAgICAgICAgOwogfQogCkluZGV4
OiBXZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVk
RGF0YS5oCShyZXZpc2lvbiA0MDg2NikKKysrIFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxl
UmFyZU5vbkluaGVyaXRlZERhdGEuaAkod29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsNyBAQAog
I2luY2x1ZGUgIkRhdGFSZWYuaCIKICNpbmNsdWRlICJGaWxsTGF5ZXIuaCIKICNpbmNsdWRlICJO
aW5lUGllY2VJbWFnZS5oIgorI2luY2x1ZGUgIlN0eWxlVHJhbnNmb3JtRGF0YS5oIgogI2luY2x1
ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KQEAgLTk3LDYgKzk4LDcgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIG1h
dGNoTmVhcmVzdE1haWxCbG9ja3F1b3RlQ29sb3IgOiAxOyAvLyBFTWF0Y2hOZWFyZXN0TWFpbEJs
b2NrcXVvdGVDb2xvciwgRklYTUU6IFRoaXMgcHJvcGVydHkgbmVlZHMgdG8gYmUgZWxpbWluYXRl
ZC4gSXQgc2hvdWxkIG5ldmVyIGhhdmUgYmVlbiBhZGRlZC4KICAgICB1bnNpZ25lZCBtX2FwcGVh
cmFuY2UgOiA2OyAvLyBFQXBwZWFyYW5jZQogICAgIHVuc2lnbmVkIG1fYm9yZGVyRml0IDogMTsg
Ly8gRUJvcmRlckZpdAorICAgIAogICAgIE93blB0cjxTaGFkb3dEYXRhPiBtX2JveFNoYWRvdzsg
IC8vIEZvciBib3gtc2hhZG93IGRlY29yYXRpb25zLgogICAgIAogICAgIFJlZlB0cjxTdHlsZVJl
ZmxlY3Rpb24+IG1fYm94UmVmbGVjdDsKQEAgLTEwNyw2ICsxMDksMTQgQEAgcHVibGljOgogICAg
IEZpbGxMYXllciBtX21hc2s7CiAgICAgTmluZVBpZWNlSW1hZ2UgbV9tYXNrQm94SW1hZ2U7CiAK
KyNpZiBFTkFCTEUoM0RfVFJBTlNGT1JNUykKKyAgICBFVHJhbnNmb3JtU3R5bGUzRCBtX3RyYW5z
Zm9ybVN0eWxlM0Q7CisgICAgRUJhY2tmYWNlVmlzaWJpbGl0eSBtX2JhY2tmYWNlVmlzaWJpbGl0
eTsKKyAgICBmbG9hdCBtX3BlcnNwZWN0aXZlOworICAgIExlbmd0aCBtX3BlcnNwZWN0aXZlT3Jp
Z2luWDsKKyAgICBMZW5ndGggbV9wZXJzcGVjdGl2ZU9yaWdpblk7CisjZW5kaWYKKwogI2lmIEVO
QUJMRShYQkwpCiAgICAgT3duUHRyPEJpbmRpbmdVUkk+IGJpbmRpbmdVUkk7IC8vIFRoZSBYQkwg
YmluZGluZyBVUkkgbGlzdC4KICNlbmRpZgpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
U3R5bGVUcmFuc2Zvcm1EYXRhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9TdHlsZVRyYW5zZm9ybURhdGEuY3BwCShyZXZpc2lvbiA0MDg2NikKKysrIFdlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1N0eWxlVHJhbnNmb3JtRGF0YS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTMwLDYgKzMwLDkgQEAgU3R5bGVUcmFuc2Zvcm1EYXRhOjpTdHlsZVRyYW5zZm9ybURhdGEoKQog
ICAgIDogbV9vcGVyYXRpb25zKFJlbmRlclN0eWxlOjppbml0aWFsVHJhbnNmb3JtKCkpCiAgICAg
LCBtX3goUmVuZGVyU3R5bGU6OmluaXRpYWxUcmFuc2Zvcm1PcmlnaW5YKCkpCiAgICAgLCBtX3ko
UmVuZGVyU3R5bGU6OmluaXRpYWxUcmFuc2Zvcm1PcmlnaW5ZKCkpCisjaWYgRU5BQkxFKDNEX1RS
QU5TRk9STVMpCisgICAgLCBtX3ooUmVuZGVyU3R5bGU6OmluaXRpYWxUcmFuc2Zvcm1PcmlnaW5a
KCkpCisjZW5kaWYKIHsKIH0KIApAQCAtMzgsMTIgKzQxLDE5IEBAIFN0eWxlVHJhbnNmb3JtRGF0
YTo6U3R5bGVUcmFuc2Zvcm1EYXRhKGMKICAgICAsIG1fb3BlcmF0aW9ucyhvLm1fb3BlcmF0aW9u
cykKICAgICAsIG1feChvLm1feCkKICAgICAsIG1feShvLm1feSkKKyNpZiBFTkFCTEUoM0RfVFJB
TlNGT1JNUykKKyAgICAsIG1feihvLm1feikKKyNlbmRpZgogewogfQogCiBib29sIFN0eWxlVHJh
bnNmb3JtRGF0YTo6b3BlcmF0b3I9PShjb25zdCBTdHlsZVRyYW5zZm9ybURhdGEmIG8pIGNvbnN0
CiB7Ci0gICAgcmV0dXJuIG1feCA9PSBvLm1feCAmJiBtX3kgPT0gby5tX3kgJiYgbV9vcGVyYXRp
b25zID09IG8ubV9vcGVyYXRpb25zOworICAgIHJldHVybiBtX3ggPT0gby5tX3ggJiYgbV95ID09
IG8ubV95CisjaWYgRU5BQkxFKDNEX1RSQU5TRk9STVMpCisgICAgJiYgbV96ID09IG8ubV96Cisj
ZW5kaWYKKyAgICAmJiBtX29wZXJhdGlvbnMgPT0gby5tX29wZXJhdGlvbnM7CiB9CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlVHJh
bnNmb3JtRGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxl
VHJhbnNmb3JtRGF0YS5oCShyZXZpc2lvbiA0MDg2NikKKysrIFdlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1N0eWxlVHJhbnNmb3JtRGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC00Niw2ICs0Niw5IEBA
IHB1YmxpYzoKICAgICBUcmFuc2Zvcm1PcGVyYXRpb25zIG1fb3BlcmF0aW9uczsKICAgICBMZW5n
dGggbV94OwogICAgIExlbmd0aCBtX3k7CisjaWYgRU5BQkxFKDNEX1RSQU5TRk9STVMpCisgICAg
ZmxvYXQgbV96OworI2VuZGlmCiAKIHByaXZhdGU6CiAgICAgU3R5bGVUcmFuc2Zvcm1EYXRhKCk7
Cg==
</data>
<flag name="review"
          id="13366"
          type_id="1"
          status="+"
          setter="hyatt"
    />
          </attachment>
      

    </bug>

</bugzilla>