<?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>24492</bug_id>
          
          <creation_ts>2009-03-10 09:28:14 -0700</creation_ts>
          <short_desc>Move Local and NoAccess security rules from FrameLoader to SecurityOrigin</short_desc>
          <delta_ts>2009-06-13 21:37:37 -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>Page Loading</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>25040</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Fisher (:fishd, Google)">fishd</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>abarth</cc>
    
    <cc>jianli</cc>
    
    <cc>jorlow</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>113005</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-03-10 09:28:14 -0700</bug_when>
    <thetext>Move Local and NoAccess security rules from FrameLoader to SecurityOrigin

This bug is about moving the following functions:

registerURLSchemeAsLocal
shouldTreatURLAsLocal
shouldTreatURLSchemeAsLocal
registerURLSchemeAsNoAccess
shouldTreatURLSchemeAsNoAccess

I also question whether we should keep shouldTreatURLAsLocal.  It seems a bit unnecessary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113006</commentid>
    <comment_count>1</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-03-10 09:28:49 -0700</bug_when>
    <thetext>There is some related discussion in bug 24437.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116494</commentid>
    <comment_count>2</comment_count>
    <who name="Jian Li">jianli</who>
    <bug_when>2009-04-03 15:13:54 -0700</bug_when>
    <thetext>We also need to make SecurityOrigin thread safe. Considering making all statics use TLS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116495</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-04-03 15:22:26 -0700</bug_when>
    <thetext>I think that should be turned into a separate bug.  This one is just above moving some code, which is what I plan to do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124211</commentid>
    <comment_count>4</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2009-06-03 13:52:40 -0700</bug_when>
    <thetext>Hm.  Interesting.  This seems a bit related to https://bugs.webkit.org/show_bug.cgi?id=26143 (&quot;SecurityOrigin should probably be split into Origin and EffectiveScriptOrigin&quot;).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125717</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-06-13 20:30:59 -0700</bug_when>
    <thetext>Stealing.  This is low hanging fruit on my quest to tame FrameLoader.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125723</commentid>
    <comment_count>6</comment_count>
      <attachid>31251</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-06-13 21:02:17 -0700</bug_when>
    <thetext>Created attachment 31251
patchy</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125725</commentid>
    <comment_count>7</comment_count>
      <attachid>31251</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-06-13 21:06:53 -0700</bug_when>
    <thetext>Comment on attachment 31251
patchy

&gt; +2009-06-13  Adam Barth  &lt;abarth@webkit.org&gt;
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        Moved registerURLSchemeAsLocal and registerURLSchemeAsNoAccess from
&gt; +        FrameLoader to SecurityOrigin.
&gt; +

nit: provide a bug reference.  same goes for the other ChangeLogs.

R=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125727</commentid>
    <comment_count>8</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-06-13 21:08:27 -0700</bug_when>
    <thetext>&gt; nit: provide a bug reference.  same goes for the other ChangeLogs.

Thanks.  I have trouble remembering to do that for some reason.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125730</commentid>
    <comment_count>9</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-06-13 21:37:37 -0700</bug_when>
    <thetext>Fixed in http://trac.webkit.org/changeset/44664.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>31251</attachid>
            <date>2009-06-13 21:02:17 -0700</date>
            <delta_ts>2009-06-13 21:06:53 -0700</delta_ts>
            <desc>patchy</desc>
            <filename>0001-Move-registerURLSchemeAsLocal.patch</filename>
            <type>text/plain</type>
            <size>16637</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">RnJvbSAyOTIxODgwZTI5MDk3NzM4NDhiZjVjNmIyYTIyYzE3NTQ3MTI2YmE4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBZGFtIEJhcnRoIDxhYmFydGhAYXJjdGljYS5sb2NhbD4KRGF0
