<?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>47700</bug_id>
          
          <creation_ts>2010-10-14 16:48:33 -0700</creation_ts>
          <short_desc>Make mime type lookup in File::create(path) thread-safe</short_desc>
          <delta_ts>2019-09-11 03:18:28 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=201684</see_also>
          <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="Kinuko Yasuda">kinuko</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dmikurube</cc>
    
    <cc>jianli</cc>
    
    <cc>levin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>294462</commentid>
    <comment_count>0</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-10-14 16:48:33 -0700</bug_when>
    <thetext>Make mime type lookup in File::create(path) thread-safe.  This is dangerous when this code runs on workers.

Currently when we create a File object (WebCore/fileapi/File) from a file path, it calls MIMETypeRegistry::getMIMETypeForExtension() to initialize File.type based on the given path.
But this is not thread-safe on many platforms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>338841</commentid>
    <comment_count>1</comment_count>
      <attachid>79894</attachid>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2011-01-23 22:37:57 -0800</bug_when>
    <thetext>Created attachment 79894
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>338842</commentid>
    <comment_count>2</comment_count>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2011-01-23 22:38:50 -0800</bug_when>
    <thetext>Hi,

The patch is not to be reviewed (not tested!), but what do you think about it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>338848</commentid>
    <comment_count>3</comment_count>
      <attachid>79894</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2011-01-23 23:11:47 -0800</bug_when>
    <thetext>Comment on attachment 79894
Patch

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

Thanks for uploading this.  You&apos;d want to wait for David&apos;s (or someone who knows very well) comments, but I put a few minor ones:

&gt; Source/WebCore/ChangeLog:20
&gt; +        * platform/MIMETypeRegistry.h:

It is generally encouraged to put short change summary (ideally) for each file, maybe the first two files may deserve short summary in this patch?

&gt; Source/WebCore/platform/android/TemporaryLinkStubs.cpp:310
&gt; +    ASSERT_NOT_REACHED();

This shouldn&apos;t compile if this happens right?

How about changing this to more generic check like:
ASSERT(isMainThread());
without guards, or only with ENABLE(WORKERS).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339566</commentid>
    <comment_count>4</comment_count>
      <attachid>80040</attachid>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2011-01-25 03:03:28 -0800</bug_when>
    <thetext>Created attachment 80040
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339567</commentid>
    <comment_count>5</comment_count>
      <attachid>79894</attachid>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2011-01-25 03:07:15 -0800</bug_when>
    <thetext>Comment on attachment 79894
Patch

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

Hi Kinuko-san,

Thank you for your comments.

&gt;&gt; Source/WebCore/ChangeLog:20
&gt;&gt; +        * platform/MIMETypeRegistry.h:
&gt; 
&gt; It is generally encouraged to put short change summary (ideally) for each file, maybe the first two files may deserve short summary in this patch?

Exactly. I&apos;ve added summary.

&gt;&gt; Source/WebCore/platform/android/TemporaryLinkStubs.cpp:310
&gt;&gt; +    ASSERT_NOT_REACHED();
&gt; 
&gt; This shouldn&apos;t compile if this happens right?
&gt; 
&gt; How about changing this to more generic check like:
&gt; ASSERT(isMainThread());
&gt; without guards, or only with ENABLE(WORKERS).

Changed as your advice. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341377</commentid>
    <comment_count>6</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2011-01-28 02:44:13 -0800</bug_when>
    <thetext>lgtm; now you&apos;ll need a real reviewer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341552</commentid>
    <comment_count>7</comment_count>
      <attachid>80040</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-01-28 11:19:10 -0800</bug_when>
    <thetext>Comment on attachment 80040
Patch

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

&gt; Source/WebCore/platform/mac/MIMETypeRegistryMac.mm:39
&gt; +#if ENABLE(WORKERS)
&gt; +    ASSERT(isMainThread());
&gt; +#endif

