<?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>168579</bug_id>
          
          <creation_ts>2017-02-19 17:40:02 -0800</creation_ts>
          <short_desc>Clean up how WebKit exports _WebCreateFragment</short_desc>
          <delta_ts>2017-02-20 09:24:45 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>mitz</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1278790</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-02-19 17:40:02 -0800</bug_when>
    <thetext>WebKit exports the _WebCreateFragment symbol, but it is not present in any framework headers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278793</commentid>
    <comment_count>1</comment_count>
      <attachid>302102</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-02-19 17:49:53 -0800</bug_when>
    <thetext>Created attachment 302102
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278794</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-19 17:51:03 -0800</bug_when>
    <thetext>Attachment 302102 did not pass style-queue:


ERROR: Source/WebKit/mac/WebCoreSupport/WebCreateFragmentInternal.h:37:  _WebCreateFragment is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 1 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278795</commentid>
    <comment_count>3</comment_count>
      <attachid>302102</attachid>
    <who name="">mitz</who>
    <bug_when>2017-02-19 17:52:53 -0800</bug_when>
    <thetext>Comment on attachment 302102
proposed patch

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

&gt; Source/WebKit/WebKit.xcodeproj/project.pbxproj:794
&gt; +		E13E782C1E5A7365001849D1 /* WebCreateFragmentInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = E13E782B1E5A7365001849D1 /* WebCreateFragmentInternal.h */; settings = {ATTRIBUTES = (Private, ); }; };

We are we calling this “Internal” if it’s a private header?

&gt; Source/WebKit/mac/WebCoreSupport/WebCreateFragmentInternal.h:33
&gt; +#ifdef __cplusplus

This has got to be true because otherwise the above declarations would fail to compile.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278805</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-02-19 18:29:25 -0800</bug_when>
    <thetext>&gt; We are we calling this “Internal” if it’s a private header?

This naming is used elsewhere in WebKit for things that have to be framework headers, but are not API or SPI. Do you have a different suggestion for the name?

We need to expose this header to have symbols match between framework binaries and stubs.

&gt; This has got to be true because otherwise the above declarations would fail
&gt; to compile.

Good point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278806</commentid>
    <comment_count>5</comment_count>
      <attachid>302107</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-02-19 18:31:24 -0800</bug_when>
    <thetext>Created attachment 302107
proposed patch

Removed __cplusplus checks, added a radar number.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278807</commentid>
    <comment_count>6</comment_count>
    <who name="">mitz</who>
    <bug_when>2017-02-19 18:38:11 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; &gt; We are we calling this “Internal” if it’s a private header?
&gt; 
&gt; This naming is used elsewhere in WebKit for things that have to be framework
&gt; headers, but are not API or SPI.

Filtering the Headers build phase of the WebCore, WebKitLegacy and WebKit targets for “Internal.h”, the only private header matching the pattern is npruntime_internal.h in WebCore. All other headers with names ending with Internal.h are project headers.

I believe that the convention is to add the suffixes “Private” and “Internal” only when needed to disambiguate, i.e. when there is also a separate header with the base name or with another suffix (one possible exception is that if the object being declared in a header has a name that ends with Private, then the header’s name may end with Private by virtue of being named after what it is declaring).

So unless I’m missing something, I suggest calling this header WebCreateFragment.h.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278808</commentid>
    <comment_count>7</comment_count>
      <attachid>302107</attachid>
    <who name="">mitz</who>
    <bug_when>2017-02-19 18:38:35 -0800</bug_when>
    <thetext>Comment on attachment 302107
proposed patch

r=me but I’d prefer the standard naming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278812</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-02-19 18:48:31 -0800</bug_when>
    <thetext>Hmm, it&apos;s less frequent than I thought. But there are four of those in JavaScriptCore.

Naming an exposed header that&apos;s purely internal to the WebKit stack in a &quot;standard&quot; way still seems less than great to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278958</commentid>
    <comment_count>9</comment_count>
      <attachid>302107</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-20 09:24:41 -0800</bug_when>
    <thetext>Comment on attachment 302107
proposed patch

Clearing flags on attachment: 302107

