<?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>145457</bug_id>
          
          <creation_ts>2015-05-29 05:51:54 -0700</creation_ts>
          <short_desc>[EFL] Jpeg image export implementation for Canvas.</short_desc>
          <delta_ts>2015-06-10 08:58:52 -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>WebKit EFL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="KwangHyuk">hyuki.kim</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>lucas.de.marchi</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1098108</commentid>
    <comment_count>0</comment_count>
    <who name="KwangHyuk">hyuki.kim</who>
    <bug_when>2015-05-29 05:51:54 -0700</bug_when>
    <thetext>Webkit GTK supports jpeg image export, but Webkit EFL doesn&apos;t support it yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1098336</commentid>
    <comment_count>1</comment_count>
      <attachid>253960</attachid>
    <who name="KwangHyuk">hyuki.kim</who>
    <bug_when>2015-05-30 09:33:02 -0700</bug_when>
    <thetext>Created attachment 253960
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1098439</commentid>
    <comment_count>2</comment_count>
      <attachid>253960</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-05-31 20:03:30 -0700</bug_when>
    <thetext>Comment on attachment 253960
Patch

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

&gt; Source/WebCore/ChangeLog:20
&gt; +        * platform/image-encoders/JPEGImageEncoder.cpp:

You need to explain what is modified.

&gt; Source/WebCore/platform/MIMETypeRegistry.cpp:270
&gt; +#elif PLATFORM(EFL)

Why can&apos;t we support image/tiff, image/bmp, image/ico ?

Besides I think GTK and EFL have used cairo backend. Thus it might be good if you change this change as below,

 #elif PLATFORM(GTK)
-    supportedImageMIMETypesForEncoding-&gt;add(&quot;image/png&quot;);
-    supportedImageMIMETypesForEncoding-&gt;add(&quot;image/jpeg&quot;);
     supportedImageMIMETypesForEncoding-&gt;add(&quot;image/tiff&quot;);
     supportedImageMIMETypesForEncoding-&gt;add(&quot;image/bmp&quot;);
     supportedImageMIMETypesForEncoding-&gt;add(&quot;image/ico&quot;);
 #elif USE(CAIRO)
     supportedImageMIMETypesForEncoding-&gt;add(&quot;image/png&quot;);
+    supportedImageMIMETypesForEncoding-&gt;add(&quot;image/jpeg&quot;);
+    supportedImageMIMETypesForEncoding-&gt;add(&quot;image/png&quot;);
 #endif

&gt; Source/WebCore/platform/graphics/efl/ImageBufferEfl.cpp:4
&gt; + *  This library is free software; you can redistribute it and/or

Oops. LGPL.... Please use BSD !