Can we make these asserts even if we haven&apos;t enabled workers?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342988</commentid>
    <comment_count>8</comment_count>
      <attachid>80710</attachid>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2011-01-31 20:06:25 -0800</bug_when>
    <thetext>Created attachment 80710
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342989</commentid>
    <comment_count>9</comment_count>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2011-01-31 20:07:46 -0800</bug_when>
    <thetext>(In reply to comment #7)
HI Adam,

Thank you for your review. I&apos;ve removed #if ENABLED(WORKERS).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343243</commentid>
    <comment_count>10</comment_count>
      <attachid>80710</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2011-02-01 08:57:40 -0800</bug_when>
    <thetext>Comment on attachment 80710
Patch

This looks good. One last thing to fix up wherever you added ASSERT(isMainThread()); please make sure that the file has the following includes:

#include &lt;wtf/Assertions.h&gt;
#include &lt;wtf/MainThread.h&gt;

I spot checked MIMETypeRegistryWinCE.cpp and MimeTypeRegistryWx.cpp and noticed they didn&apos;t have these so those builds may get broken by this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343888</commentid>
    <comment_count>11</comment_count>
      <attachid>80898</attachid>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2011-02-01 23:35:08 -0800</bug_when>
    <thetext>Created attachment 80898
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343890</commentid>
    <comment_count>12</comment_count>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2011-02-01 23:36:05 -0800</bug_when>
    <thetext>(In reply to comment #10)
Hi Levin,

Thank you for your review. Added the header files!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343904</commentid>
    <comment_count>13</comment_count>
      <attachid>80898</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-02 00:24:23 -0800</bug_when>
    <thetext>Comment on attachment 80898
Patch

Clearing flags on attachment: 80898

Committed r77368: &lt;http://trac.webkit.org/changeset/77368&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343905</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-02 00:24:29 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348651</commentid>
    <comment_count>15</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2011-02-09 15:32:07 -0800</bug_when>
    <thetext>*** Bug 35616 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79894</attachid>
            <date>2011-01-23 22:37:57 -0800</date>
            <delta_ts>2011-01-25 03:07:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47700-20110124153755.patch</filename>
            <type>text/plain</type>
            <size>11163</size>
            <attacher name="Dai Mikurube">dmikurube</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAzZjllNWVkYjc2MzIwNDc2MWE1OTgzMzdhOWY2ZDk2MTRlY2I0MWRiLi43
YjZiYWZjYzdlZDEwOTRjNDVlNzMwZDA3MTUxMTc4NDdlZDA1NjNmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNDYgQEAKKzIwMTEtMDEtMjMgIERhaSBNaWt1cnViZSAgPGRtaWt1cnViZUBnb29nbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1h
a2UgbWltZSB0eXBlIGxvb2t1cCBpbiBGaWxlOjpjcmVhdGUocGF0aCkgdGhyZWFkLXNhZmUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3NzAwCisKKyAg
ICAgICAgVGhpcyBwYXRjaCBpbnRyb2R1Y2VzIGEgbmV3IGZ1bmN0aW9uIE1JTUVUeXBlUmVnaXN0
cnk6OmdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uVGhyZWFkU2FmZSgpLgorICAgICAgICBUaGUgZnVu
Y3Rpb24gaXMgdG8gYmUgY2FsbGVkIGFzIGEgdGhyZWFkLXNhZmUgdmVyc2lvbiBvZiBnZXRNSU1F
VHlwZUZvckV4dGVuc2lvbigpIHdoZW4KKyAgICAgICAgYm90aCBGSUxFX1NZU1RFTSBhbmQgV09S
S0VSUyBhcmUgZW5hYmxlZC4KKworICAgICAgICBObyB0ZXN0cyBmb3IgdGhpcyBwYXRjaC4gVGhp
cyBwYXRjaCBpdHNlbGYgZG9lc24ndCBjaGFuZ2UgdGhlIGJlaGF2aW9ycy4KKyAgICAgICAgRm9y
IENocm9taXVtLCBpdCBydW5zIGluIHRoZSBzYW1lIHdheSB3aXRoIGdldE1JTUVUeXBlRm9yRXh0
ZW5zaW9uVGhyZWFkU2FmZSgpLgorICAgICAgICBGb3IgdGhlIG90aGVyIHBsYXRmb3JtcywgaXQg
Y2F1c2VzIGNvbXBpbGF0aW9uIGVycm9yIGluIGNhc2Ugb2YgZW5hYmxlZCBGSUxFX1NZU1RFTSBh
bmQgV09SS0VSUy4KKyAgICAgICAgVGhlIGNvbXBpbGF0aW9uIGVycm9yIHdvdWxkIGJlIGEgc2ln
bmFsIHRvIGltcGxlbWVudCBnZXRNSU1FVHlwZUZvckV4dGVuc2lvblRocmVhZFNhZmUoKSBpbiB0
aGVzZQorICAgICAgICBwbGF0Zm9ybXMuIEN1cnJlbnRseSBpdCBkb2Vzbid0IGhhcHBlbiBzaW5j
ZSBGSUxFX1NZU1RFTSBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBvdGhlciBwbGF0Zm9ybXMuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Ok1JTUVUeXBlUmVnaXN0cnk6OmdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5Lmg6CisgICAgICAgICogcGxhdGZvcm0vYW5kcm9p
ZC9UZW1wb3JhcnlMaW5rU3R1YnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TUlNRVR5cGVSZWdp
c3RyeTo6Z2V0TUlNRVR5cGVGb3JFeHRlbnNpb24pOgorICAgICAgICAqIHBsYXRmb3JtL2JyZXcv
TUlNRVR5cGVSZWdpc3RyeUJyZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TUlNRVR5cGVSZWdp
c3RyeTo6Z2V0TUlNRVR5cGVGb3JFeHRlbnNpb24pOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9t
aXVtL01JTUVUeXBlUmVnaXN0cnlDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNSU1F
VHlwZVJlZ2lzdHJ5OjpnZXRNSU1FVHlwZUZvckV4dGVuc2lvbik6CisgICAgICAgICogcGxhdGZv
cm0vZWZsL01JTUVUeXBlUmVnaXN0cnlFZmwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TUlNRVR5
cGVSZWdpc3RyeTo6Z2V0TUlNRVR5cGVGb3JFeHRlbnNpb24pOgorICAgICAgICAqIHBsYXRmb3Jt
L2d0ay9NSU1FVHlwZVJlZ2lzdHJ5R3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1JTUVUeXBl
UmVnaXN0cnk6OmdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9o
YWlrdS9NSU1FVHlwZVJlZ2lzdHJ5SGFpa3UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TUlNRVR5
cGVSZWdpc3RyeTo6Z2V0TUlNRVR5cGVGb3JFeHRlbnNpb24pOgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy9NSU1FVHlwZVJlZ2lzdHJ5TWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6TUlNRVR5cGVS
ZWdpc3RyeTo6Z2V0TUlNRVR5cGVGb3JFeHRlbnNpb24pOgorICAgICAgICAqIHBsYXRmb3JtL3F0
L01JTUVUeXBlUmVnaXN0cnlRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNSU1FVHlwZVJlZ2lz
dHJ5OjpnZXRNSU1FVHlwZUZvckV4dGVuc2lvbik6CisgICAgICAgICogcGxhdGZvcm0vd2luL01J
TUVUeXBlUmVnaXN0cnlXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TUlNRVR5cGVSZWdpc3Ry
eTo6Z2V0TUlNRVR5cGVGb3JFeHRlbnNpb24pOgorICAgICAgICAqIHBsYXRmb3JtL3dpbmNlL01J
TUVUeXBlUmVnaXN0cnlXaW5DRS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNSU1FVHlwZVJlZ2lz
dHJ5OjpnZXRNSU1FVHlwZUZvckV4dGVuc2lvbik6CisgICAgICAgICogcGxhdGZvcm0vd3gvTWlt
ZVR5cGVSZWdpc3RyeVd4LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1JTUVUeXBlUmVnaXN0cnk6
OmdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uKToKKwogMjAxMS0wMS0yMyAgTWFyayBSb3dlICA8bXJv
d2VAYXBwbGUuY29tPgogCiAgICAgICAgIEZvbGxvdy11cCB0byByNzY0NzcuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuY3BwCmluZGV4IGYzY2NjYzA2Y2QzOTc2
ZWI1YjkyZjY0M2NiMjBlYmNkODlhNGVjMTYuLjgyNTBmZTQxMTQ5NTdlZDZkNWJkODVmMDc2YWM3
ZWVjNWMyMTJhMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBl
UmVnaXN0cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0
cnkuY3BwCkBAIC0zNDMsNiArMzQzLDEzIEBAIHN0YXRpYyBNZWRpYU1JTUVUeXBlTWFwJiBtZWRp
YU1JTUVUeXBlTWFwKCkKICAgICByZXR1cm4gbWVkaWFNSU1FVHlwZUZvckV4dGVuc2lvbk1hcDsK
IH0KIAorI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkgJiYgRU5BQkxFKFdPUktFUlMpCitTdHJpbmcg
TUlNRVR5cGVSZWdpc3RyeTo6Z2V0TUlNRVR5cGVGb3JFeHRlbnNpb24oY29uc3QgU3RyaW5nJiBl
eHRlbnNpb24pCit7CisgICAgZ2V0TUlNRVR5cGVGb3JFeHRlbnNpb25UaHJlYWRTYWZlKGV4dGVu
c2lvbikKK30KKyNlbmRpZgorCiBTdHJpbmcgTUlNRVR5cGVSZWdpc3RyeTo6Z2V0TWVkaWFNSU1F
VHlwZUZvckV4dGVuc2lvbihjb25zdCBTdHJpbmcmIGV4dCkKIHsKICAgICAvLyBMb29rIGluIHRo
ZSBzeXN0ZW0tc3BlY2lmaWMgcmVnaXN0cnkgZmlyc3QuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9NSU1FVHlwZVJlZ2lzdHJ5LmgKaW5kZXggNjRhYmVhODFkYmE2ZjY5ZWNmZmZlMmJhMTEyMDJm
M2RjNDhkMTU1Zi4uZDA2OTAzNWYwMjE4YjlmYjk1NTUwYmUzYWEzYWJjMGI2OWE0YWZhMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuaApAQCAtMzYsNiArMzYs
OSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBNSU1FVHlwZVJlZ2lzdHJ5IHsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgU3RyaW5nIGdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uKGNvbnN0IFN0cmlu
ZyYgZXh0ZW5zaW9uKTsKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pICYmIEVOQUJMRShXT1JLRVJT
KQorICAgIHN0YXRpYyBTdHJpbmcgZ2V0TUlNRVR5cGVGb3JFeHRlbnNpb25UaHJlYWRTYWZlKGNv
bnN0IFN0cmluZyYgZXh0ZW5zaW9uKTsKKyNlbmRpZgogICAgIHN0YXRpYyBWZWN0b3I8U3RyaW5n
PiBnZXRFeHRlbnNpb25zRm9yTUlNRVR5cGUoY29uc3QgU3RyaW5nJiB0eXBlKTsKICAgICBzdGF0
aWMgU3RyaW5nIGdldFByZWZlcnJlZEV4dGVuc2lvbkZvck1JTUVUeXBlKGNvbnN0IFN0cmluZyYg
dHlwZSk7CiAgICAgc3RhdGljIFN0cmluZyBnZXRNZWRpYU1JTUVUeXBlRm9yRXh0ZW5zaW9uKGNv
bnN0IFN0cmluZyYgZXh0ZW5zaW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2FuZHJvaWQvVGVtcG9yYXJ5TGlua1N0dWJzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2FuZHJvaWQvVGVtcG9yYXJ5TGlua1N0dWJzLmNwcAppbmRleCAxYzQyMzNhMTk0ZTU0NjBl
ZDlmZjQ3NmM5MzAwZWExYmY0ZjA1OWI0Li5kZGFjYTBjYjRmZjI1MGU3OTJlYmUyNTNmNTgxMzhi
MjVkMTk5MDIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmRyb2lkL1Rl
bXBvcmFyeUxpbmtTdHVicy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYW5kcm9p
ZC9UZW1wb3JhcnlMaW5rU3R1YnMuY3BwCkBAIC0zMDYsNiArMzA2LDkgQEAgdm9pZCogV2ViQ29y
ZTo6RnJhbWU6OmRyYWdJbWFnZUZvclNlbGVjdGlvbigpCiAKIFdURjo6U3RyaW5nIFdlYkNvcmU6
Ok1JTUVUeXBlUmVnaXN0cnk6OmdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uKFdURjo6U3RyaW5nIGNv
bnN0JikKIHsKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pICYmIEVOQUJMRShXT1JLRVJTKQorICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworI2VuZGlmCiAgICAgcmV0dXJuIFdURjo6U3RyaW5nKCk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JyZXcvTUlNRVR5cGVS
ZWdpc3RyeUJyZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYnJldy9NSU1FVHlwZVJl
Z2lzdHJ5QnJldy5jcHAKaW5kZXggMGE1MzhjMmE4Y2IyMTU4YzEwMjg4MzRiY2NmNGRiMWE3ZmQw
MGUzMS4uOWQ3NTJiNDU5YmE3ZTUwYzgwYWU5MDY1MjM2ZGFmYzUwZTRlMmI3YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYnJldy9NSU1FVHlwZVJlZ2lzdHJ5QnJldy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYnJldy9NSU1FVHlwZVJlZ2lzdHJ5QnJldy5j
cHAKQEAgLTYzLDYgKzYzLDEwIEBAIHN0YXRpYyBjb25zdCBFeHRlbnNpb25NYXAgZXh0ZW5zaW9u
TWFwW10gPSB7CiAKIFN0cmluZyBNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRNSU1FVHlwZUZvckV4dGVu
c2lvbihjb25zdCBTdHJpbmcgJmV4dCkKIHsKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pICYmIEVO
QUJMRShXT1JLRVJTKQorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworI2VuZGlmCisKICAgICBT
dHJpbmcgc3RyID0gZXh0Lmxvd2VyKCk7CiAKICAgICBjb25zdCBFeHRlbnNpb25NYXAqIGUgPSBl
eHRlbnNpb25NYXA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1
bS9NSU1FVHlwZVJlZ2lzdHJ5Q2hyb21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Y2hyb21pdW0vTUlNRVR5cGVSZWdpc3RyeUNocm9taXVtLmNwcAppbmRleCBmZWMwZTliZTE5ODYw
NWZhMTY2YmY3NWE2MjA0YWQ1YzI4MDcxMzY4Li4xMzY3ZmQ2MmRkNDRiNjM4NDFiM2E3YzkyODUy
OWI2OTJhY2E3MmU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1
bS9NSU1FVHlwZVJlZ2lzdHJ5Q2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2Nocm9taXVtL01JTUVUeXBlUmVnaXN0cnlDaHJvbWl1bS5jcHAKQEAgLTQyLDcgKzQyLDEx
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkgJiYg
RU5BQkxFKFdPUktFUlMpCitTdHJpbmcgTUlNRVR5cGVSZWdpc3RyeTo6Z2V0TUlNRVR5cGVGb3JF
eHRlbnNpb25UaHJlYWRTYWZlKGNvbnN0IFN0cmluZyAmZXh0KQorI2Vsc2UKIFN0cmluZyBNSU1F
VHlwZVJlZ2lzdHJ5OjpnZXRNSU1FVHlwZUZvckV4dGVuc2lvbihjb25zdCBTdHJpbmcgJmV4dCkK
KyNlbmRpZgogewogICAgIHJldHVybiBQbGF0Zm9ybUJyaWRnZTo6bWltZVR5cGVGb3JFeHRlbnNp
b24oZXh0KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9NSU1F
VHlwZVJlZ2lzdHJ5RWZsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9NSU1FVHlw
ZVJlZ2lzdHJ5RWZsLmNwcAppbmRleCBkMGM5NWJmYmJjZTNhMmM3ZDVmODQ0NDFjNjQ2NWMzNjNm
YTNjYjFiLi4zMjIyNmE2Y2IxZTJmNmJlMTZhNjQ1ZWQyNmZmMmY1NjU2MThjZGU1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvTUlNRVR5cGVSZWdpc3RyeUVmbC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL01JTUVUeXBlUmVnaXN0cnlFZmwuY3Bw
CkBAIC03Miw2ICs3MiwxMCBAQCBzdGF0aWMgY29uc3QgRXh0ZW5zaW9uTWFwIGV4dGVuc2lvbk1h
cFtdID0gewogCiBTdHJpbmcgTUlNRVR5cGVSZWdpc3RyeTo6Z2V0TUlNRVR5cGVGb3JFeHRlbnNp
b24oY29uc3QgU3RyaW5nICZleHQpCiB7CisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKSAmJiBFTkFC
TEUoV09SS0VSUykKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyNlbmRpZgorCiAgICAgU3Ry
aW5nIHMgPSBleHQubG93ZXIoKTsKICAgICBjb25zdCBFeHRlbnNpb25NYXAgKmUgPSBleHRlbnNp
b25NYXA7CiAgICAgd2hpbGUgKGUtPmV4dGVuc2lvbikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3RrL01JTUVUeXBlUmVnaXN0cnlHdGsuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3RrL01JTUVUeXBlUmVnaXN0cnlHdGsuY3BwCmluZGV4IDhmYzMwMjA0YWU0
ZWQwMGVmNTA2MDRiY2IxZjUzMjIwNjc4ZTBmZDYuLmVlYjAxOWE0ZDMyMzViNzUyODEwMDE0YmVk
YTRkNjVmMWEwOTVjYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9N
SU1FVHlwZVJlZ2lzdHJ5R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsv
TUlNRVR5cGVSZWdpc3RyeUd0ay5jcHAKQEAgLTYyLDYgKzYyLDEwIEBAIHN0YXRpYyBjb25zdCBF
eHRlbnNpb25NYXAgZXh0ZW5zaW9uTWFwIFtdID0gewogCiBTdHJpbmcgTUlNRVR5cGVSZWdpc3Ry
eTo6Z2V0TUlNRVR5cGVGb3JFeHRlbnNpb24oY29uc3QgU3RyaW5nICZleHQpCiB7CisjaWYgRU5B
QkxFKEZJTEVfU1lTVEVNKSAmJiBFTkFCTEUoV09SS0VSUykKKyAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKKyNlbmRpZgorCiAgICAgU3RyaW5nIHMgPSBleHQubG93ZXIoKTsKICAgICBjb25zdCBF
eHRlbnNpb25NYXAgKmUgPSBleHRlbnNpb25NYXA7CiAgICAgd2hpbGUgKGUtPmV4dGVuc2lvbikg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaGFpa3UvTUlNRVR5cGVSZWdp
c3RyeUhhaWt1LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2hhaWt1L01JTUVUeXBlUmVn
aXN0cnlIYWlrdS5jcHAKaW5kZXggNjg1ODI3ZTI5YjZmMTE5ZGVhMDdmNWI1ZTY4MGFiMmRlMTFm
ODFjOS4uYWNlZTY5ZGM4N2Y3YTE4ZGZmYTU3YjM1MDkyYzBlYTZmYWMzYjM3MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaGFpa3UvTUlNRVR5cGVSZWdpc3RyeUhhaWt1LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9oYWlrdS9NSU1FVHlwZVJlZ2lzdHJ5SGFp
a3UuY3BwCkBAIC02Miw2ICs2MiwxMCBAQCBzdGF0aWMgY29uc3QgRXh0ZW5zaW9uTWFwIGV4dGVu
c2lvbk1hcFtdID0gewogCiBTdHJpbmcgTUlNRVR5cGVSZWdpc3RyeTo6Z2V0TUlNRVR5cGVGb3JF
eHRlbnNpb24oY29uc3QgU3RyaW5nJiBleHQpCiB7CisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKSAm
JiBFTkFCTEUoV09SS0VSUykKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyNlbmRpZgorCiAg
ICAgU3RyaW5nIHN0ciA9IGV4dC5sb3dlcigpOwogCiAgICAgLy8gVHJ5IFdlYkNvcmUgYnVpbHQt
aW4gdHlwZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTUlNRVR5
cGVSZWdpc3RyeU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9NSU1FVHlwZVJl
Z2lzdHJ5TWFjLm1tCmluZGV4IDgyMzQ4ZTBmNDFkMjg0MzY3NzZhMzliZDVmNWMyY2ZhZjVjYWI3
ZmIuLmRlODAzN2JiOTExYWZkMTNmMWVlMzQyYjE5OTY0NDI0OTM0MWJjOWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9NSU1FVHlwZVJlZ2lzdHJ5TWFjLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9NSU1FVHlwZVJlZ2lzdHJ5TWFjLm1tCkBAIC0z
NCw2ICszNCw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlCiAKIFN0cmluZyBNSU1FVHlwZVJlZ2lzdHJ5
OjpnZXRNSU1FVHlwZUZvckV4dGVuc2lvbihjb25zdCBTdHJpbmcgJmV4dCkKIHsKKyNpZiBFTkFC
TEUoRklMRV9TWVNURU0pICYmIEVOQUJMRShXT1JLRVJTKQorICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOworI2VuZGlmCiAgICAgcmV0dXJuIHdrR2V0TUlNRVR5cGVGb3JFeHRlbnNpb24oZXh0KTsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvTUlNRVR5cGVSZWdp
c3RyeVF0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L01JTUVUeXBlUmVnaXN0cnlR
dC5jcHAKaW5kZXggMTJkYjg5MWUzMTE3MmFkZjg4MGM1OWM5YmU1MTNiNDZiZDAwMjk4Ni4uNzAz
M2U3NTVhZjM1NDM3NzJmMGI0MzgzN2U4NDdiZjkxYTgxYjU4ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vcXQvTUlNRVR5cGVSZWdpc3RyeVF0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9xdC9NSU1FVHlwZVJlZ2lzdHJ5UXQuY3BwCkBAIC03MCw2ICs3MCwx
MCBAQCBzdGF0aWMgY29uc3QgRXh0ZW5zaW9uTWFwIGV4dGVuc2lvbk1hcFtdID0gewogCiBTdHJp
bmcgTUlNRVR5cGVSZWdpc3RyeTo6Z2V0TUlNRVR5cGVGb3JFeHRlbnNpb24oY29uc3QgU3RyaW5n
ICZleHQpCiB7CisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKSAmJiBFTkFCTEUoV09SS0VSUykKKyAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyNlbmRpZgorCiAgICAgU3RyaW5nIHMgPSBleHQubG93
ZXIoKTsKIAogICAgIGNvbnN0IEV4dGVuc2lvbk1hcCAqZSA9IGV4dGVuc2lvbk1hcDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9NSU1FVHlwZVJlZ2lzdHJ5V2luLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9NSU1FVHlwZVJlZ2lzdHJ5V2luLmNwcApp
bmRleCA5ODA3NDJhOWQyMGM3ZWU5MmMyMmUwZjBhOTQ5ZWQ1ZWQ5OGRkMGY4Li5mNjg4MWZmZjI5
ZGYzYjQ4NWY1MzE4MDZkMjMxMTk1MDhkN2YyNjExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS93aW4vTUlNRVR5cGVSZWdpc3RyeVdpbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vd2luL01JTUVUeXBlUmVnaXN0cnlXaW4uY3BwCkBAIC02NCw2ICs2NCwxMCBA
QCBTdHJpbmcgTUlNRVR5cGVSZWdpc3RyeTo6Z2V0UHJlZmVycmVkRXh0ZW5zaW9uRm9yTUlNRVR5
cGUoY29uc3QgU3RyaW5nJiB0eXBlKQogCiBTdHJpbmcgTUlNRVR5cGVSZWdpc3RyeTo6Z2V0TUlN
RVR5cGVGb3JFeHRlbnNpb24oY29uc3QgU3RyaW5nICZleHQpCiB7CisjaWYgRU5BQkxFKEZJTEVf
U1lTVEVNKSAmJiBFTkFCTEUoV09SS0VSUykKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyNl
bmRpZgorCiAgICAgaWYgKGV4dC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBTdHJpbmcoKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luY2UvTUlNRVR5cGVSZWdp
c3RyeVdpbkNFLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbmNlL01JTUVUeXBlUmVn
aXN0cnlXaW5DRS5jcHAKaW5kZXggNzUzNGI5MTRjZWFlNWJmMzFlNDQyMWQ3Mjc1YjQ0MDU0N2Q2
NDFjNy4uMWM4YmRlOWExYzEwOTQzODg1ODZkOTczMmI2ZThjNzk0NTc2YjU4OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luY2UvTUlNRVR5cGVSZWdpc3RyeVdpbkNFLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW5jZS9NSU1FVHlwZVJlZ2lzdHJ5V2lu
Q0UuY3BwCkBAIC0xMTksNiArMTE5LDEwIEBAIFN0cmluZyBNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRQ
cmVmZXJyZWRFeHRlbnNpb25Gb3JNSU1FVHlwZShjb25zdCBTdHJpbmcmIHR5cGUpCiAKIFN0cmlu
ZyBNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRNSU1FVHlwZUZvckV4dGVuc2lvbihjb25zdCBTdHJpbmcg
JmV4dCkKIHsKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pICYmIEVOQUJMRShXT1JLRVJTKQorICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworI2VuZGlmCisKICAgICBpZiAoZXh0LmlzRW1wdHkoKSkK
ICAgICAgICAgcmV0dXJuIFN0cmluZygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS93eC9NaW1lVHlwZVJlZ2lzdHJ5V3guY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vd3gvTWltZVR5cGVSZWdpc3RyeVd4LmNwcAppbmRleCBlN2NjMGUyNjA2MjQ3YWYyMWY3NDc3
YzYxZjFlOTM3MjUzMTIyOGNiLi4zZDY4ZmM2YzI5ZmU0Yzc1YjExZmYzZWY4OTEyNDQyMDE0OWJm
NWM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93eC9NaW1lVHlwZVJlZ2lz
dHJ5V3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3d4L01pbWVUeXBlUmVnaXN0
cnlXeC5jcHAKQEAgLTU5LDYgKzU5LDEwIEBAIHN0YXRpYyBjb25zdCBFeHRlbnNpb25NYXAgZXh0
ZW5zaW9uTWFwIFtdID0gewogICAgIAogU3RyaW5nIE1JTUVUeXBlUmVnaXN0cnk6OmdldE1JTUVU
eXBlRm9yRXh0ZW5zaW9uKGNvbnN0IFN0cmluZyAmZXh0KQogeworI2lmIEVOQUJMRShGSUxFX1NZ
U1RFTSkgJiYgRU5BQkxFKFdPUktFUlMpCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisjZW5k
aWYKKwogICAgIFN0cmluZyBzID0gZXh0Lmxvd2VyKCk7CiAgICAgY29uc3QgRXh0ZW5zaW9uTWFw
ICplID0gZXh0ZW5zaW9uTWFwOwogICAgIHdoaWxlIChlLT5leHRlbnNpb24pIHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80040</attachid>
            <date>2011-01-25 03:03:28 -0800</date>
            <delta_ts>2011-01-31 20:06:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47700-20110125200326.patch</filename>
            <type>text/plain</type>
            <size>11521</size>
            <attacher name="Dai Mikurube">dmikurube</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAzZjllNWVkYjc2MzIwNDc2MWE1OTgzMzdhOWY2ZDk2MTRlY2I0MWRiLi5j
ZTM2M2JlOTE5MmNlODZmNjdlZTgyZDMwYzJmOTJkMzUyMTZlMzVlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNDYgQEAKKzIwMTEtMDEtMjMgIERhaSBNaWt1cnViZSAgPGRtaWt1cnViZUBnb29nbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1h
a2UgbWltZSB0eXBlIGxvb2t1cCBpbiBGaWxlOjpjcmVhdGUocGF0aCkgdGhyZWFkLXNhZmUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3NzAwCisKKyAg
ICAgICAgVGhpcyBwYXRjaCBpbnRyb2R1Y2VzIGEgbmV3IGZ1bmN0aW9uIE1JTUVUeXBlUmVnaXN0
cnk6OmdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uVGhyZWFkU2FmZSgpLgorICAgICAgICBUaGUgZnVu
Y3Rpb24gaXMgdG8gYmUgY2FsbGVkIGFzIGEgdGhyZWFkLXNhZmUgdmVyc2lvbiBvZiBnZXRNSU1F
VHlwZUZvckV4dGVuc2lvbigpIHdoZW4KKyAgICAgICAgYm90aCBGSUxFX1NZU1RFTSBhbmQgV09S
S0VSUyBhcmUgZW5hYmxlZC4KKworICAgICAgICBObyB0ZXN0cyBmb3IgdGhpcyBwYXRjaC4gVGhp
cyBwYXRjaCBpdHNlbGYgZG9lc24ndCBjaGFuZ2UgdGhlIGJlaGF2aW9ycy4KKyAgICAgICAgRm9y
IENocm9taXVtLCBpdCBydW5zIGluIHRoZSBzYW1lIHdheSB3aXRoIGdldE1JTUVUeXBlRm9yRXh0
ZW5zaW9uVGhyZWFkU2FmZSgpLgorICAgICAgICBGb3IgdGhlIG90aGVyIHBsYXRmb3JtcywgaXQg
Y2F1c2VzIGNvbXBpbGF0aW9uIGVycm9yIGluIGNhc2Ugb2YgZW5hYmxlZCBGSUxFX1NZU1RFTSBh
bmQgV09SS0VSUy4KKyAgICAgICAgVGhlIGNvbXBpbGF0aW9uIGVycm9yIHdvdWxkIGJlIGEgc2ln
bmFsIHRvIGltcGxlbWVudCBnZXRNSU1FVHlwZUZvckV4dGVuc2lvblRocmVhZFNhZmUoKSBpbiB0
aGVzZQorICAgICAgICBwbGF0Zm9ybXMuIEN1cnJlbnRseSBpdCBkb2Vzbid0IGhhcHBlbiBzaW5j
ZSBGSUxFX1NZU1RFTSBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBvdGhlciBwbGF0Zm9ybXMuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmNwcDogRGVmaW5lZCBnZW5lcmlj
IGdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uKCkgY2FsbGluZyBnZXRNSU1FVHlwZUZvckV4dGVuc2lv
blRocmVhZFNhZmUoKSBmb3IgZW5hYmxlZCBGSUxFX1NZU1RFTSBhbmQgV09SS0VSUy4KKyAgICAg
ICAgKFdlYkNvcmU6Ok1JTUVUeXBlUmVnaXN0cnk6OmdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5Lmg6IERlY2xhcmVkIGdldE1JTUVU
eXBlRm9yRXh0ZW5zaW9uVGhyZWFkU2FmZSgpIHdoaWNoIHNob3VsZCBiZSBpbXBsZW1lbnRlZCBm
b3IgZWFjaCBwbGF0Zm9ybS4KKyAgICAgICAgKiBwbGF0Zm9ybS9hbmRyb2lkL1RlbXBvcmFyeUxp
bmtTdHVicy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRNSU1F
VHlwZUZvckV4dGVuc2lvbik6CisgICAgICAgICogcGxhdGZvcm0vYnJldy9NSU1FVHlwZVJlZ2lz
dHJ5QnJldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRNSU1F
VHlwZUZvckV4dGVuc2lvbik6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vTUlNRVR5cGVS
ZWdpc3RyeUNocm9taXVtLmNwcDogRGVmaW5lZCBnZXRNSU1FVHlwZUZvckV4dGVuc2lvblRocmVh
ZFNhZmUoKSBmb3IgdGhlIGNhc2Ugd2hlbiBGSUxFX1NZU1RFTSBhbmQgV09SS0VSUyBhcmUgZW5h
YmxlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1JTUVUeXBlUmVnaXN0cnk6OmdldE1JTUVUeXBlRm9y
RXh0ZW5zaW9uVGhyZWFkU2FmZSk6CisgICAgICAgICogcGxhdGZvcm0vZWZsL01JTUVUeXBlUmVn
aXN0cnlFZmwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TUlNRVR5cGVSZWdpc3RyeTo6Z2V0TUlN
RVR5cGVGb3JFeHRlbnNpb24pOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9NSU1FVHlwZVJlZ2lz
dHJ5R3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1JTUVUeXBlUmVnaXN0cnk6OmdldE1JTUVU
eXBlRm9yRXh0ZW5zaW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9oYWlrdS9NSU1FVHlwZVJlZ2lz
dHJ5SGFpa3UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TUlNRVR5cGVSZWdpc3RyeTo6Z2V0TUlN
RVR5cGVGb3JFeHRlbnNpb24pOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9NSU1FVHlwZVJlZ2lz
dHJ5TWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6TUlNRVR5cGVSZWdpc3RyeTo6Z2V0TUlNRVR5
cGVGb3JFeHRlbnNpb24pOgorICAgICAgICAqIHBsYXRmb3JtL3F0L01JTUVUeXBlUmVnaXN0cnlR
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRNSU1FVHlwZUZv
ckV4dGVuc2lvbik6CisgICAgICAgICogcGxhdGZvcm0vd2luL01JTUVUeXBlUmVnaXN0cnlXaW4u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TUlNRVR5cGVSZWdpc3RyeTo6Z2V0TUlNRVR5cGVGb3JF
eHRlbnNpb24pOgorICAgICAgICAqIHBsYXRmb3JtL3dpbmNlL01JTUVUeXBlUmVnaXN0cnlXaW5D
RS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRNSU1FVHlwZUZv
ckV4dGVuc2lvbik6CisgICAgICAgICogcGxhdGZvcm0vd3gvTWltZVR5cGVSZWdpc3RyeVd4LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Ok1JTUVUeXBlUmVnaXN0cnk6OmdldE1JTUVUeXBlRm9yRXh0
ZW5zaW9uKToKKwogMjAxMS0wMS0yMyAgTWFyayBSb3dlICA8bXJvd2VAYXBwbGUuY29tPgogCiAg
ICAgICAgIEZvbGxvdy11cCB0byByNzY0NzcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01J
TUVUeXBlUmVnaXN0cnkuY3BwCmluZGV4IGYzY2NjYzA2Y2QzOTc2ZWI1YjkyZjY0M2NiMjBlYmNk
ODlhNGVjMTYuLjcxMzM5NWI2YzRhYWIxZDlmNzFmZGM5YTYxOThhN2JjNmI3YzI3N2UgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuY3BwCkBAIC0zNDMsNiAr
MzQzLDEzIEBAIHN0YXRpYyBNZWRpYU1JTUVUeXBlTWFwJiBtZWRpYU1JTUVUeXBlTWFwKCkKICAg
ICByZXR1cm4gbWVkaWFNSU1FVHlwZUZvckV4dGVuc2lvbk1hcDsKIH0KIAorI2lmIEVOQUJMRShG
SUxFX1NZU1RFTSkgJiYgRU5BQkxFKFdPUktFUlMpCitTdHJpbmcgTUlNRVR5cGVSZWdpc3RyeTo6
Z2V0TUlNRVR5cGVGb3JFeHRlbnNpb24oY29uc3QgU3RyaW5nJiBleHRlbnNpb24pCit7CisgICAg
cmV0dXJuIGdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uVGhyZWFkU2FmZShleHRlbnNpb24pOworfQor
I2VuZGlmCisKIFN0cmluZyBNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRNZWRpYU1JTUVUeXBlRm9yRXh0
ZW5zaW9uKGNvbnN0IFN0cmluZyYgZXh0KQogewogICAgIC8vIExvb2sgaW4gdGhlIHN5c3RlbS1z
cGVjaWZpYyByZWdpc3RyeSBmaXJzdC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL01JTUVUeXBlUmVnaXN0cnkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBl
UmVnaXN0cnkuaAppbmRleCA2NGFiZWE4MWRiYTZmNjllY2ZmZmUyYmExMTIwMmYzZGM0OGQxNTVm
Li5kMDY5MDM1ZjAyMThiOWZiOTU1NTBiZTNhYTNhYmMwYjY5YTRhZmEyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5oCkBAIC0zNiw2ICszNiw5IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIGNsYXNzIE1JTUVUeXBlUmVnaXN0cnkgewogcHVibGljOgogICAgIHN0
YXRpYyBTdHJpbmcgZ2V0TUlNRVR5cGVGb3JFeHRlbnNpb24oY29uc3QgU3RyaW5nJiBleHRlbnNp
b24pOworI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkgJiYgRU5BQkxFKFdPUktFUlMpCisgICAgc3Rh
dGljIFN0cmluZyBnZXRNSU1FVHlwZUZvckV4dGVuc2lvblRocmVhZFNhZmUoY29uc3QgU3RyaW5n
JiBleHRlbnNpb24pOworI2VuZGlmCiAgICAgc3RhdGljIFZlY3RvcjxTdHJpbmc+IGdldEV4dGVu
c2lvbnNGb3JNSU1FVHlwZShjb25zdCBTdHJpbmcmIHR5cGUpOwogICAgIHN0YXRpYyBTdHJpbmcg
Z2V0UHJlZmVycmVkRXh0ZW5zaW9uRm9yTUlNRVR5cGUoY29uc3QgU3RyaW5nJiB0eXBlKTsKICAg
ICBzdGF0aWMgU3RyaW5nIGdldE1lZGlhTUlNRVR5cGVGb3JFeHRlbnNpb24oY29uc3QgU3RyaW5n
JiBleHRlbnNpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYW5kcm9p
ZC9UZW1wb3JhcnlMaW5rU3R1YnMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYW5kcm9p
ZC9UZW1wb3JhcnlMaW5rU3R1YnMuY3BwCmluZGV4IDFjNDIzM2ExOTRlNTQ2MGVkOWZmNDc2Yzkz
MDBlYTFiZjRmMDU5YjQuLjMyMDE2ZDdjYTJjZTliMThiMTU2ZDNkOTlhYzEwZmI3ZGU3NmMzZTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2FuZHJvaWQvVGVtcG9yYXJ5TGlu
a1N0dWJzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmRyb2lkL1RlbXBvcmFy
eUxpbmtTdHVicy5jcHAKQEAgLTMwNiw2ICszMDYsOSBAQCB2b2lkKiBXZWJDb3JlOjpGcmFtZTo6
ZHJhZ0ltYWdlRm9yU2VsZWN0aW9uKCkKIAogV1RGOjpTdHJpbmcgV2ViQ29yZTo6TUlNRVR5cGVS
ZWdpc3RyeTo6Z2V0TUlNRVR5cGVGb3JFeHRlbnNpb24oV1RGOjpTdHJpbmcgY29uc3QmKQogewor
I2lmIEVOQUJMRShXT1JLRVJTKQorICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisjZW5kaWYK
ICAgICByZXR1cm4gV1RGOjpTdHJpbmcoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYnJldy9NSU1FVHlwZVJlZ2lzdHJ5QnJldy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9icmV3L01JTUVUeXBlUmVnaXN0cnlCcmV3LmNwcAppbmRleCAwYTUzOGMyYThj
YjIxNThjMTAyODgzNGJjY2Y0ZGIxYTdmZDAwZTMxLi45M2QyMjg1ODZmZjBmNTkxMWE3M2I3ZTM4
M2YzZjgwNzFlMjYzYjc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9icmV3
L01JTUVUeXBlUmVnaXN0cnlCcmV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9i
cmV3L01JTUVUeXBlUmVnaXN0cnlCcmV3LmNwcApAQCAtNjMsNiArNjMsOSBAQCBzdGF0aWMgY29u
c3QgRXh0ZW5zaW9uTWFwIGV4dGVuc2lvbk1hcFtdID0gewogCiBTdHJpbmcgTUlNRVR5cGVSZWdp
c3RyeTo6Z2V0TUlNRVR5cGVGb3JFeHRlbnNpb24oY29uc3QgU3RyaW5nICZleHQpCiB7CisjaWYg
RU5BQkxFKFdPUktFUlMpCisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKyNlbmRpZgogICAg
IFN0cmluZyBzdHIgPSBleHQubG93ZXIoKTsKIAogICAgIGNvbnN0IEV4dGVuc2lvbk1hcCogZSA9
IGV4dGVuc2lvbk1hcDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9t
aXVtL01JTUVUeXBlUmVnaXN0cnlDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9jaHJvbWl1bS9NSU1FVHlwZVJlZ2lzdHJ5Q2hyb21pdW0uY3BwCmluZGV4IGZlYzBlOWJlMTk4
NjA1ZmExNjZiZjc1YTYyMDRhZDVjMjgwNzEzNjguLjkxYmZjY2IzZWM2NmU2OGJmMzk2ZDYzOTNh
NTliYzhkMjhlZTcxNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9t
aXVtL01JTUVUeXBlUmVnaXN0cnlDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY2hyb21pdW0vTUlNRVR5cGVSZWdpc3RyeUNocm9taXVtLmNwcApAQCAtNDIsNiArNDIs
MTcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKSAm
JiBFTkFCTEUoV09SS0VSUykKK1N0cmluZyBNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRNSU1FVHlwZUZv
ckV4dGVuc2lvblRocmVhZFNhZmUoY29uc3QgU3RyaW5nICZleHQpCit7CisgICAgcmV0dXJuIFBs
YXRmb3JtQnJpZGdlOjptaW1lVHlwZUZvckV4dGVuc2lvbihleHQpOworfQorI2VuZGlmCisKKy8v
IE5PVEU6IFdlIGhhdmUgdG8gZGVmaW5lIGdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uKCkgaGVyZSB0
aG91Z2ggdGhlIHNoYXJlZAorLy8gaW1wbGVtZW50YXRpb24gaGFzIGdldE1JTUVUeXBlRm9yRXh0
ZW5zaW9uKCkgc2luY2Ugd2UgZG9uJ3QgdXNlIHRoZSBzaGFyZWQKKy8vIGltcGxlbWVudGF0aW9u
IGJpdHMgaW4gTUlNRVR5cGVSZWdpc3RyeS5jcHAuCisKIFN0cmluZyBNSU1FVHlwZVJlZ2lzdHJ5
OjpnZXRNSU1FVHlwZUZvckV4dGVuc2lvbihjb25zdCBTdHJpbmcgJmV4dCkKIHsKICAgICByZXR1
cm4gUGxhdGZvcm1CcmlkZ2U6Om1pbWVUeXBlRm9yRXh0ZW5zaW9uKGV4dCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvTUlNRVR5cGVSZWdpc3RyeUVmbC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvTUlNRVR5cGVSZWdpc3RyeUVmbC5jcHAKaW5kZXgg
ZDBjOTViZmJiY2UzYTJjN2Q1Zjg0NDQxYzY0NjVjMzYzZmEzY2IxYi4uNWJkMDc2ZGQwN2I0YmYw
MTIwOTM3NGE4ZTMzZDkyYTMxYzQzMjczOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZWZsL01JTUVUeXBlUmVnaXN0cnlFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2VmbC9NSU1FVHlwZVJlZ2lzdHJ5RWZsLmNwcApAQCAtNzIsNiArNzIsOSBAQCBzdGF0
aWMgY29uc3QgRXh0ZW5zaW9uTWFwIGV4dGVuc2lvbk1hcFtdID0gewogCiBTdHJpbmcgTUlNRVR5
cGVSZWdpc3RyeTo6Z2V0TUlNRVR5cGVGb3JFeHRlbnNpb24oY29uc3QgU3RyaW5nICZleHQpCiB7
CisjaWYgRU5BQkxFKFdPUktFUlMpCisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKyNlbmRp
ZgogICAgIFN0cmluZyBzID0gZXh0Lmxvd2VyKCk7CiAgICAgY29uc3QgRXh0ZW5zaW9uTWFwICpl
ID0gZXh0ZW5zaW9uTWFwOwogICAgIHdoaWxlIChlLT5leHRlbnNpb24pIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9NSU1FVHlwZVJlZ2lzdHJ5R3RrLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9NSU1FVHlwZVJlZ2lzdHJ5R3RrLmNwcAppbmRleCA4
ZmMzMDIwNGFlNGVkMDBlZjUwNjA0YmNiMWY1MzIyMDY3OGUwZmQ2Li40NDAyZDNkN2U5ZWJmMGVm
NDkyMWZjNGQyZTU5MjE5Y2NjZmY0MmYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ndGsvTUlNRVR5cGVSZWdpc3RyeUd0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3RrL01JTUVUeXBlUmVnaXN0cnlHdGsuY3BwCkBAIC02Miw2ICs2Miw5IEBAIHN0YXRp
YyBjb25zdCBFeHRlbnNpb25NYXAgZXh0ZW5zaW9uTWFwIFtdID0gewogCiBTdHJpbmcgTUlNRVR5
cGVSZWdpc3RyeTo6Z2V0TUlNRVR5cGVGb3JFeHRlbnNpb24oY29uc3QgU3RyaW5nICZleHQpCiB7
CisjaWYgRU5BQkxFKFdPUktFUlMpCisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKyNlbmRp
ZgogICAgIFN0cmluZyBzID0gZXh0Lmxvd2VyKCk7CiAgICAgY29uc3QgRXh0ZW5zaW9uTWFwICpl
ID0gZXh0ZW5zaW9uTWFwOwogICAgIHdoaWxlIChlLT5leHRlbnNpb24pIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2hhaWt1L01JTUVUeXBlUmVnaXN0cnlIYWlrdS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9oYWlrdS9NSU1FVHlwZVJlZ2lzdHJ5SGFpa3UuY3Bw
CmluZGV4IDY4NTgyN2UyOWI2ZjExOWRlYTA3ZjViNWU2ODBhYjJkZTExZjgxYzkuLmRjMmY5ZGQw
YzQxZjJjNjJkYmQ2NTc2MDU0NmQxZDRjNmM3MWE2ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2hhaWt1L01JTUVUeXBlUmVnaXN0cnlIYWlrdS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaGFpa3UvTUlNRVR5cGVSZWdpc3RyeUhhaWt1LmNwcApAQCAtNjIs
NiArNjIsOSBAQCBzdGF0aWMgY29uc3QgRXh0ZW5zaW9uTWFwIGV4dGVuc2lvbk1hcFtdID0gewog
CiBTdHJpbmcgTUlNRVR5cGVSZWdpc3RyeTo6Z2V0TUlNRVR5cGVGb3JFeHRlbnNpb24oY29uc3Qg
U3RyaW5nJiBleHQpCiB7CisjaWYgRU5BQkxFKFdPUktFUlMpCisgICAgQVNTRVJUKGlzTWFpblRo
cmVhZCgpKTsKKyNlbmRpZgogICAgIFN0cmluZyBzdHIgPSBleHQubG93ZXIoKTsKIAogICAgIC8v
IFRyeSBXZWJDb3JlIGJ1aWx0LWluIHR5cGVzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL01JTUVUeXBlUmVnaXN0cnlNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tYWMvTUlNRVR5cGVSZWdpc3RyeU1hYy5tbQppbmRleCA4MjM0OGUwZjQxZDI4NDM2Nzc2
YTM5YmQ1ZjVjMmNmYWY1Y2FiN2ZiLi44NmZlZjU5NGRhY2JmNTRiMzVjYTMwZmQ3ZTFkMGM1MGQz
ZjhjZmU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTUlNRVR5cGVS
ZWdpc3RyeU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTUlNRVR5cGVS
ZWdpc3RyeU1hYy5tbQpAQCAtMzQsNiArMzQsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZQogCiBTdHJp
bmcgTUlNRVR5cGVSZWdpc3RyeTo6Z2V0TUlNRVR5cGVGb3JFeHRlbnNpb24oY29uc3QgU3RyaW5n
ICZleHQpCiB7CisjaWYgRU5BQkxFKFdPUktFUlMpCisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgp
KTsKKyNlbmRpZgogICAgIHJldHVybiB3a0dldE1JTUVUeXBlRm9yRXh0ZW5zaW9uKGV4dCk7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L01JTUVUeXBlUmVnaXN0
cnlRdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9NSU1FVHlwZVJlZ2lzdHJ5UXQu
Y3BwCmluZGV4IDEyZGI4OTFlMzExNzJhZGY4ODBjNTljOWJlNTEzYjQ2YmQwMDI5ODYuLjg0MDY3
NTVmOTZiMDhmMzAyNDdlODRlYzFlMmE1NDBiNjFlNjk1NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3F0L01JTUVUeXBlUmVnaXN0cnlRdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vcXQvTUlNRVR5cGVSZWdpc3RyeVF0LmNwcApAQCAtNzAsNiArNzAsOSBA
QCBzdGF0aWMgY29uc3QgRXh0ZW5zaW9uTWFwIGV4dGVuc2lvbk1hcFtdID0gewogCiBTdHJpbmcg
TUlNRVR5cGVSZWdpc3RyeTo6Z2V0TUlNRVR5cGVGb3JFeHRlbnNpb24oY29uc3QgU3RyaW5nICZl
eHQpCiB7CisjaWYgRU5BQkxFKFdPUktFUlMpCisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsK
KyNlbmRpZgogICAgIFN0cmluZyBzID0gZXh0Lmxvd2VyKCk7CiAKICAgICBjb25zdCBFeHRlbnNp
b25NYXAgKmUgPSBleHRlbnNpb25NYXA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS93aW4vTUlNRVR5cGVSZWdpc3RyeVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS93aW4vTUlNRVR5cGVSZWdpc3RyeVdpbi5jcHAKaW5kZXggOTgwNzQyYTlkMjBjN2VlOTJjMjJl
MGYwYTk0OWVkNWVkOThkZDBmOC4uYWQ0ZDE4YjEzYjgwYzc4YjRlYzI2NzM2YTA3ZGE3ZGQxZThl
NGIyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL01JTUVUeXBlUmVn
aXN0cnlXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9NSU1FVHlwZVJl
Z2lzdHJ5V2luLmNwcApAQCAtNjQsNiArNjQsOSBAQCBTdHJpbmcgTUlNRVR5cGVSZWdpc3RyeTo6
Z2V0UHJlZmVycmVkRXh0ZW5zaW9uRm9yTUlNRVR5cGUoY29uc3QgU3RyaW5nJiB0eXBlKQogCiBT
dHJpbmcgTUlNRVR5cGVSZWdpc3RyeTo6Z2V0TUlNRVR5cGVGb3JFeHRlbnNpb24oY29uc3QgU3Ry
aW5nICZleHQpCiB7CisjaWYgRU5BQkxFKFdPUktFUlMpCisgICAgQVNTRVJUKGlzTWFpblRocmVh
ZCgpKTsKKyNlbmRpZgogICAgIGlmIChleHQuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gU3Ry
aW5nKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbmNlL01JTUVU
eXBlUmVnaXN0cnlXaW5DRS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW5jZS9NSU1F
VHlwZVJlZ2lzdHJ5V2luQ0UuY3BwCmluZGV4IDc1MzRiOTE0Y2VhZTViZjMxZTQ0MjFkNzI3NWI0
NDA1NDdkNjQxYzcuLjA0YjRhOTA4ZDhkMWJkNzkxMDg1Njc4MzM5YmNmMzUyZTQ0NGI4YTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbmNlL01JTUVUeXBlUmVnaXN0cnlX
aW5DRS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luY2UvTUlNRVR5cGVSZWdp
c3RyeVdpbkNFLmNwcApAQCAtMTE5LDYgKzExOSw5IEBAIFN0cmluZyBNSU1FVHlwZVJlZ2lzdHJ5
OjpnZXRQcmVmZXJyZWRFeHRlbnNpb25Gb3JNSU1FVHlwZShjb25zdCBTdHJpbmcmIHR5cGUpCiAK
IFN0cmluZyBNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRNSU1FVHlwZUZvckV4dGVuc2lvbihjb25zdCBT
dHJpbmcgJmV4dCkKIHsKKyNpZiBFTkFCTEUoV09SS0VSUykKKyAgICBBU1NFUlQoaXNNYWluVGhy
ZWFkKCkpOworI2VuZGlmCiAgICAgaWYgKGV4dC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBT
dHJpbmcoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd3gvTWltZVR5
cGVSZWdpc3RyeVd4LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3d4L01pbWVUeXBlUmVn
aXN0cnlXeC5jcHAKaW5kZXggZTdjYzBlMjYwNjI0N2FmMjFmNzQ3N2M2MWYxZTkzNzI1MzEyMjhj
Yi4uYTE4YTRkODBiNzIwMTI4ZjczOTAzZTkwNTVjZTM2OWUyZWVjNDhlZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd3gvTWltZVR5cGVSZWdpc3RyeVd4LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93eC9NaW1lVHlwZVJlZ2lzdHJ5V3guY3BwCkBAIC01OSw2
ICs1OSw5IEBAIHN0YXRpYyBjb25zdCBFeHRlbnNpb25NYXAgZXh0ZW5zaW9uTWFwIFtdID0gewog
ICAgIAogU3RyaW5nIE1JTUVUeXBlUmVnaXN0cnk6OmdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uKGNv
bnN0IFN0cmluZyAmZXh0KQogeworI2lmIEVOQUJMRShXT1JLRVJTKQorICAgIEFTU0VSVChpc01h
aW5UaHJlYWQoKSk7CisjZW5kaWYKICAgICBTdHJpbmcgcyA9IGV4dC5sb3dlcigpOwogICAgIGNv
bnN0IEV4dGVuc2lvbk1hcCAqZSA9IGV4dGVuc2lvbk1hcDsKICAgICB3aGlsZSAoZS0+ZXh0ZW5z
aW9uKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80710</attachid>
            <date>2011-01-31 20:06:25 -0800</date>
            <delta_ts>2011-02-01 23:35:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47700-20110201130623.patch</filename>
            <type>text/plain</type>
            <size>11266</size>
            <attacher name="Dai Mikurube">dmikurube</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA1YmY3NDU4YmFjMzU0ZDRmMzIxNjQ5MjY2MDBkNjdiZmZkOTY5NTcxLi45
OGY5NmZlMDNmNDdmYzAxM2FhYjA3NzlhNzE1NzMxZjFiZmRhMTNhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNDYgQEAKKzIwMTEtMDItMDEgIERhaSBNaWt1cnViZSAgPGRtaWt1cnViZUBnb29nbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1h
a2UgbWltZSB0eXBlIGxvb2t1cCBpbiBGaWxlOjpjcmVhdGUocGF0aCkgdGhyZWFkLXNhZmUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3NzAwCisKKyAg
ICAgICAgVGhpcyBwYXRjaCBpbnRyb2R1Y2VzIGEgbmV3IGZ1bmN0aW9uIE1JTUVUeXBlUmVnaXN0
cnk6OmdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uVGhyZWFkU2FmZSgpLgorICAgICAgICBUaGUgZnVu
Y3Rpb24gaXMgdG8gYmUgY2FsbGVkIGFzIGEgdGhyZWFkLXNhZmUgdmVyc2lvbiBvZiBnZXRNSU1F
VHlwZUZvckV4dGVuc2lvbigpIHdoZW4KKyAgICAgICAgYm90aCBGSUxFX1NZU1RFTSBhbmQgV09S
S0VSUyBhcmUgZW5hYmxlZC4KKworICAgICAgICBObyB0ZXN0cyBmb3IgdGhpcyBwYXRjaC4gVGhp
cyBwYXRjaCBpdHNlbGYgZG9lc24ndCBjaGFuZ2UgdGhlIGJlaGF2aW9ycy4KKyAgICAgICAgRm9y
IENocm9taXVtLCBpdCBydW5zIGluIHRoZSBzYW1lIHdheSB3aXRoIGdldE1JTUVUeXBlRm9yRXh0
ZW5zaW9uVGhyZWFkU2FmZSgpLgorICAgICAgICBGb3IgdGhlIG90aGVyIHBsYXRmb3JtcywgaXQg
Y2F1c2VzIGNvbXBpbGF0aW9uIGVycm9yIGluIGNhc2Ugb2YgZW5hYmxlZCBGSUxFX1NZU1RFTSBh
bmQgV09SS0VSUy4KKyAgICAgICAgVGhlIGNvbXBpbGF0aW9uIGVycm9yIHdvdWxkIGJlIGEgc2ln
bmFsIHRvIGltcGxlbWVudCBnZXRNSU1FVHlwZUZvckV4dGVuc2lvblRocmVhZFNhZmUoKSBpbiB0
aGVzZQorICAgICAgICBwbGF0Zm9ybXMuIEN1cnJlbnRseSBpdCBkb2Vzbid0IGhhcHBlbiBzaW5j
ZSBGSUxFX1NZU1RFTSBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBvdGhlciBwbGF0Zm9ybXMuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmNwcDogRGVmaW5lZCBnZW5lcmlj
IGdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uKCkgY2FsbGluZyBnZXRNSU1FVHlwZUZvckV4dGVuc2lv
blRocmVhZFNhZmUoKSBmb3IgZW5hYmxlZCBGSUxFX1NZU1RFTSBhbmQgV09SS0VSUy4KKyAgICAg
ICAgKFdlYkNvcmU6Ok1JTUVUeXBlUmVnaXN0cnk6OmdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5Lmg6IERlY2xhcmVkIGdldE1JTUVU
eXBlRm9yRXh0ZW5zaW9uVGhyZWFkU2FmZSgpIHdoaWNoIHNob3VsZCBiZSBpbXBsZW1lbnRlZCBm
b3IgZWFjaCBwbGF0Zm9ybS4KKyAgICAgICAgKiBwbGF0Zm9ybS9hbmRyb2lkL1RlbXBvcmFyeUxp
bmtTdHVicy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRNSU1F
VHlwZUZvckV4dGVuc2lvbik6CisgICAgICAgICogcGxhdGZvcm0vYnJldy9NSU1FVHlwZVJlZ2lz
dHJ5QnJldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRNSU1F
VHlwZUZvckV4dGVuc2lvbik6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vTUlNRVR5cGVS
ZWdpc3RyeUNocm9taXVtLmNwcDogRGVmaW5lZCBnZXRNSU1FVHlwZUZvckV4dGVuc2lvblRocmVh
ZFNhZmUoKSBmb3IgdGhlIGNhc2Ugd2hlbiBGSUxFX1NZU1RFTSBhbmQgV09SS0VSUyBhcmUgZW5h
YmxlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1JTUVUeXBlUmVnaXN0cnk6OmdldE1JTUVUeXBlRm9y
RXh0ZW5zaW9uVGhyZWFkU2FmZSk6CisgICAgICAgICogcGxhdGZvcm0vZWZsL01JTUVUeXBlUmVn
aXN0cnlFZmwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TUlNRVR5cGVSZWdpc3RyeTo6Z2V0TUlN
RVR5cGVGb3JFeHRlbnNpb24pOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9NSU1FVHlwZVJlZ2lz
dHJ5R3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1JTUVUeXBlUmVnaXN0cnk6OmdldE1JTUVU
eXBlRm9yRXh0ZW5zaW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9oYWlrdS9NSU1FVHlwZVJlZ2lz
dHJ5SGFpa3UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TUlNRVR5cGVSZWdpc3RyeTo6Z2V0TUlN
RVR5cGVGb3JFeHRlbnNpb24pOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9NSU1FVHlwZVJlZ2lz
dHJ5TWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6TUlNRVR5cGVSZWdpc3RyeTo6Z2V0TUlNRVR5
cGVGb3JFeHRlbnNpb24pOgorICAgICAgICAqIHBsYXRmb3JtL3F0L01JTUVUeXBlUmVnaXN0cnlR
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRNSU1FVHlwZUZv
ckV4dGVuc2lvbik6CisgICAgICAgICogcGxhdGZvcm0vd2luL01JTUVUeXBlUmVnaXN0cnlXaW4u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TUlNRVR5cGVSZWdpc3RyeTo6Z2V0TUlNRVR5cGVGb3JF
eHRlbnNpb24pOgorICAgICAgICAqIHBsYXRmb3JtL3dpbmNlL01JTUVUeXBlUmVnaXN0cnlXaW5D
RS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRNSU1FVHlwZUZv
ckV4dGVuc2lvbik6CisgICAgICAgICogcGxhdGZvcm0vd3gvTWltZVR5cGVSZWdpc3RyeVd4LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Ok1JTUVUeXBlUmVnaXN0cnk6OmdldE1JTUVUeXBlRm9yRXh0
ZW5zaW9uKToKKwogMjAxMS0wMS0zMSAgS2FsbGUgVmFobG1hbiAgPGthbGxlLnZhaGxtYW5AbW92
aWFsLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbmRyZWFzIEtsaW5nLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmNwcAppbmRleCBmM2NjY2MwNmNkMzk3
NmViNWI5MmY2NDNjYjIwZWJjZDg5YTRlYzE2Li43MTMzOTViNmM0YWFiMWQ5ZjcxZmRjOWE2MTk4
YTdiYzZiN2MyNzdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlw
ZVJlZ2lzdHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lz
dHJ5LmNwcApAQCAtMzQzLDYgKzM0MywxMyBAQCBzdGF0aWMgTWVkaWFNSU1FVHlwZU1hcCYgbWVk
aWFNSU1FVHlwZU1hcCgpCiAgICAgcmV0dXJuIG1lZGlhTUlNRVR5cGVGb3JFeHRlbnNpb25NYXA7
CiB9CiAKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pICYmIEVOQUJMRShXT1JLRVJTKQorU3RyaW5n
IE1JTUVUeXBlUmVnaXN0cnk6OmdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uKGNvbnN0IFN0cmluZyYg
ZXh0ZW5zaW9uKQoreworICAgIHJldHVybiBnZXRNSU1FVHlwZUZvckV4dGVuc2lvblRocmVhZFNh
ZmUoZXh0ZW5zaW9uKTsKK30KKyNlbmRpZgorCiBTdHJpbmcgTUlNRVR5cGVSZWdpc3RyeTo6Z2V0
TWVkaWFNSU1FVHlwZUZvckV4dGVuc2lvbihjb25zdCBTdHJpbmcmIGV4dCkKIHsKICAgICAvLyBM
b29rIGluIHRoZSBzeXN0ZW0tc3BlY2lmaWMgcmVnaXN0cnkgZmlyc3QuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmgKaW5kZXggNjRhYmVhODFkYmE2ZjY5ZWNmZmZl
MmJhMTEyMDJmM2RjNDhkMTU1Zi4uZDA2OTAzNWYwMjE4YjlmYjk1NTUwYmUzYWEzYWJjMGI2OWE0
YWZhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3Ry
eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuaApAQCAt
MzYsNiArMzYsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBNSU1FVHlwZVJlZ2lzdHJ5
IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgU3RyaW5nIGdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uKGNv
bnN0IFN0cmluZyYgZXh0ZW5zaW9uKTsKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pICYmIEVOQUJM
RShXT1JLRVJTKQorICAgIHN0YXRpYyBTdHJpbmcgZ2V0TUlNRVR5cGVGb3JFeHRlbnNpb25UaHJl
YWRTYWZlKGNvbnN0IFN0cmluZyYgZXh0ZW5zaW9uKTsKKyNlbmRpZgogICAgIHN0YXRpYyBWZWN0
b3I8U3RyaW5nPiBnZXRFeHRlbnNpb25zRm9yTUlNRVR5cGUoY29uc3QgU3RyaW5nJiB0eXBlKTsK
ICAgICBzdGF0aWMgU3RyaW5nIGdldFByZWZlcnJlZEV4dGVuc2lvbkZvck1JTUVUeXBlKGNvbnN0
IFN0cmluZyYgdHlwZSk7CiAgICAgc3RhdGljIFN0cmluZyBnZXRNZWRpYU1JTUVUeXBlRm9yRXh0
ZW5zaW9uKGNvbnN0IFN0cmluZyYgZXh0ZW5zaW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2FuZHJvaWQvVGVtcG9yYXJ5TGlua1N0dWJzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2FuZHJvaWQvVGVtcG9yYXJ5TGlua1N0dWJzLmNwcAppbmRleCAxYzQyMzNh
MTk0ZTU0NjBlZDlmZjQ3NmM5MzAwZWExYmY0ZjA1OWI0Li4xYmNmYjU1MTg3YjExYWEyMmM5MzBm
ODhmODEzYWZjNzU1MDY2ZjM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
bmRyb2lkL1RlbXBvcmFyeUxpbmtTdHVicy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYW5kcm9pZC9UZW1wb3JhcnlMaW5rU3R1YnMuY3BwCkBAIC0zMDYsNiArMzA2LDcgQEAgdm9p
ZCogV2ViQ29yZTo6RnJhbWU6OmRyYWdJbWFnZUZvclNlbGVjdGlvbigpCiAKIFdURjo6U3RyaW5n
IFdlYkNvcmU6Ok1JTUVUeXBlUmVnaXN0cnk6OmdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uKFdURjo6
U3RyaW5nIGNvbnN0JikKIHsKKyAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogICAgIHJldHVy
biBXVEY6OlN0cmluZygpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9icmV3L01JTUVUeXBlUmVnaXN0cnlCcmV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2JyZXcvTUlNRVR5cGVSZWdpc3RyeUJyZXcuY3BwCmluZGV4IDBhNTM4YzJhOGNiMjE1OGMxMDI4
ODM0YmNjZjRkYjFhN2ZkMDBlMzEuLjczMTNmMDBjMzVjOWE2ODYwYjAzYTYyZThjNTc0NGQwZDM4
MDZmNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JyZXcvTUlNRVR5cGVS
ZWdpc3RyeUJyZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JyZXcvTUlNRVR5
cGVSZWdpc3RyeUJyZXcuY3BwCkBAIC02Myw2ICs2Myw4IEBAIHN0YXRpYyBjb25zdCBFeHRlbnNp
b25NYXAgZXh0ZW5zaW9uTWFwW10gPSB7CiAKIFN0cmluZyBNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRN
SU1FVHlwZUZvckV4dGVuc2lvbihjb25zdCBTdHJpbmcgJmV4dCkKIHsKKyAgICBBU1NFUlQoaXNN
YWluVGhyZWFkKCkpOworCiAgICAgU3RyaW5nIHN0ciA9IGV4dC5sb3dlcigpOwogCiAgICAgY29u
c3QgRXh0ZW5zaW9uTWFwKiBlID0gZXh0ZW5zaW9uTWFwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vTUlNRVR5cGVSZWdpc3RyeUNocm9taXVtLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL01JTUVUeXBlUmVnaXN0cnlDaHJvbWl1bS5j
cHAKaW5kZXggZmVjMGU5YmUxOTg2MDVmYTE2NmJmNzVhNjIwNGFkNWMyODA3MTM2OC4uOTFiZmNj
YjNlYzY2ZTY4YmYzOTZkNjM5M2E1OWJjOGQyOGVlNzE3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vTUlNRVR5cGVSZWdpc3RyeUNocm9taXVtLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9NSU1FVHlwZVJlZ2lzdHJ5Q2hyb21p
dW0uY3BwCkBAIC00Miw2ICs0MiwxNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKyNpZiBF
TkFCTEUoRklMRV9TWVNURU0pICYmIEVOQUJMRShXT1JLRVJTKQorU3RyaW5nIE1JTUVUeXBlUmVn
aXN0cnk6OmdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uVGhyZWFkU2FmZShjb25zdCBTdHJpbmcgJmV4
dCkKK3sKKyAgICByZXR1cm4gUGxhdGZvcm1CcmlkZ2U6Om1pbWVUeXBlRm9yRXh0ZW5zaW9uKGV4
dCk7Cit9CisjZW5kaWYKKworLy8gTk9URTogV2UgaGF2ZSB0byBkZWZpbmUgZ2V0TUlNRVR5cGVG
b3JFeHRlbnNpb24oKSBoZXJlIHRob3VnaCB0aGUgc2hhcmVkCisvLyBpbXBsZW1lbnRhdGlvbiBo
YXMgZ2V0TUlNRVR5cGVGb3JFeHRlbnNpb24oKSBzaW5jZSB3ZSBkb24ndCB1c2UgdGhlIHNoYXJl
ZAorLy8gaW1wbGVtZW50YXRpb24gYml0cyBpbiBNSU1FVHlwZVJlZ2lzdHJ5LmNwcC4KKwogU3Ry
aW5nIE1JTUVUeXBlUmVnaXN0cnk6OmdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uKGNvbnN0IFN0cmlu
ZyAmZXh0KQogewogICAgIHJldHVybiBQbGF0Zm9ybUJyaWRnZTo6bWltZVR5cGVGb3JFeHRlbnNp
b24oZXh0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9NSU1FVHlw
ZVJlZ2lzdHJ5RWZsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9NSU1FVHlwZVJl
Z2lzdHJ5RWZsLmNwcAppbmRleCBkMGM5NWJmYmJjZTNhMmM3ZDVmODQ0NDFjNjQ2NWMzNjNmYTNj
YjFiLi4yNTUyOGFhZWVmYzZmZjc3OGEwYmQ1YTMwNTYyMTQ3OWU2NGQ1MzZjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvTUlNRVR5cGVSZWdpc3RyeUVmbC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL01JTUVUeXBlUmVnaXN0cnlFZmwuY3BwCkBA
IC03Miw2ICs3Miw4IEBAIHN0YXRpYyBjb25zdCBFeHRlbnNpb25NYXAgZXh0ZW5zaW9uTWFwW10g
PSB7CiAKIFN0cmluZyBNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRNSU1FVHlwZUZvckV4dGVuc2lvbihj
b25zdCBTdHJpbmcgJmV4dCkKIHsKKyAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOworCiAgICAg
U3RyaW5nIHMgPSBleHQubG93ZXIoKTsKICAgICBjb25zdCBFeHRlbnNpb25NYXAgKmUgPSBleHRl
bnNpb25NYXA7CiAgICAgd2hpbGUgKGUtPmV4dGVuc2lvbikgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3RrL01JTUVUeXBlUmVnaXN0cnlHdGsuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3RrL01JTUVUeXBlUmVnaXN0cnlHdGsuY3BwCmluZGV4IDhmYzMwMjA0
YWU0ZWQwMGVmNTA2MDRiY2IxZjUzMjIwNjc4ZTBmZDYuLjQzNGNmYTJmZDc1Yzk3ZTJhZmI0NTdl
OTUwNzEyMzljYmU1ZGU1MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0
ay9NSU1FVHlwZVJlZ2lzdHJ5R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
dGsvTUlNRVR5cGVSZWdpc3RyeUd0ay5jcHAKQEAgLTYyLDYgKzYyLDggQEAgc3RhdGljIGNvbnN0
IEV4dGVuc2lvbk1hcCBleHRlbnNpb25NYXAgW10gPSB7CiAKIFN0cmluZyBNSU1FVHlwZVJlZ2lz
dHJ5OjpnZXRNSU1FVHlwZUZvckV4dGVuc2lvbihjb25zdCBTdHJpbmcgJmV4dCkKIHsKKyAgICBB
U1NFUlQoaXNNYWluVGhyZWFkKCkpOworCiAgICAgU3RyaW5nIHMgPSBleHQubG93ZXIoKTsKICAg
ICBjb25zdCBFeHRlbnNpb25NYXAgKmUgPSBleHRlbnNpb25NYXA7CiAgICAgd2hpbGUgKGUtPmV4
dGVuc2lvbikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaGFpa3UvTUlN
RVR5cGVSZWdpc3RyeUhhaWt1LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2hhaWt1L01J
TUVUeXBlUmVnaXN0cnlIYWlrdS5jcHAKaW5kZXggNjg1ODI3ZTI5YjZmMTE5ZGVhMDdmNWI1ZTY4
MGFiMmRlMTFmODFjOS4uNGVjMTVhMGJlNTU1ZmU1YzYxMTlkM2QzZjdmOGFiOTU3NjJiYjAwMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaGFpa3UvTUlNRVR5cGVSZWdpc3Ry
eUhhaWt1LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9oYWlrdS9NSU1FVHlwZVJl
Z2lzdHJ5SGFpa3UuY3BwCkBAIC02Miw2ICs2Miw4IEBAIHN0YXRpYyBjb25zdCBFeHRlbnNpb25N
YXAgZXh0ZW5zaW9uTWFwW10gPSB7CiAKIFN0cmluZyBNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRNSU1F
VHlwZUZvckV4dGVuc2lvbihjb25zdCBTdHJpbmcmIGV4dCkKIHsKKyAgICBBU1NFUlQoaXNNYWlu
VGhyZWFkKCkpOworCiAgICAgU3RyaW5nIHN0ciA9IGV4dC5sb3dlcigpOwogCiAgICAgLy8gVHJ5
IFdlYkNvcmUgYnVpbHQtaW4gdHlwZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tYWMvTUlNRVR5cGVSZWdpc3RyeU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21hYy9NSU1FVHlwZVJlZ2lzdHJ5TWFjLm1tCmluZGV4IDgyMzQ4ZTBmNDFkMjg0MzY3NzZhMzli
ZDVmNWMyY2ZhZjVjYWI3ZmIuLjIxNDRjZGI1ZDlkYmE0MGMzNGM2MmQ4YjJlMTY2ODIzN2M2YjAw
ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9NSU1FVHlwZVJlZ2lz
dHJ5TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9NSU1FVHlwZVJlZ2lz
dHJ5TWFjLm1tCkBAIC0zNCw2ICszNCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlCiAKIFN0cmluZyBN
SU1FVHlwZVJlZ2lzdHJ5OjpnZXRNSU1FVHlwZUZvckV4dGVuc2lvbihjb25zdCBTdHJpbmcgJmV4
dCkKIHsKKyAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogICAgIHJldHVybiB3a0dldE1JTUVU
eXBlRm9yRXh0ZW5zaW9uKGV4dCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3F0L01JTUVUeXBlUmVnaXN0cnlRdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9xdC9NSU1FVHlwZVJlZ2lzdHJ5UXQuY3BwCmluZGV4IDEyZGI4OTFlMzExNzJhZGY4ODBjNTlj
OWJlNTEzYjQ2YmQwMDI5ODYuLjQwMjE4MmQ3NTI1N2IyN2FlMmZkYTVlNDEwNjFhYTk4NTE0Yjlk
MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L01JTUVUeXBlUmVnaXN0
cnlRdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvTUlNRVR5cGVSZWdpc3Ry
eVF0LmNwcApAQCAtNzAsNiArNzAsOCBAQCBzdGF0aWMgY29uc3QgRXh0ZW5zaW9uTWFwIGV4dGVu
c2lvbk1hcFtdID0gewogCiBTdHJpbmcgTUlNRVR5cGVSZWdpc3RyeTo6Z2V0TUlNRVR5cGVGb3JF
eHRlbnNpb24oY29uc3QgU3RyaW5nICZleHQpCiB7CisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgp
KTsKKwogICAgIFN0cmluZyBzID0gZXh0Lmxvd2VyKCk7CiAKICAgICBjb25zdCBFeHRlbnNpb25N
YXAgKmUgPSBleHRlbnNpb25NYXA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS93aW4vTUlNRVR5cGVSZWdpc3RyeVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93
aW4vTUlNRVR5cGVSZWdpc3RyeVdpbi5jcHAKaW5kZXggOTgwNzQyYTlkMjBjN2VlOTJjMjJlMGYw
YTk0OWVkNWVkOThkZDBmOC4uMTIzMTQ4NTgwOGVhMGYwZjU2YTZjODMwZGQzZjg0MjQ5MjdmMjQy
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL01JTUVUeXBlUmVnaXN0
cnlXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9NSU1FVHlwZVJlZ2lz
dHJ5V2luLmNwcApAQCAtNjQsNiArNjQsOCBAQCBTdHJpbmcgTUlNRVR5cGVSZWdpc3RyeTo6Z2V0
UHJlZmVycmVkRXh0ZW5zaW9uRm9yTUlNRVR5cGUoY29uc3QgU3RyaW5nJiB0eXBlKQogCiBTdHJp
bmcgTUlNRVR5cGVSZWdpc3RyeTo6Z2V0TUlNRVR5cGVGb3JFeHRlbnNpb24oY29uc3QgU3RyaW5n
ICZleHQpCiB7CisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKwogICAgIGlmIChleHQuaXNF
bXB0eSgpKQogICAgICAgICByZXR1cm4gU3RyaW5nKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3dpbmNlL01JTUVUeXBlUmVnaXN0cnlXaW5DRS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS93aW5jZS9NSU1FVHlwZVJlZ2lzdHJ5V2luQ0UuY3BwCmluZGV4IDc1
MzRiOTE0Y2VhZTViZjMxZTQ0MjFkNzI3NWI0NDA1NDdkNjQxYzcuLmYzZjYwMWIyYjk0NGM5NDM0
NTkwNmVmOTFhNmM3NzMxMDkxODU5YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3dpbmNlL01JTUVUeXBlUmVnaXN0cnlXaW5DRS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vd2luY2UvTUlNRVR5cGVSZWdpc3RyeVdpbkNFLmNwcApAQCAtMTE5LDYgKzExOSw4
IEBAIFN0cmluZyBNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRQcmVmZXJyZWRFeHRlbnNpb25Gb3JNSU1F
VHlwZShjb25zdCBTdHJpbmcmIHR5cGUpCiAKIFN0cmluZyBNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRN
SU1FVHlwZUZvckV4dGVuc2lvbihjb25zdCBTdHJpbmcgJmV4dCkKIHsKKyAgICBBU1NFUlQoaXNN
YWluVGhyZWFkKCkpOworCiAgICAgaWYgKGV4dC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBT
dHJpbmcoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd3gvTWltZVR5
cGVSZWdpc3RyeVd4LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3d4L01pbWVUeXBlUmVn
aXN0cnlXeC5jcHAKaW5kZXggZTdjYzBlMjYwNjI0N2FmMjFmNzQ3N2M2MWYxZTkzNzI1MzEyMjhj
Yi4uOGE5ZDQ4NTYxZjFkMzA3YTM3NzFkMTkyNGEzY2RjMGNmZGZkYjNjNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd3gvTWltZVR5cGVSZWdpc3RyeVd4LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93eC9NaW1lVHlwZVJlZ2lzdHJ5V3guY3BwCkBAIC01OSw2
ICs1OSw4IEBAIHN0YXRpYyBjb25zdCBFeHRlbnNpb25NYXAgZXh0ZW5zaW9uTWFwIFtdID0gewog
ICAgIAogU3RyaW5nIE1JTUVUeXBlUmVnaXN0cnk6OmdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uKGNv
bnN0IFN0cmluZyAmZXh0KQogeworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisKICAgICBT
dHJpbmcgcyA9IGV4dC5sb3dlcigpOwogICAgIGNvbnN0IEV4dGVuc2lvbk1hcCAqZSA9IGV4dGVu
c2lvbk1hcDsKICAgICB3aGlsZSAoZS0+ZXh0ZW5zaW9uKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80898</attachid>
            <date>2011-02-01 23:35:08 -0800</date>
            <delta_ts>2011-02-02 00:24:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47700-20110202163506.patch</filename>
            <type>text/plain</type>
            <size>13030</size>
            <attacher name="Dai Mikurube">dmikurube</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA1YmY3NDU4YmFjMzU0ZDRmMzIxNjQ5MjY2MDBkNjdiZmZkOTY5NTcxLi45
OGY5NmZlMDNmNDdmYzAxM2FhYjA3NzlhNzE1NzMxZjFiZmRhMTNhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNDYgQEAKKzIwMTEtMDItMDEgIERhaSBNaWt1cnViZSAgPGRtaWt1cnViZUBnb29nbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1h
a2UgbWltZSB0eXBlIGxvb2t1cCBpbiBGaWxlOjpjcmVhdGUocGF0aCkgdGhyZWFkLXNhZmUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3NzAwCisKKyAg
ICAgICAgVGhpcyBwYXRjaCBpbnRyb2R1Y2VzIGEgbmV3IGZ1bmN0aW9uIE1JTUVUeXBlUmVnaXN0
cnk6OmdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uVGhyZWFkU2FmZSgpLgorICAgICAgICBUaGUgZnVu
Y3Rpb24gaXMgdG8gYmUgY2FsbGVkIGFzIGEgdGhyZWFkLXNhZmUgdmVyc2lvbiBvZiBnZXRNSU1F
VHlwZUZvckV4dGVuc2lvbigpIHdoZW4KKyAgICAgICAgYm90aCBGSUxFX1NZU1RFTSBhbmQgV09S
S0VSUyBhcmUgZW5hYmxlZC4KKworICAgICAgICBObyB0ZXN0cyBmb3IgdGhpcyBwYXRjaC4gVGhp
cyBwYXRjaCBpdHNlbGYgZG9lc24ndCBjaGFuZ2UgdGhlIGJlaGF2aW9ycy4KKyAgICAgICAgRm9y
IENocm9taXVtLCBpdCBydW5zIGluIHRoZSBzYW1lIHdheSB3aXRoIGdldE1JTUVUeXBlRm9yRXh0
ZW5zaW9uVGhyZWFkU2FmZSgpLgorICAgICAgICBGb3IgdGhlIG90aGVyIHBsYXRmb3JtcywgaXQg
Y2F1c2VzIGNvbXBpbGF0aW9uIGVycm9yIGluIGNhc2Ugb2YgZW5hYmxlZCBGSUxFX1NZU1RFTSBh
bmQgV09SS0VSUy4KKyAgICAgICAgVGhlIGNvbXBpbGF0aW9uIGVycm9yIHdvdWxkIGJlIGEgc2ln
bmFsIHRvIGltcGxlbWVudCBnZXRNSU1FVHlwZUZvckV4dGVuc2lvblRocmVhZFNhZmUoKSBpbiB0
aGVzZQorICAgICAgICBwbGF0Zm9ybXMuIEN1cnJlbnRseSBpdCBkb2Vzbid0IGhhcHBlbiBzaW5j
ZSBGSUxFX1NZU1RFTSBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBvdGhlciBwbGF0Zm9ybXMuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmNwcDogRGVmaW5lZCBnZW5lcmlj
IGdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uKCkgY2FsbGluZyBnZXRNSU1FVHlwZUZvckV4dGVuc2lv
blRocmVhZFNhZmUoKSBmb3IgZW5hYmxlZCBGSUxFX1NZU1RFTSBhbmQgV09SS0VSUy4KKyAgICAg
ICAgKFdlYkNvcmU6Ok1JTUVUeXBlUmVnaXN0cnk6OmdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5Lmg6IERlY2xhcmVkIGdldE1JTUVU
eXBlRm9yRXh0ZW5zaW9uVGhyZWFkU2FmZSgpIHdoaWNoIHNob3VsZCBiZSBpbXBsZW1lbnRlZCBm
b3IgZWFjaCBwbGF0Zm9ybS4KKyAgICAgICAgKiBwbGF0Zm9ybS9hbmRyb2lkL1RlbXBvcmFyeUxp
bmtTdHVicy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRNSU1F
VHlwZUZvckV4dGVuc2lvbik6CisgICAgICAgICogcGxhdGZvcm0vYnJldy9NSU1FVHlwZVJlZ2lz
dHJ5QnJldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRNSU1F
VHlwZUZvckV4dGVuc2lvbik6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vTUlNRVR5cGVS
ZWdpc3RyeUNocm9taXVtLmNwcDogRGVmaW5lZCBnZXRNSU1FVHlwZUZvckV4dGVuc2lvblRocmVh
ZFNhZmUoKSBmb3IgdGhlIGNhc2Ugd2hlbiBGSUxFX1NZU1RFTSBhbmQgV09SS0VSUyBhcmUgZW5h
YmxlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1JTUVUeXBlUmVnaXN0cnk6OmdldE1JTUVUeXBlRm9y
RXh0ZW5zaW9uVGhyZWFkU2FmZSk6CisgICAgICAgICogcGxhdGZvcm0vZWZsL01JTUVUeXBlUmVn
aXN0cnlFZmwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TUlNRVR5cGVSZWdpc3RyeTo6Z2V0TUlN
RVR5cGVGb3JFeHRlbnNpb24pOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9NSU1FVHlwZVJlZ2lz
dHJ5R3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1JTUVUeXBlUmVnaXN0cnk6OmdldE1JTUVU
eXBlRm9yRXh0ZW5zaW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9oYWlrdS9NSU1FVHlwZVJlZ2lz
dHJ5SGFpa3UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TUlNRVR5cGVSZWdpc3RyeTo6Z2V0TUlN
RVR5cGVGb3JFeHRlbnNpb24pOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9NSU1FVHlwZVJlZ2lz
dHJ5TWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6TUlNRVR5cGVSZWdpc3RyeTo6Z2V0TUlNRVR5
cGVGb3JFeHRlbnNpb24pOgorICAgICAgICAqIHBsYXRmb3JtL3F0L01JTUVUeXBlUmVnaXN0cnlR
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRNSU1FVHlwZUZv
ckV4dGVuc2lvbik6CisgICAgICAgICogcGxhdGZvcm0vd2luL01JTUVUeXBlUmVnaXN0cnlXaW4u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TUlNRVR5cGVSZWdpc3RyeTo6Z2V0TUlNRVR5cGVGb3JF
eHRlbnNpb24pOgorICAgICAgICAqIHBsYXRmb3JtL3dpbmNlL01JTUVUeXBlUmVnaXN0cnlXaW5D
RS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRNSU1FVHlwZUZv
ckV4dGVuc2lvbik6CisgICAgICAgICogcGxhdGZvcm0vd3gvTWltZVR5cGVSZWdpc3RyeVd4LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Ok1JTUVUeXBlUmVnaXN0cnk6OmdldE1JTUVUeXBlRm9yRXh0
ZW5zaW9uKToKKwogMjAxMS0wMS0zMSAgS2FsbGUgVmFobG1hbiAgPGthbGxlLnZhaGxtYW5AbW92
aWFsLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbmRyZWFzIEtsaW5nLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmNwcAppbmRleCBmM2NjY2MwNmNkMzk3
NmViNWI5MmY2NDNjYjIwZWJjZDg5YTRlYzE2Li43MTMzOTViNmM0YWFiMWQ5ZjcxZmRjOWE2MTk4
YTdiYzZiN2MyNzdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlw
ZVJlZ2lzdHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lz
dHJ5LmNwcApAQCAtMzQzLDYgKzM0MywxMyBAQCBzdGF0aWMgTWVkaWFNSU1FVHlwZU1hcCYgbWVk
aWFNSU1FVHlwZU1hcCgpCiAgICAgcmV0dXJuIG1lZGlhTUlNRVR5cGVGb3JFeHRlbnNpb25NYXA7
CiB9CiAKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pICYmIEVOQUJMRShXT1JLRVJTKQorU3RyaW5n
IE1JTUVUeXBlUmVnaXN0cnk6OmdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uKGNvbnN0IFN0cmluZyYg
ZXh0ZW5zaW9uKQoreworICAgIHJldHVybiBnZXRNSU1FVHlwZUZvckV4dGVuc2lvblRocmVhZFNh
ZmUoZXh0ZW5zaW9uKTsKK30KKyNlbmRpZgorCiBTdHJpbmcgTUlNRVR5cGVSZWdpc3RyeTo6Z2V0
TWVkaWFNSU1FVHlwZUZvckV4dGVuc2lvbihjb25zdCBTdHJpbmcmIGV4dCkKIHsKICAgICAvLyBM
b29rIGluIHRoZSBzeXN0ZW0tc3BlY2lmaWMgcmVnaXN0cnkgZmlyc3QuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmgKaW5kZXggNjRhYmVhODFkYmE2ZjY5ZWNmZmZl
MmJhMTEyMDJmM2RjNDhkMTU1Zi4uZDA2OTAzNWYwMjE4YjlmYjk1NTUwYmUzYWEzYWJjMGI2OWE0
YWZhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3Ry
eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuaApAQCAt
MzYsNiArMzYsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBNSU1FVHlwZVJlZ2lzdHJ5
IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgU3RyaW5nIGdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uKGNv
bnN0IFN0cmluZyYgZXh0ZW5zaW9uKTsKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pICYmIEVOQUJM
RShXT1JLRVJTKQorICAgIHN0YXRpYyBTdHJpbmcgZ2V0TUlNRVR5cGVGb3JFeHRlbnNpb25UaHJl
YWRTYWZlKGNvbnN0IFN0cmluZyYgZXh0ZW5zaW9uKTsKKyNlbmRpZgogICAgIHN0YXRpYyBWZWN0
b3I8U3RyaW5nPiBnZXRFeHRlbnNpb25zRm9yTUlNRVR5cGUoY29uc3QgU3RyaW5nJiB0eXBlKTsK
ICAgICBzdGF0aWMgU3RyaW5nIGdldFByZWZlcnJlZEV4dGVuc2lvbkZvck1JTUVUeXBlKGNvbnN0
IFN0cmluZyYgdHlwZSk7CiAgICAgc3RhdGljIFN0cmluZyBnZXRNZWRpYU1JTUVUeXBlRm9yRXh0
ZW5zaW9uKGNvbnN0IFN0cmluZyYgZXh0ZW5zaW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2FuZHJvaWQvVGVtcG9yYXJ5TGlua1N0dWJzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2FuZHJvaWQvVGVtcG9yYXJ5TGlua1N0dWJzLmNwcAppbmRleCAxYzQyMzNh
MTk0ZTU0NjBlZDlmZjQ3NmM5MzAwZWExYmY0ZjA1OWI0Li40ZWRlN2U1YTkwYmFkOGFmMzcxYWE4
NjE3MWRjNTQwYWVhYTdlYzZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
bmRyb2lkL1RlbXBvcmFyeUxpbmtTdHVicy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYW5kcm9pZC9UZW1wb3JhcnlMaW5rU3R1YnMuY3BwCkBAIC03Nyw2ICs3Nyw4IEBACiAjaW5j
bHVkZSAiV2lkZ2V0LmgiCiAjaW5jbHVkZSA8c3RkaW8uaD4KICNpbmNsdWRlIDxzdGRsaWIuaD4K
KyNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgorI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCiAjaWYgVVNFKEpTQykKQEAgLTMwNiw2
ICszMDgsNyBAQCB2b2lkKiBXZWJDb3JlOjpGcmFtZTo6ZHJhZ0ltYWdlRm9yU2VsZWN0aW9uKCkK
IAogV1RGOjpTdHJpbmcgV2ViQ29yZTo6TUlNRVR5cGVSZWdpc3RyeTo6Z2V0TUlNRVR5cGVGb3JF
eHRlbnNpb24oV1RGOjpTdHJpbmcgY29uc3QmKQogeworICAgIEFTU0VSVChpc01haW5UaHJlYWQo
KSk7CiAgICAgcmV0dXJuIFdURjo6U3RyaW5nKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2JyZXcvTUlNRVR5cGVSZWdpc3RyeUJyZXcuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYnJldy9NSU1FVHlwZVJlZ2lzdHJ5QnJldy5jcHAKaW5kZXggMGE1Mzhj
MmE4Y2IyMTU4YzEwMjg4MzRiY2NmNGRiMWE3ZmQwMGUzMS4uZWFlNGUzYmEzOWUxYWM1NDMxNWQ4
YjdiMmVjOTAwOTQ4ODQ4NzUwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YnJldy9NSU1FVHlwZVJlZ2lzdHJ5QnJldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYnJldy9NSU1FVHlwZVJlZ2lzdHJ5QnJldy5jcHAKQEAgLTMwLDYgKzMwLDggQEAKICNpbmNs
dWRlICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCiAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgor
I2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CisjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC02Myw2ICs2NSw4IEBAIHN0YXRpYyBjb25zdCBF
eHRlbnNpb25NYXAgZXh0ZW5zaW9uTWFwW10gPSB7CiAKIFN0cmluZyBNSU1FVHlwZVJlZ2lzdHJ5
OjpnZXRNSU1FVHlwZUZvckV4dGVuc2lvbihjb25zdCBTdHJpbmcgJmV4dCkKIHsKKyAgICBBU1NF
UlQoaXNNYWluVGhyZWFkKCkpOworCiAgICAgU3RyaW5nIHN0ciA9IGV4dC5sb3dlcigpOwogCiAg
ICAgY29uc3QgRXh0ZW5zaW9uTWFwKiBlID0gZXh0ZW5zaW9uTWFwOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vTUlNRVR5cGVSZWdpc3RyeUNocm9taXVtLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL01JTUVUeXBlUmVnaXN0cnlDaHJv
bWl1bS5jcHAKaW5kZXggZmVjMGU5YmUxOTg2MDVmYTE2NmJmNzVhNjIwNGFkNWMyODA3MTM2OC4u
OTFiZmNjYjNlYzY2ZTY4YmYzOTZkNjM5M2E1OWJjOGQyOGVlNzE3OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vTUlNRVR5cGVSZWdpc3RyeUNocm9taXVtLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9NSU1FVHlwZVJlZ2lzdHJ5
Q2hyb21pdW0uY3BwCkBAIC00Miw2ICs0MiwxNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
KyNpZiBFTkFCTEUoRklMRV9TWVNURU0pICYmIEVOQUJMRShXT1JLRVJTKQorU3RyaW5nIE1JTUVU
eXBlUmVnaXN0cnk6OmdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uVGhyZWFkU2FmZShjb25zdCBTdHJp
bmcgJmV4dCkKK3sKKyAgICByZXR1cm4gUGxhdGZvcm1CcmlkZ2U6Om1pbWVUeXBlRm9yRXh0ZW5z
aW9uKGV4dCk7Cit9CisjZW5kaWYKKworLy8gTk9URTogV2UgaGF2ZSB0byBkZWZpbmUgZ2V0TUlN
RVR5cGVGb3JFeHRlbnNpb24oKSBoZXJlIHRob3VnaCB0aGUgc2hhcmVkCisvLyBpbXBsZW1lbnRh
dGlvbiBoYXMgZ2V0TUlNRVR5cGVGb3JFeHRlbnNpb24oKSBzaW5jZSB3ZSBkb24ndCB1c2UgdGhl
IHNoYXJlZAorLy8gaW1wbGVtZW50YXRpb24gYml0cyBpbiBNSU1FVHlwZVJlZ2lzdHJ5LmNwcC4K
KwogU3RyaW5nIE1JTUVUeXBlUmVnaXN0cnk6OmdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uKGNvbnN0
IFN0cmluZyAmZXh0KQogewogICAgIHJldHVybiBQbGF0Zm9ybUJyaWRnZTo6bWltZVR5cGVGb3JF
eHRlbnNpb24oZXh0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9N
SU1FVHlwZVJlZ2lzdHJ5RWZsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9NSU1F
VHlwZVJlZ2lzdHJ5RWZsLmNwcAppbmRleCBkMGM5NWJmYmJjZTNhMmM3ZDVmODQ0NDFjNjQ2NWMz
NjNmYTNjYjFiLi5kODgzZTVkNzFhYzY5YTM5YWEwYWRiNjljYjU0ZmNkODNjZTg0ZGY1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvTUlNRVR5cGVSZWdpc3RyeUVmbC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL01JTUVUeXBlUmVnaXN0cnlFZmwu
Y3BwCkBAIC0zMSw2ICszMSw5IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiTUlN
RVR5cGVSZWdpc3RyeS5oIgogCisjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KKyNpbmNsdWRl
IDx3dGYvTWFpblRocmVhZC5oPgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBFeHRl
bnNpb25NYXAgewpAQCAtNzIsNiArNzUsOCBAQCBzdGF0aWMgY29uc3QgRXh0ZW5zaW9uTWFwIGV4
dGVuc2lvbk1hcFtdID0gewogCiBTdHJpbmcgTUlNRVR5cGVSZWdpc3RyeTo6Z2V0TUlNRVR5cGVG
b3JFeHRlbnNpb24oY29uc3QgU3RyaW5nICZleHQpCiB7CisgICAgQVNTRVJUKGlzTWFpblRocmVh
ZCgpKTsKKwogICAgIFN0cmluZyBzID0gZXh0Lmxvd2VyKCk7CiAgICAgY29uc3QgRXh0ZW5zaW9u
TWFwICplID0gZXh0ZW5zaW9uTWFwOwogICAgIHdoaWxlIChlLT5leHRlbnNpb24pIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9NSU1FVHlwZVJlZ2lzdHJ5R3RrLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9NSU1FVHlwZVJlZ2lzdHJ5R3RrLmNwcApp
bmRleCA4ZmMzMDIwNGFlNGVkMDBlZjUwNjA0YmNiMWY1MzIyMDY3OGUwZmQ2Li45ZjdmMTRjZDhk
ZjdhNTYyYjAyZWMzMmI4ZGZhMmY0Y2Y5NmZiMmIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ndGsvTUlNRVR5cGVSZWdpc3RyeUd0ay5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3RrL01JTUVUeXBlUmVnaXN0cnlHdGsuY3BwCkBAIC0yOCw2ICsyOCw5IEBA
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiTUlNRVR5cGVSZWdpc3RyeS5oIgogCisj
aW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KKyNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgor
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBFeHRlbnNpb25NYXAgewpAQCAtNjIsNiAr
NjUsOCBAQCBzdGF0aWMgY29uc3QgRXh0ZW5zaW9uTWFwIGV4dGVuc2lvbk1hcCBbXSA9IHsKIAog
U3RyaW5nIE1JTUVUeXBlUmVnaXN0cnk6OmdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uKGNvbnN0IFN0
cmluZyAmZXh0KQogeworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisKICAgICBTdHJpbmcg
cyA9IGV4dC5sb3dlcigpOwogICAgIGNvbnN0IEV4dGVuc2lvbk1hcCAqZSA9IGV4dGVuc2lvbk1h
cDsKICAgICB3aGlsZSAoZS0+ZXh0ZW5zaW9uKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9oYWlrdS9NSU1FVHlwZVJlZ2lzdHJ5SGFpa3UuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaGFpa3UvTUlNRVR5cGVSZWdpc3RyeUhhaWt1LmNwcAppbmRleCA2ODU4Mjdl
MjliNmYxMTlkZWEwN2Y1YjVlNjgwYWIyZGUxMWY4MWM5Li4zY2ZkZGY5NzhhYjFkYzlmNDMzYWM1
YTk5MDg0YzhiYzEwYzI4NzI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9o
YWlrdS9NSU1FVHlwZVJlZ2lzdHJ5SGFpa3UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2hhaWt1L01JTUVUeXBlUmVnaXN0cnlIYWlrdS5jcHAKQEAgLTMxLDYgKzMxLDggQEAKIAog
I2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSA8TWltZVR5cGUuaD4KKyNpbmNs
dWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgorI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC02Miw2
ICs2NCw4IEBAIHN0YXRpYyBjb25zdCBFeHRlbnNpb25NYXAgZXh0ZW5zaW9uTWFwW10gPSB7CiAK
IFN0cmluZyBNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRNSU1FVHlwZUZvckV4dGVuc2lvbihjb25zdCBT
dHJpbmcmIGV4dCkKIHsKKyAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOworCiAgICAgU3RyaW5n
IHN0ciA9IGV4dC5sb3dlcigpOwogCiAgICAgLy8gVHJ5IFdlYkNvcmUgYnVpbHQtaW4gdHlwZXMu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTUlNRVR5cGVSZWdpc3Ry
eU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9NSU1FVHlwZVJlZ2lzdHJ5TWFj
Lm1tCmluZGV4IDgyMzQ4ZTBmNDFkMjg0MzY3NzZhMzliZDVmNWMyY2ZhZjVjYWI3ZmIuLjM3OTJi
NWE0NzU0ZWE2ZmRlMjUxMDExOGE4ZmMwMDdkMTU2NmZjYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9NSU1FVHlwZVJlZ2lzdHJ5TWFjLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9NSU1FVHlwZVJlZ2lzdHJ5TWFjLm1tCkBAIC0yOCwxMiArMjgs
MTUgQEAKICNpbmNsdWRlICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCiAKICNpbmNsdWRlICJXZWJDb3Jl
U3lzdGVtSW50ZXJmYWNlLmgiCisjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KKyNpbmNsdWRl
IDx3dGYvTWFpblRocmVhZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSAKIHsKIAogU3RyaW5nIE1J
TUVUeXBlUmVnaXN0cnk6OmdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uKGNvbnN0IFN0cmluZyAmZXh0
KQogeworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgcmV0dXJuIHdrR2V0TUlNRVR5
cGVGb3JFeHRlbnNpb24oZXh0KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vcXQvTUlNRVR5cGVSZWdpc3RyeVF0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3F0L01JTUVUeXBlUmVnaXN0cnlRdC5jcHAKaW5kZXggMTJkYjg5MWUzMTE3MmFkZjg4MGM1OWM5
YmU1MTNiNDZiZDAwMjk4Ni4uMDFjZWYxMjhlYzY2MGVjNjYyYmI3NGExZGMyZTg0ZWJiMDYxZDY3
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvTUlNRVR5cGVSZWdpc3Ry
eVF0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9NSU1FVHlwZVJlZ2lzdHJ5
UXQuY3BwCkBAIC0yOSw2ICsyOSw5IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
TUlNRVR5cGVSZWdpc3RyeS5oIgogCisjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KKyNpbmNs
dWRlIDx3dGYvTWFpblRocmVhZC5oPgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBF
eHRlbnNpb25NYXAgewpAQCAtNzAsNiArNzMsOCBAQCBzdGF0aWMgY29uc3QgRXh0ZW5zaW9uTWFw
IGV4dGVuc2lvbk1hcFtdID0gewogCiBTdHJpbmcgTUlNRVR5cGVSZWdpc3RyeTo6Z2V0TUlNRVR5
cGVGb3JFeHRlbnNpb24oY29uc3QgU3RyaW5nICZleHQpCiB7CisgICAgQVNTRVJUKGlzTWFpblRo
cmVhZCgpKTsKKwogICAgIFN0cmluZyBzID0gZXh0Lmxvd2VyKCk7CiAKICAgICBjb25zdCBFeHRl
bnNpb25NYXAgKmUgPSBleHRlbnNpb25NYXA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS93aW4vTUlNRVR5cGVSZWdpc3RyeVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS93aW4vTUlNRVR5cGVSZWdpc3RyeVdpbi5jcHAKaW5kZXggOTgwNzQyYTlkMjBjN2VlOTJj
MjJlMGYwYTk0OWVkNWVkOThkZDBmOC4uNTZkZGFiMTBmMWIwYmJmMzNjZDAyM2FhOWE3ZjVkZDdi
ZGIzMzZiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL01JTUVUeXBl
UmVnaXN0cnlXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9NSU1FVHlw
ZVJlZ2lzdHJ5V2luLmNwcApAQCAtMjcsNyArMjcsOSBAQAogI2luY2x1ZGUgIk1JTUVUeXBlUmVn
aXN0cnkuaCIKIAogI2luY2x1ZGUgPHNobHdhcGkuaD4KKyNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9u
cy5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgCiB7CkBAIC02NCw2ICs2Niw4IEBAIFN0cmluZyBNSU1F
VHlwZVJlZ2lzdHJ5OjpnZXRQcmVmZXJyZWRFeHRlbnNpb25Gb3JNSU1FVHlwZShjb25zdCBTdHJp
bmcmIHR5cGUpCiAKIFN0cmluZyBNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRNSU1FVHlwZUZvckV4dGVu
c2lvbihjb25zdCBTdHJpbmcgJmV4dCkKIHsKKyAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwor
CiAgICAgaWYgKGV4dC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luY2UvTUlNRVR5cGVSZWdpc3RyeVdp
bkNFLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbmNlL01JTUVUeXBlUmVnaXN0cnlX
aW5DRS5jcHAKaW5kZXggNzUzNGI5MTRjZWFlNWJmMzFlNDQyMWQ3Mjc1YjQ0MDU0N2Q2NDFjNy4u
OGE3YWM4ZjQwNzkxYWZjMmVjOTllMWYyYTJjMGZhZmM3NDNjMzA3NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luY2UvTUlNRVR5cGVSZWdpc3RyeVdpbkNFLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW5jZS9NSU1FVHlwZVJlZ2lzdHJ5V2luQ0UuY3Bw
CkBAIC0yNyw3ICsyNyw5IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiTUlNRVR5
cGVSZWdpc3RyeS5oIgogCisjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3
dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW5jbHVkZSA8d2lu
ZG93cy5oPgogI2luY2x1ZGUgPHdpbnJlZy5oPgogCkBAIC0xMTksNiArMTIxLDggQEAgU3RyaW5n
IE1JTUVUeXBlUmVnaXN0cnk6OmdldFByZWZlcnJlZEV4dGVuc2lvbkZvck1JTUVUeXBlKGNvbnN0
IFN0cmluZyYgdHlwZSkKIAogU3RyaW5nIE1JTUVUeXBlUmVnaXN0cnk6OmdldE1JTUVUeXBlRm9y
RXh0ZW5zaW9uKGNvbnN0IFN0cmluZyAmZXh0KQogeworICAgIEFTU0VSVChpc01haW5UaHJlYWQo
KSk7CisKICAgICBpZiAoZXh0LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIFN0cmluZygpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93eC9NaW1lVHlwZVJlZ2lzdHJ5
V3guY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd3gvTWltZVR5cGVSZWdpc3RyeVd4LmNw
cAppbmRleCBlN2NjMGUyNjA2MjQ3YWYyMWY3NDc3YzYxZjFlOTM3MjUzMTIyOGNiLi45NGE4MTVl
Yjc3MjdkNTA2Y2JjYjc1ZWVkZGUzYmRkODk5ZjY0MmMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS93eC9NaW1lVHlwZVJlZ2lzdHJ5V3guY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3d4L01pbWVUeXBlUmVnaXN0cnlXeC5jcHAKQEAgLTI4LDYgKzI4LDkgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCiAKKyNp
bmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgorI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CisK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RydWN0IEV4dGVuc2lvbk1hcCB7CkBAIC01OSw2ICs2
Miw4IEBAIHN0YXRpYyBjb25zdCBFeHRlbnNpb25NYXAgZXh0ZW5zaW9uTWFwIFtdID0gewogICAg
IAogU3RyaW5nIE1JTUVUeXBlUmVnaXN0cnk6OmdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uKGNvbnN0
IFN0cmluZyAmZXh0KQogeworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisKICAgICBTdHJp
bmcgcyA9IGV4dC5sb3dlcigpOwogICAgIGNvbnN0IEV4dGVuc2lvbk1hcCAqZSA9IGV4dGVuc2lv
bk1hcDsKICAgICB3aGlsZSAoZS0+ZXh0ZW5zaW9uKSB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>