ZTogU2F0LCAxMyBKdW4gMjAwOSAyMTowMDo1MCAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIE1vdmUg
cmVnaXN0ZXJVUkxTY2hlbWVBc0xvY2FsCgotLS0KIFdlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAg
ICAgICAgfCAgIDI0ICsrKysrKysrKysKIFdlYkNvcmUvV2ViQ29yZS5iYXNlLmV4cCAgICAgICAg
fCAgICAyICstCiBXZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgIHwgICA4OCArLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIFdlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVy
LmggICAgfCAgICA3IC0tLQogV2ViQ29yZS9wYWdlL1NlY3VyaXR5T3JpZ2luLmNwcCB8ICAgOTMg
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIFdlYkNvcmUvcGFnZS9TZWN1
cml0eU9yaWdpbi5oICAgfCAgICA3ICsrKwogV2ViS2l0L21hYy9DaGFuZ2VMb2cgICAgICAgICAg
ICB8ICAgIDkgKysrKwogV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gICB8ICAgIDMgKy0K
IFdlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwICAgICAgfCAgICAzICstCiBXZWJLaXQvcXQvQ2hh
bmdlTG9nICAgICAgICAgICAgIHwgICAgOSArKysrCiBXZWJLaXQvd2luL0NoYW5nZUxvZyAgICAg
ICAgICAgIHwgICAgOSArKysrCiBXZWJLaXQvd2luL1dlYlZpZXcuY3BwICAgICAgICAgIHwgICAg
MyArLQogMTIgZmlsZXMgY2hhbmdlZCwgMTU4IGluc2VydGlvbnMoKyksIDk5IGRlbGV0aW9ucygt
KQoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggZjFjODRkZi4uN2FmZmE3NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
V2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAwOS0wNi0xMyAgQWRhbSBCYXJ0
aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIE1vdmVkIHJlZ2lzdGVyVVJMU2NoZW1lQXNMb2NhbCBhbmQgcmVnaXN0
ZXJVUkxTY2hlbWVBc05vQWNjZXNzIGZyb20KKyAgICAgICAgRnJhbWVMb2FkZXIgdG8gU2VjdXJp
dHlPcmlnaW4uCisKKyAgICAgICAgKiBXZWJDb3JlLmJhc2UuZXhwOgorICAgICAgICAqIGxvYWRl
ci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6bG9hZEZy
YW1lUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6Y2FuTG9hZCk6Cisg
ICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmg6CisgICAgICAgICogcGFnZS9TZWN1cml0eU9y
aWdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpsb2NhbFNjaGVtZXMpOgorICAgICAgICAoV2Vi
Q29yZTo6bm9BY2Nlc3NTY2hlbWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2lu
OjpTZWN1cml0eU9yaWdpbik6CisgICAgICAgIChXZWJDb3JlOjpTZWN1cml0eU9yaWdpbjo6aXNM
b2NhbCk6CisgICAgICAgIChXZWJDb3JlOjpTZWN1cml0eU9yaWdpbjo6cmVnaXN0ZXJVUkxTY2hl
bWVBc0xvY2FsKToKKyAgICAgICAgKFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luOjpzaG91bGRUcmVh
dFVSTEFzTG9jYWwpOgorICAgICAgICAoV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW46OnNob3VsZFRy
ZWF0VVJMU2NoZW1lQXNMb2NhbCk6CisgICAgICAgIChXZWJDb3JlOjpTZWN1cml0eU9yaWdpbjo6
cmVnaXN0ZXJVUkxTY2hlbWVBc05vQWNjZXNzKToKKyAgICAgICAgKFdlYkNvcmU6OlNlY3VyaXR5
T3JpZ2luOjpzaG91bGRUcmVhdFVSTFNjaGVtZUFzTm9BY2Nlc3MpOgorICAgICAgICAqIHBhZ2Uv
U2VjdXJpdHlPcmlnaW4uaDoKKwogMjAwOS0wNi0xMyAgVmljdG9yIFdhbmcgPHZpY3RvcndAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLiAgTGFuZGVkIGJ5
IEFkYW0gQmFydGguCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUuYmFzZS5leHAgYi9XZWJD
b3JlL1dlYkNvcmUuYmFzZS5leHAKaW5kZXggMWNlNDc3ZS4uZTFiZDhkMiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9XZWJDb3JlLmJhc2UuZXhwCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5iYXNlLmV4cApA
QCAtMTcxLDcgKzE3MSw2IEBAIF9fWk43V2ViQ29yZTExRnJhbWVMb2FkZXIyMWxvYWRVUkxJbnRv
Q2hpbGRGcmFtZUVSS05TXzRLVVJMRVJLTlNfNlN0cmluZ0VQTlNfNUZyCiBfX1pON1dlYkNvcmUx
MUZyYW1lTG9hZGVyMjFzZXRDdXJyZW50SGlzdG9yeUl0ZW1FTjNXVEYxMFBhc3NSZWZQdHJJTlNf
MTFIaXN0b3J5SXRlbUVFRQogX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjIyZmluZEZyYW1lRm9y
TmF2aWdhdGlvbkVSS05TXzEyQXRvbWljU3RyaW5nRQogX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRl
cjIzdGltZU9mTGFzdENvbXBsZXRlZExvYWRFdgotX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjI0
cmVnaXN0ZXJVUkxTY2hlbWVBc0xvY2FsRVJLTlNfNlN0cmluZ0UKIF9fWk43V2ViQ29yZTExRnJh
bWVMb2FkZXIyNnJlbG9hZFdpdGhPdmVycmlkZUVuY29kaW5nRVJLTlNfNlN0cmluZ0UKIF9fWk43
V2ViQ29yZTExRnJhbWVMb2FkZXIyNnNhdmVEb2N1bWVudEFuZFNjcm9sbFN0YXRlRXYKIF9fWk43
V2ViQ29yZTExRnJhbWVMb2FkZXIzNnNhdmVTY3JvbGxQb3NpdGlvbkFuZFZpZXdTdGF0ZVRvSXRl
bUVQTlNfMTFIaXN0b3J5SXRlbUUKQEAgLTMwOCw2ICszMDcsNyBAQCBfX1pON1dlYkNvcmUxNFJl
c291cmNlSGFuZGxlMTJyZWxlYXNlUHJveHlFdgogX19aTjdXZWJDb3JlMTRSZXNvdXJjZUhhbmRs
ZTIwZm9yY2VDb250ZW50U25pZmZpbmdFdgogX19aTjdXZWJDb3JlMTRSZXNvdXJjZUxvYWRlcjE0
Y2FuY2VsbGVkRXJyb3JFdgogX19aTjdXZWJDb3JlMTRSZXNvdXJjZUxvYWRlcjE5c2V0U2hvdWxk
QnVmZmVyRGF0YUViCitfX1pON1dlYkNvcmUxNFNlY3VyaXR5T3JpZ2luMjRyZWdpc3RlclVSTFNj
aGVtZUFzTG9jYWxFUktOU182U3RyaW5nRQogX19aTjdXZWJDb3JlMTRTZWN1cml0eU9yaWdpbjZj
cmVhdGVFUktOU180S1VSTEUKIF9fWk43V2ViQ29yZTE1QXJjaGl2ZVJlc291cmNlNmNyZWF0ZUVO
M1dURjEwUGFzc1JlZlB0cklOU18xMlNoYXJlZEJ1ZmZlckVFRVJLTlNfNEtVUkxFUktOU182U3Ry
aW5nRVNBX1NBX1JLTlNfMTZSZXNvdXJjZVJlc3BvbnNlRQogX19aTjdXZWJDb3JlMTVCYWNrRm9y
d2FyZExpc3QxMHJlbW92ZUl0ZW1FUE5TXzExSGlzdG9yeUl0ZW1FCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5j
cHAKaW5kZXggN2E5ZWYzMi4uMmY2MDFkZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJh
bWVMb2FkZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtMTE1
LDM1ICsxMTUsNiBAQCB1c2luZyBuYW1lc3BhY2UgU1ZHTmFtZXM7CiAjZW5kaWYKIHVzaW5nIG5h
bWVzcGFjZSBIVE1MTmFtZXM7CiAKLXR5cGVkZWYgSGFzaFNldDxTdHJpbmcsIENhc2VGb2xkaW5n
SGFzaD4gVVJMU2NoZW1lc01hcDsKLQotc3RhdGljIFVSTFNjaGVtZXNNYXAmIGxvY2FsU2NoZW1l
cygpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChVUkxTY2hlbWVzTWFwLCBsb2NhbFNjaGVt
ZXMsICgpKTsKLQotICAgIGlmIChsb2NhbFNjaGVtZXMuaXNFbXB0eSgpKSB7Ci0gICAgICAgIGxv
Y2FsU2NoZW1lcy5hZGQoImZpbGUiKTsKLSNpZiBQTEFURk9STShNQUMpCi0gICAgICAgIGxvY2Fs
U2NoZW1lcy5hZGQoImFwcGxld2ViZGF0YSIpOwotI2VuZGlmCi0jaWYgUExBVEZPUk0oUVQpCi0g
ICAgICAgIGxvY2FsU2NoZW1lcy5hZGQoInFyYyIpOwotI2VuZGlmCi0gICAgfQotCi0gICAgcmV0
dXJuIGxvY2FsU2NoZW1lczsKLX0KLQotc3RhdGljIFVSTFNjaGVtZXNNYXAmIG5vQWNjZXNzU2No
ZW1lcygpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChVUkxTY2hlbWVzTWFwLCBub0FjY2Vz
c1NjaGVtZXMsICgpKTsKLQotICAgIGlmIChub0FjY2Vzc1NjaGVtZXMuaXNFbXB0eSgpKQotICAg
ICAgICBub0FjY2Vzc1NjaGVtZXMuYWRkKCJkYXRhIik7Ci0KLSAgICByZXR1cm4gbm9BY2Nlc3NT
Y2hlbWVzOwotfQotCiBzdHJ1Y3QgU2NoZWR1bGVkUmVkaXJlY3Rpb24gewogICAgIGVudW0gVHlw
ZSB7IHJlZGlyZWN0aW9uLCBsb2NhdGlvbkNoYW5nZSwgaGlzdG9yeU5hdmlnYXRpb24sIGZvcm1T
dWJtaXNzaW9uIH07CiAKQEAgLTIxOTYsNyArMjE2Nyw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6Omxv
YWRGcmFtZVJlcXVlc3QoY29uc3QgRnJhbWVMb2FkUmVxdWVzdCYgcmVxdWVzdCwgYm9vbCBsb2Nr
SGlzCiAgICAgICAgIHJlZmVycmVyID0gbV9vdXRnb2luZ1JlZmVycmVyOwogCiAgICAgQVNTRVJU
KGZyYW1lKCktPmRvY3VtZW50KCkpOwotICAgIGlmIChzaG91bGRUcmVhdFVSTEFzTG9jYWwodXJs
LnN0cmluZygpKSAmJiAhaXNGZWVkV2l0aE5lc3RlZFByb3RvY29sSW5IVFRQRmFtaWx5KHVybCkp
IHsKKyAgICBpZiAoU2VjdXJpdHlPcmlnaW46OnNob3VsZFRyZWF0VVJMQXNMb2NhbCh1cmwuc3Ry
aW5nKCkpICYmICFpc0ZlZWRXaXRoTmVzdGVkUHJvdG9jb2xJbkhUVFBGYW1pbHkodXJsKSkgewog
ICAgICAgICBpZiAoIWNhbkxvYWQodXJsLCBTdHJpbmcoKSwgZnJhbWUoKS0+ZG9jdW1lbnQoKSkg
JiYgIWNhbkxvYWQodXJsLCByZWZlcnJlcikpIHsKICAgICAgICAgICAgIEZyYW1lTG9hZGVyOjpy
ZXBvcnRMb2NhbExvYWRGYWlsZWQobV9mcmFtZSwgdXJsLnN0cmluZygpKTsKICAgICAgICAgICAg
IHJldHVybjsKQEAgLTI0MTEsNyArMjM4Miw3IEBAIGJvb2wgRnJhbWVMb2FkZXI6OmNhbkxvYWQo
Y29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHJlZmVycmVyLCBjb25zdCBEb2N1bWVuCiBi
b29sIEZyYW1lTG9hZGVyOjpjYW5Mb2FkKGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBy
ZWZlcnJlciwgY29uc3QgU2VjdXJpdHlPcmlnaW4qIHNlY3VyaXR5T3JpZ2luKQogewogICAgIC8v
IFdlIGNhbiBhbHdheXMgbG9hZCBhbnkgVVJMIHRoYXQgaXNuJ3QgY29uc2lkZXJlZCBsb2NhbCAo
ZS5nLiBodHRwIFVSTHMpLgotICAgIGlmICghc2hvdWxkVHJlYXRVUkxBc0xvY2FsKHVybC5zdHJp
bmcoKSkpCisgICAgaWYgKCFTZWN1cml0eU9yaWdpbjo6c2hvdWxkVHJlYXRVUkxBc0xvY2FsKHVy
bC5zdHJpbmcoKSkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgLy8gSWYgd2Ugd2VyZSBw
cm92aWRlZCBhIGRvY3VtZW50LCB3ZSBsZXQgaXRzIGxvY2FsIGZpbGUgcG9saWN5IGRpY3RhdGUg
dGhlIHJlc3VsdCwKQEAgLTI0MTksNyArMjM5MCw3IEBAIGJvb2wgRnJhbWVMb2FkZXI6OmNhbkxv
YWQoY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHJlZmVycmVyLCBjb25zdCBTZWN1cml0
CiAgICAgaWYgKHNlY3VyaXR5T3JpZ2luKQogICAgICAgICByZXR1cm4gc2VjdXJpdHlPcmlnaW4t
PmNhbkxvYWRMb2NhbFJlc291cmNlcygpOwogICAgIGlmICghcmVmZXJyZXIuaXNFbXB0eSgpKQot
ICAgICAgICByZXR1cm4gc2hvdWxkVHJlYXRVUkxBc0xvY2FsKHJlZmVycmVyKTsKKyAgICAgICAg
cmV0dXJuIFNlY3VyaXR5T3JpZ2luOjpzaG91bGRUcmVhdFVSTEFzTG9jYWwocmVmZXJyZXIpOwog
ICAgIHJldHVybiBmYWxzZTsKIH0KIApAQCAtNTE0MCw1OSArNTExMSw2IEBAIHZvaWQgRnJhbWVM
b2FkZXI6OmRpZENoYW5nZVRpdGxlKERvY3VtZW50TG9hZGVyKiBsb2FkZXIpCiAgICAgfQogfQog
Ci12b2lkIEZyYW1lTG9hZGVyOjpyZWdpc3RlclVSTFNjaGVtZUFzTG9jYWwoY29uc3QgU3RyaW5n
JiBzY2hlbWUpCi17Ci0gICAgbG9jYWxTY2hlbWVzKCkuYWRkKHNjaGVtZSk7Ci19Ci0KLWJvb2wg
RnJhbWVMb2FkZXI6OnNob3VsZFRyZWF0VVJMQXNMb2NhbChjb25zdCBTdHJpbmcmIHVybCkKLXsK
LSAgICAvLyBUaGlzIGF2b2lkcyBhbiBhbGxvY2F0aW9uIG9mIGFub3RoZXIgU3RyaW5nIGFuZCB0
aGUgSGFzaFNldCBjb250YWlucygpCi0gICAgLy8gY2FsbCBmb3IgdGhlIGZpbGU6IGFuZCBodHRw
OiBzY2hlbWVzLgotICAgIGlmICh1cmwubGVuZ3RoKCkgPj0gNSkgewotICAgICAgICBjb25zdCBV
Q2hhciogcyA9IHVybC5jaGFyYWN0ZXJzKCk7Ci0gICAgICAgIGlmIChzWzBdID09ICdoJyAmJiBz
WzFdID09ICd0JyAmJiBzWzJdID09ICd0JyAmJiBzWzNdID09ICdwJyAmJiBzWzRdID09ICc6JykK
LSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgaWYgKHNbMF0gPT0gJ2YnICYmIHNb
MV0gPT0gJ2knICYmIHNbMl0gPT0gJ2wnICYmIHNbM10gPT0gJ2UnICYmIHNbNF0gPT0gJzonKQot
ICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotCi0gICAgaW50IGxvYyA9IHVybC5maW5k
KCc6Jyk7Ci0gICAgaWYgKGxvYyA9PSAtMSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAg
U3RyaW5nIHNjaGVtZSA9IHVybC5sZWZ0KGxvYyk7Ci0gICAgcmV0dXJuIGxvY2FsU2NoZW1lcygp
LmNvbnRhaW5zKHNjaGVtZSk7Ci19Ci0KLWJvb2wgRnJhbWVMb2FkZXI6OnNob3VsZFRyZWF0VVJM
U2NoZW1lQXNMb2NhbChjb25zdCBTdHJpbmcmIHNjaGVtZSkKLXsKLSAgICAvLyBUaGlzIGF2b2lk
cyBhbiBhbGxvY2F0aW9uIG9mIGFub3RoZXIgU3RyaW5nIGFuZCB0aGUgSGFzaFNldCBjb250YWlu
cygpCi0gICAgLy8gY2FsbCBmb3IgdGhlIGZpbGU6IGFuZCBodHRwOiBzY2hlbWVzLgotICAgIGlm
IChzY2hlbWUubGVuZ3RoKCkgPT0gNCkgewotICAgICAgICBjb25zdCBVQ2hhciogcyA9IHNjaGVt
ZS5jaGFyYWN0ZXJzKCk7Ci0gICAgICAgIGlmIChzWzBdID09ICdoJyAmJiBzWzFdID09ICd0JyAm
JiBzWzJdID09ICd0JyAmJiBzWzNdID09ICdwJykKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
LSAgICAgICAgaWYgKHNbMF0gPT0gJ2YnICYmIHNbMV0gPT0gJ2knICYmIHNbMl0gPT0gJ2wnICYm
IHNbM10gPT0gJ2UnKQotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotCi0gICAgaWYg
KHNjaGVtZS5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHJldHVybiBs
b2NhbFNjaGVtZXMoKS5jb250YWlucyhzY2hlbWUpOwotfQotCi12b2lkIEZyYW1lTG9hZGVyOjpy
ZWdpc3RlclVSTFNjaGVtZUFzTm9BY2Nlc3MoY29uc3QgU3RyaW5nJiBzY2hlbWUpCi17Ci0gICAg
bm9BY2Nlc3NTY2hlbWVzKCkuYWRkKHNjaGVtZSk7Ci19Ci0KLWJvb2wgRnJhbWVMb2FkZXI6OnNo
b3VsZFRyZWF0VVJMU2NoZW1lQXNOb0FjY2Vzcyhjb25zdCBTdHJpbmcmIHNjaGVtZSkKLXsKLSAg
ICByZXR1cm4gbm9BY2Nlc3NTY2hlbWVzKCkuY29udGFpbnMoc2NoZW1lKTsKLX0KLQogdm9pZCBG
cmFtZUxvYWRlcjo6ZGlzcGF0Y2hEaWRDb21taXRMb2FkKCkKIHsKICAgICBpZiAobV9jcmVhdGlu
Z0luaXRpYWxFbXB0eURvY3VtZW50KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVM
b2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKaW5kZXggYTBjMWMyOS4uZDk2
MzI5ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAorKysgYi9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCkBAIC0zNjUsMTMgKzM2NSw2IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgc3RhdGljIGJvb2wgcmVzdHJpY3RBY2Nlc3NUb0xvY2FsKCk7CiAg
ICAgICAgIHN0YXRpYyBib29sIGFsbG93U3Vic3RpdHV0ZURhdGFBY2Nlc3NUb0xvY2FsKCk7CiAK
LSAgICAgICAgc3RhdGljIHZvaWQgcmVnaXN0ZXJVUkxTY2hlbWVBc0xvY2FsKGNvbnN0IFN0cmlu
ZyYpOwotICAgICAgICBzdGF0aWMgYm9vbCBzaG91bGRUcmVhdFVSTEFzTG9jYWwoY29uc3QgU3Ry
aW5nJik7Ci0gICAgICAgIHN0YXRpYyBib29sIHNob3VsZFRyZWF0VVJMU2NoZW1lQXNMb2NhbChj
b25zdCBTdHJpbmcmKTsKLQotICAgICAgICBzdGF0aWMgdm9pZCByZWdpc3RlclVSTFNjaGVtZUFz
Tm9BY2Nlc3MoY29uc3QgU3RyaW5nJik7Ci0gICAgICAgIHN0YXRpYyBib29sIHNob3VsZFRyZWF0
VVJMU2NoZW1lQXNOb0FjY2Vzcyhjb25zdCBTdHJpbmcmKTsKLQogICAgICAgICBib29sIGNvbW1p
dHRpbmdGaXJzdFJlYWxMb2FkKCkgY29uc3QgeyByZXR1cm4gIW1fY3JlYXRpbmdJbml0aWFsRW1w
dHlEb2N1bWVudCAmJiAhbV9jb21taXR0ZWRGaXJzdFJlYWxEb2N1bWVudExvYWQ7IH0KIAogICAg
ICAgICB2b2lkIGljb25Mb2FkRGVjaXNpb25BdmFpbGFibGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGFnZS9TZWN1cml0eU9yaWdpbi5jcHAgYi9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlPcmlnaW4u
Y3BwCmluZGV4IDE4N2VjMzEuLjA0NTZkNTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9TZWN1
cml0eU9yaWdpbi5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL1NlY3VyaXR5T3JpZ2luLmNwcApAQCAt
MzAsMTMgKzMwLDQyIEBACiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKIAogI2luY2x1ZGUg
IkNTdHJpbmcuaCIKLSNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgogI2luY2x1ZGUgIktVUkwuaCIK
ICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAj
aW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3R5
cGVkZWYgSGFzaFNldDxTdHJpbmcsIENhc2VGb2xkaW5nSGFzaD4gVVJMU2NoZW1lc01hcDsKKwor
c3RhdGljIFVSTFNjaGVtZXNNYXAmIGxvY2FsU2NoZW1lcygpCit7CisgICAgREVGSU5FX1NUQVRJ
Q19MT0NBTChVUkxTY2hlbWVzTWFwLCBsb2NhbFNjaGVtZXMsICgpKTsKKworICAgIGlmIChsb2Nh
bFNjaGVtZXMuaXNFbXB0eSgpKSB7CisgICAgICAgIGxvY2FsU2NoZW1lcy5hZGQoImZpbGUiKTsK
KyNpZiBQTEFURk9STShNQUMpCisgICAgICAgIGxvY2FsU2NoZW1lcy5hZGQoImFwcGxld2ViZGF0
YSIpOworI2VuZGlmCisjaWYgUExBVEZPUk0oUVQpCisgICAgICAgIGxvY2FsU2NoZW1lcy5hZGQo
InFyYyIpOworI2VuZGlmCisgICAgfQorCisgICAgcmV0dXJuIGxvY2FsU2NoZW1lczsKK30KKwor
c3RhdGljIFVSTFNjaGVtZXNNYXAmIG5vQWNjZXNzU2NoZW1lcygpCit7CisgICAgREVGSU5FX1NU
QVRJQ19MT0NBTChVUkxTY2hlbWVzTWFwLCBub0FjY2Vzc1NjaGVtZXMsICgpKTsKKworICAgIGlm
IChub0FjY2Vzc1NjaGVtZXMuaXNFbXB0eSgpKQorICAgICAgICBub0FjY2Vzc1NjaGVtZXMuYWRk
KCJkYXRhIik7CisKKyAgICByZXR1cm4gbm9BY2Nlc3NTY2hlbWVzOworfQorCiBzdGF0aWMgYm9v
bCBpc0RlZmF1bHRQb3J0Rm9yUHJvdG9jb2wodW5zaWduZWQgc2hvcnQgcG9ydCwgY29uc3QgU3Ry
aW5nJiBwcm90b2NvbCkKIHsKICAgICBpZiAocHJvdG9jb2wuaXNFbXB0eSgpKQpAQCAtNjYsNyAr
OTUsNyBAQCBTZWN1cml0eU9yaWdpbjo6U2VjdXJpdHlPcmlnaW4oY29uc3QgS1VSTCYgdXJsKQog
ICAgICAgICBtX3Byb3RvY29sID0gIiI7CiAKICAgICAvLyBTb21lIFVSTHMgYXJlIG5vdCBhbGxv
d2VkIGFjY2VzcyB0byBhbnl0aGluZyBvdGhlciB0aGFuIHRoZW1zZWx2ZXMuCi0gICAgaWYgKEZy
YW1lTG9hZGVyOjpzaG91bGRUcmVhdFVSTFNjaGVtZUFzTm9BY2Nlc3MobV9wcm90b2NvbCkpCisg
ICAgaWYgKHNob3VsZFRyZWF0VVJMU2NoZW1lQXNOb0FjY2VzcyhtX3Byb3RvY29sKSkKICAgICAg
ICAgbV9ub0FjY2VzcyA9IHRydWU7CiAKICAgICAvLyBkb2N1bWVudC5kb21haW4gc3RhcnRzIGFz
IG1faG9zdCwgYnV0IGNhbiBiZSBzZXQgYnkgdGhlIERPTS4KQEAgLTE5Myw3ICsyMjIsNyBAQCB2
b2lkIFNlY3VyaXR5T3JpZ2luOjpncmFudFVuaXZlcnNhbEFjY2VzcygpCiAKIGJvb2wgU2VjdXJp
dHlPcmlnaW46OmlzTG9jYWwoKSBjb25zdAogewotICAgIHJldHVybiBGcmFtZUxvYWRlcjo6c2hv
dWxkVHJlYXRVUkxTY2hlbWVBc0xvY2FsKG1fcHJvdG9jb2wpOworICAgIHJldHVybiBzaG91bGRU
cmVhdFVSTFNjaGVtZUFzTG9jYWwobV9wcm90b2NvbCk7CiB9CiAKIGJvb2wgU2VjdXJpdHlPcmln
aW46OmlzU2VjdXJlVHJhbnNpdGlvblRvKGNvbnN0IEtVUkwmIHVybCkgY29uc3QKQEAgLTMwNyw0
ICszMzYsNjIgQEAgYm9vbCBTZWN1cml0eU9yaWdpbjo6aXNTYW1lU2NoZW1lSG9zdFBvcnQoY29u
c3QgU2VjdXJpdHlPcmlnaW4qIG90aGVyKSBjb25zdAogICAgIHJldHVybiB0cnVlOwogfQogCisv
LyBzdGF0aWMKK3ZvaWQgU2VjdXJpdHlPcmlnaW46OnJlZ2lzdGVyVVJMU2NoZW1lQXNMb2NhbChj
b25zdCBTdHJpbmcmIHNjaGVtZSkKK3sKKyAgICBsb2NhbFNjaGVtZXMoKS5hZGQoc2NoZW1lKTsK
K30KKworLy8gc3RhdGljCitib29sIFNlY3VyaXR5T3JpZ2luOjpzaG91bGRUcmVhdFVSTEFzTG9j
YWwoY29uc3QgU3RyaW5nJiB1cmwpCit7CisgICAgLy8gVGhpcyBhdm9pZHMgYW4gYWxsb2NhdGlv
biBvZiBhbm90aGVyIFN0cmluZyBhbmQgdGhlIEhhc2hTZXQgY29udGFpbnMoKQorICAgIC8vIGNh
bGwgZm9yIHRoZSBmaWxlOiBhbmQgaHR0cDogc2NoZW1lcy4KKyAgICBpZiAodXJsLmxlbmd0aCgp
ID49IDUpIHsKKyAgICAgICAgY29uc3QgVUNoYXIqIHMgPSB1cmwuY2hhcmFjdGVycygpOworICAg
ICAgICBpZiAoc1swXSA9PSAnaCcgJiYgc1sxXSA9PSAndCcgJiYgc1syXSA9PSAndCcgJiYgc1sz
XSA9PSAncCcgJiYgc1s0XSA9PSAnOicpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
ICAgIGlmIChzWzBdID09ICdmJyAmJiBzWzFdID09ICdpJyAmJiBzWzJdID09ICdsJyAmJiBzWzNd
ID09ICdlJyAmJiBzWzRdID09ICc6JykKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0K
KworICAgIGludCBsb2MgPSB1cmwuZmluZCgnOicpOworICAgIGlmIChsb2MgPT0gLTEpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgIFN0cmluZyBzY2hlbWUgPSB1cmwubGVmdChsb2MpOwor
ICAgIHJldHVybiBsb2NhbFNjaGVtZXMoKS5jb250YWlucyhzY2hlbWUpOworfQorCisvLyBzdGF0
aWMKK2Jvb2wgU2VjdXJpdHlPcmlnaW46OnNob3VsZFRyZWF0VVJMU2NoZW1lQXNMb2NhbChjb25z
dCBTdHJpbmcmIHNjaGVtZSkKK3sKKyAgICAvLyBUaGlzIGF2b2lkcyBhbiBhbGxvY2F0aW9uIG9m
IGFub3RoZXIgU3RyaW5nIGFuZCB0aGUgSGFzaFNldCBjb250YWlucygpCisgICAgLy8gY2FsbCBm
b3IgdGhlIGZpbGU6IGFuZCBodHRwOiBzY2hlbWVzLgorICAgIGlmIChzY2hlbWUubGVuZ3RoKCkg
PT0gNCkgeworICAgICAgICBjb25zdCBVQ2hhciogcyA9IHNjaGVtZS5jaGFyYWN0ZXJzKCk7Cisg
ICAgICAgIGlmIChzWzBdID09ICdoJyAmJiBzWzFdID09ICd0JyAmJiBzWzJdID09ICd0JyAmJiBz
WzNdID09ICdwJykKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgaWYgKHNbMF0g
PT0gJ2YnICYmIHNbMV0gPT0gJ2knICYmIHNbMl0gPT0gJ2wnICYmIHNbM10gPT0gJ2UnKQorICAg
ICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgaWYgKHNjaGVtZS5pc0VtcHR5KCkp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiBsb2NhbFNjaGVtZXMoKS5jb250
YWlucyhzY2hlbWUpOworfQorCisvLyBzdGF0aWMKK3ZvaWQgU2VjdXJpdHlPcmlnaW46OnJlZ2lz
dGVyVVJMU2NoZW1lQXNOb0FjY2Vzcyhjb25zdCBTdHJpbmcmIHNjaGVtZSkKK3sKKyAgICBub0Fj
Y2Vzc1NjaGVtZXMoKS5hZGQoc2NoZW1lKTsKK30KKworLy8gc3RhdGljCitib29sIFNlY3VyaXR5
T3JpZ2luOjpzaG91bGRUcmVhdFVSTFNjaGVtZUFzTm9BY2Nlc3MoY29uc3QgU3RyaW5nJiBzY2hl
bWUpCit7CisgICAgcmV0dXJuIG5vQWNjZXNzU2NoZW1lcygpLmNvbnRhaW5zKHNjaGVtZSk7Cit9
CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9TZWN1
cml0eU9yaWdpbi5oIGIvV2ViQ29yZS9wYWdlL1NlY3VyaXR5T3JpZ2luLmgKaW5kZXggOTZmODVk
Zi4uYWI5MjY4MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1NlY3VyaXR5T3JpZ2luLmgKKysr
IGIvV2ViQ29yZS9wYWdlL1NlY3VyaXR5T3JpZ2luLmgKQEAgLTEyOCw2ICsxMjgsMTMgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAvLyAoYW5kIHdoZXRoZXIgaXQgd2FzIHNldCkgYnV0
IGNvbnNpZGVyaW5nIHRoZSBob3N0LiBJdCBpcyB1c2VkIGZvciBwb3N0TWVzc2FnZS4KICAgICAg
ICAgYm9vbCBpc1NhbWVTY2hlbWVIb3N0UG9ydChjb25zdCBTZWN1cml0eU9yaWdpbiopIGNvbnN0
OwogCisgICAgICAgIHN0YXRpYyB2b2lkIHJlZ2lzdGVyVVJMU2NoZW1lQXNMb2NhbChjb25zdCBT
dHJpbmcmKTsKKyAgICAgICAgc3RhdGljIGJvb2wgc2hvdWxkVHJlYXRVUkxBc0xvY2FsKGNvbnN0
IFN0cmluZyYpOworICAgICAgICBzdGF0aWMgYm9vbCBzaG91bGRUcmVhdFVSTFNjaGVtZUFzTG9j
YWwoY29uc3QgU3RyaW5nJik7CisKKyAgICAgICAgc3RhdGljIHZvaWQgcmVnaXN0ZXJVUkxTY2hl
bWVBc05vQWNjZXNzKGNvbnN0IFN0cmluZyYpOworICAgICAgICBzdGF0aWMgYm9vbCBzaG91bGRU
cmVhdFVSTFNjaGVtZUFzTm9BY2Nlc3MoY29uc3QgU3RyaW5nJik7CisKICAgICBwcml2YXRlOgog
ICAgICAgICBleHBsaWNpdCBTZWN1cml0eU9yaWdpbihjb25zdCBLVVJMJik7CiAgICAgICAgIGV4
cGxpY2l0IFNlY3VyaXR5T3JpZ2luKGNvbnN0IFNlY3VyaXR5T3JpZ2luKik7CmRpZmYgLS1naXQg
YS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDAzNjM0
YTAuLjczMjY4NWMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1dlYktp
dC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMDktMDYtMTMgIEFkYW0gQmFydGgg
IDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBNb3ZlIHJlZ2lzdGVyVVJMU2NoZW1lQXNMb2NhbCBmcm9tIEZyYW1lTG9h
ZGVyIHRvIFNlY3VyaXR5T3JpZ2luCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06Cisg
ICAgICAgICgrW1dlYlZpZXcgcmVnaXN0ZXJVUkxTY2hlbWVBc0xvY2FsOl0pOgorCiAyMDA5LTA2
LTEyICBQZXRlciBLYXN0aW5nICA8cGthc3RpbmdAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBFcmljIFNlaWRlbC4KZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvV2ViVmlldy9XZWJW
aWV3Lm1tIGIvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggMjIxOWU5Ny4uOTc4
YjRlNyAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTEyNiw2ICsxMjYsNyBAQAogI2ltcG9ydCA8
V2ViQ29yZS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaD4KICNpbXBvcnQgPFdlYkNvcmUvU2Ny
aXB0Q29udHJvbGxlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9TY3JpcHRWYWx1ZS5oPgorI2ltcG9y
dCA8V2ViQ29yZS9TZWN1cml0eU9yaWdpbi5oPgogI2ltcG9ydCA8V2ViQ29yZS9TZWxlY3Rpb25D
b250cm9sbGVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1NldHRpbmdzLmg+CiAjaW1wb3J0IDxXZWJD
b3JlL1RleHRSZXNvdXJjZURlY29kZXIuaD4KQEAgLTIyODUsNyArMjI4Niw3IEBAIHN0YXRpYyBp
bmxpbmUgSU1QIGdldE1ldGhvZChpZCBvLCBTRUwgcykKIAogKyAodm9pZClyZWdpc3RlclVSTFNj
aGVtZUFzTG9jYWw6KE5TU3RyaW5nICopcHJvdG9jb2wKIHsKLSAgICBGcmFtZUxvYWRlcjo6cmVn
aXN0ZXJVUkxTY2hlbWVBc0xvY2FsKHByb3RvY29sKTsKKyAgICBTZWN1cml0eU9yaWdpbjo6cmVn
aXN0ZXJVUkxTY2hlbWVBc0xvY2FsKHByb3RvY29sKTsKIH0KIAogLSAoaWQpX2luaXRXaXRoQXJn
dW1lbnRzOihOU0RpY3Rpb25hcnkgKikgYXJndW1lbnRzCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQv
QXBpL3F3ZWJwYWdlLmNwcCBiL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCmluZGV4IGUxMjgz
MDEuLjYwMGY1YTIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCisrKyBi
L1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCkBAIC00Myw2ICs0Myw3IEBACiAjaW5jbHVkZSAi
RHJhZ0NvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJEcmFnRGF0YS5oIgogI2luY2x1ZGUgIkVkaXRv
ckNsaWVudFF0LmgiCisjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJTZXR0
aW5ncy5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYXN0ZWJvYXJkLmgiCkBAIC0x
NjY1LDcgKzE2NjYsNyBAQCBib29sIFFXZWJQYWdlOjphY2NlcHROYXZpZ2F0aW9uUmVxdWVzdChR
V2ViRnJhbWUgKmZyYW1lLCBjb25zdCBRV2ViTmV0d29ya1JlcXVlcwogICAgICAgICAgICAgICAg
IHJldHVybiB0cnVlOwogCiAgICAgICAgICAgICBjYXNlIERlbGVnYXRlRXh0ZXJuYWxMaW5rczoK
LSAgICAgICAgICAgICAgICBpZiAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnNob3VsZFRyZWF0VVJM
U2NoZW1lQXNMb2NhbChyZXF1ZXN0LnVybCgpLnNjaGVtZSgpKSkKKyAgICAgICAgICAgICAgICBp
ZiAoV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW46OnNob3VsZFRyZWF0VVJMU2NoZW1lQXNMb2NhbChy
ZXF1ZXN0LnVybCgpLnNjaGVtZSgpKSkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgICAgICAgICAgICAgZW1pdCBsaW5rQ2xpY2tlZChyZXF1ZXN0LnVybCgpKTsKICAgICAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQ2hhbmdlTG9n
IGIvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCAwOGRjZWZlLi4xMGMxMjMzIDEwMDY0NAotLS0g
YS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxMiBAQAorMjAwOS0wNi0xMyAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUgcmVnaXN0
ZXJVUkxTY2hlbWVBc0xvY2FsIGZyb20gRnJhbWVMb2FkZXIgdG8gU2VjdXJpdHlPcmlnaW4uCisK
KyAgICAgICAgKiBBcGkvcXdlYnBhZ2UuY3BwOgorICAgICAgICAoUVdlYlBhZ2U6OmFjY2VwdE5h
dmlnYXRpb25SZXF1ZXN0KToKKwogMjAwOS0wNi0xMCAgQW50b25pbyBHb21lcyAgIDxhbnRvbmlv
LmdvbWVzQG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQXJpeWEgSGlkYXlh
dC4KZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvV2ViS2l0L3dpbi9DaGFuZ2VM
b2cKaW5kZXggYWJiZDJkYi4uNTEyNmIwZCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAwOS0wNi0x
MyAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUgcmVnaXN0ZXJVUkxTY2hlbWVBc0xvY2Fs
IGZyb20gRnJhbWVMb2FkZXIgdG8gU2VjdXJpdHlPcmlnaW4uCisKKyAgICAgICAgKiBXZWJWaWV3
LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6OnJlZ2lzdGVyVVJMU2NoZW1lQXNMb2NhbCk6CisKIDIw
MDktMDYtMTIgIFBldGVyIEthc3RpbmcgIDxwa2FzdGluZ0Bnb29nbGUuY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJWaWV3
LmNwcCBiL1dlYktpdC93aW4vV2ViVmlldy5jcHAKaW5kZXggMDI5NmQ0NS4uYmVkODc2ZCAxMDA2
NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAorKysgYi9XZWJLaXQvd2luL1dlYlZpZXcu
Y3BwCkBAIC05Niw2ICs5Niw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUhhbmRsZUNs
aWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2NyaXB0VmFsdWUuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL1Njcm9sbGJhclRoZW1lLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9TZWN1cml0eU9yaWdpbi5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvU2VsZWN0aW9uQ29udHJvbGxlci5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvU2V0dGluZ3MuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NpbXBsZUZvbnREYXRhLmg+CkBA
IC0zMjE4LDcgKzMyMTksNyBAQCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdlYlZpZXc6OnJl
Z2lzdGVyVVJMU2NoZW1lQXNMb2NhbCgKICAgICBpZiAoIXNjaGVtZSkKICAgICAgICAgcmV0dXJu
IEVfUE9JTlRFUjsKIAotICAgIEZyYW1lTG9hZGVyOjpyZWdpc3RlclVSTFNjaGVtZUFzTG9jYWwo
U3RyaW5nKHNjaGVtZSwgOjpTeXNTdHJpbmdMZW4oc2NoZW1lKSkpOworICAgIFNlY3VyaXR5T3Jp
Z2luOjpyZWdpc3RlclVSTFNjaGVtZUFzTG9jYWwoU3RyaW5nKHNjaGVtZSwgOjpTeXNTdHJpbmdM
ZW4oc2NoZW1lKSkpOwogCiAgICAgcmV0dXJuIFNfT0s7CiB9Ci0tIAoxLjYuMC4xCgo=
</data>
<flag name="review"
          id="15950"
          type_id="1"
          status="+"
          setter="fishd"
    />
          </attachment>
      

    </bug>

</bugzilla>