Committed r212642: &lt;http://trac.webkit.org/changeset/212642&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278959</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-20 09:24:45 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302102</attachid>
            <date>2017-02-19 17:49:53 -0800</date>
            <delta_ts>2017-02-19 18:31:24 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>WebCreateFragmentMove.txt</filename>
            <type>text/plain</type>
            <size>9652</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMjQxNykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDE3LTAyLTE5ICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIENsZWFuIHVwIGhvdyBXZWJL
aXQgZXhwb3J0cyBfV2ViQ3JlYXRlRnJhZ21lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODU3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogZWRpdGluZy9FZGl0b3IuaDogUmVtb3ZlZCB0aGUgZGVj
bGFyYXRpb24gb2YgX1dlYkNyZWF0ZUZyYWdtZW50LCBTT0ZUX0xJTksgZG9lc24ndCBuZWVkIGl0
LgorICAgICAgICAqIGVkaXRpbmcvY29jb2EvRWRpdG9yQ29jb2EubW06IE1vdmVkIGEgRklYTUUg
Y29tbWVudCBoZXJlLgorCiAyMDE3LTAyLTE1ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgW1dlYklETF0gUmVtb3ZlIGN1c3RvbSBjb252ZXJzaW9uIGZyb20gRm9udEZh
Y2UgY29kZSBieSB1c2luZyBhIFZhcmlhbnQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
RWRpdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaAko
cmV2aXNpb24gMjEyNDE3KQorKysgU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaAkod29y
a2luZyBjb3B5KQpAQCAtNTg4LDkgKzU4OCwzIEBAIGlubGluZSBib29sIEVkaXRvcjo6bWFya2Vk
VGV4dE1hdGNoZXNBcmUKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jaWYgUExBVEZP
Uk0oQ09DT0EpCi0vLyBUaGlzIGZ1bmN0aW9uIGlzIGRlY2xhcmVkIGhlcmUgYnV0IGRlZmluZWQg
aW4gdGhlIFdlYktpdExlZ2FjeSBmcmFtZXdvcmsuCi0vLyBGSVhNRTogR2V0IHJpZCBvZiB0aGlz
IGFuZCBjaGFuZ2UgdGhpcyBzbyBpdCBkb2Vzbid0IHVzZSBXZWJLaXRMZWdhY3kuCi1leHRlcm4g
IkMiIHZvaWQgX1dlYkNyZWF0ZUZyYWdtZW50KFdlYkNvcmU6OkRvY3VtZW50JiwgTlNBdHRyaWJ1
dGVkU3RyaW5nICosIFdlYkNvcmU6OkZyYWdtZW50QW5kUmVzb3VyY2VzJik7Ci0jZW5kaWYKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvRWRpdG9yQ29jb2EubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9FZGl0b3JDb2NvYS5tbQkocmV2aXNp
b24gMjEyNDE3KQorKysgU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9FZGl0b3JDb2NvYS5t
bQkod29ya2luZyBjb3B5KQpAQCAtNTgsNiArNTgsNyBAQCBTT0ZUX0xJTktfUFJJVkFURV9GUkFN
RVdPUksoV2ViS2l0TGVnYWN5CiBTT0ZUX0xJTktfRlJBTUVXT1JLX0lOX1VNQlJFTExBKFdlYktp
dCwgV2ViS2l0TGVnYWN5KQogI2VuZGlmCiAKKy8vIEZJWE1FOiBHZXQgcmlkIG9mIHRoaXMgYW5k
IGNoYW5nZSBOU0F0dHJpYnV0ZWRTdHJpbmcgY29udmVyc2lvbiBzbyBpdCBkb2Vzbid0IHVzZSBX
ZWJLaXRMZWdhY3kuCiBTT0ZUX0xJTksoV2ViS2l0TGVnYWN5LCBfV2ViQ3JlYXRlRnJhZ21lbnQs
IHZvaWQsIChXZWJDb3JlOjpEb2N1bWVudCYgZG9jdW1lbnQsIE5TQXR0cmlidXRlZFN0cmluZyAq
c3RyaW5nLCBXZWJDb3JlOjpGcmFnbWVudEFuZFJlc291cmNlcyYgcmVzdWx0KSwgKGRvY3VtZW50
LCBzdHJpbmcsIHJlc3VsdCkpCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAyMTI2MTcpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDEyIEBACisyMDE3LTAyLTE5ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBA
YXBwbGUuY29tPgorCisgICAgICAgIENsZWFuIHVwIGhvdyBXZWJLaXQgZXhwb3J0cyBfV2ViQ3Jl
YXRlRnJhZ21lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE2ODU3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IEFkZGVkIFdlYkNyZWF0ZUZy
YWdtZW50SW50ZXJuYWwuaC4KKwogMjAxNy0wMi0xNSAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBh
cHBsZS5jb20+CiAKICAgICAgICAgU3RvcCBiYWNraW5nIHVwIGxvY2FsU3RvcmFnZSBkYXRhYmFz
ZXMgdG8gaUNsb3VkIGJ5IGRlZmF1bHQuCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViS2l0
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDIxMjQxNykKKysrIFNvdXJjZS9X
ZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAg
LTc5MSw2ICs3OTEsNyBAQAogCQlERDdDREVFNzBBMjNCQTlFMDAwNjk5MjggLyogV2ViVHlwZXNJ
bnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
REQ3Q0RFRTYwQTIzQkE5RTAwMDY5OTI4IC8qIFdlYlR5cGVzSW50ZXJuYWwuaCAqLzsgfTsKIAkJ
REQ4OTY4MjAwOUFBODcyNDAwOTdFN0YwIC8qIFdlYkVsZW1lbnREaWN0aW9uYXJ5LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBERDg5NjgxRTA5QUE4NzI0
MDA5N0U3RjAgLyogV2ViRWxlbWVudERpY3Rpb25hcnkuaCAqLzsgfTsKIAkJREQ4OTY4MjEwOUFB
ODcyNDAwOTdFN0YwIC8qIFdlYkVsZW1lbnREaWN0aW9uYXJ5Lm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gREQ4OTY4MUYwOUFBODcyNDAwOTdFN0YwIC8q
IFdlYkVsZW1lbnREaWN0aW9uYXJ5Lm1tICovOyB9OworCQlFMTNFNzgyQzFFNUE3MzY1MDAxODQ5
RDEgLyogV2ViQ3JlYXRlRnJhZ21lbnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTEzRTc4MkIxRTVBNzM2NTAwMTg0OUQxIC8qIFdlYkNy
ZWF0ZUZyYWdtZW50SW50ZXJuYWwuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQlFMTU2NjMxOTBGQjYxQzFGMDBDMTk5Q0EgLyogV2ViRG93bmxvYWQu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTU2NjMx
ODBGQjYxQzFGMDBDMTk5Q0EgLyogV2ViRG93bmxvYWQubW0gKi87IH07CiAJCUUxNjk4MzYyMTEz
NDZEMUIwMDg5NDExNSAvKiBQcm94eVJ1bnRpbWVPYmplY3QuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxNjk4MzYxMTEzNDZEMUIwMDg5NDExNSAvKiBQ
cm94eVJ1bnRpbWVPYmplY3QuaCAqLzsgfTsKIAkJRTE2OTgzNkMxMTM0NkQ1NjAwODk0MTE1IC8q
IFByb3h5UnVudGltZU9iamVjdC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEUxNjk4MzZCMTEzNDZENTYwMDg5NDExNSAvKiBQcm94eVJ1bnRpbWVPYmpl
Y3QubW0gKi87IH07CkBAIC0xNTQ3LDYgKzE1NDgsNyBAQAogCQlERDdDREVFNjBBMjNCQTlFMDAw
Njk5MjggLyogV2ViVHlwZXNJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBXZWJUeXBlc0ludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCURE
ODk2ODFFMDlBQTg3MjQwMDk3RTdGMCAvKiBXZWJFbGVtZW50RGljdGlvbmFyeS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGluZGVudFdpZHRoID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkVsZW1lbnREaWN0
aW9uYXJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMg
PSAwOyB9OwogCQlERDg5NjgxRjA5QUE4NzI0MDA5N0U3RjAgLyogV2ViRWxlbWVudERpY3Rpb25h
cnkubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgaW5k
ZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IFdlYkVsZW1lbnREaWN0aW9uYXJ5Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0
YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKKwkJRTEzRTc4MkIxRTVBNzM2NTAwMTg0OUQx
IC8qIFdlYkNyZWF0ZUZyYWdtZW50SW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBleHBsaWNpdEZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuaDsgZmlsZUVuY29kaW5nID0g
NDsgcGF0aCA9IFdlYkNyZWF0ZUZyYWdtZW50SW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRTE1NjYzMTgwRkI2MUMxRjAwQzE5OUNBIC8qIFdlYkRvd25sb2FkLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViRG93bmxvYWQubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxNjk4MzYxMTEzNDZEMUIwMDg5NDExNSAvKiBQ
cm94eVJ1bnRpbWVPYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJv
eHlSdW50aW1lT2JqZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxNjk4MzZC
MTEzNDZENTYwMDg5NDExNSAvKiBQcm94eVJ1bnRpbWVPYmplY3QubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBQcm94eVJ1bnRpbWVPYmplY3QubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNTc5LDYgKzI1ODEsNyBAQAogCQkJCTE0RDgyNTJFMEFG
OTU1MDkwMDA0RjA1NyAvKiBXZWJDaHJvbWVDbGllbnQubW0gKi8sCiAJCQkJMDY1QUQ1QTEwQjBD
MzJDNzAwNUEyQjFEIC8qIFdlYkNvbnRleHRNZW51Q2xpZW50LmggKi8sCiAJCQkJMDY1QUQ1QTIw
QjBDMzJDNzAwNUEyQjFEIC8qIFdlYkNvbnRleHRNZW51Q2xpZW50Lm1tICovLAorCQkJCUUxM0U3
ODJCMUU1QTczNjUwMDE4NDlEMSAvKiBXZWJDcmVhdGVGcmFnbWVudEludGVybmFsLmggKi8sCiAJ
CQkJNTk4QUQ5MTkxMjAxQ0VDOTAwQUJBRTRFIC8qIFdlYkRldmljZU9yaWVudGF0aW9uQ2xpZW50
LmggKi8sCiAJCQkJNTk4QUQ5MUQxMjAxQ0VDRjAwQUJBRTRFIC8qIFdlYkRldmljZU9yaWVudGF0
aW9uQ2xpZW50Lm1tICovLAogCQkJCUE3MDkzNkFEMEI1NjA4REMwMENEQjQ4RSAvKiBXZWJEcmFn
Q2xpZW50LmggKi8sCkBAIC0yOTA5LDYgKzI5MTIsNyBAQAogCQkJCTkzRDQzNzcwMUQ1N0FCRUYw
MEFCODVFQSAvKiBET01SR0JDb2xvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNENDM3NzIxRDU3
QUJFRjAwQUI4NUVBIC8qIERPTVJHQkNvbG9ySW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTkzRDQzNzczMUQ1N0FCRUYwMEFCODVFQSAvKiBET01TdHlsZVNoZWV0LmggaW4gSGVhZGVycyAq
LywKKwkJCQlFMTNFNzgyQzFFNUE3MzY1MDAxODQ5RDEgLyogV2ViQ3JlYXRlRnJhZ21lbnRJbnRl
cm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNENDM3NzUxRDU3QUJFRjAwQUI4NUVBIC8qIERP
TVN0eWxlU2hlZXRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNENDM3NzYxRDU3QUJF
RjAwQUI4NUVBIC8qIERPTVN0eWxlU2hlZXRMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0Q0
Mzc3ODFENTdBQkVGMDBBQjg1RUEgLyogRE9NU3R5bGVTaGVldExpc3RJbnRlcm5hbC5oIGluIEhl
YWRlcnMgKi8sCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTI2MTcpCisrKyBTb3Vy
Y2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAor
MjAxNy0wMi0xOSAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KKworICAgICAg
ICBDbGVhbiB1cCBob3cgV2ViS2l0IGV4cG9ydHMgX1dlYkNyZWF0ZUZyYWdtZW50CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjg1NzkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L1dlYkNyZWF0ZUZyYWdtZW50SW50ZXJuYWwuaDogQWRkZWQgYSBwcml2YXRlIGhlYWRlci4KKyAg
ICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW06IEluY2x1ZGUgdGhlIG5l
dyBoZWFkZXIgdGhhdCBkZWNsYXJlcyBfV2ViQ3JlYXRlRnJhZ21lbnQuCisKIDIwMTctMDItMTUg
IEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFN0b3AgYmFja2lu
ZyB1cCBsb2NhbFN0b3JhZ2UgZGF0YWJhc2VzIHRvIGlDbG91ZCBieSBkZWZhdWx0LgpJbmRleDog
U291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ3JlYXRlRnJhZ21lbnRJbnRlcm5h
bC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNy
ZWF0ZUZyYWdtZW50SW50ZXJuYWwuaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViS2l0L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJDcmVhdGVGcmFnbWVudEludGVybmFsLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CitjbGFzcyBEb2N1bWVudDsKK3N0cnVjdCBGcmFnbWVudEFuZFJlc291cmNl
czsKK30KKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCit2b2lk
IF9XZWJDcmVhdGVGcmFnbWVudChXZWJDb3JlOjpEb2N1bWVudCYsIE5TQXR0cmlidXRlZFN0cmlu
ZyAqLCBXZWJDb3JlOjpGcmFnbWVudEFuZFJlc291cmNlcyYpOworCisjaWZkZWYgX19jcGx1c3Bs
dXMKK30KKyNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2Vi
RWRpdG9yQ2xpZW50Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVT
dXBwb3J0L1dlYkVkaXRvckNsaWVudC5tbQkocmV2aXNpb24gMjEyNDE3KQorKysgU291cmNlL1dl
YktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50Lm1tCSh3b3JraW5nIGNvcHkp
CkBAIC0zOCw2ICszOCw3IEBACiAjaW1wb3J0ICJET01Ob2RlSW50ZXJuYWwuaCIKICNpbXBvcnQg
IkRPTVJhbmdlSW50ZXJuYWwuaCIKICNpbXBvcnQgIldlYkFyY2hpdmUuaCIKKyNpbXBvcnQgIldl
YkNyZWF0ZUZyYWdtZW50SW50ZXJuYWwuaCIKICNpbXBvcnQgIldlYkRhdGFTb3VyY2VJbnRlcm5h
bC5oIgogI2ltcG9ydCAiV2ViRGVsZWdhdGVJbXBsZW1lbnRhdGlvbkNhY2hpbmcuaCIKICNpbXBv
cnQgIldlYkRvY3VtZW50LmgiCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302107</attachid>
            <date>2017-02-19 18:31:24 -0800</date>
            <delta_ts>2017-02-20 09:24:41 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>WebCreateFragmentMove.txt</filename>
            <type>text/plain</type>
            <size>9616</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMjQxNykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDE3LTAyLTE5ICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIENsZWFuIHVwIGhvdyBXZWJL
