<?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>131531</bug_id>
          
          <creation_ts>2014-04-11 03:02:41 -0700</creation_ts>
          <short_desc>[cairo] Add GUniquePtrCairo and use it instead of OwnPtrCairo</short_desc>
          <delta_ts>2014-06-05 16:51:19 -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>WONTFIX</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>130580</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jae Hyun Park">jaepark</reporter>
          <assigned_to name="Jae Hyun Park">jaepark</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>bunhere</cc>
    
    <cc>commit-queue</cc>
    
    <cc>d-r</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>mrobinson</cc>
    
    <cc>rakuco</cc>
    
    <cc>sergio</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>999839</commentid>
    <comment_count>0</comment_count>
    <who name="Jae Hyun Park">jaepark</who>
    <bug_when>2014-04-11 03:02:41 -0700</bug_when>
    <thetext>Patch to follow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999841</commentid>
    <comment_count>1</comment_count>
      <attachid>229121</attachid>
    <who name="Jae Hyun Park">jaepark</who>
    <bug_when>2014-04-11 03:07:02 -0700</bug_when>
    <thetext>Created attachment 229121
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1000551</commentid>
    <comment_count>2</comment_count>
      <attachid>229121</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2014-04-14 11:21:53 -0700</bug_when>
    <thetext>Comment on attachment 229121
Patch

It seems you are removing the FontConfig custom deleters and not replacing them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1000689</commentid>
    <comment_count>3</comment_count>
    <who name="Jae Hyun Park">jaepark</who>
    <bug_when>2014-04-14 17:59:18 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 229121 [details])
&gt; It seems you are removing the FontConfig custom deleters and not replacing them.

Thanks for the review.

I could not find any piece of code that uses OwnPtr&lt;FcObjectSet&gt; or OwnPtr&lt;FcFontSet&gt;. So I thought it was deprecated and removed it.

