Extension talk:Cite/Flow archive/2013
This page used the LiquidThreads extension to give structured discussions. It has since been converted to wikitext, so the content and history here are only an approximation of what was actually displayed at the time these comments were made. |
Mimic Wikipedia's Cite
Is there a process so that I could mimic Wikipedia's Cite extension?
I downloaded and installed the Cite extension, to test it I copied a page from Wikipedia onto my wiki. I ended up getting errors about nonexistant Cite groups and missing Templates. I began to copy Cite Templates from Wikipedia to my wiki and now I get a Fatal Error timeout. 65.107.35.229 19:07, 7 January 2013 (UTC)
- different wikis (such as enwiki) wrap the references with templates. if you want to use this extension in the simplest way, do not use any templates, but rather use the tags: the cites themselves appear on the page between tags <ref> and </ref>, and then, somewhere on the page (customarily at the end), you also need a <references /> tag (i.e., a self-closing "references" tag).
- once you get this to work, you can start to play with more advanced features, and specifically with the "name" and "group" attributes.
- peace קיפודנחש (talk) 22:34, 7 January 2013 (UTC)
- Thank you for your response. I have the Cite extension working, but when I try to mimic Wikipedia I begin to get problems. 65.107.35.229 16:46, 8 January 2013 (UTC)
- you can move (i.e., copy) templates from enwiki to your site, but you want to pay attention to some things:
- there are other extensions installed in enwiki. specifically, Extension:ParserFunctions, which some templates depend on.
- enwiki templating is pretty complex, and many templates use other templates. if you want to pull a template from enwiki, you need to pull (recursively) all the tempalates that this template uses.
- peace. קיפודנחש (talk) 19:43, 8 January 2013 (UTC)
- Ah I see. One of the big problems was that I did not have ParserFunctions enabled. Are there other big extensions that I would need?
- I am still receiving the error where Cite cannot find the name/group, but when I check the backend they are present. 65.107.35.229 19:01, 9 January 2013 (UTC)
- it's really hard to guess like this. i think parserfunction is the main one. if your wiki is public, maybe post the url here, including the name of the article where the problem can be seen. otherwise, i'm afraid i do not know what might be the problem...
- peace. קיפודנחש (talk) 23:42, 10 January 2013 (UTC)
- http://stabilizationwedges.kenhiltner.com/Wind_Power
- Any help is appreciated. Thank you very much for sticking with me so far. 65.107.35.229 18:27, 14 January 2013 (UTC)
- pretty impressive. what is the license on your site? is it CC-BY-SA?
- as to the "cite" issues: on which article do you see these issues?
- peace. קיפודנחש (talk) 18:40, 14 January 2013 (UTC)
- They are no longer showing up since I added one of the Templates. So, I think that is the only problem I now have. Is there a way to bulk download/upload Templates? 65.107.35.229 19:01, 15 January 2013 (UTC)
- i am not sure what is meant by "bulk", but you might want to look at "import/export" (from "special pages" in toolbox - you can also type "Special:Import" and "Special:Export" in searchbox). i believe everyone can "export", but importing requires special permission.
- peace. קיפודנחש (talk) 20:18, 16 January 2013 (UTC)
- Hm.. everything seems to be working now. Except for the table at the very bottom of the page.
- Any clues on how to fix that?
- Thank you for all your help you have given me :) 65.107.35.229 20:39, 1 February 2013 (UTC)
- i do not understand what you mean by "table". it is possible you are talking about difference in display between a single-column list and multiple-columns list for the references themselves.
- if this is what you mean, please note that it's browser-dependent: not all browsers support displaying multi-column-lists: most notably, IE doesn't.
- for (almost) all other browsers, this is accomplished in enwiki through use of template "reflist" instead of straight </references> tag. enwiki templates tend to be complicated, but yo might want to take a look at en:Template:reflist.
- peace. קיפודנחש (talk) 20:05, 4 February 2013 (UTC)
- Sorry for not replying sooner! I've been working on a couple different projects and just came back to this one.
- So, by tables I mean the section in External Links that has columns for Wind Power.
- http://stabilizationwedges.kenhiltner.com/Wind_Power at the bottom right before the Categories section. 65.107.35.229 18:43, 4 March 2013 (UTC)
- They are no longer showing up since I added one of the Templates. So, I think that is the only problem I now have. Is there a way to bulk download/upload Templates? 65.107.35.229 19:01, 15 January 2013 (UTC)
- you can move (i.e., copy) templates from enwiki to your site, but you want to pay attention to some things:
- Thank you for your response. I have the Cite extension working, but when I try to mimic Wikipedia I begin to get problems. 65.107.35.229 16:46, 8 January 2013 (UTC)
memcache + cite does not work?
Hello,
i updated today my wiki+cite to the newest versions.
If CACHE_MEMCACHED is activated cite doesnt parse the </ref> and
tags.
If CACHE_ACCEL is activated everything works fine.
I restarted memcached / flushed memcached / ?action=purge everything does not work. Why is cite and memcached not working together?
Thanks! 89.14.222.166 02:54, 10 January 2013 (UTC)
page-argument in ref-tag
Are there any developments regarding the "References to different pages of same source" -problem as described in Extension:Cite/Cite.php#Criticisms except the "additional template"-solution? More specifically, any plans or efforts made to have page-argument in ref-tag? Or estimates how hard it would be to implement it so that following would be the outcome:
Page text like Argument A.<ref name="xyz" page="42-43" /> Argument B. <ref name="xyz" page="5" /> and references-tag like <references> <ref name="xyz">Details of source.</ref> </references> would produce <backlink to first citation with text like: page 42-43>, <backlink to second citation with text like: page 5> Details of source. into references-list.</pre> Or additional note-argument which would simply add possibility to give some notes in every citation. [[User:Usp|Usp]] ([[User talk:Usp|talk]]) 12:32, 16 January 2013 (UTC) == Rename the extension == Very confusing trying to get Ext:Cite working when you also name this the same thing. [[Special:Contributions/118.209.187.227|118.209.187.227]] 09:59, 14 February 2013 (UTC) :Name it the same thing as what? Is there another {{blue|Extension:Cite}}? [[User:Krinkle|Krinkle]] ([[User talk:Krinkle|talk]]) 21:52, 20 February 2013 (UTC) == Error after installing Cite extension == Hello there, i'm running MW V1.19.3, everything worked perfectly after I installed Cite extension, now i get this error x2 on every page: Warning: Cannot modify header information - headers already sent by (output started at /.../LocalSettings.php:1) in /.../includes/WebResponse.php on line 38 And can't access to my index/home page, the error just show up seven times, please can anybody help me? [[Special:Contributions/81.35.160.57|81.35.160.57]] 22:51, 19 February 2013 (UTC) :The error message says: You have some text or whitespace (spaces, tab, empty lines) at the beginning of your LocalSettings.php before the "<?php" tag. :Remove it - "<?php" must be at the beginning of the file. [[User:Cboltz|Cboltz]] ([[User talk:Cboltz|talk]]) 23:15, 19 February 2013 (UTC) == HTML5-style syntax? == Cite.php syntax is not compatible with HTML5; this is an issue for consistently using HTML5 in MediaWiki – see [[mw:HTML5]]. Cite.php uses XML-style syntax for “empty/void elements” – <code><ref name="foo" /></code> and <code><references /></code> – in a way that is not compatible with [//en.wikipedia.org/wiki/HTML5 HTML5]; the XML-style is from [//en.wikipedia.org/wiki/XHTML XHTML] 1.0. This is not necessarily a problem per se, as these are [[Manual:Tag extensions|Tag extensions]], not actual HTML/XML tags, but as the web moves to HTML5, this will be a cause of inconsistency and confusion to users unless corrected. Further, it requires the MediaWiki software to support inconsistent syntax. The easiest solution is probably to use templates to insulate users from the details of the tag syntax; this is detailed below. === Issue === The issue is that in HTML5, the minimized tag sytax <code><foo/></code> is invalid for non-void elements, and is generally interpreted simply as a tag – <code><foo></code> – the trailing slash (/) is stripped, rather than interpreted as a terminator. As the Cite.php tags are non-void (they can have content), this is interpreted as a bare ''opening'' tag, without a closing tag. Thus instead of XHTML <code><ref name="foo" /></code> and <source lang="html5"> <references /> </source> in HTML5 one would need <code><ref name=foo></ref name=foo></code> and <source lang="html5"> <references></references> </source> (note that HTML5 allows [http://www.w3.org/TR/html-markup/syntax.html#attr-value-unquoted unquoted attribute values]). Because the ref and references tags are very widely used (notably on English Wikipedia), this issue has very broad scope, even if the impact is minor. === Background === The details are confusing; here is some background. XML allows minimized tag syntax <code><foo/></code> for empty elements (see [http://www.w3.org/TR/REC-xml/#d0e2480 XML: Tags for Empty Elements] and [http://www.w3.org/TR/xhtml1/#h-4.6 XHTML1: Empty elements]). In XML, “empty element” means “has no content, whether or not element type declared with keyword EMPTY (meaning ‘cannot have content’)”, so it refers both to elements that cannot have content, such as <code><br></code> (usually serialized as <code><br/></code> where the slash is a terminator, but can be serialized as <code><br></br></code>) and elements that can have content, but do not, like an empty paragraph: <code><p></p></code>. Per HTML5 “[http://www.w3.org/TR/html-markup/syntax.html#syntax-elements Elements]” documentation: HTML5 “void element“ means “cannot have content”; it corresponds to XML’s EMPTY keyword. Further, trailing / are ''dropped'' (formally the slash is actually forbidden for non-void elements). This changes behavior for empty non-void elements. Void elements only have a single tag, where the / is optional, as in <code><br></code> though <code><br/></code> is also valid. Empty non-void elements, like empty paragraphs, need a closing tag (though this may be implied in some cases). For example, <code><p/></code> in HTML5 does ''not'' behave like <code><p></p></code> (an empty paragraph) as in XHTML, but it’s invalid syntax, and generally instead acts as bare opening tag: <code><p></code>. === Proposal === The <code><ref name="foo" /></code> syntax is tricky, but the <code><references /></code> should be easy to handle. The use of the <code>{{reflist}}</code> template – which always (can?) output <code><references>...</references></code> – means that users are insulated from this. Further, <code><references></references></code> has the same behavior whether it has content or not: it includes any references in its content and lists pending inline refs. The <code><ref name="foo" /></code> syntax is trickier because there are two behaviors for the <code><ref name="foo"></code> tag: create a new named ref (which is non-void), or refer to an existing ref (which is void, or handled by “if empty, then…”). At the tag level, clearer is to separate these, say by <code><ref name="foo">...</ref></code> followed by <code><ref2 name="foo"></code> to create and then refer to a named reference. This would be easier if this issue were isolated from users via a template. At English Wikipedia <code>{{ref}}</code> is already used for a separate type of referencing, but [//en.wikipedia.org/wiki/Template:FN <code>{{fn}}</code>] (for “footnote”) is an almost unused template, so it could be used, and would be consistent with the [//en.wikipedia.org/wiki/Template:sfn <code>{{sfn}}</code>] and [//en.wikipedia.org/wiki/Template:efn <code>{{efn}}</code>] template names. Using this, users could write <code>{{fn|name=foo|...}}</code> and then <code>{{fn|name=foo}}</code> later. In more technical detail, the existing XML-style tags could be supported indefinitely, or deprecated then removed, with an automated migration tool. The tool would: * Replace <code><ref name="foo" /></code> by <code><ref2 name="foo"></code> (leave quotes as they are allowed) – or even by <code>{{fn|name=foo}}</code> and * Replace <code><references /></code> by <code><refererences></refererences></code> – or even by <code>{{reflist}}</code> === Summary === In summary: * Authors should use templates: <code>{{fn}}</code> and <code>{{reflist}}</code> * Behind the scenes, add <code><ref2></code> tag and migrate existing usage. How does this overall approach sound? [[User:Nbarth|Nils von Barth]] ([[User talk:Nbarth|talk]]) 10:30, 23 February 2013 (UTC) :I've already elaborated on [[HTML5#HTML in wikitext]] why HTML5 is irrelevant to stuff inside the Parser. [[User:Dantman|Daniel Friesen (Dantman)]] ([[User talk:Dantman|talk]]) 02:04, 10 May 2013 (UTC) == Allow defining references not used in page text? == Hello, Noone has responded to this question for months, so let me try rephrasing it without superfluous information: Question: Is there a need in Ext:Cite to allow for adding references that would appear in the references list using <refereces/> or {{reflist}}, but ''without'' corresponding footnote marks inside the text? I need this functionality in an extension I'm writing, and as I'm thinking of hacking my own local version of Cite to allow for it, I'm wondering if this can be of wider use. Original message below. Thank you! ---- I have recently upgraded to MediaWiki 1.20 and noticed that an extension I wrote to keep track of bibliographies ([[User:Miranche/BiblioTex|Miranche/BiblioTex]]) was partly broken. The extension adds functionality to Extension:Cite to use BibTex bibliographic information, both provided in wiki text or stored on the local file system. The references are included in wiki text via <cite>...</cite> tags, which basically just unwrap into corresponding <ref>...</ref> tags. These parallel LaTeX usage, and accordingly I have also added <nocite>...</nocite> tags for references that I want to appear in the reference list but not in the text. Using a previous version of Ext:Cite, probably over 2 years old now, this worked no problem. Now, I get cite_error_references_missing_key. The way I would deal with this locally would be to hack Ext:Cite to add an option, say $wgCiteAllowMissingKey, to allow for such references. I wanted to check, though, * Is there a relevant past discussion on why references in the text are now required? * Would an option to relax this requirement be useful in the public version of the Cite extension? Thank you! – [[User:Miranche|Miranche]]<sup> [[User_talk:Miranche|T]] [[Special:Contributions/Miranche|C]]</sup> 06:48, 26 February 2013 (UTC) :No replies for 4 months, replying to myself to bump the thread up. – [[User:Miranche|Miranche]]<sup> [[User_talk:Miranche|T]] [[Special:Contributions/Miranche|C]]</sup> 04:46, 24 June 2013 (UTC) ::it seems that your actual question is not really what you mean. ::you asked "Is there a need in Ext:Cite to allow for adding references that would appear in the references list using <refereces/> or {{reflist}}, but without corresponding footnote marks inside the text?" ::but it seems that what you really mean is not "is there a need" but rather "is it possible". ::if the question is indeed "is there a need", then the answer (at least my answer) is "probably not". ::if you ask "is it possible", i think the answer is still "probably not", but it should not be all that difficult to hack the extension to add "no cite mark" option, e.g. by adding a new attribute to the "ref" tag which will cause it to not display the link inside the text. (so some of the references will look like so: <ref nomark="true"> or somesuch) however, this requirement seems somewhat redundant: if you want to maintain a bibliographic list at the bottom of the page, why even use the "Cite" extension? you can just add such a list using standard wiki code, no? ::peace. [[User:קיפודנחש|קיפודנחש]] ([[User talk:קיפודנחש|talk]]) 16:06, 24 June 2013 (UTC) :::קיפודנחש, thanks for the reply. :::Clarification: "if you want to maintain a bibliographic list at the bottom of the page, why even use the "Cite" extension?" Good question. Most of the refs in bibliographies I'm using are linked in the text, but not all. In other words, I want to be able to intersperse entries with refs in text and those without. :::I know that this is possible in principle because it used to work a couple of years ago. The extension I wrote piggybacks on Cite -- it unwraps a <cite> tag into a <ref> tag in the text, and adds the ref given in <nocite> into Cite's internal list of refs without affecting the wiki text. All citations then used to show up in {{reflist}} in the order they were specified in original wiki text, with those supplied via <nocite> without back links. This worked fine with Cite as it was in late 2010/ early 2011, but is now impossible due to stricter error testing. :::I'll go ahead & modify my copy of the extension so the syntax will work, and I'll try to do so via method overloading in derived classes so there's no intervention in Cite itself. On first inspection, though, this doesn't seem to be straightforward. My question is, then, if I end up changing Cite itself, would this functionality be useful in the larger world, whether through <ref nomark="true"> or similar syntax as you suggested, or through an API function that can be used in extensions, such as mine, that build upon Cite? I gather the answer to this is, probably not. :::Peace, indeed. – [[User:Miranche|Miranche]]<sup> [[User_talk:Miranche|T]] [[Special:Contributions/Miranche|C]]</sup> 20:16, 27 June 2013 (UTC) == Number of references == Is there a way to get the number of references on a page? I am trying to get the ref-list to automatically appear on pages but I don't want it to appear if there are no references being used. [[User:Zackmann08|Zackmann08]] ([[User talk:Zackmann08|talk]]) 20:27, 5 March 2013 (UTC) :This should be relatively easy (and chpeap) to do through javascript (granted, readers with JS disabled will miss this feature). :i do not know a way to get this data displayed on the page directly (i.e., becoming part of the page directly, through wiki-code). it may be possible via scribunto (aka lua), but this will requires you to write some code also, so the advantage over JS is not clear (except for readers with JS disabled). and i'm not even sure if it's possible (and of course, if possible, it requires installing the scribunto extension). :here is a snippet that, if added to [[mediawiki:common.js]] will display the number of references under the page title (100% untested - this is meant mainly to illustrate): :<source lang="javascript"> if ( ! mw.config.get( 'wgNamespaceNumber' ) ) // only in namespace 0 $(function() { var num = $('ol.references li[id|="cite_note"]').length if (num) $('#siteSub').append(' | ' + num + ' Cite notes'); }); </source> :peace. [[User:קיפודנחש|קיפודנחש]] ([[User talk:קיפודנחש|talk]]) 15:26, 6 March 2013 (UTC) ::reading the original request more carefully, my reply was not very useful. ::you can still use JS to *hide* the "references" section in case it's empty, but it may not be very pretty - the section will momentarily appear, and only after the page finishes rendering it will disappear (somewhat like "collapsible" elements). it will also not solve the case where there *are* references but no <references /> section. ::again, you can use a pre-save JS hook that will at least warn the user when they are going to save a page with <ref> tags but no <references/> tag. you want to be careful, and not trigger the warning when editing a section. ::peace. [[User:קיפודנחש|קיפודנחש]] ([[User talk:קיפודנחש|talk]]) 16:31, 6 March 2013 (UTC) :::Actually, I have the <references /> tag on almost any page, embedded as it is in a template so that I don't have to remind myself of adding it manually. When no references are used on the page, the list simply does not appear. The only nuisance is that I can't make the subheading (e.g. "References" or "Endnotes") conditional on the presence of <ref>...</ref> tags. The subheading appears regardless. [[User:Cavila|Cavila]] <span style="font-size:65%;">(MW 1.19.2, MySQL 5.1.66, Php 5.3.3-7, SMW 1.8, SF 1.5.2}</span> 08:05, 7 March 2013 (UTC) ::::the little snippet above can do it, if you replace "if num > 0" with "if (num == 0)" or simply "if (! num)", and the action should be something like "$('ol.references').closest('h2').toggle(false)" or something similar. ::::peace. [[User:קיפודנחש|קיפודנחש]] ([[User talk:קיפודנחש|talk]]) 16:45, 7 March 2013 (UTC) == Cite failing to render citations == Product Version MediaWiki 1.20.3 PHP 5.3.23 MySQL 5.3.12 On the version page, cite is verified, but after trying to use it, it doesn't seem to want to generate citations. Any idea as to what might be going on here? Please help. Thanks! Current behavior ----------------- According to scientists, the Sun is pretty big.<cite_reference_link> The Moon, however, is not so big.<cite_reference_link> Notes ----- <cite_references_prefix><cite_references_link_one> <cite_references_link_one><cite_references_suffix> [[User:Limebear|Limebear]] ([[User talk:Limebear|talk]]) 22:23, 12 April 2013 (UTC) == line height == I'm having a cosmetic / style problem with this application on my own wiki. I've noticed that the reference markers tend to mess with line height of the text. it's particularly a problem if the reference marker comes in the middle of a paragraph - the gap that the ref marker causes between that line of text and the line of text above it is comparable to the gap between normal paragraphs. This makes the text difficult to read, since it's hard discern where actual paragraph breaks are. there has to be some kind of solution for this - I've noticed that reference markers don't alter the line height of the text at all in wikipedia, for example. any advice? I'm new to wiki platforms. (if this needs to be somewhere else, please let me know - I just couldn't figure out where to go to ask for help) [[Special:Contributions/174.51.149.179|174.51.149.179]] 18:08, 28 July 2013 (UTC) :The usual trick is to use CSS to lower everything in superscript position (and/or possibly, to increase line spacing?). You could add something like the following to your CSS page (MediaWiki:Common.css or the css page of your user skin). :<syntaxhighlight lang='text'>/* keep superscript and subscript text from breaking the line-spacing */ #bodyContent sup { font-size: smaller; vertical-align: baseline; position: relative; bottom: 0.33em; } #bodyContent sub { font-size: smaller; vertical-align: baseline; position: relative; bottom: -0.25em;; } </syntaxhighlight> :See also [http://en.wikipedia.org/wiki/User:Mzajac/monobook.css/Superscript_fix] [[User:Cavila|Cavila]] <span style="font-size:65%;">(MW 1.19.7, MySQL 5.1.66, Php 5.3.3-7, SMW 1.8, SF 1.5.2}</span> 19:40, 28 July 2013 (UTC) ::I'll try this out - thank you! [[Special:Contributions/173.8.237.209|173.8.237.209]] 22:15, 28 July 2013 (UTC) ::*perfect* - this was driving me nuts, thanks so much! [[Special:Contributions/173.8.237.209|173.8.237.209]] 22:18, 28 July 2013 (UTC) == the extension cannot run == I already have the "extensions/Cite" directory, and the files are all no problem in the directory. But when I opened the "Special:Version" of my wiki, I found nothing listed in "Installed extensions". I was also trying to add "require_once("$IP/extensions/Cite/Cite.php");" to the LocalSettings.php, but a 500 Internal Error happened. My site's URL is http://www.cjkvbbs.org/hannom/wi/ And my server provider is iPage. Anyone could solve this problem? Thanks in advance! [[User:Betoseha|Betoseha]] ([[User talk:Betoseha|talk]]) 04:45, 12 October 2013 (UTC) == Customizing == This is a very useful extension. But… I am not able to get the customization suggest on the main page (Set reference and reference number highlighting like Wikipedia). I followed the instructions (added the code to Common.css) but it is not working. The same with the suggestion here with line height code. [[User:Emilio Speciale|Emilio Speciale]] ([[User talk:Emilio Speciale|talk]]) 09:05, 7 November 2013 (UTC) == Solution: Template in refs and refs in templates == This may be handy for others. I wanted to create a ''ref'' template to add a reference and a ''refs'' template to create the footer automatically unless there were no refs. Usage: <pre> per ref: {{ref|http://...|linktext}} footer: {{refs}}
The idea was to collect the references and set a variable refs which enables the footer. This requires Extension:ParserFunctions and Extension:Variables.
The following 2 templates - first attempt - did not work:
ref template:
<includeonly><ref>[{{{1}}} {{{2}}}]</ref>{{#vardefine:refs|1}}</includeonly>
refs template:
{{#if: {{#var:refs|}} | <span class="mw-headline"> <h2>References</h2> </span> <references /> }}
This fails because everything between the ref tags is collected until the references tag is called, and at this moment there are no more template arguments.
The following solution works - unfolded for better readability:
ref template:
<includeonly> {{#vardefine:link{{#var:i|0}}|{{{1|}}}}} {{#vardefine:text{{#var:i|0}}|{{{2|}}}}} <ref> [{{#var:link{{#var:i|0}}}} {{#var:text{{#var:i|0}}}}] {{#vardefine:i|{{#expr:{{#var:i|0}}+1}}}} </ref> {{#vardefine:i|{{#expr:{{#var:i|0}}+1}}}} {{#vardefine:refs|1}} </includeonly>
refs template:
{{#if:{{#var:refs|}} | {{#vardefine:i|0}} <span class="mw-headline"> <h2>References</h2> </span> <references /> }}
The ref template increments a variable i to define variables link0, text0, and on next call link1, text1, and sets the refs variable.
The part within the ref tags contains a second loop counter for i for the references invocation and expands the variables correctly.
The refs template just needs to reset the loop counter before the references tag is called.
This solution is template proof etc since the variables are defined at ref tag time.
Hope this is helpful for someone. Hippie2000 (talk) 02:28, 16 November 2013 (UTC)
- Thanks, that sounds useful. I will give it a whirl. Cavila (MW 1.19.7, MySQL 5.1.72-2, Php 5.3.3-7, SMW 1.8.0.5, SF 2.5.2) 21:01, 18 November 2013 (UTC)
- I noticed one side effect of this solution. URLs containing ?name=value don't pass as anonymous args. This is not specific to my solution but a side effect of passing anonymous template args.
- In this case the reference is printed non clickable. What helps is numbering the arguments then:
- <syntaxhighlight lang='text'>Template:Ref</pre> Hippie2000 (talk) 01:20, 20 November 2013 (UTC)