aXQgZXhwb3J0cyBfV2ViQ3JlYXRlRnJhZ21lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODU3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogZWRpdGluZy9FZGl0b3IuaDogUmVtb3ZlZCB0aGUgZGVj
bGFyYXRpb24gb2YgX1dlYkNyZWF0ZUZyYWdtZW50LCBTT0ZUX0xJTksgZG9lc24ndCBuZWVkIGl0
LgorICAgICAgICAqIGVkaXRpbmcvY29jb2EvRWRpdG9yQ29jb2EubW06IE1vdmVkIGEgRklYTUUg
Y29tbWVudCBoZXJlLgorCiAyMDE3LTAyLTE1ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgW1dlYklETF0gUmVtb3ZlIGN1c3RvbSBjb252ZXJzaW9uIGZyb20gRm9udEZh
Y2UgY29kZSBieSB1c2luZyBhIFZhcmlhbnQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
RWRpdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaAko
cmV2aXNpb24gMjEyNDE3KQorKysgU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaAkod29y
a2luZyBjb3B5KQpAQCAtNTg4LDkgKzU4OCwzIEBAIGlubGluZSBib29sIEVkaXRvcjo6bWFya2Vk
VGV4dE1hdGNoZXNBcmUKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jaWYgUExBVEZP
Uk0oQ09DT0EpCi0vLyBUaGlzIGZ1bmN0aW9uIGlzIGRlY2xhcmVkIGhlcmUgYnV0IGRlZmluZWQg
aW4gdGhlIFdlYktpdExlZ2FjeSBmcmFtZXdvcmsuCi0vLyBGSVhNRTogR2V0IHJpZCBvZiB0aGlz
IGFuZCBjaGFuZ2UgdGhpcyBzbyBpdCBkb2Vzbid0IHVzZSBXZWJLaXRMZWdhY3kuCi1leHRlcm4g
IkMiIHZvaWQgX1dlYkNyZWF0ZUZyYWdtZW50KFdlYkNvcmU6OkRvY3VtZW50JiwgTlNBdHRyaWJ1
dGVkU3RyaW5nICosIFdlYkNvcmU6OkZyYWdtZW50QW5kUmVzb3VyY2VzJik7Ci0jZW5kaWYKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvRWRpdG9yQ29jb2EubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9FZGl0b3JDb2NvYS5tbQkocmV2aXNp
b24gMjEyNDE3KQorKysgU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9FZGl0b3JDb2NvYS5t
bQkod29ya2luZyBjb3B5KQpAQCAtNTgsNiArNTgsNyBAQCBTT0ZUX0xJTktfUFJJVkFURV9GUkFN
RVdPUksoV2ViS2l0TGVnYWN5CiBTT0ZUX0xJTktfRlJBTUVXT1JLX0lOX1VNQlJFTExBKFdlYktp
dCwgV2ViS2l0TGVnYWN5KQogI2VuZGlmCiAKKy8vIEZJWE1FOiBHZXQgcmlkIG9mIHRoaXMgYW5k
IGNoYW5nZSBOU0F0dHJpYnV0ZWRTdHJpbmcgY29udmVyc2lvbiBzbyBpdCBkb2Vzbid0IHVzZSBX
ZWJLaXRMZWdhY3kgKGNmLiByZGFyOi8vcHJvYmxlbS8zMDU5NzM1MikuCiBTT0ZUX0xJTksoV2Vi
S2l0TGVnYWN5LCBfV2ViQ3JlYXRlRnJhZ21lbnQsIHZvaWQsIChXZWJDb3JlOjpEb2N1bWVudCYg
ZG9jdW1lbnQsIE5TQXR0cmlidXRlZFN0cmluZyAqc3RyaW5nLCBXZWJDb3JlOjpGcmFnbWVudEFu
ZFJlc291cmNlcyYgcmVzdWx0KSwgKGRvY3VtZW50LCBzdHJpbmcsIHJlc3VsdCkpCiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTI2MTcpCisrKyBTb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDE3LTAy
LTE5ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIENsZWFu
IHVwIGhvdyBXZWJLaXQgZXhwb3J0cyBfV2ViQ3JlYXRlRnJhZ21lbnQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODU3OQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6IEFkZGVkIFdlYkNyZWF0ZUZyYWdtZW50SW50ZXJuYWwuaC4KKwogMjAxNy0w
Mi0xNSAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgU3RvcCBi
YWNraW5nIHVwIGxvY2FsU3RvcmFnZSBkYXRhYmFzZXMgdG8gaUNsb3VkIGJ5IGRlZmF1bHQuCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJ
KHJldmlzaW9uIDIxMjQxNykKKysrIFNvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTc5MSw2ICs3OTEsNyBAQAogCQlERDdDREVF
NzBBMjNCQTlFMDAwNjk5MjggLyogV2ViVHlwZXNJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gREQ3Q0RFRTYwQTIzQkE5RTAwMDY5OTI4IC8q
IFdlYlR5cGVzSW50ZXJuYWwuaCAqLzsgfTsKIAkJREQ4OTY4MjAwOUFBODcyNDAwOTdFN0YwIC8q
IFdlYkVsZW1lbnREaWN0aW9uYXJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBERDg5NjgxRTA5QUE4NzI0MDA5N0U3RjAgLyogV2ViRWxlbWVudERpY3Rp
b25hcnkuaCAqLzsgfTsKIAkJREQ4OTY4MjEwOUFBODcyNDAwOTdFN0YwIC8qIFdlYkVsZW1lbnRE
aWN0aW9uYXJ5Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gREQ4OTY4MUYwOUFBODcyNDAwOTdFN0YwIC8qIFdlYkVsZW1lbnREaWN0aW9uYXJ5Lm1tICov
OyB9OworCQlFMTNFNzgyQzFFNUE3MzY1MDAxODQ5RDEgLyogV2ViQ3JlYXRlRnJhZ21lbnRJbnRl
cm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTEz
RTc4MkIxRTVBNzM2NTAwMTg0OUQxIC8qIFdlYkNyZWF0ZUZyYWdtZW50SW50ZXJuYWwuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMTU2NjMxOTBG
QjYxQzFGMDBDMTk5Q0EgLyogV2ViRG93bmxvYWQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTU2NjMxODBGQjYxQzFGMDBDMTk5Q0EgLyogV2ViRG93
bmxvYWQubW0gKi87IH07CiAJCUUxNjk4MzYyMTEzNDZEMUIwMDg5NDExNSAvKiBQcm94eVJ1bnRp
bWVPYmplY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEUxNjk4MzYxMTEzNDZEMUIwMDg5NDExNSAvKiBQcm94eVJ1bnRpbWVPYmplY3QuaCAqLzsgfTsK
IAkJRTE2OTgzNkMxMTM0NkQ1NjAwODk0MTE1IC8qIFByb3h5UnVudGltZU9iamVjdC5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxNjk4MzZCMTEzNDZE
NTYwMDg5NDExNSAvKiBQcm94eVJ1bnRpbWVPYmplY3QubW0gKi87IH07CkBAIC0xNTQ3LDYgKzE1
NDgsNyBAQAogCQlERDdDREVFNjBBMjNCQTlFMDAwNjk5MjggLyogV2ViVHlwZXNJbnRlcm5hbC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJUeXBlc0ludGVybmFsLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUREODk2ODFFMDlBQTg3MjQwMDk3RTdGMCAvKiBX
ZWJFbGVtZW50RGljdGlvbmFyeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFdlYkVsZW1lbnREaWN0aW9uYXJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwogCQlERDg5NjgxRjA5QUE4NzI0
MDA5N0U3RjAgLyogV2ViRWxlbWVudERpY3Rpb25hcnkubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkVsZW1lbnREaWN0aW9uYXJ5
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsg
fTsKKwkJRTEzRTc4MkIxRTVBNzM2NTAwMTg0OUQxIC8qIFdlYkNyZWF0ZUZyYWdtZW50SW50ZXJu
YWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuaDsgZmlsZUVuY29kaW5nID0gNDsgcGF0aCA9IFdlYkNyZWF0ZUZyYWdtZW50
SW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTE1NjYzMTgwRkI2MUMx
RjAwQzE5OUNBIC8qIFdlYkRvd25sb2FkLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gV2ViRG93bmxvYWQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUUxNjk4MzYxMTEzNDZEMUIwMDg5NDExNSAvKiBQcm94eVJ1bnRpbWVPYmplY3QuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJveHlSdW50aW1lT2JqZWN0Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxNjk4MzZCMTEzNDZENTYwMDg5NDExNSAvKiBQcm94eVJ1
bnRpbWVPYmplY3QubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBQ
cm94eVJ1bnRpbWVPYmplY3QubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNTc5
LDYgKzI1ODEsNyBAQAogCQkJCTE0RDgyNTJFMEFGOTU1MDkwMDA0RjA1NyAvKiBXZWJDaHJvbWVD
bGllbnQubW0gKi8sCiAJCQkJMDY1QUQ1QTEwQjBDMzJDNzAwNUEyQjFEIC8qIFdlYkNvbnRleHRN
ZW51Q2xpZW50LmggKi8sCiAJCQkJMDY1QUQ1QTIwQjBDMzJDNzAwNUEyQjFEIC8qIFdlYkNvbnRl
eHRNZW51Q2xpZW50Lm1tICovLAorCQkJCUUxM0U3ODJCMUU1QTczNjUwMDE4NDlEMSAvKiBXZWJD
cmVhdGVGcmFnbWVudEludGVybmFsLmggKi8sCiAJCQkJNTk4QUQ5MTkxMjAxQ0VDOTAwQUJBRTRF
IC8qIFdlYkRldmljZU9yaWVudGF0aW9uQ2xpZW50LmggKi8sCiAJCQkJNTk4QUQ5MUQxMjAxQ0VD
RjAwQUJBRTRFIC8qIFdlYkRldmljZU9yaWVudGF0aW9uQ2xpZW50Lm1tICovLAogCQkJCUE3MDkz
NkFEMEI1NjA4REMwMENEQjQ4RSAvKiBXZWJEcmFnQ2xpZW50LmggKi8sCkBAIC0yOTA5LDYgKzI5
MTIsNyBAQAogCQkJCTkzRDQzNzcwMUQ1N0FCRUYwMEFCODVFQSAvKiBET01SR0JDb2xvci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJOTNENDM3NzIxRDU3QUJFRjAwQUI4NUVBIC8qIERPTVJHQkNvbG9y
SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzRDQzNzczMUQ1N0FCRUYwMEFCODVFQSAv
KiBET01TdHlsZVNoZWV0LmggaW4gSGVhZGVycyAqLywKKwkJCQlFMTNFNzgyQzFFNUE3MzY1MDAx
ODQ5RDEgLyogV2ViQ3JlYXRlRnJhZ21lbnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OTNENDM3NzUxRDU3QUJFRjAwQUI4NUVBIC8qIERPTVN0eWxlU2hlZXRJbnRlcm5hbC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJOTNENDM3NzYxRDU3QUJFRjAwQUI4NUVBIC8qIERPTVN0eWxlU2hlZXRM
aXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0Q0Mzc3ODFENTdBQkVGMDBBQjg1RUEgLyogRE9N
U3R5bGVTaGVldExpc3RJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvQ2hhbmdl
TG9nCShyZXZpc2lvbiAyMTI2MTcpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxNy0wMi0xOSAgQWxleGV5IFByb3NrdXJ5
YWtvdiAgPGFwQGFwcGxlLmNvbT4KKworICAgICAgICBDbGVhbiB1cCBob3cgV2ViS2l0IGV4cG9y
dHMgX1dlYkNyZWF0ZUZyYWdtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNjg1NzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNyZWF0ZUZyYWdtZW50SW50ZXJuYWwu
aDogQWRkZWQgYSBwcml2YXRlIGhlYWRlci4KKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJF
ZGl0b3JDbGllbnQubW06IEluY2x1ZGUgdGhlIG5ldyBoZWFkZXIgdGhhdCBkZWNsYXJlcyBfV2Vi
Q3JlYXRlRnJhZ21lbnQuCisKIDIwMTctMDItMTUgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBw
bGUuY29tPgogCiAgICAgICAgIFN0b3AgYmFja2luZyB1cCBsb2NhbFN0b3JhZ2UgZGF0YWJhc2Vz
IHRvIGlDbG91ZCBieSBkZWZhdWx0LgpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1
cHBvcnQvV2ViQ3JlYXRlRnJhZ21lbnRJbnRlcm5hbC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNyZWF0ZUZyYWdtZW50SW50ZXJuYWwuaAkobm9u
ZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDcmVhdGVG
cmFnbWVudEludGVybmFsLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBEb2N1bWVu
dDsKK3N0cnVjdCBGcmFnbWVudEFuZFJlc291cmNlczsKK30KKworZXh0ZXJuICJDIiB2b2lkIF9X
ZWJDcmVhdGVGcmFnbWVudChXZWJDb3JlOjpEb2N1bWVudCYsIE5TQXR0cmlidXRlZFN0cmluZyAq
LCBXZWJDb3JlOjpGcmFnbWVudEFuZFJlc291cmNlcyYpOwpJbmRleDogU291cmNlL1dlYktpdC9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50Lm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5tbQkocmV2aXNpb24g
MjEyNDE3KQorKysgU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xp
ZW50Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw2ICszOCw3IEBACiAjaW1wb3J0ICJET01Ob2Rl
SW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTVJhbmdlSW50ZXJuYWwuaCIKICNpbXBvcnQgIldlYkFy
Y2hpdmUuaCIKKyNpbXBvcnQgIldlYkNyZWF0ZUZyYWdtZW50SW50ZXJuYWwuaCIKICNpbXBvcnQg
IldlYkRhdGFTb3VyY2VJbnRlcm5hbC5oIgogI2ltcG9ydCAiV2ViRGVsZWdhdGVJbXBsZW1lbnRh
dGlvbkNhY2hpbmcuaCIKICNpbXBvcnQgIldlYkRvY3VtZW50LmgiCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>