&gt; Source/WebCore/platform/image-encoders/JPEGImageEncoder.cpp:126
&gt; +        for (const unsigned char* rowEnd = pixel + offset + compressData.image_width * 4; pixel + offset &lt; rowEnd;) {

I think this change can influence on other ports. So you need to explain why you modify this code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1098441</commentid>
    <comment_count>3</comment_count>
      <attachid>253960</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-05-31 20:11:59 -0700</bug_when>
    <thetext>Comment on attachment 253960
Patch

r- because some trivial reasons.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1098445</commentid>
    <comment_count>4</comment_count>
    <who name="KwangHyuk">hyuki.kim</who>
    <bug_when>2015-05-31 20:44:04 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 253960 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=253960&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:20
&gt; &gt; +        * platform/image-encoders/JPEGImageEncoder.cpp:
&gt; 
&gt; You need to explain what is modified.
&gt; 
&gt; &gt; Source/WebCore/platform/MIMETypeRegistry.cpp:270
&gt; &gt; +#elif PLATFORM(EFL)
&gt; 
&gt; Why can&apos;t we support image/tiff, image/bmp, image/ico ?
&gt; 
&gt; Besides I think GTK and EFL have used cairo backend. Thus it might be good
&gt; if you change this change as below,
&gt; 
&gt;  #elif PLATFORM(GTK)
&gt; -    supportedImageMIMETypesForEncoding-&gt;add(&quot;image/png&quot;);
&gt; -    supportedImageMIMETypesForEncoding-&gt;add(&quot;image/jpeg&quot;);
&gt;      supportedImageMIMETypesForEncoding-&gt;add(&quot;image/tiff&quot;);
&gt;      supportedImageMIMETypesForEncoding-&gt;add(&quot;image/bmp&quot;);
&gt;      supportedImageMIMETypesForEncoding-&gt;add(&quot;image/ico&quot;);
&gt;  #elif USE(CAIRO)
&gt;      supportedImageMIMETypesForEncoding-&gt;add(&quot;image/png&quot;);
&gt; +    supportedImageMIMETypesForEncoding-&gt;add(&quot;image/jpeg&quot;);
&gt; +    supportedImageMIMETypesForEncoding-&gt;add(&quot;image/png&quot;);
&gt;  #endif
&gt; 

it&apos;s guarded by using #elif, therefore, it should be touched in order to re-use CAIRO definition.
This cairo definition might be for window port ?

&gt; &gt; Source/WebCore/platform/graphics/efl/ImageBufferEfl.cpp:4
&gt; &gt; + *  This library is free software; you can redistribute it and/or
&gt; 
&gt; Oops. LGPL.... Please use BSD !
&gt; 
&gt; &gt; Source/WebCore/platform/image-encoders/JPEGImageEncoder.cpp:126
&gt; &gt; +        for (const unsigned char* rowEnd = pixel + offset + compressData.image_width * 4; pixel + offset &lt; rowEnd;) {
&gt; 
&gt; I think this change can influence on other ports. So you need to explain why
&gt; you modify this code.

ImageEncoder was not used by other port yet. :)


(In reply to comment #2)
&gt; Comment on attachment 253960 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=253960&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:20
&gt; &gt; +        * platform/image-encoders/JPEGImageEncoder.cpp:
&gt; 
&gt; You need to explain what is modified.
&gt; 
&gt; &gt; Source/WebCore/platform/MIMETypeRegistry.cpp:270
&gt; &gt; +#elif PLATFORM(EFL)
&gt; 
&gt; Why can&apos;t we support image/tiff, image/bmp, image/ico ?
&gt; 

Because this patch is just for adding jpeg export feature on Webkit EFL.
So, It&apos;s not necessary.
However, this can be considered as other new bug.

&gt; Besides I think GTK and EFL have used cairo backend. Thus it might be good
&gt; if you change this change as below,
&gt; 
&gt;  #elif PLATFORM(GTK)
&gt; -    supportedImageMIMETypesForEncoding-&gt;add(&quot;image/png&quot;);
&gt; -    supportedImageMIMETypesForEncoding-&gt;add(&quot;image/jpeg&quot;);
&gt;      supportedImageMIMETypesForEncoding-&gt;add(&quot;image/tiff&quot;);
&gt;      supportedImageMIMETypesForEncoding-&gt;add(&quot;image/bmp&quot;);
&gt;      supportedImageMIMETypesForEncoding-&gt;add(&quot;image/ico&quot;);
&gt;  #elif USE(CAIRO)
&gt;      supportedImageMIMETypesForEncoding-&gt;add(&quot;image/png&quot;);
&gt; +    supportedImageMIMETypesForEncoding-&gt;add(&quot;image/jpeg&quot;);
&gt; +    supportedImageMIMETypesForEncoding-&gt;add(&quot;image/png&quot;);
&gt;  #endif
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/efl/ImageBufferEfl.cpp:4
&gt; &gt; + *  This library is free software; you can redistribute it and/or
&gt; 
&gt; Oops. LGPL.... Please use BSD !
&gt; 

Thx, let me think about it.

&gt; &gt; Source/WebCore/platform/image-encoders/JPEGImageEncoder.cpp:126
&gt; &gt; +        for (const unsigned char* rowEnd = pixel + offset + compressData.image_width * 4; pixel + offset &lt; rowEnd;) {
&gt; 
&gt; I think this change can influence on other ports. So you need to explain why
&gt; you modify this code.


Unfortunately, it just generates clobbered error caused by setjmp and longjmp.
So, I just modified some code related with pixel variable.
However, the logic is same.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1100698</commentid>
    <comment_count>5</comment_count>
      <attachid>254579</attachid>
    <who name="KwangHyuk">hyuki.kim</who>
    <bug_when>2015-06-09 10:36:22 -0700</bug_when>
    <thetext>Created attachment 254579
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1100699</commentid>
    <comment_count>6</comment_count>
    <who name="KwangHyuk">hyuki.kim</who>
    <bug_when>2015-06-09 10:39:55 -0700</bug_when>
    <thetext>- License description was updated to use BSD.
- The reason why JPEGImageEncoder.cpp was modified was added to file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1100901</commentid>
    <comment_count>7</comment_count>
      <attachid>254579</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-06-09 20:11:21 -0700</bug_when>
    <thetext>Comment on attachment 254579
Patch

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

LGTM except for a trivial comment.

&gt; Source/WebCore/ChangeLog:10
&gt; +        No new tests, LayoutTests/fast/canvas/toDataURL-supportedTypes.html can be reused.

Unnecessary &quot;LayoutTests/&quot; in test path.

&gt; Source/WebCore/platform/graphics/efl/ImageBufferEfl.cpp:75
&gt; +    return &quot;data:&quot; + mimeType + &quot;;base64,&quot; + base64Data;

Isn&apos;t StringBuilder more efficient ?

https://trac.webkit.org/wiki/EfficientStrings</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101013</commentid>
    <comment_count>8</comment_count>
    <who name="KwangHyuk">hyuki.kim</who>
    <bug_when>2015-06-10 07:20:49 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Comment on attachment 254579 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=254579&amp;action=review
&gt; 
&gt; LGTM except for a trivial comment.
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:10
&gt; &gt; +        No new tests, LayoutTests/fast/canvas/toDataURL-supportedTypes.html can be reused.
&gt; 
&gt; Unnecessary &quot;LayoutTests/&quot; in test path.
&gt; 

Ok, thanks.

&gt; &gt; Source/WebCore/platform/graphics/efl/ImageBufferEfl.cpp:75
&gt; &gt; +    return &quot;data:&quot; + mimeType + &quot;;base64,&quot; + base64Data;
&gt; 
&gt; Isn&apos;t StringBuilder more efficient ?
&gt; 
&gt; https://trac.webkit.org/wiki/EfficientStrings

But, this is the general implementation for every ports like ImageBufferGtk, ImageBufferCairo as well as ImageBufferCG.
Therefore, may be, keeping of this implementation looks fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101019</commentid>
    <comment_count>9</comment_count>
      <attachid>254651</attachid>
    <who name="KwangHyuk">hyuki.kim</who>
    <bug_when>2015-06-10 07:41:39 -0700</bug_when>
    <thetext>Created attachment 254651
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101021</commentid>
    <comment_count>10</comment_count>
      <attachid>254652</attachid>
    <who name="KwangHyuk">hyuki.kim</who>
    <bug_when>2015-06-10 07:43:24 -0700</bug_when>
    <thetext>Created attachment 254652
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101024</commentid>
    <comment_count>11</comment_count>
    <who name="KwangHyuk">hyuki.kim</who>
    <bug_when>2015-06-10 07:46:29 -0700</bug_when>
    <thetext>GyuYoung, Could you review one more time ?

review flag just disappeared. :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101030</commentid>
    <comment_count>12</comment_count>
      <attachid>254652</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-10 08:58:46 -0700</bug_when>
    <thetext>Comment on attachment 254652
Patch

Clearing flags on attachment: 254652

Committed r185417: &lt;http://trac.webkit.org/changeset/185417&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101031</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-10 08:58:52 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253960</attachid>
            <date>2015-05-30 09:33:02 -0700</date>
            <delta_ts>2015-06-09 10:36:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145457-20150531013246.patch</filename>
            <type>text/plain</type>
            <size>8561</size>
            <attacher name="KwangHyuk">hyuki.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0OTU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjliY2Q0NDA3Yzg3ODM1
ZmVjZmUyZDVhODg0OTg2ODYzMzMyZDQ5NC4uOWZiYTEyZmYyYzQxNzQ5YzEyZDBjNWViNWRlZThi
NzBkNDQ4ZTljNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE1LTA1LTMwICBLd2Fu
Z0h5dWsgS2ltICA8aHl1a2kua2ltQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdIEpwZWcg
aW1hZ2UgZXhwb3J0IGltcGxlbWVudGF0aW9uIGZvciBDYW52YXMuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDU0NTcKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgaW1wbGVtZW50YXRpb24gb2YganBl
ZyBpbWFnZSBleHBvcnQgb24gV2Via2l0IEVGTCBieSB1c2luZyBKUEVHSW1hZ2VFbmNvZGVyLgor
CisgICAgICAgIE5vIG5ldyB0ZXN0cywgTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvdG9EYXRhVVJM
LXN1cHBvcnRlZFR5cGVzLmh0bWwgY2FuIGJlIHJldXNlZC4KKworICAgICAgICAqIFBsYXRmb3Jt
RWZsLmNtYWtlOgorICAgICAgICAqIHBsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6aW5pdGlhbGl6ZVN1cHBvcnRlZEltYWdlTUlNRVR5cGVzRm9yRW5jb2Rp
bmcpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ltYWdlQnVmZmVyQ2Fpcm8u
Y3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2VmbC9JbWFnZUJ1ZmZlckVmbC5jcHA6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6d3JpdGVGdW5jdGlvbik6CisgICAgICAgIChXZWJD
b3JlOjplbmNvZGVJbWFnZSk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUJ1ZmZlcjo6dG9EYXRh
VVJMKToKKyAgICAgICAgKiBwbGF0Zm9ybS9pbWFnZS1lbmNvZGVycy9KUEVHSW1hZ2VFbmNvZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbXByZXNzUkdCQUJpZ0VuZGlhblRvSlBFRyk6CisK
IDIwMTUtMDUtMjggIEt3YW5nSHl1ayBLaW0gIDxoeXVraS5raW1Ac2Ftc3VuZy5jb20+CiAKICAg
ICAgICAgW0VGTF0gRml4IHBvcHVwIG5vbi1vY2N1cnJlbmNlIGNvbmRpdGlvbi4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvUGxh
dGZvcm1FZmwuY21ha2UKaW5kZXggZWQwMmZlMTUxMmY2NDZhNjYxYWZjZDk5Y2YxMmEzNWY2MDRl
ZjFlZC4uN2EwNTUzNGIxNjcxY2RlYWJmYjljN2JjNWEyOWY1YTI3MzE0ZTYwMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUv
UGxhdGZvcm1FZmwuY21ha2UKQEAgLTEzNCw2ICsxMzQsNyBAQCBsaXN0KEFQUEVORCBXZWJDb3Jl
X1NPVVJDRVMKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9lZmwvR3JhcGhpY3NDb250ZXh0M0RFZmwu
Y3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5j
cHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9lZmwvSWNvbkVmbC5jcHAKKyAgICBwbGF0Zm9ybS9n
cmFwaGljcy9lZmwvSW1hZ2VCdWZmZXJFZmwuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZWZs
L0ltYWdlRWZsLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2VmbC9JbnRQb2ludEVmbC5jcHAK
ICAgICBwbGF0Zm9ybS9ncmFwaGljcy9lZmwvSW50UmVjdEVmbC5jcHAKQEAgLTE5OSw2ICsyMDAs
OCBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9ncmFwaGljcy94
MTEvUGxhdGZvcm1EaXNwbGF5WDExLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL3gxMS9YVW5p
cXVlUmVzb3VyY2UuY3BwCiAKKyAgICBwbGF0Zm9ybS9pbWFnZS1lbmNvZGVycy9KUEVHSW1hZ2VF
bmNvZGVyLmNwcAorCiAgICAgcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmNw
cAogCiAgICAgcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvYm1wL0JNUEltYWdlRGVjb2Rlci5jcHAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5jcHAKaW5kZXggYTQw
MGRmM2FlM2E5MTZmMDY2OGY3NGM3MjVlMTczMzQxZjA0YTE4OC4uZmNmNDNjYWViNmZiNWM5ZDY1
YTQ4NThjNjY0N2VlNmNlNThhMWVjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vTUlNRVR5cGVSZWdpc3RyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTUlN
RVR5cGVSZWdpc3RyeS5jcHAKQEAgLTI2Nyw2ICsyNjcsOSBAQCBzdGF0aWMgdm9pZCBpbml0aWFs
aXplU3VwcG9ydGVkSW1hZ2VNSU1FVHlwZXNGb3JFbmNvZGluZygpCiAgICAgc3VwcG9ydGVkSW1h
Z2VNSU1FVHlwZXNGb3JFbmNvZGluZy0+YWRkKCJpbWFnZS90aWZmIik7CiAgICAgc3VwcG9ydGVk
SW1hZ2VNSU1FVHlwZXNGb3JFbmNvZGluZy0+YWRkKCJpbWFnZS9ibXAiKTsKICAgICBzdXBwb3J0
ZWRJbWFnZU1JTUVUeXBlc0ZvckVuY29kaW5nLT5hZGQoImltYWdlL2ljbyIpOworI2VsaWYgUExB
VEZPUk0oRUZMKQorICAgIHN1cHBvcnRlZEltYWdlTUlNRVR5cGVzRm9yRW5jb2RpbmctPmFkZCgi
aW1hZ2UvcG5nIik7CisgICAgc3VwcG9ydGVkSW1hZ2VNSU1FVHlwZXNGb3JFbmNvZGluZy0+YWRk
KCJpbWFnZS9qcGVnIik7CiAjZWxpZiBVU0UoQ0FJUk8pCiAgICAgc3VwcG9ydGVkSW1hZ2VNSU1F
VHlwZXNGb3JFbmNvZGluZy0+YWRkKCJpbWFnZS9wbmciKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vSW1hZ2VCdWZmZXJDYWlyby5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9JbWFnZUJ1ZmZlckNh
aXJvLmNwcAppbmRleCBkNjFhMzQzZjNkYWQ3OGYxYjk5NmM4MmIwMmJkNDE0N2NkOWZjOGQ1Li4x
ZmFiM2JkZTkzYTY5MTM3OWI0NTcxZDI4OTgwZWNkMDhiMmQ3ODM5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9JbWFnZUJ1ZmZlckNhaXJvLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9JbWFnZUJ1ZmZlckNh
aXJvLmNwcApAQCAtMzYxLDcgKzM2MSw3IEBAIHZvaWQgSW1hZ2VCdWZmZXI6OnB1dEJ5dGVBcnJh
eShNdWx0aXBseSBtdWx0aXBsaWVkLCBVaW50OENsYW1wZWRBcnJheSogc291cmNlLCBjCiAgICAg
ICAgIGNvcHlSZWN0RnJvbU9uZVN1cmZhY2VUb0Fub3RoZXIoaW1hZ2VTdXJmYWNlLmdldCgpLCBt
X2RhdGEubV9zdXJmYWNlLmdldCgpLCBJbnRTaXplKCksIEludFJlY3QoMCwgMCwgbnVtQ29sdW1u
cywgbnVtUm93cyksIEludFNpemUoZGVzdFBvaW50LngoKSArIHNvdXJjZVJlY3QueCgpLCBkZXN0
UG9pbnQueSgpICsgc291cmNlUmVjdC55KCkpLCBDQUlST19PUEVSQVRPUl9TT1VSQ0UpOwogfQog
Ci0jaWYgIVBMQVRGT1JNKEdUSykKKyNpZiAhUExBVEZPUk0oR1RLKSAmJiAhUExBVEZPUk0oRUZM
KQogc3RhdGljIGNhaXJvX3N0YXR1c190IHdyaXRlRnVuY3Rpb24odm9pZCogb3V0cHV0LCBjb25z
dCB1bnNpZ25lZCBjaGFyKiBkYXRhLCB1bnNpZ25lZCBpbnQgbGVuZ3RoKQogewogICAgIGlmICgh
cmVpbnRlcnByZXRfY2FzdDxWZWN0b3I8dW5zaWduZWQgY2hhcj4qPihvdXRwdXQpLT50cnlBcHBl
bmQoZGF0YSwgbGVuZ3RoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2VmbC9JbWFnZUJ1ZmZlckVmbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9lZmwvSW1hZ2VCdWZmZXJFZmwuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM3OTk1YzFkN2M0YjNk
YWFmM2UzZjc5ODVhOGQ4MjEwNTMxZjIwMTMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9lZmwvSW1hZ2VCdWZmZXJFZmwuY3BwCkBAIC0wLDAgKzEs
NzEgQEAKKy8qCisgKiAgQ29weXJpZ2h0IChDKSAyMDE1IFNhbXN1bmcgRWxlY3Ryb25pY3MuCisg
KgorICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVz
c2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNl
LCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIGxp
YnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
KyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3
YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vu
c2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYWxvbmcg
d2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAq
ICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0
b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5j
bHVkZSAiSW1hZ2VCdWZmZXIuaCIKKworI2luY2x1ZGUgImltYWdlLWVuY29kZXJzL0pQRUdJbWFn
ZUVuY29kZXIuaCIKKworI2luY2x1ZGUgPGNhaXJvLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvQmFz
ZTY0Lmg+CisKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdGF0aWMgY2Fpcm9fc3RhdHVzX3Qg
d3JpdGVGdW5jdGlvbih2b2lkKiBvdXRwdXQsIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGRhdGEsIHVu
c2lnbmVkIGxlbmd0aCkKK3sKKyAgICBpZiAoIXJlaW50ZXJwcmV0X2Nhc3Q8VmVjdG9yPHVuc2ln
bmVkIGNoYXI+Kj4ob3V0cHV0KS0+dHJ5QXBwZW5kKGRhdGEsIGxlbmd0aCkpCisgICAgICAgIHJl
dHVybiBDQUlST19TVEFUVVNfV1JJVEVfRVJST1I7CisgICAgcmV0dXJuIENBSVJPX1NUQVRVU19T
VUNDRVNTOworfQorCitzdGF0aWMgYm9vbCBlbmNvZGVJbWFnZShjYWlyb19zdXJmYWNlX3QqIGlt
YWdlLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBWZWN0b3I8Y2hhcj4qIG91dHB1dCwgY29uc3Qg
ZG91YmxlKiBxdWFsaXR5KQoreworICAgIEFTU0VSVF9VTlVTRUQobWltZVR5cGUsIG1pbWVUeXBl
ID09ICJpbWFnZS9wbmciIHx8IG1pbWVUeXBlID09ICJpbWFnZS9qcGVnIik7IC8vIE9ubHkgUE5H
ICBhbmQgSlBFRyBvdXRwdXQgYXJlIHN1cHBvcnRlZCBmb3Igbm93LgorICAgIGJvb2wgcmVzdWx0
ID0gZmFsc2U7ICAgIAorCisgICAgaWYgKG1pbWVUeXBlID09ICJpbWFnZS9wbmciKQorICAgICAg
ICByZXN1bHQgPSBjYWlyb19zdXJmYWNlX3dyaXRlX3RvX3BuZ19zdHJlYW0oaW1hZ2UsIHdyaXRl
RnVuY3Rpb24sIG91dHB1dCkgPT0gQ0FJUk9fU1RBVFVTX1NVQ0NFU1M7CisKKyAgICBpZiAobWlt
ZVR5cGUgPT0gImltYWdlL2pwZWciKSB7CisgICAgICAgIHVuc2lnbmVkIGNoYXIqIGltYWdlRGF0
YSA9IGNhaXJvX2ltYWdlX3N1cmZhY2VfZ2V0X2RhdGEoaW1hZ2UpOworICAgICAgICBpbnQgd2lk
dGggPSBjYWlyb19pbWFnZV9zdXJmYWNlX2dldF93aWR0aChpbWFnZSk7CisgICAgICAgIGludCBo
ZWlnaHQgPSBjYWlyb19pbWFnZV9zdXJmYWNlX2dldF9oZWlnaHQoaW1hZ2UpOworICAgICAgICBy
ZXN1bHQgPSBjb21wcmVzc1JHQkFCaWdFbmRpYW5Ub0pQRUcoaW1hZ2VEYXRhLCBJbnRTaXplKHdp
ZHRoLCBoZWlnaHQpLCAqb3V0cHV0LCBxdWFsaXR5KTsKKyAgICB9CisKKyAgICByZXR1cm4gcmVz
dWx0OworfQorCitTdHJpbmcgSW1hZ2VCdWZmZXI6OnRvRGF0YVVSTChjb25zdCBTdHJpbmcmIG1p
bWVUeXBlLCBjb25zdCBkb3VibGUqIHF1YWxpdHksIENvb3JkaW5hdGVTeXN0ZW0pIGNvbnN0Cit7
CisgICAgQVNTRVJUKE1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkSW1hZ2VNSU1FVHlwZUZv
ckVuY29kaW5nKG1pbWVUeXBlKSk7CisKKyAgICBjYWlyb19zdXJmYWNlX3QqIGltYWdlID0gY2Fp
cm9fZ2V0X3RhcmdldChjb250ZXh0KCktPnBsYXRmb3JtQ29udGV4dCgpLT5jcigpKTsKKworICAg
IFZlY3RvcjxjaGFyPiBlbmNvZGVkSW1hZ2U7CisgICAgaWYgKCFpbWFnZSB8fCAhZW5jb2RlSW1h
Z2UoaW1hZ2UsIG1pbWVUeXBlLCAmZW5jb2RlZEltYWdlLCBxdWFsaXR5KSkKKyAgICAgICAgcmV0
dXJuICJkYXRhOiwiOworCisgICAgVmVjdG9yPGNoYXI+IGJhc2U2NERhdGE7CisgICAgYmFzZTY0
RW5jb2RlKGVuY29kZWRJbWFnZSwgYmFzZTY0RGF0YSk7CisKKyAgICByZXR1cm4gImRhdGE6IiAr
IG1pbWVUeXBlICsgIjtiYXNlNjQsIiArIGJhc2U2NERhdGE7Cit9CisKK30KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWVuY29kZXJzL0pQRUdJbWFnZUVuY29kZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZW5jb2RlcnMvSlBFR0ltYWdlRW5j
b2Rlci5jcHAKaW5kZXggNmJjMzBkYjgyNWE4NTU4MmI4YzE2NGM2YTk3MDE2ZjIyMzAwZjZhMi4u
Y2UyMjFkNDNjZGI4ZmY3YTM3YTc4NTA5MjJhNjM0YWQ4Zjk4YjlmNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZW5jb2RlcnMvSlBFR0ltYWdlRW5jb2Rlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZW5jb2RlcnMvSlBFR0ltYWdlRW5j
b2Rlci5jcHAKQEAgLTExOCwxNiArMTE4LDE2IEBAIGJvb2wgY29tcHJlc3NSR0JBQmlnRW5kaWFu
VG9KUEVHKHVuc2lnbmVkIGNoYXIqIHJnYmFCaWdFbmRpYW5EYXRhLCBjb25zdCBJbnRTaXplCiAK
ICAgICBqcGVnX3N0YXJ0X2NvbXByZXNzKCZjb21wcmVzc0RhdGEsIFRSVUUpOwogICAgIHJvd0J1
ZmZlci5yZXNpemUoY29tcHJlc3NEYXRhLmltYWdlX3dpZHRoICogMyk7Ci0KKyAgICB1bnNpZ25l
ZCBvZmZzZXQgPSAwOwogICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIHBpeGVsID0gcmdiYUJpZ0Vu
ZGlhbkRhdGE7CiAgICAgY29uc3QgdW5zaWduZWQgY2hhciogcGl4ZWxFbmQgPSBwaXhlbCArIGNv
bXByZXNzRGF0YS5pbWFnZV93aWR0aCAqIGNvbXByZXNzRGF0YS5pbWFnZV9oZWlnaHQgKiA0Owot
ICAgIHdoaWxlIChwaXhlbCA8IHBpeGVsRW5kKSB7CisgICAgd2hpbGUgKHBpeGVsICsgb2Zmc2V0
IDwgcGl4ZWxFbmQpIHsKICAgICAgICAgSlNBTVBMRSogb3V0cHV0ID0gcm93QnVmZmVyLmRhdGEo
KTsKLSAgICAgICAgZm9yIChjb25zdCB1bnNpZ25lZCBjaGFyKiByb3dFbmQgPSBwaXhlbCArIGNv
bXByZXNzRGF0YS5pbWFnZV93aWR0aCAqIDQ7IHBpeGVsIDwgcm93RW5kOykgewotICAgICAgICAg
ICAgKm91dHB1dCsrID0gc3RhdGljX2Nhc3Q8SlNBTVBMRT4oKnBpeGVsKysgJiAweEZGKTsgLy8g
cmVkCi0gICAgICAgICAgICAqb3V0cHV0KysgPSBzdGF0aWNfY2FzdDxKU0FNUExFPigqcGl4ZWwr
KyAmIDB4RkYpOyAvLyBncmVlbgotICAgICAgICAgICAgKm91dHB1dCsrID0gc3RhdGljX2Nhc3Q8
SlNBTVBMRT4oKnBpeGVsKysgJiAweEZGKTsgLy8gYmx1ZQotICAgICAgICAgICAgKytwaXhlbDsg
Ly8gc2tpcCBhbHBoYQorICAgICAgICBmb3IgKGNvbnN0IHVuc2lnbmVkIGNoYXIqIHJvd0VuZCA9
IHBpeGVsICsgb2Zmc2V0ICsgY29tcHJlc3NEYXRhLmltYWdlX3dpZHRoICogNDsgcGl4ZWwgKyBv
ZmZzZXQgPCByb3dFbmQ7KSB7CisgICAgICAgICAgICAqb3V0cHV0KysgPSBzdGF0aWNfY2FzdDxK
U0FNUExFPigqKHBpeGVsICsgb2Zmc2V0KyspICYgMHhGRik7IC8vIHJlZAorICAgICAgICAgICAg
Km91dHB1dCsrID0gc3RhdGljX2Nhc3Q8SlNBTVBMRT4oKihwaXhlbCArIG9mZnNldCsrKSAmIDB4
RkYpOyAvLyBncmVlbgorICAgICAgICAgICAgKm91dHB1dCsrID0gc3RhdGljX2Nhc3Q8SlNBTVBM
RT4oKihwaXhlbCArIG9mZnNldCsrKSAmIDB4RkYpOyAvLyBibHVlCisgICAgICAgICAgICArK29m
ZnNldDsgLy8gc2tpcCBhbHBoYQogICAgICAgICB9CiAgICAgICAgIG91dHB1dCA9IHJvd0J1ZmZl
ci5kYXRhKCk7CiAgICAgICAgIGpwZWdfd3JpdGVfc2NhbmxpbmVzKCZjb21wcmVzc0RhdGEsICZv
dXRwdXQsIDEpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>254579</attachid>
            <date>2015-06-09 10:36:22 -0700</date>
            <delta_ts>2015-06-10 07:41:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145457-20150610023555.patch</filename>
            <type>text/plain</type>
            <size>9212</size>
            <attacher name="KwangHyuk">hyuki.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1MzYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWRhYTRkNDRjZWU2Zjhl
ZDBhNmZkNmE1MzRiMGNlM2U5MzhmNmI1NC4uMDdmM2Y3MjhhNzc0M2Y2ZjExMjBiODkzNzA0OWE3
MTEwMmNmM2ZiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE1LTA2LTA5ICBLd2Fu
Z0h5dWsgS2ltICA8aHl1a2kua2ltQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdIEpwZWcg
aW1hZ2UgZXhwb3J0IGltcGxlbWVudGF0aW9uIGZvciBDYW52YXMuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDU0NTcKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgaW1wbGVtZW50YXRpb24gb2YganBl
ZyBpbWFnZSBleHBvcnQgb24gV2Via2l0IEVGTCBieSB1c2luZyBKUEVHSW1hZ2VFbmNvZGVyLgor
CisgICAgICAgIE5vIG5ldyB0ZXN0cywgTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvdG9EYXRhVVJM
LXN1cHBvcnRlZFR5cGVzLmh0bWwgY2FuIGJlIHJldXNlZC4KKworICAgICAgICAqIFBsYXRmb3Jt
RWZsLmNtYWtlOgorICAgICAgICAqIHBsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6aW5pdGlhbGl6ZVN1cHBvcnRlZEltYWdlTUlNRVR5cGVzRm9yRW5jb2Rp
bmcpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ltYWdlQnVmZmVyQ2Fpcm8u
Y3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2VmbC9JbWFnZUJ1ZmZlckVmbC5jcHA6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6d3JpdGVGdW5jdGlvbik6CisgICAgICAgIChXZWJD
b3JlOjplbmNvZGVJbWFnZSk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUJ1ZmZlcjo6dG9EYXRh
VVJMKToKKyAgICAgICAgKiBwbGF0Zm9ybS9pbWFnZS1lbmNvZGVycy9KUEVHSW1hZ2VFbmNvZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbXByZXNzUkdCQUJpZ0VuZGlhblRvSlBFRyk6CisK
IDIwMTUtMDYtMDkgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAg
ICAgICBbY21ha2VdIEZpeCB0aGUgc3R5bGUgaXNzdWVzIGluIGNtYWtlIHByb2plY3QgZmlsZXMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlIGIvU291cmNlL1dl
YkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKaW5kZXggMThlMmE5ZTUwMDJmY2RlMDFiNGM4ZWMxNWI0
ZmM2MmJlZmE5YmE5OC4uOWE4NjI3OGZhMjA3YzNjY2FlNWI1ZjA2NTllYjA3OWYxOTc3NTM1NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKKysrIGIvU291cmNl
L1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTEzNCw2ICsxMzQsNyBAQCBsaXN0KEFQUEVO
RCBXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9lZmwvR3JhcGhpY3NDb250
ZXh0M0RFZmwuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0dyYXBoaWNzQ29udGV4dDNE
UHJpdmF0ZS5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9lZmwvSWNvbkVmbC5jcHAKKyAgICBw
bGF0Zm9ybS9ncmFwaGljcy9lZmwvSW1hZ2VCdWZmZXJFZmwuY3BwCiAgICAgcGxhdGZvcm0vZ3Jh
cGhpY3MvZWZsL0ltYWdlRWZsLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2VmbC9JbnRQb2lu
dEVmbC5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9lZmwvSW50UmVjdEVmbC5jcHAKQEAgLTE5
OSw2ICsyMDAsOCBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9n
cmFwaGljcy94MTEvUGxhdGZvcm1EaXNwbGF5WDExLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNz
L3gxMS9YVW5pcXVlUmVzb3VyY2UuY3BwCiAKKyAgICBwbGF0Zm9ybS9pbWFnZS1lbmNvZGVycy9K
UEVHSW1hZ2VFbmNvZGVyLmNwcAorCiAgICAgcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VE
ZWNvZGVyLmNwcAogCiAgICAgcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvYm1wL0JNUEltYWdlRGVj
b2Rlci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVn
aXN0cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5jcHAK
aW5kZXggYTQwMGRmM2FlM2E5MTZmMDY2OGY3NGM3MjVlMTczMzQxZjA0YTE4OC4uZmNmNDNjYWVi
NmZiNWM5ZDY1YTQ4NThjNjY0N2VlNmNlNThhMWVjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5jcHAKQEAgLTI2Nyw2ICsyNjcsOSBAQCBzdGF0aWMgdm9p
ZCBpbml0aWFsaXplU3VwcG9ydGVkSW1hZ2VNSU1FVHlwZXNGb3JFbmNvZGluZygpCiAgICAgc3Vw
cG9ydGVkSW1hZ2VNSU1FVHlwZXNGb3JFbmNvZGluZy0+YWRkKCJpbWFnZS90aWZmIik7CiAgICAg
c3VwcG9ydGVkSW1hZ2VNSU1FVHlwZXNGb3JFbmNvZGluZy0+YWRkKCJpbWFnZS9ibXAiKTsKICAg
ICBzdXBwb3J0ZWRJbWFnZU1JTUVUeXBlc0ZvckVuY29kaW5nLT5hZGQoImltYWdlL2ljbyIpOwor
I2VsaWYgUExBVEZPUk0oRUZMKQorICAgIHN1cHBvcnRlZEltYWdlTUlNRVR5cGVzRm9yRW5jb2Rp
bmctPmFkZCgiaW1hZ2UvcG5nIik7CisgICAgc3VwcG9ydGVkSW1hZ2VNSU1FVHlwZXNGb3JFbmNv
ZGluZy0+YWRkKCJpbWFnZS9qcGVnIik7CiAjZWxpZiBVU0UoQ0FJUk8pCiAgICAgc3VwcG9ydGVk
SW1hZ2VNSU1FVHlwZXNGb3JFbmNvZGluZy0+YWRkKCJpbWFnZS9wbmciKTsKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vSW1hZ2VCdWZm
ZXJDYWlyby5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9JbWFn
ZUJ1ZmZlckNhaXJvLmNwcAppbmRleCBkNjFhMzQzZjNkYWQ3OGYxYjk5NmM4MmIwMmJkNDE0N2Nk
OWZjOGQ1Li4xZmFiM2JkZTkzYTY5MTM3OWI0NTcxZDI4OTgwZWNkMDhiMmQ3ODM5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9JbWFnZUJ1ZmZlckNh
aXJvLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9JbWFn
ZUJ1ZmZlckNhaXJvLmNwcApAQCAtMzYxLDcgKzM2MSw3IEBAIHZvaWQgSW1hZ2VCdWZmZXI6OnB1
dEJ5dGVBcnJheShNdWx0aXBseSBtdWx0aXBsaWVkLCBVaW50OENsYW1wZWRBcnJheSogc291cmNl
LCBjCiAgICAgICAgIGNvcHlSZWN0RnJvbU9uZVN1cmZhY2VUb0Fub3RoZXIoaW1hZ2VTdXJmYWNl
LmdldCgpLCBtX2RhdGEubV9zdXJmYWNlLmdldCgpLCBJbnRTaXplKCksIEludFJlY3QoMCwgMCwg
bnVtQ29sdW1ucywgbnVtUm93cyksIEludFNpemUoZGVzdFBvaW50LngoKSArIHNvdXJjZVJlY3Qu
eCgpLCBkZXN0UG9pbnQueSgpICsgc291cmNlUmVjdC55KCkpLCBDQUlST19PUEVSQVRPUl9TT1VS
Q0UpOwogfQogCi0jaWYgIVBMQVRGT1JNKEdUSykKKyNpZiAhUExBVEZPUk0oR1RLKSAmJiAhUExB
VEZPUk0oRUZMKQogc3RhdGljIGNhaXJvX3N0YXR1c190IHdyaXRlRnVuY3Rpb24odm9pZCogb3V0
cHV0LCBjb25zdCB1bnNpZ25lZCBjaGFyKiBkYXRhLCB1bnNpZ25lZCBpbnQgbGVuZ3RoKQogewog
ICAgIGlmICghcmVpbnRlcnByZXRfY2FzdDxWZWN0b3I8dW5zaWduZWQgY2hhcj4qPihvdXRwdXQp
LT50cnlBcHBlbmQoZGF0YSwgbGVuZ3RoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2VmbC9JbWFnZUJ1ZmZlckVmbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9lZmwvSW1hZ2VCdWZmZXJFZmwuY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU3YTk2
OGRlOWEwYTVhNzUyNzllYjQ0N2M1Njc3Y2I1MGVmMGU0OTIKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9lZmwvSW1hZ2VCdWZmZXJFZmwuY3BwCkBA
IC0wLDAgKzEsNzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgU2Ftc3VuZyBFbGVjdHJv
bmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIkltYWdlQnVmZmVyLmgiCisKKyNpbmNsdWRlICJpbWFnZS1lbmNvZGVycy9K
UEVHSW1hZ2VFbmNvZGVyLmgiCisKKyNpbmNsdWRlIDxjYWlyby5oPgorI2luY2x1ZGUgPHd0Zi90
ZXh0L0Jhc2U2NC5oPgorCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RhdGljIGNhaXJvX3N0
YXR1c190IHdyaXRlRnVuY3Rpb24odm9pZCogb3V0cHV0LCBjb25zdCB1bnNpZ25lZCBjaGFyKiBk
YXRhLCB1bnNpZ25lZCBsZW5ndGgpCit7CisgICAgaWYgKCFyZWludGVycHJldF9jYXN0PFZlY3Rv
cjx1bnNpZ25lZCBjaGFyPio+KG91dHB1dCktPnRyeUFwcGVuZChkYXRhLCBsZW5ndGgpKQorICAg
ICAgICByZXR1cm4gQ0FJUk9fU1RBVFVTX1dSSVRFX0VSUk9SOworICAgIHJldHVybiBDQUlST19T
VEFUVVNfU1VDQ0VTUzsKK30KKworc3RhdGljIGJvb2wgZW5jb2RlSW1hZ2UoY2Fpcm9fc3VyZmFj
ZV90KiBpbWFnZSwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgVmVjdG9yPGNoYXI+KiBvdXRwdXQs
IGNvbnN0IGRvdWJsZSogcXVhbGl0eSkKK3sKKyAgICBBU1NFUlRfVU5VU0VEKG1pbWVUeXBlLCBt
aW1lVHlwZSA9PSAiaW1hZ2UvcG5nIiB8fCBtaW1lVHlwZSA9PSAiaW1hZ2UvanBlZyIpOyAvLyBP
bmx5IFBORyAgYW5kIEpQRUcgb3V0cHV0IGFyZSBzdXBwb3J0ZWQgZm9yIG5vdy4KKyAgICBib29s
IHJlc3VsdCA9IGZhbHNlOyAgICAKKworICAgIGlmIChtaW1lVHlwZSA9PSAiaW1hZ2UvcG5nIikK
KyAgICAgICAgcmVzdWx0ID0gY2Fpcm9fc3VyZmFjZV93cml0ZV90b19wbmdfc3RyZWFtKGltYWdl
LCB3cml0ZUZ1bmN0aW9uLCBvdXRwdXQpID09IENBSVJPX1NUQVRVU19TVUNDRVNTOworCisgICAg
aWYgKG1pbWVUeXBlID09ICJpbWFnZS9qcGVnIikgeworICAgICAgICB1bnNpZ25lZCBjaGFyKiBp
bWFnZURhdGEgPSBjYWlyb19pbWFnZV9zdXJmYWNlX2dldF9kYXRhKGltYWdlKTsKKyAgICAgICAg
aW50IHdpZHRoID0gY2Fpcm9faW1hZ2Vfc3VyZmFjZV9nZXRfd2lkdGgoaW1hZ2UpOworICAgICAg
ICBpbnQgaGVpZ2h0ID0gY2Fpcm9faW1hZ2Vfc3VyZmFjZV9nZXRfaGVpZ2h0KGltYWdlKTsKKyAg
ICAgICAgcmVzdWx0ID0gY29tcHJlc3NSR0JBQmlnRW5kaWFuVG9KUEVHKGltYWdlRGF0YSwgSW50
U2l6ZSh3aWR0aCwgaGVpZ2h0KSwgKm91dHB1dCwgcXVhbGl0eSk7CisgICAgfQorCisgICAgcmV0
dXJuIHJlc3VsdDsKK30KKworU3RyaW5nIEltYWdlQnVmZmVyOjp0b0RhdGFVUkwoY29uc3QgU3Ry
aW5nJiBtaW1lVHlwZSwgY29uc3QgZG91YmxlKiBxdWFsaXR5LCBDb29yZGluYXRlU3lzdGVtKSBj
b25zdAoreworICAgIEFTU0VSVChNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZEltYWdlTUlN
RVR5cGVGb3JFbmNvZGluZyhtaW1lVHlwZSkpOworCisgICAgY2Fpcm9fc3VyZmFjZV90KiBpbWFn
ZSA9IGNhaXJvX2dldF90YXJnZXQoY29udGV4dCgpLT5wbGF0Zm9ybUNvbnRleHQoKS0+Y3IoKSk7
CisKKyAgICBWZWN0b3I8Y2hhcj4gZW5jb2RlZEltYWdlOworICAgIGlmICghaW1hZ2UgfHwgIWVu
Y29kZUltYWdlKGltYWdlLCBtaW1lVHlwZSwgJmVuY29kZWRJbWFnZSwgcXVhbGl0eSkpCisgICAg
ICAgIHJldHVybiAiZGF0YTosIjsKKworICAgIFZlY3RvcjxjaGFyPiBiYXNlNjREYXRhOworICAg
IGJhc2U2NEVuY29kZShlbmNvZGVkSW1hZ2UsIGJhc2U2NERhdGEpOworCisgICAgcmV0dXJuICJk
YXRhOiIgKyBtaW1lVHlwZSArICI7YmFzZTY0LCIgKyBiYXNlNjREYXRhOworfQorCit9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1lbmNvZGVycy9KUEVHSW1hZ2VF
bmNvZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWVuY29kZXJzL0pQRUdJ
bWFnZUVuY29kZXIuY3BwCmluZGV4IDZiYzMwZGI4MjVhODU1ODJiOGMxNjRjNmE5NzAxNmYyMjMw
MGY2YTIuLjM5MDMzMDRmZTNmZWEzYjExNDFhMTZhY2ZlOGFmYjhhNzI4NmNhMDcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWVuY29kZXJzL0pQRUdJbWFnZUVuY29k
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWVuY29kZXJzL0pQRUdJ
bWFnZUVuY29kZXIuY3BwCkBAIC0xMTksMTUgKzExOSwxNyBAQCBib29sIGNvbXByZXNzUkdCQUJp
Z0VuZGlhblRvSlBFRyh1bnNpZ25lZCBjaGFyKiByZ2JhQmlnRW5kaWFuRGF0YSwgY29uc3QgSW50
U2l6ZQogICAgIGpwZWdfc3RhcnRfY29tcHJlc3MoJmNvbXByZXNzRGF0YSwgVFJVRSk7CiAgICAg
cm93QnVmZmVyLnJlc2l6ZShjb21wcmVzc0RhdGEuaW1hZ2Vfd2lkdGggKiAzKTsKIAorICAgIC8v
IGFkZCBvZmZzZXQgdG8gcHJldmVudCBjbG9iYmVyZWQgZXJyb3IgY2F1c2VkIGJ5IHNldGptcCBh
bmQgbG9uZ2ptcC4KKyAgICB1bnNpZ25lZCBvZmZzZXQgPSAwOwogICAgIGNvbnN0IHVuc2lnbmVk
IGNoYXIqIHBpeGVsID0gcmdiYUJpZ0VuZGlhbkRhdGE7CiAgICAgY29uc3QgdW5zaWduZWQgY2hh
ciogcGl4ZWxFbmQgPSBwaXhlbCArIGNvbXByZXNzRGF0YS5pbWFnZV93aWR0aCAqIGNvbXByZXNz
RGF0YS5pbWFnZV9oZWlnaHQgKiA0OwotICAgIHdoaWxlIChwaXhlbCA8IHBpeGVsRW5kKSB7Cisg
ICAgd2hpbGUgKHBpeGVsICsgb2Zmc2V0IDwgcGl4ZWxFbmQpIHsKICAgICAgICAgSlNBTVBMRSog
b3V0cHV0ID0gcm93QnVmZmVyLmRhdGEoKTsKLSAgICAgICAgZm9yIChjb25zdCB1bnNpZ25lZCBj
aGFyKiByb3dFbmQgPSBwaXhlbCArIGNvbXByZXNzRGF0YS5pbWFnZV93aWR0aCAqIDQ7IHBpeGVs
IDwgcm93RW5kOykgewotICAgICAgICAgICAgKm91dHB1dCsrID0gc3RhdGljX2Nhc3Q8SlNBTVBM
RT4oKnBpeGVsKysgJiAweEZGKTsgLy8gcmVkCi0gICAgICAgICAgICAqb3V0cHV0KysgPSBzdGF0
aWNfY2FzdDxKU0FNUExFPigqcGl4ZWwrKyAmIDB4RkYpOyAvLyBncmVlbgotICAgICAgICAgICAg
Km91dHB1dCsrID0gc3RhdGljX2Nhc3Q8SlNBTVBMRT4oKnBpeGVsKysgJiAweEZGKTsgLy8gYmx1
ZQotICAgICAgICAgICAgKytwaXhlbDsgLy8gc2tpcCBhbHBoYQorICAgICAgICBmb3IgKGNvbnN0
IHVuc2lnbmVkIGNoYXIqIHJvd0VuZCA9IHBpeGVsICsgb2Zmc2V0ICsgY29tcHJlc3NEYXRhLmlt
YWdlX3dpZHRoICogNDsgcGl4ZWwgKyBvZmZzZXQgPCByb3dFbmQ7KSB7CisgICAgICAgICAgICAq
b3V0cHV0KysgPSBzdGF0aWNfY2FzdDxKU0FNUExFPigqKHBpeGVsICsgb2Zmc2V0KyspICYgMHhG
Rik7IC8vIHJlZAorICAgICAgICAgICAgKm91dHB1dCsrID0gc3RhdGljX2Nhc3Q8SlNBTVBMRT4o
KihwaXhlbCArIG9mZnNldCsrKSAmIDB4RkYpOyAvLyBncmVlbgorICAgICAgICAgICAgKm91dHB1
dCsrID0gc3RhdGljX2Nhc3Q8SlNBTVBMRT4oKihwaXhlbCArIG9mZnNldCsrKSAmIDB4RkYpOyAv
LyBibHVlCisgICAgICAgICAgICArK29mZnNldDsgLy8gc2tpcCBhbHBoYQogICAgICAgICB9CiAg
ICAgICAgIG91dHB1dCA9IHJvd0J1ZmZlci5kYXRhKCk7CiAgICAgICAgIGpwZWdfd3JpdGVfc2Nh
bmxpbmVzKCZjb21wcmVzc0RhdGEsICZvdXRwdXQsIDEpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>254651</attachid>
            <date>2015-06-10 07:41:39 -0700</date>
            <delta_ts>2015-06-10 07:43:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145457-20150610234111.patch</filename>
            <type>text/plain</type>
            <size>9210</size>
            <attacher name="KwangHyuk">hyuki.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTE3YjM0MWJhODc5NTBk
YmU2YTFlNWUwZTkxZDg3YTVhMDBkZjBhZi4uZTJlYTQzNTZjODIyZGRlZDA0ODQyZTEzNjdiZjU0
OWQ1OTUxMTY1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE1LTA2LTEwICBLd2Fu
Z0h5dWsgS2ltICA8aHl1a2kua2ltQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdIEpwZWcg
aW1hZ2UgZXhwb3J0IGltcGxlbWVudGF0aW9uIGZvciBDYW52YXMuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDU0NTcKKworICAgICAgICBSZXZpZXdl
ZCBieSBHeXV5b3VuZyBLaW0uCisKKyAgICAgICAgQWRkIGltcGxlbWVudGF0aW9uIG9mIGpwZWcg
aW1hZ2UgZXhwb3J0IG9uIFdlYmtpdCBFRkwgYnkgdXNpbmcgSlBFR0ltYWdlRW5jb2Rlci4KKwor
ICAgICAgICBObyBuZXcgdGVzdHMsIGZhc3QvY2FudmFzL3RvRGF0YVVSTC1zdXBwb3J0ZWRUeXBl
cy5odG1sIGNhbiBiZSByZXVzZWQuCisKKyAgICAgICAgKiBQbGF0Zm9ybUVmbC5jbWFrZToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OmluaXRpYWxpemVTdXBwb3J0ZWRJbWFnZU1JTUVUeXBlc0ZvckVuY29kaW5nKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9JbWFnZUJ1ZmZlckNhaXJvLmNwcDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9lZmwvSW1hZ2VCdWZmZXJFZmwuY3BwOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OndyaXRlRnVuY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6ZW5jb2RlSW1h
Z2UpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VCdWZmZXI6OnRvRGF0YVVSTCk6CisgICAgICAg
ICogcGxhdGZvcm0vaW1hZ2UtZW5jb2RlcnMvSlBFR0ltYWdlRW5jb2Rlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpjb21wcmVzc1JHQkFCaWdFbmRpYW5Ub0pQRUcpOgorCiAyMDE1LTA2LTEwICBD
YXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RL
XSBHZXQgcmlkIG9mIEdldEVkaXRvckNvbW1hbmRzRm9yS2V5RXZlbnQgc3luYyBtZXNzYWdlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJD
b3JlL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IDE4ZTJhOWU1MDAyZmNkZTAxYjRjOGVjMTViNGZj
NjJiZWZhOWJhOTguLjlhODYyNzhmYTIwN2MzY2NhZTViNWYwNjU5ZWIwNzlmMTk3NzUzNTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC0xMzQsNiArMTM0LDcgQEAgbGlzdChBUFBFTkQg
V2ViQ29yZV9TT1VSQ0VTCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0dyYXBoaWNzQ29udGV4
dDNERWZsLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2VmbC9HcmFwaGljc0NvbnRleHQzRFBy
aXZhdGUuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0ljb25FZmwuY3BwCisgICAgcGxh
dGZvcm0vZ3JhcGhpY3MvZWZsL0ltYWdlQnVmZmVyRWZsLmNwcAogICAgIHBsYXRmb3JtL2dyYXBo
aWNzL2VmbC9JbWFnZUVmbC5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9lZmwvSW50UG9pbnRF
ZmwuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0ludFJlY3RFZmwuY3BwCkBAIC0xOTks
NiArMjAwLDggQEAgbGlzdChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGxhdGZvcm0vZ3Jh
cGhpY3MveDExL1BsYXRmb3JtRGlzcGxheVgxMS5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy94
MTEvWFVuaXF1ZVJlc291cmNlLmNwcAogCisgICAgcGxhdGZvcm0vaW1hZ2UtZW5jb2RlcnMvSlBF
R0ltYWdlRW5jb2Rlci5jcHAKKwogICAgIHBsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVj
b2Rlci5jcHAKIAogICAgIHBsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2JtcC9CTVBJbWFnZURlY29k
ZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lz
dHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuY3BwCmlu
ZGV4IGE0MDBkZjNhZTNhOTE2ZjA2NjhmNzRjNzI1ZTE3MzM0MWYwNGExODguLmZjZjQzY2FlYjZm
YjVjOWQ2NWE0ODU4YzY2NDdlZTZjZTU4YTFlY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL01JTUVUeXBlUmVnaXN0cnkuY3BwCkBAIC0yNjcsNiArMjY3LDkgQEAgc3RhdGljIHZvaWQg
aW5pdGlhbGl6ZVN1cHBvcnRlZEltYWdlTUlNRVR5cGVzRm9yRW5jb2RpbmcoKQogICAgIHN1cHBv
cnRlZEltYWdlTUlNRVR5cGVzRm9yRW5jb2RpbmctPmFkZCgiaW1hZ2UvdGlmZiIpOwogICAgIHN1
cHBvcnRlZEltYWdlTUlNRVR5cGVzRm9yRW5jb2RpbmctPmFkZCgiaW1hZ2UvYm1wIik7CiAgICAg
c3VwcG9ydGVkSW1hZ2VNSU1FVHlwZXNGb3JFbmNvZGluZy0+YWRkKCJpbWFnZS9pY28iKTsKKyNl
bGlmIFBMQVRGT1JNKEVGTCkKKyAgICBzdXBwb3J0ZWRJbWFnZU1JTUVUeXBlc0ZvckVuY29kaW5n
LT5hZGQoImltYWdlL3BuZyIpOworICAgIHN1cHBvcnRlZEltYWdlTUlNRVR5cGVzRm9yRW5jb2Rp
bmctPmFkZCgiaW1hZ2UvanBlZyIpOwogI2VsaWYgVVNFKENBSVJPKQogICAgIHN1cHBvcnRlZElt
YWdlTUlNRVR5cGVzRm9yRW5jb2RpbmctPmFkZCgiaW1hZ2UvcG5nIik7CiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ltYWdlQnVmZmVy
Q2Fpcm8uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vSW1hZ2VC
dWZmZXJDYWlyby5jcHAKaW5kZXggZDYxYTM0M2YzZGFkNzhmMWI5OTZjODJiMDJiZDQxNDdjZDlm
YzhkNS4uMWZhYjNiZGU5M2E2OTEzNzliNDU3MWQyODk4MGVjZDA4YjJkNzgzOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vSW1hZ2VCdWZmZXJDYWly
by5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vSW1hZ2VC
dWZmZXJDYWlyby5jcHAKQEAgLTM2MSw3ICszNjEsNyBAQCB2b2lkIEltYWdlQnVmZmVyOjpwdXRC
eXRlQXJyYXkoTXVsdGlwbHkgbXVsdGlwbGllZCwgVWludDhDbGFtcGVkQXJyYXkqIHNvdXJjZSwg
YwogICAgICAgICBjb3B5UmVjdEZyb21PbmVTdXJmYWNlVG9Bbm90aGVyKGltYWdlU3VyZmFjZS5n
ZXQoKSwgbV9kYXRhLm1fc3VyZmFjZS5nZXQoKSwgSW50U2l6ZSgpLCBJbnRSZWN0KDAsIDAsIG51
bUNvbHVtbnMsIG51bVJvd3MpLCBJbnRTaXplKGRlc3RQb2ludC54KCkgKyBzb3VyY2VSZWN0Lngo
KSwgZGVzdFBvaW50LnkoKSArIHNvdXJjZVJlY3QueSgpKSwgQ0FJUk9fT1BFUkFUT1JfU09VUkNF
KTsKIH0KIAotI2lmICFQTEFURk9STShHVEspCisjaWYgIVBMQVRGT1JNKEdUSykgJiYgIVBMQVRG
T1JNKEVGTCkKIHN0YXRpYyBjYWlyb19zdGF0dXNfdCB3cml0ZUZ1bmN0aW9uKHZvaWQqIG91dHB1
dCwgY29uc3QgdW5zaWduZWQgY2hhciogZGF0YSwgdW5zaWduZWQgaW50IGxlbmd0aCkKIHsKICAg
ICBpZiAoIXJlaW50ZXJwcmV0X2Nhc3Q8VmVjdG9yPHVuc2lnbmVkIGNoYXI+Kj4ob3V0cHV0KS0+
dHJ5QXBwZW5kKGRhdGEsIGxlbmd0aCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9lZmwvSW1hZ2VCdWZmZXJFZmwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZWZsL0ltYWdlQnVmZmVyRWZsLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41N2E5Njhk
ZTlhMGE1YTc1Mjc5ZWI0NDdjNTY3N2NiNTBlZjBlNDkyCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0ltYWdlQnVmZmVyRWZsLmNwcApAQCAt
MCwwICsxLDc4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IFNhbXN1bmcgRWxlY3Ryb25p
Y3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgorCisjaW5jbHVkZSAiaW1hZ2UtZW5jb2RlcnMvSlBF
R0ltYWdlRW5jb2Rlci5oIgorCisjaW5jbHVkZSA8Y2Fpcm8uaD4KKyNpbmNsdWRlIDx3dGYvdGV4
dC9CYXNlNjQuaD4KKworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0YXRpYyBjYWlyb19zdGF0
dXNfdCB3cml0ZUZ1bmN0aW9uKHZvaWQqIG91dHB1dCwgY29uc3QgdW5zaWduZWQgY2hhciogZGF0
YSwgdW5zaWduZWQgbGVuZ3RoKQoreworICAgIGlmICghcmVpbnRlcnByZXRfY2FzdDxWZWN0b3I8
dW5zaWduZWQgY2hhcj4qPihvdXRwdXQpLT50cnlBcHBlbmQoZGF0YSwgbGVuZ3RoKSkKKyAgICAg
ICAgcmV0dXJuIENBSVJPX1NUQVRVU19XUklURV9FUlJPUjsKKyAgICByZXR1cm4gQ0FJUk9fU1RB
VFVTX1NVQ0NFU1M7Cit9CisKK3N0YXRpYyBib29sIGVuY29kZUltYWdlKGNhaXJvX3N1cmZhY2Vf
dCogaW1hZ2UsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIFZlY3RvcjxjaGFyPiogb3V0cHV0LCBj
b25zdCBkb3VibGUqIHF1YWxpdHkpCit7CisgICAgQVNTRVJUX1VOVVNFRChtaW1lVHlwZSwgbWlt
ZVR5cGUgPT0gImltYWdlL3BuZyIgfHwgbWltZVR5cGUgPT0gImltYWdlL2pwZWciKTsgLy8gT25s
eSBQTkcgIGFuZCBKUEVHIG91dHB1dCBhcmUgc3VwcG9ydGVkIGZvciBub3cuCisgICAgYm9vbCBy
ZXN1bHQgPSBmYWxzZTsgICAgCisKKyAgICBpZiAobWltZVR5cGUgPT0gImltYWdlL3BuZyIpCisg
ICAgICAgIHJlc3VsdCA9IGNhaXJvX3N1cmZhY2Vfd3JpdGVfdG9fcG5nX3N0cmVhbShpbWFnZSwg
d3JpdGVGdW5jdGlvbiwgb3V0cHV0KSA9PSBDQUlST19TVEFUVVNfU1VDQ0VTUzsKKworICAgIGlm
IChtaW1lVHlwZSA9PSAiaW1hZ2UvanBlZyIpIHsKKyAgICAgICAgdW5zaWduZWQgY2hhciogaW1h
Z2VEYXRhID0gY2Fpcm9faW1hZ2Vfc3VyZmFjZV9nZXRfZGF0YShpbWFnZSk7CisgICAgICAgIGlu
dCB3aWR0aCA9IGNhaXJvX2ltYWdlX3N1cmZhY2VfZ2V0X3dpZHRoKGltYWdlKTsKKyAgICAgICAg
aW50IGhlaWdodCA9IGNhaXJvX2ltYWdlX3N1cmZhY2VfZ2V0X2hlaWdodChpbWFnZSk7CisgICAg
ICAgIHJlc3VsdCA9IGNvbXByZXNzUkdCQUJpZ0VuZGlhblRvSlBFRyhpbWFnZURhdGEsIEludFNp
emUod2lkdGgsIGhlaWdodCksICpvdXRwdXQsIHF1YWxpdHkpOworICAgIH0KKworICAgIHJldHVy
biByZXN1bHQ7Cit9CisKK1N0cmluZyBJbWFnZUJ1ZmZlcjo6dG9EYXRhVVJMKGNvbnN0IFN0cmlu
ZyYgbWltZVR5cGUsIGNvbnN0IGRvdWJsZSogcXVhbGl0eSwgQ29vcmRpbmF0ZVN5c3RlbSkgY29u
c3QKK3sKKyAgICBBU1NFUlQoTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRJbWFnZU1JTUVU
eXBlRm9yRW5jb2RpbmcobWltZVR5cGUpKTsKKworICAgIGNhaXJvX3N1cmZhY2VfdCogaW1hZ2Ug
PSBjYWlyb19nZXRfdGFyZ2V0KGNvbnRleHQoKS0+cGxhdGZvcm1Db250ZXh0KCktPmNyKCkpOwor
CisgICAgVmVjdG9yPGNoYXI+IGVuY29kZWRJbWFnZTsKKyAgICBpZiAoIWltYWdlIHx8ICFlbmNv
ZGVJbWFnZShpbWFnZSwgbWltZVR5cGUsICZlbmNvZGVkSW1hZ2UsIHF1YWxpdHkpKQorICAgICAg
ICByZXR1cm4gImRhdGE6LCI7CisKKyAgICBWZWN0b3I8Y2hhcj4gYmFzZTY0RGF0YTsKKyAgICBi
YXNlNjRFbmNvZGUoZW5jb2RlZEltYWdlLCBiYXNlNjREYXRhKTsKKworICAgIHJldHVybiAiZGF0
YToiICsgbWltZVR5cGUgKyAiO2Jhc2U2NCwiICsgYmFzZTY0RGF0YTsKK30KKworfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZW5jb2RlcnMvSlBFR0ltYWdlRW5j
b2Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1lbmNvZGVycy9KUEVHSW1h
Z2VFbmNvZGVyLmNwcAppbmRleCA2YmMzMGRiODI1YTg1NTgyYjhjMTY0YzZhOTcwMTZmMjIzMDBm
NmEyLi4zOTAzMzA0ZmUzZmVhM2IxMTQxYTE2YWNmZThhZmI4YTcyODZjYTA3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1lbmNvZGVycy9KUEVHSW1hZ2VFbmNvZGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1lbmNvZGVycy9KUEVHSW1h
Z2VFbmNvZGVyLmNwcApAQCAtMTE5LDE1ICsxMTksMTcgQEAgYm9vbCBjb21wcmVzc1JHQkFCaWdF
bmRpYW5Ub0pQRUcodW5zaWduZWQgY2hhciogcmdiYUJpZ0VuZGlhbkRhdGEsIGNvbnN0IEludFNp
emUKICAgICBqcGVnX3N0YXJ0X2NvbXByZXNzKCZjb21wcmVzc0RhdGEsIFRSVUUpOwogICAgIHJv
d0J1ZmZlci5yZXNpemUoY29tcHJlc3NEYXRhLmltYWdlX3dpZHRoICogMyk7CiAKKyAgICAvLyBh
ZGQgb2Zmc2V0IHRvIHByZXZlbnQgY2xvYmJlcmVkIGVycm9yIGNhdXNlZCBieSBzZXRqbXAgYW5k
IGxvbmdqbXAuCisgICAgdW5zaWduZWQgb2Zmc2V0ID0gMDsKICAgICBjb25zdCB1bnNpZ25lZCBj
aGFyKiBwaXhlbCA9IHJnYmFCaWdFbmRpYW5EYXRhOwogICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIq
IHBpeGVsRW5kID0gcGl4ZWwgKyBjb21wcmVzc0RhdGEuaW1hZ2Vfd2lkdGggKiBjb21wcmVzc0Rh
dGEuaW1hZ2VfaGVpZ2h0ICogNDsKLSAgICB3aGlsZSAocGl4ZWwgPCBwaXhlbEVuZCkgeworICAg
IHdoaWxlIChwaXhlbCArIG9mZnNldCA8IHBpeGVsRW5kKSB7CiAgICAgICAgIEpTQU1QTEUqIG91
dHB1dCA9IHJvd0J1ZmZlci5kYXRhKCk7Ci0gICAgICAgIGZvciAoY29uc3QgdW5zaWduZWQgY2hh
ciogcm93RW5kID0gcGl4ZWwgKyBjb21wcmVzc0RhdGEuaW1hZ2Vfd2lkdGggKiA0OyBwaXhlbCA8
IHJvd0VuZDspIHsKLSAgICAgICAgICAgICpvdXRwdXQrKyA9IHN0YXRpY19jYXN0PEpTQU1QTEU+
KCpwaXhlbCsrICYgMHhGRik7IC8vIHJlZAotICAgICAgICAgICAgKm91dHB1dCsrID0gc3RhdGlj
X2Nhc3Q8SlNBTVBMRT4oKnBpeGVsKysgJiAweEZGKTsgLy8gZ3JlZW4KLSAgICAgICAgICAgICpv
dXRwdXQrKyA9IHN0YXRpY19jYXN0PEpTQU1QTEU+KCpwaXhlbCsrICYgMHhGRik7IC8vIGJsdWUK
LSAgICAgICAgICAgICsrcGl4ZWw7IC8vIHNraXAgYWxwaGEKKyAgICAgICAgZm9yIChjb25zdCB1
bnNpZ25lZCBjaGFyKiByb3dFbmQgPSBwaXhlbCArIG9mZnNldCArIGNvbXByZXNzRGF0YS5pbWFn
ZV93aWR0aCAqIDQ7IHBpeGVsICsgb2Zmc2V0IDwgcm93RW5kOykgeworICAgICAgICAgICAgKm91
dHB1dCsrID0gc3RhdGljX2Nhc3Q8SlNBTVBMRT4oKihwaXhlbCArIG9mZnNldCsrKSAmIDB4RkYp
OyAvLyByZWQKKyAgICAgICAgICAgICpvdXRwdXQrKyA9IHN0YXRpY19jYXN0PEpTQU1QTEU+KCoo
cGl4ZWwgKyBvZmZzZXQrKykgJiAweEZGKTsgLy8gZ3JlZW4KKyAgICAgICAgICAgICpvdXRwdXQr
KyA9IHN0YXRpY19jYXN0PEpTQU1QTEU+KCoocGl4ZWwgKyBvZmZzZXQrKykgJiAweEZGKTsgLy8g
Ymx1ZQorICAgICAgICAgICAgKytvZmZzZXQ7IC8vIHNraXAgYWxwaGEKICAgICAgICAgfQogICAg
ICAgICBvdXRwdXQgPSByb3dCdWZmZXIuZGF0YSgpOwogICAgICAgICBqcGVnX3dyaXRlX3NjYW5s
aW5lcygmY29tcHJlc3NEYXRhLCAmb3V0cHV0LCAxKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>254652</attachid>
            <date>2015-06-10 07:43:24 -0700</date>
            <delta_ts>2015-06-10 08:58:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145457-20150610234255.patch</filename>
            <type>text/plain</type>
            <size>9210</size>
            <attacher name="KwangHyuk">hyuki.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTE3YjM0MWJhODc5NTBk
YmU2YTFlNWUwZTkxZDg3YTVhMDBkZjBhZi4uZTJlYTQzNTZjODIyZGRlZDA0ODQyZTEzNjdiZjU0
OWQ1OTUxMTY1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE1LTA2LTEwICBLd2Fu
Z0h5dWsgS2ltICA8aHl1a2kua2ltQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdIEpwZWcg
aW1hZ2UgZXhwb3J0IGltcGxlbWVudGF0aW9uIGZvciBDYW52YXMuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDU0NTcKKworICAgICAgICBSZXZpZXdl
ZCBieSBHeXV5b3VuZyBLaW0uCisKKyAgICAgICAgQWRkIGltcGxlbWVudGF0aW9uIG9mIGpwZWcg
aW1hZ2UgZXhwb3J0IG9uIFdlYmtpdCBFRkwgYnkgdXNpbmcgSlBFR0ltYWdlRW5jb2Rlci4KKwor
ICAgICAgICBObyBuZXcgdGVzdHMsIGZhc3QvY2FudmFzL3RvRGF0YVVSTC1zdXBwb3J0ZWRUeXBl
cy5odG1sIGNhbiBiZSByZXVzZWQuCisKKyAgICAgICAgKiBQbGF0Zm9ybUVmbC5jbWFrZToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OmluaXRpYWxpemVTdXBwb3J0ZWRJbWFnZU1JTUVUeXBlc0ZvckVuY29kaW5nKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9JbWFnZUJ1ZmZlckNhaXJvLmNwcDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9lZmwvSW1hZ2VCdWZmZXJFZmwuY3BwOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OndyaXRlRnVuY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6ZW5jb2RlSW1h
Z2UpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VCdWZmZXI6OnRvRGF0YVVSTCk6CisgICAgICAg
ICogcGxhdGZvcm0vaW1hZ2UtZW5jb2RlcnMvSlBFR0ltYWdlRW5jb2Rlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpjb21wcmVzc1JHQkFCaWdFbmRpYW5Ub0pQRUcpOgorCiAyMDE1LTA2LTEwICBD
YXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RL
XSBHZXQgcmlkIG9mIEdldEVkaXRvckNvbW1hbmRzRm9yS2V5RXZlbnQgc3luYyBtZXNzYWdlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJD
b3JlL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IDE4ZTJhOWU1MDAyZmNkZTAxYjRjOGVjMTViNGZj
NjJiZWZhOWJhOTguLjlhODYyNzhmYTIwN2MzY2NhZTViNWYwNjU5ZWIwNzlmMTk3NzUzNTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC0xMzQsNiArMTM0LDcgQEAgbGlzdChBUFBFTkQg
V2ViQ29yZV9TT1VSQ0VTCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0dyYXBoaWNzQ29udGV4
dDNERWZsLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2VmbC9HcmFwaGljc0NvbnRleHQzRFBy
aXZhdGUuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0ljb25FZmwuY3BwCisgICAgcGxh
dGZvcm0vZ3JhcGhpY3MvZWZsL0ltYWdlQnVmZmVyRWZsLmNwcAogICAgIHBsYXRmb3JtL2dyYXBo
aWNzL2VmbC9JbWFnZUVmbC5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9lZmwvSW50UG9pbnRF
ZmwuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0ludFJlY3RFZmwuY3BwCkBAIC0xOTks
NiArMjAwLDggQEAgbGlzdChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGxhdGZvcm0vZ3Jh
cGhpY3MveDExL1BsYXRmb3JtRGlzcGxheVgxMS5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy94
MTEvWFVuaXF1ZVJlc291cmNlLmNwcAogCisgICAgcGxhdGZvcm0vaW1hZ2UtZW5jb2RlcnMvSlBF
R0ltYWdlRW5jb2Rlci5jcHAKKwogICAgIHBsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVj
b2Rlci5jcHAKIAogICAgIHBsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2JtcC9CTVBJbWFnZURlY29k
ZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lz
dHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuY3BwCmlu
ZGV4IGE0MDBkZjNhZTNhOTE2ZjA2NjhmNzRjNzI1ZTE3MzM0MWYwNGExODguLmZjZjQzY2FlYjZm
YjVjOWQ2NWE0ODU4YzY2NDdlZTZjZTU4YTFlY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL01JTUVUeXBlUmVnaXN0cnkuY3BwCkBAIC0yNjcsNiArMjY3LDkgQEAgc3RhdGljIHZvaWQg
aW5pdGlhbGl6ZVN1cHBvcnRlZEltYWdlTUlNRVR5cGVzRm9yRW5jb2RpbmcoKQogICAgIHN1cHBv
cnRlZEltYWdlTUlNRVR5cGVzRm9yRW5jb2RpbmctPmFkZCgiaW1hZ2UvdGlmZiIpOwogICAgIHN1
cHBvcnRlZEltYWdlTUlNRVR5cGVzRm9yRW5jb2RpbmctPmFkZCgiaW1hZ2UvYm1wIik7CiAgICAg
c3VwcG9ydGVkSW1hZ2VNSU1FVHlwZXNGb3JFbmNvZGluZy0+YWRkKCJpbWFnZS9pY28iKTsKKyNl
bGlmIFBMQVRGT1JNKEVGTCkKKyAgICBzdXBwb3J0ZWRJbWFnZU1JTUVUeXBlc0ZvckVuY29kaW5n
LT5hZGQoImltYWdlL3BuZyIpOworICAgIHN1cHBvcnRlZEltYWdlTUlNRVR5cGVzRm9yRW5jb2Rp
bmctPmFkZCgiaW1hZ2UvanBlZyIpOwogI2VsaWYgVVNFKENBSVJPKQogICAgIHN1cHBvcnRlZElt
YWdlTUlNRVR5cGVzRm9yRW5jb2RpbmctPmFkZCgiaW1hZ2UvcG5nIik7CiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ltYWdlQnVmZmVy
Q2Fpcm8uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vSW1hZ2VC
dWZmZXJDYWlyby5jcHAKaW5kZXggZDYxYTM0M2YzZGFkNzhmMWI5OTZjODJiMDJiZDQxNDdjZDlm
YzhkNS4uMWZhYjNiZGU5M2E2OTEzNzliNDU3MWQyODk4MGVjZDA4YjJkNzgzOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vSW1hZ2VCdWZmZXJDYWly
by5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vSW1hZ2VC
dWZmZXJDYWlyby5jcHAKQEAgLTM2MSw3ICszNjEsNyBAQCB2b2lkIEltYWdlQnVmZmVyOjpwdXRC
eXRlQXJyYXkoTXVsdGlwbHkgbXVsdGlwbGllZCwgVWludDhDbGFtcGVkQXJyYXkqIHNvdXJjZSwg
YwogICAgICAgICBjb3B5UmVjdEZyb21PbmVTdXJmYWNlVG9Bbm90aGVyKGltYWdlU3VyZmFjZS5n
ZXQoKSwgbV9kYXRhLm1fc3VyZmFjZS5nZXQoKSwgSW50U2l6ZSgpLCBJbnRSZWN0KDAsIDAsIG51
bUNvbHVtbnMsIG51bVJvd3MpLCBJbnRTaXplKGRlc3RQb2ludC54KCkgKyBzb3VyY2VSZWN0Lngo
KSwgZGVzdFBvaW50LnkoKSArIHNvdXJjZVJlY3QueSgpKSwgQ0FJUk9fT1BFUkFUT1JfU09VUkNF
KTsKIH0KIAotI2lmICFQTEFURk9STShHVEspCisjaWYgIVBMQVRGT1JNKEdUSykgJiYgIVBMQVRG
T1JNKEVGTCkKIHN0YXRpYyBjYWlyb19zdGF0dXNfdCB3cml0ZUZ1bmN0aW9uKHZvaWQqIG91dHB1
dCwgY29uc3QgdW5zaWduZWQgY2hhciogZGF0YSwgdW5zaWduZWQgaW50IGxlbmd0aCkKIHsKICAg
ICBpZiAoIXJlaW50ZXJwcmV0X2Nhc3Q8VmVjdG9yPHVuc2lnbmVkIGNoYXI+Kj4ob3V0cHV0KS0+
dHJ5QXBwZW5kKGRhdGEsIGxlbmd0aCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9lZmwvSW1hZ2VCdWZmZXJFZmwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZWZsL0ltYWdlQnVmZmVyRWZsLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41N2E5Njhk
ZTlhMGE1YTc1Mjc5ZWI0NDdjNTY3N2NiNTBlZjBlNDkyCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0ltYWdlQnVmZmVyRWZsLmNwcApAQCAt
MCwwICsxLDc4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IFNhbXN1bmcgRWxlY3Ryb25p
Y3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgorCisjaW5jbHVkZSAiaW1hZ2UtZW5jb2RlcnMvSlBF
R0ltYWdlRW5jb2Rlci5oIgorCisjaW5jbHVkZSA8Y2Fpcm8uaD4KKyNpbmNsdWRlIDx3dGYvdGV4
dC9CYXNlNjQuaD4KKworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0YXRpYyBjYWlyb19zdGF0
dXNfdCB3cml0ZUZ1bmN0aW9uKHZvaWQqIG91dHB1dCwgY29uc3QgdW5zaWduZWQgY2hhciogZGF0
YSwgdW5zaWduZWQgbGVuZ3RoKQoreworICAgIGlmICghcmVpbnRlcnByZXRfY2FzdDxWZWN0b3I8
dW5zaWduZWQgY2hhcj4qPihvdXRwdXQpLT50cnlBcHBlbmQoZGF0YSwgbGVuZ3RoKSkKKyAgICAg
ICAgcmV0dXJuIENBSVJPX1NUQVRVU19XUklURV9FUlJPUjsKKyAgICByZXR1cm4gQ0FJUk9fU1RB
VFVTX1NVQ0NFU1M7Cit9CisKK3N0YXRpYyBib29sIGVuY29kZUltYWdlKGNhaXJvX3N1cmZhY2Vf
dCogaW1hZ2UsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIFZlY3RvcjxjaGFyPiogb3V0cHV0LCBj
b25zdCBkb3VibGUqIHF1YWxpdHkpCit7CisgICAgQVNTRVJUX1VOVVNFRChtaW1lVHlwZSwgbWlt
ZVR5cGUgPT0gImltYWdlL3BuZyIgfHwgbWltZVR5cGUgPT0gImltYWdlL2pwZWciKTsgLy8gT25s
eSBQTkcgIGFuZCBKUEVHIG91dHB1dCBhcmUgc3VwcG9ydGVkIGZvciBub3cuCisgICAgYm9vbCBy
ZXN1bHQgPSBmYWxzZTsgICAgCisKKyAgICBpZiAobWltZVR5cGUgPT0gImltYWdlL3BuZyIpCisg
ICAgICAgIHJlc3VsdCA9IGNhaXJvX3N1cmZhY2Vfd3JpdGVfdG9fcG5nX3N0cmVhbShpbWFnZSwg
d3JpdGVGdW5jdGlvbiwgb3V0cHV0KSA9PSBDQUlST19TVEFUVVNfU1VDQ0VTUzsKKworICAgIGlm
IChtaW1lVHlwZSA9PSAiaW1hZ2UvanBlZyIpIHsKKyAgICAgICAgdW5zaWduZWQgY2hhciogaW1h
Z2VEYXRhID0gY2Fpcm9faW1hZ2Vfc3VyZmFjZV9nZXRfZGF0YShpbWFnZSk7CisgICAgICAgIGlu
dCB3aWR0aCA9IGNhaXJvX2ltYWdlX3N1cmZhY2VfZ2V0X3dpZHRoKGltYWdlKTsKKyAgICAgICAg
aW50IGhlaWdodCA9IGNhaXJvX2ltYWdlX3N1cmZhY2VfZ2V0X2hlaWdodChpbWFnZSk7CisgICAg
ICAgIHJlc3VsdCA9IGNvbXByZXNzUkdCQUJpZ0VuZGlhblRvSlBFRyhpbWFnZURhdGEsIEludFNp
emUod2lkdGgsIGhlaWdodCksICpvdXRwdXQsIHF1YWxpdHkpOworICAgIH0KKworICAgIHJldHVy
biByZXN1bHQ7Cit9CisKK1N0cmluZyBJbWFnZUJ1ZmZlcjo6dG9EYXRhVVJMKGNvbnN0IFN0cmlu
ZyYgbWltZVR5cGUsIGNvbnN0IGRvdWJsZSogcXVhbGl0eSwgQ29vcmRpbmF0ZVN5c3RlbSkgY29u
c3QKK3sKKyAgICBBU1NFUlQoTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRJbWFnZU1JTUVU
eXBlRm9yRW5jb2RpbmcobWltZVR5cGUpKTsKKworICAgIGNhaXJvX3N1cmZhY2VfdCogaW1hZ2Ug
PSBjYWlyb19nZXRfdGFyZ2V0KGNvbnRleHQoKS0+cGxhdGZvcm1Db250ZXh0KCktPmNyKCkpOwor
CisgICAgVmVjdG9yPGNoYXI+IGVuY29kZWRJbWFnZTsKKyAgICBpZiAoIWltYWdlIHx8ICFlbmNv
ZGVJbWFnZShpbWFnZSwgbWltZVR5cGUsICZlbmNvZGVkSW1hZ2UsIHF1YWxpdHkpKQorICAgICAg
ICByZXR1cm4gImRhdGE6LCI7CisKKyAgICBWZWN0b3I8Y2hhcj4gYmFzZTY0RGF0YTsKKyAgICBi
YXNlNjRFbmNvZGUoZW5jb2RlZEltYWdlLCBiYXNlNjREYXRhKTsKKworICAgIHJldHVybiAiZGF0
YToiICsgbWltZVR5cGUgKyAiO2Jhc2U2NCwiICsgYmFzZTY0RGF0YTsKK30KKworfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZW5jb2RlcnMvSlBFR0ltYWdlRW5j
b2Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1lbmNvZGVycy9KUEVHSW1h
Z2VFbmNvZGVyLmNwcAppbmRleCA2YmMzMGRiODI1YTg1NTgyYjhjMTY0YzZhOTcwMTZmMjIzMDBm
NmEyLi4zOTAzMzA0ZmUzZmVhM2IxMTQxYTE2YWNmZThhZmI4YTcyODZjYTA3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1lbmNvZGVycy9KUEVHSW1hZ2VFbmNvZGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1lbmNvZGVycy9KUEVHSW1h
Z2VFbmNvZGVyLmNwcApAQCAtMTE5LDE1ICsxMTksMTcgQEAgYm9vbCBjb21wcmVzc1JHQkFCaWdF
bmRpYW5Ub0pQRUcodW5zaWduZWQgY2hhciogcmdiYUJpZ0VuZGlhbkRhdGEsIGNvbnN0IEludFNp
emUKICAgICBqcGVnX3N0YXJ0X2NvbXByZXNzKCZjb21wcmVzc0RhdGEsIFRSVUUpOwogICAgIHJv
d0J1ZmZlci5yZXNpemUoY29tcHJlc3NEYXRhLmltYWdlX3dpZHRoICogMyk7CiAKKyAgICAvLyBh
ZGQgb2Zmc2V0IHRvIHByZXZlbnQgY2xvYmJlcmVkIGVycm9yIGNhdXNlZCBieSBzZXRqbXAgYW5k
IGxvbmdqbXAuCisgICAgdW5zaWduZWQgb2Zmc2V0ID0gMDsKICAgICBjb25zdCB1bnNpZ25lZCBj
aGFyKiBwaXhlbCA9IHJnYmFCaWdFbmRpYW5EYXRhOwogICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIq
IHBpeGVsRW5kID0gcGl4ZWwgKyBjb21wcmVzc0RhdGEuaW1hZ2Vfd2lkdGggKiBjb21wcmVzc0Rh
dGEuaW1hZ2VfaGVpZ2h0ICogNDsKLSAgICB3aGlsZSAocGl4ZWwgPCBwaXhlbEVuZCkgeworICAg
IHdoaWxlIChwaXhlbCArIG9mZnNldCA8IHBpeGVsRW5kKSB7CiAgICAgICAgIEpTQU1QTEUqIG91
dHB1dCA9IHJvd0J1ZmZlci5kYXRhKCk7Ci0gICAgICAgIGZvciAoY29uc3QgdW5zaWduZWQgY2hh
ciogcm93RW5kID0gcGl4ZWwgKyBjb21wcmVzc0RhdGEuaW1hZ2Vfd2lkdGggKiA0OyBwaXhlbCA8
IHJvd0VuZDspIHsKLSAgICAgICAgICAgICpvdXRwdXQrKyA9IHN0YXRpY19jYXN0PEpTQU1QTEU+
KCpwaXhlbCsrICYgMHhGRik7IC8vIHJlZAotICAgICAgICAgICAgKm91dHB1dCsrID0gc3RhdGlj
X2Nhc3Q8SlNBTVBMRT4oKnBpeGVsKysgJiAweEZGKTsgLy8gZ3JlZW4KLSAgICAgICAgICAgICpv
dXRwdXQrKyA9IHN0YXRpY19jYXN0PEpTQU1QTEU+KCpwaXhlbCsrICYgMHhGRik7IC8vIGJsdWUK
LSAgICAgICAgICAgICsrcGl4ZWw7IC8vIHNraXAgYWxwaGEKKyAgICAgICAgZm9yIChjb25zdCB1
bnNpZ25lZCBjaGFyKiByb3dFbmQgPSBwaXhlbCArIG9mZnNldCArIGNvbXByZXNzRGF0YS5pbWFn
ZV93aWR0aCAqIDQ7IHBpeGVsICsgb2Zmc2V0IDwgcm93RW5kOykgeworICAgICAgICAgICAgKm91
dHB1dCsrID0gc3RhdGljX2Nhc3Q8SlNBTVBMRT4oKihwaXhlbCArIG9mZnNldCsrKSAmIDB4RkYp
OyAvLyByZWQKKyAgICAgICAgICAgICpvdXRwdXQrKyA9IHN0YXRpY19jYXN0PEpTQU1QTEU+KCoo
cGl4ZWwgKyBvZmZzZXQrKykgJiAweEZGKTsgLy8gZ3JlZW4KKyAgICAgICAgICAgICpvdXRwdXQr
KyA9IHN0YXRpY19jYXN0PEpTQU1QTEU+KCoocGl4ZWwgKyBvZmZzZXQrKykgJiAweEZGKTsgLy8g
Ymx1ZQorICAgICAgICAgICAgKytvZmZzZXQ7IC8vIHNraXAgYWxwaGEKICAgICAgICAgfQogICAg
ICAgICBvdXRwdXQgPSByb3dCdWZmZXIuZGF0YSgpOwogICAgICAgICBqcGVnX3dyaXRlX3NjYW5s
aW5lcygmY29tcHJlc3NEYXRhLCAmb3V0cHV0LCAxKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>