Should I include that in my changelog? or should I include them in GUniquePtrCairo anyway in case someone uses in the future?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1000729</commentid>
    <comment_count>4</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2014-04-14 20:58:29 -0700</bug_when>
    <thetext>(In reply to comment #3)
 
&gt; I could not find any piece of code that uses OwnPtr&lt;FcObjectSet&gt; or OwnPtr&lt;FcFontSet&gt;. So I thought it was deprecated and removed it.

Oh yes. It&apos;s probably a good idea to mention that in the ChangeLog.

&gt; Should I include that in my changelog? or should I include them in GUniquePtrCairo anyway in case someone uses in the future?

That shouldn&apos;t be necessary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1000732</commentid>
    <comment_count>5</comment_count>
      <attachid>229121</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2014-04-14 21:00:08 -0700</bug_when>
    <thetext>Comment on attachment 229121
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=229121&amp;action=review

&gt; Source/WebCore/platform/graphics/freetype/FontCacheFreeType.cpp:-27
&gt; -#include &quot;RefPtrCairo.h&quot;

I think by removing this line you break the RefPtr&lt;FcPattern&gt; instance below.

&gt; Source/WebCore/platform/graphics/freetype/FontCacheFreeType.cpp:32
&gt; +#include &lt;wtf/PassOwnPtr.h&gt;

Including OwnPtr.h would be better, I think.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1000740</commentid>
    <comment_count>6</comment_count>
      <attachid>229344</attachid>
    <who name="Jae Hyun Park">jaepark</who>
    <bug_when>2014-04-14 21:55:18 -0700</bug_when>
    <thetext>Created attachment 229344
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1000747</commentid>
    <comment_count>7</comment_count>
    <who name="Jae Hyun Park">jaepark</who>
    <bug_when>2014-04-14 22:28:59 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 229121 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=229121&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/freetype/FontCacheFreeType.cpp:-27
&gt; &gt; -#include &quot;RefPtrCairo.h&quot;
&gt; 
&gt; I think by removing this line you break the RefPtr&lt;FcPattern&gt; instance below.
Fixed.

&gt; 
&gt; &gt; Source/WebCore/platform/graphics/freetype/FontCacheFreeType.cpp:32
&gt; &gt; +#include &lt;wtf/PassOwnPtr.h&gt;
&gt; 
&gt; Including OwnPtr.h would be better, I think.
Fixed.

I also included why FontConfig custom deleters were removed in the ChangeLog.

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1000847</commentid>
    <comment_count>8</comment_count>
      <attachid>229344</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2014-04-15 07:42:13 -0700</bug_when>
    <thetext>Comment on attachment 229344
Patch

One thing I&apos;m wondering about now is whether the WinCairo port uses GUniuqePtr and GLib in general. If not, I don&apos;t think we can actually use it here. :/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1000848</commentid>
    <comment_count>9</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2014-04-15 07:42:44 -0700</bug_when>
    <thetext>Pinging a few WinCairo port maintainers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1007313</commentid>
    <comment_count>10</comment_count>
    <who name="Jae Hyun Park">jaepark</who>
    <bug_when>2014-05-07 06:39:45 -0700</bug_when>
    <thetext>Any updates from WinCairo port maintainers?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1007362</commentid>
    <comment_count>11</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2014-05-07 10:35:20 -0700</bug_when>
    <thetext>It is correct that WinCairo does not use glib, so relying on gio.h in GUniquePtr.h would break it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1013689</commentid>
    <comment_count>12</comment_count>
      <attachid>229344</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2014-06-05 16:51:04 -0700</bug_when>
    <thetext>Comment on attachment 229344
Patch

This would break the WinCairo port.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>229121</attachid>
            <date>2014-04-11 03:07:02 -0700</date>
            <delta_ts>2014-04-14 21:55:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-131531-20140411190647.patch</filename>
            <type>text/plain</type>
            <size>13946</size>
            <attacher name="Jae Hyun Park">jaepark</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY3MTEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWI3NDRjNmY3YmQwMDdh
YzVkNWMyMGJmMzdkMzQ3NTE4YzViNDcyZC4uMmE4YTUyNTU2MzI5NjYwMDBjYzM2MGQ5MjQxOWQ1
MWExNGEwMDQxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE0LTA0LTExICBKYWUg
SHl1biBQYXJrICA8amFlcGFya0B3ZWJraXQub3JnPgorCisgICAgICAgIFtjYWlyb10gQWRkIEdV
bmlxdWVQdHJDYWlybyBhbmQgdXNlIGl0IGluc3RlYWQgb2YgT3duUHRyQ2Fpcm8KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMTUzMQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSBHVW5pcXVlUHRyIGlu
c3RlYWQgb2YgT3duUHRyLgorCisgICAgICAgICogUGxhdGZvcm1FZmwuY21ha2U6IERlbGV0ZSBP
d25QdHJDYWlyby5jcHAuCisgICAgICAgICogUGxhdGZvcm1HVEsuY21ha2U6IERlbGV0ZSBPd25Q
dHJDYWlyby5jcHAuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQ2Fpcm9VdGls
aXRpZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YXBwZW5kUGF0aFRvQ2Fpcm9Db250ZXh0KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HVW5pcXVlUHRyQ2Fpcm8uaDogQWRk
ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fp
cm8uY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZHJhd1BhdGhTaGFkb3cpOgorICAgICAgICAoV2Vi
Q29yZTo6R3JhcGhpY3NDb250ZXh0OjpjbGlwKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9jYWlyby9Pd25QdHJDYWlyby5jcHA6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY2Fpcm8vT3duUHRyQ2Fpcm8uaDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jYWlyby9QYXRoQ2Fpcm8uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGF0aDo6UGF0
aCk6CisgICAgICAgIChXZWJDb3JlOjpQYXRoOjpvcGVyYXRvcj0pOgorICAgICAgICAoV2ViQ29y
ZTo6UGF0aDo6YXBwbHkpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1BsYXRm
b3JtQ29udGV4dENhaXJvLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ29udGV4dENh
aXJvOjpjbGlwRm9yUGF0dGVybkZpbGxpbmcpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2ZyZWV0eXBlL0ZvbnRDYWNoZUZyZWVUeXBlLmNwcDogRGVsZXRlIE93blB0ckNhaXJvLmgKKyAg
ICAgICAgc2luY2UgaXQgaXMgbm90IHVzaW5nIE93blB0ckNhaXJvLgorCiAyMDE0LTA0LTEwICBE
YXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJHTDogbmVlZCBlcnJv
ciBjaGVja2luZyBhZnRlciB0ZXh0dXJlIGFuZCBidWZmZXIgdXBsb2FkcyBpbiBzb21lIGNhc2Vz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9X
ZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IDI0Y2Y1MDFmNmQ3ZmMxYWE4MTQ0OGY2MDIy
NzA0YzU0N2JiNWRiZTcuLjRhN2RiNTYzYWZmMjU4ODYyMGE3NjkzNzVhOWIwMjBkZjlkNjNhNDgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC0xMDIsNyArMTAyLDYgQEAgbGlzdChBUFBF
TkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vSW1hZ2VCdWZm
ZXJDYWlyby5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9JbWFnZUNhaXJvLmNwcAog
ICAgIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ludFJlY3RDYWlyby5jcHAKLSAgICBwbGF0Zm9y
bS9ncmFwaGljcy9jYWlyby9Pd25QdHJDYWlyby5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9j
YWlyby9QYXRoQ2Fpcm8uY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vUGF0dGVybkNh
aXJvLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1BsYXRmb3JtQ29udGV4dENhaXJv
LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UgYi9Tb3Vy
Y2UvV2ViQ29yZS9QbGF0Zm9ybUdUSy5jbWFrZQppbmRleCAyYzdhNGJlYTZkNDRlOWExZWJjZWQy
YmU5YzY5ZWI2MjFhOWFkZWE5Li42MDg3MGI5NTJjZDc0MGVkMTdhMjE1NzQxNGM5NjA4MTc5ODFm
MTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUdUSy5jbWFrZQorKysgYi9T
b3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUdUSy5jbWFrZQpAQCAtNTUsNyArNTUsNiBAQCBsaXN0KEFQ
UEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9JbWFnZUJ1
ZmZlckNhaXJvLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ltYWdlQ2Fpcm8uY3Bw
CiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vSW50UmVjdENhaXJvLmNwcAotICAgIHBsYXRm
b3JtL2dyYXBoaWNzL2NhaXJvL093blB0ckNhaXJvLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNz
L2NhaXJvL1BhdGhDYWlyby5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9QYXR0ZXJu
Q2Fpcm8uY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vUGxhdGZvcm1Db250ZXh0Q2Fp
cm8uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWly
by9DYWlyb1V0aWxpdGllcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
YWlyby9DYWlyb1V0aWxpdGllcy5jcHAKaW5kZXggMGQ3NDcxMTA3YmY4NmNlNWVjMDZmNTA0MjJl
YWRmODI2MDcyZjZhMy4uMzI5MjdjNGNhYjNlNDU1MDRmMjZiODJiN2MyZjUxNDgzNjY2YzA1NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQ2Fpcm9V
dGlsaXRpZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJv
L0NhaXJvVXRpbGl0aWVzLmNwcApAQCAtMzEsOCArMzEsOCBAQAogI2luY2x1ZGUgIkNvbG9yLmgi
CiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgogI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgorI2luY2x1
ZGUgIkdVbmlxdWVQdHJDYWlyby5oIgogI2luY2x1ZGUgIkludFJlY3QuaCIKLSNpbmNsdWRlICJP
d25QdHJDYWlyby5oIgogI2luY2x1ZGUgIlBhdGguaCIKICNpbmNsdWRlICJQbGF0Zm9ybVBhdGhD
YWlyby5oIgogI2luY2x1ZGUgIlJlZlB0ckNhaXJvLmgiCkBAIC03MCw3ICs3MCw3IEBAIHZvaWQg
c2V0U291cmNlUkdCQUZyb21Db2xvcihjYWlyb190KiBjb250ZXh0LCBjb25zdCBDb2xvciYgY29s
b3IpCiAKIHZvaWQgYXBwZW5kUGF0aFRvQ2Fpcm9Db250ZXh0KGNhaXJvX3QqIHRvLCBjYWlyb190
KiBmcm9tKQogewotICAgIE93blB0cjxjYWlyb19wYXRoX3Q+IGNhaXJvUGF0aCA9IGFkb3B0UHRy
KGNhaXJvX2NvcHlfcGF0aChmcm9tKSk7CisgICAgR1VuaXF1ZVB0cjxjYWlyb19wYXRoX3Q+IGNh
aXJvUGF0aChjYWlyb19jb3B5X3BhdGgoZnJvbSkpOwogICAgIGNhaXJvX2FwcGVuZF9wYXRoKHRv
LCBjYWlyb1BhdGguZ2V0KCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jYWlyby9HVW5pcXVlUHRyQ2Fpcm8uaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dVbmlxdWVQdHJDYWlyby5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQwMTZh
NTRjY2ZmYzIxMDgzNTEwZGM4MjA3ZDAwN2RjY2M3MzM2ZTEKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HVW5pcXVlUHRyQ2Fpcm8uaApA
QCAtMCwwICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEphZSBIeXVuIFBhcmsg
PGphZXBhcmtAd2Via2l0Lm9yZz4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqICB2
ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9y
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqICBMZXNz
ZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVi
bGljCisgKiAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0
byB0aGUgRnJlZQorICogIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0
cmVldCwgRmlmdGggRmxvb3IsCisgKiAgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQQorICovCisK
KyNpZm5kZWYgR1VuaXF1ZVB0ckNhaXJvX2gKKyNkZWZpbmUgR1VuaXF1ZVB0ckNhaXJvX2gKKwor
I2luY2x1ZGUgPGNhaXJvLmg+CisjaW5jbHVkZSA8d3RmL2dvYmplY3QvR1VuaXF1ZVB0ci5oPgor
CituYW1lc3BhY2UgV1RGIHsKKworV1RGX0RFRklORV9HUFRSX0RFTEVURVIoY2Fpcm9fcGF0aF90
LCBjYWlyb19wYXRoX2Rlc3Ryb3kpCisKK30gLy8gbmFtZXNwYWNlIFdURgorCisjZW5kaWYgLy8g
R1VuaXF1ZVB0ckNhaXJvX2gKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwCmluZGV4IGRi
NzNjMDMwYzE3MTkwYjhiNGIzZmM2ODdkMzNiNDZlOTcxYWE2YjIuLjg1ZTUwM2FlYWJhODUyN2M2
YTdjMTU4MDMzM2UyMDFkYzQ5MzljNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dENhaXJvLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHRDYWlyby5jcHAK
QEAgLTQxLDEwICs0MSwxMCBAQAogI2luY2x1ZGUgIkZsb2F0Q29udmVyc2lvbi5oIgogI2luY2x1
ZGUgIkZsb2F0UmVjdC5oIgogI2luY2x1ZGUgIkZsb2F0Um91bmRlZFJlY3QuaCIKKyNpbmNsdWRl
ICJHVW5pcXVlUHRyQ2Fpcm8uaCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVBy
aXZhdGVDYWlyby5oIgogI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1l
bnRlZC5oIgotI2luY2x1ZGUgIk93blB0ckNhaXJvLmgiCiAjaW5jbHVkZSAiUGF0aC5oIgogI2lu
Y2x1ZGUgIlBhdHRlcm4uaCIKICNpbmNsdWRlICJQbGF0Zm9ybUNvbnRleHRDYWlyby5oIgpAQCAt
MTAwLDcgKzEwMCw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBkcmF3UGF0aFNoYWRvdyhHcmFwaGlj
c0NvbnRleHQqIGNvbnRleHQsIFBhdGhEcmF3aW5nU3R5bGUgZHJhCiAKICAgICAvLyBDYWxjdWxh
dGUgdGhlIGV4dGVudHMgb2YgdGhlIHJlbmRlcmVkIHNvbGlkIHBhdGhzLgogICAgIGNhaXJvX3Qq
IGNhaXJvQ29udGV4dCA9IGNvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLT5jcigpOwotICAgIE93
blB0cjxjYWlyb19wYXRoX3Q+IHBhdGggPSBhZG9wdFB0cihjYWlyb19jb3B5X3BhdGgoY2Fpcm9D
b250ZXh0KSk7CisgICAgR1VuaXF1ZVB0cjxjYWlyb19wYXRoX3Q+IHBhdGgoY2Fpcm9fY29weV9w
YXRoKGNhaXJvQ29udGV4dCkpOwogCiAgICAgRmxvYXRSZWN0IHNvbGlkRmlndXJlRXh0ZW50czsK
ICAgICBkb3VibGUgeDAgPSAwOwpAQCAtOTc1LDkgKzk3NSw5IEBAIHZvaWQgR3JhcGhpY3NDb250
ZXh0OjpjbGlwKGNvbnN0IFBhdGgmIHBhdGgsIFdpbmRSdWxlIHdpbmRSdWxlKQogICAgICAgICBy
ZXR1cm47CiAKICAgICBjYWlyb190KiBjciA9IHBsYXRmb3JtQ29udGV4dCgpLT5jcigpOwotICAg
IE93blB0cjxjYWlyb19wYXRoX3Q+IHBhdGhDb3B5OworICAgIEdVbmlxdWVQdHI8Y2Fpcm9fcGF0
aF90PiBwYXRoQ29weTsKICAgICBpZiAoIXBhdGguaXNOdWxsKCkpIHsKLSAgICAgICAgcGF0aENv
cHkgPSBhZG9wdFB0cihjYWlyb19jb3B5X3BhdGgocGF0aC5wbGF0Zm9ybVBhdGgoKS0+Y29udGV4
dCgpKSk7CisgICAgICAgIHBhdGhDb3B5ID0gR1VuaXF1ZVB0cjxjYWlyb19wYXRoX3Q+KGNhaXJv
X2NvcHlfcGF0aChwYXRoLnBsYXRmb3JtUGF0aCgpLT5jb250ZXh0KCkpKTsKICAgICAgICAgY2Fp
cm9fYXBwZW5kX3BhdGgoY3IsIHBhdGhDb3B5LmdldCgpKTsKICAgICB9CiAgICAgY2Fpcm9fZmls
bF9ydWxlX3Qgc2F2ZWRGaWxsUnVsZSA9IGNhaXJvX2dldF9maWxsX3J1bGUoY3IpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vT3duUHRyQ2Fpcm8u
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vT3duUHRyQ2Fpcm8u
Y3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNTk0ZTdiNWQxZjA3Y2MyZjRmNTBh
OTRhMWZkN2I3ZmQwOThlZmJlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL093blB0ckNh
aXJvLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDUyICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTAgQ29sbGFib3JhIEx0ZC4KLSAqCi0gKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSAqICBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAq
ICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCi0gKgotICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiAgTUVSQ0hBTlRBQklMSVRZ
IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqICBM
ZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqICBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwg
UHVibGljCi0gKiAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0
ZSB0byB0aGUgRnJlZQotICogIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiAgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQQotICov
Ci0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJPd25QdHJDYWlyby5oIgotCi0jaWYg
VVNFKEZSRUVUWVBFKQotI2luY2x1ZGUgPGNhaXJvLWZ0Lmg+Ci0jaW5jbHVkZSA8Zm9udGNvbmZp
Zy9mY2ZyZWV0eXBlLmg+Ci0jZW5kaWYKLQotI2luY2x1ZGUgPGNhaXJvLmg+Ci0KLW5hbWVzcGFj
ZSBXVEYgewotCi0jaWYgVVNFKEZSRUVUWVBFKQotdGVtcGxhdGUgPD4gdm9pZCBkZWxldGVPd25l
ZFB0cjxGY09iamVjdFNldD4oRmNPYmplY3RTZXQqIHB0cikKLXsKLSAgICBpZiAocHRyKQotICAg
ICAgICBGY09iamVjdFNldERlc3Ryb3kocHRyKTsKLX0KLQotdGVtcGxhdGUgPD4gdm9pZCBkZWxl
dGVPd25lZFB0cjxGY0ZvbnRTZXQ+KEZjRm9udFNldCogcHRyKQotewotICAgIGlmIChwdHIpCi0g
ICAgICAgIEZjRm9udFNldERlc3Ryb3kocHRyKTsKLX0KLSNlbmRpZgotCi10ZW1wbGF0ZSA8PiB2
b2lkIGRlbGV0ZU93bmVkUHRyPGNhaXJvX3BhdGhfdD4oY2Fpcm9fcGF0aF90KiBwdHIpCi17Ci0g
ICAgaWYgKHB0cikKLSAgICAgICAgY2Fpcm9fcGF0aF9kZXN0cm95KHB0cik7Ci19Ci0KLX0gLy8g
bmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2Fpcm8vT3duUHRyQ2Fpcm8uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NhaXJvL093blB0ckNhaXJvLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM3MDRi
NmExNzY5NTcxZWUzNjlkYjQ5Y2I0YmI2ZGI0N2RiMTVjZGQuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2Fpcm8vT3duUHRyQ2Fpcm8uaAorKysgL2Rldi9udWxsCkBAIC0xLDQ0ICswLDAgQEAKLS8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQ29sbGFib3JhIEx0ZC4KLSAqCi0gKiAgVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICog
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJs
aWMKLSAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uOyBlaXRoZXIKLSAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9w
dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmli
dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogIGJ1dCBXSVRIT1VU
IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiAg
TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl
IHRoZSBHTlUKLSAqICBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh
aWxzLgotICoKLSAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg
TGVzc2VyIEdlbmVyYWwgUHVibGljCi0gKiAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFy
eTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZQotICogIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu
Yy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiAgQm9zdG9uLCBNQSAwMjEx
MC0xMzAxIFVTQQotICovCi0KLSNpZm5kZWYgT3duUHRyQ2Fpcm9faAotI2RlZmluZSBPd25QdHJD
YWlyb19oCi0KLSNpbmNsdWRlIDx3dGYvT3duUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1Bhc3NPd25Q
dHIuaD4KLQotI2lmIFVTRShGUkVFVFlQRSkKLXR5cGVkZWYgc3RydWN0IF9GY09iamVjdFNldCBG
Y09iamVjdFNldDsKLXR5cGVkZWYgc3RydWN0IF9GY0ZvbnRTZXQgRmNGb250U2V0OwotI2VuZGlm
Ci0KLXR5cGVkZWYgc3RydWN0IGNhaXJvX3BhdGggY2Fpcm9fcGF0aF90OwotCi1uYW1lc3BhY2Ug
V1RGIHsKLQotI2lmIFVTRShGUkVFVFlQRSkKLXRlbXBsYXRlIDw+IHZvaWQgZGVsZXRlT3duZWRQ
dHI8RmNPYmplY3RTZXQ+KEZjT2JqZWN0U2V0Kik7Ci10ZW1wbGF0ZSA8PiB2b2lkIGRlbGV0ZU93
bmVkUHRyPEZjRm9udFNldD4oRmNGb250U2V0Kik7Ci0jZW5kaWYKLQotdGVtcGxhdGUgPD4gdm9p
ZCBkZWxldGVPd25lZFB0cjxjYWlyb19wYXRoX3Q+KGNhaXJvX3BhdGhfdCopOwotCi19IC8vIG5h
bWVzcGFjZSBXVEYKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jYWlyby9QYXRoQ2Fpcm8uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2Fpcm8vUGF0aENhaXJvLmNwcAppbmRleCAwMjI1NmI5YzM2YTQ0MzE2MmI0M2Vk
N2NiY2U3YjI1NmUxMjdlNDg4Li5mODdlMWZhOTJhMzkzZDFiOTM1MDNhNzM1NmFlMzBiYTI0MDQ3
YTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Q
YXRoQ2Fpcm8uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJv
L1BhdGhDYWlyby5jcHAKQEAgLTI4LDkgKzI4LDkgQEAKIAogI2luY2x1ZGUgIkFmZmluZVRyYW5z
Zm9ybS5oIgogI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgorI2luY2x1ZGUgIkdVbmlxdWVQdHJDYWly
by5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2luY2x1ZGUgIk5vdEltcGxlbWVu
dGVkLmgiCi0jaW5jbHVkZSAiT3duUHRyQ2Fpcm8uaCIKICNpbmNsdWRlICJQbGF0Zm9ybVBhdGhD
YWlyby5oIgogI2luY2x1ZGUgIlN0cm9rZVN0eWxlQXBwbGllci5oIgogI2luY2x1ZGUgPGNhaXJv
Lmg+CkBAIC01OCw3ICs1OCw3IEBAIFBhdGg6OlBhdGgoY29uc3QgUGF0aCYgb3RoZXIpCiAgICAg
ICAgIHJldHVybjsKIAogICAgIGNhaXJvX3QqIGNyID0gZW5zdXJlUGxhdGZvcm1QYXRoKCktPmNv
bnRleHQoKTsKLSAgICBPd25QdHI8Y2Fpcm9fcGF0aF90PiBwYXRoQ29weSA9IGFkb3B0UHRyKGNh
aXJvX2NvcHlfcGF0aChvdGhlci5wbGF0Zm9ybVBhdGgoKS0+Y29udGV4dCgpKSk7CisgICAgR1Vu
aXF1ZVB0cjxjYWlyb19wYXRoX3Q+IHBhdGhDb3B5KGNhaXJvX2NvcHlfcGF0aChvdGhlci5wbGF0
Zm9ybVBhdGgoKS0+Y29udGV4dCgpKSk7CiAgICAgY2Fpcm9fYXBwZW5kX3BhdGgoY3IsIHBhdGhD
b3B5LmdldCgpKTsKIH0KIApAQCAtODIsNyArODIsNyBAQCBQYXRoJiBQYXRoOjpvcGVyYXRvcj0o
Y29uc3QgUGF0aCYgb3RoZXIpCiAgICAgfSBlbHNlIHsKICAgICAgICAgY2xlYXIoKTsKICAgICAg
ICAgY2Fpcm9fdCogY3IgPSBlbnN1cmVQbGF0Zm9ybVBhdGgoKS0+Y29udGV4dCgpOwotICAgICAg
ICBPd25QdHI8Y2Fpcm9fcGF0aF90PiBwYXRoQ29weSA9IGFkb3B0UHRyKGNhaXJvX2NvcHlfcGF0
aChvdGhlci5wbGF0Zm9ybVBhdGgoKS0+Y29udGV4dCgpKSk7CisgICAgICAgIEdVbmlxdWVQdHI8
Y2Fpcm9fcGF0aF90PiBwYXRoQ29weShjYWlyb19jb3B5X3BhdGgob3RoZXIucGxhdGZvcm1QYXRo
KCktPmNvbnRleHQoKSkpOwogICAgICAgICBjYWlyb19hcHBlbmRfcGF0aChjciwgcGF0aENvcHku
Z2V0KCkpOwogICAgIH0KIApAQCAtMzY2LDcgKzM2Niw3IEBAIHZvaWQgUGF0aDo6YXBwbHkodm9p
ZCogaW5mbywgUGF0aEFwcGxpZXJGdW5jdGlvbiBmdW5jdGlvbikgY29uc3QKICAgICAgICAgcmV0
dXJuOwogCiAgICAgY2Fpcm9fdCogY3IgPSBwbGF0Zm9ybVBhdGgoKS0+Y29udGV4dCgpOwotICAg
IE93blB0cjxjYWlyb19wYXRoX3Q+IHBhdGhDb3B5ID0gYWRvcHRQdHIoY2Fpcm9fY29weV9wYXRo
KGNyKSk7CisgICAgR1VuaXF1ZVB0cjxjYWlyb19wYXRoX3Q+IHBhdGhDb3B5KGNhaXJvX2NvcHlf
cGF0aChjcikpOwogICAgIGNhaXJvX3BhdGhfZGF0YV90KiBkYXRhOwogICAgIFBhdGhFbGVtZW50
IHBlbGVtZW50OwogICAgIEZsb2F0UG9pbnQgcG9pbnRzWzNdOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vUGxhdGZvcm1Db250ZXh0Q2Fpcm8uY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vUGxhdGZvcm1Db250ZXh0
Q2Fpcm8uY3BwCmluZGV4IDhiM2VhNWM1YzM2YzNlNmMwMTVlZmZmNTgzMWJiMWI4MTcwZTU1MDku
LmY1MGU2NmNjNDAxY2MwYWUyNjA1NzhhMTg2ZWFhNTM4ZDY4MDlhNDEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1BsYXRmb3JtQ29udGV4dENhaXJv
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9QbGF0Zm9y
bUNvbnRleHRDYWlyby5jcHAKQEAgLTI5LDkgKzI5LDkgQEAKICNpbmNsdWRlICJQbGF0Zm9ybUNv
bnRleHRDYWlyby5oIgogCiAjaW5jbHVkZSAiQ2Fpcm9VdGlsaXRpZXMuaCIKKyNpbmNsdWRlICJH
VW5pcXVlUHRyQ2Fpcm8uaCIKICNpbmNsdWRlICJHcmFkaWVudC5oIgogI2luY2x1ZGUgIkdyYXBo
aWNzQ29udGV4dC5oIgotI2luY2x1ZGUgIk93blB0ckNhaXJvLmgiCiAjaW5jbHVkZSAiUGF0dGVy
bi5oIgogI2luY2x1ZGUgPGNhaXJvLmg+CiAKQEAgLTMwNCw3ICszMDQsNyBAQCB2b2lkIFBsYXRm
b3JtQ29udGV4dENhaXJvOjpjbGlwRm9yUGF0dGVybkZpbGxpbmcoY29uc3QgR3JhcGhpY3NDb250
ZXh0U3RhdGUmIHN0YQogICAgIEFTU0VSVChzdGF0ZS5maWxsUGF0dGVybik7CiAKICAgICAvLyBI
b2xkIGN1cnJlbnQgY2Fpcm8gcGF0aCBpbiBhIHZhcmlhYmxlIGZvciByZXN0b3JpbmcgaXQgYWZ0
ZXIgY29uZmlndXJpbmcgdGhlIHBhdHRlcm4gY2xpcCByZWN0YW5nbGUuCi0gICAgT3duUHRyPGNh
aXJvX3BhdGhfdD4gY3VycmVudFBhdGggPSBhZG9wdFB0cihjYWlyb19jb3B5X3BhdGgobV9jci5n
ZXQoKSkpOworICAgIEdVbmlxdWVQdHI8Y2Fpcm9fcGF0aF90PiBjdXJyZW50UGF0aChjYWlyb19j
b3B5X3BhdGgobV9jci5nZXQoKSkpOwogICAgIGNhaXJvX25ld19wYXRoKG1fY3IuZ2V0KCkpOwog
CiAgICAgLy8gSW5pdGlhbGl6ZSBjbGlwcGluZyBleHRlbnQgZnJvbSBjdXJyZW50IGNhaXJvIGNs
aXAgZXh0ZW50cywgdGhlbiBzaHJpbmsgaWYgbmVlZGVkIGFjY29yZGluZyB0byBwYXR0ZXJuLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvRm9u
dENhY2hlRnJlZVR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJl
ZXR5cGUvRm9udENhY2hlRnJlZVR5cGUuY3BwCmluZGV4IGNkMjVmN2Q3MzliNjllMzZjOGI2YTVj
MGRiNDMwMjlmYzM5ZGI2OTYuLmVmMzUxNTdmNDQzZTQzM2Y1ZGIzYzU0Zjk2MWRiNmM4YjljZThh
ODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBl
L0ZvbnRDYWNoZUZyZWVUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9mcmVldHlwZS9Gb250Q2FjaGVGcmVlVHlwZS5jcHAKQEAgLTIzLDE0ICsyMywxNCBAQAog
I2luY2x1ZGUgIkZvbnRDYWNoZS5oIgogCiAjaW5jbHVkZSAiRm9udC5oIgotI2luY2x1ZGUgIk93
blB0ckNhaXJvLmgiCi0jaW5jbHVkZSAiUmVmUHRyQ2Fpcm8uaCIKICNpbmNsdWRlICJTaW1wbGVG
b250RGF0YS5oIgogI2luY2x1ZGUgIlVURjE2VUNoYXIzMkl0ZXJhdG9yLmgiCiAjaW5jbHVkZSA8
Y2Fpcm8tZnQuaD4KICNpbmNsdWRlIDxjYWlyby5oPgogI2luY2x1ZGUgPGZvbnRjb25maWcvZmNm
cmVldHlwZS5oPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CisjaW5jbHVkZSA8d3RmL1Bh
c3NPd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi90
ZXh0L0NTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>229344</attachid>
            <date>2014-04-14 21:55:18 -0700</date>
            <delta_ts>2014-06-05 16:51:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-131531-20140415135521.patch</filename>
            <type>text/plain</type>
            <size>14050</size>
            <attacher name="Jae Hyun Park">jaepark</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY3Mjg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDY3OTMzZmUwYjUyYWNl
NzZmYzY1ZDk2MDRkMjNmYTM4OGE0ZGVjMy4uZWVhNTRkMmQzMmRjZmQ5ODUzMDhkNTFkYjYyOTM0
MDk1MTRhYjM5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE0LTA0LTExICBKYWUg
SHl1biBQYXJrICA8amFlcGFya0B3ZWJraXQub3JnPgorCisgICAgICAgIFtjYWlyb10gQWRkIEdV
bmlxdWVQdHJDYWlybyBhbmQgdXNlIGl0IGluc3RlYWQgb2YgT3duUHRyQ2Fpcm8KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMTUzMQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSBHVW5pcXVlUHRyIGlu
c3RlYWQgb2YgT3duUHRyLgorICAgICAgICBGcmVldHlwZSByZWxhdGVkIGNvZGUgaW4gT3duUHRy
Q2Fpcm8gaXMgbm90IGluY2x1ZGVkIGluIEdVbmlxdWVQdHJDYWlybworICAgICAgICBzaW5jZSBP
d25QdHI8RmNPYmplY3RTZXQ+IGFuZCBPd25QdHI8RmNGb250U2V0PiBhcmUgbm8gbG9uZ2VyIHVz
ZWQuCisKKyAgICAgICAgKiBQbGF0Zm9ybUVmbC5jbWFrZTogRGVsZXRlZCBPd25QdHJDYWlyby5j
cHAuCisgICAgICAgICogUGxhdGZvcm1HVEsuY21ha2U6IERlbGV0ZWQgT3duUHRyQ2Fpcm8uY3Bw
LgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0NhaXJvVXRpbGl0aWVzLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OmFwcGVuZFBhdGhUb0NhaXJvQ29udGV4dCk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR1VuaXF1ZVB0ckNhaXJvLmg6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dENhaXJvLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OmRyYXdQYXRoU2hhZG93KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzQ29udGV4dDo6Y2xpcCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vT3du
UHRyQ2Fpcm8uY3BwOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJv
L093blB0ckNhaXJvLmg6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Fp
cm8vUGF0aENhaXJvLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhdGg6OlBhdGgpOgorICAgICAg
ICAoV2ViQ29yZTo6UGF0aDo6b3BlcmF0b3I9KToKKyAgICAgICAgKFdlYkNvcmU6OlBhdGg6OmFw
cGx5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9QbGF0Zm9ybUNvbnRleHRD
YWlyby5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNvbnRleHRDYWlybzo6Y2xpcEZv
clBhdHRlcm5GaWxsaW5nKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9G
b250Q2FjaGVGcmVlVHlwZS5jcHA6IERlbGV0ZWQgT3duUHRyQ2Fpcm8uaAorICAgICAgICBzaW5j
ZSBpdCBpcyBub3QgdXNpbmcgT3duUHRyQ2Fpcm8uCisKIDIwMTQtMDQtMTQgIEJlbSBKb25lcy1C
ZXkgIDxiam9uZXNiZUBhZG9iZS5jb20+CiAKICAgICAgICAgW0NTUyBTaGFwZXNdIFJlbW92ZSBz
b21lIGxlZnRvdmVyIHNoYXBlLWluc2lkZSBjb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlCmlu
ZGV4IDI0Y2Y1MDFmNmQ3ZmMxYWE4MTQ0OGY2MDIyNzA0YzU0N2JiNWRiZTcuLjRhN2RiNTYzYWZm
MjU4ODYyMGE3NjkzNzVhOWIwMjBkZjlkNjNhNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtl
CkBAIC0xMDIsNyArMTAyLDYgQEAgbGlzdChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGxh
dGZvcm0vZ3JhcGhpY3MvY2Fpcm8vSW1hZ2VCdWZmZXJDYWlyby5jcHAKICAgICBwbGF0Zm9ybS9n
cmFwaGljcy9jYWlyby9JbWFnZUNhaXJvLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJv
L0ludFJlY3RDYWlyby5jcHAKLSAgICBwbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Pd25QdHJDYWly
by5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9QYXRoQ2Fpcm8uY3BwCiAgICAgcGxh
dGZvcm0vZ3JhcGhpY3MvY2Fpcm8vUGF0dGVybkNhaXJvLmNwcAogICAgIHBsYXRmb3JtL2dyYXBo
aWNzL2NhaXJvL1BsYXRmb3JtQ29udGV4dENhaXJvLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvUGxhdGZvcm1HVEsuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUdUSy5jbWFr
ZQppbmRleCA4ZDVkZjI0ZTE0NDFkMTgwMGIxYWQwZDdkMDU4NzkzMjAwNTU2YmFiLi5mMDQ5Y2Q0
MzhlYzY1NDg1MWY3OTJlZGZkNDg4ZmQzZDA3ZmYzNmJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9QbGF0Zm9ybUdUSy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUdUSy5j
bWFrZQpAQCAtNTUsNyArNTUsNiBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBw
bGF0Zm9ybS9ncmFwaGljcy9jYWlyby9JbWFnZUJ1ZmZlckNhaXJvLmNwcAogICAgIHBsYXRmb3Jt
L2dyYXBoaWNzL2NhaXJvL0ltYWdlQ2Fpcm8uY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvY2Fp
cm8vSW50UmVjdENhaXJvLmNwcAotICAgIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL093blB0ckNh
aXJvLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1BhdGhDYWlyby5jcHAKICAgICBw
bGF0Zm9ybS9ncmFwaGljcy9jYWlyby9QYXR0ZXJuQ2Fpcm8uY3BwCiAgICAgcGxhdGZvcm0vZ3Jh
cGhpY3MvY2Fpcm8vUGxhdGZvcm1Db250ZXh0Q2Fpcm8uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9DYWlyb1V0aWxpdGllcy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9DYWlyb1V0aWxpdGllcy5jcHAKaW5k
ZXggMGQ3NDcxMTA3YmY4NmNlNWVjMDZmNTA0MjJlYWRmODI2MDcyZjZhMy4uMzI5MjdjNGNhYjNl
NDU1MDRmMjZiODJiN2MyZjUxNDgzNjY2YzA1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQ2Fpcm9VdGlsaXRpZXMuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0NhaXJvVXRpbGl0aWVzLmNwcApAQCAtMzEs
OCArMzEsOCBAQAogI2luY2x1ZGUgIkNvbG9yLmgiCiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgog
I2luY2x1ZGUgIkZsb2F0UmVjdC5oIgorI2luY2x1ZGUgIkdVbmlxdWVQdHJDYWlyby5oIgogI2lu
Y2x1ZGUgIkludFJlY3QuaCIKLSNpbmNsdWRlICJPd25QdHJDYWlyby5oIgogI2luY2x1ZGUgIlBh
dGguaCIKICNpbmNsdWRlICJQbGF0Zm9ybVBhdGhDYWlyby5oIgogI2luY2x1ZGUgIlJlZlB0ckNh
aXJvLmgiCkBAIC03MCw3ICs3MCw3IEBAIHZvaWQgc2V0U291cmNlUkdCQUZyb21Db2xvcihjYWly
b190KiBjb250ZXh0LCBjb25zdCBDb2xvciYgY29sb3IpCiAKIHZvaWQgYXBwZW5kUGF0aFRvQ2Fp
cm9Db250ZXh0KGNhaXJvX3QqIHRvLCBjYWlyb190KiBmcm9tKQogewotICAgIE93blB0cjxjYWly
b19wYXRoX3Q+IGNhaXJvUGF0aCA9IGFkb3B0UHRyKGNhaXJvX2NvcHlfcGF0aChmcm9tKSk7Cisg
ICAgR1VuaXF1ZVB0cjxjYWlyb19wYXRoX3Q+IGNhaXJvUGF0aChjYWlyb19jb3B5X3BhdGgoZnJv
bSkpOwogICAgIGNhaXJvX2FwcGVuZF9wYXRoKHRvLCBjYWlyb1BhdGguZ2V0KCkpOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HVW5pcXVl
UHRyQ2Fpcm8uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dVbmlx
dWVQdHJDYWlyby5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQwMTZhNTRjY2ZmYzIxMDgzNTEwZGM4MjA3ZDAwN2Rj
Y2M3MzM2ZTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jYWlyby9HVW5pcXVlUHRyQ2Fpcm8uaApAQCAtMCwwICsxLDMzIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE0IEphZSBIeXVuIFBhcmsgPGphZXBhcmtAd2Via2l0Lm9yZz4KKyAqCisg
KiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIg
R2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9y
IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogIFRoaXMgbGlicmFy
eSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICog
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh
bnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqICBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm
b3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5
IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhbG9uZyB3aXRo
IHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZQorICogIFNvZnR3YXJlIEZv
dW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiAgQm9z
dG9uLCBNQSAwMjExMC0xMzAxIFVTQQorICovCisKKyNpZm5kZWYgR1VuaXF1ZVB0ckNhaXJvX2gK
KyNkZWZpbmUgR1VuaXF1ZVB0ckNhaXJvX2gKKworI2luY2x1ZGUgPGNhaXJvLmg+CisjaW5jbHVk
ZSA8d3RmL2dvYmplY3QvR1VuaXF1ZVB0ci5oPgorCituYW1lc3BhY2UgV1RGIHsKKworV1RGX0RF
RklORV9HUFRSX0RFTEVURVIoY2Fpcm9fcGF0aF90LCBjYWlyb19wYXRoX2Rlc3Ryb3kpCisKK30g
Ly8gbmFtZXNwYWNlIFdURgorCisjZW5kaWYgLy8gR1VuaXF1ZVB0ckNhaXJvX2gKKwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250
ZXh0Q2Fpcm8uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3Jh
cGhpY3NDb250ZXh0Q2Fpcm8uY3BwCmluZGV4IGRiNzNjMDMwYzE3MTkwYjhiNGIzZmM2ODdkMzNi
NDZlOTcxYWE2YjIuLjg1ZTUwM2FlYWJhODUyN2M2YTdjMTU4MDMzM2UyMDFkYzQ5MzljNDQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNz
Q29udGV4dENhaXJvLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
YWlyby9HcmFwaGljc0NvbnRleHRDYWlyby5jcHAKQEAgLTQxLDEwICs0MSwxMCBAQAogI2luY2x1
ZGUgIkZsb2F0Q29udmVyc2lvbi5oIgogI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgogI2luY2x1ZGUg
IkZsb2F0Um91bmRlZFJlY3QuaCIKKyNpbmNsdWRlICJHVW5pcXVlUHRyQ2Fpcm8uaCIKICNpbmNs
dWRlICJHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVDYWlyby5oIgogI2luY2x1ZGUgIklu
dFJlY3QuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgotI2luY2x1ZGUgIk93blB0ckNh
aXJvLmgiCiAjaW5jbHVkZSAiUGF0aC5oIgogI2luY2x1ZGUgIlBhdHRlcm4uaCIKICNpbmNsdWRl
ICJQbGF0Zm9ybUNvbnRleHRDYWlyby5oIgpAQCAtMTAwLDcgKzEwMCw3IEBAIHN0YXRpYyBpbmxp
bmUgdm9pZCBkcmF3UGF0aFNoYWRvdyhHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIFBhdGhEcmF3
aW5nU3R5bGUgZHJhCiAKICAgICAvLyBDYWxjdWxhdGUgdGhlIGV4dGVudHMgb2YgdGhlIHJlbmRl
cmVkIHNvbGlkIHBhdGhzLgogICAgIGNhaXJvX3QqIGNhaXJvQ29udGV4dCA9IGNvbnRleHQtPnBs
YXRmb3JtQ29udGV4dCgpLT5jcigpOwotICAgIE93blB0cjxjYWlyb19wYXRoX3Q+IHBhdGggPSBh
ZG9wdFB0cihjYWlyb19jb3B5X3BhdGgoY2Fpcm9Db250ZXh0KSk7CisgICAgR1VuaXF1ZVB0cjxj
YWlyb19wYXRoX3Q+IHBhdGgoY2Fpcm9fY29weV9wYXRoKGNhaXJvQ29udGV4dCkpOwogCiAgICAg
RmxvYXRSZWN0IHNvbGlkRmlndXJlRXh0ZW50czsKICAgICBkb3VibGUgeDAgPSAwOwpAQCAtOTc1
LDkgKzk3NSw5IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpjbGlwKGNvbnN0IFBhdGgmIHBhdGgs
IFdpbmRSdWxlIHdpbmRSdWxlKQogICAgICAgICByZXR1cm47CiAKICAgICBjYWlyb190KiBjciA9
IHBsYXRmb3JtQ29udGV4dCgpLT5jcigpOwotICAgIE93blB0cjxjYWlyb19wYXRoX3Q+IHBhdGhD
b3B5OworICAgIEdVbmlxdWVQdHI8Y2Fpcm9fcGF0aF90PiBwYXRoQ29weTsKICAgICBpZiAoIXBh
dGguaXNOdWxsKCkpIHsKLSAgICAgICAgcGF0aENvcHkgPSBhZG9wdFB0cihjYWlyb19jb3B5X3Bh
dGgocGF0aC5wbGF0Zm9ybVBhdGgoKS0+Y29udGV4dCgpKSk7CisgICAgICAgIHBhdGhDb3B5ID0g
R1VuaXF1ZVB0cjxjYWlyb19wYXRoX3Q+KGNhaXJvX2NvcHlfcGF0aChwYXRoLnBsYXRmb3JtUGF0
aCgpLT5jb250ZXh0KCkpKTsKICAgICAgICAgY2Fpcm9fYXBwZW5kX3BhdGgoY3IsIHBhdGhDb3B5
LmdldCgpKTsKICAgICB9CiAgICAgY2Fpcm9fZmlsbF9ydWxlX3Qgc2F2ZWRGaWxsUnVsZSA9IGNh
aXJvX2dldF9maWxsX3J1bGUoY3IpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2Fpcm8vT3duUHRyQ2Fpcm8uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2Fpcm8vT3duUHRyQ2Fpcm8uY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAxNTk0ZTdiNWQxZjA3Y2MyZjRmNTBhOTRhMWZkN2I3ZmQwOThlZmJlLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NhaXJvL093blB0ckNhaXJvLmNwcAorKysgL2Rldi9udWxsCkBAIC0x
LDUyICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQ29sbGFib3JhIEx0ZC4KLSAq
Ci0gKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgotICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNz
ZXIgR2VuZXJhbCBQdWJsaWMKLSAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2Us
IG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogIFRoaXMgbGli
cmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAot
ICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCi0gKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqICBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj
b3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0gKiAgTGljZW5zZSBhbG9uZyB3
aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZQotICogIFNvZnR3YXJl
IEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiAg
Qm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQQotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNp
bmNsdWRlICJPd25QdHJDYWlyby5oIgotCi0jaWYgVVNFKEZSRUVUWVBFKQotI2luY2x1ZGUgPGNh
aXJvLWZ0Lmg+Ci0jaW5jbHVkZSA8Zm9udGNvbmZpZy9mY2ZyZWV0eXBlLmg+Ci0jZW5kaWYKLQot
I2luY2x1ZGUgPGNhaXJvLmg+Ci0KLW5hbWVzcGFjZSBXVEYgewotCi0jaWYgVVNFKEZSRUVUWVBF
KQotdGVtcGxhdGUgPD4gdm9pZCBkZWxldGVPd25lZFB0cjxGY09iamVjdFNldD4oRmNPYmplY3RT
ZXQqIHB0cikKLXsKLSAgICBpZiAocHRyKQotICAgICAgICBGY09iamVjdFNldERlc3Ryb3kocHRy
KTsKLX0KLQotdGVtcGxhdGUgPD4gdm9pZCBkZWxldGVPd25lZFB0cjxGY0ZvbnRTZXQ+KEZjRm9u
dFNldCogcHRyKQotewotICAgIGlmIChwdHIpCi0gICAgICAgIEZjRm9udFNldERlc3Ryb3kocHRy
KTsKLX0KLSNlbmRpZgotCi10ZW1wbGF0ZSA8PiB2b2lkIGRlbGV0ZU93bmVkUHRyPGNhaXJvX3Bh
dGhfdD4oY2Fpcm9fcGF0aF90KiBwdHIpCi17Ci0gICAgaWYgKHB0cikKLSAgICAgICAgY2Fpcm9f
cGF0aF9kZXN0cm95KHB0cik7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vT3duUHRyQ2Fpcm8uaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL093blB0ckNhaXJvLmgKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM3MDRiNmExNzY5NTcxZWUzNjlkYjQ5Y2I0YmI2ZGI0
N2RiMTVjZGQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vT3duUHRyQ2Fpcm8uaAorKysg
L2Rldi9udWxsCkBAIC0xLDQ0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQ29s
bGFib3JhIEx0ZC4KLSAqCi0gKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSAqICBMaWNlbnNlIGFzIHB1Ymxpc2hl
ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqICB2ZXJzaW9uIDIg
b2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0g
KgotICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp
bGwgYmUgdXNlZnVsLAotICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu
IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqICBMZXNzZXIgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqICBZb3Ugc2hvdWxkIGhh
dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0gKiAg
TGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJl
ZQotICogIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlm
dGggRmxvb3IsCi0gKiAgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQQotICovCi0KLSNpZm5kZWYg
T3duUHRyQ2Fpcm9faAotI2RlZmluZSBPd25QdHJDYWlyb19oCi0KLSNpbmNsdWRlIDx3dGYvT3du
UHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KLQotI2lmIFVTRShGUkVFVFlQRSkK
LXR5cGVkZWYgc3RydWN0IF9GY09iamVjdFNldCBGY09iamVjdFNldDsKLXR5cGVkZWYgc3RydWN0
IF9GY0ZvbnRTZXQgRmNGb250U2V0OwotI2VuZGlmCi0KLXR5cGVkZWYgc3RydWN0IGNhaXJvX3Bh
dGggY2Fpcm9fcGF0aF90OwotCi1uYW1lc3BhY2UgV1RGIHsKLQotI2lmIFVTRShGUkVFVFlQRSkK
LXRlbXBsYXRlIDw+IHZvaWQgZGVsZXRlT3duZWRQdHI8RmNPYmplY3RTZXQ+KEZjT2JqZWN0U2V0
Kik7Ci10ZW1wbGF0ZSA8PiB2b2lkIGRlbGV0ZU93bmVkUHRyPEZjRm9udFNldD4oRmNGb250U2V0
Kik7Ci0jZW5kaWYKLQotdGVtcGxhdGUgPD4gdm9pZCBkZWxldGVPd25lZFB0cjxjYWlyb19wYXRo
X3Q+KGNhaXJvX3BhdGhfdCopOwotCi19IC8vIG5hbWVzcGFjZSBXVEYKLQotI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9QYXRoQ2Fpcm8u
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vUGF0aENhaXJvLmNw
cAppbmRleCAwMjI1NmI5YzM2YTQ0MzE2MmI0M2VkN2NiY2U3YjI1NmUxMjdlNDg4Li5mODdlMWZh
OTJhMzkzZDFiOTM1MDNhNzM1NmFlMzBiYTI0MDQ3YTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9QYXRoQ2Fpcm8uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1BhdGhDYWlyby5jcHAKQEAgLTI4LDkgKzI4
LDkgQEAKIAogI2luY2x1ZGUgIkFmZmluZVRyYW5zZm9ybS5oIgogI2luY2x1ZGUgIkZsb2F0UmVj
dC5oIgorI2luY2x1ZGUgIkdVbmlxdWVQdHJDYWlyby5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29u
dGV4dC5oIgogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCi0jaW5jbHVkZSAiT3duUHRyQ2Fp
cm8uaCIKICNpbmNsdWRlICJQbGF0Zm9ybVBhdGhDYWlyby5oIgogI2luY2x1ZGUgIlN0cm9rZVN0
eWxlQXBwbGllci5oIgogI2luY2x1ZGUgPGNhaXJvLmg+CkBAIC01OCw3ICs1OCw3IEBAIFBhdGg6
OlBhdGgoY29uc3QgUGF0aCYgb3RoZXIpCiAgICAgICAgIHJldHVybjsKIAogICAgIGNhaXJvX3Qq
IGNyID0gZW5zdXJlUGxhdGZvcm1QYXRoKCktPmNvbnRleHQoKTsKLSAgICBPd25QdHI8Y2Fpcm9f
cGF0aF90PiBwYXRoQ29weSA9IGFkb3B0UHRyKGNhaXJvX2NvcHlfcGF0aChvdGhlci5wbGF0Zm9y
bVBhdGgoKS0+Y29udGV4dCgpKSk7CisgICAgR1VuaXF1ZVB0cjxjYWlyb19wYXRoX3Q+IHBhdGhD
b3B5KGNhaXJvX2NvcHlfcGF0aChvdGhlci5wbGF0Zm9ybVBhdGgoKS0+Y29udGV4dCgpKSk7CiAg
ICAgY2Fpcm9fYXBwZW5kX3BhdGgoY3IsIHBhdGhDb3B5LmdldCgpKTsKIH0KIApAQCAtODIsNyAr
ODIsNyBAQCBQYXRoJiBQYXRoOjpvcGVyYXRvcj0oY29uc3QgUGF0aCYgb3RoZXIpCiAgICAgfSBl
bHNlIHsKICAgICAgICAgY2xlYXIoKTsKICAgICAgICAgY2Fpcm9fdCogY3IgPSBlbnN1cmVQbGF0
Zm9ybVBhdGgoKS0+Y29udGV4dCgpOwotICAgICAgICBPd25QdHI8Y2Fpcm9fcGF0aF90PiBwYXRo
Q29weSA9IGFkb3B0UHRyKGNhaXJvX2NvcHlfcGF0aChvdGhlci5wbGF0Zm9ybVBhdGgoKS0+Y29u
dGV4dCgpKSk7CisgICAgICAgIEdVbmlxdWVQdHI8Y2Fpcm9fcGF0aF90PiBwYXRoQ29weShjYWly
b19jb3B5X3BhdGgob3RoZXIucGxhdGZvcm1QYXRoKCktPmNvbnRleHQoKSkpOwogICAgICAgICBj
YWlyb19hcHBlbmRfcGF0aChjciwgcGF0aENvcHkuZ2V0KCkpOwogICAgIH0KIApAQCAtMzY2LDcg
KzM2Niw3IEBAIHZvaWQgUGF0aDo6YXBwbHkodm9pZCogaW5mbywgUGF0aEFwcGxpZXJGdW5jdGlv
biBmdW5jdGlvbikgY29uc3QKICAgICAgICAgcmV0dXJuOwogCiAgICAgY2Fpcm9fdCogY3IgPSBw
bGF0Zm9ybVBhdGgoKS0+Y29udGV4dCgpOwotICAgIE93blB0cjxjYWlyb19wYXRoX3Q+IHBhdGhD
b3B5ID0gYWRvcHRQdHIoY2Fpcm9fY29weV9wYXRoKGNyKSk7CisgICAgR1VuaXF1ZVB0cjxjYWly
b19wYXRoX3Q+IHBhdGhDb3B5KGNhaXJvX2NvcHlfcGF0aChjcikpOwogICAgIGNhaXJvX3BhdGhf
ZGF0YV90KiBkYXRhOwogICAgIFBhdGhFbGVtZW50IHBlbGVtZW50OwogICAgIEZsb2F0UG9pbnQg
cG9pbnRzWzNdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2Fpcm8vUGxhdGZvcm1Db250ZXh0Q2Fpcm8uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2Fpcm8vUGxhdGZvcm1Db250ZXh0Q2Fpcm8uY3BwCmluZGV4IDhiM2VhNWM1YzM2
YzNlNmMwMTVlZmZmNTgzMWJiMWI4MTcwZTU1MDkuLmY1MGU2NmNjNDAxY2MwYWUyNjA1NzhhMTg2
ZWFhNTM4ZDY4MDlhNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhaXJvL1BsYXRmb3JtQ29udGV4dENhaXJvLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYWlyby9QbGF0Zm9ybUNvbnRleHRDYWlyby5jcHAKQEAgLTI5LDkg
KzI5LDkgQEAKICNpbmNsdWRlICJQbGF0Zm9ybUNvbnRleHRDYWlyby5oIgogCiAjaW5jbHVkZSAi
Q2Fpcm9VdGlsaXRpZXMuaCIKKyNpbmNsdWRlICJHVW5pcXVlUHRyQ2Fpcm8uaCIKICNpbmNsdWRl
ICJHcmFkaWVudC5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgotI2luY2x1ZGUgIk93
blB0ckNhaXJvLmgiCiAjaW5jbHVkZSAiUGF0dGVybi5oIgogI2luY2x1ZGUgPGNhaXJvLmg+CiAK
QEAgLTMwNCw3ICszMDQsNyBAQCB2b2lkIFBsYXRmb3JtQ29udGV4dENhaXJvOjpjbGlwRm9yUGF0
dGVybkZpbGxpbmcoY29uc3QgR3JhcGhpY3NDb250ZXh0U3RhdGUmIHN0YQogICAgIEFTU0VSVChz
dGF0ZS5maWxsUGF0dGVybik7CiAKICAgICAvLyBIb2xkIGN1cnJlbnQgY2Fpcm8gcGF0aCBpbiBh
IHZhcmlhYmxlIGZvciByZXN0b3JpbmcgaXQgYWZ0ZXIgY29uZmlndXJpbmcgdGhlIHBhdHRlcm4g
Y2xpcCByZWN0YW5nbGUuCi0gICAgT3duUHRyPGNhaXJvX3BhdGhfdD4gY3VycmVudFBhdGggPSBh
ZG9wdFB0cihjYWlyb19jb3B5X3BhdGgobV9jci5nZXQoKSkpOworICAgIEdVbmlxdWVQdHI8Y2Fp
cm9fcGF0aF90PiBjdXJyZW50UGF0aChjYWlyb19jb3B5X3BhdGgobV9jci5nZXQoKSkpOwogICAg
IGNhaXJvX25ld19wYXRoKG1fY3IuZ2V0KCkpOwogCiAgICAgLy8gSW5pdGlhbGl6ZSBjbGlwcGlu
ZyBleHRlbnQgZnJvbSBjdXJyZW50IGNhaXJvIGNsaXAgZXh0ZW50cywgdGhlbiBzaHJpbmsgaWYg
bmVlZGVkIGFjY29yZGluZyB0byBwYXR0ZXJuLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvRm9udENhY2hlRnJlZVR5cGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvRm9udENhY2hlRnJlZVR5cGUuY3Bw
CmluZGV4IGNkMjVmN2Q3MzliNjllMzZjOGI2YTVjMGRiNDMwMjlmYzM5ZGI2OTYuLjAxOTFiOTM3
MjlhZDhiYTQ2MDQ0ZjhiYWEzZWI4NTkxZDI0Y2I3NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBlL0ZvbnRDYWNoZUZyZWVUeXBlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9Gb250Q2FjaGVGcmVl
VHlwZS5jcHAKQEAgLTIzLDcgKzIzLDYgQEAKICNpbmNsdWRlICJGb250Q2FjaGUuaCIKIAogI2lu
Y2x1ZGUgIkZvbnQuaCIKLSNpbmNsdWRlICJPd25QdHJDYWlyby5oIgogI2luY2x1ZGUgIlJlZlB0
ckNhaXJvLmgiCiAjaW5jbHVkZSAiU2ltcGxlRm9udERhdGEuaCIKICNpbmNsdWRlICJVVEYxNlVD
aGFyMzJJdGVyYXRvci5oIgpAQCAtMzEsNiArMzAsNyBAQAogI2luY2x1ZGUgPGNhaXJvLmg+CiAj
aW5jbHVkZSA8Zm9udGNvbmZpZy9mY2ZyZWV0eXBlLmg+CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlv
bnMuaD4KKyNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmlu
Zy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Cg==
</data>
<flag name="review"
          id="253713"
          type_id="1"
          status="-"
          setter="achristensen"
    />
          </attachment>
      

    </bug>

</bugzilla>